]> git.openstreetmap.org Git - rails.git/blobdiff - vendor/assets/iD/iD.js
Update to iD v2.15.4
[rails.git] / vendor / assets / iD / iD.js
index 85e8adcef4ae0f92b485638c68ded08a622f5779..d1741bc475d59ceb8baf0464df14a0485272933c 100644 (file)
-(function(exports) {
-
-  var bootstrap = (typeof exports.bootstrap === "object") ?
-    exports.bootstrap :
-    (exports.bootstrap = {});
-
-  bootstrap.tooltip = function() {
-
-    var tooltip = function(selection) {
-        selection.each(setup);
-      },
-      animation = d3.functor(false),
-      html = d3.functor(false),
-      title = function() {
-        var title = this.getAttribute("data-original-title");
-        if (title) {
-          return title;
-        } else {
-          title = this.getAttribute("title");
-          this.removeAttribute("title");
-          this.setAttribute("data-original-title", title);
-        }
-        return title;
-      },
-      over = "mouseenter.tooltip",
-      out = "mouseleave.tooltip",
-      placements = "top left bottom right".split(" "),
-      placement = d3.functor("top");
-
-    tooltip.title = function(_) {
-      if (arguments.length) {
-        title = d3.functor(_);
-        return tooltip;
-      } else {
-        return title;
-      }
-    };
-
-    tooltip.html = function(_) {
-      if (arguments.length) {
-        html = d3.functor(_);
-        return tooltip;
-      } else {
-        return html;
-      }
-    };
-
-    tooltip.placement = function(_) {
-      if (arguments.length) {
-        placement = d3.functor(_);
-        return tooltip;
-      } else {
-        return placement;
-      }
-    };
-
-    tooltip.show = function(selection) {
-      selection.each(show);
-    };
-
-    tooltip.hide = function(selection) {
-      selection.each(hide);
-    };
-
-    tooltip.toggle = function(selection) {
-      selection.each(toggle);
-    };
-
-    tooltip.destroy = function(selection) {
-      selection
-        .on(over, null)
-        .on(out, null)
-        .attr("title", function() {
-          return this.getAttribute("data-original-title") || this.getAttribute("title");
-        })
-        .attr("data-original-title", null)
-        .select(".tooltip")
-        .remove();
-    };
-
-    function setup() {
-      var root = d3.select(this),
-          animate = animation.apply(this, arguments),
-          tip = root.append("div")
-            .attr("class", "tooltip");
-
-      if (animate) {
-        tip.classed("fade", true);
-      }
-
-      // TODO "inside" checks?
-
-      tip.append("div")
-        .attr("class", "tooltip-arrow");
-      tip.append("div")
-        .attr("class", "tooltip-inner");
-
-      var place = placement.apply(this, arguments);
-      tip.classed(place, true);
-
-      root.on(over, show);
-      root.on(out, hide);
-    }
-
-    function show() {
-      var root = d3.select(this),
-          content = title.apply(this, arguments),
-          tip = root.select(".tooltip")
-            .classed("in", true),
-          markup = html.apply(this, arguments),
-          innercontent = tip.select(".tooltip-inner")[markup ? "html" : "text"](content),
-          place = placement.apply(this, arguments),
-          outer = getPosition(root.node()),
-          inner = getPosition(tip.node()),
-          pos;
-
-      switch (place) {
-        case "top":
-          pos = {x: outer.x + (outer.w - inner.w) / 2, y: outer.y - inner.h};
-          break;
-        case "right":
-          pos = {x: outer.x + outer.w, y: outer.y + (outer.h - inner.h) / 2};
-          break;
-        case "left":
-          pos = {x: outer.x - inner.w, y: outer.y + (outer.h - inner.h) / 2};
-          break;
-        case "bottom":
-          pos = {x: Math.max(0, outer.x + (outer.w - inner.w) / 2), y: outer.y + outer.h};
-          break;
-      }
-
-      tip.style(pos ?
-        {left: ~~pos.x + "px", top: ~~pos.y + "px"} :
-        {left: null, top: null});
-
-      this.tooltipVisible = true;
-    }
-
-    function hide() {
-      d3.select(this).select(".tooltip")
-        .classed("in", false);
-
-      this.tooltipVisible = false;
-    }
-
-    function toggle() {
-      if (this.tooltipVisible) {
-        hide.apply(this, arguments);
-      } else {
-        show.apply(this, arguments);
-      }
-    }
-
-    return tooltip;
-  };
-
-  function getPosition(node) {
-    var mode = d3.select(node).style('position');
-    if (mode === 'absolute' || mode === 'static') {
-      return {
-        x: node.offsetLeft,
-        y: node.offsetTop,
-        w: node.offsetWidth,
-        h: node.offsetHeight
-      };
-    } else {
-      return {
-        x: 0,
-        y: 0,
-        w: node.offsetWidth,
-        h: node.offsetHeight
-      };
-    }
-  }
-
-})(this);
-!function(){
-  var d3 = {version: "3.4.6"}; // semver
-d3.ascending = d3_ascending;
-
-function d3_ascending(a, b) {
-  return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
-}
-d3.descending = function(a, b) {
-  return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
-};
-d3.min = function(array, f) {
-  var i = -1,
-      n = array.length,
-      a,
-      b;
-  if (arguments.length === 1) {
-    while (++i < n && !((a = array[i]) != null && a <= a)) a = undefined;
-    while (++i < n) if ((b = array[i]) != null && a > b) a = b;
-  } else {
-    while (++i < n && !((a = f.call(array, array[i], i)) != null && a <= a)) a = undefined;
-    while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;
-  }
-  return a;
-};
-d3.max = function(array, f) {
-  var i = -1,
-      n = array.length,
-      a,
-      b;
-  if (arguments.length === 1) {
-    while (++i < n && !((a = array[i]) != null && a <= a)) a = undefined;
-    while (++i < n) if ((b = array[i]) != null && b > a) a = b;
-  } else {
-    while (++i < n && !((a = f.call(array, array[i], i)) != null && a <= a)) a = undefined;
-    while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b;
-  }
-  return a;
-};
-d3.extent = function(array, f) {
-  var i = -1,
-      n = array.length,
-      a,
-      b,
-      c;
-  if (arguments.length === 1) {
-    while (++i < n && !((a = c = array[i]) != null && a <= a)) a = c = undefined;
-    while (++i < n) if ((b = array[i]) != null) {
-      if (a > b) a = b;
-      if (c < b) c = b;
-    }
-  } else {
-    while (++i < n && !((a = c = f.call(array, array[i], i)) != null && a <= a)) a = undefined;
-    while (++i < n) if ((b = f.call(array, array[i], i)) != null) {
-      if (a > b) a = b;
-      if (c < b) c = b;
-    }
-  }
-  return [a, c];
-};
-d3.sum = function(array, f) {
-  var s = 0,
-      n = array.length,
-      a,
-      i = -1;
-
-  if (arguments.length === 1) {
-    while (++i < n) if (!isNaN(a = +array[i])) s += a;
-  } else {
-    while (++i < n) if (!isNaN(a = +f.call(array, array[i], i))) s += a;
-  }
-
-  return s;
-};
-function d3_number(x) {
-  return x != null && !isNaN(x);
-}
-
-d3.mean = function(array, f) {
-  var s = 0,
-      n = array.length,
-      a,
-      i = -1,
-      j = n;
-  if (arguments.length === 1) {
-    while (++i < n) if (d3_number(a = array[i])) s += a; else --j;
-  } else {
-    while (++i < n) if (d3_number(a = f.call(array, array[i], i))) s += a; else --j;
-  }
-  return j ? s / j : undefined;
-};
-// R-7 per <http://en.wikipedia.org/wiki/Quantile>
-d3.quantile = function(values, p) {
-  var H = (values.length - 1) * p + 1,
-      h = Math.floor(H),
-      v = +values[h - 1],
-      e = H - h;
-  return e ? v + e * (values[h] - v) : v;
-};
-
-d3.median = function(array, f) {
-  if (arguments.length > 1) array = array.map(f);
-  array = array.filter(d3_number);
-  return array.length ? d3.quantile(array.sort(d3_ascending), .5) : undefined;
-};
-
-function d3_bisector(compare) {
-  return {
-    left: function(a, x, lo, hi) {
-      if (arguments.length < 3) lo = 0;
-      if (arguments.length < 4) hi = a.length;
-      while (lo < hi) {
-        var mid = lo + hi >>> 1;
-        if (compare(a[mid], x) < 0) lo = mid + 1;
-        else hi = mid;
-      }
-      return lo;
-    },
-    right: function(a, x, lo, hi) {
-      if (arguments.length < 3) lo = 0;
-      if (arguments.length < 4) hi = a.length;
-      while (lo < hi) {
-        var mid = lo + hi >>> 1;
-        if (compare(a[mid], x) > 0) hi = mid;
-        else lo = mid + 1;
-      }
-      return lo;
-    }
-  };
-}
-
-var d3_bisect = d3_bisector(d3_ascending);
-d3.bisectLeft = d3_bisect.left;
-d3.bisect = d3.bisectRight = d3_bisect.right;
-
-d3.bisector = function(f) {
-  return d3_bisector(f.length === 1
-      ? function(d, x) { return d3_ascending(f(d), x); }
-      : f);
-};
-d3.shuffle = function(array) {
-  var m = array.length, t, i;
-  while (m) {
-    i = Math.random() * m-- | 0;
-    t = array[m], array[m] = array[i], array[i] = t;
-  }
-  return array;
-};
-d3.permute = function(array, indexes) {
-  var i = indexes.length, permutes = new Array(i);
-  while (i--) permutes[i] = array[indexes[i]];
-  return permutes;
-};
-d3.pairs = function(array) {
-  var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n);
-  while (i < n) pairs[i] = [p0 = p1, p1 = array[++i]];
-  return pairs;
-};
-
-d3.zip = function() {
-  if (!(n = arguments.length)) return [];
-  for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m;) {
-    for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n;) {
-      zip[j] = arguments[j][i];
-    }
-  }
-  return zips;
-};
-
-function d3_zipLength(d) {
-  return d.length;
-}
-
-d3.transpose = function(matrix) {
-  return d3.zip.apply(d3, matrix);
-};
-d3.keys = function(map) {
-  var keys = [];
-  for (var key in map) keys.push(key);
-  return keys;
-};
-d3.values = function(map) {
-  var values = [];
-  for (var key in map) values.push(map[key]);
-  return values;
-};
-d3.entries = function(map) {
-  var entries = [];
-  for (var key in map) entries.push({key: key, value: map[key]});
-  return entries;
-};
-d3.merge = function(arrays) {
-  var n = arrays.length,
-      m,
-      i = -1,
-      j = 0,
-      merged,
-      array;
-
-  while (++i < n) j += arrays[i].length;
-  merged = new Array(j);
-
-  while (--n >= 0) {
-    array = arrays[n];
-    m = array.length;
-    while (--m >= 0) {
-      merged[--j] = array[m];
-    }
-  }
-
-  return merged;
-};
-var abs = Math.abs;
-
-d3.range = function(start, stop, step) {
-  if (arguments.length < 3) {
-    step = 1;
-    if (arguments.length < 2) {
-      stop = start;
-      start = 0;
-    }
-  }
-  if ((stop - start) / step === Infinity) throw new Error("infinite range");
-  var range = [],
-       k = d3_range_integerScale(abs(step)),
-       i = -1,
-       j;
-  start *= k, stop *= k, step *= k;
-  if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k);
-  else while ((j = start + step * ++i) < stop) range.push(j / k);
-  return range;
-};
-
-function d3_range_integerScale(x) {
-  var k = 1;
-  while (x * k % 1) k *= 10;
-  return k;
-}
-function d3_class(ctor, properties) {
-  try {
-    for (var key in properties) {
-      Object.defineProperty(ctor.prototype, key, {
-        value: properties[key],
-        enumerable: false
-      });
-    }
-  } catch (e) {
-    ctor.prototype = properties;
-  }
-}
-
-d3.map = function(object) {
-  var map = new d3_Map;
-  if (object instanceof d3_Map) object.forEach(function(key, value) { map.set(key, value); });
-  else for (var key in object) map.set(key, object[key]);
-  return map;
-};
-
-function d3_Map() {}
-
-d3_class(d3_Map, {
-  has: d3_map_has,
-  get: function(key) {
-    return this[d3_map_prefix + key];
-  },
-  set: function(key, value) {
-    return this[d3_map_prefix + key] = value;
-  },
-  remove: d3_map_remove,
-  keys: d3_map_keys,
-  values: function() {
-    var values = [];
-    this.forEach(function(key, value) { values.push(value); });
-    return values;
-  },
-  entries: function() {
-    var entries = [];
-    this.forEach(function(key, value) { entries.push({key: key, value: value}); });
-    return entries;
-  },
-  size: d3_map_size,
-  empty: d3_map_empty,
-  forEach: function(f) {
-    for (var key in this) if (key.charCodeAt(0) === d3_map_prefixCode) f.call(this, key.substring(1), this[key]);
-  }
-});
-
-var d3_map_prefix = "\0", // prevent collision with built-ins
-    d3_map_prefixCode = d3_map_prefix.charCodeAt(0);
-
-function d3_map_has(key) {
-  return d3_map_prefix + key in this;
-}
-
-function d3_map_remove(key) {
-  key = d3_map_prefix + key;
-  return key in this && delete this[key];
-}
-
-function d3_map_keys() {
-  var keys = [];
-  this.forEach(function(key) { keys.push(key); });
-  return keys;
-}
-
-function d3_map_size() {
-  var size = 0;
-  for (var key in this) if (key.charCodeAt(0) === d3_map_prefixCode) ++size;
-  return size;
-}
-
-function d3_map_empty() {
-  for (var key in this) if (key.charCodeAt(0) === d3_map_prefixCode) return false;
-  return true;
-}
-
-d3.nest = function() {
-  var nest = {},
-      keys = [],
-      sortKeys = [],
-      sortValues,
-      rollup;
-
-  function map(mapType, array, depth) {
-    if (depth >= keys.length) return rollup
-        ? rollup.call(nest, array) : (sortValues
-        ? array.sort(sortValues)
-        : array);
-
-    var i = -1,
-        n = array.length,
-        key = keys[depth++],
-        keyValue,
-        object,
-        setter,
-        valuesByKey = new d3_Map,
-        values;
-
-    while (++i < n) {
-      if (values = valuesByKey.get(keyValue = key(object = array[i]))) {
-        values.push(object);
-      } else {
-        valuesByKey.set(keyValue, [object]);
-      }
-    }
-
-    if (mapType) {
-      object = mapType();
-      setter = function(keyValue, values) {
-        object.set(keyValue, map(mapType, values, depth));
-      };
-    } else {
-      object = {};
-      setter = function(keyValue, values) {
-        object[keyValue] = map(mapType, values, depth);
-      };
-    }
-
-    valuesByKey.forEach(setter);
-    return object;
-  }
-
-  function entries(map, depth) {
-    if (depth >= keys.length) return map;
-
-    var array = [],
-        sortKey = sortKeys[depth++];
-
-    map.forEach(function(key, keyMap) {
-      array.push({key: key, values: entries(keyMap, depth)});
-    });
-
-    return sortKey
-        ? array.sort(function(a, b) { return sortKey(a.key, b.key); })
-        : array;
-  }
-
-  nest.map = function(array, mapType) {
-    return map(mapType, array, 0);
-  };
-
-  nest.entries = function(array) {
-    return entries(map(d3.map, array, 0), 0);
-  };
-
-  nest.key = function(d) {
-    keys.push(d);
-    return nest;
-  };
-
-  // Specifies the order for the most-recently specified key.
-  // Note: only applies to entries. Map keys are unordered!
-  nest.sortKeys = function(order) {
-    sortKeys[keys.length - 1] = order;
-    return nest;
-  };
-
-  // Specifies the order for leaf values.
-  // Applies to both maps and entries array.
-  nest.sortValues = function(order) {
-    sortValues = order;
-    return nest;
-  };
-
-  nest.rollup = function(f) {
-    rollup = f;
-    return nest;
-  };
-
-  return nest;
-};
-
-d3.set = function(array) {
-  var set = new d3_Set;
-  if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]);
-  return set;
-};
-
-function d3_Set() {}
-
-d3_class(d3_Set, {
-  has: d3_map_has,
-  add: function(value) {
-    this[d3_map_prefix + value] = true;
-    return value;
-  },
-  remove: function(value) {
-    value = d3_map_prefix + value;
-    return value in this && delete this[value];
-  },
-  values: d3_map_keys,
-  size: d3_map_size,
-  empty: d3_map_empty,
-  forEach: function(f) {
-    for (var value in this) if (value.charCodeAt(0) === d3_map_prefixCode) f.call(this, value.substring(1));
-  }
-});
-d3.behavior = {};
-var d3_arraySlice = [].slice,
-    d3_array = function(list) { return d3_arraySlice.call(list); }; // conversion for NodeLists
-
-var d3_document = document,
-    d3_documentElement = d3_document.documentElement,
-    d3_window = window;
-
-// Redefine d3_array if the browser doesn’t support slice-based conversion.
-try {
-  d3_array(d3_documentElement.childNodes)[0].nodeType;
-} catch(e) {
-  d3_array = function(list) {
-    var i = list.length, array = new Array(i);
-    while (i--) array[i] = list[i];
-    return array;
-  };
-}
-// Copies a variable number of methods from source to target.
-d3.rebind = function(target, source) {
-  var i = 1, n = arguments.length, method;
-  while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]);
-  return target;
-};
-
-// Method is assumed to be a standard D3 getter-setter:
-// If passed with no arguments, gets the value.
-// If passed with arguments, sets the value and returns the target.
-function d3_rebind(target, source, method) {
-  return function() {
-    var value = method.apply(source, arguments);
-    return value === source ? target : value;
-  };
-}
-
-function d3_vendorSymbol(object, name) {
-  if (name in object) return name;
-  name = name.charAt(0).toUpperCase() + name.substring(1);
-  for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) {
-    var prefixName = d3_vendorPrefixes[i] + name;
-    if (prefixName in object) return prefixName;
-  }
-}
-
-var d3_vendorPrefixes = ["webkit", "ms", "moz", "Moz", "o", "O"];
-function d3_noop() {}
-
-d3.dispatch = function() {
-  var dispatch = new d3_dispatch,
-      i = -1,
-      n = arguments.length;
-  while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);
-  return dispatch;
-};
-
-function d3_dispatch() {}
-
-d3_dispatch.prototype.on = function(type, listener) {
-  var i = type.indexOf("."),
-      name = "";
-
-  // Extract optional namespace, e.g., "click.foo"
-  if (i >= 0) {
-    name = type.substring(i + 1);
-    type = type.substring(0, i);
-  }
-
-  if (type) return arguments.length < 2
-      ? this[type].on(name)
-      : this[type].on(name, listener);
-
-  if (arguments.length === 2) {
-    if (listener == null) for (type in this) {
-      if (this.hasOwnProperty(type)) this[type].on(name, null);
-    }
-    return this;
-  }
-};
-
-function d3_dispatch_event(dispatch) {
-  var listeners = [],
-      listenerByName = new d3_Map;
-
-  function event() {
-    var z = listeners, // defensive reference
-        i = -1,
-        n = z.length,
-        l;
-    while (++i < n) if (l = z[i].on) l.apply(this, arguments);
-    return dispatch;
-  }
-
-  event.on = function(name, listener) {
-    var l = listenerByName.get(name),
-        i;
-
-    // return the current listener, if any
-    if (arguments.length < 2) return l && l.on;
-
-    // remove the old listener, if any (with copy-on-write)
-    if (l) {
-      l.on = null;
-      listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1));
-      listenerByName.remove(name);
-    }
-
-    // add the new listener, if any
-    if (listener) listeners.push(listenerByName.set(name, {on: listener}));
-
-    return dispatch;
-  };
-
-  return event;
-}
-
-d3.event = null;
-
-function d3_eventPreventDefault() {
-  d3.event.preventDefault();
-}
-
-function d3_eventCancel() {
-  d3.event.preventDefault();
-  d3.event.stopPropagation();
-}
-
-function d3_eventSource() {
-  var e = d3.event, s;
-  while (s = e.sourceEvent) e = s;
-  return e;
-}
-
-// Like d3.dispatch, but for custom events abstracting native UI events. These
-// events have a target component (such as a brush), a target element (such as
-// the svg:g element containing the brush) and the standard arguments `d` (the
-// target element's data) and `i` (the selection index of the target element).
-function d3_eventDispatch(target) {
-  var dispatch = new d3_dispatch,
-      i = 0,
-      n = arguments.length;
-
-  while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);
-
-  // Creates a dispatch context for the specified `thiz` (typically, the target
-  // DOM element that received the source event) and `argumentz` (typically, the
-  // data `d` and index `i` of the target element). The returned function can be
-  // used to dispatch an event to any registered listeners; the function takes a
-  // single argument as input, being the event to dispatch. The event must have
-  // a "type" attribute which corresponds to a type registered in the
-  // constructor. This context will automatically populate the "sourceEvent" and
-  // "target" attributes of the event, as well as setting the `d3.event` global
-  // for the duration of the notification.
-  dispatch.of = function(thiz, argumentz) {
-    return function(e1) {
-      try {
-        var e0 =
-        e1.sourceEvent = d3.event;
-        e1.target = target;
-        d3.event = e1;
-        dispatch[e1.type].apply(thiz, argumentz);
-      } finally {
-        d3.event = e0;
-      }
-    };
-  };
-
-  return dispatch;
-}
-d3.requote = function(s) {
-  return s.replace(d3_requote_re, "\\$&");
-};
-
-var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;
-var d3_subclass = {}.__proto__?
-
-// Until ECMAScript supports array subclassing, prototype injection works well.
-function(object, prototype) {
-  object.__proto__ = prototype;
-}:
-
-// And if your browser doesn't support __proto__, we'll use direct extension.
-function(object, prototype) {
-  for (var property in prototype) object[property] = prototype[property];
-};
-
-function d3_selection(groups) {
-  d3_subclass(groups, d3_selectionPrototype);
-  return groups;
-}
-
-var d3_select = function(s, n) { return n.querySelector(s); },
-    d3_selectAll = function(s, n) { return n.querySelectorAll(s); },
-    d3_selectMatcher = d3_documentElement[d3_vendorSymbol(d3_documentElement, "matchesSelector")],
-    d3_selectMatches = function(n, s) { return d3_selectMatcher.call(n, s); };
-
-// Prefer Sizzle, if available.
-if (typeof Sizzle === "function") {
-  d3_select = function(s, n) { return Sizzle(s, n)[0] || null; };
-  d3_selectAll = Sizzle;
-  d3_selectMatches = Sizzle.matchesSelector;
-}
-
-d3.selection = function() {
-  return d3_selectionRoot;
-};
-
-var d3_selectionPrototype = d3.selection.prototype = [];
-
-
-d3_selectionPrototype.select = function(selector) {
-  var subgroups = [],
-      subgroup,
-      subnode,
-      group,
-      node;
-
-  selector = d3_selection_selector(selector);
-
-  for (var j = -1, m = this.length; ++j < m;) {
-    subgroups.push(subgroup = []);
-    subgroup.parentNode = (group = this[j]).parentNode;
-    for (var i = -1, n = group.length; ++i < n;) {
-      if (node = group[i]) {
-        subgroup.push(subnode = selector.call(node, node.__data__, i, j));
-        if (subnode && "__data__" in node) subnode.__data__ = node.__data__;
-      } else {
-        subgroup.push(null);
-      }
-    }
-  }
-
-  return d3_selection(subgroups);
-};
-
-function d3_selection_selector(selector) {
-  return typeof selector === "function" ? selector : function() {
-    return d3_select(selector, this);
-  };
-}
-
-d3_selectionPrototype.selectAll = function(selector) {
-  var subgroups = [],
-      subgroup,
-      node;
-
-  selector = d3_selection_selectorAll(selector);
-
-  for (var j = -1, m = this.length; ++j < m;) {
-    for (var group = this[j], i = -1, n = group.length; ++i < n;) {
-      if (node = group[i]) {
-        subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j)));
-        subgroup.parentNode = node;
-      }
-    }
-  }
-
-  return d3_selection(subgroups);
-};
-
-function d3_selection_selectorAll(selector) {
-  return typeof selector === "function" ? selector : function() {
-    return d3_selectAll(selector, this);
-  };
-}
-var d3_nsPrefix = {
-  svg: "http://www.w3.org/2000/svg",
-  xhtml: "http://www.w3.org/1999/xhtml",
-  xlink: "http://www.w3.org/1999/xlink",
-  xml: "http://www.w3.org/XML/1998/namespace",
-  xmlns: "http://www.w3.org/2000/xmlns/"
-};
-
-d3.ns = {
-  prefix: d3_nsPrefix,
-  qualify: function(name) {
-    var i = name.indexOf(":"),
-        prefix = name;
-    if (i >= 0) {
-      prefix = name.substring(0, i);
-      name = name.substring(i + 1);
-    }
-    return d3_nsPrefix.hasOwnProperty(prefix)
-        ? {space: d3_nsPrefix[prefix], local: name}
-        : name;
-  }
-};
-
-d3_selectionPrototype.attr = function(name, value) {
-  if (arguments.length < 2) {
-
-    // For attr(string), return the attribute value for the first node.
-    if (typeof name === "string") {
-      var node = this.node();
-      name = d3.ns.qualify(name);
-      return name.local
-          ? node.getAttributeNS(name.space, name.local)
-          : node.getAttribute(name);
-    }
-
-    // For attr(object), the object specifies the names and values of the
-    // attributes to set or remove. The values may be functions that are
-    // evaluated for each element.
-    for (value in name) this.each(d3_selection_attr(value, name[value]));
-    return this;
-  }
-
-  return this.each(d3_selection_attr(name, value));
-};
-
-function d3_selection_attr(name, value) {
-  name = d3.ns.qualify(name);
-
-  // For attr(string, null), remove the attribute with the specified name.
-  function attrNull() {
-    this.removeAttribute(name);
-  }
-  function attrNullNS() {
-    this.removeAttributeNS(name.space, name.local);
-  }
-
-  // For attr(string, string), set the attribute with the specified name.
-  function attrConstant() {
-    this.setAttribute(name, value);
-  }
-  function attrConstantNS() {
-    this.setAttributeNS(name.space, name.local, value);
-  }
-
-  // For attr(string, function), evaluate the function for each element, and set
-  // or remove the attribute as appropriate.
-  function attrFunction() {
-    var x = value.apply(this, arguments);
-    if (x == null) this.removeAttribute(name);
-    else this.setAttribute(name, x);
-  }
-  function attrFunctionNS() {
-    var x = value.apply(this, arguments);
-    if (x == null) this.removeAttributeNS(name.space, name.local);
-    else this.setAttributeNS(name.space, name.local, x);
-  }
-
-  return value == null
-      ? (name.local ? attrNullNS : attrNull) : (typeof value === "function"
-      ? (name.local ? attrFunctionNS : attrFunction)
-      : (name.local ? attrConstantNS : attrConstant));
-}
-function d3_collapse(s) {
-  return s.trim().replace(/\s+/g, " ");
-}
-
-d3_selectionPrototype.classed = function(name, value) {
-  if (arguments.length < 2) {
-
-    // For classed(string), return true only if the first node has the specified
-    // class or classes. Note that even if the browser supports DOMTokenList, it
-    // probably doesn't support it on SVG elements (which can be animated).
-    if (typeof name === "string") {
-      var node = this.node(),
-          n = (name = d3_selection_classes(name)).length,
-          i = -1;
-      if (value = node.classList) {
-        while (++i < n) if (!value.contains(name[i])) return false;
-      } else {
-        value = node.getAttribute("class");
-        while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false;
-      }
-      return true;
-    }
-
-    // For classed(object), the object specifies the names of classes to add or
-    // remove. The values may be functions that are evaluated for each element.
-    for (value in name) this.each(d3_selection_classed(value, name[value]));
-    return this;
-  }
-
-  // Otherwise, both a name and a value are specified, and are handled as below.
-  return this.each(d3_selection_classed(name, value));
-};
-
-function d3_selection_classedRe(name) {
-  return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g");
-}
-
-function d3_selection_classes(name) {
-  return name.trim().split(/^|\s+/);
-}
-
-// Multiple class names are allowed (e.g., "foo bar").
-function d3_selection_classed(name, value) {
-  name = d3_selection_classes(name).map(d3_selection_classedName);
-  var n = name.length;
-
-  function classedConstant() {
-    var i = -1;
-    while (++i < n) name[i](this, value);
-  }
-
-  // When the value is a function, the function is still evaluated only once per
-  // element even if there are multiple class names.
-  function classedFunction() {
-    var i = -1, x = value.apply(this, arguments);
-    while (++i < n) name[i](this, x);
-  }
-
-  return typeof value === "function"
-      ? classedFunction
-      : classedConstant;
-}
-
-function d3_selection_classedName(name) {
-  var re = d3_selection_classedRe(name);
-  return function(node, value) {
-    if (c = node.classList) return value ? c.add(name) : c.remove(name);
-    var c = node.getAttribute("class") || "";
-    if (value) {
-      re.lastIndex = 0;
-      if (!re.test(c)) node.setAttribute("class", d3_collapse(c + " " + name));
-    } else {
-      node.setAttribute("class", d3_collapse(c.replace(re, " ")));
-    }
-  };
-}
-
-d3_selectionPrototype.style = function(name, value, priority) {
-  var n = arguments.length;
-  if (n < 3) {
-
-    // For style(object) or style(object, string), the object specifies the
-    // names and values of the attributes to set or remove. The values may be
-    // functions that are evaluated for each element. The optional string
-    // specifies the priority.
-    if (typeof name !== "string") {
-      if (n < 2) value = "";
-      for (priority in name) this.each(d3_selection_style(priority, name[priority], value));
-      return this;
-    }
-
-    // For style(string), return the computed style value for the first node.
-    if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name);
-
-    // For style(string, string) or style(string, function), use the default
-    // priority. The priority is ignored for style(string, null).
-    priority = "";
-  }
-
-  // Otherwise, a name, value and priority are specified, and handled as below.
-  return this.each(d3_selection_style(name, value, priority));
-};
-
-function d3_selection_style(name, value, priority) {
-
-  // For style(name, null) or style(name, null, priority), remove the style
-  // property with the specified name. The priority is ignored.
-  function styleNull() {
-    this.style.removeProperty(name);
-  }
-
-  // For style(name, string) or style(name, string, priority), set the style
-  // property with the specified name, using the specified priority.
-  function styleConstant() {
-    this.style.setProperty(name, value, priority);
-  }
-
-  // For style(name, function) or style(name, function, priority), evaluate the
-  // function for each element, and set or remove the style property as
-  // appropriate. When setting, use the specified priority.
-  function styleFunction() {
-    var x = value.apply(this, arguments);
-    if (x == null) this.style.removeProperty(name);
-    else this.style.setProperty(name, x, priority);
-  }
-
-  return value == null
-      ? styleNull : (typeof value === "function"
-      ? styleFunction : styleConstant);
-}
-
-d3_selectionPrototype.property = function(name, value) {
-  if (arguments.length < 2) {
-
-    // For property(string), return the property value for the first node.
-    if (typeof name === "string") return this.node()[name];
-
-    // For property(object), the object specifies the names and values of the
-    // properties to set or remove. The values may be functions that are
-    // evaluated for each element.
-    for (value in name) this.each(d3_selection_property(value, name[value]));
-    return this;
-  }
-
-  // Otherwise, both a name and a value are specified, and are handled as below.
-  return this.each(d3_selection_property(name, value));
-};
-
-function d3_selection_property(name, value) {
-
-  // For property(name, null), remove the property with the specified name.
-  function propertyNull() {
-    delete this[name];
-  }
-
-  // For property(name, string), set the property with the specified name.
-  function propertyConstant() {
-    this[name] = value;
-  }
-
-  // For property(name, function), evaluate the function for each element, and
-  // set or remove the property as appropriate.
-  function propertyFunction() {
-    var x = value.apply(this, arguments);
-    if (x == null) delete this[name];
-    else this[name] = x;
-  }
-
-  return value == null
-      ? propertyNull : (typeof value === "function"
-      ? propertyFunction : propertyConstant);
-}
-
-d3_selectionPrototype.text = function(value) {
-  return arguments.length
-      ? this.each(typeof value === "function"
-      ? function() { var v = value.apply(this, arguments); this.textContent = v == null ? "" : v; } : value == null
-      ? function() { if (this.textContent !== "") this.textContent = ""; }
-      : function() { if (this.textContent !== value) this.textContent = value; })
-      : this.node().textContent;
-};
-
-d3_selectionPrototype.html = function(value) {
-  return arguments.length
-      ? this.each(typeof value === "function"
-      ? function() { var v = value.apply(this, arguments); this.innerHTML = v == null ? "" : v; } : value == null
-      ? function() { this.innerHTML = ""; }
-      : function() { this.innerHTML = value; })
-      : this.node().innerHTML;
-};
-
-d3_selectionPrototype.append = function(name) {
-  name = d3_selection_creator(name);
-  return this.select(function() {
-    return this.appendChild(name.apply(this, arguments));
-  });
-};
-
-function d3_selection_creator(name) {
-  return typeof name === "function" ? name
-      : (name = d3.ns.qualify(name)).local ? function() { return this.ownerDocument.createElementNS(name.space, name.local); }
-      : function() { return this.ownerDocument.createElementNS(this.namespaceURI, name); };
-}
-
-d3_selectionPrototype.insert = function(name, before) {
-  name = d3_selection_creator(name);
-  before = d3_selection_selector(before);
-  return this.select(function() {
-    return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null);
-  });
-};
-
-// TODO remove(selector)?
-// TODO remove(node)?
-// TODO remove(function)?
-d3_selectionPrototype.remove = function() {
-  return this.each(function() {
-    var parent = this.parentNode;
-    if (parent) parent.removeChild(this);
-  });
-};
-
-d3_selectionPrototype.data = function(value, key) {
-  var i = -1,
-      n = this.length,
-      group,
-      node;
-
-  // If no value is specified, return the first value.
-  if (!arguments.length) {
-    value = new Array(n = (group = this[0]).length);
-    while (++i < n) {
-      if (node = group[i]) {
-        value[i] = node.__data__;
-      }
-    }
-    return value;
-  }
-
-  function bind(group, groupData) {
-    var i,
-        n = group.length,
-        m = groupData.length,
-        n0 = Math.min(n, m),
-        updateNodes = new Array(m),
-        enterNodes = new Array(m),
-        exitNodes = new Array(n),
-        node,
-        nodeData;
-
-    if (key) {
-      var nodeByKeyValue = new d3_Map,
-          dataByKeyValue = new d3_Map,
-          keyValues = [],
-          keyValue;
-
-      for (i = -1; ++i < n;) {
-        keyValue = key.call(node = group[i], node.__data__, i);
-        if (nodeByKeyValue.has(keyValue)) {
-          exitNodes[i] = node; // duplicate selection key
-        } else {
-          nodeByKeyValue.set(keyValue, node);
-        }
-        keyValues.push(keyValue);
-      }
-
-      for (i = -1; ++i < m;) {
-        keyValue = key.call(groupData, nodeData = groupData[i], i);
-        if (node = nodeByKeyValue.get(keyValue)) {
-          updateNodes[i] = node;
-          node.__data__ = nodeData;
-        } else if (!dataByKeyValue.has(keyValue)) { // no duplicate data key
-          enterNodes[i] = d3_selection_dataNode(nodeData);
-        }
-        dataByKeyValue.set(keyValue, nodeData);
-        nodeByKeyValue.remove(keyValue);
-      }
-
-      for (i = -1; ++i < n;) {
-        if (nodeByKeyValue.has(keyValues[i])) {
-          exitNodes[i] = group[i];
-        }
-      }
-    } else {
-      for (i = -1; ++i < n0;) {
-        node = group[i];
-        nodeData = groupData[i];
-        if (node) {
-          node.__data__ = nodeData;
-          updateNodes[i] = node;
-        } else {
-          enterNodes[i] = d3_selection_dataNode(nodeData);
-        }
-      }
-      for (; i < m; ++i) {
-        enterNodes[i] = d3_selection_dataNode(groupData[i]);
-      }
-      for (; i < n; ++i) {
-        exitNodes[i] = group[i];
-      }
-    }
-
-    enterNodes.update
-        = updateNodes;
-
-    enterNodes.parentNode
-        = updateNodes.parentNode
-        = exitNodes.parentNode
-        = group.parentNode;
-
-    enter.push(enterNodes);
-    update.push(updateNodes);
-    exit.push(exitNodes);
-  }
-
-  var enter = d3_selection_enter([]),
-      update = d3_selection([]),
-      exit = d3_selection([]);
-
-  if (typeof value === "function") {
-    while (++i < n) {
-      bind(group = this[i], value.call(group, group.parentNode.__data__, i));
-    }
-  } else {
-    while (++i < n) {
-      bind(group = this[i], value);
-    }
-  }
-
-  update.enter = function() { return enter; };
-  update.exit = function() { return exit; };
-  return update;
-};
-
-function d3_selection_dataNode(data) {
-  return {__data__: data};
-}
-
-d3_selectionPrototype.datum = function(value) {
-  return arguments.length
-      ? this.property("__data__", value)
-      : this.property("__data__");
-};
-
-d3_selectionPrototype.filter = function(filter) {
-  var subgroups = [],
-      subgroup,
-      group,
-      node;
-
-  if (typeof filter !== "function") filter = d3_selection_filter(filter);
-
-  for (var j = 0, m = this.length; j < m; j++) {
-    subgroups.push(subgroup = []);
-    subgroup.parentNode = (group = this[j]).parentNode;
-    for (var i = 0, n = group.length; i < n; i++) {
-      if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {
-        subgroup.push(node);
-      }
-    }
-  }
-
-  return d3_selection(subgroups);
-};
-
-function d3_selection_filter(selector) {
-  return function() {
-    return d3_selectMatches(this, selector);
-  };
-}
-
-d3_selectionPrototype.order = function() {
-  for (var j = -1, m = this.length; ++j < m;) {
-    for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0;) {
-      if (node = group[i]) {
-        if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);
-        next = node;
-      }
-    }
-  }
-  return this;
-};
-
-d3_selectionPrototype.sort = function(comparator) {
-  comparator = d3_selection_sortComparator.apply(this, arguments);
-  for (var j = -1, m = this.length; ++j < m;) this[j].sort(comparator);
-  return this.order();
-};
-
-function d3_selection_sortComparator(comparator) {
-  if (!arguments.length) comparator = d3_ascending;
-  return function(a, b) {
-    return a && b ? comparator(a.__data__, b.__data__) : !a - !b;
-  };
-}
-
-d3_selectionPrototype.each = function(callback) {
-  return d3_selection_each(this, function(node, i, j) {
-    callback.call(node, node.__data__, i, j);
-  });
-};
-
-function d3_selection_each(groups, callback) {
-  for (var j = 0, m = groups.length; j < m; j++) {
-    for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) {
-      if (node = group[i]) callback(node, i, j);
-    }
-  }
-  return groups;
-}
-
-d3_selectionPrototype.call = function(callback) {
-  var args = d3_array(arguments);
-  callback.apply(args[0] = this, args);
-  return this;
-};
-
-d3_selectionPrototype.empty = function() {
-  return !this.node();
-};
-
-d3_selectionPrototype.node = function() {
-  for (var j = 0, m = this.length; j < m; j++) {
-    for (var group = this[j], i = 0, n = group.length; i < n; i++) {
-      var node = group[i];
-      if (node) return node;
-    }
-  }
-  return null;
-};
-
-d3_selectionPrototype.size = function() {
-  var n = 0;
-  this.each(function() { ++n; });
-  return n;
-};
-
-function d3_selection_enter(selection) {
-  d3_subclass(selection, d3_selection_enterPrototype);
-  return selection;
-}
-
-var d3_selection_enterPrototype = [];
-
-d3.selection.enter = d3_selection_enter;
-d3.selection.enter.prototype = d3_selection_enterPrototype;
-
-d3_selection_enterPrototype.append = d3_selectionPrototype.append;
-d3_selection_enterPrototype.empty = d3_selectionPrototype.empty;
-d3_selection_enterPrototype.node = d3_selectionPrototype.node;
-d3_selection_enterPrototype.call = d3_selectionPrototype.call;
-d3_selection_enterPrototype.size = d3_selectionPrototype.size;
-
-
-d3_selection_enterPrototype.select = function(selector) {
-  var subgroups = [],
-      subgroup,
-      subnode,
-      upgroup,
-      group,
-      node;
-
-  for (var j = -1, m = this.length; ++j < m;) {
-    upgroup = (group = this[j]).update;
-    subgroups.push(subgroup = []);
-    subgroup.parentNode = group.parentNode;
-    for (var i = -1, n = group.length; ++i < n;) {
-      if (node = group[i]) {
-        subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j));
-        subnode.__data__ = node.__data__;
-      } else {
-        subgroup.push(null);
-      }
-    }
-  }
-
-  return d3_selection(subgroups);
-};
-
-d3_selection_enterPrototype.insert = function(name, before) {
-  if (arguments.length < 2) before = d3_selection_enterInsertBefore(this);
-  return d3_selectionPrototype.insert.call(this, name, before);
-};
-
-function d3_selection_enterInsertBefore(enter) {
-  var i0, j0;
-  return function(d, i, j) {
-    var group = enter[j].update,
-        n = group.length,
-        node;
-    if (j != j0) j0 = j, i0 = 0;
-    if (i >= i0) i0 = i + 1;
-    while (!(node = group[i0]) && ++i0 < n);
-    return node;
-  };
-}
-
-// import "../transition/transition";
-
-d3_selectionPrototype.transition = function() {
-  var id = d3_transitionInheritId || ++d3_transitionId,
-      subgroups = [],
-      subgroup,
-      node,
-      transition = d3_transitionInherit || {time: Date.now(), ease: d3_ease_cubicInOut, delay: 0, duration: 250};
-
-  for (var j = -1, m = this.length; ++j < m;) {
-    subgroups.push(subgroup = []);
-    for (var group = this[j], i = -1, n = group.length; ++i < n;) {
-      if (node = group[i]) d3_transitionNode(node, i, id, transition);
-      subgroup.push(node);
-    }
-  }
-
-  return d3_transition(subgroups, id);
-};
-// import "../transition/transition";
-
-d3_selectionPrototype.interrupt = function() {
-  return this.each(d3_selection_interrupt);
-};
-
-function d3_selection_interrupt() {
-  var lock = this.__transition__;
-  if (lock) ++lock.active;
-}
-
-// TODO fast singleton implementation?
-d3.select = function(node) {
-  var group = [typeof node === "string" ? d3_select(node, d3_document) : node];
-  group.parentNode = d3_documentElement;
-  return d3_selection([group]);
-};
-
-d3.selectAll = function(nodes) {
-  var group = d3_array(typeof nodes === "string" ? d3_selectAll(nodes, d3_document) : nodes);
-  group.parentNode = d3_documentElement;
-  return d3_selection([group]);
-};
-
-var d3_selectionRoot = d3.select(d3_documentElement);
-
-d3_selectionPrototype.on = function(type, listener, capture) {
-  var n = arguments.length;
-  if (n < 3) {
-
-    // For on(object) or on(object, boolean), the object specifies the event
-    // types and listeners to add or remove. The optional boolean specifies
-    // whether the listener captures events.
-    if (typeof type !== "string") {
-      if (n < 2) listener = false;
-      for (capture in type) this.each(d3_selection_on(capture, type[capture], listener));
-      return this;
-    }
-
-    // For on(string), return the listener for the first node.
-    if (n < 2) return (n = this.node()["__on" + type]) && n._;
-
-    // For on(string, function), use the default capture.
-    capture = false;
-  }
-
-  // Otherwise, a type, listener and capture are specified, and handled as below.
-  return this.each(d3_selection_on(type, listener, capture));
-};
-
-function d3_selection_on(type, listener, capture) {
-  var name = "__on" + type,
-      i = type.indexOf("."),
-      wrap = d3_selection_onListener;
-
-  if (i > 0) type = type.substring(0, i);
-  var filter = d3_selection_onFilters.get(type);
-  if (filter) type = filter, wrap = d3_selection_onFilter;
-
-  function onRemove() {
-    var l = this[name];
-    if (l) {
-      this.removeEventListener(type, l, l.$);
-      delete this[name];
-    }
-  }
-
-  function onAdd() {
-    var l = wrap(listener, d3_array(arguments));
-    if (typeof Raven !== 'undefined') l = Raven.wrap(l);
-    onRemove.call(this);
-    this.addEventListener(type, this[name] = l, l.$ = capture);
-    l._ = listener;
-  }
-
-  function removeAll() {
-    var re = new RegExp("^__on([^.]+)" + d3.requote(type) + "$"),
-        match;
-    for (var name in this) {
-      if (match = name.match(re)) {
-        var l = this[name];
-        this.removeEventListener(match[1], l, l.$);
-        delete this[name];
-      }
-    }
-  }
-
-  return i
-      ? listener ? onAdd : onRemove
-      : listener ? d3_noop : removeAll;
-}
-
-var d3_selection_onFilters = d3.map({
-  mouseenter: "mouseover",
-  mouseleave: "mouseout"
-});
-
-d3_selection_onFilters.forEach(function(k) {
-  if ("on" + k in d3_document) d3_selection_onFilters.remove(k);
-});
-
-function d3_selection_onListener(listener, argumentz) {
-  return function(e) {
-    var o = d3.event; // Events can be reentrant (e.g., focus).
-    d3.event = e;
-    argumentz[0] = this.__data__;
-    try {
-      listener.apply(this, argumentz);
-    } finally {
-      d3.event = o;
-    }
-  };
-}
-
-function d3_selection_onFilter(listener, argumentz) {
-  var l = d3_selection_onListener(listener, argumentz);
-  return function(e) {
-    var target = this, related = e.relatedTarget;
-    if (!related || (related !== target && !(related.compareDocumentPosition(target) & 8))) {
-      l.call(target, e);
-    }
-  };
-}
-
-var d3_event_dragSelect = "onselectstart" in d3_document ? null : d3_vendorSymbol(d3_documentElement.style, "userSelect"),
-    d3_event_dragId = 0;
-
-function d3_event_dragSuppress() {
-  var name = ".dragsuppress-" + ++d3_event_dragId,
-      click = "click" + name,
-      w = d3.select(d3_window)
-          .on("touchmove" + name, d3_eventPreventDefault)
-          .on("dragstart" + name, d3_eventPreventDefault)
-          .on("selectstart" + name, d3_eventPreventDefault);
-  if (d3_event_dragSelect) {
-    var style = d3_documentElement.style,
-        select = style[d3_event_dragSelect];
-    style[d3_event_dragSelect] = "none";
-  }
-  return function(suppressClick) {
-    w.on(name, null);
-    if (d3_event_dragSelect) style[d3_event_dragSelect] = select;
-    if (suppressClick) { // suppress the next click, but only if it’s immediate
-      function off() { w.on(click, null); }
-      w.on(click, function() { d3_eventCancel(); off(); }, true);
-      setTimeout(off, 0);
-    }
-  };
-}
-
-d3.mouse = function(container) {
-  return d3_mousePoint(container, d3_eventSource());
-};
-
-function d3_mousePoint(container, e) {
-  if (e.changedTouches) e = e.changedTouches[0];
-  var svg = container.ownerSVGElement || container;
-  if (svg.createSVGPoint) {
-    var point = svg.createSVGPoint();
-    point.x = e.clientX, point.y = e.clientY;
-    point = point.matrixTransform(container.getScreenCTM().inverse());
-    return [point.x, point.y];
-  }
-  var rect = container.getBoundingClientRect();
-  return [e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop];
-};
-
-d3.touches = function(container, touches) {
-  if (arguments.length < 2) touches = d3_eventSource().touches;
-  return touches ? d3_array(touches).map(function(touch) {
-    var point = d3_mousePoint(container, touch);
-    point.identifier = touch.identifier;
-    return point;
-  }) : [];
-};
-var π = Math.PI,
-    τ = 2 * π,
-    halfπ = π / 2,
-    ε = 1e-6,
-    ε2 = ε * ε,
-    d3_radians = π / 180,
-    d3_degrees = 180 / π;
-
-function d3_sgn(x) {
-  return x > 0 ? 1 : x < 0 ? -1 : 0;
-}
-
-// Returns the 2D cross product of AB and AC vectors, i.e., the z-component of
-// the 3D cross product in a quadrant I Cartesian coordinate system (+x is
-// right, +y is up). Returns a positive value if ABC is counter-clockwise,
-// negative if clockwise, and zero if the points are collinear.
-function d3_cross2d(a, b, c) {
-  return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);
-}
-
-function d3_acos(x) {
-  return x > 1 ? 0 : x < -1 ? π : Math.acos(x);
-}
-
-function d3_asin(x) {
-  return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x);
-}
-
-function d3_sinh(x) {
-  return ((x = Math.exp(x)) - 1 / x) / 2;
-}
-
-function d3_cosh(x) {
-  return ((x = Math.exp(x)) + 1 / x) / 2;
-}
-
-function d3_tanh(x) {
-  return ((x = Math.exp(2 * x)) - 1) / (x + 1);
-}
-
-function d3_haversin(x) {
-  return (x = Math.sin(x / 2)) * x;
-}
-
-var ρ = Math.SQRT2,
-    ρ2 = 2,
-    ρ4 = 4;
-
-// p0 = [ux0, uy0, w0]
-// p1 = [ux1, uy1, w1]
-d3.interpolateZoom = function(p0, p1) {
-  var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],
-      ux1 = p1[0], uy1 = p1[1], w1 = p1[2];
-
-  var dx = ux1 - ux0,
-      dy = uy1 - uy0,
-      d2 = dx * dx + dy * dy,
-      d1 = Math.sqrt(d2),
-      b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1),
-      b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1),
-      r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),
-      r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1),
-      dr = r1 - r0,
-      S = (dr || Math.log(w1 / w0)) / ρ;
-
-  function interpolate(t) {
-    var s = t * S;
-    if (dr) {
-      // General case.
-      var coshr0 = d3_cosh(r0),
-          u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0));
-      return [
-        ux0 + u * dx,
-        uy0 + u * dy,
-        w0 * coshr0 / d3_cosh(ρ * s + r0)
-      ];
-    }
-    // Special case for u0 ~= u1.
-    return [
-      ux0 + t * dx,
-      uy0 + t * dy,
-      w0 * Math.exp(ρ * s)
-    ];
-  }
-
-  interpolate.duration = S * 1000;
-
-  return interpolate;
-};
-
-d3.behavior.zoom = function() {
-  var view = {x: 0, y: 0, k: 1},
-      translate0, // translate when we started zooming (to avoid drift)
-      center, // desired position of translate0 after zooming
-      size = [960, 500], // viewport size; required for zoom interpolation
-      scaleExtent = d3_behavior_zoomInfinity,
-      mousedown = "mousedown.zoom",
-      mousemove = "mousemove.zoom",
-      mouseup = "mouseup.zoom",
-      mousewheelTimer,
-      touchstart = "touchstart.zoom",
-      touchtime, // time of last touchstart (to detect double-tap)
-      event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"),
-      x0,
-      x1,
-      y0,
-      y1;
-
-  function zoom(g) {
-    g   .on(mousedown, mousedowned)
-        .on(d3_behavior_zoomWheel + ".zoom", mousewheeled)
-        .on(mousemove, mousewheelreset)
-        .on("dblclick.zoom", dblclicked)
-        .on(touchstart, touchstarted);
-  }
-
-  zoom.event = function(g) {
-    g.each(function() {
-      var dispatch = event.of(this, arguments),
-          view1 = view;
-      if (d3_transitionInheritId) {
-        d3.select(this).transition()
-            .each("start.zoom", function() {
-              view = this.__chart__ || {x: 0, y: 0, k: 1}; // pre-transition state
-              zoomstarted(dispatch);
-            })
-            .tween("zoom:zoom", function() {
-              var dx = size[0],
-                  dy = size[1],
-                  cx = dx / 2,
-                  cy = dy / 2,
-                  i = d3.interpolateZoom(
-                    [(cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k],
-                    [(cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k]
-                  );
-              return function(t) {
-                var l = i(t), k = dx / l[2];
-                this.__chart__ = view = {x: cx - l[0] * k, y: cy - l[1] * k, k: k};
-                zoomed(dispatch);
-              };
-            })
-            .each("end.zoom", function() {
-              zoomended(dispatch);
-            });
-      } else {
-        this.__chart__ = view;
-        zoomstarted(dispatch);
-        zoomed(dispatch);
-        zoomended(dispatch);
-      }
-    });
-  }
-
-  zoom.translate = function(_) {
-    if (!arguments.length) return [view.x, view.y];
-    view = {x: +_[0], y: +_[1], k: view.k}; // copy-on-write
-    rescale();
-    return zoom;
-  };
-
-  zoom.scale = function(_) {
-    if (!arguments.length) return view.k;
-    view = {x: view.x, y: view.y, k: +_}; // copy-on-write
-    rescale();
-    return zoom;
-  };
-
-  zoom.scaleExtent = function(_) {
-    if (!arguments.length) return scaleExtent;
-    scaleExtent = _ == null ? d3_behavior_zoomInfinity : [+_[0], +_[1]];
-    return zoom;
-  };
-
-  zoom.center = function(_) {
-    if (!arguments.length) return center;
-    center = _ && [+_[0], +_[1]];
-    return zoom;
-  };
-
-  zoom.size = function(_) {
-    if (!arguments.length) return size;
-    size = _ && [+_[0], +_[1]];
-    return zoom;
-  };
-
-  zoom.x = function(z) {
-    if (!arguments.length) return x1;
-    x1 = z;
-    x0 = z.copy();
-    view = {x: 0, y: 0, k: 1}; // copy-on-write
-    return zoom;
-  };
-
-  zoom.y = function(z) {
-    if (!arguments.length) return y1;
-    y1 = z;
-    y0 = z.copy();
-    view = {x: 0, y: 0, k: 1}; // copy-on-write
-    return zoom;
-  };
-
-  function location(p) {
-    return [(p[0] - view.x) / view.k, (p[1] - view.y) / view.k];
-  }
-
-  function point(l) {
-    return [l[0] * view.k + view.x, l[1] * view.k + view.y];
-  }
-
-  function scaleTo(s) {
-    view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));
-  }
-
-  function translateTo(p, l) {
-    l = point(l);
-    view.x += p[0] - l[0];
-    view.y += p[1] - l[1];
-  }
-
-  function rescale() {
-    if (x1) x1.domain(x0.range().map(function(x) { return (x - view.x) / view.k; }).map(x0.invert));
-    if (y1) y1.domain(y0.range().map(function(y) { return (y - view.y) / view.k; }).map(y0.invert));
-  }
-
-  function zoomstarted(dispatch) {
-    dispatch({type: "zoomstart"});
-  }
-
-  function zoomed(dispatch) {
-    rescale();
-    dispatch({type: "zoom", scale: view.k, translate: [view.x, view.y]});
-  }
-
-  function zoomended(dispatch) {
-    dispatch({type: "zoomend"});
-  }
-
-  function mousedowned() {
-    var that = this,
-        target = d3.event.target,
-        dispatch = event.of(that, arguments),
-        dragged = 0,
-        subject = d3.select(d3_window).on(mousemove, moved).on(mouseup, ended),
-        location0 = location(d3.mouse(that)),
-        dragRestore = d3_event_dragSuppress();
-
-    d3_selection_interrupt.call(that);
-    zoomstarted(dispatch);
-
-    function moved() {
-      dragged = 1;
-      translateTo(d3.mouse(that), location0);
-      zoomed(dispatch);
-    }
-
-    function ended() {
-      subject.on(mousemove, d3_window === that ? mousewheelreset : null).on(mouseup, null);
-      dragRestore(dragged && d3.event.target === target);
-      zoomended(dispatch);
-    }
-  }
-
-  // These closures persist for as long as at least one touch is active.
-  function touchstarted() {
-    var that = this,
-        dispatch = event.of(that, arguments),
-        locations0 = {}, // touchstart locations
-        distance0 = 0, // distance² between initial touches
-        scale0, // scale when we started touching
-        zoomName = ".zoom-" + d3.event.changedTouches[0].identifier,
-        touchmove = "touchmove" + zoomName,
-        touchend = "touchend" + zoomName,
-        target = d3.select(d3.event.target).on(touchmove, moved).on(touchend, ended),
-        subject = d3.select(that).on(mousedown, null).on(touchstart, started), // prevent duplicate events
-        dragRestore = d3_event_dragSuppress();
-
-    d3_selection_interrupt.call(that);
-    started();
-    zoomstarted(dispatch);
-
-    // Updates locations of any touches in locations0.
-    function relocate() {
-      var touches = d3.touches(that);
-      scale0 = view.k;
-      touches.forEach(function(t) {
-        if (t.identifier in locations0) locations0[t.identifier] = location(t);
-      });
-      return touches;
-    }
-
-    // Temporarily override touchstart while gesture is active.
-    function started() {
-      // Only track touches started on the target element.
-      var changed = d3.event.changedTouches;
-      for (var i = 0, n = changed.length; i < n; ++i) {
-        locations0[changed[i].identifier] = null;
-      }
-
-      var touches = relocate(),
-          now = Date.now();
-
-      if (touches.length === 1) {
-        if (now - touchtime < 500) { // dbltap
-          var p = touches[0], l = locations0[p.identifier];
-          scaleTo(view.k * 2);
-          translateTo(p, l);
-          d3_eventPreventDefault();
-          zoomed(dispatch);
-        }
-        touchtime = now;
-      } else if (touches.length > 1) {
-        var p = touches[0], q = touches[1],
-            dx = p[0] - q[0], dy = p[1] - q[1];
-        distance0 = dx * dx + dy * dy;
-      }
-    }
-
-    function moved() {
-      var touches = d3.touches(that),
-          p0, l0,
-          p1, l1;
-      for (var i = 0, n = touches.length; i < n; ++i, l1 = null) {
-        p1 = touches[i];
-        if (l1 = locations0[p1.identifier]) {
-          if (l0) break;
-          p0 = p1, l0 = l1;
-        }
-      }
-
-      if (l1) {
-        var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1,
-            scale1 = distance0 && Math.sqrt(distance1 / distance0);
-        p0 = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];
-        l0 = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];
-        scaleTo(scale1 * scale0);
-      }
-
-      touchtime = null;
-      translateTo(p0, l0);
-      zoomed(dispatch);
-    }
-
-    function ended() {
-      // If there are any globally-active touches remaining, remove the ended
-      // touches from locations0.
-      if (d3.event.touches.length) {
-        var changed = d3.event.changedTouches;
-        for (var i = 0, n = changed.length; i < n; ++i) {
-          delete locations0[changed[i].identifier];
-        }
-        // If locations0 is not empty, then relocate and continue listening for
-        // touchmove and touchend.
-        for (var identifier in locations0) {
-          return void relocate(); // locations may have detached due to rotation
-        }
-      }
-      // Otherwise, remove touchmove and touchend listeners.
-      target.on(zoomName, null);
-      subject.on(mousedown, mousedowned).on(touchstart, touchstarted);
-      dragRestore();
-      zoomended(dispatch);
-    }
-  }
-
-  function mousewheeled() {
-    var dispatch = event.of(this, arguments);
-    if (mousewheelTimer) clearTimeout(mousewheelTimer);
-    else d3_selection_interrupt.call(this), zoomstarted(dispatch);
-    mousewheelTimer = setTimeout(function() { mousewheelTimer = null; zoomended(dispatch); }, 50);
-    d3_eventPreventDefault();
-    var point = center || d3.mouse(this);
-    if (!translate0) translate0 = location(point);
-    scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);
-    translateTo(point, translate0);
-    zoomed(dispatch);
-  }
-
-  function mousewheelreset() {
-    translate0 = null;
-  }
-
-  function dblclicked() {
-    var dispatch = event.of(this, arguments),
-        p = d3.mouse(this),
-        l = location(p),
-        k = Math.log(view.k) / Math.LN2;
-    zoomstarted(dispatch);
-    scaleTo(Math.pow(2, d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1));
-    translateTo(p, l);
-    zoomed(dispatch);
-    zoomended(dispatch);
-  }
-
-  return d3.rebind(zoom, event, "on");
-};
-
-var d3_behavior_zoomInfinity = [0, Infinity]; // default scale extent
-
-// https://developer.mozilla.org/en-US/docs/Mozilla_event_reference/wheel
-var d3_behavior_zoomDelta, d3_behavior_zoomWheel
-    = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); }, "wheel")
-    : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { return d3.event.wheelDelta; }, "mousewheel")
-    : (d3_behavior_zoomDelta = function() { return -d3.event.detail; }, "MozMousePixelScroll");
-function d3_functor(v) {
-  return typeof v === "function" ? v : function() { return v; };
-}
-
-d3.functor = d3_functor;
-
-d3.touch = function(container, touches, identifier) {
-  if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches;
-  if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) {
-    if ((touch = touches[i]).identifier === identifier) {
-      return d3_mousePoint(container, touch);
-    }
-  }
-};
-
-var d3_timer_queueHead,
-    d3_timer_queueTail,
-    d3_timer_interval, // is an interval (or frame) active?
-    d3_timer_timeout, // is a timeout active?
-    d3_timer_active, // active timer object
-    d3_timer_frame = d3_window[d3_vendorSymbol(d3_window, "requestAnimationFrame")] || function(callback) { setTimeout(callback, 17); };
-
-// The timer will continue to fire until callback returns true.
-d3.timer = function(callback, delay, then) {
-  var n = arguments.length;
-  if (n < 2) delay = 0;
-  if (n < 3) then = Date.now();
-
-  // Add the callback to the tail of the queue.
-  var time = then + delay, timer = {c: callback, t: time, f: false, n: null};
-  if (d3_timer_queueTail) d3_timer_queueTail.n = timer;
-  else d3_timer_queueHead = timer;
-  d3_timer_queueTail = timer;
-
-  // Start animatin'!
-  if (!d3_timer_interval) {
-    d3_timer_timeout = clearTimeout(d3_timer_timeout);
-    d3_timer_interval = 1;
-    d3_timer_frame(d3_timer_step);
-  }
-};
-
-function d3_timer_step() {
-  var now = d3_timer_mark(),
-      delay = d3_timer_sweep() - now;
-  if (delay > 24) {
-    if (isFinite(delay)) {
-      clearTimeout(d3_timer_timeout);
-      d3_timer_timeout = setTimeout(d3_timer_step, delay);
-    }
-    d3_timer_interval = 0;
-  } else {
-    d3_timer_interval = 1;
-    d3_timer_frame(d3_timer_step);
-  }
-}
-
-d3.timer.flush = function() {
-  d3_timer_mark();
-  d3_timer_sweep();
-};
-
-function d3_timer_mark() {
-  var now = Date.now();
-  d3_timer_active = d3_timer_queueHead;
-  while (d3_timer_active) {
-    if (now >= d3_timer_active.t) d3_timer_active.f = d3_timer_active.c(now - d3_timer_active.t);
-    d3_timer_active = d3_timer_active.n;
-  }
-  return now;
-}
-
-// Flush after callbacks to avoid concurrent queue modification.
-// Returns the time of the earliest active timer, post-sweep.
-function d3_timer_sweep() {
-  var t0,
-      t1 = d3_timer_queueHead,
-      time = Infinity;
-  while (t1) {
-    if (t1.f) {
-      t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n;
-    } else {
-      if (t1.t < time) time = t1.t;
-      t1 = (t0 = t1).n;
-    }
-  }
-  d3_timer_queueTail = t0;
-  return time;
-}
-d3.geo = {};
-function d3_identity(d) {
-  return d;
-}
-function d3_true() {
-  return true;
-}
-
-function d3_geo_spherical(cartesian) {
-  return [
-    Math.atan2(cartesian[1], cartesian[0]),
-    d3_asin(cartesian[2])
-  ];
-}
-
-function d3_geo_sphericalEqual(a, b) {
-  return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε;
-}
-
-// General spherical polygon clipping algorithm: takes a polygon, cuts it into
-// visible line segments and rejoins the segments by interpolating along the
-// clip edge.
-function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) {
-  var subject = [],
-      clip = [];
-
-  segments.forEach(function(segment) {
-    if ((n = segment.length - 1) <= 0) return;
-    var n, p0 = segment[0], p1 = segment[n];
-
-    // If the first and last points of a segment are coincident, then treat as
-    // a closed ring.
-    // TODO if all rings are closed, then the winding order of the exterior
-    // ring should be checked.
-    if (d3_geo_sphericalEqual(p0, p1)) {
-      listener.lineStart();
-      for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]);
-      listener.lineEnd();
-      return;
-    }
-
-    var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true),
-        b = new d3_geo_clipPolygonIntersection(p0, null, a, false);
-    a.o = b;
-    subject.push(a);
-    clip.push(b);
-    a = new d3_geo_clipPolygonIntersection(p1, segment, null, false);
-    b = new d3_geo_clipPolygonIntersection(p1, null, a, true);
-    a.o = b;
-    subject.push(a);
-    clip.push(b);
-  });
-  clip.sort(compare);
-  d3_geo_clipPolygonLinkCircular(subject);
-  d3_geo_clipPolygonLinkCircular(clip);
-  if (!subject.length) return;
-
-  for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) {
-    clip[i].e = entry = !entry;
-  }
-
-  var start = subject[0],
-      points,
-      point;
-  while (1) {
-    // Find first unvisited intersection.
-    var current = start,
-        isSubject = true;
-    while (current.v) if ((current = current.n) === start) return;
-    points = current.z;
-    listener.lineStart();
-    do {
-      current.v = current.o.v = true;
-      if (current.e) {
-        if (isSubject) {
-          for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]);
-        } else {
-          interpolate(current.x, current.n.x, 1, listener);
-        }
-        current = current.n;
-      } else {
-        if (isSubject) {
-          points = current.p.z;
-          for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]);
-        } else {
-          interpolate(current.x, current.p.x, -1, listener);
-        }
-        current = current.p;
-      }
-      current = current.o;
-      points = current.z;
-      isSubject = !isSubject;
-    } while (!current.v);
-    listener.lineEnd();
-  }
-}
-
-function d3_geo_clipPolygonLinkCircular(array) {
-  if (!(n = array.length)) return;
-  var n,
-      i = 0,
-      a = array[0],
-      b;
-  while (++i < n) {
-    a.n = b = array[i];
-    b.p = a;
-    a = b;
-  }
-  a.n = b = array[0];
-  b.p = a;
-}
-
-function d3_geo_clipPolygonIntersection(point, points, other, entry) {
-  this.x = point;
-  this.z = points;
-  this.o = other; // another intersection
-  this.e = entry; // is an entry?
-  this.v = false; // visited
-  this.n = this.p = null; // next & previous
-}
-
-function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) {
-  return function(rotate, listener) {
-    var line = clipLine(listener),
-        rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]);
-
-    var clip = {
-      point: point,
-      lineStart: lineStart,
-      lineEnd: lineEnd,
-      polygonStart: function() {
-        clip.point = pointRing;
-        clip.lineStart = ringStart;
-        clip.lineEnd = ringEnd;
-        segments = [];
-        polygon = [];
-      },
-      polygonEnd: function() {
-        clip.point = point;
-        clip.lineStart = lineStart;
-        clip.lineEnd = lineEnd;
-
-        segments = d3.merge(segments);
-        var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon);
-        if (segments.length) {
-          if (!polygonStarted) listener.polygonStart(), polygonStarted = true;
-          d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener);
-        } else if (clipStartInside) {
-          if (!polygonStarted) listener.polygonStart(), polygonStarted = true;
-          listener.lineStart();
-          interpolate(null, null, 1, listener);
-          listener.lineEnd();
-        }
-        if (polygonStarted) listener.polygonEnd(), polygonStarted = false;
-        segments = polygon = null;
-      },
-      sphere: function() {
-        listener.polygonStart();
-        listener.lineStart();
-        interpolate(null, null, 1, listener);
-        listener.lineEnd();
-        listener.polygonEnd();
-      }
-    };
-
-    function point(λ, φ) {
-      var point = rotate(λ, φ);
-      if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ);
-    }
-    function pointLine(λ, φ) {
-      var point = rotate(λ, φ);
-      line.point(point[0], point[1]);
-    }
-    function lineStart() { clip.point = pointLine; line.lineStart(); }
-    function lineEnd() { clip.point = point; line.lineEnd(); }
-
-    var segments;
-
-    var buffer = d3_geo_clipBufferListener(),
-        ringListener = clipLine(buffer),
-        polygonStarted = false,
-        polygon,
-        ring;
-
-    function pointRing(λ, φ) {
-      ring.push([λ, φ]);
-      var point = rotate(λ, φ);
-      ringListener.point(point[0], point[1]);
-    }
-
-    function ringStart() {
-      ringListener.lineStart();
-      ring = [];
-    }
-
-    function ringEnd() {
-      pointRing(ring[0][0], ring[0][1]);
-      ringListener.lineEnd();
-
-      var clean = ringListener.clean(),
-          ringSegments = buffer.buffer(),
-          segment,
-          n = ringSegments.length;
-
-      ring.pop();
-      polygon.push(ring);
-      ring = null;
-
-      if (!n) return;
-
-      // No intersections.
-      if (clean & 1) {
-        segment = ringSegments[0];
-        var n = segment.length - 1,
-            i = -1,
-            point;
-        if (n > 0) {
-          if (!polygonStarted) listener.polygonStart(), polygonStarted = true;
-          listener.lineStart();
-          while (++i < n) listener.point((point = segment[i])[0], point[1]);
-          listener.lineEnd();
-        }
-        return;
-      }
-
-      // Rejoin connected segments.
-      // TODO reuse bufferListener.rejoin()?
-      if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));
-
-      segments.push(ringSegments.filter(d3_geo_clipSegmentLength1));
-    }
-
-    return clip;
-  };
-}
-
-function d3_geo_clipSegmentLength1(segment) {
-  return segment.length > 1;
-}
-
-function d3_geo_clipBufferListener() {
-  var lines = [],
-      line;
-  return {
-    lineStart: function() { lines.push(line = []); },
-    point: function(λ, φ) { line.push([λ, φ]); },
-    lineEnd: d3_noop,
-    buffer: function() {
-      var buffer = lines;
-      lines = [];
-      line = null;
-      return buffer;
-    },
-    rejoin: function() {
-      if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));
-    }
-  };
-}
-
-// Intersection points are sorted along the clip edge. For both antimeridian
-// cutting and circle clipping, the same comparison is used.
-function d3_geo_clipSort(a, b) {
-  return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1])
-       - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]);
-}
-// Adds floating point numbers with twice the normal precision.
-// Reference: J. R. Shewchuk, Adaptive Precision Floating-Point Arithmetic and
-// Fast Robust Geometric Predicates, Discrete & Computational Geometry 18(3)
-// 305–363 (1997).
-// Code adapted from GeographicLib by Charles F. F. Karney,
-// http://geographiclib.sourceforge.net/
-// See lib/geographiclib/LICENSE for details.
-
-function d3_adder() {}
-
-d3_adder.prototype = {
-  s: 0, // rounded value
-  t: 0, // exact error
-  add: function(y) {
-    d3_adderSum(y, this.t, d3_adderTemp);
-    d3_adderSum(d3_adderTemp.s, this.s, this);
-    if (this.s) this.t += d3_adderTemp.t;
-    else this.s = d3_adderTemp.t;
-  },
-  reset: function() {
-    this.s = this.t = 0;
-  },
-  valueOf: function() {
-    return this.s;
-  }
-};
-
-var d3_adderTemp = new d3_adder;
-
-function d3_adderSum(a, b, o) {
-  var x = o.s = a + b, // a + b
-      bv = x - a, av = x - bv; // b_virtual & a_virtual
-  o.t = (a - av) + (b - bv); // a_roundoff + b_roundoff
-}
-
-d3.geo.stream = function(object, listener) {
-  if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {
-    d3_geo_streamObjectType[object.type](object, listener);
-  } else {
-    d3_geo_streamGeometry(object, listener);
-  }
-};
-
-function d3_geo_streamGeometry(geometry, listener) {
-  if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {
-    d3_geo_streamGeometryType[geometry.type](geometry, listener);
-  }
-}
-
-var d3_geo_streamObjectType = {
-  Feature: function(feature, listener) {
-    d3_geo_streamGeometry(feature.geometry, listener);
-  },
-  FeatureCollection: function(object, listener) {
-    var features = object.features, i = -1, n = features.length;
-    while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);
-  }
-};
-
-var d3_geo_streamGeometryType = {
-  Sphere: function(object, listener) {
-    listener.sphere();
-  },
-  Point: function(object, listener) {
-    object = object.coordinates;
-    listener.point(object[0], object[1], object[2]);
-  },
-  MultiPoint: function(object, listener) {
-    var coordinates = object.coordinates, i = -1, n = coordinates.length;
-    while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]);
-  },
-  LineString: function(object, listener) {
-    d3_geo_streamLine(object.coordinates, listener, 0);
-  },
-  MultiLineString: function(object, listener) {
-    var coordinates = object.coordinates, i = -1, n = coordinates.length;
-    while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0);
-  },
-  Polygon: function(object, listener) {
-    d3_geo_streamPolygon(object.coordinates, listener);
-  },
-  MultiPolygon: function(object, listener) {
-    var coordinates = object.coordinates, i = -1, n = coordinates.length;
-    while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);
-  },
-  GeometryCollection: function(object, listener) {
-    var geometries = object.geometries, i = -1, n = geometries.length;
-    while (++i < n) d3_geo_streamGeometry(geometries[i], listener);
-  }
-};
-
-function d3_geo_streamLine(coordinates, listener, closed) {
-  var i = -1, n = coordinates.length - closed, coordinate;
-  listener.lineStart();
-  while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]);
-  listener.lineEnd();
-}
-
-function d3_geo_streamPolygon(coordinates, listener) {
-  var i = -1, n = coordinates.length;
-  listener.polygonStart();
-  while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);
-  listener.polygonEnd();
-}
-
-d3.geo.area = function(object) {
-  d3_geo_areaSum = 0;
-  d3.geo.stream(object, d3_geo_area);
-  return d3_geo_areaSum;
-};
-
-var d3_geo_areaSum,
-    d3_geo_areaRingSum = new d3_adder;
-
-var d3_geo_area = {
-  sphere: function() { d3_geo_areaSum += 4 * π; },
-  point: d3_noop,
-  lineStart: d3_noop,
-  lineEnd: d3_noop,
-
-  // Only count area for polygon rings.
-  polygonStart: function() {
-    d3_geo_areaRingSum.reset();
-    d3_geo_area.lineStart = d3_geo_areaRingStart;
-  },
-  polygonEnd: function() {
-    var area = 2 * d3_geo_areaRingSum;
-    d3_geo_areaSum += area < 0 ? 4 * π + area : area;
-    d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop;
-  }
-};
-
-function d3_geo_areaRingStart() {
-  var λ00, φ00, λ0, cosφ0, sinφ0; // start point and previous point
-
-  // For the first point, …
-  d3_geo_area.point = function(λ, φ) {
-    d3_geo_area.point = nextPoint;
-    λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), sinφ0 = Math.sin(φ);
-  };
-
-  // For subsequent points, …
-  function nextPoint(λ, φ) {
-    λ *= d3_radians;
-    φ = φ * d3_radians / 2 + π / 4; // half the angular distance from south pole
-
-    // Spherical excess E for a spherical triangle with vertices: south pole,
-    // previous point, current point.  Uses a formula derived from Cagnoli’s
-    // theorem.  See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).
-    var dλ = λ - λ0,
-        sdλ = dλ >= 0 ? 1 : -1,
-        adλ = sdλ * dλ,
-        cosφ = Math.cos(φ),
-        sinφ = Math.sin(φ),
-        k = sinφ0 * sinφ,
-        u = cosφ0 * cosφ + k * Math.cos(adλ),
-        v = k * sdλ * Math.sin(adλ);
-    d3_geo_areaRingSum.add(Math.atan2(v, u));
-
-    // Advance the previous points.
-    λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ;
-  }
-
-  // For the last point, return to the start.
-  d3_geo_area.lineEnd = function() {
-    nextPoint(λ00, φ00);
-  };
-}
-// TODO
-// cross and scale return new vectors,
-// whereas add and normalize operate in-place
-
-function d3_geo_cartesian(spherical) {
-  var λ = spherical[0],
-      φ = spherical[1],
-      cosφ = Math.cos(φ);
-  return [
-    cosφ * Math.cos(λ),
-    cosφ * Math.sin(λ),
-    Math.sin(φ)
-  ];
-}
-
-function d3_geo_cartesianDot(a, b) {
-  return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
-}
-
-function d3_geo_cartesianCross(a, b) {
-  return [
-    a[1] * b[2] - a[2] * b[1],
-    a[2] * b[0] - a[0] * b[2],
-    a[0] * b[1] - a[1] * b[0]
-  ];
-}
-
-function d3_geo_cartesianAdd(a, b) {
-  a[0] += b[0];
-  a[1] += b[1];
-  a[2] += b[2];
-}
-
-function d3_geo_cartesianScale(vector, k) {
-  return [
-    vector[0] * k,
-    vector[1] * k,
-    vector[2] * k
-  ];
-}
-
-function d3_geo_cartesianNormalize(d) {
-  var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);
-  d[0] /= l;
-  d[1] /= l;
-  d[2] /= l;
-}
-
-function d3_geo_pointInPolygon(point, polygon) {
-  var meridian = point[0],
-      parallel = point[1],
-      meridianNormal = [Math.sin(meridian), -Math.cos(meridian), 0],
-      polarAngle = 0,
-      winding = 0;
-  d3_geo_areaRingSum.reset();
-
-  for (var i = 0, n = polygon.length; i < n; ++i) {
-    var ring = polygon[i],
-        m = ring.length;
-    if (!m) continue;
-    var point0 = ring[0],
-        λ0 = point0[0],
-        φ0 = point0[1] / 2 + π / 4,
-        sinφ0 = Math.sin(φ0),
-        cosφ0 = Math.cos(φ0),
-        j = 1;
-
-    while (true) {
-      if (j === m) j = 0;
-      point = ring[j];
-      var λ = point[0],
-          φ = point[1] / 2 + π / 4,
-          sinφ = Math.sin(φ),
-          cosφ = Math.cos(φ),
-          dλ = λ - λ0,
-          sdλ = dλ >= 0 ? 1 : -1,
-          adλ = sdλ * dλ,
-          antimeridian = adλ > π,
-          k = sinφ0 * sinφ;
-      d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ)));
-
-      polarAngle += antimeridian ? dλ + sdλ * τ : dλ;
-
-      // Are the longitudes either side of the point's meridian, and are the
-      // latitudes smaller than the parallel?
-      if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) {
-        var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point));
-        d3_geo_cartesianNormalize(arc);
-        var intersection = d3_geo_cartesianCross(meridianNormal, arc);
-        d3_geo_cartesianNormalize(intersection);
-        var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]);
-        if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) {
-          winding += antimeridian ^ dλ >= 0 ? 1 : -1;
-        }
-      }
-      if (!j++) break;
-      λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point;
-    }
-  }
-
-  // First, determine whether the South pole is inside or outside:
-  //
-  // It is inside if:
-  // * the polygon winds around it in a clockwise direction.
-  // * the polygon does not (cumulatively) wind around it, but has a negative
-  //   (counter-clockwise) area.
-  //
-  // Second, count the (signed) number of times a segment crosses a meridian
-  // from the point to the South pole.  If it is zero, then the point is the
-  // same side as the South pole.
-
-  return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < 0) ^ (winding & 1);
-}
-
-var d3_geo_clipAntimeridian = d3_geo_clip(
-    d3_true,
-    d3_geo_clipAntimeridianLine,
-    d3_geo_clipAntimeridianInterpolate,
-    [-π, -π / 2]);
-
-// Takes a line and cuts into visible segments. Return values:
-//   0: there were intersections or the line was empty.
-//   1: no intersections.
-//   2: there were intersections, and the first and last segments should be
-//      rejoined.
-function d3_geo_clipAntimeridianLine(listener) {
-  var λ0 = NaN,
-      φ0 = NaN,
-      sλ0 = NaN,
-      clean; // no intersections
-
-  return {
-    lineStart: function() {
-      listener.lineStart();
-      clean = 1;
-    },
-    point: function(λ1, φ1) {
-      var sλ1 = λ1 > 0 ? π : -π,
-          dλ = abs(λ1 - λ0);
-      if (abs(dλ - π) < ε) { // line crosses a pole
-        listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ);
-        listener.point(sλ0, φ0);
-        listener.lineEnd();
-        listener.lineStart();
-        listener.point(sλ1, φ0);
-        listener.point(λ1, φ0);
-        clean = 0;
-      } else if (sλ0 !== sλ1 && dλ >= π) { // line crosses antimeridian
-        // handle degeneracies
-        if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε;
-        if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε;
-        φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1);
-        listener.point(sλ0, φ0);
-        listener.lineEnd();
-        listener.lineStart();
-        listener.point(sλ1, φ0);
-        clean = 0;
-      }
-      listener.point(λ0 = λ1, φ0 = φ1);
-      sλ0 = sλ1;
-    },
-    lineEnd: function() {
-      listener.lineEnd();
-      λ0 = φ0 = NaN;
-    },
-    // if there are intersections, we always rejoin the first and last segments.
-    clean: function() { return 2 - clean; }
-  };
-}
-
-function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {
-  var cosφ0,
-      cosφ1,
-      sinλ0_λ1 = Math.sin(λ0 - λ1);
-  return abs(sinλ0_λ1) > ε
-      ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1)
-                 - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0))
-                 / (cosφ0 * cosφ1 * sinλ0_λ1))
-      : (φ0 + φ1) / 2;
-}
-
-function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {
-  var φ;
-  if (from == null) {
-    φ = direction * halfπ;
-    listener.point(-π,  φ);
-    listener.point( 0,  φ);
-    listener.point( π,  φ);
-    listener.point( π,  0);
-    listener.point( π, -φ);
-    listener.point( 0, -φ);
-    listener.point(-π, -φ);
-    listener.point(-π,  0);
-    listener.point(-π,  φ);
-  } else if (abs(from[0] - to[0]) > ε) {
-    var s = from[0] < to[0] ? π : -π;
-    φ = direction * s / 2;
-    listener.point(-s, φ);
-    listener.point( 0, φ);
-    listener.point( s, φ);
-  } else {
-    listener.point(to[0], to[1]);
-  }
-}
-
-function d3_geo_equirectangular(λ, φ) {
-  return [λ, φ];
-}
-
-(d3.geo.equirectangular = function() {
-  return d3_geo_projection(d3_geo_equirectangular);
-}).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular;
-
-d3.geo.rotation = function(rotate) {
-  rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0);
-
-  function forward(coordinates) {
-    coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians);
-    return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;
-  }
-
-  forward.invert = function(coordinates) {
-    coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians);
-    return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;
-  };
-
-  return forward;
-};
-
-function d3_geo_identityRotation(λ, φ) {
-  return [λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ];
-}
-
-d3_geo_identityRotation.invert = d3_geo_equirectangular;
-
-// Note: |δλ| must be < 2π
-function d3_geo_rotation(δλ, δφ, δγ) {
-  return δλ ? (δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ))
-    : d3_geo_rotationλ(δλ))
-    : (δφ || δγ ? d3_geo_rotationφγ(δφ, δγ)
-    : d3_geo_identityRotation);
-}
-
-function d3_geo_forwardRotationλ(δλ) {
-  return function(λ, φ) {
-    return λ += δλ, [λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ];
-  };
-}
-
-function d3_geo_rotationλ(δλ) {
-  var rotation = d3_geo_forwardRotationλ(δλ);
-  rotation.invert = d3_geo_forwardRotationλ(-δλ);
-  return rotation;
-}
-
-function d3_geo_rotationφγ(δφ, δγ) {
-  var cosδφ = Math.cos(δφ),
-      sinδφ = Math.sin(δφ),
-      cosδγ = Math.cos(δγ),
-      sinδγ = Math.sin(δγ);
-
-  function rotation(λ, φ) {
-    var cosφ = Math.cos(φ),
-        x = Math.cos(λ) * cosφ,
-        y = Math.sin(λ) * cosφ,
-        z = Math.sin(φ),
-        k = z * cosδφ + x * sinδφ;
-    return [
-      Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ),
-      d3_asin(k * cosδγ + y * sinδγ)
-    ];
-  }
-
-  rotation.invert = function(λ, φ) {
-    var cosφ = Math.cos(φ),
-        x = Math.cos(λ) * cosφ,
-        y = Math.sin(λ) * cosφ,
-        z = Math.sin(φ),
-        k = z * cosδγ - y * sinδγ;
-    return [
-      Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ),
-      d3_asin(k * cosδφ - x * sinδφ)
-    ];
-  };
-
-  return rotation;
-}
-
-d3.geo.circle = function() {
-  var origin = [0, 0],
-      angle,
-      precision = 6,
-      interpolate;
-
-  function circle() {
-    var center = typeof origin === "function" ? origin.apply(this, arguments) : origin,
-        rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert,
-        ring = [];
-
-    interpolate(null, null, 1, {
-      point: function(x, y) {
-        ring.push(x = rotate(x, y));
-        x[0] *= d3_degrees, x[1] *= d3_degrees;
-      }
-    });
-
-    return {type: "Polygon", coordinates: [ring]};
-  }
-
-  circle.origin = function(x) {
-    if (!arguments.length) return origin;
-    origin = x;
-    return circle;
-  };
-
-  circle.angle = function(x) {
-    if (!arguments.length) return angle;
-    interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians);
-    return circle;
-  };
-
-  circle.precision = function(_) {
-    if (!arguments.length) return precision;
-    interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians);
-    return circle;
-  };
-
-  return circle.angle(90);
-};
-
-// Interpolates along a circle centered at [0°, 0°], with a given radius and
-// precision.
-function d3_geo_circleInterpolate(radius, precision) {
-  var cr = Math.cos(radius),
-      sr = Math.sin(radius);
-  return function(from, to, direction, listener) {
-    var step = direction * precision;
-    if (from != null) {
-      from = d3_geo_circleAngle(cr, from);
-      to = d3_geo_circleAngle(cr, to);
-      if (direction > 0 ? from < to: from > to) from += direction * τ;
-    } else {
-      from = radius + direction * τ;
-      to = radius - .5 * step;
-    }
-    for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) {
-      listener.point((point = d3_geo_spherical([
-        cr,
-        -sr * Math.cos(t),
-        -sr * Math.sin(t)
-      ]))[0], point[1]);
-    }
-  };
-}
-
-// Signed angle of a cartesian point relative to [cr, 0, 0].
-function d3_geo_circleAngle(cr, point) {
-  var a = d3_geo_cartesian(point);
-  a[0] -= cr;
-  d3_geo_cartesianNormalize(a);
-  var angle = d3_acos(-a[1]);
-  return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI);
-}
-
-// Clip features against a small circle centered at [0°, 0°].
-function d3_geo_clipCircle(radius) {
-  var cr = Math.cos(radius),
-      smallRadius = cr > 0,
-      notHemisphere = abs(cr) > ε, // TODO optimise for this common case
-      interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians);
-
-  return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-π, radius - π]);
-
-  function visible(λ, φ) {
-    return Math.cos(λ) * Math.cos(φ) > cr;
-  }
-
-  // Takes a line and cuts into visible segments. Return values used for
-  // polygon clipping:
-  //   0: there were intersections or the line was empty.
-  //   1: no intersections.
-  //   2: there were intersections, and the first and last segments should be
-  //      rejoined.
-  function clipLine(listener) {
-    var point0, // previous point
-        c0, // code for previous point
-        v0, // visibility of previous point
-        v00, // visibility of first point
-        clean; // no intersections
-    return {
-      lineStart: function() {
-        v00 = v0 = false;
-        clean = 1;
-      },
-      point: function(λ, φ) {
-        var point1 = [λ, φ],
-            point2,
-            v = visible(λ, φ),
-            c = smallRadius
-              ? v ? 0 : code(λ, φ)
-              : v ? code(λ + (λ < 0 ? π : -π), φ) : 0;
-        if (!point0 && (v00 = v0 = v)) listener.lineStart();
-        // Handle degeneracies.
-        // TODO ignore if not clipping polygons.
-        if (v !== v0) {
-          point2 = intersect(point0, point1);
-          if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) {
-            point1[0] += ε;
-            point1[1] += ε;
-            v = visible(point1[0], point1[1]);
-          }
-        }
-        if (v !== v0) {
-          clean = 0;
-          if (v) {
-            // outside going in
-            listener.lineStart();
-            point2 = intersect(point1, point0);
-            listener.point(point2[0], point2[1]);
-          } else {
-            // inside going out
-            point2 = intersect(point0, point1);
-            listener.point(point2[0], point2[1]);
-            listener.lineEnd();
-          }
-          point0 = point2;
-        } else if (notHemisphere && point0 && smallRadius ^ v) {
-          var t;
-          // If the codes for two points are different, or are both zero,
-          // and there this segment intersects with the small circle.
-          if (!(c & c0) && (t = intersect(point1, point0, true))) {
-            clean = 0;
-            if (smallRadius) {
-              listener.lineStart();
-              listener.point(t[0][0], t[0][1]);
-              listener.point(t[1][0], t[1][1]);
-              listener.lineEnd();
-            } else {
-              listener.point(t[1][0], t[1][1]);
-              listener.lineEnd();
-              listener.lineStart();
-              listener.point(t[0][0], t[0][1]);
-            }
-          }
-        }
-        if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) {
-          listener.point(point1[0], point1[1]);
-        }
-        point0 = point1, v0 = v, c0 = c;
-      },
-      lineEnd: function() {
-        if (v0) listener.lineEnd();
-        point0 = null;
-      },
-      // Rejoin first and last segments if there were intersections and the first
-      // and last points were visible.
-      clean: function() { return clean | ((v00 && v0) << 1); }
-    };
-  }
-
-  // Intersects the great circle between a and b with the clip circle.
-  function intersect(a, b, two) {
-    var pa = d3_geo_cartesian(a),
-        pb = d3_geo_cartesian(b);
-
-    // We have two planes, n1.p = d1 and n2.p = d2.
-    // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).
-    var n1 = [1, 0, 0], // normal
-        n2 = d3_geo_cartesianCross(pa, pb),
-        n2n2 = d3_geo_cartesianDot(n2, n2),
-        n1n2 = n2[0], // d3_geo_cartesianDot(n1, n2),
-        determinant = n2n2 - n1n2 * n1n2;
-
-    // Two polar points.
-    if (!determinant) return !two && a;
-
-    var c1 =  cr * n2n2 / determinant,
-        c2 = -cr * n1n2 / determinant,
-        n1xn2 = d3_geo_cartesianCross(n1, n2),
-        A = d3_geo_cartesianScale(n1, c1),
-        B = d3_geo_cartesianScale(n2, c2);
-    d3_geo_cartesianAdd(A, B);
-
-    // Solve |p(t)|^2 = 1.
-    var u = n1xn2,
-        w = d3_geo_cartesianDot(A, u),
-        uu = d3_geo_cartesianDot(u, u),
-        t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1);
-
-    if (t2 < 0) return;
-
-    var t = Math.sqrt(t2),
-        q = d3_geo_cartesianScale(u, (-w - t) / uu);
-    d3_geo_cartesianAdd(q, A);
-    q = d3_geo_spherical(q);
-    if (!two) return q;
-
-    // Two intersection points.
-    var λ0 = a[0],
-        λ1 = b[0],
-        φ0 = a[1],
-        φ1 = b[1],
-        z;
-    if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z;
-    var δλ = λ1 - λ0,
-        polar = abs(δλ - π) < ε,
-        meridian = polar || δλ < ε;
-
-    if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z;
-
-    // Check that the first point is between a and b.
-    if (meridian
-        ? polar
-          ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1)
-          : φ0 <= q[1] && q[1] <= φ1
-        : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) {
-      var q1 = d3_geo_cartesianScale(u, (-w + t) / uu);
-      d3_geo_cartesianAdd(q1, A);
-      return [q, d3_geo_spherical(q1)];
-    }
-  }
-
-  // Generates a 4-bit vector representing the location of a point relative to
-  // the small circle's bounding box.
-  function code(λ, φ) {
-    var r = smallRadius ? radius : π - radius,
-        code = 0;
-    if (λ < -r) code |= 1; // left
-    else if (λ > r) code |= 2; // right
-    if (φ < -r) code |= 4; // below
-    else if (φ > r) code |= 8; // above
-    return code;
-  }
-}
-
-// Liang–Barsky line clipping.
-function d3_geom_clipLine(x0, y0, x1, y1) {
-  return function(line) {
-    var a = line.a,
-        b = line.b,
-        ax = a.x,
-        ay = a.y,
-        bx = b.x,
-        by = b.y,
-        t0 = 0,
-        t1 = 1,
-        dx = bx - ax,
-        dy = by - ay,
-        r;
-
-    r = x0 - ax;
-    if (!dx && r > 0) return;
-    r /= dx;
-    if (dx < 0) {
-      if (r < t0) return;
-      if (r < t1) t1 = r;
-    } else if (dx > 0) {
-      if (r > t1) return;
-      if (r > t0) t0 = r;
-    }
-
-    r = x1 - ax;
-    if (!dx && r < 0) return;
-    r /= dx;
-    if (dx < 0) {
-      if (r > t1) return;
-      if (r > t0) t0 = r;
-    } else if (dx > 0) {
-      if (r < t0) return;
-      if (r < t1) t1 = r;
-    }
-
-    r = y0 - ay;
-    if (!dy && r > 0) return;
-    r /= dy;
-    if (dy < 0) {
-      if (r < t0) return;
-      if (r < t1) t1 = r;
-    } else if (dy > 0) {
-      if (r > t1) return;
-      if (r > t0) t0 = r;
-    }
-
-    r = y1 - ay;
-    if (!dy && r < 0) return;
-    r /= dy;
-    if (dy < 0) {
-      if (r > t1) return;
-      if (r > t0) t0 = r;
-    } else if (dy > 0) {
-      if (r < t0) return;
-      if (r < t1) t1 = r;
-    }
-
-    if (t0 > 0) line.a = {x: ax + t0 * dx, y: ay + t0 * dy};
-    if (t1 < 1) line.b = {x: ax + t1 * dx, y: ay + t1 * dy};
-    return line;
-  };
-}
-
-var d3_geo_clipExtentMAX = 1e9;
-
-d3.geo.clipExtent = function() {
-  var x0, y0, x1, y1,
-      stream,
-      clip,
-      clipExtent = {
-        stream: function(output) {
-          if (stream) stream.valid = false;
-          stream = clip(output);
-          stream.valid = true; // allow caching by d3.geo.path
-          return stream;
-        },
-        extent: function(_) {
-          if (!arguments.length) return [[x0, y0], [x1, y1]];
-          clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]);
-          if (stream) stream.valid = false, stream = null;
-          return clipExtent;
-        }
-      };
-  return clipExtent.extent([[0, 0], [960, 500]]);
-};
-
-function d3_geo_clipExtent(x0, y0, x1, y1) {
-  return function(listener) {
-    var listener_ = listener,
-        bufferListener = d3_geo_clipBufferListener(),
-        clipLine = d3_geom_clipLine(x0, y0, x1, y1),
-        segments,
-        polygon,
-        ring;
-
-    var clip = {
-      point: point,
-      lineStart: lineStart,
-      lineEnd: lineEnd,
-      polygonStart: function() {
-        listener = bufferListener;
-        segments = [];
-        polygon = [];
-        clean = true;
-      },
-      polygonEnd: function() {
-        listener = listener_;
-        segments = d3.merge(segments);
-        var clipStartInside = insidePolygon([x0, y1]),
-            inside = clean && clipStartInside,
-            visible = segments.length;
-        if (inside || visible) {
-          listener.polygonStart();
-          if (inside) {
-            listener.lineStart();
-            interpolate(null, null, 1, listener);
-            listener.lineEnd();
-          }
-          if (visible) {
-            d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener);
-          }
-          listener.polygonEnd();
-        }
-        segments = polygon = ring = null;
-      }
-    };
-
-    function insidePolygon(p) {
-      var wn = 0, // the winding number counter
-          n = polygon.length,
-          y = p[1];
-
-      for (var i = 0; i < n; ++i) {
-        for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) {
-          b = v[j];
-          if (a[1] <= y) {
-            if (b[1] >  y && d3_cross2d(a, b, p) > 0) ++wn;
-          } else {
-            if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn;
-          }
-          a = b;
-        }
-      }
-      return wn !== 0;
-    }
-
-    function interpolate(from, to, direction, listener) {
-      var a = 0, a1 = 0;
-      if (from == null ||
-          (a = corner(from, direction)) !== (a1 = corner(to, direction)) ||
-          comparePoints(from, to) < 0 ^ direction > 0) {
-        do {
-          listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);
-        } while ((a = (a + direction + 4) % 4) !== a1);
-      } else {
-        listener.point(to[0], to[1]);
-      }
-    }
-
-    function pointVisible(x, y) {
-      return x0 <= x && x <= x1 && y0 <= y && y <= y1;
-    }
-
-    function point(x, y) {
-      if (pointVisible(x, y)) listener.point(x, y);
-    }
-
-    var x__, y__, v__, // first point
-        x_, y_, v_, // previous point
-        first,
-        clean;
-
-    function lineStart() {
-      clip.point = linePoint;
-      if (polygon) polygon.push(ring = []);
-      first = true;
-      v_ = false;
-      x_ = y_ = NaN;
-    }
-
-    function lineEnd() {
-      // TODO rather than special-case polygons, simply handle them separately.
-      // Ideally, coincident intersection points should be jittered to avoid
-      // clipping issues.
-      if (segments) {
-        linePoint(x__, y__);
-        if (v__ && v_) bufferListener.rejoin();
-        segments.push(bufferListener.buffer());
-      }
-      clip.point = point;
-      if (v_) listener.lineEnd();
-    }
-
-    function linePoint(x, y) {
-      x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x));
-      y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y));
-      var v = pointVisible(x, y);
-      if (polygon) ring.push([x, y]);
-      if (first) {
-        x__ = x, y__ = y, v__ = v;
-        first = false;
-        if (v) {
-          listener.lineStart();
-          listener.point(x, y);
-        }
-      } else {
-        if (v && v_) listener.point(x, y);
-        else {
-          var l = {a: {x: x_, y: y_}, b: {x: x, y: y}};
-          if (clipLine(l)) {
-            if (!v_) {
-              listener.lineStart();
-              listener.point(l.a.x, l.a.y);
-            }
-            listener.point(l.b.x, l.b.y);
-            if (!v) listener.lineEnd();
-            clean = false;
-          } else if (v) {
-            listener.lineStart();
-            listener.point(x, y);
-            clean = false;
-          }
-        }
-      }
-      x_ = x, y_ = y, v_ = v;
-    }
-
-    return clip;
-  };
-
-  function corner(p, direction) {
-    return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3
-        : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1
-        : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0
-        : direction > 0 ? 3 : 2; // abs(p[1] - y1) < ε
-  }
-
-  function compare(a, b) {
-    return comparePoints(a.x, b.x);
-  }
-
-  function comparePoints(a, b) {
-    var ca = corner(a, 1),
-        cb = corner(b, 1);
-    return ca !== cb ? ca - cb
-        : ca === 0 ? b[1] - a[1]
-        : ca === 1 ? a[0] - b[0]
-        : ca === 2 ? a[1] - b[1]
-        : b[0] - a[0];
-  }
-}
-function d3_geo_compose(a, b) {
-
-  function compose(x, y) {
-    return x = a(x, y), b(x[0], x[1]);
-  }
-
-  if (a.invert && b.invert) compose.invert = function(x, y) {
-    return x = b.invert(x, y), x && a.invert(x[0], x[1]);
-  };
-
-  return compose;
-}
-
-function d3_geo_conic(projectAt) {
-  var φ0 = 0,
-      φ1 = π / 3,
-      m = d3_geo_projectionMutator(projectAt),
-      p = m(φ0, φ1);
-
-  p.parallels = function(_) {
-    if (!arguments.length) return [φ0 / π * 180, φ1 / π * 180];
-    return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180);
-  };
-
-  return p;
-}
-
-function d3_geo_conicEqualArea(φ0, φ1) {
-  var sinφ0 = Math.sin(φ0),
-      n = (sinφ0 + Math.sin(φ1)) / 2,
-      C = 1 + sinφ0 * (2 * n - sinφ0),
-      ρ0 = Math.sqrt(C) / n;
-
-  function forward(λ, φ) {
-    var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n;
-    return [
-      ρ * Math.sin(λ *= n),
-      ρ0 - ρ * Math.cos(λ)
-    ];
-  }
-
-  forward.invert = function(x, y) {
-    var ρ0_y = ρ0 - y;
-    return [
-      Math.atan2(x, ρ0_y) / n,
-      d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n))
-    ];
-  };
-
-  return forward;
-}
-
-(d3.geo.conicEqualArea = function() {
-  return d3_geo_conic(d3_geo_conicEqualArea);
-}).raw = d3_geo_conicEqualArea;
-
-// ESRI:102003
-d3.geo.albers = function() {
-  return d3.geo.conicEqualArea()
-      .rotate([96, 0])
-      .center([-.6, 38.7])
-      .parallels([29.5, 45.5])
-      .scale(1070);
-};
-
-// A composite projection for the United States, configured by default for
-// 960×500. Also works quite well at 960×600 with scale 1285. The set of
-// standard parallels for each region comes from USGS, which is published here:
-// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers
-d3.geo.albersUsa = function() {
-  var lower48 = d3.geo.albers();
-
-  // EPSG:3338
-  var alaska = d3.geo.conicEqualArea()
-      .rotate([154, 0])
-      .center([-2, 58.5])
-      .parallels([55, 65]);
-
-  // ESRI:102007
-  var hawaii = d3.geo.conicEqualArea()
-      .rotate([157, 0])
-      .center([-3, 19.9])
-      .parallels([8, 18]);
-
-  var point,
-      pointStream = {point: function(x, y) { point = [x, y]; }},
-      lower48Point,
-      alaskaPoint,
-      hawaiiPoint;
-
-  function albersUsa(coordinates) {
-    var x = coordinates[0], y = coordinates[1];
-    point = null;
-    (lower48Point(x, y), point)
-        || (alaskaPoint(x, y), point)
-        || hawaiiPoint(x, y);
-    return point;
-  }
-
-  albersUsa.invert = function(coordinates) {
-    var k = lower48.scale(),
-        t = lower48.translate(),
-        x = (coordinates[0] - t[0]) / k,
-        y = (coordinates[1] - t[1]) / k;
-    return (y >= .120 && y < .234 && x >= -.425 && x < -.214 ? alaska
-        : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii
-        : lower48).invert(coordinates);
-  };
-
-  // A naïve multi-projection stream.
-  // The projections must have mutually exclusive clip regions on the sphere,
-  // as this will avoid emitting interleaving lines and polygons.
-  albersUsa.stream = function(stream) {
-    var lower48Stream = lower48.stream(stream),
-        alaskaStream = alaska.stream(stream),
-        hawaiiStream = hawaii.stream(stream);
-    return {
-      point: function(x, y) {
-        lower48Stream.point(x, y);
-        alaskaStream.point(x, y);
-        hawaiiStream.point(x, y);
-      },
-      sphere: function() {
-        lower48Stream.sphere();
-        alaskaStream.sphere();
-        hawaiiStream.sphere();
-      },
-      lineStart: function() {
-        lower48Stream.lineStart();
-        alaskaStream.lineStart();
-        hawaiiStream.lineStart();
-      },
-      lineEnd: function() {
-        lower48Stream.lineEnd();
-        alaskaStream.lineEnd();
-        hawaiiStream.lineEnd();
-      },
-      polygonStart: function() {
-        lower48Stream.polygonStart();
-        alaskaStream.polygonStart();
-        hawaiiStream.polygonStart();
-      },
-      polygonEnd: function() {
-        lower48Stream.polygonEnd();
-        alaskaStream.polygonEnd();
-        hawaiiStream.polygonEnd();
-      }
-    };
-  };
-
-  albersUsa.precision = function(_) {
-    if (!arguments.length) return lower48.precision();
-    lower48.precision(_);
-    alaska.precision(_);
-    hawaii.precision(_);
-    return albersUsa;
-  };
-
-  albersUsa.scale = function(_) {
-    if (!arguments.length) return lower48.scale();
-    lower48.scale(_);
-    alaska.scale(_ * .35);
-    hawaii.scale(_);
-    return albersUsa.translate(lower48.translate());
-  };
-
-  albersUsa.translate = function(_) {
-    if (!arguments.length) return lower48.translate();
-    var k = lower48.scale(), x = +_[0], y = +_[1];
-
-    lower48Point = lower48
-        .translate(_)
-        .clipExtent([[x - .455 * k, y - .238 * k], [x + .455 * k, y + .238 * k]])
-        .stream(pointStream).point;
-
-    alaskaPoint = alaska
-        .translate([x - .307 * k, y + .201 * k])
-        .clipExtent([[x - .425 * k + ε, y + .120 * k + ε], [x - .214 * k - ε, y + .234 * k - ε]])
-        .stream(pointStream).point;
-
-    hawaiiPoint = hawaii
-        .translate([x - .205 * k, y + .212 * k])
-        .clipExtent([[x - .214 * k + ε, y + .166 * k + ε], [x - .115 * k - ε, y + .234 * k - ε]])
-        .stream(pointStream).point;
-
-    return albersUsa;
-  };
-
-  return albersUsa.scale(1070);
-};
-
-d3.geo.bounds = (function() {
-  var λ0, φ0, λ1, φ1, // bounds
-      λ_, // previous λ-coordinate
-      λ__, φ__, // first point
-      p0, // previous 3D point
-      dλSum,
-      ranges,
-      range;
-
-  var bound = {
-    point: point,
-    lineStart: lineStart,
-    lineEnd: lineEnd,
-
-    polygonStart: function() {
-      bound.point = ringPoint;
-      bound.lineStart = ringStart;
-      bound.lineEnd = ringEnd;
-      dλSum = 0;
-      d3_geo_area.polygonStart();
-    },
-    polygonEnd: function() {
-      d3_geo_area.polygonEnd();
-      bound.point = point;
-      bound.lineStart = lineStart;
-      bound.lineEnd = lineEnd;
-      if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90);
-      else if (dλSum > ε) φ1 = 90;
-      else if (dλSum < -ε) φ0 = -90;
-      range[0] = λ0, range[1] = λ1;
-    }
-  };
-
-  function point(λ, φ) {
-    ranges.push(range = [λ0 = λ, λ1 = λ]);
-    if (φ < φ0) φ0 = φ;
-    if (φ > φ1) φ1 = φ;
-  }
-
-  function linePoint(λ, φ) {
-    var p = d3_geo_cartesian([λ * d3_radians, φ * d3_radians]);
-    if (p0) {
-      var normal = d3_geo_cartesianCross(p0, p),
-          equatorial = [normal[1], -normal[0], 0],
-          inflection = d3_geo_cartesianCross(equatorial, normal);
-      d3_geo_cartesianNormalize(inflection);
-      inflection = d3_geo_spherical(inflection);
-      var dλ = λ - λ_,
-          s = dλ > 0 ? 1 : -1,
-          λi = inflection[0] * d3_degrees * s,
-          antimeridian = abs(dλ) > 180;
-      if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) {
-        var φi = inflection[1] * d3_degrees;
-        if (φi > φ1) φ1 = φi;
-      } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) {
-        var φi = -inflection[1] * d3_degrees;
-        if (φi < φ0) φ0 = φi;
-      } else {
-        if (φ < φ0) φ0 = φ;
-        if (φ > φ1) φ1 = φ;
-      }
-      if (antimeridian) {
-        if (λ < λ_) {
-          if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;
-        } else {
-          if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;
-        }
-      } else {
-        if (λ1 >= λ0) {
-          if (λ < λ0) λ0 = λ;
-          if (λ > λ1) λ1 = λ;
-        } else {
-          if (λ > λ_) {
-            if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;
-          } else {
-            if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;
-          }
-        }
-      }
-    } else {
-      point(λ, φ);
-    }
-    p0 = p, λ_ = λ;
-  }
-
-  function lineStart() { bound.point = linePoint; }
-  function lineEnd() {
-    range[0] = λ0, range[1] = λ1;
-    bound.point = point;
-    p0 = null;
-  }
-
-  function ringPoint(λ, φ) {
-    if (p0) {
-      var dλ = λ - λ_;
-      dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ;
-    } else λ__ = λ, φ__ = φ;
-    d3_geo_area.point(λ, φ);
-    linePoint(λ, φ);
-  }
-
-  function ringStart() {
-    d3_geo_area.lineStart();
-  }
-
-  function ringEnd() {
-    ringPoint(λ__, φ__);
-    d3_geo_area.lineEnd();
-    if (abs(dλSum) > ε) λ0 = -(λ1 = 180);
-    range[0] = λ0, range[1] = λ1;
-    p0 = null;
-  }
-
-  // Finds the left-right distance between two longitudes.
-  // This is almost the same as (λ1 - λ0 + 360°) % 360°, except that we want
-  // the distance between ±180° to be 360°.
-  function angle(λ0, λ1) { return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1; }
-
-  function compareRanges(a, b) { return a[0] - b[0]; }
-
-  function withinRange(x, range) {
-    return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;
-  }
-
-  return function(feature) {
-    φ1 = λ1 = -(λ0 = φ0 = Infinity);
-    ranges = [];
-
-    d3.geo.stream(feature, bound);
-
-    var n = ranges.length;
-    if (n) {
-      // First, sort ranges by their minimum longitudes.
-      ranges.sort(compareRanges);
-
-      // Then, merge any ranges that overlap.
-      for (var i = 1, a = ranges[0], b, merged = [a]; i < n; ++i) {
-        b = ranges[i];
-        if (withinRange(b[0], a) || withinRange(b[1], a)) {
-          if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];
-          if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];
-        } else {
-          merged.push(a = b);
-        }
-      }
-
-      // Finally, find the largest gap between the merged ranges.
-      // The final bounding box will be the inverse of this gap.
-      var best = -Infinity, dλ;
-      for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) {
-        b = merged[i];
-        if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1];
-      }
-    }
-    ranges = range = null;
-
-    return λ0 === Infinity || φ0 === Infinity
-        ? [[NaN, NaN], [NaN, NaN]]
-        : [[λ0, φ0], [λ1, φ1]];
-  };
-})();
-
-d3.geo.centroid = function(object) {
-  d3_geo_centroidW0 = d3_geo_centroidW1 =
-  d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 =
-  d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 =
-  d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;
-  d3.geo.stream(object, d3_geo_centroid);
-
-  var x = d3_geo_centroidX2,
-      y = d3_geo_centroidY2,
-      z = d3_geo_centroidZ2,
-      m = x * x + y * y + z * z;
-
-  // If the area-weighted centroid is undefined, fall back to length-weighted centroid.
-  if (m < ε2) {
-    x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1;
-    // If the feature has zero length, fall back to arithmetic mean of point vectors.
-    if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0;
-    m = x * x + y * y + z * z;
-    // If the feature still has an undefined centroid, then return.
-    if (m < ε2) return [NaN, NaN];
-  }
-
-  return [Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees];
-};
-
-var d3_geo_centroidW0,
-    d3_geo_centroidW1,
-    d3_geo_centroidX0,
-    d3_geo_centroidY0,
-    d3_geo_centroidZ0,
-    d3_geo_centroidX1,
-    d3_geo_centroidY1,
-    d3_geo_centroidZ1,
-    d3_geo_centroidX2,
-    d3_geo_centroidY2,
-    d3_geo_centroidZ2;
-
-var d3_geo_centroid = {
-  sphere: d3_noop,
-  point: d3_geo_centroidPoint,
-  lineStart: d3_geo_centroidLineStart,
-  lineEnd: d3_geo_centroidLineEnd,
-  polygonStart: function() {
-    d3_geo_centroid.lineStart = d3_geo_centroidRingStart;
-  },
-  polygonEnd: function() {
-    d3_geo_centroid.lineStart = d3_geo_centroidLineStart;
-  }
-};
-
-// Arithmetic mean of Cartesian vectors.
-function d3_geo_centroidPoint(λ, φ) {
-  λ *= d3_radians;
-  var cosφ = Math.cos(φ *= d3_radians);
-  d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ));
-}
-
-function d3_geo_centroidPointXYZ(x, y, z) {
-  ++d3_geo_centroidW0;
-  d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0;
-  d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0;
-  d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0;
-}
-
-function d3_geo_centroidLineStart() {
-  var x0, y0, z0; // previous point
-
-  d3_geo_centroid.point = function(λ, φ) {
-    λ *= d3_radians;
-    var cosφ = Math.cos(φ *= d3_radians);
-    x0 = cosφ * Math.cos(λ);
-    y0 = cosφ * Math.sin(λ);
-    z0 = Math.sin(φ);
-    d3_geo_centroid.point = nextPoint;
-    d3_geo_centroidPointXYZ(x0, y0, z0);
-  };
-
-  function nextPoint(λ, φ) {
-    λ *= d3_radians;
-    var cosφ = Math.cos(φ *= d3_radians),
-        x = cosφ * Math.cos(λ),
-        y = cosφ * Math.sin(λ),
-        z = Math.sin(φ),
-        w = Math.atan2(
-          Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w),
-          x0 * x + y0 * y + z0 * z);
-    d3_geo_centroidW1 += w;
-    d3_geo_centroidX1 += w * (x0 + (x0 = x));
-    d3_geo_centroidY1 += w * (y0 + (y0 = y));
-    d3_geo_centroidZ1 += w * (z0 + (z0 = z));
-    d3_geo_centroidPointXYZ(x0, y0, z0);
-  }
-}
-
-function d3_geo_centroidLineEnd() {
-  d3_geo_centroid.point = d3_geo_centroidPoint;
-}
-
-// See J. E. Brock, The Inertia Tensor for a Spherical Triangle,
-// J. Applied Mechanics 42, 239 (1975).
-function d3_geo_centroidRingStart() {
-  var λ00, φ00, // first point
-      x0, y0, z0; // previous point
-
-  d3_geo_centroid.point = function(λ, φ) {
-    λ00 = λ, φ00 = φ;
-    d3_geo_centroid.point = nextPoint;
-    λ *= d3_radians;
-    var cosφ = Math.cos(φ *= d3_radians);
-    x0 = cosφ * Math.cos(λ);
-    y0 = cosφ * Math.sin(λ);
-    z0 = Math.sin(φ);
-    d3_geo_centroidPointXYZ(x0, y0, z0);
-  };
-
-  d3_geo_centroid.lineEnd = function() {
-    nextPoint(λ00, φ00);
-    d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd;
-    d3_geo_centroid.point = d3_geo_centroidPoint;
-  };
-
-  function nextPoint(λ, φ) {
-    λ *= d3_radians;
-    var cosφ = Math.cos(φ *= d3_radians),
-        x = cosφ * Math.cos(λ),
-        y = cosφ * Math.sin(λ),
-        z = Math.sin(φ),
-        cx = y0 * z - z0 * y,
-        cy = z0 * x - x0 * z,
-        cz = x0 * y - y0 * x,
-        m = Math.sqrt(cx * cx + cy * cy + cz * cz),
-        u = x0 * x + y0 * y + z0 * z,
-        v = m && -d3_acos(u) / m, // area weight
-        w = Math.atan2(m, u); // line weight
-    d3_geo_centroidX2 += v * cx;
-    d3_geo_centroidY2 += v * cy;
-    d3_geo_centroidZ2 += v * cz;
-    d3_geo_centroidW1 += w;
-    d3_geo_centroidX1 += w * (x0 + (x0 = x));
-    d3_geo_centroidY1 += w * (y0 + (y0 = y));
-    d3_geo_centroidZ1 += w * (z0 + (z0 = z));
-    d3_geo_centroidPointXYZ(x0, y0, z0);
-  }
-}
-
-// TODO Unify this code with d3.geom.polygon area?
-
-var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {
-  point: d3_noop,
-  lineStart: d3_noop,
-  lineEnd: d3_noop,
-
-  // Only count area for polygon rings.
-  polygonStart: function() {
-    d3_geo_pathAreaPolygon = 0;
-    d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart;
-  },
-  polygonEnd: function() {
-    d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;
-    d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2);
-  }
-};
-
-function d3_geo_pathAreaRingStart() {
-  var x00, y00, x0, y0;
-
-  // For the first point, …
-  d3_geo_pathArea.point = function(x, y) {
-    d3_geo_pathArea.point = nextPoint;
-    x00 = x0 = x, y00 = y0 = y;
-  };
-
-  // For subsequent points, …
-  function nextPoint(x, y) {
-    d3_geo_pathAreaPolygon += y0 * x - x0 * y;
-    x0 = x, y0 = y;
-  }
-
-  // For the last point, return to the start.
-  d3_geo_pathArea.lineEnd = function() {
-    nextPoint(x00, y00);
-  };
-}
-
-var d3_geo_pathBoundsX0,
-    d3_geo_pathBoundsY0,
-    d3_geo_pathBoundsX1,
-    d3_geo_pathBoundsY1;
-
-var d3_geo_pathBounds = {
-  point: d3_geo_pathBoundsPoint,
-  lineStart: d3_noop,
-  lineEnd: d3_noop,
-  polygonStart: d3_noop,
-  polygonEnd: d3_noop
-};
-
-function d3_geo_pathBoundsPoint(x, y) {
-  if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x;
-  if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x;
-  if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y;
-  if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y;
-}
-function d3_geo_pathBuffer() {
-  var pointCircle = d3_geo_pathBufferCircle(4.5),
-      buffer = [];
-
-  var stream = {
-    point: point,
-
-    // While inside a line, override point to moveTo then lineTo.
-    lineStart: function() { stream.point = pointLineStart; },
-    lineEnd: lineEnd,
-
-    // While inside a polygon, override lineEnd to closePath.
-    polygonStart: function() { stream.lineEnd = lineEndPolygon; },
-    polygonEnd: function() { stream.lineEnd = lineEnd; stream.point = point; },
-
-    pointRadius: function(_) {
-      pointCircle = d3_geo_pathBufferCircle(_);
-      return stream;
-    },
-
-    result: function() {
-      if (buffer.length) {
-        var result = buffer.join("");
-        buffer = [];
-        return result;
-      }
-    }
-  };
-
-  function point(x, y) {
-    buffer.push("M", x, ",", y, pointCircle);
-  }
-
-  function pointLineStart(x, y) {
-    buffer.push("M", x, ",", y);
-    stream.point = pointLine;
-  }
-
-  function pointLine(x, y) {
-    buffer.push("L", x, ",", y);
-  }
-
-  function lineEnd() {
-    stream.point = point;
-  }
-
-  function lineEndPolygon() {
-    buffer.push("Z");
-  }
-
-  return stream;
-}
-
-function d3_geo_pathBufferCircle(radius) {
-  return "m0," + radius
-      + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius
-      + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius
-      + "z";
-}
-
-// TODO Unify this code with d3.geom.polygon centroid?
-// TODO Enforce positive area for exterior, negative area for interior?
-
-var d3_geo_pathCentroid = {
-  point: d3_geo_pathCentroidPoint,
-
-  // For lines, weight by length.
-  lineStart: d3_geo_pathCentroidLineStart,
-  lineEnd: d3_geo_pathCentroidLineEnd,
-
-  // For polygons, weight by area.
-  polygonStart: function() {
-    d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart;
-  },
-  polygonEnd: function() {
-    d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;
-    d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart;
-    d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd;
-  }
-};
-
-function d3_geo_pathCentroidPoint(x, y) {
-  d3_geo_centroidX0 += x;
-  d3_geo_centroidY0 += y;
-  ++d3_geo_centroidZ0;
-}
-
-function d3_geo_pathCentroidLineStart() {
-  var x0, y0;
-
-  d3_geo_pathCentroid.point = function(x, y) {
-    d3_geo_pathCentroid.point = nextPoint;
-    d3_geo_pathCentroidPoint(x0 = x, y0 = y);
-  };
-
-  function nextPoint(x, y) {
-    var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);
-    d3_geo_centroidX1 += z * (x0 + x) / 2;
-    d3_geo_centroidY1 += z * (y0 + y) / 2;
-    d3_geo_centroidZ1 += z;
-    d3_geo_pathCentroidPoint(x0 = x, y0 = y);
-  }
-}
-
-function d3_geo_pathCentroidLineEnd() {
-  d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;
-}
-
-function d3_geo_pathCentroidRingStart() {
-  var x00, y00, x0, y0;
-
-  // For the first point, …
-  d3_geo_pathCentroid.point = function(x, y) {
-    d3_geo_pathCentroid.point = nextPoint;
-    d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y);
-  };
-
-  // For subsequent points, …
-  function nextPoint(x, y) {
-    var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);
-    d3_geo_centroidX1 += z * (x0 + x) / 2;
-    d3_geo_centroidY1 += z * (y0 + y) / 2;
-    d3_geo_centroidZ1 += z;
-
-    z = y0 * x - x0 * y;
-    d3_geo_centroidX2 += z * (x0 + x);
-    d3_geo_centroidY2 += z * (y0 + y);
-    d3_geo_centroidZ2 += z * 3;
-    d3_geo_pathCentroidPoint(x0 = x, y0 = y);
-  }
-
-  // For the last point, return to the start.
-  d3_geo_pathCentroid.lineEnd = function() {
-    nextPoint(x00, y00);
-  };
-}
-
-function d3_geo_pathContext(context) {
-  var pointRadius = 4.5;
-
-  var stream = {
-    point: point,
-
-    // While inside a line, override point to moveTo then lineTo.
-    lineStart: function() { stream.point = pointLineStart; },
-    lineEnd: lineEnd,
-
-    // While inside a polygon, override lineEnd to closePath.
-    polygonStart: function() { stream.lineEnd = lineEndPolygon; },
-    polygonEnd: function() { stream.lineEnd = lineEnd; stream.point = point; },
-
-    pointRadius: function(_) {
-      pointRadius = _;
-      return stream;
-    },
-
-    result: d3_noop
-  };
-
-  function point(x, y) {
-    context.moveTo(x, y);
-    context.arc(x, y, pointRadius, 0, τ);
-  }
-
-  function pointLineStart(x, y) {
-    context.moveTo(x, y);
-    stream.point = pointLine;
-  }
-
-  function pointLine(x, y) {
-    context.lineTo(x, y);
-  }
-
-  function lineEnd() {
-    stream.point = point;
-  }
-
-  function lineEndPolygon() {
-    context.closePath();
-  }
-
-  return stream;
-}
-
-function d3_geo_resample(project) {
-  var δ2 = .5, // precision, px²
-      cosMinDistance = Math.cos(30 * d3_radians), // cos(minimum angular distance)
-      maxDepth = 16;
-
-  function resample(stream) {
-    return (maxDepth ? resampleRecursive : resampleNone)(stream);
-  }
-
-  function resampleNone(stream) {
-    return d3_geo_transformPoint(stream, function(x, y) {
-      x = project(x, y);
-      stream.point(x[0], x[1]);
-    });
-  }
-
-  function resampleRecursive(stream) {
-    var λ00, φ00, x00, y00, a00, b00, c00, // first point
-        λ0, x0, y0, a0, b0, c0; // previous point
-
-    var resample = {
-      point: point,
-      lineStart: lineStart,
-      lineEnd: lineEnd,
-      polygonStart: function() { stream.polygonStart(); resample.lineStart = ringStart; },
-      polygonEnd: function() { stream.polygonEnd(); resample.lineStart = lineStart; }
-    };
-
-    function point(x, y) {
-      x = project(x, y);
-      stream.point(x[0], x[1]);
-    }
-
-    function lineStart() {
-      x0 = NaN;
-      resample.point = linePoint;
-      stream.lineStart();
-    }
-
-    function linePoint(λ, φ) {
-      var c = d3_geo_cartesian([λ, φ]), p = project(λ, φ);
-      resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);
-      stream.point(x0, y0);
-    }
-
-    function lineEnd() {
-      resample.point = point;
-      stream.lineEnd();
-    }
-
-    function ringStart() {
-      lineStart();
-      resample.point = ringPoint;
-      resample.lineEnd = ringEnd;
-    }
-
-    function ringPoint(λ, φ) {
-      linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;
-      resample.point = linePoint;
-    }
-
-    function ringEnd() {
-      resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream);
-      resample.lineEnd = lineEnd;
-      lineEnd();
-    }
-
-    return resample;
-  }
-
-  function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) {
-    var dx = x1 - x0,
-        dy = y1 - y0,
-        d2 = dx * dx + dy * dy;
-    if (d2 > 4 * δ2 && depth--) {
-      var a = a0 + a1,
-          b = b0 + b1,
-          c = c0 + c1,
-          m = Math.sqrt(a * a + b * b + c * c),
-          φ2 = Math.asin(c /= m),
-          λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a),
-          p = project(λ2, φ2),
-          x2 = p[0],
-          y2 = p[1],
-          dx2 = x2 - x0,
-          dy2 = y2 - y0,
-          dz = dy * dx2 - dx * dy2;
-      if (dz * dz / d2 > δ2 // perpendicular projected distance
-          || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 // midpoint close to an end
-          || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance
-        resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream);
-        stream.point(x2, y2);
-        resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream);
-      }
-    }
-  }
-
-  resample.precision = function(_) {
-    if (!arguments.length) return Math.sqrt(δ2);
-    maxDepth = (δ2 = _ * _) > 0 && 16;
-    return resample;
-  };
-
-  return resample;
-}
-
-d3.geo.path = function() {
-  var pointRadius = 4.5,
-      projection,
-      context,
-      projectStream,
-      contextStream,
-      cacheStream;
-
-  function path(object) {
-    if (object) {
-      if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments));
-      if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream);
-      d3.geo.stream(object, cacheStream);
-    }
-    return contextStream.result();
-  }
-
-  path.area = function(object) {
-    d3_geo_pathAreaSum = 0;
-    d3.geo.stream(object, projectStream(d3_geo_pathArea));
-    return d3_geo_pathAreaSum;
-  };
-
-  path.centroid = function(object) {
-    d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 =
-    d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 =
-    d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;
-    d3.geo.stream(object, projectStream(d3_geo_pathCentroid));
-    return d3_geo_centroidZ2 ? [d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2]
-        : d3_geo_centroidZ1 ? [d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1]
-        : d3_geo_centroidZ0 ? [d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0]
-        : [NaN, NaN];
-  };
-
-  path.bounds = function(object) {
-    d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity);
-    d3.geo.stream(object, projectStream(d3_geo_pathBounds));
-    return [[d3_geo_pathBoundsX0, d3_geo_pathBoundsY0], [d3_geo_pathBoundsX1, d3_geo_pathBoundsY1]];
-  };
-
-  path.projection = function(_) {
-    if (!arguments.length) return projection;
-    projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity;
-    return reset();
-  };
-
-  path.context = function(_) {
-    if (!arguments.length) return context;
-    contextStream = (context = _) == null ? new d3_geo_pathBuffer : new d3_geo_pathContext(_);
-    if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius);
-    return reset();
-  };
-
-  path.pointRadius = function(_) {
-    if (!arguments.length) return pointRadius;
-    pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_);
-    return path;
-  };
-
-  function reset() {
-    cacheStream = null;
-    return path;
-  }
-
-  return path.projection(d3.geo.albersUsa()).context(null);
-};
-
-function d3_geo_pathProjectStream(project) {
-  var resample = d3_geo_resample(function(x, y) { return project([x * d3_degrees, y * d3_degrees]); });
-  return function(stream) { return d3_geo_projectionRadians(resample(stream)); };
-}
-
-d3.geo.transform = function(methods) {
-  return {
-    stream: function(stream) {
-      var transform = new d3_geo_transform(stream);
-      for (var k in methods) transform[k] = methods[k];
-      return transform;
-    }
-  };
-};
-
-function d3_geo_transform(stream) {
-  this.stream = stream;
-}
-
-d3_geo_transform.prototype = {
-  point: function(x, y) { this.stream.point(x, y); },
-  sphere: function() { this.stream.sphere(); },
-  lineStart: function() { this.stream.lineStart(); },
-  lineEnd: function() { this.stream.lineEnd(); },
-  polygonStart: function() { this.stream.polygonStart(); },
-  polygonEnd: function() { this.stream.polygonEnd(); }
-};
-
-function d3_geo_transformPoint(stream, point) {
-  return {
-    point: point,
-    sphere: function() { stream.sphere(); },
-    lineStart: function() { stream.lineStart(); },
-    lineEnd: function() { stream.lineEnd(); },
-    polygonStart: function() { stream.polygonStart(); },
-    polygonEnd: function() { stream.polygonEnd(); },
-  };
-}
-
-d3.geo.projection = d3_geo_projection;
-d3.geo.projectionMutator = d3_geo_projectionMutator;
-
-function d3_geo_projection(project) {
-  return d3_geo_projectionMutator(function() { return project; })();
-}
-
-function d3_geo_projectionMutator(projectAt) {
-  var project,
-      rotate,
-      projectRotate,
-      projectResample = d3_geo_resample(function(x, y) { x = project(x, y); return [x[0] * k + δx, δy - x[1] * k]; }),
-      k = 150, // scale
-      x = 480, y = 250, // translate
-      λ = 0, φ = 0, // center
-      δλ = 0, δφ = 0, δγ = 0, // rotate
-      δx, δy, // center
-      preclip = d3_geo_clipAntimeridian,
-      postclip = d3_identity,
-      clipAngle = null,
-      clipExtent = null,
-      stream;
-
-  function projection(point) {
-    point = projectRotate(point[0] * d3_radians, point[1] * d3_radians);
-    return [point[0] * k + δx, δy - point[1] * k];
-  }
-
-  function invert(point) {
-    point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k);
-    return point && [point[0] * d3_degrees, point[1] * d3_degrees];
-  }
-
-  projection.stream = function(output) {
-    if (stream) stream.valid = false;
-    stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output))));
-    stream.valid = true; // allow caching by d3.geo.path
-    return stream;
-  };
-
-  projection.clipAngle = function(_) {
-    if (!arguments.length) return clipAngle;
-    preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians);
-    return invalidate();
-  };
-
-  projection.clipExtent = function(_) {
-    if (!arguments.length) return clipExtent;
-    clipExtent = _;
-    postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity;
-    return invalidate();
-  };
-
-  projection.scale = function(_) {
-    if (!arguments.length) return k;
-    k = +_;
-    return reset();
-  };
-
-  projection.translate = function(_) {
-    if (!arguments.length) return [x, y];
-    x = +_[0];
-    y = +_[1];
-    return reset();
-  };
-
-  projection.center = function(_) {
-    if (!arguments.length) return [λ * d3_degrees, φ * d3_degrees];
-    λ = _[0] % 360 * d3_radians;
-    φ = _[1] % 360 * d3_radians;
-    return reset();
-  };
-
-  projection.rotate = function(_) {
-    if (!arguments.length) return [δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees];
-    δλ = _[0] % 360 * d3_radians;
-    δφ = _[1] % 360 * d3_radians;
-    δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0;
-    return reset();
-  };
-
-  d3.rebind(projection, projectResample, "precision");
-
-  function reset() {
-    projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project);
-    var center = project(λ, φ);
-    δx = x - center[0] * k;
-    δy = y + center[1] * k;
-    return invalidate();
-  }
-
-  function invalidate() {
-    if (stream) stream.valid = false, stream = null;
-    return projection;
-  }
-
-  return function() {
-    project = projectAt.apply(this, arguments);
-    projection.invert = project.invert && invert;
-    return reset();
-  };
-}
-
-function d3_geo_projectionRadians(stream) {
-  return d3_geo_transformPoint(stream, function(x, y) {
-    stream.point(x * d3_radians, y * d3_radians);
-  });
-}
-
-function d3_geo_mercator(λ, φ) {
-  return [λ, Math.log(Math.tan(π / 4 + φ / 2))];
-}
-
-d3_geo_mercator.invert = function(x, y) {
-  return [x, 2 * Math.atan(Math.exp(y)) - halfπ];
-};
-
-function d3_geo_mercatorProjection(project) {
-  var m = d3_geo_projection(project),
-      scale = m.scale,
-      translate = m.translate,
-      clipExtent = m.clipExtent,
-      clipAuto;
-
-  m.scale = function() {
-    var v = scale.apply(m, arguments);
-    return v === m ? (clipAuto ? m.clipExtent(null) : m) : v;
-  };
-
-  m.translate = function() {
-    var v = translate.apply(m, arguments);
-    return v === m ? (clipAuto ? m.clipExtent(null) : m) : v;
-  };
-
-  m.clipExtent = function(_) {
-    var v = clipExtent.apply(m, arguments);
-    if (v === m) {
-      if (clipAuto = _ == null) {
-        var k = π * scale(), t = translate();
-        clipExtent([[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]]);
-      }
-    } else if (clipAuto) {
-      v = null;
-    }
-    return v;
-  };
-
-  return m.clipExtent(null);
-}
-
-(d3.geo.mercator = function() {
-  return d3_geo_mercatorProjection(d3_geo_mercator);
-}).raw = d3_geo_mercator;
-d3.geom = {};
-
-d3.geom.polygon = function(coordinates) {
-  d3_subclass(coordinates, d3_geom_polygonPrototype);
-  return coordinates;
-};
-
-var d3_geom_polygonPrototype = d3.geom.polygon.prototype = [];
-
-d3_geom_polygonPrototype.area = function() {
-  var i = -1,
-      n = this.length,
-      a,
-      b = this[n - 1],
-      area = 0;
-
-  while (++i < n) {
-    a = b;
-    b = this[i];
-    area += a[1] * b[0] - a[0] * b[1];
-  }
-
-  return area * .5;
-};
-
-d3_geom_polygonPrototype.centroid = function(k) {
-  var i = -1,
-      n = this.length,
-      x = 0,
-      y = 0,
-      a,
-      b = this[n - 1],
-      c;
-
-  if (!arguments.length) k = -1 / (6 * this.area());
-
-  while (++i < n) {
-    a = b;
-    b = this[i];
-    c = a[0] * b[1] - b[0] * a[1];
-    x += (a[0] + b[0]) * c;
-    y += (a[1] + b[1]) * c;
-  }
-
-  return [x * k, y * k];
-};
-
-// The Sutherland-Hodgman clipping algorithm.
-// Note: requires the clip polygon to be counterclockwise and convex.
-d3_geom_polygonPrototype.clip = function(subject) {
-  var input,
-      closed = d3_geom_polygonClosed(subject),
-      i = -1,
-      n = this.length - d3_geom_polygonClosed(this),
-      j,
-      m,
-      a = this[n - 1],
-      b,
-      c,
-      d;
-
-  while (++i < n) {
-    input = subject.slice();
-    subject.length = 0;
-    b = this[i];
-    c = input[(m = input.length - closed) - 1];
-    j = -1;
-    while (++j < m) {
-      d = input[j];
-      if (d3_geom_polygonInside(d, a, b)) {
-        if (!d3_geom_polygonInside(c, a, b)) {
-          subject.push(d3_geom_polygonIntersect(c, d, a, b));
-        }
-        subject.push(d);
-      } else if (d3_geom_polygonInside(c, a, b)) {
-        subject.push(d3_geom_polygonIntersect(c, d, a, b));
-      }
-      c = d;
-    }
-    if (closed) subject.push(subject[0]);
-    a = b;
-  }
-
-  return subject;
-};
-
-function d3_geom_polygonInside(p, a, b) {
-  return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]);
-}
-
-// Intersect two infinite lines cd and ab.
-function d3_geom_polygonIntersect(c, d, a, b) {
-  var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3,
-      y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3,
-      ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21);
-  return [x1 + ua * x21, y1 + ua * y21];
-}
-
-// Returns true if the polygon is closed.
-function d3_geom_polygonClosed(coordinates) {
-  var a = coordinates[0],
-      b = coordinates[coordinates.length - 1];
-  return !(a[0] - b[0] || a[1] - b[1]);
-}
-function d3_geom_pointX(d) {
-  return d[0];
-}
-
-function d3_geom_pointY(d) {
-  return d[1];
-}
-
-/**
- * Computes the 2D convex hull of a set of points using Graham's scanning
- * algorithm. The algorithm has been implemented as described in Cormen,
- * Leiserson, and Rivest's Introduction to Algorithms. The running time of
- * this algorithm is O(n log n), where n is the number of input points.
- *
- * @param vertices [[x1, y1], [x2, y2], …]
- * @returns polygon [[x1, y1], [x2, y2], …]
- */
-d3.geom.hull = function(vertices) {
-  var x = d3_geom_pointX,
-      y = d3_geom_pointY;
-
-  if (arguments.length) return hull(vertices);
-
-  function hull(data) {
-    if (data.length < 3) return [];
-
-    var fx = d3_functor(x),
-        fy = d3_functor(y),
-        n = data.length,
-        vertices, // TODO use parallel arrays
-        plen = n - 1,
-        points = [],
-        stack = [],
-        d,
-        i, j, h = 0, x1, y1, x2, y2, u, v, a, sp;
-
-    if (fx === d3_geom_pointX && y === d3_geom_pointY) vertices = data;
-    else for (i = 0, vertices = []; i < n; ++i) {
-      vertices.push([+fx.call(this, d = data[i], i), +fy.call(this, d, i)]);
-    }
-
-    // find the starting ref point: leftmost point with the minimum y coord
-    for (i = 1; i < n; ++i) {
-      if (vertices[i][1] < vertices[h][1]
-          || vertices[i][1] == vertices[h][1]
-          && vertices[i][0] < vertices[h][0]) h = i;
-    }
-
-    // calculate polar angles from ref point and sort
-    for (i = 0; i < n; ++i) {
-      if (i === h) continue;
-      y1 = vertices[i][1] - vertices[h][1];
-      x1 = vertices[i][0] - vertices[h][0];
-      points.push({angle: Math.atan2(y1, x1), index: i});
-    }
-    points.sort(function(a, b) { return a.angle - b.angle; });
-
-    // toss out duplicate angles
-    a = points[0].angle;
-    v = points[0].index;
-    u = 0;
-    for (i = 1; i < plen; ++i) {
-      j = points[i].index;
-      if (a == points[i].angle) {
-        // keep angle for point most distant from the reference
-        x1 = vertices[v][0] - vertices[h][0];
-        y1 = vertices[v][1] - vertices[h][1];
-        x2 = vertices[j][0] - vertices[h][0];
-        y2 = vertices[j][1] - vertices[h][1];
-        if (x1 * x1 + y1 * y1 >= x2 * x2 + y2 * y2) {
-          points[i].index = -1;
-          continue;
-        } else {
-          points[u].index = -1;
-        }
-      }
-      a = points[i].angle;
-      u = i;
-      v = j;
-    }
-
-    // initialize the stack
-    stack.push(h);
-    for (i = 0, j = 0; i < 2; ++j) {
-      if (points[j].index > -1) {
-        stack.push(points[j].index);
-        i++;
-      }
-    }
-    sp = stack.length;
-
-    // do graham's scan
-    for (; j < plen; ++j) {
-      if (points[j].index < 0) continue; // skip tossed out points
-      while (!d3_geom_hullCCW(stack[sp - 2], stack[sp - 1], points[j].index, vertices)) {
-        --sp;
-      }
-      stack[sp++] = points[j].index;
-    }
-
-    // construct the hull
-    var poly = [];
-    for (i = sp - 1; i >= 0; --i) poly.push(data[stack[i]]);
-    return poly;
-  }
-
-  hull.x = function(_) {
-    return arguments.length ? (x = _, hull) : x;
-  };
-
-  hull.y = function(_) {
-    return arguments.length ? (y = _, hull) : y;
-  };
-
-  return hull;
-};
-
-// are three points in counter-clockwise order?
-function d3_geom_hullCCW(i1, i2, i3, v) {
-  var t, a, b, c, d, e, f;
-  t = v[i1]; a = t[0]; b = t[1];
-  t = v[i2]; c = t[0]; d = t[1];
-  t = v[i3]; e = t[0]; f = t[1];
-  return (f - b) * (c - a) - (d - b) * (e - a) > 0;
-}
-
-var d3_ease_default = function() { return d3_identity; };
-
-var d3_ease = d3.map({
-  linear: d3_ease_default,
-  poly: d3_ease_poly,
-  quad: function() { return d3_ease_quad; },
-  cubic: function() { return d3_ease_cubic; },
-  sin: function() { return d3_ease_sin; },
-  exp: function() { return d3_ease_exp; },
-  circle: function() { return d3_ease_circle; },
-  elastic: d3_ease_elastic,
-  back: d3_ease_back,
-  bounce: function() { return d3_ease_bounce; }
-});
-
-var d3_ease_mode = d3.map({
-  "in": d3_identity,
-  "out": d3_ease_reverse,
-  "in-out": d3_ease_reflect,
-  "out-in": function(f) { return d3_ease_reflect(d3_ease_reverse(f)); }
-});
-
-d3.ease = function(name) {
-  var i = name.indexOf("-"),
-      t = i >= 0 ? name.substring(0, i) : name,
-      m = i >= 0 ? name.substring(i + 1) : "in";
-  t = d3_ease.get(t) || d3_ease_default;
-  m = d3_ease_mode.get(m) || d3_identity;
-  return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1))));
-};
-
-function d3_ease_clamp(f) {
-  return function(t) {
-    return t <= 0 ? 0 : t >= 1 ? 1 : f(t);
-  };
-}
-
-function d3_ease_reverse(f) {
-  return function(t) {
-    return 1 - f(1 - t);
-  };
-}
-
-function d3_ease_reflect(f) {
-  return function(t) {
-    return .5 * (t < .5 ? f(2 * t) : (2 - f(2 - 2 * t)));
-  };
-}
-
-function d3_ease_quad(t) {
-  return t * t;
-}
-
-function d3_ease_cubic(t) {
-  return t * t * t;
-}
-
-// Optimized clamp(reflect(poly(3))).
-function d3_ease_cubicInOut(t) {
-  if (t <= 0) return 0;
-  if (t >= 1) return 1;
-  var t2 = t * t, t3 = t2 * t;
-  return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75);
-}
-
-function d3_ease_poly(e) {
-  return function(t) {
-    return Math.pow(t, e);
-  };
-}
-
-function d3_ease_sin(t) {
-  return 1 - Math.cos(t * halfπ);
-}
-
-function d3_ease_exp(t) {
-  return Math.pow(2, 10 * (t - 1));
-}
-
-function d3_ease_circle(t) {
-  return 1 - Math.sqrt(1 - t * t);
-}
-
-function d3_ease_elastic(a, p) {
-  var s;
-  if (arguments.length < 2) p = 0.45;
-  if (arguments.length) s = p / τ * Math.asin(1 / a);
-  else a = 1, s = p / 4;
-  return function(t) {
-    return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p);
-  };
-}
-
-function d3_ease_back(s) {
-  if (!s) s = 1.70158;
-  return function(t) {
-    return t * t * ((s + 1) * t - s);
-  };
-}
-
-function d3_ease_bounce(t) {
-  return t < 1 / 2.75 ? 7.5625 * t * t
-      : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75
-      : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375
-      : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;
-}
-
-function d3_transition(groups, id) {
-  d3_subclass(groups, d3_transitionPrototype);
-
-  groups.id = id; // Note: read-only!
-
-  return groups;
-}
-
-var d3_transitionPrototype = [],
-    d3_transitionId = 0,
-    d3_transitionInheritId,
-    d3_transitionInherit;
-
-d3_transitionPrototype.call = d3_selectionPrototype.call;
-d3_transitionPrototype.empty = d3_selectionPrototype.empty;
-d3_transitionPrototype.node = d3_selectionPrototype.node;
-d3_transitionPrototype.size = d3_selectionPrototype.size;
-
-d3.transition = function(selection) {
-  return arguments.length
-      ? (d3_transitionInheritId ? selection.transition() : selection)
-      : d3_selectionRoot.transition();
-};
-
-d3.transition.prototype = d3_transitionPrototype;
-
-
-d3_transitionPrototype.select = function(selector) {
-  var id = this.id,
-      subgroups = [],
-      subgroup,
-      subnode,
-      node;
-
-  selector = d3_selection_selector(selector);
-
-  for (var j = -1, m = this.length; ++j < m;) {
-    subgroups.push(subgroup = []);
-    for (var group = this[j], i = -1, n = group.length; ++i < n;) {
-      if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) {
-        if ("__data__" in node) subnode.__data__ = node.__data__;
-        d3_transitionNode(subnode, i, id, node.__transition__[id]);
-        subgroup.push(subnode);
-      } else {
-        subgroup.push(null);
-      }
-    }
-  }
-
-  return d3_transition(subgroups, id);
-};
-
-d3_transitionPrototype.selectAll = function(selector) {
-  var id = this.id,
-      subgroups = [],
-      subgroup,
-      subnodes,
-      node,
-      subnode,
-      transition;
-
-  selector = d3_selection_selectorAll(selector);
-
-  for (var j = -1, m = this.length; ++j < m;) {
-    for (var group = this[j], i = -1, n = group.length; ++i < n;) {
-      if (node = group[i]) {
-        transition = node.__transition__[id];
-        subnodes = selector.call(node, node.__data__, i, j);
-        subgroups.push(subgroup = []);
-        for (var k = -1, o = subnodes.length; ++k < o;) {
-          if (subnode = subnodes[k]) d3_transitionNode(subnode, k, id, transition);
-          subgroup.push(subnode);
-        }
-      }
-    }
-  }
-
-  return d3_transition(subgroups, id);
-};
-
-d3_transitionPrototype.filter = function(filter) {
-  var subgroups = [],
-      subgroup,
-      group,
-      node;
-
-  if (typeof filter !== "function") filter = d3_selection_filter(filter);
-
-  for (var j = 0, m = this.length; j < m; j++) {
-    subgroups.push(subgroup = []);
-    for (var group = this[j], i = 0, n = group.length; i < n; i++) {
-      if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {
-        subgroup.push(node);
-      }
-    }
-  }
-
-  return d3_transition(subgroups, this.id);
-};
-function d3_Color() {}
-
-d3_Color.prototype.toString = function() {
-  return this.rgb() + "";
-};
-
-d3.hsl = function(h, s, l) {
-  return arguments.length === 1
-      ? (h instanceof d3_Hsl ? d3_hsl(h.h, h.s, h.l)
-      : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl))
-      : d3_hsl(+h, +s, +l);
-};
-
-function d3_hsl(h, s, l) {
-  return new d3_Hsl(h, s, l);
-}
-
-function d3_Hsl(h, s, l) {
-  this.h = h;
-  this.s = s;
-  this.l = l;
-}
-
-var d3_hslPrototype = d3_Hsl.prototype = new d3_Color;
-
-d3_hslPrototype.brighter = function(k) {
-  k = Math.pow(0.7, arguments.length ? k : 1);
-  return d3_hsl(this.h, this.s, this.l / k);
-};
-
-d3_hslPrototype.darker = function(k) {
-  k = Math.pow(0.7, arguments.length ? k : 1);
-  return d3_hsl(this.h, this.s, k * this.l);
-};
-
-d3_hslPrototype.rgb = function() {
-  return d3_hsl_rgb(this.h, this.s, this.l);
-};
-
-function d3_hsl_rgb(h, s, l) {
-  var m1,
-      m2;
-
-  /* Some simple corrections for h, s and l. */
-  h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h;
-  s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s;
-  l = l < 0 ? 0 : l > 1 ? 1 : l;
-
-  /* From FvD 13.37, CSS Color Module Level 3 */
-  m2 = l <= .5 ? l * (1 + s) : l + s - l * s;
-  m1 = 2 * l - m2;
-
-  function v(h) {
-    if (h > 360) h -= 360;
-    else if (h < 0) h += 360;
-    if (h < 60) return m1 + (m2 - m1) * h / 60;
-    if (h < 180) return m2;
-    if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;
-    return m1;
-  }
-
-  function vv(h) {
-    return Math.round(v(h) * 255);
-  }
-
-  return d3_rgb(vv(h + 120), vv(h), vv(h - 120));
-}
-
-d3.hcl = function(h, c, l) {
-  return arguments.length === 1
-      ? (h instanceof d3_Hcl ? d3_hcl(h.h, h.c, h.l)
-      : (h instanceof d3_Lab ? d3_lab_hcl(h.l, h.a, h.b)
-      : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b)))
-      : d3_hcl(+h, +c, +l);
-};
-
-function d3_hcl(h, c, l) {
-  return new d3_Hcl(h, c, l);
-}
-
-function d3_Hcl(h, c, l) {
-  this.h = h;
-  this.c = c;
-  this.l = l;
-}
-
-var d3_hclPrototype = d3_Hcl.prototype = new d3_Color;
-
-d3_hclPrototype.brighter = function(k) {
-  return d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)));
-};
-
-d3_hclPrototype.darker = function(k) {
-  return d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));
-};
-
-d3_hclPrototype.rgb = function() {
-  return d3_hcl_lab(this.h, this.c, this.l).rgb();
-};
-
-function d3_hcl_lab(h, c, l) {
-  if (isNaN(h)) h = 0;
-  if (isNaN(c)) c = 0;
-  return d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c);
-}
-
-d3.lab = function(l, a, b) {
-  return arguments.length === 1
-      ? (l instanceof d3_Lab ? d3_lab(l.l, l.a, l.b)
-      : (l instanceof d3_Hcl ? d3_hcl_lab(l.l, l.c, l.h)
-      : d3_rgb_lab((l = d3.rgb(l)).r, l.g, l.b)))
-      : d3_lab(+l, +a, +b);
-};
-
-function d3_lab(l, a, b) {
-  return new d3_Lab(l, a, b);
-}
-
-function d3_Lab(l, a, b) {
-  this.l = l;
-  this.a = a;
-  this.b = b;
-}
-
-// Corresponds roughly to RGB brighter/darker
-var d3_lab_K = 18;
-
-// D65 standard referent
-var d3_lab_X = 0.950470,
-    d3_lab_Y = 1,
-    d3_lab_Z = 1.088830;
-
-var d3_labPrototype = d3_Lab.prototype = new d3_Color;
-
-d3_labPrototype.brighter = function(k) {
-  return d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);
-};
-
-d3_labPrototype.darker = function(k) {
-  return d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);
-};
-
-d3_labPrototype.rgb = function() {
-  return d3_lab_rgb(this.l, this.a, this.b);
-};
-
-function d3_lab_rgb(l, a, b) {
-  var y = (l + 16) / 116,
-      x = y + a / 500,
-      z = y - b / 200;
-  x = d3_lab_xyz(x) * d3_lab_X;
-  y = d3_lab_xyz(y) * d3_lab_Y;
-  z = d3_lab_xyz(z) * d3_lab_Z;
-  return d3_rgb(
-    d3_xyz_rgb( 3.2404542 * x - 1.5371385 * y - 0.4985314 * z),
-    d3_xyz_rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z),
-    d3_xyz_rgb( 0.0556434 * x - 0.2040259 * y + 1.0572252 * z)
-  );
-}
-
-function d3_lab_hcl(l, a, b) {
-  return l > 0
-      ? d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l)
-      : d3_hcl(NaN, NaN, l);
-}
-
-function d3_lab_xyz(x) {
-  return x > 0.206893034 ? x * x * x : (x - 4 / 29) / 7.787037;
-}
-function d3_xyz_lab(x) {
-  return x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29;
-}
-
-function d3_xyz_rgb(r) {
-  return Math.round(255 * (r <= 0.00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - 0.055));
-}
-
-d3.rgb = function(r, g, b) {
-  return arguments.length === 1
-      ? (r instanceof d3_Rgb ? d3_rgb(r.r, r.g, r.b)
-      : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb))
-      : d3_rgb(~~r, ~~g, ~~b);
-};
-
-function d3_rgbNumber(value) {
-  return d3_rgb(value >> 16, value >> 8 & 0xff, value & 0xff);
-}
-
-function d3_rgbString(value) {
-  return d3_rgbNumber(value) + "";
-}
-
-function d3_rgb(r, g, b) {
-  return new d3_Rgb(r, g, b);
-}
-
-function d3_Rgb(r, g, b) {
-  this.r = r;
-  this.g = g;
-  this.b = b;
-}
-
-var d3_rgbPrototype = d3_Rgb.prototype = new d3_Color;
-
-d3_rgbPrototype.brighter = function(k) {
-  k = Math.pow(0.7, arguments.length ? k : 1);
-  var r = this.r,
-      g = this.g,
-      b = this.b,
-      i = 30;
-  if (!r && !g && !b) return d3_rgb(i, i, i);
-  if (r && r < i) r = i;
-  if (g && g < i) g = i;
-  if (b && b < i) b = i;
-  return d3_rgb(Math.min(255, ~~(r / k)), Math.min(255, ~~(g / k)), Math.min(255, ~~(b / k)));
-};
-
-d3_rgbPrototype.darker = function(k) {
-  k = Math.pow(0.7, arguments.length ? k : 1);
-  return d3_rgb(~~(k * this.r), ~~(k * this.g), ~~(k * this.b));
-};
-
-d3_rgbPrototype.hsl = function() {
-  return d3_rgb_hsl(this.r, this.g, this.b);
-};
-
-d3_rgbPrototype.toString = function() {
-  return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b);
-};
-
-function d3_rgb_hex(v) {
-  return v < 0x10
-      ? "0" + Math.max(0, v).toString(16)
-      : Math.min(255, v).toString(16);
-}
-
-function d3_rgb_parse(format, rgb, hsl) {
-  var r = 0, // red channel; int in [0, 255]
-      g = 0, // green channel; int in [0, 255]
-      b = 0, // blue channel; int in [0, 255]
-      m1, // CSS color specification match
-      m2, // CSS color specification type (e.g., rgb)
-      color;
-
-  /* Handle hsl, rgb. */
-  m1 = /([a-z]+)\((.*)\)/i.exec(format);
-  if (m1) {
-    m2 = m1[2].split(",");
-    switch (m1[1]) {
-      case "hsl": {
-        return hsl(
-          parseFloat(m2[0]), // degrees
-          parseFloat(m2[1]) / 100, // percentage
-          parseFloat(m2[2]) / 100 // percentage
-        );
-      }
-      case "rgb": {
-        return rgb(
-          d3_rgb_parseNumber(m2[0]),
-          d3_rgb_parseNumber(m2[1]),
-          d3_rgb_parseNumber(m2[2])
-        );
-      }
-    }
-  }
-
-  /* Named colors. */
-  if (color = d3_rgb_names.get(format)) return rgb(color.r, color.g, color.b);
-
-  /* Hexadecimal colors: #rgb and #rrggbb. */
-  if (format != null && format.charAt(0) === "#" && !isNaN(color = parseInt(format.substring(1), 16))) {
-    if (format.length === 4) {
-      r = (color & 0xf00) >> 4; r = (r >> 4) | r;
-      g = (color & 0xf0); g = (g >> 4) | g;
-      b = (color & 0xf); b = (b << 4) | b;
-    } else if (format.length === 7) {
-      r = (color & 0xff0000) >> 16;
-      g = (color & 0xff00) >> 8;
-      b = (color & 0xff);
-    }
-  }
-
-  return rgb(r, g, b);
-}
-
-function d3_rgb_hsl(r, g, b) {
-  var min = Math.min(r /= 255, g /= 255, b /= 255),
-      max = Math.max(r, g, b),
-      d = max - min,
-      h,
-      s,
-      l = (max + min) / 2;
-  if (d) {
-    s = l < .5 ? d / (max + min) : d / (2 - max - min);
-    if (r == max) h = (g - b) / d + (g < b ? 6 : 0);
-    else if (g == max) h = (b - r) / d + 2;
-    else h = (r - g) / d + 4;
-    h *= 60;
-  } else {
-    h = NaN;
-    s = l > 0 && l < 1 ? 0 : h;
-  }
-  return d3_hsl(h, s, l);
-}
-
-function d3_rgb_lab(r, g, b) {
-  r = d3_rgb_xyz(r);
-  g = d3_rgb_xyz(g);
-  b = d3_rgb_xyz(b);
-  var x = d3_xyz_lab((0.4124564 * r + 0.3575761 * g + 0.1804375 * b) / d3_lab_X),
-      y = d3_xyz_lab((0.2126729 * r + 0.7151522 * g + 0.0721750 * b) / d3_lab_Y),
-      z = d3_xyz_lab((0.0193339 * r + 0.1191920 * g + 0.9503041 * b) / d3_lab_Z);
-  return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z));
-}
-
-function d3_rgb_xyz(r) {
-  return (r /= 255) <= 0.04045 ? r / 12.92 : Math.pow((r + 0.055) / 1.055, 2.4);
-}
-
-function d3_rgb_parseNumber(c) { // either integer or percentage
-  var f = parseFloat(c);
-  return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f;
-}
-
-var d3_rgb_names = d3.map({
-  aliceblue: 0xf0f8ff,
-  antiquewhite: 0xfaebd7,
-  aqua: 0x00ffff,
-  aquamarine: 0x7fffd4,
-  azure: 0xf0ffff,
-  beige: 0xf5f5dc,
-  bisque: 0xffe4c4,
-  black: 0x000000,
-  blanchedalmond: 0xffebcd,
-  blue: 0x0000ff,
-  blueviolet: 0x8a2be2,
-  brown: 0xa52a2a,
-  burlywood: 0xdeb887,
-  cadetblue: 0x5f9ea0,
-  chartreuse: 0x7fff00,
-  chocolate: 0xd2691e,
-  coral: 0xff7f50,
-  cornflowerblue: 0x6495ed,
-  cornsilk: 0xfff8dc,
-  crimson: 0xdc143c,
-  cyan: 0x00ffff,
-  darkblue: 0x00008b,
-  darkcyan: 0x008b8b,
-  darkgoldenrod: 0xb8860b,
-  darkgray: 0xa9a9a9,
-  darkgreen: 0x006400,
-  darkgrey: 0xa9a9a9,
-  darkkhaki: 0xbdb76b,
-  darkmagenta: 0x8b008b,
-  darkolivegreen: 0x556b2f,
-  darkorange: 0xff8c00,
-  darkorchid: 0x9932cc,
-  darkred: 0x8b0000,
-  darksalmon: 0xe9967a,
-  darkseagreen: 0x8fbc8f,
-  darkslateblue: 0x483d8b,
-  darkslategray: 0x2f4f4f,
-  darkslategrey: 0x2f4f4f,
-  darkturquoise: 0x00ced1,
-  darkviolet: 0x9400d3,
-  deeppink: 0xff1493,
-  deepskyblue: 0x00bfff,
-  dimgray: 0x696969,
-  dimgrey: 0x696969,
-  dodgerblue: 0x1e90ff,
-  firebrick: 0xb22222,
-  floralwhite: 0xfffaf0,
-  forestgreen: 0x228b22,
-  fuchsia: 0xff00ff,
-  gainsboro: 0xdcdcdc,
-  ghostwhite: 0xf8f8ff,
-  gold: 0xffd700,
-  goldenrod: 0xdaa520,
-  gray: 0x808080,
-  green: 0x008000,
-  greenyellow: 0xadff2f,
-  grey: 0x808080,
-  honeydew: 0xf0fff0,
-  hotpink: 0xff69b4,
-  indianred: 0xcd5c5c,
-  indigo: 0x4b0082,
-  ivory: 0xfffff0,
-  khaki: 0xf0e68c,
-  lavender: 0xe6e6fa,
-  lavenderblush: 0xfff0f5,
-  lawngreen: 0x7cfc00,
-  lemonchiffon: 0xfffacd,
-  lightblue: 0xadd8e6,
-  lightcoral: 0xf08080,
-  lightcyan: 0xe0ffff,
-  lightgoldenrodyellow: 0xfafad2,
-  lightgray: 0xd3d3d3,
-  lightgreen: 0x90ee90,
-  lightgrey: 0xd3d3d3,
-  lightpink: 0xffb6c1,
-  lightsalmon: 0xffa07a,
-  lightseagreen: 0x20b2aa,
-  lightskyblue: 0x87cefa,
-  lightslategray: 0x778899,
-  lightslategrey: 0x778899,
-  lightsteelblue: 0xb0c4de,
-  lightyellow: 0xffffe0,
-  lime: 0x00ff00,
-  limegreen: 0x32cd32,
-  linen: 0xfaf0e6,
-  magenta: 0xff00ff,
-  maroon: 0x800000,
-  mediumaquamarine: 0x66cdaa,
-  mediumblue: 0x0000cd,
-  mediumorchid: 0xba55d3,
-  mediumpurple: 0x9370db,
-  mediumseagreen: 0x3cb371,
-  mediumslateblue: 0x7b68ee,
-  mediumspringgreen: 0x00fa9a,
-  mediumturquoise: 0x48d1cc,
-  mediumvioletred: 0xc71585,
-  midnightblue: 0x191970,
-  mintcream: 0xf5fffa,
-  mistyrose: 0xffe4e1,
-  moccasin: 0xffe4b5,
-  navajowhite: 0xffdead,
-  navy: 0x000080,
-  oldlace: 0xfdf5e6,
-  olive: 0x808000,
-  olivedrab: 0x6b8e23,
-  orange: 0xffa500,
-  orangered: 0xff4500,
-  orchid: 0xda70d6,
-  palegoldenrod: 0xeee8aa,
-  palegreen: 0x98fb98,
-  paleturquoise: 0xafeeee,
-  palevioletred: 0xdb7093,
-  papayawhip: 0xffefd5,
-  peachpuff: 0xffdab9,
-  peru: 0xcd853f,
-  pink: 0xffc0cb,
-  plum: 0xdda0dd,
-  powderblue: 0xb0e0e6,
-  purple: 0x800080,
-  red: 0xff0000,
-  rosybrown: 0xbc8f8f,
-  royalblue: 0x4169e1,
-  saddlebrown: 0x8b4513,
-  salmon: 0xfa8072,
-  sandybrown: 0xf4a460,
-  seagreen: 0x2e8b57,
-  seashell: 0xfff5ee,
-  sienna: 0xa0522d,
-  silver: 0xc0c0c0,
-  skyblue: 0x87ceeb,
-  slateblue: 0x6a5acd,
-  slategray: 0x708090,
-  slategrey: 0x708090,
-  snow: 0xfffafa,
-  springgreen: 0x00ff7f,
-  steelblue: 0x4682b4,
-  tan: 0xd2b48c,
-  teal: 0x008080,
-  thistle: 0xd8bfd8,
-  tomato: 0xff6347,
-  turquoise: 0x40e0d0,
-  violet: 0xee82ee,
-  wheat: 0xf5deb3,
-  white: 0xffffff,
-  whitesmoke: 0xf5f5f5,
-  yellow: 0xffff00,
-  yellowgreen: 0x9acd32
-});
-
-d3_rgb_names.forEach(function(key, value) {
-  d3_rgb_names.set(key, d3_rgbNumber(value));
-});
-
-d3.interpolateRgb = d3_interpolateRgb;
-
-function d3_interpolateRgb(a, b) {
-  a = d3.rgb(a);
-  b = d3.rgb(b);
-  var ar = a.r,
-      ag = a.g,
-      ab = a.b,
-      br = b.r - ar,
-      bg = b.g - ag,
-      bb = b.b - ab;
-  return function(t) {
-    return "#"
-        + d3_rgb_hex(Math.round(ar + br * t))
-        + d3_rgb_hex(Math.round(ag + bg * t))
-        + d3_rgb_hex(Math.round(ab + bb * t));
-  };
-}
-
-d3.interpolateObject = d3_interpolateObject;
-
-function d3_interpolateObject(a, b) {
-  var i = {},
-      c = {},
-      k;
-  for (k in a) {
-    if (k in b) {
-      i[k] = d3_interpolate(a[k], b[k]);
-    } else {
-      c[k] = a[k];
-    }
-  }
-  for (k in b) {
-    if (!(k in a)) {
-      c[k] = b[k];
-    }
-  }
-  return function(t) {
-    for (k in i) c[k] = i[k](t);
-    return c;
-  };
-}
-
-d3.interpolateArray = d3_interpolateArray;
-
-function d3_interpolateArray(a, b) {
-  var x = [],
-      c = [],
-      na = a.length,
-      nb = b.length,
-      n0 = Math.min(a.length, b.length),
-      i;
-  for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i]));
-  for (; i < na; ++i) c[i] = a[i];
-  for (; i < nb; ++i) c[i] = b[i];
-  return function(t) {
-    for (i = 0; i < n0; ++i) c[i] = x[i](t);
-    return c;
-  };
-}
-d3.interpolateNumber = d3_interpolateNumber;
-
-function d3_interpolateNumber(a, b) {
-  b -= a = +a;
-  return function(t) { return a + b * t; };
-}
-
-d3.interpolateString = d3_interpolateString;
-
-function d3_interpolateString(a, b) {
-  var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, // scan index for next number in b
-      am, // current match in a
-      bm, // current match in b
-      bs, // string preceding current number in b, if any
-      i = -1, // index in s
-      s = [], // string constants and placeholders
-      q = []; // number interpolators
-
-  // Coerce inputs to strings.
-  a = a + "", b = b + "";
-
-  // Interpolate pairs of numbers in a & b.
-  while ((am = d3_interpolate_numberA.exec(a))
-      && (bm = d3_interpolate_numberB.exec(b))) {
-    if ((bs = bm.index) > bi) { // a string precedes the next number in b
-      bs = b.substring(bi, bs);
-      if (s[i]) s[i] += bs; // coalesce with previous string
-      else s[++i] = bs;
-    }
-    if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match
-      if (s[i]) s[i] += bm; // coalesce with previous string
-      else s[++i] = bm;
-    } else { // interpolate non-matching numbers
-      s[++i] = null;
-      q.push({i: i, x: d3_interpolateNumber(am, bm)});
-    }
-    bi = d3_interpolate_numberB.lastIndex;
-  }
-
-  // Add remains of b.
-  if (bi < b.length) {
-    bs = b.substring(bi);
-    if (s[i]) s[i] += bs; // coalesce with previous string
-    else s[++i] = bs;
-  }
-
-  // Special optimization for only a single match.
-  // Otherwise, interpolate each of the numbers and rejoin the string.
-  return s.length < 2
-      ? (q[0] ? (b = q[0].x, function(t) { return b(t) + ""; })
-      : function() { return b; })
-      : (b = q.length, function(t) {
-          for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);
-          return s.join("");
-        });
-}
-
-var d3_interpolate_numberA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
-    d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, "g");
-
-d3.interpolate = d3_interpolate;
-
-function d3_interpolate(a, b) {
-  var i = d3.interpolators.length, f;
-  while (--i >= 0 && !(f = d3.interpolators[i](a, b)));
-  return f;
-}
-
-d3.interpolators = [
-  function(a, b) {
-    var t = typeof b;
-    return (t === "string" ? (d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString)
-        : b instanceof d3_Color ? d3_interpolateRgb
-        : Array.isArray(b) ? d3_interpolateArray
-        : t === "object" && isNaN(b) ? d3_interpolateObject
-        : d3_interpolateNumber)(a, b);
-  }
-];
-
-d3.transform = function(string) {
-  var g = d3_document.createElementNS(d3.ns.prefix.svg, "g");
-  return (d3.transform = function(string) {
-    if (string != null) {
-      g.setAttribute("transform", string);
-      var t = g.transform.baseVal.consolidate();
-    }
-    return new d3_transform(t ? t.matrix : d3_transformIdentity);
-  })(string);
-};
-
-// Compute x-scale and normalize the first row.
-// Compute shear and make second row orthogonal to first.
-// Compute y-scale and normalize the second row.
-// Finally, compute the rotation.
-function d3_transform(m) {
-  var r0 = [m.a, m.b],
-      r1 = [m.c, m.d],
-      kx = d3_transformNormalize(r0),
-      kz = d3_transformDot(r0, r1),
-      ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0;
-  if (r0[0] * r1[1] < r1[0] * r0[1]) {
-    r0[0] *= -1;
-    r0[1] *= -1;
-    kx *= -1;
-    kz *= -1;
-  }
-  this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees;
-  this.translate = [m.e, m.f];
-  this.scale = [kx, ky];
-  this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0;
-};
-
-d3_transform.prototype.toString = function() {
-  return "translate(" + this.translate
-      + ")rotate(" + this.rotate
-      + ")skewX(" + this.skew
-      + ")scale(" + this.scale
-      + ")";
-};
-
-function d3_transformDot(a, b) {
-  return a[0] * b[0] + a[1] * b[1];
-}
-
-function d3_transformNormalize(a) {
-  var k = Math.sqrt(d3_transformDot(a, a));
-  if (k) {
-    a[0] /= k;
-    a[1] /= k;
-  }
-  return k;
-}
-
-function d3_transformCombine(a, b, k) {
-  a[0] += k * b[0];
-  a[1] += k * b[1];
-  return a;
-}
-
-var d3_transformIdentity = {a: 1, b: 0, c: 0, d: 1, e: 0, f: 0};
-
-d3.interpolateTransform = d3_interpolateTransform;
-
-function d3_interpolateTransform(a, b) {
-  var s = [], // string constants and placeholders
-      q = [], // number interpolators
-      n,
-      A = d3.transform(a),
-      B = d3.transform(b),
-      ta = A.translate,
-      tb = B.translate,
-      ra = A.rotate,
-      rb = B.rotate,
-      wa = A.skew,
-      wb = B.skew,
-      ka = A.scale,
-      kb = B.scale;
-
-  if (ta[0] != tb[0] || ta[1] != tb[1]) {
-    s.push("translate(", null, ",", null, ")");
-    q.push({i: 1, x: d3_interpolateNumber(ta[0], tb[0])}, {i: 3, x: d3_interpolateNumber(ta[1], tb[1])});
-  } else if (tb[0] || tb[1]) {
-    s.push("translate(" + tb + ")");
-  } else {
-    s.push("");
-  }
-
-  if (ra != rb) {
-    if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360; // shortest path
-    q.push({i: s.push(s.pop() + "rotate(", null, ")") - 2, x: d3_interpolateNumber(ra, rb)});
-  } else if (rb) {
-    s.push(s.pop() + "rotate(" + rb + ")");
-  }
-
-  if (wa != wb) {
-    q.push({i: s.push(s.pop() + "skewX(", null, ")") - 2, x: d3_interpolateNumber(wa, wb)});
-  } else if (wb) {
-    s.push(s.pop() + "skewX(" + wb + ")");
-  }
-
-  if (ka[0] != kb[0] || ka[1] != kb[1]) {
-    n = s.push(s.pop() + "scale(", null, ",", null, ")");
-    q.push({i: n - 4, x: d3_interpolateNumber(ka[0], kb[0])}, {i: n - 2, x: d3_interpolateNumber(ka[1], kb[1])});
-  } else if (kb[0] != 1 || kb[1] != 1) {
-    s.push(s.pop() + "scale(" + kb + ")");
-  }
-
-  n = q.length;
-  return function(t) {
-    var i = -1, o;
-    while (++i < n) s[(o = q[i]).i] = o.x(t);
-    return s.join("");
-  };
-}
-
-d3_transitionPrototype.tween = function(name, tween) {
-  var id = this.id;
-  if (arguments.length < 2) return this.node().__transition__[id].tween.get(name);
-  return d3_selection_each(this, tween == null
-        ? function(node) { node.__transition__[id].tween.remove(name); }
-        : function(node) { node.__transition__[id].tween.set(name, tween); });
-};
-
-function d3_transition_tween(groups, name, value, tween) {
-  var id = groups.id;
-  return d3_selection_each(groups, typeof value === "function"
-      ? function(node, i, j) { node.__transition__[id].tween.set(name, tween(value.call(node, node.__data__, i, j))); }
-      : (value = tween(value), function(node) { node.__transition__[id].tween.set(name, value); }));
-}
-
-d3_transitionPrototype.attr = function(nameNS, value) {
-  if (arguments.length < 2) {
-
-    // For attr(object), the object specifies the names and values of the
-    // attributes to transition. The values may be functions that are
-    // evaluated for each element.
-    for (value in nameNS) this.attr(value, nameNS[value]);
-    return this;
-  }
-
-  var interpolate = nameNS == "transform" ? d3_interpolateTransform : d3_interpolate,
-      name = d3.ns.qualify(nameNS);
-
-  // For attr(string, null), remove the attribute with the specified name.
-  function attrNull() {
-    this.removeAttribute(name);
-  }
-  function attrNullNS() {
-    this.removeAttributeNS(name.space, name.local);
-  }
-
-  // For attr(string, string), set the attribute with the specified name.
-  function attrTween(b) {
-    return b == null ? attrNull : (b += "", function() {
-      var a = this.getAttribute(name), i;
-      return a !== b && (i = interpolate(a, b), function(t) { this.setAttribute(name, i(t)); });
-    });
-  }
-  function attrTweenNS(b) {
-    return b == null ? attrNullNS : (b += "", function() {
-      var a = this.getAttributeNS(name.space, name.local), i;
-      return a !== b && (i = interpolate(a, b), function(t) { this.setAttributeNS(name.space, name.local, i(t)); });
-    });
-  }
-
-  return d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween);
-};
-
-d3_transitionPrototype.attrTween = function(nameNS, tween) {
-  var name = d3.ns.qualify(nameNS);
-
-  function attrTween(d, i) {
-    var f = tween.call(this, d, i, this.getAttribute(name));
-    return f && function(t) { this.setAttribute(name, f(t)); };
-  }
-  function attrTweenNS(d, i) {
-    var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local));
-    return f && function(t) { this.setAttributeNS(name.space, name.local, f(t)); };
-  }
-
-  return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween);
-};
-
-d3_transitionPrototype.style = function(name, value, priority) {
-  var n = arguments.length;
-  if (n < 3) {
-
-    // For style(object) or style(object, string), the object specifies the
-    // names and values of the attributes to set or remove. The values may be
-    // functions that are evaluated for each element. The optional string
-    // specifies the priority.
-    if (typeof name !== "string") {
-      if (n < 2) value = "";
-      for (priority in name) this.style(priority, name[priority], value);
-      return this;
-    }
-
-    // For style(string, string) or style(string, function), use the default
-    // priority. The priority is ignored for style(string, null).
-    priority = "";
-  }
-
-  // For style(name, null) or style(name, null, priority), remove the style
-  // property with the specified name. The priority is ignored.
-  function styleNull() {
-    this.style.removeProperty(name);
-  }
-
-  // For style(name, string) or style(name, string, priority), set the style
-  // property with the specified name, using the specified priority.
-  // Otherwise, a name, value and priority are specified, and handled as below.
-  function styleString(b) {
-    return b == null ? styleNull : (b += "", function() {
-      var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i;
-      return a !== b && (i = d3_interpolate(a, b), function(t) { this.style.setProperty(name, i(t), priority); });
-    });
-  }
-
-  return d3_transition_tween(this, "style." + name, value, styleString);
-};
-
-d3_transitionPrototype.styleTween = function(name, tween, priority) {
-  if (arguments.length < 3) priority = "";
-
-  function styleTween(d, i) {
-    var f = tween.call(this, d, i, d3_window.getComputedStyle(this, null).getPropertyValue(name));
-    return f && function(t) { this.style.setProperty(name, f(t), priority); };
-  }
-
-  return this.tween("style." + name, styleTween);
-};
-
-d3_transitionPrototype.text = function(value) {
-  return d3_transition_tween(this, "text", value, d3_transition_text);
-};
-
-function d3_transition_text(b) {
-  if (b == null) b = "";
-  return function() { this.textContent = b; };
-}
-
-d3_transitionPrototype.remove = function() {
-  return this.each("end.transition", function() {
-    var p;
-    if (this.__transition__.count < 2 && (p = this.parentNode)) p.removeChild(this);
-  });
-};
-
-d3_transitionPrototype.ease = function(value) {
-  var id = this.id;
-  if (arguments.length < 1) return this.node().__transition__[id].ease;
-  if (typeof value !== "function") value = d3.ease.apply(d3, arguments);
-  return d3_selection_each(this, function(node) { node.__transition__[id].ease = value; });
-};
-
-d3_transitionPrototype.delay = function(value) {
-  var id = this.id;
-  if (arguments.length < 1) return this.node().__transition__[id].delay;
-  return d3_selection_each(this, typeof value === "function"
-      ? function(node, i, j) { node.__transition__[id].delay = +value.call(node, node.__data__, i, j); }
-      : (value = +value, function(node) { node.__transition__[id].delay = value; }));
-};
-
-d3_transitionPrototype.duration = function(value) {
-  var id = this.id;
-  if (arguments.length < 1) return this.node().__transition__[id].duration;
-  return d3_selection_each(this, typeof value === "function"
-      ? function(node, i, j) { node.__transition__[id].duration = Math.max(1, value.call(node, node.__data__, i, j)); }
-      : (value = Math.max(1, value), function(node) { node.__transition__[id].duration = value; }));
-};
-
-d3_transitionPrototype.each = function(type, listener) {
-  var id = this.id;
-  if (arguments.length < 2) {
-    var inherit = d3_transitionInherit,
-        inheritId = d3_transitionInheritId;
-    d3_transitionInheritId = id;
-    d3_selection_each(this, function(node, i, j) {
-      d3_transitionInherit = node.__transition__[id];
-      type.call(node, node.__data__, i, j);
-    });
-    d3_transitionInherit = inherit;
-    d3_transitionInheritId = inheritId;
-  } else {
-    d3_selection_each(this, function(node) {
-      var transition = node.__transition__[id];
-      (transition.event || (transition.event = d3.dispatch("start", "end"))).on(type, listener);
-    });
-  }
-  return this;
-};
-
-d3_transitionPrototype.transition = function() {
-  var id0 = this.id,
-      id1 = ++d3_transitionId,
-      subgroups = [],
-      subgroup,
-      group,
-      node,
-      transition;
-
-  for (var j = 0, m = this.length; j < m; j++) {
-    subgroups.push(subgroup = []);
-    for (var group = this[j], i = 0, n = group.length; i < n; i++) {
-      if (node = group[i]) {
-        transition = Object.create(node.__transition__[id0]);
-        transition.delay += transition.duration;
-        d3_transitionNode(node, i, id1, transition);
-      }
-      subgroup.push(node);
-    }
-  }
-
-  return d3_transition(subgroups, id1);
-};
-
-function d3_transitionNode(node, i, id, inherit) {
-  var lock = node.__transition__ || (node.__transition__ = {active: 0, count: 0}),
-      transition = lock[id];
-
-  if (!transition) {
-    var time = inherit.time;
-
-    transition = lock[id] = {
-      tween: new d3_Map,
-      time: time,
-      ease: inherit.ease,
-      delay: inherit.delay,
-      duration: inherit.duration
-    };
-
-    ++lock.count;
-
-    d3.timer(function(elapsed) {
-      var d = node.__data__,
-          ease = transition.ease,
-          delay = transition.delay,
-          duration = transition.duration,
-          timer = d3_timer_active,
-          tweened = [];
-
-      timer.t = delay + time;
-      if (delay <= elapsed) return start(elapsed - delay);
-      timer.c = start;
-
-      function start(elapsed) {
-        if (lock.active > id) return stop();
-        lock.active = id;
-        transition.event && transition.event.start.call(node, d, i);
-
-        transition.tween.forEach(function(key, value) {
-          if (value = value.call(node, d, i)) {
-            tweened.push(value);
-          }
-        });
-
-        d3.timer(function() { // defer to end of current frame
-          timer.c = tick(elapsed || 1) ? d3_true : tick;
-          return 1;
-        }, 0, time);
-      }
-
-      function tick(elapsed) {
-        if (lock.active !== id) return stop();
-
-        var t = elapsed / duration,
-            e = ease(t),
-            n = tweened.length;
-
-        while (n > 0) {
-          tweened[--n].call(node, e);
-        }
-
-        if (t >= 1) {
-          transition.event && transition.event.end.call(node, d, i);
-          return stop();
-        }
-      }
-
-      function stop() {
-        if (--lock.count) delete lock[id];
-        else delete node.__transition__;
-        return 1;
-      }
-    }, 0, time);
-  }
-}
-
-d3.xhr = d3_xhrType(d3_identity);
-
-function d3_xhrType(response) {
-  return function(url, mimeType, callback) {
-    if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType, mimeType = null;
-    return d3_xhr(url, mimeType, response, callback);
-  };
-}
-
-function d3_xhr(url, mimeType, response, callback) {
-  var xhr = {},
-      dispatch = d3.dispatch("beforesend", "progress", "load", "error"),
-      headers = {},
-      request = new XMLHttpRequest,
-      responseType = null;
-
-  // If IE does not support CORS, use XDomainRequest.
-  if (d3_window.XDomainRequest
-      && !("withCredentials" in request)
-      && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest;
-
-  "onload" in request
-      ? request.onload = request.onerror = respond
-      : request.onreadystatechange = function() { request.readyState > 3 && respond(); };
-
-  function respond() {
-    var status = request.status, result;
-    if (!status && request.responseText || status >= 200 && status < 300 || status === 304) {
-      try {
-        result = response.call(xhr, request);
-      } catch (e) {
-        dispatch.error.call(xhr, e);
-        return;
-      }
-      dispatch.load.call(xhr, result);
-    } else {
-      dispatch.error.call(xhr, request);
-    }
-  }
-
-  request.onprogress = function(event) {
-    var o = d3.event;
-    d3.event = event;
-    try { dispatch.progress.call(xhr, request); }
-    finally { d3.event = o; }
-  };
-
-  xhr.header = function(name, value) {
-    name = (name + "").toLowerCase();
-    if (arguments.length < 2) return headers[name];
-    if (value == null) delete headers[name];
-    else headers[name] = value + "";
-    return xhr;
-  };
-
-  // If mimeType is non-null and no Accept header is set, a default is used.
-  xhr.mimeType = function(value) {
-    if (!arguments.length) return mimeType;
-    mimeType = value == null ? null : value + "";
-    return xhr;
-  };
-
-  // Specifies what type the response value should take;
-  // for instance, arraybuffer, blob, document, or text.
-  xhr.responseType = function(value) {
-    if (!arguments.length) return responseType;
-    responseType = value;
-    return xhr;
-  };
-
-  // Specify how to convert the response content to a specific type;
-  // changes the callback value on "load" events.
-  xhr.response = function(value) {
-    response = value;
-    return xhr;
-  };
-
-  // Convenience methods.
-  ["get", "post"].forEach(function(method) {
-    xhr[method] = function() {
-      return xhr.send.apply(xhr, [method].concat(d3_array(arguments)));
-    };
-  });
-
-  // If callback is non-null, it will be used for error and load events.
-  xhr.send = function(method, data, callback) {
-    if (arguments.length === 2 && typeof data === "function") callback = data, data = null;
-    request.open(method, url, true);
-    if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*";
-    if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]);
-    if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType);
-    if (responseType != null) request.responseType = responseType;
-    if (callback != null) xhr.on("error", callback).on("load", function(request) { callback(null, request); });
-    dispatch.beforesend.call(xhr, request);
-    request.send(data == null ? null : data);
-    return xhr;
-  };
-
-  xhr.abort = function() {
-    request.abort();
-    return xhr;
-  };
-
-  d3.rebind(xhr, dispatch, "on");
-
-  return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback));
-};
-
-function d3_xhr_fixCallback(callback) {
-  return callback.length === 1
-      ? function(error, request) { callback(error == null ? request : null); }
-      : callback;
-}
-
-d3.text = d3_xhrType(function(request) {
-  return request.responseText;
-});
-
-d3.json = function(url, callback) {
-  return d3_xhr(url, "application/json", d3_json, callback);
-};
-
-function d3_json(request) {
-  return JSON.parse(request.responseText);
-}
-
-d3.html = function(url, callback) {
-  return d3_xhr(url, "text/html", d3_html, callback);
-};
-
-function d3_html(request) {
-  var range = d3_document.createRange();
-  range.selectNode(d3_document.body);
-  return range.createContextualFragment(request.responseText);
-}
-
-d3.xml = d3_xhrType(function(request) {
-  return request.responseXML;
-});
-  if (typeof define === "function" && define.amd) {
-    define(d3);
-  } else if (typeof module === "object" && module.exports) {
-    module.exports = d3;
-  } else {
-    this.d3 = d3;
-  }
-}();
-d3.combobox = function() {
-    var event = d3.dispatch('accept'),
-        data = [],
-        suggestions = [],
-        minItems = 2;
-
-    var fetcher = function(val, cb) {
-        cb(data.filter(function(d) {
-            return d.value
-                .toString()
-                .toLowerCase()
-                .indexOf(val.toLowerCase()) !== -1;
-        }));
-    };
-
-    var combobox = function(input) {
-        var idx = -1,
-            container = d3.select(document.body)
-                .selectAll('div.combobox')
-                .filter(function(d) { return d === input.node(); }),
-            shown = !container.empty();
-
-        input
-            .classed('combobox-input', true)
-            .on('focus.typeahead', focus)
-            .on('blur.typeahead', blur)
-            .on('keydown.typeahead', keydown)
-            .on('keyup.typeahead', keyup)
-            .on('input.typeahead', change)
-            .each(function() {
-                var parent = this.parentNode,
-                    sibling = this.nextSibling;
-
-                var caret = d3.select(parent).selectAll('.combobox-caret')
-                    .filter(function(d) { return d === input.node(); })
-                    .data([input.node()]);
-
-                caret.enter().insert('div', function() { return sibling; })
-                    .attr('class', 'combobox-caret');
-
-                caret
-                    .on('mousedown', function () {
-                        // prevent the form element from blurring. it blurs
-                        // on mousedown
-                        d3.event.stopPropagation();
-                        d3.event.preventDefault();
-                        input.node().focus();
-                        fetch('', render);
-                    });
-            });
-
-        function focus() {
-            fetch(value(), render);
-        }
-
-        function blur() {
-            window.setTimeout(hide, 150);
-        }
-
-        function show() {
-            if (!shown) {
-                container = d3.select(document.body)
-                    .insert('div', ':first-child')
-                    .datum(input.node())
-                    .attr('class', 'combobox')
-                    .style({
-                        position: 'absolute',
-                        display: 'block',
-                        left: '0px'
-                    })
-                    .on('mousedown', function () {
-                        // prevent moving focus out of the text field
-                        d3.event.preventDefault();
-                    });
-
-                d3.select(document.body)
-                    .on('scroll.combobox', render, true);
-
-                shown = true;
-            }
-        }
-
-        function hide() {
-            if (shown) {
-                idx = -1;
-                container.remove();
-
-                d3.select(document.body)
-                    .on('scroll.combobox', null);
-
-                shown = false;
-            }
-        }
-
-        function keydown() {
-           switch (d3.event.keyCode) {
-               // backspace, delete
-               case 8:
-               case 46:
-                   input.on('input.typeahead', function() {
-                       idx = -1;
-                       render();
-                       var start = input.property('selectionStart');
-                       input.node().setSelectionRange(start, start);
-                       input.on('input.typeahead', change);
-                   });
-                   break;
-               // tab
-               case 9:
-                   container.selectAll('a.selected').each(event.accept);
-                   break;
-               // return
-               case 13:
-                   d3.event.preventDefault();
-                   break;
-               // up arrow
-               case 38:
-                   nav(-1);
-                   d3.event.preventDefault();
-                   break;
-               // down arrow
-               case 40:
-                   nav(+1);
-                   d3.event.preventDefault();
-                   break;
-           }
-           d3.event.stopPropagation();
-        }
-
-        function keyup() {
-            switch (d3.event.keyCode) {
-                // escape
-                case 27:
-                    hide();
-                    break;
-                // return
-                case 13:
-                    container.selectAll('a.selected').each(event.accept);
-                    hide();
-                    break;
-            }
-        }
-
-        function change() {
-            fetch(value(), function() {
-                autocomplete();
-                render();
-            });
-        }
-
-        function nav(dir) {
-            idx = Math.max(Math.min(idx + dir, suggestions.length - 1), 0);
-            input.property('value', suggestions[idx].value);
-            render();
-            ensureVisible();
-        }
-
-        function value() {
-            var value = input.property('value'),
-                start = input.property('selectionStart'),
-                end = input.property('selectionEnd');
-
-            if (start && end) {
-                value = value.substring(0, start);
-            }
-
-            return value;
-        }
-
-        function fetch(v, cb) {
-            fetcher.call(input, v, function(_) {
-                suggestions = _;
-                cb();
-            });
-        }
-
-        function autocomplete() {
-            var v = value();
-
-            idx = -1;
-
-            if (!v) return;
-
-            for (var i = 0; i < suggestions.length; i++) {
-                if (suggestions[i].value.toLowerCase().indexOf(v.toLowerCase()) === 0) {
-                    var completion = v + suggestions[i].value.substr(v.length);
-                    idx = i;
-                    input.property('value', completion);
-                    input.node().setSelectionRange(v.length, completion.length);
-                    return;
-                }
-            }
-        }
-
-        function render() {
-            if (suggestions.length >= minItems && document.activeElement === input.node()) {
-                show();
-            } else {
-                hide();
-                return;
-            }
-
-            var options = container
-                .selectAll('a.combobox-option')
-                .data(suggestions, function(d) { return d.value; });
-
-            options.enter().append('a')
-                .attr('class', 'combobox-option')
-                .text(function(d) { return d.value; });
-
-            options
-                .attr('title', function(d) { return d.title; })
-                .classed('selected', function(d, i) { return i == idx; })
-                .on('mouseover', select)
-                .on('click', accept)
-                .order();
-
-            options.exit()
-                .remove();
-
-            var rect = input.node().getBoundingClientRect();
-
-            container.style({
-                'left': rect.left + 'px',
-                'width': rect.width + 'px',
-                'top': rect.height + rect.top + 'px'
-            });
-        }
-
-        function select(d, i) {
-            idx = i;
-            render();
-        }
-
-        function ensureVisible() {
-            var node = container.selectAll('a.selected').node();
-            if (node) node.scrollIntoView();
-        }
-
-        function accept(d) {
-            if (!shown) return;
-            input
-                .property('value', d.value)
-                .trigger('change');
-            event.accept(d);
-            hide();
-        }
-    };
-
-    combobox.fetcher = function(_) {
-        if (!arguments.length) return fetcher;
-        fetcher = _;
-        return combobox;
-    };
-
-    combobox.data = function(_) {
-        if (!arguments.length) return data;
-        data = _;
-        return combobox;
-    };
-
-    combobox.minItems = function(_) {
-        if (!arguments.length) return minItems;
-        minItems = _;
-        return combobox;
-    };
-
-    return d3.rebind(combobox, event, 'on');
-};
-d3.geo.tile = function() {
-  var size = [960, 500],
-      scale = 256,
-      scaleExtent = [0, 20],
-      translate = [size[0] / 2, size[1] / 2],
-      zoomDelta = 0;
-
-  function bound(_) {
-      return Math.min(scaleExtent[1], Math.max(scaleExtent[0], _));
-  }
-
-  function tile() {
-    var z = Math.max(Math.log(scale) / Math.LN2 - 8, 0),
-        z0 = bound(Math.round(z + zoomDelta)),
-        k = Math.pow(2, z - z0 + 8),
-        origin = [(translate[0] - scale / 2) / k, (translate[1] - scale / 2) / k],
-        tiles = [],
-        cols = d3.range(Math.max(0, Math.floor(-origin[0])), Math.max(0, Math.ceil(size[0] / k - origin[0]))),
-        rows = d3.range(Math.max(0, Math.floor(-origin[1])), Math.max(0, Math.ceil(size[1] / k - origin[1])));
-
-    rows.forEach(function(y) {
-      cols.forEach(function(x) {
-        tiles.push([x, y, z0]);
-      });
-    });
-
-    tiles.translate = origin;
-    tiles.scale = k;
-
-    return tiles;
-  }
-
-  tile.scaleExtent = function(_) {
-    if (!arguments.length) return scaleExtent;
-    scaleExtent = _;
-    return tile;
-  };
-
-  tile.size = function(_) {
-    if (!arguments.length) return size;
-    size = _;
-    return tile;
-  };
-
-  tile.scale = function(_) {
-    if (!arguments.length) return scale;
-    scale = _;
-    return tile;
-  };
-
-  tile.translate = function(_) {
-    if (!arguments.length) return translate;
-    translate = _;
-    return tile;
-  };
-
-  tile.zoomDelta = function(_) {
-    if (!arguments.length) return zoomDelta;
-    zoomDelta = +_;
-    return tile;
-  };
-
-  return tile;
-};
-d3.jsonp = function (url, callback) {
-  function rand() {
-    var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',
-      c = '', i = -1;
-    while (++i < 15) c += chars.charAt(Math.floor(Math.random() * 52));
-    return c;
-  }
-
-  function create(url) {
-    var e = url.match(/callback=d3.jsonp.(\w+)/),
-      c = e ? e[1] : rand();
-    d3.jsonp[c] = function(data) {
-      callback(data);
-      delete d3.jsonp[c];
-      script.remove();
-    };
-    return 'd3.jsonp.' + c;
-  }
-
-  var cb = create(url),
-    script = d3.select('head')
-    .append('script')
-    .attr('type', 'text/javascript')
-    .attr('src', url.replace(/(\{|%7B)callback(\}|%7D)/, cb));
-};
-/*
- * This code is licensed under the MIT license.
- *
- * Copyright © 2013, iD authors.
- *
- * Portions copyright © 2011, Keith Cirkel
- * See https://github.com/keithamus/jwerty
- *
- */
-d3.keybinding = function(namespace) {
-    var bindings = [];
-
-    function matches(binding, event) {
-        for (var p in binding.event) {
-            if (event[p] != binding.event[p])
-                return false;
-        }
-
-        return (!binding.capture) === (event.eventPhase !== Event.CAPTURING_PHASE);
-    }
-
-    function capture() {
-        for (var i = 0; i < bindings.length; i++) {
-            var binding = bindings[i];
-            if (matches(binding, d3.event)) {
-                binding.callback();
-            }
-        }
-    }
-
-    function bubble() {
-        var tagName = d3.select(d3.event.target).node().tagName;
-        if (tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA') {
-            return;
-        }
-        capture();
-    }
-
-    function keybinding(selection) {
-        selection = selection || d3.select(document);
-        selection.on('keydown.capture' + namespace, capture, true);
-        selection.on('keydown.bubble' + namespace, bubble, false);
-        return keybinding;
-    }
-
-    keybinding.off = function(selection) {
-        selection = selection || d3.select(document);
-        selection.on('keydown.capture' + namespace, null);
-        selection.on('keydown.bubble' + namespace, null);
-        return keybinding;
-    };
-
-    keybinding.on = function(code, callback, capture) {
-        var binding = {
-            event: {
-                keyCode: 0,
-                shiftKey: false,
-                ctrlKey: false,
-                altKey: false,
-                metaKey: false
-            },
-            capture: capture,
-            callback: callback
-        };
-
-        code = code.toLowerCase().match(/(?:(?:[^+⇧⌃⌥⌘])+|[⇧⌃⌥⌘]|\+\+|^\+$)/g);
-
-        for (var i = 0; i < code.length; i++) {
-            // Normalise matching errors
-            if (code[i] === '++') code[i] = '+';
-
-            if (code[i] in d3.keybinding.modifierCodes) {
-                binding.event[d3.keybinding.modifierProperties[d3.keybinding.modifierCodes[code[i]]]] = true;
-            } else if (code[i] in d3.keybinding.keyCodes) {
-                binding.event.keyCode = d3.keybinding.keyCodes[code[i]];
-            }
-        }
-
-        bindings.push(binding);
-
-        return keybinding;
-    };
-
-    return keybinding;
-};
-
 (function () {
-    d3.keybinding.modifierCodes = {
-        // Shift key, ⇧
-        '⇧': 16, shift: 16,
-        // CTRL key, on Mac: ⌃
-        '⌃': 17, ctrl: 17,
-        // ALT key, on Mac: ⌥ (Alt)
-        '⌥': 18, alt: 18, option: 18,
-        // META, on Mac: ⌘ (CMD), on Windows (Win), on Linux (Super)
-        '⌘': 91, meta: 91, cmd: 91, 'super': 91, win: 91
-    };
-
-    d3.keybinding.modifierProperties = {
-        16: 'shiftKey',
-        17: 'ctrlKey',
-        18: 'altKey',
-        91: 'metaKey'
-    };
-
-    d3.keybinding.keyCodes = {
-        // Backspace key, on Mac: ⌫ (Backspace)
-        '⌫': 8, backspace: 8,
-        // Tab Key, on Mac: ⇥ (Tab), on Windows ⇥⇥
-        '⇥': 9, '⇆': 9, tab: 9,
-        // Return key, ↩
-        '↩': 13, 'return': 13, enter: 13, '⌅': 13,
-        // Pause/Break key
-        'pause': 19, 'pause-break': 19,
-        // Caps Lock key, ⇪
-        '⇪': 20, caps: 20, 'caps-lock': 20,
-        // Escape key, on Mac: ⎋, on Windows: Esc
-        '⎋': 27, escape: 27, esc: 27,
-        // Space key
-        space: 32,
-        // Page-Up key, or pgup, on Mac: ↖
-        '↖': 33, pgup: 33, 'page-up': 33,
-        // Page-Down key, or pgdown, on Mac: ↘
-        '↘': 34, pgdown: 34, 'page-down': 34,
-        // END key, on Mac: ⇟
-        '⇟': 35, end: 35,
-        // HOME key, on Mac: ⇞
-        '⇞': 36, home: 36,
-        // Insert key, or ins
-        ins: 45, insert: 45,
-        // Delete key, on Mac: ⌦ (Delete)
-        '⌦': 46, del: 46, 'delete': 46,
-        // Left Arrow Key, or ←
-        '←': 37, left: 37, 'arrow-left': 37,
-        // Up Arrow Key, or ↑
-        '↑': 38, up: 38, 'arrow-up': 38,
-        // Right Arrow Key, or →
-        '→': 39, right: 39, 'arrow-right': 39,
-        // Up Arrow Key, or ↓
-        '↓': 40, down: 40, 'arrow-down': 40,
-        // odities, printing characters that come out wrong:
-        // Num-Multiply, or *
-        '*': 106, star: 106, asterisk: 106, multiply: 106,
-        // Num-Plus or +
-        '+': 107, 'plus': 107,
-        // Num-Subtract, or -
-        '-': 109, subtract: 109,
-        // Semicolon
-        ';': 186, semicolon:186,
-        // = or equals
-        '=': 187, 'equals': 187,
-        // Comma, or ,
-        ',': 188, comma: 188,
-        'dash': 189, //???
-        // Period, or ., or full-stop
-        '.': 190, period: 190, 'full-stop': 190,
-        // Slash, or /, or forward-slash
-        '/': 191, slash: 191, 'forward-slash': 191,
-        // Tick, or `, or back-quote
-        '`': 192, tick: 192, 'back-quote': 192,
-        // Open bracket, or [
-        '[': 219, 'open-bracket': 219,
-        // Back slash, or \
-        '\\': 220, 'back-slash': 220,
-        // Close backet, or ]
-        ']': 221, 'close-bracket': 221,
-        // Apostrophe, or Quote, or '
-        '\'': 222, quote: 222, apostrophe: 222
-    };
-
-    // NUMPAD 0-9
-    var i = 95, n = 0;
-    while (++i < 106) {
-        d3.keybinding.keyCodes['num-' + n] = i;
-        ++n;
-    }
-
-    // 0-9
-    i = 47; n = 0;
-    while (++i < 58) {
-        d3.keybinding.keyCodes[n] = i;
-        ++n;
-    }
-
-    // F1-F25
-    i = 111; n = 1;
-    while (++i < 136) {
-        d3.keybinding.keyCodes['f' + n] = i;
-        ++n;
-    }
-
-    // a-z
-    i = 64;
-    while (++i < 91) {
-        d3.keybinding.keyCodes[String.fromCharCode(i).toLowerCase()] = i;
-    }
-})();
-d3.selection.prototype.one = function (type, listener, capture) {
-    var target = this, typeOnce = type + ".once";
-    function one() {
-        target.on(typeOnce, null);
-        listener.apply(this, arguments);
-    }
-    target.on(typeOnce, one, capture);
-    return this;
-};
-d3.selection.prototype.dimensions = function (dimensions) {
-    if (!arguments.length) {
-        var node = this.node();
-        return [node.offsetWidth,
-                node.offsetHeight];
-    }
-    return this.attr({width: dimensions[0], height: dimensions[1]});
-};
-d3.selection.prototype.trigger = function (type) {
-    this.each(function() {
-        var evt = document.createEvent('HTMLEvents');
-        evt.initEvent(type, true, true);
-        this.dispatchEvent(evt);
-    });
-};
-d3.typeahead = function() {
-    var event = d3.dispatch('accept'),
-        autohighlight = false,
-        data;
-
-    var typeahead = function(selection) {
-        var container,
-            hidden,
-            idx = autohighlight ? 0 : -1;
-
-        function setup() {
-            var rect = selection.node().getBoundingClientRect();
-            container = d3.select(document.body)
-                .append('div').attr('class', 'typeahead')
-                .style({
-                    position: 'absolute',
-                    left: rect.left + 'px',
-                    top: rect.bottom + 'px'
-                });
-            selection
-                .on('keyup.typeahead', key);
-            hidden = false;
-        }
-
-        function hide() {
-            container.remove();
-            idx = autohighlight ? 0 : -1;
-            hidden = true;
-        }
-
-        function slowHide() {
-            if (autohighlight) {
-                if (container.select('a.selected').node()) {
-                    select(container.select('a.selected').datum());
-                    event.accept();
-                }
-            }
-            window.setTimeout(hide, 150);
-        }
-
-        selection
-            .on('focus.typeahead', setup)
-            .on('blur.typeahead', slowHide);
-
-        function key() {
-           var len = container.selectAll('a').data().length;
-           if (d3.event.keyCode === 40) {
-               idx = Math.min(idx + 1, len - 1);
-               return highlight();
-           } else if (d3.event.keyCode === 38) {
-               idx = Math.max(idx - 1, 0);
-               return highlight();
-           } else if (d3.event.keyCode === 13) {
-               if (container.select('a.selected').node()) {
-                   select(container.select('a.selected').datum());
-               }
-               event.accept();
-               hide();
-           } else {
-               update();
-           }
-        }
-
-        function highlight() {
-            container
-                .selectAll('a')
-                .classed('selected', function(d, i) { return i == idx; });
-        }
-
-        function update() {
-            if (hidden) setup();
-
-            data(selection, function(data) {
-                container.style('display', function() {
-                    return data.length ? 'block' : 'none';
-                });
-
-                var options = container
-                    .selectAll('a')
-                    .data(data, function(d) { return d.value; });
-
-                options.enter()
-                    .append('a')
-                    .text(function(d) { return d.value; })
-                    .attr('title', function(d) { return d.title; })
-                    .on('click', select);
-
-                options.exit().remove();
-
-                options
-                    .classed('selected', function(d, i) { return i == idx; });
-            });
-        }
-
-        function select(d) {
-            selection
-                .property('value', d.value)
-                .trigger('change');
-        }
-
-    };
-
-    typeahead.data = function(_) {
-        if (!arguments.length) return data;
-        data = _;
-        return typeahead;
-    };
-
-    typeahead.autohighlight = function(_) {
-        if (!arguments.length) return autohighlight;
-        autohighlight = _;
-        return typeahead;
-    };
-
-    return d3.rebind(typeahead, event, 'on');
-};
-// Tooltips and svg mask used to highlight certain features
-d3.curtain = function() {
-
-    var event = d3.dispatch(),
-        surface,
-        tooltip,
-        darkness;
-
-    function curtain(selection) {
-
-        surface = selection.append('svg')
-            .attr('id', 'curtain')
-            .style({
-                'z-index': 1000,
-                'pointer-events': 'none',
-                'position': 'absolute',
-                'top': 0,
-                'left': 0
-            });
-
-        darkness = surface.append('path')
-            .attr({
-                x: 0,
-                y: 0,
-                'class': 'curtain-darkness'
-            });
-
-        d3.select(window).on('resize.curtain', resize);
-
-        tooltip = selection.append('div')
-            .attr('class', 'tooltip')
-            .style('z-index', 1002);
-
-        tooltip.append('div').attr('class', 'tooltip-arrow');
-        tooltip.append('div').attr('class', 'tooltip-inner');
-
-        resize();
-
-        function resize() {
-            surface.attr({
-                width: window.innerWidth,
-                height: window.innerHeight
-            });
-            curtain.cut(darkness.datum());
-        }
-    }
-
-    curtain.reveal = function(box, text, tooltipclass, duration) {
-        if (typeof box === 'string') box = d3.select(box).node();
-        if (box.getBoundingClientRect) box = box.getBoundingClientRect();
-
-        curtain.cut(box, duration);
-
-        if (text) {
-            // pseudo markdown bold text hack
-            var parts = text.split('**');
-            var html = parts[0] ? '<span>' + parts[0] + '</span>' : '';
-            if (parts[1]) html += '<span class="bold">' + parts[1] + '</span>';
-
-            var dimensions = tooltip.classed('in', true)
-                .select('.tooltip-inner')
-                    .html(html)
-                    .dimensions();
-
-            var pos;
-
-            var w = window.innerWidth,
-                h = window.innerHeight;
-
-            if (box.top + box.height < Math.min(100, box.width + box.left)) {
-                side = 'bottom';
-                pos = [box.left + box.width / 2 - dimensions[0]/ 2, box.top + box.height];
-
-            } else if (box.left + box.width + 300 < window.innerWidth) {
-                side = 'right';
-                pos = [box.left + box.width, box.top + box.height / 2 - dimensions[1] / 2];
-
-            } else if (box.left > 300) {
-                side = 'left';
-                pos = [box.left - 200, box.top + box.height / 2 - dimensions[1] / 2];
-            } else {
-                side = 'bottom';
-                pos = [box.left, box.top + box.height];
-            }
-
-            pos = [
-                Math.min(Math.max(10, pos[0]), w - dimensions[0] - 10),
-                Math.min(Math.max(10, pos[1]), h - dimensions[1] - 10)
-            ];
-
-
-            if (duration !== 0 || !tooltip.classed(side)) tooltip.call(iD.ui.Toggle(true));
-
-            tooltip
-                .style('top', pos[1] + 'px')
-                .style('left', pos[0] + 'px')
-                .attr('class', 'curtain-tooltip tooltip in ' + side + ' ' + tooltipclass)
-                .select('.tooltip-inner')
-                    .html(html);
-
-        } else {
-            tooltip.call(iD.ui.Toggle(false));
-        }
-    };
-
-    curtain.cut = function(datum, duration) {
-        darkness.datum(datum);
-
-        (duration === 0 ? darkness : darkness.transition().duration(duration || 600))
-            .attr('d', function(d) {
-                var string = "M 0,0 L 0," + window.innerHeight + " L " +
-                    window.innerWidth + "," + window.innerHeight + "L" +
-                    window.innerWidth + ",0 Z";
-
-                if (!d) return string;
-                return string + 'M' +
-                    d.left + ',' + d.top + 'L' +
-                    d.left + ',' + (d.top + d.height) + 'L' +
-                    (d.left + d.width) + ',' + (d.top + d.height) + 'L' +
-                    (d.left + d.width) + ',' + (d.top) + 'Z';
-
-            });
-    };
-
-    curtain.remove = function() {
-        surface.remove();
-        tooltip.remove();
-    };
-
-    return d3.rebind(curtain, event, 'on');
-};
-// Like selection.property('value', ...), but avoids no-op value sets,
-// which can result in layout/repaint thrashing in some situations.
-d3.selection.prototype.value = function(value) {
-    function d3_selection_value(value) {
-      function valueNull() {
-        delete this.value;
-      }
-
-      function valueConstant() {
-        if (this.value !== value) this.value = value;
-      }
-
-      function valueFunction() {
-        var x = value.apply(this, arguments);
-        if (x == null) delete this.value;
-        else if (this.value !== x) this.value = x;
-      }
-
-      return value == null
-          ? valueNull : (typeof value === "function"
-          ? valueFunction : valueConstant);
-    }
-
-    if (!arguments.length) return this.property('value');
-    return this.each(d3_selection_value(value));
-};
-var JXON = new (function () {
-  var
-    sValueProp = "keyValue", sAttributesProp = "keyAttributes", sAttrPref = "@", /* you can customize these values */
-    aCache = [], rIsNull = /^\s*$/, rIsBool = /^(?:true|false)$/i;
-
-  function parseText (sValue) {
-    if (rIsNull.test(sValue)) { return null; }
-    if (rIsBool.test(sValue)) { return sValue.toLowerCase() === "true"; }
-    if (isFinite(sValue)) { return parseFloat(sValue); }
-    if (isFinite(Date.parse(sValue))) { return new Date(sValue); }
-    return sValue;
-  }
-
-  function EmptyTree () { }
-  EmptyTree.prototype.toString = function () { return "null"; };
-  EmptyTree.prototype.valueOf = function () { return null; };
-
-  function objectify (vValue) {
-    return vValue === null ? new EmptyTree() : vValue instanceof Object ? vValue : new vValue.constructor(vValue);
-  }
-
-  function createObjTree (oParentNode, nVerb, bFreeze, bNesteAttr) {
-    var
-      nLevelStart = aCache.length, bChildren = oParentNode.hasChildNodes(),
-      bAttributes = oParentNode.hasAttributes(), bHighVerb = Boolean(nVerb & 2);
-
-    var
-      sProp, vContent, nLength = 0, sCollectedTxt = "",
-      vResult = bHighVerb ? {} : /* put here the default value for empty nodes: */ true;
-
-    if (bChildren) {
-      for (var oNode, nItem = 0; nItem < oParentNode.childNodes.length; nItem++) {
-        oNode = oParentNode.childNodes.item(nItem);
-        if (oNode.nodeType === 4) { sCollectedTxt += oNode.nodeValue; } /* nodeType is "CDATASection" (4) */
-        else if (oNode.nodeType === 3) { sCollectedTxt += oNode.nodeValue.trim(); } /* nodeType is "Text" (3) */
-        else if (oNode.nodeType === 1 && !oNode.prefix) { aCache.push(oNode); } /* nodeType is "Element" (1) */
-      }
-    }
-
-    var nLevelEnd = aCache.length, vBuiltVal = parseText(sCollectedTxt);
-
-    if (!bHighVerb && (bChildren || bAttributes)) { vResult = nVerb === 0 ? objectify(vBuiltVal) : {}; }
-
-    for (var nElId = nLevelStart; nElId < nLevelEnd; nElId++) {
-      sProp = aCache[nElId].nodeName.toLowerCase();
-      vContent = createObjTree(aCache[nElId], nVerb, bFreeze, bNesteAttr);
-      if (vResult.hasOwnProperty(sProp)) {
-        if (vResult[sProp].constructor !== Array) { vResult[sProp] = [vResult[sProp]]; }
-        vResult[sProp].push(vContent);
-      } else {
-        vResult[sProp] = vContent;
-        nLength++;
-      }
-    }
-
-    if (bAttributes) {
-      var
-        nAttrLen = oParentNode.attributes.length,
-        sAPrefix = bNesteAttr ? "" : sAttrPref, oAttrParent = bNesteAttr ? {} : vResult;
-
-      for (var oAttrib, nAttrib = 0; nAttrib < nAttrLen; nLength++, nAttrib++) {
-        oAttrib = oParentNode.attributes.item(nAttrib);
-        oAttrParent[sAPrefix + oAttrib.name.toLowerCase()] = parseText(oAttrib.value.trim());
-      }
-
-      if (bNesteAttr) {
-        if (bFreeze) { Object.freeze(oAttrParent); }
-        vResult[sAttributesProp] = oAttrParent;
-        nLength -= nAttrLen - 1;
-      }
-    }
-
-    if (nVerb === 3 || (nVerb === 2 || nVerb === 1 && nLength > 0) && sCollectedTxt) {
-      vResult[sValueProp] = vBuiltVal;
-    } else if (!bHighVerb && nLength === 0 && sCollectedTxt) {
-      vResult = vBuiltVal;
-    }
-
-    if (bFreeze && (bHighVerb || nLength > 0)) { Object.freeze(vResult); }
-
-    aCache.length = nLevelStart;
-
-    return vResult;
-  }
-
-  function loadObjTree (oXMLDoc, oParentEl, oParentObj) {
-    var vValue, oChild;
-
-    if (oParentObj instanceof String || oParentObj instanceof Number || oParentObj instanceof Boolean) {
-      oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toString())); /* verbosity level is 0 */
-    } else if (oParentObj.constructor === Date) {
-      oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toGMTString()));    
-    }
-
-    for (var sName in oParentObj) {
-      vValue = oParentObj[sName];
-      if (isFinite(sName) || vValue instanceof Function) { continue; } /* verbosity level is 0 */
-      if (sName === sValueProp) {
-        if (vValue !== null && vValue !== true) { oParentEl.appendChild(oXMLDoc.createTextNode(vValue.constructor === Date ? vValue.toGMTString() : String(vValue))); }
-      } else if (sName === sAttributesProp) { /* verbosity level is 3 */
-        for (var sAttrib in vValue) { oParentEl.setAttribute(sAttrib, vValue[sAttrib]); }
-      } else if (sName.charAt(0) === sAttrPref) {
-        oParentEl.setAttribute(sName.slice(1), vValue);
-      } else if (vValue.constructor === Array) {
-        for (var nItem = 0; nItem < vValue.length; nItem++) {
-          oChild = oXMLDoc.createElement(sName);
-          loadObjTree(oXMLDoc, oChild, vValue[nItem]);
-          oParentEl.appendChild(oChild);
-        }
-      } else {
-        oChild = oXMLDoc.createElement(sName);
-        if (vValue instanceof Object) {
-          loadObjTree(oXMLDoc, oChild, vValue);
-        } else if (vValue !== null && vValue !== true) {
-          oChild.appendChild(oXMLDoc.createTextNode(vValue.toString()));
-        }
-        oParentEl.appendChild(oChild);
-     }
-   }
-  }
-
-  this.build = function (oXMLParent, nVerbosity /* optional */, bFreeze /* optional */, bNesteAttributes /* optional */) {
-    var _nVerb = arguments.length > 1 && typeof nVerbosity === "number" ? nVerbosity & 3 : /* put here the default verbosity level: */ 1;
-    return createObjTree(oXMLParent, _nVerb, bFreeze || false, arguments.length > 3 ? bNesteAttributes : _nVerb === 3);    
-  };
-
-  this.unbuild = function (oObjTree) {    
-    var oNewDoc = document.implementation.createDocument("", "", null);
-    loadObjTree(oNewDoc, oNewDoc, oObjTree);
-    return oNewDoc;
-  };
-
-  this.stringify = function (oObjTree) {
-    return (new XMLSerializer()).serializeToString(JXON.unbuild(oObjTree));
-  };
-})();
-// var myObject = JXON.build(doc);
-// we got our javascript object! try: alert(JSON.stringify(myObject));
-
-// var newDoc = JXON.unbuild(myObject);
-// we got our Document instance! try: alert((new XMLSerializer()).serializeToString(newDoc));
-/**
- * @license
- * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>
- * Build: `lodash --debug --output js/lib/lodash.js include="any,assign,bind,clone,compact,contains,debounce,difference,each,every,extend,filter,find,first,forEach,groupBy,indexOf,intersection,isEmpty,isEqual,isFunction,keys,last,map,omit,pairs,pluck,reject,some,throttle,union,uniq,unique,values,without,flatten,value,chain,cloneDeep,merge,pick,reduce" exports="global,node"`
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- * Available under MIT license <http://lodash.com/license>
- */
-;(function() {
-
-  /** Used as a safe reference for `undefined` in pre ES5 environments */
-  var undefined;
-
-  /** Used to pool arrays and objects used internally */
-  var arrayPool = [],
-      objectPool = [];
-
-  /** Used internally to indicate various things */
-  var indicatorObject = {};
-
-  /** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */
-  var keyPrefix = +new Date + '';
-
-  /** Used as the size when optimizations are enabled for large arrays */
-  var largeArraySize = 75;
-
-  /** Used as the max size of the `arrayPool` and `objectPool` */
-  var maxPoolSize = 40;
-
-  /** Used to match regexp flags from their coerced string values */
-  var reFlags = /\w*$/;
-
-  /** Used to detected named functions */
-  var reFuncName = /^\s*function[ \n\r\t]+\w/;
-
-  /** Used to detect functions containing a `this` reference */
-  var reThis = /\bthis\b/;
-
-  /** Used to fix the JScript [[DontEnum]] bug */
-  var shadowedProps = [
-    'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable',
-    'toLocaleString', 'toString', 'valueOf'
-  ];
-
-  /** `Object#toString` result shortcuts */
-  var argsClass = '[object Arguments]',
-      arrayClass = '[object Array]',
-      boolClass = '[object Boolean]',
-      dateClass = '[object Date]',
-      errorClass = '[object Error]',
-      funcClass = '[object Function]',
-      numberClass = '[object Number]',
-      objectClass = '[object Object]',
-      regexpClass = '[object RegExp]',
-      stringClass = '[object String]';
-
-  /** Used to identify object classifications that `_.clone` supports */
-  var cloneableClasses = {};
-  cloneableClasses[funcClass] = false;
-  cloneableClasses[argsClass] = cloneableClasses[arrayClass] =
-  cloneableClasses[boolClass] = cloneableClasses[dateClass] =
-  cloneableClasses[numberClass] = cloneableClasses[objectClass] =
-  cloneableClasses[regexpClass] = cloneableClasses[stringClass] = true;
-
-  /** Used as an internal `_.debounce` options object */
-  var debounceOptions = {
-    'leading': false,
-    'maxWait': 0,
-    'trailing': false
-  };
-
-  /** Used as the property descriptor for `__bindData__` */
-  var descriptor = {
-    'configurable': false,
-    'enumerable': false,
-    'value': null,
-    'writable': false
-  };
-
-  /** Used as the data object for `iteratorTemplate` */
-  var iteratorData = {
-    'args': '',
-    'array': null,
-    'bottom': '',
-    'firstArg': '',
-    'init': '',
-    'keys': null,
-    'loop': '',
-    'shadowedProps': null,
-    'support': null,
-    'top': '',
-    'useHas': false
-  };
-
-  /** Used to determine if values are of the language type Object */
-  var objectTypes = {
-    'boolean': false,
-    'function': true,
-    'object': true,
-    'number': false,
-    'string': false,
-    'undefined': false
-  };
-
-  /** Used as a reference to the global object */
-  var root = (objectTypes[typeof window] && window) || this;
-
-  /** Detect free variable `exports` */
-  var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;
-
-  /** Detect free variable `module` */
-  var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;
-
-  /** Detect the popular CommonJS extension `module.exports` */
-  var moduleExports = freeModule && freeModule.exports === freeExports && freeExports;
-
-  /** Detect free variable `global` from Node.js or Browserified code and use it as `root` */
-  var freeGlobal = objectTypes[typeof global] && global;
-  if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
-    root = freeGlobal;
-  }
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * The base implementation of `_.indexOf` without support for binary searches
-   * or `fromIndex` constraints.
-   *
-   * @private
-   * @param {Array} array The array to search.
-   * @param {*} value The value to search for.
-   * @param {number} [fromIndex=0] The index to search from.
-   * @returns {number} Returns the index of the matched value or `-1`.
-   */
-  function baseIndexOf(array, value, fromIndex) {
-    var index = (fromIndex || 0) - 1,
-        length = array ? array.length : 0;
-
-    while (++index < length) {
-      if (array[index] === value) {
-        return index;
-      }
-    }
-    return -1;
-  }
-
-  /**
-   * An implementation of `_.contains` for cache objects that mimics the return
-   * signature of `_.indexOf` by returning `0` if the value is found, else `-1`.
-   *
-   * @private
-   * @param {Object} cache The cache object to inspect.
-   * @param {*} value The value to search for.
-   * @returns {number} Returns `0` if `value` is found, else `-1`.
-   */
-  function cacheIndexOf(cache, value) {
-    var type = typeof value;
-    cache = cache.cache;
-
-    if (type == 'boolean' || value == null) {
-      return cache[value] ? 0 : -1;
-    }
-    if (type != 'number' && type != 'string') {
-      type = 'object';
-    }
-    var key = type == 'number' ? value : keyPrefix + value;
-    cache = (cache = cache[type]) && cache[key];
-
-    return type == 'object'
-      ? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)
-      : (cache ? 0 : -1);
-  }
-
-  /**
-   * Adds a given value to the corresponding cache object.
-   *
-   * @private
-   * @param {*} value The value to add to the cache.
-   */
-  function cachePush(value) {
-    var cache = this.cache,
-        type = typeof value;
-
-    if (type == 'boolean' || value == null) {
-      cache[value] = true;
-    } else {
-      if (type != 'number' && type != 'string') {
-        type = 'object';
-      }
-      var key = type == 'number' ? value : keyPrefix + value,
-          typeCache = cache[type] || (cache[type] = {});
-
-      if (type == 'object') {
-        (typeCache[key] || (typeCache[key] = [])).push(value);
-      } else {
-        typeCache[key] = true;
-      }
-    }
-  }
-
-  /**
-   * Creates a cache object to optimize linear searches of large arrays.
-   *
-   * @private
-   * @param {Array} [array=[]] The array to search.
-   * @returns {null|Object} Returns the cache object or `null` if caching should not be used.
-   */
-  function createCache(array) {
-    var index = -1,
-        length = array.length,
-        first = array[0],
-        mid = array[(length / 2) | 0],
-        last = array[length - 1];
-
-    if (first && typeof first == 'object' &&
-        mid && typeof mid == 'object' && last && typeof last == 'object') {
-      return false;
-    }
-    var cache = getObject();
-    cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;
-
-    var result = getObject();
-    result.array = array;
-    result.cache = cache;
-    result.push = cachePush;
-
-    while (++index < length) {
-      result.push(array[index]);
-    }
-    return result;
-  }
-
-  /**
-   * Gets an array from the array pool or creates a new one if the pool is empty.
-   *
-   * @private
-   * @returns {Array} The array from the pool.
-   */
-  function getArray() {
-    return arrayPool.pop() || [];
-  }
-
-  /**
-   * Gets an object from the object pool or creates a new one if the pool is empty.
-   *
-   * @private
-   * @returns {Object} The object from the pool.
-   */
-  function getObject() {
-    return objectPool.pop() || {
-      'array': null,
-      'cache': null,
-      'false': false,
-      'null': false,
-      'number': null,
-      'object': null,
-      'push': null,
-      'string': null,
-      'true': false,
-      'undefined': false
-    };
-  }
-
-  /**
-   * Checks if `value` is a DOM node in IE < 9.
-   *
-   * @private
-   * @param {*} value The value to check.
-   * @returns {boolean} Returns `true` if the `value` is a DOM node, else `false`.
-   */
-  function isNode(value) {
-    // IE < 9 presents DOM nodes as `Object` objects except they have `toString`
-    // methods that are `typeof` "string" and still can coerce nodes to strings
-    return typeof value.toString != 'function' && typeof (value + '') == 'string';
-  }
-
-  /**
-   * Releases the given array back to the array pool.
-   *
-   * @private
-   * @param {Array} [array] The array to release.
-   */
-  function releaseArray(array) {
-    array.length = 0;
-    if (arrayPool.length < maxPoolSize) {
-      arrayPool.push(array);
-    }
-  }
-
-  /**
-   * Releases the given object back to the object pool.
-   *
-   * @private
-   * @param {Object} [object] The object to release.
-   */
-  function releaseObject(object) {
-    var cache = object.cache;
-    if (cache) {
-      releaseObject(cache);
-    }
-    object.array = object.cache =object.object = object.number = object.string =null;
-    if (objectPool.length < maxPoolSize) {
-      objectPool.push(object);
-    }
-  }
-
-  /**
-   * Slices the `collection` from the `start` index up to, but not including,
-   * the `end` index.
-   *
-   * Note: This function is used instead of `Array#slice` to support node lists
-   * in IE < 9 and to ensure dense arrays are returned.
-   *
-   * @private
-   * @param {Array|Object|string} collection The collection to slice.
-   * @param {number} start The start index.
-   * @param {number} end The end index.
-   * @returns {Array} Returns the new array.
-   */
-  function slice(array, start, end) {
-    start || (start = 0);
-    if (typeof end == 'undefined') {
-      end = array ? array.length : 0;
-    }
-    var index = -1,
-        length = end - start || 0,
-        result = Array(length < 0 ? 0 : length);
-
-    while (++index < length) {
-      result[index] = array[start + index];
-    }
-    return result;
-  }
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * Used for `Array` method references.
-   *
-   * Normally `Array.prototype` would suffice, however, using an array literal
-   * avoids issues in Narwhal.
-   */
-  var arrayRef = [];
-
-  /** Used for native method references */
-  var errorProto = Error.prototype,
-      objectProto = Object.prototype,
-      stringProto = String.prototype;
-
-  /** Used to resolve the internal [[Class]] of values */
-  var toString = objectProto.toString;
-
-  /** Used to detect if a method is native */
-  var reNative = RegExp('^' +
-    String(toString)
-      .replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
-      .replace(/toString| for [^\]]+/g, '.*?') + '$'
-  );
-
-  /** Native method shortcuts */
-  var fnToString = Function.prototype.toString,
-      getPrototypeOf = reNative.test(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf,
-      hasOwnProperty = objectProto.hasOwnProperty,
-      now = reNative.test(now = Date.now) && now || function() { return +new Date; },
-      push = arrayRef.push,
-      propertyIsEnumerable = objectProto.propertyIsEnumerable;
-
-  /** Used to set meta data on functions */
-  var defineProperty = (function() {
-    // IE 8 only accepts DOM elements
-    try {
-      var o = {},
-          func = reNative.test(func = Object.defineProperty) && func,
-          result = func(o, o, o) && func;
-    } catch(e) { }
-    return result;
-  }());
-
-  /* Native method shortcuts for methods with the same name as other `lodash` methods */
-  var nativeCreate = reNative.test(nativeCreate = Object.create) && nativeCreate,
-      nativeIsArray = reNative.test(nativeIsArray = Array.isArray) && nativeIsArray,
-      nativeKeys = reNative.test(nativeKeys = Object.keys) && nativeKeys,
-      nativeMax = Math.max,
-      nativeMin = Math.min;
-
-  /** Used to lookup a built-in constructor by [[Class]] */
-  var ctorByClass = {};
-  ctorByClass[arrayClass] = Array;
-  ctorByClass[boolClass] = Boolean;
-  ctorByClass[dateClass] = Date;
-  ctorByClass[funcClass] = Function;
-  ctorByClass[objectClass] = Object;
-  ctorByClass[numberClass] = Number;
-  ctorByClass[regexpClass] = RegExp;
-  ctorByClass[stringClass] = String;
-
-  /** Used to avoid iterating non-enumerable properties in IE < 9 */
-  var nonEnumProps = {};
-  nonEnumProps[arrayClass] = nonEnumProps[dateClass] = nonEnumProps[numberClass] = { 'constructor': true, 'toLocaleString': true, 'toString': true, 'valueOf': true };
-  nonEnumProps[boolClass] = nonEnumProps[stringClass] = { 'constructor': true, 'toString': true, 'valueOf': true };
-  nonEnumProps[errorClass] = nonEnumProps[funcClass] = nonEnumProps[regexpClass] = { 'constructor': true, 'toString': true };
-  nonEnumProps[objectClass] = { 'constructor': true };
-
-  (function() {
-    var length = shadowedProps.length;
-    while (length--) {
-      var key = shadowedProps[length];
-      for (var className in nonEnumProps) {
-        if (hasOwnProperty.call(nonEnumProps, className) && !hasOwnProperty.call(nonEnumProps[className], key)) {
-          nonEnumProps[className][key] = false;
-        }
-      }
-    }
-  }());
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * Creates a `lodash` object which wraps the given value to enable intuitive
-   * method chaining.
-   *
-   * In addition to Lo-Dash methods, wrappers also have the following `Array` methods:
-   * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`, `splice`,
-   * and `unshift`
-   *
-   * Chaining is supported in custom builds as long as the `value` method is
-   * implicitly or explicitly included in the build.
-   *
-   * The chainable wrapper functions are:
-   * `after`, `assign`, `bind`, `bindAll`, `bindKey`, `chain`, `compact`,
-   * `compose`, `concat`, `countBy`, `create`, `createCallback`, `curry`,
-   * `debounce`, `defaults`, `defer`, `delay`, `difference`, `filter`, `flatten`,
-   * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`,
-   * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`,
-   * `invoke`, `keys`, `map`, `max`, `memoize`, `merge`, `min`, `object`, `omit`,
-   * `once`, `pairs`, `partial`, `partialRight`, `pick`, `pluck`, `pull`, `push`,
-   * `range`, `reject`, `remove`, `rest`, `reverse`, `shuffle`, `slice`, `sort`,
-   * `sortBy`, `splice`, `tap`, `throttle`, `times`, `toArray`, `transform`,
-   * `union`, `uniq`, `unshift`, `unzip`, `values`, `where`, `without`, `wrap`,
-   * and `zip`
-   *
-   * The non-chainable wrapper functions are:
-   * `clone`, `cloneDeep`, `contains`, `escape`, `every`, `find`, `findIndex`,
-   * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `has`, `identity`,
-   * `indexOf`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`,
-   * `isEmpty`, `isEqual`, `isFinite`, `isFunction`, `isNaN`, `isNull`, `isNumber`,
-   * `isObject`, `isPlainObject`, `isRegExp`, `isString`, `isUndefined`, `join`,
-   * `lastIndexOf`, `mixin`, `noConflict`, `parseInt`, `pop`, `random`, `reduce`,
-   * `reduceRight`, `result`, `shift`, `size`, `some`, `sortedIndex`, `runInContext`,
-   * `template`, `unescape`, `uniqueId`, and `value`
-   *
-   * The wrapper functions `first` and `last` return wrapped values when `n` is
-   * provided, otherwise they return unwrapped values.
-   *
-   * Explicit chaining can be enabled by using the `_.chain` method.
-   *
-   * @name _
-   * @constructor
-   * @category Chaining
-   * @param {*} value The value to wrap in a `lodash` instance.
-   * @returns {Object} Returns a `lodash` instance.
-   * @example
-   *
-   * var wrapped = _([1, 2, 3]);
-   *
-   * // returns an unwrapped value
-   * wrapped.reduce(function(sum, num) {
-   *   return sum + num;
-   * });
-   * // => 6
-   *
-   * // returns a wrapped value
-   * var squares = wrapped.map(function(num) {
-   *   return num * num;
-   * });
-   *
-   * _.isArray(squares);
-   * // => false
-   *
-   * _.isArray(squares.value());
-   * // => true
-   */
-  function lodash(value) {
-    // don't wrap if already wrapped, even if wrapped by a different `lodash` constructor
-    return (value && typeof value == 'object' && !isArray(value) && hasOwnProperty.call(value, '__wrapped__'))
-     ? value
-     : new lodashWrapper(value);
-  }
-
-  /**
-   * A fast path for creating `lodash` wrapper objects.
-   *
-   * @private
-   * @param {*} value The value to wrap in a `lodash` instance.
-   * @param {boolean} chainAll A flag to enable chaining for all methods
-   * @returns {Object} Returns a `lodash` instance.
-   */
-  function lodashWrapper(value, chainAll) {
-    this.__chain__ = !!chainAll;
-    this.__wrapped__ = value;
-  }
-  // ensure `new lodashWrapper` is an instance of `lodash`
-  lodashWrapper.prototype = lodash.prototype;
-
-  /**
-   * An object used to flag environments features.
-   *
-   * @static
-   * @memberOf _
-   * @type Object
-   */
-  var support = lodash.support = {};
-
-  (function() {
-    var ctor = function() { this.x = 1; },
-        object = { '0': 1, 'length': 1 },
-        props = [];
-
-    ctor.prototype = { 'valueOf': 1, 'y': 1 };
-    for (var key in new ctor) { props.push(key); }
-    for (key in arguments) { }
-
-    /**
-     * Detect if an `arguments` object's [[Class]] is resolvable (all but Firefox < 4, IE < 9).
-     *
-     * @memberOf _.support
-     * @type boolean
-     */
-    support.argsClass = toString.call(arguments) == argsClass;
-
-    /**
-     * Detect if `arguments` objects are `Object` objects (all but Narwhal and Opera < 10.5).
-     *
-     * @memberOf _.support
-     * @type boolean
-     */
-    support.argsObject = arguments.constructor == Object && !(arguments instanceof Array);
-
-    /**
-     * Detect if `name` or `message` properties of `Error.prototype` are
-     * enumerable by default. (IE < 9, Safari < 5.1)
-     *
-     * @memberOf _.support
-     * @type boolean
-     */
-    support.enumErrorProps = propertyIsEnumerable.call(errorProto, 'message') || propertyIsEnumerable.call(errorProto, 'name');
-
-    /**
-     * Detect if `prototype` properties are enumerable by default.
-     *
-     * Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1
-     * (if the prototype or a property on the prototype has been set)
-     * incorrectly sets a function's `prototype` property [[Enumerable]]
-     * value to `true`.
-     *
-     * @memberOf _.support
-     * @type boolean
-     */
-    support.enumPrototypes = propertyIsEnumerable.call(ctor, 'prototype');
-
-    /**
-     * Detect if functions can be decompiled by `Function#toString`
-     * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).
-     *
-     * @memberOf _.support
-     * @type boolean
-     */
-    support.funcDecomp = !reNative.test(root.WinRTError) && reThis.test(function() { return this; });
-
-    /**
-     * Detect if `Function#name` is supported (all but IE).
-     *
-     * @memberOf _.support
-     * @type boolean
-     */
-    support.funcNames = typeof Function.name == 'string';
-
-    /**
-     * Detect if `arguments` object indexes are non-enumerable
-     * (Firefox < 4, IE < 9, PhantomJS, Safari < 5.1).
-     *
-     * @memberOf _.support
-     * @type boolean
-     */
-    support.nonEnumArgs = key != 0;
-
-    /**
-     * Detect if properties shadowing those on `Object.prototype` are non-enumerable.
-     *
-     * In IE < 9 an objects own properties, shadowing non-enumerable ones, are
-     * made non-enumerable as well (a.k.a the JScript [[DontEnum]] bug).
-     *
-     * @memberOf _.support
-     * @type boolean
-     */
-    support.nonEnumShadows = !/valueOf/.test(props);
-
-    /**
-     * Detect if own properties are iterated after inherited properties (all but IE < 9).
-     *
-     * @memberOf _.support
-     * @type boolean
-     */
-    support.ownLast = props[0] != 'x';
-
-    /**
-     * Detect if `Array#shift` and `Array#splice` augment array-like objects correctly.
-     *
-     * Firefox < 10, IE compatibility mode, and IE < 9 have buggy Array `shift()`
-     * and `splice()` functions that fail to remove the last element, `value[0]`,
-     * of array-like objects even though the `length` property is set to `0`.
-     * The `shift()` method is buggy in IE 8 compatibility mode, while `splice()`
-     * is buggy regardless of mode in IE < 9 and buggy in compatibility mode in IE 9.
-     *
-     * @memberOf _.support
-     * @type boolean
-     */
-    support.spliceObjects = (arrayRef.splice.call(object, 0, 1), !object[0]);
-
-    /**
-     * Detect lack of support for accessing string characters by index.
-     *
-     * IE < 8 can't access characters by index and IE 8 can only access
-     * characters by index on string literals.
-     *
-     * @memberOf _.support
-     * @type boolean
-     */
-    support.unindexedChars = ('x'[0] + Object('x')[0]) != 'xx';
-
-    /**
-     * Detect if a DOM node's [[Class]] is resolvable (all but IE < 9)
-     * and that the JS engine errors when attempting to coerce an object to
-     * a string without a `toString` function.
-     *
-     * @memberOf _.support
-     * @type boolean
-     */
-    try {
-      support.nodeClass = !(toString.call(document) == objectClass && !({ 'toString': 0 } + ''));
-    } catch(e) {
-      support.nodeClass = true;
-    }
-  }(1));
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * The template used to create iterator functions.
-   *
-   * @private
-   * @param {Object} data The data object used to populate the text.
-   * @returns {string} Returns the interpolated text.
-   */
-  var iteratorTemplate = function(obj) {
-
-    var __p = 'var index, iterable = ' +
-    (obj.firstArg) +
-    ', result = ' +
-    (obj.init) +
-    ';\nif (!iterable) return result;\n' +
-    (obj.top) +
-    ';';
-     if (obj.array) {
-    __p += '\nvar length = iterable.length; index = -1;\nif (' +
-    (obj.array) +
-    ') {  ';
-     if (support.unindexedChars) {
-    __p += '\n  if (isString(iterable)) {\n    iterable = iterable.split(\'\')\n  }  ';
-     }
-    __p += '\n  while (++index < length) {\n    ' +
-    (obj.loop) +
-    ';\n  }\n}\nelse {  ';
-     } else if (support.nonEnumArgs) {
-    __p += '\n  var length = iterable.length; index = -1;\n  if (length && isArguments(iterable)) {\n    while (++index < length) {\n      index += \'\';\n      ' +
-    (obj.loop) +
-    ';\n    }\n  } else {  ';
-     }
-
-     if (support.enumPrototypes) {
-    __p += '\n  var skipProto = typeof iterable == \'function\';\n  ';
-     }
-
-     if (support.enumErrorProps) {
-    __p += '\n  var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n  ';
-     }
-
-        var conditions = [];    if (support.enumPrototypes) { conditions.push('!(skipProto && index == "prototype")'); }    if (support.enumErrorProps)  { conditions.push('!(skipErrorProps && (index == "message" || index == "name"))'); }
-
-     if (obj.useHas && obj.keys) {
-    __p += '\n  var ownIndex = -1,\n      ownProps = objectTypes[typeof iterable] && keys(iterable),\n      length = ownProps ? ownProps.length : 0;\n\n  while (++ownIndex < length) {\n    index = ownProps[ownIndex];\n';
-        if (conditions.length) {
-    __p += '    if (' +
-    (conditions.join(' && ')) +
-    ') {\n  ';
-     }
-    __p +=
-    (obj.loop) +
-    ';    ';
-     if (conditions.length) {
-    __p += '\n    }';
-     }
-    __p += '\n  }  ';
-     } else {
-    __p += '\n  for (index in iterable) {\n';
-        if (obj.useHas) { conditions.push("hasOwnProperty.call(iterable, index)"); }    if (conditions.length) {
-    __p += '    if (' +
-    (conditions.join(' && ')) +
-    ') {\n  ';
-     }
-    __p +=
-    (obj.loop) +
-    ';    ';
-     if (conditions.length) {
-    __p += '\n    }';
-     }
-    __p += '\n  }    ';
-     if (support.nonEnumShadows) {
-    __p += '\n\n  if (iterable !== objectProto) {\n    var ctor = iterable.constructor,\n        isProto = iterable === (ctor && ctor.prototype),\n        className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n        nonEnum = nonEnumProps[className];\n      ';
-     for (k = 0; k < 7; k++) {
-    __p += '\n    index = \'' +
-    (obj.shadowedProps[k]) +
-    '\';\n    if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))';
-            if (!obj.useHas) {
-    __p += ' || (!nonEnum[index] && iterable[index] !== objectProto[index])';
-     }
-    __p += ') {\n      ' +
-    (obj.loop) +
-    ';\n    }      ';
-     }
-    __p += '\n  }    ';
-     }
-
-     }
-
-     if (obj.array || support.nonEnumArgs) {
-    __p += '\n}';
-     }
-    __p +=
-    (obj.bottom) +
-    ';\nreturn result';
-
-    return __p
-  };
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * The base implementation of `_.bind` that creates the bound function and
-   * sets its meta data.
-   *
-   * @private
-   * @param {Array} bindData The bind data array.
-   * @returns {Function} Returns the new bound function.
-   */
-  function baseBind(bindData) {
-    var func = bindData[0],
-        partialArgs = bindData[2],
-        thisArg = bindData[4];
-
-    function bound() {
-      // `Function#bind` spec
-      // http://es5.github.io/#x15.3.4.5
-      if (partialArgs) {
-        var args = partialArgs.slice();
-        push.apply(args, arguments);
-      }
-      // mimic the constructor's `return` behavior
-      // http://es5.github.io/#x13.2.2
-      if (this instanceof bound) {
-        // ensure `new bound` is an instance of `func`
-        var thisBinding = baseCreate(func.prototype),
-            result = func.apply(thisBinding, args || arguments);
-        return isObject(result) ? result : thisBinding;
-      }
-      return func.apply(thisArg, args || arguments);
-    }
-    setBindData(bound, bindData);
-    return bound;
-  }
-
-  /**
-   * The base implementation of `_.clone` without argument juggling or support
-   * for `thisArg` binding.
-   *
-   * @private
-   * @param {*} value The value to clone.
-   * @param {boolean} [isDeep=false] Specify a deep clone.
-   * @param {Function} [callback] The function to customize cloning values.
-   * @param {Array} [stackA=[]] Tracks traversed source objects.
-   * @param {Array} [stackB=[]] Associates clones with source counterparts.
-   * @returns {*} Returns the cloned value.
-   */
-  function baseClone(value, isDeep, callback, stackA, stackB) {
-    if (callback) {
-      var result = callback(value);
-      if (typeof result != 'undefined') {
-        return result;
-      }
-    }
-    // inspect [[Class]]
-    var isObj = isObject(value);
-    if (isObj) {
-      var className = toString.call(value);
-      if (!cloneableClasses[className] || (!support.nodeClass && isNode(value))) {
-        return value;
-      }
-      var ctor = ctorByClass[className];
-      switch (className) {
-        case boolClass:
-        case dateClass:
-          return new ctor(+value);
-
-        case numberClass:
-        case stringClass:
-          return new ctor(value);
-
-        case regexpClass:
-          result = ctor(value.source, reFlags.exec(value));
-          result.lastIndex = value.lastIndex;
-          return result;
-      }
-    } else {
-      return value;
-    }
-    var isArr = isArray(value);
-    if (isDeep) {
-      // check for circular references and return corresponding clone
-      var initedStack = !stackA;
-      stackA || (stackA = getArray());
-      stackB || (stackB = getArray());
-
-      var length = stackA.length;
-      while (length--) {
-        if (stackA[length] == value) {
-          return stackB[length];
-        }
-      }
-      result = isArr ? ctor(value.length) : {};
-    }
-    else {
-      result = isArr ? slice(value) : assign({}, value);
-    }
-    // add array properties assigned by `RegExp#exec`
-    if (isArr) {
-      if (hasOwnProperty.call(value, 'index')) {
-        result.index = value.index;
-      }
-      if (hasOwnProperty.call(value, 'input')) {
-        result.input = value.input;
-      }
-    }
-    // exit for shallow clone
-    if (!isDeep) {
-      return result;
-    }
-    // add the source value to the stack of traversed objects
-    // and associate it with its clone
-    stackA.push(value);
-    stackB.push(result);
-
-    // recursively populate clone (susceptible to call stack limits)
-    (isArr ? baseEach : forOwn)(value, function(objValue, key) {
-      result[key] = baseClone(objValue, isDeep, callback, stackA, stackB);
-    });
-
-    if (initedStack) {
-      releaseArray(stackA);
-      releaseArray(stackB);
-    }
-    return result;
-  }
-
-  /**
-   * The base implementation of `_.create` without support for assigning
-   * properties to the created object.
-   *
-   * @private
-   * @param {Object} prototype The object to inherit from.
-   * @returns {Object} Returns the new object.
-   */
-  function baseCreate(prototype, properties) {
-    return isObject(prototype) ? nativeCreate(prototype) : {};
-  }
-  // fallback for browsers without `Object.create`
-  if (!nativeCreate) {
-    baseCreate = (function() {
-      function Object() {}
-      return function(prototype) {
-        if (isObject(prototype)) {
-          Object.prototype = prototype;
-          var result = new Object;
-          Object.prototype = null;
-        }
-        return result || root.Object();
-      };
-    }());
-  }
-
-  /**
-   * The base implementation of `_.createCallback` without support for creating
-   * "_.pluck" or "_.where" style callbacks.
-   *
-   * @private
-   * @param {*} [func=identity] The value to convert to a callback.
-   * @param {*} [thisArg] The `this` binding of the created callback.
-   * @param {number} [argCount] The number of arguments the callback accepts.
-   * @returns {Function} Returns a callback function.
-   */
-  function baseCreateCallback(func, thisArg, argCount) {
-    if (typeof func != 'function') {
-      return identity;
-    }
-    // exit early for no `thisArg` or already bound by `Function#bind`
-    if (typeof thisArg == 'undefined' || !('prototype' in func)) {
-      return func;
-    }
-    var bindData = func.__bindData__;
-    if (typeof bindData == 'undefined') {
-      if (support.funcNames) {
-        bindData = !func.name;
-      }
-      bindData = bindData || !support.funcDecomp;
-      if (!bindData) {
-        var source = fnToString.call(func);
-        if (!support.funcNames) {
-          bindData = !reFuncName.test(source);
-        }
-        if (!bindData) {
-          // checks if `func` references the `this` keyword and stores the result
-          bindData = reThis.test(source);
-          setBindData(func, bindData);
-        }
-      }
-    }
-    // exit early if there are no `this` references or `func` is bound
-    if (bindData === false || (bindData !== true && bindData[1] & 1)) {
-      return func;
-    }
-    switch (argCount) {
-      case 1: return function(value) {
-        return func.call(thisArg, value);
-      };
-      case 2: return function(a, b) {
-        return func.call(thisArg, a, b);
-      };
-      case 3: return function(value, index, collection) {
-        return func.call(thisArg, value, index, collection);
-      };
-      case 4: return function(accumulator, value, index, collection) {
-        return func.call(thisArg, accumulator, value, index, collection);
-      };
-    }
-    return bind(func, thisArg);
-  }
-
-  /**
-   * The base implementation of `createWrapper` that creates the wrapper and
-   * sets its meta data.
-   *
-   * @private
-   * @param {Array} bindData The bind data array.
-   * @returns {Function} Returns the new function.
-   */
-  function baseCreateWrapper(bindData) {
-    var func = bindData[0],
-        bitmask = bindData[1],
-        partialArgs = bindData[2],
-        partialRightArgs = bindData[3],
-        thisArg = bindData[4],
-        arity = bindData[5];
-
-    var isBind = bitmask & 1,
-        isBindKey = bitmask & 2,
-        isCurry = bitmask & 4,
-        isCurryBound = bitmask & 8,
-        key = func;
-
-    function bound() {
-      var thisBinding = isBind ? thisArg : this;
-      if (partialArgs) {
-        var args = partialArgs.slice();
-        push.apply(args, arguments);
-      }
-      if (partialRightArgs || isCurry) {
-        args || (args = slice(arguments));
-        if (partialRightArgs) {
-          push.apply(args, partialRightArgs);
-        }
-        if (isCurry && args.length < arity) {
-          bitmask |= 16 & ~32;
-          return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]);
-        }
-      }
-      args || (args = arguments);
-      if (isBindKey) {
-        func = thisBinding[key];
-      }
-      if (this instanceof bound) {
-        thisBinding = baseCreate(func.prototype);
-        var result = func.apply(thisBinding, args);
-        return isObject(result) ? result : thisBinding;
-      }
-      return func.apply(thisBinding, args);
-    }
-    setBindData(bound, bindData);
-    return bound;
-  }
-
-  /**
-   * The base implementation of `_.difference` that accepts a single array
-   * of values to exclude.
-   *
-   * @private
-   * @param {Array} array The array to process.
-   * @param {Array} [values] The array of values to exclude.
-   * @returns {Array} Returns a new array of filtered values.
-   */
-  function baseDifference(array, values) {
-    var index = -1,
-        indexOf = getIndexOf(),
-        length = array ? array.length : 0,
-        isLarge = length >= largeArraySize && indexOf === baseIndexOf,
-        result = [];
-
-    if (isLarge) {
-      var cache = createCache(values);
-      if (cache) {
-        indexOf = cacheIndexOf;
-        values = cache;
-      } else {
-        isLarge = false;
-      }
-    }
-    while (++index < length) {
-      var value = array[index];
-      if (indexOf(values, value) < 0) {
-        result.push(value);
-      }
-    }
-    if (isLarge) {
-      releaseObject(values);
-    }
-    return result;
-  }
-
-  /**
-   * The base implementation of `_.flatten` without support for callback
-   * shorthands or `thisArg` binding.
-   *
-   * @private
-   * @param {Array} array The array to flatten.
-   * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level.
-   * @param {boolean} [isStrict=false] A flag to restrict flattening to arrays and `arguments` objects.
-   * @param {number} [fromIndex=0] The index to start from.
-   * @returns {Array} Returns a new flattened array.
-   */
-  function baseFlatten(array, isShallow, isStrict, fromIndex) {
-    var index = (fromIndex || 0) - 1,
-        length = array ? array.length : 0,
-        result = [];
-
-    while (++index < length) {
-      var value = array[index];
-
-      if (value && typeof value == 'object' && typeof value.length == 'number'
-          && (isArray(value) || isArguments(value))) {
-        // recursively flatten arrays (susceptible to call stack limits)
-        if (!isShallow) {
-          value = baseFlatten(value, isShallow, isStrict);
-        }
-        var valIndex = -1,
-            valLength = value.length,
-            resIndex = result.length;
-
-        result.length += valLength;
-        while (++valIndex < valLength) {
-          result[resIndex++] = value[valIndex];
-        }
-      } else if (!isStrict) {
-        result.push(value);
-      }
-    }
-    return result;
-  }
-
-  /**
-   * The base implementation of `_.isEqual`, without support for `thisArg` binding,
-   * that allows partial "_.where" style comparisons.
-   *
-   * @private
-   * @param {*} a The value to compare.
-   * @param {*} b The other value to compare.
-   * @param {Function} [callback] The function to customize comparing values.
-   * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons.
-   * @param {Array} [stackA=[]] Tracks traversed `a` objects.
-   * @param {Array} [stackB=[]] Tracks traversed `b` objects.
-   * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
-   */
-  function baseIsEqual(a, b, callback, isWhere, stackA, stackB) {
-    // used to indicate that when comparing objects, `a` has at least the properties of `b`
-    if (callback) {
-      var result = callback(a, b);
-      if (typeof result != 'undefined') {
-        return !!result;
-      }
-    }
-    // exit early for identical values
-    if (a === b) {
-      // treat `+0` vs. `-0` as not equal
-      return a !== 0 || (1 / a == 1 / b);
-    }
-    var type = typeof a,
-        otherType = typeof b;
-
-    // exit early for unlike primitive values
-    if (a === a &&
-        !(a && objectTypes[type]) &&
-        !(b && objectTypes[otherType])) {
-      return false;
-    }
-    // exit early for `null` and `undefined` avoiding ES3's Function#call behavior
-    // http://es5.github.io/#x15.3.4.4
-    if (a == null || b == null) {
-      return a === b;
-    }
-    // compare [[Class]] names
-    var className = toString.call(a),
-        otherClass = toString.call(b);
-
-    if (className == argsClass) {
-      className = objectClass;
-    }
-    if (otherClass == argsClass) {
-      otherClass = objectClass;
-    }
-    if (className != otherClass) {
-      return false;
-    }
-    switch (className) {
-      case boolClass:
-      case dateClass:
-        // coerce dates and booleans to numbers, dates to milliseconds and booleans
-        // to `1` or `0` treating invalid dates coerced to `NaN` as not equal
-        return +a == +b;
-
-      case numberClass:
-        // treat `NaN` vs. `NaN` as equal
-        return (a != +a)
-          ? b != +b
-          // but treat `+0` vs. `-0` as not equal
-          : (a == 0 ? (1 / a == 1 / b) : a == +b);
-
-      case regexpClass:
-      case stringClass:
-        // coerce regexes to strings (http://es5.github.io/#x15.10.6.4)
-        // treat string primitives and their corresponding object instances as equal
-        return a == String(b);
-    }
-    var isArr = className == arrayClass;
-    if (!isArr) {
-      // unwrap any `lodash` wrapped values
-      var aWrapped = hasOwnProperty.call(a, '__wrapped__'),
-          bWrapped = hasOwnProperty.call(b, '__wrapped__');
-
-      if (aWrapped || bWrapped) {
-        return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB);
-      }
-      // exit for functions and DOM nodes
-      if (className != objectClass || (!support.nodeClass && (isNode(a) || isNode(b)))) {
-        return false;
-      }
-      // in older versions of Opera, `arguments` objects have `Array` constructors
-      var ctorA = !support.argsObject && isArguments(a) ? Object : a.constructor,
-          ctorB = !support.argsObject && isArguments(b) ? Object : b.constructor;
-
-      // non `Object` object instances with different constructors are not equal
-      if (ctorA != ctorB &&
-            !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&
-            ('constructor' in a && 'constructor' in b)
-          ) {
-        return false;
-      }
-    }
-    // assume cyclic structures are equal
-    // the algorithm for detecting cyclic structures is adapted from ES 5.1
-    // section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3)
-    var initedStack = !stackA;
-    stackA || (stackA = getArray());
-    stackB || (stackB = getArray());
-
-    var length = stackA.length;
-    while (length--) {
-      if (stackA[length] == a) {
-        return stackB[length] == b;
-      }
-    }
-    var size = 0;
-    result = true;
-
-    // add `a` and `b` to the stack of traversed objects
-    stackA.push(a);
-    stackB.push(b);
-
-    // recursively compare objects and arrays (susceptible to call stack limits)
-    if (isArr) {
-      length = a.length;
-      size = b.length;
-
-      // compare lengths to determine if a deep comparison is necessary
-      result = size == a.length;
-      if (!result && !isWhere) {
-        return result;
-      }
-      // deep compare the contents, ignoring non-numeric properties
-      while (size--) {
-        var index = length,
-            value = b[size];
-
-        if (isWhere) {
-          while (index--) {
-            if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) {
-              break;
-            }
-          }
-        } else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) {
-          break;
-        }
-      }
-      return result;
-    }
-    // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`
-    // which, in this case, is more costly
-    forIn(b, function(value, key, b) {
-      if (hasOwnProperty.call(b, key)) {
-        // count the number of properties.
-        size++;
-        // deep compare each property value.
-        return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB));
-      }
-    });
-
-    if (result && !isWhere) {
-      // ensure both objects have the same number of properties
-      forIn(a, function(value, key, a) {
-        if (hasOwnProperty.call(a, key)) {
-          // `size` will be `-1` if `a` has more properties than `b`
-          return (result = --size > -1);
-        }
-      });
-    }
-    if (initedStack) {
-      releaseArray(stackA);
-      releaseArray(stackB);
-    }
-    return result;
-  }
-
-  /**
-   * The base implementation of `_.merge` without argument juggling or support
-   * for `thisArg` binding.
-   *
-   * @private
-   * @param {Object} object The destination object.
-   * @param {Object} source The source object.
-   * @param {Function} [callback] The function to customize merging properties.
-   * @param {Array} [stackA=[]] Tracks traversed source objects.
-   * @param {Array} [stackB=[]] Associates values with source counterparts.
-   */
-  function baseMerge(object, source, callback, stackA, stackB) {
-    (isArray(source) ? forEach : forOwn)(source, function(source, key) {
-      var found,
-          isArr,
-          result = source,
-          value = object[key];
-
-      if (source && ((isArr = isArray(source)) || isPlainObject(source))) {
-        // avoid merging previously merged cyclic sources
-        var stackLength = stackA.length;
-        while (stackLength--) {
-          if ((found = stackA[stackLength] == source)) {
-            value = stackB[stackLength];
-            break;
-          }
-        }
-        if (!found) {
-          var isShallow;
-          if (callback) {
-            result = callback(value, source);
-            if ((isShallow = typeof result != 'undefined')) {
-              value = result;
-            }
-          }
-          if (!isShallow) {
-            value = isArr
-              ? (isArray(value) ? value : [])
-              : (isPlainObject(value) ? value : {});
-          }
-          // add `source` and associated `value` to the stack of traversed objects
-          stackA.push(source);
-          stackB.push(value);
-
-          // recursively merge objects and arrays (susceptible to call stack limits)
-          if (!isShallow) {
-            baseMerge(value, source, callback, stackA, stackB);
-          }
-        }
-      }
-      else {
-        if (callback) {
-          result = callback(value, source);
-          if (typeof result == 'undefined') {
-            result = source;
-          }
-        }
-        if (typeof result != 'undefined') {
-          value = result;
-        }
-      }
-      object[key] = value;
-    });
-  }
-
-  /**
-   * The base implementation of `_.uniq` without support for callback shorthands
-   * or `thisArg` binding.
-   *
-   * @private
-   * @param {Array} array The array to process.
-   * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
-   * @param {Function} [callback] The function called per iteration.
-   * @returns {Array} Returns a duplicate-value-free array.
-   */
-  function baseUniq(array, isSorted, callback) {
-    var index = -1,
-        indexOf = getIndexOf(),
-        length = array ? array.length : 0,
-        result = [];
-
-    var isLarge = !isSorted && length >= largeArraySize && indexOf === baseIndexOf,
-        seen = (callback || isLarge) ? getArray() : result;
-
-    if (isLarge) {
-      var cache = createCache(seen);
-      if (cache) {
-        indexOf = cacheIndexOf;
-        seen = cache;
-      } else {
-        isLarge = false;
-        seen = callback ? seen : (releaseArray(seen), result);
-      }
-    }
-    while (++index < length) {
-      var value = array[index],
-          computed = callback ? callback(value, index, array) : value;
-
-      if (isSorted
-            ? !index || seen[seen.length - 1] !== computed
-            : indexOf(seen, computed) < 0
-          ) {
-        if (callback || isLarge) {
-          seen.push(computed);
-        }
-        result.push(value);
-      }
-    }
-    if (isLarge) {
-      releaseArray(seen.array);
-      releaseObject(seen);
-    } else if (callback) {
-      releaseArray(seen);
-    }
-    return result;
-  }
-
-  /**
-   * Creates a function that aggregates a collection, creating an object composed
-   * of keys generated from the results of running each element of the collection
-   * through a callback. The given `setter` function sets the keys and values
-   * of the composed object.
-   *
-   * @private
-   * @param {Function} setter The setter function.
-   * @returns {Function} Returns the new aggregator function.
-   */
-  function createAggregator(setter) {
-    return function(collection, callback, thisArg) {
-      var result = {};
-      callback = lodash.createCallback(callback, thisArg, 3);
-
-      if (isArray(collection)) {
-        var index = -1,
-            length = collection.length;
-
-        while (++index < length) {
-          var value = collection[index];
-          setter(result, value, callback(value, index, collection), collection);
-        }
-      } else {
-        baseEach(collection, function(value, key, collection) {
-          setter(result, value, callback(value, key, collection), collection);
-        });
-      }
-      return result;
-    };
-  }
-
-  /**
-   * Creates a function that, when called, either curries or invokes `func`
-   * with an optional `this` binding and partially applied arguments.
-   *
-   * @private
-   * @param {Function|string} func The function or method name to reference.
-   * @param {number} bitmask The bitmask of method flags to compose.
-   *  The bitmask may be composed of the following flags:
-   *  1 - `_.bind`
-   *  2 - `_.bindKey`
-   *  4 - `_.curry`
-   *  8 - `_.curry` (bound)
-   *  16 - `_.partial`
-   *  32 - `_.partialRight`
-   * @param {Array} [partialArgs] An array of arguments to prepend to those
-   *  provided to the new function.
-   * @param {Array} [partialRightArgs] An array of arguments to append to those
-   *  provided to the new function.
-   * @param {*} [thisArg] The `this` binding of `func`.
-   * @param {number} [arity] The arity of `func`.
-   * @returns {Function} Returns the new function.
-   */
-  function createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) {
-    var isBind = bitmask & 1,
-        isBindKey = bitmask & 2,
-        isCurry = bitmask & 4,
-        isCurryBound = bitmask & 8,
-        isPartial = bitmask & 16,
-        isPartialRight = bitmask & 32;
-
-    if (!isBindKey && !isFunction(func)) {
-      throw new TypeError;
-    }
-    if (isPartial && !partialArgs.length) {
-      bitmask &= ~16;
-      isPartial = partialArgs = false;
-    }
-    if (isPartialRight && !partialRightArgs.length) {
-      bitmask &= ~32;
-      isPartialRight = partialRightArgs = false;
-    }
-    var bindData = func && func.__bindData__;
-    if (bindData && bindData !== true) {
-      bindData = bindData.slice();
-
-      // set `thisBinding` is not previously bound
-      if (isBind && !(bindData[1] & 1)) {
-        bindData[4] = thisArg;
-      }
-      // set if previously bound but not currently (subsequent curried functions)
-      if (!isBind && bindData[1] & 1) {
-        bitmask |= 8;
-      }
-      // set curried arity if not yet set
-      if (isCurry && !(bindData[1] & 4)) {
-        bindData[5] = arity;
-      }
-      // append partial left arguments
-      if (isPartial) {
-        push.apply(bindData[2] || (bindData[2] = []), partialArgs);
-      }
-      // append partial right arguments
-      if (isPartialRight) {
-        push.apply(bindData[3] || (bindData[3] = []), partialRightArgs);
-      }
-      // merge flags
-      bindData[1] |= bitmask;
-      return createWrapper.apply(null, bindData);
-    }
-    // fast path for `_.bind`
-    var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper;
-    return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]);
-  }
-
-  /**
-   * Creates compiled iteration functions.
-   *
-   * @private
-   * @param {...Object} [options] The compile options object(s).
-   * @param {string} [options.array] Code to determine if the iterable is an array or array-like.
-   * @param {boolean} [options.useHas] Specify using `hasOwnProperty` checks in the object loop.
-   * @param {Function} [options.keys] A reference to `_.keys` for use in own property iteration.
-   * @param {string} [options.args] A comma separated string of iteration function arguments.
-   * @param {string} [options.top] Code to execute before the iteration branches.
-   * @param {string} [options.loop] Code to execute in the object loop.
-   * @param {string} [options.bottom] Code to execute after the iteration branches.
-   * @returns {Function} Returns the compiled function.
-   */
-  function createIterator() {
-    // data properties
-    iteratorData.shadowedProps = shadowedProps;
-
-    // iterator options
-    iteratorData.array = iteratorData.bottom = iteratorData.loop = iteratorData.top = '';
-    iteratorData.init = 'iterable';
-    iteratorData.useHas = true;
-
-    // merge options into a template data object
-    for (var object, index = 0; object = arguments[index]; index++) {
-      for (var key in object) {
-        iteratorData[key] = object[key];
-      }
-    }
-    var args = iteratorData.args;
-    iteratorData.firstArg = /^[^,]+/.exec(args)[0];
-
-    // create the function factory
-    var factory = Function(
-        'baseCreateCallback, errorClass, errorProto, hasOwnProperty, ' +
-        'indicatorObject, isArguments, isArray, isString, keys, objectProto, ' +
-        'objectTypes, nonEnumProps, stringClass, stringProto, toString',
-      'return function(' + args + ') {\n' + iteratorTemplate(iteratorData) + '\n}'
-    );
-
-    // return the compiled function
-    return factory(
-      baseCreateCallback, errorClass, errorProto, hasOwnProperty,
-      indicatorObject, isArguments, isArray, isString, iteratorData.keys, objectProto,
-      objectTypes, nonEnumProps, stringClass, stringProto, toString
-    );
-  }
-
-  /**
-   * Gets the appropriate "indexOf" function. If the `_.indexOf` method is
-   * customized, this method returns the custom method, otherwise it returns
-   * the `baseIndexOf` function.
-   *
-   * @private
-   * @returns {Function} Returns the "indexOf" function.
-   */
-  function getIndexOf() {
-    var result = (result = lodash.indexOf) === indexOf ? baseIndexOf : result;
-    return result;
-  }
-
-  /**
-   * Sets `this` binding data on a given function.
-   *
-   * @private
-   * @param {Function} func The function to set data on.
-   * @param {Array} value The data array to set.
-   */
-  var setBindData = !defineProperty ? noop : function(func, value) {
-    descriptor.value = value;
-    defineProperty(func, '__bindData__', descriptor);
-  };
-
-  /**
-   * A fallback implementation of `isPlainObject` which checks if a given value
-   * is an object created by the `Object` constructor, assuming objects created
-   * by the `Object` constructor have no inherited enumerable properties and that
-   * there are no `Object.prototype` extensions.
-   *
-   * @private
-   * @param {*} value The value to check.
-   * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
-   */
-  function shimIsPlainObject(value) {
-    var ctor,
-        result;
-
-    // avoid non Object objects, `arguments` objects, and DOM elements
-    if (!(value && toString.call(value) == objectClass) ||
-        (ctor = value.constructor, isFunction(ctor) && !(ctor instanceof ctor)) ||
-        (!support.argsClass && isArguments(value)) ||
-        (!support.nodeClass && isNode(value))) {
-      return false;
-    }
-    // IE < 9 iterates inherited properties before own properties. If the first
-    // iterated property is an object's own property then there are no inherited
-    // enumerable properties.
-    if (support.ownLast) {
-      forIn(value, function(value, key, object) {
-        result = hasOwnProperty.call(object, key);
-        return false;
-      });
-      return result !== false;
-    }
-    // In most environments an object's own properties are iterated before
-    // its inherited properties. If the last iterated property is an object's
-    // own property then there are no inherited enumerable properties.
-    forIn(value, function(value, key) {
-      result = key;
-    });
-    return typeof result == 'undefined' || hasOwnProperty.call(value, result);
-  }
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * Checks if `value` is an `arguments` object.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {*} value The value to check.
-   * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`.
-   * @example
-   *
-   * (function() { return _.isArguments(arguments); })(1, 2, 3);
-   * // => true
-   *
-   * _.isArguments([1, 2, 3]);
-   * // => false
-   */
-  function isArguments(value) {
-    return value && typeof value == 'object' && typeof value.length == 'number' &&
-      toString.call(value) == argsClass || false;
-  }
-  // fallback for browsers that can't detect `arguments` objects by [[Class]]
-  if (!support.argsClass) {
-    isArguments = function(value) {
-      return value && typeof value == 'object' && typeof value.length == 'number' &&
-        hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee') || false;
-    };
-  }
-
-  /**
-   * Checks if `value` is an array.
-   *
-   * @static
-   * @memberOf _
-   * @type Function
-   * @category Objects
-   * @param {*} value The value to check.
-   * @returns {boolean} Returns `true` if the `value` is an array, else `false`.
-   * @example
-   *
-   * (function() { return _.isArray(arguments); })();
-   * // => false
-   *
-   * _.isArray([1, 2, 3]);
-   * // => true
-   */
-  var isArray = nativeIsArray || function(value) {
-    return value && typeof value == 'object' && typeof value.length == 'number' &&
-      toString.call(value) == arrayClass || false;
-  };
-
-  /**
-   * A fallback implementation of `Object.keys` which produces an array of the
-   * given object's own enumerable property names.
-   *
-   * @private
-   * @type Function
-   * @param {Object} object The object to inspect.
-   * @returns {Array} Returns an array of property names.
-   */
-  var shimKeys = createIterator({
-    'args': 'object',
-    'init': '[]',
-    'top': 'if (!(objectTypes[typeof object])) return result',
-    'loop': 'result.push(index)'
-  });
-
-  /**
-   * Creates an array composed of the own enumerable property names of an object.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The object to inspect.
-   * @returns {Array} Returns an array of property names.
-   * @example
-   *
-   * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
-   * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
-   */
-  var keys = !nativeKeys ? shimKeys : function(object) {
-    if (!isObject(object)) {
-      return [];
-    }
-    if ((support.enumPrototypes && typeof object == 'function') ||
-        (support.nonEnumArgs && object.length && isArguments(object))) {
-      return shimKeys(object);
-    }
-    return nativeKeys(object);
-  };
-
-  /** Reusable iterator options shared by `each`, `forIn`, and `forOwn` */
-  var eachIteratorOptions = {
-    'args': 'collection, callback, thisArg',
-    'top': "callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",
-    'array': "typeof length == 'number'",
-    'keys': keys,
-    'loop': 'if (callback(iterable[index], index, collection) === false) return result'
-  };
-
-  /** Reusable iterator options for `assign` and `defaults` */
-  var defaultsIteratorOptions = {
-    'args': 'object, source, guard',
-    'top':
-      'var args = arguments,\n' +
-      '    argsIndex = 0,\n' +
-      "    argsLength = typeof guard == 'number' ? 2 : args.length;\n" +
-      'while (++argsIndex < argsLength) {\n' +
-      '  iterable = args[argsIndex];\n' +
-      '  if (iterable && objectTypes[typeof iterable]) {',
-    'keys': keys,
-    'loop': "if (typeof result[index] == 'undefined') result[index] = iterable[index]",
-    'bottom': '  }\n}'
-  };
-
-  /** Reusable iterator options for `forIn` and `forOwn` */
-  var forOwnIteratorOptions = {
-    'top': 'if (!objectTypes[typeof iterable]) return result;\n' + eachIteratorOptions.top,
-    'array': false
-  };
-
-  /**
-   * A function compiled to iterate `arguments` objects, arrays, objects, and
-   * strings consistenly across environments, executing the callback for each
-   * element in the collection. The callback is bound to `thisArg` and invoked
-   * with three arguments; (value, index|key, collection). Callbacks may exit
-   * iteration early by explicitly returning `false`.
-   *
-   * @private
-   * @type Function
-   * @param {Array|Object|string} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Array|Object|string} Returns `collection`.
-   */
-  var baseEach = createIterator(eachIteratorOptions);
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * Assigns own enumerable properties of source object(s) to the destination
-   * object. Subsequent sources will overwrite property assignments of previous
-   * sources. If a callback is provided it will be executed to produce the
-   * assigned values. The callback is bound to `thisArg` and invoked with two
-   * arguments; (objectValue, sourceValue).
-   *
-   * @static
-   * @memberOf _
-   * @type Function
-   * @alias extend
-   * @category Objects
-   * @param {Object} object The destination object.
-   * @param {...Object} [source] The source objects.
-   * @param {Function} [callback] The function to customize assigning values.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Object} Returns the destination object.
-   * @example
-   *
-   * _.assign({ 'name': 'fred' }, { 'employer': 'slate' });
-   * // => { 'name': 'fred', 'employer': 'slate' }
-   *
-   * var defaults = _.partialRight(_.assign, function(a, b) {
-   *   return typeof a == 'undefined' ? b : a;
-   * });
-   *
-   * var object = { 'name': 'barney' };
-   * defaults(object, { 'name': 'fred', 'employer': 'slate' });
-   * // => { 'name': 'barney', 'employer': 'slate' }
-   */
-  var assign = createIterator(defaultsIteratorOptions, {
-    'top':
-      defaultsIteratorOptions.top.replace(';',
-        ';\n' +
-        "if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n" +
-        '  var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n' +
-        "} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n" +
-        '  callback = args[--argsLength];\n' +
-        '}'
-      ),
-    'loop': 'result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]'
-  });
-
-  /**
-   * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
-   * be cloned, otherwise they will be assigned by reference. If a callback
-   * is provided it will be executed to produce the cloned values. If the
-   * callback returns `undefined` cloning will be handled by the method instead.
-   * The callback is bound to `thisArg` and invoked with one argument; (value).
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {*} value The value to clone.
-   * @param {boolean} [isDeep=false] Specify a deep clone.
-   * @param {Function} [callback] The function to customize cloning values.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {*} Returns the cloned value.
-   * @example
-   *
-   * var characters = [
-   *   { 'name': 'barney', 'age': 36 },
-   *   { 'name': 'fred',   'age': 40 }
-   * ];
-   *
-   * var shallow = _.clone(characters);
-   * shallow[0] === characters[0];
-   * // => true
-   *
-   * var deep = _.clone(characters, true);
-   * deep[0] === characters[0];
-   * // => false
-   *
-   * _.mixin({
-   *   'clone': _.partialRight(_.clone, function(value) {
-   *     return _.isElement(value) ? value.cloneNode(false) : undefined;
-   *   })
-   * });
-   *
-   * var clone = _.clone(document.body);
-   * clone.childNodes.length;
-   * // => 0
-   */
-  function clone(value, isDeep, callback, thisArg) {
-    // allows working with "Collections" methods without using their `index`
-    // and `collection` arguments for `isDeep` and `callback`
-    if (typeof isDeep != 'boolean' && isDeep != null) {
-      thisArg = callback;
-      callback = isDeep;
-      isDeep = false;
-    }
-    return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
-  }
-
-  /**
-   * Creates a deep clone of `value`. If a callback is provided it will be
-   * executed to produce the cloned values. If the callback returns `undefined`
-   * cloning will be handled by the method instead. The callback is bound to
-   * `thisArg` and invoked with one argument; (value).
-   *
-   * Note: This method is loosely based on the structured clone algorithm. Functions
-   * and DOM nodes are **not** cloned. The enumerable properties of `arguments` objects and
-   * objects created by constructors other than `Object` are cloned to plain `Object` objects.
-   * See http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {*} value The value to deep clone.
-   * @param {Function} [callback] The function to customize cloning values.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {*} Returns the deep cloned value.
-   * @example
-   *
-   * var characters = [
-   *   { 'name': 'barney', 'age': 36 },
-   *   { 'name': 'fred',   'age': 40 }
-   * ];
-   *
-   * var deep = _.cloneDeep(characters);
-   * deep[0] === characters[0];
-   * // => false
-   *
-   * var view = {
-   *   'label': 'docs',
-   *   'node': element
-   * };
-   *
-   * var clone = _.cloneDeep(view, function(value) {
-   *   return _.isElement(value) ? value.cloneNode(true) : undefined;
-   * });
-   *
-   * clone.node == view.node;
-   * // => false
-   */
-  function cloneDeep(value, callback, thisArg) {
-    return baseClone(value, true, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
-  }
-
-  /**
-   * Iterates over own and inherited enumerable properties of an object,
-   * executing the callback for each property. The callback is bound to `thisArg`
-   * and invoked with three arguments; (value, key, object). Callbacks may exit
-   * iteration early by explicitly returning `false`.
-   *
-   * @static
-   * @memberOf _
-   * @type Function
-   * @category Objects
-   * @param {Object} object The object to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Object} Returns `object`.
-   * @example
-   *
-   * function Shape() {
-   *   this.x = 0;
-   *   this.y = 0;
-   * }
-   *
-   * Shape.prototype.move = function(x, y) {
-   *   this.x += x;
-   *   this.y += y;
-   * };
-   *
-   * _.forIn(new Shape, function(value, key) {
-   *   console.log(key);
-   * });
-   * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)
-   */
-  var forIn = createIterator(eachIteratorOptions, forOwnIteratorOptions, {
-    'useHas': false
-  });
-
-  /**
-   * Iterates over own enumerable properties of an object, executing the callback
-   * for each property. The callback is bound to `thisArg` and invoked with three
-   * arguments; (value, key, object). Callbacks may exit iteration early by
-   * explicitly returning `false`.
-   *
-   * @static
-   * @memberOf _
-   * @type Function
-   * @category Objects
-   * @param {Object} object The object to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Object} Returns `object`.
-   * @example
-   *
-   * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
-   *   console.log(key);
-   * });
-   * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)
-   */
-  var forOwn = createIterator(eachIteratorOptions, forOwnIteratorOptions);
-
-  /**
-   * Creates a sorted array of property names of all enumerable properties,
-   * own and inherited, of `object` that have function values.
-   *
-   * @static
-   * @memberOf _
-   * @alias methods
-   * @category Objects
-   * @param {Object} object The object to inspect.
-   * @returns {Array} Returns an array of property names that have function values.
-   * @example
-   *
-   * _.functions(_);
-   * // => ['all', 'any', 'bind', 'bindAll', 'clone', 'compact', 'compose', ...]
-   */
-  function functions(object) {
-    var result = [];
-    forIn(object, function(value, key) {
-      if (isFunction(value)) {
-        result.push(key);
-      }
-    });
-    return result.sort();
-  }
-
-  /**
-   * Checks if `value` is empty. Arrays, strings, or `arguments` objects with a
-   * length of `0` and objects with no own enumerable properties are considered
-   * "empty".
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Array|Object|string} value The value to inspect.
-   * @returns {boolean} Returns `true` if the `value` is empty, else `false`.
-   * @example
-   *
-   * _.isEmpty([1, 2, 3]);
-   * // => false
-   *
-   * _.isEmpty({});
-   * // => true
-   *
-   * _.isEmpty('');
-   * // => true
-   */
-  function isEmpty(value) {
-    var result = true;
-    if (!value) {
-      return result;
-    }
-    var className = toString.call(value),
-        length = value.length;
-
-    if ((className == arrayClass || className == stringClass ||
-        (support.argsClass ? className == argsClass : isArguments(value))) ||
-        (className == objectClass && typeof length == 'number' && isFunction(value.splice))) {
-      return !length;
-    }
-    forOwn(value, function() {
-      return (result = false);
-    });
-    return result;
-  }
-
-  /**
-   * Performs a deep comparison between two values to determine if they are
-   * equivalent to each other. If a callback is provided it will be executed
-   * to compare values. If the callback returns `undefined` comparisons will
-   * be handled by the method instead. The callback is bound to `thisArg` and
-   * invoked with two arguments; (a, b).
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {*} a The value to compare.
-   * @param {*} b The other value to compare.
-   * @param {Function} [callback] The function to customize comparing values.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
-   * @example
-   *
-   * var object = { 'name': 'fred' };
-   * var copy = { 'name': 'fred' };
-   *
-   * object == copy;
-   * // => false
-   *
-   * _.isEqual(object, copy);
-   * // => true
-   *
-   * var words = ['hello', 'goodbye'];
-   * var otherWords = ['hi', 'goodbye'];
-   *
-   * _.isEqual(words, otherWords, function(a, b) {
-   *   var reGreet = /^(?:hello|hi)$/i,
-   *       aGreet = _.isString(a) && reGreet.test(a),
-   *       bGreet = _.isString(b) && reGreet.test(b);
-   *
-   *   return (aGreet || bGreet) ? (aGreet == bGreet) : undefined;
-   * });
-   * // => true
-   */
-  function isEqual(a, b, callback, thisArg) {
-    return baseIsEqual(a, b, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 2));
-  }
-
-  /**
-   * Checks if `value` is a function.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {*} value The value to check.
-   * @returns {boolean} Returns `true` if the `value` is a function, else `false`.
-   * @example
-   *
-   * _.isFunction(_);
-   * // => true
-   */
-  function isFunction(value) {
-    return typeof value == 'function';
-  }
-  // fallback for older versions of Chrome and Safari
-  if (isFunction(/x/)) {
-    isFunction = function(value) {
-      return typeof value == 'function' && toString.call(value) == funcClass;
-    };
-  }
-
-  /**
-   * Checks if `value` is the language type of Object.
-   * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {*} value The value to check.
-   * @returns {boolean} Returns `true` if the `value` is an object, else `false`.
-   * @example
-   *
-   * _.isObject({});
-   * // => true
-   *
-   * _.isObject([1, 2, 3]);
-   * // => true
-   *
-   * _.isObject(1);
-   * // => false
-   */
-  function isObject(value) {
-    // check if the value is the ECMAScript language type of Object
-    // http://es5.github.io/#x8
-    // and avoid a V8 bug
-    // http://code.google.com/p/v8/issues/detail?id=2291
-    return !!(value && objectTypes[typeof value]);
-  }
-
-  /**
-   * Checks if `value` is an object created by the `Object` constructor.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {*} value The value to check.
-   * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
-   * @example
-   *
-   * function Shape() {
-   *   this.x = 0;
-   *   this.y = 0;
-   * }
-   *
-   * _.isPlainObject(new Shape);
-   * // => false
-   *
-   * _.isPlainObject([1, 2, 3]);
-   * // => false
-   *
-   * _.isPlainObject({ 'x': 0, 'y': 0 });
-   * // => true
-   */
-  var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) {
-    if (!(value && toString.call(value) == objectClass) || (!support.argsClass && isArguments(value))) {
-      return false;
-    }
-    var valueOf = value.valueOf,
-        objProto = typeof valueOf == 'function' && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto);
-
-    return objProto
-      ? (value == objProto || getPrototypeOf(value) == objProto)
-      : shimIsPlainObject(value);
-  };
-
-  /**
-   * Checks if `value` is a string.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {*} value The value to check.
-   * @returns {boolean} Returns `true` if the `value` is a string, else `false`.
-   * @example
-   *
-   * _.isString('fred');
-   * // => true
-   */
-  function isString(value) {
-    return typeof value == 'string' ||
-      value && typeof value == 'object' && toString.call(value) == stringClass || false;
-  }
-
-  /**
-   * Recursively merges own enumerable properties of the source object(s), that
-   * don't resolve to `undefined` into the destination object. Subsequent sources
-   * will overwrite property assignments of previous sources. If a callback is
-   * provided it will be executed to produce the merged values of the destination
-   * and source properties. If the callback returns `undefined` merging will
-   * be handled by the method instead. The callback is bound to `thisArg` and
-   * invoked with two arguments; (objectValue, sourceValue).
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The destination object.
-   * @param {...Object} [source] The source objects.
-   * @param {Function} [callback] The function to customize merging properties.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Object} Returns the destination object.
-   * @example
-   *
-   * var names = {
-   *   'characters': [
-   *     { 'name': 'barney' },
-   *     { 'name': 'fred' }
-   *   ]
-   * };
-   *
-   * var ages = {
-   *   'characters': [
-   *     { 'age': 36 },
-   *     { 'age': 40 }
-   *   ]
-   * };
-   *
-   * _.merge(names, ages);
-   * // => { 'characters': [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }] }
-   *
-   * var food = {
-   *   'fruits': ['apple'],
-   *   'vegetables': ['beet']
-   * };
-   *
-   * var otherFood = {
-   *   'fruits': ['banana'],
-   *   'vegetables': ['carrot']
-   * };
-   *
-   * _.merge(food, otherFood, function(a, b) {
-   *   return _.isArray(a) ? a.concat(b) : undefined;
-   * });
-   * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot] }
-   */
-  function merge(object) {
-    var args = arguments,
-        length = 2;
-
-    if (!isObject(object)) {
-      return object;
-    }
-
-    // allows working with `_.reduce` and `_.reduceRight` without using
-    // their `index` and `collection` arguments
-    if (typeof args[2] != 'number') {
-      length = args.length;
-    }
-    if (length > 3 && typeof args[length - 2] == 'function') {
-      var callback = baseCreateCallback(args[--length - 1], args[length--], 2);
-    } else if (length > 2 && typeof args[length - 1] == 'function') {
-      callback = args[--length];
-    }
-    var sources = slice(arguments, 1, length),
-        index = -1,
-        stackA = getArray(),
-        stackB = getArray();
-
-    while (++index < length) {
-      baseMerge(object, sources[index], callback, stackA, stackB);
-    }
-    releaseArray(stackA);
-    releaseArray(stackB);
-    return object;
-  }
-
-  /**
-   * Creates a shallow clone of `object` excluding the specified properties.
-   * Property names may be specified as individual arguments or as arrays of
-   * property names. If a callback is provided it will be executed for each
-   * property of `object` omitting the properties the callback returns truey
-   * for. The callback is bound to `thisArg` and invoked with three arguments;
-   * (value, key, object).
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The source object.
-   * @param {Function|...string|string[]} [callback] The properties to omit or the
-   *  function called per iteration.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Object} Returns an object without the omitted properties.
-   * @example
-   *
-   * _.omit({ 'name': 'fred', 'age': 40 }, 'age');
-   * // => { 'name': 'fred' }
-   *
-   * _.omit({ 'name': 'fred', 'age': 40 }, function(value) {
-   *   return typeof value == 'number';
-   * });
-   * // => { 'name': 'fred' }
-   */
-  function omit(object, callback, thisArg) {
-    var result = {};
-    if (typeof callback != 'function') {
-      var props = [];
-      forIn(object, function(value, key) {
-        props.push(key);
-      });
-      props = baseDifference(props, baseFlatten(arguments, true, false, 1));
-
-      var index = -1,
-          length = props.length;
-
-      while (++index < length) {
-        var key = props[index];
-        result[key] = object[key];
-      }
-    } else {
-      callback = lodash.createCallback(callback, thisArg, 3);
-      forIn(object, function(value, key, object) {
-        if (!callback(value, key, object)) {
-          result[key] = value;
-        }
-      });
-    }
-    return result;
-  }
-
-  /**
-   * Creates a two dimensional array of an object's key-value pairs,
-   * i.e. `[[key1, value1], [key2, value2]]`.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The object to inspect.
-   * @returns {Array} Returns new array of key-value pairs.
-   * @example
-   *
-   * _.pairs({ 'barney': 36, 'fred': 40 });
-   * // => [['barney', 36], ['fred', 40]] (property order is not guaranteed across environments)
-   */
-  function pairs(object) {
-    var index = -1,
-        props = keys(object),
-        length = props.length,
-        result = Array(length);
-
-    while (++index < length) {
-      var key = props[index];
-      result[index] = [key, object[key]];
-    }
-    return result;
-  }
-
-  /**
-   * Creates a shallow clone of `object` composed of the specified properties.
-   * Property names may be specified as individual arguments or as arrays of
-   * property names. If a callback is provided it will be executed for each
-   * property of `object` picking the properties the callback returns truey
-   * for. The callback is bound to `thisArg` and invoked with three arguments;
-   * (value, key, object).
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The source object.
-   * @param {Function|...string|string[]} [callback] The function called per
-   *  iteration or property names to pick, specified as individual property
-   *  names or arrays of property names.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Object} Returns an object composed of the picked properties.
-   * @example
-   *
-   * _.pick({ 'name': 'fred', '_userid': 'fred1' }, 'name');
-   * // => { 'name': 'fred' }
-   *
-   * _.pick({ 'name': 'fred', '_userid': 'fred1' }, function(value, key) {
-   *   return key.charAt(0) != '_';
-   * });
-   * // => { 'name': 'fred' }
-   */
-  function pick(object, callback, thisArg) {
-    var result = {};
-    if (typeof callback != 'function') {
-      var index = -1,
-          props = baseFlatten(arguments, true, false, 1),
-          length = isObject(object) ? props.length : 0;
-
-      while (++index < length) {
-        var key = props[index];
-        if (key in object) {
-          result[key] = object[key];
-        }
-      }
-    } else {
-      callback = lodash.createCallback(callback, thisArg, 3);
-      forIn(object, function(value, key, object) {
-        if (callback(value, key, object)) {
-          result[key] = value;
-        }
-      });
-    }
-    return result;
-  }
-
-  /**
-   * Creates an array composed of the own enumerable property values of `object`.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The object to inspect.
-   * @returns {Array} Returns an array of property values.
-   * @example
-   *
-   * _.values({ 'one': 1, 'two': 2, 'three': 3 });
-   * // => [1, 2, 3] (property order is not guaranteed across environments)
-   */
-  function values(object) {
-    var index = -1,
-        props = keys(object),
-        length = props.length,
-        result = Array(length);
-
-    while (++index < length) {
-      result[index] = object[props[index]];
-    }
-    return result;
-  }
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * Checks if a given value is present in a collection using strict equality
-   * for comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the
-   * offset from the end of the collection.
-   *
-   * @static
-   * @memberOf _
-   * @alias include
-   * @category Collections
-   * @param {Array|Object|string} collection The collection to iterate over.
-   * @param {*} target The value to check for.
-   * @param {number} [fromIndex=0] The index to search from.
-   * @returns {boolean} Returns `true` if the `target` element is found, else `false`.
-   * @example
-   *
-   * _.contains([1, 2, 3], 1);
-   * // => true
-   *
-   * _.contains([1, 2, 3], 1, 2);
-   * // => false
-   *
-   * _.contains({ 'name': 'fred', 'age': 40 }, 'fred');
-   * // => true
-   *
-   * _.contains('pebbles', 'eb');
-   * // => true
-   */
-  function contains(collection, target, fromIndex) {
-    var index = -1,
-        indexOf = getIndexOf(),
-        length = collection ? collection.length : 0,
-        result = false;
-
-    fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex) || 0;
-    if (isArray(collection)) {
-      result = indexOf(collection, target, fromIndex) > -1;
-    } else if (typeof length == 'number') {
-      result = (isString(collection) ? collection.indexOf(target, fromIndex) : indexOf(collection, target, fromIndex)) > -1;
-    } else {
-      baseEach(collection, function(value) {
-        if (++index >= fromIndex) {
-          return !(result = value === target);
-        }
-      });
-    }
-    return result;
-  }
-
-  /**
-   * Checks if the given callback returns truey value for **all** elements of
-   * a collection. The callback is bound to `thisArg` and invoked with three
-   * arguments; (value, index|key, collection).
-   *
-   * If a property name is provided for `callback` the created "_.pluck" style
-   * callback will return the property value of the given element.
-   *
-   * If an object is provided for `callback` the created "_.where" style callback
-   * will return `true` for elements that have the properties of the given object,
-   * else `false`.
-   *
-   * @static
-   * @memberOf _
-   * @alias all
-   * @category Collections
-   * @param {Array|Object|string} collection The collection to iterate over.
-   * @param {Function|Object|string} [callback=identity] The function called
-   *  per iteration. If a property name or object is provided it will be used
-   *  to create a "_.pluck" or "_.where" style callback, respectively.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {boolean} Returns `true` if all elements passed the callback check,
-   *  else `false`.
-   * @example
-   *
-   * _.every([true, 1, null, 'yes']);
-   * // => false
-   *
-   * var characters = [
-   *   { 'name': 'barney', 'age': 36 },
-   *   { 'name': 'fred',   'age': 40 }
-   * ];
-   *
-   * // using "_.pluck" callback shorthand
-   * _.every(characters, 'age');
-   * // => true
-   *
-   * // using "_.where" callback shorthand
-   * _.every(characters, { 'age': 36 });
-   * // => false
-   */
-  function every(collection, callback, thisArg) {
-    var result = true;
-    callback = lodash.createCallback(callback, thisArg, 3);
-
-    if (isArray(collection)) {
-      var index = -1,
-          length = collection.length;
-
-      while (++index < length) {
-        if (!(result = !!callback(collection[index], index, collection))) {
-          break;
-        }
-      }
-    } else {
-      baseEach(collection, function(value, index, collection) {
-        return (result = !!callback(value, index, collection));
-      });
-    }
-    return result;
-  }
-
-  /**
-   * Iterates over elements of a collection, returning an array of all elements
-   * the callback returns truey for. The callback is bound to `thisArg` and
-   * invoked with three arguments; (value, index|key, collection).
-   *
-   * If a property name is provided for `callback` the created "_.pluck" style
-   * callback will return the property value of the given element.
-   *
-   * If an object is provided for `callback` the created "_.where" style callback
-   * will return `true` for elements that have the properties of the given object,
-   * else `false`.
-   *
-   * @static
-   * @memberOf _
-   * @alias select
-   * @category Collections
-   * @param {Array|Object|string} collection The collection to iterate over.
-   * @param {Function|Object|string} [callback=identity] The function called
-   *  per iteration. If a property name or object is provided it will be used
-   *  to create a "_.pluck" or "_.where" style callback, respectively.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Array} Returns a new array of elements that passed the callback check.
-   * @example
-   *
-   * var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
-   * // => [2, 4, 6]
-   *
-   * var characters = [
-   *   { 'name': 'barney', 'age': 36, 'blocked': false },
-   *   { 'name': 'fred',   'age': 40, 'blocked': true }
-   * ];
-   *
-   * // using "_.pluck" callback shorthand
-   * _.filter(characters, 'blocked');
-   * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
-   *
-   * // using "_.where" callback shorthand
-   * _.filter(characters, { 'age': 36 });
-   * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }]
-   */
-  function filter(collection, callback, thisArg) {
-    var result = [];
-    callback = lodash.createCallback(callback, thisArg, 3);
-
-    if (isArray(collection)) {
-      var index = -1,
-          length = collection.length;
-
-      while (++index < length) {
-        var value = collection[index];
-        if (callback(value, index, collection)) {
-          result.push(value);
-        }
-      }
-    } else {
-      baseEach(collection, function(value, index, collection) {
-        if (callback(value, index, collection)) {
-          result.push(value);
-        }
-      });
-    }
-    return result;
-  }
-
-  /**
-   * Iterates over elements of a collection, returning the first element that
-   * the callback returns truey for. The callback is bound to `thisArg` and
-   * invoked with three arguments; (value, index|key, collection).
-   *
-   * If a property name is provided for `callback` the created "_.pluck" style
-   * callback will return the property value of the given element.
-   *
-   * If an object is provided for `callback` the created "_.where" style callback
-   * will return `true` for elements that have the properties of the given object,
-   * else `false`.
-   *
-   * @static
-   * @memberOf _
-   * @alias detect, findWhere
-   * @category Collections
-   * @param {Array|Object|string} collection The collection to iterate over.
-   * @param {Function|Object|string} [callback=identity] The function called
-   *  per iteration. If a property name or object is provided it will be used
-   *  to create a "_.pluck" or "_.where" style callback, respectively.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {*} Returns the found element, else `undefined`.
-   * @example
-   *
-   * var characters = [
-   *   { 'name': 'barney',  'age': 36, 'blocked': false },
-   *   { 'name': 'fred',    'age': 40, 'blocked': true },
-   *   { 'name': 'pebbles', 'age': 1,  'blocked': false }
-   * ];
-   *
-   * _.find(characters, function(chr) {
-   *   return chr.age < 40;
-   * });
-   * // => { 'name': 'barney', 'age': 36, 'blocked': false }
-   *
-   * // using "_.where" callback shorthand
-   * _.find(characters, { 'age': 1 });
-   * // =>  { 'name': 'pebbles', 'age': 1, 'blocked': false }
-   *
-   * // using "_.pluck" callback shorthand
-   * _.find(characters, 'blocked');
-   * // => { 'name': 'fred', 'age': 40, 'blocked': true }
-   */
-  function find(collection, callback, thisArg) {
-    callback = lodash.createCallback(callback, thisArg, 3);
-
-    if (isArray(collection)) {
-      var index = -1,
-          length = collection.length;
-
-      while (++index < length) {
-        var value = collection[index];
-        if (callback(value, index, collection)) {
-          return value;
-        }
-      }
-    } else {
-      var result;
-      baseEach(collection, function(value, index, collection) {
-        if (callback(value, index, collection)) {
-          result = value;
-          return false;
-        }
-      });
-      return result;
-    }
-  }
-
-  /**
-   * Iterates over elements of a collection, executing the callback for each
-   * element. The callback is bound to `thisArg` and invoked with three arguments;
-   * (value, index|key, collection). Callbacks may exit iteration early by
-   * explicitly returning `false`.
-   *
-   * Note: As with other "Collections" methods, objects with a `length` property
-   * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
-   * may be used for object iteration.
-   *
-   * @static
-   * @memberOf _
-   * @alias each
-   * @category Collections
-   * @param {Array|Object|string} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Array|Object|string} Returns `collection`.
-   * @example
-   *
-   * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');
-   * // => logs each number and returns '1,2,3'
-   *
-   * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });
-   * // => logs each number and returns the object (property order is not guaranteed across environments)
-   */
-  function forEach(collection, callback, thisArg) {
-    if (callback && typeof thisArg == 'undefined' && isArray(collection)) {
-      var index = -1,
-          length = collection.length;
-
-      while (++index < length) {
-        if (callback(collection[index], index, collection) === false) {
-          break;
-        }
-      }
-    } else {
-      baseEach(collection, callback, thisArg);
-    }
-    return collection;
-  }
-
-  /**
-   * Creates an object composed of keys generated from the results of running
-   * each element of a collection through the callback. The corresponding value
-   * of each key is an array of the elements responsible for generating the key.
-   * The callback is bound to `thisArg` and invoked with three arguments;
-   * (value, index|key, collection).
-   *
-   * If a property name is provided for `callback` the created "_.pluck" style
-   * callback will return the property value of the given element.
-   *
-   * If an object is provided for `callback` the created "_.where" style callback
-   * will return `true` for elements that have the properties of the given object,
-   * else `false`
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|string} collection The collection to iterate over.
-   * @param {Function|Object|string} [callback=identity] The function called
-   *  per iteration. If a property name or object is provided it will be used
-   *  to create a "_.pluck" or "_.where" style callback, respectively.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Object} Returns the composed aggregate object.
-   * @example
-   *
-   * _.groupBy([4.2, 6.1, 6.4], function(num) { return Math.floor(num); });
-   * // => { '4': [4.2], '6': [6.1, 6.4] }
-   *
-   * _.groupBy([4.2, 6.1, 6.4], function(num) { return this.floor(num); }, Math);
-   * // => { '4': [4.2], '6': [6.1, 6.4] }
-   *
-   * // using "_.pluck" callback shorthand
-   * _.groupBy(['one', 'two', 'three'], 'length');
-   * // => { '3': ['one', 'two'], '5': ['three'] }
-   */
-  var groupBy = createAggregator(function(result, value, key) {
-    (hasOwnProperty.call(result, key) ? result[key] : result[key] = []).push(value);
-  });
-
-  /**
-   * Creates an array of values by running each element in the collection
-   * through the callback. The callback is bound to `thisArg` and invoked with
-   * three arguments; (value, index|key, collection).
-   *
-   * If a property name is provided for `callback` the created "_.pluck" style
-   * callback will return the property value of the given element.
-   *
-   * If an object is provided for `callback` the created "_.where" style callback
-   * will return `true` for elements that have the properties of the given object,
-   * else `false`.
-   *
-   * @static
-   * @memberOf _
-   * @alias collect
-   * @category Collections
-   * @param {Array|Object|string} collection The collection to iterate over.
-   * @param {Function|Object|string} [callback=identity] The function called
-   *  per iteration. If a property name or object is provided it will be used
-   *  to create a "_.pluck" or "_.where" style callback, respectively.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Array} Returns a new array of the results of each `callback` execution.
-   * @example
-   *
-   * _.map([1, 2, 3], function(num) { return num * 3; });
-   * // => [3, 6, 9]
-   *
-   * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
-   * // => [3, 6, 9] (property order is not guaranteed across environments)
-   *
-   * var characters = [
-   *   { 'name': 'barney', 'age': 36 },
-   *   { 'name': 'fred',   'age': 40 }
-   * ];
-   *
-   * // using "_.pluck" callback shorthand
-   * _.map(characters, 'name');
-   * // => ['barney', 'fred']
-   */
-  function map(collection, callback, thisArg) {
-    var index = -1,
-        length = collection ? collection.length : 0,
-        result = Array(typeof length == 'number' ? length : 0);
-
-    callback = lodash.createCallback(callback, thisArg, 3);
-    if (isArray(collection)) {
-      while (++index < length) {
-        result[index] = callback(collection[index], index, collection);
-      }
-    } else {
-      baseEach(collection, function(value, key, collection) {
-        result[++index] = callback(value, key, collection);
-      });
-    }
-    return result;
-  }
-
-  /**
-   * Retrieves the value of a specified property from all elements in the collection.
-   *
-   * @static
-   * @memberOf _
-   * @type Function
-   * @category Collections
-   * @param {Array|Object|string} collection The collection to iterate over.
-   * @param {string} property The property to pluck.
-   * @returns {Array} Returns a new array of property values.
-   * @example
-   *
-   * var characters = [
-   *   { 'name': 'barney', 'age': 36 },
-   *   { 'name': 'fred',   'age': 40 }
-   * ];
-   *
-   * _.pluck(characters, 'name');
-   * // => ['barney', 'fred']
-   */
-  var pluck = map;
-
-  /**
-   * Reduces a collection to a value which is the accumulated result of running
-   * each element in the collection through the callback, where each successive
-   * callback execution consumes the return value of the previous execution. If
-   * `accumulator` is not provided the first element of the collection will be
-   * used as the initial `accumulator` value. The callback is bound to `thisArg`
-   * and invoked with four arguments; (accumulator, value, index|key, collection).
-   *
-   * @static
-   * @memberOf _
-   * @alias foldl, inject
-   * @category Collections
-   * @param {Array|Object|string} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {*} [accumulator] Initial value of the accumulator.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {*} Returns the accumulated value.
-   * @example
-   *
-   * var sum = _.reduce([1, 2, 3], function(sum, num) {
-   *   return sum + num;
-   * });
-   * // => 6
-   *
-   * var mapped = _.reduce({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) {
-   *   result[key] = num * 3;
-   *   return result;
-   * }, {});
-   * // => { 'a': 3, 'b': 6, 'c': 9 }
-   */
-  function reduce(collection, callback, accumulator, thisArg) {
-    var noaccum = arguments.length < 3;
-    callback = lodash.createCallback(callback, thisArg, 4);
-
-    if (isArray(collection)) {
-      var index = -1,
-          length = collection.length;
-
-      if (noaccum) {
-        accumulator = collection[++index];
-      }
-      while (++index < length) {
-        accumulator = callback(accumulator, collection[index], index, collection);
-      }
-    } else {
-      baseEach(collection, function(value, index, collection) {
-        accumulator = noaccum
-          ? (noaccum = false, value)
-          : callback(accumulator, value, index, collection)
-      });
-    }
-    return accumulator;
-  }
-
-  /**
-   * The opposite of `_.filter` this method returns the elements of a
-   * collection that the callback does **not** return truey for.
-   *
-   * If a property name is provided for `callback` the created "_.pluck" style
-   * callback will return the property value of the given element.
-   *
-   * If an object is provided for `callback` the created "_.where" style callback
-   * will return `true` for elements that have the properties of the given object,
-   * else `false`.
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|string} collection The collection to iterate over.
-   * @param {Function|Object|string} [callback=identity] The function called
-   *  per iteration. If a property name or object is provided it will be used
-   *  to create a "_.pluck" or "_.where" style callback, respectively.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Array} Returns a new array of elements that failed the callback check.
-   * @example
-   *
-   * var odds = _.reject([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
-   * // => [1, 3, 5]
-   *
-   * var characters = [
-   *   { 'name': 'barney', 'age': 36, 'blocked': false },
-   *   { 'name': 'fred',   'age': 40, 'blocked': true }
-   * ];
-   *
-   * // using "_.pluck" callback shorthand
-   * _.reject(characters, 'blocked');
-   * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }]
-   *
-   * // using "_.where" callback shorthand
-   * _.reject(characters, { 'age': 36 });
-   * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
-   */
-  function reject(collection, callback, thisArg) {
-    callback = lodash.createCallback(callback, thisArg, 3);
-    return filter(collection, function(value, index, collection) {
-      return !callback(value, index, collection);
-    });
-  }
-
-  /**
-   * Checks if the callback returns a truey value for **any** element of a
-   * collection. The function returns as soon as it finds a passing value and
-   * does not iterate over the entire collection. The callback is bound to
-   * `thisArg` and invoked with three arguments; (value, index|key, collection).
-   *
-   * If a property name is provided for `callback` the created "_.pluck" style
-   * callback will return the property value of the given element.
-   *
-   * If an object is provided for `callback` the created "_.where" style callback
-   * will return `true` for elements that have the properties of the given object,
-   * else `false`.
-   *
-   * @static
-   * @memberOf _
-   * @alias any
-   * @category Collections
-   * @param {Array|Object|string} collection The collection to iterate over.
-   * @param {Function|Object|string} [callback=identity] The function called
-   *  per iteration. If a property name or object is provided it will be used
-   *  to create a "_.pluck" or "_.where" style callback, respectively.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {boolean} Returns `true` if any element passed the callback check,
-   *  else `false`.
-   * @example
-   *
-   * _.some([null, 0, 'yes', false], Boolean);
-   * // => true
-   *
-   * var characters = [
-   *   { 'name': 'barney', 'age': 36, 'blocked': false },
-   *   { 'name': 'fred',   'age': 40, 'blocked': true }
-   * ];
-   *
-   * // using "_.pluck" callback shorthand
-   * _.some(characters, 'blocked');
-   * // => true
-   *
-   * // using "_.where" callback shorthand
-   * _.some(characters, { 'age': 1 });
-   * // => false
-   */
-  function some(collection, callback, thisArg) {
-    var result;
-    callback = lodash.createCallback(callback, thisArg, 3);
-
-    if (isArray(collection)) {
-      var index = -1,
-          length = collection.length;
-
-      while (++index < length) {
-        if ((result = callback(collection[index], index, collection))) {
-          break;
-        }
-      }
-    } else {
-      baseEach(collection, function(value, index, collection) {
-        return !(result = callback(value, index, collection));
-      });
-    }
-    return !!result;
-  }
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * Creates an array with all falsey values removed. The values `false`, `null`,
-   * `0`, `""`, `undefined`, and `NaN` are all falsey.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to compact.
-   * @returns {Array} Returns a new array of filtered values.
-   * @example
-   *
-   * _.compact([0, 1, false, 2, '', 3]);
-   * // => [1, 2, 3]
-   */
-  function compact(array) {
-    var index = -1,
-        length = array ? array.length : 0,
-        result = [];
-
-    while (++index < length) {
-      var value = array[index];
-      if (value) {
-        result.push(value);
-      }
-    }
-    return result;
-  }
-
-  /**
-   * Creates an array excluding all values of the provided arrays using strict
-   * equality for comparisons, i.e. `===`.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to process.
-   * @param {...Array} [values] The arrays of values to exclude.
-   * @returns {Array} Returns a new array of filtered values.
-   * @example
-   *
-   * _.difference([1, 2, 3, 4, 5], [5, 2, 10]);
-   * // => [1, 3, 4]
-   */
-  function difference(array) {
-    return baseDifference(array, baseFlatten(arguments, true, true, 1));
-  }
-
-  /**
-   * Gets the first element or first `n` elements of an array. If a callback
-   * is provided elements at the beginning of the array are returned as long
-   * as the callback returns truey. The callback is bound to `thisArg` and
-   * invoked with three arguments; (value, index, array).
-   *
-   * If a property name is provided for `callback` the created "_.pluck" style
-   * callback will return the property value of the given element.
-   *
-   * If an object is provided for `callback` the created "_.where" style callback
-   * will return `true` for elements that have the properties of the given object,
-   * else `false`.
-   *
-   * @static
-   * @memberOf _
-   * @alias head, take
-   * @category Arrays
-   * @param {Array} array The array to query.
-   * @param {Function|Object|number|string} [callback] The function called
-   *  per element or the number of elements to return. If a property name or
-   *  object is provided it will be used to create a "_.pluck" or "_.where"
-   *  style callback, respectively.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {*} Returns the first element(s) of `array`.
-   * @example
-   *
-   * _.first([1, 2, 3]);
-   * // => 1
-   *
-   * _.first([1, 2, 3], 2);
-   * // => [1, 2]
-   *
-   * _.first([1, 2, 3], function(num) {
-   *   return num < 3;
-   * });
-   * // => [1, 2]
-   *
-   * var characters = [
-   *   { 'name': 'barney',  'blocked': true,  'employer': 'slate' },
-   *   { 'name': 'fred',    'blocked': false, 'employer': 'slate' },
-   *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
-   * ];
-   *
-   * // using "_.pluck" callback shorthand
-   * _.first(characters, 'blocked');
-   * // => [{ 'name': 'barney', 'blocked': true, 'employer': 'slate' }]
-   *
-   * // using "_.where" callback shorthand
-   * _.pluck(_.first(characters, { 'employer': 'slate' }), 'name');
-   * // => ['barney', 'fred']
-   */
-  function first(array, callback, thisArg) {
-    var n = 0,
-        length = array ? array.length : 0;
-
-    if (typeof callback != 'number' && callback != null) {
-      var index = -1;
-      callback = lodash.createCallback(callback, thisArg, 3);
-      while (++index < length && callback(array[index], index, array)) {
-        n++;
-      }
-    } else {
-      n = callback;
-      if (n == null || thisArg) {
-        return array ? array[0] : undefined;
-      }
-    }
-    return slice(array, 0, nativeMin(nativeMax(0, n), length));
-  }
-
-  /**
-   * Flattens a nested array (the nesting can be to any depth). If `isShallow`
-   * is truey, the array will only be flattened a single level. If a callback
-   * is provided each element of the array is passed through the callback before
-   * flattening. The callback is bound to `thisArg` and invoked with three
-   * arguments; (value, index, array).
-   *
-   * If a property name is provided for `callback` the created "_.pluck" style
-   * callback will return the property value of the given element.
-   *
-   * If an object is provided for `callback` the created "_.where" style callback
-   * will return `true` for elements that have the properties of the given object,
-   * else `false`.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to flatten.
-   * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level.
-   * @param {Function|Object|string} [callback=identity] The function called
-   *  per iteration. If a property name or object is provided it will be used
-   *  to create a "_.pluck" or "_.where" style callback, respectively.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Array} Returns a new flattened array.
-   * @example
-   *
-   * _.flatten([1, [2], [3, [[4]]]]);
-   * // => [1, 2, 3, 4];
-   *
-   * _.flatten([1, [2], [3, [[4]]]], true);
-   * // => [1, 2, 3, [[4]]];
-   *
-   * var characters = [
-   *   { 'name': 'barney', 'age': 30, 'pets': ['hoppy'] },
-   *   { 'name': 'fred',   'age': 40, 'pets': ['baby puss', 'dino'] }
-   * ];
-   *
-   * // using "_.pluck" callback shorthand
-   * _.flatten(characters, 'pets');
-   * // => ['hoppy', 'baby puss', 'dino']
-   */
-  function flatten(array, isShallow, callback, thisArg) {
-    // juggle arguments
-    if (typeof isShallow != 'boolean' && isShallow != null) {
-      thisArg = callback;
-      callback = (typeof isShallow != 'function' && thisArg && thisArg[isShallow] === array) ? null : isShallow;
-      isShallow = false;
-    }
-    if (callback != null) {
-      array = map(array, callback, thisArg);
-    }
-    return baseFlatten(array, isShallow);
-  }
-
-  /**
-   * Gets the index at which the first occurrence of `value` is found using
-   * strict equality for comparisons, i.e. `===`. If the array is already sorted
-   * providing `true` for `fromIndex` will run a faster binary search.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to search.
-   * @param {*} value The value to search for.
-   * @param {boolean|number} [fromIndex=0] The index to search from or `true`
-   *  to perform a binary search on a sorted array.
-   * @returns {number} Returns the index of the matched value or `-1`.
-   * @example
-   *
-   * _.indexOf([1, 2, 3, 1, 2, 3], 2);
-   * // => 1
-   *
-   * _.indexOf([1, 2, 3, 1, 2, 3], 2, 3);
-   * // => 4
-   *
-   * _.indexOf([1, 1, 2, 2, 3, 3], 2, true);
-   * // => 2
-   */
-  function indexOf(array, value, fromIndex) {
-    if (typeof fromIndex == 'number') {
-      var length = array ? array.length : 0;
-      fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
-    } else if (fromIndex) {
-      var index = sortedIndex(array, value);
-      return array[index] === value ? index : -1;
-    }
-    return baseIndexOf(array, value, fromIndex);
-  }
-
-  /**
-   * Creates an array of unique values present in all provided arrays using
-   * strict equality for comparisons, i.e. `===`.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {...Array} [array] The arrays to inspect.
-   * @returns {Array} Returns an array of composite values.
-   * @example
-   *
-   * _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]);
-   * // => [1, 2]
-   */
-  function intersection(array) {
-    var args = arguments,
-        argsLength = args.length,
-        argsIndex = -1,
-        caches = getArray(),
-        index = -1,
-        indexOf = getIndexOf(),
-        length = array ? array.length : 0,
-        result = [],
-        seen = getArray();
-
-    while (++argsIndex < argsLength) {
-      var value = args[argsIndex];
-      caches[argsIndex] = indexOf === baseIndexOf &&
-        (value ? value.length : 0) >= largeArraySize &&
-        createCache(argsIndex ? args[argsIndex] : seen);
-    }
-    outer:
-    while (++index < length) {
-      var cache = caches[0];
-      value = array[index];
-
-      if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {
-        argsIndex = argsLength;
-        (cache || seen).push(value);
-        while (--argsIndex) {
-          cache = caches[argsIndex];
-          if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {
-            continue outer;
-          }
-        }
-        result.push(value);
-      }
-    }
-    while (argsLength--) {
-      cache = caches[argsLength];
-      if (cache) {
-        releaseObject(cache);
-      }
-    }
-    releaseArray(caches);
-    releaseArray(seen);
-    return result;
-  }
-
-  /**
-   * Gets the last element or last `n` elements of an array. If a callback is
-   * provided elements at the end of the array are returned as long as the
-   * callback returns truey. The callback is bound to `thisArg` and invoked
-   * with three arguments; (value, index, array).
-   *
-   * If a property name is provided for `callback` the created "_.pluck" style
-   * callback will return the property value of the given element.
-   *
-   * If an object is provided for `callback` the created "_.where" style callback
-   * will return `true` for elements that have the properties of the given object,
-   * else `false`.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to query.
-   * @param {Function|Object|number|string} [callback] The function called
-   *  per element or the number of elements to return. If a property name or
-   *  object is provided it will be used to create a "_.pluck" or "_.where"
-   *  style callback, respectively.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {*} Returns the last element(s) of `array`.
-   * @example
-   *
-   * _.last([1, 2, 3]);
-   * // => 3
-   *
-   * _.last([1, 2, 3], 2);
-   * // => [2, 3]
-   *
-   * _.last([1, 2, 3], function(num) {
-   *   return num > 1;
-   * });
-   * // => [2, 3]
-   *
-   * var characters = [
-   *   { 'name': 'barney',  'blocked': false, 'employer': 'slate' },
-   *   { 'name': 'fred',    'blocked': true,  'employer': 'slate' },
-   *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
-   * ];
-   *
-   * // using "_.pluck" callback shorthand
-   * _.pluck(_.last(characters, 'blocked'), 'name');
-   * // => ['fred', 'pebbles']
-   *
-   * // using "_.where" callback shorthand
-   * _.last(characters, { 'employer': 'na' });
-   * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }]
-   */
-  function last(array, callback, thisArg) {
-    var n = 0,
-        length = array ? array.length : 0;
-
-    if (typeof callback != 'number' && callback != null) {
-      var index = length;
-      callback = lodash.createCallback(callback, thisArg, 3);
-      while (index-- && callback(array[index], index, array)) {
-        n++;
-      }
-    } else {
-      n = callback;
-      if (n == null || thisArg) {
-        return array ? array[length - 1] : undefined;
-      }
-    }
-    return slice(array, nativeMax(0, length - n));
-  }
-
-  /**
-   * Uses a binary search to determine the smallest index at which a value
-   * should be inserted into a given sorted array in order to maintain the sort
-   * order of the array. If a callback is provided it will be executed for
-   * `value` and each element of `array` to compute their sort ranking. The
-   * callback is bound to `thisArg` and invoked with one argument; (value).
-   *
-   * If a property name is provided for `callback` the created "_.pluck" style
-   * callback will return the property value of the given element.
-   *
-   * If an object is provided for `callback` the created "_.where" style callback
-   * will return `true` for elements that have the properties of the given object,
-   * else `false`.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to inspect.
-   * @param {*} value The value to evaluate.
-   * @param {Function|Object|string} [callback=identity] The function called
-   *  per iteration. If a property name or object is provided it will be used
-   *  to create a "_.pluck" or "_.where" style callback, respectively.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {number} Returns the index at which `value` should be inserted
-   *  into `array`.
-   * @example
-   *
-   * _.sortedIndex([20, 30, 50], 40);
-   * // => 2
-   *
-   * // using "_.pluck" callback shorthand
-   * _.sortedIndex([{ 'x': 20 }, { 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x');
-   * // => 2
-   *
-   * var dict = {
-   *   'wordToNumber': { 'twenty': 20, 'thirty': 30, 'fourty': 40, 'fifty': 50 }
-   * };
-   *
-   * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
-   *   return dict.wordToNumber[word];
-   * });
-   * // => 2
-   *
-   * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
-   *   return this.wordToNumber[word];
-   * }, dict);
-   * // => 2
-   */
-  function sortedIndex(array, value, callback, thisArg) {
-    var low = 0,
-        high = array ? array.length : low;
-
-    // explicitly reference `identity` for better inlining in Firefox
-    callback = callback ? lodash.createCallback(callback, thisArg, 1) : identity;
-    value = callback(value);
-
-    while (low < high) {
-      var mid = (low + high) >>> 1;
-      (callback(array[mid]) < value)
-        ? low = mid + 1
-        : high = mid;
-    }
-    return low;
-  }
-
-  /**
-   * Creates an array of unique values, in order, of the provided arrays using
-   * strict equality for comparisons, i.e. `===`.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {...Array} [array] The arrays to inspect.
-   * @returns {Array} Returns an array of composite values.
-   * @example
-   *
-   * _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]);
-   * // => [1, 2, 3, 101, 10]
-   */
-  function union(array) {
-    return baseUniq(baseFlatten(arguments, true, true));
-  }
-
-  /**
-   * Creates a duplicate-value-free version of an array using strict equality
-   * for comparisons, i.e. `===`. If the array is sorted, providing
-   * `true` for `isSorted` will use a faster algorithm. If a callback is provided
-   * each element of `array` is passed through the callback before uniqueness
-   * is computed. The callback is bound to `thisArg` and invoked with three
-   * arguments; (value, index, array).
-   *
-   * If a property name is provided for `callback` the created "_.pluck" style
-   * callback will return the property value of the given element.
-   *
-   * If an object is provided for `callback` the created "_.where" style callback
-   * will return `true` for elements that have the properties of the given object,
-   * else `false`.
-   *
-   * @static
-   * @memberOf _
-   * @alias unique
-   * @category Arrays
-   * @param {Array} array The array to process.
-   * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
-   * @param {Function|Object|string} [callback=identity] The function called
-   *  per iteration. If a property name or object is provided it will be used
-   *  to create a "_.pluck" or "_.where" style callback, respectively.
-   * @param {*} [thisArg] The `this` binding of `callback`.
-   * @returns {Array} Returns a duplicate-value-free array.
-   * @example
-   *
-   * _.uniq([1, 2, 1, 3, 1]);
-   * // => [1, 2, 3]
-   *
-   * _.uniq([1, 1, 2, 2, 3], true);
-   * // => [1, 2, 3]
-   *
-   * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });
-   * // => ['A', 'b', 'C']
-   *
-   * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);
-   * // => [1, 2.5, 3]
-   *
-   * // using "_.pluck" callback shorthand
-   * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
-   * // => [{ 'x': 1 }, { 'x': 2 }]
-   */
-  function uniq(array, isSorted, callback, thisArg) {
-    // juggle arguments
-    if (typeof isSorted != 'boolean' && isSorted != null) {
-      thisArg = callback;
-      callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;
-      isSorted = false;
-    }
-    if (callback != null) {
-      callback = lodash.createCallback(callback, thisArg, 3);
-    }
-    return baseUniq(array, isSorted, callback);
-  }
-
-  /**
-   * Creates an array excluding all provided values using strict equality for
-   * comparisons, i.e. `===`.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to filter.
-   * @param {...*} [value] The values to exclude.
-   * @returns {Array} Returns a new array of filtered values.
-   * @example
-   *
-   * _.without([1, 2, 1, 0, 3, 1, 4], 0, 1);
-   * // => [2, 3, 4]
-   */
-  function without(array) {
-    return baseDifference(array, slice(arguments, 1));
-  }
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * Creates a function that, when called, invokes `func` with the `this`
-   * binding of `thisArg` and prepends any additional `bind` arguments to those
-   * provided to the bound function.
-   *
-   * @static
-   * @memberOf _
-   * @category Functions
-   * @param {Function} func The function to bind.
-   * @param {*} [thisArg] The `this` binding of `func`.
-   * @param {...*} [arg] Arguments to be partially applied.
-   * @returns {Function} Returns the new bound function.
-   * @example
-   *
-   * var func = function(greeting) {
-   *   return greeting + ' ' + this.name;
-   * };
-   *
-   * func = _.bind(func, { 'name': 'fred' }, 'hi');
-   * func();
-   * // => 'hi fred'
-   */
-  function bind(func, thisArg) {
-    return arguments.length > 2
-      ? createWrapper(func, 17, slice(arguments, 2), null, thisArg)
-      : createWrapper(func, 1, null, null, thisArg);
-  }
-
-  /**
-   * Produces a callback bound to an optional `thisArg`. If `func` is a property
-   * name the created callback will return the property value for a given element.
-   * If `func` is an object the created callback will return `true` for elements
-   * that contain the equivalent object properties, otherwise it will return `false`.
-   *
-   * @static
-   * @memberOf _
-   * @category Functions
-   * @param {*} [func=identity] The value to convert to a callback.
-   * @param {*} [thisArg] The `this` binding of the created callback.
-   * @param {number} [argCount] The number of arguments the callback accepts.
-   * @returns {Function} Returns a callback function.
-   * @example
-   *
-   * var characters = [
-   *   { 'name': 'barney', 'age': 36 },
-   *   { 'name': 'fred',   'age': 40 }
-   * ];
-   *
-   * // wrap to create custom callback shorthands
-   * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {
-   *   var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);
-   *   return !match ? func(callback, thisArg) : function(object) {
-   *     return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
-   *   };
-   * });
-   *
-   * _.filter(characters, 'age__gt38');
-   * // => [{ 'name': 'fred', 'age': 40 }]
-   */
-  function createCallback(func, thisArg, argCount) {
-    var type = typeof func;
-    if (func == null || type == 'function') {
-      return baseCreateCallback(func, thisArg, argCount);
-    }
-    // handle "_.pluck" style callback shorthands
-    if (type != 'object') {
-      return function(object) {
-        return object[func];
-      };
-    }
-    var props = keys(func),
-        key = props[0],
-        a = func[key];
-
-    // handle "_.where" style callback shorthands
-    if (props.length == 1 && a === a && !isObject(a)) {
-      // fast path the common case of providing an object with a single
-      // property containing a primitive value
-      return function(object) {
-        var b = object[key];
-        return a === b && (a !== 0 || (1 / a == 1 / b));
-      };
-    }
-    return function(object) {
-      var length = props.length,
-          result = false;
-
-      while (length--) {
-        if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {
-          break;
-        }
-      }
-      return result;
-    };
-  }
-
-  /**
-   * Creates a function that will delay the execution of `func` until after
-   * `wait` milliseconds have elapsed since the last time it was invoked.
-   * Provide an options object to indicate that `func` should be invoked on
-   * the leading and/or trailing edge of the `wait` timeout. Subsequent calls
-   * to the debounced function will return the result of the last `func` call.
-   *
-   * Note: If `leading` and `trailing` options are `true` `func` will be called
-   * on the trailing edge of the timeout only if the the debounced function is
-   * invoked more than once during the `wait` timeout.
-   *
-   * @static
-   * @memberOf _
-   * @category Functions
-   * @param {Function} func The function to debounce.
-   * @param {number} wait The number of milliseconds to delay.
-   * @param {Object} [options] The options object.
-   * @param {boolean} [options.leading=false] Specify execution on the leading edge of the timeout.
-   * @param {number} [options.maxWait] The maximum time `func` is allowed to be delayed before it's called.
-   * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout.
-   * @returns {Function} Returns the new debounced function.
-   * @example
-   *
-   * // avoid costly calculations while the window size is in flux
-   * var lazyLayout = _.debounce(calculateLayout, 150);
-   * jQuery(window).on('resize', lazyLayout);
-   *
-   * // execute `sendMail` when the click event is fired, debouncing subsequent calls
-   * jQuery('#postbox').on('click', _.debounce(sendMail, 300, {
-   *   'leading': true,
-   *   'trailing': false
-   * });
-   *
-   * // ensure `batchLog` is executed once after 1 second of debounced calls
-   * var source = new EventSource('/stream');
-   * source.addEventListener('message', _.debounce(batchLog, 250, {
-   *   'maxWait': 1000
-   * }, false);
-   */
-  function debounce(func, wait, options) {
-    var args,
-        maxTimeoutId,
-        result,
-        stamp,
-        thisArg,
-        timeoutId,
-        trailingCall,
-        lastCalled = 0,
-        maxWait = false,
-        trailing = true;
-
-    if (!isFunction(func)) {
-      throw new TypeError;
-    }
-    wait = nativeMax(0, wait) || 0;
-    if (options === true) {
-      var leading = true;
-      trailing = false;
-    } else if (isObject(options)) {
-      leading = options.leading;
-      maxWait = 'maxWait' in options && (nativeMax(wait, options.maxWait) || 0);
-      trailing = 'trailing' in options ? options.trailing : trailing;
-    }
-    var delayed = function() {
-      var remaining = wait - (now() - stamp);
-      if (remaining <= 0) {
-        if (maxTimeoutId) {
-          clearTimeout(maxTimeoutId);
-        }
-        var isCalled = trailingCall;
-        maxTimeoutId = timeoutId = trailingCall = undefined;
-        if (isCalled) {
-          lastCalled = now();
-          result = func.apply(thisArg, args);
-          if (!timeoutId && !maxTimeoutId) {
-            args = thisArg = null;
-          }
-        }
-      } else {
-        timeoutId = setTimeout(delayed, remaining);
-      }
-    };
-
-    var maxDelayed = function() {
-      if (timeoutId) {
-        clearTimeout(timeoutId);
-      }
-      maxTimeoutId = timeoutId = trailingCall = undefined;
-      if (trailing || (maxWait !== wait)) {
-        lastCalled = now();
-        result = func.apply(thisArg, args);
-        if (!timeoutId && !maxTimeoutId) {
-          args = thisArg = null;
-        }
-      }
-    };
-
-    return function() {
-      args = arguments;
-      stamp = now();
-      thisArg = this;
-      trailingCall = trailing && (timeoutId || !leading);
-
-      if (maxWait === false) {
-        var leadingCall = leading && !timeoutId;
-      } else {
-        if (!maxTimeoutId && !leading) {
-          lastCalled = stamp;
-        }
-        var remaining = maxWait - (stamp - lastCalled),
-            isCalled = remaining <= 0;
-
-        if (isCalled) {
-          if (maxTimeoutId) {
-            maxTimeoutId = clearTimeout(maxTimeoutId);
-          }
-          lastCalled = stamp;
-          result = func.apply(thisArg, args);
-        }
-        else if (!maxTimeoutId) {
-          maxTimeoutId = setTimeout(maxDelayed, remaining);
-        }
-      }
-      if (isCalled && timeoutId) {
-        timeoutId = clearTimeout(timeoutId);
-      }
-      else if (!timeoutId && wait !== maxWait) {
-        timeoutId = setTimeout(delayed, wait);
-      }
-      if (leadingCall) {
-        isCalled = true;
-        result = func.apply(thisArg, args);
-      }
-      if (isCalled && !timeoutId && !maxTimeoutId) {
-        args = thisArg = null;
-      }
-      return result;
-    };
-  }
-
-  /**
-   * Creates a function that, when executed, will only call the `func` function
-   * at most once per every `wait` milliseconds. Provide an options object to
-   * indicate that `func` should be invoked on the leading and/or trailing edge
-   * of the `wait` timeout. Subsequent calls to the throttled function will
-   * return the result of the last `func` call.
-   *
-   * Note: If `leading` and `trailing` options are `true` `func` will be called
-   * on the trailing edge of the timeout only if the the throttled function is
-   * invoked more than once during the `wait` timeout.
-   *
-   * @static
-   * @memberOf _
-   * @category Functions
-   * @param {Function} func The function to throttle.
-   * @param {number} wait The number of milliseconds to throttle executions to.
-   * @param {Object} [options] The options object.
-   * @param {boolean} [options.leading=true] Specify execution on the leading edge of the timeout.
-   * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout.
-   * @returns {Function} Returns the new throttled function.
-   * @example
-   *
-   * // avoid excessively updating the position while scrolling
-   * var throttled = _.throttle(updatePosition, 100);
-   * jQuery(window).on('scroll', throttled);
-   *
-   * // execute `renewToken` when the click event is fired, but not more than once every 5 minutes
-   * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, {
-   *   'trailing': false
-   * }));
-   */
-  function throttle(func, wait, options) {
-    var leading = true,
-        trailing = true;
-
-    if (!isFunction(func)) {
-      throw new TypeError;
-    }
-    if (options === false) {
-      leading = false;
-    } else if (isObject(options)) {
-      leading = 'leading' in options ? options.leading : leading;
-      trailing = 'trailing' in options ? options.trailing : trailing;
-    }
-    debounceOptions.leading = leading;
-    debounceOptions.maxWait = wait;
-    debounceOptions.trailing = trailing;
-
-    return debounce(func, wait, debounceOptions);
-  }
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * This method returns the first argument provided to it.
-   *
-   * @static
-   * @memberOf _
-   * @category Utilities
-   * @param {*} value Any value.
-   * @returns {*} Returns `value`.
-   * @example
-   *
-   * var object = { 'name': 'fred' };
-   * _.identity(object) === object;
-   * // => true
-   */
-  function identity(value) {
-    return value;
-  }
-
-  /**
-   * Adds function properties of a source object to the `lodash` function and
-   * chainable wrapper.
-   *
-   * @static
-   * @memberOf _
-   * @category Utilities
-   * @param {Object} object The object of function properties to add to `lodash`.
-   * @param {Object} object The object of function properties to add to `lodash`.
-   * @example
-   *
-   * _.mixin({
-   *   'capitalize': function(string) {
-   *     return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
-   *   }
-   * });
-   *
-   * _.capitalize('fred');
-   * // => 'Fred'
-   *
-   * _('fred').capitalize();
-   * // => 'Fred'
-   */
-  function mixin(object, source) {
-    var ctor = object,
-        isFunc = !source || isFunction(ctor);
-
-    if (!source) {
-      ctor = lodashWrapper;
-      source = object;
-      object = lodash;
-    }
-    forEach(functions(source), function(methodName) {
-      var func = object[methodName] = source[methodName];
-      if (isFunc) {
-        ctor.prototype[methodName] = function() {
-          var value = this.__wrapped__,
-              args = [value];
-
-          push.apply(args, arguments);
-          var result = func.apply(object, args);
-          if (value && typeof value == 'object' && value === result) {
-            return this;
-          }
-          result = new ctor(result);
-          result.__chain__ = this.__chain__;
-          return result;
-        };
-      }
-    });
-  }
-
-  /**
-   * A no-operation function.
-   *
-   * @static
-   * @memberOf _
-   * @category Utilities
-   * @example
-   *
-   * var object = { 'name': 'fred' };
-   * _.noop(object) === undefined;
-   * // => true
-   */
-  function noop() {
-    // no operation performed
-  }
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * Creates a `lodash` object that wraps the given value with explicit
-   * method chaining enabled.
-   *
-   * @static
-   * @memberOf _
-   * @category Chaining
-   * @param {*} value The value to wrap.
-   * @returns {Object} Returns the wrapper object.
-   * @example
-   *
-   * var characters = [
-   *   { 'name': 'barney',  'age': 36 },
-   *   { 'name': 'fred',    'age': 40 },
-   *   { 'name': 'pebbles', 'age': 1 }
-   * ];
-   *
-   * var youngest = _.chain(characters)
-   *     .sortBy('age')
-   *     .map(function(chr) { return chr.name + ' is ' + chr.age; })
-   *     .first()
-   *     .value();
-   * // => 'pebbles is 1'
-   */
-  function chain(value) {
-    value = new lodashWrapper(value);
-    value.__chain__ = true;
-    return value;
-  }
-
-  /**
-   * Enables explicit method chaining on the wrapper object.
-   *
-   * @name chain
-   * @memberOf _
-   * @category Chaining
-   * @returns {*} Returns the wrapper object.
-   * @example
-   *
-   * var characters = [
-   *   { 'name': 'barney', 'age': 36 },
-   *   { 'name': 'fred',   'age': 40 }
-   * ];
-   *
-   * // without explicit chaining
-   * _(characters).first();
-   * // => { 'name': 'barney', 'age': 36 }
-   *
-   * // with explicit chaining
-   * _(characters).chain()
-   *   .first()
-   *   .pick('age')
-   *   .value()
-   * // => { 'age': 36 }
-   */
-  function wrapperChain() {
-    this.__chain__ = true;
-    return this;
-  }
-
-  /**
-   * Produces the `toString` result of the wrapped value.
-   *
-   * @name toString
-   * @memberOf _
-   * @category Chaining
-   * @returns {string} Returns the string result.
-   * @example
-   *
-   * _([1, 2, 3]).toString();
-   * // => '1,2,3'
-   */
-  function wrapperToString() {
-    return String(this.__wrapped__);
-  }
-
-  /**
-   * Extracts the wrapped value.
-   *
-   * @name valueOf
-   * @memberOf _
-   * @alias value
-   * @category Chaining
-   * @returns {*} Returns the wrapped value.
-   * @example
-   *
-   * _([1, 2, 3]).valueOf();
-   * // => [1, 2, 3]
-   */
-  function wrapperValueOf() {
-    return this.__wrapped__;
-  }
-
-  /*--------------------------------------------------------------------------*/
-
-  lodash.assign = assign;
-  lodash.bind = bind;
-  lodash.chain = chain;
-  lodash.compact = compact;
-  lodash.createCallback = createCallback;
-  lodash.debounce = debounce;
-  lodash.difference = difference;
-  lodash.filter = filter;
-  lodash.flatten = flatten;
-  lodash.forEach = forEach;
-  lodash.forIn = forIn;
-  lodash.forOwn = forOwn;
-  lodash.functions = functions;
-  lodash.groupBy = groupBy;
-  lodash.intersection = intersection;
-  lodash.keys = keys;
-  lodash.map = map;
-  lodash.merge = merge;
-  lodash.omit = omit;
-  lodash.pairs = pairs;
-  lodash.pick = pick;
-  lodash.pluck = pluck;
-  lodash.reject = reject;
-  lodash.throttle = throttle;
-  lodash.union = union;
-  lodash.uniq = uniq;
-  lodash.values = values;
-  lodash.without = without;
-
-  // add aliases
-  lodash.collect = map;
-  lodash.each = forEach;
-  lodash.extend = assign;
-  lodash.methods = functions;
-  lodash.select = filter;
-  lodash.unique = uniq;
-
-  // add functions to `lodash.prototype`
-  mixin(lodash);
-
-  /*--------------------------------------------------------------------------*/
-
-  // add functions that return unwrapped values when chaining
-  lodash.clone = clone;
-  lodash.cloneDeep = cloneDeep;
-  lodash.contains = contains;
-  lodash.every = every;
-  lodash.find = find;
-  lodash.identity = identity;
-  lodash.indexOf = indexOf;
-  lodash.isArguments = isArguments;
-  lodash.isArray = isArray;
-  lodash.isEmpty = isEmpty;
-  lodash.isEqual = isEqual;
-  lodash.isFunction = isFunction;
-  lodash.isObject = isObject;
-  lodash.isPlainObject = isPlainObject;
-  lodash.isString = isString;
-  lodash.mixin = mixin;
-  lodash.noop = noop;
-  lodash.reduce = reduce;
-  lodash.some = some;
-  lodash.sortedIndex = sortedIndex;
-
-  // add aliases
-  lodash.all = every;
-  lodash.any = some;
-  lodash.detect = find;
-  lodash.findWhere = find;
-  lodash.foldl = reduce;
-  lodash.include = contains;
-  lodash.inject = reduce;
-
-  forOwn(lodash, function(func, methodName) {
-    if (!lodash.prototype[methodName]) {
-      lodash.prototype[methodName] = function() {
-        var args = [this.__wrapped__],
-            chainAll = this.__chain__;
-
-        push.apply(args, arguments);
-        var result = func.apply(lodash, args);
-        return chainAll
-          ? new lodashWrapper(result, chainAll)
-          : result;
-      };
-    }
-  });
-
-  /*--------------------------------------------------------------------------*/
-
-  // add functions capable of returning wrapped and unwrapped values when chaining
-  lodash.first = first;
-  lodash.last = last;
-
-  // add aliases
-  lodash.take = first;
-  lodash.head = first;
-
-  forOwn(lodash, function(func, methodName) {
-    var callbackable = methodName !== 'sample';
-    if (!lodash.prototype[methodName]) {
-      lodash.prototype[methodName]= function(n, guard) {
-        var chainAll = this.__chain__,
-            result = func(this.__wrapped__, n, guard);
-
-        return !chainAll && (n == null || (guard && !(callbackable && typeof n == 'function')))
-          ? result
-          : new lodashWrapper(result, chainAll);
-      };
-    }
-  });
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * The semantic version number.
-   *
-   * @static
-   * @memberOf _
-   * @type string
-   */
-  lodash.VERSION = '2.3.0';
-
-  // add "Chaining" functions to the wrapper
-  lodash.prototype.chain = wrapperChain;
-  lodash.prototype.toString = wrapperToString;
-  lodash.prototype.value = wrapperValueOf;
-  lodash.prototype.valueOf = wrapperValueOf;
-
-  // add `Array` functions that return unwrapped values
-  baseEach(['join', 'pop', 'shift'], function(methodName) {
-    var func = arrayRef[methodName];
-    lodash.prototype[methodName] = function() {
-      var chainAll = this.__chain__,
-          result = func.apply(this.__wrapped__, arguments);
-
-      return chainAll
-        ? new lodashWrapper(result, chainAll)
-        : result;
-    };
-  });
-
-  // add `Array` functions that return the wrapped value
-  baseEach(['push', 'reverse', 'sort', 'unshift'], function(methodName) {
-    var func = arrayRef[methodName];
-    lodash.prototype[methodName] = function() {
-      func.apply(this.__wrapped__, arguments);
-      return this;
-    };
-  });
-
-  // add `Array` functions that return new wrapped values
-  baseEach(['concat', 'slice', 'splice'], function(methodName) {
-    var func = arrayRef[methodName];
-    lodash.prototype[methodName] = function() {
-      return new lodashWrapper(func.apply(this.__wrapped__, arguments), this.__chain__);
-    };
-  });
-
-  // avoid array-like object bugs with `Array#shift` and `Array#splice`
-  // in IE < 9, Firefox < 10, Narwhal, and RingoJS
-  if (!support.spliceObjects) {
-    baseEach(['pop', 'shift', 'splice'], function(methodName) {
-      var func = arrayRef[methodName],
-          isSplice = methodName == 'splice';
-
-      lodash.prototype[methodName] = function() {
-        var chainAll = this.__chain__,
-            value = this.__wrapped__,
-            result = func.apply(value, arguments);
-
-        if (value.length === 0) {
-          delete value[0];
-        }
-        return (chainAll || isSplice)
-          ? new lodashWrapper(result, chainAll)
-          : result;
-      };
-    });
-  }
-
-  /*--------------------------------------------------------------------------*/
-
-  if (freeExports && freeModule) {
-    // in Node.js or RingoJS
-    if (moduleExports) {
-      (freeModule.exports = lodash)._ = lodash;
-    }
-
-  }
-  else {
-    // in a browser or Rhino
-    root._ = lodash;
-  }
-}.call(this));
-(function(e){if("function"==typeof bootstrap)bootstrap("osmauth",e);else if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeOsmAuth=e}else"undefined"!=typeof window?window.osmAuth=e():global.osmAuth=e()})(function(){var define,ses,bootstrap,module,exports;
-return (function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}var r=typeof require=="function"&&require;for(var s=0;s<n.length;s++)i(n[s]);return i})({1:[function(require,module,exports){
-'use strict';
-
-var ohauth = require('ohauth'),
-    xtend = require('xtend'),
-    store = require('store');
-
-// # osm-auth
-//
-// This code is only compatible with IE10+ because the [XDomainRequest](http://bit.ly/LfO7xo)
-// object, IE<10's idea of [CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing),
-// does not support custom headers, which this uses everywhere.
-module.exports = function(o) {
-
-    var oauth = {};
-
-    // authenticated users will also have a request token secret, but it's
-    // not used in transactions with the server
-    oauth.authenticated = function() {
-        return !!(token('oauth_token') && token('oauth_token_secret'));
-    };
-
-    oauth.logout = function() {
-        token('oauth_token', '');
-        token('oauth_token_secret', '');
-        token('oauth_request_token_secret', '');
-        return oauth;
-    };
-
-    // TODO: detect lack of click event
-    oauth.authenticate = function(callback) {
-        if (oauth.authenticated()) return callback();
-
-        oauth.logout();
-
-        // ## Getting a request token
-        var params = timenonce(getAuth(o)),
-            url = o.url + '/oauth/request_token';
-
-        params.oauth_signature = ohauth.signature(
-            o.oauth_secret, '',
-            ohauth.baseString('POST', url, params));
-
-        if (!o.singlepage) {
-            // Create a 600x550 popup window in the center of the screen
-            var w = 600, h = 550,
-                settings = [
-                    ['width', w], ['height', h],
-                    ['left', screen.width / 2 - w / 2],
-                    ['top', screen.height / 2 - h / 2]].map(function(x) {
-                        return x.join('=');
-                    }).join(','),
-                popup = window.open('about:blank', 'oauth_window', settings);
-        }
-
-        // Request a request token. When this is complete, the popup
-        // window is redirected to OSM's authorization page.
-        ohauth.xhr('POST', url, params, null, {}, reqTokenDone);
-        o.loading();
-
-        function reqTokenDone(err, xhr) {
-            o.done();
-            if (err) return callback(err);
-            var resp = ohauth.stringQs(xhr.response);
-            token('oauth_request_token_secret', resp.oauth_token_secret);
-            var authorize_url = o.url + '/oauth/authorize?' + ohauth.qsString({
-                oauth_token: resp.oauth_token,
-                oauth_callback: location.href.replace('index.html', '')
-                    .replace(/#.*/, '') + o.landing
-            });
-
-            if (o.singlepage) {
-                location.href = authorize_url;
-            } else {
-                popup.location = authorize_url;
-            }
-        }
-
-        // Called by a function in a landing page, in the popup window. The
-        // window closes itself.
-        window.authComplete = function(token) {
-            var oauth_token = ohauth.stringQs(token.split('?')[1]);
-            get_access_token(oauth_token.oauth_token);
-            delete window.authComplete;
-        };
-
-        // ## Getting an request token
-        //
-        // At this point we have an `oauth_token`, brought in from a function
-        // call on a landing page popup.
-        function get_access_token(oauth_token) {
-            var url = o.url + '/oauth/access_token',
-                params = timenonce(getAuth(o)),
-                request_token_secret = token('oauth_request_token_secret');
-            params.oauth_token = oauth_token;
-            params.oauth_signature = ohauth.signature(
-                o.oauth_secret,
-                request_token_secret,
-                ohauth.baseString('POST', url, params));
-
-            // ## Getting an access token
-            //
-            // The final token required for authentication. At this point
-            // we have a `request token secret`
-            ohauth.xhr('POST', url, params, null, {}, accessTokenDone);
-            o.loading();
-        }
-
-        function accessTokenDone(err, xhr) {
-            o.done();
-            if (err) return callback(err);
-            var access_token = ohauth.stringQs(xhr.response);
-            token('oauth_token', access_token.oauth_token);
-            token('oauth_token_secret', access_token.oauth_token_secret);
-            callback(null, oauth);
-        }
-    };
-
-    oauth.bootstrapToken = function(oauth_token, callback) {
-        // ## Getting an request token
-        // At this point we have an `oauth_token`, brought in from a function
-        // call on a landing page popup.
-        function get_access_token(oauth_token) {
-            var url = o.url + '/oauth/access_token',
-                params = timenonce(getAuth(o)),
-                request_token_secret = token('oauth_request_token_secret');
-            params.oauth_token = oauth_token;
-            params.oauth_signature = ohauth.signature(
-                o.oauth_secret,
-                request_token_secret,
-                ohauth.baseString('POST', url, params));
-
-            // ## Getting an access token
-            // The final token required for authentication. At this point
-            // we have a `request token secret`
-            ohauth.xhr('POST', url, params, null, {}, accessTokenDone);
-            o.loading();
-        }
-
-        function accessTokenDone(err, xhr) {
-            o.done();
-            if (err) return callback(err);
-            var access_token = ohauth.stringQs(xhr.response);
-            token('oauth_token', access_token.oauth_token);
-            token('oauth_token_secret', access_token.oauth_token_secret);
-            callback(null, oauth);
-        }
-
-        get_access_token(oauth_token);
-    };
-
-    // # xhr
-    //
-    // A single XMLHttpRequest wrapper that does authenticated calls if the
-    // user has logged in.
-    oauth.xhr = function(options, callback) {
-        if (!oauth.authenticated()) {
-            if (o.auto) return oauth.authenticate(run);
-            else return callback('not authenticated', null);
-        } else return run();
-
-        function run() {
-            var params = timenonce(getAuth(o)),
-                url = o.url + options.path,
-                oauth_token_secret = token('oauth_token_secret');
-
-            // https://tools.ietf.org/html/rfc5849#section-3.4.1.3.1
-            if ((!options.options || !options.options.header ||
-                options.options.header['Content-Type'] === 'application/x-www-form-urlencoded') &&
-                options.content) {
-                params = xtend(params, ohauth.stringQs(options.content));
-            }
-
-            params.oauth_token = token('oauth_token');
-            params.oauth_signature = ohauth.signature(
-                o.oauth_secret,
-                oauth_token_secret,
-                ohauth.baseString(options.method, url, params));
-
-            ohauth.xhr(options.method,
-                url, params, options.content, options.options, done);
-        }
-
-        function done(err, xhr) {
-            if (err) return callback(err);
-            else if (xhr.responseXML) return callback(err, xhr.responseXML);
-            else return callback(err, xhr.response);
-        }
-    };
-
-    // pre-authorize this object, if we can just get a token and token_secret
-    // from the start
-    oauth.preauth = function(c) {
-        if (!c) return;
-        if (c.oauth_token) token('oauth_token', c.oauth_token);
-        if (c.oauth_token_secret) token('oauth_token_secret', c.oauth_token_secret);
-        return oauth;
-    };
-
-    oauth.options = function(_) {
-        if (!arguments.length) return o;
-
-        o = _;
-
-        o.url = o.url || 'http://www.openstreetmap.org';
-        o.landing = o.landing || 'land.html';
-
-        o.singlepage = o.singlepage || false;
-
-        // Optional loading and loading-done functions for nice UI feedback.
-        // by default, no-ops
-        o.loading = o.loading || function() {};
-        o.done = o.done || function() {};
-
-        return oauth.preauth(o);
-    };
-
-    // 'stamp' an authentication object from `getAuth()`
-    // with a [nonce](http://en.wikipedia.org/wiki/Cryptographic_nonce)
-    // and timestamp
-    function timenonce(o) {
-        o.oauth_timestamp = ohauth.timestamp();
-        o.oauth_nonce = ohauth.nonce();
-        return o;
-    }
-
-    // get/set tokens. These are prefixed with the base URL so that `osm-auth`
-    // can be used with multiple APIs and the keys in `localStorage`
-    // will not clash
-    var token;
-
-    if (store.enabled) {
-        token = function (x, y) {
-            if (arguments.length === 1) return store.get(o.url + x);
-            else if (arguments.length === 2) return store.set(o.url + x, y);
-        };
-    } else {
-        var storage = {};
-        token = function (x, y) {
-            if (arguments.length === 1) return storage[o.url + x];
-            else if (arguments.length === 2) return storage[o.url + x] = y;
-        };
-    }
-
-    // Get an authentication object. If you just add and remove properties
-    // from a single object, you'll need to use `delete` to make sure that
-    // it doesn't contain undesired properties for authentication
-    function getAuth(o) {
-        return {
-            oauth_consumer_key: o.oauth_consumer_key,
-            oauth_signature_method: "HMAC-SHA1"
-        };
-    }
-
-    // potentially pre-authorize
-    oauth.options(o);
-
-    return oauth;
-};
-
-},{"ohauth":2,"store":3,"xtend":4}],3:[function(require,module,exports){
-(function(global){;(function(win){
-       var store = {},
-               doc = win.document,
-               localStorageName = 'localStorage',
-               storage
-
-       store.disabled = false
-       store.set = function(key, value) {}
-       store.get = function(key) {}
-       store.remove = function(key) {}
-       store.clear = function() {}
-       store.transact = function(key, defaultVal, transactionFn) {
-               var val = store.get(key)
-               if (transactionFn == null) {
-                       transactionFn = defaultVal
-                       defaultVal = null
-               }
-               if (typeof val == 'undefined') { val = defaultVal || {} }
-               transactionFn(val)
-               store.set(key, val)
+       var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
+
+       function commonjsRequire () {
+               throw new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');
        }
-       store.getAll = function() {}
-       store.forEach = function() {}
 
-       store.serialize = function(value) {
-               return JSON.stringify(value)
+       function unwrapExports (x) {
+               return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
        }
-       store.deserialize = function(value) {
-               if (typeof value != 'string') { return undefined }
-               try { return JSON.parse(value) }
-               catch(e) { return value || undefined }
+
+       function createCommonjsModule(fn, module) {
+               return module = { exports: {} }, fn(module, module.exports), module.exports;
        }
 
-       // Functions to encapsulate questionable FireFox 3.6.13 behavior
-       // when about.config::dom.storage.enabled === false
-       // See https://github.com/marcuswestin/store.js/issues#issue/13
-       function isLocalStorageNameSupported() {
-               try { return (localStorageName in win && win[localStorageName]) }
-               catch(err) { return false }
+       function getCjsExportFromNamespace (n) {
+               return n && n['default'] || n;
        }
 
-       if (isLocalStorageNameSupported()) {
-               storage = win[localStorageName]
-               store.set = function(key, val) {
-                       if (val === undefined) { return store.remove(key) }
-                       storage.setItem(key, store.serialize(val))
-                       return val
+       var isImplemented = function () {
+               var set, iterator, result;
+               if (typeof Set !== 'function') return false;
+               set = new Set(['raz', 'dwa', 'trzy']);
+               if (String(set) !== '[object Set]') return false;
+               if (set.size !== 3) return false;
+               if (typeof set.add !== 'function') return false;
+               if (typeof set.clear !== 'function') return false;
+               if (typeof set.delete !== 'function') return false;
+               if (typeof set.entries !== 'function') return false;
+               if (typeof set.forEach !== 'function') return false;
+               if (typeof set.has !== 'function') return false;
+               if (typeof set.keys !== 'function') return false;
+               if (typeof set.values !== 'function') return false;
+
+               iterator = set.values();
+               result = iterator.next();
+               if (result.done !== false) return false;
+               if (result.value !== 'raz') return false;
+
+               return true;
+       };
+
+       // eslint-disable-next-line no-empty-function
+       var noop = function () {};
+
+       var _undefined = noop(); // Support ES3 engines
+
+       var isValue = function (val) {
+        return (val !== _undefined) && (val !== null);
+       };
+
+       var validValue = function (value) {
+               if (!isValue(value)) throw new TypeError("Cannot use null or undefined");
+               return value;
+       };
+
+       var clear = function () {
+               validValue(this).length = 0;
+               return this;
+       };
+
+       var isImplemented$1 = function () {
+               var numberIsNaN = Number.isNaN;
+               if (typeof numberIsNaN !== "function") return false;
+               return !numberIsNaN({}) && numberIsNaN(NaN) && !numberIsNaN(34);
+       };
+
+       var shim = function (value) {
+               // eslint-disable-next-line no-self-compare
+               return value !== value;
+       };
+
+       var isNan = isImplemented$1()
+               ? Number.isNaN
+               : shim;
+
+       var isImplemented$2 = function () {
+               var sign = Math.sign;
+               if (typeof sign !== "function") return false;
+               return (sign(10) === 1) && (sign(-20) === -1);
+       };
+
+       var shim$1 = function (value) {
+               value = Number(value);
+               if (isNaN(value) || (value === 0)) return value;
+               return value > 0 ? 1 : -1;
+       };
+
+       var sign = isImplemented$2()
+               ? Math.sign
+               : shim$1;
+
+       var abs = Math.abs, floor = Math.floor;
+
+       var toInteger = function (value) {
+               if (isNaN(value)) return 0;
+               value = Number(value);
+               if ((value === 0) || !isFinite(value)) return value;
+               return sign(value) * floor(abs(value));
+       };
+
+       var max = Math.max;
+
+       var toPosInteger = function (value) {
+        return max(0, toInteger(value));
+       };
+
+       var indexOf           = Array.prototype.indexOf
+         , objHasOwnProperty = Object.prototype.hasOwnProperty
+         , abs$1               = Math.abs
+         , floor$1             = Math.floor;
+
+       var eIndexOf = function (searchElement /*, fromIndex*/) {
+               var i, length, fromIndex, val;
+               if (!isNan(searchElement)) return indexOf.apply(this, arguments);
+
+               length = toPosInteger(validValue(this).length);
+               fromIndex = arguments[1];
+               if (isNaN(fromIndex)) fromIndex = 0;
+               else if (fromIndex >= 0) fromIndex = floor$1(fromIndex);
+               else fromIndex = toPosInteger(this.length) - floor$1(abs$1(fromIndex));
+
+               for (i = fromIndex; i < length; ++i) {
+                       if (objHasOwnProperty.call(this, i)) {
+                               val = this[i];
+                               if (isNan(val)) return i; // Jslint: ignore
+                       }
                }
-               store.get = function(key) { return store.deserialize(storage.getItem(key)) }
-               store.remove = function(key) { storage.removeItem(key) }
-               store.clear = function() { storage.clear() }
-               store.getAll = function() {
-                       var ret = {}
-                       store.forEach(function(key, val) {
-                               ret[key] = val
-                       })
-                       return ret
+               return -1;
+       };
+
+       var create = Object.create, getPrototypeOf = Object.getPrototypeOf, plainObject = {};
+
+       var isImplemented$3 = function (/* CustomCreate*/) {
+               var setPrototypeOf = Object.setPrototypeOf, customCreate = arguments[0] || create;
+               if (typeof setPrototypeOf !== "function") return false;
+               return getPrototypeOf(setPrototypeOf(customCreate(null), plainObject)) === plainObject;
+       };
+
+       var map = { function: true, object: true };
+
+       var isObject = function (value) {
+               return (isValue(value) && map[typeof value]) || false;
+       };
+
+       var create$1 = Object.create, shim$2;
+
+       if (!isImplemented$3()) {
+               shim$2 = shim$3;
+       }
+
+       var create_1 = (function () {
+               var nullObject, polyProps, desc;
+               if (!shim$2) return create$1;
+               if (shim$2.level !== 1) return create$1;
+
+               nullObject = {};
+               polyProps = {};
+               desc = {
+                       configurable: false,
+                       enumerable: false,
+                       writable: true,
+                       value: undefined
+               };
+               Object.getOwnPropertyNames(Object.prototype).forEach(function (name) {
+                       if (name === "__proto__") {
+                               polyProps[name] = {
+                                       configurable: true,
+                                       enumerable: false,
+                                       writable: true,
+                                       value: undefined
+                               };
+                               return;
+                       }
+                       polyProps[name] = desc;
+               });
+               Object.defineProperties(nullObject, polyProps);
+
+               Object.defineProperty(shim$2, "nullPolyfill", {
+                       configurable: false,
+                       enumerable: false,
+                       writable: false,
+                       value: nullObject
+               });
+
+               return function (prototype, props) {
+                       return create$1(prototype === null ? nullObject : prototype, props);
+               };
+       }());
+
+       var objIsPrototypeOf = Object.prototype.isPrototypeOf
+         , defineProperty  = Object.defineProperty
+         , nullDesc        = {
+               configurable: true,
+               enumerable: false,
+               writable: true,
+               value: undefined
+       }
+         , validate;
+
+       validate = function (obj, prototype) {
+               validValue(obj);
+               if (prototype === null || isObject(prototype)) return obj;
+               throw new TypeError("Prototype must be null or an object");
+       };
+
+       var shim$3 = (function (status) {
+               var fn, set;
+               if (!status) return null;
+               if (status.level === 2) {
+                       if (status.set) {
+                               set = status.set;
+                               fn = function (obj, prototype) {
+                                       set.call(validate(obj, prototype), prototype);
+                                       return obj;
+                               };
+                       } else {
+                               fn = function (obj, prototype) {
+                                       validate(obj, prototype).__proto__ = prototype;
+                                       return obj;
+                               };
+                       }
+               } else {
+                       fn = function self(obj, prototype) {
+                               var isNullBase;
+                               validate(obj, prototype);
+                               isNullBase = objIsPrototypeOf.call(self.nullPolyfill, obj);
+                               if (isNullBase) delete self.nullPolyfill.__proto__;
+                               if (prototype === null) prototype = self.nullPolyfill;
+                               obj.__proto__ = prototype;
+                               if (isNullBase) defineProperty(self.nullPolyfill, "__proto__", nullDesc);
+                               return obj;
+                       };
                }
-               store.forEach = function(callback) {
-                       for (var i=0; i<storage.length; i++) {
-                               var key = storage.key(i)
-                               callback(key, store.get(key))
+               return Object.defineProperty(fn, "level", {
+                       configurable: false,
+                       enumerable: false,
+                       writable: false,
+                       value: status.level
+               });
+       }(
+               (function () {
+                       var tmpObj1 = Object.create(null)
+                         , tmpObj2 = {}
+                         , set
+                         , desc = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__");
+
+                       if (desc) {
+                               try {
+                                       set = desc.set; // Opera crashes at this point
+                                       set.call(tmpObj1, tmpObj2);
+                               } catch (ignore) {}
+                               if (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { set: set, level: 2 };
                        }
+
+                       tmpObj1.__proto__ = tmpObj2;
+                       if (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { level: 2 };
+
+                       tmpObj1 = {};
+                       tmpObj1.__proto__ = tmpObj2;
+                       if (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { level: 1 };
+
+                       return false;
+               })()
+       ));
+
+       var setPrototypeOf = isImplemented$3()
+               ? Object.setPrototypeOf
+               : shim$3;
+
+       var validCallable = function (fn) {
+               if (typeof fn !== "function") throw new TypeError(fn + " is not a function");
+               return fn;
+       };
+
+       // ES3 safe
+       var _undefined$1 = void 0;
+
+       var is = function (value) { return value !== _undefined$1 && value !== null; };
+
+       // prettier-ignore
+       var possibleTypes = { "object": true, "function": true, "undefined": true /* document.all */ };
+
+       var is$1 = function (value) {
+               if (!is(value)) return false;
+               return hasOwnProperty.call(possibleTypes, typeof value);
+       };
+
+       var is$2 = function (value) {
+               if (!is$1(value)) return false;
+               try {
+                       if (!value.constructor) return false;
+                       return value.constructor.prototype === value;
+               } catch (error) {
+                       return false;
                }
-       } else if (doc.documentElement.addBehavior) {
-               var storageOwner,
-                       storageContainer
-               // Since #userData storage applies only to specific paths, we need to
-               // somehow link our data to a specific path.  We choose /favicon.ico
-               // as a pretty safe option, since all browsers already make a request to
-               // this URL anyway and being a 404 will not hurt us here.  We wrap an
-               // iframe pointing to the favicon in an ActiveXObject(htmlfile) object
-               // (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)
-               // since the iframe access rules appear to allow direct access and
-               // manipulation of the document element, even for a 404 page.  This
-               // document can be used instead of the current document (which would
-               // have been limited to the current path) to perform #userData storage.
+       };
+
+       var is$3 = function (value) {
+               if (typeof value !== "function") return false;
+
+               if (!hasOwnProperty.call(value, "length")) return false;
+
                try {
-                       storageContainer = new ActiveXObject('htmlfile')
-                       storageContainer.open()
-                       storageContainer.write('<s' + 'cript>document.w=window</s' + 'cript><iframe src="/favicon.ico"></iframe>')
-                       storageContainer.close()
-                       storageOwner = storageContainer.w.frames[0].document
-                       storage = storageOwner.createElement('div')
-               } catch(e) {
-                       // somehow ActiveXObject instantiation failed (perhaps some special
-                       // security settings or otherwse), fall back to per-path storage
-                       storage = doc.createElement('div')
-                       storageOwner = doc.body
+                       if (typeof value.length !== "number") return false;
+                       if (typeof value.call !== "function") return false;
+                       if (typeof value.apply !== "function") return false;
+               } catch (error) {
+                       return false;
+               }
+
+               return !is$2(value);
+       };
+
+       var classRe = /^\s*class[\s{/}]/, functionToString = Function.prototype.toString;
+
+       var is$4 = function (value) {
+               if (!is$3(value)) return false;
+               if (classRe.test(functionToString.call(value))) return false;
+               return true;
+       };
+
+       var isImplemented$4 = function () {
+               var assign = Object.assign, obj;
+               if (typeof assign !== "function") return false;
+               obj = { foo: "raz" };
+               assign(obj, { bar: "dwa" }, { trzy: "trzy" });
+               return (obj.foo + obj.bar + obj.trzy) === "razdwatrzy";
+       };
+
+       var isImplemented$5 = function () {
+               try {
+                       Object.keys("primitive");
+                       return true;
+               } catch (e) {
+                       return false;
                }
-               function withIEStorage(storeFunction) {
-                       return function() {
-                               var args = Array.prototype.slice.call(arguments, 0)
-                               args.unshift(storage)
-                               // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
-                               // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
-                               storageOwner.appendChild(storage)
-                               storage.addBehavior('#default#userData')
-                               storage.load(localStorageName)
-                               var result = storeFunction.apply(store, args)
-                               storageOwner.removeChild(storage)
-                               return result
+       };
+
+       var keys = Object.keys;
+
+       var shim$4 = function (object) { return keys(isValue(object) ? Object(object) : object); };
+
+       var keys$1 = isImplemented$5() ? Object.keys : shim$4;
+
+       var max$1   = Math.max;
+
+       var shim$5 = function (dest, src /*, …srcn*/) {
+               var error, i, length = max$1(arguments.length, 2), assign;
+               dest = Object(validValue(dest));
+               assign = function (key) {
+                       try {
+                               dest[key] = src[key];
+                       } catch (e) {
+                               if (!error) error = e;
                        }
+               };
+               for (i = 1; i < length; ++i) {
+                       src = arguments[i];
+                       keys$1(src).forEach(assign);
+               }
+               if (error !== undefined) throw error;
+               return dest;
+       };
+
+       var assign = isImplemented$4()
+               ? Object.assign
+               : shim$5;
+
+       var forEach = Array.prototype.forEach, create$2 = Object.create;
+
+       var process$1 = function (src, obj) {
+               var key;
+               for (key in src) obj[key] = src[key];
+       };
+
+       // eslint-disable-next-line no-unused-vars
+       var normalizeOptions = function (opts1 /*, …options*/) {
+               var result = create$2(null);
+               forEach.call(arguments, function (options) {
+                       if (!isValue(options)) return;
+                       process$1(Object(options), result);
+               });
+               return result;
+       };
+
+       var str = "razdwatrzy";
+
+       var isImplemented$6 = function () {
+               if (typeof str.contains !== "function") return false;
+               return (str.contains("dwa") === true) && (str.contains("foo") === false);
+       };
+
+       var indexOf$1 = String.prototype.indexOf;
+
+       var shim$6 = function (searchString/*, position*/) {
+               return indexOf$1.call(this, searchString, arguments[1]) > -1;
+       };
+
+       var contains = isImplemented$6()
+               ? String.prototype.contains
+               : shim$6;
+
+       var d_1 = createCommonjsModule(function (module) {
+
+
+
+       var d = (module.exports = function (dscr, value/*, options*/) {
+               var c, e, w, options, desc;
+               if (arguments.length < 2 || typeof dscr !== "string") {
+                       options = value;
+                       value = dscr;
+                       dscr = null;
+               } else {
+                       options = arguments[2];
+               }
+               if (is(dscr)) {
+                       c = contains.call(dscr, "c");
+                       e = contains.call(dscr, "e");
+                       w = contains.call(dscr, "w");
+               } else {
+                       c = w = true;
+                       e = false;
                }
 
-               // In IE7, keys may not contain special chars. See all of https://github.com/marcuswestin/store.js/issues/40
-               var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", "g")
-               function ieKeyFix(key) {
-                       return key.replace(forbiddenCharsRegex, '___')
+               desc = { value: value, configurable: c, enumerable: e, writable: w };
+               return !options ? desc : assign(normalizeOptions(options), desc);
+       });
+
+       d.gs = function (dscr, get, set/*, options*/) {
+               var c, e, options, desc;
+               if (typeof dscr !== "string") {
+                       options = set;
+                       set = get;
+                       get = dscr;
+                       dscr = null;
+               } else {
+                       options = arguments[3];
                }
-               store.set = withIEStorage(function(storage, key, val) {
-                       key = ieKeyFix(key)
-                       if (val === undefined) { return store.remove(key) }
-                       storage.setAttribute(key, store.serialize(val))
-                       storage.save(localStorageName)
-                       return val
-               })
-               store.get = withIEStorage(function(storage, key) {
-                       key = ieKeyFix(key)
-                       return store.deserialize(storage.getAttribute(key))
-               })
-               store.remove = withIEStorage(function(storage, key) {
-                       key = ieKeyFix(key)
-                       storage.removeAttribute(key)
-                       storage.save(localStorageName)
-               })
-               store.clear = withIEStorage(function(storage) {
-                       var attributes = storage.XMLDocument.documentElement.attributes
-                       storage.load(localStorageName)
-                       for (var i=0, attr; attr=attributes[i]; i++) {
-                               storage.removeAttribute(attr.name)
+               if (!is(get)) {
+                       get = undefined;
+               } else if (!is$4(get)) {
+                       options = get;
+                       get = set = undefined;
+               } else if (!is(set)) {
+                       set = undefined;
+               } else if (!is$4(set)) {
+                       options = set;
+                       set = undefined;
+               }
+               if (is(dscr)) {
+                       c = contains.call(dscr, "c");
+                       e = contains.call(dscr, "e");
+               } else {
+                       c = true;
+                       e = false;
+               }
+
+               desc = { get: get, set: set, configurable: c, enumerable: e };
+               return !options ? desc : assign(normalizeOptions(options), desc);
+       };
+       });
+
+       var eventEmitter = createCommonjsModule(function (module, exports) {
+
+       var apply = Function.prototype.apply, call = Function.prototype.call
+         , create = Object.create, defineProperty = Object.defineProperty
+         , defineProperties = Object.defineProperties
+         , hasOwnProperty = Object.prototype.hasOwnProperty
+         , descriptor = { configurable: true, enumerable: false, writable: true }
+
+         , on, once, off, emit, methods, descriptors, base;
+
+       on = function (type, listener) {
+               var data;
+
+               validCallable(listener);
+
+               if (!hasOwnProperty.call(this, '__ee__')) {
+                       data = descriptor.value = create(null);
+                       defineProperty(this, '__ee__', descriptor);
+                       descriptor.value = null;
+               } else {
+                       data = this.__ee__;
+               }
+               if (!data[type]) data[type] = listener;
+               else if (typeof data[type] === 'object') data[type].push(listener);
+               else data[type] = [data[type], listener];
+
+               return this;
+       };
+
+       once = function (type, listener) {
+               var once, self;
+
+               validCallable(listener);
+               self = this;
+               on.call(this, type, once = function () {
+                       off.call(self, type, once);
+                       apply.call(listener, this, arguments);
+               });
+
+               once.__eeOnceListener__ = listener;
+               return this;
+       };
+
+       off = function (type, listener) {
+               var data, listeners, candidate, i;
+
+               validCallable(listener);
+
+               if (!hasOwnProperty.call(this, '__ee__')) return this;
+               data = this.__ee__;
+               if (!data[type]) return this;
+               listeners = data[type];
+
+               if (typeof listeners === 'object') {
+                       for (i = 0; (candidate = listeners[i]); ++i) {
+                               if ((candidate === listener) ||
+                                               (candidate.__eeOnceListener__ === listener)) {
+                                       if (listeners.length === 2) data[type] = listeners[i ? 0 : 1];
+                                       else listeners.splice(i, 1);
+                               }
+                       }
+               } else {
+                       if ((listeners === listener) ||
+                                       (listeners.__eeOnceListener__ === listener)) {
+                               delete data[type];
                        }
-                       storage.save(localStorageName)
-               })
-               store.getAll = function(storage) {
-                       var ret = {}
-                       store.forEach(function(key, val) {
-                               ret[key] = val
-                       })
-                       return ret
                }
-               store.forEach = withIEStorage(function(storage, callback) {
-                       var attributes = storage.XMLDocument.documentElement.attributes
-                       for (var i=0, attr; attr=attributes[i]; ++i) {
-                               callback(attr.name, store.deserialize(storage.getAttribute(attr.name)))
+
+               return this;
+       };
+
+       emit = function (type) {
+               var i, l, listener, listeners, args;
+
+               if (!hasOwnProperty.call(this, '__ee__')) return;
+               listeners = this.__ee__[type];
+               if (!listeners) return;
+
+               if (typeof listeners === 'object') {
+                       l = arguments.length;
+                       args = new Array(l - 1);
+                       for (i = 1; i < l; ++i) args[i - 1] = arguments[i];
+
+                       listeners = listeners.slice();
+                       for (i = 0; (listener = listeners[i]); ++i) {
+                               apply.call(listener, this, args);
                        }
-               })
+               } else {
+                       switch (arguments.length) {
+                       case 1:
+                               call.call(listeners, this);
+                               break;
+                       case 2:
+                               call.call(listeners, this, arguments[1]);
+                               break;
+                       case 3:
+                               call.call(listeners, this, arguments[1], arguments[2]);
+                               break;
+                       default:
+                               l = arguments.length;
+                               args = new Array(l - 1);
+                               for (i = 1; i < l; ++i) {
+                                       args[i - 1] = arguments[i];
+                               }
+                               apply.call(listeners, this, args);
+                       }
+               }
+       };
+
+       methods = {
+               on: on,
+               once: once,
+               off: off,
+               emit: emit
+       };
+
+       descriptors = {
+               on: d_1(on),
+               once: d_1(once),
+               off: d_1(off),
+               emit: d_1(emit)
+       };
+
+       base = defineProperties({}, descriptors);
+
+       module.exports = exports = function (o) {
+               return (o == null) ? create(base) : defineProperties(Object(o), descriptors);
+       };
+       exports.methods = methods;
+       });
+       var eventEmitter_1 = eventEmitter.methods;
+
+       var validTypes = { object: true, symbol: true };
+
+       var isImplemented$7 = function () {
+               var symbol;
+               if (typeof Symbol !== 'function') return false;
+               symbol = Symbol('test symbol');
+               try { String(symbol); } catch (e) { return false; }
+
+               // Return 'true' also for polyfills
+               if (!validTypes[typeof Symbol.iterator]) return false;
+               if (!validTypes[typeof Symbol.toPrimitive]) return false;
+               if (!validTypes[typeof Symbol.toStringTag]) return false;
+
+               return true;
+       };
+
+       var isSymbol = function (x) {
+               if (!x) return false;
+               if (typeof x === 'symbol') return true;
+               if (!x.constructor) return false;
+               if (x.constructor.name !== 'Symbol') return false;
+               return (x[x.constructor.toStringTag] === 'Symbol');
+       };
+
+       var validateSymbol = function (value) {
+               if (!isSymbol(value)) throw new TypeError(value + " is not a symbol");
+               return value;
+       };
+
+       var create$3 = Object.create, defineProperties = Object.defineProperties
+         , defineProperty$1 = Object.defineProperty, objPrototype = Object.prototype
+         , NativeSymbol, SymbolPolyfill, HiddenSymbol, globalSymbols = create$3(null)
+         , isNativeSafe;
+
+       if (typeof Symbol === 'function') {
+               NativeSymbol = Symbol;
+               try {
+                       String(NativeSymbol());
+                       isNativeSafe = true;
+               } catch (ignore) {}
        }
 
-       try {
-               var testKey = '__storejs__'
-               store.set(testKey, testKey)
-               if (store.get(testKey) != testKey) { store.disabled = true }
-               store.remove(testKey)
-       } catch(e) {
-               store.disabled = true
-       }
-       store.enabled = !store.disabled
-       
-       if (typeof module != 'undefined' && module.exports) { module.exports = store }
-       else if (typeof define === 'function' && define.amd) { define(store) }
-       else { win.store = store }
-       
-})(this.window || global);
-
-})(window)
-},{}],5:[function(require,module,exports){
-module.exports = hasKeys
-
-function hasKeys(source) {
-    return source !== null &&
-        (typeof source === "object" ||
-        typeof source === "function")
-}
-
-},{}],4:[function(require,module,exports){
-var Keys = require("object-keys")
-var hasKeys = require("./has-keys")
-
-module.exports = extend
-
-function extend() {
-    var target = {}
-
-    for (var i = 0; i < arguments.length; i++) {
-        var source = arguments[i]
-
-        if (!hasKeys(source)) {
-            continue
-        }
-
-        var keys = Keys(source)
-
-        for (var j = 0; j < keys.length; j++) {
-            var name = keys[j]
-            target[name] = source[name]
-        }
-    }
-
-    return target
-}
-
-},{"./has-keys":5,"object-keys":6}],7:[function(require,module,exports){
-(function(global){/**
- * jsHashes - A fast and independent hashing library pure JavaScript implemented (ES3 compliant) for both server and client side
- * 
- * @class Hashes
- * @author Tomas Aparicio <tomas@rijndael-project.com>
- * @license New BSD (see LICENSE file)
- * @version 1.0.4
- *
- * Algorithms specification:
- *
- * MD5 <http://www.ietf.org/rfc/rfc1321.txt>
- * RIPEMD-160 <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
- * SHA1   <http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf>
- * SHA256 <http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf>
- * SHA512 <http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf>
- * HMAC <http://www.ietf.org/rfc/rfc2104.txt>
- *
- */
-(function(){
-  var Hashes;
-  
-  // private helper methods
-  function utf8Encode(str) {
-    var  x, y, output = '', i = -1, l;
-    
-    if (str && str.length) {
-      l = str.length;
-      while ((i+=1) < l) {
-        /* Decode utf-16 surrogate pairs */
-        x = str.charCodeAt(i);
-        y = i + 1 < l ? str.charCodeAt(i + 1) : 0;
-        if (0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) {
-            x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF);
-            i += 1;
-        }
-        /* Encode output as utf-8 */
-        if (x <= 0x7F) {
-            output += String.fromCharCode(x);
-        } else if (x <= 0x7FF) {
-            output += String.fromCharCode(0xC0 | ((x >>> 6 ) & 0x1F),
-                        0x80 | ( x & 0x3F));
-        } else if (x <= 0xFFFF) {
-            output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F),
-                        0x80 | ((x >>> 6 ) & 0x3F),
-                        0x80 | ( x & 0x3F));
-        } else if (x <= 0x1FFFFF) {
-            output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07),
-                        0x80 | ((x >>> 12) & 0x3F),
-                        0x80 | ((x >>> 6 ) & 0x3F),
-                        0x80 | ( x & 0x3F));
-        }
-      }
-    }
-    return output;
-  }
-  
-  function utf8Decode(str) {
-    var i, ac, c1, c2, c3, arr = [], l;
-    i = ac = c1 = c2 = c3 = 0;
-    
-    if (str && str.length) {
-      l = str.length;
-      str += '';
-    
-      while (i < l) {
-          c1 = str.charCodeAt(i);
-          ac += 1;
-          if (c1 < 128) {
-              arr[ac] = String.fromCharCode(c1);
-              i+=1;
-          } else if (c1 > 191 && c1 < 224) {
-              c2 = str.charCodeAt(i + 1);
-              arr[ac] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
-              i += 2;
-          } else {
-              c2 = str.charCodeAt(i + 1);
-              c3 = str.charCodeAt(i + 2);
-              arr[ac] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
-              i += 3;
-          }
-      }
-    }
-    return arr.join('');
-  }
-
-  /**
-   * Add integers, wrapping at 2^32. This uses 16-bit operations internally
-   * to work around bugs in some JS interpreters.
-   */
-  function safe_add(x, y) {
-    var lsw = (x & 0xFFFF) + (y & 0xFFFF),
-        msw = (x >> 16) + (y >> 16) + (lsw >> 16);
-    return (msw << 16) | (lsw & 0xFFFF);
-  }
-
-  /**
-   * Bitwise rotate a 32-bit number to the left.
-   */
-  function bit_rol(num, cnt) {
-    return (num << cnt) | (num >>> (32 - cnt));
-  }
-
-  /**
-   * Convert a raw string to a hex string
-   */
-  function rstr2hex(input, hexcase) {
-    var hex_tab = hexcase ? '0123456789ABCDEF' : '0123456789abcdef',
-        output = '', x, i = 0, l = input.length;
-    for (; i < l; i+=1) {
-      x = input.charCodeAt(i);
-      output += hex_tab.charAt((x >>> 4) & 0x0F) + hex_tab.charAt(x & 0x0F);
-    }
-    return output;
-  }
-
-  /**
-   * Encode a string as utf-16
-   */
-  function str2rstr_utf16le(input) {
-    var i, l = input.length, output = '';
-    for (i = 0; i < l; i+=1) {
-      output += String.fromCharCode( input.charCodeAt(i) & 0xFF, (input.charCodeAt(i) >>> 8) & 0xFF);
-    }
-    return output;
-  }
-
-  function str2rstr_utf16be(input) {
-    var i, l = input.length, output = '';
-    for (i = 0; i < l; i+=1) {
-      output += String.fromCharCode((input.charCodeAt(i) >>> 8) & 0xFF, input.charCodeAt(i) & 0xFF);
-    }
-    return output;
-  }
-
-  /**
-   * Convert an array of big-endian words to a string
-   */
-  function binb2rstr(input) {
-    var i, l = input.length * 32, output = '';
-    for (i = 0; i < l; i += 8) {
-        output += String.fromCharCode((input[i>>5] >>> (24 - i % 32)) & 0xFF);
-    }
-    return output;
-  }
-
-  /**
-   * Convert an array of little-endian words to a string
-   */
-  function binl2rstr(input) {
-    var i, l = input.length * 32, output = '';
-    for (i = 0;i < l; i += 8) {
-      output += String.fromCharCode((input[i>>5] >>> (i % 32)) & 0xFF);
-    }
-    return output;
-  }
-
-  /**
-   * Convert a raw string to an array of little-endian words
-   * Characters >255 have their high-byte silently ignored.
-   */
-  function rstr2binl(input) {
-    var i, l = input.length * 8, output = Array(input.length >> 2), lo = output.length;
-    for (i = 0; i < lo; i+=1) {
-      output[i] = 0;
-    }
-    for (i = 0; i < l; i += 8) {
-      output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (i%32);
-    }
-    return output;
-  }
-  
-  /**
-   * Convert a raw string to an array of big-endian words 
-   * Characters >255 have their high-byte silently ignored.
-   */
-   function rstr2binb(input) {
-      var i, l = input.length * 8, output = Array(input.length >> 2), lo = output.length;
-      for (i = 0; i < lo; i+=1) {
-            output[i] = 0;
-        }
-      for (i = 0; i < l; i += 8) {
-            output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (24 - i % 32);
-        }
-      return output;
-   }
-
-  /**
-   * Convert a raw string to an arbitrary string encoding
-   */
-  function rstr2any(input, encoding) {
-    var divisor = encoding.length,
-        remainders = Array(),
-        i, q, x, ld, quotient, dividend, output, full_length;
-  
-    /* Convert to an array of 16-bit big-endian values, forming the dividend */
-    dividend = Array(Math.ceil(input.length / 2));
-    ld = dividend.length;
-    for (i = 0; i < ld; i+=1) {
-      dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1);
-    }
-  
-    /**
-     * Repeatedly perform a long division. The binary array forms the dividend,
-     * the length of the encoding is the divisor. Once computed, the quotient
-     * forms the dividend for the next step. We stop when the dividend is zerHashes.
-     * All remainders are stored for later use.
-     */
-    while(dividend.length > 0) {
-      quotient = Array();
-      x = 0;
-      for (i = 0; i < dividend.length; i+=1) {
-        x = (x << 16) + dividend[i];
-        q = Math.floor(x / divisor);
-        x -= q * divisor;
-        if (quotient.length > 0 || q > 0) {
-          quotient[quotient.length] = q;
-        }
-      }
-      remainders[remainders.length] = x;
-      dividend = quotient;
-    }
-  
-    /* Convert the remainders to the output string */
-    output = '';
-    for (i = remainders.length - 1; i >= 0; i--) {
-      output += encoding.charAt(remainders[i]);
-    }
-  
-    /* Append leading zero equivalents */
-    full_length = Math.ceil(input.length * 8 / (Math.log(encoding.length) / Math.log(2)));
-    for (i = output.length; i < full_length; i+=1) {
-      output = encoding[0] + output;
-    }
-    return output;
-  }
-
-  /**
-   * Convert a raw string to a base-64 string
-   */
-  function rstr2b64(input, b64pad) {
-    var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
-        output = '',
-        len = input.length, i, j, triplet;
-    b64pad= b64pad || '=';
-    for (i = 0; i < len; i += 3) {
-      triplet = (input.charCodeAt(i) << 16)
-            | (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0)
-            | (i + 2 < len ? input.charCodeAt(i+2)      : 0);
-      for (j = 0; j < 4; j+=1) {
-        if (i * 8 + j * 6 > input.length * 8) { 
-          output += b64pad; 
-        } else { 
-          output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F); 
-        }
-       }
-    }
-    return output;
-  }
-
-  Hashes = {
-  /**  
-   * @property {String} version
-   * @readonly
-   */
-  VERSION : '1.0.3',
-  /**
-   * @member Hashes
-   * @class Base64
-   * @constructor
-   */
-  Base64 : function () {
-    // private properties
-    var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
-        pad = '=', // default pad according with the RFC standard
-        url = false, // URL encoding support @todo
-        utf8 = true; // by default enable UTF-8 support encoding
-
-    // public method for encoding
-    this.encode = function (input) {
-      var i, j, triplet,
-          output = '', 
-          len = input.length;
-
-      pad = pad || '=';
-      input = (utf8) ? utf8Encode(input) : input;
-
-      for (i = 0; i < len; i += 3) {
-        triplet = (input.charCodeAt(i) << 16)
-              | (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0)
-              | (i + 2 < len ? input.charCodeAt(i+2) : 0);
-        for (j = 0; j < 4; j+=1) {
-          if (i * 8 + j * 6 > len * 8) {
-              output += pad;
-          } else {
-              output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F);
-          }
-        }
-      }
-      return output;    
-    };
-
-    // public method for decoding
-    this.decode = function (input) {
-      // var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
-      var i, o1, o2, o3, h1, h2, h3, h4, bits, ac,
-        dec = '',
-        arr = [];
-      if (!input) { return input; }
-
-      i = ac = 0;
-      input = input.replace(new RegExp('\\'+pad,'gi'),''); // use '='
-      //input += '';
-
-      do { // unpack four hexets into three octets using index points in b64
-        h1 = tab.indexOf(input.charAt(i+=1));
-        h2 = tab.indexOf(input.charAt(i+=1));
-        h3 = tab.indexOf(input.charAt(i+=1));
-        h4 = tab.indexOf(input.charAt(i+=1));
-
-        bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;
-
-        o1 = bits >> 16 & 0xff;
-        o2 = bits >> 8 & 0xff;
-        o3 = bits & 0xff;
-        ac += 1;
-
-        if (h3 === 64) {
-          arr[ac] = String.fromCharCode(o1);
-        } else if (h4 === 64) {
-          arr[ac] = String.fromCharCode(o1, o2);
-        } else {
-          arr[ac] = String.fromCharCode(o1, o2, o3);
-        }
-      } while (i < input.length);
-
-      dec = arr.join('');
-      dec = (utf8) ? utf8Decode(dec) : dec;
-
-      return dec;
-    };
-
-    // set custom pad string
-    this.setPad = function (str) {
-        pad = str || pad;
-        return this;
-    };
-    // set custom tab string characters
-    this.setTab = function (str) {
-        tab = str || tab;
-        return this;
-    };
-    this.setUTF8 = function (bool) {
-        if (typeof bool === 'boolean') {
-          utf8 = bool;
-        }
-        return this;
-    };
-  },
-
-  /**
-   * CRC-32 calculation
-   * @member Hashes
-   * @method CRC32
-   * @static
-   * @param {String} str Input String
-   * @return {String}
-   */
-  CRC32 : function (str) {
-    var crc = 0, x = 0, y = 0, table, i, iTop;
-    str = utf8Encode(str);
-        
-    table = [ 
-        '00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 ',
-        '79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 ',
-        '84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F ',
-        '63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD ',
-        'A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC ',
-        '51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 ',
-        'B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 ',
-        '06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 ',
-        'E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 ',
-        '12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 ',
-        'D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 ',
-        '33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 ',
-        'CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 ',
-        '9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E ',
-        '7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D ',
-        '806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 ',
-        '60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA ',
-        'AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 ', 
-        '5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 ',
-        'B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 ',
-        '05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 ',
-        'F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA ',
-        '11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 ',
-        'D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F ',
-        '30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E ',
-        'C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D'
-    ].join('');
-
-    crc = crc ^ (-1);
-    for (i = 0, iTop = str.length; i < iTop; i+=1 ) {
-        y = ( crc ^ str.charCodeAt( i ) ) & 0xFF;
-        x = '0x' + table.substr( y * 9, 8 );
-        crc = ( crc >>> 8 ) ^ x;
-    }
-    // always return a positive number (that's what >>> 0 does)
-    return (crc ^ (-1)) >>> 0;
-  },
-  /**
-   * @member Hashes
-   * @class MD5
-   * @constructor
-   * @param {Object} [config]
-   * 
-   * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
-   * Digest Algorithm, as defined in RFC 1321.
-   * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
-   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
-   * See <http://pajhome.org.uk/crypt/md5> for more infHashes.
-   */
-  MD5 : function (options) {  
-    /**
-     * Private config properties. You may need to tweak these to be compatible with
-     * the server-side, but the defaults work in most cases.
-     * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase}
-     */
-    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase
-        b64pad = (options && typeof options.pad === 'string') ? options.pda : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance
-        utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding
-
-    // privileged (public) methods 
-    this.hex = function (s) { 
-      return rstr2hex(rstr(s, utf8), hexcase);
-    };
-    this.b64 = function (s) { 
-      return rstr2b64(rstr(s), b64pad);
-    };
-    this.any = function(s, e) { 
-      return rstr2any(rstr(s, utf8), e); 
-    };
-    this.hex_hmac = function (k, d) { 
-      return rstr2hex(rstr_hmac(k, d), hexcase); 
-    };
-    this.b64_hmac = function (k, d) { 
-      return rstr2b64(rstr_hmac(k,d), b64pad); 
-    };
-    this.any_hmac = function (k, d, e) { 
-      return rstr2any(rstr_hmac(k, d), e); 
-    };
-    /**
-     * Perform a simple self-test to see if the VM is working
-     * @return {String} Hexadecimal hash sample
-     */
-    this.vm_test = function () {
-      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
-    };
-    /** 
-     * Enable/disable uppercase hexadecimal returned string 
-     * @param {Boolean} 
-     * @return {Object} this
-     */ 
-    this.setUpperCase = function (a) {
-      if (typeof a === 'boolean' ) {
-        hexcase = a;
-      }
-      return this;
-    };
-    /** 
-     * Defines a base64 pad string 
-     * @param {String} Pad
-     * @return {Object} this
-     */ 
-    this.setPad = function (a) {
-      b64pad = a || b64pad;
-      return this;
-    };
-    /** 
-     * Defines a base64 pad string 
-     * @param {Boolean} 
-     * @return {Object} [this]
-     */ 
-    this.setUTF8 = function (a) {
-      if (typeof a === 'boolean') { 
-        utf8 = a;
-      }
-      return this;
-    };
-
-    // private methods
-
-    /**
-     * Calculate the MD5 of a raw string
-     */
-    function rstr(s) {
-      s = (utf8) ? utf8Encode(s): s;
-      return binl2rstr(binl(rstr2binl(s), s.length * 8));
-    }
-    
-    /**
-     * Calculate the HMAC-MD5, of a key and some data (raw strings)
-     */
-    function rstr_hmac(key, data) {
-      var bkey, ipad, opad, hash, i;
-
-      key = (utf8) ? utf8Encode(key) : key;
-      data = (utf8) ? utf8Encode(data) : data;
-      bkey = rstr2binl(key);
-      if (bkey.length > 16) { 
-        bkey = binl(bkey, key.length * 8); 
-      }
-
-      ipad = Array(16), opad = Array(16); 
-      for (i = 0; i < 16; i+=1) {
-          ipad[i] = bkey[i] ^ 0x36363636;
-          opad[i] = bkey[i] ^ 0x5C5C5C5C;
-      }
-      hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
-      return binl2rstr(binl(opad.concat(hash), 512 + 128));
-    }
-
-    /**
-     * Calculate the MD5 of an array of little-endian words, and a bit length.
-     */
-    function binl(x, len) {
-      var i, olda, oldb, oldc, oldd,
-          a =  1732584193,
-          b = -271733879,
-          c = -1732584194,
-          d =  271733878;
-        
-      /* append padding */
-      x[len >> 5] |= 0x80 << ((len) % 32);
-      x[(((len + 64) >>> 9) << 4) + 14] = len;
-
-      for (i = 0; i < x.length; i += 16) {
-        olda = a;
-        oldb = b;
-        oldc = c;
-        oldd = d;
-
-        a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
-        d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
-        c = md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);
-        b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
-        a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
-        d = md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);
-        c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
-        b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
-        a = md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
-        d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
-        c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
-        b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
-        a = md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);
-        d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
-        c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
-        b = md5_ff(b, c, d, a, x[i+15], 22,  1236535329);
-
-        a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
-        d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
-        c = md5_gg(c, d, a, b, x[i+11], 14,  643717713);
-        b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
-        a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
-        d = md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);
-        c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
-        b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
-        a = md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);
-        d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
-        c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
-        b = md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);
-        a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
-        d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
-        c = md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);
-        b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
-
-        a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
-        d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
-        c = md5_hh(c, d, a, b, x[i+11], 16,  1839030562);
-        b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
-        a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
-        d = md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);
-        c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
-        b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
-        a = md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);
-        d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
-        c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
-        b = md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);
-        a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
-        d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
-        c = md5_hh(c, d, a, b, x[i+15], 16,  530742520);
-        b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
-
-        a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
-        d = md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);
-        c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
-        b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
-        a = md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);
-        d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
-        c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
-        b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
-        a = md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);
-        d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
-        c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
-        b = md5_ii(b, c, d, a, x[i+13], 21,  1309151649);
-        a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
-        d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
-        c = md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);
-        b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
-
-        a = safe_add(a, olda);
-        b = safe_add(b, oldb);
-        c = safe_add(c, oldc);
-        d = safe_add(d, oldd);
-      }
-      return Array(a, b, c, d);
-    }
-
-    /**
-     * These functions implement the four basic operations the algorithm uses.
-     */
-    function md5_cmn(q, a, b, x, s, t) {
-      return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
-    }
-    function md5_ff(a, b, c, d, x, s, t) {
-      return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
-    }
-    function md5_gg(a, b, c, d, x, s, t) {
-      return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
-    }
-    function md5_hh(a, b, c, d, x, s, t) {
-      return md5_cmn(b ^ c ^ d, a, b, x, s, t);
-    }
-    function md5_ii(a, b, c, d, x, s, t) {
-      return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
-    }
-  },
-  /**
-   * @member Hashes
-   * @class Hashes.SHA1
-   * @param {Object} [config]
-   * @constructor
-   * 
-   * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined in FIPS 180-1
-   * Version 2.2 Copyright Paul Johnston 2000 - 2009.
-   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
-   * See http://pajhome.org.uk/crypt/md5 for details.
-   */
-  SHA1 : function (options) {
-   /**
-     * Private config properties. You may need to tweak these to be compatible with
-     * the server-side, but the defaults work in most cases.
-     * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase}
-     */
-    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase
-        b64pad = (options && typeof options.pad === 'string') ? options.pda : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance
-        utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding
-
-    // public methods
-    this.hex = function (s) { 
-       return rstr2hex(rstr(s, utf8), hexcase); 
-    };
-    this.b64 = function (s) { 
-       return rstr2b64(rstr(s, utf8), b64pad);
-    };
-    this.any = function (s, e) { 
-       return rstr2any(rstr(s, utf8), e);
-    };
-    this.hex_hmac = function (k, d) {
-       return rstr2hex(rstr_hmac(k, d));
-    };
-    this.b64_hmac = function (k, d) { 
-       return rstr2b64(rstr_hmac(k, d), b64pad); 
-    };
-    this.any_hmac = function (k, d, e) { 
-       return rstr2any(rstr_hmac(k, d), e);
-    };
-    /**
-     * Perform a simple self-test to see if the VM is working
-     * @return {String} Hexadecimal hash sample
-     * @public
-     */
-    this.vm_test = function () {
-      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
-    };
-    /** 
-     * @description Enable/disable uppercase hexadecimal returned string 
-     * @param {boolean} 
-     * @return {Object} this
-     * @public
-     */ 
-    this.setUpperCase = function (a) {
-       if (typeof a === 'boolean') {
-        hexcase = a;
-      }
-       return this;
-    };
-    /** 
-     * @description Defines a base64 pad string 
-     * @param {string} Pad
-     * @return {Object} this
-     * @public
-     */ 
-    this.setPad = function (a) {
-      b64pad = a || b64pad;
-       return this;
-    };
-    /** 
-     * @description Defines a base64 pad string 
-     * @param {boolean} 
-     * @return {Object} this
-     * @public
-     */ 
-    this.setUTF8 = function (a) {
-       if (typeof a === 'boolean') {
-        utf8 = a;
-      }
-       return this;
-    };
-
-    // private methods
-
-    /**
-        * Calculate the SHA-512 of a raw string
-        */
-       function rstr(s) {
-      s = (utf8) ? utf8Encode(s) : s;
-      return binb2rstr(binb(rstr2binb(s), s.length * 8));
-       }
-
-    /**
-     * Calculate the HMAC-SHA1 of a key and some data (raw strings)
-     */
-    function rstr_hmac(key, data) {
-       var bkey, ipad, opad, i, hash;
-       key = (utf8) ? utf8Encode(key) : key;
-       data = (utf8) ? utf8Encode(data) : data;
-       bkey = rstr2binb(key);
-
-       if (bkey.length > 16) {
-        bkey = binb(bkey, key.length * 8);
-      }
-       ipad = Array(16), opad = Array(16);
-       for (i = 0; i < 16; i+=1) {
-               ipad[i] = bkey[i] ^ 0x36363636;
-               opad[i] = bkey[i] ^ 0x5C5C5C5C;
-       }
-       hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8);
-       return binb2rstr(binb(opad.concat(hash), 512 + 160));
-    }
-
-    /**
-     * Calculate the SHA-1 of an array of big-endian words, and a bit length
-     */
-    function binb(x, len) {
-      var i, j, t, olda, oldb, oldc, oldd, olde,
-          w = Array(80),
-          a =  1732584193,
-          b = -271733879,
-          c = -1732584194,
-          d =  271733878,
-          e = -1009589776;
-
-      /* append padding */
-      x[len >> 5] |= 0x80 << (24 - len % 32);
-      x[((len + 64 >> 9) << 4) + 15] = len;
-
-      for (i = 0; i < x.length; i += 16) {
-        olda = a,
-        oldb = b;
-        oldc = c;
-        oldd = d;
-        olde = e;
-      
-       for (j = 0; j < 80; j+=1)       {
-         if (j < 16) { 
-            w[j] = x[i + j]; 
-          } else { 
-            w[j] = bit_rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1); 
-          }
-         t = safe_add(safe_add(bit_rol(a, 5), sha1_ft(j, b, c, d)),
-                                          safe_add(safe_add(e, w[j]), sha1_kt(j)));
-         e = d;
-         d = c;
-         c = bit_rol(b, 30);
-         b = a;
-         a = t;
-       }
-
-       a = safe_add(a, olda);
-       b = safe_add(b, oldb);
-       c = safe_add(c, oldc);
-       d = safe_add(d, oldd);
-       e = safe_add(e, olde);
-      }
-      return Array(a, b, c, d, e);
-    }
-
-    /**
-     * Perform the appropriate triplet combination function for the current
-     * iteration
-     */
-    function sha1_ft(t, b, c, d) {
-      if (t < 20) { return (b & c) | ((~b) & d); }
-      if (t < 40) { return b ^ c ^ d; }
-      if (t < 60) { return (b & c) | (b & d) | (c & d); }
-      return b ^ c ^ d;
-    }
-
-    /**
-     * Determine the appropriate additive constant for the current iteration
-     */
-    function sha1_kt(t) {
-      return (t < 20) ?  1518500249 : (t < 40) ?  1859775393 :
-                (t < 60) ? -1894007588 : -899497514;
-    }
-  },
-  /**
-   * @class Hashes.SHA256
-   * @param {config}
-   * 
-   * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined in FIPS 180-2
-   * Version 2.2 Copyright Angel Marin, Paul Johnston 2000 - 2009.
-   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
-   * See http://pajhome.org.uk/crypt/md5 for details.
-   * Also http://anmar.eu.org/projects/jssha2/
-   */
-  SHA256 : function (options) {
-    /**
-     * Private properties configuration variables. You may need to tweak these to be compatible with
-     * the server-side, but the defaults work in most cases.
-     * @see this.setUpperCase() method
-     * @see this.setPad() method
-     */
-    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase  */
-              b64pad = (options && typeof options.pad === 'string') ? options.pda : '=', /* base-64 pad character. Default '=' for strict RFC compliance   */
-              utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, /* enable/disable utf8 encoding */
-              sha256_K;
-
-    /* privileged (public) methods */
-    this.hex = function (s) { 
-      return rstr2hex(rstr(s, utf8)); 
-    };
-    this.b64 = function (s) { 
-      return rstr2b64(rstr(s, utf8), b64pad);
-    };
-    this.any = function (s, e) { 
-      return rstr2any(rstr(s, utf8), e); 
-    };
-    this.hex_hmac = function (k, d) { 
-      return rstr2hex(rstr_hmac(k, d)); 
-    };
-    this.b64_hmac = function (k, d) { 
-      return rstr2b64(rstr_hmac(k, d), b64pad);
-    };
-    this.any_hmac = function (k, d, e) { 
-      return rstr2any(rstr_hmac(k, d), e); 
-    };
-    /**
-     * Perform a simple self-test to see if the VM is working
-     * @return {String} Hexadecimal hash sample
-     * @public
-     */
-    this.vm_test = function () {
-      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
-    };
-    /** 
-     * Enable/disable uppercase hexadecimal returned string 
-     * @param {boolean} 
-     * @return {Object} this
-     * @public
-     */ 
-    this.setUpperCase = function (a) {
-      if (typeof a === 'boolean') { 
-        hexcase = a;
-      }
-      return this;
-    };
-    /** 
-     * @description Defines a base64 pad string 
-     * @param {string} Pad
-     * @return {Object} this
-     * @public
-     */ 
-    this.setPad = function (a) {
-      b64pad = a || b64pad;
-      return this;
-    };
-    /** 
-     * Defines a base64 pad string 
-     * @param {boolean} 
-     * @return {Object} this
-     * @public
-     */ 
-    this.setUTF8 = function (a) {
-      if (typeof a === 'boolean') {
-        utf8 = a;
-      }
-      return this;
-    };
-    
-    // private methods
-
-    /**
-     * Calculate the SHA-512 of a raw string
-     */
-    function rstr(s, utf8) {
-      s = (utf8) ? utf8Encode(s) : s;
-      return binb2rstr(binb(rstr2binb(s), s.length * 8));
-    }
-
-    /**
-     * Calculate the HMAC-sha256 of a key and some data (raw strings)
-     */
-    function rstr_hmac(key, data) {
-      key = (utf8) ? utf8Encode(key) : key;
-      data = (utf8) ? utf8Encode(data) : data;
-      var hash, i = 0,
-          bkey = rstr2binb(key), 
-          ipad = Array(16), 
-          opad = Array(16);
-
-      if (bkey.length > 16) { bkey = binb(bkey, key.length * 8); }
-      
-      for (; i < 16; i+=1) {
-        ipad[i] = bkey[i] ^ 0x36363636;
-        opad[i] = bkey[i] ^ 0x5C5C5C5C;
-      }
-      
-      hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8);
-      return binb2rstr(binb(opad.concat(hash), 512 + 256));
-    }
-    
-    /*
-     * Main sha256 function, with its support functions
-     */
-    function sha256_S (X, n) {return ( X >>> n ) | (X << (32 - n));}
-    function sha256_R (X, n) {return ( X >>> n );}
-    function sha256_Ch(x, y, z) {return ((x & y) ^ ((~x) & z));}
-    function sha256_Maj(x, y, z) {return ((x & y) ^ (x & z) ^ (y & z));}
-    function sha256_Sigma0256(x) {return (sha256_S(x, 2) ^ sha256_S(x, 13) ^ sha256_S(x, 22));}
-    function sha256_Sigma1256(x) {return (sha256_S(x, 6) ^ sha256_S(x, 11) ^ sha256_S(x, 25));}
-    function sha256_Gamma0256(x) {return (sha256_S(x, 7) ^ sha256_S(x, 18) ^ sha256_R(x, 3));}
-    function sha256_Gamma1256(x) {return (sha256_S(x, 17) ^ sha256_S(x, 19) ^ sha256_R(x, 10));}
-    function sha256_Sigma0512(x) {return (sha256_S(x, 28) ^ sha256_S(x, 34) ^ sha256_S(x, 39));}
-    function sha256_Sigma1512(x) {return (sha256_S(x, 14) ^ sha256_S(x, 18) ^ sha256_S(x, 41));}
-    function sha256_Gamma0512(x) {return (sha256_S(x, 1)  ^ sha256_S(x, 8) ^ sha256_R(x, 7));}
-    function sha256_Gamma1512(x) {return (sha256_S(x, 19) ^ sha256_S(x, 61) ^ sha256_R(x, 6));}
-    
-    sha256_K = [
-      1116352408, 1899447441, -1245643825, -373957723, 961987163, 1508970993,
-      -1841331548, -1424204075, -670586216, 310598401, 607225278, 1426881987,
-      1925078388, -2132889090, -1680079193, -1046744716, -459576895, -272742522,
-      264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986,
-      -1740746414, -1473132947, -1341970488, -1084653625, -958395405, -710438585,
-      113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291,
-      1695183700, 1986661051, -2117940946, -1838011259, -1564481375, -1474664885,
-      -1035236496, -949202525, -778901479, -694614492, -200395387, 275423344,
-      430227734, 506948616, 659060556, 883997877, 958139571, 1322822218,
-      1537002063, 1747873779, 1955562222, 2024104815, -2067236844, -1933114872,
-      -1866530822, -1538233109, -1090935817, -965641998
-    ];
-    
-    function binb(m, l) {
-      var HASH = [1779033703, -1150833019, 1013904242, -1521486534,
-                 1359893119, -1694144372, 528734635, 1541459225];
-      var W = new Array(64);
-      var a, b, c, d, e, f, g, h;
-      var i, j, T1, T2;
-    
-      /* append padding */
-      m[l >> 5] |= 0x80 << (24 - l % 32);
-      m[((l + 64 >> 9) << 4) + 15] = l;
-    
-      for (i = 0; i < m.length; i += 16)
-      {
-      a = HASH[0];
-      b = HASH[1];
-      c = HASH[2];
-      d = HASH[3];
-      e = HASH[4];
-      f = HASH[5];
-      g = HASH[6];
-      h = HASH[7];
-    
-      for (j = 0; j < 64; j+=1)
-      {
-        if (j < 16) { 
-          W[j] = m[j + i];
-        } else { 
-          W[j] = safe_add(safe_add(safe_add(sha256_Gamma1256(W[j - 2]), W[j - 7]),
-                          sha256_Gamma0256(W[j - 15])), W[j - 16]);
-        }
-    
-        T1 = safe_add(safe_add(safe_add(safe_add(h, sha256_Sigma1256(e)), sha256_Ch(e, f, g)),
-                                  sha256_K[j]), W[j]);
-        T2 = safe_add(sha256_Sigma0256(a), sha256_Maj(a, b, c));
-        h = g;
-        g = f;
-        f = e;
-        e = safe_add(d, T1);
-        d = c;
-        c = b;
-        b = a;
-        a = safe_add(T1, T2);
-      }
-    
-      HASH[0] = safe_add(a, HASH[0]);
-      HASH[1] = safe_add(b, HASH[1]);
-      HASH[2] = safe_add(c, HASH[2]);
-      HASH[3] = safe_add(d, HASH[3]);
-      HASH[4] = safe_add(e, HASH[4]);
-      HASH[5] = safe_add(f, HASH[5]);
-      HASH[6] = safe_add(g, HASH[6]);
-      HASH[7] = safe_add(h, HASH[7]);
-      }
-      return HASH;
-    }
-
-  },
-
-  /**
-   * @class Hashes.SHA512
-   * @param {config}
-   * 
-   * A JavaScript implementation of the Secure Hash Algorithm, SHA-512, as defined in FIPS 180-2
-   * Version 2.2 Copyright Anonymous Contributor, Paul Johnston 2000 - 2009.
-   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
-   * See http://pajhome.org.uk/crypt/md5 for details. 
-   */
-  SHA512 : function (options) {
-    /**
-     * Private properties configuration variables. You may need to tweak these to be compatible with
-     * the server-side, but the defaults work in most cases.
-     * @see this.setUpperCase() method
-     * @see this.setPad() method
-     */
-    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false , /* hexadecimal output case format. false - lowercase; true - uppercase  */
-        b64pad = (options && typeof options.pad === 'string') ? options.pda : '=',  /* base-64 pad character. Default '=' for strict RFC compliance   */
-        utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, /* enable/disable utf8 encoding */
-        sha512_k;
-
-    /* privileged (public) methods */
-    this.hex = function (s) { 
-      return rstr2hex(rstr(s)); 
-    };
-    this.b64 = function (s) { 
-      return rstr2b64(rstr(s), b64pad);  
-    };
-    this.any = function (s, e) { 
-      return rstr2any(rstr(s), e);
-    };
-    this.hex_hmac = function (k, d) {
-      return rstr2hex(rstr_hmac(k, d));
-    };
-    this.b64_hmac = function (k, d) { 
-      return rstr2b64(rstr_hmac(k, d), b64pad);
-    };
-    this.any_hmac = function (k, d, e) { 
-      return rstr2any(rstr_hmac(k, d), e);
-    };
-    /**
-     * Perform a simple self-test to see if the VM is working
-     * @return {String} Hexadecimal hash sample
-     * @public
-     */
-    this.vm_test = function () {
-      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
-    };
-    /** 
-     * @description Enable/disable uppercase hexadecimal returned string 
-     * @param {boolean} 
-     * @return {Object} this
-     * @public
-     */ 
-    this.setUpperCase = function (a) {
-      if (typeof a === 'boolean') {
-        hexcase = a;
-      }
-      return this;
-    };
-    /** 
-     * @description Defines a base64 pad string 
-     * @param {string} Pad
-     * @return {Object} this
-     * @public
-     */ 
-    this.setPad = function (a) {
-      b64pad = a || b64pad;
-      return this;
-    };
-    /** 
-     * @description Defines a base64 pad string 
-     * @param {boolean} 
-     * @return {Object} this
-     * @public
-     */ 
-    this.setUTF8 = function (a) {
-      if (typeof a === 'boolean') {
-        utf8 = a;
-      }
-      return this;
-    };
-
-    /* private methods */
-    
-    /**
-     * Calculate the SHA-512 of a raw string
-     */
-    function rstr(s) {
-      s = (utf8) ? utf8Encode(s) : s;
-      return binb2rstr(binb(rstr2binb(s), s.length * 8));
-    }
-    /*
-     * Calculate the HMAC-SHA-512 of a key and some data (raw strings)
-     */
-    function rstr_hmac(key, data) {
-      key = (utf8) ? utf8Encode(key) : key;
-      data = (utf8) ? utf8Encode(data) : data;
-      
-      var hash, i = 0, 
-          bkey = rstr2binb(key),
-          ipad = Array(32), opad = Array(32);
-
-      if (bkey.length > 32) { bkey = binb(bkey, key.length * 8); }
-      
-      for (; i < 32; i+=1) {
-        ipad[i] = bkey[i] ^ 0x36363636;
-        opad[i] = bkey[i] ^ 0x5C5C5C5C;
-      }
-      
-      hash = binb(ipad.concat(rstr2binb(data)), 1024 + data.length * 8);
-      return binb2rstr(binb(opad.concat(hash), 1024 + 512));
-    }
-            
-    /**
-     * Calculate the SHA-512 of an array of big-endian dwords, and a bit length
-     */
-    function binb(x, len) {
-      var j, i, l,
-          W = new Array(80),
-          hash = new Array(16),
-          //Initial hash values
-          H = [
-            new int64(0x6a09e667, -205731576),
-            new int64(-1150833019, -2067093701),
-            new int64(0x3c6ef372, -23791573),
-            new int64(-1521486534, 0x5f1d36f1),
-            new int64(0x510e527f, -1377402159),
-            new int64(-1694144372, 0x2b3e6c1f),
-            new int64(0x1f83d9ab, -79577749),
-            new int64(0x5be0cd19, 0x137e2179)
-          ],
-          T1 = new int64(0, 0),
-          T2 = new int64(0, 0),
-          a = new int64(0,0),
-          b = new int64(0,0),
-          c = new int64(0,0),
-          d = new int64(0,0),
-          e = new int64(0,0),
-          f = new int64(0,0),
-          g = new int64(0,0),
-          h = new int64(0,0),
-          //Temporary variables not specified by the document
-          s0 = new int64(0, 0),
-          s1 = new int64(0, 0),
-          Ch = new int64(0, 0),
-          Maj = new int64(0, 0),
-          r1 = new int64(0, 0),
-          r2 = new int64(0, 0),
-          r3 = new int64(0, 0);
-
-      if (sha512_k === undefined) {
-          //SHA512 constants
-          sha512_k = [
-            new int64(0x428a2f98, -685199838), new int64(0x71374491, 0x23ef65cd),
-            new int64(-1245643825, -330482897), new int64(-373957723, -2121671748),
-            new int64(0x3956c25b, -213338824), new int64(0x59f111f1, -1241133031),
-            new int64(-1841331548, -1357295717), new int64(-1424204075, -630357736),
-            new int64(-670586216, -1560083902), new int64(0x12835b01, 0x45706fbe),
-            new int64(0x243185be, 0x4ee4b28c), new int64(0x550c7dc3, -704662302),
-            new int64(0x72be5d74, -226784913), new int64(-2132889090, 0x3b1696b1),
-            new int64(-1680079193, 0x25c71235), new int64(-1046744716, -815192428),
-            new int64(-459576895, -1628353838), new int64(-272742522, 0x384f25e3),
-            new int64(0xfc19dc6, -1953704523), new int64(0x240ca1cc, 0x77ac9c65),
-            new int64(0x2de92c6f, 0x592b0275), new int64(0x4a7484aa, 0x6ea6e483),
-            new int64(0x5cb0a9dc, -1119749164), new int64(0x76f988da, -2096016459),
-            new int64(-1740746414, -295247957), new int64(-1473132947, 0x2db43210),
-            new int64(-1341970488, -1728372417), new int64(-1084653625, -1091629340),
-            new int64(-958395405, 0x3da88fc2), new int64(-710438585, -1828018395),
-            new int64(0x6ca6351, -536640913), new int64(0x14292967, 0xa0e6e70),
-            new int64(0x27b70a85, 0x46d22ffc), new int64(0x2e1b2138, 0x5c26c926),
-            new int64(0x4d2c6dfc, 0x5ac42aed), new int64(0x53380d13, -1651133473),
-            new int64(0x650a7354, -1951439906), new int64(0x766a0abb, 0x3c77b2a8),
-            new int64(-2117940946, 0x47edaee6), new int64(-1838011259, 0x1482353b),
-            new int64(-1564481375, 0x4cf10364), new int64(-1474664885, -1136513023),
-            new int64(-1035236496, -789014639), new int64(-949202525, 0x654be30),
-            new int64(-778901479, -688958952), new int64(-694614492, 0x5565a910),
-            new int64(-200395387, 0x5771202a), new int64(0x106aa070, 0x32bbd1b8),
-            new int64(0x19a4c116, -1194143544), new int64(0x1e376c08, 0x5141ab53),
-            new int64(0x2748774c, -544281703), new int64(0x34b0bcb5, -509917016),
-            new int64(0x391c0cb3, -976659869), new int64(0x4ed8aa4a, -482243893),
-            new int64(0x5b9cca4f, 0x7763e373), new int64(0x682e6ff3, -692930397),
-            new int64(0x748f82ee, 0x5defb2fc), new int64(0x78a5636f, 0x43172f60),
-            new int64(-2067236844, -1578062990), new int64(-1933114872, 0x1a6439ec),
-            new int64(-1866530822, 0x23631e28), new int64(-1538233109, -561857047),
-            new int64(-1090935817, -1295615723), new int64(-965641998, -479046869),
-            new int64(-903397682, -366583396), new int64(-779700025, 0x21c0c207),
-            new int64(-354779690, -840897762), new int64(-176337025, -294727304),
-            new int64(0x6f067aa, 0x72176fba), new int64(0xa637dc5, -1563912026),
-            new int64(0x113f9804, -1090974290), new int64(0x1b710b35, 0x131c471b),
-            new int64(0x28db77f5, 0x23047d84), new int64(0x32caab7b, 0x40c72493),
-            new int64(0x3c9ebe0a, 0x15c9bebc), new int64(0x431d67c4, -1676669620),
-            new int64(0x4cc5d4be, -885112138), new int64(0x597f299c, -60457430),
-            new int64(0x5fcb6fab, 0x3ad6faec), new int64(0x6c44198c, 0x4a475817)
-          ];
-      }
-  
-      for (i=0; i<80; i+=1) {
-        W[i] = new int64(0, 0);
-      }
-    
-      // append padding to the source string. The format is described in the FIPS.
-      x[len >> 5] |= 0x80 << (24 - (len & 0x1f));
-      x[((len + 128 >> 10)<< 5) + 31] = len;
-      l = x.length;
-      for (i = 0; i<l; i+=32) { //32 dwords is the block size
-        int64copy(a, H[0]);
-        int64copy(b, H[1]);
-        int64copy(c, H[2]);
-        int64copy(d, H[3]);
-        int64copy(e, H[4]);
-        int64copy(f, H[5]);
-        int64copy(g, H[6]);
-        int64copy(h, H[7]);
-      
-        for (j=0; j<16; j+=1) {
-          W[j].h = x[i + 2*j];
-          W[j].l = x[i + 2*j + 1];
-        }
-      
-        for (j=16; j<80; j+=1) {
-          //sigma1
-          int64rrot(r1, W[j-2], 19);
-          int64revrrot(r2, W[j-2], 29);
-          int64shr(r3, W[j-2], 6);
-          s1.l = r1.l ^ r2.l ^ r3.l;
-          s1.h = r1.h ^ r2.h ^ r3.h;
-          //sigma0
-          int64rrot(r1, W[j-15], 1);
-          int64rrot(r2, W[j-15], 8);
-          int64shr(r3, W[j-15], 7);
-          s0.l = r1.l ^ r2.l ^ r3.l;
-          s0.h = r1.h ^ r2.h ^ r3.h;
-      
-          int64add4(W[j], s1, W[j-7], s0, W[j-16]);
-        }
-      
-        for (j = 0; j < 80; j+=1) {
-          //Ch
-          Ch.l = (e.l & f.l) ^ (~e.l & g.l);
-          Ch.h = (e.h & f.h) ^ (~e.h & g.h);
-      
-          //Sigma1
-          int64rrot(r1, e, 14);
-          int64rrot(r2, e, 18);
-          int64revrrot(r3, e, 9);
-          s1.l = r1.l ^ r2.l ^ r3.l;
-          s1.h = r1.h ^ r2.h ^ r3.h;
-      
-          //Sigma0
-          int64rrot(r1, a, 28);
-          int64revrrot(r2, a, 2);
-          int64revrrot(r3, a, 7);
-          s0.l = r1.l ^ r2.l ^ r3.l;
-          s0.h = r1.h ^ r2.h ^ r3.h;
-      
-          //Maj
-          Maj.l = (a.l & b.l) ^ (a.l & c.l) ^ (b.l & c.l);
-          Maj.h = (a.h & b.h) ^ (a.h & c.h) ^ (b.h & c.h);
-      
-          int64add5(T1, h, s1, Ch, sha512_k[j], W[j]);
-          int64add(T2, s0, Maj);
-      
-          int64copy(h, g);
-          int64copy(g, f);
-          int64copy(f, e);
-          int64add(e, d, T1);
-          int64copy(d, c);
-          int64copy(c, b);
-          int64copy(b, a);
-          int64add(a, T1, T2);
-        }
-        int64add(H[0], H[0], a);
-        int64add(H[1], H[1], b);
-        int64add(H[2], H[2], c);
-        int64add(H[3], H[3], d);
-        int64add(H[4], H[4], e);
-        int64add(H[5], H[5], f);
-        int64add(H[6], H[6], g);
-        int64add(H[7], H[7], h);
-      }
-    
-      //represent the hash as an array of 32-bit dwords
-      for (i=0; i<8; i+=1) {
-        hash[2*i] = H[i].h;
-        hash[2*i + 1] = H[i].l;
-      }
-      return hash;
-    }
-    
-    //A constructor for 64-bit numbers
-    function int64(h, l) {
-      this.h = h;
-      this.l = l;
-      //this.toString = int64toString;
-    }
-    
-    //Copies src into dst, assuming both are 64-bit numbers
-    function int64copy(dst, src) {
-      dst.h = src.h;
-      dst.l = src.l;
-    }
-    
-    //Right-rotates a 64-bit number by shift
-    //Won't handle cases of shift>=32
-    //The function revrrot() is for that
-    function int64rrot(dst, x, shift) {
-      dst.l = (x.l >>> shift) | (x.h << (32-shift));
-      dst.h = (x.h >>> shift) | (x.l << (32-shift));
-    }
-    
-    //Reverses the dwords of the source and then rotates right by shift.
-    //This is equivalent to rotation by 32+shift
-    function int64revrrot(dst, x, shift) {
-      dst.l = (x.h >>> shift) | (x.l << (32-shift));
-      dst.h = (x.l >>> shift) | (x.h << (32-shift));
-    }
-    
-    //Bitwise-shifts right a 64-bit number by shift
-    //Won't handle shift>=32, but it's never needed in SHA512
-    function int64shr(dst, x, shift) {
-      dst.l = (x.l >>> shift) | (x.h << (32-shift));
-      dst.h = (x.h >>> shift);
-    }
-    
-    //Adds two 64-bit numbers
-    //Like the original implementation, does not rely on 32-bit operations
-    function int64add(dst, x, y) {
-       var w0 = (x.l & 0xffff) + (y.l & 0xffff);
-       var w1 = (x.l >>> 16) + (y.l >>> 16) + (w0 >>> 16);
-       var w2 = (x.h & 0xffff) + (y.h & 0xffff) + (w1 >>> 16);
-       var w3 = (x.h >>> 16) + (y.h >>> 16) + (w2 >>> 16);
-       dst.l = (w0 & 0xffff) | (w1 << 16);
-       dst.h = (w2 & 0xffff) | (w3 << 16);
-    }
-    
-    //Same, except with 4 addends. Works faster than adding them one by one.
-    function int64add4(dst, a, b, c, d) {
-       var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff);
-       var w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (w0 >>> 16);
-       var w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (w1 >>> 16);
-       var w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (w2 >>> 16);
-       dst.l = (w0 & 0xffff) | (w1 << 16);
-       dst.h = (w2 & 0xffff) | (w3 << 16);
-    }
-    
-    //Same, except with 5 addends
-    function int64add5(dst, a, b, c, d, e) {
-      var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff) + (e.l & 0xffff),
-          w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (e.l >>> 16) + (w0 >>> 16),
-          w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (e.h & 0xffff) + (w1 >>> 16),
-          w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (e.h >>> 16) + (w2 >>> 16);
-       dst.l = (w0 & 0xffff) | (w1 << 16);
-       dst.h = (w2 & 0xffff) | (w3 << 16);
-    }
-  },
-  /**
-   * @class Hashes.RMD160
-   * @constructor
-   * @param {Object} [config]
-   * 
-   * A JavaScript implementation of the RIPEMD-160 Algorithm
-   * Version 2.2 Copyright Jeremy Lin, Paul Johnston 2000 - 2009.
-   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
-   * See http://pajhome.org.uk/crypt/md5 for details.
-   * Also http://www.ocf.berkeley.edu/~jjlin/jsotp/
-   */
-  RMD160 : function (options) {
-    /**
-     * Private properties configuration variables. You may need to tweak these to be compatible with
-     * the server-side, but the defaults work in most cases.
-     * @see this.setUpperCase() method
-     * @see this.setPad() method
-     */
-    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false,   /* hexadecimal output case format. false - lowercase; true - uppercase  */
-        b64pad = (options && typeof options.pad === 'string') ? options.pda : '=',  /* base-64 pad character. Default '=' for strict RFC compliance   */
-        utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, /* enable/disable utf8 encoding */
-        rmd160_r1 = [
-           0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,
-           7,  4, 13,  1, 10,  6, 15,  3, 12,  0,  9,  5,  2, 14, 11,  8,
-           3, 10, 14,  4,  9, 15,  8,  1,  2,  7,  0,  6, 13, 11,  5, 12,
-           1,  9, 11, 10,  0,  8, 12,  4, 13,  3,  7, 15, 14,  5,  6,  2,
-           4,  0,  5,  9,  7, 12,  2, 10, 14,  1,  3,  8, 11,  6, 15, 13
-        ],
-        rmd160_r2 = [
-           5, 14,  7,  0,  9,  2, 11,  4, 13,  6, 15,  8,  1, 10,  3, 12,
-           6, 11,  3,  7,  0, 13,  5, 10, 14, 15,  8, 12,  4,  9,  1,  2,
-          15,  5,  1,  3,  7, 14,  6,  9, 11,  8, 12,  2, 10,  0,  4, 13,
-           8,  6,  4,  1,  3, 11, 15,  0,  5, 12,  2, 13,  9,  7, 10, 14,
-          12, 15, 10,  4,  1,  5,  8,  7,  6,  2, 13, 14,  0,  3,  9, 11
-        ],
-        rmd160_s1 = [
-          11, 14, 15, 12,  5,  8,  7,  9, 11, 13, 14, 15,  6,  7,  9,  8,
-           7,  6,  8, 13, 11,  9,  7, 15,  7, 12, 15,  9, 11,  7, 13, 12,
-          11, 13,  6,  7, 14,  9, 13, 15, 14,  8, 13,  6,  5, 12,  7,  5,
-          11, 12, 14, 15, 14, 15,  9,  8,  9, 14,  5,  6,  8,  6,  5, 12,
-           9, 15,  5, 11,  6,  8, 13, 12,  5, 12, 13, 14, 11,  8,  5,  6
-        ],
-        rmd160_s2 = [
-           8,  9,  9, 11, 13, 15, 15,  5,  7,  7,  8, 11, 14, 14, 12,  6,
-           9, 13, 15,  7, 12,  8,  9, 11,  7,  7, 12,  7,  6, 15, 13, 11,
-           9,  7, 15, 11,  8,  6,  6, 14, 12, 13,  5, 14, 13, 13,  7,  5,
-          15,  5,  8, 11, 14, 14,  6, 14,  6,  9, 12,  9, 12,  5, 15,  8,
-           8,  5, 12,  9, 12,  5, 14,  6,  8, 13,  6,  5, 15, 13, 11, 11
-        ];
-
-    /* privileged (public) methods */
-    this.hex = function (s) {
-      return rstr2hex(rstr(s, utf8)); 
-    };
-    this.b64 = function (s) {
-      return rstr2b64(rstr(s, utf8), b64pad);
-    };
-    this.any = function (s, e) { 
-      return rstr2any(rstr(s, utf8), e);
-    };
-    this.hex_hmac = function (k, d) { 
-      return rstr2hex(rstr_hmac(k, d));
-    };
-    this.b64_hmac = function (k, d) { 
-      return rstr2b64(rstr_hmac(k, d), b64pad);
-    };
-    this.any_hmac = function (k, d, e) { 
-      return rstr2any(rstr_hmac(k, d), e); 
-    };
-    /**
-     * Perform a simple self-test to see if the VM is working
-     * @return {String} Hexadecimal hash sample
-     * @public
-     */
-    this.vm_test = function () {
-      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
-    };
-    /** 
-     * @description Enable/disable uppercase hexadecimal returned string 
-     * @param {boolean} 
-     * @return {Object} this
-     * @public
-     */ 
-    this.setUpperCase = function (a) {
-      if (typeof a === 'boolean' ) { hexcase = a; }
-      return this;
-    };
-    /** 
-     * @description Defines a base64 pad string 
-     * @param {string} Pad
-     * @return {Object} this
-     * @public
-     */ 
-    this.setPad = function (a) {
-      if (typeof a !== 'undefined' ) { b64pad = a; }
-      return this;
-    };
-    /** 
-     * @description Defines a base64 pad string 
-     * @param {boolean} 
-     * @return {Object} this
-     * @public
-     */ 
-    this.setUTF8 = function (a) {
-      if (typeof a === 'boolean') { utf8 = a; }
-      return this;
-    };
-
-    /* private methods */
-
-    /**
-     * Calculate the rmd160 of a raw string
-     */
-    function rstr(s) {
-      s = (utf8) ? utf8Encode(s) : s;
-      return binl2rstr(binl(rstr2binl(s), s.length * 8));
-    }
-
-    /**
-     * Calculate the HMAC-rmd160 of a key and some data (raw strings)
-     */
-    function rstr_hmac(key, data) {
-      key = (utf8) ? utf8Encode(key) : key;
-      data = (utf8) ? utf8Encode(data) : data;
-      var i, hash,
-          bkey = rstr2binl(key),
-          ipad = Array(16), opad = Array(16);
-
-      if (bkey.length > 16) { 
-        bkey = binl(bkey, key.length * 8); 
-      }
-      
-      for (i = 0; i < 16; i+=1) {
-        ipad[i] = bkey[i] ^ 0x36363636;
-        opad[i] = bkey[i] ^ 0x5C5C5C5C;
-      }
-      hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
-      return binl2rstr(binl(opad.concat(hash), 512 + 160));
-    }
-
-    /**
-     * Convert an array of little-endian words to a string
-     */
-    function binl2rstr(input) {
-      var i, output = '', l = input.length * 32;
-      for (i = 0; i < l; i += 8) {
-        output += String.fromCharCode((input[i>>5] >>> (i % 32)) & 0xFF);
-      }
-      return output;
-    }
-
-    /**
-     * Calculate the RIPE-MD160 of an array of little-endian words, and a bit length.
-     */
-    function binl(x, len) {
-      var T, j, i, l,
-          h0 = 0x67452301,
-          h1 = 0xefcdab89,
-          h2 = 0x98badcfe,
-          h3 = 0x10325476,
-          h4 = 0xc3d2e1f0,
-          A1, B1, C1, D1, E1,
-          A2, B2, C2, D2, E2;
-
-      /* append padding */
-      x[len >> 5] |= 0x80 << (len % 32);
-      x[(((len + 64) >>> 9) << 4) + 14] = len;
-      l = x.length;
-      
-      for (i = 0; i < l; i+=16) {
-        A1 = A2 = h0; B1 = B2 = h1; C1 = C2 = h2; D1 = D2 = h3; E1 = E2 = h4;
-        for (j = 0; j <= 79; j+=1) {
-          T = safe_add(A1, rmd160_f(j, B1, C1, D1));
-          T = safe_add(T, x[i + rmd160_r1[j]]);
-          T = safe_add(T, rmd160_K1(j));
-          T = safe_add(bit_rol(T, rmd160_s1[j]), E1);
-          A1 = E1; E1 = D1; D1 = bit_rol(C1, 10); C1 = B1; B1 = T;
-          T = safe_add(A2, rmd160_f(79-j, B2, C2, D2));
-          T = safe_add(T, x[i + rmd160_r2[j]]);
-          T = safe_add(T, rmd160_K2(j));
-          T = safe_add(bit_rol(T, rmd160_s2[j]), E2);
-          A2 = E2; E2 = D2; D2 = bit_rol(C2, 10); C2 = B2; B2 = T;
-        }
-
-        T = safe_add(h1, safe_add(C1, D2));
-        h1 = safe_add(h2, safe_add(D1, E2));
-        h2 = safe_add(h3, safe_add(E1, A2));
-        h3 = safe_add(h4, safe_add(A1, B2));
-        h4 = safe_add(h0, safe_add(B1, C2));
-        h0 = T;
-      }
-      return [h0, h1, h2, h3, h4];
-    }
-
-    // specific algorithm methods 
-    function rmd160_f(j, x, y, z) {
-      return ( 0 <= j && j <= 15) ? (x ^ y ^ z) :
-         (16 <= j && j <= 31) ? (x & y) | (~x & z) :
-         (32 <= j && j <= 47) ? (x | ~y) ^ z :
-         (48 <= j && j <= 63) ? (x & z) | (y & ~z) :
-         (64 <= j && j <= 79) ? x ^ (y | ~z) :
-         'rmd160_f: j out of range';
-    }
-
-    function rmd160_K1(j) {
-      return ( 0 <= j && j <= 15) ? 0x00000000 :
-         (16 <= j && j <= 31) ? 0x5a827999 :
-         (32 <= j && j <= 47) ? 0x6ed9eba1 :
-         (48 <= j && j <= 63) ? 0x8f1bbcdc :
-         (64 <= j && j <= 79) ? 0xa953fd4e :
-         'rmd160_K1: j out of range';
-    }
-
-    function rmd160_K2(j){
-      return ( 0 <= j && j <= 15) ? 0x50a28be6 :
-         (16 <= j && j <= 31) ? 0x5c4dd124 :
-         (32 <= j && j <= 47) ? 0x6d703ef3 :
-         (48 <= j && j <= 63) ? 0x7a6d76e9 :
-         (64 <= j && j <= 79) ? 0x00000000 :
-         'rmd160_K2: j out of range';
-    }
-  }
-};
-
-  // exposes Hashes
-  (function( window, undefined ) {
-    var freeExports = false;
-    if (typeof exports === 'object' ) {
-      freeExports = exports;
-      if (exports && typeof global === 'object' && global && global === global.global ) { window = global; }
-    }
-
-    if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
-      // define as an anonymous module, so, through path mapping, it can be aliased
-      define(function () { return Hashes; });
-    }
-    else if ( freeExports ) {
-      // in Node.js or RingoJS v0.8.0+
-      if ( typeof module === 'object' && module && module.exports === freeExports ) {
-        module.exports = Hashes;
-      }
-      // in Narwhal or RingoJS v0.7.0-
-      else {
-        freeExports.Hashes = Hashes;
-      }
-    }
-    else {
-      // in a browser or Rhino
-      window.Hashes = Hashes;
-    }
-  }( this ));
-}()); // IIFE
-
-})(window)
-},{}],2:[function(require,module,exports){
-'use strict';
-
-var hashes = require('jshashes'),
-    xtend = require('xtend'),
-    sha1 = new hashes.SHA1();
-
-var ohauth = {};
-
-ohauth.qsString = function(obj) {
-    return Object.keys(obj).sort().map(function(key) {
-        return ohauth.percentEncode(key) + '=' +
-            ohauth.percentEncode(obj[key]);
-    }).join('&');
-};
-
-ohauth.stringQs = function(str) {
-    return str.split('&').reduce(function(obj, pair){
-        var parts = pair.split('=');
-        obj[decodeURIComponent(parts[0])] = (null === parts[1]) ?
-            '' : decodeURIComponent(parts[1]);
-        return obj;
-    }, {});
-};
-
-ohauth.rawxhr = function(method, url, data, headers, callback) {
-    var xhr = new XMLHttpRequest(),
-        twoHundred = /^20\d$/;
-    xhr.onreadystatechange = function() {
-        if (4 == xhr.readyState && 0 !== xhr.status) {
-            if (twoHundred.test(xhr.status)) callback(null, xhr);
-            else return callback(xhr, null);
-        }
-    };
-    xhr.onerror = function(e) { return callback(e, null); };
-    xhr.open(method, url, true);
-    for (var h in headers) xhr.setRequestHeader(h, headers[h]);
-    xhr.send(data);
-};
-
-ohauth.xhr = function(method, url, auth, data, options, callback) {
-    var headers = (options && options.header) || {
-        'Content-Type': 'application/x-www-form-urlencoded'
-    };
-    headers.Authorization = 'OAuth ' + ohauth.authHeader(auth);
-    ohauth.rawxhr(method, url, data, headers, callback);
-};
-
-ohauth.nonce = function() {
-    for (var o = ''; o.length < 6;) {
-        o += '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'[Math.floor(Math.random() * 61)];
-    }
-    return o;
-};
-
-ohauth.authHeader = function(obj) {
-    return Object.keys(obj).sort().map(function(key) {
-        return encodeURIComponent(key) + '="' + encodeURIComponent(obj[key]) + '"';
-    }).join(', ');
-};
-
-ohauth.timestamp = function() { return ~~((+new Date()) / 1000); };
-
-ohauth.percentEncode = function(s) {
-    return encodeURIComponent(s)
-        .replace(/\!/g, '%21').replace(/\'/g, '%27')
-        .replace(/\*/g, '%2A').replace(/\(/g, '%28').replace(/\)/g, '%29');
-};
-
-ohauth.baseString = function(method, url, params) {
-    if (params.oauth_signature) delete params.oauth_signature;
-    return [
-        method,
-        ohauth.percentEncode(url),
-        ohauth.percentEncode(ohauth.qsString(params))].join('&');
-};
-
-ohauth.signature = function(oauth_secret, token_secret, baseString) {
-    return sha1.b64_hmac(
-        ohauth.percentEncode(oauth_secret) + '&' +
-        ohauth.percentEncode(token_secret),
-        baseString);
-};
-
-/**
- * Takes an options object for configuration (consumer_key,
- * consumer_secret, version, signature_method, token) and returns a
- * function that generates the Authorization header for given data.
- *
- * The returned function takes these parameters:
- * - method: GET/POST/...
- * - uri: full URI with protocol, port, path and query string
- * - extra_params: any extra parameters (that are passed in the POST data),
- *   can be an object or a from-urlencoded string.
- *
- * Returned function returns full OAuth header with "OAuth" string in it.
- */
-
-ohauth.headerGenerator = function(options) {
-    options = options || {};
-    var consumer_key = options.consumer_key || '',
-        consumer_secret = options.consumer_secret || '',
-        signature_method = options.signature_method || 'HMAC-SHA1',
-        version = options.version || '1.0',
-        token = options.token || '';
-
-    return function(method, uri, extra_params) {
-        method = method.toUpperCase();
-        if (typeof extra_params === 'string' && extra_params.length > 0) {
-            extra_params = ohauth.stringQs(extra_params);
-        }
-
-        var uri_parts = uri.split('?', 2),
-        base_uri = uri_parts[0];
-
-        var query_params = uri_parts.length === 2 ?
-            ohauth.stringQs(uri_parts[1]) : {};
-
-        var oauth_params = {
-            oauth_consumer_key: consumer_key,
-            oauth_signature_method: signature_method,
-            oauth_version: version,
-            oauth_timestamp: ohauth.timestamp(),
-            oauth_nonce: ohauth.nonce()
-        };
-
-        if (token) oauth_params.oauth_token = token;
-
-        var all_params = xtend({}, oauth_params, query_params, extra_params),
-            base_str = ohauth.baseString(method, base_uri, all_params);
-
-        oauth_params.oauth_signature = ohauth.signature(consumer_secret, token, base_str);
-
-        return 'OAuth ' + ohauth.authHeader(oauth_params);
-    };
-};
-
-module.exports = ohauth;
-
-},{"jshashes":7,"xtend":4}],6:[function(require,module,exports){
-module.exports = Object.keys || require('./shim');
-
-
-},{"./shim":8}],8:[function(require,module,exports){
-(function () {
-       "use strict";
-
-       // modified from https://github.com/kriskowal/es5-shim
-       var has = Object.prototype.hasOwnProperty,
-               is = require('is'),
-               forEach = require('foreach'),
-               hasDontEnumBug = !({'toString': null}).propertyIsEnumerable('toString'),
-               dontEnums = [
-                       "toString",
-                       "toLocaleString",
-                       "valueOf",
-                       "hasOwnProperty",
-                       "isPrototypeOf",
-                       "propertyIsEnumerable",
-                       "constructor"
-               ],
-               keysShim;
-
-       keysShim = function keys(object) {
-               if (!is.object(object) && !is.array(object)) {
-                       throw new TypeError("Object.keys called on a non-object");
+       var generateName = (function () {
+               var created = create$3(null);
+               return function (desc) {
+                       var postfix = 0, name, ie11BugWorkaround;
+                       while (created[desc + (postfix || '')]) ++postfix;
+                       desc += (postfix || '');
+                       created[desc] = true;
+                       name = '@@' + desc;
+                       defineProperty$1(objPrototype, name, d_1.gs(null, function (value) {
+                               // For IE11 issue see:
+                               // https://connect.microsoft.com/IE/feedbackdetail/view/1928508/
+                               //    ie11-broken-getters-on-dom-objects
+                               // https://github.com/medikoo/es6-symbol/issues/12
+                               if (ie11BugWorkaround) return;
+                               ie11BugWorkaround = true;
+                               defineProperty$1(this, name, d_1(value));
+                               ie11BugWorkaround = false;
+                       }));
+                       return name;
+               };
+       }());
+
+       // Internal constructor (not one exposed) for creating Symbol instances.
+       // This one is used to ensure that `someSymbol instanceof Symbol` always return false
+       HiddenSymbol = function Symbol(description) {
+               if (this instanceof HiddenSymbol) throw new TypeError('Symbol is not a constructor');
+               return SymbolPolyfill(description);
+       };
+
+       // Exposed `Symbol` constructor
+       // (returns instances of HiddenSymbol)
+       var polyfill = SymbolPolyfill = function Symbol(description) {
+               var symbol;
+               if (this instanceof Symbol) throw new TypeError('Symbol is not a constructor');
+               if (isNativeSafe) return NativeSymbol(description);
+               symbol = create$3(HiddenSymbol.prototype);
+               description = (description === undefined ? '' : String(description));
+               return defineProperties(symbol, {
+                       __description__: d_1('', description),
+                       __name__: d_1('', generateName(description))
+               });
+       };
+       defineProperties(SymbolPolyfill, {
+               for: d_1(function (key) {
+                       if (globalSymbols[key]) return globalSymbols[key];
+                       return (globalSymbols[key] = SymbolPolyfill(String(key)));
+               }),
+               keyFor: d_1(function (s) {
+                       var key;
+                       validateSymbol(s);
+                       for (key in globalSymbols) if (globalSymbols[key] === s) return key;
+               }),
+
+               // To ensure proper interoperability with other native functions (e.g. Array.from)
+               // fallback to eventual native implementation of given symbol
+               hasInstance: d_1('', (NativeSymbol && NativeSymbol.hasInstance) || SymbolPolyfill('hasInstance')),
+               isConcatSpreadable: d_1('', (NativeSymbol && NativeSymbol.isConcatSpreadable) ||
+                       SymbolPolyfill('isConcatSpreadable')),
+               iterator: d_1('', (NativeSymbol && NativeSymbol.iterator) || SymbolPolyfill('iterator')),
+               match: d_1('', (NativeSymbol && NativeSymbol.match) || SymbolPolyfill('match')),
+               replace: d_1('', (NativeSymbol && NativeSymbol.replace) || SymbolPolyfill('replace')),
+               search: d_1('', (NativeSymbol && NativeSymbol.search) || SymbolPolyfill('search')),
+               species: d_1('', (NativeSymbol && NativeSymbol.species) || SymbolPolyfill('species')),
+               split: d_1('', (NativeSymbol && NativeSymbol.split) || SymbolPolyfill('split')),
+               toPrimitive: d_1('', (NativeSymbol && NativeSymbol.toPrimitive) || SymbolPolyfill('toPrimitive')),
+               toStringTag: d_1('', (NativeSymbol && NativeSymbol.toStringTag) || SymbolPolyfill('toStringTag')),
+               unscopables: d_1('', (NativeSymbol && NativeSymbol.unscopables) || SymbolPolyfill('unscopables'))
+       });
+
+       // Internal tweaks for real symbol producer
+       defineProperties(HiddenSymbol.prototype, {
+               constructor: d_1(SymbolPolyfill),
+               toString: d_1('', function () { return this.__name__; })
+       });
+
+       // Proper implementation of methods exposed on Symbol.prototype
+       // They won't be accessible on produced symbol instances as they derive from HiddenSymbol.prototype
+       defineProperties(SymbolPolyfill.prototype, {
+               toString: d_1(function () { return 'Symbol (' + validateSymbol(this).__description__ + ')'; }),
+               valueOf: d_1(function () { return validateSymbol(this); })
+       });
+       defineProperty$1(SymbolPolyfill.prototype, SymbolPolyfill.toPrimitive, d_1('', function () {
+               var symbol = validateSymbol(this);
+               if (typeof symbol === 'symbol') return symbol;
+               return symbol.toString();
+       }));
+       defineProperty$1(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d_1('c', 'Symbol'));
+
+       // Proper implementaton of toPrimitive and toStringTag for returned symbol instances
+       defineProperty$1(HiddenSymbol.prototype, SymbolPolyfill.toStringTag,
+               d_1('c', SymbolPolyfill.prototype[SymbolPolyfill.toStringTag]));
+
+       // Note: It's important to define `toPrimitive` as last one, as some implementations
+       // implement `toPrimitive` natively without implementing `toStringTag` (or other specified symbols)
+       // And that may invoke error in definition flow:
+       // See: https://github.com/medikoo/es6-symbol/issues/13#issuecomment-164146149
+       defineProperty$1(HiddenSymbol.prototype, SymbolPolyfill.toPrimitive,
+               d_1('c', SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive]));
+
+       var es6Symbol = isImplemented$7() ? Symbol : polyfill;
+
+       var objToString = Object.prototype.toString
+         , id = objToString.call(
+               (function () {
+                       return arguments;
+               })()
+       );
+
+       var isArguments = function (value) {
+               return objToString.call(value) === id;
+       };
+
+       var objToString$1 = Object.prototype.toString, id$1 = objToString$1.call("");
+
+       var isString = function (value) {
+               return (
+                       typeof value === "string" ||
+                       (value &&
+                               typeof value === "object" &&
+                               (value instanceof String || objToString$1.call(value) === id$1)) ||
+                       false
+               );
+       };
+
+       var iteratorSymbol = es6Symbol.iterator
+         , isArray        = Array.isArray;
+
+       var isIterable = function (value) {
+               if (!isValue(value)) return false;
+               if (isArray(value)) return true;
+               if (isString(value)) return true;
+               if (isArguments(value)) return true;
+               return typeof value[iteratorSymbol] === "function";
+       };
+
+       var validIterable = function (value) {
+               if (!isIterable(value)) throw new TypeError(value + " is not iterable");
+               return value;
+       };
+
+       var objectToString = Object.prototype.toString;
+
+       var coerce = function (value) {
+               if (!is(value)) return null;
+               if (is$1(value)) {
+                       // Reject Object.prototype.toString coercion
+                       var valueToString = value.toString;
+                       if (typeof valueToString !== "function") return null;
+                       if (valueToString === objectToString) return null;
+                       // Note: It can be object coming from other realm, still as there's no ES3 and CSP compliant
+                       // way to resolve its realm's Object.prototype.toString it's left as not addressed edge case
+               }
+               try {
+                       return "" + value; // Ensure implicit coercion
+               } catch (error) {
+                       return null;
+               }
+       };
+
+       var safeToString = function (value) {
+               try {
+                       return value.toString();
+               } catch (error) {
+                       try { return String(value); }
+                       catch (error2) { return null; }
+               }
+       };
+
+       var reNewLine = /[\n\r\u2028\u2029]/g;
+
+       var toShortString = function (value) {
+               var string = safeToString(value);
+               if (string === null) return "<Non-coercible to string value>";
+               // Trim if too long
+               if (string.length > 100) string = string.slice(0, 99) + "…";
+               // Replace eventual new lines
+               string = string.replace(reNewLine, function (char) {
+                       switch (char) {
+                               case "\n":
+                                       return "\\n";
+                               case "\r":
+                                       return "\\r";
+                               case "\u2028":
+                                       return "\\u2028";
+                               case "\u2029":
+                                       return "\\u2029";
+                               /* istanbul ignore next */
+                               default:
+                                       throw new Error("Unexpected character");
+                       }
+               });
+               return string;
+       };
+
+       var resolveMessage = function (message, value) {
+               return message.replace("%v", toShortString(value));
+       };
+
+       var resolveException = function (value, defaultMessage, inputOptions) {
+               if (!is$1(inputOptions)) throw new TypeError(resolveMessage(defaultMessage, value));
+               if (!is(value)) {
+                       if ("default" in inputOptions) return inputOptions["default"];
+                       if (inputOptions.isOptional) return null;
                }
+               var errorMessage = coerce(inputOptions.errorMessage);
+               if (!is(errorMessage)) errorMessage = defaultMessage;
+               throw new TypeError(resolveMessage(errorMessage, value));
+       };
+
+       var ensure = function (value/*, options*/) {
+               if (is(value)) return value;
+               return resolveException(value, "Cannot use %v", arguments[1]);
+       };
+
+       var ensure$1 = function (value/*, options*/) {
+               if (is$4(value)) return value;
+               return resolveException(value, "%v is not a plain function", arguments[1]);
+       };
+
+       var isImplemented$8 = function () {
+               var from = Array.from, arr, result;
+               if (typeof from !== "function") return false;
+               arr = ["raz", "dwa"];
+               result = from(arr);
+               return Boolean(result && (result !== arr) && (result[1] === "dwa"));
+       };
+
+       var objToString$2 = Object.prototype.toString, id$2 = objToString$2.call(noop);
+
+       var isFunction = function (value) {
+               return typeof value === "function" && objToString$2.call(value) === id$2;
+       };
 
-               var name, theKeys = [];
-               for (name in object) {
-                       if (has.call(object, name)) {
-                               theKeys.push(name);
+       var iteratorSymbol$1 = es6Symbol.iterator
+         , isArray$1        = Array.isArray
+         , call           = Function.prototype.call
+         , desc           = { configurable: true, enumerable: true, writable: true, value: null }
+         , defineProperty$2 = Object.defineProperty;
+
+       // eslint-disable-next-line complexity, max-lines-per-function
+       var shim$7 = function (arrayLike /*, mapFn, thisArg*/) {
+               var mapFn = arguments[1]
+                 , thisArg = arguments[2]
+                 , Context
+                 , i
+                 , j
+                 , arr
+                 , length
+                 , code
+                 , iterator
+                 , result
+                 , getIterator
+                 , value;
+
+               arrayLike = Object(validValue(arrayLike));
+
+               if (isValue(mapFn)) validCallable(mapFn);
+               if (!this || this === Array || !isFunction(this)) {
+                       // Result: Plain array
+                       if (!mapFn) {
+                               if (isArguments(arrayLike)) {
+                                       // Source: Arguments
+                                       length = arrayLike.length;
+                                       if (length !== 1) return Array.apply(null, arrayLike);
+                                       arr = new Array(1);
+                                       arr[0] = arrayLike[0];
+                                       return arr;
+                               }
+                               if (isArray$1(arrayLike)) {
+                                       // Source: Array
+                                       arr = new Array(length = arrayLike.length);
+                                       for (i = 0; i < length; ++i) arr[i] = arrayLike[i];
+                                       return arr;
+                               }
                        }
+                       arr = [];
+               } else {
+                       // Result: Non plain array
+                       Context = this;
                }
 
-               if (hasDontEnumBug) {
-                       forEach(dontEnums, function (dontEnum) {
-                               if (has.call(object, dontEnum)) {
-                                       theKeys.push(dontEnum);
+               if (!isArray$1(arrayLike)) {
+                       if ((getIterator = arrayLike[iteratorSymbol$1]) !== undefined) {
+                               // Source: Iterator
+                               iterator = validCallable(getIterator).call(arrayLike);
+                               if (Context) arr = new Context();
+                               result = iterator.next();
+                               i = 0;
+                               while (!result.done) {
+                                       value = mapFn ? call.call(mapFn, thisArg, result.value, i) : result.value;
+                                       if (Context) {
+                                               desc.value = value;
+                                               defineProperty$2(arr, i, desc);
+                                       } else {
+                                               arr[i] = value;
+                                       }
+                                       result = iterator.next();
+                                       ++i;
+                               }
+                               length = i;
+                       } else if (isString(arrayLike)) {
+                               // Source: String
+                               length = arrayLike.length;
+                               if (Context) arr = new Context();
+                               for (i = 0, j = 0; i < length; ++i) {
+                                       value = arrayLike[i];
+                                       if (i + 1 < length) {
+                                               code = value.charCodeAt(0);
+                                               // eslint-disable-next-line max-depth
+                                               if (code >= 0xd800 && code <= 0xdbff) value += arrayLike[++i];
+                                       }
+                                       value = mapFn ? call.call(mapFn, thisArg, value, j) : value;
+                                       if (Context) {
+                                               desc.value = value;
+                                               defineProperty$2(arr, j, desc);
+                                       } else {
+                                               arr[j] = value;
+                                       }
+                                       ++j;
+                               }
+                               length = j;
+                       }
+               }
+               if (length === undefined) {
+                       // Source: array or array-like
+                       length = toPosInteger(arrayLike.length);
+                       if (Context) arr = new Context(length);
+                       for (i = 0; i < length; ++i) {
+                               value = mapFn ? call.call(mapFn, thisArg, arrayLike[i], i) : arrayLike[i];
+                               if (Context) {
+                                       desc.value = value;
+                                       defineProperty$2(arr, i, desc);
+                               } else {
+                                       arr[i] = value;
                                }
+                       }
+               }
+               if (Context) {
+                       desc.value = null;
+                       arr.length = length;
+               }
+               return arr;
+       };
+
+       var from_1 = isImplemented$8()
+               ? Array.from
+               : shim$7;
+
+       var copy = function (obj/*, propertyNames, options*/) {
+               var copy = Object(validValue(obj)), propertyNames = arguments[1], options = Object(arguments[2]);
+               if (copy !== obj && !propertyNames) return copy;
+               var result = {};
+               if (propertyNames) {
+                       from_1(propertyNames, function (propertyName) {
+                               if (options.ensure || propertyName in obj) result[propertyName] = obj[propertyName];
                        });
+               } else {
+                       assign(result, obj);
                }
-               return theKeys;
+               return result;
        };
 
-       module.exports = keysShim;
-}());
+       var bind                    = Function.prototype.bind
+         , call$1                    = Function.prototype.call
+         , keys$2                    = Object.keys
+         , objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;
 
+       var _iterate = function (method, defVal) {
+               return function (obj, cb /*, thisArg, compareFn*/) {
+                       var list, thisArg = arguments[2], compareFn = arguments[3];
+                       obj = Object(validValue(obj));
+                       validCallable(cb);
 
-},{"is":9,"foreach":10}],9:[function(require,module,exports){
-
-/**!
- * is
- * the definitive JavaScript type testing library
- * 
- * @copyright 2013 Enrico Marino
- * @license MIT
- */
-
-var objProto = Object.prototype;
-var owns = objProto.hasOwnProperty;
-var toString = objProto.toString;
-var isActualNaN = function (value) {
-  return value !== value;
-};
-var NON_HOST_TYPES = {
-  "boolean": 1,
-  "number": 1,
-  "string": 1,
-  "undefined": 1
-};
-
-/**
- * Expose `is`
- */
-
-var is = module.exports = {};
-
-/**
- * Test general.
- */
-
-/**
- * is.type
- * Test if `value` is a type of `type`.
- *
- * @param {Mixed} value value to test
- * @param {String} type type
- * @return {Boolean} true if `value` is a type of `type`, false otherwise
- * @api public
- */
-
-is.a =
-is.type = function (value, type) {
-  return typeof value === type;
-};
-
-/**
- * is.defined
- * Test if `value` is defined.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if 'value' is defined, false otherwise
- * @api public
- */
-
-is.defined = function (value) {
-  return value !== undefined;
-};
-
-/**
- * is.empty
- * Test if `value` is empty.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is empty, false otherwise
- * @api public
- */
-
-is.empty = function (value) {
-  var type = toString.call(value);
-  var key;
-
-  if ('[object Array]' === type || '[object Arguments]' === type) {
-    return value.length === 0;
-  }
-
-  if ('[object Object]' === type) {
-    for (key in value) if (owns.call(value, key)) return false;
-    return true;
-  }
-
-  if ('[object String]' === type) {
-    return '' === value;
-  }
-
-  return false;
-};
-
-/**
- * is.equal
- * Test if `value` is equal to `other`.
- *
- * @param {Mixed} value value to test
- * @param {Mixed} other value to compare with
- * @return {Boolean} true if `value` is equal to `other`, false otherwise
- */
-
-is.equal = function (value, other) {
-  var type = toString.call(value)
-  var key;
-
-  if (type !== toString.call(other)) {
-    return false;
-  }
-
-  if ('[object Object]' === type) {
-    for (key in value) {
-      if (!is.equal(value[key], other[key])) {
-        return false;
-      }
-    }
-    return true;
-  }
-
-  if ('[object Array]' === type) {
-    key = value.length;
-    if (key !== other.length) {
-      return false;
-    }
-    while (--key) {
-      if (!is.equal(value[key], other[key])) {
-        return false;
-      }
-    }
-    return true;
-  }
-
-  if ('[object Function]' === type) {
-    return value.prototype === other.prototype;
-  }
-
-  if ('[object Date]' === type) {
-    return value.getTime() === other.getTime();
-  }
-
-  return value === other;
-};
-
-/**
- * is.hosted
- * Test if `value` is hosted by `host`.
- *
- * @param {Mixed} value to test
- * @param {Mixed} host host to test with
- * @return {Boolean} true if `value` is hosted by `host`, false otherwise
- * @api public
- */
-
-is.hosted = function (value, host) {
-  var type = typeof host[value];
-  return type === 'object' ? !!host[value] : !NON_HOST_TYPES[type];
-};
-
-/**
- * is.instance
- * Test if `value` is an instance of `constructor`.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is an instance of `constructor`
- * @api public
- */
-
-is.instance = is['instanceof'] = function (value, constructor) {
-  return value instanceof constructor;
-};
-
-/**
- * is.null
- * Test if `value` is null.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is null, false otherwise
- * @api public
- */
-
-is['null'] = function (value) {
-  return value === null;
-};
-
-/**
- * is.undefined
- * Test if `value` is undefined.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is undefined, false otherwise
- * @api public
- */
-
-is.undefined = function (value) {
-  return value === undefined;
-};
-
-/**
- * Test arguments.
- */
-
-/**
- * is.arguments
- * Test if `value` is an arguments object.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is an arguments object, false otherwise
- * @api public
- */
-
-is.arguments = function (value) {
-  var isStandardArguments = '[object Arguments]' === toString.call(value);
-  var isOldArguments = !is.array(value) && is.arraylike(value) && is.object(value) && is.fn(value.callee);
-  return isStandardArguments || isOldArguments;
-};
-
-/**
- * Test array.
- */
-
-/**
- * is.array
- * Test if 'value' is an array.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is an array, false otherwise
- * @api public
- */
-
-is.array = function (value) {
-  return '[object Array]' === toString.call(value);
-};
-
-/**
- * is.arguments.empty
- * Test if `value` is an empty arguments object.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is an empty arguments object, false otherwise
- * @api public
- */
-is.arguments.empty = function (value) {
-  return is.arguments(value) && value.length === 0;
-};
-
-/**
- * is.array.empty
- * Test if `value` is an empty array.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is an empty array, false otherwise
- * @api public
- */
-is.array.empty = function (value) {
-  return is.array(value) && value.length === 0;
-};
-
-/**
- * is.arraylike
- * Test if `value` is an arraylike object.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is an arguments object, false otherwise
- * @api public
- */
-
-is.arraylike = function (value) {
-  return !!value && !is.boolean(value)
-    && owns.call(value, 'length')
-    && isFinite(value.length)
-    && is.number(value.length)
-    && value.length >= 0;
-};
-
-/**
- * Test boolean.
- */
-
-/**
- * is.boolean
- * Test if `value` is a boolean.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is a boolean, false otherwise
- * @api public
- */
-
-is.boolean = function (value) {
-  return '[object Boolean]' === toString.call(value);
-};
-
-/**
- * is.false
- * Test if `value` is false.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is false, false otherwise
- * @api public
- */
-
-is['false'] = function (value) {
-  return is.boolean(value) && (value === false || value.valueOf() === false);
-};
-
-/**
- * is.true
- * Test if `value` is true.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is true, false otherwise
- * @api public
- */
-
-is['true'] = function (value) {
-  return is.boolean(value) && (value === true || value.valueOf() === true);
-};
-
-/**
- * Test date.
- */
-
-/**
- * is.date
- * Test if `value` is a date.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is a date, false otherwise
- * @api public
- */
-
-is.date = function (value) {
-  return '[object Date]' === toString.call(value);
-};
-
-/**
- * Test element.
- */
-
-/**
- * is.element
- * Test if `value` is an html element.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is an HTML Element, false otherwise
- * @api public
- */
-
-is.element = function (value) {
-  return value !== undefined
-    && typeof HTMLElement !== 'undefined'
-    && value instanceof HTMLElement
-    && value.nodeType === 1;
-};
-
-/**
- * Test error.
- */
-
-/**
- * is.error
- * Test if `value` is an error object.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is an error object, false otherwise
- * @api public
- */
-
-is.error = function (value) {
-  return '[object Error]' === toString.call(value);
-};
-
-/**
- * Test function.
- */
-
-/**
- * is.fn / is.function (deprecated)
- * Test if `value` is a function.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is a function, false otherwise
- * @api public
- */
-
-is.fn = is['function'] = function (value) {
-  var isAlert = typeof window !== 'undefined' && value === window.alert;
-  return isAlert || '[object Function]' === toString.call(value);
-};
-
-/**
- * Test number.
- */
-
-/**
- * is.number
- * Test if `value` is a number.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is a number, false otherwise
- * @api public
- */
-
-is.number = function (value) {
-  return '[object Number]' === toString.call(value);
-};
-
-/**
- * is.infinite
- * Test if `value` is positive or negative infinity.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is positive or negative Infinity, false otherwise
- * @api public
- */
-is.infinite = function (value) {
-  return value === Infinity || value === -Infinity;
-};
-
-/**
- * is.decimal
- * Test if `value` is a decimal number.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is a decimal number, false otherwise
- * @api public
- */
-
-is.decimal = function (value) {
-  return is.number(value) && !isActualNaN(value) && value % 1 !== 0;
-};
-
-/**
- * is.divisibleBy
- * Test if `value` is divisible by `n`.
- *
- * @param {Number} value value to test
- * @param {Number} n dividend
- * @return {Boolean} true if `value` is divisible by `n`, false otherwise
- * @api public
- */
-
-is.divisibleBy = function (value, n) {
-  var isDividendInfinite = is.infinite(value);
-  var isDivisorInfinite = is.infinite(n);
-  var isNonZeroNumber = is.number(value) && !isActualNaN(value) && is.number(n) && !isActualNaN(n) && n !== 0;
-  return isDividendInfinite || isDivisorInfinite || (isNonZeroNumber && value % n === 0);
-};
-
-/**
- * is.int
- * Test if `value` is an integer.
- *
- * @param value to test
- * @return {Boolean} true if `value` is an integer, false otherwise
- * @api public
- */
-
-is.int = function (value) {
-  return is.number(value) && !isActualNaN(value) && value % 1 === 0;
-};
-
-/**
- * is.maximum
- * Test if `value` is greater than 'others' values.
- *
- * @param {Number} value value to test
- * @param {Array} others values to compare with
- * @return {Boolean} true if `value` is greater than `others` values
- * @api public
- */
-
-is.maximum = function (value, others) {
-  if (isActualNaN(value)) {
-    throw new TypeError('NaN is not a valid value');
-  } else if (!is.arraylike(others)) {
-    throw new TypeError('second argument must be array-like');
-  }
-  var len = others.length;
-
-  while (--len >= 0) {
-    if (value < others[len]) {
-      return false;
-    }
-  }
-
-  return true;
-};
-
-/**
- * is.minimum
- * Test if `value` is less than `others` values.
- *
- * @param {Number} value value to test
- * @param {Array} others values to compare with
- * @return {Boolean} true if `value` is less than `others` values
- * @api public
- */
-
-is.minimum = function (value, others) {
-  if (isActualNaN(value)) {
-    throw new TypeError('NaN is not a valid value');
-  } else if (!is.arraylike(others)) {
-    throw new TypeError('second argument must be array-like');
-  }
-  var len = others.length;
-
-  while (--len >= 0) {
-    if (value > others[len]) {
-      return false;
-    }
-  }
-
-  return true;
-};
-
-/**
- * is.nan
- * Test if `value` is not a number.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is not a number, false otherwise
- * @api public
- */
-
-is.nan = function (value) {
-  return !is.number(value) || value !== value;
-};
-
-/**
- * is.even
- * Test if `value` is an even number.
- *
- * @param {Number} value value to test
- * @return {Boolean} true if `value` is an even number, false otherwise
- * @api public
- */
-
-is.even = function (value) {
-  return is.infinite(value) || (is.number(value) && value === value && value % 2 === 0);
-};
-
-/**
- * is.odd
- * Test if `value` is an odd number.
- *
- * @param {Number} value value to test
- * @return {Boolean} true if `value` is an odd number, false otherwise
- * @api public
- */
-
-is.odd = function (value) {
-  return is.infinite(value) || (is.number(value) && value === value && value % 2 !== 0);
-};
-
-/**
- * is.ge
- * Test if `value` is greater than or equal to `other`.
- *
- * @param {Number} value value to test
- * @param {Number} other value to compare with
- * @return {Boolean}
- * @api public
- */
-
-is.ge = function (value, other) {
-  if (isActualNaN(value) || isActualNaN(other)) {
-    throw new TypeError('NaN is not a valid value');
-  }
-  return !is.infinite(value) && !is.infinite(other) && value >= other;
-};
-
-/**
- * is.gt
- * Test if `value` is greater than `other`.
- *
- * @param {Number} value value to test
- * @param {Number} other value to compare with
- * @return {Boolean}
- * @api public
- */
-
-is.gt = function (value, other) {
-  if (isActualNaN(value) || isActualNaN(other)) {
-    throw new TypeError('NaN is not a valid value');
-  }
-  return !is.infinite(value) && !is.infinite(other) && value > other;
-};
-
-/**
- * is.le
- * Test if `value` is less than or equal to `other`.
- *
- * @param {Number} value value to test
- * @param {Number} other value to compare with
- * @return {Boolean} if 'value' is less than or equal to 'other'
- * @api public
- */
-
-is.le = function (value, other) {
-  if (isActualNaN(value) || isActualNaN(other)) {
-    throw new TypeError('NaN is not a valid value');
-  }
-  return !is.infinite(value) && !is.infinite(other) && value <= other;
-};
-
-/**
- * is.lt
- * Test if `value` is less than `other`.
- *
- * @param {Number} value value to test
- * @param {Number} other value to compare with
- * @return {Boolean} if `value` is less than `other`
- * @api public
- */
-
-is.lt = function (value, other) {
-  if (isActualNaN(value) || isActualNaN(other)) {
-    throw new TypeError('NaN is not a valid value');
-  }
-  return !is.infinite(value) && !is.infinite(other) && value < other;
-};
-
-/**
- * is.within
- * Test if `value` is within `start` and `finish`.
- *
- * @param {Number} value value to test
- * @param {Number} start lower bound
- * @param {Number} finish upper bound
- * @return {Boolean} true if 'value' is is within 'start' and 'finish'
- * @api public
- */
-is.within = function (value, start, finish) {
-  if (isActualNaN(value) || isActualNaN(start) || isActualNaN(finish)) {
-    throw new TypeError('NaN is not a valid value');
-  } else if (!is.number(value) || !is.number(start) || !is.number(finish)) {
-    throw new TypeError('all arguments must be numbers');
-  }
-  var isAnyInfinite = is.infinite(value) || is.infinite(start) || is.infinite(finish);
-  return isAnyInfinite || (value >= start && value <= finish);
-};
-
-/**
- * Test object.
- */
-
-/**
- * is.object
- * Test if `value` is an object.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is an object, false otherwise
- * @api public
- */
-
-is.object = function (value) {
-  return value && '[object Object]' === toString.call(value);
-};
-
-/**
- * is.hash
- * Test if `value` is a hash - a plain object literal.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is a hash, false otherwise
- * @api public
- */
-
-is.hash = function (value) {
-  return is.object(value) && value.constructor === Object && !value.nodeType && !value.setInterval;
-};
-
-/**
- * Test regexp.
- */
-
-/**
- * is.regexp
- * Test if `value` is a regular expression.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if `value` is a regexp, false otherwise
- * @api public
- */
-
-is.regexp = function (value) {
-  return '[object RegExp]' === toString.call(value);
-};
-
-/**
- * Test string.
- */
-
-/**
- * is.string
- * Test if `value` is a string.
- *
- * @param {Mixed} value value to test
- * @return {Boolean} true if 'value' is a string, false otherwise
- * @api public
- */
-
-is.string = function (value) {
-  return '[object String]' === toString.call(value);
-};
-
-
-},{}],10:[function(require,module,exports){
-
-var hasOwn = Object.prototype.hasOwnProperty;
-var toString = Object.prototype.toString;
-
-module.exports = function forEach (obj, fn, ctx) {
-    if (toString.call(fn) !== '[object Function]') {
-        throw new TypeError('iterator must be a function');
-    }
-    var l = obj.length;
-    if (l === +l) {
-        for (var i = 0; i < l; i++) {
-            fn.call(ctx, obj[i], i, obj);
-        }
-    } else {
-        for (var k in obj) {
-            if (hasOwn.call(obj, k)) {
-                fn.call(ctx, obj[k], k, obj);
-            }
-        }
-    }
-};
-
-
-},{}]},{},[1])(1)
-});
-;/*
- (c) 2013, Vladimir Agafonkin
- RBush, a JavaScript library for high-performance 2D spatial indexing of points and rectangles.
- https://github.com/mourner/rbush
-*/
-
-(function () { 'use strict';
-
-function rbush(maxEntries, format) {
-
-    // jshint newcap: false, validthis: true
-    if (!(this instanceof rbush)) { return new rbush(maxEntries, format); }
-
-    // max entries in a node is 9 by default; min node fill is 40% for best performance
-    this._maxEntries = Math.max(4, maxEntries || 9);
-    this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4));
-
-    if (format) {
-        this._initFormat(format);
-    }
-
-    this.clear();
-}
-
-rbush.prototype = {
-
-    all: function () {
-        return this._all(this.data, []);
-    },
-
-    search: function (bbox) {
-
-        var node = this.data,
-            result = [];
-
-        if (!this._intersects(bbox, node.bbox)) { return result; }
-
-        var nodesToSearch = [],
-            i, len, child, childBBox;
-
-        while (node) {
-            for (i = 0, len = node.children.length; i < len; i++) {
-                child = node.children[i];
-                childBBox = node.leaf ? this.toBBox(child) : child.bbox;
-
-                if (this._intersects(bbox, childBBox)) {
-
-                    if (node.leaf) {
-                        result.push(child);
-
-                    } else if (this._contains(bbox, childBBox)) {
-                        this._all(child, result);
-
-                    } else {
-                        nodesToSearch.push(child);
-                    }
-                }
-            }
-
-            node = nodesToSearch.pop();
-        }
-
-        return result;
-    },
-
-    load: function (data) {
-        if (!(data && data.length)) { return this; }
-
-        if (data.length < this._minEntries) {
-            for (var i = 0, len = data.length; i < len; i++) {
-                this.insert(data[i]);
-            }
-            return this;
-        }
-
-        // recursively build the tree with the given data from stratch using OMT algorithm
-        var node = this._build(data.slice(), 0);
-
-        if (!this.data.children.length) {
-            // save as is if tree is empty
-            this.data = node;
-
-        } else if (this.data.height === node.height) {
-            // split root if trees have the same height
-            this._splitRoot(this.data, node);
-
-        } else {
-            if (this.data.height < node.height) {
-                // swap trees if inserted one is bigger
-                var tmpNode = this.data;
-                this.data = node;
-                node = tmpNode;
-            }
-
-            // insert the small tree into the large tree at appropriate level
-            this._insert(node, this.data.height - node.height - 1, true);
-        }
-
-        return this;
-    },
-
-    insert: function (item) {
-        if (item) {
-            this._insert(item, this.data.height - 1);
-        }
-        return this;
-    },
-
-    clear: function () {
-        this.data = {
-            children: [],
-            leaf: true,
-            bbox: this._empty(),
-            height: 1
-        };
-        return this;
-    },
-
-    remove: function (item) {
-        if (!item) { return this; }
-
-        var node = this.data,
-            bbox = this.toBBox(item),
-            path = [],
-            indexes = [],
-            i, parent, index, goingUp;
-
-        // depth-first iterative tree traversal
-        while (node || path.length) {
-
-            if (!node) { // go up
-                node = path.pop();
-                parent = path[path.length - 1];
-                i = indexes.pop();
-                goingUp = true;
-            }
-
-            if (node.leaf) { // check current node
-                index = node.children.indexOf(item);
-
-                if (index !== -1) {
-                    // item found, remove the item and condense tree upwards
-                    node.children.splice(index, 1);
-                    path.push(node);
-                    this._condense(path);
-                    return this;
-                }
-            }
-
-            if (!goingUp && !node.leaf && this._intersects(bbox, node.bbox)) { // go down
-                path.push(node);
-                indexes.push(i);
-                i = 0;
-                parent = node;
-                node = node.children[0];
-
-            } else if (parent) { // go right
-                i++;
-                node = parent.children[i];
-                goingUp = false;
-
-            } else { // nothing found
-                node = null;
-            }
-        }
-
-        return this;
-    },
-
-    toBBox: function (item) { return item; },
-
-    compareMinX: function (a, b) { return a[0] - b[0]; },
-    compareMinY: function (a, b) { return a[1] - b[1]; },
-
-    toJSON: function () { return this.data; },
-
-    fromJSON: function (data) {
-        this.data = data;
-        return this;
-    },
-
-    _all: function (node, result) {
-        var nodesToSearch = [];
-        while (node) {
-            if (node.leaf) {
-                result.push.apply(result, node.children);
-            } else {
-                nodesToSearch.push.apply(nodesToSearch, node.children);
-            }
-            node = nodesToSearch.pop();
-        }
-        return result;
-    },
-
-    _build: function (items, level, height) {
-
-        var N = items.length,
-            M = this._maxEntries,
-            node;
-
-        if (N <= M) {
-            node = {
-                children: items,
-                leaf: true,
-                height: 1
-            };
-            this._calcBBox(node);
-            return node;
-        }
-
-        if (!level) {
-            // target height of the bulk-loaded tree
-            height = Math.ceil(Math.log(N) / Math.log(M));
-
-            // target number of root entries to maximize storage utilization
-            M = Math.ceil(N / Math.pow(M, height - 1));
-
-            items.sort(this.compareMinX);
-        }
-
-        // TODO eliminate recursion?
-
-        node = {
-            children: [],
-            height: height
-        };
-
-        var N1 = Math.ceil(N / M) * Math.ceil(Math.sqrt(M)),
-            N2 = Math.ceil(N / M),
-            compare = level % 2 === 1 ? this.compareMinX : this.compareMinY,
-            i, j, slice, sliceLen, childNode;
-
-        // split the items into M mostly square tiles
-        for (i = 0; i < N; i += N1) {
-            slice = items.slice(i, i + N1).sort(compare);
-
-            for (j = 0, sliceLen = slice.length; j < sliceLen; j += N2) {
-                // pack each entry recursively
-                childNode = this._build(slice.slice(j, j + N2), level + 1, height - 1);
-                node.children.push(childNode);
-            }
-        }
-
-        this._calcBBox(node);
-
-        return node;
-    },
-
-    _chooseSubtree: function (bbox, node, level, path) {
-
-        var i, len, child, targetNode, area, enlargement, minArea, minEnlargement;
-
-        while (true) {
-            path.push(node);
-
-            if (node.leaf || path.length - 1 === level) { break; }
-
-            minArea = minEnlargement = Infinity;
-
-            for (i = 0, len = node.children.length; i < len; i++) {
-                child = node.children[i];
-                area = this._area(child.bbox);
-                enlargement = this._enlargedArea(bbox, child.bbox) - area;
-
-                // choose entry with the least area enlargement
-                if (enlargement < minEnlargement) {
-                    minEnlargement = enlargement;
-                    minArea = area < minArea ? area : minArea;
-                    targetNode = child;
-
-                } else if (enlargement === minEnlargement) {
-                    // otherwise choose one with the smallest area
-                    if (area < minArea) {
-                        minArea = area;
-                        targetNode = child;
-                    }
-                }
-            }
-
-            node = targetNode;
-        }
-
-        return node;
-    },
-
-    _insert: function (item, level, isNode, root) {
-
-        var bbox = isNode ? item.bbox : this.toBBox(item),
-            insertPath = [];
-
-        // find the best node for accommodating the item, saving all nodes along the path too
-        var node = this._chooseSubtree(bbox, root || this.data, level, insertPath),
-            splitOccured;
+                       list = keys$2(obj);
+                       if (compareFn) {
+                               list.sort(typeof compareFn === "function" ? bind.call(compareFn, obj) : undefined);
+                       }
+                       if (typeof method !== "function") method = list[method];
+                       return call$1.call(method, list, function (key, index) {
+                               if (!objPropertyIsEnumerable.call(obj, key)) return defVal;
+                               return call$1.call(cb, thisArg, obj[key], key, obj, index);
+                       });
+               };
+       };
+
+       var forEach$1 = _iterate("forEach");
+
+       var call$2     = Function.prototype.call;
+
+       var map$1 = function (obj, cb /*, thisArg*/) {
+               var result = {}, thisArg = arguments[2];
+               validCallable(cb);
+               forEach$1(obj, function (value, key, targetObj, index) {
+                       result[key] = call$2.call(cb, thisArg, value, key, targetObj, index);
+               });
+               return result;
+       };
+
+       var bind$1 = Function.prototype.bind
+         , defineProperty$3 = Object.defineProperty
+         , hasOwnProperty$1 = Object.prototype.hasOwnProperty
+         , define;
+
+       define = function (name, desc, options) {
+               var value = ensure(desc) && ensure$1(desc.value), dgs;
+               dgs = copy(desc);
+               delete dgs.writable;
+               delete dgs.value;
+               dgs.get = function () {
+                       if (!options.overwriteDefinition && hasOwnProperty$1.call(this, name)) return value;
+                       desc.value = bind$1.call(value, options.resolveContext ? options.resolveContext(this) : this);
+                       defineProperty$3(this, name, desc);
+                       return this[name];
+               };
+               return dgs;
+       };
 
-        // put the item into the node
-        node.children.push(item);
-        this._extend(node.bbox, bbox);
-
-        // split on node overflow; propagate upwards if necessary
-        do {
-            splitOccured = false;
-            if (insertPath[level].children.length > this._maxEntries) {
-                this._split(insertPath, level);
-                splitOccured = true;
-                level--;
-            }
-        } while (level >= 0 && splitOccured);
+       var autoBind = function (props/*, options*/) {
+               var options = normalizeOptions(arguments[1]);
+               if (is(options.resolveContext)) ensure$1(options.resolveContext);
+               return map$1(props, function (desc, name) { return define(name, desc, options); });
+       };
 
-        // adjust bboxes along the insertion path
-        this._adjustParentBBoxes(bbox, insertPath, level);
-    },
+       var defineProperty$4 = Object.defineProperty, defineProperties$1 = Object.defineProperties, Iterator;
+
+       var es6Iterator = Iterator = function (list, context) {
+               if (!(this instanceof Iterator)) throw new TypeError("Constructor requires 'new'");
+               defineProperties$1(this, {
+                       __list__: d_1("w", validValue(list)),
+                       __context__: d_1("w", context),
+                       __nextIndex__: d_1("w", 0)
+               });
+               if (!context) return;
+               validCallable(context.on);
+               context.on("_add", this._onAdd);
+               context.on("_delete", this._onDelete);
+               context.on("_clear", this._onClear);
+       };
 
-    // split overflowed node into two
-    _split: function (insertPath, level) {
+       // Internal %IteratorPrototype% doesn't expose its constructor
+       delete Iterator.prototype.constructor;
+
+       defineProperties$1(
+               Iterator.prototype,
+               assign(
+                       {
+                               _next: d_1(function () {
+                                       var i;
+                                       if (!this.__list__) return undefined;
+                                       if (this.__redo__) {
+                                               i = this.__redo__.shift();
+                                               if (i !== undefined) return i;
+                                       }
+                                       if (this.__nextIndex__ < this.__list__.length) return this.__nextIndex__++;
+                                       this._unBind();
+                                       return undefined;
+                               }),
+                               next: d_1(function () {
+                                       return this._createResult(this._next());
+                               }),
+                               _createResult: d_1(function (i) {
+                                       if (i === undefined) return { done: true, value: undefined };
+                                       return { done: false, value: this._resolve(i) };
+                               }),
+                               _resolve: d_1(function (i) {
+                                       return this.__list__[i];
+                               }),
+                               _unBind: d_1(function () {
+                                       this.__list__ = null;
+                                       delete this.__redo__;
+                                       if (!this.__context__) return;
+                                       this.__context__.off("_add", this._onAdd);
+                                       this.__context__.off("_delete", this._onDelete);
+                                       this.__context__.off("_clear", this._onClear);
+                                       this.__context__ = null;
+                               }),
+                               toString: d_1(function () {
+                                       return "[object " + (this[es6Symbol.toStringTag] || "Object") + "]";
+                               })
+                       },
+                       autoBind({
+                               _onAdd: d_1(function (index) {
+                                       if (index >= this.__nextIndex__) return;
+                                       ++this.__nextIndex__;
+                                       if (!this.__redo__) {
+                                               defineProperty$4(this, "__redo__", d_1("c", [index]));
+                                               return;
+                                       }
+                                       this.__redo__.forEach(function (redo, i) {
+                                               if (redo >= index) this.__redo__[i] = ++redo;
+                                       }, this);
+                                       this.__redo__.push(index);
+                               }),
+                               _onDelete: d_1(function (index) {
+                                       var i;
+                                       if (index >= this.__nextIndex__) return;
+                                       --this.__nextIndex__;
+                                       if (!this.__redo__) return;
+                                       i = this.__redo__.indexOf(index);
+                                       if (i !== -1) this.__redo__.splice(i, 1);
+                                       this.__redo__.forEach(function (redo, j) {
+                                               if (redo > index) this.__redo__[j] = --redo;
+                                       }, this);
+                               }),
+                               _onClear: d_1(function () {
+                                       if (this.__redo__) clear.call(this.__redo__);
+                                       this.__nextIndex__ = 0;
+                               })
+                       })
+               )
+       );
+
+       defineProperty$4(
+               Iterator.prototype,
+               es6Symbol.iterator,
+               d_1(function () {
+                       return this;
+               })
+       );
 
-        var node = insertPath[level],
-            M = node.children.length,
-            m = this._minEntries;
+       var array = createCommonjsModule(function (module) {
 
-        this._chooseSplitAxis(node, m, M);
 
-        var newNode = {
-            children: node.children.splice(this._chooseSplitIndex(node, m, M)),
-            height: node.height
-        };
 
-        if (node.leaf) {
-            newNode.leaf = true;
-        }
+       var defineProperty = Object.defineProperty, ArrayIterator;
 
-        this._calcBBox(node);
-        this._calcBBox(newNode);
+       ArrayIterator = module.exports = function (arr, kind) {
+               if (!(this instanceof ArrayIterator)) throw new TypeError("Constructor requires 'new'");
+               es6Iterator.call(this, arr);
+               if (!kind) kind = "value";
+               else if (contains.call(kind, "key+value")) kind = "key+value";
+               else if (contains.call(kind, "key")) kind = "key";
+               else kind = "value";
+               defineProperty(this, "__kind__", d_1("", kind));
+       };
+       if (setPrototypeOf) setPrototypeOf(ArrayIterator, es6Iterator);
 
-        if (level) {
-            insertPath[level - 1].children.push(newNode);
-        } else {
-            this._splitRoot(node, newNode);
-        }
-    },
+       // Internal %ArrayIteratorPrototype% doesn't expose its constructor
+       delete ArrayIterator.prototype.constructor;
 
-    _splitRoot: function (node, newNode) {
-        // split root node
-        this.data = {};
-        this.data.children = [node, newNode];
-        this.data.height = node.height + 1;
-        this._calcBBox(this.data);
-    },
-
-    _chooseSplitIndex: function (node, m, M) {
-
-        var i, bbox1, bbox2, overlap, area, minOverlap, minArea, index;
-
-        minOverlap = minArea = Infinity;
-
-        for (i = m; i <= M - m; i++) {
-            bbox1 = this._distBBox(node, 0, i);
-            bbox2 = this._distBBox(node, i, M);
-
-            overlap = this._intersectionArea(bbox1, bbox2);
-            area = this._area(bbox1) + this._area(bbox2);
-
-            // choose distribution with minimum overlap
-            if (overlap < minOverlap) {
-                minOverlap = overlap;
-                index = i;
-
-                minArea = area < minArea ? area : minArea;
-
-            } else if (overlap === minOverlap) {
-                // otherwise choose distribution with minimum area
-                if (area < minArea) {
-                    minArea = area;
-                    index = i;
-                }
-            }
-        }
-
-        return index;
-    },
-
-    // sorts node children by the best axis for split
-    _chooseSplitAxis: function (node, m, M) {
-
-        var compareMinX = node.leaf ? this.compareMinX : this._compareNodeMinX,
-            compareMinY = node.leaf ? this.compareMinY : this._compareNodeMinY,
-            xMargin = this._allDistMargin(node, m, M, compareMinX),
-            yMargin = this._allDistMargin(node, m, M, compareMinY);
-
-        // if total distributions margin value is minimal for x, sort by minX,
-        // otherwise it's already sorted by minY
-
-        if (xMargin < yMargin) {
-            node.children.sort(compareMinX);
-        }
-    },
-
-    // total margin of all possible split distributions where each node is at least m full
-    _allDistMargin: function (node, m, M, compare) {
-
-        node.children.sort(compare);
-
-        var leftBBox = this._distBBox(node, 0, m),
-            rightBBox = this._distBBox(node, M - m, M),
-            margin = this._margin(leftBBox) + this._margin(rightBBox),
-            i, child;
-
-        for (i = m; i < M - m; i++) {
-            child = node.children[i];
-            this._extend(leftBBox, node.leaf ? this.toBBox(child) : child.bbox);
-            margin += this._margin(leftBBox);
-        }
-
-        for (i = M - m - 1; i >= 0; i--) {
-            child = node.children[i];
-            this._extend(rightBBox, node.leaf ? this.toBBox(child) : child.bbox);
-            margin += this._margin(rightBBox);
-        }
-
-        return margin;
-    },
-
-    // min bounding rectangle of node children from k to p-1
-    _distBBox: function (node, k, p) {
-        var bbox = this._empty();
-
-        for (var i = k, child; i < p; i++) {
-            child = node.children[i];
-            this._extend(bbox, node.leaf ? this.toBBox(child) : child.bbox);
-        }
-
-        return bbox;
-    },
-
-    // calculate node's bbox from bboxes of its children
-    _calcBBox: function (node) {
-        node.bbox = this._empty();
-
-        for (var i = 0, len = node.children.length, child; i < len; i++) {
-            child = node.children[i];
-            this._extend(node.bbox, node.leaf ? this.toBBox(child) : child.bbox);
-        }
-    },
-
-    _adjustParentBBoxes: function (bbox, path, level) {
-        // adjust bboxes along the given tree path
-        for (var i = level; i >= 0; i--) {
-            this._extend(path[i].bbox, bbox);
-        }
-    },
-
-    _condense: function (path) {
-        // go through the path, removing empty nodes and updating bboxes
-        for (var i = path.length - 1, parent; i >= 0; i--) {
-            if (path[i].children.length === 0) {
-                if (i > 0) {
-                    parent = path[i - 1].children;
-                    parent.splice(parent.indexOf(path[i]), 1);
-                } else {
-                    this.clear();
-                }
-            } else {
-                this._calcBBox(path[i]);
-            }
-        }
-    },
-
-    _contains: function(a, b) {
-        return a[0] <= b[0] &&
-               a[1] <= b[1] &&
-               b[2] <= a[2] &&
-               b[3] <= a[3];
-    },
-
-    _intersects: function (a, b) {
-        return b[0] <= a[2] &&
-               b[1] <= a[3] &&
-               b[2] >= a[0] &&
-               b[3] >= a[1];
-    },
-
-    _extend: function (a, b) {
-        a[0] = Math.min(a[0], b[0]);
-        a[1] = Math.min(a[1], b[1]);
-        a[2] = Math.max(a[2], b[2]);
-        a[3] = Math.max(a[3], b[3]);
-        return a;
-    },
-
-    _area:   function (a) { return (a[2] - a[0]) * (a[3] - a[1]); },
-    _margin: function (a) { return (a[2] - a[0]) + (a[3] - a[1]); },
-
-    _enlargedArea: function (a, b) {
-        return (Math.max(b[2], a[2]) - Math.min(b[0], a[0])) *
-               (Math.max(b[3], a[3]) - Math.min(b[1], a[1]));
-    },
-
-    _intersectionArea: function (a, b) {
-        var minX = Math.max(a[0], b[0]),
-            minY = Math.max(a[1], b[1]),
-            maxX = Math.min(a[2], b[2]),
-            maxY = Math.min(a[3], b[3]);
-
-        return Math.max(0, maxX - minX) *
-               Math.max(0, maxY - minY);
-    },
-
-    _empty: function () { return [Infinity, Infinity, -Infinity, -Infinity]; },
-
-    _compareNodeMinX: function (a, b) { return a.bbox[0] - b.bbox[0]; },
-    _compareNodeMinY: function (a, b) { return a.bbox[1] - b.bbox[1]; },
-
-    _initFormat: function (format) {
-        // data format (minX, minY, maxX, maxY accessors)
-
-        // uses eval-type function compilation instead of just accepting a toBBox function
-        // because the algorithms are very sensitive to sorting functions performance,
-        // so they should be dead simple and without inner calls
-
-        // jshint evil: true
-
-        var compareArr = ['return a', ' - b', ';'];
-
-        this.compareMinX = new Function('a', 'b', compareArr.join(format[0]));
-        this.compareMinY = new Function('a', 'b', compareArr.join(format[1]));
-
-        this.toBBox = new Function('a', 'return [a' + format.join(', a') + '];');
-    }
-};
-
-if (typeof define === 'function' && define.amd) {
-    define(function() {
-        return rbush;
-    });
-} else if (typeof module !== 'undefined') {
-    module.exports = rbush;
-} else if (typeof self !== 'undefined') {
-    self.rbush = rbush;
-} else {
-    window.rbush = rbush;
-}
-
-})();
-(function(e){if("function"==typeof bootstrap)bootstrap("sexagesimal",e);else if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeSexagesimal=e}else"undefined"!=typeof window?window.sexagesimal=e():global.sexagesimal=e()})(function(){var define,ses,bootstrap,module,exports;
-return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-module.exports = element;
-module.exports.pair = pair;
-module.exports.format = format;
-module.exports.formatPair = formatPair;
-
-function element(x, dims) {
-    return search(x, dims).val;
-}
-
-function formatPair(x) {
-    return format(x.lat, 'lat') + ' ' + format(x.lon, 'lon');
-}
-
-// Is 0 North or South?
-function format(x, dim) {
-    var dirs = {
-            lat: ['N', 'S'],
-            lon: ['E', 'W']
-        }[dim] || '',
-        dir = dirs[x >= 0 ? 0 : 1],
-        abs = Math.abs(x),
-        whole = Math.floor(abs),
-        fraction = abs - whole,
-        fractionMinutes = fraction * 60,
-        minutes = Math.floor(fractionMinutes),
-        seconds = Math.floor((fractionMinutes - minutes) * 60);
-
-    return whole + '° ' +
-        (minutes ? minutes + "' " : '') +
-        (seconds ? seconds + '" ' : '') + dir;
-}
-
-function search(x, dims, r) {
-    if (!dims) dims = 'NSEW';
-    if (typeof x !== 'string') return { val: null, regex: r };
-    r = r || /[\s\,]*([\-|\—|\―]?[0-9.]+)°? *(?:([0-9.]+)['’′‘] *)?(?:([0-9.]+)(?:''|"|”|″) *)?([NSEW])?/gi;
-    var m = r.exec(x);
-    if (!m) return { val: null, regex: r };
-    else if (m[4] && dims.indexOf(m[4]) === -1) return { val: null, regex: r };
-    else return {
-        val: (((m[1]) ? parseFloat(m[1]) : 0) +
-            ((m[2] ? parseFloat(m[2]) / 60 : 0)) +
-            ((m[3] ? parseFloat(m[3]) / 3600 : 0))) *
-            ((m[4] && m[4] === 'S' || m[4] === 'W') ? -1 : 1),
-        regex: r,
-        raw: m[0],
-        dim: m[4]
-    };
-}
-
-function pair(x, dims) {
-    x = x.trim();
-    var one = search(x, dims);
-    if (one.val === null) return null;
-    var two = search(x, dims, one.regex);
-    if (two.val === null) return null;
-    // null if one/two are not contiguous.
-    if (one.raw + two.raw !== x) return null;
-    if (one.dim) return swapdim(one.val, two.val, one.dim);
-    else return [one.val, two.val];
-}
-
-function swapdim(a, b, dim) {
-    if (dim == 'N' || dim == 'S') return [a, b];
-    if (dim == 'W' || dim == 'E') return [b, a];
-}
-
-},{}]},{},[1])
-(1)
-});
-;toGeoJSON = (function() {
-    'use strict';
-
-    var removeSpace = (/\s*/g),
-        trimSpace = (/^\s*|\s*$/g),
-        splitSpace = (/\s+/);
-    // generate a short, numeric hash of a string
-    function okhash(x) {
-        if (!x || !x.length) return 0;
-        for (var i = 0, h = 0; i < x.length; i++) {
-            h = ((h << 5) - h) + x.charCodeAt(i) | 0;
-        } return h;
-    }
-    // all Y children of X
-    function get(x, y) { return x.getElementsByTagName(y); }
-    function attr(x, y) { return x.getAttribute(y); }
-    function attrf(x, y) { return parseFloat(attr(x, y)); }
-    // one Y child of X, if any, otherwise null
-    function get1(x, y) { var n = get(x, y); return n.length ? n[0] : null; }
-    // https://developer.mozilla.org/en-US/docs/Web/API/Node.normalize
-    function norm(el) { if (el.normalize) { el.normalize(); } return el; }
-    // cast array x into numbers
-    function numarray(x) {
-        for (var j = 0, o = []; j < x.length; j++) o[j] = parseFloat(x[j]);
-        return o;
-    }
-    function clean(x) {
-        var o = {};
-        for (var i in x) if (x[i]) o[i] = x[i];
-        return o;
-    }
-    // get the content of a text node, if any
-    function nodeVal(x) { if (x) {norm(x);} return x && x.firstChild && x.firstChild.nodeValue; }
-    // get one coordinate from a coordinate array, if any
-    function coord1(v) { return numarray(v.replace(removeSpace, '').split(',')); }
-    // get all coordinates from a coordinate array as [[],[]]
-    function coord(v) {
-        var coords = v.replace(trimSpace, '').split(splitSpace),
-            o = [];
-        for (var i = 0; i < coords.length; i++) {
-            o.push(coord1(coords[i]));
-        }
-        return o;
-    }
-    function coordPair(x) { return [attrf(x, 'lon'), attrf(x, 'lat')]; }
-
-    // create a new feature collection parent object
-    function fc() {
-        return {
-            type: 'FeatureCollection',
-            features: []
-        };
-    }
-
-    var styleSupport = false;
-    if (typeof XMLSerializer !== 'undefined') {
-        var serializer = new XMLSerializer();
-        styleSupport = true;
-    }
-    function xml2str(str) { return serializer.serializeToString(str); }
-
-    var t = {
-        kml: function(doc, o) {
-            o = o || {};
-
-            var gj = fc(),
-                // styleindex keeps track of hashed styles in order to match features
-                styleIndex = {},
-                // atomic geospatial types supported by KML - MultiGeometry is
-                // handled separately
-                geotypes = ['Polygon', 'LineString', 'Point', 'Track'],
-                // all root placemarks in the file
-                placemarks = get(doc, 'Placemark'),
-                styles = get(doc, 'Style');
-
-            if (styleSupport) for (var k = 0; k < styles.length; k++) {
-                styleIndex['#' + attr(styles[k], 'id')] = okhash(xml2str(styles[k])).toString(16);
-            }
-            for (var j = 0; j < placemarks.length; j++) {
-                gj.features = gj.features.concat(getPlacemark(placemarks[j]));
-            }
-            function gxCoord(v) { return numarray(v.split(' ')); }
-            function gxCoords(root) {
-                var elems = get(root, 'coord', 'gx'), coords = [];
-                for (var i = 0; i < elems.length; i++) coords.push(gxCoord(nodeVal(elems[i])));
-                return coords;
-            }
-            function getGeometry(root) {
-                var geomNode, geomNodes, i, j, k, geoms = [];
-                if (get1(root, 'MultiGeometry')) return getGeometry(get1(root, 'MultiGeometry'));
-                if (get1(root, 'MultiTrack')) return getGeometry(get1(root, 'MultiTrack'));
-                for (i = 0; i < geotypes.length; i++) {
-                    geomNodes = get(root, geotypes[i]);
-                    if (geomNodes) {
-                        for (j = 0; j < geomNodes.length; j++) {
-                            geomNode = geomNodes[j];
-                            if (geotypes[i] == 'Point') {
-                                geoms.push({
-                                    type: 'Point',
-                                    coordinates: coord1(nodeVal(get1(geomNode, 'coordinates')))
-                                });
-                            } else if (geotypes[i] == 'LineString') {
-                                geoms.push({
-                                    type: 'LineString',
-                                    coordinates: coord(nodeVal(get1(geomNode, 'coordinates')))
-                                });
-                            } else if (geotypes[i] == 'Polygon') {
-                                var rings = get(geomNode, 'LinearRing'),
-                                    coords = [];
-                                for (k = 0; k < rings.length; k++) {
-                                    coords.push(coord(nodeVal(get1(rings[k], 'coordinates'))));
-                                }
-                                geoms.push({
-                                    type: 'Polygon',
-                                    coordinates: coords
-                                });
-                            } else if (geotypes[i] == 'Track') {
-                                geoms.push({
-                                    type: 'LineString',
-                                    coordinates: gxCoords(geomNode)
-                                });
-                            }
-                        }
-                    }
-                }
-                return geoms;
-            }
-            function getPlacemark(root) {
-                var geoms = getGeometry(root), i, properties = {},
-                    name = nodeVal(get1(root, 'name')),
-                    styleUrl = nodeVal(get1(root, 'styleUrl')),
-                    description = nodeVal(get1(root, 'description')),
-                    extendedData = get1(root, 'ExtendedData');
-
-                if (!geoms.length) return [];
-                if (name) properties.name = name;
-                if (styleUrl && styleIndex[styleUrl]) {
-                    properties.styleUrl = styleUrl;
-                    properties.styleHash = styleIndex[styleUrl];
-                }
-                if (description) properties.description = description;
-                if (extendedData) {
-                    var datas = get(extendedData, 'Data'),
-                        simpleDatas = get(extendedData, 'SimpleData');
-
-                    for (i = 0; i < datas.length; i++) {
-                        properties[datas[i].getAttribute('name')] = nodeVal(get1(datas[i], 'value'));
-                    }
-                    for (i = 0; i < simpleDatas.length; i++) {
-                        properties[simpleDatas[i].getAttribute('name')] = nodeVal(simpleDatas[i]);
-                    }
-                }
-                return [{
-                    type: 'Feature',
-                    geometry: (geoms.length === 1) ? geoms[0] : {
-                        type: 'GeometryCollection',
-                        geometries: geoms
-                    },
-                    properties: properties
-                }];
-            }
-            return gj;
-        },
-        gpx: function(doc, o) {
-            var i,
-                tracks = get(doc, 'trk'),
-                routes = get(doc, 'rte'),
-                waypoints = get(doc, 'wpt'),
-                // a feature collection
-                gj = fc();
-            for (i = 0; i < tracks.length; i++) {
-                gj.features.push(getLinestring(tracks[i], 'trkpt'));
-            }
-            for (i = 0; i < routes.length; i++) {
-                gj.features.push(getLinestring(routes[i], 'rtept'));
-            }
-            for (i = 0; i < waypoints.length; i++) {
-                gj.features.push(getPoint(waypoints[i]));
-            }
-            function getLinestring(node, pointname) {
-                var j, pts = get(node, pointname), line = [];
-                for (j = 0; j < pts.length; j++) {
-                    line.push(coordPair(pts[j]));
-                }
-                return {
-                    type: 'Feature',
-                    properties: getProperties(node),
-                    geometry: {
-                        type: 'LineString',
-                        coordinates: line
-                    }
-                };
-            }
-            function getPoint(node) {
-                var prop = getProperties(node);
-                prop.ele = nodeVal(get1(node, 'ele'));
-                prop.sym = nodeVal(get1(node, 'sym'));
-                return {
-                    type: 'Feature',
-                    properties: prop,
-                    geometry: {
-                        type: 'Point',
-                        coordinates: coordPair(node)
-                    }
-                };
-            }
-            function getProperties(node) {
-                var meta = ['name', 'desc', 'author', 'copyright', 'link',
-                            'time', 'keywords'],
-                    prop = {},
-                    k;
-                for (k = 0; k < meta.length; k++) {
-                    prop[meta[k]] = nodeVal(get1(node, meta[k]));
-                }
-                return clean(prop);
-            }
-            return gj;
-        }
-    };
-    return t;
-})();
-
-if (typeof module !== 'undefined') module.exports = toGeoJSON;
-/**
- * marked - a markdown parser
- * Copyright (c) 2011-2013, Christopher Jeffrey. (MIT Licensed)
- * https://github.com/chjj/marked
- */
-
-;(function() {
-
-/**
- * Block-Level Grammar
- */
-
-var block = {
-  newline: /^\n+/,
-  code: /^( {4}[^\n]+\n*)+/,
-  fences: noop,
-  hr: /^( *[-*_]){3,} *(?:\n+|$)/,
-  heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,
-  nptable: noop,
-  lheading: /^([^\n]+)\n *(=|-){3,} *\n*/,
-  blockquote: /^( *>[^\n]+(\n[^\n]+)*\n*)+/,
-  list: /^( *)(bull) [\s\S]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
-  html: /^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,
-  def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,
-  table: noop,
-  paragraph: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,
-  text: /^[^\n]+/
-};
-
-block.bullet = /(?:[*+-]|\d+\.)/;
-block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;
-block.item = replace(block.item, 'gm')
-  (/bull/g, block.bullet)
-  ();
-
-block.list = replace(block.list)
-  (/bull/g, block.bullet)
-  ('hr', /\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/)
-  ();
-
-block._tag = '(?!(?:'
-  + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'
-  + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'
-  + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|@)\\b';
-
-block.html = replace(block.html)
-  ('comment', /<!--[\s\S]*?-->/)
-  ('closed', /<(tag)[\s\S]+?<\/\1>/)
-  ('closing', /<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)
-  (/tag/g, block._tag)
-  ();
-
-block.paragraph = replace(block.paragraph)
-  ('hr', block.hr)
-  ('heading', block.heading)
-  ('lheading', block.lheading)
-  ('blockquote', block.blockquote)
-  ('tag', '<' + block._tag)
-  ('def', block.def)
-  ();
-
-/**
- * Normal Block Grammar
- */
-
-block.normal = merge({}, block);
-
-/**
- * GFM Block Grammar
- */
-
-block.gfm = merge({}, block.normal, {
-  fences: /^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,
-  paragraph: /^/
-});
-
-block.gfm.paragraph = replace(block.paragraph)
-  ('(?!', '(?!' + block.gfm.fences.source.replace('\\1', '\\2') + '|')
-  ();
-
-/**
- * GFM + Tables Block Grammar
- */
-
-block.tables = merge({}, block.gfm, {
-  nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,
-  table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/
-});
-
-/**
- * Block Lexer
- */
-
-function Lexer(options) {
-  this.tokens = [];
-  this.tokens.links = {};
-  this.options = options || marked.defaults;
-  this.rules = block.normal;
-
-  if (this.options.gfm) {
-    if (this.options.tables) {
-      this.rules = block.tables;
-    } else {
-      this.rules = block.gfm;
-    }
-  }
-}
-
-/**
- * Expose Block Rules
- */
-
-Lexer.rules = block;
-
-/**
- * Static Lex Method
- */
-
-Lexer.lex = function(src, options) {
-  var lexer = new Lexer(options);
-  return lexer.lex(src);
-};
-
-/**
- * Preprocessing
- */
-
-Lexer.prototype.lex = function(src) {
-  src = src
-    .replace(/\r\n|\r/g, '\n')
-    .replace(/\t/g, '    ')
-    .replace(/\u00a0/g, ' ')
-    .replace(/\u2424/g, '\n');
-
-  return this.token(src, true);
-};
-
-/**
- * Lexing
- */
-
-Lexer.prototype.token = function(src, top) {
-  var src = src.replace(/^ +$/gm, '')
-    , next
-    , loose
-    , cap
-    , bull
-    , b
-    , item
-    , space
-    , i
-    , l;
-
-  while (src) {
-    // newline
-    if (cap = this.rules.newline.exec(src)) {
-      src = src.substring(cap[0].length);
-      if (cap[0].length > 1) {
-        this.tokens.push({
-          type: 'space'
-        });
-      }
-    }
-
-    // code
-    if (cap = this.rules.code.exec(src)) {
-      src = src.substring(cap[0].length);
-      cap = cap[0].replace(/^ {4}/gm, '');
-      this.tokens.push({
-        type: 'code',
-        text: !this.options.pedantic
-          ? cap.replace(/\n+$/, '')
-          : cap
-      });
-      continue;
-    }
-
-    // fences (gfm)
-    if (cap = this.rules.fences.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'code',
-        lang: cap[2],
-        text: cap[3]
-      });
-      continue;
-    }
-
-    // heading
-    if (cap = this.rules.heading.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'heading',
-        depth: cap[1].length,
-        text: cap[2]
-      });
-      continue;
-    }
-
-    // table no leading pipe (gfm)
-    if (top && (cap = this.rules.nptable.exec(src))) {
-      src = src.substring(cap[0].length);
-
-      item = {
-        type: 'table',
-        header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
-        align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
-        cells: cap[3].replace(/\n$/, '').split('\n')
-      };
-
-      for (i = 0; i < item.align.length; i++) {
-        if (/^ *-+: *$/.test(item.align[i])) {
-          item.align[i] = 'right';
-        } else if (/^ *:-+: *$/.test(item.align[i])) {
-          item.align[i] = 'center';
-        } else if (/^ *:-+ *$/.test(item.align[i])) {
-          item.align[i] = 'left';
-        } else {
-          item.align[i] = null;
-        }
-      }
-
-      for (i = 0; i < item.cells.length; i++) {
-        item.cells[i] = item.cells[i].split(/ *\| */);
-      }
-
-      this.tokens.push(item);
-
-      continue;
-    }
-
-    // lheading
-    if (cap = this.rules.lheading.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'heading',
-        depth: cap[2] === '=' ? 1 : 2,
-        text: cap[1]
-      });
-      continue;
-    }
-
-    // hr
-    if (cap = this.rules.hr.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'hr'
-      });
-      continue;
-    }
-
-    // blockquote
-    if (cap = this.rules.blockquote.exec(src)) {
-      src = src.substring(cap[0].length);
-
-      this.tokens.push({
-        type: 'blockquote_start'
-      });
-
-      cap = cap[0].replace(/^ *> ?/gm, '');
-
-      // Pass `top` to keep the current
-      // "toplevel" state. This is exactly
-      // how markdown.pl works.
-      this.token(cap, top);
-
-      this.tokens.push({
-        type: 'blockquote_end'
-      });
-
-      continue;
-    }
-
-    // list
-    if (cap = this.rules.list.exec(src)) {
-      src = src.substring(cap[0].length);
-      bull = cap[2];
-
-      this.tokens.push({
-        type: 'list_start',
-        ordered: bull.length > 1
-      });
-
-      // Get each top-level item.
-      cap = cap[0].match(this.rules.item);
-
-      next = false;
-      l = cap.length;
-      i = 0;
-
-      for (; i < l; i++) {
-        item = cap[i];
-
-        // Remove the list item's bullet
-        // so it is seen as the next token.
-        space = item.length;
-        item = item.replace(/^ *([*+-]|\d+\.) +/, '');
-
-        // Outdent whatever the
-        // list item contains. Hacky.
-        if (~item.indexOf('\n ')) {
-          space -= item.length;
-          item = !this.options.pedantic
-            ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')
-            : item.replace(/^ {1,4}/gm, '');
-        }
-
-        // Determine whether the next list item belongs here.
-        // Backpedal if it does not belong in this list.
-        if (this.options.smartLists && i !== l - 1) {
-          b = block.bullet.exec(cap[i+1])[0];
-          if (bull !== b && !(bull.length > 1 && b.length > 1)) {
-            src = cap.slice(i + 1).join('\n') + src;
-            i = l - 1;
-          }
-        }
-
-        // Determine whether item is loose or not.
-        // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
-        // for discount behavior.
-        loose = next || /\n\n(?!\s*$)/.test(item);
-        if (i !== l - 1) {
-          next = item[item.length-1] === '\n';
-          if (!loose) loose = next;
-        }
-
-        this.tokens.push({
-          type: loose
-            ? 'loose_item_start'
-            : 'list_item_start'
-        });
-
-        // Recurse.
-        this.token(item, false);
-
-        this.tokens.push({
-          type: 'list_item_end'
-        });
-      }
-
-      this.tokens.push({
-        type: 'list_end'
-      });
-
-      continue;
-    }
-
-    // html
-    if (cap = this.rules.html.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: this.options.sanitize
-          ? 'paragraph'
-          : 'html',
-        pre: cap[1] === 'pre' || cap[1] === 'script',
-        text: cap[0]
-      });
-      continue;
-    }
-
-    // def
-    if (top && (cap = this.rules.def.exec(src))) {
-      src = src.substring(cap[0].length);
-      this.tokens.links[cap[1].toLowerCase()] = {
-        href: cap[2],
-        title: cap[3]
-      };
-      continue;
-    }
-
-    // table (gfm)
-    if (top && (cap = this.rules.table.exec(src))) {
-      src = src.substring(cap[0].length);
-
-      item = {
-        type: 'table',
-        header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
-        align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
-        cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n')
-      };
-
-      for (i = 0; i < item.align.length; i++) {
-        if (/^ *-+: *$/.test(item.align[i])) {
-          item.align[i] = 'right';
-        } else if (/^ *:-+: *$/.test(item.align[i])) {
-          item.align[i] = 'center';
-        } else if (/^ *:-+ *$/.test(item.align[i])) {
-          item.align[i] = 'left';
-        } else {
-          item.align[i] = null;
-        }
-      }
-
-      for (i = 0; i < item.cells.length; i++) {
-        item.cells[i] = item.cells[i]
-          .replace(/^ *\| *| *\| *$/g, '')
-          .split(/ *\| */);
-      }
-
-      this.tokens.push(item);
-
-      continue;
-    }
-
-    // top-level paragraph
-    if (top && (cap = this.rules.paragraph.exec(src))) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'paragraph',
-        text: cap[1][cap[1].length-1] === '\n'
-          ? cap[1].slice(0, -1)
-          : cap[1]
-      });
-      continue;
-    }
-
-    // text
-    if (cap = this.rules.text.exec(src)) {
-      // Top-level should never reach here.
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'text',
-        text: cap[0]
-      });
-      continue;
-    }
-
-    if (src) {
-      throw new
-        Error('Infinite loop on byte: ' + src.charCodeAt(0));
-    }
-  }
-
-  return this.tokens;
-};
-
-/**
- * Inline-Level Grammar
- */
-
-var inline = {
-  escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,
-  autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
-  url: noop,
-  tag: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,
-  link: /^!?\[(inside)\]\(href\)/,
-  reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
-  nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
-  strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
-  em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
-  code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
-  br: /^ {2,}\n(?!\s*$)/,
-  del: noop,
-  text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
-};
-
-inline._inside = /(?:\[[^\]]*\]|[^\]]|\](?=[^\[]*\]))*/;
-inline._href = /\s*<?([^\s]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;
-
-inline.link = replace(inline.link)
-  ('inside', inline._inside)
-  ('href', inline._href)
-  ();
-
-inline.reflink = replace(inline.reflink)
-  ('inside', inline._inside)
-  ();
-
-/**
- * Normal Inline Grammar
- */
-
-inline.normal = merge({}, inline);
-
-/**
- * Pedantic Inline Grammar
- */
-
-inline.pedantic = merge({}, inline.normal, {
-  strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
-  em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/
-});
-
-/**
- * GFM Inline Grammar
- */
-
-inline.gfm = merge({}, inline.normal, {
-  escape: replace(inline.escape)('])', '~|])')(),
-  url: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,
-  del: /^~~(?=\S)([\s\S]*?\S)~~/,
-  text: replace(inline.text)
-    (']|', '~]|')
-    ('|', '|https?://|')
-    ()
-});
-
-/**
- * GFM + Line Breaks Inline Grammar
- */
-
-inline.breaks = merge({}, inline.gfm, {
-  br: replace(inline.br)('{2,}', '*')(),
-  text: replace(inline.gfm.text)('{2,}', '*')()
-});
-
-/**
- * Inline Lexer & Compiler
- */
-
-function InlineLexer(links, options) {
-  this.options = options || marked.defaults;
-  this.links = links;
-  this.rules = inline.normal;
-
-  if (!this.links) {
-    throw new
-      Error('Tokens array requires a `links` property.');
-  }
-
-  if (this.options.gfm) {
-    if (this.options.breaks) {
-      this.rules = inline.breaks;
-    } else {
-      this.rules = inline.gfm;
-    }
-  } else if (this.options.pedantic) {
-    this.rules = inline.pedantic;
-  }
-}
-
-/**
- * Expose Inline Rules
- */
-
-InlineLexer.rules = inline;
-
-/**
- * Static Lexing/Compiling Method
- */
-
-InlineLexer.output = function(src, links, options) {
-  var inline = new InlineLexer(links, options);
-  return inline.output(src);
-};
-
-/**
- * Lexing/Compiling
- */
-
-InlineLexer.prototype.output = function(src) {
-  var out = ''
-    , link
-    , text
-    , href
-    , cap;
-
-  while (src) {
-    // escape
-    if (cap = this.rules.escape.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += cap[1];
-      continue;
-    }
-
-    // autolink
-    if (cap = this.rules.autolink.exec(src)) {
-      src = src.substring(cap[0].length);
-      if (cap[2] === '@') {
-        text = cap[1][6] === ':'
-          ? this.mangle(cap[1].substring(7))
-          : this.mangle(cap[1]);
-        href = this.mangle('mailto:') + text;
-      } else {
-        text = escape(cap[1]);
-        href = text;
-      }
-      out += '<a href="'
-        + href
-        + '">'
-        + text
-        + '</a>';
-      continue;
-    }
-
-    // url (gfm)
-    if (cap = this.rules.url.exec(src)) {
-      src = src.substring(cap[0].length);
-      text = escape(cap[1]);
-      href = text;
-      out += '<a href="'
-        + href
-        + '">'
-        + text
-        + '</a>';
-      continue;
-    }
-
-    // tag
-    if (cap = this.rules.tag.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += this.options.sanitize
-        ? escape(cap[0])
-        : cap[0];
-      continue;
-    }
-
-    // link
-    if (cap = this.rules.link.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += this.outputLink(cap, {
-        href: cap[2],
-        title: cap[3]
-      });
-      continue;
-    }
-
-    // reflink, nolink
-    if ((cap = this.rules.reflink.exec(src))
-        || (cap = this.rules.nolink.exec(src))) {
-      src = src.substring(cap[0].length);
-      link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
-      link = this.links[link.toLowerCase()];
-      if (!link || !link.href) {
-        out += cap[0][0];
-        src = cap[0].substring(1) + src;
-        continue;
-      }
-      out += this.outputLink(cap, link);
-      continue;
-    }
-
-    // strong
-    if (cap = this.rules.strong.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += '<strong>'
-        + this.output(cap[2] || cap[1])
-        + '</strong>';
-      continue;
-    }
-
-    // em
-    if (cap = this.rules.em.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += '<em>'
-        + this.output(cap[2] || cap[1])
-        + '</em>';
-      continue;
-    }
-
-    // code
-    if (cap = this.rules.code.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += '<code>'
-        + escape(cap[2], true)
-        + '</code>';
-      continue;
-    }
-
-    // br
-    if (cap = this.rules.br.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += '<br>';
-      continue;
-    }
-
-    // del (gfm)
-    if (cap = this.rules.del.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += '<del>'
-        + this.output(cap[1])
-        + '</del>';
-      continue;
-    }
-
-    // text
-    if (cap = this.rules.text.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += escape(cap[0]);
-      continue;
-    }
-
-    if (src) {
-      throw new
-        Error('Infinite loop on byte: ' + src.charCodeAt(0));
-    }
-  }
-
-  return out;
-};
-
-/**
- * Compile Link
- */
-
-InlineLexer.prototype.outputLink = function(cap, link) {
-  if (cap[0][0] !== '!') {
-    return '<a href="'
-      + escape(link.href)
-      + '"'
-      + (link.title
-      ? ' title="'
-      + escape(link.title)
-      + '"'
-      : '')
-      + '>'
-      + this.output(cap[1])
-      + '</a>';
-  } else {
-    return '<img src="'
-      + escape(link.href)
-      + '" alt="'
-      + escape(cap[1])
-      + '"'
-      + (link.title
-      ? ' title="'
-      + escape(link.title)
-      + '"'
-      : '')
-      + '>';
-  }
-};
-
-/**
- * Smartypants Transformations
- */
-
-InlineLexer.prototype.smartypants = function(text) {
-  if (!this.options.smartypants) return text;
-  return text
-    .replace(/--/g, '—')
-    .replace(/'([^']*)'/g, '‘$1’')
-    .replace(/"([^"]*)"/g, '“$1”')
-    .replace(/\.{3}/g, '…');
-};
-
-/**
- * Mangle Links
- */
-
-InlineLexer.prototype.mangle = function(text) {
-  var out = ''
-    , l = text.length
-    , i = 0
-    , ch;
-
-  for (; i < l; i++) {
-    ch = text.charCodeAt(i);
-    if (Math.random() > 0.5) {
-      ch = 'x' + ch.toString(16);
-    }
-    out += '&#' + ch + ';';
-  }
-
-  return out;
-};
-
-/**
- * Parsing & Compiling
- */
-
-function Parser(options) {
-  this.tokens = [];
-  this.token = null;
-  this.options = options || marked.defaults;
-}
-
-/**
- * Static Parse Method
- */
-
-Parser.parse = function(src, options) {
-  var parser = new Parser(options);
-  return parser.parse(src);
-};
-
-/**
- * Parse Loop
- */
-
-Parser.prototype.parse = function(src) {
-  this.inline = new InlineLexer(src.links, this.options);
-  this.tokens = src.reverse();
-
-  var out = '';
-  while (this.next()) {
-    out += this.tok();
-  }
-
-  return out;
-};
-
-/**
- * Next Token
- */
-
-Parser.prototype.next = function() {
-  return this.token = this.tokens.pop();
-};
-
-/**
- * Preview Next Token
- */
-
-Parser.prototype.peek = function() {
-  return this.tokens[this.tokens.length-1] || 0;
-};
-
-/**
- * Parse Text Tokens
- */
-
-Parser.prototype.parseText = function() {
-  var body = this.token.text;
-
-  while (this.peek().type === 'text') {
-    body += '\n' + this.next().text;
-  }
-
-  return this.inline.output(body);
-};
-
-/**
- * Parse Current Token
- */
-
-Parser.prototype.tok = function() {
-  switch (this.token.type) {
-    case 'space': {
-      return '';
-    }
-    case 'hr': {
-      return '<hr>\n';
-    }
-    case 'heading': {
-      return '<h'
-        + this.token.depth
-        + '>'
-        + this.inline.output(this.token.text)
-        + '</h'
-        + this.token.depth
-        + '>\n';
-    }
-    case 'code': {
-      if (this.options.highlight) {
-        var code = this.options.highlight(this.token.text, this.token.lang);
-        if (code != null && code !== this.token.text) {
-          this.token.escaped = true;
-          this.token.text = code;
-        }
-      }
-
-      if (!this.token.escaped) {
-        this.token.text = escape(this.token.text, true);
-      }
-
-      return '<pre><code'
-        + (this.token.lang
-        ? ' class="'
-        + this.options.langPrefix
-        + this.token.lang
-        + '"'
-        : '')
-        + '>'
-        + this.token.text
-        + '</code></pre>\n';
-    }
-    case 'table': {
-      var body = ''
-        , heading
-        , i
-        , row
-        , cell
-        , j;
-
-      // header
-      body += '<thead>\n<tr>\n';
-      for (i = 0; i < this.token.header.length; i++) {
-        heading = this.inline.output(this.token.header[i]);
-        body += this.token.align[i]
-          ? '<th align="' + this.token.align[i] + '">' + heading + '</th>\n'
-          : '<th>' + heading + '</th>\n';
-      }
-      body += '</tr>\n</thead>\n';
-
-      // body
-      body += '<tbody>\n'
-      for (i = 0; i < this.token.cells.length; i++) {
-        row = this.token.cells[i];
-        body += '<tr>\n';
-        for (j = 0; j < row.length; j++) {
-          cell = this.inline.output(row[j]);
-          body += this.token.align[j]
-            ? '<td align="' + this.token.align[j] + '">' + cell + '</td>\n'
-            : '<td>' + cell + '</td>\n';
-        }
-        body += '</tr>\n';
-      }
-      body += '</tbody>\n';
-
-      return '<table>\n'
-        + body
-        + '</table>\n';
-    }
-    case 'blockquote_start': {
-      var body = '';
-
-      while (this.next().type !== 'blockquote_end') {
-        body += this.tok();
-      }
-
-      return '<blockquote>\n'
-        + body
-        + '</blockquote>\n';
-    }
-    case 'list_start': {
-      var type = this.token.ordered ? 'ol' : 'ul'
-        , body = '';
-
-      while (this.next().type !== 'list_end') {
-        body += this.tok();
-      }
-
-      return '<'
-        + type
-        + '>\n'
-        + body
-        + '</'
-        + type
-        + '>\n';
-    }
-    case 'list_item_start': {
-      var body = '';
-
-      while (this.next().type !== 'list_item_end') {
-        body += this.token.type === 'text'
-          ? this.parseText()
-          : this.tok();
-      }
-
-      return '<li>'
-        + body
-        + '</li>\n';
-    }
-    case 'loose_item_start': {
-      var body = '';
-
-      while (this.next().type !== 'list_item_end') {
-        body += this.tok();
-      }
-
-      return '<li>'
-        + body
-        + '</li>\n';
-    }
-    case 'html': {
-      return !this.token.pre && !this.options.pedantic
-        ? this.inline.output(this.token.text)
-        : this.token.text;
-    }
-    case 'paragraph': {
-      return '<p>'
-        + this.inline.output(this.token.text)
-        + '</p>\n';
-    }
-    case 'text': {
-      return '<p>'
-        + this.parseText()
-        + '</p>\n';
-    }
-  }
-};
-
-/**
- * Helpers
- */
-
-function escape(html, encode) {
-  return html
-    .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;')
-    .replace(/</g, '&lt;')
-    .replace(/>/g, '&gt;')
-    .replace(/"/g, '&quot;')
-    .replace(/'/g, '&#39;');
-}
-
-function replace(regex, opt) {
-  regex = regex.source;
-  opt = opt || '';
-  return function self(name, val) {
-    if (!name) return new RegExp(regex, opt);
-    val = val.source || val;
-    val = val.replace(/(^|[^\[])\^/g, '$1');
-    regex = regex.replace(name, val);
-    return self;
-  };
-}
-
-function noop() {}
-noop.exec = noop;
-
-function merge(obj) {
-  var i = 1
-    , target
-    , key;
-
-  for (; i < arguments.length; i++) {
-    target = arguments[i];
-    for (key in target) {
-      if (Object.prototype.hasOwnProperty.call(target, key)) {
-        obj[key] = target[key];
-      }
-    }
-  }
-
-  return obj;
-}
-
-/**
- * Marked
- */
-
-function marked(src, opt, callback) {
-  if (callback || typeof opt === 'function') {
-    if (!callback) {
-      callback = opt;
-      opt = null;
-    }
-
-    if (opt) opt = merge({}, marked.defaults, opt);
-
-    var tokens = Lexer.lex(tokens, opt)
-      , highlight = opt.highlight
-      , pending = 0
-      , l = tokens.length
-      , i = 0;
-
-    if (!highlight || highlight.length < 3) {
-      return callback(null, Parser.parse(tokens, opt));
-    }
-
-    var done = function() {
-      delete opt.highlight;
-      var out = Parser.parse(tokens, opt);
-      opt.highlight = highlight;
-      return callback(null, out);
-    };
-
-    for (; i < l; i++) {
-      (function(token) {
-        if (token.type !== 'code') return;
-        pending++;
-        return highlight(token.text, token.lang, function(err, code) {
-          if (code == null || code === token.text) {
-            return --pending || done();
-          }
-          token.text = code;
-          token.escaped = true;
-          --pending || done();
-        });
-      })(tokens[i]);
-    }
-
-    return;
-  }
-  try {
-    if (opt) opt = merge({}, marked.defaults, opt);
-    return Parser.parse(Lexer.lex(src, opt), opt);
-  } catch (e) {
-    e.message += '\nPlease report this to https://github.com/chjj/marked.';
-    if ((opt || marked.defaults).silent) {
-      return '<p>An error occured:</p><pre>'
-        + escape(e.message + '', true)
-        + '</pre>';
-    }
-    throw e;
-  }
-}
-
-/**
- * Options
- */
-
-marked.options =
-marked.setOptions = function(opt) {
-  merge(marked.defaults, opt);
-  return marked;
-};
-
-marked.defaults = {
-  gfm: true,
-  tables: true,
-  breaks: false,
-  pedantic: false,
-  sanitize: false,
-  smartLists: false,
-  silent: false,
-  highlight: null,
-  langPrefix: 'lang-'
-};
-
-/**
- * Expose
- */
-
-marked.Parser = Parser;
-marked.parser = Parser.parse;
-
-marked.Lexer = Lexer;
-marked.lexer = Lexer.lex;
-
-marked.InlineLexer = InlineLexer;
-marked.inlineLexer = InlineLexer.output;
-
-marked.parse = marked;
-
-if (typeof exports === 'object') {
-  module.exports = marked;
-} else if (typeof define === 'function' && define.amd) {
-  define(function() { return marked; });
-} else {
-  this.marked = marked;
-}
-
-}).call(function() {
-  return this || (typeof window !== 'undefined' ? window : global);
-}());
-/* jshint ignore:start */
-(function () {
-'use strict';
-window.iD = function () {
-    window.locale.en = iD.data.en;
-    window.locale.current('en');
-
-    var context = {},
-        storage;
-
-    // https://github.com/openstreetmap/iD/issues/772
-    // http://mathiasbynens.be/notes/localstorage-pattern#comment-9
-    try { storage = localStorage; } catch (e) {}
-    storage = storage || (function() {
-        var s = {};
-        return {
-            getItem: function(k) { return s[k]; },
-            setItem: function(k, v) { s[k] = v; },
-            removeItem: function(k) { delete s[k]; }
-        };
-    })();
-
-    context.storage = function(k, v) {
-        try {
-            if (arguments.length === 1) return storage.getItem(k);
-            else if (v === null) storage.removeItem(k);
-            else storage.setItem(k, v);
-        } catch(e) {
-            // localstorage quota exceeded
-            /* jshint devel:true */
-            if (typeof console !== 'undefined') console.error('localStorage quota exceeded');
-            /* jshint devel:false */
-        }
-    };
-
-    var history = iD.History(context),
-        dispatch = d3.dispatch('enter', 'exit'),
-        mode,
-        container,
-        ui = iD.ui(context),
-        connection = iD.Connection(),
-        locale = iD.detect().locale,
-        localePath;
-
-    if (locale && iD.data.locales.indexOf(locale) === -1) {
-        locale = locale.split('-')[0];
-    }
-
-    connection.on('load.context', function loadContext(err, result) {
-        history.merge(result.data, result.extent);
-    });
-
-    context.preauth = function(options) {
-        connection.switch(options);
-        return context;
-    };
-
-    context.locale = function(_, path) {
-        locale = _;
-        localePath = path;
-        return context;
-    };
-
-    context.loadLocale = function(cb) {
-        if (locale && locale !== 'en' && iD.data.locales.indexOf(locale) !== -1) {
-            localePath = localePath || context.assetPath() + 'locales/' + locale + '.json';
-            d3.json(localePath, function(err, result) {
-                window.locale[locale] = result;
-                window.locale.current(locale);
-                cb();
-            });
-        } else {
-            cb();
-        }
-    };
-
-    /* Straight accessors. Avoid using these if you can. */
-    context.ui = function() { return ui; };
-    context.connection = function() { return connection; };
-    context.history = function() { return history; };
-
-    /* History */
-    context.graph = history.graph;
-    context.changes = history.changes;
-    context.intersects = history.intersects;
-
-    var inIntro = false;
-
-    context.inIntro = function(_) {
-        if (!arguments.length) return inIntro;
-        inIntro = _;
-        return context;
-    };
-
-    context.save = function() {
-        if (inIntro) return;
-        history.save();
-        if (history.hasChanges()) return t('save.unsaved_changes');
-    };
-
-    context.flush = function() {
-        connection.flush();
-        history.reset();
-        return context;
-    };
-
-    // Debounce save, since it's a synchronous localStorage write,
-    // and history changes can happen frequently (e.g. when dragging).
-    var debouncedSave = _.debounce(context.save, 350);
-    function withDebouncedSave(fn) {
-        return function() {
-            var result = fn.apply(history, arguments);
-            debouncedSave();
-            return result;
-        };
-    }
-
-    context.perform = withDebouncedSave(history.perform);
-    context.replace = withDebouncedSave(history.replace);
-    context.pop = withDebouncedSave(history.pop);
-    context.undo = withDebouncedSave(history.undo);
-    context.redo = withDebouncedSave(history.redo);
-
-    /* Graph */
-    context.hasEntity = function(id) {
-        return history.graph().hasEntity(id);
-    };
-
-    context.entity = function(id) {
-        return history.graph().entity(id);
-    };
-
-    context.childNodes = function(way) {
-        return history.graph().childNodes(way);
-    };
-
-    context.geometry = function(id) {
-        return context.entity(id).geometry(history.graph());
-    };
-
-    /* Modes */
-    context.enter = function(newMode) {
-        if (mode) {
-            mode.exit();
-            dispatch.exit(mode);
-        }
-
-        mode = newMode;
-        mode.enter();
-        dispatch.enter(mode);
-    };
-
-    context.mode = function() {
-        return mode;
-    };
-
-    context.selectedIDs = function() {
-        if (mode && mode.selectedIDs) {
-            return mode.selectedIDs();
-        } else {
-            return [];
-        }
-    };
-
-    context.loadEntity = function(id, zoomTo) {
-        if (zoomTo !== false) {
-            connection.loadEntity(id, function(error, entity) {
-                if (entity) {
-                    map.zoomTo(entity);
-                }
-            });
-        }
-
-        map.on('drawn.loadEntity', function() {
-            if (!context.hasEntity(id)) return;
-            map.on('drawn.loadEntity', null);
-            context.on('enter.loadEntity', null);
-            context.enter(iD.modes.Select(context, [id]));
-        });
-
-        context.on('enter.loadEntity', function() {
-            if (mode.id !== 'browse') {
-                map.on('drawn.loadEntity', null);
-                context.on('enter.loadEntity', null);
-            }
-        });
-    };
-
-    context.editable = function() {
-        return map.editable() && mode && mode.id !== 'save';
-    };
-
-    /* Behaviors */
-    context.install = function(behavior) {
-        context.surface().call(behavior);
-    };
-
-    context.uninstall = function(behavior) {
-        context.surface().call(behavior.off);
-    };
-
-    /* Projection */
-    context.projection = iD.geo.RawMercator();
-
-    /* Background */
-    var background = iD.Background(context);
-    context.background = function() { return background; };
-
-    /* Map */
-    var map = iD.Map(context);
-    context.map = function() { return map; };
-    context.layers = function() { return map.layers; };
-    context.surface = function() { return map.surface; };
-    context.mouse = map.mouse;
-    context.extent = map.extent;
-    context.pan = map.pan;
-    context.zoomIn = map.zoomIn;
-    context.zoomOut = map.zoomOut;
-
-    context.surfaceRect = function() {
-        // Work around a bug in Firefox.
-        //   http://stackoverflow.com/questions/18153989/
-        //   https://bugzilla.mozilla.org/show_bug.cgi?id=530985
-        return context.surface().node().parentNode.getBoundingClientRect();
-    };
-
-    /* Presets */
-    var presets = iD.presets()
-        .load(iD.data.presets);
-
-    context.presets = function() {
-        return presets;
-    };
-
-    context.container = function(_) {
-        if (!arguments.length) return container;
-        container = _;
-        container.classed('id-container', true);
-        return context;
-    };
-
-    var embed = false;
-    context.embed = function(_) {
-        if (!arguments.length) return embed;
-        embed = _;
-        return context;
-    };
-
-    var assetPath = '';
-    context.assetPath = function(_) {
-        if (!arguments.length) return assetPath;
-        assetPath = _;
-        return context;
-    };
-
-    var assetMap = {};
-    context.assetMap = function(_) {
-        if (!arguments.length) return assetMap;
-        assetMap = _;
-        return context;
-    };
-
-    context.imagePath = function(_) {
-        var asset = 'img/' + _;
-        return assetMap[asset] || assetPath + asset;
-    };
-
-    return d3.rebind(context, dispatch, 'on');
-};
-
-iD.version = '1.5.2';
-
-(function() {
-    var detected = {};
-
-    var ua = navigator.userAgent,
-        msie = new RegExp('MSIE ([0-9]{1,}[\\.0-9]{0,})');
-
-    if (msie.exec(ua) !== null) {
-        var rv = parseFloat(RegExp.$1);
-        detected.support = !(rv && rv < 9);
-    } else {
-        detected.support = true;
-    }
-
-    // Added due to incomplete svg style support. See #715
-    detected.opera = ua.indexOf('Opera') >= 0;
-
-    detected.locale = navigator.language || navigator.userLanguage;
-
-    detected.filedrop = (window.FileReader && 'ondrop' in window);
-
-    function nav(x) {
-        return navigator.userAgent.indexOf(x) !== -1;
-    }
-
-    if (nav('Win')) detected.os = 'win';
-    else if (nav('Mac')) detected.os = 'mac';
-    else if (nav('X11')) detected.os = 'linux';
-    else if (nav('Linux')) detected.os = 'linux';
-    else detected.os = 'win';
-
-    iD.detect = function() { return detected; };
-})();
-iD.countryCode  = function() {
-    var countryCode = {},
-        endpoint = 'https://nominatim.openstreetmap.org/reverse?';
-
-    if (!iD.countryCode.cache) {
-        iD.countryCode.cache = rbush();
-    }
-
-    var cache = iD.countryCode.cache;
-
-    countryCode.search = function(location, callback) {
-        var countryCodes = cache.search([location[0], location[1], location[0], location[1]]);
-
-        if (countryCodes.length > 0)
-            return callback(null, countryCodes[0][4]);
-
-        d3.json(endpoint +
-            iD.util.qsString({
-                format: 'json',
-                addressdetails: 1,
-                lat: location[1],
-                lon: location[0]
-            }), function(err, result) {
-                if (err)
-                    return callback(err);
-                else if (result && result.error)
-                    return callback(result.error);
-
-                var extent = iD.geo.Extent(location).padByMeters(1000);
-
-                cache.insert([extent[0][0], extent[0][1], extent[1][0], extent[1][1], result.address.country_code]);
-
-                callback(null, result.address.country_code);
-            });
-    };
-
-    return countryCode;
-};
-iD.taginfo = function() {
-    var taginfo = {},
-        endpoint = 'https://taginfo.openstreetmap.org/api/4/',
-        tag_sorts = {
-            point: 'count_nodes',
-            vertex: 'count_nodes',
-            area: 'count_ways',
-            line: 'count_ways'
-        },
-        tag_filters = {
-            point: 'nodes',
-            vertex: 'nodes',
-            area: 'ways',
-            line: 'ways'
-        };
-
-    if (!iD.taginfo.cache) {
-        iD.taginfo.cache = {};
-    }
-
-    var cache = iD.taginfo.cache;
-
-    function sets(parameters, n, o) {
-        if (parameters.geometry && o[parameters.geometry]) {
-            parameters[n] = o[parameters.geometry];
-        }
-        return parameters;
-    }
-
-    function setFilter(parameters) {
-        return sets(parameters, 'filter', tag_filters);
-    }
-
-    function setSort(parameters) {
-        return sets(parameters, 'sortname', tag_sorts);
-    }
-
-    function clean(parameters) {
-        return _.omit(parameters, 'geometry', 'debounce');
-    }
-
-    function shorten(parameters) {
-        if (!parameters.query) {
-            delete parameters.query;
-        } else {
-            parameters.query = parameters.query.slice(0, 3);
-        }
-        return parameters;
-    }
-
-    function popularKeys(parameters) {
-        var pop_field = 'count_all';
-        if (parameters.filter) pop_field = 'count_' + parameters.filter;
-        return function(d) { return parseFloat(d[pop_field]) > 10000; };
-    }
-
-    function popularValues() {
-        return function(d) { return parseFloat(d.fraction) > 0.01 || d.in_wiki; };
-    }
-
-    function valKey(d) { return { value: d.key }; }
-
-    function valKeyDescription(d) {
-        return {
-            value: d.value,
-            title: d.description
-        };
-    }
-
-    var debounced = _.debounce(d3.json, 100, true);
-
-    function request(url, debounce, callback) {
-        if (cache[url]) {
-            callback(null, cache[url]);
-        } else if (debounce) {
-            debounced(url, done);
-        } else {
-            d3.json(url, done);
-        }
-
-        function done(err, data) {
-            if (!err) cache[url] = data;
-            callback(err, data);
-        }
-    }
-
-    taginfo.keys = function(parameters, callback) {
-        var debounce = parameters.debounce;
-        parameters = clean(shorten(setSort(setFilter(parameters))));
-        request(endpoint + 'keys/all?' +
-            iD.util.qsString(_.extend({
-                rp: 10,
-                sortname: 'count_all',
-                sortorder: 'desc',
-                page: 1
-            }, parameters)), debounce, function(err, d) {
-                if (err) return callback(err);
-                callback(null, d.data.filter(popularKeys(parameters)).map(valKey));
-            });
-    };
-
-    taginfo.values = function(parameters, callback) {
-        var debounce = parameters.debounce;
-        parameters = clean(shorten(setSort(setFilter(parameters))));
-        request(endpoint + 'key/values?' +
-            iD.util.qsString(_.extend({
-                rp: 25,
-                sortname: 'count_all',
-                sortorder: 'desc',
-                page: 1
-            }, parameters)), debounce, function(err, d) {
-                if (err) return callback(err);
-                callback(null, d.data.filter(popularValues()).map(valKeyDescription), parameters);
-            });
-    };
-
-    taginfo.docs = function(parameters, callback) {
-        var debounce = parameters.debounce;
-        parameters = clean(setSort(parameters));
-
-        var path = 'key/wiki_pages?';
-        if (parameters.value) path = 'tag/wiki_pages?';
-        else if (parameters.rtype) path = 'relation/wiki_pages?';
-
-        request(endpoint + path +
-            iD.util.qsString(parameters), debounce, callback);
-    };
-
-    taginfo.endpoint = function(_) {
-        if (!arguments.length) return endpoint;
-        endpoint = _;
-        return taginfo;
-    };
-
-    return taginfo;
-};
-iD.wikipedia  = function() {
-    var wiki = {},
-        endpoint = 'https://en.wikipedia.org/w/api.php?';
-
-    wiki.search = function(lang, query, callback) {
-        lang = lang || 'en';
-        d3.jsonp(endpoint.replace('en', lang) +
-            iD.util.qsString({
-                action: 'query',
-                list: 'search',
-                srlimit: '10',
-                srinfo: 'suggestion',
-                format: 'json',
-                callback: '{callback}',
-                srsearch: query
-            }), function(data) {
-                if (!data.query) return;
-                callback(query, data.query.search.map(function(d) {
-                    return d.title;
-                }));
-            });
-    };
-
-    wiki.suggestions = function(lang, query, callback) {
-        lang = lang || 'en';
-        d3.jsonp(endpoint.replace('en', lang) +
-            iD.util.qsString({
-                action: 'opensearch',
-                namespace: 0,
-                suggest: '',
-                format: 'json',
-                callback: '{callback}',
-                search: query
-            }), function(d) {
-                callback(d[0], d[1]);
-            });
-    };
-
-    wiki.translations = function(lang, title, callback) {
-        d3.jsonp(endpoint.replace('en', lang) +
-            iD.util.qsString({
-                action: 'query',
-                prop: 'langlinks',
-                format: 'json',
-                callback: '{callback}',
-                lllimit: 500,
-                titles: title
-            }), function(d) {
-                var list = d.query.pages[Object.keys(d.query.pages)[0]],
-                    translations = {};
-                if (list && list.langlinks) {
-                    list.langlinks.forEach(function(d) {
-                        translations[d.lang] = d['*'];
-                    });
-                    callback(translations);
-                }
-            });
-    };
-
-    return wiki;
-};
-iD.util = {};
-
-iD.util.tagText = function(entity) {
-    return d3.entries(entity.tags).map(function(e) {
-        return e.key + '=' + e.value;
-    }).join(', ');
-};
-
-iD.util.entitySelector = function(ids) {
-    return ids.length ? '.' + ids.join(',.') : 'nothing';
-};
-
-iD.util.entityOrMemberSelector = function(ids, graph) {
-    var s = iD.util.entitySelector(ids);
-
-    ids.forEach(function(id) {
-        var entity = graph.hasEntity(id);
-        if (entity && entity.type === 'relation') {
-            entity.members.forEach(function(member) {
-                s += ',.' + member.id;
-            });
-        }
-    });
-
-    return s;
-};
-
-iD.util.displayName = function(entity) {
-    var localeName = 'name:' + iD.detect().locale.toLowerCase().split('-')[0];
-    return entity.tags[localeName] || entity.tags.name || entity.tags.ref;
-};
-
-iD.util.stringQs = function(str) {
-    return str.split('&').reduce(function(obj, pair){
-        var parts = pair.split('=');
-        if (parts.length === 2) {
-            obj[parts[0]] = (null === parts[1]) ? '' : decodeURIComponent(parts[1]);
-        }
-        return obj;
-    }, {});
-};
-
-iD.util.qsString = function(obj, noencode) {
-    function softEncode(s) { return s.replace('&', '%26'); }
-    return Object.keys(obj).sort().map(function(key) {
-        return encodeURIComponent(key) + '=' + (
-            noencode ? softEncode(obj[key]) : encodeURIComponent(obj[key]));
-    }).join('&');
-};
-
-iD.util.prefixDOMProperty = function(property) {
-    var prefixes = ['webkit', 'ms', 'moz', 'o'],
-        i = -1,
-        n = prefixes.length,
-        s = document.body;
-
-    if (property in s)
-        return property;
-
-    property = property.substr(0, 1).toUpperCase() + property.substr(1);
-
-    while (++i < n)
-        if (prefixes[i] + property in s)
-            return prefixes[i] + property;
-
-    return false;
-};
-
-iD.util.prefixCSSProperty = function(property) {
-    var prefixes = ['webkit', 'ms', 'Moz', 'O'],
-        i = -1,
-        n = prefixes.length,
-        s = document.body.style;
-
-    if (property.toLowerCase() in s)
-        return property.toLowerCase();
-
-    while (++i < n)
-        if (prefixes[i] + property in s)
-            return '-' + prefixes[i].toLowerCase() + property.replace(/([A-Z])/g, '-$1').toLowerCase();
-
-    return false;
-};
-
-
-iD.util.setTransform = function(el, x, y, scale) {
-    var prop = iD.util.transformProperty = iD.util.transformProperty || iD.util.prefixCSSProperty('Transform'),
-        translate = iD.detect().opera ?
-            'translate('   + x + 'px,' + y + 'px)' :
-            'translate3d(' + x + 'px,' + y + 'px,0)';
-    return el.style(prop, translate + (scale ? ' scale(' + scale + ')' : ''));
-};
-
-iD.util.getStyle = function(selector) {
-    for (var i = 0; i < document.styleSheets.length; i++) {
-        var rules = document.styleSheets[i].rules || document.styleSheets[i].cssRules || [];
-        for (var k = 0; k < rules.length; k++) {
-            var selectorText = rules[k].selectorText && rules[k].selectorText.split(', ');
-            if (_.contains(selectorText, selector)) {
-                return rules[k];
-            }
-        }
-    }
-};
-
-iD.util.editDistance = function(a, b) {
-    if (a.length === 0) return b.length;
-    if (b.length === 0) return a.length;
-    var matrix = [];
-    for (var i = 0; i <= b.length; i++) { matrix[i] = [i]; }
-    for (var j = 0; j <= a.length; j++) { matrix[0][j] = j; }
-    for (i = 1; i <= b.length; i++) {
-        for (j = 1; j <= a.length; j++) {
-            if (b.charAt(i-1) === a.charAt(j-1)) {
-                matrix[i][j] = matrix[i-1][j-1];
-            } else {
-                matrix[i][j] = Math.min(matrix[i-1][j-1] + 1, // substitution
-                    Math.min(matrix[i][j-1] + 1, // insertion
-                    matrix[i-1][j] + 1)); // deletion
-            }
-        }
-    }
-    return matrix[b.length][a.length];
-};
-
-// a d3.mouse-alike which
-// 1. Only works on HTML elements, not SVG
-// 2. Does not cause style recalculation
-iD.util.fastMouse = function(container) {
-    var rect = _.clone(container.getBoundingClientRect()),
-        rectLeft = rect.left,
-        rectTop = rect.top,
-        clientLeft = +container.clientLeft,
-        clientTop = +container.clientTop;
-    return function(e) {
-        return [
-            e.clientX - rectLeft - clientLeft,
-            e.clientY - rectTop - clientTop];
-    };
-};
-
-/* jshint -W103 */
-iD.util.getPrototypeOf = Object.getPrototypeOf || function(obj) { return obj.__proto__; };
-
-iD.util.asyncMap = function(inputs, func, callback) {
-    var remaining = inputs.length,
-        results = [],
-        errors = [];
-
-    inputs.forEach(function(d, i) {
-        func(d, function done(err, data) {
-            errors[i] = err;
-            results[i] = data;
-            remaining --;
-            if (!remaining) callback(errors, results);
-        });
-    });
-};
-
-// wraps an index to an interval [0..length-1]
-iD.util.wrap = function(index, length) {
-    if (index < 0)
-        index += Math.ceil(-index/length)*length;
-    return index % length;
-};
-// A per-domain session mutex backed by a cookie and dead man's
-// switch. If the session crashes, the mutex will auto-release
-// after 5 seconds.
-
-iD.util.SessionMutex = function(name) {
-    var mutex = {},
-        intervalID;
-
-    function renew() {
-        var expires = new Date();
-        expires.setSeconds(expires.getSeconds() + 5);
-        document.cookie = name + '=1; expires=' + expires.toUTCString();
-    }
-
-    mutex.lock = function() {
-        if (intervalID) return true;
-        var cookie = document.cookie.replace(new RegExp('(?:(?:^|.*;)\\s*' + name + '\\s*\\=\\s*([^;]*).*$)|^.*$'), '$1');
-        if (cookie) return false;
-        renew();
-        intervalID = window.setInterval(renew, 4000);
-        return true;
-    };
-
-    mutex.unlock = function() {
-        if (!intervalID) return;
-        document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT';
-        clearInterval(intervalID);
-        intervalID = null;
-    };
-
-    mutex.locked = function() {
-        return !!intervalID;
-    };
-
-    return mutex;
-};
-iD.util.SuggestNames = function(preset, suggestions) {
-    preset = preset.id.split('/', 2);
-    var k = preset[0],
-        v = preset[1];
-
-    return function(value, callback) {
-        var result = [];
-        if (value && value.length > 2) {
-            if (suggestions[k] && suggestions[k][v]) {
-                for (var sugg in suggestions[k][v]) {
-                    var dist = iD.util.editDistance(value, sugg.substring(0, value.length));
-                    if (dist < 3) {
-                        result.push({
-                            title: sugg,
-                            value: sugg,
-                            dist: dist
-                        });
-                    }
-                }
-            }
-            result.sort(function(a, b) {
-                return a.dist - b.dist;
-            });
-        }
-        result = result.slice(0,3);
-        callback(result);
-    };
-};
-iD.geo = {};
-
-iD.geo.roundCoords = function(c) {
-    return [Math.floor(c[0]), Math.floor(c[1])];
-};
-
-iD.geo.interp = function(p1, p2, t) {
-    return [p1[0] + (p2[0] - p1[0]) * t,
-            p1[1] + (p2[1] - p1[1]) * t];
-};
-
-// 2D cross product of OA and OB vectors, i.e. z-component of their 3D cross product.
-// Returns a positive value, if OAB makes a counter-clockwise turn,
-// negative for clockwise turn, and zero if the points are collinear.
-iD.geo.cross = function(o, a, b) {
-    return (a[0] - o[0]) * (b[1] - o[1]) - (a[1] - o[1]) * (b[0] - o[0]);
-};
-
-// http://jsperf.com/id-dist-optimization
-iD.geo.euclideanDistance = function(a, b) {
-    var x = a[0] - b[0], y = a[1] - b[1];
-    return Math.sqrt((x * x) + (y * y));
-};
-
-// using WGS84 polar radius (6356752.314245179 m)
-// const = 2 * PI * r / 360
-iD.geo.latToMeters = function(dLat) {
-    return dLat * 110946.257617;
-};
-
-// using WGS84 equatorial radius (6378137.0 m)
-// const = 2 * PI * r / 360
-iD.geo.lonToMeters = function(dLon, atLat) {
-    return Math.abs(atLat) >= 90 ? 0 :
-        dLon * 111319.490793 * Math.abs(Math.cos(atLat * (Math.PI/180)));
-};
-
-// using WGS84 polar radius (6356752.314245179 m)
-// const = 2 * PI * r / 360
-iD.geo.metersToLat = function(m) {
-    return m / 110946.257617;
-};
-
-// using WGS84 equatorial radius (6378137.0 m)
-// const = 2 * PI * r / 360
-iD.geo.metersToLon = function(m, atLat) {
-    return Math.abs(atLat) >= 90 ? 0 :
-        m / 111319.490793 / Math.abs(Math.cos(atLat * (Math.PI/180)));
-};
-
-// Equirectangular approximation of spherical distances on Earth
-iD.geo.sphericalDistance = function(a, b) {
-    var x = iD.geo.lonToMeters(a[0] - b[0], (a[1] + b[1]) / 2),
-        y = iD.geo.latToMeters(a[1] - b[1]);
-    return Math.sqrt((x * x) + (y * y));
-};
-
-iD.geo.edgeEqual = function(a, b) {
-    return (a[0] === b[0] && a[1] === b[1]) ||
-        (a[0] === b[1] && a[1] === b[0]);
-};
-
-// Return the counterclockwise angle in the range (-pi, pi)
-// between the positive X axis and the line intersecting a and b.
-iD.geo.angle = function(a, b, projection) {
-    a = projection(a.loc);
-    b = projection(b.loc);
-    return Math.atan2(b[1] - a[1], b[0] - a[0]);
-};
-
-// Choose the edge with the minimal distance from `point` to its orthogonal
-// projection onto that edge, if such a projection exists, or the distance to
-// the closest vertex on that edge. Returns an object with the `index` of the
-// chosen edge, the chosen `loc` on that edge, and the `distance` to to it.
-iD.geo.chooseEdge = function(nodes, point, projection) {
-    var dist = iD.geo.euclideanDistance,
-        points = nodes.map(function(n) { return projection(n.loc); }),
-        min = Infinity,
-        idx, loc;
-
-    function dot(p, q) {
-        return p[0] * q[0] + p[1] * q[1];
-    }
-
-    for (var i = 0; i < points.length - 1; i++) {
-        var o = points[i],
-            s = [points[i + 1][0] - o[0],
-                 points[i + 1][1] - o[1]],
-            v = [point[0] - o[0],
-                 point[1] - o[1]],
-            proj = dot(v, s) / dot(s, s),
-            p;
-
-        if (proj < 0) {
-            p = o;
-        } else if (proj > 1) {
-            p = points[i + 1];
-        } else {
-            p = [o[0] + proj * s[0], o[1] + proj * s[1]];
-        }
-
-        var d = dist(p, point);
-        if (d < min) {
-            min = d;
-            idx = i + 1;
-            loc = projection.invert(p);
-        }
-    }
-
-    return {
-        index: idx,
-        distance: min,
-        loc: loc
-    };
-};
-
-// Return the intersection point of 2 line segments.
-// From https://github.com/pgkelley4/line-segments-intersect
-// This uses the vector cross product approach described below:
-//  http://stackoverflow.com/a/565282/786339
-iD.geo.lineIntersection = function(a, b) {
-    function subtractPoints(point1, point2) {
-        return [point1[0] - point2[0], point1[1] - point2[1]];
-    }
-    function crossProduct(point1, point2) {
-        return point1[0] * point2[1] - point1[1] * point2[0];
-    }
-
-    var p = [a[0][0], a[0][1]],
-        p2 = [a[1][0], a[1][1]],
-        q = [b[0][0], b[0][1]],
-        q2 = [b[1][0], b[1][1]],
-        r = subtractPoints(p2, p),
-        s = subtractPoints(q2, q),
-        uNumerator = crossProduct(subtractPoints(q, p), r),
-        denominator = crossProduct(r, s);
-
-    if (uNumerator && denominator) {
-        var u = uNumerator / denominator,
-            t = crossProduct(subtractPoints(q, p), s) / denominator;
-
-        if ((t >= 0) && (t <= 1) && (u >= 0) && (u <= 1)) {
-            return iD.geo.interp(p, p2, t);
-        }
-    }
-
-    return null;
-};
-
-// Return whether point is contained in polygon.
-//
-// `point` should be a 2-item array of coordinates.
-// `polygon` should be an array of 2-item arrays of coordinates.
-//
-// From https://github.com/substack/point-in-polygon.
-// ray-casting algorithm based on
-// http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
-//
-iD.geo.pointInPolygon = function(point, polygon) {
-    var x = point[0],
-        y = point[1],
-        inside = false;
-
-    for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
-        var xi = polygon[i][0], yi = polygon[i][1];
-        var xj = polygon[j][0], yj = polygon[j][1];
-
-        var intersect = ((yi > y) !== (yj > y)) &&
-            (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
-        if (intersect) inside = !inside;
-    }
-
-    return inside;
-};
-
-iD.geo.polygonContainsPolygon = function(outer, inner) {
-    return _.every(inner, function(point) {
-        return iD.geo.pointInPolygon(point, outer);
-    });
-};
-
-iD.geo.polygonIntersectsPolygon = function(outer, inner) {
-    return _.some(inner, function(point) {
-        return iD.geo.pointInPolygon(point, outer);
-    });
-};
-
-iD.geo.pathLength = function(path) {
-    var length = 0,
-        dx, dy;
-    for (var i = 0; i < path.length - 1; i++) {
-        dx = path[i][0] - path[i + 1][0];
-        dy = path[i][1] - path[i + 1][1];
-        length += Math.sqrt(dx * dx + dy * dy);
-    }
-    return length;
-};
-iD.geo.Extent = function geoExtent(min, max) {
-    if (!(this instanceof iD.geo.Extent)) return new iD.geo.Extent(min, max);
-    if (min instanceof iD.geo.Extent) {
-        return min;
-    } else if (min && min.length === 2 && min[0].length === 2 && min[1].length === 2) {
-        this[0] = min[0];
-        this[1] = min[1];
-    } else {
-        this[0] = min        || [ Infinity,  Infinity];
-        this[1] = max || min || [-Infinity, -Infinity];
-    }
-};
-
-iD.geo.Extent.prototype = [[], []];
-
-_.extend(iD.geo.Extent.prototype, {
-    extend: function(obj) {
-        if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
-        return iD.geo.Extent([Math.min(obj[0][0], this[0][0]),
-                              Math.min(obj[0][1], this[0][1])],
-                             [Math.max(obj[1][0], this[1][0]),
-                              Math.max(obj[1][1], this[1][1])]);
-    },
-
-    area: function() {
-        return Math.abs((this[1][0] - this[0][0]) * (this[1][1] - this[0][1]));
-    },
-
-    center: function() {
-        return [(this[0][0] + this[1][0]) / 2,
-                (this[0][1] + this[1][1]) / 2];
-    },
-
-    polygon: function() {
-        return [
-            [this[0][0], this[0][1]],
-            [this[0][0], this[1][1]],
-            [this[1][0], this[1][1]],
-            [this[1][0], this[0][1]],
-            [this[0][0], this[0][1]]
-        ];
-    },
-
-    intersects: function(obj) {
-        if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
-        return obj[0][0] <= this[1][0] &&
-               obj[0][1] <= this[1][1] &&
-               obj[1][0] >= this[0][0] &&
-               obj[1][1] >= this[0][1];
-    },
-
-    intersection: function(obj) {
-        if (!this.intersects(obj)) return new iD.geo.Extent();
-        return new iD.geo.Extent([Math.max(obj[0][0], this[0][0]),
-                                  Math.max(obj[0][1], this[0][1])],
-                                 [Math.min(obj[1][0], this[1][0]),
-                                  Math.min(obj[1][1], this[1][1])]);
-    },
-
-    percentContainedIn: function(obj) {
-        if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
-        var a1 = this.intersection(obj).area(),
-            a2 = this.area();
-
-        if (a1 === Infinity || a2 === Infinity || a1 === 0 || a2 === 0) {
-            return 0;
-        } else {
-            return a1 / a2;
-        }
-    },
-
-    padByMeters: function(meters) {
-        var dLat = iD.geo.metersToLat(meters),
-            dLon = iD.geo.metersToLon(meters, this.center()[1]);
-        return iD.geo.Extent(
-                [this[0][0] - dLon, this[0][1] - dLat],
-                [this[1][0] + dLon, this[1][1] + dLat]);
-    },
-
-    toParam: function() {
-        return [this[0][0], this[0][1], this[1][0], this[1][1]].join(',');
-    }
-
-});
-iD.geo.Turn = function(turn) {
-    if (!(this instanceof iD.geo.Turn))
-        return new iD.geo.Turn(turn);
-    _.extend(this, turn);
-};
-
-iD.geo.Intersection = function(graph, vertexId) {
-    var vertex = graph.entity(vertexId),
-        highways = [];
-
-    // Pre-split ways that would need to be split in
-    // order to add a restriction. The real split will
-    // happen when the restriction is added.
-    graph.parentWays(vertex).forEach(function(way) {
-        if (!way.tags.highway || way.isArea() || way.isDegenerate())
-            return;
-
-        if (way.affix(vertexId)) {
-            highways.push(way);
-        } else {
-            var idx = _.indexOf(way.nodes, vertex.id, 1),
-                wayA = iD.Way({id: way.id + '-a', tags: way.tags, nodes: way.nodes.slice(0, idx + 1)}),
-                wayB = iD.Way({id: way.id + '-b', tags: way.tags, nodes: way.nodes.slice(idx)});
-
-            graph = graph.replace(wayA);
-            graph = graph.replace(wayB);
-
-            highways.push(wayA);
-            highways.push(wayB);
-        }
-    });
-
-    var intersection = {
-        highways: highways,
-        graph: graph
-    };
-
-    intersection.turns = function(fromNodeID) {
-        if (!fromNodeID)
-            return [];
-
-        var way = _.find(highways, function(way) { return way.contains(fromNodeID); });
-        if (way.first() === vertex.id && way.tags.oneway === 'yes')
-            return [];
-        if (way.last() === vertex.id && way.tags.oneway === '-1')
-            return [];
-
-        function withRestriction(turn) {
-            graph.parentRelations(graph.entity(turn.from.way)).forEach(function(relation) {
-                if (relation.tags.type !== 'restriction')
-                    return;
-
-                var f = relation.memberByRole('from'),
-                    t = relation.memberByRole('to'),
-                    v = relation.memberByRole('via');
-
-                if (f && f.id === turn.from.way &&
-                    v && v.id === turn.via.node &&
-                    t && t.id === turn.to.way) {
-                    turn.restriction = relation.id;
-                } else if (/^only_/.test(relation.tags.restriction) &&
-                    f && f.id === turn.from.way &&
-                    v && v.id === turn.via.node &&
-                    t && t.id !== turn.to.way) {
-                    turn.restriction = relation.id;
-                    turn.indirect_restriction = true;
-                }
-            });
-
-            return iD.geo.Turn(turn);
-        }
-
-        var from = {
-                node: way.nodes[way.first() === vertex.id ? 1 : way.nodes.length - 2],
-                way: way.id.split(/-(a|b)/)[0]
-            },
-            via = {node: vertex.id},
-            turns = [];
-
-        highways.forEach(function(parent) {
-            if (parent === way)
-                return;
-
-            var index = parent.nodes.indexOf(vertex.id);
-
-            // backward
-            if (parent.first() !== vertex.id && parent.tags.oneway !== 'yes') {
-                turns.push(withRestriction({
-                    from: from,
-                    via: via,
-                    to: {node: parent.nodes[index - 1], way: parent.id.split(/-(a|b)/)[0]}
-                }));
-            }
-
-            // forward
-            if (parent.last() !== vertex.id && parent.tags.oneway !== '-1') {
-                turns.push(withRestriction({
-                    from: from,
-                    via: via,
-                    to: {node: parent.nodes[index + 1], way: parent.id.split(/-(a|b)/)[0]}
-                }));
-            }
-        });
-
-        // U-turn
-        if (way.tags.oneway !== 'yes' && way.tags.oneway !== '-1') {
-            turns.push(withRestriction({
-                from: from,
-                via: via,
-                to: from,
-                u: true
-            }));
-        }
-
-        return turns;
-    };
-
-    return intersection;
-};
-
-iD.geo.inferRestriction = function(from, via, to, projection) {
-    var angle = iD.geo.angle(via, from, projection) -
-                iD.geo.angle(via, to, projection);
-
-    angle = angle * 180 / Math.PI;
-
-    while (angle < 0)
-        angle += 360;
-
-    if (angle < 23)
-        return 'no_u_turn';
-    if (angle < 158)
-        return 'no_right_turn';
-    if (angle < 202)
-        return 'no_straight_on';
-    if (angle < 336)
-        return 'no_left_turn';
-
-    return 'no_u_turn';
-};
-// For fixing up rendering of multipolygons with tags on the outer member.
-// https://github.com/openstreetmap/iD/issues/613
-iD.geo.isSimpleMultipolygonOuterMember = function(entity, graph) {
-    if (entity.type !== 'way')
-        return false;
-
-    var parents = graph.parentRelations(entity);
-    if (parents.length !== 1)
-        return false;
-
-    var parent = parents[0];
-    if (!parent.isMultipolygon() || Object.keys(parent.tags).length > 1)
-        return false;
-
-    var members = parent.members, member;
-    for (var i = 0; i < members.length; i++) {
-        member = members[i];
-        if (member.id === entity.id && member.role && member.role !== 'outer')
-            return false; // Not outer member
-        if (member.id !== entity.id && (!member.role || member.role === 'outer'))
-            return false; // Not a simple multipolygon
-    }
-
-    return parent;
-};
-
-iD.geo.simpleMultipolygonOuterMember = function(entity, graph) {
-    if (entity.type !== 'way')
-        return false;
-
-    var parents = graph.parentRelations(entity);
-    if (parents.length !== 1)
-        return false;
-
-    var parent = parents[0];
-    if (!parent.isMultipolygon() || Object.keys(parent.tags).length > 1)
-        return false;
-
-    var members = parent.members, member, outerMember;
-    for (var i = 0; i < members.length; i++) {
-        member = members[i];
-        if (!member.role || member.role === 'outer') {
-            if (outerMember)
-                return false; // Not a simple multipolygon
-            outerMember = member;
-        }
-    }
-
-    return outerMember && graph.hasEntity(outerMember.id);
-};
-
-// Join `array` into sequences of connecting ways.
-//
-// Segments which share identical start/end nodes will, as much as possible,
-// be connected with each other.
-//
-// The return value is a nested array. Each constituent array contains elements
-// of `array` which have been determined to connect. Each consitituent array
-// also has a `nodes` property whose value is an ordered array of member nodes,
-// with appropriate order reversal and start/end coordinate de-duplication.
-//
-// Members of `array` must have, at minimum, `type` and `id` properties.
-// Thus either an array of `iD.Way`s or a relation member array may be
-// used.
-//
-// If an member has a `tags` property, its tags will be reversed via
-// `iD.actions.Reverse` in the output.
-//
-// Incomplete members (those for which `graph.hasEntity(element.id)` returns
-// false) and non-way members are ignored.
-//
-iD.geo.joinWays = function(array, graph) {
-    var joined = [], member, current, nodes, first, last, i, how, what;
-
-    array = array.filter(function(member) {
-        return member.type === 'way' && graph.hasEntity(member.id);
-    });
-
-    function resolve(member) {
-        return graph.childNodes(graph.entity(member.id));
-    }
-
-    function reverse(member) {
-        return member.tags ? iD.actions.Reverse(member.id)(graph).entity(member.id) : member;
-    }
-
-    while (array.length) {
-        member = array.shift();
-        current = [member];
-        current.nodes = nodes = resolve(member).slice();
-        joined.push(current);
-
-        while (array.length && _.first(nodes) !== _.last(nodes)) {
-            first = _.first(nodes);
-            last  = _.last(nodes);
-
-            for (i = 0; i < array.length; i++) {
-                member = array[i];
-                what = resolve(member);
-
-                if (last === _.first(what)) {
-                    how  = nodes.push;
-                    what = what.slice(1);
-                    break;
-                } else if (last === _.last(what)) {
-                    how  = nodes.push;
-                    what = what.slice(0, -1).reverse();
-                    member = reverse(member);
-                    break;
-                } else if (first === _.last(what)) {
-                    how  = nodes.unshift;
-                    what = what.slice(0, -1);
-                    break;
-                } else if (first === _.first(what)) {
-                    how  = nodes.unshift;
-                    what = what.slice(1).reverse();
-                    member = reverse(member);
-                    break;
-                } else {
-                    what = how = null;
-                }
-            }
-
-            if (!what)
-                break; // No more joinable ways.
-
-            how.apply(current, [member]);
-            how.apply(nodes, what);
-
-            array.splice(i, 1);
-        }
-    }
-
-    return joined;
-};
-/*
-    Bypasses features of D3's default projection stream pipeline that are unnecessary:
-    * Antimeridian clipping
-    * Spherical rotation
-    * Resampling
-*/
-iD.geo.RawMercator = function () {
-    var project = d3.geo.mercator.raw,
-        k = 512 / Math.PI, // scale
-        x = 0, y = 0, // translate
-        clipExtent = [[0, 0], [0, 0]];
-
-    function projection(point) {
-        point = project(point[0] * Math.PI / 180, point[1] * Math.PI / 180);
-        return [point[0] * k + x, y - point[1] * k];
-    }
-
-    projection.invert = function(point) {
-        point = project.invert((point[0] - x) / k, (y - point[1]) / k);
-        return point && [point[0] * 180 / Math.PI, point[1] * 180 / Math.PI];
-    };
-
-    projection.scale = function(_) {
-        if (!arguments.length) return k;
-        k = +_;
-        return projection;
-    };
-
-    projection.translate = function(_) {
-        if (!arguments.length) return [x, y];
-        x = +_[0];
-        y = +_[1];
-        return projection;
-    };
-
-    projection.clipExtent = function(_) {
-        if (!arguments.length) return clipExtent;
-        clipExtent = _;
-        return projection;
-    };
-
-    projection.stream = d3.geo.transform({
-        point: function(x, y) {
-            x = projection([x, y]);
-            this.stream.point(x[0], x[1]);
-        }
-    }).stream;
-
-    return projection;
-};
-iD.actions = {};
-iD.actions.AddEntity = function(way) {
-    return function(graph) {
-        return graph.replace(way);
-    };
-};
-iD.actions.AddMember = function(relationId, member, memberIndex) {
-    return function(graph) {
-        var relation = graph.entity(relationId);
-
-        if (isNaN(memberIndex) && member.type === 'way') {
-            var members = relation.indexedMembers();
-            members.push(member);
-
-            var joined = iD.geo.joinWays(members, graph);
-            for (var i = 0; i < joined.length; i++) {
-                var segment = joined[i];
-                for (var j = 0; j < segment.length && segment.length >= 2; j++) {
-                    if (segment[j] !== member)
-                        continue;
-
-                    if (j === 0) {
-                        memberIndex = segment[j + 1].index;
-                    } else if (j === segment.length - 1) {
-                        memberIndex = segment[j - 1].index + 1;
-                    } else {
-                        memberIndex = Math.min(segment[j - 1].index + 1, segment[j + 1].index + 1);
-                    }
-                }
-            }
-        }
-
-        return graph.replace(relation.addMember(member, memberIndex));
-    };
-};
-iD.actions.AddMidpoint = function(midpoint, node) {
-    return function(graph) {
-        graph = graph.replace(node.move(midpoint.loc));
-
-        var parents = _.intersection(
-            graph.parentWays(graph.entity(midpoint.edge[0])),
-            graph.parentWays(graph.entity(midpoint.edge[1])));
-
-        parents.forEach(function(way) {
-            for (var i = 0; i < way.nodes.length - 1; i++) {
-                if (iD.geo.edgeEqual([way.nodes[i], way.nodes[i + 1]], midpoint.edge)) {
-                    graph = graph.replace(graph.entity(way.id).addNode(node.id, i + 1));
-
-                    // Add only one midpoint on doubled-back segments,
-                    // turning them into self-intersections.
-                    return;
-                }
-            }
-        });
-
-        return graph;
-    };
-};
-// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/AddNodeToWayAction.as
-iD.actions.AddVertex = function(wayId, nodeId, index) {
-    return function(graph) {
-        return graph.replace(graph.entity(wayId).addNode(nodeId, index));
-    };
-};
-iD.actions.ChangeMember = function(relationId, member, memberIndex) {
-    return function(graph) {
-        return graph.replace(graph.entity(relationId).updateMember(member, memberIndex));
-    };
-};
-iD.actions.ChangePreset = function(entityId, oldPreset, newPreset) {
-    return function(graph) {
-        var entity = graph.entity(entityId),
-            geometry = entity.geometry(graph),
-            tags = entity.tags;
-
-        if (oldPreset) tags = oldPreset.removeTags(tags, geometry);
-        if (newPreset) tags = newPreset.applyTags(tags, geometry);
-
-        return graph.replace(entity.update({tags: tags}));
-    };
-};
-iD.actions.ChangeTags = function(entityId, tags) {
-    return function(graph) {
-        var entity = graph.entity(entityId);
-        return graph.replace(entity.update({tags: tags}));
-    };
-};
-iD.actions.Circularize = function(wayId, projection, maxAngle) {
-    maxAngle = (maxAngle || 20) * Math.PI / 180;
-
-    var action = function(graph) {
-        var way = graph.entity(wayId);
-
-        if (!way.isConvex(graph)) {
-            graph = action.makeConvex(graph);
-        }
-
-        var nodes = _.uniq(graph.childNodes(way)),
-            keyNodes = nodes.filter(function(n) { return graph.parentWays(n).length !== 1; }),
-            points = nodes.map(function(n) { return projection(n.loc); }),
-            keyPoints = keyNodes.map(function(n) { return projection(n.loc); }),
-            centroid = (points.length === 2) ? iD.geo.interp(points[0], points[1], 0.5) : d3.geom.polygon(points).centroid(),
-            radius = d3.median(points, function(p) { return iD.geo.euclideanDistance(centroid, p); }),
-            sign = d3.geom.polygon(points).area() > 0 ? 1 : -1,
-            ids;
-
-        // we need atleast two key nodes for the algorithm to work
-        if (!keyNodes.length) {
-            keyNodes = [nodes[0]];
-            keyPoints = [points[0]];
-        }
-
-        if (keyNodes.length === 1) {
-            var index = nodes.indexOf(keyNodes[0]),
-                oppositeIndex = Math.floor((index + nodes.length / 2) % nodes.length);
-
-            keyNodes.push(nodes[oppositeIndex]);
-            keyPoints.push(points[oppositeIndex]);
-        }
-
-        // key points and nodes are those connected to the ways,
-        // they are projected onto the circle, inbetween nodes are moved
-        // to constant intervals between key nodes, extra inbetween nodes are
-        // added if necessary.
-        for (var i = 0; i < keyPoints.length; i++) {
-            var nextKeyNodeIndex = (i + 1) % keyNodes.length,
-                startNode = keyNodes[i],
-                endNode = keyNodes[nextKeyNodeIndex],
-                startNodeIndex = nodes.indexOf(startNode),
-                endNodeIndex = nodes.indexOf(endNode),
-                numberNewPoints = -1,
-                indexRange = endNodeIndex - startNodeIndex,
-                distance, totalAngle, eachAngle, startAngle, endAngle,
-                angle, loc, node, j,
-                inBetweenNodes = [];
-
-            if (indexRange < 0) {
-                indexRange += nodes.length;
-            }
-
-            // position this key node
-            distance = iD.geo.euclideanDistance(centroid, keyPoints[i]);
-            if (distance === 0) { distance = 1e-4; }
-            keyPoints[i] = [
-                centroid[0] + (keyPoints[i][0] - centroid[0]) / distance * radius,
-                centroid[1] + (keyPoints[i][1] - centroid[1]) / distance * radius];
-            graph = graph.replace(keyNodes[i].move(projection.invert(keyPoints[i])));
-
-            // figure out the between delta angle we want to match to
-            startAngle = Math.atan2(keyPoints[i][1] - centroid[1], keyPoints[i][0] - centroid[0]);
-            endAngle = Math.atan2(keyPoints[nextKeyNodeIndex][1] - centroid[1], keyPoints[nextKeyNodeIndex][0] - centroid[0]);
-            totalAngle = endAngle - startAngle;
-
-            // detects looping around -pi/pi
-            if (totalAngle * sign > 0) {
-                totalAngle = -sign * (2 * Math.PI - Math.abs(totalAngle));
-            }
-
-            do {
-                numberNewPoints++;
-                eachAngle = totalAngle / (indexRange + numberNewPoints);
-            } while (Math.abs(eachAngle) > maxAngle);
-
-            // move existing points
-            for (j = 1; j < indexRange; j++) {
-                angle = startAngle + j * eachAngle;
-                loc = projection.invert([
-                    centroid[0] + Math.cos(angle)*radius,
-                    centroid[1] + Math.sin(angle)*radius]);
-
-                node = nodes[(j + startNodeIndex) % nodes.length].move(loc);
-                graph = graph.replace(node);
-            }
-
-            // add new inbetween nodes if necessary
-            for (j = 0; j < numberNewPoints; j++) {
-                angle = startAngle + (indexRange + j) * eachAngle;
-                loc = projection.invert([
-                    centroid[0] + Math.cos(angle) * radius,
-                    centroid[1] + Math.sin(angle) * radius]);
-
-                node = iD.Node({loc: loc});
-                graph = graph.replace(node);
-
-                nodes.splice(endNodeIndex + j, 0, node);
-                inBetweenNodes.push(node.id);
-            }
-
-            // Check for other ways that share these keyNodes..
-            // If keyNodes are adjacent in both ways,
-            // we can add inBetween nodes to that shared way too..
-            if (indexRange === 1 && inBetweenNodes.length) {
-                var startIndex1 = way.nodes.lastIndexOf(startNode.id),
-                    endIndex1 = way.nodes.lastIndexOf(endNode.id),
-                    wayDirection1 = (endIndex1 - startIndex1);
-                if (wayDirection1 < -1) { wayDirection1 = 1;}
-
-                /*jshint -W083 */
-                _.each(_.without(graph.parentWays(keyNodes[i]), way), function(sharedWay) {
-                    if (sharedWay.areAdjacent(startNode.id, endNode.id)) {
-                        var startIndex2 = sharedWay.nodes.lastIndexOf(startNode.id),
-                            endIndex2 = sharedWay.nodes.lastIndexOf(endNode.id),
-                            wayDirection2 = (endIndex2 - startIndex2),
-                            insertAt = endIndex2;
-                        if (wayDirection2 < -1) { wayDirection2 = 1;}
-
-                        if (wayDirection1 !== wayDirection2) {
-                            inBetweenNodes.reverse();
-                            insertAt = startIndex2;
-                        }
-                        for (j = 0; j < inBetweenNodes.length; j++) {
-                            sharedWay = sharedWay.addNode(inBetweenNodes[j], insertAt + j);
-                        }
-                        graph = graph.replace(sharedWay);
-                    }
-                });
-                /*jshint +W083 */
-            }
-
-        }
-
-        // update the way to have all the new nodes
-        ids = nodes.map(function(n) { return n.id; });
-        ids.push(ids[0]);
-
-        way = way.update({nodes: ids});
-        graph = graph.replace(way);
-
-        return graph;
-    };
-
-    action.makeConvex = function(graph) {
-        var way = graph.entity(wayId),
-            nodes = _.uniq(graph.childNodes(way)),
-            points = nodes.map(function(n) { return projection(n.loc); }),
-            sign = d3.geom.polygon(points).area() > 0 ? 1 : -1,
-            hull = d3.geom.hull(points);
-
-        // D3 convex hulls go counterclockwise..
-        if (sign === -1) {
-            nodes.reverse();
-            points.reverse();
-        }
-
-        for (var i = 0; i < hull.length - 1; i++) {
-            var startIndex = points.indexOf(hull[i]),
-                endIndex = points.indexOf(hull[i+1]),
-                indexRange = (endIndex - startIndex);
-
-            if (indexRange < 0) {
-                indexRange += nodes.length;
-            }
-
-            // move interior nodes to the surface of the convex hull..
-            for (var j = 1; j < indexRange; j++) {
-                var point = iD.geo.interp(hull[i], hull[i+1], j / indexRange),
-                    node = nodes[(j + startIndex) % nodes.length].move(projection.invert(point));
-                graph = graph.replace(node);
-            }
-        }
-        return graph;
-    };
-
-    action.disabled = function(graph) {
-        if (!graph.entity(wayId).isClosed())
-            return 'not_closed';
-    };
-
-    return action;
-};
-// Connect the ways at the given nodes.
-//
-// The last node will survive. All other nodes will be replaced with
-// the surviving node in parent ways, and then removed.
-//
-// Tags and relation memberships of of non-surviving nodes are merged
-// to the survivor.
-//
-// This is the inverse of `iD.actions.Disconnect`.
-//
-// Reference:
-//   https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MergeNodesAction.as
-//   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/MergeNodesAction.java
-//
-iD.actions.Connect = function(nodeIds) {
-    return function(graph) {
-        var survivor = graph.entity(_.last(nodeIds));
-
-        for (var i = 0; i < nodeIds.length - 1; i++) {
-            var node = graph.entity(nodeIds[i]);
-
-            /*jshint -W083 */
-            graph.parentWays(node).forEach(function(parent) {
-                if (!parent.areAdjacent(node.id, survivor.id)) {
-                    graph = graph.replace(parent.replaceNode(node.id, survivor.id));
-                }
-            });
-
-            graph.parentRelations(node).forEach(function(parent) {
-                graph = graph.replace(parent.replaceMember(node, survivor));
-            });
-            /*jshint +W083 */
-
-            survivor = survivor.mergeTags(node.tags);
-            graph = iD.actions.DeleteNode(node.id)(graph);
-        }
-
-        graph = graph.replace(survivor);
-
-        return graph;
-    };
-};
-iD.actions.DeleteMember = function(relationId, memberIndex) {
-    return function(graph) {
-        var relation = graph.entity(relationId)
-            .removeMember(memberIndex);
-
-        graph = graph.replace(relation);
-
-        if (relation.isDegenerate())
-            graph = iD.actions.DeleteRelation(relation.id)(graph);
-
-        return graph;
-    };
-};
-iD.actions.DeleteMultiple = function(ids) {
-    var actions = {
-        way: iD.actions.DeleteWay,
-        node: iD.actions.DeleteNode,
-        relation: iD.actions.DeleteRelation
-    };
-
-    var action = function(graph) {
-        ids.forEach(function(id) {
-            if (graph.hasEntity(id)) { // It may have been deleted aready.
-                graph = actions[graph.entity(id).type](id)(graph);
-            }
-        });
-
-        return graph;
-    };
-
-    action.disabled = function(graph) {
-        for (var i = 0; i < ids.length; i++) {
-            var id = ids[i],
-                disabled = actions[graph.entity(id).type](id).disabled(graph);
-            if (disabled) return disabled;
-        }
-    };
-
-    return action;
-};
-// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteNodeAction.as
-iD.actions.DeleteNode = function(nodeId) {
-    var action = function(graph) {
-        var node = graph.entity(nodeId);
-
-        graph.parentWays(node)
-            .forEach(function(parent) {
-                parent = parent.removeNode(nodeId);
-                graph = graph.replace(parent);
-
-                if (parent.isDegenerate()) {
-                    graph = iD.actions.DeleteWay(parent.id)(graph);
-                }
-            });
-
-        graph.parentRelations(node)
-            .forEach(function(parent) {
-                parent = parent.removeMembersWithID(nodeId);
-                graph = graph.replace(parent);
-
-                if (parent.isDegenerate()) {
-                    graph = iD.actions.DeleteRelation(parent.id)(graph);
-                }
-            });
-
-        return graph.remove(node);
-    };
-
-    action.disabled = function() {
-        return false;
-    };
-
-    return action;
-};
-// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteRelationAction.as
-iD.actions.DeleteRelation = function(relationId) {
-    function deleteEntity(entity, graph) {
-        return !graph.parentWays(entity).length &&
-            !graph.parentRelations(entity).length &&
-            !entity.hasInterestingTags();
-    }
-
-    var action = function(graph) {
-        var relation = graph.entity(relationId);
-
-        graph.parentRelations(relation)
-            .forEach(function(parent) {
-                parent = parent.removeMembersWithID(relationId);
-                graph = graph.replace(parent);
-
-                if (parent.isDegenerate()) {
-                    graph = iD.actions.DeleteRelation(parent.id)(graph);
-                }
-            });
-
-        _.uniq(_.pluck(relation.members, 'id')).forEach(function(memberId) {
-            graph = graph.replace(relation.removeMembersWithID(memberId));
-
-            var entity = graph.entity(memberId);
-            if (deleteEntity(entity, graph)) {
-                graph = iD.actions.DeleteMultiple([memberId])(graph);
-            }
-        });
-
-        return graph.remove(relation);
-    };
-
-    action.disabled = function(graph) {
-        if (!graph.entity(relationId).isComplete(graph))
-            return 'incomplete_relation';
-    };
-
-    return action;
-};
-// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteWayAction.as
-iD.actions.DeleteWay = function(wayId) {
-    function deleteNode(node, graph) {
-        return !graph.parentWays(node).length &&
-            !graph.parentRelations(node).length &&
-            !node.hasInterestingTags();
-    }
-
-    var action = function(graph) {
-        var way = graph.entity(wayId);
-
-        graph.parentRelations(way)
-            .forEach(function(parent) {
-                parent = parent.removeMembersWithID(wayId);
-                graph = graph.replace(parent);
-
-                if (parent.isDegenerate()) {
-                    graph = iD.actions.DeleteRelation(parent.id)(graph);
-                }
-            });
-
-        _.uniq(way.nodes).forEach(function(nodeId) {
-            graph = graph.replace(way.removeNode(nodeId));
-
-            var node = graph.entity(nodeId);
-            if (deleteNode(node, graph)) {
-                graph = graph.remove(node);
-            }
-        });
-
-        return graph.remove(way);
-    };
-
-    action.disabled = function() {
-        return false;
-    };
-
-    return action;
-};
-iD.actions.DeprecateTags = function(entityId) {
-    return function(graph) {
-        var entity = graph.entity(entityId),
-            newtags = _.clone(entity.tags),
-            change = false,
-            rule;
-
-        // This handles deprecated tags with a single condition
-        for (var i = 0; i < iD.data.deprecated.length; i++) {
-
-            rule = iD.data.deprecated[i];
-            var match = _.pairs(rule.old)[0],
-                replacements = rule.replace ? _.pairs(rule.replace) : null;
-
-            if (entity.tags[match[0]] && match[1] === '*') {
-
-                var value = entity.tags[match[0]];
-                if (replacements && !newtags[replacements[0][0]]) {
-                    newtags[replacements[0][0]] = value;
-                }
-                delete newtags[match[0]];
-                change = true;
-
-            } else if (entity.tags[match[0]] === match[1]) {
-                newtags = _.assign({}, rule.replace || {}, _.omit(newtags, match[0]));
-                change = true;
-            }
-        }
-
-        if (change) {
-            return graph.replace(entity.update({tags: newtags}));
-        } else {
-            return graph;
-        }
-    };
-};
-iD.actions.DiscardTags = function(difference) {
-    return function(graph) {
-        function discardTags(entity) {
-            if (!_.isEmpty(entity.tags)) {
-                var tags = {};
-                _.each(entity.tags, function(v, k) {
-                    if (v) tags[k] = v;
-                });
-
-                graph = graph.replace(entity.update({
-                    tags: _.omit(tags, iD.data.discarded)
-                }));
-            }
-        }
-
-        difference.modified().forEach(discardTags);
-        difference.created().forEach(discardTags);
-
-        return graph;
-    };
-};
-// Disconect the ways at the given node.
-//
-// Optionally, disconnect only the given ways.
-//
-// For testing convenience, accepts an ID to assign to the (first) new node.
-// Normally, this will be undefined and the way will automatically
-// be assigned a new ID.
-//
-// This is the inverse of `iD.actions.Connect`.
-//
-// Reference:
-//   https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/UnjoinNodeAction.as
-//   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/UnGlueAction.java
-//
-iD.actions.Disconnect = function(nodeId, newNodeId) {
-    var wayIds;
-
-    var action = function(graph) {
-        var node = graph.entity(nodeId),
-            connections = action.connections(graph);
-
-        connections.forEach(function(connection) {
-            var way = graph.entity(connection.wayID),
-                newNode = iD.Node({id: newNodeId, loc: node.loc, tags: node.tags});
-
-            graph = graph.replace(newNode);
-            if (connection.index === 0 && way.isArea()) {
-                // replace shared node with shared node..
-                graph = graph.replace(way.replaceNode(way.nodes[0], newNode.id));
-            } else {
-                // replace shared node with multiple new nodes..
-                graph = graph.replace(way.updateNode(newNode.id, connection.index));
-            }
-        });
-
-        return graph;
-    };
-
-    action.connections = function(graph) {
-        var candidates = [],
-            keeping = false,
-            parentWays = graph.parentWays(graph.entity(nodeId));
-
-        parentWays.forEach(function(way) {
-            if (wayIds && wayIds.indexOf(way.id) === -1) {
-                keeping = true;
-                return;
-            }
-            if (way.isArea() && (way.nodes[0] === nodeId)) {
-                candidates.push({wayID: way.id, index: 0});
-            } else {
-                way.nodes.forEach(function(waynode, index) {
-                    if (waynode === nodeId) {
-                        candidates.push({wayID: way.id, index: index});
-                    }
-                });
-            }
-        });
-
-        return keeping ? candidates : candidates.slice(1);
-    };
-
-    action.disabled = function(graph) {
-        var connections = action.connections(graph);
-        if (connections.length === 0 || (wayIds && wayIds.length !== connections.length))
-            return 'not_connected';
-    };
-
-    action.limitWays = function(_) {
-        if (!arguments.length) return wayIds;
-        wayIds = _;
-        return action;
-    };
-
-    return action;
-};
-// Join ways at the end node they share.
-//
-// This is the inverse of `iD.actions.Split`.
-//
-// Reference:
-//   https://github.com/systemed/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MergeWaysAction.as
-//   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/CombineWayAction.java
-//
-iD.actions.Join = function(ids) {
-
-    function groupEntitiesByGeometry(graph) {
-        var entities = ids.map(function(id) { return graph.entity(id); });
-        return _.extend({line: []}, _.groupBy(entities, function(entity) { return entity.geometry(graph); }));
-    }
-
-    var action = function(graph) {
-        var ways = ids.map(graph.entity, graph),
-            survivor = ways[0];
-
-        // Prefer to keep an existing way.
-        for (var i = 0; i < ways.length; i++) {
-            if (!ways[i].isNew()) {
-                survivor = ways[i];
-                break;
-            }
-        }
-
-        var joined = iD.geo.joinWays(ways, graph)[0];
-
-        survivor = survivor.update({nodes: _.pluck(joined.nodes, 'id')});
-        graph = graph.replace(survivor);
-
-        joined.forEach(function(way) {
-            if (way.id === survivor.id)
-                return;
-
-            graph.parentRelations(way).forEach(function(parent) {
-                graph = graph.replace(parent.replaceMember(way, survivor));
-            });
-
-            survivor = survivor.mergeTags(way.tags);
-
-            graph = graph.replace(survivor);
-            graph = iD.actions.DeleteWay(way.id)(graph);
-        });
-
-        return graph;
-    };
-
-    action.disabled = function(graph) {
-        var geometries = groupEntitiesByGeometry(graph);
-        if (ids.length < 2 || ids.length !== geometries.line.length)
-            return 'not_eligible';
-
-        var joined = iD.geo.joinWays(ids.map(graph.entity, graph), graph);
-        if (joined.length > 1)
-            return 'not_adjacent';
-
-        var nodeIds = _.pluck(joined[0].nodes, 'id').slice(1, -1),
-            relation;
-
-        joined[0].forEach(function(way) {
-            var parents = graph.parentRelations(way);
-            parents.forEach(function(parent) {
-                if (parent.isRestriction() && parent.members.some(function(m) { return nodeIds.indexOf(m.id) >= 0; }))
-                    relation = parent;
-            });
-        });
-
-        if (relation)
-            return 'restriction';
-    };
-
-    return action;
-};
-iD.actions.Merge = function(ids) {
-    function groupEntitiesByGeometry(graph) {
-        var entities = ids.map(function(id) { return graph.entity(id); });
-        return _.extend({point: [], area: [], line: [], relation: []},
-            _.groupBy(entities, function(entity) { return entity.geometry(graph); }));
-    }
-
-    var action = function(graph) {
-        var geometries = groupEntitiesByGeometry(graph),
-            target = geometries.area[0] || geometries.line[0],
-            points = geometries.point;
-
-        points.forEach(function(point) {
-            target = target.mergeTags(point.tags);
-
-            graph.parentRelations(point).forEach(function(parent) {
-                graph = graph.replace(parent.replaceMember(point, target));
-            });
-
-            graph = graph.remove(point);
-        });
-
-        graph = graph.replace(target);
-
-        return graph;
-    };
-
-    action.disabled = function(graph) {
-        var geometries = groupEntitiesByGeometry(graph);
-        if (geometries.point.length === 0 ||
-            (geometries.area.length + geometries.line.length) !== 1 ||
-            geometries.relation.length !== 0)
-            return 'not_eligible';
-    };
-
-    return action;
-};
-iD.actions.MergePolygon = function(ids, newRelationId) {
-
-    function groupEntities(graph) {
-        var entities = ids.map(function (id) { return graph.entity(id); });
-        return _.extend({
-                closedWay: [],
-                multipolygon: [],
-                other: []
-            }, _.groupBy(entities, function(entity) {
-                if (entity.type === 'way' && entity.isClosed()) {
-                    return 'closedWay';
-                } else if (entity.type === 'relation' && entity.isMultipolygon()) {
-                    return 'multipolygon';
-                } else {
-                    return 'other';
-                }
-            }));
-    }
-
-    var action = function(graph) {
-        var entities = groupEntities(graph);
-
-        // An array representing all the polygons that are part of the multipolygon.
-        //
-        // Each element is itself an array of objects with an id property, and has a
-        // locs property which is an array of the locations forming the polygon.
-        var polygons = entities.multipolygon.reduce(function(polygons, m) {
-            return polygons.concat(iD.geo.joinWays(m.members, graph));
-        }, []).concat(entities.closedWay.map(function(d) {
-            var member = [{id: d.id}];
-            member.nodes = graph.childNodes(d);
-            return member;
-        }));
-
-        // contained is an array of arrays of boolean values,
-        // where contained[j][k] is true iff the jth way is
-        // contained by the kth way.
-        var contained = polygons.map(function(w, i) {
-            return polygons.map(function(d, n) {
-                if (i === n) return null;
-                return iD.geo.polygonContainsPolygon(
-                    _.pluck(d.nodes, 'loc'),
-                    _.pluck(w.nodes, 'loc'));
-            });
-        });
-
-        // Sort all polygons as either outer or inner ways
-        var members = [],
-            outer = true;
-
-        while (polygons.length) {
-            extractUncontained(polygons);
-            polygons = polygons.filter(isContained);
-            contained = contained.filter(isContained).map(filterContained);
-        }
-
-        function isContained(d, i) {
-            return _.any(contained[i]);
-        }
-
-        function filterContained(d) {
-            return d.filter(isContained);
-        }
-
-        function extractUncontained(polygons) {
-            polygons.forEach(function(d, i) {
-                if (!isContained(d, i)) {
-                    d.forEach(function(member) {
-                        members.push({
-                            type: 'way',
-                            id: member.id,
-                            role: outer ? 'outer' : 'inner'
-                        });
-                    });
-                }
-            });
-            outer = !outer;
-        }
-
-        // Move all tags to one relation
-        var relation = entities.multipolygon[0] ||
-            iD.Relation({ id: newRelationId, tags: { type: 'multipolygon' }});
-
-        entities.multipolygon.slice(1).forEach(function(m) {
-            relation = relation.mergeTags(m.tags);
-            graph = graph.remove(m);
-        });
-
-        entities.closedWay.forEach(function(way) {
-            function isThisOuter(m) {
-                return m.id === way.id && m.role !== 'inner';
-            }
-            if (members.some(isThisOuter)) {
-                relation = relation.mergeTags(way.tags);
-                graph = graph.replace(way.update({ tags: {} }));
-            }
-        });
-
-        return graph.replace(relation.update({
-            members: members,
-            tags: _.omit(relation.tags, 'area')
-        }));
-    };
-
-    action.disabled = function(graph) {
-        var entities = groupEntities(graph);
-        if (entities.other.length > 0 ||
-            entities.closedWay.length + entities.multipolygon.length < 2)
-            return 'not_eligible';
-        if (!entities.multipolygon.every(function(r) { return r.isComplete(graph); }))
-            return 'incomplete_relation';
-    };
-
-    return action;
-};
-// https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/command/MoveCommand.java
-// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MoveNodeAction.as
-iD.actions.Move = function(ids, delta, projection) {
-    function addNodes(ids, nodes, graph) {
-        ids.forEach(function(id) {
-            var entity = graph.entity(id);
-            if (entity.type === 'node') {
-                nodes.push(id);
-            } else if (entity.type === 'way') {
-                nodes.push.apply(nodes, entity.nodes);
-            } else {
-                addNodes(_.pluck(entity.members, 'id'), nodes, graph);
-            }
-        });
-    }
-
-    var action = function(graph) {
-        var nodes = [];
-
-        addNodes(ids, nodes, graph);
-
-        _.uniq(nodes).forEach(function(id) {
-            var node = graph.entity(id),
-                start = projection(node.loc),
-                end = projection.invert([start[0] + delta[0], start[1] + delta[1]]);
-            graph = graph.replace(node.move(end));
-        });
-
-        return graph;
-    };
-
-    action.disabled = function(graph) {
-        function incompleteRelation(id) {
-            var entity = graph.entity(id);
-            return entity.type === 'relation' && !entity.isComplete(graph);
-        }
-
-        if (_.any(ids, incompleteRelation))
-            return 'incomplete_relation';
-    };
-
-    return action;
-};
-// https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/command/MoveCommand.java
-// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MoveNodeAction.as
-iD.actions.MoveNode = function(nodeId, loc) {
-    return function(graph) {
-        return graph.replace(graph.entity(nodeId).move(loc));
-    };
-};
-iD.actions.Noop = function() {
-    return function(graph) {
-        return graph;
-    };
-};
-/*
- * Based on https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/potlatch2/tools/Quadrilateralise.as
- */
-
-iD.actions.Orthogonalize = function(wayId, projection) {
-    var threshold = 12, // degrees within right or straight to alter
-        lowerThreshold = Math.cos((90 - threshold) * Math.PI / 180),
-        upperThreshold = Math.cos(threshold * Math.PI / 180);
-
-    var action = function(graph) {
-        var way = graph.entity(wayId),
-            nodes = graph.childNodes(way),
-            points = _.uniq(nodes).map(function(n) { return projection(n.loc); }),
-            corner = {i: 0, dotp: 1},
-            epsilon = 1e-4,
-            i, j, score, motions;
-
-        if (nodes.length === 4) {
-            for (i = 0; i < 1000; i++) {
-                motions = points.map(calcMotion);
-                points[corner.i] = addPoints(points[corner.i],motions[corner.i]);
-                score = corner.dotp;
-                if (score < epsilon) {
-                    break;
-                }
-            }
-
-            graph = graph.replace(graph.entity(nodes[corner.i].id)
-                .move(projection.invert(points[corner.i])));
-        } else {
-            var best,
-                originalPoints = _.clone(points);
-            score = Infinity;
-
-            for (i = 0; i < 1000; i++) {
-                motions = points.map(calcMotion);
-                for (j = 0; j < motions.length; j++) {
-                    points[j] = addPoints(points[j],motions[j]);
-                }
-                var newScore = squareness(points);
-                if (newScore < score) {
-                    best = _.clone(points);
-                    score = newScore;
-                }
-                if (score < epsilon) {
-                    break;
-                }
-            }
-
-            points = best;
-
-            for (i = 0; i < points.length; i++) {
-                // only move the points that actually moved
-                if (originalPoints[i][0] !== points[i][0] || originalPoints[i][1] !== points[i][1]) {
-                    graph = graph.replace(graph.entity(nodes[i].id)
-                        .move(projection.invert(points[i])));
-                }
-            }
-
-            // remove empty nodes on straight sections
-            for (i = 0; i < points.length; i++) {
-                var node = nodes[i];
-
-                if (graph.parentWays(node).length > 1 ||
-                    graph.parentRelations(node).length ||
-                    node.hasInterestingTags()) {
-
-                    continue;
-                }
-
-                var dotp = normalizedDotProduct(i, points);
-                if (dotp < -1 + epsilon) {
-                    graph = iD.actions.DeleteNode(nodes[i].id)(graph);
-                }
-            }
-        }
-
-        return graph;
-
-        function calcMotion(b, i, array) {
-            var a = array[(i - 1 + array.length) % array.length],
-                c = array[(i + 1) % array.length],
-                p = subtractPoints(a, b),
-                q = subtractPoints(c, b),
-                scale, dotp;
-
-            scale = 2 * Math.min(iD.geo.euclideanDistance(p, [0, 0]), iD.geo.euclideanDistance(q, [0, 0]));
-            p = normalizePoint(p, 1.0);
-            q = normalizePoint(q, 1.0);
-
-            dotp = filterDotProduct(p[0] * q[0] + p[1] * q[1]);
-
-            // nasty hack to deal with almost-straight segments (angle is closer to 180 than to 90/270).
-            if (array.length > 3) {
-                if (dotp < -0.707106781186547) {
-                    dotp += 1.0;
-                }
-            } else if (dotp && Math.abs(dotp) < corner.dotp) {
-                corner.i = i;
-                corner.dotp = Math.abs(dotp);
-            }
-
-            return normalizePoint(addPoints(p, q), 0.1 * dotp * scale);
-        }
-    };
-
-    function squareness(points) {
-        return points.reduce(function(sum, val, i, array) {
-            var dotp = normalizedDotProduct(i, array);
-
-            dotp = filterDotProduct(dotp);
-            return sum + 2.0 * Math.min(Math.abs(dotp - 1.0), Math.min(Math.abs(dotp), Math.abs(dotp + 1)));
-        }, 0);
-    }
-
-    function normalizedDotProduct(i, points) {
-        var a = points[(i - 1 + points.length) % points.length],
-            b = points[i],
-            c = points[(i + 1) % points.length],
-            p = subtractPoints(a, b),
-            q = subtractPoints(c, b);
-
-        p = normalizePoint(p, 1.0);
-        q = normalizePoint(q, 1.0);
-
-        return p[0] * q[0] + p[1] * q[1];
-    }
-
-    function subtractPoints(a, b) {
-        return [a[0] - b[0], a[1] - b[1]];
-    }
-
-    function addPoints(a, b) {
-        return [a[0] + b[0], a[1] + b[1]];
-    }
-
-    function normalizePoint(point, scale) {
-        var vector = [0, 0];
-        var length = Math.sqrt(point[0] * point[0] + point[1] * point[1]);
-        if (length !== 0) {
-            vector[0] = point[0] / length;
-            vector[1] = point[1] / length;
-        }
-
-        vector[0] *= scale;
-        vector[1] *= scale;
-
-        return vector;
-    }
-
-    function filterDotProduct(dotp) {
-        if (lowerThreshold > Math.abs(dotp) || Math.abs(dotp) > upperThreshold) {
-            return dotp;
-        }
-
-        return 0;
-    }
-
-    action.disabled = function(graph) {
-        var way = graph.entity(wayId),
-            nodes = graph.childNodes(way),
-            points = _.uniq(nodes).map(function(n) { return projection(n.loc); });
-
-        if (squareness(points)) {
-            return false;
-        }
-
-        return 'not_squarish';
-    };
-
-    return action;
-};
-// Create a restriction relation for `turn`, which must have the following structure:
-//
-//     {
-//         from: { node: <node ID>, way: <way ID> },
-//         via:  { node: <node ID> },
-//         to:   { node: <node ID>, way: <way ID> },
-//         restriction: <'no_right_turn', 'no_left_turn', etc.>
-//     }
-//
-// This specifies a restriction of type `restriction` when traveling from
-// `from.node` in `from.way` toward `to.node` in `to.way` via `via.node`.
-// (The action does not check that these entities form a valid intersection.)
-//
-// If `restriction` is not provided, it is automatically determined by the
-// angle of the turn:
-//
-//    0-23  degrees: no_u_turn
-//   23-158 degrees: no_right_turn
-//  158-202 degrees: no_straight_on
-//  202-326 degrees: no_left_turn
-//  336-360 degrees: no_u_turn
-//
-// If necessary, the `from` and `to` ways are split. In these cases, `from.node`
-// and `to.node` are used to determine which portion of the split ways become
-// members of the restriction.
-//
-// For testing convenience, accepts an ID to assign to the new relation.
-// Normally, this will be undefined and the relation will automatically
-// be assigned a new ID.
-//
-iD.actions.RestrictTurn = function(turn, projection, restrictionId) {
-    return function(graph) {
-        var from = graph.entity(turn.from.way),
-            via  = graph.entity(turn.via.node),
-            to   = graph.entity(turn.to.way);
-
-        function split(toOrFrom) {
-            var newID = toOrFrom.newID || iD.Way().id;
-            graph = iD.actions.Split(via.id, [newID])
-                .limitWays([toOrFrom.way])(graph);
-
-            var a = graph.entity(newID),
-                b = graph.entity(toOrFrom.way);
-
-            if (a.nodes.indexOf(toOrFrom.node) !== -1) {
-                return [a, b];
-            } else {
-                return [b, a];
-            }
-        }
-
-        if (!from.affix(via.id)) {
-            if (turn.from.node === turn.to.node) {
-                // U-turn
-                from = to = split(turn.from)[0];
-            } else if (turn.from.way === turn.to.way) {
-                // Straight-on
-                var s = split(turn.from);
-                from = s[0];
-                to   = s[1];
-            } else {
-                // Other
-                from = split(turn.from)[0];
-            }
-        }
-
-        if (!to.affix(via.id)) {
-            to = split(turn.to)[0];
-        }
-
-        return graph.replace(iD.Relation({
-            id: restrictionId,
-            tags: {
-                type: 'restriction',
-                restriction: turn.restriction ||
-                    iD.geo.inferRestriction(
-                        graph.entity(turn.from.node),
-                        via,
-                        graph.entity(turn.to.node),
-                        projection)
-            },
-            members: [
-                {id: from.id, type: 'way',  role: 'from'},
-                {id: via.id,  type: 'node', role: 'via'},
-                {id: to.id,   type: 'way',  role: 'to'}
-            ]
-        }));
-    };
-};
-/*
-  Order the nodes of a way in reverse order and reverse any direction dependent tags
-  other than `oneway`. (We assume that correcting a backwards oneway is the primary
-  reason for reversing a way.)
-
-  The following transforms are performed:
-
-    Keys:
-          *:right=* ⟺ *:left=*
-        *:forward=* ⟺ *:backward=*
-       direction=up ⟺ direction=down
-         incline=up ⟺ incline=down
-            *=right ⟺ *=left
-
-    Relation members:
-       role=forward ⟺ role=backward
-         role=north ⟺ role=south
-          role=east ⟺ role=west
-
-   In addition, numeric-valued `incline` tags are negated.
-
-   The JOSM implementation was used as a guide, but transformations that were of unclear benefit
-   or adjusted tags that don't seem to be used in practice were omitted.
-
-   References:
-      http://wiki.openstreetmap.org/wiki/Forward_%26_backward,_left_%26_right
-      http://wiki.openstreetmap.org/wiki/Key:direction#Steps
-      http://wiki.openstreetmap.org/wiki/Key:incline
-      http://wiki.openstreetmap.org/wiki/Route#Members
-      http://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java
- */
-iD.actions.Reverse = function(wayId) {
-    var replacements = [
-            [/:right$/, ':left'], [/:left$/, ':right'],
-            [/:forward$/, ':backward'], [/:backward$/, ':forward']
-        ],
-        numeric = /^([+\-]?)(?=[\d.])/,
-        roleReversals = {
-            forward: 'backward',
-            backward: 'forward',
-            north: 'south',
-            south: 'north',
-            east: 'west',
-            west: 'east'
-        };
-
-    function reverseKey(key) {
-        for (var i = 0; i < replacements.length; ++i) {
-            var replacement = replacements[i];
-            if (replacement[0].test(key)) {
-                return key.replace(replacement[0], replacement[1]);
-            }
-        }
-        return key;
-    }
-
-    function reverseValue(key, value) {
-        if (key === 'incline' && numeric.test(value)) {
-            return value.replace(numeric, function(_, sign) { return sign === '-' ? '' : '-'; });
-        } else if (key === 'incline' || key === 'direction') {
-            return {up: 'down', down: 'up'}[value] || value;
-        } else {
-            return {left: 'right', right: 'left'}[value] || value;
-        }
-    }
-
-    return function(graph) {
-        var way = graph.entity(wayId),
-            nodes = way.nodes.slice().reverse(),
-            tags = {}, key, role;
-
-        for (key in way.tags) {
-            tags[reverseKey(key)] = reverseValue(key, way.tags[key]);
-        }
-
-        graph.parentRelations(way).forEach(function(relation) {
-            relation.members.forEach(function(member, index) {
-                if (member.id === way.id && (role = roleReversals[member.role])) {
-                    relation = relation.updateMember({role: role}, index);
-                    graph = graph.replace(relation);
-                }
-            });
-        });
-
-        return graph.replace(way.update({nodes: nodes, tags: tags}));
-    };
-};
-iD.actions.RotateWay = function(wayId, pivot, angle, projection) {
-    return function(graph) {
-        return graph.update(function(graph) {
-            var way = graph.entity(wayId);
-
-            _.unique(way.nodes).forEach(function(id) {
-
-                var node = graph.entity(id),
-                    point = projection(node.loc),
-                    radial = [0,0];
-
-                radial[0] = point[0] - pivot[0];
-                radial[1] = point[1] - pivot[1];
-
-                point = [
-                    radial[0] * Math.cos(angle) - radial[1] * Math.sin(angle) + pivot[0],
-                    radial[0] * Math.sin(angle) + radial[1] * Math.cos(angle) + pivot[1]
-                ];
-
-                graph = graph.replace(node.move(projection.invert(point)));
-
-            });
-
-        });
-    };
-};
-// Split a way at the given node.
-//
-// Optionally, split only the given ways, if multiple ways share
-// the given node.
-//
-// This is the inverse of `iD.actions.Join`.
-//
-// For testing convenience, accepts an ID to assign to the new way.
-// Normally, this will be undefined and the way will automatically
-// be assigned a new ID.
-//
-// Reference:
-//   https://github.com/systemed/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/SplitWayAction.as
-//
-iD.actions.Split = function(nodeId, newWayIds) {
-    var wayIds;
-
-    // if the way is closed, we need to search for a partner node
-    // to split the way at.
-    //
-    // The following looks for a node that is both far away from
-    // the initial node in terms of way segment length and nearby
-    // in terms of beeline-distance. This assures that areas get
-    // split on the most "natural" points (independent of the number
-    // of nodes).
-    // For example: bone-shaped areas get split across their waist
-    // line, circles across the diameter.
-    function splitArea(nodes, idxA, graph) {
-        var lengths = new Array(nodes.length),
-            length,
-            i,
-            best = 0,
-            idxB;
-
-        function wrap(index) {
-            return iD.util.wrap(index, nodes.length);
-        }
-
-        function dist(nA, nB) {
-            return iD.geo.sphericalDistance(graph.entity(nA).loc, graph.entity(nB).loc);
-        }
-
-        // calculate lengths
-        length = 0;
-        for (i = wrap(idxA+1); i !== idxA; i = wrap(i+1)) {
-            length += dist(nodes[i], nodes[wrap(i-1)]);
-            lengths[i] = length;
-        }
-
-        length = 0;
-        for (i = wrap(idxA-1); i !== idxA; i = wrap(i-1)) {
-            length += dist(nodes[i], nodes[wrap(i+1)]);
-            if (length < lengths[i])
-                lengths[i] = length;
-        }
-
-        // determine best opposite node to split
-        for (i = 0; i < nodes.length; i++) {
-            var cost = lengths[i] / dist(nodes[idxA], nodes[i]);
-            if (cost > best) {
-                idxB = i;
-                best = cost;
-            }
-        }
-
-        return idxB;
-    }
-
-    function split(graph, wayA, newWayId) {
-        var wayB = iD.Way({id: newWayId, tags: wayA.tags}),
-            nodesA,
-            nodesB,
-            isArea = wayA.isArea(),
-            isOuter = iD.geo.isSimpleMultipolygonOuterMember(wayA, graph);
-
-        if (wayA.isClosed()) {
-            var nodes = wayA.nodes.slice(0, -1),
-                idxA = _.indexOf(nodes, nodeId),
-                idxB = splitArea(nodes, idxA, graph);
-
-            if (idxB < idxA) {
-                nodesA = nodes.slice(idxA).concat(nodes.slice(0, idxB + 1));
-                nodesB = nodes.slice(idxB, idxA + 1);
-            } else {
-                nodesA = nodes.slice(idxA, idxB + 1);
-                nodesB = nodes.slice(idxB).concat(nodes.slice(0, idxA + 1));
-            }
-        } else {
-            var idx = _.indexOf(wayA.nodes, nodeId, 1);
-            nodesA = wayA.nodes.slice(0, idx + 1);
-            nodesB = wayA.nodes.slice(idx);
-        }
-
-        wayA = wayA.update({nodes: nodesA});
-        wayB = wayB.update({nodes: nodesB});
-
-        graph = graph.replace(wayA);
-        graph = graph.replace(wayB);
-
-        graph.parentRelations(wayA).forEach(function(relation) {
-            if (relation.isRestriction()) {
-                var via = relation.memberByRole('via');
-                if (via && wayB.contains(via.id)) {
-                    relation = relation.updateMember({id: wayB.id}, relation.memberById(wayA.id).index);
-                    graph = graph.replace(relation);
-                }
-            } else {
-                if (relation === isOuter) {
-                    graph = graph.replace(relation.mergeTags(wayA.tags));
-                    graph = graph.replace(wayA.update({tags: {}}));
-                    graph = graph.replace(wayB.update({tags: {}}));
-                }
-
-                var member = {
-                    id: wayB.id,
-                    type: 'way',
-                    role: relation.memberById(wayA.id).role
-                };
-
-                graph = iD.actions.AddMember(relation.id, member)(graph);
-            }
-        });
-
-        if (!isOuter && isArea) {
-            var multipolygon = iD.Relation({
-                tags: _.extend({}, wayA.tags, {type: 'multipolygon'}),
-                members: [
-                    {id: wayA.id, role: 'outer', type: 'way'},
-                    {id: wayB.id, role: 'outer', type: 'way'}
-                ]});
-
-            graph = graph.replace(multipolygon);
-            graph = graph.replace(wayA.update({tags: {}}));
-            graph = graph.replace(wayB.update({tags: {}}));
-        }
-
-        return graph;
-    }
-
-    var action = function(graph) {
-        var candidates = action.ways(graph);
-        for (var i = 0; i < candidates.length; i++) {
-            graph = split(graph, candidates[i], newWayIds && newWayIds[i]);
-        }
-        return graph;
-    };
-
-    action.ways = function(graph) {
-        var node = graph.entity(nodeId),
-            parents = graph.parentWays(node),
-            hasLines = _.any(parents, function(parent) { return parent.geometry(graph) === 'line'; });
-
-        return parents.filter(function(parent) {
-            if (wayIds && wayIds.indexOf(parent.id) === -1)
-                return false;
-
-            if (!wayIds && hasLines && parent.geometry(graph) !== 'line')
-                return false;
-
-            if (parent.isClosed()) {
-                return true;
-            }
-
-            for (var i = 1; i < parent.nodes.length - 1; i++) {
-                if (parent.nodes[i] === nodeId) {
-                    return true;
-                }
-            }
-
-            return false;
-        });
-    };
-
-    action.disabled = function(graph) {
-        var candidates = action.ways(graph);
-        if (candidates.length === 0 || (wayIds && wayIds.length !== candidates.length))
-            return 'not_eligible';
-    };
-
-    action.limitWays = function(_) {
-        if (!arguments.length) return wayIds;
-        wayIds = _;
-        return action;
-    };
-
-    return action;
-};
-/*
- * Based on https://github.com/openstreetmap/potlatch2/net/systemeD/potlatch2/tools/Straighten.as
- */
-
-iD.actions.Straighten = function(wayId, projection) {
-    function positionAlongWay(n, s, e) {
-        return ((n[0] - s[0]) * (e[0] - s[0]) + (n[1] - s[1]) * (e[1] - s[1]))/
-                (Math.pow(e[0] - s[0], 2) + Math.pow(e[1] - s[1], 2));
-    }
-
-    var action = function(graph) {
-        var way = graph.entity(wayId),
-            nodes = graph.childNodes(way),
-            points = nodes.map(function(n) { return projection(n.loc); }),
-            startPoint = points[0],
-            endPoint = points[points.length-1],
-            toDelete = [],
-            i;
-
-        for (i = 1; i < points.length-1; i++) {
-            var node = nodes[i],
-                point = points[i];
-
-            if (graph.parentWays(node).length > 1 ||
-                graph.parentRelations(node).length ||
-                node.hasInterestingTags()) {
-
-                var u = positionAlongWay(point, startPoint, endPoint),
-                    p0 = startPoint[0] + u * (endPoint[0] - startPoint[0]),
-                    p1 = startPoint[1] + u * (endPoint[1] - startPoint[1]);
-
-                graph = graph.replace(graph.entity(node.id)
-                    .move(projection.invert([p0, p1])));
-            } else {
-                // safe to delete
-                if (toDelete.indexOf(node) === -1) {
-                    toDelete.push(node);
-                }
-            }
-        }
-
-        for (i = 0; i < toDelete.length; i++) {
-            graph = iD.actions.DeleteNode(toDelete[i].id)(graph);
-        }
-
-        return graph;
-    };
-    
-    action.disabled = function(graph) {
-        // check way isn't too bendy
-        var way = graph.entity(wayId),
-            nodes = graph.childNodes(way),
-            points = nodes.map(function(n) { return projection(n.loc); }),
-            startPoint = points[0],
-            endPoint = points[points.length-1],
-            threshold = 0.2 * Math.sqrt(Math.pow(startPoint[0] - endPoint[0], 2) + Math.pow(startPoint[1] - endPoint[1], 2)),
-            i;
-
-        for (i = 1; i < points.length-1; i++) {
-            var point = points[i],
-                u = positionAlongWay(point, startPoint, endPoint),
-                p0 = startPoint[0] + u * (endPoint[0] - startPoint[0]),
-                p1 = startPoint[1] + u * (endPoint[1] - startPoint[1]),
-                dist = Math.sqrt(Math.pow(p0 - point[0], 2) + Math.pow(p1 - point[1], 2));
-
-            // to bendy if point is off by 20% of total start/end distance in projected space
-            if (dist > threshold) {
-                return 'too_bendy';
-            }
-        }
-    };
-
-    return action;
-};
-// Remove the effects of `turn.restriction` on `turn`, which must have the
-// following structure:
-//
-//     {
-//         from: { node: <node ID>, way: <way ID> },
-//         via:  { node: <node ID> },
-//         to:   { node: <node ID>, way: <way ID> },
-//         restriction: <relation ID>
-//     }
-//
-// In the simple case, `restriction` is a reference to a `no_*` restriction
-// on the turn itself. In this case, it is simply deleted.
-//
-// The more complex case is where `restriction` references an `only_*`
-// restriction on a different turn in the same intersection. In that case,
-// that restriction is also deleted, but at the same time restrictions on
-// the turns other than the first two are created.
-//
-iD.actions.UnrestrictTurn = function(turn) {
-    return function(graph) {
-        return iD.actions.DeleteRelation(turn.restriction)(graph);
-    };
-};
-iD.behavior = {};
-iD.behavior.AddWay = function(context) {
-    var event = d3.dispatch('start', 'startFromWay', 'startFromNode'),
-        draw = iD.behavior.Draw(context);
-
-    var addWay = function(surface) {
-        draw.on('click', event.start)
-            .on('clickWay', event.startFromWay)
-            .on('clickNode', event.startFromNode)
-            .on('cancel', addWay.cancel)
-            .on('finish', addWay.cancel);
-
-        context.map()
-            .dblclickEnable(false);
-
-        surface.call(draw);
-    };
-
-    addWay.off = function(surface) {
-        surface.call(draw.off);
-    };
-
-    addWay.cancel = function() {
-        window.setTimeout(function() {
-            context.map().dblclickEnable(true);
-        }, 1000);
-
-        context.enter(iD.modes.Browse(context));
-    };
-
-    addWay.tail = function(text) {
-        draw.tail(text);
-        return addWay;
-    };
-
-    return d3.rebind(addWay, event, 'on');
-};
-/*
-    `iD.behavior.drag` is like `d3.behavior.drag`, with the following differences:
-
-    * The `origin` function is expected to return an [x, y] tuple rather than an
-      {x, y} object.
-    * The events are `start`, `move`, and `end`.
-      (https://github.com/mbostock/d3/issues/563)
-    * The `start` event is not dispatched until the first cursor movement occurs.
-      (https://github.com/mbostock/d3/pull/368)
-    * The `move` event has a `point` and `delta` [x, y] tuple properties rather
-      than `x`, `y`, `dx`, and `dy` properties.
-    * The `end` event is not dispatched if no movement occurs.
-    * An `off` function is available that unbinds the drag's internal event handlers.
-    * Delegation is supported via the `delegate` function.
-
- */
-iD.behavior.drag = function() {
-    function d3_eventCancel() {
-      d3.event.stopPropagation();
-      d3.event.preventDefault();
-    }
-
-    var event = d3.dispatch('start', 'move', 'end'),
-        origin = null,
-        selector = '',
-        filter = null,
-        event_, target, surface;
-
-    event.of = function(thiz, argumentz) {
-      return function(e1) {
-        var e0 = e1.sourceEvent = d3.event;
-        e1.target = drag;
-        d3.event = e1;
-        try {
-          event[e1.type].apply(thiz, argumentz);
-        } finally {
-          d3.event = e0;
-        }
-      };
-    };
-
-    var d3_event_userSelectProperty = iD.util.prefixCSSProperty('UserSelect'),
-        d3_event_userSelectSuppress = d3_event_userSelectProperty ?
-            function () {
-                var selection = d3.selection(),
-                    select = selection.style(d3_event_userSelectProperty);
-                selection.style(d3_event_userSelectProperty, 'none');
-                return function () {
-                    selection.style(d3_event_userSelectProperty, select);
-                };
-            } :
-            function (type) {
-                var w = d3.select(window).on('selectstart.' + type, d3_eventCancel);
-                return function () {
-                    w.on('selectstart.' + type, null);
-                };
-            };
-
-    function mousedown() {
-        target = this;
-        event_ = event.of(target, arguments);
-        var eventTarget = d3.event.target,
-            touchId = d3.event.touches ? d3.event.changedTouches[0].identifier : null,
-            offset,
-            origin_ = point(),
-            started = false,
-            selectEnable = d3_event_userSelectSuppress(touchId !== null ? 'drag-' + touchId : 'drag');
-
-        var w = d3.select(window)
-            .on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', dragmove)
-            .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', dragend, true);
-
-        if (origin) {
-            offset = origin.apply(target, arguments);
-            offset = [offset[0] - origin_[0], offset[1] - origin_[1]];
-        } else {
-            offset = [0, 0];
-        }
-
-        if (touchId === null) d3.event.stopPropagation();
-
-        function point() {
-            var p = target.parentNode || surface;
-            return touchId !== null ? d3.touches(p).filter(function(p) {
-                return p.identifier === touchId;
-            })[0] : d3.mouse(p);
-        }
-
-        function dragmove() {
-
-            var p = point(),
-                dx = p[0] - origin_[0],
-                dy = p[1] - origin_[1];
-            
-            if (dx === 0 && dy === 0)
-                return;
-
-            if (!started) {
-                started = true;
-                event_({
-                    type: 'start'
-                });
-            }
-
-            origin_ = p;
-            d3_eventCancel();
-
-            event_({
-                type: 'move',
-                point: [p[0] + offset[0],  p[1] + offset[1]],
-                delta: [dx, dy]
-            });
-        }
-
-        function dragend() {
-            if (started) {
-                event_({
-                    type: 'end'
-                });
-
-                d3_eventCancel();
-                if (d3.event.target === eventTarget) w.on('click.drag', click, true);
-            }
-
-            w.on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', null)
-                .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', null);
-            selectEnable();
-        }
-
-        function click() {
-            d3_eventCancel();
-            w.on('click.drag', null);
-        }
-    }
-
-    function drag(selection) {
-        var matchesSelector = iD.util.prefixDOMProperty('matchesSelector'),
-            delegate = mousedown;
-
-        if (selector) {
-            delegate = function() {
-                var root = this,
-                    target = d3.event.target;
-                for (; target && target !== root; target = target.parentNode) {
-                    if (target[matchesSelector](selector) &&
-                            (!filter || filter(target.__data__))) {
-                        return mousedown.call(target, target.__data__);
-                    }
-                }
-            };
-        }
-
-        selection.on('mousedown.drag' + selector, delegate)
-            .on('touchstart.drag' + selector, delegate);
-    }
-
-    drag.off = function(selection) {
-        selection.on('mousedown.drag' + selector, null)
-            .on('touchstart.drag' + selector, null);
-    };
-
-    drag.delegate = function(_) {
-        if (!arguments.length) return selector;
-        selector = _;
-        return drag;
-    };
-
-    drag.filter = function(_) {
-        if (!arguments.length) return origin;
-        filter = _;
-        return drag;
-    };
-
-    drag.origin = function (_) {
-        if (!arguments.length) return origin;
-        origin = _;
-        return drag;
-    };
-
-    drag.cancel = function() {
-        d3.select(window)
-            .on('mousemove.drag', null)
-            .on('mouseup.drag', null);
-        return drag;
-    };
-
-    drag.target = function() {
-        if (!arguments.length) return target;
-        target = arguments[0];
-        event_ = event.of(target, Array.prototype.slice.call(arguments, 1));
-        return drag;
-    };
-
-    drag.surface = function() {
-        if (!arguments.length) return surface;
-        surface = arguments[0];
-        return drag;
-    };
-
-    return d3.rebind(drag, event, 'on');
-};
-iD.behavior.Draw = function(context) {
-    var event = d3.dispatch('move', 'click', 'clickWay',
-        'clickNode', 'undo', 'cancel', 'finish'),
-        keybinding = d3.keybinding('draw'),
-        hover = iD.behavior.Hover(context)
-            .altDisables(true)
-            .on('hover', context.ui().sidebar.hover),
-        tail = iD.behavior.Tail(),
-        edit = iD.behavior.Edit(context),
-        closeTolerance = 4,
-        tolerance = 12;
-
-    function datum() {
-        if (d3.event.altKey) return {};
-        else return d3.event.target.__data__ || {};
-    }
-
-    function mousedown() {
-
-        function point() {
-            var p = element.node().parentNode;
-            return touchId !== null ? d3.touches(p).filter(function(p) {
-                return p.identifier === touchId;
-            })[0] : d3.mouse(p);
-        }
-
-        var element = d3.select(this),
-            touchId = d3.event.touches ? d3.event.changedTouches[0].identifier : null,
-            time = +new Date(),
-            pos = point();
-
-        element.on('mousemove.draw', null);
-
-        d3.select(window).on('mouseup.draw', function() {
-            element.on('mousemove.draw', mousemove);
-            if (iD.geo.euclideanDistance(pos, point()) < closeTolerance ||
-                (iD.geo.euclideanDistance(pos, point()) < tolerance &&
-                (+new Date() - time) < 500)) {
-
-                // Prevent a quick second click
-                d3.select(window).on('click.draw-block', function() {
-                    d3.event.stopPropagation();
-                }, true);
-
-                context.map().dblclickEnable(false);
-
-                window.setTimeout(function() {
-                    context.map().dblclickEnable(true);
-                    d3.select(window).on('click.draw-block', null);
-                }, 500);
-
-                click();
-            }
-        });
-    }
-
-    function mousemove() {
-        event.move(datum());
-    }
-
-    function click() {
-        var d = datum();
-        if (d.type === 'way') {
-            var choice = iD.geo.chooseEdge(context.childNodes(d), context.mouse(), context.projection),
-                edge = [d.nodes[choice.index - 1], d.nodes[choice.index]];
-            event.clickWay(choice.loc, edge);
-
-        } else if (d.type === 'node') {
-            event.clickNode(d);
-
-        } else {
-            event.click(context.map().mouseCoordinates());
-        }
-    }
-
-    function backspace() {
-        d3.event.preventDefault();
-        event.undo();
-    }
-
-    function del() {
-        d3.event.preventDefault();
-        event.cancel();
-    }
-
-    function ret() {
-        d3.event.preventDefault();
-        event.finish();
-    }
-
-    function draw(selection) {
-        context.install(hover);
-        context.install(edit);
-
-        if (!iD.behavior.Draw.usedTails[tail.text()]) {
-            context.install(tail);
-        }
-
-        keybinding
-            .on('⌫', backspace)
-            .on('⌦', del)
-            .on('⎋', ret)
-            .on('↩', ret);
-
-        selection
-            .on('mousedown.draw', mousedown)
-            .on('mousemove.draw', mousemove);
-
-        d3.select(document)
-            .call(keybinding);
-
-        return draw;
-    }
-
-    draw.off = function(selection) {
-        context.uninstall(hover);
-        context.uninstall(edit);
-
-        if (!iD.behavior.Draw.usedTails[tail.text()]) {
-            context.uninstall(tail);
-            iD.behavior.Draw.usedTails[tail.text()] = true;
-        }
-
-        selection
-            .on('mousedown.draw', null)
-            .on('mousemove.draw', null);
-
-        d3.select(window)
-            .on('mouseup.draw', null);
-
-        d3.select(document)
-            .call(keybinding.off);
-    };
-
-    draw.tail = function(_) {
-        tail.text(_);
-        return draw;
-    };
-
-    return d3.rebind(draw, event, 'on');
-};
-
-iD.behavior.Draw.usedTails = {};
-iD.behavior.DrawWay = function(context, wayId, index, mode, baseGraph) {
-    var way = context.entity(wayId),
-        isArea = context.geometry(wayId) === 'area',
-        finished = false,
-        annotation = t((way.isDegenerate() ?
-            'operations.start.annotation.' :
-            'operations.continue.annotation.') + context.geometry(wayId)),
-        draw = iD.behavior.Draw(context);
-
-    var startIndex = typeof index === 'undefined' ? way.nodes.length - 1 : 0,
-        start = iD.Node({loc: context.graph().entity(way.nodes[startIndex]).loc}),
-        end = iD.Node({loc: context.map().mouseCoordinates()}),
-        segment = iD.Way({
-            nodes: typeof index === 'undefined' ? [start.id, end.id] : [end.id, start.id],
-            tags: _.clone(way.tags)
-        });
-
-    var f = context[way.isDegenerate() ? 'replace' : 'perform'];
-    if (isArea) {
-        f(iD.actions.AddEntity(end),
-            iD.actions.AddVertex(wayId, end.id, index));
-    } else {
-        f(iD.actions.AddEntity(start),
-            iD.actions.AddEntity(end),
-            iD.actions.AddEntity(segment));
-    }
-
-    function move(datum) {
-        var loc;
-
-        if (datum.type === 'node' && datum.id !== end.id) {
-            loc = datum.loc;
-        } else if (datum.type === 'way' && datum.id !== segment.id) {
-            loc = iD.geo.chooseEdge(context.childNodes(datum), context.mouse(), context.projection).loc;
-        } else {
-            loc = context.map().mouseCoordinates();
-        }
-
-        context.replace(iD.actions.MoveNode(end.id, loc));
-    }
-
-    function undone() {
-        finished = true;
-        context.enter(iD.modes.Browse(context));
-    }
-
-    function setActiveElements() {
-        var active = isArea ? [wayId, end.id] : [segment.id, start.id, end.id];
-        context.surface().selectAll(iD.util.entitySelector(active))
-            .classed('active', true);
-    }
-
-    var drawWay = function(surface) {
-        draw.on('move', move)
-            .on('click', drawWay.add)
-            .on('clickWay', drawWay.addWay)
-            .on('clickNode', drawWay.addNode)
-            .on('undo', context.undo)
-            .on('cancel', drawWay.cancel)
-            .on('finish', drawWay.finish);
-
-        context.map()
-            .dblclickEnable(false)
-            .on('drawn.draw', setActiveElements);
-
-        setActiveElements();
-
-        surface.call(draw);
-
-        context.history()
-            .on('undone.draw', undone);
-    };
-
-    drawWay.off = function(surface) {
-        if (!finished)
-            context.pop();
-
-        context.map()
-            .on('drawn.draw', null);
-
-        surface.call(draw.off)
-            .selectAll('.active')
-            .classed('active', false);
-
-        context.history()
-            .on('undone.draw', null);
-    };
-
-    function ReplaceTemporaryNode(newNode) {
-        return function(graph) {
-            if (isArea) {
-                return graph
-                    .replace(way.addNode(newNode.id, index))
-                    .remove(end);
-
-            } else {
-                return graph
-                    .replace(graph.entity(wayId).addNode(newNode.id, index))
-                    .remove(end)
-                    .remove(segment)
-                    .remove(start);
-            }
-        };
-    }
-
-    // Accept the current position of the temporary node and continue drawing.
-    drawWay.add = function(loc) {
-
-        // prevent duplicate nodes
-        var last = context.hasEntity(way.nodes[way.nodes.length - (isArea ? 2 : 1)]);
-        if (last && last.loc[0] === loc[0] && last.loc[1] === loc[1]) return;
-
-        var newNode = iD.Node({loc: loc});
-
-        context.replace(
-            iD.actions.AddEntity(newNode),
-            ReplaceTemporaryNode(newNode),
-            annotation);
-
-        finished = true;
-        context.enter(mode);
-    };
-
-    // Connect the way to an existing way.
-    drawWay.addWay = function(loc, edge) {
-        var previousEdge = startIndex ?
-            [way.nodes[startIndex], way.nodes[startIndex - 1]] :
-            [way.nodes[0], way.nodes[1]];
-
-        // Avoid creating duplicate segments
-        if (!isArea && iD.geo.edgeEqual(edge, previousEdge))
-            return;
-
-        var newNode = iD.Node({ loc: loc });
-
-        context.perform(
-            iD.actions.AddMidpoint({ loc: loc, edge: edge}, newNode),
-            ReplaceTemporaryNode(newNode),
-            annotation);
-
-        finished = true;
-        context.enter(mode);
-    };
-
-    // Connect the way to an existing node and continue drawing.
-    drawWay.addNode = function(node) {
-
-        // Avoid creating duplicate segments
-        if (way.areAdjacent(node.id, way.nodes[way.nodes.length - 1])) return;
-
-        context.perform(
-            ReplaceTemporaryNode(node),
-            annotation);
-
-        finished = true;
-        context.enter(mode);
-    };
-
-    // Finish the draw operation, removing the temporary node. If the way has enough
-    // nodes to be valid, it's selected. Otherwise, return to browse mode.
-    drawWay.finish = function() {
-        context.pop();
-        finished = true;
-
-        window.setTimeout(function() {
-            context.map().dblclickEnable(true);
-        }, 1000);
-
-        if (context.hasEntity(wayId)) {
-            context.enter(
-                iD.modes.Select(context, [wayId])
-                    .suppressMenu(true)
-                    .newFeature(true));
-        } else {
-            context.enter(iD.modes.Browse(context));
-        }
-    };
-
-    // Cancel the draw operation and return to browse, deleting everything drawn.
-    drawWay.cancel = function() {
-        context.perform(
-            d3.functor(baseGraph),
-            t('operations.cancel_draw.annotation'));
-
-        window.setTimeout(function() {
-            context.map().dblclickEnable(true);
-        }, 1000);
-
-        finished = true;
-        context.enter(iD.modes.Browse(context));
-    };
-
-    drawWay.tail = function(text) {
-        draw.tail(text);
-        return drawWay;
-    };
-
-    return drawWay;
-};
-iD.behavior.Edit = function(context) {
-    function edit() {
-        context.map()
-            .minzoom(16);
-    }
-
-    edit.off = function() {
-        context.map()
-            .minzoom(0);
-    };
-
-    return edit;
-};
-iD.behavior.Hash = function(context) {
-    var s0 = null, // cached location.hash
-        lat = 90 - 1e-8; // allowable latitude range
-
-    var parser = function(map, s) {
-        var q = iD.util.stringQs(s);
-        var args = (q.map || '').split('/').map(Number);
-        if (args.length < 3 || args.some(isNaN)) {
-            return true; // replace bogus hash
-        } else if (s !== formatter(map).slice(1)) {
-            map.centerZoom([args[1],
-                Math.min(lat, Math.max(-lat, args[2]))], args[0]);
-        }
-    };
-
-    var formatter = function(map) {
-        var mode = context.mode(),
-            center = map.center(),
-            zoom = map.zoom(),
-            precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2)),
-            q = iD.util.stringQs(location.hash.substring(1)),
-            newParams = {};
-
-        if (mode && mode.id === 'browse') {
-            delete q.id;
-        } else {
-            var selected = context.selectedIDs().filter(function(id) {
-                return !context.entity(id).isNew();
-            });
-            if (selected.length) {
-                newParams.id = selected.join(',');
-            }
-        }
-
-        newParams.map = zoom.toFixed(2) +
-                '/' + center[0].toFixed(precision) +
-                '/' + center[1].toFixed(precision);
-
-        return '#' + iD.util.qsString(_.assign(q, newParams), true);
-    };
-
-    function update() {
-        var s1 = formatter(context.map());
-        if (s0 !== s1) location.replace(s0 = s1); // don't recenter the map!
-    }
-
-    var throttledUpdate = _.throttle(update, 500);
-
-    function hashchange() {
-        if (location.hash === s0) return; // ignore spurious hashchange events
-        if (parser(context.map(), (s0 = location.hash).substring(1))) {
-            update(); // replace bogus hash
-        }
-    }
-
-    function hash() {
-        context.map()
-            .on('move.hash', throttledUpdate);
-
-        context
-            .on('enter.hash', throttledUpdate);
-
-        d3.select(window)
-            .on('hashchange.hash', hashchange);
-
-        if (location.hash) {
-            var q = iD.util.stringQs(location.hash.substring(1));
-            if (q.id) context.loadEntity(q.id.split(',')[0], !q.map);
-            hashchange();
-            if (q.map) hash.hadHash = true;
-        }
-    }
-
-    hash.off = function() {
-        context.map()
-            .on('move.hash', null);
-
-        context
-            .on('enter.hash', null);
-
-        d3.select(window)
-            .on('hashchange.hash', null);
-
-        location.hash = '';
-    };
-
-    return hash;
-};
-/*
-   The hover behavior adds the `.hover` class on mouseover to all elements to which
-   the identical datum is bound, and removes it on mouseout.
-
-   The :hover pseudo-class is insufficient for iD's purposes because a datum's visual
-   representation may consist of several elements scattered throughout the DOM hierarchy.
-   Only one of these elements can have the :hover pseudo-class, but all of them will
-   have the .hover class.
- */
-iD.behavior.Hover = function() {
-    var dispatch = d3.dispatch('hover'),
-        selection,
-        altDisables,
-        target;
-
-    function keydown() {
-        if (altDisables && d3.event.keyCode === d3.keybinding.modifierCodes.alt) {
-            dispatch.hover(null);
-            selection.selectAll('.hover')
-                .classed('hover-suppressed', true)
-                .classed('hover', false);
-        }
-    }
-
-    function keyup() {
-        if (altDisables && d3.event.keyCode === d3.keybinding.modifierCodes.alt) {
-            dispatch.hover(target ? target.id : null);
-            selection.selectAll('.hover-suppressed')
-                .classed('hover-suppressed', false)
-                .classed('hover', true);
-        }
-    }
-
-    var hover = function(__) {
-        selection = __;
-
-        function enter(d) {
-            if (d === target) return;
-
-            target = d;
-
-            selection.selectAll('.hover')
-                .classed('hover', false);
-            selection.selectAll('.hover-suppressed')
-                .classed('hover-suppressed', false);
-
-            if (target instanceof iD.Entity) {
-                var selector = '.' + target.id;
-
-                if (target.type === 'relation') {
-                    target.members.forEach(function(member) {
-                        selector += ', .' + member.id;
-                    });
-                }
-
-                var suppressed = altDisables && d3.event && d3.event.altKey;
-
-                selection.selectAll(selector)
-                    .classed(suppressed ? 'hover-suppressed' : 'hover', true);
-
-                dispatch.hover(target.id);
-            } else {
-                dispatch.hover(null);
-            }
-        }
-
-        var down;
-
-        function mouseover() {
-            if (down) return;
-            var target = d3.event.target;
-            enter(target ? target.__data__ : null);
-        }
-
-        function mouseout() {
-            if (down) return;
-            var target = d3.event.relatedTarget;
-            enter(target ? target.__data__ : null);
-        }
-
-        function mousedown() {
-            down = true;
-            d3.select(window)
-                .on('mouseup.hover', mouseup);
-        }
-
-        function mouseup() {
-            down = false;
-        }
-
-        selection
-            .on('mouseover.hover', mouseover)
-            .on('mouseout.hover', mouseout)
-            .on('mousedown.hover', mousedown)
-            .on('mouseup.hover', mouseup);
-
-        d3.select(window)
-            .on('keydown.hover', keydown)
-            .on('keyup.hover', keyup);
-    };
-
-    hover.off = function(selection) {
-        selection.selectAll('.hover')
-            .classed('hover', false);
-        selection.selectAll('.hover-suppressed')
-            .classed('hover-suppressed', false);
-
-        selection
-            .on('mouseover.hover', null)
-            .on('mouseout.hover', null)
-            .on('mousedown.hover', null)
-            .on('mouseup.hover', null);
-
-        d3.select(window)
-            .on('keydown.hover', null)
-            .on('keyup.hover', null)
-            .on('mouseup.hover', null);
-    };
-
-    hover.altDisables = function(_) {
-        if (!arguments.length) return altDisables;
-        altDisables = _;
-        return hover;
-    };
-
-    return d3.rebind(hover, dispatch, 'on');
-};
-iD.behavior.Lasso = function(context) {
-
-    var behavior = function(selection) {
-
-        var mouse = null,
-            lasso;
-
-        function mousedown() {
-            if (d3.event.shiftKey === true) {
-
-                mouse = context.mouse();
-                lasso = null;
-
-                selection
-                    .on('mousemove.lasso', mousemove)
-                    .on('mouseup.lasso', mouseup);
-
-                d3.event.stopPropagation();
-            }
-        }
-
-        function mousemove() {
-            if (!lasso) {
-                lasso = iD.ui.Lasso(context).a(mouse);
-                context.surface().call(lasso);
-            }
-
-            lasso.b(context.mouse());
-        }
-
-        function normalize(a, b) {
-            return [
-                [Math.min(a[0], b[0]), Math.min(a[1], b[1])],
-                [Math.max(a[0], b[0]), Math.max(a[1], b[1])]];
-        }
-
-        function mouseup() {
-
-            selection
-                .on('mousemove.lasso', null)
-                .on('mouseup.lasso', null);
-
-            if (!lasso) return;
-
-            var extent = iD.geo.Extent(
-                normalize(context.projection.invert(lasso.a()),
-                context.projection.invert(lasso.b())));
-
-            lasso.close();
-
-            var selected = context.intersects(extent).filter(function (entity) {
-                return entity.type === 'node';
-            });
-
-            if (selected.length) {
-                context.enter(iD.modes.Select(context, _.pluck(selected, 'id')));
-            }
-        }
-
-        selection
-            .on('mousedown.lasso', mousedown);
-    };
-
-    behavior.off = function(selection) {
-        selection.on('mousedown.lasso', null);
-    };
-
-    return behavior;
-};
-iD.behavior.Select = function(context) {
-    function keydown() {
-        if (d3.event && d3.event.shiftKey) {
-            context.surface()
-                .classed('behavior-multiselect', true);
-        }
-    }
-
-    function keyup() {
-        if (!d3.event || !d3.event.shiftKey) {
-            context.surface()
-                .classed('behavior-multiselect', false);
-        }
-    }
-
-    function click() {
-        var datum = d3.event.target.__data__;
-        var lasso = d3.select('#surface .lasso').node();
-        if (!(datum instanceof iD.Entity)) {
-            if (!d3.event.shiftKey && !lasso)
-                context.enter(iD.modes.Browse(context));
-
-        } else if (!d3.event.shiftKey && !lasso) {
-            // Avoid re-entering Select mode with same entity.
-            if (context.selectedIDs().length !== 1 || context.selectedIDs()[0] !== datum.id) {
-                context.enter(iD.modes.Select(context, [datum.id]));
-            } else {
-                context.mode().reselect();
-            }
-        } else if (context.selectedIDs().indexOf(datum.id) >= 0) {
-            var selectedIDs = _.without(context.selectedIDs(), datum.id);
-            context.enter(selectedIDs.length ?
-                iD.modes.Select(context, selectedIDs) :
-                iD.modes.Browse(context));
-
-        } else {
-            context.enter(iD.modes.Select(context, context.selectedIDs().concat([datum.id])));
-        }
-    }
-
-    var behavior = function(selection) {
-        d3.select(window)
-            .on('keydown.select', keydown)
-            .on('keyup.select', keyup);
-
-        selection.on('click.select', click);
-
-        keydown();
-    };
-
-    behavior.off = function(selection) {
-        d3.select(window)
-            .on('keydown.select', null)
-            .on('keyup.select', null);
-
-        selection.on('click.select', null);
-
-        keyup();
-    };
-
-    return behavior;
-};
-iD.behavior.Tail = function() {
-    var text,
-        container,
-        xmargin = 25,
-        tooltipSize = [0, 0],
-        selectionSize = [0, 0];
-
-    function tail(selection) {
-        if (!text) return;
-
-        d3.select(window)
-            .on('resize.tail', function() { selectionSize = selection.dimensions(); });
-
-        function show() {
-            container.style('display', 'block');
-            tooltipSize = container.dimensions();
-        }
-
-        function mousemove() {
-            if (container.style('display') === 'none') show();
-            var xoffset = ((d3.event.clientX + tooltipSize[0] + xmargin) > selectionSize[0]) ?
-                -tooltipSize[0] - xmargin : xmargin;
-            container.classed('left', xoffset > 0);
-            iD.util.setTransform(container, d3.event.clientX + xoffset, d3.event.clientY);
-        }
-
-        function mouseleave() {
-            if (d3.event.relatedTarget !== container.node()) {
-                container.style('display', 'none');
-            }
-        }
-
-        function mouseenter() {
-            if (d3.event.relatedTarget !== container.node()) {
-                show();
-            }
-        }
-
-        container = d3.select(document.body)
-            .append('div')
-            .style('display', 'none')
-            .attr('class', 'tail tooltip-inner');
-
-        container.append('div')
-            .text(text);
-
-        selection
-            .on('mousemove.tail', mousemove)
-            .on('mouseenter.tail', mouseenter)
-            .on('mouseleave.tail', mouseleave);
-
-        container
-            .on('mousemove.tail', mousemove);
-
-        tooltipSize = container.dimensions();
-        selectionSize = selection.dimensions();
-    }
-
-    tail.off = function(selection) {
-        if (!text) return;
-
-        container
-            .on('mousemove.tail', null)
-            .remove();
-
-        selection
-            .on('mousemove.tail', null)
-            .on('mouseenter.tail', null)
-            .on('mouseleave.tail', null);
-
-        d3.select(window)
-            .on('resize.tail', null);
-    };
-
-    tail.text = function(_) {
-        if (!arguments.length) return text;
-        text = _;
-        return tail;
-    };
-
-    return tail;
-};
-iD.modes = {};
-iD.modes.AddArea = function(context) {
-    var mode = {
-        id: 'add-area',
-        button: 'area',
-        title: t('modes.add_area.title'),
-        description: t('modes.add_area.description'),
-        key: '3'
-    };
-
-    var behavior = iD.behavior.AddWay(context)
-            .tail(t('modes.add_area.tail'))
-            .on('start', start)
-            .on('startFromWay', startFromWay)
-            .on('startFromNode', startFromNode),
-        defaultTags = {area: 'yes'};
-
-    function start(loc) {
-        var graph = context.graph(),
-            node = iD.Node({loc: loc}),
-            way = iD.Way({tags: defaultTags});
-
-        context.perform(
-            iD.actions.AddEntity(node),
-            iD.actions.AddEntity(way),
-            iD.actions.AddVertex(way.id, node.id),
-            iD.actions.AddVertex(way.id, node.id));
-
-        context.enter(iD.modes.DrawArea(context, way.id, graph));
-    }
-
-    function startFromWay(loc, edge) {
-        var graph = context.graph(),
-            node = iD.Node({loc: loc}),
-            way = iD.Way({tags: defaultTags});
-
-        context.perform(
-            iD.actions.AddEntity(node),
-            iD.actions.AddEntity(way),
-            iD.actions.AddVertex(way.id, node.id),
-            iD.actions.AddVertex(way.id, node.id),
-            iD.actions.AddMidpoint({ loc: loc, edge: edge }, node));
-
-        context.enter(iD.modes.DrawArea(context, way.id, graph));
-    }
-
-    function startFromNode(node) {
-        var graph = context.graph(),
-            way = iD.Way({tags: defaultTags});
-
-        context.perform(
-            iD.actions.AddEntity(way),
-            iD.actions.AddVertex(way.id, node.id),
-            iD.actions.AddVertex(way.id, node.id));
-
-        context.enter(iD.modes.DrawArea(context, way.id, graph));
-    }
-
-    mode.enter = function() {
-        context.install(behavior);
-    };
-
-    mode.exit = function() {
-        context.uninstall(behavior);
-    };
-
-    return mode;
-};
-iD.modes.AddLine = function(context) {
-    var mode = {
-        id: 'add-line',
-        button: 'line',
-        title: t('modes.add_line.title'),
-        description: t('modes.add_line.description'),
-        key: '2'
-    };
-
-    var behavior = iD.behavior.AddWay(context)
-        .tail(t('modes.add_line.tail'))
-        .on('start', start)
-        .on('startFromWay', startFromWay)
-        .on('startFromNode', startFromNode);
-
-    function start(loc) {
-        var graph = context.graph(),
-            node = iD.Node({loc: loc}),
-            way = iD.Way();
-
-        context.perform(
-            iD.actions.AddEntity(node),
-            iD.actions.AddEntity(way),
-            iD.actions.AddVertex(way.id, node.id));
-
-        context.enter(iD.modes.DrawLine(context, way.id, graph));
-    }
-
-    function startFromWay(loc, edge) {
-        var graph = context.graph(),
-            node = iD.Node({loc: loc}),
-            way = iD.Way();
-
-        context.perform(
-            iD.actions.AddEntity(node),
-            iD.actions.AddEntity(way),
-            iD.actions.AddVertex(way.id, node.id),
-            iD.actions.AddMidpoint({ loc: loc, edge: edge }, node));
-
-        context.enter(iD.modes.DrawLine(context, way.id, graph));
-    }
-
-    function startFromNode(node) {
-        var way = iD.Way();
-
-        context.perform(
-            iD.actions.AddEntity(way),
-            iD.actions.AddVertex(way.id, node.id));
-
-        context.enter(iD.modes.DrawLine(context, way.id, context.graph()));
-    }
-
-    mode.enter = function() {
-        context.install(behavior);
-    };
-
-    mode.exit = function() {
-        context.uninstall(behavior);
-    };
-
-    return mode;
-};
-iD.modes.AddPoint = function(context) {
-    var mode = {
-        id: 'add-point',
-        button: 'point',
-        title: t('modes.add_point.title'),
-        description: t('modes.add_point.description'),
-        key: '1'
-    };
-
-    var behavior = iD.behavior.Draw(context)
-        .tail(t('modes.add_point.tail'))
-        .on('click', add)
-        .on('clickWay', addWay)
-        .on('clickNode', addNode)
-        .on('cancel', cancel)
-        .on('finish', cancel);
-
-    function add(loc) {
-        var node = iD.Node({loc: loc});
-
-        context.perform(
-            iD.actions.AddEntity(node),
-            t('operations.add.annotation.point'));
-
-        context.enter(
-            iD.modes.Select(context, [node.id])
-                .suppressMenu(true)
-                .newFeature(true));
-    }
-
-    function addWay(loc) {
-        add(loc);
-    }
-
-    function addNode(node) {
-        add(node.loc);
-    }
-
-    function cancel() {
-        context.enter(iD.modes.Browse(context));
-    }
-
-    mode.enter = function() {
-        context.install(behavior);
-    };
-
-    mode.exit = function() {
-        context.uninstall(behavior);
-    };
-
-    return mode;
-};
-iD.modes.Browse = function(context) {
-    var mode = {
-        button: 'browse',
-        id: 'browse',
-        title: t('modes.browse.title'),
-        description: t('modes.browse.description')
-    }, sidebar;
-
-    var behaviors = [
-        iD.behavior.Hover(context)
-            .on('hover', context.ui().sidebar.hover),
-        iD.behavior.Select(context),
-        iD.behavior.Lasso(context),
-        iD.modes.DragNode(context).behavior];
-
-    mode.enter = function() {
-        behaviors.forEach(function(behavior) {
-            context.install(behavior);
-        });
-
-        // Get focus on the body.
-        if (document.activeElement && document.activeElement.blur) {
-            document.activeElement.blur();
-        }
-
-        if (sidebar) {
-            context.ui().sidebar.show(sidebar);
-        } else {
-            context.ui().sidebar.select(null);
-        }
-    };
-
-    mode.exit = function() {
-        behaviors.forEach(function(behavior) {
-            context.uninstall(behavior);
-        });
-
-        if (sidebar) {
-            context.ui().sidebar.hide(sidebar);
-        }
-    };
-
-    mode.sidebar = function(_) {
-        if (!arguments.length) return sidebar;
-        sidebar = _;
-        return mode;
-    };
-
-    return mode;
-};
-iD.modes.DragNode = function(context) {
-    var mode = {
-        id: 'drag-node',
-        button: 'browse'
-    };
-
-    var nudgeInterval,
-        activeIDs,
-        wasMidpoint,
-        cancelled,
-        selectedIDs = [],
-        hover = iD.behavior.Hover(context)
-            .altDisables(true)
-            .on('hover', context.ui().sidebar.hover),
-        edit = iD.behavior.Edit(context);
-
-    function edge(point, size) {
-        var pad = [30, 100, 30, 100];
-        if (point[0] > size[0] - pad[0]) return [-10, 0];
-        else if (point[0] < pad[2]) return [10, 0];
-        else if (point[1] > size[1] - pad[1]) return [0, -10];
-        else if (point[1] < pad[3]) return [0, 10];
-        return null;
-    }
-
-    function startNudge(nudge) {
-        if (nudgeInterval) window.clearInterval(nudgeInterval);
-        nudgeInterval = window.setInterval(function() {
-            context.pan(nudge);
-        }, 50);
-    }
-
-    function stopNudge() {
-        if (nudgeInterval) window.clearInterval(nudgeInterval);
-        nudgeInterval = null;
-    }
-
-    function moveAnnotation(entity) {
-        return t('operations.move.annotation.' + entity.geometry(context.graph()));
-    }
-
-    function connectAnnotation(entity) {
-        return t('operations.connect.annotation.' + entity.geometry(context.graph()));
-    }
-
-    function origin(entity) {
-        return context.projection(entity.loc);
-    }
-
-    function start(entity) {
-        cancelled = d3.event.sourceEvent.shiftKey;
-        if (cancelled) return behavior.cancel();
-
-        wasMidpoint = entity.type === 'midpoint';
-        if (wasMidpoint) {
-            var midpoint = entity;
-            entity = iD.Node();
-            context.perform(iD.actions.AddMidpoint(midpoint, entity));
-
-             var vertex = context.surface()
-                .selectAll('.' + entity.id);
-             behavior.target(vertex.node(), entity);
-
-        } else {
-            context.perform(
-                iD.actions.Noop());
-        }
-
-        activeIDs = _.pluck(context.graph().parentWays(entity), 'id');
-        activeIDs.push(entity.id);
-
-        context.enter(mode);
-    }
-
-    function datum() {
-        if (d3.event.sourceEvent.altKey) {
-            return {};
-        }
-
-        return d3.event.sourceEvent.target.__data__ || {};
-    }
-
-    // via https://gist.github.com/shawnbot/4166283
-    function childOf(p, c) {
-        if (p === c) return false;
-        while (c && c !== p) c = c.parentNode;
-        return c === p;
-    }
-
-    function move(entity) {
-        if (cancelled) return;
-        d3.event.sourceEvent.stopPropagation();
-
-        var nudge = childOf(context.container().node(),
-            d3.event.sourceEvent.toElement) &&
-            edge(d3.event.point, context.map().dimensions());
-
-        if (nudge) startNudge(nudge);
-        else stopNudge();
-
-        var loc = context.map().mouseCoordinates();
-
-        var d = datum();
-        if (d.type === 'node' && d.id !== entity.id) {
-            loc = d.loc;
-        } else if (d.type === 'way' && !d3.select(d3.event.sourceEvent.target).classed('fill')) {
-            loc = iD.geo.chooseEdge(context.childNodes(d), context.mouse(), context.projection).loc;
-        }
-
-        context.replace(
-            iD.actions.MoveNode(entity.id, loc),
-            moveAnnotation(entity));
-    }
-
-    function end(entity) {
-        if (cancelled) return;
-
-        var d = datum();
-
-        if (d.type === 'way') {
-            var choice = iD.geo.chooseEdge(context.childNodes(d), context.mouse(), context.projection);
-            context.replace(
-                iD.actions.AddMidpoint({ loc: choice.loc, edge: [d.nodes[choice.index - 1], d.nodes[choice.index]] }, entity),
-                connectAnnotation(d));
-
-        } else if (d.type === 'node' && d.id !== entity.id) {
-            context.replace(
-                iD.actions.Connect([d.id, entity.id]),
-                connectAnnotation(d));
-
-        } else if (wasMidpoint) {
-            context.replace(
-                iD.actions.Noop(),
-                t('operations.add.annotation.vertex'));
-
-        } else {
-            context.replace(
-                iD.actions.Noop(),
-                moveAnnotation(entity));
-        }
-
-        var reselection = selectedIDs.filter(function(id) {
-            return context.graph().hasEntity(id);
-        });
-
-        if (reselection.length) {
-            context.enter(
-                iD.modes.Select(context, reselection)
-                    .suppressMenu(true));
-        } else {
-            context.enter(iD.modes.Browse(context));
-        }
-    }
-
-    function cancel() {
-        behavior.cancel();
-        context.enter(iD.modes.Browse(context));
-    }
-
-    function setActiveElements() {
-        context.surface().selectAll(iD.util.entitySelector(activeIDs))
-            .classed('active', true);
-    }
-
-    var behavior = iD.behavior.drag()
-        .delegate('g.node, g.point, g.midpoint')
-        .surface(context.surface().node())
-        .origin(origin)
-        .on('start', start)
-        .on('move', move)
-        .on('end', end);
-
-    mode.enter = function() {
-        context.install(hover);
-        context.install(edit);
-
-        context.history()
-            .on('undone.drag-node', cancel);
-
-        context.map()
-            .on('drawn.drag-node', setActiveElements);
-
-        setActiveElements();
-    };
-
-    mode.exit = function() {
-        context.uninstall(hover);
-        context.uninstall(edit);
-
-        context.history()
-            .on('undone.drag-node', null);
-
-        context.map()
-            .on('drawn.drag-node', null);
-
-        context.surface()
-            .selectAll('.active')
-            .classed('active', false);
-
-        stopNudge();
-    };
-
-    mode.selectedIDs = function(_) {
-        if (!arguments.length) return selectedIDs;
-        selectedIDs = _;
-        return mode;
-    };
-
-    mode.behavior = behavior;
-
-    return mode;
-};
-iD.modes.DrawArea = function(context, wayId, baseGraph) {
-    var mode = {
-        button: 'area',
-        id: 'draw-area'
-    };
-
-    var behavior;
-
-    mode.enter = function() {
-        var way = context.entity(wayId),
-            headId = way.nodes[way.nodes.length - 2],
-            tailId = way.first();
-
-        behavior = iD.behavior.DrawWay(context, wayId, -1, mode, baseGraph)
-            .tail(t('modes.draw_area.tail'));
-
-        var addNode = behavior.addNode;
-
-        behavior.addNode = function(node) {
-            if (node.id === headId || node.id === tailId) {
-                behavior.finish();
-            } else {
-                addNode(node);
-            }
-        };
-
-        context.install(behavior);
-    };
-
-    mode.exit = function() {
-        context.uninstall(behavior);
-    };
-
-    mode.selectedIDs = function() {
-        return [wayId];
-    };
-
-    return mode;
-};
-iD.modes.DrawLine = function(context, wayId, baseGraph, affix) {
-    var mode = {
-        button: 'line',
-        id: 'draw-line'
-    };
-
-    var behavior;
-
-    mode.enter = function() {
-        var way = context.entity(wayId),
-            index = (affix === 'prefix') ? 0 : undefined,
-            headId = (affix === 'prefix') ? way.first() : way.last();
-
-        behavior = iD.behavior.DrawWay(context, wayId, index, mode, baseGraph)
-            .tail(t('modes.draw_line.tail'));
-
-        var addNode = behavior.addNode;
-
-        behavior.addNode = function(node) {
-            if (node.id === headId) {
-                behavior.finish();
-            } else {
-                addNode(node);
-            }
-        };
-
-        context.install(behavior);
-    };
-
-    mode.exit = function() {
-        context.uninstall(behavior);
-    };
-
-    mode.selectedIDs = function() {
-        return [wayId];
-    };
-
-    return mode;
-};
-iD.modes.Move = function(context, entityIDs) {
-    var mode = {
-        id: 'move',
-        button: 'browse'
-    };
-
-    var keybinding = d3.keybinding('move'),
-        edit = iD.behavior.Edit(context),
-        annotation = entityIDs.length === 1 ?
-            t('operations.move.annotation.' + context.geometry(entityIDs[0])) :
-            t('operations.move.annotation.multiple'),
-        origin,
-        nudgeInterval;
-
-    function edge(point, size) {
-        var pad = [30, 100, 30, 100];
-        if (point[0] > size[0] - pad[0]) return [-10, 0];
-        else if (point[0] < pad[2]) return [10, 0];
-        else if (point[1] > size[1] - pad[1]) return [0, -10];
-        else if (point[1] < pad[3]) return [0, 10];
-        return null;
-    }
-
-    function startNudge(nudge) {
-        if (nudgeInterval) window.clearInterval(nudgeInterval);
-        nudgeInterval = window.setInterval(function() {
-            context.pan(nudge);
-            context.replace(
-                iD.actions.Move(entityIDs, [-nudge[0], -nudge[1]], context.projection),
-                annotation);
-            var c = context.projection(origin);
-            origin = context.projection.invert([c[0] - nudge[0], c[1] - nudge[1]]);
-        }, 50);
-    }
-
-    function stopNudge() {
-        if (nudgeInterval) window.clearInterval(nudgeInterval);
-        nudgeInterval = null;
-    }
-
-    function move() {
-        var p = context.mouse();
-
-        var delta = origin ?
-            [p[0] - context.projection(origin)[0],
-                p[1] - context.projection(origin)[1]] :
-            [0, 0];
-
-        var nudge = edge(p, context.map().dimensions());
-        if (nudge) startNudge(nudge);
-        else stopNudge();
-
-        origin = context.map().mouseCoordinates();
-
-        context.replace(
-            iD.actions.Move(entityIDs, delta, context.projection),
-            annotation);
-    }
-
-    function finish() {
-        d3.event.stopPropagation();
-        context.enter(iD.modes.Select(context, entityIDs)
-            .suppressMenu(true));
-        stopNudge();
-    }
-
-    function cancel() {
-        context.pop();
-        context.enter(iD.modes.Select(context, entityIDs)
-            .suppressMenu(true));
-        stopNudge();
-    }
-
-    function undone() {
-        context.enter(iD.modes.Browse(context));
-    }
-
-    mode.enter = function() {
-        context.install(edit);
-
-        context.perform(
-            iD.actions.Noop(),
-            annotation);
-
-        context.surface()
-            .on('mousemove.move', move)
-            .on('click.move', finish);
-
-        context.history()
-            .on('undone.move', undone);
-
-        keybinding
-            .on('⎋', cancel)
-            .on('↩', finish);
-
-        d3.select(document)
-            .call(keybinding);
-    };
-
-    mode.exit = function() {
-        stopNudge();
-
-        context.uninstall(edit);
-
-        context.surface()
-            .on('mousemove.move', null)
-            .on('click.move', null);
-
-        context.history()
-            .on('undone.move', null);
-
-        keybinding.off();
-    };
-
-    return mode;
-};
-iD.modes.RotateWay = function(context, wayId) {
-    var mode = {
-        id: 'rotate-way',
-        button: 'browse'
-    };
-
-    var keybinding = d3.keybinding('rotate-way'),
-        edit = iD.behavior.Edit(context);
-
-    mode.enter = function() {
-        context.install(edit);
-
-        var annotation = t('operations.rotate.annotation.' + context.geometry(wayId)),
-            way = context.graph().entity(wayId),
-            nodes = _.uniq(context.graph().childNodes(way)),
-            points = nodes.map(function(n) { return context.projection(n.loc); }),
-            pivot = d3.geom.polygon(points).centroid(),
-            angle;
-
-        context.perform(
-            iD.actions.Noop(),
-            annotation);
-
-        function rotate() {
-
-            var mousePoint = context.mouse(),
-                newAngle = Math.atan2(mousePoint[1] - pivot[1], mousePoint[0] - pivot[0]);
-
-            if (typeof angle === 'undefined') angle = newAngle;
-
-            context.replace(
-                iD.actions.RotateWay(wayId, pivot, newAngle - angle, context.projection),
-                annotation);
-
-            angle = newAngle;
-        }
-
-        function finish() {
-            d3.event.stopPropagation();
-            context.enter(iD.modes.Select(context, [wayId])
-                .suppressMenu(true));
-        }
-
-        function cancel() {
-            context.pop();
-            context.enter(iD.modes.Select(context, [wayId])
-                .suppressMenu(true));
-        }
-
-        function undone() {
-            context.enter(iD.modes.Browse(context));
-        }
-
-        context.surface()
-            .on('mousemove.rotate-way', rotate)
-            .on('click.rotate-way', finish);
-
-        context.history()
-            .on('undone.rotate-way', undone);
-
-        keybinding
-            .on('⎋', cancel)
-            .on('↩', finish);
-
-        d3.select(document)
-            .call(keybinding);
-    };
-
-    mode.exit = function() {
-        context.uninstall(edit);
-
-        context.surface()
-            .on('mousemove.rotate-way', null)
-            .on('click.rotate-way', null);
-
-        context.history()
-            .on('undone.rotate-way', null);
-
-        keybinding.off();
-    };
-
-    return mode;
-};
-iD.modes.Save = function(context) {
-    var ui = iD.ui.Commit(context)
-        .on('cancel', cancel)
-        .on('save', save);
-
-    function cancel() {
-        context.enter(iD.modes.Browse(context));
-    }
-
-    function save(e) {
-        var loading = iD.ui.Loading(context)
-            .message(t('save.uploading'))
-            .blocking(true);
-
-        context.container()
-            .call(loading);
-
-        context.connection().putChangeset(
-            context.history().changes(iD.actions.DiscardTags(context.history().difference())),
-            e.comment,
-            context.history().imageryUsed(),
-            function(err, changeset_id) {
-                loading.close();
-                if (err) {
-                    var confirm = iD.ui.confirm(context.container());
-                    confirm
-                        .select('.modal-section.header')
-                        .append('h3')
-                        .text(t('save.error'));
-                    confirm
-                        .select('.modal-section.message-text')
-                        .append('p')
-                        .text(err.responseText);
-                } else {
-                    context.flush();
-                    success(e, changeset_id);
-                }
-            });
-    }
-
-    function success(e, changeset_id) {
-        context.enter(iD.modes.Browse(context)
-            .sidebar(iD.ui.Success(context)
-                .changeset({
-                    id: changeset_id,
-                    comment: e.comment
-                })
-                .on('cancel', function(ui) {
-                    context.ui().sidebar.hide(ui);
-                })));
-    }
-
-    var mode = {
-        id: 'save'
-    };
-
-    var behaviors = [
-        iD.behavior.Hover(context),
-        iD.behavior.Select(context),
-        iD.behavior.Lasso(context),
-        iD.modes.DragNode(context).behavior];
-
-    mode.enter = function() {
-        behaviors.forEach(function(behavior) {
-            context.install(behavior);
-        });
-
-        context.connection().authenticate(function() {
-            context.ui().sidebar.show(ui);
-        });
-    };
-
-    mode.exit = function() {
-        behaviors.forEach(function(behavior) {
-            context.uninstall(behavior);
-        });
-
-        context.ui().sidebar.hide(ui);
-    };
-
-    return mode;
-};
-iD.modes.Select = function(context, selectedIDs) {
-    var mode = {
-        id: 'select',
-        button: 'browse'
-    };
-
-    var keybinding = d3.keybinding('select'),
-        timeout = null,
-        behaviors = [
-            iD.behavior.Hover(context),
-            iD.behavior.Select(context),
-            iD.behavior.Lasso(context),
-            iD.modes.DragNode(context)
-                .selectedIDs(selectedIDs)
-                .behavior],
-        inspector,
-        radialMenu,
-        newFeature = false,
-        suppressMenu = false;
-
-    var wrap = context.container()
-        .select('.inspector-wrap');
-
-    function singular() {
-        if (selectedIDs.length === 1) {
-            return context.entity(selectedIDs[0]);
-        }
-    }
-
-    function positionMenu() {
-        var entity = singular();
-
-        if (entity && entity.type === 'node') {
-            radialMenu.center(context.projection(entity.loc));
-        } else {
-            radialMenu.center(context.mouse());
-        }
-    }
-
-    function showMenu() {
-        context.surface()
-            .call(radialMenu.close)
-            .call(radialMenu);
-    }
-
-    mode.selectedIDs = function() {
-        return selectedIDs;
-    };
-
-    mode.reselect = function() {
-        var surfaceNode = context.surface().node();
-        if (surfaceNode.focus) { // FF doesn't support it
-            surfaceNode.focus();
-        }
-
-        positionMenu();
-        showMenu();
-    };
-
-    mode.newFeature = function(_) {
-        if (!arguments.length) return newFeature;
-        newFeature = _;
-        return mode;
-    };
-
-    mode.suppressMenu = function(_) {
-        if (!arguments.length) return suppressMenu;
-        suppressMenu = _;
-        return mode;
-    };
-
-    mode.enter = function() {
-        behaviors.forEach(function(behavior) {
-            context.install(behavior);
-        });
-
-        var operations = _.without(d3.values(iD.operations), iD.operations.Delete)
-            .map(function(o) { return o(selectedIDs, context); })
-            .filter(function(o) { return o.available(); });
-        operations.unshift(iD.operations.Delete(selectedIDs, context));
-
-        keybinding.on('⎋', function() {
-            context.enter(iD.modes.Browse(context));
-        }, true);
-
-        operations.forEach(function(operation) {
-            operation.keys.forEach(function(key) {
-                keybinding.on(key, function() {
-                    if (!operation.disabled()) {
-                        operation();
-                    }
-                });
-            });
-        });
-
-        context.ui().sidebar
-            .select(singular() ? singular().id : null, newFeature);
-
-        context.history()
-            .on('undone.select', update)
-            .on('redone.select', update);
-
-        function update() {
-            context.surface().call(radialMenu.close);
-
-            if (_.any(selectedIDs, function(id) { return !context.hasEntity(id); })) {
-                // Exit mode if selected entity gets undone
-                context.enter(iD.modes.Browse(context));
-            }
-        }
-
-        context.map().on('move.select', function() {
-            context.surface().call(radialMenu.close);
-        });
-
-        function dblclick() {
-            var target = d3.select(d3.event.target),
-                datum = target.datum();
-
-            if (datum instanceof iD.Way && !target.classed('fill')) {
-                var choice = iD.geo.chooseEdge(context.childNodes(datum), context.mouse(), context.projection),
-                    node = iD.Node();
-
-                var prev = datum.nodes[choice.index - 1],
-                    next = datum.nodes[choice.index];
-
-                context.perform(
-                    iD.actions.AddMidpoint({loc: choice.loc, edge: [prev, next]}, node),
-                    t('operations.add.annotation.vertex'));
-
-                d3.event.preventDefault();
-                d3.event.stopPropagation();
-            }
-        }
-
-        d3.select(document)
-            .call(keybinding);
-
-        function selectElements() {
-            context.surface()
-                .selectAll(iD.util.entityOrMemberSelector(selectedIDs, context.graph()))
-                .classed('selected', true);
-        }
-
-        context.map().on('drawn.select', selectElements);
-        selectElements();
-
-        radialMenu = iD.ui.RadialMenu(context, operations);
-        var show = d3.event && !suppressMenu;
-
-        if (show) {
-            positionMenu();
-        }
-
-        timeout = window.setTimeout(function() {
-            if (show) {
-                showMenu();
-            }
-
-            context.surface()
-                .on('dblclick.select', dblclick);
-        }, 200);
-
-        if (selectedIDs.length > 1) {
-            var entities = iD.ui.SelectionList(context, selectedIDs);
-            context.ui().sidebar.show(entities);
-        }
-    };
-
-    mode.exit = function() {
-        if (timeout) window.clearTimeout(timeout);
-
-        if (inspector) wrap.call(inspector.close);
-
-        behaviors.forEach(function(behavior) {
-            context.uninstall(behavior);
-        });
-
-        keybinding.off();
-
-        context.history()
-            .on('undone.select', null)
-            .on('redone.select', null);
-
-        context.surface()
-            .call(radialMenu.close)
-            .on('dblclick.select', null)
-            .selectAll('.selected')
-            .classed('selected', false);
-
-        context.map().on('drawn.select', null);
-        context.ui().sidebar.hide();
-    };
-
-    return mode;
-};
-iD.operations = {};
-iD.operations.Circularize = function(selectedIDs, context) {
-    var entityId = selectedIDs[0],
-        entity = context.entity(entityId),
-        extent = entity.extent(context.graph()),
-        geometry = context.geometry(entityId),
-        action = iD.actions.Circularize(entityId, context.projection);
-
-    var operation = function() {
-        var annotation = t('operations.circularize.annotation.' + geometry);
-        context.perform(action, annotation);
-    };
-
-    operation.available = function() {
-        return selectedIDs.length === 1 &&
-            entity.type === 'way' &&
-            _.uniq(entity.nodes).length > 1;
-    };
-
-    operation.disabled = function() {
-        var reason;
-        if (extent.percentContainedIn(context.extent()) < 0.8) {
-            reason = 'too_large';
-        }
-        return action.disabled(context.graph()) || reason;
-    };
-
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        return disable ?
-            t('operations.circularize.' + disable) :
-            t('operations.circularize.description.' + geometry);
-    };
-
-    operation.id = 'circularize';
-    operation.keys = [t('operations.circularize.key')];
-    operation.title = t('operations.circularize.title');
-
-    return operation;
-};
-iD.operations.Continue = function(selectedIDs, context) {
-    var graph = context.graph(),
-        entities = selectedIDs.map(function(id) { return graph.entity(id); }),
-        geometries = _.extend({line: [], vertex: []},
-            _.groupBy(entities, function(entity) { return entity.geometry(graph); })),
-        vertex = geometries.vertex[0];
-
-    function candidateWays() {
-        return graph.parentWays(vertex).filter(function(parent) {
-            return parent.geometry(graph) === 'line' &&
-                parent.affix(vertex.id) &&
-                (geometries.line.length === 0 || geometries.line[0] === parent);
-        });
-    }
-
-    var operation = function() {
-        var candidate = candidateWays()[0];
-        context.enter(iD.modes.DrawLine(
-            context,
-            candidate.id,
-            context.graph(),
-            candidate.affix(vertex.id)));
-    };
-
-    operation.available = function() {
-        return geometries.vertex.length === 1 && geometries.line.length <= 1;
-    };
-
-    operation.disabled = function() {
-        var candidates = candidateWays();
-        if (candidates.length === 0)
-            return 'not_eligible';
-        if (candidates.length > 1)
-            return 'multiple';
-    };
-
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        return disable ?
-            t('operations.continue.' + disable) :
-            t('operations.continue.description');
-    };
-
-    operation.id = 'continue';
-    operation.keys = [t('operations.continue.key')];
-    operation.title = t('operations.continue.title');
-
-    return operation;
-};
-iD.operations.Delete = function(selectedIDs, context) {
-    var action = iD.actions.DeleteMultiple(selectedIDs);
-
-    var operation = function() {
-        var annotation,
-            nextSelectedID;
-
-        if (selectedIDs.length > 1) {
-            annotation = t('operations.delete.annotation.multiple', {n: selectedIDs.length});
-
-        } else {
-            var id = selectedIDs[0],
-                entity = context.entity(id),
-                geometry = context.geometry(id),
-                parents = context.graph().parentWays(entity),
-                parent = parents[0];
-
-            annotation = t('operations.delete.annotation.' + geometry);
-
-            // Select the next closest node in the way.
-            if (geometry === 'vertex' && parents.length === 1 && parent.nodes.length > 2) {
-                var nodes = parent.nodes,
-                    i = nodes.indexOf(id);
-
-                if (i === 0) {
-                    i++;
-                } else if (i === nodes.length - 1) {
-                    i--;
-                } else {
-                    var a = iD.geo.sphericalDistance(entity.loc, context.entity(nodes[i - 1]).loc),
-                        b = iD.geo.sphericalDistance(entity.loc, context.entity(nodes[i + 1]).loc);
-                    i = a < b ? i - 1 : i + 1;
-                }
-
-                nextSelectedID = nodes[i];
-            }
-        }
-
-        if (nextSelectedID && context.hasEntity(nextSelectedID)) {
-            context.enter(iD.modes.Select(context, [nextSelectedID]));
-        } else {
-            context.enter(iD.modes.Browse(context));
-        }
-
-        context.perform(
-            action,
-            annotation);
-    };
-
-    operation.available = function() {
-        return true;
-    };
-
-    operation.disabled = function() {
-        return action.disabled(context.graph());
-    };
-
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        return disable ?
-            t('operations.delete.' + disable) :
-            t('operations.delete.description');
-    };
-
-    operation.id = 'delete';
-    operation.keys = [iD.ui.cmd('⌘⌫'), iD.ui.cmd('⌘⌦')];
-    operation.title = t('operations.delete.title');
-
-    return operation;
-};
-iD.operations.Disconnect = function(selectedIDs, context) {
-    var vertices = _.filter(selectedIDs, function vertex(entityId) {
-        return context.geometry(entityId) === 'vertex';
-    });
-
-    var entityId = vertices[0],
-        action = iD.actions.Disconnect(entityId);
-
-    if (selectedIDs.length > 1) {
-        action.limitWays(_.without(selectedIDs, entityId));
-    }
-
-    var operation = function() {
-        context.perform(action, t('operations.disconnect.annotation'));
-    };
-
-    operation.available = function() {
-        return vertices.length === 1;
-    };
-
-    operation.disabled = function() {
-        return action.disabled(context.graph());
-    };
-
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        return disable ?
-            t('operations.disconnect.' + disable) :
-            t('operations.disconnect.description');
-    };
-
-    operation.id = 'disconnect';
-    operation.keys = [t('operations.disconnect.key')];
-    operation.title = t('operations.disconnect.title');
-
-    return operation;
-};
-iD.operations.Merge = function(selectedIDs, context) {
-    var join = iD.actions.Join(selectedIDs),
-        merge = iD.actions.Merge(selectedIDs),
-        mergePolygon = iD.actions.MergePolygon(selectedIDs);
-
-    var operation = function() {
-        var annotation = t('operations.merge.annotation', {n: selectedIDs.length}),
-            action;
-
-        if (!join.disabled(context.graph())) {
-            action = join;
-        } else if (!merge.disabled(context.graph())) {
-            action = merge;
-        } else {
-            action = mergePolygon;
-        }
-
-        context.perform(action, annotation);
-        context.enter(iD.modes.Select(context, selectedIDs.filter(function(id) { return context.hasEntity(id); }))
-            .suppressMenu(true));
-    };
-
-    operation.available = function() {
-        return selectedIDs.length >= 2;
-    };
-
-    operation.disabled = function() {
-        return join.disabled(context.graph()) &&
-            merge.disabled(context.graph()) &&
-            mergePolygon.disabled(context.graph());
-    };
-
-    operation.tooltip = function() {
-        var j = join.disabled(context.graph()),
-            m = merge.disabled(context.graph()),
-            p = mergePolygon.disabled(context.graph());
-
-        if (j === 'restriction' && m && p)
-            return t('operations.merge.restriction', {relation: context.presets().item('type/restriction').name()});
-
-        if (p === 'incomplete_relation' && j && m)
-            return t('operations.merge.incomplete_relation');
-
-        if (j && m && p)
-            return t('operations.merge.' + j);
-
-        return t('operations.merge.description');
-    };
-
-    operation.id = 'merge';
-    operation.keys = [t('operations.merge.key')];
-    operation.title = t('operations.merge.title');
-
-    return operation;
-};
-iD.operations.Move = function(selectedIDs, context) {
-    var extent = selectedIDs.reduce(function(extent, id) {
-            return extent.extend(context.entity(id).extent(context.graph()));
-        }, iD.geo.Extent());
-
-    var operation = function() {
-        context.enter(iD.modes.Move(context, selectedIDs));
-    };
-
-    operation.available = function() {
-        return selectedIDs.length > 1 ||
-            context.entity(selectedIDs[0]).type !== 'node';
-    };
-
-    operation.disabled = function() {
-        var reason;
-        if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
-            reason = 'too_large';
-        }
-        return iD.actions.Move(selectedIDs).disabled(context.graph()) || reason;
-    };
-
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        return disable ?
-            t('operations.move.' + disable) :
-            t('operations.move.description');
-    };
-
-    operation.id = 'move';
-    operation.keys = [t('operations.move.key')];
-    operation.title = t('operations.move.title');
-
-    return operation;
-};
-iD.operations.Orthogonalize = function(selectedIDs, context) {
-    var entityId = selectedIDs[0],
-        entity = context.entity(entityId),
-        extent = entity.extent(context.graph()),
-        geometry = context.geometry(entityId),
-        action = iD.actions.Orthogonalize(entityId, context.projection);
-
-    var operation = function() {
-        var annotation = t('operations.orthogonalize.annotation.' + geometry);
-        context.perform(action, annotation);
-    };
-
-    operation.available = function() {
-        return selectedIDs.length === 1 &&
-            entity.type === 'way' &&
-            entity.isClosed() &&
-            _.uniq(entity.nodes).length > 2;
-    };
-
-    operation.disabled = function() {
-        var reason;
-        if (extent.percentContainedIn(context.extent()) < 0.8) {
-            reason = 'too_large';
-        }
-        return action.disabled(context.graph()) || reason;
-    };
-
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        return disable ?
-            t('operations.orthogonalize.' + disable) :
-            t('operations.orthogonalize.description.' + geometry);
-    };
-
-    operation.id = 'orthogonalize';
-    operation.keys = [t('operations.orthogonalize.key')];
-    operation.title = t('operations.orthogonalize.title');
-
-    return operation;
-};
-iD.operations.Reverse = function(selectedIDs, context) {
-    var entityId = selectedIDs[0];
-
-    var operation = function() {
-        context.perform(
-            iD.actions.Reverse(entityId),
-            t('operations.reverse.annotation'));
-    };
-
-    operation.available = function() {
-        return selectedIDs.length === 1 &&
-            context.geometry(entityId) === 'line';
-    };
-
-    operation.disabled = function() {
-        return false;
-    };
-
-    operation.tooltip = function() {
-        return t('operations.reverse.description');
-    };
-
-    operation.id = 'reverse';
-    operation.keys = [t('operations.reverse.key')];
-    operation.title = t('operations.reverse.title');
-
-    return operation;
-};
-iD.operations.Rotate = function(selectedIDs, context) {
-    var entityId = selectedIDs[0],
-        entity = context.entity(entityId),
-        extent = entity.extent(context.graph()),
-        geometry = context.geometry(entityId);
-
-    var operation = function() {
-        context.enter(iD.modes.RotateWay(context, entityId));
-    };
-
-    operation.available = function() {
-        if (selectedIDs.length !== 1 || entity.type !== 'way')
-            return false;
-        if (geometry === 'area')
-            return true;
-        if (entity.isClosed() &&
-            context.graph().parentRelations(entity).some(function(r) { return r.isMultipolygon(); }))
-            return true;
-        return false;
-    };
-
-    operation.disabled = function() {
-        if (extent.percentContainedIn(context.extent()) < 0.8) {
-            return 'too_large';
-        } else {
-            return false;
-        }
-    };
-
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        return disable ?
-            t('operations.rotate.' + disable) :
-            t('operations.rotate.description');
-    };
-
-    operation.id = 'rotate';
-    operation.keys = [t('operations.rotate.key')];
-    operation.title = t('operations.rotate.title');
-
-    return operation;
-};
-iD.operations.Split = function(selectedIDs, context) {
-    var vertices = _.filter(selectedIDs, function vertex(entityId) {
-        return context.geometry(entityId) === 'vertex';
-    });
-
-    var entityId = vertices[0],
-        action = iD.actions.Split(entityId);
-
-    if (selectedIDs.length > 1) {
-        action.limitWays(_.without(selectedIDs, entityId));
-    }
-
-    var operation = function() {
-        var annotation;
-
-        var ways = action.ways(context.graph());
-        if (ways.length === 1) {
-            annotation = t('operations.split.annotation.' + context.geometry(ways[0].id));
-        } else {
-            annotation = t('operations.split.annotation.multiple', {n: ways.length});
-        }
-
-        var difference = context.perform(action, annotation);
-        context.enter(iD.modes.Select(context, difference.extantIDs()));
-    };
-
-    operation.available = function() {
-        return vertices.length === 1;
-    };
-
-    operation.disabled = function() {
-        return action.disabled(context.graph());
-    };
-
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        if (disable) {
-            return t('operations.split.' + disable);
-        }
-
-        var ways = action.ways(context.graph());
-        if (ways.length === 1) {
-            return t('operations.split.description.' + context.geometry(ways[0].id));
-        } else {
-            return t('operations.split.description.multiple');
-        }
-    };
-
-    operation.id = 'split';
-    operation.keys = [t('operations.split.key')];
-    operation.title = t('operations.split.title');
-
-    return operation;
-};
-iD.operations.Straighten = function(selectedIDs, context) {
-    var entityId = selectedIDs[0],
-        action = iD.actions.Straighten(entityId, context.projection);
-
-    function operation() {
-        var annotation = t('operations.straighten.annotation');
-        context.perform(action, annotation);
-    }
-
-    operation.available = function() {
-        var entity = context.entity(entityId);
-        return selectedIDs.length === 1 &&
-            entity.type === 'way' &&
-            !entity.isClosed() &&
-            _.uniq(entity.nodes).length > 2;
-    };
-
-    operation.disabled = function() {
-        return action.disabled(context.graph());
-    };
-
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        return disable ?
-            t('operations.straighten.' + disable) :
-            t('operations.straighten.description');
-    };
-
-    operation.id = 'straighten';
-    operation.keys = [t('operations.straighten.key')];
-    operation.title = t('operations.straighten.title');
-
-    return operation;
-};
-/* jshint -W109 */
-iD.areaKeys = {
-    "aeroway": {
-        "gate": true,
-        "taxiway": true
-    },
-    "amenity": {
-        "atm": true,
-        "bbq": true,
-        "bench": true,
-        "clock": true,
-        "drinking_water": true,
-        "parking_entrance": true,
-        "post_box": true,
-        "telephone": true,
-        "vending_machine": true,
-        "waste_basket": true
-    },
-    "area": {},
-    "barrier": {
-        "block": true,
-        "bollard": true,
-        "cattle_grid": true,
-        "cycle_barrier": true,
-        "entrance": true,
-        "fence": true,
-        "gate": true,
-        "kissing_gate": true,
-        "lift_gate": true,
-        "stile": true,
-        "toll_booth": true
-    },
-    "building": {
-        "entrance": true
-    },
-    "craft": {},
-    "emergency": {
-        "fire_hydrant": true,
-        "phone": true
-    },
-    "golf": {
-        "hole": true
-    },
-    "historic": {
-        "boundary_stone": true
-    },
-    "landuse": {},
-    "leisure": {
-        "picnic_table": true,
-        "slipway": true
-    },
-    "man_made": {
-        "cutline": true,
-        "embankment": true,
-        "flagpole": true,
-        "pipeline": true,
-        "survey_point": true
-    },
-    "military": {},
-    "natural": {
-        "coastline": true,
-        "peak": true,
-        "spring": true,
-        "tree": true
-    },
-    "office": {},
-    "piste:type": {},
-    "place": {},
-    "power": {
-        "line": true,
-        "minor_line": true,
-        "pole": true,
-        "tower": true
-    },
-    "public_transport": {
-        "stop_position": true
-    },
-    "shop": {},
-    "tourism": {
-        "viewpoint": true
-    },
-    "waterway": {
-        "canal": true,
-        "ditch": true,
-        "drain": true,
-        "river": true,
-        "stream": true,
-        "weir": true
-    }
-};iD.Connection = function() {
-
-    var event = d3.dispatch('authenticating', 'authenticated', 'auth', 'loading', 'load', 'loaded'),
-        url = 'http://www.openstreetmap.org',
-        connection = {},
-        inflight = {},
-        loadedTiles = {},
-        tileZoom = 16,
-        oauth = osmAuth({
-            url: 'http://www.openstreetmap.org',
-            oauth_consumer_key: '5A043yRSEugj4DJ5TljuapfnrflWDte8jTOcWLlT',
-            oauth_secret: 'aB3jKq1TRsCOUrfOIZ6oQMEDmv2ptV76PA54NGLL',
-            loading: authenticating,
-            done: authenticated
-        }),
-        ndStr = 'nd',
-        tagStr = 'tag',
-        memberStr = 'member',
-        nodeStr = 'node',
-        wayStr = 'way',
-        relationStr = 'relation',
-        off;
-
-    connection.changesetURL = function(changesetId) {
-        return url + '/changeset/' + changesetId;
-    };
-
-    connection.changesetsURL = function(center, zoom) {
-        var precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2));
-        return url + '/history#map=' +
-            Math.floor(zoom) + '/' +
-            center[1].toFixed(precision) + '/' +
-            center[0].toFixed(precision);
-    };
-
-    connection.entityURL = function(entity) {
-        return url + '/' + entity.type + '/' + entity.osmId();
-    };
-
-    connection.userURL = function(username) {
-        return url + '/user/' + username;
-    };
-
-    connection.loadFromURL = function(url, callback) {
-        function done(dom) {
-            return callback(null, parse(dom));
-        }
-        return d3.xml(url).get().on('load', done);
-    };
-
-    connection.loadEntity = function(id, callback) {
-        var type = iD.Entity.id.type(id),
-            osmID = iD.Entity.id.toOSM(id);
-
-        connection.loadFromURL(
-            url + '/api/0.6/' + type + '/' + osmID + (type !== 'node' ? '/full' : ''),
-            function(err, entities) {
-                event.load(err, {data: entities});
-                if (callback) callback(err, entities && _.find(entities, function(e) { return e.id === id; }));
-            });
-    };
-
-    function authenticating() {
-        event.authenticating();
-    }
-
-    function authenticated() {
-        event.authenticated();
-    }
-
-    function getNodes(obj) {
-        var elems = obj.getElementsByTagName(ndStr),
-            nodes = new Array(elems.length);
-        for (var i = 0, l = elems.length; i < l; i++) {
-            nodes[i] = 'n' + elems[i].attributes.ref.nodeValue;
-        }
-        return nodes;
-    }
-
-    function getTags(obj) {
-        var elems = obj.getElementsByTagName(tagStr),
-            tags = {};
-        for (var i = 0, l = elems.length; i < l; i++) {
-            var attrs = elems[i].attributes;
-            tags[attrs.k.nodeValue] = attrs.v.nodeValue;
-        }
-        return tags;
-    }
-
-    function getMembers(obj) {
-        var elems = obj.getElementsByTagName(memberStr),
-            members = new Array(elems.length);
-        for (var i = 0, l = elems.length; i < l; i++) {
-            var attrs = elems[i].attributes;
-            members[i] = {
-                id: attrs.type.nodeValue[0] + attrs.ref.nodeValue,
-                type: attrs.type.nodeValue,
-                role: attrs.role.nodeValue
-            };
-        }
-        return members;
-    }
-
-    var parsers = {
-        node: function nodeData(obj) {
-            var attrs = obj.attributes;
-            return new iD.Node({
-                id: iD.Entity.id.fromOSM(nodeStr, attrs.id.nodeValue),
-                loc: [parseFloat(attrs.lon.nodeValue), parseFloat(attrs.lat.nodeValue)],
-                version: attrs.version.nodeValue,
-                user: attrs.user && attrs.user.nodeValue,
-                tags: getTags(obj)
-            });
-        },
-
-        way: function wayData(obj) {
-            var attrs = obj.attributes;
-            return new iD.Way({
-                id: iD.Entity.id.fromOSM(wayStr, attrs.id.nodeValue),
-                version: attrs.version.nodeValue,
-                user: attrs.user && attrs.user.nodeValue,
-                tags: getTags(obj),
-                nodes: getNodes(obj)
-            });
-        },
-
-        relation: function relationData(obj) {
-            var attrs = obj.attributes;
-            return new iD.Relation({
-                id: iD.Entity.id.fromOSM(relationStr, attrs.id.nodeValue),
-                version: attrs.version.nodeValue,
-                user: attrs.user && attrs.user.nodeValue,
-                tags: getTags(obj),
-                members: getMembers(obj)
-            });
-        }
-    };
-
-    function parse(dom) {
-        if (!dom || !dom.childNodes) return new Error('Bad request');
-
-        var root = dom.childNodes[0],
-            children = root.childNodes,
-            entities = [];
-
-        for (var i = 0, l = children.length; i < l; i++) {
-            var child = children[i],
-                parser = parsers[child.nodeName];
-            if (parser) {
-                entities.push(parser(child));
-            }
-        }
-
-        return entities;
-    }
-
-    connection.authenticated = function() {
-        return oauth.authenticated();
-    };
-
-    // Generate Changeset XML. Returns a string.
-    connection.changesetJXON = function(tags) {
-        return {
-            osm: {
-                changeset: {
-                    tag: _.map(tags, function(value, key) {
-                        return { '@k': key, '@v': value };
-                    }),
-                    '@version': 0.3,
-                    '@generator': 'iD'
-                }
-            }
-        };
-    };
-
-    // Generate [osmChange](http://wiki.openstreetmap.org/wiki/OsmChange)
-    // XML. Returns a string.
-    connection.osmChangeJXON = function(changeset_id, changes) {
-        function nest(x, order) {
-            var groups = {};
-            for (var i = 0; i < x.length; i++) {
-                var tagName = Object.keys(x[i])[0];
-                if (!groups[tagName]) groups[tagName] = [];
-                groups[tagName].push(x[i][tagName]);
-            }
-            var ordered = {};
-            order.forEach(function(o) {
-                if (groups[o]) ordered[o] = groups[o];
-            });
-            return ordered;
-        }
-
-        function rep(entity) {
-            return entity.asJXON(changeset_id);
-        }
-
-        return {
-            osmChange: {
-                '@version': 0.3,
-                '@generator': 'iD',
-                'create': nest(changes.created.map(rep), ['node', 'way', 'relation']),
-                'modify': nest(changes.modified.map(rep), ['node', 'way', 'relation']),
-                'delete': _.extend(nest(changes.deleted.map(rep), ['relation', 'way', 'node']), {'@if-unused': true})
-            }
-        };
-    };
-
-    connection.changesetTags = function(comment, imageryUsed) {
-        var tags = {
-            imagery_used: imageryUsed.join(';').substr(0, 255),
-            created_by: 'iD ' + iD.version
-        };
-
-        if (comment) {
-            tags.comment = comment;
-        }
-
-        return tags;
-    };
-
-    connection.putChangeset = function(changes, comment, imageryUsed, callback) {
-        oauth.xhr({
-                method: 'PUT',
-                path: '/api/0.6/changeset/create',
-                options: { header: { 'Content-Type': 'text/xml' } },
-                content: JXON.stringify(connection.changesetJXON(connection.changesetTags(comment, imageryUsed)))
-            }, function(err, changeset_id) {
-                if (err) return callback(err);
-                oauth.xhr({
-                    method: 'POST',
-                    path: '/api/0.6/changeset/' + changeset_id + '/upload',
-                    options: { header: { 'Content-Type': 'text/xml' } },
-                    content: JXON.stringify(connection.osmChangeJXON(changeset_id, changes))
-                }, function(err) {
-                    if (err) return callback(err);
-                    oauth.xhr({
-                        method: 'PUT',
-                        path: '/api/0.6/changeset/' + changeset_id + '/close'
-                    }, function(err) {
-                        callback(err, changeset_id);
-                    });
-                });
-            });
-    };
-
-    var userDetails;
-
-    connection.userDetails = function(callback) {
-        if (userDetails) {
-            callback(undefined, userDetails);
-            return;
-        }
-
-        function done(err, user_details) {
-            if (err) return callback(err);
-
-            var u = user_details.getElementsByTagName('user')[0],
-                img = u.getElementsByTagName('img'),
-                image_url = '';
-
-            if (img && img[0] && img[0].getAttribute('href')) {
-                image_url = img[0].getAttribute('href');
-            }
-
-            userDetails = {
-                display_name: u.attributes.display_name.nodeValue,
-                image_url: image_url,
-                id: u.attributes.id.nodeValue
-            };
-
-            callback(undefined, userDetails);
-        }
-
-        oauth.xhr({ method: 'GET', path: '/api/0.6/user/details' }, done);
-    };
-
-    connection.status = function(callback) {
-        function done(capabilities) {
-            var apiStatus = capabilities.getElementsByTagName('status');
-            callback(undefined, apiStatus[0].getAttribute('api'));
-        }
-        d3.xml(url + '/api/capabilities').get()
-            .on('load', done)
-            .on('error', callback);
-    };
-
-    function abortRequest(i) { i.abort(); }
-
-    connection.tileZoom = function(_) {
-        if (!arguments.length) return tileZoom;
-        tileZoom = _;
-        return connection;
-    };
-
-    connection.loadTiles = function(projection, dimensions) {
-
-        if (off) return;
-
-        var s = projection.scale() * 2 * Math.PI,
-            z = Math.max(Math.log(s) / Math.log(2) - 8, 0),
-            ts = 256 * Math.pow(2, z - tileZoom),
-            origin = [
-                s / 2 - projection.translate()[0],
-                s / 2 - projection.translate()[1]];
-
-        var tiles = d3.geo.tile()
-            .scaleExtent([tileZoom, tileZoom])
-            .scale(s)
-            .size(dimensions)
-            .translate(projection.translate())()
-            .map(function(tile) {
-                var x = tile[0] * ts - origin[0],
-                    y = tile[1] * ts - origin[1];
-
-                return {
-                    id: tile.toString(),
-                    extent: iD.geo.Extent(
-                        projection.invert([x, y + ts]),
-                        projection.invert([x + ts, y]))
-                };
-            });
-
-        function bboxUrl(tile) {
-            return url + '/api/0.6/map?bbox=' + tile.extent.toParam();
-        }
-
-        _.filter(inflight, function(v, i) {
-            var wanted = _.find(tiles, function(tile) {
-                return i === tile.id;
-            });
-            if (!wanted) delete inflight[i];
-            return !wanted;
-        }).map(abortRequest);
-
-        tiles.forEach(function(tile) {
-            var id = tile.id;
-
-            if (loadedTiles[id] || inflight[id]) return;
-
-            if (_.isEmpty(inflight)) {
-                event.loading();
-            }
-
-            inflight[id] = connection.loadFromURL(bboxUrl(tile), function(err, parsed) {
-                loadedTiles[id] = true;
-                delete inflight[id];
-
-                event.load(err, _.extend({data: parsed}, tile));
-
-                if (_.isEmpty(inflight)) {
-                    event.loaded();
-                }
-            });
-        });
-    };
-
-    connection.switch = function(options) {
-        url = options.url;
-        oauth.options(_.extend({
-            loading: authenticating,
-            done: authenticated
-        }, options));
-        event.auth();
-        connection.flush();
-        return connection;
-    };
-
-    connection.toggle = function(_) {
-        off = !_;
-        return connection;
-    };
-
-    connection.flush = function() {
-        _.forEach(inflight, abortRequest);
-        loadedTiles = {};
-        inflight = {};
-        return connection;
-    };
-
-    connection.loadedTiles = function(_) {
-        if (!arguments.length) return loadedTiles;
-        loadedTiles = _;
-        return connection;
-    };
-
-    connection.logout = function() {
-        oauth.logout();
-        event.auth();
-        return connection;
-    };
-
-    connection.authenticate = function(callback) {
-        function done(err, res) {
-            event.auth();
-            if (callback) callback(err, res);
-        }
-        return oauth.authenticate(done);
-    };
-
-    return d3.rebind(connection, event, 'on');
-};
-/*
-    iD.Difference represents the difference between two graphs.
-    It knows how to calculate the set of entities that were
-    created, modified, or deleted, and also contains the logic
-    for recursively extending a difference to the complete set
-    of entities that will require a redraw, taking into account
-    child and parent relationships.
- */
-iD.Difference = function(base, head) {
-    var changes = {}, length = 0;
-
-    function changed(h, b) {
-        return !_.isEqual(_.omit(h, 'v'), _.omit(b, 'v'));
-    }
-
-    _.each(head.entities, function(h, id) {
-        var b = base.entities[id];
-        if (changed(h, b)) {
-            changes[id] = {base: b, head: h};
-            length++;
-        }
-    });
-
-    _.each(base.entities, function(b, id) {
-        var h = head.entities[id];
-        if (!changes[id] && changed(h, b)) {
-            changes[id] = {base: b, head: h};
-            length++;
-        }
-    });
-
-    function addParents(parents, result) {
-        for (var i = 0; i < parents.length; i++) {
-            var parent = parents[i];
-
-            if (parent.id in result)
-                continue;
-
-            result[parent.id] = parent;
-            addParents(head.parentRelations(parent), result);
-        }
-    }
-
-    var difference = {};
-
-    difference.length = function() {
-        return length;
-    };
-
-    difference.changes = function() {
-        return changes;
-    };
-
-    difference.extantIDs = function() {
-        var result = [];
-        _.each(changes, function(change, id) {
-            if (change.head) result.push(id);
-        });
-        return result;
-    };
-
-    difference.modified = function() {
-        var result = [];
-        _.each(changes, function(change) {
-            if (change.base && change.head) result.push(change.head);
-        });
-        return result;
-    };
-
-    difference.created = function() {
-        var result = [];
-        _.each(changes, function(change) {
-            if (!change.base && change.head) result.push(change.head);
-        });
-        return result;
-    };
-
-    difference.deleted = function() {
-        var result = [];
-        _.each(changes, function(change) {
-            if (change.base && !change.head) result.push(change.base);
-        });
-        return result;
-    };
-
-    difference.summary = function() {
-        var relevant = {};
-
-        function addEntity(entity, graph, changeType) {
-            relevant[entity.id] = {
-                entity: entity,
-                graph: graph,
-                changeType: changeType
-            };
-        }
-
-        function addParents(entity) {
-            var parents = head.parentWays(entity);
-            for (var j = parents.length - 1; j >= 0; j--) {
-                var parent = parents[j];
-                if (!(parent.id in relevant)) addEntity(parent, head, 'modified');
-            }
-        }
-
-        _.each(changes, function(change) {
-            if (change.head && change.head.geometry(head) !== 'vertex') {
-                addEntity(change.head, head, change.base ? 'modified' : 'created');
-
-            } else if (change.base && change.base.geometry(base) !== 'vertex') {
-                addEntity(change.base, base, 'deleted');
-
-            } else if (change.base && change.head) { // modified vertex
-                var moved    = !_.isEqual(change.base.loc,  change.head.loc),
-                    retagged = !_.isEqual(change.base.tags, change.head.tags);
-
-                if (moved) {
-                    addParents(change.head);
-                }
-
-                if (retagged || (moved && change.head.hasInterestingTags())) {
-                    addEntity(change.head, head, 'modified');
-                }
-
-            } else if (change.head && change.head.hasInterestingTags()) { // created vertex
-                addEntity(change.head, head, 'created');
-
-            } else if (change.base && change.base.hasInterestingTags()) { // deleted vertex
-                addEntity(change.base, base, 'deleted');
-            }
-        });
-
-        return d3.values(relevant);
-    };
-
-    difference.complete = function(extent) {
-        var result = {}, id, change;
-
-        for (id in changes) {
-            change = changes[id];
-
-            var h = change.head,
-                b = change.base,
-                entity = h || b;
-
-            if (extent &&
-                (!h || !h.intersects(extent, head)) &&
-                (!b || !b.intersects(extent, base)))
-                continue;
-
-            result[id] = h;
-
-            if (entity.type === 'way') {
-                var nh = h ? h.nodes : [],
-                    nb = b ? b.nodes : [],
-                    diff, i;
-
-                diff = _.difference(nh, nb);
-                for (i = 0; i < diff.length; i++) {
-                    result[diff[i]] = head.hasEntity(diff[i]);
-                }
-
-                diff = _.difference(nb, nh);
-                for (i = 0; i < diff.length; i++) {
-                    result[diff[i]] = head.hasEntity(diff[i]);
-                }
-            }
-
-            addParents(head.parentWays(entity), result);
-            addParents(head.parentRelations(entity), result);
-        }
-
-        return result;
-    };
-
-    return difference;
-};
-iD.Entity = function(attrs) {
-    // For prototypal inheritance.
-    if (this instanceof iD.Entity) return;
-
-    // Create the appropriate subtype.
-    if (attrs && attrs.type) {
-        return iD.Entity[attrs.type].apply(this, arguments);
-    } else if (attrs && attrs.id) {
-        return iD.Entity[iD.Entity.id.type(attrs.id)].apply(this, arguments);
-    }
-
-    // Initialize a generic Entity (used only in tests).
-    return (new iD.Entity()).initialize(arguments);
-};
-
-iD.Entity.id = function(type) {
-    return iD.Entity.id.fromOSM(type, iD.Entity.id.next[type]--);
-};
-
-iD.Entity.id.next = {node: -1, way: -1, relation: -1};
-
-iD.Entity.id.fromOSM = function(type, id) {
-    return type[0] + id;
-};
-
-iD.Entity.id.toOSM = function(id) {
-    return id.slice(1);
-};
-
-iD.Entity.id.type = function(id) {
-    return {'n': 'node', 'w': 'way', 'r': 'relation'}[id[0]];
-};
-
-// A function suitable for use as the second argument to d3.selection#data().
-iD.Entity.key = function(entity) {
-    return entity.id + 'v' + (entity.v || 0);
-};
-
-iD.Entity.prototype = {
-    tags: {},
-
-    initialize: function(sources) {
-        for (var i = 0; i < sources.length; ++i) {
-            var source = sources[i];
-            for (var prop in source) {
-                if (Object.prototype.hasOwnProperty.call(source, prop)) {
-                    this[prop] = source[prop];
-                }
-            }
-        }
-
-        if (!this.id && this.type) {
-            this.id = iD.Entity.id(this.type);
-        }
-
-        if (iD.debug) {
-            Object.freeze(this);
-            Object.freeze(this.tags);
-
-            if (this.loc) Object.freeze(this.loc);
-            if (this.nodes) Object.freeze(this.nodes);
-            if (this.members) Object.freeze(this.members);
-        }
-
-        return this;
-    },
-
-    osmId: function() {
-        return iD.Entity.id.toOSM(this.id);
-    },
-
-    isNew: function() {
-        return this.osmId() < 0;
-    },
-
-    update: function(attrs) {
-        return iD.Entity(this, attrs, {v: 1 + (this.v || 0)});
-    },
-
-    mergeTags: function(tags) {
-        var merged = _.clone(this.tags), changed = false;
-        for (var k in tags) {
-            var t1 = merged[k],
-                t2 = tags[k];
-            if (!t1) {
-                changed = true;
-                merged[k] = t2;
-            } else if (t1 !== t2) {
-                changed = true;
-                merged[k] = _.union(t1.split(/;\s*/), t2.split(/;\s*/)).join(';');
-            }
-        }
-        return changed ? this.update({tags: merged}) : this;
-    },
-
-    intersects: function(extent, resolver) {
-        return this.extent(resolver).intersects(extent);
-    },
-
-    isUsed: function(resolver) {
-        return _.without(Object.keys(this.tags), 'area').length > 0 ||
-            resolver.parentRelations(this).length > 0;
-    },
-
-    hasInterestingTags: function() {
-        return _.keys(this.tags).some(function(key) {
-            return key !== 'attribution' &&
-                key !== 'created_by' &&
-                key !== 'source' &&
-                key !== 'odbl' &&
-                key.indexOf('tiger:') !== 0;
-        });
-    },
-
-    isHighwayIntersection: function() {
-        return false;
-    },
-
-    deprecatedTags: function() {
-        var tags = _.pairs(this.tags);
-        var deprecated = {};
-
-        iD.data.deprecated.forEach(function(d) {
-            var match = _.pairs(d.old)[0];
-            tags.forEach(function(t) {
-                if (t[0] === match[0] &&
-                    (t[1] === match[1] || match[1] === '*')) {
-                    deprecated[t[0]] = t[1];
-                }
-            });
-        });
-
-        return deprecated;
-    }
-};
-iD.Graph = function(other, mutable) {
-    if (!(this instanceof iD.Graph)) return new iD.Graph(other, mutable);
-
-    if (other instanceof iD.Graph) {
-        var base = other.base();
-        this.entities = _.assign(Object.create(base.entities), other.entities);
-        this._parentWays = _.assign(Object.create(base.parentWays), other._parentWays);
-        this._parentRels = _.assign(Object.create(base.parentRels), other._parentRels);
-
-    } else {
-        this.entities = Object.create({});
-        this._parentWays = Object.create({});
-        this._parentRels = Object.create({});
-        this.rebase(other || [], [this]);
-    }
-
-    this.transients = {};
-    this._childNodes = {};
-
-    if (!mutable) {
-        this.freeze();
-    }
-};
-
-iD.Graph.prototype = {
-    hasEntity: function(id) {
-        return this.entities[id];
-    },
-
-    entity: function(id) {
-        var entity = this.entities[id];
-        if (!entity) {
-            throw new Error('entity ' + id + ' not found');
-        }
-        return entity;
-    },
-
-    transient: function(entity, key, fn) {
-        var id = entity.id,
-            transients = this.transients[id] ||
-            (this.transients[id] = {});
-
-        if (transients[key] !== undefined) {
-            return transients[key];
-        }
-
-        transients[key] = fn.call(entity);
-
-        return transients[key];
-    },
-
-    parentWays: function(entity) {
-        return _.map(this._parentWays[entity.id], this.entity, this);
-    },
-
-    isPoi: function(entity) {
-        var parentWays = this._parentWays[entity.id];
-        return !parentWays || parentWays.length === 0;
-    },
-
-    isShared: function(entity) {
-        var parentWays = this._parentWays[entity.id];
-        return parentWays && parentWays.length > 1;
-    },
-
-    parentRelations: function(entity) {
-        return _.map(this._parentRels[entity.id], this.entity, this);
-    },
-
-    childNodes: function(entity) {
-        if (this._childNodes[entity.id])
-            return this._childNodes[entity.id];
-
-        var nodes = [];
-        for (var i = 0, l = entity.nodes.length; i < l; i++) {
-            nodes[i] = this.entity(entity.nodes[i]);
-        }
-
-        if (iD.debug) Object.freeze(nodes);
-
-        this._childNodes[entity.id] = nodes;
-        return this._childNodes[entity.id];
-    },
-
-    base: function() {
-        return {
-            'entities': iD.util.getPrototypeOf(this.entities),
-            'parentWays': iD.util.getPrototypeOf(this._parentWays),
-            'parentRels': iD.util.getPrototypeOf(this._parentRels)
-        };
-    },
-
-    // Unlike other graph methods, rebase mutates in place. This is because it
-    // is used only during the history operation that merges newly downloaded
-    // data into each state. To external consumers, it should appear as if the
-    // graph always contained the newly downloaded data.
-    rebase: function(entities, stack) {
-        var base = this.base(),
-            i, j, k, id;
-
-        for (i = 0; i < entities.length; i++) {
-            var entity = entities[i];
-
-            if (base.entities[entity.id])
-                continue;
-
-            // Merging data into the base graph
-            base.entities[entity.id] = entity;
-            this._updateCalculated(undefined, entity,
-                base.parentWays, base.parentRels);
-
-            // Restore provisionally-deleted nodes that are discovered to have an extant parent
-            if (entity.type === 'way') {
-                for (j = 0; j < entity.nodes.length; j++) {
-                    id = entity.nodes[j];
-                    for (k = 1; k < stack.length; k++) {
-                        var ents = stack[k].entities;
-                        if (ents.hasOwnProperty(id) && ents[id] === undefined) {
-                            delete ents[id];
-                        }
-                    }
-                }
-            }
-        }
-
-        for (i = 0; i < stack.length; i++) {
-            stack[i]._updateRebased();
-        }
-    },
-
-    _updateRebased: function() {
-        var base = this.base(),
-            i, k, child, id, keys;
-
-        keys = Object.keys(this._parentWays);
-        for (i = 0; i < keys.length; i++) {
-            child = keys[i];
-            if (base.parentWays[child]) {
-                for (k = 0; k < base.parentWays[child].length; k++) {
-                    id = base.parentWays[child][k];
-                    if (!this.entities.hasOwnProperty(id) && !_.contains(this._parentWays[child], id)) {
-                        this._parentWays[child].push(id);
-                    }
-                }
-            }
-        }
-
-        keys = Object.keys(this._parentRels);
-        for (i = 0; i < keys.length; i++) {
-            child = keys[i];
-            if (base.parentRels[child]) {
-                for (k = 0; k < base.parentRels[child].length; k++) {
-                    id = base.parentRels[child][k];
-                    if (!this.entities.hasOwnProperty(id) && !_.contains(this._parentRels[child], id)) {
-                        this._parentRels[child].push(id);
-                    }
-                }
-            }
-        }
-
-        this.transients = {};
-
-        // this._childNodes is not updated, under the assumption that
-        // ways are always downloaded with their child nodes.
-    },
-
-    // Updates calculated properties (parentWays, parentRels) for the specified change
-    _updateCalculated: function(oldentity, entity, parentWays, parentRels) {
-
-        parentWays = parentWays || this._parentWays;
-        parentRels = parentRels || this._parentRels;
-
-        var type = entity && entity.type || oldentity && oldentity.type,
-            removed, added, ways, rels, i;
-
-
-        if (type === 'way') {
-
-            // Update parentWays
-            if (oldentity && entity) {
-                removed = _.difference(oldentity.nodes, entity.nodes);
-                added = _.difference(entity.nodes, oldentity.nodes);
-            } else if (oldentity) {
-                removed = oldentity.nodes;
-                added = [];
-            } else if (entity) {
-                removed = [];
-                added = entity.nodes;
-            }
-            for (i = 0; i < removed.length; i++) {
-                parentWays[removed[i]] = _.without(parentWays[removed[i]], oldentity.id);
-            }
-            for (i = 0; i < added.length; i++) {
-                ways = _.without(parentWays[added[i]], entity.id);
-                ways.push(entity.id);
-                parentWays[added[i]] = ways;
-            }
-
-        } else if (type === 'relation') {
-
-            // Update parentRels
-            if (oldentity && entity) {
-                removed = _.difference(oldentity.members, entity.members);
-                added = _.difference(entity.members, oldentity);
-            } else if (oldentity) {
-                removed = oldentity.members;
-                added = [];
-            } else if (entity) {
-                removed = [];
-                added = entity.members;
-            }
-            for (i = 0; i < removed.length; i++) {
-                parentRels[removed[i].id] = _.without(parentRels[removed[i].id], oldentity.id);
-            }
-            for (i = 0; i < added.length; i++) {
-                rels = _.without(parentRels[added[i].id], entity.id);
-                rels.push(entity.id);
-                parentRels[added[i].id] = rels;
-            }
-        }
-    },
-
-    replace: function(entity) {
-        if (this.entities[entity.id] === entity)
-            return this;
-
-        return this.update(function() {
-            this._updateCalculated(this.entities[entity.id], entity);
-            this.entities[entity.id] = entity;
-        });
-    },
-
-    remove: function(entity) {
-        return this.update(function() {
-            this._updateCalculated(entity, undefined);
-            this.entities[entity.id] = undefined;
-        });
-    },
-
-    update: function() {
-        var graph = this.frozen ? iD.Graph(this, true) : this;
-
-        for (var i = 0; i < arguments.length; i++) {
-            arguments[i].call(graph, graph);
-        }
-
-        return this.frozen ? graph.freeze() : this;
-    },
-
-    freeze: function() {
-        this.frozen = true;
-
-        // No longer freezing entities here due to in-place updates needed in rebase.
-
-        return this;
-    },
-
-    // Obliterates any existing entities
-    load: function(entities) {
-        var base = this.base();
-        this.entities = Object.create(base.entities);
-
-        for (var i in entities) {
-            this.entities[i] = entities[i];
-            this._updateCalculated(base.entities[i], this.entities[i]);
-        }
-
-        return this;
-    }
-};
-iD.History = function(context) {
-    var stack, index, tree,
-        imageryUsed = ['Bing'],
-        dispatch = d3.dispatch('change', 'undone', 'redone'),
-        lock = iD.util.SessionMutex('lock');
-
-    function perform(actions) {
-        actions = Array.prototype.slice.call(actions);
-
-        var annotation;
-
-        if (!_.isFunction(_.last(actions))) {
-            annotation = actions.pop();
-        }
-
-        var graph = stack[index].graph;
-        for (var i = 0; i < actions.length; i++) {
-            graph = actions[i](graph);
-        }
-
-        return {
-            graph: graph,
-            annotation: annotation,
-            imageryUsed: imageryUsed
-        };
-    }
-
-    function change(previous) {
-        var difference = iD.Difference(previous, history.graph());
-        dispatch.change(difference);
-        return difference;
-    }
-
-    // iD uses namespaced keys so multiple installations do not conflict
-    function getKey(n) {
-        return 'iD_' + window.location.origin + '_' + n;
-    }
-
-    var history = {
-        graph: function() {
-            return stack[index].graph;
-        },
-
-        merge: function(entities, extent) {
-            stack[0].graph.rebase(entities, _.pluck(stack, 'graph'));
-            tree.rebase(entities);
-
-            dispatch.change(undefined, extent);
-        },
-
-        perform: function() {
-            var previous = stack[index].graph;
-
-            stack = stack.slice(0, index + 1);
-            stack.push(perform(arguments));
-            index++;
-
-            return change(previous);
-        },
-
-        replace: function() {
-            var previous = stack[index].graph;
-
-            // assert(index == stack.length - 1)
-            stack[index] = perform(arguments);
-
-            return change(previous);
-        },
-
-        pop: function() {
-            var previous = stack[index].graph;
-
-            if (index > 0) {
-                index--;
-                stack.pop();
-                return change(previous);
-            }
-        },
-
-        undo: function() {
-            var previous = stack[index].graph;
-
-            // Pop to the next annotated state.
-            while (index > 0) {
-                index--;
-                if (stack[index].annotation) break;
-            }
-
-            dispatch.undone();
-            return change(previous);
-        },
-
-        redo: function() {
-            var previous = stack[index].graph;
-
-            while (index < stack.length - 1) {
-                index++;
-                if (stack[index].annotation) break;
-            }
-
-            dispatch.redone();
-            return change(previous);
-        },
-
-        undoAnnotation: function() {
-            var i = index;
-            while (i >= 0) {
-                if (stack[i].annotation) return stack[i].annotation;
-                i--;
-            }
-        },
-
-        redoAnnotation: function() {
-            var i = index + 1;
-            while (i <= stack.length - 1) {
-                if (stack[i].annotation) return stack[i].annotation;
-                i++;
-            }
-        },
-
-        intersects: function(extent) {
-            return tree.intersects(extent, stack[index].graph);
-        },
-
-        difference: function() {
-            var base = stack[0].graph,
-                head = stack[index].graph;
-            return iD.Difference(base, head);
-        },
-
-        changes: function(action) {
-            var base = stack[0].graph,
-                head = stack[index].graph;
-
-            if (action) {
-                head = action(head);
-            }
-
-            var difference = iD.Difference(base, head);
-
-            return {
-                modified: difference.modified(),
-                created: difference.created(),
-                deleted: difference.deleted()
-            };
-        },
-
-        hasChanges: function() {
-            return this.difference().length() > 0;
-        },
-
-        imageryUsed: function(sources) {
-            if (sources) {
-                imageryUsed = sources;
-                return history;
-            } else {
-                return _(stack.slice(1, index + 1))
-                    .pluck('imageryUsed')
-                    .flatten()
-                    .unique()
-                    .without(undefined, 'Custom')
-                    .value();
-            }
-        },
-
-        reset: function() {
-            stack = [{graph: iD.Graph()}];
-            index = 0;
-            tree = iD.Tree(stack[0].graph);
-            dispatch.change();
-            return history;
-        },
-
-        toJSON: function() {
-            if (stack.length <= 1) return;
-
-            var allEntities = {},
-                baseEntities = {},
-                base = stack[0];
-
-            var s = stack.map(function(i) {
-                var modified = [], deleted = [];
-
-                _.forEach(i.graph.entities, function(entity, id) {
-                    if (entity) {
-                        var key = iD.Entity.key(entity);
-                        allEntities[key] = entity;
-                        modified.push(key);
-                    } else {
-                        deleted.push(id);
-                    }
-
-                    // make sure that the originals of changed or deleted entities get merged
-                    // into the base of the stack after restoring the data from JSON.
-                    if (id in base.graph.entities) {
-                        baseEntities[id] = base.graph.entities[id];
-                    }
-                });
-
-                var x = {};
-
-                if (modified.length) x.modified = modified;
-                if (deleted.length) x.deleted = deleted;
-                if (i.imageryUsed) x.imageryUsed = i.imageryUsed;
-                if (i.annotation) x.annotation = i.annotation;
-
-                return x;
-            });
-
-            return JSON.stringify({
-                version: 3,
-                entities: _.values(allEntities),
-                baseEntities: _.values(baseEntities),
-                stack: s,
-                nextIDs: iD.Entity.id.next,
-                index: index
-            });
-        },
-
-        fromJSON: function(json) {
-            var h = JSON.parse(json);
-
-            iD.Entity.id.next = h.nextIDs;
-            index = h.index;
-
-            if (h.version === 2 || h.version === 3) {
-                var allEntities = {};
-
-                h.entities.forEach(function(entity) {
-                    allEntities[iD.Entity.key(entity)] = iD.Entity(entity);
-                });
-
-                if (h.version === 3) {
-                    // this merges originals for changed entities into the base of
-                    // the stack even if the current stack doesn't have them (for
-                    // example when iD has been restarted in a different region)
-                    var baseEntities = h.baseEntities.map(iD.Entity);
-                    stack[0].graph.rebase(baseEntities, _.pluck(stack, 'graph'));
-                    tree.rebase(baseEntities);
-                }
-
-                stack = h.stack.map(function(d) {
-                    var entities = {}, entity;
-
-                    if (d.modified) {
-                        d.modified.forEach(function(key) {
-                            entity = allEntities[key];
-                            entities[entity.id] = entity;
-                        });
-                    }
-
-                    if (d.deleted) {
-                        d.deleted.forEach(function(id) {
-                            entities[id] = undefined;
-                        });
-                    }
-
-                    return {
-                        graph: iD.Graph(stack[0].graph).load(entities),
-                        annotation: d.annotation,
-                        imageryUsed: d.imageryUsed
-                    };
-                });
-            } else { // original version
-                stack = h.stack.map(function(d) {
-                    var entities = {};
-
-                    for (var i in d.entities) {
-                        var entity = d.entities[i];
-                        entities[i] = entity === 'undefined' ? undefined : iD.Entity(entity);
-                    }
-
-                    d.graph = iD.Graph(stack[0].graph).load(entities);
-                    return d;
-                });
-            }
-
-            dispatch.change();
-
-            return history;
-        },
-
-        save: function() {
-            if (lock.locked()) context.storage(getKey('saved_history'), history.toJSON() || null);
-            return history;
-        },
-
-        clearSaved: function() {
-            if (lock.locked()) context.storage(getKey('saved_history'), null);
-            return history;
-        },
-
-        lock: function() {
-            return lock.lock();
-        },
-
-        unlock: function() {
-            lock.unlock();
-        },
-
-        // is iD not open in another window and it detects that
-        // there's a history stored in localStorage that's recoverable?
-        restorableChanges: function() {
-            return lock.locked() && !!context.storage(getKey('saved_history'));
-        },
-
-        // load history from a version stored in localStorage
-        restore: function() {
-            if (!lock.locked()) return;
-
-            var json = context.storage(getKey('saved_history'));
-            if (json) history.fromJSON(json);
-        },
-
-        _getKey: getKey
-
-    };
-
-    history.reset();
-
-    return d3.rebind(history, dispatch, 'on');
-};
-iD.Node = iD.Entity.node = function iD_Node() {
-    if (!(this instanceof iD_Node)) {
-        return (new iD_Node()).initialize(arguments);
-    } else if (arguments.length) {
-        this.initialize(arguments);
-    }
-};
-
-iD.Node.prototype = Object.create(iD.Entity.prototype);
-
-_.extend(iD.Node.prototype, {
-    type: 'node',
-
-    extent: function() {
-        return new iD.geo.Extent(this.loc);
-    },
-
-    geometry: function(graph) {
-        return graph.transient(this, 'geometry', function() {
-            return graph.isPoi(this) ? 'point' : 'vertex';
-        });
-    },
-
-    move: function(loc) {
-        return this.update({loc: loc});
-    },
-
-    isIntersection: function(resolver) {
-        return resolver.transient(this, 'isIntersection', function() {
-            return resolver.parentWays(this).filter(function(parent) {
-                return (parent.tags.highway ||
-                    parent.tags.waterway ||
-                    parent.tags.railway ||
-                    parent.tags.aeroway) &&
-                    parent.geometry(resolver) === 'line';
-            }).length > 1;
-        });
-    },
-
-    isHighwayIntersection: function(resolver) {
-        return resolver.transient(this, 'isHighwayIntersection', function() {
-            return resolver.parentWays(this).filter(function(parent) {
-                return parent.tags.highway && parent.geometry(resolver) === 'line';
-            }).length > 1;
-        });
-    },
-
-    asJXON: function(changeset_id) {
-        var r = {
-            node: {
-                '@id': this.osmId(),
-                '@lon': this.loc[0],
-                '@lat': this.loc[1],
-                '@version': (this.version || 0),
-                tag: _.map(this.tags, function(v, k) {
-                    return { keyAttributes: { k: k, v: v } };
-                })
-            }
-        };
-        if (changeset_id) r.node['@changeset'] = changeset_id;
-        return r;
-    },
-
-    asGeoJSON: function() {
-        return {
-            type: 'Point',
-            coordinates: this.loc
-        };
-    }
-});
-iD.oneWayTags = {
-    'aerialway': {
-        'chair_lift': true,
-        'mixed_lift': true,
-        't-bar': true,
-        'j-bar': true,
-        'platter': true,
-        'rope_tow': true,
-        'magic_carpet': true,
-        'yes': true
-    },
-    'highway': {
-        'motorway': true,
-        'motorway_link': true
-    },
-    'junction': {
-        'roundabout': true
-    },
-    'man_made': {
-        'piste:halfpipe': true
-    },
-    'piste:type': {
-        'downhill': true,
-        'sled': true,
-        'yes': true
-    },
-    'waterway': {
-        'river': true,
-        'stream': true
-    }
-};
-iD.Relation = iD.Entity.relation = function iD_Relation() {
-    if (!(this instanceof iD_Relation)) {
-        return (new iD_Relation()).initialize(arguments);
-    } else if (arguments.length) {
-        this.initialize(arguments);
-    }
-};
-
-iD.Relation.prototype = Object.create(iD.Entity.prototype);
-
-iD.Relation.creationOrder = function(a, b) {
-    var aId = parseInt(iD.Entity.id.toOSM(a.id), 10);
-    var bId = parseInt(iD.Entity.id.toOSM(b.id), 10);
-
-    if (aId < 0 || bId < 0) return aId - bId;
-    return bId - aId;
-};
-
-_.extend(iD.Relation.prototype, {
-    type: 'relation',
-    members: [],
-
-    extent: function(resolver, memo) {
-        return resolver.transient(this, 'extent', function() {
-            if (memo && memo[this.id]) return iD.geo.Extent();
-            memo = memo || {};
-            memo[this.id] = true;
-            return this.members.reduce(function(extent, member) {
-                member = resolver.hasEntity(member.id);
-                if (member) {
-                    return extent.extend(member.extent(resolver, memo));
-                } else {
-                    return extent;
-                }
-            }, iD.geo.Extent());
-        });
-    },
-
-    geometry: function(graph) {
-        return graph.transient(this, 'geometry', function() {
-            return this.isMultipolygon() ? 'area' : 'relation';
-        });
-    },
-
-    isDegenerate: function() {
-        return this.members.length === 0;
-    },
-
-    // Return an array of members, each extended with an 'index' property whose value
-    // is the member index.
-    indexedMembers: function() {
-        var result = new Array(this.members.length);
-        for (var i = 0; i < this.members.length; i++) {
-            result[i] = _.extend({}, this.members[i], {index: i});
-        }
-        return result;
-    },
-
-    // Return the first member with the given role. A copy of the member object
-    // is returned, extended with an 'index' property whose value is the member index.
-    memberByRole: function(role) {
-        for (var i = 0; i < this.members.length; i++) {
-            if (this.members[i].role === role) {
-                return _.extend({}, this.members[i], {index: i});
-            }
-        }
-    },
-
-    // Return the first member with the given id. A copy of the member object
-    // is returned, extended with an 'index' property whose value is the member index.
-    memberById: function(id) {
-        for (var i = 0; i < this.members.length; i++) {
-            if (this.members[i].id === id) {
-                return _.extend({}, this.members[i], {index: i});
-            }
-        }
-    },
-
-    // Return the first member with the given id and role. A copy of the member object
-    // is returned, extended with an 'index' property whose value is the member index.
-    memberByIdAndRole: function(id, role) {
-        for (var i = 0; i < this.members.length; i++) {
-            if (this.members[i].id === id && this.members[i].role === role) {
-                return _.extend({}, this.members[i], {index: i});
-            }
-        }
-    },
-
-    addMember: function(member, index) {
-        var members = this.members.slice();
-        members.splice(index === undefined ? members.length : index, 0, member);
-        return this.update({members: members});
-    },
-
-    updateMember: function(member, index) {
-        var members = this.members.slice();
-        members.splice(index, 1, _.extend({}, members[index], member));
-        return this.update({members: members});
-    },
-
-    removeMember: function(index) {
-        var members = this.members.slice();
-        members.splice(index, 1);
-        return this.update({members: members});
-    },
-
-    removeMembersWithID: function(id) {
-        var members = _.reject(this.members, function(m) { return m.id === id; });
-        return this.update({members: members});
-    },
-
-    // Wherever a member appears with id `needle.id`, replace it with a member
-    // with id `replacement.id`, type `replacement.type`, and the original role,
-    // unless a member already exists with that id and role. Return an updated
-    // relation.
-    replaceMember: function(needle, replacement) {
-        if (!this.memberById(needle.id))
-            return this;
-
-        var members = [];
-
-        for (var i = 0; i < this.members.length; i++) {
-            var member = this.members[i];
-            if (member.id !== needle.id) {
-                members.push(member);
-            } else if (!this.memberByIdAndRole(replacement.id, member.role)) {
-                members.push({id: replacement.id, type: replacement.type, role: member.role});
-            }
-        }
-
-        return this.update({members: members});
-    },
-
-    asJXON: function(changeset_id) {
-        var r = {
-            relation: {
-                '@id': this.osmId(),
-                '@version': this.version || 0,
-                member: _.map(this.members, function(member) {
-                    return { keyAttributes: { type: member.type, role: member.role, ref: iD.Entity.id.toOSM(member.id) } };
-                }),
-                tag: _.map(this.tags, function(v, k) {
-                    return { keyAttributes: { k: k, v: v } };
-                })
-            }
-        };
-        if (changeset_id) r.relation['@changeset'] = changeset_id;
-        return r;
-    },
-
-    asGeoJSON: function(resolver) {
-        return resolver.transient(this, 'GeoJSON', function () {
-            if (this.isMultipolygon()) {
-                return {
-                    type: 'MultiPolygon',
-                    coordinates: this.multipolygon(resolver)
-                };
-            } else {
-                return {
-                    type: 'FeatureCollection',
-                    properties: this.tags,
-                    features: this.members.map(function (member) {
-                        return _.extend({role: member.role}, resolver.entity(member.id).asGeoJSON(resolver));
-                    })
-                };
-            }
-        });
-    },
-
-    area: function(resolver) {
-        return resolver.transient(this, 'area', function() {
-            return d3.geo.area(this.asGeoJSON(resolver));
-        });
-    },
-
-    isMultipolygon: function() {
-        return this.tags.type === 'multipolygon';
-    },
-
-    isComplete: function(resolver) {
-        for (var i = 0; i < this.members.length; i++) {
-            if (!resolver.hasEntity(this.members[i].id)) {
-                return false;
-            }
-        }
-        return true;
-    },
-
-    isRestriction: function() {
-        return !!(this.tags.type && this.tags.type.match(/^restriction:?/));
-    },
-
-    // Returns an array [A0, ... An], each Ai being an array of node arrays [Nds0, ... Ndsm],
-    // where Nds0 is an outer ring and subsequent Ndsi's (if any i > 0) being inner rings.
-    //
-    // This corresponds to the structure needed for rendering a multipolygon path using a
-    // `evenodd` fill rule, as well as the structure of a GeoJSON MultiPolygon geometry.
-    //
-    // In the case of invalid geometries, this function will still return a result which
-    // includes the nodes of all way members, but some Nds may be unclosed and some inner
-    // rings not matched with the intended outer ring.
-    //
-    multipolygon: function(resolver) {
-        var outers = this.members.filter(function(m) { return 'outer' === (m.role || 'outer'); }),
-            inners = this.members.filter(function(m) { return 'inner' === m.role; });
-
-        outers = iD.geo.joinWays(outers, resolver);
-        inners = iD.geo.joinWays(inners, resolver);
-
-        outers = outers.map(function(outer) { return _.pluck(outer.nodes, 'loc'); });
-        inners = inners.map(function(inner) { return _.pluck(inner.nodes, 'loc'); });
-
-        var result = outers.map(function(o) {
-            // Heuristic for detecting counterclockwise winding order. Assumes
-            // that OpenStreetMap polygons are not hemisphere-spanning.
-            return [d3.geo.area({type: 'Polygon', coordinates: [o]}) > 2 * Math.PI ? o.reverse() : o];
-        });
-
-        function findOuter(inner) {
-            var o, outer;
-
-            for (o = 0; o < outers.length; o++) {
-                outer = outers[o];
-                if (iD.geo.polygonContainsPolygon(outer, inner))
-                    return o;
-            }
-
-            for (o = 0; o < outers.length; o++) {
-                outer = outers[o];
-                if (iD.geo.polygonIntersectsPolygon(outer, inner))
-                    return o;
-            }
-        }
-
-        for (var i = 0; i < inners.length; i++) {
-            var inner = inners[i];
-
-            if (d3.geo.area({type: 'Polygon', coordinates: [inner]}) < 2 * Math.PI) {
-                inner = inner.reverse();
-            }
-
-            var o = findOuter(inners[i]);
-            if (o !== undefined)
-                result[o].push(inners[i]);
-            else
-                result.push([inners[i]]); // Invalid geometry
-        }
-
-        return result;
-    }
-});
-iD.Tree = function(head) {
-    var rtree = rbush(),
-        rectangles = {};
-
-    function extentRectangle(extent) {
-        return [
-            extent[0][0],
-            extent[0][1],
-            extent[1][0],
-            extent[1][1]
-        ];
-    }
-
-    function entityRectangle(entity) {
-        var rect = extentRectangle(entity.extent(head));
-        rect.id = entity.id;
-        rectangles[entity.id] = rect;
-        return rect;
-    }
-
-    function updateParents(entity, insertions, memo) {
-        if (memo && memo[entity.id]) return;
-        memo = memo || {};
-        memo[entity.id] = true;
-
-        head.parentWays(entity).forEach(function(parent) {
-            if (rectangles[parent.id]) {
-                rtree.remove(rectangles[parent.id]);
-                insertions.push(parent);
-            }
-        });
-
-        head.parentRelations(entity).forEach(function(parent) {
-            if (rectangles[parent.id]) {
-                rtree.remove(rectangles[parent.id]);
-                insertions.push(parent);
-            }
-            updateParents(parent, insertions, memo);
-        });
-    }
-
-    var tree = {};
-
-    tree.rebase = function(entities) {
-        var insertions = [];
-
-        entities.forEach(function(entity) {
-            if (head.entities.hasOwnProperty(entity.id) || rectangles[entity.id])
-                return;
-
-            insertions.push(entity);
-            updateParents(entity, insertions);
-        });
-
-        insertions = _.unique(insertions).map(entityRectangle);
-        rtree.load(insertions);
-
-        return tree;
-    };
-
-    tree.intersects = function(extent, graph) {
-        if (graph !== head) {
-            var diff = iD.Difference(head, graph),
-                insertions = [];
-
-            head = graph;
-
-            diff.deleted().forEach(function(entity) {
-                rtree.remove(rectangles[entity.id]);
-                delete rectangles[entity.id];
-            });
-
-            diff.modified().forEach(function(entity) {
-                rtree.remove(rectangles[entity.id]);
-                insertions.push(entity);
-                updateParents(entity, insertions);
-            });
-
-            diff.created().forEach(function(entity) {
-                insertions.push(entity);
-            });
-
-            insertions = _.unique(insertions).map(entityRectangle);
-            rtree.load(insertions);
-        }
-
-        return rtree.search(extentRectangle(extent)).map(function(rect) {
-            return head.entity(rect.id);
-        });
-    };
-
-    return tree;
-};
-iD.Way = iD.Entity.way = function iD_Way() {
-    if (!(this instanceof iD_Way)) {
-        return (new iD_Way()).initialize(arguments);
-    } else if (arguments.length) {
-        this.initialize(arguments);
-    }
-};
-
-iD.Way.prototype = Object.create(iD.Entity.prototype);
-
-_.extend(iD.Way.prototype, {
-    type: 'way',
-    nodes: [],
-
-    extent: function(resolver) {
-        return resolver.transient(this, 'extent', function() {
-            return this.nodes.reduce(function(extent, id) {
-                var node = resolver.hasEntity(id);
-                if (node) {
-                    return extent.extend(node.extent());
-                } else {
-                    return extent;
-                }
-            }, iD.geo.Extent());
-        });
-    },
-
-    first: function() {
-        return this.nodes[0];
-    },
-
-    last: function() {
-        return this.nodes[this.nodes.length - 1];
-    },
-
-    contains: function(node) {
-        return this.nodes.indexOf(node) >= 0;
-    },
-
-    affix: function(node) {
-        if (this.nodes[0] === node) return 'prefix';
-        if (this.nodes[this.nodes.length - 1] === node) return 'suffix';
-    },
-
-    layer: function() {
-        // explicit layer tag, clamp between -10, 10..
-        if (this.tags.layer !== undefined) {
-            return Math.max(-10, Math.min(+(this.tags.layer), 10));
-        }
-
-        // implied layer tag..
-        if (this.tags.location === 'overground') return 1;
-        if (this.tags.location === 'underground') return -1;
-        if (this.tags.location === 'underwater') return -10;
-
-        if (this.tags.power === 'line') return 10;
-        if (this.tags.power === 'minor_line') return 10;
-        if (this.tags.aerialway) return 10;
-        if (this.tags.bridge) return 1;
-        if (this.tags.cutting) return -1;
-        if (this.tags.tunnel) return -1;
-        if (this.tags.waterway) return -1;
-        if (this.tags.man_made === 'pipeline') return -10;
-        if (this.tags.boundary) return -10;
-        return 0;
-    },
-
-    isOneWay: function() {
-        // explicit oneway tag..
-        if (['yes', '1', '-1'].indexOf(this.tags.oneway) !== -1) { return true; }
-        if (['no', '0'].indexOf(this.tags.oneway) !== -1) { return false; }
-
-        // implied oneway tag..
-        for (var key in this.tags) {
-            if (key in iD.oneWayTags && (this.tags[key] in iD.oneWayTags[key]))
-                return true;
-        }
-        return false;
-    },
-
-    isClosed: function() {
-        return this.nodes.length > 0 && this.first() === this.last();
-    },
-
-    isConvex: function(resolver) {
-        if (!this.isClosed() || this.isDegenerate()) return null;
-
-        var nodes = _.uniq(resolver.childNodes(this)),
-            coords = _.pluck(nodes, 'loc'),
-            curr = 0, prev = 0;
-
-        for (var i = 0; i < coords.length; i++) {
-            var o = coords[(i+1) % coords.length],
-                a = coords[i],
-                b = coords[(i+2) % coords.length],
-                res = iD.geo.cross(o, a, b);
-
-            curr = (res > 0) ? 1 : (res < 0) ? -1 : 0;
-            if (curr === 0) {
-                continue;
-            } else if (prev && curr !== prev) {
-                return false;
-            }
-            prev = curr;
-        }
-        return true;
-    },
-
-    isArea: function() {
-        if (this.tags.area === 'yes')
-            return true;
-        if (!this.isClosed() || this.tags.area === 'no')
-            return false;
-        for (var key in this.tags)
-            if (key in iD.areaKeys && !(this.tags[key] in iD.areaKeys[key]))
-                return true;
-        return false;
-    },
-
-    isDegenerate: function() {
-        return _.uniq(this.nodes).length < (this.isArea() ? 3 : 2);
-    },
-
-    areAdjacent: function(n1, n2) {
-        for (var i = 0; i < this.nodes.length; i++) {
-            if (this.nodes[i] === n1) {
-                if (this.nodes[i - 1] === n2) return true;
-                if (this.nodes[i + 1] === n2) return true;
-            }
-        }
-        return false;
-    },
-
-    geometry: function(graph) {
-        return graph.transient(this, 'geometry', function() {
-            return this.isArea() ? 'area' : 'line';
-        });
-    },
-
-    addNode: function(id, index) {
-        var nodes = this.nodes.slice();
-        nodes.splice(index === undefined ? nodes.length : index, 0, id);
-        return this.update({nodes: nodes});
-    },
-
-    updateNode: function(id, index) {
-        var nodes = this.nodes.slice();
-        nodes.splice(index, 1, id);
-        return this.update({nodes: nodes});
-    },
-
-    replaceNode: function(needle, replacement) {
-        if (this.nodes.indexOf(needle) < 0)
-            return this;
-
-        var nodes = this.nodes.slice();
-        for (var i = 0; i < nodes.length; i++) {
-            if (nodes[i] === needle) {
-                nodes[i] = replacement;
-            }
-        }
-        return this.update({nodes: nodes});
-    },
-
-    removeNode: function(id) {
-        var nodes = [];
-
-        for (var i = 0; i < this.nodes.length; i++) {
-            var node = this.nodes[i];
-            if (node !== id && nodes[nodes.length - 1] !== node) {
-                nodes.push(node);
-            }
-        }
-
-        // Preserve circularity
-        if (this.nodes.length > 1 && this.first() === id && this.last() === id && nodes[nodes.length - 1] !== nodes[0]) {
-            nodes.push(nodes[0]);
-        }
-
-        return this.update({nodes: nodes});
-    },
-
-    asJXON: function(changeset_id) {
-        var r = {
-            way: {
-                '@id': this.osmId(),
-                '@version': this.version || 0,
-                nd: _.map(this.nodes, function(id) {
-                    return { keyAttributes: { ref: iD.Entity.id.toOSM(id) } };
-                }),
-                tag: _.map(this.tags, function(v, k) {
-                    return { keyAttributes: { k: k, v: v } };
-                })
-            }
-        };
-        if (changeset_id) r.way['@changeset'] = changeset_id;
-        return r;
-    },
-
-    asGeoJSON: function(resolver) {
-        return resolver.transient(this, 'GeoJSON', function() {
-            var coordinates = _.pluck(resolver.childNodes(this), 'loc');
-            if (this.isArea() && this.isClosed()) {
-                return {
-                    type: 'Polygon',
-                    coordinates: [coordinates]
-                };
-            } else {
-                return {
-                    type: 'LineString',
-                    coordinates: coordinates
-                };
-            }
-        });
-    },
-
-    area: function(resolver) {
-        return resolver.transient(this, 'area', function() {
-            var nodes = resolver.childNodes(this);
-
-            if (!this.isClosed() && nodes.length) {
-                nodes = nodes.concat([nodes[0]]);
-            }
-
-            var json = {
-                type: 'Polygon',
-                coordinates: [_.pluck(nodes, 'loc')]
-            };
-
-            var area = d3.geo.area(json);
-
-            // Heuristic for detecting counterclockwise winding order. Assumes
-            // that OpenStreetMap polygons are not hemisphere-spanning.
-            if (d3.geo.area(json) > 2 * Math.PI) {
-                json.coordinates[0] = json.coordinates[0].reverse();
-                area = d3.geo.area(json);
-            }
-
-            return isNaN(area) ? 0 : area;
-        });
-    }
-});
-iD.Background = function(context) {
-    var dispatch = d3.dispatch('change'),
-        baseLayer = iD.TileLayer()
-            .projection(context.projection),
-        gpxLayer = iD.GpxLayer(context, dispatch)
-            .projection(context.projection),
-        overlayLayers = [];
-
-    var backgroundSources = iD.data.imagery.map(function(source) {
-        if (source.type === 'bing') {
-            return iD.BackgroundSource.Bing(source, dispatch);
-        } else {
-            return iD.BackgroundSource(source);
-        }
-    });
-
-    backgroundSources.unshift(iD.BackgroundSource.None());
-
-    function findSource(id) {
-        return _.find(backgroundSources, function(d) {
-            return d.id && d.id === id;
-        });
-    }
-
-    function updateImagery() {
-        var b = background.baseLayerSource(),
-            o = overlayLayers.map(function (d) { return d.source().id; }).join(','),
-            q = iD.util.stringQs(location.hash.substring(1));
-
-        var id = b.id;
-        if (id === 'custom') {
-            id = 'custom:' + b.template;
-        }
-
-        if (id) {
-            q.background = id;
-        } else {
-            delete q.background;
-        }
-
-        if (o) {
-            q.overlays = o;
-        } else {
-            delete q.overlays;
-        }
-
-        location.replace('#' + iD.util.qsString(q, true));
-
-        var imageryUsed = [b.imageryUsed()];
-
-        overlayLayers.forEach(function (d) {
-            var source = d.source();
-            if (!source.isLocatorOverlay()) {
-                imageryUsed.push(source.imageryUsed());
-            }
-        });
-
-        if (background.showsGpxLayer()) {
-            imageryUsed.push('Local GPX');
-        }
-
-        context.history().imageryUsed(imageryUsed);
-    }
-
-    function background(selection) {
-        var base = selection.selectAll('.background-layer')
-            .data([0]);
-
-        base.enter().insert('div', '.layer-data')
-            .attr('class', 'layer-layer background-layer');
-
-        base.call(baseLayer);
-
-        var gpx = selection.selectAll('.gpx-layer')
-            .data([0]);
-
-        gpx.enter().insert('div', '.layer-data')
-            .attr('class', 'layer-layer gpx-layer');
-
-        gpx.call(gpxLayer);
-
-        var overlays = selection.selectAll('.overlay-layer')
-            .data(overlayLayers, function(d) { return d.source().name(); });
-
-        overlays.enter().insert('div', '.layer-data')
-            .attr('class', 'layer-layer overlay-layer');
-
-        overlays.each(function(layer) {
-            d3.select(this).call(layer);
-        });
-
-        overlays.exit()
-            .remove();
-    }
-
-    background.sources = function(extent) {
-        return backgroundSources.filter(function(source) {
-            return source.intersects(extent);
-        });
-    };
-
-    background.dimensions = function(_) {
-        baseLayer.dimensions(_);
-        gpxLayer.dimensions(_);
-
-        overlayLayers.forEach(function(layer) {
-            layer.dimensions(_);
-        });
-    };
-
-    background.baseLayerSource = function(d) {
-        if (!arguments.length) return baseLayer.source();
-
-        baseLayer.source(d);
-        dispatch.change();
-        updateImagery();
-
-        return background;
-    };
-
-    background.bing = function() {
-        background.baseLayerSource(findSource('Bing'));
-    };
-
-    background.hasGpxLayer = function() {
-        return !_.isEmpty(gpxLayer.geojson());
-    };
-
-    background.showsGpxLayer = function() {
-        return background.hasGpxLayer() && gpxLayer.enable();
-    };
-
-    function toDom(x) {
-        return (new DOMParser()).parseFromString(x, 'text/xml');
-    }
-
-    background.gpxLayerFiles = function(fileList) {
-        var f = fileList[0],
-            reader = new FileReader();
-
-        reader.onload = function(e) {
-            gpxLayer.geojson(toGeoJSON.gpx(toDom(e.target.result)));
-            background.zoomToGpxLayer();
-            dispatch.change();
-        };
-
-        reader.readAsText(f);
-    };
-
-    background.zoomToGpxLayer = function() {
-        if (background.hasGpxLayer()) {
-            context.map()
-                .extent(d3.geo.bounds(gpxLayer.geojson()));
-        }
-    };
-
-    background.toggleGpxLayer = function() {
-        gpxLayer.enable(!gpxLayer.enable());
-        dispatch.change();
-    };
-
-    background.showsLayer = function(d) {
-        return d === baseLayer.source() ||
-            (d.id === 'custom' && baseLayer.source().id === 'custom') ||
-            overlayLayers.some(function(l) { return l.source() === d; });
-    };
-
-    background.overlayLayerSources = function() {
-        return overlayLayers.map(function (l) { return l.source(); });
-    };
-
-    background.toggleOverlayLayer = function(d) {
-        var layer;
-
-        for (var i = 0; i < overlayLayers.length; i++) {
-            layer = overlayLayers[i];
-            if (layer.source() === d) {
-                overlayLayers.splice(i, 1);
-                dispatch.change();
-                updateImagery();
-                return;
-            }
-        }
-
-        layer = iD.TileLayer()
-            .source(d)
-            .projection(context.projection)
-            .dimensions(baseLayer.dimensions());
-
-        overlayLayers.push(layer);
-        dispatch.change();
-        updateImagery();
-    };
-
-    background.nudge = function(d, zoom) {
-        baseLayer.source().nudge(d, zoom);
-        dispatch.change();
-        return background;
-    };
-
-    background.offset = function(d) {
-        if (!arguments.length) return baseLayer.source().offset();
-        baseLayer.source().offset(d);
-        dispatch.change();
-        return background;
-    };
-
-    var q = iD.util.stringQs(location.hash.substring(1)),
-        chosen = q.background || q.layer;
-
-    if (chosen && chosen.indexOf('custom:') === 0) {
-        background.baseLayerSource(iD.BackgroundSource.Custom(chosen.replace(/^custom:/, '')));
-    } else {
-        background.baseLayerSource(findSource(chosen) || findSource('Bing'));
-    }
-
-    var locator = _.find(backgroundSources, function(d) {
-        return d.overlay && d.default;
-    });
-
-    if (locator) {
-        background.toggleOverlayLayer(locator);
-    }
-
-    var overlays = (q.overlays || '').split(',');
-    overlays.forEach(function(overlay) {
-        overlay = findSource(overlay);
-        if (overlay) background.toggleOverlayLayer(overlay);
-    });
-
-    var gpx = q.gpx;
-    if (gpx) {
-        d3.text(gpx, function(err, gpxTxt) {
-            gpxLayer.geojson(toGeoJSON.gpx(toDom(gpxTxt)));
-            dispatch.change();
-        });
-    }
-
-    return d3.rebind(background, dispatch, 'on');
-};
-iD.BackgroundSource = function(data) {
-    var source = _.clone(data),
-        offset = [0, 0],
-        name = source.name;
-
-    source.scaleExtent = data.scaleExtent || [0, 20];
-
-    source.offset = function(_) {
-        if (!arguments.length) return offset;
-        offset = _;
-        return source;
-    };
-
-    source.nudge = function(_, zoomlevel) {
-        offset[0] += _[0] / Math.pow(2, zoomlevel);
-        offset[1] += _[1] / Math.pow(2, zoomlevel);
-        return source;
-    };
-
-    source.name = function() {
-        return name;
-    };
-
-    source.imageryUsed = function() {
-        return source.id || name;
-    };
-
-    source.url = function(coord) {
-        return data.template
-            .replace('{x}', coord[0])
-            .replace('{y}', coord[1])
-            // TMS-flipped y coordinate
-            .replace(/\{[t-]y\}/, Math.pow(2, coord[2]) - coord[1] - 1)
-            .replace(/\{z(oom)?\}/, coord[2])
-            .replace(/\{switch:([^}]+)\}/, function(s, r) {
-                var subdomains = r.split(',');
-                return subdomains[(coord[0] + coord[1]) % subdomains.length];
-            })
-            .replace('{u}', function() {
-                var u = '';
-                for (var zoom = coord[2]; zoom > 0; zoom--) {
-                    var b = 0;
-                    var mask = 1 << (zoom - 1);
-                    if ((coord[0] & mask) !== 0) b++;
-                    if ((coord[1] & mask) !== 0) b += 2;
-                    u += b.toString();
-                }
-                return u;
-            });
-    };
-
-    source.intersects = function(extent) {
-        extent = extent.polygon();
-        return !data.polygon || data.polygon.some(function(polygon) {
-            return iD.geo.polygonIntersectsPolygon(polygon, extent);
-        });
-    };
-
-    source.validZoom = function(z) {
-        return source.scaleExtent[0] <= z &&
-            (!source.isLocatorOverlay() || source.scaleExtent[1] > z);
-    };
-
-    source.isLocatorOverlay = function() {
-        return name === 'Locator Overlay';
-    };
-
-    source.copyrightNotices = function() {};
-
-    return source;
-};
-
-iD.BackgroundSource.Bing = function(data, dispatch) {
-    // http://msdn.microsoft.com/en-us/library/ff701716.aspx
-    // http://msdn.microsoft.com/en-us/library/ff701701.aspx
-
-    data.template = 'https://ecn.t{switch:0,1,2,3}.tiles.virtualearth.net/tiles/a{u}.jpeg?g=587&mkt=en-gb&n=z';
-
-    var bing = iD.BackgroundSource(data),
-        key = 'Arzdiw4nlOJzRwOz__qailc8NiR31Tt51dN2D7cm57NrnceZnCpgOkmJhNpGoppU', // Same as P2 and JOSM
-        url = 'https://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial?include=ImageryProviders&key=' +
-            key + '&jsonp={callback}',
-        providers = [];
-
-    d3.jsonp(url, function(json) {
-        providers = json.resourceSets[0].resources[0].imageryProviders.map(function(provider) {
-            return {
-                attribution: provider.attribution,
-                areas: provider.coverageAreas.map(function(area) {
-                    return {
-                        zoom: [area.zoomMin, area.zoomMax],
-                        extent: iD.geo.Extent([area.bbox[1], area.bbox[0]], [area.bbox[3], area.bbox[2]])
-                    };
-                })
-            };
-        });
-        dispatch.change();
-    });
-
-    bing.copyrightNotices = function(zoom, extent) {
-        zoom = Math.min(zoom, 21);
-        return providers.filter(function(provider) {
-            return _.any(provider.areas, function(area) {
-                return extent.intersects(area.extent) &&
-                    area.zoom[0] <= zoom &&
-                    area.zoom[1] >= zoom;
-            });
-        }).map(function(provider) {
-            return provider.attribution;
-        }).join(', ');
-    };
-
-    bing.logo = 'bing_maps.png';
-    bing.terms_url = 'http://opengeodata.org/microsoft-imagery-details';
-
-    return bing;
-};
-
-iD.BackgroundSource.None = function() {
-    var source = iD.BackgroundSource({id: 'none', template: ''});
-
-    source.name = function() {
-        return t('background.none');
-    };
-
-    source.imageryUsed = function() {
-        return 'None';
-    };
-
-    return source;
-};
-
-iD.BackgroundSource.Custom = function(template) {
-    var source = iD.BackgroundSource({id: 'custom', template: template});
-
-    source.name = function() {
-        return t('background.custom');
-    };
-
-    source.imageryUsed = function() {
-        return 'Custom (' + template + ')';
-    };
-
-    return source;
-};
-iD.GpxLayer = function(context) {
-    var projection,
-        gj = {},
-        enable = true,
-        svg;
-
-    function render(selection) {
-        svg = selection.selectAll('svg')
-            .data([render]);
-
-        svg.enter()
-            .append('svg');
-
-        svg.style('display', enable ? 'block' : 'none');
-
-        var paths = svg
-            .selectAll('path')
-            .data([gj]);
-
-        paths
-            .enter()
-            .append('path')
-            .attr('class', 'gpx');
-
-        var path = d3.geo.path()
-            .projection(projection);
-
-        paths
-            .attr('d', path);
-
-        if (typeof gj.features !== 'undefined') {
-            svg
-                .selectAll('text')
-                .remove();
-
-            svg
-                .selectAll('path')
-                .data(gj.features)
-                .enter()
-                .append('text')
-                .attr('class', 'gpx')
-                .text(function(d) {
-                    return d.properties.desc || d.properties.name;
-                })
-                .attr('x', function(d) {
-                    var centroid = path.centroid(d);
-                    return centroid[0] + 5;
-                })
-                .attr('y', function(d) {
-                    var centroid = path.centroid(d);
-                    return centroid[1];
-                });
-        }
-    }
-
-    render.projection = function(_) {
-        if (!arguments.length) return projection;
-        projection = _;
-        return render;
-    };
-
-    render.enable = function(_) {
-        if (!arguments.length) return enable;
-        enable = _;
-        return render;
-    };
-
-    render.geojson = function(_) {
-        if (!arguments.length) return gj;
-        gj = _;
-        return render;
-    };
-
-    render.dimensions = function(_) {
-        if (!arguments.length) return svg.dimensions();
-        svg.dimensions(_);
-        return render;
-    };
-
-    render.id = 'layer-gpx';
-
-    function over() {
-        d3.event.stopPropagation();
-        d3.event.preventDefault();
-        d3.event.dataTransfer.dropEffect = 'copy';
-    }
-
-    d3.select('body')
-        .attr('dropzone', 'copy')
-        .on('drop.localgpx', function() {
-            d3.event.stopPropagation();
-            d3.event.preventDefault();
-            if (!iD.detect().filedrop) return;
-            context.background().gpxLayerFiles(d3.event.dataTransfer.files);
-        })
-        .on('dragenter.localgpx', over)
-        .on('dragexit.localgpx', over)
-        .on('dragover.localgpx', over);
-
-    return render;
-};
-iD.Map = function(context) {
-    var dimensions = [1, 1],
-        dispatch = d3.dispatch('move', 'drawn'),
-        projection = context.projection,
-        roundedProjection = iD.svg.RoundProjection(projection),
-        zoom = d3.behavior.zoom()
-            .translate(projection.translate())
-            .scale(projection.scale() * 2 * Math.PI)
-            .scaleExtent([1024, 256 * Math.pow(2, 24)])
-            .on('zoom', zoomPan),
-        dblclickEnabled = true,
-        transformStart,
-        transformed = false,
-        minzoom = 0,
-        points = iD.svg.Points(roundedProjection, context),
-        vertices = iD.svg.Vertices(roundedProjection, context),
-        lines = iD.svg.Lines(projection),
-        areas = iD.svg.Areas(projection),
-        midpoints = iD.svg.Midpoints(roundedProjection, context),
-        labels = iD.svg.Labels(projection, context),
-        supersurface, surface,
-        mouse,
-        mousemove;
-
-    function map(selection) {
-        context.history()
-            .on('change.map', redraw);
-        context.background()
-            .on('change.map', redraw);
-
-        selection.call(zoom);
-
-        supersurface = selection.append('div')
-            .attr('id', 'supersurface');
-
-        supersurface.call(context.background());
-
-        // Need a wrapper div because Opera can't cope with an absolutely positioned
-        // SVG element: http://bl.ocks.org/jfirebaugh/6fbfbd922552bf776c16
-        var dataLayer = supersurface.append('div')
-            .attr('class', 'layer-layer layer-data');
-
-        map.surface = surface = dataLayer.append('svg')
-            .on('mousedown.zoom', function() {
-                if (d3.event.button === 2) {
-                    d3.event.stopPropagation();
-                }
-            }, true)
-            .on('mouseup.zoom', function() {
-                if (resetTransform()) redraw();
-            })
-            .attr('id', 'surface')
-            .call(iD.svg.Surface(context));
-
-        surface.on('mousemove.map', function() {
-            mousemove = d3.event;
-        });
-
-        surface.on('mouseover.vertices', function() {
-            if (map.editable() && !transformed) {
-                var hover = d3.event.target.__data__;
-                surface.call(vertices.drawHover, context.graph(), hover, map.extent(), map.zoom());
-                dispatch.drawn({full: false});
-            }
-        });
-
-        surface.on('mouseout.vertices', function() {
-            if (map.editable() && !transformed) {
-                var hover = d3.event.relatedTarget && d3.event.relatedTarget.__data__;
-                surface.call(vertices.drawHover, context.graph(), hover, map.extent(), map.zoom());
-                dispatch.drawn({full: false});
-            }
-        });
-
-        context.on('enter.map', function() {
-            if (map.editable() && !transformed) {
-                var all = context.intersects(map.extent()),
-                    filter = d3.functor(true),
-                    graph = context.graph();
-                surface.call(vertices, graph, all, filter, map.extent(), map.zoom());
-                surface.call(midpoints, graph, all, filter, map.trimmedExtent());
-                dispatch.drawn({full: false});
-            }
-        });
-
-        map.dimensions(selection.dimensions());
-
-        labels.supersurface(supersurface);
-    }
-
-    function pxCenter() { return [dimensions[0] / 2, dimensions[1] / 2]; }
-
-    function drawVector(difference, extent) {
-        var filter, all,
-            graph = context.graph();
-
-        if (difference) {
-            var complete = difference.complete(map.extent());
-            all = _.compact(_.values(complete));
-            filter = function(d) { return d.id in complete; };
-
-        } else if (extent) {
-            all = context.intersects(map.extent().intersection(extent));
-            var set = d3.set(_.pluck(all, 'id'));
-            filter = function(d) { return set.has(d.id); };
-
-        } else {
-            all = context.intersects(map.extent());
-            filter = d3.functor(true);
-        }
-
-        surface
-            .call(vertices, graph, all, filter, map.extent(), map.zoom())
-            .call(lines, graph, all, filter)
-            .call(areas, graph, all, filter)
-            .call(midpoints, graph, all, filter, map.trimmedExtent())
-            .call(labels, graph, all, filter, dimensions, !difference && !extent);
-
-        if (points.points(context.intersects(map.extent()), 100).length >= 100) {
-            surface.select('.layer-hit').selectAll('g.point').remove();
-        } else {
-            surface.call(points, points.points(all), filter);
-        }
-
-        dispatch.drawn({full: true});
-    }
-
-    function editOff() {
-        var mode = context.mode();
-        surface.selectAll('.layer *').remove();
-        dispatch.drawn({full: true});
-        if (!(mode && mode.id === 'browse')) {
-            context.enter(iD.modes.Browse(context));
-        }
-    }
-
-    function zoomPan() {
-        if (d3.event && d3.event.sourceEvent.type === 'dblclick') {
-            if (!dblclickEnabled) {
-                zoom.scale(projection.scale() * 2 * Math.PI)
-                    .translate(projection.translate());
-                return d3.event.sourceEvent.preventDefault();
-            }
-        }
-
-        if (Math.log(d3.event.scale / Math.LN2 - 8) < minzoom + 1) {
-            iD.ui.flash(context.container())
-                .select('.content')
-                .text(t('cannot_zoom'));
-            return setZoom(16, true);
-        }
-
-        projection
-            .translate(d3.event.translate)
-            .scale(d3.event.scale / (2 * Math.PI));
-
-        var scale = d3.event.scale / transformStart[0],
-            tX = Math.round((d3.event.translate[0] / scale - transformStart[1][0]) * scale),
-            tY = Math.round((d3.event.translate[1] / scale - transformStart[1][1]) * scale);
-
-        transformed = true;
-        iD.util.setTransform(supersurface, tX, tY, scale);
-        queueRedraw();
-
-        dispatch.move(map);
-    }
-
-    function resetTransform() {
-        if (!transformed) return false;
-        iD.util.setTransform(supersurface, 0, 0);
-        transformed = false;
-        return true;
-    }
-
-    function redraw(difference, extent) {
-
-        if (!surface) return;
-
-        clearTimeout(timeoutId);
-
-        // If we are in the middle of a zoom/pan, we can't do differenced redraws.
-        // It would result in artifacts where differenced entities are redrawn with
-        // one transform and unchanged entities with another.
-        if (resetTransform()) {
-            difference = extent = undefined;
-        }
-
-        var zoom = String(~~map.zoom());
-        if (surface.attr('data-zoom') !== zoom) {
-            surface.attr('data-zoom', zoom)
-                .classed('low-zoom', zoom <= 16);
-        }
-
-        if (!difference) {
-            supersurface.call(context.background());
-        }
-
-        if (map.editable()) {
-            context.connection().loadTiles(projection, dimensions);
-            drawVector(difference, extent);
-        } else {
-            editOff();
-        }
-
-        transformStart = [
-            projection.scale() * 2 * Math.PI,
-            projection.translate().slice()];
-
-        return map;
-    }
-
-    var timeoutId;
-    function queueRedraw() {
-        clearTimeout(timeoutId);
-        timeoutId = setTimeout(function() { redraw(); }, 300);
-    }
-
-    function pointLocation(p) {
-        var translate = projection.translate(),
-            scale = projection.scale() * 2 * Math.PI;
-        return [(p[0] - translate[0]) / scale, (p[1] - translate[1]) / scale];
-    }
-
-    function locationPoint(l) {
-        var translate = projection.translate(),
-            scale = projection.scale() * 2 * Math.PI;
-        return [l[0] * scale + translate[0], l[1] * scale + translate[1]];
-    }
-
-    map.mouse = function() {
-        var e = mousemove || d3.event, s;
-        while ((s = e.sourceEvent)) e = s;
-        return mouse(e);
-    };
-
-    map.mouseCoordinates = function() {
-        return projection.invert(map.mouse());
-    };
-
-    map.dblclickEnable = function(_) {
-        if (!arguments.length) return dblclickEnabled;
-        dblclickEnabled = _;
-        return map;
-    };
-
-    function setZoom(_, force) {
-        if (_ === map.zoom() && !force)
-            return false;
-        var scale = 256 * Math.pow(2, _),
-            center = pxCenter(),
-            l = pointLocation(center);
-        scale = Math.max(1024, Math.min(256 * Math.pow(2, 24), scale));
-        projection.scale(scale / (2 * Math.PI));
-        zoom.scale(scale);
-        var t = projection.translate();
-        l = locationPoint(l);
-        t[0] += center[0] - l[0];
-        t[1] += center[1] - l[1];
-        projection.translate(t);
-        zoom.translate(projection.translate());
-        return true;
-    }
-
-    function setCenter(_) {
-        var c = map.center();
-        if (_[0] === c[0] && _[1] === c[1])
-            return false;
-        var t = projection.translate(),
-            pxC = pxCenter(),
-            ll = projection(_);
-        projection.translate([
-            t[0] - ll[0] + pxC[0],
-            t[1] - ll[1] + pxC[1]]);
-        zoom.translate(projection.translate());
-        return true;
-    }
-
-    map.pan = function(d) {
-        var t = projection.translate();
-        t[0] += d[0];
-        t[1] += d[1];
-        projection.translate(t);
-        zoom.translate(projection.translate());
-        dispatch.move(map);
-        return redraw();
-    };
-
-    map.dimensions = function(_) {
-        if (!arguments.length) return dimensions;
-        var center = map.center();
-        dimensions = _;
-        surface.dimensions(dimensions);
-        context.background().dimensions(dimensions);
-        projection.clipExtent([[0, 0], dimensions]);
-        mouse = iD.util.fastMouse(supersurface.node());
-        setCenter(center);
-        return redraw();
-    };
-
-    map.zoomIn = function() { return map.zoom(Math.ceil(map.zoom() + 1)); };
-    map.zoomOut = function() { return map.zoom(Math.floor(map.zoom() - 1)); };
-
-    map.center = function(loc) {
-        if (!arguments.length) {
-            return projection.invert(pxCenter());
-        }
-
-        if (setCenter(loc)) {
-            dispatch.move(map);
-        }
-
-        return redraw();
-    };
-
-    map.zoom = function(z) {
-        if (!arguments.length) {
-            return Math.max(Math.log(projection.scale() * 2 * Math.PI) / Math.LN2 - 8, 0);
-        }
-
-        if (setZoom(z)) {
-            dispatch.move(map);
-        }
-
-        return redraw();
-    };
-
-    map.zoomTo = function(entity, zoomLimits) {
-        var extent = entity.extent(context.graph()),
-            zoom = map.extentZoom(extent);
-        zoomLimits = zoomLimits || [16, 20];
-        map.centerZoom(extent.center(), Math.min(Math.max(zoom, zoomLimits[0]), zoomLimits[1]));
-    };
-
-    map.centerZoom = function(loc, z) {
-        var centered = setCenter(loc),
-            zoomed   = setZoom(z);
-
-        if (centered || zoomed) {
-            dispatch.move(map);
-        }
-
-        return redraw();
-    };
-
-    map.centerEase = function(loc) {
-        var from = map.center().slice(),
-            t = 0,
-            stop;
-
-        surface.one('mousedown.ease', function() {
-            stop = true;
-        });
-
-        d3.timer(function() {
-            if (stop) return true;
-            map.center(iD.geo.interp(from, loc, (t += 1) / 10));
-            return t === 10;
-        }, 20);
-        return map;
-    };
-
-    map.extent = function(_) {
-        if (!arguments.length) {
-            return new iD.geo.Extent(projection.invert([0, dimensions[1]]),
-                                 projection.invert([dimensions[0], 0]));
-        } else {
-            var extent = iD.geo.Extent(_);
-            map.centerZoom(extent.center(), map.extentZoom(extent));
-        }
-    };
-
-    map.trimmedExtent = function() {
-        var headerY = 60, footerY = 30, pad = 10;
-        return new iD.geo.Extent(projection.invert([pad, dimensions[1] - footerY - pad]),
-                projection.invert([dimensions[0] - pad, headerY + pad]));
-    };
-
-    map.extentZoom = function(_) {
-        var extent = iD.geo.Extent(_),
-            tl = projection([extent[0][0], extent[1][1]]),
-            br = projection([extent[1][0], extent[0][1]]);
-
-        // Calculate maximum zoom that fits extent
-        var hFactor = (br[0] - tl[0]) / dimensions[0],
-            vFactor = (br[1] - tl[1]) / dimensions[1],
-            hZoomDiff = Math.log(Math.abs(hFactor)) / Math.LN2,
-            vZoomDiff = Math.log(Math.abs(vFactor)) / Math.LN2,
-            newZoom = map.zoom() - Math.max(hZoomDiff, vZoomDiff);
-
-        return newZoom;
-    };
-
-    map.editable = function() {
-        return map.zoom() >= 16;
-    };
-
-    map.minzoom = function(_) {
-        if (!arguments.length) return minzoom;
-        minzoom = _;
-        return map;
-    };
-
-    return d3.rebind(map, dispatch, 'on');
-};
-iD.TileLayer = function() {
-    var tileSize = 256,
-        tile = d3.geo.tile(),
-        projection,
-        cache = {},
-        tileOrigin,
-        z,
-        transformProp = iD.util.prefixCSSProperty('Transform'),
-        source = d3.functor('');
-
-    function tileSizeAtZoom(d, z) {
-        return Math.ceil(tileSize * Math.pow(2, z - d[2])) / tileSize;
-    }
-
-    function atZoom(t, distance) {
-        var power = Math.pow(2, distance);
-        return [
-            Math.floor(t[0] * power),
-            Math.floor(t[1] * power),
-            t[2] + distance];
-    }
-
-    function lookUp(d) {
-        for (var up = -1; up > -d[2]; up--) {
-            var tile = atZoom(d, up);
-            if (cache[source.url(tile)] !== false) {
-                return tile;
-            }
-        }
-    }
-
-    function uniqueBy(a, n) {
-        var o = [], seen = {};
-        for (var i = 0; i < a.length; i++) {
-            if (seen[a[i][n]] === undefined) {
-                o.push(a[i]);
-                seen[a[i][n]] = true;
-            }
-        }
-        return o;
-    }
-
-    function addSource(d) {
-        d.push(source.url(d));
-        return d;
-    }
-
-    // Update tiles based on current state of `projection`.
-    function background(selection) {
-        tile.scale(projection.scale() * 2 * Math.PI)
-            .translate(projection.translate());
-
-        tileOrigin = [
-            projection.scale() * Math.PI - projection.translate()[0],
-            projection.scale() * Math.PI - projection.translate()[1]];
-
-        z = Math.max(Math.log(projection.scale() * 2 * Math.PI) / Math.log(2) - 8, 0);
-
-        render(selection);
-    }
-
-    // Derive the tiles onscreen, remove those offscreen and position them.
-    // Important that this part not depend on `projection` because it's
-    // rentered when tiles load/error (see #644).
-    function render(selection) {
-        var requests = [];
-
-        if (source.validZoom(z)) {
-            tile().forEach(function(d) {
-                addSource(d);
-                if (d[3] === '') return;
-                requests.push(d);
-                if (cache[d[3]] === false && lookUp(d)) {
-                    requests.push(addSource(lookUp(d)));
-                }
-            });
-
-            requests = uniqueBy(requests, 3).filter(function(r) {
-                // don't re-request tiles which have failed in the past
-                return cache[r[3]] !== false;
-            });
-        }
-
-        var pixelOffset = [
-            Math.round(source.offset()[0] * Math.pow(2, z)),
-            Math.round(source.offset()[1] * Math.pow(2, z))
-        ];
-
-        function load(d) {
-            cache[d[3]] = true;
-            d3.select(this)
-                .on('error', null)
-                .on('load', null)
-                .classed('tile-loaded', true);
-            render(selection);
-        }
-
-        function error(d) {
-            cache[d[3]] = false;
-            d3.select(this)
-                .on('error', null)
-                .on('load', null)
-                .remove();
-            render(selection);
-        }
-
-        function imageTransform(d) {
-            var _ts = tileSize * Math.pow(2, z - d[2]);
-            var scale = tileSizeAtZoom(d, z);
-            return 'translate(' +
-                (Math.round((d[0] * _ts) - tileOrigin[0]) + pixelOffset[0]) + 'px,' +
-                (Math.round((d[1] * _ts) - tileOrigin[1]) + pixelOffset[1]) + 'px)' +
-                'scale(' + scale + ',' + scale + ')';
-        }
-
-        var image = selection
-            .selectAll('img')
-            .data(requests, function(d) { return d[3]; });
-
-        image.exit()
-            .style(transformProp, imageTransform)
-            .classed('tile-removing', true)
-            .each(function() {
-                var tile = d3.select(this);
-                window.setTimeout(function() {
-                    if (tile.classed('tile-removing')) {
-                        tile.remove();
-                    }
-                }, 300);
-            });
-
-        image.enter().append('img')
-            .attr('class', 'tile')
-            .attr('src', function(d) { return d[3]; })
-            .on('error', error)
-            .on('load', load);
-
-        image
-            .style(transformProp, imageTransform)
-            .classed('tile-removing', false);
-    }
-
-    background.projection = function(_) {
-        if (!arguments.length) return projection;
-        projection = _;
-        return background;
-    };
-
-    background.dimensions = function(_) {
-        if (!arguments.length) return tile.size();
-        tile.size(_);
-        return background;
-    };
-
-    background.source = function(_) {
-        if (!arguments.length) return source;
-        source = _;
-        cache = {};
-        tile.scaleExtent(source.scaleExtent);
-        return background;
-    };
-
-    return background;
-};
-iD.svg = {
-    RoundProjection: function(projection) {
-        return function(d) {
-            return iD.geo.roundCoords(projection(d));
-        };
-    },
-
-    PointTransform: function(projection) {
-        return function(entity) {
-            // http://jsperf.com/short-array-join
-            var pt = projection(entity.loc);
-            return 'translate(' + pt[0] + ',' + pt[1] + ')';
-        };
-    },
-
-    Round: function () {
-        return d3.geo.transform({
-            point: function(x, y) { return this.stream.point(Math.floor(x), Math.floor(y)); }
-        });
-    },
-
-    Path: function(projection, graph, polygon) {
-        var cache = {},
-            round = iD.svg.Round().stream,
-            clip = d3.geo.clipExtent().extent(projection.clipExtent()).stream,
-            project = projection.stream,
-            path = d3.geo.path()
-                .projection({stream: function(output) { return polygon ? project(round(output)) : project(clip(round(output))); }});
-
-        return function(entity) {
-            if (entity.id in cache) {
-                return cache[entity.id];
-            } else {
-                return cache[entity.id] = path(entity.asGeoJSON(graph)); // jshint ignore:line
-            }
-        };
-    },
-
-    OneWaySegments: function(projection, graph, dt) {
-        return function(entity) {
-            var a,
-                b,
-                i = 0,
-                offset = dt,
-                segments = [],
-                viewport = iD.geo.Extent(projection.clipExtent()),
-                coordinates = graph.childNodes(entity).map(function(n) {
-                    return n.loc;
-                });
-
-            if (entity.tags.oneway === '-1') coordinates.reverse();
-
-            d3.geo.stream({
-                type: 'LineString',
-                coordinates: coordinates
-            }, projection.stream({
-                lineStart: function() {},
-                lineEnd: function() {
-                    a = null;
-                },
-                point: function(x, y) {
-                    b = [x, y];
-
-                    if (a) {
-                        var extent = iD.geo.Extent(a).extend(b),
-                            span = iD.geo.euclideanDistance(a, b) - offset;
-
-                        if (extent.intersects(viewport) && span >= 0) {
-                            var angle = Math.atan2(b[1] - a[1], b[0] - a[0]),
-                                dx = dt * Math.cos(angle),
-                                dy = dt * Math.sin(angle),
-                                p = [a[0] + offset * Math.cos(angle),
-                                     a[1] + offset * Math.sin(angle)];
-
-                            var segment = 'M' + a[0] + ',' + a[1] +
-                                          'L' + p[0] + ',' + p[1];
-
-                            for (span -= dt; span >= 0; span -= dt) {
-                                p[0] += dx;
-                                p[1] += dy;
-                                segment += 'L' + p[0] + ',' + p[1];
-                            }
-
-                            segment += 'L' + b[0] + ',' + b[1];
-                            segments.push({id: entity.id, index: i, d: segment});
-                        }
-
-                        offset = -span;
-                        i++;
-                    }
-
-                    a = b;
-                }
-            }));
-
-            return segments;
-        };
-    },
-
-    MultipolygonMemberTags: function(graph) {
-        return function(entity) {
-            var tags = entity.tags;
-            graph.parentRelations(entity).forEach(function(relation) {
-                if (relation.isMultipolygon()) {
-                    tags = _.extend({}, relation.tags, tags);
-                }
-            });
-            return tags;
-        };
-    }
-};
-iD.svg.Areas = function(projection) {
-    // Patterns only work in Firefox when set directly on element.
-    // (This is not a bug: https://bugzilla.mozilla.org/show_bug.cgi?id=750632)
-    var patterns = {
-        wetland: 'wetland',
-        beach: 'beach',
-        scrub: 'scrub',
-        construction: 'construction',
-        military: 'construction',
-        cemetery: 'cemetery',
-        grave_yard: 'cemetery',
-        meadow: 'meadow',
-        farm: 'farmland',
-        farmland: 'farmland',
-        orchard: 'orchard'
-    };
-
-    var patternKeys = ['landuse', 'natural', 'amenity'];
-
-    function setPattern(d) {
-        for (var i = 0; i < patternKeys.length; i++) {
-            if (patterns.hasOwnProperty(d.tags[patternKeys[i]])) {
-                this.style.fill = 'url("#pattern-' + patterns[d.tags[patternKeys[i]]] + '")';
-                return;
-            }
-        }
-        this.style.fill = '';
-    }
-
-    return function drawAreas(surface, graph, entities, filter) {
-        var path = iD.svg.Path(projection, graph, true),
-            areas = {},
-            multipolygon;
-
-        for (var i = 0; i < entities.length; i++) {
-            var entity = entities[i];
-            if (entity.geometry(graph) !== 'area') continue;
-
-            multipolygon = iD.geo.isSimpleMultipolygonOuterMember(entity, graph);
-            if (multipolygon) {
-                areas[multipolygon.id] = {
-                    entity: multipolygon.mergeTags(entity.tags),
-                    area: Math.abs(entity.area(graph))
-                };
-            } else if (!areas[entity.id]) {
-                areas[entity.id] = {
-                    entity: entity,
-                    area: Math.abs(entity.area(graph))
-                };
-            }
-        }
-
-        areas = d3.values(areas).filter(function hasPath(a) { return path(a.entity); });
-        areas.sort(function areaSort(a, b) { return b.area - a.area; });
-        areas = _.pluck(areas, 'entity');
-
-        var strokes = areas.filter(function(area) {
-            return area.type === 'way';
-        });
-
-        var data = {
-            shadow: strokes,
-            stroke: strokes,
-            fill: areas
-        };
-
-        var areagroup = surface
-            .select('.layer-areas')
-            .selectAll('g.areagroup')
-            .data(['fill', 'shadow', 'stroke']);
-
-        areagroup.enter()
-            .append('g')
-            .attr('class', function(d) { return 'layer areagroup area-' + d; });
-
-        var paths = areagroup
-            .selectAll('path')
-            .filter(filter)
-            .data(function(layer) { return data[layer]; }, iD.Entity.key);
-
-        // Remove exiting areas first, so they aren't included in the `fills`
-        // array used for sorting below (https://github.com/openstreetmap/iD/issues/1903).
-        paths.exit()
-            .remove();
-
-        var fills = surface.selectAll('.area-fill path.area')[0];
-
-        var bisect = d3.bisector(function(node) {
-            return -node.__data__.area(graph);
-        }).left;
-
-        function sortedByArea(entity) {
-            if (this.__data__ === 'fill') {
-                return fills[bisect(fills, -entity.area(graph))];
-            }
-        }
-
-        paths.enter()
-            .insert('path', sortedByArea)
-            .each(function(entity) {
-                var layer = this.parentNode.__data__;
-
-                this.setAttribute('class', entity.type + ' area ' + layer + ' ' + entity.id);
-
-                if (layer === 'fill') {
-                    setPattern.apply(this, arguments);
-                }
-            })
-            .call(iD.svg.TagClasses());
-
-        paths
-            .attr('d', path);
-    };
-};
-/*
-    A standalone SVG element that contains only a `defs` sub-element. To be
-    used once globally, since defs IDs must be unique within a document.
-*/
-iD.svg.Defs = function(context) {
-    function autosize(image) {
-        var img = document.createElement('img');
-        img.src = image.attr('xlink:href');
-        img.onload = function() {
-            image.attr({
-                width: img.width,
-                height: img.height
-            });
-        };
-    }
-
-    function SpriteDefinition(id, href, data) {
-        return function(defs) {
-            defs.append('image')
-                .attr('id', id)
-                .attr('xlink:href', href)
-                .call(autosize);
-
-            defs.selectAll()
-                .data(data)
-                .enter().append('use')
-                .attr('id', function(d) { return d.key; })
-                .attr('transform', function(d) { return 'translate(-' + d.value[0] + ',-' + d.value[1] + ')'; })
-                .attr('xlink:href', '#' + id);
-        };
-    }
-
-    return function (selection) {
-        var defs = selection.append('defs');
-
-        defs.append('marker')
-            .attr({
-                id: 'oneway-marker',
-                viewBox: '0 0 10 10',
-                refY: 2.5,
-                refX: 5,
-                markerWidth: 2,
-                markerHeight: 2,
-                orient: 'auto'
-            })
-            .append('path')
-            .attr('d', 'M 5 3 L 0 3 L 0 2 L 5 2 L 5 0 L 10 2.5 L 5 5 z');
-
-        var patterns = defs.selectAll('pattern')
-            .data([
-                // pattern name, pattern image name
-                ['wetland', 'wetland'],
-                ['construction', 'construction'],
-                ['cemetery', 'cemetery'],
-                ['orchard', 'orchard'],
-                ['farmland', 'farmland'],
-                ['beach', 'dots'],
-                ['scrub', 'dots'],
-                ['meadow', 'dots']
-            ])
-            .enter()
-            .append('pattern')
-            .attr({
-                id: function (d) {
-                    return 'pattern-' + d[0];
-                },
-                width: 32,
-                height: 32,
-                patternUnits: 'userSpaceOnUse'
-            });
-
-        patterns.append('rect')
-            .attr({
-                x: 0,
-                y: 0,
-                width: 32,
-                height: 32,
-                'class': function (d) {
-                    return 'pattern-color-' + d[0];
-                }
-            });
-
-        patterns.append('image')
-            .attr({
-                x: 0,
-                y: 0,
-                width: 32,
-                height: 32
-            })
-            .attr('xlink:href', function (d) {
-                return context.imagePath('pattern/' + d[1] + '.png');
-            });
-
-        defs.selectAll()
-            .data([12, 18, 20, 32, 45])
-            .enter().append('clipPath')
-            .attr('id', function (d) {
-                return 'clip-square-' + d;
-            })
-            .append('rect')
-            .attr('x', 0)
-            .attr('y', 0)
-            .attr('width', function (d) {
-                return d;
-            })
-            .attr('height', function (d) {
-                return d;
-            });
-
-        var maki = [];
-        _.forEach(iD.data.featureIcons, function (dimensions, name) {
-            if (dimensions['12'] && dimensions['18'] && dimensions['24']) {
-                maki.push({key: 'maki-' + name + '-12', value: dimensions['12']});
-                maki.push({key: 'maki-' + name + '-18', value: dimensions['18']});
-                maki.push({key: 'maki-' + name + '-24', value: dimensions['24']});
-            }
-        });
-
-        defs.call(SpriteDefinition(
-            'sprite',
-            context.imagePath('sprite.svg'),
-            d3.entries(iD.data.operations)));
-
-        defs.call(SpriteDefinition(
-            'maki-sprite',
-            context.imagePath('maki-sprite.png'),
-            maki));
-    };
-};
-iD.svg.Labels = function(projection, context) {
-    var path = d3.geo.path().projection(projection);
-
-    // Replace with dict and iterate over entities tags instead?
-    var label_stack = [
-        ['line', 'aeroway'],
-        ['line', 'highway'],
-        ['line', 'railway'],
-        ['line', 'waterway'],
-        ['area', 'aeroway'],
-        ['area', 'amenity'],
-        ['area', 'building'],
-        ['area', 'historic'],
-        ['area', 'leisure'],
-        ['area', 'man_made'],
-        ['area', 'natural'],
-        ['area', 'shop'],
-        ['area', 'tourism'],
-        ['point', 'aeroway'],
-        ['point', 'amenity'],
-        ['point', 'building'],
-        ['point', 'historic'],
-        ['point', 'leisure'],
-        ['point', 'man_made'],
-        ['point', 'natural'],
-        ['point', 'shop'],
-        ['point', 'tourism'],
-        ['line', 'name'],
-        ['area', 'name'],
-        ['point', 'name']
-    ];
-
-    var default_size = 12;
-
-    var font_sizes = label_stack.map(function(d) {
-        var style = iD.util.getStyle('text.' + d[0] + '.tag-' + d[1]),
-            m = style && style.cssText.match('font-size: ([0-9]{1,2})px;');
-        if (m) return parseInt(m[1], 10);
-
-        style = iD.util.getStyle('text.' + d[0]);
-        m = style && style.cssText.match('font-size: ([0-9]{1,2})px;');
-        if (m) return parseInt(m[1], 10);
-
-        return default_size;
-    });
-
-    var iconSize = 18;
-
-    var pointOffsets = [
-        [15, -11, 'start'], // right
-        [10, -11, 'start'], // unused right now
-        [-15, -11, 'end']
-    ];
-
-    var lineOffsets = [50, 45, 55, 40, 60, 35, 65, 30, 70, 25,
-        75, 20, 80, 15, 95, 10, 90, 5, 95];
-
-
-    var noIcons = ['building', 'landuse', 'natural'];
-    function blacklisted(preset) {
-        return _.any(noIcons, function(s) {
-            return preset.id.indexOf(s) >= 0;
-        });
-    }
-
-    function get(array, prop) {
-        return function(d, i) { return array[i][prop]; };
-    }
-
-    var textWidthCache = {};
-
-    function textWidth(text, size, elem) {
-        var c = textWidthCache[size];
-        if (!c) c = textWidthCache[size] = {};
-
-        if (c[text]) {
-            return c[text];
-
-        } else if (elem) {
-            c[text] = elem.getComputedTextLength();
-            return c[text];
-
-        } else {
-            var str = encodeURIComponent(text).match(/%[CDEFcdef]/g);
-            if (str === null) {
-                return size / 3 * 2 * text.length;
-            } else {
-                return size / 3 * (2 * text.length + str.length);
-            }
-        }
-    }
-
-    function drawLineLabels(group, entities, filter, classes, labels) {
-        var texts = group.selectAll('text.' + classes)
-            .filter(filter)
-            .data(entities, iD.Entity.key);
-
-        texts.enter()
-            .append('text')
-            .attr('class', function(d, i) { return classes + ' ' + labels[i].classes + ' ' + d.id; })
-            .append('textPath')
-            .attr('class', 'textpath');
-
-
-        texts.selectAll('.textpath')
-            .filter(filter)
-            .data(entities, iD.Entity.key)
-            .attr({
-                'startOffset': '50%',
-                'xlink:href': function(d) { return '#labelpath-' + d.id; }
-            })
-            .text(iD.util.displayName);
-
-        texts.exit().remove();
-    }
-
-    function drawLinePaths(group, entities, filter, classes, labels) {
-        var halos = group.selectAll('path')
-            .filter(filter)
-            .data(entities, iD.Entity.key);
-
-        halos.enter()
-            .append('path')
-            .style('stroke-width', get(labels, 'font-size'))
-            .attr('id', function(d) { return 'labelpath-' + d.id; })
-            .attr('class', classes);
-
-        halos.attr('d', get(labels, 'lineString'));
-
-        halos.exit().remove();
-    }
-
-    function drawPointLabels(group, entities, filter, classes, labels) {
-
-        var texts = group.selectAll('text.' + classes)
-            .filter(filter)
-            .data(entities, iD.Entity.key);
-
-        texts.enter()
-            .append('text')
-            .attr('class', function(d, i) { return classes + ' ' + labels[i].classes + ' ' + d.id; });
-
-        texts.attr('x', get(labels, 'x'))
-            .attr('y', get(labels, 'y'))
-            .style('text-anchor', get(labels, 'textAnchor'))
-            .text(iD.util.displayName)
-            .each(function(d, i) { textWidth(iD.util.displayName(d), labels[i].height, this); });
-
-        texts.exit().remove();
-        return texts;
-    }
-
-    function drawAreaLabels(group, entities, filter, classes, labels) {
-        entities = entities.filter(hasText);
-        labels = labels.filter(hasText);
-        return drawPointLabels(group, entities, filter, classes, labels);
-
-        function hasText(d, i) {
-            return labels[i].hasOwnProperty('x') && labels[i].hasOwnProperty('y');
-        }
-    }
-
-    function drawAreaIcons(group, entities, filter, classes, labels) {
-
-        var icons = group.selectAll('use')
-            .filter(filter)
-            .data(entities, iD.Entity.key);
-
-        icons.enter()
-            .append('use')
-            .attr('clip-path', 'url(#clip-square-18)')
-            .attr('class', 'icon');
-
-        icons.attr('transform', get(labels, 'transform'))
-            .attr('xlink:href', function(d) {
-                return '#maki-' + context.presets().match(d, context.graph()).icon + '-18';
-            });
-
-
-        icons.exit().remove();
-    }
-
-    function reverse(p) {
-        var angle = Math.atan2(p[1][1] - p[0][1], p[1][0] - p[0][0]);
-        return !(p[0][0] < p[p.length - 1][0] && angle < Math.PI/2 && angle > - Math.PI/2);
-    }
-
-    function lineString(nodes) {
-        return 'M' + nodes.join('L');
-    }
-
-    function subpath(nodes, from, to) {
-        function segmentLength(i) {
-            var dx = nodes[i][0] - nodes[i + 1][0];
-            var dy = nodes[i][1] - nodes[i + 1][1];
-            return Math.sqrt(dx * dx + dy * dy);
-        }
-
-        var sofar = 0,
-            start, end, i0, i1;
-        for (var i = 0; i < nodes.length - 1; i++) {
-            var current = segmentLength(i);
-            var portion;
-            if (!start && sofar + current >= from) {
-                portion = (from - sofar) / current;
-                start = [
-                    nodes[i][0] + portion * (nodes[i + 1][0] - nodes[i][0]),
-                    nodes[i][1] + portion * (nodes[i + 1][1] - nodes[i][1])
-                ];
-                i0 = i + 1;
-            }
-            if (!end && sofar + current >= to) {
-                portion = (to - sofar) / current;
-                end = [
-                    nodes[i][0] + portion * (nodes[i + 1][0] - nodes[i][0]),
-                    nodes[i][1] + portion * (nodes[i + 1][1] - nodes[i][1])
-                ];
-                i1 = i + 1;
-            }
-            sofar += current;
-
-        }
-        var ret = nodes.slice(i0, i1);
-        ret.unshift(start);
-        ret.push(end);
-        return ret;
-
-    }
-
-    function hideOnMouseover() {
-        var layers = d3.select(this)
-            .selectAll('.layer-label, .layer-halo');
-
-        layers.selectAll('.proximate')
-            .classed('proximate', false);
-
-        var mouse = context.mouse(),
-            pad = 50,
-            rect = [mouse[0] - pad, mouse[1] - pad, mouse[0] + pad, mouse[1] + pad],
-            ids = _.pluck(rtree.search(rect), 'id');
-
-        if (!ids.length) return;
-        layers.selectAll('.' + ids.join(', .'))
-            .classed('proximate', true);
-    }
-
-    var rtree = rbush(),
-        rectangles = {};
-
-    function labels(surface, graph, entities, filter, dimensions, fullRedraw) {
-
-        var hidePoints = !surface.select('.node.point').node();
-
-        var labelable = [], i, k, entity;
-        for (i = 0; i < label_stack.length; i++) labelable.push([]);
-
-        if (fullRedraw) {
-            rtree.clear();
-            rectangles = {};
-        } else {
-            for (i = 0; i < entities.length; i++) {
-                rtree.remove(rectangles[entities[i].id]);
-            }
-        }
-
-        // Split entities into groups specified by label_stack
-        for (i = 0; i < entities.length; i++) {
-            entity = entities[i];
-            var geometry = entity.geometry(graph);
-
-            if (geometry === 'vertex')
-                continue;
-            if (hidePoints && geometry === 'point')
-                continue;
-
-            var preset = geometry === 'area' && context.presets().match(entity, graph),
-                icon = preset && !blacklisted(preset) && preset.icon;
-
-            if (!icon && !iD.util.displayName(entity))
-                continue;
-
-            for (k = 0; k < label_stack.length; k ++) {
-                if (geometry === label_stack[k][0] && entity.tags[label_stack[k][1]]) {
-                    labelable[k].push(entity);
-                    break;
-                }
-            }
-        }
-
-        var positions = {
-            point: [],
-            line: [],
-            area: []
-        };
-
-        var labelled = {
-            point: [],
-            line: [],
-            area: []
-        };
-
-        // Try and find a valid label for labellable entities
-        for (k = 0; k < labelable.length; k++) {
-            var font_size = font_sizes[k];
-            for (i = 0; i < labelable[k].length; i ++) {
-                entity = labelable[k][i];
-                var name = iD.util.displayName(entity),
-                    width = name && textWidth(name, font_size),
-                    p;
-                if (entity.geometry(graph) === 'point') {
-                    p = getPointLabel(entity, width, font_size);
-                } else if (entity.geometry(graph) === 'line') {
-                    p = getLineLabel(entity, width, font_size);
-                } else if (entity.geometry(graph) === 'area') {
-                    p = getAreaLabel(entity, width, font_size);
-                }
-                if (p) {
-                    p.classes = entity.geometry(graph) + ' tag-' + label_stack[k][1];
-                    positions[entity.geometry(graph)].push(p);
-                    labelled[entity.geometry(graph)].push(entity);
-                }
-            }
-        }
-
-        function getPointLabel(entity, width, height) {
-            var coord = projection(entity.loc),
-                m = 5,  // margin
-                offset = pointOffsets[0],
-                p = {
-                    height: height,
-                    width: width,
-                    x: coord[0] + offset[0],
-                    y: coord[1] + offset[1],
-                    textAnchor: offset[2]
-                };
-            var rect = [p.x - m, p.y - m, p.x + width + m, p.y + height + m];
-            if (tryInsert(rect, entity.id)) return p;
-        }
-
-
-        function getLineLabel(entity, width, height) {
-            var nodes = _.pluck(graph.childNodes(entity), 'loc').map(projection),
-                length = iD.geo.pathLength(nodes);
-            if (length < width + 20) return;
-
-            for (var i = 0; i < lineOffsets.length; i ++) {
-                var offset = lineOffsets[i],
-                    middle = offset / 100 * length,
-                    start = middle - width/2;
-                if (start < 0 || start + width > length) continue;
-                var sub = subpath(nodes, start, start + width),
-                    rev = reverse(sub),
-                    rect = [
-                        Math.min(sub[0][0], sub[sub.length - 1][0]) - 10,
-                        Math.min(sub[0][1], sub[sub.length - 1][1]) - 10,
-                        Math.max(sub[0][0], sub[sub.length - 1][0]) + 20,
-                        Math.max(sub[0][1], sub[sub.length - 1][1]) + 30
-                    ];
-                if (rev) sub = sub.reverse();
-                if (tryInsert(rect, entity.id)) return {
-                    'font-size': height + 2,
-                    lineString: lineString(sub),
-                    startOffset: offset + '%'
-                };
-            }
-        }
-
-        function getAreaLabel(entity, width, height) {
-            var centroid = path.centroid(entity.asGeoJSON(graph, true)),
-                extent = entity.extent(graph),
-                entitywidth = projection(extent[1])[0] - projection(extent[0])[0],
-                rect;
-
-            if (!centroid || entitywidth < 20) return;
-
-            var iconX = centroid[0] - (iconSize/2),
-                iconY = centroid[1] - (iconSize/2),
-                textOffset = iconSize + 5;
-
-            var p = {
-                transform: 'translate(' + iconX + ',' + iconY + ')'
-            };
-
-            if (width && entitywidth >= width + 20) {
-                p.x = centroid[0];
-                p.y = centroid[1] + textOffset;
-                p.textAnchor = 'middle';
-                p.height = height;
-                rect = [p.x - width/2, p.y, p.x + width/2, p.y + height + textOffset];
-            } else {
-                rect = [iconX, iconY, iconX + iconSize, iconY + iconSize];
-            }
-
-            if (tryInsert(rect, entity.id)) return p;
-
-        }
-
-        function tryInsert(rect, id) {
-            // Check that label is visible
-            if (rect[0] < 0 || rect[1] < 0 || rect[2] > dimensions[0] ||
-                rect[3] > dimensions[1]) return false;
-            var v = rtree.search(rect).length === 0;
-            if (v) {
-                rect.id = id;
-                rtree.insert(rect);
-                rectangles[id] = rect;
-            }
-            return v;
-        }
-
-        var label = surface.select('.layer-label'),
-            halo = surface.select('.layer-halo');
-
-        // points
-        drawPointLabels(label, labelled.point, filter, 'pointlabel', positions.point);
-        drawPointLabels(halo, labelled.point, filter, 'pointlabel-halo', positions.point);
-
-        // lines
-        drawLinePaths(halo, labelled.line, filter, '', positions.line);
-        drawLineLabels(label, labelled.line, filter, 'linelabel', positions.line);
-        drawLineLabels(halo, labelled.line, filter, 'linelabel-halo', positions.line);
-
-        // areas
-        drawAreaLabels(label, labelled.area, filter, 'arealabel', positions.area);
-        drawAreaLabels(halo, labelled.area, filter, 'arealabel-halo', positions.area);
-        drawAreaIcons(label, labelled.area, filter, 'arealabel-icon', positions.area);
-    }
-
-    labels.supersurface = function(supersurface) {
-        supersurface
-            .on('mousemove.hidelabels', hideOnMouseover)
-            .on('mousedown.hidelabels', function () {
-                supersurface.on('mousemove.hidelabels', null);
-            })
-            .on('mouseup.hidelabels', function () {
-                supersurface.on('mousemove.hidelabels', hideOnMouseover);
-            });
-    };
-
-    return labels;
-};
-iD.svg.Lines = function(projection) {
-
-    var highway_stack = {
-        motorway: 0,
-        motorway_link: 1,
-        trunk: 2,
-        trunk_link: 3,
-        primary: 4,
-        primary_link: 5,
-        secondary: 6,
-        tertiary: 7,
-        unclassified: 8,
-        residential: 9,
-        service: 10,
-        footway: 11
-    };
-
-    function waystack(a, b) {
-        var as = 0, bs = 0;
-
-        if (a.tags.highway) { as -= highway_stack[a.tags.highway]; }
-        if (b.tags.highway) { bs -= highway_stack[b.tags.highway]; }
-        return as - bs;
-    }
-
-    return function drawLines(surface, graph, entities, filter) {
-        var ways = [], pathdata = {}, onewaydata = {},
-            getPath = iD.svg.Path(projection, graph);
-
-        for (var i = 0; i < entities.length; i++) {
-            var entity = entities[i],
-                outer = iD.geo.simpleMultipolygonOuterMember(entity, graph);
-            if (outer) {
-                ways.push(entity.mergeTags(outer.tags));
-            } else if (entity.geometry(graph) === 'line') {
-                ways.push(entity);
-            }
-        }
-
-        ways = ways.filter(getPath);
-
-        pathdata = _.groupBy(ways, function(way) { return way.layer(); });
-
-        _.forOwn(pathdata, function(v, k) {
-            onewaydata[k] = _(v)
-                .filter(function(d) { return d.isOneWay(); })
-                .map(iD.svg.OneWaySegments(projection, graph, 35))
-                .flatten()
-                .valueOf();
-        });
-
-        var layergroup = surface
-            .select('.layer-lines')
-            .selectAll('g.layergroup')
-            .data(d3.range(-10, 11));
-
-        layergroup.enter()
-            .append('g')
-            .attr('class', function(d) { return 'layer layergroup layer' + String(d); });
-
-
-        var linegroup = layergroup
-            .selectAll('g.linegroup')
-            .data(['shadow', 'casing', 'stroke']);
-
-        linegroup.enter()
-            .append('g')
-            .attr('class', function(d) { return 'layer linegroup line-' + d; });
-
-
-        var lines = linegroup
-            .selectAll('path')
-            .filter(filter)
-            .data(
-                function() { return pathdata[this.parentNode.parentNode.__data__] || []; },
-                iD.Entity.key
-            );
-
-        // Optimization: call simple TagClasses only on enter selection. This
-        // works because iD.Entity.key is defined to include the entity v attribute.
-        lines.enter()
-            .append('path')
-            .attr('class', function(d) { return 'way line ' + this.parentNode.__data__ + ' ' + d.id; })
-            .call(iD.svg.TagClasses());
-
-        lines
-            .sort(waystack)
-            .attr('d', getPath)
-            .call(iD.svg.TagClasses().tags(iD.svg.MultipolygonMemberTags(graph)));
-
-        lines.exit()
-            .remove();
-
-
-        var onewaygroup = layergroup
-            .selectAll('g.onewaygroup')
-            .data(['oneway']);
-
-        onewaygroup.enter()
-            .append('g')
-            .attr('class', 'layer onewaygroup');
-
-
-        var oneways = onewaygroup
-            .selectAll('path')
-            .filter(filter)
-            .data(
-                function() { return onewaydata[this.parentNode.parentNode.__data__] || []; },
-                function(d) { return [d.id, d.index]; }
-            );
-
-        oneways.enter()
-            .append('path')
-            .attr('class', 'oneway')
-            .attr('marker-mid', 'url(#oneway-marker)');
-
-        oneways
-            .attr('d', function(d) { return d.d; });
-
-        oneways.exit()
-            .remove();
-
-    };
-};
-iD.svg.Midpoints = function(projection, context) {
-    return function drawMidpoints(surface, graph, entities, filter, extent) {
-        var poly = extent.polygon(),
-            midpoints = {};
-
-        for (var i = 0; i < entities.length; i++) {
-            var entity = entities[i];
-
-            if (entity.type !== 'way')
-                continue;
-            if (!filter(entity))
-                continue;
-            if (context.selectedIDs().indexOf(entity.id) < 0)
-                continue;
-
-            var nodes = graph.childNodes(entity);
-            for (var j = 0; j < nodes.length - 1; j++) {
-
-                var a = nodes[j],
-                    b = nodes[j + 1],
-                    id = [a.id, b.id].sort().join('-');
-
-                if (midpoints[id]) {
-                    midpoints[id].parents.push(entity);
-                } else {
-                    if (iD.geo.euclideanDistance(projection(a.loc), projection(b.loc)) > 40) {
-                        var point = iD.geo.interp(a.loc, b.loc, 0.5),
-                            loc = null;
-
-                        if (extent.intersects(point)) {
-                            loc = point;
-                        } else {
-                            for (var k = 0; k < 4; k++) {
-                                point = iD.geo.lineIntersection([a.loc, b.loc], [poly[k], poly[k+1]]);
-                                if (point &&
-                                    iD.geo.euclideanDistance(projection(a.loc), projection(point)) > 20 &&
-                                    iD.geo.euclideanDistance(projection(b.loc), projection(point)) > 20)
-                                {
-                                    loc = point;
-                                    break;
-                                }
-                            }
-                        }
-
-                        if (loc) {
-                            midpoints[id] = {
-                                type: 'midpoint',
-                                id: id,
-                                loc: loc,
-                                edge: [a.id, b.id],
-                                parents: [entity]
-                            };
-                        }
-                    }
-                }
-            }
-        }
-
-        function midpointFilter(d) {
-            if (midpoints[d.id])
-                return true;
-
-            for (var i = 0; i < d.parents.length; i++)
-                if (filter(d.parents[i]))
-                    return true;
-
-            return false;
-        }
-
-        var groups = surface.select('.layer-hit').selectAll('g.midpoint')
-            .filter(midpointFilter)
-            .data(_.values(midpoints), function(d) { return d.id; });
-
-        var group = groups.enter()
-            .insert('g', ':first-child')
-            .attr('class', 'midpoint');
-
-        group.append('circle')
-            .attr('r', 7)
-            .attr('class', 'shadow');
-
-        group.append('circle')
-            .attr('r', 3)
-            .attr('class', 'fill');
-
-        groups.attr('transform', iD.svg.PointTransform(projection));
-
-        // Propagate data bindings.
-        groups.select('circle.shadow');
-        groups.select('circle.fill');
-
-        groups.exit()
-            .remove();
-    };
-};
-iD.svg.Points = function(projection, context) {
-    function markerPath(selection, klass) {
-        selection
-            .attr('class', klass)
-            .attr('transform', 'translate(-8, -23)')
-            .attr('d', 'M 17,8 C 17,13 11,21 8.5,23.5 C 6,21 0,13 0,8 C 0,4 4,-0.5 8.5,-0.5 C 13,-0.5 17,4 17,8 z');
-    }
-
-    function sortY(a, b) {
-        return b.loc[1] - a.loc[1];
-    }
-
-    function drawPoints(surface, points, filter) {
-        points.sort(sortY);
-
-        var groups = surface.select('.layer-hit').selectAll('g.point')
-            .filter(filter)
-            .data(points, iD.Entity.key);
-
-        var group = groups.enter()
-            .append('g')
-            .attr('class', function(d) { return 'node point ' + d.id; })
-            .order();
-
-        group.append('path')
-            .call(markerPath, 'shadow');
-
-        group.append('path')
-            .call(markerPath, 'stroke');
-
-        group.append('use')
-            .attr('class', 'icon')
-            .attr('transform', 'translate(-6, -20)')
-            .attr('clip-path', 'url(#clip-square-12)');
-
-        groups.attr('transform', iD.svg.PointTransform(projection))
-            .call(iD.svg.TagClasses());
-
-        // Selecting the following implicitly
-        // sets the data (point entity) on the element
-        groups.select('.shadow');
-        groups.select('.stroke');
-        groups.select('.icon')
-            .attr('xlink:href', function(entity) {
-                var preset = context.presets().match(entity, context.graph());
-                return preset.icon ? '#maki-' + preset.icon + '-12' : '';
-            });
-
-        groups.exit()
-            .remove();
-    }
-
-    drawPoints.points = function(entities, limit) {
-        var graph = context.graph(),
-            points = [];
-
-        for (var i = 0; i < entities.length; i++) {
-            var entity = entities[i];
-            if (entity.geometry(graph) === 'point') {
-                points.push(entity);
-                if (limit && points.length >= limit) break;
-            }
-        }
-
-        return points;
-    };
-
-    return drawPoints;
-};
-iD.svg.Surface = function() {
-    return function (selection) {
-        var layers = selection.selectAll('.layer')
-            .data(['areas', 'lines', 'hit', 'halo', 'label']);
-
-        layers.enter().append('g')
-            .attr('class', function(d) { return 'layer layer-' + d; });
-    };
-};
-iD.svg.TagClasses = function() {
-    var primary = [
-            'building', 'highway', 'railway', 'waterway', 'aeroway',
-            'motorway', 'boundary', 'power', 'amenity', 'natural', 'landuse',
-            'leisure', 'place'
-        ],
-        secondary = [
-            'oneway', 'bridge', 'tunnel', 'construction', 'embankment', 'cutting'
-        ],
-        tagClassRe = /^tag-/,
-        tags = function(entity) { return entity.tags; };
-
-    var tagClasses = function(selection) {
-        selection.each(function tagClassesEach(entity) {
-            var classes, value = this.className;
-
-            if (value.baseVal !== undefined) value = value.baseVal;
-
-            classes = value.trim().split(/\s+/).filter(function(name) {
-                return name.length && !tagClassRe.test(name);
-            }).join(' ');
-
-            var t = tags(entity), i, k, v;
-
-            for (i = 0; i < primary.length; i++) {
-                k = primary[i];
-                v = t[k];
-                if (!v || v === 'no') continue;
-                classes += ' tag-' + k + ' tag-' + k + '-' + v;
-                break;
-            }
-
-            for (i = 0; i < secondary.length; i++) {
-                k = secondary[i];
-                v = t[k];
-                if (!v || v === 'no') continue;
-                classes += ' tag-' + k + ' tag-' + k + '-' + v;
-            }
-
-            classes = classes.trim();
-
-            if (classes !== value) {
-                d3.select(this).attr('class', classes);
-            }
-        });
-    };
-
-    tagClasses.tags = function(_) {
-        if (!arguments.length) return tags;
-        tags = _;
-        return tagClasses;
-    };
-
-    return tagClasses;
-};
-iD.svg.Turns = function(projection) {
-    return function(surface, graph, turns) {
-        function key(turn) {
-            return [turn.from.node + turn.via.node + turn.to.node].join('-');
-        }
-
-        function icon(turn) {
-            var u = turn.u ? '-u' : '';
-            if (!turn.restriction)
-                return '#icon-restriction-yes' + u;
-            var restriction = graph.entity(turn.restriction).tags.restriction;
-            return '#icon-restriction-' +
-                (!turn.indirect_restriction && /^only_/.test(restriction) ? 'only' : 'no') + u;
-        }
-
-        var groups = surface.select('.layer-hit').selectAll('g.turn')
-            .data(turns, key);
-
-        // Enter
-
-        var enter = groups.enter().append('g')
-            .attr('class', 'turn');
-
-        var nEnter = enter.filter(function (turn) { return !turn.u; });
-
-        nEnter.append('rect')
-            .attr('transform', 'translate(-12, -12)')
-            .attr('width', '45')
-            .attr('height', '25');
-
-        nEnter.append('use')
-            .attr('transform', 'translate(-12, -12)')
-            .attr('clip-path', 'url(#clip-square-45)');
-
-        var uEnter = enter.filter(function (turn) { return turn.u; });
-
-        uEnter.append('circle')
-            .attr('r', '16');
-
-        uEnter.append('use')
-            .attr('transform', 'translate(-16, -16)')
-            .attr('clip-path', 'url(#clip-square-32)');
-
-        // Update
-
-        groups
-            .attr('transform', function (turn) {
-                var v = graph.entity(turn.via.node),
-                    t = graph.entity(turn.to.node),
-                    a = iD.geo.angle(v, t, projection),
-                    p = projection(v.loc),
-                    r = turn.u ? 0 : 60;
-
-                return 'translate(' + (r * Math.cos(a) + p[0]) + ',' + (r * Math.sin(a) + p[1]) + ')' +
-                    'rotate(' + a * 180 / Math.PI + ')';
-            });
-
-        groups.select('use')
-            .attr('xlink:href', icon);
-
-        groups.select('rect');
-        groups.select('circle');
-
-        // Exit
-
-        groups.exit()
-            .remove();
-
-        return this;
-    };
-};
-iD.svg.Vertices = function(projection, context) {
-    var radiuses = {
-        //       z16-, z17, z18+, tagged
-        shadow: [6,    7.5,   7.5,  11.5],
-        stroke: [2.5,  3.5,   3.5,  7],
-        fill:   [1,    1.5,   1.5,  1.5]
-    };
-
-    var hover;
-
-    function siblingAndChildVertices(ids, graph, extent) {
-        var vertices = {};
-
-        function addChildVertices(entity) {
-            var i;
-            if (entity.type === 'way') {
-                for (i = 0; i < entity.nodes.length; i++) {
-                    addChildVertices(graph.entity(entity.nodes[i]));
-                }
-            } else if (entity.type === 'relation') {
-                for (i = 0; i < entity.members.length; i++) {
-                    var member = context.hasEntity(entity.members[i].id);
-                    if (member) {
-                        addChildVertices(member);
-                    }
-                }
-            } else if (entity.intersects(extent, graph)) {
-                vertices[entity.id] = entity;
-            }
-        }
-
-        ids.forEach(function(id) {
-            var entity = context.hasEntity(id);
-            if (entity && entity.type === 'node') {
-                vertices[entity.id] = entity;
-                context.graph().parentWays(entity).forEach(function(entity) {
-                    addChildVertices(entity);
-                });
-            } else if (entity) {
-                addChildVertices(entity);
-            }
-        });
-
-        return vertices;
-    }
-
-    function draw(selection, vertices, klass, graph, zoom) {
-        var icons = {},
-            z;
-
-        if (zoom < 17) {
-            z = 0;
-        } else if (zoom < 18) {
-            z = 1;
-        } else {
-            z = 2;
-        }
-
-        var groups = selection.data(vertices, function(entity) {
-            return iD.Entity.key(entity);
-        });
-
-        function icon(entity) {
-            if (entity.id in icons) return icons[entity.id];
-            icons[entity.id] =
-                entity.hasInterestingTags() &&
-                context.presets().match(entity, graph).icon;
-            return icons[entity.id];
-        }
-
-        function classCircle(klass) {
-            return function(entity) {
-                this.setAttribute('class', 'node vertex ' + klass + ' ' + entity.id);
-            };
-        }
-
-        function setAttributes(selection) {
-            ['shadow','stroke','fill'].forEach(function(klass) {
-                var rads = radiuses[klass];
-                selection.selectAll('.' + klass)
-                    .each(function(entity) {
-                        var i = z && icon(entity),
-                            c = i ? 0.5 : 0,
-                            r = rads[i ? 3 : z];
-                        this.setAttribute('cx', c);
-                        this.setAttribute('cy', -c);
-                        this.setAttribute('r', r);
-                        if (i && klass === 'fill') {
-                            this.setAttribute('visibility', 'hidden');
-                        } else {
-                            this.removeAttribute('visibility');
-                        }
-                    });
-            });
-
-            selection.selectAll('use')
-                .each(function() {
-                    if (z) {
-                        this.removeAttribute('visibility');
-                    } else {
-                        this.setAttribute('visibility', 'hidden');
-                    }
-                });
-        }
-
-        var enter = groups.enter()
-            .append('g')
-            .attr('class', function(d) { return 'node vertex ' + klass + ' ' + d.id; });
-
-        enter.append('circle')
-            .each(classCircle('shadow'));
-
-        enter.append('circle')
-            .each(classCircle('stroke'));
-
-        // Vertices with icons get a `use`.
-        enter.filter(function(d) { return icon(d); })
-            .append('use')
-            .attr('transform', 'translate(-6, -6)')
-            .attr('clip-path', 'url(#clip-square-12)')
-            .attr('xlink:href', function(d) { return '#maki-' + icon(d) + '-12'; });
-
-        // Vertices with tags get a fill.
-        enter.filter(function(d) { return d.hasInterestingTags(); })
-            .append('circle')
-            .each(classCircle('fill'));
-
-        groups
-            .attr('transform', iD.svg.PointTransform(projection))
-            .classed('shared', function(entity) { return graph.isShared(entity); })
-            .call(setAttributes);
-
-        groups.exit()
-            .remove();
-    }
-
-    function drawVertices(surface, graph, entities, filter, extent, zoom) {
-        var selected = siblingAndChildVertices(context.selectedIDs(), graph, extent),
-            vertices = [];
-
-        for (var i = 0; i < entities.length; i++) {
-            var entity = entities[i];
-
-            if (entity.geometry(graph) !== 'vertex')
-                continue;
-
-            if (entity.id in selected ||
-                entity.hasInterestingTags() ||
-                entity.isIntersection(graph)) {
-                vertices.push(entity);
-            }
-        }
-
-        surface.select('.layer-hit').selectAll('g.vertex.vertex-persistent')
-            .filter(filter)
-            .call(draw, vertices, 'vertex-persistent', graph, zoom);
-
-        drawHover(surface, graph, extent, zoom);
-    }
-
-    function drawHover(surface, graph, extent, zoom) {
-        var hovered = hover ? siblingAndChildVertices([hover.id], graph, extent) : {};
-
-        surface.select('.layer-hit').selectAll('g.vertex.vertex-hover')
-            .call(draw, d3.values(hovered), 'vertex-hover', graph, zoom);
-    }
-
-    drawVertices.drawHover = function(surface, graph, _, extent, zoom) {
-        if (hover !== _) {
-            hover = _;
-            drawHover(surface, graph, extent, zoom);
-        }
-    };
-
-    return drawVertices;
-};
-iD.ui = function(context) {
-    function render(container) {
-        var map = context.map();
-
-        if (iD.detect().opera) container.classed('opera', true);
-
-        var hash = iD.behavior.Hash(context);
-
-        hash();
-
-        if (!hash.hadHash) {
-            map.centerZoom([-77.02271, 38.90085], 20);
-        }
-
-        container.append('svg')
-            .attr('id', 'defs')
-            .call(iD.svg.Defs(context));
-
-        container.append('div')
-            .attr('id', 'sidebar')
-            .attr('class', 'col4')
-            .call(ui.sidebar);
-
-        var content = container.append('div')
-            .attr('id', 'content');
-
-        var bar = content.append('div')
-            .attr('id', 'bar')
-            .attr('class', 'fillD');
-
-        var m = content.append('div')
-            .attr('id', 'map')
-            .call(map);
-
-        bar.append('div')
-            .attr('class', 'spacer col4');
-
-        var limiter = bar.append('div')
-            .attr('class', 'limiter');
-
-        limiter.append('div')
-            .attr('class', 'button-wrap joined col3')
-            .call(iD.ui.Modes(context), limiter);
-
-        limiter.append('div')
-            .attr('class', 'button-wrap joined col1')
-            .call(iD.ui.UndoRedo(context));
-
-        limiter.append('div')
-            .attr('class', 'button-wrap col1')
-            .call(iD.ui.Save(context));
-
-        bar.append('div')
-            .attr('class', 'spinner')
-            .call(iD.ui.Spinner(context));
-
-        content
-            .call(iD.ui.Attribution(context));
-
-        content.append('div')
-            .style('display', 'none')
-            .attr('class', 'help-wrap map-overlay fillL col5 content');
+       ArrayIterator.prototype = Object.create(es6Iterator.prototype, {
+               _resolve: d_1(function (i) {
+                       if (this.__kind__ === "value") return this.__list__[i];
+                       if (this.__kind__ === "key+value") return [i, this.__list__[i]];
+                       return i;
+               })
+       });
+       defineProperty(ArrayIterator.prototype, es6Symbol.toStringTag, d_1("c", "Array Iterator"));
+       });
+
+       var string = createCommonjsModule(function (module) {
+
+
+
+       var defineProperty = Object.defineProperty, StringIterator;
+
+       StringIterator = module.exports = function (str) {
+               if (!(this instanceof StringIterator)) throw new TypeError("Constructor requires 'new'");
+               str = String(str);
+               es6Iterator.call(this, str);
+               defineProperty(this, "__length__", d_1("", str.length));
+       };
+       if (setPrototypeOf) setPrototypeOf(StringIterator, es6Iterator);
+
+       // Internal %ArrayIteratorPrototype% doesn't expose its constructor
+       delete StringIterator.prototype.constructor;
+
+       StringIterator.prototype = Object.create(es6Iterator.prototype, {
+               _next: d_1(function () {
+                       if (!this.__list__) return undefined;
+                       if (this.__nextIndex__ < this.__length__) return this.__nextIndex__++;
+                       this._unBind();
+                       return undefined;
+               }),
+               _resolve: d_1(function (i) {
+                       var char = this.__list__[i], code;
+                       if (this.__nextIndex__ === this.__length__) return char;
+                       code = char.charCodeAt(0);
+                       if (code >= 0xd800 && code <= 0xdbff) return char + this.__list__[this.__nextIndex__++];
+                       return char;
+               })
+       });
+       defineProperty(StringIterator.prototype, es6Symbol.toStringTag, d_1("c", "String Iterator"));
+       });
 
-        var controls = bar.append('div')
-            .attr('class', 'map-controls');
-
-        controls.append('div')
-            .attr('class', 'map-control zoombuttons')
-            .call(iD.ui.Zoom(context));
+       var iteratorSymbol$2 = es6Symbol.iterator;
+
+       var get = function (obj) {
+               if (typeof validIterable(obj)[iteratorSymbol$2] === "function") return obj[iteratorSymbol$2]();
+               if (isArguments(obj)) return new array(obj);
+               if (isString(obj)) return new string(obj);
+               return new array(obj);
+       };
+
+       var isArray$2 = Array.isArray, call$3 = Function.prototype.call, some = Array.prototype.some;
+
+       var forOf = function (iterable, cb /*, thisArg*/) {
+               var mode, thisArg = arguments[2], result, doBreak, broken, i, length, char, code;
+               if (isArray$2(iterable) || isArguments(iterable)) mode = "array";
+               else if (isString(iterable)) mode = "string";
+               else iterable = get(iterable);
+
+               validCallable(cb);
+               doBreak = function () {
+                       broken = true;
+               };
+               if (mode === "array") {
+                       some.call(iterable, function (value) {
+                               call$3.call(cb, thisArg, value, doBreak);
+                               return broken;
+                       });
+                       return;
+               }
+               if (mode === "string") {
+                       length = iterable.length;
+                       for (i = 0; i < length; ++i) {
+                               char = iterable[i];
+                               if (i + 1 < length) {
+                                       code = char.charCodeAt(0);
+                                       if (code >= 0xd800 && code <= 0xdbff) char += iterable[++i];
+                               }
+                               call$3.call(cb, thisArg, char, doBreak);
+                               if (broken) break;
+                       }
+                       return;
+               }
+               result = iterable.next();
 
-        controls.append('div')
-            .attr('class', 'map-control geolocate-control')
-            .call(iD.ui.Geolocate(map));
-
-        controls.append('div')
-            .attr('class', 'map-control background-control')
-            .call(iD.ui.Background(context));
-
-        controls.append('div')
-            .attr('class', 'map-control help-control')
-            .call(iD.ui.Help(context));
-
-        var footer = content.append('div')
-            .attr('id', 'footer')
-            .attr('class', 'fillD');
-
-        footer.append('div')
-            .attr('id', 'scale-block')
-            .call(iD.ui.Scale(context));
-
-        var linkList = footer.append('div')
-            .attr('id', 'info-block')
-            .append('ul')
-            .attr('id', 'about-list')
-            .attr('class', 'link-list');
-
-        if (!context.embed()) {
-            linkList.call(iD.ui.Account(context));
-        }
-
-        linkList.append('li')
-            .append('a')
-            .attr('target', '_blank')
-            .attr('tabindex', -1)
-            .attr('href', 'http://github.com/openstreetmap/iD')
-            .text(iD.version);
-
-        var bugReport = linkList.append('li')
-            .append('a')
-            .attr('target', '_blank')
-            .attr('tabindex', -1)
-            .attr('href', 'https://github.com/openstreetmap/iD/issues');
-
-        bugReport.append('span')
-            .attr('class','icon bug light');
-
-        bugReport.call(bootstrap.tooltip()
-                .title(t('report_a_bug'))
-                .placement('top')
-            );
-
-        linkList.append('li')
-            .attr('class', 'user-list')
-            .attr('tabindex', -1)
-            .call(iD.ui.Contributors(context));
-
-        footer.append('div')
-            .attr('class', 'api-status')
-            .call(iD.ui.Status(context));
-
-        window.onbeforeunload = function() {
-            return context.save();
-        };
-
-        window.onunload = function() {
-            context.history().unlock();
-        };
-
-        d3.select(window).on('resize.editor', function() {
-            map.dimensions(m.dimensions());
-        });
-
-        function pan(d) {
-            return function() {
-                context.pan(d);
-            };
-        }
-
-        // pan amount
-        var pa = 5;
-
-        var keybinding = d3.keybinding('main')
-            .on('⌫', function() { d3.event.preventDefault(); })
-            .on('←', pan([pa, 0]))
-            .on('↑', pan([0, pa]))
-            .on('→', pan([-pa, 0]))
-            .on('↓', pan([0, -pa]));
-
-        d3.select(document)
-            .call(keybinding);
-
-        context.enter(iD.modes.Browse(context));
-
-        context.container()
-            .call(iD.ui.Splash(context))
-            .call(iD.ui.Restore(context));
-
-        var authenticating = iD.ui.Loading(context)
-            .message(t('loading_auth'));
-
-        context.connection()
-            .on('authenticating.ui', function() {
-                context.container()
-                    .call(authenticating);
-            })
-            .on('authenticated.ui', function() {
-                authenticating.close();
-            });
-    }
-
-    function ui(container) {
-        context.container(container);
-        context.loadLocale(function() {
-            render(container);
-        });
-    }
-
-    ui.sidebar = iD.ui.Sidebar(context);
-
-    return ui;
-};
-
-iD.ui.tooltipHtml = function(text, key) {
-    return '<span>' + text + '</span>' + '<div class="keyhint-wrap">' + '<span> ' + (t('tooltip_keyhint')) + ' </span>' + '<span class="keyhint"> ' + key + '</span></div>';
-};
-iD.ui.Account = function(context) {
-    var connection = context.connection();
-
-    function update(selection) {
-        if (!connection.authenticated()) {
-            selection.selectAll('#userLink, #logoutLink')
-                .style('display', 'none');
-            return;
-        }
-
-        connection.userDetails(function(err, details) {
-            var userLink = selection.select('#userLink'),
-                logoutLink = selection.select('#logoutLink');
-
-            userLink.html('');
-            logoutLink.html('');
-
-            if (err) return;
-
-            selection.selectAll('#userLink, #logoutLink')
-                .style('display', 'list-item');
-
-            // Link
-            userLink.append('a')
-                .attr('href', connection.userURL(details.display_name))
-                .attr('target', '_blank');
-
-            // Add thumbnail or dont
-            if (details.image_url) {
-                userLink.append('img')
-                    .attr('class', 'icon icon-pre-text user-icon')
-                    .attr('src', details.image_url);
-            } else {
-                userLink.append('span')
-                    .attr('class', 'icon avatar light icon-pre-text');
-            }
-
-            // Add user name
-            userLink.append('span')
-                .attr('class', 'label')
-                .text(details.display_name);
-
-            logoutLink.append('a')
-                .attr('class', 'logout')
-                .attr('href', '#')
-                .text(t('logout'))
-                .on('click.logout', function() {
-                    d3.event.preventDefault();
-                    connection.logout();
-                });
-        });
-    }
-
-    return function(selection) {
-        selection.append('li')
-            .attr('id', 'logoutLink')
-            .style('display', 'none');
-
-        selection.append('li')
-            .attr('id', 'userLink')
-            .style('display', 'none');
-
-        connection.on('auth.account', function() { update(selection); });
-        update(selection);
-    };
-};
-iD.ui.Attribution = function(context) {
-    var selection;
-
-    function attribution(data, klass) {
-        var div = selection.selectAll('.' + klass)
-            .data([0]);
-
-        div.enter()
-            .append('div')
-            .attr('class', klass);
-
-        var background = div.selectAll('.attribution')
-            .data(data, function(d) { return d.name(); });
-
-        background.enter()
-            .append('span')
-            .attr('class', 'attribution')
-            .each(function(d) {
-                if (d.terms_html) {
-                    d3.select(this)
-                        .html(d.terms_html);
-                    return;
-                }
-
-                var source = d.terms_text || d.id || d.name();
-
-                if (d.logo) {
-                    source = '<img class="source-image" src="' + context.imagePath(d.logo) + '">';
-                }
-
-                if (d.terms_url) {
-                    d3.select(this)
-                        .append('a')
-                        .attr('href', d.terms_url)
-                        .attr('target', '_blank')
-                        .html(source);
-                } else {
-                    d3.select(this)
-                        .text(source);
-                }
-            });
-
-        background.exit()
-            .remove();
-
-        var copyright = background.selectAll('.copyright-notice')
-            .data(function(d) {
-                var notice = d.copyrightNotices(context.map().zoom(), context.map().extent());
-                return notice ? [notice] : [];
-            });
-
-        copyright.enter()
-            .append('span')
-            .attr('class', 'copyright-notice');
-
-        copyright.text(String);
-
-        copyright.exit()
-            .remove();
-    }
-
-    function update() {
-        attribution([context.background().baseLayerSource()], 'base-layer-attribution');
-        attribution(context.background().overlayLayerSources().filter(function (s) {
-            return s.validZoom(context.map().zoom());
-        }), 'overlay-layer-attribution');
-    }
-
-    return function(select) {
-        selection = select;
-
-        context.background()
-            .on('change.attribution', update);
-
-        context.map()
-            .on('move.attribution', _.throttle(update, 400, {leading: false}));
-
-        update();
-    };
-};
-iD.ui.Background = function(context) {
-    var key = 'b',
-        opacities = [1, 0.75, 0.5, 0.25],
-        directions = [
-            ['left', [1, 0]],
-            ['top', [0, -1]],
-            ['right', [-1, 0]],
-            ['bottom', [0, 1]]],
-        opacityDefault = (context.storage('background-opacity') !== null) ?
-            (+context.storage('background-opacity')) : 0.5,
-        customTemplate = '';
-
-    // Can be 0 from <1.3.0 use or due to issue #1923.
-    if (opacityDefault === 0) opacityDefault = 0.5;
-
-    function background(selection) {
-
-        function setOpacity(d) {
-            var bg = context.container().selectAll('.background-layer')
-                .transition()
-                .style('opacity', d)
-                .attr('data-opacity', d);
-
-            if (!iD.detect().opera) {
-                iD.util.setTransform(bg, 0, 0);
-            }
-
-            opacityList.selectAll('li')
-                .classed('active', function(_) { return _ === d; });
-
-            context.storage('background-opacity', d);
-        }
-
-        function selectLayer() {
-            function active(d) {
-                return context.background().showsLayer(d);
-            }
-
-            content.selectAll('.layer, .custom_layer')
-                .classed('active', active)
-                .selectAll('input')
-                .property('checked', active);
-        }
-
-        function clickSetSource(d) {
-            d3.event.preventDefault();
-            context.background().baseLayerSource(d);
-            selectLayer();
-        }
-
-        function editCustom() {
-            d3.event.preventDefault();
-            var template = window.prompt(t('background.custom_prompt'), customTemplate);
-            if (!template ||
-                template.indexOf('google.com') !== -1 ||
-                template.indexOf('googleapis.com') !== -1 ||
-                template.indexOf('google.ru') !== -1) {
-                selectLayer();
-                return;
-            }
-            setCustom(template);
-        }
-
-        function setCustom(template) {
-            context.background().baseLayerSource(iD.BackgroundSource.Custom(template));
-            selectLayer();
-        }
-
-        function clickSetOverlay(d) {
-            d3.event.preventDefault();
-            context.background().toggleOverlayLayer(d);
-            selectLayer();
-        }
-
-        function clickGpx() {
-            context.background().toggleGpxLayer();
-            update();
-        }
-
-        function drawList(layerList, type, change, filter) {
-            var sources = context.background()
-                .sources(context.map().extent())
-                .filter(filter);
-
-            var layerLinks = layerList.selectAll('li.layer')
-                .data(sources, function(d) { return d.name(); });
-
-            var enter = layerLinks.enter()
-                .insert('li', '.custom_layer')
-                .attr('class', 'layer');
-
-            // only set tooltips for layers with tooltips
-            enter.filter(function(d) { return d.description; })
-                .call(bootstrap.tooltip()
-                    .title(function(d) { return d.description; })
-                    .placement('top'));
-
-            var label = enter.append('label');
-
-            label.append('input')
-                .attr('type', type)
-                .attr('name', 'layers')
-                .on('change', change);
-
-            label.append('span')
-                .text(function(d) { return d.name(); });
-
-            layerLinks.exit()
-                .remove();
-
-            layerList.style('display', layerList.selectAll('li.layer').data().length > 0 ? 'block' : 'none');
-        }
-
-        function update() {
-            backgroundList.call(drawList, 'radio', clickSetSource, function(d) { return !d.overlay; });
-            overlayList.call(drawList, 'checkbox', clickSetOverlay, function(d) { return d.overlay; });
-
-            var hasGpx = context.background().hasGpxLayer(),
-                showsGpx = context.background().showsGpxLayer();
-
-            gpxLayerItem
-                .classed('active', showsGpx)
-                .selectAll('input')
-                .property('disabled', !hasGpx)
-                .property('checked', showsGpx);
-
-            selectLayer();
-
-            var source = context.background().baseLayerSource();
-            if (source.id === 'custom') {
-                customTemplate = source.template;
-            }
-        }
-
-        function clickNudge(d) {
-
-            var timeout = window.setTimeout(function() {
-                    interval = window.setInterval(nudge, 100);
-                }, 500),
-                interval;
-
-            d3.select(this).on('mouseup', function() {
-                window.clearInterval(interval);
-                window.clearTimeout(timeout);
-                nudge();
-            });
-
-            function nudge() {
-                var offset = context.background()
-                    .nudge(d[1], context.map().zoom())
-                    .offset();
-                resetButton.classed('disabled', offset[0] === 0 && offset[1] === 0);
-            }
-        }
-
-        var content = selection.append('div')
-                .attr('class', 'fillL map-overlay col3 content hide'),
-            tooltip = bootstrap.tooltip()
-                .placement('left')
-                .html(true)
-                .title(iD.ui.tooltipHtml(t('background.description'), key));
-
-        function hide() { setVisible(false); }
-
-        function toggle() {
-            if (d3.event) d3.event.preventDefault();
-            tooltip.hide(button);
-            setVisible(!button.classed('active'));
-        }
-
-        function setVisible(show) {
-            if (show !== shown) {
-                button.classed('active', show);
-                shown = show;
-
-                if (show) {
-                    selection.on('mousedown.background-inside', function() {
-                        return d3.event.stopPropagation();
-                    });
-                    content.style('display', 'block')
-                        .style('right', '-300px')
-                        .transition()
-                        .duration(200)
-                        .style('right', '0px');
-                } else {
-                    content.style('display', 'block')
-                        .style('right', '0px')
-                        .transition()
-                        .duration(200)
-                        .style('right', '-300px')
-                        .each('end', function() {
-                            d3.select(this).style('display', 'none');
-                        });
-                    selection.on('mousedown.background-inside', null);
-                }
-            }
-        }
-
-        var button = selection.append('button')
-                .attr('tabindex', -1)
-                .on('click', toggle)
-                .call(tooltip),
-            opa = content
-                .append('div')
-                .attr('class', 'opacity-options-wrapper'),
-            shown = false;
-
-        button.append('span')
-            .attr('class', 'icon layers light');
-
-        opa.append('h4')
-            .text(t('background.title'));
-
-        var opacityList = opa.append('ul')
-            .attr('class', 'opacity-options');
-
-        opacityList.selectAll('div.opacity')
-            .data(opacities)
-            .enter()
-            .append('li')
-            .attr('data-original-title', function(d) {
-                return t('background.percent_brightness', { opacity: (d * 100) });
-            })
-            .on('click.set-opacity', setOpacity)
-            .html('<div class="select-box"></div>')
-            .call(bootstrap.tooltip()
-                .placement('left'))
-            .append('div')
-            .attr('class', 'opacity')
-            .style('opacity', String);
-
-        var backgroundList = content.append('ul')
-            .attr('class', 'layer-list');
-
-        var custom = backgroundList.append('li')
-            .attr('class', 'custom_layer')
-            .datum(iD.BackgroundSource.Custom());
-
-        custom.append('button')
-            .attr('class', 'layer-browse')
-            .call(bootstrap.tooltip()
-                .title(t('background.custom_button'))
-                .placement('left'))
-            .on('click', editCustom)
-            .append('span')
-            .attr('class', 'icon geocode');
-
-        var label = custom.append('label');
-
-        label.append('input')
-            .attr('type', 'radio')
-            .attr('name', 'layers')
-            .on('change', function () {
-                if (customTemplate) {
-                    setCustom(customTemplate);
-                } else {
-                    editCustom();
-                }
-            });
-
-        label.append('span')
-            .text(t('background.custom'));
-
-        var overlayList = content.append('ul')
-            .attr('class', 'layer-list');
-
-        var gpxLayerItem = content.append('ul')
-            .style('display', iD.detect().filedrop ? 'block' : 'none')
-            .attr('class', 'layer-list')
-            .append('li')
-            .classed('layer-toggle-gpx', true);
-
-        gpxLayerItem.append('button')
-            .attr('class', 'layer-extent')
-            .call(bootstrap.tooltip()
-                .title(t('gpx.zoom'))
-                .placement('left'))
-            .on('click', function() {
-                d3.event.preventDefault();
-                d3.event.stopPropagation();
-                context.background().zoomToGpxLayer();
-            })
-            .append('span')
-            .attr('class', 'icon geolocate');
-
-        gpxLayerItem.append('button')
-            .attr('class', 'layer-browse')
-            .call(bootstrap.tooltip()
-                .title(t('gpx.browse'))
-                .placement('left'))
-            .on('click', function() {
-                d3.select(document.createElement('input'))
-                    .attr('type', 'file')
-                    .on('change', function() {
-                        context.background().gpxLayerFiles(d3.event.target.files);
-                    })
-                    .node().click();
-            })
-            .append('span')
-            .attr('class', 'icon geocode');
-
-        label = gpxLayerItem.append('label')
-            .call(bootstrap.tooltip()
-                .title(t('gpx.drag_drop'))
-                .placement('top'));
-
-        label.append('input')
-            .attr('type', 'checkbox')
-            .property('disabled', true)
-            .on('change', clickGpx);
-
-        label.append('span')
-            .text(t('gpx.local_layer'));
-
-        var adjustments = content.append('div')
-            .attr('class', 'adjustments');
-
-        adjustments.append('a')
-            .text(t('background.fix_misalignment'))
-            .attr('href', '#')
-            .classed('hide-toggle', true)
-            .classed('expanded', false)
-            .on('click', function() {
-                var exp = d3.select(this).classed('expanded');
-                nudgeContainer.style('display', exp ? 'none' : 'block');
-                d3.select(this).classed('expanded', !exp);
-                d3.event.preventDefault();
-            });
-
-        var nudgeContainer = adjustments.append('div')
-            .attr('class', 'nudge-container cf')
-            .style('display', 'none');
-
-        nudgeContainer.selectAll('button')
-            .data(directions).enter()
-            .append('button')
-            .attr('class', function(d) { return d[0] + ' nudge'; })
-            .on('mousedown', clickNudge);
-
-        var resetButton = nudgeContainer.append('button')
-            .attr('class', 'reset disabled')
-            .on('click', function () {
-                context.background().offset([0, 0]);
-                resetButton.classed('disabled', true);
-            });
-
-        resetButton.append('div')
-            .attr('class', 'icon undo');
-
-        context.map()
-            .on('move.background-update', _.debounce(update, 1000));
-
-        context.background()
-            .on('change.background-update', update);
-
-        update();
-        setOpacity(opacityDefault);
-
-        var keybinding = d3.keybinding('background');
-        keybinding.on(key, toggle);
-
-        d3.select(document)
-            .call(keybinding);
-
-        context.surface().on('mousedown.background-outside', hide);
-        context.container().on('mousedown.background-outside', hide);
-    }
-
-    return background;
-};
-// Translate a MacOS key command into the appropriate Windows/Linux equivalent.
-// For example, ⌘Z -> Ctrl+Z
-iD.ui.cmd = function(code) {
-    if (iD.detect().os === 'mac')
-        return code;
-
-    var replacements = {
-        '⌘': 'Ctrl',
-        '⇧': 'Shift',
-        '⌥': 'Alt',
-        '⌫': 'Backspace',
-        '⌦': 'Delete'
-    }, keys = [];
-
-    if (iD.detect().os === 'win') {
-        if (code === '⌘⇧Z') return 'Ctrl+Y';
-    }
-
-    for (var i = 0; i < code.length; i++) {
-        if (code[i] in replacements) {
-            keys.push(replacements[code[i]]);
-        } else {
-            keys.push(code[i]);
-        }
-    }
-
-    return keys.join('+');
-};
-iD.ui.Commit = function(context) {
-    var event = d3.dispatch('cancel', 'save');
-
-    function commit(selection) {
-        var changes = context.history().changes(),
-            summary = context.history().difference().summary();
-
-        function zoomToEntity(change) {
-            var entity = change.entity;
-            if (change.changeType !== 'deleted' &&
-                context.graph().entity(entity.id).geometry(context.graph()) !== 'vertex') {
-                context.map().zoomTo(entity);
-                context.surface().selectAll(
-                    iD.util.entityOrMemberSelector([entity.id], context.graph()))
-                    .classed('hover', true);
-            }
-        }
-
-        var header = selection.append('div')
-            .attr('class', 'header fillL');
-
-        header.append('button')
-            .attr('class', 'fr')
-            .on('click', event.cancel)
-            .append('span')
-            .attr('class', 'icon close');
-
-        header.append('h3')
-            .text(t('commit.title'));
-
-        var body = selection.append('div')
-            .attr('class', 'body');
-
-        // Comment Section
-        var commentSection = body.append('div')
-            .attr('class', 'modal-section form-field commit-form');
-
-        commentSection.append('label')
-            .attr('class', 'form-label')
-            .text(t('commit.message_label'));
-
-        var commentField = commentSection.append('textarea')
-            .attr('placeholder', t('commit.description_placeholder'))
-            .property('value', context.storage('comment') || '')
-            .on('blur.save', function () {
-                context.storage('comment', this.value);
-            });
-
-        commentField.node().select();
-
-        // Warnings
-        var warnings = body.selectAll('div.warning-section')
-            .data([iD.validate(changes, context.graph())])
-            .enter()
-            .append('div')
-            .attr('class', 'modal-section warning-section fillL2')
-            .style('display', function(d) { return _.isEmpty(d) ? 'none' : null; })
-            .style('background', '#ffb');
-
-        warnings.append('h3')
-            .text(t('commit.warnings'));
-
-        var warningLi = warnings.append('ul')
-            .attr('class', 'changeset-list')
-            .selectAll('li')
-            .data(function(d) { return d; })
-            .enter()
-            .append('li')
-            .style()
-            .on('mouseover', mouseover)
-            .on('mouseout', mouseout)
-            .on('click', warningClick);
-
-        warningLi.append('span')
-            .attr('class', 'alert icon icon-pre-text');
-
-        warningLi.append('strong').text(function(d) {
-            return d.message;
-        });
-
-        warningLi.filter(function(d) { return d.tooltip; })
-            .call(bootstrap.tooltip()
-                .title(function(d) { return d.tooltip; })
-                .placement('top')
-            );
-
-        // Save Section
-        var saveSection = body.append('div')
-            .attr('class','modal-section fillL cf');
-
-        var prose = saveSection.append('p')
-            .attr('class', 'commit-info')
-            .html(t('commit.upload_explanation'));
-
-        context.connection().userDetails(function(err, user) {
-            if (err) return;
-
-            var userLink = d3.select(document.createElement('div'));
-
-            if (user.image_url) {
-                userLink.append('img')
-                    .attr('src', user.image_url)
-                    .attr('class', 'icon icon-pre-text user-icon');
-            }
-
-            userLink.append('a')
-                .attr('class','user-info')
-                .text(user.display_name)
-                .attr('href', context.connection().userURL(user.display_name))
-                .attr('tabindex', -1)
-                .attr('target', '_blank');
-
-            prose.html(t('commit.upload_explanation_with_user', {user: userLink.html()}));
-        });
-
-        // Confirm Button
-        var saveButton = saveSection.append('button')
-            .attr('class', 'action col4 button')
-            .on('click.save', function() {
-                event.save({
-                    comment: commentField.node().value
-                });
-            });
-
-        saveButton.append('span')
-            .attr('class', 'label')
-            .text(t('commit.save'));
-
-        var changeSection = body.selectAll('div.commit-section')
-            .data([0])
-            .enter()
-            .append('div')
-            .attr('class', 'commit-section modal-section fillL2');
-
-        changeSection.append('h3')
-            .text(summary.length + ' Changes');
-
-        var li = changeSection.append('ul')
-            .attr('class', 'changeset-list')
-            .selectAll('li')
-            .data(summary)
-            .enter()
-            .append('li')
-            .on('mouseover', mouseover)
-            .on('mouseout', mouseout)
-            .on('click', zoomToEntity);
-
-        li.append('span')
-            .attr('class', function(d) {
-                return d.entity.geometry(d.graph) + ' ' + d.changeType + ' icon icon-pre-text';
-            });
-
-        li.append('span')
-            .attr('class', 'change-type')
-            .text(function(d) {
-                return d.changeType + ' ';
-            });
-
-        li.append('strong')
-            .attr('class', 'entity-type')
-            .text(function(d) {
-                return context.presets().match(d.entity, d.graph).name();
-            });
-
-        li.append('span')
-            .attr('class', 'entity-name')
-            .text(function(d) {
-                var name = iD.util.displayName(d.entity) || '',
-                    string = '';
-                if (name !== '') string += ':';
-                return string += ' ' + name;
-            });
-
-        li.style('opacity', 0)
-            .transition()
-            .style('opacity', 1);
-
-        li.style('opacity', 0)
-            .transition()
-            .style('opacity', 1);
-
-        function mouseover(d) {
-            if (d.entity) {
-                context.surface().selectAll(
-                    iD.util.entityOrMemberSelector([d.entity.id], context.graph())
-                ).classed('hover', true);
-            }
-        }
-
-        function mouseout() {
-            context.surface().selectAll('.hover')
-                .classed('hover', false);
-        }
-
-        function warningClick(d) {
-            if (d.entity) {
-                context.map().zoomTo(d.entity);
-                context.enter(
-                    iD.modes.Select(context, [d.entity.id])
-                        .suppressMenu(true));
-            }
-        }
-    }
-
-    return d3.rebind(commit, event, 'on');
-};
-iD.ui.confirm = function(selection) {
-    var modal = iD.ui.modal(selection);
-
-    modal.select('.modal')
-        .classed('modal-alert', true);
-
-    var section = modal.select('.content');
-
-    section.append('div')
-        .attr('class', 'modal-section header');
-
-    section.append('div')
-        .attr('class', 'modal-section message-text');
-
-    var buttonwrap = section.append('div')
-        .attr('class', 'modal-section buttons cf');
-
-    buttonwrap.append('button')
-        .attr('class', 'col2 action')
-        .on('click.confirm', function() {
-            modal.remove();
-        })
-        .text(t('confirm.okay'));
-
-    return modal;
-};
-iD.ui.Contributors = function(context) {
-    function update(selection) {
-        var users = {},
-            limit = 4,
-            entities = context.intersects(context.map().extent());
-
-        entities.forEach(function(entity) {
-            if (entity && entity.user) users[entity.user] = true;
-        });
-
-        var u = Object.keys(users),
-            subset = u.slice(0, u.length > limit ? limit - 1 : limit);
-
-        selection.html('')
-            .append('span')
-            .attr('class', 'icon nearby light icon-pre-text');
-
-        var userList = d3.select(document.createElement('span'));
-
-        userList.selectAll()
-            .data(subset)
-            .enter()
-            .append('a')
-            .attr('class', 'user-link')
-            .attr('href', function(d) { return context.connection().userURL(d); })
-            .attr('target', '_blank')
-            .attr('tabindex', -1)
-            .text(String);
-
-        if (u.length > limit) {
-            var count = d3.select(document.createElement('span'));
-
-            count.append('a')
-                .attr('target', '_blank')
-                .attr('tabindex', -1)
-                .attr('href', function() {
-                    return context.connection().changesetsURL(context.map().center(), context.map().zoom());
-                })
-                .text(u.length - limit + 1);
-
-            selection.append('span')
-                .html(t('contributors.truncated_list', {users: userList.html(), count: count.html()}));
-        } else {
-            selection.append('span')
-                .html(t('contributors.list', {users: userList.html()}));
-        }
-
-        if (!u.length) {
-            selection.transition().style('opacity', 0);
-        } else if (selection.style('opacity') === '0') {
-            selection.transition().style('opacity', 1);
-        }
-    }
-
-    return function(selection) {
-        update(selection);
-
-        context.connection().on('load.contributors', function() {
-            update(selection);
-        });
-
-        context.map().on('move.contributors', _.debounce(function() {
-            update(selection);
-        }, 500));
-    };
-};
-iD.ui.Disclosure = function() {
-    var dispatch = d3.dispatch('toggled'),
-        title,
-        expanded = false,
-        content = function () {};
-
-    var disclosure = function(selection) {
-        var $link = selection.selectAll('.hide-toggle')
-            .data([0]);
-
-        $link.enter().append('a')
-            .attr('href', '#')
-            .attr('class', 'hide-toggle');
-
-        $link.text(title)
-            .on('click', toggle)
-            .classed('expanded', expanded);
-
-        var $body = selection.selectAll('div')
-            .data([0]);
-
-        $body.enter().append('div');
-
-        $body.classed('hide', !expanded)
-            .call(content);
-
-        function toggle() {
-            expanded = !expanded;
-            $link.classed('expanded', expanded);
-            $body.call(iD.ui.Toggle(expanded));
-            dispatch.toggled(expanded);
-        }
-    };
-
-    disclosure.title = function(_) {
-        if (!arguments.length) return title;
-        title = _;
-        return disclosure;
-    };
-
-    disclosure.expanded = function(_) {
-        if (!arguments.length) return expanded;
-        expanded = _;
-        return disclosure;
-    };
-
-    disclosure.content = function(_) {
-        if (!arguments.length) return content;
-        content = _;
-        return disclosure;
-    };
-
-    return d3.rebind(disclosure, dispatch, 'on');
-};
-iD.ui.EntityEditor = function(context) {
-    var event = d3.dispatch('choose'),
-        state = 'select',
-        id,
-        preset,
-        reference;
-
-    var presetEditor = iD.ui.preset(context)
-        .on('change', changeTags);
-    var rawTagEditor = iD.ui.RawTagEditor(context)
-        .on('change', changeTags);
-
-    function entityEditor(selection) {
-        var entity = context.entity(id),
-            tags = _.clone(entity.tags);
-
-        var $header = selection.selectAll('.header')
-            .data([0]);
-
-        // Enter
-
-        var $enter = $header.enter().append('div')
-            .attr('class', 'header fillL cf');
-
-        $enter.append('button')
-            .attr('class', 'fr preset-close')
-            .append('span')
-            .attr('class', 'icon close');
-
-        $enter.append('h3');
-
-        // Update
-
-        $header.select('h3')
-            .text(t('inspector.edit'));
-
-        $header.select('.preset-close')
-            .on('click', function() {
-                context.enter(iD.modes.Browse(context));
-            });
-
-        var $body = selection.selectAll('.inspector-body')
-            .data([0]);
-
-        // Enter
-
-        $enter = $body.enter().append('div')
-            .attr('class', 'inspector-body');
-
-        $enter.append('div')
-            .attr('class', 'preset-list-item inspector-inner')
-            .append('div')
-            .attr('class', 'preset-list-button-wrap')
-            .append('button')
-            .attr('class', 'preset-list-button preset-reset')
-            .call(bootstrap.tooltip()
-                .title(t('inspector.back_tooltip'))
-                .placement('bottom'))
-            .append('div')
-            .attr('class', 'label');
-
-        $body.select('.preset-list-button-wrap')
-            .call(reference.button);
-
-        $body.select('.preset-list-item')
-            .call(reference.body);
-
-        $enter.append('div')
-            .attr('class', 'inspector-border inspector-preset');
-
-        $enter.append('div')
-            .attr('class', 'inspector-border raw-tag-editor inspector-inner');
-
-        $enter.append('div')
-            .attr('class', 'inspector-border raw-member-editor inspector-inner');
-
-        $enter.append('div')
-            .attr('class', 'raw-membership-editor inspector-inner');
-
-        selection.selectAll('.preset-reset')
-            .on('click', function() {
-                event.choose(preset);
-            });
-
-        // Update
-
-        $body.select('.preset-list-item button')
-            .call(iD.ui.PresetIcon()
-                .geometry(context.geometry(id))
-                .preset(preset));
-
-        $body.select('.preset-list-item .label')
-            .text(preset.name());
-
-        $body.select('.inspector-preset')
-            .call(presetEditor
-                .preset(preset)
-                .entityID(id)
-                .tags(tags)
-                .state(state));
-
-        $body.select('.raw-tag-editor')
-            .call(rawTagEditor
-                .preset(preset)
-                .entityID(id)
-                .tags(tags)
-                .state(state));
-
-        if (entity.type === 'relation') {
-            $body.select('.raw-member-editor')
-                .style('display', 'block')
-                .call(iD.ui.RawMemberEditor(context)
-                    .entityID(id));
-        } else {
-            $body.select('.raw-member-editor')
-                .style('display', 'none');
-        }
-
-        $body.select('.raw-membership-editor')
-            .call(iD.ui.RawMembershipEditor(context)
-                .entityID(id));
-
-        function historyChanged() {
-            if (state === 'hide') return;
-            var entity = context.hasEntity(id);
-            if (!entity) return;
-            entityEditor.preset(context.presets().match(entity, context.graph()));
-            entityEditor(selection);
-        }
-
-        context.history()
-            .on('change.entity-editor', historyChanged);
-    }
-
-    function clean(o) {
-        var out = {}, k, v;
-        /*jshint -W083 */
-        for (k in o) {
-            if (k && (v = o[k]) !== undefined) {
-                out[k] = v.split(';').map(function(s) { return s.trim(); }).join(';');
-            }
-        }
-        /*jshint +W083 */
-        return out;
-    }
-
-    function changeTags(changed) {
-        var entity = context.entity(id),
-            tags = clean(_.extend({}, entity.tags, changed));
-
-        if (!_.isEqual(entity.tags, tags)) {
-            context.perform(
-                iD.actions.ChangeTags(id, tags),
-                t('operations.change_tags.annotation'));
-        }
-    }
-
-    entityEditor.state = function(_) {
-        if (!arguments.length) return state;
-        state = _;
-        return entityEditor;
-    };
-
-    entityEditor.entityID = function(_) {
-        if (!arguments.length) return id;
-        id = _;
-        entityEditor.preset(context.presets().match(context.entity(id), context.graph()));
-        return entityEditor;
-    };
-
-    entityEditor.preset = function(_) {
-        if (!arguments.length) return preset;
-        if (_ !== preset) {
-            preset = _;
-            reference = iD.ui.TagReference(preset.reference(context.geometry(id)))
-                .showing(false);
-        }
-        return entityEditor;
-    };
-
-    return d3.rebind(entityEditor, event, 'on');
-};
-iD.ui.FeatureList = function(context) {
-    var geocodeResults;
-
-    function featureList(selection) {
-        var header = selection.append('div')
-            .attr('class', 'header fillL cf');
-
-        header.append('h3')
-            .text(t('inspector.feature_list'));
-
-        function keypress() {
-            var q = search.property('value'),
-                items = list.selectAll('.feature-list-item');
-            if (d3.event.keyCode === 13 && q.length && items.size()) {
-                click(items.datum());
-            }
-        }
-
-        function inputevent() {
-            geocodeResults = undefined;
-            drawList();
-        }
-
-        var searchWrap = selection.append('div')
-            .attr('class', 'search-header');
-
-        var search = searchWrap.append('input')
-            .attr('placeholder', t('inspector.search'))
-            .attr('type', 'search')
-            .on('keypress', keypress)
-            .on('input', inputevent);
-
-        searchWrap.append('span')
-            .attr('class', 'icon search');
-
-        var listWrap = selection.append('div')
-            .attr('class', 'inspector-body');
-
-        var list = listWrap.append('div')
-            .attr('class', 'feature-list cf');
-
-        context.map()
-            .on('drawn.feature-list', mapDrawn);
-
-        function mapDrawn(e) {
-            if (e.full) {
-                drawList();
-            }
-        }
-
-        function features() {
-            var entities = {},
-                result = [],
-                graph = context.graph(),
-                q = search.property('value').toLowerCase();
-
-            if (!q) return result;
-
-            var idMatch = q.match(/^([nwr])([0-9]+)$/);
-
-            if (idMatch) {
-                result.push({
-                    id: idMatch[0],
-                    geometry: idMatch[1] === 'n' ? 'point' : idMatch[1] === 'w' ? 'line' : 'relation',
-                    type: idMatch[1] === 'n' ? t('inspector.node') : idMatch[1] === 'w' ? t('inspector.way') : t('inspector.relation'),
-                    name: idMatch[2]
-                });
-            }
-
-            var locationMatch = sexagesimal.pair(q.toUpperCase()) || q.match(/^(-?\d+\.?\d*)\s+(-?\d+\.?\d*)$/);
-
-            if (locationMatch) {
-                var loc = [parseFloat(locationMatch[0]), parseFloat(locationMatch[1])];
-                result.push({
-                    id: -1,
-                    geometry: 'point',
-                    type: t('inspector.location'),
-                    name: loc[0].toFixed(6) + ', ' + loc[1].toFixed(6),
-                    location: loc
-                });
-            }
-
-            function addEntity(entity) {
-                if (entity.id in entities || result.length > 200)
-                    return;
-
-                entities[entity.id] = true;
-
-                var name = iD.util.displayName(entity) || '';
-                if (name.toLowerCase().indexOf(q) >= 0) {
-                    result.push({
-                        id: entity.id,
-                        entity: entity,
-                        geometry: context.geometry(entity.id),
-                        type: context.presets().match(entity, graph).name(),
-                        name: name
-                    });
-                }
-
-                graph.parentRelations(entity).forEach(function(parent) {
-                    addEntity(parent);
-                });
-            }
-
-            var visible = context.surface().selectAll('.point, .line, .area')[0];
-            for (var i = 0; i < visible.length && result.length <= 200; i++) {
-                addEntity(visible[i].__data__);
-            }
-
-            (geocodeResults || []).forEach(function(d) {
-                // https://github.com/openstreetmap/iD/issues/1890
-                if (d.osm_type && d.osm_id) {
-                    result.push({
-                        id: iD.Entity.id.fromOSM(d.osm_type, d.osm_id),
-                        geometry: d.osm_type === 'relation' ? 'relation' : d.osm_type === 'way' ? 'line' : 'point',
-                        type: d.type !== 'yes' ? (d.type.charAt(0).toUpperCase() + d.type.slice(1)).replace('_', ' ')
-                                               : (d.class.charAt(0).toUpperCase() + d.class.slice(1)).replace('_', ' '),
-                        name: d.display_name,
-                        extent: new iD.geo.Extent(
-                            [parseFloat(d.boundingbox[3]), parseFloat(d.boundingbox[0])],
-                            [parseFloat(d.boundingbox[2]), parseFloat(d.boundingbox[1])])
-                    });
-                }
-            });
-
-            return result;
-        }
-
-        function drawList() {
-            var value = search.property('value'),
-                results = features();
-
-            list.classed('filtered', value.length);
-
-            var noResultsWorldwide = geocodeResults && geocodeResults.length === 0;
-
-            var resultsIndicator = list.selectAll('.no-results-item')
-                .data([0])
-                .enter().append('button')
-                .property('disabled', true)
-                .attr('class', 'no-results-item');
-
-            resultsIndicator.append('span')
-                .attr('class', 'icon alert');
-
-            resultsIndicator.append('span')
-                .attr('class', 'entity-name');
-
-            list.selectAll('.no-results-item .entity-name')
-                .text(noResultsWorldwide ? t('geocoder.no_results_worldwide') : t('geocoder.no_results_visible'));
-
-            list.selectAll('.geocode-item')
-                .data([0])
-                .enter().append('button')
-                .attr('class', 'geocode-item')
-                .on('click', geocode)
-                .append('div')
-                .attr('class', 'label')
-                .append('span')
-                .attr('class', 'entity-name')
-                .text(t('geocoder.search'));
-
-            list.selectAll('.no-results-item')
-                .style('display', (value.length && !results.length) ? 'block' : 'none');
-
-            list.selectAll('.geocode-item')
-                .style('display', (value && geocodeResults === undefined) ? 'block' : 'none');
-
-            list.selectAll('.feature-list-item')
-                .data([-1])
-                .remove();
-
-            var items = list.selectAll('.feature-list-item')
-                .data(results, function(d) { return d.id; });
-
-            var enter = items.enter().insert('button', '.geocode-item')
-                .attr('class', 'feature-list-item')
-                .on('mouseover', mouseover)
-                .on('mouseout', mouseout)
-                .on('click', click);
-
-            var label = enter.append('div')
-                .attr('class', 'label');
-
-            label.append('span')
-                .attr('class', function(d) { return d.geometry + ' icon icon-pre-text'; });
-
-            label.append('span')
-                .attr('class', 'entity-type')
-                .text(function(d) { return d.type; });
-
-            label.append('span')
-                .attr('class', 'entity-name')
-                .text(function(d) { return d.name; });
-
-            enter.style('opacity', 0)
-                .transition()
-                .style('opacity', 1);
-
-            items.order();
-
-            items.exit()
-                .remove();
-        }
-
-        function mouseover(d) {
-            if (d.id === -1) return;
-
-            context.surface().selectAll(iD.util.entityOrMemberSelector([d.id], context.graph()))
-                .classed('hover', true);
-        }
-
-        function mouseout() {
-            context.surface().selectAll('.hover')
-                .classed('hover', false);
-        }
-
-        function click(d) {
-            d3.event.preventDefault();
-            if (d.location) {
-                context.map().centerZoom([d.location[1], d.location[0]], 20);
-            }
-            else if (d.entity) {
-                context.enter(iD.modes.Select(context, [d.entity.id]));
-            } else {
-                context.loadEntity(d.id);
-            }
-        }
-
-        function geocode() {
-            var searchVal = encodeURIComponent(search.property('value'));
-            d3.json('http://nominatim.openstreetmap.org/search/' + searchVal + '?limit=10&format=json', function(err, resp) {
-                geocodeResults = resp || [];
-                drawList();
-            });
-        }
-    }
-
-    return featureList;
-};
-iD.ui.flash = function(selection) {
-    var modal = iD.ui.modal(selection);
-
-    modal.select('.modal').classed('modal-flash', true);
-
-    modal.select('.content')
-        .classed('modal-section', true)
-        .append('div')
-        .attr('class', 'description');
-
-    modal.on('click.flash', function() { modal.remove(); });
-
-    setTimeout(function() {
-        modal.remove();
-        return true;
-    }, 1500);
-
-    return modal;
-};
-iD.ui.Geolocate = function(map) {
-    function click() {
-        navigator.geolocation.getCurrentPosition(
-            success, error);
-    }
-
-    function success(position) {
-        var extent = iD.geo.Extent([position.coords.longitude, position.coords.latitude])
-            .padByMeters(position.coords.accuracy);
-
-        map.centerZoom(extent.center(), Math.min(20, map.extentZoom(extent)));
-    }
-
-    function error() { }
-
-    return function(selection) {
-        if (!navigator.geolocation) return;
-
-        var button = selection.append('button')
-            .attr('tabindex', -1)
-            .attr('title', t('geolocate.title'))
-            .on('click', click)
-            .call(bootstrap.tooltip()
-                .placement('left'));
-
-         button.append('span')
-             .attr('class', 'icon geolocate light');
-    };
-};
-iD.ui.Help = function(context) {
-    var key = 'h';
-
-    var docKeys = [
-        'help.help',
-        'help.editing_saving',
-        'help.roads',
-        'help.gps',
-        'help.imagery',
-        'help.addresses',
-        'help.inspector',
-        'help.buildings',
-        'help.relations'];
-
-    var docs = docKeys.map(function(key) {
-        var text = t(key);
-        return {
-            title: text.split('\n')[0].replace('#', '').trim(),
-            html: marked(text.split('\n').slice(1).join('\n'))
-        };
-    });
-
-    function help(selection) {
-        var shown = false;
-
-        function hide() {
-            setVisible(false);
-        }
-
-        function toggle() {
-            if (d3.event) d3.event.preventDefault();
-            tooltip.hide(button);
-            setVisible(!button.classed('active'));
-        }
-
-        function setVisible(show) {
-            if (show !== shown) {
-                button.classed('active', show);
-                shown = show;
-                if (show) {
-                    pane.style('display', 'block')
-                        .style('right', '-500px')
-                        .transition()
-                        .duration(200)
-                        .style('right', '0px');
-                } else {
-                    pane.style('right', '0px')
-                        .transition()
-                        .duration(200)
-                        .style('right', '-500px')
-                        .each('end', function() {
-                            d3.select(this).style('display', 'none');
-                        });
-                }
-            }
-        }
-
-        function clickHelp(d, i) {
-            pane.property('scrollTop', 0);
-            doctitle.text(d.title);
-            body.html(d.html);
-            body.selectAll('a')
-                .attr('target', '_blank');
-            menuItems.classed('selected', function(m) {
-                return m.title === d.title;
-            });
-
-            nav.html('');
-
-            if (i > 0) {
-                var prevLink = nav.append('a')
-                    .attr('class', 'previous')
-                    .on('click', function() {
-                        clickHelp(docs[i - 1], i - 1);
-                    });
-                prevLink.append('span').attr('class', 'icon back blue');
-                prevLink.append('span').text(docs[i - 1].title);
-            }
-            if (i < docs.length - 1) {
-                var nextLink = nav.append('a')
-                    .attr('class', 'next')
-                    .on('click', function() {
-                        clickHelp(docs[i + 1], i + 1);
-                    });
-                nextLink.append('span').text(docs[i + 1].title);
-                nextLink.append('span').attr('class', 'icon forward blue');
-            }
-        }
-
-        function clickWalkthrough() {
-            d3.select(document.body).call(iD.ui.intro(context));
-            setVisible(false);
-        }
-
-        var tooltip = bootstrap.tooltip()
-            .placement('left')
-            .html(true)
-            .title(iD.ui.tooltipHtml(t('help.title'), key));
-
-        var button = selection.append('button')
-            .attr('tabindex', -1)
-            .on('click', toggle)
-            .call(tooltip);
-
-        button.append('span')
-            .attr('class', 'icon help light');
-
-        var pane = context.container()
-            .select('.help-wrap');
-
-        var toc = pane.append('ul')
-            .attr('class', 'toc');
-
-        var menuItems = toc.selectAll('li')
-            .data(docs)
-            .enter()
-            .append('li')
-            .append('a')
-            .text(function(d) { return d.title; })
-            .on('click', clickHelp);
-
-        toc.append('li')
-            .attr('class','walkthrough')
-            .append('a')
-            .text(t('splash.walkthrough'))
-            .on('click', clickWalkthrough);
-
-        var content = pane.append('div')
-            .attr('class', 'left-content');
-
-        var doctitle = content.append('h2')
-            .text(t('help.title'));
-
-        var body = content.append('div')
-            .attr('class', 'body');
-
-        var nav = content.append('div')
-            .attr('class', 'nav');
-
-        clickHelp(docs[0], 0);
-
-        var keybinding = d3.keybinding('help')
-            .on(key, toggle);
-
-        d3.select(document)
-            .call(keybinding);
-
-        context.surface().on('mousedown.help-outside', hide);
-        context.container().on('mousedown.b.help-outside', hide);
-
-        pane.on('mousedown.help-inside', function() {
-            return d3.event.stopPropagation();
-        });
-
-    }
-
-    return help;
-};
-iD.ui.Inspector = function(context) {
-    var presetList = iD.ui.PresetList(context),
-        entityEditor = iD.ui.EntityEditor(context),
-        state = 'select',
-        entityID,
-        newFeature = false;
-
-    function inspector(selection) {
-        presetList
-            .entityID(entityID)
-            .autofocus(newFeature)
-            .on('choose', setPreset);
-
-        entityEditor
-            .state(state)
-            .entityID(entityID)
-            .on('choose', showList);
-
-        var $wrap = selection.selectAll('.panewrap')
-            .data([0]);
-
-        var $enter = $wrap.enter().append('div')
-            .attr('class', 'panewrap');
-
-        $enter.append('div')
-            .attr('class', 'preset-list-pane pane');
-
-        $enter.append('div')
-            .attr('class', 'entity-editor-pane pane');
-
-        var $presetPane = $wrap.select('.preset-list-pane');
-        var $editorPane = $wrap.select('.entity-editor-pane');
-
-        var graph = context.graph(),
-            entity = context.entity(entityID),
-            showEditor = state === 'hover' ||
-                entity.isUsed(graph) ||
-                entity.isHighwayIntersection(graph);
-
-        if (showEditor) {
-            $wrap.style('right', '0%');
-            $editorPane.call(entityEditor);
-        } else {
-            $wrap.style('right', '-100%');
-            $presetPane.call(presetList);
-        }
-
-        var $footer = selection.selectAll('.footer')
-            .data([0]);
-
-        $footer.enter().append('div')
-            .attr('class', 'footer');
-
-        selection.select('.footer')
-            .call(iD.ui.ViewOnOSM(context)
-                .entityID(entityID));
-
-        function showList(preset) {
-            $wrap.transition()
-                .styleTween('right', function() { return d3.interpolate('0%', '-100%'); });
-
-            $presetPane.call(presetList
-                .preset(preset)
-                .autofocus(true));
-        }
-
-        function setPreset(preset) {
-            $wrap.transition()
-                .styleTween('right', function() { return d3.interpolate('-100%', '0%'); });
-
-            $editorPane.call(entityEditor
-                .preset(preset));
-        }
-    }
-
-    inspector.state = function(_) {
-        if (!arguments.length) return state;
-        state = _;
-        entityEditor.state(state);
-        return inspector;
-    };
-
-    inspector.entityID = function(_) {
-        if (!arguments.length) return entityID;
-        entityID = _;
-        return inspector;
-    };
-
-    inspector.newFeature = function(_) {
-        if (!arguments.length) return newFeature;
-        newFeature = _;
-        return inspector;
-    };
-
-    return inspector;
-};
-iD.ui.intro = function(context) {
-
-    var step;
-
-    function intro(selection) {
-
-        context.enter(iD.modes.Browse(context));
-
-        // Save current map state
-        var history = context.history().toJSON(),
-            hash = window.location.hash,
-            background = context.background().baseLayerSource(),
-            opacity = d3.select('.background-layer').style('opacity'),
-            loadedTiles = context.connection().loadedTiles(),
-            baseEntities = context.history().graph().base().entities,
-            introGraph;
-
-        // Load semi-real data used in intro
-        context.connection().toggle(false).flush();
-        context.history().reset();
-        
-        introGraph = JSON.parse(iD.introGraph);
-        for (var key in introGraph) {
-            introGraph[key] = iD.Entity(introGraph[key]);
-        }
-        context.history().merge(d3.values(iD.Graph().load(introGraph).entities));
-        context.background().bing();
-
-        // Block saving
-        var savebutton = d3.select('#bar button.save'),
-            save = savebutton.on('click');
-        savebutton.on('click', null);
-        context.inIntro(true);
-
-        d3.select('.background-layer').style('opacity', 1);
-
-        var curtain = d3.curtain();
-        selection.call(curtain);
-
-        function reveal(box, text, options) {
-            options = options || {};
-            if (text) curtain.reveal(box, text, options.tooltipClass, options.duration);
-            else curtain.reveal(box, '', '', options.duration);
-        }
-
-        var steps = ['navigation', 'point', 'area', 'line', 'startEditing'].map(function(step, i) {
-            var s = iD.ui.intro[step](context, reveal)
-                .on('done', function() {
-                    entered.filter(function(d) {
-                        return d.title === s.title;
-                    }).classed('finished', true);
-                    enter(steps[i + 1]);
-                });
-            return s;
-        });
-
-        steps[steps.length - 1].on('startEditing', function() {
-            curtain.remove();
-            navwrap.remove();
-            d3.select('.background-layer').style('opacity', opacity);
-            context.connection().toggle(true).flush().loadedTiles(loadedTiles);
-            context.history().reset().merge(d3.values(baseEntities));
-            context.background().baseLayerSource(background);
-            if (history) context.history().fromJSON(history);
-            window.location.replace(hash);
-            context.inIntro(false);
-            d3.select('#bar button.save').on('click', save);
-        });
-
-        var navwrap = selection.append('div').attr('class', 'intro-nav-wrap fillD');
-
-        var buttonwrap = navwrap.append('div')
-            .attr('class', 'joined')
-            .selectAll('button.step');
-
-        var entered = buttonwrap.data(steps)
-            .enter().append('button')
-                .attr('class', 'step')
-                .on('click', enter);
-
-        entered.append('div').attr('class','icon icon-pre-text apply');
-        entered.append('label').text(function(d) { return t(d.title); });
-        enter(steps[0]);
-
-        function enter (newStep) {
-
-            if (step) {
-                step.exit();
-            }
-
-            context.enter(iD.modes.Browse(context));
-
-            step = newStep;
-            step.enter();
-
-            entered.classed('active', function(d) {
-                return d.title === step.title;
-            });
-        }
-
-    }
-    return intro;
-};
-
-iD.ui.intro.pointBox = function(point, context) {
-    var rect = context.surfaceRect();
-    point = context.projection(point);
-    return {
-        left: point[0] + rect.left - 30,
-        top: point[1] + rect.top - 50,
-        width: 60,
-        height: 70
-    };
-};
-
-iD.ui.intro.pad = function(box, padding, context) {
-    if (box instanceof Array) {
-        var rect = context.surfaceRect();
-        box = context.projection(box);
-        box = {
-            left: box[0] + rect.left,
-            top: box[1] + rect.top
-        };
-    }
-    return {
-        left: box.left - padding,
-        top: box.top - padding,
-        width: (box.width || 0) + 2 * padding,
-        height: (box.width || 0) + 2 * padding
-    };
-};
-iD.ui.Lasso = function(context) {
-
-    var box, group,
-        a = [0, 0],
-        b = [0, 0];
-
-    function lasso(selection) {
-
-        context.container().classed('lasso', true);
-
-        group = selection.append('g')
-            .attr('class', 'lasso hide');
-
-        box = group.append('rect')
-            .attr('class', 'lasso-box');
-
-        group.call(iD.ui.Toggle(true));
-
-    }
-
-    // top-left
-    function topLeft(d) {
-        return 'translate(' + Math.min(d[0][0], d[1][0]) + ',' + Math.min(d[0][1], d[1][1]) + ')';
-    }
-
-    function width(d) { return Math.abs(d[0][0] - d[1][0]); }
-    function height(d) { return Math.abs(d[0][1] - d[1][1]); }
-
-    function draw() {
-        if (box) {
-            box.data([[a, b]])
-                .attr('transform', topLeft)
-                .attr('width', width)
-                .attr('height', height);
-        }
-    }
-
-    lasso.a = function(_) {
-        if (!arguments.length) return a;
-        a = _;
-        draw();
-        return lasso;
-    };
-
-    lasso.b = function(_) {
-        if (!arguments.length) return b;
-        b = _;
-        draw();
-        return lasso;
-    };
-
-    lasso.close = function() {
-        if (group) {
-            group.call(iD.ui.Toggle(false, function() {
-                d3.select(this).remove();
-            }));
-        }
-        context.container().classed('lasso', false);
-    };
-
-    return lasso;
-};
-iD.ui.Loading = function(context) {
-    var message = '',
-        blocking = false,
-        modal;
-
-    var loading = function(selection) {
-        modal = iD.ui.modal(selection, blocking);
-
-        var loadertext = modal.select('.content')
-            .classed('loading-modal', true)
-            .append('div')
-            .attr('class', 'modal-section fillL');
-
-        loadertext.append('img')
-            .attr('class', 'loader')
-            .attr('src', context.imagePath('loader-white.gif'));
-
-        loadertext.append('h3')
-            .text(message);
-
-        modal.select('button.close')
-            .attr('class', 'hide');
-
-        return loading;
-    };
-
-    loading.message = function(_) {
-        if (!arguments.length) return message;
-        message = _;
-        return loading;
-    };
-
-    loading.blocking = function(_) {
-        if (!arguments.length) return blocking;
-        blocking = _;
-        return loading;
-    };
-
-    loading.close = function() {
-        modal.remove();
-    };
-
-    return loading;
-};
-iD.ui.modal = function(selection, blocking) {
-
-    var previous = selection.select('div.modal');
-    var animate = previous.empty();
-
-    previous.transition()
-        .duration(200)
-        .style('opacity', 0)
-        .remove();
-
-    var shaded = selection
-        .append('div')
-        .attr('class', 'shaded')
-        .style('opacity', 0);
-
-    shaded.close = function() {
-        shaded
-            .transition()
-            .duration(200)
-            .style('opacity',0)
-            .remove();
-        modal
-            .transition()
-            .duration(200)
-            .style('top','0px');
-        keybinding.off();
-    };
-
-    var keybinding = d3.keybinding('modal')
-        .on('⌫', shaded.close)
-        .on('⎋', shaded.close);
-
-    d3.select(document).call(keybinding);
-
-    var modal = shaded.append('div')
-        .attr('class', 'modal fillL col6');
-
-        shaded.on('click.remove-modal', function() {
-            if (d3.event.target === this && !blocking) shaded.close();
-        });
-
-    modal.append('button')
-        .attr('class', 'close')
-        .on('click', function() {
-            if (!blocking) shaded.close();
-        })
-        .append('div')
-            .attr('class','icon close');
-
-    modal.append('div')
-        .attr('class', 'content');
-
-    if (animate) {
-        shaded.transition().style('opacity', 1);
-        modal
-            .style('top','0px')
-            .transition()
-            .duration(200)
-            .style('top','40px');
-    } else {
-        shaded.style('opacity', 1);
-    }
-
-
-    return shaded;
-};
-iD.ui.Modes = function(context) {
-    var modes = [
-        iD.modes.AddPoint(context),
-        iD.modes.AddLine(context),
-        iD.modes.AddArea(context)];
-
-    return function(selection) {
-        var buttons = selection.selectAll('button.add-button')
-            .data(modes);
-
-       buttons.enter().append('button')
-           .attr('tabindex', -1)
-           .attr('class', function(mode) { return mode.id + ' add-button col4'; })
-           .on('click.mode-buttons', function(mode) {
-               if (mode.id === context.mode().id) {
-                   context.enter(iD.modes.Browse(context));
-               } else {
-                   context.enter(mode);
-               }
-           })
-           .call(bootstrap.tooltip()
-               .placement('bottom')
-               .html(true)
-               .title(function(mode) {
-                   return iD.ui.tooltipHtml(mode.description, mode.key);
-               }));
-
-        context.map()
-            .on('move.modes', _.debounce(update, 500));
-
-        context
-            .on('enter.modes', update);
-
-        update();
-
-        buttons.append('span')
-            .attr('class', function(mode) { return mode.id + ' icon icon-pre-text'; });
-
-        buttons.append('span')
-            .attr('class', 'label')
-            .text(function(mode) { return mode.title; });
-
-        context.on('enter.editor', function(entered) {
-            buttons.classed('active', function(mode) { return entered.button === mode.button; });
-            context.container()
-                .classed('mode-' + entered.id, true);
-        });
-
-        context.on('exit.editor', function(exited) {
-            context.container()
-                .classed('mode-' + exited.id, false);
-        });
-
-        var keybinding = d3.keybinding('mode-buttons');
-
-        modes.forEach(function(m) {
-            keybinding.on(m.key, function() { if (context.editable()) context.enter(m); });
-        });
-
-        d3.select(document)
-            .call(keybinding);
-
-        function update() {
-            buttons.property('disabled', !context.editable());
-        }
-    };
-};
-iD.ui.Notice = function(context) {
-    return function(selection) {
-        var div = selection.append('div')
-            .attr('class', 'notice');
-
-        var button = div.append('button')
-            .attr('class', 'zoom-to notice')
-            .on('click', function() { context.map().zoom(16); });
-
-        button.append('span')
-            .attr('class', 'icon zoom-in-invert');
-
-        button.append('span')
-            .attr('class', 'label')
-            .text(t('zoom_in_edit'));
-
-        function disableTooHigh() {
-            div.style('display', context.map().editable() ? 'none' : 'block');
-        }
-
-        context.map()
-            .on('move.notice', _.debounce(disableTooHigh, 500));
-
-        disableTooHigh();
-    };
-};
-iD.ui.preset = function(context) {
-    var event = d3.dispatch('change'),
-        state,
-        fields,
-        preset,
-        tags,
-        id;
-
-    function UIField(field, entity, show) {
-        field = _.clone(field);
-
-        field.input = iD.ui.preset[field.type](field, context)
-            .on('change', event.change);
-
-        if (field.input.entity) field.input.entity(entity);
-
-        field.keys = field.keys || [field.key];
-
-        field.show = show;
-
-        field.shown = function() {
-            return field.id === 'name' || field.show || _.any(field.keys, function(key) { return !!tags[key]; });
-        };
-
-        field.modified = function() {
-            var original = context.graph().base().entities[entity.id];
-            return _.any(field.keys, function(key) {
-                return original ? tags[key] !== original.tags[key] : tags[key];
-            });
-        };
-
-        field.revert = function() {
-            var original = context.graph().base().entities[entity.id],
-                t = {};
-            field.keys.forEach(function(key) {
-                t[key] = original ? original.tags[key] : undefined;
-            });
-            return t;
-        };
-
-        field.present = function() {
-            return _.any(field.keys, function(key) {
-                return tags[key];
-            });
-        };
-
-        field.remove = function() {
-            var t = {};
-            field.keys.forEach(function(key) {
-                t[key] = undefined;
-            });
-            return t;
-        };
-
-        return field;
-    }
-
-    function fieldKey(field) {
-        return field.id;
-    }
-
-    function presets(selection) {
-        if (!fields) {
-            var entity = context.entity(id),
-                geometry = context.geometry(id);
-
-            fields = [UIField(context.presets().field('name'), entity)];
-
-            preset.fields.forEach(function(field) {
-                if (field.matchGeometry(geometry)) {
-                    fields.push(UIField(field, entity, true));
-                }
-            });
-
-            if (entity.isHighwayIntersection(context.graph())) {
-                fields.push(UIField(context.presets().field('restrictions'), entity, true));
-            }
-
-            context.presets().universal().forEach(function(field) {
-                if (preset.fields.indexOf(field) < 0) {
-                    fields.push(UIField(field, entity));
-                }
-            });
-        }
-
-        var shown = fields.filter(function(field) { return field.shown(); }),
-            notShown = fields.filter(function(field) { return !field.shown(); });
-
-        var $form = selection.selectAll('.preset-form')
-            .data([0]);
-
-        $form.enter().append('div')
-            .attr('class', 'preset-form inspector-inner fillL3');
-
-        var $fields = $form.selectAll('.form-field')
-            .data(shown, fieldKey);
-
-        // Enter
-
-        var $enter = $fields.enter()
-            .insert('div', '.more-buttons')
-            .attr('class', function(field) {
-                return 'form-field form-field-' + field.id;
-            });
-
-        var $label = $enter.append('label')
-            .attr('class', 'form-label')
-            .attr('for', function(field) { return 'preset-input-' + field.id; })
-            .text(function(field) { return field.label(); });
-
-        var wrap = $label.append('div')
-            .attr('class', 'form-label-button-wrap');
-
-        wrap.append('button')
-            .attr('class', 'remove-icon')
-            .append('span').attr('class', 'icon delete');
-
-        wrap.append('button')
-            .attr('class', 'modified-icon')
-            .attr('tabindex', -1)
-            .append('div')
-            .attr('class', 'icon undo');
-
-        // Update
-
-        $fields.select('.form-label-button-wrap .remove-icon')
-            .on('click', remove);
-
-        $fields.select('.modified-icon')
-            .on('click', revert);
-
-        $fields
-            .order()
-            .classed('modified', function(field) {
-                return field.modified();
-            })
-            .classed('present', function(field) {
-                return field.present();
-            })
-            .each(function(field) {
-                var reference = iD.ui.TagReference(field.reference || {key: field.key});
-
-                if (state === 'hover') {
-                    reference.showing(false);
-                }
-
-                d3.select(this)
-                    .call(field.input)
-                    .call(reference.body)
-                    .select('.form-label-button-wrap')
-                    .call(reference.button);
-
-                field.input.tags(tags);
-            });
-
-        $fields.exit()
-            .remove();
-
-        var $more = selection.selectAll('.more-buttons')
-            .data([0]);
-
-        $more.enter().append('div')
-            .attr('class', 'more-buttons inspector-inner');
-
-        var $buttons = $more.selectAll('.preset-add-field')
-            .data(notShown, fieldKey);
-
-        $buttons.enter()
-            .append('button')
-            .attr('class', 'preset-add-field')
-            .call(bootstrap.tooltip()
-                .placement('top')
-                .title(function(d) { return d.label(); }))
-            .append('span')
-            .attr('class', function(d) { return 'icon ' + d.icon; });
-
-        $buttons.on('click', show);
-
-        $buttons.exit()
-            .remove();
-
-        function show(field) {
-            field.show = true;
-            presets(selection);
-            field.input.focus();
-        }
-
-        function revert(field) {
-            d3.event.stopPropagation();
-            d3.event.preventDefault();
-            event.change(field.revert());
-        }
-
-        function remove(field) {
-            d3.event.stopPropagation();
-            d3.event.preventDefault();
-            event.change(field.remove());
-        }
-    }
-
-    presets.preset = function(_) {
-        if (!arguments.length) return preset;
-        if (preset && preset.id === _.id) return presets;
-        preset = _;
-        fields = null;
-        return presets;
-    };
-
-    presets.state = function(_) {
-        if (!arguments.length) return state;
-        state = _;
-        return presets;
-    };
-
-    presets.tags = function(_) {
-        if (!arguments.length) return tags;
-        tags = _;
-        // Don't reset fields here.
-        return presets;
-    };
-
-    presets.entityID = function(_) {
-        if (!arguments.length) return id;
-        if (id === _) return presets;
-        id = _;
-        fields = null;
-        return presets;
-    };
-
-    return d3.rebind(presets, event, 'on');
-};
-iD.ui.PresetIcon = function() {
-    var preset, geometry;
-
-    function presetIcon(selection) {
-        selection.each(setup);
-    }
-
-    function setup() {
-        var selection = d3.select(this),
-            p = preset.apply(this, arguments),
-            geom = geometry.apply(this, arguments);
-
-        var $fill = selection.selectAll('.preset-icon-fill')
-            .data([0]);
-
-        $fill.enter().append('div');
-
-        $fill.attr('class', function() {
-            var s = 'preset-icon-fill preset-icon-fill-' + geom;
-            for (var i in p.tags) {
-                s += ' tag-' + i + ' tag-' + i + '-' + p.tags[i];
-            }
-            return s;
-        });
-
-        var $icon = selection.selectAll('.preset-icon')
-            .data([0]);
-
-        $icon.enter().append('div');
-
-        $icon.attr('class', function() {
-            var icon = p.icon || (geom === 'line' ? 'other-line' : 'marker-stroked'),
-                klass = 'feature-' + icon + ' preset-icon';
-
-            var featureicon = iD.data.featureIcons[icon];
-            if (featureicon && featureicon[geom]) {
-                klass += ' preset-icon-' + geom;
-            } else if (icon === 'multipolygon') {
-                // Special case (geometry === 'area')
-                klass += ' preset-icon-relation';
-            }
-
-            return klass;
-        });
-    }
-
-    presetIcon.preset = function(_) {
-        if (!arguments.length) return preset;
-        preset = d3.functor(_);
-        return presetIcon;
-    };
-
-    presetIcon.geometry = function(_) {
-        if (!arguments.length) return geometry;
-        geometry = d3.functor(_);
-        return presetIcon;
-    };
-
-    return presetIcon;
-};
-iD.ui.PresetList = function(context) {
-    var event = d3.dispatch('choose'),
-        id,
-        currentPreset,
-        autofocus = false;
-
-    function presetList(selection) {
-        var geometry = context.geometry(id),
-            presets = context.presets().matchGeometry(geometry);
-
-        selection.html('');
-
-        var messagewrap = selection.append('div')
-            .attr('class', 'header fillL cf');
-
-        var message = messagewrap.append('h3')
-            .text(t('inspector.choose'));
-
-        if (context.entity(id).isUsed(context.graph())) {
-            messagewrap.append('button')
-                .attr('class', 'preset-choose')
-                .on('click', function() { event.choose(currentPreset); })
-                .append('span')
-                .attr('class', 'icon forward');
-        } else {
-            messagewrap.append('button')
-                .attr('class', 'close')
-                .on('click', function() {
-                    context.enter(iD.modes.Browse(context));
-                })
-                .append('span')
-                .attr('class', 'icon close');
-        }
-
-        function keydown() {
-            // hack to let delete shortcut work when search is autofocused
-            if (search.property('value').length === 0 &&
-                (d3.event.keyCode === d3.keybinding.keyCodes['⌫'] ||
-                 d3.event.keyCode === d3.keybinding.keyCodes['⌦'])) {
-                d3.event.preventDefault();
-                d3.event.stopPropagation();
-                iD.operations.Delete([id], context)();
-            } else if (search.property('value').length === 0 &&
-                (d3.event.ctrlKey || d3.event.metaKey) &&
-                d3.event.keyCode === d3.keybinding.keyCodes.z) {
-                d3.event.preventDefault();
-                d3.event.stopPropagation();
-                context.undo();
-            } else if (!d3.event.ctrlKey && !d3.event.metaKey) {
-                d3.select(this).on('keydown', null);
-            }
-        }
-
-        function keypress() {
-            // enter
-            var value = search.property('value');
-            if (d3.event.keyCode === 13 && value.length) {
-                list.selectAll('.preset-list-item:first-child').datum().choose();
-            }
-        }
-
-        function inputevent() {
-            var value = search.property('value');
-            list.classed('filtered', value.length);
-            if (value.length) {
-                var results = presets.search(value, geometry);
-                message.text(t('inspector.results', {
-                    n: results.collection.length,
-                    search: value
-                }));
-                list.call(drawList, results);
-            } else {
-                list.call(drawList, context.presets().defaults(geometry, 36));
-                message.text(t('inspector.choose'));
-            }
-        }
-
-        var searchWrap = selection.append('div')
-            .attr('class', 'search-header');
-
-        var search = searchWrap.append('input')
-            .attr('class', 'preset-search-input')
-            .attr('placeholder', t('inspector.search'))
-            .attr('type', 'search')
-            .on('keydown', keydown)
-            .on('keypress', keypress)
-            .on('input', inputevent);
-
-        searchWrap.append('span')
-            .attr('class', 'icon search');
-
-        if (autofocus) {
-            search.node().focus();
-        }
-
-        var listWrap = selection.append('div')
-            .attr('class', 'inspector-body');
-
-        var list = listWrap.append('div')
-            .attr('class', 'preset-list fillL cf')
-            .call(drawList, context.presets().defaults(geometry, 36));
-    }
-
-    function drawList(list, presets) {
-        var collection = presets.collection.map(function(preset) {
-            return preset.members ? CategoryItem(preset) : PresetItem(preset);
-        });
-
-        var items = list.selectAll('.preset-list-item')
-            .data(collection, function(d) { return d.preset.id; });
-
-        items.enter().append('div')
-            .attr('class', function(item) { return 'preset-list-item preset-' + item.preset.id.replace('/', '-'); })
-            .classed('current', function(item) { return item.preset === currentPreset; })
-            .each(function(item) {
-                d3.select(this).call(item);
-            })
-            .style('opacity', 0)
-            .transition()
-            .style('opacity', 1);
-
-        items.order();
-
-        items.exit()
-            .remove();
-    }
-
-    function CategoryItem(preset) {
-        var box, sublist, shown = false;
-
-        function item(selection) {
-            var wrap = selection.append('div')
-                .attr('class', 'preset-list-button-wrap category col12');
-
-            wrap.append('button')
-                .attr('class', 'preset-list-button')
-                .call(iD.ui.PresetIcon()
-                    .geometry(context.geometry(id))
-                    .preset(preset))
-                .on('click', item.choose)
-                .append('div')
-                .attr('class', 'label')
-                .text(preset.name());
-
-            box = selection.append('div')
-                .attr('class', 'subgrid col12')
-                .style('max-height', '0px')
-                .style('opacity', 0);
-
-            box.append('div')
-                .attr('class', 'arrow');
-
-            sublist = box.append('div')
-                .attr('class', 'preset-list fillL3 cf fl');
-        }
-
-        item.choose = function() {
-            if (shown) {
-                shown = false;
-                box.transition()
-                    .duration(200)
-                    .style('opacity', '0')
-                    .style('max-height', '0px')
-                    .style('padding-bottom', '0px');
-            } else {
-                shown = true;
-                sublist.call(drawList, preset.members);
-                box.transition()
-                    .duration(200)
-                    .style('opacity', '1')
-                    .style('max-height', 200 + preset.members.collection.length * 80 + 'px')
-                    .style('padding-bottom', '20px');
-            }
-        };
-
-        item.preset = preset;
-
-        return item;
-    }
-
-    function PresetItem(preset) {
-        function item(selection) {
-            var wrap = selection.append('div')
-                .attr('class', 'preset-list-button-wrap col12');
-
-            wrap.append('button')
-                .attr('class', 'preset-list-button')
-                .call(iD.ui.PresetIcon()
-                    .geometry(context.geometry(id))
-                    .preset(preset))
-                .on('click', item.choose)
-                .append('div')
-                .attr('class', 'label')
-                .text(preset.name());
-
-            wrap.call(item.reference.button);
-            selection.call(item.reference.body);
-        }
-
-        item.choose = function() {
-            context.presets().choose(preset);
-
-            context.perform(
-                iD.actions.ChangePreset(id, currentPreset, preset),
-                t('operations.change_tags.annotation'));
-
-            event.choose(preset);
-        };
-
-        item.help = function() {
-            d3.event.stopPropagation();
-            item.reference.toggle();
-        };
-
-        item.preset = preset;
-        item.reference = iD.ui.TagReference(preset.reference(context.geometry(id)));
-
-        return item;
-    }
-
-    presetList.autofocus = function(_) {
-        if (!arguments.length) return autofocus;
-        autofocus = _;
-        return presetList;
-    };
-
-    presetList.entityID = function(_) {
-        if (!arguments.length) return id;
-        id = _;
-        presetList.preset(context.presets().match(context.entity(id), context.graph()));
-        return presetList;
-    };
-
-    presetList.preset = function(_) {
-        if (!arguments.length) return currentPreset;
-        currentPreset = _;
-        return presetList;
-    };
-
-    return d3.rebind(presetList, event, 'on');
-};
-iD.ui.RadialMenu = function(context, operations) {
-    var menu,
-        center = [0, 0],
-        tooltip;
-
-    var radialMenu = function(selection) {
-        if (!operations.length)
-            return;
-
-        selection.node().parentNode.focus();
-
-        function click(operation) {
-            d3.event.stopPropagation();
-            if (operation.disabled())
-                return;
-            operation();
-            radialMenu.close();
-        }
-
-        menu = selection.append('g')
-            .attr('class', 'radial-menu')
-            .attr('transform', 'translate(' + center + ')')
-            .attr('opacity', 0);
-
-        menu.transition()
-            .attr('opacity', 1);
-
-        var r = 50,
-            a = Math.PI / 4,
-            a0 = -Math.PI / 4,
-            a1 = a0 + (operations.length - 1) * a;
-
-        menu.append('path')
-            .attr('class', 'radial-menu-background')
-            .attr('d', 'M' + r * Math.sin(a0) + ',' +
-                             r * Math.cos(a0) +
-                      ' A' + r + ',' + r + ' 0 ' + (operations.length > 5 ? '1' : '0') + ',0 ' +
-                             (r * Math.sin(a1) + 1e-3) + ',' +
-                             (r * Math.cos(a1) + 1e-3)) // Force positive-length path (#1305)
-            .attr('stroke-width', 50)
-            .attr('stroke-linecap', 'round');
-
-        var button = menu.selectAll()
-            .data(operations)
-            .enter().append('g')
-            .attr('transform', function(d, i) {
-                return 'translate(' + r * Math.sin(a0 + i * a) + ',' +
-                                      r * Math.cos(a0 + i * a) + ')';
-            });
-
-        button.append('circle')
-            .attr('class', function(d) { return 'radial-menu-item radial-menu-item-' + d.id; })
-            .attr('r', 15)
-            .classed('disabled', function(d) { return d.disabled(); })
-            .on('click', click)
-            .on('mousedown', mousedown)
-            .on('mouseover', mouseover)
-            .on('mouseout', mouseout);
-
-        button.append('use')
-            .attr('transform', 'translate(-10, -10)')
-            .attr('clip-path', 'url(#clip-square-20)')
-            .attr('xlink:href', function(d) { return '#icon-operation-' + (d.disabled() ? 'disabled-' : '') + d.id; });
-
-        tooltip = d3.select(document.body)
-            .append('div')
-            .attr('class', 'tooltip-inner radial-menu-tooltip');
-
-        function mousedown() {
-            d3.event.stopPropagation(); // https://github.com/openstreetmap/iD/issues/1869
-        }
-
-        function mouseover(d, i) {
-            var rect = context.surfaceRect(),
-                angle = a0 + i * a,
-                top = rect.top + (r + 25) * Math.cos(angle) + center[1] + 'px',
-                left = rect.left + (r + 25) * Math.sin(angle) + center[0] + 'px',
-                bottom = rect.height - (r + 25) * Math.cos(angle) - center[1] + 'px',
-                right = rect.width - (r + 25) * Math.sin(angle) - center[0] + 'px';
-
-            tooltip
-                .style('top', null)
-                .style('left', null)
-                .style('bottom', null)
-                .style('right', null)
-                .style('display', 'block')
-                .html(iD.ui.tooltipHtml(d.tooltip(), d.keys[0]));
-
-            if (i === 0) {
-                tooltip
-                    .style('right', right)
-                    .style('top', top);
-            } else if (i >= 4) {
-                tooltip
-                    .style('left', left)
-                    .style('bottom', bottom);
-            } else {
-                tooltip
-                    .style('left', left)
-                    .style('top', top);
-            }
-        }
-
-        function mouseout() {
-            tooltip.style('display', 'none');
-        }
-    };
-
-    radialMenu.close = function() {
-        if (menu) {
-            menu
-                .style('pointer-events', 'none')
-                .transition()
-                .attr('opacity', 0)
-                .remove();
-        }
-
-        if (tooltip) {
-            tooltip.remove();
-        }
-    };
-
-    radialMenu.center = function(_) {
-        if (!arguments.length) return center;
-        center = _;
-        return radialMenu;
-    };
-
-    return radialMenu;
-};
-iD.ui.RawMemberEditor = function(context) {
-    var id;
-
-    function selectMember(d) {
-        d3.event.preventDefault();
-        context.enter(iD.modes.Select(context, [d.id]));
-    }
-
-    function changeRole(d) {
-        var role = d3.select(this).property('value');
-        context.perform(
-            iD.actions.ChangeMember(d.relation.id, _.extend({}, d.id, {role: role}), d.index),
-            t('operations.change_role.annotation'));
-    }
-
-    function deleteMember(d) {
-        context.perform(
-            iD.actions.DeleteMember(d.relation.id, d.index),
-            t('operations.delete_member.annotation'));
-
-        if (!context.hasEntity(d.relation.id)) {
-            context.enter(iD.modes.Browse(context));
-        }
-    }
-
-    function rawMemberEditor(selection) {
-        var entity = context.entity(id),
-            memberships = [];
-
-        entity.members.forEach(function(member, index) {
-            memberships.push({
-                index: index,
-                id: member.id,
-                role: member.role,
-                relation: entity,
-                member: context.hasEntity(member.id)
-            });
-        });
-
-        selection.call(iD.ui.Disclosure()
-            .title(t('inspector.all_members') + ' (' + memberships.length + ')')
-            .expanded(true)
-            .on('toggled', toggled)
-            .content(content));
-
-        function toggled(expanded) {
-            if (expanded) {
-                selection.node().parentNode.scrollTop += 200;
-            }
-        }
-
-        function content($wrap) {
-            var $list = $wrap.selectAll('.member-list')
-                .data([0]);
-
-            $list.enter().append('ul')
-                .attr('class', 'member-list');
-
-            var $items = $list.selectAll('li')
-                .data(memberships, function(d) {
-                    return iD.Entity.key(d.relation) + ',' + d.index + ',' +
-                        (d.member ? iD.Entity.key(d.member) : 'incomplete');
-                });
-
-            var $enter = $items.enter().append('li')
-                .attr('class', 'member-row form-field')
-                .classed('member-incomplete', function(d) { return !d.member; });
-
-            $enter.each(function(d) {
-                if (d.member) {
-                    var $label = d3.select(this).append('label')
-                        .attr('class', 'form-label')
-                        .append('a')
-                        .attr('href', '#')
-                        .on('click', selectMember);
-
-                    $label.append('span')
-                        .attr('class', 'member-entity-type')
-                        .text(function(d) { return context.presets().match(d.member, context.graph()).name(); });
-
-                    $label.append('span')
-                        .attr('class', 'member-entity-name')
-                        .text(function(d) { return iD.util.displayName(d.member); });
-
-                } else {
-                    d3.select(this).append('label')
-                        .attr('class', 'form-label')
-                        .text(t('inspector.incomplete'));
-                }
-            });
-
-            $enter.append('input')
-                .attr('class', 'member-role')
-                .property('type', 'text')
-                .attr('maxlength', 255)
-                .attr('placeholder', t('inspector.role'))
-                .property('value', function(d) { return d.role; })
-                .on('change', changeRole);
-
-            $enter.append('button')
-                .attr('tabindex', -1)
-                .attr('class', 'remove button-input-action member-delete minor')
-                .on('click', deleteMember)
-                .append('span')
-                .attr('class', 'icon delete');
-
-            $items.exit()
-                .remove();
-        }
-    }
-
-    rawMemberEditor.entityID = function(_) {
-        if (!arguments.length) return id;
-        id = _;
-        return rawMemberEditor;
-    };
-
-    return rawMemberEditor;
-};
-iD.ui.RawMembershipEditor = function(context) {
-    var id, showBlank;
-
-    function selectRelation(d) {
-        d3.event.preventDefault();
-        context.enter(iD.modes.Select(context, [d.relation.id]));
-    }
-
-    function changeRole(d) {
-        var role = d3.select(this).property('value');
-        context.perform(
-            iD.actions.ChangeMember(d.relation.id, _.extend({}, d.member, {role: role}), d.index),
-            t('operations.change_role.annotation'));
-    }
-
-    function addMembership(d, role) {
-        showBlank = false;
-
-        if (d.relation) {
-            context.perform(
-                iD.actions.AddMember(d.relation.id, {id: id, type: context.entity(id).type, role: role}),
-                t('operations.add_member.annotation'));
-
-        } else {
-            var relation = iD.Relation();
-
-            context.perform(
-                iD.actions.AddEntity(relation),
-                iD.actions.AddMember(relation.id, {id: id, type: context.entity(id).type, role: role}),
-                t('operations.add.annotation.relation'));
-
-            context.enter(iD.modes.Select(context, [relation.id]));
-        }
-    }
-
-    function deleteMembership(d) {
-        context.perform(
-            iD.actions.DeleteMember(d.relation.id, d.index),
-            t('operations.delete_member.annotation'));
-    }
-
-    function relations(q) {
-        var newRelation = {
-                relation: null,
-                value: t('inspector.new_relation')
-            },
-            result = [],
-            graph = context.graph();
-
-        context.intersects(context.extent()).forEach(function(entity) {
-            if (entity.type !== 'relation' || entity.id === id)
-                return;
-
-            var presetName = context.presets().match(entity, graph).name(),
-                entityName = iD.util.displayName(entity) || '';
-
-            var value = presetName + ' ' + entityName;
-            if (q && value.toLowerCase().indexOf(q.toLowerCase()) === -1)
-                return;
-
-            result.push({
-                relation: entity,
-                value: value
-            });
-        });
-
-        result.sort(function(a, b) {
-            return iD.Relation.creationOrder(a.relation, b.relation);
-        });
-        result.unshift(newRelation);
-
-        return result;
-    }
-
-    function rawMembershipEditor(selection) {
-        var entity = context.entity(id),
-            memberships = [];
-
-        context.graph().parentRelations(entity).forEach(function(relation) {
-            relation.members.forEach(function(member, index) {
-                if (member.id === entity.id) {
-                    memberships.push({relation: relation, member: member, index: index});
-                }
-            });
-        });
-
-        selection.call(iD.ui.Disclosure()
-            .title(t('inspector.all_relations') + ' (' + memberships.length + ')')
-            .expanded(true)
-            .on('toggled', toggled)
-            .content(content));
-
-        function toggled(expanded) {
-            if (expanded) {
-                selection.node().parentNode.scrollTop += 200;
-            }
-        }
-
-        function content($wrap) {
-            var $list = $wrap.selectAll('.member-list')
-                .data([0]);
-
-            $list.enter().append('ul')
-                .attr('class', 'member-list');
-
-            var $items = $list.selectAll('li.member-row-normal')
-                .data(memberships, function(d) { return iD.Entity.key(d.relation) + ',' + d.index; });
-
-            var $enter = $items.enter().append('li')
-                .attr('class', 'member-row member-row-normal form-field');
-
-            var $label = $enter.append('label')
-                .attr('class', 'form-label')
-                .append('a')
-                .attr('href', '#')
-                .on('click', selectRelation);
-
-            $label.append('span')
-                .attr('class', 'member-entity-type')
-                .text(function(d) { return context.presets().match(d.relation, context.graph()).name(); });
-
-            $label.append('span')
-                .attr('class', 'member-entity-name')
-                .text(function(d) { return iD.util.displayName(d.relation); });
-
-            $enter.append('input')
-                .attr('class', 'member-role')
-                .property('type', 'text')
-                .attr('maxlength', 255)
-                .attr('placeholder', t('inspector.role'))
-                .property('value', function(d) { return d.member.role; })
-                .on('change', changeRole);
-
-            $enter.append('button')
-                .attr('tabindex', -1)
-                .attr('class', 'remove button-input-action member-delete minor')
-                .on('click', deleteMembership)
-                .append('span')
-                .attr('class', 'icon delete');
-
-            $items.exit()
-                .remove();
-
-            if (showBlank) {
-                var $new = $list.selectAll('.member-row-new')
-                    .data([0]);
-
-                $enter = $new.enter().append('li')
-                    .attr('class', 'member-row member-row-new form-field');
-
-                $enter.append('input')
-                    .attr('type', 'text')
-                    .attr('class', 'member-entity-input')
-                    .call(d3.combobox()
-                        .minItems(1)
-                        .fetcher(function(value, callback) {
-                            callback(relations(value));
-                        })
-                        .on('accept', function(d) {
-                            addMembership(d, $new.select('.member-role').property('value'));
-                        }));
-
-                $enter.append('input')
-                    .attr('class', 'member-role')
-                    .property('type', 'text')
-                    .attr('maxlength', 255)
-                    .attr('placeholder', t('inspector.role'))
-                    .on('change', changeRole);
-
-                $enter.append('button')
-                    .attr('tabindex', -1)
-                    .attr('class', 'remove button-input-action member-delete minor')
-                    .on('click', deleteMembership)
-                    .append('span')
-                    .attr('class', 'icon delete');
-
-            } else {
-                $list.selectAll('.member-row-new')
-                    .remove();
-            }
-
-            var $add = $wrap.selectAll('.add-relation')
-                .data([0]);
-
-            $add.enter().append('button')
-                .attr('class', 'add-relation')
-                .append('span')
-                .attr('class', 'icon plus light');
-
-            $wrap.selectAll('.add-relation')
-                .on('click', function() {
-                    showBlank = true;
-                    content($wrap);
-                    $list.selectAll('.member-entity-input').node().focus();
-                });
-        }
-    }
-
-    rawMembershipEditor.entityID = function(_) {
-        if (!arguments.length) return id;
-        id = _;
-        return rawMembershipEditor;
-    };
-
-    return rawMembershipEditor;
-};
-iD.ui.RawTagEditor = function(context) {
-    var event = d3.dispatch('change'),
-        taginfo = iD.taginfo(),
-        showBlank = false,
-        state,
-        preset,
-        tags,
-        id;
-
-    function rawTagEditor(selection) {
-        var count = Object.keys(tags).filter(function(d) { return d; }).length;
-
-        selection.call(iD.ui.Disclosure()
-            .title(t('inspector.all_tags') + ' (' + count + ')')
-            .expanded(iD.ui.RawTagEditor.expanded || preset.isFallback())
-            .on('toggled', toggled)
-            .content(content));
-
-        function toggled(expanded) {
-            iD.ui.RawTagEditor.expanded = expanded;
-            if (expanded) {
-                selection.node().parentNode.scrollTop += 200;
-            }
-        }
-    }
-
-    function content($wrap) {
-        var entries = d3.entries(tags);
-
-        if (!entries.length || showBlank) {
-            showBlank = false;
-            entries.push({key: '', value: ''});
-        }
-
-        var $list = $wrap.selectAll('.tag-list')
-            .data([0]);
-
-        $list.enter().append('ul')
-            .attr('class', 'tag-list');
-
-        var $newTag = $wrap.selectAll('.add-tag')
-            .data([0]);
-
-        var $enter = $newTag.enter().append('button')
-            .attr('class', 'add-tag');
-
-        $enter.append('span')
-            .attr('class', 'icon plus light');
-
-        $newTag.on('click', addTag);
-
-        var $items = $list.selectAll('li')
-            .data(entries, function(d) { return d.key; });
-
-        // Enter
-
-        $enter = $items.enter().append('li')
-            .attr('class', 'tag-row cf');
-
-        $enter.append('div')
-            .attr('class', 'key-wrap')
-            .append('input')
-            .property('type', 'text')
-            .attr('class', 'key')
-            .attr('maxlength', 255);
-
-        $enter.append('div')
-            .attr('class', 'input-wrap-position')
-            .append('input')
-            .property('type', 'text')
-            .attr('class', 'value')
-            .attr('maxlength', 255);
-
-        $enter.append('button')
-            .attr('tabindex', -1)
-            .attr('class', 'remove minor')
-            .append('span')
-            .attr('class', 'icon delete');
-
-        $enter.each(bindTypeahead);
-
-        // Update
-
-        $items.order();
-
-        $items.each(function(tag) {
-            var reference = iD.ui.TagReference({key: tag.key});
-
-            if (state === 'hover') {
-                reference.showing(false);
-            }
-
-            d3.select(this)
-                .call(reference.button)
-                .call(reference.body);
-        });
-
-        $items.select('input.key')
-            .value(function(d) { return d.key; })
-            .on('blur', keyChange)
-            .on('change', keyChange);
-
-        $items.select('input.value')
-            .value(function(d) { return d.value; })
-            .on('blur', valueChange)
-            .on('change', valueChange)
-            .on('keydown.push-more', pushMore);
-
-        $items.select('button.remove')
-            .on('click', removeTag);
-
-        $items.exit()
-            .remove();
-
-        function pushMore() {
-            if (d3.event.keyCode === 9 && !d3.event.shiftKey &&
-                $list.selectAll('li:last-child input.value').node() === this) {
-                addTag();
-            }
-        }
-
-        function bindTypeahead() {
-            var row = d3.select(this),
-                key = row.selectAll('input.key'),
-                value = row.selectAll('input.value');
-
-            function sort(value, data) {
-                var sameletter = [],
-                    other = [];
-                for (var i = 0; i < data.length; i++) {
-                    if (data[i].value.substring(0, value.length) === value) {
-                        sameletter.push(data[i]);
-                    } else {
-                        other.push(data[i]);
-                    }
-                }
-                return sameletter.concat(other);
-            }
-
-            key.call(d3.combobox()
-                .fetcher(function(value, callback) {
-                    taginfo.keys({
-                        debounce: true,
-                        geometry: context.geometry(id),
-                        query: value
-                    }, function(err, data) {
-                        if (!err) callback(sort(value, data));
-                    });
-                }));
-
-            value.call(d3.combobox()
-                .fetcher(function(value, callback) {
-                    taginfo.values({
-                        debounce: true,
-                        key: key.value(),
-                        geometry: context.geometry(id),
-                        query: value
-                    }, function(err, data) {
-                        if (!err) callback(sort(value, data));
-                    });
-                }));
-        }
-
-        function keyChange(d) {
-            var kOld = d.key,
-                kNew = this.value.trim(),
-                tag = {};
-
-            if (kNew && kNew !== kOld) {
-                var match = kNew.match(/^(.*?)(?:_(\d+))?$/),
-                    base = match[1],
-                    suffix = +(match[2] || 1);
-                while (tags[kNew]) {  // rename key if already in use
-                    kNew = base + '_' + suffix++;
-                }
-            }
-            tag[kOld] = undefined;
-            tag[kNew] = d.value;
-            d.key = kNew; // Maintain DOM identity through the subsequent update.
-            this.value = kNew;
-            event.change(tag);
-        }
-
-        function valueChange(d) {
-            var tag = {};
-            tag[d.key] = this.value;
-            event.change(tag);
-        }
-
-        function removeTag(d) {
-            var tag = {};
-            tag[d.key] = undefined;
-            event.change(tag);
-        }
-
-        function addTag() {
-            // Wrapped in a setTimeout in case it's being called from a blur
-            // handler. Without the setTimeout, the call to `content` would
-            // wipe out the pending value change.
-            setTimeout(function() {
-                showBlank = true;
-                content($wrap);
-                $list.selectAll('li:last-child input.key').node().focus();
-            }, 0);
-        }
-    }
-
-    rawTagEditor.state = function(_) {
-        if (!arguments.length) return state;
-        state = _;
-        return rawTagEditor;
-    };
-
-    rawTagEditor.preset = function(_) {
-        if (!arguments.length) return preset;
-        preset = _;
-        return rawTagEditor;
-    };
-
-    rawTagEditor.tags = function(_) {
-        if (!arguments.length) return tags;
-        tags = _;
-        return rawTagEditor;
-    };
-
-    rawTagEditor.entityID = function(_) {
-        if (!arguments.length) return id;
-        id = _;
-        return rawTagEditor;
-    };
-
-    return d3.rebind(rawTagEditor, event, 'on');
-};
-iD.ui.Restore = function(context) {
-    return function(selection) {
-        if (!context.history().lock() || !context.history().restorableChanges())
-            return;
-
-        var modal = iD.ui.modal(selection);
-
-        modal.select('.modal')
-            .attr('class', 'modal fillL col6');
-
-        var introModal = modal.select('.content');
-
-        introModal.attr('class','cf');
-
-        introModal.append('div')
-            .attr('class', 'modal-section')
-            .append('h3')
-            .text(t('restore.heading'));
-
-        introModal.append('div')
-            .attr('class','modal-section')
-            .append('p')
-            .text(t('restore.description'));
-
-        var buttonWrap = introModal.append('div')
-            .attr('class', 'modal-actions cf');
-
-        var restore = buttonWrap.append('button')
-            .attr('class', 'restore col6')
-            .text(t('restore.restore'))
-            .on('click', function() {
-                context.history().restore();
-                modal.remove();
-            });
-
-        buttonWrap.append('button')
-            .attr('class', 'reset col6')
-            .text(t('restore.reset'))
-            .on('click', function() {
-                context.history().clearSaved();
-                modal.remove();
-            });
-
-        restore.node().focus();
-    };
-};
-iD.ui.Save = function(context) {
-    var history = context.history(),
-        key = iD.ui.cmd('⌘S');
-
-    function saving() {
-        return context.mode().id === 'save';
-    }
-
-    function save() {
-        d3.event.preventDefault();
-        if (!saving() && history.hasChanges()) {
-            context.enter(iD.modes.Save(context));
-        }
-    }
-
-    return function(selection) {
-        var tooltip = bootstrap.tooltip()
-            .placement('bottom')
-            .html(true)
-            .title(iD.ui.tooltipHtml(t('save.no_changes'), key));
-
-        var button = selection.append('button')
-            .attr('class', 'save col12 disabled')
-            .attr('tabindex', -1)
-            .on('click', save)
-            .call(tooltip);
-
-        button.append('span')
-            .attr('class', 'label')
-            .text(t('save.title'));
-
-        button.append('span')
-            .attr('class', 'count')
-            .text('0');
-
-        var keybinding = d3.keybinding('undo-redo')
-            .on(key, save);
-
-        d3.select(document)
-            .call(keybinding);
-
-        var numChanges = 0;
-
-        context.history().on('change.save', function() {
-            var _ = history.difference().summary().length;
-            if (_ === numChanges)
-                return;
-            numChanges = _;
-
-            tooltip.title(iD.ui.tooltipHtml(t(numChanges > 0 ?
-                    'save.help' : 'save.no_changes'), key));
-
-            button
-                .classed('disabled', numChanges === 0)
-                .classed('has-count', numChanges > 0);
-
-            button.select('span.count')
-                .text(numChanges);
-        });
-
-        context.on('enter.save', function() {
-            button.property('disabled', saving());
-            if (saving()) button.call(tooltip.hide);
-        });
-    };
-};
-iD.ui.Scale = function(context) {
-    var projection = context.projection,
-        imperial = (iD.detect().locale === 'en-us'),
-        maxLength = 180,
-        tickHeight = 8;
-
-    function scaleDefs(loc1, loc2) {
-        var lat = (loc2[1] + loc1[1]) / 2,
-            conversion = (imperial ? 3.28084 : 1),
-            dist = iD.geo.lonToMeters(loc2[0] - loc1[0], lat) * conversion,
-            scale = { dist: 0, px: 0, text: '' },
-            buckets, i, val, dLon;
-
-        if (imperial) {
-            buckets = [5280000, 528000, 52800, 5280, 500, 50, 5, 1];
-        } else {
-            buckets = [5000000, 500000, 50000, 5000, 500, 50, 5, 1];
-        }
-
-        // determine a user-friendly endpoint for the scale
-        for (i = 0; i < buckets.length; i++) {
-            val = buckets[i];
-            if (dist >= val) {
-                scale.dist = Math.floor(dist / val) * val;
-                break;
-            }
-        }
-
-        dLon = iD.geo.metersToLon(scale.dist / conversion, lat);
-        scale.px = Math.round(projection([loc1[0] + dLon, loc1[1]])[0]);
-
-        if (imperial) {
-            if (scale.dist >= 5280) {
-                scale.dist /= 5280;
-                scale.text = String(scale.dist) + ' mi';
-            } else {
-                scale.text = String(scale.dist) + ' ft';
-            }
-        } else {
-            if (scale.dist >= 1000) {
-                scale.dist /= 1000;
-                scale.text = String(scale.dist) + ' km';
-            } else {
-                scale.text = String(scale.dist) + ' m';
-            }
-        }
-
-        return scale;
-    }
-
-    function update(selection) {
-        // choose loc1, loc2 along bottom of viewport (near where the scale will be drawn)
-        var dims = context.map().dimensions(),
-            loc1 = projection.invert([0, dims[1]]),
-            loc2 = projection.invert([maxLength, dims[1]]),
-            scale = scaleDefs(loc1, loc2);
-
-        selection.select('#scalepath')
-            .attr('d', 'M0.5,0.5v' + tickHeight + 'h' + scale.px + 'v-' + tickHeight);
-
-        selection.select('#scaletext')
-            .attr('x', scale.px + 8)
-            .attr('y', tickHeight)
-            .text(scale.text);
-    }
-
-    return function(selection) {
-        var g = selection.append('svg')
-            .attr('id', 'scale')
-            .append('g')
-            .attr('transform', 'translate(10,11)');
-
-        g.append('path').attr('id', 'scalepath');
-        g.append('text').attr('id', 'scaletext');
-
-        update(selection);
-
-        context.map().on('move.scale', function() {
-            update(selection);
-        });
-    };
-};
-iD.ui.SelectionList = function(context, selectedIDs) {
-
-    function selectionList(selection) {
-        selection.classed('selection-list-pane', true);
-
-        var header = selection.append('div')
-            .attr('class', 'header fillL cf');
-
-        header.append('h3')
-            .text(t('inspector.multiselect'));
-
-        var listWrap = selection.append('div')
-            .attr('class', 'inspector-body');
-
-        var list = listWrap.append('div')
-            .attr('class', 'feature-list cf');
-
-        context.history().on('change.selection-list', drawList);
-        drawList();
-
-        function drawList() {
-            var entities = selectedIDs
-                .map(function(id) { return context.hasEntity(id); })
-                .filter(function(entity) { return entity; });
-
-            var items = list.selectAll('.feature-list-item')
-                .data(entities, iD.Entity.key);
-
-            var enter = items.enter().append('button')
-                .attr('class', 'feature-list-item')
-                .on('click', function(entity) {
-                    context.enter(iD.modes.Select(context, [entity.id]));
-                });
-
-            // Enter
-
-            var label = enter.append('div')
-                .attr('class', 'label');
-
-            label.append('span')
-                .attr('class', 'icon icon-pre-text');
-
-            label.append('span')
-                .attr('class', 'entity-type');
-
-            label.append('span')
-                .attr('class', 'entity-name');
-
-            // Update
-
-            items.selectAll('.icon')
-                .attr('class', function(entity) { return context.geometry(entity.id) + ' icon icon-pre-text'; });
-
-            items.selectAll('.entity-type')
-                .text(function(entity) { return context.presets().match(entity, context.graph()).name(); });
-
-            items.selectAll('.entity-name')
-                .text(function(entity) { return iD.util.displayName(entity); });
-
-            // Exit
-
-            items.exit()
-                .remove();
-        }
-    }
-
-    return selectionList;
-
-};
-iD.ui.Sidebar = function(context) {
-    var inspector = iD.ui.Inspector(context),
-        current;
-
-    function sidebar(selection) {
-        var featureListWrap = selection.append('div')
-            .attr('class', 'feature-list-pane')
-            .call(iD.ui.FeatureList(context));
-
-        selection.call(iD.ui.Notice(context));
-
-        var inspectorWrap = selection.append('div')
-            .attr('class', 'inspector-hidden inspector-wrap fr');
-
-        sidebar.hover = function(id) {
-            if (!current && id) {
-                featureListWrap.classed('inspector-hidden', true);
-                inspectorWrap.classed('inspector-hidden', false)
-                    .classed('inspector-hover', true);
-
-                if (inspector.entityID() !== id || inspector.state() !== 'hover') {
-                    inspector
-                        .state('hover')
-                        .entityID(id);
-
-                    inspectorWrap.call(inspector);
-                }
-            } else if (!current) {
-                featureListWrap.classed('inspector-hidden', false);
-                inspectorWrap.classed('inspector-hidden', true);
-                inspector.state('hide');
-            }
-        };
-
-        sidebar.hover = _.throttle(sidebar.hover, 200);
-
-        sidebar.select = function(id, newFeature) {
-            if (!current && id) {
-                featureListWrap.classed('inspector-hidden', true);
-                inspectorWrap.classed('inspector-hidden', false)
-                    .classed('inspector-hover', false);
-
-                if (inspector.entityID() !== id || inspector.state() !== 'select') {
-                    inspector
-                        .state('select')
-                        .entityID(id)
-                        .newFeature(newFeature);
-
-                    inspectorWrap.call(inspector);
-                }
-            } else if (!current) {
-                featureListWrap.classed('inspector-hidden', false);
-                inspectorWrap.classed('inspector-hidden', true);
-                inspector.state('hide');
-            }
-        };
-
-        sidebar.show = function(component) {
-            featureListWrap.classed('inspector-hidden', true);
-            inspectorWrap.classed('inspector-hidden', true);
-            if (current) current.remove();
-            current = selection.append('div')
-                .attr('class', 'sidebar-component')
-                .call(component);
-        };
-
-        sidebar.hide = function() {
-            featureListWrap.classed('inspector-hidden', false);
-            inspectorWrap.classed('inspector-hidden', true);
-            if (current) current.remove();
-            current = null;
-        };
-    }
-
-    sidebar.hover = function() {};
-    sidebar.select = function() {};
-    sidebar.show = function() {};
-    sidebar.hide = function() {};
-
-    return sidebar;
-};
-iD.ui.SourceSwitch = function(context) {
-    var keys;
-
-    function click() {
-        d3.event.preventDefault();
-
-        if (context.history().hasChanges() &&
-            !window.confirm(t('source_switch.lose_changes'))) return;
-
-        var live = d3.select(this)
-            .classed('live');
-
-        context.connection()
-            .switch(live ? keys[1] : keys[0]);
-
-        context.flush();
-
-        d3.select(this)
-            .text(live ? t('source_switch.dev') : t('source_switch.live'))
-            .classed('live', !live);
-    }
-
-    var sourceSwitch = function(selection) {
-        selection.append('a')
-            .attr('href', '#')
-            .text(t('source_switch.live'))
-            .classed('live', true)
-            .attr('tabindex', -1)
-            .on('click', click);
-    };
-
-    sourceSwitch.keys = function(_) {
-        if (!arguments.length) return keys;
-        keys = _;
-        return sourceSwitch;
-    };
-
-    return sourceSwitch;
-};
-iD.ui.Spinner = function(context) {
-    var connection = context.connection();
-
-    return function(selection) {
-        var img = selection.append('img')
-            .attr('src', context.imagePath('loader-black.gif'))
-            .style('opacity', 0);
-
-        connection.on('loading.spinner', function() {
-            img.transition()
-                .style('opacity', 1);
-        });
-
-        connection.on('loaded.spinner', function() {
-            img.transition()
-                .style('opacity', 0);
-        });
-    };
-};
-iD.ui.Splash = function(context) {
-    return function(selection) {
-        if (context.storage('sawSplash'))
-             return;
-
-        context.storage('sawSplash', true);
-
-        var modal = iD.ui.modal(selection);
-
-        modal.select('.modal')
-            .attr('class', 'modal-splash modal col6');
-
-        var introModal = modal.select('.content')
-            .append('div')
-            .attr('class', 'fillL');
-
-        introModal.append('div')
-            .attr('class','modal-section cf')
-            .append('h3').text(t('splash.welcome'));
-
-        introModal.append('div')
-            .attr('class','modal-section')
-            .append('p')
-            .html(t('splash.text', {
-                version: iD.version,
-                website: '<a href="http://ideditor.com/">ideditor.com</a>',
-                github: '<a href="https://github.com/openstreetmap/iD">github.com</a>'
-            }));
-
-        var buttons = introModal.append('div').attr('class', 'modal-actions cf');
-
-        buttons.append('button')
-            .attr('class', 'col6 walkthrough')
-            .text(t('splash.walkthrough'))
-            .on('click', function() {
-                d3.select(document.body).call(iD.ui.intro(context));
-                modal.close();
-            });
-
-        buttons.append('button')
-            .attr('class', 'col6 start')
-            .text(t('splash.start'))
-            .on('click', modal.close);
-
-        modal.select('button.close').attr('class','hide');
-
-    };
-};
-iD.ui.Status = function(context) {
-    var connection = context.connection(),
-        errCount = 0;
-
-    return function(selection) {
-
-        function update() {
-
-            connection.status(function(err, apiStatus) {
-
-                selection.html('');
-
-                if (err && errCount++ < 2) return;
-
-                if (err) {
-                    selection.text(t('status.error'));
-
-                } else if (apiStatus === 'readonly') {
-                    selection.text(t('status.readonly'));
-
-                } else if (apiStatus === 'offline') {
-                    selection.text(t('status.offline'));
-                }
-
-                selection.attr('class', 'api-status ' + (err ? 'error' : apiStatus));
-                if (!err) errCount = 0;
-
-            });
-        }
-
-        connection.on('auth', function() { update(selection); });
-        window.setInterval(update, 90000);
-        update(selection);
-    };
-};
-iD.ui.Success = function(context) {
-    var event = d3.dispatch('cancel'),
-        changeset;
-
-    function success(selection) {
-        var message = (changeset.comment || t('success.edited_osm')).substring(0, 130) +
-            ' ' + context.connection().changesetURL(changeset.id);
-
-        var header = selection.append('div')
-            .attr('class', 'header fillL');
-
-        header.append('button')
-            .attr('class', 'fr')
-            .append('span')
-            .attr('class', 'icon close')
-            .on('click', function() { event.cancel(success); });
-
-        header.append('h3')
-            .text(t('success.just_edited'));
-
-        var body = selection.append('div')
-            .attr('class', 'body save-success fillL');
-
-        body.append('p')
-            .html(t('success.help_html'));
-
-        var changesetURL = context.connection().changesetURL(changeset.id);
-
-        body.append('a')
-            .attr('class', 'button col12 osm')
-            .attr('target', '_blank')
-            .attr('href', changesetURL)
-            .text(t('success.view_on_osm'));
-
-        var sharing = {
-            facebook: 'https://facebook.com/sharer/sharer.php?u=' + encodeURIComponent(changesetURL),
-            twitter: 'https://twitter.com/intent/tweet?source=webclient&text=' + encodeURIComponent(message),
-            google: 'https://plus.google.com/share?url=' + encodeURIComponent(changesetURL)
-        };
-
-        body.selectAll('.button.social')
-            .data(d3.entries(sharing))
-            .enter().append('a')
-            .attr('class', function(d) { return 'button social col4 ' + d.key; })
-            .attr('target', '_blank')
-            .attr('href', function(d) { return d.value; })
-            .call(bootstrap.tooltip()
-                .title(function(d) { return t('success.' + d.key); })
-                .placement('bottom'));
-    }
-
-    success.changeset = function(_) {
-        if (!arguments.length) return changeset;
-        changeset = _;
-        return success;
-    };
-
-    return d3.rebind(success, event, 'on');
-};
-iD.ui.TagReference = function(tag) {
-    var tagReference = {},
-        taginfo = iD.taginfo(),
-        button,
-        body,
-        loaded,
-        showing;
-
-    function findLocal(docs) {
-        var locale = iD.detect().locale.toLowerCase(),
-            localized;
-
-        localized = _.find(docs, function(d) {
-            return d.lang.toLowerCase() === locale;
-        });
-        if (localized) return localized;
-
-        // try the non-regional version of a language, like
-        // 'en' if the language is 'en-US'
-        if (locale.indexOf('-') !== -1) {
-            var first = locale.split('-')[0];
-            localized = _.find(docs, function(d) {
-                return d.lang.toLowerCase() === first;
-            });
-            if (localized) return localized;
-        }
-
-        // finally fall back to english
-        return _.find(docs, function(d) {
-            return d.lang.toLowerCase() === 'en';
-        });
-    }
-
-    function load() {
-        button.classed('tag-reference-loading', true);
-
-        taginfo.docs(tag, function(err, docs) {
-            if (!err && docs) {
-                docs = findLocal(docs);
-            }
-
-            body.html('');
-
-            if (!docs || !docs.description) {
-                body.append('p').text(t('inspector.no_documentation_key'));
-                show();
-                return;
-            }
-
-            if (docs.image && docs.image.thumb_url_prefix) {
-                body
-                    .append('img')
-                    .attr('class', 'wiki-image')
-                    .attr('src', docs.image.thumb_url_prefix + '100' + docs.image.thumb_url_suffix)
-                    .on('load', function() { show(); })
-                    .on('error', function() { d3.select(this).remove(); show(); });
-            } else {
-                show();
-            }
-
-            body
-                .append('p')
-                .text(docs.description);
-
-            var wikiLink = body
-                .append('a')
-                .attr('target', '_blank')
-                .attr('href', 'http://wiki.openstreetmap.org/wiki/' + docs.title);
-
-            wikiLink.append('span')
-                .attr('class','icon icon-pre-text out-link');
-
-            wikiLink.append('span')
-                .text(t('inspector.reference'));
-        });
-    }
-
-    function show() {
-        loaded = true;
-
-        button.classed('tag-reference-loading', false);
-
-        body.transition()
-            .duration(200)
-            .style('max-height', '200px')
-            .style('opacity', '1');
-
-        showing = true;
-    }
-
-    function hide(selection) {
-        selection = selection || body.transition().duration(200);
-
-        selection
-            .style('max-height', '0px')
-            .style('opacity', '0');
-
-        showing = false;
-    }
-
-    tagReference.button = function(selection) {
-        button = selection.selectAll('.tag-reference-button')
-            .data([0]);
-
-        var enter = button.enter().append('button')
-            .attr('tabindex', -1)
-            .attr('class', 'tag-reference-button');
-
-        enter.append('span')
-            .attr('class', 'icon inspect');
-
-        button.on('click', function () {
-            d3.event.stopPropagation();
-            d3.event.preventDefault();
-            if (showing) {
-                hide();
-            } else if (loaded) {
-                show();
-            } else {
-                load();
-            }
-        });
-    };
-
-    tagReference.body = function(selection) {
-        body = selection.selectAll('.tag-reference-body')
-            .data([0]);
-
-        body.enter().append('div')
-            .attr('class', 'tag-reference-body cf')
-            .style('max-height', '0')
-            .style('opacity', '0');
-
-        if (showing === false) {
-            hide(body);
-        }
-    };
-
-    tagReference.showing = function(_) {
-        if (!arguments.length) return showing;
-        showing = _;
-        return tagReference;
-    };
-
-    return tagReference;
-};// toggles the visibility of ui elements, using a combination of the
-// hide class, which sets display=none, and a d3 transition for opacity.
-// this will cause blinking when called repeatedly, so check that the
-// value actually changes between calls.
-iD.ui.Toggle = function(show, callback) {
-    return function(selection) {
-        selection
-            .style('opacity', show ? 0 : 1)
-            .classed('hide', false)
-            .transition()
-            .style('opacity', show ? 1 : 0)
-            .each('end', function() {
-                d3.select(this).classed('hide', !show);
-                if (callback) callback.apply(this);
-            });
-    };
-};
-iD.ui.UndoRedo = function(context) {
-    var commands = [{
-        id: 'undo',
-        cmd: iD.ui.cmd('⌘Z'),
-        action: function() { if (!saving()) context.undo(); },
-        annotation: function() { return context.history().undoAnnotation(); }
-    }, {
-        id: 'redo',
-        cmd: iD.ui.cmd('⌘⇧Z'),
-        action: function() { if (!saving()) context.redo(); },
-        annotation: function() { return context.history().redoAnnotation(); }
-    }];
-
-    function saving() {
-        return context.mode().id === 'save';
-    }
-
-    return function(selection) {
-        var tooltip = bootstrap.tooltip()
-            .placement('bottom')
-            .html(true)
-            .title(function (d) {
-                return iD.ui.tooltipHtml(d.annotation() ?
-                    t(d.id + '.tooltip', {action: d.annotation()}) :
-                    t(d.id + '.nothing'), d.cmd);
-            });
-
-        var buttons = selection.selectAll('button')
-            .data(commands)
-            .enter().append('button')
-            .attr('class', 'col6 disabled')
-            .on('click', function(d) { return d.action(); })
-            .call(tooltip);
-
-        buttons.append('span')
-            .attr('class', function(d) { return 'icon ' + d.id; });
-
-        var keybinding = d3.keybinding('undo')
-            .on(commands[0].cmd, function() { d3.event.preventDefault(); commands[0].action(); })
-            .on(commands[1].cmd, function() { d3.event.preventDefault(); commands[1].action(); });
-
-        d3.select(document)
-            .call(keybinding);
-
-        context.history()
-            .on('change.undo_redo', update);
-
-        context
-            .on('enter.undo_redo', update);
-
-        function update() {
-            buttons
-                .property('disabled', saving())
-                .classed('disabled', function(d) { return !d.annotation(); })
-                .each(function() {
-                    var selection = d3.select(this);
-                    if (selection.property('tooltipVisible')) {
-                        selection.call(tooltip.show);
-                    }
-                });
-        }
-    };
-};
-iD.ui.ViewOnOSM = function(context) {
-    var id;
-
-    function viewOnOSM(selection) {
-        var entity = context.entity(id);
-
-        selection.style('display', entity.isNew() ? 'none' : null);
-
-        var $link = selection.selectAll('.view-on-osm')
-            .data([0]);
-
-        var $enter = $link.enter().append('a')
-            .attr('class', 'view-on-osm')
-            .attr('target', '_blank');
-
-        $enter.append('span')
-            .attr('class', 'icon icon-pre-text out-link');
-
-        $enter.append('span')
-            .text(t('inspector.view_on_osm'));
-
-        $link.attr('href', context.connection().entityURL(entity));
-    }
-
-    viewOnOSM.entityID = function(_) {
-        if (!arguments.length) return id;
-        id = _;
-        return viewOnOSM;
-    };
-
-    return viewOnOSM;
-};
-iD.ui.Zoom = function(context) {
-    var zooms = [{
-        id: 'zoom-in',
-        title: t('zoom.in'),
-        action: context.zoomIn,
-        key: '+'
-    }, {
-        id: 'zoom-out',
-        title: t('zoom.out'),
-        action: context.zoomOut,
-        key: '-'
-    }];
-
-    return function(selection) {
-        var button = selection.selectAll('button')
-            .data(zooms)
-            .enter().append('button')
-            .attr('tabindex', -1)
-            .attr('class', function(d) { return d.id; })
-            .on('click.editor', function(d) { d.action(); })
-            .call(bootstrap.tooltip()
-                .placement('left')
-                .html(true)
-                .title(function(d) {
-                    return iD.ui.tooltipHtml(d.title, d.key);
-                }));
-
-        button.append('span')
-            .attr('class', function(d) { return d.id + ' icon'; });
-
-        var keybinding = d3.keybinding('zoom')
-            .on('+', function() { context.zoomIn(); })
-            .on('-', function() { context.zoomOut(); })
-            .on('⇧=', function() { context.zoomIn(); })
-            .on('dash', function() { context.zoomOut(); });
-
-        d3.select(document)
-            .call(keybinding);
-    };
-};
-iD.ui.preset.access = function(field) {
-    var event = d3.dispatch('change'),
-        items;
-
-    function access(selection) {
-        var wrap = selection.selectAll('.preset-input-wrap')
-            .data([0]);
-
-        wrap.enter().append('div')
-            .attr('class', 'cf preset-input-wrap')
-            .append('ul');
-
-        items = wrap.select('ul').selectAll('li')
-            .data(field.keys);
-
-        // Enter
-
-        var enter = items.enter().append('li')
-            .attr('class', function(d) { return 'cf preset-access-' + d; });
-
-        enter.append('span')
-            .attr('class', 'col6 label preset-label-access')
-            .attr('for', function(d) { return 'preset-input-access-' + d; })
-            .text(function(d) { return field.t('types.' + d); });
-
-        enter.append('div')
-            .attr('class', 'col6 preset-input-access-wrap')
-            .append('input')
-            .attr('type', 'text')
-            .attr('class', 'preset-input-access')
-            .attr('id', function(d) { return 'preset-input-access-' + d; })
-            .each(function(d) {
-                d3.select(this)
-                    .call(d3.combobox()
-                        .data(access.options(d)));
-            });
-
-        // Update
-
-        wrap.selectAll('.preset-input-access')
-            .on('change', change)
-            .on('blur', change);
-    }
-
-    function change(d) {
-        var tag = {};
-        tag[d] = d3.select(this).value() || undefined;
-        event.change(tag);
-    }
-
-    access.options = function(type) {
-        var options = ['no', 'permissive', 'private', 'destination'];
-
-        if (type !== 'access') {
-            options.unshift('yes');
-            options.push('designated');
-        }
-
-        return options.map(function(option) {
-            return {
-                title: field.t('options.' + option + '.description'),
-                value: option
-            };
-        });
-    };
-
-    var placeholders = {
-        footway: {
-            foot: 'designated',
-            motor_vehicle: 'no'
-        },
-        steps: {
-            foot: 'yes',
-            motor_vehicle: 'no',
-            bicycle: 'no',
-            horse: 'no'
-        },
-        pedestrian: {
-            foot: 'yes',
-            motor_vehicle: 'no'
-        },
-        cycleway: {
-            motor_vehicle: 'no',
-            bicycle: 'designated'
-        },
-        bridleway: {
-            motor_vehicle: 'no',
-            horse: 'designated'
-        },
-        path: {
-            foot: 'yes',
-            motor_vehicle: 'no',
-            bicycle: 'yes',
-            horse: 'yes'
-        },
-        motorway: {
-            foot: 'no',
-            motor_vehicle: 'yes',
-            bicycle: 'no',
-            horse: 'no'
-        },
-        trunk: {
-            motor_vehicle: 'yes'
-        },
-        primary: {
-            foot: 'yes',
-            motor_vehicle: 'yes',
-            bicycle: 'yes',
-            horse: 'yes'
-        },
-        secondary: {
-            foot: 'yes',
-            motor_vehicle: 'yes',
-            bicycle: 'yes',
-            horse: 'yes'
-        },
-        tertiary: {
-            foot: 'yes',
-            motor_vehicle: 'yes',
-            bicycle: 'yes',
-            horse: 'yes'
-        },
-        residential: {
-            foot: 'yes',
-            motor_vehicle: 'yes',
-            bicycle: 'yes',
-            horse: 'yes'
-        },
-        unclassified: {
-            foot: 'yes',
-            motor_vehicle: 'yes',
-            bicycle: 'yes',
-            horse: 'yes'
-        },
-        service: {
-            foot: 'yes',
-            motor_vehicle: 'yes',
-            bicycle: 'yes',
-            horse: 'yes'
-        },
-        motorway_link: {
-            foot: 'no',
-            motor_vehicle: 'yes',
-            bicycle: 'no',
-            horse: 'no'
-        },
-        trunk_link: {
-            motor_vehicle: 'yes'
-        },
-        primary_link: {
-            foot: 'yes',
-            motor_vehicle: 'yes',
-            bicycle: 'yes',
-            horse: 'yes'
-        },
-        secondary_link: {
-            foot: 'yes',
-            motor_vehicle: 'yes',
-            bicycle: 'yes',
-            horse: 'yes'
-        },
-        tertiary_link: {
-            foot: 'yes',
-            motor_vehicle: 'yes',
-            bicycle: 'yes',
-            horse: 'yes'
-        }
-    };
-
-    access.tags = function(tags) {
-        items.selectAll('.preset-input-access')
-            .value(function(d) { return tags[d] || ''; })
-            .attr('placeholder', function() {
-                return tags.access ? tags.access : field.placeholder();
-            });
-
-        items.selectAll('#preset-input-access-access')
-            .attr('placeholder', 'yes');
-
-        _.forEach(placeholders[tags.highway], function(value, key) {
-            items.selectAll('#preset-input-access-' + key)
-                .attr('placeholder', function() {
-                    return (tags.access && (value === 'yes' || value === 'designated')) ? tags.access : value;
-                });
-        });
-    };
-
-    access.focus = function() {
-        items.selectAll('.preset-input-access')
-            .node().focus();
-    };
-
-    return d3.rebind(access, event, 'on');
-};
-iD.ui.preset.address = function(field, context) {
-    var event = d3.dispatch('init', 'change'),
-        wrap,
-        entity,
-        isInitialized;
-
-    var widths = {
-        housenumber: 1/3,
-        street: 2/3,
-        city: 2/3,
-        postcode: 1/3
-    };
-
-    function getStreets() {
-        var extent = entity.extent(context.graph()),
-            l = extent.center(),
-            box = iD.geo.Extent(l).padByMeters(200);
-
-        return context.intersects(box)
-            .filter(isAddressable)
-            .map(function(d) {
-                var loc = context.projection([
-                    (extent[0][0] + extent[1][0]) / 2,
-                    (extent[0][1] + extent[1][1]) / 2]),
-                    choice = iD.geo.chooseEdge(context.childNodes(d), loc, context.projection);
-                return {
-                    title: d.tags.name,
-                    value: d.tags.name,
-                    dist: choice.distance
-                };
-            }).sort(function(a, b) {
-                return a.dist - b.dist;
-            });
-
-        function isAddressable(d) {
-            return d.tags.highway && d.tags.name && d.type === 'way';
-        }
-    }
-
-    function getCities() {
-        var extent = entity.extent(context.graph()),
-            l = extent.center(),
-            box = iD.geo.Extent(l).padByMeters(200);
-
-        return context.intersects(box)
-            .filter(isAddressable)
-            .map(function(d) {
-                return {
-                    title: d.tags['addr:city'] || d.tags.name,
-                    value: d.tags['addr:city'] || d.tags.name,
-                    dist: iD.geo.sphericalDistance(d.extent(context.graph()).center(), l)
-                };
-            }).sort(function(a, b) {
-                return a.dist - b.dist;
-            });
-
-        function isAddressable(d) {
-            if (d.tags.name &&
-                (d.tags.admin_level === '8' || d.tags.border_type === 'city'))
-                return true;
-
-            if (d.tags.place && d.tags.name && (
-                    d.tags.place === 'city' ||
-                    d.tags.place === 'town' ||
-                    d.tags.place === 'village'))
-                return true;
-
-            if (d.tags['addr:city']) return true;
-
-            return false;
-        }
-    }
-
-    function getPostCodes() {
-        var extent = entity.extent(context.graph()),
-            l = extent.center(),
-            box = iD.geo.Extent(l).padByMeters(200);
-
-        return context.intersects(box)
-            .filter(isAddressable)
-            .map(function(d) {
-                return {
-                    title: d.tags['addr:postcode'],
-                    value: d.tags['addr:postcode'],
-                    dist: iD.geo.sphericalDistance(d.extent(context.graph()).center(), l)
-                };
-            }).sort(function(a, b) {
-                return a.dist - b.dist;
-            });
-
-        function isAddressable(d) {
-            return d.tags['addr:postcode'];
-        }
-    }
-
-    function address(selection) {
-        selection.selectAll('.preset-input-wrap')
-            .remove();
-
-        var center = entity.extent(context.graph()).center(),
-            addressFormat;
-
-        // Enter
-
-        wrap = selection.append('div')
-            .attr('class', 'preset-input-wrap');
-
-        iD.countryCode().search(center, function (err, countryCode) {
-            addressFormat = _.find(iD.data.addressFormats, function (a) {
-                return a && a.countryCodes && _.contains(a.countryCodes, countryCode);
-            }) || _.first(iD.data.addressFormats);
-
-            function row(r) {
-                // Normalize widths.
-                var total = _.reduce(r, function(sum, field) {
-                    return sum + (widths[field] || 0.5);
-                }, 0);
-
-                return r.map(function (field) {
-                    return {
-                        id: field,
-                        width: (widths[field] || 0.5) / total
-                    };
-                });
-            }
-
-            wrap.selectAll('div')
-                .data(addressFormat.format)
-                .enter()
-                .append('div')
-                .attr('class', 'addr-row')
-                .selectAll('input')
-                .data(row)
-                .enter()
-                .append('input')
-                .property('type', 'text')
-                .attr('placeholder', function (d) { return field.t('placeholders.' + d.id); })
-                .attr('class', function (d) { return 'addr-' + d.id; })
-                .style('width', function (d) { return d.width * 100 + '%'; });
-
-            // Update
-
-            wrap.selectAll('.addr-street')
-                .call(d3.combobox()
-                    .fetcher(function(value, callback) {
-                        callback(getStreets());
-                    }));
-
-            wrap.selectAll('.addr-city')
-                .call(d3.combobox()
-                    .fetcher(function(value, callback) {
-                        callback(getCities());
-                    }));
-
-            wrap.selectAll('.addr-postcode')
-                .call(d3.combobox()
-                    .fetcher(function(value, callback) {
-                        callback(getPostCodes());
-                    }));
-
-            wrap.selectAll('input')
-                .on('blur', change)
-                .on('change', change);
-
-            event.init();
-            isInitialized = true;
-        });
-    }
-
-    function change() {
-        var tags = {};
-
-        wrap.selectAll('input')
-            .each(function (field) {
-                tags['addr:' + field.id] = this.value || undefined;
-            });
-
-        event.change(tags);
-    }
-
-    function updateTags(tags) {
-        wrap.selectAll('input')
-            .value(function (field) {
-                return tags['addr:' + field.id] || '';
-            });
-    }
-
-    address.entity = function(_) {
-        if (!arguments.length) return entity;
-        entity = _;
-        return address;
-    };
-
-    address.tags = function(tags) {
-        if (isInitialized) {
-            updateTags(tags);
-        } else {
-            event.on('init', function () {
-                updateTags(tags);
-            });
-        }
-    };
-
-    address.focus = function() {
-        wrap.selectAll('input').node().focus();
-    };
-
-    return d3.rebind(address, event, 'on');
-};
-iD.ui.preset.check =
-iD.ui.preset.defaultcheck = function(field) {
-    var event = d3.dispatch('change'),
-        options = field.strings && field.strings.options,
-        values = [],
-        texts = [],
-        entity, value, box, text, label;
-
-    if (options) {
-        for (var k in options) {
-            values.push(k === 'undefined' ? undefined : k);
-            texts.push(field.t('options.' + k, { 'default': options[k] }));
-        }
-    } else {
-        values = [undefined, 'yes'];
-        texts = [t('inspector.unknown'), t('inspector.check.yes')];
-        if (field.type === 'check') {
-            values.push('no');
-            texts.push(t('inspector.check.no'));
-        }
-    }
-
-    var check = function(selection) {
-        // hack: pretend oneway field is a oneway_yes field
-        // where implied oneway tag exists (e.g. `junction=roundabout`) #2220, #1841
-        if (field.id === 'oneway') {
-            for (var key in entity.tags) {
-                if (key in iD.oneWayTags && (entity.tags[key] in iD.oneWayTags[key])) {
-                    texts[0] = t('presets.fields.oneway_yes.options.undefined');
-                    break;
-                }
-            }
-        }
-
-        selection.classed('checkselect', 'true');
-
-        label = selection.selectAll('.preset-input-wrap')
-            .data([0]);
-
-        var enter = label.enter().append('label')
-            .attr('class', 'preset-input-wrap');
-
-        enter.append('input')
-            .property('indeterminate', field.type === 'check')
-            .attr('type', 'checkbox')
-            .attr('id', 'preset-input-' + field.id);
-
-        enter.append('span')
-            .text(texts[0])
-            .attr('class', 'value');
-
-        box = label.select('input')
-            .on('click', function() {
-                var t = {};
-                t[field.key] = values[(values.indexOf(value) + 1) % values.length];
-                event.change(t);
-                d3.event.stopPropagation();
-            });
-
-        text = label.select('span.value');
-    };
-
-    check.entity = function(_) {
-        if (!arguments.length) return entity;
-        entity = _;
-        return check;
-    };
-
-    check.tags = function(tags) {
-        value = tags[field.key];
-        box.property('indeterminate', field.type === 'check' && !value);
-        box.property('checked', value === 'yes');
-        text.text(texts[values.indexOf(value)]);
-        label.classed('set', !!value);
-    };
-
-    check.focus = function() {
-        box.node().focus();
-    };
-
-    return d3.rebind(check, event, 'on');
-};
-iD.ui.preset.combo =
-iD.ui.preset.typeCombo = function(field) {
-    var event = d3.dispatch('change'),
-        input;
-
-    function combo(selection) {
-        var combobox = d3.combobox();
-
-        input = selection.selectAll('input')
-            .data([0]);
-
-        input.enter().append('input')
-            .attr('type', 'text')
-            .attr('id', 'preset-input-' + field.id);
-
-        input
-            .call(combobox)
-            .on('change', change)
-            .on('blur', change)
-            .each(function() {
-                if (field.options) {
-                    options(field.options);
-                } else {
-                    iD.taginfo().values({
-                        key: field.key
-                    }, function(err, data) {
-                        if (!err) options(_.pluck(data, 'value'));
-                    });
-                }
-            });
-
-        function options(opts) {
-            combobox.data(opts.map(function(d) {
-                var o = {};
-                o.title = o.value = d.replace(/_+/g, ' ');
-                return o;
-            }));
-
-            input.attr('placeholder', field.placeholder() ||
-                (opts.length < 3 ? '' : opts.slice(0, 3).join(', ') + '...'));
-        }
-    }
-
-    function change() {
-        var value = input.value()
-            .split(';')
-            .map(function(s) { return s.trim(); })
-            .join(';')
-            .replace(/\s+/g, '_');
-
-        if (field.type === 'typeCombo' && !value) value = 'yes';
-
-        var t = {};
-        t[field.key] = value || undefined;
-        event.change(t);
-    }
-
-    combo.tags = function(tags) {
-        var value = tags[field.key] || '';
-        if (field.type === 'typeCombo' && value === 'yes') value = '';
-        input.value(value);
-    };
-
-    combo.focus = function() {
-        input.node().focus();
-    };
-
-    return d3.rebind(combo, event, 'on');
-};
-iD.ui.preset.text =
-iD.ui.preset.number =
-iD.ui.preset.tel =
-iD.ui.preset.email =
-iD.ui.preset.url = function(field) {
-
-    var event = d3.dispatch('change'),
-        input;
-
-    function i(selection) {
-        input = selection.selectAll('input')
-            .data([0]);
-
-        input.enter().append('input')
-            .attr('type', field.type)
-            .attr('id', 'preset-input-' + field.id)
-            .attr('placeholder', field.placeholder() || t('inspector.unknown'));
-
-        input
-            .on('blur', change)
-            .on('change', change);
-
-        if (field.type === 'number') {
-            input.attr('type', 'text');
-
-            var spinControl = selection.selectAll('.spin-control')
-                .data([0]);
-
-            var enter = spinControl.enter().append('div')
-                .attr('class', 'spin-control');
-
-            enter.append('button')
-                .datum(1)
-                .attr('class', 'increment');
-
-            enter.append('button')
-                .datum(-1)
-                .attr('class', 'decrement');
-
-            spinControl.selectAll('button')
-                .on('click', function(d) {
-                    d3.event.preventDefault();
-                    var num = parseInt(input.node().value || 0, 10);
-                    if (!isNaN(num)) input.node().value = num + d;
-                    change();
-                });
-        }
-    }
-
-    function change() {
-        var t = {};
-        t[field.key] = input.value() || undefined;
-        event.change(t);
-    }
-
-    i.tags = function(tags) {
-        input.value(tags[field.key] || '');
-    };
-
-    i.focus = function() {
-        input.node().focus();
-    };
-
-    return d3.rebind(i, event, 'on');
-};
-iD.ui.preset.localized = function(field, context) {
-
-    var event = d3.dispatch('change'),
-        wikipedia = iD.wikipedia(),
-        input, localizedInputs, wikiTitles,
-        entity;
-
-    function i(selection) {
-        input = selection.selectAll('.localized-main')
-            .data([0]);
-
-        input.enter().append('input')
-            .attr('type', 'text')
-            .attr('id', 'preset-input-' + field.id)
-            .attr('class', 'localized-main')
-            .attr('placeholder', field.placeholder());
-
-        if (field.id === 'name') {
-            var preset = context.presets().match(entity, context.graph());
-            input.call(d3.combobox().fetcher(
-                iD.util.SuggestNames(preset, iD.data.suggestions)
-            ));
-        }
-
-        input
-            .on('blur', change)
-            .on('change', change);
-
-        var translateButton = selection.selectAll('.localized-add')
-            .data([0]);
-
-        translateButton.enter().append('button')
-            .attr('class', 'button-input-action localized-add minor')
-            .call(bootstrap.tooltip()
-                .title(t('translate.translate'))
-                .placement('left'))
-            .append('span')
-            .attr('class', 'icon plus');
-
-        translateButton
-            .on('click', addBlank);
-
-        localizedInputs = selection.selectAll('.localized-wrap')
-            .data([0]);
-
-        localizedInputs.enter().append('div')
-            .attr('class', 'localized-wrap');
-    }
-
-    function addBlank() {
-        d3.event.preventDefault();
-        var data = localizedInputs.selectAll('div.entry').data();
-        data.push({ lang: '', value: '' });
-        localizedInputs.call(render, data);
-    }
-
-    function change() {
-        var t = {};
-        t[field.key] = d3.select(this).value() || undefined;
-        event.change(t);
-    }
-
-    function key(lang) { return field.key + ':' + lang; }
-
-    function changeLang(d) {
-        var lang = d3.select(this).value(),
-            t = {},
-            language = _.find(iD.data.wikipedia, function(d) {
-                return d[0].toLowerCase() === lang.toLowerCase() ||
-                    d[1].toLowerCase() === lang.toLowerCase();
-            });
-
-        if (language) lang = language[2];
-
-        if (d.lang && d.lang !== lang) {
-            t[key(d.lang)] = undefined;
-        }
-
-        var value = d3.select(this.parentNode)
-            .selectAll('.localized-value')
-            .value();
-
-        if (lang && value) {
-            t[key(lang)] = value;
-        } else if (lang && wikiTitles && wikiTitles[d.lang]) {
-            t[key(lang)] = wikiTitles[d.lang];
-        }
-
-        d.lang = lang;
-        event.change(t);
-    }
-
-    function changeValue(d) {
-        if (!d.lang) return;
-        var t = {};
-        t[key(d.lang)] = d3.select(this).value() || undefined;
-        event.change(t);
-    }
-
-    function fetcher(value, cb) {
-        var v = value.toLowerCase();
-
-        cb(iD.data.wikipedia.filter(function(d) {
-            return d[0].toLowerCase().indexOf(v) >= 0 ||
-            d[1].toLowerCase().indexOf(v) >= 0 ||
-            d[2].toLowerCase().indexOf(v) >= 0;
-        }).map(function(d) {
-            return { value: d[1] };
-        }));
-    }
-
-    function render(selection, data) {
-        var wraps = selection.selectAll('div.entry').
-            data(data, function(d) { return d.lang; });
-
-        var innerWrap = wraps.enter()
-            .insert('div', ':first-child');
-
-        innerWrap.attr('class', 'entry')
-            .each(function() {
-                var wrap = d3.select(this);
-                var langcombo = d3.combobox().fetcher(fetcher);
-
-                var label = wrap.append('label')
-                    .attr('class','form-label')
-                    .text(t('translate.localized_translation_label'))
-                    .attr('for','localized-lang');
-
-                label.append('button')
-                    .attr('class', 'minor remove')
-                    .on('click', function(d){
-                        d3.event.preventDefault();
-                        var t = {};
-                        t[key(d.lang)] = undefined;
-                        event.change(t);
-                        d3.select(this.parentNode.parentNode)
-                            .style('top','0')
-                            .style('max-height','240px')
-                            .transition()
-                            .style('opacity', '0')
-                            .style('max-height','0px')
-                            .remove();
-                    })
-                    .append('span').attr('class', 'icon delete');
-
-                wrap.append('input')
-                    .attr('class', 'localized-lang')
-                    .attr('type', 'text')
-                    .attr('placeholder',t('translate.localized_translation_language'))
-                    .on('blur', changeLang)
-                    .on('change', changeLang)
-                    .call(langcombo);
-
-                wrap.append('input')
-                    .on('blur', changeValue)
-                    .on('change', changeValue)
-                    .attr('type', 'text')
-                    .attr('placeholder', t('translate.localized_translation_name'))
-                    .attr('class', 'localized-value');
-            });
-
-        innerWrap
-            .style('margin-top', '0px')
-            .style('max-height', '0px')
-            .style('opacity', '0')
-            .transition()
-            .duration(200)
-            .style('margin-top', '10px')
-            .style('max-height', '240px')
-            .style('opacity', '1')
-            .each('end', function() {
-                d3.select(this)
-                    .style('max-height', '')
-                    .style('overflow', 'visible');
-            });
-
-        wraps.exit()
-            .transition()
-            .duration(200)
-            .style('max-height','0px')
-            .style('opacity', '0')
-            .style('top','-10px')
-            .remove();
-
-        var entry = selection.selectAll('.entry');
-
-        entry.select('.localized-lang')
-            .value(function(d) {
-                var lang = _.find(iD.data.wikipedia, function(lang) { return lang[2] === d.lang; });
-                return lang ? lang[1] : d.lang;
-            });
-
-        entry.select('.localized-value')
-            .value(function(d) { return d.value; });
-    }
-
-    i.tags = function(tags) {
-
-        // Fetch translations from wikipedia
-        if (tags.wikipedia && !wikiTitles) {
-            wikiTitles = {};
-            var wm = tags.wikipedia.match(/([^:]+):(.+)/);
-            if (wm && wm[0] && wm[1]) {
-                wikipedia.translations(wm[1], wm[2], function(d) {
-                    wikiTitles = d;
-                });
-            }
-        }
-
-        input.value(tags[field.key] || '');
-
-        var postfixed = [];
-        for (var i in tags) {
-            var m = i.match(new RegExp(field.key + ':([a-zA-Z_-]+)$'));
-            if (m && m[1]) {
-                postfixed.push({ lang: m[1], value: tags[i]});
-            }
-        }
-
-        localizedInputs.call(render, postfixed.reverse());
-    };
-
-    i.focus = function() {
-        input.node().focus();
-    };
-
-    i.entity = function(_) {
-        entity = _;
-    };
-
-    return d3.rebind(i, event, 'on');
-};
-iD.ui.preset.maxspeed = function(field, context) {
-
-    var event = d3.dispatch('change'),
-        entity,
-        imperial,
-        unitInput,
-        combobox,
-        input;
-
-    var metricValues = [20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120],
-        imperialValues = [20, 25, 30, 35, 40, 45, 50, 55, 65, 70];
-
-    function maxspeed(selection) {
-        combobox = d3.combobox();
-        var unitCombobox = d3.combobox().data(['km/h', 'mph'].map(comboValues));
-
-        input = selection.selectAll('#preset-input-' + field.id)
-            .data([0]);
-
-        input.enter().append('input')
-            .attr('type', 'text')
-            .attr('id', 'preset-input-' + field.id)
-            .attr('placeholder', field.placeholder());
-
-        input
-            .call(combobox)
-            .on('change', change)
-            .on('blur', change);
-
-        var childNodes = context.graph().childNodes(context.entity(entity.id)),
-            loc = childNodes[~~(childNodes.length/2)].loc;
-
-        imperial = _.any(iD.data.imperial.features, function(f) {
-            return _.any(f.geometry.coordinates, function(d) {
-                return iD.geo.pointInPolygon(loc, d[0]);
-            });
-        });
-
-        unitInput = selection.selectAll('input.maxspeed-unit')
-            .data([0]);
-
-        unitInput.enter().append('input')
-            .attr('type', 'text')
-            .attr('class', 'maxspeed-unit');
-
-        unitInput
-            .on('blur', changeUnits)
-            .on('change', changeUnits)
-            .call(unitCombobox);
-
-        function changeUnits() {
-            imperial = unitInput.value() === 'mph';
-            unitInput.value(imperial ? 'mph' : 'km/h');
-            setSuggestions();
-            change();
-        }
-
-    }
-
-    function setSuggestions() {
-        combobox.data((imperial ? imperialValues : metricValues).map(comboValues));
-        unitInput.value(imperial ? 'mph' : 'km/h');
-    }
-
-    function comboValues(d) {
-        return {
-            value: d.toString(),
-            title: d.toString()
-        };
-    }
-
-    function change() {
-        var tag = {},
-            value = input.value();
-
-        if (!value) {
-            tag[field.key] = undefined;
-        } else if (isNaN(value) || !imperial) {
-            tag[field.key] = value;
-        } else {
-            tag[field.key] = value + ' mph';
-        }
-
-        event.change(tag);
-    }
-
-    maxspeed.tags = function(tags) {
-        var value = tags[field.key];
-
-        if (value && value.indexOf('mph') >= 0) {
-            value = parseInt(value, 10);
-            imperial = true;
-        } else if (value) {
-            imperial = false;
-        }
-
-        setSuggestions();
-
-        input.value(value || '');
-    };
-
-    maxspeed.focus = function() {
-        input.node().focus();
-    };
-
-    maxspeed.entity = function(_) {
-        entity = _;
-    };
-
-    return d3.rebind(maxspeed, event, 'on');
-};
-iD.ui.preset.radio = function(field) {
-
-    var event = d3.dispatch('change'),
-        labels, radios, placeholder;
-
-    function radio(selection) {
-        selection.classed('preset-radio', true);
-
-        var wrap = selection.selectAll('.preset-input-wrap')
-            .data([0]);
-
-        var buttonWrap = wrap.enter().append('div')
-            .attr('class', 'preset-input-wrap toggle-list');
-
-        buttonWrap.append('span')
-            .attr('class', 'placeholder');
-
-        placeholder = selection.selectAll('.placeholder');
-
-        labels = wrap.selectAll('label')
-            .data(field.options || field.keys);
-
-        var enter = labels.enter().append('label');
-
-        enter.append('input')
-            .attr('type', 'radio')
-            .attr('name', field.id)
-            .attr('value', function(d) { return field.t('options.' + d, { 'default': d }); })
-            .attr('checked', false);
-
-        enter.append('span')
-            .text(function(d) { return field.t('options.' + d, { 'default': d }); });
-
-        radios = labels.selectAll('input')
-            .on('change', change);
-    }
-
-    function change() {
-        var t = {};
-        if (field.key) t[field.key] = undefined;
-        radios.each(function(d) {
-            var active = d3.select(this).property('checked');
-            if (field.key) {
-                if (active) t[field.key] = d;
-            } else {
-                t[d] = active ? 'yes' : undefined;
-            }
-        });
-        event.change(t);
-    }
-
-    radio.tags = function(tags) {
-        function checked(d) {
-            if (field.key) {
-                return tags[field.key] === d;
-            } else {
-                return !!(tags[d] && tags[d] !== 'no');
-            }
-        }
-
-        labels.classed('active', checked);
-        radios.property('checked', checked);
-        var selection = radios.filter(function() { return this.checked; });
-        if (selection.empty()) {
-            placeholder.text(t('inspector.none'));
-        } else {
-            placeholder.text(selection.attr('value'));
-        }
-    };
-
-    radio.focus = function() {
-        radios.node().focus();
-    };
-
-    return d3.rebind(radio, event, 'on');
-};
-iD.ui.preset.restrictions = function(field, context) {
-    var event = d3.dispatch('change'),
-        vertexID,
-        fromNodeID;
-
-    function restrictions(selection) {
-        var wrap = selection.selectAll('.preset-input-wrap')
-            .data([0]);
-
-        var enter = wrap.enter().append('div')
-            .attr('class', 'preset-input-wrap');
-
-        enter.append('div')
-            .attr('class', 'restriction-help');
-
-        enter.append('svg')
-            .call(iD.svg.Surface(context))
-            .call(iD.behavior.Hover(context));
-
-        var intersection = iD.geo.Intersection(context.graph(), vertexID),
-            graph = intersection.graph,
-            vertex = graph.entity(vertexID),
-            surface = wrap.selectAll('svg'),
-            filter = function () { return true; },
-            extent = iD.geo.Extent(),
-            projection = iD.geo.RawMercator(),
-            lines = iD.svg.Lines(projection, context),
-            vertices = iD.svg.Vertices(projection, context),
-            turns = iD.svg.Turns(projection, context);
-
-        var d = wrap.dimensions(),
-            c = [d[0] / 2, d[1] / 2],
-            z = 21;
-
-        projection
-            .scale(256 * Math.pow(2, z) / (2 * Math.PI));
-
-        var s = projection(vertex.loc);
-
-        projection
-            .translate([c[0] - s[0], c[1] - s[1]])
-            .clipExtent([[0, 0], d]);
-
-        surface
-            .call(vertices, graph, [vertex], filter, extent, z)
-            .call(lines, graph, intersection.highways, filter)
-            .call(turns, graph, intersection.turns(fromNodeID));
-
-        surface
-            .on('click.restrictions', click)
-            .on('mouseover.restrictions', mouseover)
-            .on('mouseout.restrictions', mouseout);
-
-        surface
-            .selectAll('.selected')
-            .classed('selected', false);
-
-        if (fromNodeID) {
-            surface
-                .selectAll('.' + _.find(intersection.highways, function(way) { return way.contains(fromNodeID); }).id)
-                .classed('selected', true);
-        }
-
-        mouseout();
-
-        context.history()
-            .on('change.restrictions', render);
-
-        d3.select(window)
-            .on('resize.restrictions', render);
-
-        function click() {
-            var datum = d3.event.target.__data__;
-            if (datum instanceof iD.Entity) {
-                fromNodeID = datum.nodes[(datum.first() === vertexID) ? 1 : datum.nodes.length - 2];
-                render();
-            } else if (datum instanceof iD.geo.Turn) {
-                if (datum.restriction) {
-                    context.perform(
-                        iD.actions.UnrestrictTurn(datum, projection),
-                        t('operations.restriction.annotation.delete'));
-                } else {
-                    context.perform(
-                        iD.actions.RestrictTurn(datum, projection),
-                        t('operations.restriction.annotation.create'));
-                }
-            }
-        }
-
-        function mouseover() {
-            var datum = d3.event.target.__data__;
-            if (datum instanceof iD.geo.Turn) {
-                var graph = context.graph(),
-                    presets = context.presets(),
-                    preset;
-
-                if (datum.restriction) {
-                    preset = presets.match(graph.entity(datum.restriction), graph);
-                } else {
-                    preset = presets.item('type/restriction/' +
-                        iD.geo.inferRestriction(
-                            graph.entity(datum.from.node),
-                            graph.entity(datum.via.node),
-                            graph.entity(datum.to.node),
-                            projection));
-                }
-
-                wrap.selectAll('.restriction-help')
-                    .text(t('operations.restriction.help.' +
-                        (datum.restriction ? 'toggle_off' : 'toggle_on'),
-                        {restriction: preset.name()}));
-            }
-        }
-
-        function mouseout() {
-            wrap.selectAll('.restriction-help')
-                .text(t('operations.restriction.help.' +
-                    (fromNodeID ? 'toggle' : 'select')));
-        }
-
-        function render() {
-            if (context.hasEntity(vertexID)) {
-                restrictions(selection);
-            }
-        }
-    }
-
-    restrictions.entity = function(_) {
-        if (!vertexID || vertexID !== _.id) {
-            fromNodeID = null;
-            vertexID = _.id;
-        }
-    };
-
-    restrictions.tags = function() {};
-    restrictions.focus = function() {};
-
-    return d3.rebind(restrictions, event, 'on');
-};
-iD.ui.preset.textarea = function(field) {
-
-    var event = d3.dispatch('change'),
-        input;
-
-    function i(selection) {
-        input = selection.selectAll('textarea')
-            .data([0]);
-
-        input.enter().append('textarea')
-            .attr('id', 'preset-input-' + field.id)
-            .attr('placeholder', field.placeholder() || t('inspector.unknown'))
-            .attr('maxlength', 255);
-
-        input
-            .on('blur', change)
-            .on('change', change);
-    }
-
-    function change() {
-        var t = {};
-        t[field.key] = input.value() || undefined;
-        event.change(t);
-    }
-
-    i.tags = function(tags) {
-        input.value(tags[field.key] || '');
-    };
-
-    i.focus = function() {
-        input.node().focus();
-    };
-
-    return d3.rebind(i, event, 'on');
-};
-iD.ui.preset.wikipedia = function(field, context) {
-
-    var event = d3.dispatch('change'),
-        wikipedia = iD.wikipedia(),
-        link, entity, lang, title;
-
-    function i(selection) {
-
-        var langcombo = d3.combobox()
-            .fetcher(function(value, cb) {
-                var v = value.toLowerCase();
-
-                cb(iD.data.wikipedia.filter(function(d) {
-                    return d[0].toLowerCase().indexOf(v) >= 0 ||
-                        d[1].toLowerCase().indexOf(v) >= 0 ||
-                        d[2].toLowerCase().indexOf(v) >= 0;
-                }).map(function(d) {
-                    return { value: d[1] };
-                }));
-            });
-
-        var titlecombo = d3.combobox()
-            .fetcher(function(value, cb) {
-
-                if (!value) value = context.entity(entity.id).tags.name || '';
-                var searchfn = value.length > 7 ? wikipedia.search : wikipedia.suggestions;
-
-                searchfn(language()[2], value, function(query, data) {
-                    cb(data.map(function(d) {
-                        return { value: d };
-                    }));
-                });
-            });
-
-        lang = selection.selectAll('input.wiki-lang')
-            .data([0]);
-
-        lang.enter().append('input')
-            .attr('type', 'text')
-            .attr('class', 'wiki-lang')
-            .value('English');
-
-        lang
-            .call(langcombo)
-            .on('blur', changeLang)
-            .on('change', changeLang);
-
-        title = selection.selectAll('input.wiki-title')
-            .data([0]);
-
-        title.enter().append('input')
-            .attr('type', 'text')
-            .attr('class', 'wiki-title')
-            .attr('id', 'preset-input-' + field.id);
-
-        title
-            .call(titlecombo)
-            .on('blur', change)
-            .on('change', change);
-
-        link = selection.selectAll('a.wiki-link')
-            .data([0]);
-
-        link.enter().append('a')
-            .attr('class', 'wiki-link button-input-action minor')
-            .attr('target', '_blank')
-            .append('span')
-            .attr('class', 'icon out-link');
-    }
-
-    function language() {
-        var value = lang.value().toLowerCase();
-        return _.find(iD.data.wikipedia, function(d) {
-            return d[0].toLowerCase() === value ||
-                d[1].toLowerCase() === value ||
-                d[2].toLowerCase() === value;
-        }) || iD.data.wikipedia[0];
-    }
-
-    function changeLang() {
-        lang.value(language()[1]);
-        change();
-    }
-
-    function change() {
-        var value = title.value(),
-            m = value.match(/https?:\/\/([a-z]+)\.wikipedia\.org\/wiki\/(.+)/),
-            l = m && _.find(iD.data.wikipedia, function(d) { return m[1] === d[2]; });
-
-        if (l) {
-            // Normalize title http://www.mediawiki.org/wiki/API:Query#Title_normalization
-            value = m[2].replace(/_/g, ' ');
-            value = value.slice(0, 1).toUpperCase() + value.slice(1);
-            lang.value(l[1]);
-            title.value(value);
-        }
-
-        var t = {};
-        t[field.key] = value ? language()[2] + ':' + value : undefined;
-        event.change(t);
-    }
-
-    i.tags = function(tags) {
-        var value = tags[field.key] || '',
-            m = value.match(/([^:]+):(.+)/),
-            l = m && _.find(iD.data.wikipedia, function(d) { return m[1] === d[2]; });
-
-        // value in correct format
-        if (l) {
-            lang.value(l[1]);
-            title.value(m[2]);
-            link.attr('href', 'http://' + m[1] + '.wikipedia.org/wiki/' + m[2]);
-
-        // unrecognized value format
-        } else {
-            title.value(value);
-            link.attr('href', 'http://en.wikipedia.org/wiki/Special:Search?search=' + value);
-        }
-    };
-
-    i.entity = function(_) {
-        entity = _;
-    };
-
-    i.focus = function() {
-        title.node().focus();
-    };
-
-    return d3.rebind(i, event, 'on');
-};
-iD.ui.intro.area = function(context, reveal) {
-
-    var event = d3.dispatch('done'),
-        timeout;
-
-    var step = {
-        title: 'intro.areas.title'
-    };
-
-    step.enter = function() {
-
-        var playground = [-85.63552, 41.94159],
-            corner = [-85.63565411045074, 41.9417715536927];
-        context.map().centerZoom(playground, 19);
-        reveal('button.add-area', t('intro.areas.add'), {tooltipClass: 'intro-areas-add'});
-
-        context.on('enter.intro', addArea);
-
-        function addArea(mode) {
-            if (mode.id !== 'add-area') return;
-            context.on('enter.intro', drawArea);
-
-            var padding = 120 * Math.pow(2, context.map().zoom() - 19);
-            var pointBox = iD.ui.intro.pad(corner, padding, context);
-            reveal(pointBox, t('intro.areas.corner'));
-
-            context.map().on('move.intro', function() {
-                padding = 120 * Math.pow(2, context.map().zoom() - 19);
-                pointBox = iD.ui.intro.pad(corner, padding, context);
-                reveal(pointBox, t('intro.areas.corner'), {duration: 0});
-            });
-        }
-
-        function drawArea(mode) {
-            if (mode.id !== 'draw-area') return;
-            context.on('enter.intro', enterSelect);
-
-            var padding = 150 * Math.pow(2, context.map().zoom() - 19);
-            var pointBox = iD.ui.intro.pad(playground, padding, context);
-            reveal(pointBox, t('intro.areas.place'));
-
-            context.map().on('move.intro', function() {
-                padding = 150 * Math.pow(2, context.map().zoom() - 19);
-                pointBox = iD.ui.intro.pad(playground, padding, context);
-                reveal(pointBox, t('intro.areas.place'), {duration: 0});
-            });
-        }
-
-        function enterSelect(mode) {
-            if (mode.id !== 'select') return;
-            context.map().on('move.intro', null);
-            context.on('enter.intro', null);
-
-            timeout = setTimeout(function() {
-                reveal('.preset-search-input', t('intro.areas.search', {name: context.presets().item('leisure/playground').name()}));
-                d3.select('.preset-search-input').on('keyup.intro', keySearch);
-            }, 500);
-        }
-
-        function keySearch() {
-            var first = d3.select('.preset-list-item:first-child');
-            if (first.classed('preset-leisure-playground')) {
-                reveal(first.select('.preset-list-button').node(), t('intro.areas.choose'));
-                d3.selection.prototype.one.call(context.history(), 'change.intro', selectedPreset);
-                d3.select('.preset-search-input').on('keyup.intro', null);
-            }
-        }
-
-        function selectedPreset() {
-            reveal('.pane', t('intro.areas.describe'));
-            context.on('exit.intro', event.done);
-        }
-    };
-
-    step.exit = function() {
-        window.clearTimeout(timeout);
-        context.on('enter.intro', null);
-        context.on('exit.intro', null);
-        context.history().on('change.intro', null);
-        context.map().on('move.intro', null);
-        d3.select('.preset-search-input').on('keyup.intro', null);
-    };
-
-    return d3.rebind(step, event, 'on');
-};
-iD.ui.intro.line = function(context, reveal) {
-
-    var event = d3.dispatch('done'),
-        timeouts = [];
-
-    var step = {
-        title: 'intro.lines.title'
-    };
-
-    function timeout(f, t) {
-        timeouts.push(window.setTimeout(f, t));
-    }
-
-    step.enter = function() {
-
-        var centroid = [-85.62830, 41.95699];
-        var midpoint = [-85.62975395449628, 41.95787501510204];
-        var start = [-85.6297754121684, 41.95805253325314];
-        var intersection = [-85.62974496187628, 41.95742515554585];
-
-        context.map().centerZoom(start, 18);
-        reveal('button.add-line', t('intro.lines.add'), {tooltipClass: 'intro-lines-add'});
-
-        context.on('enter.intro', addLine);
-
-        function addLine(mode) {
-            if (mode.id !== 'add-line') return;
-            context.on('enter.intro', drawLine);
-
-            var padding = 150 * Math.pow(2, context.map().zoom() - 18);
-            var pointBox = iD.ui.intro.pad(start, padding, context);
-            reveal(pointBox, t('intro.lines.start'));
-
-            context.map().on('move.intro', function() {
-                padding = 150 * Math.pow(2, context.map().zoom() - 18);
-                pointBox = iD.ui.intro.pad(start, padding, context);
-                reveal(pointBox, t('intro.lines.start'), {duration: 0});
-            });
-        }
-
-        function drawLine(mode) {
-            if (mode.id !== 'draw-line') return;
-            context.history().on('change.intro', addIntersection);
-            context.on('enter.intro', retry);
-
-            var padding = 300 * Math.pow(2, context.map().zoom() - 19);
-            var pointBox = iD.ui.intro.pad(midpoint, padding, context);
-            reveal(pointBox, t('intro.lines.intersect'));
-
-            context.map().on('move.intro', function() {
-                padding = 300 * Math.pow(2, context.map().zoom() - 19);
-                pointBox = iD.ui.intro.pad(midpoint, padding, context);
-                reveal(pointBox, t('intro.lines.intersect'), {duration: 0});
-            });
-        }
-
-        // ended line before creating intersection
-        function retry(mode) {
-            if (mode.id !== 'select') return;
-            var pointBox = iD.ui.intro.pad(intersection, 30, context);
-            reveal(pointBox, t('intro.lines.restart'));
-            timeout(function() {
-                context.replace(iD.actions.DeleteMultiple(mode.selectedIDs()));
-                step.exit();
-                step.enter();
-            }, 3000);
-        }
-
-        function addIntersection(changes) {
-            if ( _.any(changes.created(), function(d) {
-                return d.type === 'node' && context.graph().parentWays(d).length > 1;
-            })) {
-                context.history().on('change.intro', null);
-                context.on('enter.intro', enterSelect);
-
-                var padding = 900 * Math.pow(2, context.map().zoom() - 19);
-                var pointBox = iD.ui.intro.pad(centroid, padding, context);
-                reveal(pointBox, t('intro.lines.finish'));
-
-                context.map().on('move.intro', function() {
-                    padding = 900 * Math.pow(2, context.map().zoom() - 19);
-                    pointBox = iD.ui.intro.pad(centroid, padding, context);
-                    reveal(pointBox, t('intro.lines.finish'), {duration: 0});
-                });
-            }
-        }
-
-        function enterSelect(mode) {
-            if (mode.id !== 'select') return;
-            context.map().on('move.intro', null);
-            context.on('enter.intro', null);
-            d3.select('#curtain').style('pointer-events', 'all');
-
-            presetCategory();
-        }
-
-        function presetCategory() {
-            timeout(function() {
-                d3.select('#curtain').style('pointer-events', 'none');
-                var road = d3.select('.preset-category-road .preset-list-button');
-                reveal(road.node(), t('intro.lines.road'));
-                road.one('click.intro', roadCategory);
-            }, 500);
-        }
-
-        function roadCategory() {
-            timeout(function() {
-                var grid = d3.select('.subgrid');
-                reveal(grid.node(), t('intro.lines.residential'));
-                grid.selectAll(':not(.preset-highway-residential) .preset-list-button')
-                    .one('click.intro', retryPreset);
-                grid.selectAll('.preset-highway-residential .preset-list-button')
-                    .one('click.intro', roadDetails);
-            }, 500);
-        }
-
-        // selected wrong road type
-        function retryPreset() {
-            timeout(function() {
-                var preset = d3.select('.entity-editor-pane .preset-list-button');
-                reveal(preset.node(), t('intro.lines.wrong_preset'));
-                preset.one('click.intro', presetCategory);
-            }, 500);
-        }
-
-        function roadDetails() {
-            reveal('.pane', t('intro.lines.describe'));
-            context.on('exit.intro', event.done);
-        }
-
-    };
-
-    step.exit = function() {
-        d3.select('#curtain').style('pointer-events', 'none');
-        timeouts.forEach(window.clearTimeout);
-        context.on('enter.intro', null);
-        context.on('exit.intro', null);
-        context.map().on('move.intro', null);
-        context.history().on('change.intro', null);
-    };
-
-    return d3.rebind(step, event, 'on');
-};
-iD.ui.intro.navigation = function(context, reveal) {
-
-    var event = d3.dispatch('done'),
-        timeouts = [];
-
-    var step = {
-        title: 'intro.navigation.title'
-    };
-
-    function set(f, t) {
-        timeouts.push(window.setTimeout(f, t));
-    }
-
-    /*
-     * Steps:
-     * Drag map
-     * Select poi
-     * Show editor header
-     * Show editor pane
-     * Select road
-     * Show header
-     */
-
-    step.enter = function() {
-
-        var rect = context.surfaceRect(),
-            map = {
-                left: rect.left + 10,
-                top: rect.top + 70,
-                width: rect.width - 70,
-                height: rect.height - 170
-            };
-
-        context.map().centerZoom([-85.63591, 41.94285], 19);
-
-        reveal(map, t('intro.navigation.drag'));
-
-        context.map().on('move.intro', _.debounce(function() {
-            context.map().on('move.intro', null);
-            townhall();
-            context.on('enter.intro', inspectTownHall);
-        }, 400));
-
-        function townhall() {
-            var hall = [-85.63645945147184, 41.942986488012565];
-
-            var point = context.projection(hall);
-            if (point[0] < 0 || point[0] > rect.width ||
-                point[1] < 0 || point[1] > rect.height) {
-                context.map().center(hall);
-            }
-
-            var box = iD.ui.intro.pointBox(hall, context);
-            reveal(box, t('intro.navigation.select'));
-
-            context.map().on('move.intro', function() {
-                var box = iD.ui.intro.pointBox(hall, context);
-                reveal(box, t('intro.navigation.select'), {duration: 0});
-            });
-        }
-
-        function inspectTownHall(mode) {
-            if (mode.id !== 'select') return;
-            context.on('enter.intro', null);
-            context.map().on('move.intro', null);
-            set(function() {
-                reveal('.entity-editor-pane', t('intro.navigation.pane'));
-                context.on('exit.intro', event.done);
-            }, 700);
-        }
-
-    };
-
-    step.exit = function() {
-        context.map().on('move.intro', null);
-        context.on('enter.intro', null);
-        context.on('exit.intro', null);
-        timeouts.forEach(window.clearTimeout);
-    };
-
-    return d3.rebind(step, event, 'on');
-};
-iD.ui.intro.point = function(context, reveal) {
-
-    var event = d3.dispatch('done'),
-        timeouts = [];
-
-    var step = {
-        title: 'intro.points.title'
-    };
-
-    function setTimeout(f, t) {
-        timeouts.push(window.setTimeout(f, t));
-    }
-
-    step.enter = function() {
-
-        context.map().centerZoom([-85.63279, 41.94394], 19);
-        reveal('button.add-point', t('intro.points.add'), {tooltipClass: 'intro-points-add'});
-
-        var corner = [-85.632481,41.944094];
-
-        context.on('enter.intro', addPoint);
-
-        function addPoint(mode) {
-            if (mode.id !== 'add-point') return;
-            context.on('enter.intro', enterSelect);
-
-            var pointBox = iD.ui.intro.pad(corner, 150, context);
-            reveal(pointBox, t('intro.points.place'));
-
-            context.map().on('move.intro', function() {
-                pointBox = iD.ui.intro.pad(corner, 150, context);
-                reveal(pointBox, t('intro.points.place'), {duration: 0});
-            });
-
-        }
-
-        function enterSelect(mode) {
-            if (mode.id !== 'select') return;
-            context.map().on('move.intro', null);
-            context.on('enter.intro', null);
-
-            setTimeout(function() {
-                reveal('.preset-search-input', t('intro.points.search', {name: context.presets().item('amenity/cafe').name()}));
-                d3.select('.preset-search-input').on('keyup.intro', keySearch);
-            }, 500);
-        }
-
-        function keySearch() {
-            var first = d3.select('.preset-list-item:first-child');
-            if (first.classed('preset-amenity-cafe')) {
-                reveal(first.select('.preset-list-button').node(), t('intro.points.choose'));
-                d3.selection.prototype.one.call(context.history(), 'change.intro', selectedPreset);
-
-                d3.select('.preset-search-input').on('keydown.intro', function() {
-                    // Prevent search from updating and changing the grid
-                    d3.event.stopPropagation();
-                    d3.event.preventDefault();
-                }, true).on('keyup.intro', null);
-            }
-        }
-
-        function selectedPreset() {
-            setTimeout(function() {
-                reveal('.entity-editor-pane', t('intro.points.describe'), {tooltipClass: 'intro-points-describe'});
-                context.history().on('change.intro', closeEditor);
-                context.on('exit.intro', selectPoint);
-            }, 400);
-        }
-
-        function closeEditor() {
-            d3.select('.preset-search-input').on('keydown.intro', null);
-            context.history().on('change.intro', null);
-            reveal('.entity-editor-pane', t('intro.points.close'));
-        }
-
-        function selectPoint() {
-            context.on('exit.intro', null);
-            context.history().on('change.intro', null);
-            context.on('enter.intro', enterReselect);
-
-            var pointBox = iD.ui.intro.pad(corner, 150, context);
-            reveal(pointBox, t('intro.points.reselect'));
-
-            context.map().on('move.intro', function() {
-                pointBox = iD.ui.intro.pad(corner, 150, context);
-                reveal(pointBox, t('intro.points.reselect'), {duration: 0});
-            });
-        }
-
-        function enterReselect(mode) {
-            if (mode.id !== 'select') return;
-            context.map().on('move.intro', null);
-            context.on('enter.intro', null);
-
-            setTimeout(function() {
-                reveal('.entity-editor-pane', t('intro.points.fixname'));
-                context.on('exit.intro', deletePoint);
-            }, 500);
-        }
-
-        function deletePoint() {
-            context.on('exit.intro', null);
-            context.on('enter.intro', enterDelete);
-
-            var pointBox = iD.ui.intro.pad(corner, 150, context);
-            reveal(pointBox, t('intro.points.reselect_delete'));
-
-            context.map().on('move.intro', function() {
-                pointBox = iD.ui.intro.pad(corner, 150, context);
-                reveal(pointBox, t('intro.points.reselect_delete'), {duration: 0});
-            });
-        }
-
-        function enterDelete(mode) {
-            if (mode.id !== 'select') return;
-            context.map().on('move.intro', null);
-            context.on('enter.intro', null);
-            context.on('exit.intro', deletePoint);
-            context.map().on('move.intro', deletePoint);
-            context.history().on('change.intro', deleted);
-
-            setTimeout(function() {
-                var node = d3.select('.radial-menu-item-delete').node();
-                var pointBox = iD.ui.intro.pad(node.getBoundingClientRect(), 50, context);
-                reveal(pointBox, t('intro.points.delete'));
-            }, 300);
-        }
-
-        function deleted(changed) {
-            if (changed.deleted().length) event.done();
-        }
-
-    };
-
-    step.exit = function() {
-        timeouts.forEach(window.clearTimeout);
-        context.on('exit.intro', null);
-        context.on('enter.intro', null);
-        context.map().on('move.intro', null);
-        context.history().on('change.intro', null);
-        d3.select('.preset-search-input').on('keyup.intro', null).on('keydown.intro', null);
-    };
-
-    return d3.rebind(step, event, 'on');
-};
-iD.ui.intro.startEditing = function(context, reveal) {
-
-    var event = d3.dispatch('done', 'startEditing'),
-        modal,
-        timeouts = [];
-
-    var step = {
-        title: 'intro.startediting.title'
-    };
-
-    function timeout(f, t) {
-        timeouts.push(window.setTimeout(f, t));
-    }
-
-    step.enter = function() {
-
-        reveal('.map-control.help-control', t('intro.startediting.help'));
-
-        timeout(function() {
-            reveal('#bar button.save', t('intro.startediting.save'));
-        }, 3500);
-
-        timeout(function() {
-            reveal('#surface');
-        }, 7000);
-
-        timeout(function() {
-            modal = iD.ui.modal(context.container());
-
-            modal.select('.modal')
-                .attr('class', 'modal-splash modal col6');
-
-            modal.selectAll('.close').remove();
-
-            var startbutton = modal.select('.content')
-                .attr('class', 'fillL')
-                    .append('button')
-                        .attr('class', 'modal-section huge-modal-button')
-                        .on('click', function() {
-                                modal.remove();
-                        });
-
-                startbutton.append('div')
-                    .attr('class','illustration');
-                startbutton.append('h2')
-                    .text(t('intro.startediting.start'));
-
-            event.startEditing();
-
-        }, 7500);
-    };
-
-    step.exit = function() {
-        if (modal) modal.remove();
-        timeouts.forEach(window.clearTimeout);
-    };
-
-    return d3.rebind(step, event, 'on');
-};
-iD.presets = function() {
-
-    // an iD.presets.Collection with methods for
-    // loading new data and returning defaults
-
-    var all = iD.presets.Collection([]),
-        defaults = { area: all, line: all, point: all, vertex: all, relation: all },
-        fields = {},
-        universal = [],
-        recent = iD.presets.Collection([]);
-
-    // Index of presets by (geometry, tag key).
-    var index = {
-        point: {},
-        vertex: {},
-        line: {},
-        area: {},
-        relation: {}
-    };
-
-    all.match = function(entity, resolver) {
-        var geometry = entity.geometry(resolver),
-            geometryMatches = index[geometry],
-            best = -1,
-            match;
-
-        for (var k in entity.tags) {
-            var keyMatches = geometryMatches[k];
-            if (!keyMatches) continue;
-
-            for (var i = 0; i < keyMatches.length; i++) {
-                var score = keyMatches[i].matchScore(entity);
-                if (score > best) {
-                    best = score;
-                    match = keyMatches[i];
-                }
-            }
-        }
-
-        return match || all.item(geometry);
-    };
-
-    all.load = function(d) {
-
-        if (d.fields) {
-            _.forEach(d.fields, function(d, id) {
-                fields[id] = iD.presets.Field(id, d);
-                if (d.universal) universal.push(fields[id]);
-            });
-        }
-
-        if (d.presets) {
-            _.forEach(d.presets, function(d, id) {
-                all.collection.push(iD.presets.Preset(id, d, fields));
-            });
-        }
-
-        if (d.categories) {
-            _.forEach(d.categories, function(d, id) {
-                all.collection.push(iD.presets.Category(id, d, all));
-            });
-        }
-
-        if (d.defaults) {
-            var getItem = _.bind(all.item, all);
-            defaults = {
-                area: iD.presets.Collection(d.defaults.area.map(getItem)),
-                line: iD.presets.Collection(d.defaults.line.map(getItem)),
-                point: iD.presets.Collection(d.defaults.point.map(getItem)),
-                vertex: iD.presets.Collection(d.defaults.vertex.map(getItem)),
-                relation: iD.presets.Collection(d.defaults.relation.map(getItem))
-            };
-        }
-
-        for (var i = 0; i < all.collection.length; i++) {
-            var preset = all.collection[i],
-                geometry = preset.geometry;
-
-            for (var j = 0; j < geometry.length; j++) {
-                var g = index[geometry[j]];
-                for (var k in preset.tags) {
-                    (g[k] = g[k] || []).push(preset);
-                }
-            }
-        }
-
-        return all;
-    };
-
-    all.field = function(id) {
-        return fields[id];
-    };
-
-    all.universal = function() {
-        return universal;
-    };
-
-    all.defaults = function(geometry, n) {
-        var rec = recent.matchGeometry(geometry).collection.slice(0, 4),
-            def = _.uniq(rec.concat(defaults[geometry].collection)).slice(0, n - 1);
-        return iD.presets.Collection(_.unique(rec.concat(def).concat(all.item(geometry))));
-    };
-
-    all.choose = function(preset) {
-        if (!preset.isFallback()) {
-            recent = iD.presets.Collection(_.unique([preset].concat(recent.collection)));
-        }
-        return all;
-    };
-
-    return all;
-};
-iD.presets.Category = function(id, category, all) {
-    category = _.clone(category);
-
-    category.id = id;
-
-    category.members = iD.presets.Collection(category.members.map(function(id) {
-        return all.item(id);
-    }));
-
-    category.matchGeometry = function(geometry) {
-        return category.geometry.indexOf(geometry) >= 0;
-    };
-
-    category.matchScore = function() { return -1; };
-
-    category.name = function() {
-        return t('presets.categories.' + id + '.name', {'default': id});
-    };
-
-    category.terms = function() {
-        return [];
-    };
-
-    return category;
-};
-iD.presets.Collection = function(collection) {
-
-    var maxSearchResults = 50,
-        maxSuggestionResults = 10;
-
-    var presets = {
-
-        collection: collection,
-
-        item: function(id) {
-            return _.find(collection, function(d) {
-                return d.id === id;
-            });
-        },
-
-        matchGeometry: function(geometry) {
-            return iD.presets.Collection(collection.filter(function(d) {
-                return d.matchGeometry(geometry);
-            }));
-        },
-
-        search: function(value, geometry) {
-            if (!value) return this;
-
-            value = value.toLowerCase();
-
-            var searchable = _.filter(collection, function(a) {
-                return a.searchable !== false && a.suggestion !== true;
-            }),
-            suggestions = _.filter(collection, function(a) {
-                return a.suggestion === true;
-            });
-
-            // matches value to preset.name
-            var leading_name = _.filter(searchable, function(a) {
-                    return leading(a.name().toLowerCase());
-                }).sort(function(a, b) {
-                    var i = a.name().toLowerCase().indexOf(value) - b.name().toLowerCase().indexOf(value);
-                    if (i === 0) return a.name().length - b.name().length;
-                    else return i;
-                });
-
-            // matches value to preset.terms values
-            var leading_terms = _.filter(searchable, function(a) {
-                return _.any(a.terms() || [], leading);
-            });
-
-            function leading(a) {
-                var index = a.indexOf(value);
-                return index === 0 || a[index - 1] === ' ';
-            }
-
-            // finds close matches to value in preset.name
-            var levenstein_name = searchable.map(function(a) {
-                    return {
-                        preset: a,
-                        dist: iD.util.editDistance(value, a.name().toLowerCase())
-                    };
-                }).filter(function(a) {
-                    return a.dist + Math.min(value.length - a.preset.name().length, 0) < 3;
-                }).sort(function(a, b) {
-                    return a.dist - b.dist;
-                }).map(function(a) {
-                    return a.preset;
-                });
-
-            // finds close matches to value in preset.terms
-            var leventstein_terms = _.filter(searchable, function(a) {
-                    return _.any(a.terms() || [], function(b) {
-                        return iD.util.editDistance(value, b) + Math.min(value.length - b.length, 0) < 3;
-                    });
-                });
-
-            function suggestionName(name) {
-                var nameArray = name.split(' - ');
-                if (nameArray.length > 1) {
-                    name = nameArray.slice(0, nameArray.length-1).join(' - ');
-                }
-                return name.toLowerCase();
-            }
-
-            var leading_suggestions = _.filter(suggestions, function(a) {
-                    return leading(suggestionName(a.name()));
-                }).sort(function(a, b) {
-                    a = suggestionName(a.name());
-                    b = suggestionName(b.name());
-                    var i = a.indexOf(value) - b.indexOf(value);
-                    if (i === 0) return a.length - b.length;
-                    else return i;
-                });
-
-            var leven_suggestions = suggestions.map(function(a) {
-                    return {
-                        preset: a,
-                        dist: iD.util.editDistance(value, suggestionName(a.name()))
-                    };
-                }).filter(function(a) {
-                    return a.dist + Math.min(value.length - suggestionName(a.preset.name()).length, 0) < 1;
-                }).sort(function(a, b) {
-                    return a.dist - b.dist;
-                }).map(function(a) {
-                    return a.preset;
-                });
-
-            var other = presets.item(geometry);
-
-            var results = leading_name.concat(
-                            leading_terms,
-                            leading_suggestions.slice(0, maxSuggestionResults+5),
-                            levenstein_name,
-                            leventstein_terms,
-                            leven_suggestions.slice(0, maxSuggestionResults)
-                        ).slice(0, maxSearchResults-1);
-
-            return iD.presets.Collection(_.unique(
-                    results.concat(other)
-                ));
-        }
-    };
-
-    return presets;
-};
-iD.presets.Field = function(id, field) {
-    field = _.clone(field);
-
-    field.id = id;
-
-    field.matchGeometry = function(geometry) {
-        return !field.geometry || field.geometry === geometry;
-    };
-
-    field.t = function(scope, options) {
-        return t('presets.fields.' + id + '.' + scope, options);
-    };
-
-    field.label = function() {
-        return field.t('label', {'default': id});
-    };
-
-    var placeholder = field.placeholder;
-    field.placeholder = function() {
-        return field.t('placeholder', {'default': placeholder});
-    };
-
-    return field;
-};
-iD.presets.Preset = function(id, preset, fields) {
-    preset = _.clone(preset);
-
-    preset.id = id;
-    preset.fields = (preset.fields || []).map(getFields);
-
-    function getFields(f) {
-        return fields[f];
-    }
-
-    preset.matchGeometry = function(geometry) {
-        return preset.geometry.indexOf(geometry) >= 0;
-    };
-
-    var matchScore = preset.matchScore || 1;
-    preset.matchScore = function(entity) {
-        var tags = preset.tags,
-            score = 0;
-
-        for (var t in tags) {
-            if (entity.tags[t] === tags[t]) {
-                score += matchScore;
-            } else if (tags[t] === '*' && t in entity.tags) {
-                score += matchScore / 2;
-            } else {
-                return -1;
-            }
-        }
-
-        return score;
-    };
-
-    preset.t = function(scope, options) {
-        return t('presets.presets.' + id + '.' + scope, options);
-    };
-
-    var name = preset.name;
-    preset.name = function() {
-        if (preset.suggestion) {
-            id = id.split('/');
-            id = id[0] + '/' + id[1];
-            return name + ' - ' + t('presets.presets.' + id + '.name');
-        }
-        return preset.t('name', {'default': name});
-    };
-
-    preset.terms = function() {
-        return preset.t('terms', {'default': ''}).split(',');
-    };
-
-    preset.isFallback = function() {
-        return Object.keys(preset.tags).length === 0;
-    };
-
-    preset.reference = function(geometry) {
-        var key = Object.keys(preset.tags)[0],
-            value = preset.tags[key];
-
-        if (geometry === 'relation' && key === 'type') {
-            return { rtype: value };
-        } else if (value === '*') {
-            return { key: key };
-        } else {
-            return { key: key, value: value };
-        }
-    };
-
-    var removeTags = preset.removeTags || preset.tags;
-    preset.removeTags = function(tags, geometry) {
-        tags = _.omit(tags, _.keys(removeTags));
-
-        for (var f in preset.fields) {
-            var field = preset.fields[f];
-            if (field.matchGeometry(geometry) && field['default'] === tags[field.key]) {
-                delete tags[field.key];
-            }
-        }
-
-        return tags;
-    };
-
-    var applyTags = preset.addTags || preset.tags;
-    preset.applyTags = function(tags, geometry) {
-        var k;
-
-        tags = _.clone(tags);
-
-        for (k in applyTags) {
-            if (applyTags[k] === '*') {
-                tags[k] = 'yes';
-            } else {
-                tags[k] = applyTags[k];
-            }
-        }
-
-        // Add area=yes if necessary
-        for (k in applyTags) {
-            if (geometry === 'area' && !(k in iD.areaKeys))
-                tags.area = 'yes';
-            break;
-        }
-
-        for (var f in preset.fields) {
-            var field = preset.fields[f];
-            if (field.matchGeometry(geometry) && field.key && !tags[field.key] && field['default']) {
-                tags[field.key] = field['default'];
-            }
-        }
-
-        return tags;
-    };
-
-    return preset;
-};
-iD.validate = function(changes, graph) {
-    var warnings = [];
-
-    // https://github.com/openstreetmap/josm/blob/mirror/src/org/
-    // openstreetmap/josm/data/validation/tests/UnclosedWays.java#L80
-    function tagSuggestsArea(change) {
-        if (_.isEmpty(change.tags)) return false;
-        var tags = change.tags;
-        var presence = ['landuse', 'amenities', 'tourism', 'shop'];
-        for (var i = 0; i < presence.length; i++) {
-            if (tags[presence[i]] !== undefined) {
-                return presence[i] + '=' + tags[presence[i]];
-            }
-        }
-        if (tags.building && tags.building === 'yes') return 'building=yes';
-    }
-
-    if (changes.deleted.length > 100) {
-        warnings.push({
-            message: t('validations.many_deletions', { n: changes.deleted.length })
-        });
-    }
-
-    for (var i = 0; i < changes.created.length; i++) {
-        var change = changes.created[i],
-            geometry = change.geometry(graph);
-
-        if ((geometry === 'point' || geometry === 'line' || geometry === 'area') && !change.isUsed(graph)) {
-            warnings.push({
-                message: t('validations.untagged_' + geometry),
-                tooltip: t('validations.untagged_' + geometry + '_tooltip'),
-                entity: change
-            });
-        }
-
-        var deprecatedTags = change.deprecatedTags();
-        if (!_.isEmpty(deprecatedTags)) {
-            warnings.push({
-                message: t('validations.deprecated_tags', {
-                    tags: iD.util.tagText({ tags: deprecatedTags })
-                }), entity: change });
-        }
-
-        if (geometry === 'line' && tagSuggestsArea(change)) {
-            warnings.push({
-                message: t('validations.tag_suggests_area', {tag: tagSuggestsArea(change)}),
-                entity: change
-            });
-        }
-    }
-
-    return warnings;
-};
-/* jshint ignore:start */
-})();
-window.locale = { _current: 'en' };
-
-locale.current = function(_) {
-    if (!arguments.length) return locale._current;
-    if (locale[_] !== undefined) locale._current = _;
-    else if (locale[_.split('-')[0]]) locale._current = _.split('-')[0];
-    return locale;
-};
-
-function t(s, o, loc) {
-    loc = loc || locale._current;
-
-    var path = s.split(".").reverse(),
-        rep = locale[loc];
-
-    while (rep !== undefined && path.length) rep = rep[path.pop()];
-
-    if (rep !== undefined) {
-        if (o) for (var k in o) rep = rep.replace('{' + k + '}', o[k]);
-        return rep;
-    }
-
-    if (loc !== 'en') {
-        return t(s, o, 'en');
-    }
-
-    if (o && 'default' in o) {
-        return o['default'];
-    }
-
-    var missing = 'Missing ' + loc + ' translation: ' + s;
-    if (typeof console !== "undefined") console.error(missing);
-
-    return missing;
-}
-iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185964961":{"id":"n185964961","loc":[-85.6406588,41.942601],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964962":{"id":"n185964962","loc":[-85.6394548,41.94261],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185970607":{"id":"n185970607","loc":[-85.641094,41.94006],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970614":{"id":"n185970614","loc":[-85.641825,41.941316],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970616":{"id":"n185970616","loc":[-85.641838,41.941556],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185973650":{"id":"n185973650","loc":[-85.639918,41.940064],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973660":{"id":"n185973660","loc":[-85.640645,41.941339],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973659":{"id":"n185973659","loc":[-85.6406115,41.9400658],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185974479":{"id":"n185974479","loc":[-85.639402,41.941344],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185974481":{"id":"n185974481","loc":[-85.643071,41.941288],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185976259":{"id":"n185976259","loc":[-85.642213,41.940043],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976261":{"id":"n185976261","loc":[-85.643056,41.94001],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185964959":{"id":"n185964959","loc":[-85.6431031,41.9425754],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185964960":{"id":"n185964960","loc":[-85.6418749,41.9425864],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185981481":{"id":"n185981481","loc":[-85.6386827,41.9400828],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981482":{"id":"n185981482","loc":[-85.6393664,41.9400854],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n2138493844":{"id":"n2138493844","loc":[-85.6427969,41.940522],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493845":{"id":"n2138493845","loc":[-85.6425891,41.9405228],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493846":{"id":"n2138493846","loc":[-85.6425868,41.9402875],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493847":{"id":"n2138493847","loc":[-85.6427969,41.9402858],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493848":{"id":"n2138493848","loc":[-85.6425708,41.9405234],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493849":{"id":"n2138493849","loc":[-85.642568,41.9402855],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493850":{"id":"n2138493850","loc":[-85.6423157,41.9402886],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493851":{"id":"n2138493851","loc":[-85.6423212,41.9404362],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493852":{"id":"n2138493852","loc":[-85.6422923,41.9404578],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493853":{"id":"n2138493853","loc":[-85.6422868,41.9404834],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493854":{"id":"n2138493854","loc":[-85.6423226,41.9405091],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493855":{"id":"n2138493855","loc":[-85.6423847,41.9405111],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493856":{"id":"n2138493856","loc":[-85.6424081,41.9405265],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2140155811":{"id":"n2140155811","loc":[-85.6419547,41.9410956],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155814":{"id":"n2140155814","loc":[-85.6427577,41.9410884],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155816":{"id":"n2140155816","loc":[-85.6427545,41.9410052],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155818":{"id":"n2140155818","loc":[-85.6428057,41.9410028],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155821":{"id":"n2140155821","loc":[-85.6427993,41.9407339],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155823":{"id":"n2140155823","loc":[-85.6427385,41.9407339],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155825":{"id":"n2140155825","loc":[-85.6427417,41.9406435],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155827":{"id":"n2140155827","loc":[-85.6419515,41.9406482],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155828":{"id":"n2140155828","loc":[-85.6429368,41.9412407],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155829":{"id":"n2140155829","loc":[-85.6417756,41.9412526],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155830":{"id":"n2140155830","loc":[-85.641766,41.9405983],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155831":{"id":"n2140155831","loc":[-85.6419803,41.9405983],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155832":{"id":"n2140155832","loc":[-85.6419611,41.9401366],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155833":{"id":"n2140155833","loc":[-85.6429336,41.94012],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155834":{"id":"n2140155834","loc":[-85.6430697,41.9411732],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155835":{"id":"n2140155835","loc":[-85.6428411,41.9409974],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155837":{"id":"n2140155837","loc":[-85.6428388,41.9407211],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155839":{"id":"n2140155839","loc":[-85.6430624,41.9405521],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155840":{"id":"n2140155840","loc":[-85.6427323,41.9412396],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155842":{"id":"n2140155842","loc":[-85.6418147,41.9412457],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155844":{"id":"n2140155844","loc":[-85.641813,41.9411319],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155845":{"id":"n2140155845","loc":[-85.6418394,41.9411111],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155847":{"id":"n2140155847","loc":[-85.6418838,41.9410977],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155849":{"id":"n2140155849","loc":[-85.6427324,41.9410921],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155851":{"id":"n2140155851","loc":[-85.6427798,41.9412945],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155852":{"id":"n2140155852","loc":[-85.6427701,41.9411777],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155854":{"id":"n2140155854","loc":[-85.6427323,41.9411572],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155856":{"id":"n2140155856","loc":[-85.6418478,41.9411666],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2165942818":{"id":"n2165942818","loc":[-85.6437533,41.9415029],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2165942819":{"id":"n2165942819","loc":[-85.6437623,41.9421195],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2168510551":{"id":"n2168510551","loc":[-85.6423795,41.9422615],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510552":{"id":"n2168510552","loc":[-85.6423744,41.9419439],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510553":{"id":"n2168510553","loc":[-85.642518,41.9419427],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510554":{"id":"n2168510554","loc":[-85.6425186,41.9419801],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510555":{"id":"n2168510555","loc":[-85.6428314,41.9419773],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510556":{"id":"n2168510556","loc":[-85.6428368,41.9423116],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510557":{"id":"n2168510557","loc":[-85.6424947,41.9423146],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510558":{"id":"n2168510558","loc":[-85.6424938,41.9422605],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2189046007":{"id":"n2189046007","loc":[-85.6410866,41.9424327],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046009":{"id":"n2189046009","loc":[-85.6410805,41.9420061],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046011":{"id":"n2189046011","loc":[-85.6412443,41.9420048],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046012":{"id":"n2189046012","loc":[-85.6412505,41.9424314],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046014":{"id":"n2189046014","loc":[-85.6413311,41.942968],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046016":{"id":"n2189046016","loc":[-85.6413281,41.942713],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046018":{"id":"n2189046018","loc":[-85.641521,41.9427117],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046021":{"id":"n2189046021","loc":[-85.6415234,41.9429236],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046022":{"id":"n2189046022","loc":[-85.6415045,41.9429238],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046025":{"id":"n2189046025","loc":[-85.641505,41.9429668],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046053":{"id":"n2189046053","loc":[-85.6385988,41.942412],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046054":{"id":"n2189046054","loc":[-85.6385985,41.9423311],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046055":{"id":"n2189046055","loc":[-85.6387617,41.9423308],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046056":{"id":"n2189046056","loc":[-85.6387616,41.9423026],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046058":{"id":"n2189046058","loc":[-85.6388215,41.9423025],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046059":{"id":"n2189046059","loc":[-85.6388219,41.9424115],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046060":{"id":"n2189046060","loc":[-85.6391096,41.9424486],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046061":{"id":"n2189046061","loc":[-85.6391105,41.9423673],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046063":{"id":"n2189046063","loc":[-85.6392911,41.9423684],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046065":{"id":"n2189046065","loc":[-85.6392903,41.9424497],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046067":{"id":"n2189046067","loc":[-85.6397927,41.9423876],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046069":{"id":"n2189046069","loc":[-85.6397897,41.9422981],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046070":{"id":"n2189046070","loc":[-85.6399702,41.9422947],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046072":{"id":"n2189046072","loc":[-85.6399732,41.9423843],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046074":{"id":"n2189046074","loc":[-85.6396331,41.9430227],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046075":{"id":"n2189046075","loc":[-85.6398673,41.9430189],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046077":{"id":"n2189046077","loc":[-85.6398656,41.9429637],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046079":{"id":"n2189046079","loc":[-85.6398885,41.9429633],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046082":{"id":"n2189046082","loc":[-85.6398832,41.942779],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046083":{"id":"n2189046083","loc":[-85.6398513,41.9427796],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046085":{"id":"n2189046085","loc":[-85.6398502,41.9427401],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046087":{"id":"n2189046087","loc":[-85.6397889,41.9427411],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046089":{"id":"n2189046089","loc":[-85.6397892,41.942753],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046090":{"id":"n2189046090","loc":[-85.6396983,41.9427544],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046092":{"id":"n2189046092","loc":[-85.6396993,41.9427882],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046094":{"id":"n2189046094","loc":[-85.6396746,41.9427886],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046096":{"id":"n2189046096","loc":[-85.6396758,41.9428296],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046097":{"id":"n2189046097","loc":[-85.6397007,41.9428292],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046099":{"id":"n2189046099","loc":[-85.6397018,41.9428686],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046103":{"id":"n2189046103","loc":[-85.6396289,41.9428697],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046112":{"id":"n2189046112","loc":[-85.6435683,41.9429457],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046113":{"id":"n2189046113","loc":[-85.643568,41.9427766],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046115":{"id":"n2189046115","loc":[-85.6434011,41.9427767],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046116":{"id":"n2189046116","loc":[-85.6434012,41.9428631],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046117":{"id":"n2189046117","loc":[-85.643448,41.9428631],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046118":{"id":"n2189046118","loc":[-85.6434481,41.9429457],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046119":{"id":"n2189046119","loc":[-85.6428363,41.9429809],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046120":{"id":"n2189046120","loc":[-85.6429171,41.9429791],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046121":{"id":"n2189046121","loc":[-85.642914,41.9429041],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046122":{"id":"n2189046122","loc":[-85.6429385,41.9429035],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046123":{"id":"n2189046123","loc":[-85.6429348,41.9428126],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046124":{"id":"n2189046124","loc":[-85.6427746,41.9428163],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046125":{"id":"n2189046125","loc":[-85.6427783,41.942906],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046126":{"id":"n2189046126","loc":[-85.6428332,41.9429047],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046127":{"id":"n2189046127","loc":[-85.6423018,41.9428859],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046128":{"id":"n2189046128","loc":[-85.6422987,41.9427208],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046130":{"id":"n2189046130","loc":[-85.6424218,41.9427195],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046131":{"id":"n2189046131","loc":[-85.6424246,41.9428684],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046132":{"id":"n2189046132","loc":[-85.6423845,41.9428689],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046133":{"id":"n2189046133","loc":[-85.6423848,41.942885],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046134":{"id":"n2189046134","loc":[-85.641533,41.9429392],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046135":{"id":"n2189046135","loc":[-85.6416096,41.9428768],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046137":{"id":"n2189046137","loc":[-85.6416763,41.9429221],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046138":{"id":"n2189046138","loc":[-85.6415997,41.9429845],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046139":{"id":"n2189046139","loc":[-85.6420598,41.9428016],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046140":{"id":"n2189046140","loc":[-85.6420593,41.9427415],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046141":{"id":"n2189046141","loc":[-85.6421957,41.9427409],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046142":{"id":"n2189046142","loc":[-85.6421963,41.9428182],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046143":{"id":"n2189046143","loc":[-85.6421281,41.9428185],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046144":{"id":"n2189046144","loc":[-85.6421279,41.9428013],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046145":{"id":"n2189046145","loc":[-85.6409429,41.9429345],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046146":{"id":"n2189046146","loc":[-85.6410354,41.9429334],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046147":{"id":"n2189046147","loc":[-85.6410325,41.9427972],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046148":{"id":"n2189046148","loc":[-85.640997,41.9427976],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046149":{"id":"n2189046149","loc":[-85.6409963,41.9427643],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046150":{"id":"n2189046150","loc":[-85.6408605,41.9427659],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046152":{"id":"n2189046152","loc":[-85.6408623,41.9428482],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046153":{"id":"n2189046153","loc":[-85.640941,41.9428473],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189152992":{"id":"n2189152992","loc":[-85.6437661,41.9422257],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152993":{"id":"n2189152993","loc":[-85.643768,41.9424067],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152994":{"id":"n2189152994","loc":[-85.6432176,41.9417705],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152995":{"id":"n2189152995","loc":[-85.6432097,41.941327],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152996":{"id":"n2189152996","loc":[-85.6436493,41.9413226],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152997":{"id":"n2189152997","loc":[-85.6436563,41.9417164],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152998":{"id":"n2189152998","loc":[-85.6435796,41.9417171],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152999":{"id":"n2189152999","loc":[-85.6435805,41.9417669],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153000":{"id":"n2189153000","loc":[-85.6438202,41.9414953],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153001":{"id":"n2189153001","loc":[-85.6438173,41.9413175],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153004":{"id":"n2189153004","loc":[-85.6432535,41.9418466],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153005":{"id":"n2189153005","loc":[-85.6433935,41.9418599],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153006":{"id":"n2189153006","loc":[-85.6434831,41.9418986],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153007":{"id":"n2189153007","loc":[-85.6435678,41.9419774],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153008":{"id":"n2189153008","loc":[-85.6435987,41.9420282],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153009":{"id":"n2189153009","loc":[-85.643438,41.9419573],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153010":{"id":"n2189153010","loc":[-85.6435284,41.9424676],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153011":{"id":"n2189153011","loc":[-85.6436207,41.9423631],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153012":{"id":"n2189153012","loc":[-85.6434957,41.9422973],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153013":{"id":"n2189153013","loc":[-85.6434457,41.9422458],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153014":{"id":"n2189153014","loc":[-85.6433976,41.9421772],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153015":{"id":"n2189153015","loc":[-85.6433861,41.9420785],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153016":{"id":"n2189153016","loc":[-85.6433765,41.9420313],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153017":{"id":"n2189153017","loc":[-85.6432207,41.9420284],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153018":{"id":"n2189153018","loc":[-85.6432245,41.9422759],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153019":{"id":"n2189153019","loc":[-85.6432649,41.9423474],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153020":{"id":"n2189153020","loc":[-85.6433226,41.9424132],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153021":{"id":"n2189153021","loc":[-85.6434111,41.9424704],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153022":{"id":"n2189153022","loc":[-85.6434591,41.9424347],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153025":{"id":"n2189153025","loc":[-85.6437669,41.9423073],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153026":{"id":"n2189153026","loc":[-85.6436611,41.942293],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153027":{"id":"n2189153027","loc":[-85.6435784,41.9422473],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153028":{"id":"n2189153028","loc":[-85.6435245,41.9421443],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153029":{"id":"n2189153029","loc":[-85.6435149,41.9420613],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153030":{"id":"n2189153030","loc":[-85.6433528,41.9419269],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153031":{"id":"n2189153031","loc":[-85.6432535,41.9419191],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153032":{"id":"n2189153032","loc":[-85.6430868,41.9419198],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153033":{"id":"n2189153033","loc":[-85.6434894,41.9420033],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153034":{"id":"n2189153034","loc":[-85.6432974,41.9419225],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153035":{"id":"n2189153035","loc":[-85.6433055,41.9421632],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153036":{"id":"n2189153036","loc":[-85.6433538,41.9422849],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153037":{"id":"n2189153037","loc":[-85.6434718,41.9423887],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153038":{"id":"n2189153038","loc":[-85.6436134,41.9422667],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153040":{"id":"n2189153040","loc":[-85.6438759,41.9414017],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153041":{"id":"n2189153041","loc":[-85.6438181,41.9413687],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153042":{"id":"n2189153042","loc":[-85.6436821,41.9413044],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153043":{"id":"n2189153043","loc":[-85.6435899,41.9412862],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153044":{"id":"n2189153044","loc":[-85.6433169,41.9417268],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153045":{"id":"n2189153045","loc":[-85.643301,41.9412859],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153046":{"id":"n2189153046","loc":[-85.6435531,41.9416981],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153047":{"id":"n2189153047","loc":[-85.6435427,41.9412863],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n185948706":{"id":"n185948706","loc":[-85.6369439,41.940122],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185949348":{"id":"n185949348","loc":[-85.640039,41.931135],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:09Z","tags":{}},"n185949870":{"id":"n185949870","loc":[-85.643195,41.949261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185954680":{"id":"n185954680","loc":[-85.6337802,41.9401143],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954784":{"id":"n185954784","loc":[-85.6487485,41.942527],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185958670":{"id":"n185958670","loc":[-85.637255,41.940104],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958672":{"id":"n185958672","loc":[-85.636996,41.941355],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:31Z","tags":{}},"n185960207":{"id":"n185960207","loc":[-85.634992,41.940118],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:09Z","tags":{}},"n185963163":{"id":"n185963163","loc":[-85.638831,41.93398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963165":{"id":"n185963165","loc":[-85.640073,41.933968],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963167":{"id":"n185963167","loc":[-85.641225,41.933972],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963168":{"id":"n185963168","loc":[-85.642386,41.933952],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185964695":{"id":"n185964695","loc":[-85.6443608,41.9425645],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185964697":{"id":"n185964697","loc":[-85.644384,41.939941],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:31Z","tags":{}},"n185964963":{"id":"n185964963","loc":[-85.6382347,41.9426146],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964965":{"id":"n185964965","loc":[-85.637022,41.942622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:40Z","tags":{}},"n185964967":{"id":"n185964967","loc":[-85.6363706,41.9426606],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964968":{"id":"n185964968","loc":[-85.6357988,41.9427748],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964969":{"id":"n185964969","loc":[-85.6355409,41.9428465],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964970":{"id":"n185964970","loc":[-85.6348729,41.9430443],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185966958":{"id":"n185966958","loc":[-85.641946,41.946413],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185966960":{"id":"n185966960","loc":[-85.643148,41.946389],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185967774":{"id":"n185967774","loc":[-85.641889,41.943852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967775":{"id":"n185967775","loc":[-85.641922,41.945121],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967776":{"id":"n185967776","loc":[-85.641927,41.947544],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967777":{"id":"n185967777","loc":[-85.641982,41.947622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185969289":{"id":"n185969289","loc":[-85.63928,41.929221],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:52Z","tags":{}},"n185969704":{"id":"n185969704","loc":[-85.6388186,41.9350099],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969706":{"id":"n185969706","loc":[-85.6400709,41.9349957],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969708":{"id":"n185969708","loc":[-85.6412214,41.9349827],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969710":{"id":"n185969710","loc":[-85.6423509,41.934974],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185970602":{"id":"n185970602","loc":[-85.641293,41.931817],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970604":{"id":"n185970604","loc":[-85.641258,41.932705],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970605":{"id":"n185970605","loc":[-85.641148,41.936984],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970606":{"id":"n185970606","loc":[-85.641112,41.938169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970906":{"id":"n185970906","loc":[-85.639454,41.943871],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:50Z","tags":{}},"n185970908":{"id":"n185970908","loc":[-85.6394635,41.9450504],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185970909":{"id":"n185970909","loc":[-85.6394914,41.9451911],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185971368":{"id":"n185971368","loc":[-85.635769,41.940122],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971978":{"id":"n185971978","loc":[-85.640003,41.936988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:14Z","tags":{}},"n185971980":{"id":"n185971980","loc":[-85.642299,41.936988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:14Z","tags":{}},"n185973633":{"id":"n185973633","loc":[-85.639023,41.92861],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973635":{"id":"n185973635","loc":[-85.639153,41.928969],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973637":{"id":"n185973637","loc":[-85.639213,41.929088],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973639":{"id":"n185973639","loc":[-85.63935,41.929396],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973641":{"id":"n185973641","loc":[-85.640143,41.931462],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973644":{"id":"n185973644","loc":[-85.64019,41.931788],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973646":{"id":"n185973646","loc":[-85.6401365,41.9327199],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185973648":{"id":"n185973648","loc":[-85.639983,41.938174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185974477":{"id":"n185974477","loc":[-85.638206,41.941331],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185975928":{"id":"n185975928","loc":[-85.640683,41.94513],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185975930":{"id":"n185975930","loc":[-85.643102,41.945103],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185976255":{"id":"n185976255","loc":[-85.642424,41.931817],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976257":{"id":"n185976257","loc":[-85.64242,41.932699],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976258":{"id":"n185976258","loc":[-85.6422621,41.9381489],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n185977452":{"id":"n185977452","loc":[-85.6457497,41.9398834],"version":"3","changeset":"5841745","user":"themps","uid":"196173","visible":"true","timestamp":"2010-09-22T00:20:34Z","tags":{}},"n185978772":{"id":"n185978772","loc":[-85.646656,41.939869],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185981472":{"id":"n185981472","loc":[-85.6388962,41.9321266],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981474":{"id":"n185981474","loc":[-85.6388769,41.9327334],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981476":{"id":"n185981476","loc":[-85.638829,41.934116],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981478":{"id":"n185981478","loc":[-85.63876,41.937002],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981480":{"id":"n185981480","loc":[-85.638682,41.93819],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981999":{"id":"n185981999","loc":[-85.638194,41.9400866],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n185982001":{"id":"n185982001","loc":[-85.646302,41.93988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:26Z","tags":{}},"n185982877":{"id":"n185982877","loc":[-85.640676,41.943867],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:54Z","tags":{}},"n185982879":{"id":"n185982879","loc":[-85.640734,41.945887],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:54Z","tags":{}},"n185985823":{"id":"n185985823","loc":[-85.643106,41.943841],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185985824":{"id":"n185985824","loc":[-85.643145,41.947641],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185985825":{"id":"n185985825","loc":[-85.643219,41.950829],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n1475301385":{"id":"n1475301385","loc":[-85.6360612,41.9427042],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n1475301397":{"id":"n1475301397","loc":[-85.6366651,41.9426328],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n2139795811":{"id":"n2139795811","loc":[-85.6469154,41.9425427],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795830":{"id":"n2139795830","loc":[-85.6443194,41.9399444],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139795834":{"id":"n2139795834","loc":[-85.6453506,41.9399002],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139795837":{"id":"n2139795837","loc":[-85.645806,41.9398831],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139858932":{"id":"n2139858932","loc":[-85.6351721,41.9429557],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2140019000":{"id":"n2140019000","loc":[-85.6359935,41.9427224],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2165942817":{"id":"n2165942817","loc":[-85.6442017,41.9414993],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2165942820":{"id":"n2165942820","loc":[-85.6442107,41.9421159],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2189152990":{"id":"n2189152990","loc":[-85.6442328,41.942404],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:05Z","tags":{}},"n2189152991":{"id":"n2189152991","loc":[-85.6442309,41.9422229],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153002":{"id":"n2189153002","loc":[-85.6441329,41.9413147],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153003":{"id":"n2189153003","loc":[-85.6441357,41.9414925],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153023":{"id":"n2189153023","loc":[-85.6443453,41.9423074],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153024":{"id":"n2189153024","loc":[-85.6442318,41.9423045],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153039":{"id":"n2189153039","loc":[-85.6441343,41.9414025],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"w208643102":{"id":"w208643102","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153034","n2189153035","n2189153036","n2189153037","n2189153038"]},"w17966942":{"id":"w17966942","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:04Z","tags":{"highway":"residential","name":"Millard St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Millard","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312476:15312477:15312478:15326070:15326071:15329003:15329004:15312479:15312480:15312483:15326956:15326957:15312485:15312486:15322600:15325988","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185954680","n185960207","n185971368","n185948706","n185958670","n185981999","n185981481","n185981482","n185973650","n185973659","n185970607","n185976259","n185976261","n2139795830","n185964697","n2139795834","n185977452","n2139795837","n185982001","n185978772"]},"w208643105":{"id":"w208643105","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153046","n2189153047"]},"w208631637":{"id":"w208631637","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046014","n2189046016","n2189046018","n2189046021","n2189046022","n2189046025","n2189046014"]},"w208643096":{"id":"w208643096","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes","fee":"no"},"nodes":["n2189152990","n2189153024","n2189152991","n2189152992","n2189153025","n2189152993","n2189152990"]},"w208631656":{"id":"w208631656","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046134","n2189046135","n2189046137","n2189046138","n2189046134"]},"w204003417":{"id":"w204003417","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"area":"yes","building":"school"},"nodes":["n2140155811","n2140155814","n2140155816","n2140155818","n2140155821","n2140155823","n2140155825","n2140155827","n2140155811"]},"w208631654":{"id":"w208631654","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046127","n2189046128","n2189046130","n2189046131","n2189046132","n2189046133","n2189046127"]},"w17966327":{"id":"w17966327","version":"3","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{"highway":"residential","name":"S Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185976261","n2140155839","n2140155834","n185974481","n2189153032","n185964959"]},"w41785752":{"id":"w41785752","version":"10","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no","access":"yes"},"nodes":["n185954784","n2139795811","n185964695","n185964959","n185964960","n185964961","n185964962","n185964963","n185964965","n1475301397","n185964967","n1475301385","n2140019000","n185964968","n185964969","n2139858932","n185964970"]},"w203841842":{"id":"w203841842","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493848","n2138493849","n2138493850","n2138493851","n2138493852","n2138493853","n2138493854","n2138493855","n2138493856","n2138493848"]},"w208643103":{"id":"w208643103","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service"},"nodes":["n2189153039","n2189153040","n2189153041","n2189153042","n2189153043","n2189153047","n2189153045","n185974481"]},"w208643098":{"id":"w208643098","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153000","n2189153041","n2189153001","n2189153002","n2189153039","n2189153003","n2189153000"]},"w208631646":{"id":"w208631646","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046067","n2189046069","n2189046070","n2189046072","n2189046067"]},"w208631653":{"id":"w208631653","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046119","n2189046120","n2189046121","n2189046122","n2189046123","n2189046124","n2189046125","n2189046126","n2189046119"]},"w17966041":{"id":"w17966041","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:50Z","tags":{"highway":"residential","name":"S Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312474:15312448","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185973659","n185973660","n185964961"]},"w208631645":{"id":"w208631645","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046060","n2189046061","n2189046063","n2189046065","n2189046060"]},"w206803397":{"id":"w206803397","version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:25Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168510551","n2168510552","n2168510553","n2168510554","n2168510555","n2168510556","n2168510557","n2168510558","n2168510551"]},"w17965792":{"id":"w17965792","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:10Z","tags":{"highway":"residential","name":"N Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313197:15312414:15312395","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964962","n185970906","n185970908","n185970909"]},"w208631651":{"id":"w208631651","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046112","n2189046113","n2189046115","n2189046116","n2189046117","n2189046118","n2189046112"]},"w208631643":{"id":"w208631643","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046053","n2189046054","n2189046055","n2189046056","n2189046058","n2189046059","n2189046053"]},"w17966878":{"id":"w17966878","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:48:03Z","tags":{"highway":"residential","name":"S Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312508:15312529:15312553:15312597:15328883:15338803","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981472","n185981474","n185963163","n185981476","n185969704","n185981478","n185981480","n185981481"]},"w17966102":{"id":"w17966102","version":"2","changeset":"14896694","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:01:36Z","tags":{"highway":"residential","name":"South St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"South","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312446","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958672","n185974477","n185974479","n185973660","n185970614"]},"w208631660":{"id":"w208631660","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046145","n2189046146","n2189046147","n2189046148","n2189046149","n2189046150","n2189046152","n2189046153","n2189046145"]},"w208643101":{"id":"w208643101","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service"},"nodes":["n2189153023","n2189153024","n2189153025","n2189153026","n2189153038","n2189153027","n2189153028","n2189153029","n2189153033","n2189153009","n2189153030","n2189153034","n2189153031","n2189153032"]},"w204000205":{"id":"w204000205","version":"2","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:19Z","tags":{"highway":"residential","name":"South St","oneway":"yes","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"South","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312446","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185974481","n2140155851","n185970614"]},"w203841841":{"id":"w203841841","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"pitch","pitch":"basketball"},"nodes":["n2138493844","n2138493845","n2138493846","n2138493847","n2138493844"]},"w17965444":{"id":"w17965444","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:37:03Z","tags":{"highway":"residential","name":"N Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312348:15312365:15312422:15312392","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964960","n185967774","n185967775","n185966958","n185967776","n185967777"]},"w208631648":{"id":"w208631648","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046074","n2189046075","n2189046077","n2189046079","n2189046082","n2189046083","n2189046085","n2189046087","n2189046089","n2189046090","n2189046092","n2189046094","n2189046096","n2189046097","n2189046099","n2189046103","n2189046074"]},"w208643100":{"id":"w208643100","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153010","n2189153011","n2189153012","n2189153013","n2189153014","n2189153015","n2189153016","n2189153017","n2189153018","n2189153019","n2189153020","n2189153021","n2189153022","n2189153010"]},"w17965749":{"id":"w17965749","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:28Z","tags":{"highway":"residential","name":"S Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312445","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970614","n185970616","n185964960"]},"w206574482":{"id":"w206574482","version":"2","changeset":"15128027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-22T20:03:31Z","tags":{"addr:state":"MI","amenity":"library","area":"yes","building":"yes","ele":"249","gnis:county_name":"St. Joseph","gnis:feature_id":"2418162","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"Three Rivers Public Library","source":"USGS Geonames"},"nodes":["n2165942817","n2165942818","n2165942819","n2165942820","n2165942817"]},"w208643097":{"id":"w208643097","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189152994","n2189152995","n2189152996","n2189152997","n2189152998","n2189152999","n2189152994"]},"w17966879":{"id":"w17966879","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:48:03Z","tags":{"highway":"residential","name":"S Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312475:15312449","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981482","n185974479","n185964962"]},"w17966325":{"id":"w17966325","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:43:58Z","tags":{"highway":"residential","name":"S Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15330300:15312522:15312547:15330299:15312603:15312571:15331740","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185976255","n185976257","n185963168","n185969710","n185971980","n185976258","n185954700","n185976259"]},"w17967390":{"id":"w17967390","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:27Z","tags":{"highway":"residential","name":"N Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312300","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185964959","n185985823","n185975930","n185966960","n185985824","n185949870","n185985825"]},"w208631635":{"id":"w208631635","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046007","n2189046009","n2189046011","n2189046012","n2189046007"]},"w208643099":{"id":"w208643099","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153031","n2189153004","n2189153005","n2189153006","n2189153007","n2189153008","n2189153029","n2189153033","n2189153009","n2189153030","n2189153031"]},"w208631658":{"id":"w208631658","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046139","n2189046140","n2189046141","n2189046142","n2189046143","n2189046144","n2189046139"]},"w208643104":{"id":"w208643104","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153044","n2189153045"]},"w17966039":{"id":"w17966039","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:49Z","tags":{"highway":"residential","name":"S Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312526:15312511:15312550:15312601:15312998:15312626:15312574:15328327:15328328:15313210","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185973633","n185973635","n185973637","n185969289","n185973639","n185949348","n185973641","n185973644","n185973646","n185963165","n185969706","n185971978","n185973648","n185973650"]},"w204003420":{"id":"w204003420","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140155840","n2140155842","n2140155844","n2140155845","n2140155847","n2140155849","n2140155854","n2140155840"]},"w204003419":{"id":"w204003419","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"highway":"service"},"nodes":["n2140155834","n2140155835","n2140155837","n2140155839"]},"w204003418":{"id":"w204003418","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"amenity":"school","area":"yes","name":"Andrews Elementary School"},"nodes":["n2140155828","n2140155829","n2140155830","n2140155831","n2140155832","n2140155833","n2140155828"]},"w17965747":{"id":"w17965747","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:27Z","tags":{"highway":"residential","name":"S Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312509:15312524:15312549:15312605:15329008:15312572","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970602","n185970604","n185963167","n185969708","n185970605","n185970606","n185970607"]},"w17967073":{"id":"w17967073","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:07Z","tags":{"highway":"residential","name":"N Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313196:15312424:15312394","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964961","n185982877","n185975928","n185982879"]},"w204003421":{"id":"w204003421","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2140155851","n2140155852","n2140155854","n2140155856"]},"r1943857":{"id":"r1943857","version":"2","changeset":"13612265","user":"migurski","uid":"8287","visible":"true","timestamp":"2012-10-24T04:10:54Z","tags":{"is_in:state":"MI","modifier":"Business","name":"US 131 Business (Three Rivers, MI)","network":"US:US","ref":"131","route":"road","type":"route"},"members":[{"id":"w17966509","type":"way","role":"forward"},{"id":"w143497377","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w41785752","type":"way","role":""},{"id":"w17965146","type":"way","role":"forward"},{"id":"w17964031","type":"way","role":"forward"}]},"r270277":{"id":"r270277","version":"21","changeset":"15347356","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T03:41:02Z","tags":{"network":"US:MI","ref":"60","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-60_%28Michigan_highway%29"},"members":[{"id":"w17751087","type":"way","role":"east"},{"id":"w117148312","type":"way","role":"east"},{"id":"w40942155","type":"way","role":"west"},{"id":"w17751017","type":"way","role":""},{"id":"w17751083","type":"way","role":""},{"id":"w17747780","type":"way","role":""},{"id":"w41068082","type":"way","role":""},{"id":"w197025212","type":"way","role":""},{"id":"w17743874","type":"way","role":""},{"id":"w17751044","type":"way","role":""},{"id":"w17752167","type":"way","role":""},{"id":"w17751089","type":"way","role":""},{"id":"w17743879","type":"way","role":""},{"id":"w17751064","type":"way","role":""},{"id":"w197057073","type":"way","role":""},{"id":"w167699963","type":"way","role":""},{"id":"w167699972","type":"way","role":""},{"id":"w17967584","type":"way","role":""},{"id":"w167699964","type":"way","role":""},{"id":"w17967582","type":"way","role":"west"},{"id":"w41260270","type":"way","role":"west"},{"id":"w17965146","type":"way","role":"west"},{"id":"w41785752","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150836","type":"way","role":""},{"id":"w134150802","type":"way","role":""},{"id":"w41074896","type":"way","role":""},{"id":"w17966773","type":"way","role":""},{"id":"w17967415","type":"way","role":""},{"id":"w41074899","type":"way","role":""},{"id":"w17967581","type":"way","role":""},{"id":"w41074902","type":"way","role":""},{"id":"w41074906","type":"way","role":""},{"id":"w209707997","type":"way","role":""},{"id":"w209707998","type":"way","role":""},{"id":"w17964798","type":"way","role":""},{"id":"w17966034","type":"way","role":""},{"id":"w17967593","type":"way","role":""},{"id":"w41074888","type":"way","role":""},{"id":"w17733772","type":"way","role":""},{"id":"w41074813","type":"way","role":""},{"id":"w17742213","type":"way","role":""},{"id":"w17746863","type":"way","role":""},{"id":"w17745772","type":"way","role":""},{"id":"w17742222","type":"way","role":""},{"id":"w17745922","type":"way","role":""},{"id":"w17742198","type":"way","role":""},{"id":"w17747675","type":"way","role":""},{"id":"w17739927","type":"way","role":""},{"id":"w17745708","type":"way","role":""},{"id":"w41006323","type":"way","role":""},{"id":"w17744233","type":"way","role":""},{"id":"w17739436","type":"way","role":""},{"id":"w17742201","type":"way","role":""},{"id":"w151418616","type":"way","role":""},{"id":"w17750062","type":"way","role":""},{"id":"w17742227","type":"way","role":"east"},{"id":"w41006348","type":"way","role":"east"},{"id":"w41260984","type":"way","role":""},{"id":"w17832427","type":"way","role":""},{"id":"w17838408","type":"way","role":""},{"id":"w17835846","type":"way","role":""},{"id":"w17832923","type":"way","role":""},{"id":"w17839388","type":"way","role":""},{"id":"w17838390","type":"way","role":""},{"id":"w17831272","type":"way","role":""},{"id":"w17828581","type":"way","role":""},{"id":"w38240686","type":"way","role":""},{"id":"w17838405","type":"way","role":"east"},{"id":"w123323711","type":"way","role":"east"},{"id":"w17830167","type":"way","role":"east"},{"id":"w99011909","type":"way","role":"east"},{"id":"w41911361","type":"way","role":"east"},{"id":"w41911355","type":"way","role":"east"},{"id":"w41911356","type":"way","role":"east"},{"id":"w117148326","type":"way","role":"west"},{"id":"w41911352","type":"way","role":"west"},{"id":"w41911353","type":"way","role":"west"},{"id":"w41911354","type":"way","role":"west"},{"id":"w41911360","type":"way","role":"west"},{"id":"w38240676","type":"way","role":"west"},{"id":"w123323710","type":"way","role":"west"},{"id":"w41260271","type":"way","role":"east"},{"id":"w41260273","type":"way","role":"east"},{"id":"w17964031","type":"way","role":"east"},{"id":"w41006344","type":"way","role":"west"},{"id":"w41006351","type":"way","role":"west"}]},"n367813436":{"id":"n367813436","loc":[-85.63605205663384,41.94305506683346],"version":"2","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"addr:state":"MI","amenity":"fire_station","ele":"245","gnis:county_name":"St. Joseph","gnis:feature_id":"2417894","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"Three Rivers Fire Department","source":"USGS Geonames"}},"n185948708":{"id":"n185948708","loc":[-85.6369828,41.9408789],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185948710":{"id":"n185948710","loc":[-85.6370184,41.9411346],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185954691":{"id":"n185954691","loc":[-85.634476,41.941475],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:32Z","tags":{}},"n185954692":{"id":"n185954692","loc":[-85.635008,41.941846],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:32Z","tags":{}},"n185954693":{"id":"n185954693","loc":[-85.635362,41.941962],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185954695":{"id":"n185954695","loc":[-85.63578,41.941978],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185972903":{"id":"n185972903","loc":[-85.63295,41.9430062],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185964971":{"id":"n185964971","loc":[-85.6346811,41.9431023],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n1819805854":{"id":"n1819805854","loc":[-85.6331275,41.9404837],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805918":{"id":"n1819805918","loc":[-85.6331168,41.942798],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805762":{"id":"n1819805762","loc":[-85.6333034,41.9424123],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819805907":{"id":"n1819805907","loc":[-85.6334819,41.9419121],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819805915":{"id":"n1819805915","loc":[-85.6334554,41.9413588],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819848888":{"id":"n1819848888","loc":[-85.6331625,41.942679],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848930":{"id":"n1819848930","loc":[-85.6338684,41.9431252],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819858505":{"id":"n1819858505","loc":[-85.6346782,41.9429092],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858507":{"id":"n1819858507","loc":[-85.6339003,41.9414534],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858508":{"id":"n1819858508","loc":[-85.6345709,41.9427742],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858509":{"id":"n1819858509","loc":[-85.63419,41.9417322],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858511":{"id":"n1819858511","loc":[-85.6340666,41.9415652],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858512":{"id":"n1819858512","loc":[-85.6343295,41.9423027],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858514":{"id":"n1819858514","loc":[-85.6343241,41.942207],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858521":{"id":"n1819858521","loc":[-85.633391,41.941231],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858528":{"id":"n1819858528","loc":[-85.6343027,41.9419716],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185954683":{"id":"n185954683","loc":[-85.6335412,41.940147],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954685":{"id":"n185954685","loc":[-85.6334296,41.9403023],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954687":{"id":"n185954687","loc":[-85.6333988,41.9404704],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954689":{"id":"n185954689","loc":[-85.6335511,41.9410225],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954690":{"id":"n185954690","loc":[-85.6336721,41.9411669],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n1820938802":{"id":"n1820938802","loc":[-85.6330671,41.941845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1821006702":{"id":"n1821006702","loc":[-85.6344047,41.9395496],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n2130304133":{"id":"n2130304133","loc":[-85.6349025,41.9427659],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304136":{"id":"n2130304136","loc":[-85.6346027,41.9422017],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304138":{"id":"n2130304138","loc":[-85.6348577,41.9421517],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304140":{"id":"n2130304140","loc":[-85.6348419,41.9422694],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304142":{"id":"n2130304142","loc":[-85.6349071,41.9423135],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304144":{"id":"n2130304144","loc":[-85.6350495,41.9423312],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304146":{"id":"n2130304146","loc":[-85.6351009,41.9422812],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304147":{"id":"n2130304147","loc":[-85.6351227,41.9421532],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304148":{"id":"n2130304148","loc":[-85.635526,41.9421547],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304149":{"id":"n2130304149","loc":[-85.6355339,41.9425768],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304150":{"id":"n2130304150","loc":[-85.6351582,41.9426562],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304151":{"id":"n2130304151","loc":[-85.6351207,41.9427032],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2138493807":{"id":"n2138493807","loc":[-85.6350923,41.9415216],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493808":{"id":"n2138493808","loc":[-85.6353603,41.9411061],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493809":{"id":"n2138493809","loc":[-85.6354421,41.9410942],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493810":{"id":"n2138493810","loc":[-85.6355079,41.9411044],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493811":{"id":"n2138493811","loc":[-85.6355693,41.9411246],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493812":{"id":"n2138493812","loc":[-85.6355829,41.9411061],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493813":{"id":"n2138493813","loc":[-85.6355624,41.9409777],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493814":{"id":"n2138493814","loc":[-85.6355011,41.9409152],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493815":{"id":"n2138493815","loc":[-85.635383,41.9409219],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493816":{"id":"n2138493816","loc":[-85.635299,41.9409658],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493817":{"id":"n2138493817","loc":[-85.6351695,41.941204],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493818":{"id":"n2138493818","loc":[-85.6348879,41.9415166],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493819":{"id":"n2138493819","loc":[-85.634897,41.9415757],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493820":{"id":"n2138493820","loc":[-85.6349606,41.9416399],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493821":{"id":"n2138493821","loc":[-85.6350219,41.9416669],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493822":{"id":"n2138493822","loc":[-85.6351241,41.9416314],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493823":{"id":"n2138493823","loc":[-85.6350855,41.9415622],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493824":{"id":"n2138493824","loc":[-85.6350401,41.9413603],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493825":{"id":"n2138493825","loc":[-85.6352206,41.9410765],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493826":{"id":"n2138493826","loc":[-85.6343865,41.9415594],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493827":{"id":"n2138493827","loc":[-85.6343506,41.9415873],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493828":{"id":"n2138493828","loc":[-85.6344158,41.9417557],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493829":{"id":"n2138493829","loc":[-85.6344614,41.9417968],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493830":{"id":"n2138493830","loc":[-85.6345005,41.9418186],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493831":{"id":"n2138493831","loc":[-85.6345965,41.9418162],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493832":{"id":"n2138493832","loc":[-85.6347317,41.9417242],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493833":{"id":"n2138493833","loc":[-85.6346722,41.941775],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2139858909":{"id":"n2139858909","loc":[-85.633403,41.9391006],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858910":{"id":"n2139858910","loc":[-85.6332973,41.9393967],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858911":{"id":"n2139858911","loc":[-85.633205,41.9396742],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858912":{"id":"n2139858912","loc":[-85.6332203,41.9397772],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858913":{"id":"n2139858913","loc":[-85.6333453,41.939936],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858914":{"id":"n2139858914","loc":[-85.6333761,41.9400018],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858915":{"id":"n2139858915","loc":[-85.63328,41.9402249],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858916":{"id":"n2139858916","loc":[-85.6332357,41.9403523],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858917":{"id":"n2139858917","loc":[-85.6332838,41.9405831],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858918":{"id":"n2139858918","loc":[-85.6333643,41.9408744],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858919":{"id":"n2139858919","loc":[-85.6334394,41.9410519],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858920":{"id":"n2139858920","loc":[-85.6335815,41.9411717],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858921":{"id":"n2139858921","loc":[-85.6337478,41.9412734],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858922":{"id":"n2139858922","loc":[-85.6343174,41.9415268],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858923":{"id":"n2139858923","loc":[-85.6343886,41.9417397],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858924":{"id":"n2139858924","loc":[-85.6344407,41.9418015],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858925":{"id":"n2139858925","loc":[-85.6345139,41.9418366],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858926":{"id":"n2139858926","loc":[-85.6344846,41.942005],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858927":{"id":"n2139858927","loc":[-85.6345775,41.9422218],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858928":{"id":"n2139858928","loc":[-85.6348771,41.9427814],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858929":{"id":"n2139858929","loc":[-85.6349487,41.9427995],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858930":{"id":"n2139858930","loc":[-85.6350415,41.9427874],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858931":{"id":"n2139858931","loc":[-85.6351246,41.9428589],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858978":{"id":"n2139858978","loc":[-85.6349658,41.9431481],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858979":{"id":"n2139858979","loc":[-85.6350081,41.9431287],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858980":{"id":"n2139858980","loc":[-85.6349967,41.9430997],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858981":{"id":"n2139858981","loc":[-85.6352158,41.9430352],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858982":{"id":"n2139858982","loc":[-85.6348174,41.94267],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858983":{"id":"n2139858983","loc":[-85.6346142,41.9425989],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858984":{"id":"n2139858984","loc":[-85.6344938,41.9423809],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858985":{"id":"n2139858985","loc":[-85.6344856,41.9422997],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139870380":{"id":"n2139870380","loc":[-85.6346707,41.9417955],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870381":{"id":"n2139870381","loc":[-85.6345949,41.9418311],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870382":{"id":"n2139870382","loc":[-85.6343322,41.9418659],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870383":{"id":"n2139870383","loc":[-85.6342072,41.941885],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870384":{"id":"n2139870384","loc":[-85.6341325,41.9418919],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870385":{"id":"n2139870385","loc":[-85.6341314,41.9422028],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870386":{"id":"n2139870386","loc":[-85.6340472,41.9423271],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870387":{"id":"n2139870387","loc":[-85.6342185,41.9427933],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870388":{"id":"n2139870388","loc":[-85.6340605,41.9423924],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870389":{"id":"n2139870389","loc":[-85.6339889,41.9424069],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870390":{"id":"n2139870390","loc":[-85.633971,41.942356],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870391":{"id":"n2139870391","loc":[-85.63361,41.9424235],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870392":{"id":"n2139870392","loc":[-85.6337137,41.9426819],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870393":{"id":"n2139870393","loc":[-85.6336977,41.9428632],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870394":{"id":"n2139870394","loc":[-85.6338823,41.9428647],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870395":{"id":"n2139870395","loc":[-85.6339412,41.9430069],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870396":{"id":"n2139870396","loc":[-85.6338873,41.9430353],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870397":{"id":"n2139870397","loc":[-85.6337676,41.942815],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870398":{"id":"n2139870398","loc":[-85.6336822,41.9423505],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870399":{"id":"n2139870399","loc":[-85.634037,41.9422725],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870400":{"id":"n2139870400","loc":[-85.6340294,41.9422518],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870401":{"id":"n2139870401","loc":[-85.6336726,41.9423312],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870402":{"id":"n2139870402","loc":[-85.6342188,41.9425715],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870403":{"id":"n2139870403","loc":[-85.6342524,41.942565],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870404":{"id":"n2139870404","loc":[-85.6341438,41.942299],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870405":{"id":"n2139870405","loc":[-85.6341149,41.9423061],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870407":{"id":"n2139870407","loc":[-85.6340846,41.9431458],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870408":{"id":"n2139870408","loc":[-85.6339436,41.9429032],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870409":{"id":"n2139870409","loc":[-85.6343143,41.9428207],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870410":{"id":"n2139870410","loc":[-85.6343507,41.94277],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870411":{"id":"n2139870411","loc":[-85.6341527,41.942254],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870412":{"id":"n2139870412","loc":[-85.6340925,41.9422199],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870413":{"id":"n2139870413","loc":[-85.6335435,41.9423433],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870414":{"id":"n2139870414","loc":[-85.6335023,41.9423975],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870415":{"id":"n2139870415","loc":[-85.6335086,41.9424552],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870416":{"id":"n2139870416","loc":[-85.6336296,41.942665],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870417":{"id":"n2139870417","loc":[-85.6341396,41.9428596],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870418":{"id":"n2139870418","loc":[-85.6339701,41.9424487],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870419":{"id":"n2139870419","loc":[-85.6335514,41.9425294],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870420":{"id":"n2139870420","loc":[-85.6337406,41.9424929],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870421":{"id":"n2139870421","loc":[-85.6338939,41.9428687],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870422":{"id":"n2139870422","loc":[-85.6341323,41.9419538],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870423":{"id":"n2139870423","loc":[-85.6340321,41.9420376],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870424":{"id":"n2139870424","loc":[-85.6337648,41.942238],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870425":{"id":"n2139870425","loc":[-85.6337604,41.9422685],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870426":{"id":"n2139870426","loc":[-85.6337682,41.9422928],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870427":{"id":"n2139870427","loc":[-85.6338086,41.9423862],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870428":{"id":"n2139870428","loc":[-85.6349465,41.9416631],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870429":{"id":"n2139870429","loc":[-85.6351097,41.9416973],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870430":{"id":"n2139870430","loc":[-85.6353371,41.9416798],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870431":{"id":"n2139870431","loc":[-85.6349627,41.9422506],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870432":{"id":"n2139870432","loc":[-85.634979,41.9421815],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870433":{"id":"n2139870433","loc":[-85.634885,41.9421679],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870434":{"id":"n2139870434","loc":[-85.6348689,41.9422377],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870435":{"id":"n2139870435","loc":[-85.6349779,41.9419486],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870436":{"id":"n2139870436","loc":[-85.6349505,41.9418933],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870437":{"id":"n2139870437","loc":[-85.6347327,41.9419505],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870438":{"id":"n2139870438","loc":[-85.6347614,41.9420087],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870439":{"id":"n2139870439","loc":[-85.6351889,41.9416912],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870440":{"id":"n2139870440","loc":[-85.6351092,41.9418426],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870441":{"id":"n2139870441","loc":[-85.635086,41.9419659],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870442":{"id":"n2139870442","loc":[-85.6350584,41.9421466],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870443":{"id":"n2139870443","loc":[-85.6350993,41.9421606],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870444":{"id":"n2139870444","loc":[-85.6350993,41.9422132],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870445":{"id":"n2139870445","loc":[-85.6350794,41.9422855],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870446":{"id":"n2139870446","loc":[-85.6350474,41.9423159],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870447":{"id":"n2139870447","loc":[-85.6349251,41.9422998],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870448":{"id":"n2139870448","loc":[-85.634911,41.9422755],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870449":{"id":"n2139870449","loc":[-85.6349157,41.9422553],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870450":{"id":"n2139870450","loc":[-85.6347213,41.9419324],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870451":{"id":"n2139870451","loc":[-85.6349535,41.9418771],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870452":{"id":"n2139870452","loc":[-85.6350135,41.9419421],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870453":{"id":"n2139870453","loc":[-85.6348584,41.9418997],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870454":{"id":"n2139870454","loc":[-85.6348113,41.9418101],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870455":{"id":"n2139870455","loc":[-85.6347306,41.9417449],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870456":{"id":"n2139870456","loc":[-85.6349123,41.941776],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870457":{"id":"n2139870457","loc":[-85.6349423,41.9421448],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870458":{"id":"n2139870458","loc":[-85.6349436,41.9420652],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870459":{"id":"n2139870459","loc":[-85.6349136,41.9419963],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870460":{"id":"n2139870460","loc":[-85.6349814,41.9419789],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139989328":{"id":"n2139989328","loc":[-85.6334188,41.9421725],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989330":{"id":"n2139989330","loc":[-85.6335087,41.9416308],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989335":{"id":"n2139989335","loc":[-85.6336856,41.9429371],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989337":{"id":"n2139989337","loc":[-85.6333713,41.9427217],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989339":{"id":"n2139989339","loc":[-85.6332912,41.9425383],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989341":{"id":"n2139989341","loc":[-85.6339369,41.9409198],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989344":{"id":"n2139989344","loc":[-85.634097,41.9409469],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989346":{"id":"n2139989346","loc":[-85.634137,41.9412852],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989348":{"id":"n2139989348","loc":[-85.6344536,41.9414151],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989350":{"id":"n2139989350","loc":[-85.6350794,41.9412392],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989351":{"id":"n2139989351","loc":[-85.6352541,41.9409387],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989353":{"id":"n2139989353","loc":[-85.6357198,41.9408007],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989355":{"id":"n2139989355","loc":[-85.6357235,41.9427088],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989357":{"id":"n2139989357","loc":[-85.6337119,41.9421256],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989359":{"id":"n2139989359","loc":[-85.6336913,41.9420655],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989360":{"id":"n2139989360","loc":[-85.633582,41.9420867],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989362":{"id":"n2139989362","loc":[-85.6336058,41.9421491],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989364":{"id":"n2139989364","loc":[-85.6339685,41.9410995],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989366":{"id":"n2139989366","loc":[-85.6339067,41.9411383],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989368":{"id":"n2139989368","loc":[-85.6339685,41.9411972],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989370":{"id":"n2139989370","loc":[-85.6340398,41.9411619],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139870379":{"id":"n2139870379","loc":[-85.6348391,41.9416651],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2140006363":{"id":"n2140006363","loc":[-85.6353144,41.9430345],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006364":{"id":"n2140006364","loc":[-85.6349191,41.9431422],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140018997":{"id":"n2140018997","loc":[-85.63645945147184,41.942986488012565],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"amenity":"townhall","name":"Three Rivers City Hall"}},"n2140018998":{"id":"n2140018998","loc":[-85.6370319,41.9427919],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2140018999":{"id":"n2140018999","loc":[-85.6360687,41.9427808],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2199856288":{"id":"n2199856288","loc":[-85.6344968,41.9407307],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856289":{"id":"n2199856289","loc":[-85.634492,41.9406036],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856290":{"id":"n2199856290","loc":[-85.634891,41.9406001],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856291":{"id":"n2199856291","loc":[-85.6348894,41.9405288],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856292":{"id":"n2199856292","loc":[-85.6349166,41.94053],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856293":{"id":"n2199856293","loc":[-85.6349166,41.9404956],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856294":{"id":"n2199856294","loc":[-85.6350219,41.9404956],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856295":{"id":"n2199856295","loc":[-85.6350251,41.94053],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856296":{"id":"n2199856296","loc":[-85.6350538,41.9405288],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856297":{"id":"n2199856297","loc":[-85.6350602,41.94079],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856298":{"id":"n2199856298","loc":[-85.6351703,41.9407912],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856299":{"id":"n2199856299","loc":[-85.6351688,41.9409171],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856300":{"id":"n2199856300","loc":[-85.6347889,41.9409135],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856301":{"id":"n2199856301","loc":[-85.6347921,41.94079],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856302":{"id":"n2199856302","loc":[-85.6348942,41.9407888],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856303":{"id":"n2199856303","loc":[-85.6348926,41.9407283],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n185951869":{"id":"n185951869","loc":[-85.6387639,41.957288],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185958643":{"id":"n185958643","loc":[-85.636746,41.929221],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958645":{"id":"n185958645","loc":[-85.636791,41.929363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958647":{"id":"n185958647","loc":[-85.6375975,41.9314987],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185958649":{"id":"n185958649","loc":[-85.637669,41.931667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958651":{"id":"n185958651","loc":[-85.637728,41.931901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958653":{"id":"n185958653","loc":[-85.637724,41.932187],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958656":{"id":"n185958656","loc":[-85.637732,41.932761],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958658":{"id":"n185958658","loc":[-85.637688,41.93398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958660":{"id":"n185958660","loc":[-85.637685,41.934223],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958662":{"id":"n185958662","loc":[-85.6376468,41.9350232],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185958664":{"id":"n185958664","loc":[-85.637564,41.937028],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958666":{"id":"n185958666","loc":[-85.637458,41.938197],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958668":{"id":"n185958668","loc":[-85.637424,41.938692],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185964972":{"id":"n185964972","loc":[-85.6341901,41.9432732],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185971361":{"id":"n185971361","loc":[-85.635762,41.938208],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971364":{"id":"n185971364","loc":[-85.635732,41.9384],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971366":{"id":"n185971366","loc":[-85.635736,41.938697],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185972775":{"id":"n185972775","loc":[-85.635638,42.070357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972777":{"id":"n185972777","loc":[-85.635724,42.069929],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972779":{"id":"n185972779","loc":[-85.635804,42.069248],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972781":{"id":"n185972781","loc":[-85.635869,42.068361],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972783":{"id":"n185972783","loc":[-85.635883,42.067582],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972785":{"id":"n185972785","loc":[-85.635875,42.067114],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972787":{"id":"n185972787","loc":[-85.635778,42.065359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972788":{"id":"n185972788","loc":[-85.635728,42.063416],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972789":{"id":"n185972789","loc":[-85.635665,42.062491],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972790":{"id":"n185972790","loc":[-85.635617,42.061928],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972791":{"id":"n185972791","loc":[-85.635614,42.061898],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972793":{"id":"n185972793","loc":[-85.635379,42.060288],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972795":{"id":"n185972795","loc":[-85.635092,42.05799],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972797":{"id":"n185972797","loc":[-85.634843,42.055781],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972798":{"id":"n185972798","loc":[-85.634817,42.055549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972800":{"id":"n185972800","loc":[-85.634708,42.053942],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972802":{"id":"n185972802","loc":[-85.634447,42.051809],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972805":{"id":"n185972805","loc":[-85.634241,42.04946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972807":{"id":"n185972807","loc":[-85.633787,42.045926],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972809":{"id":"n185972809","loc":[-85.633811,42.045645],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972811":{"id":"n185972811","loc":[-85.63373,42.043626],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972813":{"id":"n185972813","loc":[-85.633698,42.042184],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972814":{"id":"n185972814","loc":[-85.63369,42.04181],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972815":{"id":"n185972815","loc":[-85.633681,42.040714],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972816":{"id":"n185972816","loc":[-85.633571,42.036322],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972817":{"id":"n185972817","loc":[-85.633537,42.034044],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972819":{"id":"n185972819","loc":[-85.633481,42.030785],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972821":{"id":"n185972821","loc":[-85.633452,42.027538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972824":{"id":"n185972824","loc":[-85.633438,42.027427],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972826":{"id":"n185972826","loc":[-85.633342,42.022656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972830":{"id":"n185972830","loc":[-85.63327,42.020724],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972832":{"id":"n185972832","loc":[-85.633198,42.019106],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972834":{"id":"n185972834","loc":[-85.633249,42.018363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972835":{"id":"n185972835","loc":[-85.633139,42.012944],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972836":{"id":"n185972836","loc":[-85.63309,42.008284],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:38Z","tags":{}},"n185972839":{"id":"n185972839","loc":[-85.63298,42.00005],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:38Z","tags":{}},"n185972845":{"id":"n185972845","loc":[-85.6325369,41.9764959],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972847":{"id":"n185972847","loc":[-85.6327549,41.9750005],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972849":{"id":"n185972849","loc":[-85.6329374,41.9742527],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972851":{"id":"n185972851","loc":[-85.6331387,41.9736039],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972862":{"id":"n185972862","loc":[-85.6383589,41.9585023],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972868":{"id":"n185972868","loc":[-85.6393633,41.9551716],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972878":{"id":"n185972878","loc":[-85.639377,41.95335],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972882":{"id":"n185972882","loc":[-85.6389179,41.9516944],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972885":{"id":"n185972885","loc":[-85.6387444,41.9512105],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972891":{"id":"n185972891","loc":[-85.636421,41.946392],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972895":{"id":"n185972895","loc":[-85.635965,41.945809],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972897":{"id":"n185972897","loc":[-85.635683,41.945449],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972899":{"id":"n185972899","loc":[-85.635281,41.9450252],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185972905":{"id":"n185972905","loc":[-85.6324428,41.9425743],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185985217":{"id":"n185985217","loc":[-85.638243,41.943674],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985219":{"id":"n185985219","loc":[-85.638228,41.943747],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985221":{"id":"n185985221","loc":[-85.638163,41.943797],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985222":{"id":"n185985222","loc":[-85.638089,41.943832],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985223":{"id":"n185985223","loc":[-85.637969,41.943841],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985225":{"id":"n185985225","loc":[-85.637841,41.943833],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985227":{"id":"n185985227","loc":[-85.637601,41.943789],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985229":{"id":"n185985229","loc":[-85.637449,41.943754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985231":{"id":"n185985231","loc":[-85.637342,41.943734],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985233":{"id":"n185985233","loc":[-85.637218,41.943703],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985235":{"id":"n185985235","loc":[-85.637151,41.943663],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985238":{"id":"n185985238","loc":[-85.637118,41.943615],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985240":{"id":"n185985240","loc":[-85.637073,41.943494],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185990434":{"id":"n185990434","loc":[-85.6329028,41.9984292],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"railway":"level_crossing"}},"n1475284023":{"id":"n1475284023","loc":[-85.6336163,41.9435806],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475293222":{"id":"n1475293222","loc":[-85.6394045,41.953658],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293226":{"id":"n1475293226","loc":[-85.6364975,41.9638663],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293234":{"id":"n1475293234","loc":[-85.6390449,41.9565145],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293240":{"id":"n1475293240","loc":[-85.636943,41.9473114],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293252":{"id":"n1475293252","loc":[-85.6392115,41.9559003],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293254":{"id":"n1475293254","loc":[-85.6348931,41.9685127],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{"railway":"level_crossing"}},"n1475293260":{"id":"n1475293260","loc":[-85.6375999,41.9485401],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1475293261":{"id":"n1475293261","loc":[-85.6391256,41.9523817],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"railway":"level_crossing"}},"n1475293264":{"id":"n1475293264","loc":[-85.6394155,41.9546493],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"railway":"level_crossing"}},"n1819805614":{"id":"n1819805614","loc":[-85.6345652,41.9363097],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805618":{"id":"n1819805618","loc":[-85.6295334,41.9426862],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805622":{"id":"n1819805622","loc":[-85.6308208,41.9430773],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805626":{"id":"n1819805626","loc":[-85.6274734,41.9406592],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805629":{"id":"n1819805629","loc":[-85.6296943,41.9430533],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805632":{"id":"n1819805632","loc":[-85.6340931,41.9354477],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805636":{"id":"n1819805636","loc":[-85.6304131,41.9436598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805639":{"id":"n1819805639","loc":[-85.6304882,41.9426623],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805641":{"id":"n1819805641","loc":[-85.6336103,41.9367487],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805643":{"id":"n1819805643","loc":[-85.6300376,41.9418084],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805645":{"id":"n1819805645","loc":[-85.6365286,41.9336679],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805647":{"id":"n1819805647","loc":[-85.632016,41.9429221],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805666":{"id":"n1819805666","loc":[-85.6314753,41.9442663],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805669":{"id":"n1819805669","loc":[-85.6268619,41.9402203],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805673":{"id":"n1819805673","loc":[-85.6296728,41.9412099],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805676":{"id":"n1819805676","loc":[-85.6354557,41.932766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805680":{"id":"n1819805680","loc":[-85.632752,41.9431012],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805683":{"id":"n1819805683","loc":[-85.631147,41.9432014],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805687":{"id":"n1819805687","loc":[-85.635284,41.9343942],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805690":{"id":"n1819805690","loc":[-85.6249736,41.9405794],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805694":{"id":"n1819805694","loc":[-85.6294153,41.9417925],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805698":{"id":"n1819805698","loc":[-85.6323486,41.9426986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805702":{"id":"n1819805702","loc":[-85.6340287,41.9373871],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805707":{"id":"n1819805707","loc":[-85.6353698,41.9316326],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805711":{"id":"n1819805711","loc":[-85.6284176,41.940356],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805715":{"id":"n1819805715","loc":[-85.6291471,41.9412897],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805718":{"id":"n1819805718","loc":[-85.6311105,41.943979],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805722":{"id":"n1819805722","loc":[-85.6320868,41.9400128],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805724":{"id":"n1819805724","loc":[-85.635166,41.9324627],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805727":{"id":"n1819805727","loc":[-85.6344686,41.9350567],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805728":{"id":"n1819805728","loc":[-85.6357132,41.9332369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805731":{"id":"n1819805731","loc":[-85.629984,41.9434444],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805760":{"id":"n1819805760","loc":[-85.6330996,41.9378784],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805766":{"id":"n1819805766","loc":[-85.625274,41.9411141],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805770":{"id":"n1819805770","loc":[-85.6326321,41.9412173],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805774":{"id":"n1819805774","loc":[-85.6347047,41.9312096],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805777":{"id":"n1819805777","loc":[-85.6363569,41.9339552],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805780":{"id":"n1819805780","loc":[-85.6327392,41.941926],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805783":{"id":"n1819805783","loc":[-85.6357239,41.9338435],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805786":{"id":"n1819805786","loc":[-85.6356595,41.9346576],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805789":{"id":"n1819805789","loc":[-85.6316469,41.9436598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805792":{"id":"n1819805792","loc":[-85.6350587,41.9354557],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805795":{"id":"n1819805795","loc":[-85.6360028,41.9322791],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805798":{"id":"n1819805798","loc":[-85.63125,41.9443062],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805802":{"id":"n1819805802","loc":[-85.6263362,41.9408109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805805":{"id":"n1819805805","loc":[-85.6315075,41.9438753],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805808":{"id":"n1819805808","loc":[-85.6340008,41.9316051],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805810":{"id":"n1819805810","loc":[-85.6345545,41.9320557],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805812":{"id":"n1819805812","loc":[-85.6250809,41.9408587],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805814":{"id":"n1819805814","loc":[-85.6257783,41.9400926],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805834":{"id":"n1819805834","loc":[-85.6326408,41.9424363],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805838":{"id":"n1819805838","loc":[-85.6365607,41.9334365],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805842":{"id":"n1819805842","loc":[-85.6288253,41.9410343],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805846":{"id":"n1819805846","loc":[-85.6279133,41.9402921],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805849":{"id":"n1819805849","loc":[-85.6289433,41.9405156],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805852":{"id":"n1819805852","loc":[-85.6313787,41.9439152],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805858":{"id":"n1819805858","loc":[-85.6300805,41.9420398],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805861":{"id":"n1819805861","loc":[-85.6321941,41.9396297],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805864":{"id":"n1819805864","loc":[-85.6329129,41.9393903],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805868":{"id":"n1819805868","loc":[-85.632001,41.9434922],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805870":{"id":"n1819805870","loc":[-85.6314903,41.9431535],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805873":{"id":"n1819805873","loc":[-85.6251667,41.9401166],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805876":{"id":"n1819805876","loc":[-85.63287,41.939941],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805878":{"id":"n1819805878","loc":[-85.6307886,41.9437317],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805880":{"id":"n1819805880","loc":[-85.6321727,41.940348],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805883":{"id":"n1819805883","loc":[-85.6265872,41.940113],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805885":{"id":"n1819805885","loc":[-85.6268404,41.9406672],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805887":{"id":"n1819805887","loc":[-85.6325267,41.9389035],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805889":{"id":"n1819805889","loc":[-85.6364964,41.933189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805911":{"id":"n1819805911","loc":[-85.6248663,41.9401804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805922":{"id":"n1819805922","loc":[-85.633267,41.9387199],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805925":{"id":"n1819805925","loc":[-85.6293402,41.9408428],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819848849":{"id":"n1819848849","loc":[-85.6464957,41.9695178],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848850":{"id":"n1819848850","loc":[-85.6497642,41.9611355],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848851":{"id":"n1819848851","loc":[-85.6480943,41.9624818],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848854":{"id":"n1819848854","loc":[-85.6500362,41.9657367],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848855":{"id":"n1819848855","loc":[-85.6493673,41.9783496],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848856":{"id":"n1819848856","loc":[-85.6457409,41.9548007],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848857":{"id":"n1819848857","loc":[-85.651313,41.9760426],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848858":{"id":"n1819848858","loc":[-85.6495819,41.9784772],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848859":{"id":"n1819848859","loc":[-85.6495105,41.9833722],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848860":{"id":"n1819848860","loc":[-85.6405053,41.9492792],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848863":{"id":"n1819848863","loc":[-85.6502293,41.9786826],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848865":{"id":"n1819848865","loc":[-85.6406877,41.9495106],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848870":{"id":"n1819848870","loc":[-85.6493136,41.9704611],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848871":{"id":"n1819848871","loc":[-85.6372249,41.9441284],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819848873":{"id":"n1819848873","loc":[-85.6512379,41.9659441],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848875":{"id":"n1819848875","loc":[-85.6508087,41.9650187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848877":{"id":"n1819848877","loc":[-85.6487166,41.9605352],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848878":{"id":"n1819848878","loc":[-85.6506478,41.9760665],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848879":{"id":"n1819848879","loc":[-85.651431,41.9758512],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848886":{"id":"n1819848886","loc":[-85.6477617,41.9563945],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848889":{"id":"n1819848889","loc":[-85.6497895,41.9832286],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848892":{"id":"n1819848892","loc":[-85.6504868,41.9791931],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848893":{"id":"n1819848893","loc":[-85.6498002,41.9615085],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848894":{"id":"n1819848894","loc":[-85.6404302,41.9502846],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848901":{"id":"n1819848901","loc":[-85.6354412,41.9439886],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848903":{"id":"n1819848903","loc":[-85.6472145,41.9698528],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848904":{"id":"n1819848904","loc":[-85.6401979,41.9486233],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848905":{"id":"n1819848905","loc":[-85.6475042,41.963503],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848909":{"id":"n1819848909","loc":[-85.6343405,41.94358],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848914":{"id":"n1819848914","loc":[-85.6503474,41.9737773],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848915":{"id":"n1819848915","loc":[-85.6389533,41.9470992],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848916":{"id":"n1819848916","loc":[-85.6483625,41.9577907],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848917":{"id":"n1819848917","loc":[-85.6484768,41.9617419],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848918":{"id":"n1819848918","loc":[-85.644078,41.9545693],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848919":{"id":"n1819848919","loc":[-85.6437169,41.9543041],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848920":{"id":"n1819848920","loc":[-85.6478331,41.9627949],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848922":{"id":"n1819848922","loc":[-85.6499144,41.9785889],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848924":{"id":"n1819848924","loc":[-85.647633,41.9720066],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848926":{"id":"n1819848926","loc":[-85.6487987,41.978868],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848927":{"id":"n1819848927","loc":[-85.6495105,41.9730355],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848928":{"id":"n1819848928","loc":[-85.648223,41.9829654],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848929":{"id":"n1819848929","loc":[-85.6514846,41.9659122],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848931":{"id":"n1819848931","loc":[-85.6498753,41.9731871],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848932":{"id":"n1819848932","loc":[-85.640906,41.9508575],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848933":{"id":"n1819848933","loc":[-85.649775,41.9799767],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848934":{"id":"n1819848934","loc":[-85.6507014,41.9739927],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848937":{"id":"n1819848937","loc":[-85.6479763,41.9840899],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848938":{"id":"n1819848938","loc":[-85.6501113,41.9600884],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848939":{"id":"n1819848939","loc":[-85.6389962,41.9478253],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848941":{"id":"n1819848941","loc":[-85.637469,41.9445791],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848942":{"id":"n1819848942","loc":[-85.6494569,41.9601682],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848943":{"id":"n1819848943","loc":[-85.6368803,41.9439351],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819848945":{"id":"n1819848945","loc":[-85.6474398,41.9724213],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848946":{"id":"n1819848946","loc":[-85.6382629,41.9463666],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848948":{"id":"n1819848948","loc":[-85.6489633,41.9830771],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848952":{"id":"n1819848952","loc":[-85.6488882,41.9600326],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848953":{"id":"n1819848953","loc":[-85.6488094,41.9774324],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848954":{"id":"n1819848954","loc":[-85.6491135,41.9600485],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848955":{"id":"n1819848955","loc":[-85.6501435,41.9734583],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848956":{"id":"n1819848956","loc":[-85.6495534,41.960958],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848958":{"id":"n1819848958","loc":[-85.6474683,41.9561491],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848959":{"id":"n1819848959","loc":[-85.6401083,41.9485451],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848960":{"id":"n1819848960","loc":[-85.6481764,41.9678686],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848961":{"id":"n1819848961","loc":[-85.6484017,41.967382],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848962":{"id":"n1819848962","loc":[-85.6501328,41.959897],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848964":{"id":"n1819848964","loc":[-85.6403695,41.9504586],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848966":{"id":"n1819848966","loc":[-85.6398975,41.9491499],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848967":{"id":"n1819848967","loc":[-85.6412455,41.9510187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848968":{"id":"n1819848968","loc":[-85.6482622,41.9619493],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848969":{"id":"n1819848969","loc":[-85.6405841,41.9501474],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848970":{"id":"n1819848970","loc":[-85.6478583,41.9703394],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848971":{"id":"n1819848971","loc":[-85.6493388,41.9832845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848972":{"id":"n1819848972","loc":[-85.6485664,41.9829415],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848974":{"id":"n1819848974","loc":[-85.6491457,41.9779887],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848975":{"id":"n1819848975","loc":[-85.6468889,41.9697033],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848976":{"id":"n1819848976","loc":[-85.6452726,41.9546072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848977":{"id":"n1819848977","loc":[-85.6448435,41.9546072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848979":{"id":"n1819848979","loc":[-85.6485342,41.9763138],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848980":{"id":"n1819848980","loc":[-85.6495282,41.9664087],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848986":{"id":"n1819848986","loc":[-85.6486307,41.9603278],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848987":{"id":"n1819848987","loc":[-85.6492278,41.9791871],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848990":{"id":"n1819848990","loc":[-85.6501934,41.9800724],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848992":{"id":"n1819848992","loc":[-85.6482445,41.9819685],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848993":{"id":"n1819848993","loc":[-85.6481871,41.9704451],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848994":{"id":"n1819848994","loc":[-85.6371364,41.9457602],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848996":{"id":"n1819848996","loc":[-85.6500362,41.9801023],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849000":{"id":"n1819849000","loc":[-85.639007,41.9485914],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849001":{"id":"n1819849001","loc":[-85.6488882,41.9669253],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849002":{"id":"n1819849002","loc":[-85.6484698,41.9565062],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849004":{"id":"n1819849004","loc":[-85.6510769,41.9761064],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849005":{"id":"n1819849005","loc":[-85.6503581,41.9799029],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849006":{"id":"n1819849006","loc":[-85.6489381,41.9703893],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849008":{"id":"n1819849008","loc":[-85.6497457,41.9833588],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849011":{"id":"n1819849011","loc":[-85.6497358,41.9717593],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849012":{"id":"n1819849012","loc":[-85.6494676,41.9796796],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849019":{"id":"n1819849019","loc":[-85.6486093,41.9771034],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849021":{"id":"n1819849021","loc":[-85.6504546,41.9796556],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849022":{"id":"n1819849022","loc":[-85.6371294,41.9454154],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849023":{"id":"n1819849023","loc":[-85.6503436,41.9759249],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849025":{"id":"n1819849025","loc":[-85.6462382,41.9693822],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849026":{"id":"n1819849026","loc":[-85.6497573,41.983093],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849028":{"id":"n1819849028","loc":[-85.6497465,41.9602799],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849029":{"id":"n1819849029","loc":[-85.6374728,41.9460698],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849030":{"id":"n1819849030","loc":[-85.6486592,41.9566039],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849031":{"id":"n1819849031","loc":[-85.6515989,41.9654993],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849032":{"id":"n1819849032","loc":[-85.6387028,41.9482658],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849033":{"id":"n1819849033","loc":[-85.6464742,41.9688398],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849034":{"id":"n1819849034","loc":[-85.6495212,41.9589236],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849035":{"id":"n1819849035","loc":[-85.6490599,41.9790096],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849036":{"id":"n1819849036","loc":[-85.6489918,41.9800724],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849038":{"id":"n1819849038","loc":[-85.6499182,41.9659042],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849040":{"id":"n1819849040","loc":[-85.639758,41.9490143],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849041":{"id":"n1819849041","loc":[-85.6514846,41.9755241],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849042":{"id":"n1819849042","loc":[-85.6436633,41.9540647],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849045":{"id":"n1819849045","loc":[-85.6475541,41.9726387],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849046":{"id":"n1819849046","loc":[-85.6488308,41.9718331],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849047":{"id":"n1819849047","loc":[-85.6377694,41.9460953],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849048":{"id":"n1819849048","loc":[-85.6490706,41.9804452],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849049":{"id":"n1819849049","loc":[-85.6485449,41.9766248],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849051":{"id":"n1819849051","loc":[-85.6483625,41.9790256],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849052":{"id":"n1819849052","loc":[-85.6490706,41.9585167],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849053":{"id":"n1819849053","loc":[-85.6425008,41.9522874],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849054":{"id":"n1819849054","loc":[-85.6475793,41.9632158],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849055":{"id":"n1819849055","loc":[-85.6408631,41.9499399],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849056":{"id":"n1819849056","loc":[-85.6483373,41.9814681],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849057":{"id":"n1819849057","loc":[-85.6313548,41.9442876],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849058":{"id":"n1819849058","loc":[-85.6432663,41.9529796],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849059":{"id":"n1819849059","loc":[-85.6487128,41.9582873],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849060":{"id":"n1819849060","loc":[-85.6482338,41.9817612],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849062":{"id":"n1819849062","loc":[-85.6485664,41.9788661],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849063":{"id":"n1819849063","loc":[-85.6373081,41.9448824],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849064":{"id":"n1819849064","loc":[-85.6472215,41.9557582],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849065":{"id":"n1819849065","loc":[-85.6348984,41.9440414],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819849066":{"id":"n1819849066","loc":[-85.6501972,41.9647315],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849067":{"id":"n1819849067","loc":[-85.6489741,41.9808281],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849068":{"id":"n1819849068","loc":[-85.6420111,41.9515034],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849069":{"id":"n1819849069","loc":[-85.6397972,41.9488882],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849070":{"id":"n1819849070","loc":[-85.6499718,41.9593465],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849071":{"id":"n1819849071","loc":[-85.6486844,41.9811311],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849072":{"id":"n1819849072","loc":[-85.6390392,41.9474663],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849074":{"id":"n1819849074","loc":[-85.6495642,41.9616362],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849075":{"id":"n1819849075","loc":[-85.6483518,41.9791931],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849076":{"id":"n1819849076","loc":[-85.6478974,41.9833104],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849077":{"id":"n1819849077","loc":[-85.640155,41.948719],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849078":{"id":"n1819849078","loc":[-85.6399366,41.9487845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849079":{"id":"n1819849079","loc":[-85.6492959,41.9825348],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849080":{"id":"n1819849080","loc":[-85.6505083,41.9648352],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849081":{"id":"n1819849081","loc":[-85.6492959,41.9645241],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849082":{"id":"n1819849082","loc":[-85.6402049,41.9491835],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849083":{"id":"n1819849083","loc":[-85.6495175,41.9826963],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849084":{"id":"n1819849084","loc":[-85.6480836,41.9728361],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849085":{"id":"n1819849085","loc":[-85.6374349,41.9443425],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849086":{"id":"n1819849086","loc":[-85.6478331,41.9681238],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849089":{"id":"n1819849089","loc":[-85.639368,41.9486169],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849092":{"id":"n1819849092","loc":[-85.6503581,41.9788022],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849093":{"id":"n1819849093","loc":[-85.64862,41.9568014],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849094":{"id":"n1819849094","loc":[-85.6496999,41.9828877],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849095":{"id":"n1819849095","loc":[-85.647472,41.972198],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849096":{"id":"n1819849096","loc":[-85.6485771,41.9644523],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849097":{"id":"n1819849097","loc":[-85.6388353,41.9480488],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849099":{"id":"n1819849099","loc":[-85.6472752,41.9683312],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849104":{"id":"n1819849104","loc":[-85.6479548,41.9836035],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849105":{"id":"n1819849105","loc":[-85.6462489,41.9691668],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849107":{"id":"n1819849107","loc":[-85.6511912,41.9746328],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849108":{"id":"n1819849108","loc":[-85.6498646,41.9714881],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849111":{"id":"n1819849111","loc":[-85.6488239,41.961684],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849112":{"id":"n1819849112","loc":[-85.6469356,41.9553812],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849114":{"id":"n1819849114","loc":[-85.6479548,41.9640853],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849119":{"id":"n1819849119","loc":[-85.6491565,41.961692],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849121":{"id":"n1819849121","loc":[-85.651667,41.9656728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849124":{"id":"n1819849124","loc":[-85.6388423,41.9484414],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849126":{"id":"n1819849126","loc":[-85.6371686,41.9450978],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849127":{"id":"n1819849127","loc":[-85.6502615,41.9656728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849129":{"id":"n1819849129","loc":[-85.6498501,41.9613031],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849131":{"id":"n1819849131","loc":[-85.6513881,41.9653298],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849133":{"id":"n1819849133","loc":[-85.639883,41.9485291],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849139":{"id":"n1819849139","loc":[-85.6508693,41.9658264],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849140":{"id":"n1819849140","loc":[-85.6486806,41.9761642],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849141":{"id":"n1819849141","loc":[-85.6483159,41.9717613],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849144":{"id":"n1819849144","loc":[-85.6443714,41.9546232],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849146":{"id":"n1819849146","loc":[-85.641775,41.9513359],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849147":{"id":"n1819849147","loc":[-85.6495604,41.9757335],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849148":{"id":"n1819849148","loc":[-85.6465671,41.9551678],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849150":{"id":"n1819849150","loc":[-85.6485127,41.9794084],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849151":{"id":"n1819849151","loc":[-85.6499144,41.9757096],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849152":{"id":"n1819849152","loc":[-85.6433736,41.9531072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849154":{"id":"n1819849154","loc":[-85.6489741,41.9607426],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849155":{"id":"n1819849155","loc":[-85.640627,41.9507697],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849156":{"id":"n1819849156","loc":[-85.6509659,41.9743058],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849157":{"id":"n1819849157","loc":[-85.6486844,41.9704431],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849158":{"id":"n1819849158","loc":[-85.6498538,41.9711132],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849159":{"id":"n1819849159","loc":[-85.6358937,41.943719],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849160":{"id":"n1819849160","loc":[-85.6497358,41.9707702],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849161":{"id":"n1819849161","loc":[-85.6480476,41.9564842],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849162":{"id":"n1819849162","loc":[-85.6482982,41.9574556],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849163":{"id":"n1819849163","loc":[-85.6501757,41.9757794],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849164":{"id":"n1819849164","loc":[-85.6372973,41.9459916],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849165":{"id":"n1819849165","loc":[-85.6513773,41.9750775],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849166":{"id":"n1819849166","loc":[-85.6436418,41.9537455],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849167":{"id":"n1819849167","loc":[-85.6483625,41.9571524],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849169":{"id":"n1819849169","loc":[-85.647751,41.9727962],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849170":{"id":"n1819849170","loc":[-85.6504546,41.9656808],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849171":{"id":"n1819849171","loc":[-85.6479977,41.971839],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849172":{"id":"n1819849172","loc":[-85.6482767,41.9642449],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849174":{"id":"n1819849174","loc":[-85.6414317,41.9512086],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849176":{"id":"n1819849176","loc":[-85.6469034,41.9685287],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849179":{"id":"n1819849179","loc":[-85.6408631,41.9497564],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849182":{"id":"n1819849182","loc":[-85.6476721,41.96384],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849183":{"id":"n1819849183","loc":[-85.6479725,41.983111],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849184":{"id":"n1819849184","loc":[-85.640788,41.9500516],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849185":{"id":"n1819849185","loc":[-85.6427798,41.9528778],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849186":{"id":"n1819849186","loc":[-85.6435308,41.9534124],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849187":{"id":"n1819849187","loc":[-85.6483733,41.9821998],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849189":{"id":"n1819849189","loc":[-85.6351752,41.9440796],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819849191":{"id":"n1819849191","loc":[-85.6487021,41.9601463],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849192":{"id":"n1819849192","loc":[-85.6363811,41.9437605],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849193":{"id":"n1819849193","loc":[-85.6490883,41.9759728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849194":{"id":"n1819849194","loc":[-85.6423292,41.9520081],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849195":{"id":"n1819849195","loc":[-85.6500003,41.960242],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849196":{"id":"n1819849196","loc":[-85.6385778,41.9466443],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849197":{"id":"n1819849197","loc":[-85.6494032,41.9718789],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849198":{"id":"n1819849198","loc":[-85.6404339,41.9506501],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849199":{"id":"n1819849199","loc":[-85.6426226,41.9527083],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849200":{"id":"n1819849200","loc":[-85.6439101,41.9545035],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849201":{"id":"n1819849201","loc":[-85.6516563,41.9657845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{}},"n1819849202":{"id":"n1819849202","loc":[-85.6473395,41.9699585],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{}},"n1819858501":{"id":"n1819858501","loc":[-85.6361263,41.9437126],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858503":{"id":"n1819858503","loc":[-85.6350068,41.944034],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819858513":{"id":"n1819858513","loc":[-85.6371402,41.9453282],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858518":{"id":"n1819858518","loc":[-85.6348713,41.9432923],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858523":{"id":"n1819858523","loc":[-85.6357047,41.943799],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858526":{"id":"n1819858526","loc":[-85.6349947,41.9435756],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858531":{"id":"n1819858531","loc":[-85.6350376,41.943827],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1820937508":{"id":"n1820937508","loc":[-85.1026013,42.0881722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937509":{"id":"n1820937509","loc":[-85.0558088,42.102493],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937511":{"id":"n1820937511","loc":[-85.3030116,41.9724451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937513":{"id":"n1820937513","loc":[-85.0353221,42.1027398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937514":{"id":"n1820937514","loc":[-85.0835468,42.1015469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937515":{"id":"n1820937515","loc":[-85.2421298,42.0106305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937517":{"id":"n1820937517","loc":[-85.0090632,42.0910452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937518":{"id":"n1820937518","loc":[-85.086626,42.0948838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937520":{"id":"n1820937520","loc":[-85.2552039,42.0015448],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937521":{"id":"n1820937521","loc":[-85.3739614,41.9969917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937522":{"id":"n1820937522","loc":[-85.4831166,41.993898],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937523":{"id":"n1820937523","loc":[-85.0341084,42.0977657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937524":{"id":"n1820937524","loc":[-85.3272802,41.9710333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937525":{"id":"n1820937525","loc":[-85.2125568,42.0414521],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937526":{"id":"n1820937526","loc":[-85.3798022,41.9992458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937527":{"id":"n1820937527","loc":[-85.2652021,41.999768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937528":{"id":"n1820937528","loc":[-85.3852739,42.0004896],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937529":{"id":"n1820937529","loc":[-85.3911919,42.0030513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937530":{"id":"n1820937530","loc":[-85.5440349,41.9717109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937531":{"id":"n1820937531","loc":[-85.2790155,41.9911764],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937532":{"id":"n1820937532","loc":[-85.4723277,41.9950518],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937533":{"id":"n1820937533","loc":[-85.5690546,41.9653931],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937535":{"id":"n1820937535","loc":[-85.5674882,41.9649623],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937536":{"id":"n1820937536","loc":[-85.6362815,41.9189165],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937537":{"id":"n1820937537","loc":[-85.5659003,41.963638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937539":{"id":"n1820937539","loc":[-85.6391353,41.9122262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937540":{"id":"n1820937540","loc":[-85.4834385,41.9894803],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937541":{"id":"n1820937541","loc":[-85.6399078,41.9160744],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937542":{"id":"n1820937542","loc":[-85.632874,41.941031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937543":{"id":"n1820937543","loc":[-85.1307591,42.0726961],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937544":{"id":"n1820937544","loc":[-85.6444397,41.9128378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937545":{"id":"n1820937545","loc":[-85.6197204,41.9420365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937546":{"id":"n1820937546","loc":[-85.1164857,42.0864631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937547":{"id":"n1820937547","loc":[-85.6476111,41.9142222],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937548":{"id":"n1820937548","loc":[-85.2915747,41.9774223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937549":{"id":"n1820937549","loc":[-85.6430192,41.9102461],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937550":{"id":"n1820937550","loc":[-85.1597495,42.0639017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937551":{"id":"n1820937551","loc":[-85.5504079,41.9701793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937553":{"id":"n1820937553","loc":[-85.2781317,41.9948951],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937555":{"id":"n1820937555","loc":[-85.3724594,41.997518],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937556":{"id":"n1820937556","loc":[-85.5629434,41.9665155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937557":{"id":"n1820937557","loc":[-85.3791971,41.9990808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937558":{"id":"n1820937558","loc":[-85.001891,42.0878843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937560":{"id":"n1820937560","loc":[-85.3140838,41.9709056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937561":{"id":"n1820937561","loc":[-85.2468032,42.0146987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937563":{"id":"n1820937563","loc":[-85.0877378,42.097255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937564":{"id":"n1820937564","loc":[-85.2442498,42.0150654],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937566":{"id":"n1820937566","loc":[-85.3108973,41.9701478],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937568":{"id":"n1820937568","loc":[-85.0344584,42.1016572],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937569":{"id":"n1820937569","loc":[-85.2331025,42.0297387],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937570":{"id":"n1820937570","loc":[-85.5058446,41.9746996],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937571":{"id":"n1820937571","loc":[-85.5622739,41.9676427],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937572":{"id":"n1820937572","loc":[-85.2792687,41.9890337],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937574":{"id":"n1820937574","loc":[-84.9909302,42.08695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937575":{"id":"n1820937575","loc":[-85.6218233,41.9418609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937576":{"id":"n1820937576","loc":[-85.3577437,41.9931062],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937577":{"id":"n1820937577","loc":[-85.639028,41.9165853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937578":{"id":"n1820937578","loc":[-84.9956576,42.0865348],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937579":{"id":"n1820937579","loc":[-85.4828376,41.990198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937580":{"id":"n1820937580","loc":[-85.3244478,41.9720543],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937582":{"id":"n1820937582","loc":[-85.0517479,42.1035159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937583":{"id":"n1820937583","loc":[-85.225646,42.0338025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937584":{"id":"n1820937584","loc":[-84.9941019,42.0862163],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937586":{"id":"n1820937586","loc":[-85.1051762,42.0879452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937587":{"id":"n1820937587","loc":[-85.1245203,42.0753162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937588":{"id":"n1820937588","loc":[-85.3250808,41.9719506],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937589":{"id":"n1820937589","loc":[-85.2720109,41.997933],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937590":{"id":"n1820937590","loc":[-85.2556653,42.0027248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937591":{"id":"n1820937591","loc":[-85.0872483,42.0943544],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937592":{"id":"n1820937592","loc":[-85.2778353,41.9955023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937593":{"id":"n1820937593","loc":[-85.2984733,41.9735538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937594":{"id":"n1820937594","loc":[-85.101578,42.0889552],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937595":{"id":"n1820937595","loc":[-85.3888745,42.0016959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937596":{"id":"n1820937596","loc":[-84.9903508,42.0870654],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937597":{"id":"n1820937597","loc":[-85.6405558,41.9146261],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937598":{"id":"n1820937598","loc":[-85.6460704,41.9141311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937599":{"id":"n1820937599","loc":[-85.0377468,42.1037428],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937600":{"id":"n1820937600","loc":[-85.2298345,42.0312899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937601":{"id":"n1820937601","loc":[-85.1080958,42.0861964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937602":{"id":"n1820937602","loc":[-85.6325307,41.9402329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937603":{"id":"n1820937603","loc":[-85.1165984,42.0832184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937604":{"id":"n1820937604","loc":[-85.6354446,41.9190602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937605":{"id":"n1820937605","loc":[-85.1114592,42.0862959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937606":{"id":"n1820937606","loc":[-85.0858763,42.1001646],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937607":{"id":"n1820937607","loc":[-85.0472083,42.1015151],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937608":{"id":"n1820937608","loc":[-85.0802477,42.1027609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937610":{"id":"n1820937610","loc":[-85.0924585,42.0928564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937611":{"id":"n1820937611","loc":[-85.0329617,42.09827],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937612":{"id":"n1820937612","loc":[-85.2814617,41.993465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937613":{"id":"n1820937613","loc":[-85.3097708,41.9700282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937614":{"id":"n1820937614","loc":[-85.2809427,41.993695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937615":{"id":"n1820937615","loc":[-85.0583233,42.1026494],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937617":{"id":"n1820937617","loc":[-85.2801592,41.9840021],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937619":{"id":"n1820937619","loc":[-85.1064154,42.0863449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937620":{"id":"n1820937620","loc":[-85.0423173,42.1014662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937621":{"id":"n1820937621","loc":[-85.2168913,42.0398107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937622":{"id":"n1820937622","loc":[-85.2798481,41.9833401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937623":{"id":"n1820937623","loc":[-85.0575468,42.1028672],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937625":{"id":"n1820937625","loc":[-85.0130369,42.0893067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937626":{"id":"n1820937626","loc":[-85.0346985,42.1018256],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937627":{"id":"n1820937627","loc":[-85.2231569,42.0372768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937628":{"id":"n1820937628","loc":[-85.2956195,41.9732268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937629":{"id":"n1820937629","loc":[-85.1052312,42.086893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937630":{"id":"n1820937630","loc":[-85.4813356,41.9958436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937631":{"id":"n1820937631","loc":[-85.0961599,42.0914672],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937632":{"id":"n1820937632","loc":[-85.308419,41.9704749],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937633":{"id":"n1820937633","loc":[-85.295952,41.9715119],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937634":{"id":"n1820937634","loc":[-85.3310933,41.9703923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937635":{"id":"n1820937635","loc":[-85.2940745,41.9739686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937636":{"id":"n1820937636","loc":[-85.3803343,42.000484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937637":{"id":"n1820937637","loc":[-85.1174231,42.0845533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937638":{"id":"n1820937638","loc":[-85.0095836,42.089839],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937639":{"id":"n1820937639","loc":[-85.3179354,41.9705866],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937640":{"id":"n1820937640","loc":[-85.257708,42.0001189],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937641":{"id":"n1820937641","loc":[-85.2563522,42.0002771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937642":{"id":"n1820937642","loc":[-85.3181929,41.970419],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937643":{"id":"n1820937643","loc":[-85.2911884,41.9757154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937644":{"id":"n1820937644","loc":[-85.2714423,41.9975862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937645":{"id":"n1820937645","loc":[-85.0193669,42.089888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937646":{"id":"n1820937646","loc":[-85.3889818,42.0039921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937647":{"id":"n1820937647","loc":[-85.3408093,41.9853965],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937648":{"id":"n1820937648","loc":[-85.1258091,42.0748332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937649":{"id":"n1820937649","loc":[-85.5722561,41.962782],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937650":{"id":"n1820937650","loc":[-85.3266902,41.9721819],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937651":{"id":"n1820937651","loc":[-85.1473255,42.065192],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937652":{"id":"n1820937652","loc":[-85.1462526,42.0655106],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937653":{"id":"n1820937653","loc":[-85.4641051,42.0013929],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937654":{"id":"n1820937654","loc":[-85.5620379,41.9700677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937655":{"id":"n1820937655","loc":[-85.3226025,41.971121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937656":{"id":"n1820937656","loc":[-85.0200965,42.0899516],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937657":{"id":"n1820937657","loc":[-85.0624714,42.1044711],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937658":{"id":"n1820937658","loc":[-85.5649562,41.9637178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937659":{"id":"n1820937659","loc":[-85.2360315,42.0253315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937660":{"id":"n1820937660","loc":[-85.3881449,41.9994475],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937661":{"id":"n1820937661","loc":[-85.5032911,41.976263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937662":{"id":"n1820937662","loc":[-85.481297,41.9871414],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937663":{"id":"n1820937663","loc":[-85.1167056,42.0841898],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937664":{"id":"n1820937664","loc":[-85.2891714,41.9787223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937665":{"id":"n1820937665","loc":[-85.4393429,42.0058736],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937666":{"id":"n1820937666","loc":[-85.0077007,42.0895762],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937667":{"id":"n1820937667","loc":[-85.2736202,41.9979171],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937668":{"id":"n1820937668","loc":[-84.9935332,42.0859296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937669":{"id":"n1820937669","loc":[-85.0622769,42.1046713],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937670":{"id":"n1820937670","loc":[-85.2309031,42.0311249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937671":{"id":"n1820937671","loc":[-85.0343726,42.10069],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937672":{"id":"n1820937672","loc":[-85.0596551,42.1048612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937673":{"id":"n1820937673","loc":[-85.1338597,42.0707449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937674":{"id":"n1820937674","loc":[-85.3117663,41.9689194],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937675":{"id":"n1820937675","loc":[-85.0705649,42.1057499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937676":{"id":"n1820937676","loc":[-85.2441425,42.0180944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937677":{"id":"n1820937677","loc":[-85.1171174,42.0862692],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937678":{"id":"n1820937678","loc":[-85.0346824,42.1005519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937680":{"id":"n1820937680","loc":[-85.2389927,42.0229245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937681":{"id":"n1820937681","loc":[-85.0834892,42.1018642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937682":{"id":"n1820937682","loc":[-85.0619443,42.1049459],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937683":{"id":"n1820937683","loc":[-85.2845366,41.9811868],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937684":{"id":"n1820937684","loc":[-85.210411,42.0394123],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937685":{"id":"n1820937685","loc":[-85.4377383,42.0055942],"version":"2","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:51:01Z","tags":{}},"n1820937686":{"id":"n1820937686","loc":[-85.2882058,41.9789138],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937687":{"id":"n1820937687","loc":[-85.2741191,41.9955808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937688":{"id":"n1820937688","loc":[-85.3442211,41.9903575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937689":{"id":"n1820937689","loc":[-85.2641413,41.9995237],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937690":{"id":"n1820937690","loc":[-85.2804489,41.9829174],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937691":{"id":"n1820937691","loc":[-85.5593342,41.9729074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937692":{"id":"n1820937692","loc":[-85.3590912,41.9932601],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937694":{"id":"n1820937694","loc":[-85.4826445,41.9957479],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937695":{"id":"n1820937695","loc":[-85.4539127,42.0063041],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937696":{"id":"n1820937696","loc":[-85.2456767,42.0153683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937697":{"id":"n1820937697","loc":[-85.5794015,41.9489631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937698":{"id":"n1820937698","loc":[-85.4108686,42.0078507],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937699":{"id":"n1820937699","loc":[-85.0616386,42.1051529],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937700":{"id":"n1820937700","loc":[-85.4977979,41.978241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937701":{"id":"n1820937701","loc":[-85.2488417,42.0086319],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937702":{"id":"n1820937702","loc":[-85.5588836,41.9728116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937703":{"id":"n1820937703","loc":[-85.4557366,42.0051241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937705":{"id":"n1820937705","loc":[-85.0723151,42.1056094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937706":{"id":"n1820937706","loc":[-85.0057909,42.0887323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937707":{"id":"n1820937707","loc":[-85.0756786,42.105677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937708":{"id":"n1820937708","loc":[-85.0901504,42.0940001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937709":{"id":"n1820937709","loc":[-85.0979999,42.0910213],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937710":{"id":"n1820937710","loc":[-85.2376301,42.0239686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937711":{"id":"n1820937711","loc":[-85.2780671,41.9902299],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937712":{"id":"n1820937712","loc":[-85.251481,42.0113188],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937713":{"id":"n1820937713","loc":[-85.3114767,41.9690311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937714":{"id":"n1820937714","loc":[-85.2649621,41.9975662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937715":{"id":"n1820937715","loc":[-85.283807,41.9813383],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937716":{"id":"n1820937716","loc":[-85.5515451,41.9703867],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937717":{"id":"n1820937717","loc":[-85.1176605,42.0850896],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937718":{"id":"n1820937718","loc":[-85.1069317,42.0862441],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937719":{"id":"n1820937719","loc":[-85.2739314,41.9976938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937720":{"id":"n1820937720","loc":[-85.5550212,41.9702112],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937721":{"id":"n1820937721","loc":[-85.3076679,41.9719904],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937722":{"id":"n1820937722","loc":[-85.592319,41.9440316],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937723":{"id":"n1820937723","loc":[-85.3139979,41.9704031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937724":{"id":"n1820937724","loc":[-85.0421134,42.1013149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937725":{"id":"n1820937725","loc":[-85.2508373,42.0102741],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937726":{"id":"n1820937726","loc":[-85.0830922,42.1038821],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937727":{"id":"n1820937727","loc":[-85.6342473,41.9360031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937730":{"id":"n1820937730","loc":[-85.0500192,42.1024942],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937731":{"id":"n1820937731","loc":[-85.3498644,41.9926221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937732":{"id":"n1820937732","loc":[-85.0234117,42.0918903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937733":{"id":"n1820937733","loc":[-85.0464425,42.1009408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937734":{"id":"n1820937734","loc":[-85.033938,42.099886],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937736":{"id":"n1820937736","loc":[-85.0152752,42.0886009],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937737":{"id":"n1820937737","loc":[-85.0441894,42.1012671],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937738":{"id":"n1820937738","loc":[-85.4668731,41.9979804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937739":{"id":"n1820937739","loc":[-85.4407377,42.006033],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937740":{"id":"n1820937740","loc":[-85.2262253,42.0344878],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937741":{"id":"n1820937741","loc":[-85.2550001,42.0033706],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937742":{"id":"n1820937742","loc":[-85.3071422,41.9722617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937743":{"id":"n1820937743","loc":[-85.6147852,41.942228],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937744":{"id":"n1820937744","loc":[-85.0183853,42.0901825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937745":{"id":"n1820937745","loc":[-85.6323161,41.9228489],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937746":{"id":"n1820937746","loc":[-85.0095568,42.0901376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937747":{"id":"n1820937747","loc":[-85.2524037,42.0113826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937748":{"id":"n1820937748","loc":[-85.3186864,41.9708578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937749":{"id":"n1820937749","loc":[-85.2805669,41.9870883],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937750":{"id":"n1820937750","loc":[-85.0585768,42.1038144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937751":{"id":"n1820937751","loc":[-85.2970786,41.9715358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937752":{"id":"n1820937752","loc":[-85.1315758,42.0723445],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937753":{"id":"n1820937753","loc":[-85.2448291,42.0175444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937754":{"id":"n1820937754","loc":[-85.2446468,42.0174248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937755":{"id":"n1820937755","loc":[-85.229165,42.032129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937756":{"id":"n1820937756","loc":[-85.5612654,41.9724926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937757":{"id":"n1820937757","loc":[-85.2331776,42.030854],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937758":{"id":"n1820937758","loc":[-85.2271909,42.0334519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937759":{"id":"n1820937759","loc":[-85.1032396,42.0879214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937760":{"id":"n1820937760","loc":[-85.0638447,42.1044154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937761":{"id":"n1820937761","loc":[-85.1260706,42.0745556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937762":{"id":"n1820937762","loc":[-85.3454485,41.99132],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937763":{"id":"n1820937763","loc":[-85.2639321,41.9980088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937764":{"id":"n1820937764","loc":[-85.0837681,42.1013746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937765":{"id":"n1820937765","loc":[-85.2808137,41.9869368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937766":{"id":"n1820937766","loc":[-85.6338997,41.9309373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937767":{"id":"n1820937767","loc":[-85.2267403,42.0332766],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937768":{"id":"n1820937768","loc":[-85.0605831,42.1052074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937769":{"id":"n1820937769","loc":[-85.0259021,42.0930037],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937770":{"id":"n1820937770","loc":[-85.232963,42.0313162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937771":{"id":"n1820937771","loc":[-85.2404947,42.0125381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937772":{"id":"n1820937772","loc":[-85.0910892,42.0935742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937773":{"id":"n1820937773","loc":[-85.2554829,42.0019435],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937774":{"id":"n1820937774","loc":[-85.2799339,41.9867773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937775":{"id":"n1820937775","loc":[-85.1075432,42.0852767],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937776":{"id":"n1820937776","loc":[-85.1176927,42.0854001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937777":{"id":"n1820937777","loc":[-85.1067064,42.0863357],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937778":{"id":"n1820937778","loc":[-85.2517492,42.0106333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937779":{"id":"n1820937779","loc":[-85.0987174,42.0909031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937780":{"id":"n1820937780","loc":[-85.1160083,42.0863994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937781":{"id":"n1820937781","loc":[-85.1268645,42.0739703],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937782":{"id":"n1820937782","loc":[-85.0454702,42.1002852],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937783":{"id":"n1820937783","loc":[-85.1334145,42.0705418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937784":{"id":"n1820937784","loc":[-85.5866542,41.947431],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937786":{"id":"n1820937786","loc":[-85.2359886,42.0250366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937787":{"id":"n1820937787","loc":[-85.3138048,41.9698527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937788":{"id":"n1820937788","loc":[-85.1274291,42.0733081],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937790":{"id":"n1820937790","loc":[-85.6292905,41.9411267],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937791":{"id":"n1820937791","loc":[-85.5958809,41.9417333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937792":{"id":"n1820937792","loc":[-85.1271019,42.0737581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937793":{"id":"n1820937793","loc":[-85.2312679,42.0314437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937794":{"id":"n1820937794","loc":[-85.1081387,42.0863516],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937795":{"id":"n1820937795","loc":[-85.2424473,42.0212109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937796":{"id":"n1820937796","loc":[-85.2710654,41.9975236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937797":{"id":"n1820937797","loc":[-85.4798408,41.9863223],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820937798":{"id":"n1820937798","loc":[-85.035939,42.104296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937799":{"id":"n1820937799","loc":[-85.2178139,42.0395398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937800":{"id":"n1820937800","loc":[-85.0630709,42.1042614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937801":{"id":"n1820937801","loc":[-85.0440124,42.1014861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937802":{"id":"n1820937802","loc":[-85.1321874,42.0720458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937804":{"id":"n1820937804","loc":[-85.079427,42.1029121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937805":{"id":"n1820937805","loc":[-85.2962632,41.9738968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937806":{"id":"n1820937806","loc":[-85.6334748,41.9274627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937807":{"id":"n1820937807","loc":[-85.1057341,42.0872804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937808":{"id":"n1820937808","loc":[-85.4960169,41.9778263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937809":{"id":"n1820937809","loc":[-85.2821226,41.9910273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937810":{"id":"n1820937810","loc":[-85.0013868,42.0885054],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937811":{"id":"n1820937811","loc":[-85.2952547,41.9729795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937812":{"id":"n1820937812","loc":[-85.1298375,42.0667842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937813":{"id":"n1820937813","loc":[-85.1339201,42.0710025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937814":{"id":"n1820937814","loc":[-85.0374356,42.103691],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937815":{"id":"n1820937815","loc":[-85.0061115,42.0880607],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937817":{"id":"n1820937817","loc":[-85.2398402,42.0226934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937818":{"id":"n1820937818","loc":[-85.123501,42.076236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937819":{"id":"n1820937819","loc":[-85.1209489,42.0791294],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937820":{"id":"n1820937820","loc":[-85.0818624,42.1025778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937821":{"id":"n1820937821","loc":[-85.4428835,42.0054749],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937822":{"id":"n1820937822","loc":[-85.4710359,41.9961147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937823":{"id":"n1820937823","loc":[-85.4253354,42.006198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937824":{"id":"n1820937824","loc":[-85.5486483,41.9709451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937825":{"id":"n1820937825","loc":[-85.2303238,42.0310452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937826":{"id":"n1820937826","loc":[-85.6450405,41.9136361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937828":{"id":"n1820937828","loc":[-85.2606853,41.9964073],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937830":{"id":"n1820937830","loc":[-85.097383,42.0911447],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937831":{"id":"n1820937831","loc":[-85.0498207,42.102136],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937832":{"id":"n1820937832","loc":[-85.1232435,42.0763793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937833":{"id":"n1820937833","loc":[-85.394093,42.0055921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937834":{"id":"n1820937834","loc":[-85.3566665,41.9928295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937835":{"id":"n1820937835","loc":[-85.3543276,41.9920002],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937837":{"id":"n1820937837","loc":[-85.084668,42.1034932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937838":{"id":"n1820937838","loc":[-85.4400296,42.0060649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937839":{"id":"n1820937839","loc":[-85.2362246,42.025714],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937840":{"id":"n1820937840","loc":[-85.0409225,42.1012791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937841":{"id":"n1820937841","loc":[-85.2442283,42.019832],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937842":{"id":"n1820937842","loc":[-85.1123001,42.084824],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937843":{"id":"n1820937843","loc":[-85.1603074,42.0638061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937844":{"id":"n1820937844","loc":[-85.1359744,42.0650646],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937845":{"id":"n1820937845","loc":[-85.1757569,42.053849],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937846":{"id":"n1820937846","loc":[-85.5200925,41.9716686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937848":{"id":"n1820937848","loc":[-85.5525322,41.9701315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937849":{"id":"n1820937849","loc":[-85.0406489,42.10149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937850":{"id":"n1820937850","loc":[-85.0142547,42.088825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937851":{"id":"n1820937851","loc":[-85.343749,41.9881884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937852":{"id":"n1820937852","loc":[-85.074996,42.1060205],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937853":{"id":"n1820937853","loc":[-85.2436275,42.0136864],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937854":{"id":"n1820937854","loc":[-85.2641453,41.9980897],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937856":{"id":"n1820937856","loc":[-85.2802343,41.9870086],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937857":{"id":"n1820937857","loc":[-85.0099256,42.0909946],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937858":{"id":"n1820937858","loc":[-85.493957,41.9786079],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937859":{"id":"n1820937859","loc":[-85.0739405,42.1059795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937860":{"id":"n1820937860","loc":[-85.2331605,42.0301423],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937862":{"id":"n1820937862","loc":[-85.2035231,42.0438425],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937863":{"id":"n1820937863","loc":[-85.0884928,42.0986971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937864":{"id":"n1820937864","loc":[-85.131597,42.0690142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937865":{"id":"n1820937865","loc":[-85.3937454,42.0052677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937866":{"id":"n1820937866","loc":[-85.2212729,42.0378561],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937867":{"id":"n1820937867","loc":[-85.0886068,42.0982421],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937868":{"id":"n1820937868","loc":[-85.0875004,42.0968064],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937869":{"id":"n1820937869","loc":[-85.0771323,42.1042642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937870":{"id":"n1820937870","loc":[-85.0164554,42.0894887],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937871":{"id":"n1820937871","loc":[-85.6069102,41.9415577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937872":{"id":"n1820937872","loc":[-85.3273875,41.9704908],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937873":{"id":"n1820937873","loc":[-85.3890891,41.9997983],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937875":{"id":"n1820937875","loc":[-85.5091276,41.9723705],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937876":{"id":"n1820937876","loc":[-85.0770626,42.1047696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937877":{"id":"n1820937877","loc":[-85.612575,41.9419567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937878":{"id":"n1820937878","loc":[-85.3868146,42.0036094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937879":{"id":"n1820937879","loc":[-85.2722738,41.9981204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937880":{"id":"n1820937880","loc":[-85.3064878,41.9723733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937882":{"id":"n1820937882","loc":[-85.1270845,42.0727678],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937884":{"id":"n1820937884","loc":[-85.3316512,41.97923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937885":{"id":"n1820937885","loc":[-85.3932519,42.0042472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937886":{"id":"n1820937886","loc":[-85.2457411,42.0175444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937887":{"id":"n1820937887","loc":[-85.1397509,42.0648415],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937891":{"id":"n1820937891","loc":[-85.3196735,41.9719665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937892":{"id":"n1820937892","loc":[-85.3372473,41.9845033],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937894":{"id":"n1820937894","loc":[-85.3254778,41.9719745],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937897":{"id":"n1820937897","loc":[-85.3185148,41.9691268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937899":{"id":"n1820937899","loc":[-85.5419106,41.9714556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937901":{"id":"n1820937901","loc":[-85.3293509,41.9748368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937903":{"id":"n1820937903","loc":[-85.0798078,42.1028365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937905":{"id":"n1820937905","loc":[-85.3954191,42.0056025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937909":{"id":"n1820937909","loc":[-85.3417534,41.9857155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937913":{"id":"n1820937913","loc":[-84.9927822,42.0857107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937915":{"id":"n1820937915","loc":[-85.5444212,41.9712801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937917":{"id":"n1820937917","loc":[-85.259088,41.9981682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937921":{"id":"n1820937921","loc":[-85.2784576,41.9876358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937922":{"id":"n1820937922","loc":[-84.9971918,42.087753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937924":{"id":"n1820937924","loc":[-85.5310688,41.966899],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820937928":{"id":"n1820937928","loc":[-85.3766436,41.9979326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937930":{"id":"n1820937930","loc":[-85.5494852,41.9704346],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937933":{"id":"n1820937933","loc":[-85.5548281,41.9695412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937935":{"id":"n1820937935","loc":[-85.0768588,42.105088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937937":{"id":"n1820937937","loc":[-85.2646885,41.9978054],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937939":{"id":"n1820937939","loc":[-85.2441532,42.0176082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937941":{"id":"n1820937941","loc":[-85.105553,42.0877928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937943":{"id":"n1820937943","loc":[-85.0879457,42.0958909],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937944":{"id":"n1820937944","loc":[-85.3187015,41.9704402],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937945":{"id":"n1820937945","loc":[-85.5624456,41.970626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937946":{"id":"n1820937946","loc":[-85.0580176,42.1028644],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937948":{"id":"n1820937948","loc":[-85.3016061,41.9726286],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937949":{"id":"n1820937949","loc":[-85.4310388,42.0069418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937950":{"id":"n1820937950","loc":[-85.2945144,41.9740723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937951":{"id":"n1820937951","loc":[-85.1170222,42.082657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937952":{"id":"n1820937952","loc":[-85.0864503,42.0947632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937953":{"id":"n1820937953","loc":[-85.4285926,42.0059533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937970":{"id":"n1820937970","loc":[-85.3629965,41.9938023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937972":{"id":"n1820937972","loc":[-85.2438099,42.0199755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937974":{"id":"n1820937974","loc":[-85.1327654,42.0699285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937977":{"id":"n1820937977","loc":[-85.1515956,42.0611935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937978":{"id":"n1820937978","loc":[-85.0107369,42.0896638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937979":{"id":"n1820937979","loc":[-85.1152626,42.0862083],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937980":{"id":"n1820937980","loc":[-85.4531831,42.0062881],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937981":{"id":"n1820937981","loc":[-85.0341473,42.0985924],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937982":{"id":"n1820937982","loc":[-85.0877485,42.0960171],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937983":{"id":"n1820937983","loc":[-85.2756373,41.9951742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937984":{"id":"n1820937984","loc":[-85.2965421,41.9714401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937985":{"id":"n1820937985","loc":[-85.2409775,42.0226934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937986":{"id":"n1820937986","loc":[-85.0170723,42.0900579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937987":{"id":"n1820937987","loc":[-85.1034663,42.0880555],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937988":{"id":"n1820937988","loc":[-85.0585071,42.1031577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937990":{"id":"n1820937990","loc":[-85.0819174,42.1032373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937992":{"id":"n1820937992","loc":[-85.0546608,42.1030542],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937993":{"id":"n1820937993","loc":[-85.0100811,42.0906125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937995":{"id":"n1820937995","loc":[-85.6304278,41.9432655],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937997":{"id":"n1820937997","loc":[-85.0255628,42.092778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820938011":{"id":"n1820938011","loc":[-85.2316756,42.0317146],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938012":{"id":"n1820938012","loc":[-85.4067917,42.008042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938013":{"id":"n1820938013","loc":[-85.390398,42.0028759],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938014":{"id":"n1820938014","loc":[-85.0161604,42.0886527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938015":{"id":"n1820938015","loc":[-85.125337,42.0744589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938016":{"id":"n1820938016","loc":[-85.2151317,42.0404801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938017":{"id":"n1820938017","loc":[-85.3165085,41.9706025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938018":{"id":"n1820938018","loc":[-85.5641193,41.9640688],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938019":{"id":"n1820938019","loc":[-85.147583,42.0642203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938022":{"id":"n1820938022","loc":[-85.2803781,41.9947886],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938024":{"id":"n1820938024","loc":[-85.2692469,41.9982053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938026":{"id":"n1820938026","loc":[-85.4321975,42.0067505],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938028":{"id":"n1820938028","loc":[-85.572535,41.9633405],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938030":{"id":"n1820938030","loc":[-85.3237505,41.9716475],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938032":{"id":"n1820938032","loc":[-85.6487698,41.9141583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938033":{"id":"n1820938033","loc":[-85.0526371,42.1038315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938034":{"id":"n1820938034","loc":[-85.088069,42.0978731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938035":{"id":"n1820938035","loc":[-85.2516312,42.0102267],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938039":{"id":"n1820938039","loc":[-85.2731374,41.9982958],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938040":{"id":"n1820938040","loc":[-85.5453224,41.9713439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938041":{"id":"n1820938041","loc":[-85.4480548,42.0049647],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938043":{"id":"n1820938043","loc":[-85.2504081,42.010322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938045":{"id":"n1820938045","loc":[-85.2663447,41.99919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938046":{"id":"n1820938046","loc":[-85.0507287,42.102907],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938047":{"id":"n1820938047","loc":[-85.0408246,42.1024743],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938048":{"id":"n1820938048","loc":[-85.2796335,41.9866099],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938050":{"id":"n1820938050","loc":[-85.452475,42.0061127],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938051":{"id":"n1820938051","loc":[-85.2410569,42.0128147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938052":{"id":"n1820938052","loc":[-85.0413302,42.1011477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938053":{"id":"n1820938053","loc":[-85.6327409,41.9197627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938056":{"id":"n1820938056","loc":[-85.1072039,42.0857994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938057":{"id":"n1820938057","loc":[-85.2001114,42.0448145],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938058":{"id":"n1820938058","loc":[-85.2655347,41.9978186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938059":{"id":"n1820938059","loc":[-85.2330918,42.0304874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938060":{"id":"n1820938060","loc":[-85.2601113,41.9966545],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938061":{"id":"n1820938061","loc":[-85.5397863,41.9708494],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938062":{"id":"n1820938062","loc":[-85.2702085,41.9977217],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938063":{"id":"n1820938063","loc":[-85.2219982,42.03699],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938064":{"id":"n1820938064","loc":[-85.0668957,42.105121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938065":{"id":"n1820938065","loc":[-85.2328665,42.0270769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938066":{"id":"n1820938066","loc":[-85.3189654,41.9694778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938067":{"id":"n1820938067","loc":[-85.3814115,42.0022915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938068":{"id":"n1820938068","loc":[-85.2759108,41.9956008],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938069":{"id":"n1820938069","loc":[-85.0391938,42.1034853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938070":{"id":"n1820938070","loc":[-85.2850623,41.9810353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938071":{"id":"n1820938071","loc":[-85.538074,41.970855],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938073":{"id":"n1820938073","loc":[-85.1319661,42.0670932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938074":{"id":"n1820938074","loc":[-85.2816763,41.9913678],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938075":{"id":"n1820938075","loc":[-85.3182144,41.9700282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938076":{"id":"n1820938076","loc":[-85.5909028,41.9458989],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938077":{"id":"n1820938077","loc":[-85.4057617,42.0074361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938078":{"id":"n1820938078","loc":[-85.2620438,41.9967729],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938079":{"id":"n1820938079","loc":[-85.1122143,42.0851107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938080":{"id":"n1820938080","loc":[-85.2443785,42.0174567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938081":{"id":"n1820938081","loc":[-85.0319733,42.0953853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938082":{"id":"n1820938082","loc":[-85.0878276,42.09443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938083":{"id":"n1820938083","loc":[-85.0271789,42.0935809],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938084":{"id":"n1820938084","loc":[-85.0326399,42.0974222],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938085":{"id":"n1820938085","loc":[-85.3989167,42.0065592],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938086":{"id":"n1820938086","loc":[-85.3263361,41.9721261],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938087":{"id":"n1820938087","loc":[-85.2547855,42.0037134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938088":{"id":"n1820938088","loc":[-85.4373259,42.005746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938089":{"id":"n1820938089","loc":[-85.3094275,41.9699245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938090":{"id":"n1820938090","loc":[-85.2783246,41.9872793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938092":{"id":"n1820938092","loc":[-85.0815633,42.1025169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938093":{"id":"n1820938093","loc":[-85.1788511,42.0522134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938095":{"id":"n1820938095","loc":[-85.2830345,41.9816733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938096":{"id":"n1820938096","loc":[-85.0744984,42.1059835],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938097":{"id":"n1820938097","loc":[-85.2788396,41.9879333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938098":{"id":"n1820938098","loc":[-85.3640093,41.9946531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938099":{"id":"n1820938099","loc":[-85.291167,41.9787463],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938100":{"id":"n1820938100","loc":[-85.0772436,42.1038156],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938101":{"id":"n1820938101","loc":[-85.00563,42.0887482],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938102":{"id":"n1820938102","loc":[-85.0326881,42.0961245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938104":{"id":"n1820938104","loc":[-85.0530448,42.1038634],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938105":{"id":"n1820938105","loc":[-85.2625266,41.9970639],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938106":{"id":"n1820938106","loc":[-85.2827556,41.9823512],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938107":{"id":"n1820938107","loc":[-85.2784319,41.9910752],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938108":{"id":"n1820938108","loc":[-85.0882099,42.094393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938109":{"id":"n1820938109","loc":[-85.5718484,41.9645371],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938110":{"id":"n1820938110","loc":[-85.2559764,42.0099317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938111":{"id":"n1820938111","loc":[-85.2969284,41.973179],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938113":{"id":"n1820938113","loc":[-85.3875055,42.0019726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938114":{"id":"n1820938114","loc":[-85.4250779,42.0068199],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938115":{"id":"n1820938115","loc":[-85.0645367,42.104889],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938116":{"id":"n1820938116","loc":[-85.1636762,42.0623724],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938117":{"id":"n1820938117","loc":[-85.0757322,42.1055935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938118":{"id":"n1820938118","loc":[-85.3695197,41.9981559],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938120":{"id":"n1820938120","loc":[-85.1297516,42.0671027],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938121":{"id":"n1820938121","loc":[-85.1057448,42.0875551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938122":{"id":"n1820938122","loc":[-85.2805175,41.9943182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938123":{"id":"n1820938123","loc":[-85.2545173,42.0040722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938124":{"id":"n1820938124","loc":[-84.9966607,42.0871319],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938125":{"id":"n1820938125","loc":[-85.0099899,42.0904612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938126":{"id":"n1820938126","loc":[-85.2489919,42.0091102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938127":{"id":"n1820938127","loc":[-85.0342706,42.0979476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938128":{"id":"n1820938128","loc":[-85.1080891,42.0855884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938129":{"id":"n1820938129","loc":[-85.0128183,42.0905356],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938130":{"id":"n1820938130","loc":[-85.631608,41.9434251],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938131":{"id":"n1820938131","loc":[-85.2551975,42.0008524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938132":{"id":"n1820938132","loc":[-85.6421823,41.9096233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938133":{"id":"n1820938133","loc":[-85.0125059,42.0906284],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938134":{"id":"n1820938134","loc":[-85.5499358,41.9701793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938135":{"id":"n1820938135","loc":[-85.5472107,41.9712323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938136":{"id":"n1820938136","loc":[-85.2760758,41.9958691],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938137":{"id":"n1820938137","loc":[-85.276678,41.9960433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938138":{"id":"n1820938138","loc":[-85.0570319,42.1024731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938140":{"id":"n1820938140","loc":[-85.2394325,42.0227492],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938142":{"id":"n1820938142","loc":[-85.5666341,41.9638829],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938144":{"id":"n1820938144","loc":[-85.258101,41.9996353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938147":{"id":"n1820938147","loc":[-85.2129645,42.0413565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938149":{"id":"n1820938149","loc":[-84.9962369,42.0868373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938151":{"id":"n1820938151","loc":[-85.2570386,42.0084968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938153":{"id":"n1820938153","loc":[-85.3971142,42.0050285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938155":{"id":"n1820938155","loc":[-85.1072093,42.0855566],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938157":{"id":"n1820938157","loc":[-85.2840323,41.9920959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938159":{"id":"n1820938159","loc":[-85.1187924,42.0816458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938161":{"id":"n1820938161","loc":[-85.2681324,41.9985788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938163":{"id":"n1820938163","loc":[-85.0887034,42.0984969],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938165":{"id":"n1820938165","loc":[-85.4133405,42.0073141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938166":{"id":"n1820938166","loc":[-85.0097445,42.0902888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938167":{"id":"n1820938167","loc":[-85.0828133,42.1037388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938168":{"id":"n1820938168","loc":[-85.0549599,42.1030833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938169":{"id":"n1820938169","loc":[-85.4571528,42.0010421],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938178":{"id":"n1820938178","loc":[-85.2706644,41.9975941],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938180":{"id":"n1820938180","loc":[-85.2258606,42.0335794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938182":{"id":"n1820938182","loc":[-85.2832276,41.9814659],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938184":{"id":"n1820938184","loc":[-85.1082299,42.0860928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938185":{"id":"n1820938185","loc":[-85.3839392,42.0022381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938186":{"id":"n1820938186","loc":[-85.2772131,41.995905],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938187":{"id":"n1820938187","loc":[-85.1044895,42.0879214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938188":{"id":"n1820938188","loc":[-85.2135267,42.0407087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938189":{"id":"n1820938189","loc":[-85.2543993,42.0044628],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938190":{"id":"n1820938190","loc":[-85.1501793,42.0617351],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938191":{"id":"n1820938191","loc":[-85.3350587,41.9820469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938192":{"id":"n1820938192","loc":[-85.1350731,42.0655735],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938193":{"id":"n1820938193","loc":[-85.0404008,42.1028843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938194":{"id":"n1820938194","loc":[-85.6323161,41.943042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938195":{"id":"n1820938195","loc":[-85.1259593,42.0742837],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938196":{"id":"n1820938196","loc":[-85.4562988,42.0033758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938197":{"id":"n1820938197","loc":[-85.256824,42.0056826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938198":{"id":"n1820938198","loc":[-85.2742103,41.9963862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938199":{"id":"n1820938199","loc":[-85.0380888,42.1037877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938200":{"id":"n1820938200","loc":[-85.47404,41.9944721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938201":{"id":"n1820938201","loc":[-85.103021,42.087948],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938202":{"id":"n1820938202","loc":[-85.4030151,42.0065113],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938203":{"id":"n1820938203","loc":[-85.2113981,42.040735],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938204":{"id":"n1820938204","loc":[-85.2603433,41.9965137],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938206":{"id":"n1820938206","loc":[-85.1669378,42.0607634],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938207":{"id":"n1820938207","loc":[-85.0642027,42.1046076],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938208":{"id":"n1820938208","loc":[-85.2812428,41.9915696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938209":{"id":"n1820938209","loc":[-85.0839559,42.1038343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938210":{"id":"n1820938210","loc":[-85.1239946,42.0769368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938211":{"id":"n1820938211","loc":[-85.2311177,42.0283042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938212":{"id":"n1820938212","loc":[-85.2791614,41.9882682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938213":{"id":"n1820938213","loc":[-85.2674941,41.9987582],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938214":{"id":"n1820938214","loc":[-85.352787,41.9919579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938215":{"id":"n1820938215","loc":[-85.0874146,42.0952182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938216":{"id":"n1820938216","loc":[-85.0069711,42.0877092],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938217":{"id":"n1820938217","loc":[-85.2059049,42.0404004],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938218":{"id":"n1820938218","loc":[-85.2403552,42.0227332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938219":{"id":"n1820938219","loc":[-85.2492923,42.0098915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938220":{"id":"n1820938220","loc":[-85.269778,41.9979541],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938221":{"id":"n1820938221","loc":[-85.2097673,42.0389024],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938222":{"id":"n1820938222","loc":[-85.0845942,42.1032015],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938223":{"id":"n1820938223","loc":[-84.993206,42.0858142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938224":{"id":"n1820938224","loc":[-85.2108187,42.0402729],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938225":{"id":"n1820938225","loc":[-84.9893959,42.0873043],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938226":{"id":"n1820938226","loc":[-85.2952332,41.9719984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938227":{"id":"n1820938227","loc":[-85.4100961,42.0081536],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938228":{"id":"n1820938228","loc":[-85.3299088,41.9785696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938229":{"id":"n1820938229","loc":[-85.2258176,42.0340097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938230":{"id":"n1820938230","loc":[-85.3146739,41.9711449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938231":{"id":"n1820938231","loc":[-85.5447645,41.9712801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938232":{"id":"n1820938232","loc":[-85.5510087,41.9705941],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938233":{"id":"n1820938233","loc":[-85.5122389,41.9703445],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938234":{"id":"n1820938234","loc":[-85.2792687,41.9865381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938235":{"id":"n1820938235","loc":[-85.1475229,42.0630151],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938237":{"id":"n1820938237","loc":[-85.0332889,42.0996034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938238":{"id":"n1820938238","loc":[-85.2588882,41.9986877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938239":{"id":"n1820938239","loc":[-85.0656458,42.1050892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938240":{"id":"n1820938240","loc":[-84.9913915,42.086098],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938241":{"id":"n1820938241","loc":[-85.4752416,41.9944402],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938242":{"id":"n1820938242","loc":[-85.1214304,42.0791147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938243":{"id":"n1820938243","loc":[-85.0075183,42.0886925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938244":{"id":"n1820938244","loc":[-85.1052888,42.0872087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938245":{"id":"n1820938245","loc":[-85.3104252,41.9703393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938246":{"id":"n1820938246","loc":[-85.232109,42.0318158],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938247":{"id":"n1820938247","loc":[-85.0756075,42.1059528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938248":{"id":"n1820938248","loc":[-85.0075612,42.0890866],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938249":{"id":"n1820938249","loc":[-85.1013312,42.0897474],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938250":{"id":"n1820938250","loc":[-85.1168076,42.0828919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938251":{"id":"n1820938251","loc":[-85.2951367,41.9723334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938252":{"id":"n1820938252","loc":[-85.0879363,42.0976053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938253":{"id":"n1820938253","loc":[-85.0354763,42.1021838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938254":{"id":"n1820938254","loc":[-85.2379627,42.0236339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938255":{"id":"n1820938255","loc":[-85.1308245,42.0685364],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938256":{"id":"n1820938256","loc":[-85.0914446,42.0934774],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938257":{"id":"n1820938257","loc":[-85.2436812,42.014069],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938258":{"id":"n1820938258","loc":[-85.0682529,42.1056106],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938259":{"id":"n1820938259","loc":[-85.290652,41.9766805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938260":{"id":"n1820938260","loc":[-85.0133494,42.0897434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938261":{"id":"n1820938261","loc":[-85.2753047,41.9949429],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938262":{"id":"n1820938262","loc":[-85.0314691,42.0950788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938263":{"id":"n1820938263","loc":[-85.3444786,41.9908359],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938264":{"id":"n1820938264","loc":[-85.0443115,42.1009061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938265":{"id":"n1820938265","loc":[-85.0634853,42.1043159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938267":{"id":"n1820938267","loc":[-85.3978223,42.0053952],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938268":{"id":"n1820938268","loc":[-85.0228659,42.0911885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938269":{"id":"n1820938269","loc":[-85.0220237,42.0906272],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938270":{"id":"n1820938270","loc":[-85.1061525,42.0863369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938271":{"id":"n1820938271","loc":[-85.2382309,42.0233708],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938272":{"id":"n1820938272","loc":[-85.310672,41.9702755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938273":{"id":"n1820938273","loc":[-85.1448192,42.0652613],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938274":{"id":"n1820938274","loc":[-85.6036057,41.9403766],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938275":{"id":"n1820938275","loc":[-85.0778941,42.1032413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938276":{"id":"n1820938276","loc":[-85.1279374,42.0723974],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938277":{"id":"n1820938277","loc":[-85.2806635,41.9847836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938278":{"id":"n1820938278","loc":[-85.2653201,41.9976352],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938279":{"id":"n1820938279","loc":[-85.0351665,42.1001805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938280":{"id":"n1820938280","loc":[-85.0718269,42.1056253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938281":{"id":"n1820938281","loc":[-85.2574248,42.0075322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938282":{"id":"n1820938282","loc":[-85.126666,42.0740778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938283":{"id":"n1820938283","loc":[-85.077705,42.1034733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938284":{"id":"n1820938284","loc":[-85.3535552,41.9919045],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938286":{"id":"n1820938286","loc":[-85.2810711,41.9866657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938287":{"id":"n1820938287","loc":[-85.4567494,42.0019885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938288":{"id":"n1820938288","loc":[-85.2642419,41.9992936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938289":{"id":"n1820938289","loc":[-85.2643344,41.9980925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938290":{"id":"n1820938290","loc":[-85.3270335,41.9776125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938291":{"id":"n1820938291","loc":[-85.1200584,42.0795077],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938292":{"id":"n1820938292","loc":[-85.2290792,42.0340256],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938293":{"id":"n1820938293","loc":[-85.6015887,41.9401372],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938294":{"id":"n1820938294","loc":[-85.5370869,41.970488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938295":{"id":"n1820938295","loc":[-85.3108866,41.9698048],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938297":{"id":"n1820938297","loc":[-85.1556511,42.0628184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938298":{"id":"n1820938298","loc":[-85.0027922,42.0875221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938300":{"id":"n1820938300","loc":[-85.3873338,42.0040614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938301":{"id":"n1820938301","loc":[-85.0350753,42.1004034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938302":{"id":"n1820938302","loc":[-85.6239476,41.9411906],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938304":{"id":"n1820938304","loc":[-85.0118246,42.0897964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938306":{"id":"n1820938306","loc":[-85.4796877,41.995275],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938307":{"id":"n1820938307","loc":[-85.5388636,41.9707856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938309":{"id":"n1820938309","loc":[-85.2971902,41.9727773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938310":{"id":"n1820938310","loc":[-85.5426831,41.9715513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938311":{"id":"n1820938311","loc":[-85.2798373,41.9836671],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938312":{"id":"n1820938312","loc":[-85.2432198,42.0104017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938313":{"id":"n1820938313","loc":[-85.2650412,41.9987554],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938317":{"id":"n1820938317","loc":[-85.0015423,42.0882386],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938318":{"id":"n1820938318","loc":[-85.1409783,42.064879],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938319":{"id":"n1820938319","loc":[-85.1691908,42.058995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938320":{"id":"n1820938320","loc":[-85.1059165,42.0864882],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938321":{"id":"n1820938321","loc":[-85.3664941,41.9965771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938323":{"id":"n1820938323","loc":[-85.3143198,41.9710971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938324":{"id":"n1820938324","loc":[-85.0016067,42.0880675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938325":{"id":"n1820938325","loc":[-85.0148139,42.0887164],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938326":{"id":"n1820938326","loc":[-85.0324682,42.0959056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938327":{"id":"n1820938327","loc":[-85.0898661,42.0939921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938328":{"id":"n1820938328","loc":[-85.2556427,42.0004936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938329":{"id":"n1820938329","loc":[-85.6287112,41.9407437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938330":{"id":"n1820938330","loc":[-84.9913392,42.0866701],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938331":{"id":"n1820938331","loc":[-85.2685777,41.9984632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938332":{"id":"n1820938332","loc":[-85.0078884,42.0901614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938333":{"id":"n1820938333","loc":[-84.999642,42.0878616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938334":{"id":"n1820938334","loc":[-85.0188909,42.0899186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938335":{"id":"n1820938335","loc":[-85.2830238,41.9819843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938336":{"id":"n1820938336","loc":[-85.2491421,42.0096204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938337":{"id":"n1820938337","loc":[-85.0585701,42.1034295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938338":{"id":"n1820938338","loc":[-85.0651965,42.1051636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938339":{"id":"n1820938339","loc":[-85.0583944,42.104292],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938340":{"id":"n1820938340","loc":[-85.119876,42.0801567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938341":{"id":"n1820938341","loc":[-85.0943937,42.0931323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938342":{"id":"n1820938342","loc":[-85.1504583,42.0613209],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938343":{"id":"n1820938343","loc":[-85.0425426,42.1019836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938345":{"id":"n1820938345","loc":[-84.9991391,42.0878206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938346":{"id":"n1820938346","loc":[-85.2563841,42.0094614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938347":{"id":"n1820938347","loc":[-85.0515387,42.103297],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938348":{"id":"n1820938348","loc":[-85.0857261,42.1003636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938349":{"id":"n1820938349","loc":[-85.078971,42.1029241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938350":{"id":"n1820938350","loc":[-85.5699558,41.958931],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938351":{"id":"n1820938351","loc":[-85.3181285,41.9696533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938352":{"id":"n1820938352","loc":[-85.5998506,41.9402329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938353":{"id":"n1820938353","loc":[-85.2567277,42.000317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938354":{"id":"n1820938354","loc":[-85.3082795,41.9708338],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938355":{"id":"n1820938355","loc":[-85.3127856,41.9692784],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938356":{"id":"n1820938356","loc":[-85.0340775,42.1010721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938357":{"id":"n1820938357","loc":[-85.3158111,41.9706583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938359":{"id":"n1820938359","loc":[-85.2312035,42.0280412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938360":{"id":"n1820938360","loc":[-85.2448613,42.018477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938361":{"id":"n1820938361","loc":[-85.29077,41.9759068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938364":{"id":"n1820938364","loc":[-85.3677387,41.9976615],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938365":{"id":"n1820938365","loc":[-85.0785204,42.1030355],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938366":{"id":"n1820938366","loc":[-85.2262039,42.0333722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938367":{"id":"n1820938367","loc":[-85.1226011,42.0780902],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938368":{"id":"n1820938368","loc":[-85.3229673,41.971129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938369":{"id":"n1820938369","loc":[-85.385334,42.0000056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938370":{"id":"n1820938370","loc":[-85.000098,42.0879094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938372":{"id":"n1820938372","loc":[-85.3852481,42.0025091],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938373":{"id":"n1820938373","loc":[-85.3770513,41.9982515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938374":{"id":"n1820938374","loc":[-85.6278314,41.9405362],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938375":{"id":"n1820938375","loc":[-85.6355133,41.9344068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938376":{"id":"n1820938376","loc":[-85.635642,41.9324753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938377":{"id":"n1820938377","loc":[-85.3154463,41.970778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938378":{"id":"n1820938378","loc":[-85.0920334,42.093411],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938379":{"id":"n1820938379","loc":[-85.3269155,41.9722297],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938381":{"id":"n1820938381","loc":[-85.1134334,42.0849184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938382":{"id":"n1820938382","loc":[-85.005968,42.088585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938384":{"id":"n1820938384","loc":[-85.1245203,42.0757183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938385":{"id":"n1820938385","loc":[-85.020704,42.0905396],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938386":{"id":"n1820938386","loc":[-85.119585,42.0808984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938387":{"id":"n1820938387","loc":[-85.0072447,42.0880117],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938388":{"id":"n1820938388","loc":[-85.2742908,41.9960273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938389":{"id":"n1820938389","loc":[-85.3275807,41.9696852],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938390":{"id":"n1820938390","loc":[-85.2385635,42.0231556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938392":{"id":"n1820938392","loc":[-85.0202856,42.0900778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938393":{"id":"n1820938393","loc":[-85.2067847,42.0395398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938394":{"id":"n1820938394","loc":[-85.5183544,41.9713495],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938396":{"id":"n1820938396","loc":[-85.5073037,41.9736787],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938397":{"id":"n1820938397","loc":[-85.2519638,42.0114225],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938398":{"id":"n1820938398","loc":[-85.287487,41.9793285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938399":{"id":"n1820938399","loc":[-85.2298088,42.0336431],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938400":{"id":"n1820938400","loc":[-85.229444,42.0339141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938401":{"id":"n1820938401","loc":[-85.2421791,42.0220239],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938402":{"id":"n1820938402","loc":[-85.2976687,41.9737612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938403":{"id":"n1820938403","loc":[-85.3622069,41.993473],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938404":{"id":"n1820938404","loc":[-85.2465458,42.014906],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938405":{"id":"n1820938405","loc":[-85.5724663,41.9639412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938406":{"id":"n1820938406","loc":[-85.3708501,41.9982037],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938408":{"id":"n1820938408","loc":[-85.2564592,42.0055311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938409":{"id":"n1820938409","loc":[-85.1192846,42.0810856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938410":{"id":"n1820938410","loc":[-85.5623812,41.971663],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938411":{"id":"n1820938411","loc":[-85.3221948,41.9719665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938412":{"id":"n1820938412","loc":[-85.5168738,41.9710305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938413":{"id":"n1820938413","loc":[-85.4546852,42.0061127],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938414":{"id":"n1820938414","loc":[-85.5896153,41.9463617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938415":{"id":"n1820938415","loc":[-85.2978189,41.9722138],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938416":{"id":"n1820938416","loc":[-85.1021681,42.0883581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938417":{"id":"n1820938417","loc":[-85.2797193,41.9912984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938419":{"id":"n1820938419","loc":[-85.2362461,42.0248533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938420":{"id":"n1820938420","loc":[-85.4833639,41.9846252],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820938422":{"id":"n1820938422","loc":[-85.3281064,41.9689433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938424":{"id":"n1820938424","loc":[-85.2416963,42.0130088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938425":{"id":"n1820938425","loc":[-85.5718655,41.9564577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938426":{"id":"n1820938426","loc":[-85.0512812,42.1030701],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938427":{"id":"n1820938427","loc":[-85.1273527,42.0723616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938428":{"id":"n1820938428","loc":[-85.0215033,42.0904083],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938429":{"id":"n1820938429","loc":[-85.6169953,41.942228],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938430":{"id":"n1820938430","loc":[-85.2829165,41.9907243],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938431":{"id":"n1820938431","loc":[-85.2240796,42.0374203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938432":{"id":"n1820938432","loc":[-85.0167598,42.0898442],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938433":{"id":"n1820938433","loc":[-85.2132649,42.0411334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938434":{"id":"n1820938434","loc":[-85.2293839,42.031513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938435":{"id":"n1820938435","loc":[-85.1203374,42.0792608],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938436":{"id":"n1820938436","loc":[-85.109571,42.086268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938437":{"id":"n1820938437","loc":[-85.1079026,42.0853842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938438":{"id":"n1820938438","loc":[-85.109237,42.0862413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938439":{"id":"n1820938439","loc":[-85.2259936,42.0350831],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938440":{"id":"n1820938440","loc":[-85.3669705,41.99679],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938441":{"id":"n1820938441","loc":[-85.2418143,42.0223507],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938442":{"id":"n1820938442","loc":[-85.3101248,41.9702515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938443":{"id":"n1820938443","loc":[-85.069315,42.1059688],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938444":{"id":"n1820938444","loc":[-85.205862,42.0410378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938445":{"id":"n1820938445","loc":[-85.0388076,42.1036604],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938446":{"id":"n1820938446","loc":[-85.2225389,42.0370115],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938447":{"id":"n1820938447","loc":[-85.3241474,41.9719346],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938448":{"id":"n1820938448","loc":[-85.3125496,41.9690789],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938449":{"id":"n1820938449","loc":[-85.1146497,42.0857039],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938450":{"id":"n1820938450","loc":[-85.1333944,42.0714963],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938451":{"id":"n1820938451","loc":[-85.5619306,41.9720937],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938452":{"id":"n1820938452","loc":[-85.2553651,42.0006479],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938453":{"id":"n1820938453","loc":[-85.3151137,41.9710093],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938454":{"id":"n1820938454","loc":[-85.2592315,41.9977947],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938455":{"id":"n1820938455","loc":[-85.2655723,41.9995966],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938456":{"id":"n1820938456","loc":[-85.4820652,41.9959233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938459":{"id":"n1820938459","loc":[-85.450737,42.0055068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938460":{"id":"n1820938460","loc":[-85.2428658,42.0205573],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938461":{"id":"n1820938461","loc":[-85.0835576,42.1021559],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938462":{"id":"n1820938462","loc":[-85.244636,42.0194733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938463":{"id":"n1820938463","loc":[-85.5702562,41.9581332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938465":{"id":"n1820938465","loc":[-85.5680031,41.9659515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938467":{"id":"n1820938467","loc":[-85.2798752,41.9948353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938468":{"id":"n1820938468","loc":[-85.0477407,42.1015537],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938469":{"id":"n1820938469","loc":[-85.6403842,41.913732],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938470":{"id":"n1820938470","loc":[-85.0396029,42.103289],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938471":{"id":"n1820938471","loc":[-85.2824702,41.9907777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938472":{"id":"n1820938472","loc":[-85.2969284,41.9735538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938474":{"id":"n1820938474","loc":[-85.401041,42.0070853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938475":{"id":"n1820938475","loc":[-85.4116625,42.0073883],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938476":{"id":"n1820938476","loc":[-85.0437764,42.1016214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938477":{"id":"n1820938477","loc":[-85.3643269,41.9958436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938478":{"id":"n1820938478","loc":[-85.3895182,42.0009465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938479":{"id":"n1820938479","loc":[-85.636157,41.9333373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938480":{"id":"n1820938480","loc":[-85.2811355,41.9858044],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938481":{"id":"n1820938481","loc":[-85.0239052,42.092153],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938482":{"id":"n1820938482","loc":[-85.2558798,42.0053557],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938483":{"id":"n1820938483","loc":[-85.2544422,42.0047339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938484":{"id":"n1820938484","loc":[-85.4864683,41.9843183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938485":{"id":"n1820938485","loc":[-85.2554185,42.0031075],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938486":{"id":"n1820938486","loc":[-85.3082795,41.9712486],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938487":{"id":"n1820938487","loc":[-85.2433378,42.0133436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938488":{"id":"n1820938488","loc":[-85.0216696,42.0904162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938489":{"id":"n1820938489","loc":[-85.2546138,42.0050289],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938490":{"id":"n1820938490","loc":[-85.2717521,41.9977349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938491":{"id":"n1820938491","loc":[-85.0100489,42.0908195],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938492":{"id":"n1820938492","loc":[-85.207879,42.0392211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938493":{"id":"n1820938493","loc":[-85.0007363,42.0882836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938494":{"id":"n1820938494","loc":[-85.5775303,41.9504097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938495":{"id":"n1820938495","loc":[-85.1131584,42.0847683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938496":{"id":"n1820938496","loc":[-85.0887825,42.0941633],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938497":{"id":"n1820938497","loc":[-85.1185926,42.0818938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938498":{"id":"n1820938498","loc":[-85.2748487,41.9948712],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938499":{"id":"n1820938499","loc":[-85.2566952,42.0090788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938500":{"id":"n1820938500","loc":[-85.0774757,42.1036234],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938501":{"id":"n1820938501","loc":[-85.4190869,42.008903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938502":{"id":"n1820938502","loc":[-85.1140395,42.0850577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938503":{"id":"n1820938503","loc":[-85.1136104,42.0848627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938504":{"id":"n1820938504","loc":[-85.5828089,41.9480638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938505":{"id":"n1820938505","loc":[-85.625514,41.9405202],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938506":{"id":"n1820938506","loc":[-85.2063384,42.0398322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938507":{"id":"n1820938507","loc":[-85.3395476,41.9851636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938508":{"id":"n1820938508","loc":[-85.0328853,42.0963606],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938510":{"id":"n1820938510","loc":[-85.1170369,42.0843702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938511":{"id":"n1820938511","loc":[-85.2784748,41.9868487],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938512":{"id":"n1820938512","loc":[-85.6310501,41.9435528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938514":{"id":"n1820938514","loc":[-85.0334284,42.0981028],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938515":{"id":"n1820938515","loc":[-84.9912091,42.0868226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938516":{"id":"n1820938516","loc":[-85.2806141,41.9940351],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938517":{"id":"n1820938517","loc":[-85.1233025,42.0776734],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938518":{"id":"n1820938518","loc":[-85.2047891,42.0429023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938519":{"id":"n1820938519","loc":[-85.1475443,42.0648312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938520":{"id":"n1820938520","loc":[-85.2644685,41.9990891],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938521":{"id":"n1820938521","loc":[-85.1056281,42.0872553],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938522":{"id":"n1820938522","loc":[-85.4813184,41.9930105],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938523":{"id":"n1820938523","loc":[-85.321551,41.9722936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938524":{"id":"n1820938524","loc":[-85.1564664,42.0631211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938525":{"id":"n1820938525","loc":[-85.4149885,42.0079144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938527":{"id":"n1820938527","loc":[-85.2861888,41.9803653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938528":{"id":"n1820938528","loc":[-85.1301379,42.0682178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938529":{"id":"n1820938529","loc":[-85.4156537,42.0084247],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938530":{"id":"n1820938530","loc":[-85.245151,42.0176082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938531":{"id":"n1820938531","loc":[-85.457818,42.0001651],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938532":{"id":"n1820938532","loc":[-85.310951,41.9694538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938533":{"id":"n1820938533","loc":[-85.1509089,42.0611298],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938534":{"id":"n1820938534","loc":[-85.1108249,42.086321],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938535":{"id":"n1820938535","loc":[-85.1260344,42.0740687],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938536":{"id":"n1820938536","loc":[-85.4561228,42.0042791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938537":{"id":"n1820938537","loc":[-85.2805082,41.9945761],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938538":{"id":"n1820938538","loc":[-85.273352,41.9981921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938539":{"id":"n1820938539","loc":[-85.1084216,42.0864364],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938540":{"id":"n1820938540","loc":[-85.5009737,41.9773637],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938541":{"id":"n1820938541","loc":[-85.3960843,42.0051879],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938542":{"id":"n1820938542","loc":[-85.3425088,41.9865034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938545":{"id":"n1820938545","loc":[-84.9937907,42.0860849],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938546":{"id":"n1820938546","loc":[-85.1084176,42.086065],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938547":{"id":"n1820938547","loc":[-85.3492851,41.9924786],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938548":{"id":"n1820938548","loc":[-85.2512235,42.0101147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938549":{"id":"n1820938549","loc":[-85.3717298,41.9979326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938551":{"id":"n1820938551","loc":[-85.2573712,42.0064081],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938552":{"id":"n1820938552","loc":[-85.2514596,42.010139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938553":{"id":"n1820938553","loc":[-85.416512,42.0088073],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938554":{"id":"n1820938554","loc":[-85.4365964,42.0061606],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938555":{"id":"n1820938555","loc":[-85.4552431,42.0057301],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938556":{"id":"n1820938556","loc":[-85.2916283,41.9778769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938557":{"id":"n1820938557","loc":[-85.100709,42.0902968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938558":{"id":"n1820938558","loc":[-85.4703064,41.9965771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938559":{"id":"n1820938559","loc":[-85.3134722,41.9696134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938560":{"id":"n1820938560","loc":[-85.4834213,41.9885768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938561":{"id":"n1820938561","loc":[-85.2740641,41.9975236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938562":{"id":"n1820938562","loc":[-85.148334,42.0623405],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938563":{"id":"n1820938563","loc":[-85.2358598,42.0263675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938565":{"id":"n1820938565","loc":[-85.2902979,41.9790892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938566":{"id":"n1820938566","loc":[-85.2528865,42.0112869],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938567":{"id":"n1820938567","loc":[-85.2595319,41.9973003],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938568":{"id":"n1820938568","loc":[-85.071151,42.105689],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938570":{"id":"n1820938570","loc":[-85.299278,41.9732188],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938571":{"id":"n1820938571","loc":[-85.0354669,42.1024771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938583":{"id":"n1820938583","loc":[-85.3313937,41.972562],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938585":{"id":"n1820938585","loc":[-85.0756933,42.1058334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938587":{"id":"n1820938587","loc":[-85.3130324,41.9694219],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938590":{"id":"n1820938590","loc":[-85.0934227,42.0931681],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938592":{"id":"n1820938592","loc":[-85.3517956,41.9922553],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938593":{"id":"n1820938593","loc":[-85.4023971,42.0065169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938594":{"id":"n1820938594","loc":[-85.3506798,41.9925583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938595":{"id":"n1820938595","loc":[-85.3673524,41.9971193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938596":{"id":"n1820938596","loc":[-85.1073608,42.0853523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938597":{"id":"n1820938597","loc":[-85.2976579,41.972477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938598":{"id":"n1820938598","loc":[-85.5616517,41.9694295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938599":{"id":"n1820938599","loc":[-85.3552074,41.9921915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938600":{"id":"n1820938600","loc":[-85.4665126,41.9999953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938601":{"id":"n1820938601","loc":[-85.2740695,41.9966226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938602":{"id":"n1820938602","loc":[-85.279376,41.9886669],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938603":{"id":"n1820938603","loc":[-85.0771109,42.1040413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938604":{"id":"n1820938604","loc":[-85.2636049,41.9977895],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938605":{"id":"n1820938605","loc":[-85.3762145,41.9976456],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938606":{"id":"n1820938606","loc":[-85.2321369,42.0289577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938620":{"id":"n1820938620","loc":[-85.4947724,41.9776189],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938622":{"id":"n1820938622","loc":[-85.1547069,42.0622768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938624":{"id":"n1820938624","loc":[-85.0005056,42.0880249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938626":{"id":"n1820938626","loc":[-85.0735596,42.1059357],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938628":{"id":"n1820938628","loc":[-85.4665298,41.99932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938629":{"id":"n1820938629","loc":[-85.434515,42.0065273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938630":{"id":"n1820938630","loc":[-85.117462,42.0823823],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938631":{"id":"n1820938631","loc":[-85.0131777,42.0890707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938632":{"id":"n1820938632","loc":[-85.0875326,42.0961934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938634":{"id":"n1820938634","loc":[-85.6433839,41.9112042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938635":{"id":"n1820938635","loc":[-85.1366181,42.064969],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938636":{"id":"n1820938636","loc":[-85.073109,42.1057925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938638":{"id":"n1820938638","loc":[-85.161406,42.0632541],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938640":{"id":"n1820938640","loc":[-85.6343932,41.9188845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938642":{"id":"n1820938642","loc":[-85.2500004,42.010306],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938644":{"id":"n1820938644","loc":[-85.291918,41.9753166],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938663":{"id":"n1820938663","loc":[-85.2841611,41.9916812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938664":{"id":"n1820938664","loc":[-85.1052955,42.0868134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938665":{"id":"n1820938665","loc":[-85.4606118,42.0005534],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938666":{"id":"n1820938666","loc":[-85.5672736,41.9642922],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938667":{"id":"n1820938667","loc":[-85.6348481,41.9316932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938668":{"id":"n1820938668","loc":[-85.0224904,42.0909576],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938669":{"id":"n1820938669","loc":[-85.0133856,42.0899755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938670":{"id":"n1820938670","loc":[-85.344779,41.991139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938671":{"id":"n1820938671","loc":[-85.632874,41.9425313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938673":{"id":"n1820938673","loc":[-85.4941501,41.9779698],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938675":{"id":"n1820938675","loc":[-85.0862559,42.0997519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938676":{"id":"n1820938676","loc":[-85.0097874,42.0898032],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938678":{"id":"n1820938678","loc":[-84.9913553,42.0863675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938680":{"id":"n1820938680","loc":[-85.0533666,42.1038315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938682":{"id":"n1820938682","loc":[-85.2950294,41.9743914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938684":{"id":"n1820938684","loc":[-85.2517385,42.0104499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938686":{"id":"n1820938686","loc":[-85.0247971,42.0922514],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938688":{"id":"n1820938688","loc":[-85.0807037,42.1026017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938690":{"id":"n1820938690","loc":[-85.52462,41.9722748],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938694":{"id":"n1820938694","loc":[-85.2586535,41.9988818],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938695":{"id":"n1820938695","loc":[-85.0931612,42.092948],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938697":{"id":"n1820938697","loc":[-85.2470822,42.016564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938698":{"id":"n1820938698","loc":[-85.4143018,42.0075158],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938699":{"id":"n1820938699","loc":[-85.0771484,42.104487],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938700":{"id":"n1820938700","loc":[-85.0291208,42.0942775],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938701":{"id":"n1820938701","loc":[-85.6367964,41.9185971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938702":{"id":"n1820938702","loc":[-85.085419,42.1010693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938703":{"id":"n1820938703","loc":[-85.0583877,42.1040584],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938705":{"id":"n1820938705","loc":[-85.2573379,42.0003182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938706":{"id":"n1820938706","loc":[-85.2655937,41.9981575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938707":{"id":"n1820938707","loc":[-85.023181,42.0915758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938708":{"id":"n1820938708","loc":[-85.2318687,42.0274674],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938709":{"id":"n1820938709","loc":[-85.1056389,42.0866184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938710":{"id":"n1820938710","loc":[-85.5276265,41.9700978],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820938711":{"id":"n1820938711","loc":[-85.0864128,42.0945761],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938712":{"id":"n1820938712","loc":[-84.9897071,42.0871888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938714":{"id":"n1820938714","loc":[-85.1328845,42.0665611],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938715":{"id":"n1820938715","loc":[-85.0336537,42.0991377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938716":{"id":"n1820938716","loc":[-85.087597,42.0986692],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938717":{"id":"n1820938717","loc":[-85.1241394,42.0761882],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938718":{"id":"n1820938718","loc":[-85.1176002,42.0847723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938719":{"id":"n1820938719","loc":[-85.2423615,42.0216572],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938721":{"id":"n1820938721","loc":[-85.2196378,42.0387908],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938722":{"id":"n1820938722","loc":[-85.0164272,42.0890082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938723":{"id":"n1820938723","loc":[-85.5917182,41.9451807],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938724":{"id":"n1820938724","loc":[-85.2458806,42.0086638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938725":{"id":"n1820938725","loc":[-85.1264474,42.0740527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938726":{"id":"n1820938726","loc":[-85.1961631,42.04738],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938727":{"id":"n1820938727","loc":[-85.2784643,41.9943648],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938728":{"id":"n1820938728","loc":[-85.2905554,41.9763216],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938729":{"id":"n1820938729","loc":[-85.2913386,41.9771511],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938730":{"id":"n1820938730","loc":[-85.0112519,42.0895683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938732":{"id":"n1820938732","loc":[-85.4290261,42.0064531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938733":{"id":"n1820938733","loc":[-85.3867073,42.0031629],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938734":{"id":"n1820938734","loc":[-85.4943647,41.9836005],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938735":{"id":"n1820938735","loc":[-85.4900303,41.9860728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938736":{"id":"n1820938736","loc":[-85.0866153,42.0944539],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938737":{"id":"n1820938737","loc":[-85.0869532,42.0990911],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938738":{"id":"n1820938738","loc":[-85.6321659,41.9208851],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938739":{"id":"n1820938739","loc":[-85.5930485,41.9433453],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938740":{"id":"n1820938740","loc":[-85.0406851,42.102733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938741":{"id":"n1820938741","loc":[-85.1051131,42.0869846],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938742":{"id":"n1820938742","loc":[-85.1377554,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938743":{"id":"n1820938743","loc":[-85.2795694,41.994604],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938745":{"id":"n1820938745","loc":[-85.4948153,41.9826594],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938746":{"id":"n1820938746","loc":[-85.4488916,42.0050923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938747":{"id":"n1820938747","loc":[-85.1052526,42.0866144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938748":{"id":"n1820938748","loc":[-85.1468749,42.0653991],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938749":{"id":"n1820938749","loc":[-85.0856886,42.1006104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938750":{"id":"n1820938750","loc":[-85.2144022,42.0404004],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938751":{"id":"n1820938751","loc":[-85.277771,41.9907458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938752":{"id":"n1820938752","loc":[-85.1474542,42.0636149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938753":{"id":"n1820938753","loc":[-85.0820515,42.1028075],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938754":{"id":"n1820938754","loc":[-85.1122948,42.08525],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938756":{"id":"n1820938756","loc":[-85.0173352,42.0901933],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938757":{"id":"n1820938757","loc":[-85.2259721,42.0354018],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938758":{"id":"n1820938758","loc":[-85.0872389,42.0987795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938759":{"id":"n1820938759","loc":[-85.2291436,42.031874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938760":{"id":"n1820938760","loc":[-85.3802485,42.0016002],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938761":{"id":"n1820938761","loc":[-85.3945822,42.0057938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938762":{"id":"n1820938762","loc":[-85.5273237,41.9713017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938763":{"id":"n1820938763","loc":[-85.2868862,41.9798629],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938764":{"id":"n1820938764","loc":[-85.2516677,42.0107899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938766":{"id":"n1820938766","loc":[-85.3183002,41.9693103],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938768":{"id":"n1820938768","loc":[-85.2159042,42.0401932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938770":{"id":"n1820938770","loc":[-85.0094481,42.0911141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938771":{"id":"n1820938771","loc":[-85.0244538,42.0922155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938772":{"id":"n1820938772","loc":[-85.231697,42.028862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938773":{"id":"n1820938773","loc":[-85.2102394,42.0390617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938774":{"id":"n1820938774","loc":[-85.2463419,42.0151212],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938775":{"id":"n1820938775","loc":[-85.0726195,42.1056424],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938776":{"id":"n1820938776","loc":[-85.0060431,42.0883262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938778":{"id":"n1820938778","loc":[-85.425889,42.0056982],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938779":{"id":"n1820938779","loc":[-85.1183042,42.0820638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938780":{"id":"n1820938780","loc":[-85.441596,42.0058257],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938781":{"id":"n1820938781","loc":[-85.1124879,42.0847086],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938782":{"id":"n1820938782","loc":[-85.2452733,42.0153894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938783":{"id":"n1820938783","loc":[-85.2741191,41.9969244],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938784":{"id":"n1820938784","loc":[-85.2829487,41.9822236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938785":{"id":"n1820938785","loc":[-85.3202743,41.972142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938786":{"id":"n1820938786","loc":[-85.2345402,42.0266465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938787":{"id":"n1820938787","loc":[-85.3037626,41.9724611],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938789":{"id":"n1820938789","loc":[-85.2474792,42.0161973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938790":{"id":"n1820938790","loc":[-85.2951045,41.9727323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938791":{"id":"n1820938791","loc":[-85.322345,41.9712726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938792":{"id":"n1820938792","loc":[-85.2402372,42.0110394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938793":{"id":"n1820938793","loc":[-85.5135693,41.9698659],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938794":{"id":"n1820938794","loc":[-85.4695339,41.9967366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938796":{"id":"n1820938796","loc":[-85.0418492,42.1011131],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938797":{"id":"n1820938797","loc":[-85.3334107,41.9806337],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938798":{"id":"n1820938798","loc":[-85.5625314,41.9711685],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938799":{"id":"n1820938799","loc":[-85.3755707,41.9973585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938800":{"id":"n1820938800","loc":[-85.5227532,41.9722429],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938801":{"id":"n1820938801","loc":[-85.4267687,42.0052836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938803":{"id":"n1820938803","loc":[-85.0284704,42.0940837],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938804":{"id":"n1820938804","loc":[-85.015585,42.0885305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938805":{"id":"n1820938805","loc":[-85.0765905,42.1053865],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938806":{"id":"n1820938806","loc":[-85.2614953,41.9964551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938808":{"id":"n1820938808","loc":[-85.0307355,42.0947313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938810":{"id":"n1820938810","loc":[-85.3894753,42.0003565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938812":{"id":"n1820938812","loc":[-85.0868848,42.095006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938813":{"id":"n1820938813","loc":[-85.3854198,42.0009465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938814":{"id":"n1820938814","loc":[-85.2659692,41.9993534],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938815":{"id":"n1820938815","loc":[-85.1234259,42.0765266],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938816":{"id":"n1820938816","loc":[-85.1426906,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938818":{"id":"n1820938818","loc":[-85.1014533,42.0893067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938819":{"id":"n1820938819","loc":[-85.0883064,42.098067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938820":{"id":"n1820938820","loc":[-85.0503156,42.102704],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938821":{"id":"n1820938821","loc":[-85.1179649,42.0821884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938822":{"id":"n1820938822","loc":[-85.3484697,41.9921596],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938823":{"id":"n1820938823","loc":[-85.3732962,41.9970874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938824":{"id":"n1820938824","loc":[-85.2784104,41.9898312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938825":{"id":"n1820938825","loc":[-85.4441709,42.0052198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938826":{"id":"n1820938826","loc":[-85.3925438,42.0038326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938829":{"id":"n1820938829","loc":[-85.5717582,41.9621861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938830":{"id":"n1820938830","loc":[-85.0866314,42.0995051],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938831":{"id":"n1820938831","loc":[-85.576672,41.9522769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938832":{"id":"n1820938832","loc":[-85.1587238,42.0636205],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938833":{"id":"n1820938833","loc":[-85.3804245,41.9999155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938834":{"id":"n1820938834","loc":[-85.280083,41.9948843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938836":{"id":"n1820938836","loc":[-85.561892,41.9686693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938837":{"id":"n1820938837","loc":[-85.0158975,42.0885253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938838":{"id":"n1820938838","loc":[-85.4248204,42.007633],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938839":{"id":"n1820938839","loc":[-85.0352738,42.1039657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938840":{"id":"n1820938840","loc":[-85.211956,42.0411812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938841":{"id":"n1820938841","loc":[-85.4816575,41.9908997],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938842":{"id":"n1820938842","loc":[-85.3807635,42.0020308],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938843":{"id":"n1820938843","loc":[-85.0100865,42.0898521],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938844":{"id":"n1820938844","loc":[-85.0103936,42.0897434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938848":{"id":"n1820938848","loc":[-85.2430052,42.0131363],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938849":{"id":"n1820938849","loc":[-85.112559,42.0853723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938851":{"id":"n1820938851","loc":[-85.3641553,41.9952535],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938852":{"id":"n1820938852","loc":[-85.2087373,42.0390777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938853":{"id":"n1820938853","loc":[-85.2473933,42.0148263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938854":{"id":"n1820938854","loc":[-85.0213464,42.090509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938855":{"id":"n1820938855","loc":[-85.0673208,42.1052353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938856":{"id":"n1820938856","loc":[-85.1003053,42.0905528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938857":{"id":"n1820938857","loc":[-85.2617367,41.9965389],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938858":{"id":"n1820938858","loc":[-85.280363,41.9916015],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938859":{"id":"n1820938859","loc":[-85.0038866,42.0873469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938860":{"id":"n1820938860","loc":[-85.2476401,42.0151451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938861":{"id":"n1820938861","loc":[-85.193717,42.0499294],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938862":{"id":"n1820938862","loc":[-85.3478689,41.9917609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938863":{"id":"n1820938863","loc":[-85.5638017,41.9648881],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938864":{"id":"n1820938864","loc":[-85.4356308,42.0064476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938865":{"id":"n1820938865","loc":[-85.0561722,42.1023509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938867":{"id":"n1820938867","loc":[-85.2256031,42.0356034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938868":{"id":"n1820938868","loc":[-85.6102576,41.9420844],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938869":{"id":"n1820938869","loc":[-85.2285213,42.0339938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938870":{"id":"n1820938870","loc":[-85.0326238,42.0978003],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938871":{"id":"n1820938871","loc":[-85.0131389,42.0903736],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938872":{"id":"n1820938872","loc":[-85.2550859,42.0012259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938873":{"id":"n1820938873","loc":[-85.1130029,42.0846966],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938874":{"id":"n1820938874","loc":[-85.1579041,42.06336],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938875":{"id":"n1820938875","loc":[-85.0430522,42.1020234],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938876":{"id":"n1820938876","loc":[-85.2786679,41.9865935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938877":{"id":"n1820938877","loc":[-85.1221666,42.0788706],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938878":{"id":"n1820938878","loc":[-85.2554614,42.0103303],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938879":{"id":"n1820938879","loc":[-85.2349801,42.0265748],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938880":{"id":"n1820938880","loc":[-85.0997434,42.0907864],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938881":{"id":"n1820938881","loc":[-85.0045464,42.0878167],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938882":{"id":"n1820938882","loc":[-85.2728048,41.9982519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938883":{"id":"n1820938883","loc":[-85.3111333,41.9691587],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938884":{"id":"n1820938884","loc":[-85.3219802,41.9721899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938885":{"id":"n1820938885","loc":[-85.3091378,41.9699325],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938887":{"id":"n1820938887","loc":[-85.4242367,42.0085203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938888":{"id":"n1820938888","loc":[-84.9968377,42.0874504],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938890":{"id":"n1820938890","loc":[-85.5443139,41.9714078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938891":{"id":"n1820938891","loc":[-85.6404013,41.9154676],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938892":{"id":"n1820938892","loc":[-85.3644986,41.9962582],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938893":{"id":"n1820938893","loc":[-85.0496772,42.1018323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938894":{"id":"n1820938894","loc":[-85.297261,41.9737373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938895":{"id":"n1820938895","loc":[-85.0327096,42.098071],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938896":{"id":"n1820938896","loc":[-85.3856773,41.9996867],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938897":{"id":"n1820938897","loc":[-85.0493862,42.1015509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938898":{"id":"n1820938898","loc":[-84.9969879,42.0876614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938899":{"id":"n1820938899","loc":[-85.0848625,42.1013587],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938900":{"id":"n1820938900","loc":[-85.5853195,41.9479201],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938901":{"id":"n1820938901","loc":[-85.6329169,41.9387964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938902":{"id":"n1820938902","loc":[-85.0843046,42.1029468],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938903":{"id":"n1820938903","loc":[-85.1228747,42.0778474],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938904":{"id":"n1820938904","loc":[-85.4855456,41.984095],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938905":{"id":"n1820938905","loc":[-85.0573269,42.1026801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938906":{"id":"n1820938906","loc":[-85.2425868,42.0131523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938907":{"id":"n1820938907","loc":[-85.1149622,42.0860053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938908":{"id":"n1820938908","loc":[-85.4833097,41.9951578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938909":{"id":"n1820938909","loc":[-85.075979,42.1056372],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938910":{"id":"n1820938910","loc":[-85.0338509,42.0977139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938911":{"id":"n1820938911","loc":[-85.6384272,41.9115715],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938912":{"id":"n1820938912","loc":[-85.0458363,42.1004074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938913":{"id":"n1820938913","loc":[-85.0592138,42.1048305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938914":{"id":"n1820938914","loc":[-85.2807493,41.9916653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938915":{"id":"n1820938915","loc":[-85.1103274,42.0864193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938916":{"id":"n1820938916","loc":[-85.6267156,41.9404404],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938918":{"id":"n1820938918","loc":[-85.0331374,42.0982911],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938919":{"id":"n1820938919","loc":[-85.5637331,41.965409],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938920":{"id":"n1820938920","loc":[-85.5457515,41.9714237],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938922":{"id":"n1820938922","loc":[-85.082073,42.1030104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938923":{"id":"n1820938923","loc":[-85.0780765,42.103102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938924":{"id":"n1820938924","loc":[-85.4208035,42.0089508],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938925":{"id":"n1820938925","loc":[-85.3469934,41.9914795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938926":{"id":"n1820938926","loc":[-85.0322,42.095619],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938927":{"id":"n1820938927","loc":[-85.4784431,41.9949401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938928":{"id":"n1820938928","loc":[-85.1303095,42.0667523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938929":{"id":"n1820938929","loc":[-85.2463784,42.0084781],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938930":{"id":"n1820938930","loc":[-85.6299986,41.9427707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938931":{"id":"n1820938931","loc":[-85.6325907,41.9238499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938932":{"id":"n1820938932","loc":[-85.4808464,41.9914476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938934":{"id":"n1820938934","loc":[-85.2411599,42.0105292],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938935":{"id":"n1820938935","loc":[-85.0163213,42.0892379],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938936":{"id":"n1820938936","loc":[-85.3290934,41.9682322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938937":{"id":"n1820938937","loc":[-85.4925623,41.9853231],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938938":{"id":"n1820938938","loc":[-85.0338294,42.09892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938940":{"id":"n1820938940","loc":[-85.4174561,42.008903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938941":{"id":"n1820938941","loc":[-85.1165595,42.0838845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938942":{"id":"n1820938942","loc":[-85.2954585,41.9717192],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938943":{"id":"n1820938943","loc":[-85.6330199,41.9257338],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938944":{"id":"n1820938944","loc":[-85.2294654,42.0324478],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938945":{"id":"n1820938945","loc":[-85.5601282,41.9728914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938946":{"id":"n1820938946","loc":[-85.1176324,42.08568],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938947":{"id":"n1820938947","loc":[-85.0210245,42.0906005],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938948":{"id":"n1820938948","loc":[-85.0251887,42.09253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938949":{"id":"n1820938949","loc":[-85.0895832,42.0939551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938950":{"id":"n1820938950","loc":[-84.9915109,42.085842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938951":{"id":"n1820938951","loc":[-85.2187366,42.0393486],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938952":{"id":"n1820938952","loc":[-85.006605,42.087579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938953":{"id":"n1820938953","loc":[-85.046641,42.1012393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938954":{"id":"n1820938954","loc":[-85.052102,42.103695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938955":{"id":"n1820938955","loc":[-85.283925,41.9912825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938956":{"id":"n1820938956","loc":[-85.2326626,42.0316349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938957":{"id":"n1820938957","loc":[-85.1174298,42.0859694],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938958":{"id":"n1820938958","loc":[-85.3802056,41.9994794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938959":{"id":"n1820938959","loc":[-85.4586334,41.9999737],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938960":{"id":"n1820938960","loc":[-85.4302234,42.0069418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938961":{"id":"n1820938961","loc":[-85.092201,42.0930674],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938962":{"id":"n1820938962","loc":[-85.3684511,41.9979382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938963":{"id":"n1820938963","loc":[-85.4618735,42.0011856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938964":{"id":"n1820938964","loc":[-85.4828205,41.9877793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938965":{"id":"n1820938965","loc":[-85.0837789,42.1025726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938966":{"id":"n1820938966","loc":[-85.0176195,42.090253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938967":{"id":"n1820938967","loc":[-85.3801627,42.001074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938968":{"id":"n1820938968","loc":[-85.4767007,41.994488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938969":{"id":"n1820938969","loc":[-85.274268,41.9957495],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938970":{"id":"n1820938970","loc":[-85.2977438,41.9719506],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938971":{"id":"n1820938971","loc":[-85.2425546,42.0208682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938972":{"id":"n1820938972","loc":[-85.2557082,42.002382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938973":{"id":"n1820938973","loc":[-85.3187937,41.9691986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938975":{"id":"n1820938975","loc":[-85.2448077,42.0153045],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938977":{"id":"n1820938977","loc":[-85.0343015,42.0997718],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938978":{"id":"n1820938978","loc":[-85.2449364,42.01874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938979":{"id":"n1820938979","loc":[-85.2598391,41.9969602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938980":{"id":"n1820938980","loc":[-85.4294724,42.0067665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938981":{"id":"n1820938981","loc":[-85.428082,42.0055124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938983":{"id":"n1820938983","loc":[-85.5436315,41.9717484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938985":{"id":"n1820938985","loc":[-85.5978336,41.9407437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938986":{"id":"n1820938986","loc":[-85.491661,41.9860249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938987":{"id":"n1820938987","loc":[-85.4942789,41.9801392],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938988":{"id":"n1820938988","loc":[-85.0416306,42.1010841],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938989":{"id":"n1820938989","loc":[-85.2653644,41.9984433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938990":{"id":"n1820938990","loc":[-85.1028266,42.0881124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938991":{"id":"n1820938991","loc":[-85.0163146,42.0887932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938992":{"id":"n1820938992","loc":[-85.5282209,41.9678112],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820938993":{"id":"n1820938993","loc":[-85.5442752,41.9715888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938994":{"id":"n1820938994","loc":[-85.5634327,41.9658558],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938995":{"id":"n1820938995","loc":[-85.0384227,42.1037627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938996":{"id":"n1820938996","loc":[-85.1144258,42.0854439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938997":{"id":"n1820938997","loc":[-85.1870651,42.0506305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938998":{"id":"n1820938998","loc":[-85.1256159,42.0747376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938999":{"id":"n1820938999","loc":[-85.3272695,41.9715836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939000":{"id":"n1820939000","loc":[-85.0543067,42.103098],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939001":{"id":"n1820939001","loc":[-85.4678173,41.9973585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939003":{"id":"n1820939003","loc":[-85.0266626,42.0933154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939004":{"id":"n1820939004","loc":[-85.0353046,42.1019728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939005":{"id":"n1820939005","loc":[-85.1237961,42.0762798],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939006":{"id":"n1820939006","loc":[-85.2812214,41.9826702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939007":{"id":"n1820939007","loc":[-85.2927763,41.9747343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939008":{"id":"n1820939008","loc":[-85.3270979,41.9720862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939009":{"id":"n1820939009","loc":[-85.488657,41.9856581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939010":{"id":"n1820939010","loc":[-85.3087301,41.9701399],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939011":{"id":"n1820939011","loc":[-85.0276939,42.093768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939012":{"id":"n1820939012","loc":[-85.2956516,41.9748779],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939013":{"id":"n1820939013","loc":[-85.1298579,42.0726443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939014":{"id":"n1820939014","loc":[-85.105144,42.0870893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939015":{"id":"n1820939015","loc":[-85.0677486,42.1053917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939016":{"id":"n1820939016","loc":[-85.0333681,42.0993459],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939017":{"id":"n1820939017","loc":[-85.6384272,41.910805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939018":{"id":"n1820939018","loc":[-85.399496,42.006894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939019":{"id":"n1820939019","loc":[-85.2648427,41.9998318],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939020":{"id":"n1820939020","loc":[-85.1237424,42.0766779],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939021":{"id":"n1820939021","loc":[-85.2515025,42.0109442],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939022":{"id":"n1820939022","loc":[-85.5566306,41.9718385],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939023":{"id":"n1820939023","loc":[-85.090644,42.0938369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939024":{"id":"n1820939024","loc":[-85.1245525,42.074914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939025":{"id":"n1820939025","loc":[-85.1099934,42.0863926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939026":{"id":"n1820939026","loc":[-85.1251653,42.0744589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939027":{"id":"n1820939027","loc":[-85.401792,42.0068143],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939028":{"id":"n1820939028","loc":[-85.0094763,42.0899584],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939029":{"id":"n1820939029","loc":[-85.1330779,42.0705605],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939030":{"id":"n1820939030","loc":[-85.4935064,41.984398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939031":{"id":"n1820939031","loc":[-85.5713334,41.9613939],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939032":{"id":"n1820939032","loc":[-85.0873945,42.0964669],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939033":{"id":"n1820939033","loc":[-85.0886497,42.0986481],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939034":{"id":"n1820939034","loc":[-85.3276343,41.9758897],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939035":{"id":"n1820939035","loc":[-85.1304386,42.0727387],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939036":{"id":"n1820939036","loc":[-85.2551932,42.0052999],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939037":{"id":"n1820939037","loc":[-85.2206936,42.0384458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939038":{"id":"n1820939038","loc":[-85.2313645,42.0286389],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939039":{"id":"n1820939039","loc":[-85.0754586,42.1059835],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939040":{"id":"n1820939040","loc":[-85.0663324,42.1050812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939041":{"id":"n1820939041","loc":[-85.2406234,42.0106887],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939042":{"id":"n1820939042","loc":[-85.0685962,42.1058175],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939043":{"id":"n1820939043","loc":[-85.0689462,42.1059437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939044":{"id":"n1820939044","loc":[-85.0586144,42.1046144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939045":{"id":"n1820939045","loc":[-85.3650565,41.9965452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939047":{"id":"n1820939047","loc":[-85.5752558,41.9536014],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939048":{"id":"n1820939048","loc":[-85.5110159,41.9710624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939050":{"id":"n1820939050","loc":[-85.2832641,41.9926477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939051":{"id":"n1820939051","loc":[-85.0078402,42.0898947],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939052":{"id":"n1820939052","loc":[-85.3882737,42.0017916],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939053":{"id":"n1820939053","loc":[-85.1718945,42.0564937],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939054":{"id":"n1820939054","loc":[-85.0947048,42.0929293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939055":{"id":"n1820939055","loc":[-85.4456944,42.0051082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939056":{"id":"n1820939056","loc":[-85.3139872,41.9706903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939057":{"id":"n1820939057","loc":[-85.3893895,42.0034021],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939058":{"id":"n1820939058","loc":[-85.2425332,42.0106089],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939059":{"id":"n1820939059","loc":[-85.6085624,41.9420844],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939060":{"id":"n1820939060","loc":[-85.210411,42.0397789],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939061":{"id":"n1820939061","loc":[-85.2762542,41.9960473],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939062":{"id":"n1820939062","loc":[-85.4686584,41.9969973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939063":{"id":"n1820939063","loc":[-85.3860421,42.0018394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939064":{"id":"n1820939064","loc":[-85.5636944,41.9644414],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939065":{"id":"n1820939065","loc":[-85.3267331,41.9766554],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939066":{"id":"n1820939066","loc":[-85.0868996,42.0943822],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939067":{"id":"n1820939067","loc":[-85.104861,42.0880038],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939068":{"id":"n1820939068","loc":[-85.5537123,41.9695093],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939069":{"id":"n1820939069","loc":[-85.6325092,41.9396743],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939070":{"id":"n1820939070","loc":[-85.3869648,42.0024454],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939071":{"id":"n1820939071","loc":[-85.2775349,41.9957335],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939072":{"id":"n1820939072","loc":[-85.2055616,42.0421533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939073":{"id":"n1820939073","loc":[-85.4731431,41.9946531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939074":{"id":"n1820939074","loc":[-85.0399609,42.1030833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939075":{"id":"n1820939075","loc":[-85.3055758,41.9725169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939076":{"id":"n1820939076","loc":[-85.4834599,41.994488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939077":{"id":"n1820939077","loc":[-85.3819866,42.0023018],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939078":{"id":"n1820939078","loc":[-85.1218756,42.0789992],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939079":{"id":"n1820939079","loc":[-85.2793159,41.9944458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939080":{"id":"n1820939080","loc":[-85.2495498,42.0101466],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939081":{"id":"n1820939081","loc":[-85.0035969,42.0872434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939082":{"id":"n1820939082","loc":[-85.1054243,42.0865626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939083":{"id":"n1820939083","loc":[-85.0917665,42.0934774],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939084":{"id":"n1820939084","loc":[-85.3442211,41.988938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939086":{"id":"n1820939086","loc":[-85.273989,41.9953588],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939087":{"id":"n1820939087","loc":[-85.1142541,42.0852488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939089":{"id":"n1820939089","loc":[-85.1526684,42.0615758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939090":{"id":"n1820939090","loc":[-85.2538843,42.0110159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939091":{"id":"n1820939091","loc":[-85.28341,41.9909635],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939092":{"id":"n1820939092","loc":[-85.3963178,42.0050217],"version":"2","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:29Z","tags":{}},"n1820939093":{"id":"n1820939093","loc":[-85.0851682,42.1012472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939095":{"id":"n1820939095","loc":[-85.2811784,41.986243],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939096":{"id":"n1820939096","loc":[-85.4274125,42.0052995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939097":{"id":"n1820939097","loc":[-85.0871262,42.0951652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939099":{"id":"n1820939099","loc":[-85.1314253,42.0671665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939100":{"id":"n1820939100","loc":[-85.2778997,41.991001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939101":{"id":"n1820939101","loc":[-85.112107,42.0862812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939102":{"id":"n1820939102","loc":[-85.299911,41.9729955],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939103":{"id":"n1820939103","loc":[-85.639822,41.9094796],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939104":{"id":"n1820939104","loc":[-85.122294,42.0785334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939105":{"id":"n1820939105","loc":[-85.2476294,42.015719],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939106":{"id":"n1820939106","loc":[-85.4946007,41.9814631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939107":{"id":"n1820939107","loc":[-85.0879524,42.0986919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939108":{"id":"n1820939108","loc":[-85.0342814,42.098274],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939109":{"id":"n1820939109","loc":[-85.2450695,42.0095463],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939110":{"id":"n1820939110","loc":[-85.3847546,42.0024135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939111":{"id":"n1820939111","loc":[-85.2961344,41.9742558],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939112":{"id":"n1820939112","loc":[-85.27899,41.994317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939114":{"id":"n1820939114","loc":[-85.1017644,42.0886618],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939115":{"id":"n1820939115","loc":[-85.076215,42.1056333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939116":{"id":"n1820939116","loc":[-85.1198009,42.0805349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939117":{"id":"n1820939117","loc":[-85.11988,42.0798513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939118":{"id":"n1820939118","loc":[-85.147819,42.0625476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939119":{"id":"n1820939119","loc":[-85.0585969,42.1029042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939120":{"id":"n1820939120","loc":[-85.1248596,42.0745744],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939121":{"id":"n1820939121","loc":[-85.3023786,41.9725249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939123":{"id":"n1820939123","loc":[-85.0119332,42.0900699],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939124":{"id":"n1820939124","loc":[-85.2466852,42.0170343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939125":{"id":"n1820939125","loc":[-85.0033019,42.0872792],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939126":{"id":"n1820939126","loc":[-85.0042084,42.0875778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939128":{"id":"n1820939128","loc":[-85.0052961,42.0885424],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939130":{"id":"n1820939130","loc":[-85.0647942,42.10508],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939131":{"id":"n1820939131","loc":[-85.2824123,41.9825107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939132":{"id":"n1820939132","loc":[-85.3210039,41.9723255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939133":{"id":"n1820939133","loc":[-85.0491033,42.1014184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939134":{"id":"n1820939134","loc":[-85.1127776,42.0855168],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939135":{"id":"n1820939135","loc":[-85.1243768,42.0759322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939137":{"id":"n1820939137","loc":[-85.125974,42.0747547],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939138":{"id":"n1820939138","loc":[-85.1071248,42.0859973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939139":{"id":"n1820939139","loc":[-85.5326175,41.9674833],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1820939140":{"id":"n1820939140","loc":[-85.1338715,42.0660833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939142":{"id":"n1820939142","loc":[-85.649671,41.9135675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939144":{"id":"n1820939144","loc":[-85.0236545,42.0920444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939145":{"id":"n1820939145","loc":[-85.1084391,42.0859376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939146":{"id":"n1820939146","loc":[-85.1539988,42.0618626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939147":{"id":"n1820939147","loc":[-85.2354521,42.026511],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939148":{"id":"n1820939148","loc":[-85.2362246,42.0260408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939149":{"id":"n1820939149","loc":[-85.2401342,42.0115233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939150":{"id":"n1820939150","loc":[-85.295319,41.9747423],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939151":{"id":"n1820939151","loc":[-85.1164696,42.0835409],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939152":{"id":"n1820939152","loc":[-85.3232891,41.9712885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939153":{"id":"n1820939153","loc":[-85.2574463,42.0068944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939155":{"id":"n1820939155","loc":[-85.5704064,41.9598246],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939156":{"id":"n1820939156","loc":[-85.0349077,42.0998116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939157":{"id":"n1820939157","loc":[-85.0949529,42.0925619],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939159":{"id":"n1820939159","loc":[-85.0179829,42.0902343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939160":{"id":"n1820939160","loc":[-85.0405832,42.1016942],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939161":{"id":"n1820939161","loc":[-85.2534015,42.0111833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939162":{"id":"n1820939162","loc":[-85.0839881,42.102708],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939163":{"id":"n1820939163","loc":[-85.0341996,42.1008385],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939164":{"id":"n1820939164","loc":[-85.1037761,42.0879731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939173":{"id":"n1820939173","loc":[-85.0460616,42.1005786],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939177":{"id":"n1820939177","loc":[-85.0061651,42.0878059],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939181":{"id":"n1820939181","loc":[-85.1456775,42.0654684],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939183":{"id":"n1820939183","loc":[-85.1325508,42.0718439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939185":{"id":"n1820939185","loc":[-85.2485842,42.008329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939187":{"id":"n1820939187","loc":[-85.2744128,41.9949322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939189":{"id":"n1820939189","loc":[-85.2579025,41.9999542],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939191":{"id":"n1820939191","loc":[-85.3358998,41.9828987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939193":{"id":"n1820939193","loc":[-85.3192658,41.9716714],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939194":{"id":"n1820939194","loc":[-85.6400795,41.9130725],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939195":{"id":"n1820939195","loc":[-85.3278489,41.9780591],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939196":{"id":"n1820939196","loc":[-85.2800197,41.983061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939197":{"id":"n1820939197","loc":[-85.3278167,41.9692943],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939198":{"id":"n1820939198","loc":[-85.3366894,41.9838653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939199":{"id":"n1820939199","loc":[-85.0328383,42.0969923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939201":{"id":"n1820939201","loc":[-85.3259284,41.9720383],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939217":{"id":"n1820939217","loc":[-85.1840181,42.0503277],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939220":{"id":"n1820939220","loc":[-85.422563,42.0089986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939222":{"id":"n1820939222","loc":[-85.555386,41.9707856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939224":{"id":"n1820939224","loc":[-85.3830809,42.002254],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939226":{"id":"n1820939226","loc":[-84.9917938,42.0857517],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939227":{"id":"n1820939227","loc":[-85.2936775,41.9740484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939228":{"id":"n1820939228","loc":[-85.2632133,41.9975024],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939229":{"id":"n1820939229","loc":[-85.2809424,41.9853259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939230":{"id":"n1820939230","loc":[-85.242104,42.0131204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939232":{"id":"n1820939232","loc":[-85.2610246,41.9963901],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939233":{"id":"n1820939233","loc":[-85.2335531,42.0268378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939234":{"id":"n1820939234","loc":[-85.3188839,41.9713575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939235":{"id":"n1820939235","loc":[-85.2413637,42.0225658],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939237":{"id":"n1820939237","loc":[-85.0010796,42.0887215],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939239":{"id":"n1820939239","loc":[-85.2241697,42.0362624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939243":{"id":"n1820939243","loc":[-85.0368456,42.1040134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939244":{"id":"n1820939244","loc":[-85.1327986,42.069524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939260":{"id":"n1820939260","loc":[-85.5408163,41.9711206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939261":{"id":"n1820939261","loc":[-85.2959199,41.9746546],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939262":{"id":"n1820939262","loc":[-85.3298659,41.9683598],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939263":{"id":"n1820939263","loc":[-85.2240581,42.0358425],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939264":{"id":"n1820939264","loc":[-85.2438206,42.0101944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939265":{"id":"n1820939265","loc":[-85.3984489,42.0059589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939266":{"id":"n1820939266","loc":[-85.2330811,42.0294279],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939268":{"id":"n1820939268","loc":[-85.1126877,42.0857704],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939271":{"id":"n1820939271","loc":[-85.254925,42.0106253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939273":{"id":"n1820939273","loc":[-85.4328046,42.0064662],"version":"2","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:51:01Z","tags":{}},"n1820939277":{"id":"n1820939277","loc":[-85.289622,41.9789616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939279":{"id":"n1820939279","loc":[-85.4574532,42.0004043],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939281":{"id":"n1820939281","loc":[-85.4803486,41.9867211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939283":{"id":"n1820939283","loc":[-85.157475,42.0631848],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939285":{"id":"n1820939285","loc":[-85.2571458,42.0059935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939287":{"id":"n1820939287","loc":[-85.2818544,41.9825984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939289":{"id":"n1820939289","loc":[-85.2298302,42.0328781],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939291":{"id":"n1820939291","loc":[-85.4819523,41.984821],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820939301":{"id":"n1820939301","loc":[-85.3139765,41.9701159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939304":{"id":"n1820939304","loc":[-85.0424447,42.101742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939306":{"id":"n1820939306","loc":[-85.6360283,41.9338482],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939310":{"id":"n1820939310","loc":[-85.3463025,41.9913622],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939312":{"id":"n1820939312","loc":[-85.4664869,41.9988097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939314":{"id":"n1820939314","loc":[-85.149364,42.0622449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939316":{"id":"n1820939316","loc":[-85.2460415,42.0153125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939318":{"id":"n1820939318","loc":[-85.4806103,41.9924523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939320":{"id":"n1820939320","loc":[-85.2449042,42.0190987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939322":{"id":"n1820939322","loc":[-85.5280165,41.9689263],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939324":{"id":"n1820939324","loc":[-85.0051204,42.0882625],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939326":{"id":"n1820939326","loc":[-85.1240925,42.0771546],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939329":{"id":"n1820939329","loc":[-85.2261653,42.0342225],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939331":{"id":"n1820939331","loc":[-85.5259933,41.972211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939333":{"id":"n1820939333","loc":[-85.0074754,42.0883183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939335":{"id":"n1820939335","loc":[-85.0764014,42.1055549],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939336":{"id":"n1820939336","loc":[-85.2908773,41.9769597],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939337":{"id":"n1820939337","loc":[-85.4095382,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939346":{"id":"n1820939346","loc":[-85.2514166,42.0111753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939348":{"id":"n1820939348","loc":[-85.0030377,42.0873799],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939350":{"id":"n1820939350","loc":[-85.3659362,41.9964974],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939352":{"id":"n1820939352","loc":[-85.226058,42.0348281],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939355":{"id":"n1820939355","loc":[-85.1902408,42.0507101],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939357":{"id":"n1820939357","loc":[-85.2781854,41.9946001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939359":{"id":"n1820939359","loc":[-85.2139988,42.0405175],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939361":{"id":"n1820939361","loc":[-85.0086609,42.0908262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939363":{"id":"n1820939363","loc":[-85.0627128,42.1043398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939365":{"id":"n1820939365","loc":[-85.1311346,42.072501],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939369":{"id":"n1820939369","loc":[-85.248198,42.0082652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939370":{"id":"n1820939370","loc":[-84.99792,42.087794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939371":{"id":"n1820939371","loc":[-85.2786775,41.9942783],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939372":{"id":"n1820939372","loc":[-85.0342103,42.1013957],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939373":{"id":"n1820939373","loc":[-85.2022357,42.0444799],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939374":{"id":"n1820939374","loc":[-85.2279205,42.0337388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939375":{"id":"n1820939375","loc":[-85.1337699,42.0712614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939376":{"id":"n1820939376","loc":[-85.317517,41.9707062],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939377":{"id":"n1820939377","loc":[-85.1326326,42.070218],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939394":{"id":"n1820939394","loc":[-85.0197746,42.0899118],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939397":{"id":"n1820939397","loc":[-85.2590076,41.9984632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939399":{"id":"n1820939399","loc":[-85.2469964,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939400":{"id":"n1820939400","loc":[-85.2470929,42.0146668],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939401":{"id":"n1820939401","loc":[-84.9984095,42.0878087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939402":{"id":"n1820939402","loc":[-85.2372653,42.0243273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939403":{"id":"n1820939403","loc":[-85.2454986,42.0091955],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939404":{"id":"n1820939404","loc":[-85.0539205,42.1035995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939405":{"id":"n1820939405","loc":[-85.550601,41.9706101],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939406":{"id":"n1820939406","loc":[-85.0351343,42.0999656],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939407":{"id":"n1820939407","loc":[-85.0082908,42.0905755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939408":{"id":"n1820939408","loc":[-85.0132904,42.0902251],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939410":{"id":"n1820939410","loc":[-85.0892546,42.094012],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939412":{"id":"n1820939412","loc":[-85.0350793,42.1030315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939416":{"id":"n1820939416","loc":[-85.0012406,42.0886777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939418":{"id":"n1820939418","loc":[-85.0577453,42.1029229],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939420":{"id":"n1820939420","loc":[-85.1230786,42.0776722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939422":{"id":"n1820939422","loc":[-85.571136,41.9649304],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939436":{"id":"n1820939436","loc":[-85.1137968,42.0848997],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939437":{"id":"n1820939437","loc":[-85.3559584,41.9925105],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939438":{"id":"n1820939438","loc":[-85.0080172,42.0903565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939439":{"id":"n1820939439","loc":[-85.0048897,42.0880913],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939441":{"id":"n1820939441","loc":[-85.0406959,42.1018574],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939443":{"id":"n1820939443","loc":[-85.3897328,42.0029078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939445":{"id":"n1820939445","loc":[-85.122349,42.0782814],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939448":{"id":"n1820939448","loc":[-85.4872193,41.985036],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939450":{"id":"n1820939450","loc":[-85.0120459,42.0904919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939452":{"id":"n1820939452","loc":[-85.6320543,41.921982],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939456":{"id":"n1820939456","loc":[-85.0844749,42.1036843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939458":{"id":"n1820939458","loc":[-85.0968037,42.091296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939463":{"id":"n1820939463","loc":[-85.5339747,41.9681841],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939465":{"id":"n1820939465","loc":[-85.4125423,42.0072129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939467":{"id":"n1820939467","loc":[-85.6335563,41.9303626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939469":{"id":"n1820939469","loc":[-85.2821014,41.9932126],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939471":{"id":"n1820939471","loc":[-85.374691,41.9969917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939485":{"id":"n1820939485","loc":[-85.4471321,42.0049806],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939487":{"id":"n1820939487","loc":[-85.3752532,41.9972206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939489":{"id":"n1820939489","loc":[-85.4517283,42.005927],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939492":{"id":"n1820939492","loc":[-85.4662552,42.0005693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939494":{"id":"n1820939494","loc":[-85.0120083,42.0902928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939496":{"id":"n1820939496","loc":[-85.044463,42.1004631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939498":{"id":"n1820939498","loc":[-85.418293,42.0089667],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939500":{"id":"n1820939500","loc":[-85.0554762,42.1027358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939504":{"id":"n1820939504","loc":[-85.1246289,42.0746858],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939507":{"id":"n1820939507","loc":[-85.0408139,42.1021838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939508":{"id":"n1820939508","loc":[-85.1236204,42.0775169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939509":{"id":"n1820939509","loc":[-85.0350109,42.1037428],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939510":{"id":"n1820939510","loc":[-85.0551583,42.1029878],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939511":{"id":"n1820939511","loc":[-85.0956771,42.0916662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939512":{"id":"n1820939512","loc":[-85.2323408,42.0273638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939513":{"id":"n1820939513","loc":[-85.1232771,42.0762388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939531":{"id":"n1820939531","loc":[-85.264608,41.9997828],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939533":{"id":"n1820939533","loc":[-85.4198808,42.0087914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939535":{"id":"n1820939535","loc":[-85.3080864,41.9715677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939536":{"id":"n1820939536","loc":[-85.1189426,42.0812596],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939537":{"id":"n1820939537","loc":[-85.2642741,41.9996764],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939538":{"id":"n1820939538","loc":[-85.2572531,42.0079627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939539":{"id":"n1820939539","loc":[-85.2907807,41.9790174],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939540":{"id":"n1820939540","loc":[-85.3171415,41.9707301],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939541":{"id":"n1820939541","loc":[-85.08777,42.0953841],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939542":{"id":"n1820939542","loc":[-85.1239262,42.0773218],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939543":{"id":"n1820939543","loc":[-84.9973956,42.0877968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939544":{"id":"n1820939544","loc":[-85.011606,42.0896161],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939545":{"id":"n1820939545","loc":[-85.4077358,42.0082971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939546":{"id":"n1820939546","loc":[-85.3614945,41.9933717],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939547":{"id":"n1820939547","loc":[-85.3189118,41.9697649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939550":{"id":"n1820939550","loc":[-85.1262691,42.0740221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939551":{"id":"n1820939551","loc":[-85.3863639,41.9994635],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939552":{"id":"n1820939552","loc":[-85.2836034,41.9923953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939554":{"id":"n1820939554","loc":[-85.3222377,41.9715916],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939555":{"id":"n1820939555","loc":[-85.0122658,42.0906312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939556":{"id":"n1820939556","loc":[-85.0022652,42.0877581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939557":{"id":"n1820939557","loc":[-85.1011314,42.0899954],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939559":{"id":"n1820939559","loc":[-85.0008181,42.0885293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939561":{"id":"n1820939561","loc":[-85.3637046,41.9942488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939562":{"id":"n1820939562","loc":[-85.4500117,42.0052892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939563":{"id":"n1820939563","loc":[-85.0537636,42.1036365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939565":{"id":"n1820939565","loc":[-85.2367503,42.0246939],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939566":{"id":"n1820939566","loc":[-85.0448479,42.1002653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939567":{"id":"n1820939567","loc":[-85.6337065,41.9295006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939568":{"id":"n1820939568","loc":[-85.0879792,42.095623],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939569":{"id":"n1820939569","loc":[-85.6347623,41.9352369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939570":{"id":"n1820939570","loc":[-85.1497931,42.0620378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939571":{"id":"n1820939571","loc":[-85.5676169,41.9656324],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939572":{"id":"n1820939572","loc":[-85.638041,41.9166971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939573":{"id":"n1820939573","loc":[-85.4993429,41.9781293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939574":{"id":"n1820939574","loc":[-85.5352831,41.9692127],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939575":{"id":"n1820939575","loc":[-84.9924429,42.0857118],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939577":{"id":"n1820939577","loc":[-85.0581101,42.1026721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939578":{"id":"n1820939578","loc":[-85.641088,41.9094477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939579":{"id":"n1820939579","loc":[-85.2548821,42.0052282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939580":{"id":"n1820939580","loc":[-85.1124463,42.0859734],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939581":{"id":"n1820939581","loc":[-85.1083479,42.0857624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939583":{"id":"n1820939583","loc":[-85.1387424,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939584":{"id":"n1820939584","loc":[-85.5152645,41.9700892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939585":{"id":"n1820939585","loc":[-85.5463738,41.9713439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939586":{"id":"n1820939586","loc":[-85.360207,41.9933717],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939587":{"id":"n1820939587","loc":[-85.2402372,42.0120917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939588":{"id":"n1820939588","loc":[-85.3936381,42.0047255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939589":{"id":"n1820939589","loc":[-85.3310246,41.973784],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939590":{"id":"n1820939590","loc":[-85.0329403,42.096642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939591":{"id":"n1820939591","loc":[-85.0097271,42.0910981],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939593":{"id":"n1820939593","loc":[-85.0446562,42.1003437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939595":{"id":"n1820939595","loc":[-85.0856671,42.1008452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939596":{"id":"n1820939596","loc":[-85.4087228,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939597":{"id":"n1820939597","loc":[-85.0609519,42.1052564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939598":{"id":"n1820939598","loc":[-85.3432126,41.9874548],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939599":{"id":"n1820939599","loc":[-85.4041738,42.0067027],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939600":{"id":"n1820939600","loc":[-85.0825437,42.1035768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939601":{"id":"n1820939601","loc":[-85.048422,42.101498],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939602":{"id":"n1820939602","loc":[-85.0336256,42.0999031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939603":{"id":"n1820939603","loc":[-85.046818,42.1014104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939605":{"id":"n1820939605","loc":[-85.2856524,41.98078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939607":{"id":"n1820939607","loc":[-85.1118173,42.0864245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939609":{"id":"n1820939609","loc":[-85.0443397,42.1006263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939610":{"id":"n1820939610","loc":[-85.0336698,42.0978361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939611":{"id":"n1820939611","loc":[-85.4630322,42.0014248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939612":{"id":"n1820939612","loc":[-85.0613127,42.1052353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939613":{"id":"n1820939613","loc":[-85.0137571,42.0887801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939614":{"id":"n1820939614","loc":[-85.272487,41.9982013],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939616":{"id":"n1820939616","loc":[-85.4665727,41.9983791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939617":{"id":"n1820939617","loc":[-85.1288078,42.0725476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939618":{"id":"n1820939618","loc":[-85.4653282,42.00109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939619":{"id":"n1820939619","loc":[-85.2314717,42.0276746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939620":{"id":"n1820939620","loc":[-85.255982,42.0003569],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939621":{"id":"n1820939621","loc":[-85.2886779,41.9787223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939622":{"id":"n1820939622","loc":[-85.22438,42.0367509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939623":{"id":"n1820939623","loc":[-85.0334713,42.0998382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939624":{"id":"n1820939624","loc":[-85.2236504,42.037484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939625":{"id":"n1820939625","loc":[-85.636908,41.9175162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939627":{"id":"n1820939627","loc":[-85.2669187,41.9989707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939628":{"id":"n1820939628","loc":[-85.3247268,41.9720702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939629":{"id":"n1820939629","loc":[-85.3785104,41.9987299],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939630":{"id":"n1820939630","loc":[-85.5267658,41.9720515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939631":{"id":"n1820939631","loc":[-85.2445116,42.0098811],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939632":{"id":"n1820939632","loc":[-85.1271448,42.0725077],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939633":{"id":"n1820939633","loc":[-85.0345751,42.099724],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939634":{"id":"n1820939634","loc":[-85.4217476,42.0089986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939635":{"id":"n1820939635","loc":[-85.3121848,41.9689433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939636":{"id":"n1820939636","loc":[-85.2826419,41.9929985],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939637":{"id":"n1820939637","loc":[-85.3160257,41.9706344],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939638":{"id":"n1820939638","loc":[-85.5684967,41.9657919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939640":{"id":"n1820939640","loc":[-85.225131,42.0356194],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939642":{"id":"n1820939642","loc":[-85.1324124,42.0693328],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939644":{"id":"n1820939644","loc":[-84.9994073,42.0878843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939645":{"id":"n1820939645","loc":[-85.1087596,42.0863329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939646":{"id":"n1820939646","loc":[-85.2915532,41.9782996],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939647":{"id":"n1820939647","loc":[-84.9988708,42.0877808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939648":{"id":"n1820939648","loc":[-85.2243628,42.0356728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939649":{"id":"n1820939649","loc":[-85.0427397,42.1020524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939650":{"id":"n1820939650","loc":[-85.6388392,41.9100752],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939651":{"id":"n1820939651","loc":[-85.0133709,42.0888557],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939652":{"id":"n1820939652","loc":[-85.318798,41.9701211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939653":{"id":"n1820939653","loc":[-85.6335778,41.9190602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939654":{"id":"n1820939654","loc":[-85.6338396,41.9370247],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939655":{"id":"n1820939655","loc":[-85.0939069,42.0931988],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939656":{"id":"n1820939656","loc":[-85.5702347,41.9651378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939657":{"id":"n1820939657","loc":[-85.4235286,42.0088392],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939658":{"id":"n1820939658","loc":[-85.2740856,41.9972206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939659":{"id":"n1820939659","loc":[-85.4824299,41.9934195],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939660":{"id":"n1820939660","loc":[-85.3857846,42.0014408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939661":{"id":"n1820939661","loc":[-85.0451658,42.10028],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939662":{"id":"n1820939662","loc":[-85.3893036,42.001377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939664":{"id":"n1820939664","loc":[-85.2455845,42.0088607],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939665":{"id":"n1820939665","loc":[-85.2741071,41.9951116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939666":{"id":"n1820939666","loc":[-85.1298375,42.0677718],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939667":{"id":"n1820939667","loc":[-85.5491848,41.9707377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939669":{"id":"n1820939669","loc":[-85.2780298,41.995238],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939670":{"id":"n1820939670","loc":[-85.1330068,42.0716926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939671":{"id":"n1820939671","loc":[-85.0811342,42.1025129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939672":{"id":"n1820939672","loc":[-85.2325124,42.0290135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939673":{"id":"n1820939673","loc":[-85.2975077,41.9716953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939674":{"id":"n1820939674","loc":[-85.0951729,42.0922394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939676":{"id":"n1820939676","loc":[-85.0363252,42.1043119],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939677":{"id":"n1820939677","loc":[-85.2960057,41.97349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939678":{"id":"n1820939678","loc":[-85.3701849,41.9982515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939679":{"id":"n1820939679","loc":[-85.3381486,41.9848861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939680":{"id":"n1820939680","loc":[-85.2058448,42.0417286],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939682":{"id":"n1820939682","loc":[-85.0819335,42.1034443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939683":{"id":"n1820939683","loc":[-85.3872223,41.9993359],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939684":{"id":"n1820939684","loc":[-85.095366,42.091909],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939685":{"id":"n1820939685","loc":[-85.2327914,42.0291888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939686":{"id":"n1820939686","loc":[-85.0433459,42.1018773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939687":{"id":"n1820939687","loc":[-85.0585339,42.1027318],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939688":{"id":"n1820939688","loc":[-85.0062885,42.0876347],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939689":{"id":"n1820939689","loc":[-85.246299,42.017377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939690":{"id":"n1820939690","loc":[-85.2932376,41.9742877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939691":{"id":"n1820939691","loc":[-85.2962846,41.9736815],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939692":{"id":"n1820939692","loc":[-85.6052365,41.9409193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939693":{"id":"n1820939693","loc":[-85.2570536,42.0003341],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939694":{"id":"n1820939694","loc":[-85.0488458,42.1014064],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939695":{"id":"n1820939695","loc":[-85.4050321,42.0069578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939696":{"id":"n1820939696","loc":[-85.4847517,41.9845894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939697":{"id":"n1820939697","loc":[-85.0844655,42.1013826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939698":{"id":"n1820939698","loc":[-85.1437206,42.0650008],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939699":{"id":"n1820939699","loc":[-85.1168183,42.0864034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939700":{"id":"n1820939700","loc":[-85.5479831,41.9711366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939701":{"id":"n1820939701","loc":[-85.0349948,42.1034124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939702":{"id":"n1820939702","loc":[-85.0835589,42.1038821],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939703":{"id":"n1820939703","loc":[-85.0203875,42.0902649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939704":{"id":"n1820939704","loc":[-85.0371191,42.1038184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939705":{"id":"n1820939705","loc":[-85.1273312,42.0735681],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939707":{"id":"n1820939707","loc":[-85.1272239,42.0730226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939710":{"id":"n1820939710","loc":[-85.0349881,42.1019012],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939712":{"id":"n1820939712","loc":[-85.2440459,42.0178313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939713":{"id":"n1820939713","loc":[-85.2444751,42.0182618],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939714":{"id":"n1820939714","loc":[-85.0539996,42.1032863],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939715":{"id":"n1820939715","loc":[-85.2215905,42.0373246],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939716":{"id":"n1820939716","loc":[-85.0649712,42.1051994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939717":{"id":"n1820939717","loc":[-85.0927146,42.0927581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939718":{"id":"n1820939718","loc":[-85.3884668,42.0042312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939719":{"id":"n1820939719","loc":[-85.0840672,42.1013241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939720":{"id":"n1820939720","loc":[-85.304739,41.9725408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939721":{"id":"n1820939721","loc":[-85.2243585,42.0371334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939722":{"id":"n1820939722","loc":[-85.0599823,42.1049686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939723":{"id":"n1820939723","loc":[-85.0298825,42.0944288],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939724":{"id":"n1820939724","loc":[-85.0366095,42.1042443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939725":{"id":"n1820939725","loc":[-85.0698783,42.1058135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939726":{"id":"n1820939726","loc":[-85.1054551,42.0873361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939727":{"id":"n1820939727","loc":[-84.9952324,42.0864285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939728":{"id":"n1820939728","loc":[-85.3442211,41.9897993],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939729":{"id":"n1820939729","loc":[-85.4386134,42.0056822],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939730":{"id":"n1820939730","loc":[-85.2438528,42.0146589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939731":{"id":"n1820939731","loc":[-85.0355581,42.1041846],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939732":{"id":"n1820939732","loc":[-85.557682,41.9724447],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939734":{"id":"n1820939734","loc":[-85.2299418,42.033314],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939735":{"id":"n1820939735","loc":[-85.6297412,41.9419088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939736":{"id":"n1820939736","loc":[-85.2645101,41.9980259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939738":{"id":"n1820939738","loc":[-85.082195,42.1035649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939739":{"id":"n1820939739","loc":[-85.234272,42.0267102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939740":{"id":"n1820939740","loc":[-85.0130758,42.0895006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939741":{"id":"n1820939741","loc":[-85.4594702,42.0000375],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939742":{"id":"n1820939742","loc":[-84.9946745,42.0863687],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939743":{"id":"n1820939743","loc":[-85.6438775,41.9120186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939744":{"id":"n1820939744","loc":[-85.6372685,41.9168089],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939745":{"id":"n1820939745","loc":[-85.2789468,41.9893208],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939747":{"id":"n1820939747","loc":[-85.3775019,41.998427],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939749":{"id":"n1820939749","loc":[-85.0993571,42.0909178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939750":{"id":"n1820939750","loc":[-85.1308503,42.0669339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939751":{"id":"n1820939751","loc":[-85.4802566,41.9856659],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820939752":{"id":"n1820939752","loc":[-85.2543563,42.0108804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939753":{"id":"n1820939753","loc":[-85.1041033,42.0878815],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939755":{"id":"n1820939755","loc":[-85.4000969,42.0071651],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939757":{"id":"n1820939757","loc":[-85.3858275,42.0022381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939758":{"id":"n1820939758","loc":[-85.3653998,41.996609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939759":{"id":"n1820939759","loc":[-85.2432949,42.0202305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939760":{"id":"n1820939760","loc":[-85.3878874,42.0042472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939761":{"id":"n1820939761","loc":[-85.2516741,42.0114145],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939762":{"id":"n1820939762","loc":[-85.2788825,41.9865142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939763":{"id":"n1820939763","loc":[-85.0009147,42.0886686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939764":{"id":"n1820939764","loc":[-85.3918142,42.003434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939765":{"id":"n1820939765","loc":[-85.5532832,41.9696848],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939766":{"id":"n1820939766","loc":[-85.5545063,41.969254],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939768":{"id":"n1820939768","loc":[-85.1327989,42.0704769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939770":{"id":"n1820939770","loc":[-85.0588558,42.1047696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939772":{"id":"n1820939772","loc":[-85.555798,41.9713017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939773":{"id":"n1820939773","loc":[-85.0565853,42.1023589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939774":{"id":"n1820939774","loc":[-85.2582941,41.9992765],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939775":{"id":"n1820939775","loc":[-85.3007264,41.9727642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939776":{"id":"n1820939776","loc":[-85.2477045,42.0082652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939777":{"id":"n1820939777","loc":[-85.2415247,42.0104973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1821006698":{"id":"n1821006698","loc":[-85.6345227,41.9382009],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006700":{"id":"n1821006700","loc":[-85.6344894,41.938975],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006704":{"id":"n1821006704","loc":[-85.6351181,41.9370157],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006706":{"id":"n1821006706","loc":[-85.6357554,41.9361657],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006708":{"id":"n1821006708","loc":[-85.6351235,41.9368481],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006710":{"id":"n1821006710","loc":[-85.6352844,41.9364211],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006712":{"id":"n1821006712","loc":[-85.6351503,41.937307],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006716":{"id":"n1821006716","loc":[-85.6350366,41.9379774],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006725":{"id":"n1821006725","loc":[-85.6352147,41.9375903],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821137607":{"id":"n1821137607","loc":[-85.5297057,41.9669915],"version":"1","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1821137608":{"id":"n1821137608","loc":[-85.5288598,41.9673094],"version":"1","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1821139530":{"id":"n1821139530","loc":[-85.4832228,41.9881686],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139531":{"id":"n1821139531","loc":[-85.4812101,41.9851258],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139532":{"id":"n1821139532","loc":[-85.4799127,41.9860244],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139533":{"id":"n1821139533","loc":[-85.4800313,41.9865555],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1841425201":{"id":"n1841425201","loc":[-85.4334577,42.0063713],"version":"1","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:50:57Z","tags":{}},"n1841425222":{"id":"n1841425222","loc":[-85.4382449,42.0055785],"version":"1","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:50:58Z","tags":{}},"n1914861007":{"id":"n1914861007","loc":[-85.394959,42.0057472],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:21Z","tags":{}},"n1914861057":{"id":"n1914861057","loc":[-85.3967185,42.0049695],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:22Z","tags":{}},"n1914861112":{"id":"n1914861112","loc":[-85.394179,42.0056906],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:24Z","tags":{}},"n1914861306":{"id":"n1914861306","loc":[-85.3900226,42.0028488],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:27Z","tags":{}},"n2114807565":{"id":"n2114807565","loc":[-85.6385979,41.9577824],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807568":{"id":"n2114807568","loc":[-85.6325097,41.9775713],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807572":{"id":"n2114807572","loc":[-85.6328996,41.9980965],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807578":{"id":"n2114807578","loc":[-85.6344818,41.9696956],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807583":{"id":"n2114807583","loc":[-85.6326289,41.9757853],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807593":{"id":"n2114807593","loc":[-85.6360828,41.9650674],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2130304159":{"id":"n2130304159","loc":[-85.6352537,41.9450015],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"railway":"level_crossing"}},"n2139795852":{"id":"n2139795852","loc":[-85.6374708,41.9311633],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139858882":{"id":"n2139858882","loc":[-85.635178,41.9356158],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858883":{"id":"n2139858883","loc":[-85.63533,41.9355886],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858884":{"id":"n2139858884","loc":[-85.6353819,41.93556],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858885":{"id":"n2139858885","loc":[-85.6353665,41.9355157],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858886":{"id":"n2139858886","loc":[-85.6353165,41.9354971],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858887":{"id":"n2139858887","loc":[-85.6352454,41.9355328],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858888":{"id":"n2139858888","loc":[-85.6350184,41.9357846],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858889":{"id":"n2139858889","loc":[-85.634978,41.9359448],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858890":{"id":"n2139858890","loc":[-85.6347723,41.9361523],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858891":{"id":"n2139858891","loc":[-85.6347165,41.9362667],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858892":{"id":"n2139858892","loc":[-85.6346992,41.9364312],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858893":{"id":"n2139858893","loc":[-85.634603,41.9366329],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858894":{"id":"n2139858894","loc":[-85.6345973,41.9367488],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858895":{"id":"n2139858895","loc":[-85.6345127,41.9369734],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858896":{"id":"n2139858896","loc":[-85.634478,41.9371923],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858897":{"id":"n2139858897","loc":[-85.6344838,41.9373768],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858898":{"id":"n2139858898","loc":[-85.6346242,41.9375299],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858899":{"id":"n2139858899","loc":[-85.6347723,41.9376357],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858900":{"id":"n2139858900","loc":[-85.6347607,41.9377788],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858901":{"id":"n2139858901","loc":[-85.6346204,41.9379533],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858902":{"id":"n2139858902","loc":[-85.6344184,41.9380105],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858903":{"id":"n2139858903","loc":[-85.6341627,41.9380406],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858904":{"id":"n2139858904","loc":[-85.634005,41.9381679],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858905":{"id":"n2139858905","loc":[-85.63393,41.9383353],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858906":{"id":"n2139858906","loc":[-85.6338588,41.9384597],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858907":{"id":"n2139858907","loc":[-85.6336627,41.9387759],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858908":{"id":"n2139858908","loc":[-85.6335127,41.9389361],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858933":{"id":"n2139858933","loc":[-85.6353118,41.9432646],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858934":{"id":"n2139858934","loc":[-85.6353952,41.9433002],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858935":{"id":"n2139858935","loc":[-85.6356496,41.9433255],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858936":{"id":"n2139858936","loc":[-85.6363128,41.9433373],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858937":{"id":"n2139858937","loc":[-85.6365467,41.9433779],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858938":{"id":"n2139858938","loc":[-85.6368692,41.9435265],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858939":{"id":"n2139858939","loc":[-85.6370986,41.9437039],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858940":{"id":"n2139858940","loc":[-85.6372371,41.9437732],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858941":{"id":"n2139858941","loc":[-85.6374756,41.9438171],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858942":{"id":"n2139858942","loc":[-85.6376164,41.9439286],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858943":{"id":"n2139858943","loc":[-85.6377504,41.944138],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858944":{"id":"n2139858944","loc":[-85.6384204,41.9443137],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858945":{"id":"n2139858945","loc":[-85.6385726,41.9444506],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858946":{"id":"n2139858946","loc":[-85.638702,41.9445739],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858947":{"id":"n2139858947","loc":[-85.6387179,41.9446516],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858948":{"id":"n2139858948","loc":[-85.6387088,41.9447985],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858949":{"id":"n2139858949","loc":[-85.6387656,41.9449877],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858950":{"id":"n2139858950","loc":[-85.638777,41.9451448],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858951":{"id":"n2139858951","loc":[-85.6387088,41.9452631],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858964":{"id":"n2139858964","loc":[-85.6383346,41.9442912],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858966":{"id":"n2139858966","loc":[-85.6384724,41.9443605],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858967":{"id":"n2139858967","loc":[-85.6354078,41.9434285],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858968":{"id":"n2139858968","loc":[-85.635271,41.943654],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858969":{"id":"n2139858969","loc":[-85.6352657,41.9437437],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858970":{"id":"n2139858970","loc":[-85.635271,41.9438195],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858971":{"id":"n2139858971","loc":[-85.6351563,41.9438906],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858972":{"id":"n2139858972","loc":[-85.6351384,41.9438882],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858973":{"id":"n2139858973","loc":[-85.6351514,41.9438034],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858974":{"id":"n2139858974","loc":[-85.6351237,41.9436641],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858975":{"id":"n2139858975","loc":[-85.6351498,41.9436108],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858976":{"id":"n2139858976","loc":[-85.6351058,41.9435345],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858977":{"id":"n2139858977","loc":[-85.6349641,41.9432051],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858986":{"id":"n2139858986","loc":[-85.6341205,41.9380746],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858990":{"id":"n2139858990","loc":[-85.6345671,41.9381816],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858995":{"id":"n2139858995","loc":[-85.6339783,41.9382273],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139859003":{"id":"n2139859003","loc":[-85.6340477,41.9373489],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{}},"n2139859004":{"id":"n2139859004","loc":[-85.6339784,41.9374752],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{}},"n2139870406":{"id":"n2139870406","loc":[-85.6342265,41.9432605],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139877106":{"id":"n2139877106","loc":[-85.6346323,41.9438746],"version":"1","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n2139982399":{"id":"n2139982399","loc":[-85.6324055,41.9408537],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982400":{"id":"n2139982400","loc":[-85.632488,41.941063],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{"leisure":"slipway"}},"n2139982401":{"id":"n2139982401","loc":[-85.6327261,41.9415366],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982402":{"id":"n2139982402","loc":[-85.6326391,41.9413598],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982403":{"id":"n2139982403","loc":[-85.6327041,41.9414391],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982405":{"id":"n2139982405","loc":[-85.6322891,41.9406009],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982406":{"id":"n2139982406","loc":[-85.6325412,41.9425257],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139989333":{"id":"n2139989333","loc":[-85.6340584,41.9431731],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2140006331":{"id":"n2140006331","loc":[-85.6361751,41.9459744],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006334":{"id":"n2140006334","loc":[-85.636528,41.9459751],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006336":{"id":"n2140006336","loc":[-85.6370918,41.9458926],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006338":{"id":"n2140006338","loc":[-85.6378806,41.9456474],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006340":{"id":"n2140006340","loc":[-85.6385831,41.9454343],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006342":{"id":"n2140006342","loc":[-85.639341,41.945157],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006344":{"id":"n2140006344","loc":[-85.6393497,41.9450232],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006346":{"id":"n2140006346","loc":[-85.6388245,41.9450145],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006348":{"id":"n2140006348","loc":[-85.6388167,41.9441739],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006351":{"id":"n2140006351","loc":[-85.6382915,41.9441797],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006353":{"id":"n2140006353","loc":[-85.63828,41.9438109],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006355":{"id":"n2140006355","loc":[-85.6381949,41.9436009],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006357":{"id":"n2140006357","loc":[-85.6371904,41.9435918],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006359":{"id":"n2140006359","loc":[-85.6366966,41.9432727],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006361":{"id":"n2140006361","loc":[-85.6353755,41.9432744],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006365":{"id":"n2140006365","loc":[-85.6350906,41.9435472],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006366":{"id":"n2140006366","loc":[-85.6343461,41.9441573],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006395":{"id":"n2140006395","loc":[-85.6351171,41.9437175],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006397":{"id":"n2140006397","loc":[-85.635352,41.9450206],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006399":{"id":"n2140006399","loc":[-85.6358194,41.9454937],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006401":{"id":"n2140006401","loc":[-85.6348693,41.9445739],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006431":{"id":"n2140006431","loc":[-85.6376737,41.9438023],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006437":{"id":"n2140006437","loc":[-85.6382631,41.9442724],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2189123379":{"id":"n2189123379","loc":[-85.6342671,41.9352665],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"w203974076":{"id":"w203974076","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870442","n2139870457","n2139870458","n2139870459","n2139870460","n2139870452"]},"w170989131":{"id":"w170989131","version":"5","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:30Z","tags":{"name":"St Joseph River","source":"Bing Imagery","waterway":"river"},"nodes":["n1820938225","n1820938712","n1820937596","n1820937574","n1820938515","n1820938330","n1820938678","n1820938240","n1820938950","n1820939226","n1820939575","n1820937913","n1820938223","n1820937668","n1820938545","n1820937584","n1820939742","n1820939727","n1820937578","n1820938149","n1820938124","n1820938888","n1820938898","n1820937922","n1820939543","n1820939370","n1820939401","n1820939647","n1820938345","n1820939644","n1820938333","n1820938370","n1820938624","n1820938493","n1820939559","n1820939763","n1820939237","n1820939416","n1820937810","n1820938317","n1820938324","n1820937558","n1820939556","n1820938298","n1820939348","n1820939125","n1820939081","n1820938859","n1820939126","n1820938881","n1820939439","n1820939324","n1820939128","n1820938101","n1820937706","n1820938382","n1820938776","n1820937815","n1820939177","n1820939688","n1820938952","n1820938216","n1820938387","n1820939333","n1820938243","n1820938248","n1820937666","n1820939051","n1820938332","n1820939438","n1820939407","n1820939361","n1820937517","n1820938770","n1820939591","n1820937857","n1820938491","n1820937993","n1820938125","n1820938166","n1820937746","n1820939028","n1820937638","n1820938676","n1820938843","n1820938844","n1820937978","n1820938730","n1820939544","n1820938304","n1820939123","n1820939494","n1820939450","n1820939555","n1820938133","n1820938129","n1820938871","n1820939408","n1820938669","n1820938260","n1820939740","n1820937625","n1820938631","n1820939651","n1820939613","n1820937850","n1820938325","n1820937736","n1820938804","n1820938837","n1820938014","n1820938991","n1820938722","n1820938935","n1820937870","n1820938432","n1820937986","n1820938756","n1820938966","n1820939159","n1820937744","n1820938334","n1820937645","n1820939394","n1820937656","n1820938392","n1820939703","n1820938385","n1820938947","n1820938854","n1820938428","n1820938488","n1820938269","n1820938668","n1820938268","n1820938707","n1820937732","n1820939144","n1820938481","n1820938771","n1820938686","n1820938948","n1820937997","n1820937769","n1820939003","n1820938083","n1820939011","n1820938803","n1820938700","n1820939723","n1820938808","n1820938262","n1820938081","n1820938926","n1820938326","n1820938102","n1820938508","n1820939590","n1820939199","n1820938084","n1820938870","n1820938895","n1820937611","n1820938918","n1820938514","n1820939610","n1820938910","n1820937523","n1820938127","n1820939108","n1820937981","n1820938938","n1820938715","n1820939016","n1820938237","n1820939623","n1820939602","n1820937734","n1820938977","n1820939633","n1820939156","n1820939406","n1820938279","n1820938301","n1820937678","n1820937671","n1820939163","n1820938356","n1820939372","n1820937568","n1820937626","n1820939710","n1820939004","n1820938253","n1820938571","n1820937513","n1820939412","n1820939701","n1820939509","n1820938839","n1820939731","n1820937798","n1820939676","n1820939724","n1820939243","n1820939704","n1820937814","n1820937599","n1820938199","n1820938995","n1820938445","n1820938069","n1820938470","n1820939074","n1820938193","n1820938740","n1820938047","n1820939507","n1820939441","n1820939160","n1820937849","n1820937840","n1820938052","n1820938988","n1820938796","n1820937724","n1820937620","n1820939304","n1820938343","n1820939649","n1820938875","n1820939686","n1820938476","n1820937801","n1820937737","n1820938264","n1820939609","n1820939496","n1820939593","n1820939566","n1820939661","n1820937782","n1820938912","n1820939173","n1820937733","n1820938953","n1820939603","n1820937607","n1820938468","n1820939601","n1820939694","n1820939133","n1820938897","n1820938893","n1820937831","n1820937730","n1820938820","n1820938046","n1820938426","n1820938347","n1820937582","n1820938954","n1820938033","n1820938104","n1820938680","n1820939563","n1820939404","n1820939714","n1820939000","n1820937992","n1820938168","n1820939510","n1820939500","n1820937509","n1820938865","n1820939773","n1820938138","n1820938905","n1820937623","n1820939418","n1820937946","n1820939577","n1820937615","n1820939687","n1820939119","n1820937988","n1820938337","n1820937750","n1820938703","n1820938339","n1820939044","n1820939770","n1820938913","n1820937672","n1820939722","n1820937768","n1820939597","n1820939612","n1820937699","n1820937682","n1820937669","n1820937657","n1820939363","n1820937800","n1820938265","n1820937760","n1820938207","n1820938115","n1820939130","n1820939716","n1820938338","n1820938239","n1820939040","n1820938064","n1820938855","n1820939015","n1820938258","n1820939042","n1820939043","n1820938443","n1820939725","n1820937675","n1820938568","n1820938280","n1820937705","n1820938775","n1820938636","n1820938626","n1820937859","n1820938096","n1820937852","n1820939039","n1820938247","n1820938585","n1820937707","n1820938117","n1820938909","n1820939115","n1820939335","n1820938805","n1820937935","n1820937876","n1820938699","n1820937869","n1820938603","n1820938100","n1820938500","n1820938283","n1820938275","n1820938923","n1820938365","n1820938349","n1820937804","n1820937903","n1820937608","n1820938688","n1820939671","n1820938092","n1820937820","n1820938753","n1820938922","n1820937990","n1820939682","n1820939738","n1820939600","n1820938167","n1820937726","n1820939702","n1820938209","n1820939456","n1820937837","n1820938222","n1820938902","n1820939162","n1820938965","n1820938461","n1820937681","n1820937514","n1820937764","n1820939719","n1820939697","n1820938899","n1820939093","n1820938702","n1820939595","n1820938749","n1820938348","n1820937606","n1820938675","n1820938830","n1820938737","n1820938758","n1820938716","n1820939107","n1820937863","n1820939033","n1820938163","n1820937867","n1820938819","n1820938034","n1820938252","n1820937563","n1820937868","n1820939032","n1820938632","n1820937982","n1820937943","n1820939568","n1820939541","n1820938215","n1820939097","n1820938812","n1820937518","n1820937952","n1820938711","n1820938736","n1820939066","n1820937591","n1820938082","n1820938108","n1820938496","n1820939410","n1820938949","n1820938327","n1820937708","n1820939023","n1820937772","n1820938256","n1820939083","n1820938378","n1820938961","n1820937610","n1820939717","n1820938695","n1820938590","n1820939655","n1820938341","n1820939054","n1820939157","n1820939674","n1820939684","n1820939511","n1820937631","n1820939458","n1820937830","n1820937709","n1820937779","n1820939749","n1820938880","n1820938856","n1820938557","n1820939557","n1820938249","n1820938818","n1820937594","n1820939114","n1820938416","n1820937508","n1820938990","n1820938201","n1820937759","n1820937987","n1820939164","n1820939753","n1820938187","n1820939067","n1820937586","n1820937941","n1820938121","n1820937807","n1820938521","n1820939726","n1820938244","n1820939014","n1820938741","n1820937629","n1820938664","n1820938747","n1820939082","n1820938709","n1820938320","n1820938270","n1820937619","n1820937777","n1820937718","n1820939138","n1820938056","n1820938155","n1820938596","n1820937775","n1820938437","n1820938128","n1820939581","n1820939145","n1820938546","n1820938184","n1820937601","n1820937794","n1820938539","n1820939645","n1820938438","n1820938436","n1820939025","n1820938915","n1820938534","n1820937605","n1820939607","n1820939101","n1820939580","n1820939268","n1820939134","n1820938849","n1820938754","n1820938079","n1820937842","n1820938781","n1820938873","n1820938495","n1820938381","n1820938503","n1820939436","n1820938502","n1820939087","n1820938996","n1820938449","n1820938907","n1820937979","n1820937780","n1820937546","n1820939699","n1820937677","n1820938957","n1820938946","n1820937776","n1820937717","n1820938718","n1820937637","n1820938510","n1820937663","n1820938941","n1820939151","n1820937603","n1820938250","n1820937951","n1820938630","n1820938821","n1820938779","n1820938497","n1820938159","n1820939536","n1820938409","n1820938386","n1820939116","n1820938340","n1820939117","n1820938291","n1820938435","n1820937819","n1820938242","n1820939078","n1820938877","n1820939104","n1820939445","n1820938367","n1820938903","n1820939420","n1820938517","n1820939508","n1820939542","n1820939326","n1820938210","n1820939020","n1820938815","n1820937832","n1820939513","n1820937818","n1820939005","n1820938717","n1820939135","n1820938384","n1820937587","n1820939024","n1820939504","n1820939120","n1820939026","n1820938015","n1820938998","n1820937648","n1820939137","n1820937761","n1820938195","n1820938535","n1820939550","n1820938725","n1820938282","n1820937781","n1820937792","n1820939705","n1820937788","n1820939707","n1820937882","n1820939632","n1820938427","n1820938276","n1820939617","n1820939013","n1820939035","n1820937543","n1820939365","n1820937752","n1820937802","n1820939183","n1820939670","n1820938450","n1820939375","n1820937813","n1820937673","n1820937783","n1820939029","n1820939768","n1820939377","n1820937974","n1820939244","n1820939642","n1820937864","n1820938255","n1820938528","n1820939666","n1820938120","n1820937812","n1820938928","n1820939750","n1820939099","n1820938073","n1820938714","n1820939140","n1820938192","n1820937844","n1820938635","n1820938742","n1820939583","n1820937887","n1820938318","n1820938816","n1820939698","n1820938273","n1820939181","n1820937652","n1820938748","n1820937651","n1820938519","n1820938019","n1820938752","n1820938235","n1820939118","n1820938562","n1820939314","n1820939570","n1820938190","n1820938342","n1820938533","n1820937977","n1820939089","n1820939146","n1820938622","n1820938297","n1820938524","n1820939283","n1820938874","n1820938832","n1820937550","n1820937843","n1820938638","n1820938116","n1820938206","n1820938319","n1820939053","n1820937845","n1820938093","n1820939217","n1820938997","n1820939355","n1820938861","n1820938726","n1820938057","n1820939373","n1820937862","n1820938518","n1820939072","n1820939680","n1820938444","n1820938217","n1820938506","n1820938393","n1820938492","n1820938852","n1820938221","n1820938773","n1820937684","n1820939060","n1820938224","n1820938203","n1820938840","n1820937525","n1820938147","n1820938433","n1820938188","n1820939359","n1820938750","n1820938016","n1820938768","n1820937621","n1820937799","n1820938951","n1820938721","n1820939037","n1820937866","n1820939715","n1820938063","n1820938446","n1820937627","n1820939624","n1820938431","n1820939721","n1820939622","n1820939239","n1820939263","n1820939648","n1820939640","n1820938867","n1820938757","n1820938439","n1820939352","n1820937740","n1820939329","n1820938229","n1820937583","n1820938180","n1820938366","n1820937767","n1820937758","n1820939374","n1820938869","n1820938292","n1820938400","n1820938399","n1820939734","n1820939289","n1820938944","n1820937755","n1820938759","n1820938434","n1820937600","n1820937825","n1820937670","n1820937793","n1820938011","n1820938246","n1820938956","n1820937770","n1820937757","n1820938059","n1820937860","n1820937569","n1820939266","n1820939685","n1820939672","n1820938606","n1820938772","n1820939038","n1820938211","n1820938359","n1820939619","n1820938708","n1820939512","n1820938065","n1820939233","n1820939739","n1820938786","n1820938879","n1820939147","n1820938563","n1820939148","n1820937839","n1820937659","n1820937786","n1820938419","n1820939565","n1820939402","n1820937710","n1820938254","n1820938271","n1820938390","n1820937680","n1820938140","n1820937817","n1820938218","n1820937985","n1820939235","n1820938441","n1820938401","n1820938719","n1820937795","n1820938971","n1820938460","n1820939759","n1820937972","n1820937841","n1820938462","n1820939320","n1820938978","n1820938360","n1820939713","n1820937676","n1820939712","n1820937939","n1820938080","n1820937754","n1820937753","n1820938530","n1820937886","n1820939689","n1820939124","n1820938697","n1820938789","n1820939105","n1820938860","n1820938853","n1820939400","n1820937561","n1820938404","n1820938774","n1820939316","n1820937696","n1820938782","n1820938975","n1820937564","n1820939730","n1820938257","n1820937853","n1820938487","n1820938848","n1820938906","n1820939230","n1820938424","n1820938051","n1820937771","n1820939587","n1820939149","n1820938792","n1820939041","n1820938934","n1820939777","n1820937515","n1820939058","n1820938312","n1820939264","n1820939631","n1820939109","n1820939403","n1820939664","n1820938724","n1820938929","n1820939399","n1820939776","n1820939369","n1820939185","n1820937701","n1820938126","n1820938336","n1820938219","n1820939080","n1820938642","n1820938043","n1820937725","n1820938548","n1820938552","n1820938035","n1820938684","n1820937778","n1820938764","n1820939021","n1820939346","n1820937712","n1820939761","n1820938397","n1820937747","n1820938566","n1820939161","n1820939090","n1820939752","n1820939271","n1820938878","n1820938110","n1820938346","n1820938499","n1820938151","n1820939538","n1820938281","n1820939153","n1820938551","n1820939285","n1820938197","n1820938408","n1820938482","n1820939036","n1820939579","n1820938489","n1820938483","n1820938189","n1820938123","n1820938087","n1820937741","n1820938485","n1820937590","n1820938972","n1820937773","n1820937520","n1820938872","n1820938131","n1820938452","n1820938328","n1820939620","n1820937641","n1820938353","n1820939693","n1820938705","n1820937640","n1820939189","n1820938144","n1820939774","n1820938694","n1820938238","n1820939397","n1820937917","n1820938454","n1820938567","n1820938979","n1820938060","n1820938204","n1820937828","n1820939232","n1820938806","n1820938857","n1820938078","n1820938105","n1820939228","n1820938604","n1820937763","n1820937854","n1820938289","n1820939736","n1820937937","n1820937714","n1820938278","n1820938058","n1820938706","n1820938989","n1820938313","n1820938520","n1820938288","n1820937689","n1820939537","n1820939531","n1820939019","n1820937527","n1820938455","n1820938814","n1820938045","n1820939627","n1820938213","n1820938161","n1820938331","n1820938024","n1820938220","n1820938062","n1820938178","n1820937796","n1820937644","n1820938490","n1820937589","n1820937879","n1820939614","n1820938882","n1820938039","n1820938538","n1820937667","n1820937719","n1820938561","n1820939658","n1820938783","n1820938601","n1820938198","n1820938388","n1820938969","n1820937687","n1820939086","n1820939665","n1820939187","n1820938498","n1820938261","n1820937983","n1820938068","n1820938136","n1820939061","n1820938137","n1820938186","n1820939071","n1820937592","n1820939669","n1820937553","n1820939357","n1820938727","n1820939371","n1820939112","n1820939079","n1820938743","n1820938467","n1820938834","n1820938022","n1820938537","n1820938122","n1820938516","n1820937614","n1820937612","n1820939469","n1820939636","n1820939050","n1820939552","n1820938157","n1820938663","n1820938955","n1820939091","n1820938430","n1820938471","n1820937809","n1820938074","n1820938208","n1820938914","n1820938858","n1820938417","n1820937531","n1820938107","n1820939100","n1820938751","n1820937711","n1820938824","n1820939745","n1820937572","n1820938602","n1820938212","n1820938097","n1820937921","n1820938090","n1820938511","n1820938876","n1820939762","n1820938234","n1820938048","n1820937774","n1820937856","n1820937749","n1820937765","n1820938286","n1820939095","n1820938480","n1820939229","n1820938277","n1820937617","n1820938311","n1820937622","n1820939196","n1820937690","n1820939006","n1820939287","n1820939131","n1820938106","n1820938784","n1820938335","n1820938095","n1820938182","n1820937715","n1820937683","n1820938070","n1820939605","n1820938527","n1820938763","n1820938398","n1820937686","n1820939621","n1820937664","n1820939277","n1820938565","n1820939539","n1820938099","n1820939646","n1820938556","n1820937548","n1820938729","n1820939336","n1820938259","n1820938728","n1820938361","n1820937643","n1820938644","n1820939007","n1820939690","n1820939227","n1820937635","n1820937950","n1820938682","n1820939150","n1820939012","n1820939261","n1820939111","n1820937805","n1820939691","n1820939677","n1820937628","n1820937811","n1820938790","n1820938251","n1820938226","n1820938942","n1820937633","n1820937984","n1820937751","n1820939673","n1820938970","n1820938415","n1820938597","n1820938309","n1820938111","n1820938472","n1820938894","n1820938402","n1820937593","n1820938570","n1820939102","n1820939775","n1820937948","n1820939121","n1820937511","n1820938787","n1820939720","n1820939075","n1820937880","n1820937742","n1820937721","n1820939535","n1820938486","n1820938354","n1820937632","n1820939010","n1820938885","n1820938089","n1820937613","n1820938442","n1820938245","n1820938272","n1820937566","n1820938295","n1820938532","n1820938883","n1820937713","n1820937674","n1820939635","n1820938448","n1820938355","n1820938587","n1820938559","n1820937787","n1820939301","n1820937723","n1820939056","n1820937560","n1820938323","n1820938230","n1820938453","n1820938377","n1820938357","n1820939637","n1820938017","n1820939540","n1820939376","n1820937639","n1820937642","n1820938075","n1820938351","n1820938766","n1820937897","n1820938973","n1820938066","n1820939547","n1820939652","n1820937944","n1820937748","n1820939234","n1820939193","n1820937891","n1820938785","n1820939132","n1820938523","n1820938884","n1820938411","n1820939554","n1820938791","n1820937655","n1820938368","n1820939152","n1820938030","n1820938447","n1820937580","n1820939628","n1820937588","n1820937894","n1820939201","n1820938086","n1820937650","n1820938379","n1820939008","n1820938999","n1820937524","n1820937872","n1820938389","n1820939197","n1820938422","n1820938936","n1820939262","n1820937634","n1820938583","n1820939589","n1820937901","n1820939034","n1820939065","n1820938290","n1820939195","n1820938228","n1820937884","n1820938797","n1820938191","n1820939191","n1820939198","n1820937892","n1820939679","n1820938507","n1820937647","n1820937909","n1820938542","n1820939598","n1820937851","n1820939084","n1820939728","n1820937688","n1820938263","n1820938670","n1820937762","n1820939310","n1820938925","n1820938862","n1820938822","n1820938547","n1820937731","n1820938594","n1820938592","n1820938214","n1820938284","n1820937835","n1820938599","n1820939437","n1820937834","n1820937576","n1820937692","n1820939586","n1820939546","n1820938403","n1820937970","n1820939561","n1820938098","n1820938851","n1820938477","n1820938892","n1820939045","n1820939758","n1820939350","n1820938321","n1820938440","n1820938595","n1820938364","n1820938962","n1820938118","n1820939678","n1820938406","n1820938549","n1820937555","n1820938823","n1820937521","n1820939471","n1820939487","n1820938799","n1820938605","n1820937928","n1820938373","n1820939747","n1820939629","n1820937557","n1820937526","n1820938958","n1820938833","n1820937636","n1820938967","n1820938760","n1820938842","n1820938067","n1820939077","n1820939224","n1820938185","n1820939110","n1820938372","n1820939757","n1820939063","n1820939660","n1820938813","n1820937528","n1820938369","n1820938896","n1820939551","n1820939683","n1820937660","n1820937873","n1820938810","n1820938478","n1820939662","n1820937595","n1820939052","n1820938113","n1820939070","n1820938733","n1820937878","n1820938300","n1820939760","n1820939718","n1820937646","n1820939057","n1820939443","n1914861306","n1820938013","n1820937529","n1820939764","n1820938826","n1820937885","n1820939588","n1820937865","n1820937833","n1914861112","n1820938761","n1914861007","n1820937905","n1820938541","n1820939092","n1914861057","n1820938153","n1820938267","n1820939265","n1820938085","n1820939018","n1820939755","n1820938474","n1820939027","n1820938593","n1820938202","n1820939599","n1820939695","n1820938077","n1820938012","n1820939545","n1820939596","n1820939337","n1820938227","n1820937698","n1820938475","n1820939465","n1820938165","n1820938698","n1820938525","n1820938529","n1820938553","n1820938940","n1820939498","n1820938501","n1820939533","n1820938924","n1820939634","n1820939220","n1820939657","n1820938887","n1820938838","n1820938114","n1820937823","n1820938778","n1820938801","n1820939096","n1820938981","n1820937953","n1820938732","n1820938980","n1820938960","n1820937949","n1820938026","n1820939273","n1841425201","n1820938629","n1820938864","n1820938554","n1820938088","n1820937685","n1841425222","n1820939729","n1820937665","n1820937838","n1820937739","n1820938780","n1820937821","n1820938825","n1820939055","n1820939485","n1820938041","n1820938746","n1820939562","n1820938459","n1820939489","n1820938050","n1820937980","n1820937695","n1820938413","n1820938555","n1820937703","n1820938536","n1820938196","n1820938287","n1820938169","n1820939279","n1820938531","n1820938959","n1820939741","n1820938665","n1820938963","n1820939611","n1820937653","n1820939618","n1820939492","n1820938600","n1820938628","n1820939312","n1820939616","n1820937738","n1820939001","n1820939062","n1820938794","n1820938558","n1820937822","n1820937532","n1820939073","n1820938200","n1820938241","n1820938968","n1820938927","n1820938306","n1820937630","n1820938456","n1820937694","n1820938908","n1820939076","n1820937522","n1820939659","n1820938522","n1820939318","n1820938932","n1820938841","n1820937579","n1820937540","n1820938560","n1821139530","n1820938964","n1820937662","n1820939281","n1821139533","n1820937797","n1821139532","n1820939751","n1821139531","n1820939291","n1820938420","n1820939696","n1820938904","n1820938484","n1820939448","n1820939009","n1820938735","n1820938986","n1820938937","n1820939030","n1820938734","n1820938745","n1820939106","n1820938987","n1820937858","n1820938673","n1820938620","n1820937808","n1820937700","n1820939573","n1820938540","n1820937661","n1820937570","n1820938396","n1820937875","n1820939048","n1820938233","n1820938793","n1820939584","n1820938412","n1820938394","n1820937846","n1820938800","n1820938690","n1820939331","n1820939630","n1820938762","n1820938710","n1820939322","n1820938992","n1821137608","n1821137607","n1820937924","n1820939139","n1820939463","n1820939574","n1820938294","n1820938071","n1820938307","n1820938061","n1820939260","n1820937899","n1820938310","n1820938983","n1820937530","n1820938993","n1820938890","n1820937915","n1820938231","n1820938040","n1820938920","n1820939585","n1820938135","n1820939700","n1820937824","n1820939667","n1820937930","n1820938134","n1820937551","n1820939405","n1820938232","n1820937716","n1820937848","n1820939765","n1820939068","n1820939766","n1820937933","n1820937720","n1820939222","n1820939772","n1820939022","n1820939732","n1820937702","n1820937691","n1820938945","n1820937756","n1820938451","n1820938410","n1820938798","n1820937945","n1820937654","n1820938598","n1820938836","n1820937571","n1820937556","n1820938994","n1820938919","n1820938863","n1820939064","n1820938018","n1820937658","n1820937537","n1820938142","n1820938666","n1820937535","n1820939571","n1820938465","n1820939638","n1820937533","n1820939656","n1820939422","n1820938109","n1820938405","n1820938028","n1820937649","n1820938829","n1820939031","n1820939155","n1820938350","n1820938463","n1820938425","n1820939047","n1820938831","n1820938494","n1820937697","n1820938504","n1820938900","n1820937784","n1820938414","n1820938076","n1820938723","n1820937722","n1820938739","n1820937791","n1820938985","n1820938352","n1820938293","n1820938274","n1820939692","n1820937871","n1820939059","n1820938868","n1820937877","n1820937743","n1820938429","n1820937545","n1820937575","n1820938302","n1820938505","n1820938916","n1820938374","n1820938329","n1820937790","n1820939735","n1820938930","n1820937995","n1820938512","n1820938130","n1820938194","n1820938671","n1820938802","n1820937542","n1820937602","n1820939069","n1820938901","n1820939654","n1820937727","n1820939569","n1820938375","n1820939306","n1820938479","n1820938376","n1820938667","n1820937766","n1820939467","n1820939567","n1820937806","n1820938943","n1820938931","n1820937745","n1820939452","n1820938738","n1820938053","n1820939653","n1820938640","n1820937604","n1820937536","n1820938701","n1820939625","n1820939744","n1820939572","n1820937577","n1820937541","n1820938891","n1820937597","n1820938469","n1820939194","n1820937539","n1820938911","n1820939017","n1820939650","n1820939103","n1820939578","n1820938132","n1820937549","n1820938634","n1820939743","n1820937544","n1820937826","n1820937598","n1820937547","n1820938032","n1820939142"]},"w17963021":{"id":"w17963021","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:22:17Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331667","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185948706","n185948708","n185948710"]},"w203974069":{"id":"w203974069","version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:34Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870431","n2139870432","n2139870433","n2139870434","n2139870431"]},"w209816575":{"id":"w209816575","version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199856288","n2199856289","n2199856290","n2199856291","n2199856292","n2199856293","n2199856294","n2199856295","n2199856296","n2199856297","n2199856298","n2199856299","n2199856300","n2199856301","n2199856302","n2199856303","n2199856288"]},"w203841838":{"id":"w203841838","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","natural":"water"},"nodes":["n2138493826","n2138493827","n2138493828","n2138493829","n2138493830","n2138493831","n2138493833","n2138493832","n2138493826"]},"w203972937":{"id":"w203972937","version":"2","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:26Z","tags":{"highway":"path","name":"Riverwalk Trail","surface":"asphalt","width":"3"},"nodes":["n2139858882","n2139858883","n2139858884","n2139858885","n2139858886","n2139858887","n2139858882","n2139858888","n2139858889","n2139858890","n2139858891","n2139858892","n2139858893","n2139858894","n2139858895","n2139858896","n2139858897","n2139858898","n2139858899","n2139858900","n2139858901","n2139858902","n2139858903","n2139858986","n2139858904","n2139858995","n2139858905","n2139858906","n2139858907","n2139858908","n2139858909","n2139858910","n2139858911","n2139858912","n2139858913","n2139858914","n2139858915","n2139858916","n2139858917","n2139858918","n2139858919","n2139858920","n2139858921","n2139858922","n2139858923","n2139858924","n2139858925","n2139858926","n2139858927","n2139858982","n2139858928","n2139858929","n2139858930","n2139858931","n2139858932","n2139858981","n2139858933","n2139858934","n2139858935","n2139858936","n2139858937","n2139858938","n2139858939","n2139858940","n2139858941","n2139858942","n2139858943","n2140006437","n2139858964","n2139858944","n2139858966","n2139858945","n2139858946","n2139858947","n2139858948","n2139858949","n2139858950","n2139858951"]},"w17964015":{"id":"w17964015","version":"2","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326005:15326006","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185954680","n185954683","n185954685","n185954687","n185954689","n185954690","n185954691","n2139870379","n2139870456","n185954692","n185954693","n185954695"]},"w17967315":{"id":"w17967315","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"South Andrews Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Andrews","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981999","n185974477","n185964963"]},"w203974071":{"id":"w203974071","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870439","n2139870440","n2139870441","n2139870442","n2139870443","n2139870444","n2139870445","n2139870446","n2139870447","n2139870448","n2139870449"]},"w170848824":{"id":"w170848824","version":"3","changeset":"15276848","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:54:30Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819858503","n1819858531","n1819858526","n1819858518","n1819858505","n1819858508","n1819858512","n1819858514","n1819858528","n1819858509","n1819858511","n1819858507","n1819858521"]},"w203986458":{"id":"w203986458","version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989357","n2139989359","n2139989360","n2139989362","n2139989357"]},"w170844917":{"id":"w170844917","version":"7","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"source":"Bing","waterway":"riverbank"},"nodes":["n1819805911","n1819805690","n1819805812","n1819805766","n1819805802","n1819805885","n1819805626","n1819805842","n1819805715","n1819805694","n1819805618","n1819805629","n1819805731","n1819805636","n1819805878","n1819805718","n1819805798","n1819849057","n1819805666","n1819805852","n1819805805","n1819805789","n1819805868","n1819805680","n1819805918","n1819848888","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n1819858521","n1819805854","n1819805876","n1819805864","n1819805922","n2139859004","n1819805702","n2139859003","n1819805614","n1819805792","n1819805786","n1819805777","n1819805645","n1819805838","n1819805889","n1819805795","n1819805707","n1819805774","n1819805808","n1819805810","n1819805724","n1819805676","n1819805728","n1819805783","n1819805687","n1819805727","n2189123379","n1819805632","n1819805641","n1819805760","n1819805887","n1819805861","n1819805722","n1819805880","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n1819805698","n1819805647","n1819805870","n1819805683","n1819805622","n1819805639","n1819805858","n1819805643","n1819805673","n1819805925","n1819805849","n1819805711","n1819805846","n1819805669","n1819805883","n1819805814","n1819805873","n1819805911"]},"w17967326":{"id":"w17967326","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"North Constantine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185985217","n185985219","n185985221","n185985222","n185985223","n185985225","n2140006431","n185985227","n185985229","n185985231","n185985233","n185985235","n185985238","n185985240","n2140018998","n185964965"]},"w134150789":{"id":"w134150789","version":"5","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964971","n2139870406","n185964972"]},"w17966400":{"id":"w17966400","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"tertiary","name":"South Constantine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958672","n185964965"]},"w203974066":{"id":"w203974066","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870417","n2139870418","n2139870420","n2139870419"]},"w17965998":{"id":"w17965998","version":"5","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:53Z","tags":{"name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no"},"nodes":["n185972775","n185972777","n185972779","n185972781","n185972783","n185972785","n185972787","n185972788","n185972789","n185972790","n185972791","n185972793","n185972795","n185972797","n185972798","n185972800","n185972802","n185972805","n185972807","n185972809","n185972811","n185972813","n185972814","n185972815","n185972816","n185972817","n185972819","n185972821","n185972824","n185972826","n185972830","n185972832","n185972834","n185972835","n185972836","n185972839","n185990434","n2114807572","n2114807568","n185972845","n2114807583","n185972847","n185972849","n185972851","n2114807578","n1475293254","n2114807593","n1475293226","n185972862","n2114807565","n185951869","n1475293234","n1475293252","n185972868","n1475293264","n1475293222","n185972878","n1475293261","n185972882","n185972885","n1475293260","n1475293240","n185972891","n185972895","n185972897","n185972899","n2130304159","n1475284023","n185972903"]},"w134150795":{"id":"w134150795","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"bridge":"yes","highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964970","n185964971"]},"w203974067":{"id":"w203974067","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870420","n2139870421"]},"w170995908":{"id":"w170995908","version":"3","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:15Z","tags":{"highway":"residential","name":"Thomas Street","source":"Bing"},"nodes":["n1821006702","n1821006700","n1821006698","n2139858990","n1821006716","n1821006725","n1821006712","n1821006704","n1821006708","n1821006710","n1821006706"]},"w17965834":{"id":"w17965834","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"Spring Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Spring","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185971361","n185971364","n185971366","n185971368","n185954695","n185964968"]},"w203974070":{"id":"w203974070","version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:34Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870435","n2139870436","n2139870437","n2139870438","n2139870435"]},"w203989879":{"id":"w203989879","version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"highway":"service"},"nodes":["n2140018998","n2140018999","n2140019000"]},"w203974062":{"id":"w203974062","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870387","n2139870388","n2139870389","n2139870390","n2139870391","n2139870392","n2139870397","n2139870393","n2139870396","n2139870395","n2139870394","n2139870387"]},"w203974061":{"id":"w203974061","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2139870382","n2139870383"]},"w203049587":{"id":"w203049587","version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"area":"yes","name":"Scidmore Park Petting Zoo","tourism":"zoo","zoo":"petting_zoo"},"nodes":["n2130304133","n2130304136","n2130304138","n2130304140","n2130304142","n2130304144","n2130304146","n2130304147","n2130304148","n2130304149","n2130304150","n2130304151","n2130304133"]},"w203972941":{"id":"w203972941","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path"},"nodes":["n2139858982","n2139858983","n2139858984","n2139858985","n2139858927"]},"w203974065":{"id":"w203974065","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service"},"nodes":["n2139870406","n2139870407","n2139870408","n2139870417","n2139870409","n2139870410","n2139870411","n2139870412","n2139870426","n2139870413","n2139870414","n2139870415","n2139870419","n2139870416","n2139870421","n2139870408"]},"w203972940":{"id":"w203972940","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858934","n2139858967","n2139858968","n2139858969","n2139858970","n2139858971","n2139858972","n2139858973","n2139858974","n2139858975","n2139858976","n2139858977","n2139858978","n2139858979","n2139858980","n2139858981"]},"w203974072":{"id":"w203974072","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139858925","n2139870450","n2139870453","n2139870451","n2139870452","n2139870441"]},"w203974074":{"id":"w203974074","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870454","n2139870456","n2139870429"]},"w203974060":{"id":"w203974060","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"footway"},"nodes":["n2139870383","n2139870384","n2139870422","n2139870385","n2139870386","n2139870388"]},"w203841837":{"id":"w203841837","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","natural":"water"},"nodes":["n2138493807","n2138493808","n2138493809","n2138493810","n2138493811","n2138493812","n2138493813","n2138493814","n2138493815","n2138493816","n2138493825","n2138493817","n2138493824","n2138493818","n2138493819","n2138493820","n2138493821","n2138493822","n2138493823","n2138493807"]},"w134150845":{"id":"w134150845","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{"bridge":"yes","name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15324560:15329061:15329062:15333515:15333516:15333517:15328802:15312982:15312984:15312980:15326010:15326011:15313203:15322169:15324562:15312971:15312973:15312977:15328799:15328907:15328908:15322175:15329059:15333626:15333627:15325105:15322549:15337756:153","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185972903","n185972905"]},"w203974059":{"id":"w203974059","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"footway"},"nodes":["n2139870430","n2139870439","n2139870429","n2139870428","n2139870379","n2139870455","n2139870380","n2139870381","n2139858925","n2139870382"]},"w203986457":{"id":"w203986457","version":"2","changeset":"15287771","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T21:56:30Z","tags":{"area":"yes","ele":"241","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417887","gnis:state_id":"26","leisure":"park","name":"Scidmore Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2139989333","n2139989335","n2139989337","n2139989339","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n2139989341","n2139989344","n2139989346","n2139989348","n2139989350","n2139989351","n2139989353","n2139989355","n2139989333"]},"w170848331":{"id":"w170848331","version":"4","changeset":"15276848","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:54:29Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819848937","n1819849104","n1819849076","n1819849183","n1819848928","n1819848972","n1819848948","n1819848971","n1819848859","n1819849008","n1819848889","n1819849026","n1819849094","n1819849083","n1819849079","n1819849187","n1819848992","n1819849060","n1819849056","n1819849071","n1819849067","n1819849048","n1819849036","n1819849150","n1819849075","n1819849051","n1819849062","n1819848926","n1819849035","n1819848987","n1819849012","n1819848933","n1819848996","n1819848990","n1819849005","n1819849021","n1819848892","n1819849092","n1819848863","n1819848922","n1819848858","n1819848855","n1819848974","n1819848953","n1819849019","n1819849049","n1819848979","n1819849140","n1819849193","n1819849147","n1819849151","n1819849163","n1819849023","n1819848878","n1819849004","n1819848857","n1819848879","n1819849041","n1819849165","n1819849107","n1819849156","n1819848934","n1819848914","n1819848955","n1819848931","n1819848927","n1819849084","n1819849169","n1819849045","n1819848945","n1819849095","n1819848924","n1819849171","n1819849141","n1819849046","n1819849197","n1819849011","n1819849108","n1819849158","n1819849160","n1819848870","n1819849006","n1819849157","n1819848993","n1819848970","n1819849202","n1819848903","n1819848975","n1819848849","n1819849025","n1819849105","n1819849033","n1819849176","n1819849099","n1819849086","n1819848960","n1819848961","n1819849001","n1819848980","n1819849038","n1819848854","n1819849127","n1819849170","n1819849139","n1819848873","n1819848929","n1819849201","n1819849121","n1819849031","n1819849131","n1819848875","n1819849080","n1819849066","n1819849081","n1819849096","n1819849172","n1819849114","n1819849182","n1819848905","n1819849054","n1819848920","n1819848851","n1819848968","n1819848917","n1819849111","n1819849119","n1819849074","n1819848893","n1819849129","n1819848850","n1819848956","n1819849154","n1819848877","n1819848986","n1819849191","n1819848952","n1819848954","n1819848942","n1819849028","n1819849195","n1819848938","n1819848962","n1819849070","n1819849034","n1819849052","n1819849059","n1819848916","n1819849162","n1819849167","n1819849093","n1819849030","n1819849002","n1819849161","n1819848886","n1819848958","n1819849064","n1819849112","n1819849148","n1819848856","n1819848976","n1819848977","n1819849144","n1819848918","n1819849200","n1819848919","n1819849042","n1819849166","n1819849186","n1819849152","n1819849058","n1819849185","n1819849199","n1819849053","n1819849194","n1819849068","n1819849146","n1819849174","n1819848967","n1819848932","n1819849155","n1819849198","n1819848964","n1819848894","n1819848969","n1819849184","n1819849055","n1819849179","n1819848865","n1819848860","n1819849082","n1819848966","n1819849040","n1819849069","n1819849078","n1819849077","n1819848904","n1819848959","n1819849133","n1819849089","n1819849000","n1819849124","n1819849032","n1819849097","n1819848939","n1819849072","n1819848915","n1819849196","n1819848946","n1819849047","n1819849029","n1819849164","n1819848994","n1819849022","n1819858513","n1819849126","n1819849063","n1819848941","n1819849085","n1819848871","n1819848943","n1819849192","n1819858501","n1819849159","n1819858523","n1819848901","n1819849189","n1819858503","n1819849065","n2139877106","n1819848909","n1819848930","n1819848888"]},"w17967397":{"id":"w17967397","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"North Andrews Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Andrews","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964963","n185985217"]},"w17964497":{"id":"w17964497","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:05Z","tags":{"highway":"tertiary","name":"Constantine St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958643","n185958645","n2139795852","n185958647","n185958649","n185958651","n185958653","n185958656","n185958658","n185958660","n185958662","n185958664","n185958666","n185958668","n185958670","n185948710","n185958672"]},"w203974068":{"id":"w203974068","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870422","n2139870423","n2139870424","n2139870425","n2139870426","n2139870427"]},"w203974063":{"id":"w203974063","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870398","n2139870399","n2139870400","n2139870401","n2139870398"]},"w203986459":{"id":"w203986459","version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989364","n2139989366","n2139989368","n2139989370","n2139989364"]},"w203988286":{"id":"w203988286","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"area":"yes","leisure":"park","name":"Memory Isle Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2140006331","n2140006334","n2140006336","n2140006338","n2140006340","n2140006342","n2140006344","n2140006346","n2140006348","n2140006351","n2140006353","n2140006355","n2140006357","n2140006359","n2140006361","n2140006363","n2140006364","n2140006365","n2140006395","n2140006366","n2140006401","n2140006397","n2140006399","n2140006331"]},"w203974073":{"id":"w203974073","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870453","n2139870454","n2139870455"]},"w203974064":{"id":"w203974064","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870402","n2139870403","n2139870404","n2139870405","n2139870402"]},"n185966959":{"id":"n185966959","loc":[-85.642185,41.946411],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n1475283980":{"id":"n1475283980","loc":[-85.6398249,41.9451425],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284013":{"id":"n1475284013","loc":[-85.6396448,41.9451666],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284042":{"id":"n1475284042","loc":[-85.6386382,41.9454789],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n185975925":{"id":"n185975925","loc":[-85.6393332,41.9452388],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975919":{"id":"n185975919","loc":[-85.6391279,41.9453044],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975917":{"id":"n185975917","loc":[-85.6389034,41.9453872],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n2140006369":{"id":"n2140006369","loc":[-85.6386163,41.9451631],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006370":{"id":"n2140006370","loc":[-85.6385144,41.9449357],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006417":{"id":"n2140006417","loc":[-85.6385785,41.9450299],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006419":{"id":"n2140006419","loc":[-85.6385781,41.9452152],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2189123361":{"id":"n2189123361","loc":[-85.6404948,41.947015],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123363":{"id":"n2189123363","loc":[-85.6395765,41.946495],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123365":{"id":"n2189123365","loc":[-85.6389347,41.9460875],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n185966962":{"id":"n185966962","loc":[-85.644417,41.946364],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185975911":{"id":"n185975911","loc":[-85.637532,41.9458276],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975913":{"id":"n185975913","loc":[-85.6376323,41.9457936],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185975915":{"id":"n185975915","loc":[-85.6383596,41.9455425],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975932":{"id":"n185975932","loc":[-85.644403,41.945088],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185975934":{"id":"n185975934","loc":[-85.645486,41.945084],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185979974":{"id":"n185979974","loc":[-85.644381,41.943831],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:24Z","tags":{}},"n2139795809":{"id":"n2139795809","loc":[-85.6464756,41.9450813],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795810":{"id":"n2139795810","loc":[-85.6466646,41.945174],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139858952":{"id":"n2139858952","loc":[-85.6383567,41.9454039],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858953":{"id":"n2139858953","loc":[-85.6380506,41.9455301],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858954":{"id":"n2139858954","loc":[-85.6377321,41.9455546],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858955":{"id":"n2139858955","loc":[-85.6376571,41.9455245],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858956":{"id":"n2139858956","loc":[-85.6375859,41.9454544],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858957":{"id":"n2139858957","loc":[-85.6376686,41.9453185],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858958":{"id":"n2139858958","loc":[-85.6378936,41.9451712],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858959":{"id":"n2139858959","loc":[-85.6379225,41.9450825],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858960":{"id":"n2139858960","loc":[-85.6379302,41.9447564],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858961":{"id":"n2139858961","loc":[-85.6379763,41.9446963],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858962":{"id":"n2139858962","loc":[-85.6380436,41.9446706],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858963":{"id":"n2139858963","loc":[-85.6381286,41.9445969],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858965":{"id":"n2139858965","loc":[-85.6382523,41.9444134],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2140006367":{"id":"n2140006367","loc":[-85.6380923,41.9454418],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006368":{"id":"n2140006368","loc":[-85.6384089,41.9453146],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006372":{"id":"n2140006372","loc":[-85.6383252,41.9447706],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006374":{"id":"n2140006374","loc":[-85.6381033,41.9447436],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006376":{"id":"n2140006376","loc":[-85.6379759,41.9447815],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006378":{"id":"n2140006378","loc":[-85.6379832,41.9448654],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006380":{"id":"n2140006380","loc":[-85.6380632,41.9450738],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006382":{"id":"n2140006382","loc":[-85.6380414,41.9452064],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006389":{"id":"n2140006389","loc":[-85.6379068,41.9453092],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006391":{"id":"n2140006391","loc":[-85.637925,41.9453904],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006393":{"id":"n2140006393","loc":[-85.6379977,41.94545],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2189123275":{"id":"n2189123275","loc":[-85.6371346,41.9462544],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123278":{"id":"n2189123278","loc":[-85.6368371,41.9466153],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123280":{"id":"n2189123280","loc":[-85.6379537,41.9489088],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123282":{"id":"n2189123282","loc":[-85.6383816,41.9497858],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123285":{"id":"n2189123285","loc":[-85.6393673,41.9512417],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123287":{"id":"n2189123287","loc":[-85.640554,41.9517766],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123289":{"id":"n2189123289","loc":[-85.6411,41.9522344],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123291":{"id":"n2189123291","loc":[-85.6417418,41.9526574],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123293":{"id":"n2189123293","loc":[-85.642321,41.9529407],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123295":{"id":"n2189123295","loc":[-85.6427697,41.9532278],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123297":{"id":"n2189123297","loc":[-85.6433332,41.9538254],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123300":{"id":"n2189123300","loc":[-85.6435785,41.9543648],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123301":{"id":"n2189123301","loc":[-85.6444394,41.9541048],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123303":{"id":"n2189123303","loc":[-85.6450603,41.954],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123312":{"id":"n2189123312","loc":[-85.6454829,41.9539108],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123314":{"id":"n2189123314","loc":[-85.6460464,41.9538526],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123315":{"id":"n2189123315","loc":[-85.6463178,41.9537167],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123316":{"id":"n2189123316","loc":[-85.646276,41.9534141],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123317":{"id":"n2189123317","loc":[-85.6459995,41.9531541],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123318":{"id":"n2189123318","loc":[-85.645222,41.9531929],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123319":{"id":"n2189123319","loc":[-85.6447316,41.9531813],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123320":{"id":"n2189123320","loc":[-85.6440637,41.9532977],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123321":{"id":"n2189123321","loc":[-85.6438185,41.9531774],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123322":{"id":"n2189123322","loc":[-85.6440011,41.9528398],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123323":{"id":"n2189123323","loc":[-85.6442672,41.9525914],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123324":{"id":"n2189123324","loc":[-85.6442881,41.9523276],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123326":{"id":"n2189123326","loc":[-85.644262,41.952153],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123328":{"id":"n2189123328","loc":[-85.6441681,41.9520404],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123330":{"id":"n2189123330","loc":[-85.6442098,41.9517494],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123333":{"id":"n2189123333","loc":[-85.6438498,41.9515864],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123336":{"id":"n2189123336","loc":[-85.6435889,41.9513225],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123339":{"id":"n2189123339","loc":[-85.6425349,41.9510315],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123342":{"id":"n2189123342","loc":[-85.6422688,41.9508802],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123345":{"id":"n2189123345","loc":[-85.6418775,41.9508142],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123348":{"id":"n2189123348","loc":[-85.6415488,41.9508064],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123351":{"id":"n2189123351","loc":[-85.6411027,41.9505488],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123353":{"id":"n2189123353","loc":[-85.6410374,41.9498208],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123355":{"id":"n2189123355","loc":[-85.6410061,41.9494327],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123357":{"id":"n2189123357","loc":[-85.6411522,41.9482569],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123359":{"id":"n2189123359","loc":[-85.6410548,41.9473036],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123368":{"id":"n2189123368","loc":[-85.6380216,41.9458974],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123370":{"id":"n2189123370","loc":[-85.6386721,41.9507782],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"w17968193":{"id":"w17968193","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:56:35Z","tags":{"highway":"residential","name":"French St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"French","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312389:15312396","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185970906","n185982877","n185967774","n185985823","n185979974"]},"w203972939":{"id":"w203972939","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path"},"nodes":["n2139858965","n2139858966"]},"w203988289":{"id":"w203988289","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"area":"yes","natural":"water"},"nodes":["n2140006367","n2140006368","n2140006419","n2140006369","n2140006417","n2140006370","n2140006372","n2140006374","n2140006376","n2140006378","n2140006380","n2140006382","n2140006389","n2140006391","n2140006393","n2140006367"]},"w208640157":{"id":"w208640157","version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"area":"yes","natural":"wetland"},"nodes":["n1819849029","n2189123275","n2189123278","n2189123280","n2189123282","n2189123370","n2189123285","n2189123287","n2189123289","n2189123291","n2189123293","n2189123295","n2189123297","n2189123300","n2189123301","n2189123303","n2189123312","n2189123314","n2189123315","n2189123316","n2189123317","n2189123318","n2189123319","n2189123320","n2189123321","n2189123322","n2189123323","n2189123324","n2189123326","n2189123328","n2189123330","n2189123333","n2189123336","n2189123339","n2189123342","n2189123345","n2189123348","n2189123351","n2189123353","n2189123355","n2189123357","n2189123359","n2189123361","n2189123363","n2189123365","n2189123368","n1819849029"]},"w17966281":{"id":"w17966281","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:03Z","tags":{"highway":"residential","name":"Pealer St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pealer","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312363:15312366:15312367:15312368:15325990:15325991:15324554","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975911","n185975913","n185975915","n1475284042","n185975917","n185975919","n185975925","n185970909","n1475284013","n1475283980","n185975928","n185967775","n185975930","n185975932","n185975934","n2139795809","n2139795810"]},"w17965353":{"id":"w17965353","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:36:24Z","tags":{"highway":"residential","name":"Yauney St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Yauney","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312346:15312347","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185966958","n185966959","n185966960","n185966962"]},"w203972938":{"id":"w203972938","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858964","n2139858965","n2139858963","n2139858962","n2139858961","n2139858960","n2139858959","n2139858958","n2139858957","n2139858956","n2139858955","n2139858954","n2139858953","n2139858952","n2139858951"]},"n354002665":{"id":"n354002665","loc":[-85.6366599,41.9444923],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T21:20:26Z","tags":{"ele":"244","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624726","gnis:state_id":"26","name":"Memory Isle","place":"island"}},"n354031301":{"id":"n354031301","loc":[-85.635,41.9463889],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T22:12:53Z","tags":{"amenity":"post_office","ele":"248","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2418163","gnis:state_id":"26","name":"Three Rivers Post Office"}},"n185963454":{"id":"n185963454","loc":[-85.633686,41.946072],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185963455":{"id":"n185963455","loc":[-85.633815,41.946131],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185963456":{"id":"n185963456","loc":[-85.633951,41.946174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185978375":{"id":"n185978375","loc":[-85.634385,41.94559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978377":{"id":"n185978377","loc":[-85.634544,41.945725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978379":{"id":"n185978379","loc":[-85.634573,41.945764],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978381":{"id":"n185978381","loc":[-85.634616,41.945849],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978383":{"id":"n185978383","loc":[-85.634629,41.945893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185984011":{"id":"n185984011","loc":[-85.636058,41.946201],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984013":{"id":"n185984013","loc":[-85.636112,41.946366],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984015":{"id":"n185984015","loc":[-85.636143,41.946551],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185988237":{"id":"n185988237","loc":[-85.6354162,41.946044],"version":"3","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{}},"n185988969":{"id":"n185988969","loc":[-85.635374,41.945325],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185988971":{"id":"n185988971","loc":[-85.635643,41.945585],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185988972":{"id":"n185988972","loc":[-85.635853,41.94586],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n1475283992":{"id":"n1475283992","loc":[-85.6372968,41.9459007],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284011":{"id":"n1475284011","loc":[-85.6359415,41.9459797],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284019":{"id":"n1475284019","loc":[-85.6364433,41.9460423],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n185984009":{"id":"n185984009","loc":[-85.6360524,41.9460485],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988239":{"id":"n185988239","loc":[-85.6358187,41.9460423],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988243":{"id":"n185988243","loc":[-85.6366156,41.9460282],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988244":{"id":"n185988244","loc":[-85.6368316,41.9460046],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988245":{"id":"n185988245","loc":[-85.6370133,41.9459704],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988241":{"id":"n185988241","loc":[-85.636291,41.9460461],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185964976":{"id":"n185964976","loc":[-85.633923,41.9434157],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185964980":{"id":"n185964980","loc":[-85.6333656,41.9437293],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185978388":{"id":"n185978388","loc":[-85.6346449,41.9460571],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819858504":{"id":"n1819858504","loc":[-85.6365343,41.9447926],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858506":{"id":"n1819858506","loc":[-85.6370546,41.9451882],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858516":{"id":"n1819858516","loc":[-85.6358369,41.9444654],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858519":{"id":"n1819858519","loc":[-85.6361534,41.9446176],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858525":{"id":"n1819858525","loc":[-85.6368025,41.9449442],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858527":{"id":"n1819858527","loc":[-85.6334199,41.9457495],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185963452":{"id":"n185963452","loc":[-85.633564,41.9458519],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185963453":{"id":"n185963453","loc":[-85.6336152,41.9459804],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185963451":{"id":"n185963451","loc":[-85.6332888,41.9456871],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n2130304152":{"id":"n2130304152","loc":[-85.6359466,41.9454599],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304153":{"id":"n2130304153","loc":[-85.6362773,41.9452683],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304154":{"id":"n2130304154","loc":[-85.6352028,41.9442868],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304155":{"id":"n2130304155","loc":[-85.6348756,41.9444769],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304156":{"id":"n2130304156","loc":[-85.6349723,41.9444207],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304157":{"id":"n2130304157","loc":[-85.6338698,41.9434443],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304158":{"id":"n2130304158","loc":[-85.635094,41.9451026],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304160":{"id":"n2130304160","loc":[-85.6353716,41.9449322],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304162":{"id":"n2130304162","loc":[-85.6365942,41.9459352],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304163":{"id":"n2130304163","loc":[-85.6369006,41.9457469],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304164":{"id":"n2130304164","loc":[-85.6363292,41.9452278],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304165":{"id":"n2130304165","loc":[-85.6360248,41.9454175],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2139824683":{"id":"n2139824683","loc":[-85.6339825,41.9446441],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:01Z","tags":{}},"n2139824689":{"id":"n2139824689","loc":[-85.6340437,41.9446925],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:01Z","tags":{}},"n2139824702":{"id":"n2139824702","loc":[-85.6340961,41.9447551],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824705":{"id":"n2139824705","loc":[-85.6337467,41.944809],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824707":{"id":"n2139824707","loc":[-85.6341598,41.9448129],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824710":{"id":"n2139824710","loc":[-85.6342771,41.9448223],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824712":{"id":"n2139824712","loc":[-85.6346058,41.944841],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824713":{"id":"n2139824713","loc":[-85.633808,41.9448574],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824714":{"id":"n2139824714","loc":[-85.6340889,41.9448589],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824716":{"id":"n2139824716","loc":[-85.6343335,41.944871],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824717":{"id":"n2139824717","loc":[-85.6343341,41.9448717],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824720":{"id":"n2139824720","loc":[-85.6338757,41.9449069],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824721":{"id":"n2139824721","loc":[-85.6341445,41.9449071],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824724":{"id":"n2139824724","loc":[-85.6334787,41.9449262],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824726":{"id":"n2139824726","loc":[-85.6347119,41.9449332],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824727":{"id":"n2139824727","loc":[-85.6347175,41.9449418],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824728":{"id":"n2139824728","loc":[-85.6344284,41.9449538],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824729":{"id":"n2139824729","loc":[-85.6339339,41.9449573],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824730":{"id":"n2139824730","loc":[-85.6339179,41.9449682],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824732":{"id":"n2139824732","loc":[-85.6335472,41.9449895],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824733":{"id":"n2139824733","loc":[-85.6339736,41.9450164],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824735":{"id":"n2139824735","loc":[-85.6336034,41.9450415],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824736":{"id":"n2139824736","loc":[-85.6348317,41.945043],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824737":{"id":"n2139824737","loc":[-85.63403,41.9450651],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824738":{"id":"n2139824738","loc":[-85.6336611,41.9450949],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824740":{"id":"n2139824740","loc":[-85.6336582,41.9450966],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824744":{"id":"n2139824744","loc":[-85.6331702,41.9451107],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824745":{"id":"n2139824745","loc":[-85.6333388,41.9451142],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824746":{"id":"n2139824746","loc":[-85.6337131,41.9451341],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824747":{"id":"n2139824747","loc":[-85.6337021,41.9451372],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824748":{"id":"n2139824748","loc":[-85.6341244,41.9451472],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824749":{"id":"n2139824749","loc":[-85.6333952,41.945166],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824750":{"id":"n2139824750","loc":[-85.633395,41.9451661],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824751":{"id":"n2139824751","loc":[-85.6346258,41.9451725],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824752":{"id":"n2139824752","loc":[-85.6332387,41.9451741],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824753":{"id":"n2139824753","loc":[-85.6346901,41.9451853],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824754":{"id":"n2139824754","loc":[-85.6346611,41.9452035],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824755":{"id":"n2139824755","loc":[-85.6346574,41.9452059],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824756":{"id":"n2139824756","loc":[-85.6345611,41.9452133],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824757":{"id":"n2139824757","loc":[-85.633453,41.9452194],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824758":{"id":"n2139824758","loc":[-85.6335508,41.9452283],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824759":{"id":"n2139824759","loc":[-85.6347424,41.9452312],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824760":{"id":"n2139824760","loc":[-85.6342305,41.9452395],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824761":{"id":"n2139824761","loc":[-85.6342319,41.9452449],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824762":{"id":"n2139824762","loc":[-85.6334969,41.94526],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824763":{"id":"n2139824763","loc":[-85.63468,41.9452706],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824764":{"id":"n2139824764","loc":[-85.6346772,41.9452724],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824765":{"id":"n2139824765","loc":[-85.6338611,41.9452763],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824766":{"id":"n2139824766","loc":[-85.6347811,41.9452939],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824767":{"id":"n2139824767","loc":[-85.6347375,41.9453211],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824768":{"id":"n2139824768","loc":[-85.6339171,41.9453301],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824769":{"id":"n2139824769","loc":[-85.6348307,41.9453377],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824770":{"id":"n2139824770","loc":[-85.6347067,41.9453405],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824771":{"id":"n2139824771","loc":[-85.6343461,41.9453461],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824772":{"id":"n2139824772","loc":[-85.6343481,41.9453475],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824773":{"id":"n2139824773","loc":[-85.634805,41.9453538],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824774":{"id":"n2139824774","loc":[-85.6336997,41.9453692],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824775":{"id":"n2139824775","loc":[-85.6339709,41.9453818],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824776":{"id":"n2139824776","loc":[-85.6336229,41.9454134],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824777":{"id":"n2139824777","loc":[-85.6349022,41.9454141],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824778":{"id":"n2139824778","loc":[-85.6348854,41.9454246],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824779":{"id":"n2139824779","loc":[-85.6340286,41.9454373],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824780":{"id":"n2139824780","loc":[-85.6336963,41.9454572],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824781":{"id":"n2139824781","loc":[-85.6336789,41.9454672],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824782":{"id":"n2139824782","loc":[-85.6344933,41.945475],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824783":{"id":"n2139824783","loc":[-85.6340854,41.9454918],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824784":{"id":"n2139824784","loc":[-85.6350036,41.9455034],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824785":{"id":"n2139824785","loc":[-85.6337501,41.9455089],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824786":{"id":"n2139824786","loc":[-85.6337497,41.9455091],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824787":{"id":"n2139824787","loc":[-85.6345425,41.9455186],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824788":{"id":"n2139824788","loc":[-85.6341459,41.9455372],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824789":{"id":"n2139824789","loc":[-85.6341376,41.945542],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824790":{"id":"n2139824790","loc":[-85.6338394,41.9455462],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824791":{"id":"n2139824791","loc":[-85.6349171,41.9455588],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824792":{"id":"n2139824792","loc":[-85.6338074,41.9455646],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824793":{"id":"n2139824793","loc":[-85.6346229,41.9455894],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824794":{"id":"n2139824794","loc":[-85.6338983,41.9455995],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824795":{"id":"n2139824795","loc":[-85.6338962,41.9456007],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824796":{"id":"n2139824796","loc":[-85.6342475,41.9456348],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824797":{"id":"n2139824797","loc":[-85.6339505,41.9456497],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824798":{"id":"n2139824798","loc":[-85.6347243,41.9456788],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824799":{"id":"n2139824799","loc":[-85.635057,41.9456831],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824800":{"id":"n2139824800","loc":[-85.635287,41.9457056],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824801":{"id":"n2139824801","loc":[-85.6350753,41.9457068],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824802":{"id":"n2139824802","loc":[-85.6347753,41.9457252],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824803":{"id":"n2139824803","loc":[-85.6340521,41.9457473],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824804":{"id":"n2139824804","loc":[-85.6352875,41.9457611],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824805":{"id":"n2139824805","loc":[-85.6352941,41.9457611],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824806":{"id":"n2139824806","loc":[-85.6350758,41.9457623],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824807":{"id":"n2139824807","loc":[-85.6348194,41.9457638],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824808":{"id":"n2139824808","loc":[-85.635296,41.9459428],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824809":{"id":"n2139824809","loc":[-85.6348212,41.9459455],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139832635":{"id":"n2139832635","loc":[-85.6354612,41.9448791],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832636":{"id":"n2139832636","loc":[-85.6360241,41.9453844],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832637":{"id":"n2139832637","loc":[-85.6361452,41.9453121],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832639":{"id":"n2139832639","loc":[-85.6355997,41.944797],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832641":{"id":"n2139832641","loc":[-85.6351346,41.9443541],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832647":{"id":"n2139832647","loc":[-85.6329883,41.9453692],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832653":{"id":"n2139832653","loc":[-85.6333643,41.9456293],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832663":{"id":"n2139832663","loc":[-85.6335394,41.9455339],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832665":{"id":"n2139832665","loc":[-85.6332375,41.9452476],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832667":{"id":"n2139832667","loc":[-85.6331664,41.9452161],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832669":{"id":"n2139832669","loc":[-85.6331144,41.9451875],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832671":{"id":"n2139832671","loc":[-85.6330779,41.9451274],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832673":{"id":"n2139832673","loc":[-85.6330664,41.9450802],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832678":{"id":"n2139832678","loc":[-85.6332218,41.9453585],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832686":{"id":"n2139832686","loc":[-85.6334246,41.945541],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832691":{"id":"n2139832691","loc":[-85.6329898,41.9454997],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832693":{"id":"n2139832693","loc":[-85.6343554,41.9443274],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832694":{"id":"n2139832694","loc":[-85.6336339,41.9437089],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832696":{"id":"n2139832696","loc":[-85.633532,41.9437708],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832697":{"id":"n2139832697","loc":[-85.6338316,41.9440868],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832698":{"id":"n2139832698","loc":[-85.6342258,41.9444141],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832699":{"id":"n2139832699","loc":[-85.6339164,41.9442166],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832700":{"id":"n2139832700","loc":[-85.6341389,41.944384],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832701":{"id":"n2139832701","loc":[-85.634235,41.9443259],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832702":{"id":"n2139832702","loc":[-85.633613,41.9437875],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832703":{"id":"n2139832703","loc":[-85.633915,41.9436132],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832704":{"id":"n2139832704","loc":[-85.6340019,41.9435613],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832706":{"id":"n2139832706","loc":[-85.6343197,41.9438427],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832708":{"id":"n2139832708","loc":[-85.6342361,41.9438936],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832709":{"id":"n2139832709","loc":[-85.6353839,41.9460401],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832710":{"id":"n2139832710","loc":[-85.6354032,41.9456763],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832711":{"id":"n2139832711","loc":[-85.6356839,41.9459252],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832712":{"id":"n2139832712","loc":[-85.6356109,41.945735],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832713":{"id":"n2139832713","loc":[-85.6353997,41.9457421],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832714":{"id":"n2139832714","loc":[-85.6353895,41.9459347],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832715":{"id":"n2139832715","loc":[-85.6334777,41.9436628],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832716":{"id":"n2139832716","loc":[-85.6333137,41.9435382],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832717":{"id":"n2139832717","loc":[-85.6330938,41.9435406],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832721":{"id":"n2139832721","loc":[-85.6333023,41.9434922],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832722":{"id":"n2139832722","loc":[-85.6330466,41.943623],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832723":{"id":"n2139832723","loc":[-85.6332746,41.9435624],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832724":{"id":"n2139832724","loc":[-85.6333511,41.9435176],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832725":{"id":"n2139832725","loc":[-85.6332241,41.9434001],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832726":{"id":"n2139832726","loc":[-85.6332355,41.9433686],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139870373":{"id":"n2139870373","loc":[-85.6351783,41.9439117],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870374":{"id":"n2139870374","loc":[-85.6351431,41.9439217],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870375":{"id":"n2139870375","loc":[-85.6348853,41.9439117],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870376":{"id":"n2139870376","loc":[-85.6348317,41.9439105],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870377":{"id":"n2139870377","loc":[-85.6346384,41.944007],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870378":{"id":"n2139870378","loc":[-85.6345563,41.9440523],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2140006403":{"id":"n2140006403","loc":[-85.6359942,41.9450097],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006405":{"id":"n2140006405","loc":[-85.6363884,41.9446079],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006407":{"id":"n2140006407","loc":[-85.6362148,41.9447874],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006409":{"id":"n2140006409","loc":[-85.6379476,41.9445869],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006411":{"id":"n2140006411","loc":[-85.6378485,41.9445674],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006413":{"id":"n2140006413","loc":[-85.6378952,41.9444547],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006415":{"id":"n2140006415","loc":[-85.6379962,41.944477],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006421":{"id":"n2140006421","loc":[-85.6355248,41.9433702],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006423":{"id":"n2140006423","loc":[-85.6378471,41.9439233],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006425":{"id":"n2140006425","loc":[-85.6378913,41.9441238],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006426":{"id":"n2140006426","loc":[-85.6381674,41.9442289],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006427":{"id":"n2140006427","loc":[-85.6382359,41.9440975],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006428":{"id":"n2140006428","loc":[-85.6382071,41.9440252],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006429":{"id":"n2140006429","loc":[-85.6381409,41.9439973],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006430":{"id":"n2140006430","loc":[-85.6380569,41.9440153],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006433":{"id":"n2140006433","loc":[-85.6379071,41.9442467],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006435":{"id":"n2140006435","loc":[-85.6381634,41.9443125],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006436":{"id":"n2140006436","loc":[-85.6382407,41.944301],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006438":{"id":"n2140006438","loc":[-85.6382761,41.9442188],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006439":{"id":"n2140006439","loc":[-85.6382429,41.9441761],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006440":{"id":"n2140006440","loc":[-85.6382016,41.9441632],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006441":{"id":"n2140006441","loc":[-85.6378185,41.9439835],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2166205688":{"id":"n2166205688","loc":[-85.6349963,41.9444392],"version":"1","changeset":"15117845","user":"rolandg","uid":"8703","visible":"true","timestamp":"2013-02-21T23:02:38Z","tags":{}},"n2168544780":{"id":"n2168544780","loc":[-85.633944,41.945807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544781":{"id":"n2168544781","loc":[-85.6340783,41.9458621],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544782":{"id":"n2168544782","loc":[-85.6338184,41.9457548],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544783":{"id":"n2168544783","loc":[-85.6339925,41.9459777],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544784":{"id":"n2168544784","loc":[-85.6337317,41.9458698],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544785":{"id":"n2168544785","loc":[-85.6337297,41.9460042],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544786":{"id":"n2168544786","loc":[-85.633919,41.9460797],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544787":{"id":"n2168544787","loc":[-85.6338672,41.9459263],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544788":{"id":"n2168544788","loc":[-85.6338246,41.9459853],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544789":{"id":"n2168544789","loc":[-85.6337615,41.9459601],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544790":{"id":"n2168544790","loc":[-85.6342079,41.9460399],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544791":{"id":"n2168544791","loc":[-85.6343346,41.9458503],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544792":{"id":"n2168544792","loc":[-85.6343759,41.9458116],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544793":{"id":"n2168544793","loc":[-85.6344394,41.9458109],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544795":{"id":"n2168544795","loc":[-85.6344827,41.945851],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544797":{"id":"n2168544797","loc":[-85.6344807,41.945969],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544798":{"id":"n2168544798","loc":[-85.6344404,41.9459697],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544799":{"id":"n2168544799","loc":[-85.6344413,41.9460333],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544800":{"id":"n2168544800","loc":[-85.6342173,41.9460705],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544801":{"id":"n2168544801","loc":[-85.6342162,41.9460392],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544802":{"id":"n2168544802","loc":[-85.6344251,41.9460351],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544805":{"id":"n2168544805","loc":[-85.6344257,41.9460507],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544807":{"id":"n2168544807","loc":[-85.6344721,41.9460498],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544809":{"id":"n2168544809","loc":[-85.6344754,41.9461427],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544811":{"id":"n2168544811","loc":[-85.6344311,41.9461435],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544813":{"id":"n2168544813","loc":[-85.6344317,41.9461592],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544815":{"id":"n2168544815","loc":[-85.6343708,41.9461604],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544817":{"id":"n2168544817","loc":[-85.6343715,41.9461786],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544819":{"id":"n2168544819","loc":[-85.6343229,41.9461795],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544821":{"id":"n2168544821","loc":[-85.6343222,41.9461606],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544823":{"id":"n2168544823","loc":[-85.6342476,41.9461621],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544825":{"id":"n2168544825","loc":[-85.6342444,41.94607],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544827":{"id":"n2168544827","loc":[-85.634138,41.9461632],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544829":{"id":"n2168544829","loc":[-85.6342016,41.9460703],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544830":{"id":"n2168544830","loc":[-85.6332929,41.9463092],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544831":{"id":"n2168544831","loc":[-85.633122,41.946239],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544832":{"id":"n2168544832","loc":[-85.6332954,41.9460055],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544833":{"id":"n2168544833","loc":[-85.6333954,41.9460466],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544834":{"id":"n2168544834","loc":[-85.6334044,41.9460345],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544835":{"id":"n2168544835","loc":[-85.6334594,41.9460571],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544836":{"id":"n2168544836","loc":[-85.6333871,41.9461544],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544837":{"id":"n2168544837","loc":[-85.633403,41.9461609],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544838":{"id":"n2168544838","loc":[-85.6341683,41.9464167],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544839":{"id":"n2168544839","loc":[-85.6341711,41.9463411],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544840":{"id":"n2168544840","loc":[-85.6344471,41.9463469],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544841":{"id":"n2168544841","loc":[-85.6344441,41.9464243],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544842":{"id":"n2168544842","loc":[-85.6343622,41.9464226],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544843":{"id":"n2168544843","loc":[-85.6343593,41.9464989],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544844":{"id":"n2168544844","loc":[-85.6342812,41.9464973],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544845":{"id":"n2168544845","loc":[-85.634283,41.9464504],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544846":{"id":"n2168544846","loc":[-85.6342609,41.9464499],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544847":{"id":"n2168544847","loc":[-85.6342621,41.9464187],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544848":{"id":"n2168544848","loc":[-85.6348414,41.9463396],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544849":{"id":"n2168544849","loc":[-85.6348387,41.9461872],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544850":{"id":"n2168544850","loc":[-85.6351186,41.9461844],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544851":{"id":"n2168544851","loc":[-85.635119,41.9462112],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544852":{"id":"n2168544852","loc":[-85.6351918,41.9462104],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544853":{"id":"n2168544853","loc":[-85.6351944,41.9463515],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544854":{"id":"n2168544854","loc":[-85.6351049,41.9463524],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544855":{"id":"n2168544855","loc":[-85.6351046,41.946337],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2189153180":{"id":"n2189153180","loc":[-85.6340369,41.9469572],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153181":{"id":"n2189153181","loc":[-85.6342531,41.946953],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153183":{"id":"n2189153183","loc":[-85.6348115,41.9465468],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153184":{"id":"n2189153184","loc":[-85.6348105,41.9464569],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153185":{"id":"n2189153185","loc":[-85.6351431,41.9464549],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153186":{"id":"n2189153186","loc":[-85.6351441,41.9465448],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153187":{"id":"n2189153187","loc":[-85.6350077,41.9465456],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153188":{"id":"n2189153188","loc":[-85.635008,41.9465721],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153189":{"id":"n2189153189","loc":[-85.6348965,41.9465727],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153190":{"id":"n2189153190","loc":[-85.6348962,41.9465463],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153191":{"id":"n2189153191","loc":[-85.6348963,41.9471586],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153192":{"id":"n2189153192","loc":[-85.6348944,41.947032],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153193":{"id":"n2189153193","loc":[-85.6350241,41.947031],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153194":{"id":"n2189153194","loc":[-85.635026,41.9471575],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153195":{"id":"n2189153195","loc":[-85.6352328,41.9471053],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153196":{"id":"n2189153196","loc":[-85.6352359,41.9469906],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153197":{"id":"n2189153197","loc":[-85.6353694,41.9469925],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153198":{"id":"n2189153198","loc":[-85.6353664,41.9471072],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153199":{"id":"n2189153199","loc":[-85.6348241,41.9469287],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153200":{"id":"n2189153200","loc":[-85.6348248,41.9468185],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153201":{"id":"n2189153201","loc":[-85.6351199,41.9468195],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153202":{"id":"n2189153202","loc":[-85.6351192,41.9469298],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153203":{"id":"n2189153203","loc":[-85.6347965,41.9468057],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153204":{"id":"n2189153204","loc":[-85.634792,41.9466044],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153205":{"id":"n2189153205","loc":[-85.6349483,41.9466025],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153206":{"id":"n2189153206","loc":[-85.6349493,41.9466448],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153207":{"id":"n2189153207","loc":[-85.6349753,41.9466445],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153208":{"id":"n2189153208","loc":[-85.6349743,41.9465995],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153209":{"id":"n2189153209","loc":[-85.6351173,41.9465977],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153210":{"id":"n2189153210","loc":[-85.6351219,41.9468015],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153211":{"id":"n2189153211","loc":[-85.6349806,41.9468032],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153212":{"id":"n2189153212","loc":[-85.6349794,41.9467519],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153213":{"id":"n2189153213","loc":[-85.6349521,41.9467523],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153214":{"id":"n2189153214","loc":[-85.6349532,41.9468037],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153215":{"id":"n2189153215","loc":[-85.6346302,41.9468381],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153216":{"id":"n2189153216","loc":[-85.6343028,41.9468449],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153217":{"id":"n2189153217","loc":[-85.6342006,41.9468297],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153218":{"id":"n2189153218","loc":[-85.6336698,41.9465918],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153219":{"id":"n2189153219","loc":[-85.6344663,41.9466639],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153220":{"id":"n2189153220","loc":[-85.6344639,41.9466015],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153221":{"id":"n2189153221","loc":[-85.6342283,41.9466065],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153222":{"id":"n2189153222","loc":[-85.6342303,41.9466587],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153223":{"id":"n2189153223","loc":[-85.6342843,41.9466575],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153224":{"id":"n2189153224","loc":[-85.6342851,41.9466794],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153225":{"id":"n2189153225","loc":[-85.6343475,41.9466781],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153226":{"id":"n2189153226","loc":[-85.634347,41.9466664],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153227":{"id":"n2189153227","loc":[-85.6354428,41.9470148],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153228":{"id":"n2189153228","loc":[-85.6354432,41.9468005],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153229":{"id":"n2189153229","loc":[-85.6360277,41.9468011],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153230":{"id":"n2189153230","loc":[-85.6360273,41.9470154],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153231":{"id":"n2189153231","loc":[-85.6354565,41.9465823],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153232":{"id":"n2189153232","loc":[-85.6354496,41.946218],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153233":{"id":"n2189153233","loc":[-85.6356355,41.9465788],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153234":{"id":"n2189153234","loc":[-85.6357155,41.9468008],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153235":{"id":"n2189153235","loc":[-85.6359539,41.9467969],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153236":{"id":"n2189153236","loc":[-85.6359561,41.9463036],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153237":{"id":"n2189153237","loc":[-85.6360129,41.9464793],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153238":{"id":"n2189153238","loc":[-85.6360152,41.9463898],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153239":{"id":"n2189153239","loc":[-85.6359607,41.9464928],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153240":{"id":"n2189153240","loc":[-85.6356903,41.9462227],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153242":{"id":"n2189153242","loc":[-85.6354163,41.946142],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153243":{"id":"n2189153243","loc":[-85.6357546,41.9462214],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153244":{"id":"n2189153244","loc":[-85.6357937,41.9462542],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153245":{"id":"n2189153245","loc":[-85.6358723,41.9467048],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153246":{"id":"n2189153246","loc":[-85.6361494,41.946757],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153247":{"id":"n2189153247","loc":[-85.6354173,41.9469082],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153248":{"id":"n2189153248","loc":[-85.635443,41.9469079],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153249":{"id":"n2189153249","loc":[-85.6360275,41.9469093],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153250":{"id":"n2189153250","loc":[-85.6361542,41.946915],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153251":{"id":"n2189153251","loc":[-85.6358654,41.9464843],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153252":{"id":"n2189153252","loc":[-85.6359549,41.9467499],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153253":{"id":"n2189153253","loc":[-85.6357172,41.9466335],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153254":{"id":"n2189153254","loc":[-85.6355644,41.9461768],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153255":{"id":"n2189153255","loc":[-85.6355655,41.946528],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153256":{"id":"n2189153256","loc":[-85.6357055,41.9465971],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153257":{"id":"n2189153257","loc":[-85.635869,41.9465971],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153259":{"id":"n2189153259","loc":[-85.6354561,41.9470278],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153260":{"id":"n2189153260","loc":[-85.6357961,41.9470233],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153261":{"id":"n2189153261","loc":[-85.6357977,41.9470907],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153262":{"id":"n2189153262","loc":[-85.6357297,41.9470916],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153263":{"id":"n2189153263","loc":[-85.635733,41.947233],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153264":{"id":"n2189153264","loc":[-85.6362674,41.9468637],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153265":{"id":"n2189153265","loc":[-85.6362646,41.9467047],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153266":{"id":"n2189153266","loc":[-85.6363267,41.9467047],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153267":{"id":"n2189153267","loc":[-85.6362633,41.9465848],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153268":{"id":"n2189153268","loc":[-85.6363805,41.9465468],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153269":{"id":"n2189153269","loc":[-85.6364604,41.9466842],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153270":{"id":"n2189153270","loc":[-85.6364604,41.9468647],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2199109756":{"id":"n2199109756","loc":[-85.6337134,41.9471841],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109757":{"id":"n2199109757","loc":[-85.6336514,41.94716],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109758":{"id":"n2199109758","loc":[-85.6337043,41.9470847],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109759":{"id":"n2199109759","loc":[-85.6335997,41.9470441],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109760":{"id":"n2199109760","loc":[-85.6335064,41.9471771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n185960195":{"id":"n185960195","loc":[-85.6295992,41.9524346],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185960796":{"id":"n185960796","loc":[-85.634723,41.953681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185961396":{"id":"n185961396","loc":[-85.634767,41.959009],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185962625":{"id":"n185962625","loc":[-85.635175,41.97201],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:29Z","tags":{}},"n185964982":{"id":"n185964982","loc":[-85.632799,41.9440543],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185965289":{"id":"n185965289","loc":[-85.634621,41.947323],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:49Z","tags":{}},"n185965291":{"id":"n185965291","loc":[-85.636166,41.947296],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:49Z","tags":{}},"n185965399":{"id":"n185965399","loc":[-85.634776,41.959834],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"n185966937":{"id":"n185966937","loc":[-85.633183,41.947315],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185966948":{"id":"n185966948","loc":[-85.626406,41.957188],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185967422":{"id":"n185967422","loc":[-85.6320229,41.9490123],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185967917":{"id":"n185967917","loc":[-85.634763,41.958292],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:17Z","tags":{}},"n185967918":{"id":"n185967918","loc":[-85.636271,41.958311],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:17Z","tags":{}},"n185968100":{"id":"n185968100","loc":[-85.630835,41.950656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185970515":{"id":"n185970515","loc":[-85.634832,41.963866],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:41Z","tags":{}},"n185971578":{"id":"n185971578","loc":[-85.634641,41.948627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:05Z","tags":{}},"n185971580":{"id":"n185971580","loc":[-85.6361818,41.9486135],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971631":{"id":"n185971631","loc":[-85.634729,41.954667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185971632":{"id":"n185971632","loc":[-85.636236,41.954656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185972155":{"id":"n185972155","loc":[-85.623333,41.961987],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185974583":{"id":"n185974583","loc":[-85.634686,41.951158],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:21Z","tags":{}},"n185974585":{"id":"n185974585","loc":[-85.6362059,41.9511457],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185975064":{"id":"n185975064","loc":[-85.636218,41.953667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185975735":{"id":"n185975735","loc":[-85.634923,41.969269],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:09Z","tags":{}},"n185978390":{"id":"n185978390","loc":[-85.634668,41.949875],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978392":{"id":"n185978392","loc":[-85.634686,41.952415],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978394":{"id":"n185978394","loc":[-85.634726,41.955921],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978399":{"id":"n185978399","loc":[-85.6347861,41.9606613],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978402":{"id":"n185978402","loc":[-85.634806,41.961485],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978406":{"id":"n185978406","loc":[-85.6348298,41.964783],"version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:00Z","tags":{}},"n185978410":{"id":"n185978410","loc":[-85.6348766,41.9677088],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978414":{"id":"n185978414","loc":[-85.634938,41.971566],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978415":{"id":"n185978415","loc":[-85.634942,41.971611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978417":{"id":"n185978417","loc":[-85.634952,41.971655],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978419":{"id":"n185978419","loc":[-85.634989,41.971741],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978420":{"id":"n185978420","loc":[-85.635063,41.971864],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978787":{"id":"n185978787","loc":[-85.627936,41.954693],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978790":{"id":"n185978790","loc":[-85.626832,41.954677],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978967":{"id":"n185978967","loc":[-85.632278,41.948613],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:39Z","tags":{}},"n185980735":{"id":"n185980735","loc":[-85.628639,41.953725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:47Z","tags":{}},"n185982163":{"id":"n185982163","loc":[-85.636233,41.952398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:31Z","tags":{}},"n185982193":{"id":"n185982193","loc":[-85.6313855,41.9499125],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185982195":{"id":"n185982195","loc":[-85.6304857,41.9511945],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185982196":{"id":"n185982196","loc":[-85.626336,41.957291],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982197":{"id":"n185982197","loc":[-85.625578,41.958664],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982198":{"id":"n185982198","loc":[-85.624619,41.960145],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982200":{"id":"n185982200","loc":[-85.624494,41.960338],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185984017":{"id":"n185984017","loc":[-85.636163,41.947382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984020":{"id":"n185984020","loc":[-85.636188,41.9498803],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185984022":{"id":"n185984022","loc":[-85.636276,41.955919],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:47Z","tags":{}},"n185984024":{"id":"n185984024","loc":[-85.636279,41.956901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:47Z","tags":{}},"n185988036":{"id":"n185988036","loc":[-85.631422,41.948294],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:30Z","tags":{}},"n185988867":{"id":"n185988867","loc":[-85.63102,41.948805],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988869":{"id":"n185988869","loc":[-85.630773,41.949209],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988871":{"id":"n185988871","loc":[-85.63005,41.95016],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988872":{"id":"n185988872","loc":[-85.629423,41.951016],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988873":{"id":"n185988873","loc":[-85.629252,41.951256],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988875":{"id":"n185988875","loc":[-85.629126,41.951489],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988877":{"id":"n185988877","loc":[-85.628991,41.951704],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988878":{"id":"n185988878","loc":[-85.628689,41.952112],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988879":{"id":"n185988879","loc":[-85.628313,41.952666],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988880":{"id":"n185988880","loc":[-85.627687,41.953529],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988882":{"id":"n185988882","loc":[-85.627394,41.953947],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988884":{"id":"n185988884","loc":[-85.627287,41.954128],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:14Z","tags":{}},"n1819858502":{"id":"n1819858502","loc":[-85.6328435,41.9455473],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858510":{"id":"n1819858510","loc":[-85.6324841,41.9453438],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858515":{"id":"n1819858515","loc":[-85.6318511,41.9446409],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858520":{"id":"n1819858520","loc":[-85.6326558,41.9454708],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858522":{"id":"n1819858522","loc":[-85.6319048,41.9447407],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858524":{"id":"n1819858524","loc":[-85.6317718,41.9443666],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858530":{"id":"n1819858530","loc":[-85.632055,41.9449128],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n2139795768":{"id":"n2139795768","loc":[-85.6243023,41.9606102],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139832645":{"id":"n2139832645","loc":[-85.6324455,41.9448607],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832649":{"id":"n2139832649","loc":[-85.6328043,41.9454773],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832651":{"id":"n2139832651","loc":[-85.6322547,41.9449621],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832675":{"id":"n2139832675","loc":[-85.6327356,41.944757],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832677":{"id":"n2139832677","loc":[-85.6325433,41.9448599],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832680":{"id":"n2139832680","loc":[-85.6328885,41.9455614],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832682":{"id":"n2139832682","loc":[-85.6320913,41.9449492],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832684":{"id":"n2139832684","loc":[-85.6325366,41.9447133],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832688":{"id":"n2139832688","loc":[-85.6322786,41.94485],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832718":{"id":"n2139832718","loc":[-85.6327486,41.9432475],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832719":{"id":"n2139832719","loc":[-85.6327926,41.9431773],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832720":{"id":"n2139832720","loc":[-85.6329033,41.943153],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832727":{"id":"n2139832727","loc":[-85.6328975,41.9430783],"version":"2","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{}},"n2139844839":{"id":"n2139844839","loc":[-85.6326261,41.9432308],"version":"1","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{}},"n2189015992":{"id":"n2189015992","loc":[-85.6347706,41.9593383],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189153179":{"id":"n2189153179","loc":[-85.6340476,41.9472565],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153182":{"id":"n2189153182","loc":[-85.6342638,41.9472522],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153241":{"id":"n2189153241","loc":[-85.6354184,41.9473091],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153258":{"id":"n2189153258","loc":[-85.6354611,41.9472366],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153277":{"id":"n2189153277","loc":[-85.6328948,41.9462374],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2199109755":{"id":"n2199109755","loc":[-85.6336729,41.9472417],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"w203970139":{"id":"w203970139","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824793","n2139824787","n2139824773","n2139824778","n2139824793"]},"w203970098":{"id":"w203970098","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824748","n2139824712","n2139824726","n2139824760","n2139824748"]},"w208643132":{"id":"w208643132","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153195","n2189153196","n2189153197","n2189153198","n2189153195"]},"w203970094":{"id":"w203970094","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824755","n2139824753","n2139824759","n2139824764","n2139824763","n2139824767","n2139824770","n2139824782","n2139824772","n2139824756","n2139824751","n2139824754","n2139824755"]},"w208643138":{"id":"w208643138","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153231","n2189153232","n2189153240","n2189153244","n2189153236","n2189153238","n2189153237","n2189153239","n2189153252","n2189153235","n2189153234","n2189153253","n2189153233","n2189153231"]},"w203970125":{"id":"w203970125","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824735","n2139824738","n2139824757","n2139824749","n2139824735"]},"w170848823":{"id":"w170848823","version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:39Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819849189","n1819858516","n1819858519","n1819858504","n1819858525","n1819858506","n1819858513"]},"w203970898":{"id":"w203970898","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832645","n2139832647","n2139832649","n2139832651","n2139832645"]},"w203970134":{"id":"w203970134","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824796","n2139824803","n2139824797","n2139824788","n2139824796"]},"w203970104":{"id":"w203970104","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824733","n2139824730","n2139824714","n2139824721","n2139824733"]},"w206805245":{"id":"w206805245","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544780","n2168544781","n2139824796","n2139824803","n2168544780"]},"w206805252":{"id":"w206805252","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544838","n2168544839","n2168544840","n2168544841","n2168544842","n2168544843","n2168544844","n2168544845","n2168544846","n2168544847","n2168544838"]},"w203970099":{"id":"w203970099","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824783","n2139824795","n2139824790","n2139824779","n2139824783"]},"w17967730":{"id":"w17967730","version":"2","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:18Z","tags":{"highway":"residential","name":"Water St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Water","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185963451","n2189153277","n185988036","n185988867","n185988869","n185988871","n185988872","n185988873","n185988875","n185988877","n185988878","n185988879","n185988880","n185988882","n185988884","n185978790"]},"w208643133":{"id":"w208643133","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153199","n2189153200","n2189153201","n2189153202","n2189153199"]},"w203970127":{"id":"w203970127","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824794","n2139824783","n2139824789","n2139824797","n2139824794"]},"w208643139":{"id":"w208643139","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service"},"nodes":["n185988237","n2189153242","n2189153247","n2189153241"]},"w203988297":{"id":"w203988297","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140006423","n2140006441","n2140006425","n2140006426","n2140006440","n2140006427","n2140006428","n2140006429","n2140006430","n2140006423"]},"w206805250":{"id":"w206805250","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544827","n2168544823","n2168544825","n2168544800","n2168544829","n2168544827"]},"w208643140":{"id":"w208643140","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153242","n2189153254","n2189153243","n2189153244","n2189153251","n2189153257","n2189153245","n2189153252","n2189153246"]},"w203974055":{"id":"w203974055","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870376","n2139870377"]},"w206805247":{"id":"w206805247","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544785","n2168544786","n2168544783","n2168544787","n2168544788","n2168544789","n2168544785"]},"w17964996":{"id":"w17964996","version":"3","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"residential","name":"Foster St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Foster","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312360","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1819858524","n1819858515","n1819858522","n1819858530","n2139832682","n1819858510","n1819858520","n1819858502","n2139832680","n185963451","n1819858527","n185963452","n185963453","n185963454","n185963455","n185963456"]},"w208643144":{"id":"w208643144","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153264","n2189153265","n2189153266","n2189153267","n2189153268","n2189153269","n2189153270","n2189153264"]},"w203970914":{"id":"w203970914","version":"2","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832722","n2139832723","n2139832724","n2139832725","n2139832726","n2139832727","n2139844839","n2139832722"]},"w208643143":{"id":"w208643143","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153258","n2189153259","n2189153260","n2189153261","n2189153262","n2189153263","n2189153258"]},"w203049590":{"id":"w203049590","version":"3","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2130304152","n2130304153","n2140006403","n2130304154","n2130304156","n2130304155","n2130304160","n2130304152"]},"w203974054":{"id":"w203974054","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858971","n2139870373","n2139870374"]},"w203049595":{"id":"w203049595","version":"2","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"service"},"nodes":["n2130304158","n2130304159","n2130304160","n2139832635","n2139832639"]},"w203970913":{"id":"w203970913","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832715","n2139832716","n2139832717","n2139832718","n2139832719","n2139832720","n2139832721","n2139832716"]},"w208643134":{"id":"w208643134","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153203","n2189153204","n2189153205","n2189153206","n2189153207","n2189153208","n2189153209","n2189153210","n2189153211","n2189153212","n2189153213","n2189153214","n2189153203"]},"w134150808":{"id":"w134150808","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:53Z","tags":{"bridge":"yes","highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988239","n185984009","n185988241","n1475284019"]},"w203970115":{"id":"w203970115","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824761","n2139824727","n2139824736","n2139824771","n2139824761"]},"w208643130":{"id":"w208643130","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153183","n2189153184","n2189153185","n2189153186","n2189153187","n2189153188","n2189153189","n2189153190","n2189153183"]},"w206805246":{"id":"w206805246","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544782","n2168544780","n2168544781","n2168544783","n2168544787","n2168544784","n2168544782"]},"w203970138":{"id":"w203970138","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824729","n2139824720","n2139824702","n2139824707","n2139824729"]},"w203970133":{"id":"w203970133","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824748","n2139824737","n2139824717","n2139824728","n2139824748"]},"w203970907":{"id":"w203970907","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832700","n2139832701","n2139832702"]},"w203974056":{"id":"w203974056","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870377","n2139870378"]},"w203970897":{"id":"w203970897","version":"2","changeset":"15117845","user":"rolandg","uid":"8703","visible":"true","timestamp":"2013-02-21T23:02:38Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2130304156","n2166205688","n2139832635","n2139832636","n2139832637","n2139832639","n2139832641","n2166205688"]},"w203974057":{"id":"w203974057","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870375","n2139870376"]},"w203049594":{"id":"w203049594","version":"3","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"service"},"nodes":["n2130304156","n2139870378","n2139832706","n2139832704","n2130304157"]},"w203970122":{"id":"w203970122","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824757","n2139824740","n2139824747","n2139824762","n2139824757"]},"w208643136":{"id":"w208643136","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153219","n2189153220","n2189153221","n2189153222","n2189153223","n2189153224","n2189153225","n2189153226","n2189153219"]},"w203970128":{"id":"w203970128","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824732","n2139824752","n2139824744","n2139824724","n2139824732"]},"w203970097":{"id":"w203970097","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824737","n2139824733","n2139824710","n2139824716","n2139824737"]},"w203970137":{"id":"w203970137","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824765","n2139824774","n2139824758","n2139824746","n2139824765"]},"w134150840":{"id":"w134150840","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:56Z","tags":{"highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1475284019","n185988243","n185988244","n185988245"]},"w17967628":{"id":"w17967628","version":"3","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978388","n2139832709","n185988237","n185988239"]},"w203988292":{"id":"w203988292","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2140006407","n2140006405"]},"w203970118":{"id":"w203970118","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824775","n2139824785","n2139824780","n2139824768","n2139824775"]},"w203970121":{"id":"w203970121","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824768","n2139824781","n2139824776","n2139824765","n2139824768"]},"w17967752":{"id":"w17967752","version":"5","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"residential","name":"Railroad Drive","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Railroad","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964980","n2139832699","n2139832700","n2130304158","n185988969","n185988971","n185988972","n1475284011"]},"w203970136":{"id":"w203970136","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824798","n2139824793","n2139824777","n2139824784","n2139824798"]},"w203970142":{"id":"w203970142","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824808","n2139824809","n2139824807","n2139824806","n2139824801","n2139824800","n2139824804","n2139824805","n2139824808"]},"w208643137":{"id":"w208643137","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153227","n2189153248","n2189153228","n2189153234","n2189153235","n2189153229","n2189153249","n2189153230","n2189153227"]},"w208643129":{"id":"w208643129","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153179","n2189153180","n2189153181","n2189153182","n2189153179"]},"w203970909":{"id":"w203970909","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832703","n2139832704","n2139832706","n2139832708","n2139832703"]},"w203970905":{"id":"w203970905","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832688","n2139832691"]},"w203988298":{"id":"w203988298","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"service"},"nodes":["n2140006431","n2140006433","n2140006435","n2140006436","n2140006437","n2140006438","n2140006439","n2140006440"]},"w203970106":{"id":"w203970106","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824798","n2139824791","n2139824799","n2139824802","n2139824798"]},"w203970129":{"id":"w203970129","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824787","n2139824782","n2139824766","n2139824769","n2139824787"]},"w208643131":{"id":"w208643131","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153191","n2189153192","n2189153193","n2189153194","n2189153191"]},"w206805249":{"id":"w206805249","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544800","n2168544801","n2168544802","n2168544805","n2168544807","n2168544809","n2168544811","n2168544813","n2168544815","n2168544817","n2168544819","n2168544821","n2168544823","n2168544825","n2168544800"]},"w134150800":{"id":"w134150800","version":"3","changeset":"13675000","user":"NE2","uid":"207745","visible":"true","timestamp":"2012-10-29T15:08:54Z","tags":{"bridge":"yes","highway":"primary","name":"W Michigan Ave","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964972","n185964976"]},"w17966984":{"id":"w17966984","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Portage Avenue","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Portage","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978375","n185963456","n2189153218","n185966937","n185978967","n185967422","n185982193","n185968100","n185982195","n185960195","n185980735","n185978787","n185966948","n185982196","n185982197","n185982198","n185982200","n2139795768","n185972155"]},"w203988294":{"id":"w203988294","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2140006409","n2140006411","n2140006413","n2140006415","n2140006409"]},"w203970912":{"id":"w203970912","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832711","n2139832712","n2139832713","n2139832714","n2139832711"]},"w203970119":{"id":"w203970119","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824713","n2139824705","n2139824683","n2139824689","n2139824713"]},"w203970114":{"id":"w203970114","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824735","n2139824750","n2139824745","n2139824732","n2139824735"]},"w208643142":{"id":"w208643142","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153254","n2189153255","n2189153256","n2189153257"]},"w206805253":{"id":"w206805253","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544848","n2168544849","n2168544850","n2168544851","n2168544852","n2168544853","n2168544854","n2168544855","n2168544848"]},"w143497377":{"id":"w143497377","version":"7","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"North Main Street","old_ref":"US 131","ref":"US 131 Business","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_left_1":"49093","tiger:zip_right":"49093","tiger:zip_right_1":"49093"},"nodes":["n185962625","n185978420","n185978419","n185978417","n185978415","n185978414","n185975735","n1475293254","n185978410","n185978406","n185970515","n185978402","n185978399","n185965399","n2189015992","n185961396","n185967917","n185978394","n185971631","n185960796","n185978392","n185974583","n185978390","n185971578","n185965289","n2189153215","n185978388","n185978383","n185978381","n185978379","n185978377","n185978375","n185964982"]},"w134150811":{"id":"w134150811","version":"6","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964976","n2130304157","n1475284023","n2139832715","n185964980","n185964982"]},"w208643135":{"id":"w208643135","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153215","n2189153216","n2189153217","n2189153218"]},"w17967183":{"id":"w17967183","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"West","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n1475284011","n185984011","n185984013","n185984015","n2189153246","n2189153250","n185965291","n185984017","n185971580","n185984020","n185974585","n185982163","n185975064","n185971632","n185984022","n185984024","n185967918"]},"w134150778":{"id":"w134150778","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{"bridge":"yes","highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988245","n1475283992","n185975911"]},"w206805248":{"id":"w206805248","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544790","n2168544791","n2168544792","n2168544793","n2168544795","n2168544797","n2168544798","n2168544799","n2168544802","n2168544801","n2168544790"]},"w203974058":{"id":"w203974058","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870374","n2139870375"]},"w203970902":{"id":"w203970902","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service"},"nodes":["n2139832678","n2139832691","n2139832680"]},"w203988296":{"id":"w203988296","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"path"},"nodes":["n2139858967","n2140006421","n2139858935"]},"w206805251":{"id":"w206805251","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544830","n2168544831","n2168544832","n2168544833","n2168544834","n2168544835","n2168544836","n2168544837","n2168544830"]},"w203970906":{"id":"w203970906","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832693","n2139832694","n2139832696","n2139832697","n2139832698","n2139832693"]},"w203049598":{"id":"w203049598","version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2130304162","n2130304163","n2130304164","n2130304165","n2130304162"]},"w203970911":{"id":"w203970911","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service"},"nodes":["n2139832709","n2139832714","n2139832713","n2139832710","n185988971"]},"w203970105":{"id":"w203970105","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824779","n2139824792","n2139824786","n2139824775","n2139824779"]},"w203988290":{"id":"w203988290","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"footway"},"nodes":["n2140006403","n2140006407"]},"w203970900":{"id":"w203970900","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832653","n2139832663","n2139832665","n2139832667","n2139832669","n2139832671","n2139832673","n2139832675","n2139832677","n2139832653"]},"w209717048":{"id":"w209717048","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109755","n2199109756","n2199109757","n2199109758","n2199109759","n2199109760","n2199109755"]},"w208643141":{"id":"w208643141","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153247","n2189153248","n2189153249","n2189153250"]},"w203970903":{"id":"w203970903","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832682","n2139832688","n2139832684","n2139832678","n2139832686"]},"n354002527":{"id":"n354002527","loc":[-85.6236039,41.9458813],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T21:20:07Z","tags":{"amenity":"school","ele":"246","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:edited":"02/21/2008","gnis:feature_id":"1624371","gnis:state_id":"26","name":"Barrows School"}},"n185963396":{"id":"n185963396","loc":[-85.627401,41.943496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185963397":{"id":"n185963397","loc":[-85.627403,41.943625],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185965101":{"id":"n185965101","loc":[-85.626409,41.943215],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185971474":{"id":"n185971474","loc":[-85.624884,41.943508],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971475":{"id":"n185971475","loc":[-85.625191,41.943509],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971482":{"id":"n185971482","loc":[-85.624882,41.94382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185983135":{"id":"n185983135","loc":[-85.624893,41.945616],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983137":{"id":"n185983137","loc":[-85.624912,41.946524],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185988027":{"id":"n185988027","loc":[-85.622721,41.946535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:30Z","tags":{}},"n185963398":{"id":"n185963398","loc":[-85.6273993,41.9446899],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185983238":{"id":"n185983238","loc":[-85.6227157,41.9456321],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185980374":{"id":"n185980374","loc":[-85.6248856,41.9447242],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185980373":{"id":"n185980373","loc":[-85.6226744,41.9447371],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n2196831342":{"id":"n2196831342","loc":[-85.6250924,41.945063],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831343":{"id":"n2196831343","loc":[-85.6252335,41.9450636],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831344":{"id":"n2196831344","loc":[-85.6252286,41.9448707],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831345":{"id":"n2196831345","loc":[-85.6250661,41.9448707],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831346":{"id":"n2196831346","loc":[-85.6250243,41.9449012],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831347":{"id":"n2196831347","loc":[-85.6250251,41.9449244],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831348":{"id":"n2196831348","loc":[-85.6250867,41.9449257],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831349":{"id":"n2196831349","loc":[-85.625349,41.9445058],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831350":{"id":"n2196831350","loc":[-85.6253471,41.9443882],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831351":{"id":"n2196831351","loc":[-85.6251516,41.94439],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831352":{"id":"n2196831352","loc":[-85.6251522,41.9444308],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831353":{"id":"n2196831353","loc":[-85.6251344,41.9444309],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831354":{"id":"n2196831354","loc":[-85.6251356,41.9445077],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831355":{"id":"n2196831355","loc":[-85.6232357,41.9463406],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831356":{"id":"n2196831356","loc":[-85.6232409,41.9460668],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831357":{"id":"n2196831357","loc":[-85.6232072,41.9460665],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831358":{"id":"n2196831358","loc":[-85.6232117,41.9458272],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831359":{"id":"n2196831359","loc":[-85.6229808,41.9458248],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831360":{"id":"n2196831360","loc":[-85.6229763,41.9460627],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831361":{"id":"n2196831361","loc":[-85.623006,41.946063],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831362":{"id":"n2196831362","loc":[-85.6230023,41.9462557],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831363":{"id":"n2196831363","loc":[-85.6230755,41.9462565],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831364":{"id":"n2196831364","loc":[-85.6230739,41.9463389],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n185947349":{"id":"n185947349","loc":[-85.618327,41.945607],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947359":{"id":"n185947359","loc":[-85.615453,41.945597],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947378":{"id":"n185947378","loc":[-85.617231,41.945603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947474":{"id":"n185947474","loc":[-85.616136,41.945602],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185948972":{"id":"n185948972","loc":[-85.615273,41.945637],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:02Z","tags":{}},"n185955019":{"id":"n185955019","loc":[-85.620172,41.945627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185960682":{"id":"n185960682","loc":[-85.622759,41.951845],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185961369":{"id":"n185961369","loc":[-85.622758,41.947444],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961371":{"id":"n185961371","loc":[-85.624908,41.947416],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185963392":{"id":"n185963392","loc":[-85.6270462,41.9409953],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185963393":{"id":"n185963393","loc":[-85.627295,41.941304],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:51Z","tags":{}},"n185963394":{"id":"n185963394","loc":[-85.627352,41.94148],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185963395":{"id":"n185963395","loc":[-85.62737,41.942261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185965099":{"id":"n185965099","loc":[-85.6264,41.942263],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185965108":{"id":"n185965108","loc":[-85.622769,41.949224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185965110":{"id":"n185965110","loc":[-85.624937,41.949237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185966295":{"id":"n185966295","loc":[-85.6299942,41.9446689],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n185966342":{"id":"n185966342","loc":[-85.624873,41.942022],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185970222":{"id":"n185970222","loc":[-85.622761,41.948357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:17Z","tags":{}},"n185970224":{"id":"n185970224","loc":[-85.624924,41.9483338],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185971477":{"id":"n185971477","loc":[-85.620051,41.94383],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971478":{"id":"n185971478","loc":[-85.621219,41.943801],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971481":{"id":"n185971481","loc":[-85.621812,41.943807],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185973866":{"id":"n185973866","loc":[-85.627629,41.946498],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185974699":{"id":"n185974699","loc":[-85.6227688,41.950119],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185978800":{"id":"n185978800","loc":[-85.623953,41.954684],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185980372":{"id":"n185980372","loc":[-85.621459,41.944756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:37Z","tags":{}},"n185980378":{"id":"n185980378","loc":[-85.6286375,41.9446764],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980380":{"id":"n185980380","loc":[-85.630139,41.944661],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980382":{"id":"n185980382","loc":[-85.630298,41.944635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980384":{"id":"n185980384","loc":[-85.630759,41.94454],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980386":{"id":"n185980386","loc":[-85.6312369,41.9444548],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185983133":{"id":"n185983133","loc":[-85.6248672,41.9415903],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185983139":{"id":"n185983139","loc":[-85.624951,41.950239],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983140":{"id":"n185983140","loc":[-85.624934,41.950681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983141":{"id":"n185983141","loc":[-85.624813,41.950983],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:02Z","tags":{}},"n185983143":{"id":"n185983143","loc":[-85.6246225,41.951591],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983144":{"id":"n185983144","loc":[-85.623908,41.9539165],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983145":{"id":"n185983145","loc":[-85.6238903,41.9540956],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983146":{"id":"n185983146","loc":[-85.623898,41.95431],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:02Z","tags":{}},"n185983236":{"id":"n185983236","loc":[-85.628481,41.945611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:05Z","tags":{}},"n185985914":{"id":"n185985914","loc":[-85.620072,41.946538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185986812":{"id":"n185986812","loc":[-85.6227785,41.9510005],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185988028":{"id":"n185988028","loc":[-85.6281401,41.9469632],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988030":{"id":"n185988030","loc":[-85.6282451,41.9470314],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988032":{"id":"n185988032","loc":[-85.6283312,41.9470656],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"w17964989":{"id":"w17964989","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:33:37Z","tags":{"highway":"residential","name":"Middle St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Middle","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312433:15328741:15312403:15312465","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185963392","n185963393","n185963394","n185963395","n185963396","n185963397","n185963398"]},"w17965158":{"id":"w17965158","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:55Z","tags":{"access":"private","highway":"service","name":"Battle St","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Battle","tiger:name_type":"St","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313281","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965099","n185965101"]},"w41074896":{"id":"w41074896","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980372","n185980373","n185980374","n185963398","n185980378","n185966295","n185980380","n185980382","n185980384","n185980386"]},"w17965846":{"id":"w17965846","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:12Z","tags":{"highway":"residential","name":"2nd Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"2nd","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313726","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971477","n185971478","n185971481","n185971482"]},"w209470306":{"id":"w209470306","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831349","n2196831350","n2196831351","n2196831352","n2196831353","n2196831354","n2196831349"]},"w17965845":{"id":"w17965845","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:12Z","tags":{"highway":"residential","name":"2nd Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"2nd","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335065","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971474","n185971475","n185963396"]},"w209470307":{"id":"w209470307","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831355","n2196831356","n2196831357","n2196831358","n2196831359","n2196831360","n2196831361","n2196831362","n2196831363","n2196831364","n2196831355"]},"w17968192":{"id":"w17968192","version":"2","changeset":"15473162","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:43:17Z","tags":{"highway":"residential","name":"Washington St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Washington","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980373","n185983238","n185988027","n185961369","n185970222","n185965108","n185974699","n185986812","n185960682"]},"w17967603":{"id":"w17967603","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:23Z","tags":{"highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185985914","n185988027","n185983137","n185973866","n185988028","n185988030","n185988032"]},"w209470305":{"id":"w209470305","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831342","n2196831343","n2196831344","n2196831345","n2196831346","n2196831347","n2196831348","n2196831342"]},"w17967092":{"id":"w17967092","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:18Z","tags":{"highway":"residential","name":"Wood St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wood","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313653:15313659:15313679:15314060","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185983133","n185966342","n185971474","n185971482","n185980374","n185983135","n185983137","n185961371","n185970224","n185965110","n185983139","n185983140","n185983141","n185983143","n185983144","n185983145","n185983146","n185978800"]},"w17967107":{"id":"w17967107","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:23Z","tags":{"highway":"residential","name":"4th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"4th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314053:15314054:15313697:15313698:15313700:15313701:15313699:15314427","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185983236","n185983135","n185983238","n185955019","n185947349","n185947378","n185947474","n185947359","n185948972"]},"n354030330":{"id":"n354030330","loc":[-85.6297222,41.9444444],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T22:10:58Z","tags":{"ele":"243","gnis:county_id":"149","gnis:created":"03/21/2008","gnis:feature_id":"2401246","gnis:state_id":"26","leisure":"park","name":"Scouter Park"}},"n185966296":{"id":"n185966296","loc":[-85.629998,41.944078],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966298":{"id":"n185966298","loc":[-85.629972,41.943927],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966300":{"id":"n185966300","loc":[-85.629948,41.943783],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185980391":{"id":"n185980391","loc":[-85.6322992,41.9442766],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980393":{"id":"n185980393","loc":[-85.6324925,41.9442136],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980389":{"id":"n185980389","loc":[-85.6320272,41.9443281],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980388":{"id":"n185980388","loc":[-85.6315778,41.9443959],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n354031320":{"id":"n354031320","loc":[-85.6280556,41.9447222],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:21Z","tags":{"amenity":"place_of_worship","ele":"245","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417881","gnis:state_id":"26","name":"Riverside Church","religion":"christian"}},"n185987309":{"id":"n185987309","loc":[-85.6286497,41.9453531],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185987311":{"id":"n185987311","loc":[-85.6285942,41.9454805],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185988034":{"id":"n185988034","loc":[-85.6285815,41.9471692],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988896":{"id":"n185988896","loc":[-85.6318433,41.9437929],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185977764":{"id":"n185977764","loc":[-85.6322988,41.943472],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819848852":{"id":"n1819848852","loc":[-85.6315188,41.9448808],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848912":{"id":"n1819848912","loc":[-85.6284289,41.9472189],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848925":{"id":"n1819848925","loc":[-85.6314501,41.9451617],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848949":{"id":"n1819848949","loc":[-85.6309394,41.9455192],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848951":{"id":"n1819848951","loc":[-85.6290297,41.9457187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848963":{"id":"n1819848963","loc":[-85.630521,41.9455591],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848981":{"id":"n1819848981","loc":[-85.6292936,41.9455846],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848989":{"id":"n1819848989","loc":[-85.6298451,41.9455431],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848998":{"id":"n1819848998","loc":[-85.6314973,41.9446254],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849018":{"id":"n1819849018","loc":[-85.6302807,41.9455527],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849043":{"id":"n1819849043","loc":[-85.6285533,41.9469731],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849087":{"id":"n1819849087","loc":[-85.6314501,41.9453532],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849090":{"id":"n1819849090","loc":[-85.628843,41.9461033],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849109":{"id":"n1819849109","loc":[-85.6311926,41.9454729],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849116":{"id":"n1819849116","loc":[-85.6288967,41.9459437],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849177":{"id":"n1819849177","loc":[-85.6287894,41.9464544],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819858529":{"id":"n1819858529","loc":[-85.6325485,41.9445625],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n2189112797":{"id":"n2189112797","loc":[-85.6275271,41.944555],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112798":{"id":"n2189112798","loc":[-85.6275196,41.9437258],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112799":{"id":"n2189112799","loc":[-85.6278937,41.943723],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112800":{"id":"n2189112800","loc":[-85.6278969,41.9439191],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112801":{"id":"n2189112801","loc":[-85.6279907,41.9439345],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112802":{"id":"n2189112802","loc":[-85.6280817,41.9439663],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112803":{"id":"n2189112803","loc":[-85.6281768,41.9440145],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112804":{"id":"n2189112804","loc":[-85.6281933,41.9440483],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112805":{"id":"n2189112805","loc":[-85.6281671,41.9440535],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112806":{"id":"n2189112806","loc":[-85.6281933,41.9440935],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112807":{"id":"n2189112807","loc":[-85.6282126,41.9441437],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112808":{"id":"n2189112808","loc":[-85.628214,41.9441991],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112809":{"id":"n2189112809","loc":[-85.6283298,41.944196],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112810":{"id":"n2189112810","loc":[-85.6283285,41.9442616],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112811":{"id":"n2189112811","loc":[-85.6281727,41.9442616],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112812":{"id":"n2189112812","loc":[-85.6281713,41.9442934],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112813":{"id":"n2189112813","loc":[-85.6280386,41.9442963],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112814":{"id":"n2189112814","loc":[-85.6280405,41.9443292],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112815":{"id":"n2189112815","loc":[-85.627829,41.9443349],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112816":{"id":"n2189112816","loc":[-85.6278347,41.9445495],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189153271":{"id":"n2189153271","loc":[-85.6321053,41.9460342],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153272":{"id":"n2189153272","loc":[-85.632278,41.9457841],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153273":{"id":"n2189153273","loc":[-85.632823,41.9459936],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153274":{"id":"n2189153274","loc":[-85.6326845,41.9461963],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153275":{"id":"n2189153275","loc":[-85.6325664,41.9461507],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153276":{"id":"n2189153276","loc":[-85.6325323,41.946198],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153278":{"id":"n2189153278","loc":[-85.6321916,41.9459733],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153279":{"id":"n2189153279","loc":[-85.6322598,41.9458703],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153280":{"id":"n2189153280","loc":[-85.6327208,41.9460358],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153281":{"id":"n2189153281","loc":[-85.6326413,41.9461422],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n185959079":{"id":"n185959079","loc":[-85.6293702,41.9474668],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185966301":{"id":"n185966301","loc":[-85.629692,41.943136],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966304":{"id":"n185966304","loc":[-85.629565,41.942916],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966308":{"id":"n185966308","loc":[-85.629501,41.942751],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966315":{"id":"n185966315","loc":[-85.629472,41.942578],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966319":{"id":"n185966319","loc":[-85.629444,41.942414],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966321":{"id":"n185966321","loc":[-85.629391,41.94205],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966323":{"id":"n185966323","loc":[-85.629369,41.941858],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966327":{"id":"n185966327","loc":[-85.629297,41.941604],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966331":{"id":"n185966331","loc":[-85.629233,41.941549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966336":{"id":"n185966336","loc":[-85.628504,41.941364],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966338":{"id":"n185966338","loc":[-85.628275,41.941303],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966340":{"id":"n185966340","loc":[-85.6269038,41.9410983],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n185973867":{"id":"n185973867","loc":[-85.626843,41.947333],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185977762":{"id":"n185977762","loc":[-85.6318441,41.9429453],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819848853":{"id":"n1819848853","loc":[-85.625854,41.9492218],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848861":{"id":"n1819848861","loc":[-85.6251459,41.9552376],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848874":{"id":"n1819848874","loc":[-85.6267445,41.9482961],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848882":{"id":"n1819848882","loc":[-85.6257209,41.9552396],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848883":{"id":"n1819848883","loc":[-85.624706,41.9523173],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848907":{"id":"n1819848907","loc":[-85.62609,41.9561471],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848908":{"id":"n1819848908","loc":[-85.6244013,41.9549284],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848911":{"id":"n1819848911","loc":[-85.6265578,41.9553672],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848923":{"id":"n1819848923","loc":[-85.6246802,41.9550959],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848936":{"id":"n1819848936","loc":[-85.6241588,41.9539291],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848940":{"id":"n1819848940","loc":[-85.62506,41.9511129],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848944":{"id":"n1819848944","loc":[-85.624942,41.9515912],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848950":{"id":"n1819848950","loc":[-85.6273989,41.9475461],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848957":{"id":"n1819848957","loc":[-85.627695,41.947404],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819849009":{"id":"n1819849009","loc":[-85.6259248,41.94896],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849037":{"id":"n1819849037","loc":[-85.6257252,41.9502112],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849061":{"id":"n1819849061","loc":[-85.6270084,41.9479626],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849073":{"id":"n1819849073","loc":[-85.6243734,41.9534583],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849091":{"id":"n1819849091","loc":[-85.6241373,41.9543918],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849130":{"id":"n1819849130","loc":[-85.6282572,41.9473067],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849143":{"id":"n1819849143","loc":[-85.625281,41.9506596],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849153":{"id":"n1819849153","loc":[-85.6258647,41.9498043],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849168":{"id":"n1819849168","loc":[-85.6265084,41.9559317],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849173":{"id":"n1819849173","loc":[-85.6263325,41.9552156],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849175":{"id":"n1819849175","loc":[-85.6266372,41.9556764],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849178":{"id":"n1819849178","loc":[-85.6242232,41.9545993],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849181":{"id":"n1819849181","loc":[-85.6262187,41.9486712],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849188":{"id":"n1819849188","loc":[-85.6245558,41.9530434],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849190":{"id":"n1819849190","loc":[-85.6255982,41.9563017],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n2168544738":{"id":"n2168544738","loc":[-85.6245707,41.9529711],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"w208643145":{"id":"w208643145","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153271","n2189153272","n2189153273","n2189153274","n2189153275","n2189153276","n2189153271"]},"w17967561":{"id":"w17967561","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:21Z","tags":{"highway":"residential","name":"Garden St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Garden","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312361:15322884:15322885","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980378","n185987309","n185987311","n185983236","n185973866"]},"w134150802":{"id":"w134150802","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"bridge":"yes","highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980386","n185980388"]},"w208639462":{"id":"w208639462","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112797","n2189112798","n2189112799","n2189112800","n2189112801","n2189112802","n2189112803","n2189112804","n2189112805","n2189112806","n2189112807","n2189112808","n2189112809","n2189112810","n2189112811","n2189112812","n2189112813","n2189112814","n2189112815","n2189112816","n2189112797"]},"w134150830":{"id":"w134150830","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"bridge":"yes","highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977762","n185977764"]},"w134150801":{"id":"w134150801","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977764","n185964982"]},"w208643146":{"id":"w208643146","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153277","n2189153281","n2189153278","n2189153279","n2189153280","n2189153281"]},"w17966061":{"id":"w17966061","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:42:00Z","tags":{"highway":"residential","name":"John Glenn Ct","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"John Glenn","tiger:name_type":"Ct","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313190","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185973866","n185973867"]},"w134150772":{"id":"w134150772","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{"highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988034","n185959079","n185988036","n185978967"]},"w134150836":{"id":"w134150836","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980388","n1819858524","n185980389","n185980391","n185980393","n185964982"]},"w17967734":{"id":"w17967734","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"residential","name":"Water Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Water","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988896","n185980391","n1819858529"]},"w17965305":{"id":"w17965305","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:57Z","tags":{"highway":"residential","name":"River Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312440:15338837","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966295","n185966296","n185966298","n185966300","n185966301","n185966304","n185966308","n185966315","n185966319","n185966321","n185966323","n185966327","n185966331","n185966336","n185966338","n185963392","n185966340","n185966342"]},"w134150826":{"id":"w134150826","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:55Z","tags":{"bridge":"yes","highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988032","n185988034"]},"w170848330":{"id":"w170848330","version":"3","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:50Z","tags":{"name":"Portage River","source":"Bing","waterway":"river"},"nodes":["n1819849190","n1819848907","n1819849168","n1819849175","n1819848911","n1819849173","n1819848882","n1819848861","n1819848923","n1819848908","n1819849178","n1819849091","n1819848936","n1819849073","n1819849188","n2168544738","n1819848883","n1819848944","n1819848940","n1819849143","n1819849037","n1819849153","n1819848853","n1819849009","n1819849181","n1819848874","n1819849061","n1819848950","n1819848957","n1819849130","n1819848912","n1819849043","n1819849177","n1819849090","n1819849116","n1819848951","n1819848981","n1819848989","n1819849018","n1819848963","n1819848949","n1819849109","n1819849087","n1819848925","n1819848852","n1819848998","n1819849057"]},"r270264":{"id":"r270264","version":"8","changeset":"13611326","user":"migurski","uid":"8287","visible":"true","timestamp":"2012-10-23T23:35:16Z","tags":{"network":"US:MI","ref":"86","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-86_%28Michigan_highway%29"},"members":[{"id":"w17737723","type":"way","role":""},{"id":"w17735949","type":"way","role":""},{"id":"w17740404","type":"way","role":""},{"id":"w17966273","type":"way","role":""},{"id":"w17964745","type":"way","role":""},{"id":"w151538068","type":"way","role":""},{"id":"w151538067","type":"way","role":""},{"id":"w17964960","type":"way","role":""},{"id":"w17966099","type":"way","role":""},{"id":"w17968009","type":"way","role":""},{"id":"w41259499","type":"way","role":""},{"id":"w151540401","type":"way","role":""},{"id":"w151540418","type":"way","role":""},{"id":"w17967997","type":"way","role":""},{"id":"w17966029","type":"way","role":""},{"id":"w17964801","type":"way","role":""},{"id":"w41259496","type":"way","role":""},{"id":"w151540399","type":"way","role":""},{"id":"w17968004","type":"way","role":""},{"id":"w17966462","type":"way","role":""},{"id":"w134150830","type":"way","role":""},{"id":"w134150801","type":"way","role":""},{"id":"w17732295","type":"way","role":""}]},"n185980093":{"id":"n185980093","loc":[-85.6271414,41.9407274],"version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964330":{"id":"n185964330","loc":[-85.6235688,41.9399111],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964328":{"id":"n185964328","loc":[-85.6235609,41.9391301],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185958034":{"id":"n185958034","loc":[-85.627102,41.939125],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185964331":{"id":"n185964331","loc":[-85.623571,41.940124],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964329":{"id":"n185964329","loc":[-85.623562,41.9392411],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185972756":{"id":"n185972756","loc":[-85.623802,41.939102],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185972757":{"id":"n185972757","loc":[-85.623584,41.93913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185975325":{"id":"n185975325","loc":[-85.624835,41.939318],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975326":{"id":"n185975326","loc":[-85.624811,41.939435],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975327":{"id":"n185975327","loc":[-85.624635,41.939703],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975328":{"id":"n185975328","loc":[-85.624366,41.940055],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975330":{"id":"n185975330","loc":[-85.624287,41.940113],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975332":{"id":"n185975332","loc":[-85.624215,41.940134],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185980088":{"id":"n185980088","loc":[-85.627127,41.940086],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185988943":{"id":"n185988943","loc":[-85.622643,41.940128],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:15Z","tags":{}},"n185988961":{"id":"n185988961","loc":[-85.627263,41.940082],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185990192":{"id":"n185990192","loc":[-85.622933,41.939224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990194":{"id":"n185990194","loc":[-85.621976,41.939203],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185991378":{"id":"n185991378","loc":[-85.622643,41.940635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:15:34Z","tags":{}},"n1475283999":{"id":"n1475283999","loc":[-85.6271165,41.9408429],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n185980090":{"id":"n185980090","loc":[-85.6271315,41.9402001],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185958036":{"id":"n185958036","loc":[-85.6248366,41.9391615],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819800188":{"id":"n1819800188","loc":[-85.6246947,41.9401644],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800199":{"id":"n1819800199","loc":[-85.6233686,41.9430896],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800204":{"id":"n1819800204","loc":[-85.6223236,41.9408587],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800213":{"id":"n1819800213","loc":[-85.6247526,41.9414138],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800216":{"id":"n1819800216","loc":[-85.6230961,41.9407151],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800218":{"id":"n1819800218","loc":[-85.621991,41.9429336],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800221":{"id":"n1819800221","loc":[-85.6246088,41.9424708],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800227":{"id":"n1819800227","loc":[-85.6241368,41.9403081],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800230":{"id":"n1819800230","loc":[-85.6226776,41.9431012],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800231":{"id":"n1819800231","loc":[-85.6243728,41.9401644],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800232":{"id":"n1819800232","loc":[-85.6249629,41.9408907],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800248":{"id":"n1819800248","loc":[-85.6238685,41.9405555],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800266":{"id":"n1819800266","loc":[-85.6246882,41.9418367],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800271":{"id":"n1819800271","loc":[-85.62492,41.9413695],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800294":{"id":"n1819800294","loc":[-85.6243556,41.9427465],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800304":{"id":"n1819800304","loc":[-85.6251453,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800325":{"id":"n1819800325","loc":[-85.6248234,41.9405714],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800362":{"id":"n1819800362","loc":[-85.6239544,41.9429416],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800368":{"id":"n1819800368","loc":[-85.6243406,41.9402283],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800375":{"id":"n1819800375","loc":[-85.6226562,41.940755],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800377":{"id":"n1819800377","loc":[-85.6232033,41.9406512],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n185945133":{"id":"n185945133","loc":[-85.623501,41.933232],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945135":{"id":"n185945135","loc":[-85.624776,41.933205],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945395":{"id":"n185945395","loc":[-85.624741,41.93019],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:30Z","tags":{}},"n185952239":{"id":"n185952239","loc":[-85.615166,41.9382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:12Z","tags":{}},"n185954490":{"id":"n185954490","loc":[-85.624721,41.929278],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:27Z","tags":{}},"n185957831":{"id":"n185957831","loc":[-85.625041,41.938662],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:57:55Z","tags":{}},"n185958030":{"id":"n185958030","loc":[-85.629033,41.93913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185958032":{"id":"n185958032","loc":[-85.628429,41.939143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185958498":{"id":"n185958498","loc":[-85.621605,41.940143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:27Z","tags":{}},"n185961186":{"id":"n185961186","loc":[-85.624792,41.935214],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:34Z","tags":{}},"n185963099":{"id":"n185963099","loc":[-85.6204461,41.9401485],"version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{}},"n185963698":{"id":"n185963698","loc":[-85.6297342,41.9400783],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185964320":{"id":"n185964320","loc":[-85.623511,41.934216],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964322":{"id":"n185964322","loc":[-85.6235312,41.9362084],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964324":{"id":"n185964324","loc":[-85.6235488,41.9371726],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964326":{"id":"n185964326","loc":[-85.6235512,41.9381718],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185967077":{"id":"n185967077","loc":[-85.617359,41.940161],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:54Z","tags":{}},"n185967634":{"id":"n185967634","loc":[-85.6248039,41.9362012],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185970833":{"id":"n185970833","loc":[-85.6248019,41.9381684],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185972752":{"id":"n185972752","loc":[-85.624582,41.938848],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185972754":{"id":"n185972754","loc":[-85.6242,41.939008],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185973251":{"id":"n185973251","loc":[-85.602727,41.936012],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:49Z","tags":{}},"n185974509":{"id":"n185974509","loc":[-85.62478,41.93217],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:19Z","tags":{}},"n185975315":{"id":"n185975315","loc":[-85.624703,41.925597],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:56Z","tags":{}},"n185975316":{"id":"n185975316","loc":[-85.624716,41.927359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975317":{"id":"n185975317","loc":[-85.62475,41.93119],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975318":{"id":"n185975318","loc":[-85.624782,41.934218],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975320":{"id":"n185975320","loc":[-85.6247949,41.9371708],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:58Z","tags":{}},"n185977754":{"id":"n185977754","loc":[-85.6276,41.937412],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185980075":{"id":"n185980075","loc":[-85.627451,41.937549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980077":{"id":"n185980077","loc":[-85.627375,41.937618],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980078":{"id":"n185980078","loc":[-85.627278,41.937728],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980079":{"id":"n185980079","loc":[-85.627199,41.937842],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980081":{"id":"n185980081","loc":[-85.627141,41.937981],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980083":{"id":"n185980083","loc":[-85.627109,41.938153],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980085":{"id":"n185980085","loc":[-85.627101,41.938699],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185981173":{"id":"n185981173","loc":[-85.61433,41.940167],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:02Z","tags":{}},"n185987021":{"id":"n185987021","loc":[-85.628311,41.942261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:07Z","tags":{}},"n185988963":{"id":"n185988963","loc":[-85.628439,41.940086],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185990195":{"id":"n185990195","loc":[-85.621225,41.939143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990196":{"id":"n185990196","loc":[-85.620576,41.939033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990198":{"id":"n185990198","loc":[-85.619081,41.938804],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990200":{"id":"n185990200","loc":[-85.617593,41.938552],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990202":{"id":"n185990202","loc":[-85.617372,41.938535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990204":{"id":"n185990204","loc":[-85.616087,41.93832],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990206":{"id":"n185990206","loc":[-85.615754,41.938289],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990209":{"id":"n185990209","loc":[-85.615438,41.938251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990211":{"id":"n185990211","loc":[-85.613469,41.937867],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990212":{"id":"n185990212","loc":[-85.610172,41.937298],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990213":{"id":"n185990213","loc":[-85.605537,41.936497],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990214":{"id":"n185990214","loc":[-85.604014,41.936234],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n1819800180":{"id":"n1819800180","loc":[-85.588775,41.9455032],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800181":{"id":"n1819800181","loc":[-85.6074212,41.9408827],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800182":{"id":"n1819800182","loc":[-85.6131397,41.9427022],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800183":{"id":"n1819800183","loc":[-85.6171523,41.9416807],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800184":{"id":"n1819800184","loc":[-85.602465,41.9397415],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800185":{"id":"n1819800185","loc":[-85.6109296,41.9410583],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800186":{"id":"n1819800186","loc":[-85.6165729,41.9418004],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800189":{"id":"n1819800189","loc":[-85.5866293,41.9458224],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800191":{"id":"n1819800191","loc":[-85.5853311,41.9466603],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800201":{"id":"n1819800201","loc":[-85.6101142,41.9433406],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800202":{"id":"n1819800202","loc":[-85.600963,41.9428618],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800206":{"id":"n1819800206","loc":[-85.6154357,41.9427501],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800207":{"id":"n1819800207","loc":[-85.6040309,41.9414094],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800209":{"id":"n1819800209","loc":[-85.6113694,41.943189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800211":{"id":"n1819800211","loc":[-85.618032,41.9416408],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800214":{"id":"n1819800214","loc":[-85.5959419,41.9402602],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800219":{"id":"n1819800219","loc":[-85.5972117,41.9420043],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800223":{"id":"n1819800223","loc":[-85.6117171,41.9430019],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800224":{"id":"n1819800224","loc":[-85.5977873,41.9395579],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800226":{"id":"n1819800226","loc":[-85.5917362,41.9432209],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800228":{"id":"n1819800228","loc":[-85.6055759,41.9419122],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800229":{"id":"n1819800229","loc":[-85.6203395,41.9425595],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n1819800233":{"id":"n1819800233","loc":[-85.6107579,41.9433007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800234":{"id":"n1819800234","loc":[-85.6039773,41.9412498],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800235":{"id":"n1819800235","loc":[-85.6000977,41.9412861],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800236":{"id":"n1819800236","loc":[-85.6026689,41.9407231],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800237":{"id":"n1819800237","loc":[-85.615161,41.9428662],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800238":{"id":"n1819800238","loc":[-85.5878953,41.9454314],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800239":{"id":"n1819800239","loc":[-85.6035267,41.941569],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800240":{"id":"n1819800240","loc":[-85.5929738,41.9450208],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800241":{"id":"n1819800241","loc":[-85.6186329,41.9416488],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800242":{"id":"n1819800242","loc":[-85.5881136,41.9483963],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800243":{"id":"n1819800243","loc":[-85.5909208,41.9466922],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800244":{"id":"n1819800244","loc":[-85.5997721,41.9394941],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800245":{"id":"n1819800245","loc":[-85.6202064,41.9425712],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n1819800246":{"id":"n1819800246","loc":[-85.591071,41.9448808],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800247":{"id":"n1819800247","loc":[-85.5866078,41.9490622],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800250":{"id":"n1819800250","loc":[-85.602383,41.9420841],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800251":{"id":"n1819800251","loc":[-85.5957418,41.9426906],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800255":{"id":"n1819800255","loc":[-85.6157039,41.9416727],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800256":{"id":"n1819800256","loc":[-85.6080328,41.9410982],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800258":{"id":"n1819800258","loc":[-85.6192551,41.9414892],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800260":{"id":"n1819800260","loc":[-85.6104253,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800261":{"id":"n1819800261","loc":[-85.6204503,41.9425709],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800263":{"id":"n1819800263","loc":[-85.5872194,41.9455431],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800264":{"id":"n1819800264","loc":[-85.616176,41.9418244],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800268":{"id":"n1819800268","loc":[-85.6120883,41.9426703],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800269":{"id":"n1819800269","loc":[-85.5894547,41.9474946],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800272":{"id":"n1819800272","loc":[-85.6209181,41.9425027],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800274":{"id":"n1819800274","loc":[-85.6122814,41.9412817],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800276":{"id":"n1819800276","loc":[-85.5895153,41.9452798],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800277":{"id":"n1819800277","loc":[-85.5884317,41.9455272],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800279":{"id":"n1819800279","loc":[-85.5884103,41.9480966],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800287":{"id":"n1819800287","loc":[-85.5904917,41.9453915],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800288":{"id":"n1819800288","loc":[-85.6212292,41.9412977],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800289":{"id":"n1819800289","loc":[-85.5954377,41.9406832],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800290":{"id":"n1819800290","loc":[-85.593721,41.9420957],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800291":{"id":"n1819800291","loc":[-85.6162832,41.9427102],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800292":{"id":"n1819800292","loc":[-85.605018,41.9401804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800293":{"id":"n1819800293","loc":[-85.6086443,41.941146],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800296":{"id":"n1819800296","loc":[-85.6204675,41.9413775],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800297":{"id":"n1819800297","loc":[-85.612496,41.9424947],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800299":{"id":"n1819800299","loc":[-85.6065629,41.9423431],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800301":{"id":"n1819800301","loc":[-85.6036125,41.9398452],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800303":{"id":"n1819800303","loc":[-85.6114767,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800306":{"id":"n1819800306","loc":[-85.592616,41.9428139],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800308":{"id":"n1819800308","loc":[-85.6023041,41.9419521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800310":{"id":"n1819800310","loc":[-85.6218944,41.9411061],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800311":{"id":"n1819800311","loc":[-85.6097816,41.941162],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800312":{"id":"n1819800312","loc":[-85.5922549,41.9457869],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800313":{"id":"n1819800313","loc":[-85.5986027,41.9417206],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800314":{"id":"n1819800314","loc":[-85.5918687,41.946138],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800315":{"id":"n1819800315","loc":[-85.5872875,41.948883],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800316":{"id":"n1819800316","loc":[-85.594272,41.9436642],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800317":{"id":"n1819800317","loc":[-85.6176351,41.941577],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800318":{"id":"n1819800318","loc":[-85.6137834,41.9430853],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800319":{"id":"n1819800319","loc":[-85.6195383,41.942622],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"leisure":"slipway"}},"n1819800320":{"id":"n1819800320","loc":[-85.5971006,41.9398053],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800321":{"id":"n1819800321","loc":[-85.601714,41.9406752],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800322":{"id":"n1819800322","loc":[-85.5908028,41.9453117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800323":{"id":"n1819800323","loc":[-85.6062732,41.9404597],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800324":{"id":"n1819800324","loc":[-85.62124,41.9425905],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800327":{"id":"n1819800327","loc":[-85.6008664,41.942766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800328":{"id":"n1819800328","loc":[-85.6179355,41.9428538],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800330":{"id":"n1819800330","loc":[-85.6045566,41.9415131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800331":{"id":"n1819800331","loc":[-85.5944935,41.9414653],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800333":{"id":"n1819800333","loc":[-85.6088911,41.943181],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800334":{"id":"n1819800334","loc":[-85.5946367,41.943369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800336":{"id":"n1819800336","loc":[-85.6150494,41.9429656],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800343":{"id":"n1819800343","loc":[-85.6096099,41.9433326],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800345":{"id":"n1819800345","loc":[-85.5915216,41.9435401],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800347":{"id":"n1819800347","loc":[-85.607786,41.9428698],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800349":{"id":"n1819800349","loc":[-85.6187616,41.9426623],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800350":{"id":"n1819800350","loc":[-85.6012527,41.9426064],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800352":{"id":"n1819800352","loc":[-85.6214867,41.9428379],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800354":{"id":"n1819800354","loc":[-85.61338,41.94293],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800355":{"id":"n1819800355","loc":[-85.5923156,41.9428139],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800357":{"id":"n1819800357","loc":[-85.5901591,41.9453197],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800359":{"id":"n1819800359","loc":[-85.6033979,41.9408827],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800360":{"id":"n1819800360","loc":[-85.6186543,41.9414653],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800363":{"id":"n1819800363","loc":[-85.6128607,41.9425665],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800365":{"id":"n1819800365","loc":[-85.614234,41.9412977],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800367":{"id":"n1819800367","loc":[-85.6089662,41.9410902],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800369":{"id":"n1819800369","loc":[-85.6197379,41.9413695],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800370":{"id":"n1819800370","loc":[-85.6037348,41.941733],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800371":{"id":"n1819800371","loc":[-85.5993467,41.9415654],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800372":{"id":"n1819800372","loc":[-85.598077,41.94196],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800373":{"id":"n1819800373","loc":[-85.5984203,41.9394781],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800374":{"id":"n1819800374","loc":[-85.6013315,41.9427066],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800376":{"id":"n1819800376","loc":[-85.5934673,41.944167],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800378":{"id":"n1819800378","loc":[-85.6011062,41.9407753],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800379":{"id":"n1819800379","loc":[-85.6150602,41.9415131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800380":{"id":"n1819800380","loc":[-85.6132148,41.9412338],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800381":{"id":"n1819800381","loc":[-85.5889038,41.9453835],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n2139966621":{"id":"n2139966621","loc":[-85.6198719,41.9426184],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:17Z","tags":{}},"n2139966622":{"id":"n2139966622","loc":[-85.6197551,41.9426123],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:17Z","tags":{}},"n2139966623":{"id":"n2139966623","loc":[-85.6196467,41.9426279],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966624":{"id":"n2139966624","loc":[-85.6191519,41.9426221],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966625":{"id":"n2139966625","loc":[-85.6194153,41.9426256],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966626":{"id":"n2139966626","loc":[-85.6200497,41.9425812],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966629":{"id":"n2139966629","loc":[-85.6192123,41.9426229],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2203933101":{"id":"n2203933101","loc":[-85.6030009,41.9360592],"version":"1","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:36Z","tags":{}},"w17967539":{"id":"w17967539","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:52:28Z","tags":{"highway":"residential","name":"1st Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"1st","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335113:15313280","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965099","n185963395","n185987021"]},"w17967751":{"id":"w17967751","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:03Z","tags":{"highway":"residential","name":"River St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312481:15312487","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980088","n185988961","n185988963","n185963698"]},"w17965088":{"id":"w17965088","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:20Z","tags":{"highway":"residential","name":"9th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"9th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314207:15313759:15313772:15313802:15313796:15313781:15314179","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185945133","n185964320","n185964322","n185964324","n185964326","n185964328","n185964329","n185964330","n185964331"]},"w17964467":{"id":"w17964467","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:29:37Z","tags":{"highway":"residential","name":"Mechanic St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Mechanic","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312501:15312497:15335073","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958030","n185958032","n185958034","n185958036"]},"w134150842":{"id":"w134150842","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:56Z","tags":{"bridge":"yes","highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185980090","n185980093"]},"w17966740":{"id":"w17966740","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185977754","n185980075","n185980077","n185980078","n185980079","n185980081","n185980083","n185980085","n185958034","n185980088","n185980090"]},"w170844765":{"id":"w170844765","version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{"waterway":"dam"},"nodes":["n1819800304","n1819800232","n1819800325","n1819800188"]},"w17967745":{"id":"w17967745","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:21Z","tags":{"highway":"residential","name":"River St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981173","n185967077","n185963099","n185958498","n185988943","n185964331","n185975332"]},"w17968113":{"id":"w17968113","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:56:09Z","tags":{"highway":"residential","name":"Green St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Green","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314409","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988943","n185991378"]},"w134150833":{"id":"w134150833","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:55Z","tags":{"highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185980093","n1475283999","n185963392"]},"w17967935":{"id":"w17967935","version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{"name":"Michigan Central Railroad","railway":"abandoned","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan Central Railroad","tiger:reviewed":"no"},"nodes":["n185972757","n185990192","n185990194","n185990195","n185990196","n185990198","n185990200","n185990202","n185990204","n185990206","n185990209","n185952239","n185990211","n185990212","n185990213","n185990214","n2203933101","n185973251"]},"w17965993":{"id":"w17965993","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:19Z","tags":{"name":"Conrail Railroad","railway":"abandoned","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314180:15314177","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185957831","n185972752","n185972754","n185972756","n185972757"]},"w17966211":{"id":"w17966211","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"residential","name":"8th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"8th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313757:15313771:15313791:15313794:15313799:15313811:15313814:15313824:15313846:15314618:15313817:15313788:15314178:15324590","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975315","n185975316","n185954490","n185945395","n185975317","n185974509","n185945135","n185975318","n185961186","n185967634","n185975320","n185970833","n185958036","n185975325","n185975326","n185975327","n185975328","n185975330","n185975332"]},"w170844766":{"id":"w170844766","version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"source":"Bing","waterway":"riverbank"},"nodes":["n1819800229","n1819800245","n2139966626","n2139966621","n2139966622","n2139966623","n1819800319","n2139966625","n2139966629","n2139966624","n1819800349","n1819800328","n1819800291","n1819800206","n1819800237","n1819800336","n1819800318","n1819800354","n1819800182","n1819800363","n1819800297","n1819800268","n1819800223","n1819800209","n1819800233","n1819800201","n1819800343","n1819800333","n1819800347","n1819800299","n1819800228","n1819800330","n1819800370","n1819800250","n1819800374","n1819800202","n1819800327","n1819800350","n1819800308","n1819800239","n1819800207","n1819800234","n1819800359","n1819800236","n1819800321","n1819800378","n1819800235","n1819800371","n1819800313","n1819800372","n1819800219","n1819800251","n1819800334","n1819800316","n1819800376","n1819800240","n1819800312","n1819800314","n1819800243","n1819800269","n1819800279","n1819800242","n1819800315","n1819800247","n1819800191","n1819800189","n1819800263","n1819800238","n1819800277","n1819800180","n1819800381","n1819800276","n1819800357","n1819800287","n1819800322","n1819800246","n1819800345","n1819800226","n1819800355","n1819800306","n1819800290","n1819800331","n1819800289","n1819800214","n1819800320","n1819800224","n1819800373","n1819800244","n1819800184","n1819800301","n1819800292","n1819800323","n1819800181","n1819800256","n1819800293","n1819800367","n1819800311","n1819800260","n1819800185","n1819800303","n1819800274","n1819800380","n1819800365","n1819800379","n1819800255","n1819800264","n1819800186","n1819800183","n1819800317","n1819800211","n1819800241","n1819800360","n1819800258","n1819800369","n1819800296","n1819800288","n1819800310","n1819800204","n1819800375","n1819800216","n1819800377","n1819800248","n1819800227","n1819800368","n1819800231","n1819800188","n1819800325","n1819800232","n1819800304","n1819800271","n1819800213","n1819800266","n1819800221","n1819800294","n1819800362","n1819800199","n1819800230","n1819800218","n1819800352","n1819800324","n1819800272","n1819800261","n1819800229"]},"n1875654132":{"id":"n1875654132","loc":[-85.6297439,41.939808],"version":"1","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:36Z","tags":{}},"n1475293263":{"id":"n1475293263","loc":[-85.6296235,41.939922],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{}},"n185947850":{"id":"n185947850","loc":[-85.631594,41.942613],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:22Z","tags":{}},"n185952745":{"id":"n185952745","loc":[-85.630986,41.941786],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:25Z","tags":{}},"n185972907":{"id":"n185972907","loc":[-85.631797,41.9420055],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972911":{"id":"n185972911","loc":[-85.6309723,41.9411623],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972915":{"id":"n185972915","loc":[-85.6295971,41.939267],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n1475293223":{"id":"n1475293223","loc":[-85.6313962,41.9416114],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293231":{"id":"n1475293231","loc":[-85.6318779,41.9415447],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{}},"n1475293241":{"id":"n1475293241","loc":[-85.6304613,41.9405499],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293246":{"id":"n1475293246","loc":[-85.6297512,41.9395393],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{"railway":"level_crossing"}},"n1475293251":{"id":"n1475293251","loc":[-85.6316633,41.9415128],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n2139982404":{"id":"n2139982404","loc":[-85.6313283,41.9413748],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982407":{"id":"n2139982407","loc":[-85.6325545,41.9417787],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982408":{"id":"n2139982408","loc":[-85.6324499,41.9417693],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982409":{"id":"n2139982409","loc":[-85.6324753,41.9416444],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982410":{"id":"n2139982410","loc":[-85.6325814,41.9416538],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982411":{"id":"n2139982411","loc":[-85.6319572,41.9413515],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982412":{"id":"n2139982412","loc":[-85.6322925,41.941139],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982413":{"id":"n2139982413","loc":[-85.6323153,41.941153],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982414":{"id":"n2139982414","loc":[-85.6323019,41.9412617],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982415":{"id":"n2139982415","loc":[-85.6323703,41.9412667],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982416":{"id":"n2139982416","loc":[-85.6323555,41.941538],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982417":{"id":"n2139982417","loc":[-85.6321343,41.9416777],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982418":{"id":"n2139982418","loc":[-85.6319425,41.9416866],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982419":{"id":"n2139982419","loc":[-85.6320303,41.9416941],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982420":{"id":"n2139982420","loc":[-85.6321665,41.9415554],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982421":{"id":"n2139982421","loc":[-85.632412,41.9414164],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982422":{"id":"n2139982422","loc":[-85.6324801,41.9413421],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982423":{"id":"n2139982423","loc":[-85.6325023,41.9412585],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982424":{"id":"n2139982424","loc":[-85.6324532,41.9411607],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982425":{"id":"n2139982425","loc":[-85.6323502,41.941103],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982426":{"id":"n2139982426","loc":[-85.6322362,41.9411183],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982427":{"id":"n2139982427","loc":[-85.6318941,41.9413551],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982428":{"id":"n2139982428","loc":[-85.6318592,41.9414105],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982429":{"id":"n2139982429","loc":[-85.6320111,41.9415866],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982430":{"id":"n2139982430","loc":[-85.632446,41.9413792],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982431":{"id":"n2139982431","loc":[-85.6325112,41.941416],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982432":{"id":"n2139982432","loc":[-85.6325449,41.9416345],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982433":{"id":"n2139982433","loc":[-85.6326122,41.94164],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982434":{"id":"n2139982434","loc":[-85.6325954,41.9421966],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982435":{"id":"n2139982435","loc":[-85.6325655,41.9422411],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982436":{"id":"n2139982436","loc":[-85.632515,41.9422564],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982437":{"id":"n2139982437","loc":[-85.6324495,41.94223],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982438":{"id":"n2139982438","loc":[-85.6324009,41.9421743],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982439":{"id":"n2139982439","loc":[-85.6323915,41.9421145],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982440":{"id":"n2139982440","loc":[-85.6320287,41.9418585],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982441":{"id":"n2139982441","loc":[-85.6318285,41.9416387],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n1475293258":{"id":"n1475293258","loc":[-85.6318289,41.9415077],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n2168544754":{"id":"n2168544754","loc":[-85.6312814,41.9431198],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544755":{"id":"n2168544755","loc":[-85.6314212,41.9430646],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544756":{"id":"n2168544756","loc":[-85.6313387,41.942949],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544757":{"id":"n2168544757","loc":[-85.6311989,41.9430041],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544758":{"id":"n2168544758","loc":[-85.6311024,41.9429313],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544759":{"id":"n2168544759","loc":[-85.6310087,41.9428087],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544760":{"id":"n2168544760","loc":[-85.6313831,41.9426504],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544761":{"id":"n2168544761","loc":[-85.6314768,41.9427729],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544762":{"id":"n2168544762","loc":[-85.6306376,41.942809],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544763":{"id":"n2168544763","loc":[-85.6307378,41.9429427],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544764":{"id":"n2168544764","loc":[-85.630841,41.9428998],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544765":{"id":"n2168544765","loc":[-85.6307408,41.9427662],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544766":{"id":"n2168544766","loc":[-85.6305404,41.9426029],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544767":{"id":"n2168544767","loc":[-85.6304976,41.9426194],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544768":{"id":"n2168544768","loc":[-85.6305673,41.9427184],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544769":{"id":"n2168544769","loc":[-85.6306164,41.9426984],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544770":{"id":"n2168544770","loc":[-85.6306418,41.9427302],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544771":{"id":"n2168544771","loc":[-85.6306861,41.9427137],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544772":{"id":"n2168544772","loc":[-85.6307146,41.9427537],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544773":{"id":"n2168544773","loc":[-85.6308999,41.9426807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544774":{"id":"n2168544774","loc":[-85.6308429,41.9426053],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544775":{"id":"n2168544775","loc":[-85.6308999,41.9425806],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544776":{"id":"n2168544776","loc":[-85.6308318,41.9424875],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544777":{"id":"n2168544777","loc":[-85.6307732,41.9425087],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544778":{"id":"n2168544778","loc":[-85.6307178,41.9424357],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544779":{"id":"n2168544779","loc":[-85.630485,41.942524],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2189099387":{"id":"n2189099387","loc":[-85.631203,41.9393371],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099404":{"id":"n2189099404","loc":[-85.6301963,41.9391363],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099405":{"id":"n2189099405","loc":[-85.6304447,41.9391352],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099406":{"id":"n2189099406","loc":[-85.6304463,41.9393391],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099407":{"id":"n2189099407","loc":[-85.6308435,41.9393373],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099408":{"id":"n2189099408","loc":[-85.6308418,41.9391251],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099409":{"id":"n2189099409","loc":[-85.6310929,41.939124],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099410":{"id":"n2189099410","loc":[-85.6310946,41.9393376],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189112720":{"id":"n2189112720","loc":[-85.6314677,41.9412327],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112721":{"id":"n2189112721","loc":[-85.6313337,41.9411397],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112722":{"id":"n2189112722","loc":[-85.6320521,41.9405678],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112723":{"id":"n2189112723","loc":[-85.6321899,41.9406633],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112724":{"id":"n2189112724","loc":[-85.6313229,41.9408344],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112725":{"id":"n2189112725","loc":[-85.6311223,41.9410018],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112726":{"id":"n2189112726","loc":[-85.6313205,41.9411333],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112727":{"id":"n2189112727","loc":[-85.6315211,41.9409659],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112728":{"id":"n2189112728","loc":[-85.6311035,41.9402529],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112729":{"id":"n2189112729","loc":[-85.631226,41.9402107],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112730":{"id":"n2189112730","loc":[-85.6315966,41.9408051],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112731":{"id":"n2189112731","loc":[-85.6314741,41.9408473],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112732":{"id":"n2189112732","loc":[-85.6318114,41.940534],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112733":{"id":"n2189112733","loc":[-85.631588,41.94061],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112734":{"id":"n2189112734","loc":[-85.6314379,41.940366],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112735":{"id":"n2189112735","loc":[-85.6316613,41.94029],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112736":{"id":"n2189112736","loc":[-85.6306214,41.9400415],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112737":{"id":"n2189112737","loc":[-85.6304362,41.9397728],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112738":{"id":"n2189112738","loc":[-85.6305899,41.9397142],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112739":{"id":"n2189112739","loc":[-85.6307751,41.9399828],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112740":{"id":"n2189112740","loc":[-85.6304695,41.9401673],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112741":{"id":"n2189112741","loc":[-85.6301298,41.9396855],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112742":{"id":"n2189112742","loc":[-85.6303016,41.9396184],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112743":{"id":"n2189112743","loc":[-85.6306413,41.9401003],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112744":{"id":"n2189112744","loc":[-85.6309656,41.9406189],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112745":{"id":"n2189112745","loc":[-85.6308738,41.940493],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112746":{"id":"n2189112746","loc":[-85.6309333,41.940469],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112747":{"id":"n2189112747","loc":[-85.6307634,41.9402358],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112748":{"id":"n2189112748","loc":[-85.6308798,41.9401889],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112749":{"id":"n2189112749","loc":[-85.6311416,41.940548],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112750":{"id":"n2189112750","loc":[-85.6309577,41.9408708],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112751":{"id":"n2189112751","loc":[-85.630874,41.9407777],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112752":{"id":"n2189112752","loc":[-85.6310622,41.9406841],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112753":{"id":"n2189112753","loc":[-85.6311459,41.9407772],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112754":{"id":"n2189112754","loc":[-85.6320308,41.9405747],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112755":{"id":"n2189112755","loc":[-85.6317769,41.9401857],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112756":{"id":"n2189112756","loc":[-85.6313462,41.9401785],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112757":{"id":"n2189112757","loc":[-85.6313423,41.9401199],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112758":{"id":"n2189112758","loc":[-85.6318308,41.9401184],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112759":{"id":"n2189112759","loc":[-85.6321154,41.9405433],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112760":{"id":"n2189112760","loc":[-85.6310307,41.941683],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112761":{"id":"n2189112761","loc":[-85.6309808,41.9416078],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112762":{"id":"n2189112762","loc":[-85.6312094,41.9415156],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112763":{"id":"n2189112763","loc":[-85.6312636,41.9415865],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112764":{"id":"n2189112764","loc":[-85.6309384,41.94155],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112765":{"id":"n2189112765","loc":[-85.631156,41.9414619],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112766":{"id":"n2189112766","loc":[-85.6311968,41.94152],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112767":{"id":"n2189112767","loc":[-85.6308946,41.9414851],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112768":{"id":"n2189112768","loc":[-85.6308237,41.9413888],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112769":{"id":"n2189112769","loc":[-85.6309858,41.9413228],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112770":{"id":"n2189112770","loc":[-85.6310567,41.9414192],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112771":{"id":"n2189112771","loc":[-85.6307774,41.9413276],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112772":{"id":"n2189112772","loc":[-85.6309068,41.9412735],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112773":{"id":"n2189112773","loc":[-85.6309531,41.9413347],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112774":{"id":"n2189112774","loc":[-85.6307975,41.9412466],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112775":{"id":"n2189112775","loc":[-85.6307006,41.9411699],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112776":{"id":"n2189112776","loc":[-85.6308289,41.941113],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112777":{"id":"n2189112777","loc":[-85.6308997,41.9412012],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112778":{"id":"n2189112778","loc":[-85.630765,41.9412062],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112779":{"id":"n2189112779","loc":[-85.630739,41.9412177],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112780":{"id":"n2189112780","loc":[-85.6305822,41.9410391],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112781":{"id":"n2189112781","loc":[-85.6304117,41.9408177],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112782":{"id":"n2189112782","loc":[-85.6305086,41.9407769],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112783":{"id":"n2189112783","loc":[-85.6306779,41.9410044],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112784":{"id":"n2189112784","loc":[-85.6307734,41.9421663],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112785":{"id":"n2189112785","loc":[-85.630708,41.9420741],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112786":{"id":"n2189112786","loc":[-85.630863,41.9420133],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112787":{"id":"n2189112787","loc":[-85.6309285,41.9421055],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112788":{"id":"n2189112788","loc":[-85.6307014,41.9420263],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112789":{"id":"n2189112789","loc":[-85.6306648,41.941971],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112790":{"id":"n2189112790","loc":[-85.6307927,41.9419178],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112791":{"id":"n2189112791","loc":[-85.6308366,41.9419696],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112792":{"id":"n2189112792","loc":[-85.6307574,41.9418708],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112793":{"id":"n2189112793","loc":[-85.6306288,41.9419231],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112794":{"id":"n2189112794","loc":[-85.6306943,41.9417835],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112795":{"id":"n2189112795","loc":[-85.6305344,41.9418474],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112796":{"id":"n2189112796","loc":[-85.6305981,41.9419355],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189123410":{"id":"n2189123410","loc":[-85.6315476,41.9393801],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123412":{"id":"n2189123412","loc":[-85.6315247,41.9399188],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n2189123415":{"id":"n2189123415","loc":[-85.6316484,41.9400433],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n185945138":{"id":"n185945138","loc":[-85.627073,41.93319],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945142":{"id":"n185945142","loc":[-85.6296891,41.9331674],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185945401":{"id":"n185945401","loc":[-85.6269,41.930199],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:30Z","tags":{}},"n185945405":{"id":"n185945405","loc":[-85.6296598,41.9301676],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185956891":{"id":"n185956891","loc":[-85.6251617,41.9255049],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185959979":{"id":"n185959979","loc":[-85.626333,41.928347],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:03Z","tags":{}},"n185959983":{"id":"n185959983","loc":[-85.6296419,41.9283288],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185961192":{"id":"n185961192","loc":[-85.627053,41.9352031],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185961200":{"id":"n185961200","loc":[-85.6297088,41.9351902],"version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185963655":{"id":"n185963655","loc":[-85.6296112,41.9273948],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185963665":{"id":"n185963665","loc":[-85.626047,41.92737],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:01Z","tags":{}},"n185963688":{"id":"n185963688","loc":[-85.6296503,41.9292199],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963689":{"id":"n185963689","loc":[-85.6296694,41.931157],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963690":{"id":"n185963690","loc":[-85.6296791,41.9321485],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963691":{"id":"n185963691","loc":[-85.6296991,41.9341973],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185967638":{"id":"n185967638","loc":[-85.627089,41.9361884],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185972917":{"id":"n185972917","loc":[-85.6293759,41.9388605],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972919":{"id":"n185972919","loc":[-85.6290337,41.9380234],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185972921":{"id":"n185972921","loc":[-85.628424,41.936212],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:40Z","tags":{}},"n185972923":{"id":"n185972923","loc":[-85.628367,41.936029],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:40Z","tags":{}},"n185974511":{"id":"n185974511","loc":[-85.627064,41.932169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:19Z","tags":{}},"n185977728":{"id":"n185977728","loc":[-85.625605,41.925842],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977729":{"id":"n185977729","loc":[-85.625685,41.926163],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977731":{"id":"n185977731","loc":[-85.6257845,41.9264872],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977733":{"id":"n185977733","loc":[-85.62663,41.929251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977734":{"id":"n185977734","loc":[-85.627008,41.930642],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977736":{"id":"n185977736","loc":[-85.627029,41.930775],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977738":{"id":"n185977738","loc":[-85.627041,41.930946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977739":{"id":"n185977739","loc":[-85.6270379,41.9311746],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977742":{"id":"n185977742","loc":[-85.627055,41.934206],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977744":{"id":"n185977744","loc":[-85.627084,41.936804],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977746":{"id":"n185977746","loc":[-85.627104,41.936914],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977748":{"id":"n185977748","loc":[-85.627156,41.937026],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977750":{"id":"n185977750","loc":[-85.6272406,41.9371672],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977752":{"id":"n185977752","loc":[-85.627317,41.93723],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977753":{"id":"n185977753","loc":[-85.627422,41.937312],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977755":{"id":"n185977755","loc":[-85.627754,41.937504],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977757":{"id":"n185977757","loc":[-85.627883,41.937623],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977761":{"id":"n185977761","loc":[-85.627984,41.93773],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n1475283996":{"id":"n1475283996","loc":[-85.6270514,41.9317122],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{"railway":"level_crossing"}},"n1475284004":{"id":"n1475284004","loc":[-85.6278177,41.9342117],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{"railway":"level_crossing"}},"n1475284014":{"id":"n1475284014","loc":[-85.6251877,41.9255913],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475284017":{"id":"n1475284017","loc":[-85.6274992,41.9331816],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475284021":{"id":"n1475284021","loc":[-85.6297108,41.9353939],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{"railway":"level_crossing"}},"n1475284027":{"id":"n1475284027","loc":[-85.62811,41.935198],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:03Z","tags":{"railway":"level_crossing"}},"n1475284035":{"id":"n1475284035","loc":[-85.626888,41.9311757],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:03Z","tags":{"railway":"level_crossing"}},"n1475293245":{"id":"n1475293245","loc":[-85.6286047,41.9367881],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1875654302":{"id":"n1875654302","loc":[-85.6296367,41.927491],"version":"1","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:43Z","tags":{}},"n2189099388":{"id":"n2189099388","loc":[-85.6312007,41.9389988],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099389":{"id":"n2189099389","loc":[-85.6311003,41.9389992],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099390":{"id":"n2189099390","loc":[-85.6310988,41.9387847],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099391":{"id":"n2189099391","loc":[-85.6312165,41.9387843],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099392":{"id":"n2189099392","loc":[-85.6312152,41.9385857],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099393":{"id":"n2189099393","loc":[-85.6310877,41.9385862],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099394":{"id":"n2189099394","loc":[-85.6310858,41.9383161],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099395":{"id":"n2189099395","loc":[-85.6302002,41.9383196],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099396":{"id":"n2189099396","loc":[-85.6302011,41.9384472],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099397":{"id":"n2189099397","loc":[-85.6301018,41.9384476],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099398":{"id":"n2189099398","loc":[-85.6301025,41.9385419],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099399":{"id":"n2189099399","loc":[-85.6299275,41.9385427],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099400":{"id":"n2189099400","loc":[-85.62993,41.9388653],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099401":{"id":"n2189099401","loc":[-85.630107,41.9388645],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099402":{"id":"n2189099402","loc":[-85.6301079,41.9389908],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099403":{"id":"n2189099403","loc":[-85.6301951,41.9389904],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189123382":{"id":"n2189123382","loc":[-85.6336279,41.9354365],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123384":{"id":"n2189123384","loc":[-85.6328492,41.9355177],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123387":{"id":"n2189123387","loc":[-85.6323762,41.9357396],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123388":{"id":"n2189123388","loc":[-85.6315174,41.9358966],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123389":{"id":"n2189123389","loc":[-85.6304331,41.936124],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123390":{"id":"n2189123390","loc":[-85.6302075,41.9364271],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123391":{"id":"n2189123391","loc":[-85.6303458,41.9367953],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123392":{"id":"n2189123392","loc":[-85.6299601,41.9369739],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123393":{"id":"n2189123393","loc":[-85.6299164,41.9374882],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123394":{"id":"n2189123394","loc":[-85.6299455,41.9378022],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123395":{"id":"n2189123395","loc":[-85.6299771,41.9379053],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123396":{"id":"n2189123396","loc":[-85.6301597,41.9379091],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123397":{"id":"n2189123397","loc":[-85.6308042,41.9377913],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123398":{"id":"n2189123398","loc":[-85.6316885,41.9378082],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123399":{"id":"n2189123399","loc":[-85.6316848,41.9380079],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123400":{"id":"n2189123400","loc":[-85.6318449,41.9381161],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123401":{"id":"n2189123401","loc":[-85.6320705,41.9381811],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123402":{"id":"n2189123402","loc":[-85.6321433,41.9383706],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123404":{"id":"n2189123404","loc":[-85.632056,41.9384355],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123406":{"id":"n2189123406","loc":[-85.6317867,41.9384572],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123409":{"id":"n2189123409","loc":[-85.6316572,41.9387281],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123417":{"id":"n2189123417","loc":[-85.6315946,41.93775],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n2189123419":{"id":"n2189123419","loc":[-85.6302641,41.9378393],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"w208640158":{"id":"w208640158","version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"area":"yes","natural":"wetland"},"nodes":["n2189123379","n2189123382","n2189123384","n2189123387","n2189123388","n2189123389","n2189123390","n2189123391","n2189123392","n2189123393","n2189123394","n2189123395","n2189123396","n2189123419","n2189123397","n2189123417","n2189123398","n2189123399","n2189123400","n2189123401","n2189123402","n2189123404","n2189123406","n2189123409","n2189123410","n2189123412","n2189123415","n1819805722","n1819805861","n1819805887","n1819805760","n1819805641","n1819805632","n2189123379"]},"w134150787":{"id":"w134150787","version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no"},"nodes":["n185972905","n185972907","n1475293223","n185972911","n1475293241","n1475293246","n185972915","n185972917","n185972919","n1475293245","n185972921","n185972923","n1475284027","n1475284004","n1475284017","n1475283996","n1475284035","n1475284014","n185956891"]},"w208639443":{"id":"w208639443","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112720","n2189112721","n2189112722","n2189112723","n2189112720"]},"w17966462":{"id":"w17966462","version":"9","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977728","n185977729","n185977731","n185963665","n185959979","n185977733","n185945401","n185977734","n185977736","n185977738","n185977739","n1475283996","n185974511","n185945138","n185977742","n185961192","n185967638","n185977744","n185977746","n185977748","n185977750","n185977752","n185977753","n185977754","n185977755","n185977757","n185977761","n185958030","n1475293263","n185963698","n185952745","n185947850","n185977762"]},"w203985741":{"id":"w203985741","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{"area":"yes","leisure":"park","name":"Conservation Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2139982404","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n2139982404"]},"w17963676":{"id":"w17963676","version":"3","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312976","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1475293258","n2139982428","n2139982427","n2139982426","n2139982425","n2139982424","n2139982423","n2139982422","n2139982430","n2139982421","n2139982420","n2139982429","n1475293231","n1475293258","n1475293251","n1475293223","n185952745"]},"w203985745":{"id":"w203985745","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"footway"},"nodes":["n2139982430","n2139982431","n2139982432","n2139982433","n2139982434","n2139982435","n2139982436","n2139982437","n2139982438","n2139982439","n2139982440","n2139982441","n1475293231"]},"w208639451":{"id":"w208639451","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112754","n2189112755","n2189112756","n2189112757","n2189112758","n2189112759","n2189112754"]},"w208639452":{"id":"w208639452","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112760","n2189112761","n2189112766","n2189112762","n2189112763","n2189112760"]},"w206805244":{"id":"w206805244","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544766","n2168544767","n2168544768","n2168544769","n2168544770","n2168544771","n2168544772","n2168544773","n2168544774","n2168544775","n2168544776","n2168544777","n2168544778","n2168544779","n2168544766"]},"w208639444":{"id":"w208639444","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112724","n2189112725","n2189112726","n2189112727","n2189112724"]},"w208639450":{"id":"w208639450","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112750","n2189112751","n2189112752","n2189112753","n2189112750"]},"w208639448":{"id":"w208639448","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112740","n2189112741","n2189112742","n2189112743","n2189112740"]},"w208637859":{"id":"w208637859","version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:06Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189099387","n2189099388","n2189099389","n2189099390","n2189099391","n2189099392","n2189099393","n2189099394","n2189099395","n2189099396","n2189099397","n2189099398","n2189099399","n2189099400","n2189099401","n2189099402","n2189099403","n2189099404","n2189099405","n2189099406","n2189099407","n2189099408","n2189099409","n2189099410","n2189099387"]},"w208639453":{"id":"w208639453","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112764","n2189112765","n2189112766","n2189112761","n2189112764"]},"w208639456":{"id":"w208639456","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112774","n2189112778","n2189112779","n2189112775","n2189112776","n2189112777","n2189112774"]},"w208639445":{"id":"w208639445","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112728","n2189112729","n2189112730","n2189112731","n2189112728"]},"w17967776":{"id":"w17967776","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:17Z","tags":{"highway":"residential","name":"5th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312495","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958032","n185988963"]},"w208639461":{"id":"w208639461","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112794","n2189112795","n2189112796","n2189112793","n2189112792"]},"w206805241":{"id":"w206805241","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544754","n2168544755","n2168544756","n2168544757","n2168544754"]},"w208639449":{"id":"w208639449","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112744","n2189112745","n2189112746","n2189112747","n2189112748","n2189112749","n2189112744"]},"w208639455":{"id":"w208639455","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112771","n2189112772","n2189112773","n2189112768","n2189112771"]},"w208639457":{"id":"w208639457","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112780","n2189112781","n2189112782","n2189112783","n2189112780"]},"w208639446":{"id":"w208639446","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112732","n2189112733","n2189112734","n2189112735","n2189112732"]},"w208639454":{"id":"w208639454","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112767","n2189112768","n2189112773","n2189112769","n2189112770","n2189112767"]},"w203985743":{"id":"w203985743","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139982411","n2139982412","n2139982413","n2139982414","n2139982415","n2139982416","n2139982417","n2139982419","n2139982418","n2139982411"]},"w17965023":{"id":"w17965023","version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:10Z","tags":{"highway":"residential","name":"4th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"4th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313205","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185963655","n1875654302","n185959983","n185963688","n185945405","n185963689","n185963690","n185945142","n185963691","n185961200","n1475284021","n1475293246","n1875654132","n1475293263"]},"w206805242":{"id":"w206805242","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544758","n2168544759","n2168544760","n2168544761","n2168544758"]},"w208639460":{"id":"w208639460","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112793","n2189112789","n2189112790","n2189112792"]},"w208639447":{"id":"w208639447","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112736","n2189112737","n2189112738","n2189112739","n2189112736"]},"w208639458":{"id":"w208639458","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112784","n2189112785","n2189112786","n2189112787","n2189112784"]},"w203985744":{"id":"w203985744","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"service"},"nodes":["n2139982425","n2139982400"]},"w208639459":{"id":"w208639459","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112788","n2189112789","n2189112790","n2189112791","n2189112788"]},"w203985742":{"id":"w203985742","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139982407","n2139982408","n2139982409","n2139982410","n2139982407"]},"w206805243":{"id":"w206805243","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544762","n2168544763","n2168544764","n2168544765","n2168544762"]},"n185959081":{"id":"n185959081","loc":[-85.628469,41.948674],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:41Z","tags":{}},"n185967427":{"id":"n185967427","loc":[-85.632054,41.951174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967424":{"id":"n185967424","loc":[-85.6320391,41.9499109],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185968101":{"id":"n185968101","loc":[-85.6308395,41.9511969],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185960792":{"id":"n185960792","loc":[-85.632074,41.953707],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185961389":{"id":"n185961389","loc":[-85.630935,41.959037],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185961391":{"id":"n185961391","loc":[-85.632169,41.959025],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185965395":{"id":"n185965395","loc":[-85.63216,41.959859],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"n185966953":{"id":"n185966953","loc":[-85.630894,41.957428],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185966955":{"id":"n185966955","loc":[-85.632122,41.957427],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185967430":{"id":"n185967430","loc":[-85.632077,41.952453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967432":{"id":"n185967432","loc":[-85.632095,41.954685],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967434":{"id":"n185967434","loc":[-85.632121,41.955914],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967436":{"id":"n185967436","loc":[-85.632128,41.9583],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967438":{"id":"n185967438","loc":[-85.632187,41.960681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967440":{"id":"n185967440","loc":[-85.632182,41.961493],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185968102":{"id":"n185968102","loc":[-85.630855,41.952452],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968104":{"id":"n185968104","loc":[-85.630887,41.953714],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968106":{"id":"n185968106","loc":[-85.630883,41.954692],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968108":{"id":"n185968108","loc":[-85.630904,41.955913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968110":{"id":"n185968110","loc":[-85.630904,41.958058],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968112":{"id":"n185968112","loc":[-85.630952,41.960667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968114":{"id":"n185968114","loc":[-85.630972,41.961495],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968116":{"id":"n185968116","loc":[-85.630962,41.961967],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185978969":{"id":"n185978969","loc":[-85.633214,41.948618],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:39Z","tags":{}},"n185985812":{"id":"n185985812","loc":[-85.633274,41.951159],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185986155":{"id":"n185986155","loc":[-85.633258,41.949893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:48Z","tags":{}},"n2208608826":{"id":"n2208608826","loc":[-85.6339222,41.9486225],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"w17964531":{"id":"w17964531","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:22Z","tags":{"highway":"residential","name":"Willow Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Willow","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313189","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n185959079","n185959081"]},"w17967386":{"id":"w17967386","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"East Armitage Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armitage","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185982195","n185968101","n185967427","n185985812","n185974583"]},"w17965502":{"id":"w17965502","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Elm Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Elm","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185968100","n185968101","n185968102","n185968104","n185968106","n185968108","n185966953","n185968110","n185961389","n185968112","n185968114","n185968116"]},"w17967844":{"id":"w17967844","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"East Bennett Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bennett","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185982193","n185967424","n185986155","n185978390"]},"w17966581":{"id":"w17966581","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"E Kelsey St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kelsey","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978967","n185978969","n2208608826","n185971578"]},"w17965402":{"id":"w17965402","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Walnut Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Walnut","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185967422","n185967424","n185967427","n185967430","n185960792","n185967432","n185967434","n185966955","n185967436","n185961391","n185965395","n185967438","n185967440"]},"n2199093506":{"id":"n2199093506","loc":[-85.6251879,41.9478322],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093505":{"id":"n2199093505","loc":[-85.6252076,41.9477749],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093504":{"id":"n2199093504","loc":[-85.6252289,41.9477602],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093503":{"id":"n2199093503","loc":[-85.625201,41.9477492],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093502":{"id":"n2199093502","loc":[-85.6251682,41.9477066],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093501":{"id":"n2199093501","loc":[-85.6251715,41.947609],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093500":{"id":"n2199093500","loc":[-85.6252125,41.9475639],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093499":{"id":"n2199093499","loc":[-85.6252896,41.9475602],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093498":{"id":"n2199093498","loc":[-85.6253027,41.9475334],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093497":{"id":"n2199093497","loc":[-85.6253437,41.9474822],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093496":{"id":"n2199093496","loc":[-85.6254421,41.9474675],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093495":{"id":"n2199093495","loc":[-85.6256503,41.9474944],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093494":{"id":"n2199093494","loc":[-85.6257257,41.9476127],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093493":{"id":"n2199093493","loc":[-85.6257028,41.9477285],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093492":{"id":"n2199093492","loc":[-85.6255339,41.9478102],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093491":{"id":"n2199093491","loc":[-85.6253912,41.9478224],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093490":{"id":"n2199093490","loc":[-85.6253043,41.947859],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093489":{"id":"n2199093489","loc":[-85.6252027,41.9478846],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093458":{"id":"n2199093458","loc":[-85.6246876,41.9486617],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093457":{"id":"n2199093457","loc":[-85.6243127,41.9486583],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093456":{"id":"n2199093456","loc":[-85.624306,41.9490569],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093455":{"id":"n2199093455","loc":[-85.624681,41.9490603],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093514":{"id":"n2199093514","loc":[-85.6236228,41.9496059],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093513":{"id":"n2199093513","loc":[-85.6236231,41.9496997],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093512":{"id":"n2199093512","loc":[-85.623357,41.9497002],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093511":{"id":"n2199093511","loc":[-85.6233567,41.9496136],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093508":{"id":"n2199093508","loc":[-85.6239735,41.9494287],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093507":{"id":"n2199093507","loc":[-85.6239741,41.9496052],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093488":{"id":"n2199093488","loc":[-85.624497,41.9512286],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093487":{"id":"n2199093487","loc":[-85.6244966,41.9511259],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093486":{"id":"n2199093486","loc":[-85.6243151,41.9511263],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093485":{"id":"n2199093485","loc":[-85.6243154,41.951229],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093484":{"id":"n2199093484","loc":[-85.6241205,41.9508665],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093483":{"id":"n2199093483","loc":[-85.624115,41.9505249],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093482":{"id":"n2199093482","loc":[-85.6243149,41.9505231],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093481":{"id":"n2199093481","loc":[-85.6243203,41.9508648],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093480":{"id":"n2199093480","loc":[-85.624393,41.9508668],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093479":{"id":"n2199093479","loc":[-85.6243904,41.9505956],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093478":{"id":"n2199093478","loc":[-85.6246727,41.950594],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093477":{"id":"n2199093477","loc":[-85.624675,41.9508203],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093476":{"id":"n2199093476","loc":[-85.6245097,41.9508212],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093475":{"id":"n2199093475","loc":[-85.6245101,41.9508662],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093474":{"id":"n2199093474","loc":[-85.6241008,41.9493459],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093473":{"id":"n2199093473","loc":[-85.6242442,41.9493459],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093472":{"id":"n2199093472","loc":[-85.6242442,41.9493681],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093471":{"id":"n2199093471","loc":[-85.6243397,41.9493681],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093470":{"id":"n2199093470","loc":[-85.6243417,41.9493511],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093469":{"id":"n2199093469","loc":[-85.6247251,41.9493485],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093468":{"id":"n2199093468","loc":[-85.6247548,41.9504949],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093467":{"id":"n2199093467","loc":[-85.6241214,41.9505017],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093466":{"id":"n2199093466","loc":[-85.6254398,41.950174],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093465":{"id":"n2199093465","loc":[-85.6254412,41.9499872],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093464":{"id":"n2199093464","loc":[-85.6255363,41.9499876],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093463":{"id":"n2199093463","loc":[-85.6255374,41.9498439],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093462":{"id":"n2199093462","loc":[-85.6255638,41.949844],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093461":{"id":"n2199093461","loc":[-85.6255652,41.9496672],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093460":{"id":"n2199093460","loc":[-85.6251823,41.9496656],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093459":{"id":"n2199093459","loc":[-85.6251785,41.9501729],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093510":{"id":"n2199093510","loc":[-85.6229922,41.9496143],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093509":{"id":"n2199093509","loc":[-85.6229915,41.9494306],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n185948903":{"id":"n185948903","loc":[-85.616514,41.947449],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185955120":{"id":"n185955120","loc":[-85.620103,41.951],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185955143":{"id":"n185955143","loc":[-85.619784,41.94746],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185960124":{"id":"n185960124","loc":[-85.615238,41.947468],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:07Z","tags":{}},"n185961362":{"id":"n185961362","loc":[-85.617437,41.947451],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961364":{"id":"n185961364","loc":[-85.61861,41.947456],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961367":{"id":"n185961367","loc":[-85.620088,41.947458],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185965105":{"id":"n185965105","loc":[-85.620087,41.94924],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185970220":{"id":"n185970220","loc":[-85.62156,41.948333],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:17Z","tags":{}},"n185974697":{"id":"n185974697","loc":[-85.6201059,41.950132],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n2138420778":{"id":"n2138420778","loc":[-85.616948,41.9474499],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"w17967535":{"id":"w17967535","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:52:19Z","tags":{"highway":"residential","name":"10th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"10th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313652:15313654","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185955120","n185986812","n185983141"]},"w209716130":{"id":"w209716130","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093485","n2199093486","n2199093487","n2199093488","n2199093485"]},"w17964788":{"id":"w17964788","version":"2","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:15Z","tags":{"highway":"residential","name":"6th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313681:15313682:15329115:15329116:15330465:15330466","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960124","n185948903","n2138420778","n185961362","n185961364","n185955143","n185961367","n185961369","n185961371"]},"w17965159":{"id":"w17965159","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:55Z","tags":{"highway":"residential","name":"8th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"8th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313660","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965105","n185965108","n185965110"]},"w209716125":{"id":"w209716125","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093459","n2199093460","n2199093461","n2199093462","n2199093463","n2199093464","n2199093465","n2199093466","n2199093459"]},"w17965699":{"id":"w17965699","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:03Z","tags":{"highway":"residential","name":"7th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"7th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313667:15314407","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970220","n185970222","n185970224"]},"w209716132":{"id":"w209716132","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093507","n2199093508","n2199093509","n2199093510","n2199093511","n2199093512","n2199093513","n2199093514","n2199093507"]},"w17966129":{"id":"w17966129","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:42:41Z","tags":{"highway":"residential","name":"9th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"9th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313656","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185974697","n185974699"]},"w209716127":{"id":"w209716127","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093475","n2199093476","n2199093477","n2199093478","n2199093479","n2199093480","n2199093475"]},"w209716131":{"id":"w209716131","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","natural":"water","water":"pond"},"nodes":["n2199093489","n2199093490","n2199093491","n2199093492","n2199093493","n2199093494","n2199093495","n2199093496","n2199093497","n2199093498","n2199093499","n2199093500","n2199093501","n2199093502","n2199093503","n2199093504","n2199093505","n2199093506","n2199093489"]},"w209716126":{"id":"w209716126","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093467","n2199093468","n2199093469","n2199093470","n2199093471","n2199093472","n2199093473","n2199093474","n2199093467"]},"w209716124":{"id":"w209716124","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093455","n2199093456","n2199093457","n2199093458","n2199093455"]},"w209716128":{"id":"w209716128","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093481","n2199093482","n2199093483","n2199093484","n2199093481"]},"n185949872":{"id":"n185949872","loc":[-85.643009,41.949264],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949875":{"id":"n185949875","loc":[-85.642598,41.94929],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949877":{"id":"n185949877","loc":[-85.642127,41.949382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949881":{"id":"n185949881","loc":[-85.64169,41.949936],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185988165":{"id":"n185988165","loc":[-85.642167,41.947657],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185988167":{"id":"n185988167","loc":[-85.642347,41.947662],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185988169":{"id":"n185988169","loc":[-85.642621,41.947659],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185965019":{"id":"n185965019","loc":[-85.6385084,41.951127],"version":"4","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1475293248":{"id":"n1475293248","loc":[-85.6386095,41.9512214],"version":"2","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:04Z","tags":{}},"n185962639":{"id":"n185962639","loc":[-85.649669,41.949161],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:30Z","tags":{}},"n185962810":{"id":"n185962810","loc":[-85.649907,41.949157],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:34Z","tags":{}},"n185964355":{"id":"n185964355","loc":[-85.637412,41.9511359],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185965021":{"id":"n185965021","loc":[-85.638661,41.952386],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965023":{"id":"n185965023","loc":[-85.638654,41.953665],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965025":{"id":"n185965025","loc":[-85.638694,41.954649],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965027":{"id":"n185965027","loc":[-85.638724,41.955913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185971415":{"id":"n185971415","loc":[-85.644466,41.949246],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185971417":{"id":"n185971417","loc":[-85.647021,41.949193],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185971420":{"id":"n185971420","loc":[-85.648476,41.949169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185979975":{"id":"n185979975","loc":[-85.644429,41.947633],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:24Z","tags":{}},"n185988171":{"id":"n185988171","loc":[-85.645377,41.947622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:34Z","tags":{}},"w17963211":{"id":"w17963211","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:23:06Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313193","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185949870","n185949872","n185949875","n185949877","n185949881"]},"w17965839":{"id":"w17965839","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:10Z","tags":{"highway":"residential","name":"Arnold St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Arnold","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15327930:15324550:15312304:15324551","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185949870","n185971415","n185971417","n185971420","n185962639","n185962810"]},"w17967618":{"id":"w17967618","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:53:22Z","tags":{"highway":"residential","name":"Pierson St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pierson","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313265:15312333:15324553","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185967777","n185988165","n185988167","n185988169","n185985824","n185979975","n185988171"]},"w17965149":{"id":"w17965149","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:56Z","tags":{"highway":"residential","name":"Oak St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Oak","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331522","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965019","n1475293248","n185965021","n185965023","n185965025","n185965027"]},"w17966118":{"id":"w17966118","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"West Armitage Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armitage","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185974583","n185974585","n185964355","n185965019"]},"n2208608800":{"id":"n2208608800","loc":[-85.6354294,41.9486201],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2199109806":{"id":"n2199109806","loc":[-85.6350474,41.9477884],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109804":{"id":"n2199109804","loc":[-85.6350476,41.9477962],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109802":{"id":"n2199109802","loc":[-85.635002,41.9477969],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109799":{"id":"n2199109799","loc":[-85.6350018,41.9477883],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109797":{"id":"n2199109797","loc":[-85.6349141,41.9477897],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109795":{"id":"n2199109795","loc":[-85.6349131,41.9477535],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109793":{"id":"n2199109793","loc":[-85.6349395,41.9477531],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109791":{"id":"n2199109791","loc":[-85.6349382,41.9477077],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109789":{"id":"n2199109789","loc":[-85.6351236,41.9477049],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109787":{"id":"n2199109787","loc":[-85.6351259,41.9477872],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109785":{"id":"n2199109785","loc":[-85.634972,41.9475992],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109783":{"id":"n2199109783","loc":[-85.6349206,41.9475997],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109770":{"id":"n2199109770","loc":[-85.6348499,41.9475461],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109768":{"id":"n2199109768","loc":[-85.6348499,41.9475084],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109765":{"id":"n2199109765","loc":[-85.6349241,41.9474569],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109763":{"id":"n2199109763","loc":[-85.634967,41.9474564],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109762":{"id":"n2199109762","loc":[-85.6350405,41.9475121],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109761":{"id":"n2199109761","loc":[-85.6350405,41.9475419],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109753":{"id":"n2199109753","loc":[-85.6342443,41.9478391],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109751":{"id":"n2199109751","loc":[-85.6342427,41.9477927],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109745":{"id":"n2199109745","loc":[-85.6342439,41.9476859],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109743":{"id":"n2199109743","loc":[-85.6342429,41.9476575],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109741":{"id":"n2199109741","loc":[-85.6344615,41.9476533],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109739":{"id":"n2199109739","loc":[-85.6344678,41.9478348],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109737":{"id":"n2199109737","loc":[-85.634416,41.9480059],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109735":{"id":"n2199109735","loc":[-85.6344145,41.9478983],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109733":{"id":"n2199109733","loc":[-85.6342749,41.9478993],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109731":{"id":"n2199109731","loc":[-85.6342753,41.9479272],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109729":{"id":"n2199109729","loc":[-85.6342498,41.9479274],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109727":{"id":"n2199109727","loc":[-85.6342505,41.9479762],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109725":{"id":"n2199109725","loc":[-85.6342743,41.947976],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109723":{"id":"n2199109723","loc":[-85.6342747,41.948007],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109721":{"id":"n2199109721","loc":[-85.6343415,41.9476355],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109719":{"id":"n2199109719","loc":[-85.6343391,41.9474973],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109717":{"id":"n2199109717","loc":[-85.6343133,41.9474798],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109715":{"id":"n2199109715","loc":[-85.6342874,41.9474737],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109709":{"id":"n2199109709","loc":[-85.6349804,41.94815],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109707":{"id":"n2199109707","loc":[-85.6348915,41.9481505],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109705":{"id":"n2199109705","loc":[-85.6348917,41.9481692],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109702":{"id":"n2199109702","loc":[-85.6348522,41.9481694],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109700":{"id":"n2199109700","loc":[-85.6348532,41.9482679],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109698":{"id":"n2199109698","loc":[-85.6348315,41.948268],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109696":{"id":"n2199109696","loc":[-85.6348318,41.9482955],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109694":{"id":"n2199109694","loc":[-85.6349653,41.9482946],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109692":{"id":"n2199109692","loc":[-85.6349656,41.9483211],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109690":{"id":"n2199109690","loc":[-85.634999,41.9483209],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109688":{"id":"n2199109688","loc":[-85.6349987,41.9482947],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109686":{"id":"n2199109686","loc":[-85.6351753,41.9482935],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109684":{"id":"n2199109684","loc":[-85.6351749,41.9482617],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109682":{"id":"n2199109682","loc":[-85.6351588,41.9482618],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109680":{"id":"n2199109680","loc":[-85.6351575,41.9481518],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109678":{"id":"n2199109678","loc":[-85.6350671,41.9481524],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109676":{"id":"n2199109676","loc":[-85.6350649,41.9479659],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109674":{"id":"n2199109674","loc":[-85.6349785,41.9479665],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109671":{"id":"n2199109671","loc":[-85.6343069,41.9483263],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109669":{"id":"n2199109669","loc":[-85.6343052,41.9482981],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109658":{"id":"n2199109658","loc":[-85.6343314,41.9480549],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109656":{"id":"n2199109656","loc":[-85.6343305,41.9480461],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109654":{"id":"n2199109654","loc":[-85.634435,41.9480468],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109652":{"id":"n2199109652","loc":[-85.6344342,41.9483746],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109650":{"id":"n2199109650","loc":[-85.6344629,41.9483727],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109648":{"id":"n2199109648","loc":[-85.6344637,41.9484561],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109645":{"id":"n2199109645","loc":[-85.63443,41.9484567],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109642":{"id":"n2199109642","loc":[-85.6344317,41.948505],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n185964352":{"id":"n185964352","loc":[-85.6373958,41.9489943],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185964351":{"id":"n185964351","loc":[-85.637113,41.9486],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n2208608825":{"id":"n2208608825","loc":[-85.6354483,41.9494241],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608823":{"id":"n2208608823","loc":[-85.6360418,41.949416],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608821":{"id":"n2208608821","loc":[-85.6360458,41.9495802],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608811":{"id":"n2208608811","loc":[-85.6357458,41.9495843],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608808":{"id":"n2208608808","loc":[-85.6357508,41.9497835],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608806":{"id":"n2208608806","loc":[-85.6354573,41.9497875],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608795":{"id":"n2208608795","loc":[-85.6354595,41.9498778],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2199109638":{"id":"n2199109638","loc":[-85.6349605,41.949749],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109636":{"id":"n2199109636","loc":[-85.6349605,41.9497639],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109634":{"id":"n2199109634","loc":[-85.6349061,41.94971],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109632":{"id":"n2199109632","loc":[-85.6349048,41.9496569],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109630":{"id":"n2199109630","loc":[-85.6348835,41.9496571],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109628":{"id":"n2199109628","loc":[-85.6348829,41.9497103],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109626":{"id":"n2199109626","loc":[-85.635227,41.9497738],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109624":{"id":"n2199109624","loc":[-85.6352184,41.9497787],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109622":{"id":"n2199109622","loc":[-85.6351181,41.9497806],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109620":{"id":"n2199109620","loc":[-85.6351181,41.9497456],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109618":{"id":"n2199109618","loc":[-85.6348842,41.9497651],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109616":{"id":"n2199109616","loc":[-85.6348827,41.9496238],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109615":{"id":"n2199109615","loc":[-85.6351268,41.9496206],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109614":{"id":"n2199109614","loc":[-85.6351261,41.9495891],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109613":{"id":"n2199109613","loc":[-85.6351957,41.9495881],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109612":{"id":"n2199109612","loc":[-85.6351924,41.9494515],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109611":{"id":"n2199109611","loc":[-85.6353997,41.9494488],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109610":{"id":"n2199109610","loc":[-85.6354074,41.9497715],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2189015681":{"id":"n2189015681","loc":[-85.6344229,41.9509639],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015677":{"id":"n2189015677","loc":[-85.634424,41.9507396],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2138493843":{"id":"n2138493843","loc":[-85.6343935,41.9502836],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493840":{"id":"n2138493840","loc":[-85.634398,41.9506264],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n354002838":{"id":"n354002838","loc":[-85.6345197,41.9510631],"version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{}},"n2114807590":{"id":"n2114807590","loc":[-85.634511,41.9499767],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n185964353":{"id":"n185964353","loc":[-85.6374092,41.9498755],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1819849180":{"id":"n1819849180","loc":[-85.6348236,41.94996],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849115":{"id":"n1819849115","loc":[-85.6354372,41.9499538],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819848921":{"id":"n1819848921","loc":[-85.6348439,41.951064],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848885":{"id":"n1819848885","loc":[-85.6354575,41.9510578],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n185984281":{"id":"n185984281","loc":[-85.638075,41.949872],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:55Z","tags":{}},"n2208608827":{"id":"n2208608827","loc":[-85.6339169,41.9473191],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2199109749":{"id":"n2199109749","loc":[-85.6342082,41.9477934],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109747":{"id":"n2199109747","loc":[-85.6342045,41.9476867],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109713":{"id":"n2199109713","loc":[-85.6342404,41.9474746],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109711":{"id":"n2199109711","loc":[-85.6342404,41.9476355],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109673":{"id":"n2199109673","loc":[-85.6340886,41.9483282],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109667":{"id":"n2199109667","loc":[-85.6342403,41.9482988],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109665":{"id":"n2199109665","loc":[-85.6342386,41.9482116],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109662":{"id":"n2199109662","loc":[-85.6340861,41.9482135],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109660":{"id":"n2199109660","loc":[-85.6340802,41.9480562],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109640":{"id":"n2199109640","loc":[-85.6340928,41.9485063],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n354031366":{"id":"n354031366","loc":[-85.6341667,41.9477778],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:25Z","tags":{"amenity":"place_of_worship","ele":"249","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417877","gnis:state_id":"26","name":"Faith Tabernacle Church","religion":"christian"}},"n2189015686":{"id":"n2189015686","loc":[-85.6337798,41.95099],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015684":{"id":"n2189015684","loc":[-85.6337794,41.9509674],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015673":{"id":"n2189015673","loc":[-85.6337501,41.9507457],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015669":{"id":"n2189015669","loc":[-85.6337501,41.9506974],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015665":{"id":"n2189015665","loc":[-85.6339034,41.9506959],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015662":{"id":"n2189015662","loc":[-85.6339015,41.950436],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015658":{"id":"n2189015658","loc":[-85.6334916,41.9504376],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015655":{"id":"n2189015655","loc":[-85.6334939,41.9507558],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015650":{"id":"n2189015650","loc":[-85.6334543,41.950756],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015649":{"id":"n2189015649","loc":[-85.633456,41.9509915],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2138493842":{"id":"n2138493842","loc":[-85.6339937,41.9502836],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493841":{"id":"n2138493841","loc":[-85.6339983,41.9506281],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2114807579":{"id":"n2114807579","loc":[-85.6333644,41.9510682],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807573":{"id":"n2114807573","loc":[-85.6333557,41.9499819],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n354031330":{"id":"n354031330","loc":[-85.6341667,41.9497222],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:24Z","tags":{"amenity":"place_of_worship","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417879","gnis:state_id":"26","name":"Trinity Episcopal Church","religion":"christian"}},"n185960794":{"id":"n185960794","loc":[-85.633307,41.9537],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185964357":{"id":"n185964357","loc":[-85.637432,41.952399],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964358":{"id":"n185964358","loc":[-85.637452,41.953665],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964359":{"id":"n185964359","loc":[-85.63746,41.954658],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964360":{"id":"n185964360","loc":[-85.637473,41.95592],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964361":{"id":"n185964361","loc":[-85.637468,41.956906],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964362":{"id":"n185964362","loc":[-85.637483,41.958313],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185966957":{"id":"n185966957","loc":[-85.633361,41.957422],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185975351":{"id":"n185975351","loc":[-85.63334,41.9559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:58Z","tags":{}},"n185978784":{"id":"n185978784","loc":[-85.633311,41.954679],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185986157":{"id":"n185986157","loc":[-85.633287,41.952426],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:48Z","tags":{}},"n185986158":{"id":"n185986158","loc":[-85.6333607,41.9582301],"version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:20Z","tags":{"highway":"turning_circle"}},"w17965182":{"id":"w17965182","version":"2","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:17Z","tags":{"highway":"residential","name":"W Prutzman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Prutzman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185965289","n2189153241","n185965291"]},"w208627205":{"id":"w208627205","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015649","n2189015650","n2189015655","n2189015658","n2189015662","n2189015665","n2189015669","n2189015673","n2189015677","n2189015681","n2189015684","n2189015686","n2189015649"]},"w209717042":{"id":"w209717042","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"presbyterian","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417878","gnis:state_id":"26","name":"First Presbyterian Church","religion":"christian"},"nodes":["n2199109610","n2199109611","n2199109612","n2199109613","n2199109614","n2199109615","n2199109616","n2199109630","n2199109632","n2199109634","n2199109628","n2199109618","n2199109636","n2199109638","n2199109620","n2199109622","n2199109624","n2199109626","n2199109610"]},"w209717045":{"id":"w209717045","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109711","n2199109713","n2199109715","n2199109717","n2199109719","n2199109721","n2199109711"]},"w209717047":{"id":"w209717047","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109739","n2199109741","n2199109743","n2199109745","n2199109747","n2199109749","n2199109751","n2199109753","n2199109739"]},"w209717044":{"id":"w209717044","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109674","n2199109676","n2199109678","n2199109680","n2199109682","n2199109684","n2199109686","n2199109688","n2199109690","n2199109692","n2199109694","n2199109696","n2199109698","n2199109700","n2199109702","n2199109705","n2199109707","n2199109709","n2199109674"]},"w210822776":{"id":"w210822776","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"service","service":"alley","surface":"unpaved"},"nodes":["n2208608795","n2208608806","n2208608825","n2208608800","n2189153241"]},"w210822778":{"id":"w210822778","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"service","service":"alley"},"nodes":["n2208608826","n2208608827"]},"w209717050":{"id":"w209717050","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109787","n2199109789","n2199109791","n2199109793","n2199109795","n2199109797","n2199109799","n2199109802","n2199109804","n2199109806","n2199109787"]},"w17965097":{"id":"w17965097","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"Maple Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Maple","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185964351","n185964352","n185964353","n185964355","n185964357","n185964358","n185964359","n185964360","n185964361","n185964362"]},"w17965856":{"id":"w17965856","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"W Kelsey St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kelsey","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185971578","n2208608800","n185971580","n185964351"]},"w17967444":{"id":"w17967444","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"East","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966937","n185978969","n185986155","n185985812","n185986157","n185960794","n185978784","n185975351","n185966957","n185986158"]},"w17967764":{"id":"w17967764","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:14Z","tags":{"highway":"residential","name":"Rock River Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Rock River","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312338","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185984017","n185964351"]},"w170848329":{"id":"w170848329","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"ele":"251","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2418164","gnis:state_id":"26","leisure":"park","name":"LaFayette Park","source":"Bing"},"nodes":["n1819849180","n1819849115","n1819848885","n1819848921","n1819849180"]},"w17967208":{"id":"w17967208","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"West Bennett Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bennett","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185978390","n2208608795","n185984020","n185964353","n185984281"]},"w17965349":{"id":"w17965349","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"E Prutzman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Prutzman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185966937","n2208608827","n185965289"]},"w209717049":{"id":"w209717049","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109761","n2199109762","n2199109763","n2199109765","n2199109768","n2199109770","n2199109783","n2199109785","n2199109761"]},"w203841840":{"id":"w203841840","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493840","n2138493841","n2138493842","n2138493843","n2138493840"]},"w209717043":{"id":"w209717043","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"amenity":"place_of_worship","area":"yes","building":"church","denomination":"methodist","ele":"249","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417880","gnis:state_id":"26","name":"First United Methodist Church","religion":"christian"},"nodes":["n2199109640","n2199109642","n2199109645","n2199109648","n2199109650","n2199109652","n2199109654","n2199109656","n2199109658","n2199109660","n2199109662","n2199109665","n2199109667","n2199109669","n2199109671","n2199109673","n2199109640"]},"w201484341":{"id":"w201484341","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"amenity":"school","ele":"250","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:edited":"02/22/2008","gnis:feature_id":"1624612","gnis:state_id":"26","name":"Hoppin School"},"nodes":["n354002838","n2114807579","n2114807573","n2114807590","n354002838"]},"w209717046":{"id":"w209717046","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109723","n2199109725","n2199109727","n2199109729","n2199109731","n2199109733","n2199109735","n2199109737","n2199109723"]},"w210822777":{"id":"w210822777","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2208608806","n2208608808","n2208608811","n2208608821","n2208608823","n2208608825","n2208608806"]},"n185954965":{"id":"n185954965","loc":[-85.6191189,41.9441922],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185954968":{"id":"n185954968","loc":[-85.6194384,41.9442405],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954970":{"id":"n185954970","loc":[-85.6196543,41.9443252],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954972":{"id":"n185954972","loc":[-85.6197862,41.9444539],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n354002931":{"id":"n354002931","loc":[-85.6198991,41.9455269],"version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n354030853":{"id":"n354030853","loc":[-85.6219444,41.9455556],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:19Z","tags":{"amenity":"place_of_worship","ele":"246","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417869","gnis:state_id":"26","name":"Grant Chapel","religion":"christian"}},"n367815963":{"id":"n367815963","loc":[-85.6202778,41.9461111],"version":"1","changeset":"871579","user":"amillar","uid":"28145","visible":"true","timestamp":"2009-03-31T07:45:44Z","tags":{"addr:state":"MI","building":"yes","ele":"247","gnis:county_name":"St. Joseph","gnis:feature_id":"2418176","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"George Washington Carver Community Center","source":"USGS Geonames"}},"n185947331":{"id":"n185947331","loc":[-85.618779,41.943269],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947333":{"id":"n185947333","loc":[-85.618795,41.943511],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947336":{"id":"n185947336","loc":[-85.618711,41.94413],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947338":{"id":"n185947338","loc":[-85.618704,41.944189],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947339":{"id":"n185947339","loc":[-85.618597,41.944337],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947340":{"id":"n185947340","loc":[-85.618485,41.944528],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947343":{"id":"n185947343","loc":[-85.618442,41.944716],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947345":{"id":"n185947345","loc":[-85.618457,41.945107],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947347":{"id":"n185947347","loc":[-85.618296,41.945338],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947374":{"id":"n185947374","loc":[-85.616748,41.944453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947375":{"id":"n185947375","loc":[-85.616813,41.944646],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947376":{"id":"n185947376","loc":[-85.616859,41.945196],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947377":{"id":"n185947377","loc":[-85.616941,41.945352],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947406":{"id":"n185947406","loc":[-85.618184,41.944227],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947409":{"id":"n185947409","loc":[-85.617911,41.943875],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947410":{"id":"n185947410","loc":[-85.617579,41.943682],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947411":{"id":"n185947411","loc":[-85.61713,41.943589],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947412":{"id":"n185947412","loc":[-85.616549,41.943559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947414":{"id":"n185947414","loc":[-85.616482,41.943556],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947464":{"id":"n185947464","loc":[-85.616526,41.943788],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947466":{"id":"n185947466","loc":[-85.616504,41.944002],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185948863":{"id":"n185948863","loc":[-85.619017,41.943391],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185948865":{"id":"n185948865","loc":[-85.619059,41.943368],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185955022":{"id":"n185955022","loc":[-85.620088,41.945571],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185955025":{"id":"n185955025","loc":[-85.620051,41.945505],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185955028":{"id":"n185955028","loc":[-85.62001,41.94541],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185980371":{"id":"n185980371","loc":[-85.620982,41.944742],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:37Z","tags":{}},"n185980398":{"id":"n185980398","loc":[-85.621305,41.944782],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980401":{"id":"n185980401","loc":[-85.621174,41.944819],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980403":{"id":"n185980403","loc":[-85.621029,41.944871],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980405":{"id":"n185980405","loc":[-85.620741,41.945011],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980407":{"id":"n185980407","loc":[-85.620616,41.945085],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980409":{"id":"n185980409","loc":[-85.620506,41.945172],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980411":{"id":"n185980411","loc":[-85.620394,41.945273],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980413":{"id":"n185980413","loc":[-85.620316,41.94536],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185980415":{"id":"n185980415","loc":[-85.620257,41.945452],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185980417":{"id":"n185980417","loc":[-85.620212,41.945535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185985910":{"id":"n185985910","loc":[-85.620101,41.945811],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:41Z","tags":{}},"n185985912":{"id":"n185985912","loc":[-85.620081,41.945937],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n1475283972":{"id":"n1475283972","loc":[-85.6198991,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:45Z","tags":{}},"n1475283982":{"id":"n1475283982","loc":[-85.6195022,41.9433463],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284007":{"id":"n1475284007","loc":[-85.6193037,41.9433383],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284040":{"id":"n1475284040","loc":[-85.6197329,41.9434121],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284044":{"id":"n1475284044","loc":[-85.6198756,41.9435363],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284050":{"id":"n1475284050","loc":[-85.6199689,41.9432106],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n1475284053":{"id":"n1475284053","loc":[-85.6198943,41.9432921],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n185954974":{"id":"n185954974","loc":[-85.6198296,41.94473],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954977":{"id":"n185954977","loc":[-85.6200474,41.9447384],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n2196831365":{"id":"n2196831365","loc":[-85.6202259,41.9460883],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831366":{"id":"n2196831366","loc":[-85.6202245,41.9458642],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831367":{"id":"n2196831367","loc":[-85.6205184,41.9458631],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831368":{"id":"n2196831368","loc":[-85.6205189,41.9459437],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831369":{"id":"n2196831369","loc":[-85.6203879,41.9459441],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831370":{"id":"n2196831370","loc":[-85.6203888,41.9460878],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831371":{"id":"n2196831371","loc":[-85.6184046,41.9465663],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831372":{"id":"n2196831372","loc":[-85.6191563,41.9465618],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831373":{"id":"n2196831373","loc":[-85.6191536,41.946319],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831374":{"id":"n2196831374","loc":[-85.6187356,41.9463216],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831375":{"id":"n2196831375","loc":[-85.6187334,41.9461197],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831376":{"id":"n2196831376","loc":[-85.6193167,41.9461162],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831377":{"id":"n2196831377","loc":[-85.6193156,41.9460229],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831378":{"id":"n2196831378","loc":[-85.619622,41.946021],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831379":{"id":"n2196831379","loc":[-85.6196237,41.9461712],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831380":{"id":"n2196831380","loc":[-85.6197702,41.9461703],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831381":{"id":"n2196831381","loc":[-85.6197685,41.9460202],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831382":{"id":"n2196831382","loc":[-85.6197323,41.9460204],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831383":{"id":"n2196831383","loc":[-85.6197305,41.9458563],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831384":{"id":"n2196831384","loc":[-85.6196165,41.945857],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831385":{"id":"n2196831385","loc":[-85.6196156,41.9457764],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831386":{"id":"n2196831386","loc":[-85.6194472,41.9457775],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831387":{"id":"n2196831387","loc":[-85.6194151,41.9457777],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831388":{"id":"n2196831388","loc":[-85.6183779,41.9457883],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831389":{"id":"n2196831389","loc":[-85.6183842,41.9461317],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831390":{"id":"n2196831390","loc":[-85.6185026,41.9461304],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831391":{"id":"n2196831391","loc":[-85.6185061,41.9463194],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831392":{"id":"n2196831392","loc":[-85.6184001,41.9463205],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831393":{"id":"n2196831393","loc":[-85.6182482,41.9464163],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831394":{"id":"n2196831394","loc":[-85.6182467,41.9463193],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831395":{"id":"n2196831395","loc":[-85.6180389,41.946321],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831397":{"id":"n2196831397","loc":[-85.6180404,41.946418],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n185947303":{"id":"n185947303","loc":[-85.611074,41.943389],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947304":{"id":"n185947304","loc":[-85.611332,41.943267],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947305":{"id":"n185947305","loc":[-85.611635,41.943218],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947306":{"id":"n185947306","loc":[-85.612762,41.943311],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947308":{"id":"n185947308","loc":[-85.613027,41.943327],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947310":{"id":"n185947310","loc":[-85.615377,41.942996],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947312":{"id":"n185947312","loc":[-85.615701,41.943007],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947314":{"id":"n185947314","loc":[-85.61604,41.943067],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947315":{"id":"n185947315","loc":[-85.61626,41.943083],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947316":{"id":"n185947316","loc":[-85.616507,41.943048],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947319":{"id":"n185947319","loc":[-85.616702,41.94299],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947321":{"id":"n185947321","loc":[-85.617078,41.942918],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947322":{"id":"n185947322","loc":[-85.617366,41.942973],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947323":{"id":"n185947323","loc":[-85.617601,41.943033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947325":{"id":"n185947325","loc":[-85.617799,41.943027],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947327":{"id":"n185947327","loc":[-85.618264,41.942961],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947328":{"id":"n185947328","loc":[-85.618508,41.942972],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947329":{"id":"n185947329","loc":[-85.618707,41.943076],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947361":{"id":"n185947361","loc":[-85.615356,41.944922],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947363":{"id":"n185947363","loc":[-85.61536,41.944893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947365":{"id":"n185947365","loc":[-85.615406,41.944547],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947367":{"id":"n185947367","loc":[-85.61548,41.944351],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947369":{"id":"n185947369","loc":[-85.615805,41.94419],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947371":{"id":"n185947371","loc":[-85.616166,41.944156],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947373":{"id":"n185947373","loc":[-85.616411,41.944197],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947416":{"id":"n185947416","loc":[-85.616335,41.94343],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947417":{"id":"n185947417","loc":[-85.616069,41.943293],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947419":{"id":"n185947419","loc":[-85.615803,41.943249],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947420":{"id":"n185947420","loc":[-85.615524,41.943342],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947421":{"id":"n185947421","loc":[-85.615311,41.94353],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947422":{"id":"n185947422","loc":[-85.614338,41.943558],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947423":{"id":"n185947423","loc":[-85.61422,41.94369],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947425":{"id":"n185947425","loc":[-85.614221,41.944224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947427":{"id":"n185947427","loc":[-85.614198,41.944888],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947429":{"id":"n185947429","loc":[-85.614221,41.945439],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947468":{"id":"n185947468","loc":[-85.615908,41.944756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947470":{"id":"n185947470","loc":[-85.615871,41.944888],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947472":{"id":"n185947472","loc":[-85.615878,41.94507],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185955153":{"id":"n185955153","loc":[-85.620087,41.947701],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185960690":{"id":"n185960690","loc":[-85.620141,41.951901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185978817":{"id":"n185978817","loc":[-85.617193,41.954706],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185985916":{"id":"n185985916","loc":[-85.620088,41.94758],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985918":{"id":"n185985918","loc":[-85.620133,41.951538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985919":{"id":"n185985919","loc":[-85.62013,41.952104],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985920":{"id":"n185985920","loc":[-85.620104,41.952305],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985921":{"id":"n185985921","loc":[-85.620062,41.952499],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985922":{"id":"n185985922","loc":[-85.619993,41.952702],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985925":{"id":"n185985925","loc":[-85.619879,41.952986],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985927":{"id":"n185985927","loc":[-85.619689,41.95329],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985928":{"id":"n185985928","loc":[-85.619508,41.953521],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985929":{"id":"n185985929","loc":[-85.619286,41.953728],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985930":{"id":"n185985930","loc":[-85.618925,41.954007],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985931":{"id":"n185985931","loc":[-85.618638,41.954189],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985932":{"id":"n185985932","loc":[-85.61831,41.954358],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985934":{"id":"n185985934","loc":[-85.618015,41.954485],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:43Z","tags":{}},"n185985936":{"id":"n185985936","loc":[-85.617606,41.954611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:43Z","tags":{}},"n1475283975":{"id":"n1475283975","loc":[-85.6150935,41.9434118],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283979":{"id":"n1475283979","loc":[-85.6193367,41.9430252],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283989":{"id":"n1475283989","loc":[-85.6104771,41.9455269],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283990":{"id":"n1475283990","loc":[-85.6104771,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283994":{"id":"n1475283994","loc":[-85.6198042,41.9429763],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283998":{"id":"n1475283998","loc":[-85.6192101,41.9426716],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284000":{"id":"n1475284000","loc":[-85.6198622,41.942836],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284002":{"id":"n1475284002","loc":[-85.6163262,41.9427688],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284006":{"id":"n1475284006","loc":[-85.6179527,41.9429168],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284029":{"id":"n1475284029","loc":[-85.6197195,41.9427278],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284038":{"id":"n1475284038","loc":[-85.6194405,41.9427837],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284052":{"id":"n1475284052","loc":[-85.6153225,41.942841],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n1475284055":{"id":"n1475284055","loc":[-85.6129233,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n2139966627":{"id":"n2139966627","loc":[-85.61958,41.9427558],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"w17966773":{"id":"w17966773","version":"3","changeset":"2558583","user":"elliskev","uid":"163338","visible":"true","timestamp":"2009-09-21T16:12:43Z","tags":{"highway":"secondary","name":"E Michigan Ave","ref":"M 60","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313712","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980372","n185980398","n185980401","n185980403","n185980405","n185980407","n185980409","n185980411","n185980413","n185980415","n185980417","n185955019"]},"w17964043":{"id":"w17964043","version":"3","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:19Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326065:15326068","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955019","n185955022","n185955025","n185955028","n185954977","n185971477","n1475284050","n1475284000","n1475284029","n2139966627","n1475284038"]},"w17962834":{"id":"w17962834","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:15Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313719:15313728:15331618","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947316","n185947414","n185947464","n185947466","n185947373","n185947468","n185947470","n185947472","n185947474"]},"w209470310":{"id":"w209470310","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831393","n2196831394","n2196831395","n2196831397","n2196831393"]},"w17963058":{"id":"w17963058","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:05Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326058:15326066:15326067","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947333","n185948863","n185948865","n1475284007","n1475283982","n1475284040","n1475284044"]},"w17962823":{"id":"w17962823","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:14Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313714:15313704:15313720:15313721","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947359","n185947361","n185947363","n185947365","n185947367","n185947369","n185947371","n185947373","n185947374","n185947375","n185947376","n185947377","n185947378"]},"w17962821":{"id":"w17962821","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:15Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313713:15313734:15313731:15313735:15313737:15313723","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947303","n185947304","n185947305","n185947306","n185947308","n185947310","n185947312","n185947314","n185947315","n185947316","n185947319","n185947321","n185947322","n185947323","n185947325","n185947327","n185947328","n185947329","n185947331","n185947333","n185947336","n185947338","n185947339","n185947340","n185947343","n185947345","n185947347","n185947349"]},"w134150798":{"id":"w134150798","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:52Z","tags":{"amenity":"grave_yard","ele":"249","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624862","gnis:state_id":"26","name":"Riverside Cemetery"},"nodes":["n354002931","n1475283972","n1475284053","n1475283994","n1475283979","n1475283998","n1475284006","n1475284002","n1475284052","n1475283975","n1475284055","n1475283990","n1475283989","n354002931"]},"w17964040":{"id":"w17964040","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:02Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326063:15326064","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947336","n185954965","n185954968","n185954970","n185954972","n185954974","n185954977"]},"w209470308":{"id":"w209470308","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831365","n2196831366","n2196831367","n2196831368","n2196831369","n2196831370","n2196831365"]},"w17962828":{"id":"w17962828","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:14Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313715:15313706:15328746:15313727:15313729","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947340","n185947406","n185947409","n185947410","n185947411","n185947412","n185947414","n185947416","n185947417","n185947419","n185947420","n185947421","n185947422","n185947423","n185947425","n185947427","n185947429"]},"w209470309":{"id":"w209470309","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831371","n2196831372","n2196831373","n2196831374","n2196831375","n2196831376","n2196831377","n2196831378","n2196831379","n2196831380","n2196831381","n2196831382","n2196831383","n2196831384","n2196831385","n2196831386","n2196831387","n2196831388","n2196831389","n2196831390","n2196831391","n2196831392","n2196831371"]},"w17967415":{"id":"w17967415","version":"3","changeset":"2558583","user":"elliskev","uid":"163338","visible":"true","timestamp":"2009-09-21T16:12:41Z","tags":{"highway":"secondary","name":"Jefferson St","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Jefferson","tiger:name_base_1":"State Highway 60","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313637:15313662:15313657:15328403","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n185955019","n185985910","n185985912","n185985914","n185961367","n185985916","n185955153","n185965105","n185974697","n185955120","n185985918","n185960690","n185985919","n185985920","n185985921","n185985922","n185985925","n185985927","n185985928","n185985929","n185985930","n185985931","n185985932","n185985934","n185985936","n185978817"]},"w17966772":{"id":"w17966772","version":"4","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"unclassified","name":"E Michigan Ave","name_1":"State Highway 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313710:15313711:15314052:15312385:15312378","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185954977","n185980371","n185980372"]},"n185958500":{"id":"n185958500","loc":[-85.621591,41.941075],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:27Z","tags":{}},"n185963110":{"id":"n185963110","loc":[-85.6204416,41.9408882],"version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{}},"n2139966628":{"id":"n2139966628","loc":[-85.6196431,41.9426467],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"leisure":"fishing"}},"n2139966630":{"id":"n2139966630","loc":[-85.6199354,41.9429616],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2199127051":{"id":"n2199127051","loc":[-85.6170556,41.939696],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127052":{"id":"n2199127052","loc":[-85.6170536,41.9392909],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127053":{"id":"n2199127053","loc":[-85.6172067,41.9392905],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127054":{"id":"n2199127054","loc":[-85.6172061,41.9391853],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127055":{"id":"n2199127055","loc":[-85.6171481,41.9391854],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127060":{"id":"n2199127060","loc":[-85.6167389,41.9392896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127061":{"id":"n2199127061","loc":[-85.6168728,41.9392892],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127062":{"id":"n2199127062","loc":[-85.6168747,41.9396965],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127071":{"id":"n2199127071","loc":[-85.620196,41.9399446],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127072":{"id":"n2199127072","loc":[-85.620193,41.9397316],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127073":{"id":"n2199127073","loc":[-85.6200381,41.9397328],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127074":{"id":"n2199127074","loc":[-85.6200412,41.9399458],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127075":{"id":"n2199127075","loc":[-85.6203606,41.9399939],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127076":{"id":"n2199127076","loc":[-85.6205527,41.9399922],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127077":{"id":"n2199127077","loc":[-85.6205482,41.9397115],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127078":{"id":"n2199127078","loc":[-85.6204132,41.9397124],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127079":{"id":"n2199127079","loc":[-85.6204144,41.9396341],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127080":{"id":"n2199127080","loc":[-85.6205699,41.9396324],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127081":{"id":"n2199127081","loc":[-85.6205722,41.939498],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127082":{"id":"n2199127082","loc":[-85.6204064,41.9394997],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127083":{"id":"n2199127083","loc":[-85.6204087,41.939561],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127084":{"id":"n2199127084","loc":[-85.6203103,41.9395618],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127085":{"id":"n2199127085","loc":[-85.620308,41.9396069],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127086":{"id":"n2199127086","loc":[-85.6200347,41.9396086],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127087":{"id":"n2199127087","loc":[-85.6200382,41.9397141],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127088":{"id":"n2199127088","loc":[-85.6202257,41.9397149],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127089":{"id":"n2199127089","loc":[-85.6202269,41.9399182],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127090":{"id":"n2199127090","loc":[-85.6203595,41.9399199],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127091":{"id":"n2199127091","loc":[-85.6212335,41.939688],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127092":{"id":"n2199127092","loc":[-85.6212328,41.939595],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127093":{"id":"n2199127093","loc":[-85.6208807,41.9395966],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127094":{"id":"n2199127094","loc":[-85.6208815,41.9396896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127095":{"id":"n2199127095","loc":[-85.6208676,41.9396872],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127096":{"id":"n2199127096","loc":[-85.6208583,41.9393539],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127097":{"id":"n2199127097","loc":[-85.6207006,41.9393563],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127098":{"id":"n2199127098","loc":[-85.6207099,41.9396896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n185967054":{"id":"n185967054","loc":[-85.6173384,41.9356126],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967063":{"id":"n185967063","loc":[-85.617371,41.936243],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967065":{"id":"n185967065","loc":[-85.617337,41.936299],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967068":{"id":"n185967068","loc":[-85.617321,41.936373],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967070":{"id":"n185967070","loc":[-85.6173562,41.9366969],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967074":{"id":"n185967074","loc":[-85.6173635,41.9377414],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967075":{"id":"n185967075","loc":[-85.6173696,41.9381886],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:58Z","tags":{}},"n185967076":{"id":"n185967076","loc":[-85.617372,41.938535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:54Z","tags":{}},"n2199127056":{"id":"n2199127056","loc":[-85.617147,41.9389616],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127057":{"id":"n2199127057","loc":[-85.6172136,41.9389614],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127058":{"id":"n2199127058","loc":[-85.6172123,41.9386909],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127059":{"id":"n2199127059","loc":[-85.616736,41.9386922],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2203921041":{"id":"n2203921041","loc":[-85.6173018,41.9346369],"version":"1","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"w203983952":{"id":"w203983952","version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"highway":"service"},"nodes":["n2139966627","n1819800319"]},"w209718301":{"id":"w209718301","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127051","n2199127052","n2199127053","n2199127054","n2199127055","n2199127056","n2199127057","n2199127058","n2199127059","n2199127060","n2199127061","n2199127062","n2199127051"]},"w209718304":{"id":"w209718304","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127071","n2199127072","n2199127073","n2199127074","n2199127071"]},"w17964961":{"id":"w17964961","version":"2","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{"highway":"residential","name":"Whipple St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Whipple","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185963099","n185963110"]},"w17964489":{"id":"w17964489","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:29:56Z","tags":{"highway":"residential","name":"Jackson St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Jackson","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314430","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958498","n185958500"]},"w203983953":{"id":"w203983953","version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"area":"yes","leisure":"park","name":"Marina Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n1475283994","n1475283979","n1475283998","n2139966629","n2139966625","n1819800319","n2139966623","n2139966622","n2139966621","n2139966630","n1475283994"]},"w17965366":{"id":"w17965366","version":"2","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{"highway":"residential","name":"14th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"14th","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n2203921041","n185967054","n185967063","n185967065","n185967068","n185967070","n185967074","n185967075","n185967076","n185967077"]},"w209718306":{"id":"w209718306","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127091","n2199127092","n2199127093","n2199127094","n2199127091"]},"w209718307":{"id":"w209718307","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127095","n2199127096","n2199127097","n2199127098","n2199127095"]},"w209718305":{"id":"w209718305","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127075","n2199127076","n2199127077","n2199127078","n2199127079","n2199127080","n2199127081","n2199127082","n2199127083","n2199127084","n2199127085","n2199127086","n2199127087","n2199127088","n2199127089","n2199127090","n2199127075"]},"n185960199":{"id":"n185960199","loc":[-85.62965,41.95469],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:08Z","tags":{}},"n185980737":{"id":"n185980737","loc":[-85.629083,41.953725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:48Z","tags":{}},"n2114807561":{"id":"n2114807561","loc":[-85.6297681,41.9524688],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807597":{"id":"n2114807597","loc":[-85.6296517,41.952563],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n185960197":{"id":"n185960197","loc":[-85.629676,41.9537314],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978791":{"id":"n185978791","loc":[-85.6244542,41.9547066],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"w17967573":{"id":"w17967573","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"highway":"residential","name":"E Wheeler St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wheeler","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960195","n2114807561","n185968102","n185967430","n185986157","n185978392"]},"w17966553":{"id":"w17966553","version":"5","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Hoffman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971631","n185978784","n185967432","n185968106","n185960199","n185978787","n185978790","n185978791"]},"w17966787":{"id":"w17966787","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"East Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185980735","n185980737","n185960197","n185968104","n185960792"]},"w17964723":{"id":"w17964723","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960792","n185960794","n185960796"]},"w17964654":{"id":"w17964654","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Pine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pine","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960195","n2114807597","n185960197","n185960199"]},"n1819848862":{"id":"n1819848862","loc":[-85.6346087,41.9545845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848935":{"id":"n1819848935","loc":[-85.6345948,41.9537717],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848973":{"id":"n1819848973","loc":[-85.6334247,41.9537827],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848997":{"id":"n1819848997","loc":[-85.6334386,41.9545956],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n2189015861":{"id":"n2189015861","loc":[-85.6375906,41.954836],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015865":{"id":"n2189015865","loc":[-85.6383307,41.9548291],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015867":{"id":"n2189015867","loc":[-85.6383337,41.9550072],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015868":{"id":"n2189015868","loc":[-85.6380986,41.9550094],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015869":{"id":"n2189015869","loc":[-85.6381005,41.9551226],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2199109808":{"id":"n2199109808","loc":[-85.6372702,41.9522894],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109810":{"id":"n2199109810","loc":[-85.6372677,41.9521583],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109812":{"id":"n2199109812","loc":[-85.6369505,41.9521617],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109814":{"id":"n2199109814","loc":[-85.636953,41.9522927],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n185952156":{"id":"n185952156","loc":[-85.640983,41.9546557],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185953423":{"id":"n185953423","loc":[-85.641871,41.954652],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185971637":{"id":"n185971637","loc":[-85.641583,41.95465],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185971639":{"id":"n185971639","loc":[-85.6421344,41.9546444],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971642":{"id":"n185971642","loc":[-85.6428264,41.9545612],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971648":{"id":"n185971648","loc":[-85.6436023,41.9544262],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185975066":{"id":"n185975066","loc":[-85.640532,41.953638],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185975067":{"id":"n185975067","loc":[-85.64079,41.953638],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185982166":{"id":"n185982166","loc":[-85.6399012,41.9523817],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n2189015858":{"id":"n2189015858","loc":[-85.6376104,41.9560138],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015870":{"id":"n2189015870","loc":[-85.6386794,41.9551172],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015871":{"id":"n2189015871","loc":[-85.6386817,41.955256],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015873":{"id":"n2189015873","loc":[-85.6385437,41.9552573],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015876":{"id":"n2189015876","loc":[-85.638555,41.9559278],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015879":{"id":"n2189015879","loc":[-85.6384954,41.9559283],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015882":{"id":"n2189015882","loc":[-85.6384965,41.9559935],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015885":{"id":"n2189015885","loc":[-85.6383533,41.9559949],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015888":{"id":"n2189015888","loc":[-85.638351,41.9558607],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015891":{"id":"n2189015891","loc":[-85.6382178,41.9558619],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015894":{"id":"n2189015894","loc":[-85.6382203,41.956008],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"w208627223":{"id":"w208627223","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015858","n2189015861","n2189015865","n2189015867","n2189015868","n2189015869","n2189015870","n2189015871","n2189015873","n2189015876","n2189015879","n2189015882","n2189015885","n2189015888","n2189015891","n2189015894","n2189015858"]},"w170848328":{"id":"w170848328","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"ele":"250","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624408","gnis:state_id":"26","leisure":"park","name":"Bowman Park","source":"Bing"},"nodes":["n1819848935","n1819848973","n1819848997","n1819848862","n1819848935"]},"w17965866":{"id":"w17965866","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Hoffman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185971631","n185971632","n185964359","n185965025","n1475293264","n185952156","n185971637","n185953423","n185971639","n185971642","n185971648"]},"w209717051":{"id":"w209717051","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"baptist","ele":"251","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417886","gnis:state_id":"26","name":"Calvary Missionary Baptist Church","religion":"christian"},"nodes":["n2199109808","n2199109810","n2199109812","n2199109814","n2199109808"]},"w17966172":{"id":"w17966172","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960796","n185975064","n185964358","n185965023","n1475293222","n185975066","n185975067"]},"w17966975":{"id":"w17966975","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:06Z","tags":{"highway":"residential","name":"W Wheeler St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wheeler","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312250:15312254","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978392","n185982163","n185964357","n185965021","n1475293261","n185982166"]},"n185960684":{"id":"n185960684","loc":[-85.622687,41.951885],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185960686":{"id":"n185960686","loc":[-85.622492,41.951901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185978795":{"id":"n185978795","loc":[-85.6240991,41.954708],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978803":{"id":"n185978803","loc":[-85.623348,41.954547],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978806":{"id":"n185978806","loc":[-85.623123,41.954502],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978808":{"id":"n185978808","loc":[-85.622923,41.954469],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978810":{"id":"n185978810","loc":[-85.622787,41.954457],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978811":{"id":"n185978811","loc":[-85.622612,41.954458],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978813":{"id":"n185978813","loc":[-85.622368,41.954472],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n1819790545":{"id":"n1819790545","loc":[-85.6240295,41.9548949],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790621":{"id":"n1819790621","loc":[-85.6235789,41.954855],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790664":{"id":"n1819790664","loc":[-85.6238363,41.9549507],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790683":{"id":"n1819790683","loc":[-85.6224727,41.9545921],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790730":{"id":"n1819790730","loc":[-85.6227527,41.9545795],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790740":{"id":"n1819790740","loc":[-85.6240402,41.9550784],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790831":{"id":"n1819790831","loc":[-85.624126,41.9549986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790861":{"id":"n1819790861","loc":[-85.6231712,41.9546872],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790887":{"id":"n1819790887","loc":[-85.6242762,41.955206],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n2168544739":{"id":"n2168544739","loc":[-85.6249102,41.952801],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544740":{"id":"n2168544740","loc":[-85.6251859,41.9527564],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544741":{"id":"n2168544741","loc":[-85.6255515,41.9527921],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544742":{"id":"n2168544742","loc":[-85.626001,41.9529481],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544743":{"id":"n2168544743","loc":[-85.6265284,41.9529838],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544744":{"id":"n2168544744","loc":[-85.626942,41.9528857],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544745":{"id":"n2168544745","loc":[-85.6270918,41.9526851],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544746":{"id":"n2168544746","loc":[-85.6272117,41.95244],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544747":{"id":"n2168544747","loc":[-85.6271578,41.952226],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544748":{"id":"n2168544748","loc":[-85.6270019,41.9519719],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544749":{"id":"n2168544749","loc":[-85.6268221,41.9518382],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544750":{"id":"n2168544750","loc":[-85.6265284,41.951807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544751":{"id":"n2168544751","loc":[-85.6256534,41.9518516],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544752":{"id":"n2168544752","loc":[-85.6253477,41.9518338],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544753":{"id":"n2168544753","loc":[-85.6251139,41.9517669],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n185955747":{"id":"n185955747","loc":[-85.620674,41.954709],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185960688":{"id":"n185960688","loc":[-85.621032,41.951913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185972054":{"id":"n185972054","loc":[-85.6186728,41.9547335],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185978814":{"id":"n185978814","loc":[-85.6201708,41.9547403],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n1819790532":{"id":"n1819790532","loc":[-85.6244908,41.9555731],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790536":{"id":"n1819790536","loc":[-85.6217925,41.9583135],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790538":{"id":"n1819790538","loc":[-85.6233954,41.9600014],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790539":{"id":"n1819790539","loc":[-85.6204611,41.9562117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790546":{"id":"n1819790546","loc":[-85.6210898,41.9567657],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790548":{"id":"n1819790548","loc":[-85.6202465,41.9562237],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790550":{"id":"n1819790550","loc":[-85.6250165,41.9560677],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790551":{"id":"n1819790551","loc":[-85.6227946,41.9597023],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790553":{"id":"n1819790553","loc":[-85.6215726,41.9584571],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790556":{"id":"n1819790556","loc":[-85.6196306,41.9573002],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790557":{"id":"n1819790557","loc":[-85.6209503,41.9563109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790558":{"id":"n1819790558","loc":[-85.6196939,41.9574085],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790561":{"id":"n1819790561","loc":[-85.621079,41.957751],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790562":{"id":"n1819790562","loc":[-85.6224255,41.9611417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790565":{"id":"n1819790565","loc":[-85.6232506,41.9604841],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790566":{"id":"n1819790566","loc":[-85.6190835,41.9562909],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790567":{"id":"n1819790567","loc":[-85.622227,41.9593028],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790569":{"id":"n1819790569","loc":[-85.620976,41.9591039],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790571":{"id":"n1819790571","loc":[-85.6212078,41.9565303],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790572":{"id":"n1819790572","loc":[-85.6235306,41.9595102],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790581":{"id":"n1819790581","loc":[-85.6235563,41.9579351],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790584":{"id":"n1819790584","loc":[-85.6230371,41.9574598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790586":{"id":"n1819790586","loc":[-85.6211748,41.9564272],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790588":{"id":"n1819790588","loc":[-85.6226508,41.9601086],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790591":{"id":"n1819790591","loc":[-85.6218032,41.9607468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790593":{"id":"n1819790593","loc":[-85.6207915,41.9618735],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790596":{"id":"n1819790596","loc":[-85.6252955,41.9567858],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790598":{"id":"n1819790598","loc":[-85.6196618,41.9568939],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790600":{"id":"n1819790600","loc":[-85.6224416,41.9587084],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790602":{"id":"n1819790602","loc":[-85.6217442,41.9558641],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790603":{"id":"n1819790603","loc":[-85.6213355,41.9592116],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790604":{"id":"n1819790604","loc":[-85.622801,41.9573042],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790608":{"id":"n1819790608","loc":[-85.6199729,41.9574325],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790610":{"id":"n1819790610","loc":[-85.6195555,41.9557165],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790611":{"id":"n1819790611","loc":[-85.622978,41.9586007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790613":{"id":"n1819790613","loc":[-85.6253963,41.9562636],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790614":{"id":"n1819790614","loc":[-85.6235252,41.9580342],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790616":{"id":"n1819790616","loc":[-85.6232988,41.9596305],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790617":{"id":"n1819790617","loc":[-85.6226776,41.9598732],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790619":{"id":"n1819790619","loc":[-85.625553,41.9561794],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790620":{"id":"n1819790620","loc":[-85.6235574,41.959231],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790624":{"id":"n1819790624","loc":[-85.6228429,41.9573726],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790626":{"id":"n1819790626","loc":[-85.6193785,41.9556766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790628":{"id":"n1819790628","loc":[-85.620092,41.9554253],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790630":{"id":"n1819790630","loc":[-85.6226658,41.9604402],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790638":{"id":"n1819790638","loc":[-85.6219964,41.9602561],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790640":{"id":"n1819790640","loc":[-85.6232731,41.9599969],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790643":{"id":"n1819790643","loc":[-85.6247698,41.9568895],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790650":{"id":"n1819790650","loc":[-85.6216412,41.9550149],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790652":{"id":"n1819790652","loc":[-85.6224952,41.9603918],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790656":{"id":"n1819790656","loc":[-85.61918,41.9555649],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790661":{"id":"n1819790661","loc":[-85.6200169,41.955505],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790662":{"id":"n1819790662","loc":[-85.6217389,41.9563149],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790666":{"id":"n1819790666","loc":[-85.6229566,41.9598373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790667":{"id":"n1819790667","loc":[-85.6209117,41.9609189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790669":{"id":"n1819790669","loc":[-85.6252311,41.9562353],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790670":{"id":"n1819790670","loc":[-85.6209758,41.961868],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790672":{"id":"n1819790672","loc":[-85.6209557,41.9589078],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790673":{"id":"n1819790673","loc":[-85.6190352,41.9561393],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790675":{"id":"n1819790675","loc":[-85.6236432,41.9586685],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790676":{"id":"n1819790676","loc":[-85.6194901,41.9565389],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790678":{"id":"n1819790678","loc":[-85.6219266,41.9582417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790680":{"id":"n1819790680","loc":[-85.6208258,41.9557211],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790681":{"id":"n1819790681","loc":[-85.6212024,41.9613212],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790682":{"id":"n1819790682","loc":[-85.624877,41.9559401],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790684":{"id":"n1819790684","loc":[-85.6206499,41.9583693],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790699":{"id":"n1819790699","loc":[-85.6215243,41.956279],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790701":{"id":"n1819790701","loc":[-85.6246625,41.9559321],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790703":{"id":"n1819790703","loc":[-85.6230478,41.9585089],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790708":{"id":"n1819790708","loc":[-85.6211102,41.9575402],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790710":{"id":"n1819790710","loc":[-85.6215082,41.9548468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790711":{"id":"n1819790711","loc":[-85.6206552,41.9586007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790713":{"id":"n1819790713","loc":[-85.6215404,41.9549705],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790715":{"id":"n1819790715","loc":[-85.6216906,41.955521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790717":{"id":"n1819790717","loc":[-85.6215404,41.9547391],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790722":{"id":"n1819790722","loc":[-85.6219964,41.9599131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790723":{"id":"n1819790723","loc":[-85.622286,41.9606989],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790725":{"id":"n1819790725","loc":[-85.6228439,41.9572005],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790727":{"id":"n1819790727","loc":[-85.6202518,41.9554458],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790728":{"id":"n1819790728","loc":[-85.623434,41.9575276],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790729":{"id":"n1819790729","loc":[-85.6234287,41.9568576],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790732":{"id":"n1819790732","loc":[-85.6229566,41.9571369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790733":{"id":"n1819790733","loc":[-85.6225543,41.9590275],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790734":{"id":"n1819790734","loc":[-85.6232892,41.9583135],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790736":{"id":"n1819790736","loc":[-85.622977,41.9608551],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790737":{"id":"n1819790737","loc":[-85.624008,41.9569533],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790741":{"id":"n1819790741","loc":[-85.6212775,41.9608545],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790742":{"id":"n1819790742","loc":[-85.6231282,41.9569932],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790743":{"id":"n1819790743","loc":[-85.6224523,41.9591831],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790744":{"id":"n1819790744","loc":[-85.6210951,41.9610819],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790745":{"id":"n1819790745","loc":[-85.6220114,41.960544],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790755":{"id":"n1819790755","loc":[-85.6216369,41.9553854],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790757":{"id":"n1819790757","loc":[-85.6209986,41.9592709],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790758":{"id":"n1819790758","loc":[-85.6200437,41.9563468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790764":{"id":"n1819790764","loc":[-85.6219363,41.9596823],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790765":{"id":"n1819790765","loc":[-85.6237612,41.9568496],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790769":{"id":"n1819790769","loc":[-85.6212389,41.9593433],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790771":{"id":"n1819790771","loc":[-85.6210726,41.9560123],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790772":{"id":"n1819790772","loc":[-85.6212711,41.9561838],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790776":{"id":"n1819790776","loc":[-85.6234437,41.9577795],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790777":{"id":"n1819790777","loc":[-85.6212502,41.9618599],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790783":{"id":"n1819790783","loc":[-85.6216895,41.9610585],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790784":{"id":"n1819790784","loc":[-85.6200115,41.9556367],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790785":{"id":"n1819790785","loc":[-85.6210576,41.9573002],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790786":{"id":"n1819790786","loc":[-85.621138,41.9576632],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790788":{"id":"n1819790788","loc":[-85.6207733,41.9578946],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790789":{"id":"n1819790789","loc":[-85.6200705,41.9571566],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790790":{"id":"n1819790790","loc":[-85.6245337,41.9558443],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790792":{"id":"n1819790792","loc":[-85.621932,41.9608066],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790793":{"id":"n1819790793","loc":[-85.6233578,41.9581385],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790794":{"id":"n1819790794","loc":[-85.6204557,41.9555136],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790797":{"id":"n1819790797","loc":[-85.6235038,41.9576074],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790800":{"id":"n1819790800","loc":[-85.6214438,41.9607508],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790801":{"id":"n1819790801","loc":[-85.623492,41.9602129],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790802":{"id":"n1819790802","loc":[-85.6216691,41.9546553],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790803":{"id":"n1819790803","loc":[-85.6231057,41.9586851],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790804":{"id":"n1819790804","loc":[-85.6209224,41.9578673],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790813":{"id":"n1819790813","loc":[-85.620092,41.9572962],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790814":{"id":"n1819790814","loc":[-85.6216691,41.9552218],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790816":{"id":"n1819790816","loc":[-85.6216144,41.9609668],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790818":{"id":"n1819790818","loc":[-85.6216906,41.9557324],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790820":{"id":"n1819790820","loc":[-85.6192069,41.9564186],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790823":{"id":"n1819790823","loc":[-85.6211155,41.9566027],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790825":{"id":"n1819790825","loc":[-85.6233106,41.9569294],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790839":{"id":"n1819790839","loc":[-85.625671,41.9564986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790842":{"id":"n1819790842","loc":[-85.6235252,41.9567379],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790844":{"id":"n1819790844","loc":[-85.6253813,41.9566342],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790847":{"id":"n1819790847","loc":[-85.6200963,41.9567702],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790849":{"id":"n1819790849","loc":[-85.6238031,41.9587449],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790851":{"id":"n1819790851","loc":[-85.6234984,41.9584571],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790856":{"id":"n1819790856","loc":[-85.6242226,41.9570092],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790865":{"id":"n1819790865","loc":[-85.6200265,41.9569458],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790869":{"id":"n1819790869","loc":[-85.6230049,41.9601245],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790871":{"id":"n1819790871","loc":[-85.6190727,41.9558322],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790873":{"id":"n1819790873","loc":[-85.6217442,41.9550104],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790875":{"id":"n1819790875","loc":[-85.6208044,41.9587808],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790879":{"id":"n1819790879","loc":[-85.6198444,41.9574484],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790883":{"id":"n1819790883","loc":[-85.623713,41.9588719],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790885":{"id":"n1819790885","loc":[-85.6223289,41.9605075],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790889":{"id":"n1819790889","loc":[-85.6208044,41.9562437],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790893":{"id":"n1819790893","loc":[-85.6218183,41.9559684],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790906":{"id":"n1819790906","loc":[-85.6214052,41.958697],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790913":{"id":"n1819790913","loc":[-85.6209981,41.9609957],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790917":{"id":"n1819790917","loc":[-85.6216208,41.9604436],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790919":{"id":"n1819790919","loc":[-85.6209406,41.9616373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790920":{"id":"n1819790920","loc":[-85.6221948,41.9583334],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790922":{"id":"n1819790922","loc":[-85.6216681,41.9615292],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790924":{"id":"n1819790924","loc":[-85.6210147,41.9570489],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790929":{"id":"n1819790929","loc":[-85.6193678,41.955521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"w17964707":{"id":"w17964707","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:31:34Z","tags":{"highway":"residential","name":"11th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"11th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314405","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960682","n185960684","n185960686","n185960688","n185960690"]},"w201484345":{"id":"w201484345","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"bridge":"yes","highway":"residential","name":"E Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978791","n185978795"]},"w201484348":{"id":"w201484348","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"highway":"residential","name":"E Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978795","n185978800","n185978803","n185978806","n185978808","n185978810","n185978811","n185978813","n185955747","n185978814","n185972054","n185978817"]},"w170843845":{"id":"w170843845","version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:23Z","tags":{"ele":"244","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624607","gnis:state_id":"26","landuse":"reservoir","name":"Hoffman Pond","natural":"water","source":"Bing"},"nodes":["n1819790732","n1819790742","n1819790825","n1819790729","n1819790842","n1819790765","n1819790737","n1819790856","n1819790643","n1819790596","n1819790844","n1819790839","n1819849190","n1819790619","n1819790613","n1819790669","n1819790550","n1819790682","n1819790701","n1819790790","n1819790532","n1819790887","n1819790740","n1819790831","n1819790545","n1819790664","n1819790621","n1819790861","n1819790730","n1819790683","n1819790802","n1819790717","n1819790710","n1819790713","n1819790650","n1819790873","n1819790814","n1819790755","n1819790715","n1819790818","n1819790602","n1819790893","n1819790662","n1819790699","n1819790772","n1819790771","n1819790680","n1819790794","n1819790727","n1819790628","n1819790661","n1819790784","n1819790610","n1819790626","n1819790929","n1819790656","n1819790871","n1819790673","n1819790566","n1819790820","n1819790676","n1819790598","n1819790556","n1819790558","n1819790879","n1819790608","n1819790813","n1819790789","n1819790865","n1819790847","n1819790758","n1819790548","n1819790539","n1819790889","n1819790557","n1819790586","n1819790571","n1819790823","n1819790546","n1819790924","n1819790785","n1819790708","n1819790786","n1819790561","n1819790804","n1819790788","n1819790684","n1819790711","n1819790875","n1819790672","n1819790569","n1819790757","n1819790769","n1819790603","n1819790906","n1819790553","n1819790536","n1819790678","n1819790920","n1819790600","n1819790733","n1819790743","n1819790567","n1819790764","n1819790722","n1819790638","n1819790917","n1819790800","n1819790741","n1819790667","n1819790913","n1819790744","n1819790816","n1819790591","n1819790745","n1819790885","n1819790652","n1819790588","n1819790617","n1819790551","n1819790666","n1819790869","n1819790630","n1819790723","n1819790792","n1819790783","n1819790681","n1819790919","n1819790593","n1819790670","n1819790777","n1819790922","n1819790562","n1819790736","n1819790565","n1819790801","n1819790538","n1819790640","n1819790616","n1819790572","n1819790620","n1819790883","n1819790849","n1819790675","n1819790851","n1819790803","n1819790611","n1819790703","n1819790734","n1819790793","n1819790614","n1819790581","n1819790776","n1819790797","n1819790728","n1819790584","n1819790624","n1819790604","n1819790725","n1819790732"]},"w206805240":{"id":"w206805240","version":"2","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:50Z","tags":{"waterway":"river"},"nodes":["n2168544738","n2168544739","n2168544740","n2168544741","n2168544742","n2168544743","n2168544744","n2168544745","n2168544746","n2168544747","n2168544748","n2168544749","n2168544750","n2168544751","n2168544752","n2168544753","n1819848944"]},"n394490429":{"id":"n394490429","loc":[-85.643883,41.954365],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n185953421":{"id":"n185953421","loc":[-85.641876,41.954946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185953417":{"id":"n185953417","loc":[-85.6418306,41.9551597],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185977233":{"id":"n185977233","loc":[-85.642987,41.95486],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:49Z","tags":{}},"n185977232":{"id":"n185977232","loc":[-85.642894,41.9547842],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1475293244":{"id":"n1475293244","loc":[-85.63974,41.9521543],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1819848890":{"id":"n1819848890","loc":[-85.6410004,41.9552822],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848965":{"id":"n1819848965","loc":[-85.6409795,41.9553892],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n2189015846":{"id":"n2189015846","loc":[-85.6420457,41.9549528],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015849":{"id":"n2189015849","loc":[-85.6425867,41.9551392],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015852":{"id":"n2189015852","loc":[-85.6426877,41.9549771],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2199109816":{"id":"n2199109816","loc":[-85.6399215,41.9540925],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109818":{"id":"n2199109818","loc":[-85.6399182,41.9538236],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109820":{"id":"n2199109820","loc":[-85.6402201,41.9538216],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109822":{"id":"n2199109822","loc":[-85.640222,41.9539771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109825":{"id":"n2199109825","loc":[-85.6402904,41.9539766],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109827":{"id":"n2199109827","loc":[-85.6402918,41.95409],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109829":{"id":"n2199109829","loc":[-85.6395845,41.9544626],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109831":{"id":"n2199109831","loc":[-85.6395792,41.9540671],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109833":{"id":"n2199109833","loc":[-85.6397173,41.9540661],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109835":{"id":"n2199109835","loc":[-85.6397226,41.9544616],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109837":{"id":"n2199109837","loc":[-85.6399641,41.9545058],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109839":{"id":"n2199109839","loc":[-85.6399637,41.9541859],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109841":{"id":"n2199109841","loc":[-85.6401098,41.9541858],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109843":{"id":"n2199109843","loc":[-85.64011,41.9543272],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109845":{"id":"n2199109845","loc":[-85.6400783,41.9543273],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109847":{"id":"n2199109847","loc":[-85.6400785,41.9545058],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109853":{"id":"n2199109853","loc":[-85.6396184,41.9554049],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109855":{"id":"n2199109855","loc":[-85.6396825,41.9553713],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n185949745":{"id":"n185949745","loc":[-85.6442727,41.9553112],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185949748":{"id":"n185949748","loc":[-85.6448804,41.9555238],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185949755":{"id":"n185949755","loc":[-85.6420011,41.9603536],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{}},"n185949763":{"id":"n185949763","loc":[-85.6408843,41.9555822],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185949765":{"id":"n185949765","loc":[-85.6414548,41.9557751],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185952158":{"id":"n185952158","loc":[-85.640066,41.956854],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185952160":{"id":"n185952160","loc":[-85.639848,41.957229],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185952161":{"id":"n185952161","loc":[-85.6396089,41.9576192],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185952163":{"id":"n185952163","loc":[-85.63892,41.957957],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185953413":{"id":"n185953413","loc":[-85.64162,41.955475],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185971651":{"id":"n185971651","loc":[-85.6440766,41.9543462],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185977234":{"id":"n185977234","loc":[-85.645044,41.955581],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:49Z","tags":{}},"n394490395":{"id":"n394490395","loc":[-85.657336,41.936762],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490396":{"id":"n394490396","loc":[-85.653896,41.936978],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490397":{"id":"n394490397","loc":[-85.653732,41.937386],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490398":{"id":"n394490398","loc":[-85.65182,41.937378],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490399":{"id":"n394490399","loc":[-85.651843,41.938445],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490400":{"id":"n394490400","loc":[-85.652536,41.938447],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490401":{"id":"n394490401","loc":[-85.652533,41.938901],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490402":{"id":"n394490402","loc":[-85.652084,41.9389],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490403":{"id":"n394490403","loc":[-85.6521,41.939627],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490404":{"id":"n394490404","loc":[-85.652301,41.939628],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490405":{"id":"n394490405","loc":[-85.652302,41.939755],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490406":{"id":"n394490406","loc":[-85.652783,41.939747],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490407":{"id":"n394490407","loc":[-85.652835,41.94112],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490408":{"id":"n394490408","loc":[-85.651968,41.941123],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490409":{"id":"n394490409","loc":[-85.651983,41.941969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490410":{"id":"n394490410","loc":[-85.652908,41.941961],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490411":{"id":"n394490411","loc":[-85.65292,41.94278],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490412":{"id":"n394490412","loc":[-85.651698,41.942816],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490413":{"id":"n394490413","loc":[-85.651509,41.942823],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490414":{"id":"n394490414","loc":[-85.651272,41.942837],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490415":{"id":"n394490415","loc":[-85.651272,41.943325],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490416":{"id":"n394490416","loc":[-85.65122,41.944053],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490417":{"id":"n394490417","loc":[-85.651193,41.944449],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490418":{"id":"n394490418","loc":[-85.651088,41.944969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490419":{"id":"n394490419","loc":[-85.650949,41.945554],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490420":{"id":"n394490420","loc":[-85.650907,41.945719],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490421":{"id":"n394490421","loc":[-85.650808,41.946016],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490422":{"id":"n394490422","loc":[-85.650712,41.946516],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490423":{"id":"n394490423","loc":[-85.650493,41.947166],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490424":{"id":"n394490424","loc":[-85.650626,41.947213],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490425":{"id":"n394490425","loc":[-85.650201,41.948109],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490426":{"id":"n394490426","loc":[-85.649868,41.948797],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490427":{"id":"n394490427","loc":[-85.649669,41.949161],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490428":{"id":"n394490428","loc":[-85.64659,41.954067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490430":{"id":"n394490430","loc":[-85.644034,41.95444],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490431":{"id":"n394490431","loc":[-85.644248,41.954507],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490432":{"id":"n394490432","loc":[-85.64491,41.954481],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490433":{"id":"n394490433","loc":[-85.645213,41.954433],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490434":{"id":"n394490434","loc":[-85.645426,41.954477],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490435":{"id":"n394490435","loc":[-85.6458,41.954704],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490436":{"id":"n394490436","loc":[-85.64605,41.954804],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490437":{"id":"n394490437","loc":[-85.646125,41.954817],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490438":{"id":"n394490438","loc":[-85.646002,41.954997],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490439":{"id":"n394490439","loc":[-85.645764,41.955366],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490440":{"id":"n394490440","loc":[-85.645525,41.955734],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490441":{"id":"n394490441","loc":[-85.64443,41.957424],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490442":{"id":"n394490442","loc":[-85.641712,41.961723],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490443":{"id":"n394490443","loc":[-85.640747,41.963246],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490444":{"id":"n394490444","loc":[-85.637803,41.967894],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490445":{"id":"n394490445","loc":[-85.637673,41.967861],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490446":{"id":"n394490446","loc":[-85.636637,41.969275],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490447":{"id":"n394490447","loc":[-85.634923,41.969269],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490448":{"id":"n394490448","loc":[-85.634893,41.968537],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490449":{"id":"n394490449","loc":[-85.634544,41.96927],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490450":{"id":"n394490450","loc":[-85.630835,41.969274],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490451":{"id":"n394490451","loc":[-85.630834,41.968348],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490452":{"id":"n394490452","loc":[-85.630857,41.968179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490453":{"id":"n394490453","loc":[-85.630924,41.968044],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490454":{"id":"n394490454","loc":[-85.631004,41.967925],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490455":{"id":"n394490455","loc":[-85.631143,41.967811],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490456":{"id":"n394490456","loc":[-85.631311,41.967736],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490457":{"id":"n394490457","loc":[-85.631595,41.967693],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490458":{"id":"n394490458","loc":[-85.63325,41.967702],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490459":{"id":"n394490459","loc":[-85.633247,41.967021],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490460":{"id":"n394490460","loc":[-85.634858,41.967021],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490461":{"id":"n394490461","loc":[-85.634865,41.967711],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490462":{"id":"n394490462","loc":[-85.634884,41.968231],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490463":{"id":"n394490463","loc":[-85.636559,41.963867],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490464":{"id":"n394490464","loc":[-85.634832,41.963866],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490465":{"id":"n394490465","loc":[-85.63481,41.961899],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490466":{"id":"n394490466","loc":[-85.637219,41.961842],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490467":{"id":"n394490467","loc":[-85.637837,41.960019],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490468":{"id":"n394490468","loc":[-85.637459,41.960022],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490469":{"id":"n394490469","loc":[-85.635295,41.959987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490470":{"id":"n394490470","loc":[-85.634783,41.959979],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490471":{"id":"n394490471","loc":[-85.634776,41.959834],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490472":{"id":"n394490472","loc":[-85.634767,41.959009],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490473":{"id":"n394490473","loc":[-85.634763,41.958292],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490474":{"id":"n394490474","loc":[-85.633346,41.958287],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490475":{"id":"n394490475","loc":[-85.632128,41.9583],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490476":{"id":"n394490476","loc":[-85.631414,41.958318],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490477":{"id":"n394490477","loc":[-85.63137,41.959033],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490478":{"id":"n394490478","loc":[-85.631325,41.959753],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490479":{"id":"n394490479","loc":[-85.631494,41.95977],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490480":{"id":"n394490480","loc":[-85.631456,41.960673],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490481":{"id":"n394490481","loc":[-85.631421,41.961494],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490482":{"id":"n394490482","loc":[-85.631404,41.961887],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490483":{"id":"n394490483","loc":[-85.631401,41.961968],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490484":{"id":"n394490484","loc":[-85.630962,41.961967],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490485":{"id":"n394490485","loc":[-85.6299,41.961973],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490486":{"id":"n394490486","loc":[-85.624929,41.962002],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490487":{"id":"n394490487","loc":[-85.623333,41.961987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490488":{"id":"n394490488","loc":[-85.621894,41.963956],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490489":{"id":"n394490489","loc":[-85.62131,41.963727],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490490":{"id":"n394490490","loc":[-85.621216,41.963868],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490491":{"id":"n394490491","loc":[-85.620356,41.965119],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490492":{"id":"n394490492","loc":[-85.620848,41.965341],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490493":{"id":"n394490493","loc":[-85.620684,41.965558],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490494":{"id":"n394490494","loc":[-85.620621,41.965658],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490495":{"id":"n394490495","loc":[-85.618165,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490496":{"id":"n394490496","loc":[-85.618071,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490497":{"id":"n394490497","loc":[-85.617986,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490498":{"id":"n394490498","loc":[-85.605673,41.965764],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490499":{"id":"n394490499","loc":[-85.605668,41.963548],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490500":{"id":"n394490500","loc":[-85.605664,41.962094],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490501":{"id":"n394490501","loc":[-85.595828,41.962159],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490502":{"id":"n394490502","loc":[-85.587869,41.962169],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490503":{"id":"n394490503","loc":[-85.586289,41.962179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490504":{"id":"n394490504","loc":[-85.583774,41.962178],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490505":{"id":"n394490505","loc":[-85.583774,41.961789],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490506":{"id":"n394490506","loc":[-85.581303,41.961783],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490507":{"id":"n394490507","loc":[-85.581304,41.961616],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490508":{"id":"n394490508","loc":[-85.581292,41.961616],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490509":{"id":"n394490509","loc":[-85.581247,41.959244],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490510":{"id":"n394490510","loc":[-85.581245,41.958394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490511":{"id":"n394490511","loc":[-85.581276,41.958372],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490512":{"id":"n394490512","loc":[-85.581302,41.958353],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490513":{"id":"n394490513","loc":[-85.581376,41.9583],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490514":{"id":"n394490514","loc":[-85.582256,41.957663],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490515":{"id":"n394490515","loc":[-85.585299,41.955483],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490516":{"id":"n394490516","loc":[-85.585588,41.955331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490517":{"id":"n394490517","loc":[-85.586053,41.955163],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490518":{"id":"n394490518","loc":[-85.58632,41.955076],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490519":{"id":"n394490519","loc":[-85.586478,41.955025],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490520":{"id":"n394490520","loc":[-85.58692,41.954947],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490521":{"id":"n394490521","loc":[-85.587327,41.954914],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490522":{"id":"n394490522","loc":[-85.587345,41.954913],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490523":{"id":"n394490523","loc":[-85.587358,41.954913],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490524":{"id":"n394490524","loc":[-85.58963,41.954877],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490525":{"id":"n394490525","loc":[-85.591077,41.954865],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490526":{"id":"n394490526","loc":[-85.594824,41.954843],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490527":{"id":"n394490527","loc":[-85.594804,41.95331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490528":{"id":"n394490528","loc":[-85.599336,41.95331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490529":{"id":"n394490529","loc":[-85.599336,41.954825],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490530":{"id":"n394490530","loc":[-85.597828,41.954839],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490531":{"id":"n394490531","loc":[-85.597833,41.95614],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490532":{"id":"n394490532","loc":[-85.596586,41.956151],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490533":{"id":"n394490533","loc":[-85.596586,41.956394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490534":{"id":"n394490534","loc":[-85.595933,41.956394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490535":{"id":"n394490535","loc":[-85.595933,41.958176],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490536":{"id":"n394490536","loc":[-85.597635,41.958179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490537":{"id":"n394490537","loc":[-85.597717,41.958177],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490538":{"id":"n394490538","loc":[-85.601671,41.958194],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490539":{"id":"n394490539","loc":[-85.605619,41.958194],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490540":{"id":"n394490540","loc":[-85.608054,41.958187],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490542":{"id":"n394490542","loc":[-85.6080762,41.9547864],"version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:47:47Z","tags":{}},"n394490545":{"id":"n394490545","loc":[-85.6104354,41.9548263],"version":"2","changeset":"12747630","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-16T08:22:38Z","tags":{}},"n394490546":{"id":"n394490546","loc":[-85.610274,41.951106],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490547":{"id":"n394490547","loc":[-85.610278,41.950829],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490548":{"id":"n394490548","loc":[-85.610309,41.948377],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490549":{"id":"n394490549","loc":[-85.610314,41.947986],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490550":{"id":"n394490550","loc":[-85.610464,41.947985],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490551":{"id":"n394490551","loc":[-85.610447,41.947468],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490552":{"id":"n394490552","loc":[-85.612469,41.947471],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490553":{"id":"n394490553","loc":[-85.612494,41.945576],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490554":{"id":"n394490554","loc":[-85.610292,41.94558],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490555":{"id":"n394490555","loc":[-85.608412,41.945625],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490556":{"id":"n394490556","loc":[-85.608412,41.943036],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490557":{"id":"n394490557","loc":[-85.608702,41.943087],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490558":{"id":"n394490558","loc":[-85.609196,41.943224],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490559":{"id":"n394490559","loc":[-85.609571,41.943263],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490560":{"id":"n394490560","loc":[-85.610116,41.943295],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490561":{"id":"n394490561","loc":[-85.610273,41.943275],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490562":{"id":"n394490562","loc":[-85.611339,41.943075],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490563":{"id":"n394490563","loc":[-85.611575,41.942997],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490564":{"id":"n394490564","loc":[-85.611847,41.942849],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490565":{"id":"n394490565","loc":[-85.612164,41.942568],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490566":{"id":"n394490566","loc":[-85.612341,41.942529],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490567":{"id":"n394490567","loc":[-85.612562,41.942524],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490568":{"id":"n394490568","loc":[-85.612768,41.942546],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490569":{"id":"n394490569","loc":[-85.612938,41.942633],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490570":{"id":"n394490570","loc":[-85.6131,41.942782],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490571":{"id":"n394490571","loc":[-85.613299,41.942919],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490572":{"id":"n394490572","loc":[-85.613498,41.942996],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490573":{"id":"n394490573","loc":[-85.614698,41.942842],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490574":{"id":"n394490574","loc":[-85.615288,41.942698],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490575":{"id":"n394490575","loc":[-85.616054,41.942693],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490576":{"id":"n394490576","loc":[-85.61603,41.942175],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490577":{"id":"n394490577","loc":[-85.616004,41.941741],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490578":{"id":"n394490578","loc":[-85.615994,41.940156],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490579":{"id":"n394490579","loc":[-85.615144,41.940159],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490580":{"id":"n394490580","loc":[-85.614915,41.940161],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490582":{"id":"n394490582","loc":[-85.614875,41.938532],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490583":{"id":"n394490583","loc":[-85.616167,41.938787],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490585":{"id":"n394490585","loc":[-85.616176,41.938589],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490586":{"id":"n394490586","loc":[-85.614537,41.938282],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490588":{"id":"n394490588","loc":[-85.610141,41.937459],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490589":{"id":"n394490589","loc":[-85.610172,41.937298],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490590":{"id":"n394490590","loc":[-85.609918,41.935495],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490592":{"id":"n394490592","loc":[-85.610092,41.935451],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490594":{"id":"n394490594","loc":[-85.610681,41.935247],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490595":{"id":"n394490595","loc":[-85.611446,41.934955],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490596":{"id":"n394490596","loc":[-85.612057,41.934696],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490598":{"id":"n394490598","loc":[-85.613256,41.934084],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490599":{"id":"n394490599","loc":[-85.613948,41.933682],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490601":{"id":"n394490601","loc":[-85.61436,41.933417],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490602":{"id":"n394490602","loc":[-85.614638,41.933212],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490604":{"id":"n394490604","loc":[-85.615249,41.9332],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490605":{"id":"n394490605","loc":[-85.618218,41.933223],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490607":{"id":"n394490607","loc":[-85.618241,41.933479],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490608":{"id":"n394490608","loc":[-85.618257,41.93365],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490609":{"id":"n394490609","loc":[-85.618298,41.935067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490611":{"id":"n394490611","loc":[-85.619791,41.935067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490612":{"id":"n394490612","loc":[-85.619794,41.933301],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490613":{"id":"n394490613","loc":[-85.619795,41.932692],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490614":{"id":"n394490614","loc":[-85.619729,41.929517],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490615":{"id":"n394490615","loc":[-85.619801,41.929305],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490616":{"id":"n394490616","loc":[-85.619809,41.927391],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490617":{"id":"n394490617","loc":[-85.620883,41.927378],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490618":{"id":"n394490618","loc":[-85.620988,41.927368],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490619":{"id":"n394490619","loc":[-85.621076,41.927368],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490620":{"id":"n394490620","loc":[-85.621156,41.927376],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490621":{"id":"n394490621","loc":[-85.621685,41.92737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490622":{"id":"n394490622","loc":[-85.624716,41.927359],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490623":{"id":"n394490623","loc":[-85.625308,41.92737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490624":{"id":"n394490624","loc":[-85.625655,41.927377],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490625":{"id":"n394490625","loc":[-85.625093,41.925591],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490626":{"id":"n394490626","loc":[-85.625174,41.92559],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490627":{"id":"n394490627","loc":[-85.625249,41.925597],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490628":{"id":"n394490628","loc":[-85.625532,41.925604],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490629":{"id":"n394490629","loc":[-85.625761,41.925597],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490630":{"id":"n394490630","loc":[-85.625955,41.926153],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490631":{"id":"n394490631","loc":[-85.626209,41.926155],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490632":{"id":"n394490632","loc":[-85.627757,41.926151],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490633":{"id":"n394490633","loc":[-85.627825,41.926298],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490634":{"id":"n394490634","loc":[-85.627994,41.926315],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490635":{"id":"n394490635","loc":[-85.628049,41.927196],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490636":{"id":"n394490636","loc":[-85.62949,41.927221],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490637":{"id":"n394490637","loc":[-85.629602,41.927277],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490638":{"id":"n394490638","loc":[-85.6297102,41.9273279],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{}},"n394490639":{"id":"n394490639","loc":[-85.630958,41.927398],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490699":{"id":"n394490699","loc":[-85.632741,41.927388],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490700":{"id":"n394490700","loc":[-85.632997,41.927391],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490701":{"id":"n394490701","loc":[-85.633149,41.927393],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490702":{"id":"n394490702","loc":[-85.633334,41.927393],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490703":{"id":"n394490703","loc":[-85.633468,41.927561],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490704":{"id":"n394490704","loc":[-85.633563,41.927755],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490705":{"id":"n394490705","loc":[-85.633662,41.928192],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490706":{"id":"n394490706","loc":[-85.633679,41.928807],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490707":{"id":"n394490707","loc":[-85.633687,41.929107],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490708":{"id":"n394490708","loc":[-85.633927,41.929109],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490709":{"id":"n394490709","loc":[-85.634126,41.929111],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490710":{"id":"n394490710","loc":[-85.634207,41.92911],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490711":{"id":"n394490711","loc":[-85.634323,41.929111],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490712":{"id":"n394490712","loc":[-85.636712,41.929128],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490713":{"id":"n394490713","loc":[-85.63808,41.9291],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490714":{"id":"n394490714","loc":[-85.639213,41.929088],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490715":{"id":"n394490715","loc":[-85.639189,41.92852],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490716":{"id":"n394490716","loc":[-85.639204,41.925488],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490717":{"id":"n394490717","loc":[-85.644204,41.925452],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490718":{"id":"n394490718","loc":[-85.651425,41.925406],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490719":{"id":"n394490719","loc":[-85.651449,41.926321],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490720":{"id":"n394490720","loc":[-85.651451,41.926969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490721":{"id":"n394490721","loc":[-85.651458,41.928052],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490722":{"id":"n394490722","loc":[-85.651446,41.928892],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490723":{"id":"n394490723","loc":[-85.651456,41.929447],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490724":{"id":"n394490724","loc":[-85.651707,41.929454],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490725":{"id":"n394490725","loc":[-85.652369,41.929473],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490726":{"id":"n394490726","loc":[-85.6525,41.929452],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490727":{"id":"n394490727","loc":[-85.654066,41.92946],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490728":{"id":"n394490728","loc":[-85.654816,41.92946],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490729":{"id":"n394490729","loc":[-85.654816,41.930337],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490730":{"id":"n394490730","loc":[-85.654587,41.930337],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490731":{"id":"n394490731","loc":[-85.654548,41.931072],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490732":{"id":"n394490732","loc":[-85.654538,41.931701],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490733":{"id":"n394490733","loc":[-85.654898,41.931689],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490734":{"id":"n394490734","loc":[-85.654898,41.932505],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490735":{"id":"n394490735","loc":[-85.654854,41.932514],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490736":{"id":"n394490736","loc":[-85.655497,41.932499],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490737":{"id":"n394490737","loc":[-85.656405,41.932493],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490738":{"id":"n394490738","loc":[-85.656422,41.933416],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490739":{"id":"n394490739","loc":[-85.657322,41.933438],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n1475293233":{"id":"n1475293233","loc":[-85.6385522,41.9585167],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{}},"n1475293242":{"id":"n1475293242","loc":[-85.64609,41.9540815],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293249":{"id":"n1475293249","loc":[-85.6358079,41.9692721],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293256":{"id":"n1475293256","loc":[-85.6387369,41.9581583],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293259":{"id":"n1475293259","loc":[-85.6455882,41.9541138],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1475293266":{"id":"n1475293266","loc":[-85.6451008,41.9541821],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1819800253":{"id":"n1819800253","loc":[-85.6134286,41.9429692],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n2114807558":{"id":"n2114807558","loc":[-85.6365609,41.963866],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{"railway":"level_crossing"}},"n2189015728":{"id":"n2189015728","loc":[-85.6383956,41.9590576],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015838":{"id":"n2189015838","loc":[-85.6435144,41.9563705],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015842":{"id":"n2189015842","loc":[-85.6415782,41.9557035],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015855":{"id":"n2189015855","loc":[-85.6440829,41.9554577],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2199109849":{"id":"n2199109849","loc":[-85.6393434,41.9565591],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109851":{"id":"n2199109851","loc":[-85.6393208,41.9565002],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109857":{"id":"n2199109857","loc":[-85.6401986,41.955545],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109859":{"id":"n2199109859","loc":[-85.6402362,41.955587],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109861":{"id":"n2199109861","loc":[-85.6395958,41.9565675],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109863":{"id":"n2199109863","loc":[-85.639528,41.9566011],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"w209717053":{"id":"w209717053","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109829","n2199109831","n2199109833","n2199109835","n2199109829"]},"w17966415":{"id":"w17966415","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"access":"private","highway":"service","name":"Manufacturing Way","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Manufacturing","tiger:name_type":"Way","tiger:reviewed":"no"},"nodes":["n185971642","n185977232","n185977233","n185949745","n185949748","n185977234"]},"w209717054":{"id":"w209717054","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109837","n2199109839","n2199109841","n2199109843","n2199109845","n2199109847","n2199109837"]},"w208627214":{"id":"w208627214","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949755","n2189015728","n1475293233","n1475293256","n185952163","n185952161","n185952160","n185952158","n185949763","n1819848965","n1819848890","n185952156"]},"w17963817":{"id":"w17963817","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"access":"private","highway":"service","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949765","n185953413","n185953417","n185953421","n185953423"]},"w34369809":{"id":"w34369809","version":"7","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:19Z","tags":{"admin_level":"8","boundary":"administrative","landuse":"residential","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490395","n394490396","n394490397","n394490398","n394490399","n394490400","n394490401","n394490402","n394490403","n394490404","n394490405","n394490406","n394490407","n394490408","n394490409","n394490410","n394490411","n394490412","n394490413","n394490414","n394490415","n394490416","n394490417","n394490418","n394490419","n394490420","n394490421","n394490422","n394490423","n394490424","n394490425","n394490426","n394490427","n394490428","n1475293242","n1475293259","n1475293266","n394490429","n394490430","n394490431","n394490432","n394490433","n394490434","n394490435","n394490436","n394490437","n394490438","n394490439","n394490440","n394490441","n394490442","n394490443","n394490444","n394490445","n394490446","n1475293249","n394490447","n394490448","n394490449","n394490450","n394490451","n394490452","n394490453","n394490454","n394490455","n394490456","n394490457","n394490458","n394490459","n394490460","n394490461","n394490462","n2114807558","n394490463","n1475293226","n394490464","n394490465","n394490466","n394490467","n394490468","n394490469","n394490470","n394490471","n394490472","n394490473","n394490474","n394490475","n394490476","n394490477","n394490478","n394490479","n394490480","n394490481","n394490482","n394490483","n394490484","n394490485","n394490486","n394490487","n394490488","n394490489","n394490490","n394490491","n394490492","n394490493","n394490494","n394490495","n394490496","n394490497","n394490498","n394490499","n394490500","n394490501","n394490502","n394490503","n394490504","n394490505","n394490506","n394490507","n394490508","n394490509","n394490510","n394490511","n394490512","n394490513","n394490514","n394490515","n394490516","n394490517","n394490518","n394490519","n394490520","n394490521","n394490522","n394490523","n394490524","n394490525","n394490526","n394490527","n394490528","n394490529","n394490530","n394490531","n394490532","n394490533","n394490534","n394490535","n394490536","n394490537","n394490538","n394490539","n394490540","n394490542","n394490545","n394490546","n394490547","n394490548","n394490549","n394490550","n394490551","n394490552","n394490553","n394490554","n394490555","n394490556","n394490557","n394490558","n394490559","n394490560","n394490561","n394490562","n394490563","n394490564","n394490565","n394490566","n394490567","n394490568","n394490569","n394490570","n394490571","n1819800253","n394490572","n394490573","n394490574","n394490575","n394490576","n394490577","n394490578","n394490579","n394490580","n394490582","n394490583","n394490585","n394490586","n394490588","n394490589","n394490590","n394490592","n394490594","n394490595","n394490596","n394490598","n394490599","n394490601","n394490602","n394490604","n394490605","n394490607","n394490608","n394490609","n394490611","n394490612","n394490613","n394490614","n394490615","n394490616","n394490617","n394490618","n394490619","n394490620","n394490621","n394490622","n394490623","n394490624","n394490625","n394490626","n394490627","n394490628","n394490629","n394490630","n394490631","n394490632","n394490633","n394490634","n394490635","n394490636","n394490637","n394490638","n394490639","n394490699","n394490700","n394490701","n394490702","n394490703","n394490704","n394490705","n394490706","n394490707","n394490708","n394490709","n394490710","n394490711","n394490712","n394490713","n394490714","n394490715","n394490716","n394490717","n394490718","n394490719","n394490720","n394490721","n394490722","n394490723","n394490724","n394490725","n394490726","n394490727","n394490728","n394490729","n394490730","n394490731","n394490732","n394490733","n394490734","n394490735","n394490736","n394490737","n394490738","n394490739","n394490395"]},"w208627221":{"id":"w208627221","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015838","n2189015842","n2189015846","n2189015849","n2189015852","n2189015855","n2189015838"]},"w209717052":{"id":"w209717052","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109816","n2199109818","n2199109820","n2199109822","n2199109825","n2199109827","n2199109816"]},"w134151784":{"id":"w134151784","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"bridge":"yes","highway":"residential","name":"W Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312195:15312958:15312207:15313273:15328372:15328373","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185971648","n185971651"]},"w209717055":{"id":"w209717055","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","landuse":"basin"},"nodes":["n2199109849","n2199109851","n2199109853","n2199109855","n2199109857","n2199109859","n2199109861","n2199109863","n2199109849"]},"w17967763":{"id":"w17967763","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:04Z","tags":{"highway":"residential","name":"Rock River Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Rock River","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312230:15312252:15335064:15333550","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n1475293244","n185982166","n185975067","n185971637"]},"r134949":{"id":"r134949","version":"2","changeset":"14979874","user":"malenki","uid":"39504","visible":"true","timestamp":"2013-02-10T12:18:08Z","tags":{"admin_level":"8","border_type":"city","boundary":"administrative","is_in":"USA, Michigan","is_in:country":"USA","is_in:country_code":"US","is_in:iso_3166_2":"US:MI","is_in:state":"Michigan","is_in:state_code":"MI","name":"Three Rivers","place":"city","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)","tiger:CLASSFP":"C5","tiger:CPI":"Y","tiger:FUNCSTAT":"A","tiger:LSAD":"25","tiger:MTFCC":"G4110","tiger:NAME":"Three Rivers","tiger:NAMELSAD":"Three Rivers city","tiger:PCICBSA":"N","tiger:PCINECTA":"N","tiger:PLACEFP":"79760","tiger:PLACENS":"01627164","tiger:PLCIDFP":"2679760","tiger:STATEFP":"26","type":"boundary","wikipedia":"en:Three Rivers, Michigan"},"members":[{"id":"w34369809","type":"way","role":"outer"},{"id":"w34369821","type":"way","role":"outer"},{"id":"w34369822","type":"way","role":"outer"},{"id":"w34369823","type":"way","role":"outer"},{"id":"w34369824","type":"way","role":"outer"},{"id":"w34369825","type":"way","role":"outer"},{"id":"w34369826","type":"way","role":"outer"},{"id":"w34369810","type":"way","role":"inner"},{"id":"w34369811","type":"way","role":"inner"},{"id":"w34369812","type":"way","role":"inner"},{"id":"w34367079","type":"way","role":"inner"},{"id":"w34369814","type":"way","role":"inner"},{"id":"w34367080","type":"way","role":"inner"},{"id":"w34369815","type":"way","role":"inner"},{"id":"w34369820","type":"way","role":"inner"}]},"n1819848881":{"id":"n1819848881","loc":[-85.638562,41.9569965],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848947":{"id":"n1819848947","loc":[-85.6384348,41.9576565],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819849044":{"id":"n1819849044","loc":[-85.6385749,41.9573345],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n2114807547":{"id":"n2114807547","loc":[-85.6384626,41.9583756],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807564":{"id":"n2114807564","loc":[-85.638535,41.9581283],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015691":{"id":"n2189015691","loc":[-85.6435584,41.9565243],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015696":{"id":"n2189015696","loc":[-85.6435805,41.9566049],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015722":{"id":"n2189015722","loc":[-85.6435035,41.9567438],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015744":{"id":"n2189015744","loc":[-85.6437991,41.9569582],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015747":{"id":"n2189015747","loc":[-85.6433042,41.9567742],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015750":{"id":"n2189015750","loc":[-85.6433827,41.9566844],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015753":{"id":"n2189015753","loc":[-85.6430447,41.9565588],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015756":{"id":"n2189015756","loc":[-85.6431111,41.956451],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015759":{"id":"n2189015759","loc":[-85.6420247,41.956083],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015760":{"id":"n2189015760","loc":[-85.6419945,41.9561369],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015764":{"id":"n2189015764","loc":[-85.6413729,41.9558945],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015766":{"id":"n2189015766","loc":[-85.6412884,41.9560606],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015770":{"id":"n2189015770","loc":[-85.6411798,41.9560112],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015771":{"id":"n2189015771","loc":[-85.6410651,41.9562132],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015774":{"id":"n2189015774","loc":[-85.6409504,41.9561728],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015778":{"id":"n2189015778","loc":[-85.6407996,41.9564241],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015781":{"id":"n2189015781","loc":[-85.6406889,41.9563892],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015785":{"id":"n2189015785","loc":[-85.6404857,41.9567024],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015789":{"id":"n2189015789","loc":[-85.6406909,41.9567877],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015793":{"id":"n2189015793","loc":[-85.6405642,41.9570165],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015796":{"id":"n2189015796","loc":[-85.6415359,41.9573711],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015800":{"id":"n2189015800","loc":[-85.6411738,41.9579501],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015804":{"id":"n2189015804","loc":[-85.6411119,41.957921],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015808":{"id":"n2189015808","loc":[-85.6403186,41.9591751],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015909":{"id":"n2189015909","loc":[-85.6389293,41.9564636],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015926":{"id":"n2189015926","loc":[-85.6385431,41.9564617],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015929":{"id":"n2189015929","loc":[-85.6385457,41.9561823],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015932":{"id":"n2189015932","loc":[-85.6389319,41.9561843],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2199109865":{"id":"n2199109865","loc":[-85.6400768,41.956776],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109867":{"id":"n2199109867","loc":[-85.639902,41.9567153],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109869":{"id":"n2199109869","loc":[-85.640004,41.956553],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109871":{"id":"n2199109871","loc":[-85.6401788,41.9566137],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109873":{"id":"n2199109873","loc":[-85.6399316,41.9564506],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"man_made":"water_tower"}},"n2199109876":{"id":"n2199109876","loc":[-85.6397689,41.9572354],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109878":{"id":"n2199109878","loc":[-85.6399229,41.9569826],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109880":{"id":"n2199109880","loc":[-85.639706,41.9569095],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109882":{"id":"n2199109882","loc":[-85.639552,41.9571623],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109884":{"id":"n2199109884","loc":[-85.6391028,41.9569517],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109886":{"id":"n2199109886","loc":[-85.6392876,41.956646],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109888":{"id":"n2199109888","loc":[-85.639484,41.9567117],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109889":{"id":"n2199109889","loc":[-85.6394322,41.9567973],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109890":{"id":"n2199109890","loc":[-85.6393718,41.9567771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109891":{"id":"n2199109891","loc":[-85.6392387,41.9569972],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n1819848900":{"id":"n1819848900","loc":[-85.638281,41.9576578],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848978":{"id":"n1819848978","loc":[-85.6377186,41.9580867],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849039":{"id":"n1819849039","loc":[-85.6384217,41.9573405],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849050":{"id":"n1819849050","loc":[-85.6377011,41.9570042],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849088":{"id":"n1819849088","loc":[-85.6382879,41.9580817],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n2114807549":{"id":"n2114807549","loc":[-85.6362551,41.96473],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807587":{"id":"n2114807587","loc":[-85.6368694,41.9629829],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015725":{"id":"n2189015725","loc":[-85.644156,41.9569753],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015741":{"id":"n2189015741","loc":[-85.6419825,41.9597632],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"w208627217":{"id":"w208627217","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015741","n2189015744","n2189015747","n2189015750","n2189015753","n2189015756","n2189015759","n2189015760","n2189015764","n2189015766","n2189015770","n2189015771","n2189015774","n2189015778","n2189015781","n2189015785","n2189015789","n2189015793","n2189015796","n2189015800","n2189015804","n2189015808","n2189015741"]},"w208627212":{"id":"w208627212","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"highway":"service"},"nodes":["n2189015691","n2189015696","n2189015722","n2189015725"]},"w209717057":{"id":"w209717057","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109876","n2199109878","n2199109880","n2199109882","n2199109876"]},"w209717056":{"id":"w209717056","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109865","n2199109867","n2199109869","n2199109871","n2199109865"]},"w208627231":{"id":"w208627231","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015909","n2189015926","n2189015929","n2189015932","n2189015909"]},"w170848326":{"id":"w170848326","version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{"building":"yes","source":"Bing"},"nodes":["n1819848881","n1819849050","n1819848978","n1819849088","n1819848900","n1819848947","n1819849039","n1819849044","n1819848881"]},"w17963182":{"id":"w17963182","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949763","n185949765","n2189015691","n185949745"]},"w201484340":{"id":"w201484340","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807565","n2114807564","n2114807547","n2114807587","n2114807558","n2114807549","n2114807593"]},"w209717058":{"id":"w209717058","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109884","n2199109886","n2199109888","n2199109889","n2199109890","n2199109891","n2199109884"]},"n185954650":{"id":"n185954650","loc":[-85.627331,41.957439],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:31Z","tags":{}},"n185966949":{"id":"n185966949","loc":[-85.626868,41.957314],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185989335":{"id":"n185989335","loc":[-85.62529,41.958568],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989337":{"id":"n185989337","loc":[-85.624962,41.958453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989339":{"id":"n185989339","loc":[-85.624832,41.958399],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989340":{"id":"n185989340","loc":[-85.624707,41.958325],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989342":{"id":"n185989342","loc":[-85.624636,41.958251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989345":{"id":"n185989345","loc":[-85.624578,41.95818],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989347":{"id":"n185989347","loc":[-85.624533,41.958099],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989349":{"id":"n185989349","loc":[-85.624507,41.957985],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989351":{"id":"n185989351","loc":[-85.624495,41.957807],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989353":{"id":"n185989353","loc":[-85.624514,41.957663],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989354":{"id":"n185989354","loc":[-85.624577,41.957593],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989356":{"id":"n185989356","loc":[-85.624685,41.95754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989357":{"id":"n185989357","loc":[-85.624802,41.957523],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989359":{"id":"n185989359","loc":[-85.624996,41.957524],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989361":{"id":"n185989361","loc":[-85.625409,41.957515],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989364":{"id":"n185989364","loc":[-85.625634,41.957496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989367":{"id":"n185989367","loc":[-85.625832,41.957453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989368":{"id":"n185989368","loc":[-85.626044,41.957394],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n354031352":{"id":"n354031352","loc":[-85.6252778,41.9586111],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:26Z","tags":{"amenity":"place_of_worship","denomination":"baptist","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417873","gnis:state_id":"26","name":"First Baptist Church","religion":"christian"}},"n2199109892":{"id":"n2199109892","loc":[-85.6261578,41.9589963],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109893":{"id":"n2199109893","loc":[-85.6263191,41.9586865],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109894":{"id":"n2199109894","loc":[-85.6261186,41.9586288],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109895":{"id":"n2199109895","loc":[-85.6260644,41.9587329],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109896":{"id":"n2199109896","loc":[-85.6261547,41.9587589],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109898":{"id":"n2199109898","loc":[-85.6260476,41.9589646],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n185966951":{"id":"n185966951","loc":[-85.628404,41.957438],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"w17965351":{"id":"w17965351","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:20Z","tags":{"highway":"residential","name":"Flower Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Flower","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185966948","n185966949","n185954650","n185966951","n185966953","n185966955","n185966957"]},"w17967809":{"id":"w17967809","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Azaleamum Drive","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Azaleamum","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185982197","n185989335","n185989337","n185989339","n185989340","n185989342","n185989345","n185989347","n185989349","n185989351","n185989353","n185989354","n185989356","n185989357","n185989359","n185989361","n185989364","n185989367","n185989368","n185982196"]},"w209717059":{"id":"w209717059","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109892","n2199109893","n2199109894","n2199109895","n2199109896","n2199109898","n2199109892"]},"n185961390":{"id":"n185961390","loc":[-85.63137,41.959033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185961393":{"id":"n185961393","loc":[-85.634315,41.959017],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"w17966214":{"id":"w17966214","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Adams Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185975351","n185967434","n185968108"]},"w17964793":{"id":"w17964793","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:32:05Z","tags":{"highway":"residential","name":"Morris Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Morris","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312148:15328241:15328242","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185961389","n185961390","n185961391","n185961393","n185961396"]},"n185952166":{"id":"n185952166","loc":[-85.638174,41.95831],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:11Z","tags":{}},"n2114807552":{"id":"n2114807552","loc":[-85.6383526,41.9593788],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807591":{"id":"n2114807591","loc":[-85.6383741,41.9593968],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015731":{"id":"n2189015731","loc":[-85.6368404,41.9592785],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015734":{"id":"n2189015734","loc":[-85.6368404,41.9585918],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015737":{"id":"n2189015737","loc":[-85.6376009,41.9585918],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015738":{"id":"n2189015738","loc":[-85.6376009,41.9592785],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015897":{"id":"n2189015897","loc":[-85.6376839,41.9566137],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015900":{"id":"n2189015900","loc":[-85.6376831,41.9564865],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015903":{"id":"n2189015903","loc":[-85.6381161,41.9564851],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015906":{"id":"n2189015906","loc":[-85.6381168,41.9566122],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015937":{"id":"n2189015937","loc":[-85.6364789,41.9590634],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015940":{"id":"n2189015940","loc":[-85.6361137,41.9590672],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015943":{"id":"n2189015943","loc":[-85.6361169,41.9594033],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015945":{"id":"n2189015945","loc":[-85.6363456,41.9594021],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015952":{"id":"n2189015952","loc":[-85.636112,41.958892],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015955":{"id":"n2189015955","loc":[-85.6364757,41.9588894],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015957":{"id":"n2189015957","loc":[-85.6364729,41.9586747],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015958":{"id":"n2189015958","loc":[-85.6361103,41.9586765],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015959":{"id":"n2189015959","loc":[-85.6364719,41.9585562],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015960":{"id":"n2189015960","loc":[-85.6361093,41.958558],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015961":{"id":"n2189015961","loc":[-85.6355494,41.9586403],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015962":{"id":"n2189015962","loc":[-85.635549,41.9584711],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015963":{"id":"n2189015963","loc":[-85.6351831,41.9584715],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015964":{"id":"n2189015964","loc":[-85.6351834,41.9586408],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015966":{"id":"n2189015966","loc":[-85.6359579,41.9586359],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015968":{"id":"n2189015968","loc":[-85.6359561,41.9585465],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015971":{"id":"n2189015971","loc":[-85.6355476,41.9585509],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015974":{"id":"n2189015974","loc":[-85.6359516,41.9592934],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015977":{"id":"n2189015977","loc":[-85.635949,41.9586697],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015980":{"id":"n2189015980","loc":[-85.6351329,41.9586716],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015983":{"id":"n2189015983","loc":[-85.6351318,41.9583949],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015986":{"id":"n2189015986","loc":[-85.6349148,41.9583954],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015989":{"id":"n2189015989","loc":[-85.6349186,41.9592958],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015995":{"id":"n2189015995","loc":[-85.6360173,41.9593286],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015998":{"id":"n2189015998","loc":[-85.6360278,41.9583079],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2114807550":{"id":"n2114807550","loc":[-85.6383392,41.9595404],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807551":{"id":"n2114807551","loc":[-85.6375855,41.9616107],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807559":{"id":"n2114807559","loc":[-85.6373978,41.9621273],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807562":{"id":"n2114807562","loc":[-85.6373361,41.9622609],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807563":{"id":"n2114807563","loc":[-85.6376472,41.9613953],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807574":{"id":"n2114807574","loc":[-85.636974,41.9627695],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807589":{"id":"n2114807589","loc":[-85.6383017,41.9595005],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807592":{"id":"n2114807592","loc":[-85.6377169,41.9613494],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807595":{"id":"n2114807595","loc":[-85.6371081,41.962574],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015934":{"id":"n2189015934","loc":[-85.6364855,41.9595098],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015949":{"id":"n2189015949","loc":[-85.6363466,41.9595105],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"w208627244":{"id":"w208627244","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"highway":"service"},"nodes":["n2189015992","n2189015995","n2189015998"]},"w208627240":{"id":"w208627240","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015971","n2189015962","n2189015963","n2189015964","n2189015961"]},"w17967437":{"id":"w17967437","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:44Z","tags":{"highway":"residential","name":"Lyman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lyman","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313234","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185964361","n185984024"]},"w208627237":{"id":"w208627237","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015955","n2189015957","n2189015958","n2189015952","n2189015955"]},"w17967465":{"id":"w17967465","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:57Z","tags":{"highway":"residential","name":"W Adams St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312177","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978394","n185984022","n185964360"]},"w208627228":{"id":"w208627228","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015897","n2189015900","n2189015903","n2189015906","n2189015897"]},"w201484351":{"id":"w201484351","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807587","n2114807574","n2114807595","n2114807562","n2114807559","n2114807551","n2114807563","n2114807589","n2114807552"]},"w208627239":{"id":"w208627239","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015957","n2189015959","n2189015960","n2189015958","n2189015957"]},"w208627233":{"id":"w208627233","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015934","n2189015937","n2189015940","n2189015943","n2189015945","n2189015949","n2189015934"]},"w208627241":{"id":"w208627241","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015966","n2189015968","n2189015971","n2189015961"]},"w17967970":{"id":"w17967970","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:55:20Z","tags":{"highway":"residential","name":"Adams St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312180","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975351","n185978394"]},"w208627235":{"id":"w208627235","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015940","n2189015952","n2189015955","n2189015937","n2189015940"]},"w17965468":{"id":"w17965468","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:56Z","tags":{"highway":"residential","name":"Armstrong Blvd","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armstrong","tiger:name_type":"Blvd","tiger:reviewed":"no"},"nodes":["n185967917","n2189015998","n185967918","n185964362","n185952166"]},"w201484346":{"id":"w201484346","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807551","n2114807592","n2114807550","n2114807591"]},"w208627242":{"id":"w208627242","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015974","n2189015977","n2189015980","n2189015983","n2189015986","n2189015989","n2189015974"]},"w208627216":{"id":"w208627216","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015731","n2189015734","n2189015737","n2189015738","n2189015731"]},"n185984309":{"id":"n185984309","loc":[-85.631421,41.961494],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:55Z","tags":{}},"n185987987":{"id":"n185987987","loc":[-85.631456,41.960673],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:29Z","tags":{}},"n185965397":{"id":"n185965397","loc":[-85.634603,41.959838],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"w17965196":{"id":"w17965196","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:10Z","tags":{"highway":"residential","name":"Burke Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Burke","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312145","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965395","n185965397","n185965399"]},"w17967215":{"id":"w17967215","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:56Z","tags":{"highway":"residential","name":"Kellogg Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kellogg","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185968114","n185984309","n185967440","n185978402"]},"w17967597":{"id":"w17967597","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"highway":"residential","name":"Barnard Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Barnard","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185968112","n185987987","n185967438","n185978399"]},"n394490857":{"id":"n394490857","loc":[-85.633952,41.960664],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:00Z","tags":{}},"n394490858":{"id":"n394490858","loc":[-85.633938,41.960227],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:00Z","tags":{}},"n394490859":{"id":"n394490859","loc":[-85.634794,41.960212],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490860":{"id":"n394490860","loc":[-85.634815,41.960662],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490861":{"id":"n394490861","loc":[-85.634103,41.961268],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490862":{"id":"n394490862","loc":[-85.634103,41.961001],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490863":{"id":"n394490863","loc":[-85.634504,41.961003],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490864":{"id":"n394490864","loc":[-85.634561,41.961269],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n1057629869":{"id":"n1057629869","loc":[-85.6382599,41.9612134],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:10Z","tags":{}},"n1057629937":{"id":"n1057629937","loc":[-85.6380035,41.9616137],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:11Z","tags":{}},"n2189016014":{"id":"n2189016014","loc":[-85.6360365,41.9626496],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016017":{"id":"n2189016017","loc":[-85.6360374,41.9623228],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016020":{"id":"n2189016020","loc":[-85.6367557,41.9623239],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016022":{"id":"n2189016022","loc":[-85.6367566,41.9619919],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016025":{"id":"n2189016025","loc":[-85.6351794,41.9619893],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016028":{"id":"n2189016028","loc":[-85.6351788,41.9622011],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016031":{"id":"n2189016031","loc":[-85.6350855,41.9622009],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016034":{"id":"n2189016034","loc":[-85.6350845,41.962527],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016037":{"id":"n2189016037","loc":[-85.6352732,41.9625273],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016039":{"id":"n2189016039","loc":[-85.6352738,41.9623178],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016042":{"id":"n2189016042","loc":[-85.6357712,41.9623186],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016044":{"id":"n2189016044","loc":[-85.6357702,41.9626492],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n1057629880":{"id":"n1057629880","loc":[-85.638817,41.9619017],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:10Z","tags":{}},"n1057629923":{"id":"n1057629923","loc":[-85.6390733,41.9615014],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:11Z","tags":{}},"w91092312":{"id":"w91092312","version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:12Z","tags":{"power":"station"},"nodes":["n1057629923","n1057629869","n1057629937","n1057629880","n1057629923"]},"w34369826":{"id":"w34369826","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490861","n394490862","n394490863","n394490864","n394490861"]},"w34369825":{"id":"w34369825","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490857","n394490858","n394490859","n394490860","n394490857"]},"w208627248":{"id":"w208627248","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189016014","n2189016017","n2189016020","n2189016022","n2189016025","n2189016028","n2189016031","n2189016034","n2189016037","n2189016039","n2189016042","n2189016044","n2189016014"]},"n394490766":{"id":"n394490766","loc":[-85.616777,41.955642],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490768":{"id":"n394490768","loc":[-85.617239,41.955644],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490792":{"id":"n394490792","loc":[-85.619034,41.95543],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n185972055":{"id":"n185972055","loc":[-85.6185905,41.9568211],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972057":{"id":"n185972057","loc":[-85.6186688,41.9570086],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972059":{"id":"n185972059","loc":[-85.6186924,41.9581453],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972060":{"id":"n185972060","loc":[-85.6187082,41.9588211],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{"highway":"turning_circle","source":"Bing"}},"n1819790724":{"id":"n1819790724","loc":[-85.6182155,41.9555703],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790735":{"id":"n1819790735","loc":[-85.6184059,41.9566188],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790799":{"id":"n1819790799","loc":[-85.6182372,41.9563771],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790896":{"id":"n1819790896","loc":[-85.6181431,41.9557227],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n185971405":{"id":"n185971405","loc":[-85.6186766,41.9577468],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971565":{"id":"n185971565","loc":[-85.6181613,41.9560879],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185967985":{"id":"n185967985","loc":[-85.6186798,41.9585791],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955753":{"id":"n185955753","loc":[-85.620773,41.9555854],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955755":{"id":"n185955755","loc":[-85.6212652,41.9559891],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955748":{"id":"n185955748","loc":[-85.620722,41.954858],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185955751":{"id":"n185955751","loc":[-85.6206912,41.955367],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185967987":{"id":"n185967987","loc":[-85.6159351,41.9585809],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971407":{"id":"n185971407","loc":[-85.6159142,41.9577578],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971570":{"id":"n185971570","loc":[-85.6162248,41.95603],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971572":{"id":"n185971572","loc":[-85.6160402,41.9560749],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971574":{"id":"n185971574","loc":[-85.61593,41.956201],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185981301":{"id":"n185981301","loc":[-85.6158973,41.9581601],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n394490762":{"id":"n394490762","loc":[-85.617193,41.954706],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490764":{"id":"n394490764","loc":[-85.616773,41.954737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490787":{"id":"n394490787","loc":[-85.618972,41.954737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490790":{"id":"n394490790","loc":[-85.619046,41.954929],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490794":{"id":"n394490794","loc":[-85.619922,41.955296],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490796":{"id":"n394490796","loc":[-85.61991,41.95501],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490798":{"id":"n394490798","loc":[-85.619974,41.954751],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n1819790677":{"id":"n1819790677","loc":[-85.6187031,41.9550522],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790787":{"id":"n1819790787","loc":[-85.6186436,41.9552022],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790828":{"id":"n1819790828","loc":[-85.6185127,41.9553393],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"w17966857":{"id":"w17966857","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:47:55Z","tags":{"access":"private","highway":"service","name":"Sable River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Sable River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326128","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972059","n185981301"]},"w34369814":{"id":"w34369814","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490787","n394490790","n394490792","n394490794","n394490796","n394490798","n394490787"]},"w17964176":{"id":"w17964176","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:27:42Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314404","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955747","n185955748","n185955751","n185955753","n185955755"]},"w17965838":{"id":"w17965838","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:09Z","tags":{"access":"private","highway":"service","name":"Pine River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Pine River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326123","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971405","n185971407"]},"w17965476":{"id":"w17965476","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:37:16Z","tags":{"access":"private","highway":"service","name":"Raisin River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Raisin River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326112","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185967985","n185967987"]},"w17965913":{"id":"w17965913","version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:06Z","tags":{"access":"private","highway":"service","name":"Shiawassee River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Shiawassee River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326124:15326125:15326111:15326113:15326119","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972054","n1819790677","n1819790787","n1819790828","n1819790724","n1819790896","n185971565","n1819790799","n1819790735","n185972055","n185972057","n185971405","n185972059","n185967985","n185972060"]},"w34369811":{"id":"w34369811","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490762","n394490764","n394490766","n394490768","n394490762"]},"w17965854":{"id":"w17965854","version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:06Z","tags":{"access":"private","highway":"service","name":"Sturgeon River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Sturgeon River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326117","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971565","n185971570","n185971572","n185971574"]},"n2139795769":{"id":"n2139795769","loc":[-85.6250804,41.9608796],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795770":{"id":"n2139795770","loc":[-85.6250315,41.9613684],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795771":{"id":"n2139795771","loc":[-85.6249671,41.9614362],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795772":{"id":"n2139795772","loc":[-85.6249698,41.961522],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795773":{"id":"n2139795773","loc":[-85.6250798,41.9615838],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795774":{"id":"n2139795774","loc":[-85.6252273,41.9615639],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795775":{"id":"n2139795775","loc":[-85.6252863,41.9614622],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795776":{"id":"n2139795776","loc":[-85.6252273,41.9613764],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795777":{"id":"n2139795777","loc":[-85.6251227,41.9613525],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795778":{"id":"n2139795778","loc":[-85.6249564,41.9612527],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795779":{"id":"n2139795779","loc":[-85.6249846,41.9610254],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795780":{"id":"n2139795780","loc":[-85.6266725,41.9599647],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795781":{"id":"n2139795781","loc":[-85.6259162,41.9599711],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795782":{"id":"n2139795782","loc":[-85.6257185,41.960019],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795783":{"id":"n2139795783","loc":[-85.6255509,41.9601213],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n185963539":{"id":"n185963539","loc":[-85.615718,41.983893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:58Z","tags":{}},"n185964418":{"id":"n185964418","loc":[-85.616626,42.049512],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:23Z","tags":{}},"n185966614":{"id":"n185966614","loc":[-85.615514,41.976603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:41Z","tags":{}},"n185966635":{"id":"n185966635","loc":[-85.616118,42.013017],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:42Z","tags":{}},"n185969040":{"id":"n185969040","loc":[-85.615632,41.972357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:45Z","tags":{}},"n185969070":{"id":"n185969070","loc":[-85.619145,41.967648],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:46Z","tags":{}},"n185972156":{"id":"n185972156","loc":[-85.621894,41.963956],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972157":{"id":"n185972157","loc":[-85.621806,41.964077],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972158":{"id":"n185972158","loc":[-85.620848,41.965341],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972159":{"id":"n185972159","loc":[-85.620684,41.965558],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972160":{"id":"n185972160","loc":[-85.620621,41.965658],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972161":{"id":"n185972161","loc":[-85.617844,41.969359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972162":{"id":"n185972162","loc":[-85.616843,41.97068],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972164":{"id":"n185972164","loc":[-85.616714,41.970839],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972166":{"id":"n185972166","loc":[-85.615879,41.971969],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972168":{"id":"n185972168","loc":[-85.615748,41.972159],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972170":{"id":"n185972170","loc":[-85.615589,41.972502],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972172":{"id":"n185972172","loc":[-85.615542,41.972733],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972175":{"id":"n185972175","loc":[-85.615524,41.972947],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972177":{"id":"n185972177","loc":[-85.615512,41.973715],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972179":{"id":"n185972179","loc":[-85.615513,41.976496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972180":{"id":"n185972180","loc":[-85.615538,41.977246],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972181":{"id":"n185972181","loc":[-85.61558,41.982139],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972184":{"id":"n185972184","loc":[-85.61557,41.983317],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972186":{"id":"n185972186","loc":[-85.615591,41.983463],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972188":{"id":"n185972188","loc":[-85.615763,41.984146],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972190":{"id":"n185972190","loc":[-85.615814,41.98435],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972192":{"id":"n185972192","loc":[-85.615965,41.998453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972194":{"id":"n185972194","loc":[-85.615982,42.001237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972195":{"id":"n185972195","loc":[-85.616055,42.00555],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972197":{"id":"n185972197","loc":[-85.616134,42.014887],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972199":{"id":"n185972199","loc":[-85.616177,42.018465],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972201":{"id":"n185972201","loc":[-85.616298,42.027627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972203":{"id":"n185972203","loc":[-85.616513,42.042212],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"w203968015":{"id":"w203968015","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential"},"nodes":["n2139795768","n2139795769"]},"w17965932":{"id":"w17965932","version":"2","changeset":"14531170","user":"bot-mode","uid":"451693","visible":"true","timestamp":"2013-01-04T21:15:18Z","tags":{"highway":"residential","name":"Buckhorn Road","name_1":"County Highway 122","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Buckhorn","tiger:name_base_1":"County Highway 122","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972155","n185972156","n185972157","n185972158","n185972159","n185972160","n185969070","n185972161","n185972162","n185972164","n185972166","n185972168","n185969040","n185972170","n185972172","n185972175","n185972177","n185972179","n185966614","n185972180","n185972181","n185972184","n185972186","n185963539","n185972188","n185972190","n185972192","n185972194","n185972195","n185966635","n185972197","n185972199","n185972201","n185972203","n185964418"]},"w203968016":{"id":"w203968016","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential","name":"New Jersey Court"},"nodes":["n2139795770","n2139795771","n2139795772","n2139795773","n2139795774","n2139795775","n2139795776","n2139795777","n2139795770","n2139795778","n2139795779","n2139795769"]},"w203968017":{"id":"w203968017","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential","name":"Oklahoma Drive"},"nodes":["n2139795780","n2139795781","n2139795782","n2139795783","n2139795769"]},"n1819790528":{"id":"n1819790528","loc":[-85.6184827,41.960025],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790530":{"id":"n1819790530","loc":[-85.6168626,41.9605834],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790534":{"id":"n1819790534","loc":[-85.6197379,41.9617163],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790541":{"id":"n1819790541","loc":[-85.6198881,41.9620833],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790543":{"id":"n1819790543","loc":[-85.619695,41.9619397],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790547":{"id":"n1819790547","loc":[-85.6190298,41.9609504],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790555":{"id":"n1819790555","loc":[-85.6180471,41.9609788],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790559":{"id":"n1819790559","loc":[-85.6203817,41.9605436],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790583":{"id":"n1819790583","loc":[-85.6201564,41.9603282],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790590":{"id":"n1819790590","loc":[-85.617045,41.9598894],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790609":{"id":"n1819790609","loc":[-85.6177638,41.9598495],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790618":{"id":"n1819790618","loc":[-85.6195234,41.9610143],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790642":{"id":"n1819790642","loc":[-85.6181179,41.9627933],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790659":{"id":"n1819790659","loc":[-85.6174634,41.962897],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790665":{"id":"n1819790665","loc":[-85.6170343,41.9630885],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790674":{"id":"n1819790674","loc":[-85.6194697,41.9601925],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790685":{"id":"n1819790685","loc":[-85.6207722,41.9610665],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790687":{"id":"n1819790687","loc":[-85.6202315,41.9622109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790697":{"id":"n1819790697","loc":[-85.6184505,41.9624662],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790726":{"id":"n1819790726","loc":[-85.6178926,41.9628492],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790738":{"id":"n1819790738","loc":[-85.6173347,41.9598016],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790762":{"id":"n1819790762","loc":[-85.6186221,41.9609105],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790774":{"id":"n1819790774","loc":[-85.6175922,41.9608308],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790781":{"id":"n1819790781","loc":[-85.6167768,41.9633198],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790796":{"id":"n1819790796","loc":[-85.619856,41.961461],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790811":{"id":"n1819790811","loc":[-85.6208215,41.9620195],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790833":{"id":"n1819790833","loc":[-85.618311,41.9612536],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790854":{"id":"n1819790854","loc":[-85.6183646,41.9626417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790863":{"id":"n1819790863","loc":[-85.6204997,41.9608547],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790867":{"id":"n1819790867","loc":[-85.6184934,41.9621391],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790877":{"id":"n1819790877","loc":[-85.6206928,41.9621152],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790881":{"id":"n1819790881","loc":[-85.6170879,41.960735],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790891":{"id":"n1819790891","loc":[-85.6168304,41.9601207],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790898":{"id":"n1819790898","loc":[-85.619813,41.9612297],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790909":{"id":"n1819790909","loc":[-85.6167982,41.960376],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790912":{"id":"n1819790912","loc":[-85.6205855,41.9610462],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790544":{"id":"n1819790544","loc":[-85.612968,41.9707781],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790549":{"id":"n1819790549","loc":[-85.614395,41.9697172],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790552":{"id":"n1819790552","loc":[-85.6180535,41.9655536],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790554":{"id":"n1819790554","loc":[-85.6111227,41.9703713],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790560":{"id":"n1819790560","loc":[-85.6112729,41.9701958],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790563":{"id":"n1819790563","loc":[-85.6137512,41.9689917],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790564":{"id":"n1819790564","loc":[-85.6181072,41.9659205],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790595":{"id":"n1819790595","loc":[-85.6170021,41.9666863],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790605":{"id":"n1819790605","loc":[-85.6168948,41.9644527],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790606":{"id":"n1819790606","loc":[-85.6128071,41.9701081],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790607":{"id":"n1819790607","loc":[-85.6129251,41.9704032],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790612":{"id":"n1819790612","loc":[-85.6177638,41.9663912],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790615":{"id":"n1819790615","loc":[-85.6152533,41.9670373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790622":{"id":"n1819790622","loc":[-85.6146739,41.9673804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790623":{"id":"n1819790623","loc":[-85.6180428,41.9661838],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790625":{"id":"n1819790625","loc":[-85.6172918,41.9646202],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790645":{"id":"n1819790645","loc":[-85.6178067,41.965043],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790647":{"id":"n1819790647","loc":[-85.6143306,41.9712488],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790649":{"id":"n1819790649","loc":[-85.6147383,41.9707702],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790654":{"id":"n1819790654","loc":[-85.6157361,41.9668459],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790657":{"id":"n1819790657","loc":[-85.6145666,41.9710733],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790668":{"id":"n1819790668","loc":[-85.6166909,41.9642692],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790671":{"id":"n1819790671","loc":[-85.6141482,41.9696538],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790679":{"id":"n1819790679","loc":[-85.6148349,41.9705388],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790686":{"id":"n1819790686","loc":[-85.6139551,41.9695501],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790696":{"id":"n1819790696","loc":[-85.6119703,41.9699087],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790704":{"id":"n1819790704","loc":[-85.6140731,41.9684174],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790706":{"id":"n1819790706","loc":[-85.6124745,41.9699246],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790718":{"id":"n1819790718","loc":[-85.6165407,41.9636868],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790720":{"id":"n1819790720","loc":[-85.61388,41.9687365],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790731":{"id":"n1819790731","loc":[-85.6165193,41.9639421],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790739":{"id":"n1819790739","loc":[-85.6146739,41.9699964],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790753":{"id":"n1819790753","loc":[-85.6173883,41.9665747],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790760":{"id":"n1819790760","loc":[-85.6133221,41.9712089],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790767":{"id":"n1819790767","loc":[-85.6116698,41.9699246],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790779":{"id":"n1819790779","loc":[-85.6130753,41.9710573],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790791":{"id":"n1819790791","loc":[-85.6137083,41.9692869],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790795":{"id":"n1819790795","loc":[-85.6141482,41.9679627],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790798":{"id":"n1819790798","loc":[-85.6137727,41.9694305],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790836":{"id":"n1819790836","loc":[-85.6143842,41.9676037],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790915":{"id":"n1819790915","loc":[-85.6148456,41.9702756],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790926":{"id":"n1819790926","loc":[-85.6138371,41.9713525],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790927":{"id":"n1819790927","loc":[-85.6141053,41.9713525],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790931":{"id":"n1819790931","loc":[-85.6162832,41.966814],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1821014625":{"id":"n1821014625","loc":[-85.5960611,41.9808498],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014627":{"id":"n1821014627","loc":[-85.5565843,42.010982],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014629":{"id":"n1821014629","loc":[-85.5971541,41.9805808],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014632":{"id":"n1821014632","loc":[-85.6061837,41.9725907],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014633":{"id":"n1821014633","loc":[-85.5247773,42.025766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014635":{"id":"n1821014635","loc":[-85.5908938,41.9902384],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014636":{"id":"n1821014636","loc":[-85.5917682,41.9860637],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014637":{"id":"n1821014637","loc":[-85.5456556,42.0166797],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014638":{"id":"n1821014638","loc":[-85.5795749,42.0032352],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014639":{"id":"n1821014639","loc":[-85.6103988,41.9723456],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014642":{"id":"n1821014642","loc":[-85.5818816,42.0022466],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014643":{"id":"n1821014643","loc":[-85.5570604,42.0091586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014644":{"id":"n1821014644","loc":[-85.5952886,41.9803792],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014645":{"id":"n1821014645","loc":[-85.5780366,42.0040343],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014646":{"id":"n1821014646","loc":[-85.6050505,41.9751971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014647":{"id":"n1821014647","loc":[-85.5854435,41.9946162],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014648":{"id":"n1821014648","loc":[-85.5452278,42.0168768],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014649":{"id":"n1821014649","loc":[-85.6023254,41.9780166],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014651":{"id":"n1821014651","loc":[-85.5761899,42.0046783],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014653":{"id":"n1821014653","loc":[-85.5897351,41.9876707],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014657":{"id":"n1821014657","loc":[-85.5963601,41.9808998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014658":{"id":"n1821014658","loc":[-85.5892952,41.9951983],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014660":{"id":"n1821014660","loc":[-85.5778328,42.0037194],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014661":{"id":"n1821014661","loc":[-85.5541475,42.0125705],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014663":{"id":"n1821014663","loc":[-85.5914047,41.9856469],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014664":{"id":"n1821014664","loc":[-85.6101681,41.9727723],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014665":{"id":"n1821014665","loc":[-85.5910172,41.9854696],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014666":{"id":"n1821014666","loc":[-85.5398688,42.0187699],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014667":{"id":"n1821014667","loc":[-85.5218752,42.0282884],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014668":{"id":"n1821014668","loc":[-85.5159582,42.0329384],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014669":{"id":"n1821014669","loc":[-85.5898102,41.9847319],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014670":{"id":"n1821014670","loc":[-85.5734809,42.0066235],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014671":{"id":"n1821014671","loc":[-85.5922939,41.980852],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014672":{"id":"n1821014672","loc":[-85.6023629,41.9781163],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014674":{"id":"n1821014674","loc":[-85.5409953,42.0191724],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014676":{"id":"n1821014676","loc":[-85.584435,41.9949909],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014677":{"id":"n1821014677","loc":[-85.5972399,41.9783835],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014678":{"id":"n1821014678","loc":[-85.5616738,42.0071337],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014681":{"id":"n1821014681","loc":[-85.5202994,42.0310755],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014682":{"id":"n1821014682","loc":[-85.5915912,41.9857767],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014684":{"id":"n1821014684","loc":[-85.6022288,41.977897],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014687":{"id":"n1821014687","loc":[-85.5933024,41.9846362],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014688":{"id":"n1821014688","loc":[-85.5846871,41.9956169],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014689":{"id":"n1821014689","loc":[-85.5898209,41.99037],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014691":{"id":"n1821014691","loc":[-85.5448939,42.0149261],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014692":{"id":"n1821014692","loc":[-85.5977763,41.9786348],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014694":{"id":"n1821014694","loc":[-85.5767706,42.0034523],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014695":{"id":"n1821014695","loc":[-85.6103559,41.9726766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014697":{"id":"n1821014697","loc":[-85.5922134,41.9809876],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014698":{"id":"n1821014698","loc":[-85.5935277,41.9831728],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014700":{"id":"n1821014700","loc":[-85.5674674,42.0078273],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014703":{"id":"n1821014703","loc":[-85.6021,41.9778053],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014704":{"id":"n1821014704","loc":[-85.5756763,42.0053737],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014705":{"id":"n1821014705","loc":[-85.5887695,41.9895207],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014707":{"id":"n1821014707","loc":[-85.6061073,41.9746866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014708":{"id":"n1821014708","loc":[-85.6033446,41.9751692],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014710":{"id":"n1821014710","loc":[-85.5180986,42.0322332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014711":{"id":"n1821014711","loc":[-85.543365,42.0163569],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014712":{"id":"n1821014712","loc":[-85.6030656,41.9753646],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014713":{"id":"n1821014713","loc":[-85.6104417,41.9704792],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014714":{"id":"n1821014714","loc":[-85.5205716,42.030998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014716":{"id":"n1821014716","loc":[-85.516382,42.032536],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014717":{"id":"n1821014717","loc":[-85.5932863,41.9820882],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014718":{"id":"n1821014718","loc":[-85.5361928,42.0194974],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014720":{"id":"n1821014720","loc":[-85.6011613,41.9773586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014721":{"id":"n1821014721","loc":[-85.554287,42.0109124],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014722":{"id":"n1821014722","loc":[-85.5577524,42.0103425],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014725":{"id":"n1821014725","loc":[-85.5867256,41.9921004],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014726":{"id":"n1821014726","loc":[-85.5856045,41.9968807],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014727":{"id":"n1821014727","loc":[-85.5545445,42.0106454],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014728":{"id":"n1821014728","loc":[-85.5923797,41.9842534],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014729":{"id":"n1821014729","loc":[-85.5696346,42.0081462],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014730":{"id":"n1821014730","loc":[-85.5998322,41.9786884],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014735":{"id":"n1821014735","loc":[-85.5337426,42.0218266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014736":{"id":"n1821014736","loc":[-85.5847944,41.994672],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014740":{"id":"n1821014740","loc":[-85.5315271,42.0238669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014741":{"id":"n1821014741","loc":[-85.5248846,42.027085],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014742":{"id":"n1821014742","loc":[-85.5853376,41.997018],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014743":{"id":"n1821014743","loc":[-85.5894883,41.988811],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014745":{"id":"n1821014745","loc":[-85.6095311,41.9726226],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014746":{"id":"n1821014746","loc":[-85.5531511,42.0133416],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014747":{"id":"n1821014747","loc":[-85.5735882,42.007058],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014749":{"id":"n1821014749","loc":[-85.5428554,42.0164366],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014751":{"id":"n1821014751","loc":[-85.5395255,42.0186304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014752":{"id":"n1821014752","loc":[-85.571378,42.0083176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014754":{"id":"n1821014754","loc":[-85.5541918,42.0113925],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014755":{"id":"n1821014755","loc":[-85.5278029,42.0250806],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014756":{"id":"n1821014756","loc":[-85.5936725,41.9827102],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014757":{"id":"n1821014757","loc":[-85.5176266,42.0346677],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014758":{"id":"n1821014758","loc":[-85.6096692,41.9714245],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014759":{"id":"n1821014759","loc":[-85.5770321,42.0034266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014761":{"id":"n1821014761","loc":[-85.5988921,41.9779369],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014762":{"id":"n1821014762","loc":[-85.5811788,42.0024499],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014763":{"id":"n1821014763","loc":[-85.5154003,42.0381101],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014764":{"id":"n1821014764","loc":[-85.5155827,42.0374089],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014765":{"id":"n1821014765","loc":[-85.5891249,41.9884978],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014766":{"id":"n1821014766","loc":[-85.5313863,42.0238293],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014768":{"id":"n1821014768","loc":[-85.593297,41.9833363],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014769":{"id":"n1821014769","loc":[-85.5849446,41.9957245],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014770":{"id":"n1821014770","loc":[-85.5537774,42.0130847],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014771":{"id":"n1821014771","loc":[-85.6111766,41.9706069],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014772":{"id":"n1821014772","loc":[-85.5585477,42.008989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014774":{"id":"n1821014774","loc":[-85.5928142,41.9852623],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014777":{"id":"n1821014777","loc":[-85.5891933,41.9882608],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014778":{"id":"n1821014778","loc":[-85.5926909,41.9817532],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014779":{"id":"n1821014779","loc":[-85.5260272,42.0252201],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014781":{"id":"n1821014781","loc":[-85.5894615,41.9950468],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014782":{"id":"n1821014782","loc":[-85.5461063,42.0143242],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014783":{"id":"n1821014783","loc":[-85.5711527,42.0085886],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014784":{"id":"n1821014784","loc":[-85.5329379,42.0218624],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014786":{"id":"n1821014786","loc":[-85.583047,42.0020252],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014787":{"id":"n1821014787","loc":[-85.5758962,42.0054095],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014788":{"id":"n1821014788","loc":[-85.5626354,42.0077733],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014789":{"id":"n1821014789","loc":[-85.6029852,41.9755999],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014790":{"id":"n1821014790","loc":[-85.5892362,41.9886755],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014791":{"id":"n1821014791","loc":[-85.5157597,42.0372017],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014793":{"id":"n1821014793","loc":[-85.6054582,41.9751094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014794":{"id":"n1821014794","loc":[-85.5986936,41.9778412],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014795":{"id":"n1821014795","loc":[-85.5880775,41.98976],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014796":{"id":"n1821014796","loc":[-85.5858727,41.9963624],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014798":{"id":"n1821014798","loc":[-85.5792543,42.0035958],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014799":{"id":"n1821014799","loc":[-85.5921665,41.9838326],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014801":{"id":"n1821014801","loc":[-85.599214,41.9782599],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014802":{"id":"n1821014802","loc":[-85.5571905,42.0090967],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014803":{"id":"n1821014803","loc":[-85.5426891,42.0173612],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014804":{"id":"n1821014804","loc":[-85.5889626,41.9896404],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014805":{"id":"n1821014805","loc":[-85.5491264,42.0141648],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014806":{"id":"n1821014806","loc":[-85.5618897,42.0072631],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014808":{"id":"n1821014808","loc":[-85.5573501,42.0109802],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014809":{"id":"n1821014809","loc":[-85.5983463,41.9778031],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014810":{"id":"n1821014810","loc":[-85.5885173,41.9895128],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014811":{"id":"n1821014811","loc":[-85.6084998,41.9721143],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014812":{"id":"n1821014812","loc":[-85.5737598,42.0056389],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014814":{"id":"n1821014814","loc":[-85.5542173,42.0118132],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014816":{"id":"n1821014816","loc":[-85.5277868,42.024451],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014817":{"id":"n1821014817","loc":[-85.5403999,42.0191724],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014819":{"id":"n1821014819","loc":[-85.5983879,41.9791452],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014820":{"id":"n1821014820","loc":[-85.5891302,41.9897578],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014822":{"id":"n1821014822","loc":[-85.5930731,41.9805108],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014824":{"id":"n1821014824","loc":[-85.515395,42.0378471],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014825":{"id":"n1821014825","loc":[-85.5352755,42.0205136],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014826":{"id":"n1821014826","loc":[-85.5502744,42.0133398],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014828":{"id":"n1821014828","loc":[-85.5701295,42.0088256],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014830":{"id":"n1821014830","loc":[-85.5888929,41.9953099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014832":{"id":"n1821014832","loc":[-85.5880077,41.9901547],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014833":{"id":"n1821014833","loc":[-85.5451192,42.0157072],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014834":{"id":"n1821014834","loc":[-85.6096478,41.9711932],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014835":{"id":"n1821014835","loc":[-85.5806424,42.0026532],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014836":{"id":"n1821014836","loc":[-85.5911674,41.9868732],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014838":{"id":"n1821014838","loc":[-85.5930302,41.9836571],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014839":{"id":"n1821014839","loc":[-85.588925,41.9938148],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014840":{"id":"n1821014840","loc":[-85.6111874,41.9705311],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014841":{"id":"n1821014841","loc":[-85.5680843,42.0075842],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014842":{"id":"n1821014842","loc":[-85.6012793,41.9775062],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014843":{"id":"n1821014843","loc":[-85.5855562,41.9989777],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014844":{"id":"n1821014844","loc":[-85.5506137,42.0131662],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014845":{"id":"n1821014845","loc":[-85.5270049,42.025457],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014846":{"id":"n1821014846","loc":[-85.5257054,42.025244],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014847":{"id":"n1821014847","loc":[-85.6011184,41.9771832],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014848":{"id":"n1821014848","loc":[-85.515534,42.0389234],"version":"2","changeset":"15306911","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:57:21Z","tags":{}},"n1821014850":{"id":"n1821014850","loc":[-85.5847032,42.0010347],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014853":{"id":"n1821014853","loc":[-85.5361499,42.019063],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014854":{"id":"n1821014854","loc":[-85.5439176,42.0165721],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014855":{"id":"n1821014855","loc":[-85.5838825,42.0017284],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014857":{"id":"n1821014857","loc":[-85.5542173,42.0122317],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014859":{"id":"n1821014859","loc":[-85.5708201,42.0089195],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014860":{"id":"n1821014860","loc":[-85.5844833,41.9954415],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014862":{"id":"n1821014862","loc":[-85.5223204,42.0295396],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014863":{"id":"n1821014863","loc":[-85.5777898,42.0035918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014864":{"id":"n1821014864","loc":[-85.591044,41.9898078],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014865":{"id":"n1821014865","loc":[-85.5973204,41.980182],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014866":{"id":"n1821014866","loc":[-85.5699578,42.0085825],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014867":{"id":"n1821014867","loc":[-85.5210598,42.0305278],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014868":{"id":"n1821014868","loc":[-85.5929108,41.9819008],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014869":{"id":"n1821014869","loc":[-85.5279799,42.0242995],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014870":{"id":"n1821014870","loc":[-85.5196114,42.0320539],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014871":{"id":"n1821014871","loc":[-85.5785449,42.0040883],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014872":{"id":"n1821014872","loc":[-85.588292,41.9895766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014873":{"id":"n1821014873","loc":[-85.5160172,42.0331775],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014874":{"id":"n1821014874","loc":[-85.5688849,42.0077016],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014876":{"id":"n1821014876","loc":[-85.5857976,41.9996036],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014879":{"id":"n1821014879","loc":[-85.5990906,41.9780765],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014881":{"id":"n1821014881","loc":[-85.5483647,42.0144279],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014883":{"id":"n1821014883","loc":[-85.5691209,42.0077972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014885":{"id":"n1821014885","loc":[-85.6076844,41.9721103],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014886":{"id":"n1821014886","loc":[-85.6015489,41.9766147],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014887":{"id":"n1821014887","loc":[-85.574822,42.0052802],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014888":{"id":"n1821014888","loc":[-85.5880024,41.9899593],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014890":{"id":"n1821014890","loc":[-85.5909421,41.9893772],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014892":{"id":"n1821014892","loc":[-85.5497326,42.0138141],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014893":{"id":"n1821014893","loc":[-85.5167106,42.0357811],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014895":{"id":"n1821014895","loc":[-85.5844404,41.9952501],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014896":{"id":"n1821014896","loc":[-85.5362465,42.0192662],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014898":{"id":"n1821014898","loc":[-85.5906095,41.9889147],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014899":{"id":"n1821014899","loc":[-85.5590667,42.0089354],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014900":{"id":"n1821014900","loc":[-85.5921598,41.9844209],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014902":{"id":"n1821014902","loc":[-85.5778971,42.0039266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014903":{"id":"n1821014903","loc":[-85.603012,41.9761981],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014904":{"id":"n1821014904","loc":[-85.6108977,41.9706787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014905":{"id":"n1821014905","loc":[-85.5685738,42.0076139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014906":{"id":"n1821014906","loc":[-85.5392787,42.0186304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014907":{"id":"n1821014907","loc":[-85.5227885,42.0274972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014908":{"id":"n1821014908","loc":[-85.5857547,41.9961431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014910":{"id":"n1821014910","loc":[-85.5610354,42.0072812],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014911":{"id":"n1821014911","loc":[-85.5209632,42.0308705],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014912":{"id":"n1821014912","loc":[-85.5709757,42.0087959],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014913":{"id":"n1821014913","loc":[-85.59231,41.9839344],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014914":{"id":"n1821014914","loc":[-85.5375245,42.0185865],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014916":{"id":"n1821014916","loc":[-85.5901548,41.9839841],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014917":{"id":"n1821014917","loc":[-85.5611213,42.0086405],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014918":{"id":"n1821014918","loc":[-85.5360426,42.0198122],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014919":{"id":"n1821014919","loc":[-85.5862817,41.9948691],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014921":{"id":"n1821014921","loc":[-85.5469807,42.0144438],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014922":{"id":"n1821014922","loc":[-85.5761309,42.0053838],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014924":{"id":"n1821014924","loc":[-85.516264,42.0332971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014925":{"id":"n1821014925","loc":[-85.5277224,42.0246661],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014926":{"id":"n1821014926","loc":[-85.5980016,41.9798231],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014928":{"id":"n1821014928","loc":[-85.5924548,41.9806965],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014930":{"id":"n1821014930","loc":[-85.5899121,41.985023],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014931":{"id":"n1821014931","loc":[-85.5706015,42.0089492],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014932":{"id":"n1821014932","loc":[-85.515926,42.033046],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014933":{"id":"n1821014933","loc":[-85.5982377,41.9796796],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014936":{"id":"n1821014936","loc":[-85.5475721,42.0145253],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014938":{"id":"n1821014938","loc":[-85.5895701,41.9902323],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014939":{"id":"n1821014939","loc":[-85.6030495,41.9759947],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014942":{"id":"n1821014942","loc":[-85.6094721,41.9724989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014944":{"id":"n1821014944","loc":[-85.5921973,41.9811112],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014945":{"id":"n1821014945","loc":[-85.5223526,42.0291332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014946":{"id":"n1821014946","loc":[-85.5965103,41.9808998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014948":{"id":"n1821014948","loc":[-85.517766,42.0349227],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014950":{"id":"n1821014950","loc":[-85.5889894,41.990996],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014951":{"id":"n1821014951","loc":[-85.5601932,42.0092902],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014954":{"id":"n1821014954","loc":[-85.6028135,41.9764055],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014955":{"id":"n1821014955","loc":[-85.5520621,42.0130666],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014956":{"id":"n1821014956","loc":[-85.593002,41.9839344],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014957":{"id":"n1821014957","loc":[-85.515926,42.0369666],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014960":{"id":"n1821014960","loc":[-85.5761255,42.003877],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014961":{"id":"n1821014961","loc":[-85.5716355,42.007911],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014962":{"id":"n1821014962","loc":[-85.5575378,42.0109045],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014963":{"id":"n1821014963","loc":[-85.5735667,42.0068188],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014964":{"id":"n1821014964","loc":[-85.5915214,41.9865861],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014965":{"id":"n1821014965","loc":[-85.5866344,41.9923157],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014967":{"id":"n1821014967","loc":[-85.5283138,42.0242256],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014968":{"id":"n1821014968","loc":[-85.5177875,42.0355801],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014969":{"id":"n1821014969","loc":[-85.548071,42.0144934],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014972":{"id":"n1821014972","loc":[-85.5611159,42.0088557],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014973":{"id":"n1821014973","loc":[-85.541686,42.0188757],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014974":{"id":"n1821014974","loc":[-85.5917628,41.9862631],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014975":{"id":"n1821014975","loc":[-85.5854864,41.9959478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014977":{"id":"n1821014977","loc":[-85.609102,41.9722317],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014980":{"id":"n1821014980","loc":[-85.5761202,42.0042438],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014982":{"id":"n1821014982","loc":[-85.5465944,42.0143601],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014983":{"id":"n1821014983","loc":[-85.5173261,42.0342732],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014984":{"id":"n1821014984","loc":[-85.5897297,41.9888509],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014985":{"id":"n1821014985","loc":[-85.5856688,41.999181],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014986":{"id":"n1821014986","loc":[-85.5344011,42.0217251],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014987":{"id":"n1821014987","loc":[-85.601467,41.9768203],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014988":{"id":"n1821014988","loc":[-85.5457254,42.0165123],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014989":{"id":"n1821014989","loc":[-85.6023482,41.9784332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014991":{"id":"n1821014991","loc":[-85.5361606,42.01823],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014992":{"id":"n1821014992","loc":[-85.5178465,42.0351139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014995":{"id":"n1821014995","loc":[-85.5634293,42.0078092],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014996":{"id":"n1821014996","loc":[-85.573497,42.0072015],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014997":{"id":"n1821014997","loc":[-85.5976328,41.9799725],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014998":{"id":"n1821014998","loc":[-85.5210651,42.0303166],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015003":{"id":"n1821015003","loc":[-85.5222131,42.0288064],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015004":{"id":"n1821015004","loc":[-85.5897941,41.984405],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015005":{"id":"n1821015005","loc":[-85.5975725,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015006":{"id":"n1821015006","loc":[-85.5765708,42.0034903],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015007":{"id":"n1821015007","loc":[-85.5250187,42.026559],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015009":{"id":"n1821015009","loc":[-85.5426998,42.0166279],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015010":{"id":"n1821015010","loc":[-85.5957606,41.9806584],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015011":{"id":"n1821015011","loc":[-85.5262753,42.0252497],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015012":{"id":"n1821015012","loc":[-85.5266455,42.0253374],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015014":{"id":"n1821015014","loc":[-85.5515632,42.0130187],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015015":{"id":"n1821015015","loc":[-85.6024058,41.9765212],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015017":{"id":"n1821015017","loc":[-85.5175032,42.0357156],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015018":{"id":"n1821015018","loc":[-85.5302718,42.0236039],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015019":{"id":"n1821015019","loc":[-85.6024005,41.9782759],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015020":{"id":"n1821015020","loc":[-85.5907758,41.9890821],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015021":{"id":"n1821015021","loc":[-85.6019445,41.9777215],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015022":{"id":"n1821015022","loc":[-85.5942854,41.9800881],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015024":{"id":"n1821015024","loc":[-85.5325826,42.0222711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015029":{"id":"n1821015029","loc":[-85.555093,42.0105316],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015033":{"id":"n1821015033","loc":[-85.5249704,42.0270372],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015034":{"id":"n1821015034","loc":[-85.5243965,42.0272205],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015038":{"id":"n1821015038","loc":[-85.5413426,42.0190749],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015039":{"id":"n1821015039","loc":[-85.5920431,41.9848175],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015041":{"id":"n1821015041","loc":[-85.5577685,42.0106015],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015042":{"id":"n1821015042","loc":[-85.5453606,42.0158866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015045":{"id":"n1821015045","loc":[-85.5333228,42.0217889],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015046":{"id":"n1821015046","loc":[-85.5426891,42.0175924],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015048":{"id":"n1821015048","loc":[-85.5886836,41.9936474],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015050":{"id":"n1821015050","loc":[-85.6001152,41.9786467],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015051":{"id":"n1821015051","loc":[-85.6094064,41.9723655],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015053":{"id":"n1821015053","loc":[-85.605721,41.9749738],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015055":{"id":"n1821015055","loc":[-85.6106791,41.9705048],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015057":{"id":"n1821015057","loc":[-85.5210437,42.0307071],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015059":{"id":"n1821015059","loc":[-85.5995694,41.9786725],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015060":{"id":"n1821015060","loc":[-85.5371638,42.0182938],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015062":{"id":"n1821015062","loc":[-85.6111766,41.9704593],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015065":{"id":"n1821015065","loc":[-85.577704,42.0034921],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015067":{"id":"n1821015067","loc":[-85.5570067,42.0093699],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015068":{"id":"n1821015068","loc":[-85.5920364,41.9845525],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015069":{"id":"n1821015069","loc":[-85.5252065,42.0253954],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015072":{"id":"n1821015072","loc":[-85.5664159,42.0088517],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015073":{"id":"n1821015073","loc":[-85.5880399,41.991905],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015075":{"id":"n1821015075","loc":[-85.6099871,41.9727861],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015076":{"id":"n1821015076","loc":[-85.5319603,42.0231478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015078":{"id":"n1821015078","loc":[-85.6036088,41.9751112],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015080":{"id":"n1821015080","loc":[-85.5983128,41.9789179],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015082":{"id":"n1821015082","loc":[-85.5614069,42.0071395],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015083":{"id":"n1821015083","loc":[-85.60968,41.9709738],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015086":{"id":"n1821015086","loc":[-85.5914195,41.9837351],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015087":{"id":"n1821015087","loc":[-85.5895473,41.9948036],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015090":{"id":"n1821015090","loc":[-85.5929913,41.9851905],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015093":{"id":"n1821015093","loc":[-85.5907396,41.9838485],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015095":{"id":"n1821015095","loc":[-85.5893864,41.9880176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015096":{"id":"n1821015096","loc":[-85.5788024,42.0039807],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015097":{"id":"n1821015097","loc":[-85.5630592,42.0078411],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015098":{"id":"n1821015098","loc":[-85.5350609,42.0211274],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015099":{"id":"n1821015099","loc":[-85.5967195,41.9808679],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015100":{"id":"n1821015100","loc":[-85.5666734,42.0088119],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015101":{"id":"n1821015101","loc":[-85.564694,42.0077675],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015103":{"id":"n1821015103","loc":[-85.6066544,41.9726527],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015104":{"id":"n1821015104","loc":[-85.6011827,41.9769838],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015105":{"id":"n1821015105","loc":[-85.5972131,41.9776697],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015106":{"id":"n1821015106","loc":[-85.5880828,41.9903341],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015107":{"id":"n1821015107","loc":[-85.5510268,42.0130626],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015108":{"id":"n1821015108","loc":[-85.6102164,41.970543],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015109":{"id":"n1821015109","loc":[-85.5905344,41.9853899],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015111":{"id":"n1821015111","loc":[-85.5888821,41.9913429],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015112":{"id":"n1821015112","loc":[-85.606295,41.9741921],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015114":{"id":"n1821015114","loc":[-85.5969556,41.9807443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015115":{"id":"n1821015115","loc":[-85.5882223,41.9934081],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015116":{"id":"n1821015116","loc":[-85.6104471,41.9724971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015118":{"id":"n1821015118","loc":[-85.5406091,42.0192162],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015120":{"id":"n1821015120","loc":[-85.589955,41.9888429],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015121":{"id":"n1821015121","loc":[-85.5598821,42.0092304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015122":{"id":"n1821015122","loc":[-85.545598,42.0144097],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015123":{"id":"n1821015123","loc":[-85.5649528,42.0079965],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015125":{"id":"n1821015125","loc":[-85.5883993,41.9917814],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015126":{"id":"n1821015126","loc":[-85.5295785,42.0239967],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015129":{"id":"n1821015129","loc":[-85.5648723,42.0078809],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015132":{"id":"n1821015132","loc":[-85.564989,42.0081103],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015133":{"id":"n1821015133","loc":[-85.5946127,41.9800841],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015134":{"id":"n1821015134","loc":[-85.583448,42.0019078],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015135":{"id":"n1821015135","loc":[-85.5905934,41.9871842],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015137":{"id":"n1821015137","loc":[-85.610608,41.9704752],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015138":{"id":"n1821015138","loc":[-85.5752257,42.0052939],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015139":{"id":"n1821015139","loc":[-85.5893864,41.9943491],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015140":{"id":"n1821015140","loc":[-85.5426247,42.0169866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015141":{"id":"n1821015141","loc":[-85.562001,42.0074526],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015142":{"id":"n1821015142","loc":[-85.5212046,42.0301094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015143":{"id":"n1821015143","loc":[-85.602214,41.9784531],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015144":{"id":"n1821015144","loc":[-85.5858687,41.9948293],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015145":{"id":"n1821015145","loc":[-85.5608477,42.0074805],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015146":{"id":"n1821015146","loc":[-85.5651607,42.0083614],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015147":{"id":"n1821015147","loc":[-85.5288288,42.0242495],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015149":{"id":"n1821015149","loc":[-85.5450334,42.0146989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015151":{"id":"n1821015151","loc":[-85.5578275,42.0092304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015154":{"id":"n1821015154","loc":[-85.6056634,41.9724511],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015155":{"id":"n1821015155","loc":[-85.5902179,41.9852742],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015156":{"id":"n1821015156","loc":[-85.5156256,42.0387157],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015157":{"id":"n1821015157","loc":[-85.5734433,42.0059459],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015158":{"id":"n1821015158","loc":[-85.6050773,41.9731273],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015160":{"id":"n1821015160","loc":[-85.5223419,42.0275233],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015163":{"id":"n1821015163","loc":[-85.6053562,41.972525],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015164":{"id":"n1821015164","loc":[-85.5850412,41.9946082],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015165":{"id":"n1821015165","loc":[-85.5359031,42.0186326],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015166":{"id":"n1821015166","loc":[-85.5608745,42.0077635],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015169":{"id":"n1821015169","loc":[-85.572876,42.0073189],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015171":{"id":"n1821015171","loc":[-85.5875424,41.9919188],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015172":{"id":"n1821015172","loc":[-85.5240116,42.0272581],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015173":{"id":"n1821015173","loc":[-85.5318369,42.0236818],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015174":{"id":"n1821015174","loc":[-85.566888,42.0086923],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015175":{"id":"n1821015175","loc":[-85.5931522,41.9850669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015176":{"id":"n1821015176","loc":[-85.5604842,42.0093199],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015177":{"id":"n1821015177","loc":[-85.5868168,41.9927543],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015178":{"id":"n1821015178","loc":[-85.6052275,41.9732549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015179":{"id":"n1821015179","loc":[-85.5910118,41.9900431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015182":{"id":"n1821015182","loc":[-85.5610032,42.0082897],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015183":{"id":"n1821015183","loc":[-85.5425443,42.0179431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015184":{"id":"n1821015184","loc":[-85.5843277,42.0014055],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015186":{"id":"n1821015186","loc":[-85.5733307,42.0063564],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015188":{"id":"n1821015188","loc":[-85.5277385,42.0248694],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015189":{"id":"n1821015189","loc":[-85.5558427,42.0108168],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015190":{"id":"n1821015190","loc":[-85.5650587,42.0082618],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015191":{"id":"n1821015191","loc":[-85.5660351,42.0088278],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015192":{"id":"n1821015192","loc":[-85.5849768,41.9980049],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015194":{"id":"n1821015194","loc":[-85.5359139,42.0188199],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015195":{"id":"n1821015195","loc":[-85.593238,41.9849194],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015197":{"id":"n1821015197","loc":[-85.5850841,41.9983239],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015199":{"id":"n1821015199","loc":[-85.5983396,41.9794283],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015204":{"id":"n1821015204","loc":[-85.5452801,42.0145355],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015205":{"id":"n1821015205","loc":[-85.5340685,42.0218407],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015207":{"id":"n1821015207","loc":[-85.5773272,42.0034186],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015209":{"id":"n1821015209","loc":[-85.5535212,42.0132419],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015211":{"id":"n1821015211","loc":[-85.6107703,41.9706045],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015212":{"id":"n1821015212","loc":[-85.6030066,41.9758193],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015213":{"id":"n1821015213","loc":[-85.5359943,42.0184213],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015214":{"id":"n1821015214","loc":[-85.5922993,41.9813305],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015215":{"id":"n1821015215","loc":[-85.5672689,42.0080465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015217":{"id":"n1821015217","loc":[-85.5160494,42.0365682],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015218":{"id":"n1821015218","loc":[-85.5401142,42.0190351],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015219":{"id":"n1821015219","loc":[-85.5607632,42.0092282],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015220":{"id":"n1821015220","loc":[-85.5866197,41.9947894],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015221":{"id":"n1821015221","loc":[-85.6017889,41.9765132],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015222":{"id":"n1821015222","loc":[-85.5595978,42.009059],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015226":{"id":"n1821015226","loc":[-85.5871494,41.9929018],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015227":{"id":"n1821015227","loc":[-85.5857708,41.9998866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015228":{"id":"n1821015228","loc":[-85.5317135,42.0238094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015231":{"id":"n1821015231","loc":[-85.5733521,42.0061372],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015233":{"id":"n1821015233","loc":[-85.5855991,42.0001936],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015234":{"id":"n1821015234","loc":[-85.5213924,42.029962],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015235":{"id":"n1821015235","loc":[-85.6052221,41.9726567],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015236":{"id":"n1821015236","loc":[-85.5763723,42.0035422],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015237":{"id":"n1821015237","loc":[-85.5858512,41.9966215],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015238":{"id":"n1821015238","loc":[-85.567061,42.008439],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015239":{"id":"n1821015239","loc":[-85.5250563,42.0269057],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015240":{"id":"n1821015240","loc":[-85.5347551,42.0214263],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015241":{"id":"n1821015241","loc":[-85.6098463,41.9707066],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015242":{"id":"n1821015242","loc":[-85.5676927,42.0076519],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015243":{"id":"n1821015243","loc":[-85.516775,42.0322669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015244":{"id":"n1821015244","loc":[-85.5762275,42.0036538],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015245":{"id":"n1821015245","loc":[-85.5583639,42.0090949],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015246":{"id":"n1821015246","loc":[-85.5554041,42.0106432],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015247":{"id":"n1821015247","loc":[-85.5973364,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015248":{"id":"n1821015248","loc":[-85.6098945,41.9717513],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015249":{"id":"n1821015249","loc":[-85.6045315,41.9751511],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015250":{"id":"n1821015250","loc":[-85.5579938,42.0092264],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015253":{"id":"n1821015253","loc":[-85.6058873,41.9724652],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015254":{"id":"n1821015254","loc":[-85.5869456,41.9947517],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015255":{"id":"n1821015255","loc":[-85.5936565,41.9823713],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015256":{"id":"n1821015256","loc":[-85.5218269,42.0278102],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015258":{"id":"n1821015258","loc":[-85.5887802,41.9905534],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015259":{"id":"n1821015259","loc":[-85.5901924,41.9904515],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015263":{"id":"n1821015263","loc":[-85.5249222,42.0255787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015265":{"id":"n1821015265","loc":[-85.5175206,42.0321672],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015266":{"id":"n1821015266","loc":[-85.5275722,42.0254034],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015267":{"id":"n1821015267","loc":[-85.6016226,41.9765451],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015269":{"id":"n1821015269","loc":[-85.5569316,42.011032],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015271":{"id":"n1821015271","loc":[-85.6010714,41.9785209],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015272":{"id":"n1821015272","loc":[-85.6050666,41.9729917],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015273":{"id":"n1821015273","loc":[-85.5891235,41.99529],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015274":{"id":"n1821015274","loc":[-85.515454,42.0376439],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015276":{"id":"n1821015276","loc":[-85.5776021,42.0034443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015277":{"id":"n1821015277","loc":[-85.6041707,41.9751453],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015278":{"id":"n1821015278","loc":[-85.5444701,42.0167435],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015280":{"id":"n1821015280","loc":[-85.5923274,41.9852202],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015283":{"id":"n1821015283","loc":[-85.5893649,41.9900271],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015284":{"id":"n1821015284","loc":[-85.5933453,41.9804412],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015285":{"id":"n1821015285","loc":[-85.5247237,42.026017],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015286":{"id":"n1821015286","loc":[-85.5286182,42.0242477],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015287":{"id":"n1821015287","loc":[-85.5904003,41.9888549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015288":{"id":"n1821015288","loc":[-85.6062146,41.9739369],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015290":{"id":"n1821015290","loc":[-85.5762596,42.0052602],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015292":{"id":"n1821015292","loc":[-85.5849715,41.9975465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015293":{"id":"n1821015293","loc":[-85.585229,42.0006241],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015294":{"id":"n1821015294","loc":[-85.5926922,41.9805946],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015295":{"id":"n1821015295","loc":[-85.5703387,42.0089133],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015299":{"id":"n1821015299","loc":[-85.5789955,42.0038611],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015301":{"id":"n1821015301","loc":[-85.6072888,41.9721918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015302":{"id":"n1821015302","loc":[-85.5356349,42.0200992],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015304":{"id":"n1821015304","loc":[-85.5891772,41.994066],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015306":{"id":"n1821015306","loc":[-85.606295,41.9744952],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015307":{"id":"n1821015307","loc":[-85.538871,42.0186583],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015308":{"id":"n1821015308","loc":[-85.587997,41.994971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015311":{"id":"n1821015311","loc":[-85.606869,41.9725809],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015312":{"id":"n1821015312","loc":[-85.5171974,42.0339943],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015314":{"id":"n1821015314","loc":[-85.5327435,42.0220479],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015315":{"id":"n1821015315","loc":[-85.5383439,42.0187282],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015316":{"id":"n1821015316","loc":[-85.5248095,42.0263119],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015318":{"id":"n1821015318","loc":[-85.5732502,42.0073051],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015319":{"id":"n1821015319","loc":[-85.5924226,41.9852663],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015321":{"id":"n1821015321","loc":[-85.5179001,42.0353052],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015322":{"id":"n1821015322","loc":[-85.5456771,42.0162413],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015323":{"id":"n1821015323","loc":[-85.5936618,41.9829096],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015325":{"id":"n1821015325","loc":[-85.5656931,42.0086582],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015326":{"id":"n1821015326","loc":[-85.5448456,42.0150975],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015327":{"id":"n1821015327","loc":[-85.5220039,42.027615],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015329":{"id":"n1821015329","loc":[-85.517884,42.0354885],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015330":{"id":"n1821015330","loc":[-85.5576666,42.0101671],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015332":{"id":"n1821015332","loc":[-85.5368754,42.0181402],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015333":{"id":"n1821015333","loc":[-85.5367078,42.0181145],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015334":{"id":"n1821015334","loc":[-85.5903909,41.9904316],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015335":{"id":"n1821015335","loc":[-85.5430767,42.0163587],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015336":{"id":"n1821015336","loc":[-85.5277492,42.0252878],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015337":{"id":"n1821015337","loc":[-85.5312146,42.0236898],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015338":{"id":"n1821015338","loc":[-85.5886568,41.991614],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015339":{"id":"n1821015339","loc":[-85.5782498,42.0040883],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015341":{"id":"n1821015341","loc":[-85.562233,42.0076457],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015342":{"id":"n1821015342","loc":[-85.588626,41.9952479],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015343":{"id":"n1821015343","loc":[-85.5762865,42.005033],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015344":{"id":"n1821015344","loc":[-85.5850841,41.9971478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015346":{"id":"n1821015346","loc":[-85.5643144,42.0076936],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015347":{"id":"n1821015347","loc":[-85.5164893,42.0359467],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015348":{"id":"n1821015348","loc":[-85.5906846,41.9903541],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015349":{"id":"n1821015349","loc":[-85.557688,42.0107769],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015350":{"id":"n1821015350","loc":[-85.5363698,42.0181424],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015351":{"id":"n1821015351","loc":[-85.5939636,41.9801918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015352":{"id":"n1821015352","loc":[-85.5524041,42.0131644],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015354":{"id":"n1821015354","loc":[-85.5308606,42.0236221],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015355":{"id":"n1821015355","loc":[-85.5877449,41.9932367],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015356":{"id":"n1821015356","loc":[-85.519885,42.0318586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015357":{"id":"n1821015357","loc":[-85.5454035,42.0168431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015358":{"id":"n1821015358","loc":[-85.5970629,41.9781881],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015359":{"id":"n1821015359","loc":[-85.5932541,41.9844767],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015360":{"id":"n1821015360","loc":[-85.5970736,41.9778252],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015361":{"id":"n1821015361","loc":[-85.537031,42.0181601],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015362":{"id":"n1821015362","loc":[-85.5548355,42.0105156],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015363":{"id":"n1821015363","loc":[-85.5168648,42.0336158],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015365":{"id":"n1821015365","loc":[-85.5870435,41.9919507],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015366":{"id":"n1821015366","loc":[-85.5719681,42.0075443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015367":{"id":"n1821015367","loc":[-85.5969985,41.9780446],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015368":{"id":"n1821015368","loc":[-85.5926761,41.98528],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015369":{"id":"n1821015369","loc":[-85.5224009,42.0293444],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015371":{"id":"n1821015371","loc":[-85.518737,42.0322651],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015372":{"id":"n1821015372","loc":[-85.6064573,41.9726465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015373":{"id":"n1821015373","loc":[-85.5201103,42.0313088],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015375":{"id":"n1821015375","loc":[-85.5378182,42.0186844],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015376":{"id":"n1821015376","loc":[-85.6109741,41.9706882],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015377":{"id":"n1821015377","loc":[-85.5993333,41.9785488],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015378":{"id":"n1821015378","loc":[-85.5889787,41.9907368],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015380":{"id":"n1821015380","loc":[-85.6060161,41.9737375],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015381":{"id":"n1821015381","loc":[-85.5743016,42.0053679],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015382":{"id":"n1821015382","loc":[-85.6014724,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015383":{"id":"n1821015383","loc":[-85.5574426,42.0091644],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015385":{"id":"n1821015385","loc":[-85.5208613,42.0309302],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015386":{"id":"n1821015386","loc":[-85.5919023,41.9837789],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015387":{"id":"n1821015387","loc":[-85.5455484,42.0160221],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015392":{"id":"n1821015392","loc":[-85.5801757,42.0028964],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015395":{"id":"n1821015395","loc":[-85.5493785,42.0139974],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015396":{"id":"n1821015396","loc":[-85.5449475,42.015488],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015398":{"id":"n1821015398","loc":[-85.611123,41.9706627],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015400":{"id":"n1821015400","loc":[-85.5935706,41.9822477],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015401":{"id":"n1821015401","loc":[-85.5724254,42.0073508],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015403":{"id":"n1821015403","loc":[-85.5486812,42.0143442],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015404":{"id":"n1821015404","loc":[-85.5161835,42.0327711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015406":{"id":"n1821015406","loc":[-85.5921705,41.9851107],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015407":{"id":"n1821015407","loc":[-85.531912,42.0234069],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015410":{"id":"n1821015410","loc":[-85.5292566,42.024176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015411":{"id":"n1821015411","loc":[-85.5845316,41.9948315],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015413":{"id":"n1821015413","loc":[-85.5217947,42.0280413],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015414":{"id":"n1821015414","loc":[-85.5527367,42.013272],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015415":{"id":"n1821015415","loc":[-85.5191179,42.0321973],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015416":{"id":"n1821015416","loc":[-85.5540241,42.0128655],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015418":{"id":"n1821015418","loc":[-85.5272892,42.0254849],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015419":{"id":"n1821015419","loc":[-85.5449744,42.016867],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015420":{"id":"n1821015420","loc":[-85.5852665,41.9986787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015421":{"id":"n1821015421","loc":[-85.6102701,41.972186],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015423":{"id":"n1821015423","loc":[-85.6026365,41.9764972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015427":{"id":"n1821015427","loc":[-85.5898692,41.9841498],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015429":{"id":"n1821015429","loc":[-85.5422546,42.0183855],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015430":{"id":"n1821015430","loc":[-85.5866505,41.9925549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015431":{"id":"n1821015431","loc":[-85.5234376,42.0273577],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015432":{"id":"n1821015432","loc":[-85.6096746,41.9727284],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015433":{"id":"n1821015433","loc":[-85.5824891,42.0021567],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015434":{"id":"n1821015434","loc":[-85.5923905,41.9841139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015435":{"id":"n1821015435","loc":[-85.5874565,41.9948014],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015437":{"id":"n1821015437","loc":[-85.6055279,41.9734423],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015438":{"id":"n1821015438","loc":[-85.5299379,42.0237376],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015439":{"id":"n1821015439","loc":[-85.5155022,42.0383651],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015442":{"id":"n1821015442","loc":[-85.527422,42.0254711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015443":{"id":"n1821015443","loc":[-85.5920699,41.9849291],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015444":{"id":"n1821015444","loc":[-85.5639711,42.0077494],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015445":{"id":"n1821015445","loc":[-85.5162586,42.0361777],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015446":{"id":"n1821015446","loc":[-85.5220039,42.029695],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015448":{"id":"n1821015448","loc":[-85.5176641,42.0356956],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015449":{"id":"n1821015449","loc":[-85.5930556,41.9841577],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015451":{"id":"n1821015451","loc":[-85.5320783,42.0228848],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015452":{"id":"n1821015452","loc":[-85.5170096,42.0357235],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015453":{"id":"n1821015453","loc":[-85.5571355,42.009613],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015454":{"id":"n1821015454","loc":[-85.5609979,42.009059],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015455":{"id":"n1821015455","loc":[-85.6097336,41.9708342],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015456":{"id":"n1821015456","loc":[-85.5884476,41.9904218],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"w170843846":{"id":"w170843846","version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{"source":"Bing","waterway":"river"},"nodes":["n1819790555","n1819790762","n1819790547","n1819790618","n1819790898","n1819790796","n1819790534","n1819790543","n1819790541","n1819790687","n1819790877","n1819790811","n1819790670"]},"w209083541":{"id":"w209083541","version":"1","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:46Z","tags":{"name":"Portage River","source":"Bing","waterway":"river"},"nodes":["n1821014848","n1821015156","n1821015439","n1821014763","n1821014824","n1821015274","n1821014764","n1821014791","n1821014957","n1821015217","n1821015445","n1821015347","n1821014893","n1821015452","n1821015017","n1821015448","n1821014968","n1821015329","n1821015321","n1821014992","n1821014948","n1821014757","n1821014983","n1821015312","n1821015363","n1821014924","n1821014873","n1821014932","n1821014668","n1821015404","n1821014716","n1821015243","n1821015265","n1821014710","n1821015371","n1821015415","n1821014870","n1821015356","n1821015373","n1821014681","n1821014714","n1821015385","n1821014911","n1821015057","n1821014867","n1821014998","n1821015142","n1821015234","n1821015446","n1821014862","n1821015369","n1821014945","n1821015003","n1821014667","n1821015413","n1821015256","n1821015327","n1821015160","n1821014907","n1821015431","n1821015172","n1821015034","n1821014741","n1821015033","n1821015239","n1821015007","n1821015316","n1821015285","n1821014633","n1821015263","n1821015069","n1821014846","n1821014779","n1821015011","n1821015012","n1821014845","n1821015418","n1821015442","n1821015266","n1821015336","n1821014755","n1821015188","n1821014925","n1821014816","n1821014869","n1821014967","n1821015286","n1821015147","n1821015410","n1821015126","n1821015438","n1821015018","n1821015354","n1821015337","n1821014766","n1821014740","n1821015228","n1821015173","n1821015407","n1821015076","n1821015451","n1821015024","n1821015314","n1821014784","n1821015045","n1821014735","n1821015205","n1821014986","n1821015240","n1821015098","n1821014825","n1821015302","n1821014918","n1821014718","n1821014896","n1821014853","n1821015194","n1821015165","n1821015213","n1821014991","n1821015350","n1821015333","n1821015332","n1821015361","n1821015060","n1821014914","n1821015375","n1821015315","n1821015307","n1821014906","n1821014751","n1821014666","n1821015218","n1821014817","n1821015118","n1821014674","n1821015038","n1821014973","n1821015429","n1821015183","n1821015046","n1821014803","n1821015140","n1821015009","n1821014749","n1821015335","n1821014711","n1821014854","n1821015278","n1821015419","n1821014648","n1821015357","n1821014637","n1821014988","n1821015322","n1821015387","n1821015042","n1821014833","n1821015396","n1821015326","n1821014691","n1821015149","n1821015204","n1821015122","n1821014782","n1821014982","n1821014921","n1821014936","n1821014969","n1821014881","n1821015403","n1821014805","n1821015395","n1821014892","n1821014826","n1821014844","n1821015107","n1821015014","n1821014955","n1821015352","n1821015414","n1821014746","n1821015209","n1821014770","n1821015416","n1821014661","n1821014857","n1821014814","n1821014754","n1821014721","n1821014727","n1821015362","n1821015029","n1821015246","n1821015189","n1821014627","n1821015269","n1821014808","n1821014962","n1821015349","n1821015041","n1821014722","n1821015330","n1821015453","n1821015067","n1821014643","n1821014802","n1821015383","n1821015151","n1821015250","n1821015245","n1821014772","n1821014899","n1821015222","n1821015121","n1821014951","n1821015176","n1821015219","n1821015454","n1821014972","n1821014917","n1821015182","n1821015166","n1821015145","n1821014910","n1821015082","n1821014678","n1821014806","n1821015141","n1821015341","n1821014788","n1821015097","n1821014995","n1821015444","n1821015346","n1821015101","n1821015129","n1821015123","n1821015132","n1821015190","n1821015146","n1821015325","n1821015191","n1821015072","n1821015100","n1821015174","n1821015238","n1821015215","n1821014700","n1821015242","n1821014841","n1821014905","n1821014874","n1821014883","n1821014729","n1821014866","n1821014828","n1821015295","n1821014931","n1821014859","n1821014912","n1821014783","n1821014752","n1821014961","n1821015366","n1821015401","n1821015169","n1821015318","n1821014996","n1821014747","n1821014963","n1821014670","n1821015186","n1821015231","n1821015157","n1821014812","n1821015381","n1821014887","n1821015138","n1821014704","n1821014787","n1821014922","n1821015290","n1821015343","n1821014651","n1821014980","n1821014960","n1821015244","n1821015236","n1821015006","n1821014694","n1821014759","n1821015207","n1821015276","n1821015065","n1821014863","n1821014660","n1821014902","n1821014645","n1821015339","n1821014871","n1821015096","n1821015299","n1821014798","n1821014638","n1821015392","n1821014835","n1821014762","n1821014642","n1821015433","n1821014786","n1821015134","n1821014855","n1821015184","n1821014850","n1821015293","n1821015233","n1821015227","n1821014876","n1821014985","n1821014843","n1821015420","n1821015197","n1821015192","n1821015292","n1821015344","n1821014742","n1821014726","n1821015237","n1821014796","n1821014908","n1821014975","n1821014769","n1821014688","n1821014860","n1821014895","n1821014676","n1821015411","n1821014736","n1821015164","n1821014647","n1821015144","n1821014919","n1821015220","n1821015254","n1821015435","n1821015308","n1821015342","n1821014830","n1821015273","n1821014658","n1821014781","n1821015087","n1821015139","n1821015304","n1821014839","n1821015048","n1821015115","n1821015355","n1821015226","n1821015177","n1821015430","n1821014965","n1821014725","n1821015365","n1821015171","n1821015073","n1821015125","n1821015338","n1821015111","n1821014950","n1821015378","n1821015258","n1821015456","n1821015106","n1821014832","n1821014888","n1821014795","n1821014872","n1821014810","n1821014705","n1821014804","n1821014820","n1821015283","n1821014938","n1821014689","n1821015259","n1821015334","n1821015348","n1821014635","n1821015179","n1821014864","n1821014890","n1821015020","n1821014898","n1821015287","n1821015120","n1821014984","n1821014743","n1821014790","n1821014765","n1821014777","n1821015095","n1821014653","n1821015135","n1821014836","n1821014964","n1821014974","n1821014636","n1821014682","n1821014663","n1821014665","n1821015109","n1821015155","n1821014930","n1821014669","n1821015004","n1821015427","n1821014916","n1821015093","n1821015086","n1821015386","n1821014799","n1821014913","n1821015434","n1821014728","n1821014900","n1821015068","n1821015039","n1821015443","n1821015406","n1821015280","n1821015319","n1821015368","n1821014774","n1821015090","n1821015175","n1821015195","n1821014687","n1821015359","n1821015449","n1821014956","n1821014838","n1821014768","n1821014698","n1821015323","n1821014756","n1821015255","n1821015400","n1821014717","n1821014868","n1821014778","n1821015214","n1821014944","n1821014697","n1821014671","n1821014928","n1821015294","n1821014822","n1821015284","n1821015351","n1821015022","n1821015133","n1821014644","n1821015010","n1821014625","n1821014657","n1821014946","n1821015099","n1821015114","n1821014629","n1821014865","n1821014997","n1821014926","n1821014933","n1821015199","n1821014819","n1821015080","n1821014692","n1821014677","n1821015358","n1821015367","n1821015360","n1821015105","n1821015247","n1821015005","n1821014809","n1821014794","n1821014761","n1821014879","n1821014801","n1821015377","n1821015059","n1821014730","n1821015050","n1821015271","n1821015143","n1821014989","n1821015019","n1821014672","n1821014649","n1821014684","n1821014703","n1821015021","n1821015382","n1821014842","n1821014720","n1821014847","n1821015104","n1821014987","n1821014886","n1821015267","n1821015221","n1821015015","n1821015423","n1821014954","n1821014903","n1821014939","n1821015212","n1821014789","n1821014712","n1821014708","n1821015078","n1821015277","n1821015249","n1821014646","n1821014793","n1821015053","n1821014707","n1821015306","n1821015112","n1821015288","n1821015380","n1821015437","n1821015178","n1821015158","n1821015272","n1821015235","n1821015163","n1821015154","n1821015253","n1821014632","n1821015372","n1821015103","n1821015311","n1821015301","n1821014885","n1821014811","n1821014977","n1821015051","n1821014942","n1821014745","n1821015432","n1821015075","n1821014664","n1821014695","n1821015116","n1821014639","n1821015421","n1821015248","n1821014758","n1821014834","n1821015083","n1821015455","n1821015241","n1821015108","n1821014713","n1821015137","n1821015055","n1821015211","n1821014904","n1821015376","n1821015398","n1821014771","n1821014840","n1821015062","n1819790554","n1819790560","n1819790767","n1819790696","n1819790706","n1819790606","n1819790607","n1819790544","n1819790779","n1819790760","n1819790926","n1819790927","n1819790647","n1819790657","n1819790649","n1819790679","n1819790915","n1819790739","n1819790549","n1819790671","n1819790686","n1819790798","n1819790791","n1819790563","n1819790720","n1819790704","n1819790795","n1819790836","n1819790622","n1819790615","n1819790654","n1819790931","n1819790595","n1819790753","n1819790612","n1819790623","n1819790564","n1819790552","n1819790645","n1819790625","n1819790605","n1819790668","n1819790731","n1819790718","n1819790781","n1819790665","n1819790659","n1819790726","n1819790642","n1819790854","n1819790697","n1819790867","n1819790833","n1819790555","n1819790774","n1819790881","n1819790530","n1819790909","n1819790891","n1819790590","n1819790738","n1819790609","n1819790528","n1819790674","n1819790583","n1819790559","n1819790863","n1819790912","n1819790685","n1819790913"]},"n185955128":{"id":"n185955128","loc":[-85.6189367,41.9519432],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185948818":{"id":"n185948818","loc":[-85.616755,41.952231],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:44Z","tags":{}},"n185978819":{"id":"n185978819","loc":[-85.616773,41.954737],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978821":{"id":"n185978821","loc":[-85.616699,41.954742],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n2138420714":{"id":"n2138420714","loc":[-85.6176304,41.9515154],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420715":{"id":"n2138420715","loc":[-85.6177355,41.9515717],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420716":{"id":"n2138420716","loc":[-85.6192901,41.951573],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420718":{"id":"n2138420718","loc":[-85.6171481,41.9513579],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420719":{"id":"n2138420719","loc":[-85.6165981,41.9519199],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420720":{"id":"n2138420720","loc":[-85.6165719,41.9519922],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420721":{"id":"n2138420721","loc":[-85.6165832,41.9520757],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420722":{"id":"n2138420722","loc":[-85.6166355,41.9521453],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420723":{"id":"n2138420723","loc":[-85.6169161,41.9522788],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420724":{"id":"n2138420724","loc":[-85.6170882,41.9522538],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420725":{"id":"n2138420725","loc":[-85.6189204,41.9514674],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420726":{"id":"n2138420726","loc":[-85.6180346,41.9514735],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420727":{"id":"n2138420727","loc":[-85.6180362,41.9515719],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420728":{"id":"n2138420728","loc":[-85.6189204,41.9515727],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420744":{"id":"n2138420744","loc":[-85.618919,41.9519571],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420745":{"id":"n2138420745","loc":[-85.6194575,41.9522374],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420746":{"id":"n2138420746","loc":[-85.6181777,41.9536179],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420747":{"id":"n2138420747","loc":[-85.6176582,41.9533658],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420748":{"id":"n2138420748","loc":[-85.6179871,41.9530242],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420749":{"id":"n2138420749","loc":[-85.618429,41.9532476],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420750":{"id":"n2138420750","loc":[-85.6185538,41.9531194],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420751":{"id":"n2138420751","loc":[-85.6180765,41.9528677],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420752":{"id":"n2138420752","loc":[-85.6180394,41.9528855],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420753":{"id":"n2138420753","loc":[-85.6193752,41.9521695],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420754":{"id":"n2138420754","loc":[-85.6181374,41.9535376],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420755":{"id":"n2138420755","loc":[-85.6179898,41.9535545],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420756":{"id":"n2138420756","loc":[-85.6177286,41.9534228],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420757":{"id":"n2138420757","loc":[-85.6181011,41.9530292],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420759":{"id":"n2138420759","loc":[-85.6185158,41.9531194],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420760":{"id":"n2138420760","loc":[-85.6191318,41.9520425],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420761":{"id":"n2138420761","loc":[-85.6182348,41.9529815],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420762":{"id":"n2138420762","loc":[-85.6184853,41.9524248],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420763":{"id":"n2138420763","loc":[-85.6186764,41.9525193],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420764":{"id":"n2138420764","loc":[-85.6189421,41.9526483],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420765":{"id":"n2138420765","loc":[-85.6182875,41.9531222],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420766":{"id":"n2138420766","loc":[-85.6179141,41.9535163],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420767":{"id":"n2138420767","loc":[-85.6178363,41.9535735],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n185948824":{"id":"n185948824","loc":[-85.6165667,41.9529715],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n2138420758":{"id":"n2138420758","loc":[-85.6184408,41.953201],"version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:47Z","tags":{}},"n2138422349":{"id":"n2138422349","loc":[-85.6175136,41.9533346],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422350":{"id":"n2138422350","loc":[-85.6171867,41.9531679],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422351":{"id":"n2138422351","loc":[-85.61722,41.9531305],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422352":{"id":"n2138422352","loc":[-85.6171889,41.9531158],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422353":{"id":"n2138422353","loc":[-85.6171733,41.9531284],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422354":{"id":"n2138422354","loc":[-85.616765,41.9529207],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422355":{"id":"n2138422355","loc":[-85.6167565,41.9529355],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422356":{"id":"n2138422356","loc":[-85.6164772,41.9527911],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422357":{"id":"n2138422357","loc":[-85.6168227,41.9524261],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422358":{"id":"n2138422358","loc":[-85.6171913,41.9526158],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422359":{"id":"n2138422359","loc":[-85.6172403,41.9525589],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422360":{"id":"n2138422360","loc":[-85.6172097,41.952542],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422361":{"id":"n2138422361","loc":[-85.6173948,41.9523512],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422362":{"id":"n2138422362","loc":[-85.6174256,41.9523678],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422363":{"id":"n2138422363","loc":[-85.6174831,41.9523086],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422364":{"id":"n2138422364","loc":[-85.6173316,41.9522289],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422365":{"id":"n2138422365","loc":[-85.6174507,41.9521024],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422366":{"id":"n2138422366","loc":[-85.6174773,41.9521155],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422367":{"id":"n2138422367","loc":[-85.6176577,41.9519232],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422368":{"id":"n2138422368","loc":[-85.6176336,41.9519105],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422369":{"id":"n2138422369","loc":[-85.617747,41.9517861],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422370":{"id":"n2138422370","loc":[-85.6182675,41.9520559],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422371":{"id":"n2138422371","loc":[-85.6182105,41.9521219],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422372":{"id":"n2138422372","loc":[-85.6183863,41.9522203],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422373":{"id":"n2138422373","loc":[-85.6180984,41.9525266],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422374":{"id":"n2138422374","loc":[-85.6179159,41.9524295],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422375":{"id":"n2138422375","loc":[-85.617854,41.9524979],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422376":{"id":"n2138422376","loc":[-85.6177686,41.9524531],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422377":{"id":"n2138422377","loc":[-85.6174716,41.9527765],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422378":{"id":"n2138422378","loc":[-85.6178545,41.9529756],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138425424":{"id":"n2138425424","loc":[-85.6171736,41.9536385],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425425":{"id":"n2138425425","loc":[-85.6180159,41.9535782],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425426":{"id":"n2138425426","loc":[-85.6181068,41.9536282],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425427":{"id":"n2138425427","loc":[-85.6180673,41.9542678],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425428":{"id":"n2138425428","loc":[-85.6178636,41.9542634],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425429":{"id":"n2138425429","loc":[-85.6176204,41.9542046],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425430":{"id":"n2138425430","loc":[-85.6174366,41.9541031],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425431":{"id":"n2138425431","loc":[-85.6172942,41.9539781],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425432":{"id":"n2138425432","loc":[-85.6172171,41.9538399],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425433":{"id":"n2138425433","loc":[-85.6168138,41.9543266],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425434":{"id":"n2138425434","loc":[-85.6167779,41.9538098],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425435":{"id":"n2138425435","loc":[-85.6165849,41.9537073],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425441":{"id":"n2138425441","loc":[-85.616458,41.9543184],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425442":{"id":"n2138425442","loc":[-85.6166428,41.954345],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425445":{"id":"n2138425445","loc":[-85.6181332,41.9514117],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425446":{"id":"n2138425446","loc":[-85.6183263,41.9514111],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425447":{"id":"n2138425447","loc":[-85.6185033,41.9514102],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425449":{"id":"n2138425449","loc":[-85.6186809,41.9514093],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425451":{"id":"n2138425451","loc":[-85.6188681,41.9514082],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138436008":{"id":"n2138436008","loc":[-85.6170474,41.9513604],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436009":{"id":"n2138436009","loc":[-85.6164937,41.9519586],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436010":{"id":"n2138436010","loc":[-85.616497,41.9520725],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436011":{"id":"n2138436011","loc":[-85.6165654,41.9521645],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436012":{"id":"n2138436012","loc":[-85.6166631,41.9522178],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436013":{"id":"n2138436013","loc":[-85.6167327,41.9522554],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436014":{"id":"n2138436014","loc":[-85.6172383,41.9525125],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138439319":{"id":"n2138439319","loc":[-85.6170432,41.9524057],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439320":{"id":"n2138439320","loc":[-85.617691,41.9517107],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439321":{"id":"n2138439321","loc":[-85.6177727,41.9516794],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439322":{"id":"n2138439322","loc":[-85.619085,41.9516811],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439323":{"id":"n2138439323","loc":[-85.6179432,41.952895],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439324":{"id":"n2138439324","loc":[-85.6180389,41.9529384],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439325":{"id":"n2138439325","loc":[-85.6176303,41.9533604],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439326":{"id":"n2138439326","loc":[-85.6175538,41.9534396],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439327":{"id":"n2138439327","loc":[-85.6173806,41.9523658],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439328":{"id":"n2138439328","loc":[-85.6171841,41.9522542],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439329":{"id":"n2138439329","loc":[-85.6172077,41.9524958],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439330":{"id":"n2138439330","loc":[-85.6171235,41.9525809],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439331":{"id":"n2138439331","loc":[-85.6180938,41.9527349],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439332":{"id":"n2138439332","loc":[-85.6177023,41.9525253],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439333":{"id":"n2138439333","loc":[-85.6175543,41.9526865],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439334":{"id":"n2138439334","loc":[-85.6179589,41.9528783],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n185948820":{"id":"n185948820","loc":[-85.6163249,41.952701],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185948822":{"id":"n185948822","loc":[-85.6163757,41.952855],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185955123":{"id":"n185955123","loc":[-85.6198103,41.9510408],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185958839":{"id":"n185958839","loc":[-85.611651,41.954761],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185965033":{"id":"n185965033","loc":[-85.614195,41.954754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185976502":{"id":"n185976502","loc":[-85.617375,41.947559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:32Z","tags":{}},"n185976504":{"id":"n185976504","loc":[-85.6174164,41.9510804],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185978828":{"id":"n185978828","loc":[-85.613542,41.954756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:36Z","tags":{}},"n185978830":{"id":"n185978830","loc":[-85.610373,41.954774],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:36Z","tags":{}},"n2138420713":{"id":"n2138420713","loc":[-85.6174641,41.9506942],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:11Z","tags":{}},"n2138420717":{"id":"n2138420717","loc":[-85.6173027,41.9512895],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420768":{"id":"n2138420768","loc":[-85.61745,41.9501974],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420773":{"id":"n2138420773","loc":[-85.6174135,41.9489136],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138425436":{"id":"n2138425436","loc":[-85.6159148,41.9538036],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425437":{"id":"n2138425437","loc":[-85.6159534,41.9539677],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425438":{"id":"n2138425438","loc":[-85.6160306,41.9540846],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425439":{"id":"n2138425439","loc":[-85.6161354,41.954181],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425440":{"id":"n2138425440","loc":[-85.6162733,41.954263],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425443":{"id":"n2138425443","loc":[-85.6183273,41.9510826],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425444":{"id":"n2138425444","loc":[-85.6181354,41.9510835],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425448":{"id":"n2138425448","loc":[-85.6185033,41.9510816],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425450":{"id":"n2138425450","loc":[-85.6186816,41.9510808],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425452":{"id":"n2138425452","loc":[-85.6188641,41.9510818],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138435984":{"id":"n2138435984","loc":[-85.6167607,41.9501009],"version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:47Z","tags":{}},"n2138436000":{"id":"n2138436000","loc":[-85.6173169,41.947558],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436001":{"id":"n2138436001","loc":[-85.6173362,41.948883],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436002":{"id":"n2138436002","loc":[-85.6167791,41.9492952],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436003":{"id":"n2138436003","loc":[-85.6167543,41.949349],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436004":{"id":"n2138436004","loc":[-85.6167648,41.9509125],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436005":{"id":"n2138436005","loc":[-85.6168832,41.9510412],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436006":{"id":"n2138436006","loc":[-85.6170045,41.9511417],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436007":{"id":"n2138436007","loc":[-85.6170624,41.9512483],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436017":{"id":"n2138436017","loc":[-85.6168094,41.9492729],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436021":{"id":"n2138436021","loc":[-85.6167553,41.9494886],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436023":{"id":"n2138436023","loc":[-85.6167585,41.9499707],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436025":{"id":"n2138436025","loc":[-85.6167567,41.9497018],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"w203838284":{"id":"w203838284","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425424","n2138425425","n2138425426","n2138425427","n2138425428","n2138425429","n2138425430","n2138425431","n2138425432","n2138425424"]},"w203837928":{"id":"w203837928","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"highway":"service"},"nodes":["n2138420717","n2138420718","n2138420719","n2138420720","n2138420721","n2138420722","n185948818","n2138420723","n2138420724","n2138420715"]},"w203839364":{"id":"w203839364","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439331","n2138439332"]},"w203837932":{"id":"w203837932","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420744","n2138420745","n2138420746","n2138420747","n2138420748","n2138420749","n2138420750","n2138420751","n2138420744"]},"w203839362":{"id":"w203839362","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439327","n2138439328"]},"w203839363":{"id":"w203839363","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439329","n2138439330"]},"w203837933":{"id":"w203837933","version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:42Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n185955128","n2138420760","n2138420753","n2138420764","n2138420759","n2138420758","n2138420754","n2138420755","n2138420766","n2138420756"]},"w203837936":{"id":"w203837936","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420765","n2138420766"]},"w17966364":{"id":"w17966364","version":"2","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"access":"private","highway":"service","name":"Collins Dr","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Collins","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313686","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185961362","n185976502","n2138420773","n2138420768","n2138420713","n185976504","n2138420717","n2138420714","n2138420715","n2138420727","n2138420728","n2138420716"]},"w203838040":{"id":"w203838040","version":"3","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:19Z","tags":{"amenity":"school","area":"yes","building":"yes","name":"Three Rivers Middle School"},"nodes":["n2138422349","n2138422350","n2138422351","n2138422352","n2138422353","n2138422354","n2138422355","n2138422356","n2138422357","n2138439330","n2138422358","n2138422359","n2138422360","n2138436014","n2138439327","n2138422361","n2138422362","n2138422363","n2138422364","n2138422365","n2138422366","n2138422367","n2138422368","n2138422369","n2138422370","n2138422371","n2138422372","n2138422373","n2138422374","n2138422375","n2138422376","n2138439332","n2138439333","n2138422377","n2138422378","n2138422349"]},"w17964049":{"id":"w17964049","version":"3","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:46Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335181","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955120","n185955123","n2138420716","n185955128","n2138420762","n2138420752","n2138420761","n2138420759"]},"w41074899":{"id":"w41074899","version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"highway":"secondary","name":"E Hoffman St","ref":"M 60","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978817","n185978819","n185978821","n185965033","n185978828","n185958839","n185978830"]},"w203839365":{"id":"w203839365","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439333","n2138439334"]},"w203837935":{"id":"w203837935","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420762","n2138420763","n2138420764"]},"w203838287":{"id":"w203838287","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425446","n2138425447","n2138425448","n2138425443","n2138425446"]},"w203837934":{"id":"w203837934","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420760","n2138420763","n2138420761"]},"w203838289":{"id":"w203838289","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425449","n2138425451","n2138425452","n2138425450","n2138425449"]},"w17963047":{"id":"w17963047","version":"4","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:19Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331535","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185948818","n2138436013","n185948820","n185948822","n185948824","n2138439326","n2138420767","n2138420766"]},"w203839091":{"id":"w203839091","version":"3","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:44Z","tags":{"highway":"footway"},"nodes":["n185976502","n2138436000","n2138436001","n2138436017","n2138436002","n2138436003","n2138436021","n2138436025","n2138436023","n2138435984","n2138436004","n2138436005","n2138436006","n2138436007","n2138436008","n2138436009","n2138436010","n2138436011","n2138436012","n2138436013","n2138439319","n2138439329","n2138436014"]},"w204830797":{"id":"w204830797","version":"1","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:37Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420756","n2138420757","n2138420765","n2138420758"]},"w203838288":{"id":"w203838288","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425447","n2138425449","n2138425450","n2138425448","n2138425447"]},"w203838285":{"id":"w203838285","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425433","n2138425434","n2138425435","n2138425436","n2138425437","n2138425438","n2138425439","n2138425440","n2138425441","n2138425442","n2138425433"]},"w203838286":{"id":"w203838286","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425443","n2138425444","n2138425445","n2138425446","n2138425443"]},"w203837929":{"id":"w203837929","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420725","n2138420726","n2138420727","n2138420728","n2138420725"]},"w203839361":{"id":"w203839361","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439319","n2138439328","n2138439320","n2138439321","n2138439322","n2138439331","n2138439334","n2138439323","n2138439324","n2138439325","n2138439326"]},"n394381698":{"id":"n394381698","loc":[-85.614471,41.954755],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381699":{"id":"n394381699","loc":[-85.6152,41.954744],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381700":{"id":"n394381700","loc":[-85.615201,41.954081],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381701":{"id":"n394381701","loc":[-85.614426,41.954042],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381702":{"id":"n394381702","loc":[-85.616319,41.954749],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381704":{"id":"n394381704","loc":[-85.616152,41.954752],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381706":{"id":"n394381706","loc":[-85.615201,41.95483],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394490775":{"id":"n394490775","loc":[-85.613971,41.954839],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490782":{"id":"n394490782","loc":[-85.614372,41.954841],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n185958835":{"id":"n185958835","loc":[-85.611615,41.953704],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958837":{"id":"n185958837","loc":[-85.611636,41.953938],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958842":{"id":"n185958842","loc":[-85.611187,41.951686],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958844":{"id":"n185958844","loc":[-85.611087,41.951741],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958845":{"id":"n185958845","loc":[-85.611034,41.951852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958847":{"id":"n185958847","loc":[-85.611016,41.95196],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958849":{"id":"n185958849","loc":[-85.610989,41.95328],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958851":{"id":"n185958851","loc":[-85.611021,41.953484],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958852":{"id":"n185958852","loc":[-85.611091,41.953603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958853":{"id":"n185958853","loc":[-85.6112,41.953661],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958855":{"id":"n185958855","loc":[-85.611364,41.953686],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185965031":{"id":"n185965031","loc":[-85.614204,41.953696],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965032":{"id":"n185965032","loc":[-85.6142,41.953978],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965062":{"id":"n185965062","loc":[-85.614617,41.951639],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965064":{"id":"n185965064","loc":[-85.61463,41.951852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965066":{"id":"n185965066","loc":[-85.614642,41.953436],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965068":{"id":"n185965068","loc":[-85.6146,41.953551],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965071":{"id":"n185965071","loc":[-85.614487,41.95363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965073":{"id":"n185965073","loc":[-85.614354,41.953672],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185966288":{"id":"n185966288","loc":[-85.61179,41.953695],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966290":{"id":"n185966290","loc":[-85.612232,41.953685],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966293":{"id":"n185966293","loc":[-85.613438,41.953677],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966349":{"id":"n185966349","loc":[-85.611323,41.951653],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966351":{"id":"n185966351","loc":[-85.611892,41.951642],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966352":{"id":"n185966352","loc":[-85.612216,41.951641],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966353":{"id":"n185966353","loc":[-85.613111,41.951639],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966354":{"id":"n185966354","loc":[-85.613396,41.95164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966355":{"id":"n185966355","loc":[-85.614221,41.95164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185973839":{"id":"n185973839","loc":[-85.61341,41.951919],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185973840":{"id":"n185973840","loc":[-85.613438,41.953308],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185980222":{"id":"n185980222","loc":[-85.613781,41.955164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980223":{"id":"n185980223","loc":[-85.613815,41.955237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980225":{"id":"n185980225","loc":[-85.613837,41.955316],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185990345":{"id":"n185990345","loc":[-85.612211,41.951977],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:15:01Z","tags":{}},"n185955743":{"id":"n185955743","loc":[-85.613873,41.95635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185980227":{"id":"n185980227","loc":[-85.613851,41.955415],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980229":{"id":"n185980229","loc":[-85.613918,41.957134],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n394381703":{"id":"n394381703","loc":[-85.616287,41.955674],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381705":{"id":"n394381705","loc":[-85.615164,41.955676],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394490777":{"id":"n394490777","loc":[-85.613973,41.955979],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490780":{"id":"n394490780","loc":[-85.614364,41.955987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"w17965307":{"id":"w17965307","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:58Z","tags":{"highway":"residential","name":"Bates Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bates","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313640:15313641","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958842","n185966349","n185966351","n185966352","n185966353","n185966354","n185966355","n185965062"]},"w17967957":{"id":"w17967957","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:55:16Z","tags":{"highway":"residential","name":"Krum Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Krum","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313643","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966352","n185990345","n185966290"]},"w17964508":{"id":"w17964508","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:11Z","tags":{"highway":"residential","name":"Blossom Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Blossom","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15324628","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958842","n185958844","n185958845","n185958847","n185958849","n185958851","n185958852","n185958853","n185958855","n185958835"]},"w17964507":{"id":"w17964507","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:10Z","tags":{"highway":"residential","name":"Blossom Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Blossom","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313629","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958835","n185958837","n185958839"]},"w34367080":{"id":"w34367080","version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394381699","n394381706","n394381705","n394381703","n394381702","n394381704","n394381699"]},"w17965302":{"id":"w17965302","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:55Z","tags":{"highway":"residential","name":"Clausen Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Clausen","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313630:15313631:15313632","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958835","n185966288","n185966290","n185966293","n185965031"]},"w17965156":{"id":"w17965156","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:54Z","tags":{"highway":"residential","name":"Orchard Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Orchard","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15327962","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965062","n185965064","n185965066","n185965068","n185965071","n185965073","n185965031"]},"w34369812":{"id":"w34369812","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490775","n394490777","n394490780","n394490782","n394490775"]},"w17965151":{"id":"w17965151","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:52Z","tags":{"highway":"residential","name":"Orchard Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Orchard","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313628","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965031","n185965032","n185965033"]},"w17966756":{"id":"w17966756","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:47:10Z","tags":{"access":"private","highway":"service","name":"Lockport Dr","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Lockport","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313621:15314402","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978828","n185980222","n185980223","n185980225","n185980227","n185955743","n185980229"]},"w17966056":{"id":"w17966056","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:57Z","tags":{"highway":"residential","name":"Angell Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Angell","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313639","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966354","n185973839","n185973840","n185966293"]},"w34367079":{"id":"w34367079","version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394381700","n394381701","n394381698","n394381699","n394381700"]},"n185955744":{"id":"n185955744","loc":[-85.611753,41.956208],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185988932":{"id":"n185988932","loc":[-85.6159,41.956336],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185988934":{"id":"n185988934","loc":[-85.6159158,41.9590646],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185988935":{"id":"n185988935","loc":[-85.6157358,41.959364],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{"highway":"turning_circle","source":"Bing"}},"n2138447007":{"id":"n2138447007","loc":[-85.6130784,41.9590689],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447008":{"id":"n2138447008","loc":[-85.6133328,41.9593805],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447003":{"id":"n2138447003","loc":[-85.610238,41.9547745],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447004":{"id":"n2138447004","loc":[-85.6102652,41.9566041],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447005":{"id":"n2138447005","loc":[-85.610325,41.9568823],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447006":{"id":"n2138447006","loc":[-85.6105644,41.9571383],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447009":{"id":"n2138447009","loc":[-85.6135946,41.959948],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447010":{"id":"n2138447010","loc":[-85.6136071,41.9629372],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447011":{"id":"n2138447011","loc":[-85.6134392,41.9633182],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447012":{"id":"n2138447012","loc":[-85.6130151,41.9636073],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447013":{"id":"n2138447013","loc":[-85.6122729,41.9637125],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447014":{"id":"n2138447014","loc":[-85.6056682,41.963752],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"w17964174":{"id":"w17964174","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:27:41Z","tags":{"access":"private","highway":"service","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314401","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955743","n185955744"]},"w17967743":{"id":"w17967743","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:06Z","tags":{"access":"private","highway":"service","name":"Manistee River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Manistee River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326121:15326126:15326127:15326116","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971574","n185988932","n185971407","n185981301","n185967987","n185988934","n185988935"]},"w203839666":{"id":"w203839666","version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{"highway":"residential","name":"Hov Aire Drive"},"nodes":["n2138447003","n2138447004","n2138447005","n2138447006","n2138447007","n2138447008","n2138447009","n2138447010","n2138447011","n2138447012","n2138447013","n2138447014"]}}';iD.data = {
-    "deprecated": [
-        {
-            "old": {
-                "amenity": "firepit"
-            },
-            "replace": {
-                "leisure": "firepit"
-            }
-        },
-        {
-            "old": {
-                "barrier": "wire_fence"
-            },
-            "replace": {
-                "barrier": "fence",
-                "fence_type": "chain"
-            }
-        },
-        {
-            "old": {
-                "barrier": "wood_fence"
-            },
-            "replace": {
-                "barrier": "fence",
-                "fence_type": "wood"
-            }
-        },
-        {
-            "old": {
-                "highway": "ford"
-            },
-            "replace": {
-                "ford": "yes"
-            }
-        },
-        {
-            "old": {
-                "highway": "stile"
-            },
-            "replace": {
-                "barrier": "stile"
-            }
-        },
-        {
-            "old": {
-                "highway": "incline"
-            },
-            "replace": {
-                "highway": "road",
-                "incline": "up"
-            }
-        },
-        {
-            "old": {
-                "highway": "incline_steep"
-            },
-            "replace": {
-                "highway": "road",
-                "incline": "up"
-            }
-        },
-        {
-            "old": {
-                "highway": "unsurfaced"
-            },
-            "replace": {
-                "highway": "road",
-                "incline": "unpaved"
-            }
-        },
-        {
-            "old": {
-                "landuse": "wood"
-            },
-            "replace": {
-                "landuse": "forest",
-                "natural": "wood"
-            }
-        },
-        {
-            "old": {
-                "natural": "marsh"
-            },
-            "replace": {
-                "natural": "wetland",
-                "wetland": "marsh"
-            }
-        },
-        {
-            "old": {
-                "power_source": "*"
-            },
-            "replace": {
-                "generator:source": "$1"
-            }
-        },
-        {
-            "old": {
-                "power_rating": "*"
-            },
-            "replace": {
-                "generator:output": "$1"
-            }
-        },
-        {
-            "old": {
-                "shop": "organic"
-            },
-            "replace": {
-                "shop": "supermarket",
-                "organic": "only"
-            }
-        }
-    ],
-    "discarded": [
-        "created_by",
-        "odbl",
-        "odbl:note",
-        "tiger:upload_uuid",
-        "tiger:tlid",
-        "tiger:source",
-        "tiger:separated",
-        "geobase:datasetName",
-        "geobase:uuid",
-        "sub_sea:type",
-        "KSJ2:ADS",
-        "KSJ2:ARE",
-        "KSJ2:AdminArea",
-        "KSJ2:COP_label",
-        "KSJ2:DFD",
-        "KSJ2:INT",
-        "KSJ2:INT_label",
-        "KSJ2:LOC",
-        "KSJ2:LPN",
-        "KSJ2:OPC",
-        "KSJ2:PubFacAdmin",
-        "KSJ2:RAC",
-        "KSJ2:RAC_label",
-        "KSJ2:RIC",
-        "KSJ2:RIN",
-        "KSJ2:WSC",
-        "KSJ2:coordinate",
-        "KSJ2:curve_id",
-        "KSJ2:curve_type",
-        "KSJ2:filename",
-        "KSJ2:lake_id",
-        "KSJ2:lat",
-        "KSJ2:long",
-        "KSJ2:river_id",
-        "yh:LINE_NAME",
-        "yh:LINE_NUM",
-        "yh:STRUCTURE",
-        "yh:TOTYUMONO",
-        "yh:TYPE",
-        "yh:WIDTH_RANK",
-        "SK53_bulk:load"
-    ],
-    "imagery": [
-        {
-            "name": "7th Series (OS7)",
-            "type": "tms",
-            "template": "http://ooc.openstreetmap.org/os7/{zoom}/{x}/{y}.jpg",
-            "polygon": [
-                [
-                    [
-                        -9,
-                        49.8
-                    ],
-                    [
-                        -9,
-                        61.1
-                    ],
-                    [
-                        1.9,
-                        61.1
-                    ],
-                    [
-                        1.9,
-                        49.8
-                    ],
-                    [
-                        -9,
-                        49.8
-                    ]
-                ]
-            ]
-        },
-        {
-            "name": "AGRI black-and-white 2.5m",
-            "type": "tms",
-            "template": "http://agri.openstreetmap.org/{zoom}/{x}/{y}.png",
-            "polygon": [
-                [
-                    [
-                        112.28778,
-                        -28.784589
-                    ],
-                    [
-                        112.71488,
-                        -31.13894
-                    ],
-                    [
-                        114.11263,
-                        -34.178287
-                    ],
-                    [
-                        113.60788,
-                        -37.39012
-                    ],
-                    [
-                        117.17992,
-                        -37.451794
-                    ],
-                    [
-                        119.31538,
-                        -37.42096
-                    ],
-                    [
-                        121.72262,
-                        -36.708394
-                    ],
-                    [
-                        123.81925,
-                        -35.76893
-                    ],
-                    [
-                        125.9547,
-                        -34.3066
-                    ],
-                    [
-                        127.97368,
-                        -33.727398
-                    ],
-                    [
-                        130.07031,
-                        -33.24166
-                    ],
-                    [
-                        130.10913,
-                        -33.888704
-                    ],
-                    [
-                        131.00214,
-                        -34.049705
-                    ],
-                    [
-                        131.0798,
-                        -34.72257
-                    ],
-                    [
-                        132.28342,
-                        -35.39
-                    ],
-                    [
-                        134.18591,
-                        -35.61126
-                    ],
-                    [
-                        133.8753,
-                        -37.1119
-                    ],
-                    [
-                        134.8459,
-                        -37.6365
-                    ],
-                    [
-                        139.7769,
-                        -37.82075
-                    ],
-                    [
-                        139.93223,
-                        -39.4283
-                    ],
-                    [
-                        141.6017,
-                        -39.8767
-                    ],
-                    [
-                        142.3783,
-                        -39.368294
-                    ],
-                    [
-                        142.3783,
-                        -40.64702
-                    ],
-                    [
-                        142.49478,
-                        -42.074874
-                    ],
-                    [
-                        144.009,
-                        -44.060127
-                    ],
-                    [
-                        147.23161,
-                        -44.03222
-                    ],
-                    [
-                        149.05645,
-                        -42.534313
-                    ],
-                    [
-                        149.52237,
-                        -40.99959
-                    ],
-                    [
-                        149.9494,
-                        -40.852921
-                    ],
-                    [
-                        150.8036,
-                        -38.09627
-                    ],
-                    [
-                        151.81313,
-                        -38.12682
-                    ],
-                    [
-                        156.20052,
-                        -22.667706
-                    ],
-                    [
-                        156.20052,
-                        -20.10109
-                    ],
-                    [
-                        156.62761,
-                        -17.417627
-                    ],
-                    [
-                        155.26869,
-                        -17.19521
-                    ],
-                    [
-                        154.14272,
-                        -19.51662
-                    ],
-                    [
-                        153.5215,
-                        -18.34139
-                    ],
-                    [
-                        153.05558,
-                        -16.5636
-                    ],
-                    [
-                        152.78379,
-                        -15.256768
-                    ],
-                    [
-                        152.27905,
-                        -13.4135
-                    ],
-                    [
-                        151.3472,
-                        -12.391767
-                    ],
-                    [
-                        149.48354,
-                        -12.05024
-                    ],
-                    [
-                        146.9598,
-                        -9.992408
-                    ],
-                    [
-                        135.9719,
-                        -9.992408
-                    ],
-                    [
-                        130.3032,
-                        -10.33636
-                    ],
-                    [
-                        128.09016,
-                        -12.164136
-                    ],
-                    [
-                        125.91588,
-                        -12.315912
-                    ],
-                    [
-                        124.3239,
-                        -11.860326
-                    ],
-                    [
-                        122.03323,
-                        -11.974295
-                    ],
-                    [
-                        118.26706,
-                        -16.9353
-                    ],
-                    [
-                        115.93747,
-                        -19.11357
-                    ],
-                    [
-                        114.0738,
-                        -21.11863
-                    ],
-                    [
-                        113.49141,
-                        -22.596033
-                    ],
-                    [
-                        112.28778,
-                        -28.784589
-                    ]
-                ]
-            ],
-            "terms_text": "AGRI"
-        },
-        {
-            "name": "Bing aerial imagery",
-            "type": "bing",
-            "description": "Satellite and aerial imagery.",
-            "template": "http://www.bing.com/maps/",
-            "scaleExtent": [
-                0,
-                22
-            ],
-            "id": "Bing",
-            "default": true
-        },
-        {
-            "name": "British Columbia Mosaic",
-            "type": "tms",
-            "template": "http://{switch:a,b,c,d}.imagery.paulnorman.ca/tiles/bc_mosaic/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                9,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -123.3176032,
-                        49.3272567
-                    ],
-                    [
-                        -123.4405258,
-                        49.3268222
-                    ],
-                    [
-                        -123.440717,
-                        49.3384429
-                    ],
-                    [
-                        -123.4398375,
-                        49.3430357
-                    ],
-                    [
-                        -123.4401258,
-                        49.3435398
-                    ],
-                    [
-                        -123.4401106,
-                        49.3439946
-                    ],
-                    [
-                        -123.4406265,
-                        49.3444493
-                    ],
-                    [
-                        -123.4404747,
-                        49.3455762
-                    ],
-                    [
-                        -123.4397768,
-                        49.3460606
-                    ],
-                    [
-                        -123.4389726,
-                        49.3461298
-                    ],
-                    [
-                        -123.4372904,
-                        49.3567236
-                    ],
-                    [
-                        -123.4374774,
-                        49.3710843
-                    ],
-                    [
-                        -123.4335292,
-                        49.3709446
-                    ],
-                    [
-                        -123.4330357,
-                        49.373725
-                    ],
-                    [
-                        -123.4332717,
-                        49.3751221
-                    ],
-                    [
-                        -123.4322847,
-                        49.3761001
-                    ],
-                    [
-                        -123.4317482,
-                        49.3791736
-                    ],
-                    [
-                        -123.4314264,
-                        49.3795927
-                    ],
-                    [
-                        -123.4307826,
-                        49.3823866
-                    ],
-                    [
-                        -123.4313405,
-                        49.3827358
-                    ],
-                    [
-                        -123.4312118,
-                        49.3838533
-                    ],
-                    [
-                        -123.4300415,
-                        49.3845883
-                    ],
-                    [
-                        -123.4189858,
-                        49.3847087
-                    ],
-                    [
-                        -123.4192235,
-                        49.4135198
-                    ],
-                    [
-                        -123.3972532,
-                        49.4135691
-                    ],
-                    [
-                        -123.3972758,
-                        49.4243473
-                    ],
-                    [
-                        -123.4006929,
-                        49.4243314
-                    ],
-                    [
-                        -123.4007741,
-                        49.5703491
-                    ],
-                    [
-                        -123.4000812,
-                        49.570345
-                    ],
-                    [
-                        -123.4010761,
-                        49.5933838
-                    ],
-                    [
-                        -123.3760399,
-                        49.5932848
-                    ],
-                    [
-                        -123.3769811,
-                        49.6756063
-                    ],
-                    [
-                        -123.3507288,
-                        49.6756396
-                    ],
-                    [
-                        -123.3507969,
-                        49.7086751
-                    ],
-                    [
-                        -123.332887,
-                        49.708722
-                    ],
-                    [
-                        -123.3327888,
-                        49.7256288
-                    ],
-                    [
-                        -123.3007111,
-                        49.7255625
-                    ],
-                    [
-                        -123.3009164,
-                        49.7375384
-                    ],
-                    [
-                        -123.2885986,
-                        49.737638
-                    ],
-                    [
-                        -123.2887823,
-                        49.8249207
-                    ],
-                    [
-                        -123.2997955,
-                        49.8249207
-                    ],
-                    [
-                        -123.3011721,
-                        49.8497814
-                    ],
-                    [
-                        -123.3218218,
-                        49.850669
-                    ],
-                    [
-                        -123.3273284,
-                        49.8577696
-                    ],
-                    [
-                        -123.3276726,
-                        49.9758852
-                    ],
-                    [
-                        -123.3008279,
-                        49.9752212
-                    ],
-                    [
-                        -123.3007204,
-                        50.0997002
-                    ],
-                    [
-                        -123.2501716,
-                        50.100735
-                    ],
-                    [
-                        -123.25091,
-                        50.2754901
-                    ],
-                    [
-                        -123.0224338,
-                        50.2755598
-                    ],
-                    [
-                        -123.0224879,
-                        50.3254853
-                    ],
-                    [
-                        -123.0009318,
-                        50.3254689
-                    ],
-                    [
-                        -123.0007778,
-                        50.3423899
-                    ],
-                    [
-                        -122.9775023,
-                        50.3423408
-                    ],
-                    [
-                        -122.9774766,
-                        50.3504306
-                    ],
-                    [
-                        -122.9508137,
-                        50.3504961
-                    ],
-                    [
-                        -122.950795,
-                        50.3711984
-                    ],
-                    [
-                        -122.9325221,
-                        50.3711521
-                    ],
-                    [
-                        -122.9321048,
-                        50.399793
-                    ],
-                    [
-                        -122.8874234,
-                        50.3999748
-                    ],
-                    [
-                        -122.8873385,
-                        50.4256108
-                    ],
-                    [
-                        -122.6620152,
-                        50.4256959
-                    ],
-                    [
-                        -122.6623083,
-                        50.3994506
-                    ],
-                    [
-                        -122.5990316,
-                        50.3992413
-                    ],
-                    [
-                        -122.5988274,
-                        50.3755206
-                    ],
-                    [
-                        -122.5724832,
-                        50.3753706
-                    ],
-                    [
-                        -122.5735621,
-                        50.2493891
-                    ],
-                    [
-                        -122.5990415,
-                        50.2494643
-                    ],
-                    [
-                        -122.5991504,
-                        50.2265663
-                    ],
-                    [
-                        -122.6185016,
-                        50.2266359
-                    ],
-                    [
-                        -122.6185741,
-                        50.2244081
-                    ],
-                    [
-                        -122.6490609,
-                        50.2245126
-                    ],
-                    [
-                        -122.6492181,
-                        50.1993528
-                    ],
-                    [
-                        -122.7308575,
-                        50.1993758
-                    ],
-                    [
-                        -122.7311583,
-                        50.1244287
-                    ],
-                    [
-                        -122.7490352,
-                        50.1245109
-                    ],
-                    [
-                        -122.7490541,
-                        50.0903032
-                    ],
-                    [
-                        -122.7687806,
-                        50.0903435
-                    ],
-                    [
-                        -122.7689801,
-                        49.9494546
-                    ],
-                    [
-                        -122.999047,
-                        49.9494706
-                    ],
-                    [
-                        -122.9991199,
-                        49.8754553
-                    ],
-                    [
-                        -122.9775894,
-                        49.8754553
-                    ],
-                    [
-                        -122.9778145,
-                        49.6995098
-                    ],
-                    [
-                        -122.9992362,
-                        49.6994781
-                    ],
-                    [
-                        -122.9992524,
-                        49.6516526
-                    ],
-                    [
-                        -123.0221525,
-                        49.6516526
-                    ],
-                    [
-                        -123.0221162,
-                        49.5995096
-                    ],
-                    [
-                        -123.0491898,
-                        49.5994625
-                    ],
-                    [
-                        -123.0491898,
-                        49.5940523
-                    ],
-                    [
-                        -123.0664647,
-                        49.5940405
-                    ],
-                    [
-                        -123.0663594,
-                        49.5451868
-                    ],
-                    [
-                        -123.0699906,
-                        49.5451202
-                    ],
-                    [
-                        -123.0699008,
-                        49.5413153
-                    ],
-                    [
-                        -123.0706835,
-                        49.5392837
-                    ],
-                    [
-                        -123.0708888,
-                        49.5379931
-                    ],
-                    [
-                        -123.0711454,
-                        49.5368773
-                    ],
-                    [
-                        -123.0711069,
-                        49.5358115
-                    ],
-                    [
-                        -123.0713764,
-                        49.532822
-                    ],
-                    [
-                        -123.0716458,
-                        49.5321141
-                    ],
-                    [
-                        -123.07171,
-                        49.5313896
-                    ],
-                    [
-                        -123.0720308,
-                        49.5304153
-                    ],
-                    [
-                        -123.0739554,
-                        49.5303486
-                    ],
-                    [
-                        -123.0748023,
-                        49.5294992
-                    ],
-                    [
-                        -123.0748151,
-                        49.5288079
-                    ],
-                    [
-                        -123.0743403,
-                        49.5280584
-                    ],
-                    [
-                        -123.073532,
-                        49.5274588
-                    ],
-                    [
-                        -123.0733652,
-                        49.5270423
-                    ],
-                    [
-                        -123.0732882,
-                        49.5255932
-                    ],
-                    [
-                        -123.0737116,
-                        49.5249602
-                    ],
-                    [
-                        -123.0736218,
-                        49.5244938
-                    ],
-                    [
-                        -123.0992583,
-                        49.5244854
-                    ],
-                    [
-                        -123.0991649,
-                        49.4754502
-                    ],
-                    [
-                        -123.071052,
-                        49.4755252
-                    ],
-                    [
-                        -123.071088,
-                        49.4663034
-                    ],
-                    [
-                        -123.0739204,
-                        49.4663054
-                    ],
-                    [
-                        -123.07422,
-                        49.4505028
-                    ],
-                    [
-                        -123.0746319,
-                        49.4500858
-                    ],
-                    [
-                        -123.074651,
-                        49.449329
-                    ],
-                    [
-                        -123.0745999,
-                        49.449018
-                    ],
-                    [
-                        -123.0744619,
-                        49.4486927
-                    ],
-                    [
-                        -123.0743336,
-                        49.4479899
-                    ],
-                    [
-                        -123.0742427,
-                        49.4477688
-                    ],
-                    [
-                        -123.0743061,
-                        49.4447473
-                    ],
-                    [
-                        -123.0747103,
-                        49.4447556
-                    ],
-                    [
-                        -123.0746384,
-                        49.4377306
-                    ],
-                    [
-                        -122.9996506,
-                        49.4377363
-                    ],
-                    [
-                        -122.9996506,
-                        49.4369214
-                    ],
-                    [
-                        -122.8606163,
-                        49.4415314
-                    ],
-                    [
-                        -122.8102616,
-                        49.4423972
-                    ],
-                    [
-                        -122.8098984,
-                        49.3766739
-                    ],
-                    [
-                        -122.4036093,
-                        49.3766617
-                    ],
-                    [
-                        -122.4036341,
-                        49.3771944
-                    ],
-                    [
-                        -122.264739,
-                        49.3773028
-                    ],
-                    [
-                        -122.263542,
-                        49.2360088
-                    ],
-                    [
-                        -122.2155742,
-                        49.236139
-                    ],
-                    [
-                        -122.0580956,
-                        49.235878
-                    ],
-                    [
-                        -121.9538274,
-                        49.2966525
-                    ],
-                    [
-                        -121.9400911,
-                        49.3045389
-                    ],
-                    [
-                        -121.9235761,
-                        49.3142257
-                    ],
-                    [
-                        -121.8990871,
-                        49.3225436
-                    ],
-                    [
-                        -121.8883447,
-                        49.3259752
-                    ],
-                    [
-                        -121.8552982,
-                        49.3363575
-                    ],
-                    [
-                        -121.832697,
-                        49.3441519
-                    ],
-                    [
-                        -121.7671336,
-                        49.3654361
-                    ],
-                    [
-                        -121.6736683,
-                        49.3654589
-                    ],
-                    [
-                        -121.6404153,
-                        49.3743775
-                    ],
-                    [
-                        -121.5961976,
-                        49.3860493
-                    ],
-                    [
-                        -121.5861178,
-                        49.3879193
-                    ],
-                    [
-                        -121.5213684,
-                        49.3994649
-                    ],
-                    [
-                        -121.5117375,
-                        49.4038378
-                    ],
-                    [
-                        -121.4679302,
-                        49.4229024
-                    ],
-                    [
-                        -121.4416803,
-                        49.4345607
-                    ],
-                    [
-                        -121.422429,
-                        49.4345788
-                    ],
-                    [
-                        -121.3462885,
-                        49.3932312
-                    ],
-                    [
-                        -121.3480144,
-                        49.3412388
-                    ],
-                    [
-                        -121.5135035,
-                        49.320577
-                    ],
-                    [
-                        -121.6031683,
-                        49.2771727
-                    ],
-                    [
-                        -121.6584065,
-                        49.1856125
-                    ],
-                    [
-                        -121.679953,
-                        49.1654109
-                    ],
-                    [
-                        -121.7815793,
-                        49.0702559
-                    ],
-                    [
-                        -121.8076228,
-                        49.0622471
-                    ],
-                    [
-                        -121.9393997,
-                        49.0636219
-                    ],
-                    [
-                        -121.9725524,
-                        49.0424179
-                    ],
-                    [
-                        -121.9921394,
-                        49.0332869
-                    ],
-                    [
-                        -122.0035289,
-                        49.0273413
-                    ],
-                    [
-                        -122.0178564,
-                        49.0241067
-                    ],
-                    [
-                        -122.1108634,
-                        48.9992786
-                    ],
-                    [
-                        -122.1493067,
-                        48.9995305
-                    ],
-                    [
-                        -122.1492705,
-                        48.9991498
-                    ],
-                    [
-                        -122.1991447,
-                        48.9996019
-                    ],
-                    [
-                        -122.199181,
-                        48.9991974
-                    ],
-                    [
-                        -122.234365,
-                        48.9994829
-                    ],
-                    [
-                        -122.234365,
-                        49.000173
-                    ],
-                    [
-                        -122.3994722,
-                        49.0012385
-                    ],
-                    [
-                        -122.4521338,
-                        49.0016326
-                    ],
-                    [
-                        -122.4521338,
-                        49.000883
-                    ],
-                    [
-                        -122.4584089,
-                        49.0009306
-                    ],
-                    [
-                        -122.4584814,
-                        48.9993124
-                    ],
-                    [
-                        -122.4992458,
-                        48.9995022
-                    ],
-                    [
-                        -122.4992458,
-                        48.9992906
-                    ],
-                    [
-                        -122.5492618,
-                        48.9995107
-                    ],
-                    [
-                        -122.5492564,
-                        48.9993206
-                    ],
-                    [
-                        -122.6580785,
-                        48.9994212
-                    ],
-                    [
-                        -122.6581061,
-                        48.9954007
-                    ],
-                    [
-                        -122.7067604,
-                        48.9955344
-                    ],
-                    [
-                        -122.7519761,
-                        48.9956392
-                    ],
-                    [
-                        -122.7922063,
-                        48.9957204
-                    ],
-                    [
-                        -122.7921907,
-                        48.9994331
-                    ],
-                    [
-                        -123.0350417,
-                        48.9995724
-                    ],
-                    [
-                        -123.0350437,
-                        49.0000958
-                    ],
-                    [
-                        -123.0397091,
-                        49.0000536
-                    ],
-                    [
-                        -123.0397444,
-                        49.0001812
-                    ],
-                    [
-                        -123.0485506,
-                        49.0001348
-                    ],
-                    [
-                        -123.0485329,
-                        49.0004712
-                    ],
-                    [
-                        -123.0557122,
-                        49.000448
-                    ],
-                    [
-                        -123.0556324,
-                        49.0002284
-                    ],
-                    [
-                        -123.0641365,
-                        49.0001293
-                    ],
-                    [
-                        -123.064158,
-                        48.9999421
-                    ],
-                    [
-                        -123.074899,
-                        48.9996928
-                    ],
-                    [
-                        -123.0750717,
-                        49.0006218
-                    ],
-                    [
-                        -123.0899573,
-                        49.0003726
-                    ],
-                    [
-                        -123.109229,
-                        48.9999421
-                    ],
-                    [
-                        -123.1271193,
-                        49.0003046
-                    ],
-                    [
-                        -123.1359953,
-                        48.9998741
-                    ],
-                    [
-                        -123.1362716,
-                        49.0005765
-                    ],
-                    [
-                        -123.153851,
-                        48.9998061
-                    ],
-                    [
-                        -123.1540533,
-                        49.0006806
-                    ],
-                    [
-                        -123.1710015,
-                        49.0001274
-                    ],
-                    [
-                        -123.2000916,
-                        48.9996849
-                    ],
-                    [
-                        -123.2003446,
-                        49.0497785
-                    ],
-                    [
-                        -123.2108845,
-                        49.0497232
-                    ],
-                    [
-                        -123.2112218,
-                        49.051989
-                    ],
-                    [
-                        -123.2070479,
-                        49.0520857
-                    ],
-                    [
-                        -123.2078911,
-                        49.0607884
-                    ],
-                    [
-                        -123.2191688,
-                        49.0600978
-                    ],
-                    [
-                        -123.218958,
-                        49.0612719
-                    ],
-                    [
-                        -123.2251766,
-                        49.0612719
-                    ],
-                    [
-                        -123.2253874,
-                        49.0622388
-                    ],
-                    [
-                        -123.2297088,
-                        49.0620316
-                    ],
-                    [
-                        -123.2298142,
-                        49.068592
-                    ],
-                    [
-                        -123.2331869,
-                        49.0687301
-                    ],
-                    [
-                        -123.2335031,
-                        49.0705945
-                    ],
-                    [
-                        -123.249313,
-                        49.0702493
-                    ],
-                    [
-                        -123.2497346,
-                        49.0802606
-                    ],
-                    [
-                        -123.2751358,
-                        49.0803986
-                    ],
-                    [
-                        -123.2751358,
-                        49.0870947
-                    ],
-                    [
-                        -123.299483,
-                        49.0873018
-                    ],
-                    [
-                        -123.29944,
-                        49.080253
-                    ],
-                    [
-                        -123.3254508,
-                        49.0803944
-                    ],
-                    [
-                        -123.3254353,
-                        49.1154662
-                    ],
-                    [
-                        -123.2750966,
-                        49.1503341
-                    ],
-                    [
-                        -123.275181,
-                        49.1873267
-                    ],
-                    [
-                        -123.2788067,
-                        49.1871063
-                    ],
-                    [
-                        -123.278891,
-                        49.1910741
-                    ],
-                    [
-                        -123.3004767,
-                        49.1910741
-                    ],
-                    [
-                        -123.3004186,
-                        49.2622933
-                    ],
-                    [
-                        -123.3126185,
-                        49.2622416
-                    ],
-                    [
-                        -123.3125958,
-                        49.2714948
-                    ],
-                    [
-                        -123.3154251,
-                        49.2714727
-                    ],
-                    [
-                        -123.3156628,
-                        49.2818906
-                    ],
-                    [
-                        -123.3174735,
-                        49.2818832
-                    ],
-                    [
-                        -123.3174961,
-                        49.2918488
-                    ],
-                    [
-                        -123.3190353,
-                        49.2918488
-                    ],
-                    [
-                        -123.3190692,
-                        49.298602
-                    ],
-                    [
-                        -123.3202349,
-                        49.2985651
-                    ],
-                    [
-                        -123.3202786,
-                        49.3019749
-                    ],
-                    [
-                        -123.3222679,
-                        49.3019605
-                    ],
-                    [
-                        -123.3223943,
-                        49.3118263
-                    ],
-                    [
-                        -123.3254002,
-                        49.3118086
-                    ],
-                    [
-                        -123.3253898,
-                        49.3201721
-                    ],
-                    [
-                        -123.3192695,
-                        49.3201957
-                    ],
-                    [
-                        -123.3192242,
-                        49.3246748
-                    ],
-                    [
-                        -123.3179437,
-                        49.3246596
-                    ],
-                    [
-                        -123.3179861,
-                        49.3254065
-                    ]
-                ]
-            ],
-            "terms_url": "http://imagery.paulnorman.ca/tiles/about.html",
-            "terms_text": "Copyright Province of British Columbia, City of Surrey"
-        },
-        {
-            "name": "Cambodia, Laos, Thailand, Vietnam bilingual",
-            "type": "tms",
-            "template": "http://{switch:a,b,c,d}.tile.osm-tools.org/osm_then/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                0,
-                19
-            ],
-            "polygon": [
-                [
-                    [
-                        97.3,
-                        5.6
-                    ],
-                    [
-                        97.3,
-                        23.4
-                    ],
-                    [
-                        109.6,
-                        23.4
-                    ],
-                    [
-                        109.6,
-                        5.6
-                    ],
-                    [
-                        97.3,
-                        5.6
-                    ]
-                ]
-            ],
-            "terms_url": "http://www.osm-tools.org/",
-            "terms_text": "© osm-tools.org & OpenStreetMap contributors, CC-BY-SA"
-        },
-        {
-            "name": "Freemap.sk Car",
-            "type": "tms",
-            "template": "http://t{switch:1,2,3,4}.freemap.sk/A/{zoom}/{x}/{y}.jpeg",
-            "scaleExtent": [
-                8,
-                16
-            ],
-            "polygon": [
-                [
-                    [
-                        19.83682,
-                        49.25529
-                    ],
-                    [
-                        19.80075,
-                        49.42385
-                    ],
-                    [
-                        19.60437,
-                        49.48058
-                    ],
-                    [
-                        19.49179,
-                        49.63961
-                    ],
-                    [
-                        19.21831,
-                        49.52604
-                    ],
-                    [
-                        19.16778,
-                        49.42521
-                    ],
-                    [
-                        19.00308,
-                        49.42236
-                    ],
-                    [
-                        18.97611,
-                        49.5308
-                    ],
-                    [
-                        18.54685,
-                        49.51425
-                    ],
-                    [
-                        18.31432,
-                        49.33818
-                    ],
-                    [
-                        18.15913,
-                        49.2961
-                    ],
-                    [
-                        18.05564,
-                        49.11134
-                    ],
-                    [
-                        17.56396,
-                        48.84938
-                    ],
-                    [
-                        17.17929,
-                        48.88816
-                    ],
-                    [
-                        17.058,
-                        48.81105
-                    ],
-                    [
-                        16.90426,
-                        48.61947
-                    ],
-                    [
-                        16.79685,
-                        48.38561
-                    ],
-                    [
-                        17.06762,
-                        48.01116
-                    ],
-                    [
-                        17.32787,
-                        47.97749
-                    ],
-                    [
-                        17.51699,
-                        47.82535
-                    ],
-                    [
-                        17.74776,
-                        47.73093
-                    ],
-                    [
-                        18.29515,
-                        47.72075
-                    ],
-                    [
-                        18.67959,
-                        47.75541
-                    ],
-                    [
-                        18.89755,
-                        47.81203
-                    ],
-                    [
-                        18.79463,
-                        47.88245
-                    ],
-                    [
-                        18.84318,
-                        48.04046
-                    ],
-                    [
-                        19.46212,
-                        48.05333
-                    ],
-                    [
-                        19.62064,
-                        48.22938
-                    ],
-                    [
-                        19.89585,
-                        48.09387
-                    ],
-                    [
-                        20.33766,
-                        48.2643
-                    ],
-                    [
-                        20.55395,
-                        48.52358
-                    ],
-                    [
-                        20.82335,
-                        48.55714
-                    ],
-                    [
-                        21.10271,
-                        48.47096
-                    ],
-                    [
-                        21.45863,
-                        48.55513
-                    ],
-                    [
-                        21.74536,
-                        48.31435
-                    ],
-                    [
-                        22.15293,
-                        48.37179
-                    ],
-                    [
-                        22.61255,
-                        49.08914
-                    ],
-                    [
-                        22.09997,
-                        49.23814
-                    ],
-                    [
-                        21.9686,
-                        49.36363
-                    ],
-                    [
-                        21.6244,
-                        49.46989
-                    ],
-                    [
-                        21.06873,
-                        49.46402
-                    ],
-                    [
-                        20.94336,
-                        49.31088
-                    ],
-                    [
-                        20.73052,
-                        49.44006
-                    ],
-                    [
-                        20.22804,
-                        49.41714
-                    ],
-                    [
-                        20.05234,
-                        49.23052
-                    ],
-                    [
-                        19.83682,
-                        49.25529
-                    ]
-                ]
-            ],
-            "terms_text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."
-        },
-        {
-            "name": "Freemap.sk Cyclo",
-            "type": "tms",
-            "template": "http://t{switch:1,2,3,4}.freemap.sk/C/{zoom}/{x}/{y}.jpeg",
-            "scaleExtent": [
-                8,
-                16
-            ],
-            "polygon": [
-                [
-                    [
-                        19.83682,
-                        49.25529
-                    ],
-                    [
-                        19.80075,
-                        49.42385
-                    ],
-                    [
-                        19.60437,
-                        49.48058
-                    ],
-                    [
-                        19.49179,
-                        49.63961
-                    ],
-                    [
-                        19.21831,
-                        49.52604
-                    ],
-                    [
-                        19.16778,
-                        49.42521
-                    ],
-                    [
-                        19.00308,
-                        49.42236
-                    ],
-                    [
-                        18.97611,
-                        49.5308
-                    ],
-                    [
-                        18.54685,
-                        49.51425
-                    ],
-                    [
-                        18.31432,
-                        49.33818
-                    ],
-                    [
-                        18.15913,
-                        49.2961
-                    ],
-                    [
-                        18.05564,
-                        49.11134
-                    ],
-                    [
-                        17.56396,
-                        48.84938
-                    ],
-                    [
-                        17.17929,
-                        48.88816
-                    ],
-                    [
-                        17.058,
-                        48.81105
-                    ],
-                    [
-                        16.90426,
-                        48.61947
-                    ],
-                    [
-                        16.79685,
-                        48.38561
-                    ],
-                    [
-                        17.06762,
-                        48.01116
-                    ],
-                    [
-                        17.32787,
-                        47.97749
-                    ],
-                    [
-                        17.51699,
-                        47.82535
-                    ],
-                    [
-                        17.74776,
-                        47.73093
-                    ],
-                    [
-                        18.29515,
-                        47.72075
-                    ],
-                    [
-                        18.67959,
-                        47.75541
-                    ],
-                    [
-                        18.89755,
-                        47.81203
-                    ],
-                    [
-                        18.79463,
-                        47.88245
-                    ],
-                    [
-                        18.84318,
-                        48.04046
-                    ],
-                    [
-                        19.46212,
-                        48.05333
-                    ],
-                    [
-                        19.62064,
-                        48.22938
-                    ],
-                    [
-                        19.89585,
-                        48.09387
-                    ],
-                    [
-                        20.33766,
-                        48.2643
-                    ],
-                    [
-                        20.55395,
-                        48.52358
-                    ],
-                    [
-                        20.82335,
-                        48.55714
-                    ],
-                    [
-                        21.10271,
-                        48.47096
-                    ],
-                    [
-                        21.45863,
-                        48.55513
-                    ],
-                    [
-                        21.74536,
-                        48.31435
-                    ],
-                    [
-                        22.15293,
-                        48.37179
-                    ],
-                    [
-                        22.61255,
-                        49.08914
-                    ],
-                    [
-                        22.09997,
-                        49.23814
-                    ],
-                    [
-                        21.9686,
-                        49.36363
-                    ],
-                    [
-                        21.6244,
-                        49.46989
-                    ],
-                    [
-                        21.06873,
-                        49.46402
-                    ],
-                    [
-                        20.94336,
-                        49.31088
-                    ],
-                    [
-                        20.73052,
-                        49.44006
-                    ],
-                    [
-                        20.22804,
-                        49.41714
-                    ],
-                    [
-                        20.05234,
-                        49.23052
-                    ],
-                    [
-                        19.83682,
-                        49.25529
-                    ]
-                ]
-            ],
-            "terms_text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."
-        },
-        {
-            "name": "Freemap.sk Hiking",
-            "type": "tms",
-            "template": "http://t{switch:1,2,3,4}.freemap.sk/T/{zoom}/{x}/{y}.jpeg",
-            "scaleExtent": [
-                8,
-                16
-            ],
-            "polygon": [
-                [
-                    [
-                        19.83682,
-                        49.25529
-                    ],
-                    [
-                        19.80075,
-                        49.42385
-                    ],
-                    [
-                        19.60437,
-                        49.48058
-                    ],
-                    [
-                        19.49179,
-                        49.63961
-                    ],
-                    [
-                        19.21831,
-                        49.52604
-                    ],
-                    [
-                        19.16778,
-                        49.42521
-                    ],
-                    [
-                        19.00308,
-                        49.42236
-                    ],
-                    [
-                        18.97611,
-                        49.5308
-                    ],
-                    [
-                        18.54685,
-                        49.51425
-                    ],
-                    [
-                        18.31432,
-                        49.33818
-                    ],
-                    [
-                        18.15913,
-                        49.2961
-                    ],
-                    [
-                        18.05564,
-                        49.11134
-                    ],
-                    [
-                        17.56396,
-                        48.84938
-                    ],
-                    [
-                        17.17929,
-                        48.88816
-                    ],
-                    [
-                        17.058,
-                        48.81105
-                    ],
-                    [
-                        16.90426,
-                        48.61947
-                    ],
-                    [
-                        16.79685,
-                        48.38561
-                    ],
-                    [
-                        17.06762,
-                        48.01116
-                    ],
-                    [
-                        17.32787,
-                        47.97749
-                    ],
-                    [
-                        17.51699,
-                        47.82535
-                    ],
-                    [
-                        17.74776,
-                        47.73093
-                    ],
-                    [
-                        18.29515,
-                        47.72075
-                    ],
-                    [
-                        18.67959,
-                        47.75541
-                    ],
-                    [
-                        18.89755,
-                        47.81203
-                    ],
-                    [
-                        18.79463,
-                        47.88245
-                    ],
-                    [
-                        18.84318,
-                        48.04046
-                    ],
-                    [
-                        19.46212,
-                        48.05333
-                    ],
-                    [
-                        19.62064,
-                        48.22938
-                    ],
-                    [
-                        19.89585,
-                        48.09387
-                    ],
-                    [
-                        20.33766,
-                        48.2643
-                    ],
-                    [
-                        20.55395,
-                        48.52358
-                    ],
-                    [
-                        20.82335,
-                        48.55714
-                    ],
-                    [
-                        21.10271,
-                        48.47096
-                    ],
-                    [
-                        21.45863,
-                        48.55513
-                    ],
-                    [
-                        21.74536,
-                        48.31435
-                    ],
-                    [
-                        22.15293,
-                        48.37179
-                    ],
-                    [
-                        22.61255,
-                        49.08914
-                    ],
-                    [
-                        22.09997,
-                        49.23814
-                    ],
-                    [
-                        21.9686,
-                        49.36363
-                    ],
-                    [
-                        21.6244,
-                        49.46989
-                    ],
-                    [
-                        21.06873,
-                        49.46402
-                    ],
-                    [
-                        20.94336,
-                        49.31088
-                    ],
-                    [
-                        20.73052,
-                        49.44006
-                    ],
-                    [
-                        20.22804,
-                        49.41714
-                    ],
-                    [
-                        20.05234,
-                        49.23052
-                    ],
-                    [
-                        19.83682,
-                        49.25529
-                    ]
-                ]
-            ],
-            "terms_text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."
-        },
-        {
-            "name": "Freemap.sk Ski",
-            "type": "tms",
-            "template": "http://t{switch:1,2,3,4}.freemap.sk/K/{zoom}/{x}/{y}.jpeg",
-            "scaleExtent": [
-                8,
-                16
-            ],
-            "polygon": [
-                [
-                    [
-                        19.83682,
-                        49.25529
-                    ],
-                    [
-                        19.80075,
-                        49.42385
-                    ],
-                    [
-                        19.60437,
-                        49.48058
-                    ],
-                    [
-                        19.49179,
-                        49.63961
-                    ],
-                    [
-                        19.21831,
-                        49.52604
-                    ],
-                    [
-                        19.16778,
-                        49.42521
-                    ],
-                    [
-                        19.00308,
-                        49.42236
-                    ],
-                    [
-                        18.97611,
-                        49.5308
-                    ],
-                    [
-                        18.54685,
-                        49.51425
-                    ],
-                    [
-                        18.31432,
-                        49.33818
-                    ],
-                    [
-                        18.15913,
-                        49.2961
-                    ],
-                    [
-                        18.05564,
-                        49.11134
-                    ],
-                    [
-                        17.56396,
-                        48.84938
-                    ],
-                    [
-                        17.17929,
-                        48.88816
-                    ],
-                    [
-                        17.058,
-                        48.81105
-                    ],
-                    [
-                        16.90426,
-                        48.61947
-                    ],
-                    [
-                        16.79685,
-                        48.38561
-                    ],
-                    [
-                        17.06762,
-                        48.01116
-                    ],
-                    [
-                        17.32787,
-                        47.97749
-                    ],
-                    [
-                        17.51699,
-                        47.82535
-                    ],
-                    [
-                        17.74776,
-                        47.73093
-                    ],
-                    [
-                        18.29515,
-                        47.72075
-                    ],
-                    [
-                        18.67959,
-                        47.75541
-                    ],
-                    [
-                        18.89755,
-                        47.81203
-                    ],
-                    [
-                        18.79463,
-                        47.88245
-                    ],
-                    [
-                        18.84318,
-                        48.04046
-                    ],
-                    [
-                        19.46212,
-                        48.05333
-                    ],
-                    [
-                        19.62064,
-                        48.22938
-                    ],
-                    [
-                        19.89585,
-                        48.09387
-                    ],
-                    [
-                        20.33766,
-                        48.2643
-                    ],
-                    [
-                        20.55395,
-                        48.52358
-                    ],
-                    [
-                        20.82335,
-                        48.55714
-                    ],
-                    [
-                        21.10271,
-                        48.47096
-                    ],
-                    [
-                        21.45863,
-                        48.55513
-                    ],
-                    [
-                        21.74536,
-                        48.31435
-                    ],
-                    [
-                        22.15293,
-                        48.37179
-                    ],
-                    [
-                        22.61255,
-                        49.08914
-                    ],
-                    [
-                        22.09997,
-                        49.23814
-                    ],
-                    [
-                        21.9686,
-                        49.36363
-                    ],
-                    [
-                        21.6244,
-                        49.46989
-                    ],
-                    [
-                        21.06873,
-                        49.46402
-                    ],
-                    [
-                        20.94336,
-                        49.31088
-                    ],
-                    [
-                        20.73052,
-                        49.44006
-                    ],
-                    [
-                        20.22804,
-                        49.41714
-                    ],
-                    [
-                        20.05234,
-                        49.23052
-                    ],
-                    [
-                        19.83682,
-                        49.25529
-                    ]
-                ]
-            ],
-            "terms_text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."
-        },
-        {
-            "name": "Fugro (Denmark)",
-            "type": "tms",
-            "template": "http://{switch:a,b,c}.tile.openstreetmap.dk/fugro2005/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                0,
-                19
-            ],
-            "polygon": [
-                [
-                    [
-                        8.3743941,
-                        54.9551655
-                    ],
-                    [
-                        8.3683809,
-                        55.4042149
-                    ],
-                    [
-                        8.2103997,
-                        55.4039795
-                    ],
-                    [
-                        8.2087314,
-                        55.4937345
-                    ],
-                    [
-                        8.0502655,
-                        55.4924731
-                    ],
-                    [
-                        8.0185123,
-                        56.7501399
-                    ],
-                    [
-                        8.1819161,
-                        56.7509948
-                    ],
-                    [
-                        8.1763274,
-                        57.0208898
-                    ],
-                    [
-                        8.3413329,
-                        57.0219872
-                    ],
-                    [
-                        8.3392467,
-                        57.1119574
-                    ],
-                    [
-                        8.5054433,
-                        57.1123212
-                    ],
-                    [
-                        8.5033923,
-                        57.2020499
-                    ],
-                    [
-                        9.3316304,
-                        57.2027636
-                    ],
-                    [
-                        9.3319079,
-                        57.2924835
-                    ],
-                    [
-                        9.4978864,
-                        57.2919578
-                    ],
-                    [
-                        9.4988593,
-                        57.3820608
-                    ],
-                    [
-                        9.6649749,
-                        57.3811615
-                    ],
-                    [
-                        9.6687295,
-                        57.5605591
-                    ],
-                    [
-                        9.8351961,
-                        57.5596265
-                    ],
-                    [
-                        9.8374896,
-                        57.6493322
-                    ],
-                    [
-                        10.1725726,
-                        57.6462818
-                    ],
-                    [
-                        10.1754245,
-                        57.7367768
-                    ],
-                    [
-                        10.5118282,
-                        57.7330269
-                    ],
-                    [
-                        10.5152095,
-                        57.8228945
-                    ],
-                    [
-                        10.6834853,
-                        57.8207722
-                    ],
-                    [
-                        10.6751613,
-                        57.6412021
-                    ],
-                    [
-                        10.5077045,
-                        57.6433097
-                    ],
-                    [
-                        10.5039992,
-                        57.5535088
-                    ],
-                    [
-                        10.671038,
-                        57.5514113
-                    ],
-                    [
-                        10.6507805,
-                        57.1024538
-                    ],
-                    [
-                        10.4857673,
-                        57.1045138
-                    ],
-                    [
-                        10.4786236,
-                        56.9249051
-                    ],
-                    [
-                        10.3143981,
-                        56.9267573
-                    ],
-                    [
-                        10.3112341,
-                        56.8369269
-                    ],
-                    [
-                        10.4750295,
-                        56.83509
-                    ],
-                    [
-                        10.4649016,
-                        56.5656681
-                    ],
-                    [
-                        10.9524239,
-                        56.5589761
-                    ],
-                    [
-                        10.9479249,
-                        56.4692243
-                    ],
-                    [
-                        11.1099335,
-                        56.4664675
-                    ],
-                    [
-                        11.1052639,
-                        56.376833
-                    ],
-                    [
-                        10.9429901,
-                        56.3795284
-                    ],
-                    [
-                        10.9341235,
-                        56.1994768
-                    ],
-                    [
-                        10.7719685,
-                        56.2020244
-                    ],
-                    [
-                        10.7694751,
-                        56.1120103
-                    ],
-                    [
-                        10.6079695,
-                        56.1150259
-                    ],
-                    [
-                        10.4466742,
-                        56.116717
-                    ],
-                    [
-                        10.2865948,
-                        56.118675
-                    ],
-                    [
-                        10.2831527,
-                        56.0281851
-                    ],
-                    [
-                        10.4439274,
-                        56.0270388
-                    ],
-                    [
-                        10.4417713,
-                        55.7579243
-                    ],
-                    [
-                        10.4334961,
-                        55.6693533
-                    ],
-                    [
-                        10.743814,
-                        55.6646861
-                    ],
-                    [
-                        10.743814,
-                        55.5712253
-                    ],
-                    [
-                        10.8969041,
-                        55.5712253
-                    ],
-                    [
-                        10.9051793,
-                        55.3953852
-                    ],
-                    [
-                        11.0613726,
-                        55.3812841
-                    ],
-                    [
-                        11.0593038,
-                        55.1124061
-                    ],
-                    [
-                        11.0458567,
-                        55.0318621
-                    ],
-                    [
-                        11.2030844,
-                        55.0247474
-                    ],
-                    [
-                        11.2030844,
-                        55.117139
-                    ],
-                    [
-                        11.0593038,
-                        55.1124061
-                    ],
-                    [
-                        11.0613726,
-                        55.3812841
-                    ],
-                    [
-                        11.0789572,
-                        55.5712253
-                    ],
-                    [
-                        10.8969041,
-                        55.5712253
-                    ],
-                    [
-                        10.9258671,
-                        55.6670198
-                    ],
-                    [
-                        10.743814,
-                        55.6646861
-                    ],
-                    [
-                        10.7562267,
-                        55.7579243
-                    ],
-                    [
-                        10.4417713,
-                        55.7579243
-                    ],
-                    [
-                        10.4439274,
-                        56.0270388
-                    ],
-                    [
-                        10.4466742,
-                        56.116717
-                    ],
-                    [
-                        10.6079695,
-                        56.1150259
-                    ],
-                    [
-                        10.6052053,
-                        56.0247462
-                    ],
-                    [
-                        10.9258671,
-                        56.0201215
-                    ],
-                    [
-                        10.9197132,
-                        55.9309388
-                    ],
-                    [
-                        11.0802782,
-                        55.92792
-                    ],
-                    [
-                        11.0858066,
-                        56.0178284
-                    ],
-                    [
-                        11.7265047,
-                        56.005058
-                    ],
-                    [
-                        11.7319981,
-                        56.0952142
-                    ],
-                    [
-                        12.0540333,
-                        56.0871256
-                    ],
-                    [
-                        12.0608477,
-                        56.1762576
-                    ],
-                    [
-                        12.7023469,
-                        56.1594405
-                    ],
-                    [
-                        12.6611131,
-                        55.7114318
-                    ],
-                    [
-                        12.9792318,
-                        55.7014026
-                    ],
-                    [
-                        12.9612912,
-                        55.5217294
-                    ],
-                    [
-                        12.3268659,
-                        55.5412096
-                    ],
-                    [
-                        12.3206071,
-                        55.4513655
-                    ],
-                    [
-                        12.4778226,
-                        55.447067
-                    ],
-                    [
-                        12.4702432,
-                        55.3570479
-                    ],
-                    [
-                        12.6269738,
-                        55.3523837
-                    ],
-                    [
-                        12.6200898,
-                        55.2632576
-                    ],
-                    [
-                        12.4627339,
-                        55.26722
-                    ],
-                    [
-                        12.4552949,
-                        55.1778223
-                    ],
-                    [
-                        12.2987046,
-                        55.1822303
-                    ],
-                    [
-                        12.2897344,
-                        55.0923641
-                    ],
-                    [
-                        12.6048608,
-                        55.0832904
-                    ],
-                    [
-                        12.5872011,
-                        54.9036285
-                    ],
-                    [
-                        12.2766618,
-                        54.9119031
-                    ],
-                    [
-                        12.2610181,
-                        54.7331602
-                    ],
-                    [
-                        12.1070691,
-                        54.7378161
-                    ],
-                    [
-                        12.0858621,
-                        54.4681655
-                    ],
-                    [
-                        11.7794953,
-                        54.4753579
-                    ],
-                    [
-                        11.7837381,
-                        54.5654783
-                    ],
-                    [
-                        11.1658525,
-                        54.5782155
-                    ],
-                    [
-                        11.1706443,
-                        54.6686508
-                    ],
-                    [
-                        10.8617173,
-                        54.6733956
-                    ],
-                    [
-                        10.8651245,
-                        54.7634667
-                    ],
-                    [
-                        10.7713646,
-                        54.7643888
-                    ],
-                    [
-                        10.7707276,
-                        54.7372807
-                    ],
-                    [
-                        10.7551428,
-                        54.7375776
-                    ],
-                    [
-                        10.7544039,
-                        54.7195666
-                    ],
-                    [
-                        10.7389074,
-                        54.7197588
-                    ],
-                    [
-                        10.7384368,
-                        54.7108482
-                    ],
-                    [
-                        10.7074486,
-                        54.7113045
-                    ],
-                    [
-                        10.7041094,
-                        54.6756741
-                    ],
-                    [
-                        10.5510973,
-                        54.6781698
-                    ],
-                    [
-                        10.5547184,
-                        54.7670245
-                    ],
-                    [
-                        10.2423994,
-                        54.7705935
-                    ],
-                    [
-                        10.2459845,
-                        54.8604673
-                    ],
-                    [
-                        10.0902268,
-                        54.8622134
-                    ],
-                    [
-                        10.0873731,
-                        54.7723851
-                    ],
-                    [
-                        9.1555798,
-                        54.7769557
-                    ],
-                    [
-                        9.1562752,
-                        54.8675369
-                    ],
-                    [
-                        8.5321973,
-                        54.8663765
-                    ],
-                    [
-                        8.531432,
-                        54.95516
-                    ]
-                ],
-                [
-                    [
-                        11.4577738,
-                        56.819554
-                    ],
-                    [
-                        11.7849181,
-                        56.8127385
-                    ],
-                    [
-                        11.7716715,
-                        56.6332796
-                    ],
-                    [
-                        11.4459621,
-                        56.6401087
-                    ]
-                ],
-                [
-                    [
-                        11.3274736,
-                        57.3612962
-                    ],
-                    [
-                        11.3161808,
-                        57.1818004
-                    ],
-                    [
-                        11.1508692,
-                        57.1847276
-                    ],
-                    [
-                        11.1456628,
-                        57.094962
-                    ],
-                    [
-                        10.8157703,
-                        57.1001693
-                    ],
-                    [
-                        10.8290599,
-                        57.3695272
-                    ]
-                ],
-                [
-                    [
-                        11.5843266,
-                        56.2777928
-                    ],
-                    [
-                        11.5782882,
-                        56.1880397
-                    ],
-                    [
-                        11.7392309,
-                        56.1845765
-                    ],
-                    [
-                        11.7456428,
-                        56.2743186
-                    ]
-                ],
-                [
-                    [
-                        14.6825922,
-                        55.3639405
-                    ],
-                    [
-                        14.8395247,
-                        55.3565231
-                    ],
-                    [
-                        14.8263755,
-                        55.2671261
-                    ],
-                    [
-                        15.1393406,
-                        55.2517359
-                    ],
-                    [
-                        15.1532015,
-                        55.3410836
-                    ],
-                    [
-                        15.309925,
-                        55.3330556
-                    ],
-                    [
-                        15.295719,
-                        55.2437356
-                    ],
-                    [
-                        15.1393406,
-                        55.2517359
-                    ],
-                    [
-                        15.1255631,
-                        55.1623802
-                    ],
-                    [
-                        15.2815819,
-                        55.1544167
-                    ],
-                    [
-                        15.2535578,
-                        54.9757646
-                    ],
-                    [
-                        14.6317464,
-                        55.0062496
-                    ]
-                ]
-            ],
-            "terms_url": "http://wiki.openstreetmap.org/wiki/Fugro",
-            "terms_text": "Fugro Aerial Mapping"
-        },
-        {
-            "name": "Geodatastyrelsen (Denmark)",
-            "type": "tms",
-            "template": "http://mapproxy.gpweb.dk/tiles/1.0.0/kortforsyningen_ortoforaar/EPSG3857/{zoom}/{x}/{y}.jpeg",
-            "scaleExtent": [
-                0,
-                21
-            ],
-            "polygon": [
-                [
-                    [
-                        8.3743941,
-                        54.9551655
-                    ],
-                    [
-                        8.3683809,
-                        55.4042149
-                    ],
-                    [
-                        8.2103997,
-                        55.4039795
-                    ],
-                    [
-                        8.2087314,
-                        55.4937345
-                    ],
-                    [
-                        8.0502655,
-                        55.4924731
-                    ],
-                    [
-                        8.0185123,
-                        56.7501399
-                    ],
-                    [
-                        8.1819161,
-                        56.7509948
-                    ],
-                    [
-                        8.1763274,
-                        57.0208898
-                    ],
-                    [
-                        8.3413329,
-                        57.0219872
-                    ],
-                    [
-                        8.3392467,
-                        57.1119574
-                    ],
-                    [
-                        8.5054433,
-                        57.1123212
-                    ],
-                    [
-                        8.5033923,
-                        57.2020499
-                    ],
-                    [
-                        9.3316304,
-                        57.2027636
-                    ],
-                    [
-                        9.3319079,
-                        57.2924835
-                    ],
-                    [
-                        9.4978864,
-                        57.2919578
-                    ],
-                    [
-                        9.4988593,
-                        57.3820608
-                    ],
-                    [
-                        9.6649749,
-                        57.3811615
-                    ],
-                    [
-                        9.6687295,
-                        57.5605591
-                    ],
-                    [
-                        9.8351961,
-                        57.5596265
-                    ],
-                    [
-                        9.8374896,
-                        57.6493322
-                    ],
-                    [
-                        10.1725726,
-                        57.6462818
-                    ],
-                    [
-                        10.1754245,
-                        57.7367768
-                    ],
-                    [
-                        10.5118282,
-                        57.7330269
-                    ],
-                    [
-                        10.5152095,
-                        57.8228945
-                    ],
-                    [
-                        10.6834853,
-                        57.8207722
-                    ],
-                    [
-                        10.6751613,
-                        57.6412021
-                    ],
-                    [
-                        10.5077045,
-                        57.6433097
-                    ],
-                    [
-                        10.5039992,
-                        57.5535088
-                    ],
-                    [
-                        10.671038,
-                        57.5514113
-                    ],
-                    [
-                        10.6507805,
-                        57.1024538
-                    ],
-                    [
-                        10.4857673,
-                        57.1045138
-                    ],
-                    [
-                        10.4786236,
-                        56.9249051
-                    ],
-                    [
-                        10.3143981,
-                        56.9267573
-                    ],
-                    [
-                        10.3112341,
-                        56.8369269
-                    ],
-                    [
-                        10.4750295,
-                        56.83509
-                    ],
-                    [
-                        10.4649016,
-                        56.5656681
-                    ],
-                    [
-                        10.9524239,
-                        56.5589761
-                    ],
-                    [
-                        10.9479249,
-                        56.4692243
-                    ],
-                    [
-                        11.1099335,
-                        56.4664675
-                    ],
-                    [
-                        11.1052639,
-                        56.376833
-                    ],
-                    [
-                        10.9429901,
-                        56.3795284
-                    ],
-                    [
-                        10.9341235,
-                        56.1994768
-                    ],
-                    [
-                        10.7719685,
-                        56.2020244
-                    ],
-                    [
-                        10.7694751,
-                        56.1120103
-                    ],
-                    [
-                        10.6079695,
-                        56.1150259
-                    ],
-                    [
-                        10.4466742,
-                        56.116717
-                    ],
-                    [
-                        10.2865948,
-                        56.118675
-                    ],
-                    [
-                        10.2831527,
-                        56.0281851
-                    ],
-                    [
-                        10.4439274,
-                        56.0270388
-                    ],
-                    [
-                        10.4417713,
-                        55.7579243
-                    ],
-                    [
-                        10.4334961,
-                        55.6693533
-                    ],
-                    [
-                        10.743814,
-                        55.6646861
-                    ],
-                    [
-                        10.743814,
-                        55.5712253
-                    ],
-                    [
-                        10.8969041,
-                        55.5712253
-                    ],
-                    [
-                        10.9051793,
-                        55.3953852
-                    ],
-                    [
-                        11.0613726,
-                        55.3812841
-                    ],
-                    [
-                        11.0593038,
-                        55.1124061
-                    ],
-                    [
-                        11.0458567,
-                        55.0318621
-                    ],
-                    [
-                        11.2030844,
-                        55.0247474
-                    ],
-                    [
-                        11.2030844,
-                        55.117139
-                    ],
-                    [
-                        11.0593038,
-                        55.1124061
-                    ],
-                    [
-                        11.0613726,
-                        55.3812841
-                    ],
-                    [
-                        11.0789572,
-                        55.5712253
-                    ],
-                    [
-                        10.8969041,
-                        55.5712253
-                    ],
-                    [
-                        10.9258671,
-                        55.6670198
-                    ],
-                    [
-                        10.743814,
-                        55.6646861
-                    ],
-                    [
-                        10.7562267,
-                        55.7579243
-                    ],
-                    [
-                        10.4417713,
-                        55.7579243
-                    ],
-                    [
-                        10.4439274,
-                        56.0270388
-                    ],
-                    [
-                        10.4466742,
-                        56.116717
-                    ],
-                    [
-                        10.6079695,
-                        56.1150259
-                    ],
-                    [
-                        10.6052053,
-                        56.0247462
-                    ],
-                    [
-                        10.9258671,
-                        56.0201215
-                    ],
-                    [
-                        10.9197132,
-                        55.9309388
-                    ],
-                    [
-                        11.0802782,
-                        55.92792
-                    ],
-                    [
-                        11.0858066,
-                        56.0178284
-                    ],
-                    [
-                        11.7265047,
-                        56.005058
-                    ],
-                    [
-                        11.7319981,
-                        56.0952142
-                    ],
-                    [
-                        12.0540333,
-                        56.0871256
-                    ],
-                    [
-                        12.0608477,
-                        56.1762576
-                    ],
-                    [
-                        12.7023469,
-                        56.1594405
-                    ],
-                    [
-                        12.6611131,
-                        55.7114318
-                    ],
-                    [
-                        12.9792318,
-                        55.7014026
-                    ],
-                    [
-                        12.9612912,
-                        55.5217294
-                    ],
-                    [
-                        12.3268659,
-                        55.5412096
-                    ],
-                    [
-                        12.3206071,
-                        55.4513655
-                    ],
-                    [
-                        12.4778226,
-                        55.447067
-                    ],
-                    [
-                        12.4702432,
-                        55.3570479
-                    ],
-                    [
-                        12.6269738,
-                        55.3523837
-                    ],
-                    [
-                        12.6200898,
-                        55.2632576
-                    ],
-                    [
-                        12.4627339,
-                        55.26722
-                    ],
-                    [
-                        12.4552949,
-                        55.1778223
-                    ],
-                    [
-                        12.2987046,
-                        55.1822303
-                    ],
-                    [
-                        12.2897344,
-                        55.0923641
-                    ],
-                    [
-                        12.6048608,
-                        55.0832904
-                    ],
-                    [
-                        12.5872011,
-                        54.9036285
-                    ],
-                    [
-                        12.2766618,
-                        54.9119031
-                    ],
-                    [
-                        12.2610181,
-                        54.7331602
-                    ],
-                    [
-                        12.1070691,
-                        54.7378161
-                    ],
-                    [
-                        12.0858621,
-                        54.4681655
-                    ],
-                    [
-                        11.7794953,
-                        54.4753579
-                    ],
-                    [
-                        11.7837381,
-                        54.5654783
-                    ],
-                    [
-                        11.1658525,
-                        54.5782155
-                    ],
-                    [
-                        11.1706443,
-                        54.6686508
-                    ],
-                    [
-                        10.8617173,
-                        54.6733956
-                    ],
-                    [
-                        10.8651245,
-                        54.7634667
-                    ],
-                    [
-                        10.7713646,
-                        54.7643888
-                    ],
-                    [
-                        10.7707276,
-                        54.7372807
-                    ],
-                    [
-                        10.7551428,
-                        54.7375776
-                    ],
-                    [
-                        10.7544039,
-                        54.7195666
-                    ],
-                    [
-                        10.7389074,
-                        54.7197588
-                    ],
-                    [
-                        10.7384368,
-                        54.7108482
-                    ],
-                    [
-                        10.7074486,
-                        54.7113045
-                    ],
-                    [
-                        10.7041094,
-                        54.6756741
-                    ],
-                    [
-                        10.5510973,
-                        54.6781698
-                    ],
-                    [
-                        10.5547184,
-                        54.7670245
-                    ],
-                    [
-                        10.2423994,
-                        54.7705935
-                    ],
-                    [
-                        10.2459845,
-                        54.8604673
-                    ],
-                    [
-                        10.0902268,
-                        54.8622134
-                    ],
-                    [
-                        10.0873731,
-                        54.7723851
-                    ],
-                    [
-                        9.1555798,
-                        54.7769557
-                    ],
-                    [
-                        9.1562752,
-                        54.8675369
-                    ],
-                    [
-                        8.5321973,
-                        54.8663765
-                    ],
-                    [
-                        8.531432,
-                        54.95516
-                    ]
-                ],
-                [
-                    [
-                        11.4577738,
-                        56.819554
-                    ],
-                    [
-                        11.7849181,
-                        56.8127385
-                    ],
-                    [
-                        11.7716715,
-                        56.6332796
-                    ],
-                    [
-                        11.4459621,
-                        56.6401087
-                    ]
-                ],
-                [
-                    [
-                        11.3274736,
-                        57.3612962
-                    ],
-                    [
-                        11.3161808,
-                        57.1818004
-                    ],
-                    [
-                        11.1508692,
-                        57.1847276
-                    ],
-                    [
-                        11.1456628,
-                        57.094962
-                    ],
-                    [
-                        10.8157703,
-                        57.1001693
-                    ],
-                    [
-                        10.8290599,
-                        57.3695272
-                    ]
-                ],
-                [
-                    [
-                        11.5843266,
-                        56.2777928
-                    ],
-                    [
-                        11.5782882,
-                        56.1880397
-                    ],
-                    [
-                        11.7392309,
-                        56.1845765
-                    ],
-                    [
-                        11.7456428,
-                        56.2743186
-                    ]
-                ],
-                [
-                    [
-                        14.6825922,
-                        55.3639405
-                    ],
-                    [
-                        14.8395247,
-                        55.3565231
-                    ],
-                    [
-                        14.8263755,
-                        55.2671261
-                    ],
-                    [
-                        15.1393406,
-                        55.2517359
-                    ],
-                    [
-                        15.1532015,
-                        55.3410836
-                    ],
-                    [
-                        15.309925,
-                        55.3330556
-                    ],
-                    [
-                        15.295719,
-                        55.2437356
-                    ],
-                    [
-                        15.1393406,
-                        55.2517359
-                    ],
-                    [
-                        15.1255631,
-                        55.1623802
-                    ],
-                    [
-                        15.2815819,
-                        55.1544167
-                    ],
-                    [
-                        15.2535578,
-                        54.9757646
-                    ],
-                    [
-                        14.6317464,
-                        55.0062496
-                    ]
-                ]
-            ],
-            "terms_url": "http://download.kortforsyningen.dk/content/vilkaar-og-betingelser",
-            "terms_text": "Geodatastyrelsen og Danske Kommuner"
-        },
-        {
-            "name": "Geoimage.at MaxRes",
-            "type": "tms",
-            "template": "http://geoimage.openstreetmap.at/4d80de696cd562a63ce463a58a61488d/{zoom}/{x}/{y}.jpg",
-            "polygon": [
-                [
-                    [
-                        16.5073284,
-                        46.9929304
-                    ],
-                    [
-                        16.283417,
-                        46.9929304
-                    ],
-                    [
-                        16.135839,
-                        46.8713046
-                    ],
-                    [
-                        15.9831722,
-                        46.8190947
-                    ],
-                    [
-                        16.0493278,
-                        46.655175
-                    ],
-                    [
-                        15.8610387,
-                        46.7180116
-                    ],
-                    [
-                        15.7592608,
-                        46.6900933
-                    ],
-                    [
-                        15.5607938,
-                        46.6796202
-                    ],
-                    [
-                        15.5760605,
-                        46.6342132
-                    ],
-                    [
-                        15.4793715,
-                        46.6027553
-                    ],
-                    [
-                        15.4335715,
-                        46.6516819
-                    ],
-                    [
-                        15.2249267,
-                        46.6342132
-                    ],
-                    [
-                        15.0468154,
-                        46.6481886
-                    ],
-                    [
-                        14.9908376,
-                        46.5887681
-                    ],
-                    [
-                        14.9603042,
-                        46.6237293
-                    ],
-                    [
-                        14.8534374,
-                        46.6027553
-                    ],
-                    [
-                        14.8330818,
-                        46.5012666
-                    ],
-                    [
-                        14.7516595,
-                        46.4977636
-                    ],
-                    [
-                        14.6804149,
-                        46.4381781
-                    ],
-                    [
-                        14.6142593,
-                        46.4381781
-                    ],
-                    [
-                        14.578637,
-                        46.3785275
-                    ],
-                    [
-                        14.4412369,
-                        46.4311638
-                    ],
-                    [
-                        14.1613476,
-                        46.4276563
-                    ],
-                    [
-                        14.1257253,
-                        46.4767409
-                    ],
-                    [
-                        14.0188585,
-                        46.4767409
-                    ],
-                    [
-                        13.9119917,
-                        46.5257813
-                    ],
-                    [
-                        13.8254805,
-                        46.5047694
-                    ],
-                    [
-                        13.4438134,
-                        46.560783
-                    ],
-                    [
-                        13.3064132,
-                        46.5502848
-                    ],
-                    [
-                        13.1283019,
-                        46.5887681
-                    ],
-                    [
-                        12.8433237,
-                        46.6132433
-                    ],
-                    [
-                        12.7262791,
-                        46.6412014
-                    ],
-                    [
-                        12.5125455,
-                        46.6656529
-                    ],
-                    [
-                        12.3598787,
-                        46.7040543
-                    ],
-                    [
-                        12.3649676,
-                        46.7703197
-                    ],
-                    [
-                        12.2886341,
-                        46.7772902
-                    ],
-                    [
-                        12.2733674,
-                        46.8852187
-                    ],
-                    [
-                        12.2072118,
-                        46.8747835
-                    ],
-                    [
-                        12.1308784,
-                        46.9026062
-                    ],
-                    [
-                        12.1156117,
-                        46.9998721
-                    ],
-                    [
-                        12.2530119,
-                        47.0657733
-                    ],
-                    [
-                        12.2123007,
-                        47.0934969
-                    ],
-                    [
-                        11.9833004,
-                        47.0449712
-                    ],
-                    [
-                        11.7339445,
-                        46.9616816
-                    ],
-                    [
-                        11.6321666,
-                        47.010283
-                    ],
-                    [
-                        11.5405665,
-                        46.9755722
-                    ],
-                    [
-                        11.4998553,
-                        47.0068129
-                    ],
-                    [
-                        11.418433,
-                        46.9651546
-                    ],
-                    [
-                        11.2555884,
-                        46.9755722
-                    ],
-                    [
-                        11.1130993,
-                        46.913036
-                    ],
-                    [
-                        11.0418548,
-                        46.7633482
-                    ],
-                    [
-                        10.8891879,
-                        46.7598621
-                    ],
-                    [
-                        10.7416099,
-                        46.7842599
-                    ],
-                    [
-                        10.7059877,
-                        46.8643462
-                    ],
-                    [
-                        10.5787653,
-                        46.8399847
-                    ],
-                    [
-                        10.4566318,
-                        46.8504267
-                    ],
-                    [
-                        10.4769874,
-                        46.9269392
-                    ],
-                    [
-                        10.3853873,
-                        46.9894592
-                    ],
-                    [
-                        10.2327204,
-                        46.8643462
-                    ],
-                    [
-                        10.1207647,
-                        46.8330223
-                    ],
-                    [
-                        9.8663199,
-                        46.9408389
-                    ],
-                    [
-                        9.9019422,
-                        47.0033426
-                    ],
-                    [
-                        9.6831197,
-                        47.0588402
-                    ],
-                    [
-                        9.6118752,
-                        47.0380354
-                    ],
-                    [
-                        9.6322307,
-                        47.128131
-                    ],
-                    [
-                        9.5813418,
-                        47.1662025
-                    ],
-                    [
-                        9.5406306,
-                        47.2664422
-                    ],
-                    [
-                        9.6067863,
-                        47.3492559
-                    ],
-                    [
-                        9.6729419,
-                        47.369939
-                    ],
-                    [
-                        9.6424085,
-                        47.4457079
-                    ],
-                    [
-                        9.5660751,
-                        47.4801122
-                    ],
-                    [
-                        9.7136531,
-                        47.5282405
-                    ],
-                    [
-                        9.7848976,
-                        47.5969187
-                    ],
-                    [
-                        9.8357866,
-                        47.5454185
-                    ],
-                    [
-                        9.9477423,
-                        47.538548
-                    ],
-                    [
-                        10.0902313,
-                        47.4491493
-                    ],
-                    [
-                        10.1105869,
-                        47.3664924
-                    ],
-                    [
-                        10.2428982,
-                        47.3871688
-                    ],
-                    [
-                        10.1869203,
-                        47.2698953
-                    ],
-                    [
-                        10.3243205,
-                        47.2975125
-                    ],
-                    [
-                        10.4820763,
-                        47.4491493
-                    ],
-                    [
-                        10.4311873,
-                        47.4869904
-                    ],
-                    [
-                        10.4413651,
-                        47.5900549
-                    ],
-                    [
-                        10.4871652,
-                        47.5522881
-                    ],
-                    [
-                        10.5482319,
-                        47.5351124
-                    ],
-                    [
-                        10.5991209,
-                        47.5660246
-                    ],
-                    [
-                        10.7568766,
-                        47.5316766
-                    ],
-                    [
-                        10.8891879,
-                        47.5454185
-                    ],
-                    [
-                        10.9400769,
-                        47.4869904
-                    ],
-                    [
-                        10.9960547,
-                        47.3906141
-                    ],
-                    [
-                        11.2352328,
-                        47.4422662
-                    ],
-                    [
-                        11.2810328,
-                        47.3975039
-                    ],
-                    [
-                        11.4235219,
-                        47.5144941
-                    ],
-                    [
-                        11.5761888,
-                        47.5076195
-                    ],
-                    [
-                        11.6067221,
-                        47.5900549
-                    ],
-                    [
-                        11.8357224,
-                        47.5866227
-                    ],
-                    [
-                        12.003656,
-                        47.6243647
-                    ],
-                    [
-                        12.2072118,
-                        47.6037815
-                    ],
-                    [
-                        12.1614117,
-                        47.6963421
-                    ],
-                    [
-                        12.2581008,
-                        47.7442718
-                    ],
-                    [
-                        12.2530119,
-                        47.6792136
-                    ],
-                    [
-                        12.4311232,
-                        47.7100408
-                    ],
-                    [
-                        12.4921899,
-                        47.631224
-                    ],
-                    [
-                        12.5685234,
-                        47.6277944
-                    ],
-                    [
-                        12.6295901,
-                        47.6894913
-                    ],
-                    [
-                        12.7720792,
-                        47.6689338
-                    ],
-                    [
-                        12.8331459,
-                        47.5419833
-                    ],
-                    [
-                        12.975635,
-                        47.4732332
-                    ],
-                    [
-                        13.0417906,
-                        47.4938677
-                    ],
-                    [
-                        13.0367017,
-                        47.5557226
-                    ],
-                    [
-                        13.0977685,
-                        47.6415112
-                    ],
-                    [
-                        13.0316128,
-                        47.7100408
-                    ],
-                    [
-                        12.9043905,
-                        47.7203125
-                    ],
-                    [
-                        13.0061684,
-                        47.84683
-                    ],
-                    [
-                        12.9451016,
-                        47.9355501
-                    ],
-                    [
-                        12.8636793,
-                        47.9594103
-                    ],
-                    [
-                        12.8636793,
-                        48.0036929
-                    ],
-                    [
-                        12.7517236,
-                        48.0989418
-                    ],
-                    [
-                        12.8738571,
-                        48.2109733
-                    ],
-                    [
-                        12.9603683,
-                        48.2109733
-                    ],
-                    [
-                        13.0417906,
-                        48.2652035
-                    ],
-                    [
-                        13.1842797,
-                        48.2990682
-                    ],
-                    [
-                        13.2606131,
-                        48.2922971
-                    ],
-                    [
-                        13.3980133,
-                        48.3565867
-                    ],
-                    [
-                        13.4438134,
-                        48.417418
-                    ],
-                    [
-                        13.4387245,
-                        48.5523383
-                    ],
-                    [
-                        13.509969,
-                        48.5860123
-                    ],
-                    [
-                        13.6117469,
-                        48.5725454
-                    ],
-                    [
-                        13.7287915,
-                        48.5118999
-                    ],
-                    [
-                        13.7847694,
-                        48.5725454
-                    ],
-                    [
-                        13.8203916,
-                        48.6263915
-                    ],
-                    [
-                        13.7949471,
-                        48.7171267
-                    ],
-                    [
-                        13.850925,
-                        48.7741724
-                    ],
-                    [
-                        14.0595697,
-                        48.6633774
-                    ],
-                    [
-                        14.0137696,
-                        48.6331182
-                    ],
-                    [
-                        14.0748364,
-                        48.5927444
-                    ],
-                    [
-                        14.2173255,
-                        48.5961101
-                    ],
-                    [
-                        14.3649034,
-                        48.5489696
-                    ],
-                    [
-                        14.4666813,
-                        48.6499311
-                    ],
-                    [
-                        14.5582815,
-                        48.5961101
-                    ],
-                    [
-                        14.5989926,
-                        48.6263915
-                    ],
-                    [
-                        14.7211261,
-                        48.5759124
-                    ],
-                    [
-                        14.7211261,
-                        48.6868997
-                    ],
-                    [
-                        14.822904,
-                        48.7271983
-                    ],
-                    [
-                        14.8178151,
-                        48.777526
-                    ],
-                    [
-                        14.9647227,
-                        48.7851754
-                    ],
-                    [
-                        14.9893637,
-                        49.0126611
-                    ],
-                    [
-                        15.1485933,
-                        48.9950306
-                    ],
-                    [
-                        15.1943934,
-                        48.9315502
-                    ],
-                    [
-                        15.3063491,
-                        48.9850128
-                    ],
-                    [
-                        15.3928603,
-                        48.9850128
-                    ],
-                    [
-                        15.4844604,
-                        48.9282069
-                    ],
-                    [
-                        15.749083,
-                        48.8545973
-                    ],
-                    [
-                        15.8406831,
-                        48.8880697
-                    ],
-                    [
-                        16.0086166,
-                        48.7808794
-                    ],
-                    [
-                        16.2070835,
-                        48.7339115
-                    ],
-                    [
-                        16.3953727,
-                        48.7372678
-                    ],
-                    [
-                        16.4920617,
-                        48.8110498
-                    ],
-                    [
-                        16.6905286,
-                        48.7741724
-                    ],
-                    [
-                        16.7057953,
-                        48.7339115
-                    ],
-                    [
-                        16.8991733,
-                        48.713769
-                    ],
-                    [
-                        16.9755067,
-                        48.515271
-                    ],
-                    [
-                        16.8482844,
-                        48.4511817
-                    ],
-                    [
-                        16.8533733,
-                        48.3464411
-                    ],
-                    [
-                        16.9551512,
-                        48.2516513
-                    ],
-                    [
-                        16.9907734,
-                        48.1498955
-                    ],
-                    [
-                        17.0925513,
-                        48.1397088
-                    ],
-                    [
-                        17.0823736,
-                        48.0241182
-                    ],
-                    [
-                        17.1739737,
-                        48.0207146
-                    ],
-                    [
-                        17.0823736,
-                        47.8741447
-                    ],
-                    [
-                        16.9856845,
-                        47.8673174
-                    ],
-                    [
-                        17.0823736,
-                        47.8092489
-                    ],
-                    [
-                        17.0925513,
-                        47.7031919
-                    ],
-                    [
-                        16.7414176,
-                        47.6792136
-                    ],
-                    [
-                        16.7057953,
-                        47.7511153
-                    ],
-                    [
-                        16.5378617,
-                        47.7545368
-                    ],
-                    [
-                        16.5480395,
-                        47.7066164
-                    ],
-                    [
-                        16.4208172,
-                        47.6689338
-                    ],
-                    [
-                        16.573484,
-                        47.6175045
-                    ],
-                    [
-                        16.670173,
-                        47.631224
-                    ],
-                    [
-                        16.7108842,
-                        47.538548
-                    ],
-                    [
-                        16.6599952,
-                        47.4491493
-                    ],
-                    [
-                        16.5429506,
-                        47.3940591
-                    ],
-                    [
-                        16.4615283,
-                        47.3940591
-                    ],
-                    [
-                        16.4920617,
-                        47.276801
-                    ],
-                    [
-                        16.425906,
-                        47.1973317
-                    ],
-                    [
-                        16.4717061,
-                        47.1489007
-                    ],
-                    [
-                        16.5480395,
-                        47.1489007
-                    ],
-                    [
-                        16.476795,
-                        47.0796369
-                    ],
-                    [
-                        16.527684,
-                        47.0588402
-                    ]
-                ]
-            ],
-            "terms_text": "geoimage.at",
-            "id": "geoimage.at"
-        },
-        {
-            "name": "Imagerie Drone (Haiti)",
-            "type": "tms",
-            "template": "http://wms.openstreetmap.fr/tms/1.0.0/iomhaiti/{zoom}/{x}/{y}",
-            "polygon": [
-                [
-                    [
-                        -72.1547401,
-                        19.6878969
-                    ],
-                    [
-                        -72.162234,
-                        19.689011
-                    ],
-                    [
-                        -72.164995,
-                        19.6932445
-                    ],
-                    [
-                        -72.1657838,
-                        19.6979977
-                    ],
-                    [
-                        -72.161603,
-                        19.7035677
-                    ],
-                    [
-                        -72.1487449,
-                        19.7028993
-                    ],
-                    [
-                        -72.1477194,
-                        19.7026765
-                    ],
-                    [
-                        -72.1485082,
-                        19.7001514
-                    ],
-                    [
-                        -72.1436963,
-                        19.7011169
-                    ],
-                    [
-                        -72.1410143,
-                        19.7000029
-                    ],
-                    [
-                        -72.139476,
-                        19.6973664
-                    ],
-                    [
-                        -72.1382533,
-                        19.6927617
-                    ],
-                    [
-                        -72.1386872,
-                        19.6923161
-                    ],
-                    [
-                        -72.1380561,
-                        19.6896423
-                    ],
-                    [
-                        -72.1385294,
-                        19.6894938
-                    ],
-                    [
-                        -72.1388055,
-                        19.6901251
-                    ],
-                    [
-                        -72.1388844,
-                        19.6876741
-                    ],
-                    [
-                        -72.1378195,
-                        19.6872656
-                    ],
-                    [
-                        -72.13778,
-                        19.6850003
-                    ],
-                    [
-                        -72.1369517,
-                        19.6855945
-                    ],
-                    [
-                        -72.136794,
-                        19.6840719
-                    ],
-                    [
-                        -72.135729,
-                        19.6835148
-                    ],
-                    [
-                        -72.1355713,
-                        19.6740817
-                    ],
-                    [
-                        -72.1366362,
-                        19.6708133
-                    ],
-                    [
-                        -72.1487843,
-                        19.6710733
-                    ],
-                    [
-                        -72.1534779,
-                        19.6763843
-                    ],
-                    [
-                        -72.1530835,
-                        19.6769414
-                    ],
-                    [
-                        -72.1533251,
-                        19.6769768
-                    ],
-                    [
-                        -72.1532807,
-                        19.6796525
-                    ],
-                    [
-                        -72.1523834,
-                        19.6797175
-                    ],
-                    [
-                        -72.1522749,
-                        19.6803488
-                    ],
-                    [
-                        -72.1519101,
-                        19.6803395
-                    ],
-                    [
-                        -72.1518608,
-                        19.6805067
-                    ],
-                    [
-                        -72.1528173,
-                        19.6806552
-                    ],
-                    [
-                        -72.1522299,
-                        19.6833011
-                    ],
-                    [
-                        -72.1507801,
-                        19.6831499
-                    ],
-                    [
-                        -72.1504457,
-                        19.6847862
-                    ],
-                    [
-                        -72.1508591,
-                        19.6843492
-                    ],
-                    [
-                        -72.1530087,
-                        19.6849898
-                    ],
-                    [
-                        -72.1546258,
-                        19.6854354
-                    ],
-                    [
-                        -72.1543103,
-                        19.6870694
-                    ],
-                    [
-                        -72.1547244,
-                        19.6868466
-                    ],
-                    [
-                        -72.1548501,
-                        19.6877564
-                    ],
-                    [
-                        -72.1545814,
-                        19.6877982
-                    ]
-                ],
-                [
-                    [
-                        -72.1310601,
-                        19.6718929
-                    ],
-                    [
-                        -72.1259842,
-                        19.6772765
-                    ],
-                    [
-                        -72.1255379,
-                        19.6776179
-                    ],
-                    [
-                        -72.1216891,
-                        19.6776442
-                    ],
-                    [
-                        -72.1149677,
-                        19.672602
-                    ],
-                    [
-                        -72.1152745,
-                        19.6687152
-                    ],
-                    [
-                        -72.1198205,
-                        19.6627535
-                    ],
-                    [
-                        -72.1227768,
-                        19.6625696
-                    ],
-                    [
-                        -72.1248965,
-                        19.662701
-                    ],
-                    [
-                        -72.1285779,
-                        19.6645394
-                    ],
-                    [
-                        -72.1308091,
-                        19.6661677
-                    ],
-                    [
-                        -72.1316737,
-                        19.668794
-                    ],
-                    [
-                        -72.1315621,
-                        19.671
-                    ]
-                ],
-                [
-                    [
-                        -71.845795,
-                        19.6709758
-                    ],
-                    [
-                        -71.8429354,
-                        19.6759525
-                    ],
-                    [
-                        -71.8410027,
-                        19.6759525
-                    ],
-                    [
-                        -71.8380249,
-                        19.6755254
-                    ],
-                    [
-                        -71.8378671,
-                        19.6745041
-                    ],
-                    [
-                        -71.8390504,
-                        19.6743927
-                    ],
-                    [
-                        -71.8390109,
-                        19.6741141
-                    ],
-                    [
-                        -71.8398392,
-                        19.673947
-                    ],
-                    [
-                        -71.8389123,
-                        19.6736127
-                    ],
-                    [
-                        -71.8380249,
-                        19.67209
-                    ],
-                    [
-                        -71.8380052,
-                        19.6726285
-                    ],
-                    [
-                        -71.8376699,
-                        19.6727214
-                    ],
-                    [
-                        -71.8376305,
-                        19.672545
-                    ],
-                    [
-                        -71.8354414,
-                        19.6732135
-                    ],
-                    [
-                        -71.835333,
-                        19.6729999
-                    ],
-                    [
-                        -71.8331242,
-                        19.6734642
-                    ],
-                    [
-                        -71.8326706,
-                        19.6716815
-                    ],
-                    [
-                        -71.8321579,
-                        19.67209
-                    ],
-                    [
-                        -71.8307183,
-                        19.6694902
-                    ],
-                    [
-                        -71.8306009,
-                        19.6697594
-                    ],
-                    [
-                        -71.8302174,
-                        19.6698907
-                    ],
-                    [
-                        -71.8291833,
-                        19.6672095
-                    ],
-                    [
-                        -71.8290749,
-                        19.6672095
-                    ],
-                    [
-                        -71.8289122,
-                        19.6667916
-                    ],
-                    [
-                        -71.8289516,
-                        19.6666199
-                    ],
-                    [
-                        -71.8288333,
-                        19.6663506
-                    ],
-                    [
-                        -71.8285572,
-                        19.6664759
-                    ],
-                    [
-                        -71.8288678,
-                        19.6672466
-                    ],
-                    [
-                        -71.8287593,
-                        19.6674138
-                    ],
-                    [
-                        -71.8277979,
-                        19.6678177
-                    ],
-                    [
-                        -71.8277112,
-                        19.6678586
-                    ],
-                    [
-                        -71.8278263,
-                        19.6679637
-                    ],
-                    [
-                        -71.8271831,
-                        19.6681212
-                    ],
-                    [
-                        -71.8271761,
-                        19.6680917
-                    ],
-                    [
-                        -71.8264405,
-                        19.6683921
-                    ],
-                    [
-                        -71.8264074,
-                        19.6683231
-                    ],
-                    [
-                        -71.8261954,
-                        19.6684253
-                    ],
-                    [
-                        -71.8261806,
-                        19.6683556
-                    ],
-                    [
-                        -71.8258946,
-                        19.6684206
-                    ],
-                    [
-                        -71.8258897,
-                        19.6686574
-                    ],
-                    [
-                        -71.8251551,
-                        19.6687549
-                    ],
-                    [
-                        -71.8254509,
-                        19.6691588
-                    ],
-                    [
-                        -71.8229332,
-                        19.6695739
-                    ],
-                    [
-                        -71.822713,
-                        19.6696658
-                    ],
-                    [
-                        -71.8227688,
-                        19.6697577
-                    ],
-                    [
-                        -71.8201751,
-                        19.6709855
-                    ],
-                    [
-                        -71.8198474,
-                        19.6704537
-                    ],
-                    [
-                        -71.8197985,
-                        19.6706014
-                    ],
-                    [
-                        -71.8194674,
-                        19.6707557
-                    ],
-                    [
-                        -71.8182472,
-                        19.6713433
-                    ],
-                    [
-                        -71.8181426,
-                        19.6711431
-                    ],
-                    [
-                        -71.8175813,
-                        19.6714254
-                    ],
-                    [
-                        -71.816959,
-                        19.6707672
-                    ],
-                    [
-                        -71.8176388,
-                        19.6718965
-                    ],
-                    [
-                        -71.8171403,
-                        19.6720376
-                    ],
-                    [
-                        -71.8158225,
-                        19.6718045
-                    ],
-                    [
-                        -71.8138354,
-                        19.6711874
-                    ],
-                    [
-                        -71.8123259,
-                        19.6706982
-                    ],
-                    [
-                        -71.8121759,
-                        19.6704258
-                    ],
-                    [
-                        -71.8124304,
-                        19.6701467
-                    ],
-                    [
-                        -71.8119184,
-                        19.6700141
-                    ],
-                    [
-                        -71.8118765,
-                        19.6705828
-                    ],
-                    [
-                        -71.811169,
-                        19.6703483
-                    ],
-                    [
-                        -71.8095938,
-                        19.6698516
-                    ],
-                    [
-                        -71.8077992,
-                        19.6692829
-                    ],
-                    [
-                        -71.8056028,
-                        19.668612
-                    ],
-                    [
-                        -71.8051443,
-                        19.6668942
-                    ],
-                    [
-                        -71.8051196,
-                        19.6652322
-                    ],
-                    [
-                        -71.8052315,
-                        19.661979
-                    ],
-                    [
-                        -71.8065603,
-                        19.6523921
-                    ],
-                    [
-                        -71.8073412,
-                        19.6482946
-                    ],
-                    [
-                        -71.8099686,
-                        19.6468292
-                    ],
-                    [
-                        -71.8147517,
-                        19.6454502
-                    ],
-                    [
-                        -71.8147726,
-                        19.6455619
-                    ],
-                    [
-                        -71.8150027,
-                        19.6455093
-                    ],
-                    [
-                        -71.8149469,
-                        19.6453846
-                    ],
-                    [
-                        -71.8159928,
-                        19.6450234
-                    ],
-                    [
-                        -71.8158882,
-                        19.6448855
-                    ],
-                    [
-                        -71.8165854,
-                        19.6446097
-                    ],
-                    [
-                        -71.8190119,
-                        19.643802
-                    ],
-                    [
-                        -71.8211524,
-                        19.643454
-                    ],
-                    [
-                        -71.8221564,
-                        19.6433292
-                    ],
-                    [
-                        -71.8269046,
-                        19.643211
-                    ],
-                    [
-                        -71.8280481,
-                        19.6432241
-                    ],
-                    [
-                        -71.8304466,
-                        19.6440778
-                    ],
-                    [
-                        -71.8306419,
-                        19.6448592
-                    ],
-                    [
-                        -71.8295263,
-                        19.6450365
-                    ],
-                    [
-                        -71.8296064,
-                        19.6456111
-                    ],
-                    [
-                        -71.8299411,
-                        19.6455651
-                    ],
-                    [
-                        -71.8303699,
-                        19.6451744
-                    ],
-                    [
-                        -71.830471,
-                        19.6453452
-                    ],
-                    [
-                        -71.8308092,
-                        19.6451974
-                    ],
-                    [
-                        -71.8310184,
-                        19.6451088
-                    ],
-                    [
-                        -71.8312519,
-                        19.6458541
-                    ],
-                    [
-                        -71.8311125,
-                        19.6458245
-                    ],
-                    [
-                        -71.831367,
-                        19.6465862
-                    ],
-                    [
-                        -71.8328939,
-                        19.646189
-                    ],
-                    [
-                        -71.8344566,
-                        19.6457062
-                    ],
-                    [
-                        -71.8344664,
-                        19.6463052
-                    ],
-                    [
-                        -71.834215,
-                        19.6461938
-                    ],
-                    [
-                        -71.8342002,
-                        19.6465513
-                    ],
-                    [
-                        -71.8346702,
-                        19.6463
-                    ],
-                    [
-                        -71.8349118,
-                        19.6463905
-                    ],
-                    [
-                        -71.8347984,
-                        19.6462187
-                    ],
-                    [
-                        -71.8354393,
-                        19.6458496
-                    ],
-                    [
-                        -71.8355034,
-                        19.6458032
-                    ],
-                    [
-                        -71.8364747,
-                        19.6461328
-                    ],
-                    [
-                        -71.8376382,
-                        19.6472658
-                    ],
-                    [
-                        -71.8379143,
-                        19.647888
-                    ],
-                    [
-                        -71.8390483,
-                        19.6508039
-                    ],
-                    [
-                        -71.8456942,
-                        19.6696203
-                    ]
-                ],
-                [
-                    [
-                        -72.098878,
-                        18.54843
-                    ],
-                    [
-                        -72.096993,
-                        18.5501994
-                    ],
-                    [
-                        -72.0972888,
-                        18.5503209
-                    ],
-                    [
-                        -72.0968451,
-                        18.5503489
-                    ],
-                    [
-                        -72.0955632,
-                        18.551854
-                    ],
-                    [
-                        -72.0956428,
-                        18.5526742
-                    ],
-                    [
-                        -72.0959914,
-                        18.5533748
-                    ],
-                    [
-                        -72.0962145,
-                        18.553203
-                    ],
-                    [
-                        -72.0962842,
-                        18.5535665
-                    ],
-                    [
-                        -72.0964446,
-                        18.5535533
-                    ],
-                    [
-                        -72.0965352,
-                        18.5539764
-                    ],
-                    [
-                        -72.0965056,
-                        18.554173
-                    ],
-                    [
-                        -72.0966085,
-                        18.5541747
-                    ],
-                    [
-                        -72.0965178,
-                        18.5542127
-                    ],
-                    [
-                        -72.0968769,
-                        18.5546588
-                    ],
-                    [
-                        -72.0979018,
-                        18.5552141
-                    ],
-                    [
-                        -72.1006211,
-                        18.5555875
-                    ],
-                    [
-                        -72.1014926,
-                        18.5556206
-                    ],
-                    [
-                        -72.1024339,
-                        18.5555016
-                    ],
-                    [
-                        -72.103417,
-                        18.5543515
-                    ],
-                    [
-                        -72.1034798,
-                        18.5516215
-                    ],
-                    [
-                        -72.1030789,
-                        18.5516149
-                    ],
-                    [
-                        -72.1033752,
-                        18.5515224
-                    ],
-                    [
-                        -72.1035042,
-                        18.5515224
-                    ],
-                    [
-                        -72.1035239,
-                        18.5502417
-                    ],
-                    [
-                        -72.1028701,
-                        18.5503062
-                    ],
-                    [
-                        -72.1029015,
-                        18.55025
-                    ],
-                    [
-                        -72.1028457,
-                        18.5501773
-                    ],
-                    [
-                        -72.1035081,
-                        18.5500252
-                    ],
-                    [
-                        -72.103491,
-                        18.5497396
-                    ],
-                    [
-                        -72.1035181,
-                        18.5497361
-                    ],
-                    [
-                        -72.1035398,
-                        18.5489039
-                    ],
-                    [
-                        -72.1034317,
-                        18.5487056
-                    ],
-                    [
-                        -72.102717,
-                        18.5481437
-                    ],
-                    [
-                        -72.1025601,
-                        18.5481536
-                    ],
-                    [
-                        -72.10229,
-                        18.5482751
-                    ],
-                    [
-                        -72.1022891,
-                        18.5482569
-                    ],
-                    [
-                        -72.1025201,
-                        18.5481396
-                    ],
-                    [
-                        -72.1023388,
-                        18.5481321
-                    ],
-                    [
-                        -72.0999082,
-                        18.5480901
-                    ],
-                    [
-                        -72.09907,
-                        18.5483799
-                    ]
-                ],
-                [
-                    [
-                        -72.2542503,
-                        18.568262
-                    ],
-                    [
-                        -72.2560252,
-                        18.5717765
-                    ],
-                    [
-                        -72.2557886,
-                        18.5748049
-                    ],
-                    [
-                        -72.2535009,
-                        18.5755526
-                    ],
-                    [
-                        -72.2522782,
-                        18.5755526
-                    ],
-                    [
-                        -72.2499906,
-                        18.5740945
-                    ],
-                    [
-                        -72.2473874,
-                        18.5698323
-                    ],
-                    [
-                        -72.2460069,
-                        18.566729
-                    ],
-                    [
-                        -72.2458492,
-                        18.5629527
-                    ],
-                    [
-                        -72.2479396,
-                        18.5625414
-                    ],
-                    [
-                        -72.2501483,
-                        18.5628031
-                    ],
-                    [
-                        -72.2519232,
-                        18.5650839
-                    ]
-                ],
-                [
-                    [
-                        -72.303145,
-                        18.5332749
-                    ],
-                    [
-                        -72.3031275,
-                        18.5331799
-                    ],
-                    [
-                        -72.3048311,
-                        18.5311081
-                    ],
-                    [
-                        -72.3097397,
-                        18.5311081
-                    ],
-                    [
-                        -72.3164332,
-                        18.5324302
-                    ],
-                    [
-                        -72.3234056,
-                        18.5366083
-                    ],
-                    [
-                        -72.3261388,
-                        18.5387765
-                    ],
-                    [
-                        -72.3261946,
-                        18.5426371
-                    ],
-                    [
-                        -72.3170468,
-                        18.5540596
-                    ],
-                    [
-                        -72.3130864,
-                        18.5540596
-                    ],
-                    [
-                        -72.2987511,
-                        18.5453342
-                    ],
-                    [
-                        -72.2988627,
-                        18.5407333
-                    ],
-                    [
-                        -72.2962969,
-                        18.5404689
-                    ],
-                    [
-                        -72.2954602,
-                        18.5395169
-                    ],
-                    [
-                        -72.2961853,
-                        18.5338582
-                    ],
-                    [
-                        -72.2971893,
-                        18.5332235
-                    ],
-                    [
-                        -72.3007034,
-                        18.5332764
-                    ],
-                    [
-                        -72.3022652,
-                        18.5342284
-                    ],
-                    [
-                        -72.3028486,
-                        18.5335189
-                    ],
-                    [
-                        -72.303104,
-                        18.5333361
-                    ],
-                    [
-                        -72.303181,
-                        18.5334007
-                    ],
-                    [
-                        -72.3035793,
-                        18.5335614
-                    ],
-                    [
-                        -72.3030793,
-                        18.5346463
-                    ],
-                    [
-                        -72.303715,
-                        18.5339873
-                    ],
-                    [
-                        -72.3045286,
-                        18.5344052
-                    ],
-                    [
-                        -72.3044015,
-                        18.5345097
-                    ],
-                    [
-                        -72.3062747,
-                        18.5352571
-                    ],
-                    [
-                        -72.3063107,
-                        18.5352741
-                    ],
-                    [
-                        -72.3061219,
-                        18.5357628
-                    ],
-                    [
-                        -72.3061219,
-                        18.5358196
-                    ],
-                    [
-                        -72.30637,
-                        18.5358928
-                    ],
-                    [
-                        -72.3062726,
-                        18.5354869
-                    ],
-                    [
-                        -72.3066688,
-                        18.5350891
-                    ],
-                    [
-                        -72.3061963,
-                        18.5349706
-                    ],
-                    [
-                        -72.3058869,
-                        18.5349385
-                    ],
-                    [
-                        -72.3055373,
-                        18.5346833
-                    ],
-                    [
-                        -72.3054864,
-                        18.534613
-                    ],
-                    [
-                        -72.3055585,
-                        18.5345065
-                    ],
-                    [
-                        -72.3046749,
-                        18.5342293
-                    ],
-                    [
-                        -72.3047617,
-                        18.5338817
-                    ],
-                    [
-                        -72.3043252,
-                        18.5337511
-                    ],
-                    [
-                        -72.3042595,
-                        18.5336346
-                    ]
-                ],
-                [
-                    [
-                        -72.2981405,
-                        18.477502
-                    ],
-                    [
-                        -72.2935652,
-                        18.4948587
-                    ],
-                    [
-                        -72.2922242,
-                        18.4964297
-                    ],
-                    [
-                        -72.2931708,
-                        18.4972526
-                    ],
-                    [
-                        -72.2892266,
-                        18.5057058
-                    ],
-                    [
-                        -72.2878067,
-                        18.5080996
-                    ],
-                    [
-                        -72.2850458,
-                        18.5119893
-                    ],
-                    [
-                        -72.2840203,
-                        18.5113161
-                    ],
-                    [
-                        -72.2808649,
-                        18.515879
-                    ],
-                    [
-                        -72.2773151,
-                        18.5175994
-                    ],
-                    [
-                        -72.2723454,
-                        18.5175246
-                    ],
-                    [
-                        -72.2662714,
-                        18.5144578
-                    ],
-                    [
-                        -72.2665869,
-                        18.5066783
-                    ],
-                    [
-                        -72.2692643,
-                        18.5046154
-                    ],
-                    [
-                        -72.2661965,
-                        18.5029756
-                    ],
-                    [
-                        -72.2688181,
-                        18.4965222
-                    ],
-                    [
-                        -72.2691528,
-                        18.4959403
-                    ],
-                    [
-                        -72.2702684,
-                        18.4961519
-                    ],
-                    [
-                        -72.2702684,
-                        18.4955964
-                    ],
-                    [
-                        -72.2690691,
-                        18.49557
-                    ],
-                    [
-                        -72.2692922,
-                        18.4937714
-                    ],
-                    [
-                        -72.2736988,
-                        18.4859951
-                    ],
-                    [
-                        -72.2746749,
-                        18.4850429
-                    ],
-                    [
-                        -72.2751769,
-                        18.483403
-                    ],
-                    [
-                        -72.2765435,
-                        18.4813398
-                    ],
-                    [
-                        -72.2773523,
-                        18.4814985
-                    ],
-                    [
-                        -72.2783006,
-                        18.4809694
-                    ],
-                    [
-                        -72.2778544,
-                        18.4807049
-                    ],
-                    [
-                        -72.2771013,
-                        18.480123
-                    ],
-                    [
-                        -72.2789978,
-                        18.4775836
-                    ],
-                    [
-                        -72.279723,
-                        18.4772927
-                    ],
-                    [
-                        -72.2806433,
-                        18.4776365
-                    ],
-                    [
-                        -72.2813685,
-                        18.4771604
-                    ],
-                    [
-                        -72.2808386,
-                        18.4769752
-                    ],
-                    [
-                        -72.2812848,
-                        18.4758378
-                    ],
-                    [
-                        -72.2823167,
-                        18.4751765
-                    ],
-                    [
-                        -72.2851615,
-                        18.4750971
-                    ],
-                    [
-                        -72.2849941,
-                        18.4763668
-                    ],
-                    [
-                        -72.2854404,
-                        18.4769752
-                    ],
-                    [
-                        -72.286277,
-                        18.4756262
-                    ],
-                    [
-                        -72.2869325,
-                        18.4754675
-                    ],
-                    [
-                        -72.2865978,
-                        18.4751897
-                    ],
-                    [
-                        -72.2865978,
-                        18.4750046
-                    ],
-                    [
-                        -72.2909765,
-                        18.4747268
-                    ],
-                    [
-                        -72.2946579,
-                        18.4749384
-                    ],
-                    [
-                        -72.2973911,
-                        18.476843
-                    ]
-                ],
-                [
-                    [
-                        -72.3466657,
-                        18.5222375
-                    ],
-                    [
-                        -72.346833,
-                        18.5244325
-                    ],
-                    [
-                        -72.3475303,
-                        18.5277645
-                    ],
-                    [
-                        -72.3455501,
-                        18.5291131
-                    ],
-                    [
-                        -72.3403069,
-                        18.5292189
-                    ],
-                    [
-                        -72.3383267,
-                        18.5280289
-                    ],
-                    [
-                        -72.3369043,
-                        18.530118
-                    ],
-                    [
-                        -72.3338086,
-                        18.5296684
-                    ],
-                    [
-                        -72.3289279,
-                        18.5270769
-                    ],
-                    [
-                        -72.328649,
-                        18.5253316
-                    ],
-                    [
-                        -72.3292068,
-                        18.5232689
-                    ],
-                    [
-                        -72.330406,
-                        18.5220524
-                    ],
-                    [
-                        -72.3321631,
-                        18.5221847
-                    ],
-                    [
-                        -72.3322467,
-                        18.5191963
-                    ],
-                    [
-                        -72.3369183,
-                        18.5183633
-                    ],
-                    [
-                        -72.3382012,
-                        18.5184691
-                    ],
-                    [
-                        -72.3381454,
-                        18.5181782
-                    ],
-                    [
-                        -72.3411993,
-                        18.5177947
-                    ],
-                    [
-                        -72.3454943,
-                        18.5171997
-                    ],
-                    [
-                        -72.3492595,
-                        18.517279
-                    ],
-                    [
-                        -72.3504308,
-                        18.5188922
-                    ],
-                    [
-                        -72.3503472,
-                        18.5206112
-                    ],
-                    [
-                        -72.3496778,
-                        18.5220392
-                    ]
-                ],
-                [
-                    [
-                        -72.3303078,
-                        18.5486462
-                    ],
-                    [
-                        -72.3429687,
-                        18.5508149
-                    ],
-                    [
-                        -72.3433236,
-                        18.5530585
-                    ],
-                    [
-                        -72.3413121,
-                        18.5614341
-                    ],
-                    [
-                        -72.3390639,
-                        18.5613593
-                    ],
-                    [
-                        -72.3384723,
-                        18.5638271
-                    ],
-                    [
-                        -72.3375257,
-                        18.5654348
-                    ],
-                    [
-                        -72.3348436,
-                        18.5650609
-                    ],
-                    [
-                        -72.3311755,
-                        18.5638271
-                    ],
-                    [
-                        -72.3312149,
-                        18.5616211
-                    ],
-                    [
-                        -72.3232082,
-                        18.5606863
-                    ],
-                    [
-                        -72.3212361,
-                        18.559602
-                    ],
-                    [
-                        -72.3208023,
-                        18.5587046
-                    ],
-                    [
-                        -72.3208811,
-                        18.557882
-                    ],
-                    [
-                        -72.3259493,
-                        18.5580274
-                    ],
-                    [
-                        -72.3266186,
-                        18.5581993
-                    ],
-                    [
-                        -72.3259214,
-                        18.5577498
-                    ],
-                    [
-                        -72.3250986,
-                        18.5573797
-                    ],
-                    [
-                        -72.3233767,
-                        18.552263
-                    ],
-                    [
-                        -72.3245994,
-                        18.5478507
-                    ],
-                    [
-                        -72.3288986,
-                        18.5483742
-                    ],
-                    [
-                        -72.329979,
-                        18.5489548
-                    ]
-                ],
-                [
-                    [
-                        -72.3231383,
-                        18.5269828
-                    ],
-                    [
-                        -72.3223434,
-                        18.528067
-                    ],
-                    [
-                        -72.3209629,
-                        18.5279745
-                    ],
-                    [
-                        -72.3207816,
-                        18.5271282
-                    ],
-                    [
-                        -72.3208513,
-                        18.5253697
-                    ],
-                    [
-                        -72.3214649,
-                        18.5249598
-                    ],
-                    [
-                        -72.3225666,
-                        18.5248937
-                    ],
-                    [
-                        -72.3228454,
-                        18.52533
-                    ],
-                    [
-                        -72.3232359,
-                        18.5264804
-                    ]
-                ],
-                [
-                    [
-                        -72.2160832,
-                        18.6457752
-                    ],
-                    [
-                        -72.2159649,
-                        18.6553795
-                    ],
-                    [
-                        -72.2030279,
-                        18.6558279
-                    ],
-                    [
-                        -72.1947057,
-                        18.6553421
-                    ],
-                    [
-                        -72.1922208,
-                        18.6545573
-                    ],
-                    [
-                        -72.1920631,
-                        18.6521283
-                    ],
-                    [
-                        -72.193483,
-                        18.6477559
-                    ],
-                    [
-                        -72.201253,
-                        18.6385249
-                    ],
-                    [
-                        -72.2069327,
-                        18.6388239
-                    ],
-                    [
-                        -72.2120996,
-                        18.6424117
-                    ],
-                    [
-                        -72.2118068,
-                        18.6430591
-                    ],
-                    [
-                        -72.2121693,
-                        18.6426892
-                    ],
-                    [
-                        -72.2127968,
-                        18.6427552
-                    ],
-                    [
-                        -72.2134662,
-                        18.6431252
-                    ],
-                    [
-                        -72.2135638,
-                        18.6437462
-                    ],
-                    [
-                        -72.2154176,
-                        18.6443947
-                    ],
-                    [
-                        -72.2158909,
-                        18.6450301
-                    ]
-                ],
-                [
-                    [
-                        -72.2867654,
-                        18.6482017
-                    ],
-                    [
-                        -72.2900977,
-                        18.6527446
-                    ],
-                    [
-                        -72.28981,
-                        18.6536532
-                    ],
-                    [
-                        -72.2900738,
-                        18.6542664
-                    ],
-                    [
-                        -72.290721,
-                        18.6537667
-                    ],
-                    [
-                        -72.2910327,
-                        18.6544709
-                    ],
-                    [
-                        -72.2912485,
-                        18.654221
-                    ],
-                    [
-                        -72.29168,
-                        18.6558905
-                    ],
-                    [
-                        -72.2912245,
-                        18.656606
-                    ],
-                    [
-                        -72.2922673,
-                        18.65597
-                    ],
-                    [
-                        -72.2926869,
-                        18.6567536
-                    ],
-                    [
-                        -72.2930705,
-                        18.6567309
-                    ],
-                    [
-                        -72.2941253,
-                        18.6581846
-                    ],
-                    [
-                        -72.2960192,
-                        18.6608421
-                    ],
-                    [
-                        -72.2959713,
-                        18.6619096
-                    ],
-                    [
-                        -72.2932862,
-                        18.664567
-                    ],
-                    [
-                        -72.2906731,
-                        18.6659979
-                    ],
-                    [
-                        -72.2895943,
-                        18.6661342
-                    ],
-                    [
-                        -72.2895943,
-                        18.6665657
-                    ],
-                    [
-                        -72.2877004,
-                        18.6664749
-                    ],
-                    [
-                        -72.2875805,
-                        18.6676559
-                    ],
-                    [
-                        -72.2831214,
-                        18.6697227
-                    ],
-                    [
-                        -72.2796453,
-                        18.6696546
-                    ],
-                    [
-                        -72.2784311,
-                        18.6690787
-                    ],
-                    [
-                        -72.2783972,
-                        18.6687736
-                    ],
-                    [
-                        -72.277736,
-                        18.6691671
-                    ],
-                    [
-                        -72.2774394,
-                        18.669143
-                    ],
-                    [
-                        -72.2770071,
-                        18.6683159
-                    ],
-                    [
-                        -72.2765575,
-                        18.6681125
-                    ],
-                    [
-                        -72.2765385,
-                        18.6680583
-                    ],
-                    [
-                        -72.2752319,
-                        18.6685239
-                    ],
-                    [
-                        -72.2749292,
-                        18.6674649
-                    ],
-                    [
-                        -72.2746416,
-                        18.6674309
-                    ],
-                    [
-                        -72.2734668,
-                        18.6682145
-                    ],
-                    [
-                        -72.2732271,
-                        18.6682712
-                    ],
-                    [
-                        -72.2726757,
-                        18.6671583
-                    ],
-                    [
-                        -72.2719147,
-                        18.6674288
-                    ],
-                    [
-                        -72.2718808,
-                        18.6673405
-                    ],
-                    [
-                        -72.2688149,
-                        18.6681868
-                    ],
-                    [
-                        -72.2688269,
-                        18.6671761
-                    ],
-                    [
-                        -72.2690786,
-                        18.6668241
-                    ],
-                    [
-                        -72.2688149,
-                        18.66679
-                    ],
-                    [
-                        -72.2681077,
-                        18.6670739
-                    ],
-                    [
-                        -72.2676282,
-                        18.6673805
-                    ],
-                    [
-                        -72.2675563,
-                        18.6666878
-                    ],
-                    [
-                        -72.266861,
-                        18.666949
-                    ],
-                    [
-                        -72.2655904,
-                        18.6673578
-                    ],
-                    [
-                        -72.2654466,
-                        18.6670058
-                    ],
-                    [
-                        -72.2647514,
-                        18.6674146
-                    ],
-                    [
-                        -72.2629893,
-                        18.6681868
-                    ],
-                    [
-                        -72.2628455,
-                        18.6681754
-                    ],
-                    [
-                        -72.2626537,
-                        18.6676076
-                    ],
-                    [
-                        -72.2623001,
-                        18.6677098
-                    ],
-                    [
-                        -72.2624799,
-                        18.6679199
-                    ],
-                    [
-                        -72.2624799,
-                        18.6682322
-                    ],
-                    [
-                        -72.262306,
-                        18.6682606
-                    ],
-                    [
-                        -72.2620963,
-                        18.6679654
-                    ],
-                    [
-                        -72.2622761,
-                        18.6689193
-                    ],
-                    [
-                        -72.2601484,
-                        18.6688966
-                    ],
-                    [
-                        -72.2542749,
-                        18.6687944
-                    ],
-                    [
-                        -72.2505388,
-                        18.6683476
-                    ],
-                    [
-                        -72.2504371,
-                        18.669536
-                    ],
-                    [
-                        -72.2477926,
-                        18.6698893
-                    ],
-                    [
-                        -72.2415204,
-                        18.669793
-                    ],
-                    [
-                        -72.2414187,
-                        18.6741933
-                    ],
-                    [
-                        -72.2389167,
-                        18.6739759
-                    ],
-                    [
-                        -72.2387249,
-                        18.6734649
-                    ],
-                    [
-                        -72.2383653,
-                        18.6733059
-                    ],
-                    [
-                        -72.2387009,
-                        18.6739532
-                    ],
-                    [
-                        -72.2375502,
-                        18.6738964
-                    ],
-                    [
-                        -72.2374183,
-                        18.6735103
-                    ],
-                    [
-                        -72.237742,
-                        18.67334
-                    ],
-                    [
-                        -72.2375142,
-                        18.6732605
-                    ],
-                    [
-                        -72.236843,
-                        18.6734876
-                    ],
-                    [
-                        -72.2364354,
-                        18.6724088
-                    ],
-                    [
-                        -72.2355124,
-                        18.6726019
-                    ],
-                    [
-                        -72.2354045,
-                        18.6724202
-                    ],
-                    [
-                        -72.2353027,
-                        18.6729028
-                    ],
-                    [
-                        -72.2345475,
-                        18.6726871
-                    ],
-                    [
-                        -72.2343077,
-                        18.6724599
-                    ],
-                    [
-                        -72.2342358,
-                        18.6734706
-                    ],
-                    [
-                        -72.2334087,
-                        18.6734592
-                    ],
-                    [
-                        -72.2332889,
-                        18.6733003
-                    ],
-                    [
-                        -72.2327375,
-                        18.6732889
-                    ],
-                    [
-                        -72.2327135,
-                        18.6735047
-                    ],
-                    [
-                        -72.227703,
-                        18.6725281
-                    ],
-                    [
-                        -72.2265283,
-                        18.6716537
-                    ],
-                    [
-                        -72.226804,
-                        18.6715742
-                    ],
-                    [
-                        -72.2274993,
-                        18.6715855
-                    ],
-                    [
-                        -72.2274873,
-                        18.6714493
-                    ],
-                    [
-                        -72.2272899,
-                        18.6714623
-                    ],
-                    [
-                        -72.2272814,
-                        18.6712977
-                    ],
-                    [
-                        -72.2272094,
-                        18.671358
-                    ],
-                    [
-                        -72.2261785,
-                        18.6713693
-                    ],
-                    [
-                        -72.2256032,
-                        18.670881
-                    ],
-                    [
-                        -72.2255073,
-                        18.6694502
-                    ],
-                    [
-                        -72.2261066,
-                        18.6696886
-                    ],
-                    [
-                        -72.2261785,
-                        18.6695949
-                    ],
-                    [
-                        -72.2259837,
-                        18.6695495
-                    ],
-                    [
-                        -72.225777,
-                        18.6691379
-                    ],
-                    [
-                        -72.2253335,
-                        18.6694643
-                    ],
-                    [
-                        -72.2249739,
-                        18.66947
-                    ],
-                    [
-                        -72.2245783,
-                        18.6678802
-                    ],
-                    [
-                        -72.2235525,
-                        18.6677046
-                    ],
-                    [
-                        -72.2235907,
-                        18.6675921
-                    ],
-                    [
-                        -72.2224634,
-                        18.6676283
-                    ],
-                    [
-                        -72.2223659,
-                        18.667022
-                    ],
-                    [
-                        -72.2223277,
-                        18.6670943
-                    ],
-                    [
-                        -72.2219209,
-                        18.667026
-                    ],
-                    [
-                        -72.2208105,
-                        18.6669015
-                    ],
-                    [
-                        -72.220809,
-                        18.6665325
-                    ],
-                    [
-                        -72.2208705,
-                        18.6663593
-                    ],
-                    [
-                        -72.2206023,
-                        18.6668107
-                    ],
-                    [
-                        -72.2203895,
-                        18.6666361
-                    ],
-                    [
-                        -72.2184341,
-                        18.6650535
-                    ],
-                    [
-                        -72.21829,
-                        18.6640979
-                    ],
-                    [
-                        -72.2183493,
-                        18.6608376
-                    ],
-                    [
-                        -72.2187223,
-                        18.6606541
-                    ],
-                    [
-                        -72.2186894,
-                        18.660603
-                    ],
-                    [
-                        -72.2187253,
-                        18.6604525
-                    ],
-                    [
-                        -72.2189771,
-                        18.6603247
-                    ],
-                    [
-                        -72.2187823,
-                        18.6601998
-                    ],
-                    [
-                        -72.2186984,
-                        18.6602367
-                    ],
-                    [
-                        -72.2185815,
-                        18.6600352
-                    ],
-                    [
-                        -72.2186085,
-                        18.6600039
-                    ],
-                    [
-                        -72.2187823,
-                        18.6601345
-                    ],
-                    [
-                        -72.218995,
-                        18.6600181
-                    ],
-                    [
-                        -72.2189111,
-                        18.6599131
-                    ],
-                    [
-                        -72.2189681,
-                        18.6597938
-                    ],
-                    [
-                        -72.2183807,
-                        18.6595837
-                    ],
-                    [
-                        -72.2184728,
-                        18.6539662
-                    ],
-                    [
-                        -72.2201001,
-                        18.6511554
-                    ],
-                    [
-                        -72.225796,
-                        18.6469472
-                    ],
-                    [
-                        -72.2283048,
-                        18.6457265
-                    ],
-                    [
-                        -72.2379335,
-                        18.645855
-                    ],
-                    [
-                        -72.237764,
-                        18.6446985
-                    ],
-                    [
-                        -72.2400355,
-                        18.6432529
-                    ],
-                    [
-                        -72.2455958,
-                        18.6433493
-                    ],
-                    [
-                        -72.2482742,
-                        18.6450358
-                    ],
-                    [
-                        -72.2487488,
-                        18.6436705
-                    ],
-                    [
-                        -72.2511067,
-                        18.6429775
-                    ],
-                    [
-                        -72.2512385,
-                        18.6433409
-                    ],
-                    [
-                        -72.2512625,
-                        18.6431592
-                    ],
-                    [
-                        -72.2514843,
-                        18.6431365
-                    ],
-                    [
-                        -72.2513284,
-                        18.6429718
-                    ],
-                    [
-                        -72.2533602,
-                        18.6423471
-                    ],
-                    [
-                        -72.253516,
-                        18.6426765
-                    ],
-                    [
-                        -72.2539535,
-                        18.6425402
-                    ],
-                    [
-                        -72.2541453,
-                        18.642932
-                    ],
-                    [
-                        -72.2543851,
-                        18.6428696
-                    ],
-                    [
-                        -72.2543791,
-                        18.6427503
-                    ],
-                    [
-                        -72.2564168,
-                        18.6423244
-                    ],
-                    [
-                        -72.2566925,
-                        18.6431365
-                    ],
-                    [
-                        -72.2568783,
-                        18.6428582
-                    ],
-                    [
-                        -72.2568184,
-                        18.6425288
-                    ],
-                    [
-                        -72.258843,
-                        18.6420991
-                    ],
-                    [
-                        -72.258885,
-                        18.6422467
-                    ],
-                    [
-                        -72.2592626,
-                        18.6422297
-                    ],
-                    [
-                        -72.2596461,
-                        18.6424057
-                    ],
-                    [
-                        -72.2592206,
-                        18.6406907
-                    ],
-                    [
-                        -72.2599545,
-                        18.6404815
-                    ],
-                    [
-                        -72.2601156,
-                        18.6406341
-                    ],
-                    [
-                        -72.2601156,
-                        18.6399393
-                    ],
-                    [
-                        -72.2615268,
-                        18.6394669
-                    ],
-                    [
-                        -72.2626056,
-                        18.6391034
-                    ],
-                    [
-                        -72.2654465,
-                        18.6387286
-                    ],
-                    [
-                        -72.2719433,
-                        18.6386832
-                    ],
-                    [
-                        -72.272201,
-                        18.6388649
-                    ],
-                    [
-                        -72.2730341,
-                        18.6394158
-                    ],
-                    [
-                        -72.273166,
-                        18.6412558
-                    ],
-                    [
-                        -72.2738732,
-                        18.6410286
-                    ],
-                    [
-                        -72.2742208,
-                        18.6416079
-                    ],
-                    [
-                        -72.2752187,
-                        18.6416987
-                    ],
-                    [
-                        -72.2754524,
-                        18.6415738
-                    ],
-                    [
-                        -72.2755513,
-                        18.6416874
-                    ],
-                    [
-                        -72.2755394,
-                        18.6417527
-                    ],
-                    [
-                        -72.2764713,
-                        18.6418634
-                    ],
-                    [
-                        -72.276753,
-                        18.6418975
-                    ],
-                    [
-                        -72.2762953,
-                        18.6426002
-                    ],
-                    [
-                        -72.2774226,
-                        18.6429978
-                    ],
-                    [
-                        -72.277982,
-                        18.6427247
-                    ],
-                    [
-                        -72.2785796,
-                        18.6431303
-                    ],
-                    [
-                        -72.2785669,
-                        18.6432307
-                    ],
-                    [
-                        -72.2789017,
-                        18.6433471
-                    ],
-                    [
-                        -72.279851,
-                        18.6439655
-                    ],
-                    [
-                        -72.2858703,
-                        18.6469651
-                    ]
-                ],
-                [
-                    [
-                        -72.5557247,
-                        18.5305893
-                    ],
-                    [
-                        -72.5555866,
-                        18.5367036
-                    ],
-                    [
-                        -72.554995,
-                        18.537975
-                    ],
-                    [
-                        -72.5488026,
-                        18.537919
-                    ],
-                    [
-                        -72.5486646,
-                        18.5372832
-                    ],
-                    [
-                        -72.548842,
-                        18.5306267
-                    ],
-                    [
-                        -72.5493745,
-                        18.5301031
-                    ],
-                    [
-                        -72.555133,
-                        18.5301218
-                    ]
-                ],
-                [
-                    [
-                        -72.6235278,
-                        18.5079877
-                    ],
-                    [
-                        -72.6234441,
-                        18.5095217
-                    ],
-                    [
-                        -72.6226074,
-                        18.5104341
-                    ],
-                    [
-                        -72.6204878,
-                        18.511849
-                    ],
-                    [
-                        -72.6183403,
-                        18.5107514
-                    ],
-                    [
-                        -72.6162207,
-                        18.5083183
-                    ],
-                    [
-                        -72.6162625,
-                        18.506467
-                    ],
-                    [
-                        -72.618661,
-                        18.5044438
-                    ],
-                    [
-                        -72.6204041,
-                        18.5044967
-                    ],
-                    [
-                        -72.6228305,
-                        18.506996
-                    ]
-                ]
-            ]
-        },
-        {
-            "name": "Ireland Bartholomew Quarter-Inch 1940",
-            "type": "tms",
-            "template": "http://geo.nls.uk/maps/ireland/bartholomew/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                5,
-                13
-            ],
-            "polygon": [
-                [
-                    [
-                        -8.8312773,
-                        55.3963337
-                    ],
-                    [
-                        -7.3221271,
-                        55.398605
-                    ],
-                    [
-                        -7.2891331,
-                        55.4333162
-                    ],
-                    [
-                        -7.2368042,
-                        55.4530757
-                    ],
-                    [
-                        -7.18881,
-                        55.4497995
-                    ],
-                    [
-                        -7.1528144,
-                        55.3968384
-                    ],
-                    [
-                        -6.90561,
-                        55.394903
-                    ],
-                    [
-                        -6.9047153,
-                        55.3842114
-                    ],
-                    [
-                        -5.8485282,
-                        55.3922956
-                    ],
-                    [
-                        -5.8378629,
-                        55.248676
-                    ],
-                    [
-                        -5.3614762,
-                        55.2507024
-                    ],
-                    [
-                        -5.3899172,
-                        53.8466464
-                    ],
-                    [
-                        -5.8734141,
-                        53.8487436
-                    ],
-                    [
-                        -5.8983,
-                        52.8256258
-                    ],
-                    [
-                        -6.0191742,
-                        52.8256258
-                    ],
-                    [
-                        -6.0262844,
-                        51.7712367
-                    ],
-                    [
-                        -8.1131422,
-                        51.7712367
-                    ],
-                    [
-                        -8.1273627,
-                        51.3268839
-                    ],
-                    [
-                        -10.6052842,
-                        51.3091083
-                    ],
-                    [
-                        -10.6271879,
-                        52.0328254
-                    ],
-                    [
-                        -10.6469845,
-                        52.0322454
-                    ],
-                    [
-                        -10.6469845,
-                        52.0440365
-                    ],
-                    [
-                        -10.6271879,
-                        52.0448095
-                    ],
-                    [
-                        -10.6290733,
-                        52.0745627
-                    ],
-                    [
-                        -10.6699234,
-                        52.0743695
-                    ],
-                    [
-                        -10.6702376,
-                        52.0876941
-                    ],
-                    [
-                        -10.6312729,
-                        52.0898179
-                    ],
-                    [
-                        -10.6393128,
-                        52.4147202
-                    ],
-                    [
-                        -10.3137689,
-                        52.4185533
-                    ],
-                    [
-                        -10.3166401,
-                        53.3341342
-                    ],
-                    [
-                        -10.3699669,
-                        53.3330727
-                    ],
-                    [
-                        -10.385965,
-                        54.3534472
-                    ],
-                    [
-                        -8.8163777,
-                        54.3586265
-                    ],
-                    [
-                        -8.8173427,
-                        54.6595721
-                    ],
-                    [
-                        -8.8413398,
-                        54.6616284
-                    ],
-                    [
-                        -8.8422286,
-                        54.6929749
-                    ],
-                    [
-                        -8.8315632,
-                        54.7145436
-                    ],
-                    [
-                        -8.8151208,
-                        54.7145436
-                    ]
-                ]
-            ],
-            "terms_url": "http://geo.nls.uk/maps/",
-            "terms_text": "National Library of Scotland Historic Maps"
-        },
-        {
-            "name": "Ireland British War Office 1:25k GSGS 3906",
-            "type": "tms",
-            "template": "http://mapwarper.net/layers/tile/101/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                0,
-                18
-            ],
-            "polygon": [
-                [
-                    [
-                        -10.71,
-                        51.32
-                    ],
-                    [
-                        -10.71,
-                        55.46
-                    ],
-                    [
-                        -5.37,
-                        55.46
-                    ],
-                    [
-                        -5.37,
-                        51.32
-                    ],
-                    [
-                        -10.71,
-                        51.32
-                    ]
-                ]
-            ],
-            "terms_url": "http://wiki.openstreetmap.org/wiki/WikiProject_Ireland#Trinity_College_Dublin",
-            "terms_text": "Glucksman Map Library, Trinity College Dublin",
-            "id": "GSGS3906"
-        },
-        {
-            "name": "Ireland British War Office One-Inch 1941-43 GSGS 4136",
-            "type": "tms",
-            "template": "http://geo.nls.uk/maps/ireland/gsgs4136/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                5,
-                15
-            ],
-            "polygon": [
-                [
-                    [
-                        -10.0847426,
-                        51.4147902
-                    ],
-                    [
-                        -10.0906535,
-                        51.5064103
-                    ],
-                    [
-                        -10.4564222,
-                        51.5003961
-                    ],
-                    [
-                        -10.5005905,
-                        52.3043019
-                    ],
-                    [
-                        -10.0837522,
-                        52.312741
-                    ],
-                    [
-                        -10.0840973,
-                        52.3404698
-                    ],
-                    [
-                        -10.055802,
-                        52.3408915
-                    ],
-                    [
-                        -10.0768509,
-                        52.7628238
-                    ],
-                    [
-                        -9.7780248,
-                        52.7684611
-                    ],
-                    [
-                        -9.7818205,
-                        52.8577261
-                    ],
-                    [
-                        -9.6337877,
-                        52.8596012
-                    ],
-                    [
-                        -9.6449626,
-                        53.1294502
-                    ],
-                    [
-                        -10.0919663,
-                        53.1227152
-                    ],
-                    [
-                        -10.1051422,
-                        53.3912913
-                    ],
-                    [
-                        -10.4052593,
-                        53.3866349
-                    ],
-                    [
-                        -10.4530828,
-                        54.193502
-                    ],
-                    [
-                        -10.2998523,
-                        54.1974988
-                    ],
-                    [
-                        -10.3149801,
-                        54.4669592
-                    ],
-                    [
-                        -8.9276095,
-                        54.4853897
-                    ],
-                    [
-                        -8.9339534,
-                        54.7546562
-                    ],
-                    [
-                        -8.7773069,
-                        54.755501
-                    ],
-                    [
-                        -8.7826749,
-                        55.0252208
-                    ],
-                    [
-                        -8.9402974,
-                        55.0238221
-                    ],
-                    [
-                        -8.9451773,
-                        55.2934155
-                    ],
-                    [
-                        -7.528039,
-                        55.2970274
-                    ],
-                    [
-                        -7.525599,
-                        55.3874955
-                    ],
-                    [
-                        -7.0541955,
-                        55.3841691
-                    ],
-                    [
-                        -7.0556595,
-                        55.2939712
-                    ],
-                    [
-                        -6.3241545,
-                        55.2859128
-                    ],
-                    [
-                        -6.3217146,
-                        55.3253556
-                    ],
-                    [
-                        -6.1035807,
-                        55.3223016
-                    ],
-                    [
-                        -6.1045566,
-                        55.2828557
-                    ],
-                    [
-                        -5.7985836,
-                        55.2772968
-                    ],
-                    [
-                        -5.8117595,
-                        55.0087135
-                    ],
-                    [
-                        -5.656577,
-                        55.0056351
-                    ],
-                    [
-                        -5.6721928,
-                        54.7355021
-                    ],
-                    [
-                        -5.3618278,
-                        54.729585
-                    ],
-                    [
-                        -5.3964755,
-                        54.1917889
-                    ],
-                    [
-                        -5.855679,
-                        54.2017807
-                    ],
-                    [
-                        -5.9220464,
-                        52.8524504
-                    ],
-                    [
-                        -6.070885,
-                        52.8551025
-                    ],
-                    [
-                        -6.1030927,
-                        52.1373337
-                    ],
-                    [
-                        -6.8331336,
-                        52.1463183
-                    ],
-                    [
-                        -6.8355736,
-                        52.0578908
-                    ],
-                    [
-                        -7.5641506,
-                        52.0617913
-                    ],
-                    [
-                        -7.5661026,
-                        51.7921593
-                    ],
-                    [
-                        -8.147305,
-                        51.792763
-                    ],
-                    [
-                        -8.146329,
-                        51.7033331
-                    ],
-                    [
-                        -8.2912636,
-                        51.7027283
-                    ],
-                    [
-                        -8.2897996,
-                        51.5227274
-                    ],
-                    [
-                        -9.1174397,
-                        51.516958
-                    ],
-                    [
-                        -9.1179277,
-                        51.4625685
-                    ],
-                    [
-                        -9.3692452,
-                        51.4616564
-                    ],
-                    [
-                        -9.3672933,
-                        51.4254613
-                    ]
-                ]
-            ],
-            "terms_url": "http://geo.nls.uk/maps/",
-            "terms_text": "National Library of Scotland Historic Maps",
-            "id": "GSGS4136"
-        },
-        {
-            "name": "Ireland EEA CORINE 2006",
-            "type": "tms",
-            "template": "http://a.tile.openstreetmap.ie/tiles/corine/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                5,
-                16
-            ],
-            "polygon": [
-                [
-                    [
-                        -5.842956,
-                        53.8627976
-                    ],
-                    [
-                        -5.8341575,
-                        53.7633541
-                    ],
-                    [
-                        -5.6267647,
-                        53.5383692
-                    ],
-                    [
-                        -5.9648778,
-                        52.1631197
-                    ],
-                    [
-                        -6.0453211,
-                        52.0527275
-                    ],
-                    [
-                        -6.1823261,
-                        51.9699475
-                    ],
-                    [
-                        -6.3960035,
-                        51.9234618
-                    ],
-                    [
-                        -6.5945978,
-                        51.883911
-                    ],
-                    [
-                        -7.2481994,
-                        51.9056295
-                    ],
-                    [
-                        -7.341212,
-                        51.8148076
-                    ],
-                    [
-                        -8.1971787,
-                        51.5037019
-                    ],
-                    [
-                        -8.3191005,
-                        51.4167737
-                    ],
-                    [
-                        -9.4478202,
-                        51.1991221
-                    ],
-                    [
-                        -9.9015706,
-                        51.2266802
-                    ],
-                    [
-                        -10.472215,
-                        51.4050139
-                    ],
-                    [
-                        -10.8857437,
-                        51.6770619
-                    ],
-                    [
-                        -11.035318,
-                        52.0620016
-                    ],
-                    [
-                        -10.9950963,
-                        52.1831616
-                    ],
-                    [
-                        -10.8178697,
-                        52.3139827
-                    ],
-                    [
-                        -9.8839736,
-                        52.9032208
-                    ],
-                    [
-                        -10.1165049,
-                        52.9676141
-                    ],
-                    [
-                        -10.5514014,
-                        53.3317027
-                    ],
-                    [
-                        -10.6896633,
-                        53.5854022
-                    ],
-                    [
-                        -10.6444139,
-                        54.0100436
-                    ],
-                    [
-                        -10.5501445,
-                        54.257482
-                    ],
-                    [
-                        -10.2824192,
-                        54.4742405
-                    ],
-                    [
-                        -9.8073011,
-                        54.5705346
-                    ],
-                    [
-                        -9.196435,
-                        54.5486695
-                    ],
-                    [
-                        -9.2253443,
-                        54.7000264
-                    ],
-                    [
-                        -8.8985435,
-                        55.1363582
-                    ],
-                    [
-                        -8.0476045,
-                        55.4711977
-                    ],
-                    [
-                        -7.4367384,
-                        55.6191092
-                    ],
-                    [
-                        -7.2205471,
-                        55.6205288
-                    ],
-                    [
-                        -6.8258723,
-                        55.5608644
-                    ],
-                    [
-                        -6.0679458,
-                        55.3727567
-                    ],
-                    [
-                        -5.5639184,
-                        55.0759594
-                    ],
-                    [
-                        -5.0649187,
-                        54.4640142
-                    ],
-                    [
-                        -5.2572284,
-                        54.1582424
-                    ]
-                ]
-            ],
-            "terms_url": "http://www.eea.europa.eu/data-and-maps/data/clc-2006-vector-data-version-1",
-            "terms_text": "EEA Corine 2006"
-        },
-        {
-            "name": "Ireland EEA GMES Urban Atlas",
-            "type": "tms",
-            "template": "http://a.tile.openstreetmap.ie/tiles/urbanatlas/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                5,
-                17
-            ],
-            "polygon": [
-                [
-                    [
-                        -9.2759602,
-                        52.7993666
-                    ],
-                    [
-                        -9.215509,
-                        52.8276933
-                    ],
-                    [
-                        -9.1086618,
-                        52.9128016
-                    ],
-                    [
-                        -9.0196831,
-                        52.8837107
-                    ],
-                    [
-                        -8.8760649,
-                        52.8978445
-                    ],
-                    [
-                        -8.8001797,
-                        52.8833558
-                    ],
-                    [
-                        -8.7665597,
-                        52.9065354
-                    ],
-                    [
-                        -8.5938079,
-                        52.9238592
-                    ],
-                    [
-                        -8.5241972,
-                        52.8869724
-                    ],
-                    [
-                        -8.4956786,
-                        52.9105906
-                    ],
-                    [
-                        -8.3506448,
-                        52.9238592
-                    ],
-                    [
-                        -8.2718204,
-                        52.9492401
-                    ],
-                    [
-                        -8.2249679,
-                        52.8991338
-                    ],
-                    [
-                        -8.1564001,
-                        52.9149986
-                    ],
-                    [
-                        -8.0881237,
-                        52.7630417
-                    ],
-                    [
-                        -8.1360092,
-                        52.7239783
-                    ],
-                    [
-                        -8.1570652,
-                        52.6766443
-                    ],
-                    [
-                        -8.2059695,
-                        52.6185385
-                    ],
-                    [
-                        -8.2025734,
-                        52.5954396
-                    ],
-                    [
-                        -8.2231242,
-                        52.5599691
-                    ],
-                    [
-                        -8.2236294,
-                        52.5095371
-                    ],
-                    [
-                        -8.2976651,
-                        52.5025088
-                    ],
-                    [
-                        -8.3295888,
-                        52.4721087
-                    ],
-                    [
-                        -8.3589695,
-                        52.4986072
-                    ],
-                    [
-                        -8.3737385,
-                        52.4764529
-                    ],
-                    [
-                        -8.432326,
-                        52.4342609
-                    ],
-                    [
-                        -8.4754569,
-                        52.4216289
-                    ],
-                    [
-                        -8.5017727,
-                        52.3870011
-                    ],
-                    [
-                        -8.5476205,
-                        52.3681351
-                    ],
-                    [
-                        -8.6444103,
-                        52.3376422
-                    ],
-                    [
-                        -8.6841451,
-                        52.3660614
-                    ],
-                    [
-                        -8.8154099,
-                        52.3721014
-                    ],
-                    [
-                        -8.8614233,
-                        52.3521652
-                    ],
-                    [
-                        -8.9074451,
-                        52.3824674
-                    ],
-                    [
-                        -8.9388551,
-                        52.3789166
-                    ],
-                    [
-                        -8.9782502,
-                        52.4093811
-                    ],
-                    [
-                        -9.0298715,
-                        52.4104169
-                    ],
-                    [
-                        -9.1059449,
-                        52.420981
-                    ],
-                    [
-                        -9.1084962,
-                        52.4415071
-                    ],
-                    [
-                        -9.140702,
-                        52.4650891
-                    ],
-                    [
-                        -9.1315765,
-                        52.5136207
-                    ],
-                    [
-                        -9.1739699,
-                        52.5620573
-                    ],
-                    [
-                        -9.1426235,
-                        52.589645
-                    ],
-                    [
-                        -9.1542382,
-                        52.610216
-                    ],
-                    [
-                        -9.1426231,
-                        52.6387401
-                    ],
-                    [
-                        -9.1776844,
-                        52.6447573
-                    ],
-                    [
-                        -9.2012184,
-                        52.6526248
-                    ],
-                    [
-                        -9.2036198,
-                        52.6686468
-                    ],
-                    [
-                        -9.2238348,
-                        52.6706578
-                    ],
-                    [
-                        -9.2161072,
-                        52.6919412
-                    ],
-                    [
-                        -9.1882395,
-                        52.7057242
-                    ],
-                    [
-                        -9.2750099,
-                        52.7350292
-                    ],
-                    [
-                        -9.2601152,
-                        52.7616711
-                    ]
-                ],
-                [
-                    [
-                        -7.307313219981238,
-                        53.81625879275365
-                    ],
-                    [
-                        -7.245858447032101,
-                        53.78300449111207
-                    ],
-                    [
-                        -7.15144468970801,
-                        53.81179938127503
-                    ],
-                    [
-                        -7.086900011973722,
-                        53.784424420834
-                    ],
-                    [
-                        -7.0347149533800435,
-                        53.77996162275688
-                    ],
-                    [
-                        -6.975320116954343,
-                        53.788481098127924
-                    ],
-                    [
-                        -6.928628222423156,
-                        53.81443454540607
-                    ],
-                    [
-                        -6.992829577403537,
-                        53.86609081229548
-                    ],
-                    [
-                        -6.975320116954343,
-                        53.87945028968944
-                    ],
-                    [
-                        -6.949914233165313,
-                        53.87094929783329
-                    ],
-                    [
-                        -6.9375546140247035,
-                        53.87540241385127
-                    ],
-                    [
-                        -6.936867968516893,
-                        53.896649390754646
-                    ],
-                    [
-                        -6.897042529063821,
-                        53.889770599553906
-                    ],
-                    [
-                        -6.867516772227924,
-                        53.880259817835736
-                    ],
-                    [
-                        -6.851037280040446,
-                        53.88450958346468
-                    ],
-                    [
-                        -6.842454211192801,
-                        53.89786317755242
-                    ],
-                    [
-                        -6.812928454356904,
-                        53.90069520963246
-                    ],
-                    [
-                        -6.79850889869286,
-                        53.89280549994937
-                    ],
-                    [
-                        -6.789925829845217,
-                        53.89462633440526
-                    ],
-                    [
-                        -6.791985766368652,
-                        53.904538374710896
-                    ],
-                    [
-                        -6.778939501720231,
-                        53.918087767078354
-                    ],
-                    [
-                        -6.77001311011868,
-                        53.91505470292794
-                    ],
-                    [
-                        -6.75868345923979,
-                        53.921727153244476
-                    ],
-                    [
-                        -6.744263903575747,
-                        53.916065748791254
-                    ],
-                    [
-                        -6.727441088634364,
-                        53.92334455637637
-                    ],
-                    [
-                        -6.713021532970319,
-                        53.90777445003927
-                    ],
-                    [
-                        -6.684182421642232,
-                        53.90292024303218
-                    ],
-                    [
-                        -6.623757616954815,
-                        53.88187882710815
-                    ],
-                    [
-                        -6.590455309825955,
-                        53.857789593974296
-                    ],
-                    [
-                        -6.591141955333765,
-                        53.835509894663346
-                    ],
-                    [
-                        -6.574319140392382,
-                        53.82254170362619
-                    ],
-                    [
-                        -6.571572558361136,
-                        53.804703885117576
-                    ],
-                    [
-                        -6.5533764524041285,
-                        53.79983770791046
-                    ],
-                    [
-                        -6.541360156017425,
-                        53.78300449111207
-                    ],
-                    [
-                        -6.511491076427622,
-                        53.76900546961285
-                    ],
-                    [
-                        -6.472695605236269,
-                        53.77326653566421
-                    ],
-                    [
-                        -6.443513171154276,
-                        53.76393220797015
-                    ],
-                    [
-                        -6.44728972144724,
-                        53.75114486961979
-                    ],
-                    [
-                        -6.4775021237909485,
-                        53.728199094666586
-                    ],
-                    [
-                        -6.459649340587848,
-                        53.71682309412751
-                    ],
-                    [
-                        -6.435616747814443,
-                        53.72230833571077
-                    ],
-                    [
-                        -6.4198239011347775,
-                        53.72921465935537
-                    ],
-                    [
-                        -6.4009411496699595,
-                        53.72169889975152
-                    ],
-                    [
-                        -6.375878588634836,
-                        53.718042098526006
-                    ],
-                    [
-                        -6.359055773693453,
-                        53.708695495259434
-                    ],
-                    [
-                        -6.340173022228636,
-                        53.708085862042424
-                    ],
-                    [
-                        -6.329873339611461,
-                        53.71296268045594
-                    ],
-                    [
-                        -6.325753466564592,
-                        53.72210519137233
-                    ],
-                    [
-                        -6.2938244504513525,
-                        53.72576163932632
-                    ],
-                    [
-                        -6.265328661877173,
-                        53.7363229253304
-                    ],
-                    [
-                        -6.240952746349864,
-                        53.734292114843086
-                    ],
-                    [
-                        -6.180871264416349,
-                        53.632015710147016
-                    ],
-                    [
-                        -6.092793818322125,
-                        53.588038288422446
-                    ],
-                    [
-                        -5.985734079608837,
-                        53.49383447350347
-                    ],
-                    [
-                        -6.0887447432153685,
-                        53.27174268379562
-                    ],
-                    [
-                        -6.033272979232964,
-                        53.1191110041494
-                    ],
-                    [
-                        -5.984663357119282,
-                        52.9651254915577
-                    ],
-                    [
-                        -6.122679104189409,
-                        52.73207538466633
-                    ],
-                    [
-                        -6.185163845400262,
-                        52.73706461957944
-                    ],
-                    [
-                        -6.1899703639549415,
-                        52.76075568810044
-                    ],
-                    [
-                        -6.319059719423517,
-                        52.782357357522855
-                    ],
-                    [
-                        -6.393904079774976,
-                        52.7790347214105
-                    ],
-                    [
-                        -6.465315212587381,
-                        52.6946379192593
-                    ],
-                    [
-                        -6.534666408876349,
-                        52.673409093161446
-                    ],
-                    [
-                        -6.612257351259057,
-                        52.69255711803012
-                    ],
-                    [
-                        -6.6692489284074155,
-                        52.74745702505679
-                    ],
-                    [
-                        -6.671308864930852,
-                        52.76948072949997
-                    ],
-                    [
-                        -6.720747341493285,
-                        52.7748810695361
-                    ],
-                    [
-                        -6.71456753192298,
-                        52.80311808637125
-                    ],
-                    [
-                        -6.658949245790243,
-                        52.84709806982182
-                    ],
-                    [
-                        -6.582044948915348,
-                        52.81349473557279
-                    ],
-                    [
-                        -6.547712673524768,
-                        52.83133677935633
-                    ],
-                    [
-                        -6.531233181337292,
-                        52.87404491274922
-                    ],
-                    [
-                        -6.617750515321548,
-                        52.87528820923615
-                    ],
-                    [
-                        -6.728987087587023,
-                        52.90635903963372
-                    ],
-                    [
-                        -6.780485500672891,
-                        52.859122574848655
-                    ],
-                    [
-                        -6.870436062196207,
-                        52.85165948109425
-                    ],
-                    [
-                        -6.938413967469552,
-                        52.86658438536895
-                    ],
-                    [
-                        -6.965879787782016,
-                        52.89766145203082
-                    ],
-                    [
-                        -6.987852444031986,
-                        52.969260966642985
-                    ],
-                    [
-                        -7.039350857117853,
-                        52.9560260536776
-                    ],
-                    [
-                        -7.109388698914634,
-                        53.007288776633686
-                    ],
-                    [
-                        -7.068876613953752,
-                        53.058078015357786
-                    ],
-                    [
-                        -7.088789333680287,
-                        53.11869890949892
-                    ],
-                    [
-                        -7.119688381531809,
-                        53.15000684568904
-                    ],
-                    [
-                        -7.105955471375577,
-                        53.16112391039828
-                    ],
-                    [
-                        -7.127928127625547,
-                        53.17223809655703
-                    ],
-                    [
-                        -7.180113186219227,
-                        53.182526443342745
-                    ],
-                    [
-                        -7.160887112000503,
-                        53.19898266621498
-                    ],
-                    [
-                        -7.057890285828767,
-                        53.19898266621498
-                    ],
-                    [
-                        -7.048963894227218,
-                        53.217077217179636
-                    ],
-                    [
-                        -7.0915359157115345,
-                        53.235575105358386
-                    ],
-                    [
-                        -7.0434707301647235,
-                        53.25735126035676
-                    ],
-                    [
-                        -7.05102383075065,
-                        53.29717703664696
-                    ],
-                    [
-                        -6.996778835633536,
-                        53.31112780504489
-                    ],
-                    [
-                        -7.044157375672535,
-                        53.33368557548294
-                    ],
-                    [
-                        -7.105955471375576,
-                        53.371801590024276
-                    ],
-                    [
-                        -7.22050647653913,
-                        53.432465115081854
-                    ],
-                    [
-                        -7.149441429887032,
-                        53.45731709817442
-                    ],
-                    [
-                        -7.099891489102085,
-                        53.463915962572514
-                    ],
-                    [
-                        -7.0744645458045445,
-                        53.48370640260363
-                    ],
-                    [
-                        -7.079028356140001,
-                        53.504650927752664
-                    ],
-                    [
-                        -7.047733656696876,
-                        53.515119311359335
-                    ],
-                    [
-                        -7.029478415355053,
-                        53.54147267392419
-                    ],
-                    [
-                        -7.054253385747527,
-                        53.56471202500164
-                    ],
-                    [
-                        -7.009267255298033,
-                        53.58561652973758
-                    ],
-                    [
-                        -6.992641946218873,
-                        53.602642188744426
-                    ],
-                    [
-                        -6.989056095241016,
-                        53.62739453790707
-                    ],
-                    [
-                        -6.9717788132567895,
-                        53.63686620586593
-                    ],
-                    [
-                        -6.9633031654909425,
-                        53.650973114934644
-                    ],
-                    [
-                        -6.9871001765258205,
-                        53.66623418009986
-                    ],
-                    [
-                        -6.999813648174589,
-                        53.67086935885432
-                    ],
-                    [
-                        -7.008289295940436,
-                        53.65908728051006
-                    ],
-                    [
-                        -7.044473792171549,
-                        53.65367801032349
-                    ],
-                    [
-                        -7.066640870943764,
-                        53.63918547390694
-                    ],
-                    [
-                        -7.101847407817279,
-                        53.65870092708686
-                    ],
-                    [
-                        -7.120754622064167,
-                        53.672993645380515
-                    ],
-                    [
-                        -7.137379931143327,
-                        53.66893809633893
-                    ],
-                    [
-                        -7.160850955725672,
-                        53.683034277255075
-                    ],
-                    [
-                        -7.174216400279507,
-                        53.686316272406906
-                    ],
-                    [
-                        -7.196057492599188,
-                        53.69017711570491
-                    ],
-                    [
-                        -7.210726882963154,
-                        53.69480966037566
-                    ],
-                    [
-                        -7.247237365646801,
-                        53.71661437518035
-                    ],
-                    [
-                        -7.239413690786019,
-                        53.73223735177976
-                    ],
-                    [
-                        -7.260276823748104,
-                        53.74361339729716
-                    ],
-                    [
-                        -7.2814659431627184,
-                        53.75922634307083
-                    ],
-                    [
-                        -7.289615604476034,
-                        53.77271433845693
-                    ],
-                    [
-                        -7.3238441819919515,
-                        53.78465723043301
-                    ],
-                    [
-                        -7.337209626545788,
-                        53.78658318504567
-                    ],
-                    [
-                        -7.351227044004687,
-                        53.80141007448381
-                    ],
-                    [
-                        -7.307313219981238,
-                        53.81625879275365
-                    ]
-                ],
-                [
-                    [
-                        -5.685433013282673,
-                        54.77854496390836
-                    ],
-                    [
-                        -5.696867084279401,
-                        54.73050346921268
-                    ],
-                    [
-                        -5.8223689524230124,
-                        54.70033215177621
-                    ],
-                    [
-                        -5.878760568989772,
-                        54.649492182564074
-                    ],
-                    [
-                        -5.743404719024681,
-                        54.68128223623249
-                    ],
-                    [
-                        -5.581196917402638,
-                        54.68781619319656
-                    ],
-                    [
-                        -5.571488953592992,
-                        54.67074450064368
-                    ],
-                    [
-                        -5.582915011231644,
-                        54.66440901595977
-                    ],
-                    [
-                        -5.58291501123164,
-                        54.65085746679818
-                    ],
-                    [
-                        -5.6086481910584185,
-                        54.63997082553691
-                    ],
-                    [
-                        -5.6354970593650116,
-                        54.61551371292451
-                    ],
-                    [
-                        -5.728732824433139,
-                        54.6184944610979
-                    ],
-                    [
-                        -5.822612969913913,
-                        54.49193018941315
-                    ],
-                    [
-                        -5.896754545381575,
-                        54.44975600798866
-                    ],
-                    [
-                        -5.936834914186871,
-                        54.38213187386197
-                    ],
-                    [
-                        -6.0187561190025445,
-                        54.36974944197913
-                    ],
-                    [
-                        -6.059257912638059,
-                        54.38280030737259
-                    ],
-                    [
-                        -6.101784280694663,
-                        54.41510088826871
-                    ],
-                    [
-                        -6.1740201072375225,
-                        54.43476829635816
-                    ],
-                    [
-                        -6.216261364689026,
-                        54.42827259213158
-                    ],
-                    [
-                        -6.264329002478664,
-                        54.487825014814625
-                    ],
-                    [
-                        -6.249277519938476,
-                        54.49741303545491
-                    ],
-                    [
-                        -6.288340515296785,
-                        54.53143435197413
-                    ],
-                    [
-                        -6.283750270272458,
-                        54.54447449434036
-                    ],
-                    [
-                        -6.321445027854273,
-                        54.58928767713928
-                    ],
-                    [
-                        -6.264329002478664,
-                        54.604982769755765
-                    ],
-                    [
-                        -6.240052417736423,
-                        54.59541999854735
-                    ],
-                    [
-                        -6.098762694536575,
-                        54.631690374598676
-                    ],
-                    [
-                        -6.051950538018501,
-                        54.61314575326238
-                    ],
-                    [
-                        -6.031509408441251,
-                        54.620921248201434
-                    ],
-                    [
-                        -6.002995140908084,
-                        54.65571636730639
-                    ],
-                    [
-                        -6.0647754758974335,
-                        54.6634355452454
-                    ],
-                    [
-                        -6.059920158948984,
-                        54.704134188139534
-                    ],
-                    [
-                        -6.047781866577864,
-                        54.71395188569398
-                    ],
-                    [
-                        -6.120611620804591,
-                        54.801644524994515
-                    ],
-                    [
-                        -6.002141887262449,
-                        54.80836072138932
-                    ],
-                    [
-                        -5.984662746248036,
-                        54.78652900156178
-                    ],
-                    [
-                        -5.685433013282673,
-                        54.77854496390836
-                    ]
-                ],
-                [
-                    [
-                        -9.128658300749114,
-                        53.24759266864586
-                    ],
-                    [
-                        -9.024510568479629,
-                        53.26744820137083
-                    ],
-                    [
-                        -9.016360907166316,
-                        53.26364619217274
-                    ],
-                    [
-                        -9.001854510028616,
-                        53.26588844362053
-                    ],
-                    [
-                        -8.9951717877517,
-                        53.259258838409615
-                    ],
-                    [
-                        -8.973493688658284,
-                        53.262378780650025
-                    ],
-                    [
-                        -8.95230456924367,
-                        53.271444820907114
-                    ],
-                    [
-                        -8.956705386352859,
-                        53.281580911863244
-                    ],
-                    [
-                        -8.961106203462048,
-                        53.28119110665652
-                    ],
-                    [
-                        -8.960780217009516,
-                        53.28908396911955
-                    ],
-                    [
-                        -8.954260487958864,
-                        53.28927883616923
-                    ],
-                    [
-                        -8.95230456924367,
-                        53.30155366854246
-                    ],
-                    [
-                        -8.963714095082308,
-                        53.303793931840495
-                    ],
-                    [
-                        -8.9811543702928,
-                        53.294734752711804
-                    ],
-                    [
-                        -8.985718180628256,
-                        53.30174847871221
-                    ],
-                    [
-                        -9.019946758144176,
-                        53.30768976199425
-                    ],
-                    [
-                        -9.00837423907927,
-                        53.31596722087059
-                    ],
-                    [
-                        -9.01880580556031,
-                        53.31625933715475
-                    ],
-                    [
-                        -9.045862681120513,
-                        53.31275380979257
-                    ],
-                    [
-                        -9.06444390891487,
-                        53.32122500810515
-                    ],
-                    [
-                        -9.080906224767762,
-                        53.307397587062724
-                    ],
-                    [
-                        -9.08106921799403,
-                        53.303404329274585
-                    ],
-                    [
-                        -9.09019683866494,
-                        53.30574189135002
-                    ],
-                    [
-                        -9.095901601584261,
-                        53.298826232852214
-                    ],
-                    [
-                        -9.10128037805105,
-                        53.3008718259498
-                    ],
-                    [
-                        -9.115623781962478,
-                        53.28450433758295
-                    ],
-                    [
-                        -9.121491538108067,
-                        53.2832375443259
-                    ],
-                    [
-                        -9.13273807072044,
-                        53.28557621023763
-                    ],
-                    [
-                        -9.144636576237877,
-                        53.27865728614638
-                    ],
-                    [
-                        -9.13876882009229,
-                        53.26345120822951
-                    ],
-                    [
-                        -9.128658300749114,
-                        53.24759266864586
-                    ]
-                ],
-                [
-                    [
-                        -8.595266214281438,
-                        51.69264788483154
-                    ],
-                    [
-                        -8.55819409885298,
-                        51.69306638852667
-                    ],
-                    [
-                        -8.566697711835303,
-                        51.682644706464686
-                    ],
-                    [
-                        -8.579130708100188,
-                        51.67349700898941
-                    ],
-                    [
-                        -8.544554623426079,
-                        51.66520531197343
-                    ],
-                    [
-                        -8.494765061495364,
-                        51.667778759675976
-                    ],
-                    [
-                        -8.30113898732036,
-                        51.7235009029955
-                    ],
-                    [
-                        -8.268406960495541,
-                        51.784858633837544
-                    ],
-                    [
-                        -8.154536388302146,
-                        51.7814362126791
-                    ],
-                    [
-                        -8.115350159004825,
-                        51.809093351533164
-                    ],
-                    [
-                        -8.068326683848039,
-                        51.870050153657075
-                    ],
-                    [
-                        -8.10059769621054,
-                        51.89964422561186
-                    ],
-                    [
-                        -8.08123508879304,
-                        51.918414974037226
-                    ],
-                    [
-                        -8.09183842142643,
-                        51.95337589170907
-                    ],
-                    [
-                        -8.124570448251253,
-                        51.95479649105758
-                    ],
-                    [
-                        -8.132407694110718,
-                        51.970988142592034
-                    ],
-                    [
-                        -8.099675667285895,
-                        51.978371865876596
-                    ],
-                    [
-                        -8.144394070131078,
-                        52.02151390085561
-                    ],
-                    [
-                        -8.159607547387685,
-                        52.064330945363764
-                    ],
-                    [
-                        -8.140705954432507,
-                        52.07254939152303
-                    ],
-                    [
-                        -8.165600735397863,
-                        52.09294727054506
-                    ],
-                    [
-                        -8.18726841512697,
-                        52.0835993998731
-                    ],
-                    [
-                        -8.2093971093184,
-                        52.10512489114057
-                    ],
-                    [
-                        -8.207092037006792,
-                        52.12494181389489
-                    ],
-                    [
-                        -8.227837687811258,
-                        52.143052434929714
-                    ],
-                    [
-                        -8.222766528725723,
-                        52.16454923557058
-                    ],
-                    [
-                        -8.30298304516965,
-                        52.1829264222872
-                    ],
-                    [
-                        -8.427456949996438,
-                        52.17783811526099
-                    ],
-                    [
-                        -8.46710419375608,
-                        52.169921813849676
-                    ],
-                    [
-                        -8.509978538751975,
-                        52.18405707812542
-                    ],
-                    [
-                        -8.530263175094117,
-                        52.16511480067495
-                    ],
-                    [
-                        -8.574981577939297,
-                        52.18066502436804
-                    ],
-                    [
-                        -8.587889982884295,
-                        52.16963906274442
-                    ],
-                    [
-                        -8.642289689438227,
-                        52.18829678149147
-                    ],
-                    [
-                        -8.719279104645906,
-                        52.15804472022032
-                    ],
-                    [
-                        -8.698533453841442,
-                        52.13541291452849
-                    ],
-                    [
-                        -8.740946784375014,
-                        52.10823956240069
-                    ],
-                    [
-                        -8.77460084012448,
-                        52.05951253229793
-                    ],
-                    [
-                        -8.803183736788409,
-                        52.03768144571248
-                    ],
-                    [
-                        -8.86818677597573,
-                        52.03286015807593
-                    ],
-                    [
-                        -8.870491848287335,
-                        52.01839317543363
-                    ],
-                    [
-                        -8.844214023935015,
-                        51.991148511559096
-                    ],
-                    [
-                        -8.79811257770287,
-                        51.964455373040394
-                    ],
-                    [
-                        -8.782899100446263,
-                        51.931777239822054
-                    ],
-                    [
-                        -8.835915763613228,
-                        51.9292188160068
-                    ],
-                    [
-                        -8.838681850387156,
-                        51.90277322850554
-                    ],
-                    [
-                        -8.802261707863764,
-                        51.89367006943167
-                    ],
-                    [
-                        -8.792580404155013,
-                        51.85695425263326
-                    ],
-                    [
-                        -8.765841565340368,
-                        51.82476769939557
-                    ],
-                    [
-                        -8.758926348405547,
-                        51.80054140901511
-                    ],
-                    [
-                        -8.79811257770287,
-                        51.78628456602828
-                    ],
-                    [
-                        -8.832227647914657,
-                        51.79626482935233
-                    ],
-                    [
-                        -8.836837792537873,
-                        51.77687258059678
-                    ],
-                    [
-                        -8.885705325543944,
-                        51.746055989869106
-                    ],
-                    [
-                        -8.859888515653944,
-                        51.72435763090916
-                    ],
-                    [
-                        -8.807332866949299,
-                        51.71093369500414
-                    ],
-                    [
-                        -8.678248817499297,
-                        51.693505197270746
-                    ],
-                    [
-                        -8.60540853245251,
-                        51.67835695335278
-                    ],
-                    [
-                        -8.595266214281438,
-                        51.69264788483154
-                    ]
-                ],
-                [
-                    [
-                        -7.138279151048154,
-                        55.06131559970097
-                    ],
-                    [
-                        -7.117994514706011,
-                        54.99631329558348
-                    ],
-                    [
-                        -7.070049010624583,
-                        54.98784996056705
-                    ],
-                    [
-                        -7.076503213097081,
-                        54.93332450204895
-                    ],
-                    [
-                        -7.025791622241725,
-                        54.91159959910791
-                    ],
-                    [
-                        -7.007351043748867,
-                        54.87872502112528
-                    ],
-                    [
-                        -7.024869593317081,
-                        54.8511320998998
-                    ],
-                    [
-                        -6.990754523105296,
-                        54.81661438893913
-                    ],
-                    [
-                        -7.051608432131725,
-                        54.80598761598125
-                    ],
-                    [
-                        -7.115228427932084,
-                        54.80651902101645
-                    ],
-                    [
-                        -7.170550163410654,
-                        54.84847793920564
-                    ],
-                    [
-                        -7.199133060074584,
-                        54.84316909395457
-                    ],
-                    [
-                        -7.222183783190655,
-                        54.85803210052931
-                    ],
-                    [
-                        -7.2111194360949415,
-                        54.862808332627324
-                    ],
-                    [
-                        -7.212041465019584,
-                        54.882438010878076
-                    ],
-                    [
-                        -7.279349576518514,
-                        54.880846771447125
-                    ],
-                    [
-                        -7.273817402970655,
-                        54.91530955931841
-                    ],
-                    [
-                        -7.3033223285592275,
-                        54.915839525718205
-                    ],
-                    [
-                        -7.363254208661015,
-                        54.90894941815292
-                    ],
-                    [
-                        -7.385382902852443,
-                        54.91636948513913
-                    ],
-                    [
-                        -7.391837105324943,
-                        54.93438395336098
-                    ],
-                    [
-                        -7.429640291235302,
-                        54.95291983389722
-                    ],
-                    [
-                        -7.420420001988872,
-                        54.99208185118366
-                    ],
-                    [
-                        -7.410277683817801,
-                        55.03437621938347
-                    ],
-                    [
-                        -7.3577220351131585,
-                        55.057619110599035
-                    ],
-                    [
-                        -7.265519142648871,
-                        55.07557028899173
-                    ],
-                    [
-                        -7.138279151048154,
-                        55.06131559970097
-                    ]
-                ],
-                [
-                    [
-                        -7.190498776293322,
-                        52.26144368927652
-                    ],
-                    [
-                        -7.156844720543858,
-                        52.28443443581867
-                    ],
-                    [
-                        -7.132871968503143,
-                        52.27343421670601
-                    ],
-                    [
-                        -7.113278853854483,
-                        52.26779201951648
-                    ],
-                    [
-                        -7.098295883829036,
-                        52.27230583471742
-                    ],
-                    [
-                        -7.089767116276089,
-                        52.25509445009032
-                    ],
-                    [
-                        -7.07109603055207,
-                        52.259186286149074
-                    ],
-                    [
-                        -7.033984366335195,
-                        52.257352061495865
-                    ],
-                    [
-                        -7.027530163862696,
-                        52.250720000975015
-                    ],
-                    [
-                        -7.034675888028678,
-                        52.247756419376
-                    ],
-                    [
-                        -7.031218279561267,
-                        52.24013487190721
-                    ],
-                    [
-                        -7.034214873566356,
-                        52.23222966213934
-                    ],
-                    [
-                        -7.050580886978767,
-                        52.2296884028405
-                    ],
-                    [
-                        -7.062567262999124,
-                        52.21980434486687
-                    ],
-                    [
-                        -7.076858711331088,
-                        52.216132562953725
-                    ],
-                    [
-                        -7.084926464421715,
-                        52.22065163604718
-                    ],
-                    [
-                        -7.084465449959392,
-                        52.22785295843095
-                    ],
-                    [
-                        -7.101292477834124,
-                        52.221498911062525
-                    ],
-                    [
-                        -7.105211100763858,
-                        52.21726237433474
-                    ],
-                    [
-                        -7.111665303236357,
-                        52.21796849185403
-                    ],
-                    [
-                        -7.107977187537785,
-                        52.21104805609072
-                    ],
-                    [
-                        -7.117773744862115,
-                        52.20928246619701
-                    ],
-                    [
-                        -7.129760120882472,
-                        52.21690931136535
-                    ],
-                    [
-                        -7.14497359813908,
-                        52.21782726924826
-                    ],
-                    [
-                        -7.150505771686938,
-                        52.22375823207553
-                    ],
-                    [
-                        -7.158112510315241,
-                        52.22262858593765
-                    ],
-                    [
-                        -7.158804032008724,
-                        52.22700580464912
-                    ],
-                    [
-                        -7.158573524777563,
-                        52.23180612902503
-                    ],
-                    [
-                        -7.167563306792832,
-                        52.23985256723076
-                    ],
-                    [
-                        -7.16733279956167,
-                        52.244580933687786
-                    ],
-                    [
-                        -7.172519212262786,
-                        52.24676851484933
-                    ],
-                    [
-                        -7.177590371348324,
-                        52.25114335361416
-                    ],
-                    [
-                        -7.190498776293322,
-                        52.26144368927652
-                    ]
-                ]
-            ],
-            "terms_url": "http://www.eea.europa.eu/data-and-maps/data/urban-atlas",
-            "terms_text": "EEA GMES Urban Atlas"
-        },
-        {
-            "name": "Kanton Aargau 25cm (AGIS 2011)",
-            "type": "tms",
-            "template": "http://tiles.poole.ch/AGIS/OF2011/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                14,
-                19
-            ],
-            "polygon": [
-                [
-                    [
-                        7.7,
-                        47.12
-                    ],
-                    [
-                        7.7,
-                        47.63
-                    ],
-                    [
-                        8.5,
-                        47.63
-                    ],
-                    [
-                        8.5,
-                        47.12
-                    ],
-                    [
-                        7.7,
-                        47.12
-                    ]
-                ]
-            ],
-            "terms_text": "AGIS OF2011"
-        },
-        {
-            "name": "Katastrálna mapa Slovenska (KaPor, 2010-04)",
-            "type": "tms",
-            "template": "http://www.freemap.sk/tms/kapor2/{zoom}/{x}/{y}.jpg",
-            "polygon": [
-                [
-                    [
-                        19.83682,
-                        49.25529
-                    ],
-                    [
-                        19.80075,
-                        49.42385
-                    ],
-                    [
-                        19.60437,
-                        49.48058
-                    ],
-                    [
-                        19.49179,
-                        49.63961
-                    ],
-                    [
-                        19.21831,
-                        49.52604
-                    ],
-                    [
-                        19.16778,
-                        49.42521
-                    ],
-                    [
-                        19.00308,
-                        49.42236
-                    ],
-                    [
-                        18.97611,
-                        49.5308
-                    ],
-                    [
-                        18.54685,
-                        49.51425
-                    ],
-                    [
-                        18.31432,
-                        49.33818
-                    ],
-                    [
-                        18.15913,
-                        49.2961
-                    ],
-                    [
-                        18.05564,
-                        49.11134
-                    ],
-                    [
-                        17.56396,
-                        48.84938
-                    ],
-                    [
-                        17.17929,
-                        48.88816
-                    ],
-                    [
-                        17.058,
-                        48.81105
-                    ],
-                    [
-                        16.90426,
-                        48.61947
-                    ],
-                    [
-                        16.79685,
-                        48.38561
-                    ],
-                    [
-                        17.06762,
-                        48.01116
-                    ],
-                    [
-                        17.32787,
-                        47.97749
-                    ],
-                    [
-                        17.51699,
-                        47.82535
-                    ],
-                    [
-                        17.74776,
-                        47.73093
-                    ],
-                    [
-                        18.29515,
-                        47.72075
-                    ],
-                    [
-                        18.67959,
-                        47.75541
-                    ],
-                    [
-                        18.89755,
-                        47.81203
-                    ],
-                    [
-                        18.79463,
-                        47.88245
-                    ],
-                    [
-                        18.84318,
-                        48.04046
-                    ],
-                    [
-                        19.46212,
-                        48.05333
-                    ],
-                    [
-                        19.62064,
-                        48.22938
-                    ],
-                    [
-                        19.89585,
-                        48.09387
-                    ],
-                    [
-                        20.33766,
-                        48.2643
-                    ],
-                    [
-                        20.55395,
-                        48.52358
-                    ],
-                    [
-                        20.82335,
-                        48.55714
-                    ],
-                    [
-                        21.10271,
-                        48.47096
-                    ],
-                    [
-                        21.45863,
-                        48.55513
-                    ],
-                    [
-                        21.74536,
-                        48.31435
-                    ],
-                    [
-                        22.15293,
-                        48.37179
-                    ],
-                    [
-                        22.61255,
-                        49.08914
-                    ],
-                    [
-                        22.09997,
-                        49.23814
-                    ],
-                    [
-                        21.9686,
-                        49.36363
-                    ],
-                    [
-                        21.6244,
-                        49.46989
-                    ],
-                    [
-                        21.06873,
-                        49.46402
-                    ],
-                    [
-                        20.94336,
-                        49.31088
-                    ],
-                    [
-                        20.73052,
-                        49.44006
-                    ],
-                    [
-                        20.22804,
-                        49.41714
-                    ],
-                    [
-                        20.05234,
-                        49.23052
-                    ],
-                    [
-                        19.83682,
-                        49.25529
-                    ]
-                ]
-            ],
-            "terms_url": "http://wiki.freemap.sk/KatasterPortal",
-            "terms_text": "Permisssion by UGKK"
-        },
-        {
-            "name": "Katastrálna mapa Slovenska (KaPor, 2011-05)",
-            "type": "tms",
-            "template": "http://www.freemap.sk/tms/kapor2_201105/{zoom}/{x}/{y}.jpg",
-            "polygon": [
-                [
-                    [
-                        19.83682,
-                        49.25529
-                    ],
-                    [
-                        19.80075,
-                        49.42385
-                    ],
-                    [
-                        19.60437,
-                        49.48058
-                    ],
-                    [
-                        19.49179,
-                        49.63961
-                    ],
-                    [
-                        19.21831,
-                        49.52604
-                    ],
-                    [
-                        19.16778,
-                        49.42521
-                    ],
-                    [
-                        19.00308,
-                        49.42236
-                    ],
-                    [
-                        18.97611,
-                        49.5308
-                    ],
-                    [
-                        18.54685,
-                        49.51425
-                    ],
-                    [
-                        18.31432,
-                        49.33818
-                    ],
-                    [
-                        18.15913,
-                        49.2961
-                    ],
-                    [
-                        18.05564,
-                        49.11134
-                    ],
-                    [
-                        17.56396,
-                        48.84938
-                    ],
-                    [
-                        17.17929,
-                        48.88816
-                    ],
-                    [
-                        17.058,
-                        48.81105
-                    ],
-                    [
-                        16.90426,
-                        48.61947
-                    ],
-                    [
-                        16.79685,
-                        48.38561
-                    ],
-                    [
-                        17.06762,
-                        48.01116
-                    ],
-                    [
-                        17.32787,
-                        47.97749
-                    ],
-                    [
-                        17.51699,
-                        47.82535
-                    ],
-                    [
-                        17.74776,
-                        47.73093
-                    ],
-                    [
-                        18.29515,
-                        47.72075
-                    ],
-                    [
-                        18.67959,
-                        47.75541
-                    ],
-                    [
-                        18.89755,
-                        47.81203
-                    ],
-                    [
-                        18.79463,
-                        47.88245
-                    ],
-                    [
-                        18.84318,
-                        48.04046
-                    ],
-                    [
-                        19.46212,
-                        48.05333
-                    ],
-                    [
-                        19.62064,
-                        48.22938
-                    ],
-                    [
-                        19.89585,
-                        48.09387
-                    ],
-                    [
-                        20.33766,
-                        48.2643
-                    ],
-                    [
-                        20.55395,
-                        48.52358
-                    ],
-                    [
-                        20.82335,
-                        48.55714
-                    ],
-                    [
-                        21.10271,
-                        48.47096
-                    ],
-                    [
-                        21.45863,
-                        48.55513
-                    ],
-                    [
-                        21.74536,
-                        48.31435
-                    ],
-                    [
-                        22.15293,
-                        48.37179
-                    ],
-                    [
-                        22.61255,
-                        49.08914
-                    ],
-                    [
-                        22.09997,
-                        49.23814
-                    ],
-                    [
-                        21.9686,
-                        49.36363
-                    ],
-                    [
-                        21.6244,
-                        49.46989
-                    ],
-                    [
-                        21.06873,
-                        49.46402
-                    ],
-                    [
-                        20.94336,
-                        49.31088
-                    ],
-                    [
-                        20.73052,
-                        49.44006
-                    ],
-                    [
-                        20.22804,
-                        49.41714
-                    ],
-                    [
-                        20.05234,
-                        49.23052
-                    ],
-                    [
-                        19.83682,
-                        49.25529
-                    ]
-                ]
-            ],
-            "terms_url": "http://wiki.freemap.sk/KatasterPortal",
-            "terms_text": "Permisssion by UGKK"
-        },
-        {
-            "name": "Kelowna 2012",
-            "type": "tms",
-            "description": "High quality aerial imagery taken for the City of Kelowna",
-            "template": "http://{switch:a,b,c,d}.tile.paulnorman.ca/kelowna2012/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                9,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -119.5867318,
-                        49.7928087
-                    ],
-                    [
-                        -119.5465655,
-                        49.7928097
-                    ],
-                    [
-                        -119.5465661,
-                        49.8013837
-                    ],
-                    [
-                        -119.5343374,
-                        49.8013841
-                    ],
-                    [
-                        -119.5343376,
-                        49.8047321
-                    ],
-                    [
-                        -119.5296211,
-                        49.8047322
-                    ],
-                    [
-                        -119.5296216,
-                        49.8119555
-                    ],
-                    [
-                        -119.5104463,
-                        49.811956
-                    ],
-                    [
-                        -119.5115683,
-                        49.8744325
-                    ],
-                    [
-                        -119.5108946,
-                        49.8744904
-                    ],
-                    [
-                        -119.5114111,
-                        49.8843312
-                    ],
-                    [
-                        -119.5114115,
-                        49.9221763
-                    ],
-                    [
-                        -119.49386,
-                        49.9223477
-                    ],
-                    [
-                        -119.4940505,
-                        49.9313031
-                    ],
-                    [
-                        -119.4803936,
-                        49.9317529
-                    ],
-                    [
-                        -119.4804572,
-                        49.9407474
-                    ],
-                    [
-                        -119.4666732,
-                        49.9409927
-                    ],
-                    [
-                        -119.4692775,
-                        49.9913717
-                    ],
-                    [
-                        -119.4551337,
-                        49.9916078
-                    ],
-                    [
-                        -119.4556736,
-                        50.0121242
-                    ],
-                    [
-                        -119.4416673,
-                        50.0123895
-                    ],
-                    [
-                        -119.4417308,
-                        50.0136345
-                    ],
-                    [
-                        -119.4221492,
-                        50.0140377
-                    ],
-                    [
-                        -119.4221042,
-                        50.0119306
-                    ],
-                    [
-                        -119.4121303,
-                        50.012165
-                    ],
-                    [
-                        -119.4126082,
-                        50.0216913
-                    ],
-                    [
-                        -119.4123387,
-                        50.0216913
-                    ],
-                    [
-                        -119.4124772,
-                        50.0250773
-                    ],
-                    [
-                        -119.4120917,
-                        50.0250821
-                    ],
-                    [
-                        -119.4121954,
-                        50.0270769
-                    ],
-                    [
-                        -119.4126083,
-                        50.0270718
-                    ],
-                    [
-                        -119.4128328,
-                        50.0321946
-                    ],
-                    [
-                        -119.3936313,
-                        50.0326418
-                    ],
-                    [
-                        -119.393529,
-                        50.0307781
-                    ],
-                    [
-                        -119.3795727,
-                        50.0310116
-                    ],
-                    [
-                        -119.3795377,
-                        50.0287584
-                    ],
-                    [
-                        -119.3735764,
-                        50.0288621
-                    ],
-                    [
-                        -119.371544,
-                        49.9793618
-                    ],
-                    [
-                        -119.3573506,
-                        49.9793618
-                    ],
-                    [
-                        -119.3548353,
-                        49.9256081
-                    ],
-                    [
-                        -119.3268079,
-                        49.9257238
-                    ],
-                    [
-                        -119.3256573,
-                        49.8804068
-                    ],
-                    [
-                        -119.3138893,
-                        49.8806528
-                    ],
-                    [
-                        -119.3137097,
-                        49.8771651
-                    ],
-                    [
-                        -119.3132156,
-                        49.877223
-                    ],
-                    [
-                        -119.3131482,
-                        49.8749652
-                    ],
-                    [
-                        -119.312452,
-                        49.8749073
-                    ],
-                    [
-                        -119.3122275,
-                        49.87236
-                    ],
-                    [
-                        -119.3117558,
-                        49.872331
-                    ],
-                    [
-                        -119.3115986,
-                        49.8696098
-                    ],
-                    [
-                        -119.3112169,
-                        49.8694217
-                    ],
-                    [
-                        -119.3109199,
-                        49.8632417
-                    ],
-                    [
-                        -119.3103721,
-                        49.8632724
-                    ],
-                    [
-                        -119.3095139,
-                        49.8512388
-                    ],
-                    [
-                        -119.3106368,
-                        49.8512316
-                    ],
-                    [
-                        -119.3103859,
-                        49.8462564
-                    ],
-                    [
-                        -119.3245344,
-                        49.8459957
-                    ],
-                    [
-                        -119.3246018,
-                        49.8450689
-                    ],
-                    [
-                        -119.3367018,
-                        49.844875
-                    ],
-                    [
-                        -119.3367467,
-                        49.8435136
-                    ],
-                    [
-                        -119.337937,
-                        49.8434702
-                    ],
-                    [
-                        -119.3378023,
-                        49.8382055
-                    ],
-                    [
-                        -119.3383637,
-                        49.8381041
-                    ],
-                    [
-                        -119.3383749,
-                        49.8351202
-                    ],
-                    [
-                        -119.3390936,
-                        49.8351058
-                    ],
-                    [
-                        -119.3388016,
-                        49.8321217
-                    ],
-                    [
-                        -119.3391497,
-                        49.8320565
-                    ],
-                    [
-                        -119.3391722,
-                        49.8293331
-                    ],
-                    [
-                        -119.3394641,
-                        49.8293331
-                    ],
-                    [
-                        -119.3395879,
-                        49.8267878
-                    ],
-                    [
-                        -119.3500053,
-                        49.8265829
-                    ],
-                    [
-                        -119.3493701,
-                        49.8180588
-                    ],
-                    [
-                        -119.4046964,
-                        49.8163785
-                    ],
-                    [
-                        -119.4045694,
-                        49.8099022
-                    ],
-                    [
-                        -119.4101592,
-                        49.8099022
-                    ],
-                    [
-                        -119.4102862,
-                        49.8072787
-                    ],
-                    [
-                        -119.4319467,
-                        49.8069098
-                    ],
-                    [
-                        -119.4322643,
-                        49.7907965
-                    ],
-                    [
-                        -119.4459847,
-                        49.7905504
-                    ],
-                    [
-                        -119.445286,
-                        49.7820201
-                    ],
-                    [
-                        -119.4967376,
-                        49.7811587
-                    ],
-                    [
-                        -119.4966105,
-                        49.7784927
-                    ],
-                    [
-                        -119.5418371,
-                        49.7775082
-                    ],
-                    [
-                        -119.5415892,
-                        49.7718277
-                    ],
-                    [
-                        -119.5560296,
-                        49.7714941
-                    ],
-                    [
-                        -119.5561194,
-                        49.7718422
-                    ],
-                    [
-                        -119.5715704,
-                        49.7715086
-                    ],
-                    [
-                        -119.5716153,
-                        49.7717262
-                    ],
-                    [
-                        -119.5819235,
-                        49.7714941
-                    ],
-                    [
-                        -119.5820133,
-                        49.7717697
-                    ],
-                    [
-                        -119.5922991,
-                        49.7715231
-                    ],
-                    [
-                        -119.592344,
-                        49.7718132
-                    ],
-                    [
-                        -119.6003839,
-                        49.7715957
-                    ],
-                    [
-                        -119.6011924,
-                        49.7839081
-                    ],
-                    [
-                        -119.5864365,
-                        49.7843863
-                    ]
-                ]
-            ],
-            "id": "kelowna_2012",
-            "default": true
-        },
-        {
-            "name": "Kelowna Roads overlay",
-            "type": "tms",
-            "template": "http://{switch:a,b,c,d}.tile.paulnorman.ca/kelowna_overlay/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                9,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -119.5867318,
-                        49.7928087
-                    ],
-                    [
-                        -119.5465655,
-                        49.7928097
-                    ],
-                    [
-                        -119.5465661,
-                        49.8013837
-                    ],
-                    [
-                        -119.5343374,
-                        49.8013841
-                    ],
-                    [
-                        -119.5343376,
-                        49.8047321
-                    ],
-                    [
-                        -119.5296211,
-                        49.8047322
-                    ],
-                    [
-                        -119.5296216,
-                        49.8119555
-                    ],
-                    [
-                        -119.5104463,
-                        49.811956
-                    ],
-                    [
-                        -119.5115683,
-                        49.8744325
-                    ],
-                    [
-                        -119.5108946,
-                        49.8744904
-                    ],
-                    [
-                        -119.5114111,
-                        49.8843312
-                    ],
-                    [
-                        -119.5114115,
-                        49.9221763
-                    ],
-                    [
-                        -119.49386,
-                        49.9223477
-                    ],
-                    [
-                        -119.4940505,
-                        49.9313031
-                    ],
-                    [
-                        -119.4803936,
-                        49.9317529
-                    ],
-                    [
-                        -119.4804572,
-                        49.9407474
-                    ],
-                    [
-                        -119.4666732,
-                        49.9409927
-                    ],
-                    [
-                        -119.4692775,
-                        49.9913717
-                    ],
-                    [
-                        -119.4551337,
-                        49.9916078
-                    ],
-                    [
-                        -119.4556736,
-                        50.0121242
-                    ],
-                    [
-                        -119.4416673,
-                        50.0123895
-                    ],
-                    [
-                        -119.4417308,
-                        50.0136345
-                    ],
-                    [
-                        -119.4221492,
-                        50.0140377
-                    ],
-                    [
-                        -119.4221042,
-                        50.0119306
-                    ],
-                    [
-                        -119.4121303,
-                        50.012165
-                    ],
-                    [
-                        -119.4126082,
-                        50.0216913
-                    ],
-                    [
-                        -119.4123387,
-                        50.0216913
-                    ],
-                    [
-                        -119.4124772,
-                        50.0250773
-                    ],
-                    [
-                        -119.4120917,
-                        50.0250821
-                    ],
-                    [
-                        -119.4121954,
-                        50.0270769
-                    ],
-                    [
-                        -119.4126083,
-                        50.0270718
-                    ],
-                    [
-                        -119.4128328,
-                        50.0321946
-                    ],
-                    [
-                        -119.3936313,
-                        50.0326418
-                    ],
-                    [
-                        -119.393529,
-                        50.0307781
-                    ],
-                    [
-                        -119.3795727,
-                        50.0310116
-                    ],
-                    [
-                        -119.3795377,
-                        50.0287584
-                    ],
-                    [
-                        -119.3735764,
-                        50.0288621
-                    ],
-                    [
-                        -119.371544,
-                        49.9793618
-                    ],
-                    [
-                        -119.3573506,
-                        49.9793618
-                    ],
-                    [
-                        -119.3548353,
-                        49.9256081
-                    ],
-                    [
-                        -119.3268079,
-                        49.9257238
-                    ],
-                    [
-                        -119.3256573,
-                        49.8804068
-                    ],
-                    [
-                        -119.3138893,
-                        49.8806528
-                    ],
-                    [
-                        -119.3137097,
-                        49.8771651
-                    ],
-                    [
-                        -119.3132156,
-                        49.877223
-                    ],
-                    [
-                        -119.3131482,
-                        49.8749652
-                    ],
-                    [
-                        -119.312452,
-                        49.8749073
-                    ],
-                    [
-                        -119.3122275,
-                        49.87236
-                    ],
-                    [
-                        -119.3117558,
-                        49.872331
-                    ],
-                    [
-                        -119.3115986,
-                        49.8696098
-                    ],
-                    [
-                        -119.3112169,
-                        49.8694217
-                    ],
-                    [
-                        -119.3109199,
-                        49.8632417
-                    ],
-                    [
-                        -119.3103721,
-                        49.8632724
-                    ],
-                    [
-                        -119.3095139,
-                        49.8512388
-                    ],
-                    [
-                        -119.3106368,
-                        49.8512316
-                    ],
-                    [
-                        -119.3103859,
-                        49.8462564
-                    ],
-                    [
-                        -119.3245344,
-                        49.8459957
-                    ],
-                    [
-                        -119.3246018,
-                        49.8450689
-                    ],
-                    [
-                        -119.3367018,
-                        49.844875
-                    ],
-                    [
-                        -119.3367467,
-                        49.8435136
-                    ],
-                    [
-                        -119.337937,
-                        49.8434702
-                    ],
-                    [
-                        -119.3378023,
-                        49.8382055
-                    ],
-                    [
-                        -119.3383637,
-                        49.8381041
-                    ],
-                    [
-                        -119.3383749,
-                        49.8351202
-                    ],
-                    [
-                        -119.3390936,
-                        49.8351058
-                    ],
-                    [
-                        -119.3388016,
-                        49.8321217
-                    ],
-                    [
-                        -119.3391497,
-                        49.8320565
-                    ],
-                    [
-                        -119.3391722,
-                        49.8293331
-                    ],
-                    [
-                        -119.3394641,
-                        49.8293331
-                    ],
-                    [
-                        -119.3395879,
-                        49.8267878
-                    ],
-                    [
-                        -119.3500053,
-                        49.8265829
-                    ],
-                    [
-                        -119.3493701,
-                        49.8180588
-                    ],
-                    [
-                        -119.4046964,
-                        49.8163785
-                    ],
-                    [
-                        -119.4045694,
-                        49.8099022
-                    ],
-                    [
-                        -119.4101592,
-                        49.8099022
-                    ],
-                    [
-                        -119.4102862,
-                        49.8072787
-                    ],
-                    [
-                        -119.4319467,
-                        49.8069098
-                    ],
-                    [
-                        -119.4322643,
-                        49.7907965
-                    ],
-                    [
-                        -119.4459847,
-                        49.7905504
-                    ],
-                    [
-                        -119.445286,
-                        49.7820201
-                    ],
-                    [
-                        -119.4967376,
-                        49.7811587
-                    ],
-                    [
-                        -119.4966105,
-                        49.7784927
-                    ],
-                    [
-                        -119.5418371,
-                        49.7775082
-                    ],
-                    [
-                        -119.5415892,
-                        49.7718277
-                    ],
-                    [
-                        -119.5560296,
-                        49.7714941
-                    ],
-                    [
-                        -119.5561194,
-                        49.7718422
-                    ],
-                    [
-                        -119.5715704,
-                        49.7715086
-                    ],
-                    [
-                        -119.5716153,
-                        49.7717262
-                    ],
-                    [
-                        -119.5819235,
-                        49.7714941
-                    ],
-                    [
-                        -119.5820133,
-                        49.7717697
-                    ],
-                    [
-                        -119.5922991,
-                        49.7715231
-                    ],
-                    [
-                        -119.592344,
-                        49.7718132
-                    ],
-                    [
-                        -119.6003839,
-                        49.7715957
-                    ],
-                    [
-                        -119.6011924,
-                        49.7839081
-                    ],
-                    [
-                        -119.5864365,
-                        49.7843863
-                    ]
-                ]
-            ],
-            "id": "kelowna_roads",
-            "overlay": true
-        },
-        {
-            "name": "Landsat 233055",
-            "type": "tms",
-            "description": "Recent Landsat imagery",
-            "template": "http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_233055/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                5,
-                14
-            ],
-            "polygon": [
-                [
-                    [
-                        -60.8550011,
-                        6.1765004
-                    ],
-                    [
-                        -60.4762612,
-                        7.9188291
-                    ],
-                    [
-                        -62.161689,
-                        8.2778675
-                    ],
-                    [
-                        -62.5322549,
-                        6.5375488
-                    ]
-                ]
-            ],
-            "id": "landsat_233055"
-        },
-        {
-            "name": "Latest southwest British Columbia Landsat",
-            "type": "tms",
-            "description": "Recent lower-resolution landwsat imagery for southwest British Columbia",
-            "template": "http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_047026/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                5,
-                13
-            ],
-            "polygon": [
-                [
-                    [
-                        -121.9355512,
-                        47.7820648
-                    ],
-                    [
-                        -121.5720582,
-                        48.6410125
-                    ],
-                    [
-                        -121.2015461,
-                        49.4846247
-                    ],
-                    [
-                        -121.8375516,
-                        49.6023246
-                    ],
-                    [
-                        -122.4767046,
-                        49.7161735
-                    ],
-                    [
-                        -123.118912,
-                        49.8268824
-                    ],
-                    [
-                        -123.760228,
-                        49.9335836
-                    ],
-                    [
-                        -124.0887706,
-                        49.0870469
-                    ],
-                    [
-                        -124.4128889,
-                        48.2252567
-                    ],
-                    [
-                        -123.792772,
-                        48.1197334
-                    ],
-                    [
-                        -123.1727942,
-                        48.0109592
-                    ],
-                    [
-                        -122.553553,
-                        47.8982299
-                    ]
-                ]
-            ],
-            "id": "landsat_047026"
-        },
-        {
-            "name": "Lithuania - NŽT ORT10LT",
-            "type": "tms",
-            "template": "http://mapproxy.openmap.lt/ort10lt/g/{z}/{x}/{y}.jpeg",
-            "scaleExtent": [
-                4,
-                18
-            ],
-            "polygon": [
-                [
-                    [
-                        21.4926054,
-                        56.3592046
-                    ],
-                    [
-                        21.8134688,
-                        56.4097144
-                    ],
-                    [
-                        21.9728753,
-                        56.4567587
-                    ],
-                    [
-                        22.2158294,
-                        56.4604404
-                    ],
-                    [
-                        22.2183922,
-                        56.4162361
-                    ],
-                    [
-                        23.3511527,
-                        56.4267251
-                    ],
-                    [
-                        23.3521778,
-                        56.3824815
-                    ],
-                    [
-                        23.9179035,
-                        56.383305
-                    ],
-                    [
-                        23.9176231,
-                        56.3392908
-                    ],
-                    [
-                        24.5649817,
-                        56.3382169
-                    ],
-                    [
-                        24.564933,
-                        56.3828587
-                    ],
-                    [
-                        24.6475683,
-                        56.4277798
-                    ],
-                    [
-                        24.8099394,
-                        56.470646
-                    ],
-                    [
-                        24.9733979,
-                        56.4698452
-                    ],
-                    [
-                        25.1299701,
-                        56.2890356
-                    ],
-                    [
-                        25.127433,
-                        56.1990144
-                    ],
-                    [
-                        25.6921076,
-                        56.1933684
-                    ],
-                    [
-                        26.0839005,
-                        56.0067879
-                    ],
-                    [
-                        26.4673573,
-                        55.7304232
-                    ],
-                    [
-                        26.5463565,
-                        55.7132705
-                    ],
-                    [
-                        26.5154447,
-                        55.2345969
-                    ],
-                    [
-                        25.7874641,
-                        54.8425656
-                    ],
-                    [
-                        25.7675259,
-                        54.6350898
-                    ],
-                    [
-                        25.6165253,
-                        54.4404007
-                    ],
-                    [
-                        24.4566043,
-                        53.9577649
-                    ],
-                    [
-                        23.6164786,
-                        53.9575517
-                    ],
-                    [
-                        23.5632006,
-                        54.048085
-                    ],
-                    [
-                        22.8462074,
-                        54.3563682
-                    ],
-                    [
-                        22.831944,
-                        54.9414849
-                    ],
-                    [
-                        22.4306085,
-                        55.1159913
-                    ],
-                    [
-                        21.9605898,
-                        55.1107144
-                    ],
-                    [
-                        21.7253241,
-                        55.1496885
-                    ],
-                    [
-                        21.5628422,
-                        55.2362913
-                    ],
-                    [
-                        21.2209638,
-                        55.2742668
-                    ],
-                    [
-                        21.1630444,
-                        55.2803979
-                    ],
-                    [
-                        20.9277788,
-                        55.3101641
-                    ],
-                    [
-                        20.9257285,
-                        55.3588507
-                    ],
-                    [
-                        20.9980451,
-                        55.4514157
-                    ],
-                    [
-                        21.0282249,
-                        56.0796297
-                    ]
-                ]
-            ],
-            "terms_url": "http://www.geoportal.lt",
-            "terms_text": "NŽT ORT10LT"
-        },
-        {
-            "name": "Locator Overlay",
-            "type": "tms",
-            "description": "Shows major features to help orient you.",
-            "template": "http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh76ba2/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJhNVlHd29ZIn0.ti6wATGDWOmCnCYen-Ip7Q",
-            "scaleExtent": [
-                0,
-                16
-            ],
-            "terms_url": "http://www.mapbox.com/about/maps/",
-            "terms_text": "Terms & Feedback",
-            "default": true,
-            "overlay": true
-        },
-        {
-            "name": "MapQuest Open Aerial",
-            "type": "tms",
-            "template": "http://oatile{switch:1,2,3,4}.mqcdn.com/tiles/1.0.0/sat/{zoom}/{x}/{y}.png",
-            "default": true
-        },
-        {
-            "name": "Mapbox Satellite",
-            "type": "tms",
-            "description": "Satellite and aerial imagery.",
-            "template": "http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh7ifmo/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJhNVlHd29ZIn0.ti6wATGDWOmCnCYen-Ip7Q",
-            "scaleExtent": [
-                0,
-                19
-            ],
-            "terms_url": "http://www.mapbox.com/about/maps/",
-            "terms_text": "Terms & Feedback",
-            "id": "Mapbox",
-            "default": true
-        },
-        {
-            "name": "NLS - Bartholomew Half Inch, 1897-1907",
-            "type": "tms",
-            "template": "http://geo.nls.uk/mapdata2/bartholomew/great_britain/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                0,
-                15
-            ],
-            "polygon": [
-                [
-                    [
-                        -9,
-                        49.8
-                    ],
-                    [
-                        -9,
-                        61.1
-                    ],
-                    [
-                        1.9,
-                        61.1
-                    ],
-                    [
-                        1.9,
-                        49.8
-                    ],
-                    [
-                        -9,
-                        49.8
-                    ]
-                ]
-            ],
-            "terms_url": "http://geo.nls.uk/maps/",
-            "terms_text": "National Library of Scotland Historic Maps"
-        },
-        {
-            "name": "NLS - OS 1-inch 7th Series 1955-61",
-            "type": "tms",
-            "template": "http://geo.nls.uk/mapdata2/os/seventh/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                5,
-                16
-            ],
-            "polygon": [
-                [
-                    [
-                        -6.4585407,
-                        49.9044128
-                    ],
-                    [
-                        -6.3872009,
-                        49.9841116
-                    ],
-                    [
-                        -6.2296827,
-                        49.9896159
-                    ],
-                    [
-                        -6.2171269,
-                        49.8680087
-                    ],
-                    [
-                        -6.4551164,
-                        49.8591793
-                    ]
-                ],
-                [
-                    [
-                        -1.4495137,
-                        60.8634056
-                    ],
-                    [
-                        -0.7167114,
-                        60.8545122
-                    ],
-                    [
-                        -0.7349744,
-                        60.4359756
-                    ],
-                    [
-                        -0.6938826,
-                        60.4168218
-                    ],
-                    [
-                        -0.7258429,
-                        60.3942735
-                    ],
-                    [
-                        -0.7395401,
-                        60.0484714
-                    ],
-                    [
-                        -0.9267357,
-                        60.0461918
-                    ],
-                    [
-                        -0.9381501,
-                        59.8266157
-                    ],
-                    [
-                        -1.4586452,
-                        59.831205
-                    ],
-                    [
-                        -1.4455187,
-                        60.0535999
-                    ],
-                    [
-                        -1.463211,
-                        60.0535999
-                    ],
-                    [
-                        -1.4643524,
-                        60.0630002
-                    ],
-                    [
-                        -1.5716475,
-                        60.0638546
-                    ],
-                    [
-                        -1.5693646,
-                        60.1790005
-                    ],
-                    [
-                        -1.643558,
-                        60.1807033
-                    ],
-                    [
-                        -1.643558,
-                        60.1892162
-                    ],
-                    [
-                        -1.8216221,
-                        60.1894999
-                    ],
-                    [
-                        -1.8204807,
-                        60.3615507
-                    ],
-                    [
-                        -1.8415973,
-                        60.3697345
-                    ],
-                    [
-                        -1.8216221,
-                        60.3832755
-                    ],
-                    [
-                        -1.8179852,
-                        60.5934321
-                    ],
-                    [
-                        -1.453168,
-                        60.5934321
-                    ]
-                ],
-                [
-                    [
-                        -4.9089213,
-                        54.4242078
-                    ],
-                    [
-                        -4.282598,
-                        54.4429861
-                    ],
-                    [
-                        -4.2535417,
-                        54.029769
-                    ],
-                    [
-                        -4.8766366,
-                        54.0221831
-                    ]
-                ],
-                [
-                    [
-                        -5.8667408,
-                        59.1444603
-                    ],
-                    [
-                        -5.7759966,
-                        59.1470945
-                    ],
-                    [
-                        -5.7720016,
-                        59.1014052
-                    ],
-                    [
-                        -5.8621751,
-                        59.0990605
-                    ]
-                ],
-                [
-                    [
-                        -1.7065887,
-                        59.5703599
-                    ],
-                    [
-                        -1.5579165,
-                        59.5693481
-                    ],
-                    [
-                        -1.5564897,
-                        59.4965695
-                    ],
-                    [
-                        -1.7054472,
-                        59.4975834
-                    ]
-                ],
-                [
-                    [
-                        -7.6865827,
-                        58.2940975
-                    ],
-                    [
-                        -7.5330594,
-                        58.3006957
-                    ],
-                    [
-                        -7.5256401,
-                        58.2646905
-                    ],
-                    [
-                        -7.6797341,
-                        58.2577853
-                    ]
-                ],
-                [
-                    [
-                        -4.5338281,
-                        59.0359871
-                    ],
-                    [
-                        -4.481322,
-                        59.0371616
-                    ],
-                    [
-                        -4.4796099,
-                        59.0186583
-                    ],
-                    [
-                        -4.5332574,
-                        59.0180707
-                    ]
-                ],
-                [
-                    [
-                        -8.6710698,
-                        57.8769896
-                    ],
-                    [
-                        -8.4673234,
-                        57.8897332
-                    ],
-                    [
-                        -8.4467775,
-                        57.7907
-                    ],
-                    [
-                        -8.6510947,
-                        57.7779213
-                    ]
-                ],
-                [
-                    [
-                        -5.2395519,
-                        50.3530581
-                    ],
-                    [
-                        -5.7920073,
-                        50.3384899
-                    ],
-                    [
-                        -5.760047,
-                        49.9317027
-                    ],
-                    [
-                        -4.6551363,
-                        49.9581461
-                    ],
-                    [
-                        -4.677965,
-                        50.2860073
-                    ],
-                    [
-                        -4.244219,
-                        50.2801723
-                    ],
-                    [
-                        -4.2487848,
-                        50.2042525
-                    ],
-                    [
-                        -3.3812929,
-                        50.2042525
-                    ],
-                    [
-                        -3.4223846,
-                        50.5188201
-                    ],
-                    [
-                        -3.1164796,
-                        50.5246258
-                    ],
-                    [
-                        -3.1210453,
-                        50.6579592
-                    ],
-                    [
-                        -2.6736357,
-                        50.6619495
-                    ],
-                    [
-                        -2.5953453,
-                        50.6394325
-                    ],
-                    [
-                        -2.5905026,
-                        50.5728419
-                    ],
-                    [
-                        -2.4791203,
-                        50.5733545
-                    ],
-                    [
-                        -2.4758919,
-                        50.5066704
-                    ],
-                    [
-                        -2.3967943,
-                        50.5056438
-                    ],
-                    [
-                        -2.401637,
-                        50.5723293
-                    ],
-                    [
-                        -1.0400296,
-                        50.5718167
-                    ],
-                    [
-                        -1.0335726,
-                        50.7059289
-                    ],
-                    [
-                        -0.549302,
-                        50.7038843
-                    ],
-                    [
-                        -0.5460736,
-                        50.7886618
-                    ],
-                    [
-                        -0.0924734,
-                        50.7856002
-                    ],
-                    [
-                        -0.0876307,
-                        50.7181949
-                    ],
-                    [
-                        0.4789659,
-                        50.7120623
-                    ],
-                    [
-                        0.487037,
-                        50.8182467
-                    ],
-                    [
-                        0.9761503,
-                        50.8049868
-                    ],
-                    [
-                        0.9922927,
-                        51.0126311
-                    ],
-                    [
-                        1.4491213,
-                        51.0004424
-                    ],
-                    [
-                        1.4781775,
-                        51.4090372
-                    ],
-                    [
-                        1.0229632,
-                        51.4271576
-                    ],
-                    [
-                        1.035877,
-                        51.7640881
-                    ],
-                    [
-                        1.6105448,
-                        51.7500992
-                    ],
-                    [
-                        1.646058,
-                        52.1560003
-                    ],
-                    [
-                        1.7267698,
-                        52.1540195
-                    ],
-                    [
-                        1.749369,
-                        52.4481811
-                    ],
-                    [
-                        1.7870672,
-                        52.4811624
-                    ],
-                    [
-                        1.759102,
-                        52.522505
-                    ],
-                    [
-                        1.7933451,
-                        52.9602749
-                    ],
-                    [
-                        0.3798147,
-                        52.9958468
-                    ],
-                    [
-                        0.3895238,
-                        53.2511239
-                    ],
-                    [
-                        0.3478614,
-                        53.2511239
-                    ],
-                    [
-                        0.3238912,
-                        53.282186
-                    ],
-                    [
-                        0.3461492,
-                        53.6538501
-                    ],
-                    [
-                        0.128487,
-                        53.6575466
-                    ],
-                    [
-                        0.116582,
-                        53.6674703
-                    ],
-                    [
-                        0.1350586,
-                        54.0655731
-                    ],
-                    [
-                        -0.0609831,
-                        54.065908
-                    ],
-                    [
-                        -0.0414249,
-                        54.4709448
-                    ],
-                    [
-                        -0.5662701,
-                        54.4771794
-                    ],
-                    [
-                        -0.5592078,
-                        54.6565127
-                    ],
-                    [
-                        -1.1665638,
-                        54.6623485
-                    ],
-                    [
-                        -1.1637389,
-                        54.842611
-                    ],
-                    [
-                        -1.3316194,
-                        54.843909
-                    ],
-                    [
-                        -1.3257065,
-                        55.2470842
-                    ],
-                    [
-                        -1.529453,
-                        55.2487108
-                    ],
-                    [
-                        -1.524178,
-                        55.6540122
-                    ],
-                    [
-                        -1.7638798,
-                        55.6540122
-                    ],
-                    [
-                        -1.7733693,
-                        55.9719116
-                    ],
-                    [
-                        -2.1607858,
-                        55.9682981
-                    ],
-                    [
-                        -2.1543289,
-                        56.0621387
-                    ],
-                    [
-                        -2.4578051,
-                        56.0585337
-                    ],
-                    [
-                        -2.4190635,
-                        56.641717
-                    ],
-                    [
-                        -2.0962164,
-                        56.641717
-                    ],
-                    [
-                        -2.0833025,
-                        57.0021322
-                    ],
-                    [
-                        -1.9283359,
-                        57.0126802
-                    ],
-                    [
-                        -1.9180966,
-                        57.3590895
-                    ],
-                    [
-                        -1.7502161,
-                        57.3625721
-                    ],
-                    [
-                        -1.7695869,
-                        57.7608634
-                    ],
-                    [
-                        -3.6937554,
-                        57.7574187
-                    ],
-                    [
-                        -3.7066693,
-                        57.9806386
-                    ],
-                    [
-                        -3.5969013,
-                        57.9772149
-                    ],
-                    [
-                        -3.6033582,
-                        58.1207277
-                    ],
-                    [
-                        -3.0222335,
-                        58.1309566
-                    ],
-                    [
-                        -3.0286905,
-                        58.5410788
-                    ],
-                    [
-                        -2.8478961,
-                        58.530968
-                    ],
-                    [
-                        -2.86081,
-                        58.8430508
-                    ],
-                    [
-                        -2.679624,
-                        58.8414991
-                    ],
-                    [
-                        -2.6841897,
-                        58.885175
-                    ],
-                    [
-                        -2.6339665,
-                        58.9052239
-                    ],
-                    [
-                        -2.679624,
-                        58.9335083
-                    ],
-                    [
-                        -2.6887555,
-                        59.0229231
-                    ],
-                    [
-                        -2.3668703,
-                        59.0229231
-                    ],
-                    [
-                        -2.3702946,
-                        59.2652861
-                    ],
-                    [
-                        -2.3429001,
-                        59.2821989
-                    ],
-                    [
-                        -2.3714361,
-                        59.2996861
-                    ],
-                    [
-                        -2.3737189,
-                        59.3707083
-                    ],
-                    [
-                        -2.3429001,
-                        59.385825
-                    ],
-                    [
-                        -2.3725775,
-                        59.400354
-                    ],
-                    [
-                        -2.3714361,
-                        59.4259098
-                    ],
-                    [
-                        -3.0734196,
-                        59.4230067
-                    ],
-                    [
-                        -3.0711368,
-                        59.3433649
-                    ],
-                    [
-                        -3.103097,
-                        59.3311405
-                    ],
-                    [
-                        -3.0745611,
-                        59.3136695
-                    ],
-                    [
-                        -3.0722782,
-                        59.232603
-                    ],
-                    [
-                        -3.3850319,
-                        59.1484167
-                    ],
-                    [
-                        -3.3747589,
-                        58.9352753
-                    ],
-                    [
-                        -3.5653789,
-                        58.9323303
-                    ],
-                    [
-                        -3.554829,
-                        58.69759
-                    ],
-                    [
-                        -5.2808579,
-                        58.6667732
-                    ],
-                    [
-                        -5.2534159,
-                        58.3514125
-                    ],
-                    [
-                        -5.5068508,
-                        58.3437887
-                    ],
-                    [
-                        -5.4761804,
-                        58.0323557
-                    ],
-                    [
-                        -5.8974958,
-                        58.0212436
-                    ],
-                    [
-                        -5.8522972,
-                        57.6171758
-                    ],
-                    [
-                        -6.1396311,
-                        57.6137174
-                    ],
-                    [
-                        -6.1541592,
-                        57.7423183
-                    ],
-                    [
-                        -6.2913692,
-                        57.7380102
-                    ],
-                    [
-                        -6.3365678,
-                        58.1398784
-                    ],
-                    [
-                        -6.1121891,
-                        58.1466944
-                    ],
-                    [
-                        -6.1473778,
-                        58.5106285
-                    ],
-                    [
-                        -6.2934817,
-                        58.5416182
-                    ],
-                    [
-                        -6.8413713,
-                        58.2977321
-                    ],
-                    [
-                        -7.0057382,
-                        58.2929331
-                    ],
-                    [
-                        -7.1016189,
-                        58.2064403
-                    ],
-                    [
-                        -7.2573132,
-                        58.1793148
-                    ],
-                    [
-                        -7.2531092,
-                        58.1004928
-                    ],
-                    [
-                        -7.4070698,
-                        58.0905566
-                    ],
-                    [
-                        -7.391347,
-                        57.7911354
-                    ],
-                    [
-                        -7.790991,
-                        57.7733151
-                    ],
-                    [
-                        -7.7624215,
-                        57.5444165
-                    ],
-                    [
-                        -7.698501,
-                        57.1453194
-                    ],
-                    [
-                        -7.7943817,
-                        57.1304547
-                    ],
-                    [
-                        -7.716764,
-                        56.7368628
-                    ],
-                    [
-                        -7.0122067,
-                        56.7654359
-                    ],
-                    [
-                        -6.979922,
-                        56.5453858
-                    ],
-                    [
-                        -7.0638622,
-                        56.5453858
-                    ],
-                    [
-                        -7.0444914,
-                        56.3562587
-                    ],
-                    [
-                        -6.500676,
-                        56.3812917
-                    ],
-                    [
-                        -6.4491433,
-                        55.9793649
-                    ],
-                    [
-                        -6.563287,
-                        55.9691456
-                    ],
-                    [
-                        -6.5393742,
-                        55.7030135
-                    ],
-                    [
-                        -6.5595521,
-                        55.6907321
-                    ],
-                    [
-                        -6.5345315,
-                        55.6761713
-                    ],
-                    [
-                        -6.5216176,
-                        55.5704434
-                    ],
-                    [
-                        -5.8912587,
-                        55.5923416
-                    ],
-                    [
-                        -5.8560127,
-                        55.2320733
-                    ],
-                    [
-                        -5.2293639,
-                        55.2515958
-                    ],
-                    [
-                        -5.1837064,
-                        54.6254139
-                    ],
-                    [
-                        -3.6655956,
-                        54.6518373
-                    ],
-                    [
-                        -3.6496155,
-                        54.4320023
-                    ],
-                    [
-                        -3.5400375,
-                        54.4306744
-                    ],
-                    [
-                        -3.530906,
-                        54.0290181
-                    ],
-                    [
-                        -3.0697656,
-                        54.030359
-                    ],
-                    [
-                        -3.0675737,
-                        53.8221388
-                    ],
-                    [
-                        -3.0804876,
-                        53.7739911
-                    ],
-                    [
-                        -3.0619239,
-                        53.7477488
-                    ],
-                    [
-                        -3.0611168,
-                        53.6737049
-                    ],
-                    [
-                        -3.2144691,
-                        53.6708361
-                    ],
-                    [
-                        -3.2057699,
-                        53.4226163
-                    ],
-                    [
-                        -3.2799632,
-                        53.355224
-                    ],
-                    [
-                        -3.2896655,
-                        53.3608441
-                    ],
-                    [
-                        -3.3327547,
-                        53.364931
-                    ],
-                    [
-                        -3.3761293,
-                        53.3540318
-                    ],
-                    [
-                        -4.0888976,
-                        53.3433102
-                    ],
-                    [
-                        -4.0945474,
-                        53.4612036
-                    ],
-                    [
-                        -4.697412,
-                        53.4448624
-                    ],
-                    [
-                        -4.6882805,
-                        53.3318598
-                    ],
-                    [
-                        -4.7202407,
-                        53.2895771
-                    ],
-                    [
-                        -4.6837148,
-                        53.2486184
-                    ],
-                    [
-                        -4.6768661,
-                        53.1542644
-                    ],
-                    [
-                        -4.8480816,
-                        53.1446807
-                    ],
-                    [
-                        -4.8178336,
-                        52.7440299
-                    ],
-                    [
-                        -4.2545751,
-                        52.7558939
-                    ],
-                    [
-                        -4.228876,
-                        52.254876
-                    ],
-                    [
-                        -4.2607571,
-                        52.2536408
-                    ],
-                    [
-                        -4.2724603,
-                        52.2432637
-                    ],
-                    [
-                        -4.8136263,
-                        52.230095
-                    ],
-                    [
-                        -4.8079191,
-                        52.1138892
-                    ],
-                    [
-                        -5.3889104,
-                        52.0991668
-                    ],
-                    [
-                        -5.3717888,
-                        51.9129667
-                    ],
-                    [
-                        -5.4208706,
-                        51.9101502
-                    ],
-                    [
-                        -5.414022,
-                        51.8453218
-                    ],
-                    [
-                        -5.3683645,
-                        51.8474373
-                    ],
-                    [
-                        -5.3466772,
-                        51.5595332
-                    ],
-                    [
-                        -4.773676,
-                        51.5758518
-                    ],
-                    [
-                        -4.7656859,
-                        51.4885146
-                    ],
-                    [
-                        -4.1915432,
-                        51.4970427
-                    ],
-                    [
-                        -4.1869775,
-                        51.4344663
-                    ],
-                    [
-                        -3.6151177,
-                        51.4444274
-                    ],
-                    [
-                        -3.6105519,
-                        51.3746543
-                    ],
-                    [
-                        -3.1494115,
-                        51.3789292
-                    ],
-                    [
-                        -3.1494115,
-                        51.2919281
-                    ],
-                    [
-                        -4.3038735,
-                        51.2745907
-                    ],
-                    [
-                        -4.2861169,
-                        51.0508721
-                    ],
-                    [
-                        -4.8543277,
-                        51.0366633
-                    ],
-                    [
-                        -4.8372201,
-                        50.7212787
-                    ],
-                    [
-                        -5.2618345,
-                        50.7082694
-                    ]
-                ],
-                [
-                    [
-                        -2.1502671,
-                        60.171318
-                    ],
-                    [
-                        -2.0030218,
-                        60.1696146
-                    ],
-                    [
-                        -2.0013096,
-                        60.0997023
-                    ],
-                    [
-                        -2.148555,
-                        60.1011247
-                    ]
-                ],
-                [
-                    [
-                        -6.2086011,
-                        59.1163488
-                    ],
-                    [
-                        -6.1229934,
-                        59.1166418
-                    ],
-                    [
-                        -6.121852,
-                        59.0714985
-                    ],
-                    [
-                        -6.2097426,
-                        59.0714985
-                    ]
-                ],
-                [
-                    [
-                        -4.4159559,
-                        59.0889036
-                    ],
-                    [
-                        -4.4212022,
-                        59.0770848
-                    ],
-                    [
-                        -4.3971904,
-                        59.0779143
-                    ],
-                    [
-                        -4.3913388,
-                        59.0897328
-                    ]
-                ]
-            ],
-            "terms_url": "http://geo.nls.uk/maps/",
-            "terms_text": "National Library of Scotland Historic Maps"
-        },
-        {
-            "name": "NLS - OS 1:25k 1st Series 1937-61",
-            "type": "tms",
-            "template": "http://geo.nls.uk/mapdata2/os/25000/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                5,
-                16
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.7157244,
-                        54.6796556
-                    ],
-                    [
-                        -4.6850662,
-                        54.6800268
-                    ],
-                    [
-                        -4.6835779,
-                        54.6623245
-                    ],
-                    [
-                        -4.7148782,
-                        54.6615818
-                    ]
-                ],
-                [
-                    [
-                        -3.7085748,
-                        58.3371151
-                    ],
-                    [
-                        -3.5405937,
-                        58.3380684
-                    ],
-                    [
-                        -3.5315137,
-                        58.1608002
-                    ],
-                    [
-                        -3.3608086,
-                        58.1622372
-                    ],
-                    [
-                        -3.3653486,
-                        58.252173
-                    ],
-                    [
-                        -3.1610473,
-                        58.2536063
-                    ],
-                    [
-                        -3.1610473,
-                        58.3261509
-                    ],
-                    [
-                        -3.0275704,
-                        58.3271045
-                    ],
-                    [
-                        -3.0366505,
-                        58.6139001
-                    ],
-                    [
-                        -3.0021463,
-                        58.614373
-                    ],
-                    [
-                        -3.0030543,
-                        58.7036341
-                    ],
-                    [
-                        -3.4180129,
-                        58.7003322
-                    ],
-                    [
-                        -3.4171049,
-                        58.6290293
-                    ],
-                    [
-                        -3.7240109,
-                        58.6266658
-                    ],
-                    [
-                        -3.7231029,
-                        58.606806
-                    ],
-                    [
-                        -4.2361262,
-                        58.5992374
-                    ],
-                    [
-                        -4.2334022,
-                        58.5092347
-                    ],
-                    [
-                        -3.88836,
-                        58.5144516
-                    ],
-                    [
-                        -3.8829119,
-                        58.4261327
-                    ],
-                    [
-                        -3.7158389,
-                        58.4270836
-                    ]
-                ],
-                [
-                    [
-                        -6.46676,
-                        49.9943621
-                    ],
-                    [
-                        -6.1889102,
-                        50.004868
-                    ],
-                    [
-                        -6.1789222,
-                        49.8967815
-                    ],
-                    [
-                        -6.3169391,
-                        49.8915171
-                    ],
-                    [
-                        -6.312399,
-                        49.8200979
-                    ],
-                    [
-                        -6.4504159,
-                        49.8159968
-                    ]
-                ],
-                [
-                    [
-                        -5.6453263,
-                        50.2029809
-                    ],
-                    [
-                        -5.7801329,
-                        50.2014076
-                    ],
-                    [
-                        -5.7637888,
-                        50.0197267
-                    ],
-                    [
-                        -5.3479221,
-                        50.0290604
-                    ],
-                    [
-                        -5.3388421,
-                        49.9414854
-                    ],
-                    [
-                        -5.024672,
-                        49.9473287
-                    ],
-                    [
-                        -5.0355681,
-                        50.0383923
-                    ],
-                    [
-                        -5.0010639,
-                        50.0453901
-                    ],
-                    [
-                        -4.9974319,
-                        50.1304478
-                    ],
-                    [
-                        -4.855783,
-                        50.13394
-                    ],
-                    [
-                        -4.861231,
-                        50.206057
-                    ],
-                    [
-                        -4.6546085,
-                        50.2140172
-                    ],
-                    [
-                        -4.6558926,
-                        50.3018616
-                    ],
-                    [
-                        -4.5184924,
-                        50.3026818
-                    ],
-                    [
-                        -4.51464,
-                        50.325642
-                    ],
-                    [
-                        -4.2488284,
-                        50.3264618
-                    ],
-                    [
-                        -4.2488284,
-                        50.3100631
-                    ],
-                    [
-                        -4.10886,
-                        50.3141633
-                    ],
-                    [
-                        -4.1062917,
-                        50.2411267
-                    ],
-                    [
-                        -3.9648088,
-                        50.2432047
-                    ],
-                    [
-                        -3.9640778,
-                        50.2254158
-                    ],
-                    [
-                        -3.8522287,
-                        50.2273626
-                    ],
-                    [
-                        -3.8503757,
-                        50.1552563
-                    ],
-                    [
-                        -3.6921809,
-                        50.1572487
-                    ],
-                    [
-                        -3.5414602,
-                        50.1602198
-                    ],
-                    [
-                        -3.5465781,
-                        50.3226814
-                    ],
-                    [
-                        -3.4068012,
-                        50.3241013
-                    ],
-                    [
-                        -3.4165761,
-                        50.5892711
-                    ],
-                    [
-                        -3.2746691,
-                        50.5962721
-                    ],
-                    [
-                        -3.2749172,
-                        50.6106323
-                    ],
-                    [
-                        -2.9971742,
-                        50.613972
-                    ],
-                    [
-                        -2.9896008,
-                        50.688537
-                    ],
-                    [
-                        -2.7120266,
-                        50.690565
-                    ],
-                    [
-                        -2.710908,
-                        50.6195964
-                    ],
-                    [
-                        -2.5695473,
-                        50.6157538
-                    ],
-                    [
-                        -2.5651019,
-                        50.5134083
-                    ],
-                    [
-                        -2.4014463,
-                        50.513379
-                    ],
-                    [
-                        -2.3940583,
-                        50.6160348
-                    ],
-                    [
-                        -2.2894123,
-                        50.6147436
-                    ],
-                    [
-                        -2.2876184,
-                        50.6008549
-                    ],
-                    [
-                        -2.1477855,
-                        50.6048506
-                    ],
-                    [
-                        -2.1451013,
-                        50.5325437
-                    ],
-                    [
-                        -1.9335117,
-                        50.5347477
-                    ],
-                    [
-                        -1.9362139,
-                        50.6170445
-                    ],
-                    [
-                        -1.8573025,
-                        50.6228094
-                    ],
-                    [
-                        -1.8554865,
-                        50.709139
-                    ],
-                    [
-                        -1.6066929,
-                        50.709139
-                    ],
-                    [
-                        -1.6085089,
-                        50.6239615
-                    ],
-                    [
-                        -1.4450678,
-                        50.6228094
-                    ],
-                    [
-                        -1.4432518,
-                        50.5317039
-                    ],
-                    [
-                        -1.1545059,
-                        50.5293951
-                    ],
-                    [
-                        -1.1472419,
-                        50.6170485
-                    ],
-                    [
-                        -1.011041,
-                        50.6205051
-                    ],
-                    [
-                        -1.011041,
-                        50.7056889
-                    ],
-                    [
-                        -0.704135,
-                        50.7045388
-                    ],
-                    [
-                        -0.700503,
-                        50.7769401
-                    ],
-                    [
-                        -0.5860943,
-                        50.7723465
-                    ],
-                    [
-                        -0.5879103,
-                        50.7907181
-                    ],
-                    [
-                        -0.0149586,
-                        50.7798108
-                    ],
-                    [
-                        -0.0185906,
-                        50.7625836
-                    ],
-                    [
-                        0.0967261,
-                        50.7620093
-                    ],
-                    [
-                        0.0921861,
-                        50.6913106
-                    ],
-                    [
-                        0.3046595,
-                        50.6890096
-                    ],
-                    [
-                        0.3101075,
-                        50.7757917
-                    ],
-                    [
-                        0.5511831,
-                        50.7726336
-                    ],
-                    [
-                        0.5529991,
-                        50.8432096
-                    ],
-                    [
-                        0.695556,
-                        50.8403428
-                    ],
-                    [
-                        0.696464,
-                        50.8592608
-                    ],
-                    [
-                        0.9852099,
-                        50.8523824
-                    ],
-                    [
-                        0.9906579,
-                        50.9417226
-                    ],
-                    [
-                        1.0160821,
-                        50.9411504
-                    ],
-                    [
-                        1.0215301,
-                        51.0303204
-                    ],
-                    [
-                        1.2812198,
-                        51.0240383
-                    ],
-                    [
-                        1.2848518,
-                        51.0948044
-                    ],
-                    [
-                        1.4277848,
-                        51.0948044
-                    ],
-                    [
-                        1.4386809,
-                        51.2882859
-                    ],
-                    [
-                        1.4713691,
-                        51.2871502
-                    ],
-                    [
-                        1.4804492,
-                        51.3994534
-                    ],
-                    [
-                        1.1590151,
-                        51.4073836
-                    ],
-                    [
-                        1.1590151,
-                        51.3869889
-                    ],
-                    [
-                        1.0191822,
-                        51.3903886
-                    ],
-                    [
-                        1.0228142,
-                        51.4798247
-                    ],
-                    [
-                        0.8793493,
-                        51.4843484
-                    ],
-                    [
-                        0.8829813,
-                        51.5566675
-                    ],
-                    [
-                        1.0264462,
-                        51.5544092
-                    ],
-                    [
-                        1.0373423,
-                        51.7493319
-                    ],
-                    [
-                        1.2607117,
-                        51.7482076
-                    ],
-                    [
-                        1.2661598,
-                        51.8279642
-                    ],
-                    [
-                        1.3351682,
-                        51.8335756
-                    ],
-                    [
-                        1.3478803,
-                        51.9199021
-                    ],
-                    [
-                        1.4840812,
-                        51.9199021
-                    ],
-                    [
-                        1.4986093,
-                        52.0038271
-                    ],
-                    [
-                        1.6438902,
-                        52.0027092
-                    ],
-                    [
-                        1.6656823,
-                        52.270221
-                    ],
-                    [
-                        1.7310588,
-                        52.270221
-                    ],
-                    [
-                        1.7528509,
-                        52.4465637
-                    ],
-                    [
-                        1.8254914,
-                        52.4476705
-                    ],
-                    [
-                        1.8345714,
-                        52.624408
-                    ],
-                    [
-                        1.7690346,
-                        52.6291402
-                    ],
-                    [
-                        1.7741711,
-                        52.717904
-                    ],
-                    [
-                        1.6996925,
-                        52.721793
-                    ],
-                    [
-                        1.706113,
-                        52.8103687
-                    ],
-                    [
-                        1.559724,
-                        52.8165777
-                    ],
-                    [
-                        1.5648605,
-                        52.9034116
-                    ],
-                    [
-                        1.4184715,
-                        52.9103818
-                    ],
-                    [
-                        1.4223238,
-                        52.9281894
-                    ],
-                    [
-                        1.3439928,
-                        52.9289635
-                    ],
-                    [
-                        1.3491293,
-                        53.0001194
-                    ],
-                    [
-                        0.4515789,
-                        53.022589
-                    ],
-                    [
-                        0.4497629,
-                        52.9351139
-                    ],
-                    [
-                        0.3789384,
-                        52.9351139
-                    ],
-                    [
-                        0.3716744,
-                        52.846365
-                    ],
-                    [
-                        0.2227614,
-                        52.8496552
-                    ],
-                    [
-                        0.2336575,
-                        52.9329248
-                    ],
-                    [
-                        0.3062979,
-                        52.9351139
-                    ],
-                    [
-                        0.308114,
-                        53.022589
-                    ],
-                    [
-                        0.3807544,
-                        53.0236813
-                    ],
-                    [
-                        0.3993708,
-                        53.2933729
-                    ],
-                    [
-                        0.3248922,
-                        53.2987454
-                    ],
-                    [
-                        0.3274604,
-                        53.3853782
-                    ],
-                    [
-                        0.2504136,
-                        53.38691
-                    ],
-                    [
-                        0.2581183,
-                        53.4748924
-                    ],
-                    [
-                        0.1862079,
-                        53.4779494
-                    ],
-                    [
-                        0.1913443,
-                        53.6548777
-                    ],
-                    [
-                        0.1502527,
-                        53.6594436
-                    ],
-                    [
-                        0.1528209,
-                        53.7666003
-                    ],
-                    [
-                        0.0012954,
-                        53.7734308
-                    ],
-                    [
-                        0.0025796,
-                        53.8424326
-                    ],
-                    [
-                        -0.0282392,
-                        53.841675
-                    ],
-                    [
-                        -0.0226575,
-                        53.9311501
-                    ],
-                    [
-                        -0.1406983,
-                        53.9322193
-                    ],
-                    [
-                        -0.1416063,
-                        54.0219323
-                    ],
-                    [
-                        -0.1706625,
-                        54.0235326
-                    ],
-                    [
-                        -0.1679384,
-                        54.0949482
-                    ],
-                    [
-                        -0.0126694,
-                        54.0912206
-                    ],
-                    [
-                        -0.0099454,
-                        54.1811226
-                    ],
-                    [
-                        -0.1615824,
-                        54.1837795
-                    ],
-                    [
-                        -0.1606744,
-                        54.2029038
-                    ],
-                    [
-                        -0.2405789,
-                        54.2034349
-                    ],
-                    [
-                        -0.2378549,
-                        54.2936234
-                    ],
-                    [
-                        -0.3894919,
-                        54.2941533
-                    ],
-                    [
-                        -0.3857497,
-                        54.3837321
-                    ],
-                    [
-                        -0.461638,
-                        54.3856364
-                    ],
-                    [
-                        -0.4571122,
-                        54.4939066
-                    ],
-                    [
-                        -0.6105651,
-                        54.4965434
-                    ],
-                    [
-                        -0.6096571,
-                        54.5676704
-                    ],
-                    [
-                        -0.7667421,
-                        54.569776
-                    ],
-                    [
-                        -0.7640181,
-                        54.5887213
-                    ],
-                    [
-                        -0.9192871,
-                        54.5908258
-                    ],
-                    [
-                        -0.9148116,
-                        54.6608348
-                    ],
-                    [
-                        -1.1485204,
-                        54.6634343
-                    ],
-                    [
-                        -1.1472363,
-                        54.7528316
-                    ],
-                    [
-                        -1.2268514,
-                        54.7532021
-                    ],
-                    [
-                        -1.2265398,
-                        54.8429879
-                    ],
-                    [
-                        -1.2991803,
-                        54.8435107
-                    ],
-                    [
-                        -1.2991803,
-                        54.9333391
-                    ],
-                    [
-                        -1.3454886,
-                        54.9354258
-                    ],
-                    [
-                        -1.3436726,
-                        55.0234878
-                    ],
-                    [
-                        -1.3772688,
-                        55.0255698
-                    ],
-                    [
-                        -1.3754528,
-                        55.1310877
-                    ],
-                    [
-                        -1.4997441,
-                        55.1315727
-                    ],
-                    [
-                        -1.4969272,
-                        55.2928323
-                    ],
-                    [
-                        -1.5296721,
-                        55.2942946
-                    ],
-                    [
-                        -1.5258198,
-                        55.6523803
-                    ],
-                    [
-                        -1.7659492,
-                        55.6545537
-                    ],
-                    [
-                        -1.7620968,
-                        55.7435626
-                    ],
-                    [
-                        -1.9688392,
-                        55.7435626
-                    ],
-                    [
-                        -1.9698023,
-                        55.8334505
-                    ],
-                    [
-                        -2.0019051,
-                        55.8336308
-                    ],
-                    [
-                        -2.0015841,
-                        55.9235526
-                    ],
-                    [
-                        -2.1604851,
-                        55.9240613
-                    ],
-                    [
-                        -2.1613931,
-                        55.9413549
-                    ],
-                    [
-                        -2.3202942,
-                        55.9408463
-                    ],
-                    [
-                        -2.3212022,
-                        56.0145126
-                    ],
-                    [
-                        -2.5627317,
-                        56.0124824
-                    ],
-                    [
-                        -2.5645477,
-                        56.1022207
-                    ],
-                    [
-                        -2.9658863,
-                        56.0991822
-                    ],
-                    [
-                        -2.9667943,
-                        56.1710304
-                    ],
-                    [
-                        -2.4828272,
-                        56.1755797
-                    ],
-                    [
-                        -2.4882752,
-                        56.2856078
-                    ],
-                    [
-                        -2.5645477,
-                        56.2835918
-                    ],
-                    [
-                        -2.5681798,
-                        56.3742075
-                    ],
-                    [
-                        -2.7261728,
-                        56.3732019
-                    ],
-                    [
-                        -2.7316208,
-                        56.4425301
-                    ],
-                    [
-                        -2.6190281,
-                        56.4425301
-                    ],
-                    [
-                        -2.6153961,
-                        56.5317671
-                    ],
-                    [
-                        -2.453771,
-                        56.5347715
-                    ],
-                    [
-                        -2.4534686,
-                        56.6420248
-                    ],
-                    [
-                        -2.4062523,
-                        56.6440218
-                    ],
-                    [
-                        -2.3953562,
-                        56.7297964
-                    ],
-                    [
-                        -2.2936596,
-                        56.7337811
-                    ],
-                    [
-                        -2.2972916,
-                        56.807423
-                    ],
-                    [
-                        -2.1629067,
-                        56.8113995
-                    ],
-                    [
-                        -2.1592747,
-                        56.9958425
-                    ],
-                    [
-                        -1.9922016,
-                        57.0017771
-                    ],
-                    [
-                        -2.0067297,
-                        57.2737477
-                    ],
-                    [
-                        -1.9195612,
-                        57.2757112
-                    ],
-                    [
-                        -1.9304572,
-                        57.3482876
-                    ],
-                    [
-                        -1.8106005,
-                        57.3443682
-                    ],
-                    [
-                        -1.7997044,
-                        57.4402728
-                    ],
-                    [
-                        -1.6616875,
-                        57.4285429
-                    ],
-                    [
-                        -1.6689516,
-                        57.5398256
-                    ],
-                    [
-                        -1.7452241,
-                        57.5398256
-                    ],
-                    [
-                        -1.7524881,
-                        57.6313302
-                    ],
-                    [
-                        -1.8287606,
-                        57.6332746
-                    ],
-                    [
-                        -1.8287606,
-                        57.7187255
-                    ],
-                    [
-                        -3.1768526,
-                        57.7171219
-                    ],
-                    [
-                        -3.1794208,
-                        57.734264
-                    ],
-                    [
-                        -3.5134082,
-                        57.7292105
-                    ],
-                    [
-                        -3.5129542,
-                        57.7112683
-                    ],
-                    [
-                        -3.7635638,
-                        57.7076303
-                    ],
-                    [
-                        -3.7598539,
-                        57.635713
-                    ],
-                    [
-                        -3.8420372,
-                        57.6343382
-                    ],
-                    [
-                        -3.8458895,
-                        57.6178365
-                    ],
-                    [
-                        -3.9794374,
-                        57.6157733
-                    ],
-                    [
-                        -3.9794374,
-                        57.686544
-                    ],
-                    [
-                        -3.8150708,
-                        57.689976
-                    ],
-                    [
-                        -3.817639,
-                        57.7968899
-                    ],
-                    [
-                        -3.6853753,
-                        57.7989429
-                    ],
-                    [
-                        -3.6892276,
-                        57.8891567
-                    ],
-                    [
-                        -3.9383458,
-                        57.8877915
-                    ],
-                    [
-                        -3.9421981,
-                        57.9750592
-                    ],
-                    [
-                        -3.6943641,
-                        57.9784638
-                    ],
-                    [
-                        -3.6969323,
-                        58.0695865
-                    ],
-                    [
-                        -4.0372226,
-                        58.0641528
-                    ],
-                    [
-                        -4.0346543,
-                        57.9730163
-                    ],
-                    [
-                        -4.2003051,
-                        57.9702923
-                    ],
-                    [
-                        -4.1832772,
-                        57.7012869
-                    ],
-                    [
-                        -4.518752,
-                        57.6951111
-                    ],
-                    [
-                        -4.5122925,
-                        57.6050682
-                    ],
-                    [
-                        -4.6789116,
-                        57.6016628
-                    ],
-                    [
-                        -4.666022,
-                        57.4218334
-                    ],
-                    [
-                        -3.6677696,
-                        57.4394729
-                    ],
-                    [
-                        -3.671282,
-                        57.5295384
-                    ],
-                    [
-                        -3.3384979,
-                        57.5331943
-                    ],
-                    [
-                        -3.3330498,
-                        57.4438859
-                    ],
-                    [
-                        -2.8336466,
-                        57.4485275
-                    ],
-                    [
-                        -2.8236396,
-                        56.9992706
-                    ],
-                    [
-                        -2.3305398,
-                        57.0006693
-                    ],
-                    [
-                        -2.3298977,
-                        56.9113932
-                    ],
-                    [
-                        -2.6579889,
-                        56.9092901
-                    ],
-                    [
-                        -2.6559637,
-                        56.8198406
-                    ],
-                    [
-                        -2.8216747,
-                        56.8188467
-                    ],
-                    [
-                        -2.8184967,
-                        56.7295397
-                    ],
-                    [
-                        -3.1449248,
-                        56.7265508
-                    ],
-                    [
-                        -3.1435628,
-                        56.6362749
-                    ],
-                    [
-                        -3.4679089,
-                        56.6350265
-                    ],
-                    [
-                        -3.474265,
-                        56.7238108
-                    ],
-                    [
-                        -3.8011471,
-                        56.7188284
-                    ],
-                    [
-                        -3.785711,
-                        56.4493026
-                    ],
-                    [
-                        -3.946428,
-                        56.4457896
-                    ],
-                    [
-                        -3.9428873,
-                        56.2659777
-                    ],
-                    [
-                        -4.423146,
-                        56.2588459
-                    ],
-                    [
-                        -4.4141572,
-                        56.0815506
-                    ],
-                    [
-                        -4.8944159,
-                        56.0708008
-                    ],
-                    [
-                        -4.8791072,
-                        55.8896994
-                    ],
-                    [
-                        -5.1994158,
-                        55.8821374
-                    ],
-                    [
-                        -5.1852906,
-                        55.7023791
-                    ],
-                    [
-                        -5.0273445,
-                        55.7067203
-                    ],
-                    [
-                        -5.0222081,
-                        55.6879046
-                    ],
-                    [
-                        -4.897649,
-                        55.6907999
-                    ],
-                    [
-                        -4.8880181,
-                        55.6002822
-                    ],
-                    [
-                        -4.7339244,
-                        55.6046348
-                    ],
-                    [
-                        -4.7275038,
-                        55.5342082
-                    ],
-                    [
-                        -4.773732,
-                        55.5334815
-                    ],
-                    [
-                        -4.7685955,
-                        55.4447227
-                    ],
-                    [
-                        -4.8494947,
-                        55.4418092
-                    ],
-                    [
-                        -4.8405059,
-                        55.3506535
-                    ],
-                    [
-                        -4.8700405,
-                        55.3513836
-                    ],
-                    [
-                        -4.8649041,
-                        55.2629462
-                    ],
-                    [
-                        -4.9920314,
-                        55.2592875
-                    ],
-                    [
-                        -4.9907473,
-                        55.1691779
-                    ],
-                    [
-                        -5.0600894,
-                        55.1655105
-                    ],
-                    [
-                        -5.0575212,
-                        55.0751884
-                    ],
-                    [
-                        -5.2141831,
-                        55.0722477
-                    ],
-                    [
-                        -5.1991766,
-                        54.8020337
-                    ],
-                    [
-                        -5.0466316,
-                        54.8062205
-                    ],
-                    [
-                        -5.0502636,
-                        54.7244996
-                    ],
-                    [
-                        -4.9703591,
-                        54.7203043
-                    ],
-                    [
-                        -4.9776232,
-                        54.6215905
-                    ],
-                    [
-                        -4.796022,
-                        54.6342056
-                    ],
-                    [
-                        -4.796022,
-                        54.7307917
-                    ],
-                    [
-                        -4.8977186,
-                        54.7265971
-                    ],
-                    [
-                        -4.9086147,
-                        54.8145928
-                    ],
-                    [
-                        -4.8069181,
-                        54.8166856
-                    ],
-                    [
-                        -4.8105501,
-                        54.7915648
-                    ],
-                    [
-                        -4.6943253,
-                        54.7978465
-                    ],
-                    [
-                        -4.6761652,
-                        54.7244996
-                    ],
-                    [
-                        -4.5744686,
-                        54.7244996
-                    ],
-                    [
-                        -4.5599405,
-                        54.6426135
-                    ],
-                    [
-                        -4.3093309,
-                        54.6384098
-                    ],
-                    [
-                        -4.3333262,
-                        54.8229889
-                    ],
-                    [
-                        -4.2626999,
-                        54.8274274
-                    ],
-                    [
-                        -4.2549952,
-                        54.7348587
-                    ],
-                    [
-                        -3.8338058,
-                        54.7400481
-                    ],
-                    [
-                        -3.836374,
-                        54.8141105
-                    ],
-                    [
-                        -3.7118149,
-                        54.8133706
-                    ],
-                    [
-                        -3.7143831,
-                        54.8318654
-                    ],
-                    [
-                        -3.5346072,
-                        54.8355633
-                    ],
-                    [
-                        -3.5271039,
-                        54.9066228
-                    ],
-                    [
-                        -3.4808758,
-                        54.9084684
-                    ],
-                    [
-                        -3.4776655,
-                        54.7457328
-                    ],
-                    [
-                        -3.5874573,
-                        54.744621
-                    ],
-                    [
-                        -3.5836049,
-                        54.6546166
-                    ],
-                    [
-                        -3.7107322,
-                        54.6531308
-                    ],
-                    [
-                        -3.6991752,
-                        54.4550407
-                    ],
-                    [
-                        -3.5746161,
-                        54.4572801
-                    ],
-                    [
-                        -3.5759002,
-                        54.3863042
-                    ],
-                    [
-                        -3.539945,
-                        54.3855564
-                    ],
-                    [
-                        -3.5386609,
-                        54.297224
-                    ],
-                    [
-                        -3.46033,
-                        54.2957252
-                    ],
-                    [
-                        -3.4590458,
-                        54.2079507
-                    ],
-                    [
-                        -3.3807149,
-                        54.2102037
-                    ],
-                    [
-                        -3.381999,
-                        54.1169788
-                    ],
-                    [
-                        -3.302878,
-                        54.1160656
-                    ],
-                    [
-                        -3.300154,
-                        54.0276224
-                    ],
-                    [
-                        -3.1013007,
-                        54.0292224
-                    ],
-                    [
-                        -3.093596,
-                        53.6062158
-                    ],
-                    [
-                        -3.2065981,
-                        53.6016441
-                    ],
-                    [
-                        -3.2091663,
-                        53.4917753
-                    ],
-                    [
-                        -3.2451215,
-                        53.4887193
-                    ],
-                    [
-                        -3.2348486,
-                        53.4045934
-                    ],
-                    [
-                        -3.5276266,
-                        53.3999999
-                    ],
-                    [
-                        -3.5343966,
-                        53.328481
-                    ],
-                    [
-                        -3.6488053,
-                        53.3252272
-                    ],
-                    [
-                        -3.6527308,
-                        53.3057716
-                    ],
-                    [
-                        -3.7271873,
-                        53.3046865
-                    ],
-                    [
-                        -3.7315003,
-                        53.3945257
-                    ],
-                    [
-                        -3.9108315,
-                        53.3912769
-                    ],
-                    [
-                        -3.9071995,
-                        53.3023804
-                    ],
-                    [
-                        -3.9521457,
-                        53.3015665
-                    ],
-                    [
-                        -3.9566724,
-                        53.3912183
-                    ],
-                    [
-                        -4.1081979,
-                        53.3889209
-                    ],
-                    [
-                        -4.1081979,
-                        53.4072967
-                    ],
-                    [
-                        -4.2622916,
-                        53.4065312
-                    ],
-                    [
-                        -4.2635757,
-                        53.4753707
-                    ],
-                    [
-                        -4.638537,
-                        53.4677274
-                    ],
-                    [
-                        -4.6346847,
-                        53.3812621
-                    ],
-                    [
-                        -4.7091633,
-                        53.3774321
-                    ],
-                    [
-                        -4.7001745,
-                        53.1954965
-                    ],
-                    [
-                        -4.5499332,
-                        53.1962658
-                    ],
-                    [
-                        -4.5435126,
-                        53.1092488
-                    ],
-                    [
-                        -4.3919871,
-                        53.1100196
-                    ],
-                    [
-                        -4.3855666,
-                        53.0236002
-                    ],
-                    [
-                        -4.6115707,
-                        53.0205105
-                    ],
-                    [
-                        -4.603866,
-                        52.9284932
-                    ],
-                    [
-                        -4.7566756,
-                        52.9261709
-                    ],
-                    [
-                        -4.7476868,
-                        52.8370555
-                    ],
-                    [
-                        -4.8208813,
-                        52.8331768
-                    ],
-                    [
-                        -4.8208813,
-                        52.7446476
-                    ],
-                    [
-                        -4.3701572,
-                        52.7539749
-                    ],
-                    [
-                        -4.3765778,
-                        52.8401583
-                    ],
-                    [
-                        -4.2314728,
-                        52.8455875
-                    ],
-                    [
-                        -4.2237682,
-                        52.7586379
-                    ],
-                    [
-                        -4.1056297,
-                        52.7570836
-                    ],
-                    [
-                        -4.1015192,
-                        52.6714874
-                    ],
-                    [
-                        -4.1487355,
-                        52.6703862
-                    ],
-                    [
-                        -4.1305754,
-                        52.4008596
-                    ],
-                    [
-                        -4.1995838,
-                        52.3986435
-                    ],
-                    [
-                        -4.2050319,
-                        52.3110195
-                    ],
-                    [
-                        -4.3466808,
-                        52.303247
-                    ],
-                    [
-                        -4.3484968,
-                        52.2365693
-                    ],
-                    [
-                        -4.4901457,
-                        52.2332328
-                    ],
-                    [
-                        -4.4883297,
-                        52.2098702
-                    ],
-                    [
-                        -4.6572188,
-                        52.2098702
-                    ],
-                    [
-                        -4.6590348,
-                        52.1385939
-                    ],
-                    [
-                        -4.7788916,
-                        52.13525
-                    ],
-                    [
-                        -4.7807076,
-                        52.1162967
-                    ],
-                    [
-                        -4.9259885,
-                        52.1140663
-                    ],
-                    [
-                        -4.9187245,
-                        52.0392855
-                    ],
-                    [
-                        -5.2365265,
-                        52.0314653
-                    ],
-                    [
-                        -5.2347105,
-                        51.9442339
-                    ],
-                    [
-                        -5.3473032,
-                        51.9408755
-                    ],
-                    [
-                        -5.3473032,
-                        51.9195995
-                    ],
-                    [
-                        -5.4925842,
-                        51.9162392
-                    ],
-                    [
-                        -5.4853201,
-                        51.8265386
-                    ],
-                    [
-                        -5.1983903,
-                        51.8321501
-                    ],
-                    [
-                        -5.1893102,
-                        51.7625177
-                    ],
-                    [
-                        -5.335825,
-                        51.7589528
-                    ],
-                    [
-                        -5.3281204,
-                        51.6686495
-                    ],
-                    [
-                        -5.1836575,
-                        51.6730296
-                    ],
-                    [
-                        -5.1836575,
-                        51.6539134
-                    ],
-                    [
-                        -5.0674452,
-                        51.6578966
-                    ],
-                    [
-                        -5.0603825,
-                        51.5677905
-                    ],
-                    [
-                        -4.5974594,
-                        51.5809588
-                    ],
-                    [
-                        -4.60388,
-                        51.6726314
-                    ],
-                    [
-                        -4.345773,
-                        51.6726314
-                    ],
-                    [
-                        -4.3355001,
-                        51.4962964
-                    ],
-                    [
-                        -3.9528341,
-                        51.5106841
-                    ],
-                    [
-                        -3.9425611,
-                        51.5905333
-                    ],
-                    [
-                        -3.8809237,
-                        51.5953198
-                    ],
-                    [
-                        -3.8706508,
-                        51.5074872
-                    ],
-                    [
-                        -3.7679216,
-                        51.4978952
-                    ],
-                    [
-                        -3.7550805,
-                        51.4242895
-                    ],
-                    [
-                        -3.5855774,
-                        51.41468
-                    ],
-                    [
-                        -3.5778727,
-                        51.3329177
-                    ],
-                    [
-                        -3.0796364,
-                        51.3329177
-                    ],
-                    [
-                        -3.0770682,
-                        51.2494018
-                    ],
-                    [
-                        -3.7216935,
-                        51.2381477
-                    ],
-                    [
-                        -3.7216935,
-                        51.2558315
-                    ],
-                    [
-                        -3.8706508,
-                        51.2558315
-                    ],
-                    [
-                        -3.8680825,
-                        51.2365398
-                    ],
-                    [
-                        -4.2944084,
-                        51.2252825
-                    ],
-                    [
-                        -4.289272,
-                        51.0496352
-                    ],
-                    [
-                        -4.5692089,
-                        51.0431767
-                    ],
-                    [
-                        -4.5624122,
-                        50.9497388
-                    ],
-                    [
-                        -4.5905604,
-                        50.9520269
-                    ],
-                    [
-                        -4.5896524,
-                        50.8627065
-                    ],
-                    [
-                        -4.6296046,
-                        50.8592677
-                    ],
-                    [
-                        -4.6226411,
-                        50.7691513
-                    ],
-                    [
-                        -4.6952816,
-                        50.7680028
-                    ],
-                    [
-                        -4.6934655,
-                        50.6967379
-                    ],
-                    [
-                        -4.8342064,
-                        50.6938621
-                    ],
-                    [
-                        -4.8296664,
-                        50.6046231
-                    ],
-                    [
-                        -4.9676833,
-                        50.6000126
-                    ],
-                    [
-                        -4.9685913,
-                        50.5821427
-                    ],
-                    [
-                        -5.1084242,
-                        50.5786832
-                    ],
-                    [
-                        -5.1029762,
-                        50.4892254
-                    ],
-                    [
-                        -5.1311244,
-                        50.48807
-                    ],
-                    [
-                        -5.1274923,
-                        50.4163798
-                    ],
-                    [
-                        -5.2664172,
-                        50.4117509
-                    ],
-                    [
-                        -5.2609692,
-                        50.3034214
-                    ],
-                    [
-                        -5.5124868,
-                        50.2976214
-                    ],
-                    [
-                        -5.5061308,
-                        50.2256428
-                    ],
-                    [
-                        -5.6468717,
-                        50.2209953
-                    ]
-                ],
-                [
-                    [
-                        -5.1336607,
-                        55.2630226
-                    ],
-                    [
-                        -5.1021999,
-                        55.2639372
-                    ],
-                    [
-                        -5.0999527,
-                        55.2458239
-                    ],
-                    [
-                        -5.1322161,
-                        55.2446343
-                    ]
-                ],
-                [
-                    [
-                        -5.6431878,
-                        55.5095745
-                    ],
-                    [
-                        -5.4861028,
-                        55.5126594
-                    ],
-                    [
-                        -5.4715747,
-                        55.3348829
-                    ],
-                    [
-                        -5.6277517,
-                        55.3302345
-                    ]
-                ],
-                [
-                    [
-                        -4.7213517,
-                        51.2180246
-                    ],
-                    [
-                        -4.5804201,
-                        51.2212417
-                    ],
-                    [
-                        -4.5746416,
-                        51.1306736
-                    ],
-                    [
-                        -4.7174993,
-                        51.1280545
-                    ]
-                ],
-                [
-                    [
-                        -5.1608796,
-                        55.4153626
-                    ],
-                    [
-                        -5.0045387,
-                        55.4190069
-                    ],
-                    [
-                        -5.0184798,
-                        55.6153521
-                    ],
-                    [
-                        -5.1755648,
-                        55.6138137
-                    ]
-                ]
-            ],
-            "terms_url": "http://geo.nls.uk/maps/",
-            "terms_text": "National Library of Scotland Historic Maps"
-        },
-        {
-            "name": "NLS - OS 6-inch Scotland 1842-82",
-            "type": "tms",
-            "template": "http://geo.nls.uk/maps/os/six_inch/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                5,
-                16
-            ],
-            "polygon": [
-                [
-                    [
-                        -5.2112173,
-                        54.8018593
-                    ],
-                    [
-                        -5.0642752,
-                        54.8026508
-                    ],
-                    [
-                        -5.0560354,
-                        54.6305176
-                    ],
-                    [
-                        -4.3158316,
-                        54.6297227
-                    ],
-                    [
-                        -4.3117117,
-                        54.7448258
-                    ],
-                    [
-                        -3.8530325,
-                        54.7464112
-                    ],
-                    [
-                        -3.8530325,
-                        54.8034424
-                    ],
-                    [
-                        -3.5522818,
-                        54.8034424
-                    ],
-                    [
-                        -3.5522818,
-                        54.8374644
-                    ],
-                    [
-                        -3.468511,
-                        54.8406277
-                    ],
-                    [
-                        -3.4657644,
-                        54.8983158
-                    ],
-                    [
-                        -3.3847403,
-                        54.8991055
-                    ],
-                    [
-                        -3.3888601,
-                        54.9559214
-                    ],
-                    [
-                        -3.0920786,
-                        54.9539468
-                    ],
-                    [
-                        -3.0392359,
-                        54.9923274
-                    ],
-                    [
-                        -3.0212713,
-                        55.0493881
-                    ],
-                    [
-                        -2.9591232,
-                        55.0463283
-                    ],
-                    [
-                        -2.9202807,
-                        55.0666294
-                    ],
-                    [
-                        -2.7857081,
-                        55.068652
-                    ],
-                    [
-                        -2.7852225,
-                        55.0914426
-                    ],
-                    [
-                        -2.7337562,
-                        55.0922761
-                    ],
-                    [
-                        -2.737616,
-                        55.151204
-                    ],
-                    [
-                        -2.7648395,
-                        55.1510672
-                    ],
-                    [
-                        -2.7013114,
-                        55.1722505
-                    ],
-                    [
-                        -2.6635459,
-                        55.2192808
-                    ],
-                    [
-                        -2.6460364,
-                        55.2188891
-                    ],
-                    [
-                        -2.629042,
-                        55.2233933
-                    ],
-                    [
-                        -2.6317886,
-                        55.2287781
-                    ],
-                    [
-                        -2.6235488,
-                        55.2446345
-                    ],
-                    [
-                        -2.6197723,
-                        55.2454663
-                    ],
-                    [
-                        -2.6099017,
-                        55.2454174
-                    ],
-                    [
-                        -2.6099876,
-                        55.2486466
-                    ],
-                    [
-                        -2.6408121,
-                        55.2590039
-                    ],
-                    [
-                        -2.6247896,
-                        55.2615631
-                    ],
-                    [
-                        -2.6045186,
-                        55.2823081
-                    ],
-                    [
-                        -2.5693176,
-                        55.296132
-                    ],
-                    [
-                        -2.5479542,
-                        55.3121617
-                    ],
-                    [
-                        -2.5091116,
-                        55.3234891
-                    ],
-                    [
-                        -2.4780376,
-                        55.3494471
-                    ],
-                    [
-                        -2.4421083,
-                        55.3533118
-                    ],
-                    [
-                        -2.4052079,
-                        55.3439256
-                    ],
-                    [
-                        -2.3726772,
-                        55.3447539
-                    ],
-                    [
-                        -2.3221819,
-                        55.3687665
-                    ],
-                    [
-                        -2.3241241,
-                        55.3999337
-                    ],
-                    [
-                        -2.2576062,
-                        55.425015
-                    ],
-                    [
-                        -2.1985547,
-                        55.4273529
-                    ],
-                    [
-                        -2.1484296,
-                        55.4717466
-                    ],
-                    [
-                        -2.1944348,
-                        55.484199
-                    ],
-                    [
-                        -2.2040479,
-                        55.529306
-                    ],
-                    [
-                        -2.2960584,
-                        55.6379722
-                    ],
-                    [
-                        -2.2177808,
-                        55.6379722
-                    ],
-                    [
-                        -2.1059266,
-                        55.7452498
-                    ],
-                    [
-                        -1.9716874,
-                        55.7462161
-                    ],
-                    [
-                        -1.9697453,
-                        55.9190951
-                    ],
-                    [
-                        -2.1201694,
-                        55.9207115
-                    ],
-                    [
-                        -2.1242893,
-                        55.9776133
-                    ],
-                    [
-                        -2.3440159,
-                        55.9783817
-                    ],
-                    [
-                        -2.3440159,
-                        56.0390349
-                    ],
-                    [
-                        -2.5046909,
-                        56.0413363
-                    ],
-                    [
-                        -2.500571,
-                        56.1003588
-                    ],
-                    [
-                        -2.8823459,
-                        56.0957629
-                    ],
-                    [
-                        -2.8823459,
-                        56.1722898
-                    ],
-                    [
-                        -2.4126804,
-                        56.1692316
-                    ],
-                    [
-                        -2.4181736,
-                        56.2334017
-                    ],
-                    [
-                        -2.5857151,
-                        56.2303484
-                    ],
-                    [
-                        -2.5719822,
-                        56.3416356
-                    ],
-                    [
-                        -2.7257908,
-                        56.3462022
-                    ],
-                    [
-                        -2.7312839,
-                        56.4343808
-                    ],
-                    [
-                        -2.6928318,
-                        56.4343808
-                    ],
-                    [
-                        -2.6928318,
-                        56.4859769
-                    ],
-                    [
-                        -2.5307834,
-                        56.4935587
-                    ],
-                    [
-                        -2.5307834,
-                        56.570806
-                    ],
-                    [
-                        -2.5302878,
-                        56.6047947
-                    ],
-                    [
-                        -2.3732428,
-                        56.6044452
-                    ],
-                    [
-                        -2.3684363,
-                        56.7398824
-                    ],
-                    [
-                        -2.3292975,
-                        56.7398824
-                    ],
-                    [
-                        -2.3292975,
-                        56.7888065
-                    ],
-                    [
-                        -2.3145346,
-                        56.7891826
-                    ],
-                    [
-                        -2.3148779,
-                        56.7967036
-                    ],
-                    [
-                        -2.171369,
-                        56.7967036
-                    ],
-                    [
-                        -2.1703979,
-                        56.9710595
-                    ],
-                    [
-                        -2.0101725,
-                        56.9694716
-                    ],
-                    [
-                        -2.0101725,
-                        57.0846832
-                    ],
-                    [
-                        -2.0817687,
-                        57.085349
-                    ],
-                    [
-                        -2.0488097,
-                        57.1259963
-                    ],
-                    [
-                        -2.0409133,
-                        57.126369
-                    ],
-                    [
-                        -2.0383434,
-                        57.2411129
-                    ],
-                    [
-                        -1.878118,
-                        57.2421638
-                    ],
-                    [
-                        -1.8771469,
-                        57.2978175
-                    ],
-                    [
-                        -1.9868771,
-                        57.2983422
-                    ],
-                    [
-                        -1.9082209,
-                        57.3560063
-                    ],
-                    [
-                        -1.8752048,
-                        57.3560063
-                    ],
-                    [
-                        -1.8761758,
-                        57.3769527
-                    ],
-                    [
-                        -1.8120857,
-                        57.4120111
-                    ],
-                    [
-                        -1.7120661,
-                        57.4120111
-                    ],
-                    [
-                        -1.7034646,
-                        57.6441388
-                    ],
-                    [
-                        -1.8666032,
-                        57.6451781
-                    ],
-                    [
-                        -1.8646611,
-                        57.7033351
-                    ],
-                    [
-                        -3.1204292,
-                        57.7064705
-                    ],
-                    [
-                        -3.1218025,
-                        57.7504652
-                    ],
-                    [
-                        -3.4445259,
-                        57.7526635
-                    ],
-                    [
-                        -3.4472724,
-                        57.7138067
-                    ],
-                    [
-                        -3.5145637,
-                        57.7094052
-                    ],
-                    [
-                        -3.5118171,
-                        57.6939956
-                    ],
-                    [
-                        -3.7645027,
-                        57.6917938
-                    ],
-                    [
-                        -3.7672492,
-                        57.6344975
-                    ],
-                    [
-                        -3.842378,
-                        57.6288312
-                    ],
-                    [
-                        -3.8438346,
-                        57.5965825
-                    ],
-                    [
-                        -3.9414265,
-                        57.5916386
-                    ],
-                    [
-                        -3.9404554,
-                        57.6537782
-                    ],
-                    [
-                        -3.8894746,
-                        57.6529989
-                    ],
-                    [
-                        -3.8826772,
-                        57.7676408
-                    ],
-                    [
-                        -3.7224517,
-                        57.766087
-                    ],
-                    [
-                        -3.7195385,
-                        57.8819201
-                    ],
-                    [
-                        -3.9146888,
-                        57.8853352
-                    ],
-                    [
-                        -3.916062,
-                        57.9546243
-                    ],
-                    [
-                        -3.745774,
-                        57.9538956
-                    ],
-                    [
-                        -3.7471473,
-                        58.0688409
-                    ],
-                    [
-                        -3.5837256,
-                        58.0695672
-                    ],
-                    [
-                        -3.5837256,
-                        58.1116689
-                    ],
-                    [
-                        -3.4560096,
-                        58.1138452
-                    ],
-                    [
-                        -3.4544646,
-                        58.228503
-                    ],
-                    [
-                        -3.4379851,
-                        58.2283222
-                    ],
-                    [
-                        -3.4243233,
-                        58.2427725
-                    ],
-                    [
-                        -3.412307,
-                        58.2438567
-                    ],
-                    [
-                        -3.3735115,
-                        58.2695057
-                    ],
-                    [
-                        -3.3063919,
-                        58.2862038
-                    ],
-                    [
-                        -3.1229154,
-                        58.2859395
-                    ],
-                    [
-                        -3.123602,
-                        58.3443661
-                    ],
-                    [
-                        -2.9574338,
-                        58.3447264
-                    ],
-                    [
-                        -2.951254,
-                        58.6422011
-                    ],
-                    [
-                        -2.8812162,
-                        58.6429157
-                    ],
-                    [
-                        -2.8851004,
-                        58.8112825
-                    ],
-                    [
-                        -2.7180775,
-                        58.8142997
-                    ],
-                    [
-                        -2.7161354,
-                        58.8715749
-                    ],
-                    [
-                        -2.556881,
-                        58.8775984
-                    ],
-                    [
-                        -2.5544533,
-                        58.9923453
-                    ],
-                    [
-                        -2.5567617,
-                        59.0483775
-                    ],
-                    [
-                        -2.391893,
-                        59.0485996
-                    ],
-                    [
-                        -2.3918002,
-                        59.1106996
-                    ],
-                    [
-                        -2.4733695,
-                        59.1106996
-                    ],
-                    [
-                        -2.5591563,
-                        59.1783028
-                    ],
-                    [
-                        -2.5630406,
-                        59.2210646
-                    ],
-                    [
-                        -2.3921334,
-                        59.224046
-                    ],
-                    [
-                        -2.3911409,
-                        59.2740075
-                    ],
-                    [
-                        -2.3639512,
-                        59.2745036
-                    ],
-                    [
-                        -2.3658933,
-                        59.285417
-                    ],
-                    [
-                        -2.3911409,
-                        59.284921
-                    ],
-                    [
-                        -2.3911409,
-                        59.3379505
-                    ],
-                    [
-                        -2.2221759,
-                        59.3381981
-                    ],
-                    [
-                        -2.2233897,
-                        59.395965
-                    ],
-                    [
-                        -2.3758467,
-                        59.396583
-                    ],
-                    [
-                        -2.3899271,
-                        59.4026383
-                    ],
-                    [
-                        -2.4008516,
-                        59.3962122
-                    ],
-                    [
-                        -2.5637882,
-                        59.3952604
-                    ],
-                    [
-                        -2.5637882,
-                        59.3385811
-                    ],
-                    [
-                        -2.7320164,
-                        59.3375306
-                    ],
-                    [
-                        -2.7333896,
-                        59.3952604
-                    ],
-                    [
-                        -3.0726511,
-                        59.3931174
-                    ],
-                    [
-                        -3.0703404,
-                        59.3354759
-                    ],
-                    [
-                        -3.0753186,
-                        59.3355634
-                    ],
-                    [
-                        -3.0749753,
-                        59.3292593
-                    ],
-                    [
-                        -3.0698254,
-                        59.3289091
-                    ],
-                    [
-                        -3.069801,
-                        59.2196159
-                    ],
-                    [
-                        -3.2363384,
-                        59.2166341
-                    ],
-                    [
-                        -3.2336751,
-                        59.1606496
-                    ],
-                    [
-                        -3.4032766,
-                        59.1588895
-                    ],
-                    [
-                        -3.394086,
-                        58.9279316
-                    ],
-                    [
-                        -3.5664497,
-                        58.9259268
-                    ],
-                    [
-                        -3.5611089,
-                        58.8679885
-                    ],
-                    [
-                        -3.392508,
-                        58.8699339
-                    ],
-                    [
-                        -3.3894734,
-                        58.8698711
-                    ],
-                    [
-                        -3.3891093,
-                        58.8684905
-                    ],
-                    [
-                        -3.3912942,
-                        58.868616
-                    ],
-                    [
-                        -3.3884161,
-                        58.7543084
-                    ],
-                    [
-                        -3.2238208,
-                        58.7555677
-                    ],
-                    [
-                        -3.2189655,
-                        58.691289
-                    ],
-                    [
-                        -3.4634113,
-                        58.6905753
-                    ],
-                    [
-                        -3.4551716,
-                        58.6341518
-                    ],
-                    [
-                        -3.787508,
-                        58.6341518
-                    ],
-                    [
-                        -3.7861347,
-                        58.5769211
-                    ],
-                    [
-                        -3.9028645,
-                        58.5733411
-                    ],
-                    [
-                        -3.9028645,
-                        58.6477304
-                    ],
-                    [
-                        -4.0690327,
-                        58.6491594
-                    ],
-                    [
-                        -4.0690327,
-                        58.5912376
-                    ],
-                    [
-                        -4.7364521,
-                        58.5933845
-                    ],
-                    [
-                        -4.7364521,
-                        58.6505884
-                    ],
-                    [
-                        -5.0715351,
-                        58.6520173
-                    ],
-                    [
-                        -5.0654779,
-                        58.5325854
-                    ],
-                    [
-                        -5.2332047,
-                        58.5316087
-                    ],
-                    [
-                        -5.2283494,
-                        58.4719947
-                    ],
-                    [
-                        -5.2424298,
-                        58.4719947
-                    ],
-                    [
-                        -5.2366034,
-                        58.4089731
-                    ],
-                    [
-                        -5.2283494,
-                        58.4094818
-                    ],
-                    [
-                        -5.2210664,
-                        58.3005859
-                    ],
-                    [
-                        -5.5657939,
-                        58.2959933
-                    ],
-                    [
-                        -5.5580254,
-                        58.2372573
-                    ],
-                    [
-                        -5.4146722,
-                        58.2401326
-                    ],
-                    [
-                        -5.4141866,
-                        58.2267768
-                    ],
-                    [
-                        -5.3885749,
-                        58.2272242
-                    ],
-                    [
-                        -5.382714,
-                        58.1198615
-                    ],
-                    [
-                        -5.51043,
-                        58.1191362
-                    ],
-                    [
-                        -5.5114011,
-                        58.006214
-                    ],
-                    [
-                        -5.6745397,
-                        58.0041559
-                    ],
-                    [
-                        -5.6716266,
-                        57.9449366
-                    ],
-                    [
-                        -5.6716266,
-                        57.8887166
-                    ],
-                    [
-                        -5.8347652,
-                        57.8856193
-                    ],
-                    [
-                        -5.8277052,
-                        57.5988958
-                    ],
-                    [
-                        -6.0384259,
-                        57.5986357
-                    ],
-                    [
-                        -6.0389115,
-                        57.6459559
-                    ],
-                    [
-                        -6.1981658,
-                        57.6456961
-                    ],
-                    [
-                        -6.2076123,
-                        57.7600132
-                    ],
-                    [
-                        -6.537067,
-                        57.7544033
-                    ],
-                    [
-                        -6.5312406,
-                        57.6402392
-                    ],
-                    [
-                        -6.7002056,
-                        57.6360809
-                    ],
-                    [
-                        -6.6807844,
-                        57.5236293
-                    ],
-                    [
-                        -6.8516915,
-                        57.5152857
-                    ],
-                    [
-                        -6.8361545,
-                        57.3385811
-                    ],
-                    [
-                        -6.6730158,
-                        57.3438213
-                    ],
-                    [
-                        -6.674958,
-                        57.2850883
-                    ],
-                    [
-                        -6.5098772,
-                        57.2850883
-                    ],
-                    [
-                        -6.4982244,
-                        57.1757637
-                    ],
-                    [
-                        -6.3506228,
-                        57.1820797
-                    ],
-                    [
-                        -6.3312015,
-                        57.1251969
-                    ],
-                    [
-                        -6.1797156,
-                        57.1230884
-                    ],
-                    [
-                        -6.1719471,
-                        57.0682265
-                    ],
-                    [
-                        -6.4593819,
-                        57.059779
-                    ],
-                    [
-                        -6.4564687,
-                        57.1093806
-                    ],
-                    [
-                        -6.6671895,
-                        57.1062165
-                    ],
-                    [
-                        -6.6730158,
-                        57.002708
-                    ],
-                    [
-                        -6.5021087,
-                        57.0048233
-                    ],
-                    [
-                        -6.4836097,
-                        56.8917522
-                    ],
-                    [
-                        -6.3266104,
-                        56.8894062
-                    ],
-                    [
-                        -6.3156645,
-                        56.7799312
-                    ],
-                    [
-                        -6.2146739,
-                        56.775675
-                    ],
-                    [
-                        -6.2146739,
-                        56.7234965
-                    ],
-                    [
-                        -6.6866107,
-                        56.7224309
-                    ],
-                    [
-                        -6.6769001,
-                        56.6114413
-                    ],
-                    [
-                        -6.8419809,
-                        56.607166
-                    ],
-                    [
-                        -6.8400387,
-                        56.5483307
-                    ],
-                    [
-                        -7.1546633,
-                        56.5461895
-                    ],
-                    [
-                        -7.1488369,
-                        56.4872592
-                    ],
-                    [
-                        -6.9915246,
-                        56.490476
-                    ],
-                    [
-                        -6.9876404,
-                        56.4325329
-                    ],
-                    [
-                        -6.6827265,
-                        56.4314591
-                    ],
-                    [
-                        -6.6769001,
-                        56.5472601
-                    ],
-                    [
-                        -6.5292985,
-                        56.5504717
-                    ],
-                    [
-                        -6.5234721,
-                        56.4379018
-                    ],
-                    [
-                        -6.3661598,
-                        56.4368281
-                    ],
-                    [
-                        -6.3642177,
-                        56.3766524
-                    ],
-                    [
-                        -6.5273563,
-                        56.3712749
-                    ],
-                    [
-                        -6.5171745,
-                        56.2428427
-                    ],
-                    [
-                        -6.4869621,
-                        56.247421
-                    ],
-                    [
-                        -6.4869621,
-                        56.1893882
-                    ],
-                    [
-                        -6.3001945,
-                        56.1985572
-                    ],
-                    [
-                        -6.3029411,
-                        56.2581017
-                    ],
-                    [
-                        -5.9019401,
-                        56.256576
-                    ],
-                    [
-                        -5.8964469,
-                        56.0960466
-                    ],
-                    [
-                        -6.0282829,
-                        56.0883855
-                    ],
-                    [
-                        -6.0392692,
-                        56.1557502
-                    ],
-                    [
-                        -6.3853385,
-                        56.1542205
-                    ],
-                    [
-                        -6.3606193,
-                        55.96099
-                    ],
-                    [
-                        -6.2123039,
-                        55.9640647
-                    ],
-                    [
-                        -6.2047508,
-                        55.9202269
-                    ],
-                    [
-                        -6.5185478,
-                        55.9129158
-                    ],
-                    [
-                        -6.5061881,
-                        55.7501763
-                    ],
-                    [
-                        -6.6764762,
-                        55.7409005
-                    ],
-                    [
-                        -6.6599967,
-                        55.6263176
-                    ],
-                    [
-                        -6.3551261,
-                        55.6232161
-                    ],
-                    [
-                        -6.3578727,
-                        55.5689002
-                    ],
-                    [
-                        -6.0392692,
-                        55.5720059
-                    ],
-                    [
-                        -6.0310294,
-                        55.6247669
-                    ],
-                    [
-                        -5.7398917,
-                        55.6309694
-                    ],
-                    [
-                        -5.7371452,
-                        55.4569279
-                    ],
-                    [
-                        -5.8964469,
-                        55.4600426
-                    ],
-                    [
-                        -5.8964469,
-                        55.2789864
-                    ],
-                    [
-                        -5.4350211,
-                        55.2821151
-                    ],
-                    [
-                        -5.4405143,
-                        55.4506979
-                    ],
-                    [
-                        -5.2867057,
-                        55.4569279
-                    ],
-                    [
-                        -5.3086784,
-                        55.4070602
-                    ],
-                    [
-                        -4.9735954,
-                        55.4008223
-                    ],
-                    [
-                        -4.9845817,
-                        55.2038242
-                    ],
-                    [
-                        -5.1493766,
-                        55.2038242
-                    ],
-                    [
-                        -5.1411369,
-                        55.037337
-                    ],
-                    [
-                        -5.2152946,
-                        55.0341891
-                    ]
-                ],
-                [
-                    [
-                        -2.1646559,
-                        60.1622059
-                    ],
-                    [
-                        -1.9930299,
-                        60.1609801
-                    ],
-                    [
-                        -1.9946862,
-                        60.1035151
-                    ],
-                    [
-                        -2.1663122,
-                        60.104743
-                    ]
-                ],
-                [
-                    [
-                        -1.5360658,
-                        59.8570831
-                    ],
-                    [
-                        -1.3653566,
-                        59.8559841
-                    ],
-                    [
-                        -1.366847,
-                        59.7975565
-                    ],
-                    [
-                        -1.190628,
-                        59.7964199
-                    ],
-                    [
-                        -1.1862046,
-                        59.9695391
-                    ],
-                    [
-                        -1.0078652,
-                        59.9683948
-                    ],
-                    [
-                        -1.0041233,
-                        60.114145
-                    ],
-                    [
-                        -0.8360832,
-                        60.1130715
-                    ],
-                    [
-                        -0.834574,
-                        60.1716772
-                    ],
-                    [
-                        -1.0074262,
-                        60.1727795
-                    ],
-                    [
-                        -1.0052165,
-                        60.2583924
-                    ],
-                    [
-                        -0.8299659,
-                        60.2572778
-                    ],
-                    [
-                        -0.826979,
-                        60.3726551
-                    ],
-                    [
-                        -0.6507514,
-                        60.3715381
-                    ],
-                    [
-                        -0.6477198,
-                        60.4882292
-                    ],
-                    [
-                        -0.9984896,
-                        60.4904445
-                    ],
-                    [
-                        -0.9970279,
-                        60.546555
-                    ],
-                    [
-                        -0.6425288,
-                        60.5443201
-                    ],
-                    [
-                        -0.6394896,
-                        60.6606792
-                    ],
-                    [
-                        -0.8148133,
-                        60.6617806
-                    ],
-                    [
-                        -0.8132987,
-                        60.7196112
-                    ],
-                    [
-                        -0.6383298,
-                        60.7185141
-                    ],
-                    [
-                        -0.635467,
-                        60.8275393
-                    ],
-                    [
-                        -0.797568,
-                        60.8285523
-                    ],
-                    [
-                        -0.9941426,
-                        60.8297807
-                    ],
-                    [
-                        -0.9954966,
-                        60.7782667
-                    ],
-                    [
-                        -1.1670282,
-                        60.7793403
-                    ],
-                    [
-                        -1.1700357,
-                        60.6646181
-                    ],
-                    [
-                        -1.5222599,
-                        60.6668304
-                    ],
-                    [
-                        -1.5237866,
-                        60.6084426
-                    ],
-                    [
-                        -1.6975673,
-                        60.609536
-                    ],
-                    [
-                        -1.7021271,
-                        60.4345249
-                    ],
-                    [
-                        -1.5260578,
-                        60.4334111
-                    ],
-                    [
-                        -1.5275203,
-                        60.3770719
-                    ],
-                    [
-                        -1.8751127,
-                        60.3792746
-                    ],
-                    [
-                        -1.8781372,
-                        60.2624647
-                    ],
-                    [
-                        -1.7019645,
-                        60.2613443
-                    ],
-                    [
-                        -1.7049134,
-                        60.1470532
-                    ],
-                    [
-                        -1.528659,
-                        60.1459283
-                    ]
-                ],
-                [
-                    [
-                        -0.9847667,
-                        60.8943762
-                    ],
-                    [
-                        -0.9860347,
-                        60.8361105
-                    ],
-                    [
-                        -0.8078362,
-                        60.8351904
-                    ],
-                    [
-                        -0.8065683,
-                        60.8934578
-                    ]
-                ],
-                [
-                    [
-                        -7.7696901,
-                        56.8788231
-                    ],
-                    [
-                        -7.7614504,
-                        56.7608274
-                    ],
-                    [
-                        -7.6009049,
-                        56.7641903
-                    ],
-                    [
-                        -7.5972473,
-                        56.819332
-                    ],
-                    [
-                        -7.4479894,
-                        56.8203948
-                    ],
-                    [
-                        -7.4489319,
-                        56.8794098
-                    ],
-                    [
-                        -7.2841369,
-                        56.8794098
-                    ],
-                    [
-                        -7.2813904,
-                        57.0471152
-                    ],
-                    [
-                        -7.1303283,
-                        57.0515969
-                    ],
-                    [
-                        -7.1330749,
-                        57.511801
-                    ],
-                    [
-                        -6.96828,
-                        57.5147514
-                    ],
-                    [
-                        -6.9765198,
-                        57.6854668
-                    ],
-                    [
-                        -6.8062317,
-                        57.6913392
-                    ],
-                    [
-                        -6.8089782,
-                        57.8041985
-                    ],
-                    [
-                        -6.6496765,
-                        57.8071252
-                    ],
-                    [
-                        -6.6441833,
-                        57.8612267
-                    ],
-                    [
-                        -6.3200866,
-                        57.8626878
-                    ],
-                    [
-                        -6.3200866,
-                        58.1551617
-                    ],
-                    [
-                        -6.1607849,
-                        58.1522633
-                    ],
-                    [
-                        -6.1552917,
-                        58.20874
-                    ],
-                    [
-                        -5.9850036,
-                        58.2101869
-                    ],
-                    [
-                        -5.9904968,
-                        58.2680163
-                    ],
-                    [
-                        -6.1497986,
-                        58.2665717
-                    ],
-                    [
-                        -6.1415588,
-                        58.5557514
-                    ],
-                    [
-                        -6.3173401,
-                        58.5557514
-                    ],
-                    [
-                        -6.3091003,
-                        58.4983923
-                    ],
-                    [
-                        -6.4876282,
-                        58.4955218
-                    ],
-                    [
-                        -6.4876282,
-                        58.4423768
-                    ],
-                    [
-                        -6.6606628,
-                        58.4395018
-                    ],
-                    [
-                        -6.6469299,
-                        58.3819525
-                    ],
-                    [
-                        -6.8117248,
-                        58.3805125
-                    ],
-                    [
-                        -6.8117248,
-                        58.3286357
-                    ],
-                    [
-                        -6.9792663,
-                        58.3286357
-                    ],
-                    [
-                        -6.9710266,
-                        58.2694608
-                    ],
-                    [
-                        -7.1413147,
-                        58.2680163
-                    ],
-                    [
-                        -7.1403816,
-                        58.0358742
-                    ],
-                    [
-                        -7.3020636,
-                        58.0351031
-                    ],
-                    [
-                        -7.3030347,
-                        57.9774797
-                    ],
-                    [
-                        -7.1379539,
-                        57.9777372
-                    ],
-                    [
-                        -7.1413526,
-                        57.9202792
-                    ],
-                    [
-                        -7.1398961,
-                        57.8640206
-                    ],
-                    [
-                        -7.3020636,
-                        57.862471
-                    ],
-                    [
-                        -7.298484,
-                        57.7442293
-                    ],
-                    [
-                        -7.4509193,
-                        57.7456951
-                    ],
-                    [
-                        -7.4550392,
-                        57.6899522
-                    ],
-                    [
-                        -7.6186131,
-                        57.6906048
-                    ],
-                    [
-                        -7.6198341,
-                        57.7456951
-                    ],
-                    [
-                        -7.7901222,
-                        57.7442293
-                    ],
-                    [
-                        -7.7873756,
-                        57.6855477
-                    ],
-                    [
-                        -7.6222332,
-                        57.6853817
-                    ],
-                    [
-                        -7.6173779,
-                        57.5712602
-                    ],
-                    [
-                        -7.788285,
-                        57.5709998
-                    ],
-                    [
-                        -7.7892561,
-                        57.512109
-                    ],
-                    [
-                        -7.7038025,
-                        57.5115874
-                    ],
-                    [
-                        -7.6999183,
-                        57.4546902
-                    ],
-                    [
-                        -7.5367796,
-                        57.4552126
-                    ],
-                    [
-                        -7.5348375,
-                        57.5126306
-                    ],
-                    [
-                        -7.4581235,
-                        57.5131521
-                    ],
-                    [
-                        -7.4552103,
-                        57.2824165
-                    ],
-                    [
-                        -7.6115515,
-                        57.2845158
-                    ],
-                    [
-                        -7.6144647,
-                        57.2272651
-                    ],
-                    [
-                        -7.451326,
-                        57.2256881
-                    ],
-                    [
-                        -7.451326,
-                        57.1103873
-                    ],
-                    [
-                        -7.6164068,
-                        57.1088053
-                    ],
-                    [
-                        -7.603783,
-                        56.8792358
-                    ]
-                ],
-                [
-                    [
-                        -1.7106618,
-                        59.5626284
-                    ],
-                    [
-                        -1.5417509,
-                        59.562215
-                    ],
-                    [
-                        -1.5423082,
-                        59.5037224
-                    ],
-                    [
-                        -1.7112191,
-                        59.5041365
-                    ]
-                ]
-            ],
-            "terms_url": "http://geo.nls.uk/maps/",
-            "terms_text": "National Library of Scotland Historic Maps"
-        },
-        {
-            "name": "New & Misaligned TIGER Roads",
-            "type": "tms",
-            "description": "At zoom level 16+, public domain map data from the US Census. At lower zooms, only changes since 2006 minus changes already incorporated into OpenStreetMap",
-            "template": "http://{switch:a,b,c}.tiles.mapbox.com/v3/enf.y5c4ygb9,enf.ho20a3n1,enf.game1617/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                0,
-                22
-            ],
-            "polygon": [
-                [
-                    [
-                        -124.7617886,
-                        48.4130148
-                    ],
-                    [
-                        -124.6059492,
-                        45.90245
-                    ],
-                    [
-                        -124.9934269,
-                        40.0557614
-                    ],
-                    [
-                        -122.5369737,
-                        36.8566086
-                    ],
-                    [
-                        -119.9775867,
-                        33.0064099
-                    ],
-                    [
-                        -117.675935,
-                        32.4630223
-                    ],
-                    [
-                        -114.8612307,
-                        32.4799891
-                    ],
-                    [
-                        -111.0089311,
-                        31.336015
-                    ],
-                    [
-                        -108.1992687,
-                        31.3260016
-                    ],
-                    [
-                        -108.1871123,
-                        31.7755116
-                    ],
-                    [
-                        -106.5307225,
-                        31.7820947
-                    ],
-                    [
-                        -106.4842052,
-                        31.7464455
-                    ],
-                    [
-                        -106.429317,
-                        31.7520583
-                    ],
-                    [
-                        -106.2868855,
-                        31.5613291
-                    ],
-                    [
-                        -106.205248,
-                        31.446704
-                    ],
-                    [
-                        -105.0205259,
-                        30.5360988
-                    ],
-                    [
-                        -104.5881916,
-                        29.6997856
-                    ],
-                    [
-                        -103.2518856,
-                        28.8908685
-                    ],
-                    [
-                        -102.7173632,
-                        29.3920567
-                    ],
-                    [
-                        -102.1513983,
-                        29.7475702
-                    ],
-                    [
-                        -101.2552871,
-                        29.4810523
-                    ],
-                    [
-                        -100.0062436,
-                        28.0082173
-                    ],
-                    [
-                        -99.2351068,
-                        26.4475962
-                    ],
-                    [
-                        -98.0109067,
-                        25.9928035
-                    ],
-                    [
-                        -97.435024,
-                        25.8266009
-                    ],
-                    [
-                        -96.9555259,
-                        25.9821589
-                    ],
-                    [
-                        -96.8061741,
-                        27.7978168
-                    ],
-                    [
-                        -95.5563349,
-                        28.5876066
-                    ],
-                    [
-                        -93.7405308,
-                        29.4742093
-                    ],
-                    [
-                        -90.9028456,
-                        28.8564513
-                    ],
-                    [
-                        -88.0156706,
-                        28.9944338
-                    ],
-                    [
-                        -88.0162494,
-                        30.0038862
-                    ],
-                    [
-                        -86.0277506,
-                        30.0047454
-                    ],
-                    [
-                        -84.0187909,
-                        28.9961781
-                    ],
-                    [
-                        -81.9971976,
-                        25.9826768
-                    ],
-                    [
-                        -81.9966618,
-                        25.0134917
-                    ],
-                    [
-                        -84.0165592,
-                        25.0125783
-                    ],
-                    [
-                        -84.0160068,
-                        24.0052745
-                    ],
-                    [
-                        -80.0199985,
-                        24.007096
-                    ],
-                    [
-                        -79.8901116,
-                        26.8550713
-                    ],
-                    [
-                        -80.0245309,
-                        32.0161282
-                    ],
-                    [
-                        -75.4147385,
-                        35.0531894
-                    ],
-                    [
-                        -74.0211163,
-                        39.5727927
-                    ],
-                    [
-                        -72.002019,
-                        40.9912464
-                    ],
-                    [
-                        -69.8797398,
-                        40.9920457
-                    ],
-                    [
-                        -69.8489304,
-                        43.2619916
-                    ],
-                    [
-                        -66.9452845,
-                        44.7104937
-                    ],
-                    [
-                        -67.7596632,
-                        47.0990024
-                    ],
-                    [
-                        -69.2505131,
-                        47.5122328
-                    ],
-                    [
-                        -70.4614886,
-                        46.2176574
-                    ],
-                    [
-                        -71.412273,
-                        45.254878
-                    ],
-                    [
-                        -72.0222508,
-                        45.0059846
-                    ],
-                    [
-                        -75.0798841,
-                        44.9802854
-                    ],
-                    [
-                        -76.9023061,
-                        43.8024568
-                    ],
-                    [
-                        -78.7623935,
-                        43.6249578
-                    ],
-                    [
-                        -79.15798,
-                        43.4462589
-                    ],
-                    [
-                        -79.0060087,
-                        42.8005317
-                    ],
-                    [
-                        -82.662475,
-                        41.6889458
-                    ],
-                    [
-                        -82.1761642,
-                        43.588535
-                    ],
-                    [
-                        -83.2813977,
-                        46.138853
-                    ],
-                    [
-                        -87.5064535,
-                        48.0142702
-                    ],
-                    [
-                        -88.3492194,
-                        48.2963271
-                    ],
-                    [
-                        -89.4353148,
-                        47.9837822
-                    ],
-                    [
-                        -93.9981078,
-                        49.0067142
-                    ],
-                    [
-                        -95.1105379,
-                        49.412004
-                    ],
-                    [
-                        -96.0131199,
-                        49.0060547
-                    ],
-                    [
-                        -123.3228926,
-                        49.0042878
-                    ],
-                    [
-                        -123.2275233,
-                        48.1849927
-                    ]
-                ],
-                [
-                    [
-                        -160.5787616,
-                        22.5062947
-                    ],
-                    [
-                        -160.5782192,
-                        21.4984647
-                    ],
-                    [
-                        -158.7470604,
-                        21.2439843
-                    ],
-                    [
-                        -157.5083185,
-                        20.995803
-                    ],
-                    [
-                        -155.9961942,
-                        18.7790194
-                    ],
-                    [
-                        -154.6217803,
-                        18.7586966
-                    ],
-                    [
-                        -154.6890176,
-                        19.8805722
-                    ],
-                    [
-                        -156.2927622,
-                        21.2225888
-                    ],
-                    [
-                        -157.5047384,
-                        21.9984962
-                    ],
-                    [
-                        -159.0093692,
-                        22.5070181
-                    ]
-                ],
-                [
-                    [
-                        -167.1571546,
-                        68.721974
-                    ],
-                    [
-                        -164.8553982,
-                        67.0255078
-                    ],
-                    [
-                        -168.002195,
-                        66.0017503
-                    ],
-                    [
-                        -169.0087448,
-                        66.001546
-                    ],
-                    [
-                        -169.0075381,
-                        64.9987675
-                    ],
-                    [
-                        -172.5143281,
-                        63.8767267
-                    ],
-                    [
-                        -173.8197023,
-                        59.74014
-                    ],
-                    [
-                        -162.5018149,
-                        58.0005815
-                    ],
-                    [
-                        -160.0159024,
-                        58.0012389
-                    ],
-                    [
-                        -160.0149725,
-                        57.000035
-                    ],
-                    [
-                        -160.5054788,
-                        56.9999017
-                    ],
-                    [
-                        -165.8092575,
-                        54.824847
-                    ],
-                    [
-                        -178.000097,
-                        52.2446469
-                    ],
-                    [
-                        -177.9992996,
-                        51.2554252
-                    ],
-                    [
-                        -171.4689067,
-                        51.8215329
-                    ],
-                    [
-                        -162.40251,
-                        53.956664
-                    ],
-                    [
-                        -159.0075717,
-                        55.002502
-                    ],
-                    [
-                        -158.0190709,
-                        55.0027849
-                    ],
-                    [
-                        -151.9963213,
-                        55.9991902
-                    ],
-                    [
-                        -151.500341,
-                        57.9987853
-                    ],
-                    [
-                        -151.5012894,
-                        58.9919816
-                    ],
-                    [
-                        -138.5159989,
-                        58.9953194
-                    ],
-                    [
-                        -138.5150471,
-                        57.9986434
-                    ],
-                    [
-                        -133.9948193,
-                        54.0031685
-                    ],
-                    [
-                        -130.0044418,
-                        54.0043387
-                    ],
-                    [
-                        -130.0070826,
-                        57.0000507
-                    ],
-                    [
-                        -131.975877,
-                        56.9995156
-                    ],
-                    [
-                        -135.1229873,
-                        59.756601
-                    ],
-                    [
-                        -138.0071813,
-                        59.991805
-                    ],
-                    [
-                        -139.1715881,
-                        60.4127229
-                    ],
-                    [
-                        -140.9874011,
-                        61.0118551
-                    ],
-                    [
-                        -140.9683975,
-                        69.9535069
-                    ],
-                    [
-                        -156.176891,
-                        71.5633329
-                    ],
-                    [
-                        -160.413634,
-                        70.7397728
-                    ],
-                    [
-                        -163.0218273,
-                        69.9707435
-                    ],
-                    [
-                        -164.9717003,
-                        68.994689
-                    ]
-                ]
-            ],
-            "overlay": true
-        },
-        {
-            "name": "OS 1:25k historic (OSM)",
-            "type": "tms",
-            "template": "http://ooc.openstreetmap.org/os1/{zoom}/{x}/{y}.jpg",
-            "scaleExtent": [
-                6,
-                17
-            ],
-            "polygon": [
-                [
-                    [
-                        -9,
-                        49.8
-                    ],
-                    [
-                        -9,
-                        61.1
-                    ],
-                    [
-                        1.9,
-                        61.1
-                    ],
-                    [
-                        1.9,
-                        49.8
-                    ],
-                    [
-                        -9,
-                        49.8
-                    ]
-                ]
-            ]
-        },
-        {
-            "name": "OS New Popular Edition historic",
-            "type": "tms",
-            "template": "http://ooc.openstreetmap.org/npe/{zoom}/{x}/{y}.png",
-            "polygon": [
-                [
-                    [
-                        -5.8,
-                        49.8
-                    ],
-                    [
-                        -5.8,
-                        55.8
-                    ],
-                    [
-                        1.9,
-                        55.8
-                    ],
-                    [
-                        1.9,
-                        49.8
-                    ],
-                    [
-                        -5.8,
-                        49.8
-                    ]
-                ]
-            ]
-        },
-        {
-            "name": "OS OpenData Locator",
-            "type": "tms",
-            "template": "http://tiles.itoworld.com/os_locator/{zoom}/{x}/{y}.png",
-            "polygon": [
-                [
-                    [
-                        -9,
-                        49.8
-                    ],
-                    [
-                        -9,
-                        61.1
-                    ],
-                    [
-                        1.9,
-                        61.1
-                    ],
-                    [
-                        1.9,
-                        49.8
-                    ],
-                    [
-                        -9,
-                        49.8
-                    ]
-                ]
-            ],
-            "overlay": true
-        },
-        {
-            "name": "OS OpenData StreetView",
-            "type": "tms",
-            "template": "http://os.openstreetmap.org/sv/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                1,
-                18
-            ],
-            "polygon": [
-                [
-                    [
-                        -5.8292886,
-                        50.0229734
-                    ],
-                    [
-                        -5.8292886,
-                        50.254819
-                    ],
-                    [
-                        -5.373356,
-                        50.254819
-                    ],
-                    [
-                        -5.373356,
-                        50.3530588
-                    ],
-                    [
-                        -5.1756021,
-                        50.3530588
-                    ],
-                    [
-                        -5.1756021,
-                        50.5925406
-                    ],
-                    [
-                        -4.9970743,
-                        50.5925406
-                    ],
-                    [
-                        -4.9970743,
-                        50.6935617
-                    ],
-                    [
-                        -4.7965738,
-                        50.6935617
-                    ],
-                    [
-                        -4.7965738,
-                        50.7822112
-                    ],
-                    [
-                        -4.6949503,
-                        50.7822112
-                    ],
-                    [
-                        -4.6949503,
-                        50.9607371
-                    ],
-                    [
-                        -4.6043131,
-                        50.9607371
-                    ],
-                    [
-                        -4.6043131,
-                        51.0692066
-                    ],
-                    [
-                        -4.3792215,
-                        51.0692066
-                    ],
-                    [
-                        -4.3792215,
-                        51.2521782
-                    ],
-                    [
-                        -3.9039346,
-                        51.2521782
-                    ],
-                    [
-                        -3.9039346,
-                        51.2916998
-                    ],
-                    [
-                        -3.7171671,
-                        51.2916998
-                    ],
-                    [
-                        -3.7171671,
-                        51.2453014
-                    ],
-                    [
-                        -3.1486246,
-                        51.2453014
-                    ],
-                    [
-                        -3.1486246,
-                        51.362067
-                    ],
-                    [
-                        -3.7446329,
-                        51.362067
-                    ],
-                    [
-                        -3.7446329,
-                        51.4340386
-                    ],
-                    [
-                        -3.8297769,
-                        51.4340386
-                    ],
-                    [
-                        -3.8297769,
-                        51.5298246
-                    ],
-                    [
-                        -4.0852091,
-                        51.5298246
-                    ],
-                    [
-                        -4.0852091,
-                        51.4939284
-                    ],
-                    [
-                        -4.3792215,
-                        51.4939284
-                    ],
-                    [
-                        -4.3792215,
-                        51.5427168
-                    ],
-                    [
-                        -5.1444195,
-                        51.5427168
-                    ],
-                    [
-                        -5.1444195,
-                        51.6296003
-                    ],
-                    [
-                        -5.7387103,
-                        51.6296003
-                    ],
-                    [
-                        -5.7387103,
-                        51.774037
-                    ],
-                    [
-                        -5.5095393,
-                        51.774037
-                    ],
-                    [
-                        -5.5095393,
-                        51.9802596
-                    ],
-                    [
-                        -5.198799,
-                        51.9802596
-                    ],
-                    [
-                        -5.198799,
-                        52.0973358
-                    ],
-                    [
-                        -4.8880588,
-                        52.0973358
-                    ],
-                    [
-                        -4.8880588,
-                        52.1831557
-                    ],
-                    [
-                        -4.4957492,
-                        52.1831557
-                    ],
-                    [
-                        -4.4957492,
-                        52.2925739
-                    ],
-                    [
-                        -4.3015365,
-                        52.2925739
-                    ],
-                    [
-                        -4.3015365,
-                        52.3685318
-                    ],
-                    [
-                        -4.1811246,
-                        52.3685318
-                    ],
-                    [
-                        -4.1811246,
-                        52.7933685
-                    ],
-                    [
-                        -4.4413696,
-                        52.7933685
-                    ],
-                    [
-                        -4.4413696,
-                        52.7369614
-                    ],
-                    [
-                        -4.8569847,
-                        52.7369614
-                    ],
-                    [
-                        -4.8569847,
-                        52.9317255
-                    ],
-                    [
-                        -4.7288044,
-                        52.9317255
-                    ],
-                    [
-                        -4.7288044,
-                        53.5038599
-                    ],
-                    [
-                        -4.1578191,
-                        53.5038599
-                    ],
-                    [
-                        -4.1578191,
-                        53.4113498
-                    ],
-                    [
-                        -3.3110518,
-                        53.4113498
-                    ],
-                    [
-                        -3.3110518,
-                        53.5038599
-                    ],
-                    [
-                        -3.2333667,
-                        53.5038599
-                    ],
-                    [
-                        -3.2333667,
-                        54.0159169
-                    ],
-                    [
-                        -3.3926211,
-                        54.0159169
-                    ],
-                    [
-                        -3.3926211,
-                        54.1980953
-                    ],
-                    [
-                        -3.559644,
-                        54.1980953
-                    ],
-                    [
-                        -3.559644,
-                        54.433732
-                    ],
-                    [
-                        -3.7188984,
-                        54.433732
-                    ],
-                    [
-                        -3.7188984,
-                        54.721897
-                    ],
-                    [
-                        -4.3015365,
-                        54.721897
-                    ],
-                    [
-                        -4.3015365,
-                        54.6140739
-                    ],
-                    [
-                        -5.0473132,
-                        54.6140739
-                    ],
-                    [
-                        -5.0473132,
-                        54.7532915
-                    ],
-                    [
-                        -5.2298731,
-                        54.7532915
-                    ],
-                    [
-                        -5.2298731,
-                        55.2190799
-                    ],
-                    [
-                        -5.6532567,
-                        55.2190799
-                    ],
-                    [
-                        -5.6532567,
-                        55.250088
-                    ],
-                    [
-                        -5.8979647,
-                        55.250088
-                    ],
-                    [
-                        -5.8979647,
-                        55.4822462
-                    ],
-                    [
-                        -6.5933212,
-                        55.4822462
-                    ],
-                    [
-                        -6.5933212,
-                        56.3013441
-                    ],
-                    [
-                        -7.1727691,
-                        56.3013441
-                    ],
-                    [
-                        -7.1727691,
-                        56.5601822
-                    ],
-                    [
-                        -6.8171722,
-                        56.5601822
-                    ],
-                    [
-                        -6.8171722,
-                        56.6991713
-                    ],
-                    [
-                        -6.5315276,
-                        56.6991713
-                    ],
-                    [
-                        -6.5315276,
-                        56.9066964
-                    ],
-                    [
-                        -6.811679,
-                        56.9066964
-                    ],
-                    [
-                        -6.811679,
-                        57.3716613
-                    ],
-                    [
-                        -6.8721038,
-                        57.3716613
-                    ],
-                    [
-                        -6.8721038,
-                        57.5518893
-                    ],
-                    [
-                        -7.0973235,
-                        57.5518893
-                    ],
-                    [
-                        -7.0973235,
-                        57.2411085
-                    ],
-                    [
-                        -7.1742278,
-                        57.2411085
-                    ],
-                    [
-                        -7.1742278,
-                        56.9066964
-                    ],
-                    [
-                        -7.3719817,
-                        56.9066964
-                    ],
-                    [
-                        -7.3719817,
-                        56.8075885
-                    ],
-                    [
-                        -7.5202972,
-                        56.8075885
-                    ],
-                    [
-                        -7.5202972,
-                        56.7142479
-                    ],
-                    [
-                        -7.8306806,
-                        56.7142479
-                    ],
-                    [
-                        -7.8306806,
-                        56.8994605
-                    ],
-                    [
-                        -7.6494061,
-                        56.8994605
-                    ],
-                    [
-                        -7.6494061,
-                        57.4739617
-                    ],
-                    [
-                        -7.8306806,
-                        57.4739617
-                    ],
-                    [
-                        -7.8306806,
-                        57.7915584
-                    ],
-                    [
-                        -7.4736249,
-                        57.7915584
-                    ],
-                    [
-                        -7.4736249,
-                        58.086063
-                    ],
-                    [
-                        -7.1879804,
-                        58.086063
-                    ],
-                    [
-                        -7.1879804,
-                        58.367197
-                    ],
-                    [
-                        -6.8034589,
-                        58.367197
-                    ],
-                    [
-                        -6.8034589,
-                        58.4155786
-                    ],
-                    [
-                        -6.638664,
-                        58.4155786
-                    ],
-                    [
-                        -6.638664,
-                        58.4673277
-                    ],
-                    [
-                        -6.5178143,
-                        58.4673277
-                    ],
-                    [
-                        -6.5178143,
-                        58.5625632
-                    ],
-                    [
-                        -6.0536224,
-                        58.5625632
-                    ],
-                    [
-                        -6.0536224,
-                        58.1568843
-                    ],
-                    [
-                        -6.1470062,
-                        58.1568843
-                    ],
-                    [
-                        -6.1470062,
-                        58.1105865
-                    ],
-                    [
-                        -6.2799798,
-                        58.1105865
-                    ],
-                    [
-                        -6.2799798,
-                        57.7122664
-                    ],
-                    [
-                        -6.1591302,
-                        57.7122664
-                    ],
-                    [
-                        -6.1591302,
-                        57.6667563
-                    ],
-                    [
-                        -5.9339104,
-                        57.6667563
-                    ],
-                    [
-                        -5.9339104,
-                        57.8892524
-                    ],
-                    [
-                        -5.80643,
-                        57.8892524
-                    ],
-                    [
-                        -5.80643,
-                        57.9621767
-                    ],
-                    [
-                        -5.6141692,
-                        57.9621767
-                    ],
-                    [
-                        -5.6141692,
-                        58.0911236
-                    ],
-                    [
-                        -5.490819,
-                        58.0911236
-                    ],
-                    [
-                        -5.490819,
-                        58.3733281
-                    ],
-                    [
-                        -5.3199118,
-                        58.3733281
-                    ],
-                    [
-                        -5.3199118,
-                        58.75015
-                    ],
-                    [
-                        -3.5719977,
-                        58.75015
-                    ],
-                    [
-                        -3.5719977,
-                        59.2091788
-                    ],
-                    [
-                        -3.1944501,
-                        59.2091788
-                    ],
-                    [
-                        -3.1944501,
-                        59.4759216
-                    ],
-                    [
-                        -2.243583,
-                        59.4759216
-                    ],
-                    [
-                        -2.243583,
-                        59.1388749
-                    ],
-                    [
-                        -2.4611012,
-                        59.1388749
-                    ],
-                    [
-                        -2.4611012,
-                        58.8185938
-                    ],
-                    [
-                        -2.7407675,
-                        58.8185938
-                    ],
-                    [
-                        -2.7407675,
-                        58.5804743
-                    ],
-                    [
-                        -2.9116746,
-                        58.5804743
-                    ],
-                    [
-                        -2.9116746,
-                        58.1157523
-                    ],
-                    [
-                        -3.4865441,
-                        58.1157523
-                    ],
-                    [
-                        -3.4865441,
-                        57.740386
-                    ],
-                    [
-                        -1.7153245,
-                        57.740386
-                    ],
-                    [
-                        -1.7153245,
-                        57.2225558
-                    ],
-                    [
-                        -1.9794538,
-                        57.2225558
-                    ],
-                    [
-                        -1.9794538,
-                        56.8760742
-                    ],
-                    [
-                        -2.1658979,
-                        56.8760742
-                    ],
-                    [
-                        -2.1658979,
-                        56.6333186
-                    ],
-                    [
-                        -2.3601106,
-                        56.6333186
-                    ],
-                    [
-                        -2.3601106,
-                        56.0477521
-                    ],
-                    [
-                        -1.9794538,
-                        56.0477521
-                    ],
-                    [
-                        -1.9794538,
-                        55.8650949
-                    ],
-                    [
-                        -1.4745008,
-                        55.8650949
-                    ],
-                    [
-                        -1.4745008,
-                        55.2499926
-                    ],
-                    [
-                        -1.3221997,
-                        55.2499926
-                    ],
-                    [
-                        -1.3221997,
-                        54.8221737
-                    ],
-                    [
-                        -1.0550014,
-                        54.8221737
-                    ],
-                    [
-                        -1.0550014,
-                        54.6746628
-                    ],
-                    [
-                        -0.6618765,
-                        54.6746628
-                    ],
-                    [
-                        -0.6618765,
-                        54.5527463
-                    ],
-                    [
-                        -0.3247617,
-                        54.5527463
-                    ],
-                    [
-                        -0.3247617,
-                        54.2865195
-                    ],
-                    [
-                        0.0092841,
-                        54.2865195
-                    ],
-                    [
-                        0.0092841,
-                        53.7938518
-                    ],
-                    [
-                        0.2081962,
-                        53.7938518
-                    ],
-                    [
-                        0.2081962,
-                        53.5217726
-                    ],
-                    [
-                        0.4163548,
-                        53.5217726
-                    ],
-                    [
-                        0.4163548,
-                        53.0298851
-                    ],
-                    [
-                        1.4273388,
-                        53.0298851
-                    ],
-                    [
-                        1.4273388,
-                        52.92021
-                    ],
-                    [
-                        1.8333912,
-                        52.92021
-                    ],
-                    [
-                        1.8333912,
-                        52.042488
-                    ],
-                    [
-                        1.5235504,
-                        52.042488
-                    ],
-                    [
-                        1.5235504,
-                        51.8261335
-                    ],
-                    [
-                        1.2697049,
-                        51.8261335
-                    ],
-                    [
-                        1.2697049,
-                        51.6967453
-                    ],
-                    [
-                        1.116651,
-                        51.6967453
-                    ],
-                    [
-                        1.116651,
-                        51.440346
-                    ],
-                    [
-                        1.5235504,
-                        51.440346
-                    ],
-                    [
-                        1.5235504,
-                        51.3331831
-                    ],
-                    [
-                        1.4507565,
-                        51.3331831
-                    ],
-                    [
-                        1.4507565,
-                        51.0207553
-                    ],
-                    [
-                        1.0699883,
-                        51.0207553
-                    ],
-                    [
-                        1.0699883,
-                        50.9008416
-                    ],
-                    [
-                        0.7788126,
-                        50.9008416
-                    ],
-                    [
-                        0.7788126,
-                        50.729843
-                    ],
-                    [
-                        -0.7255952,
-                        50.729843
-                    ],
-                    [
-                        -0.7255952,
-                        50.7038437
-                    ],
-                    [
-                        -1.0074383,
-                        50.7038437
-                    ],
-                    [
-                        -1.0074383,
-                        50.5736307
-                    ],
-                    [
-                        -2.3625252,
-                        50.5736307
-                    ],
-                    [
-                        -2.3625252,
-                        50.4846421
-                    ],
-                    [
-                        -2.4987805,
-                        50.4846421
-                    ],
-                    [
-                        -2.4987805,
-                        50.5736307
-                    ],
-                    [
-                        -3.4096378,
-                        50.5736307
-                    ],
-                    [
-                        -3.4096378,
-                        50.2057837
-                    ],
-                    [
-                        -3.6922446,
-                        50.2057837
-                    ],
-                    [
-                        -3.6922446,
-                        50.1347737
-                    ],
-                    [
-                        -5.005468,
-                        50.1347737
-                    ],
-                    [
-                        -5.005468,
-                        49.9474456
-                    ],
-                    [
-                        -5.2839506,
-                        49.9474456
-                    ],
-                    [
-                        -5.2839506,
-                        50.0229734
-                    ]
-                ],
-                [
-                    [
-                        -6.4580707,
-                        49.8673563
-                    ],
-                    [
-                        -6.4580707,
-                        49.9499935
-                    ],
-                    [
-                        -6.3978807,
-                        49.9499935
-                    ],
-                    [
-                        -6.3978807,
-                        50.0053797
-                    ],
-                    [
-                        -6.1799606,
-                        50.0053797
-                    ],
-                    [
-                        -6.1799606,
-                        49.9168614
-                    ],
-                    [
-                        -6.2540201,
-                        49.9168614
-                    ],
-                    [
-                        -6.2540201,
-                        49.8673563
-                    ]
-                ],
-                [
-                    [
-                        -5.8343165,
-                        49.932156
-                    ],
-                    [
-                        -5.8343165,
-                        49.9754641
-                    ],
-                    [
-                        -5.7683254,
-                        49.9754641
-                    ],
-                    [
-                        -5.7683254,
-                        49.932156
-                    ]
-                ],
-                [
-                    [
-                        -1.9483797,
-                        60.6885737
-                    ],
-                    [
-                        -1.9483797,
-                        60.3058841
-                    ],
-                    [
-                        -1.7543149,
-                        60.3058841
-                    ],
-                    [
-                        -1.7543149,
-                        60.1284428
-                    ],
-                    [
-                        -1.5754914,
-                        60.1284428
-                    ],
-                    [
-                        -1.5754914,
-                        59.797917
-                    ],
-                    [
-                        -1.0316959,
-                        59.797917
-                    ],
-                    [
-                        -1.0316959,
-                        60.0354518
-                    ],
-                    [
-                        -0.6626918,
-                        60.0354518
-                    ],
-                    [
-                        -0.6626918,
-                        60.9103862
-                    ],
-                    [
-                        -1.1034395,
-                        60.9103862
-                    ],
-                    [
-                        -1.1034395,
-                        60.8040022
-                    ],
-                    [
-                        -1.3506319,
-                        60.8040022
-                    ],
-                    [
-                        -1.3506319,
-                        60.6885737
-                    ]
-                ],
-                [
-                    [
-                        -2.203381,
-                        60.1968568
-                    ],
-                    [
-                        -2.203381,
-                        60.0929443
-                    ],
-                    [
-                        -1.9864011,
-                        60.0929443
-                    ],
-                    [
-                        -1.9864011,
-                        60.1968568
-                    ]
-                ],
-                [
-                    [
-                        -1.7543149,
-                        59.5698289
-                    ],
-                    [
-                        -1.7543149,
-                        59.4639383
-                    ],
-                    [
-                        -1.5373349,
-                        59.4639383
-                    ],
-                    [
-                        -1.5373349,
-                        59.5698289
-                    ]
-                ],
-                [
-                    [
-                        -4.5585981,
-                        59.1370518
-                    ],
-                    [
-                        -4.5585981,
-                        58.9569099
-                    ],
-                    [
-                        -4.2867004,
-                        58.9569099
-                    ],
-                    [
-                        -4.2867004,
-                        59.1370518
-                    ]
-                ],
-                [
-                    [
-                        -6.2787732,
-                        59.2025744
-                    ],
-                    [
-                        -6.2787732,
-                        59.0227769
-                    ],
-                    [
-                        -5.6650612,
-                        59.0227769
-                    ],
-                    [
-                        -5.6650612,
-                        59.2025744
-                    ]
-                ],
-                [
-                    [
-                        -8.7163482,
-                        57.9440556
-                    ],
-                    [
-                        -8.7163482,
-                        57.7305936
-                    ],
-                    [
-                        -8.3592926,
-                        57.7305936
-                    ],
-                    [
-                        -8.3592926,
-                        57.9440556
-                    ]
-                ],
-                [
-                    [
-                        -7.6077005,
-                        50.4021026
-                    ],
-                    [
-                        -7.6077005,
-                        50.2688657
-                    ],
-                    [
-                        -7.3907205,
-                        50.2688657
-                    ],
-                    [
-                        -7.3907205,
-                        50.4021026
-                    ]
-                ],
-                [
-                    [
-                        -7.7304303,
-                        58.3579902
-                    ],
-                    [
-                        -7.7304303,
-                        58.248313
-                    ],
-                    [
-                        -7.5134503,
-                        58.248313
-                    ],
-                    [
-                        -7.5134503,
-                        58.3579902
-                    ]
-                ]
-            ]
-        },
-        {
-            "name": "OS Scottish Popular historic",
-            "type": "tms",
-            "template": "http://ooc.openstreetmap.org/npescotland/tiles/{zoom}/{x}/{y}.jpg",
-            "scaleExtent": [
-                6,
-                15
-            ],
-            "polygon": [
-                [
-                    [
-                        -7.8,
-                        54.5
-                    ],
-                    [
-                        -7.8,
-                        61.1
-                    ],
-                    [
-                        -1.1,
-                        61.1
-                    ],
-                    [
-                        -1.1,
-                        54.5
-                    ],
-                    [
-                        -7.8,
-                        54.5
-                    ]
-                ]
-            ]
-        },
-        {
-            "name": "OS Town Plans, Aberdeen 1866-1867 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Aberdeen 1866-1867, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/aberdeen/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.14039404,
-                        57.11218789
-                    ],
-                    [
-                        -2.14064752,
-                        57.17894161
-                    ],
-                    [
-                        -2.04501987,
-                        57.17901252
-                    ],
-                    [
-                        -2.04493842,
-                        57.11225862
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/aberdeen.html",
-            "terms_text": "National Library of Scotland - Aberdeen 1866-1867"
-        },
-        {
-            "name": "OS Town Plans, Airdrie 1858 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Airdrie 1858, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/airdrie/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.99291738,
-                        55.86408041
-                    ],
-                    [
-                        -3.99338933,
-                        55.87329115
-                    ],
-                    [
-                        -3.9691085,
-                        55.87368212
-                    ],
-                    [
-                        -3.9686423,
-                        55.86447124
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/airdrie.html",
-            "terms_text": "National Library of Scotland - Airdrie 1858"
-        },
-        {
-            "name": "OS Town Plans, Alexandria 1859 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Alexandria 1859, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/alexandria/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.58973571,
-                        55.97536707
-                    ],
-                    [
-                        -4.59104461,
-                        55.99493153
-                    ],
-                    [
-                        -4.55985072,
-                        55.99558348
-                    ],
-                    [
-                        -4.55855754,
-                        55.97601855
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/alexandria.html",
-            "terms_text": "National Library of Scotland - Alexandria 1859"
-        },
-        {
-            "name": "OS Town Plans, Alloa 1861-1862 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Alloa 1861-1862, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/alloa/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.81166061,
-                        56.09864363
-                    ],
-                    [
-                        -3.81274448,
-                        56.12169929
-                    ],
-                    [
-                        -3.7804609,
-                        56.12216898
-                    ],
-                    [
-                        -3.77939631,
-                        56.09911292
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/alloa.html",
-            "terms_text": "National Library of Scotland - Alloa 1861-1862"
-        },
-        {
-            "name": "OS Town Plans, Annan 1859 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Annan 1859, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/annan/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.27921439,
-                        54.98252155
-                    ],
-                    [
-                        -3.27960062,
-                        54.9946601
-                    ],
-                    [
-                        -3.24866331,
-                        54.99498165
-                    ],
-                    [
-                        -3.24828642,
-                        54.98284297
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/annan.html",
-            "terms_text": "National Library of Scotland - Annan 1859"
-        },
-        {
-            "name": "OS Town Plans, Arbroath 1858 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Arbroath 1858, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/arbroath/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.60716469,
-                        56.53995105
-                    ],
-                    [
-                        -2.60764981,
-                        56.57022426
-                    ],
-                    [
-                        -2.56498708,
-                        56.57042549
-                    ],
-                    [
-                        -2.564536,
-                        56.54015206
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/arbroath.html",
-            "terms_text": "National Library of Scotland - Arbroath 1858"
-        },
-        {
-            "name": "OS Town Plans, Ayr 1855 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Ayr 1855, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/ayr/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.66768105,
-                        55.43748864
-                    ],
-                    [
-                        -4.67080057,
-                        55.48363961
-                    ],
-                    [
-                        -4.60609844,
-                        55.48503484
-                    ],
-                    [
-                        -4.60305426,
-                        55.43888149
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/ayr.html",
-            "terms_text": "National Library of Scotland - Ayr 1855"
-        },
-        {
-            "name": "OS Town Plans, Berwick-upon-Tweed 1852 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Berwick-upon-Tweed 1852, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/berwick/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.02117487,
-                        55.75577627
-                    ],
-                    [
-                        -2.02118763,
-                        55.77904118
-                    ],
-                    [
-                        -1.98976956,
-                        55.77904265
-                    ],
-                    [
-                        -1.9897755,
-                        55.75577774
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/berwick.html",
-            "terms_text": "National Library of Scotland - Berwick-upon-Tweed 1852"
-        },
-        {
-            "name": "OS Town Plans, Brechin 1862 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Brechin 1862, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/brechin/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.67480248,
-                        56.71456775
-                    ],
-                    [
-                        -2.67521172,
-                        56.73739937
-                    ],
-                    [
-                        -2.64319679,
-                        56.73756872
-                    ],
-                    [
-                        -2.64280695,
-                        56.71473694
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/brechin.html",
-            "terms_text": "National Library of Scotland - Brechin 1862"
-        },
-        {
-            "name": "OS Town Plans, Burntisland 1894 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Burntisland 1894, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/burntisland/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.24879624,
-                        56.04240046
-                    ],
-                    [
-                        -3.2495182,
-                        56.06472996
-                    ],
-                    [
-                        -3.21830572,
-                        56.06504207
-                    ],
-                    [
-                        -3.21760179,
-                        56.0427123
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/burntisland.html",
-            "terms_text": "National Library of Scotland - Burntisland 1894"
-        },
-        {
-            "name": "OS Town Plans, Campbelton 1865 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Campbelton 1865, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/campbeltown/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -5.62345307,
-                        55.40255998
-                    ],
-                    [
-                        -5.62631353,
-                        55.43375303
-                    ],
-                    [
-                        -5.58276654,
-                        55.43503753
-                    ],
-                    [
-                        -5.57994024,
-                        55.40384299
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/campbelton.html",
-            "terms_text": "National Library of Scotland - Campbelton 1865"
-        },
-        {
-            "name": "OS Town Plans, Coatbridge 1858 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Coatbridge 1858, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/coatbridge/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.05035921,
-                        55.84648689
-                    ],
-                    [
-                        -4.05157062,
-                        55.86947193
-                    ],
-                    [
-                        -4.01953905,
-                        55.87000186
-                    ],
-                    [
-                        -4.01834651,
-                        55.84701638
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/coatbridge.html",
-            "terms_text": "National Library of Scotland - Coatbridge 1858"
-        },
-        {
-            "name": "OS Town Plans, Cupar 1854 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Cupar 1854, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/cupar1854/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.04765872,
-                        56.28653177
-                    ],
-                    [
-                        -3.04890965,
-                        56.332192
-                    ],
-                    [
-                        -2.98498515,
-                        56.33271677
-                    ],
-                    [
-                        -2.98381041,
-                        56.28705563
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/cupar_1.html",
-            "terms_text": "National Library of Scotland - Cupar 1854"
-        },
-        {
-            "name": "OS Town Plans, Cupar 1893-1894 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Cupar 1893-1894, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/cupar1893/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.0327697,
-                        56.30243657
-                    ],
-                    [
-                        -3.03338443,
-                        56.32520139
-                    ],
-                    [
-                        -3.00146629,
-                        56.32546356
-                    ],
-                    [
-                        -3.00087054,
-                        56.30269852
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/cupar_2.html",
-            "terms_text": "National Library of Scotland - Cupar 1893-1894"
-        },
-        {
-            "name": "OS Town Plans, Dalkeith 1852 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Dalkeith 1852, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/dalkeith1852/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.07862465,
-                        55.88900264
-                    ],
-                    [
-                        -3.0790381,
-                        55.90389729
-                    ],
-                    [
-                        -3.05835611,
-                        55.90407681
-                    ],
-                    [
-                        -3.05795059,
-                        55.88918206
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/dalkeith_1.html",
-            "terms_text": "National Library of Scotland - Dalkeith 1852"
-        },
-        {
-            "name": "OS Town Plans, Dalkeith 1893 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Dalkeith 1893, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/dalkeith1893/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.08600192,
-                        55.87936087
-                    ],
-                    [
-                        -3.08658588,
-                        55.90025926
-                    ],
-                    [
-                        -3.0436473,
-                        55.90063074
-                    ],
-                    [
-                        -3.04308639,
-                        55.87973206
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/dalkeith_2.html",
-            "terms_text": "National Library of Scotland - Dalkeith 1893"
-        },
-        {
-            "name": "OS Town Plans, Dumbarton 1859 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Dumbarton 1859, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/dumbarton/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.58559982,
-                        55.92742578
-                    ],
-                    [
-                        -4.58714245,
-                        55.95056014
-                    ],
-                    [
-                        -4.55463269,
-                        55.95123882
-                    ],
-                    [
-                        -4.55310939,
-                        55.92810387
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/dumbarton.html",
-            "terms_text": "National Library of Scotland - Dumbarton 1859"
-        },
-        {
-            "name": "OS Town Plans, Dumfries 1850 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Dumfries 1850, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/dumfries1850/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.63928076,
-                        55.03715991
-                    ],
-                    [
-                        -3.64116352,
-                        55.08319002
-                    ],
-                    [
-                        -3.57823183,
-                        55.08402202
-                    ],
-                    [
-                        -3.57642118,
-                        55.0379905
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/dumfries_1.html",
-            "terms_text": "National Library of Scotland - Dumfries 1850"
-        },
-        {
-            "name": "OS Town Plans, Dumfries 1893 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Dumfries 1893, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/dumfries1893/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.63179081,
-                        55.04150111
-                    ],
-                    [
-                        -3.63330662,
-                        55.07873429
-                    ],
-                    [
-                        -3.58259012,
-                        55.07940411
-                    ],
-                    [
-                        -3.58112132,
-                        55.04217001
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/dumfries_2.html",
-            "terms_text": "National Library of Scotland - Dumfries 1893"
-        },
-        {
-            "name": "OS Town Plans, Dundee 1857-1858 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Dundee 1857-1858, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/dundee1857/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.02584468,
-                        56.44879161
-                    ],
-                    [
-                        -3.02656969,
-                        56.47566815
-                    ],
-                    [
-                        -2.94710317,
-                        56.47629984
-                    ],
-                    [
-                        -2.94643424,
-                        56.44942266
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/dundee_1.html",
-            "terms_text": "National Library of Scotland - Dundee 1857-1858"
-        },
-        {
-            "name": "OS Town Plans, Dundee 1870-1872 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Dundee 1870-1872, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/dundee1870/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.03399945,
-                        56.448497
-                    ],
-                    [
-                        -3.03497463,
-                        56.48435238
-                    ],
-                    [
-                        -2.92352705,
-                        56.48523137
-                    ],
-                    [
-                        -2.92265681,
-                        56.4493748
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/dundee_2.html",
-            "terms_text": "National Library of Scotland - Dundee 1870-1872"
-        },
-        {
-            "name": "OS Town Plans, Dunfermline 1854 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Dunfermline 1854, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/dunfermline1854/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.49045481,
-                        56.0605979
-                    ],
-                    [
-                        -3.49116489,
-                        56.07898822
-                    ],
-                    [
-                        -3.44374075,
-                        56.07955208
-                    ],
-                    [
-                        -3.44305323,
-                        56.06116138
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/dunfermline_1.html",
-            "terms_text": "National Library of Scotland - Dunfermline 1854"
-        },
-        {
-            "name": "OS Town Plans, Dunfermline 1894 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Dunfermline 1894, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/dunfermline1893/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.48284159,
-                        56.05198219
-                    ],
-                    [
-                        -3.48399434,
-                        56.08198924
-                    ],
-                    [
-                        -3.44209721,
-                        56.08248587
-                    ],
-                    [
-                        -3.44097697,
-                        56.05247826
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/dunfermline_2.html",
-            "terms_text": "National Library of Scotland - Dunfermline 1894"
-        },
-        {
-            "name": "OS Town Plans, Edinburgh 1849-1851 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Edinburgh 1849-1851, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/edinburgh1849/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.2361048,
-                        55.921366
-                    ],
-                    [
-                        -3.23836397,
-                        55.99217223
-                    ],
-                    [
-                        -3.14197035,
-                        55.99310288
-                    ],
-                    [
-                        -3.13988689,
-                        55.92229419
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/edinburgh1056_1.html",
-            "terms_text": "National Library of Scotland - Edinburgh 1849-1851"
-        },
-        {
-            "name": "OS Town Plans, Edinburgh 1876-1877 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Edinburgh 1876-1877, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/edinburgh1876/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.24740498,
-                        55.92116518
-                    ],
-                    [
-                        -3.24989581,
-                        55.99850896
-                    ],
-                    [
-                        -3.13061127,
-                        55.99966059
-                    ],
-                    [
-                        -3.12835798,
-                        55.92231348
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/edinburgh1056_2.html",
-            "terms_text": "National Library of Scotland - Edinburgh 1876-1877"
-        },
-        {
-            "name": "OS Town Plans, Edinburgh 1893-1894 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Edinburgh 1893-1894, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/edinburgh1893/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.26111081,
-                        55.89555387
-                    ],
-                    [
-                        -3.26450423,
-                        55.9997912
-                    ],
-                    [
-                        -3.11970824,
-                        56.00119128
-                    ],
-                    [
-                        -3.1167031,
-                        55.89694851
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/edinburgh500.html",
-            "terms_text": "National Library of Scotland - Edinburgh 1893-1894"
-        },
-        {
-            "name": "OS Town Plans, Elgin 1868 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Elgin 1868, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/elgin/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.33665196,
-                        57.62879017
-                    ],
-                    [
-                        -3.33776583,
-                        57.65907381
-                    ],
-                    [
-                        -3.29380859,
-                        57.65953111
-                    ],
-                    [
-                        -3.29273129,
-                        57.62924695
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/elgin.html",
-            "terms_text": "National Library of Scotland - Elgin 1868"
-        },
-        {
-            "name": "OS Town Plans, Falkirk 1858-1859 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Falkirk 1858-1859, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/falkirk/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.79587441,
-                        55.99343101
-                    ],
-                    [
-                        -3.79697783,
-                        56.01720281
-                    ],
-                    [
-                        -3.76648151,
-                        56.01764348
-                    ],
-                    [
-                        -3.76539679,
-                        55.99387129
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/falkirk.html",
-            "terms_text": "National Library of Scotland - Falkirk 1858-1859"
-        },
-        {
-            "name": "OS Town Plans, Forfar 1860-1861 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Forfar 1860-1861, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/forfar/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.90326183,
-                        56.6289471
-                    ],
-                    [
-                        -2.90378797,
-                        56.65095013
-                    ],
-                    [
-                        -2.87228457,
-                        56.65117489
-                    ],
-                    [
-                        -2.87177676,
-                        56.62917168
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/forfar.html",
-            "terms_text": "National Library of Scotland - Forfar 1860-1861"
-        },
-        {
-            "name": "OS Town Plans, Forres 1868 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Forres 1868, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/forres/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.63516795,
-                        57.58887872
-                    ],
-                    [
-                        -3.63647637,
-                        57.618002
-                    ],
-                    [
-                        -3.57751453,
-                        57.61875171
-                    ],
-                    [
-                        -3.5762532,
-                        57.58962759
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/forres.html",
-            "terms_text": "National Library of Scotland - Forres 1868"
-        },
-        {
-            "name": "OS Town Plans, Galashiels 1858 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Galashiels 1858, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/galashiels/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.82918609,
-                        55.59586303
-                    ],
-                    [
-                        -2.82981273,
-                        55.62554026
-                    ],
-                    [
-                        -2.78895254,
-                        55.62580992
-                    ],
-                    [
-                        -2.78835674,
-                        55.59613239
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/galashiels.html",
-            "terms_text": "National Library of Scotland - Galashiels 1858"
-        },
-        {
-            "name": "OS Town Plans, Girvan 1857 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Girvan 1857, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/girvan/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.87424251,
-                        55.22679729
-                    ],
-                    [
-                        -4.87587895,
-                        55.24945946
-                    ],
-                    [
-                        -4.84447382,
-                        55.25019598
-                    ],
-                    [
-                        -4.84285519,
-                        55.22753318
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/girvan.html",
-            "terms_text": "National Library of Scotland - Girvan 1857"
-        },
-        {
-            "name": "OS Town Plans, Glasgow 1857-1858 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Glasgow 1857-1858, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/glasgow1857/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.31575491,
-                        55.82072009
-                    ],
-                    [
-                        -4.319683,
-                        55.88667625
-                    ],
-                    [
-                        -4.1771319,
-                        55.88928081
-                    ],
-                    [
-                        -4.1734447,
-                        55.82331825
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/glasgow_1.html",
-            "terms_text": "National Library of Scotland - Glasgow 1857-1858"
-        },
-        {
-            "name": "OS Town Plans, Glasgow 1892-1894 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Glasgow 1892-1894, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/glasgow1894/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.3465357,
-                        55.81456228
-                    ],
-                    [
-                        -4.35157646,
-                        55.89806268
-                    ],
-                    [
-                        -4.17788765,
-                        55.9012587
-                    ],
-                    [
-                        -4.17321842,
-                        55.81774834
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/glasgow_2.html",
-            "terms_text": "National Library of Scotland - Glasgow 1892-1894"
-        },
-        {
-            "name": "OS Town Plans, Greenock 1857 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Greenock 1857, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/greenock/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.78108857,
-                        55.92617865
-                    ],
-                    [
-                        -4.78382957,
-                        55.96437481
-                    ],
-                    [
-                        -4.7302257,
-                        55.96557475
-                    ],
-                    [
-                        -4.72753731,
-                        55.92737687
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/greenock.html",
-            "terms_text": "National Library of Scotland - Greenock 1857"
-        },
-        {
-            "name": "OS Town Plans, Haddington 1853 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Haddington 1853, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/haddington1853/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.78855542,
-                        55.9451862
-                    ],
-                    [
-                        -2.78888196,
-                        55.96124194
-                    ],
-                    [
-                        -2.76674325,
-                        55.9613817
-                    ],
-                    [
-                        -2.76642588,
-                        55.94532587
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/haddington_1.html",
-            "terms_text": "National Library of Scotland - Haddington 1853"
-        },
-        {
-            "name": "OS Town Plans, Haddington 1893 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Haddington 1893, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/haddington1893/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.80152293,
-                        55.93428734
-                    ],
-                    [
-                        -2.80214693,
-                        55.96447189
-                    ],
-                    [
-                        -2.76038069,
-                        55.9647367
-                    ],
-                    [
-                        -2.75978916,
-                        55.93455185
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/haddington_2.html",
-            "terms_text": "National Library of Scotland - Haddington 1893"
-        },
-        {
-            "name": "OS Town Plans, Hamilton 1858 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Hamilton 1858, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/hamilton/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.06721642,
-                        55.74877265
-                    ],
-                    [
-                        -4.06924047,
-                        55.78698508
-                    ],
-                    [
-                        -4.01679233,
-                        55.78785698
-                    ],
-                    [
-                        -4.01481949,
-                        55.74964331
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/hamilton.html",
-            "terms_text": "National Library of Scotland - Hamilton 1858"
-        },
-        {
-            "name": "OS Town Plans, Hawick 1857-1858 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Hawick 1857-1858, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/hawick/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.80130149,
-                        55.4102516
-                    ],
-                    [
-                        -2.80176329,
-                        55.43304638
-                    ],
-                    [
-                        -2.7708832,
-                        55.43324489
-                    ],
-                    [
-                        -2.77043917,
-                        55.41044995
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/hawick.html",
-            "terms_text": "National Library of Scotland - Hawick 1857-1858"
-        },
-        {
-            "name": "OS Town Plans, Inverness 1867-1868 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Inverness 1867-1868, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/inverness/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.25481758,
-                        57.45916363
-                    ],
-                    [
-                        -4.25752308,
-                        57.50302387
-                    ],
-                    [
-                        -4.19713638,
-                        57.50409032
-                    ],
-                    [
-                        -4.1945031,
-                        57.46022829
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/inverness.html",
-            "terms_text": "National Library of Scotland - Inverness 1867-1868"
-        },
-        {
-            "name": "OS Town Plans, Irvine 1859 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Irvine 1859, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/irvine/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.67540402,
-                        55.60649957
-                    ],
-                    [
-                        -4.67643252,
-                        55.62159024
-                    ],
-                    [
-                        -4.65537888,
-                        55.62204812
-                    ],
-                    [
-                        -4.65435844,
-                        55.60695719
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/irvine.html",
-            "terms_text": "National Library of Scotland - Irvine 1859"
-        },
-        {
-            "name": "OS Town Plans, Jedburgh 1858 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Jedburgh 1858, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/jedburgh/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.56332521,
-                        55.47105448
-                    ],
-                    [
-                        -2.56355503,
-                        55.48715562
-                    ],
-                    [
-                        -2.54168193,
-                        55.48725438
-                    ],
-                    [
-                        -2.54146103,
-                        55.47115318
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/jedburgh.html",
-            "terms_text": "National Library of Scotland - Jedburgh 1858"
-        },
-        {
-            "name": "OS Town Plans, Kelso 1857 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Kelso 1857, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/kelso/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.44924544,
-                        55.58390848
-                    ],
-                    [
-                        -2.44949757,
-                        55.6059582
-                    ],
-                    [
-                        -2.41902085,
-                        55.60606617
-                    ],
-                    [
-                        -2.41878581,
-                        55.58401636
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/kelso.html",
-            "terms_text": "National Library of Scotland - Kelso 1857"
-        },
-        {
-            "name": "OS Town Plans, Kilmarnock 1857-1859 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Kilmarnock 1857-1859, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/kilmarnock/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.51746876,
-                        55.58950933
-                    ],
-                    [
-                        -4.5194347,
-                        55.62017114
-                    ],
-                    [
-                        -4.47675652,
-                        55.62104083
-                    ],
-                    [
-                        -4.4748238,
-                        55.59037802
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/kilmarnock.html",
-            "terms_text": "National Library of Scotland - Kilmarnock 1857-1859"
-        },
-        {
-            "name": "OS Town Plans, Kirkcaldy 1855 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Kirkcaldy 1855, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/kirkcaldy1855/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.17455285,
-                        56.09518942
-                    ],
-                    [
-                        -3.17554995,
-                        56.12790251
-                    ],
-                    [
-                        -3.12991402,
-                        56.12832843
-                    ],
-                    [
-                        -3.12895559,
-                        56.09561481
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/kirkcaldy_1.html",
-            "terms_text": "National Library of Scotland - Kirkcaldy 1855"
-        },
-        {
-            "name": "OS Town Plans, Kirkcaldy 1894 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Kirkcaldy 1894, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/kirkcaldy1894/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.17460426,
-                        56.09513375
-                    ],
-                    [
-                        -3.17560428,
-                        56.12794116
-                    ],
-                    [
-                        -3.12989512,
-                        56.12836777
-                    ],
-                    [
-                        -3.12893395,
-                        56.09555983
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/kirkcaldy_2.html",
-            "terms_text": "National Library of Scotland - Kirkcaldy 1894"
-        },
-        {
-            "name": "OS Town Plans, Kirkcudbright 1850 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Kirkcudbright 1850, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/kirkcudbright1850/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.06154334,
-                        54.82586314
-                    ],
-                    [
-                        -4.0623081,
-                        54.84086061
-                    ],
-                    [
-                        -4.0420219,
-                        54.84120364
-                    ],
-                    [
-                        -4.04126464,
-                        54.82620598
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/kirkcudbright_1.html",
-            "terms_text": "National Library of Scotland - Kirkcudbright 1850"
-        },
-        {
-            "name": "OS Town Plans, Kirkcudbright 1893 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Kirkcudbright 1893, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/kirkcudbright1893/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.06001868,
-                        54.82720122
-                    ],
-                    [
-                        -4.06079036,
-                        54.84234455
-                    ],
-                    [
-                        -4.04025067,
-                        54.84269158
-                    ],
-                    [
-                        -4.03948667,
-                        54.82754805
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/kirkcudbright_2.html",
-            "terms_text": "National Library of Scotland - Kirkcudbright 1893"
-        },
-        {
-            "name": "OS Town Plans, Kirkintilloch 1859 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Kirkintilloch 1859, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/kirkintilloch/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.16664222,
-                        55.93124287
-                    ],
-                    [
-                        -4.16748402,
-                        55.94631265
-                    ],
-                    [
-                        -4.14637318,
-                        55.94668235
-                    ],
-                    [
-                        -4.14553956,
-                        55.93161237
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/kirkintilloch.html",
-            "terms_text": "National Library of Scotland - Kirkintilloch 1859"
-        },
-        {
-            "name": "OS Town Plans, Kirriemuir 1861 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Kirriemuir 1861, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/kirriemuir/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.01255744,
-                        56.65896044
-                    ],
-                    [
-                        -3.01302683,
-                        56.67645382
-                    ],
-                    [
-                        -2.98815879,
-                        56.67665366
-                    ],
-                    [
-                        -2.98770092,
-                        56.65916014
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/kirriemuir.html",
-            "terms_text": "National Library of Scotland - Kirriemuir 1861"
-        },
-        {
-            "name": "OS Town Plans, Lanark 1858 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Lanark 1858, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/lanark/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.78642584,
-                        55.66308804
-                    ],
-                    [
-                        -3.78710605,
-                        55.67800854
-                    ],
-                    [
-                        -3.76632876,
-                        55.67830935
-                    ],
-                    [
-                        -3.76565645,
-                        55.66338868
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/lanark.html",
-            "terms_text": "National Library of Scotland - Lanark 1858"
-        },
-        {
-            "name": "OS Town Plans, Linlithgow 1856 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Linlithgow 1856, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/linlithgow/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.61908334,
-                        55.95549561
-                    ],
-                    [
-                        -3.62033259,
-                        55.98538615
-                    ],
-                    [
-                        -3.57838447,
-                        55.98593047
-                    ],
-                    [
-                        -3.57716753,
-                        55.95603932
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/linlithgow.html",
-            "terms_text": "National Library of Scotland - Linlithgow 1856"
-        },
-        {
-            "name": "OS Town Plans, Mayole 1856-1857 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Mayole 1856-1857, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/maybole/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.69086378,
-                        55.34340178
-                    ],
-                    [
-                        -4.6918884,
-                        55.35849731
-                    ],
-                    [
-                        -4.67089656,
-                        55.35895813
-                    ],
-                    [
-                        -4.6698799,
-                        55.34386234
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/maybole.html",
-            "terms_text": "National Library of Scotland - Mayole 1856-1857"
-        },
-        {
-            "name": "OS Town Plans, Montrose 1861-1862 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Montrose 1861-1862, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/montrose/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.4859324,
-                        56.69645192
-                    ],
-                    [
-                        -2.4862257,
-                        56.71918799
-                    ],
-                    [
-                        -2.45405417,
-                        56.71930941
-                    ],
-                    [
-                        -2.45378027,
-                        56.69657324
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/montrose.html",
-            "terms_text": "National Library of Scotland - Montrose 1861-1862"
-        },
-        {
-            "name": "OS Town Plans, Musselburgh 1853 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Musselburgh 1853, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/musselburgh1853/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.07888558,
-                        55.93371953
-                    ],
-                    [
-                        -3.07954151,
-                        55.95729781
-                    ],
-                    [
-                        -3.03240684,
-                        55.95770177
-                    ],
-                    [
-                        -3.03177952,
-                        55.93412313
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/musselburgh_1.html",
-            "terms_text": "National Library of Scotland - Musselburgh 1853"
-        },
-        {
-            "name": "OS Town Plans, Musselburgh 1893 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Musselburgh 1893, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/musselburgh1893/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.07017621,
-                        55.92694102
-                    ],
-                    [
-                        -3.07078961,
-                        55.94917624
-                    ],
-                    [
-                        -3.03988228,
-                        55.94944099
-                    ],
-                    [
-                        -3.03928658,
-                        55.92720556
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/musselburgh_2.html",
-            "terms_text": "National Library of Scotland - Musselburgh 1893"
-        },
-        {
-            "name": "OS Town Plans, Nairn 1867-1868 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Nairn 1867-1868, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/nairn/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.88433907,
-                        57.57899149
-                    ],
-                    [
-                        -3.88509905,
-                        57.5936822
-                    ],
-                    [
-                        -3.85931017,
-                        57.59406441
-                    ],
-                    [
-                        -3.85856057,
-                        57.57937348
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/nairn.html",
-            "terms_text": "National Library of Scotland - Nairn 1867-1868"
-        },
-        {
-            "name": "OS Town Plans, Oban 1867-1868 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Oban 1867-1868, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/oban/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -5.49548449,
-                        56.39080407
-                    ],
-                    [
-                        -5.49836627,
-                        56.42219039
-                    ],
-                    [
-                        -5.45383984,
-                        56.42343933
-                    ],
-                    [
-                        -5.45099456,
-                        56.39205153
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/oban.html",
-            "terms_text": "National Library of Scotland - Oban 1867-1868"
-        },
-        {
-            "name": "OS Town Plans, Peebles 1856 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Peebles 1856, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/peebles/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.20921287,
-                        55.63635834
-                    ],
-                    [
-                        -3.20990288,
-                        55.65873817
-                    ],
-                    [
-                        -3.17896372,
-                        55.65903935
-                    ],
-                    [
-                        -3.17829135,
-                        55.63665927
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/peebles.html",
-            "terms_text": "National Library of Scotland - Peebles 1856"
-        },
-        {
-            "name": "OS Town Plans, Perth 1860 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Perth 1860, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/perth/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.45302495,
-                        56.37794226
-                    ],
-                    [
-                        -3.45416664,
-                        56.40789908
-                    ],
-                    [
-                        -3.41187528,
-                        56.40838777
-                    ],
-                    [
-                        -3.41076676,
-                        56.3784304
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/perth.html",
-            "terms_text": "National Library of Scotland - Perth 1860"
-        },
-        {
-            "name": "OS Town Plans, Peterhead 1868 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Peterhead 1868, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/peterhead/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -1.80513747,
-                        57.48046916
-                    ],
-                    [
-                        -1.80494005,
-                        57.51755411
-                    ],
-                    [
-                        -1.75135366,
-                        57.51746003
-                    ],
-                    [
-                        -1.75160539,
-                        57.48037522
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/peterhead",
-            "terms_text": "National Library of Scotland - Peterhead 1868"
-        },
-        {
-            "name": "OS Town Plans, Port Glasgow 1856-1857 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Port Glasgow 1856-1857, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/portglasgow/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.70063209,
-                        55.91995983
-                    ],
-                    [
-                        -4.70222026,
-                        55.9427679
-                    ],
-                    [
-                        -4.67084958,
-                        55.94345237
-                    ],
-                    [
-                        -4.6692798,
-                        55.92064372
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/port-glasgow.html",
-            "terms_text": "National Library of Scotland - Port Glasgow 1856-1857"
-        },
-        {
-            "name": "OS Town Plans, Portobello 1893-1894 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Portobello 1893-1894, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/portobello/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.12437919,
-                        55.93846889
-                    ],
-                    [
-                        -3.1250234,
-                        55.96068605
-                    ],
-                    [
-                        -3.09394827,
-                        55.96096586
-                    ],
-                    [
-                        -3.09332184,
-                        55.93874847
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/portobello.html",
-            "terms_text": "National Library of Scotland - Portobello 1893-1894"
-        },
-        {
-            "name": "OS Town Plans, Rothesay 1862-1863 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Rothesay 1862-1863, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/rothesay/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -5.06449893,
-                        55.82864114
-                    ],
-                    [
-                        -5.06569719,
-                        55.84385927
-                    ],
-                    [
-                        -5.04413114,
-                        55.84439519
-                    ],
-                    [
-                        -5.04294127,
-                        55.82917676
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/rothesay.html",
-            "terms_text": "National Library of Scotland - Rothesay 1862-1863"
-        },
-        {
-            "name": "OS Town Plans, Selkirk 1865 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Selkirk 1865, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/selkirk/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.85998582,
-                        55.53499576
-                    ],
-                    [
-                        -2.86063259,
-                        55.56459732
-                    ],
-                    [
-                        -2.82003242,
-                        55.56487574
-                    ],
-                    [
-                        -2.81941615,
-                        55.53527387
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/selkirk.html",
-            "terms_text": "National Library of Scotland - Selkirk 1865"
-        },
-        {
-            "name": "OS Town Plans, St Andrews 1854 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of St Andrews 1854, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/standrews1854/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.81342686,
-                        56.32097352
-                    ],
-                    [
-                        -2.81405804,
-                        56.3506222
-                    ],
-                    [
-                        -2.77243712,
-                        56.35088865
-                    ],
-                    [
-                        -2.77183819,
-                        56.32123967
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/st-andrews_1.html",
-            "terms_text": "National Library of Scotland - St Andrews 1854"
-        },
-        {
-            "name": "OS Town Plans, St Andrews 1893 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of St Andrews 1893, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/standrews1893/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.81545583,
-                        56.31861733
-                    ],
-                    [
-                        -2.81609919,
-                        56.3487653
-                    ],
-                    [
-                        -2.77387785,
-                        56.34903619
-                    ],
-                    [
-                        -2.77326775,
-                        56.31888792
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/st-andrews_2.html",
-            "terms_text": "National Library of Scotland - St Andrews 1893"
-        },
-        {
-            "name": "OS Town Plans, Stirling 1858 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Stirling 1858, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/stirling/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.95768489,
-                        56.10754239
-                    ],
-                    [
-                        -3.95882978,
-                        56.13007142
-                    ],
-                    [
-                        -3.92711024,
-                        56.13057046
-                    ],
-                    [
-                        -3.92598386,
-                        56.10804101
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/stirling.html",
-            "terms_text": "National Library of Scotland - Stirling 1858"
-        },
-        {
-            "name": "OS Town Plans, Stonehaven 1864 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Stonehaven 1864, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/stonehaven/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -2.220167,
-                        56.9565098
-                    ],
-                    [
-                        -2.2202543,
-                        56.97129283
-                    ],
-                    [
-                        -2.19924399,
-                        56.9713281
-                    ],
-                    [
-                        -2.19916501,
-                        56.95654504
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/stonehaven.html",
-            "terms_text": "National Library of Scotland - Stonehaven 1864"
-        },
-        {
-            "name": "OS Town Plans, Stranraer 1847 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Stranraer 1847, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/stranraer1847/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -5.04859743,
-                        54.8822997
-                    ],
-                    [
-                        -5.0508954,
-                        54.91268061
-                    ],
-                    [
-                        -5.0095373,
-                        54.91371278
-                    ],
-                    [
-                        -5.00727037,
-                        54.88333071
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/stranraer_1.html",
-            "terms_text": "National Library of Scotland - Stranraer 1847"
-        },
-        {
-            "name": "OS Town Plans, Stranraer 1863-1877 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Stranraer 1863-1877, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/stranraer1867/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -5.04877289,
-                        54.88228699
-                    ],
-                    [
-                        -5.05107324,
-                        54.9126976
-                    ],
-                    [
-                        -5.00947337,
-                        54.91373582
-                    ],
-                    [
-                        -5.00720427,
-                        54.88332405
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/stranraer_1a.html",
-            "terms_text": "National Library of Scotland - Stranraer 1863-1877"
-        },
-        {
-            "name": "OS Town Plans, Stranraer 1893 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Stranraer 1893, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/stranraer1893/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -5.04418424,
-                        54.89773858
-                    ],
-                    [
-                        -5.04511026,
-                        54.90999885
-                    ],
-                    [
-                        -5.0140499,
-                        54.91077389
-                    ],
-                    [
-                        -5.0131333,
-                        54.89851327
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/stranraer_2.html",
-            "terms_text": "National Library of Scotland - Stranraer 1893"
-        },
-        {
-            "name": "OS Town Plans, Strathaven 1858 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Strathaven 1858, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/strathaven/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.06914872,
-                        55.67242091
-                    ],
-                    [
-                        -4.06954357,
-                        55.67989707
-                    ],
-                    [
-                        -4.05917487,
-                        55.6800715
-                    ],
-                    [
-                        -4.05878199,
-                        55.67259529
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/strathaven.html",
-            "terms_text": "National Library of Scotland - Strathaven 1858"
-        },
-        {
-            "name": "OS Town Plans, Wick 1872 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Wick 1872, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/wick/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -3.11470001,
-                        58.41344839
-                    ],
-                    [
-                        -3.11588837,
-                        58.45101446
-                    ],
-                    [
-                        -3.05949843,
-                        58.45149284
-                    ],
-                    [
-                        -3.05837008,
-                        58.41392606
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/wick.html",
-            "terms_text": "National Library of Scotland - Wick 1872"
-        },
-        {
-            "name": "OS Town Plans, Wigtown 1848 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Wigtown 1848, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/wigtown1848/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.45235587,
-                        54.8572296
-                    ],
-                    [
-                        -4.45327284,
-                        54.87232603
-                    ],
-                    [
-                        -4.43254469,
-                        54.87274317
-                    ],
-                    [
-                        -4.43163545,
-                        54.85764651
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/wigtown_1.html",
-            "terms_text": "National Library of Scotland - Wigtown 1848"
-        },
-        {
-            "name": "OS Town Plans, Wigtown 1894 (NLS)",
-            "type": "tms",
-            "description": "Detailed town plan of Wigtown 1894, courtesy of National Library of Scotland.",
-            "template": "http://geo.nls.uk/maps/towns/wigtown1894/{zoom}/{x}/{-y}.png",
-            "scaleExtent": [
-                13,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -4.45233361,
-                        54.85721131
-                    ],
-                    [
-                        -4.45325423,
-                        54.87236807
-                    ],
-                    [
-                        -4.43257837,
-                        54.87278416
-                    ],
-                    [
-                        -4.43166549,
-                        54.85762716
-                    ]
-                ]
-            ],
-            "terms_url": "http://maps.nls.uk/townplans/wigtown_2.html",
-            "terms_text": "National Library of Scotland - Wigtown 1894"
-        },
-        {
-            "name": "OpenPT Map (overlay)",
-            "type": "tms",
-            "template": "http://openptmap.de/tiles/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                5,
-                16
-            ],
-            "polygon": [
-                [
-                    [
-                        6.4901072,
-                        53.665658
-                    ],
-                    [
-                        8.5665347,
-                        53.9848257
-                    ],
-                    [
-                        8.1339457,
-                        54.709715
-                    ],
-                    [
-                        8.317796,
-                        55.0952362
-                    ],
-                    [
-                        10.1887438,
-                        54.7783834
-                    ],
-                    [
-                        10.6321475,
-                        54.4778841
-                    ],
-                    [
-                        11.2702164,
-                        54.6221504
-                    ],
-                    [
-                        11.681176,
-                        54.3709243
-                    ],
-                    [
-                        12.0272473,
-                        54.3898199
-                    ],
-                    [
-                        13.3250145,
-                        54.8531617
-                    ],
-                    [
-                        13.9198245,
-                        54.6972173
-                    ],
-                    [
-                        14.2118221,
-                        54.1308273
-                    ],
-                    [
-                        14.493005,
-                        53.2665063
-                    ],
-                    [
-                        14.1577485,
-                        52.8766495
-                    ],
-                    [
-                        14.7525584,
-                        52.5819369
-                    ],
-                    [
-                        15.0986297,
-                        51.0171541
-                    ],
-                    [
-                        14.9364088,
-                        50.8399279
-                    ],
-                    [
-                        14.730929,
-                        50.7920977
-                    ],
-                    [
-                        14.4389313,
-                        50.8808862
-                    ],
-                    [
-                        12.9573138,
-                        50.3939044
-                    ],
-                    [
-                        12.51391,
-                        50.3939044
-                    ],
-                    [
-                        12.3084302,
-                        50.1173237
-                    ],
-                    [
-                        12.6112425,
-                        49.9088337
-                    ],
-                    [
-                        12.394948,
-                        49.7344006
-                    ],
-                    [
-                        12.7734634,
-                        49.4047626
-                    ],
-                    [
-                        14.1469337,
-                        48.6031036
-                    ],
-                    [
-                        14.6768553,
-                        48.6531391
-                    ],
-                    [
-                        15.0661855,
-                        49.0445497
-                    ],
-                    [
-                        16.2666202,
-                        48.7459305
-                    ],
-                    [
-                        16.4937294,
-                        48.8741286
-                    ],
-                    [
-                        16.904689,
-                        48.7173975
-                    ],
-                    [
-                        16.9371332,
-                        48.5315383
-                    ],
-                    [
-                        16.8384693,
-                        48.3823161
-                    ],
-                    [
-                        17.2017097,
-                        48.010204
-                    ],
-                    [
-                        17.1214145,
-                        47.6997605
-                    ],
-                    [
-                        16.777292,
-                        47.6585709
-                    ],
-                    [
-                        16.6090543,
-                        47.7460598
-                    ],
-                    [
-                        16.410228,
-                        47.6637214
-                    ],
-                    [
-                        16.7352326,
-                        47.6147714
-                    ],
-                    [
-                        16.5555242,
-                        47.3589738
-                    ],
-                    [
-                        16.4790525,
-                        46.9768539
-                    ],
-                    [
-                        16.0355168,
-                        46.8096295
-                    ],
-                    [
-                        16.0508112,
-                        46.6366332
-                    ],
-                    [
-                        14.9572663,
-                        46.6313822
-                    ],
-                    [
-                        14.574908,
-                        46.3892866
-                    ],
-                    [
-                        12.3954655,
-                        46.6891149
-                    ],
-                    [
-                        12.1507562,
-                        47.0550608
-                    ],
-                    [
-                        11.1183887,
-                        46.9142058
-                    ],
-                    [
-                        11.0342699,
-                        46.7729797
-                    ],
-                    [
-                        10.4836739,
-                        46.8462544
-                    ],
-                    [
-                        10.4607324,
-                        46.5472973
-                    ],
-                    [
-                        10.1013156,
-                        46.5735879
-                    ],
-                    [
-                        10.2007287,
-                        46.1831867
-                    ],
-                    [
-                        9.8948421,
-                        46.3629068
-                    ],
-                    [
-                        9.5966026,
-                        46.2889758
-                    ],
-                    [
-                        9.2983631,
-                        46.505206
-                    ],
-                    [
-                        9.2830687,
-                        46.2572605
-                    ],
-                    [
-                        9.0536537,
-                        45.7953255
-                    ],
-                    [
-                        8.4265861,
-                        46.2466846
-                    ],
-                    [
-                        8.4418804,
-                        46.4736161
-                    ],
-                    [
-                        7.8759901,
-                        45.9284607
-                    ],
-                    [
-                        7.0959791,
-                        45.8645956
-                    ],
-                    [
-                        6.7747981,
-                        46.1620044
-                    ],
-                    [
-                        6.8206811,
-                        46.4051083
-                    ],
-                    [
-                        6.5453831,
-                        46.4578142
-                    ],
-                    [
-                        6.3312624,
-                        46.3840116
-                    ],
-                    [
-                        6.3847926,
-                        46.2466846
-                    ],
-                    [
-                        5.8953739,
-                        46.0878021
-                    ],
-                    [
-                        6.1171418,
-                        46.3681838
-                    ],
-                    [
-                        6.0942003,
-                        46.5998657
-                    ],
-                    [
-                        6.4383228,
-                        46.7782169
-                    ],
-                    [
-                        6.4306756,
-                        46.9298747
-                    ],
-                    [
-                        7.0806847,
-                        47.3460216
-                    ],
-                    [
-                        6.8436226,
-                        47.3719227
-                    ],
-                    [
-                        6.9965659,
-                        47.5012373
-                    ],
-                    [
-                        7.1800979,
-                        47.5064033
-                    ],
-                    [
-                        7.2336281,
-                        47.439206
-                    ],
-                    [
-                        7.4553959,
-                        47.4805683
-                    ],
-                    [
-                        7.7842241,
-                        48.645735
-                    ],
-                    [
-                        8.1971711,
-                        49.0282701
-                    ],
-                    [
-                        7.6006921,
-                        49.0382974
-                    ],
-                    [
-                        7.4477487,
-                        49.1634679
-                    ],
-                    [
-                        7.2030394,
-                        49.1034255
-                    ],
-                    [
-                        6.6677378,
-                        49.1634679
-                    ],
-                    [
-                        6.6371491,
-                        49.3331933
-                    ],
-                    [
-                        6.3542039,
-                        49.4576194
-                    ],
-                    [
-                        6.5453831,
-                        49.8043366
-                    ],
-                    [
-                        6.2471436,
-                        49.873384
-                    ],
-                    [
-                        6.0789059,
-                        50.1534883
-                    ],
-                    [
-                        6.3618511,
-                        50.3685934
-                    ],
-                    [
-                        6.0865531,
-                        50.7039632
-                    ],
-                    [
-                        5.8800796,
-                        51.0513752
-                    ],
-                    [
-                        6.1247889,
-                        51.1618085
-                    ],
-                    [
-                        6.1936134,
-                        51.491527
-                    ],
-                    [
-                        5.9641984,
-                        51.7526501
-                    ],
-                    [
-                        6.0253758,
-                        51.8897286
-                    ],
-                    [
-                        6.4536171,
-                        51.8661241
-                    ],
-                    [
-                        6.8436226,
-                        51.9557552
-                    ],
-                    [
-                        6.6906793,
-                        52.0499105
-                    ],
-                    [
-                        7.0042131,
-                        52.2282603
-                    ],
-                    [
-                        7.0195074,
-                        52.4525245
-                    ],
-                    [
-                        6.6983264,
-                        52.4665032
-                    ],
-                    [
-                        6.6906793,
-                        52.6524628
-                    ],
-                    [
-                        7.0348017,
-                        52.6385432
-                    ],
-                    [
-                        7.0730376,
-                        52.8330151
-                    ],
-                    [
-                        7.2183337,
-                        52.9852064
-                    ],
-                    [
-                        7.1953922,
-                        53.3428087
-                    ],
-                    [
-                        7.0042131,
-                        53.3291098
-                    ]
-                ]
-            ],
-            "terms_url": "http://openstreetmap.org/",
-            "terms_text": "© OpenStreetMap contributors, CC-BY-SA"
-        },
-        {
-            "name": "OpenStreetMap (Mapnik)",
-            "type": "tms",
-            "description": "The default OpenStreetMap layer.",
-            "template": "http://tile.openstreetmap.org/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                0,
-                19
-            ],
-            "terms_url": "http://openstreetmap.org/",
-            "terms_text": "© OpenStreetMap contributors, CC-BY-SA",
-            "id": "MAPNIK",
-            "default": true
-        },
-        {
-            "name": "OpenStreetMap GPS traces",
-            "type": "tms",
-            "description": "Public GPS traces uploaded to OpenStreetMap.",
-            "template": "http://{switch:a,b,c}.gps-tile.openstreetmap.org/lines/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                0,
-                20
-            ],
-            "terms_url": "http://www.openstreetmap.org/copyright",
-            "terms_text": "© OpenStreetMap contributors",
-            "terms_html": "© <a href='http://www.openstreetmap.org/copyright'>OpenStreetMap contributors</a>. North: <span style='display: inline-block; width: 10px; height: 10px; background-color: #7fed11;'></span> South: <span style='display: inline-block; width: 10px; height: 10px; background-color: #7f11ed;'></span> East: <span style='display: inline-block; width: 10px; height: 10px; background-color: #ff3f3f;'></span> West: <span style='display: inline-block; width: 10px; height: 10px; background-color: #00bfbf;'></span>",
-            "overlay": true
-        },
-        {
-            "name": "Pangasinán/Bulacan (Phillipines HiRes)",
-            "type": "tms",
-            "template": "http://gravitystorm.dev.openstreetmap.org/imagery/philippines/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                12,
-                19
-            ],
-            "polygon": [
-                [
-                    [
-                        120.336593,
-                        15.985768
-                    ],
-                    [
-                        120.445995,
-                        15.984
-                    ],
-                    [
-                        120.446134,
-                        15.974459
-                    ],
-                    [
-                        120.476464,
-                        15.974592
-                    ],
-                    [
-                        120.594247,
-                        15.946832
-                    ],
-                    [
-                        120.598064,
-                        16.090795
-                    ],
-                    [
-                        120.596537,
-                        16.197999
-                    ],
-                    [
-                        120.368537,
-                        16.218527
-                    ],
-                    [
-                        120.347576,
-                        16.042308
-                    ],
-                    [
-                        120.336593,
-                        15.985768
-                    ]
-                ],
-                [
-                    [
-                        120.8268,
-                        15.3658
-                    ],
-                    [
-                        121.2684,
-                        15.2602
-                    ],
-                    [
-                        121.2699,
-                        14.7025
-                    ],
-                    [
-                        120.695,
-                        14.8423
-                    ]
-                ]
-            ]
-        },
-        {
-            "name": "Slovakia EEA CORINE 2006",
-            "type": "tms",
-            "template": "http://www.freemap.sk/tms/clc/{zoom}/{x}/{y}.png",
-            "polygon": [
-                [
-                    [
-                        19.83682,
-                        49.25529
-                    ],
-                    [
-                        19.80075,
-                        49.42385
-                    ],
-                    [
-                        19.60437,
-                        49.48058
-                    ],
-                    [
-                        19.49179,
-                        49.63961
-                    ],
-                    [
-                        19.21831,
-                        49.52604
-                    ],
-                    [
-                        19.16778,
-                        49.42521
-                    ],
-                    [
-                        19.00308,
-                        49.42236
-                    ],
-                    [
-                        18.97611,
-                        49.5308
-                    ],
-                    [
-                        18.54685,
-                        49.51425
-                    ],
-                    [
-                        18.31432,
-                        49.33818
-                    ],
-                    [
-                        18.15913,
-                        49.2961
-                    ],
-                    [
-                        18.05564,
-                        49.11134
-                    ],
-                    [
-                        17.56396,
-                        48.84938
-                    ],
-                    [
-                        17.17929,
-                        48.88816
-                    ],
-                    [
-                        17.058,
-                        48.81105
-                    ],
-                    [
-                        16.90426,
-                        48.61947
-                    ],
-                    [
-                        16.79685,
-                        48.38561
-                    ],
-                    [
-                        17.06762,
-                        48.01116
-                    ],
-                    [
-                        17.32787,
-                        47.97749
-                    ],
-                    [
-                        17.51699,
-                        47.82535
-                    ],
-                    [
-                        17.74776,
-                        47.73093
-                    ],
-                    [
-                        18.29515,
-                        47.72075
-                    ],
-                    [
-                        18.67959,
-                        47.75541
-                    ],
-                    [
-                        18.89755,
-                        47.81203
-                    ],
-                    [
-                        18.79463,
-                        47.88245
-                    ],
-                    [
-                        18.84318,
-                        48.04046
-                    ],
-                    [
-                        19.46212,
-                        48.05333
-                    ],
-                    [
-                        19.62064,
-                        48.22938
-                    ],
-                    [
-                        19.89585,
-                        48.09387
-                    ],
-                    [
-                        20.33766,
-                        48.2643
-                    ],
-                    [
-                        20.55395,
-                        48.52358
-                    ],
-                    [
-                        20.82335,
-                        48.55714
-                    ],
-                    [
-                        21.10271,
-                        48.47096
-                    ],
-                    [
-                        21.45863,
-                        48.55513
-                    ],
-                    [
-                        21.74536,
-                        48.31435
-                    ],
-                    [
-                        22.15293,
-                        48.37179
-                    ],
-                    [
-                        22.61255,
-                        49.08914
-                    ],
-                    [
-                        22.09997,
-                        49.23814
-                    ],
-                    [
-                        21.9686,
-                        49.36363
-                    ],
-                    [
-                        21.6244,
-                        49.46989
-                    ],
-                    [
-                        21.06873,
-                        49.46402
-                    ],
-                    [
-                        20.94336,
-                        49.31088
-                    ],
-                    [
-                        20.73052,
-                        49.44006
-                    ],
-                    [
-                        20.22804,
-                        49.41714
-                    ],
-                    [
-                        20.05234,
-                        49.23052
-                    ],
-                    [
-                        19.83682,
-                        49.25529
-                    ]
-                ]
-            ],
-            "terms_url": "http://www.eea.europa.eu/data-and-maps/data/clc-2006-vector-data-version-1",
-            "terms_text": "EEA Corine 2006"
-        },
-        {
-            "name": "Slovakia EEA GMES Urban Atlas",
-            "type": "tms",
-            "template": "http://www.freemap.sk/tms/urbanatlas/{zoom}/{x}/{y}.png",
-            "polygon": [
-                [
-                    [
-                        19.83682,
-                        49.25529
-                    ],
-                    [
-                        19.80075,
-                        49.42385
-                    ],
-                    [
-                        19.60437,
-                        49.48058
-                    ],
-                    [
-                        19.49179,
-                        49.63961
-                    ],
-                    [
-                        19.21831,
-                        49.52604
-                    ],
-                    [
-                        19.16778,
-                        49.42521
-                    ],
-                    [
-                        19.00308,
-                        49.42236
-                    ],
-                    [
-                        18.97611,
-                        49.5308
-                    ],
-                    [
-                        18.54685,
-                        49.51425
-                    ],
-                    [
-                        18.31432,
-                        49.33818
-                    ],
-                    [
-                        18.15913,
-                        49.2961
-                    ],
-                    [
-                        18.05564,
-                        49.11134
-                    ],
-                    [
-                        17.56396,
-                        48.84938
-                    ],
-                    [
-                        17.17929,
-                        48.88816
-                    ],
-                    [
-                        17.058,
-                        48.81105
-                    ],
-                    [
-                        16.90426,
-                        48.61947
-                    ],
-                    [
-                        16.79685,
-                        48.38561
-                    ],
-                    [
-                        17.06762,
-                        48.01116
-                    ],
-                    [
-                        17.32787,
-                        47.97749
-                    ],
-                    [
-                        17.51699,
-                        47.82535
-                    ],
-                    [
-                        17.74776,
-                        47.73093
-                    ],
-                    [
-                        18.29515,
-                        47.72075
-                    ],
-                    [
-                        18.67959,
-                        47.75541
-                    ],
-                    [
-                        18.89755,
-                        47.81203
-                    ],
-                    [
-                        18.79463,
-                        47.88245
-                    ],
-                    [
-                        18.84318,
-                        48.04046
-                    ],
-                    [
-                        19.46212,
-                        48.05333
-                    ],
-                    [
-                        19.62064,
-                        48.22938
-                    ],
-                    [
-                        19.89585,
-                        48.09387
-                    ],
-                    [
-                        20.33766,
-                        48.2643
-                    ],
-                    [
-                        20.55395,
-                        48.52358
-                    ],
-                    [
-                        20.82335,
-                        48.55714
-                    ],
-                    [
-                        21.10271,
-                        48.47096
-                    ],
-                    [
-                        21.45863,
-                        48.55513
-                    ],
-                    [
-                        21.74536,
-                        48.31435
-                    ],
-                    [
-                        22.15293,
-                        48.37179
-                    ],
-                    [
-                        22.61255,
-                        49.08914
-                    ],
-                    [
-                        22.09997,
-                        49.23814
-                    ],
-                    [
-                        21.9686,
-                        49.36363
-                    ],
-                    [
-                        21.6244,
-                        49.46989
-                    ],
-                    [
-                        21.06873,
-                        49.46402
-                    ],
-                    [
-                        20.94336,
-                        49.31088
-                    ],
-                    [
-                        20.73052,
-                        49.44006
-                    ],
-                    [
-                        20.22804,
-                        49.41714
-                    ],
-                    [
-                        20.05234,
-                        49.23052
-                    ],
-                    [
-                        19.83682,
-                        49.25529
-                    ]
-                ]
-            ],
-            "terms_url": "http://www.eea.europa.eu/data-and-maps/data/urban-atlas",
-            "terms_text": "EEA GMES Urban Atlas"
-        },
-        {
-            "name": "Slovakia Historic Maps",
-            "type": "tms",
-            "template": "http://tms.freemap.sk/historicke/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                0,
-                12
-            ],
-            "polygon": [
-                [
-                    [
-                        16.8196949,
-                        47.4927236
-                    ],
-                    [
-                        16.8196949,
-                        49.5030322
-                    ],
-                    [
-                        22.8388318,
-                        49.5030322
-                    ],
-                    [
-                        22.8388318,
-                        47.4927236
-                    ],
-                    [
-                        16.8196949,
-                        47.4927236
-                    ]
-                ]
-            ]
-        },
-        {
-            "name": "South Africa CD:NGI Aerial",
-            "type": "tms",
-            "template": "http://{switch:a,b,c}.aerial.openstreetmap.org.za/ngi-aerial/{zoom}/{x}/{y}.jpg",
-            "scaleExtent": [
-                1,
-                22
-            ],
-            "polygon": [
-                [
-                    [
-                        17.8396817,
-                        -32.7983384
-                    ],
-                    [
-                        17.8893509,
-                        -32.6972835
-                    ],
-                    [
-                        18.00364,
-                        -32.6982187
-                    ],
-                    [
-                        18.0991679,
-                        -32.7485251
-                    ],
-                    [
-                        18.2898747,
-                        -32.5526645
-                    ],
-                    [
-                        18.2930182,
-                        -32.0487089
-                    ],
-                    [
-                        18.105455,
-                        -31.6454966
-                    ],
-                    [
-                        17.8529257,
-                        -31.3443951
-                    ],
-                    [
-                        17.5480046,
-                        -30.902171
-                    ],
-                    [
-                        17.4044506,
-                        -30.6374731
-                    ],
-                    [
-                        17.2493704,
-                        -30.3991663
-                    ],
-                    [
-                        16.9936977,
-                        -29.6543552
-                    ],
-                    [
-                        16.7987996,
-                        -29.19437
-                    ],
-                    [
-                        16.5494139,
-                        -28.8415949
-                    ],
-                    [
-                        16.4498691,
-                        -28.691876
-                    ],
-                    [
-                        16.4491046,
-                        -28.5515766
-                    ],
-                    [
-                        16.6002551,
-                        -28.4825663
-                    ],
-                    [
-                        16.7514057,
-                        -28.4486958
-                    ],
-                    [
-                        16.7462192,
-                        -28.2458973
-                    ],
-                    [
-                        16.8855148,
-                        -28.04729
-                    ],
-                    [
-                        16.9929502,
-                        -28.0244005
-                    ],
-                    [
-                        17.0529659,
-                        -28.0257086
-                    ],
-                    [
-                        17.1007562,
-                        -28.0338839
-                    ],
-                    [
-                        17.2011527,
-                        -28.0930546
-                    ],
-                    [
-                        17.2026346,
-                        -28.2328424
-                    ],
-                    [
-                        17.2474611,
-                        -28.2338215
-                    ],
-                    [
-                        17.2507953,
-                        -28.198892
-                    ],
-                    [
-                        17.3511919,
-                        -28.1975861
-                    ],
-                    [
-                        17.3515624,
-                        -28.2442655
-                    ],
-                    [
-                        17.4015754,
-                        -28.2452446
-                    ],
-                    [
-                        17.4149122,
-                        -28.3489751
-                    ],
-                    [
-                        17.4008345,
-                        -28.547997
-                    ],
-                    [
-                        17.4526999,
-                        -28.5489733
-                    ],
-                    [
-                        17.4512071,
-                        -28.6495106
-                    ],
-                    [
-                        17.4983599,
-                        -28.6872054
-                    ],
-                    [
-                        17.6028204,
-                        -28.6830048
-                    ],
-                    [
-                        17.6499732,
-                        -28.6967928
-                    ],
-                    [
-                        17.6525928,
-                        -28.7381457
-                    ],
-                    [
-                        17.801386,
-                        -28.7381457
-                    ],
-                    [
-                        17.9994276,
-                        -28.7560602
-                    ],
-                    [
-                        18.0002748,
-                        -28.7956172
-                    ],
-                    [
-                        18.1574507,
-                        -28.8718055
-                    ],
-                    [
-                        18.5063811,
-                        -28.8718055
-                    ],
-                    [
-                        18.6153564,
-                        -28.8295875
-                    ],
-                    [
-                        18.9087513,
-                        -28.8277516
-                    ],
-                    [
-                        19.1046973,
-                        -28.9488548
-                    ],
-                    [
-                        19.1969071,
-                        -28.9378513
-                    ],
-                    [
-                        19.243012,
-                        -28.8516164
-                    ],
-                    [
-                        19.2314858,
-                        -28.802963
-                    ],
-                    [
-                        19.2587296,
-                        -28.7009928
-                    ],
-                    [
-                        19.4431493,
-                        -28.6973163
-                    ],
-                    [
-                        19.5500289,
-                        -28.4958332
-                    ],
-                    [
-                        19.6967264,
-                        -28.4939914
-                    ],
-                    [
-                        19.698822,
-                        -28.4479358
-                    ],
-                    [
-                        19.8507587,
-                        -28.4433291
-                    ],
-                    [
-                        19.8497109,
-                        -28.4027818
-                    ],
-                    [
-                        19.9953605,
-                        -28.399095
-                    ],
-                    [
-                        19.9893671,
-                        -24.7497859
-                    ],
-                    [
-                        20.2916682,
-                        -24.9192346
-                    ],
-                    [
-                        20.4724562,
-                        -25.1501701
-                    ],
-                    [
-                        20.6532441,
-                        -25.4529449
-                    ],
-                    [
-                        20.733265,
-                        -25.6801957
-                    ],
-                    [
-                        20.8281046,
-                        -25.8963498
-                    ],
-                    [
-                        20.8429232,
-                        -26.215851
-                    ],
-                    [
-                        20.6502804,
-                        -26.4840868
-                    ],
-                    [
-                        20.6532441,
-                        -26.8204869
-                    ],
-                    [
-                        21.0889134,
-                        -26.846933
-                    ],
-                    [
-                        21.6727695,
-                        -26.8389998
-                    ],
-                    [
-                        21.7765003,
-                        -26.6696268
-                    ],
-                    [
-                        21.9721069,
-                        -26.6431395
-                    ],
-                    [
-                        22.2803355,
-                        -26.3274702
-                    ],
-                    [
-                        22.5707817,
-                        -26.1333967
-                    ],
-                    [
-                        22.7752795,
-                        -25.6775246
-                    ],
-                    [
-                        23.0005235,
-                        -25.2761948
-                    ],
-                    [
-                        23.4658301,
-                        -25.2735148
-                    ],
-                    [
-                        23.883717,
-                        -25.597366
-                    ],
-                    [
-                        24.2364017,
-                        -25.613402
-                    ],
-                    [
-                        24.603905,
-                        -25.7896563
-                    ],
-                    [
-                        25.110704,
-                        -25.7389432
-                    ],
-                    [
-                        25.5078447,
-                        -25.6855376
-                    ],
-                    [
-                        25.6441766,
-                        -25.4823781
-                    ],
-                    [
-                        25.8419267,
-                        -24.7805437
-                    ],
-                    [
-                        25.846641,
-                        -24.7538456
-                    ],
-                    [
-                        26.3928487,
-                        -24.6332894
-                    ],
-                    [
-                        26.4739066,
-                        -24.5653312
-                    ],
-                    [
-                        26.5089966,
-                        -24.4842437
-                    ],
-                    [
-                        26.5861946,
-                        -24.4075775
-                    ],
-                    [
-                        26.7300635,
-                        -24.3014458
-                    ],
-                    [
-                        26.8567384,
-                        -24.2499463
-                    ],
-                    [
-                        26.8574402,
-                        -24.1026901
-                    ],
-                    [
-                        26.9215471,
-                        -23.8990957
-                    ],
-                    [
-                        26.931831,
-                        -23.8461891
-                    ],
-                    [
-                        26.9714827,
-                        -23.6994344
-                    ],
-                    [
-                        27.0006074,
-                        -23.6367644
-                    ],
-                    [
-                        27.0578041,
-                        -23.6052574
-                    ],
-                    [
-                        27.1360547,
-                        -23.5203437
-                    ],
-                    [
-                        27.3339623,
-                        -23.3973792
-                    ],
-                    [
-                        27.5144057,
-                        -23.3593929
-                    ],
-                    [
-                        27.5958145,
-                        -23.2085465
-                    ],
-                    [
-                        27.8098634,
-                        -23.0994957
-                    ],
-                    [
-                        27.8828506,
-                        -23.0620496
-                    ],
-                    [
-                        27.9382928,
-                        -22.9496487
-                    ],
-                    [
-                        28.0407556,
-                        -22.8255118
-                    ],
-                    [
-                        28.2056786,
-                        -22.6552861
-                    ],
-                    [
-                        28.3397223,
-                        -22.5639374
-                    ],
-                    [
-                        28.4906093,
-                        -22.560697
-                    ],
-                    [
-                        28.6108769,
-                        -22.5400248
-                    ],
-                    [
-                        28.828175,
-                        -22.4550173
-                    ],
-                    [
-                        28.9285324,
-                        -22.4232328
-                    ],
-                    [
-                        28.9594116,
-                        -22.3090081
-                    ],
-                    [
-                        29.0162574,
-                        -22.208335
-                    ],
-                    [
-                        29.2324117,
-                        -22.1693453
-                    ],
-                    [
-                        29.3531213,
-                        -22.1842926
-                    ],
-                    [
-                        29.6548952,
-                        -22.1186426
-                    ],
-                    [
-                        29.7777102,
-                        -22.1361956
-                    ],
-                    [
-                        29.9292989,
-                        -22.1849425
-                    ],
-                    [
-                        30.1166795,
-                        -22.2830348
-                    ],
-                    [
-                        30.2563377,
-                        -22.2914767
-                    ],
-                    [
-                        30.3033582,
-                        -22.3395204
-                    ],
-                    [
-                        30.5061784,
-                        -22.3057617
-                    ],
-                    [
-                        30.8374279,
-                        -22.284983
-                    ],
-                    [
-                        31.0058599,
-                        -22.3077095
-                    ],
-                    [
-                        31.1834152,
-                        -22.3232913
-                    ],
-                    [
-                        31.2930586,
-                        -22.3674647
-                    ],
-                    [
-                        31.5680579,
-                        -23.1903385
-                    ],
-                    [
-                        31.5568311,
-                        -23.4430809
-                    ],
-                    [
-                        31.6931122,
-                        -23.6175209
-                    ],
-                    [
-                        31.7119696,
-                        -23.741136
-                    ],
-                    [
-                        31.7774743,
-                        -23.8800628
-                    ],
-                    [
-                        31.8886337,
-                        -23.9481098
-                    ],
-                    [
-                        31.9144386,
-                        -24.1746736
-                    ],
-                    [
-                        31.9948307,
-                        -24.3040878
-                    ],
-                    [
-                        32.0166656,
-                        -24.4405988
-                    ],
-                    [
-                        32.0077331,
-                        -24.6536578
-                    ],
-                    [
-                        32.019643,
-                        -24.9140701
-                    ],
-                    [
-                        32.035523,
-                        -25.0849767
-                    ],
-                    [
-                        32.019643,
-                        -25.3821442
-                    ],
-                    [
-                        31.9928457,
-                        -25.4493771
-                    ],
-                    [
-                        31.9997931,
-                        -25.5165725
-                    ],
-                    [
-                        32.0057481,
-                        -25.6078978
-                    ],
-                    [
-                        32.0057481,
-                        -25.6624806
-                    ],
-                    [
-                        31.9362735,
-                        -25.8403721
-                    ],
-                    [
-                        31.9809357,
-                        -25.9546537
-                    ],
-                    [
-                        31.8687838,
-                        -26.0037251
-                    ],
-                    [
-                        31.4162062,
-                        -25.7277683
-                    ],
-                    [
-                        31.3229117,
-                        -25.7438611
-                    ],
-                    [
-                        31.2504595,
-                        -25.8296526
-                    ],
-                    [
-                        31.1393001,
-                        -25.9162746
-                    ],
-                    [
-                        31.1164727,
-                        -25.9912361
-                    ],
-                    [
-                        30.9656135,
-                        -26.2665756
-                    ],
-                    [
-                        30.8921689,
-                        -26.3279703
-                    ],
-                    [
-                        30.8534616,
-                        -26.4035568
-                    ],
-                    [
-                        30.8226943,
-                        -26.4488849
-                    ],
-                    [
-                        30.8022583,
-                        -26.5240694
-                    ],
-                    [
-                        30.8038369,
-                        -26.8082089
-                    ],
-                    [
-                        30.9020939,
-                        -26.7807451
-                    ],
-                    [
-                        30.9100338,
-                        -26.8489495
-                    ],
-                    [
-                        30.9824859,
-                        -26.9082627
-                    ],
-                    [
-                        30.976531,
-                        -27.0029222
-                    ],
-                    [
-                        31.0034434,
-                        -27.0441587
-                    ],
-                    [
-                        31.1543322,
-                        -27.1980416
-                    ],
-                    [
-                        31.5015607,
-                        -27.311117
-                    ],
-                    [
-                        31.9700183,
-                        -27.311117
-                    ],
-                    [
-                        31.9700183,
-                        -27.120472
-                    ],
-                    [
-                        31.9769658,
-                        -27.050664
-                    ],
-                    [
-                        32.0002464,
-                        -26.7983892
-                    ],
-                    [
-                        32.1069826,
-                        -26.7984645
-                    ],
-                    [
-                        32.3114546,
-                        -26.8479493
-                    ],
-                    [
-                        32.899986,
-                        -26.8516059
-                    ],
-                    [
-                        32.886091,
-                        -26.9816971
-                    ],
-                    [
-                        32.709427,
-                        -27.4785436
-                    ],
-                    [
-                        32.6240724,
-                        -27.7775144
-                    ],
-                    [
-                        32.5813951,
-                        -28.07479
-                    ],
-                    [
-                        32.5387178,
-                        -28.2288046
-                    ],
-                    [
-                        32.4275584,
-                        -28.5021568
-                    ],
-                    [
-                        32.3640388,
-                        -28.5945699
-                    ],
-                    [
-                        32.0702603,
-                        -28.8469827
-                    ],
-                    [
-                        31.9878832,
-                        -28.9069497
-                    ],
-                    [
-                        31.7764818,
-                        -28.969487
-                    ],
-                    [
-                        31.4638459,
-                        -29.2859343
-                    ],
-                    [
-                        31.359634,
-                        -29.3854348
-                    ],
-                    [
-                        31.1680825,
-                        -29.6307408
-                    ],
-                    [
-                        31.064863,
-                        -29.7893535
-                    ],
-                    [
-                        31.0534493,
-                        -29.8470469
-                    ],
-                    [
-                        31.0669933,
-                        -29.8640319
-                    ],
-                    [
-                        31.0455459,
-                        -29.9502017
-                    ],
-                    [
-                        30.9518556,
-                        -30.0033946
-                    ],
-                    [
-                        30.8651833,
-                        -30.1024093
-                    ],
-                    [
-                        30.7244725,
-                        -30.392502
-                    ],
-                    [
-                        30.3556256,
-                        -30.9308873
-                    ],
-                    [
-                        30.0972364,
-                        -31.2458274
-                    ],
-                    [
-                        29.8673136,
-                        -31.4304296
-                    ],
-                    [
-                        29.7409393,
-                        -31.5014699
-                    ],
-                    [
-                        29.481312,
-                        -31.6978686
-                    ],
-                    [
-                        28.8943171,
-                        -32.2898903
-                    ],
-                    [
-                        28.5497137,
-                        -32.5894641
-                    ],
-                    [
-                        28.1436499,
-                        -32.8320732
-                    ],
-                    [
-                        28.0748735,
-                        -32.941689
-                    ],
-                    [
-                        27.8450942,
-                        -33.082869
-                    ],
-                    [
-                        27.3757956,
-                        -33.3860685
-                    ],
-                    [
-                        26.8805407,
-                        -33.6458951
-                    ],
-                    [
-                        26.5916871,
-                        -33.7480756
-                    ],
-                    [
-                        26.4527308,
-                        -33.7935795
-                    ],
-                    [
-                        26.206754,
-                        -33.7548943
-                    ],
-                    [
-                        26.0077897,
-                        -33.7223961
-                    ],
-                    [
-                        25.8055494,
-                        -33.7524272
-                    ],
-                    [
-                        25.7511073,
-                        -33.8006512
-                    ],
-                    [
-                        25.6529079,
-                        -33.8543597
-                    ],
-                    [
-                        25.6529079,
-                        -33.9469768
-                    ],
-                    [
-                        25.7195789,
-                        -34.0040115
-                    ],
-                    [
-                        25.7202807,
-                        -34.0511235
-                    ],
-                    [
-                        25.5508915,
-                        -34.063151
-                    ],
-                    [
-                        25.3504571,
-                        -34.0502627
-                    ],
-                    [
-                        25.2810609,
-                        -34.0020322
-                    ],
-                    [
-                        25.0476316,
-                        -33.9994588
-                    ],
-                    [
-                        24.954724,
-                        -34.0043594
-                    ],
-                    [
-                        24.9496586,
-                        -34.1010363
-                    ],
-                    [
-                        24.8770358,
-                        -34.1506456
-                    ],
-                    [
-                        24.8762914,
-                        -34.2005281
-                    ],
-                    [
-                        24.8532574,
-                        -34.2189562
-                    ],
-                    [
-                        24.7645287,
-                        -34.2017946
-                    ],
-                    [
-                        24.5001356,
-                        -34.2003254
-                    ],
-                    [
-                        24.3486733,
-                        -34.1163824
-                    ],
-                    [
-                        24.1988819,
-                        -34.1019039
-                    ],
-                    [
-                        23.9963377,
-                        -34.0514443
-                    ],
-                    [
-                        23.8017509,
-                        -34.0524332
-                    ],
-                    [
-                        23.7493589,
-                        -34.0111855
-                    ],
-                    [
-                        23.4973536,
-                        -34.009014
-                    ],
-                    [
-                        23.4155191,
-                        -34.0434586
-                    ],
-                    [
-                        23.4154284,
-                        -34.1140433
-                    ],
-                    [
-                        22.9000853,
-                        -34.0993009
-                    ],
-                    [
-                        22.8412418,
-                        -34.0547911
-                    ],
-                    [
-                        22.6470321,
-                        -34.0502627
-                    ],
-                    [
-                        22.6459843,
-                        -34.0072768
-                    ],
-                    [
-                        22.570016,
-                        -34.0064081
-                    ],
-                    [
-                        22.5050499,
-                        -34.0645866
-                    ],
-                    [
-                        22.2519968,
-                        -34.0645866
-                    ],
-                    [
-                        22.2221334,
-                        -34.1014701
-                    ],
-                    [
-                        22.1621197,
-                        -34.1057019
-                    ],
-                    [
-                        22.1712431,
-                        -34.1521766
-                    ],
-                    [
-                        22.1576913,
-                        -34.2180897
-                    ],
-                    [
-                        22.0015632,
-                        -34.2172232
-                    ],
-                    [
-                        21.9496952,
-                        -34.3220009
-                    ],
-                    [
-                        21.8611528,
-                        -34.4007145
-                    ],
-                    [
-                        21.5614708,
-                        -34.4020114
-                    ],
-                    [
-                        21.5468011,
-                        -34.3661242
-                    ],
-                    [
-                        21.501744,
-                        -34.3669892
-                    ],
-                    [
-                        21.5006961,
-                        -34.4020114
-                    ],
-                    [
-                        21.4194886,
-                        -34.4465247
-                    ],
-                    [
-                        21.1978706,
-                        -34.4478208
-                    ],
-                    [
-                        21.0988193,
-                        -34.3991325
-                    ],
-                    [
-                        21.0033746,
-                        -34.3753872
-                    ],
-                    [
-                        20.893192,
-                        -34.3997115
-                    ],
-                    [
-                        20.8976647,
-                        -34.4854003
-                    ],
-                    [
-                        20.7446802,
-                        -34.4828092
-                    ],
-                    [
-                        20.5042011,
-                        -34.486264
-                    ],
-                    [
-                        20.2527197,
-                        -34.701477
-                    ],
-                    [
-                        20.0803502,
-                        -34.8361855
-                    ],
-                    [
-                        19.9923317,
-                        -34.8379056
-                    ],
-                    [
-                        19.899074,
-                        -34.8275845
-                    ],
-                    [
-                        19.8938348,
-                        -34.7936018
-                    ],
-                    [
-                        19.5972963,
-                        -34.7961833
-                    ],
-                    [
-                        19.3929677,
-                        -34.642015
-                    ],
-                    [
-                        19.2877095,
-                        -34.6404784
-                    ],
-                    [
-                        19.2861377,
-                        -34.5986563
-                    ],
-                    [
-                        19.3474363,
-                        -34.5244458
-                    ],
-                    [
-                        19.3285256,
-                        -34.4534372
-                    ],
-                    [
-                        19.098001,
-                        -34.449981
-                    ],
-                    [
-                        19.0725583,
-                        -34.3802371
-                    ],
-                    [
-                        19.0023531,
-                        -34.3525593
-                    ],
-                    [
-                        18.9520568,
-                        -34.3949373
-                    ],
-                    [
-                        18.7975006,
-                        -34.3936403
-                    ],
-                    [
-                        18.7984174,
-                        -34.1016376
-                    ],
-                    [
-                        18.501748,
-                        -34.1015292
-                    ],
-                    [
-                        18.4999545,
-                        -34.3616945
-                    ],
-                    [
-                        18.4477325,
-                        -34.3620007
-                    ],
-                    [
-                        18.4479944,
-                        -34.3522691
-                    ],
-                    [
-                        18.3974362,
-                        -34.3514041
-                    ],
-                    [
-                        18.3971742,
-                        -34.3022959
-                    ],
-                    [
-                        18.3565705,
-                        -34.3005647
-                    ],
-                    [
-                        18.3479258,
-                        -34.2020436
-                    ],
-                    [
-                        18.2972095,
-                        -34.1950274
-                    ],
-                    [
-                        18.2951139,
-                        -33.9937138
-                    ],
-                    [
-                        18.3374474,
-                        -33.9914079
-                    ],
-                    [
-                        18.3476638,
-                        -33.8492427
-                    ],
-                    [
-                        18.3479258,
-                        -33.781555
-                    ],
-                    [
-                        18.4124718,
-                        -33.7448849
-                    ],
-                    [
-                        18.3615477,
-                        -33.6501624
-                    ],
-                    [
-                        18.2992013,
-                        -33.585591
-                    ],
-                    [
-                        18.2166839,
-                        -33.448872
-                    ],
-                    [
-                        18.1389858,
-                        -33.3974083
-                    ],
-                    [
-                        17.9473472,
-                        -33.1602647
-                    ],
-                    [
-                        17.8855247,
-                        -33.0575732
-                    ],
-                    [
-                        17.8485884,
-                        -32.9668505
-                    ],
-                    [
-                        17.8396817,
-                        -32.8507302
-                    ]
-                ]
-            ]
-        },
-        {
-            "name": "South Tyrol Orthofoto 2011",
-            "type": "tms",
-            "template": "http://sdi.provincia.bz.it/geoserver/gwc/service/tms/1.0.0/WMTS_OF2011_APB-PAB@GoogleMapsCompatible@png8/{z}/{x}/{-y}.png",
-            "polygon": [
-                [
-                    [
-                        10.373383,
-                        46.213553
-                    ],
-                    [
-                        10.373383,
-                        47.098175
-                    ],
-                    [
-                        12.482758,
-                        47.098175
-                    ],
-                    [
-                        12.482758,
-                        46.213553
-                    ],
-                    [
-                        10.373383,
-                        46.213553
-                    ]
-                ]
-            ],
-            "id": "sdi.provinz.bz.it-WMTS_OF2011_APB-PAB"
-        },
-        {
-            "name": "South Tyrol Topomap",
-            "type": "tms",
-            "template": "http://sdi.provincia.bz.it/geoserver/gwc/service/tms/1.0.0/WMTS_TOPOMAP_APB-PAB@GoogleMapsCompatible@png8/{z}/{x}/{-y}.png",
-            "polygon": [
-                [
-                    [
-                        10.373383,
-                        46.213553
-                    ],
-                    [
-                        10.373383,
-                        47.098175
-                    ],
-                    [
-                        12.482758,
-                        47.098175
-                    ],
-                    [
-                        12.482758,
-                        46.213553
-                    ],
-                    [
-                        10.373383,
-                        46.213553
-                    ]
-                ]
-            ],
-            "id": "sdi.provinz.bz.it-WMTS_TOPOMAP_APB-PAB"
-        },
-        {
-            "name": "Stadt Uster Orthophoto 2008 10cm",
-            "type": "tms",
-            "template": "http://mapproxy.sosm.ch:8080/tiles/uster/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",
-            "polygon": [
-                [
-                    [
-                        8.6,
-                        47.31
-                    ],
-                    [
-                        8.6,
-                        47.39
-                    ],
-                    [
-                        8.77,
-                        47.39
-                    ],
-                    [
-                        8.77,
-                        47.31
-                    ],
-                    [
-                        8.6,
-                        47.31
-                    ]
-                ]
-            ],
-            "terms_text": "Stadt Uster Vermessung Orthophoto 2008"
-        },
-        {
-            "name": "Stevns (Denmark)",
-            "type": "tms",
-            "template": "http://{switch:a,b,c}.tile.openstreetmap.dk/stevns/2009/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                0,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        12.0913942,
-                        55.3491574
-                    ],
-                    [
-                        12.0943104,
-                        55.3842256
-                    ],
-                    [
-                        12.1573875,
-                        55.3833103
-                    ],
-                    [
-                        12.1587287,
-                        55.4013326
-                    ],
-                    [
-                        12.1903468,
-                        55.400558
-                    ],
-                    [
-                        12.1931411,
-                        55.4364665
-                    ],
-                    [
-                        12.2564251,
-                        55.4347995
-                    ],
-                    [
-                        12.2547073,
-                        55.4168882
-                    ],
-                    [
-                        12.3822489,
-                        55.4134349
-                    ],
-                    [
-                        12.3795942,
-                        55.3954143
-                    ],
-                    [
-                        12.4109213,
-                        55.3946958
-                    ],
-                    [
-                        12.409403,
-                        55.3766417
-                    ],
-                    [
-                        12.4407807,
-                        55.375779
-                    ],
-                    [
-                        12.4394142,
-                        55.3578314
-                    ],
-                    [
-                        12.4707413,
-                        55.3569971
-                    ],
-                    [
-                        12.4629475,
-                        55.2672214
-                    ],
-                    [
-                        12.4315633,
-                        55.2681491
-                    ],
-                    [
-                        12.430045,
-                        55.2502103
-                    ],
-                    [
-                        12.3672011,
-                        55.2519673
-                    ],
-                    [
-                        12.3656858,
-                        55.2340267
-                    ],
-                    [
-                        12.2714604,
-                        55.2366031
-                    ],
-                    [
-                        12.2744467,
-                        55.272476
-                    ],
-                    [
-                        12.2115654,
-                        55.2741475
-                    ],
-                    [
-                        12.2130078,
-                        55.2920322
-                    ],
-                    [
-                        12.1815665,
-                        55.2928638
-                    ],
-                    [
-                        12.183141,
-                        55.3107091
-                    ],
-                    [
-                        12.2144897,
-                        55.3100981
-                    ],
-                    [
-                        12.2159927,
-                        55.3279764
-                    ],
-                    [
-                        12.1214458,
-                        55.3303379
-                    ],
-                    [
-                        12.1229489,
-                        55.3483291
-                    ]
-                ]
-            ],
-            "terms_text": "Stevns Kommune"
-        },
-        {
-            "name": "Surrey Air Survey",
-            "type": "tms",
-            "template": "http://gravitystorm.dev.openstreetmap.org/surrey/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                8,
-                19
-            ],
-            "polygon": [
-                [
-                    [
-                        -0.752478,
-                        51.0821941
-                    ],
-                    [
-                        -0.7595183,
-                        51.0856254
-                    ],
-                    [
-                        -0.8014342,
-                        51.1457917
-                    ],
-                    [
-                        -0.8398864,
-                        51.1440686
-                    ],
-                    [
-                        -0.8357665,
-                        51.1802397
-                    ],
-                    [
-                        -0.8529549,
-                        51.2011266
-                    ],
-                    [
-                        -0.8522683,
-                        51.2096231
-                    ],
-                    [
-                        -0.8495217,
-                        51.217903
-                    ],
-                    [
-                        -0.8266907,
-                        51.2403696
-                    ],
-                    [
-                        -0.8120995,
-                        51.2469248
-                    ],
-                    [
-                        -0.7736474,
-                        51.2459577
-                    ],
-                    [
-                        -0.7544213,
-                        51.2381127
-                    ],
-                    [
-                        -0.754078,
-                        51.233921
-                    ],
-                    [
-                        -0.7446366,
-                        51.2333836
-                    ],
-                    [
-                        -0.7430693,
-                        51.2847178
-                    ],
-                    [
-                        -0.751503,
-                        51.3069524
-                    ],
-                    [
-                        -0.7664376,
-                        51.3121032
-                    ],
-                    [
-                        -0.7820588,
-                        51.3270157
-                    ],
-                    [
-                        -0.7815438,
-                        51.3388135
-                    ],
-                    [
-                        -0.7374268,
-                        51.3720456
-                    ],
-                    [
-                        -0.7192307,
-                        51.3769748
-                    ],
-                    [
-                        -0.6795769,
-                        51.3847961
-                    ],
-                    [
-                        -0.6807786,
-                        51.3901523
-                    ],
-                    [
-                        -0.6531411,
-                        51.3917591
-                    ],
-                    [
-                        -0.6301385,
-                        51.3905808
-                    ],
-                    [
-                        -0.6291085,
-                        51.3970074
-                    ],
-                    [
-                        -0.6234437,
-                        51.3977572
-                    ],
-                    [
-                        -0.613144,
-                        51.4295552
-                    ],
-                    [
-                        -0.6002471,
-                        51.4459121
-                    ],
-                    [
-                        -0.5867081,
-                        51.4445365
-                    ],
-                    [
-                        -0.5762368,
-                        51.453202
-                    ],
-                    [
-                        -0.5626755,
-                        51.4523462
-                    ],
-                    [
-                        -0.547741,
-                        51.4469972
-                    ],
-                    [
-                        -0.5372697,
-                        51.4448575
-                    ],
-                    [
-                        -0.537098,
-                        51.4526671
-                    ],
-                    [
-                        -0.5439644,
-                        51.4545926
-                    ],
-                    [
-                        -0.5405312,
-                        51.4698865
-                    ],
-                    [
-                        -0.5309182,
-                        51.4760881
-                    ],
-                    [
-                        -0.5091172,
-                        51.4744843
-                    ],
-                    [
-                        -0.5086022,
-                        51.4695657
-                    ],
-                    [
-                        -0.4900628,
-                        51.4682825
-                    ],
-                    [
-                        -0.4526406,
-                        51.4606894
-                    ],
-                    [
-                        -0.4486924,
-                        51.4429316
-                    ],
-                    [
-                        -0.4414826,
-                        51.4418616
-                    ],
-                    [
-                        -0.4418259,
-                        51.4369394
-                    ],
-                    [
-                        -0.4112702,
-                        51.4380095
-                    ],
-                    [
-                        -0.4014855,
-                        51.4279498
-                    ],
-                    [
-                        -0.3807145,
-                        51.4262372
-                    ],
-                    [
-                        -0.3805428,
-                        51.4161749
-                    ],
-                    [
-                        -0.3491288,
-                        51.4138195
-                    ],
-                    [
-                        -0.3274994,
-                        51.4037544
-                    ],
-                    [
-                        -0.3039818,
-                        51.3990424
-                    ],
-                    [
-                        -0.3019219,
-                        51.3754747
-                    ],
-                    [
-                        -0.309475,
-                        51.369688
-                    ],
-                    [
-                        -0.3111916,
-                        51.3529669
-                    ],
-                    [
-                        -0.2955704,
-                        51.3541462
-                    ],
-                    [
-                        -0.2923089,
-                        51.3673303
-                    ],
-                    [
-                        -0.2850991,
-                        51.3680805
-                    ],
-                    [
-                        -0.2787476,
-                        51.3771891
-                    ],
-                    [
-                        -0.2655297,
-                        51.3837247
-                    ],
-                    [
-                        -0.2411538,
-                        51.3847961
-                    ],
-                    [
-                        -0.2123147,
-                        51.3628288
-                    ],
-                    [
-                        -0.2107697,
-                        51.3498578
-                    ],
-                    [
-                        -0.190857,
-                        51.3502867
-                    ],
-                    [
-                        -0.1542931,
-                        51.3338802
-                    ],
-                    [
-                        -0.1496583,
-                        51.3057719
-                    ],
-                    [
-                        -0.1074296,
-                        51.2966491
-                    ],
-                    [
-                        -0.0887185,
-                        51.3099571
-                    ],
-                    [
-                        -0.0878602,
-                        51.3220811
-                    ],
-                    [
-                        -0.0652009,
-                        51.3215448
-                    ],
-                    [
-                        -0.0641709,
-                        51.3264793
-                    ],
-                    [
-                        -0.0519829,
-                        51.3263721
-                    ],
-                    [
-                        -0.0528412,
-                        51.334631
-                    ],
-                    [
-                        -0.0330779,
-                        51.3430876
-                    ],
-                    [
-                        0.0019187,
-                        51.3376339
-                    ],
-                    [
-                        0.0118751,
-                        51.3281956
-                    ],
-                    [
-                        0.013935,
-                        51.2994398
-                    ],
-                    [
-                        0.0202865,
-                        51.2994398
-                    ],
-                    [
-                        0.0240631,
-                        51.3072743
-                    ],
-                    [
-                        0.0331611,
-                        51.3086694
-                    ],
-                    [
-                        0.0455207,
-                        51.30545
-                    ],
-                    [
-                        0.0523872,
-                        51.2877392
-                    ],
-                    [
-                        0.0616569,
-                        51.2577764
-                    ],
-                    [
-                        0.0640602,
-                        51.2415518
-                    ],
-                    [
-                        0.0462074,
-                        51.2126342
-                    ],
-                    [
-                        0.0407142,
-                        51.2109136
-                    ],
-                    [
-                        0.0448341,
-                        51.1989753
-                    ],
-                    [
-                        0.0494689,
-                        51.1997283
-                    ],
-                    [
-                        0.0558204,
-                        51.1944573
-                    ],
-                    [
-                        0.0611419,
-                        51.1790713
-                    ],
-                    [
-                        0.0623435,
-                        51.1542061
-                    ],
-                    [
-                        0.0577087,
-                        51.1417146
-                    ],
-                    [
-                        0.0204582,
-                        51.1365447
-                    ],
-                    [
-                        -0.0446015,
-                        51.1336364
-                    ],
-                    [
-                        -0.1566964,
-                        51.1352522
-                    ],
-                    [
-                        -0.1572114,
-                        51.1290043
-                    ],
-                    [
-                        -0.2287942,
-                        51.1183379
-                    ],
-                    [
-                        -0.2473336,
-                        51.1183379
-                    ],
-                    [
-                        -0.2500802,
-                        51.1211394
-                    ],
-                    [
-                        -0.299347,
-                        51.1137042
-                    ],
-                    [
-                        -0.3221779,
-                        51.1119799
-                    ],
-                    [
-                        -0.3223496,
-                        51.1058367
-                    ],
-                    [
-                        -0.3596001,
-                        51.1019563
-                    ],
-                    [
-                        -0.3589135,
-                        51.1113333
-                    ],
-                    [
-                        -0.3863793,
-                        51.1117644
-                    ],
-                    [
-                        -0.3869014,
-                        51.1062516
-                    ],
-                    [
-                        -0.4281001,
-                        51.0947174
-                    ],
-                    [
-                        -0.4856784,
-                        51.0951554
-                    ],
-                    [
-                        -0.487135,
-                        51.0872266
-                    ],
-                    [
-                        -0.5297404,
-                        51.0865404
-                    ],
-                    [
-                        -0.5302259,
-                        51.0789914
-                    ],
-                    [
-                        -0.61046,
-                        51.076551
-                    ],
-                    [
-                        -0.6099745,
-                        51.080669
-                    ],
-                    [
-                        -0.6577994,
-                        51.0792202
-                    ],
-                    [
-                        -0.6582849,
-                        51.0743394
-                    ],
-                    [
-                        -0.6836539,
-                        51.0707547
-                    ],
-                    [
-                        -0.6997979,
-                        51.070831
-                    ],
-                    [
-                        -0.7296581,
-                        51.0744919
-                    ]
-                ]
-            ]
-        },
-        {
-            "name": "Toulouse - Orthophotoplan 2007",
-            "type": "tms",
-            "template": "http://wms.openstreetmap.fr/tms/1.0.0/toulouse_ortho2007/{zoom}/{x}/{y}",
-            "scaleExtent": [
-                0,
-                22
-            ],
-            "polygon": [
-                [
-                    [
-                        1.1919978,
-                        43.6328791
-                    ],
-                    [
-                        1.2015377,
-                        43.6329729
-                    ],
-                    [
-                        1.2011107,
-                        43.6554932
-                    ],
-                    [
-                        1.2227985,
-                        43.6557029
-                    ],
-                    [
-                        1.2226231,
-                        43.6653353
-                    ],
-                    [
-                        1.2275341,
-                        43.6653849
-                    ],
-                    [
-                        1.2275417,
-                        43.6656387
-                    ],
-                    [
-                        1.2337568,
-                        43.6656883
-                    ],
-                    [
-                        1.2337644,
-                        43.6650153
-                    ],
-                    [
-                        1.2351218,
-                        43.6650319
-                    ],
-                    [
-                        1.2350913,
-                        43.6670729
-                    ],
-                    [
-                        1.2443566,
-                        43.6671556
-                    ],
-                    [
-                        1.2441584,
-                        43.6743925
-                    ],
-                    [
-                        1.2493973,
-                        43.6744256
-                    ],
-                    [
-                        1.2493973,
-                        43.6746628
-                    ],
-                    [
-                        1.2555666,
-                        43.6747234
-                    ],
-                    [
-                        1.2555742,
-                        43.6744532
-                    ],
-                    [
-                        1.2569545,
-                        43.6744697
-                    ],
-                    [
-                        1.2568782,
-                        43.678529
-                    ],
-                    [
-                        1.2874873,
-                        43.6788257
-                    ],
-                    [
-                        1.2870803,
-                        43.7013229
-                    ],
-                    [
-                        1.3088219,
-                        43.7014632
-                    ],
-                    [
-                        1.3086493,
-                        43.7127673
-                    ],
-                    [
-                        1.3303262,
-                        43.7129544
-                    ],
-                    [
-                        1.3300242,
-                        43.7305221
-                    ],
-                    [
-                        1.3367106,
-                        43.7305845
-                    ],
-                    [
-                        1.3367322,
-                        43.7312235
-                    ],
-                    [
-                        1.3734338,
-                        43.7310456
-                    ],
-                    [
-                        1.3735848,
-                        43.7245772
-                    ],
-                    [
-                        1.4604504,
-                        43.7252947
-                    ],
-                    [
-                        1.4607783,
-                        43.7028034
-                    ],
-                    [
-                        1.4824875,
-                        43.7029516
-                    ],
-                    [
-                        1.4829828,
-                        43.6692071
-                    ],
-                    [
-                        1.5046832,
-                        43.6693616
-                    ],
-                    [
-                        1.5048383,
-                        43.6581174
-                    ],
-                    [
-                        1.5265475,
-                        43.6582656
-                    ],
-                    [
-                        1.5266945,
-                        43.6470298
-                    ],
-                    [
-                        1.548368,
-                        43.6471633
-                    ],
-                    [
-                        1.5485357,
-                        43.6359385
-                    ],
-                    [
-                        1.5702172,
-                        43.636082
-                    ],
-                    [
-                        1.5705123,
-                        43.6135777
-                    ],
-                    [
-                        1.5488166,
-                        43.6134276
-                    ],
-                    [
-                        1.549097,
-                        43.5909479
-                    ],
-                    [
-                        1.5707695,
-                        43.5910694
-                    ],
-                    [
-                        1.5709373,
-                        43.5798341
-                    ],
-                    [
-                        1.5793714,
-                        43.5798894
-                    ],
-                    [
-                        1.5794782,
-                        43.5737682
-                    ],
-                    [
-                        1.5809119,
-                        43.5737792
-                    ],
-                    [
-                        1.5810859,
-                        43.5573794
-                    ],
-                    [
-                        1.5712334,
-                        43.5573131
-                    ],
-                    [
-                        1.5716504,
-                        43.5235497
-                    ],
-                    [
-                        1.3984804,
-                        43.5222618
-                    ],
-                    [
-                        1.3986509,
-                        43.5110113
-                    ],
-                    [
-                        1.3120959,
-                        43.5102543
-                    ],
-                    [
-                        1.3118968,
-                        43.5215192
-                    ],
-                    [
-                        1.2902569,
-                        43.5213126
-                    ],
-                    [
-                        1.2898637,
-                        43.5438168
-                    ],
-                    [
-                        1.311517,
-                        43.5440133
-                    ],
-                    [
-                        1.3113271,
-                        43.5552596
-                    ],
-                    [
-                        1.3036924,
-                        43.5551924
-                    ],
-                    [
-                        1.3036117,
-                        43.5595099
-                    ],
-                    [
-                        1.2955449,
-                        43.5594317
-                    ],
-                    [
-                        1.2955449,
-                        43.5595489
-                    ],
-                    [
-                        1.2895595,
-                        43.5594473
-                    ],
-                    [
-                        1.2892899,
-                        43.5775366
-                    ],
-                    [
-                        1.2675698,
-                        43.5773647
-                    ],
-                    [
-                        1.2673973,
-                        43.5886141
-                    ],
-                    [
-                        1.25355,
-                        43.5885047
-                    ],
-                    [
-                        1.2533774,
-                        43.5956282
-                    ],
-                    [
-                        1.2518029,
-                        43.5956282
-                    ],
-                    [
-                        1.2518029,
-                        43.5949409
-                    ],
-                    [
-                        1.2350437,
-                        43.5947847
-                    ],
-                    [
-                        1.2350437,
-                        43.5945972
-                    ],
-                    [
-                        1.2239572,
-                        43.5945972
-                    ],
-                    [
-                        1.2239357,
-                        43.5994708
-                    ],
-                    [
-                        1.2139708,
-                        43.599299
-                    ],
-                    [
-                        1.2138845,
-                        43.6046408
-                    ],
-                    [
-                        1.2020647,
-                        43.6044846
-                    ],
-                    [
-                        1.2019464,
-                        43.61048
-                    ],
-                    [
-                        1.1924294,
-                        43.6103695
-                    ]
-                ]
-            ],
-            "terms_url": "https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",
-            "terms_text": "ToulouseMetropole"
-        },
-        {
-            "name": "Toulouse - Orthophotoplan 2011",
-            "type": "tms",
-            "template": "http://wms.openstreetmap.fr/tms/1.0.0/toulouse_ortho2011/{zoom}/{x}/{y}",
-            "scaleExtent": [
-                0,
-                22
-            ],
-            "polygon": [
-                [
-                    [
-                        1.1135067,
-                        43.6867566
-                    ],
-                    [
-                        1.1351836,
-                        43.6870842
-                    ],
-                    [
-                        1.1348907,
-                        43.6983471
-                    ],
-                    [
-                        1.1782867,
-                        43.6990338
-                    ],
-                    [
-                        1.1779903,
-                        43.7102786
-                    ],
-                    [
-                        1.1996591,
-                        43.7106144
-                    ],
-                    [
-                        1.1993387,
-                        43.7218722
-                    ],
-                    [
-                        1.2427356,
-                        43.7225269
-                    ],
-                    [
-                        1.2424336,
-                        43.7337491
-                    ],
-                    [
-                        1.2641536,
-                        43.734092
-                    ],
-                    [
-                        1.2638301,
-                        43.7453588
-                    ],
-                    [
-                        1.2855285,
-                        43.7456548
-                    ],
-                    [
-                        1.2852481,
-                        43.756935
-                    ],
-                    [
-                        1.306925,
-                        43.757231
-                    ],
-                    [
-                        1.3066446,
-                        43.7684779
-                    ],
-                    [
-                        1.3283431,
-                        43.7687894
-                    ],
-                    [
-                        1.3280842,
-                        43.780034
-                    ],
-                    [
-                        1.4367275,
-                        43.7815757
-                    ],
-                    [
-                        1.4373098,
-                        43.7591004
-                    ],
-                    [
-                        1.4590083,
-                        43.7593653
-                    ],
-                    [
-                        1.4593318,
-                        43.7481479
-                    ],
-                    [
-                        1.4810303,
-                        43.7483972
-                    ],
-                    [
-                        1.4813322,
-                        43.7371777
-                    ],
-                    [
-                        1.5030307,
-                        43.7374115
-                    ],
-                    [
-                        1.5035915,
-                        43.7149664
-                    ],
-                    [
-                        1.5253115,
-                        43.7151846
-                    ],
-                    [
-                        1.5256135,
-                        43.7040057
-                    ],
-                    [
-                        1.5472688,
-                        43.7042552
-                    ],
-                    [
-                        1.5475708,
-                        43.6930431
-                    ],
-                    [
-                        1.5692045,
-                        43.6932926
-                    ],
-                    [
-                        1.5695712,
-                        43.6820316
-                    ],
-                    [
-                        1.5912049,
-                        43.6822656
-                    ],
-                    [
-                        1.5917441,
-                        43.6597998
-                    ],
-                    [
-                        1.613421,
-                        43.6600339
-                    ],
-                    [
-                        1.613723,
-                        43.6488291
-                    ],
-                    [
-                        1.6353783,
-                        43.6490788
-                    ],
-                    [
-                        1.6384146,
-                        43.5140731
-                    ],
-                    [
-                        1.2921649,
-                        43.5094658
-                    ],
-                    [
-                        1.2918629,
-                        43.5206966
-                    ],
-                    [
-                        1.2702076,
-                        43.5203994
-                    ],
-                    [
-                        1.2698841,
-                        43.5316437
-                    ],
-                    [
-                        1.2482288,
-                        43.531331
-                    ],
-                    [
-                        1.2476048,
-                        43.5537788
-                    ],
-                    [
-                        1.2259628,
-                        43.5534914
-                    ],
-                    [
-                        1.2256819,
-                        43.564716
-                    ],
-                    [
-                        1.2039835,
-                        43.564419
-                    ],
-                    [
-                        1.2033148,
-                        43.5869049
-                    ],
-                    [
-                        1.1816164,
-                        43.5865611
-                    ],
-                    [
-                        1.1810237,
-                        43.6090368
-                    ],
-                    [
-                        1.1592821,
-                        43.6086932
-                    ],
-                    [
-                        1.1589585,
-                        43.6199523
-                    ],
-                    [
-                        1.1372601,
-                        43.6196244
-                    ],
-                    [
-                        1.1365933,
-                        43.642094
-                    ],
-                    [
-                        1.1149055,
-                        43.6417629
-                    ]
-                ]
-            ],
-            "terms_url": "https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",
-            "terms_text": "ToulouseMetropole"
-        },
-        {
-            "name": "Tours - Orthophotos 2008",
-            "type": "tms",
-            "template": "http://tms.mapspot.ge/tms/2/nonstandard/{zoom}/{x}/{y}.jpeg",
-            "polygon": [
-                [
-                    [
-                        0.5457462,
-                        47.465264
-                    ],
-                    [
-                        0.54585,
-                        47.4608163
-                    ],
-                    [
-                        0.5392188,
-                        47.4606983
-                    ],
-                    [
-                        0.5393484,
-                        47.456243
-                    ],
-                    [
-                        0.5327959,
-                        47.4561003
-                    ],
-                    [
-                        0.5329011,
-                        47.451565
-                    ],
-                    [
-                        0.52619,
-                        47.4514013
-                    ],
-                    [
-                        0.5265854,
-                        47.4424884
-                    ],
-                    [
-                        0.5000941,
-                        47.4420739
-                    ],
-                    [
-                        0.5002357,
-                        47.4375835
-                    ],
-                    [
-                        0.4936014,
-                        47.4374324
-                    ],
-                    [
-                        0.4937,
-                        47.4329285
-                    ],
-                    [
-                        0.4606141,
-                        47.4324593
-                    ],
-                    [
-                        0.4607248,
-                        47.4279827
-                    ],
-                    [
-                        0.4541016,
-                        47.4278125
-                    ],
-                    [
-                        0.454932,
-                        47.4053921
-                    ],
-                    [
-                        0.4615431,
-                        47.4054476
-                    ],
-                    [
-                        0.4619097,
-                        47.3964924
-                    ],
-                    [
-                        0.4684346,
-                        47.3966005
-                    ],
-                    [
-                        0.4691319,
-                        47.3786415
-                    ],
-                    [
-                        0.4757125,
-                        47.3787609
-                    ],
-                    [
-                        0.4762116,
-                        47.3652018
-                    ],
-                    [
-                        0.4828297,
-                        47.3653499
-                    ],
-                    [
-                        0.4832223,
-                        47.3518574
-                    ],
-                    [
-                        0.5097927,
-                        47.3522592
-                    ],
-                    [
-                        0.5095688,
-                        47.3567713
-                    ],
-                    [
-                        0.5227698,
-                        47.3569785
-                    ],
-                    [
-                        0.5226429,
-                        47.3614867
-                    ],
-                    [
-                        0.5490721,
-                        47.3618878
-                    ],
-                    [
-                        0.5489087,
-                        47.3663307
-                    ],
-                    [
-                        0.5555159,
-                        47.3664985
-                    ],
-                    [
-                        0.5559105,
-                        47.3575522
-                    ],
-                    [
-                        0.6152789,
-                        47.358407
-                    ],
-                    [
-                        0.6152963,
-                        47.362893
-                    ],
-                    [
-                        0.6285093,
-                        47.3630936
-                    ],
-                    [
-                        0.6288256,
-                        47.353987
-                    ],
-                    [
-                        0.6155012,
-                        47.3538823
-                    ],
-                    [
-                        0.6157682,
-                        47.3493424
-                    ],
-                    [
-                        0.6090956,
-                        47.3492991
-                    ],
-                    [
-                        0.6094735,
-                        47.3402962
-                    ],
-                    [
-                        0.6160477,
-                        47.3404448
-                    ],
-                    [
-                        0.616083,
-                        47.3369074
-                    ],
-                    [
-                        0.77497,
-                        47.3388218
-                    ],
-                    [
-                        0.7745786,
-                        47.351628
-                    ],
-                    [
-                        0.7680363,
-                        47.3515901
-                    ],
-                    [
-                        0.767589,
-                        47.3605298
-                    ],
-                    [
-                        0.7742443,
-                        47.3606238
-                    ],
-                    [
-                        0.7733465,
-                        47.3921266
-                    ],
-                    [
-                        0.7667434,
-                        47.3920195
-                    ],
-                    [
-                        0.7664411,
-                        47.4010837
-                    ],
-                    [
-                        0.7730647,
-                        47.4011115
-                    ],
-                    [
-                        0.7728868,
-                        47.4101297
-                    ],
-                    [
-                        0.7661849,
-                        47.4100226
-                    ],
-                    [
-                        0.7660267,
-                        47.4145044
-                    ],
-                    [
-                        0.7527613,
-                        47.4143038
-                    ],
-                    [
-                        0.7529788,
-                        47.4098086
-                    ],
-                    [
-                        0.7462373,
-                        47.4097016
-                    ],
-                    [
-                        0.7459424,
-                        47.4232208
-                    ],
-                    [
-                        0.7392324,
-                        47.4231451
-                    ],
-                    [
-                        0.738869,
-                        47.4366116
-                    ],
-                    [
-                        0.7323267,
-                        47.4365171
-                    ],
-                    [
-                        0.7321869,
-                        47.4410556
-                    ],
-                    [
-                        0.7255048,
-                        47.44098
-                    ],
-                    [
-                        0.7254209,
-                        47.4453479
-                    ],
-                    [
-                        0.7318793,
-                        47.4454803
-                    ],
-                    [
-                        0.7318514,
-                        47.4501126
-                    ],
-                    [
-                        0.7384496,
-                        47.450226
-                    ],
-                    [
-                        0.7383098,
-                        47.454631
-                    ],
-                    [
-                        0.7449359,
-                        47.4547444
-                    ],
-                    [
-                        0.7443209,
-                        47.4771985
-                    ],
-                    [
-                        0.7310685,
-                        47.4769717
-                    ],
-                    [
-                        0.7309008,
-                        47.4815445
-                    ],
-                    [
-                        0.7176205,
-                        47.4812611
-                    ],
-                    [
-                        0.7177883,
-                        47.4768394
-                    ],
-                    [
-                        0.69777,
-                        47.4764993
-                    ],
-                    [
-                        0.6980496,
-                        47.4719827
-                    ],
-                    [
-                        0.6914514,
-                        47.4718882
-                    ],
-                    [
-                        0.6917309,
-                        47.4630241
-                    ],
-                    [
-                        0.6851048,
-                        47.4629295
-                    ],
-                    [
-                        0.684937,
-                        47.4673524
-                    ],
-                    [
-                        0.678255,
-                        47.4673335
-                    ],
-                    [
-                        0.6779754,
-                        47.4762158
-                    ],
-                    [
-                        0.6714051,
-                        47.4761592
-                    ],
-                    [
-                        0.6710417,
-                        47.4881952
-                    ],
-                    [
-                        0.6577334,
-                        47.4879685
-                    ],
-                    [
-                        0.6578173,
-                        47.48504
-                    ],
-                    [
-                        0.6511911,
-                        47.4848322
-                    ],
-                    [
-                        0.6514707,
-                        47.4758568
-                    ],
-                    [
-                        0.6448166,
-                        47.4757245
-                    ],
-                    [
-                        0.6449284,
-                        47.4712646
-                    ],
-                    [
-                        0.6117976,
-                        47.4707543
-                    ],
-                    [
-                        0.6118815,
-                        47.4663129
-                    ],
-                    [
-                        0.6052833,
-                        47.4661239
-                    ],
-                    [
-                        0.6054231,
-                        47.4616631
-                    ],
-                    [
-                        0.5988808,
-                        47.4615497
-                    ],
-                    [
-                        0.5990206,
-                        47.4570886
-                    ],
-                    [
-                        0.572488,
-                        47.4566916
-                    ],
-                    [
-                        0.5721805,
-                        47.4656513
-                    ]
-                ]
-            ],
-            "terms_url": "http://wiki.openstreetmap.org/wiki/Tours/Orthophoto",
-            "terms_text": "Orthophoto Tour(s) Plus 2008"
-        },
-        {
-            "name": "Tours - Orthophotos 2008-2010",
-            "type": "tms",
-            "template": "http://wms.openstreetmap.fr/tms/1.0.0/tours/{zoom}/{x}/{y}",
-            "scaleExtent": [
-                0,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        0.5457462,
-                        47.465264
-                    ],
-                    [
-                        0.54585,
-                        47.4608163
-                    ],
-                    [
-                        0.5392188,
-                        47.4606983
-                    ],
-                    [
-                        0.5393484,
-                        47.456243
-                    ],
-                    [
-                        0.5327959,
-                        47.4561003
-                    ],
-                    [
-                        0.5329011,
-                        47.451565
-                    ],
-                    [
-                        0.52619,
-                        47.4514013
-                    ],
-                    [
-                        0.5265854,
-                        47.4424884
-                    ],
-                    [
-                        0.5000941,
-                        47.4420739
-                    ],
-                    [
-                        0.5002357,
-                        47.4375835
-                    ],
-                    [
-                        0.4936014,
-                        47.4374324
-                    ],
-                    [
-                        0.4937,
-                        47.4329285
-                    ],
-                    [
-                        0.4606141,
-                        47.4324593
-                    ],
-                    [
-                        0.4607248,
-                        47.4279827
-                    ],
-                    [
-                        0.4541016,
-                        47.4278125
-                    ],
-                    [
-                        0.454932,
-                        47.4053921
-                    ],
-                    [
-                        0.4615431,
-                        47.4054476
-                    ],
-                    [
-                        0.4619097,
-                        47.3964924
-                    ],
-                    [
-                        0.4684346,
-                        47.3966005
-                    ],
-                    [
-                        0.4691319,
-                        47.3786415
-                    ],
-                    [
-                        0.4757125,
-                        47.3787609
-                    ],
-                    [
-                        0.4762116,
-                        47.3652018
-                    ],
-                    [
-                        0.4828297,
-                        47.3653499
-                    ],
-                    [
-                        0.4829611,
-                        47.3608321
-                    ],
-                    [
-                        0.4763543,
-                        47.360743
-                    ],
-                    [
-                        0.476654,
-                        47.3517263
-                    ],
-                    [
-                        0.4700497,
-                        47.3516186
-                    ],
-                    [
-                        0.4701971,
-                        47.3471313
-                    ],
-                    [
-                        0.4637503,
-                        47.3470104
-                    ],
-                    [
-                        0.4571425,
-                        47.3424146
-                    ],
-                    [
-                        0.4572922,
-                        47.3379061
-                    ],
-                    [
-                        0.4506741,
-                        47.3378081
-                    ],
-                    [
-                        0.4508379,
-                        47.3333051
-                    ],
-                    [
-                        0.4442212,
-                        47.3332032
-                    ],
-                    [
-                        0.4443809,
-                        47.328711
-                    ],
-                    [
-                        0.4311392,
-                        47.3284977
-                    ],
-                    [
-                        0.4316262,
-                        47.3150004
-                    ],
-                    [
-                        0.4382432,
-                        47.3151136
-                    ],
-                    [
-                        0.4383815,
-                        47.3106174
-                    ],
-                    [
-                        0.4714487,
-                        47.3111374
-                    ],
-                    [
-                        0.4713096,
-                        47.3156565
-                    ],
-                    [
-                        0.477888,
-                        47.3157542
-                    ],
-                    [
-                        0.4780733,
-                        47.3112802
-                    ],
-                    [
-                        0.4846826,
-                        47.3113639
-                    ],
-                    [
-                        0.4848576,
-                        47.3068686
-                    ],
-                    [
-                        0.4914359,
-                        47.3069803
-                    ],
-                    [
-                        0.491745,
-                        47.2979733
-                    ],
-                    [
-                        0.4851578,
-                        47.2978722
-                    ],
-                    [
-                        0.4854269,
-                        47.2888744
-                    ],
-                    [
-                        0.4788485,
-                        47.2887697
-                    ],
-                    [
-                        0.4791574,
-                        47.2797818
-                    ],
-                    [
-                        0.4857769,
-                        47.2799005
-                    ],
-                    [
-                        0.4859107,
-                        47.2753885
-                    ],
-                    [
-                        0.492539,
-                        47.2755029
-                    ],
-                    [
-                        0.4926669,
-                        47.2710127
-                    ],
-                    [
-                        0.4992986,
-                        47.2711066
-                    ],
-                    [
-                        0.4994296,
-                        47.2666116
-                    ],
-                    [
-                        0.5192658,
-                        47.2669245
-                    ],
-                    [
-                        0.5194225,
-                        47.2624231
-                    ],
-                    [
-                        0.5260186,
-                        47.2625205
-                    ],
-                    [
-                        0.5258735,
-                        47.2670183
-                    ],
-                    [
-                        0.5456972,
-                        47.2673383
-                    ],
-                    [
-                        0.5455537,
-                        47.2718283
-                    ],
-                    [
-                        0.5587737,
-                        47.2720366
-                    ],
-                    [
-                        0.5586259,
-                        47.2765185
-                    ],
-                    [
-                        0.5652252,
-                        47.2766278
-                    ],
-                    [
-                        0.5650848,
-                        47.2811206
-                    ],
-                    [
-                        0.5716753,
-                        47.2812285
-                    ],
-                    [
-                        0.5715223,
-                        47.2857217
-                    ],
-                    [
-                        0.5781436,
-                        47.2858299
-                    ],
-                    [
-                        0.5779914,
-                        47.2903294
-                    ],
-                    [
-                        0.5846023,
-                        47.2904263
-                    ],
-                    [
-                        0.5843076,
-                        47.2994231
-                    ],
-                    [
-                        0.597499,
-                        47.2996094
-                    ],
-                    [
-                        0.5976637,
-                        47.2951375
-                    ],
-                    [
-                        0.6571596,
-                        47.2960036
-                    ],
-                    [
-                        0.6572988,
-                        47.2915091
-                    ],
-                    [
-                        0.6705019,
-                        47.2917186
-                    ],
-                    [
-                        0.6703475,
-                        47.2962082
-                    ],
-                    [
-                        0.6836175,
-                        47.2963688
-                    ],
-                    [
-                        0.6834322,
-                        47.3008929
-                    ],
-                    [
-                        0.690062,
-                        47.3009558
-                    ],
-                    [
-                        0.6899241,
-                        47.3054703
-                    ],
-                    [
-                        0.7362019,
-                        47.3061157
-                    ],
-                    [
-                        0.7360848,
-                        47.3106063
-                    ],
-                    [
-                        0.7559022,
-                        47.3108935
-                    ],
-                    [
-                        0.7557718,
-                        47.315392
-                    ],
-                    [
-                        0.7623755,
-                        47.3154716
-                    ],
-                    [
-                        0.7622314,
-                        47.3199941
-                    ],
-                    [
-                        0.7754911,
-                        47.3201546
-                    ],
-                    [
-                        0.77497,
-                        47.3388218
-                    ],
-                    [
-                        0.7745786,
-                        47.351628
-                    ],
-                    [
-                        0.7680363,
-                        47.3515901
-                    ],
-                    [
-                        0.767589,
-                        47.3605298
-                    ],
-                    [
-                        0.7742443,
-                        47.3606238
-                    ],
-                    [
-                        0.7733465,
-                        47.3921266
-                    ],
-                    [
-                        0.7667434,
-                        47.3920195
-                    ],
-                    [
-                        0.7664411,
-                        47.4010837
-                    ],
-                    [
-                        0.7730647,
-                        47.4011115
-                    ],
-                    [
-                        0.7728868,
-                        47.4101297
-                    ],
-                    [
-                        0.7661849,
-                        47.4100226
-                    ],
-                    [
-                        0.7660267,
-                        47.4145044
-                    ],
-                    [
-                        0.7527613,
-                        47.4143038
-                    ],
-                    [
-                        0.7529788,
-                        47.4098086
-                    ],
-                    [
-                        0.7462373,
-                        47.4097016
-                    ],
-                    [
-                        0.7459424,
-                        47.4232208
-                    ],
-                    [
-                        0.7392324,
-                        47.4231451
-                    ],
-                    [
-                        0.738869,
-                        47.4366116
-                    ],
-                    [
-                        0.7323267,
-                        47.4365171
-                    ],
-                    [
-                        0.7321869,
-                        47.4410556
-                    ],
-                    [
-                        0.7255048,
-                        47.44098
-                    ],
-                    [
-                        0.7254209,
-                        47.4453479
-                    ],
-                    [
-                        0.7318793,
-                        47.4454803
-                    ],
-                    [
-                        0.7318514,
-                        47.4501126
-                    ],
-                    [
-                        0.7384496,
-                        47.450226
-                    ],
-                    [
-                        0.7383098,
-                        47.454631
-                    ],
-                    [
-                        0.7449359,
-                        47.4547444
-                    ],
-                    [
-                        0.7443209,
-                        47.4771985
-                    ],
-                    [
-                        0.7310685,
-                        47.4769717
-                    ],
-                    [
-                        0.7309008,
-                        47.4815445
-                    ],
-                    [
-                        0.7176205,
-                        47.4812611
-                    ],
-                    [
-                        0.7177883,
-                        47.4768394
-                    ],
-                    [
-                        0.69777,
-                        47.4764993
-                    ],
-                    [
-                        0.6980496,
-                        47.4719827
-                    ],
-                    [
-                        0.6914514,
-                        47.4718882
-                    ],
-                    [
-                        0.6917309,
-                        47.4630241
-                    ],
-                    [
-                        0.6851048,
-                        47.4629295
-                    ],
-                    [
-                        0.684937,
-                        47.4673524
-                    ],
-                    [
-                        0.678255,
-                        47.4673335
-                    ],
-                    [
-                        0.6779754,
-                        47.4762158
-                    ],
-                    [
-                        0.6714051,
-                        47.4761592
-                    ],
-                    [
-                        0.6710417,
-                        47.4881952
-                    ],
-                    [
-                        0.6577334,
-                        47.4879685
-                    ],
-                    [
-                        0.6578173,
-                        47.48504
-                    ],
-                    [
-                        0.6511911,
-                        47.4848322
-                    ],
-                    [
-                        0.6514707,
-                        47.4758568
-                    ],
-                    [
-                        0.6448166,
-                        47.4757245
-                    ],
-                    [
-                        0.6449284,
-                        47.4712646
-                    ],
-                    [
-                        0.6117976,
-                        47.4707543
-                    ],
-                    [
-                        0.6118815,
-                        47.4663129
-                    ],
-                    [
-                        0.6052833,
-                        47.4661239
-                    ],
-                    [
-                        0.6054231,
-                        47.4616631
-                    ],
-                    [
-                        0.5988808,
-                        47.4615497
-                    ],
-                    [
-                        0.5990206,
-                        47.4570886
-                    ],
-                    [
-                        0.572488,
-                        47.4566916
-                    ],
-                    [
-                        0.5721805,
-                        47.4656513
-                    ]
-                ]
-            ],
-            "terms_url": "http://wiki.openstreetmap.org/wiki/Tours/Orthophoto",
-            "terms_text": "Orthophoto Tour(s) Plus 2008"
-        },
-        {
-            "name": "USGS Large Scale Imagery",
-            "type": "tms",
-            "template": "http://{switch:a,b,c}.tile.openstreetmap.us/usgs_large_scale/{zoom}/{x}/{y}.jpg",
-            "scaleExtent": [
-                12,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        -123.2549305,
-                        48.7529029
-                    ],
-                    [
-                        -123.2549305,
-                        48.5592263
-                    ],
-                    [
-                        -123.192224,
-                        48.5592263
-                    ],
-                    [
-                        -123.192224,
-                        48.4348366
-                    ],
-                    [
-                        -122.9419646,
-                        48.4348366
-                    ],
-                    [
-                        -122.9419646,
-                        48.3720812
-                    ],
-                    [
-                        -122.8806229,
-                        48.3720812
-                    ],
-                    [
-                        -122.8806229,
-                        48.3094763
-                    ],
-                    [
-                        -122.8167566,
-                        48.3094763
-                    ],
-                    [
-                        -122.8167566,
-                        48.1904587
-                    ],
-                    [
-                        -123.0041133,
-                        48.1904587
-                    ],
-                    [
-                        -123.0041133,
-                        48.1275918
-                    ],
-                    [
-                        -123.058416,
-                        48.1275918
-                    ],
-                    [
-                        -123.058416,
-                        48.190514
-                    ],
-                    [
-                        -123.254113,
-                        48.190514
-                    ],
-                    [
-                        -123.254113,
-                        48.1274982
-                    ],
-                    [
-                        -123.3706593,
-                        48.1274982
-                    ],
-                    [
-                        -123.3706593,
-                        48.1908403
-                    ],
-                    [
-                        -124.0582632,
-                        48.1908403
-                    ],
-                    [
-                        -124.0582632,
-                        48.253442
-                    ],
-                    [
-                        -124.1815163,
-                        48.253442
-                    ],
-                    [
-                        -124.1815163,
-                        48.3164666
-                    ],
-                    [
-                        -124.4319117,
-                        48.3164666
-                    ],
-                    [
-                        -124.4319117,
-                        48.3782613
-                    ],
-                    [
-                        -124.5564618,
-                        48.3782613
-                    ],
-                    [
-                        -124.5564618,
-                        48.4408305
-                    ],
-                    [
-                        -124.7555107,
-                        48.4408305
-                    ],
-                    [
-                        -124.7555107,
-                        48.1914986
-                    ],
-                    [
-                        -124.8185282,
-                        48.1914986
-                    ],
-                    [
-                        -124.8185282,
-                        48.1228381
-                    ],
-                    [
-                        -124.7552951,
-                        48.1228381
-                    ],
-                    [
-                        -124.7552951,
-                        47.5535253
-                    ],
-                    [
-                        -124.3812108,
-                        47.5535253
-                    ],
-                    [
-                        -124.3812108,
-                        47.1218696
-                    ],
-                    [
-                        -124.1928897,
-                        47.1218696
-                    ],
-                    [
-                        -124.1928897,
-                        43.7569431
-                    ],
-                    [
-                        -124.4443382,
-                        43.7569431
-                    ],
-                    [
-                        -124.4443382,
-                        43.1425556
-                    ],
-                    [
-                        -124.6398855,
-                        43.1425556
-                    ],
-                    [
-                        -124.6398855,
-                        42.6194503
-                    ],
-                    [
-                        -124.4438525,
-                        42.6194503
-                    ],
-                    [
-                        -124.4438525,
-                        39.8080662
-                    ],
-                    [
-                        -123.8815685,
-                        39.8080662
-                    ],
-                    [
-                        -123.8815685,
-                        39.1102825
-                    ],
-                    [
-                        -123.75805,
-                        39.1102825
-                    ],
-                    [
-                        -123.75805,
-                        38.4968799
-                    ],
-                    [
-                        -123.2702803,
-                        38.4968799
-                    ],
-                    [
-                        -123.2702803,
-                        37.9331905
-                    ],
-                    [
-                        -122.8148084,
-                        37.9331905
-                    ],
-                    [
-                        -122.8148084,
-                        37.8019606
-                    ],
-                    [
-                        -122.5664316,
-                        37.8019606
-                    ],
-                    [
-                        -122.5664316,
-                        36.9319611
-                    ],
-                    [
-                        -121.8784026,
-                        36.9319611
-                    ],
-                    [
-                        -121.8784026,
-                        36.6897596
-                    ],
-                    [
-                        -122.0034748,
-                        36.6897596
-                    ],
-                    [
-                        -122.0034748,
-                        36.4341056
-                    ],
-                    [
-                        -121.9414159,
-                        36.4341056
-                    ],
-                    [
-                        -121.9414159,
-                        35.9297636
-                    ],
-                    [
-                        -121.5040977,
-                        35.9297636
-                    ],
-                    [
-                        -121.5040977,
-                        35.8100273
-                    ],
-                    [
-                        -121.3790276,
-                        35.8100273
-                    ],
-                    [
-                        -121.3790276,
-                        35.4239164
-                    ],
-                    [
-                        -120.9426515,
-                        35.4239164
-                    ],
-                    [
-                        -120.9426515,
-                        35.1849683
-                    ],
-                    [
-                        -120.8171978,
-                        35.1849683
-                    ],
-                    [
-                        -120.8171978,
-                        35.1219894
-                    ],
-                    [
-                        -120.6918447,
-                        35.1219894
-                    ],
-                    [
-                        -120.6918447,
-                        34.4966794
-                    ],
-                    [
-                        -120.5045898,
-                        34.4966794
-                    ],
-                    [
-                        -120.5045898,
-                        34.4339651
-                    ],
-                    [
-                        -120.0078775,
-                        34.4339651
-                    ],
-                    [
-                        -120.0078775,
-                        34.3682626
-                    ],
-                    [
-                        -119.5283517,
-                        34.3682626
-                    ],
-                    [
-                        -119.5283517,
-                        34.0576434
-                    ],
-                    [
-                        -119.0060985,
-                        34.0576434
-                    ],
-                    [
-                        -119.0060985,
-                        33.9975267
-                    ],
-                    [
-                        -118.5046259,
-                        33.9975267
-                    ],
-                    [
-                        -118.5046259,
-                        33.8694631
-                    ],
-                    [
-                        -118.4413209,
-                        33.8694631
-                    ],
-                    [
-                        -118.4413209,
-                        33.6865253
-                    ],
-                    [
-                        -118.066912,
-                        33.6865253
-                    ],
-                    [
-                        -118.066912,
-                        33.3063832
-                    ],
-                    [
-                        -117.5030045,
-                        33.3063832
-                    ],
-                    [
-                        -117.5030045,
-                        33.0500337
-                    ],
-                    [
-                        -117.3188195,
-                        33.0500337
-                    ],
-                    [
-                        -117.3188195,
-                        32.6205888
-                    ],
-                    [
-                        -117.1917023,
-                        32.6205888
-                    ],
-                    [
-                        -117.1917023,
-                        32.4974566
-                    ],
-                    [
-                        -116.746496,
-                        32.4974566
-                    ],
-                    [
-                        -116.746496,
-                        32.5609161
-                    ],
-                    [
-                        -115.9970138,
-                        32.5609161
-                    ],
-                    [
-                        -115.9970138,
-                        32.6264942
-                    ],
-                    [
-                        -114.8808125,
-                        32.6264942
-                    ],
-                    [
-                        -114.8808125,
-                        32.4340796
-                    ],
-                    [
-                        -114.6294474,
-                        32.4340796
-                    ],
-                    [
-                        -114.6294474,
-                        32.3731636
-                    ],
-                    [
-                        -114.4447437,
-                        32.3731636
-                    ],
-                    [
-                        -114.4447437,
-                        32.3075418
-                    ],
-                    [
-                        -114.2557628,
-                        32.3075418
-                    ],
-                    [
-                        -114.2557628,
-                        32.2444561
-                    ],
-                    [
-                        -114.0680274,
-                        32.2444561
-                    ],
-                    [
-                        -114.0680274,
-                        32.1829113
-                    ],
-                    [
-                        -113.8166499,
-                        32.1829113
-                    ],
-                    [
-                        -113.8166499,
-                        32.1207622
-                    ],
-                    [
-                        -113.6307421,
-                        32.1207622
-                    ],
-                    [
-                        -113.6307421,
-                        32.0565099
-                    ],
-                    [
-                        -113.4417495,
-                        32.0565099
-                    ],
-                    [
-                        -113.4417495,
-                        31.9984372
-                    ],
-                    [
-                        -113.2546027,
-                        31.9984372
-                    ],
-                    [
-                        -113.2546027,
-                        31.9325434
-                    ],
-                    [
-                        -113.068072,
-                        31.9325434
-                    ],
-                    [
-                        -113.068072,
-                        31.8718062
-                    ],
-                    [
-                        -112.8161105,
-                        31.8718062
-                    ],
-                    [
-                        -112.8161105,
-                        31.8104171
-                    ],
-                    [
-                        -112.6308756,
-                        31.8104171
-                    ],
-                    [
-                        -112.6308756,
-                        31.7464723
-                    ],
-                    [
-                        -112.4418918,
-                        31.7464723
-                    ],
-                    [
-                        -112.4418918,
-                        31.6856001
-                    ],
-                    [
-                        -112.257192,
-                        31.6856001
-                    ],
-                    [
-                        -112.257192,
-                        31.6210352
-                    ],
-                    [
-                        -112.0033787,
-                        31.6210352
-                    ],
-                    [
-                        -112.0033787,
-                        31.559584
-                    ],
-                    [
-                        -111.815619,
-                        31.559584
-                    ],
-                    [
-                        -111.815619,
-                        31.4970238
-                    ],
-                    [
-                        -111.6278586,
-                        31.4970238
-                    ],
-                    [
-                        -111.6278586,
-                        31.4339867
-                    ],
-                    [
-                        -111.4418978,
-                        31.4339867
-                    ],
-                    [
-                        -111.4418978,
-                        31.3733859
-                    ],
-                    [
-                        -111.2559708,
-                        31.3733859
-                    ],
-                    [
-                        -111.2559708,
-                        31.3113225
-                    ],
-                    [
-                        -108.1845822,
-                        31.3113225
-                    ],
-                    [
-                        -108.1845822,
-                        31.7459502
-                    ],
-                    [
-                        -106.5065055,
-                        31.7459502
-                    ],
-                    [
-                        -106.5065055,
-                        31.6842308
-                    ],
-                    [
-                        -106.3797265,
-                        31.6842308
-                    ],
-                    [
-                        -106.3797265,
-                        31.621752
-                    ],
-                    [
-                        -106.317434,
-                        31.621752
-                    ],
-                    [
-                        -106.317434,
-                        31.4968167
-                    ],
-                    [
-                        -106.2551769,
-                        31.4968167
-                    ],
-                    [
-                        -106.2551769,
-                        31.4344889
-                    ],
-                    [
-                        -106.1924698,
-                        31.4344889
-                    ],
-                    [
-                        -106.1924698,
-                        31.3721296
-                    ],
-                    [
-                        -106.0039212,
-                        31.3721296
-                    ],
-                    [
-                        -106.0039212,
-                        31.309328
-                    ],
-                    [
-                        -105.9416582,
-                        31.309328
-                    ],
-                    [
-                        -105.9416582,
-                        31.2457547
-                    ],
-                    [
-                        -105.8798174,
-                        31.2457547
-                    ],
-                    [
-                        -105.8798174,
-                        31.1836194
-                    ],
-                    [
-                        -105.8162349,
-                        31.1836194
-                    ],
-                    [
-                        -105.8162349,
-                        31.1207155
-                    ],
-                    [
-                        -105.6921198,
-                        31.1207155
-                    ],
-                    [
-                        -105.6921198,
-                        31.0584835
-                    ],
-                    [
-                        -105.6302881,
-                        31.0584835
-                    ],
-                    [
-                        -105.6302881,
-                        30.9328271
-                    ],
-                    [
-                        -105.5044418,
-                        30.9328271
-                    ],
-                    [
-                        -105.5044418,
-                        30.8715864
-                    ],
-                    [
-                        -105.4412973,
-                        30.8715864
-                    ],
-                    [
-                        -105.4412973,
-                        30.808463
-                    ],
-                    [
-                        -105.3781497,
-                        30.808463
-                    ],
-                    [
-                        -105.3781497,
-                        30.7471828
-                    ],
-                    [
-                        -105.1904658,
-                        30.7471828
-                    ],
-                    [
-                        -105.1904658,
-                        30.6843231
-                    ],
-                    [
-                        -105.1286244,
-                        30.6843231
-                    ],
-                    [
-                        -105.1286244,
-                        30.6199737
-                    ],
-                    [
-                        -105.0036504,
-                        30.6199737
-                    ],
-                    [
-                        -105.0036504,
-                        30.5589058
-                    ],
-                    [
-                        -104.9417962,
-                        30.5589058
-                    ],
-                    [
-                        -104.9417962,
-                        30.4963236
-                    ],
-                    [
-                        -104.8782018,
-                        30.4963236
-                    ],
-                    [
-                        -104.8782018,
-                        30.3098261
-                    ],
-                    [
-                        -104.8155257,
-                        30.3098261
-                    ],
-                    [
-                        -104.8155257,
-                        30.2478305
-                    ],
-                    [
-                        -104.7536079,
-                        30.2478305
-                    ],
-                    [
-                        -104.7536079,
-                        29.9353916
-                    ],
-                    [
-                        -104.690949,
-                        29.9353916
-                    ],
-                    [
-                        -104.690949,
-                        29.8090156
-                    ],
-                    [
-                        -104.6291301,
-                        29.8090156
-                    ],
-                    [
-                        -104.6291301,
-                        29.6843577
-                    ],
-                    [
-                        -104.5659869,
-                        29.6843577
-                    ],
-                    [
-                        -104.5659869,
-                        29.6223459
-                    ],
-                    [
-                        -104.5037188,
-                        29.6223459
-                    ],
-                    [
-                        -104.5037188,
-                        29.5595436
-                    ],
-                    [
-                        -104.4410072,
-                        29.5595436
-                    ],
-                    [
-                        -104.4410072,
-                        29.4974832
-                    ],
-                    [
-                        -104.2537551,
-                        29.4974832
-                    ],
-                    [
-                        -104.2537551,
-                        29.3716718
-                    ],
-                    [
-                        -104.1291984,
-                        29.3716718
-                    ],
-                    [
-                        -104.1291984,
-                        29.3091621
-                    ],
-                    [
-                        -104.0688737,
-                        29.3091621
-                    ],
-                    [
-                        -104.0688737,
-                        29.2467276
-                    ],
-                    [
-                        -103.8187309,
-                        29.2467276
-                    ],
-                    [
-                        -103.8187309,
-                        29.1843076
-                    ],
-                    [
-                        -103.755736,
-                        29.1843076
-                    ],
-                    [
-                        -103.755736,
-                        29.1223174
-                    ],
-                    [
-                        -103.5667542,
-                        29.1223174
-                    ],
-                    [
-                        -103.5667542,
-                        29.0598119
-                    ],
-                    [
-                        -103.5049819,
-                        29.0598119
-                    ],
-                    [
-                        -103.5049819,
-                        28.9967506
-                    ],
-                    [
-                        -103.3165753,
-                        28.9967506
-                    ],
-                    [
-                        -103.3165753,
-                        28.9346923
-                    ],
-                    [
-                        -103.0597572,
-                        28.9346923
-                    ],
-                    [
-                        -103.0597572,
-                        29.0592965
-                    ],
-                    [
-                        -102.9979694,
-                        29.0592965
-                    ],
-                    [
-                        -102.9979694,
-                        29.1212855
-                    ],
-                    [
-                        -102.9331397,
-                        29.1212855
-                    ],
-                    [
-                        -102.9331397,
-                        29.1848575
-                    ],
-                    [
-                        -102.8095989,
-                        29.1848575
-                    ],
-                    [
-                        -102.8095989,
-                        29.2526154
-                    ],
-                    [
-                        -102.8701345,
-                        29.2526154
-                    ],
-                    [
-                        -102.8701345,
-                        29.308096
-                    ],
-                    [
-                        -102.8096681,
-                        29.308096
-                    ],
-                    [
-                        -102.8096681,
-                        29.3715484
-                    ],
-                    [
-                        -102.7475655,
-                        29.3715484
-                    ],
-                    [
-                        -102.7475655,
-                        29.5581899
-                    ],
-                    [
-                        -102.684554,
-                        29.5581899
-                    ],
-                    [
-                        -102.684554,
-                        29.6847655
-                    ],
-                    [
-                        -102.4967764,
-                        29.6847655
-                    ],
-                    [
-                        -102.4967764,
-                        29.7457694
-                    ],
-                    [
-                        -102.3086647,
-                        29.7457694
-                    ],
-                    [
-                        -102.3086647,
-                        29.8086627
-                    ],
-                    [
-                        -102.1909323,
-                        29.8086627
-                    ],
-                    [
-                        -102.1909323,
-                        29.7460097
-                    ],
-                    [
-                        -101.5049914,
-                        29.7460097
-                    ],
-                    [
-                        -101.5049914,
-                        29.6846777
-                    ],
-                    [
-                        -101.3805796,
-                        29.6846777
-                    ],
-                    [
-                        -101.3805796,
-                        29.5594459
-                    ],
-                    [
-                        -101.3175057,
-                        29.5594459
-                    ],
-                    [
-                        -101.3175057,
-                        29.4958934
-                    ],
-                    [
-                        -101.1910075,
-                        29.4958934
-                    ],
-                    [
-                        -101.1910075,
-                        29.4326115
-                    ],
-                    [
-                        -101.067501,
-                        29.4326115
-                    ],
-                    [
-                        -101.067501,
-                        29.308808
-                    ],
-                    [
-                        -100.9418897,
-                        29.308808
-                    ],
-                    [
-                        -100.9418897,
-                        29.2456231
-                    ],
-                    [
-                        -100.8167271,
-                        29.2456231
-                    ],
-                    [
-                        -100.8167271,
-                        29.1190449
-                    ],
-                    [
-                        -100.7522672,
-                        29.1190449
-                    ],
-                    [
-                        -100.7522672,
-                        29.0578214
-                    ],
-                    [
-                        -100.6925358,
-                        29.0578214
-                    ],
-                    [
-                        -100.6925358,
-                        28.8720431
-                    ],
-                    [
-                        -100.6290158,
-                        28.8720431
-                    ],
-                    [
-                        -100.6290158,
-                        28.8095363
-                    ],
-                    [
-                        -100.5679901,
-                        28.8095363
-                    ],
-                    [
-                        -100.5679901,
-                        28.622554
-                    ],
-                    [
-                        -100.5040411,
-                        28.622554
-                    ],
-                    [
-                        -100.5040411,
-                        28.5583804
-                    ],
-                    [
-                        -100.4421832,
-                        28.5583804
-                    ],
-                    [
-                        -100.4421832,
-                        28.4968266
-                    ],
-                    [
-                        -100.379434,
-                        28.4968266
-                    ],
-                    [
-                        -100.379434,
-                        28.3092865
-                    ],
-                    [
-                        -100.3171942,
-                        28.3092865
-                    ],
-                    [
-                        -100.3171942,
-                        28.1835681
-                    ],
-                    [
-                        -100.254483,
-                        28.1835681
-                    ],
-                    [
-                        -100.254483,
-                        28.1213885
-                    ],
-                    [
-                        -100.1282282,
-                        28.1213885
-                    ],
-                    [
-                        -100.1282282,
-                        28.059215
-                    ],
-                    [
-                        -100.0659537,
-                        28.059215
-                    ],
-                    [
-                        -100.0659537,
-                        27.9966087
-                    ],
-                    [
-                        -100.0023855,
-                        27.9966087
-                    ],
-                    [
-                        -100.0023855,
-                        27.9332152
-                    ],
-                    [
-                        -99.9426497,
-                        27.9332152
-                    ],
-                    [
-                        -99.9426497,
-                        27.7454658
-                    ],
-                    [
-                        -99.816851,
-                        27.7454658
-                    ],
-                    [
-                        -99.816851,
-                        27.6834301
-                    ],
-                    [
-                        -99.7541346,
-                        27.6834301
-                    ],
-                    [
-                        -99.7541346,
-                        27.6221543
-                    ],
-                    [
-                        -99.6291629,
-                        27.6221543
-                    ],
-                    [
-                        -99.6291629,
-                        27.5588977
-                    ],
-                    [
-                        -99.5672838,
-                        27.5588977
-                    ],
-                    [
-                        -99.5672838,
-                        27.4353752
-                    ],
-                    [
-                        -99.5041798,
-                        27.4353752
-                    ],
-                    [
-                        -99.5041798,
-                        27.3774021
-                    ],
-                    [
-                        -99.5671796,
-                        27.3774021
-                    ],
-                    [
-                        -99.5671796,
-                        27.2463726
-                    ],
-                    [
-                        -99.504975,
-                        27.2463726
-                    ],
-                    [
-                        -99.504975,
-                        26.9965649
-                    ],
-                    [
-                        -99.4427427,
-                        26.9965649
-                    ],
-                    [
-                        -99.4427427,
-                        26.872803
-                    ],
-                    [
-                        -99.3800633,
-                        26.872803
-                    ],
-                    [
-                        -99.3800633,
-                        26.8068179
-                    ],
-                    [
-                        -99.3190684,
-                        26.8068179
-                    ],
-                    [
-                        -99.3190684,
-                        26.7473614
-                    ],
-                    [
-                        -99.2537541,
-                        26.7473614
-                    ],
-                    [
-                        -99.2537541,
-                        26.6210068
-                    ],
-                    [
-                        -99.1910617,
-                        26.6210068
-                    ],
-                    [
-                        -99.1910617,
-                        26.4956737
-                    ],
-                    [
-                        -99.1300639,
-                        26.4956737
-                    ],
-                    [
-                        -99.1300639,
-                        26.3713808
-                    ],
-                    [
-                        -99.0029473,
-                        26.3713808
-                    ],
-                    [
-                        -99.0029473,
-                        26.3093836
-                    ],
-                    [
-                        -98.816572,
-                        26.3093836
-                    ],
-                    [
-                        -98.816572,
-                        26.2457762
-                    ],
-                    [
-                        -98.6920082,
-                        26.2457762
-                    ],
-                    [
-                        -98.6920082,
-                        26.1837096
-                    ],
-                    [
-                        -98.4440896,
-                        26.1837096
-                    ],
-                    [
-                        -98.4440896,
-                        26.1217217
-                    ],
-                    [
-                        -98.3823181,
-                        26.1217217
-                    ],
-                    [
-                        -98.3823181,
-                        26.0596488
-                    ],
-                    [
-                        -98.2532707,
-                        26.0596488
-                    ],
-                    [
-                        -98.2532707,
-                        25.9986871
-                    ],
-                    [
-                        -98.0109084,
-                        25.9986871
-                    ],
-                    [
-                        -98.0109084,
-                        25.9932255
-                    ],
-                    [
-                        -97.6932319,
-                        25.9932255
-                    ],
-                    [
-                        -97.6932319,
-                        25.9334103
-                    ],
-                    [
-                        -97.6313904,
-                        25.9334103
-                    ],
-                    [
-                        -97.6313904,
-                        25.8695893
-                    ],
-                    [
-                        -97.5046779,
-                        25.8695893
-                    ],
-                    [
-                        -97.5046779,
-                        25.8073488
-                    ],
-                    [
-                        -97.3083401,
-                        25.8073488
-                    ],
-                    [
-                        -97.3083401,
-                        25.8731159
-                    ],
-                    [
-                        -97.2456326,
-                        25.8731159
-                    ],
-                    [
-                        -97.2456326,
-                        25.9353731
-                    ],
-                    [
-                        -97.1138939,
-                        25.9353731
-                    ],
-                    [
-                        -97.1138939,
-                        27.6809179
-                    ],
-                    [
-                        -97.0571035,
-                        27.6809179
-                    ],
-                    [
-                        -97.0571035,
-                        27.8108242
-                    ],
-                    [
-                        -95.5810766,
-                        27.8108242
-                    ],
-                    [
-                        -95.5810766,
-                        28.7468827
-                    ],
-                    [
-                        -94.271041,
-                        28.7468827
-                    ],
-                    [
-                        -94.271041,
-                        29.5594076
-                    ],
-                    [
-                        -92.5029947,
-                        29.5594076
-                    ],
-                    [
-                        -92.5029947,
-                        29.4974754
-                    ],
-                    [
-                        -91.8776216,
-                        29.4974754
-                    ],
-                    [
-                        -91.8776216,
-                        29.3727013
-                    ],
-                    [
-                        -91.378418,
-                        29.3727013
-                    ],
-                    [
-                        -91.378418,
-                        29.2468326
-                    ],
-                    [
-                        -91.3153953,
-                        29.2468326
-                    ],
-                    [
-                        -91.3153953,
-                        29.1844301
-                    ],
-                    [
-                        -91.1294702,
-                        29.1844301
-                    ],
-                    [
-                        -91.1294702,
-                        29.1232559
-                    ],
-                    [
-                        -91.0052632,
-                        29.1232559
-                    ],
-                    [
-                        -91.0052632,
-                        28.9968437
-                    ],
-                    [
-                        -89.4500159,
-                        28.9968437
-                    ],
-                    [
-                        -89.4500159,
-                        28.8677422
-                    ],
-                    [
-                        -88.8104309,
-                        28.8677422
-                    ],
-                    [
-                        -88.8104309,
-                        30.1841864
-                    ],
-                    [
-                        -85.8791527,
-                        30.1841864
-                    ],
-                    [
-                        -85.8791527,
-                        29.5455038
-                    ],
-                    [
-                        -84.8368083,
-                        29.5455038
-                    ],
-                    [
-                        -84.8368083,
-                        29.6225158
-                    ],
-                    [
-                        -84.7482786,
-                        29.6225158
-                    ],
-                    [
-                        -84.7482786,
-                        29.683624
-                    ],
-                    [
-                        -84.685894,
-                        29.683624
-                    ],
-                    [
-                        -84.685894,
-                        29.7468386
-                    ],
-                    [
-                        -83.6296975,
-                        29.7468386
-                    ],
-                    [
-                        -83.6296975,
-                        29.4324361
-                    ],
-                    [
-                        -83.3174937,
-                        29.4324361
-                    ],
-                    [
-                        -83.3174937,
-                        29.0579442
-                    ],
-                    [
-                        -82.879659,
-                        29.0579442
-                    ],
-                    [
-                        -82.879659,
-                        27.7453529
-                    ],
-                    [
-                        -82.8182822,
-                        27.7453529
-                    ],
-                    [
-                        -82.8182822,
-                        26.9290868
-                    ],
-                    [
-                        -82.3796782,
-                        26.9290868
-                    ],
-                    [
-                        -82.3796782,
-                        26.3694183
-                    ],
-                    [
-                        -81.8777106,
-                        26.3694183
-                    ],
-                    [
-                        -81.8777106,
-                        25.805971
-                    ],
-                    [
-                        -81.5036862,
-                        25.805971
-                    ],
-                    [
-                        -81.5036862,
-                        25.7474753
-                    ],
-                    [
-                        -81.4405462,
-                        25.7474753
-                    ],
-                    [
-                        -81.4405462,
-                        25.6851489
-                    ],
-                    [
-                        -81.3155883,
-                        25.6851489
-                    ],
-                    [
-                        -81.3155883,
-                        25.5600985
-                    ],
-                    [
-                        -81.2538534,
-                        25.5600985
-                    ],
-                    [
-                        -81.2538534,
-                        25.4342361
-                    ],
-                    [
-                        -81.1902012,
-                        25.4342361
-                    ],
-                    [
-                        -81.1902012,
-                        25.1234341
-                    ],
-                    [
-                        -81.1288133,
-                        25.1234341
-                    ],
-                    [
-                        -81.1288133,
-                        25.0619389
-                    ],
-                    [
-                        -81.0649231,
-                        25.0619389
-                    ],
-                    [
-                        -81.0649231,
-                        24.8157807
-                    ],
-                    [
-                        -81.6289469,
-                        24.8157807
-                    ],
-                    [
-                        -81.6289469,
-                        24.7538367
-                    ],
-                    [
-                        -81.6907173,
-                        24.7538367
-                    ],
-                    [
-                        -81.6907173,
-                        24.6899374
-                    ],
-                    [
-                        -81.8173189,
-                        24.6899374
-                    ],
-                    [
-                        -81.8173189,
-                        24.6279161
-                    ],
-                    [
-                        -82.1910041,
-                        24.6279161
-                    ],
-                    [
-                        -82.1910041,
-                        24.496294
-                    ],
-                    [
-                        -81.6216596,
-                        24.496294
-                    ],
-                    [
-                        -81.6216596,
-                        24.559484
-                    ],
-                    [
-                        -81.372006,
-                        24.559484
-                    ],
-                    [
-                        -81.372006,
-                        24.6220687
-                    ],
-                    [
-                        -81.0593278,
-                        24.6220687
-                    ],
-                    [
-                        -81.0593278,
-                        24.684826
-                    ],
-                    [
-                        -80.9347147,
-                        24.684826
-                    ],
-                    [
-                        -80.9347147,
-                        24.7474828
-                    ],
-                    [
-                        -80.7471081,
-                        24.7474828
-                    ],
-                    [
-                        -80.7471081,
-                        24.8100618
-                    ],
-                    [
-                        -80.3629898,
-                        24.8100618
-                    ],
-                    [
-                        -80.3629898,
-                        25.1175858
-                    ],
-                    [
-                        -80.122344,
-                        25.1175858
-                    ],
-                    [
-                        -80.122344,
-                        25.7472357
-                    ],
-                    [
-                        -80.0588458,
-                        25.7472357
-                    ],
-                    [
-                        -80.0588458,
-                        26.3708251
-                    ],
-                    [
-                        -79.995837,
-                        26.3708251
-                    ],
-                    [
-                        -79.995837,
-                        26.9398003
-                    ],
-                    [
-                        -80.0587265,
-                        26.9398003
-                    ],
-                    [
-                        -80.0587265,
-                        27.1277466
-                    ],
-                    [
-                        -80.1226251,
-                        27.1277466
-                    ],
-                    [
-                        -80.1226251,
-                        27.2534279
-                    ],
-                    [
-                        -80.1846956,
-                        27.2534279
-                    ],
-                    [
-                        -80.1846956,
-                        27.3781229
-                    ],
-                    [
-                        -80.246175,
-                        27.3781229
-                    ],
-                    [
-                        -80.246175,
-                        27.5658729
-                    ],
-                    [
-                        -80.3094768,
-                        27.5658729
-                    ],
-                    [
-                        -80.3094768,
-                        27.7530311
-                    ],
-                    [
-                        -80.3721485,
-                        27.7530311
-                    ],
-                    [
-                        -80.3721485,
-                        27.8774451
-                    ],
-                    [
-                        -80.4351457,
-                        27.8774451
-                    ],
-                    [
-                        -80.4351457,
-                        28.0033366
-                    ],
-                    [
-                        -80.4966078,
-                        28.0033366
-                    ],
-                    [
-                        -80.4966078,
-                        28.1277326
-                    ],
-                    [
-                        -80.5587159,
-                        28.1277326
-                    ],
-                    [
-                        -80.5587159,
-                        28.3723509
-                    ],
-                    [
-                        -80.4966335,
-                        28.3723509
-                    ],
-                    [
-                        -80.4966335,
-                        29.5160326
-                    ],
-                    [
-                        -81.1213644,
-                        29.5160326
-                    ],
-                    [
-                        -81.1213644,
-                        31.6846966
-                    ],
-                    [
-                        -80.6018723,
-                        31.6846966
-                    ],
-                    [
-                        -80.6018723,
-                        32.2475309
-                    ],
-                    [
-                        -79.4921024,
-                        32.2475309
-                    ],
-                    [
-                        -79.4921024,
-                        32.9970261
-                    ],
-                    [
-                        -79.1116488,
-                        32.9970261
-                    ],
-                    [
-                        -79.1116488,
-                        33.3729457
-                    ],
-                    [
-                        -78.6153621,
-                        33.3729457
-                    ],
-                    [
-                        -78.6153621,
-                        33.8097638
-                    ],
-                    [
-                        -77.9316963,
-                        33.8097638
-                    ],
-                    [
-                        -77.9316963,
-                        33.8718243
-                    ],
-                    [
-                        -77.8692252,
-                        33.8718243
-                    ],
-                    [
-                        -77.8692252,
-                        34.0552454
-                    ],
-                    [
-                        -77.6826392,
-                        34.0552454
-                    ],
-                    [
-                        -77.6826392,
-                        34.2974598
-                    ],
-                    [
-                        -77.2453509,
-                        34.2974598
-                    ],
-                    [
-                        -77.2453509,
-                        34.5598585
-                    ],
-                    [
-                        -76.4973277,
-                        34.5598585
-                    ],
-                    [
-                        -76.4973277,
-                        34.622796
-                    ],
-                    [
-                        -76.4337602,
-                        34.622796
-                    ],
-                    [
-                        -76.4337602,
-                        34.6849285
-                    ],
-                    [
-                        -76.373212,
-                        34.6849285
-                    ],
-                    [
-                        -76.373212,
-                        34.7467674
-                    ],
-                    [
-                        -76.3059364,
-                        34.7467674
-                    ],
-                    [
-                        -76.3059364,
-                        34.808551
-                    ],
-                    [
-                        -76.2468017,
-                        34.808551
-                    ],
-                    [
-                        -76.2468017,
-                        34.8728418
-                    ],
-                    [
-                        -76.1825922,
-                        34.8728418
-                    ],
-                    [
-                        -76.1825922,
-                        34.9335332
-                    ],
-                    [
-                        -76.120814,
-                        34.9335332
-                    ],
-                    [
-                        -76.120814,
-                        34.9952359
-                    ],
-                    [
-                        -75.9979015,
-                        34.9952359
-                    ],
-                    [
-                        -75.9979015,
-                        35.0578182
-                    ],
-                    [
-                        -75.870338,
-                        35.0578182
-                    ],
-                    [
-                        -75.870338,
-                        35.1219097
-                    ],
-                    [
-                        -75.7462194,
-                        35.1219097
-                    ],
-                    [
-                        -75.7462194,
-                        35.1818911
-                    ],
-                    [
-                        -75.4929694,
-                        35.1818911
-                    ],
-                    [
-                        -75.4929694,
-                        35.3082988
-                    ],
-                    [
-                        -75.4325662,
-                        35.3082988
-                    ],
-                    [
-                        -75.4325662,
-                        35.7542495
-                    ],
-                    [
-                        -75.4969907,
-                        35.7542495
-                    ],
-                    [
-                        -75.4969907,
-                        37.8105602
-                    ],
-                    [
-                        -75.3082972,
-                        37.8105602
-                    ],
-                    [
-                        -75.3082972,
-                        37.8720088
-                    ],
-                    [
-                        -75.245601,
-                        37.8720088
-                    ],
-                    [
-                        -75.245601,
-                        37.9954849
-                    ],
-                    [
-                        -75.1828751,
-                        37.9954849
-                    ],
-                    [
-                        -75.1828751,
-                        38.0585079
-                    ],
-                    [
-                        -75.1184793,
-                        38.0585079
-                    ],
-                    [
-                        -75.1184793,
-                        38.2469091
-                    ],
-                    [
-                        -75.0592098,
-                        38.2469091
-                    ],
-                    [
-                        -75.0592098,
-                        38.3704316
-                    ],
-                    [
-                        -74.9948111,
-                        38.3704316
-                    ],
-                    [
-                        -74.9948111,
-                        38.8718417
-                    ],
-                    [
-                        -74.4878252,
-                        38.8718417
-                    ],
-                    [
-                        -74.4878252,
-                        39.3089428
-                    ],
-                    [
-                        -74.1766317,
-                        39.3089428
-                    ],
-                    [
-                        -74.1766317,
-                        39.6224653
-                    ],
-                    [
-                        -74.0567045,
-                        39.6224653
-                    ],
-                    [
-                        -74.0567045,
-                        39.933178
-                    ],
-                    [
-                        -73.9959035,
-                        39.933178
-                    ],
-                    [
-                        -73.9959035,
-                        40.1854852
-                    ],
-                    [
-                        -73.9341593,
-                        40.1854852
-                    ],
-                    [
-                        -73.9341593,
-                        40.4959486
-                    ],
-                    [
-                        -73.8723024,
-                        40.4959486
-                    ],
-                    [
-                        -73.8723024,
-                        40.5527135
-                    ],
-                    [
-                        -71.8074506,
-                        40.5527135
-                    ],
-                    [
-                        -71.8074506,
-                        41.3088005
-                    ],
-                    [
-                        -70.882512,
-                        41.3088005
-                    ],
-                    [
-                        -70.882512,
-                        41.184978
-                    ],
-                    [
-                        -70.7461947,
-                        41.184978
-                    ],
-                    [
-                        -70.7461947,
-                        41.3091865
-                    ],
-                    [
-                        -70.4337553,
-                        41.3091865
-                    ],
-                    [
-                        -70.4337553,
-                        41.4963885
-                    ],
-                    [
-                        -69.9334281,
-                        41.4963885
-                    ],
-                    [
-                        -69.9334281,
-                        41.6230802
-                    ],
-                    [
-                        -69.869857,
-                        41.6230802
-                    ],
-                    [
-                        -69.869857,
-                        41.8776895
-                    ],
-                    [
-                        -69.935791,
-                        41.8776895
-                    ],
-                    [
-                        -69.935791,
-                        42.0032342
-                    ],
-                    [
-                        -69.9975823,
-                        42.0032342
-                    ],
-                    [
-                        -69.9975823,
-                        42.0650191
-                    ],
-                    [
-                        -70.0606103,
-                        42.0650191
-                    ],
-                    [
-                        -70.0606103,
-                        42.1294348
-                    ],
-                    [
-                        -70.5572884,
-                        42.1294348
-                    ],
-                    [
-                        -70.5572884,
-                        43.2487079
-                    ],
-                    [
-                        -70.4974097,
-                        43.2487079
-                    ],
-                    [
-                        -70.4974097,
-                        43.3092194
-                    ],
-                    [
-                        -70.3704249,
-                        43.3092194
-                    ],
-                    [
-                        -70.3704249,
-                        43.371963
-                    ],
-                    [
-                        -70.3085701,
-                        43.371963
-                    ],
-                    [
-                        -70.3085701,
-                        43.4969879
-                    ],
-                    [
-                        -70.183921,
-                        43.4969879
-                    ],
-                    [
-                        -70.183921,
-                        43.6223531
-                    ],
-                    [
-                        -70.057583,
-                        43.6223531
-                    ],
-                    [
-                        -70.057583,
-                        43.6850173
-                    ],
-                    [
-                        -69.7455247,
-                        43.6850173
-                    ],
-                    [
-                        -69.7455247,
-                        43.7476571
-                    ],
-                    [
-                        -69.2472845,
-                        43.7476571
-                    ],
-                    [
-                        -69.2472845,
-                        43.8107035
-                    ],
-                    [
-                        -69.0560701,
-                        43.8107035
-                    ],
-                    [
-                        -69.0560701,
-                        43.8717247
-                    ],
-                    [
-                        -68.9950522,
-                        43.8717247
-                    ],
-                    [
-                        -68.9950522,
-                        43.9982022
-                    ],
-                    [
-                        -68.4963672,
-                        43.9982022
-                    ],
-                    [
-                        -68.4963672,
-                        44.0597368
-                    ],
-                    [
-                        -68.3081038,
-                        44.0597368
-                    ],
-                    [
-                        -68.3081038,
-                        44.122137
-                    ],
-                    [
-                        -68.1851802,
-                        44.122137
-                    ],
-                    [
-                        -68.1851802,
-                        44.3081382
-                    ],
-                    [
-                        -67.9956019,
-                        44.3081382
-                    ],
-                    [
-                        -67.9956019,
-                        44.3727489
-                    ],
-                    [
-                        -67.8103041,
-                        44.3727489
-                    ],
-                    [
-                        -67.8103041,
-                        44.435178
-                    ],
-                    [
-                        -67.4965289,
-                        44.435178
-                    ],
-                    [
-                        -67.4965289,
-                        44.4968776
-                    ],
-                    [
-                        -67.37102,
-                        44.4968776
-                    ],
-                    [
-                        -67.37102,
-                        44.5600642
-                    ],
-                    [
-                        -67.1848753,
-                        44.5600642
-                    ],
-                    [
-                        -67.1848753,
-                        44.6213345
-                    ],
-                    [
-                        -67.1221208,
-                        44.6213345
-                    ],
-                    [
-                        -67.1221208,
-                        44.6867918
-                    ],
-                    [
-                        -67.059365,
-                        44.6867918
-                    ],
-                    [
-                        -67.059365,
-                        44.7473657
-                    ],
-                    [
-                        -66.9311098,
-                        44.7473657
-                    ],
-                    [
-                        -66.9311098,
-                        44.9406566
-                    ],
-                    [
-                        -66.994683,
-                        44.9406566
-                    ],
-                    [
-                        -66.994683,
-                        45.0024514
-                    ],
-                    [
-                        -67.0595847,
-                        45.0024514
-                    ],
-                    [
-                        -67.0595847,
-                        45.1273377
-                    ],
-                    [
-                        -67.1201974,
-                        45.1273377
-                    ],
-                    [
-                        -67.1201974,
-                        45.1910115
-                    ],
-                    [
-                        -67.2469811,
-                        45.1910115
-                    ],
-                    [
-                        -67.2469811,
-                        45.253442
-                    ],
-                    [
-                        -67.3177546,
-                        45.253442
-                    ],
-                    [
-                        -67.3177546,
-                        45.1898369
-                    ],
-                    [
-                        -67.370749,
-                        45.1898369
-                    ],
-                    [
-                        -67.370749,
-                        45.2534001
-                    ],
-                    [
-                        -67.4326888,
-                        45.2534001
-                    ],
-                    [
-                        -67.4326888,
-                        45.3083409
-                    ],
-                    [
-                        -67.3708571,
-                        45.3083409
-                    ],
-                    [
-                        -67.3708571,
-                        45.4396986
-                    ],
-                    [
-                        -67.4305573,
-                        45.4396986
-                    ],
-                    [
-                        -67.4305573,
-                        45.4950095
-                    ],
-                    [
-                        -67.37099,
-                        45.4950095
-                    ],
-                    [
-                        -67.37099,
-                        45.6264543
-                    ],
-                    [
-                        -67.6214982,
-                        45.6264543
-                    ],
-                    [
-                        -67.6214982,
-                        45.6896133
-                    ],
-                    [
-                        -67.683828,
-                        45.6896133
-                    ],
-                    [
-                        -67.683828,
-                        45.753259
-                    ],
-                    [
-                        -67.7462097,
-                        45.753259
-                    ],
-                    [
-                        -67.7462097,
-                        47.1268165
-                    ],
-                    [
-                        -67.8700141,
-                        47.1268165
-                    ],
-                    [
-                        -67.8700141,
-                        47.1900278
-                    ],
-                    [
-                        -67.9323803,
-                        47.1900278
-                    ],
-                    [
-                        -67.9323803,
-                        47.2539678
-                    ],
-                    [
-                        -67.9959387,
-                        47.2539678
-                    ],
-                    [
-                        -67.9959387,
-                        47.3149737
-                    ],
-                    [
-                        -68.1206676,
-                        47.3149737
-                    ],
-                    [
-                        -68.1206676,
-                        47.3780823
-                    ],
-                    [
-                        -68.4423175,
-                        47.3780823
-                    ],
-                    [
-                        -68.4423175,
-                        47.3166082
-                    ],
-                    [
-                        -68.6314305,
-                        47.3166082
-                    ],
-                    [
-                        -68.6314305,
-                        47.2544676
-                    ],
-                    [
-                        -68.9978037,
-                        47.2544676
-                    ],
-                    [
-                        -68.9978037,
-                        47.439895
-                    ],
-                    [
-                        -69.0607223,
-                        47.439895
-                    ],
-                    [
-                        -69.0607223,
-                        47.5047558
-                    ],
-                    [
-                        -69.2538122,
-                        47.5047558
-                    ],
-                    [
-                        -69.2538122,
-                        47.4398084
-                    ],
-                    [
-                        -69.3179284,
-                        47.4398084
-                    ],
-                    [
-                        -69.3179284,
-                        47.378601
-                    ],
-                    [
-                        -69.4438546,
-                        47.378601
-                    ],
-                    [
-                        -69.4438546,
-                        47.3156274
-                    ],
-                    [
-                        -69.5038204,
-                        47.3156274
-                    ],
-                    [
-                        -69.5038204,
-                        47.2525839
-                    ],
-                    [
-                        -69.5667838,
-                        47.2525839
-                    ],
-                    [
-                        -69.5667838,
-                        47.1910884
-                    ],
-                    [
-                        -69.6303478,
-                        47.1910884
-                    ],
-                    [
-                        -69.6303478,
-                        47.128701
-                    ],
-                    [
-                        -69.6933103,
-                        47.128701
-                    ],
-                    [
-                        -69.6933103,
-                        47.0654307
-                    ],
-                    [
-                        -69.7557063,
-                        47.0654307
-                    ],
-                    [
-                        -69.7557063,
-                        47.0042751
-                    ],
-                    [
-                        -69.8180391,
-                        47.0042751
-                    ],
-                    [
-                        -69.8180391,
-                        46.9415344
-                    ],
-                    [
-                        -69.8804023,
-                        46.9415344
-                    ],
-                    [
-                        -69.8804023,
-                        46.8792519
-                    ],
-                    [
-                        -69.9421674,
-                        46.8792519
-                    ],
-                    [
-                        -69.9421674,
-                        46.8177399
-                    ],
-                    [
-                        -70.0063088,
-                        46.8177399
-                    ],
-                    [
-                        -70.0063088,
-                        46.6920295
-                    ],
-                    [
-                        -70.0704265,
-                        46.6920295
-                    ],
-                    [
-                        -70.0704265,
-                        46.4425926
-                    ],
-                    [
-                        -70.1945902,
-                        46.4425926
-                    ],
-                    [
-                        -70.1945902,
-                        46.3785887
-                    ],
-                    [
-                        -70.2562047,
-                        46.3785887
-                    ],
-                    [
-                        -70.2562047,
-                        46.3152628
-                    ],
-                    [
-                        -70.3203651,
-                        46.3152628
-                    ],
-                    [
-                        -70.3203651,
-                        46.0651209
-                    ],
-                    [
-                        -70.3814988,
-                        46.0651209
-                    ],
-                    [
-                        -70.3814988,
-                        45.93552
-                    ],
-                    [
-                        -70.3201618,
-                        45.93552
-                    ],
-                    [
-                        -70.3201618,
-                        45.879479
-                    ],
-                    [
-                        -70.4493131,
-                        45.879479
-                    ],
-                    [
-                        -70.4493131,
-                        45.7538713
-                    ],
-                    [
-                        -70.5070021,
-                        45.7538713
-                    ],
-                    [
-                        -70.5070021,
-                        45.6916912
-                    ],
-                    [
-                        -70.6316642,
-                        45.6916912
-                    ],
-                    [
-                        -70.6316642,
-                        45.6291619
-                    ],
-                    [
-                        -70.7575538,
-                        45.6291619
-                    ],
-                    [
-                        -70.7575538,
-                        45.4414685
-                    ],
-                    [
-                        -70.8809878,
-                        45.4414685
-                    ],
-                    [
-                        -70.8809878,
-                        45.3780612
-                    ],
-                    [
-                        -71.13328,
-                        45.3780612
-                    ],
-                    [
-                        -71.13328,
-                        45.3151452
-                    ],
-                    [
-                        -71.3830282,
-                        45.3151452
-                    ],
-                    [
-                        -71.3830282,
-                        45.253416
-                    ],
-                    [
-                        -71.5076448,
-                        45.253416
-                    ],
-                    [
-                        -71.5076448,
-                        45.0655726
-                    ],
-                    [
-                        -73.9418929,
-                        45.0655726
-                    ],
-                    [
-                        -73.9418929,
-                        45.0031242
-                    ],
-                    [
-                        -74.7469725,
-                        45.0031242
-                    ],
-                    [
-                        -74.7469725,
-                        45.0649003
-                    ],
-                    [
-                        -74.8800964,
-                        45.0649003
-                    ],
-                    [
-                        -74.8800964,
-                        45.0029023
-                    ],
-                    [
-                        -75.0662455,
-                        45.0029023
-                    ],
-                    [
-                        -75.0662455,
-                        44.9415167
-                    ],
-                    [
-                        -75.2539363,
-                        44.9415167
-                    ],
-                    [
-                        -75.2539363,
-                        44.8776043
-                    ],
-                    [
-                        -75.3789648,
-                        44.8776043
-                    ],
-                    [
-                        -75.3789648,
-                        44.8153462
-                    ],
-                    [
-                        -75.4431283,
-                        44.8153462
-                    ],
-                    [
-                        -75.4431283,
-                        44.7536053
-                    ],
-                    [
-                        -75.5666566,
-                        44.7536053
-                    ],
-                    [
-                        -75.5666566,
-                        44.6909879
-                    ],
-                    [
-                        -75.6290205,
-                        44.6909879
-                    ],
-                    [
-                        -75.6290205,
-                        44.6284958
-                    ],
-                    [
-                        -75.7540484,
-                        44.6284958
-                    ],
-                    [
-                        -75.7540484,
-                        44.566385
-                    ],
-                    [
-                        -75.817312,
-                        44.566385
-                    ],
-                    [
-                        -75.817312,
-                        44.5028932
-                    ],
-                    [
-                        -75.8799549,
-                        44.5028932
-                    ],
-                    [
-                        -75.8799549,
-                        44.3784946
-                    ],
-                    [
-                        -76.1300319,
-                        44.3784946
-                    ],
-                    [
-                        -76.1300319,
-                        44.3159227
-                    ],
-                    [
-                        -76.1926961,
-                        44.3159227
-                    ],
-                    [
-                        -76.1926961,
-                        44.2534378
-                    ],
-                    [
-                        -76.3182619,
-                        44.2534378
-                    ],
-                    [
-                        -76.3182619,
-                        44.1916726
-                    ],
-                    [
-                        -76.3792975,
-                        44.1916726
-                    ],
-                    [
-                        -76.3792975,
-                        44.0653733
-                    ],
-                    [
-                        -76.4427584,
-                        44.0653733
-                    ],
-                    [
-                        -76.4427584,
-                        43.9963825
-                    ],
-                    [
-                        -76.317027,
-                        43.9963825
-                    ],
-                    [
-                        -76.317027,
-                        43.9414581
-                    ],
-                    [
-                        -76.5076611,
-                        43.9414581
-                    ],
-                    [
-                        -76.5076611,
-                        43.8723335
-                    ],
-                    [
-                        -76.3829974,
-                        43.8723335
-                    ],
-                    [
-                        -76.3829974,
-                        43.8091872
-                    ],
-                    [
-                        -76.2534102,
-                        43.8091872
-                    ],
-                    [
-                        -76.2534102,
-                        43.5665222
-                    ],
-                    [
-                        -76.5064833,
-                        43.5665222
-                    ],
-                    [
-                        -76.5064833,
-                        43.5033881
-                    ],
-                    [
-                        -76.6331208,
-                        43.5033881
-                    ],
-                    [
-                        -76.6331208,
-                        43.4432252
-                    ],
-                    [
-                        -76.6951085,
-                        43.4432252
-                    ],
-                    [
-                        -76.6951085,
-                        43.3786858
-                    ],
-                    [
-                        -76.8177798,
-                        43.3786858
-                    ],
-                    [
-                        -76.8177798,
-                        43.318066
-                    ],
-                    [
-                        -77.682,
-                        43.318066
-                    ],
-                    [
-                        -77.682,
-                        43.3789376
-                    ],
-                    [
-                        -78.0565883,
-                        43.3789376
-                    ],
-                    [
-                        -78.0565883,
-                        43.4396918
-                    ],
-                    [
-                        -78.4389748,
-                        43.4396918
-                    ],
-                    [
-                        -78.4389748,
-                        43.3794382
-                    ],
-                    [
-                        -78.8803396,
-                        43.3794382
-                    ],
-                    [
-                        -78.8803396,
-                        43.3149724
-                    ],
-                    [
-                        -79.1298858,
-                        43.3149724
-                    ],
-                    [
-                        -79.1298858,
-                        43.2429286
-                    ],
-                    [
-                        -79.0669615,
-                        43.2429286
-                    ],
-                    [
-                        -79.0669615,
-                        43.1299931
-                    ],
-                    [
-                        -79.1298858,
-                        43.1299931
-                    ],
-                    [
-                        -79.1298858,
-                        43.0577305
-                    ],
-                    [
-                        -79.071264,
-                        43.0577305
-                    ],
-                    [
-                        -79.071264,
-                        42.9294906
-                    ],
-                    [
-                        -78.943264,
-                        42.9294906
-                    ],
-                    [
-                        -78.943264,
-                        42.7542165
-                    ],
-                    [
-                        -79.069439,
-                        42.7542165
-                    ],
-                    [
-                        -79.069439,
-                        42.6941622
-                    ],
-                    [
-                        -79.133439,
-                        42.6941622
-                    ],
-                    [
-                        -79.133439,
-                        42.6296973
-                    ],
-                    [
-                        -79.1947499,
-                        42.6296973
-                    ],
-                    [
-                        -79.1947499,
-                        42.5663538
-                    ],
-                    [
-                        -79.3786827,
-                        42.5663538
-                    ],
-                    [
-                        -79.3786827,
-                        42.5033425
-                    ],
-                    [
-                        -79.4442961,
-                        42.5033425
-                    ],
-                    [
-                        -79.4442961,
-                        42.4410614
-                    ],
-                    [
-                        -79.5679936,
-                        42.4410614
-                    ],
-                    [
-                        -79.5679936,
-                        42.3775264
-                    ],
-                    [
-                        -79.6906154,
-                        42.3775264
-                    ],
-                    [
-                        -79.6906154,
-                        42.3171086
-                    ],
-                    [
-                        -79.8164642,
-                        42.3171086
-                    ],
-                    [
-                        -79.8164642,
-                        42.2534481
-                    ],
-                    [
-                        -80.0052373,
-                        42.2534481
-                    ],
-                    [
-                        -80.0052373,
-                        42.1909188
-                    ],
-                    [
-                        -80.1916829,
-                        42.1909188
-                    ],
-                    [
-                        -80.1916829,
-                        42.1272555
-                    ],
-                    [
-                        -80.3167992,
-                        42.1272555
-                    ],
-                    [
-                        -80.3167992,
-                        42.0669857
-                    ],
-                    [
-                        -80.5063234,
-                        42.0669857
-                    ],
-                    [
-                        -80.5063234,
-                        42.0034331
-                    ],
-                    [
-                        -80.6930471,
-                        42.0034331
-                    ],
-                    [
-                        -80.6930471,
-                        41.9415141
-                    ],
-                    [
-                        -80.9440403,
-                        41.9415141
-                    ],
-                    [
-                        -80.9440403,
-                        41.8781193
-                    ],
-                    [
-                        -81.1942729,
-                        41.8781193
-                    ],
-                    [
-                        -81.1942729,
-                        41.8166455
-                    ],
-                    [
-                        -81.3190089,
-                        41.8166455
-                    ],
-                    [
-                        -81.3190089,
-                        41.7545453
-                    ],
-                    [
-                        -81.4418435,
-                        41.7545453
-                    ],
-                    [
-                        -81.4418435,
-                        41.690965
-                    ],
-                    [
-                        -81.5053523,
-                        41.690965
-                    ],
-                    [
-                        -81.5053523,
-                        41.6301643
-                    ],
-                    [
-                        -82.7470081,
-                        41.6301643
-                    ],
-                    [
-                        -82.7470081,
-                        41.7536942
-                    ],
-                    [
-                        -82.8839135,
-                        41.7536942
-                    ],
-                    [
-                        -82.8839135,
-                        41.5656075
-                    ],
-                    [
-                        -82.9957195,
-                        41.5656075
-                    ],
-                    [
-                        -82.9957195,
-                        41.6270375
-                    ],
-                    [
-                        -83.1257796,
-                        41.6270375
-                    ],
-                    [
-                        -83.1257796,
-                        41.6878411
-                    ],
-                    [
-                        -83.2474733,
-                        41.6878411
-                    ],
-                    [
-                        -83.2474733,
-                        41.7536942
-                    ],
-                    [
-                        -83.3737305,
-                        41.7536942
-                    ],
-                    [
-                        -83.3737305,
-                        41.809276
-                    ],
-                    [
-                        -83.3106019,
-                        41.809276
-                    ],
-                    [
-                        -83.3106019,
-                        41.8716064
-                    ],
-                    [
-                        -83.2474733,
-                        41.8716064
-                    ],
-                    [
-                        -83.2474733,
-                        41.9361393
-                    ],
-                    [
-                        -83.1843447,
-                        41.9361393
-                    ],
-                    [
-                        -83.1843447,
-                        41.9960851
-                    ],
-                    [
-                        -83.1207681,
-                        41.9960851
-                    ],
-                    [
-                        -83.1207681,
-                        42.2464812
-                    ],
-                    [
-                        -83.0589194,
-                        42.2464812
-                    ],
-                    [
-                        -83.0589194,
-                        42.3089555
-                    ],
-                    [
-                        -82.8685328,
-                        42.3089555
-                    ],
-                    [
-                        -82.8685328,
-                        42.3717652
-                    ],
-                    [
-                        -82.8072219,
-                        42.3717652
-                    ],
-                    [
-                        -82.8072219,
-                        42.558553
-                    ],
-                    [
-                        -82.7553745,
-                        42.558553
-                    ],
-                    [
-                        -82.7553745,
-                        42.4954945
-                    ],
-                    [
-                        -82.5599041,
-                        42.4954945
-                    ],
-                    [
-                        -82.5599041,
-                        42.558553
-                    ],
-                    [
-                        -82.4967755,
-                        42.558553
-                    ],
-                    [
-                        -82.4967755,
-                        42.6833607
-                    ],
-                    [
-                        -82.4328863,
-                        42.6833607
-                    ],
-                    [
-                        -82.4328863,
-                        42.9342196
-                    ],
-                    [
-                        -82.3700552,
-                        42.9342196
-                    ],
-                    [
-                        -82.3700552,
-                        43.0648071
-                    ],
-                    [
-                        -82.4328863,
-                        43.0648071
-                    ],
-                    [
-                        -82.4328863,
-                        43.1917566
-                    ],
-                    [
-                        -82.4947464,
-                        43.1917566
-                    ],
-                    [
-                        -82.4947464,
-                        43.5034627
-                    ],
-                    [
-                        -82.557133,
-                        43.5034627
-                    ],
-                    [
-                        -82.557133,
-                        43.8160901
-                    ],
-                    [
-                        -82.6197884,
-                        43.8160901
-                    ],
-                    [
-                        -82.6197884,
-                        43.9422098
-                    ],
-                    [
-                        -82.6839499,
-                        43.9422098
-                    ],
-                    [
-                        -82.6839499,
-                        44.0022641
-                    ],
-                    [
-                        -82.7465346,
-                        44.0022641
-                    ],
-                    [
-                        -82.7465346,
-                        44.0670545
-                    ],
-                    [
-                        -82.8708696,
-                        44.0670545
-                    ],
-                    [
-                        -82.8708696,
-                        44.1291935
-                    ],
-                    [
-                        -83.008517,
-                        44.1291935
-                    ],
-                    [
-                        -83.008517,
-                        44.0664786
-                    ],
-                    [
-                        -83.1336086,
-                        44.0664786
-                    ],
-                    [
-                        -83.1336086,
-                        44.0053949
-                    ],
-                    [
-                        -83.2414522,
-                        44.0053949
-                    ],
-                    [
-                        -83.2414522,
-                        44.9962034
-                    ],
-                    [
-                        -83.1806112,
-                        44.9962034
-                    ],
-                    [
-                        -83.1806112,
-                        45.067302
-                    ],
-                    [
-                        -83.2455172,
-                        45.067302
-                    ],
-                    [
-                        -83.2455172,
-                        45.1287382
-                    ],
-                    [
-                        -83.3065878,
-                        45.1287382
-                    ],
-                    [
-                        -83.3065878,
-                        45.2551509
-                    ],
-                    [
-                        -83.3706087,
-                        45.2551509
-                    ],
-                    [
-                        -83.3706087,
-                        45.3165923
-                    ],
-                    [
-                        -83.4325644,
-                        45.3165923
-                    ],
-                    [
-                        -83.4325644,
-                        45.3792105
-                    ],
-                    [
-                        -83.6178415,
-                        45.3792105
-                    ],
-                    [
-                        -83.6178415,
-                        45.4419665
-                    ],
-                    [
-                        -83.8084291,
-                        45.4419665
-                    ],
-                    [
-                        -83.8084291,
-                        45.5036189
-                    ],
-                    [
-                        -84.0550718,
-                        45.5036189
-                    ],
-                    [
-                        -84.0550718,
-                        45.5647907
-                    ],
-                    [
-                        -84.1235181,
-                        45.5647907
-                    ],
-                    [
-                        -84.1235181,
-                        45.6287845
-                    ],
-                    [
-                        -84.1807534,
-                        45.6287845
-                    ],
-                    [
-                        -84.1807534,
-                        45.6914688
-                    ],
-                    [
-                        -84.3111554,
-                        45.6914688
-                    ],
-                    [
-                        -84.3111554,
-                        45.9337076
-                    ],
-                    [
-                        -83.8209974,
-                        45.9337076
-                    ],
-                    [
-                        -83.8209974,
-                        45.8725113
-                    ],
-                    [
-                        -83.4968086,
-                        45.8725113
-                    ],
-                    [
-                        -83.4968086,
-                        45.9337076
-                    ],
-                    [
-                        -83.4338066,
-                        45.9337076
-                    ],
-                    [
-                        -83.4338066,
-                        46.0016863
-                    ],
-                    [
-                        -83.4962697,
-                        46.0016863
-                    ],
-                    [
-                        -83.4962697,
-                        46.0668178
-                    ],
-                    [
-                        -83.5599956,
-                        46.0668178
-                    ],
-                    [
-                        -83.5599956,
-                        46.1261576
-                    ],
-                    [
-                        -83.9954558,
-                        46.1261576
-                    ],
-                    [
-                        -83.9954558,
-                        46.1931747
-                    ],
-                    [
-                        -84.0591816,
-                        46.1931747
-                    ],
-                    [
-                        -84.0591816,
-                        46.3814972
-                    ],
-                    [
-                        -84.1152614,
-                        46.3814972
-                    ],
-                    [
-                        -84.1152614,
-                        46.4953584
-                    ],
-                    [
-                        -84.0591816,
-                        46.4953584
-                    ],
-                    [
-                        -84.0591816,
-                        46.5682653
-                    ],
-                    [
-                        -84.2579545,
-                        46.5682653
-                    ],
-                    [
-                        -84.2579545,
-                        46.5051232
-                    ],
-                    [
-                        -84.3071879,
-                        46.5051232
-                    ],
-                    [
-                        -84.3071879,
-                        46.5682653
-                    ],
-                    [
-                        -84.4415364,
-                        46.5682653
-                    ],
-                    [
-                        -84.4415364,
-                        46.504525
-                    ],
-                    [
-                        -84.9965729,
-                        46.504525
-                    ],
-                    [
-                        -84.9965729,
-                        46.6842882
-                    ],
-                    [
-                        -84.9298158,
-                        46.6842882
-                    ],
-                    [
-                        -84.9298158,
-                        46.818077
-                    ],
-                    [
-                        -85.3165894,
-                        46.818077
-                    ],
-                    [
-                        -85.3165894,
-                        46.7535825
-                    ],
-                    [
-                        -87.5562645,
-                        46.7535825
-                    ],
-                    [
-                        -87.5562645,
-                        47.4407371
-                    ],
-                    [
-                        -87.6825361,
-                        47.4407371
-                    ],
-                    [
-                        -87.6825361,
-                        47.5035554
-                    ],
-                    [
-                        -88.2560738,
-                        47.5035554
-                    ],
-                    [
-                        -88.2560738,
-                        47.4433716
-                    ],
-                    [
-                        -88.4417419,
-                        47.4433716
-                    ],
-                    [
-                        -88.4417419,
-                        47.3789949
-                    ],
-                    [
-                        -88.50683,
-                        47.3789949
-                    ],
-                    [
-                        -88.50683,
-                        47.3153881
-                    ],
-                    [
-                        -88.6312821,
-                        47.3153881
-                    ],
-                    [
-                        -88.6312821,
-                        47.2539782
-                    ],
-                    [
-                        -88.7569636,
-                        47.2539782
-                    ],
-                    [
-                        -88.7569636,
-                        47.1934682
-                    ],
-                    [
-                        -88.8838253,
-                        47.1934682
-                    ],
-                    [
-                        -88.8838253,
-                        47.1284735
-                    ],
-                    [
-                        -88.9434208,
-                        47.1284735
-                    ],
-                    [
-                        -88.9434208,
-                        47.0662127
-                    ],
-                    [
-                        -89.0708726,
-                        47.0662127
-                    ],
-                    [
-                        -89.0708726,
-                        47.0026826
-                    ],
-                    [
-                        -89.2565553,
-                        47.0026826
-                    ],
-                    [
-                        -89.2565553,
-                        46.9410806
-                    ],
-                    [
-                        -90.3677669,
-                        46.9410806
-                    ],
-                    [
-                        -90.3677669,
-                        47.6844827
-                    ],
-                    [
-                        -90.3069978,
-                        47.6844827
-                    ],
-                    [
-                        -90.3069978,
-                        47.7460174
-                    ],
-                    [
-                        -89.994859,
-                        47.7460174
-                    ],
-                    [
-                        -89.994859,
-                        47.8082719
-                    ],
-                    [
-                        -89.8048615,
-                        47.8082719
-                    ],
-                    [
-                        -89.8048615,
-                        47.8700562
-                    ],
-                    [
-                        -89.6797699,
-                        47.8700562
-                    ],
-                    [
-                        -89.6797699,
-                        47.9339637
-                    ],
-                    [
-                        -89.4933757,
-                        47.9339637
-                    ],
-                    [
-                        -89.4933757,
-                        47.9957956
-                    ],
-                    [
-                        -89.4284697,
-                        47.9957956
-                    ],
-                    [
-                        -89.4284697,
-                        48.0656377
-                    ],
-                    [
-                        -89.9932739,
-                        48.0656377
-                    ],
-                    [
-                        -89.9932739,
-                        48.1282966
-                    ],
-                    [
-                        -90.7455933,
-                        48.1282966
-                    ],
-                    [
-                        -90.7455933,
-                        48.1893056
-                    ],
-                    [
-                        -90.8087291,
-                        48.1893056
-                    ],
-                    [
-                        -90.8087291,
-                        48.2522065
-                    ],
-                    [
-                        -91.067763,
-                        48.2522065
-                    ],
-                    [
-                        -91.067763,
-                        48.1916658
-                    ],
-                    [
-                        -91.1946247,
-                        48.1916658
-                    ],
-                    [
-                        -91.1946247,
-                        48.1279027
-                    ],
-                    [
-                        -91.6814196,
-                        48.1279027
-                    ],
-                    [
-                        -91.6814196,
-                        48.2525994
-                    ],
-                    [
-                        -91.9321927,
-                        48.2525994
-                    ],
-                    [
-                        -91.9321927,
-                        48.3142454
-                    ],
-                    [
-                        -91.9929683,
-                        48.3142454
-                    ],
-                    [
-                        -91.9929683,
-                        48.3780845
-                    ],
-                    [
-                        -92.3189383,
-                        48.3780845
-                    ],
-                    [
-                        -92.3189383,
-                        48.2529081
-                    ],
-                    [
-                        -92.3732233,
-                        48.2529081
-                    ],
-                    [
-                        -92.3732233,
-                        48.3153385
-                    ],
-                    [
-                        -92.4322288,
-                        48.3153385
-                    ],
-                    [
-                        -92.4322288,
-                        48.4411448
-                    ],
-                    [
-                        -92.4977248,
-                        48.4411448
-                    ],
-                    [
-                        -92.4977248,
-                        48.501781
-                    ],
-                    [
-                        -92.5679413,
-                        48.501781
-                    ],
-                    [
-                        -92.5679413,
-                        48.439579
-                    ],
-                    [
-                        -92.6210462,
-                        48.439579
-                    ],
-                    [
-                        -92.6210462,
-                        48.5650783
-                    ],
-                    [
-                        -92.8086835,
-                        48.5650783
-                    ],
-                    [
-                        -92.8086835,
-                        48.6286865
-                    ],
-                    [
-                        -92.8086835,
-                        48.6267365
-                    ],
-                    [
-                        -92.933185,
-                        48.6267365
-                    ],
-                    [
-                        -92.933185,
-                        48.6922145
-                    ],
-                    [
-                        -93.0051716,
-                        48.6922145
-                    ],
-                    [
-                        -93.0051716,
-                        48.6282965
-                    ],
-                    [
-                        -93.1225924,
-                        48.6282965
-                    ],
-                    [
-                        -93.1225924,
-                        48.6922145
-                    ],
-                    [
-                        -93.3190806,
-                        48.6922145
-                    ],
-                    [
-                        -93.3190806,
-                        48.6267365
-                    ],
-                    [
-                        -93.5049477,
-                        48.6267365
-                    ],
-                    [
-                        -93.5049477,
-                        48.5635164
-                    ],
-                    [
-                        -93.7474601,
-                        48.5635164
-                    ],
-                    [
-                        -93.7474601,
-                        48.6267365
-                    ],
-                    [
-                        -93.8135461,
-                        48.6267365
-                    ],
-                    [
-                        -93.8135461,
-                        48.6898775
-                    ],
-                    [
-                        -94.2453121,
-                        48.6898775
-                    ],
-                    [
-                        -94.2453121,
-                        48.7554327
-                    ],
-                    [
-                        -94.6183171,
-                        48.7554327
-                    ],
-                    [
-                        -94.6183171,
-                        48.941036
-                    ],
-                    [
-                        -94.6809018,
-                        48.941036
-                    ],
-                    [
-                        -94.6809018,
-                        49.0029737
-                    ],
-                    [
-                        -94.7441532,
-                        49.0029737
-                    ],
-                    [
-                        -94.7441532,
-                        49.2536079
-                    ],
-                    [
-                        -94.8084069,
-                        49.2536079
-                    ],
-                    [
-                        -94.8084069,
-                        49.3784134
-                    ],
-                    [
-                        -95.1192391,
-                        49.3784134
-                    ],
-                    [
-                        -95.1192391,
-                        49.4425264
-                    ],
-                    [
-                        -95.1934341,
-                        49.4425264
-                    ],
-                    [
-                        -95.1934341,
-                        49.0035292
-                    ],
-                    [
-                        -96.87069,
-                        49.0035292
-                    ],
-                    [
-                        -96.87069,
-                        49.0656063
-                    ],
-                    [
-                        -99.0049312,
-                        49.0656063
-                    ],
-                    [
-                        -99.0049312,
-                        49.0050714
-                    ],
-                    [
-                        -109.3699257,
-                        49.0050714
-                    ],
-                    [
-                        -109.3699257,
-                        49.0668231
-                    ],
-                    [
-                        -109.5058746,
-                        49.0668231
-                    ],
-                    [
-                        -109.5058746,
-                        49.0050714
-                    ],
-                    [
-                        -114.1830014,
-                        49.0050714
-                    ],
-                    [
-                        -114.1830014,
-                        49.0687317
-                    ],
-                    [
-                        -114.7578709,
-                        49.0687317
-                    ],
-                    [
-                        -114.7578709,
-                        49.0050714
-                    ],
-                    [
-                        -115.433731,
-                        49.0050714
-                    ],
-                    [
-                        -115.433731,
-                        49.0671412
-                    ],
-                    [
-                        -116.5062706,
-                        49.0671412
-                    ],
-                    [
-                        -116.5062706,
-                        49.0050714
-                    ],
-                    [
-                        -117.3089504,
-                        49.0050714
-                    ],
-                    [
-                        -117.3089504,
-                        49.0659803
-                    ],
-                    [
-                        -119.882945,
-                        49.0659803
-                    ],
-                    [
-                        -119.882945,
-                        49.0050714
-                    ],
-                    [
-                        -120.1208555,
-                        49.0050714
-                    ],
-                    [
-                        -120.1208555,
-                        49.0678367
-                    ],
-                    [
-                        -121.4451636,
-                        49.0678367
-                    ],
-                    [
-                        -121.4451636,
-                        49.0050714
-                    ],
-                    [
-                        -121.9311808,
-                        49.0050714
-                    ],
-                    [
-                        -121.9311808,
-                        49.0656099
-                    ],
-                    [
-                        -122.817484,
-                        49.0656099
-                    ],
-                    [
-                        -122.817484,
-                        49.0029143
-                    ],
-                    [
-                        -122.8795155,
-                        49.0029143
-                    ],
-                    [
-                        -122.8795155,
-                        48.9347018
-                    ],
-                    [
-                        -122.8174629,
-                        48.9347018
-                    ],
-                    [
-                        -122.8174629,
-                        48.8101998
-                    ],
-                    [
-                        -122.7538859,
-                        48.8101998
-                    ],
-                    [
-                        -122.7538859,
-                        48.7533758
-                    ],
-                    [
-                        -122.8712937,
-                        48.7533758
-                    ],
-                    [
-                        -122.8712937,
-                        48.8153948
-                    ],
-                    [
-                        -123.0055391,
-                        48.8153948
-                    ],
-                    [
-                        -123.0055391,
-                        48.7529529
-                    ],
-                    [
-                        -123.1296926,
-                        48.7529529
-                    ],
-                    [
-                        -123.1296926,
-                        48.6902201
-                    ],
-                    [
-                        -123.1838197,
-                        48.6902201
-                    ],
-                    [
-                        -123.1838197,
-                        48.7529029
-                    ]
-                ],
-                [
-                    [
-                        -122.9341743,
-                        37.7521547
-                    ],
-                    [
-                        -122.9347457,
-                        37.6842013
-                    ],
-                    [
-                        -123.0679013,
-                        37.6849023
-                    ],
-                    [
-                        -123.0673747,
-                        37.7475251
-                    ],
-                    [
-                        -123.1292603,
-                        37.7478506
-                    ],
-                    [
-                        -123.1286894,
-                        37.815685
-                    ],
-                    [
-                        -123.0590687,
-                        37.8153192
-                    ],
-                    [
-                        -123.0595947,
-                        37.7528143
-                    ]
-                ],
-                [
-                    [
-                        -71.6299464,
-                        41.2540893
-                    ],
-                    [
-                        -71.4966465,
-                        41.2541393
-                    ],
-                    [
-                        -71.4965596,
-                        41.122965
-                    ],
-                    [
-                        -71.6298594,
-                        41.1229149
-                    ]
-                ],
-                [
-                    [
-                        -70.3184265,
-                        41.3775196
-                    ],
-                    [
-                        -70.3183384,
-                        41.2448243
-                    ],
-                    [
-                        -70.1906612,
-                        41.2448722
-                    ],
-                    [
-                        -70.1906239,
-                        41.1886019
-                    ],
-                    [
-                        -69.9336025,
-                        41.1886984
-                    ],
-                    [
-                        -69.933729,
-                        41.3791941
-                    ],
-                    [
-                        -69.9950664,
-                        41.3791712
-                    ],
-                    [
-                        -69.995109,
-                        41.443159
-                    ],
-                    [
-                        -70.0707828,
-                        41.4431307
-                    ],
-                    [
-                        -70.0706972,
-                        41.3144915
-                    ],
-                    [
-                        -70.2461667,
-                        41.3144258
-                    ],
-                    [
-                        -70.2462087,
-                        41.3775467
-                    ]
-                ],
-                [
-                    [
-                        -68.9403374,
-                        43.9404062
-                    ],
-                    [
-                        -68.6856948,
-                        43.9404977
-                    ],
-                    [
-                        -68.6856475,
-                        43.8721797
-                    ],
-                    [
-                        -68.7465405,
-                        43.8721577
-                    ],
-                    [
-                        -68.7464976,
-                        43.8102529
-                    ],
-                    [
-                        -68.8090782,
-                        43.8102304
-                    ],
-                    [
-                        -68.8090343,
-                        43.746728
-                    ],
-                    [
-                        -68.8773094,
-                        43.7467034
-                    ],
-                    [
-                        -68.8773544,
-                        43.8117826
-                    ],
-                    [
-                        -68.9402483,
-                        43.8117599
-                    ]
-                ],
-                [
-                    [
-                        -123.1291466,
-                        49.0645144
-                    ],
-                    [
-                        -122.9954224,
-                        49.0645144
-                    ],
-                    [
-                        -122.9954224,
-                        48.9343243
-                    ],
-                    [
-                        -123.1291466,
-                        48.9343243
-                    ]
-                ],
-                [
-                    [
-                        -82.9407144,
-                        24.7535913
-                    ],
-                    [
-                        -82.8719398,
-                        24.7535913
-                    ],
-                    [
-                        -82.8719398,
-                        24.6905653
-                    ],
-                    [
-                        -82.7446233,
-                        24.6905653
-                    ],
-                    [
-                        -82.7446233,
-                        24.6214593
-                    ],
-                    [
-                        -82.8088038,
-                        24.6214593
-                    ],
-                    [
-                        -82.8088038,
-                        24.5594908
-                    ],
-                    [
-                        -82.9407144,
-                        24.5594908
-                    ]
-                ]
-            ]
-        },
-        {
-            "name": "USGS Topographic Maps",
-            "type": "tms",
-            "template": "http://{switch:a,b,c}.tile.openstreetmap.us/usgs_scanned_topos/{zoom}/{x}/{y}.png",
-            "polygon": [
-                [
-                    [
-                        -125.990173,
-                        48.9962416
-                    ],
-                    [
-                        -125.989419,
-                        47.9948396
-                    ],
-                    [
-                        -123.9929739,
-                        47.9955062
-                    ],
-                    [
-                        -123.9922429,
-                        47.0059202
-                    ],
-                    [
-                        -125.988688,
-                        47.0052409
-                    ],
-                    [
-                        -125.9879604,
-                        46.0015618
-                    ],
-                    [
-                        -123.9939396,
-                        46.0022529
-                    ],
-                    [
-                        -123.9925238,
-                        43.9961708
-                    ],
-                    [
-                        -124.9931832,
-                        43.9958116
-                    ],
-                    [
-                        -124.9918175,
-                        41.9942149
-                    ],
-                    [
-                        -125.9851789,
-                        41.9938465
-                    ],
-                    [
-                        -125.9838655,
-                        40.0076111
-                    ],
-                    [
-                        -123.9833285,
-                        40.0083757
-                    ],
-                    [
-                        -123.9814115,
-                        37.002615
-                    ],
-                    [
-                        -122.21903,
-                        37.0033173
-                    ],
-                    [
-                        -122.2184144,
-                        36.011671
-                    ],
-                    [
-                        -122.020087,
-                        36.011751
-                    ],
-                    [
-                        -122.0188591,
-                        33.9961766
-                    ],
-                    [
-                        -119.9787757,
-                        33.9970206
-                    ],
-                    [
-                        -119.9775867,
-                        31.9987658
-                    ],
-                    [
-                        -114.0122833,
-                        32.00129
-                    ],
-                    [
-                        -114.0116894,
-                        30.9862401
-                    ],
-                    [
-                        -105.998294,
-                        30.9896679
-                    ],
-                    [
-                        -105.9971419,
-                        28.9901065
-                    ],
-                    [
-                        -102.0210506,
-                        28.9918418
-                    ],
-                    [
-                        -102.0204916,
-                        28.00733
-                    ],
-                    [
-                        -100.0062436,
-                        28.0082173
-                    ],
-                    [
-                        -100.0051143,
-                        25.991909
-                    ],
-                    [
-                        -98.0109067,
-                        25.9928035
-                    ],
-                    [
-                        -98.0103613,
-                        25.0063461
-                    ],
-                    [
-                        -97.0161086,
-                        25.0067957
-                    ],
-                    [
-                        -97.016654,
-                        25.9932494
-                    ],
-                    [
-                        -95.9824825,
-                        25.9937132
-                    ],
-                    [
-                        -95.9835999,
-                        27.9891175
-                    ],
-                    [
-                        -94.0200898,
-                        27.9899826
-                    ],
-                    [
-                        -94.0206586,
-                        28.9918129
-                    ],
-                    [
-                        -88.0156706,
-                        28.9944338
-                    ],
-                    [
-                        -88.0162494,
-                        30.0038862
-                    ],
-                    [
-                        -86.0277506,
-                        30.0047454
-                    ],
-                    [
-                        -86.0271719,
-                        28.9953016
-                    ],
-                    [
-                        -84.0187909,
-                        28.9961781
-                    ],
-                    [
-                        -84.017095,
-                        25.9817708
-                    ],
-                    [
-                        -81.9971976,
-                        25.9826768
-                    ],
-                    [
-                        -81.9966618,
-                        25.0134917
-                    ],
-                    [
-                        -84.0165592,
-                        25.0125783
-                    ],
-                    [
-                        -84.0160068,
-                        24.0052745
-                    ],
-                    [
-                        -80.0199985,
-                        24.007096
-                    ],
-                    [
-                        -80.0245309,
-                        32.0161282
-                    ],
-                    [
-                        -78.0066484,
-                        32.0169819
-                    ],
-                    [
-                        -78.0072238,
-                        32.9894278
-                    ],
-                    [
-                        -77.8807233,
-                        32.9894807
-                    ],
-                    [
-                        -77.8813253,
-                        33.9955918
-                    ],
-                    [
-                        -76.0115411,
-                        33.9963653
-                    ],
-                    [
-                        -76.0121459,
-                        34.9952552
-                    ],
-                    [
-                        -74.0068449,
-                        34.9960749
-                    ],
-                    [
-                        -74.0099997,
-                        40.0084254
-                    ],
-                    [
-                        -72.0013745,
-                        40.0091931
-                    ],
-                    [
-                        -72.002019,
-                        40.9912464
-                    ],
-                    [
-                        -69.8797398,
-                        40.9920457
-                    ],
-                    [
-                        -69.8804173,
-                        42.00893
-                    ],
-                    [
-                        -69.9927682,
-                        42.0088883
-                    ],
-                    [
-                        -69.9934462,
-                        43.0105166
-                    ],
-                    [
-                        -67.9845366,
-                        43.0112496
-                    ],
-                    [
-                        -67.985224,
-                        44.0103812
-                    ],
-                    [
-                        -65.9892568,
-                        44.0110975
-                    ],
-                    [
-                        -65.9921237,
-                        47.9993584
-                    ],
-                    [
-                        -70.006442,
-                        47.9980181
-                    ],
-                    [
-                        -70.005708,
-                        47.0042007
-                    ],
-                    [
-                        -72.023686,
-                        47.003514
-                    ],
-                    [
-                        -72.0222508,
-                        45.0059846
-                    ],
-                    [
-                        -78.0146667,
-                        45.0038705
-                    ],
-                    [
-                        -78.0139662,
-                        44.0026998
-                    ],
-                    [
-                        -80.029686,
-                        44.0019763
-                    ],
-                    [
-                        -80.0290052,
-                        43.0122994
-                    ],
-                    [
-                        -81.995479,
-                        43.011582
-                    ],
-                    [
-                        -81.9982986,
-                        47.0042713
-                    ],
-                    [
-                        -87.505706,
-                        47.0023972
-                    ],
-                    [
-                        -87.5064535,
-                        48.0142702
-                    ],
-                    [
-                        -88.0260889,
-                        48.0140968
-                    ],
-                    [
-                        -88.026838,
-                        49.0086686
-                    ],
-                    [
-                        -93.9981078,
-                        49.0067142
-                    ],
-                    [
-                        -93.9988778,
-                        50.0086456
-                    ],
-                    [
-                        -96.0138899,
-                        50.0079995
-                    ],
-                    [
-                        -96.0131199,
-                        49.0060547
-                    ]
-                ],
-                [
-                    [
-                        -160.5787616,
-                        22.5062947
-                    ],
-                    [
-                        -160.5782192,
-                        21.4984647
-                    ],
-                    [
-                        -159.0030121,
-                        21.499196
-                    ],
-                    [
-                        -159.0027422,
-                        20.9951068
-                    ],
-                    [
-                        -157.5083185,
-                        20.995803
-                    ],
-                    [
-                        -157.5080519,
-                        20.4960241
-                    ],
-                    [
-                        -155.966889,
-                        20.4967444
-                    ],
-                    [
-                        -155.9674267,
-                        21.5028287
-                    ],
-                    [
-                        -157.5044717,
-                        21.5021151
-                    ],
-                    [
-                        -157.5047384,
-                        21.9984962
-                    ],
-                    [
-                        -159.0090946,
-                        21.9978002
-                    ],
-                    [
-                        -159.0093692,
-                        22.5070181
-                    ]
-                ],
-                [
-                    [
-                        -168.006102,
-                        68.9941463
-                    ],
-                    [
-                        -168.0047628,
-                        68.0107853
-                    ],
-                    [
-                        -165.4842481,
-                        68.0112562
-                    ],
-                    [
-                        -165.4829337,
-                        67.0037303
-                    ],
-                    [
-                        -168.0034485,
-                        67.0032389
-                    ],
-                    [
-                        -168.002195,
-                        66.0017503
-                    ],
-                    [
-                        -169.0087448,
-                        66.001546
-                    ],
-                    [
-                        -169.0075381,
-                        64.9987675
-                    ],
-                    [
-                        -168.0009882,
-                        64.9989798
-                    ],
-                    [
-                        -167.9998282,
-                        63.9982374
-                    ],
-                    [
-                        -164.9871288,
-                        63.9988964
-                    ],
-                    [
-                        -164.9860062,
-                        62.9950845
-                    ],
-                    [
-                        -167.9987057,
-                        62.9944019
-                    ],
-                    [
-                        -167.9946035,
-                        59.0153692
-                    ],
-                    [
-                        -162.5027857,
-                        59.0167799
-                    ],
-                    [
-                        -162.5018149,
-                        58.0005815
-                    ],
-                    [
-                        -160.0159024,
-                        58.0012389
-                    ],
-                    [
-                        -160.0149725,
-                        57.000035
-                    ],
-                    [
-                        -160.5054788,
-                        56.9999017
-                    ],
-                    [
-                        -160.5045719,
-                        55.9968161
-                    ],
-                    [
-                        -164.012195,
-                        55.9958373
-                    ],
-                    [
-                        -164.0113186,
-                        55.00107
-                    ],
-                    [
-                        -165.994782,
-                        55.0005023
-                    ],
-                    [
-                        -165.9941266,
-                        54.2400584
-                    ],
-                    [
-                        -168.0002944,
-                        54.2394734
-                    ],
-                    [
-                        -168.0000986,
-                        54.0094921
-                    ],
-                    [
-                        -170.0156134,
-                        54.0089011
-                    ],
-                    [
-                        -170.0147683,
-                        53.0016446
-                    ],
-                    [
-                        -171.9993636,
-                        53.0010487
-                    ],
-                    [
-                        -171.9989488,
-                        52.4977745
-                    ],
-                    [
-                        -176.0083239,
-                        52.4965566
-                    ],
-                    [
-                        -176.0081186,
-                        52.2452555
-                    ],
-                    [
-                        -178.000097,
-                        52.2446469
-                    ],
-                    [
-                        -177.9992996,
-                        51.2554252
-                    ],
-                    [
-                        -176.0073212,
-                        51.2560472
-                    ],
-                    [
-                        -176.0075146,
-                        51.4980163
-                    ],
-                    [
-                        -171.9981395,
-                        51.4992617
-                    ],
-                    [
-                        -171.9985419,
-                        51.9985373
-                    ],
-                    [
-                        -167.9984317,
-                        51.9997661
-                    ],
-                    [
-                        -167.9994645,
-                        53.2560877
-                    ],
-                    [
-                        -165.9932968,
-                        53.2566866
-                    ],
-                    [
-                        -165.9939308,
-                        54.0100804
-                    ],
-                    [
-                        -159.0067205,
-                        54.0121291
-                    ],
-                    [
-                        -159.0075717,
-                        55.002502
-                    ],
-                    [
-                        -158.0190709,
-                        55.0027849
-                    ],
-                    [
-                        -158.0199473,
-                        55.9975094
-                    ],
-                    [
-                        -151.9963213,
-                        55.9991902
-                    ],
-                    [
-                        -151.9981536,
-                        57.9986536
-                    ],
-                    [
-                        -151.500341,
-                        57.9987853
-                    ],
-                    [
-                        -151.5012894,
-                        58.9919816
-                    ],
-                    [
-                        -138.5159989,
-                        58.9953194
-                    ],
-                    [
-                        -138.5150471,
-                        57.9986434
-                    ],
-                    [
-                        -136.6872422,
-                        57.9991267
-                    ],
-                    [
-                        -136.6863158,
-                        57.0016688
-                    ],
-                    [
-                        -135.9973698,
-                        57.001856
-                    ],
-                    [
-                        -135.9964667,
-                        56.0030544
-                    ],
-                    [
-                        -134.6717732,
-                        56.003424
-                    ],
-                    [
-                        -134.6708865,
-                        54.9969623
-                    ],
-                    [
-                        -133.9956734,
-                        54.9971556
-                    ],
-                    [
-                        -133.9948193,
-                        54.0031685
-                    ],
-                    [
-                        -130.0044418,
-                        54.0043387
-                    ],
-                    [
-                        -130.0070826,
-                        57.0000507
-                    ],
-                    [
-                        -131.975877,
-                        56.9995156
-                    ],
-                    [
-                        -131.9787378,
-                        59.9933094
-                    ],
-                    [
-                        -138.0071813,
-                        59.991805
-                    ],
-                    [
-                        -138.0082158,
-                        61.0125755
-                    ],
-                    [
-                        -140.9874011,
-                        61.0118551
-                    ],
-                    [
-                        -140.99984,
-                        71.0039309
-                    ],
-                    [
-                        -154.5023956,
-                        71.0017377
-                    ],
-                    [
-                        -154.5039632,
-                        71.9983391
-                    ],
-                    [
-                        -157.499048,
-                        71.9978773
-                    ],
-                    [
-                        -157.4974758,
-                        70.9982877
-                    ],
-                    [
-                        -163.0233611,
-                        70.9973899
-                    ],
-                    [
-                        -163.0218273,
-                        69.9707435
-                    ],
-                    [
-                        -164.9730896,
-                        69.97041
-                    ],
-                    [
-                        -164.9717003,
-                        68.994689
-                    ]
-                ],
-                [
-                    [
-                        -168.5133204,
-                        62.8689586
-                    ],
-                    [
-                        -168.5144423,
-                        63.8765677
-                    ],
-                    [
-                        -172.0202755,
-                        63.8757975
-                    ],
-                    [
-                        -172.0191536,
-                        62.8681608
-                    ]
-                ],
-                [
-                    [
-                        -170.9947111,
-                        59.9954089
-                    ],
-                    [
-                        -170.995726,
-                        60.9969787
-                    ],
-                    [
-                        -174.0045311,
-                        60.9962508
-                    ],
-                    [
-                        -174.0035162,
-                        59.9946581
-                    ]
-                ],
-                [
-                    [
-                        -156.0717261,
-                        20.2854602
-                    ],
-                    [
-                        -154.7940471,
-                        20.2860582
-                    ],
-                    [
-                        -154.7933145,
-                        18.9029464
-                    ],
-                    [
-                        -156.0709936,
-                        18.9023432
-                    ]
-                ]
-            ]
-        },
-        {
-            "name": "Vejmidte (Denmark)",
-            "type": "tms",
-            "template": "http://{switch:a,b,c}.tile.openstreetmap.dk/danmark/vejmidte/{zoom}/{x}/{y}.png",
-            "scaleExtent": [
-                0,
-                20
-            ],
-            "polygon": [
-                [
-                    [
-                        8.3743941,
-                        54.9551655
-                    ],
-                    [
-                        8.3683809,
-                        55.4042149
-                    ],
-                    [
-                        8.2103997,
-                        55.4039795
-                    ],
-                    [
-                        8.2087314,
-                        55.4937345
-                    ],
-                    [
-                        8.0502655,
-                        55.4924731
-                    ],
-                    [
-                        8.0185123,
-                        56.7501399
-                    ],
-                    [
-                        8.1819161,
-                        56.7509948
-                    ],
-                    [
-                        8.1763274,
-                        57.0208898
-                    ],
-                    [
-                        8.3413329,
-                        57.0219872
-                    ],
-                    [
-                        8.3392467,
-                        57.1119574
-                    ],
-                    [
-                        8.5054433,
-                        57.1123212
-                    ],
-                    [
-                        8.5033923,
-                        57.2020499
-                    ],
-                    [
-                        9.3316304,
-                        57.2027636
-                    ],
-                    [
-                        9.3319079,
-                        57.2924835
-                    ],
-                    [
-                        9.4978864,
-                        57.2919578
-                    ],
-                    [
-                        9.4988593,
-                        57.3820608
-                    ],
-                    [
-                        9.6649749,
-                        57.3811615
-                    ],
-                    [
-                        9.6687295,
-                        57.5605591
-                    ],
-                    [
-                        9.8351961,
-                        57.5596265
-                    ],
-                    [
-                        9.8374896,
-                        57.6493322
-                    ],
-                    [
-                        10.1725726,
-                        57.6462818
-                    ],
-                    [
-                        10.1754245,
-                        57.7367768
-                    ],
-                    [
-                        10.5118282,
-                        57.7330269
-                    ],
-                    [
-                        10.5152095,
-                        57.8228945
-                    ],
-                    [
-                        10.6834853,
-                        57.8207722
-                    ],
-                    [
-                        10.6751613,
-                        57.6412021
-                    ],
-                    [
-                        10.5077045,
-                        57.6433097
-                    ],
-                    [
-                        10.5039992,
-                        57.5535088
-                    ],
-                    [
-                        10.671038,
-                        57.5514113
-                    ],
-                    [
-                        10.6507805,
-                        57.1024538
-                    ],
-                    [
-                        10.4857673,
-                        57.1045138
-                    ],
-                    [
-                        10.4786236,
-                        56.9249051
-                    ],
-                    [
-                        10.3143981,
-                        56.9267573
-                    ],
-                    [
-                        10.3112341,
-                        56.8369269
-                    ],
-                    [
-                        10.4750295,
-                        56.83509
-                    ],
-                    [
-                        10.4649016,
-                        56.5656681
-                    ],
-                    [
-                        10.9524239,
-                        56.5589761
-                    ],
-                    [
-                        10.9479249,
-                        56.4692243
-                    ],
-                    [
-                        11.1099335,
-                        56.4664675
-                    ],
-                    [
-                        11.1052639,
-                        56.376833
-                    ],
-                    [
-                        10.9429901,
-                        56.3795284
-                    ],
-                    [
-                        10.9341235,
-                        56.1994768
-                    ],
-                    [
-                        10.7719685,
-                        56.2020244
-                    ],
-                    [
-                        10.7694751,
-                        56.1120103
-                    ],
-                    [
-                        10.6079695,
-                        56.1150259
-                    ],
-                    [
-                        10.4466742,
-                        56.116717
-                    ],
-                    [
-                        10.2865948,
-                        56.118675
-                    ],
-                    [
-                        10.2831527,
-                        56.0281851
-                    ],
-                    [
-                        10.4439274,
-                        56.0270388
-                    ],
-                    [
-                        10.4417713,
-                        55.7579243
-                    ],
-                    [
-                        10.4334961,
-                        55.6693533
-                    ],
-                    [
-                        10.743814,
-                        55.6646861
-                    ],
-                    [
-                        10.743814,
-                        55.5712253
-                    ],
-                    [
-                        10.8969041,
-                        55.5712253
-                    ],
-                    [
-                        10.9051793,
-                        55.3953852
-                    ],
-                    [
-                        11.0613726,
-                        55.3812841
-                    ],
-                    [
-                        11.0593038,
-                        55.1124061
-                    ],
-                    [
-                        11.0458567,
-                        55.0318621
-                    ],
-                    [
-                        11.2030844,
-                        55.0247474
-                    ],
-                    [
-                        11.2030844,
-                        55.117139
-                    ],
-                    [
-                        11.0593038,
-                        55.1124061
-                    ],
-                    [
-                        11.0613726,
-                        55.3812841
-                    ],
-                    [
-                        11.0789572,
-                        55.5712253
-                    ],
-                    [
-                        10.8969041,
-                        55.5712253
-                    ],
-                    [
-                        10.9258671,
-                        55.6670198
-                    ],
-                    [
-                        10.743814,
-                        55.6646861
-                    ],
-                    [
-                        10.7562267,
-                        55.7579243
-                    ],
-                    [
-                        10.4417713,
-                        55.7579243
-                    ],
-                    [
-                        10.4439274,
-                        56.0270388
-                    ],
-                    [
-                        10.4466742,
-                        56.116717
-                    ],
-                    [
-                        10.6079695,
-                        56.1150259
-                    ],
-                    [
-                        10.6052053,
-                        56.0247462
-                    ],
-                    [
-                        10.9258671,
-                        56.0201215
-                    ],
-                    [
-                        10.9197132,
-                        55.9309388
-                    ],
-                    [
-                        11.0802782,
-                        55.92792
-                    ],
-                    [
-                        11.0858066,
-                        56.0178284
-                    ],
-                    [
-                        11.7265047,
-                        56.005058
-                    ],
-                    [
-                        11.7319981,
-                        56.0952142
-                    ],
-                    [
-                        12.0540333,
-                        56.0871256
-                    ],
-                    [
-                        12.0608477,
-                        56.1762576
-                    ],
-                    [
-                        12.7023469,
-                        56.1594405
-                    ],
-                    [
-                        12.6611131,
-                        55.7114318
-                    ],
-                    [
-                        12.9792318,
-                        55.7014026
-                    ],
-                    [
-                        12.9612912,
-                        55.5217294
-                    ],
-                    [
-                        12.3268659,
-                        55.5412096
-                    ],
-                    [
-                        12.3206071,
-                        55.4513655
-                    ],
-                    [
-                        12.4778226,
-                        55.447067
-                    ],
-                    [
-                        12.4702432,
-                        55.3570479
-                    ],
-                    [
-                        12.6269738,
-                        55.3523837
-                    ],
-                    [
-                        12.6200898,
-                        55.2632576
-                    ],
-                    [
-                        12.4627339,
-                        55.26722
-                    ],
-                    [
-                        12.4552949,
-                        55.1778223
-                    ],
-                    [
-                        12.2987046,
-                        55.1822303
-                    ],
-                    [
-                        12.2897344,
-                        55.0923641
-                    ],
-                    [
-                        12.6048608,
-                        55.0832904
-                    ],
-                    [
-                        12.5872011,
-                        54.9036285
-                    ],
-                    [
-                        12.2766618,
-                        54.9119031
-                    ],
-                    [
-                        12.2610181,
-                        54.7331602
-                    ],
-                    [
-                        12.1070691,
-                        54.7378161
-                    ],
-                    [
-                        12.0858621,
-                        54.4681655
-                    ],
-                    [
-                        11.7794953,
-                        54.4753579
-                    ],
-                    [
-                        11.7837381,
-                        54.5654783
-                    ],
-                    [
-                        11.1658525,
-                        54.5782155
-                    ],
-                    [
-                        11.1706443,
-                        54.6686508
-                    ],
-                    [
-                        10.8617173,
-                        54.6733956
-                    ],
-                    [
-                        10.8651245,
-                        54.7634667
-                    ],
-                    [
-                        10.7713646,
-                        54.7643888
-                    ],
-                    [
-                        10.7707276,
-                        54.7372807
-                    ],
-                    [
-                        10.7551428,
-                        54.7375776
-                    ],
-                    [
-                        10.7544039,
-                        54.7195666
-                    ],
-                    [
-                        10.7389074,
-                        54.7197588
-                    ],
-                    [
-                        10.7384368,
-                        54.7108482
-                    ],
-                    [
-                        10.7074486,
-                        54.7113045
-                    ],
-                    [
-                        10.7041094,
-                        54.6756741
-                    ],
-                    [
-                        10.5510973,
-                        54.6781698
-                    ],
-                    [
-                        10.5547184,
-                        54.7670245
-                    ],
-                    [
-                        10.2423994,
-                        54.7705935
-                    ],
-                    [
-                        10.2459845,
-                        54.8604673
-                    ],
-                    [
-                        10.0902268,
-                        54.8622134
-                    ],
-                    [
-                        10.0873731,
-                        54.7723851
-                    ],
-                    [
-                        9.1555798,
-                        54.7769557
-                    ],
-                    [
-                        9.1562752,
-                        54.8675369
-                    ],
-                    [
-                        8.5321973,
-                        54.8663765
-                    ],
-                    [
-                        8.531432,
-                        54.95516
-                    ]
-                ],
-                [
-                    [
-                        11.4577738,
-                        56.819554
-                    ],
-                    [
-                        11.7849181,
-                        56.8127385
-                    ],
-                    [
-                        11.7716715,
-                        56.6332796
-                    ],
-                    [
-                        11.4459621,
-                        56.6401087
-                    ]
-                ],
-                [
-                    [
-                        11.3274736,
-                        57.3612962
-                    ],
-                    [
-                        11.3161808,
-                        57.1818004
-                    ],
-                    [
-                        11.1508692,
-                        57.1847276
-                    ],
-                    [
-                        11.1456628,
-                        57.094962
-                    ],
-                    [
-                        10.8157703,
-                        57.1001693
-                    ],
-                    [
-                        10.8290599,
-                        57.3695272
-                    ]
-                ],
-                [
-                    [
-                        11.5843266,
-                        56.2777928
-                    ],
-                    [
-                        11.5782882,
-                        56.1880397
-                    ],
-                    [
-                        11.7392309,
-                        56.1845765
-                    ],
-                    [
-                        11.7456428,
-                        56.2743186
-                    ]
-                ],
-                [
-                    [
-                        14.6825922,
-                        55.3639405
-                    ],
-                    [
-                        14.8395247,
-                        55.3565231
-                    ],
-                    [
-                        14.8263755,
-                        55.2671261
-                    ],
-                    [
-                        15.1393406,
-                        55.2517359
-                    ],
-                    [
-                        15.1532015,
-                        55.3410836
-                    ],
-                    [
-                        15.309925,
-                        55.3330556
-                    ],
-                    [
-                        15.295719,
-                        55.2437356
-                    ],
-                    [
-                        15.1393406,
-                        55.2517359
-                    ],
-                    [
-                        15.1255631,
-                        55.1623802
-                    ],
-                    [
-                        15.2815819,
-                        55.1544167
-                    ],
-                    [
-                        15.2535578,
-                        54.9757646
-                    ],
-                    [
-                        14.6317464,
-                        55.0062496
-                    ]
-                ]
-            ],
-            "terms_url": "http://wiki.openstreetmap.org/wiki/Vejmidte",
-            "terms_text": "Danish municipalities"
-        },
-        {
-            "name": "Vienna: Beschriftungen (annotations)",
-            "type": "tms",
-            "template": "http://www.wien.gv.at/wmts/beschriftung/normal/google3857/{zoom}/{y}/{x}.png",
-            "scaleExtent": [
-                0,
-                19
-            ],
-            "polygon": [
-                [
-                    [
-                        16.17,
-                        48.1
-                    ],
-                    [
-                        16.17,
-                        48.33
-                    ],
-                    [
-                        16.58,
-                        48.33
-                    ],
-                    [
-                        16.58,
-                        48.1
-                    ],
-                    [
-                        16.17,
-                        48.1
-                    ]
-                ]
-            ],
-            "terms_url": "http://data.wien.gv.at/",
-            "terms_text": "Stadt Wien"
-        },
-        {
-            "name": "Vienna: Mehrzweckkarte (general purpose)",
-            "type": "tms",
-            "template": "http://www.wien.gv.at/wmts/fmzk/pastell/google3857/{zoom}/{y}/{x}.jpeg",
-            "scaleExtent": [
-                0,
-                19
-            ],
-            "polygon": [
-                [
-                    [
-                        16.17,
-                        48.1
-                    ],
-                    [
-                        16.17,
-                        48.33
-                    ],
-                    [
-                        16.58,
-                        48.33
-                    ],
-                    [
-                        16.58,
-                        48.1
-                    ],
-                    [
-                        16.17,
-                        48.1
-                    ]
-                ]
-            ],
-            "terms_url": "http://data.wien.gv.at/",
-            "terms_text": "Stadt Wien"
-        },
-        {
-            "name": "Vienna: Orthofoto (aerial image)",
-            "type": "tms",
-            "template": "http://www.wien.gv.at/wmts/lb/farbe/google3857/{zoom}/{y}/{x}.jpeg",
-            "scaleExtent": [
-                0,
-                19
-            ],
-            "polygon": [
-                [
-                    [
-                        16.17,
-                        48.1
-                    ],
-                    [
-                        16.17,
-                        48.33
-                    ],
-                    [
-                        16.58,
-                        48.33
-                    ],
-                    [
-                        16.58,
-                        48.1
-                    ],
-                    [
-                        16.17,
-                        48.1
-                    ]
-                ]
-            ],
-            "terms_url": "http://data.wien.gv.at/",
-            "terms_text": "Stadt Wien"
-        },
-        {
-            "name": "basemap.at",
-            "type": "tms",
-            "description": "Basemap of Austria, based on goverment data.",
-            "template": "http://maps.wien.gv.at/basemap/geolandbasemap/normal/google3857/{zoom}/{y}/{x}.jpeg",
-            "polygon": [
-                [
-                    [
-                        16.5073284,
-                        46.9929304
-                    ],
-                    [
-                        16.283417,
-                        46.9929304
-                    ],
-                    [
-                        16.135839,
-                        46.8713046
-                    ],
-                    [
-                        15.9831722,
-                        46.8190947
-                    ],
-                    [
-                        16.0493278,
-                        46.655175
-                    ],
-                    [
-                        15.8610387,
-                        46.7180116
-                    ],
-                    [
-                        15.7592608,
-                        46.6900933
-                    ],
-                    [
-                        15.5607938,
-                        46.6796202
-                    ],
-                    [
-                        15.5760605,
-                        46.6342132
-                    ],
-                    [
-                        15.4793715,
-                        46.6027553
-                    ],
-                    [
-                        15.4335715,
-                        46.6516819
-                    ],
-                    [
-                        15.2249267,
-                        46.6342132
-                    ],
-                    [
-                        15.0468154,
-                        46.6481886
-                    ],
-                    [
-                        14.9908376,
-                        46.5887681
-                    ],
-                    [
-                        14.9603042,
-                        46.6237293
-                    ],
-                    [
-                        14.8534374,
-                        46.6027553
-                    ],
-                    [
-                        14.8330818,
-                        46.5012666
-                    ],
-                    [
-                        14.7516595,
-                        46.4977636
-                    ],
-                    [
-                        14.6804149,
-                        46.4381781
-                    ],
-                    [
-                        14.6142593,
-                        46.4381781
-                    ],
-                    [
-                        14.578637,
-                        46.3785275
-                    ],
-                    [
-                        14.4412369,
-                        46.4311638
-                    ],
-                    [
-                        14.1613476,
-                        46.4276563
-                    ],
-                    [
-                        14.1257253,
-                        46.4767409
-                    ],
-                    [
-                        14.0188585,
-                        46.4767409
-                    ],
-                    [
-                        13.9119917,
-                        46.5257813
-                    ],
-                    [
-                        13.8254805,
-                        46.5047694
-                    ],
-                    [
-                        13.4438134,
-                        46.560783
-                    ],
-                    [
-                        13.3064132,
-                        46.5502848
-                    ],
-                    [
-                        13.1283019,
-                        46.5887681
-                    ],
-                    [
-                        12.8433237,
-                        46.6132433
-                    ],
-                    [
-                        12.7262791,
-                        46.6412014
-                    ],
-                    [
-                        12.5125455,
-                        46.6656529
-                    ],
-                    [
-                        12.3598787,
-                        46.7040543
-                    ],
-                    [
-                        12.3649676,
-                        46.7703197
-                    ],
-                    [
-                        12.2886341,
-                        46.7772902
-                    ],
-                    [
-                        12.2733674,
-                        46.8852187
-                    ],
-                    [
-                        12.2072118,
-                        46.8747835
-                    ],
-                    [
-                        12.1308784,
-                        46.9026062
-                    ],
-                    [
-                        12.1156117,
-                        46.9998721
-                    ],
-                    [
-                        12.2530119,
-                        47.0657733
-                    ],
-                    [
-                        12.2123007,
-                        47.0934969
-                    ],
-                    [
-                        11.9833004,
-                        47.0449712
-                    ],
-                    [
-                        11.7339445,
-                        46.9616816
-                    ],
-                    [
-                        11.6321666,
-                        47.010283
-                    ],
-                    [
-                        11.5405665,
-                        46.9755722
-                    ],
-                    [
-                        11.4998553,
-                        47.0068129
-                    ],
-                    [
-                        11.418433,
-                        46.9651546
-                    ],
-                    [
-                        11.2555884,
-                        46.9755722
-                    ],
-                    [
-                        11.1130993,
-                        46.913036
-                    ],
-                    [
-                        11.0418548,
-                        46.7633482
-                    ],
-                    [
-                        10.8891879,
-                        46.7598621
-                    ],
-                    [
-                        10.7416099,
-                        46.7842599
-                    ],
-                    [
-                        10.7059877,
-                        46.8643462
-                    ],
-                    [
-                        10.5787653,
-                        46.8399847
-                    ],
-                    [
-                        10.4566318,
-                        46.8504267
-                    ],
-                    [
-                        10.4769874,
-                        46.9269392
-                    ],
-                    [
-                        10.3853873,
-                        46.9894592
-                    ],
-                    [
-                        10.2327204,
-                        46.8643462
-                    ],
-                    [
-                        10.1207647,
-                        46.8330223
-                    ],
-                    [
-                        9.8663199,
-                        46.9408389
-                    ],
-                    [
-                        9.9019422,
-                        47.0033426
-                    ],
-                    [
-                        9.6831197,
-                        47.0588402
-                    ],
-                    [
-                        9.6118752,
-                        47.0380354
-                    ],
-                    [
-                        9.6322307,
-                        47.128131
-                    ],
-                    [
-                        9.5813418,
-                        47.1662025
-                    ],
-                    [
-                        9.5406306,
-                        47.2664422
-                    ],
-                    [
-                        9.6067863,
-                        47.3492559
-                    ],
-                    [
-                        9.6729419,
-                        47.369939
-                    ],
-                    [
-                        9.6424085,
-                        47.4457079
-                    ],
-                    [
-                        9.5660751,
-                        47.4801122
-                    ],
-                    [
-                        9.7136531,
-                        47.5282405
-                    ],
-                    [
-                        9.7848976,
-                        47.5969187
-                    ],
-                    [
-                        9.8357866,
-                        47.5454185
-                    ],
-                    [
-                        9.9477423,
-                        47.538548
-                    ],
-                    [
-                        10.0902313,
-                        47.4491493
-                    ],
-                    [
-                        10.1105869,
-                        47.3664924
-                    ],
-                    [
-                        10.2428982,
-                        47.3871688
-                    ],
-                    [
-                        10.1869203,
-                        47.2698953
-                    ],
-                    [
-                        10.3243205,
-                        47.2975125
-                    ],
-                    [
-                        10.4820763,
-                        47.4491493
-                    ],
-                    [
-                        10.4311873,
-                        47.4869904
-                    ],
-                    [
-                        10.4413651,
-                        47.5900549
-                    ],
-                    [
-                        10.4871652,
-                        47.5522881
-                    ],
-                    [
-                        10.5482319,
-                        47.5351124
-                    ],
-                    [
-                        10.5991209,
-                        47.5660246
-                    ],
-                    [
-                        10.7568766,
-                        47.5316766
-                    ],
-                    [
-                        10.8891879,
-                        47.5454185
-                    ],
-                    [
-                        10.9400769,
-                        47.4869904
-                    ],
-                    [
-                        10.9960547,
-                        47.3906141
-                    ],
-                    [
-                        11.2352328,
-                        47.4422662
-                    ],
-                    [
-                        11.2810328,
-                        47.3975039
-                    ],
-                    [
-                        11.4235219,
-                        47.5144941
-                    ],
-                    [
-                        11.5761888,
-                        47.5076195
-                    ],
-                    [
-                        11.6067221,
-                        47.5900549
-                    ],
-                    [
-                        11.8357224,
-                        47.5866227
-                    ],
-                    [
-                        12.003656,
-                        47.6243647
-                    ],
-                    [
-                        12.2072118,
-                        47.6037815
-                    ],
-                    [
-                        12.1614117,
-                        47.6963421
-                    ],
-                    [
-                        12.2581008,
-                        47.7442718
-                    ],
-                    [
-                        12.2530119,
-                        47.6792136
-                    ],
-                    [
-                        12.4311232,
-                        47.7100408
-                    ],
-                    [
-                        12.4921899,
-                        47.631224
-                    ],
-                    [
-                        12.5685234,
-                        47.6277944
-                    ],
-                    [
-                        12.6295901,
-                        47.6894913
-                    ],
-                    [
-                        12.7720792,
-                        47.6689338
-                    ],
-                    [
-                        12.8331459,
-                        47.5419833
-                    ],
-                    [
-                        12.975635,
-                        47.4732332
-                    ],
-                    [
-                        13.0417906,
-                        47.4938677
-                    ],
-                    [
-                        13.0367017,
-                        47.5557226
-                    ],
-                    [
-                        13.0977685,
-                        47.6415112
-                    ],
-                    [
-                        13.0316128,
-                        47.7100408
-                    ],
-                    [
-                        12.9043905,
-                        47.7203125
-                    ],
-                    [
-                        13.0061684,
-                        47.84683
-                    ],
-                    [
-                        12.9451016,
-                        47.9355501
-                    ],
-                    [
-                        12.8636793,
-                        47.9594103
-                    ],
-                    [
-                        12.8636793,
-                        48.0036929
-                    ],
-                    [
-                        12.7517236,
-                        48.0989418
-                    ],
-                    [
-                        12.8738571,
-                        48.2109733
-                    ],
-                    [
-                        12.9603683,
-                        48.2109733
-                    ],
-                    [
-                        13.0417906,
-                        48.2652035
-                    ],
-                    [
-                        13.1842797,
-                        48.2990682
-                    ],
-                    [
-                        13.2606131,
-                        48.2922971
-                    ],
-                    [
-                        13.3980133,
-                        48.3565867
-                    ],
-                    [
-                        13.4438134,
-                        48.417418
-                    ],
-                    [
-                        13.4387245,
-                        48.5523383
-                    ],
-                    [
-                        13.509969,
-                        48.5860123
-                    ],
-                    [
-                        13.6117469,
-                        48.5725454
-                    ],
-                    [
-                        13.7287915,
-                        48.5118999
-                    ],
-                    [
-                        13.7847694,
-                        48.5725454
-                    ],
-                    [
-                        13.8203916,
-                        48.6263915
-                    ],
-                    [
-                        13.7949471,
-                        48.7171267
-                    ],
-                    [
-                        13.850925,
-                        48.7741724
-                    ],
-                    [
-                        14.0595697,
-                        48.6633774
-                    ],
-                    [
-                        14.0137696,
-                        48.6331182
-                    ],
-                    [
-                        14.0748364,
-                        48.5927444
-                    ],
-                    [
-                        14.2173255,
-                        48.5961101
-                    ],
-                    [
-                        14.3649034,
-                        48.5489696
-                    ],
-                    [
-                        14.4666813,
-                        48.6499311
-                    ],
-                    [
-                        14.5582815,
-                        48.5961101
-                    ],
-                    [
-                        14.5989926,
-                        48.6263915
-                    ],
-                    [
-                        14.7211261,
-                        48.5759124
-                    ],
-                    [
-                        14.7211261,
-                        48.6868997
-                    ],
-                    [
-                        14.822904,
-                        48.7271983
-                    ],
-                    [
-                        14.8178151,
-                        48.777526
-                    ],
-                    [
-                        14.9647227,
-                        48.7851754
-                    ],
-                    [
-                        14.9893637,
-                        49.0126611
-                    ],
-                    [
-                        15.1485933,
-                        48.9950306
-                    ],
-                    [
-                        15.1943934,
-                        48.9315502
-                    ],
-                    [
-                        15.3063491,
-                        48.9850128
-                    ],
-                    [
-                        15.3928603,
-                        48.9850128
-                    ],
-                    [
-                        15.4844604,
-                        48.9282069
-                    ],
-                    [
-                        15.749083,
-                        48.8545973
-                    ],
-                    [
-                        15.8406831,
-                        48.8880697
-                    ],
-                    [
-                        16.0086166,
-                        48.7808794
-                    ],
-                    [
-                        16.2070835,
-                        48.7339115
-                    ],
-                    [
-                        16.3953727,
-                        48.7372678
-                    ],
-                    [
-                        16.4920617,
-                        48.8110498
-                    ],
-                    [
-                        16.6905286,
-                        48.7741724
-                    ],
-                    [
-                        16.7057953,
-                        48.7339115
-                    ],
-                    [
-                        16.8991733,
-                        48.713769
-                    ],
-                    [
-                        16.9755067,
-                        48.515271
-                    ],
-                    [
-                        16.8482844,
-                        48.4511817
-                    ],
-                    [
-                        16.8533733,
-                        48.3464411
-                    ],
-                    [
-                        16.9551512,
-                        48.2516513
-                    ],
-                    [
-                        16.9907734,
-                        48.1498955
-                    ],
-                    [
-                        17.0925513,
-                        48.1397088
-                    ],
-                    [
-                        17.0823736,
-                        48.0241182
-                    ],
-                    [
-                        17.1739737,
-                        48.0207146
-                    ],
-                    [
-                        17.0823736,
-                        47.8741447
-                    ],
-                    [
-                        16.9856845,
-                        47.8673174
-                    ],
-                    [
-                        17.0823736,
-                        47.8092489
-                    ],
-                    [
-                        17.0925513,
-                        47.7031919
-                    ],
-                    [
-                        16.7414176,
-                        47.6792136
-                    ],
-                    [
-                        16.7057953,
-                        47.7511153
-                    ],
-                    [
-                        16.5378617,
-                        47.7545368
-                    ],
-                    [
-                        16.5480395,
-                        47.7066164
-                    ],
-                    [
-                        16.4208172,
-                        47.6689338
-                    ],
-                    [
-                        16.573484,
-                        47.6175045
-                    ],
-                    [
-                        16.670173,
-                        47.631224
-                    ],
-                    [
-                        16.7108842,
-                        47.538548
-                    ],
-                    [
-                        16.6599952,
-                        47.4491493
-                    ],
-                    [
-                        16.5429506,
-                        47.3940591
-                    ],
-                    [
-                        16.4615283,
-                        47.3940591
-                    ],
-                    [
-                        16.4920617,
-                        47.276801
-                    ],
-                    [
-                        16.425906,
-                        47.1973317
-                    ],
-                    [
-                        16.4717061,
-                        47.1489007
-                    ],
-                    [
-                        16.5480395,
-                        47.1489007
-                    ],
-                    [
-                        16.476795,
-                        47.0796369
-                    ],
-                    [
-                        16.527684,
-                        47.0588402
-                    ]
-                ]
-            ],
-            "terms_text": "basemap.at",
-            "id": "basemap.at"
-        }
-    ],
-    "wikipedia": [
-        [
-            "English",
-            "English",
-            "en"
-        ],
-        [
-            "German",
-            "Deutsch",
-            "de"
-        ],
-        [
-            "Dutch",
-            "Nederlands",
-            "nl"
-        ],
-        [
-            "French",
-            "Français",
-            "fr"
-        ],
-        [
-            "Italian",
-            "Italiano",
-            "it"
-        ],
-        [
-            "Russian",
-            "Русский",
-            "ru"
-        ],
-        [
-            "Spanish",
-            "Español",
-            "es"
-        ],
-        [
-            "Polish",
-            "Polski",
-            "pl"
-        ],
-        [
-            "Swedish",
-            "Svenska",
-            "sv"
-        ],
-        [
-            "Japanese",
-            "日本語",
-            "ja"
-        ],
-        [
-            "Portuguese",
-            "Português",
-            "pt"
-        ],
-        [
-            "Chinese",
-            "中文",
-            "zh"
-        ],
-        [
-            "Vietnamese",
-            "Tiếng Việt",
-            "vi"
-        ],
-        [
-            "Ukrainian",
-            "Українська",
-            "uk"
-        ],
-        [
-            "Catalan",
-            "Català",
-            "ca"
-        ],
-        [
-            "Norwegian (Bokmål)",
-            "Norsk (Bokmål)",
-            "no"
-        ],
-        [
-            "Waray-Waray",
-            "Winaray",
-            "war"
-        ],
-        [
-            "Cebuano",
-            "Sinugboanong Binisaya",
-            "ceb"
-        ],
-        [
-            "Finnish",
-            "Suomi",
-            "fi"
-        ],
-        [
-            "Persian",
-            "فارسی",
-            "fa"
-        ],
-        [
-            "Czech",
-            "Čeština",
-            "cs"
-        ],
-        [
-            "Hungarian",
-            "Magyar",
-            "hu"
-        ],
-        [
-            "Korean",
-            "한국어",
-            "ko"
-        ],
-        [
-            "Romanian",
-            "Română",
-            "ro"
-        ],
-        [
-            "Arabic",
-            "العربية",
-            "ar"
-        ],
-        [
-            "Turkish",
-            "Türkçe",
-            "tr"
-        ],
-        [
-            "Indonesian",
-            "Bahasa Indonesia",
-            "id"
-        ],
-        [
-            "Kazakh",
-            "Қазақша",
-            "kk"
-        ],
-        [
-            "Malay",
-            "Bahasa Melayu",
-            "ms"
-        ],
-        [
-            "Serbian",
-            "Српски / Srpski",
-            "sr"
-        ],
-        [
-            "Slovak",
-            "Slovenčina",
-            "sk"
-        ],
-        [
-            "Esperanto",
-            "Esperanto",
-            "eo"
-        ],
-        [
-            "Danish",
-            "Dansk",
-            "da"
-        ],
-        [
-            "Lithuanian",
-            "Lietuvių",
-            "lt"
-        ],
-        [
-            "Basque",
-            "Euskara",
-            "eu"
-        ],
-        [
-            "Bulgarian",
-            "Български",
-            "bg"
-        ],
-        [
-            "Hebrew",
-            "עברית",
-            "he"
-        ],
-        [
-            "Slovenian",
-            "Slovenščina",
-            "sl"
-        ],
-        [
-            "Croatian",
-            "Hrvatski",
-            "hr"
-        ],
-        [
-            "Volapük",
-            "Volapük",
-            "vo"
-        ],
-        [
-            "Estonian",
-            "Eesti",
-            "et"
-        ],
-        [
-            "Hindi",
-            "हिन्दी",
-            "hi"
-        ],
-        [
-            "Uzbek",
-            "O‘zbek",
-            "uz"
-        ],
-        [
-            "Galician",
-            "Galego",
-            "gl"
-        ],
-        [
-            "Norwegian (Nynorsk)",
-            "Nynorsk",
-            "nn"
-        ],
-        [
-            "Simple English",
-            "Simple English",
-            "simple"
-        ],
-        [
-            "Azerbaijani",
-            "Azərbaycanca",
-            "az"
-        ],
-        [
-            "Latin",
-            "Latina",
-            "la"
-        ],
-        [
-            "Greek",
-            "Ελληνικά",
-            "el"
-        ],
-        [
-            "Thai",
-            "ไทย",
-            "th"
-        ],
-        [
-            "Serbo-Croatian",
-            "Srpskohrvatski / Српскохрватски",
-            "sh"
-        ],
-        [
-            "Georgian",
-            "ქართული",
-            "ka"
-        ],
-        [
-            "Occitan",
-            "Occitan",
-            "oc"
-        ],
-        [
-            "Macedonian",
-            "Македонски",
-            "mk"
-        ],
-        [
-            "Newar / Nepal Bhasa",
-            "नेपाल भाषा",
-            "new"
-        ],
-        [
-            "Tagalog",
-            "Tagalog",
-            "tl"
-        ],
-        [
-            "Piedmontese",
-            "Piemontèis",
-            "pms"
-        ],
-        [
-            "Belarusian",
-            "Беларуская",
-            "be"
-        ],
-        [
-            "Haitian",
-            "Krèyol ayisyen",
-            "ht"
-        ],
-        [
-            "Tamil",
-            "தமிழ்",
-            "ta"
-        ],
-        [
-            "Telugu",
-            "తెలుగు",
-            "te"
-        ],
-        [
-            "Belarusian (Taraškievica)",
-            "Беларуская (тарашкевіца)",
-            "be-x-old"
-        ],
-        [
-            "Latvian",
-            "Latviešu",
-            "lv"
-        ],
-        [
-            "Breton",
-            "Brezhoneg",
-            "br"
-        ],
-        [
-            "Malagasy",
-            "Malagasy",
-            "mg"
-        ],
-        [
-            "Albanian",
-            "Shqip",
-            "sq"
-        ],
-        [
-            "Armenian",
-            "Հայերեն",
-            "hy"
-        ],
-        [
-            "Tatar",
-            "Tatarça / Татарча",
-            "tt"
-        ],
-        [
-            "Javanese",
-            "Basa Jawa",
-            "jv"
-        ],
-        [
-            "Welsh",
-            "Cymraeg",
-            "cy"
-        ],
-        [
-            "Marathi",
-            "मराठी",
-            "mr"
-        ],
-        [
-            "Luxembourgish",
-            "Lëtzebuergesch",
-            "lb"
-        ],
-        [
-            "Icelandic",
-            "Íslenska",
-            "is"
-        ],
-        [
-            "Bosnian",
-            "Bosanski",
-            "bs"
-        ],
-        [
-            "Burmese",
-            "မြန်မာဘာသာ",
-            "my"
-        ],
-        [
-            "Yoruba",
-            "Yorùbá",
-            "yo"
-        ],
-        [
-            "Bashkir",
-            "Башҡорт",
-            "ba"
-        ],
-        [
-            "Malayalam",
-            "മലയാളം",
-            "ml"
-        ],
-        [
-            "Aragonese",
-            "Aragonés",
-            "an"
-        ],
-        [
-            "Lombard",
-            "Lumbaart",
-            "lmo"
-        ],
-        [
-            "Afrikaans",
-            "Afrikaans",
-            "af"
-        ],
-        [
-            "West Frisian",
-            "Frysk",
-            "fy"
-        ],
-        [
-            "Western Panjabi",
-            "شاہ مکھی پنجابی (Shāhmukhī Pañjābī)",
-            "pnb"
-        ],
-        [
-            "Bengali",
-            "বাংলা",
-            "bn"
-        ],
-        [
-            "Swahili",
-            "Kiswahili",
-            "sw"
-        ],
-        [
-            "Bishnupriya Manipuri",
-            "ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী",
-            "bpy"
-        ],
-        [
-            "Ido",
-            "Ido",
-            "io"
-        ],
-        [
-            "Kirghiz",
-            "Кыргызча",
-            "ky"
-        ],
-        [
-            "Urdu",
-            "اردو",
-            "ur"
-        ],
-        [
-            "Nepali",
-            "नेपाली",
-            "ne"
-        ],
-        [
-            "Sicilian",
-            "Sicilianu",
-            "scn"
-        ],
-        [
-            "Gujarati",
-            "ગુજરાતી",
-            "gu"
-        ],
-        [
-            "Cantonese",
-            "粵語",
-            "zh-yue"
-        ],
-        [
-            "Low Saxon",
-            "Plattdüütsch",
-            "nds"
-        ],
-        [
-            "Kurdish",
-            "Kurdî / كوردی",
-            "ku"
-        ],
-        [
-            "Irish",
-            "Gaeilge",
-            "ga"
-        ],
-        [
-            "Asturian",
-            "Asturianu",
-            "ast"
-        ],
-        [
-            "Quechua",
-            "Runa Simi",
-            "qu"
-        ],
-        [
-            "Sundanese",
-            "Basa Sunda",
-            "su"
-        ],
-        [
-            "Chuvash",
-            "Чăваш",
-            "cv"
-        ],
-        [
-            "Scots",
-            "Scots",
-            "sco"
-        ],
-        [
-            "Interlingua",
-            "Interlingua",
-            "ia"
-        ],
-        [
-            "Alemannic",
-            "Alemannisch",
-            "als"
-        ],
-        [
-            "Buginese",
-            "Basa Ugi",
-            "bug"
-        ],
-        [
-            "Neapolitan",
-            "Nnapulitano",
-            "nap"
-        ],
-        [
-            "Samogitian",
-            "Žemaitėška",
-            "bat-smg"
-        ],
-        [
-            "Kannada",
-            "ಕನ್ನಡ",
-            "kn"
-        ],
-        [
-            "Banyumasan",
-            "Basa Banyumasan",
-            "map-bms"
-        ],
-        [
-            "Walloon",
-            "Walon",
-            "wa"
-        ],
-        [
-            "Amharic",
-            "አማርኛ",
-            "am"
-        ],
-        [
-            "Sorani",
-            "Soranî / کوردی",
-            "ckb"
-        ],
-        [
-            "Scottish Gaelic",
-            "Gàidhlig",
-            "gd"
-        ],
-        [
-            "Fiji Hindi",
-            "Fiji Hindi",
-            "hif"
-        ],
-        [
-            "Min Nan",
-            "Bân-lâm-gú",
-            "zh-min-nan"
-        ],
-        [
-            "Tajik",
-            "Тоҷикӣ",
-            "tg"
-        ],
-        [
-            "Mazandarani",
-            "مَزِروني",
-            "mzn"
-        ],
-        [
-            "Egyptian Arabic",
-            "مصرى (Maṣrī)",
-            "arz"
-        ],
-        [
-            "Yiddish",
-            "ייִדיש",
-            "yi"
-        ],
-        [
-            "Venetian",
-            "Vèneto",
-            "vec"
-        ],
-        [
-            "Mongolian",
-            "Монгол",
-            "mn"
-        ],
-        [
-            "Tarantino",
-            "Tarandíne",
-            "roa-tara"
-        ],
-        [
-            "Sanskrit",
-            "संस्कृतम्",
-            "sa"
-        ],
-        [
-            "Nahuatl",
-            "Nāhuatl",
-            "nah"
-        ],
-        [
-            "Ossetian",
-            "Иронау",
-            "os"
-        ],
-        [
-            "Sakha",
-            "Саха тыла (Saxa Tyla)",
-            "sah"
-        ],
-        [
-            "Kapampangan",
-            "Kapampangan",
-            "pam"
-        ],
-        [
-            "Upper Sorbian",
-            "Hornjoserbsce",
-            "hsb"
-        ],
-        [
-            "Sinhalese",
-            "සිංහල",
-            "si"
-        ],
-        [
-            "Northern Sami",
-            "Sámegiella",
-            "se"
-        ],
-        [
-            "Limburgish",
-            "Limburgs",
-            "li"
-        ],
-        [
-            "Maori",
-            "Māori",
-            "mi"
-        ],
-        [
-            "Bavarian",
-            "Boarisch",
-            "bar"
-        ],
-        [
-            "Corsican",
-            "Corsu",
-            "co"
-        ],
-        [
-            "Ilokano",
-            "Ilokano",
-            "ilo"
-        ],
-        [
-            "Gan",
-            "贛語",
-            "gan"
-        ],
-        [
-            "Tibetan",
-            "བོད་སྐད",
-            "bo"
-        ],
-        [
-            "Gilaki",
-            "گیلکی",
-            "glk"
-        ],
-        [
-            "Faroese",
-            "Føroyskt",
-            "fo"
-        ],
-        [
-            "Rusyn",
-            "русиньскый язык",
-            "rue"
-        ],
-        [
-            "Punjabi",
-            "ਪੰਜਾਬੀ",
-            "pa"
-        ],
-        [
-            "Central_Bicolano",
-            "Bikol",
-            "bcl"
-        ],
-        [
-            "Hill Mari",
-            "Кырык Мары (Kyryk Mary) ",
-            "mrj"
-        ],
-        [
-            "Võro",
-            "Võro",
-            "fiu-vro"
-        ],
-        [
-            "Dutch Low Saxon",
-            "Nedersaksisch",
-            "nds-nl"
-        ],
-        [
-            "Turkmen",
-            "تركمن / Туркмен",
-            "tk"
-        ],
-        [
-            "Pashto",
-            "پښتو",
-            "ps"
-        ],
-        [
-            "West Flemish",
-            "West-Vlams",
-            "vls"
-        ],
-        [
-            "Mingrelian",
-            "მარგალური (Margaluri)",
-            "xmf"
-        ],
-        [
-            "Manx",
-            "Gaelg",
-            "gv"
-        ],
-        [
-            "Zazaki",
-            "Zazaki",
-            "diq"
-        ],
-        [
-            "Pangasinan",
-            "Pangasinan",
-            "pag"
-        ],
-        [
-            "Komi",
-            "Коми",
-            "kv"
-        ],
-        [
-            "Zeelandic",
-            "Zeêuws",
-            "zea"
-        ],
-        [
-            "Divehi",
-            "ދިވެހިބަސް",
-            "dv"
-        ],
-        [
-            "Oriya",
-            "ଓଡ଼ିଆ",
-            "or"
-        ],
-        [
-            "Khmer",
-            "ភាសាខ្មែរ",
-            "km"
-        ],
-        [
-            "Norman",
-            "Nouormand/Normaund",
-            "nrm"
-        ],
-        [
-            "Romansh",
-            "Rumantsch",
-            "rm"
-        ],
-        [
-            "Komi-Permyak",
-            "Перем Коми (Perem Komi)",
-            "koi"
-        ],
-        [
-            "Udmurt",
-            "Удмурт кыл",
-            "udm"
-        ],
-        [
-            "Meadow Mari",
-            "Олык Марий (Olyk Marij)",
-            "mhr"
-        ],
-        [
-            "Ladino",
-            "Dzhudezmo",
-            "lad"
-        ],
-        [
-            "North Frisian",
-            "Nordfriisk",
-            "frr"
-        ],
-        [
-            "Kashubian",
-            "Kaszëbsczi",
-            "csb"
-        ],
-        [
-            "Ligurian",
-            "Líguru",
-            "lij"
-        ],
-        [
-            "Wu",
-            "吴语",
-            "wuu"
-        ],
-        [
-            "Friulian",
-            "Furlan",
-            "fur"
-        ],
-        [
-            "Vepsian",
-            "Vepsän",
-            "vep"
-        ],
-        [
-            "Classical Chinese",
-            "古文 / 文言文",
-            "zh-classical"
-        ],
-        [
-            "Uyghur",
-            "ئۇيغۇر تىلى",
-            "ug"
-        ],
-        [
-            "Saterland Frisian",
-            "Seeltersk",
-            "stq"
-        ],
-        [
-            "Sardinian",
-            "Sardu",
-            "sc"
-        ],
-        [
-            "Aromanian",
-            "Armãneashce",
-            "roa-rup"
-        ],
-        [
-            "Pali",
-            "पाऴि",
-            "pi"
-        ],
-        [
-            "Somali",
-            "Soomaaliga",
-            "so"
-        ],
-        [
-            "Bihari",
-            "भोजपुरी",
-            "bh"
-        ],
-        [
-            "Maltese",
-            "Malti",
-            "mt"
-        ],
-        [
-            "Aymara",
-            "Aymar",
-            "ay"
-        ],
-        [
-            "Ripuarian",
-            "Ripoarisch",
-            "ksh"
-        ],
-        [
-            "Novial",
-            "Novial",
-            "nov"
-        ],
-        [
-            "Anglo-Saxon",
-            "Englisc",
-            "ang"
-        ],
-        [
-            "Cornish",
-            "Kernewek/Karnuack",
-            "kw"
-        ],
-        [
-            "Navajo",
-            "Diné bizaad",
-            "nv"
-        ],
-        [
-            "Picard",
-            "Picard",
-            "pcd"
-        ],
-        [
-            "Hakka",
-            "Hak-kâ-fa / 客家話",
-            "hak"
-        ],
-        [
-            "Guarani",
-            "Avañe'ẽ",
-            "gn"
-        ],
-        [
-            "Extremaduran",
-            "Estremeñu",
-            "ext"
-        ],
-        [
-            "Franco-Provençal/Arpitan",
-            "Arpitan",
-            "frp"
-        ],
-        [
-            "Assamese",
-            "অসমীয়া",
-            "as"
-        ],
-        [
-            "Silesian",
-            "Ślůnski",
-            "szl"
-        ],
-        [
-            "Gagauz",
-            "Gagauz",
-            "gag"
-        ],
-        [
-            "Interlingue",
-            "Interlingue",
-            "ie"
-        ],
-        [
-            "Lingala",
-            "Lingala",
-            "ln"
-        ],
-        [
-            "Emilian-Romagnol",
-            "Emiliàn e rumagnòl",
-            "eml"
-        ],
-        [
-            "Chechen",
-            "Нохчийн",
-            "ce"
-        ],
-        [
-            "Kalmyk",
-            "Хальмг",
-            "xal"
-        ],
-        [
-            "Palatinate German",
-            "Pfälzisch",
-            "pfl"
-        ],
-        [
-            "Hawaiian",
-            "Hawai`i",
-            "haw"
-        ],
-        [
-            "Karachay-Balkar",
-            "Къарачай-Малкъар (Qarachay-Malqar)",
-            "krc"
-        ],
-        [
-            "Pennsylvania German",
-            "Deitsch",
-            "pdc"
-        ],
-        [
-            "Kinyarwanda",
-            "Ikinyarwanda",
-            "rw"
-        ],
-        [
-            "Crimean Tatar",
-            "Qırımtatarca",
-            "crh"
-        ],
-        [
-            "Acehnese",
-            "Bahsa Acèh",
-            "ace"
-        ],
-        [
-            "Tongan",
-            "faka Tonga",
-            "to"
-        ],
-        [
-            "Greenlandic",
-            "Kalaallisut",
-            "kl"
-        ],
-        [
-            "Lower Sorbian",
-            "Dolnoserbski",
-            "dsb"
-        ],
-        [
-            "Aramaic",
-            "ܐܪܡܝܐ",
-            "arc"
-        ],
-        [
-            "Erzya",
-            "Эрзянь (Erzjanj Kelj)",
-            "myv"
-        ],
-        [
-            "Lezgian",
-            "Лезги чІал (Lezgi č’al)",
-            "lez"
-        ],
-        [
-            "Banjar",
-            "Bahasa Banjar",
-            "bjn"
-        ],
-        [
-            "Shona",
-            "chiShona",
-            "sn"
-        ],
-        [
-            "Papiamentu",
-            "Papiamentu",
-            "pap"
-        ],
-        [
-            "Kabyle",
-            "Taqbaylit",
-            "kab"
-        ],
-        [
-            "Tok Pisin",
-            "Tok Pisin",
-            "tpi"
-        ],
-        [
-            "Lak",
-            "Лакку",
-            "lbe"
-        ],
-        [
-            "Buryat (Russia)",
-            "Буряад",
-            "bxr"
-        ],
-        [
-            "Lojban",
-            "Lojban",
-            "jbo"
-        ],
-        [
-            "Wolof",
-            "Wolof",
-            "wo"
-        ],
-        [
-            "Moksha",
-            "Мокшень (Mokshanj Kälj)",
-            "mdf"
-        ],
-        [
-            "Zamboanga Chavacano",
-            "Chavacano de Zamboanga",
-            "cbk-zam"
-        ],
-        [
-            "Avar",
-            "Авар",
-            "av"
-        ],
-        [
-            "Sranan",
-            "Sranantongo",
-            "srn"
-        ],
-        [
-            "Mirandese",
-            "Mirandés",
-            "mwl"
-        ],
-        [
-            "Kabardian Circassian",
-            "Адыгэбзэ (Adighabze)",
-            "kbd"
-        ],
-        [
-            "Tahitian",
-            "Reo Mā`ohi",
-            "ty"
-        ],
-        [
-            "Lao",
-            "ລາວ",
-            "lo"
-        ],
-        [
-            "Abkhazian",
-            "Аҧсуа",
-            "ab"
-        ],
-        [
-            "Tetum",
-            "Tetun",
-            "tet"
-        ],
-        [
-            "Latgalian",
-            "Latgaļu",
-            "ltg"
-        ],
-        [
-            "Nauruan",
-            "dorerin Naoero",
-            "na"
-        ],
-        [
-            "Kongo",
-            "KiKongo",
-            "kg"
-        ],
-        [
-            "Igbo",
-            "Igbo",
-            "ig"
-        ],
-        [
-            "Northern Sotho",
-            "Sesotho sa Leboa",
-            "nso"
-        ],
-        [
-            "Zhuang",
-            "Cuengh",
-            "za"
-        ],
-        [
-            "Karakalpak",
-            "Qaraqalpaqsha",
-            "kaa"
-        ],
-        [
-            "Zulu",
-            "isiZulu",
-            "zu"
-        ],
-        [
-            "Cheyenne",
-            "Tsetsêhestâhese",
-            "chy"
-        ],
-        [
-            "Romani",
-            "romani - रोमानी",
-            "rmy"
-        ],
-        [
-            "Old Church Slavonic",
-            "Словѣньскъ",
-            "cu"
-        ],
-        [
-            "Tswana",
-            "Setswana",
-            "tn"
-        ],
-        [
-            "Cherokee",
-            "ᏣᎳᎩ",
-            "chr"
-        ],
-        [
-            "Bislama",
-            "Bislama",
-            "bi"
-        ],
-        [
-            "Min Dong",
-            "Mìng-dĕ̤ng-ngṳ̄",
-            "cdo"
-        ],
-        [
-            "Gothic",
-            "𐌲𐌿𐍄𐌹𐍃𐌺",
-            "got"
-        ],
-        [
-            "Samoan",
-            "Gagana Samoa",
-            "sm"
-        ],
-        [
-            "Moldovan",
-            "Молдовеняскэ",
-            "mo"
-        ],
-        [
-            "Bambara",
-            "Bamanankan",
-            "bm"
-        ],
-        [
-            "Inuktitut",
-            "ᐃᓄᒃᑎᑐᑦ",
-            "iu"
-        ],
-        [
-            "Norfolk",
-            "Norfuk",
-            "pih"
-        ],
-        [
-            "Pontic",
-            "Ποντιακά",
-            "pnt"
-        ],
-        [
-            "Sindhi",
-            "سنڌي، سندھی ، सिन्ध",
-            "sd"
-        ],
-        [
-            "Swati",
-            "SiSwati",
-            "ss"
-        ],
-        [
-            "Kikuyu",
-            "Gĩkũyũ",
-            "ki"
-        ],
-        [
-            "Ewe",
-            "Eʋegbe",
-            "ee"
-        ],
-        [
-            "Hausa",
-            "هَوُسَ",
-            "ha"
-        ],
-        [
-            "Oromo",
-            "Oromoo",
-            "om"
-        ],
-        [
-            "Fijian",
-            "Na Vosa Vakaviti",
-            "fj"
-        ],
-        [
-            "Tigrinya",
-            "ትግርኛ",
-            "ti"
-        ],
-        [
-            "Tsonga",
-            "Xitsonga",
-            "ts"
-        ],
-        [
-            "Kashmiri",
-            "कश्मीरी / كشميري",
-            "ks"
-        ],
-        [
-            "Venda",
-            "Tshivenda",
-            "ve"
-        ],
-        [
-            "Sango",
-            "Sängö",
-            "sg"
-        ],
-        [
-            "Kirundi",
-            "Kirundi",
-            "rn"
-        ],
-        [
-            "Sesotho",
-            "Sesotho",
-            "st"
-        ],
-        [
-            "Dzongkha",
-            "ཇོང་ཁ",
-            "dz"
-        ],
-        [
-            "Cree",
-            "Nehiyaw",
-            "cr"
-        ],
-        [
-            "Akan",
-            "Akana",
-            "ak"
-        ],
-        [
-            "Tumbuka",
-            "chiTumbuka",
-            "tum"
-        ],
-        [
-            "Luganda",
-            "Luganda",
-            "lg"
-        ],
-        [
-            "Chichewa",
-            "Chi-Chewa",
-            "ny"
-        ],
-        [
-            "Fula",
-            "Fulfulde",
-            "ff"
-        ],
-        [
-            "Inupiak",
-            "Iñupiak",
-            "ik"
-        ],
-        [
-            "Chamorro",
-            "Chamoru",
-            "ch"
-        ],
-        [
-            "Twi",
-            "Twi",
-            "tw"
-        ],
-        [
-            "Xhosa",
-            "isiXhosa",
-            "xh"
-        ],
-        [
-            "Ndonga",
-            "Oshiwambo",
-            "ng"
-        ],
-        [
-            "Sichuan Yi",
-            "ꆇꉙ",
-            "ii"
-        ],
-        [
-            "Choctaw",
-            "Choctaw",
-            "cho"
-        ],
-        [
-            "Marshallese",
-            "Ebon",
-            "mh"
-        ],
-        [
-            "Afar",
-            "Afar",
-            "aa"
-        ],
-        [
-            "Kuanyama",
-            "Kuanyama",
-            "kj"
-        ],
-        [
-            "Hiri Motu",
-            "Hiri Motu",
-            "ho"
-        ],
-        [
-            "Muscogee",
-            "Muskogee",
-            "mus"
-        ],
-        [
-            "Kanuri",
-            "Kanuri",
-            "kr"
-        ],
-        [
-            "Herero",
-            "Otsiherero",
-            "hz"
-        ]
-    ],
-    "presets": {
-        "presets": {
-            "address": {
-                "fields": [
-                    "address"
-                ],
-                "geometry": [
-                    "point"
-                ],
-                "tags": {
-                    "addr:housenumber": "*"
-                },
-                "addTags": {},
-                "removeTags": {},
-                "matchScore": 0.2,
-                "name": "Address"
-            },
-            "aerialway": {
-                "fields": [
-                    "aerialway"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line"
-                ],
-                "tags": {
-                    "aerialway": "*"
-                },
-                "terms": [
-                    "ski lift",
-                    "funifor",
-                    "funitel"
-                ],
-                "name": "Aerialway"
-            },
-            "aerialway/cable_car": {
-                "geometry": [
-                    "line"
-                ],
-                "terms": [
-                    "tramway",
-                    "ropeway"
-                ],
-                "fields": [
-                    "aerialway/occupancy",
-                    "aerialway/capacity",
-                    "aerialway/duration",
-                    "aerialway/heating"
-                ],
-                "tags": {
-                    "aerialway": "cable_car"
-                },
-                "name": "Cable Car"
-            },
-            "aerialway/chair_lift": {
-                "geometry": [
-                    "line"
-                ],
-                "fields": [
-                    "aerialway/occupancy",
-                    "aerialway/capacity",
-                    "aerialway/duration",
-                    "aerialway/bubble",
-                    "aerialway/heating"
-                ],
-                "tags": {
-                    "aerialway": "chair_lift"
-                },
-                "name": "Chair Lift"
-            },
-            "aerialway/gondola": {
-                "geometry": [
-                    "line"
-                ],
-                "fields": [
-                    "aerialway/occupancy",
-                    "aerialway/capacity",
-                    "aerialway/duration",
-                    "aerialway/bubble",
-                    "aerialway/heating"
-                ],
-                "tags": {
-                    "aerialway": "gondola"
-                },
-                "name": "Gondola"
-            },
-            "aerialway/magic_carpet": {
-                "geometry": [
-                    "line"
-                ],
-                "fields": [
-                    "aerialway/capacity",
-                    "aerialway/duration",
-                    "aerialway/heating"
-                ],
-                "tags": {
-                    "aerialway": "magic_carpet"
-                },
-                "name": "Magic Carpet Lift"
-            },
-            "aerialway/platter": {
-                "geometry": [
-                    "line"
-                ],
-                "terms": [
-                    "button lift",
-                    "poma lift"
-                ],
-                "fields": [
-                    "aerialway/capacity",
-                    "aerialway/duration"
-                ],
-                "tags": {
-                    "aerialway": "platter"
-                },
-                "name": "Platter Lift"
-            },
-            "aerialway/pylon": {
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "fields": [
-                    "ref"
-                ],
-                "tags": {
-                    "aerialway": "pylon"
-                },
-                "name": "Aerialway Pylon"
-            },
-            "aerialway/rope_tow": {
-                "geometry": [
-                    "line"
-                ],
-                "terms": [
-                    "handle tow",
-                    "bugel lift"
-                ],
-                "fields": [
-                    "aerialway/capacity",
-                    "aerialway/duration"
-                ],
-                "tags": {
-                    "aerialway": "rope_tow"
-                },
-                "name": "Rope Tow Lift"
-            },
-            "aerialway/station": {
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "fields": [
-                    "aerialway/access",
-                    "aerialway/summer/access",
-                    "elevation"
-                ],
-                "tags": {
-                    "aerialway": "station"
-                },
-                "name": "Aerialway Station"
-            },
-            "aerialway/t-bar": {
-                "geometry": [
-                    "line"
-                ],
-                "fields": [
-                    "aerialway/capacity",
-                    "aerialway/duration"
-                ],
-                "tags": {
-                    "aerialway": "t-bar"
-                },
-                "name": "T-bar Lift"
-            },
-            "aeroway": {
-                "icon": "airport",
-                "fields": [
-                    "aeroway"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "aeroway": "*"
-                },
-                "name": "Aeroway"
-            },
-            "aeroway/aerodrome": {
-                "icon": "airport",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "airplane",
-                    "airport",
-                    "aerodrome"
-                ],
-                "fields": [
-                    "ref",
-                    "iata",
-                    "icao",
-                    "operator"
-                ],
-                "tags": {
-                    "aeroway": "aerodrome"
-                },
-                "name": "Airport"
-            },
-            "aeroway/apron": {
-                "icon": "airport",
-                "geometry": [
-                    "area"
-                ],
-                "terms": [
-                    "ramp"
-                ],
-                "fields": [
-                    "ref",
-                    "surface"
-                ],
-                "tags": {
-                    "aeroway": "apron"
-                },
-                "name": "Apron"
-            },
-            "aeroway/gate": {
-                "icon": "airport",
-                "geometry": [
-                    "point"
-                ],
-                "fields": [
-                    "ref"
-                ],
-                "tags": {
-                    "aeroway": "gate"
-                },
-                "name": "Airport gate"
-            },
-            "aeroway/hangar": {
-                "geometry": [
-                    "area"
-                ],
-                "fields": [
-                    "building_area"
-                ],
-                "tags": {
-                    "aeroway": "hangar"
-                },
-                "name": "Hangar"
-            },
-            "aeroway/helipad": {
-                "icon": "heliport",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "helicopter",
-                    "helipad",
-                    "heliport"
-                ],
-                "tags": {
-                    "aeroway": "helipad"
-                },
-                "name": "Helipad"
-            },
-            "aeroway/runway": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "terms": [
-                    "landing strip"
-                ],
-                "fields": [
-                    "ref",
-                    "surface",
-                    "length",
-                    "width"
-                ],
-                "tags": {
-                    "aeroway": "runway"
-                },
-                "name": "Runway"
-            },
-            "aeroway/taxiway": {
-                "geometry": [
-                    "line"
-                ],
-                "fields": [
-                    "ref",
-                    "surface"
-                ],
-                "tags": {
-                    "aeroway": "taxiway"
-                },
-                "name": "Taxiway"
-            },
-            "aeroway/terminal": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "airport",
-                    "aerodrome"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area"
-                ],
-                "tags": {
-                    "aeroway": "terminal"
-                },
-                "name": "Airport terminal"
-            },
-            "amenity": {
-                "fields": [
-                    "amenity"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "*"
-                },
-                "name": "Amenity"
-            },
-            "amenity/arts_centre": {
-                "name": "Arts Center",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "arts",
-                    "arts centre"
-                ],
-                "tags": {
-                    "amenity": "arts_centre"
-                },
-                "icon": "theatre",
-                "fields": [
-                    "building_area",
-                    "address"
-                ]
-            },
-            "amenity/atm": {
-                "icon": "bank",
-                "fields": [
-                    "operator"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "amenity": "atm"
-                },
-                "name": "ATM"
-            },
-            "amenity/bank": {
-                "icon": "bank",
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "coffer",
-                    "countinghouse",
-                    "credit union",
-                    "depository",
-                    "exchequer",
-                    "fund",
-                    "hoard",
-                    "investment firm",
-                    "repository",
-                    "reserve",
-                    "reservoir",
-                    "safe",
-                    "savings",
-                    "stock",
-                    "stockpile",
-                    "store",
-                    "storehouse",
-                    "thrift",
-                    "treasury",
-                    "trust company",
-                    "vault"
-                ],
-                "tags": {
-                    "amenity": "bank"
-                },
-                "name": "Bank"
-            },
-            "amenity/bar": {
-                "icon": "bar",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "bar"
-                },
-                "terms": [],
-                "name": "Bar"
-            },
-            "amenity/bbq": {
-                "geometry": [
-                    "point"
-                ],
-                "tags": {
-                    "amenity": "bbq"
-                },
-                "fields": [
-                    "covered",
-                    "fuel"
-                ],
-                "terms": [
-                    "barbecue",
-                    "bbq",
-                    "grill"
-                ],
-                "name": "Barbecue/Grill"
-            },
-            "amenity/bench": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line"
-                ],
-                "tags": {
-                    "amenity": "bench"
-                },
-                "fields": [
-                    "backrest"
-                ],
-                "name": "Bench"
-            },
-            "amenity/bicycle_parking": {
-                "icon": "bicycle",
-                "fields": [
-                    "bicycle_parking",
-                    "capacity",
-                    "operator",
-                    "covered",
-                    "access_simple"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "bicycle_parking"
-                },
-                "name": "Bicycle Parking"
-            },
-            "amenity/bicycle_rental": {
-                "icon": "bicycle",
-                "fields": [
-                    "capacity",
-                    "network",
-                    "operator"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "bicycle_rental"
-                },
-                "name": "Bicycle Rental"
-            },
-            "amenity/boat_rental": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "boat_rental"
-                },
-                "fields": [
-                    "operator"
-                ],
-                "name": "Boat Rental"
-            },
-            "amenity/cafe": {
-                "icon": "cafe",
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "coffee",
-                    "tea",
-                    "coffee shop"
-                ],
-                "tags": {
-                    "amenity": "cafe"
-                },
-                "name": "Cafe"
-            },
-            "amenity/car_rental": {
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "car_rental"
-                },
-                "fields": [
-                    "operator"
-                ],
-                "name": "Car Rental"
-            },
-            "amenity/car_sharing": {
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "car_sharing"
-                },
-                "fields": [
-                    "operator",
-                    "capacity"
-                ],
-                "name": "Car Sharing"
-            },
-            "amenity/car_wash": {
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "car_wash"
-                },
-                "fields": [
-                    "building_area"
-                ],
-                "name": "Car Wash"
-            },
-            "amenity/charging_station": {
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "charging_station"
-                },
-                "fields": [
-                    "operator"
-                ],
-                "terms": [
-                    "EV",
-                    "Electric Vehicle",
-                    "Supercharger"
-                ],
-                "name": "Charging Station"
-            },
-            "amenity/childcare": {
-                "icon": "school",
-                "fields": [
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "nursery",
-                    "orphanage",
-                    "playgroup"
-                ],
-                "tags": {
-                    "amenity": "childcare"
-                },
-                "name": "Childcare"
-            },
-            "amenity/cinema": {
-                "icon": "cinema",
-                "fields": [
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "big screen",
-                    "bijou",
-                    "cine",
-                    "drive-in",
-                    "film",
-                    "flicks",
-                    "motion pictures",
-                    "movie house",
-                    "movie theater",
-                    "moving pictures",
-                    "nabes",
-                    "photoplay",
-                    "picture show",
-                    "pictures",
-                    "playhouse",
-                    "show",
-                    "silver screen"
-                ],
-                "tags": {
-                    "amenity": "cinema"
-                },
-                "name": "Cinema"
-            },
-            "amenity/clinic": {
-                "name": "Clinic",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "clinic",
-                    "medical clinic"
-                ],
-                "tags": {
-                    "amenity": "clinic"
-                },
-                "icon": "hospital",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ]
-            },
-            "amenity/clock": {
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "amenity": "clock"
-                },
-                "name": "Clock"
-            },
-            "amenity/college": {
-                "icon": "college",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "college"
-                },
-                "terms": [],
-                "name": "College"
-            },
-            "amenity/compressed_air": {
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "compressed_air"
-                },
-                "name": "Compressed Air"
-            },
-            "amenity/courthouse": {
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "courthouse"
-                },
-                "name": "Courthouse"
-            },
-            "amenity/dentist": {
-                "name": "Dentist",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "dentist",
-                    "dentist's office"
-                ],
-                "tags": {
-                    "amenity": "dentist"
-                },
-                "icon": "hospital",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ]
-            },
-            "amenity/doctor": {
-                "name": "Doctor",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "doctor",
-                    "doctor's office"
-                ],
-                "tags": {
-                    "amenity": "doctors"
-                },
-                "icon": "hospital",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ]
-            },
-            "amenity/dojo": {
-                "icon": "pitch",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "martial arts",
-                    "dojo",
-                    "dojang"
-                ],
-                "tags": {
-                    "amenity": "dojo"
-                },
-                "fields": [
-                    "address",
-                    "sport"
-                ],
-                "name": "Dojo / Martial Arts Academy"
-            },
-            "amenity/drinking_water": {
-                "icon": "water",
-                "geometry": [
-                    "point"
-                ],
-                "tags": {
-                    "amenity": "drinking_water"
-                },
-                "terms": [
-                    "water fountain",
-                    "potable water"
-                ],
-                "name": "Drinking Water"
-            },
-            "amenity/embassy": {
-                "geometry": [
-                    "area",
-                    "point"
-                ],
-                "tags": {
-                    "amenity": "embassy"
-                },
-                "fields": [
-                    "country",
-                    "building_area"
-                ],
-                "icon": "embassy",
-                "name": "Embassy"
-            },
-            "amenity/fast_food": {
-                "icon": "fast-food",
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "fast_food"
-                },
-                "terms": [],
-                "name": "Fast Food"
-            },
-            "amenity/fire_station": {
-                "icon": "fire-station",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "fire_station"
-                },
-                "terms": [],
-                "name": "Fire Station"
-            },
-            "amenity/fountain": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "fountain"
-                },
-                "name": "Fountain"
-            },
-            "amenity/fuel": {
-                "icon": "fuel",
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "petrol",
-                    "fuel",
-                    "propane",
-                    "diesel",
-                    "lng",
-                    "cng",
-                    "biodiesel"
-                ],
-                "tags": {
-                    "amenity": "fuel"
-                },
-                "name": "Gas Station"
-            },
-            "amenity/grave_yard": {
-                "icon": "cemetery",
-                "fields": [
-                    "religion",
-                    "denomination"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "grave_yard"
-                },
-                "name": "Graveyard"
-            },
-            "amenity/hospital": {
-                "icon": "hospital",
-                "fields": [
-                    "emergency",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "clinic",
-                    "emergency room",
-                    "health service",
-                    "hospice",
-                    "infirmary",
-                    "institution",
-                    "nursing home",
-                    "rest home",
-                    "sanatorium",
-                    "sanitarium",
-                    "sick bay",
-                    "surgery",
-                    "ward"
-                ],
-                "tags": {
-                    "amenity": "hospital"
-                },
-                "name": "Hospital Grounds"
-            },
-            "amenity/kindergarten": {
-                "icon": "school",
-                "fields": [
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "nursery",
-                    "preschool"
-                ],
-                "tags": {
-                    "amenity": "kindergarten"
-                },
-                "name": "Kindergarten Grounds"
-            },
-            "amenity/library": {
-                "icon": "library",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "library"
-                },
-                "terms": [],
-                "name": "Library"
-            },
-            "amenity/marketplace": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "marketplace"
-                },
-                "fields": [
-                    "building_area"
-                ],
-                "name": "Marketplace"
-            },
-            "amenity/nightclub": {
-                "icon": "bar",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "nightclub"
-                },
-                "terms": [
-                    "disco*",
-                    "night club",
-                    "dancing",
-                    "dance club"
-                ],
-                "name": "Nightclub"
-            },
-            "amenity/parking": {
-                "icon": "parking",
-                "fields": [
-                    "parking",
-                    "capacity",
-                    "fee",
-                    "access_simple",
-                    "supervised",
-                    "park_ride",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "parking"
-                },
-                "terms": [],
-                "name": "Car Parking"
-            },
-            "amenity/parking_entrance": {
-                "icon": "entrance",
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "amenity": "parking_entrance"
-                },
-                "fields": [
-                    "access_simple",
-                    "ref"
-                ],
-                "name": "Parking Garage Entrance/Exit"
-            },
-            "amenity/pharmacy": {
-                "icon": "pharmacy",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "pharmacy"
-                },
-                "terms": [],
-                "name": "Pharmacy"
-            },
-            "amenity/place_of_worship": {
-                "icon": "place-of-worship",
-                "fields": [
-                    "religion",
-                    "denomination",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "abbey",
-                    "basilica",
-                    "bethel",
-                    "cathedral",
-                    "chancel",
-                    "chantry",
-                    "chapel",
-                    "church",
-                    "fold",
-                    "house of God",
-                    "house of prayer",
-                    "house of worship",
-                    "minster",
-                    "mission",
-                    "mosque",
-                    "oratory",
-                    "parish",
-                    "sacellum",
-                    "sanctuary",
-                    "shrine",
-                    "synagogue",
-                    "tabernacle",
-                    "temple"
-                ],
-                "tags": {
-                    "amenity": "place_of_worship"
-                },
-                "name": "Place of Worship"
-            },
-            "amenity/place_of_worship/buddhist": {
-                "icon": "place-of-worship",
-                "fields": [
-                    "denomination",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "stupa",
-                    "vihara",
-                    "monastery",
-                    "temple",
-                    "pagoda",
-                    "zendo",
-                    "dojo"
-                ],
-                "tags": {
-                    "amenity": "place_of_worship",
-                    "religion": "buddhist"
-                },
-                "name": "Buddhist Temple"
-            },
-            "amenity/place_of_worship/christian": {
-                "icon": "religious-christian",
-                "fields": [
-                    "denomination",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "christian",
-                    "abbey",
-                    "basilica",
-                    "bethel",
-                    "cathedral",
-                    "chancel",
-                    "chantry",
-                    "chapel",
-                    "church",
-                    "fold",
-                    "house of God",
-                    "house of prayer",
-                    "house of worship",
-                    "minster",
-                    "mission",
-                    "oratory",
-                    "parish",
-                    "sacellum",
-                    "sanctuary",
-                    "shrine",
-                    "tabernacle",
-                    "temple"
-                ],
-                "tags": {
-                    "amenity": "place_of_worship",
-                    "religion": "christian"
-                },
-                "name": "Church"
-            },
-            "amenity/place_of_worship/jewish": {
-                "icon": "religious-jewish",
-                "fields": [
-                    "denomination",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "jewish",
-                    "synagogue"
-                ],
-                "tags": {
-                    "amenity": "place_of_worship",
-                    "religion": "jewish"
-                },
-                "name": "Synagogue"
-            },
-            "amenity/place_of_worship/muslim": {
-                "icon": "religious-muslim",
-                "fields": [
-                    "denomination",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "muslim",
-                    "mosque"
-                ],
-                "tags": {
-                    "amenity": "place_of_worship",
-                    "religion": "muslim"
-                },
-                "name": "Mosque"
-            },
-            "amenity/police": {
-                "icon": "police",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "badge",
-                    "bear",
-                    "blue",
-                    "bluecoat",
-                    "bobby",
-                    "boy scout",
-                    "bull",
-                    "constable",
-                    "constabulary",
-                    "cop",
-                    "copper",
-                    "corps",
-                    "county mounty",
-                    "detective",
-                    "fed",
-                    "flatfoot",
-                    "force",
-                    "fuzz",
-                    "gendarme",
-                    "gumshoe",
-                    "heat",
-                    "law",
-                    "law enforcement",
-                    "man",
-                    "narc",
-                    "officers",
-                    "patrolman",
-                    "police"
-                ],
-                "tags": {
-                    "amenity": "police"
-                },
-                "name": "Police"
-            },
-            "amenity/post_box": {
-                "icon": "post",
-                "fields": [
-                    "operator",
-                    "collection_times"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "amenity": "post_box"
-                },
-                "terms": [
-                    "letter drop",
-                    "letterbox",
-                    "mail drop",
-                    "mailbox",
-                    "pillar box",
-                    "postbox"
-                ],
-                "name": "Mailbox"
-            },
-            "amenity/post_office": {
-                "icon": "post",
-                "fields": [
-                    "operator",
-                    "collection_times",
-                    "building_area"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "post_office"
-                },
-                "name": "Post Office"
-            },
-            "amenity/pub": {
-                "icon": "beer",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "pub"
-                },
-                "terms": [],
-                "name": "Pub"
-            },
-            "amenity/ranger_station": {
-                "fields": [
-                    "building_area",
-                    "opening_hours",
-                    "operator",
-                    "phone"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "visitor center",
-                    "visitor centre",
-                    "permit center",
-                    "permit centre",
-                    "backcountry office",
-                    "warden office",
-                    "warden center"
-                ],
-                "tags": {
-                    "amenity": "ranger_station"
-                },
-                "name": "Ranger Station"
-            },
-            "amenity/recycling": {
-                "icon": "recycling",
-                "fields": [
-                    "recycling/cans",
-                    "recycling/glass",
-                    "recycling/paper",
-                    "recycling/clothes"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "amenity": "recycling"
-                },
-                "name": "Recycling"
-            },
-            "amenity/restaurant": {
-                "icon": "restaurant",
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "bar",
-                    "cafeteria",
-                    "café",
-                    "canteen",
-                    "chophouse",
-                    "coffee shop",
-                    "diner",
-                    "dining room",
-                    "dive*",
-                    "doughtnut shop",
-                    "drive-in",
-                    "eatery",
-                    "eating house",
-                    "eating place",
-                    "fast-food place",
-                    "fish and chips",
-                    "greasy spoon",
-                    "grill",
-                    "hamburger stand",
-                    "hashery",
-                    "hideaway",
-                    "hotdog stand",
-                    "inn",
-                    "joint*",
-                    "luncheonette",
-                    "lunchroom",
-                    "night club",
-                    "outlet*",
-                    "pizzeria",
-                    "saloon",
-                    "soda fountain",
-                    "watering hole"
-                ],
-                "tags": {
-                    "amenity": "restaurant"
-                },
-                "name": "Restaurant"
-            },
-            "amenity/school": {
-                "icon": "school",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "academy",
-                    "alma mater",
-                    "blackboard",
-                    "college",
-                    "department",
-                    "discipline",
-                    "establishment",
-                    "faculty",
-                    "hall",
-                    "halls of ivy",
-                    "institute",
-                    "institution",
-                    "jail*",
-                    "schoolhouse",
-                    "seminary",
-                    "university"
-                ],
-                "tags": {
-                    "amenity": "school"
-                },
-                "name": "School Grounds"
-            },
-            "amenity/shelter": {
-                "fields": [
-                    "shelter_type"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "shelter"
-                },
-                "terms": [
-                    "lean-to"
-                ],
-                "name": "Shelter"
-            },
-            "amenity/social_facility": {
-                "name": "Social Facility",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "amenity": "social_facility"
-                },
-                "fields": [
-                    "social_facility_for",
-                    "address",
-                    "phone",
-                    "opening_hours",
-                    "wheelchair",
-                    "operator"
-                ]
-            },
-            "amenity/social_facility/food_bank": {
-                "name": "Food Bank",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "amenity": "social_facility",
-                    "social_facility": "food_bank"
-                },
-                "fields": [
-                    "social_facility_for",
-                    "address",
-                    "phone",
-                    "opening_hours",
-                    "wheelchair",
-                    "operator"
-                ]
-            },
-            "amenity/social_facility/group_home": {
-                "name": "Group Home",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "elderly",
-                    "old",
-                    "senior living"
-                ],
-                "tags": {
-                    "amenity": "social_facility",
-                    "social_facility": "group_home",
-                    "social_facility_for": "senior"
-                },
-                "fields": [
-                    "social_facility_for",
-                    "address",
-                    "phone",
-                    "opening_hours",
-                    "wheelchair",
-                    "operator"
-                ]
-            },
-            "amenity/social_facility/homeless_shelter": {
-                "name": "Homeless Shelter",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "houseless",
-                    "unhoused",
-                    "displaced"
-                ],
-                "tags": {
-                    "amenity": "social_facility",
-                    "social_facility": "shelter",
-                    "social_facility:for": "homeless"
-                },
-                "fields": [
-                    "social_facility_for",
-                    "address",
-                    "phone",
-                    "opening_hours",
-                    "wheelchair",
-                    "operator"
-                ]
-            },
-            "amenity/studio": {
-                "name": "Studio",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "recording studio",
-                    "studio",
-                    "radio",
-                    "radio studio",
-                    "television",
-                    "television studio"
-                ],
-                "tags": {
-                    "amenity": "studio"
-                },
-                "icon": "music",
-                "fields": [
-                    "building_area",
-                    "studio_type",
-                    "address"
-                ]
-            },
-            "amenity/swimming_pool": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "swimming_pool"
-                },
-                "icon": "swimming",
-                "searchable": false,
-                "name": "Swimming Pool"
-            },
-            "amenity/taxi": {
-                "fields": [
-                    "operator",
-                    "capacity"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "cab"
-                ],
-                "tags": {
-                    "amenity": "taxi"
-                },
-                "name": "Taxi Stand"
-            },
-            "amenity/telephone": {
-                "icon": "telephone",
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "amenity": "telephone"
-                },
-                "terms": [
-                    "phone"
-                ],
-                "name": "Telephone"
-            },
-            "amenity/theatre": {
-                "icon": "theatre",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "theatre",
-                    "performance",
-                    "play",
-                    "musical"
-                ],
-                "tags": {
-                    "amenity": "theatre"
-                },
-                "name": "Theater"
-            },
-            "amenity/toilets": {
-                "fields": [
-                    "toilets/disposal",
-                    "operator",
-                    "building_area",
-                    "access_toilets"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "bathroom",
-                    "restroom",
-                    "outhouse",
-                    "privy",
-                    "head",
-                    "lavatory",
-                    "latrine",
-                    "water closet",
-                    "WC",
-                    "W.C."
-                ],
-                "tags": {
-                    "amenity": "toilets"
-                },
-                "icon": "toilets",
-                "name": "Toilets"
-            },
-            "amenity/townhall": {
-                "icon": "town-hall",
-                "fields": [
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "village hall",
-                    "city government",
-                    "courthouse",
-                    "municipal building",
-                    "municipal center",
-                    "municipal centre"
-                ],
-                "tags": {
-                    "amenity": "townhall"
-                },
-                "name": "Town Hall"
-            },
-            "amenity/university": {
-                "icon": "college",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "university"
-                },
-                "terms": [
-                    "college"
-                ],
-                "name": "University"
-            },
-            "amenity/vending_machine": {
-                "fields": [
-                    "vending",
-                    "operator"
-                ],
-                "geometry": [
-                    "point"
-                ],
-                "tags": {
-                    "amenity": "vending_machine"
-                },
-                "name": "Vending Machine"
-            },
-            "amenity/veterinary": {
-                "fields": [],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "pet clinic",
-                    "veterinarian",
-                    "animal hospital",
-                    "pet doctor"
-                ],
-                "tags": {
-                    "amenity": "veterinary"
-                },
-                "name": "Veterinary"
-            },
-            "amenity/waste_basket": {
-                "icon": "waste-basket",
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "amenity": "waste_basket"
-                },
-                "terms": [
-                    "rubbish bin",
-                    "litter bin",
-                    "trash can",
-                    "garbage can"
-                ],
-                "name": "Waste Basket"
-            },
-            "area": {
-                "name": "Area",
-                "tags": {
-                    "area": "yes"
-                },
-                "geometry": [
-                    "area"
-                ],
-                "matchScore": 0.1
-            },
-            "barrier": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "*"
-                },
-                "fields": [
-                    "barrier"
-                ],
-                "name": "Barrier"
-            },
-            "barrier/block": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "block"
-                },
-                "name": "Block"
-            },
-            "barrier/bollard": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line"
-                ],
-                "tags": {
-                    "barrier": "bollard"
-                },
-                "name": "Bollard"
-            },
-            "barrier/cattle_grid": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "cattle_grid"
-                },
-                "name": "Cattle Grid"
-            },
-            "barrier/city_wall": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "city_wall"
-                },
-                "name": "City Wall"
-            },
-            "barrier/cycle_barrier": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "cycle_barrier"
-                },
-                "name": "Cycle Barrier"
-            },
-            "barrier/ditch": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "ditch"
-                },
-                "name": "Ditch"
-            },
-            "barrier/entrance": {
-                "icon": "entrance",
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "entrance"
-                },
-                "name": "Entrance",
-                "searchable": false
-            },
-            "barrier/fence": {
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "barrier": "fence"
-                },
-                "name": "Fence"
-            },
-            "barrier/gate": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line"
-                ],
-                "tags": {
-                    "barrier": "gate"
-                },
-                "name": "Gate"
-            },
-            "barrier/hedge": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "hedge"
-                },
-                "name": "Hedge"
-            },
-            "barrier/kissing_gate": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "kissing_gate"
-                },
-                "name": "Kissing Gate"
-            },
-            "barrier/lift_gate": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "lift_gate"
-                },
-                "name": "Lift Gate"
-            },
-            "barrier/retaining_wall": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "retaining_wall"
-                },
-                "name": "Retaining Wall"
-            },
-            "barrier/stile": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "stile"
-                },
-                "name": "Stile"
-            },
-            "barrier/toll_booth": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "toll_booth"
-                },
-                "name": "Toll Booth"
-            },
-            "barrier/wall": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "wall"
-                },
-                "name": "Wall"
-            },
-            "boundary/administrative": {
-                "name": "Administrative Boundary",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "boundary": "administrative"
-                },
-                "fields": [
-                    "admin_level"
-                ]
-            },
-            "building": {
-                "icon": "building",
-                "fields": [
-                    "building",
-                    "levels",
-                    "address"
-                ],
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "building": "*"
-                },
-                "terms": [],
-                "name": "Building"
-            },
-            "building/apartments": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "apartments"
-                },
-                "name": "Apartments"
-            },
-            "building/barn": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "barn"
-                },
-                "name": "Barn"
-            },
-            "building/bunker": {
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "bunker"
-                },
-                "name": "Bunker",
-                "searchable": false
-            },
-            "building/cabin": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "cabin"
-                },
-                "name": "Cabin"
-            },
-            "building/cathedral": {
-                "icon": "place-of-worship",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "cathedral"
-                },
-                "name": "Cathedral"
-            },
-            "building/chapel": {
-                "icon": "place-of-worship",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "chapel"
-                },
-                "name": "Chapel"
-            },
-            "building/church": {
-                "icon": "place-of-worship",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "church"
-                },
-                "name": "Church"
-            },
-            "building/commercial": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "commercial"
-                },
-                "name": "Commercial Building"
-            },
-            "building/construction": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "construction"
-                },
-                "name": "Building Under Construction"
-            },
-            "building/detached": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "detached"
-                },
-                "name": "Detached Home"
-            },
-            "building/dormitory": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "dormitory"
-                },
-                "name": "Dormitory"
-            },
-            "building/entrance": {
-                "icon": "entrance",
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "building": "entrance"
-                },
-                "name": "Entrance/Exit",
-                "searchable": false
-            },
-            "building/garage": {
-                "fields": [
-                    "capacity"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "garage"
-                },
-                "name": "Garage",
-                "icon": "warehouse"
-            },
-            "building/garages": {
-                "icon": "warehouse",
-                "fields": [
-                    "capacity"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "garages"
-                },
-                "name": "Garages"
-            },
-            "building/greenhouse": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "greenhouse"
-                },
-                "name": "Greenhouse"
-            },
-            "building/hospital": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "hospital"
-                },
-                "name": "Hospital Building"
-            },
-            "building/hotel": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "hotel"
-                },
-                "name": "Hotel Building"
-            },
-            "building/house": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "building": "house"
-                },
-                "name": "House"
-            },
-            "building/hut": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "hut"
-                },
-                "name": "Hut"
-            },
-            "building/industrial": {
-                "icon": "industrial",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "industrial"
-                },
-                "name": "Industrial Building"
-            },
-            "building/public": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "public"
-                },
-                "name": "Public Building"
-            },
-            "building/residential": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "residential"
-                },
-                "name": "Residential Building"
-            },
-            "building/retail": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "retail"
-                },
-                "name": "Retail Building"
-            },
-            "building/roof": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "roof"
-                },
-                "name": "Roof"
-            },
-            "building/school": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "school"
-                },
-                "name": "School Building"
-            },
-            "building/shed": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "shed"
-                },
-                "name": "Shed"
-            },
-            "building/stable": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "stable"
-                },
-                "name": "Stable"
-            },
-            "building/static_caravan": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "static_caravan"
-                },
-                "name": "Static Mobile Home"
-            },
-            "building/terrace": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "terrace"
-                },
-                "name": "Row Houses"
-            },
-            "building/train_station": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "train_station"
-                },
-                "name": "Train Station",
-                "searchable": false
-            },
-            "building/university": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "university"
-                },
-                "name": "University Building"
-            },
-            "building/warehouse": {
-                "icon": "building",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "warehouse"
-                },
-                "name": "Warehouse"
-            },
-            "craft/basket_maker": {
-                "name": "Basket Maker",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "basket",
-                    "basketry",
-                    "basket maker",
-                    "basket weaver"
-                ],
-                "tags": {
-                    "craft": "basket_maker"
-                },
-                "icon": "art-gallery",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/beekeeper": {
-                "name": "Beekeeper",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "bees",
-                    "beekeeper",
-                    "bee box"
-                ],
-                "tags": {
-                    "craft": "beekeeper"
-                },
-                "icon": "farm",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/blacksmith": {
-                "name": "Blacksmith",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "blacksmith"
-                ],
-                "tags": {
-                    "craft": "blacksmith"
-                },
-                "icon": "farm",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/boatbuilder": {
-                "name": "Boat Builder",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "boat builder"
-                ],
-                "tags": {
-                    "craft": "boatbuilder"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/bookbinder": {
-                "name": "Bookbinder",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "bookbinder",
-                    "book repair"
-                ],
-                "tags": {
-                    "craft": "bookbinder"
-                },
-                "icon": "library",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/brewery": {
-                "name": "Brewery",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "brewery"
-                ],
-                "tags": {
-                    "craft": "brewery"
-                },
-                "icon": "beer",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/carpenter": {
-                "name": "Carpenter",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "carpenter",
-                    "woodworker"
-                ],
-                "tags": {
-                    "craft": "carpenter"
-                },
-                "icon": "logging",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/carpet_layer": {
-                "name": "Carpet Layer",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "carpet layer"
-                ],
-                "tags": {
-                    "craft": "carpet_layer"
-                },
-                "icon": "square",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/caterer": {
-                "name": "Caterer",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "Caterer",
-                    "Catering"
-                ],
-                "tags": {
-                    "craft": "caterer"
-                },
-                "icon": "bakery",
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/clockmaker": {
-                "name": "Clockmaker",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "clock",
-                    "clockmaker",
-                    "clock repair"
-                ],
-                "tags": {
-                    "craft": "clockmaker"
-                },
-                "icon": "circle-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/confectionary": {
-                "name": "Confectionary",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "confectionary",
-                    "sweets",
-                    "candy"
-                ],
-                "tags": {
-                    "craft": "confectionary"
-                },
-                "icon": "bakery",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/dressmaker": {
-                "name": "Dressmaker",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "dress",
-                    "dressmaker"
-                ],
-                "tags": {
-                    "craft": "dressmaker"
-                },
-                "icon": "clothing-store",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/electrician": {
-                "name": "Electrician",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "electrician"
-                ],
-                "tags": {
-                    "craft": "electrician"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/gardener": {
-                "name": "Gardener",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "gardener",
-                    "landscaper",
-                    "grounds keeper"
-                ],
-                "tags": {
-                    "craft": "gardener"
-                },
-                "icon": "garden",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/glaziery": {
-                "name": "Glaziery",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "glass",
-                    "glass foundry",
-                    "stained-glass",
-                    "window"
-                ],
-                "tags": {
-                    "craft": "glaziery"
-                },
-                "icon": "fire-station",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/handicraft": {
-                "name": "Handicraft",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "handicraft"
-                ],
-                "tags": {
-                    "craft": "handicraft"
-                },
-                "icon": "art-gallery",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/hvac": {
-                "name": "HVAC",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "heating",
-                    "ventilating",
-                    "air-conditioning",
-                    "air conditioning"
-                ],
-                "tags": {
-                    "craft": "hvac"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/insulator": {
-                "name": "Insulator",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "insulation",
-                    "insulator"
-                ],
-                "tags": {
-                    "craft": "insulation"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/jeweler": {
-                "name": "Jeweler",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "jeweler",
-                    "gem",
-                    "diamond"
-                ],
-                "tags": {
-                    "craft": "jeweler"
-                },
-                "icon": "marker-stroked",
-                "searchable": false,
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/key_cutter": {
-                "name": "Key Cutter",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "key",
-                    "key cutter"
-                ],
-                "tags": {
-                    "craft": "key_cutter"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/locksmith": {
-                "name": "Locksmith",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "locksmith",
-                    "lock"
-                ],
-                "tags": {
-                    "craft": "locksmith"
-                },
-                "icon": "marker-stroked",
-                "searchable": false,
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/metal_construction": {
-                "name": "Metal Construction",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "metal construction"
-                ],
-                "tags": {
-                    "craft": "metal_construction"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/optician": {
-                "name": "Optician",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "glasses",
-                    "optician"
-                ],
-                "tags": {
-                    "craft": "optician"
-                },
-                "icon": "marker-stroked",
-                "searchable": false,
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/painter": {
-                "name": "Painter",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "painter"
-                ],
-                "tags": {
-                    "craft": "painter"
-                },
-                "icon": "art-gallery",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/photographer": {
-                "name": "Photographer",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "photographer"
-                ],
-                "tags": {
-                    "craft": "photographer"
-                },
-                "icon": "camera",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/photographic_laboratory": {
-                "name": "Photographic Laboratory",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "photographic laboratory",
-                    "film developer"
-                ],
-                "tags": {
-                    "craft": "photographic_laboratory"
-                },
-                "icon": "camera",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/plasterer": {
-                "name": "Plasterer",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "plasterer"
-                ],
-                "tags": {
-                    "craft": "plasterer"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/plumber": {
-                "name": "Plumber",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "pumber"
-                ],
-                "tags": {
-                    "craft": "plumber"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/pottery": {
-                "name": "Pottery",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "pottery",
-                    "potter"
-                ],
-                "tags": {
-                    "craft": "pottery"
-                },
-                "icon": "art-gallery",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/rigger": {
-                "name": "Rigger",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "rigger"
-                ],
-                "tags": {
-                    "craft": "rigger"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/roofer": {
-                "name": "Roofer",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "roofer"
-                ],
-                "tags": {
-                    "craft": "roofer"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/saddler": {
-                "name": "Saddler",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "saddler"
-                ],
-                "tags": {
-                    "craft": "saddler"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/sailmaker": {
-                "name": "Sailmaker",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "sailmaker"
-                ],
-                "tags": {
-                    "craft": "sailmaker"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/sawmill": {
-                "name": "Sawmill",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "sawmill",
-                    "lumber"
-                ],
-                "tags": {
-                    "craft": "sawmill"
-                },
-                "icon": "park",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/scaffolder": {
-                "name": "Scaffolder",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "scaffolder"
-                ],
-                "tags": {
-                    "craft": "scaffolder"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/sculpter": {
-                "name": "Sculpter",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "sculpter"
-                ],
-                "tags": {
-                    "craft": "sculpter"
-                },
-                "icon": "art-gallery",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/shoemaker": {
-                "name": "Shoemaker",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "shoe repair",
-                    "shoemaker"
-                ],
-                "tags": {
-                    "craft": "shoemaker"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/stonemason": {
-                "name": "Stonemason",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "stonemason",
-                    "masonry"
-                ],
-                "tags": {
-                    "craft": "stonemason"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/sweep": {
-                "name": "Chimney Sweep",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "sweep",
-                    "chimney sweep"
-                ],
-                "tags": {
-                    "craft": "sweep"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/tailor": {
-                "name": "Tailor",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "tailor",
-                    "clothes"
-                ],
-                "tags": {
-                    "craft": "tailor"
-                },
-                "icon": "clothing-store",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ],
-                "searchable": false
-            },
-            "craft/tiler": {
-                "name": "Tiler",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "tiler"
-                ],
-                "tags": {
-                    "craft": "tiler"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/tinsmith": {
-                "name": "Tinsmith",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "tinsmith"
-                ],
-                "tags": {
-                    "craft": "tinsmith"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/upholsterer": {
-                "name": "Upholsterer",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "upholsterer"
-                ],
-                "tags": {
-                    "craft": "upholsterer"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/watchmaker": {
-                "name": "Watchmaker",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "watch",
-                    "watchmaker",
-                    "watch repair"
-                ],
-                "tags": {
-                    "craft": "watchmaker"
-                },
-                "icon": "circle-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "craft/window_construction": {
-                "name": "Window Construction",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "window",
-                    "window maker",
-                    "window construction"
-                ],
-                "tags": {
-                    "craft": "window_construction"
-                },
-                "icon": "marker-stroked",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "embankment": {
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "embankment": "yes"
-                },
-                "name": "Embankment",
-                "matchScore": 0.2
-            },
-            "emergency/ambulance_station": {
-                "fields": [
-                    "operator"
-                ],
-                "geometry": [
-                    "area",
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "emergency": "ambulance_station"
-                },
-                "name": "Ambulance Station"
-            },
-            "emergency/fire_hydrant": {
-                "fields": [
-                    "fire_hydrant/type"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "emergency": "fire_hydrant"
-                },
-                "name": "Fire Hydrant"
-            },
-            "emergency/phone": {
-                "icon": "emergency-telephone",
-                "fields": [
-                    "operator"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "emergency": "phone"
-                },
-                "name": "Emergency Phone"
-            },
-            "entrance": {
-                "icon": "entrance",
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "entrance": "*"
-                },
-                "fields": [
-                    "entrance",
-                    "access_simple",
-                    "address"
-                ],
-                "name": "Entrance/Exit"
-            },
-            "footway/crossing": {
-                "fields": [
-                    "crossing",
-                    "access",
-                    "surface",
-                    "sloped_curb",
-                    "tactile_paving"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "footway",
-                    "footway": "crossing"
-                },
-                "terms": [],
-                "name": "Crossing"
-            },
-            "footway/crosswalk": {
-                "fields": [
-                    "crossing",
-                    "access",
-                    "surface",
-                    "sloped_curb",
-                    "tactile_paving"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "footway",
-                    "footway": "crossing",
-                    "crossing": "zebra"
-                },
-                "terms": [
-                    "crosswalk",
-                    "zebra crossing"
-                ],
-                "name": "Crosswalk"
-            },
-            "footway/sidewalk": {
-                "fields": [
-                    "surface",
-                    "lit",
-                    "width",
-                    "structure",
-                    "access"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "footway",
-                    "footway": "sidewalk"
-                },
-                "terms": [],
-                "name": "Sidewalk"
-            },
-            "ford": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "ford": "yes"
-                },
-                "name": "Ford"
-            },
-            "golf/bunker": {
-                "icon": "golf",
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "golf": "bunker",
-                    "natural": "sand"
-                },
-                "terms": [
-                    "hazard",
-                    "bunker"
-                ],
-                "name": "Sand Trap"
-            },
-            "golf/fairway": {
-                "icon": "golf",
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "golf": "fairway",
-                    "landuse": "grass"
-                },
-                "name": "Fairway"
-            },
-            "golf/green": {
-                "icon": "golf",
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "golf": "green",
-                    "landuse": "grass",
-                    "leisure": "pitch",
-                    "sport": "golf"
-                },
-                "terms": [
-                    "putting green"
-                ],
-                "name": "Putting Green"
-            },
-            "golf/hole": {
-                "icon": "golf",
-                "fields": [
-                    "golf_hole",
-                    "par",
-                    "handicap"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "golf": "hole"
-                },
-                "name": "Golf Hole"
-            },
-            "golf/lateral_water_hazard": {
-                "icon": "golf",
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "golf": "lateral_water_hazard",
-                    "natural": "water"
-                },
-                "name": "Lateral Water Hazard"
-            },
-            "golf/rough": {
-                "icon": "golf",
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "golf": "rough",
-                    "landuse": "grass"
-                },
-                "name": "Rough"
-            },
-            "golf/tee": {
-                "icon": "golf",
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "golf": "tee",
-                    "landuse": "grass"
-                },
-                "terms": [
-                    "teeing ground"
-                ],
-                "name": "Tee Box"
-            },
-            "golf/water_hazard": {
-                "icon": "golf",
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "golf": "water_hazard",
-                    "natural": "water"
-                },
-                "name": "Water Hazard"
-            },
-            "highway": {
-                "fields": [
-                    "highway"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "highway": "*"
-                },
-                "name": "Highway"
-            },
-            "highway/bridleway": {
-                "fields": [
-                    "surface",
-                    "width",
-                    "structure",
-                    "access"
-                ],
-                "icon": "highway-bridleway",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "bridleway"
-                },
-                "terms": [
-                    "bridleway",
-                    "equestrian trail",
-                    "horse riding path",
-                    "bridle road",
-                    "horse trail"
-                ],
-                "name": "Bridle Path"
-            },
-            "highway/bus_stop": {
-                "icon": "bus",
-                "fields": [
-                    "operator",
-                    "shelter"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "bus_stop"
-                },
-                "terms": [],
-                "name": "Bus Stop"
-            },
-            "highway/crossing": {
-                "fields": [
-                    "crossing",
-                    "sloped_curb",
-                    "tactile_paving"
-                ],
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "crossing"
-                },
-                "terms": [],
-                "name": "Crossing"
-            },
-            "highway/crosswalk": {
-                "fields": [
-                    "crossing",
-                    "sloped_curb",
-                    "tactile_paving"
-                ],
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "crossing",
-                    "crossing": "zebra"
-                },
-                "terms": [
-                    "crosswalk",
-                    "zebra crossing"
-                ],
-                "name": "Crosswalk"
-            },
-            "highway/cycleway": {
-                "icon": "highway-cycleway",
-                "fields": [
-                    "surface",
-                    "lit",
-                    "width",
-                    "oneway",
-                    "structure",
-                    "access"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "cycleway"
-                },
-                "terms": [],
-                "name": "Cycle Path"
-            },
-            "highway/footway": {
-                "icon": "highway-footway",
-                "fields": [
-                    "surface",
-                    "lit",
-                    "width",
-                    "structure",
-                    "access"
-                ],
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "terms": [
-                    "beaten path",
-                    "boulevard",
-                    "clearing",
-                    "course",
-                    "cut*",
-                    "drag*",
-                    "footpath",
-                    "highway",
-                    "lane",
-                    "line",
-                    "orbit",
-                    "passage",
-                    "pathway",
-                    "rail",
-                    "rails",
-                    "road",
-                    "roadway",
-                    "route",
-                    "street",
-                    "thoroughfare",
-                    "trackway",
-                    "trail",
-                    "trajectory",
-                    "walk"
-                ],
-                "tags": {
-                    "highway": "footway"
-                },
-                "name": "Foot Path"
-            },
-            "highway/living_street": {
-                "icon": "highway-living-street",
-                "fields": [
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "living_street"
-                },
-                "name": "Living Street"
-            },
-            "highway/mini_roundabout": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "mini_roundabout"
-                },
-                "fields": [
-                    "clock_direction"
-                ],
-                "name": "Mini-Roundabout"
-            },
-            "highway/motorway": {
-                "icon": "highway-motorway",
-                "fields": [
-                    "oneway_yes",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "lanes",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "motorway"
-                },
-                "terms": [],
-                "name": "Motorway"
-            },
-            "highway/motorway_junction": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "motorway_junction"
-                },
-                "fields": [
-                    "ref"
-                ],
-                "name": "Motorway Junction / Exit"
-            },
-            "highway/motorway_link": {
-                "icon": "highway-motorway-link",
-                "fields": [
-                    "oneway_yes",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "motorway_link"
-                },
-                "terms": [
-                    "ramp",
-                    "on ramp",
-                    "off ramp"
-                ],
-                "name": "Motorway Link"
-            },
-            "highway/path": {
-                "icon": "highway-path",
-                "fields": [
-                    "surface",
-                    "width",
-                    "structure",
-                    "access",
-                    "sac_scale",
-                    "incline",
-                    "trail_visibility",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "path"
-                },
-                "terms": [],
-                "name": "Path"
-            },
-            "highway/pedestrian": {
-                "fields": [
-                    "surface",
-                    "lit",
-                    "width",
-                    "oneway",
-                    "structure",
-                    "access"
-                ],
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "highway": "pedestrian"
-                },
-                "terms": [],
-                "name": "Pedestrian"
-            },
-            "highway/primary": {
-                "icon": "highway-primary",
-                "fields": [
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "lanes",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "primary"
-                },
-                "terms": [],
-                "name": "Primary Road"
-            },
-            "highway/primary_link": {
-                "icon": "highway-primary-link",
-                "fields": [
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "primary_link"
-                },
-                "terms": [
-                    "ramp",
-                    "on ramp",
-                    "off ramp"
-                ],
-                "name": "Primary Link"
-            },
-            "highway/residential": {
-                "icon": "highway-residential",
-                "fields": [
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "residential"
-                },
-                "terms": [],
-                "name": "Residential Road"
-            },
-            "highway/rest_area": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "highway": "rest_area"
-                },
-                "terms": [
-                    "rest stop",
-                    "turnout",
-                    "lay-by"
-                ],
-                "name": "Rest Area"
-            },
-            "highway/road": {
-                "icon": "highway-road",
-                "fields": [
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "road"
-                },
-                "terms": [],
-                "name": "Unknown Road"
-            },
-            "highway/secondary": {
-                "icon": "highway-secondary",
-                "fields": [
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "lanes",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "secondary"
-                },
-                "terms": [],
-                "name": "Secondary Road"
-            },
-            "highway/secondary_link": {
-                "icon": "highway-secondary-link",
-                "fields": [
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "secondary_link"
-                },
-                "terms": [
-                    "ramp",
-                    "on ramp",
-                    "off ramp"
-                ],
-                "name": "Secondary Link"
-            },
-            "highway/service": {
-                "icon": "highway-service",
-                "fields": [
-                    "service",
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "service"
-                },
-                "terms": [],
-                "name": "Service Road"
-            },
-            "highway/service/alley": {
-                "icon": "highway-service",
-                "fields": [
-                    "oneway",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "service",
-                    "service": "alley"
-                },
-                "name": "Alley"
-            },
-            "highway/service/drive-through": {
-                "icon": "highway-service",
-                "fields": [
-                    "oneway",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "service",
-                    "service": "drive-through"
-                },
-                "name": "Drive-Through"
-            },
-            "highway/service/driveway": {
-                "icon": "highway-service",
-                "fields": [
-                    "oneway",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "service",
-                    "service": "driveway"
-                },
-                "name": "Driveway"
-            },
-            "highway/service/emergency_access": {
-                "icon": "highway-service",
-                "fields": [
-                    "oneway",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "service",
-                    "service": "emergency_access"
-                },
-                "name": "Emergency Access"
-            },
-            "highway/service/parking_aisle": {
-                "icon": "highway-service",
-                "fields": [
-                    "oneway",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "service",
-                    "service": "parking_aisle"
-                },
-                "name": "Parking Aisle"
-            },
-            "highway/services": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "highway": "services"
-                },
-                "terms": [
-                    "services",
-                    "travel plaza",
-                    "service station"
-                ],
-                "name": "Service Area"
-            },
-            "highway/steps": {
-                "fields": [
-                    "surface",
-                    "lit",
-                    "width",
-                    "access"
-                ],
-                "icon": "highway-steps",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "steps"
-                },
-                "terms": [
-                    "stairs",
-                    "staircase"
-                ],
-                "name": "Steps"
-            },
-            "highway/stop": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "stop"
-                },
-                "terms": [
-                    "stop sign"
-                ],
-                "name": "Stop Sign"
-            },
-            "highway/street_lamp": {
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "street_lamp"
-                },
-                "fields": [
-                    "lamp_type",
-                    "ref"
-                ],
-                "terms": [
-                    "streetlight",
-                    "street light",
-                    "lamp",
-                    "light",
-                    "gaslight"
-                ],
-                "name": "Street Lamp"
-            },
-            "highway/tertiary": {
-                "icon": "highway-tertiary",
-                "fields": [
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "lanes",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "tertiary"
-                },
-                "terms": [],
-                "name": "Tertiary Road"
-            },
-            "highway/tertiary_link": {
-                "icon": "highway-tertiary-link",
-                "fields": [
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "tertiary_link"
-                },
-                "terms": [
-                    "ramp",
-                    "on ramp",
-                    "off ramp"
-                ],
-                "name": "Tertiary Link"
-            },
-            "highway/track": {
-                "icon": "highway-track",
-                "fields": [
-                    "tracktype",
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "track"
-                },
-                "terms": [],
-                "name": "Track"
-            },
-            "highway/traffic_signals": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "traffic_signals"
-                },
-                "terms": [
-                    "light",
-                    "stoplight",
-                    "traffic light"
-                ],
-                "name": "Traffic Signals"
-            },
-            "highway/trunk": {
-                "icon": "highway-trunk",
-                "fields": [
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "lanes",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "trunk"
-                },
-                "terms": [],
-                "name": "Trunk Road"
-            },
-            "highway/trunk_link": {
-                "icon": "highway-trunk-link",
-                "fields": [
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "trunk_link"
-                },
-                "terms": [
-                    "ramp",
-                    "on ramp",
-                    "off ramp"
-                ],
-                "name": "Trunk Link"
-            },
-            "highway/turning_circle": {
-                "icon": "circle",
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "turning_circle"
-                },
-                "terms": [],
-                "name": "Turning Circle"
-            },
-            "highway/unclassified": {
-                "icon": "highway-unclassified",
-                "fields": [
-                    "oneway",
-                    "maxspeed",
-                    "structure",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "unclassified"
-                },
-                "terms": [],
-                "name": "Unclassified Road"
-            },
-            "historic": {
-                "fields": [
-                    "historic"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "*"
-                },
-                "name": "Historic Site"
-            },
-            "historic/archaeological_site": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "archaeological_site"
-                },
-                "name": "Archaeological Site"
-            },
-            "historic/boundary_stone": {
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "historic": "boundary_stone"
-                },
-                "name": "Boundary Stone"
-            },
-            "historic/castle": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "castle"
-                },
-                "name": "Castle"
-            },
-            "historic/memorial": {
-                "icon": "monument",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "memorial"
-                },
-                "name": "Memorial"
-            },
-            "historic/monument": {
-                "icon": "monument",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "monument"
-                },
-                "name": "Monument"
-            },
-            "historic/ruins": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "ruins"
-                },
-                "name": "Ruins"
-            },
-            "historic/wayside_cross": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "wayside_cross"
-                },
-                "name": "Wayside Cross"
-            },
-            "historic/wayside_shrine": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "wayside_shrine"
-                },
-                "name": "Wayside Shrine"
-            },
-            "landuse": {
-                "fields": [
-                    "landuse"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "*"
-                },
-                "name": "Landuse"
-            },
-            "landuse/allotments": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "allotments"
-                },
-                "terms": [],
-                "name": "Allotments"
-            },
-            "landuse/basin": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "basin"
-                },
-                "terms": [],
-                "name": "Basin"
-            },
-            "landuse/cemetery": {
-                "icon": "cemetery",
-                "fields": [
-                    "religion",
-                    "denomination"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "cemetery"
-                },
-                "terms": [],
-                "name": "Cemetery"
-            },
-            "landuse/churchyard": {
-                "fields": [
-                    "religion",
-                    "denomination"
-                ],
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "churchyard"
-                },
-                "terms": [],
-                "name": "Churchyard"
-            },
-            "landuse/commercial": {
-                "icon": "commercial",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "commercial"
-                },
-                "terms": [],
-                "name": "Commercial"
-            },
-            "landuse/construction": {
-                "fields": [
-                    "construction",
-                    "operator"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "construction"
-                },
-                "terms": [],
-                "name": "Construction"
-            },
-            "landuse/farm": {
-                "fields": [
-                    "crop"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "farm"
-                },
-                "terms": [],
-                "name": "Farm",
-                "icon": "farm"
-            },
-            "landuse/farmland": {
-                "fields": [
-                    "crop"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "farmland"
-                },
-                "terms": [],
-                "name": "Farmland",
-                "icon": "farm",
-                "searchable": false
-            },
-            "landuse/farmyard": {
-                "fields": [
-                    "crop"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "farmyard"
-                },
-                "terms": [],
-                "name": "Farmyard",
-                "icon": "farm"
-            },
-            "landuse/forest": {
-                "fields": [
-                    "wood"
-                ],
-                "icon": "park2",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "forest"
-                },
-                "terms": [],
-                "name": "Forest"
-            },
-            "landuse/grass": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "grass"
-                },
-                "terms": [],
-                "name": "Grass"
-            },
-            "landuse/industrial": {
-                "icon": "industrial",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "industrial"
-                },
-                "terms": [],
-                "name": "Industrial"
-            },
-            "landuse/landfill": {
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "landfill"
-                },
-                "terms": [
-                    "dump"
-                ],
-                "name": "Landfill"
-            },
-            "landuse/meadow": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "meadow"
-                },
-                "terms": [],
-                "name": "Meadow"
-            },
-            "landuse/military": {
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "military"
-                },
-                "terms": [],
-                "name": "Military"
-            },
-            "landuse/orchard": {
-                "fields": [
-                    "trees"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "orchard"
-                },
-                "terms": [],
-                "name": "Orchard",
-                "icon": "park2"
-            },
-            "landuse/quarry": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "quarry"
-                },
-                "terms": [],
-                "name": "Quarry"
-            },
-            "landuse/residential": {
-                "icon": "building",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "residential"
-                },
-                "terms": [],
-                "name": "Residential"
-            },
-            "landuse/retail": {
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "retail"
-                },
-                "name": "Retail"
-            },
-            "landuse/vineyard": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "vineyard"
-                },
-                "terms": [],
-                "name": "Vineyard"
-            },
-            "leisure": {
-                "fields": [
-                    "leisure"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "*"
-                },
-                "name": "Leisure"
-            },
-            "leisure/common": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "open space"
-                ],
-                "tags": {
-                    "leisure": "common"
-                },
-                "name": "Common"
-            },
-            "leisure/dog_park": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "leisure": "dog_park"
-                },
-                "name": "Dog Park",
-                "icon": "dog-park"
-            },
-            "leisure/firepit": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "firepit"
-                },
-                "terms": [
-                    "fireplace",
-                    "campfire"
-                ],
-                "name": "Firepit"
-            },
-            "leisure/garden": {
-                "icon": "garden",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "garden"
-                },
-                "name": "Garden"
-            },
-            "leisure/golf_course": {
-                "icon": "golf",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "golf_course"
-                },
-                "terms": [
-                    "links"
-                ],
-                "name": "Golf Course"
-            },
-            "leisure/ice_rink": {
-                "icon": "pitch",
-                "fields": [
-                    "building_area",
-                    "seasonal",
-                    "sport_ice"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "hockey",
-                    "skating",
-                    "curling"
-                ],
-                "tags": {
-                    "leisure": "ice_rink"
-                },
-                "name": "Ice Rink"
-            },
-            "leisure/marina": {
-                "icon": "harbor",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "marina"
-                },
-                "name": "Marina"
-            },
-            "leisure/park": {
-                "icon": "park",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "esplanade",
-                    "estate",
-                    "forest",
-                    "garden",
-                    "grass",
-                    "green",
-                    "grounds",
-                    "lawn",
-                    "lot",
-                    "meadow",
-                    "parkland",
-                    "place",
-                    "playground",
-                    "plaza",
-                    "pleasure garden",
-                    "recreation area",
-                    "square",
-                    "tract",
-                    "village green",
-                    "woodland"
-                ],
-                "tags": {
-                    "leisure": "park"
-                },
-                "name": "Park"
-            },
-            "leisure/picnic_table": {
-                "geometry": [
-                    "point"
-                ],
-                "tags": {
-                    "leisure": "picnic_table"
-                },
-                "terms": [
-                    "bench",
-                    "table"
-                ],
-                "name": "Picnic Table"
-            },
-            "leisure/pitch": {
-                "icon": "pitch",
-                "fields": [
-                    "sport",
-                    "surface",
-                    "lit"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch"
-                },
-                "terms": [],
-                "name": "Sport Pitch"
-            },
-            "leisure/pitch/american_football": {
-                "icon": "america-football",
-                "fields": [
-                    "surface",
-                    "lit"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch",
-                    "sport": "american_football"
-                },
-                "terms": [],
-                "name": "American Football Field"
-            },
-            "leisure/pitch/baseball": {
-                "icon": "baseball",
-                "fields": [
-                    "lit"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch",
-                    "sport": "baseball"
-                },
-                "terms": [],
-                "name": "Baseball Diamond"
-            },
-            "leisure/pitch/basketball": {
-                "icon": "basketball",
-                "fields": [
-                    "surface",
-                    "hoops",
-                    "lit"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch",
-                    "sport": "basketball"
-                },
-                "terms": [],
-                "name": "Basketball Court"
-            },
-            "leisure/pitch/skateboard": {
-                "icon": "pitch",
-                "fields": [
-                    "surface",
-                    "lit"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch",
-                    "sport": "skateboard"
-                },
-                "terms": [],
-                "name": "Skate Park"
-            },
-            "leisure/pitch/soccer": {
-                "icon": "soccer",
-                "fields": [
-                    "surface",
-                    "lit"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch",
-                    "sport": "soccer"
-                },
-                "terms": [],
-                "name": "Soccer Field"
-            },
-            "leisure/pitch/tennis": {
-                "icon": "tennis",
-                "fields": [
-                    "surface",
-                    "lit"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch",
-                    "sport": "tennis"
-                },
-                "terms": [],
-                "name": "Tennis Court"
-            },
-            "leisure/pitch/volleyball": {
-                "icon": "pitch",
-                "fields": [
-                    "surface",
-                    "lit"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch",
-                    "sport": "volleyball"
-                },
-                "terms": [],
-                "name": "Volleyball Court"
-            },
-            "leisure/playground": {
-                "icon": "playground",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "playground"
-                },
-                "name": "Playground",
-                "terms": [
-                    "jungle gym",
-                    "play area"
-                ]
-            },
-            "leisure/slipway": {
-                "geometry": [
-                    "point",
-                    "line"
-                ],
-                "tags": {
-                    "leisure": "slipway"
-                },
-                "name": "Slipway"
-            },
-            "leisure/sports_center": {
-                "icon": "pitch",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "sports_centre"
-                },
-                "terms": [
-                    "gym"
-                ],
-                "fields": [
-                    "sport"
-                ],
-                "name": "Sports Center / Gym"
-            },
-            "leisure/stadium": {
-                "icon": "pitch",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "stadium"
-                },
-                "fields": [
-                    "sport"
-                ],
-                "name": "Stadium"
-            },
-            "leisure/swimming_pool": {
-                "fields": [
-                    "access_simple"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "swimming_pool"
-                },
-                "icon": "swimming",
-                "name": "Swimming Pool"
-            },
-            "leisure/track": {
-                "icon": "pitch",
-                "fields": [
-                    "surface",
-                    "lit",
-                    "width"
-                ],
-                "geometry": [
-                    "point",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "track"
-                },
-                "name": "Race Track"
-            },
-            "line": {
-                "name": "Line",
-                "tags": {},
-                "geometry": [
-                    "line"
-                ],
-                "matchScore": 0.1
-            },
-            "man_made": {
-                "fields": [
-                    "man_made"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "*"
-                },
-                "name": "Man Made"
-            },
-            "man_made/breakwater": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "breakwater"
-                },
-                "name": "Breakwater"
-            },
-            "man_made/cutline": {
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "man_made": "cutline"
-                },
-                "name": "Cut line"
-            },
-            "man_made/embankment": {
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "man_made": "embankment"
-                },
-                "name": "Embankment",
-                "searchable": false
-            },
-            "man_made/flagpole": {
-                "geometry": [
-                    "point"
-                ],
-                "tags": {
-                    "man_made": "flagpole"
-                },
-                "name": "Flagpole",
-                "icon": "embassy"
-            },
-            "man_made/lighthouse": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "lighthouse"
-                },
-                "name": "Lighthouse",
-                "icon": "lighthouse"
-            },
-            "man_made/observation": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "lookout tower",
-                    "fire tower"
-                ],
-                "tags": {
-                    "man_made": "tower",
-                    "tower:type": "observation"
-                },
-                "name": "Observation Tower"
-            },
-            "man_made/pier": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "pier"
-                },
-                "name": "Pier"
-            },
-            "man_made/pipeline": {
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "man_made": "pipeline"
-                },
-                "fields": [
-                    "location",
-                    "operator"
-                ],
-                "name": "Pipeline",
-                "icon": "pipeline"
-            },
-            "man_made/survey_point": {
-                "icon": "monument",
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "man_made": "survey_point"
-                },
-                "fields": [
-                    "ref"
-                ],
-                "name": "Survey Point"
-            },
-            "man_made/tower": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "tower"
-                },
-                "fields": [
-                    "towertype"
-                ],
-                "name": "Tower"
-            },
-            "man_made/wastewater_plant": {
-                "icon": "water",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "wastewater_plant"
-                },
-                "name": "Wastewater Plant",
-                "terms": [
-                    "sewage works",
-                    "sewage treatment plant",
-                    "water treatment plant",
-                    "reclamation plant"
-                ]
-            },
-            "man_made/water_tower": {
-                "icon": "water",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "water_tower"
-                },
-                "name": "Water Tower"
-            },
-            "man_made/water_well": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "water_well"
-                },
-                "name": "Water well"
-            },
-            "man_made/water_works": {
-                "icon": "water",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "water_works"
-                },
-                "name": "Water Works"
-            },
-            "military/airfield": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "military": "airfield"
-                },
-                "terms": [],
-                "name": "Airfield",
-                "icon": "airfield"
-            },
-            "military/barracks": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "military": "barracks"
-                },
-                "terms": [],
-                "name": "Barracks"
-            },
-            "military/bunker": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "military": "bunker"
-                },
-                "terms": [],
-                "name": "Bunker"
-            },
-            "military/range": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "military": "range"
-                },
-                "terms": [],
-                "name": "Military Range"
-            },
-            "natural": {
-                "fields": [
-                    "natural"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "natural": "*"
-                },
-                "name": "Natural"
-            },
-            "natural/bay": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "bay"
-                },
-                "name": "Bay"
-            },
-            "natural/beach": {
-                "fields": [
-                    "surface"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "beach"
-                },
-                "name": "Beach"
-            },
-            "natural/cliff": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "cliff"
-                },
-                "name": "Cliff"
-            },
-            "natural/coastline": {
-                "geometry": [
-                    "line"
-                ],
-                "terms": [
-                    "shore"
-                ],
-                "tags": {
-                    "natural": "coastline"
-                },
-                "name": "Coastline"
-            },
-            "natural/fell": {
-                "geometry": [
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "fell"
-                },
-                "name": "Fell"
-            },
-            "natural/glacier": {
-                "geometry": [
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "glacier"
-                },
-                "name": "Glacier"
-            },
-            "natural/grassland": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "grassland"
-                },
-                "name": "Grassland"
-            },
-            "natural/heath": {
-                "geometry": [
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "heath"
-                },
-                "name": "Heath"
-            },
-            "natural/peak": {
-                "icon": "triangle",
-                "fields": [
-                    "elevation"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "natural": "peak"
-                },
-                "terms": [
-                    "acme",
-                    "aiguille",
-                    "alp",
-                    "climax",
-                    "crest",
-                    "crown",
-                    "hill",
-                    "mount",
-                    "mountain",
-                    "pinnacle",
-                    "summit",
-                    "tip",
-                    "top"
-                ],
-                "name": "Peak"
-            },
-            "natural/scree": {
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "natural": "scree"
-                },
-                "terms": [
-                    "loose rocks"
-                ],
-                "name": "Scree"
-            },
-            "natural/scrub": {
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "natural": "scrub"
-                },
-                "terms": [],
-                "name": "Scrub"
-            },
-            "natural/spring": {
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "spring"
-                },
-                "name": "Spring"
-            },
-            "natural/tree": {
-                "fields": [
-                    "tree_type",
-                    "denotation"
-                ],
-                "icon": "park",
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "tree"
-                },
-                "name": "Tree"
-            },
-            "natural/water": {
-                "fields": [
-                    "water"
-                ],
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "natural": "water"
-                },
-                "icon": "water",
-                "name": "Water"
-            },
-            "natural/water/lake": {
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "natural": "water",
-                    "water": "lake"
-                },
-                "terms": [
-                    "lakelet",
-                    "loch",
-                    "mere"
-                ],
-                "icon": "water",
-                "name": "Lake"
-            },
-            "natural/water/pond": {
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "natural": "water",
-                    "water": "pond"
-                },
-                "terms": [
-                    "lakelet",
-                    "millpond",
-                    "tarn",
-                    "pool",
-                    "mere"
-                ],
-                "icon": "water",
-                "name": "Pond"
-            },
-            "natural/water/reservoir": {
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "natural": "water",
-                    "water": "reservoir"
-                },
-                "icon": "water",
-                "name": "Reservoir"
-            },
-            "natural/wetland": {
-                "icon": "wetland",
-                "fields": [
-                    "wetland"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "natural": "wetland"
-                },
-                "terms": [],
-                "name": "Wetland"
-            },
-            "natural/wood": {
-                "fields": [
-                    "wood"
-                ],
-                "icon": "park2",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "natural": "wood"
-                },
-                "terms": [],
-                "name": "Wood"
-            },
-            "office": {
-                "icon": "commercial",
-                "fields": [
-                    "office",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "*"
-                },
-                "terms": [],
-                "name": "Office"
-            },
-            "office/accountant": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "accountant"
-                },
-                "terms": [],
-                "name": "Accountant"
-            },
-            "office/administrative": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "administrative"
-                },
-                "terms": [],
-                "name": "Administrative Office"
-            },
-            "office/architect": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "architect"
-                },
-                "terms": [],
-                "name": "Architect"
-            },
-            "office/company": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "company"
-                },
-                "terms": [],
-                "name": "Company Office"
-            },
-            "office/educational_institution": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "educational_institution"
-                },
-                "terms": [],
-                "name": "Educational Institution"
-            },
-            "office/employment_agency": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "employment_agency"
-                },
-                "terms": [],
-                "name": "Employment Agency"
-            },
-            "office/estate_agent": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "estate_agent"
-                },
-                "terms": [],
-                "name": "Real Estate Office"
-            },
-            "office/financial": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "financial"
-                },
-                "terms": [],
-                "name": "Financial Office"
-            },
-            "office/government": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "government"
-                },
-                "terms": [],
-                "name": "Government Office"
-            },
-            "office/insurance": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "insurance"
-                },
-                "terms": [],
-                "name": "Insurance Office"
-            },
-            "office/it": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "it"
-                },
-                "terms": [],
-                "name": "IT Office"
-            },
-            "office/lawyer": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "lawyer"
-                },
-                "terms": [],
-                "name": "Law Office"
-            },
-            "office/newspaper": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "newspaper"
-                },
-                "terms": [],
-                "name": "Newspaper"
-            },
-            "office/ngo": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "ngo"
-                },
-                "terms": [],
-                "name": "NGO Office"
-            },
-            "office/physician": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "physician"
-                },
-                "terms": [],
-                "name": "Physician"
-            },
-            "office/political_party": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "political_party"
-                },
-                "terms": [],
-                "name": "Political Party"
-            },
-            "office/research": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "research"
-                },
-                "terms": [],
-                "name": "Research Office"
-            },
-            "office/telecommunication": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "telecommunication"
-                },
-                "terms": [],
-                "name": "Telecom Office"
-            },
-            "office/therapist": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "therapist"
-                },
-                "terms": [],
-                "name": "Therapist"
-            },
-            "office/travel_agent": {
-                "icon": "suitcase",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "travel_agent"
-                },
-                "terms": [],
-                "name": "Travel Agency",
-                "searchable": false
-            },
-            "piste": {
-                "icon": "skiing",
-                "fields": [
-                    "piste/type",
-                    "piste/difficulty",
-                    "piste/grooming",
-                    "oneway",
-                    "lit"
-                ],
-                "geometry": [
-                    "point",
-                    "line",
-                    "area"
-                ],
-                "terms": [
-                    "ski",
-                    "sled",
-                    "sleigh",
-                    "snowboard",
-                    "nordic",
-                    "downhill",
-                    "snowmobile"
-                ],
-                "tags": {
-                    "piste:type": "*"
-                },
-                "name": "Piste/Ski Trail"
-            },
-            "place": {
-                "fields": [
-                    "place"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "place": "*"
-                },
-                "name": "Place"
-            },
-            "place/city": {
-                "icon": "city",
-                "fields": [
-                    "population"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "city"
-                },
-                "name": "City"
-            },
-            "place/hamlet": {
-                "icon": "triangle-stroked",
-                "fields": [
-                    "population"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "hamlet"
-                },
-                "name": "Hamlet"
-            },
-            "place/island": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "archipelago",
-                    "atoll",
-                    "bar",
-                    "cay",
-                    "isle",
-                    "islet",
-                    "key",
-                    "reef"
-                ],
-                "tags": {
-                    "place": "island"
-                },
-                "name": "Island"
-            },
-            "place/isolated_dwelling": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "isolated_dwelling"
-                },
-                "name": "Isolated Dwelling"
-            },
-            "place/locality": {
-                "icon": "marker",
-                "fields": [
-                    "population"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "locality"
-                },
-                "name": "Locality"
-            },
-            "place/neighbourhood": {
-                "icon": "triangle-stroked",
-                "fields": [
-                    "population"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "neighbourhood"
-                },
-                "terms": [
-                    "neighbourhood"
-                ],
-                "name": "Neighborhood"
-            },
-            "place/suburb": {
-                "icon": "triangle-stroked",
-                "fields": [
-                    "population"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "suburb"
-                },
-                "terms": [
-                    "Boro",
-                    "Quarter"
-                ],
-                "name": "Borough"
-            },
-            "place/town": {
-                "icon": "town",
-                "fields": [
-                    "population"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "town"
-                },
-                "name": "Town"
-            },
-            "place/village": {
-                "icon": "village",
-                "fields": [
-                    "population"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "village"
-                },
-                "name": "Village"
-            },
-            "point": {
-                "name": "Point",
-                "tags": {},
-                "geometry": [
-                    "point"
-                ],
-                "matchScore": 0.1
-            },
-            "power": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "power": "*"
-                },
-                "fields": [
-                    "power"
-                ],
-                "name": "Power"
-            },
-            "power/generator": {
-                "name": "Power Generator",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "power": "generator"
-                },
-                "fields": [
-                    "generator/source",
-                    "generator/method",
-                    "generator/type"
-                ]
-            },
-            "power/line": {
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "power": "line"
-                },
-                "name": "Power Line",
-                "icon": "power-line"
-            },
-            "power/minor_line": {
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "power": "minor_line"
-                },
-                "name": "Minor Power Line",
-                "icon": "power-line"
-            },
-            "power/pole": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "power": "pole"
-                },
-                "name": "Power Pole"
-            },
-            "power/sub_station": {
-                "fields": [
-                    "operator",
-                    "building"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "power": "sub_station"
-                },
-                "name": "Substation"
-            },
-            "power/tower": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "power": "tower"
-                },
-                "name": "High-Voltage Tower"
-            },
-            "power/transformer": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "power": "transformer"
-                },
-                "name": "Transformer"
-            },
-            "public_transport/platform": {
-                "fields": [
-                    "ref",
-                    "operator",
-                    "network",
-                    "shelter"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "public_transport": "platform"
-                },
-                "name": "Platform"
-            },
-            "public_transport/stop_position": {
-                "icon": "bus",
-                "fields": [
-                    "ref",
-                    "operator",
-                    "network"
-                ],
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "public_transport": "stop_position"
-                },
-                "name": "Stop Position"
-            },
-            "railway": {
-                "fields": [
-                    "railway"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "railway": "*"
-                },
-                "name": "Railway"
-            },
-            "railway/abandoned": {
-                "icon": "railway-abandoned",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "abandoned"
-                },
-                "fields": [
-                    "structure"
-                ],
-                "terms": [],
-                "name": "Abandoned Railway"
-            },
-            "railway/disused": {
-                "icon": "railway-disused",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "disused"
-                },
-                "fields": [
-                    "structure"
-                ],
-                "terms": [],
-                "name": "Disused Railway"
-            },
-            "railway/funicular": {
-                "geometry": [
-                    "line"
-                ],
-                "terms": [
-                    "venicular",
-                    "cliff railway",
-                    "cable car",
-                    "cable railway",
-                    "funicular railway"
-                ],
-                "fields": [
-                    "structure",
-                    "gauge"
-                ],
-                "tags": {
-                    "railway": "funicular"
-                },
-                "icon": "railway-rail",
-                "name": "Funicular"
-            },
-            "railway/halt": {
-                "icon": "rail",
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "railway": "halt"
-                },
-                "name": "Railway Halt",
-                "terms": [
-                    "break",
-                    "interrupt",
-                    "rest",
-                    "wait",
-                    "interruption"
-                ]
-            },
-            "railway/level_crossing": {
-                "icon": "cross",
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "railway": "level_crossing"
-                },
-                "terms": [
-                    "crossing",
-                    "railroad crossing",
-                    "railway crossing",
-                    "grade crossing",
-                    "road through railroad",
-                    "train crossing"
-                ],
-                "name": "Level Crossing"
-            },
-            "railway/monorail": {
-                "icon": "railway-monorail",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "monorail"
-                },
-                "fields": [
-                    "structure",
-                    "electrified"
-                ],
-                "terms": [],
-                "name": "Monorail"
-            },
-            "railway/narrow_gauge": {
-                "icon": "railway-rail",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "narrow_gauge"
-                },
-                "fields": [
-                    "structure",
-                    "gauge",
-                    "electrified"
-                ],
-                "terms": [
-                    "narrow gauge railway",
-                    "narrow gauge railroad"
-                ],
-                "name": "Narrow Gauge Rail"
-            },
-            "railway/platform": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "railway": "platform"
-                },
-                "name": "Railway Platform"
-            },
-            "railway/rail": {
-                "icon": "railway-rail",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "rail"
-                },
-                "fields": [
-                    "structure",
-                    "gauge",
-                    "electrified"
-                ],
-                "terms": [],
-                "name": "Rail"
-            },
-            "railway/station": {
-                "icon": "rail",
-                "fields": [
-                    "building_area"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "railway": "station"
-                },
-                "terms": [
-                    "train station",
-                    "station"
-                ],
-                "name": "Railway Station"
-            },
-            "railway/subway": {
-                "icon": "railway-subway",
-                "fields": [
-                    "structure",
-                    "gauge",
-                    "electrified"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "subway"
-                },
-                "terms": [],
-                "name": "Subway"
-            },
-            "railway/subway_entrance": {
-                "icon": "rail-metro",
-                "geometry": [
-                    "point"
-                ],
-                "tags": {
-                    "railway": "subway_entrance"
-                },
-                "terms": [],
-                "name": "Subway Entrance"
-            },
-            "railway/tram": {
-                "icon": "railway-light-rail",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "tram"
-                },
-                "fields": [
-                    "structure",
-                    "gauge",
-                    "electrified"
-                ],
-                "terms": [
-                    "streetcar"
-                ],
-                "name": "Tram"
-            },
-            "relation": {
-                "name": "Relation",
-                "icon": "relation",
-                "tags": {},
-                "geometry": [
-                    "relation"
-                ],
-                "fields": [
-                    "relation"
-                ]
-            },
-            "route/ferry": {
-                "icon": "ferry",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "route": "ferry"
-                },
-                "name": "Ferry Route"
-            },
-            "shop": {
-                "icon": "shop",
-                "fields": [
-                    "shop",
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "*"
-                },
-                "terms": [],
-                "name": "Shop"
-            },
-            "shop/alcohol": {
-                "icon": "alcohol-shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "alcohol"
-                },
-                "terms": [
-                    "alcohol"
-                ],
-                "name": "Liquor Store"
-            },
-            "shop/art": {
-                "icon": "art-gallery",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "art store",
-                    "art gallery"
-                ],
-                "tags": {
-                    "shop": "art"
-                },
-                "name": "Art Shop"
-            },
-            "shop/bakery": {
-                "icon": "bakery",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "bakery"
-                },
-                "name": "Bakery"
-            },
-            "shop/beauty": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "nail spa",
-                    "spa",
-                    "salon",
-                    "tanning"
-                ],
-                "tags": {
-                    "shop": "beauty"
-                },
-                "name": "Beauty Shop"
-            },
-            "shop/beverages": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "beverages"
-                },
-                "name": "Beverage Store"
-            },
-            "shop/bicycle": {
-                "icon": "bicycle",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "bicycle"
-                },
-                "name": "Bicycle Shop"
-            },
-            "shop/bookmaker": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "bookmaker"
-                },
-                "name": "Bookmaker"
-            },
-            "shop/books": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "books"
-                },
-                "name": "Bookstore"
-            },
-            "shop/boutique": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "boutique"
-                },
-                "name": "Boutique"
-            },
-            "shop/butcher": {
-                "icon": "slaughterhouse",
-                "fields": [
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "shop": "butcher"
-                },
-                "name": "Butcher"
-            },
-            "shop/car": {
-                "icon": "car",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "car"
-                },
-                "name": "Car Dealership"
-            },
-            "shop/car_parts": {
-                "icon": "car",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "car_parts"
-                },
-                "name": "Car Parts Store"
-            },
-            "shop/car_repair": {
-                "icon": "car",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "car_repair"
-                },
-                "name": "Car Repair Shop"
-            },
-            "shop/chemist": {
-                "icon": "chemist",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "chemist"
-                },
-                "name": "Chemist"
-            },
-            "shop/clothes": {
-                "icon": "clothing-store",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "clothes"
-                },
-                "name": "Clothing Store"
-            },
-            "shop/computer": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "computer"
-                },
-                "name": "Computer Store"
-            },
-            "shop/confectionery": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "confectionery"
-                },
-                "name": "Confectionery"
-            },
-            "shop/convenience": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "convenience"
-                },
-                "name": "Convenience Store"
-            },
-            "shop/deli": {
-                "icon": "restaurant",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "deli"
-                },
-                "name": "Deli"
-            },
-            "shop/department_store": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "department_store"
-                },
-                "name": "Department Store"
-            },
-            "shop/doityourself": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "doityourself"
-                },
-                "name": "DIY Store"
-            },
-            "shop/dry_cleaning": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "dry_cleaning"
-                },
-                "name": "Dry Cleaners"
-            },
-            "shop/electronics": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "electronics"
-                },
-                "name": "Electronics Store"
-            },
-            "shop/farm": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "farm"
-                },
-                "terms": [
-                    "farm shop",
-                    "farm stand"
-                ],
-                "name": "Produce Stand"
-            },
-            "shop/fishmonger": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "fishmonger"
-                },
-                "name": "Fishmonger",
-                "searchable": false
-            },
-            "shop/florist": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "florist"
-                },
-                "name": "Florist"
-            },
-            "shop/funeral_directors": {
-                "icon": "cemetery",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "religion",
-                    "denomination"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "funeral_directors"
-                },
-                "terms": [
-                    "undertaker",
-                    "funeral parlour",
-                    "funeral parlor",
-                    "memorial home"
-                ],
-                "name": "Funeral Home"
-            },
-            "shop/furniture": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "furniture"
-                },
-                "name": "Furniture Store"
-            },
-            "shop/garden_centre": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "garden centre"
-                ],
-                "tags": {
-                    "shop": "garden_centre"
-                },
-                "name": "Garden Center"
-            },
-            "shop/gift": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "gift"
-                },
-                "name": "Gift Shop"
-            },
-            "shop/greengrocer": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "greengrocer"
-                },
-                "name": "Greengrocer"
-            },
-            "shop/hairdresser": {
-                "icon": "hairdresser",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "hairdresser"
-                },
-                "name": "Hairdresser"
-            },
-            "shop/hardware": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "hardware"
-                },
-                "name": "Hardware Store"
-            },
-            "shop/hifi": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "hifi"
-                },
-                "name": "Hifi Store"
-            },
-            "shop/jewelry": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "jewelry"
-                },
-                "name": "Jeweler"
-            },
-            "shop/kiosk": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "kiosk"
-                },
-                "name": "Kiosk"
-            },
-            "shop/laundry": {
-                "icon": "laundry",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "laundry"
-                },
-                "name": "Laundry"
-            },
-            "shop/locksmith": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "keys"
-                ],
-                "tags": {
-                    "shop": "locksmith"
-                },
-                "name": "Locksmith"
-            },
-            "shop/lottery": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "lottery"
-                },
-                "name": "Lottery Shop"
-            },
-            "shop/mall": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "mall"
-                },
-                "name": "Mall"
-            },
-            "shop/mobile_phone": {
-                "icon": "mobilephone",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "mobile_phone"
-                },
-                "name": "Mobile Phone Store"
-            },
-            "shop/motorcycle": {
-                "icon": "scooter",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "motorcycle"
-                },
-                "name": "Motorcycle Dealership"
-            },
-            "shop/music": {
-                "icon": "music",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "music"
-                },
-                "name": "Music Store"
-            },
-            "shop/newsagent": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "newsagent"
-                },
-                "name": "Newsagent"
-            },
-            "shop/optician": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "optician"
-                },
-                "name": "Optician"
-            },
-            "shop/outdoor": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "outdoor"
-                },
-                "name": "Outdoor Store"
-            },
-            "shop/pet": {
-                "icon": "dog-park",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "pet"
-                },
-                "name": "Pet Store"
-            },
-            "shop/photo": {
-                "icon": "camera",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "photo"
-                },
-                "name": "Photography Store"
-            },
-            "shop/seafood": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "seafood"
-                },
-                "terms": [
-                    "fishmonger"
-                ],
-                "name": "Seafood Shop"
-            },
-            "shop/shoes": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "shoes"
-                },
-                "name": "Shoe Store"
-            },
-            "shop/sports": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "sports"
-                },
-                "name": "Sporting Goods Store"
-            },
-            "shop/stationery": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "stationery"
-                },
-                "name": "Stationery Store"
-            },
-            "shop/supermarket": {
-                "icon": "grocery",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "bazaar",
-                    "boutique",
-                    "chain",
-                    "co-op",
-                    "cut-rate store",
-                    "discount store",
-                    "five-and-dime",
-                    "flea market",
-                    "galleria",
-                    "grocery store",
-                    "mall",
-                    "mart",
-                    "outlet",
-                    "outlet store",
-                    "shop",
-                    "shopping center",
-                    "shopping centre",
-                    "shopping plaza",
-                    "stand",
-                    "store",
-                    "supermarket",
-                    "thrift shop"
-                ],
-                "tags": {
-                    "shop": "supermarket"
-                },
-                "name": "Supermarket"
-            },
-            "shop/tailor": {
-                "name": "Tailor",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "tailor",
-                    "clothes"
-                ],
-                "tags": {
-                    "shop": "tailor"
-                },
-                "icon": "clothing-store",
-                "fields": [
-                    "building_area",
-                    "address",
-                    "operator",
-                    "opening_hours"
-                ]
-            },
-            "shop/toys": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "toys"
-                },
-                "name": "Toy Store"
-            },
-            "shop/travel_agency": {
-                "icon": "suitcase",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "travel_agency"
-                },
-                "name": "Travel Agency"
-            },
-            "shop/tyres": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "tyres"
-                },
-                "name": "Tire Store"
-            },
-            "shop/vacant": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "vacant"
-                },
-                "name": "Vacant Shop"
-            },
-            "shop/variety_store": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "variety_store"
-                },
-                "name": "Variety Store"
-            },
-            "shop/video": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "video"
-                },
-                "name": "Video Store"
-            },
-            "shop/wine": {
-                "icon": "alcohol-shop",
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "wine"
-                },
-                "terms": [
-                    "winery"
-                ],
-                "name": "Wine Shop"
-            },
-            "tourism": {
-                "fields": [
-                    "tourism"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "*"
-                },
-                "name": "Tourism"
-            },
-            "tourism/alpine_hut": {
-                "icon": "lodging",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "alpine_hut"
-                },
-                "name": "Alpine Hut"
-            },
-            "tourism/artwork": {
-                "fields": [
-                    "artwork_type",
-                    "artist"
-                ],
-                "icon": "art-gallery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "artwork"
-                },
-                "terms": [
-                    "mural",
-                    "sculpture",
-                    "statue"
-                ],
-                "name": "Artwork"
-            },
-            "tourism/attraction": {
-                "icon": "monument",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "attraction"
-                },
-                "name": "Tourist Attraction"
-            },
-            "tourism/camp_site": {
-                "icon": "campsite",
-                "fields": [
-                    "operator",
-                    "address",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "camping"
-                ],
-                "tags": {
-                    "tourism": "camp_site"
-                },
-                "name": "Camp Site"
-            },
-            "tourism/caravan_site": {
-                "fields": [
-                    "operator",
-                    "address",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "caravan_site"
-                },
-                "name": "RV Park"
-            },
-            "tourism/chalet": {
-                "icon": "lodging",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "chalet"
-                },
-                "name": "Chalet"
-            },
-            "tourism/guest_house": {
-                "icon": "lodging",
-                "fields": [
-                    "operator",
-                    "address",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "guest_house"
-                },
-                "terms": [
-                    "B&B",
-                    "Bed & Breakfast",
-                    "Bed and Breakfast"
-                ],
-                "name": "Guest House"
-            },
-            "tourism/hostel": {
-                "icon": "lodging",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "hostel"
-                },
-                "name": "Hostel"
-            },
-            "tourism/hotel": {
-                "icon": "lodging",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "tourism": "hotel"
-                },
-                "name": "Hotel"
-            },
-            "tourism/information": {
-                "fields": [
-                    "information",
-                    "building_area",
-                    "address",
-                    "operator"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "information"
-                },
-                "name": "Information"
-            },
-            "tourism/motel": {
-                "icon": "lodging",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "motel"
-                },
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "icon": "museum",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "exhibition",
-                    "exhibits archive",
-                    "foundation",
-                    "gallery",
-                    "hall",
-                    "institution",
-                    "library",
-                    "menagerie",
-                    "repository",
-                    "salon",
-                    "storehouse",
-                    "treasury",
-                    "vault"
-                ],
-                "tags": {
-                    "tourism": "museum"
-                },
-                "name": "Museum"
-            },
-            "tourism/picnic_site": {
-                "icon": "park",
-                "fields": [
-                    "operator",
-                    "address",
-                    "smoking"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "tourism": "picnic_site"
-                },
-                "name": "Picnic Site"
-            },
-            "tourism/theme_park": {
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "theme_park"
-                },
-                "name": "Theme Park"
-            },
-            "tourism/viewpoint": {
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "tourism": "viewpoint"
-                },
-                "name": "Viewpoint"
-            },
-            "tourism/zoo": {
-                "icon": "zoo",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "zoo"
-                },
-                "name": "Zoo"
-            },
-            "type/boundary": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "boundary"
-                },
-                "name": "Boundary",
-                "icon": "boundary",
-                "fields": [
-                    "boundary"
-                ]
-            },
-            "type/boundary/administrative": {
-                "name": "Administrative Boundary",
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "boundary",
-                    "boundary": "administrative"
-                },
-                "fields": [
-                    "admin_level"
-                ],
-                "icon": "boundary"
-            },
-            "type/multipolygon": {
-                "geometry": [
-                    "area",
-                    "relation"
-                ],
-                "tags": {
-                    "type": "multipolygon"
-                },
-                "removeTags": {},
-                "name": "Multipolygon",
-                "icon": "multipolygon",
-                "searchable": false,
-                "matchScore": 0.1
-            },
-            "type/restriction": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "restriction"
-                },
-                "name": "Restriction",
-                "icon": "restriction",
-                "fields": [
-                    "restriction",
-                    "except"
-                ]
-            },
-            "type/restriction/no_left_turn": {
-                "name": "No Left Turn",
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "restriction",
-                    "restriction": "no_left_turn"
-                },
-                "fields": [
-                    "except"
-                ],
-                "icon": "restriction-no-left-turn"
-            },
-            "type/restriction/no_right_turn": {
-                "name": "No Right Turn",
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "restriction",
-                    "restriction": "no_right_turn"
-                },
-                "fields": [
-                    "except"
-                ],
-                "icon": "restriction-no-right-turn"
-            },
-            "type/restriction/no_straight_on": {
-                "name": "No Straight On",
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "restriction",
-                    "restriction": "no_straight_on"
-                },
-                "fields": [
-                    "except"
-                ],
-                "icon": "restriction-no-straight-on"
-            },
-            "type/restriction/no_u_turn": {
-                "name": "No U-turn",
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "restriction",
-                    "restriction": "no_u_turn"
-                },
-                "fields": [
-                    "except"
-                ],
-                "icon": "restriction-no-u-turn"
-            },
-            "type/restriction/only_left_turn": {
-                "name": "Left Turn Only",
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "restriction",
-                    "restriction": "only_left_turn"
-                },
-                "fields": [
-                    "except"
-                ],
-                "icon": "restriction-only-left-turn"
-            },
-            "type/restriction/only_right_turn": {
-                "name": "Right Turn Only",
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "restriction",
-                    "restriction": "only_right_turn"
-                },
-                "fields": [
-                    "except"
-                ],
-                "icon": "restriction-only-right-turn"
-            },
-            "type/restriction/only_straight_on": {
-                "name": "No Turns",
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "restriction",
-                    "restriction": "only_straight_on"
-                },
-                "fields": [
-                    "except"
-                ],
-                "icon": "restriction-only-straight-on"
-            },
-            "type/route": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route"
-                },
-                "name": "Route",
-                "icon": "route",
-                "fields": [
-                    "route",
-                    "ref"
-                ]
-            },
-            "type/route/bicycle": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route",
-                    "route": "bicycle"
-                },
-                "name": "Cycle Route",
-                "icon": "route-bicycle",
-                "fields": [
-                    "ref",
-                    "network"
-                ]
-            },
-            "type/route/bus": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route",
-                    "route": "bus"
-                },
-                "name": "Bus Route",
-                "icon": "route-bus",
-                "fields": [
-                    "ref",
-                    "operator",
-                    "network"
-                ]
-            },
-            "type/route/detour": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route",
-                    "route": "detour"
-                },
-                "name": "Detour Route",
-                "icon": "route-detour",
-                "fields": [
-                    "ref"
-                ]
-            },
-            "type/route/ferry": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route",
-                    "route": "ferry"
-                },
-                "name": "Ferry Route",
-                "icon": "route-ferry",
-                "fields": [
-                    "ref",
-                    "operator",
-                    "network"
-                ]
-            },
-            "type/route/foot": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route",
-                    "route": "foot"
-                },
-                "name": "Foot Route",
-                "icon": "route-foot",
-                "fields": [
-                    "ref",
-                    "operator",
-                    "network"
-                ]
-            },
-            "type/route/hiking": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route",
-                    "route": "hiking"
-                },
-                "name": "Hiking Route",
-                "icon": "route-foot",
-                "fields": [
-                    "ref",
-                    "operator",
-                    "network"
-                ]
-            },
-            "type/route/pipeline": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route",
-                    "route": "pipeline"
-                },
-                "name": "Pipeline Route",
-                "icon": "route-pipeline",
-                "fields": [
-                    "ref",
-                    "operator"
-                ]
-            },
-            "type/route/power": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route",
-                    "route": "power"
-                },
-                "name": "Power Route",
-                "icon": "route-power",
-                "fields": [
-                    "ref",
-                    "operator"
-                ]
-            },
-            "type/route/road": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route",
-                    "route": "road"
-                },
-                "name": "Road Route",
-                "icon": "route-road",
-                "fields": [
-                    "ref"
-                ]
-            },
-            "type/route/train": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route",
-                    "route": "train"
-                },
-                "name": "Train Route",
-                "icon": "route-train",
-                "fields": [
-                    "ref",
-                    "operator"
-                ]
-            },
-            "type/route/tram": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route",
-                    "route": "tram"
-                },
-                "name": "Tram Route",
-                "icon": "route-tram",
-                "fields": [
-                    "ref",
-                    "operator"
-                ]
-            },
-            "type/route_master": {
-                "geometry": [
-                    "relation"
-                ],
-                "tags": {
-                    "type": "route_master"
-                },
-                "name": "Route Master",
-                "icon": "route-master",
-                "fields": [
-                    "route_master",
-                    "ref",
-                    "operator",
-                    "network"
-                ]
-            },
-            "vertex": {
-                "name": "Other",
-                "tags": {},
-                "geometry": [
-                    "vertex"
-                ],
-                "matchScore": 0.1
-            },
-            "waterway": {
-                "fields": [
-                    "waterway"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "waterway": "*"
-                },
-                "name": "Waterway"
-            },
-            "waterway/canal": {
-                "icon": "waterway-canal",
-                "fields": [
-                    "width"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "waterway": "canal"
-                },
-                "name": "Canal"
-            },
-            "waterway/dam": {
-                "icon": "dam",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "waterway": "dam"
-                },
-                "name": "Dam"
-            },
-            "waterway/ditch": {
-                "icon": "waterway-ditch",
-                "fields": [
-                    "tunnel"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "waterway": "ditch"
-                },
-                "name": "Ditch"
-            },
-            "waterway/drain": {
-                "icon": "waterway-stream",
-                "fields": [
-                    "tunnel"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "waterway": "drain"
-                },
-                "name": "Drain"
-            },
-            "waterway/river": {
-                "icon": "waterway-river",
-                "fields": [
-                    "tunnel",
-                    "width"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "terms": [
-                    "beck",
-                    "branch",
-                    "brook",
-                    "course",
-                    "creek",
-                    "estuary",
-                    "rill",
-                    "rivulet",
-                    "run",
-                    "runnel",
-                    "stream",
-                    "tributary",
-                    "watercourse"
-                ],
-                "tags": {
-                    "waterway": "river"
-                },
-                "name": "River"
-            },
-            "waterway/riverbank": {
-                "icon": "water",
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "waterway": "riverbank"
-                },
-                "name": "Riverbank"
-            },
-            "waterway/stream": {
-                "icon": "waterway-stream",
-                "fields": [
-                    "tunnel",
-                    "width"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "terms": [
-                    "beck",
-                    "branch",
-                    "brook",
-                    "burn",
-                    "course",
-                    "creek",
-                    "current",
-                    "drift",
-                    "flood",
-                    "flow",
-                    "freshet",
-                    "race",
-                    "rill",
-                    "rindle",
-                    "rivulet",
-                    "run",
-                    "runnel",
-                    "rush",
-                    "spate",
-                    "spritz",
-                    "surge",
-                    "tide",
-                    "torrent",
-                    "tributary",
-                    "watercourse"
-                ],
-                "tags": {
-                    "waterway": "stream"
-                },
-                "name": "Stream"
-            },
-            "waterway/weir": {
-                "icon": "dam",
-                "geometry": [
-                    "vertex",
-                    "line"
-                ],
-                "tags": {
-                    "waterway": "weir"
-                },
-                "name": "Weir"
-            },
-            "amenity/fuel/76": {
-                "tags": {
-                    "name": "76",
-                    "amenity": "fuel"
-                },
-                "name": "76",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Neste": {
-                "tags": {
-                    "name": "Neste",
-                    "amenity": "fuel"
-                },
-                "name": "Neste",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/BP": {
-                "tags": {
-                    "name": "BP",
-                    "amenity": "fuel"
-                },
-                "name": "BP",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Shell": {
-                "tags": {
-                    "name": "Shell",
-                    "amenity": "fuel"
-                },
-                "name": "Shell",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Agip": {
-                "tags": {
-                    "name": "Agip",
-                    "amenity": "fuel"
-                },
-                "name": "Agip",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Migrol": {
-                "tags": {
-                    "name": "Migrol",
-                    "amenity": "fuel"
-                },
-                "name": "Migrol",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Avia": {
-                "tags": {
-                    "name": "Avia",
-                    "amenity": "fuel"
-                },
-                "name": "Avia",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Texaco": {
-                "tags": {
-                    "name": "Texaco",
-                    "amenity": "fuel"
-                },
-                "name": "Texaco",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Total": {
-                "tags": {
-                    "name": "Total",
-                    "amenity": "fuel"
-                },
-                "name": "Total",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Statoil": {
-                "tags": {
-                    "name": "Statoil",
-                    "amenity": "fuel"
-                },
-                "name": "Statoil",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Esso": {
-                "tags": {
-                    "name": "Esso",
-                    "amenity": "fuel"
-                },
-                "name": "Esso",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Jet": {
-                "tags": {
-                    "name": "Jet",
-                    "amenity": "fuel"
-                },
-                "name": "Jet",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Avanti": {
-                "tags": {
-                    "name": "Avanti",
-                    "amenity": "fuel"
-                },
-                "name": "Avanti",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/OMV": {
-                "tags": {
-                    "name": "OMV",
-                    "amenity": "fuel"
-                },
-                "name": "OMV",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Aral": {
-                "tags": {
-                    "name": "Aral",
-                    "amenity": "fuel"
-                },
-                "name": "Aral",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/JET": {
-                "tags": {
-                    "name": "JET",
-                    "amenity": "fuel"
-                },
-                "name": "JET",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/United": {
-                "tags": {
-                    "name": "United",
-                    "amenity": "fuel"
-                },
-                "name": "United",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Mobil": {
-                "tags": {
-                    "name": "Mobil",
-                    "amenity": "fuel"
-                },
-                "name": "Mobil",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Caltex": {
-                "tags": {
-                    "name": "Caltex",
-                    "amenity": "fuel"
-                },
-                "name": "Caltex",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Sunoco": {
-                "tags": {
-                    "name": "Sunoco",
-                    "amenity": "fuel"
-                },
-                "name": "Sunoco",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Q8": {
-                "tags": {
-                    "name": "Q8",
-                    "amenity": "fuel"
-                },
-                "name": "Q8",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/ARAL": {
-                "tags": {
-                    "name": "ARAL",
-                    "amenity": "fuel"
-                },
-                "name": "ARAL",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/CEPSA": {
-                "tags": {
-                    "name": "CEPSA",
-                    "amenity": "fuel"
-                },
-                "name": "CEPSA",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/BFT": {
-                "tags": {
-                    "name": "BFT",
-                    "amenity": "fuel"
-                },
-                "name": "BFT",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Petron": {
-                "tags": {
-                    "name": "Petron",
-                    "amenity": "fuel"
-                },
-                "name": "Petron",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Total Access": {
-                "tags": {
-                    "name": "Total Access",
-                    "amenity": "fuel"
-                },
-                "name": "Total Access",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Elf": {
-                "tags": {
-                    "name": "Elf",
-                    "amenity": "fuel"
-                },
-                "name": "Elf",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Station Service E. Leclerc": {
-                "tags": {
-                    "name": "Station Service E. Leclerc",
-                    "amenity": "fuel"
-                },
-                "name": "Station Service E. Leclerc",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Shell Express": {
-                "tags": {
-                    "name": "Shell Express",
-                    "amenity": "fuel"
-                },
-                "name": "Shell Express",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Hess": {
-                "tags": {
-                    "name": "Hess",
-                    "amenity": "fuel"
-                },
-                "name": "Hess",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Flying V": {
-                "tags": {
-                    "name": "Flying V",
-                    "amenity": "fuel"
-                },
-                "name": "Flying V",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/bft": {
-                "tags": {
-                    "name": "bft",
-                    "amenity": "fuel"
-                },
-                "name": "bft",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Gulf": {
-                "tags": {
-                    "name": "Gulf",
-                    "amenity": "fuel"
-                },
-                "name": "Gulf",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/PTT": {
-                "tags": {
-                    "name": "PTT",
-                    "amenity": "fuel"
-                },
-                "name": "PTT",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/St1": {
-                "tags": {
-                    "name": "St1",
-                    "amenity": "fuel"
-                },
-                "name": "St1",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Teboil": {
-                "tags": {
-                    "name": "Teboil",
-                    "amenity": "fuel"
-                },
-                "name": "Teboil",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/HEM": {
-                "tags": {
-                    "name": "HEM",
-                    "amenity": "fuel"
-                },
-                "name": "HEM",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/GALP": {
-                "tags": {
-                    "name": "GALP",
-                    "amenity": "fuel"
-                },
-                "name": "GALP",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/OK": {
-                "tags": {
-                    "name": "OK",
-                    "amenity": "fuel"
-                },
-                "name": "OK",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/ÖMV": {
-                "tags": {
-                    "name": "ÖMV",
-                    "amenity": "fuel"
-                },
-                "name": "ÖMV",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Tinq": {
-                "tags": {
-                    "name": "Tinq",
-                    "amenity": "fuel"
-                },
-                "name": "Tinq",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/OKQ8": {
-                "tags": {
-                    "name": "OKQ8",
-                    "amenity": "fuel"
-                },
-                "name": "OKQ8",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Repsol": {
-                "tags": {
-                    "name": "Repsol",
-                    "amenity": "fuel"
-                },
-                "name": "Repsol",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Westfalen": {
-                "tags": {
-                    "name": "Westfalen",
-                    "amenity": "fuel"
-                },
-                "name": "Westfalen",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Esso Express": {
-                "tags": {
-                    "name": "Esso Express",
-                    "amenity": "fuel"
-                },
-                "name": "Esso Express",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Tamoil": {
-                "tags": {
-                    "name": "Tamoil",
-                    "amenity": "fuel"
-                },
-                "name": "Tamoil",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Engen": {
-                "tags": {
-                    "name": "Engen",
-                    "amenity": "fuel"
-                },
-                "name": "Engen",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Sasol": {
-                "tags": {
-                    "name": "Sasol",
-                    "amenity": "fuel"
-                },
-                "name": "Sasol",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Topaz": {
-                "tags": {
-                    "name": "Topaz",
-                    "amenity": "fuel"
-                },
-                "name": "Topaz",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/LPG": {
-                "tags": {
-                    "name": "LPG",
-                    "amenity": "fuel"
-                },
-                "name": "LPG",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Orlen": {
-                "tags": {
-                    "name": "Orlen",
-                    "amenity": "fuel"
-                },
-                "name": "Orlen",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Oilibya": {
-                "tags": {
-                    "name": "Oilibya",
-                    "amenity": "fuel"
-                },
-                "name": "Oilibya",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Tango": {
-                "tags": {
-                    "name": "Tango",
-                    "amenity": "fuel"
-                },
-                "name": "Tango",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Star": {
-                "tags": {
-                    "name": "Star",
-                    "amenity": "fuel"
-                },
-                "name": "Star",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Петрол": {
-                "tags": {
-                    "name": "Петрол",
-                    "amenity": "fuel"
-                },
-                "name": "Петрол",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Cepsa": {
-                "tags": {
-                    "name": "Cepsa",
-                    "amenity": "fuel"
-                },
-                "name": "Cepsa",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/OIL!": {
-                "tags": {
-                    "name": "OIL!",
-                    "amenity": "fuel"
-                },
-                "name": "OIL!",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Ultramar": {
-                "tags": {
-                    "name": "Ultramar",
-                    "amenity": "fuel"
-                },
-                "name": "Ultramar",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Irving": {
-                "tags": {
-                    "name": "Irving",
-                    "amenity": "fuel"
-                },
-                "name": "Irving",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Lukoil": {
-                "tags": {
-                    "name": "Lukoil",
-                    "amenity": "fuel"
-                },
-                "name": "Lukoil",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Petro-Canada": {
-                "tags": {
-                    "name": "Petro-Canada",
-                    "amenity": "fuel"
-                },
-                "name": "Petro-Canada",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Agrola": {
-                "tags": {
-                    "name": "Agrola",
-                    "amenity": "fuel"
-                },
-                "name": "Agrola",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Husky": {
-                "tags": {
-                    "name": "Husky",
-                    "amenity": "fuel"
-                },
-                "name": "Husky",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Slovnaft": {
-                "tags": {
-                    "name": "Slovnaft",
-                    "amenity": "fuel"
-                },
-                "name": "Slovnaft",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Sheetz": {
-                "tags": {
-                    "name": "Sheetz",
-                    "amenity": "fuel"
-                },
-                "name": "Sheetz",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Mol": {
-                "tags": {
-                    "name": "Mol",
-                    "amenity": "fuel"
-                },
-                "name": "Mol",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Petronas": {
-                "tags": {
-                    "name": "Petronas",
-                    "amenity": "fuel"
-                },
-                "name": "Petronas",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Газпромнефть": {
-                "tags": {
-                    "name": "Газпромнефть",
-                    "amenity": "fuel"
-                },
-                "name": "Газпромнефть",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Лукойл": {
-                "tags": {
-                    "name": "Лукойл",
-                    "amenity": "fuel"
-                },
-                "name": "Лукойл",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Elan": {
-                "tags": {
-                    "name": "Elan",
-                    "amenity": "fuel"
-                },
-                "name": "Elan",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Роснефть": {
-                "tags": {
-                    "name": "Роснефть",
-                    "amenity": "fuel"
-                },
-                "name": "Роснефть",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Turmöl": {
-                "tags": {
-                    "name": "Turmöl",
-                    "amenity": "fuel"
-                },
-                "name": "Turmöl",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Neste A24": {
-                "tags": {
-                    "name": "Neste A24",
-                    "amenity": "fuel"
-                },
-                "name": "Neste A24",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Marathon": {
-                "tags": {
-                    "name": "Marathon",
-                    "amenity": "fuel"
-                },
-                "name": "Marathon",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Valero": {
-                "tags": {
-                    "name": "Valero",
-                    "amenity": "fuel"
-                },
-                "name": "Valero",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Eni": {
-                "tags": {
-                    "name": "Eni",
-                    "amenity": "fuel"
-                },
-                "name": "Eni",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Chevron": {
-                "tags": {
-                    "name": "Chevron",
-                    "amenity": "fuel"
-                },
-                "name": "Chevron",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/ТНК": {
-                "tags": {
-                    "name": "ТНК",
-                    "amenity": "fuel"
-                },
-                "name": "ТНК",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/REPSOL": {
-                "tags": {
-                    "name": "REPSOL",
-                    "amenity": "fuel"
-                },
-                "name": "REPSOL",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/MOL": {
-                "tags": {
-                    "name": "MOL",
-                    "amenity": "fuel"
-                },
-                "name": "MOL",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Bliska": {
-                "tags": {
-                    "name": "Bliska",
-                    "amenity": "fuel"
-                },
-                "name": "Bliska",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Api": {
-                "tags": {
-                    "name": "Api",
-                    "amenity": "fuel"
-                },
-                "name": "Api",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Arco": {
-                "tags": {
-                    "name": "Arco",
-                    "amenity": "fuel"
-                },
-                "name": "Arco",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Pemex": {
-                "tags": {
-                    "name": "Pemex",
-                    "amenity": "fuel"
-                },
-                "name": "Pemex",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Exxon": {
-                "tags": {
-                    "name": "Exxon",
-                    "amenity": "fuel"
-                },
-                "name": "Exxon",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Coles Express": {
-                "tags": {
-                    "name": "Coles Express",
-                    "amenity": "fuel"
-                },
-                "name": "Coles Express",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Petrom": {
-                "tags": {
-                    "name": "Petrom",
-                    "amenity": "fuel"
-                },
-                "name": "Petrom",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/PETRONOR": {
-                "tags": {
-                    "name": "PETRONOR",
-                    "amenity": "fuel"
-                },
-                "name": "PETRONOR",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Rompetrol": {
-                "tags": {
-                    "name": "Rompetrol",
-                    "amenity": "fuel"
-                },
-                "name": "Rompetrol",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Lotos": {
-                "tags": {
-                    "name": "Lotos",
-                    "amenity": "fuel"
-                },
-                "name": "Lotos",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/ОМВ": {
-                "tags": {
-                    "name": "ОМВ",
-                    "amenity": "fuel"
-                },
-                "name": "ОМВ",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/BR": {
-                "tags": {
-                    "name": "BR",
-                    "amenity": "fuel"
-                },
-                "name": "BR",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Copec": {
-                "tags": {
-                    "name": "Copec",
-                    "amenity": "fuel"
-                },
-                "name": "Copec",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Petrobras": {
-                "tags": {
-                    "name": "Petrobras",
-                    "amenity": "fuel"
-                },
-                "name": "Petrobras",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Liberty": {
-                "tags": {
-                    "name": "Liberty",
-                    "amenity": "fuel"
-                },
-                "name": "Liberty",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/IP": {
-                "tags": {
-                    "name": "IP",
-                    "amenity": "fuel"
-                },
-                "name": "IP",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Erg": {
-                "tags": {
-                    "name": "Erg",
-                    "amenity": "fuel"
-                },
-                "name": "Erg",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Eneos": {
-                "tags": {
-                    "name": "Eneos",
-                    "amenity": "fuel"
-                },
-                "name": "Eneos",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Citgo": {
-                "tags": {
-                    "name": "Citgo",
-                    "amenity": "fuel"
-                },
-                "name": "Citgo",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Metano": {
-                "tags": {
-                    "name": "Metano",
-                    "amenity": "fuel"
-                },
-                "name": "Metano",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Сургутнефтегаз": {
-                "tags": {
-                    "name": "Сургутнефтегаз",
-                    "amenity": "fuel"
-                },
-                "name": "Сургутнефтегаз",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/EKO": {
-                "tags": {
-                    "name": "EKO",
-                    "amenity": "fuel"
-                },
-                "name": "EKO",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Eko": {
-                "tags": {
-                    "name": "Eko",
-                    "amenity": "fuel"
-                },
-                "name": "Eko",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Indipend.": {
-                "tags": {
-                    "name": "Indipend.",
-                    "amenity": "fuel"
-                },
-                "name": "Indipend.",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/IES": {
-                "tags": {
-                    "name": "IES",
-                    "amenity": "fuel"
-                },
-                "name": "IES",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/TotalErg": {
-                "tags": {
-                    "name": "TotalErg",
-                    "amenity": "fuel"
-                },
-                "name": "TotalErg",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Cenex": {
-                "tags": {
-                    "name": "Cenex",
-                    "amenity": "fuel"
-                },
-                "name": "Cenex",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/ПТК": {
-                "tags": {
-                    "name": "ПТК",
-                    "amenity": "fuel"
-                },
-                "name": "ПТК",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/HP": {
-                "tags": {
-                    "name": "HP",
-                    "amenity": "fuel"
-                },
-                "name": "HP",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Phillips 66": {
-                "tags": {
-                    "name": "Phillips 66",
-                    "amenity": "fuel"
-                },
-                "name": "Phillips 66",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/CARREFOUR": {
-                "tags": {
-                    "name": "CARREFOUR",
-                    "amenity": "fuel"
-                },
-                "name": "CARREFOUR",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/ERG": {
-                "tags": {
-                    "name": "ERG",
-                    "amenity": "fuel"
-                },
-                "name": "ERG",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Speedway": {
-                "tags": {
-                    "name": "Speedway",
-                    "amenity": "fuel"
-                },
-                "name": "Speedway",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Benzina": {
-                "tags": {
-                    "name": "Benzina",
-                    "amenity": "fuel"
-                },
-                "name": "Benzina",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Татнефть": {
-                "tags": {
-                    "name": "Татнефть",
-                    "amenity": "fuel"
-                },
-                "name": "Татнефть",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Terpel": {
-                "tags": {
-                    "name": "Terpel",
-                    "amenity": "fuel"
-                },
-                "name": "Terpel",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/WOG": {
-                "tags": {
-                    "name": "WOG",
-                    "amenity": "fuel"
-                },
-                "name": "WOG",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Seaoil": {
-                "tags": {
-                    "name": "Seaoil",
-                    "amenity": "fuel"
-                },
-                "name": "Seaoil",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/АЗС": {
-                "tags": {
-                    "name": "АЗС",
-                    "amenity": "fuel"
-                },
-                "name": "АЗС",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Kwik Trip": {
-                "tags": {
-                    "name": "Kwik Trip",
-                    "amenity": "fuel"
-                },
-                "name": "Kwik Trip",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Pertamina": {
-                "tags": {
-                    "name": "Pertamina",
-                    "amenity": "fuel"
-                },
-                "name": "Pertamina",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/COSMO": {
-                "tags": {
-                    "name": "COSMO",
-                    "amenity": "fuel"
-                },
-                "name": "COSMO",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Z": {
-                "tags": {
-                    "name": "Z",
-                    "amenity": "fuel"
-                },
-                "name": "Z",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Indian Oil": {
-                "tags": {
-                    "name": "Indian Oil",
-                    "amenity": "fuel"
-                },
-                "name": "Indian Oil",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/АГЗС": {
-                "tags": {
-                    "name": "АГЗС",
-                    "amenity": "fuel"
-                },
-                "name": "АГЗС",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/INA": {
-                "tags": {
-                    "name": "INA",
-                    "amenity": "fuel"
-                },
-                "name": "INA",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/JOMO": {
-                "tags": {
-                    "name": "JOMO",
-                    "amenity": "fuel"
-                },
-                "name": "JOMO",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Holiday": {
-                "tags": {
-                    "name": "Holiday",
-                    "amenity": "fuel"
-                },
-                "name": "Holiday",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/YPF": {
-                "tags": {
-                    "name": "YPF",
-                    "amenity": "fuel"
-                },
-                "name": "YPF",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/IDEMITSU": {
-                "tags": {
-                    "name": "IDEMITSU",
-                    "amenity": "fuel"
-                },
-                "name": "IDEMITSU",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/ENEOS": {
-                "tags": {
-                    "name": "ENEOS",
-                    "amenity": "fuel"
-                },
-                "name": "ENEOS",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Stacja paliw": {
-                "tags": {
-                    "name": "Stacja paliw",
-                    "amenity": "fuel"
-                },
-                "name": "Stacja paliw",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Bharat Petroleum": {
-                "tags": {
-                    "name": "Bharat Petroleum",
-                    "amenity": "fuel"
-                },
-                "name": "Bharat Petroleum",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/CAMPSA": {
-                "tags": {
-                    "name": "CAMPSA",
-                    "amenity": "fuel"
-                },
-                "name": "CAMPSA",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Casey's General Store": {
-                "tags": {
-                    "name": "Casey's General Store",
-                    "amenity": "fuel"
-                },
-                "name": "Casey's General Store",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Башнефть": {
-                "tags": {
-                    "name": "Башнефть",
-                    "amenity": "fuel"
-                },
-                "name": "Башнефть",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Kangaroo": {
-                "tags": {
-                    "name": "Kangaroo",
-                    "amenity": "fuel"
-                },
-                "name": "Kangaroo",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/コスモ石油 (COSMO)": {
-                "tags": {
-                    "name": "コスモ石油 (COSMO)",
-                    "amenity": "fuel"
-                },
-                "name": "コスモ石油 (COSMO)",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/MEROIL": {
-                "tags": {
-                    "name": "MEROIL",
-                    "amenity": "fuel"
-                },
-                "name": "MEROIL",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/1-2-3": {
-                "tags": {
-                    "name": "1-2-3",
-                    "amenity": "fuel"
-                },
-                "name": "1-2-3",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/出光": {
-                "tags": {
-                    "name": "出光",
-                    "name:en": "IDEMITSU",
-                    "amenity": "fuel"
-                },
-                "name": "出光",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/НК Альянс": {
-                "tags": {
-                    "name": "НК Альянс",
-                    "amenity": "fuel"
-                },
-                "name": "НК Альянс",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Sinclair": {
-                "tags": {
-                    "name": "Sinclair",
-                    "amenity": "fuel"
-                },
-                "name": "Sinclair",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Conoco": {
-                "tags": {
-                    "name": "Conoco",
-                    "amenity": "fuel"
-                },
-                "name": "Conoco",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/SPBU": {
-                "tags": {
-                    "name": "SPBU",
-                    "amenity": "fuel"
-                },
-                "name": "SPBU",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Макпетрол": {
-                "tags": {
-                    "name": "Макпетрол",
-                    "amenity": "fuel"
-                },
-                "name": "Макпетрол",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Posto Ipiranga": {
-                "tags": {
-                    "name": "Posto Ipiranga",
-                    "amenity": "fuel"
-                },
-                "name": "Posto Ipiranga",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Posto Shell": {
-                "tags": {
-                    "name": "Posto Shell",
-                    "amenity": "fuel"
-                },
-                "name": "Posto Shell",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Phoenix": {
-                "tags": {
-                    "name": "Phoenix",
-                    "amenity": "fuel"
-                },
-                "name": "Phoenix",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Ipiranga": {
-                "tags": {
-                    "name": "Ipiranga",
-                    "amenity": "fuel"
-                },
-                "name": "Ipiranga",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/OKKO": {
-                "tags": {
-                    "name": "OKKO",
-                    "amenity": "fuel"
-                },
-                "name": "OKKO",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/ОККО": {
-                "tags": {
-                    "name": "ОККО",
-                    "amenity": "fuel"
-                },
-                "name": "ОККО",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/บางจาก": {
-                "tags": {
-                    "name": "บางจาก",
-                    "amenity": "fuel"
-                },
-                "name": "บางจาก",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/QuikTrip": {
-                "tags": {
-                    "name": "QuikTrip",
-                    "amenity": "fuel"
-                },
-                "name": "QuikTrip",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Posto BR": {
-                "tags": {
-                    "name": "Posto BR",
-                    "amenity": "fuel"
-                },
-                "name": "Posto BR",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/ป ต ท": {
-                "tags": {
-                    "name": "ป ต ท",
-                    "amenity": "fuel"
-                },
-                "name": "ป ต ท",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/ปตท": {
-                "tags": {
-                    "name": "ปตท",
-                    "amenity": "fuel"
-                },
-                "name": "ปตท",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/ANP": {
-                "tags": {
-                    "name": "ANP",
-                    "amenity": "fuel"
-                },
-                "name": "ANP",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Kum & Go": {
-                "tags": {
-                    "name": "Kum & Go",
-                    "amenity": "fuel"
-                },
-                "name": "Kum & Go",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Petrolimex": {
-                "tags": {
-                    "name": "Petrolimex",
-                    "amenity": "fuel"
-                },
-                "name": "Petrolimex",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Sokimex": {
-                "tags": {
-                    "name": "Sokimex",
-                    "amenity": "fuel"
-                },
-                "name": "Sokimex",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Tela": {
-                "tags": {
-                    "name": "Tela",
-                    "amenity": "fuel"
-                },
-                "name": "Tela",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Posto": {
-                "tags": {
-                    "name": "Posto",
-                    "amenity": "fuel"
-                },
-                "name": "Posto",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Укрнафта": {
-                "tags": {
-                    "name": "Укрнафта",
-                    "amenity": "fuel"
-                },
-                "name": "Укрнафта",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Татнефтепродукт": {
-                "tags": {
-                    "name": "Татнефтепродукт",
-                    "amenity": "fuel"
-                },
-                "name": "Татнефтепродукт",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Afriquia": {
-                "tags": {
-                    "name": "Afriquia",
-                    "amenity": "fuel"
-                },
-                "name": "Afriquia",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Murphy USA": {
-                "tags": {
-                    "name": "Murphy USA",
-                    "amenity": "fuel"
-                },
-                "name": "Murphy USA",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/昭和シェル (Showa-shell)": {
-                "tags": {
-                    "name": "昭和シェル (Showa-shell)",
-                    "amenity": "fuel"
-                },
-                "name": "昭和シェル (Showa-shell)",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/エネオス": {
-                "tags": {
-                    "name": "エネオス",
-                    "amenity": "fuel"
-                },
-                "name": "エネオス",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/CNG": {
-                "tags": {
-                    "name": "CNG",
-                    "amenity": "fuel"
-                },
-                "name": "CNG",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/Kings Arms": {
-                "tags": {
-                    "name": "Kings Arms",
-                    "amenity": "pub"
-                },
-                "name": "Kings Arms",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Ship": {
-                "tags": {
-                    "name": "The Ship",
-                    "amenity": "pub"
-                },
-                "name": "The Ship",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The White Horse": {
-                "tags": {
-                    "name": "The White Horse",
-                    "amenity": "pub"
-                },
-                "name": "The White Horse",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The White Hart": {
-                "tags": {
-                    "name": "The White Hart",
-                    "amenity": "pub"
-                },
-                "name": "The White Hart",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/Royal Oak": {
-                "tags": {
-                    "name": "Royal Oak",
-                    "amenity": "pub"
-                },
-                "name": "Royal Oak",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Red Lion": {
-                "tags": {
-                    "name": "The Red Lion",
-                    "amenity": "pub"
-                },
-                "name": "The Red Lion",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Kings Arms": {
-                "tags": {
-                    "name": "The Kings Arms",
-                    "amenity": "pub"
-                },
-                "name": "The Kings Arms",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Star": {
-                "tags": {
-                    "name": "The Star",
-                    "amenity": "pub"
-                },
-                "name": "The Star",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Anchor": {
-                "tags": {
-                    "name": "The Anchor",
-                    "amenity": "pub"
-                },
-                "name": "The Anchor",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Cross Keys": {
-                "tags": {
-                    "name": "The Cross Keys",
-                    "amenity": "pub"
-                },
-                "name": "The Cross Keys",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Wheatsheaf": {
-                "tags": {
-                    "name": "The Wheatsheaf",
-                    "amenity": "pub"
-                },
-                "name": "The Wheatsheaf",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Crown Inn": {
-                "tags": {
-                    "name": "The Crown Inn",
-                    "amenity": "pub"
-                },
-                "name": "The Crown Inn",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Kings Head": {
-                "tags": {
-                    "name": "The Kings Head",
-                    "amenity": "pub"
-                },
-                "name": "The Kings Head",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Castle": {
-                "tags": {
-                    "name": "The Castle",
-                    "amenity": "pub"
-                },
-                "name": "The Castle",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Railway": {
-                "tags": {
-                    "name": "The Railway",
-                    "amenity": "pub"
-                },
-                "name": "The Railway",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The White Lion": {
-                "tags": {
-                    "name": "The White Lion",
-                    "amenity": "pub"
-                },
-                "name": "The White Lion",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Bell": {
-                "tags": {
-                    "name": "The Bell",
-                    "amenity": "pub"
-                },
-                "name": "The Bell",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Bull": {
-                "tags": {
-                    "name": "The Bull",
-                    "amenity": "pub"
-                },
-                "name": "The Bull",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Plough": {
-                "tags": {
-                    "name": "The Plough",
-                    "amenity": "pub"
-                },
-                "name": "The Plough",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The George": {
-                "tags": {
-                    "name": "The George",
-                    "amenity": "pub"
-                },
-                "name": "The George",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Royal Oak": {
-                "tags": {
-                    "name": "The Royal Oak",
-                    "amenity": "pub"
-                },
-                "name": "The Royal Oak",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Fox": {
-                "tags": {
-                    "name": "The Fox",
-                    "amenity": "pub"
-                },
-                "name": "The Fox",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/Prince of Wales": {
-                "tags": {
-                    "name": "Prince of Wales",
-                    "amenity": "pub"
-                },
-                "name": "Prince of Wales",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Rising Sun": {
-                "tags": {
-                    "name": "The Rising Sun",
-                    "amenity": "pub"
-                },
-                "name": "The Rising Sun",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Prince of Wales": {
-                "tags": {
-                    "name": "The Prince of Wales",
-                    "amenity": "pub"
-                },
-                "name": "The Prince of Wales",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Crown": {
-                "tags": {
-                    "name": "The Crown",
-                    "amenity": "pub"
-                },
-                "name": "The Crown",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Chequers": {
-                "tags": {
-                    "name": "The Chequers",
-                    "amenity": "pub"
-                },
-                "name": "The Chequers",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Swan": {
-                "tags": {
-                    "name": "The Swan",
-                    "amenity": "pub"
-                },
-                "name": "The Swan",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/Rose and Crown": {
-                "tags": {
-                    "name": "Rose and Crown",
-                    "amenity": "pub"
-                },
-                "name": "Rose and Crown",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Victoria": {
-                "tags": {
-                    "name": "The Victoria",
-                    "amenity": "pub"
-                },
-                "name": "The Victoria",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/New Inn": {
-                "tags": {
-                    "name": "New Inn",
-                    "amenity": "pub"
-                },
-                "name": "New Inn",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/Royal Hotel": {
-                "tags": {
-                    "name": "Royal Hotel",
-                    "amenity": "pub"
-                },
-                "name": "Royal Hotel",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/Red Lion": {
-                "tags": {
-                    "name": "Red Lion",
-                    "amenity": "pub"
-                },
-                "name": "Red Lion",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/Cross Keys": {
-                "tags": {
-                    "name": "Cross Keys",
-                    "amenity": "pub"
-                },
-                "name": "Cross Keys",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Greyhound": {
-                "tags": {
-                    "name": "The Greyhound",
-                    "amenity": "pub"
-                },
-                "name": "The Greyhound",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Black Horse": {
-                "tags": {
-                    "name": "The Black Horse",
-                    "amenity": "pub"
-                },
-                "name": "The Black Horse",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The New Inn": {
-                "tags": {
-                    "name": "The New Inn",
-                    "amenity": "pub"
-                },
-                "name": "The New Inn",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/Kings Head": {
-                "tags": {
-                    "name": "Kings Head",
-                    "amenity": "pub"
-                },
-                "name": "Kings Head",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Albion": {
-                "tags": {
-                    "name": "The Albion",
-                    "amenity": "pub"
-                },
-                "name": "The Albion",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Angel": {
-                "tags": {
-                    "name": "The Angel",
-                    "amenity": "pub"
-                },
-                "name": "The Angel",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Queens Head": {
-                "tags": {
-                    "name": "The Queens Head",
-                    "amenity": "pub"
-                },
-                "name": "The Queens Head",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/The Ship Inn": {
-                "tags": {
-                    "name": "The Ship Inn",
-                    "amenity": "pub"
-                },
-                "name": "The Ship Inn",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/Rose & Crown": {
-                "tags": {
-                    "name": "Rose & Crown",
-                    "amenity": "pub"
-                },
-                "name": "Rose & Crown",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/Queens Head": {
-                "tags": {
-                    "name": "Queens Head",
-                    "amenity": "pub"
-                },
-                "name": "Queens Head",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/pub/Irish Pub": {
-                "tags": {
-                    "name": "Irish Pub",
-                    "amenity": "pub"
-                },
-                "name": "Irish Pub",
-                "icon": "beer",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Quick": {
-                "tags": {
-                    "name": "Quick",
-                    "amenity": "fast_food"
-                },
-                "name": "Quick",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/McDonald's": {
-                "tags": {
-                    "name": "McDonald's",
-                    "cuisine": "burger",
-                    "amenity": "fast_food"
-                },
-                "name": "McDonald's",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Subway": {
-                "tags": {
-                    "name": "Subway",
-                    "cuisine": "sandwich",
-                    "amenity": "fast_food"
-                },
-                "name": "Subway",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Burger King": {
-                "tags": {
-                    "name": "Burger King",
-                    "cuisine": "burger",
-                    "amenity": "fast_food"
-                },
-                "name": "Burger King",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Ali Baba": {
-                "tags": {
-                    "name": "Ali Baba",
-                    "amenity": "fast_food"
-                },
-                "name": "Ali Baba",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Hungry Jacks": {
-                "tags": {
-                    "name": "Hungry Jacks",
-                    "cuisine": "burger",
-                    "amenity": "fast_food"
-                },
-                "name": "Hungry Jacks",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Red Rooster": {
-                "tags": {
-                    "name": "Red Rooster",
-                    "amenity": "fast_food"
-                },
-                "name": "Red Rooster",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/KFC": {
-                "tags": {
-                    "name": "KFC",
-                    "cuisine": "chicken",
-                    "amenity": "fast_food"
-                },
-                "name": "KFC",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Domino's Pizza": {
-                "tags": {
-                    "name": "Domino's Pizza",
-                    "cuisine": "pizza",
-                    "amenity": "fast_food"
-                },
-                "name": "Domino's Pizza",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Chowking": {
-                "tags": {
-                    "name": "Chowking",
-                    "amenity": "fast_food"
-                },
-                "name": "Chowking",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Jollibee": {
-                "tags": {
-                    "name": "Jollibee",
-                    "amenity": "fast_food"
-                },
-                "name": "Jollibee",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Hesburger": {
-                "tags": {
-                    "name": "Hesburger",
-                    "amenity": "fast_food"
-                },
-                "name": "Hesburger",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/肯德基": {
-                "tags": {
-                    "name": "肯德基",
-                    "amenity": "fast_food"
-                },
-                "name": "肯德基",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Wendy's": {
-                "tags": {
-                    "name": "Wendy's",
-                    "cuisine": "burger",
-                    "amenity": "fast_food"
-                },
-                "name": "Wendy's",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Tim Hortons": {
-                "tags": {
-                    "name": "Tim Hortons",
-                    "amenity": "fast_food"
-                },
-                "name": "Tim Hortons",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Steers": {
-                "tags": {
-                    "name": "Steers",
-                    "amenity": "fast_food"
-                },
-                "name": "Steers",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Hardee's": {
-                "tags": {
-                    "name": "Hardee's",
-                    "cuisine": "burger",
-                    "amenity": "fast_food"
-                },
-                "name": "Hardee's",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Arby's": {
-                "tags": {
-                    "name": "Arby's",
-                    "amenity": "fast_food"
-                },
-                "name": "Arby's",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/A&W": {
-                "tags": {
-                    "name": "A&W",
-                    "amenity": "fast_food"
-                },
-                "name": "A&W",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Dairy Queen": {
-                "tags": {
-                    "name": "Dairy Queen",
-                    "amenity": "fast_food"
-                },
-                "name": "Dairy Queen",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Hallo Pizza": {
-                "tags": {
-                    "name": "Hallo Pizza",
-                    "amenity": "fast_food"
-                },
-                "name": "Hallo Pizza",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Fish & Chips": {
-                "tags": {
-                    "name": "Fish & Chips",
-                    "amenity": "fast_food"
-                },
-                "name": "Fish & Chips",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Harvey's": {
-                "tags": {
-                    "name": "Harvey's",
-                    "amenity": "fast_food"
-                },
-                "name": "Harvey's",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/麥當勞": {
-                "tags": {
-                    "name": "麥當勞",
-                    "amenity": "fast_food"
-                },
-                "name": "麥當勞",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Pizza Pizza": {
-                "tags": {
-                    "name": "Pizza Pizza",
-                    "amenity": "fast_food"
-                },
-                "name": "Pizza Pizza",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Kotipizza": {
-                "tags": {
-                    "name": "Kotipizza",
-                    "amenity": "fast_food"
-                },
-                "name": "Kotipizza",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Jack in the Box": {
-                "tags": {
-                    "name": "Jack in the Box",
-                    "cuisine": "burger",
-                    "amenity": "fast_food"
-                },
-                "name": "Jack in the Box",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Istanbul": {
-                "tags": {
-                    "name": "Istanbul",
-                    "amenity": "fast_food"
-                },
-                "name": "Istanbul",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Kochlöffel": {
-                "tags": {
-                    "name": "Kochlöffel",
-                    "amenity": "fast_food"
-                },
-                "name": "Kochlöffel",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Döner": {
-                "tags": {
-                    "name": "Döner",
-                    "amenity": "fast_food"
-                },
-                "name": "Döner",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Telepizza": {
-                "tags": {
-                    "name": "Telepizza",
-                    "amenity": "fast_food"
-                },
-                "name": "Telepizza",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Sibylla": {
-                "tags": {
-                    "name": "Sibylla",
-                    "amenity": "fast_food"
-                },
-                "name": "Sibylla",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Carl's Jr.": {
-                "tags": {
-                    "name": "Carl's Jr.",
-                    "cuisine": "burger",
-                    "amenity": "fast_food"
-                },
-                "name": "Carl's Jr.",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Quiznos": {
-                "tags": {
-                    "name": "Quiznos",
-                    "cuisine": "sandwich",
-                    "amenity": "fast_food"
-                },
-                "name": "Quiznos",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Wimpy": {
-                "tags": {
-                    "name": "Wimpy",
-                    "amenity": "fast_food"
-                },
-                "name": "Wimpy",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Sonic": {
-                "tags": {
-                    "name": "Sonic",
-                    "cuisine": "burger",
-                    "amenity": "fast_food"
-                },
-                "name": "Sonic",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Taco Bell": {
-                "tags": {
-                    "name": "Taco Bell",
-                    "amenity": "fast_food"
-                },
-                "name": "Taco Bell",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Pizza Nova": {
-                "tags": {
-                    "name": "Pizza Nova",
-                    "amenity": "fast_food"
-                },
-                "name": "Pizza Nova",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Papa John's": {
-                "tags": {
-                    "name": "Papa John's",
-                    "cuisine": "pizza",
-                    "amenity": "fast_food"
-                },
-                "name": "Papa John's",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Nordsee": {
-                "tags": {
-                    "name": "Nordsee",
-                    "amenity": "fast_food"
-                },
-                "name": "Nordsee",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Mr. Sub": {
-                "tags": {
-                    "name": "Mr. Sub",
-                    "amenity": "fast_food"
-                },
-                "name": "Mr. Sub",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Kebab": {
-                "tags": {
-                    "name": "Kebab",
-                    "amenity": "fast_food"
-                },
-                "name": "Kebab",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Макдоналдс": {
-                "tags": {
-                    "name": "Макдоналдс",
-                    "name:en": "McDonald's",
-                    "amenity": "fast_food"
-                },
-                "name": "Макдоналдс",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Asia Imbiss": {
-                "tags": {
-                    "name": "Asia Imbiss",
-                    "amenity": "fast_food"
-                },
-                "name": "Asia Imbiss",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Imbiss": {
-                "tags": {
-                    "name": "Imbiss",
-                    "amenity": "fast_food"
-                },
-                "name": "Imbiss",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Chipotle": {
-                "tags": {
-                    "name": "Chipotle",
-                    "cuisine": "mexican",
-                    "amenity": "fast_food"
-                },
-                "name": "Chipotle",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/マクドナルド": {
-                "tags": {
-                    "name": "マクドナルド",
-                    "name:en": "McDonald's",
-                    "cuisine": "burger",
-                    "amenity": "fast_food"
-                },
-                "name": "マクドナルド",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/In-N-Out Burger": {
-                "tags": {
-                    "name": "In-N-Out Burger",
-                    "amenity": "fast_food"
-                },
-                "name": "In-N-Out Burger",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Jimmy John's": {
-                "tags": {
-                    "name": "Jimmy John's",
-                    "amenity": "fast_food"
-                },
-                "name": "Jimmy John's",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Jamba Juice": {
-                "tags": {
-                    "name": "Jamba Juice",
-                    "amenity": "fast_food"
-                },
-                "name": "Jamba Juice",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Робин Сдобин": {
-                "tags": {
-                    "name": "Робин Сдобин",
-                    "amenity": "fast_food"
-                },
-                "name": "Робин Сдобин",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Baskin Robbins": {
-                "tags": {
-                    "name": "Baskin Robbins",
-                    "amenity": "fast_food"
-                },
-                "name": "Baskin Robbins",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/ケンタッキーフライドチキン": {
-                "tags": {
-                    "name": "ケンタッキーフライドチキン",
-                    "name:en": "KFC",
-                    "cuisine": "chicken",
-                    "amenity": "fast_food"
-                },
-                "name": "ケンタッキーフライドチキン",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/吉野家": {
-                "tags": {
-                    "name": "吉野家",
-                    "amenity": "fast_food"
-                },
-                "name": "吉野家",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Taco Time": {
-                "tags": {
-                    "name": "Taco Time",
-                    "amenity": "fast_food"
-                },
-                "name": "Taco Time",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/松屋": {
-                "tags": {
-                    "name": "松屋",
-                    "name:en": "Matsuya",
-                    "amenity": "fast_food"
-                },
-                "name": "松屋",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Little Caesars": {
-                "tags": {
-                    "name": "Little Caesars",
-                    "amenity": "fast_food"
-                },
-                "name": "Little Caesars",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/El Pollo Loco": {
-                "tags": {
-                    "name": "El Pollo Loco",
-                    "amenity": "fast_food"
-                },
-                "name": "El Pollo Loco",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Del Taco": {
-                "tags": {
-                    "name": "Del Taco",
-                    "amenity": "fast_food"
-                },
-                "name": "Del Taco",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/White Castle": {
-                "tags": {
-                    "name": "White Castle",
-                    "amenity": "fast_food"
-                },
-                "name": "White Castle",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Boston Market": {
-                "tags": {
-                    "name": "Boston Market",
-                    "amenity": "fast_food"
-                },
-                "name": "Boston Market",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Chick-fil-A": {
-                "tags": {
-                    "name": "Chick-fil-A",
-                    "cuisine": "chicken",
-                    "amenity": "fast_food"
-                },
-                "name": "Chick-fil-A",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Panda Express": {
-                "tags": {
-                    "name": "Panda Express",
-                    "amenity": "fast_food"
-                },
-                "name": "Panda Express",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Whataburger": {
-                "tags": {
-                    "name": "Whataburger",
-                    "amenity": "fast_food"
-                },
-                "name": "Whataburger",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Taco John's": {
-                "tags": {
-                    "name": "Taco John's",
-                    "amenity": "fast_food"
-                },
-                "name": "Taco John's",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Теремок": {
-                "tags": {
-                    "name": "Теремок",
-                    "amenity": "fast_food"
-                },
-                "name": "Теремок",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Culver's": {
-                "tags": {
-                    "name": "Culver's",
-                    "amenity": "fast_food"
-                },
-                "name": "Culver's",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Five Guys": {
-                "tags": {
-                    "name": "Five Guys",
-                    "amenity": "fast_food"
-                },
-                "name": "Five Guys",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Church's Chicken": {
-                "tags": {
-                    "name": "Church's Chicken",
-                    "amenity": "fast_food"
-                },
-                "name": "Church's Chicken",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Popeye's": {
-                "tags": {
-                    "name": "Popeye's",
-                    "cuisine": "chicken",
-                    "amenity": "fast_food"
-                },
-                "name": "Popeye's",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Long John Silver's": {
-                "tags": {
-                    "name": "Long John Silver's",
-                    "amenity": "fast_food"
-                },
-                "name": "Long John Silver's",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Pollo Campero": {
-                "tags": {
-                    "name": "Pollo Campero",
-                    "amenity": "fast_food"
-                },
-                "name": "Pollo Campero",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Zaxby's": {
-                "tags": {
-                    "name": "Zaxby's",
-                    "amenity": "fast_food"
-                },
-                "name": "Zaxby's",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/すき家": {
-                "tags": {
-                    "name": "すき家",
-                    "name:en": "SUKIYA",
-                    "amenity": "fast_food"
-                },
-                "name": "すき家",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/モスバーガー": {
-                "tags": {
-                    "name": "モスバーガー",
-                    "name:en": "MOS BURGER",
-                    "amenity": "fast_food"
-                },
-                "name": "モスバーガー",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/Русский Аппетит": {
-                "tags": {
-                    "name": "Русский Аппетит",
-                    "amenity": "fast_food"
-                },
-                "name": "Русский Аппетит",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/fast_food/なか卯": {
-                "tags": {
-                    "name": "なか卯",
-                    "amenity": "fast_food"
-                },
-                "name": "なか卯",
-                "icon": "fast-food",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Pizza Hut": {
-                "tags": {
-                    "name": "Pizza Hut",
-                    "amenity": "restaurant"
-                },
-                "name": "Pizza Hut",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Little Chef": {
-                "tags": {
-                    "name": "Little Chef",
-                    "amenity": "restaurant"
-                },
-                "name": "Little Chef",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Adler": {
-                "tags": {
-                    "name": "Adler",
-                    "amenity": "restaurant"
-                },
-                "name": "Adler",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Zur Krone": {
-                "tags": {
-                    "name": "Zur Krone",
-                    "amenity": "restaurant"
-                },
-                "name": "Zur Krone",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Deutsches Haus": {
-                "tags": {
-                    "name": "Deutsches Haus",
-                    "amenity": "restaurant"
-                },
-                "name": "Deutsches Haus",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Krone": {
-                "tags": {
-                    "name": "Krone",
-                    "amenity": "restaurant"
-                },
-                "name": "Krone",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Akropolis": {
-                "tags": {
-                    "name": "Akropolis",
-                    "amenity": "restaurant"
-                },
-                "name": "Akropolis",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Schützenhaus": {
-                "tags": {
-                    "name": "Schützenhaus",
-                    "amenity": "restaurant"
-                },
-                "name": "Schützenhaus",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Kreuz": {
-                "tags": {
-                    "name": "Kreuz",
-                    "amenity": "restaurant"
-                },
-                "name": "Kreuz",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Waldschänke": {
-                "tags": {
-                    "name": "Waldschänke",
-                    "amenity": "restaurant"
-                },
-                "name": "Waldschänke",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/La Piazza": {
-                "tags": {
-                    "name": "La Piazza",
-                    "amenity": "restaurant"
-                },
-                "name": "La Piazza",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Lamm": {
-                "tags": {
-                    "name": "Lamm",
-                    "amenity": "restaurant"
-                },
-                "name": "Lamm",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Zur Sonne": {
-                "tags": {
-                    "name": "Zur Sonne",
-                    "amenity": "restaurant"
-                },
-                "name": "Zur Sonne",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Zur Linde": {
-                "tags": {
-                    "name": "Zur Linde",
-                    "amenity": "restaurant"
-                },
-                "name": "Zur Linde",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Poseidon": {
-                "tags": {
-                    "name": "Poseidon",
-                    "amenity": "restaurant"
-                },
-                "name": "Poseidon",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Shanghai": {
-                "tags": {
-                    "name": "Shanghai",
-                    "amenity": "restaurant"
-                },
-                "name": "Shanghai",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Red Lobster": {
-                "tags": {
-                    "name": "Red Lobster",
-                    "amenity": "restaurant"
-                },
-                "name": "Red Lobster",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Zum Löwen": {
-                "tags": {
-                    "name": "Zum Löwen",
-                    "amenity": "restaurant"
-                },
-                "name": "Zum Löwen",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Swiss Chalet": {
-                "tags": {
-                    "name": "Swiss Chalet",
-                    "amenity": "restaurant"
-                },
-                "name": "Swiss Chalet",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Olympia": {
-                "tags": {
-                    "name": "Olympia",
-                    "amenity": "restaurant"
-                },
-                "name": "Olympia",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Wagamama": {
-                "tags": {
-                    "name": "Wagamama",
-                    "amenity": "restaurant"
-                },
-                "name": "Wagamama",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Frankie & Benny's": {
-                "tags": {
-                    "name": "Frankie & Benny's",
-                    "amenity": "restaurant"
-                },
-                "name": "Frankie & Benny's",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Hooters": {
-                "tags": {
-                    "name": "Hooters",
-                    "amenity": "restaurant"
-                },
-                "name": "Hooters",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Sternen": {
-                "tags": {
-                    "name": "Sternen",
-                    "amenity": "restaurant"
-                },
-                "name": "Sternen",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Hirschen": {
-                "tags": {
-                    "name": "Hirschen",
-                    "amenity": "restaurant"
-                },
-                "name": "Hirschen",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Denny's": {
-                "tags": {
-                    "name": "Denny's",
-                    "amenity": "restaurant"
-                },
-                "name": "Denny's",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Athen": {
-                "tags": {
-                    "name": "Athen",
-                    "amenity": "restaurant"
-                },
-                "name": "Athen",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Sonne": {
-                "tags": {
-                    "name": "Sonne",
-                    "amenity": "restaurant"
-                },
-                "name": "Sonne",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Hirsch": {
-                "tags": {
-                    "name": "Hirsch",
-                    "amenity": "restaurant"
-                },
-                "name": "Hirsch",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Ratskeller": {
-                "tags": {
-                    "name": "Ratskeller",
-                    "amenity": "restaurant"
-                },
-                "name": "Ratskeller",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/La Cantina": {
-                "tags": {
-                    "name": "La Cantina",
-                    "amenity": "restaurant"
-                },
-                "name": "La Cantina",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Gasthaus Krone": {
-                "tags": {
-                    "name": "Gasthaus Krone",
-                    "amenity": "restaurant"
-                },
-                "name": "Gasthaus Krone",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/El Greco": {
-                "tags": {
-                    "name": "El Greco",
-                    "amenity": "restaurant"
-                },
-                "name": "El Greco",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Gasthof zur Post": {
-                "tags": {
-                    "name": "Gasthof zur Post",
-                    "amenity": "restaurant"
-                },
-                "name": "Gasthof zur Post",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Nando's": {
-                "tags": {
-                    "name": "Nando's",
-                    "amenity": "restaurant"
-                },
-                "name": "Nando's",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Löwen": {
-                "tags": {
-                    "name": "Löwen",
-                    "amenity": "restaurant"
-                },
-                "name": "Löwen",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/La Pataterie": {
-                "tags": {
-                    "name": "La Pataterie",
-                    "amenity": "restaurant"
-                },
-                "name": "La Pataterie",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Bella Napoli": {
-                "tags": {
-                    "name": "Bella Napoli",
-                    "amenity": "restaurant"
-                },
-                "name": "Bella Napoli",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Pizza Express": {
-                "tags": {
-                    "name": "Pizza Express",
-                    "amenity": "restaurant"
-                },
-                "name": "Pizza Express",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Mandarin": {
-                "tags": {
-                    "name": "Mandarin",
-                    "amenity": "restaurant"
-                },
-                "name": "Mandarin",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Hong Kong": {
-                "tags": {
-                    "name": "Hong Kong",
-                    "amenity": "restaurant"
-                },
-                "name": "Hong Kong",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Zizzi": {
-                "tags": {
-                    "name": "Zizzi",
-                    "amenity": "restaurant"
-                },
-                "name": "Zizzi",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Cracker Barrel": {
-                "tags": {
-                    "name": "Cracker Barrel",
-                    "amenity": "restaurant"
-                },
-                "name": "Cracker Barrel",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Rhodos": {
-                "tags": {
-                    "name": "Rhodos",
-                    "amenity": "restaurant"
-                },
-                "name": "Rhodos",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Lindenhof": {
-                "tags": {
-                    "name": "Lindenhof",
-                    "amenity": "restaurant"
-                },
-                "name": "Lindenhof",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Milano": {
-                "tags": {
-                    "name": "Milano",
-                    "amenity": "restaurant"
-                },
-                "name": "Milano",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Dolce Vita": {
-                "tags": {
-                    "name": "Dolce Vita",
-                    "amenity": "restaurant"
-                },
-                "name": "Dolce Vita",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Kirchenwirt": {
-                "tags": {
-                    "name": "Kirchenwirt",
-                    "amenity": "restaurant"
-                },
-                "name": "Kirchenwirt",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Kantine": {
-                "tags": {
-                    "name": "Kantine",
-                    "amenity": "restaurant"
-                },
-                "name": "Kantine",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Ochsen": {
-                "tags": {
-                    "name": "Ochsen",
-                    "amenity": "restaurant"
-                },
-                "name": "Ochsen",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Spur": {
-                "tags": {
-                    "name": "Spur",
-                    "amenity": "restaurant"
-                },
-                "name": "Spur",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Mykonos": {
-                "tags": {
-                    "name": "Mykonos",
-                    "amenity": "restaurant"
-                },
-                "name": "Mykonos",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Lotus": {
-                "tags": {
-                    "name": "Lotus",
-                    "amenity": "restaurant"
-                },
-                "name": "Lotus",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Applebee's": {
-                "tags": {
-                    "name": "Applebee's",
-                    "amenity": "restaurant"
-                },
-                "name": "Applebee's",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Flunch": {
-                "tags": {
-                    "name": "Flunch",
-                    "amenity": "restaurant"
-                },
-                "name": "Flunch",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Zur Post": {
-                "tags": {
-                    "name": "Zur Post",
-                    "amenity": "restaurant"
-                },
-                "name": "Zur Post",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/China Town": {
-                "tags": {
-                    "name": "China Town",
-                    "amenity": "restaurant"
-                },
-                "name": "China Town",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/La Dolce Vita": {
-                "tags": {
-                    "name": "La Dolce Vita",
-                    "amenity": "restaurant"
-                },
-                "name": "La Dolce Vita",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Waffle House": {
-                "tags": {
-                    "name": "Waffle House",
-                    "amenity": "restaurant"
-                },
-                "name": "Waffle House",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Delphi": {
-                "tags": {
-                    "name": "Delphi",
-                    "amenity": "restaurant"
-                },
-                "name": "Delphi",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Linde": {
-                "tags": {
-                    "name": "Linde",
-                    "amenity": "restaurant"
-                },
-                "name": "Linde",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Outback Steakhouse": {
-                "tags": {
-                    "name": "Outback Steakhouse",
-                    "amenity": "restaurant"
-                },
-                "name": "Outback Steakhouse",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Dionysos": {
-                "tags": {
-                    "name": "Dionysos",
-                    "amenity": "restaurant"
-                },
-                "name": "Dionysos",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Kelsey's": {
-                "tags": {
-                    "name": "Kelsey's",
-                    "amenity": "restaurant"
-                },
-                "name": "Kelsey's",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Boston Pizza": {
-                "tags": {
-                    "name": "Boston Pizza",
-                    "amenity": "restaurant"
-                },
-                "name": "Boston Pizza",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Bella Italia": {
-                "tags": {
-                    "name": "Bella Italia",
-                    "amenity": "restaurant"
-                },
-                "name": "Bella Italia",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Sizzler": {
-                "tags": {
-                    "name": "Sizzler",
-                    "amenity": "restaurant"
-                },
-                "name": "Sizzler",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Grüner Baum": {
-                "tags": {
-                    "name": "Grüner Baum",
-                    "amenity": "restaurant"
-                },
-                "name": "Grüner Baum",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Taj Mahal": {
-                "tags": {
-                    "name": "Taj Mahal",
-                    "amenity": "restaurant"
-                },
-                "name": "Taj Mahal",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Rössli": {
-                "tags": {
-                    "name": "Rössli",
-                    "amenity": "restaurant"
-                },
-                "name": "Rössli",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Traube": {
-                "tags": {
-                    "name": "Traube",
-                    "amenity": "restaurant"
-                },
-                "name": "Traube",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Adria": {
-                "tags": {
-                    "name": "Adria",
-                    "amenity": "restaurant"
-                },
-                "name": "Adria",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Red Robin": {
-                "tags": {
-                    "name": "Red Robin",
-                    "amenity": "restaurant"
-                },
-                "name": "Red Robin",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Roma": {
-                "tags": {
-                    "name": "Roma",
-                    "amenity": "restaurant"
-                },
-                "name": "Roma",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/San Marco": {
-                "tags": {
-                    "name": "San Marco",
-                    "amenity": "restaurant"
-                },
-                "name": "San Marco",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Hellas": {
-                "tags": {
-                    "name": "Hellas",
-                    "amenity": "restaurant"
-                },
-                "name": "Hellas",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/La Perla": {
-                "tags": {
-                    "name": "La Perla",
-                    "amenity": "restaurant"
-                },
-                "name": "La Perla",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Vips": {
-                "tags": {
-                    "name": "Vips",
-                    "amenity": "restaurant"
-                },
-                "name": "Vips",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Panera Bread": {
-                "tags": {
-                    "name": "Panera Bread",
-                    "amenity": "restaurant"
-                },
-                "name": "Panera Bread",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Da Vinci": {
-                "tags": {
-                    "name": "Da Vinci",
-                    "amenity": "restaurant"
-                },
-                "name": "Da Vinci",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Hippopotamus": {
-                "tags": {
-                    "name": "Hippopotamus",
-                    "amenity": "restaurant"
-                },
-                "name": "Hippopotamus",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Prezzo": {
-                "tags": {
-                    "name": "Prezzo",
-                    "amenity": "restaurant"
-                },
-                "name": "Prezzo",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Courtepaille": {
-                "tags": {
-                    "name": "Courtepaille",
-                    "amenity": "restaurant"
-                },
-                "name": "Courtepaille",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Hard Rock Cafe": {
-                "tags": {
-                    "name": "Hard Rock Cafe",
-                    "amenity": "restaurant"
-                },
-                "name": "Hard Rock Cafe",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Panorama": {
-                "tags": {
-                    "name": "Panorama",
-                    "amenity": "restaurant"
-                },
-                "name": "Panorama",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/デニーズ": {
-                "tags": {
-                    "name": "デニーズ",
-                    "amenity": "restaurant"
-                },
-                "name": "デニーズ",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Sportheim": {
-                "tags": {
-                    "name": "Sportheim",
-                    "amenity": "restaurant"
-                },
-                "name": "Sportheim",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/餃子の王将": {
-                "tags": {
-                    "name": "餃子の王将",
-                    "amenity": "restaurant"
-                },
-                "name": "餃子の王将",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Bären": {
-                "tags": {
-                    "name": "Bären",
-                    "amenity": "restaurant"
-                },
-                "name": "Bären",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Alte Post": {
-                "tags": {
-                    "name": "Alte Post",
-                    "amenity": "restaurant"
-                },
-                "name": "Alte Post",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Pizzeria Roma": {
-                "tags": {
-                    "name": "Pizzeria Roma",
-                    "amenity": "restaurant"
-                },
-                "name": "Pizzeria Roma",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/China Garden": {
-                "tags": {
-                    "name": "China Garden",
-                    "amenity": "restaurant"
-                },
-                "name": "China Garden",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Vapiano": {
-                "tags": {
-                    "name": "Vapiano",
-                    "amenity": "restaurant"
-                },
-                "name": "Vapiano",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Mamma Mia": {
-                "tags": {
-                    "name": "Mamma Mia",
-                    "amenity": "restaurant"
-                },
-                "name": "Mamma Mia",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Schwarzer Adler": {
-                "tags": {
-                    "name": "Schwarzer Adler",
-                    "amenity": "restaurant"
-                },
-                "name": "Schwarzer Adler",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/IHOP": {
-                "tags": {
-                    "name": "IHOP",
-                    "amenity": "restaurant"
-                },
-                "name": "IHOP",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Chili's": {
-                "tags": {
-                    "name": "Chili's",
-                    "amenity": "restaurant"
-                },
-                "name": "Chili's",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Asia": {
-                "tags": {
-                    "name": "Asia",
-                    "amenity": "restaurant"
-                },
-                "name": "Asia",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Olive Garden": {
-                "tags": {
-                    "name": "Olive Garden",
-                    "amenity": "restaurant"
-                },
-                "name": "Olive Garden",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/TGI Friday's": {
-                "tags": {
-                    "name": "TGI Friday's",
-                    "amenity": "restaurant"
-                },
-                "name": "TGI Friday's",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Friendly's": {
-                "tags": {
-                    "name": "Friendly's",
-                    "amenity": "restaurant"
-                },
-                "name": "Friendly's",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Buffalo Grill": {
-                "tags": {
-                    "name": "Buffalo Grill",
-                    "amenity": "restaurant"
-                },
-                "name": "Buffalo Grill",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Texas Roadhouse": {
-                "tags": {
-                    "name": "Texas Roadhouse",
-                    "amenity": "restaurant"
-                },
-                "name": "Texas Roadhouse",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/ガスト": {
-                "tags": {
-                    "name": "ガスト",
-                    "name:en": "Gusto",
-                    "amenity": "restaurant"
-                },
-                "name": "ガスト",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Sakura": {
-                "tags": {
-                    "name": "Sakura",
-                    "amenity": "restaurant"
-                },
-                "name": "Sakura",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Mensa": {
-                "tags": {
-                    "name": "Mensa",
-                    "amenity": "restaurant"
-                },
-                "name": "Mensa",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/The Keg": {
-                "tags": {
-                    "name": "The Keg",
-                    "amenity": "restaurant"
-                },
-                "name": "The Keg",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/サイゼリヤ": {
-                "tags": {
-                    "name": "サイゼリヤ",
-                    "amenity": "restaurant"
-                },
-                "name": "サイゼリヤ",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/La Strada": {
-                "tags": {
-                    "name": "La Strada",
-                    "amenity": "restaurant"
-                },
-                "name": "La Strada",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Village Inn": {
-                "tags": {
-                    "name": "Village Inn",
-                    "amenity": "restaurant"
-                },
-                "name": "Village Inn",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Buffalo Wild Wings": {
-                "tags": {
-                    "name": "Buffalo Wild Wings",
-                    "amenity": "restaurant"
-                },
-                "name": "Buffalo Wild Wings",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Peking": {
-                "tags": {
-                    "name": "Peking",
-                    "amenity": "restaurant"
-                },
-                "name": "Peking",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Round Table Pizza": {
-                "tags": {
-                    "name": "Round Table Pizza",
-                    "amenity": "restaurant"
-                },
-                "name": "Round Table Pizza",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/California Pizza Kitchen": {
-                "tags": {
-                    "name": "California Pizza Kitchen",
-                    "amenity": "restaurant"
-                },
-                "name": "California Pizza Kitchen",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Якитория": {
-                "tags": {
-                    "name": "Якитория",
-                    "amenity": "restaurant"
-                },
-                "name": "Якитория",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Golden Corral": {
-                "tags": {
-                    "name": "Golden Corral",
-                    "amenity": "restaurant"
-                },
-                "name": "Golden Corral",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Perkins": {
-                "tags": {
-                    "name": "Perkins",
-                    "amenity": "restaurant"
-                },
-                "name": "Perkins",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Ruby Tuesday": {
-                "tags": {
-                    "name": "Ruby Tuesday",
-                    "amenity": "restaurant"
-                },
-                "name": "Ruby Tuesday",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Shari's": {
-                "tags": {
-                    "name": "Shari's",
-                    "amenity": "restaurant"
-                },
-                "name": "Shari's",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Bob Evans": {
-                "tags": {
-                    "name": "Bob Evans",
-                    "amenity": "restaurant"
-                },
-                "name": "Bob Evans",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/바다횟집 (Bada Fish Restaurant)": {
-                "tags": {
-                    "name": "바다횟집 (Bada Fish Restaurant)",
-                    "amenity": "restaurant"
-                },
-                "name": "바다횟집 (Bada Fish Restaurant)",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Mang Inasal": {
-                "tags": {
-                    "name": "Mang Inasal",
-                    "amenity": "restaurant"
-                },
-                "name": "Mang Inasal",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Евразия": {
-                "tags": {
-                    "name": "Евразия",
-                    "amenity": "restaurant"
-                },
-                "name": "Евразия",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/ジョナサン": {
-                "tags": {
-                    "name": "ジョナサン",
-                    "amenity": "restaurant"
-                },
-                "name": "ジョナサン",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/restaurant/Longhorn Steakhouse": {
-                "tags": {
-                    "name": "Longhorn Steakhouse",
-                    "amenity": "restaurant"
-                },
-                "name": "Longhorn Steakhouse",
-                "icon": "restaurant",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "capacity",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Chase": {
-                "tags": {
-                    "name": "Chase",
-                    "amenity": "bank"
-                },
-                "name": "Chase",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Commonwealth Bank": {
-                "tags": {
-                    "name": "Commonwealth Bank",
-                    "amenity": "bank"
-                },
-                "name": "Commonwealth Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Citibank": {
-                "tags": {
-                    "name": "Citibank",
-                    "amenity": "bank"
-                },
-                "name": "Citibank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/HSBC": {
-                "tags": {
-                    "name": "HSBC",
-                    "amenity": "bank"
-                },
-                "name": "HSBC",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Barclays": {
-                "tags": {
-                    "name": "Barclays",
-                    "amenity": "bank"
-                },
-                "name": "Barclays",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Westpac": {
-                "tags": {
-                    "name": "Westpac",
-                    "amenity": "bank"
-                },
-                "name": "Westpac",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/NAB": {
-                "tags": {
-                    "name": "NAB",
-                    "amenity": "bank"
-                },
-                "name": "NAB",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/ANZ": {
-                "tags": {
-                    "name": "ANZ",
-                    "amenity": "bank"
-                },
-                "name": "ANZ",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Lloyds Bank": {
-                "tags": {
-                    "name": "Lloyds Bank",
-                    "amenity": "bank"
-                },
-                "name": "Lloyds Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Landbank": {
-                "tags": {
-                    "name": "Landbank",
-                    "amenity": "bank"
-                },
-                "name": "Landbank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Sparkasse": {
-                "tags": {
-                    "name": "Sparkasse",
-                    "amenity": "bank"
-                },
-                "name": "Sparkasse",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/UCPB": {
-                "tags": {
-                    "name": "UCPB",
-                    "amenity": "bank"
-                },
-                "name": "UCPB",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/PNB": {
-                "tags": {
-                    "name": "PNB",
-                    "amenity": "bank"
-                },
-                "name": "PNB",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Metrobank": {
-                "tags": {
-                    "name": "Metrobank",
-                    "amenity": "bank"
-                },
-                "name": "Metrobank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BDO": {
-                "tags": {
-                    "name": "BDO",
-                    "amenity": "bank"
-                },
-                "name": "BDO",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Volksbank": {
-                "tags": {
-                    "name": "Volksbank",
-                    "amenity": "bank"
-                },
-                "name": "Volksbank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BPI": {
-                "tags": {
-                    "name": "BPI",
-                    "amenity": "bank"
-                },
-                "name": "BPI",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Postbank": {
-                "tags": {
-                    "name": "Postbank",
-                    "amenity": "bank"
-                },
-                "name": "Postbank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/NatWest": {
-                "tags": {
-                    "name": "NatWest",
-                    "amenity": "bank"
-                },
-                "name": "NatWest",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Raiffeisenbank": {
-                "tags": {
-                    "name": "Raiffeisenbank",
-                    "amenity": "bank"
-                },
-                "name": "Raiffeisenbank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Yorkshire Bank": {
-                "tags": {
-                    "name": "Yorkshire Bank",
-                    "amenity": "bank"
-                },
-                "name": "Yorkshire Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/ABSA": {
-                "tags": {
-                    "name": "ABSA",
-                    "amenity": "bank"
-                },
-                "name": "ABSA",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Standard Bank": {
-                "tags": {
-                    "name": "Standard Bank",
-                    "amenity": "bank"
-                },
-                "name": "Standard Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/FNB": {
-                "tags": {
-                    "name": "FNB",
-                    "amenity": "bank"
-                },
-                "name": "FNB",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Deutsche Bank": {
-                "tags": {
-                    "name": "Deutsche Bank",
-                    "amenity": "bank"
-                },
-                "name": "Deutsche Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/SEB": {
-                "tags": {
-                    "name": "SEB",
-                    "amenity": "bank"
-                },
-                "name": "SEB",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Commerzbank": {
-                "tags": {
-                    "name": "Commerzbank",
-                    "amenity": "bank"
-                },
-                "name": "Commerzbank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Targobank": {
-                "tags": {
-                    "name": "Targobank",
-                    "amenity": "bank"
-                },
-                "name": "Targobank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/ABN AMRO": {
-                "tags": {
-                    "name": "ABN AMRO",
-                    "amenity": "bank"
-                },
-                "name": "ABN AMRO",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Handelsbanken": {
-                "tags": {
-                    "name": "Handelsbanken",
-                    "amenity": "bank"
-                },
-                "name": "Handelsbanken",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Swedbank": {
-                "tags": {
-                    "name": "Swedbank",
-                    "amenity": "bank"
-                },
-                "name": "Swedbank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Kreissparkasse": {
-                "tags": {
-                    "name": "Kreissparkasse",
-                    "amenity": "bank"
-                },
-                "name": "Kreissparkasse",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/UniCredit Bank": {
-                "tags": {
-                    "name": "UniCredit Bank",
-                    "amenity": "bank"
-                },
-                "name": "UniCredit Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Monte dei Paschi di Siena": {
-                "tags": {
-                    "name": "Monte dei Paschi di Siena",
-                    "amenity": "bank"
-                },
-                "name": "Monte dei Paschi di Siena",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Caja Rural": {
-                "tags": {
-                    "name": "Caja Rural",
-                    "amenity": "bank"
-                },
-                "name": "Caja Rural",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Dresdner Bank": {
-                "tags": {
-                    "name": "Dresdner Bank",
-                    "amenity": "bank"
-                },
-                "name": "Dresdner Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Sparda-Bank": {
-                "tags": {
-                    "name": "Sparda-Bank",
-                    "amenity": "bank"
-                },
-                "name": "Sparda-Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/VÚB": {
-                "tags": {
-                    "name": "VÚB",
-                    "amenity": "bank"
-                },
-                "name": "VÚB",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Slovenská sporiteľňa": {
-                "tags": {
-                    "name": "Slovenská sporiteľňa",
-                    "amenity": "bank"
-                },
-                "name": "Slovenská sporiteľňa",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bank of Montreal": {
-                "tags": {
-                    "name": "Bank of Montreal",
-                    "amenity": "bank"
-                },
-                "name": "Bank of Montreal",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/KBC": {
-                "tags": {
-                    "name": "KBC",
-                    "amenity": "bank"
-                },
-                "name": "KBC",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Royal Bank of Scotland": {
-                "tags": {
-                    "name": "Royal Bank of Scotland",
-                    "amenity": "bank"
-                },
-                "name": "Royal Bank of Scotland",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/TSB": {
-                "tags": {
-                    "name": "TSB",
-                    "amenity": "bank"
-                },
-                "name": "TSB",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/US Bank": {
-                "tags": {
-                    "name": "US Bank",
-                    "amenity": "bank"
-                },
-                "name": "US Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/HypoVereinsbank": {
-                "tags": {
-                    "name": "HypoVereinsbank",
-                    "amenity": "bank"
-                },
-                "name": "HypoVereinsbank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bank Austria": {
-                "tags": {
-                    "name": "Bank Austria",
-                    "amenity": "bank"
-                },
-                "name": "Bank Austria",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/ING": {
-                "tags": {
-                    "name": "ING",
-                    "amenity": "bank"
-                },
-                "name": "ING",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Erste Bank": {
-                "tags": {
-                    "name": "Erste Bank",
-                    "amenity": "bank"
-                },
-                "name": "Erste Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/CIBC": {
-                "tags": {
-                    "name": "CIBC",
-                    "amenity": "bank"
-                },
-                "name": "CIBC",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Scotiabank": {
-                "tags": {
-                    "name": "Scotiabank",
-                    "amenity": "bank"
-                },
-                "name": "Scotiabank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Caisse d'Épargne": {
-                "tags": {
-                    "name": "Caisse d'Épargne",
-                    "amenity": "bank"
-                },
-                "name": "Caisse d'Épargne",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Santander": {
-                "tags": {
-                    "name": "Santander",
-                    "amenity": "bank"
-                },
-                "name": "Santander",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bank of Scotland": {
-                "tags": {
-                    "name": "Bank of Scotland",
-                    "amenity": "bank"
-                },
-                "name": "Bank of Scotland",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/TD Canada Trust": {
-                "tags": {
-                    "name": "TD Canada Trust",
-                    "amenity": "bank"
-                },
-                "name": "TD Canada Trust",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BMO": {
-                "tags": {
-                    "name": "BMO",
-                    "amenity": "bank"
-                },
-                "name": "BMO",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Danske Bank": {
-                "tags": {
-                    "name": "Danske Bank",
-                    "amenity": "bank"
-                },
-                "name": "Danske Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/OTP": {
-                "tags": {
-                    "name": "OTP",
-                    "amenity": "bank"
-                },
-                "name": "OTP",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Crédit Agricole": {
-                "tags": {
-                    "name": "Crédit Agricole",
-                    "amenity": "bank"
-                },
-                "name": "Crédit Agricole",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/LCL": {
-                "tags": {
-                    "name": "LCL",
-                    "amenity": "bank"
-                },
-                "name": "LCL",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/VR-Bank": {
-                "tags": {
-                    "name": "VR-Bank",
-                    "amenity": "bank"
-                },
-                "name": "VR-Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/ČSOB": {
-                "tags": {
-                    "name": "ČSOB",
-                    "amenity": "bank"
-                },
-                "name": "ČSOB",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Česká spořitelna": {
-                "tags": {
-                    "name": "Česká spořitelna",
-                    "amenity": "bank"
-                },
-                "name": "Česká spořitelna",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BNP": {
-                "tags": {
-                    "name": "BNP",
-                    "amenity": "bank"
-                },
-                "name": "BNP",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Royal Bank": {
-                "tags": {
-                    "name": "Royal Bank",
-                    "amenity": "bank"
-                },
-                "name": "Royal Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Nationwide": {
-                "tags": {
-                    "name": "Nationwide",
-                    "amenity": "bank"
-                },
-                "name": "Nationwide",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Halifax": {
-                "tags": {
-                    "name": "Halifax",
-                    "amenity": "bank"
-                },
-                "name": "Halifax",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BAWAG PSK": {
-                "tags": {
-                    "name": "BAWAG PSK",
-                    "amenity": "bank"
-                },
-                "name": "BAWAG PSK",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/National Bank": {
-                "tags": {
-                    "name": "National Bank",
-                    "amenity": "bank"
-                },
-                "name": "National Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Nedbank": {
-                "tags": {
-                    "name": "Nedbank",
-                    "amenity": "bank"
-                },
-                "name": "Nedbank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/First National Bank": {
-                "tags": {
-                    "name": "First National Bank",
-                    "amenity": "bank"
-                },
-                "name": "First National Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Nordea": {
-                "tags": {
-                    "name": "Nordea",
-                    "amenity": "bank"
-                },
-                "name": "Nordea",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Rabobank": {
-                "tags": {
-                    "name": "Rabobank",
-                    "amenity": "bank"
-                },
-                "name": "Rabobank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Sparkasse KölnBonn": {
-                "tags": {
-                    "name": "Sparkasse KölnBonn",
-                    "amenity": "bank"
-                },
-                "name": "Sparkasse KölnBonn",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Tatra banka": {
-                "tags": {
-                    "name": "Tatra banka",
-                    "amenity": "bank"
-                },
-                "name": "Tatra banka",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Berliner Sparkasse": {
-                "tags": {
-                    "name": "Berliner Sparkasse",
-                    "amenity": "bank"
-                },
-                "name": "Berliner Sparkasse",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Berliner Volksbank": {
-                "tags": {
-                    "name": "Berliner Volksbank",
-                    "amenity": "bank"
-                },
-                "name": "Berliner Volksbank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Wells Fargo": {
-                "tags": {
-                    "name": "Wells Fargo",
-                    "amenity": "bank"
-                },
-                "name": "Wells Fargo",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Credit Suisse": {
-                "tags": {
-                    "name": "Credit Suisse",
-                    "amenity": "bank"
-                },
-                "name": "Credit Suisse",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Société Générale": {
-                "tags": {
-                    "name": "Société Générale",
-                    "amenity": "bank"
-                },
-                "name": "Société Générale",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Osuuspankki": {
-                "tags": {
-                    "name": "Osuuspankki",
-                    "amenity": "bank"
-                },
-                "name": "Osuuspankki",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Sparkasse Aachen": {
-                "tags": {
-                    "name": "Sparkasse Aachen",
-                    "amenity": "bank"
-                },
-                "name": "Sparkasse Aachen",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Hamburger Sparkasse": {
-                "tags": {
-                    "name": "Hamburger Sparkasse",
-                    "amenity": "bank"
-                },
-                "name": "Hamburger Sparkasse",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Cassa di Risparmio del Veneto": {
-                "tags": {
-                    "name": "Cassa di Risparmio del Veneto",
-                    "amenity": "bank"
-                },
-                "name": "Cassa di Risparmio del Veneto",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BNP Paribas": {
-                "tags": {
-                    "name": "BNP Paribas",
-                    "amenity": "bank"
-                },
-                "name": "BNP Paribas",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banque Populaire": {
-                "tags": {
-                    "name": "Banque Populaire",
-                    "amenity": "bank"
-                },
-                "name": "Banque Populaire",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BNP Paribas Fortis": {
-                "tags": {
-                    "name": "BNP Paribas Fortis",
-                    "amenity": "bank"
-                },
-                "name": "BNP Paribas Fortis",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco Popular": {
-                "tags": {
-                    "name": "Banco Popular",
-                    "amenity": "bank"
-                },
-                "name": "Banco Popular",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bancaja": {
-                "tags": {
-                    "name": "Bancaja",
-                    "amenity": "bank"
-                },
-                "name": "Bancaja",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banesto": {
-                "tags": {
-                    "name": "Banesto",
-                    "amenity": "bank"
-                },
-                "name": "Banesto",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/La Caixa": {
-                "tags": {
-                    "name": "La Caixa",
-                    "amenity": "bank"
-                },
-                "name": "La Caixa",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Santander Consumer Bank": {
-                "tags": {
-                    "name": "Santander Consumer Bank",
-                    "amenity": "bank"
-                },
-                "name": "Santander Consumer Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BRD": {
-                "tags": {
-                    "name": "BRD",
-                    "amenity": "bank"
-                },
-                "name": "BRD",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BCR": {
-                "tags": {
-                    "name": "BCR",
-                    "amenity": "bank"
-                },
-                "name": "BCR",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banca Transilvania": {
-                "tags": {
-                    "name": "Banca Transilvania",
-                    "amenity": "bank"
-                },
-                "name": "Banca Transilvania",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BW-Bank": {
-                "tags": {
-                    "name": "BW-Bank",
-                    "amenity": "bank"
-                },
-                "name": "BW-Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Komerční banka": {
-                "tags": {
-                    "name": "Komerční banka",
-                    "amenity": "bank"
-                },
-                "name": "Komerční banka",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco Pastor": {
-                "tags": {
-                    "name": "Banco Pastor",
-                    "amenity": "bank"
-                },
-                "name": "Banco Pastor",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Stadtsparkasse": {
-                "tags": {
-                    "name": "Stadtsparkasse",
-                    "amenity": "bank"
-                },
-                "name": "Stadtsparkasse",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Ulster Bank": {
-                "tags": {
-                    "name": "Ulster Bank",
-                    "amenity": "bank"
-                },
-                "name": "Ulster Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Sberbank": {
-                "tags": {
-                    "name": "Sberbank",
-                    "amenity": "bank"
-                },
-                "name": "Sberbank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/CIC": {
-                "tags": {
-                    "name": "CIC",
-                    "amenity": "bank"
-                },
-                "name": "CIC",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bancpost": {
-                "tags": {
-                    "name": "Bancpost",
-                    "amenity": "bank"
-                },
-                "name": "Bancpost",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Caja Madrid": {
-                "tags": {
-                    "name": "Caja Madrid",
-                    "amenity": "bank"
-                },
-                "name": "Caja Madrid",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Maybank": {
-                "tags": {
-                    "name": "Maybank",
-                    "amenity": "bank"
-                },
-                "name": "Maybank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/中国银行": {
-                "tags": {
-                    "name": "中国银行",
-                    "amenity": "bank"
-                },
-                "name": "中国银行",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Unicredit Banca": {
-                "tags": {
-                    "name": "Unicredit Banca",
-                    "amenity": "bank"
-                },
-                "name": "Unicredit Banca",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Crédit Mutuel": {
-                "tags": {
-                    "name": "Crédit Mutuel",
-                    "amenity": "bank"
-                },
-                "name": "Crédit Mutuel",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BBVA": {
-                "tags": {
-                    "name": "BBVA",
-                    "amenity": "bank"
-                },
-                "name": "BBVA",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Intesa San Paolo": {
-                "tags": {
-                    "name": "Intesa San Paolo",
-                    "amenity": "bank"
-                },
-                "name": "Intesa San Paolo",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/TD Bank": {
-                "tags": {
-                    "name": "TD Bank",
-                    "amenity": "bank"
-                },
-                "name": "TD Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Belfius": {
-                "tags": {
-                    "name": "Belfius",
-                    "amenity": "bank"
-                },
-                "name": "Belfius",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bank of America": {
-                "tags": {
-                    "name": "Bank of America",
-                    "amenity": "bank"
-                },
-                "name": "Bank of America",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/RBC": {
-                "tags": {
-                    "name": "RBC",
-                    "amenity": "bank"
-                },
-                "name": "RBC",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Alpha Bank": {
-                "tags": {
-                    "name": "Alpha Bank",
-                    "amenity": "bank"
-                },
-                "name": "Alpha Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Сбербанк": {
-                "tags": {
-                    "name": "Сбербанк",
-                    "amenity": "bank"
-                },
-                "name": "Сбербанк",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Россельхозбанк": {
-                "tags": {
-                    "name": "Россельхозбанк",
-                    "amenity": "bank"
-                },
-                "name": "Россельхозбанк",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Crédit du Nord": {
-                "tags": {
-                    "name": "Crédit du Nord",
-                    "amenity": "bank"
-                },
-                "name": "Crédit du Nord",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BancoEstado": {
-                "tags": {
-                    "name": "BancoEstado",
-                    "amenity": "bank"
-                },
-                "name": "BancoEstado",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Millennium Bank": {
-                "tags": {
-                    "name": "Millennium Bank",
-                    "amenity": "bank"
-                },
-                "name": "Millennium Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/State Bank of India": {
-                "tags": {
-                    "name": "State Bank of India",
-                    "amenity": "bank"
-                },
-                "name": "State Bank of India",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Беларусбанк": {
-                "tags": {
-                    "name": "Беларусбанк",
-                    "amenity": "bank"
-                },
-                "name": "Беларусбанк",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/ING Bank Śląski": {
-                "tags": {
-                    "name": "ING Bank Śląski",
-                    "amenity": "bank"
-                },
-                "name": "ING Bank Śląski",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Caixa Geral de Depósitos": {
-                "tags": {
-                    "name": "Caixa Geral de Depósitos",
-                    "amenity": "bank"
-                },
-                "name": "Caixa Geral de Depósitos",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Kreissparkasse Köln": {
-                "tags": {
-                    "name": "Kreissparkasse Köln",
-                    "amenity": "bank"
-                },
-                "name": "Kreissparkasse Köln",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco BCI": {
-                "tags": {
-                    "name": "Banco BCI",
-                    "amenity": "bank"
-                },
-                "name": "Banco BCI",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco de Chile": {
-                "tags": {
-                    "name": "Banco de Chile",
-                    "amenity": "bank"
-                },
-                "name": "Banco de Chile",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/ВТБ24": {
-                "tags": {
-                    "name": "ВТБ24",
-                    "amenity": "bank"
-                },
-                "name": "ВТБ24",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/UBS": {
-                "tags": {
-                    "name": "UBS",
-                    "amenity": "bank"
-                },
-                "name": "UBS",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/PKO BP": {
-                "tags": {
-                    "name": "PKO BP",
-                    "amenity": "bank"
-                },
-                "name": "PKO BP",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Chinabank": {
-                "tags": {
-                    "name": "Chinabank",
-                    "amenity": "bank"
-                },
-                "name": "Chinabank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/PSBank": {
-                "tags": {
-                    "name": "PSBank",
-                    "amenity": "bank"
-                },
-                "name": "PSBank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Union Bank": {
-                "tags": {
-                    "name": "Union Bank",
-                    "amenity": "bank"
-                },
-                "name": "Union Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/China Bank": {
-                "tags": {
-                    "name": "China Bank",
-                    "amenity": "bank"
-                },
-                "name": "China Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/RCBC": {
-                "tags": {
-                    "name": "RCBC",
-                    "amenity": "bank"
-                },
-                "name": "RCBC",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Unicaja": {
-                "tags": {
-                    "name": "Unicaja",
-                    "amenity": "bank"
-                },
-                "name": "Unicaja",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BBK": {
-                "tags": {
-                    "name": "BBK",
-                    "amenity": "bank"
-                },
-                "name": "BBK",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Ibercaja": {
-                "tags": {
-                    "name": "Ibercaja",
-                    "amenity": "bank"
-                },
-                "name": "Ibercaja",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/RBS": {
-                "tags": {
-                    "name": "RBS",
-                    "amenity": "bank"
-                },
-                "name": "RBS",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Commercial Bank of Ceylon PLC": {
-                "tags": {
-                    "name": "Commercial Bank of Ceylon PLC",
-                    "amenity": "bank"
-                },
-                "name": "Commercial Bank of Ceylon PLC",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bank of Ireland": {
-                "tags": {
-                    "name": "Bank of Ireland",
-                    "amenity": "bank"
-                },
-                "name": "Bank of Ireland",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BNL": {
-                "tags": {
-                    "name": "BNL",
-                    "amenity": "bank"
-                },
-                "name": "BNL",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco Santander": {
-                "tags": {
-                    "name": "Banco Santander",
-                    "amenity": "bank"
-                },
-                "name": "Banco Santander",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco Itaú": {
-                "tags": {
-                    "name": "Banco Itaú",
-                    "amenity": "bank"
-                },
-                "name": "Banco Itaú",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/AIB": {
-                "tags": {
-                    "name": "AIB",
-                    "amenity": "bank"
-                },
-                "name": "AIB",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BZ WBK": {
-                "tags": {
-                    "name": "BZ WBK",
-                    "amenity": "bank"
-                },
-                "name": "BZ WBK",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco do Brasil": {
-                "tags": {
-                    "name": "Banco do Brasil",
-                    "amenity": "bank"
-                },
-                "name": "Banco do Brasil",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Caixa Econômica Federal": {
-                "tags": {
-                    "name": "Caixa Econômica Federal",
-                    "amenity": "bank"
-                },
-                "name": "Caixa Econômica Federal",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Fifth Third Bank": {
-                "tags": {
-                    "name": "Fifth Third Bank",
-                    "amenity": "bank"
-                },
-                "name": "Fifth Third Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banca Popolare di Vicenza": {
-                "tags": {
-                    "name": "Banca Popolare di Vicenza",
-                    "amenity": "bank"
-                },
-                "name": "Banca Popolare di Vicenza",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Wachovia": {
-                "tags": {
-                    "name": "Wachovia",
-                    "amenity": "bank"
-                },
-                "name": "Wachovia",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/OLB": {
-                "tags": {
-                    "name": "OLB",
-                    "amenity": "bank"
-                },
-                "name": "OLB",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/みずほ銀行": {
-                "tags": {
-                    "name": "みずほ銀行",
-                    "amenity": "bank"
-                },
-                "name": "みずほ銀行",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BES": {
-                "tags": {
-                    "name": "BES",
-                    "amenity": "bank"
-                },
-                "name": "BES",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/ICICI Bank": {
-                "tags": {
-                    "name": "ICICI Bank",
-                    "amenity": "bank"
-                },
-                "name": "ICICI Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/HDFC Bank": {
-                "tags": {
-                    "name": "HDFC Bank",
-                    "amenity": "bank"
-                },
-                "name": "HDFC Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/La Banque Postale": {
-                "tags": {
-                    "name": "La Banque Postale",
-                    "amenity": "bank"
-                },
-                "name": "La Banque Postale",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Pekao SA": {
-                "tags": {
-                    "name": "Pekao SA",
-                    "amenity": "bank"
-                },
-                "name": "Pekao SA",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Oberbank": {
-                "tags": {
-                    "name": "Oberbank",
-                    "amenity": "bank"
-                },
-                "name": "Oberbank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bradesco": {
-                "tags": {
-                    "name": "Bradesco",
-                    "amenity": "bank"
-                },
-                "name": "Bradesco",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Oldenburgische Landesbank": {
-                "tags": {
-                    "name": "Oldenburgische Landesbank",
-                    "amenity": "bank"
-                },
-                "name": "Oldenburgische Landesbank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bendigo Bank": {
-                "tags": {
-                    "name": "Bendigo Bank",
-                    "amenity": "bank"
-                },
-                "name": "Bendigo Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Argenta": {
-                "tags": {
-                    "name": "Argenta",
-                    "amenity": "bank"
-                },
-                "name": "Argenta",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/AXA": {
-                "tags": {
-                    "name": "AXA",
-                    "amenity": "bank"
-                },
-                "name": "AXA",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Axis Bank": {
-                "tags": {
-                    "name": "Axis Bank",
-                    "amenity": "bank"
-                },
-                "name": "Axis Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco Nación": {
-                "tags": {
-                    "name": "Banco Nación",
-                    "amenity": "bank"
-                },
-                "name": "Banco Nación",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/GE Money Bank": {
-                "tags": {
-                    "name": "GE Money Bank",
-                    "amenity": "bank"
-                },
-                "name": "GE Money Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Альфа-Банк": {
-                "tags": {
-                    "name": "Альфа-Банк",
-                    "amenity": "bank"
-                },
-                "name": "Альфа-Банк",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Белагропромбанк": {
-                "tags": {
-                    "name": "Белагропромбанк",
-                    "amenity": "bank"
-                },
-                "name": "Белагропромбанк",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Caja Círculo": {
-                "tags": {
-                    "name": "Caja Círculo",
-                    "amenity": "bank"
-                },
-                "name": "Caja Círculo",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco Galicia": {
-                "tags": {
-                    "name": "Banco Galicia",
-                    "amenity": "bank"
-                },
-                "name": "Banco Galicia",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Eurobank": {
-                "tags": {
-                    "name": "Eurobank",
-                    "amenity": "bank"
-                },
-                "name": "Eurobank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banca Intesa": {
-                "tags": {
-                    "name": "Banca Intesa",
-                    "amenity": "bank"
-                },
-                "name": "Banca Intesa",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Canara Bank": {
-                "tags": {
-                    "name": "Canara Bank",
-                    "amenity": "bank"
-                },
-                "name": "Canara Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Cajamar": {
-                "tags": {
-                    "name": "Cajamar",
-                    "amenity": "bank"
-                },
-                "name": "Cajamar",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banamex": {
-                "tags": {
-                    "name": "Banamex",
-                    "amenity": "bank"
-                },
-                "name": "Banamex",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Crédit Mutuel de Bretagne": {
-                "tags": {
-                    "name": "Crédit Mutuel de Bretagne",
-                    "amenity": "bank"
-                },
-                "name": "Crédit Mutuel de Bretagne",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Davivienda": {
-                "tags": {
-                    "name": "Davivienda",
-                    "amenity": "bank"
-                },
-                "name": "Davivienda",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bank Spółdzielczy": {
-                "tags": {
-                    "name": "Bank Spółdzielczy",
-                    "amenity": "bank"
-                },
-                "name": "Bank Spółdzielczy",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Credit Agricole": {
-                "tags": {
-                    "name": "Credit Agricole",
-                    "amenity": "bank"
-                },
-                "name": "Credit Agricole",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bankinter": {
-                "tags": {
-                    "name": "Bankinter",
-                    "amenity": "bank"
-                },
-                "name": "Bankinter",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banque Nationale": {
-                "tags": {
-                    "name": "Banque Nationale",
-                    "amenity": "bank"
-                },
-                "name": "Banque Nationale",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bank of the West": {
-                "tags": {
-                    "name": "Bank of the West",
-                    "amenity": "bank"
-                },
-                "name": "Bank of the West",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Key Bank": {
-                "tags": {
-                    "name": "Key Bank",
-                    "amenity": "bank"
-                },
-                "name": "Key Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Western Union": {
-                "tags": {
-                    "name": "Western Union",
-                    "amenity": "bank"
-                },
-                "name": "Western Union",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Citizens Bank": {
-                "tags": {
-                    "name": "Citizens Bank",
-                    "amenity": "bank"
-                },
-                "name": "Citizens Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/ПриватБанк": {
-                "tags": {
-                    "name": "ПриватБанк",
-                    "amenity": "bank"
-                },
-                "name": "ПриватБанк",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Security Bank": {
-                "tags": {
-                    "name": "Security Bank",
-                    "amenity": "bank"
-                },
-                "name": "Security Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Millenium Bank": {
-                "tags": {
-                    "name": "Millenium Bank",
-                    "amenity": "bank"
-                },
-                "name": "Millenium Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bankia": {
-                "tags": {
-                    "name": "Bankia",
-                    "amenity": "bank"
-                },
-                "name": "Bankia",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/三菱東京UFJ銀行": {
-                "tags": {
-                    "name": "三菱東京UFJ銀行",
-                    "amenity": "bank"
-                },
-                "name": "三菱東京UFJ銀行",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Caixa": {
-                "tags": {
-                    "name": "Caixa",
-                    "amenity": "bank"
-                },
-                "name": "Caixa",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco de Costa Rica": {
-                "tags": {
-                    "name": "Banco de Costa Rica",
-                    "amenity": "bank"
-                },
-                "name": "Banco de Costa Rica",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/SunTrust Bank": {
-                "tags": {
-                    "name": "SunTrust Bank",
-                    "amenity": "bank"
-                },
-                "name": "SunTrust Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Itaú": {
-                "tags": {
-                    "name": "Itaú",
-                    "amenity": "bank"
-                },
-                "name": "Itaú",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/PBZ": {
-                "tags": {
-                    "name": "PBZ",
-                    "amenity": "bank"
-                },
-                "name": "PBZ",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/中国工商银行": {
-                "tags": {
-                    "name": "中国工商银行",
-                    "amenity": "bank"
-                },
-                "name": "中国工商银行",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bancolombia": {
-                "tags": {
-                    "name": "Bancolombia",
-                    "amenity": "bank"
-                },
-                "name": "Bancolombia",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Райффайзен Банк Аваль": {
-                "tags": {
-                    "name": "Райффайзен Банк Аваль",
-                    "amenity": "bank"
-                },
-                "name": "Райффайзен Банк Аваль",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bancomer": {
-                "tags": {
-                    "name": "Bancomer",
-                    "amenity": "bank"
-                },
-                "name": "Bancomer",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banorte": {
-                "tags": {
-                    "name": "Banorte",
-                    "amenity": "bank"
-                },
-                "name": "Banorte",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Alior Bank": {
-                "tags": {
-                    "name": "Alior Bank",
-                    "amenity": "bank"
-                },
-                "name": "Alior Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BOC": {
-                "tags": {
-                    "name": "BOC",
-                    "amenity": "bank"
-                },
-                "name": "BOC",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Банк Москвы": {
-                "tags": {
-                    "name": "Банк Москвы",
-                    "amenity": "bank"
-                },
-                "name": "Банк Москвы",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/ВТБ": {
-                "tags": {
-                    "name": "ВТБ",
-                    "amenity": "bank"
-                },
-                "name": "ВТБ",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Getin Bank": {
-                "tags": {
-                    "name": "Getin Bank",
-                    "amenity": "bank"
-                },
-                "name": "Getin Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Caja Duero": {
-                "tags": {
-                    "name": "Caja Duero",
-                    "amenity": "bank"
-                },
-                "name": "Caja Duero",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Regions Bank": {
-                "tags": {
-                    "name": "Regions Bank",
-                    "amenity": "bank"
-                },
-                "name": "Regions Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Росбанк": {
-                "tags": {
-                    "name": "Росбанк",
-                    "amenity": "bank"
-                },
-                "name": "Росбанк",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco Estado": {
-                "tags": {
-                    "name": "Banco Estado",
-                    "amenity": "bank"
-                },
-                "name": "Banco Estado",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BCI": {
-                "tags": {
-                    "name": "BCI",
-                    "amenity": "bank"
-                },
-                "name": "BCI",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/SunTrust": {
-                "tags": {
-                    "name": "SunTrust",
-                    "amenity": "bank"
-                },
-                "name": "SunTrust",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/PNC Bank": {
-                "tags": {
-                    "name": "PNC Bank",
-                    "amenity": "bank"
-                },
-                "name": "PNC Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/신한은행": {
-                "tags": {
-                    "name": "신한은행",
-                    "name:en": "Sinhan Bank",
-                    "amenity": "bank"
-                },
-                "name": "신한은행",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/우리은행": {
-                "tags": {
-                    "name": "우리은행",
-                    "name:en": "Uri Bank",
-                    "amenity": "bank"
-                },
-                "name": "우리은행",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/국민은행": {
-                "tags": {
-                    "name": "국민은행",
-                    "name:en": "Gungmin Bank",
-                    "amenity": "bank"
-                },
-                "name": "국민은행",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/중소기업은행": {
-                "tags": {
-                    "name": "중소기업은행",
-                    "name:en": "Industrial Bank of Korea",
-                    "amenity": "bank"
-                },
-                "name": "중소기업은행",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/광주은행": {
-                "tags": {
-                    "name": "광주은행",
-                    "name:en": "Gwangju Bank",
-                    "amenity": "bank"
-                },
-                "name": "광주은행",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Газпромбанк": {
-                "tags": {
-                    "name": "Газпромбанк",
-                    "amenity": "bank"
-                },
-                "name": "Газпромбанк",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/M&T Bank": {
-                "tags": {
-                    "name": "M&T Bank",
-                    "amenity": "bank"
-                },
-                "name": "M&T Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Caja de Burgos": {
-                "tags": {
-                    "name": "Caja de Burgos",
-                    "amenity": "bank"
-                },
-                "name": "Caja de Burgos",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Santander Totta": {
-                "tags": {
-                    "name": "Santander Totta",
-                    "amenity": "bank"
-                },
-                "name": "Santander Totta",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/УкрСиббанк": {
-                "tags": {
-                    "name": "УкрСиббанк",
-                    "amenity": "bank"
-                },
-                "name": "УкрСиббанк",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Ощадбанк": {
-                "tags": {
-                    "name": "Ощадбанк",
-                    "amenity": "bank"
-                },
-                "name": "Ощадбанк",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Уралсиб": {
-                "tags": {
-                    "name": "Уралсиб",
-                    "amenity": "bank"
-                },
-                "name": "Уралсиб",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/りそな銀行": {
-                "tags": {
-                    "name": "りそな銀行",
-                    "name:en": "Mizuho Bank",
-                    "amenity": "bank"
-                },
-                "name": "りそな銀行",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Ecobank": {
-                "tags": {
-                    "name": "Ecobank",
-                    "amenity": "bank"
-                },
-                "name": "Ecobank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Cajero Automatico Bancared": {
-                "tags": {
-                    "name": "Cajero Automatico Bancared",
-                    "amenity": "bank"
-                },
-                "name": "Cajero Automatico Bancared",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Промсвязьбанк": {
-                "tags": {
-                    "name": "Промсвязьбанк",
-                    "amenity": "bank"
-                },
-                "name": "Промсвязьбанк",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/三井住友銀行": {
-                "tags": {
-                    "name": "三井住友銀行",
-                    "amenity": "bank"
-                },
-                "name": "三井住友銀行",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco Provincia": {
-                "tags": {
-                    "name": "Banco Provincia",
-                    "amenity": "bank"
-                },
-                "name": "Banco Provincia",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/BB&T": {
-                "tags": {
-                    "name": "BB&T",
-                    "amenity": "bank"
-                },
-                "name": "BB&T",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Возрождение": {
-                "tags": {
-                    "name": "Возрождение",
-                    "amenity": "bank"
-                },
-                "name": "Возрождение",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Capital One": {
-                "tags": {
-                    "name": "Capital One",
-                    "amenity": "bank"
-                },
-                "name": "Capital One",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/横浜銀行": {
-                "tags": {
-                    "name": "横浜銀行",
-                    "amenity": "bank"
-                },
-                "name": "横浜銀行",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bank Mandiri": {
-                "tags": {
-                    "name": "Bank Mandiri",
-                    "amenity": "bank"
-                },
-                "name": "Bank Mandiri",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco de la Nación": {
-                "tags": {
-                    "name": "Banco de la Nación",
-                    "amenity": "bank"
-                },
-                "name": "Banco de la Nación",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco G&T Continental": {
-                "tags": {
-                    "name": "Banco G&T Continental",
-                    "amenity": "bank"
-                },
-                "name": "Banco G&T Continental",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Peoples Bank": {
-                "tags": {
-                    "name": "Peoples Bank",
-                    "amenity": "bank"
-                },
-                "name": "Peoples Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/工商银行": {
-                "tags": {
-                    "name": "工商银行",
-                    "amenity": "bank"
-                },
-                "name": "工商银行",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Совкомбанк": {
-                "tags": {
-                    "name": "Совкомбанк",
-                    "amenity": "bank"
-                },
-                "name": "Совкомбанк",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Provincial": {
-                "tags": {
-                    "name": "Provincial",
-                    "amenity": "bank"
-                },
-                "name": "Provincial",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco de Desarrollo Banrural": {
-                "tags": {
-                    "name": "Banco de Desarrollo Banrural",
-                    "amenity": "bank"
-                },
-                "name": "Banco de Desarrollo Banrural",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banco Bradesco": {
-                "tags": {
-                    "name": "Banco Bradesco",
-                    "amenity": "bank"
-                },
-                "name": "Banco Bradesco",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bicentenario": {
-                "tags": {
-                    "name": "Bicentenario",
-                    "amenity": "bank"
-                },
-                "name": "Bicentenario",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/ლიბერთი ბანკი": {
-                "tags": {
-                    "name": "ლიბერთი ბანკი",
-                    "name:en": "Liberty Bank",
-                    "amenity": "bank"
-                },
-                "name": "ლიბერთი ბანკი",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Banesco": {
-                "tags": {
-                    "name": "Banesco",
-                    "amenity": "bank"
-                },
-                "name": "Banesco",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Mercantil": {
-                "tags": {
-                    "name": "Mercantil",
-                    "amenity": "bank"
-                },
-                "name": "Mercantil",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Bank BRI": {
-                "tags": {
-                    "name": "Bank BRI",
-                    "amenity": "bank"
-                },
-                "name": "Bank BRI",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/Del Tesoro": {
-                "tags": {
-                    "name": "Del Tesoro",
-                    "amenity": "bank"
-                },
-                "name": "Del Tesoro",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/하나은행": {
-                "tags": {
-                    "name": "하나은행",
-                    "amenity": "bank"
-                },
-                "name": "하나은행",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/CityCommerce Bank": {
-                "tags": {
-                    "name": "CityCommerce Bank",
-                    "amenity": "bank"
-                },
-                "name": "CityCommerce Bank",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/bank/De Venezuela": {
-                "tags": {
-                    "name": "De Venezuela",
-                    "amenity": "bank"
-                },
-                "name": "De Venezuela",
-                "icon": "bank",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/car_rental/Europcar": {
-                "tags": {
-                    "name": "Europcar",
-                    "amenity": "car_rental"
-                },
-                "name": "Europcar",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "fields": [
-                    "operator"
-                ],
-                "suggestion": true
-            },
-            "amenity/car_rental/Budget": {
-                "tags": {
-                    "name": "Budget",
-                    "amenity": "car_rental"
-                },
-                "name": "Budget",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "fields": [
-                    "operator"
-                ],
-                "suggestion": true
-            },
-            "amenity/car_rental/Sixt": {
-                "tags": {
-                    "name": "Sixt",
-                    "amenity": "car_rental"
-                },
-                "name": "Sixt",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "fields": [
-                    "operator"
-                ],
-                "suggestion": true
-            },
-            "amenity/car_rental/Avis": {
-                "tags": {
-                    "name": "Avis",
-                    "amenity": "car_rental"
-                },
-                "name": "Avis",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "fields": [
-                    "operator"
-                ],
-                "suggestion": true
-            },
-            "amenity/car_rental/Hertz": {
-                "tags": {
-                    "name": "Hertz",
-                    "amenity": "car_rental"
-                },
-                "name": "Hertz",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "fields": [
-                    "operator"
-                ],
-                "suggestion": true
-            },
-            "amenity/car_rental/Enterprise": {
-                "tags": {
-                    "name": "Enterprise",
-                    "amenity": "car_rental"
-                },
-                "name": "Enterprise",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "fields": [
-                    "operator"
-                ],
-                "suggestion": true
-            },
-            "amenity/car_rental/stadtmobil CarSharing-Station": {
-                "tags": {
-                    "name": "stadtmobil CarSharing-Station",
-                    "amenity": "car_rental"
-                },
-                "name": "stadtmobil CarSharing-Station",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "fields": [
-                    "operator"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Rowlands Pharmacy": {
-                "tags": {
-                    "name": "Rowlands Pharmacy",
-                    "amenity": "pharmacy"
-                },
-                "name": "Rowlands Pharmacy",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Boots": {
-                "tags": {
-                    "name": "Boots",
-                    "amenity": "pharmacy"
-                },
-                "name": "Boots",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Marien-Apotheke": {
-                "tags": {
-                    "name": "Marien-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Marien-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Mercury Drug": {
-                "tags": {
-                    "name": "Mercury Drug",
-                    "amenity": "pharmacy"
-                },
-                "name": "Mercury Drug",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Löwen-Apotheke": {
-                "tags": {
-                    "name": "Löwen-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Löwen-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Superdrug": {
-                "tags": {
-                    "name": "Superdrug",
-                    "amenity": "pharmacy"
-                },
-                "name": "Superdrug",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Sonnen-Apotheke": {
-                "tags": {
-                    "name": "Sonnen-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Sonnen-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Rathaus-Apotheke": {
-                "tags": {
-                    "name": "Rathaus-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Rathaus-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Engel-Apotheke": {
-                "tags": {
-                    "name": "Engel-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Engel-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Hirsch-Apotheke": {
-                "tags": {
-                    "name": "Hirsch-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Hirsch-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Stern-Apotheke": {
-                "tags": {
-                    "name": "Stern-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Stern-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Lloyds Pharmacy": {
-                "tags": {
-                    "name": "Lloyds Pharmacy",
-                    "amenity": "pharmacy"
-                },
-                "name": "Lloyds Pharmacy",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Rosen-Apotheke": {
-                "tags": {
-                    "name": "Rosen-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Rosen-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Stadt-Apotheke": {
-                "tags": {
-                    "name": "Stadt-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Stadt-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Markt-Apotheke": {
-                "tags": {
-                    "name": "Markt-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Markt-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Аптека": {
-                "tags": {
-                    "name": "Аптека",
-                    "amenity": "pharmacy"
-                },
-                "name": "Аптека",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Pharmasave": {
-                "tags": {
-                    "name": "Pharmasave",
-                    "amenity": "pharmacy"
-                },
-                "name": "Pharmasave",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Brunnen-Apotheke": {
-                "tags": {
-                    "name": "Brunnen-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Brunnen-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Shoppers Drug Mart": {
-                "tags": {
-                    "name": "Shoppers Drug Mart",
-                    "amenity": "pharmacy"
-                },
-                "name": "Shoppers Drug Mart",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Apotheke am Markt": {
-                "tags": {
-                    "name": "Apotheke am Markt",
-                    "amenity": "pharmacy"
-                },
-                "name": "Apotheke am Markt",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Alte Apotheke": {
-                "tags": {
-                    "name": "Alte Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Alte Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Neue Apotheke": {
-                "tags": {
-                    "name": "Neue Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Neue Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Gintarinė vaistinė": {
-                "tags": {
-                    "name": "Gintarinė vaistinė",
-                    "amenity": "pharmacy"
-                },
-                "name": "Gintarinė vaistinė",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Rats-Apotheke": {
-                "tags": {
-                    "name": "Rats-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Rats-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Adler Apotheke": {
-                "tags": {
-                    "name": "Adler Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Adler Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Pharmacie Centrale": {
-                "tags": {
-                    "name": "Pharmacie Centrale",
-                    "amenity": "pharmacy"
-                },
-                "name": "Pharmacie Centrale",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Walgreens": {
-                "tags": {
-                    "name": "Walgreens",
-                    "amenity": "pharmacy"
-                },
-                "name": "Walgreens",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Rite Aid": {
-                "tags": {
-                    "name": "Rite Aid",
-                    "amenity": "pharmacy"
-                },
-                "name": "Rite Aid",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Apotheke": {
-                "tags": {
-                    "name": "Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Linden-Apotheke": {
-                "tags": {
-                    "name": "Linden-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Linden-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Bahnhof-Apotheke": {
-                "tags": {
-                    "name": "Bahnhof-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Bahnhof-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Burg-Apotheke": {
-                "tags": {
-                    "name": "Burg-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Burg-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Jean Coutu": {
-                "tags": {
-                    "name": "Jean Coutu",
-                    "amenity": "pharmacy"
-                },
-                "name": "Jean Coutu",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Pharmaprix": {
-                "tags": {
-                    "name": "Pharmaprix",
-                    "amenity": "pharmacy"
-                },
-                "name": "Pharmaprix",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Farmacias Ahumada": {
-                "tags": {
-                    "name": "Farmacias Ahumada",
-                    "amenity": "pharmacy"
-                },
-                "name": "Farmacias Ahumada",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Farmacia Comunale": {
-                "tags": {
-                    "name": "Farmacia Comunale",
-                    "amenity": "pharmacy"
-                },
-                "name": "Farmacia Comunale",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Farmacias Cruz Verde": {
-                "tags": {
-                    "name": "Farmacias Cruz Verde",
-                    "amenity": "pharmacy"
-                },
-                "name": "Farmacias Cruz Verde",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Cruz Verde": {
-                "tags": {
-                    "name": "Cruz Verde",
-                    "amenity": "pharmacy"
-                },
-                "name": "Cruz Verde",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Hubertus Apotheke": {
-                "tags": {
-                    "name": "Hubertus Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Hubertus Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/CVS": {
-                "tags": {
-                    "name": "CVS",
-                    "amenity": "pharmacy"
-                },
-                "name": "CVS",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Farmacias SalcoBrand": {
-                "tags": {
-                    "name": "Farmacias SalcoBrand",
-                    "amenity": "pharmacy"
-                },
-                "name": "Farmacias SalcoBrand",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Фармация": {
-                "tags": {
-                    "name": "Фармация",
-                    "amenity": "pharmacy"
-                },
-                "name": "Фармация",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Bären-Apotheke": {
-                "tags": {
-                    "name": "Bären-Apotheke",
-                    "amenity": "pharmacy"
-                },
-                "name": "Bären-Apotheke",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Clicks": {
-                "tags": {
-                    "name": "Clicks",
-                    "amenity": "pharmacy"
-                },
-                "name": "Clicks",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/セイジョー": {
-                "tags": {
-                    "name": "セイジョー",
-                    "amenity": "pharmacy"
-                },
-                "name": "セイジョー",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/マツモトキヨシ": {
-                "tags": {
-                    "name": "マツモトキヨシ",
-                    "amenity": "pharmacy"
-                },
-                "name": "マツモトキヨシ",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Dr. Max": {
-                "tags": {
-                    "name": "Dr. Max",
-                    "amenity": "pharmacy"
-                },
-                "name": "Dr. Max",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Вита": {
-                "tags": {
-                    "name": "Вита",
-                    "amenity": "pharmacy"
-                },
-                "name": "Вита",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/サンドラッグ": {
-                "tags": {
-                    "name": "サンドラッグ",
-                    "amenity": "pharmacy"
-                },
-                "name": "サンドラッグ",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Apteka": {
-                "tags": {
-                    "name": "Apteka",
-                    "amenity": "pharmacy"
-                },
-                "name": "Apteka",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Первая помощь": {
-                "tags": {
-                    "name": "Первая помощь",
-                    "amenity": "pharmacy"
-                },
-                "name": "Первая помощь",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Ригла": {
-                "tags": {
-                    "name": "Ригла",
-                    "amenity": "pharmacy"
-                },
-                "name": "Ригла",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Имплозия": {
-                "tags": {
-                    "name": "Имплозия",
-                    "amenity": "pharmacy"
-                },
-                "name": "Имплозия",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Kinney Drugs": {
-                "tags": {
-                    "name": "Kinney Drugs",
-                    "amenity": "pharmacy"
-                },
-                "name": "Kinney Drugs",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Классика": {
-                "tags": {
-                    "name": "Классика",
-                    "amenity": "pharmacy"
-                },
-                "name": "Классика",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Ljekarna": {
-                "tags": {
-                    "name": "Ljekarna",
-                    "amenity": "pharmacy"
-                },
-                "name": "Ljekarna",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/SalcoBrand": {
-                "tags": {
-                    "name": "SalcoBrand",
-                    "amenity": "pharmacy"
-                },
-                "name": "SalcoBrand",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Аптека 36,6": {
-                "tags": {
-                    "name": "Аптека 36,6",
-                    "amenity": "pharmacy"
-                },
-                "name": "Аптека 36,6",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Фармакор": {
-                "tags": {
-                    "name": "Фармакор",
-                    "amenity": "pharmacy"
-                },
-                "name": "Фармакор",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/スギ薬局": {
-                "tags": {
-                    "name": "スギ薬局",
-                    "amenity": "pharmacy"
-                },
-                "name": "スギ薬局",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Аптечный пункт": {
-                "tags": {
-                    "name": "Аптечный пункт",
-                    "amenity": "pharmacy"
-                },
-                "name": "Аптечный пункт",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Невис": {
-                "tags": {
-                    "name": "Невис",
-                    "amenity": "pharmacy"
-                },
-                "name": "Невис",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/トモズ (Tomod's)": {
-                "tags": {
-                    "name": "トモズ (Tomod's)",
-                    "amenity": "pharmacy"
-                },
-                "name": "トモズ (Tomod's)",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Eurovaistinė": {
-                "tags": {
-                    "name": "Eurovaistinė",
-                    "amenity": "pharmacy"
-                },
-                "name": "Eurovaistinė",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Farmacity": {
-                "tags": {
-                    "name": "Farmacity",
-                    "amenity": "pharmacy"
-                },
-                "name": "Farmacity",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/аптека": {
-                "tags": {
-                    "name": "аптека",
-                    "amenity": "pharmacy"
-                },
-                "name": "аптека",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/The Generics Pharmacy": {
-                "tags": {
-                    "name": "The Generics Pharmacy",
-                    "amenity": "pharmacy"
-                },
-                "name": "The Generics Pharmacy",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Farmatodo": {
-                "tags": {
-                    "name": "Farmatodo",
-                    "amenity": "pharmacy"
-                },
-                "name": "Farmatodo",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Duane Reade": {
-                "tags": {
-                    "name": "Duane Reade",
-                    "amenity": "pharmacy"
-                },
-                "name": "Duane Reade",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Фармленд": {
-                "tags": {
-                    "name": "Фармленд",
-                    "amenity": "pharmacy"
-                },
-                "name": "Фармленд",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/ドラッグてらしま (Drug Terashima)": {
-                "tags": {
-                    "name": "ドラッグてらしま (Drug Terashima)",
-                    "amenity": "pharmacy"
-                },
-                "name": "ドラッグてらしま (Drug Terashima)",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Арніка": {
-                "tags": {
-                    "name": "Арніка",
-                    "amenity": "pharmacy"
-                },
-                "name": "Арніка",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/ავერსი (Aversi)": {
-                "tags": {
-                    "name": "ავერსი (Aversi)",
-                    "amenity": "pharmacy"
-                },
-                "name": "ავერსი (Aversi)",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/pharmacy/Farmahorro": {
-                "tags": {
-                    "name": "Farmahorro",
-                    "amenity": "pharmacy"
-                },
-                "name": "Farmahorro",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Starbucks": {
-                "tags": {
-                    "name": "Starbucks",
-                    "cuisine": "coffee_shop",
-                    "amenity": "cafe"
-                },
-                "name": "Starbucks",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Cafeteria": {
-                "tags": {
-                    "name": "Cafeteria",
-                    "amenity": "cafe"
-                },
-                "name": "Cafeteria",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Costa": {
-                "tags": {
-                    "name": "Costa",
-                    "amenity": "cafe"
-                },
-                "name": "Costa",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Caffè Nero": {
-                "tags": {
-                    "name": "Caffè Nero",
-                    "amenity": "cafe"
-                },
-                "name": "Caffè Nero",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Кафе": {
-                "tags": {
-                    "name": "Кафе",
-                    "amenity": "cafe"
-                },
-                "name": "Кафе",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Café Central": {
-                "tags": {
-                    "name": "Café Central",
-                    "amenity": "cafe"
-                },
-                "name": "Café Central",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Second Cup": {
-                "tags": {
-                    "name": "Second Cup",
-                    "amenity": "cafe"
-                },
-                "name": "Second Cup",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Eisdiele": {
-                "tags": {
-                    "name": "Eisdiele",
-                    "amenity": "cafe"
-                },
-                "name": "Eisdiele",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Dunkin Donuts": {
-                "tags": {
-                    "name": "Dunkin Donuts",
-                    "cuisine": "donut",
-                    "amenity": "cafe"
-                },
-                "name": "Dunkin Donuts",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Espresso House": {
-                "tags": {
-                    "name": "Espresso House",
-                    "amenity": "cafe"
-                },
-                "name": "Espresso House",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Segafredo": {
-                "tags": {
-                    "name": "Segafredo",
-                    "amenity": "cafe"
-                },
-                "name": "Segafredo",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Coffee Time": {
-                "tags": {
-                    "name": "Coffee Time",
-                    "amenity": "cafe"
-                },
-                "name": "Coffee Time",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Cafe Coffee Day": {
-                "tags": {
-                    "name": "Cafe Coffee Day",
-                    "amenity": "cafe"
-                },
-                "name": "Cafe Coffee Day",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Eiscafe Venezia": {
-                "tags": {
-                    "name": "Eiscafe Venezia",
-                    "amenity": "cafe"
-                },
-                "name": "Eiscafe Venezia",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/スターバックス": {
-                "tags": {
-                    "name": "スターバックス",
-                    "name:en": "Starbucks",
-                    "amenity": "cafe"
-                },
-                "name": "スターバックス",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Шоколадница": {
-                "tags": {
-                    "name": "Шоколадница",
-                    "amenity": "cafe"
-                },
-                "name": "Шоколадница",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Pret A Manger": {
-                "tags": {
-                    "name": "Pret A Manger",
-                    "amenity": "cafe"
-                },
-                "name": "Pret A Manger",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Столовая": {
-                "tags": {
-                    "name": "Столовая",
-                    "amenity": "cafe"
-                },
-                "name": "Столовая",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/ドトール": {
-                "tags": {
-                    "name": "ドトール",
-                    "name:en": "DOUTOR",
-                    "amenity": "cafe"
-                },
-                "name": "ドトール",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Tchibo": {
-                "tags": {
-                    "name": "Tchibo",
-                    "amenity": "cafe"
-                },
-                "name": "Tchibo",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Кофе Хауз": {
-                "tags": {
-                    "name": "Кофе Хауз",
-                    "amenity": "cafe"
-                },
-                "name": "Кофе Хауз",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Caribou Coffee": {
-                "tags": {
-                    "name": "Caribou Coffee",
-                    "amenity": "cafe"
-                },
-                "name": "Caribou Coffee",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Уют": {
-                "tags": {
-                    "name": "Уют",
-                    "amenity": "cafe"
-                },
-                "name": "Уют",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Шашлычная": {
-                "tags": {
-                    "name": "Шашлычная",
-                    "amenity": "cafe"
-                },
-                "name": "Шашлычная",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/คาเฟ่ อเมซอน": {
-                "tags": {
-                    "name": "คาเฟ่ อเมซอน",
-                    "amenity": "cafe"
-                },
-                "name": "คาเฟ่ อเมซอน",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Traveler's Coffee": {
-                "tags": {
-                    "name": "Traveler's Coffee",
-                    "amenity": "cafe"
-                },
-                "name": "Traveler's Coffee",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/カフェ・ド・クリエ": {
-                "tags": {
-                    "name": "カフェ・ド・クリエ",
-                    "name:en": "Cafe de CRIE",
-                    "amenity": "cafe"
-                },
-                "name": "カフェ・ド・クリエ",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "amenity/cafe/Cafe Amazon": {
-                "tags": {
-                    "name": "Cafe Amazon",
-                    "amenity": "cafe"
-                },
-                "name": "Cafe Amazon",
-                "icon": "cafe",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address",
-                    "opening_hours",
-                    "smoking"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Budgens": {
-                "tags": {
-                    "name": "Budgens",
-                    "shop": "supermarket"
-                },
-                "name": "Budgens",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Morrisons": {
-                "tags": {
-                    "name": "Morrisons",
-                    "shop": "supermarket"
-                },
-                "name": "Morrisons",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Interspar": {
-                "tags": {
-                    "name": "Interspar",
-                    "shop": "supermarket"
-                },
-                "name": "Interspar",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Merkur": {
-                "tags": {
-                    "name": "Merkur",
-                    "shop": "supermarket"
-                },
-                "name": "Merkur",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Sainsbury's": {
-                "tags": {
-                    "name": "Sainsbury's",
-                    "shop": "supermarket"
-                },
-                "name": "Sainsbury's",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Lidl": {
-                "tags": {
-                    "name": "Lidl",
-                    "shop": "supermarket"
-                },
-                "name": "Lidl",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/EDEKA": {
-                "tags": {
-                    "name": "EDEKA",
-                    "shop": "supermarket"
-                },
-                "name": "EDEKA",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Coles": {
-                "tags": {
-                    "name": "Coles",
-                    "shop": "supermarket"
-                },
-                "name": "Coles",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Iceland": {
-                "tags": {
-                    "name": "Iceland",
-                    "shop": "supermarket"
-                },
-                "name": "Iceland",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Coop": {
-                "tags": {
-                    "name": "Coop",
-                    "shop": "supermarket"
-                },
-                "name": "Coop",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Tesco": {
-                "tags": {
-                    "name": "Tesco",
-                    "shop": "supermarket"
-                },
-                "name": "Tesco",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Woolworths": {
-                "tags": {
-                    "name": "Woolworths",
-                    "shop": "supermarket"
-                },
-                "name": "Woolworths",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Zielpunkt": {
-                "tags": {
-                    "name": "Zielpunkt",
-                    "shop": "supermarket"
-                },
-                "name": "Zielpunkt",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Nahkauf": {
-                "tags": {
-                    "name": "Nahkauf",
-                    "shop": "supermarket"
-                },
-                "name": "Nahkauf",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Billa": {
-                "tags": {
-                    "name": "Billa",
-                    "shop": "supermarket"
-                },
-                "name": "Billa",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Kaufland": {
-                "tags": {
-                    "name": "Kaufland",
-                    "shop": "supermarket"
-                },
-                "name": "Kaufland",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Plus": {
-                "tags": {
-                    "name": "Plus",
-                    "shop": "supermarket"
-                },
-                "name": "Plus",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/ALDI": {
-                "tags": {
-                    "name": "ALDI",
-                    "shop": "supermarket"
-                },
-                "name": "ALDI",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Checkers": {
-                "tags": {
-                    "name": "Checkers",
-                    "shop": "supermarket"
-                },
-                "name": "Checkers",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Tesco Metro": {
-                "tags": {
-                    "name": "Tesco Metro",
-                    "shop": "supermarket"
-                },
-                "name": "Tesco Metro",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/NP": {
-                "tags": {
-                    "name": "NP",
-                    "shop": "supermarket"
-                },
-                "name": "NP",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Penny": {
-                "tags": {
-                    "name": "Penny",
-                    "shop": "supermarket"
-                },
-                "name": "Penny",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Norma": {
-                "tags": {
-                    "name": "Norma",
-                    "shop": "supermarket"
-                },
-                "name": "Norma",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Asda": {
-                "tags": {
-                    "name": "Asda",
-                    "shop": "supermarket"
-                },
-                "name": "Asda",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Netto": {
-                "tags": {
-                    "name": "Netto",
-                    "shop": "supermarket"
-                },
-                "name": "Netto",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/REWE": {
-                "tags": {
-                    "name": "REWE",
-                    "shop": "supermarket"
-                },
-                "name": "REWE",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Rewe": {
-                "tags": {
-                    "name": "Rewe",
-                    "shop": "supermarket"
-                },
-                "name": "Rewe",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Aldi Süd": {
-                "tags": {
-                    "name": "Aldi Süd",
-                    "shop": "supermarket"
-                },
-                "name": "Aldi Süd",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Real": {
-                "tags": {
-                    "name": "Real",
-                    "shop": "supermarket"
-                },
-                "name": "Real",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/King Soopers": {
-                "tags": {
-                    "name": "King Soopers",
-                    "shop": "supermarket"
-                },
-                "name": "King Soopers",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Kiwi": {
-                "tags": {
-                    "name": "Kiwi",
-                    "shop": "supermarket"
-                },
-                "name": "Kiwi",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Edeka": {
-                "tags": {
-                    "name": "Edeka",
-                    "shop": "supermarket"
-                },
-                "name": "Edeka",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Pick n Pay": {
-                "tags": {
-                    "name": "Pick n Pay",
-                    "shop": "supermarket"
-                },
-                "name": "Pick n Pay",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/ICA": {
-                "tags": {
-                    "name": "ICA",
-                    "shop": "supermarket"
-                },
-                "name": "ICA",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Tengelmann": {
-                "tags": {
-                    "name": "Tengelmann",
-                    "shop": "supermarket"
-                },
-                "name": "Tengelmann",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Carrefour": {
-                "tags": {
-                    "name": "Carrefour",
-                    "shop": "supermarket"
-                },
-                "name": "Carrefour",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Waitrose": {
-                "tags": {
-                    "name": "Waitrose",
-                    "shop": "supermarket"
-                },
-                "name": "Waitrose",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Spar": {
-                "tags": {
-                    "name": "Spar",
-                    "shop": "supermarket"
-                },
-                "name": "Spar",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Hofer": {
-                "tags": {
-                    "name": "Hofer",
-                    "shop": "supermarket"
-                },
-                "name": "Hofer",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/M-Preis": {
-                "tags": {
-                    "name": "M-Preis",
-                    "shop": "supermarket"
-                },
-                "name": "M-Preis",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/LIDL": {
-                "tags": {
-                    "name": "LIDL",
-                    "shop": "supermarket"
-                },
-                "name": "LIDL",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/tegut": {
-                "tags": {
-                    "name": "tegut",
-                    "shop": "supermarket"
-                },
-                "name": "tegut",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Sainsbury's Local": {
-                "tags": {
-                    "name": "Sainsbury's Local",
-                    "shop": "supermarket"
-                },
-                "name": "Sainsbury's Local",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/E-Center": {
-                "tags": {
-                    "name": "E-Center",
-                    "shop": "supermarket"
-                },
-                "name": "E-Center",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Aldi Nord": {
-                "tags": {
-                    "name": "Aldi Nord",
-                    "shop": "supermarket"
-                },
-                "name": "Aldi Nord",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/nahkauf": {
-                "tags": {
-                    "name": "nahkauf",
-                    "shop": "supermarket"
-                },
-                "name": "nahkauf",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Meijer": {
-                "tags": {
-                    "name": "Meijer",
-                    "shop": "supermarket"
-                },
-                "name": "Meijer",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Safeway": {
-                "tags": {
-                    "name": "Safeway",
-                    "shop": "supermarket"
-                },
-                "name": "Safeway",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Costco": {
-                "tags": {
-                    "name": "Costco",
-                    "shop": "supermarket"
-                },
-                "name": "Costco",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Albert": {
-                "tags": {
-                    "name": "Albert",
-                    "shop": "supermarket"
-                },
-                "name": "Albert",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Jumbo": {
-                "tags": {
-                    "name": "Jumbo",
-                    "shop": "supermarket"
-                },
-                "name": "Jumbo",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Shoprite": {
-                "tags": {
-                    "name": "Shoprite",
-                    "shop": "supermarket"
-                },
-                "name": "Shoprite",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/MPreis": {
-                "tags": {
-                    "name": "MPreis",
-                    "shop": "supermarket"
-                },
-                "name": "MPreis",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Penny Market": {
-                "tags": {
-                    "name": "Penny Market",
-                    "shop": "supermarket"
-                },
-                "name": "Penny Market",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Tesco Extra": {
-                "tags": {
-                    "name": "Tesco Extra",
-                    "shop": "supermarket"
-                },
-                "name": "Tesco Extra",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Albert Heijn": {
-                "tags": {
-                    "name": "Albert Heijn",
-                    "shop": "supermarket"
-                },
-                "name": "Albert Heijn",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/IGA": {
-                "tags": {
-                    "name": "IGA",
-                    "shop": "supermarket"
-                },
-                "name": "IGA",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Super U": {
-                "tags": {
-                    "name": "Super U",
-                    "shop": "supermarket"
-                },
-                "name": "Super U",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Metro": {
-                "tags": {
-                    "name": "Metro",
-                    "shop": "supermarket"
-                },
-                "name": "Metro",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Neukauf": {
-                "tags": {
-                    "name": "Neukauf",
-                    "shop": "supermarket"
-                },
-                "name": "Neukauf",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Migros": {
-                "tags": {
-                    "name": "Migros",
-                    "shop": "supermarket"
-                },
-                "name": "Migros",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Marktkauf": {
-                "tags": {
-                    "name": "Marktkauf",
-                    "shop": "supermarket"
-                },
-                "name": "Marktkauf",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Delikatesy Centrum": {
-                "tags": {
-                    "name": "Delikatesy Centrum",
-                    "shop": "supermarket"
-                },
-                "name": "Delikatesy Centrum",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/C1000": {
-                "tags": {
-                    "name": "C1000",
-                    "shop": "supermarket"
-                },
-                "name": "C1000",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Hoogvliet": {
-                "tags": {
-                    "name": "Hoogvliet",
-                    "shop": "supermarket"
-                },
-                "name": "Hoogvliet",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/COOP": {
-                "tags": {
-                    "name": "COOP",
-                    "shop": "supermarket"
-                },
-                "name": "COOP",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Food Basics": {
-                "tags": {
-                    "name": "Food Basics",
-                    "shop": "supermarket"
-                },
-                "name": "Food Basics",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Casino": {
-                "tags": {
-                    "name": "Casino",
-                    "shop": "supermarket"
-                },
-                "name": "Casino",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Penny Markt": {
-                "tags": {
-                    "name": "Penny Markt",
-                    "shop": "supermarket"
-                },
-                "name": "Penny Markt",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Giant": {
-                "tags": {
-                    "name": "Giant",
-                    "shop": "supermarket"
-                },
-                "name": "Giant",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Rema 1000": {
-                "tags": {
-                    "name": "Rema 1000",
-                    "shop": "supermarket"
-                },
-                "name": "Rema 1000",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Kaufpark": {
-                "tags": {
-                    "name": "Kaufpark",
-                    "shop": "supermarket"
-                },
-                "name": "Kaufpark",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/ALDI SÜD": {
-                "tags": {
-                    "name": "ALDI SÜD",
-                    "shop": "supermarket"
-                },
-                "name": "ALDI SÜD",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Simply Market": {
-                "tags": {
-                    "name": "Simply Market",
-                    "shop": "supermarket"
-                },
-                "name": "Simply Market",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Konzum": {
-                "tags": {
-                    "name": "Konzum",
-                    "shop": "supermarket"
-                },
-                "name": "Konzum",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Carrefour Express": {
-                "tags": {
-                    "name": "Carrefour Express",
-                    "shop": "supermarket"
-                },
-                "name": "Carrefour Express",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Eurospar": {
-                "tags": {
-                    "name": "Eurospar",
-                    "shop": "supermarket"
-                },
-                "name": "Eurospar",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Mercator": {
-                "tags": {
-                    "name": "Mercator",
-                    "shop": "supermarket"
-                },
-                "name": "Mercator",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Famila": {
-                "tags": {
-                    "name": "Famila",
-                    "shop": "supermarket"
-                },
-                "name": "Famila",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Hemköp": {
-                "tags": {
-                    "name": "Hemköp",
-                    "shop": "supermarket"
-                },
-                "name": "Hemköp",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/real,-": {
-                "tags": {
-                    "name": "real,-",
-                    "shop": "supermarket"
-                },
-                "name": "real,-",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Markant": {
-                "tags": {
-                    "name": "Markant",
-                    "shop": "supermarket"
-                },
-                "name": "Markant",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Volg": {
-                "tags": {
-                    "name": "Volg",
-                    "shop": "supermarket"
-                },
-                "name": "Volg",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Leader Price": {
-                "tags": {
-                    "name": "Leader Price",
-                    "shop": "supermarket"
-                },
-                "name": "Leader Price",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Treff 3000": {
-                "tags": {
-                    "name": "Treff 3000",
-                    "shop": "supermarket"
-                },
-                "name": "Treff 3000",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/SuperBrugsen": {
-                "tags": {
-                    "name": "SuperBrugsen",
-                    "shop": "supermarket"
-                },
-                "name": "SuperBrugsen",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Kaiser's": {
-                "tags": {
-                    "name": "Kaiser's",
-                    "shop": "supermarket"
-                },
-                "name": "Kaiser's",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/K+K": {
-                "tags": {
-                    "name": "K+K",
-                    "shop": "supermarket"
-                },
-                "name": "K+K",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Unimarkt": {
-                "tags": {
-                    "name": "Unimarkt",
-                    "shop": "supermarket"
-                },
-                "name": "Unimarkt",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Carrefour City": {
-                "tags": {
-                    "name": "Carrefour City",
-                    "shop": "supermarket"
-                },
-                "name": "Carrefour City",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Sobeys": {
-                "tags": {
-                    "name": "Sobeys",
-                    "shop": "supermarket"
-                },
-                "name": "Sobeys",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/S-Market": {
-                "tags": {
-                    "name": "S-Market",
-                    "shop": "supermarket"
-                },
-                "name": "S-Market",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Combi": {
-                "tags": {
-                    "name": "Combi",
-                    "shop": "supermarket"
-                },
-                "name": "Combi",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Denner": {
-                "tags": {
-                    "name": "Denner",
-                    "shop": "supermarket"
-                },
-                "name": "Denner",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Konsum": {
-                "tags": {
-                    "name": "Konsum",
-                    "shop": "supermarket"
-                },
-                "name": "Konsum",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Franprix": {
-                "tags": {
-                    "name": "Franprix",
-                    "shop": "supermarket"
-                },
-                "name": "Franprix",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Monoprix": {
-                "tags": {
-                    "name": "Monoprix",
-                    "shop": "supermarket"
-                },
-                "name": "Monoprix",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Diska": {
-                "tags": {
-                    "name": "Diska",
-                    "shop": "supermarket"
-                },
-                "name": "Diska",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/PENNY": {
-                "tags": {
-                    "name": "PENNY",
-                    "shop": "supermarket"
-                },
-                "name": "PENNY",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Dia": {
-                "tags": {
-                    "name": "Dia",
-                    "shop": "supermarket"
-                },
-                "name": "Dia",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Giant Eagle": {
-                "tags": {
-                    "name": "Giant Eagle",
-                    "shop": "supermarket"
-                },
-                "name": "Giant Eagle",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/NORMA": {
-                "tags": {
-                    "name": "NORMA",
-                    "shop": "supermarket"
-                },
-                "name": "NORMA",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/AD Delhaize": {
-                "tags": {
-                    "name": "AD Delhaize",
-                    "shop": "supermarket"
-                },
-                "name": "AD Delhaize",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Auchan": {
-                "tags": {
-                    "name": "Auchan",
-                    "shop": "supermarket"
-                },
-                "name": "Auchan",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Mercadona": {
-                "tags": {
-                    "name": "Mercadona",
-                    "shop": "supermarket"
-                },
-                "name": "Mercadona",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Consum": {
-                "tags": {
-                    "name": "Consum",
-                    "shop": "supermarket"
-                },
-                "name": "Consum",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Carrefour Market": {
-                "tags": {
-                    "name": "Carrefour Market",
-                    "shop": "supermarket"
-                },
-                "name": "Carrefour Market",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Whole Foods": {
-                "tags": {
-                    "name": "Whole Foods",
-                    "shop": "supermarket"
-                },
-                "name": "Whole Foods",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Pam": {
-                "tags": {
-                    "name": "Pam",
-                    "shop": "supermarket"
-                },
-                "name": "Pam",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/sky": {
-                "tags": {
-                    "name": "sky",
-                    "shop": "supermarket"
-                },
-                "name": "sky",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Despar": {
-                "tags": {
-                    "name": "Despar",
-                    "shop": "supermarket"
-                },
-                "name": "Despar",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Eroski": {
-                "tags": {
-                    "name": "Eroski",
-                    "shop": "supermarket"
-                },
-                "name": "Eroski",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Maxi": {
-                "tags": {
-                    "name": "Maxi",
-                    "shop": "supermarket"
-                },
-                "name": "Maxi",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Colruyt": {
-                "tags": {
-                    "name": "Colruyt",
-                    "shop": "supermarket"
-                },
-                "name": "Colruyt",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/The Co-operative": {
-                "tags": {
-                    "name": "The Co-operative",
-                    "shop": "supermarket"
-                },
-                "name": "The Co-operative",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Intermarché": {
-                "tags": {
-                    "name": "Intermarché",
-                    "shop": "supermarket"
-                },
-                "name": "Intermarché",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Delhaize": {
-                "tags": {
-                    "name": "Delhaize",
-                    "shop": "supermarket"
-                },
-                "name": "Delhaize",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/CBA": {
-                "tags": {
-                    "name": "CBA",
-                    "shop": "supermarket"
-                },
-                "name": "CBA",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Shopi": {
-                "tags": {
-                    "name": "Shopi",
-                    "shop": "supermarket"
-                },
-                "name": "Shopi",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Walmart": {
-                "tags": {
-                    "name": "Walmart",
-                    "shop": "supermarket"
-                },
-                "name": "Walmart",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Kroger": {
-                "tags": {
-                    "name": "Kroger",
-                    "shop": "supermarket"
-                },
-                "name": "Kroger",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Albertsons": {
-                "tags": {
-                    "name": "Albertsons",
-                    "shop": "supermarket"
-                },
-                "name": "Albertsons",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Trader Joe's": {
-                "tags": {
-                    "name": "Trader Joe's",
-                    "shop": "supermarket"
-                },
-                "name": "Trader Joe's",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Feneberg": {
-                "tags": {
-                    "name": "Feneberg",
-                    "shop": "supermarket"
-                },
-                "name": "Feneberg",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/denn's Biomarkt": {
-                "tags": {
-                    "name": "denn's Biomarkt",
-                    "shop": "supermarket"
-                },
-                "name": "denn's Biomarkt",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Kvickly": {
-                "tags": {
-                    "name": "Kvickly",
-                    "shop": "supermarket"
-                },
-                "name": "Kvickly",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Makro": {
-                "tags": {
-                    "name": "Makro",
-                    "shop": "supermarket"
-                },
-                "name": "Makro",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Dico": {
-                "tags": {
-                    "name": "Dico",
-                    "shop": "supermarket"
-                },
-                "name": "Dico",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Nah & Frisch": {
-                "tags": {
-                    "name": "Nah & Frisch",
-                    "shop": "supermarket"
-                },
-                "name": "Nah & Frisch",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Champion": {
-                "tags": {
-                    "name": "Champion",
-                    "shop": "supermarket"
-                },
-                "name": "Champion",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/ICA Supermarket": {
-                "tags": {
-                    "name": "ICA Supermarket",
-                    "shop": "supermarket"
-                },
-                "name": "ICA Supermarket",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Fakta": {
-                "tags": {
-                    "name": "Fakta",
-                    "shop": "supermarket"
-                },
-                "name": "Fakta",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Магнит": {
-                "tags": {
-                    "name": "Магнит",
-                    "shop": "supermarket"
-                },
-                "name": "Магнит",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Caprabo": {
-                "tags": {
-                    "name": "Caprabo",
-                    "shop": "supermarket"
-                },
-                "name": "Caprabo",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Famiglia Cooperativa": {
-                "tags": {
-                    "name": "Famiglia Cooperativa",
-                    "shop": "supermarket"
-                },
-                "name": "Famiglia Cooperativa",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Народная 7Я семьЯ": {
-                "tags": {
-                    "name": "Народная 7Я семьЯ",
-                    "shop": "supermarket"
-                },
-                "name": "Народная 7Я семьЯ",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Esselunga": {
-                "tags": {
-                    "name": "Esselunga",
-                    "shop": "supermarket"
-                },
-                "name": "Esselunga",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Maxima": {
-                "tags": {
-                    "name": "Maxima",
-                    "shop": "supermarket"
-                },
-                "name": "Maxima",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Wasgau": {
-                "tags": {
-                    "name": "Wasgau",
-                    "shop": "supermarket"
-                },
-                "name": "Wasgau",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Pingo Doce": {
-                "tags": {
-                    "name": "Pingo Doce",
-                    "shop": "supermarket"
-                },
-                "name": "Pingo Doce",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Match": {
-                "tags": {
-                    "name": "Match",
-                    "shop": "supermarket"
-                },
-                "name": "Match",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Profi": {
-                "tags": {
-                    "name": "Profi",
-                    "shop": "supermarket"
-                },
-                "name": "Profi",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Lider": {
-                "tags": {
-                    "name": "Lider",
-                    "shop": "supermarket"
-                },
-                "name": "Lider",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Unimarc": {
-                "tags": {
-                    "name": "Unimarc",
-                    "shop": "supermarket"
-                },
-                "name": "Unimarc",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Co-operative Food": {
-                "tags": {
-                    "name": "Co-operative Food",
-                    "shop": "supermarket"
-                },
-                "name": "Co-operative Food",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Santa Isabel": {
-                "tags": {
-                    "name": "Santa Isabel",
-                    "shop": "supermarket"
-                },
-                "name": "Santa Isabel",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Седьмой континент": {
-                "tags": {
-                    "name": "Седьмой континент",
-                    "shop": "supermarket"
-                },
-                "name": "Седьмой континент",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/HIT": {
-                "tags": {
-                    "name": "HIT",
-                    "shop": "supermarket"
-                },
-                "name": "HIT",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Rimi": {
-                "tags": {
-                    "name": "Rimi",
-                    "shop": "supermarket"
-                },
-                "name": "Rimi",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Conad": {
-                "tags": {
-                    "name": "Conad",
-                    "shop": "supermarket"
-                },
-                "name": "Conad",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Фуршет": {
-                "tags": {
-                    "name": "Фуршет",
-                    "shop": "supermarket"
-                },
-                "name": "Фуршет",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Willys": {
-                "tags": {
-                    "name": "Willys",
-                    "shop": "supermarket"
-                },
-                "name": "Willys",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Farmfoods": {
-                "tags": {
-                    "name": "Farmfoods",
-                    "shop": "supermarket"
-                },
-                "name": "Farmfoods",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/U Express": {
-                "tags": {
-                    "name": "U Express",
-                    "shop": "supermarket"
-                },
-                "name": "U Express",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Фора": {
-                "tags": {
-                    "name": "Фора",
-                    "shop": "supermarket"
-                },
-                "name": "Фора",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Dunnes Stores": {
-                "tags": {
-                    "name": "Dunnes Stores",
-                    "shop": "supermarket"
-                },
-                "name": "Dunnes Stores",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Сільпо": {
-                "tags": {
-                    "name": "Сільпо",
-                    "shop": "supermarket"
-                },
-                "name": "Сільпо",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/マルエツ": {
-                "tags": {
-                    "name": "マルエツ",
-                    "shop": "supermarket"
-                },
-                "name": "マルエツ",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Piggly Wiggly": {
-                "tags": {
-                    "name": "Piggly Wiggly",
-                    "shop": "supermarket"
-                },
-                "name": "Piggly Wiggly",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Crai": {
-                "tags": {
-                    "name": "Crai",
-                    "shop": "supermarket"
-                },
-                "name": "Crai",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/El Árbol": {
-                "tags": {
-                    "name": "El Árbol",
-                    "shop": "supermarket"
-                },
-                "name": "El Árbol",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Centre Commercial E. Leclerc": {
-                "tags": {
-                    "name": "Centre Commercial E. Leclerc",
-                    "shop": "supermarket"
-                },
-                "name": "Centre Commercial E. Leclerc",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Foodland": {
-                "tags": {
-                    "name": "Foodland",
-                    "shop": "supermarket"
-                },
-                "name": "Foodland",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Super Brugsen": {
-                "tags": {
-                    "name": "Super Brugsen",
-                    "shop": "supermarket"
-                },
-                "name": "Super Brugsen",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Дикси": {
-                "tags": {
-                    "name": "Дикси",
-                    "shop": "supermarket"
-                },
-                "name": "Дикси",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Пятёрочка": {
-                "tags": {
-                    "name": "Пятёрочка",
-                    "shop": "supermarket"
-                },
-                "name": "Пятёрочка",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Publix": {
-                "tags": {
-                    "name": "Publix",
-                    "shop": "supermarket"
-                },
-                "name": "Publix",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Føtex": {
-                "tags": {
-                    "name": "Føtex",
-                    "shop": "supermarket"
-                },
-                "name": "Føtex",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/coop": {
-                "tags": {
-                    "name": "coop",
-                    "shop": "supermarket"
-                },
-                "name": "coop",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Coop Konsum": {
-                "tags": {
-                    "name": "Coop Konsum",
-                    "shop": "supermarket"
-                },
-                "name": "Coop Konsum",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Carrefour Contact": {
-                "tags": {
-                    "name": "Carrefour Contact",
-                    "shop": "supermarket"
-                },
-                "name": "Carrefour Contact",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/SPAR": {
-                "tags": {
-                    "name": "SPAR",
-                    "shop": "supermarket"
-                },
-                "name": "SPAR",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/No Frills": {
-                "tags": {
-                    "name": "No Frills",
-                    "shop": "supermarket"
-                },
-                "name": "No Frills",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Plodine": {
-                "tags": {
-                    "name": "Plodine",
-                    "shop": "supermarket"
-                },
-                "name": "Plodine",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/ADEG": {
-                "tags": {
-                    "name": "ADEG",
-                    "shop": "supermarket"
-                },
-                "name": "ADEG",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Minipreço": {
-                "tags": {
-                    "name": "Minipreço",
-                    "shop": "supermarket"
-                },
-                "name": "Minipreço",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Biedronka": {
-                "tags": {
-                    "name": "Biedronka",
-                    "shop": "supermarket"
-                },
-                "name": "Biedronka",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/The Co-operative Food": {
-                "tags": {
-                    "name": "The Co-operative Food",
-                    "shop": "supermarket"
-                },
-                "name": "The Co-operative Food",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Eurospin": {
-                "tags": {
-                    "name": "Eurospin",
-                    "shop": "supermarket"
-                },
-                "name": "Eurospin",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Семья": {
-                "tags": {
-                    "name": "Семья",
-                    "shop": "supermarket"
-                },
-                "name": "Семья",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Gadis": {
-                "tags": {
-                    "name": "Gadis",
-                    "shop": "supermarket"
-                },
-                "name": "Gadis",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Евроопт": {
-                "tags": {
-                    "name": "Евроопт",
-                    "shop": "supermarket"
-                },
-                "name": "Евроопт",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Квартал": {
-                "tags": {
-                    "name": "Квартал",
-                    "shop": "supermarket"
-                },
-                "name": "Квартал",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/New World": {
-                "tags": {
-                    "name": "New World",
-                    "shop": "supermarket"
-                },
-                "name": "New World",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Countdown": {
-                "tags": {
-                    "name": "Countdown",
-                    "shop": "supermarket"
-                },
-                "name": "Countdown",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Reliance Fresh": {
-                "tags": {
-                    "name": "Reliance Fresh",
-                    "shop": "supermarket"
-                },
-                "name": "Reliance Fresh",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Stokrotka": {
-                "tags": {
-                    "name": "Stokrotka",
-                    "shop": "supermarket"
-                },
-                "name": "Stokrotka",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Coop Jednota": {
-                "tags": {
-                    "name": "Coop Jednota",
-                    "shop": "supermarket"
-                },
-                "name": "Coop Jednota",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Fred Meyer": {
-                "tags": {
-                    "name": "Fred Meyer",
-                    "shop": "supermarket"
-                },
-                "name": "Fred Meyer",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Irma": {
-                "tags": {
-                    "name": "Irma",
-                    "shop": "supermarket"
-                },
-                "name": "Irma",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Continente": {
-                "tags": {
-                    "name": "Continente",
-                    "shop": "supermarket"
-                },
-                "name": "Continente",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Price Chopper": {
-                "tags": {
-                    "name": "Price Chopper",
-                    "shop": "supermarket"
-                },
-                "name": "Price Chopper",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Game": {
-                "tags": {
-                    "name": "Game",
-                    "shop": "supermarket"
-                },
-                "name": "Game",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Soriana": {
-                "tags": {
-                    "name": "Soriana",
-                    "shop": "supermarket"
-                },
-                "name": "Soriana",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Alimerka": {
-                "tags": {
-                    "name": "Alimerka",
-                    "shop": "supermarket"
-                },
-                "name": "Alimerka",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Piotr i Paweł": {
-                "tags": {
-                    "name": "Piotr i Paweł",
-                    "shop": "supermarket"
-                },
-                "name": "Piotr i Paweł",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Перекресток": {
-                "tags": {
-                    "name": "Перекресток",
-                    "shop": "supermarket"
-                },
-                "name": "Перекресток",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Maxima X": {
-                "tags": {
-                    "name": "Maxima X",
-                    "shop": "supermarket"
-                },
-                "name": "Maxima X",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Карусель": {
-                "tags": {
-                    "name": "Карусель",
-                    "shop": "supermarket"
-                },
-                "name": "Карусель",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/ALDI Nord": {
-                "tags": {
-                    "name": "ALDI Nord",
-                    "shop": "supermarket"
-                },
-                "name": "ALDI Nord",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Condis": {
-                "tags": {
-                    "name": "Condis",
-                    "shop": "supermarket"
-                },
-                "name": "Condis",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Sam's Club": {
-                "tags": {
-                    "name": "Sam's Club",
-                    "shop": "supermarket"
-                },
-                "name": "Sam's Club",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Копейка": {
-                "tags": {
-                    "name": "Копейка",
-                    "shop": "supermarket"
-                },
-                "name": "Копейка",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Géant Casino": {
-                "tags": {
-                    "name": "Géant Casino",
-                    "shop": "supermarket"
-                },
-                "name": "Géant Casino",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/ASDA": {
-                "tags": {
-                    "name": "ASDA",
-                    "shop": "supermarket"
-                },
-                "name": "ASDA",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Intermarche": {
-                "tags": {
-                    "name": "Intermarche",
-                    "shop": "supermarket"
-                },
-                "name": "Intermarche",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Stop & Shop": {
-                "tags": {
-                    "name": "Stop & Shop",
-                    "shop": "supermarket"
-                },
-                "name": "Stop & Shop",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Food Lion": {
-                "tags": {
-                    "name": "Food Lion",
-                    "shop": "supermarket"
-                },
-                "name": "Food Lion",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Harris Teeter": {
-                "tags": {
-                    "name": "Harris Teeter",
-                    "shop": "supermarket"
-                },
-                "name": "Harris Teeter",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Foodworks": {
-                "tags": {
-                    "name": "Foodworks",
-                    "shop": "supermarket"
-                },
-                "name": "Foodworks",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Polo Market": {
-                "tags": {
-                    "name": "Polo Market",
-                    "shop": "supermarket"
-                },
-                "name": "Polo Market",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Лента": {
-                "tags": {
-                    "name": "Лента",
-                    "shop": "supermarket"
-                },
-                "name": "Лента",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/西友 (SEIYU)": {
-                "tags": {
-                    "name": "西友 (SEIYU)",
-                    "shop": "supermarket"
-                },
-                "name": "西友 (SEIYU)",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/H-E-B": {
-                "tags": {
-                    "name": "H-E-B",
-                    "shop": "supermarket"
-                },
-                "name": "H-E-B",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Атак": {
-                "tags": {
-                    "name": "Атак",
-                    "shop": "supermarket"
-                },
-                "name": "Атак",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Полушка": {
-                "tags": {
-                    "name": "Полушка",
-                    "shop": "supermarket"
-                },
-                "name": "Полушка",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Extra": {
-                "tags": {
-                    "name": "Extra",
-                    "shop": "supermarket"
-                },
-                "name": "Extra",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Sigma": {
-                "tags": {
-                    "name": "Sigma",
-                    "shop": "supermarket"
-                },
-                "name": "Sigma",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/АТБ": {
-                "tags": {
-                    "name": "АТБ",
-                    "shop": "supermarket"
-                },
-                "name": "АТБ",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Bodega Aurrera": {
-                "tags": {
-                    "name": "Bodega Aurrera",
-                    "shop": "supermarket"
-                },
-                "name": "Bodega Aurrera",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Tesco Lotus": {
-                "tags": {
-                    "name": "Tesco Lotus",
-                    "shop": "supermarket"
-                },
-                "name": "Tesco Lotus",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Мария-Ра": {
-                "tags": {
-                    "name": "Мария-Ра",
-                    "shop": "supermarket"
-                },
-                "name": "Мария-Ра",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Магнолия": {
-                "tags": {
-                    "name": "Магнолия",
-                    "shop": "supermarket"
-                },
-                "name": "Магнолия",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Монетка": {
-                "tags": {
-                    "name": "Монетка",
-                    "shop": "supermarket"
-                },
-                "name": "Монетка",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Hy-Vee": {
-                "tags": {
-                    "name": "Hy-Vee",
-                    "shop": "supermarket"
-                },
-                "name": "Hy-Vee",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Walmart Supercenter": {
-                "tags": {
-                    "name": "Walmart Supercenter",
-                    "shop": "supermarket"
-                },
-                "name": "Walmart Supercenter",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Hannaford": {
-                "tags": {
-                    "name": "Hannaford",
-                    "shop": "supermarket"
-                },
-                "name": "Hannaford",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Wegmans": {
-                "tags": {
-                    "name": "Wegmans",
-                    "shop": "supermarket"
-                },
-                "name": "Wegmans",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/業務スーパー": {
-                "tags": {
-                    "name": "業務スーパー",
-                    "shop": "supermarket"
-                },
-                "name": "業務スーパー",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Norfa XL": {
-                "tags": {
-                    "name": "Norfa XL",
-                    "shop": "supermarket"
-                },
-                "name": "Norfa XL",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/ヨークマート (YorkMart)": {
-                "tags": {
-                    "name": "ヨークマート (YorkMart)",
-                    "shop": "supermarket"
-                },
-                "name": "ヨークマート (YorkMart)",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/supermarket/Leclerc Drive": {
-                "tags": {
-                    "name": "Leclerc Drive",
-                    "shop": "supermarket"
-                },
-                "name": "Leclerc Drive",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/Media Markt": {
-                "tags": {
-                    "name": "Media Markt",
-                    "shop": "electronics"
-                },
-                "name": "Media Markt",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/Maplin": {
-                "tags": {
-                    "name": "Maplin",
-                    "shop": "electronics"
-                },
-                "name": "Maplin",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/Best Buy": {
-                "tags": {
-                    "name": "Best Buy",
-                    "shop": "electronics"
-                },
-                "name": "Best Buy",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/Future Shop": {
-                "tags": {
-                    "name": "Future Shop",
-                    "shop": "electronics"
-                },
-                "name": "Future Shop",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/Saturn": {
-                "tags": {
-                    "name": "Saturn",
-                    "shop": "electronics"
-                },
-                "name": "Saturn",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/Currys": {
-                "tags": {
-                    "name": "Currys",
-                    "shop": "electronics"
-                },
-                "name": "Currys",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/Radio Shack": {
-                "tags": {
-                    "name": "Radio Shack",
-                    "shop": "electronics"
-                },
-                "name": "Radio Shack",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/Euronics": {
-                "tags": {
-                    "name": "Euronics",
-                    "shop": "electronics"
-                },
-                "name": "Euronics",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/Expert": {
-                "tags": {
-                    "name": "Expert",
-                    "shop": "electronics"
-                },
-                "name": "Expert",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/Эльдорадо": {
-                "tags": {
-                    "name": "Эльдорадо",
-                    "shop": "electronics"
-                },
-                "name": "Эльдорадо",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/Darty": {
-                "tags": {
-                    "name": "Darty",
-                    "shop": "electronics"
-                },
-                "name": "Darty",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/М.Видео": {
-                "tags": {
-                    "name": "М.Видео",
-                    "shop": "electronics"
-                },
-                "name": "М.Видео",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/electronics/ヤマダ電機": {
-                "tags": {
-                    "name": "ヤマダ電機",
-                    "shop": "electronics"
-                },
-                "name": "ヤマダ電機",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/McColl's": {
-                "tags": {
-                    "name": "McColl's",
-                    "shop": "convenience"
-                },
-                "name": "McColl's",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Tesco Express": {
-                "tags": {
-                    "name": "Tesco Express",
-                    "shop": "convenience"
-                },
-                "name": "Tesco Express",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/One Stop": {
-                "tags": {
-                    "name": "One Stop",
-                    "shop": "convenience"
-                },
-                "name": "One Stop",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Londis": {
-                "tags": {
-                    "name": "Londis",
-                    "shop": "convenience"
-                },
-                "name": "Londis",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/7-Eleven": {
-                "tags": {
-                    "name": "7-Eleven",
-                    "shop": "convenience"
-                },
-                "name": "7-Eleven",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Sale": {
-                "tags": {
-                    "name": "Sale",
-                    "shop": "convenience"
-                },
-                "name": "Sale",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Siwa": {
-                "tags": {
-                    "name": "Siwa",
-                    "shop": "convenience"
-                },
-                "name": "Siwa",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/COOP Jednota": {
-                "tags": {
-                    "name": "COOP Jednota",
-                    "shop": "convenience"
-                },
-                "name": "COOP Jednota",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Mac's": {
-                "tags": {
-                    "name": "Mac's",
-                    "shop": "convenience"
-                },
-                "name": "Mac's",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Alepa": {
-                "tags": {
-                    "name": "Alepa",
-                    "shop": "convenience"
-                },
-                "name": "Alepa",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Hasty Market": {
-                "tags": {
-                    "name": "Hasty Market",
-                    "shop": "convenience"
-                },
-                "name": "Hasty Market",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/K-Market": {
-                "tags": {
-                    "name": "K-Market",
-                    "shop": "convenience"
-                },
-                "name": "K-Market",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Costcutter": {
-                "tags": {
-                    "name": "Costcutter",
-                    "shop": "convenience"
-                },
-                "name": "Costcutter",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Valintatalo": {
-                "tags": {
-                    "name": "Valintatalo",
-                    "shop": "convenience"
-                },
-                "name": "Valintatalo",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Circle K": {
-                "tags": {
-                    "name": "Circle K",
-                    "shop": "convenience"
-                },
-                "name": "Circle K",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/セブンイレブン": {
-                "tags": {
-                    "name": "セブンイレブン",
-                    "name:en": "7-Eleven",
-                    "shop": "convenience"
-                },
-                "name": "セブンイレブン",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/ローソン": {
-                "tags": {
-                    "name": "ローソン",
-                    "name:en": "LAWSON",
-                    "shop": "convenience"
-                },
-                "name": "ローソン",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Petit Casino": {
-                "tags": {
-                    "name": "Petit Casino",
-                    "shop": "convenience"
-                },
-                "name": "Petit Casino",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Mace": {
-                "tags": {
-                    "name": "Mace",
-                    "shop": "convenience"
-                },
-                "name": "Mace",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Mini Market": {
-                "tags": {
-                    "name": "Mini Market",
-                    "shop": "convenience"
-                },
-                "name": "Mini Market",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Nisa Local": {
-                "tags": {
-                    "name": "Nisa Local",
-                    "shop": "convenience"
-                },
-                "name": "Nisa Local",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Dorfladen": {
-                "tags": {
-                    "name": "Dorfladen",
-                    "shop": "convenience"
-                },
-                "name": "Dorfladen",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Продукты": {
-                "tags": {
-                    "name": "Продукты",
-                    "shop": "convenience"
-                },
-                "name": "Продукты",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Mini Stop": {
-                "tags": {
-                    "name": "Mini Stop",
-                    "shop": "convenience"
-                },
-                "name": "Mini Stop",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/LAWSON": {
-                "tags": {
-                    "name": "LAWSON",
-                    "shop": "convenience"
-                },
-                "name": "LAWSON",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/デイリーヤマザキ": {
-                "tags": {
-                    "name": "デイリーヤマザキ",
-                    "shop": "convenience"
-                },
-                "name": "デイリーヤマザキ",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Надежда": {
-                "tags": {
-                    "name": "Надежда",
-                    "shop": "convenience"
-                },
-                "name": "Надежда",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Nisa": {
-                "tags": {
-                    "name": "Nisa",
-                    "shop": "convenience"
-                },
-                "name": "Nisa",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Premier": {
-                "tags": {
-                    "name": "Premier",
-                    "shop": "convenience"
-                },
-                "name": "Premier",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/ABC": {
-                "tags": {
-                    "name": "ABC",
-                    "shop": "convenience"
-                },
-                "name": "ABC",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/ミニストップ": {
-                "tags": {
-                    "name": "ミニストップ",
-                    "name:en": "MINISTOP",
-                    "shop": "convenience"
-                },
-                "name": "ミニストップ",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/サンクス": {
-                "tags": {
-                    "name": "サンクス",
-                    "name:en": "sunkus",
-                    "shop": "convenience"
-                },
-                "name": "サンクス",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/スリーエフ": {
-                "tags": {
-                    "name": "スリーエフ",
-                    "shop": "convenience"
-                },
-                "name": "スリーエフ",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/8 à Huit": {
-                "tags": {
-                    "name": "8 à Huit",
-                    "shop": "convenience"
-                },
-                "name": "8 à Huit",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Żabka": {
-                "tags": {
-                    "name": "Żabka",
-                    "shop": "convenience"
-                },
-                "name": "Żabka",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Almacen": {
-                "tags": {
-                    "name": "Almacen",
-                    "shop": "convenience"
-                },
-                "name": "Almacen",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Vival": {
-                "tags": {
-                    "name": "Vival",
-                    "shop": "convenience"
-                },
-                "name": "Vival",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/FamilyMart": {
-                "tags": {
-                    "name": "FamilyMart",
-                    "shop": "convenience"
-                },
-                "name": "FamilyMart",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/ファミリーマート": {
-                "tags": {
-                    "name": "ファミリーマート",
-                    "name:en": "FamilyMart",
-                    "shop": "convenience"
-                },
-                "name": "ファミリーマート",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Sunkus": {
-                "tags": {
-                    "name": "Sunkus",
-                    "shop": "convenience"
-                },
-                "name": "Sunkus",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/セブンイレブン(Seven-Eleven)": {
-                "tags": {
-                    "name": "セブンイレブン(Seven-Eleven)",
-                    "shop": "convenience"
-                },
-                "name": "セブンイレブン(Seven-Eleven)",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Jednota": {
-                "tags": {
-                    "name": "Jednota",
-                    "shop": "convenience"
-                },
-                "name": "Jednota",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Магазин": {
-                "tags": {
-                    "name": "Магазин",
-                    "shop": "convenience"
-                },
-                "name": "Магазин",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Гастроном": {
-                "tags": {
-                    "name": "Гастроном",
-                    "shop": "convenience"
-                },
-                "name": "Гастроном",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Sklep spożywczy": {
-                "tags": {
-                    "name": "Sklep spożywczy",
-                    "shop": "convenience"
-                },
-                "name": "Sklep spożywczy",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Centra": {
-                "tags": {
-                    "name": "Centra",
-                    "shop": "convenience"
-                },
-                "name": "Centra",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/サークルK": {
-                "tags": {
-                    "name": "サークルK",
-                    "name:en": "Circle K",
-                    "shop": "convenience"
-                },
-                "name": "サークルK",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Wawa": {
-                "tags": {
-                    "name": "Wawa",
-                    "shop": "convenience"
-                },
-                "name": "Wawa",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Proxi": {
-                "tags": {
-                    "name": "Proxi",
-                    "shop": "convenience"
-                },
-                "name": "Proxi",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Универсам": {
-                "tags": {
-                    "name": "Универсам",
-                    "shop": "convenience"
-                },
-                "name": "Универсам",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Groszek": {
-                "tags": {
-                    "name": "Groszek",
-                    "shop": "convenience"
-                },
-                "name": "Groszek",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Select": {
-                "tags": {
-                    "name": "Select",
-                    "shop": "convenience"
-                },
-                "name": "Select",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Večerka": {
-                "tags": {
-                    "name": "Večerka",
-                    "shop": "convenience"
-                },
-                "name": "Večerka",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Potraviny": {
-                "tags": {
-                    "name": "Potraviny",
-                    "shop": "convenience"
-                },
-                "name": "Potraviny",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Смак": {
-                "tags": {
-                    "name": "Смак",
-                    "shop": "convenience"
-                },
-                "name": "Смак",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Эконом": {
-                "tags": {
-                    "name": "Эконом",
-                    "shop": "convenience"
-                },
-                "name": "Эконом",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Березка": {
-                "tags": {
-                    "name": "Березка",
-                    "shop": "convenience"
-                },
-                "name": "Березка",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Społem": {
-                "tags": {
-                    "name": "Społem",
-                    "shop": "convenience"
-                },
-                "name": "Społem",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Cumberland Farms": {
-                "tags": {
-                    "name": "Cumberland Farms",
-                    "shop": "convenience"
-                },
-                "name": "Cumberland Farms",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Tesco Lotus Express": {
-                "tags": {
-                    "name": "Tesco Lotus Express",
-                    "shop": "convenience"
-                },
-                "name": "Tesco Lotus Express",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Kiosk": {
-                "tags": {
-                    "name": "Kiosk",
-                    "shop": "convenience"
-                },
-                "name": "Kiosk",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/24 часа": {
-                "tags": {
-                    "name": "24 часа",
-                    "shop": "convenience"
-                },
-                "name": "24 часа",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Минимаркет": {
-                "tags": {
-                    "name": "Минимаркет",
-                    "shop": "convenience"
-                },
-                "name": "Минимаркет",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Oxxo": {
-                "tags": {
-                    "name": "Oxxo",
-                    "shop": "convenience"
-                },
-                "name": "Oxxo",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/abc": {
-                "tags": {
-                    "name": "abc",
-                    "shop": "convenience"
-                },
-                "name": "abc",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/7/11": {
-                "tags": {
-                    "name": "7/11",
-                    "shop": "convenience"
-                },
-                "name": "7/11",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Stewart's": {
-                "tags": {
-                    "name": "Stewart's",
-                    "shop": "convenience"
-                },
-                "name": "Stewart's",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Продукти": {
-                "tags": {
-                    "name": "Продукти",
-                    "shop": "convenience"
-                },
-                "name": "Продукти",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/ローソンストア100 (LAWSON STORE 100)": {
-                "tags": {
-                    "name": "ローソンストア100 (LAWSON STORE 100)",
-                    "shop": "convenience"
-                },
-                "name": "ローソンストア100 (LAWSON STORE 100)",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Радуга": {
-                "tags": {
-                    "name": "Радуга",
-                    "shop": "convenience"
-                },
-                "name": "Радуга",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/ローソンストア100": {
-                "tags": {
-                    "name": "ローソンストア100",
-                    "shop": "convenience"
-                },
-                "name": "ローソンストア100",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/เซเว่นอีเลฟเว่น": {
-                "tags": {
-                    "name": "เซเว่นอีเลฟเว่น",
-                    "shop": "convenience"
-                },
-                "name": "เซเว่นอีเลฟเว่น",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Spożywczy": {
-                "tags": {
-                    "name": "Spożywczy",
-                    "shop": "convenience"
-                },
-                "name": "Spożywczy",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Фортуна": {
-                "tags": {
-                    "name": "Фортуна",
-                    "shop": "convenience"
-                },
-                "name": "Фортуна",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Picard": {
-                "tags": {
-                    "name": "Picard",
-                    "shop": "convenience"
-                },
-                "name": "Picard",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Four Square": {
-                "tags": {
-                    "name": "Four Square",
-                    "shop": "convenience"
-                },
-                "name": "Four Square",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Визит": {
-                "tags": {
-                    "name": "Визит",
-                    "shop": "convenience"
-                },
-                "name": "Визит",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Авоська": {
-                "tags": {
-                    "name": "Авоська",
-                    "shop": "convenience"
-                },
-                "name": "Авоська",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Dollar General": {
-                "tags": {
-                    "name": "Dollar General",
-                    "shop": "convenience"
-                },
-                "name": "Dollar General",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Studenac": {
-                "tags": {
-                    "name": "Studenac",
-                    "shop": "convenience"
-                },
-                "name": "Studenac",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Central Convenience Store": {
-                "tags": {
-                    "name": "Central Convenience Store",
-                    "shop": "convenience"
-                },
-                "name": "Central Convenience Store",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/продукты": {
-                "tags": {
-                    "name": "продукты",
-                    "shop": "convenience"
-                },
-                "name": "продукты",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Кулинария": {
-                "tags": {
-                    "name": "Кулинария",
-                    "shop": "convenience"
-                },
-                "name": "Кулинария",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/全家": {
-                "tags": {
-                    "name": "全家",
-                    "shop": "convenience"
-                },
-                "name": "全家",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Мечта": {
-                "tags": {
-                    "name": "Мечта",
-                    "shop": "convenience"
-                },
-                "name": "Мечта",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Epicerie": {
-                "tags": {
-                    "name": "Epicerie",
-                    "shop": "convenience"
-                },
-                "name": "Epicerie",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Кировский": {
-                "tags": {
-                    "name": "Кировский",
-                    "shop": "convenience"
-                },
-                "name": "Кировский",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Food Mart": {
-                "tags": {
-                    "name": "Food Mart",
-                    "shop": "convenience"
-                },
-                "name": "Food Mart",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Delikatesy": {
-                "tags": {
-                    "name": "Delikatesy",
-                    "shop": "convenience"
-                },
-                "name": "Delikatesy",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/ポプラ": {
-                "tags": {
-                    "name": "ポプラ",
-                    "shop": "convenience"
-                },
-                "name": "ポプラ",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Lewiatan": {
-                "tags": {
-                    "name": "Lewiatan",
-                    "shop": "convenience"
-                },
-                "name": "Lewiatan",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Продуктовый магазин": {
-                "tags": {
-                    "name": "Продуктовый магазин",
-                    "shop": "convenience"
-                },
-                "name": "Продуктовый магазин",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Продуктовый": {
-                "tags": {
-                    "name": "Продуктовый",
-                    "shop": "convenience"
-                },
-                "name": "Продуктовый",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/セイコーマート (Seicomart)": {
-                "tags": {
-                    "name": "セイコーマート (Seicomart)",
-                    "shop": "convenience"
-                },
-                "name": "セイコーマート (Seicomart)",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Виктория": {
-                "tags": {
-                    "name": "Виктория",
-                    "shop": "convenience"
-                },
-                "name": "Виктория",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Весна": {
-                "tags": {
-                    "name": "Весна",
-                    "shop": "convenience"
-                },
-                "name": "Весна",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Mini Market Non-Stop": {
-                "tags": {
-                    "name": "Mini Market Non-Stop",
-                    "shop": "convenience"
-                },
-                "name": "Mini Market Non-Stop",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Копеечка": {
-                "tags": {
-                    "name": "Копеечка",
-                    "shop": "convenience"
-                },
-                "name": "Копеечка",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Royal Farms": {
-                "tags": {
-                    "name": "Royal Farms",
-                    "shop": "convenience"
-                },
-                "name": "Royal Farms",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Alfamart": {
-                "tags": {
-                    "name": "Alfamart",
-                    "shop": "convenience"
-                },
-                "name": "Alfamart",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Indomaret": {
-                "tags": {
-                    "name": "Indomaret",
-                    "shop": "convenience"
-                },
-                "name": "Indomaret",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/магазин": {
-                "tags": {
-                    "name": "магазин",
-                    "shop": "convenience"
-                },
-                "name": "магазин",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/全家便利商店": {
-                "tags": {
-                    "name": "全家便利商店",
-                    "shop": "convenience"
-                },
-                "name": "全家便利商店",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Boutique": {
-                "tags": {
-                    "name": "Boutique",
-                    "shop": "convenience"
-                },
-                "name": "Boutique",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/მარკეტი (Market)": {
-                "tags": {
-                    "name": "მარკეტი (Market)",
-                    "shop": "convenience"
-                },
-                "name": "მარკეტი (Market)",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/convenience/Stores": {
-                "tags": {
-                    "name": "Stores",
-                    "shop": "convenience"
-                },
-                "name": "Stores",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/chemist/dm": {
-                "tags": {
-                    "name": "dm",
-                    "shop": "chemist"
-                },
-                "name": "dm",
-                "icon": "chemist",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/chemist/Müller": {
-                "tags": {
-                    "name": "Müller",
-                    "shop": "chemist"
-                },
-                "name": "Müller",
-                "icon": "chemist",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/chemist/Schlecker": {
-                "tags": {
-                    "name": "Schlecker",
-                    "shop": "chemist"
-                },
-                "name": "Schlecker",
-                "icon": "chemist",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/chemist/Etos": {
-                "tags": {
-                    "name": "Etos",
-                    "shop": "chemist"
-                },
-                "name": "Etos",
-                "icon": "chemist",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/chemist/Bipa": {
-                "tags": {
-                    "name": "Bipa",
-                    "shop": "chemist"
-                },
-                "name": "Bipa",
-                "icon": "chemist",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/chemist/Rossmann": {
-                "tags": {
-                    "name": "Rossmann",
-                    "shop": "chemist"
-                },
-                "name": "Rossmann",
-                "icon": "chemist",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/chemist/DM Drogeriemarkt": {
-                "tags": {
-                    "name": "DM Drogeriemarkt",
-                    "shop": "chemist"
-                },
-                "name": "DM Drogeriemarkt",
-                "icon": "chemist",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/chemist/Ihr Platz": {
-                "tags": {
-                    "name": "Ihr Platz",
-                    "shop": "chemist"
-                },
-                "name": "Ihr Platz",
-                "icon": "chemist",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/chemist/Douglas": {
-                "tags": {
-                    "name": "Douglas",
-                    "shop": "chemist"
-                },
-                "name": "Douglas",
-                "icon": "chemist",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/chemist/Kruidvat": {
-                "tags": {
-                    "name": "Kruidvat",
-                    "shop": "chemist"
-                },
-                "name": "Kruidvat",
-                "icon": "chemist",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Kwik Fit": {
-                "tags": {
-                    "name": "Kwik Fit",
-                    "shop": "car_repair"
-                },
-                "name": "Kwik Fit",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/ATU": {
-                "tags": {
-                    "name": "ATU",
-                    "shop": "car_repair"
-                },
-                "name": "ATU",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Kwik-Fit": {
-                "tags": {
-                    "name": "Kwik-Fit",
-                    "shop": "car_repair"
-                },
-                "name": "Kwik-Fit",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Midas": {
-                "tags": {
-                    "name": "Midas",
-                    "shop": "car_repair"
-                },
-                "name": "Midas",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Feu Vert": {
-                "tags": {
-                    "name": "Feu Vert",
-                    "shop": "car_repair"
-                },
-                "name": "Feu Vert",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Norauto": {
-                "tags": {
-                    "name": "Norauto",
-                    "shop": "car_repair"
-                },
-                "name": "Norauto",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Speedy": {
-                "tags": {
-                    "name": "Speedy",
-                    "shop": "car_repair"
-                },
-                "name": "Speedy",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Pit Stop": {
-                "tags": {
-                    "name": "Pit Stop",
-                    "shop": "car_repair"
-                },
-                "name": "Pit Stop",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Jiffy Lube": {
-                "tags": {
-                    "name": "Jiffy Lube",
-                    "shop": "car_repair"
-                },
-                "name": "Jiffy Lube",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Шиномонтаж": {
-                "tags": {
-                    "name": "Шиномонтаж",
-                    "shop": "car_repair"
-                },
-                "name": "Шиномонтаж",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/СТО": {
-                "tags": {
-                    "name": "СТО",
-                    "shop": "car_repair"
-                },
-                "name": "СТО",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/O'Reilly Auto Parts": {
-                "tags": {
-                    "name": "O'Reilly Auto Parts",
-                    "shop": "car_repair"
-                },
-                "name": "O'Reilly Auto Parts",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Carglass": {
-                "tags": {
-                    "name": "Carglass",
-                    "shop": "car_repair"
-                },
-                "name": "Carglass",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/шиномонтаж": {
-                "tags": {
-                    "name": "шиномонтаж",
-                    "shop": "car_repair"
-                },
-                "name": "шиномонтаж",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Euromaster": {
-                "tags": {
-                    "name": "Euromaster",
-                    "shop": "car_repair"
-                },
-                "name": "Euromaster",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Firestone": {
-                "tags": {
-                    "name": "Firestone",
-                    "shop": "car_repair"
-                },
-                "name": "Firestone",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/AutoZone": {
-                "tags": {
-                    "name": "AutoZone",
-                    "shop": "car_repair"
-                },
-                "name": "AutoZone",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Автосервис": {
-                "tags": {
-                    "name": "Автосервис",
-                    "shop": "car_repair"
-                },
-                "name": "Автосервис",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Advance Auto Parts": {
-                "tags": {
-                    "name": "Advance Auto Parts",
-                    "shop": "car_repair"
-                },
-                "name": "Advance Auto Parts",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Roady": {
-                "tags": {
-                    "name": "Roady",
-                    "shop": "car_repair"
-                },
-                "name": "Roady",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/furniture/IKEA": {
-                "tags": {
-                    "name": "IKEA",
-                    "shop": "furniture"
-                },
-                "name": "IKEA",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/furniture/Jysk": {
-                "tags": {
-                    "name": "Jysk",
-                    "shop": "furniture"
-                },
-                "name": "Jysk",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/furniture/Roller": {
-                "tags": {
-                    "name": "Roller",
-                    "shop": "furniture"
-                },
-                "name": "Roller",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/furniture/Dänisches Bettenlager": {
-                "tags": {
-                    "name": "Dänisches Bettenlager",
-                    "shop": "furniture"
-                },
-                "name": "Dänisches Bettenlager",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/furniture/Conforama": {
-                "tags": {
-                    "name": "Conforama",
-                    "shop": "furniture"
-                },
-                "name": "Conforama",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/furniture/Matratzen Concord": {
-                "tags": {
-                    "name": "Matratzen Concord",
-                    "shop": "furniture"
-                },
-                "name": "Matratzen Concord",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/furniture/Мебель": {
-                "tags": {
-                    "name": "Мебель",
-                    "shop": "furniture"
-                },
-                "name": "Мебель",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/furniture/But": {
-                "tags": {
-                    "name": "But",
-                    "shop": "furniture"
-                },
-                "name": "But",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Hornbach": {
-                "tags": {
-                    "name": "Hornbach",
-                    "shop": "doityourself"
-                },
-                "name": "Hornbach",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/B&Q": {
-                "tags": {
-                    "name": "B&Q",
-                    "shop": "doityourself"
-                },
-                "name": "B&Q",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Hubo": {
-                "tags": {
-                    "name": "Hubo",
-                    "shop": "doityourself"
-                },
-                "name": "Hubo",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Mr Bricolage": {
-                "tags": {
-                    "name": "Mr Bricolage",
-                    "shop": "doityourself"
-                },
-                "name": "Mr Bricolage",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Gamma": {
-                "tags": {
-                    "name": "Gamma",
-                    "shop": "doityourself"
-                },
-                "name": "Gamma",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/OBI": {
-                "tags": {
-                    "name": "OBI",
-                    "shop": "doityourself"
-                },
-                "name": "OBI",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Lowes": {
-                "tags": {
-                    "name": "Lowes",
-                    "shop": "doityourself"
-                },
-                "name": "Lowes",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Wickes": {
-                "tags": {
-                    "name": "Wickes",
-                    "shop": "doityourself"
-                },
-                "name": "Wickes",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Hagebau": {
-                "tags": {
-                    "name": "Hagebau",
-                    "shop": "doityourself"
-                },
-                "name": "Hagebau",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Max Bahr": {
-                "tags": {
-                    "name": "Max Bahr",
-                    "shop": "doityourself"
-                },
-                "name": "Max Bahr",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Castorama": {
-                "tags": {
-                    "name": "Castorama",
-                    "shop": "doityourself"
-                },
-                "name": "Castorama",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Rona": {
-                "tags": {
-                    "name": "Rona",
-                    "shop": "doityourself"
-                },
-                "name": "Rona",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Home Depot": {
-                "tags": {
-                    "name": "Home Depot",
-                    "shop": "doityourself"
-                },
-                "name": "Home Depot",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Toom Baumarkt": {
-                "tags": {
-                    "name": "Toom Baumarkt",
-                    "shop": "doityourself"
-                },
-                "name": "Toom Baumarkt",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Homebase": {
-                "tags": {
-                    "name": "Homebase",
-                    "shop": "doityourself"
-                },
-                "name": "Homebase",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Baumax": {
-                "tags": {
-                    "name": "Baumax",
-                    "shop": "doityourself"
-                },
-                "name": "Baumax",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Lagerhaus": {
-                "tags": {
-                    "name": "Lagerhaus",
-                    "shop": "doityourself"
-                },
-                "name": "Lagerhaus",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Bauhaus": {
-                "tags": {
-                    "name": "Bauhaus",
-                    "shop": "doityourself"
-                },
-                "name": "Bauhaus",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Canadian Tire": {
-                "tags": {
-                    "name": "Canadian Tire",
-                    "shop": "doityourself"
-                },
-                "name": "Canadian Tire",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Leroy Merlin": {
-                "tags": {
-                    "name": "Leroy Merlin",
-                    "shop": "doityourself"
-                },
-                "name": "Leroy Merlin",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Hellweg": {
-                "tags": {
-                    "name": "Hellweg",
-                    "shop": "doityourself"
-                },
-                "name": "Hellweg",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Brico": {
-                "tags": {
-                    "name": "Brico",
-                    "shop": "doityourself"
-                },
-                "name": "Brico",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Bricomarché": {
-                "tags": {
-                    "name": "Bricomarché",
-                    "shop": "doityourself"
-                },
-                "name": "Bricomarché",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Toom": {
-                "tags": {
-                    "name": "Toom",
-                    "shop": "doityourself"
-                },
-                "name": "Toom",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Hagebaumarkt": {
-                "tags": {
-                    "name": "Hagebaumarkt",
-                    "shop": "doityourself"
-                },
-                "name": "Hagebaumarkt",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Praktiker": {
-                "tags": {
-                    "name": "Praktiker",
-                    "shop": "doityourself"
-                },
-                "name": "Praktiker",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Menards": {
-                "tags": {
-                    "name": "Menards",
-                    "shop": "doityourself"
-                },
-                "name": "Menards",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Weldom": {
-                "tags": {
-                    "name": "Weldom",
-                    "shop": "doityourself"
-                },
-                "name": "Weldom",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Bunnings Warehouse": {
-                "tags": {
-                    "name": "Bunnings Warehouse",
-                    "shop": "doityourself"
-                },
-                "name": "Bunnings Warehouse",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Ace Hardware": {
-                "tags": {
-                    "name": "Ace Hardware",
-                    "shop": "doityourself"
-                },
-                "name": "Ace Hardware",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Home Hardware": {
-                "tags": {
-                    "name": "Home Hardware",
-                    "shop": "doityourself"
-                },
-                "name": "Home Hardware",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Стройматериалы": {
-                "tags": {
-                    "name": "Стройматериалы",
-                    "shop": "doityourself"
-                },
-                "name": "Стройматериалы",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Bricorama": {
-                "tags": {
-                    "name": "Bricorama",
-                    "shop": "doityourself"
-                },
-                "name": "Bricorama",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/doityourself/Point P": {
-                "tags": {
-                    "name": "Point P",
-                    "shop": "doityourself"
-                },
-                "name": "Point P",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/stationery/Staples": {
-                "tags": {
-                    "name": "Staples",
-                    "shop": "stationery"
-                },
-                "name": "Staples",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/stationery/McPaper": {
-                "tags": {
-                    "name": "McPaper",
-                    "shop": "stationery"
-                },
-                "name": "McPaper",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/stationery/Office Depot": {
-                "tags": {
-                    "name": "Office Depot",
-                    "shop": "stationery"
-                },
-                "name": "Office Depot",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/stationery/Канцтовары": {
-                "tags": {
-                    "name": "Канцтовары",
-                    "shop": "stationery"
-                },
-                "name": "Канцтовары",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Skoda": {
-                "tags": {
-                    "name": "Skoda",
-                    "shop": "car"
-                },
-                "name": "Skoda",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/BMW": {
-                "tags": {
-                    "name": "BMW",
-                    "shop": "car"
-                },
-                "name": "BMW",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Citroen": {
-                "tags": {
-                    "name": "Citroen",
-                    "shop": "car"
-                },
-                "name": "Citroen",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Renault": {
-                "tags": {
-                    "name": "Renault",
-                    "shop": "car"
-                },
-                "name": "Renault",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Mercedes-Benz": {
-                "tags": {
-                    "name": "Mercedes-Benz",
-                    "shop": "car"
-                },
-                "name": "Mercedes-Benz",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Volvo": {
-                "tags": {
-                    "name": "Volvo",
-                    "shop": "car"
-                },
-                "name": "Volvo",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Ford": {
-                "tags": {
-                    "name": "Ford",
-                    "shop": "car"
-                },
-                "name": "Ford",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Volkswagen": {
-                "tags": {
-                    "name": "Volkswagen",
-                    "shop": "car"
-                },
-                "name": "Volkswagen",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Mazda": {
-                "tags": {
-                    "name": "Mazda",
-                    "shop": "car"
-                },
-                "name": "Mazda",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Mitsubishi": {
-                "tags": {
-                    "name": "Mitsubishi",
-                    "shop": "car"
-                },
-                "name": "Mitsubishi",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Fiat": {
-                "tags": {
-                    "name": "Fiat",
-                    "shop": "car"
-                },
-                "name": "Fiat",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Автозапчасти": {
-                "tags": {
-                    "name": "Автозапчасти",
-                    "shop": "car"
-                },
-                "name": "Автозапчасти",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Opel": {
-                "tags": {
-                    "name": "Opel",
-                    "shop": "car"
-                },
-                "name": "Opel",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Audi": {
-                "tags": {
-                    "name": "Audi",
-                    "shop": "car"
-                },
-                "name": "Audi",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Toyota": {
-                "tags": {
-                    "name": "Toyota",
-                    "shop": "car"
-                },
-                "name": "Toyota",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Nissan": {
-                "tags": {
-                    "name": "Nissan",
-                    "shop": "car"
-                },
-                "name": "Nissan",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Suzuki": {
-                "tags": {
-                    "name": "Suzuki",
-                    "shop": "car"
-                },
-                "name": "Suzuki",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Honda": {
-                "tags": {
-                    "name": "Honda",
-                    "shop": "car"
-                },
-                "name": "Honda",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Peugeot": {
-                "tags": {
-                    "name": "Peugeot",
-                    "shop": "car"
-                },
-                "name": "Peugeot",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Hyundai": {
-                "tags": {
-                    "name": "Hyundai",
-                    "shop": "car"
-                },
-                "name": "Hyundai",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Subaru": {
-                "tags": {
-                    "name": "Subaru",
-                    "shop": "car"
-                },
-                "name": "Subaru",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Chevrolet": {
-                "tags": {
-                    "name": "Chevrolet",
-                    "shop": "car"
-                },
-                "name": "Chevrolet",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car/Автомагазин": {
-                "tags": {
-                    "name": "Автомагазин",
-                    "shop": "car"
-                },
-                "name": "Автомагазин",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Matalan": {
-                "tags": {
-                    "name": "Matalan",
-                    "shop": "clothes"
-                },
-                "name": "Matalan",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/KiK": {
-                "tags": {
-                    "name": "KiK",
-                    "shop": "clothes"
-                },
-                "name": "KiK",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/H&M": {
-                "tags": {
-                    "name": "H&M",
-                    "shop": "clothes"
-                },
-                "name": "H&M",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Urban Outfitters": {
-                "tags": {
-                    "name": "Urban Outfitters",
-                    "shop": "clothes"
-                },
-                "name": "Urban Outfitters",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Vögele": {
-                "tags": {
-                    "name": "Vögele",
-                    "shop": "clothes"
-                },
-                "name": "Vögele",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Zeeman": {
-                "tags": {
-                    "name": "Zeeman",
-                    "shop": "clothes"
-                },
-                "name": "Zeeman",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Takko": {
-                "tags": {
-                    "name": "Takko",
-                    "shop": "clothes"
-                },
-                "name": "Takko",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/C&A": {
-                "tags": {
-                    "name": "C&A",
-                    "shop": "clothes"
-                },
-                "name": "C&A",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Zara": {
-                "tags": {
-                    "name": "Zara",
-                    "shop": "clothes"
-                },
-                "name": "Zara",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Vero Moda": {
-                "tags": {
-                    "name": "Vero Moda",
-                    "shop": "clothes"
-                },
-                "name": "Vero Moda",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/NKD": {
-                "tags": {
-                    "name": "NKD",
-                    "shop": "clothes"
-                },
-                "name": "NKD",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Ernsting's family": {
-                "tags": {
-                    "name": "Ernsting's family",
-                    "shop": "clothes"
-                },
-                "name": "Ernsting's family",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Winners": {
-                "tags": {
-                    "name": "Winners",
-                    "shop": "clothes"
-                },
-                "name": "Winners",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/River Island": {
-                "tags": {
-                    "name": "River Island",
-                    "shop": "clothes"
-                },
-                "name": "River Island",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Next": {
-                "tags": {
-                    "name": "Next",
-                    "shop": "clothes"
-                },
-                "name": "Next",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Gap": {
-                "tags": {
-                    "name": "Gap",
-                    "shop": "clothes"
-                },
-                "name": "Gap",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Adidas": {
-                "tags": {
-                    "name": "Adidas",
-                    "shop": "clothes"
-                },
-                "name": "Adidas",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Mr Price": {
-                "tags": {
-                    "name": "Mr Price",
-                    "shop": "clothes"
-                },
-                "name": "Mr Price",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Pep": {
-                "tags": {
-                    "name": "Pep",
-                    "shop": "clothes"
-                },
-                "name": "Pep",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Edgars": {
-                "tags": {
-                    "name": "Edgars",
-                    "shop": "clothes"
-                },
-                "name": "Edgars",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Ackermans": {
-                "tags": {
-                    "name": "Ackermans",
-                    "shop": "clothes"
-                },
-                "name": "Ackermans",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Truworths": {
-                "tags": {
-                    "name": "Truworths",
-                    "shop": "clothes"
-                },
-                "name": "Truworths",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Ross": {
-                "tags": {
-                    "name": "Ross",
-                    "shop": "clothes"
-                },
-                "name": "Ross",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Burton": {
-                "tags": {
-                    "name": "Burton",
-                    "shop": "clothes"
-                },
-                "name": "Burton",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Dorothy Perkins": {
-                "tags": {
-                    "name": "Dorothy Perkins",
-                    "shop": "clothes"
-                },
-                "name": "Dorothy Perkins",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Lindex": {
-                "tags": {
-                    "name": "Lindex",
-                    "shop": "clothes"
-                },
-                "name": "Lindex",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/s.Oliver": {
-                "tags": {
-                    "name": "s.Oliver",
-                    "shop": "clothes"
-                },
-                "name": "s.Oliver",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Cecil": {
-                "tags": {
-                    "name": "Cecil",
-                    "shop": "clothes"
-                },
-                "name": "Cecil",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Dress Barn": {
-                "tags": {
-                    "name": "Dress Barn",
-                    "shop": "clothes"
-                },
-                "name": "Dress Barn",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Old Navy": {
-                "tags": {
-                    "name": "Old Navy",
-                    "shop": "clothes"
-                },
-                "name": "Old Navy",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Jack & Jones": {
-                "tags": {
-                    "name": "Jack & Jones",
-                    "shop": "clothes"
-                },
-                "name": "Jack & Jones",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Pimkie": {
-                "tags": {
-                    "name": "Pimkie",
-                    "shop": "clothes"
-                },
-                "name": "Pimkie",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Esprit": {
-                "tags": {
-                    "name": "Esprit",
-                    "shop": "clothes"
-                },
-                "name": "Esprit",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Primark": {
-                "tags": {
-                    "name": "Primark",
-                    "shop": "clothes"
-                },
-                "name": "Primark",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Bonita": {
-                "tags": {
-                    "name": "Bonita",
-                    "shop": "clothes"
-                },
-                "name": "Bonita",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Mexx": {
-                "tags": {
-                    "name": "Mexx",
-                    "shop": "clothes"
-                },
-                "name": "Mexx",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Gerry Weber": {
-                "tags": {
-                    "name": "Gerry Weber",
-                    "shop": "clothes"
-                },
-                "name": "Gerry Weber",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Tally Weijl": {
-                "tags": {
-                    "name": "Tally Weijl",
-                    "shop": "clothes"
-                },
-                "name": "Tally Weijl",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Mango": {
-                "tags": {
-                    "name": "Mango",
-                    "shop": "clothes"
-                },
-                "name": "Mango",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/TK Maxx": {
-                "tags": {
-                    "name": "TK Maxx",
-                    "shop": "clothes"
-                },
-                "name": "TK Maxx",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Benetton": {
-                "tags": {
-                    "name": "Benetton",
-                    "shop": "clothes"
-                },
-                "name": "Benetton",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Ulla Popken": {
-                "tags": {
-                    "name": "Ulla Popken",
-                    "shop": "clothes"
-                },
-                "name": "Ulla Popken",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/AWG": {
-                "tags": {
-                    "name": "AWG",
-                    "shop": "clothes"
-                },
-                "name": "AWG",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Tommy Hilfiger": {
-                "tags": {
-                    "name": "Tommy Hilfiger",
-                    "shop": "clothes"
-                },
-                "name": "Tommy Hilfiger",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/New Yorker": {
-                "tags": {
-                    "name": "New Yorker",
-                    "shop": "clothes"
-                },
-                "name": "New Yorker",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Orsay": {
-                "tags": {
-                    "name": "Orsay",
-                    "shop": "clothes"
-                },
-                "name": "Orsay",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Jeans Fritz": {
-                "tags": {
-                    "name": "Jeans Fritz",
-                    "shop": "clothes"
-                },
-                "name": "Jeans Fritz",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Charles Vögele": {
-                "tags": {
-                    "name": "Charles Vögele",
-                    "shop": "clothes"
-                },
-                "name": "Charles Vögele",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/New Look": {
-                "tags": {
-                    "name": "New Look",
-                    "shop": "clothes"
-                },
-                "name": "New Look",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Lacoste": {
-                "tags": {
-                    "name": "Lacoste",
-                    "shop": "clothes"
-                },
-                "name": "Lacoste",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Etam": {
-                "tags": {
-                    "name": "Etam",
-                    "shop": "clothes"
-                },
-                "name": "Etam",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Kiabi": {
-                "tags": {
-                    "name": "Kiabi",
-                    "shop": "clothes"
-                },
-                "name": "Kiabi",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Jack Wolfskin": {
-                "tags": {
-                    "name": "Jack Wolfskin",
-                    "shop": "clothes"
-                },
-                "name": "Jack Wolfskin",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/American Apparel": {
-                "tags": {
-                    "name": "American Apparel",
-                    "shop": "clothes"
-                },
-                "name": "American Apparel",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Men's Wearhouse": {
-                "tags": {
-                    "name": "Men's Wearhouse",
-                    "shop": "clothes"
-                },
-                "name": "Men's Wearhouse",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Intimissimi": {
-                "tags": {
-                    "name": "Intimissimi",
-                    "shop": "clothes"
-                },
-                "name": "Intimissimi",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/United Colors of Benetton": {
-                "tags": {
-                    "name": "United Colors of Benetton",
-                    "shop": "clothes"
-                },
-                "name": "United Colors of Benetton",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Jules": {
-                "tags": {
-                    "name": "Jules",
-                    "shop": "clothes"
-                },
-                "name": "Jules",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Second Hand": {
-                "tags": {
-                    "name": "Second Hand",
-                    "shop": "clothes"
-                },
-                "name": "Second Hand",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/AOKI": {
-                "tags": {
-                    "name": "AOKI",
-                    "shop": "clothes"
-                },
-                "name": "AOKI",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Calzedonia": {
-                "tags": {
-                    "name": "Calzedonia",
-                    "shop": "clothes"
-                },
-                "name": "Calzedonia",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/洋服の青山": {
-                "tags": {
-                    "name": "洋服の青山",
-                    "shop": "clothes"
-                },
-                "name": "洋服の青山",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Levi's": {
-                "tags": {
-                    "name": "Levi's",
-                    "shop": "clothes"
-                },
-                "name": "Levi's",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Celio": {
-                "tags": {
-                    "name": "Celio",
-                    "shop": "clothes"
-                },
-                "name": "Celio",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/TJ Maxx": {
-                "tags": {
-                    "name": "TJ Maxx",
-                    "shop": "clothes"
-                },
-                "name": "TJ Maxx",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Promod": {
-                "tags": {
-                    "name": "Promod",
-                    "shop": "clothes"
-                },
-                "name": "Promod",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Street One": {
-                "tags": {
-                    "name": "Street One",
-                    "shop": "clothes"
-                },
-                "name": "Street One",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/ユニクロ": {
-                "tags": {
-                    "name": "ユニクロ",
-                    "shop": "clothes"
-                },
-                "name": "ユニクロ",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Banana Republic": {
-                "tags": {
-                    "name": "Banana Republic",
-                    "shop": "clothes"
-                },
-                "name": "Banana Republic",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Одежда": {
-                "tags": {
-                    "name": "Одежда",
-                    "shop": "clothes"
-                },
-                "name": "Одежда",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Marshalls": {
-                "tags": {
-                    "name": "Marshalls",
-                    "shop": "clothes"
-                },
-                "name": "Marshalls",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/La Halle": {
-                "tags": {
-                    "name": "La Halle",
-                    "shop": "clothes"
-                },
-                "name": "La Halle",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/Peacocks": {
-                "tags": {
-                    "name": "Peacocks",
-                    "shop": "clothes"
-                },
-                "name": "Peacocks",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/clothes/しまむら": {
-                "tags": {
-                    "name": "しまむら",
-                    "shop": "clothes"
-                },
-                "name": "しまむら",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/books/Bruna": {
-                "tags": {
-                    "name": "Bruna",
-                    "shop": "books"
-                },
-                "name": "Bruna",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/books/Waterstones": {
-                "tags": {
-                    "name": "Waterstones",
-                    "shop": "books"
-                },
-                "name": "Waterstones",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/books/Libro": {
-                "tags": {
-                    "name": "Libro",
-                    "shop": "books"
-                },
-                "name": "Libro",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/books/Barnes & Noble": {
-                "tags": {
-                    "name": "Barnes & Noble",
-                    "shop": "books"
-                },
-                "name": "Barnes & Noble",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/books/Weltbild": {
-                "tags": {
-                    "name": "Weltbild",
-                    "shop": "books"
-                },
-                "name": "Weltbild",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/books/Thalia": {
-                "tags": {
-                    "name": "Thalia",
-                    "shop": "books"
-                },
-                "name": "Thalia",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/books/Книги": {
-                "tags": {
-                    "name": "Книги",
-                    "shop": "books"
-                },
-                "name": "Книги",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/Debenhams": {
-                "tags": {
-                    "name": "Debenhams",
-                    "shop": "department_store"
-                },
-                "name": "Debenhams",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/Karstadt": {
-                "tags": {
-                    "name": "Karstadt",
-                    "shop": "department_store"
-                },
-                "name": "Karstadt",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/Kmart": {
-                "tags": {
-                    "name": "Kmart",
-                    "shop": "department_store"
-                },
-                "name": "Kmart",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/Target": {
-                "tags": {
-                    "name": "Target",
-                    "shop": "department_store"
-                },
-                "name": "Target",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/Galeria Kaufhof": {
-                "tags": {
-                    "name": "Galeria Kaufhof",
-                    "shop": "department_store"
-                },
-                "name": "Galeria Kaufhof",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/Marks & Spencer": {
-                "tags": {
-                    "name": "Marks & Spencer",
-                    "shop": "department_store"
-                },
-                "name": "Marks & Spencer",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/Big W": {
-                "tags": {
-                    "name": "Big W",
-                    "shop": "department_store"
-                },
-                "name": "Big W",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/Woolworth": {
-                "tags": {
-                    "name": "Woolworth",
-                    "shop": "department_store"
-                },
-                "name": "Woolworth",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/Универмаг": {
-                "tags": {
-                    "name": "Универмаг",
-                    "shop": "department_store"
-                },
-                "name": "Универмаг",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/Sears": {
-                "tags": {
-                    "name": "Sears",
-                    "shop": "department_store"
-                },
-                "name": "Sears",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/Kohl's": {
-                "tags": {
-                    "name": "Kohl's",
-                    "shop": "department_store"
-                },
-                "name": "Kohl's",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/Macy's": {
-                "tags": {
-                    "name": "Macy's",
-                    "shop": "department_store"
-                },
-                "name": "Macy's",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/department_store/JCPenney": {
-                "tags": {
-                    "name": "JCPenney",
-                    "shop": "department_store"
-                },
-                "name": "JCPenney",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/alcohol/Alko": {
-                "tags": {
-                    "name": "Alko",
-                    "shop": "alcohol"
-                },
-                "name": "Alko",
-                "icon": "alcohol-shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/alcohol/The Beer Store": {
-                "tags": {
-                    "name": "The Beer Store",
-                    "shop": "alcohol"
-                },
-                "name": "The Beer Store",
-                "icon": "alcohol-shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/alcohol/Systembolaget": {
-                "tags": {
-                    "name": "Systembolaget",
-                    "shop": "alcohol"
-                },
-                "name": "Systembolaget",
-                "icon": "alcohol-shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/alcohol/LCBO": {
-                "tags": {
-                    "name": "LCBO",
-                    "shop": "alcohol"
-                },
-                "name": "LCBO",
-                "icon": "alcohol-shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/alcohol/Ароматный мир": {
-                "tags": {
-                    "name": "Ароматный мир",
-                    "shop": "alcohol"
-                },
-                "name": "Ароматный мир",
-                "icon": "alcohol-shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/alcohol/Bargain Booze": {
-                "tags": {
-                    "name": "Bargain Booze",
-                    "shop": "alcohol"
-                },
-                "name": "Bargain Booze",
-                "icon": "alcohol-shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/alcohol/Nicolas": {
-                "tags": {
-                    "name": "Nicolas",
-                    "shop": "alcohol"
-                },
-                "name": "Nicolas",
-                "icon": "alcohol-shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/alcohol/BWS": {
-                "tags": {
-                    "name": "BWS",
-                    "shop": "alcohol"
-                },
-                "name": "BWS",
-                "icon": "alcohol-shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/alcohol/Botilleria": {
-                "tags": {
-                    "name": "Botilleria",
-                    "shop": "alcohol"
-                },
-                "name": "Botilleria",
-                "icon": "alcohol-shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/alcohol/SAQ": {
-                "tags": {
-                    "name": "SAQ",
-                    "shop": "alcohol"
-                },
-                "name": "SAQ",
-                "icon": "alcohol-shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/alcohol/Gall & Gall": {
-                "tags": {
-                    "name": "Gall & Gall",
-                    "shop": "alcohol"
-                },
-                "name": "Gall & Gall",
-                "icon": "alcohol-shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/alcohol/Живое пиво": {
-                "tags": {
-                    "name": "Живое пиво",
-                    "shop": "alcohol"
-                },
-                "name": "Живое пиво",
-                "icon": "alcohol-shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Kamps": {
-                "tags": {
-                    "name": "Kamps",
-                    "shop": "bakery"
-                },
-                "name": "Kamps",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Banette": {
-                "tags": {
-                    "name": "Banette",
-                    "shop": "bakery"
-                },
-                "name": "Banette",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Bäckerei Schmidt": {
-                "tags": {
-                    "name": "Bäckerei Schmidt",
-                    "shop": "bakery"
-                },
-                "name": "Bäckerei Schmidt",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Anker": {
-                "tags": {
-                    "name": "Anker",
-                    "shop": "bakery"
-                },
-                "name": "Anker",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Hofpfisterei": {
-                "tags": {
-                    "name": "Hofpfisterei",
-                    "shop": "bakery"
-                },
-                "name": "Hofpfisterei",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Greggs": {
-                "tags": {
-                    "name": "Greggs",
-                    "shop": "bakery"
-                },
-                "name": "Greggs",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Oebel": {
-                "tags": {
-                    "name": "Oebel",
-                    "shop": "bakery"
-                },
-                "name": "Oebel",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Boulangerie": {
-                "tags": {
-                    "name": "Boulangerie",
-                    "shop": "bakery"
-                },
-                "name": "Boulangerie",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Stadtbäckerei": {
-                "tags": {
-                    "name": "Stadtbäckerei",
-                    "shop": "bakery"
-                },
-                "name": "Stadtbäckerei",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Steinecke": {
-                "tags": {
-                    "name": "Steinecke",
-                    "shop": "bakery"
-                },
-                "name": "Steinecke",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Ihle": {
-                "tags": {
-                    "name": "Ihle",
-                    "shop": "bakery"
-                },
-                "name": "Ihle",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Goldilocks": {
-                "tags": {
-                    "name": "Goldilocks",
-                    "shop": "bakery"
-                },
-                "name": "Goldilocks",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Dat Backhus": {
-                "tags": {
-                    "name": "Dat Backhus",
-                    "shop": "bakery"
-                },
-                "name": "Dat Backhus",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/K&U": {
-                "tags": {
-                    "name": "K&U",
-                    "shop": "bakery"
-                },
-                "name": "K&U",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Der Beck": {
-                "tags": {
-                    "name": "Der Beck",
-                    "shop": "bakery"
-                },
-                "name": "Der Beck",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Thürmann": {
-                "tags": {
-                    "name": "Thürmann",
-                    "shop": "bakery"
-                },
-                "name": "Thürmann",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Backwerk": {
-                "tags": {
-                    "name": "Backwerk",
-                    "shop": "bakery"
-                },
-                "name": "Backwerk",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Bäcker": {
-                "tags": {
-                    "name": "Bäcker",
-                    "shop": "bakery"
-                },
-                "name": "Bäcker",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Schäfer's": {
-                "tags": {
-                    "name": "Schäfer's",
-                    "shop": "bakery"
-                },
-                "name": "Schäfer's",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Panaderia": {
-                "tags": {
-                    "name": "Panaderia",
-                    "shop": "bakery"
-                },
-                "name": "Panaderia",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Goeken backen": {
-                "tags": {
-                    "name": "Goeken backen",
-                    "shop": "bakery"
-                },
-                "name": "Goeken backen",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Stadtbäckerei Junge": {
-                "tags": {
-                    "name": "Stadtbäckerei Junge",
-                    "shop": "bakery"
-                },
-                "name": "Stadtbäckerei Junge",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Boulangerie Patisserie": {
-                "tags": {
-                    "name": "Boulangerie Patisserie",
-                    "shop": "bakery"
-                },
-                "name": "Boulangerie Patisserie",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Paul": {
-                "tags": {
-                    "name": "Paul",
-                    "shop": "bakery"
-                },
-                "name": "Paul",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Хлеб": {
-                "tags": {
-                    "name": "Хлеб",
-                    "shop": "bakery"
-                },
-                "name": "Хлеб",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Piekarnia": {
-                "tags": {
-                    "name": "Piekarnia",
-                    "shop": "bakery"
-                },
-                "name": "Piekarnia",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Пекарня": {
-                "tags": {
-                    "name": "Пекарня",
-                    "shop": "bakery"
-                },
-                "name": "Пекарня",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/bakery/Кулиничи": {
-                "tags": {
-                    "name": "Кулиничи",
-                    "shop": "bakery"
-                },
-                "name": "Кулиничи",
-                "icon": "bakery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/sports/Sports Direct": {
-                "tags": {
-                    "name": "Sports Direct",
-                    "shop": "sports"
-                },
-                "name": "Sports Direct",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/sports/Decathlon": {
-                "tags": {
-                    "name": "Decathlon",
-                    "shop": "sports"
-                },
-                "name": "Decathlon",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/sports/Intersport": {
-                "tags": {
-                    "name": "Intersport",
-                    "shop": "sports"
-                },
-                "name": "Intersport",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/sports/Sports Authority": {
-                "tags": {
-                    "name": "Sports Authority",
-                    "shop": "sports"
-                },
-                "name": "Sports Authority",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/sports/Спортмастер": {
-                "tags": {
-                    "name": "Спортмастер",
-                    "shop": "sports"
-                },
-                "name": "Спортмастер",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/sports/Sport 2000": {
-                "tags": {
-                    "name": "Sport 2000",
-                    "shop": "sports"
-                },
-                "name": "Sport 2000",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/sports/Dick's Sporting Goods": {
-                "tags": {
-                    "name": "Dick's Sporting Goods",
-                    "shop": "sports"
-                },
-                "name": "Dick's Sporting Goods",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/variety_store/Tedi": {
-                "tags": {
-                    "name": "Tedi",
-                    "shop": "variety_store"
-                },
-                "name": "Tedi",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/variety_store/Dollarama": {
-                "tags": {
-                    "name": "Dollarama",
-                    "shop": "variety_store"
-                },
-                "name": "Dollarama",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/variety_store/Family Dollar": {
-                "tags": {
-                    "name": "Family Dollar",
-                    "shop": "variety_store"
-                },
-                "name": "Family Dollar",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/variety_store/Dollar Tree": {
-                "tags": {
-                    "name": "Dollar Tree",
-                    "shop": "variety_store"
-                },
-                "name": "Dollar Tree",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/pet/Fressnapf": {
-                "tags": {
-                    "name": "Fressnapf",
-                    "shop": "pet"
-                },
-                "name": "Fressnapf",
-                "icon": "dog-park",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/pet/PetSmart": {
-                "tags": {
-                    "name": "PetSmart",
-                    "shop": "pet"
-                },
-                "name": "PetSmart",
-                "icon": "dog-park",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/pet/Das Futterhaus": {
-                "tags": {
-                    "name": "Das Futterhaus",
-                    "shop": "pet"
-                },
-                "name": "Das Futterhaus",
-                "icon": "dog-park",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/pet/Pets at Home": {
-                "tags": {
-                    "name": "Pets at Home",
-                    "shop": "pet"
-                },
-                "name": "Pets at Home",
-                "icon": "dog-park",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/pet/Petco": {
-                "tags": {
-                    "name": "Petco",
-                    "shop": "pet"
-                },
-                "name": "Petco",
-                "icon": "dog-park",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/pet/Зоомагазин": {
-                "tags": {
-                    "name": "Зоомагазин",
-                    "shop": "pet"
-                },
-                "name": "Зоомагазин",
-                "icon": "dog-park",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Deichmann": {
-                "tags": {
-                    "name": "Deichmann",
-                    "shop": "shoes"
-                },
-                "name": "Deichmann",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Reno": {
-                "tags": {
-                    "name": "Reno",
-                    "shop": "shoes"
-                },
-                "name": "Reno",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Ecco": {
-                "tags": {
-                    "name": "Ecco",
-                    "shop": "shoes"
-                },
-                "name": "Ecco",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Clarks": {
-                "tags": {
-                    "name": "Clarks",
-                    "shop": "shoes"
-                },
-                "name": "Clarks",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/La Halle aux Chaussures": {
-                "tags": {
-                    "name": "La Halle aux Chaussures",
-                    "shop": "shoes"
-                },
-                "name": "La Halle aux Chaussures",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Brantano": {
-                "tags": {
-                    "name": "Brantano",
-                    "shop": "shoes"
-                },
-                "name": "Brantano",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Geox": {
-                "tags": {
-                    "name": "Geox",
-                    "shop": "shoes"
-                },
-                "name": "Geox",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Salamander": {
-                "tags": {
-                    "name": "Salamander",
-                    "shop": "shoes"
-                },
-                "name": "Salamander",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Обувь": {
-                "tags": {
-                    "name": "Обувь",
-                    "shop": "shoes"
-                },
-                "name": "Обувь",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Payless Shoe Source": {
-                "tags": {
-                    "name": "Payless Shoe Source",
-                    "shop": "shoes"
-                },
-                "name": "Payless Shoe Source",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Famous Footwear": {
-                "tags": {
-                    "name": "Famous Footwear",
-                    "shop": "shoes"
-                },
-                "name": "Famous Footwear",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Quick Schuh": {
-                "tags": {
-                    "name": "Quick Schuh",
-                    "shop": "shoes"
-                },
-                "name": "Quick Schuh",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Shoe Zone": {
-                "tags": {
-                    "name": "Shoe Zone",
-                    "shop": "shoes"
-                },
-                "name": "Shoe Zone",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Foot Locker": {
-                "tags": {
-                    "name": "Foot Locker",
-                    "shop": "shoes"
-                },
-                "name": "Foot Locker",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/Bata": {
-                "tags": {
-                    "name": "Bata",
-                    "shop": "shoes"
-                },
-                "name": "Bata",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/shoes/ЦентрОбувь": {
-                "tags": {
-                    "name": "ЦентрОбувь",
-                    "shop": "shoes"
-                },
-                "name": "ЦентрОбувь",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/toys/La Grande Récré": {
-                "tags": {
-                    "name": "La Grande Récré",
-                    "shop": "toys"
-                },
-                "name": "La Grande Récré",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/toys/Toys R Us": {
-                "tags": {
-                    "name": "Toys R Us",
-                    "shop": "toys"
-                },
-                "name": "Toys R Us",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/toys/Intertoys": {
-                "tags": {
-                    "name": "Intertoys",
-                    "shop": "toys"
-                },
-                "name": "Intertoys",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/toys/Детский мир": {
-                "tags": {
-                    "name": "Детский мир",
-                    "shop": "toys"
-                },
-                "name": "Детский мир",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/toys/Игрушки": {
-                "tags": {
-                    "name": "Игрушки",
-                    "shop": "toys"
-                },
-                "name": "Игрушки",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/travel_agency/Flight Centre": {
-                "tags": {
-                    "name": "Flight Centre",
-                    "shop": "travel_agency"
-                },
-                "name": "Flight Centre",
-                "icon": "suitcase",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/travel_agency/Thomas Cook": {
-                "tags": {
-                    "name": "Thomas Cook",
-                    "shop": "travel_agency"
-                },
-                "name": "Thomas Cook",
-                "icon": "suitcase",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/jewelry/Bijou Brigitte": {
-                "tags": {
-                    "name": "Bijou Brigitte",
-                    "shop": "jewelry"
-                },
-                "name": "Bijou Brigitte",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/jewelry/Christ": {
-                "tags": {
-                    "name": "Christ",
-                    "shop": "jewelry"
-                },
-                "name": "Christ",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/jewelry/Swarovski": {
-                "tags": {
-                    "name": "Swarovski",
-                    "shop": "jewelry"
-                },
-                "name": "Swarovski",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/optician/Fielmann": {
-                "tags": {
-                    "name": "Fielmann",
-                    "shop": "optician"
-                },
-                "name": "Fielmann",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/optician/Apollo Optik": {
-                "tags": {
-                    "name": "Apollo Optik",
-                    "shop": "optician"
-                },
-                "name": "Apollo Optik",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/optician/Vision Express": {
-                "tags": {
-                    "name": "Vision Express",
-                    "shop": "optician"
-                },
-                "name": "Vision Express",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/optician/Оптика": {
-                "tags": {
-                    "name": "Оптика",
-                    "shop": "optician"
-                },
-                "name": "Оптика",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/optician/Optic 2000": {
-                "tags": {
-                    "name": "Optic 2000",
-                    "shop": "optician"
-                },
-                "name": "Optic 2000",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/optician/Alain Afflelou": {
-                "tags": {
-                    "name": "Alain Afflelou",
-                    "shop": "optician"
-                },
-                "name": "Alain Afflelou",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/optician/Specsavers": {
-                "tags": {
-                    "name": "Specsavers",
-                    "shop": "optician"
-                },
-                "name": "Specsavers",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/optician/Krys": {
-                "tags": {
-                    "name": "Krys",
-                    "shop": "optician"
-                },
-                "name": "Krys",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/optician/Atol": {
-                "tags": {
-                    "name": "Atol",
-                    "shop": "optician"
-                },
-                "name": "Atol",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/video/Blockbuster": {
-                "tags": {
-                    "name": "Blockbuster",
-                    "shop": "video"
-                },
-                "name": "Blockbuster",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/video/World of Video": {
-                "tags": {
-                    "name": "World of Video",
-                    "shop": "video"
-                },
-                "name": "World of Video",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/Билайн": {
-                "tags": {
-                    "name": "Билайн",
-                    "shop": "mobile_phone"
-                },
-                "name": "Билайн",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/ソフトバンクショップ (SoftBank shop)": {
-                "tags": {
-                    "name": "ソフトバンクショップ (SoftBank shop)",
-                    "shop": "mobile_phone"
-                },
-                "name": "ソフトバンクショップ (SoftBank shop)",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/Vodafone": {
-                "tags": {
-                    "name": "Vodafone",
-                    "shop": "mobile_phone"
-                },
-                "name": "Vodafone",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/O2": {
-                "tags": {
-                    "name": "O2",
-                    "shop": "mobile_phone"
-                },
-                "name": "O2",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/Carphone Warehouse": {
-                "tags": {
-                    "name": "Carphone Warehouse",
-                    "shop": "mobile_phone"
-                },
-                "name": "Carphone Warehouse",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/Orange": {
-                "tags": {
-                    "name": "Orange",
-                    "shop": "mobile_phone"
-                },
-                "name": "Orange",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/Verizon Wireless": {
-                "tags": {
-                    "name": "Verizon Wireless",
-                    "shop": "mobile_phone"
-                },
-                "name": "Verizon Wireless",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/Sprint": {
-                "tags": {
-                    "name": "Sprint",
-                    "shop": "mobile_phone"
-                },
-                "name": "Sprint",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/T-Mobile": {
-                "tags": {
-                    "name": "T-Mobile",
-                    "shop": "mobile_phone"
-                },
-                "name": "T-Mobile",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/МТС": {
-                "tags": {
-                    "name": "МТС",
-                    "shop": "mobile_phone"
-                },
-                "name": "МТС",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/Евросеть": {
-                "tags": {
-                    "name": "Евросеть",
-                    "shop": "mobile_phone"
-                },
-                "name": "Евросеть",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/Bell": {
-                "tags": {
-                    "name": "Bell",
-                    "shop": "mobile_phone"
-                },
-                "name": "Bell",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/The Phone House": {
-                "tags": {
-                    "name": "The Phone House",
-                    "shop": "mobile_phone"
-                },
-                "name": "The Phone House",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/SFR": {
-                "tags": {
-                    "name": "SFR",
-                    "shop": "mobile_phone"
-                },
-                "name": "SFR",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/Связной": {
-                "tags": {
-                    "name": "Связной",
-                    "shop": "mobile_phone"
-                },
-                "name": "Связной",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/Мегафон": {
-                "tags": {
-                    "name": "Мегафон",
-                    "shop": "mobile_phone"
-                },
-                "name": "Мегафон",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/AT&T": {
-                "tags": {
-                    "name": "AT&T",
-                    "shop": "mobile_phone"
-                },
-                "name": "AT&T",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/ドコモショップ (docomo shop)": {
-                "tags": {
-                    "name": "ドコモショップ (docomo shop)",
-                    "shop": "mobile_phone"
-                },
-                "name": "ドコモショップ (docomo shop)",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/au": {
-                "tags": {
-                    "name": "au",
-                    "shop": "mobile_phone"
-                },
-                "name": "au",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/Movistar": {
-                "tags": {
-                    "name": "Movistar",
-                    "shop": "mobile_phone"
-                },
-                "name": "Movistar",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/mobile_phone/Bitė": {
-                "tags": {
-                    "name": "Bitė",
-                    "shop": "mobile_phone"
-                },
-                "name": "Bitė",
-                "icon": "mobilephone",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/computer/PC World": {
-                "tags": {
-                    "name": "PC World",
-                    "shop": "computer"
-                },
-                "name": "PC World",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/computer/DNS": {
-                "tags": {
-                    "name": "DNS",
-                    "shop": "computer"
-                },
-                "name": "DNS",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/hairdresser/Klier": {
-                "tags": {
-                    "name": "Klier",
-                    "shop": "hairdresser"
-                },
-                "name": "Klier",
-                "icon": "hairdresser",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/hairdresser/Supercuts": {
-                "tags": {
-                    "name": "Supercuts",
-                    "shop": "hairdresser"
-                },
-                "name": "Supercuts",
-                "icon": "hairdresser",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/hairdresser/Hairkiller": {
-                "tags": {
-                    "name": "Hairkiller",
-                    "shop": "hairdresser"
-                },
-                "name": "Hairkiller",
-                "icon": "hairdresser",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/hairdresser/Great Clips": {
-                "tags": {
-                    "name": "Great Clips",
-                    "shop": "hairdresser"
-                },
-                "name": "Great Clips",
-                "icon": "hairdresser",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/hairdresser/Парикмахерская": {
-                "tags": {
-                    "name": "Парикмахерская",
-                    "shop": "hairdresser"
-                },
-                "name": "Парикмахерская",
-                "icon": "hairdresser",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/hairdresser/Стиль": {
-                "tags": {
-                    "name": "Стиль",
-                    "shop": "hairdresser"
-                },
-                "name": "Стиль",
-                "icon": "hairdresser",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/hairdresser/Fryzjer": {
-                "tags": {
-                    "name": "Fryzjer",
-                    "shop": "hairdresser"
-                },
-                "name": "Fryzjer",
-                "icon": "hairdresser",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/hairdresser/Franck Provost": {
-                "tags": {
-                    "name": "Franck Provost",
-                    "shop": "hairdresser"
-                },
-                "name": "Franck Provost",
-                "icon": "hairdresser",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/hairdresser/Салон красоты": {
-                "tags": {
-                    "name": "Салон красоты",
-                    "shop": "hairdresser"
-                },
-                "name": "Салон красоты",
-                "icon": "hairdresser",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/hardware/1000 мелочей": {
-                "tags": {
-                    "name": "1000 мелочей",
-                    "shop": "hardware"
-                },
-                "name": "1000 мелочей",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/hardware/Хозтовары": {
-                "tags": {
-                    "name": "Хозтовары",
-                    "shop": "hardware"
-                },
-                "name": "Хозтовары",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/motorcycle/Yamaha": {
-                "tags": {
-                    "name": "Yamaha",
-                    "shop": "motorcycle"
-                },
-                "name": "Yamaha",
-                "icon": "scooter",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            }
-        },
-        "defaults": {
-            "area": [
-                "category-landuse",
-                "category-building",
-                "category-water-area",
-                "leisure/park",
-                "amenity/hospital",
-                "amenity/place_of_worship",
-                "amenity/cafe",
-                "amenity/restaurant",
-                "area"
-            ],
-            "line": [
-                "category-road",
-                "category-rail",
-                "category-path",
-                "category-water-line",
-                "power/line",
-                "line"
-            ],
-            "point": [
-                "leisure/park",
-                "amenity/hospital",
-                "amenity/place_of_worship",
-                "amenity/cafe",
-                "amenity/restaurant",
-                "amenity/bar",
-                "amenity/bank",
-                "shop/supermarket",
-                "point"
-            ],
-            "vertex": [
-                "highway/crosswalk",
-                "railway/level_crossing",
-                "highway/traffic_signals",
-                "highway/turning_circle",
-                "highway/mini_roundabout",
-                "highway/motorway_junction",
-                "vertex"
-            ],
-            "relation": [
-                "category-route",
-                "category-restriction",
-                "type/boundary",
-                "type/multipolygon",
-                "relation"
-            ]
-        },
-        "categories": {
-            "category-building": {
-                "geometry": "area",
-                "name": "Building",
-                "icon": "building",
-                "members": [
-                    "building/house",
-                    "building/apartments",
-                    "building/commercial",
-                    "building/industrial",
-                    "building/residential",
-                    "building"
-                ]
-            },
-            "category-golf": {
-                "geometry": "area",
-                "name": "Golf",
-                "icon": "golf",
-                "members": [
-                    "golf/fairway",
-                    "golf/green",
-                    "golf/lateral_water_hazard",
-                    "golf/rough",
-                    "golf/bunker",
-                    "golf/tee",
-                    "golf/water_hazard"
-                ]
-            },
-            "category-landuse": {
-                "geometry": "area",
-                "name": "Land Use",
-                "icon": "land-use",
-                "members": [
-                    "landuse/residential",
-                    "landuse/industrial",
-                    "landuse/commercial",
-                    "landuse/retail",
-                    "landuse/farm",
-                    "landuse/farmyard",
-                    "landuse/forest",
-                    "landuse/meadow",
-                    "landuse/cemetery",
-                    "landuse/military"
-                ]
-            },
-            "category-path": {
-                "geometry": "line",
-                "name": "Path",
-                "icon": "category-path",
-                "members": [
-                    "highway/footway",
-                    "highway/cycleway",
-                    "highway/bridleway",
-                    "highway/path",
-                    "highway/steps"
-                ]
-            },
-            "category-rail": {
-                "geometry": "line",
-                "name": "Rail",
-                "icon": "category-rail",
-                "members": [
-                    "railway/rail",
-                    "railway/subway",
-                    "railway/tram",
-                    "railway/monorail",
-                    "railway/disused",
-                    "railway/abandoned"
-                ]
-            },
-            "category-restriction": {
-                "geometry": "relation",
-                "name": "Restriction",
-                "icon": "restriction",
-                "members": [
-                    "type/restriction/no_left_turn",
-                    "type/restriction/no_right_turn",
-                    "type/restriction/no_straight_on",
-                    "type/restriction/no_u_turn",
-                    "type/restriction/only_left_turn",
-                    "type/restriction/only_right_turn",
-                    "type/restriction/only_straight_on",
-                    "type/restriction"
-                ]
-            },
-            "category-road": {
-                "geometry": "line",
-                "name": "Road",
-                "icon": "category-roads",
-                "members": [
-                    "highway/residential",
-                    "highway/motorway",
-                    "highway/trunk",
-                    "highway/primary",
-                    "highway/secondary",
-                    "highway/tertiary",
-                    "highway/service",
-                    "highway/motorway_link",
-                    "highway/trunk_link",
-                    "highway/primary_link",
-                    "highway/secondary_link",
-                    "highway/tertiary_link",
-                    "highway/unclassified",
-                    "highway/track",
-                    "highway/road"
-                ]
-            },
-            "category-route": {
-                "geometry": "relation",
-                "name": "Route",
-                "icon": "route",
-                "members": [
-                    "type/route/road",
-                    "type/route/bicycle",
-                    "type/route/foot",
-                    "type/route/hiking",
-                    "type/route/bus",
-                    "type/route/train",
-                    "type/route/tram",
-                    "type/route/ferry",
-                    "type/route/power",
-                    "type/route/pipeline",
-                    "type/route/detour",
-                    "type/route_master",
-                    "type/route"
-                ]
-            },
-            "category-water-area": {
-                "geometry": "area",
-                "name": "Water",
-                "icon": "water",
-                "members": [
-                    "natural/water/lake",
-                    "natural/water/pond",
-                    "natural/water/reservoir",
-                    "natural/water"
-                ]
-            },
-            "category-water-line": {
-                "geometry": "line",
-                "name": "Water",
-                "icon": "category-water",
-                "members": [
-                    "waterway/river",
-                    "waterway/stream",
-                    "waterway/canal",
-                    "waterway/ditch",
-                    "waterway/drain"
-                ]
-            }
-        },
-        "fields": {
-            "access": {
-                "keys": [
-                    "access",
-                    "foot",
-                    "motor_vehicle",
-                    "bicycle",
-                    "horse"
-                ],
-                "reference": {
-                    "key": "access"
-                },
-                "type": "access",
-                "label": "Access",
-                "placeholder": "Unknown",
-                "strings": {
-                    "types": {
-                        "access": "General",
-                        "foot": "Foot",
-                        "motor_vehicle": "Motor Vehicles",
-                        "bicycle": "Bicycles",
-                        "horse": "Horses"
-                    },
-                    "options": {
-                        "yes": {
-                            "title": "Allowed",
-                            "description": "Access permitted by law; a right of way"
-                        },
-                        "no": {
-                            "title": "Prohibited",
-                            "description": "Access not permitted to the general public"
-                        },
-                        "permissive": {
-                            "title": "Permissive",
-                            "description": "Access permitted until such time as the owner revokes the permission"
-                        },
-                        "private": {
-                            "title": "Private",
-                            "description": "Access permitted only with permission of the owner on an individual basis"
-                        },
-                        "designated": {
-                            "title": "Designated",
-                            "description": "Access permitted according to signs or specific local laws"
-                        },
-                        "destination": {
-                            "title": "Destination",
-                            "description": "Access permitted only to reach a destination"
-                        }
-                    }
-                }
-            },
-            "access_simple": {
-                "key": "access",
-                "type": "combo",
-                "label": "Access",
-                "placeholder": "yes",
-                "options": [
-                    "permissive",
-                    "private",
-                    "customers",
-                    "no"
-                ]
-            },
-            "access_toilets": {
-                "key": "access",
-                "type": "combo",
-                "label": "Access",
-                "options": [
-                    "public",
-                    "permissive",
-                    "private",
-                    "customers"
-                ]
-            },
-            "address": {
-                "type": "address",
-                "keys": [
-                    "addr:housename",
-                    "addr:housenumber",
-                    "addr:street",
-                    "addr:city",
-                    "addr:postcode"
-                ],
-                "reference": {
-                    "key": "addr"
-                },
-                "icon": "address",
-                "universal": true,
-                "label": "Address",
-                "strings": {
-                    "placeholders": {
-                        "housename": "Housename",
-                        "housenumber": "123",
-                        "street": "Street",
-                        "city": "City",
-                        "postcode": "Postcode",
-                        "place": "Place",
-                        "hamlet": "Hamlet",
-                        "suburb": "Suburb",
-                        "subdistrict": "Subdistrict",
-                        "district": "District",
-                        "province": "Province",
-                        "state": "State",
-                        "country": "Country"
-                    }
-                }
-            },
-            "admin_level": {
-                "key": "admin_level",
-                "type": "number",
-                "label": "Admin Level"
-            },
-            "aerialway": {
-                "key": "aerialway",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "aerialway/access": {
-                "key": "aerialway:access",
-                "type": "combo",
-                "options": [
-                    "entry",
-                    "exit",
-                    "both"
-                ],
-                "label": "Access"
-            },
-            "aerialway/bubble": {
-                "key": "aerialway:bubble",
-                "type": "check",
-                "label": "Bubble"
-            },
-            "aerialway/capacity": {
-                "key": "aerialway:capacity",
-                "type": "number",
-                "label": "Capacity (per hour)",
-                "placeholder": "500, 2500, 5000..."
-            },
-            "aerialway/duration": {
-                "key": "aerialway:duration",
-                "type": "number",
-                "label": "Duration (minutes)",
-                "placeholder": "1, 2, 3..."
-            },
-            "aerialway/heating": {
-                "key": "aerialway:heating",
-                "type": "check",
-                "label": "Heated"
-            },
-            "aerialway/occupancy": {
-                "key": "aerialway:occupancy",
-                "type": "number",
-                "label": "Occupancy",
-                "placeholder": "2, 4, 8..."
-            },
-            "aerialway/summer/access": {
-                "key": "aerialway:summer:access",
-                "type": "combo",
-                "options": [
-                    "entry",
-                    "exit",
-                    "both"
-                ],
-                "label": "Access (summer)"
-            },
-            "aeroway": {
-                "key": "aeroway",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "amenity": {
-                "key": "amenity",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "artist": {
-                "key": "artist_name",
-                "type": "text",
-                "label": "Artist"
-            },
-            "artwork_type": {
-                "key": "artwork_type",
-                "type": "combo",
-                "label": "Type"
-            },
-            "atm": {
-                "key": "atm",
-                "type": "check",
-                "label": "ATM"
-            },
-            "backrest": {
-                "key": "backrest",
-                "type": "check",
-                "label": "Backrest"
-            },
-            "barrier": {
-                "key": "barrier",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "bicycle_parking": {
-                "key": "bicycle_parking",
-                "type": "combo",
-                "label": "Type"
-            },
-            "boundary": {
-                "key": "boundary",
-                "type": "combo",
-                "label": "Type"
-            },
-            "building": {
-                "key": "building",
-                "type": "typeCombo",
-                "label": "Building"
-            },
-            "building_area": {
-                "key": "building",
-                "type": "defaultcheck",
-                "default": "yes",
-                "geometry": "area",
-                "label": "Building"
-            },
-            "capacity": {
-                "key": "capacity",
-                "type": "number",
-                "label": "Capacity",
-                "placeholder": "50, 100, 200..."
-            },
-            "cardinal_direction": {
-                "key": "direction",
-                "type": "combo",
-                "options": [
-                    "N",
-                    "E",
-                    "S",
-                    "W",
-                    "NE",
-                    "SE",
-                    "SW",
-                    "NNE",
-                    "ENE",
-                    "ESE",
-                    "SSE",
-                    "SSW",
-                    "WSW",
-                    "WNW",
-                    "NNW"
-                ],
-                "label": "Direction"
-            },
-            "clock_direction": {
-                "key": "direction",
-                "type": "combo",
-                "options": [
-                    "clockwise",
-                    "anticlockwise"
-                ],
-                "label": "Direction",
-                "strings": {
-                    "options": {
-                        "clockwise": "Clockwise",
-                        "anticlockwise": "Counterclockwise"
-                    }
-                }
-            },
-            "collection_times": {
-                "key": "collection_times",
-                "type": "text",
-                "label": "Collection Times"
-            },
-            "construction": {
-                "key": "construction",
-                "type": "combo",
-                "label": "Type"
-            },
-            "country": {
-                "key": "country",
-                "type": "combo",
-                "label": "Country"
-            },
-            "covered": {
-                "key": "covered",
-                "type": "check",
-                "label": "Covered"
-            },
-            "crop": {
-                "key": "crop",
-                "type": "combo",
-                "label": "Crop"
-            },
-            "crossing": {
-                "key": "crossing",
-                "type": "combo",
-                "label": "Type"
-            },
-            "cuisine": {
-                "key": "cuisine",
-                "type": "combo",
-                "indexed": true,
-                "label": "Cuisine"
-            },
-            "denomination": {
-                "key": "denomination",
-                "type": "combo",
-                "label": "Denomination"
-            },
-            "denotation": {
-                "key": "denotation",
-                "type": "combo",
-                "label": "Denotation"
-            },
-            "description": {
-                "key": "description",
-                "type": "textarea",
-                "label": "Description"
-            },
-            "electrified": {
-                "key": "electrified",
-                "type": "combo",
-                "label": "Electrification",
-                "options": [
-                    "contact_line",
-                    "rail",
-                    "yes",
-                    "no"
-                ]
-            },
-            "elevation": {
-                "key": "ele",
-                "type": "number",
-                "icon": "elevation",
-                "universal": true,
-                "label": "Elevation"
-            },
-            "emergency": {
-                "key": "emergency",
-                "type": "check",
-                "label": "Emergency"
-            },
-            "entrance": {
-                "key": "entrance",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "except": {
-                "key": "except",
-                "type": "combo",
-                "label": "Exceptions"
-            },
-            "fax": {
-                "key": "fax",
-                "type": "tel",
-                "label": "Fax",
-                "placeholder": "+31 42 123 4567"
-            },
-            "fee": {
-                "key": "fee",
-                "type": "check",
-                "label": "Fee"
-            },
-            "fire_hydrant/type": {
-                "key": "fire_hydrant:type",
-                "type": "combo",
-                "options": [
-                    "pillar",
-                    "pond",
-                    "underground",
-                    "wall"
-                ],
-                "label": "Type"
-            },
-            "fixme": {
-                "key": "fixme",
-                "type": "textarea",
-                "label": "Fix Me"
-            },
-            "fuel": {
-                "key": "fuel",
-                "type": "combo",
-                "label": "Fuel"
-            },
-            "fuel/biodiesel": {
-                "key": "fuel:biodiesel",
-                "type": "check",
-                "label": "Sells Biodiesel"
-            },
-            "fuel/diesel": {
-                "key": "fuel:diesel",
-                "type": "check",
-                "label": "Sells Diesel"
-            },
-            "fuel/e10": {
-                "key": "fuel:e10",
-                "type": "check",
-                "label": "Sells E10"
-            },
-            "fuel/e85": {
-                "key": "fuel:e85",
-                "type": "check",
-                "label": "Sells E85"
-            },
-            "fuel/lpg": {
-                "key": "fuel:lpg",
-                "type": "check",
-                "label": "Sells Propane"
-            },
-            "fuel/octane_100": {
-                "key": "fuel:octane_100",
-                "type": "check",
-                "label": "Sells Racing Gasoline"
-            },
-            "fuel/octane_91": {
-                "key": "fuel:octane_91",
-                "type": "check",
-                "label": "Sells Regular Gasoline"
-            },
-            "fuel/octane_95": {
-                "key": "fuel:octane_95",
-                "type": "check",
-                "label": "Sells Midgrade Gasoline"
-            },
-            "fuel/octane_98": {
-                "key": "fuel:octane_98",
-                "type": "check",
-                "label": "Sells Premium Gasoline"
-            },
-            "gauge": {
-                "key": "gauge",
-                "type": "combo",
-                "label": "Gauge"
-            },
-            "generator/method": {
-                "key": "generator:method",
-                "type": "combo",
-                "label": "Method"
-            },
-            "generator/source": {
-                "key": "generator:source",
-                "type": "combo",
-                "label": "Source"
-            },
-            "generator/type": {
-                "key": "generator:type",
-                "type": "combo",
-                "label": "Type"
-            },
-            "golf_hole": {
-                "key": "ref",
-                "type": "text",
-                "label": "Reference",
-                "placeholder": "Hole number (1-18)"
-            },
-            "handicap": {
-                "key": "handicap",
-                "type": "number",
-                "label": "Handicap",
-                "placeholder": "1-18"
-            },
-            "highway": {
-                "key": "highway",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "historic": {
-                "key": "historic",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "hoops": {
-                "key": "hoops",
-                "type": "number",
-                "label": "Hoops",
-                "placeholder": "1, 2, 4..."
-            },
-            "iata": {
-                "key": "iata",
-                "type": "text",
-                "label": "IATA"
-            },
-            "icao": {
-                "key": "icao",
-                "type": "text",
-                "label": "ICAO"
-            },
-            "incline": {
-                "key": "incline",
-                "type": "combo",
-                "label": "Incline"
-            },
-            "information": {
-                "key": "information",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "internet_access": {
-                "key": "internet_access",
-                "type": "combo",
-                "options": [
-                    "yes",
-                    "no",
-                    "wlan",
-                    "wired",
-                    "terminal"
-                ],
-                "label": "Internet Access",
-                "strings": {
-                    "options": {
-                        "yes": "Yes",
-                        "no": "No",
-                        "wlan": "Wifi",
-                        "wired": "Wired",
-                        "terminal": "Terminal"
-                    }
-                }
-            },
-            "lamp_type": {
-                "key": "lamp_type",
-                "type": "combo",
-                "label": "Type"
-            },
-            "landuse": {
-                "key": "landuse",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "lanes": {
-                "key": "lanes",
-                "type": "number",
-                "label": "Lanes",
-                "placeholder": "1, 2, 3..."
-            },
-            "layer": {
-                "key": "layer",
-                "type": "combo",
-                "label": "Layer"
-            },
-            "leisure": {
-                "key": "leisure",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "length": {
-                "key": "length",
-                "type": "number",
-                "label": "Length (Meters)"
-            },
-            "levels": {
-                "key": "building:levels",
-                "type": "number",
-                "label": "Levels",
-                "placeholder": "2, 4, 6..."
-            },
-            "lit": {
-                "key": "lit",
-                "type": "check",
-                "label": "Lit"
-            },
-            "location": {
-                "key": "location",
-                "type": "combo",
-                "label": "Location"
-            },
-            "man_made": {
-                "key": "man_made",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "maxspeed": {
-                "key": "maxspeed",
-                "type": "maxspeed",
-                "label": "Speed Limit",
-                "placeholder": "40, 50, 60..."
-            },
-            "name": {
-                "key": "name",
-                "type": "localized",
-                "label": "Name",
-                "placeholder": "Common name (if any)"
-            },
-            "natural": {
-                "key": "natural",
-                "type": "typeCombo",
-                "label": "Natural"
-            },
-            "network": {
-                "key": "network",
-                "type": "text",
-                "label": "Network"
-            },
-            "note": {
-                "key": "note",
-                "type": "textarea",
-                "universal": true,
-                "icon": "note",
-                "label": "Note"
-            },
-            "office": {
-                "key": "office",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "oneway": {
-                "key": "oneway",
-                "type": "check",
-                "label": "One Way",
-                "strings": {
-                    "options": {
-                        "undefined": "Assumed to be No",
-                        "yes": "Yes",
-                        "no": "No"
-                    }
-                }
-            },
-            "oneway_yes": {
-                "key": "oneway",
-                "type": "check",
-                "label": "One Way",
-                "strings": {
-                    "options": {
-                        "undefined": "Assumed to be Yes",
-                        "yes": "Yes",
-                        "no": "No"
-                    }
-                }
-            },
-            "opening_hours": {
-                "key": "opening_hours",
-                "type": "text",
-                "label": "Hours"
-            },
-            "operator": {
-                "key": "operator",
-                "type": "text",
-                "label": "Operator"
-            },
-            "par": {
-                "key": "par",
-                "type": "number",
-                "label": "Par",
-                "placeholder": "3, 4, 5..."
-            },
-            "park_ride": {
-                "key": "park_ride",
-                "type": "check",
-                "label": "Park and Ride"
-            },
-            "parking": {
-                "key": "parking",
-                "type": "combo",
-                "options": [
-                    "surface",
-                    "multi-storey",
-                    "underground",
-                    "sheds",
-                    "carports",
-                    "garage_boxes",
-                    "lane"
-                ],
-                "label": "Type"
-            },
-            "phone": {
-                "key": "phone",
-                "type": "tel",
-                "icon": "telephone",
-                "universal": true,
-                "label": "Phone",
-                "placeholder": "+31 42 123 4567"
-            },
-            "piste/difficulty": {
-                "key": "piste:difficulty",
-                "type": "combo",
-                "label": "Difficulty"
-            },
-            "piste/grooming": {
-                "key": "piste:grooming",
-                "type": "combo",
-                "label": "Grooming"
-            },
-            "piste/type": {
-                "key": "piste:type",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "place": {
-                "key": "place",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "population": {
-                "key": "population",
-                "type": "text",
-                "label": "Population"
-            },
-            "power": {
-                "key": "power",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "railway": {
-                "key": "railway",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "recycling/cans": {
-                "key": "recycling:cans",
-                "type": "check",
-                "label": "Accepts Cans"
-            },
-            "recycling/clothes": {
-                "key": "recycling:clothes",
-                "type": "check",
-                "label": "Accepts Clothes"
-            },
-            "recycling/glass": {
-                "key": "recycling:glass",
-                "type": "check",
-                "label": "Accepts Glass"
-            },
-            "recycling/paper": {
-                "key": "recycling:paper",
-                "type": "check",
-                "label": "Accepts Paper"
-            },
-            "ref": {
-                "key": "ref",
-                "type": "text",
-                "label": "Reference"
-            },
-            "relation": {
-                "key": "type",
-                "type": "combo",
-                "label": "Type"
-            },
-            "religion": {
-                "key": "religion",
-                "type": "combo",
-                "options": [
-                    "christian",
-                    "muslim",
-                    "buddhist",
-                    "jewish",
-                    "hindu",
-                    "shinto",
-                    "taoist"
-                ],
-                "label": "Religion",
-                "strings": {
-                    "options": {
-                        "christian": "Christian",
-                        "muslim": "Muslim",
-                        "buddhist": "Buddhist",
-                        "jewish": "Jewish",
-                        "hindu": "Hindu",
-                        "shinto": "Shinto",
-                        "taoist": "Taoist"
-                    }
-                }
-            },
-            "restriction": {
-                "key": "restriction",
-                "type": "combo",
-                "label": "Type"
-            },
-            "restrictions": {
-                "type": "restrictions",
-                "geometry": "vertex",
-                "icon": "restrictions",
-                "reference": {
-                    "rtype": "restriction"
-                },
-                "label": "Turn Restrictions"
-            },
-            "route": {
-                "key": "route",
-                "type": "combo",
-                "label": "Type"
-            },
-            "route_master": {
-                "key": "route_master",
-                "type": "combo",
-                "label": "Type"
-            },
-            "sac_scale": {
-                "key": "sac_scale",
-                "type": "combo",
-                "label": "Path Difficulty"
-            },
-            "seasonal": {
-                "key": "seasonal",
-                "type": "check",
-                "label": "Seasonal"
-            },
-            "service": {
-                "key": "service",
-                "type": "combo",
-                "options": [
-                    "parking_aisle",
-                    "driveway",
-                    "alley",
-                    "drive-through",
-                    "emergency_access"
-                ],
-                "label": "Type"
-            },
-            "shelter": {
-                "key": "shelter",
-                "type": "check",
-                "label": "Shelter"
-            },
-            "shelter_type": {
-                "key": "shelter_type",
-                "type": "combo",
-                "options": [
-                    "public_transport",
-                    "picnic_shelter",
-                    "weather_shelter",
-                    "lean_to",
-                    "basic_hut",
-                    "field_shelter",
-                    "rock_shelter"
-                ],
-                "label": "Type"
-            },
-            "shop": {
-                "key": "shop",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "sloped_curb": {
-                "key": "sloped_curb",
-                "type": "combo",
-                "label": "Sloped Curb"
-            },
-            "smoking": {
-                "key": "smoking",
-                "type": "combo",
-                "options": [
-                    "no",
-                    "outside",
-                    "separated",
-                    "yes"
-                ],
-                "label": "Smoking"
-            },
-            "social_facility_for": {
-                "key": "social_facility:for",
-                "type": "radio",
-                "label": "People served",
-                "placeholder": "Homeless, Disabled, Child, etc",
-                "options": [
-                    "abused",
-                    "child",
-                    "disabled",
-                    "diseased",
-                    "drug_addicted",
-                    "homeless",
-                    "juvenile",
-                    "mental_health",
-                    "migrant",
-                    "orphan",
-                    "senior",
-                    "underprivileged",
-                    "unemployed",
-                    "victim"
-                ]
-            },
-            "source": {
-                "key": "source",
-                "type": "text",
-                "icon": "source",
-                "universal": true,
-                "label": "Source"
-            },
-            "sport": {
-                "key": "sport",
-                "type": "combo",
-                "label": "Sport"
-            },
-            "sport_ice": {
-                "key": "sport",
-                "type": "combo",
-                "options": [
-                    "skating",
-                    "hockey",
-                    "multi",
-                    "curling",
-                    "ice_stock"
-                ],
-                "label": "Sport"
-            },
-            "structure": {
-                "type": "radio",
-                "keys": [
-                    "bridge",
-                    "tunnel",
-                    "embankment",
-                    "cutting",
-                    "ford"
-                ],
-                "label": "Structure",
-                "placeholder": "Unknown",
-                "strings": {
-                    "options": {
-                        "bridge": "Bridge",
-                        "tunnel": "Tunnel",
-                        "embankment": "Embankment",
-                        "cutting": "Cutting",
-                        "ford": "Ford"
-                    }
-                }
-            },
-            "studio_type": {
-                "key": "type",
-                "type": "combo",
-                "options": [
-                    "audio",
-                    "video"
-                ],
-                "label": "Type"
-            },
-            "supervised": {
-                "key": "supervised",
-                "type": "check",
-                "label": "Supervised"
-            },
-            "surface": {
-                "key": "surface",
-                "type": "combo",
-                "label": "Surface"
-            },
-            "tactile_paving": {
-                "key": "tactile_paving",
-                "type": "check",
-                "label": "Tactile Paving"
-            },
-            "toilets/disposal": {
-                "key": "toilets:disposal",
-                "type": "combo",
-                "label": "Disposal"
-            },
-            "tourism": {
-                "key": "tourism",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "towertype": {
-                "key": "tower:type",
-                "type": "combo",
-                "label": "Tower type"
-            },
-            "tracktype": {
-                "key": "tracktype",
-                "type": "combo",
-                "label": "Type"
-            },
-            "trail_visibility": {
-                "key": "trail_visibility",
-                "type": "combo",
-                "label": "Trail Visibility"
-            },
-            "tree_type": {
-                "key": "type",
-                "type": "combo",
-                "options": [
-                    "broad_leaved",
-                    "conifer",
-                    "palm"
-                ],
-                "label": "Type"
-            },
-            "trees": {
-                "key": "trees",
-                "type": "combo",
-                "label": "Trees"
-            },
-            "tunnel": {
-                "key": "tunnel",
-                "type": "combo",
-                "label": "Tunnel"
-            },
-            "vending": {
-                "key": "vending",
-                "type": "combo",
-                "label": "Type of Goods"
-            },
-            "water": {
-                "key": "water",
-                "type": "combo",
-                "label": "Type"
-            },
-            "waterway": {
-                "key": "waterway",
-                "type": "typeCombo",
-                "label": "Type"
-            },
-            "website": {
-                "key": "website",
-                "type": "url",
-                "icon": "website",
-                "placeholder": "http://example.com/",
-                "universal": true,
-                "label": "Website"
-            },
-            "wetland": {
-                "key": "wetland",
-                "type": "combo",
-                "label": "Type"
-            },
-            "wheelchair": {
-                "key": "wheelchair",
-                "type": "radio",
-                "options": [
-                    "yes",
-                    "limited",
-                    "no"
-                ],
-                "icon": "wheelchair",
-                "universal": true,
-                "label": "Wheelchair Access"
-            },
-            "width": {
-                "key": "width",
-                "type": "number",
-                "label": "Width (Meters)"
-            },
-            "wikipedia": {
-                "key": "wikipedia",
-                "type": "wikipedia",
-                "icon": "wikipedia",
-                "universal": true,
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "key": "wood",
-                "type": "combo",
-                "label": "Type"
-            }
-        }
-    },
-    "imperial": {
-        "type": "FeatureCollection",
-        "features": [
-            {
-                "type": "Feature",
-                "properties": {
-                    "id": 0
-                },
-                "geometry": {
-                    "type": "MultiPolygon",
-                    "coordinates": [
-                        [
-                            [
-                                [
-                                    -1.426496,
-                                    50.639342
-                                ],
-                                [
-                                    -1.445953,
-                                    50.648139
-                                ],
-                                [
-                                    -1.452789,
-                                    50.654283
-                                ],
-                                [
-                                    -1.485951,
-                                    50.669338
-                                ],
-                                [
-                                    -1.497426,
-                                    50.672309
-                                ],
-                                [
-                                    -1.535146,
-                                    50.669379
-                                ],
-                                [
-                                    -1.551503,
-                                    50.665107
-                                ],
-                                [
-                                    -1.569488,
-                                    50.658026
-                                ],
-                                [
-                                    -1.545318,
-                                    50.686103
-                                ],
-                                [
-                                    -1.50593,
-                                    50.707709
-                                ],
-                                [
-                                    -1.418691,
-                                    50.733791
-                                ],
-                                [
-                                    -1.420888,
-                                    50.730455
-                                ],
-                                [
-                                    -1.423451,
-                                    50.7237
-                                ],
-                                [
-                                    -1.425364,
-                                    50.72012
-                                ],
-                                [
-                                    -1.400868,
-                                    50.721991
-                                ],
-                                [
-                                    -1.377553,
-                                    50.734198
-                                ],
-                                [
-                                    -1.343495,
-                                    50.761054
-                                ],
-                                [
-                                    -1.318512,
-                                    50.772162
-                                ],
-                                [
-                                    -1.295766,
-                                    50.773179
-                                ],
-                                [
-                                    -1.144276,
-                                    50.733791
-                                ],
-                                [
-                                    -1.119537,
-                                    50.734198
-                                ],
-                                [
-                                    -1.10912,
-                                    50.732856
-                                ],
-                                [
-                                    -1.097035,
-                                    50.726955
-                                ],
-                                [
-                                    -1.096425,
-                                    50.724433
-                                ],
-                                [
-                                    -1.097646,
-                                    50.71601
-                                ],
-                                [
-                                    -1.097035,
-                                    50.713324
-                                ],
-                                [
-                                    -1.094228,
-                                    50.712633
-                                ],
-                                [
-                                    -1.085561,
-                                    50.714016
-                                ],
-                                [
-                                    -1.082753,
-                                    50.713324
-                                ],
-                                [
-                                    -1.062327,
-                                    50.692816
-                                ],
-                                [
-                                    -1.062327,
-                                    50.685289
-                                ],
-                                [
-                                    -1.066965,
-                                    50.685248
-                                ],
-                                [
-                                    -1.069651,
-                                    50.683498
-                                ],
-                                [
-                                    -1.071889,
-                                    50.680976
-                                ],
-                                [
-                                    -1.075307,
-                                    50.678534
-                                ],
-                                [
-                                    -1.112701,
-                                    50.671454
-                                ],
-                                [
-                                    -1.128651,
-                                    50.666449
-                                ],
-                                [
-                                    -1.156361,
-                                    50.650784
-                                ],
-                                [
-                                    -1.162221,
-                                    50.645982
-                                ],
-                                [
-                                    -1.164703,
-                                    50.640937
-                                ],
-                                [
-                                    -1.164666,
-                                    50.639543
-                                ],
-                                [
-                                    -1.426496,
-                                    50.639342
-                                ]
-                            ]
-                        ],
-                        [
-                            [
-                                [
-                                    -7.240314,
-                                    55.050389
-                                ],
-                                [
-                                    -7.013736,
-                                    55.1615
-                                ],
-                                [
-                                    -6.958913,
-                                    55.20349
-                                ],
-                                [
-                                    -6.571562,
-                                    55.268366
-                                ],
-                                [
-                                    -6.509633,
-                                    55.31398
-                                ],
-                                [
-                                    -6.226158,
-                                    55.344406
-                                ],
-                                [
-                                    -6.07105,
-                                    55.25001
-                                ],
-                                [
-                                    -5.712696,
-                                    55.017635
-                                ],
-                                [
-                                    -5.242021,
-                                    54.415204
-                                ],
-                                [
-                                    -5.695554,
-                                    54.14284
-                                ],
-                                [
-                                    -5.72473,
-                                    54.07455
-                                ],
-                                [
-                                    -6.041633,
-                                    54.006238
-                                ],
-                                [
-                                    -6.153953,
-                                    54.054931
-                                ],
-                                [
-                                    -6.220539,
-                                    54.098803
-                                ],
-                                [
-                                    -6.242502,
-                                    54.099758
-                                ],
-                                [
-                                    -6.263661,
-                                    54.104682
-                                ],
-                                [
-                                    -6.269887,
-                                    54.097927
-                                ],
-                                [
-                                    -6.28465,
-                                    54.105226
-                                ],
-                                [
-                                    -6.299585,
-                                    54.104037
-                                ],
-                                [
-                                    -6.313796,
-                                    54.099696
-                                ],
-                                [
-                                    -6.327128,
-                                    54.097888
-                                ],
-                                [
-                                    -6.338962,
-                                    54.102952
-                                ],
-                                [
-                                    -6.346662,
-                                    54.109877
-                                ],
-                                [
-                                    -6.354827,
-                                    54.110652
-                                ],
-                                [
-                                    -6.368108,
-                                    54.097319
-                                ],
-                                [
-                                    -6.369348,
-                                    54.091118
-                                ],
-                                [
-                                    -6.367643,
-                                    54.083418
-                                ],
-                                [
-                                    -6.366919,
-                                    54.075098
-                                ],
-                                [
-                                    -6.371157,
-                                    54.066778
-                                ],
-                                [
-                                    -6.377513,
-                                    54.063264
-                                ],
-                                [
-                                    -6.401026,
-                                    54.060887
-                                ],
-                                [
-                                    -6.426761,
-                                    54.05541
-                                ],
-                                [
-                                    -6.433892,
-                                    54.055306
-                                ],
-                                [
-                                    -6.4403,
-                                    54.057993
-                                ],
-                                [
-                                    -6.446243,
-                                    54.062438
-                                ],
-                                [
-                                    -6.450222,
-                                    54.066675
-                                ],
-                                [
-                                    -6.450894,
-                                    54.068432
-                                ],
-                                [
-                                    -6.47854,
-                                    54.067709
-                                ],
-                                [
-                                    -6.564013,
-                                    54.04895
-                                ],
-                                [
-                                    -6.571868,
-                                    54.049519
-                                ],
-                                [
-                                    -6.587164,
-                                    54.053343
-                                ],
-                                [
-                                    -6.595071,
-                                    54.052412
-                                ],
-                                [
-                                    -6.60029,
-                                    54.04895
-                                ],
-                                [
-                                    -6.605217,
-                                    54.044475
-                                ],
-                                [
-                                    -6.610987,
-                                    54.039235
-                                ],
-                                [
-                                    -6.616465,
-                                    54.037271
-                                ],
-                                [
-                                    -6.630624,
-                                    54.041819
-                                ],
-                                [
-                                    -6.657289,
-                                    54.061146
-                                ],
-                                [
-                                    -6.672534,
-                                    54.068432
-                                ],
-                                [
-                                    -6.657082,
-                                    54.091945
-                                ],
-                                [
-                                    -6.655791,
-                                    54.103314
-                                ],
-                                [
-                                    -6.666436,
-                                    54.114786
-                                ],
-                                [
-                                    -6.643957,
-                                    54.131839
-                                ],
-                                [
-                                    -6.634552,
-                                    54.150133
-                                ],
-                                [
-                                    -6.640339,
-                                    54.168013
-                                ],
-                                [
-                                    -6.648448,
-                                    54.173665
-                                ],
-                                [
-                                    -6.663025,
-                                    54.183826
-                                ],
-                                [
-                                    -6.683954,
-                                    54.194368
-                                ],
-                                [
-                                    -6.694651,
-                                    54.197985
-                                ],
-                                [
-                                    -6.706537,
-                                    54.198915
-                                ],
-                                [
-                                    -6.717234,
-                                    54.195143
-                                ],
-                                [
-                                    -6.724779,
-                                    54.188631
-                                ],
-                                [
-                                    -6.73284,
-                                    54.183567
-                                ],
-                                [
-                                    -6.744777,
-                                    54.184187
-                                ],
-                                [
-                                    -6.766481,
-                                    54.192352
-                                ],
-                                [
-                                    -6.787824,
-                                    54.202998
-                                ],
-                                [
-                                    -6.807358,
-                                    54.21633
-                                ],
-                                [
-                                    -6.823946,
-                                    54.23235
-                                ],
-                                [
-                                    -6.829733,
-                                    54.242375
-                                ],
-                                [
-                                    -6.833196,
-                                    54.25209
-                                ],
-                                [
-                                    -6.837743,
-                                    54.260513
-                                ],
-                                [
-                                    -6.846683,
-                                    54.266456
-                                ],
-                                [
-                                    -6.882185,
-                                    54.277257
-                                ],
-                                [
-                                    -6.864667,
-                                    54.282734
-                                ],
-                                [
-                                    -6.856657,
-                                    54.292811
-                                ],
-                                [
-                                    -6.858414,
-                                    54.307332
-                                ],
-                                [
-                                    -6.870015,
-                                    54.326001
-                                ],
-                                [
-                                    -6.879705,
-                                    54.341594
-                                ],
-                                [
-                                    -6.885957,
-                                    54.345624
-                                ],
-                                [
-                                    -6.897895,
-                                    54.346193
-                                ],
-                                [
-                                    -6.905956,
-                                    54.349035
-                                ],
-                                [
-                                    -6.915051,
-                                    54.365933
-                                ],
-                                [
-                                    -6.922028,
-                                    54.372703
-                                ],
-                                [
-                                    -6.984091,
-                                    54.403089
-                                ],
-                                [
-                                    -7.017836,
-                                    54.413166
-                                ],
-                                [
-                                    -7.049255,
-                                    54.411512
-                                ],
-                                [
-                                    -7.078504,
-                                    54.394717
-                                ],
-                                [
-                                    -7.127028,
-                                    54.349759
-                                ],
-                                [
-                                    -7.159894,
-                                    54.335186
-                                ],
-                                [
-                                    -7.168059,
-                                    54.335031
-                                ],
-                                [
-                                    -7.185629,
-                                    54.336943
-                                ],
-                                [
-                                    -7.18947,
-                                    54.335692
-                                ],
-                                [
-                                    -7.19245,
-                                    54.334721
-                                ],
-                                [
-                                    -7.193949,
-                                    54.329967
-                                ],
-                                [
-                                    -7.191468,
-                                    54.323869
-                                ],
-                                [
-                                    -7.187644,
-                                    54.318804
-                                ],
-                                [
-                                    -7.185009,
-                                    54.317254
-                                ],
-                                [
-                                    -7.184647,
-                                    54.316634
-                                ],
-                                [
-                                    -7.192399,
-                                    54.307384
-                                ],
-                                [
-                                    -7.193691,
-                                    54.307539
-                                ],
-                                [
-                                    -7.199168,
-                                    54.303457
-                                ],
-                                [
-                                    -7.206661,
-                                    54.304903
-                                ],
-                                [
-                                    -7.211467,
-                                    54.30418
-                                ],
-                                [
-                                    -7.209038,
-                                    54.293431
-                                ],
-                                [
-                                    -7.1755,
-                                    54.283664
-                                ],
-                                [
-                                    -7.181495,
-                                    54.269763
-                                ],
-                                [
-                                    -7.14589,
-                                    54.25209
-                                ],
-                                [
-                                    -7.159739,
-                                    54.24067
-                                ],
-                                [
-                                    -7.153331,
-                                    54.224237
-                                ],
-                                [
-                                    -7.174725,
-                                    54.216072
-                                ],
-                                [
-                                    -7.229502,
-                                    54.207545
-                                ],
-                                [
-                                    -7.240871,
-                                    54.202326
-                                ],
-                                [
-                                    -7.249088,
-                                    54.197416
-                                ],
-                                [
-                                    -7.255496,
-                                    54.190854
-                                ],
-                                [
-                                    -7.261128,
-                                    54.18088
-                                ],
-                                [
-                                    -7.256322,
-                                    54.176901
-                                ],
-                                [
-                                    -7.247021,
-                                    54.17225
-                                ],
-                                [
-                                    -7.24578,
-                                    54.166979
-                                ],
-                                [
-                                    -7.265366,
-                                    54.16114
-                                ],
-                                [
-                                    -7.26087,
-                                    54.151166
-                                ],
-                                [
-                                    -7.263505,
-                                    54.140986
-                                ],
-                                [
-                                    -7.27074,
-                                    54.132253
-                                ],
-                                [
-                                    -7.280042,
-                                    54.126155
-                                ],
-                                [
-                                    -7.293788,
-                                    54.122021
-                                ],
-                                [
-                                    -7.297353,
-                                    54.125896
-                                ],
-                                [
-                                    -7.29632,
-                                    54.134991
-                                ],
-                                [
-                                    -7.296423,
-                                    54.146515
-                                ],
-                                [
-                                    -7.295028,
-                                    54.155404
-                                ],
-                                [
-                                    -7.292134,
-                                    54.162638
-                                ],
-                                [
-                                    -7.295545,
-                                    54.165119
-                                ],
-                                [
-                                    -7.325982,
-                                    54.154577
-                                ],
-                                [
-                                    -7.333165,
-                                    54.149409
-                                ],
-                                [
-                                    -7.333165,
-                                    54.142743
-                                ],
-                                [
-                                    -7.310324,
-                                    54.114683
-                                ],
-                                [
-                                    -7.316489,
-                                    54.11428
-                                ],
-                                [
-                                    -7.326964,
-                                    54.113597
-                                ],
-                                [
-                                    -7.375488,
-                                    54.123312
-                                ],
-                                [
-                                    -7.390216,
-                                    54.121194
-                                ],
-                                [
-                                    -7.39466,
-                                    54.121917
-                                ],
-                                [
-                                    -7.396624,
-                                    54.126258
-                                ],
-                                [
-                                    -7.403962,
-                                    54.135043
-                                ],
-                                [
-                                    -7.41223,
-                                    54.136438
-                                ],
-                                [
-                                    -7.422255,
-                                    54.135456
-                                ],
-                                [
-                                    -7.425769,
-                                    54.136955
-                                ],
-                                [
-                                    -7.414659,
-                                    54.145688
-                                ],
-                                [
-                                    -7.439619,
-                                    54.146929
-                                ],
-                                [
-                                    -7.480753,
-                                    54.127653
-                                ],
-                                [
-                                    -7.502302,
-                                    54.125121
-                                ],
-                                [
-                                    -7.609014,
-                                    54.139901
-                                ],
-                                [
-                                    -7.620796,
-                                    54.144965
-                                ],
-                                [
-                                    -7.624052,
-                                    54.153336
-                                ],
-                                [
-                                    -7.625706,
-                                    54.162173
-                                ],
-                                [
-                                    -7.632682,
-                                    54.168529
-                                ],
-                                [
-                                    -7.70477,
-                                    54.200362
-                                ],
-                                [
-                                    -7.722599,
-                                    54.202326
-                                ],
-                                [
-                                    -7.782078,
-                                    54.2
-                                ],
-                                [
-                                    -7.836959,
-                                    54.204341
-                                ],
-                                [
-                                    -7.856441,
-                                    54.211421
-                                ],
-                                [
-                                    -7.86967,
-                                    54.226872
-                                ],
-                                [
-                                    -7.873649,
-                                    54.271055
-                                ],
-                                [
-                                    -7.880264,
-                                    54.287023
-                                ],
-                                [
-                                    -7.894966,
-                                    54.293586
-                                ],
-                                [
-                                    -7.93411,
-                                    54.297049
-                                ],
-                                [
-                                    -7.942075,
-                                    54.298873
-                                ],
-                                [
-                                    -7.950802,
-                                    54.300873
-                                ],
-                                [
-                                    -7.96801,
-                                    54.31219
-                                ],
-                                [
-                                    -7.981033,
-                                    54.326556
-                                ],
-                                [
-                                    -8.002194,
-                                    54.357923
-                                ],
-                                [
-                                    -8.03134,
-                                    54.358027
-                                ],
-                                [
-                                    -8.05648,
-                                    54.365882
-                                ],
-                                [
-                                    -8.079941,
-                                    54.380196
-                                ],
-                                [
-                                    -8.122419,
-                                    54.415233
-                                ],
-                                [
-                                    -8.146346,
-                                    54.430736
-                                ],
-                                [
-                                    -8.156035,
-                                    54.439055
-                                ],
-                                [
-                                    -8.158128,
-                                    54.447117
-                                ],
-                                [
-                                    -8.161177,
-                                    54.454817
-                                ],
-                                [
-                                    -8.173837,
-                                    54.461741
-                                ],
-                                [
-                                    -8.168467,
-                                    54.463477
-                                ],
-                                [
-                                    -8.15017,
-                                    54.46939
-                                ],
-                                [
-                                    -8.097046,
-                                    54.478588
-                                ],
-                                [
-                                    -8.072448,
-                                    54.487063
-                                ],
-                                [
-                                    -8.060976,
-                                    54.493316
-                                ],
-                                [
-                                    -8.05586,
-                                    54.497553
-                                ],
-                                [
-                                    -8.043561,
-                                    54.512229
-                                ],
-                                [
-                                    -8.023278,
-                                    54.529696
-                                ],
-                                [
-                                    -8.002194,
-                                    54.543442
-                                ],
-                                [
-                                    -7.926411,
-                                    54.533055
-                                ],
-                                [
-                                    -7.887137,
-                                    54.532125
-                                ],
-                                [
-                                    -7.848844,
-                                    54.54091
-                                ],
-                                [
-                                    -7.749264,
-                                    54.596152
-                                ],
-                                [
-                                    -7.707871,
-                                    54.604162
-                                ],
-                                [
-                                    -7.707944,
-                                    54.604708
-                                ],
-                                [
-                                    -7.707951,
-                                    54.604763
-                                ],
-                                [
-                                    -7.710558,
-                                    54.624264
-                                ],
-                                [
-                                    -7.721204,
-                                    54.625866
-                                ],
-                                [
-                                    -7.736758,
-                                    54.619251
-                                ],
-                                [
-                                    -7.753553,
-                                    54.614497
-                                ],
-                                [
-                                    -7.769159,
-                                    54.618011
-                                ],
-                                [
-                                    -7.801199,
-                                    54.634806
-                                ],
-                                [
-                                    -7.814996,
-                                    54.639457
-                                ],
-                                [
-                                    -7.822541,
-                                    54.638113
-                                ],
-                                [
-                                    -7.838044,
-                                    54.63124
-                                ],
-                                [
-                                    -7.846416,
-                                    54.631447
-                                ],
-                                [
-                                    -7.85427,
-                                    54.636408
-                                ],
-                                [
-                                    -7.864347,
-                                    54.649069
-                                ],
-                                [
-                                    -7.872771,
-                                    54.652221
-                                ],
-                                [
-                                    -7.890082,
-                                    54.655063
-                                ],
-                                [
-                                    -7.906619,
-                                    54.661316
-                                ],
-                                [
-                                    -7.914835,
-                                    54.671651
-                                ],
-                                [
-                                    -7.907135,
-                                    54.686689
-                                ],
-                                [
-                                    -7.913233,
-                                    54.688653
-                                ],
-                                [
-                                    -7.929666,
-                                    54.696714
-                                ],
-                                [
-                                    -7.880109,
-                                    54.711029
-                                ],
-                                [
-                                    -7.845899,
-                                    54.731027
-                                ],
-                                [
-                                    -7.832153,
-                                    54.730614
-                                ],
-                                [
-                                    -7.803576,
-                                    54.716145
-                                ],
-                                [
-                                    -7.770503,
-                                    54.706016
-                                ],
-                                [
-                                    -7.736603,
-                                    54.707463
-                                ],
-                                [
-                                    -7.70229,
-                                    54.718883
-                                ],
-                                [
-                                    -7.667512,
-                                    54.738779
-                                ],
-                                [
-                                    -7.649683,
-                                    54.744877
-                                ],
-                                [
-                                    -7.61537,
-                                    54.739347
-                                ],
-                                [
-                                    -7.585398,
-                                    54.744722
-                                ],
-                                [
-                                    -7.566639,
-                                    54.738675
-                                ],
-                                [
-                                    -7.556149,
-                                    54.738365
-                                ],
-                                [
-                                    -7.543075,
-                                    54.741673
-                                ],
-                                [
-                                    -7.543023,
-                                    54.743791
-                                ],
-                                [
-                                    -7.548398,
-                                    54.747202
-                                ],
-                                [
-                                    -7.551705,
-                                    54.754695
-                                ],
-                                [
-                                    -7.549741,
-                                    54.779603
-                                ],
-                                [
-                                    -7.543385,
-                                    54.793091
-                                ],
-                                [
-                                    -7.470831,
-                                    54.845284
-                                ],
-                                [
-                                    -7.45507,
-                                    54.863009
-                                ],
-                                [
-                                    -7.444735,
-                                    54.884455
-                                ],
-                                [
-                                    -7.444735,
-                                    54.894893
-                                ],
-                                [
-                                    -7.448972,
-                                    54.920318
-                                ],
-                                [
-                                    -7.445251,
-                                    54.932152
-                                ],
-                                [
-                                    -7.436983,
-                                    54.938301
-                                ],
-                                [
-                                    -7.417139,
-                                    54.943056
-                                ],
-                                [
-                                    -7.415755,
-                                    54.944372
-                                ],
-                                [
-                                    -7.408665,
-                                    54.951117
-                                ],
-                                [
-                                    -7.407424,
-                                    54.959437
-                                ],
-                                [
-                                    -7.413109,
-                                    54.984965
-                                ],
-                                [
-                                    -7.409078,
-                                    54.992045
-                                ],
-                                [
-                                    -7.403755,
-                                    54.99313
-                                ],
-                                [
-                                    -7.40112,
-                                    54.994836
-                                ],
-                                [
-                                    -7.405254,
-                                    55.003569
-                                ],
-                                [
-                                    -7.376987,
-                                    55.02889
-                                ],
-                                [
-                                    -7.366962,
-                                    55.035557
-                                ],
-                                [
-                                    -7.355024,
-                                    55.040931
-                                ],
-                                [
-                                    -7.291152,
-                                    55.046615
-                                ],
-                                [
-                                    -7.282987,
-                                    55.051835
-                                ],
-                                [
-                                    -7.275288,
-                                    55.058863
-                                ],
-                                [
-                                    -7.266503,
-                                    55.065167
-                                ],
-                                [
-                                    -7.247097,
-                                    55.069328
-                                ],
-                                [
-                                    -7.2471,
-                                    55.069322
-                                ],
-                                [
-                                    -7.256744,
-                                    55.050686
-                                ],
-                                [
-                                    -7.240956,
-                                    55.050279
-                                ],
-                                [
-                                    -7.240314,
-                                    55.050389
-                                ]
-                            ]
-                        ],
-                        [
-                            [
-                                [
-                                    -13.688588,
-                                    57.596259
-                                ],
-                                [
-                                    -13.690419,
-                                    57.596259
-                                ],
-                                [
-                                    -13.691314,
-                                    57.596503
-                                ],
-                                [
-                                    -13.691314,
-                                    57.597154
-                                ],
-                                [
-                                    -13.690419,
-                                    57.597805
-                                ],
-                                [
-                                    -13.688588,
-                                    57.597805
-                                ],
-                                [
-                                    -13.687652,
-                                    57.597154
-                                ],
-                                [
-                                    -13.687652,
-                                    57.596869
-                                ],
-                                [
-                                    -13.688588,
-                                    57.596259
-                                ]
-                            ]
-                        ],
-                        [
-                            [
-                                [
-                                    -4.839121,
-                                    54.469789
-                                ],
-                                [
-                                    -4.979941,
-                                    54.457977
-                                ],
-                                [
-                                    -5.343644,
-                                    54.878637
-                                ],
-                                [
-                                    -5.308469,
-                                    55.176452
-                                ],
-                                [
-                                    -6.272566,
-                                    55.418443
-                                ],
-                                [
-                                    -8.690528,
-                                    57.833706
-                                ],
-                                [
-                                    -6.344705,
-                                    59.061083
-                                ],
-                                [
-                                    -4.204785,
-                                    58.63305
-                                ],
-                                [
-                                    -2.31566,
-                                    60.699068
-                                ],
-                                [
-                                    -1.695335,
-                                    60.76432
-                                ],
-                                [
-                                    -1.58092,
-                                    60.866001
-                                ],
-                                [
-                                    -0.17022,
-                                    60.897204
-                                ],
-                                [
-                                    -0.800508,
-                                    59.770037
-                                ],
-                                [
-                                    -1.292368,
-                                    57.732574
-                                ],
-                                [
-                                    -1.850077,
-                                    55.766368
-                                ],
-                                [
-                                    -1.73054,
-                                    55.782219
-                                ],
-                                [
-                                    1.892395,
-                                    52.815229
-                                ],
-                                [
-                                    1.742775,
-                                    51.364209
-                                ],
-                                [
-                                    1.080173,
-                                    50.847526
-                                ],
-                                [
-                                    0.000774,
-                                    50.664982
-                                ],
-                                [
-                                    -0.162997,
-                                    50.752401
-                                ],
-                                [
-                                    -0.725152,
-                                    50.731879
-                                ],
-                                [
-                                    -0.768853,
-                                    50.741516
-                                ],
-                                [
-                                    -0.770985,
-                                    50.736884
-                                ],
-                                [
-                                    -0.789947,
-                                    50.730048
-                                ],
-                                [
-                                    -0.812815,
-                                    50.734768
-                                ],
-                                [
-                                    -0.877742,
-                                    50.761156
-                                ],
-                                [
-                                    -0.942879,
-                                    50.758338
-                                ],
-                                [
-                                    -0.992581,
-                                    50.737379
-                                ],
-                                [
-                                    -1.18513,
-                                    50.766989
-                                ],
-                                [
-                                    -1.282741,
-                                    50.792353
-                                ],
-                                [
-                                    -1.375004,
-                                    50.772063
-                                ],
-                                [
-                                    -1.523427,
-                                    50.719605
-                                ],
-                                [
-                                    -1.630649,
-                                    50.695128
-                                ],
-                                [
-                                    -1.663617,
-                                    50.670508
-                                ],
-                                [
-                                    -1.498021,
-                                    50.40831
-                                ],
-                                [
-                                    -4.097427,
-                                    49.735486
-                                ],
-                                [
-                                    -6.825199,
-                                    49.700905
-                                ],
-                                [
-                                    -5.541541,
-                                    51.446591
-                                ],
-                                [
-                                    -6.03361,
-                                    51.732369
-                                ],
-                                [
-                                    -4.791746,
-                                    52.635365
-                                ],
-                                [
-                                    -4.969244,
-                                    52.637413
-                                ],
-                                [
-                                    -5.049473,
-                                    53.131209
-                                ],
-                                [
-                                    -4.787393,
-                                    53.409491
-                                ],
-                                [
-                                    -4.734148,
-                                    53.424866
-                                ],
-                                [
-                                    -4.917096,
-                                    53.508212
-                                ],
-                                [
-                                    -4.839121,
-                                    54.469789
-                                ]
-                            ]
-                        ]
-                    ]
-                }
-            },
-            {
-                "type": "Feature",
-                "properties": {
-                    "id": 0
-                },
-                "geometry": {
-                    "type": "MultiPolygon",
-                    "coordinates": [
-                        [
-                            [
-                                [
-                                    -157.018938,
-                                    19.300864
-                                ],
-                                [
-                                    -179.437336,
-                                    27.295312
-                                ],
-                                [
-                                    -179.480084,
-                                    28.991459
-                                ],
-                                [
-                                    -168.707465,
-                                    26.30325
-                                ],
-                                [
-                                    -163.107414,
-                                    24.60499
-                                ],
-                                [
-                                    -153.841679,
-                                    20.079306
-                                ],
-                                [
-                                    -154.233846,
-                                    19.433391
-                                ],
-                                [
-                                    -153.61725,
-                                    18.900587
-                                ],
-                                [
-                                    -154.429471,
-                                    18.171036
-                                ],
-                                [
-                                    -156.780638,
-                                    18.718492
-                                ],
-                                [
-                                    -157.018938,
-                                    19.300864
-                                ]
-                            ]
-                        ],
-                        [
-                            [
-                                [
-                                    -78.91269,
-                                    43.037032
-                                ],
-                                [
-                                    -78.964351,
-                                    42.976393
-                                ],
-                                [
-                                    -78.981718,
-                                    42.979043
-                                ],
-                                [
-                                    -78.998055,
-                                    42.991111
-                                ],
-                                [
-                                    -79.01189,
-                                    43.004358
-                                ],
-                                [
-                                    -79.022046,
-                                    43.010539
-                                ],
-                                [
-                                    -79.023076,
-                                    43.017015
-                                ],
-                                [
-                                    -79.00983,
-                                    43.050867
-                                ],
-                                [
-                                    -79.011449,
-                                    43.065291
-                                ],
-                                [
-                                    -78.993051,
-                                    43.066174
-                                ],
-                                [
-                                    -78.975536,
-                                    43.069707
-                                ],
-                                [
-                                    -78.958905,
-                                    43.070884
-                                ],
-                                [
-                                    -78.943304,
-                                    43.065291
-                                ],
-                                [
-                                    -78.917399,
-                                    43.058521
-                                ],
-                                [
-                                    -78.908569,
-                                    43.049396
-                                ],
-                                [
-                                    -78.91269,
-                                    43.037032
-                                ]
-                            ]
-                        ],
-                        [
-                            [
-                                [
-                                    -123.03529,
-                                    48.992515
-                                ],
-                                [
-                                    -123.035308,
-                                    48.992499
-                                ],
-                                [
-                                    -123.045277,
-                                    48.984361
-                                ],
-                                [
-                                    -123.08849,
-                                    48.972235
-                                ],
-                                [
-                                    -123.089345,
-                                    48.987982
-                                ],
-                                [
-                                    -123.090484,
-                                    48.992499
-                                ],
-                                [
-                                    -123.090488,
-                                    48.992515
-                                ],
-                                [
-                                    -123.035306,
-                                    48.992515
-                                ],
-                                [
-                                    -123.03529,
-                                    48.992515
-                                ]
-                            ]
-                        ],
-                        [
-                            [
-                                [
-                                    -103.837038,
-                                    29.279906
-                                ],
-                                [
-                                    -103.864121,
-                                    29.281366
-                                ],
-                                [
-                                    -103.928122,
-                                    29.293019
-                                ],
-                                [
-                                    -104.01915,
-                                    29.32033
-                                ],
-                                [
-                                    -104.057313,
-                                    29.339037
-                                ],
-                                [
-                                    -104.105424,
-                                    29.385675
-                                ],
-                                [
-                                    -104.139789,
-                                    29.400584
-                                ],
-                                [
-                                    -104.161648,
-                                    29.416759
-                                ],
-                                [
-                                    -104.194514,
-                                    29.448927
-                                ],
-                                [
-                                    -104.212291,
-                                    29.484661
-                                ],
-                                [
-                                    -104.218698,
-                                    29.489829
-                                ],
-                                [
-                                    -104.227148,
-                                    29.493033
-                                ],
-                                [
-                                    -104.251022,
-                                    29.508588
-                                ],
-                                [
-                                    -104.267171,
-                                    29.526571
-                                ],
-                                [
-                                    -104.292751,
-                                    29.532824
-                                ],
-                                [
-                                    -104.320604,
-                                    29.532255
-                                ],
-                                [
-                                    -104.338484,
-                                    29.524013
-                                ],
-                                [
-                                    -104.349026,
-                                    29.537578
-                                ],
-                                [
-                                    -104.430443,
-                                    29.582795
-                                ],
-                                [
-                                    -104.437832,
-                                    29.58543
-                                ],
-                                [
-                                    -104.444008,
-                                    29.589203
-                                ],
-                                [
-                                    -104.448555,
-                                    29.597678
-                                ],
-                                [
-                                    -104.452069,
-                                    29.607109
-                                ],
-                                [
-                                    -104.455222,
-                                    29.613387
-                                ],
-                                [
-                                    -104.469381,
-                                    29.625402
-                                ],
-                                [
-                                    -104.516639,
-                                    29.654315
-                                ],
-                                [
-                                    -104.530824,
-                                    29.667906
-                                ],
-                                [
-                                    -104.535036,
-                                    29.677802
-                                ],
-                                [
-                                    -104.535191,
-                                    29.687853
-                                ],
-                                [
-                                    -104.537103,
-                                    29.702116
-                                ],
-                                [
-                                    -104.543666,
-                                    29.71643
-                                ],
-                                [
-                                    -104.561391,
-                                    29.745421
-                                ],
-                                [
-                                    -104.570279,
-                                    29.787511
-                                ],
-                                [
-                                    -104.583586,
-                                    29.802575
-                                ],
-                                [
-                                    -104.601207,
-                                    29.81477
-                                ],
-                                [
-                                    -104.619682,
-                                    29.833064
-                                ],
-                                [
-                                    -104.623764,
-                                    29.841487
-                                ],
-                                [
-                                    -104.637588,
-                                    29.887996
-                                ],
-                                [
-                                    -104.656346,
-                                    29.908201
-                                ],
-                                [
-                                    -104.660635,
-                                    29.918433
-                                ],
-                                [
-                                    -104.663478,
-                                    29.923084
-                                ],
-                                [
-                                    -104.676526,
-                                    29.93683
-                                ],
-                                [
-                                    -104.680479,
-                                    29.942308
-                                ],
-                                [
-                                    -104.682469,
-                                    29.952126
-                                ],
-                                [
-                                    -104.680117,
-                                    29.967784
-                                ],
-                                [
-                                    -104.680479,
-                                    29.976466
-                                ],
-                                [
-                                    -104.699108,
-                                    30.03145
-                                ],
-                                [
-                                    -104.701589,
-                                    30.055324
-                                ],
-                                [
-                                    -104.698592,
-                                    30.075271
-                                ],
-                                [
-                                    -104.684639,
-                                    30.111135
-                                ],
-                                [
-                                    -104.680479,
-                                    30.134131
-                                ],
-                                [
-                                    -104.67867,
-                                    30.170356
-                                ],
-                                [
-                                    -104.681564,
-                                    30.192939
-                                ],
-                                [
-                                    -104.695853,
-                                    30.208441
-                                ],
-                                [
-                                    -104.715231,
-                                    30.243995
-                                ],
-                                [
-                                    -104.724585,
-                                    30.252211
-                                ],
-                                [
-                                    -104.742155,
-                                    30.25986
-                                ],
-                                [
-                                    -104.74939,
-                                    30.264459
-                                ],
-                                [
-                                    -104.761689,
-                                    30.284199
-                                ],
-                                [
-                                    -104.774143,
-                                    30.311588
-                                ],
-                                [
-                                    -104.788767,
-                                    30.335927
-                                ],
-                                [
-                                    -104.807732,
-                                    30.346418
-                                ],
-                                [
-                                    -104.8129,
-                                    30.350707
-                                ],
-                                [
-                                    -104.814967,
-                                    30.360577
-                                ],
-                                [
-                                    -104.816001,
-                                    30.371997
-                                ],
-                                [
-                                    -104.818274,
-                                    30.380524
-                                ],
-                                [
-                                    -104.824269,
-                                    30.38719
-                                ],
-                                [
-                                    -104.83755,
-                                    30.394063
-                                ],
-                                [
-                                    -104.844939,
-                                    30.40104
-                                ],
-                                [
-                                    -104.853259,
-                                    30.41215
-                                ],
-                                [
-                                    -104.855016,
-                                    30.417473
-                                ],
-                                [
-                                    -104.853621,
-                                    30.423984
-                                ],
-                                [
-                                    -104.852432,
-                                    30.438867
-                                ],
-                                [
-                                    -104.854655,
-                                    30.448737
-                                ],
-                                [
-                                    -104.864473,
-                                    30.462018
-                                ],
-                                [
-                                    -104.866695,
-                                    30.473025
-                                ],
-                                [
-                                    -104.865248,
-                                    30.479898
-                                ],
-                                [
-                                    -104.859615,
-                                    30.491112
-                                ],
-                                [
-                                    -104.859254,
-                                    30.497261
-                                ],
-                                [
-                                    -104.863026,
-                                    30.502377
-                                ],
-                                [
-                                    -104.879718,
-                                    30.510852
-                                ],
-                                [
-                                    -104.882146,
-                                    30.520929
-                                ],
-                                [
-                                    -104.884007,
-                                    30.541858
-                                ],
-                                [
-                                    -104.886591,
-                                    30.551883
-                                ],
-                                [
-                                    -104.898166,
-                                    30.569401
-                                ],
-                                [
-                                    -104.928242,
-                                    30.599529
-                                ],
-                                [
-                                    -104.93434,
-                                    30.610536
-                                ],
-                                [
-                                    -104.941057,
-                                    30.61405
-                                ],
-                                [
-                                    -104.972735,
-                                    30.618029
-                                ],
-                                [
-                                    -104.98276,
-                                    30.620716
-                                ],
-                                [
-                                    -104.989117,
-                                    30.629553
-                                ],
-                                [
-                                    -104.991649,
-                                    30.640301
-                                ],
-                                [
-                                    -104.992941,
-                                    30.651464
-                                ],
-                                [
-                                    -104.995783,
-                                    30.661747
-                                ],
-                                [
-                                    -105.008495,
-                                    30.676992
-                                ],
-                                [
-                                    -105.027977,
-                                    30.690117
-                                ],
-                                [
-                                    -105.049475,
-                                    30.699264
-                                ],
-                                [
-                                    -105.06813,
-                                    30.702675
-                                ],
-                                [
-                                    -105.087043,
-                                    30.709806
-                                ],
-                                [
-                                    -105.133604,
-                                    30.757917
-                                ],
-                                [
-                                    -105.140425,
-                                    30.750476
-                                ],
-                                [
-                                    -105.153241,
-                                    30.763188
-                                ],
-                                [
-                                    -105.157788,
-                                    30.76572
-                                ],
-                                [
-                                    -105.160889,
-                                    30.764118
-                                ],
-                                [
-                                    -105.162698,
-                                    30.774919
-                                ],
-                                [
-                                    -105.167297,
-                                    30.781171
-                                ],
-                                [
-                                    -105.17479,
-                                    30.783962
-                                ],
-                                [
-                                    -105.185125,
-                                    30.784634
-                                ],
-                                [
-                                    -105.195306,
-                                    30.787941
-                                ],
-                                [
-                                    -105.204917,
-                                    30.80241
-                                ],
-                                [
-                                    -105.2121,
-                                    30.805718
-                                ],
-                                [
-                                    -105.21825,
-                                    30.806803
-                                ],
-                                [
-                                    -105.229257,
-                                    30.810214
-                                ],
-                                [
-                                    -105.232874,
-                                    30.809128
-                                ],
-                                [
-                                    -105.239851,
-                                    30.801532
-                                ],
-                                [
-                                    -105.243985,
-                                    30.799103
-                                ],
-                                [
-                                    -105.249049,
-                                    30.798845
-                                ],
-                                [
-                                    -105.259488,
-                                    30.802979
-                                ],
-                                [
-                                    -105.265844,
-                                    30.808405
-                                ],
-                                [
-                                    -105.270753,
-                                    30.814348
-                                ],
-                                [
-                                    -105.277006,
-                                    30.819412
-                                ],
-                                [
-                                    -105.334315,
-                                    30.843803
-                                ],
-                                [
-                                    -105.363771,
-                                    30.850366
-                                ],
-                                [
-                                    -105.376173,
-                                    30.859565
-                                ],
-                                [
-                                    -105.41555,
-                                    30.902456
-                                ],
-                                [
-                                    -105.496682,
-                                    30.95651
-                                ],
-                                [
-                                    -105.530789,
-                                    30.991701
-                                ],
-                                [
-                                    -105.555955,
-                                    31.002605
-                                ],
-                                [
-                                    -105.565722,
-                                    31.016661
-                                ],
-                                [
-                                    -105.578641,
-                                    31.052163
-                                ],
-                                [
-                                    -105.59094,
-                                    31.071438
-                                ],
-                                [
-                                    -105.605875,
-                                    31.081928
-                                ],
-                                [
-                                    -105.623496,
-                                    31.090351
-                                ],
-                                [
-                                    -105.643805,
-                                    31.103684
-                                ],
-                                [
-                                    -105.668042,
-                                    31.127869
-                                ],
-                                [
-                                    -105.675225,
-                                    31.131951
-                                ],
-                                [
-                                    -105.692278,
-                                    31.137635
-                                ],
-                                [
-                                    -105.76819,
-                                    31.18001
-                                ],
-                                [
-                                    -105.777854,
-                                    31.192722
-                                ],
-                                [
-                                    -105.78483,
-                                    31.211016
-                                ],
-                                [
-                                    -105.861983,
-                                    31.288376
-                                ],
-                                [
-                                    -105.880147,
-                                    31.300881
-                                ],
-                                [
-                                    -105.896994,
-                                    31.305997
-                                ],
-                                [
-                                    -105.897149,
-                                    31.309511
-                                ],
-                                [
-                                    -105.908802,
-                                    31.317004
-                                ],
-                                [
-                                    -105.928052,
-                                    31.326461
-                                ],
-                                [
-                                    -105.934563,
-                                    31.335504
-                                ],
-                                [
-                                    -105.941772,
-                                    31.352351
-                                ],
-                                [
-                                    -105.948515,
-                                    31.361239
-                                ],
-                                [
-                                    -105.961202,
-                                    31.371006
-                                ],
-                                [
-                                    -106.004739,
-                                    31.396948
-                                ],
-                                [
-                                    -106.021147,
-                                    31.402167
-                                ],
-                                [
-                                    -106.046261,
-                                    31.404648
-                                ],
-                                [
-                                    -106.065304,
-                                    31.410952
-                                ],
-                                [
-                                    -106.099385,
-                                    31.428884
-                                ],
-                                [
-                                    -106.141113,
-                                    31.439167
-                                ],
-                                [
-                                    -106.164316,
-                                    31.447797
-                                ],
-                                [
-                                    -106.174471,
-                                    31.460251
-                                ],
-                                [
-                                    -106.209249,
-                                    31.477305
-                                ],
-                                [
-                                    -106.215424,
-                                    31.483919
-                                ],
-                                [
-                                    -106.21744,
-                                    31.488725
-                                ],
-                                [
-                                    -106.218731,
-                                    31.494616
-                                ],
-                                [
-                                    -106.222891,
-                                    31.50459
-                                ],
-                                [
-                                    -106.232658,
-                                    31.519938
-                                ],
-                                [
-                                    -106.274749,
-                                    31.562622
-                                ],
-                                [
-                                    -106.286298,
-                                    31.580141
-                                ],
-                                [
-                                    -106.312292,
-                                    31.648612
-                                ],
-                                [
-                                    -106.331309,
-                                    31.68215
-                                ],
-                                [
-                                    -106.35849,
-                                    31.717548
-                                ],
-                                [
-                                    -106.39177,
-                                    31.745919
-                                ],
-                                [
-                                    -106.428951,
-                                    31.758476
-                                ],
-                                [
-                                    -106.473135,
-                                    31.755065
-                                ],
-                                [
-                                    -106.492797,
-                                    31.759044
-                                ],
-                                [
-                                    -106.501425,
-                                    31.766344
-                                ],
-                                [
-                                    -106.506052,
-                                    31.770258
-                                ],
-                                [
-                                    -106.517189,
-                                    31.773824
-                                ],
-                                [
-                                    -106.558969,
-                                    31.773876
-                                ],
-                                [
-                                    -106.584859,
-                                    31.773927
-                                ],
-                                [
-                                    -106.610697,
-                                    31.773979
-                                ],
-                                [
-                                    -106.636587,
-                                    31.774082
-                                ],
-                                [
-                                    -106.662477,
-                                    31.774134
-                                ],
-                                [
-                                    -106.688315,
-                                    31.774237
-                                ],
-                                [
-                                    -106.714205,
-                                    31.774237
-                                ],
-                                [
-                                    -106.740095,
-                                    31.774289
-                                ],
-                                [
-                                    -106.765933,
-                                    31.774392
-                                ],
-                                [
-                                    -106.791823,
-                                    31.774444
-                                ],
-                                [
-                                    -106.817713,
-                                    31.774496
-                                ],
-                                [
-                                    -106.843603,
-                                    31.774547
-                                ],
-                                [
-                                    -106.869441,
-                                    31.774599
-                                ],
-                                [
-                                    -106.895331,
-                                    31.774702
-                                ],
-                                [
-                                    -106.921221,
-                                    31.774702
-                                ],
-                                [
-                                    -106.947111,
-                                    31.774754
-                                ],
-                                [
-                                    -106.973001,
-                                    31.774857
-                                ],
-                                [
-                                    -106.998891,
-                                    31.774909
-                                ],
-                                [
-                                    -107.02478,
-                                    31.774961
-                                ],
-                                [
-                                    -107.05067,
-                                    31.775013
-                                ],
-                                [
-                                    -107.076509,
-                                    31.775064
-                                ],
-                                [
-                                    -107.102398,
-                                    31.775168
-                                ],
-                                [
-                                    -107.128288,
-                                    31.775168
-                                ],
-                                [
-                                    -107.154127,
-                                    31.775219
-                                ],
-                                [
-                                    -107.180016,
-                                    31.775374
-                                ],
-                                [
-                                    -107.205906,
-                                    31.775374
-                                ],
-                                [
-                                    -107.231796,
-                                    31.775426
-                                ],
-                                [
-                                    -107.257634,
-                                    31.775478
-                                ],
-                                [
-                                    -107.283524,
-                                    31.775529
-                                ],
-                                [
-                                    -107.309414,
-                                    31.775633
-                                ],
-                                [
-                                    -107.335252,
-                                    31.775684
-                                ],
-                                [
-                                    -107.361142,
-                                    31.775788
-                                ],
-                                [
-                                    -107.387032,
-                                    31.775788
-                                ],
-                                [
-                                    -107.412896,
-                                    31.775839
-                                ],
-                                [
-                                    -107.438786,
-                                    31.775943
-                                ],
-                                [
-                                    -107.464676,
-                                    31.775994
-                                ],
-                                [
-                                    -107.490566,
-                                    31.776098
-                                ],
-                                [
-                                    -107.516404,
-                                    31.776149
-                                ],
-                                [
-                                    -107.542294,
-                                    31.776201
-                                ],
-                                [
-                                    -107.568184,
-                                    31.776253
-                                ],
-                                [
-                                    -107.594074,
-                                    31.776304
-                                ],
-                                [
-                                    -107.619964,
-                                    31.776408
-                                ],
-                                [
-                                    -107.645854,
-                                    31.776459
-                                ],
-                                [
-                                    -107.671744,
-                                    31.776459
-                                ],
-                                [
-                                    -107.697633,
-                                    31.776563
-                                ],
-                                [
-                                    -107.723472,
-                                    31.776614
-                                ],
-                                [
-                                    -107.749362,
-                                    31.776666
-                                ],
-                                [
-                                    -107.775251,
-                                    31.776718
-                                ],
-                                [
-                                    -107.801141,
-                                    31.77677
-                                ],
-                                [
-                                    -107.82698,
-                                    31.776873
-                                ],
-                                [
-                                    -107.852869,
-                                    31.776925
-                                ],
-                                [
-                                    -107.878759,
-                                    31.776925
-                                ],
-                                [
-                                    -107.904598,
-                                    31.777028
-                                ],
-                                [
-                                    -107.930487,
-                                    31.77708
-                                ],
-                                [
-                                    -107.956377,
-                                    31.777131
-                                ],
-                                [
-                                    -107.982216,
-                                    31.777183
-                                ],
-                                [
-                                    -108.008105,
-                                    31.777235
-                                ],
-                                [
-                                    -108.033995,
-                                    31.777338
-                                ],
-                                [
-                                    -108.059885,
-                                    31.77739
-                                ],
-                                [
-                                    -108.085723,
-                                    31.77739
-                                ],
-                                [
-                                    -108.111613,
-                                    31.777545
-                                ],
-                                [
-                                    -108.137503,
-                                    31.777545
-                                ],
-                                [
-                                    -108.163341,
-                                    31.777648
-                                ],
-                                [
-                                    -108.189283,
-                                    31.7777
-                                ],
-                                [
-                                    -108.215121,
-                                    31.777751
-                                ],
-                                [
-                                    -108.215121,
-                                    31.770723
-                                ],
-                                [
-                                    -108.215121,
-                                    31.763695
-                                ],
-                                [
-                                    -108.215121,
-                                    31.756667
-                                ],
-                                [
-                                    -108.215121,
-                                    31.749639
-                                ],
-                                [
-                                    -108.215121,
-                                    31.74256
-                                ],
-                                [
-                                    -108.215121,
-                                    31.735583
-                                ],
-                                [
-                                    -108.215121,
-                                    31.728555
-                                ],
-                                [
-                                    -108.215121,
-                                    31.721476
-                                ],
-                                [
-                                    -108.215121,
-                                    31.714396
-                                ],
-                                [
-                                    -108.215121,
-                                    31.70742
-                                ],
-                                [
-                                    -108.215121,
-                                    31.700392
-                                ],
-                                [
-                                    -108.215121,
-                                    31.693312
-                                ],
-                                [
-                                    -108.215121,
-                                    31.686284
-                                ],
-                                [
-                                    -108.215121,
-                                    31.679256
-                                ],
-                                [
-                                    -108.215121,
-                                    31.672176
-                                ],
-                                [
-                                    -108.21507,
-                                    31.665148
-                                ],
-                                [
-                                    -108.215018,
-                                    31.658172
-                                ],
-                                [
-                                    -108.215018,
-                                    31.651092
-                                ],
-                                [
-                                    -108.215018,
-                                    31.644064
-                                ],
-                                [
-                                    -108.215018,
-                                    31.637036
-                                ],
-                                [
-                                    -108.215018,
-                                    31.630008
-                                ],
-                                [
-                                    -108.215018,
-                                    31.62298
-                                ],
-                                [
-                                    -108.215018,
-                                    31.615952
-                                ],
-                                [
-                                    -108.215018,
-                                    31.608873
-                                ],
-                                [
-                                    -108.215018,
-                                    31.601845
-                                ],
-                                [
-                                    -108.215018,
-                                    31.594817
-                                ],
-                                [
-                                    -108.215018,
-                                    31.587789
-                                ],
-                                [
-                                    -108.215018,
-                                    31.580761
-                                ],
-                                [
-                                    -108.215018,
-                                    31.573733
-                                ],
-                                [
-                                    -108.215018,
-                                    31.566653
-                                ],
-                                [
-                                    -108.215018,
-                                    31.559625
-                                ],
-                                [
-                                    -108.214966,
-                                    31.552597
-                                ],
-                                [
-                                    -108.214966,
-                                    31.545569
-                                ],
-                                [
-                                    -108.214966,
-                                    31.538489
-                                ],
-                                [
-                                    -108.214966,
-                                    31.531461
-                                ],
-                                [
-                                    -108.214966,
-                                    31.524485
-                                ],
-                                [
-                                    -108.214966,
-                                    31.517405
-                                ],
-                                [
-                                    -108.214966,
-                                    31.510378
-                                ],
-                                [
-                                    -108.214966,
-                                    31.503401
-                                ],
-                                [
-                                    -108.214966,
-                                    31.496322
-                                ],
-                                [
-                                    -108.214966,
-                                    31.489242
-                                ],
-                                [
-                                    -108.214966,
-                                    31.482214
-                                ],
-                                [
-                                    -108.214966,
-                                    31.475238
-                                ],
-                                [
-                                    -108.214966,
-                                    31.468158
-                                ],
-                                [
-                                    -108.214966,
-                                    31.46113
-                                ],
-                                [
-                                    -108.214966,
-                                    31.454102
-                                ],
-                                [
-                                    -108.214966,
-                                    31.447074
-                                ],
-                                [
-                                    -108.214915,
-                                    31.440046
-                                ],
-                                [
-                                    -108.214863,
-                                    31.432966
-                                ],
-                                [
-                                    -108.214863,
-                                    31.425938
-                                ],
-                                [
-                                    -108.214863,
-                                    31.41891
-                                ],
-                                [
-                                    -108.214863,
-                                    31.411882
-                                ],
-                                [
-                                    -108.214863,
-                                    31.404803
-                                ],
-                                [
-                                    -108.214863,
-                                    31.397826
-                                ],
-                                [
-                                    -108.214863,
-                                    31.390798
-                                ],
-                                [
-                                    -108.214863,
-                                    31.383719
-                                ],
-                                [
-                                    -108.214863,
-                                    31.376639
-                                ],
-                                [
-                                    -108.214863,
-                                    31.369663
-                                ],
-                                [
-                                    -108.214863,
-                                    31.362635
-                                ],
-                                [
-                                    -108.214863,
-                                    31.355555
-                                ],
-                                [
-                                    -108.214863,
-                                    31.348527
-                                ],
-                                [
-                                    -108.214863,
-                                    31.341551
-                                ],
-                                [
-                                    -108.214863,
-                                    31.334471
-                                ],
-                                [
-                                    -108.214811,
-                                    31.327443
-                                ],
-                                [
-                                    -108.257573,
-                                    31.327391
-                                ],
-                                [
-                                    -108.300336,
-                                    31.327391
-                                ],
-                                [
-                                    -108.34302,
-                                    31.327391
-                                ],
-                                [
-                                    -108.385731,
-                                    31.327391
-                                ],
-                                [
-                                    -108.428442,
-                                    31.327391
-                                ],
-                                [
-                                    -108.471152,
-                                    31.327391
-                                ],
-                                [
-                                    -108.513837,
-                                    31.327391
-                                ],
-                                [
-                                    -108.556547,
-                                    31.327391
-                                ],
-                                [
-                                    -108.59931,
-                                    31.327391
-                                ],
-                                [
-                                    -108.64202,
-                                    31.327391
-                                ],
-                                [
-                                    -108.684757,
-                                    31.327391
-                                ],
-                                [
-                                    -108.727467,
-                                    31.327391
-                                ],
-                                [
-                                    -108.770178,
-                                    31.327391
-                                ],
-                                [
-                                    -108.812914,
-                                    31.327391
-                                ],
-                                [
-                                    -108.855625,
-                                    31.327391
-                                ],
-                                [
-                                    -108.898335,
-                                    31.327391
-                                ],
-                                [
-                                    -108.941046,
-                                    31.327391
-                                ],
-                                [
-                                    -108.968282,
-                                    31.327391
-                                ],
-                                [
-                                    -108.983731,
-                                    31.327391
-                                ],
-                                [
-                                    -109.026493,
-                                    31.327391
-                                ],
-                                [
-                                    -109.04743,
-                                    31.327391
-                                ],
-                                [
-                                    -109.069203,
-                                    31.327391
-                                ],
-                                [
-                                    -109.111914,
-                                    31.327391
-                                ],
-                                [
-                                    -109.154599,
-                                    31.327391
-                                ],
-                                [
-                                    -109.197361,
-                                    31.327391
-                                ],
-                                [
-                                    -109.240072,
-                                    31.32734
-                                ],
-                                [
-                                    -109.282782,
-                                    31.32734
-                                ],
-                                [
-                                    -109.325519,
-                                    31.32734
-                                ],
-                                [
-                                    -109.368229,
-                                    31.32734
-                                ],
-                                [
-                                    -109.410914,
-                                    31.32734
-                                ],
-                                [
-                                    -109.45365,
-                                    31.32734
-                                ],
-                                [
-                                    -109.496387,
-                                    31.32734
-                                ],
-                                [
-                                    -109.539071,
-                                    31.32734
-                                ],
-                                [
-                                    -109.581808,
-                                    31.32734
-                                ],
-                                [
-                                    -109.624493,
-                                    31.32734
-                                ],
-                                [
-                                    -109.667177,
-                                    31.32734
-                                ],
-                                [
-                                    -109.709965,
-                                    31.32734
-                                ],
-                                [
-                                    -109.75265,
-                                    31.32734
-                                ],
-                                [
-                                    -109.795335,
-                                    31.32734
-                                ],
-                                [
-                                    -109.838123,
-                                    31.32734
-                                ],
-                                [
-                                    -109.880808,
-                                    31.32734
-                                ],
-                                [
-                                    -109.923596,
-                                    31.327288
-                                ],
-                                [
-                                    -109.96628,
-                                    31.327236
-                                ],
-                                [
-                                    -110.008965,
-                                    31.327236
-                                ],
-                                [
-                                    -110.051702,
-                                    31.327236
-                                ],
-                                [
-                                    -110.094386,
-                                    31.327236
-                                ],
-                                [
-                                    -110.137071,
-                                    31.327236
-                                ],
-                                [
-                                    -110.179807,
-                                    31.327236
-                                ],
-                                [
-                                    -110.222544,
-                                    31.327236
-                                ],
-                                [
-                                    -110.265229,
-                                    31.327236
-                                ],
-                                [
-                                    -110.308017,
-                                    31.327236
-                                ],
-                                [
-                                    -110.350753,
-                                    31.327236
-                                ],
-                                [
-                                    -110.39349,
-                                    31.327236
-                                ],
-                                [
-                                    -110.436174,
-                                    31.327236
-                                ],
-                                [
-                                    -110.478859,
-                                    31.327236
-                                ],
-                                [
-                                    -110.521595,
-                                    31.327236
-                                ],
-                                [
-                                    -110.56428,
-                                    31.327236
-                                ],
-                                [
-                                    -110.606965,
-                                    31.327236
-                                ],
-                                [
-                                    -110.649727,
-                                    31.327236
-                                ],
-                                [
-                                    -110.692438,
-                                    31.327236
-                                ],
-                                [
-                                    -110.7352,
-                                    31.327236
-                                ],
-                                [
-                                    -110.777885,
-                                    31.327236
-                                ],
-                                [
-                                    -110.820595,
-                                    31.327236
-                                ],
-                                [
-                                    -110.863358,
-                                    31.327236
-                                ],
-                                [
-                                    -110.906068,
-                                    31.327236
-                                ],
-                                [
-                                    -110.948753,
-                                    31.327185
-                                ],
-                                [
-                                    -111.006269,
-                                    31.327185
-                                ],
-                                [
-                                    -111.067118,
-                                    31.333644
-                                ],
-                                [
-                                    -111.094455,
-                                    31.342532
-                                ],
-                                [
-                                    -111.145924,
-                                    31.359069
-                                ],
-                                [
-                                    -111.197446,
-                                    31.375554
-                                ],
-                                [
-                                    -111.248864,
-                                    31.392142
-                                ],
-                                [
-                                    -111.300333,
-                                    31.40873
-                                ],
-                                [
-                                    -111.351803,
-                                    31.425318
-                                ],
-                                [
-                                    -111.403299,
-                                    31.441855
-                                ],
-                                [
-                                    -111.454768,
-                                    31.458339
-                                ],
-                                [
-                                    -111.506238,
-                                    31.474979
-                                ],
-                                [
-                                    -111.915464,
-                                    31.601431
-                                ],
-                                [
-                                    -112.324715,
-                                    31.727987
-                                ],
-                                [
-                                    -112.733967,
-                                    31.854543
-                                ],
-                                [
-                                    -113.143218,
-                                    31.981046
-                                ],
-                                [
-                                    -113.552444,
-                                    32.107602
-                                ],
-                                [
-                                    -113.961696,
-                                    32.234132
-                                ],
-                                [
-                                    -114.370921,
-                                    32.360687
-                                ],
-                                [
-                                    -114.780147,
-                                    32.487243
-                                ],
-                                [
-                                    -114.816785,
-                                    32.498534
-                                ],
-                                [
-                                    -114.819373,
-                                    32.499363
-                                ],
-                                [
-                                    -114.822108,
-                                    32.50024
-                                ],
-                                [
-                                    -114.809447,
-                                    32.511324
-                                ],
-                                [
-                                    -114.795546,
-                                    32.552226
-                                ],
-                                [
-                                    -114.794203,
-                                    32.574111
-                                ],
-                                [
-                                    -114.802678,
-                                    32.594497
-                                ],
-                                [
-                                    -114.786813,
-                                    32.621033
-                                ],
-                                [
-                                    -114.781542,
-                                    32.628061
-                                ],
-                                [
-                                    -114.758804,
-                                    32.64483
-                                ],
-                                [
-                                    -114.751156,
-                                    32.65222
-                                ],
-                                [
-                                    -114.739477,
-                                    32.669066
-                                ],
-                                [
-                                    -114.731209,
-                                    32.686636
-                                ],
-                                [
-                                    -114.723871,
-                                    32.711519
-                                ],
-                                [
-                                    -114.724284,
-                                    32.712835
-                                ],
-                                [
-                                    -114.724285,
-                                    32.712836
-                                ],
-                                [
-                                    -114.764541,
-                                    32.709839
-                                ],
-                                [
-                                    -114.838076,
-                                    32.704206
-                                ],
-                                [
-                                    -114.911612,
-                                    32.698703
-                                ],
-                                [
-                                    -114.985199,
-                                    32.693122
-                                ],
-                                [
-                                    -115.058734,
-                                    32.687567
-                                ],
-                                [
-                                    -115.13227,
-                                    32.681986
-                                ],
-                                [
-                                    -115.205806,
-                                    32.676456
-                                ],
-                                [
-                                    -115.27929,
-                                    32.670823
-                                ],
-                                [
-                                    -115.352851,
-                                    32.665346
-                                ],
-                                [
-                                    -115.426386,
-                                    32.659765
-                                ],
-                                [
-                                    -115.499922,
-                                    32.654209
-                                ],
-                                [
-                                    -115.573535,
-                                    32.648654
-                                ],
-                                [
-                                    -115.647019,
-                                    32.643073
-                                ],
-                                [
-                                    -115.720529,
-                                    32.637518
-                                ],
-                                [
-                                    -115.794064,
-                                    32.631963
-                                ],
-                                [
-                                    -115.8676,
-                                    32.626408
-                                ],
-                                [
-                                    -115.941213,
-                                    32.620827
-                                ],
-                                [
-                                    -116.014748,
-                                    32.615271
-                                ],
-                                [
-                                    -116.088232,
-                                    32.609664
-                                ],
-                                [
-                                    -116.161742,
-                                    32.604161
-                                ],
-                                [
-                                    -116.235329,
-                                    32.598554
-                                ],
-                                [
-                                    -116.308891,
-                                    32.593025
-                                ],
-                                [
-                                    -116.382426,
-                                    32.587469
-                                ],
-                                [
-                                    -116.455962,
-                                    32.581888
-                                ],
-                                [
-                                    -116.529472,
-                                    32.576333
-                                ],
-                                [
-                                    -116.603007,
-                                    32.570804
-                                ],
-                                [
-                                    -116.676543,
-                                    32.565223
-                                ],
-                                [
-                                    -116.750104,
-                                    32.559667
-                                ],
-                                [
-                                    -116.82364,
-                                    32.554086
-                                ],
-                                [
-                                    -116.897201,
-                                    32.548531
-                                ],
-                                [
-                                    -116.970737,
-                                    32.542976
-                                ],
-                                [
-                                    -117.044221,
-                                    32.537421
-                                ],
-                                [
-                                    -117.125121,
-                                    32.531669
-                                ],
-                                [
-                                    -117.125969,
-                                    32.538258
-                                ],
-                                [
-                                    -117.239623,
-                                    32.531308
-                                ],
-                                [
-                                    -120.274098,
-                                    32.884264
-                                ],
-                                [
-                                    -121.652736,
-                                    34.467248
-                                ],
-                                [
-                                    -124.367265,
-                                    37.662798
-                                ],
-                                [
-                                    -126.739806,
-                                    41.37928
-                                ],
-                                [
-                                    -126.996297,
-                                    45.773888
-                                ],
-                                [
-                                    -124.770704,
-                                    48.44258
-                                ],
-                                [
-                                    -123.734053,
-                                    48.241906
-                                ],
-                                [
-                                    -123.1663,
-                                    48.27837
-                                ],
-                                [
-                                    -123.193018,
-                                    48.501035
-                                ],
-                                [
-                                    -123.176987,
-                                    48.65482
-                                ],
-                                [
-                                    -122.912481,
-                                    48.753561
-                                ],
-                                [
-                                    -122.899122,
-                                    48.897797
-                                ],
-                                [
-                                    -122.837671,
-                                    48.97502
-                                ],
-                                [
-                                    -122.743986,
-                                    48.980582
-                                ],
-                                [
-                                    -122.753,
-                                    48.992499
-                                ],
-                                [
-                                    -122.753012,
-                                    48.992515
-                                ],
-                                [
-                                    -122.653258,
-                                    48.992515
-                                ],
-                                [
-                                    -122.433375,
-                                    48.992515
-                                ],
-                                [
-                                    -122.213517,
-                                    48.992515
-                                ],
-                                [
-                                    -121.993763,
-                                    48.992515
-                                ],
-                                [
-                                    -121.773958,
-                                    48.992515
-                                ],
-                                [
-                                    -121.554152,
-                                    48.992515
-                                ],
-                                [
-                                    -121.33432,
-                                    48.992515
-                                ],
-                                [
-                                    -121.114515,
-                                    48.992515
-                                ],
-                                [
-                                    -95.396937,
-                                    48.99267
-                                ],
-                                [
-                                    -95.177106,
-                                    48.99267
-                                ],
-                                [
-                                    -95.168527,
-                                    48.995047
-                                ],
-                                [
-                                    -95.161887,
-                                    49.001145
-                                ],
-                                [
-                                    -95.159329,
-                                    49.01179
-                                ],
-                                [
-                                    -95.159665,
-                                    49.10951
-                                ],
-                                [
-                                    -95.160027,
-                                    49.223353
-                                ],
-                                [
-                                    -95.160337,
-                                    49.313012
-                                ],
-                                [
-                                    -95.160569,
-                                    49.369494
-                                ],
-                                [
-                                    -95.102821,
-                                    49.35394
-                                ],
-                                [
-                                    -94.982518,
-                                    49.356162
-                                ],
-                                [
-                                    -94.926087,
-                                    49.345568
-                                ],
-                                [
-                                    -94.856195,
-                                    49.318283
-                                ],
-                                [
-                                    -94.839142,
-                                    49.308878
-                                ],
-                                [
-                                    -94.827256,
-                                    49.292858
-                                ],
-                                [
-                                    -94.819892,
-                                    49.252034
-                                ],
-                                [
-                                    -94.810358,
-                                    49.229606
-                                ],
-                                [
-                                    -94.806121,
-                                    49.210899
-                                ],
-                                [
-                                    -94.811185,
-                                    49.166561
-                                ],
-                                [
-                                    -94.803743,
-                                    49.146407
-                                ],
-                                [
-                                    -94.792039,
-                                    49.12646
-                                ],
-                                [
-                                    -94.753772,
-                                    49.026156
-                                ],
-                                [
-                                    -94.711217,
-                                    48.914586
-                                ],
-                                [
-                                    -94.711734,
-                                    48.862755
-                                ],
-                                [
-                                    -94.712147,
-                                    48.842446
-                                ],
-                                [
-                                    -94.713284,
-                                    48.823843
-                                ],
-                                [
-                                    -94.710907,
-                                    48.807513
-                                ],
-                                [
-                                    -94.701786,
-                                    48.790098
-                                ],
-                                [
-                                    -94.688893,
-                                    48.778832
-                                ],
-                                [
-                                    -94.592852,
-                                    48.726433
-                                ],
-                                [
-                                    -94.519161,
-                                    48.70447
-                                ],
-                                [
-                                    -94.4795,
-                                    48.700698
-                                ],
-                                [
-                                    -94.311577,
-                                    48.713927
-                                ],
-                                [
-                                    -94.292586,
-                                    48.711912
-                                ],
-                                [
-                                    -94.284034,
-                                    48.709069
-                                ],
-                                [
-                                    -94.274499,
-                                    48.704108
-                                ],
-                                [
-                                    -94.265482,
-                                    48.697752
-                                ],
-                                [
-                                    -94.258454,
-                                    48.690828
-                                ],
-                                [
-                                    -94.255767,
-                                    48.683541
-                                ],
-                                [
-                                    -94.252459,
-                                    48.662405
-                                ],
-                                [
-                                    -94.251038,
-                                    48.65729
-                                ],
-                                [
-                                    -94.23215,
-                                    48.652019
-                                ],
-                                [
-                                    -94.03485,
-                                    48.643311
-                                ],
-                                [
-                                    -93.874885,
-                                    48.636206
-                                ],
-                                [
-                                    -93.835741,
-                                    48.617137
-                                ],
-                                [
-                                    -93.809386,
-                                    48.543576
-                                ],
-                                [
-                                    -93.778664,
-                                    48.519468
-                                ],
-                                [
-                                    -93.756779,
-                                    48.516549
-                                ],
-                                [
-                                    -93.616297,
-                                    48.531302
-                                ],
-                                [
-                                    -93.599889,
-                                    48.526341
-                                ],
-                                [
-                                    -93.566584,
-                                    48.538279
-                                ],
-                                [
-                                    -93.491756,
-                                    48.542309
-                                ],
-                                [
-                                    -93.459924,
-                                    48.557399
-                                ],
-                                [
-                                    -93.45225,
-                                    48.572721
-                                ],
-                                [
-                                    -93.453774,
-                                    48.586958
-                                ],
-                                [
-                                    -93.451475,
-                                    48.597422
-                                ],
-                                [
-                                    -93.417316,
-                                    48.604114
-                                ],
-                                [
-                                    -93.385716,
-                                    48.614863
-                                ],
-                                [
-                                    -93.25774,
-                                    48.630314
-                                ],
-                                [
-                                    -93.131701,
-                                    48.62463
-                                ],
-                                [
-                                    -92.97972,
-                                    48.61768
-                                ],
-                                [
-                                    -92.955588,
-                                    48.612228
-                                ],
-                                [
-                                    -92.884197,
-                                    48.579878
-                                ],
-                                [
-                                    -92.72555,
-                                    48.548692
-                                ],
-                                [
-                                    -92.648604,
-                                    48.536263
-                                ],
-                                [
-                                    -92.630181,
-                                    48.519468
-                                ],
-                                [
-                                    -92.627468,
-                                    48.502777
-                                ],
-                                [
-                                    -92.646743,
-                                    48.497428
-                                ],
-                                [
-                                    -92.691366,
-                                    48.489858
-                                ],
-                                [
-                                    -92.710641,
-                                    48.482882
-                                ],
-                                [
-                                    -92.718909,
-                                    48.459782
-                                ],
-                                [
-                                    -92.704052,
-                                    48.445158
-                                ],
-                                [
-                                    -92.677129,
-                                    48.441747
-                                ],
-                                [
-                                    -92.657053,
-                                    48.438233
-                                ],
-                                [
-                                    -92.570521,
-                                    48.446656
-                                ],
-                                [
-                                    -92.526932,
-                                    48.445623
-                                ],
-                                [
-                                    -92.490629,
-                                    48.433117
-                                ],
-                                [
-                                    -92.474532,
-                                    48.410483
-                                ],
-                                [
-                                    -92.467581,
-                                    48.394282
-                                ],
-                                [
-                                    -92.467064,
-                                    48.353225
-                                ],
-                                [
-                                    -92.462465,
-                                    48.329299
-                                ],
-                                [
-                                    -92.451381,
-                                    48.312685
-                                ],
-                                [
-                                    -92.41823,
-                                    48.282041
-                                ],
-                                [
-                                    -92.38464,
-                                    48.232406
-                                ],
-                                [
-                                    -92.371851,
-                                    48.222587
-                                ],
-                                [
-                                    -92.353815,
-                                    48.222897
-                                ],
-                                [
-                                    -92.327874,
-                                    48.229435
-                                ],
-                                [
-                                    -92.303663,
-                                    48.239279
-                                ],
-                                [
-                                    -92.291029,
-                                    48.249562
-                                ],
-                                [
-                                    -92.292062,
-                                    48.270336
-                                ],
-                                [
-                                    -92.301416,
-                                    48.290645
-                                ],
-                                [
-                                    -92.303095,
-                                    48.310928
-                                ],
-                                [
-                                    -92.281598,
-                                    48.33178
-                                ],
-                                [
-                                    -92.259118,
-                                    48.339635
-                                ],
-                                [
-                                    -92.154732,
-                                    48.350125
-                                ],
-                                [
-                                    -92.070499,
-                                    48.346714
-                                ],
-                                [
-                                    -92.043421,
-                                    48.334596
-                                ],
-                                [
-                                    -92.030114,
-                                    48.313176
-                                ],
-                                [
-                                    -92.021355,
-                                    48.287441
-                                ],
-                                [
-                                    -92.007997,
-                                    48.262482
-                                ],
-                                [
-                                    -91.992158,
-                                    48.247909
-                                ],
-                                [
-                                    -91.975492,
-                                    48.236566
-                                ],
-                                [
-                                    -91.957302,
-                                    48.228323
-                                ],
-                                [
-                                    -91.852244,
-                                    48.195974
-                                ],
-                                [
-                                    -91.764988,
-                                    48.187344
-                                ],
-                                [
-                                    -91.744137,
-                                    48.179593
-                                ],
-                                [
-                                    -91.727575,
-                                    48.168327
-                                ],
-                                [
-                                    -91.695509,
-                                    48.13758
-                                ],
-                                [
-                                    -91.716438,
-                                    48.112051
-                                ],
-                                [
-                                    -91.692512,
-                                    48.097866
-                                ],
-                                [
-                                    -91.618615,
-                                    48.089572
-                                ],
-                                [
-                                    -91.597479,
-                                    48.090399
-                                ],
-                                [
-                                    -91.589676,
-                                    48.088332
-                                ],
-                                [
-                                    -91.581098,
-                                    48.080942
-                                ],
-                                [
-                                    -91.579806,
-                                    48.070969
-                                ],
-                                [
-                                    -91.585129,
-                                    48.06084
-                                ],
-                                [
-                                    -91.586989,
-                                    48.052572
-                                ],
-                                [
-                                    -91.574845,
-                                    48.048205
-                                ],
-                                [
-                                    -91.487098,
-                                    48.053476
-                                ],
-                                [
-                                    -91.464722,
-                                    48.048955
-                                ],
-                                [
-                                    -91.446274,
-                                    48.040738
-                                ],
-                                [
-                                    -91.427929,
-                                    48.036449
-                                ],
-                                [
-                                    -91.3654,
-                                    48.057843
-                                ],
-                                [
-                                    -91.276362,
-                                    48.064768
-                                ],
-                                [
-                                    -91.23807,
-                                    48.082648
-                                ],
-                                [
-                                    -91.203963,
-                                    48.107659
-                                ],
-                                [
-                                    -91.071103,
-                                    48.170859
-                                ],
-                                [
-                                    -91.02816,
-                                    48.184838
-                                ],
-                                [
-                                    -91.008109,
-                                    48.194372
-                                ],
-                                [
-                                    -90.923153,
-                                    48.227109
-                                ],
-                                [
-                                    -90.873802,
-                                    48.234344
-                                ],
-                                [
-                                    -90.840678,
-                                    48.220107
-                                ],
-                                [
-                                    -90.837939,
-                                    48.210547
-                                ],
-                                [
-                                    -90.848843,
-                                    48.198713
-                                ],
-                                [
-                                    -90.849721,
-                                    48.189566
-                                ],
-                                [
-                                    -90.843003,
-                                    48.176983
-                                ],
-                                [
-                                    -90.83427,
-                                    48.171789
-                                ],
-                                [
-                                    -90.823883,
-                                    48.168327
-                                ],
-                                [
-                                    -90.812307,
-                                    48.160989
-                                ],
-                                [
-                                    -90.803057,
-                                    48.147166
-                                ],
-                                [
-                                    -90.796701,
-                                    48.117064
-                                ],
-                                [
-                                    -90.786469,
-                                    48.10045
-                                ],
-                                [
-                                    -90.750347,
-                                    48.083991
-                                ],
-                                [
-                                    -90.701307,
-                                    48.08456
-                                ],
-                                [
-                                    -90.611079,
-                                    48.103499
-                                ],
-                                [
-                                    -90.586843,
-                                    48.104817
-                                ],
-                                [
-                                    -90.573872,
-                                    48.097892
-                                ],
-                                [
-                                    -90.562194,
-                                    48.088849
-                                ],
-                                [
-                                    -90.542014,
-                                    48.083733
-                                ],
-                                [
-                                    -90.531601,
-                                    48.08456
-                                ],
-                                [
-                                    -90.501887,
-                                    48.094275
-                                ],
-                                [
-                                    -90.490493,
-                                    48.096239
-                                ],
-                                [
-                                    -90.483465,
-                                    48.094482
-                                ],
-                                [
-                                    -90.477858,
-                                    48.091536
-                                ],
-                                [
-                                    -90.470623,
-                                    48.089882
-                                ],
-                                [
-                                    -90.178625,
-                                    48.116444
-                                ],
-                                [
-                                    -90.120386,
-                                    48.115359
-                                ],
-                                [
-                                    -90.073257,
-                                    48.101199
-                                ],
-                                [
-                                    -90.061036,
-                                    48.091019
-                                ],
-                                [
-                                    -90.008222,
-                                    48.029731
-                                ],
-                                [
-                                    -89.995329,
-                                    48.018595
-                                ],
-                                [
-                                    -89.980317,
-                                    48.010094
-                                ],
-                                [
-                                    -89.92045,
-                                    47.98746
-                                ],
-                                [
-                                    -89.902441,
-                                    47.985909
-                                ],
-                                [
-                                    -89.803454,
-                                    48.013763
-                                ],
-                                [
-                                    -89.780975,
-                                    48.017199
-                                ],
-                                [
-                                    -89.763302,
-                                    48.017303
-                                ],
-                                [
-                                    -89.745964,
-                                    48.013763
-                                ],
-                                [
-                                    -89.724596,
-                                    48.005908
-                                ],
-                                [
-                                    -89.712788,
-                                    48.003376
-                                ],
-                                [
-                                    -89.678656,
-                                    48.008699
-                                ],
-                                [
-                                    -89.65659,
-                                    48.007975
-                                ],
-                                [
-                                    -89.593105,
-                                    47.996503
-                                ],
-                                [
-                                    -89.581753,
-                                    47.996333
-                                ],
-                                [
-                                    -89.586724,
-                                    47.992938
-                                ],
-                                [
-                                    -89.310872,
-                                    47.981097
-                                ],
-                                [
-                                    -89.072861,
-                                    48.046842
-                                ],
-                                [
-                                    -88.49789,
-                                    48.212841
-                                ],
-                                [
-                                    -88.286621,
-                                    48.156675
-                                ],
-                                [
-                                    -85.939935,
-                                    47.280501
-                                ],
-                                [
-                                    -84.784644,
-                                    46.770068
-                                ],
-                                [
-                                    -84.516909,
-                                    46.435083
-                                ],
-                                [
-                                    -84.489712,
-                                    46.446652
-                                ],
-                                [
-                                    -84.491052,
-                                    46.457658
-                                ],
-                                [
-                                    -84.478301,
-                                    46.466467
-                                ],
-                                [
-                                    -84.465408,
-                                    46.478172
-                                ],
-                                [
-                                    -84.448096,
-                                    46.489722
-                                ],
-                                [
-                                    -84.42324,
-                                    46.511581
-                                ],
-                                [
-                                    -84.389702,
-                                    46.520262
-                                ],
-                                [
-                                    -84.352469,
-                                    46.522743
-                                ],
-                                [
-                                    -84.30534,
-                                    46.501607
-                                ],
-                                [
-                                    -84.242011,
-                                    46.526464
-                                ],
-                                [
-                                    -84.197285,
-                                    46.546359
-                                ],
-                                [
-                                    -84.147676,
-                                    46.541346
-                                ],
-                                [
-                                    -84.110443,
-                                    46.526464
-                                ],
-                                [
-                                    -84.158812,
-                                    46.433343
-                                ],
-                                [
-                                    -84.147676,
-                                    46.399882
-                                ],
-                                [
-                                    -84.129046,
-                                    46.375026
-                                ],
-                                [
-                                    -84.10543,
-                                    46.347741
-                                ],
-                                [
-                                    -84.105944,
-                                    46.346374
-                                ],
-                                [
-                                    -84.117195,
-                                    46.347157
-                                ],
-                                [
-                                    -84.117489,
-                                    46.338326
-                                ],
-                                [
-                                    -84.122361,
-                                    46.331922
-                                ],
-                                [
-                                    -84.112061,
-                                    46.287102
-                                ],
-                                [
-                                    -84.092672,
-                                    46.227469
-                                ],
-                                [
-                                    -84.111983,
-                                    46.20337
-                                ],
-                                [
-                                    -84.015118,
-                                    46.149712
-                                ],
-                                [
-                                    -83.957038,
-                                    46.045736
-                                ],
-                                [
-                                    -83.676821,
-                                    46.15388
-                                ],
-                                [
-                                    -83.429449,
-                                    46.086221
-                                ],
-                                [
-                                    -83.523049,
-                                    45.892052
-                                ],
-                                [
-                                    -83.574563,
-                                    45.890259
-                                ],
-                                [
-                                    -82.551615,
-                                    44.857931
-                                ],
-                                [
-                                    -82.655591,
-                                    43.968545
-                                ],
-                                [
-                                    -82.440632,
-                                    43.096285
-                                ],
-                                [
-                                    -82.460131,
-                                    43.084392
-                                ],
-                                [
-                                    -82.458894,
-                                    43.083247
-                                ],
-                                [
-                                    -82.431813,
-                                    43.039387
-                                ],
-                                [
-                                    -82.424748,
-                                    43.02408
-                                ],
-                                [
-                                    -82.417242,
-                                    43.01731
-                                ],
-                                [
-                                    -82.416369,
-                                    43.01742
-                                ],
-                                [
-                                    -82.416412,
-                                    43.017143
-                                ],
-                                [
-                                    -82.414603,
-                                    42.983243
-                                ],
-                                [
-                                    -82.430442,
-                                    42.951307
-                                ],
-                                [
-                                    -82.453179,
-                                    42.918983
-                                ],
-                                [
-                                    -82.464781,
-                                    42.883637
-                                ],
-                                [
-                                    -82.468036,
-                                    42.863974
-                                ],
-                                [
-                                    -82.482325,
-                                    42.835113
-                                ],
-                                [
-                                    -82.485271,
-                                    42.818524
-                                ],
-                                [
-                                    -82.473618,
-                                    42.798164
-                                ],
-                                [
-                                    -82.470982,
-                                    42.790568
-                                ],
-                                [
-                                    -82.471344,
-                                    42.779845
-                                ],
-                                [
-                                    -82.476951,
-                                    42.761474
-                                ],
-                                [
-                                    -82.48341,
-                                    42.719254
-                                ],
-                                [
-                                    -82.511264,
-                                    42.646675
-                                ],
-                                [
-                                    -82.526224,
-                                    42.619906
-                                ],
-                                [
-                                    -82.549246,
-                                    42.590941
-                                ],
-                                [
-                                    -82.575833,
-                                    42.571795
-                                ],
-                                [
-                                    -82.608467,
-                                    42.561098
-                                ],
-                                [
-                                    -82.644331,
-                                    42.557817
-                                ],
-                                [
-                                    -82.644698,
-                                    42.557533
-                                ],
-                                [
-                                    -82.644932,
-                                    42.561634
-                                ],
-                                [
-                                    -82.637132,
-                                    42.568405
-                                ],
-                                [
-                                    -82.60902,
-                                    42.579296
-                                ],
-                                [
-                                    -82.616673,
-                                    42.582828
-                                ],
-                                [
-                                    -82.636985,
-                                    42.599607
-                                ],
-                                [
-                                    -82.625357,
-                                    42.616092
-                                ],
-                                [
-                                    -82.629331,
-                                    42.626394
-                                ],
-                                [
-                                    -82.638751,
-                                    42.633459
-                                ],
-                                [
-                                    -82.644344,
-                                    42.640524
-                                ],
-                                [
-                                    -82.644166,
-                                    42.641056
-                                ],
-                                [
-                                    -82.716083,
-                                    42.617461
-                                ],
-                                [
-                                    -82.777592,
-                                    42.408506
-                                ],
-                                [
-                                    -82.888693,
-                                    42.406093
-                                ],
-                                [
-                                    -82.889991,
-                                    42.403266
-                                ],
-                                [
-                                    -82.905739,
-                                    42.387665
-                                ],
-                                [
-                                    -82.923842,
-                                    42.374419
-                                ],
-                                [
-                                    -82.937972,
-                                    42.366176
-                                ],
-                                [
-                                    -82.947686,
-                                    42.363527
-                                ],
-                                [
-                                    -82.979624,
-                                    42.359406
-                                ],
-                                [
-                                    -83.042618,
-                                    42.340861
-                                ],
-                                [
-                                    -83.061899,
-                                    42.32732
-                                ],
-                                [
-                                    -83.081622,
-                                    42.30907
-                                ],
-                                [
-                                    -83.11342,
-                                    42.279619
-                                ],
-                                [
-                                    -83.145306,
-                                    42.066968
-                                ],
-                                [
-                                    -83.177398,
-                                    41.960666
-                                ],
-                                [
-                                    -83.21512,
-                                    41.794493
-                                ],
-                                [
-                                    -82.219051,
-                                    41.516445
-                                ],
-                                [
-                                    -80.345329,
-                                    42.13344
-                                ],
-                                [
-                                    -80.316455,
-                                    42.123137
-                                ],
-                                [
-                                    -79.270266,
-                                    42.591872
-                                ],
-                                [
-                                    -79.221058,
-                                    42.582892
-                                ],
-                                [
-                                    -78.871842,
-                                    42.860012
-                                ],
-                                [
-                                    -78.875011,
-                                    42.867184
-                                ],
-                                [
-                                    -78.896205,
-                                    42.897209
-                                ],
-                                [
-                                    -78.901651,
-                                    42.908101
-                                ],
-                                [
-                                    -78.90901,
-                                    42.952255
-                                ],
-                                [
-                                    -78.913426,
-                                    42.957848
-                                ],
-                                [
-                                    -78.932118,
-                                    42.9708
-                                ],
-                                [
-                                    -78.936386,
-                                    42.979631
-                                ],
-                                [
-                                    -78.927997,
-                                    43.002003
-                                ],
-                                [
-                                    -78.893114,
-                                    43.029379
-                                ],
-                                [
-                                    -78.887963,
-                                    43.051456
-                                ],
-                                [
-                                    -78.914897,
-                                    43.076477
-                                ],
-                                [
-                                    -79.026167,
-                                    43.086485
-                                ],
-                                [
-                                    -79.065231,
-                                    43.10573
-                                ],
-                                [
-                                    -79.065273,
-                                    43.105897
-                                ],
-                                [
-                                    -79.065738,
-                                    43.120237
-                                ],
-                                [
-                                    -79.061423,
-                                    43.130288
-                                ],
-                                [
-                                    -79.055583,
-                                    43.138427
-                                ],
-                                [
-                                    -79.051604,
-                                    43.146851
-                                ],
-                                [
-                                    -79.04933,
-                                    43.159847
-                                ],
-                                [
-                                    -79.048607,
-                                    43.170622
-                                ],
-                                [
-                                    -79.053775,
-                                    43.260358
-                                ],
-                                [
-                                    -79.058425,
-                                    43.277799
-                                ],
-                                [
-                                    -79.058631,
-                                    43.2782
-                                ],
-                                [
-                                    -78.990696,
-                                    43.286947
-                                ],
-                                [
-                                    -78.862059,
-                                    43.324332
-                                ],
-                                [
-                                    -78.767813,
-                                    43.336418
-                                ],
-                                [
-                                    -78.516117,
-                                    43.50645
-                                ],
-                                [
-                                    -76.363317,
-                                    43.943219
-                                ],
-                                [
-                                    -76.396746,
-                                    44.106667
-                                ],
-                                [
-                                    -76.364697,
-                                    44.111631
-                                ],
-                                [
-                                    -76.366146,
-                                    44.117349
-                                ],
-                                [
-                                    -76.357462,
-                                    44.131478
-                                ],
-                                [
-                                    -76.183493,
-                                    44.223025
-                                ],
-                                [
-                                    -76.162644,
-                                    44.229888
-                                ],
-                                [
-                                    -76.176117,
-                                    44.30795
-                                ],
-                                [
-                                    -76.046414,
-                                    44.354817
-                                ],
-                                [
-                                    -75.928746,
-                                    44.391137
-                                ],
-                                [
-                                    -75.852508,
-                                    44.381639
-                                ],
-                                [
-                                    -75.849095,
-                                    44.386103
-                                ],
-                                [
-                                    -75.847623,
-                                    44.392579
-                                ],
-                                [
-                                    -75.84674,
-                                    44.398172
-                                ],
-                                [
-                                    -75.845415,
-                                    44.40141
-                                ],
-                                [
-                                    -75.780803,
-                                    44.432318
-                                ],
-                                [
-                                    -75.770205,
-                                    44.446153
-                                ],
-                                [
-                                    -75.772266,
-                                    44.463815
-                                ],
-                                [
-                                    -75.779184,
-                                    44.48236
-                                ],
-                                [
-                                    -75.791496,
-                                    44.496513
-                                ],
-                                [
-                                    -75.791183,
-                                    44.496768
-                                ],
-                                [
-                                    -75.754622,
-                                    44.527567
-                                ],
-                                [
-                                    -75.69969,
-                                    44.581673
-                                ],
-                                [
-                                    -75.578199,
-                                    44.661513
-                                ],
-                                [
-                                    -75.455958,
-                                    44.741766
-                                ],
-                                [
-                                    -75.341831,
-                                    44.816749
-                                ],
-                                [
-                                    -75.270233,
-                                    44.863774
-                                ],
-                                [
-                                    -75.129647,
-                                    44.925166
-                                ],
-                                [
-                                    -75.075594,
-                                    44.935501
-                                ],
-                                [
-                                    -75.058721,
-                                    44.941031
-                                ],
-                                [
-                                    -75.0149,
-                                    44.96599
-                                ],
-                                [
-                                    -74.998647,
-                                    44.972398
-                                ],
-                                [
-                                    -74.940201,
-                                    44.987746
-                                ],
-                                [
-                                    -74.903744,
-                                    45.005213
-                                ],
-                                [
-                                    -74.88651,
-                                    45.009398
-                                ],
-                                [
-                                    -74.868474,
-                                    45.010122
-                                ],
-                                [
-                                    -74.741557,
-                                    44.998857
-                                ],
-                                [
-                                    -74.712961,
-                                    44.999254
-                                ],
-                                [
-                                    -74.695875,
-                                    44.99803
-                                ],
-                                [
-                                    -74.596114,
-                                    44.998495
-                                ],
-                                [
-                                    -74.496352,
-                                    44.999012
-                                ],
-                                [
-                                    -74.197146,
-                                    45.000458
-                                ],
-                                [
-                                    -71.703551,
-                                    45.012757
-                                ],
-                                [
-                                    -71.603816,
-                                    45.013274
-                                ],
-                                [
-                                    -71.505848,
-                                    45.013731
-                                ],
-                                [
-                                    -71.50408,
-                                    45.013739
-                                ],
-                                [
-                                    -71.506613,
-                                    45.037045
-                                ],
-                                [
-                                    -71.504752,
-                                    45.052962
-                                ],
-                                [
-                                    -71.497259,
-                                    45.066553
-                                ],
-                                [
-                                    -71.45659,
-                                    45.110994
-                                ],
-                                [
-                                    -71.451215,
-                                    45.121691
-                                ],
-                                [
-                                    -71.445996,
-                                    45.140295
-                                ],
-                                [
-                                    -71.441604,
-                                    45.150682
-                                ],
-                                [
-                                    -71.413026,
-                                    45.186184
-                                ],
-                                [
-                                    -71.406567,
-                                    45.204942
-                                ],
-                                [
-                                    -71.42269,
-                                    45.217189
-                                ],
-                                [
-                                    -71.449045,
-                                    45.226905
-                                ],
-                                [
-                                    -71.438813,
-                                    45.233468
-                                ],
-                                [
-                                    -71.394888,
-                                    45.241529
-                                ],
-                                [
-                                    -71.381245,
-                                    45.250779
-                                ],
-                                [
-                                    -71.3521,
-                                    45.278323
-                                ],
-                                [
-                                    -71.334323,
-                                    45.28871
-                                ],
-                                [
-                                    -71.311534,
-                                    45.294136
-                                ],
-                                [
-                                    -71.293396,
-                                    45.292327
-                                ],
-                                [
-                                    -71.20937,
-                                    45.254758
-                                ],
-                                [
-                                    -71.185133,
-                                    45.248557
-                                ],
-                                [
-                                    -71.160329,
-                                    45.245767
-                                ],
-                                [
-                                    -71.141725,
-                                    45.252329
-                                ],
-                                [
-                                    -71.111029,
-                                    45.287108
-                                ],
-                                [
-                                    -71.095242,
-                                    45.300905
-                                ],
-                                [
-                                    -71.085553,
-                                    45.304213
-                                ],
-                                [
-                                    -71.084952,
-                                    45.304293
-                                ],
-                                [
-                                    -71.064211,
-                                    45.307055
-                                ],
-                                [
-                                    -71.054418,
-                                    45.310362
-                                ],
-                                [
-                                    -71.036667,
-                                    45.323385
-                                ],
-                                [
-                                    -71.027598,
-                                    45.33465
-                                ],
-                                [
-                                    -71.016539,
-                                    45.343125
-                                ],
-                                [
-                                    -70.993155,
-                                    45.347827
-                                ],
-                                [
-                                    -70.968118,
-                                    45.34452
-                                ],
-                                [
-                                    -70.951608,
-                                    45.332014
-                                ],
-                                [
-                                    -70.906908,
-                                    45.246232
-                                ],
-                                [
-                                    -70.892412,
-                                    45.234604
-                                ],
-                                [
-                                    -70.874351,
-                                    45.245663
-                                ],
-                                [
-                                    -70.870605,
-                                    45.255275
-                                ],
-                                [
-                                    -70.872491,
-                                    45.274189
-                                ],
-                                [
-                                    -70.870243,
-                                    45.283129
-                                ],
-                                [
-                                    -70.862621,
-                                    45.290363
-                                ],
-                                [
-                                    -70.842389,
-                                    45.301215
-                                ],
-                                [
-                                    -70.835258,
-                                    45.309794
-                                ],
-                                [
-                                    -70.83208,
-                                    45.328552
-                                ],
-                                [
-                                    -70.835465,
-                                    45.373097
-                                ],
-                                [
-                                    -70.833837,
-                                    45.393096
-                                ],
-                                [
-                                    -70.825982,
-                                    45.410459
-                                ],
-                                [
-                                    -70.812986,
-                                    45.42343
-                                ],
-                                [
-                                    -70.794873,
-                                    45.430406
-                                ],
-                                [
-                                    -70.771877,
-                                    45.430045
-                                ],
-                                [
-                                    -70.75255,
-                                    45.422345
-                                ],
-                                [
-                                    -70.718004,
-                                    45.397282
-                                ],
-                                [
-                                    -70.696739,
-                                    45.388652
-                                ],
-                                [
-                                    -70.675785,
-                                    45.388704
-                                ],
-                                [
-                                    -70.65359,
-                                    45.395473
-                                ],
-                                [
-                                    -70.641316,
-                                    45.408496
-                                ],
-                                [
-                                    -70.650257,
-                                    45.427461
-                                ],
-                                [
-                                    -70.668162,
-                                    45.439036
-                                ],
-                                [
-                                    -70.707385,
-                                    45.4564
-                                ],
-                                [
-                                    -70.722836,
-                                    45.470921
-                                ],
-                                [
-                                    -70.732009,
-                                    45.491591
-                                ],
-                                [
-                                    -70.730329,
-                                    45.507973
-                                ],
-                                [
-                                    -70.686792,
-                                    45.572723
-                                ],
-                                [
-                                    -70.589614,
-                                    45.651788
-                                ],
-                                [
-                                    -70.572406,
-                                    45.662279
-                                ],
-                                [
-                                    -70.514735,
-                                    45.681709
-                                ],
-                                [
-                                    -70.484763,
-                                    45.699641
-                                ],
-                                [
-                                    -70.4728,
-                                    45.703568
-                                ],
-                                [
-                                    -70.450424,
-                                    45.703723
-                                ],
-                                [
-                                    -70.439132,
-                                    45.705893
-                                ],
-                                [
-                                    -70.419315,
-                                    45.716901
-                                ],
-                                [
-                                    -70.407351,
-                                    45.731525
-                                ],
-                                [
-                                    -70.402442,
-                                    45.749663
-                                ],
-                                [
-                                    -70.403941,
-                                    45.771161
-                                ],
-                                [
-                                    -70.408282,
-                                    45.781651
-                                ],
-                                [
-                                    -70.413682,
-                                    45.787697
-                                ],
-                                [
-                                    -70.41717,
-                                    45.793795
-                                ],
-                                [
-                                    -70.415232,
-                                    45.804389
-                                ],
-                                [
-                                    -70.409935,
-                                    45.810745
-                                ],
-                                [
-                                    -70.389807,
-                                    45.825059
-                                ],
-                                [
-                                    -70.312654,
-                                    45.867641
-                                ],
-                                [
-                                    -70.283173,
-                                    45.890482
-                                ],
-                                [
-                                    -70.262528,
-                                    45.923038
-                                ],
-                                [
-                                    -70.255939,
-                                    45.948876
-                                ],
-                                [
-                                    -70.263148,
-                                    45.956834
-                                ],
-                                [
-                                    -70.280434,
-                                    45.959315
-                                ],
-                                [
-                                    -70.303947,
-                                    45.968616
-                                ],
-                                [
-                                    -70.316298,
-                                    45.982982
-                                ],
-                                [
-                                    -70.316892,
-                                    45.999002
-                                ],
-                                [
-                                    -70.306143,
-                                    46.035331
-                                ],
-                                [
-                                    -70.303637,
-                                    46.038483
-                                ],
-                                [
-                                    -70.294309,
-                                    46.044943
-                                ],
-                                [
-                                    -70.29201,
-                                    46.048663
-                                ],
-                                [
-                                    -70.293017,
-                                    46.054038
-                                ],
-                                [
-                                    -70.296092,
-                                    46.057862
-                                ],
-                                [
-                                    -70.300795,
-                                    46.061737
-                                ],
-                                [
-                                    -70.304774,
-                                    46.065975
-                                ],
-                                [
-                                    -70.311362,
-                                    46.071866
-                                ],
-                                [
-                                    -70.312629,
-                                    46.079566
-                                ],
-                                [
-                                    -70.30033,
-                                    46.089281
-                                ],
-                                [
-                                    -70.26444,
-                                    46.106593
-                                ],
-                                [
-                                    -70.24948,
-                                    46.120597
-                                ],
-                                [
-                                    -70.244002,
-                                    46.141009
-                                ],
-                                [
-                                    -70.249247,
-                                    46.162765
-                                ],
-                                [
-                                    -70.263329,
-                                    46.183229
-                                ],
-                                [
-                                    -70.284801,
-                                    46.191859
-                                ],
-                                [
-                                    -70.280899,
-                                    46.211857
-                                ],
-                                [
-                                    -70.253407,
-                                    46.251493
-                                ],
-                                [
-                                    -70.236173,
-                                    46.288339
-                                ],
-                                [
-                                    -70.223693,
-                                    46.300793
-                                ],
-                                [
-                                    -70.201886,
-                                    46.305495
-                                ],
-                                [
-                                    -70.199509,
-                                    46.315262
-                                ],
-                                [
-                                    -70.197028,
-                                    46.336863
-                                ],
-                                [
-                                    -70.188398,
-                                    46.358412
-                                ],
-                                [
-                                    -70.167418,
-                                    46.368179
-                                ],
-                                [
-                                    -70.153052,
-                                    46.372829
-                                ],
-                                [
-                                    -70.074323,
-                                    46.419545
-                                ],
-                                [
-                                    -70.061817,
-                                    46.445409
-                                ],
-                                [
-                                    -70.050086,
-                                    46.511271
-                                ],
-                                [
-                                    -70.032723,
-                                    46.609766
-                                ],
-                                [
-                                    -70.023628,
-                                    46.661287
-                                ],
-                                [
-                                    -70.007763,
-                                    46.704075
-                                ],
-                                [
-                                    -69.989961,
-                                    46.721697
-                                ],
-                                [
-                                    -69.899708,
-                                    46.811562
-                                ],
-                                [
-                                    -69.809403,
-                                    46.901299
-                                ],
-                                [
-                                    -69.719099,
-                                    46.991086
-                                ],
-                                [
-                                    -69.628794,
-                                    47.080797
-                                ],
-                                [
-                                    -69.538464,
-                                    47.17061
-                                ],
-                                [
-                                    -69.448159,
-                                    47.260346
-                                ],
-                                [
-                                    -69.357906,
-                                    47.350134
-                                ],
-                                [
-                                    -69.267628,
-                                    47.439844
-                                ],
-                                [
-                                    -69.25091,
-                                    47.452919
-                                ],
-                                [
-                                    -69.237268,
-                                    47.45881
-                                ],
-                                [
-                                    -69.221972,
-                                    47.459688
-                                ],
-                                [
-                                    -69.069655,
-                                    47.431886
-                                ],
-                                [
-                                    -69.054023,
-                                    47.418399
-                                ],
-                                [
-                                    -69.054333,
-                                    47.389253
-                                ],
-                                [
-                                    -69.066193,
-                                    47.32967
-                                ],
-                                [
-                                    -69.065134,
-                                    47.296339
-                                ],
-                                [
-                                    -69.06356,
-                                    47.290809
-                                ],
-                                [
-                                    -69.057486,
-                                    47.269467
-                                ],
-                                [
-                                    -69.0402,
-                                    47.249055
-                                ],
-                                [
-                                    -68.906229,
-                                    47.190221
-                                ],
-                                [
-                                    -68.889718,
-                                    47.190609
-                                ],
-                                [
-                                    -68.761819,
-                                    47.23704
-                                ],
-                                [
-                                    -68.71779,
-                                    47.245231
-                                ],
-                                [
-                                    -68.668801,
-                                    47.243422
-                                ],
-                                [
-                                    -68.644203,
-                                    47.245283
-                                ],
-                                [
-                                    -68.6256,
-                                    47.255205
-                                ],
-                                [
-                                    -68.607926,
-                                    47.269829
-                                ],
-                                [
-                                    -68.58524,
-                                    47.28249
-                                ],
-                                [
-                                    -68.539662,
-                                    47.299853
-                                ],
-                                [
-                                    -68.518009,
-                                    47.304762
-                                ],
-                                [
-                                    -68.492016,
-                                    47.307553
-                                ],
-                                [
-                                    -68.466746,
-                                    47.305692
-                                ],
-                                [
-                                    -68.435327,
-                                    47.291275
-                                ],
-                                [
-                                    -68.422563,
-                                    47.293109
-                                ],
-                                [
-                                    -68.410212,
-                                    47.297424
-                                ],
-                                [
-                                    -68.385614,
-                                    47.301713
-                                ],
-                                [
-                                    -68.383392,
-                                    47.307139
-                                ],
-                                [
-                                    -68.384839,
-                                    47.315873
-                                ],
-                                [
-                                    -68.382049,
-                                    47.32781
-                                ],
-                                [
-                                    -68.347839,
-                                    47.358506
-                                ],
-                                [
-                                    -68.299728,
-                                    47.367833
-                                ],
-                                [
-                                    -68.24645,
-                                    47.360573
-                                ],
-                                [
-                                    -68.197047,
-                                    47.341401
-                                ],
-                                [
-                                    -68.184335,
-                                    47.333133
-                                ],
-                                [
-                                    -68.156068,
-                                    47.306674
-                                ],
-                                [
-                                    -68.145061,
-                                    47.301455
-                                ],
-                                [
-                                    -68.115398,
-                                    47.292282
-                                ],
-                                [
-                                    -68.101446,
-                                    47.286185
-                                ],
-                                [
-                                    -68.039382,
-                                    47.245231
-                                ],
-                                [
-                                    -67.993184,
-                                    47.223217
-                                ],
-                                [
-                                    -67.962436,
-                                    47.197689
-                                ],
-                                [
-                                    -67.953703,
-                                    47.18663
-                                ],
-                                [
-                                    -67.949982,
-                                    47.172936
-                                ],
-                                [
-                                    -67.943419,
-                                    47.164538
-                                ],
-                                [
-                                    -67.899132,
-                                    47.138778
-                                ],
-                                [
-                                    -67.870607,
-                                    47.107358
-                                ],
-                                [
-                                    -67.854742,
-                                    47.09785
-                                ],
-                                [
-                                    -67.813556,
-                                    47.081908
-                                ],
-                                [
-                                    -67.808699,
-                                    47.075138
-                                ],
-                                [
-                                    -67.805185,
-                                    47.035631
-                                ],
-                                [
-                                    -67.802549,
-                                    46.901247
-                                ],
-                                [
-                                    -67.800017,
-                                    46.766785
-                                ],
-                                [
-                                    -67.797433,
-                                    46.632297
-                                ],
-                                [
-                                    -67.794849,
-                                    46.497861
-                                ],
-                                [
-                                    -67.792317,
-                                    46.363476
-                                ],
-                                [
-                                    -67.789733,
-                                    46.229014
-                                ],
-                                [
-                                    -67.78715,
-                                    46.094552
-                                ],
-                                [
-                                    -67.784566,
-                                    45.960142
-                                ],
-                                [
-                                    -67.782757,
-                                    45.95053
-                                ],
-                                [
-                                    -67.776556,
-                                    45.942933
-                                ],
-                                [
-                                    -67.767461,
-                                    45.935957
-                                ],
-                                [
-                                    -67.759658,
-                                    45.928567
-                                ],
-                                [
-                                    -67.757849,
-                                    45.919472
-                                ],
-                                [
-                                    -67.769425,
-                                    45.903969
-                                ],
-                                [
-                                    -67.787356,
-                                    45.890017
-                                ],
-                                [
-                                    -67.799242,
-                                    45.875651
-                                ],
-                                [
-                                    -67.792627,
-                                    45.858907
-                                ],
-                                [
-                                    -67.776091,
-                                    45.840821
-                                ],
-                                [
-                                    -67.772835,
-                                    45.828057
-                                ],
-                                [
-                                    -67.779863,
-                                    45.815706
-                                ],
-                                [
-                                    -67.794126,
-                                    45.799169
-                                ],
-                                [
-                                    -67.80627,
-                                    45.781754
-                                ],
-                                [
-                                    -67.811127,
-                                    45.76651
-                                ],
-                                [
-                                    -67.810816,
-                                    45.762414
-                                ],
-                                [
-                                    -67.817811,
-                                    45.754896
-                                ],
-                                [
-                                    -67.821785,
-                                    45.740767
-                                ],
-                                [
-                                    -67.827673,
-                                    45.739001
-                                ],
-                                [
-                                    -67.868884,
-                                    45.744593
-                                ],
-                                [
-                                    -67.856815,
-                                    45.723694
-                                ],
-                                [
-                                    -67.835768,
-                                    45.703971
-                                ],
-                                [
-                                    -67.793821,
-                                    45.676301
-                                ],
-                                [
-                                    -67.733034,
-                                    45.651869
-                                ],
-                                [
-                                    -67.723173,
-                                    45.645393
-                                ],
-                                [
-                                    -67.711546,
-                                    45.642155
-                                ],
-                                [
-                                    -67.697564,
-                                    45.64922
-                                ],
-                                [
-                                    -67.66695,
-                                    45.620077
-                                ],
-                                [
-                                    -67.649435,
-                                    45.611247
-                                ],
-                                [
-                                    -67.603073,
-                                    45.605948
-                                ],
-                                [
-                                    -67.561862,
-                                    45.596234
-                                ],
-                                [
-                                    -67.54052,
-                                    45.593879
-                                ],
-                                [
-                                    -67.442056,
-                                    45.603593
-                                ],
-                                [
-                                    -67.440939,
-                                    45.604586
-                                ],
-                                [
-                                    -67.431306,
-                                    45.597941
-                                ],
-                                [
-                                    -67.422107,
-                                    45.568796
-                                ],
-                                [
-                                    -67.42619,
-                                    45.533449
-                                ],
-                                [
-                                    -67.443036,
-                                    45.522184
-                                ],
-                                [
-                                    -67.467531,
-                                    45.508283
-                                ],
-                                [
-                                    -67.493214,
-                                    45.493142
-                                ],
-                                [
-                                    -67.48231,
-                                    45.455521
-                                ],
-                                [
-                                    -67.428825,
-                                    45.38705
-                                ],
-                                [
-                                    -67.434561,
-                                    45.350308
-                                ],
-                                [
-                                    -67.459056,
-                                    45.318424
-                                ],
-                                [
-                                    -67.468668,
-                                    45.301835
-                                ],
-                                [
-                                    -67.475024,
-                                    45.282353
-                                ],
-                                [
-                                    -67.471303,
-                                    45.266282
-                                ],
-                                [
-                                    -67.427585,
-                                    45.236568
-                                ],
-                                [
-                                    -67.390533,
-                                    45.193108
-                                ],
-                                [
-                                    -67.356272,
-                                    45.165926
-                                ],
-                                [
-                                    -67.31922,
-                                    45.153886
-                                ],
-                                [
-                                    -67.284648,
-                                    45.169699
-                                ],
-                                [
-                                    -67.279584,
-                                    45.179052
-                                ],
-                                [
-                                    -67.279222,
-                                    45.187372
-                                ],
-                                [
-                                    -67.277207,
-                                    45.195072
-                                ],
-                                [
-                                    -67.267336,
-                                    45.202513
-                                ],
-                                [
-                                    -67.254986,
-                                    45.205045
-                                ],
-                                [
-                                    -67.242428,
-                                    45.202565
-                                ],
-                                [
-                                    -67.219071,
-                                    45.192126
-                                ],
-                                [
-                                    -67.206166,
-                                    45.189401
-                                ],
-                                [
-                                    -67.176015,
-                                    45.178656
-                                ],
-                                [
-                                    -67.191274,
-                                    45.180365
-                                ],
-                                [
-                                    -67.204376,
-                                    45.178209
-                                ],
-                                [
-                                    -67.204724,
-                                    45.177791
-                                ],
-                                [
-                                    -67.152423,
-                                    45.148932
-                                ],
-                                [
-                                    -67.048033,
-                                    45.043407
-                                ],
-                                [
-                                    -66.962727,
-                                    45.047088
-                                ],
-                                [
-                                    -66.857192,
-                                    44.968696
-                                ],
-                                [
-                                    -66.897268,
-                                    44.817275
-                                ],
-                                [
-                                    -67.2159,
-                                    44.593511
-                                ],
-                                [
-                                    -67.122366,
-                                    44.423624
-                                ],
-                                [
-                                    -67.68447,
-                                    44.192544
-                                ],
-                                [
-                                    -67.459678,
-                                    40.781645
-                                ],
-                                [
-                                    -76.607854,
-                                    32.495823
-                                ],
-                                [
-                                    -76.798479,
-                                    32.713735
-                                ],
-                                [
-                                    -78.561892,
-                                    29.037718
-                                ],
-                                [
-                                    -78.892446,
-                                    29.039659
-                                ],
-                                [
-                                    -79.762295,
-                                    26.719312
-                                ],
-                                [
-                                    -80.026352,
-                                    24.932961
-                                ],
-                                [
-                                    -82.368794,
-                                    23.994833
-                                ],
-                                [
-                                    -83.806281,
-                                    29.068506
-                                ],
-                                [
-                                    -87.460772,
-                                    29.089961
-                                ],
-                                [
-                                    -87.922646,
-                                    28.666131
-                                ],
-                                [
-                                    -90.461001,
-                                    28.246758
-                                ],
-                                [
-                                    -91.787336,
-                                    29.11536
-                                ],
-                                [
-                                    -93.311871,
-                                    29.12431
-                                ],
-                                [
-                                    -96.423449,
-                                    26.057857
-                                ],
-                                [
-                                    -97.129057,
-                                    25.991017
-                                ],
-                                [
-                                    -97.129509,
-                                    25.966833
-                                ],
-                                [
-                                    -97.139358,
-                                    25.965876
-                                ],
-                                [
-                                    -97.202171,
-                                    25.960893
-                                ],
-                                [
-                                    -97.202176,
-                                    25.960857
-                                ],
-                                [
-                                    -97.204941,
-                                    25.960639
-                                ],
-                                [
-                                    -97.253051,
-                                    25.963481
-                                ],
-                                [
-                                    -97.266358,
-                                    25.960639
-                                ],
-                                [
-                                    -97.2692,
-                                    25.944361
-                                ],
-                                [
-                                    -97.287649,
-                                    25.928651
-                                ],
-                                [
-                                    -97.310981,
-                                    25.922088
-                                ],
-                                [
-                                    -97.328447,
-                                    25.933302
-                                ],
-                                [
-                                    -97.351107,
-                                    25.918419
-                                ],
-                                [
-                                    -97.355112,
-                                    25.912786
-                                ],
-                                [
-                                    -97.35227,
-                                    25.894493
-                                ],
-                                [
-                                    -97.345165,
-                                    25.871704
-                                ],
-                                [
-                                    -97.345733,
-                                    25.852222
-                                ],
-                                [
-                                    -97.36599,
-                                    25.843902
-                                ],
-                                [
-                                    -97.376015,
-                                    25.846744
-                                ],
-                                [
-                                    -97.380124,
-                                    25.853203
-                                ],
-                                [
-                                    -97.383121,
-                                    25.860541
-                                ],
-                                [
-                                    -97.389891,
-                                    25.865657
-                                ],
-                                [
-                                    -97.397823,
-                                    25.865812
-                                ],
-                                [
-                                    -97.399476,
-                                    25.861162
-                                ],
-                                [
-                                    -97.39989,
-                                    25.855115
-                                ],
-                                [
-                                    -97.404179,
-                                    25.851395
-                                ],
-                                [
-                                    -97.425418,
-                                    25.854857
-                                ],
-                                [
-                                    -97.435727,
-                                    25.869275
-                                ],
-                                [
-                                    -97.441309,
-                                    25.884933
-                                ],
-                                [
-                                    -97.448259,
-                                    25.892322
-                                ],
-                                [
-                                    -97.469421,
-                                    25.892943
-                                ],
-                                [
-                                    -97.486319,
-                                    25.895733
-                                ],
-                                [
-                                    -97.502209,
-                                    25.901883
-                                ],
-                                [
-                                    -97.52027,
-                                    25.912786
-                                ],
-                                [
-                                    -97.565177,
-                                    25.954748
-                                ],
-                                [
-                                    -97.594322,
-                                    25.966375
-                                ],
-                                [
-                                    -97.604787,
-                                    25.979966
-                                ],
-                                [
-                                    -97.613055,
-                                    25.995985
-                                ],
-                                [
-                                    -97.622641,
-                                    26.00906
-                                ],
-                                [
-                                    -97.641451,
-                                    26.022495
-                                ],
-                                [
-                                    -97.659874,
-                                    26.03066
-                                ],
-                                [
-                                    -97.679614,
-                                    26.034639
-                                ],
-                                [
-                                    -97.766948,
-                                    26.039652
-                                ],
-                                [
-                                    -97.780306,
-                                    26.043218
-                                ],
-                                [
-                                    -97.782321,
-                                    26.058617
-                                ],
-                                [
-                                    -97.80201,
-                                    26.063733
-                                ],
-                                [
-                                    -97.878181,
-                                    26.063733
-                                ],
-                                [
-                                    -97.941666,
-                                    26.056809
-                                ],
-                                [
-                                    -97.999233,
-                                    26.064302
-                                ],
-                                [
-                                    -98.013057,
-                                    26.063682
-                                ],
-                                [
-                                    -98.044166,
-                                    26.048799
-                                ],
-                                [
-                                    -98.065457,
-                                    26.042184
-                                ],
-                                [
-                                    -98.075146,
-                                    26.046628
-                                ],
-                                [
-                                    -98.083311,
-                                    26.070916
-                                ],
-                                [
-                                    -98.103103,
-                                    26.074947
-                                ],
-                                [
-                                    -98.150232,
-                                    26.063682
-                                ],
-                                [
-                                    -98.185062,
-                                    26.065232
-                                ],
-                                [
-                                    -98.222656,
-                                    26.075412
-                                ],
-                                [
-                                    -98.300429,
-                                    26.111431
-                                ],
-                                [
-                                    -98.309809,
-                                    26.121094
-                                ],
-                                [
-                                    -98.333037,
-                                    26.15303
-                                ],
-                                [
-                                    -98.339264,
-                                    26.159851
-                                ],
-                                [
-                                    -98.365774,
-                                    26.160161
-                                ],
-                                [
-                                    -98.377272,
-                                    26.163572
-                                ],
-                                [
-                                    -98.377272,
-                                    26.173649
-                                ],
-                                [
-                                    -98.36934,
-                                    26.19401
-                                ],
-                                [
-                                    -98.397193,
-                                    26.201141
-                                ],
-                                [
-                                    -98.428845,
-                                    26.217729
-                                ],
-                                [
-                                    -98.456544,
-                                    26.225946
-                                ],
-                                [
-                                    -98.472383,
-                                    26.207652
-                                ],
-                                [
-                                    -98.49295,
-                                    26.230596
-                                ],
-                                [
-                                    -98.521527,
-                                    26.240932
-                                ],
-                                [
-                                    -98.552791,
-                                    26.248321
-                                ],
-                                [
-                                    -98.581627,
-                                    26.262274
-                                ],
-                                [
-                                    -98.640564,
-                                    26.24181
-                                ],
-                                [
-                                    -98.653663,
-                                    26.244291
-                                ],
-                                [
-                                    -98.664696,
-                                    26.250647
-                                ],
-                                [
-                                    -98.685289,
-                                    26.268475
-                                ],
-                                [
-                                    -98.693325,
-                                    26.270542
-                                ],
-                                [
-                                    -98.702239,
-                                    26.271628
-                                ],
-                                [
-                                    -98.704255,
-                                    26.27664
-                                ],
-                                [
-                                    -98.691465,
-                                    26.290231
-                                ],
-                                [
-                                    -98.701413,
-                                    26.299119
-                                ],
-                                [
-                                    -98.713169,
-                                    26.303357
-                                ],
-                                [
-                                    -98.726217,
-                                    26.30439
-                                ],
-                                [
-                                    -98.739911,
-                                    26.303253
-                                ],
-                                [
-                                    -98.735932,
-                                    26.320048
-                                ],
-                                [
-                                    -98.746397,
-                                    26.332141
-                                ],
-                                [
-                                    -98.780839,
-                                    26.351674
-                                ],
-                                [
-                                    -98.795851,
-                                    26.368314
-                                ],
-                                [
-                                    -98.801329,
-                                    26.372138
-                                ],
-                                [
-                                    -98.810295,
-                                    26.372448
-                                ],
-                                [
-                                    -98.817323,
-                                    26.368521
-                                ],
-                                [
-                                    -98.825023,
-                                    26.366454
-                                ],
-                                [
-                                    -98.836081,
-                                    26.372138
-                                ],
-                                [
-                                    -98.842334,
-                                    26.365834
-                                ],
-                                [
-                                    -98.850835,
-                                    26.364077
-                                ],
-                                [
-                                    -98.860524,
-                                    26.366299
-                                ],
-                                [
-                                    -98.870214,
-                                    26.372138
-                                ],
-                                [
-                                    -98.893029,
-                                    26.367849
-                                ],
-                                [
-                                    -98.9299,
-                                    26.39224
-                                ],
-                                [
-                                    -98.945377,
-                                    26.378288
-                                ],
-                                [
-                                    -98.954136,
-                                    26.393946
-                                ],
-                                [
-                                    -98.962844,
-                                    26.399527
-                                ],
-                                [
-                                    -98.986951,
-                                    26.400095
-                                ],
-                                [
-                                    -99.004056,
-                                    26.393842
-                                ],
-                                [
-                                    -99.010515,
-                                    26.392602
-                                ],
-                                [
-                                    -99.016432,
-                                    26.394462
-                                ],
-                                [
-                                    -99.022995,
-                                    26.403351
-                                ],
-                                [
-                                    -99.027878,
-                                    26.406245
-                                ],
-                                [
-                                    -99.047645,
-                                    26.406968
-                                ],
-                                [
-                                    -99.066351,
-                                    26.404746
-                                ],
-                                [
-                                    -99.085498,
-                                    26.40764
-                                ],
-                                [
-                                    -99.106427,
-                                    26.423039
-                                ],
-                                [
-                                    -99.108907,
-                                    26.434253
-                                ],
-                                [
-                                    -99.102525,
-                                    26.446966
-                                ],
-                                [
-                                    -99.09374,
-                                    26.459781
-                                ],
-                                [
-                                    -99.089373,
-                                    26.47115
-                                ],
-                                [
-                                    -99.091492,
-                                    26.484018
-                                ],
-                                [
-                                    -99.10299,
-                                    26.512078
-                                ],
-                                [
-                                    -99.115108,
-                                    26.525617
-                                ],
-                                [
-                                    -99.140946,
-                                    26.531405
-                                ],
-                                [
-                                    -99.164873,
-                                    26.540448
-                                ],
-                                [
-                                    -99.17128,
-                                    26.563961
-                                ],
-                                [
-                                    -99.171548,
-                                    26.56583
-                                ],
-                                [
-                                    -99.213953,
-                                    26.568537
-                                ],
-                                [
-                                    -99.242801,
-                                    26.579723
-                                ],
-                                [
-                                    -99.254575,
-                                    26.6018
-                                ],
-                                [
-                                    -99.258844,
-                                    26.614752
-                                ],
-                                [
-                                    -99.277683,
-                                    26.638007
-                                ],
-                                [
-                                    -99.281951,
-                                    26.649781
-                                ],
-                                [
-                                    -99.277389,
-                                    26.657729
-                                ],
-                                [
-                                    -99.26635,
-                                    26.653314
-                                ],
-                                [
-                                    -99.252662,
-                                    26.644483
-                                ],
-                                [
-                                    -99.240299,
-                                    26.639184
-                                ],
-                                [
-                                    -99.244861,
-                                    26.652431
-                                ],
-                                [
-                                    -99.240299,
-                                    26.697763
-                                ],
-                                [
-                                    -99.242507,
-                                    26.713658
-                                ],
-                                [
-                                    -99.252368,
-                                    26.743683
-                                ],
-                                [
-                                    -99.254575,
-                                    26.75899
-                                ],
-                                [
-                                    -99.252368,
-                                    26.799024
-                                ],
-                                [
-                                    -99.254575,
-                                    26.810504
-                                ],
-                                [
-                                    -99.257666,
-                                    26.813153
-                                ],
-                                [
-                                    -99.262229,
-                                    26.814036
-                                ],
-                                [
-                                    -99.266497,
-                                    26.817863
-                                ],
-                                [
-                                    -99.268263,
-                                    26.827872
-                                ],
-                                [
-                                    -99.271649,
-                                    26.832876
-                                ],
-                                [
-                                    -99.289458,
-                                    26.84465
-                                ],
-                                [
-                                    -99.308444,
-                                    26.830521
-                                ],
-                                [
-                                    -99.316539,
-                                    26.822279
-                                ],
-                                [
-                                    -99.323457,
-                                    26.810504
-                                ],
-                                [
-                                    -99.328166,
-                                    26.797258
-                                ],
-                                [
-                                    -99.329197,
-                                    26.789016
-                                ],
-                                [
-                                    -99.331699,
-                                    26.78254
-                                ],
-                                [
-                                    -99.340383,
-                                    26.77312
-                                ],
-                                [
-                                    -99.366728,
-                                    26.761345
-                                ],
-                                [
-                                    -99.380269,
-                                    26.777241
-                                ],
-                                [
-                                    -99.391896,
-                                    26.796963
-                                ],
-                                [
-                                    -99.412207,
-                                    26.796963
-                                ],
-                                [
-                                    -99.410883,
-                                    26.808149
-                                ],
-                                [
-                                    -99.405437,
-                                    26.818452
-                                ],
-                                [
-                                    -99.396606,
-                                    26.824928
-                                ],
-                                [
-                                    -99.384979,
-                                    26.824928
-                                ],
-                                [
-                                    -99.377178,
-                                    26.816686
-                                ],
-                                [
-                                    -99.374823,
-                                    26.804028
-                                ],
-                                [
-                                    -99.374234,
-                                    26.791076
-                                ],
-                                [
-                                    -99.371291,
-                                    26.783128
-                                ],
-                                [
-                                    -99.360694,
-                                    26.780479
-                                ],
-                                [
-                                    -99.359369,
-                                    26.790487
-                                ],
-                                [
-                                    -99.36452,
-                                    26.810504
-                                ],
-                                [
-                                    -99.357897,
-                                    26.822279
-                                ],
-                                [
-                                    -99.351274,
-                                    26.83111
-                                ],
-                                [
-                                    -99.346123,
-                                    26.840824
-                                ],
-                                [
-                                    -99.344062,
-                                    26.855247
-                                ],
-                                [
-                                    -99.348772,
-                                    26.899696
-                                ],
-                                [
-                                    -99.355101,
-                                    26.920302
-                                ],
-                                [
-                                    -99.36452,
-                                    26.934726
-                                ],
-                                [
-                                    -99.403377,
-                                    26.952093
-                                ],
-                                [
-                                    -99.413974,
-                                    26.964162
-                                ],
-                                [
-                                    -99.401758,
-                                    26.985651
-                                ],
-                                [
-                                    -99.399991,
-                                    26.999192
-                                ],
-                                [
-                                    -99.418831,
-                                    27.007728
-                                ],
-                                [
-                                    -99.441938,
-                                    27.013615
-                                ],
-                                [
-                                    -99.453271,
-                                    27.019797
-                                ],
-                                [
-                                    -99.455332,
-                                    27.025979
-                                ],
-                                [
-                                    -99.464751,
-                                    27.039225
-                                ],
-                                [
-                                    -99.466959,
-                                    27.047467
-                                ],
-                                [
-                                    -99.462544,
-                                    27.057181
-                                ],
-                                [
-                                    -99.461635,
-                                    27.056839
-                                ],
-                                [
-                                    -99.461728,
-                                    27.056954
-                                ],
-                                [
-                                    -99.442039,
-                                    27.089614
-                                ],
-                                [
-                                    -99.439404,
-                                    27.098347
-                                ],
-                                [
-                                    -99.441419,
-                                    27.107494
-                                ],
-                                [
-                                    -99.445734,
-                                    27.114728
-                                ],
-                                [
-                                    -99.450178,
-                                    27.120465
-                                ],
-                                [
-                                    -99.452452,
-                                    27.125012
-                                ],
-                                [
-                                    -99.450333,
-                                    27.145166
-                                ],
-                                [
-                                    -99.435786,
-                                    27.188419
-                                ],
-                                [
-                                    -99.431988,
-                                    27.207591
-                                ],
-                                [
-                                    -99.434029,
-                                    27.22697
-                                ],
-                                [
-                                    -99.440902,
-                                    27.244798
-                                ],
-                                [
-                                    -99.451832,
-                                    27.26118
-                                ],
-                                [
-                                    -99.46612,
-                                    27.276527
-                                ],
-                                [
-                                    -99.468963,
-                                    27.278233
-                                ],
-                                [
-                                    -99.480409,
-                                    27.283297
-                                ],
-                                [
-                                    -99.482941,
-                                    27.286708
-                                ],
-                                [
-                                    -99.484879,
-                                    27.294821
-                                ],
-                                [
-                                    -99.486584,
-                                    27.297611
-                                ],
-                                [
-                                    -99.493199,
-                                    27.30128
-                                ],
-                                [
-                                    -99.521362,
-                                    27.311254
-                                ],
-                                [
-                                    -99.5148,
-                                    27.321796
-                                ],
-                                [
-                                    -99.497591,
-                                    27.338798
-                                ],
-                                [
-                                    -99.494026,
-                                    27.348203
-                                ],
-                                [
-                                    -99.492889,
-                                    27.358848
-                                ],
-                                [
-                                    -99.487721,
-                                    27.37187
-                                ],
-                                [
-                                    -99.484621,
-                                    27.391766
-                                ],
-                                [
-                                    -99.475706,
-                                    27.414762
-                                ],
-                                [
-                                    -99.472916,
-                                    27.426647
-                                ],
-                                [
-                                    -99.473639,
-                                    27.463803
-                                ],
-                                [
-                                    -99.472916,
-                                    27.468299
-                                ],
-                                [
-                                    -99.47643,
-                                    27.48251
-                                ],
-                                [
-                                    -99.480409,
-                                    27.490778
-                                ],
-                                [
-                                    -99.48829,
-                                    27.494654
-                                ],
-                                [
-                                    -99.503689,
-                                    27.495584
-                                ],
-                                [
-                                    -99.509503,
-                                    27.500028
-                                ],
-                                [
-                                    -99.510071,
-                                    27.510518
-                                ],
-                                [
-                                    -99.507074,
-                                    27.533437
-                                ],
-                                [
-                                    -99.507203,
-                                    27.57377
-                                ],
-                                [
-                                    -99.515006,
-                                    27.588601
-                                ],
-                                [
-                                    -99.535031,
-                                    27.604828
-                                ],
-                                [
-                                    -99.55503,
-                                    27.613509
-                                ],
-                                [
-                                    -99.572264,
-                                    27.61847
-                                ],
-                                [
-                                    -99.578232,
-                                    27.622811
-                                ],
-                                [
-                                    -99.590247,
-                                    27.642061
-                                ],
-                                [
-                                    -99.600169,
-                                    27.646427
-                                ],
-                                [
-                                    -99.612442,
-                                    27.643637
-                                ],
-                                [
-                                    -99.633526,
-                                    27.633069
-                                ],
-                                [
-                                    -99.644869,
-                                    27.632733
-                                ],
-                                [
-                                    -99.648642,
-                                    27.636919
-                                ],
-                                [
-                                    -99.658693,
-                                    27.654024
-                                ],
-                                [
-                                    -99.664739,
-                                    27.659398
-                                ],
-                                [
-                                    -99.70037,
-                                    27.659191
-                                ],
-                                [
-                                    -99.705692,
-                                    27.66317
-                                ],
-                                [
-                                    -99.710674,
-                                    27.670116
-                                ],
-                                [
-                                    -99.723056,
-                                    27.687381
-                                ],
-                                [
-                                    -99.730652,
-                                    27.691825
-                                ],
-                                [
-                                    -99.734037,
-                                    27.702031
-                                ],
-                                [
-                                    -99.736311,
-                                    27.713607
-                                ],
-                                [
-                                    -99.740445,
-                                    27.722159
-                                ],
-                                [
-                                    -99.747344,
-                                    27.726009
-                                ],
-                                [
-                                    -99.765198,
-                                    27.731177
-                                ],
-                                [
-                                    -99.774577,
-                                    27.735828
-                                ],
-                                [
-                                    -99.78685,
-                                    27.748488
-                                ],
-                                [
-                                    -99.795428,
-                                    27.761924
-                                ],
-                                [
-                                    -99.806963,
-                                    27.771423
-                                ],
-                                [
-                                    -99.808167,
-                                    27.772414
-                                ],
-                                [
-                                    -99.83292,
-                                    27.776755
-                                ],
-                                [
-                                    -99.832971,
-                                    27.782181
-                                ],
-                                [
-                                    -99.844779,
-                                    27.793576
-                                ],
-                                [
-                                    -99.858241,
-                                    27.803524
-                                ],
-                                [
-                                    -99.863357,
-                                    27.804661
-                                ],
-                                [
-                                    -99.864727,
-                                    27.814324
-                                ],
-                                [
-                                    -99.861858,
-                                    27.83608
-                                ],
-                                [
-                                    -99.863357,
-                                    27.845666
-                                ],
-                                [
-                                    -99.870928,
-                                    27.854477
-                                ],
-                                [
-                                    -99.880204,
-                                    27.859231
-                                ],
-                                [
-                                    -99.888007,
-                                    27.864812
-                                ],
-                                [
-                                    -99.891288,
-                                    27.876026
-                                ],
-                                [
-                                    -99.882684,
-                                    27.89158
-                                ],
-                                [
-                                    -99.878808,
-                                    27.901838
-                                ],
-                                [
-                                    -99.88134,
-                                    27.906463
-                                ],
-                                [
-                                    -99.896766,
-                                    27.912923
-                                ],
-                                [
-                                    -99.914336,
-                                    27.928245
-                                ],
-                                [
-                                    -99.929916,
-                                    27.946331
-                                ],
-                                [
-                                    -99.939683,
-                                    27.961085
-                                ],
-                                [
-                                    -99.928289,
-                                    27.975761
-                                ],
-                                [
-                                    -99.940717,
-                                    27.983254
-                                ],
-                                [
-                                    -99.961852,
-                                    27.987492
-                                ],
-                                [
-                                    -99.976606,
-                                    27.992453
-                                ],
-                                [
-                                    -99.991127,
-                                    28.007801
-                                ],
-                                [
-                                    -100.000584,
-                                    28.02041
-                                ],
-                                [
-                                    -100.007457,
-                                    28.033561
-                                ],
-                                [
-                                    -100.014123,
-                                    28.050459
-                                ],
-                                [
-                                    -100.013503,
-                                    28.056971
-                                ],
-                                [
-                                    -100.010506,
-                                    28.063611
-                                ],
-                                [
-                                    -100.010196,
-                                    28.068882
-                                ],
-                                [
-                                    -100.017585,
-                                    28.070949
-                                ],
-                                [
-                                    -100.031538,
-                                    28.081801
-                                ],
-                                [
-                                    -100.045077,
-                                    28.095289
-                                ],
-                                [
-                                    -100.048023,
-                                    28.102523
-                                ],
-                                [
-                                    -100.048901,
-                                    28.115959
-                                ],
-                                [
-                                    -100.056498,
-                                    28.137922
-                                ],
-                                [
-                                    -100.074895,
-                                    28.154407
-                                ],
-                                [
-                                    -100.172873,
-                                    28.198538
-                                ],
-                                [
-                                    -100.189203,
-                                    28.201329
-                                ],
-                                [
-                                    -100.197626,
-                                    28.207168
-                                ],
-                                [
-                                    -100.201192,
-                                    28.220346
-                                ],
-                                [
-                                    -100.202949,
-                                    28.234428
-                                ],
-                                [
-                                    -100.205946,
-                                    28.242877
-                                ],
-                                [
-                                    -100.212819,
-                                    28.245073
-                                ],
-                                [
-                                    -100.240724,
-                                    28.249698
-                                ],
-                                [
-                                    -100.257932,
-                                    28.260524
-                                ],
-                                [
-                                    -100.275089,
-                                    28.277242
-                                ],
-                                [
-                                    -100.284339,
-                                    28.296517
-                                ],
-                                [
-                                    -100.277931,
-                                    28.314888
-                                ],
-                                [
-                                    -100.278551,
-                                    28.331088
-                                ],
-                                [
-                                    -100.293899,
-                                    28.353413
-                                ],
-                                [
-                                    -100.322631,
-                                    28.386899
-                                ],
-                                [
-                                    -100.331675,
-                                    28.422013
-                                ],
-                                [
-                                    -100.336326,
-                                    28.458574
-                                ],
-                                [
-                                    -100.340201,
-                                    28.464259
-                                ],
-                                [
-                                    -100.348315,
-                                    28.470253
-                                ],
-                                [
-                                    -100.355549,
-                                    28.478185
-                                ],
-                                [
-                                    -100.35679,
-                                    28.489322
-                                ],
-                                [
-                                    -100.351622,
-                                    28.496711
-                                ],
-                                [
-                                    -100.322631,
-                                    28.510406
-                                ],
-                                [
-                                    -100.364024,
-                                    28.524797
-                                ],
-                                [
-                                    -100.38423,
-                                    28.537174
-                                ],
-                                [
-                                    -100.397769,
-                                    28.557586
-                                ],
-                                [
-                                    -100.398751,
-                                    28.568645
-                                ],
-                                [
-                                    -100.397097,
-                                    28.592726
-                                ],
-                                [
-                                    -100.401438,
-                                    28.60226
-                                ],
-                                [
-                                    -100.411463,
-                                    28.609314
-                                ],
-                                [
-                                    -100.434821,
-                                    28.619133
-                                ],
-                                [
-                                    -100.44619,
-                                    28.626497
-                                ],
-                                [
-                                    -100.444898,
-                                    28.643782
-                                ],
-                                [
-                                    -100.481381,
-                                    28.686054
-                                ],
-                                [
-                                    -100.493939,
-                                    28.708378
-                                ],
-                                [
-                                    -100.519054,
-                                    28.804961
-                                ],
-                                [
-                                    -100.524996,
-                                    28.814831
-                                ],
-                                [
-                                    -100.529285,
-                                    28.819947
-                                ],
-                                [
-                                    -100.534453,
-                                    28.830231
-                                ],
-                                [
-                                    -100.538639,
-                                    28.835631
-                                ],
-                                [
-                                    -100.54515,
-                                    28.83899
-                                ],
-                                [
-                                    -100.559671,
-                                    28.839378
-                                ],
-                                [
-                                    -100.566234,
-                                    28.842504
-                                ],
-                                [
-                                    -100.569696,
-                                    28.84961
-                                ],
-                                [
-                                    -100.56334,
-                                    28.86209
-                                ],
-                                [
-                                    -100.566234,
-                                    28.869789
-                                ],
-                                [
-                                    -100.571763,
-                                    28.8732
-                                ],
-                                [
-                                    -100.586543,
-                                    28.879789
-                                ],
-                                [
-                                    -100.58954,
-                                    28.883458
-                                ],
-                                [
-                                    -100.594966,
-                                    28.899322
-                                ],
-                                [
-                                    -100.606955,
-                                    28.910123
-                                ],
-                                [
-                                    -100.618841,
-                                    28.917926
-                                ],
-                                [
-                                    -100.624318,
-                                    28.924721
-                                ],
-                                [
-                                    -100.624783,
-                                    28.93777
-                                ],
-                                [
-                                    -100.626696,
-                                    28.948338
-                                ],
-                                [
-                                    -100.630778,
-                                    28.956683
-                                ],
-                                [
-                                    -100.637909,
-                                    28.962884
-                                ],
-                                [
-                                    -100.628918,
-                                    28.98433
-                                ],
-                                [
-                                    -100.632793,
-                                    29.005156
-                                ],
-                                [
-                                    -100.652224,
-                                    29.044817
-                                ],
-                                [
-                                    -100.660854,
-                                    29.102669
-                                ],
-                                [
-                                    -100.668967,
-                                    29.116208
-                                ],
-                                [
-                                    -100.678165,
-                                    29.119412
-                                ],
-                                [
-                                    -100.690826,
-                                    29.121014
-                                ],
-                                [
-                                    -100.70204,
-                                    29.12365
-                                ],
-                                [
-                                    -100.706846,
-                                    29.130187
-                                ],
-                                [
-                                    -100.70974,
-                                    29.135561
-                                ],
-                                [
-                                    -100.762501,
-                                    29.173776
-                                ],
-                                [
-                                    -100.770098,
-                                    29.187289
-                                ],
-                                [
-                                    -100.762088,
-                                    29.208658
-                                ],
-                                [
-                                    -100.783172,
-                                    29.243074
-                                ],
-                                [
-                                    -100.796143,
-                                    29.257673
-                                ],
-                                [
-                                    -100.81609,
-                                    29.270773
-                                ],
-                                [
-                                    -100.86389,
-                                    29.290616
-                                ],
-                                [
-                                    -100.871797,
-                                    29.296456
-                                ],
-                                [
-                                    -100.891227,
-                                    29.318547
-                                ],
-                                [
-                                    -100.91474,
-                                    29.337048
-                                ],
-                                [
-                                    -100.987397,
-                                    29.366322
-                                ],
-                                [
-                                    -100.998301,
-                                    29.372472
-                                ],
-                                [
-                                    -101.008068,
-                                    29.380585
-                                ],
-                                [
-                                    -101.016232,
-                                    29.390068
-                                ],
-                                [
-                                    -101.022175,
-                                    29.40048
-                                ],
-                                [
-                                    -101.025948,
-                                    29.414356
-                                ],
-                                [
-                                    -101.029617,
-                                    29.442984
-                                ],
-                                [
-                                    -101.037782,
-                                    29.460063
-                                ],
-                                [
-                                    -101.039026,
-                                    29.460452
-                                ],
-                                [
-                                    -101.040188,
-                                    29.457132
-                                ],
-                                [
-                                    -101.045487,
-                                    29.451245
-                                ],
-                                [
-                                    -101.060205,
-                                    29.449184
-                                ],
-                                [
-                                    -101.067711,
-                                    29.45095
-                                ],
-                                [
-                                    -101.076101,
-                                    29.453894
-                                ],
-                                [
-                                    -101.085962,
-                                    29.454483
-                                ],
-                                [
-                                    -101.098031,
-                                    29.449184
-                                ],
-                                [
-                                    -101.113043,
-                                    29.466552
-                                ],
-                                [
-                                    -101.142774,
-                                    29.475383
-                                ],
-                                [
-                                    -101.174124,
-                                    29.475971
-                                ],
-                                [
-                                    -101.193699,
-                                    29.469495
-                                ],
-                                [
-                                    -101.198703,
-                                    29.473911
-                                ],
-                                [
-                                    -101.198851,
-                                    29.476854
-                                ],
-                                [
-                                    -101.184132,
-                                    29.497754
-                                ],
-                                [
-                                    -101.184868,
-                                    29.512767
-                                ],
-                                [
-                                    -101.195171,
-                                    29.521892
-                                ],
-                                [
-                                    -101.214157,
-                                    29.518065
-                                ],
-                                [
-                                    -101.245213,
-                                    29.493044
-                                ],
-                                [
-                                    -101.265818,
-                                    29.487157
-                                ],
-                                [
-                                    -101.290545,
-                                    29.49746
-                                ],
-                                [
-                                    -101.297315,
-                                    29.503936
-                                ],
-                                [
-                                    -101.300995,
-                                    29.512767
-                                ],
-                                [
-                                    -101.294372,
-                                    29.520715
-                                ],
-                                [
-                                    -101.273177,
-                                    29.524247
-                                ],
-                                [
-                                    -101.259195,
-                                    29.533372
-                                ],
-                                [
-                                    -101.243888,
-                                    29.554861
-                                ],
-                                [
-                                    -101.231966,
-                                    29.580176
-                                ],
-                                [
-                                    -101.227845,
-                                    29.599899
-                                ],
-                                [
-                                    -101.239178,
-                                    29.616677
-                                ],
-                                [
-                                    -101.26052,
-                                    29.613439
-                                ],
-                                [
-                                    -101.281272,
-                                    29.597249
-                                ],
-                                [
-                                    -101.290545,
-                                    29.575761
-                                ],
-                                [
-                                    -101.295255,
-                                    29.570168
-                                ],
-                                [
-                                    -101.306146,
-                                    29.574583
-                                ],
-                                [
-                                    -101.317626,
-                                    29.584003
-                                ],
-                                [
-                                    -101.323955,
-                                    29.592539
-                                ],
-                                [
-                                    -101.323661,
-                                    29.603137
-                                ],
-                                [
-                                    -101.318804,
-                                    29.616383
-                                ],
-                                [
-                                    -101.311445,
-                                    29.628158
-                                ],
-                                [
-                                    -101.303497,
-                                    29.634045
-                                ],
-                                [
-                                    -101.303669,
-                                    29.631411
-                                ],
-                                [
-                                    -101.302727,
-                                    29.633851
-                                ],
-                                [
-                                    -101.301073,
-                                    29.649509
-                                ],
-                                [
-                                    -101.30978,
-                                    29.654548
-                                ],
-                                [
-                                    -101.336239,
-                                    29.654315
-                                ],
-                                [
-                                    -101.349029,
-                                    29.660103
-                                ],
-                                [
-                                    -101.357684,
-                                    29.667441
-                                ],
-                                [
-                                    -101.364351,
-                                    29.676665
-                                ],
-                                [
-                                    -101.376624,
-                                    29.700643
-                                ],
-                                [
-                                    -101.383368,
-                                    29.718497
-                                ],
-                                [
-                                    -101.39962,
-                                    29.740718
-                                ],
-                                [
-                                    -101.406545,
-                                    29.752888
-                                ],
-                                [
-                                    -101.409309,
-                                    29.765781
-                                ],
-                                [
-                                    -101.405098,
-                                    29.778442
-                                ],
-                                [
-                                    -101.414012,
-                                    29.774411
-                                ],
-                                [
-                                    -101.424218,
-                                    29.771414
-                                ],
-                                [
-                                    -101.435096,
-                                    29.770122
-                                ],
-                                [
-                                    -101.446103,
-                                    29.771052
-                                ],
-                                [
-                                    -101.455689,
-                                    29.77591
-                                ],
-                                [
-                                    -101.462433,
-                                    29.788932
-                                ],
-                                [
-                                    -101.470908,
-                                    29.791516
-                                ],
-                                [
-                                    -101.490286,
-                                    29.785547
-                                ],
-                                [
-                                    -101.505763,
-                                    29.773894
-                                ],
-                                [
-                                    -101.521809,
-                                    29.765936
-                                ],
-                                [
-                                    -101.542893,
-                                    29.771052
-                                ],
-                                [
-                                    -101.539689,
-                                    29.779191
-                                ],
-                                [
-                                    -101.530516,
-                                    29.796477
-                                ],
-                                [
-                                    -101.528604,
-                                    29.801438
-                                ],
-                                [
-                                    -101.531912,
-                                    29.811101
-                                ],
-                                [
-                                    -101.539172,
-                                    29.817974
-                                ],
-                                [
-                                    -101.546458,
-                                    29.820145
-                                ],
-                                [
-                                    -101.549766,
-                                    29.815701
-                                ],
-                                [
-                                    -101.553977,
-                                    29.796684
-                                ],
-                                [
-                                    -101.564907,
-                                    29.786478
-                                ],
-                                [
-                                    -101.580281,
-                                    29.781568
-                                ],
-                                [
-                                    -101.632216,
-                                    29.775651
-                                ],
-                                [
-                                    -101.794531,
-                                    29.795857
-                                ],
-                                [
-                                    -101.80298,
-                                    29.801438
-                                ],
-                                [
-                                    -101.805978,
-                                    29.811928
-                                ],
-                                [
-                                    -101.812695,
-                                    29.812032
-                                ],
-                                [
-                                    -101.82409,
-                                    29.805184
-                                ],
-                                [
-                                    -101.857602,
-                                    29.805184
-                                ],
-                                [
-                                    -101.877524,
-                                    29.810843
-                                ],
-                                [
-                                    -101.88742,
-                                    29.81229
-                                ],
-                                [
-                                    -101.895455,
-                                    29.808621
-                                ],
-                                [
-                                    -101.90238,
-                                    29.803247
-                                ],
-                                [
-                                    -101.910881,
-                                    29.799888
-                                ],
-                                [
-                                    -101.920157,
-                                    29.798182
-                                ],
-                                [
-                                    -101.929613,
-                                    29.797717
-                                ],
-                                [
-                                    -101.942662,
-                                    29.803608
-                                ],
-                                [
-                                    -101.957054,
-                                    29.814047
-                                ],
-                                [
-                                    -101.972246,
-                                    29.818181
-                                ],
-                                [
-                                    -101.98793,
-                                    29.805184
-                                ],
-                                [
-                                    -102.014595,
-                                    29.810998
-                                ],
-                                [
-                                    -102.109344,
-                                    29.80211
-                                ],
-                                [
-                                    -102.145647,
-                                    29.815701
-                                ],
-                                [
-                                    -102.157248,
-                                    29.824537
-                                ],
-                                [
-                                    -102.203679,
-                                    29.846138
-                                ],
-                                [
-                                    -102.239775,
-                                    29.849135
-                                ],
-                                [
-                                    -102.253444,
-                                    29.855285
-                                ],
-                                [
-                                    -102.258276,
-                                    29.873475
-                                ],
-                                [
-                                    -102.276181,
-                                    29.869547
-                                ],
-                                [
-                                    -102.289023,
-                                    29.878126
-                                ],
-                                [
-                                    -102.302175,
-                                    29.889391
-                                ],
-                                [
-                                    -102.321011,
-                                    29.893939
-                                ],
-                                [
-                                    -102.330235,
-                                    29.888926
-                                ],
-                                [
-                                    -102.339769,
-                                    29.870633
-                                ],
-                                [
-                                    -102.351061,
-                                    29.866602
-                                ],
-                                [
-                                    -102.36323,
-                                    29.864276
-                                ],
-                                [
-                                    -102.370723,
-                                    29.857765
-                                ],
-                                [
-                                    -102.374547,
-                                    29.848102
-                                ],
-                                [
-                                    -102.376589,
-                                    29.821488
-                                ],
-                                [
-                                    -102.380051,
-                                    29.811386
-                                ],
-                                [
-                                    -102.404132,
-                                    29.780793
-                                ],
-                                [
-                                    -102.406096,
-                                    29.777279
-                                ],
-                                [
-                                    -102.515288,
-                                    29.784721
-                                ],
-                                [
-                                    -102.523066,
-                                    29.782318
-                                ],
-                                [
-                                    -102.531127,
-                                    29.769915
-                                ],
-                                [
-                                    -102.54154,
-                                    29.762474
-                                ],
-                                [
-                                    -102.543349,
-                                    29.760123
-                                ],
-                                [
-                                    -102.546578,
-                                    29.757875
-                                ],
-                                [
-                                    -102.553141,
-                                    29.756738
-                                ],
-                                [
-                                    -102.558309,
-                                    29.759089
-                                ],
-                                [
-                                    -102.562882,
-                                    29.769347
-                                ],
-                                [
-                                    -102.566758,
-                                    29.771052
-                                ],
-                                [
-                                    -102.58531,
-                                    29.764696
-                                ],
-                                [
-                                    -102.621225,
-                                    29.747281
-                                ],
-                                [
-                                    -102.638743,
-                                    29.743715
-                                ],
-                                [
-                                    -102.676054,
-                                    29.74449
-                                ],
-                                [
-                                    -102.683469,
-                                    29.743715
-                                ],
-                                [
-                                    -102.69104,
-                                    29.736817
-                                ],
-                                [
-                                    -102.693624,
-                                    29.729401
-                                ],
-                                [
-                                    -102.694709,
-                                    29.720616
-                                ],
-                                [
-                                    -102.697758,
-                                    29.709557
-                                ],
-                                [
-                                    -102.726748,
-                                    29.664495
-                                ],
-                                [
-                                    -102.73127,
-                                    29.650594
-                                ],
-                                [
-                                    -102.735507,
-                                    29.649509
-                                ],
-                                [
-                                    -102.751656,
-                                    29.622457
-                                ],
-                                [
-                                    -102.75176,
-                                    29.620157
-                                ],
-                                [
-                                    -102.761346,
-                                    29.603414
-                                ],
-                                [
-                                    -102.767598,
-                                    29.59729
-                                ],
-                                [
-                                    -102.779665,
-                                    29.592303
-                                ],
-                                [
-                                    -102.774084,
-                                    29.579617
-                                ],
-                                [
-                                    -102.776461,
-                                    29.575948
-                                ],
-                                [
-                                    -102.785892,
-                                    29.571814
-                                ],
-                                [
-                                    -102.78075,
-                                    29.558249
-                                ],
-                                [
-                                    -102.786512,
-                                    29.550497
-                                ],
-                                [
-                                    -102.795478,
-                                    29.54427
-                                ],
-                                [
-                                    -102.827311,
-                                    29.470502
-                                ],
-                                [
-                                    -102.833951,
-                                    29.461355
-                                ],
-                                [
-                                    -102.839067,
-                                    29.45195
-                                ],
-                                [
-                                    -102.841134,
-                                    29.438308
-                                ],
-                                [
-                                    -102.838705,
-                                    29.426939
-                                ],
-                                [
-                                    -102.834984,
-                                    29.415699
-                                ],
-                                [
-                                    -102.835191,
-                                    29.403839
-                                ],
-                                [
-                                    -102.844545,
-                                    29.390533
-                                ],
-                                [
-                                    -102.845578,
-                                    29.384719
-                                ],
-                                [
-                                    -102.838033,
-                                    29.370534
-                                ],
-                                [
-                                    -102.837672,
-                                    29.366322
-                                ],
-                                [
-                                    -102.84656,
-                                    29.361749
-                                ],
-                                [
-                                    -102.853872,
-                                    29.361
-                                ],
-                                [
-                                    -102.859867,
-                                    29.361155
-                                ],
-                                [
-                                    -102.864957,
-                                    29.359527
-                                ],
-                                [
-                                    -102.876972,
-                                    29.350871
-                                ],
-                                [
-                                    -102.883069,
-                                    29.343766
-                                ],
-                                [
-                                    -102.885188,
-                                    29.333379
-                                ],
-                                [
-                                    -102.885498,
-                                    29.314801
-                                ],
-                                [
-                                    -102.899399,
-                                    29.276095
-                                ],
-                                [
-                                    -102.899709,
-                                    29.2639
-                                ],
-                                [
-                                    -102.892139,
-                                    29.254391
-                                ],
-                                [
-                                    -102.867954,
-                                    29.240387
-                                ],
-                                [
-                                    -102.858781,
-                                    29.229147
-                                ],
-                                [
-                                    -102.869866,
-                                    29.224781
-                                ],
-                                [
-                                    -102.896893,
-                                    29.220285
-                                ],
-                                [
-                                    -102.942265,
-                                    29.190209
-                                ],
-                                [
-                                    -102.947536,
-                                    29.182018
-                                ],
-                                [
-                                    -102.969757,
-                                    29.192845
-                                ],
-                                [
-                                    -102.988386,
-                                    29.177135
-                                ],
-                                [
-                                    -103.015826,
-                                    29.126776
-                                ],
-                                [
-                                    -103.024275,
-                                    29.116157
-                                ],
-                                [
-                                    -103.032621,
-                                    29.110214
-                                ],
-                                [
-                                    -103.072541,
-                                    29.091404
-                                ],
-                                [
-                                    -103.080758,
-                                    29.085203
-                                ],
-                                [
-                                    -103.085589,
-                                    29.07572
-                                ],
-                                [
-                                    -103.091532,
-                                    29.057866
-                                ],
-                                [
-                                    -103.095356,
-                                    29.060294
-                                ],
-                                [
-                                    -103.104684,
-                                    29.057866
-                                ],
-                                [
-                                    -103.109205,
-                                    29.023372
-                                ],
-                                [
-                                    -103.122771,
-                                    28.996474
-                                ],
-                                [
-                                    -103.147989,
-                                    28.985105
-                                ],
-                                [
-                                    -103.187108,
-                                    28.990221
-                                ],
-                                [
-                                    -103.241756,
-                                    29.003502
-                                ],
-                                [
-                                    -103.301545,
-                                    29.002365
-                                ],
-                                [
-                                    -103.316247,
-                                    29.010065
-                                ],
-                                [
-                                    -103.311514,
-                                    29.026043
-                                ],
-                                [
-                                    -103.309994,
-                                    29.031175
-                                ],
-                                [
-                                    -103.3248,
-                                    29.026808
-                                ],
-                                [
-                                    -103.330484,
-                                    29.023733
-                                ],
-                                [
-                                    -103.342602,
-                                    29.041226
-                                ],
-                                [
-                                    -103.351671,
-                                    29.039417
-                                ],
-                                [
-                                    -103.360534,
-                                    29.029831
-                                ],
-                                [
-                                    -103.372083,
-                                    29.023733
-                                ],
-                                [
-                                    -103.38663,
-                                    29.028798
-                                ],
-                                [
-                                    -103.414639,
-                                    29.052414
-                                ],
-                                [
-                                    -103.423605,
-                                    29.057866
-                                ],
-                                [
-                                    -103.435697,
-                                    29.061121
-                                ],
-                                [
-                                    -103.478537,
-                                    29.08205
-                                ],
-                                [
-                                    -103.529748,
-                                    29.126776
-                                ],
-                                [
-                                    -103.535588,
-                                    29.135122
-                                ],
-                                [
-                                    -103.538223,
-                                    29.142408
-                                ],
-                                [
-                                    -103.541711,
-                                    29.148816
-                                ],
-                                [
-                                    -103.550238,
-                                    29.154656
-                                ],
-                                [
-                                    -103.558015,
-                                    29.156206
-                                ],
-                                [
-                                    -103.58499,
-                                    29.154656
-                                ],
-                                [
-                                    -103.673125,
-                                    29.173569
-                                ],
-                                [
-                                    -103.702477,
-                                    29.187858
-                                ],
-                                [
-                                    -103.749476,
-                                    29.222972
-                                ],
-                                [
-                                    -103.759062,
-                                    29.226848
-                                ],
-                                [
-                                    -103.770767,
-                                    29.229845
-                                ],
-                                [
-                                    -103.777718,
-                                    29.235297
-                                ],
-                                [
-                                    -103.769424,
-                                    29.257543
-                                ],
-                                [
-                                    -103.774229,
-                                    29.267517
-                                ],
-                                [
-                                    -103.78366,
-                                    29.274803
-                                ],
-                                [
-                                    -103.794177,
-                                    29.277594
-                                ],
-                                [
-                                    -103.837038,
-                                    29.279906
-                                ]
-                            ]
-                        ],
-                        [
-                            [
-                                [
-                                    178.301106,
-                                    52.056551
-                                ],
-                                [
-                                    179.595462,
-                                    52.142083
-                                ],
-                                [
-                                    179.825447,
-                                    51.992849
-                                ],
-                                [
-                                    179.661729,
-                                    51.485763
-                                ],
-                                [
-                                    179.723231,
-                                    51.459963
-                                ],
-                                [
-                                    179.408066,
-                                    51.209841
-                                ],
-                                [
-                                    178.411463,
-                                    51.523605
-                                ],
-                                [
-                                    177.698335,
-                                    51.877899
-                                ],
-                                [
-                                    177.16784,
-                                    51.581866
-                                ],
-                                [
-                                    176.487008,
-                                    52.175325
-                                ],
-                                [
-                                    174.484678,
-                                    52.08716
-                                ],
-                                [
-                                    172.866263,
-                                    52.207379
-                                ],
-                                [
-                                    172.825506,
-                                    52.716846
-                                ],
-                                [
-                                    172.747012,
-                                    52.654022
-                                ],
-                                [
-                                    172.08261,
-                                    52.952695
-                                ],
-                                [
-                                    172.942925,
-                                    53.183013
-                                ],
-                                [
-                                    173.029416,
-                                    52.993628
-                                ],
-                                [
-                                    173.127208,
-                                    52.99494
-                                ],
-                                [
-                                    173.143321,
-                                    52.990383
-                                ],
-                                [
-                                    173.175059,
-                                    52.971747
-                                ],
-                                [
-                                    173.182932,
-                                    52.968373
-                                ],
-                                [
-                                    176.45233,
-                                    52.628178
-                                ],
-                                [
-                                    176.468135,
-                                    52.488358
-                                ],
-                                [
-                                    177.900385,
-                                    52.488358
-                                ],
-                                [
-                                    178.007601,
-                                    52.179677
-                                ],
-                                [
-                                    178.301106,
-                                    52.056551
-                                ]
-                            ]
-                        ],
-                        [
-                            [
-                                [
-                                    -168.899607,
-                                    65.747626
-                                ],
-                                [
-                                    -168.909861,
-                                    65.739569
-                                ],
-                                [
-                                    -168.926218,
-                                    65.739895
-                                ],
-                                [
-                                    -168.942128,
-                                    65.74372
-                                ],
-                                [
-                                    -168.951731,
-                                    65.75316
-                                ],
-                                [
-                                    -168.942983,
-                                    65.764716
-                                ],
-                                [
-                                    -168.920115,
-                                    65.768866
-                                ],
-                                [
-                                    -168.907908,
-                                    65.768297
-                                ],
-                                [
-                                    -168.902781,
-                                    65.761542
-                                ],
-                                [
-                                    -168.899607,
-                                    65.747626
-                                ]
-                            ]
-                        ],
-                        [
-                            [
-                                [
-                                    -131.160718,
-                                    54.787192
-                                ],
-                                [
-                                    -132.853508,
-                                    54.482536
-                                ],
-                                [
-                                    -134.77719,
-                                    54.717786
-                                ],
-                                [
-                                    -142.6966,
-                                    55.845503
-                                ],
-                                [
-                                    -142.861997,
-                                    49.948308
-                                ],
-                                [
-                                    -155.675916,
-                                    51.109976
-                                ],
-                                [
-                                    -164.492732,
-                                    50.603976
-                                ],
-                                [
-                                    -164.691217,
-                                    50.997975
-                                ],
-                                [
-                                    -171.246993,
-                                    49.948308
-                                ],
-                                [
-                                    -171.215436,
-                                    50.576636
-                                ],
-                                [
-                                    -173.341669,
-                                    50.968826
-                                ],
-                                [
-                                    -173.362022,
-                                    51.082198
-                                ],
-                                [
-                                    -177.799603,
-                                    51.272899
-                                ],
-                                [
-                                    -179.155463,
-                                    50.982285
-                                ],
-                                [
-                                    -179.476076,
-                                    52.072632
-                                ],
-                                [
-                                    -177.11459,
-                                    52.248701
-                                ],
-                                [
-                                    -177.146284,
-                                    52.789384
-                                ],
-                                [
-                                    -174.777218,
-                                    52.443779
-                                ],
-                                [
-                                    -174.773743,
-                                    52.685853
-                                ],
-                                [
-                                    -173.653194,
-                                    52.704099
-                                ],
-                                [
-                                    -173.790528,
-                                    53.469081
-                                ],
-                                [
-                                    -171.063371,
-                                    53.604473
-                                ],
-                                [
-                                    -170.777733,
-                                    59.291898
-                                ],
-                                [
-                                    -174.324884,
-                                    60.332184
-                                ],
-                                [
-                                    -171.736408,
-                                    62.68026
-                                ],
-                                [
-                                    -172.315705,
-                                    62.725352
-                                ],
-                                [
-                                    -171.995091,
-                                    63.999658
-                                ],
-                                [
-                                    -168.501424,
-                                    65.565173
-                                ],
-                                [
-                                    -168.714145,
-                                    65.546708
-                                ],
-                                [
-                                    -168.853077,
-                                    68.370871
-                                ],
-                                [
-                                    -161.115601,
-                                    72.416214
-                                ],
-                                [
-                                    -146.132257,
-                                    70.607941
-                                ],
-                                [
-                                    -140.692512,
-                                    69.955349
-                                ],
-                                [
-                                    -141.145395,
-                                    69.671641
-                                ],
-                                [
-                                    -141.015207,
-                                    69.654202
-                                ],
-                                [
-                                    -141.006459,
-                                    69.651272
-                                ],
-                                [
-                                    -141.005564,
-                                    69.650946
-                                ],
-                                [
-                                    -141.005549,
-                                    69.650941
-                                ],
-                                [
-                                    -141.005471,
-                                    69.505164
-                                ],
-                                [
-                                    -141.001208,
-                                    60.466879
-                                ],
-                                [
-                                    -141.001156,
-                                    60.321074
-                                ],
-                                [
-                                    -140.994929,
-                                    60.304382
-                                ],
-                                [
-                                    -140.979555,
-                                    60.295804
-                                ],
-                                [
-                                    -140.909146,
-                                    60.28366
-                                ],
-                                [
-                                    -140.768457,
-                                    60.259269
-                                ],
-                                [
-                                    -140.660505,
-                                    60.24051
-                                ],
-                                [
-                                    -140.533743,
-                                    60.218548
-                                ],
-                                [
-                                    -140.518705,
-                                    60.22387
-                                ],
-                                [
-                                    -140.506664,
-                                    60.236324
-                                ],
-                                [
-                                    -140.475323,
-                                    60.276477
-                                ],
-                                [
-                                    -140.462791,
-                                    60.289138
-                                ],
-                                [
-                                    -140.447805,
-                                    60.29446
-                                ],
-                                [
-                                    -140.424111,
-                                    60.293168
-                                ],
-                                [
-                                    -140.32497,
-                                    60.267537
-                                ],
-                                [
-                                    -140.169243,
-                                    60.227229
-                                ],
-                                [
-                                    -140.01579,
-                                    60.187387
-                                ],
-                                [
-                                    -139.967757,
-                                    60.188369
-                                ],
-                                [
-                                    -139.916933,
-                                    60.207851
-                                ],
-                                [
-                                    -139.826318,
-                                    60.256478
-                                ],
-                                [
-                                    -139.728417,
-                                    60.309033
-                                ],
-                                [
-                                    -139.679816,
-                                    60.32681
-                                ],
-                                [
-                                    -139.628346,
-                                    60.334096
-                                ],
-                                [
-                                    -139.517965,
-                                    60.336732
-                                ],
-                                [
-                                    -139.413992,
-                                    60.339212
-                                ],
-                                [
-                                    -139.262193,
-                                    60.342778
-                                ],
-                                [
-                                    -139.101608,
-                                    60.346602
-                                ],
-                                [
-                                    -139.079465,
-                                    60.341021
-                                ],
-                                [
-                                    -139.06869,
-                                    60.322056
-                                ],
-                                [
-                                    -139.073186,
-                                    60.299835
-                                ],
-                                [
-                                    -139.113468,
-                                    60.226816
-                                ],
-                                [
-                                    -139.149615,
-                                    60.161187
-                                ],
-                                [
-                                    -139.183231,
-                                    60.100157
-                                ],
-                                [
-                                    -139.182146,
-                                    60.073389
-                                ],
-                                [
-                                    -139.112305,
-                                    60.031376
-                                ],
-                                [
-                                    -139.060207,
-                                    60.000059
-                                ],
-                                [
-                                    -139.051611,
-                                    59.994892
-                                ],
-                                [
-                                    -139.003759,
-                                    59.977219
-                                ],
-                                [
-                                    -138.842425,
-                                    59.937686
-                                ],
-                                [
-                                    -138.742586,
-                                    59.913192
-                                ],
-                                [
-                                    -138.704888,
-                                    59.898464
-                                ],
-                                [
-                                    -138.697188,
-                                    59.89371
-                                ],
-                                [
-                                    -138.692098,
-                                    59.886888
-                                ],
-                                [
-                                    -138.654349,
-                                    59.805498
-                                ],
-                                [
-                                    -138.63745,
-                                    59.784052
-                                ],
-                                [
-                                    -138.59921,
-                                    59.753822
-                                ],
-                                [
-                                    -138.488881,
-                                    59.696357
-                                ],
-                                [
-                                    -138.363617,
-                                    59.631142
-                                ],
-                                [
-                                    -138.219543,
-                                    59.556004
-                                ],
-                                [
-                                    -138.067614,
-                                    59.476991
-                                ],
-                                [
-                                    -137.91057,
-                                    59.395187
-                                ],
-                                [
-                                    -137.758305,
-                                    59.315915
-                                ],
-                                [
-                                    -137.611363,
-                                    59.239331
-                                ],
-                                [
-                                    -137.594181,
-                                    59.225275
-                                ],
-                                [
-                                    -137.582088,
-                                    59.206568
-                                ],
-                                [
-                                    -137.5493,
-                                    59.134531
-                                ],
-                                [
-                                    -137.521007,
-                                    59.072364
-                                ],
-                                [
-                                    -137.484394,
-                                    58.991904
-                                ],
-                                [
-                                    -137.507752,
-                                    58.939969
-                                ],
-                                [
-                                    -137.50876,
-                                    58.914906
-                                ],
-                                [
-                                    -137.486875,
-                                    58.900075
-                                ],
-                                [
-                                    -137.453466,
-                                    58.899145
-                                ],
-                                [
-                                    -137.423106,
-                                    58.907723
-                                ],
-                                [
-                                    -137.338098,
-                                    58.955472
-                                ],
-                                [
-                                    -137.2819,
-                                    58.98715
-                                ],
-                                [
-                                    -137.172346,
-                                    59.027148
-                                ],
-                                [
-                                    -137.062367,
-                                    59.067572
-                                ],
-                                [
-                                    -137.047109,
-                                    59.07331
-                                ],
-                                [
-                                    -136.942282,
-                                    59.11107
-                                ],
-                                [
-                                    -136.840816,
-                                    59.148174
-                                ],
-                                [
-                                    -136.785496,
-                                    59.157217
-                                ],
-                                [
-                                    -136.671911,
-                                    59.150809
-                                ],
-                                [
-                                    -136.613491,
-                                    59.15422
-                                ],
-                                [
-                                    -136.569489,
-                                    59.172152
-                                ],
-                                [
-                                    -136.484791,
-                                    59.2538
-                                ],
-                                [
-                                    -136.483551,
-                                    59.257469
-                                ],
-                                [
-                                    -136.466549,
-                                    59.287803
-                                ],
-                                [
-                                    -136.467092,
-                                    59.38449
-                                ],
-                                [
-                                    -136.467557,
-                                    59.461643
-                                ],
-                                [
-                                    -136.415958,
-                                    59.452238
-                                ],
-                                [
-                                    -136.36684,
-                                    59.449551
-                                ],
-                                [
-                                    -136.319995,
-                                    59.459059
-                                ],
-                                [
-                                    -136.275036,
-                                    59.486448
-                                ],
-                                [
-                                    -136.244728,
-                                    59.528202
-                                ],
-                                [
-                                    -136.258474,
-                                    59.556107
-                                ],
-                                [
-                                    -136.29935,
-                                    59.575745
-                                ],
-                                [
-                                    -136.350329,
-                                    59.592384
-                                ],
-                                [
-                                    -136.2585,
-                                    59.621582
-                                ],
-                                [
-                                    -136.145406,
-                                    59.636826
-                                ],
-                                [
-                                    -136.02686,
-                                    59.652846
-                                ],
-                                [
-                                    -135.923818,
-                                    59.666747
-                                ],
-                                [
-                                    -135.830955,
-                                    59.693257
-                                ],
-                                [
-                                    -135.641251,
-                                    59.747362
-                                ],
-                                [
-                                    -135.482759,
-                                    59.792475
-                                ],
-                                [
-                                    -135.465137,
-                                    59.789685
-                                ],
-                                [
-                                    -135.404392,
-                                    59.753305
-                                ],
-                                [
-                                    -135.345791,
-                                    59.731032
-                                ],
-                                [
-                                    -135.259879,
-                                    59.698218
-                                ],
-                                [
-                                    -135.221897,
-                                    59.675273
-                                ],
-                                [
-                                    -135.192028,
-                                    59.64711
-                                ],
-                                [
-                                    -135.157792,
-                                    59.623287
-                                ],
-                                [
-                                    -135.106684,
-                                    59.613158
-                                ],
-                                [
-                                    -135.087874,
-                                    59.606544
-                                ],
-                                [
-                                    -135.032942,
-                                    59.573109
-                                ],
-                                [
-                                    -135.018524,
-                                    59.559363
-                                ],
-                                [
-                                    -135.016198,
-                                    59.543447
-                                ],
-                                [
-                                    -135.01948,
-                                    59.493166
-                                ],
-                                [
-                                    -135.023252,
-                                    59.477146
-                                ],
-                                [
-                                    -135.037489,
-                                    59.461591
-                                ],
-                                [
-                                    -135.078598,
-                                    59.438337
-                                ],
-                                [
-                                    -135.095754,
-                                    59.418855
-                                ],
-                                [
-                                    -134.993254,
-                                    59.381906
-                                ],
-                                [
-                                    -135.00483,
-                                    59.367127
-                                ],
-                                [
-                                    -135.014441,
-                                    59.35152
-                                ],
-                                [
-                                    -135.016198,
-                                    59.336173
-                                ],
-                                [
-                                    -134.979973,
-                                    59.297415
-                                ],
-                                [
-                                    -134.95783,
-                                    59.280982
-                                ],
-                                [
-                                    -134.932431,
-                                    59.270647
-                                ],
-                                [
-                                    -134.839465,
-                                    59.258141
-                                ],
-                                [
-                                    -134.74345,
-                                    59.245119
-                                ],
-                                [
-                                    -134.70552,
-                                    59.240106
-                                ],
-                                [
-                                    -134.692084,
-                                    59.235249
-                                ],
-                                [
-                                    -134.68286,
-                                    59.223001
-                                ],
-                                [
-                                    -134.671439,
-                                    59.193752
-                                ],
-                                [
-                                    -134.66038,
-                                    59.181298
-                                ],
-                                [
-                                    -134.610771,
-                                    59.144556
-                                ],
-                                [
-                                    -134.582788,
-                                    59.128847
-                                ],
-                                [
-                                    -134.556717,
-                                    59.123059
-                                ],
-                                [
-                                    -134.509072,
-                                    59.122801
-                                ],
-                                [
-                                    -134.477575,
-                                    59.114946
-                                ],
-                                [
-                                    -134.451013,
-                                    59.097893
-                                ],
-                                [
-                                    -134.398019,
-                                    59.051952
-                                ],
-                                [
-                                    -134.387167,
-                                    59.036863
-                                ],
-                                [
-                                    -134.385591,
-                                    59.018828
-                                ],
-                                [
-                                    -134.399389,
-                                    58.974954
-                                ],
-                                [
-                                    -134.343423,
-                                    58.968857
-                                ],
-                                [
-                                    -134.329651,
-                                    58.963017
-                                ],
-                                [
-                                    -134.320039,
-                                    58.952682
-                                ],
-                                [
-                                    -134.32314,
-                                    58.949168
-                                ],
-                                [
-                                    -134.330323,
-                                    58.945344
-                                ],
-                                [
-                                    -134.333036,
-                                    58.93413
-                                ],
-                                [
-                                    -134.327403,
-                                    58.916457
-                                ],
-                                [
-                                    -134.316939,
-                                    58.903796
-                                ],
-                                [
-                                    -134.22219,
-                                    58.842714
-                                ],
-                                [
-                                    -134.108838,
-                                    58.808246
-                                ],
-                                [
-                                    -133.983109,
-                                    58.769902
-                                ],
-                                [
-                                    -133.87123,
-                                    58.735899
-                                ],
-                                [
-                                    -133.831129,
-                                    58.718019
-                                ],
-                                [
-                                    -133.796402,
-                                    58.693421
-                                ],
-                                [
-                                    -133.700077,
-                                    58.59937
-                                ],
-                                [
-                                    -133.626283,
-                                    58.546402
-                                ],
-                                [
-                                    -133.547063,
-                                    58.505577
-                                ],
-                                [
-                                    -133.463089,
-                                    58.462221
-                                ],
-                                [
-                                    -133.392241,
-                                    58.403878
-                                ],
-                                [
-                                    -133.43012,
-                                    58.372097
-                                ],
-                                [
-                                    -133.41503,
-                                    58.330549
-                                ],
-                                [
-                                    -133.374567,
-                                    58.290965
-                                ],
-                                [
-                                    -133.257262,
-                                    58.210298
-                                ],
-                                [
-                                    -133.165588,
-                                    58.147305
-                                ],
-                                [
-                                    -133.142127,
-                                    58.120588
-                                ],
-                                [
-                                    -133.094843,
-                                    58.0331
-                                ],
-                                [
-                                    -133.075154,
-                                    58.007882
-                                ],
-                                [
-                                    -132.99335,
-                                    57.941917
-                                ],
-                                [
-                                    -132.917153,
-                                    57.880499
-                                ],
-                                [
-                                    -132.83212,
-                                    57.791564
-                                ],
-                                [
-                                    -132.70944,
-                                    57.663303
-                                ],
-                                [
-                                    -132.629057,
-                                    57.579277
-                                ],
-                                [
-                                    -132.552447,
-                                    57.499075
-                                ],
-                                [
-                                    -132.455735,
-                                    57.420992
-                                ],
-                                [
-                                    -132.362304,
-                                    57.3457
-                                ],
-                                [
-                                    -132.304684,
-                                    57.280355
-                                ],
-                                [
-                                    -132.230994,
-                                    57.19682
-                                ],
-                                [
-                                    -132.276366,
-                                    57.14889
-                                ],
-                                [
-                                    -132.34122,
-                                    57.080393
-                                ],
-                                [
-                                    -132.16229,
-                                    57.050317
-                                ],
-                                [
-                                    -132.031859,
-                                    57.028406
-                                ],
-                                [
-                                    -132.107384,
-                                    56.858753
-                                ],
-                                [
-                                    -131.871558,
-                                    56.79346
-                                ],
-                                [
-                                    -131.865874,
-                                    56.785708
-                                ],
-                                [
-                                    -131.872411,
-                                    56.77297
-                                ],
-                                [
-                                    -131.882617,
-                                    56.759146
-                                ],
-                                [
-                                    -131.887966,
-                                    56.747958
-                                ],
-                                [
-                                    -131.886028,
-                                    56.737055
-                                ],
-                                [
-                                    -131.880705,
-                                    56.728838
-                                ],
-                                [
-                                    -131.864789,
-                                    56.71349
-                                ],
-                                [
-                                    -131.838976,
-                                    56.682278
-                                ],
-                                [
-                                    -131.830424,
-                                    56.664759
-                                ],
-                                [
-                                    -131.826574,
-                                    56.644606
-                                ],
-                                [
-                                    -131.832103,
-                                    56.603368
-                                ],
-                                [
-                                    -131.825592,
-                                    56.593343
-                                ],
-                                [
-                                    -131.799108,
-                                    56.587658
-                                ],
-                                [
-                                    -131.692293,
-                                    56.585074
-                                ],
-                                [
-                                    -131.585891,
-                                    56.595048
-                                ],
-                                [
-                                    -131.560363,
-                                    56.594066
-                                ],
-                                [
-                                    -131.536437,
-                                    56.585229
-                                ],
-                                [
-                                    -131.491659,
-                                    56.560166
-                                ],
-                                [
-                                    -131.345699,
-                                    56.503271
-                                ],
-                                [
-                                    -131.215604,
-                                    56.45255
-                                ],
-                                [
-                                    -131.100546,
-                                    56.407669
-                                ],
-                                [
-                                    -131.016934,
-                                    56.38705
-                                ],
-                                [
-                                    -130.839089,
-                                    56.372452
-                                ],
-                                [
-                                    -130.760334,
-                                    56.345192
-                                ],
-                                [
-                                    -130.645768,
-                                    56.261942
-                                ],
-                                [
-                                    -130.602256,
-                                    56.247059
-                                ],
-                                [
-                                    -130.495518,
-                                    56.232434
-                                ],
-                                [
-                                    -130.47229,
-                                    56.22489
-                                ],
-                                [
-                                    -130.458053,
-                                    56.210653
-                                ],
-                                [
-                                    -130.427926,
-                                    56.143964
-                                ],
-                                [
-                                    -130.418159,
-                                    56.129702
-                                ],
-                                [
-                                    -130.403974,
-                                    56.121898
-                                ],
-                                [
-                                    -130.290311,
-                                    56.10097
-                                ],
-                                [
-                                    -130.243156,
-                                    56.092391
-                                ],
-                                [
-                                    -130.211246,
-                                    56.089962
-                                ],
-                                [
-                                    -130.116756,
-                                    56.105646
-                                ],
-                                [
-                                    -130.094328,
-                                    56.101486
-                                ],
-                                [
-                                    -130.071539,
-                                    56.084123
-                                ],
-                                [
-                                    -130.039319,
-                                    56.045521
-                                ],
-                                [
-                                    -130.026632,
-                                    56.024101
-                                ],
-                                [
-                                    -130.01901,
-                                    56.002216
-                                ],
-                                [
-                                    -130.014695,
-                                    55.963252
-                                ],
-                                [
-                                    -130.016788,
-                                    55.918913
-                                ],
-                                [
-                                    -130.019612,
-                                    55.907978
-                                ],
-                                [
-                                    -130.019618,
-                                    55.907952
-                                ],
-                                [
-                                    -130.022817,
-                                    55.901353
-                                ],
-                                [
-                                    -130.049387,
-                                    55.871405
-                                ],
-                                [
-                                    -130.104726,
-                                    55.825263
-                                ],
-                                [
-                                    -130.136627,
-                                    55.806464
-                                ],
-                                [
-                                    -130.148834,
-                                    55.795356
-                                ],
-                                [
-                                    -130.163482,
-                                    55.771145
-                                ],
-                                [
-                                    -130.167307,
-                                    55.766262
-                                ],
-                                [
-                                    -130.170806,
-                                    55.759833
-                                ],
-                                [
-                                    -130.173655,
-                                    55.749498
-                                ],
-                                [
-                                    -130.170806,
-                                    55.740953
-                                ],
-                                [
-                                    -130.163808,
-                                    55.734565
-                                ],
-                                [
-                                    -130.160064,
-                                    55.727118
-                                ],
-                                [
-                                    -130.167388,
-                                    55.715399
-                                ],
-                                [
-                                    -130.155914,
-                                    55.700141
-                                ],
-                                [
-                                    -130.142893,
-                                    55.689521
-                                ],
-                                [
-                                    -130.131825,
-                                    55.676581
-                                ],
-                                [
-                                    -130.126454,
-                                    55.653998
-                                ],
-                                [
-                                    -130.12857,
-                                    55.63642
-                                ],
-                                [
-                                    -130.135121,
-                                    55.619127
-                                ],
-                                [
-                                    -130.153147,
-                                    55.58511
-                                ],
-                                [
-                                    -130.148671,
-                                    55.578192
-                                ],
-                                [
-                                    -130.146881,
-                                    55.569322
-                                ],
-                                [
-                                    -130.146962,
-                                    55.547187
-                                ],
-                                [
-                                    -130.112172,
-                                    55.509345
-                                ],
-                                [
-                                    -130.101674,
-                                    55.481147
-                                ],
-                                [
-                                    -130.095082,
-                                    55.472113
-                                ],
-                                [
-                                    -130.065419,
-                                    55.446112
-                                ],
-                                [
-                                    -130.057525,
-                                    55.434882
-                                ],
-                                [
-                                    -130.052561,
-                                    55.414008
-                                ],
-                                [
-                                    -130.054311,
-                                    55.366645
-                                ],
-                                [
-                                    -130.05012,
-                                    55.345445
-                                ],
-                                [
-                                    -130.039296,
-                                    55.330756
-                                ],
-                                [
-                                    -129.989247,
-                                    55.284003
-                                ],
-                                [
-                                    -130.031239,
-                                    55.26435
-                                ],
-                                [
-                                    -130.050038,
-                                    55.252875
-                                ],
-                                [
-                                    -130.067494,
-                                    55.239
-                                ],
-                                [
-                                    -130.078236,
-                                    55.233791
-                                ],
-                                [
-                                    -130.100494,
-                                    55.230292
-                                ],
-                                [
-                                    -130.104726,
-                                    55.225653
-                                ],
-                                [
-                                    -130.105702,
-                                    55.211127
-                                ],
-                                [
-                                    -130.10912,
-                                    55.200751
-                                ],
-                                [
-                                    -130.115793,
-                                    55.191596
-                                ],
-                                [
-                                    -130.126454,
-                                    55.180976
-                                ],
-                                [
-                                    -130.151967,
-                                    55.163275
-                                ],
-                                [
-                                    -130.159983,
-                                    55.153713
-                                ],
-                                [
-                                    -130.167592,
-                                    55.129584
-                                ],
-                                [
-                                    -130.173695,
-                                    55.117743
-                                ],
-                                [
-                                    -130.200266,
-                                    55.104153
-                                ],
-                                [
-                                    -130.211781,
-                                    55.084133
-                                ],
-                                [
-                                    -130.228871,
-                                    55.04385
-                                ],
-                                [
-                                    -130.238678,
-                                    55.03441
-                                ],
-                                [
-                                    -130.261342,
-                                    55.022895
-                                ],
-                                [
-                                    -130.269846,
-                                    55.016547
-                                ],
-                                [
-                                    -130.275706,
-                                    55.006985
-                                ],
-                                [
-                                    -130.286366,
-                                    54.983222
-                                ],
-                                [
-                                    -130.294342,
-                                    54.971869
-                                ],
-                                [
-                                    -130.326568,
-                                    54.952094
-                                ],
-                                [
-                                    -130.335561,
-                                    54.938707
-                                ],
-                                [
-                                    -130.365387,
-                                    54.907294
-                                ],
-                                [
-                                    -130.385243,
-                                    54.896552
-                                ],
-                                [
-                                    -130.430816,
-                                    54.881252
-                                ],
-                                [
-                                    -130.488759,
-                                    54.844184
-                                ],
-                                [
-                                    -130.580312,
-                                    54.806383
-                                ],
-                                [
-                                    -130.597485,
-                                    54.803391
-                                ],
-                                [
-                                    -130.71074,
-                                    54.733215
-                                ],
-                                [
-                                    -131.160718,
-                                    54.787192
-                                ]
-                            ]
-                        ]
-                    ]
-                }
-            }
-        ]
-    },
-    "featureIcons": {
-        "circle-stroked": {
-            "12": [
-                42,
-                0
-            ],
-            "18": [
-                24,
-                0
-            ],
-            "24": [
-                0,
-                0
-            ]
-        },
-        "circle": {
-            "12": [
-                96,
-                0
-            ],
-            "18": [
-                78,
-                0
-            ],
-            "24": [
-                54,
-                0
-            ]
-        },
-        "square-stroked": {
-            "12": [
-                150,
-                0
-            ],
-            "18": [
-                132,
-                0
-            ],
-            "24": [
-                108,
-                0
-            ]
-        },
-        "square": {
-            "12": [
-                204,
-                0
-            ],
-            "18": [
-                186,
-                0
-            ],
-            "24": [
-                162,
-                0
-            ]
-        },
-        "triangle-stroked": {
-            "12": [
-                258,
-                0
-            ],
-            "18": [
-                240,
-                0
-            ],
-            "24": [
-                216,
-                0
-            ]
-        },
-        "triangle": {
-            "12": [
-                42,
-                24
-            ],
-            "18": [
-                24,
-                24
-            ],
-            "24": [
-                0,
-                24
-            ]
-        },
-        "star-stroked": {
-            "12": [
-                96,
-                24
-            ],
-            "18": [
-                78,
-                24
-            ],
-            "24": [
-                54,
-                24
-            ]
-        },
-        "star": {
-            "12": [
-                150,
-                24
-            ],
-            "18": [
-                132,
-                24
-            ],
-            "24": [
-                108,
-                24
-            ]
-        },
-        "cross": {
-            "12": [
-                204,
-                24
-            ],
-            "18": [
-                186,
-                24
-            ],
-            "24": [
-                162,
-                24
-            ]
-        },
-        "marker-stroked": {
-            "12": [
-                258,
-                24
-            ],
-            "18": [
-                240,
-                24
-            ],
-            "24": [
-                216,
-                24
-            ]
-        },
-        "marker": {
-            "12": [
-                42,
-                48
-            ],
-            "18": [
-                24,
-                48
-            ],
-            "24": [
-                0,
-                48
-            ]
-        },
-        "religious-jewish": {
-            "12": [
-                96,
-                48
-            ],
-            "18": [
-                78,
-                48
-            ],
-            "24": [
-                54,
-                48
-            ]
-        },
-        "religious-christian": {
-            "12": [
-                150,
-                48
-            ],
-            "18": [
-                132,
-                48
-            ],
-            "24": [
-                108,
-                48
-            ]
-        },
-        "religious-muslim": {
-            "12": [
-                204,
-                48
-            ],
-            "18": [
-                186,
-                48
-            ],
-            "24": [
-                162,
-                48
-            ]
-        },
-        "cemetery": {
-            "12": [
-                258,
-                48
-            ],
-            "18": [
-                240,
-                48
-            ],
-            "24": [
-                216,
-                48
-            ]
-        },
-        "rocket": {
-            "12": [
-                42,
-                72
-            ],
-            "18": [
-                24,
-                72
-            ],
-            "24": [
-                0,
-                72
-            ]
-        },
-        "airport": {
-            "12": [
-                96,
-                72
-            ],
-            "18": [
-                78,
-                72
-            ],
-            "24": [
-                54,
-                72
-            ]
-        },
-        "heliport": {
-            "12": [
-                150,
-                72
-            ],
-            "18": [
-                132,
-                72
-            ],
-            "24": [
-                108,
-                72
-            ]
-        },
-        "rail": {
-            "12": [
-                204,
-                72
-            ],
-            "18": [
-                186,
-                72
-            ],
-            "24": [
-                162,
-                72
-            ]
-        },
-        "rail-metro": {
-            "12": [
-                258,
-                72
-            ],
-            "18": [
-                240,
-                72
-            ],
-            "24": [
-                216,
-                72
-            ]
-        },
-        "rail-light": {
-            "12": [
-                42,
-                96
-            ],
-            "18": [
-                24,
-                96
-            ],
-            "24": [
-                0,
-                96
-            ]
-        },
-        "bus": {
-            "12": [
-                96,
-                96
-            ],
-            "18": [
-                78,
-                96
-            ],
-            "24": [
-                54,
-                96
-            ]
-        },
-        "fuel": {
-            "12": [
-                150,
-                96
-            ],
-            "18": [
-                132,
-                96
-            ],
-            "24": [
-                108,
-                96
-            ]
-        },
-        "parking": {
-            "12": [
-                204,
-                96
-            ],
-            "18": [
-                186,
-                96
-            ],
-            "24": [
-                162,
-                96
-            ]
-        },
-        "parking-garage": {
-            "12": [
-                258,
-                96
-            ],
-            "18": [
-                240,
-                96
-            ],
-            "24": [
-                216,
-                96
-            ]
-        },
-        "airfield": {
-            "12": [
-                42,
-                120
-            ],
-            "18": [
-                24,
-                120
-            ],
-            "24": [
-                0,
-                120
-            ]
-        },
-        "roadblock": {
-            "12": [
-                96,
-                120
-            ],
-            "18": [
-                78,
-                120
-            ],
-            "24": [
-                54,
-                120
-            ]
-        },
-        "ferry": {
-            "12": [
-                150,
-                120
-            ],
-            "18": [
-                132,
-                120
-            ],
-            "24": [
-                108,
-                120
-            ],
-            "line": [
-                2240,
-                25
-            ]
-        },
-        "harbor": {
-            "12": [
-                204,
-                120
-            ],
-            "18": [
-                186,
-                120
-            ],
-            "24": [
-                162,
-                120
-            ]
-        },
-        "bicycle": {
-            "12": [
-                258,
-                120
-            ],
-            "18": [
-                240,
-                120
-            ],
-            "24": [
-                216,
-                120
-            ]
-        },
-        "park": {
-            "12": [
-                42,
-                144
-            ],
-            "18": [
-                24,
-                144
-            ],
-            "24": [
-                0,
-                144
-            ]
-        },
-        "park2": {
-            "12": [
-                96,
-                144
-            ],
-            "18": [
-                78,
-                144
-            ],
-            "24": [
-                54,
-                144
-            ]
-        },
-        "museum": {
-            "12": [
-                150,
-                144
-            ],
-            "18": [
-                132,
-                144
-            ],
-            "24": [
-                108,
-                144
-            ]
-        },
-        "lodging": {
-            "12": [
-                204,
-                144
-            ],
-            "18": [
-                186,
-                144
-            ],
-            "24": [
-                162,
-                144
-            ]
-        },
-        "monument": {
-            "12": [
-                258,
-                144
-            ],
-            "18": [
-                240,
-                144
-            ],
-            "24": [
-                216,
-                144
-            ]
-        },
-        "zoo": {
-            "12": [
-                42,
-                168
-            ],
-            "18": [
-                24,
-                168
-            ],
-            "24": [
-                0,
-                168
-            ]
-        },
-        "garden": {
-            "12": [
-                96,
-                168
-            ],
-            "18": [
-                78,
-                168
-            ],
-            "24": [
-                54,
-                168
-            ]
-        },
-        "campsite": {
-            "12": [
-                150,
-                168
-            ],
-            "18": [
-                132,
-                168
-            ],
-            "24": [
-                108,
-                168
-            ]
-        },
-        "theatre": {
-            "12": [
-                204,
-                168
-            ],
-            "18": [
-                186,
-                168
-            ],
-            "24": [
-                162,
-                168
-            ]
-        },
-        "art-gallery": {
-            "12": [
-                258,
-                168
-            ],
-            "18": [
-                240,
-                168
-            ],
-            "24": [
-                216,
-                168
-            ]
-        },
-        "pitch": {
-            "12": [
-                42,
-                192
-            ],
-            "18": [
-                24,
-                192
-            ],
-            "24": [
-                0,
-                192
-            ]
-        },
-        "soccer": {
-            "12": [
-                96,
-                192
-            ],
-            "18": [
-                78,
-                192
-            ],
-            "24": [
-                54,
-                192
-            ]
-        },
-        "america-football": {
-            "12": [
-                150,
-                192
-            ],
-            "18": [
-                132,
-                192
-            ],
-            "24": [
-                108,
-                192
-            ]
-        },
-        "tennis": {
-            "12": [
-                204,
-                192
-            ],
-            "18": [
-                186,
-                192
-            ],
-            "24": [
-                162,
-                192
-            ]
-        },
-        "basketball": {
-            "12": [
-                258,
-                192
-            ],
-            "18": [
-                240,
-                192
-            ],
-            "24": [
-                216,
-                192
-            ]
-        },
-        "baseball": {
-            "12": [
-                42,
-                216
-            ],
-            "18": [
-                24,
-                216
-            ],
-            "24": [
-                0,
-                216
-            ]
-        },
-        "golf": {
-            "12": [
-                96,
-                216
-            ],
-            "18": [
-                78,
-                216
-            ],
-            "24": [
-                54,
-                216
-            ]
-        },
-        "swimming": {
-            "12": [
-                150,
-                216
-            ],
-            "18": [
-                132,
-                216
-            ],
-            "24": [
-                108,
-                216
-            ]
-        },
-        "cricket": {
-            "12": [
-                204,
-                216
-            ],
-            "18": [
-                186,
-                216
-            ],
-            "24": [
-                162,
-                216
-            ]
-        },
-        "skiing": {
-            "12": [
-                258,
-                216
-            ],
-            "18": [
-                240,
-                216
-            ],
-            "24": [
-                216,
-                216
-            ]
-        },
-        "school": {
-            "12": [
-                42,
-                240
-            ],
-            "18": [
-                24,
-                240
-            ],
-            "24": [
-                0,
-                240
-            ]
-        },
-        "college": {
-            "12": [
-                96,
-                240
-            ],
-            "18": [
-                78,
-                240
-            ],
-            "24": [
-                54,
-                240
-            ]
-        },
-        "library": {
-            "12": [
-                150,
-                240
-            ],
-            "18": [
-                132,
-                240
-            ],
-            "24": [
-                108,
-                240
-            ]
-        },
-        "post": {
-            "12": [
-                204,
-                240
-            ],
-            "18": [
-                186,
-                240
-            ],
-            "24": [
-                162,
-                240
-            ]
-        },
-        "fire-station": {
-            "12": [
-                258,
-                240
-            ],
-            "18": [
-                240,
-                240
-            ],
-            "24": [
-                216,
-                240
-            ]
-        },
-        "town-hall": {
-            "12": [
-                42,
-                264
-            ],
-            "18": [
-                24,
-                264
-            ],
-            "24": [
-                0,
-                264
-            ]
-        },
-        "police": {
-            "12": [
-                96,
-                264
-            ],
-            "18": [
-                78,
-                264
-            ],
-            "24": [
-                54,
-                264
-            ]
-        },
-        "prison": {
-            "12": [
-                150,
-                264
-            ],
-            "18": [
-                132,
-                264
-            ],
-            "24": [
-                108,
-                264
-            ]
-        },
-        "embassy": {
-            "12": [
-                204,
-                264
-            ],
-            "18": [
-                186,
-                264
-            ],
-            "24": [
-                162,
-                264
-            ]
-        },
-        "beer": {
-            "12": [
-                258,
-                264
-            ],
-            "18": [
-                240,
-                264
-            ],
-            "24": [
-                216,
-                264
-            ]
-        },
-        "restaurant": {
-            "12": [
-                42,
-                288
-            ],
-            "18": [
-                24,
-                288
-            ],
-            "24": [
-                0,
-                288
-            ]
-        },
-        "cafe": {
-            "12": [
-                96,
-                288
-            ],
-            "18": [
-                78,
-                288
-            ],
-            "24": [
-                54,
-                288
-            ]
-        },
-        "shop": {
-            "12": [
-                150,
-                288
-            ],
-            "18": [
-                132,
-                288
-            ],
-            "24": [
-                108,
-                288
-            ]
-        },
-        "fast-food": {
-            "12": [
-                204,
-                288
-            ],
-            "18": [
-                186,
-                288
-            ],
-            "24": [
-                162,
-                288
-            ]
-        },
-        "bar": {
-            "12": [
-                258,
-                288
-            ],
-            "18": [
-                240,
-                288
-            ],
-            "24": [
-                216,
-                288
-            ]
-        },
-        "bank": {
-            "12": [
-                42,
-                312
-            ],
-            "18": [
-                24,
-                312
-            ],
-            "24": [
-                0,
-                312
-            ]
-        },
-        "grocery": {
-            "12": [
-                96,
-                312
-            ],
-            "18": [
-                78,
-                312
-            ],
-            "24": [
-                54,
-                312
-            ]
-        },
-        "cinema": {
-            "12": [
-                150,
-                312
-            ],
-            "18": [
-                132,
-                312
-            ],
-            "24": [
-                108,
-                312
-            ]
-        },
-        "pharmacy": {
-            "12": [
-                204,
-                312
-            ],
-            "18": [
-                186,
-                312
-            ],
-            "24": [
-                162,
-                312
-            ]
-        },
-        "hospital": {
-            "12": [
-                258,
-                312
-            ],
-            "18": [
-                240,
-                312
-            ],
-            "24": [
-                216,
-                312
-            ]
-        },
-        "danger": {
-            "12": [
-                42,
-                336
-            ],
-            "18": [
-                24,
-                336
-            ],
-            "24": [
-                0,
-                336
-            ]
-        },
-        "industrial": {
-            "12": [
-                96,
-                336
-            ],
-            "18": [
-                78,
-                336
-            ],
-            "24": [
-                54,
-                336
-            ]
-        },
-        "warehouse": {
-            "12": [
-                150,
-                336
-            ],
-            "18": [
-                132,
-                336
-            ],
-            "24": [
-                108,
-                336
-            ]
-        },
-        "commercial": {
-            "12": [
-                204,
-                336
-            ],
-            "18": [
-                186,
-                336
-            ],
-            "24": [
-                162,
-                336
-            ]
-        },
-        "building": {
-            "12": [
-                258,
-                336
-            ],
-            "18": [
-                240,
-                336
-            ],
-            "24": [
-                216,
-                336
-            ]
-        },
-        "place-of-worship": {
-            "12": [
-                42,
-                360
-            ],
-            "18": [
-                24,
-                360
-            ],
-            "24": [
-                0,
-                360
-            ]
-        },
-        "alcohol-shop": {
-            "12": [
-                96,
-                360
-            ],
-            "18": [
-                78,
-                360
-            ],
-            "24": [
-                54,
-                360
-            ]
-        },
-        "logging": {
-            "12": [
-                150,
-                360
-            ],
-            "18": [
-                132,
-                360
-            ],
-            "24": [
-                108,
-                360
-            ]
-        },
-        "oil-well": {
-            "12": [
-                204,
-                360
-            ],
-            "18": [
-                186,
-                360
-            ],
-            "24": [
-                162,
-                360
-            ]
-        },
-        "slaughterhouse": {
-            "12": [
-                258,
-                360
-            ],
-            "18": [
-                240,
-                360
-            ],
-            "24": [
-                216,
-                360
-            ]
-        },
-        "dam": {
-            "12": [
-                42,
-                384
-            ],
-            "18": [
-                24,
-                384
-            ],
-            "24": [
-                0,
-                384
-            ]
-        },
-        "water": {
-            "12": [
-                96,
-                384
-            ],
-            "18": [
-                78,
-                384
-            ],
-            "24": [
-                54,
-                384
-            ]
-        },
-        "wetland": {
-            "12": [
-                150,
-                384
-            ],
-            "18": [
-                132,
-                384
-            ],
-            "24": [
-                108,
-                384
-            ]
-        },
-        "disability": {
-            "12": [
-                204,
-                384
-            ],
-            "18": [
-                186,
-                384
-            ],
-            "24": [
-                162,
-                384
-            ]
-        },
-        "telephone": {
-            "12": [
-                258,
-                384
-            ],
-            "18": [
-                240,
-                384
-            ],
-            "24": [
-                216,
-                384
-            ]
-        },
-        "emergency-telephone": {
-            "12": [
-                42,
-                408
-            ],
-            "18": [
-                24,
-                408
-            ],
-            "24": [
-                0,
-                408
-            ]
-        },
-        "toilets": {
-            "12": [
-                96,
-                408
-            ],
-            "18": [
-                78,
-                408
-            ],
-            "24": [
-                54,
-                408
-            ]
-        },
-        "waste-basket": {
-            "12": [
-                150,
-                408
-            ],
-            "18": [
-                132,
-                408
-            ],
-            "24": [
-                108,
-                408
-            ]
-        },
-        "music": {
-            "12": [
-                204,
-                408
-            ],
-            "18": [
-                186,
-                408
-            ],
-            "24": [
-                162,
-                408
-            ]
-        },
-        "land-use": {
-            "12": [
-                258,
-                408
-            ],
-            "18": [
-                240,
-                408
-            ],
-            "24": [
-                216,
-                408
-            ]
-        },
-        "city": {
-            "12": [
-                42,
-                432
-            ],
-            "18": [
-                24,
-                432
-            ],
-            "24": [
-                0,
-                432
-            ]
-        },
-        "town": {
-            "12": [
-                96,
-                432
-            ],
-            "18": [
-                78,
-                432
-            ],
-            "24": [
-                54,
-                432
-            ]
-        },
-        "village": {
-            "12": [
-                150,
-                432
-            ],
-            "18": [
-                132,
-                432
-            ],
-            "24": [
-                108,
-                432
-            ]
-        },
-        "farm": {
-            "12": [
-                204,
-                432
-            ],
-            "18": [
-                186,
-                432
-            ],
-            "24": [
-                162,
-                432
-            ]
-        },
-        "bakery": {
-            "12": [
-                258,
-                432
-            ],
-            "18": [
-                240,
-                432
-            ],
-            "24": [
-                216,
-                432
-            ]
-        },
-        "dog-park": {
-            "12": [
-                42,
-                456
-            ],
-            "18": [
-                24,
-                456
-            ],
-            "24": [
-                0,
-                456
-            ]
-        },
-        "lighthouse": {
-            "12": [
-                96,
-                456
-            ],
-            "18": [
-                78,
-                456
-            ],
-            "24": [
-                54,
-                456
-            ]
-        },
-        "clothing-store": {
-            "12": [
-                150,
-                456
-            ],
-            "18": [
-                132,
-                456
-            ],
-            "24": [
-                108,
-                456
-            ]
-        },
-        "polling-place": {
-            "12": [
-                204,
-                456
-            ],
-            "18": [
-                186,
-                456
-            ],
-            "24": [
-                162,
-                456
-            ]
-        },
-        "playground": {
-            "12": [
-                258,
-                456
-            ],
-            "18": [
-                240,
-                456
-            ],
-            "24": [
-                216,
-                456
-            ]
-        },
-        "entrance": {
-            "12": [
-                42,
-                480
-            ],
-            "18": [
-                24,
-                480
-            ],
-            "24": [
-                0,
-                480
-            ]
-        },
-        "heart": {
-            "12": [
-                96,
-                480
-            ],
-            "18": [
-                78,
-                480
-            ],
-            "24": [
-                54,
-                480
-            ]
-        },
-        "london-underground": {
-            "12": [
-                150,
-                480
-            ],
-            "18": [
-                132,
-                480
-            ],
-            "24": [
-                108,
-                480
-            ]
-        },
-        "minefield": {
-            "12": [
-                204,
-                480
-            ],
-            "18": [
-                186,
-                480
-            ],
-            "24": [
-                162,
-                480
-            ]
-        },
-        "rail-underground": {
-            "12": [
-                258,
-                480
-            ],
-            "18": [
-                240,
-                480
-            ],
-            "24": [
-                216,
-                480
-            ]
-        },
-        "rail-above": {
-            "12": [
-                42,
-                504
-            ],
-            "18": [
-                24,
-                504
-            ],
-            "24": [
-                0,
-                504
-            ]
-        },
-        "camera": {
-            "12": [
-                96,
-                504
-            ],
-            "18": [
-                78,
-                504
-            ],
-            "24": [
-                54,
-                504
-            ]
-        },
-        "laundry": {
-            "12": [
-                150,
-                504
-            ],
-            "18": [
-                132,
-                504
-            ],
-            "24": [
-                108,
-                504
-            ]
-        },
-        "car": {
-            "12": [
-                204,
-                504
-            ],
-            "18": [
-                186,
-                504
-            ],
-            "24": [
-                162,
-                504
-            ]
-        },
-        "suitcase": {
-            "12": [
-                258,
-                504
-            ],
-            "18": [
-                240,
-                504
-            ],
-            "24": [
-                216,
-                504
-            ]
-        },
-        "hairdresser": {
-            "12": [
-                42,
-                528
-            ],
-            "18": [
-                24,
-                528
-            ],
-            "24": [
-                0,
-                528
-            ]
-        },
-        "chemist": {
-            "12": [
-                96,
-                528
-            ],
-            "18": [
-                78,
-                528
-            ],
-            "24": [
-                54,
-                528
-            ]
-        },
-        "mobilephone": {
-            "12": [
-                150,
-                528
-            ],
-            "18": [
-                132,
-                528
-            ],
-            "24": [
-                108,
-                528
-            ]
-        },
-        "scooter": {
-            "12": [
-                204,
-                528
-            ],
-            "18": [
-                186,
-                528
-            ],
-            "24": [
-                162,
-                528
-            ]
-        },
-        "highway-motorway": {
-            "line": [
-                20,
-                25
-            ]
-        },
-        "highway-trunk": {
-            "line": [
-                80,
-                25
-            ]
-        },
-        "highway-primary": {
-            "line": [
-                140,
-                25
-            ]
-        },
-        "highway-secondary": {
-            "line": [
-                200,
-                25
-            ]
-        },
-        "highway-tertiary": {
-            "line": [
-                260,
-                25
-            ]
-        },
-        "highway-motorway-link": {
-            "line": [
-                320,
-                25
-            ]
-        },
-        "highway-trunk-link": {
-            "line": [
-                380,
-                25
-            ]
-        },
-        "highway-primary-link": {
-            "line": [
-                440,
-                25
-            ]
-        },
-        "highway-secondary-link": {
-            "line": [
-                500,
-                25
-            ]
-        },
-        "highway-tertiary-link": {
-            "line": [
-                560,
-                25
-            ]
-        },
-        "highway-residential": {
-            "line": [
-                620,
-                25
-            ]
-        },
-        "highway-unclassified": {
-            "line": [
-                680,
-                25
-            ]
-        },
-        "highway-service": {
-            "line": [
-                740,
-                25
-            ]
-        },
-        "highway-road": {
-            "line": [
-                800,
-                25
-            ]
-        },
-        "highway-track": {
-            "line": [
-                860,
-                25
-            ]
-        },
-        "highway-living-street": {
-            "line": [
-                920,
-                25
-            ]
-        },
-        "highway-path": {
-            "line": [
-                980,
-                25
-            ]
-        },
-        "highway-cycleway": {
-            "line": [
-                1040,
-                25
-            ]
-        },
-        "highway-footway": {
-            "line": [
-                1100,
-                25
-            ]
-        },
-        "highway-bridleway": {
-            "line": [
-                1160,
-                25
-            ]
-        },
-        "highway-steps": {
-            "line": [
-                1220,
-                25
-            ]
-        },
-        "railway-rail": {
-            "line": [
-                1280,
-                25
-            ]
-        },
-        "railway-disused": {
-            "line": [
-                1340,
-                25
-            ]
-        },
-        "railway-abandoned": {
-            "line": [
-                1400,
-                25
-            ]
-        },
-        "railway-subway": {
-            "line": [
-                1460,
-                25
-            ]
-        },
-        "railway-light-rail": {
-            "line": [
-                1520,
-                25
-            ]
-        },
-        "railway-monorail": {
-            "line": [
-                1580,
-                25
-            ]
-        },
-        "waterway-river": {
-            "line": [
-                1640,
-                25
-            ]
-        },
-        "waterway-stream": {
-            "line": [
-                1700,
-                25
-            ]
-        },
-        "waterway-canal": {
-            "line": [
-                1760,
-                25
-            ]
-        },
-        "waterway-ditch": {
-            "line": [
-                1820,
-                25
-            ]
-        },
-        "power-line": {
-            "line": [
-                1880,
-                25
-            ]
-        },
-        "other-line": {
-            "line": [
-                1940,
-                25
-            ]
-        },
-        "category-roads": {
-            "line": [
-                2000,
-                25
-            ]
-        },
-        "category-rail": {
-            "line": [
-                2060,
-                25
-            ]
-        },
-        "category-path": {
-            "line": [
-                2120,
-                25
-            ]
-        },
-        "category-water": {
-            "line": [
-                2180,
-                25
-            ]
-        },
-        "pipeline": {
-            "line": [
-                2300,
-                25
-            ]
-        },
-        "relation": {
-            "relation": [
-                20,
-                25
-            ]
-        },
-        "restriction": {
-            "relation": [
-                80,
-                25
-            ]
-        },
-        "multipolygon": {
-            "relation": [
-                140,
-                25
-            ]
-        },
-        "boundary": {
-            "relation": [
-                200,
-                25
-            ]
-        },
-        "route": {
-            "relation": [
-                260,
-                25
-            ]
-        },
-        "route-road": {
-            "relation": [
-                320,
-                25
-            ]
-        },
-        "route-bicycle": {
-            "relation": [
-                380,
-                25
-            ]
-        },
-        "route-foot": {
-            "relation": [
-                440,
-                25
-            ]
-        },
-        "route-bus": {
-            "relation": [
-                500,
-                25
-            ]
-        },
-        "route-train": {
-            "relation": [
-                560,
-                25
-            ]
-        },
-        "route-detour": {
-            "relation": [
-                620,
-                25
-            ]
-        },
-        "route-tram": {
-            "relation": [
-                680,
-                25
-            ]
-        },
-        "route-ferry": {
-            "relation": [
-                740,
-                25
-            ]
-        },
-        "route-power": {
-            "relation": [
-                800,
-                25
-            ]
-        },
-        "route-pipeline": {
-            "relation": [
-                860,
-                25
-            ]
-        },
-        "route-master": {
-            "relation": [
-                920,
-                25
-            ]
-        },
-        "restriction-no-straight-on": {
-            "relation": [
-                980,
-                25
-            ]
-        },
-        "restriction-no-u-turn": {
-            "relation": [
-                1040,
-                25
-            ]
-        },
-        "restriction-no-left-turn": {
-            "relation": [
-                1100,
-                25
-            ]
-        },
-        "restriction-no-right-turn": {
-            "relation": [
-                1160,
-                25
-            ]
-        },
-        "restriction-only-straight-on": {
-            "relation": [
-                1220,
-                25
-            ]
-        },
-        "restriction-only-left-turn": {
-            "relation": [
-                1280,
-                25
-            ]
-        },
-        "restriction-only-right-turn": {
-            "relation": [
-                1340,
-                25
-            ]
-        }
-    },
-    "operations": {
-        "icon-operation-delete": [
-            0,
-            140
-        ],
-        "icon-operation-circularize": [
-            20,
-            140
-        ],
-        "icon-operation-straighten": [
-            40,
-            140
-        ],
-        "icon-operation-split": [
-            60,
-            140
-        ],
-        "icon-operation-disconnect": [
-            80,
-            140
-        ],
-        "icon-operation-reverse": [
-            100,
-            140
-        ],
-        "icon-operation-move": [
-            120,
-            140
-        ],
-        "icon-operation-merge": [
-            140,
-            140
-        ],
-        "icon-operation-orthogonalize": [
-            160,
-            140
-        ],
-        "icon-operation-rotate": [
-            180,
-            140
-        ],
-        "icon-operation-simplify": [
-            200,
-            140
-        ],
-        "icon-operation-continue": [
-            220,
-            140
-        ],
-        "icon-operation-disabled-delete": [
-            0,
-            160
-        ],
-        "icon-operation-disabled-circularize": [
-            20,
-            160
-        ],
-        "icon-operation-disabled-straighten": [
-            40,
-            160
-        ],
-        "icon-operation-disabled-split": [
-            60,
-            160
-        ],
-        "icon-operation-disabled-disconnect": [
-            80,
-            160
-        ],
-        "icon-operation-disabled-reverse": [
-            100,
-            160
-        ],
-        "icon-operation-disabled-move": [
-            120,
-            160
-        ],
-        "icon-operation-disabled-merge": [
-            140,
-            160
-        ],
-        "icon-operation-disabled-orthogonalize": [
-            160,
-            160
-        ],
-        "icon-operation-disabled-rotate": [
-            180,
-            160
-        ],
-        "icon-operation-disabled-simplify": [
-            200,
-            160
-        ],
-        "icon-operation-disabled-continue": [
-            220,
-            160
-        ],
-        "icon-restriction-yes": [
-            50,
-            80
-        ],
-        "icon-restriction-no": [
-            95,
-            80
-        ],
-        "icon-restriction-only": [
-            140,
-            80
-        ],
-        "icon-restriction-yes-u": [
-            185,
-            80
-        ],
-        "icon-restriction-no-u": [
-            230,
-            80
-        ],
-        "icon-restriction-only-u": [
-            275,
-            80
-        ]
-    },
-    "locales": [
-        "af",
-        "sq",
-        "ar",
-        "ar-AA",
-        "hy",
-        "ast",
-        "bn",
-        "bs",
-        "bg-BG",
-        "ca",
-        "zh",
-        "zh-CN",
-        "zh-CN.GB2312",
-        "gan",
-        "zh-HK",
-        "zh-TW",
-        "yue",
-        "hr",
-        "cs",
-        "da",
-        "nl",
-        "en-GB",
-        "et",
-        "fi",
-        "fr",
-        "gl",
-        "de",
-        "el",
-        "hu",
-        "is",
-        "id",
-        "it",
-        "ja",
-        "kn",
-        "ko",
-        "ko-KR",
-        "lv",
-        "lt",
-        "no",
-        "nn",
-        "fa",
-        "pl",
-        "pt",
-        "pt-BR",
-        "ro-RO",
-        "ru",
-        "sc",
-        "sr",
-        "sr-RS",
-        "si",
-        "sk",
-        "sl",
-        "es",
-        "sv",
-        "tl",
-        "ta",
-        "te",
-        "tr",
-        "uk",
-        "vi"
-    ],
-    "en": {
-        "modes": {
-            "add_area": {
-                "title": "Area",
-                "description": "Add parks, buildings, lakes or other areas to the map.",
-                "tail": "Click on the map to start drawing an area, like a park, lake, or building."
-            },
-            "add_line": {
-                "title": "Line",
-                "description": "Add highways, streets, pedestrian paths, canals or other lines to the map.",
-                "tail": "Click on the map to start drawing a road, path, or route."
-            },
-            "add_point": {
-                "title": "Point",
-                "description": "Add restaurants, monuments, postal boxes or other points to the map.",
-                "tail": "Click on the map to add a point."
-            },
-            "browse": {
-                "title": "Browse",
-                "description": "Pan and zoom the map."
-            },
-            "draw_area": {
-                "tail": "Click to add nodes to your area. Click the first node to finish the area."
-            },
-            "draw_line": {
-                "tail": "Click to add more nodes to the line. Click on other lines to connect to them, and double-click to end the line."
-            }
-        },
-        "operations": {
-            "add": {
-                "annotation": {
-                    "point": "Added a point.",
-                    "vertex": "Added a node to a way.",
-                    "relation": "Added a relation."
-                }
-            },
-            "start": {
-                "annotation": {
-                    "line": "Started a line.",
-                    "area": "Started an area."
-                }
-            },
-            "continue": {
-                "key": "A",
-                "title": "Continue",
-                "description": "Continue this line.",
-                "not_eligible": "No line can be continued here.",
-                "multiple": "Several lines can be continued here. To choose a line, press the Shift key and click on it to select it.",
-                "annotation": {
-                    "line": "Continued a line.",
-                    "area": "Continued an area."
-                }
-            },
-            "cancel_draw": {
-                "annotation": "Canceled drawing."
-            },
-            "change_role": {
-                "annotation": "Changed the role of a relation member."
-            },
-            "change_tags": {
-                "annotation": "Changed tags."
-            },
-            "circularize": {
-                "title": "Circularize",
-                "description": {
-                    "line": "Make this line circular.",
-                    "area": "Make this area circular."
-                },
-                "key": "O",
-                "annotation": {
-                    "line": "Made a line circular.",
-                    "area": "Made an area circular."
-                },
-                "not_closed": "This can't be made circular because it's not a loop.",
-                "too_large": "This can't be made circular because not enough of it is currently visible."
-            },
-            "orthogonalize": {
-                "title": "Square",
-                "description": {
-                    "line": "Square the corners of this line.",
-                    "area": "Square the corners of this area."
-                },
-                "key": "S",
-                "annotation": {
-                    "line": "Squared the corners of a line.",
-                    "area": "Squared the corners of an area."
-                },
-                "not_squarish": "This can't be made square because it is not squarish.",
-                "too_large": "This can't be made square because not enough of it is currently visible."
-            },
-            "straighten": {
-                "title": "Straighten",
-                "description": "Straighten this line.",
-                "key": "S",
-                "annotation": "Straightened a line.",
-                "too_bendy": "This can't be straightened because it bends too much."
-            },
-            "delete": {
-                "title": "Delete",
-                "description": "Remove this from the map.",
-                "annotation": {
-                    "point": "Deleted a point.",
-                    "vertex": "Deleted a node from a way.",
-                    "line": "Deleted a line.",
-                    "area": "Deleted an area.",
-                    "relation": "Deleted a relation.",
-                    "multiple": "Deleted {n} objects."
-                },
-                "incomplete_relation": "This feature can't be deleted because it hasn't been fully downloaded."
-            },
-            "add_member": {
-                "annotation": "Added a member to a relation."
-            },
-            "delete_member": {
-                "annotation": "Removed a member from a relation."
-            },
-            "connect": {
-                "annotation": {
-                    "point": "Connected a way to a point.",
-                    "vertex": "Connected a way to another.",
-                    "line": "Connected a way to a line.",
-                    "area": "Connected a way to an area."
-                }
-            },
-            "disconnect": {
-                "title": "Disconnect",
-                "description": "Disconnect these lines/areas from each other.",
-                "key": "D",
-                "annotation": "Disconnected lines/areas.",
-                "not_connected": "There aren't enough lines/areas here to disconnect."
-            },
-            "merge": {
-                "title": "Merge",
-                "description": "Merge these lines.",
-                "key": "C",
-                "annotation": "Merged {n} lines.",
-                "not_eligible": "These features can't be merged.",
-                "not_adjacent": "These lines can't be merged because they aren't connected.",
-                "restriction": "These lines can't be merged because at least one is a member of a \"{relation}\" relation.",
-                "incomplete_relation": "These features can't be merged because at least one hasn't been fully downloaded."
-            },
-            "move": {
-                "title": "Move",
-                "description": "Move this to a different location.",
-                "key": "M",
-                "annotation": {
-                    "point": "Moved a point.",
-                    "vertex": "Moved a node in a way.",
-                    "line": "Moved a line.",
-                    "area": "Moved an area.",
-                    "multiple": "Moved multiple objects."
-                },
-                "incomplete_relation": "This feature can't be moved because it hasn't been fully downloaded.",
-                "too_large": "This can't be moved because not enough of it is currently visible."
-            },
-            "rotate": {
-                "title": "Rotate",
-                "description": "Rotate this object around its center point.",
-                "key": "R",
-                "annotation": {
-                    "line": "Rotated a line.",
-                    "area": "Rotated an area."
-                },
-                "too_large": "This can't be rotated because not enough of it is currently visible."
-            },
-            "reverse": {
-                "title": "Reverse",
-                "description": "Make this line go in the opposite direction.",
-                "key": "V",
-                "annotation": "Reversed a line."
-            },
-            "split": {
-                "title": "Split",
-                "description": {
-                    "line": "Split this line into two at this node.",
-                    "area": "Split the boundary of this area into two.",
-                    "multiple": "Split the lines/area boundaries at this node into two."
-                },
-                "key": "X",
-                "annotation": {
-                    "line": "Split a line.",
-                    "area": "Split an area boundary.",
-                    "multiple": "Split {n} lines/area boundaries."
-                },
-                "not_eligible": "Lines can't be split at their beginning or end.",
-                "multiple_ways": "There are too many lines here to split."
-            },
-            "restriction": {
-                "help": {
-                    "select": "Click to select a road segment.",
-                    "toggle": "Click to toggle turn restrictions.",
-                    "toggle_on": "Click to add a \"{restriction}\" restriction.",
-                    "toggle_off": "Click to remove the \"{restriction}\" restriction."
-                },
-                "annotation": {
-                    "create": "Added a turn restriction",
-                    "delete": "Deleted a turn restriction"
-                }
-            }
-        },
-        "undo": {
-            "tooltip": "Undo: {action}",
-            "nothing": "Nothing to undo."
-        },
-        "redo": {
-            "tooltip": "Redo: {action}",
-            "nothing": "Nothing to redo."
-        },
-        "tooltip_keyhint": "Shortcut:",
-        "browser_notice": "This editor is supported in Firefox, Chrome, Safari, Opera, and Internet Explorer 9 and above. Please upgrade your browser or use Potlatch 2 to edit the map.",
-        "translate": {
-            "translate": "Translate",
-            "localized_translation_label": "Multilingual name",
-            "localized_translation_language": "Choose language",
-            "localized_translation_name": "Name"
-        },
-        "zoom_in_edit": "Zoom in to Edit",
-        "logout": "logout",
-        "loading_auth": "Connecting to OpenStreetMap...",
-        "report_a_bug": "report a bug",
-        "status": {
-            "error": "Unable to connect to API.",
-            "offline": "The API is offline. Please try editing later.",
-            "readonly": "The API is read-only. You will need to wait to save your changes."
-        },
-        "commit": {
-            "title": "Save Changes",
-            "description_placeholder": "Brief description of your contributions",
-            "message_label": "Commit message",
-            "upload_explanation": "The changes you upload will be visible on all maps that use OpenStreetMap data.",
-            "upload_explanation_with_user": "The changes you upload as {user} will be visible on all maps that use OpenStreetMap data.",
-            "save": "Save",
-            "cancel": "Cancel",
-            "warnings": "Warnings",
-            "modified": "Modified",
-            "deleted": "Deleted",
-            "created": "Created"
-        },
-        "contributors": {
-            "list": "Edits by {users}",
-            "truncated_list": "Edits by {users} and {count} others"
-        },
-        "geocoder": {
-            "search": "Search worldwide...",
-            "no_results_visible": "No results in visible map area",
-            "no_results_worldwide": "No results found"
-        },
-        "geolocate": {
-            "title": "Show My Location"
-        },
-        "inspector": {
-            "no_documentation_combination": "There is no documentation available for this tag combination",
-            "no_documentation_key": "There is no documentation available for this key",
-            "show_more": "Show More",
-            "view_on_osm": "View on openstreetmap.org",
-            "all_tags": "All tags",
-            "all_members": "All members",
-            "all_relations": "All relations",
-            "new_relation": "New relation...",
-            "role": "Role",
-            "choose": "Select feature type",
-            "results": "{n} results for {search}",
-            "reference": "View on OpenStreetMap Wiki",
-            "back_tooltip": "Change feature",
-            "remove": "Remove",
-            "search": "Search",
-            "multiselect": "Selected items",
-            "unknown": "Unknown",
-            "incomplete": "<not downloaded>",
-            "feature_list": "Search features",
-            "edit": "Edit feature",
-            "check": {
-                "yes": "Yes",
-                "no": "No"
-            },
-            "none": "None",
-            "node": "Node",
-            "way": "Way",
-            "relation": "Relation",
-            "location": "Location"
-        },
-        "background": {
-            "title": "Background",
-            "description": "Background settings",
-            "percent_brightness": "{opacity}% brightness",
-            "none": "None",
-            "custom": "Custom",
-            "custom_button": "Edit custom background",
-            "custom_prompt": "Enter a tile URL template. Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme.",
-            "fix_misalignment": "Fix alignment",
-            "reset": "reset"
-        },
-        "restore": {
-            "heading": "You have unsaved changes",
-            "description": "Do you wish to restore unsaved changes from a previous editing session?",
-            "restore": "Restore",
-            "reset": "Reset"
-        },
-        "save": {
-            "title": "Save",
-            "help": "Save changes to OpenStreetMap, making them visible to other users.",
-            "no_changes": "No changes to save.",
-            "error": "An error occurred while trying to save",
-            "uploading": "Uploading changes to OpenStreetMap.",
-            "unsaved_changes": "You have unsaved changes"
-        },
-        "success": {
-            "edited_osm": "Edited OSM!",
-            "just_edited": "You just edited OpenStreetMap!",
-            "view_on_osm": "View on OSM",
-            "facebook": "Share on Facebook",
-            "twitter": "Share on Twitter",
-            "google": "Share on Google+",
-            "help_html": "Your changes should appear in the \"Standard\" layer in a few minutes. Other layers, and certain features, may take longer\n(<a href='https://help.openstreetmap.org/questions/4705/why-havent-my-changes-appeared-on-the-map' target='_blank'>details</a>).\n"
-        },
-        "confirm": {
-            "okay": "Okay"
-        },
-        "splash": {
-            "welcome": "Welcome to the iD OpenStreetMap editor",
-            "text": "iD is a friendly but powerful tool for contributing to the world's best free world map. This is version {version}. For more information see {website} and report bugs at {github}.",
-            "walkthrough": "Start the Walkthrough",
-            "start": "Edit Now"
-        },
-        "source_switch": {
-            "live": "live",
-            "lose_changes": "You have unsaved changes. Switching the map server will discard them. Are you sure you want to switch servers?",
-            "dev": "dev"
-        },
-        "tag_reference": {
-            "description": "Description",
-            "on_wiki": "{tag} on wiki.osm.org",
-            "used_with": "used with {type}"
-        },
-        "validations": {
-            "untagged_point": "Untagged point",
-            "untagged_line": "Untagged line",
-            "untagged_area": "Untagged area",
-            "many_deletions": "You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.",
-            "tag_suggests_area": "The tag {tag} suggests line should be area, but it is not an area",
-            "untagged_point_tooltip": "Select a feature type that describes what this point is.",
-            "untagged_line_tooltip": "Select a feature type that describes what this line is.",
-            "untagged_area_tooltip": "Select a feature type that describes what this area is.",
-            "deprecated_tags": "Deprecated tags: {tags}"
-        },
-        "zoom": {
-            "in": "Zoom In",
-            "out": "Zoom Out"
-        },
-        "cannot_zoom": "Cannot zoom out further in current mode.",
-        "gpx": {
-            "local_layer": "Local GPX file",
-            "drag_drop": "Drag and drop a .gpx file on the page, or click the button to the right to browse",
-            "zoom": "Zoom to GPX track",
-            "browse": "Browse for a .gpx file"
-        },
-        "help": {
-            "title": "Help",
-            "help": "# Help\n\nThis is an editor for [OpenStreetMap](http://www.openstreetmap.org/), the\nfree and editable map of the world. You can use it to add and update\ndata in your area, making an open-source and open-data map of the world\nbetter for everyone.\n\nEdits that you make on this map will be visible to everyone who uses\nOpenStreetMap. In order to make an edit, you'll need a\n[free OpenStreetMap account](https://www.openstreetmap.org/user/new).\n\nThe [iD editor](http://ideditor.com/) is a collaborative project with [source\ncode available on GitHub](https://github.com/openstreetmap/iD).\n",
-            "editing_saving": "# Editing & Saving\n\nThis editor is designed to work primarily online, and you're accessing\nit through a website right now.\n\n### Selecting Features\n\nTo select a map feature, like a road or point of interest, click\non it on the map. This will highlight the selected feature, open a panel with\ndetails about it, and show a menu of things you can do with the feature.\n\nTo select multiple features, hold down the 'Shift' key. Then either click\non the features you want to select, or drag on the map to draw a rectangle.\nThis will draw a box and select all the points within it.\n\n### Saving Edits\n\nWhen you make changes like editing roads, buildings, and places, these are\nstored locally until you save them to the server. Don't worry if you make\na mistake - you can undo changes by clicking the undo button, and redo\nchanges by clicking the redo button.\n\nClick 'Save' to finish a group of edits - for instance, if you've completed\nan area of town and would like to start on a new area. You'll have a chance\nto review what you've done, and the editor supplies helpful suggestions\nand warnings if something doesn't seem right about the changes.\n\nIf everything looks good, you can enter a short comment explaining the change\nyou made, and click 'Save' again to post the changes\nto [OpenStreetMap.org](http://www.openstreetmap.org/), where they are visible\nto all other users and available for others to build and improve upon.\n\nIf you can't finish your edits in one sitting, you can leave the editor\nwindow and come back (on the same browser and computer), and the\neditor application will offer to restore your work.\n",
-            "roads": "# Roads\n\nYou can create, fix, and delete roads with this editor. Roads can be all\nkinds: paths, highways, trails, cycleways, and more - any often-crossed\nsegment should be mappable.\n\n### Selecting\n\nClick on a road to select it. An outline should become visible, along\nwith a small tools menu on the map and a sidebar showing more information\nabout the road.\n\n### Modifying\n\nOften you'll see roads that aren't aligned to the imagery behind them\nor to a GPS track. You can adjust these roads so they are in the correct\nplace.\n\nFirst click on the road you want to change. This will highlight it and show\ncontrol points along it that you can drag to better locations. If\nyou want to add new control points for more detail, double-click a part\nof the road without a node, and one will be added.\n\nIf the road connects to another road, but doesn't properly connect on\nthe map, you can drag one of its control points onto the other road in\norder to join them. Having roads connect is important for the map\nand essential for providing driving directions.\n\nYou can also click the 'Move' tool or press the `M` shortcut key to move the entire road at\none time, and then click again to save that movement.\n\n### Deleting\n\nIf a road is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the road could simply be newly built.\n\nYou can delete a road by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n\n### Creating\n\nFound somewhere there should be a road but there isn't? Click the 'Line'\nicon in the top-left of the editor or press the shortcut key `2` to start drawing\na line.\n\nClick on the start of the road on the map to start drawing. If the road\nbranches off from an existing road, start by clicking on the place where they connect.\n\nThen click on points along the road so that it follows the right path, according\nto satellite imagery or GPS. If the road you are drawing crosses another road, connect\nit by clicking on the intersection point. When you're done drawing, double-click\nor press 'Return' or 'Enter' on your keyboard.\n",
-            "gps": "# GPS\n\nGPS data is the most trusted source of data for OpenStreetMap. This editor\nsupports local traces - `.gpx` files on your local computer. You can collect\nthis kind of GPS trace with a number of smartphone applications as well as\npersonal GPS hardware.\n\nFor information on how to perform a GPS survey, read\n[Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/).\n\nTo use a GPX track for mapping, drag and drop the GPX file onto the map\neditor. If it's recognized, it will be added to the map as a bright green\nline. Click on the 'Background Settings' menu on the right side to enable,\ndisable, or zoom to this new GPX-powered layer.\n\nThe GPX track isn't directly uploaded to OpenStreetMap - the best way to\nuse it is to draw on the map, using it as a guide for the new features that\nyou add, and also to [upload it to OpenStreetMap](http://www.openstreetmap.org/trace/create)\nfor other users to use.\n",
-            "imagery": "# Imagery\n\nAerial imagery is an important resource for mapping. A combination of\nairplane flyovers, satellite views, and freely-compiled sources are available\nin the editor under the 'Background Settings' menu on the right.\n\nBy default a [Bing Maps](http://www.bing.com/maps/) satellite layer is\npresented in the editor, but as you pan and zoom the map to new geographical\nareas, new sources will become available. Some countries, like the United\nStates, France, and Denmark have very high-quality imagery available for some areas.\n\nImagery is sometimes offset from the map data because of a mistake on the\nimagery provider's side. If you see a lot of roads shifted from the background,\ndon't immediately move them all to match the background. Instead you can adjust\nthe imagery so that it matches the existing data by clicking 'Fix alignment' at\nthe bottom of the Background Settings UI.\n",
-            "addresses": "# Addresses\n\nAddresses are some of the most useful information for the map.\n\nAlthough addresses are often represented as parts of streets, in OpenStreetMap\nthey're recorded as attributes of buildings and places along streets.\n\nYou can add address information to places mapped as building outlines\nas well as those mapped as single points. The optimal source of address\ndata is from an on-the-ground survey or personal knowledge - as with any\nother feature, copying from commercial sources like Google Maps is strictly\nforbidden.\n",
-            "inspector": "# Using the Inspector\n\nThe inspector is the section on the left side of the page that allows you to\nedit the details of the selected feature.\n\n### Selecting a Feature Type\n\nAfter you add a point, line, or area, you can choose what type of feature it\nis, like whether it's a highway or residential road, supermarket or cafe.\nThe inspector will display buttons for common feature types, and you can\nfind others by typing what you're looking for in the search box.\n\nClick the 'i' in the bottom-right-hand corner of a feature type button to\nlearn more about it. Click a button to choose that type.\n\n### Using Forms and Editing Tags\n\nAfter you choose a feature type, or when you select a feature that already\nhas a type assigned, the inspector will display fields with details about\nthe feature like its name and address.\n\nBelow the fields you see, you can click icons to add other details,\nlike [Wikipedia](http://www.wikipedia.org/) information, wheelchair\naccess, and more.\n\nAt the bottom of the inspector, click 'Additional tags' to add arbitrary\nother tags to the element. [Taginfo](http://taginfo.openstreetmap.org/) is a\ngreat resource for learn more about popular tag combinations.\n\nChanges you make in the inspector are automatically applied to the map.\nYou can undo them at any time by clicking the 'Undo' button.\n",
-            "buildings": "# Buildings\n\nOpenStreetMap is the world's largest database of buildings. You can create\nand improve this database.\n\n### Selecting\n\nYou can select a building by clicking on its border. This will highlight the\nbuilding and open a small tools menu and a sidebar showing more information\nabout the building.\n\n### Modifying\n\nSometimes buildings are incorrectly placed or have incorrect tags.\n\nTo move an entire building, select it, then click the 'Move' tool. Move your\nmouse to shift the building, and click when it's correctly placed.\n\nTo fix the specific shape of a building, click and drag the nodes that form\nits border into better places.\n\n### Creating\n\nOne of the main questions around adding buildings to the map is that\nOpenStreetMap records buildings both as shapes and points. The rule of thumb\nis to _map a building as a shape whenever possible_, and map companies, homes,\namenities, and other things that operate out of buildings as points placed\nwithin the building shape.\n\nStart drawing a building as a shape by clicking the 'Area' button in the top\nleft of the interface, and end it either by pressing 'Return' on your keyboard\nor clicking on the first node drawn to close the shape.\n\n### Deleting\n\nIf a building is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the building could simply be newly built.\n\nYou can delete a building by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n",
-            "relations": "# Relations\n\nA relation is a special type of feature in OpenStreetMap that groups together\nother features. For example, two common types of relations are *route relations*,\nwhich group together sections of road that belong to a specific freeway or\nhighway, and *multipolygons*, which group together several lines that define\na complex area (one with several pieces or holes in it like a donut).\n\nThe group of features in a relation are called *members*. In the sidebar, you can\nsee which relations a feature is a member of, and click on a relation there\nto select the it. When the relation is selected, you can see all of its\nmembers listed in the sidebar and highlighted on the map.\n\nFor the most part, iD will take care of maintaining relations automatically\nwhile you edit. The main thing you should be aware of is that if you delete a\nsection of road to redraw it more accurately, you should make sure that the\nnew section is a member of the same relations as the original.\n\n## Editing Relations\n\nIf you want to edit relations, here are the basics.\n\nTo add a feature to a relation, select the feature, click the \"+\" button in the\n\"All relations\" section of the sidebar, and select or type the name of the relation.\n\nTo create a new relation, select the first feature that should be a member,\nclick the \"+\" button in the \"All relations\" section, and select \"New relation...\".\n\nTo remove a feature from a relation, select the feature and click the trash\nbutton next to the relation you want to remove it from.\n\nYou can create multipolygons with holes using the \"Merge\" tool. Draw two areas (inner\nand outer), hold the Shift key and click on each of them to select them both, and then\nclick the \"Merge\" (+) button.\n"
-        },
-        "intro": {
-            "navigation": {
-                "title": "Navigation",
-                "drag": "The main map area shows OpenStreetMap data on top of a background. You can navigate by dragging and scrolling, just like any web map. **Drag the map!**",
-                "select": "Map features are represented three ways: using points, lines or areas. All features can be selected by clicking on them. **Click on the point to select it.**",
-                "header": "The header shows us the feature type.",
-                "pane": "When a feature is selected, the feature editor is displayed. The header shows us the feature type and the main pane shows the feature's attributes, such as its name and address. **Close the feature editor with the close button in the top right.**"
-            },
-            "points": {
-                "title": "Points",
-                "add": "Points can be used to represent features such as shops, restaurants and monuments. They mark a specific location, and describe what's there. **Click the Point button to add a new point.**",
-                "place": "The point can be placed by clicking on the map. **Place the point on top of the building.**",
-                "search": "There are many different features that can be represented by points. The point you just added is a Cafe. **Search for '{name}'**",
-                "choose": "**Choose Cafe from the list.**",
-                "describe": "The point is now marked as a cafe. Using the feature editor, we can add more information about the feature. **Add a name**",
-                "close": "The feature editor can be closed by clicking on the close button. **Close the feature editor**",
-                "reselect": "Often points will already exist, but have mistakes or be incomplete. We can edit existing points. **Select the point you just created.**",
-                "fixname": "**Change the name and close the feature editor.**",
-                "reselect_delete": "All features on the map can be deleted. **Click on the point you created.**",
-                "delete": "The menu around the point contains operations that can be performed on it, including delete. **Delete the point.**"
-            },
-            "areas": {
-                "title": "Areas",
-                "add": "Areas are a more detailed way to represent features. They provide information on the boundaries of the feature. Areas can be used for most feature types points can be used for, and are often preferred. **Click the Area button to add a new area.**",
-                "corner": "Areas are drawn by placing nodes that mark the boundary of the area. **Place the starting node on one of the corners of the playground.**",
-                "place": "Draw the area by placing more nodes. Finish the area by clicking on the starting node. **Draw an area for the playground.**",
-                "search": "**Search for '{name}'.**",
-                "choose": "**Choose Playground from the list.**",
-                "describe": "**Add a name, and close the feature editor**"
-            },
-            "lines": {
-                "title": "Lines",
-                "add": "Lines are used to represent features such as roads, railroads and rivers. **Click the Line button to add a new line.**",
-                "start": "**Start the line by clicking on the end of the road.**",
-                "intersect": "Click to add more nodes to the line. You can drag the map while drawing if necessary. Roads, and many other types of lines, are part of a larger network. It is important for these lines to be connected properly in order for routing applications to work. **Click on Flower Street, to create an intersection connecting the two lines.**",
-                "finish": "Lines can be finished by clicking on the last node again. **Finish drawing the road.**",
-                "road": "**Select Road from the list**",
-                "residential": "There are different types of roads, the most common of which is Residential. **Choose the Residential road type**",
-                "describe": "**Name the road and close the feature editor.**",
-                "restart": "The road needs to intersect Flower Street.",
-                "wrong_preset": "You didn't select the Residential road type. **Click here to choose again**"
-            },
-            "startediting": {
-                "title": "Start Editing",
-                "help": "More documentation and this walkthrough are available here.",
-                "save": "Don't forget to regularly save your changes!",
-                "start": "Start mapping!"
-            }
-        },
-        "presets": {
-            "categories": {
-                "category-building": {
-                    "name": "Building"
-                },
-                "category-golf": {
-                    "name": "Golf"
-                },
-                "category-landuse": {
-                    "name": "Land Use"
-                },
-                "category-path": {
-                    "name": "Path"
-                },
-                "category-rail": {
-                    "name": "Rail"
-                },
-                "category-restriction": {
-                    "name": "Restriction"
-                },
-                "category-road": {
-                    "name": "Road"
-                },
-                "category-route": {
-                    "name": "Route"
-                },
-                "category-water-area": {
-                    "name": "Water"
-                },
-                "category-water-line": {
-                    "name": "Water"
-                }
-            },
-            "fields": {
-                "access": {
-                    "label": "Access",
-                    "placeholder": "Unknown",
-                    "types": {
-                        "access": "General",
-                        "foot": "Foot",
-                        "motor_vehicle": "Motor Vehicles",
-                        "bicycle": "Bicycles",
-                        "horse": "Horses"
-                    },
-                    "options": {
-                        "yes": {
-                            "title": "Allowed",
-                            "description": "Access permitted by law; a right of way"
-                        },
-                        "no": {
-                            "title": "Prohibited",
-                            "description": "Access not permitted to the general public"
-                        },
-                        "permissive": {
-                            "title": "Permissive",
-                            "description": "Access permitted until such time as the owner revokes the permission"
-                        },
-                        "private": {
-                            "title": "Private",
-                            "description": "Access permitted only with permission of the owner on an individual basis"
-                        },
-                        "designated": {
-                            "title": "Designated",
-                            "description": "Access permitted according to signs or specific local laws"
-                        },
-                        "destination": {
-                            "title": "Destination",
-                            "description": "Access permitted only to reach a destination"
-                        }
-                    }
-                },
-                "access_simple": {
-                    "label": "Access",
-                    "placeholder": "yes"
-                },
-                "access_toilets": {
-                    "label": "Access"
-                },
-                "address": {
-                    "label": "Address",
-                    "placeholders": {
-                        "housename": "Housename",
-                        "housenumber": "123",
-                        "street": "Street",
-                        "city": "City",
-                        "postcode": "Postcode",
-                        "place": "Place",
-                        "hamlet": "Hamlet",
-                        "suburb": "Suburb",
-                        "subdistrict": "Subdistrict",
-                        "district": "District",
-                        "province": "Province",
-                        "state": "State",
-                        "country": "Country"
-                    }
-                },
-                "admin_level": {
-                    "label": "Admin Level"
-                },
-                "aerialway": {
-                    "label": "Type"
-                },
-                "aerialway/access": {
-                    "label": "Access"
-                },
-                "aerialway/bubble": {
-                    "label": "Bubble"
-                },
-                "aerialway/capacity": {
-                    "label": "Capacity (per hour)",
-                    "placeholder": "500, 2500, 5000..."
-                },
-                "aerialway/duration": {
-                    "label": "Duration (minutes)",
-                    "placeholder": "1, 2, 3..."
-                },
-                "aerialway/heating": {
-                    "label": "Heated"
-                },
-                "aerialway/occupancy": {
-                    "label": "Occupancy",
-                    "placeholder": "2, 4, 8..."
-                },
-                "aerialway/summer/access": {
-                    "label": "Access (summer)"
-                },
-                "aeroway": {
-                    "label": "Type"
-                },
-                "amenity": {
-                    "label": "Type"
-                },
-                "artist": {
-                    "label": "Artist"
-                },
-                "artwork_type": {
-                    "label": "Type"
-                },
-                "atm": {
-                    "label": "ATM"
-                },
-                "backrest": {
-                    "label": "Backrest"
-                },
-                "barrier": {
-                    "label": "Type"
-                },
-                "bicycle_parking": {
-                    "label": "Type"
-                },
-                "boundary": {
-                    "label": "Type"
-                },
-                "building": {
-                    "label": "Building"
-                },
-                "building_area": {
-                    "label": "Building"
-                },
-                "capacity": {
-                    "label": "Capacity",
-                    "placeholder": "50, 100, 200..."
-                },
-                "cardinal_direction": {
-                    "label": "Direction"
-                },
-                "clock_direction": {
-                    "label": "Direction",
-                    "options": {
-                        "clockwise": "Clockwise",
-                        "anticlockwise": "Counterclockwise"
-                    }
-                },
-                "collection_times": {
-                    "label": "Collection Times"
-                },
-                "construction": {
-                    "label": "Type"
-                },
-                "country": {
-                    "label": "Country"
-                },
-                "covered": {
-                    "label": "Covered"
-                },
-                "crop": {
-                    "label": "Crop"
-                },
-                "crossing": {
-                    "label": "Type"
-                },
-                "cuisine": {
-                    "label": "Cuisine"
-                },
-                "denomination": {
-                    "label": "Denomination"
-                },
-                "denotation": {
-                    "label": "Denotation"
-                },
-                "description": {
-                    "label": "Description"
-                },
-                "electrified": {
-                    "label": "Electrification"
-                },
-                "elevation": {
-                    "label": "Elevation"
-                },
-                "emergency": {
-                    "label": "Emergency"
-                },
-                "entrance": {
-                    "label": "Type"
-                },
-                "except": {
-                    "label": "Exceptions"
-                },
-                "fax": {
-                    "label": "Fax",
-                    "placeholder": "+31 42 123 4567"
-                },
-                "fee": {
-                    "label": "Fee"
-                },
-                "fire_hydrant/type": {
-                    "label": "Type"
-                },
-                "fixme": {
-                    "label": "Fix Me"
-                },
-                "fuel": {
-                    "label": "Fuel"
-                },
-                "fuel/biodiesel": {
-                    "label": "Sells Biodiesel"
-                },
-                "fuel/diesel": {
-                    "label": "Sells Diesel"
-                },
-                "fuel/e10": {
-                    "label": "Sells E10"
-                },
-                "fuel/e85": {
-                    "label": "Sells E85"
-                },
-                "fuel/lpg": {
-                    "label": "Sells Propane"
-                },
-                "fuel/octane_100": {
-                    "label": "Sells Racing Gasoline"
-                },
-                "fuel/octane_91": {
-                    "label": "Sells Regular Gasoline"
-                },
-                "fuel/octane_95": {
-                    "label": "Sells Midgrade Gasoline"
-                },
-                "fuel/octane_98": {
-                    "label": "Sells Premium Gasoline"
-                },
-                "gauge": {
-                    "label": "Gauge"
-                },
-                "generator/method": {
-                    "label": "Method"
-                },
-                "generator/source": {
-                    "label": "Source"
-                },
-                "generator/type": {
-                    "label": "Type"
-                },
-                "golf_hole": {
-                    "label": "Reference",
-                    "placeholder": "Hole number (1-18)"
-                },
-                "handicap": {
-                    "label": "Handicap",
-                    "placeholder": "1-18"
-                },
-                "highway": {
-                    "label": "Type"
-                },
-                "historic": {
-                    "label": "Type"
-                },
-                "hoops": {
-                    "label": "Hoops",
-                    "placeholder": "1, 2, 4..."
-                },
-                "iata": {
-                    "label": "IATA"
-                },
-                "icao": {
-                    "label": "ICAO"
-                },
-                "incline": {
-                    "label": "Incline"
-                },
-                "information": {
-                    "label": "Type"
-                },
-                "internet_access": {
-                    "label": "Internet Access",
-                    "options": {
-                        "yes": "Yes",
-                        "no": "No",
-                        "wlan": "Wifi",
-                        "wired": "Wired",
-                        "terminal": "Terminal"
-                    }
-                },
-                "lamp_type": {
-                    "label": "Type"
-                },
-                "landuse": {
-                    "label": "Type"
-                },
-                "lanes": {
-                    "label": "Lanes",
-                    "placeholder": "1, 2, 3..."
-                },
-                "layer": {
-                    "label": "Layer"
-                },
-                "leisure": {
-                    "label": "Type"
-                },
-                "length": {
-                    "label": "Length (Meters)"
-                },
-                "levels": {
-                    "label": "Levels",
-                    "placeholder": "2, 4, 6..."
-                },
-                "lit": {
-                    "label": "Lit"
-                },
-                "location": {
-                    "label": "Location"
-                },
-                "man_made": {
-                    "label": "Type"
-                },
-                "maxspeed": {
-                    "label": "Speed Limit",
-                    "placeholder": "40, 50, 60..."
-                },
-                "name": {
-                    "label": "Name",
-                    "placeholder": "Common name (if any)"
-                },
-                "natural": {
-                    "label": "Natural"
-                },
-                "network": {
-                    "label": "Network"
-                },
-                "note": {
-                    "label": "Note"
-                },
-                "office": {
-                    "label": "Type"
-                },
-                "oneway": {
-                    "label": "One Way",
-                    "options": {
-                        "undefined": "Assumed to be No",
-                        "yes": "Yes",
-                        "no": "No"
-                    }
-                },
-                "oneway_yes": {
-                    "label": "One Way",
-                    "options": {
-                        "undefined": "Assumed to be Yes",
-                        "yes": "Yes",
-                        "no": "No"
-                    }
-                },
-                "opening_hours": {
-                    "label": "Hours"
-                },
-                "operator": {
-                    "label": "Operator"
-                },
-                "par": {
-                    "label": "Par",
-                    "placeholder": "3, 4, 5..."
-                },
-                "park_ride": {
-                    "label": "Park and Ride"
-                },
-                "parking": {
-                    "label": "Type"
-                },
-                "phone": {
-                    "label": "Phone",
-                    "placeholder": "+31 42 123 4567"
-                },
-                "piste/difficulty": {
-                    "label": "Difficulty"
-                },
-                "piste/grooming": {
-                    "label": "Grooming"
-                },
-                "piste/type": {
-                    "label": "Type"
-                },
-                "place": {
-                    "label": "Type"
-                },
-                "population": {
-                    "label": "Population"
-                },
-                "power": {
-                    "label": "Type"
-                },
-                "railway": {
-                    "label": "Type"
-                },
-                "recycling/cans": {
-                    "label": "Accepts Cans"
-                },
-                "recycling/clothes": {
-                    "label": "Accepts Clothes"
-                },
-                "recycling/glass": {
-                    "label": "Accepts Glass"
-                },
-                "recycling/paper": {
-                    "label": "Accepts Paper"
-                },
-                "ref": {
-                    "label": "Reference"
-                },
-                "relation": {
-                    "label": "Type"
-                },
-                "religion": {
-                    "label": "Religion",
-                    "options": {
-                        "christian": "Christian",
-                        "muslim": "Muslim",
-                        "buddhist": "Buddhist",
-                        "jewish": "Jewish",
-                        "hindu": "Hindu",
-                        "shinto": "Shinto",
-                        "taoist": "Taoist"
-                    }
-                },
-                "restriction": {
-                    "label": "Type"
-                },
-                "restrictions": {
-                    "label": "Turn Restrictions"
-                },
-                "route": {
-                    "label": "Type"
-                },
-                "route_master": {
-                    "label": "Type"
-                },
-                "sac_scale": {
-                    "label": "Path Difficulty"
-                },
-                "seasonal": {
-                    "label": "Seasonal"
-                },
-                "service": {
-                    "label": "Type"
-                },
-                "shelter": {
-                    "label": "Shelter"
-                },
-                "shelter_type": {
-                    "label": "Type"
-                },
-                "shop": {
-                    "label": "Type"
-                },
-                "sloped_curb": {
-                    "label": "Sloped Curb"
-                },
-                "smoking": {
-                    "label": "Smoking"
-                },
-                "social_facility_for": {
-                    "label": "People served",
-                    "placeholder": "Homeless, Disabled, Child, etc"
-                },
-                "source": {
-                    "label": "Source"
-                },
-                "sport": {
-                    "label": "Sport"
-                },
-                "sport_ice": {
-                    "label": "Sport"
-                },
-                "structure": {
-                    "label": "Structure",
-                    "placeholder": "Unknown",
-                    "options": {
-                        "bridge": "Bridge",
-                        "tunnel": "Tunnel",
-                        "embankment": "Embankment",
-                        "cutting": "Cutting",
-                        "ford": "Ford"
-                    }
-                },
-                "studio_type": {
-                    "label": "Type"
-                },
-                "supervised": {
-                    "label": "Supervised"
-                },
-                "surface": {
-                    "label": "Surface"
-                },
-                "tactile_paving": {
-                    "label": "Tactile Paving"
-                },
-                "toilets/disposal": {
-                    "label": "Disposal"
-                },
-                "tourism": {
-                    "label": "Type"
-                },
-                "towertype": {
-                    "label": "Tower type"
-                },
-                "tracktype": {
-                    "label": "Type"
-                },
-                "trail_visibility": {
-                    "label": "Trail Visibility"
-                },
-                "tree_type": {
-                    "label": "Type"
-                },
-                "trees": {
-                    "label": "Trees"
-                },
-                "tunnel": {
-                    "label": "Tunnel"
-                },
-                "vending": {
-                    "label": "Type of Goods"
-                },
-                "water": {
-                    "label": "Type"
-                },
-                "waterway": {
-                    "label": "Type"
-                },
-                "website": {
-                    "label": "Website",
-                    "placeholder": "http://example.com/"
-                },
-                "wetland": {
-                    "label": "Type"
-                },
-                "wheelchair": {
-                    "label": "Wheelchair Access"
-                },
-                "width": {
-                    "label": "Width (Meters)"
-                },
-                "wikipedia": {
-                    "label": "Wikipedia"
-                },
-                "wood": {
-                    "label": "Type"
-                }
-            },
-            "presets": {
-                "address": {
-                    "name": "Address",
-                    "terms": ""
-                },
-                "aerialway": {
-                    "name": "Aerialway",
-                    "terms": "ski lift,funifor,funitel"
-                },
-                "aerialway/cable_car": {
-                    "name": "Cable Car",
-                    "terms": "tramway,ropeway"
-                },
-                "aerialway/chair_lift": {
-                    "name": "Chair Lift",
-                    "terms": ""
-                },
-                "aerialway/gondola": {
-                    "name": "Gondola",
-                    "terms": ""
-                },
-                "aerialway/magic_carpet": {
-                    "name": "Magic Carpet Lift",
-                    "terms": ""
-                },
-                "aerialway/platter": {
-                    "name": "Platter Lift",
-                    "terms": "button lift,poma lift"
-                },
-                "aerialway/pylon": {
-                    "name": "Aerialway Pylon",
-                    "terms": ""
-                },
-                "aerialway/rope_tow": {
-                    "name": "Rope Tow Lift",
-                    "terms": "handle tow,bugel lift"
-                },
-                "aerialway/station": {
-                    "name": "Aerialway Station",
-                    "terms": ""
-                },
-                "aerialway/t-bar": {
-                    "name": "T-bar Lift",
-                    "terms": ""
-                },
-                "aeroway": {
-                    "name": "Aeroway",
-                    "terms": ""
-                },
-                "aeroway/aerodrome": {
-                    "name": "Airport",
-                    "terms": "airplane,airport,aerodrome"
-                },
-                "aeroway/apron": {
-                    "name": "Apron",
-                    "terms": "ramp"
-                },
-                "aeroway/gate": {
-                    "name": "Airport gate",
-                    "terms": ""
-                },
-                "aeroway/hangar": {
-                    "name": "Hangar",
-                    "terms": ""
-                },
-                "aeroway/helipad": {
-                    "name": "Helipad",
-                    "terms": "helicopter,helipad,heliport"
-                },
-                "aeroway/runway": {
-                    "name": "Runway",
-                    "terms": "landing strip"
-                },
-                "aeroway/taxiway": {
-                    "name": "Taxiway",
-                    "terms": ""
-                },
-                "aeroway/terminal": {
-                    "name": "Airport terminal",
-                    "terms": "airport,aerodrome"
-                },
-                "amenity": {
-                    "name": "Amenity",
-                    "terms": ""
-                },
-                "amenity/arts_centre": {
-                    "name": "Arts Center",
-                    "terms": "arts,arts centre"
-                },
-                "amenity/atm": {
-                    "name": "ATM",
-                    "terms": ""
-                },
-                "amenity/bank": {
-                    "name": "Bank",
-                    "terms": "coffer,countinghouse,credit union,depository,exchequer,fund,hoard,investment firm,repository,reserve,reservoir,safe,savings,stock,stockpile,store,storehouse,thrift,treasury,trust company,vault"
-                },
-                "amenity/bar": {
-                    "name": "Bar",
-                    "terms": ""
-                },
-                "amenity/bbq": {
-                    "name": "Barbecue/Grill",
-                    "terms": "barbecue,bbq,grill"
-                },
-                "amenity/bench": {
-                    "name": "Bench",
-                    "terms": ""
-                },
-                "amenity/bicycle_parking": {
-                    "name": "Bicycle Parking",
-                    "terms": ""
-                },
-                "amenity/bicycle_rental": {
-                    "name": "Bicycle Rental",
-                    "terms": ""
-                },
-                "amenity/boat_rental": {
-                    "name": "Boat Rental",
-                    "terms": ""
-                },
-                "amenity/cafe": {
-                    "name": "Cafe",
-                    "terms": "coffee,tea,coffee shop"
-                },
-                "amenity/car_rental": {
-                    "name": "Car Rental",
-                    "terms": ""
-                },
-                "amenity/car_sharing": {
-                    "name": "Car Sharing",
-                    "terms": ""
-                },
-                "amenity/car_wash": {
-                    "name": "Car Wash",
-                    "terms": ""
-                },
-                "amenity/charging_station": {
-                    "name": "Charging Station",
-                    "terms": "EV,Electric Vehicle,Supercharger"
-                },
-                "amenity/childcare": {
-                    "name": "Childcare",
-                    "terms": "nursery,orphanage,playgroup"
-                },
-                "amenity/cinema": {
-                    "name": "Cinema",
-                    "terms": "big screen,bijou,cine,drive-in,film,flicks,motion pictures,movie house,movie theater,moving pictures,nabes,photoplay,picture show,pictures,playhouse,show,silver screen"
-                },
-                "amenity/clinic": {
-                    "name": "Clinic",
-                    "terms": "clinic,medical clinic"
-                },
-                "amenity/clock": {
-                    "name": "Clock",
-                    "terms": ""
-                },
-                "amenity/college": {
-                    "name": "College",
-                    "terms": ""
-                },
-                "amenity/compressed_air": {
-                    "name": "Compressed Air",
-                    "terms": ""
-                },
-                "amenity/courthouse": {
-                    "name": "Courthouse",
-                    "terms": ""
-                },
-                "amenity/dentist": {
-                    "name": "Dentist",
-                    "terms": "dentist,dentist's office"
-                },
-                "amenity/doctor": {
-                    "name": "Doctor",
-                    "terms": "doctor,doctor's office"
-                },
-                "amenity/dojo": {
-                    "name": "Dojo / Martial Arts Academy",
-                    "terms": "martial arts,dojo,dojang"
-                },
-                "amenity/drinking_water": {
-                    "name": "Drinking Water",
-                    "terms": "water fountain,potable water"
-                },
-                "amenity/embassy": {
-                    "name": "Embassy",
-                    "terms": ""
-                },
-                "amenity/fast_food": {
-                    "name": "Fast Food",
-                    "terms": ""
-                },
-                "amenity/fire_station": {
-                    "name": "Fire Station",
-                    "terms": ""
-                },
-                "amenity/fountain": {
-                    "name": "Fountain",
-                    "terms": ""
-                },
-                "amenity/fuel": {
-                    "name": "Gas Station",
-                    "terms": "petrol,fuel,propane,diesel,lng,cng,biodiesel"
-                },
-                "amenity/grave_yard": {
-                    "name": "Graveyard",
-                    "terms": ""
-                },
-                "amenity/hospital": {
-                    "name": "Hospital Grounds",
-                    "terms": "clinic,emergency room,health service,hospice,infirmary,institution,nursing home,rest home,sanatorium,sanitarium,sick bay,surgery,ward"
-                },
-                "amenity/kindergarten": {
-                    "name": "Kindergarten Grounds",
-                    "terms": "nursery,preschool"
-                },
-                "amenity/library": {
-                    "name": "Library",
-                    "terms": ""
-                },
-                "amenity/marketplace": {
-                    "name": "Marketplace",
-                    "terms": ""
-                },
-                "amenity/nightclub": {
-                    "name": "Nightclub",
-                    "terms": "disco*,night club,dancing,dance club"
-                },
-                "amenity/parking": {
-                    "name": "Car Parking",
-                    "terms": ""
-                },
-                "amenity/parking_entrance": {
-                    "name": "Parking Garage Entrance/Exit",
-                    "terms": ""
-                },
-                "amenity/pharmacy": {
-                    "name": "Pharmacy",
-                    "terms": ""
-                },
-                "amenity/place_of_worship": {
-                    "name": "Place of Worship",
-                    "terms": "abbey,basilica,bethel,cathedral,chancel,chantry,chapel,church,fold,house of God,house of prayer,house of worship,minster,mission,mosque,oratory,parish,sacellum,sanctuary,shrine,synagogue,tabernacle,temple"
-                },
-                "amenity/place_of_worship/buddhist": {
-                    "name": "Buddhist Temple",
-                    "terms": "stupa,vihara,monastery,temple,pagoda,zendo,dojo"
-                },
-                "amenity/place_of_worship/christian": {
-                    "name": "Church",
-                    "terms": "christian,abbey,basilica,bethel,cathedral,chancel,chantry,chapel,church,fold,house of God,house of prayer,house of worship,minster,mission,oratory,parish,sacellum,sanctuary,shrine,tabernacle,temple"
-                },
-                "amenity/place_of_worship/jewish": {
-                    "name": "Synagogue",
-                    "terms": "jewish,synagogue"
-                },
-                "amenity/place_of_worship/muslim": {
-                    "name": "Mosque",
-                    "terms": "muslim,mosque"
-                },
-                "amenity/police": {
-                    "name": "Police",
-                    "terms": "badge,bear,blue,bluecoat,bobby,boy scout,bull,constable,constabulary,cop,copper,corps,county mounty,detective,fed,flatfoot,force,fuzz,gendarme,gumshoe,heat,law,law enforcement,man,narc,officers,patrolman,police"
-                },
-                "amenity/post_box": {
-                    "name": "Mailbox",
-                    "terms": "letter drop,letterbox,mail drop,mailbox,pillar box,postbox"
-                },
-                "amenity/post_office": {
-                    "name": "Post Office",
-                    "terms": ""
-                },
-                "amenity/pub": {
-                    "name": "Pub",
-                    "terms": ""
-                },
-                "amenity/ranger_station": {
-                    "name": "Ranger Station",
-                    "terms": "visitor center,visitor centre,permit center,permit centre,backcountry office,warden office,warden center"
-                },
-                "amenity/recycling": {
-                    "name": "Recycling",
-                    "terms": ""
-                },
-                "amenity/restaurant": {
-                    "name": "Restaurant",
-                    "terms": "bar,cafeteria,café,canteen,chophouse,coffee shop,diner,dining room,dive*,doughtnut shop,drive-in,eatery,eating house,eating place,fast-food place,fish and chips,greasy spoon,grill,hamburger stand,hashery,hideaway,hotdog stand,inn,joint*,luncheonette,lunchroom,night club,outlet*,pizzeria,saloon,soda fountain,watering hole"
-                },
-                "amenity/school": {
-                    "name": "School Grounds",
-                    "terms": "academy,alma mater,blackboard,college,department,discipline,establishment,faculty,hall,halls of ivy,institute,institution,jail*,schoolhouse,seminary,university"
-                },
-                "amenity/shelter": {
-                    "name": "Shelter",
-                    "terms": "lean-to"
-                },
-                "amenity/social_facility": {
-                    "name": "Social Facility",
-                    "terms": ""
-                },
-                "amenity/social_facility/food_bank": {
-                    "name": "Food Bank",
-                    "terms": ""
-                },
-                "amenity/social_facility/group_home": {
-                    "name": "Group Home",
-                    "terms": "elderly,old,senior living"
-                },
-                "amenity/social_facility/homeless_shelter": {
-                    "name": "Homeless Shelter",
-                    "terms": "houseless,unhoused,displaced"
-                },
-                "amenity/studio": {
-                    "name": "Studio",
-                    "terms": "recording studio,studio,radio,radio studio,television,television studio"
-                },
-                "amenity/swimming_pool": {
-                    "name": "Swimming Pool",
-                    "terms": ""
-                },
-                "amenity/taxi": {
-                    "name": "Taxi Stand",
-                    "terms": "cab"
-                },
-                "amenity/telephone": {
-                    "name": "Telephone",
-                    "terms": "phone"
-                },
-                "amenity/theatre": {
-                    "name": "Theater",
-                    "terms": "theatre,performance,play,musical"
-                },
-                "amenity/toilets": {
-                    "name": "Toilets",
-                    "terms": "bathroom,restroom,outhouse,privy,head,lavatory,latrine,water closet,WC,W.C."
-                },
-                "amenity/townhall": {
-                    "name": "Town Hall",
-                    "terms": "village hall,city government,courthouse,municipal building,municipal center,municipal centre"
-                },
-                "amenity/university": {
-                    "name": "University",
-                    "terms": "college"
-                },
-                "amenity/vending_machine": {
-                    "name": "Vending Machine",
-                    "terms": ""
-                },
-                "amenity/veterinary": {
-                    "name": "Veterinary",
-                    "terms": "pet clinic,veterinarian,animal hospital,pet doctor"
-                },
-                "amenity/waste_basket": {
-                    "name": "Waste Basket",
-                    "terms": "rubbish bin,litter bin,trash can,garbage can"
-                },
-                "area": {
-                    "name": "Area",
-                    "terms": ""
-                },
-                "barrier": {
-                    "name": "Barrier",
-                    "terms": ""
-                },
-                "barrier/block": {
-                    "name": "Block",
-                    "terms": ""
-                },
-                "barrier/bollard": {
-                    "name": "Bollard",
-                    "terms": ""
-                },
-                "barrier/cattle_grid": {
-                    "name": "Cattle Grid",
-                    "terms": ""
-                },
-                "barrier/city_wall": {
-                    "name": "City Wall",
-                    "terms": ""
-                },
-                "barrier/cycle_barrier": {
-                    "name": "Cycle Barrier",
-                    "terms": ""
-                },
-                "barrier/ditch": {
-                    "name": "Ditch",
-                    "terms": ""
-                },
-                "barrier/entrance": {
-                    "name": "Entrance",
-                    "terms": ""
-                },
-                "barrier/fence": {
-                    "name": "Fence",
-                    "terms": ""
-                },
-                "barrier/gate": {
-                    "name": "Gate",
-                    "terms": ""
-                },
-                "barrier/hedge": {
-                    "name": "Hedge",
-                    "terms": ""
-                },
-                "barrier/kissing_gate": {
-                    "name": "Kissing Gate",
-                    "terms": ""
-                },
-                "barrier/lift_gate": {
-                    "name": "Lift Gate",
-                    "terms": ""
-                },
-                "barrier/retaining_wall": {
-                    "name": "Retaining Wall",
-                    "terms": ""
-                },
-                "barrier/stile": {
-                    "name": "Stile",
-                    "terms": ""
-                },
-                "barrier/toll_booth": {
-                    "name": "Toll Booth",
-                    "terms": ""
-                },
-                "barrier/wall": {
-                    "name": "Wall",
-                    "terms": ""
-                },
-                "boundary/administrative": {
-                    "name": "Administrative Boundary",
-                    "terms": ""
-                },
-                "building": {
-                    "name": "Building",
-                    "terms": ""
-                },
-                "building/apartments": {
-                    "name": "Apartments",
-                    "terms": ""
-                },
-                "building/barn": {
-                    "name": "Barn",
-                    "terms": ""
-                },
-                "building/bunker": {
-                    "name": "Bunker",
-                    "terms": ""
-                },
-                "building/cabin": {
-                    "name": "Cabin",
-                    "terms": ""
-                },
-                "building/cathedral": {
-                    "name": "Cathedral",
-                    "terms": ""
-                },
-                "building/chapel": {
-                    "name": "Chapel",
-                    "terms": ""
-                },
-                "building/church": {
-                    "name": "Church",
-                    "terms": ""
-                },
-                "building/commercial": {
-                    "name": "Commercial Building",
-                    "terms": ""
-                },
-                "building/construction": {
-                    "name": "Building Under Construction",
-                    "terms": ""
-                },
-                "building/detached": {
-                    "name": "Detached Home",
-                    "terms": ""
-                },
-                "building/dormitory": {
-                    "name": "Dormitory",
-                    "terms": ""
-                },
-                "building/entrance": {
-                    "name": "Entrance/Exit",
-                    "terms": ""
-                },
-                "building/garage": {
-                    "name": "Garage",
-                    "terms": ""
-                },
-                "building/garages": {
-                    "name": "Garages",
-                    "terms": ""
-                },
-                "building/greenhouse": {
-                    "name": "Greenhouse",
-                    "terms": ""
-                },
-                "building/hospital": {
-                    "name": "Hospital Building",
-                    "terms": ""
-                },
-                "building/hotel": {
-                    "name": "Hotel Building",
-                    "terms": ""
-                },
-                "building/house": {
-                    "name": "House",
-                    "terms": ""
-                },
-                "building/hut": {
-                    "name": "Hut",
-                    "terms": ""
-                },
-                "building/industrial": {
-                    "name": "Industrial Building",
-                    "terms": ""
-                },
-                "building/public": {
-                    "name": "Public Building",
-                    "terms": ""
-                },
-                "building/residential": {
-                    "name": "Residential Building",
-                    "terms": ""
-                },
-                "building/retail": {
-                    "name": "Retail Building",
-                    "terms": ""
-                },
-                "building/roof": {
-                    "name": "Roof",
-                    "terms": ""
-                },
-                "building/school": {
-                    "name": "School Building",
-                    "terms": ""
-                },
-                "building/shed": {
-                    "name": "Shed",
-                    "terms": ""
-                },
-                "building/stable": {
-                    "name": "Stable",
-                    "terms": ""
-                },
-                "building/static_caravan": {
-                    "name": "Static Mobile Home",
-                    "terms": ""
-                },
-                "building/terrace": {
-                    "name": "Row Houses",
-                    "terms": ""
-                },
-                "building/train_station": {
-                    "name": "Train Station",
-                    "terms": ""
-                },
-                "building/university": {
-                    "name": "University Building",
-                    "terms": ""
-                },
-                "building/warehouse": {
-                    "name": "Warehouse",
-                    "terms": ""
-                },
-                "craft/basket_maker": {
-                    "name": "Basket Maker",
-                    "terms": "basket,basketry,basket maker,basket weaver"
-                },
-                "craft/beekeeper": {
-                    "name": "Beekeeper",
-                    "terms": "bees,beekeeper,bee box"
-                },
-                "craft/blacksmith": {
-                    "name": "Blacksmith",
-                    "terms": "blacksmith"
-                },
-                "craft/boatbuilder": {
-                    "name": "Boat Builder",
-                    "terms": "boat builder"
-                },
-                "craft/bookbinder": {
-                    "name": "Bookbinder",
-                    "terms": "bookbinder,book repair"
-                },
-                "craft/brewery": {
-                    "name": "Brewery",
-                    "terms": "brewery"
-                },
-                "craft/carpenter": {
-                    "name": "Carpenter",
-                    "terms": "carpenter,woodworker"
-                },
-                "craft/carpet_layer": {
-                    "name": "Carpet Layer",
-                    "terms": "carpet layer"
-                },
-                "craft/caterer": {
-                    "name": "Caterer",
-                    "terms": "Caterer,Catering"
-                },
-                "craft/clockmaker": {
-                    "name": "Clockmaker",
-                    "terms": "clock,clockmaker,clock repair"
-                },
-                "craft/confectionary": {
-                    "name": "Confectionary",
-                    "terms": "confectionary,sweets,candy"
-                },
-                "craft/dressmaker": {
-                    "name": "Dressmaker",
-                    "terms": "dress,dressmaker"
-                },
-                "craft/electrician": {
-                    "name": "Electrician",
-                    "terms": "electrician"
-                },
-                "craft/gardener": {
-                    "name": "Gardener",
-                    "terms": "gardener,landscaper,grounds keeper"
-                },
-                "craft/glaziery": {
-                    "name": "Glaziery",
-                    "terms": "glass,glass foundry,stained-glass,window"
-                },
-                "craft/handicraft": {
-                    "name": "Handicraft",
-                    "terms": "handicraft"
-                },
-                "craft/hvac": {
-                    "name": "HVAC",
-                    "terms": "heating,ventilating,air-conditioning,air conditioning"
-                },
-                "craft/insulator": {
-                    "name": "Insulator",
-                    "terms": "insulation,insulator"
-                },
-                "craft/jeweler": {
-                    "name": "Jeweler",
-                    "terms": "jeweler,gem,diamond"
-                },
-                "craft/key_cutter": {
-                    "name": "Key Cutter",
-                    "terms": "key,key cutter"
-                },
-                "craft/locksmith": {
-                    "name": "Locksmith",
-                    "terms": "locksmith,lock"
-                },
-                "craft/metal_construction": {
-                    "name": "Metal Construction",
-                    "terms": "metal construction"
-                },
-                "craft/optician": {
-                    "name": "Optician",
-                    "terms": "glasses,optician"
-                },
-                "craft/painter": {
-                    "name": "Painter",
-                    "terms": "painter"
-                },
-                "craft/photographer": {
-                    "name": "Photographer",
-                    "terms": "photographer"
-                },
-                "craft/photographic_laboratory": {
-                    "name": "Photographic Laboratory",
-                    "terms": "photographic laboratory,film developer"
-                },
-                "craft/plasterer": {
-                    "name": "Plasterer",
-                    "terms": "plasterer"
-                },
-                "craft/plumber": {
-                    "name": "Plumber",
-                    "terms": "pumber"
-                },
-                "craft/pottery": {
-                    "name": "Pottery",
-                    "terms": "pottery,potter"
-                },
-                "craft/rigger": {
-                    "name": "Rigger",
-                    "terms": "rigger"
-                },
-                "craft/roofer": {
-                    "name": "Roofer",
-                    "terms": "roofer"
-                },
-                "craft/saddler": {
-                    "name": "Saddler",
-                    "terms": "saddler"
-                },
-                "craft/sailmaker": {
-                    "name": "Sailmaker",
-                    "terms": "sailmaker"
-                },
-                "craft/sawmill": {
-                    "name": "Sawmill",
-                    "terms": "sawmill,lumber"
-                },
-                "craft/scaffolder": {
-                    "name": "Scaffolder",
-                    "terms": "scaffolder"
-                },
-                "craft/sculpter": {
-                    "name": "Sculpter",
-                    "terms": "sculpter"
-                },
-                "craft/shoemaker": {
-                    "name": "Shoemaker",
-                    "terms": "shoe repair,shoemaker"
-                },
-                "craft/stonemason": {
-                    "name": "Stonemason",
-                    "terms": "stonemason,masonry"
-                },
-                "craft/sweep": {
-                    "name": "Chimney Sweep",
-                    "terms": "sweep,chimney sweep"
-                },
-                "craft/tailor": {
-                    "name": "Tailor",
-                    "terms": "tailor,clothes"
-                },
-                "craft/tiler": {
-                    "name": "Tiler",
-                    "terms": "tiler"
-                },
-                "craft/tinsmith": {
-                    "name": "Tinsmith",
-                    "terms": "tinsmith"
-                },
-                "craft/upholsterer": {
-                    "name": "Upholsterer",
-                    "terms": "upholsterer"
-                },
-                "craft/watchmaker": {
-                    "name": "Watchmaker",
-                    "terms": "watch,watchmaker,watch repair"
-                },
-                "craft/window_construction": {
-                    "name": "Window Construction",
-                    "terms": "window,window maker,window construction"
-                },
-                "embankment": {
-                    "name": "Embankment",
-                    "terms": ""
-                },
-                "emergency/ambulance_station": {
-                    "name": "Ambulance Station",
-                    "terms": ""
-                },
-                "emergency/fire_hydrant": {
-                    "name": "Fire Hydrant",
-                    "terms": ""
-                },
-                "emergency/phone": {
-                    "name": "Emergency Phone",
-                    "terms": ""
-                },
-                "entrance": {
-                    "name": "Entrance/Exit",
-                    "terms": ""
-                },
-                "footway/crossing": {
-                    "name": "Crossing",
-                    "terms": ""
-                },
-                "footway/crosswalk": {
-                    "name": "Crosswalk",
-                    "terms": "crosswalk,zebra crossing"
-                },
-                "footway/sidewalk": {
-                    "name": "Sidewalk",
-                    "terms": ""
-                },
-                "ford": {
-                    "name": "Ford",
-                    "terms": ""
-                },
-                "golf/bunker": {
-                    "name": "Sand Trap",
-                    "terms": "hazard,bunker"
-                },
-                "golf/fairway": {
-                    "name": "Fairway",
-                    "terms": ""
-                },
-                "golf/green": {
-                    "name": "Putting Green",
-                    "terms": "putting green"
-                },
-                "golf/hole": {
-                    "name": "Golf Hole",
-                    "terms": ""
-                },
-                "golf/lateral_water_hazard": {
-                    "name": "Lateral Water Hazard",
-                    "terms": ""
-                },
-                "golf/rough": {
-                    "name": "Rough",
-                    "terms": ""
-                },
-                "golf/tee": {
-                    "name": "Tee Box",
-                    "terms": "teeing ground"
-                },
-                "golf/water_hazard": {
-                    "name": "Water Hazard",
-                    "terms": ""
-                },
-                "highway": {
-                    "name": "Highway",
-                    "terms": ""
-                },
-                "highway/bridleway": {
-                    "name": "Bridle Path",
-                    "terms": "bridleway,equestrian trail,horse riding path,bridle road,horse trail"
-                },
-                "highway/bus_stop": {
-                    "name": "Bus Stop",
-                    "terms": ""
-                },
-                "highway/crossing": {
-                    "name": "Crossing",
-                    "terms": ""
-                },
-                "highway/crosswalk": {
-                    "name": "Crosswalk",
-                    "terms": "crosswalk,zebra crossing"
-                },
-                "highway/cycleway": {
-                    "name": "Cycle Path",
-                    "terms": ""
-                },
-                "highway/footway": {
-                    "name": "Foot Path",
-                    "terms": "beaten path,boulevard,clearing,course,cut*,drag*,footpath,highway,lane,line,orbit,passage,pathway,rail,rails,road,roadway,route,street,thoroughfare,trackway,trail,trajectory,walk"
-                },
-                "highway/living_street": {
-                    "name": "Living Street",
-                    "terms": ""
-                },
-                "highway/mini_roundabout": {
-                    "name": "Mini-Roundabout",
-                    "terms": ""
-                },
-                "highway/motorway": {
-                    "name": "Motorway",
-                    "terms": ""
-                },
-                "highway/motorway_junction": {
-                    "name": "Motorway Junction / Exit",
-                    "terms": ""
-                },
-                "highway/motorway_link": {
-                    "name": "Motorway Link",
-                    "terms": "ramp,on ramp,off ramp"
-                },
-                "highway/path": {
-                    "name": "Path",
-                    "terms": ""
-                },
-                "highway/pedestrian": {
-                    "name": "Pedestrian",
-                    "terms": ""
-                },
-                "highway/primary": {
-                    "name": "Primary Road",
-                    "terms": ""
-                },
-                "highway/primary_link": {
-                    "name": "Primary Link",
-                    "terms": "ramp,on ramp,off ramp"
-                },
-                "highway/residential": {
-                    "name": "Residential Road",
-                    "terms": ""
-                },
-                "highway/rest_area": {
-                    "name": "Rest Area",
-                    "terms": "rest stop,turnout,lay-by"
-                },
-                "highway/road": {
-                    "name": "Unknown Road",
-                    "terms": ""
-                },
-                "highway/secondary": {
-                    "name": "Secondary Road",
-                    "terms": ""
-                },
-                "highway/secondary_link": {
-                    "name": "Secondary Link",
-                    "terms": "ramp,on ramp,off ramp"
-                },
-                "highway/service": {
-                    "name": "Service Road",
-                    "terms": ""
-                },
-                "highway/service/alley": {
-                    "name": "Alley",
-                    "terms": ""
-                },
-                "highway/service/drive-through": {
-                    "name": "Drive-Through",
-                    "terms": ""
-                },
-                "highway/service/driveway": {
-                    "name": "Driveway",
-                    "terms": ""
-                },
-                "highway/service/emergency_access": {
-                    "name": "Emergency Access",
-                    "terms": ""
-                },
-                "highway/service/parking_aisle": {
-                    "name": "Parking Aisle",
-                    "terms": ""
-                },
-                "highway/services": {
-                    "name": "Service Area",
-                    "terms": "services,travel plaza,service station"
-                },
-                "highway/steps": {
-                    "name": "Steps",
-                    "terms": "stairs,staircase"
-                },
-                "highway/stop": {
-                    "name": "Stop Sign",
-                    "terms": "stop sign"
-                },
-                "highway/street_lamp": {
-                    "name": "Street Lamp",
-                    "terms": "streetlight,street light,lamp,light,gaslight"
-                },
-                "highway/tertiary": {
-                    "name": "Tertiary Road",
-                    "terms": ""
-                },
-                "highway/tertiary_link": {
-                    "name": "Tertiary Link",
-                    "terms": "ramp,on ramp,off ramp"
-                },
-                "highway/track": {
-                    "name": "Track",
-                    "terms": ""
-                },
-                "highway/traffic_signals": {
-                    "name": "Traffic Signals",
-                    "terms": "light,stoplight,traffic light"
-                },
-                "highway/trunk": {
-                    "name": "Trunk Road",
-                    "terms": ""
-                },
-                "highway/trunk_link": {
-                    "name": "Trunk Link",
-                    "terms": "ramp,on ramp,off ramp"
-                },
-                "highway/turning_circle": {
-                    "name": "Turning Circle",
-                    "terms": ""
-                },
-                "highway/unclassified": {
-                    "name": "Unclassified Road",
-                    "terms": ""
-                },
-                "historic": {
-                    "name": "Historic Site",
-                    "terms": ""
-                },
-                "historic/archaeological_site": {
-                    "name": "Archaeological Site",
-                    "terms": ""
-                },
-                "historic/boundary_stone": {
-                    "name": "Boundary Stone",
-                    "terms": ""
-                },
-                "historic/castle": {
-                    "name": "Castle",
-                    "terms": ""
-                },
-                "historic/memorial": {
-                    "name": "Memorial",
-                    "terms": ""
-                },
-                "historic/monument": {
-                    "name": "Monument",
-                    "terms": ""
-                },
-                "historic/ruins": {
-                    "name": "Ruins",
-                    "terms": ""
-                },
-                "historic/wayside_cross": {
-                    "name": "Wayside Cross",
-                    "terms": ""
-                },
-                "historic/wayside_shrine": {
-                    "name": "Wayside Shrine",
-                    "terms": ""
-                },
-                "landuse": {
-                    "name": "Landuse",
-                    "terms": ""
-                },
-                "landuse/allotments": {
-                    "name": "Allotments",
-                    "terms": ""
-                },
-                "landuse/basin": {
-                    "name": "Basin",
-                    "terms": ""
-                },
-                "landuse/cemetery": {
-                    "name": "Cemetery",
-                    "terms": ""
-                },
-                "landuse/churchyard": {
-                    "name": "Churchyard",
-                    "terms": ""
-                },
-                "landuse/commercial": {
-                    "name": "Commercial",
-                    "terms": ""
-                },
-                "landuse/construction": {
-                    "name": "Construction",
-                    "terms": ""
-                },
-                "landuse/farm": {
-                    "name": "Farm",
-                    "terms": ""
-                },
-                "landuse/farmland": {
-                    "name": "Farmland",
-                    "terms": ""
-                },
-                "landuse/farmyard": {
-                    "name": "Farmyard",
-                    "terms": ""
-                },
-                "landuse/forest": {
-                    "name": "Forest",
-                    "terms": ""
-                },
-                "landuse/grass": {
-                    "name": "Grass",
-                    "terms": ""
-                },
-                "landuse/industrial": {
-                    "name": "Industrial",
-                    "terms": ""
-                },
-                "landuse/landfill": {
-                    "name": "Landfill",
-                    "terms": "dump"
-                },
-                "landuse/meadow": {
-                    "name": "Meadow",
-                    "terms": ""
-                },
-                "landuse/military": {
-                    "name": "Military",
-                    "terms": ""
-                },
-                "landuse/orchard": {
-                    "name": "Orchard",
-                    "terms": ""
-                },
-                "landuse/quarry": {
-                    "name": "Quarry",
-                    "terms": ""
-                },
-                "landuse/residential": {
-                    "name": "Residential",
-                    "terms": ""
-                },
-                "landuse/retail": {
-                    "name": "Retail",
-                    "terms": ""
-                },
-                "landuse/vineyard": {
-                    "name": "Vineyard",
-                    "terms": ""
-                },
-                "leisure": {
-                    "name": "Leisure",
-                    "terms": ""
-                },
-                "leisure/common": {
-                    "name": "Common",
-                    "terms": "open space"
-                },
-                "leisure/dog_park": {
-                    "name": "Dog Park",
-                    "terms": ""
-                },
-                "leisure/firepit": {
-                    "name": "Firepit",
-                    "terms": "fireplace,campfire"
-                },
-                "leisure/garden": {
-                    "name": "Garden",
-                    "terms": ""
-                },
-                "leisure/golf_course": {
-                    "name": "Golf Course",
-                    "terms": "links"
-                },
-                "leisure/ice_rink": {
-                    "name": "Ice Rink",
-                    "terms": "hockey,skating,curling"
-                },
-                "leisure/marina": {
-                    "name": "Marina",
-                    "terms": ""
-                },
-                "leisure/park": {
-                    "name": "Park",
-                    "terms": "esplanade,estate,forest,garden,grass,green,grounds,lawn,lot,meadow,parkland,place,playground,plaza,pleasure garden,recreation area,square,tract,village green,woodland"
-                },
-                "leisure/picnic_table": {
-                    "name": "Picnic Table",
-                    "terms": "bench,table"
-                },
-                "leisure/pitch": {
-                    "name": "Sport Pitch",
-                    "terms": ""
-                },
-                "leisure/pitch/american_football": {
-                    "name": "American Football Field",
-                    "terms": ""
-                },
-                "leisure/pitch/baseball": {
-                    "name": "Baseball Diamond",
-                    "terms": ""
-                },
-                "leisure/pitch/basketball": {
-                    "name": "Basketball Court",
-                    "terms": ""
-                },
-                "leisure/pitch/skateboard": {
-                    "name": "Skate Park",
-                    "terms": ""
-                },
-                "leisure/pitch/soccer": {
-                    "name": "Soccer Field",
-                    "terms": ""
-                },
-                "leisure/pitch/tennis": {
-                    "name": "Tennis Court",
-                    "terms": ""
-                },
-                "leisure/pitch/volleyball": {
-                    "name": "Volleyball Court",
-                    "terms": ""
-                },
-                "leisure/playground": {
-                    "name": "Playground",
-                    "terms": "jungle gym,play area"
-                },
-                "leisure/slipway": {
-                    "name": "Slipway",
-                    "terms": ""
-                },
-                "leisure/sports_center": {
-                    "name": "Sports Center / Gym",
-                    "terms": "gym"
-                },
-                "leisure/stadium": {
-                    "name": "Stadium",
-                    "terms": ""
-                },
-                "leisure/swimming_pool": {
-                    "name": "Swimming Pool",
-                    "terms": ""
-                },
-                "leisure/track": {
-                    "name": "Race Track",
-                    "terms": ""
-                },
-                "line": {
-                    "name": "Line",
-                    "terms": ""
-                },
-                "man_made": {
-                    "name": "Man Made",
-                    "terms": ""
-                },
-                "man_made/breakwater": {
-                    "name": "Breakwater",
-                    "terms": ""
-                },
-                "man_made/cutline": {
-                    "name": "Cut line",
-                    "terms": ""
-                },
-                "man_made/embankment": {
-                    "name": "Embankment",
-                    "terms": ""
-                },
-                "man_made/flagpole": {
-                    "name": "Flagpole",
-                    "terms": ""
-                },
-                "man_made/lighthouse": {
-                    "name": "Lighthouse",
-                    "terms": ""
-                },
-                "man_made/observation": {
-                    "name": "Observation Tower",
-                    "terms": "lookout tower,fire tower"
-                },
-                "man_made/pier": {
-                    "name": "Pier",
-                    "terms": ""
-                },
-                "man_made/pipeline": {
-                    "name": "Pipeline",
-                    "terms": ""
-                },
-                "man_made/survey_point": {
-                    "name": "Survey Point",
-                    "terms": ""
-                },
-                "man_made/tower": {
-                    "name": "Tower",
-                    "terms": ""
-                },
-                "man_made/wastewater_plant": {
-                    "name": "Wastewater Plant",
-                    "terms": "sewage works,sewage treatment plant,water treatment plant,reclamation plant"
-                },
-                "man_made/water_tower": {
-                    "name": "Water Tower",
-                    "terms": ""
-                },
-                "man_made/water_well": {
-                    "name": "Water well",
-                    "terms": ""
-                },
-                "man_made/water_works": {
-                    "name": "Water Works",
-                    "terms": ""
-                },
-                "military/airfield": {
-                    "name": "Airfield",
-                    "terms": ""
-                },
-                "military/barracks": {
-                    "name": "Barracks",
-                    "terms": ""
-                },
-                "military/bunker": {
-                    "name": "Bunker",
-                    "terms": ""
-                },
-                "military/range": {
-                    "name": "Military Range",
-                    "terms": ""
-                },
-                "natural": {
-                    "name": "Natural",
-                    "terms": ""
-                },
-                "natural/bay": {
-                    "name": "Bay",
-                    "terms": ""
-                },
-                "natural/beach": {
-                    "name": "Beach",
-                    "terms": ""
-                },
-                "natural/cliff": {
-                    "name": "Cliff",
-                    "terms": ""
-                },
-                "natural/coastline": {
-                    "name": "Coastline",
-                    "terms": "shore"
-                },
-                "natural/fell": {
-                    "name": "Fell",
-                    "terms": ""
-                },
-                "natural/glacier": {
-                    "name": "Glacier",
-                    "terms": ""
-                },
-                "natural/grassland": {
-                    "name": "Grassland",
-                    "terms": ""
-                },
-                "natural/heath": {
-                    "name": "Heath",
-                    "terms": ""
-                },
-                "natural/peak": {
-                    "name": "Peak",
-                    "terms": "acme,aiguille,alp,climax,crest,crown,hill,mount,mountain,pinnacle,summit,tip,top"
-                },
-                "natural/scree": {
-                    "name": "Scree",
-                    "terms": "loose rocks"
-                },
-                "natural/scrub": {
-                    "name": "Scrub",
-                    "terms": ""
-                },
-                "natural/spring": {
-                    "name": "Spring",
-                    "terms": ""
-                },
-                "natural/tree": {
-                    "name": "Tree",
-                    "terms": ""
-                },
-                "natural/water": {
-                    "name": "Water",
-                    "terms": ""
-                },
-                "natural/water/lake": {
-                    "name": "Lake",
-                    "terms": "lakelet,loch,mere"
-                },
-                "natural/water/pond": {
-                    "name": "Pond",
-                    "terms": "lakelet,millpond,tarn,pool,mere"
-                },
-                "natural/water/reservoir": {
-                    "name": "Reservoir",
-                    "terms": ""
-                },
-                "natural/wetland": {
-                    "name": "Wetland",
-                    "terms": ""
-                },
-                "natural/wood": {
-                    "name": "Wood",
-                    "terms": ""
-                },
-                "office": {
-                    "name": "Office",
-                    "terms": ""
-                },
-                "office/accountant": {
-                    "name": "Accountant",
-                    "terms": ""
-                },
-                "office/administrative": {
-                    "name": "Administrative Office",
-                    "terms": ""
-                },
-                "office/architect": {
-                    "name": "Architect",
-                    "terms": ""
-                },
-                "office/company": {
-                    "name": "Company Office",
-                    "terms": ""
-                },
-                "office/educational_institution": {
-                    "name": "Educational Institution",
-                    "terms": ""
-                },
-                "office/employment_agency": {
-                    "name": "Employment Agency",
-                    "terms": ""
-                },
-                "office/estate_agent": {
-                    "name": "Real Estate Office",
-                    "terms": ""
-                },
-                "office/financial": {
-                    "name": "Financial Office",
-                    "terms": ""
-                },
-                "office/government": {
-                    "name": "Government Office",
-                    "terms": ""
-                },
-                "office/insurance": {
-                    "name": "Insurance Office",
-                    "terms": ""
-                },
-                "office/it": {
-                    "name": "IT Office",
-                    "terms": ""
-                },
-                "office/lawyer": {
-                    "name": "Law Office",
-                    "terms": ""
-                },
-                "office/newspaper": {
-                    "name": "Newspaper",
-                    "terms": ""
-                },
-                "office/ngo": {
-                    "name": "NGO Office",
-                    "terms": ""
-                },
-                "office/physician": {
-                    "name": "Physician",
-                    "terms": ""
-                },
-                "office/political_party": {
-                    "name": "Political Party",
-                    "terms": ""
-                },
-                "office/research": {
-                    "name": "Research Office",
-                    "terms": ""
-                },
-                "office/telecommunication": {
-                    "name": "Telecom Office",
-                    "terms": ""
-                },
-                "office/therapist": {
-                    "name": "Therapist",
-                    "terms": ""
-                },
-                "office/travel_agent": {
-                    "name": "Travel Agency",
-                    "terms": ""
-                },
-                "piste": {
-                    "name": "Piste/Ski Trail",
-                    "terms": "ski,sled,sleigh,snowboard,nordic,downhill,snowmobile"
-                },
-                "place": {
-                    "name": "Place",
-                    "terms": ""
-                },
-                "place/city": {
-                    "name": "City",
-                    "terms": ""
-                },
-                "place/hamlet": {
-                    "name": "Hamlet",
-                    "terms": ""
-                },
-                "place/island": {
-                    "name": "Island",
-                    "terms": "archipelago,atoll,bar,cay,isle,islet,key,reef"
-                },
-                "place/isolated_dwelling": {
-                    "name": "Isolated Dwelling",
-                    "terms": ""
-                },
-                "place/locality": {
-                    "name": "Locality",
-                    "terms": ""
-                },
-                "place/neighbourhood": {
-                    "name": "Neighborhood",
-                    "terms": "neighbourhood"
-                },
-                "place/suburb": {
-                    "name": "Borough",
-                    "terms": "Boro,Quarter"
-                },
-                "place/town": {
-                    "name": "Town",
-                    "terms": ""
-                },
-                "place/village": {
-                    "name": "Village",
-                    "terms": ""
-                },
-                "point": {
-                    "name": "Point",
-                    "terms": ""
-                },
-                "power": {
-                    "name": "Power",
-                    "terms": ""
-                },
-                "power/generator": {
-                    "name": "Power Generator",
-                    "terms": ""
-                },
-                "power/line": {
-                    "name": "Power Line",
-                    "terms": ""
-                },
-                "power/minor_line": {
-                    "name": "Minor Power Line",
-                    "terms": ""
-                },
-                "power/pole": {
-                    "name": "Power Pole",
-                    "terms": ""
-                },
-                "power/sub_station": {
-                    "name": "Substation",
-                    "terms": ""
-                },
-                "power/tower": {
-                    "name": "High-Voltage Tower",
-                    "terms": ""
-                },
-                "power/transformer": {
-                    "name": "Transformer",
-                    "terms": ""
-                },
-                "public_transport/platform": {
-                    "name": "Platform",
-                    "terms": ""
-                },
-                "public_transport/stop_position": {
-                    "name": "Stop Position",
-                    "terms": ""
-                },
-                "railway": {
-                    "name": "Railway",
-                    "terms": ""
-                },
-                "railway/abandoned": {
-                    "name": "Abandoned Railway",
-                    "terms": ""
-                },
-                "railway/disused": {
-                    "name": "Disused Railway",
-                    "terms": ""
-                },
-                "railway/funicular": {
-                    "name": "Funicular",
-                    "terms": "venicular,cliff railway,cable car,cable railway,funicular railway"
-                },
-                "railway/halt": {
-                    "name": "Railway Halt",
-                    "terms": "break,interrupt,rest,wait,interruption"
-                },
-                "railway/level_crossing": {
-                    "name": "Level Crossing",
-                    "terms": "crossing,railroad crossing,railway crossing,grade crossing,road through railroad,train crossing"
-                },
-                "railway/monorail": {
-                    "name": "Monorail",
-                    "terms": ""
-                },
-                "railway/narrow_gauge": {
-                    "name": "Narrow Gauge Rail",
-                    "terms": "narrow gauge railway,narrow gauge railroad"
-                },
-                "railway/platform": {
-                    "name": "Railway Platform",
-                    "terms": ""
-                },
-                "railway/rail": {
-                    "name": "Rail",
-                    "terms": ""
-                },
-                "railway/station": {
-                    "name": "Railway Station",
-                    "terms": "train station,station"
-                },
-                "railway/subway": {
-                    "name": "Subway",
-                    "terms": ""
-                },
-                "railway/subway_entrance": {
-                    "name": "Subway Entrance",
-                    "terms": ""
-                },
-                "railway/tram": {
-                    "name": "Tram",
-                    "terms": "streetcar"
-                },
-                "relation": {
-                    "name": "Relation",
-                    "terms": ""
-                },
-                "route/ferry": {
-                    "name": "Ferry Route",
-                    "terms": ""
-                },
-                "shop": {
-                    "name": "Shop",
-                    "terms": ""
-                },
-                "shop/alcohol": {
-                    "name": "Liquor Store",
-                    "terms": "alcohol"
-                },
-                "shop/art": {
-                    "name": "Art Shop",
-                    "terms": "art store,art gallery"
-                },
-                "shop/bakery": {
-                    "name": "Bakery",
-                    "terms": ""
-                },
-                "shop/beauty": {
-                    "name": "Beauty Shop",
-                    "terms": "nail spa,spa,salon,tanning"
-                },
-                "shop/beverages": {
-                    "name": "Beverage Store",
-                    "terms": ""
-                },
-                "shop/bicycle": {
-                    "name": "Bicycle Shop",
-                    "terms": ""
-                },
-                "shop/bookmaker": {
-                    "name": "Bookmaker",
-                    "terms": ""
-                },
-                "shop/books": {
-                    "name": "Bookstore",
-                    "terms": ""
-                },
-                "shop/boutique": {
-                    "name": "Boutique",
-                    "terms": ""
-                },
-                "shop/butcher": {
-                    "name": "Butcher",
-                    "terms": ""
-                },
-                "shop/car": {
-                    "name": "Car Dealership",
-                    "terms": ""
-                },
-                "shop/car_parts": {
-                    "name": "Car Parts Store",
-                    "terms": ""
-                },
-                "shop/car_repair": {
-                    "name": "Car Repair Shop",
-                    "terms": ""
-                },
-                "shop/chemist": {
-                    "name": "Chemist",
-                    "terms": ""
-                },
-                "shop/clothes": {
-                    "name": "Clothing Store",
-                    "terms": ""
-                },
-                "shop/computer": {
-                    "name": "Computer Store",
-                    "terms": ""
-                },
-                "shop/confectionery": {
-                    "name": "Confectionery",
-                    "terms": ""
-                },
-                "shop/convenience": {
-                    "name": "Convenience Store",
-                    "terms": ""
-                },
-                "shop/deli": {
-                    "name": "Deli",
-                    "terms": ""
-                },
-                "shop/department_store": {
-                    "name": "Department Store",
-                    "terms": ""
-                },
-                "shop/doityourself": {
-                    "name": "DIY Store",
-                    "terms": ""
-                },
-                "shop/dry_cleaning": {
-                    "name": "Dry Cleaners",
-                    "terms": ""
-                },
-                "shop/electronics": {
-                    "name": "Electronics Store",
-                    "terms": ""
-                },
-                "shop/farm": {
-                    "name": "Produce Stand",
-                    "terms": "farm shop,farm stand"
-                },
-                "shop/fishmonger": {
-                    "name": "Fishmonger",
-                    "terms": ""
-                },
-                "shop/florist": {
-                    "name": "Florist",
-                    "terms": ""
-                },
-                "shop/funeral_directors": {
-                    "name": "Funeral Home",
-                    "terms": "undertaker,funeral parlour,funeral parlor,memorial home"
-                },
-                "shop/furniture": {
-                    "name": "Furniture Store",
-                    "terms": ""
-                },
-                "shop/garden_centre": {
-                    "name": "Garden Center",
-                    "terms": "garden centre"
-                },
-                "shop/gift": {
-                    "name": "Gift Shop",
-                    "terms": ""
-                },
-                "shop/greengrocer": {
-                    "name": "Greengrocer",
-                    "terms": ""
-                },
-                "shop/hairdresser": {
-                    "name": "Hairdresser",
-                    "terms": ""
-                },
-                "shop/hardware": {
-                    "name": "Hardware Store",
-                    "terms": ""
-                },
-                "shop/hifi": {
-                    "name": "Hifi Store",
-                    "terms": ""
-                },
-                "shop/jewelry": {
-                    "name": "Jeweler",
-                    "terms": ""
-                },
-                "shop/kiosk": {
-                    "name": "Kiosk",
-                    "terms": ""
-                },
-                "shop/laundry": {
-                    "name": "Laundry",
-                    "terms": ""
-                },
-                "shop/locksmith": {
-                    "name": "Locksmith",
-                    "terms": "keys"
-                },
-                "shop/lottery": {
-                    "name": "Lottery Shop",
-                    "terms": ""
-                },
-                "shop/mall": {
-                    "name": "Mall",
-                    "terms": ""
-                },
-                "shop/mobile_phone": {
-                    "name": "Mobile Phone Store",
-                    "terms": ""
-                },
-                "shop/motorcycle": {
-                    "name": "Motorcycle Dealership",
-                    "terms": ""
-                },
-                "shop/music": {
-                    "name": "Music Store",
-                    "terms": ""
-                },
-                "shop/newsagent": {
-                    "name": "Newsagent",
-                    "terms": ""
-                },
-                "shop/optician": {
-                    "name": "Optician",
-                    "terms": ""
-                },
-                "shop/outdoor": {
-                    "name": "Outdoor Store",
-                    "terms": ""
-                },
-                "shop/pet": {
-                    "name": "Pet Store",
-                    "terms": ""
-                },
-                "shop/photo": {
-                    "name": "Photography Store",
-                    "terms": ""
-                },
-                "shop/seafood": {
-                    "name": "Seafood Shop",
-                    "terms": "fishmonger"
-                },
-                "shop/shoes": {
-                    "name": "Shoe Store",
-                    "terms": ""
-                },
-                "shop/sports": {
-                    "name": "Sporting Goods Store",
-                    "terms": ""
-                },
-                "shop/stationery": {
-                    "name": "Stationery Store",
-                    "terms": ""
-                },
-                "shop/supermarket": {
-                    "name": "Supermarket",
-                    "terms": "bazaar,boutique,chain,co-op,cut-rate store,discount store,five-and-dime,flea market,galleria,grocery store,mall,mart,outlet,outlet store,shop,shopping center,shopping centre,shopping plaza,stand,store,supermarket,thrift shop"
-                },
-                "shop/tailor": {
-                    "name": "Tailor",
-                    "terms": "tailor,clothes"
-                },
-                "shop/toys": {
-                    "name": "Toy Store",
-                    "terms": ""
-                },
-                "shop/travel_agency": {
-                    "name": "Travel Agency",
-                    "terms": ""
-                },
-                "shop/tyres": {
-                    "name": "Tire Store",
-                    "terms": ""
-                },
-                "shop/vacant": {
-                    "name": "Vacant Shop",
-                    "terms": ""
-                },
-                "shop/variety_store": {
-                    "name": "Variety Store",
-                    "terms": ""
-                },
-                "shop/video": {
-                    "name": "Video Store",
-                    "terms": ""
-                },
-                "shop/wine": {
-                    "name": "Wine Shop",
-                    "terms": "winery"
-                },
-                "tourism": {
-                    "name": "Tourism",
-                    "terms": ""
-                },
-                "tourism/alpine_hut": {
-                    "name": "Alpine Hut",
-                    "terms": ""
-                },
-                "tourism/artwork": {
-                    "name": "Artwork",
-                    "terms": "mural,sculpture,statue"
-                },
-                "tourism/attraction": {
-                    "name": "Tourist Attraction",
-                    "terms": ""
-                },
-                "tourism/camp_site": {
-                    "name": "Camp Site",
-                    "terms": "camping"
-                },
-                "tourism/caravan_site": {
-                    "name": "RV Park",
-                    "terms": ""
-                },
-                "tourism/chalet": {
-                    "name": "Chalet",
-                    "terms": ""
-                },
-                "tourism/guest_house": {
-                    "name": "Guest House",
-                    "terms": "B&B,Bed & Breakfast,Bed and Breakfast"
-                },
-                "tourism/hostel": {
-                    "name": "Hostel",
-                    "terms": ""
-                },
-                "tourism/hotel": {
-                    "name": "Hotel",
-                    "terms": ""
-                },
-                "tourism/information": {
-                    "name": "Information",
-                    "terms": ""
-                },
-                "tourism/motel": {
-                    "name": "Motel",
-                    "terms": ""
-                },
-                "tourism/museum": {
-                    "name": "Museum",
-                    "terms": "exhibition,exhibits archive,foundation,gallery,hall,institution,library,menagerie,repository,salon,storehouse,treasury,vault"
-                },
-                "tourism/picnic_site": {
-                    "name": "Picnic Site",
-                    "terms": ""
-                },
-                "tourism/theme_park": {
-                    "name": "Theme Park",
-                    "terms": ""
-                },
-                "tourism/viewpoint": {
-                    "name": "Viewpoint",
-                    "terms": ""
-                },
-                "tourism/zoo": {
-                    "name": "Zoo",
-                    "terms": ""
-                },
-                "type/boundary": {
-                    "name": "Boundary",
-                    "terms": ""
-                },
-                "type/boundary/administrative": {
-                    "name": "Administrative Boundary",
-                    "terms": ""
-                },
-                "type/multipolygon": {
-                    "name": "Multipolygon",
-                    "terms": ""
-                },
-                "type/restriction": {
-                    "name": "Restriction",
-                    "terms": ""
-                },
-                "type/restriction/no_left_turn": {
-                    "name": "No Left Turn",
-                    "terms": ""
-                },
-                "type/restriction/no_right_turn": {
-                    "name": "No Right Turn",
-                    "terms": ""
-                },
-                "type/restriction/no_straight_on": {
-                    "name": "No Straight On",
-                    "terms": ""
-                },
-                "type/restriction/no_u_turn": {
-                    "name": "No U-turn",
-                    "terms": ""
-                },
-                "type/restriction/only_left_turn": {
-                    "name": "Left Turn Only",
-                    "terms": ""
-                },
-                "type/restriction/only_right_turn": {
-                    "name": "Right Turn Only",
-                    "terms": ""
-                },
-                "type/restriction/only_straight_on": {
-                    "name": "No Turns",
-                    "terms": ""
-                },
-                "type/route": {
-                    "name": "Route",
-                    "terms": ""
-                },
-                "type/route/bicycle": {
-                    "name": "Cycle Route",
-                    "terms": ""
-                },
-                "type/route/bus": {
-                    "name": "Bus Route",
-                    "terms": ""
-                },
-                "type/route/detour": {
-                    "name": "Detour Route",
-                    "terms": ""
-                },
-                "type/route/ferry": {
-                    "name": "Ferry Route",
-                    "terms": ""
-                },
-                "type/route/foot": {
-                    "name": "Foot Route",
-                    "terms": ""
-                },
-                "type/route/hiking": {
-                    "name": "Hiking Route",
-                    "terms": ""
-                },
-                "type/route/pipeline": {
-                    "name": "Pipeline Route",
-                    "terms": ""
-                },
-                "type/route/power": {
-                    "name": "Power Route",
-                    "terms": ""
-                },
-                "type/route/road": {
-                    "name": "Road Route",
-                    "terms": ""
-                },
-                "type/route/train": {
-                    "name": "Train Route",
-                    "terms": ""
-                },
-                "type/route/tram": {
-                    "name": "Tram Route",
-                    "terms": ""
-                },
-                "type/route_master": {
-                    "name": "Route Master",
-                    "terms": ""
-                },
-                "vertex": {
-                    "name": "Other",
-                    "terms": ""
-                },
-                "waterway": {
-                    "name": "Waterway",
-                    "terms": ""
-                },
-                "waterway/canal": {
-                    "name": "Canal",
-                    "terms": ""
-                },
-                "waterway/dam": {
-                    "name": "Dam",
-                    "terms": ""
-                },
-                "waterway/ditch": {
-                    "name": "Ditch",
-                    "terms": ""
-                },
-                "waterway/drain": {
-                    "name": "Drain",
-                    "terms": ""
-                },
-                "waterway/river": {
-                    "name": "River",
-                    "terms": "beck,branch,brook,course,creek,estuary,rill,rivulet,run,runnel,stream,tributary,watercourse"
-                },
-                "waterway/riverbank": {
-                    "name": "Riverbank",
-                    "terms": ""
-                },
-                "waterway/stream": {
-                    "name": "Stream",
-                    "terms": "beck,branch,brook,burn,course,creek,current,drift,flood,flow,freshet,race,rill,rindle,rivulet,run,runnel,rush,spate,spritz,surge,tide,torrent,tributary,watercourse"
-                },
-                "waterway/weir": {
-                    "name": "Weir",
-                    "terms": ""
-                }
-            }
-        }
-    },
-    "suggestions": {
-        "amenity": {
-            "fuel": {
-                "76": {
-                    "count": 314
-                },
-                "Neste": {
-                    "count": 189
-                },
-                "BP": {
-                    "count": 2511
-                },
-                "Shell": {
-                    "count": 8380
-                },
-                "Agip": {
-                    "count": 2651
-                },
-                "Migrol": {
-                    "count": 65
-                },
-                "Avia": {
-                    "count": 897
-                },
-                "Texaco": {
-                    "count": 680
-                },
-                "Total": {
-                    "count": 2607
-                },
-                "Statoil": {
-                    "count": 596
-                },
-                "Esso": {
-                    "count": 3652
-                },
-                "Jet": {
-                    "count": 441
-                },
-                "Avanti": {
-                    "count": 90
-                },
-                "Sainsbury's": {
-                    "count": 58
-                },
-                "OMV": {
-                    "count": 701
-                },
-                "Aral": {
-                    "count": 1339
-                },
-                "Tesco": {
-                    "count": 197
-                },
-                "JET": {
-                    "count": 180
-                },
-                "Morrisons": {
-                    "count": 111
-                },
-                "United": {
-                    "count": 91
-                },
-                "Canadian Tire": {
-                    "count": 66
-                },
-                "Mobil": {
-                    "count": 613
-                },
-                "Caltex": {
-                    "count": 1001
-                },
-                "Sunoco": {
-                    "count": 355
-                },
-                "Q8": {
-                    "count": 1161
-                },
-                "ABC": {
-                    "count": 79
-                },
-                "ARAL": {
-                    "count": 375
-                },
-                "CEPSA": {
-                    "count": 1018
-                },
-                "BFT": {
-                    "count": 89
-                },
-                "Petron": {
-                    "count": 878
-                },
-                "Intermarché": {
-                    "count": 434
-                },
-                "Total Access": {
-                    "count": 51
-                },
-                "Super U": {
-                    "count": 124
-                },
-                "Auchan": {
-                    "count": 53
-                },
-                "Elf": {
-                    "count": 129
-                },
-                "Carrefour": {
-                    "count": 205
-                },
-                "Station Service E. Leclerc": {
-                    "count": 530
-                },
-                "Shell Express": {
-                    "count": 131
-                },
-                "Hess": {
-                    "count": 127
-                },
-                "Flying V": {
-                    "count": 129
-                },
-                "bft": {
-                    "count": 168
-                },
-                "Gulf": {
-                    "count": 199
-                },
-                "PTT": {
-                    "count": 191
-                },
-                "St1": {
-                    "count": 100
-                },
-                "Teboil": {
-                    "count": 115
-                },
-                "HEM": {
-                    "count": 212
-                },
-                "GALP": {
-                    "count": 626
-                },
-                "OK": {
-                    "count": 163
-                },
-                "ÖMV": {
-                    "count": 101
-                },
-                "Tinq": {
-                    "count": 215
-                },
-                "OKQ8": {
-                    "count": 186
-                },
-                "Repsol": {
-                    "count": 424
-                },
-                "Westfalen": {
-                    "count": 96
-                },
-                "Esso Express": {
-                    "count": 98
-                },
-                "Raiffeisenbank": {
-                    "count": 117
-                },
-                "Tamoil": {
-                    "count": 866
-                },
-                "Engen": {
-                    "count": 241
-                },
-                "Sasol": {
-                    "count": 59
-                },
-                "Topaz": {
-                    "count": 78
-                },
-                "LPG": {
-                    "count": 174
-                },
-                "Coop": {
-                    "count": 62
-                },
-                "Orlen": {
-                    "count": 598
-                },
-                "Oilibya": {
-                    "count": 68
-                },
-                "Tango": {
-                    "count": 122
-                },
-                "Star": {
-                    "count": 319
-                },
-                "Петрол": {
-                    "count": 84
-                },
-                "Cepsa": {
-                    "count": 96
-                },
-                "OIL!": {
-                    "count": 63
-                },
-                "Ultramar": {
-                    "count": 125
-                },
-                "Irving": {
-                    "count": 87
-                },
-                "Lukoil": {
-                    "count": 701
-                },
-                "Petro-Canada": {
-                    "count": 489
-                },
-                "7-Eleven": {
-                    "count": 488
-                },
-                "Agrola": {
-                    "count": 69
-                },
-                "Husky": {
-                    "count": 126
-                },
-                "Slovnaft": {
-                    "count": 219
-                },
-                "Sheetz": {
-                    "count": 134
-                },
-                "Mol": {
-                    "count": 61
-                },
-                "Petronas": {
-                    "count": 159
-                },
-                "Газпромнефть": {
-                    "count": 748
-                },
-                "Лукойл": {
-                    "count": 1477
-                },
-                "Elan": {
-                    "count": 112
-                },
-                "Роснефть": {
-                    "count": 638
-                },
-                "Turmöl": {
-                    "count": 57
-                },
-                "Neste A24": {
-                    "count": 55
-                },
-                "Marathon": {
-                    "count": 189
-                },
-                "Valero": {
-                    "count": 366
-                },
-                "Eni": {
-                    "count": 236
-                },
-                "Chevron": {
-                    "count": 954
-                },
-                "ТНК": {
-                    "count": 520
-                },
-                "REPSOL": {
-                    "count": 1603
-                },
-                "MOL": {
-                    "count": 228
-                },
-                "Bliska": {
-                    "count": 150
-                },
-                "Api": {
-                    "count": 302
-                },
-                "Arco": {
-                    "count": 179
-                },
-                "Pemex": {
-                    "count": 423
-                },
-                "Exxon": {
-                    "count": 506
-                },
-                "Coles Express": {
-                    "count": 115
-                },
-                "Petrom": {
-                    "count": 259
-                },
-                "PETRONOR": {
-                    "count": 207
-                },
-                "Rompetrol": {
-                    "count": 174
-                },
-                "Lotos": {
-                    "count": 178
-                },
-                "ОМВ": {
-                    "count": 60
-                },
-                "BR": {
-                    "count": 129
-                },
-                "Copec": {
-                    "count": 505
-                },
-                "Petrobras": {
-                    "count": 270
-                },
-                "Liberty": {
-                    "count": 55
-                },
-                "IP": {
-                    "count": 871
-                },
-                "Erg": {
-                    "count": 596
-                },
-                "Eneos": {
-                    "count": 97
-                },
-                "Citgo": {
-                    "count": 279
-                },
-                "Metano": {
-                    "count": 208
-                },
-                "Сургутнефтегаз": {
-                    "count": 61
-                },
-                "EKO": {
-                    "count": 59
-                },
-                "Eko": {
-                    "count": 58
-                },
-                "Indipend.": {
-                    "count": 172
-                },
-                "IES": {
-                    "count": 63
-                },
-                "TotalErg": {
-                    "count": 89
-                },
-                "Cenex": {
-                    "count": 115
-                },
-                "ПТК": {
-                    "count": 82
-                },
-                "HP": {
-                    "count": 79
-                },
-                "Phillips 66": {
-                    "count": 216
-                },
-                "CARREFOUR": {
-                    "count": 74
-                },
-                "ERG": {
-                    "count": 76
-                },
-                "Speedway": {
-                    "count": 148
-                },
-                "Benzina": {
-                    "count": 96
-                },
-                "Татнефть": {
-                    "count": 264
-                },
-                "Terpel": {
-                    "count": 259
-                },
-                "WOG": {
-                    "count": 189
-                },
-                "Seaoil": {
-                    "count": 54
-                },
-                "АЗС": {
-                    "count": 1077
-                },
-                "Kwik Trip": {
-                    "count": 108
-                },
-                "Wawa": {
-                    "count": 89
-                },
-                "Pertamina": {
-                    "count": 186
-                },
-                "COSMO": {
-                    "count": 64
-                },
-                "Z": {
-                    "count": 76
-                },
-                "Indian Oil": {
-                    "count": 183
-                },
-                "АГЗС": {
-                    "count": 494
-                },
-                "INA": {
-                    "count": 121
-                },
-                "JOMO": {
-                    "count": 62
-                },
-                "Holiday": {
-                    "count": 97
-                },
-                "YPF": {
-                    "count": 70
-                },
-                "IDEMITSU": {
-                    "count": 87
-                },
-                "ENEOS": {
-                    "count": 736
-                },
-                "Stacja paliw": {
-                    "count": 94
-                },
-                "Bharat Petroleum": {
-                    "count": 64
-                },
-                "CAMPSA": {
-                    "count": 615
-                },
-                "Casey's General Store": {
-                    "count": 190
-                },
-                "Башнефть": {
-                    "count": 60
-                },
-                "Kangaroo": {
-                    "count": 60
-                },
-                "コスモ石油 (COSMO)": {
-                    "count": 136
-                },
-                "MEROIL": {
-                    "count": 77
-                },
-                "1-2-3": {
-                    "count": 71
-                },
-                "出光": {
-                    "count": 228,
-                    "tags": {
-                        "name:en": "IDEMITSU"
-                    }
-                },
-                "НК Альянс": {
-                    "count": 88
-                },
-                "Sinclair": {
-                    "count": 100
-                },
-                "Conoco": {
-                    "count": 189
-                },
-                "SPBU": {
-                    "count": 54
-                },
-                "Макпетрол": {
-                    "count": 109
-                },
-                "Circle K": {
-                    "count": 166
-                },
-                "Posto Ipiranga": {
-                    "count": 70
-                },
-                "Posto Shell": {
-                    "count": 54
-                },
-                "Phoenix": {
-                    "count": 144
-                },
-                "Ipiranga": {
-                    "count": 119
-                },
-                "OKKO": {
-                    "count": 85
-                },
-                "ОККО": {
-                    "count": 119
-                },
-                "บางจาก": {
-                    "count": 60
-                },
-                "QuikTrip": {
-                    "count": 105
-                },
-                "Stewart's": {
-                    "count": 63
-                },
-                "Posto BR": {
-                    "count": 68
-                },
-                "ป ต ท": {
-                    "count": 152
-                },
-                "ปตท": {
-                    "count": 88
-                },
-                "ANP": {
-                    "count": 80
-                },
-                "Kum & Go": {
-                    "count": 80
-                },
-                "Petrolimex": {
-                    "count": 55
-                },
-                "Sokimex": {
-                    "count": 66
-                },
-                "Tela": {
-                    "count": 154
-                },
-                "Posto": {
-                    "count": 71
-                },
-                "H-E-B": {
-                    "count": 182
-                },
-                "Укрнафта": {
-                    "count": 58
-                },
-                "Татнефтепродукт": {
-                    "count": 54
-                },
-                "Afriquia": {
-                    "count": 88
-                },
-                "Murphy USA": {
-                    "count": 67
-                },
-                "昭和シェル (Showa-shell)": {
-                    "count": 94
-                },
-                "エネオス": {
-                    "count": 53
-                },
-                "CNG": {
-                    "count": 94
-                }
-            },
-            "pub": {
-                "Kings Arms": {
-                    "count": 67
-                },
-                "The Ship": {
-                    "count": 89
-                },
-                "The White Horse": {
-                    "count": 204
-                },
-                "The White Hart": {
-                    "count": 226
-                },
-                "Royal Oak": {
-                    "count": 150
-                },
-                "The Red Lion": {
-                    "count": 233
-                },
-                "The Kings Arms": {
-                    "count": 58
-                },
-                "The Star": {
-                    "count": 73
-                },
-                "The Anchor": {
-                    "count": 64
-                },
-                "The Cross Keys": {
-                    "count": 55
-                },
-                "The Wheatsheaf": {
-                    "count": 117
-                },
-                "The Crown Inn": {
-                    "count": 67
-                },
-                "The Kings Head": {
-                    "count": 53
-                },
-                "The Castle": {
-                    "count": 62
-                },
-                "The Railway": {
-                    "count": 102
-                },
-                "The White Lion": {
-                    "count": 118
-                },
-                "The Bell": {
-                    "count": 121
-                },
-                "The Bull": {
-                    "count": 68
-                },
-                "The Plough": {
-                    "count": 179
-                },
-                "The George": {
-                    "count": 110
-                },
-                "The Royal Oak": {
-                    "count": 209
-                },
-                "The Fox": {
-                    "count": 74
-                },
-                "Prince of Wales": {
-                    "count": 77
-                },
-                "The Rising Sun": {
-                    "count": 71
-                },
-                "The Prince of Wales": {
-                    "count": 51
-                },
-                "The Crown": {
-                    "count": 244
-                },
-                "The Chequers": {
-                    "count": 66
-                },
-                "The Swan": {
-                    "count": 152
-                },
-                "Rose and Crown": {
-                    "count": 79
-                },
-                "The Victoria": {
-                    "count": 67
-                },
-                "New Inn": {
-                    "count": 90
-                },
-                "Royal Hotel": {
-                    "count": 57
-                },
-                "Red Lion": {
-                    "count": 207
-                },
-                "Cross Keys": {
-                    "count": 61
-                },
-                "The Greyhound": {
-                    "count": 96
-                },
-                "The Black Horse": {
-                    "count": 94
-                },
-                "The New Inn": {
-                    "count": 105
-                },
-                "Kings Head": {
-                    "count": 59
-                },
-                "The Albion": {
-                    "count": 51
-                },
-                "The Angel": {
-                    "count": 52
-                },
-                "The Queens Head": {
-                    "count": 52
-                },
-                "The Ship Inn": {
-                    "count": 83
-                },
-                "Rose & Crown": {
-                    "count": 51
-                },
-                "Queens Head": {
-                    "count": 52
-                },
-                "Irish Pub": {
-                    "count": 76
-                }
-            },
-            "fast_food": {
-                "Quick": {
-                    "count": 484
-                },
-                "McDonald's": {
-                    "count": 12376,
-                    "tags": {
-                        "cuisine": "burger"
-                    }
-                },
-                "Subway": {
-                    "count": 5576,
-                    "tags": {
-                        "cuisine": "sandwich"
-                    }
-                },
-                "Burger King": {
-                    "count": 3734,
-                    "tags": {
-                        "cuisine": "burger"
-                    }
-                },
-                "Ali Baba": {
-                    "count": 61
-                },
-                "Hungry Jacks": {
-                    "count": 173,
-                    "tags": {
-                        "cuisine": "burger"
-                    }
-                },
-                "Red Rooster": {
-                    "count": 148
-                },
-                "KFC": {
-                    "count": 3198,
-                    "tags": {
-                        "cuisine": "chicken"
-                    }
-                },
-                "Domino's Pizza": {
-                    "count": 985,
-                    "tags": {
-                        "cuisine": "pizza"
-                    }
-                },
-                "Chowking": {
-                    "count": 142
-                },
-                "Jollibee": {
-                    "count": 396
-                },
-                "Hesburger": {
-                    "count": 102
-                },
-                "肯德基": {
-                    "count": 86
-                },
-                "Wendy's": {
-                    "count": 1621,
-                    "tags": {
-                        "cuisine": "burger"
-                    }
-                },
-                "Tim Hortons": {
-                    "count": 323
-                },
-                "Steers": {
-                    "count": 151
-                },
-                "Hardee's": {
-                    "count": 268,
-                    "tags": {
-                        "cuisine": "burger"
-                    }
-                },
-                "Arby's": {
-                    "count": 782
-                },
-                "A&W": {
-                    "count": 283
-                },
-                "Dairy Queen": {
-                    "count": 791
-                },
-                "Hallo Pizza": {
-                    "count": 76
-                },
-                "Fish & Chips": {
-                    "count": 93
-                },
-                "Harvey's": {
-                    "count": 90
-                },
-                "麥當勞": {
-                    "count": 65
-                },
-                "Pizza Pizza": {
-                    "count": 215
-                },
-                "Kotipizza": {
-                    "count": 74
-                },
-                "Jack in the Box": {
-                    "count": 546,
-                    "tags": {
-                        "cuisine": "burger"
-                    }
-                },
-                "Istanbul": {
-                    "count": 56
-                },
-                "Kochlöffel": {
-                    "count": 68
-                },
-                "Döner": {
-                    "count": 228
-                },
-                "Telepizza": {
-                    "count": 201
-                },
-                "Sibylla": {
-                    "count": 61
-                },
-                "Carl's Jr.": {
-                    "count": 298,
-                    "tags": {
-                        "cuisine": "burger"
-                    }
-                },
-                "Quiznos": {
-                    "count": 266,
-                    "tags": {
-                        "cuisine": "sandwich"
-                    }
-                },
-                "Wimpy": {
-                    "count": 141
-                },
-                "Sonic": {
-                    "count": 566,
-                    "tags": {
-                        "cuisine": "burger"
-                    }
-                },
-                "Taco Bell": {
-                    "count": 1423
-                },
-                "Pizza Nova": {
-                    "count": 63
-                },
-                "Papa John's": {
-                    "count": 304,
-                    "tags": {
-                        "cuisine": "pizza"
-                    }
-                },
-                "Nordsee": {
-                    "count": 159
-                },
-                "Mr. Sub": {
-                    "count": 103
-                },
-                "Kebab": {
-                    "count": 182
-                },
-                "Макдоналдс": {
-                    "count": 324,
-                    "tags": {
-                        "name:en": "McDonald's"
-                    }
-                },
-                "Asia Imbiss": {
-                    "count": 111
-                },
-                "Imbiss": {
-                    "count": 199
-                },
-                "Chipotle": {
-                    "count": 290,
-                    "tags": {
-                        "cuisine": "mexican"
-                    }
-                },
-                "マクドナルド": {
-                    "count": 692,
-                    "tags": {
-                        "name:en": "McDonald's",
-                        "cuisine": "burger"
-                    }
-                },
-                "In-N-Out Burger": {
-                    "count": 65
-                },
-                "Jimmy John's": {
-                    "count": 141
-                },
-                "Jamba Juice": {
-                    "count": 68
-                },
-                "Робин Сдобин": {
-                    "count": 82
-                },
-                "Baskin Robbins": {
-                    "count": 74
-                },
-                "ケンタッキーフライドチキン": {
-                    "count": 164,
-                    "tags": {
-                        "name:en": "KFC",
-                        "cuisine": "chicken"
-                    }
-                },
-                "吉野家": {
-                    "count": 191
-                },
-                "Taco Time": {
-                    "count": 88
-                },
-                "松屋": {
-                    "count": 281,
-                    "tags": {
-                        "name:en": "Matsuya"
-                    }
-                },
-                "Little Caesars": {
-                    "count": 81
-                },
-                "El Pollo Loco": {
-                    "count": 63
-                },
-                "Del Taco": {
-                    "count": 141
-                },
-                "White Castle": {
-                    "count": 80
-                },
-                "Boston Market": {
-                    "count": 66
-                },
-                "Chick-fil-A": {
-                    "count": 257,
-                    "tags": {
-                        "cuisine": "chicken"
-                    }
-                },
-                "Panda Express": {
-                    "count": 238
-                },
-                "Whataburger": {
-                    "count": 364
-                },
-                "Taco John's": {
-                    "count": 78
-                },
-                "Теремок": {
-                    "count": 68
-                },
-                "Culver's": {
-                    "count": 425
-                },
-                "Five Guys": {
-                    "count": 141
-                },
-                "Church's Chicken": {
-                    "count": 95
-                },
-                "Popeye's": {
-                    "count": 167,
-                    "tags": {
-                        "cuisine": "chicken"
-                    }
-                },
-                "Long John Silver's": {
-                    "count": 93
-                },
-                "Pollo Campero": {
-                    "count": 62
-                },
-                "Zaxby's": {
-                    "count": 51
-                },
-                "すき家": {
-                    "count": 276,
-                    "tags": {
-                        "name:en": "SUKIYA"
-                    }
-                },
-                "モスバーガー": {
-                    "count": 257,
-                    "tags": {
-                        "name:en": "MOS BURGER"
-                    }
-                },
-                "Русский Аппетит": {
-                    "count": 69
-                },
-                "なか卯": {
-                    "count": 63
-                }
-            },
-            "restaurant": {
-                "Pizza Hut": {
-                    "count": 1180
-                },
-                "Little Chef": {
-                    "count": 64
-                },
-                "Adler": {
-                    "count": 158
-                },
-                "Zur Krone": {
-                    "count": 90
-                },
-                "Deutsches Haus": {
-                    "count": 90
-                },
-                "Krone": {
-                    "count": 171
-                },
-                "Akropolis": {
-                    "count": 152
-                },
-                "Schützenhaus": {
-                    "count": 124
-                },
-                "Kreuz": {
-                    "count": 74
-                },
-                "Waldschänke": {
-                    "count": 55
-                },
-                "La Piazza": {
-                    "count": 69
-                },
-                "Lamm": {
-                    "count": 66
-                },
-                "Zur Sonne": {
-                    "count": 73
-                },
-                "Zur Linde": {
-                    "count": 204
-                },
-                "Poseidon": {
-                    "count": 110
-                },
-                "Shanghai": {
-                    "count": 82
-                },
-                "Red Lobster": {
-                    "count": 235
-                },
-                "Zum Löwen": {
-                    "count": 84
-                },
-                "Swiss Chalet": {
-                    "count": 107
-                },
-                "Olympia": {
-                    "count": 74
-                },
-                "Wagamama": {
-                    "count": 64
-                },
-                "Frankie & Benny's": {
-                    "count": 66
-                },
-                "Hooters": {
-                    "count": 103
-                },
-                "Sternen": {
-                    "count": 78
-                },
-                "Hirschen": {
-                    "count": 79
-                },
-                "Papa John's": {
-                    "count": 67,
-                    "tags": {
-                        "cuisine": "pizza"
-                    }
-                },
-                "Denny's": {
-                    "count": 450
-                },
-                "Athen": {
-                    "count": 68
-                },
-                "Sonne": {
-                    "count": 126
-                },
-                "Hirsch": {
-                    "count": 79
-                },
-                "Ratskeller": {
-                    "count": 150
-                },
-                "La Cantina": {
-                    "count": 56
-                },
-                "Gasthaus Krone": {
-                    "count": 56
-                },
-                "El Greco": {
-                    "count": 86
-                },
-                "Gasthof zur Post": {
-                    "count": 79
-                },
-                "Nando's": {
-                    "count": 246
-                },
-                "Löwen": {
-                    "count": 112
-                },
-                "La Pataterie": {
-                    "count": 51
-                },
-                "Bella Napoli": {
-                    "count": 53
-                },
-                "Pizza Express": {
-                    "count": 262
-                },
-                "Mandarin": {
-                    "count": 65
-                },
-                "Hong Kong": {
-                    "count": 83
-                },
-                "Zizzi": {
-                    "count": 68
-                },
-                "Cracker Barrel": {
-                    "count": 183
-                },
-                "Rhodos": {
-                    "count": 81
-                },
-                "Lindenhof": {
-                    "count": 79
-                },
-                "Milano": {
-                    "count": 54
-                },
-                "Dolce Vita": {
-                    "count": 77
-                },
-                "Kirchenwirt": {
-                    "count": 81
-                },
-                "Kantine": {
-                    "count": 52
-                },
-                "Ochsen": {
-                    "count": 95
-                },
-                "Spur": {
-                    "count": 62
-                },
-                "Mykonos": {
-                    "count": 59
-                },
-                "Lotus": {
-                    "count": 66
-                },
-                "Applebee's": {
-                    "count": 531
-                },
-                "Flunch": {
-                    "count": 72
-                },
-                "Zur Post": {
-                    "count": 116
-                },
-                "China Town": {
-                    "count": 76
-                },
-                "La Dolce Vita": {
-                    "count": 73
-                },
-                "Waffle House": {
-                    "count": 207
-                },
-                "Delphi": {
-                    "count": 88
-                },
-                "Linde": {
-                    "count": 103
-                },
-                "Outback Steakhouse": {
-                    "count": 218
-                },
-                "Dionysos": {
-                    "count": 69
-                },
-                "Kelsey's": {
-                    "count": 57
-                },
-                "Boston Pizza": {
-                    "count": 165
-                },
-                "Bella Italia": {
-                    "count": 132
-                },
-                "Sizzler": {
-                    "count": 53
-                },
-                "Grüner Baum": {
-                    "count": 116
-                },
-                "Taj Mahal": {
-                    "count": 104
-                },
-                "Rössli": {
-                    "count": 68
-                },
-                "Wimpy": {
-                    "count": 51
-                },
-                "Traube": {
-                    "count": 65
-                },
-                "Adria": {
-                    "count": 52
-                },
-                "Red Robin": {
-                    "count": 185
-                },
-                "Roma": {
-                    "count": 61
-                },
-                "San Marco": {
-                    "count": 67
-                },
-                "Hellas": {
-                    "count": 55
-                },
-                "La Perla": {
-                    "count": 67
-                },
-                "Vips": {
-                    "count": 53
-                },
-                "Panera Bread": {
-                    "count": 218
-                },
-                "Da Vinci": {
-                    "count": 54
-                },
-                "Hippopotamus": {
-                    "count": 96
-                },
-                "Prezzo": {
-                    "count": 75
-                },
-                "Courtepaille": {
-                    "count": 106
-                },
-                "Hard Rock Cafe": {
-                    "count": 70
-                },
-                "Panorama": {
-                    "count": 61
-                },
-                "デニーズ": {
-                    "count": 82
-                },
-                "Sportheim": {
-                    "count": 65
-                },
-                "餃子の王将": {
-                    "count": 57
-                },
-                "Bären": {
-                    "count": 60
-                },
-                "Alte Post": {
-                    "count": 60
-                },
-                "Pizzeria Roma": {
-                    "count": 51
-                },
-                "China Garden": {
-                    "count": 66
-                },
-                "Vapiano": {
-                    "count": 82
-                },
-                "Mamma Mia": {
-                    "count": 64
-                },
-                "Schwarzer Adler": {
-                    "count": 57
-                },
-                "IHOP": {
-                    "count": 317
-                },
-                "Chili's": {
-                    "count": 328
-                },
-                "Asia": {
-                    "count": 51
-                },
-                "Olive Garden": {
-                    "count": 279
-                },
-                "TGI Friday's": {
-                    "count": 159
-                },
-                "Friendly's": {
-                    "count": 78
-                },
-                "Buffalo Grill": {
-                    "count": 202
-                },
-                "Texas Roadhouse": {
-                    "count": 110
-                },
-                "ガスト": {
-                    "count": 230,
-                    "tags": {
-                        "name:en": "Gusto"
-                    }
-                },
-                "Sakura": {
-                    "count": 75
-                },
-                "Mensa": {
-                    "count": 99
-                },
-                "The Keg": {
-                    "count": 53
-                },
-                "サイゼリヤ": {
-                    "count": 93
-                },
-                "La Strada": {
-                    "count": 52
-                },
-                "Village Inn": {
-                    "count": 92
-                },
-                "Buffalo Wild Wings": {
-                    "count": 176
-                },
-                "Peking": {
-                    "count": 59
-                },
-                "Boston Market": {
-                    "count": 61
-                },
-                "Round Table Pizza": {
-                    "count": 53
-                },
-                "Jimmy John's": {
-                    "count": 69
-                },
-                "California Pizza Kitchen": {
-                    "count": 61
-                },
-                "Якитория": {
-                    "count": 77
-                },
-                "Golden Corral": {
-                    "count": 101
-                },
-                "Perkins": {
-                    "count": 105
-                },
-                "Ruby Tuesday": {
-                    "count": 162
-                },
-                "Shari's": {
-                    "count": 65
-                },
-                "Bob Evans": {
-                    "count": 129
-                },
-                "바다횟집 (Bada Fish Restaurant)": {
-                    "count": 55
-                },
-                "Mang Inasal": {
-                    "count": 84
-                },
-                "Евразия": {
-                    "count": 102
-                },
-                "ジョナサン": {
-                    "count": 59
-                },
-                "Arby's": {
-                    "count": 51
-                },
-                "Longhorn Steakhouse": {
-                    "count": 66
-                }
-            },
-            "bank": {
-                "Chase": {
-                    "count": 721
-                },
-                "Commonwealth Bank": {
-                    "count": 232
-                },
-                "Citibank": {
-                    "count": 277
-                },
-                "HSBC": {
-                    "count": 1102
-                },
-                "Barclays": {
-                    "count": 965
-                },
-                "Westpac": {
-                    "count": 208
-                },
-                "NAB": {
-                    "count": 131
-                },
-                "ANZ": {
-                    "count": 218
-                },
-                "Lloyds Bank": {
-                    "count": 547
-                },
-                "Landbank": {
-                    "count": 81
-                },
-                "Sparkasse": {
-                    "count": 4555
-                },
-                "UCPB": {
-                    "count": 92
-                },
-                "PNB": {
-                    "count": 244
-                },
-                "Metrobank": {
-                    "count": 269
-                },
-                "BDO": {
-                    "count": 290
-                },
-                "Volksbank": {
-                    "count": 2591
-                },
-                "BPI": {
-                    "count": 415
-                },
-                "Postbank": {
-                    "count": 443
-                },
-                "NatWest": {
-                    "count": 628
-                },
-                "Raiffeisenbank": {
-                    "count": 2119
-                },
-                "Yorkshire Bank": {
-                    "count": 63
-                },
-                "ABSA": {
-                    "count": 95
-                },
-                "Standard Bank": {
-                    "count": 109
-                },
-                "FNB": {
-                    "count": 97
-                },
-                "Deutsche Bank": {
-                    "count": 855
-                },
-                "SEB": {
-                    "count": 133
-                },
-                "Commerzbank": {
-                    "count": 806
-                },
-                "Targobank": {
-                    "count": 166
-                },
-                "ABN AMRO": {
-                    "count": 130
-                },
-                "Handelsbanken": {
-                    "count": 184
-                },
-                "Swedbank": {
-                    "count": 223
-                },
-                "Kreissparkasse": {
-                    "count": 600
-                },
-                "UniCredit Bank": {
-                    "count": 408
-                },
-                "Monte dei Paschi di Siena": {
-                    "count": 132
-                },
-                "Caja Rural": {
-                    "count": 99
-                },
-                "Dresdner Bank": {
-                    "count": 66
-                },
-                "Sparda-Bank": {
-                    "count": 320
-                },
-                "VÚB": {
-                    "count": 107
-                },
-                "Slovenská sporiteľňa": {
-                    "count": 134
-                },
-                "Bank of Montreal": {
-                    "count": 118
-                },
-                "KBC": {
-                    "count": 203
-                },
-                "Royal Bank of Scotland": {
-                    "count": 111
-                },
-                "TSB": {
-                    "count": 80
-                },
-                "US Bank": {
-                    "count": 256
-                },
-                "HypoVereinsbank": {
-                    "count": 561
-                },
-                "Bank Austria": {
-                    "count": 176
-                },
-                "ING": {
-                    "count": 496
-                },
-                "Erste Bank": {
-                    "count": 180
-                },
-                "CIBC": {
-                    "count": 326
-                },
-                "Scotiabank": {
-                    "count": 413
-                },
-                "Caisse d'Épargne": {
-                    "count": 882
-                },
-                "Santander": {
-                    "count": 1323
-                },
-                "Bank of Scotland": {
-                    "count": 89
-                },
-                "TD Canada Trust": {
-                    "count": 450
-                },
-                "BMO": {
-                    "count": 169
-                },
-                "Danske Bank": {
-                    "count": 131
-                },
-                "OTP": {
-                    "count": 192
-                },
-                "Crédit Agricole": {
-                    "count": 1239
-                },
-                "LCL": {
-                    "count": 553
-                },
-                "VR-Bank": {
-                    "count": 430
-                },
-                "ČSOB": {
-                    "count": 160
-                },
-                "Česká spořitelna": {
-                    "count": 212
-                },
-                "BNP": {
-                    "count": 112
-                },
-                "Royal Bank": {
-                    "count": 65
-                },
-                "Nationwide": {
-                    "count": 209
-                },
-                "Halifax": {
-                    "count": 225
-                },
-                "BAWAG PSK": {
-                    "count": 102
-                },
-                "National Bank": {
-                    "count": 84
-                },
-                "Nedbank": {
-                    "count": 80
-                },
-                "First National Bank": {
-                    "count": 85
-                },
-                "Nordea": {
-                    "count": 319
-                },
-                "Rabobank": {
-                    "count": 609
-                },
-                "Sparkasse KölnBonn": {
-                    "count": 69
-                },
-                "Tatra banka": {
-                    "count": 67
-                },
-                "Berliner Sparkasse": {
-                    "count": 62
-                },
-                "Berliner Volksbank": {
-                    "count": 77
-                },
-                "Wells Fargo": {
-                    "count": 874
-                },
-                "Credit Suisse": {
-                    "count": 71
-                },
-                "Société Générale": {
-                    "count": 634
-                },
-                "Osuuspankki": {
-                    "count": 75
-                },
-                "Sparkasse Aachen": {
-                    "count": 56
-                },
-                "Hamburger Sparkasse": {
-                    "count": 156
-                },
-                "Cassa di Risparmio del Veneto": {
-                    "count": 68
-                },
-                "BNP Paribas": {
-                    "count": 617
-                },
-                "Banque Populaire": {
-                    "count": 433
-                },
-                "BNP Paribas Fortis": {
-                    "count": 209
-                },
-                "Banco Popular": {
-                    "count": 291
-                },
-                "Bancaja": {
-                    "count": 55
-                },
-                "Banesto": {
-                    "count": 208
-                },
-                "La Caixa": {
-                    "count": 583
-                },
-                "Santander Consumer Bank": {
-                    "count": 88
-                },
-                "BRD": {
-                    "count": 191
-                },
-                "BCR": {
-                    "count": 143
-                },
-                "Banca Transilvania": {
-                    "count": 141
-                },
-                "BW-Bank": {
-                    "count": 97
-                },
-                "Komerční banka": {
-                    "count": 132
-                },
-                "Banco Pastor": {
-                    "count": 64
-                },
-                "Stadtsparkasse": {
-                    "count": 86
-                },
-                "Ulster Bank": {
-                    "count": 86
-                },
-                "Sberbank": {
-                    "count": 58
-                },
-                "CIC": {
-                    "count": 427
-                },
-                "Bancpost": {
-                    "count": 56
-                },
-                "Caja Madrid": {
-                    "count": 115
-                },
-                "Maybank": {
-                    "count": 94
-                },
-                "中国银行": {
-                    "count": 85
-                },
-                "Unicredit Banca": {
-                    "count": 243
-                },
-                "Crédit Mutuel": {
-                    "count": 690
-                },
-                "BBVA": {
-                    "count": 647
-                },
-                "Intesa San Paolo": {
-                    "count": 69
-                },
-                "TD Bank": {
-                    "count": 206
-                },
-                "Belfius": {
-                    "count": 231
-                },
-                "Bank of America": {
-                    "count": 924
-                },
-                "RBC": {
-                    "count": 230
-                },
-                "Alpha Bank": {
-                    "count": 123
-                },
-                "Сбербанк": {
-                    "count": 4794
-                },
-                "Россельхозбанк": {
-                    "count": 201
-                },
-                "Crédit du Nord": {
-                    "count": 96
-                },
-                "BancoEstado": {
-                    "count": 80
-                },
-                "Millennium Bank": {
-                    "count": 414
-                },
-                "State Bank of India": {
-                    "count": 151
-                },
-                "Беларусбанк": {
-                    "count": 242
-                },
-                "ING Bank Śląski": {
-                    "count": 67
-                },
-                "Caixa Geral de Depósitos": {
-                    "count": 129
-                },
-                "Kreissparkasse Köln": {
-                    "count": 65
-                },
-                "Banco BCI": {
-                    "count": 51
-                },
-                "Banco de Chile": {
-                    "count": 98
-                },
-                "ВТБ24": {
-                    "count": 326
-                },
-                "UBS": {
-                    "count": 134
-                },
-                "PKO BP": {
-                    "count": 265
-                },
-                "Chinabank": {
-                    "count": 55
-                },
-                "PSBank": {
-                    "count": 59
-                },
-                "Union Bank": {
-                    "count": 124
-                },
-                "China Bank": {
-                    "count": 66
-                },
-                "RCBC": {
-                    "count": 122
-                },
-                "Unicaja": {
-                    "count": 83
-                },
-                "BBK": {
-                    "count": 79
-                },
-                "Ibercaja": {
-                    "count": 69
-                },
-                "RBS": {
-                    "count": 143
-                },
-                "Commercial Bank of Ceylon PLC": {
-                    "count": 79
-                },
-                "Bank of Ireland": {
-                    "count": 109
-                },
-                "BNL": {
-                    "count": 87
-                },
-                "Banco Santander": {
-                    "count": 138
-                },
-                "Banco Itaú": {
-                    "count": 111
-                },
-                "AIB": {
-                    "count": 72
-                },
-                "BZ WBK": {
-                    "count": 77
-                },
-                "Banco do Brasil": {
-                    "count": 557
-                },
-                "Caixa Econômica Federal": {
-                    "count": 184
-                },
-                "Fifth Third Bank": {
-                    "count": 84
-                },
-                "Banca Popolare di Vicenza": {
-                    "count": 81
-                },
-                "Wachovia": {
-                    "count": 58
-                },
-                "OLB": {
-                    "count": 53
-                },
-                "みずほ銀行": {
-                    "count": 78
-                },
-                "BES": {
-                    "count": 72
-                },
-                "ICICI Bank": {
-                    "count": 91
-                },
-                "HDFC Bank": {
-                    "count": 91
-                },
-                "La Banque Postale": {
-                    "count": 67
-                },
-                "Pekao SA": {
-                    "count": 56
-                },
-                "Oberbank": {
-                    "count": 90
-                },
-                "Bradesco": {
-                    "count": 295
-                },
-                "Oldenburgische Landesbank": {
-                    "count": 56
-                },
-                "Bendigo Bank": {
-                    "count": 93
-                },
-                "Argenta": {
-                    "count": 86
-                },
-                "AXA": {
-                    "count": 68
-                },
-                "Axis Bank": {
-                    "count": 61
-                },
-                "Banco Nación": {
-                    "count": 67
-                },
-                "GE Money Bank": {
-                    "count": 72
-                },
-                "Альфа-Банк": {
-                    "count": 185
-                },
-                "Белагропромбанк": {
-                    "count": 70
-                },
-                "Caja Círculo": {
-                    "count": 65
-                },
-                "Banco Galicia": {
-                    "count": 51
-                },
-                "Eurobank": {
-                    "count": 97
-                },
-                "Banca Intesa": {
-                    "count": 62
-                },
-                "Canara Bank": {
-                    "count": 92
-                },
-                "Cajamar": {
-                    "count": 77
-                },
-                "Banamex": {
-                    "count": 149
-                },
-                "Crédit Mutuel de Bretagne": {
-                    "count": 335
-                },
-                "Davivienda": {
-                    "count": 83
-                },
-                "Bank Spółdzielczy": {
-                    "count": 159
-                },
-                "Credit Agricole": {
-                    "count": 157
-                },
-                "Bankinter": {
-                    "count": 59
-                },
-                "Banque Nationale": {
-                    "count": 63
-                },
-                "Bank of the West": {
-                    "count": 96
-                },
-                "Key Bank": {
-                    "count": 155
-                },
-                "Western Union": {
-                    "count": 88
-                },
-                "Citizens Bank": {
-                    "count": 115
-                },
-                "ПриватБанк": {
-                    "count": 513
-                },
-                "Security Bank": {
-                    "count": 78
-                },
-                "Millenium Bank": {
-                    "count": 60
-                },
-                "Bankia": {
-                    "count": 149
-                },
-                "三菱東京UFJ銀行": {
-                    "count": 159
-                },
-                "Caixa": {
-                    "count": 117
-                },
-                "Banco de Costa Rica": {
-                    "count": 63
-                },
-                "SunTrust Bank": {
-                    "count": 73
-                },
-                "Itaú": {
-                    "count": 338
-                },
-                "PBZ": {
-                    "count": 52
-                },
-                "中国工商银行": {
-                    "count": 51
-                },
-                "Bancolombia": {
-                    "count": 89
-                },
-                "Райффайзен Банк Аваль": {
-                    "count": 64
-                },
-                "Bancomer": {
-                    "count": 115
-                },
-                "Banorte": {
-                    "count": 80
-                },
-                "Alior Bank": {
-                    "count": 81
-                },
-                "BOC": {
-                    "count": 51
-                },
-                "Банк Москвы": {
-                    "count": 118
-                },
-                "ВТБ": {
-                    "count": 59
-                },
-                "Getin Bank": {
-                    "count": 55
-                },
-                "Caja Duero": {
-                    "count": 57
-                },
-                "Regions Bank": {
-                    "count": 62
-                },
-                "Росбанк": {
-                    "count": 177
-                },
-                "Banco Estado": {
-                    "count": 72
-                },
-                "BCI": {
-                    "count": 68
-                },
-                "SunTrust": {
-                    "count": 68
-                },
-                "PNC Bank": {
-                    "count": 254
-                },
-                "신한은행": {
-                    "count": 217,
-                    "tags": {
-                        "name:en": "Sinhan Bank"
-                    }
-                },
-                "우리은행": {
-                    "count": 291,
-                    "tags": {
-                        "name:en": "Uri Bank"
-                    }
-                },
-                "국민은행": {
-                    "count": 165,
-                    "tags": {
-                        "name:en": "Gungmin Bank"
-                    }
-                },
-                "중소기업은행": {
-                    "count": 52,
-                    "tags": {
-                        "name:en": "Industrial Bank of Korea"
-                    }
-                },
-                "광주은행": {
-                    "count": 51,
-                    "tags": {
-                        "name:en": "Gwangju Bank"
-                    }
-                },
-                "Газпромбанк": {
-                    "count": 100
-                },
-                "M&T Bank": {
-                    "count": 92
-                },
-                "Caja de Burgos": {
-                    "count": 51
-                },
-                "Santander Totta": {
-                    "count": 69
-                },
-                "УкрСиббанк": {
-                    "count": 192
-                },
-                "Ощадбанк": {
-                    "count": 364
-                },
-                "Уралсиб": {
-                    "count": 85
-                },
-                "りそな銀行": {
-                    "count": 225,
-                    "tags": {
-                        "name:en": "Mizuho Bank"
-                    }
-                },
-                "Ecobank": {
-                    "count": 66
-                },
-                "Cajero Automatico Bancared": {
-                    "count": 145
-                },
-                "Промсвязьбанк": {
-                    "count": 93
-                },
-                "三井住友銀行": {
-                    "count": 129
-                },
-                "Banco Provincia": {
-                    "count": 67
-                },
-                "BB&T": {
-                    "count": 147
-                },
-                "Возрождение": {
-                    "count": 59
-                },
-                "Capital One": {
-                    "count": 59
-                },
-                "横浜銀行": {
-                    "count": 51
-                },
-                "Bank Mandiri": {
-                    "count": 62
-                },
-                "Banco de la Nación": {
-                    "count": 92
-                },
-                "Banco G&T Continental": {
-                    "count": 62
-                },
-                "Peoples Bank": {
-                    "count": 60
-                },
-                "工商银行": {
-                    "count": 51
-                },
-                "Совкомбанк": {
-                    "count": 55
-                },
-                "Provincial": {
-                    "count": 56
-                },
-                "Banco de Desarrollo Banrural": {
-                    "count": 73
-                },
-                "Banco Bradesco": {
-                    "count": 65
-                },
-                "Bicentenario": {
-                    "count": 182
-                },
-                "ლიბერთი ბანკი": {
-                    "count": 54,
-                    "tags": {
-                        "name:en": "Liberty Bank"
-                    }
-                },
-                "Banesco": {
-                    "count": 108
-                },
-                "Mercantil": {
-                    "count": 75
-                },
-                "Bank BRI": {
-                    "count": 53
-                },
-                "Del Tesoro": {
-                    "count": 91
-                },
-                "하나은행": {
-                    "count": 77
-                },
-                "CityCommerce Bank": {
-                    "count": 71
-                },
-                "De Venezuela": {
-                    "count": 117
-                }
-            },
-            "car_rental": {
-                "Europcar": {
-                    "count": 291
-                },
-                "Budget": {
-                    "count": 92
-                },
-                "Sixt": {
-                    "count": 161
-                },
-                "Avis": {
-                    "count": 282
-                },
-                "Hertz": {
-                    "count": 293
-                },
-                "Enterprise": {
-                    "count": 199
-                },
-                "stadtmobil CarSharing-Station": {
-                    "count": 148
-                }
-            },
-            "pharmacy": {
-                "Rowlands Pharmacy": {
-                    "count": 71
-                },
-                "Boots": {
-                    "count": 840
-                },
-                "Marien-Apotheke": {
-                    "count": 314
-                },
-                "Mercury Drug": {
-                    "count": 426
-                },
-                "Löwen-Apotheke": {
-                    "count": 356
-                },
-                "Superdrug": {
-                    "count": 117
-                },
-                "Sonnen-Apotheke": {
-                    "count": 311
-                },
-                "Rathaus-Apotheke": {
-                    "count": 132
-                },
-                "Engel-Apotheke": {
-                    "count": 123
-                },
-                "Hirsch-Apotheke": {
-                    "count": 83
-                },
-                "Stern-Apotheke": {
-                    "count": 67
-                },
-                "Lloyds Pharmacy": {
-                    "count": 295
-                },
-                "Rosen-Apotheke": {
-                    "count": 208
-                },
-                "Stadt-Apotheke": {
-                    "count": 302
-                },
-                "Markt-Apotheke": {
-                    "count": 164
-                },
-                "Аптека": {
-                    "count": 1989
-                },
-                "Pharmasave": {
-                    "count": 64
-                },
-                "Brunnen-Apotheke": {
-                    "count": 53
-                },
-                "Shoppers Drug Mart": {
-                    "count": 430
-                },
-                "Apotheke am Markt": {
-                    "count": 60
-                },
-                "Alte Apotheke": {
-                    "count": 88
-                },
-                "Neue Apotheke": {
-                    "count": 109
-                },
-                "Gintarinė vaistinė": {
-                    "count": 101
-                },
-                "Rats-Apotheke": {
-                    "count": 84
-                },
-                "Adler Apotheke": {
-                    "count": 313
-                },
-                "Pharmacie Centrale": {
-                    "count": 64
-                },
-                "Walgreens": {
-                    "count": 1619
-                },
-                "Rite Aid": {
-                    "count": 745
-                },
-                "Apotheke": {
-                    "count": 165
-                },
-                "Linden-Apotheke": {
-                    "count": 211
-                },
-                "Bahnhof-Apotheke": {
-                    "count": 66
-                },
-                "Burg-Apotheke": {
-                    "count": 55
-                },
-                "Jean Coutu": {
-                    "count": 62
-                },
-                "Pharmaprix": {
-                    "count": 60
-                },
-                "Farmacias Ahumada": {
-                    "count": 104
-                },
-                "Farmacia Comunale": {
-                    "count": 113
-                },
-                "Farmacias Cruz Verde": {
-                    "count": 86
-                },
-                "Cruz Verde": {
-                    "count": 99
-                },
-                "Hubertus Apotheke": {
-                    "count": 52
-                },
-                "CVS": {
-                    "count": 1560
-                },
-                "Farmacias SalcoBrand": {
-                    "count": 133
-                },
-                "Фармация": {
-                    "count": 120
-                },
-                "Bären-Apotheke": {
-                    "count": 74
-                },
-                "Clicks": {
-                    "count": 113
-                },
-                "セイジョー": {
-                    "count": 53
-                },
-                "マツモトキヨシ": {
-                    "count": 115
-                },
-                "Dr. Max": {
-                    "count": 51
-                },
-                "Вита": {
-                    "count": 106
-                },
-                "Радуга": {
-                    "count": 70
-                },
-                "サンドラッグ": {
-                    "count": 61
-                },
-                "Apteka": {
-                    "count": 366
-                },
-                "Первая помощь": {
-                    "count": 74
-                },
-                "Ригла": {
-                    "count": 113
-                },
-                "Имплозия": {
-                    "count": 63
-                },
-                "Kinney Drugs": {
-                    "count": 68
-                },
-                "Классика": {
-                    "count": 67
-                },
-                "Ljekarna": {
-                    "count": 53
-                },
-                "SalcoBrand": {
-                    "count": 88
-                },
-                "Аптека 36,6": {
-                    "count": 224
-                },
-                "Фармакор": {
-                    "count": 75
-                },
-                "スギ薬局": {
-                    "count": 84
-                },
-                "Аптечный пункт": {
-                    "count": 148
-                },
-                "Невис": {
-                    "count": 60
-                },
-                "トモズ (Tomod's)": {
-                    "count": 83
-                },
-                "Eurovaistinė": {
-                    "count": 65
-                },
-                "Farmacity": {
-                    "count": 68
-                },
-                "аптека": {
-                    "count": 96
-                },
-                "The Generics Pharmacy": {
-                    "count": 95
-                },
-                "Farmatodo": {
-                    "count": 123
-                },
-                "Duane Reade": {
-                    "count": 61
-                },
-                "H-E-B": {
-                    "count": 262
-                },
-                "Фармленд": {
-                    "count": 82
-                },
-                "ドラッグてらしま (Drug Terashima)": {
-                    "count": 96
-                },
-                "Арніка": {
-                    "count": 125
-                },
-                "ავერსი (Aversi)": {
-                    "count": 62
-                },
-                "Farmahorro": {
-                    "count": 58
-                }
-            },
-            "cafe": {
-                "Starbucks": {
-                    "count": 4238,
-                    "tags": {
-                        "cuisine": "coffee_shop"
-                    }
-                },
-                "Cafeteria": {
-                    "count": 115
-                },
-                "Costa": {
-                    "count": 618
-                },
-                "Caffè Nero": {
-                    "count": 169
-                },
-                "Кафе": {
-                    "count": 226
-                },
-                "Café Central": {
-                    "count": 61
-                },
-                "Second Cup": {
-                    "count": 193
-                },
-                "Eisdiele": {
-                    "count": 73
-                },
-                "Dunkin Donuts": {
-                    "count": 428,
-                    "tags": {
-                        "cuisine": "donut"
-                    }
-                },
-                "Espresso House": {
-                    "count": 53
-                },
-                "Segafredo": {
-                    "count": 69
-                },
-                "Coffee Time": {
-                    "count": 94
-                },
-                "Cafe Coffee Day": {
-                    "count": 120
-                },
-                "Eiscafe Venezia": {
-                    "count": 180
-                },
-                "スターバックス": {
-                    "count": 251,
-                    "tags": {
-                        "name:en": "Starbucks"
-                    }
-                },
-                "Шоколадница": {
-                    "count": 145
-                },
-                "Pret A Manger": {
-                    "count": 119
-                },
-                "Столовая": {
-                    "count": 391
-                },
-                "Jamba Juice": {
-                    "count": 53
-                },
-                "ドトール": {
-                    "count": 164,
-                    "tags": {
-                        "name:en": "DOUTOR"
-                    }
-                },
-                "Tchibo": {
-                    "count": 100
-                },
-                "Кофе Хауз": {
-                    "count": 104
-                },
-                "Caribou Coffee": {
-                    "count": 100
-                },
-                "Уют": {
-                    "count": 51
-                },
-                "Шашлычная": {
-                    "count": 58
-                },
-                "คาเฟ่ อเมซอน": {
-                    "count": 62
-                },
-                "Traveler's Coffee": {
-                    "count": 60
-                },
-                "カフェ・ド・クリエ": {
-                    "count": 67,
-                    "tags": {
-                        "name:en": "Cafe de CRIE"
-                    }
-                },
-                "Cafe Amazon": {
-                    "count": 65
-                }
-            }
-        },
-        "shop": {
-            "supermarket": {
-                "Budgens": {
-                    "count": 88
-                },
-                "Morrisons": {
-                    "count": 411
-                },
-                "Interspar": {
-                    "count": 142
-                },
-                "Merkur": {
-                    "count": 107
-                },
-                "Sainsbury's": {
-                    "count": 547
-                },
-                "Lidl": {
-                    "count": 6208
-                },
-                "EDEKA": {
-                    "count": 506
-                },
-                "Coles": {
-                    "count": 400
-                },
-                "Iceland": {
-                    "count": 315
-                },
-                "Coop": {
-                    "count": 1906
-                },
-                "Tesco": {
-                    "count": 1297
-                },
-                "Woolworths": {
-                    "count": 541
-                },
-                "Zielpunkt": {
-                    "count": 239
-                },
-                "Nahkauf": {
-                    "count": 170
-                },
-                "Billa": {
-                    "count": 1432
-                },
-                "Kaufland": {
-                    "count": 1004
-                },
-                "Plus": {
-                    "count": 120
-                },
-                "ALDI": {
-                    "count": 5172
-                },
-                "Checkers": {
-                    "count": 128
-                },
-                "Tesco Metro": {
-                    "count": 137
-                },
-                "NP": {
-                    "count": 153
-                },
-                "Penny": {
-                    "count": 1759
-                },
-                "Norma": {
-                    "count": 1068
-                },
-                "Asda": {
-                    "count": 225
-                },
-                "Netto": {
-                    "count": 4379
-                },
-                "REWE": {
-                    "count": 1474
-                },
-                "Rewe": {
-                    "count": 1171
-                },
-                "Aldi Süd": {
-                    "count": 594
-                },
-                "Real": {
-                    "count": 246
-                },
-                "Tesco Express": {
-                    "count": 406
-                },
-                "King Soopers": {
-                    "count": 72
-                },
-                "Kiwi": {
-                    "count": 167
-                },
-                "Edeka": {
-                    "count": 1787
-                },
-                "Pick n Pay": {
-                    "count": 241
-                },
-                "ICA": {
-                    "count": 192
-                },
-                "Tengelmann": {
-                    "count": 188
-                },
-                "Carrefour": {
-                    "count": 1640
-                },
-                "Waitrose": {
-                    "count": 258
-                },
-                "Spar": {
-                    "count": 2100
-                },
-                "Hofer": {
-                    "count": 442
-                },
-                "M-Preis": {
-                    "count": 76
-                },
-                "LIDL": {
-                    "count": 922
-                },
-                "tegut": {
-                    "count": 210
-                },
-                "Sainsbury's Local": {
-                    "count": 118
-                },
-                "E-Center": {
-                    "count": 66
-                },
-                "Aldi Nord": {
-                    "count": 210
-                },
-                "nahkauf": {
-                    "count": 84
-                },
-                "Meijer": {
-                    "count": 76
-                },
-                "Safeway": {
-                    "count": 410
-                },
-                "Costco": {
-                    "count": 152
-                },
-                "Albert": {
-                    "count": 185
-                },
-                "Jumbo": {
-                    "count": 194
-                },
-                "Shoprite": {
-                    "count": 244
-                },
-                "MPreis": {
-                    "count": 54
-                },
-                "Penny Market": {
-                    "count": 429
-                },
-                "Tesco Extra": {
-                    "count": 123
-                },
-                "Albert Heijn": {
-                    "count": 476
-                },
-                "IGA": {
-                    "count": 363
-                },
-                "Super U": {
-                    "count": 488
-                },
-                "Metro": {
-                    "count": 260
-                },
-                "Neukauf": {
-                    "count": 77
-                },
-                "Migros": {
-                    "count": 459
-                },
-                "Marktkauf": {
-                    "count": 121
-                },
-                "Delikatesy Centrum": {
-                    "count": 59
-                },
-                "C1000": {
-                    "count": 307
-                },
-                "Hoogvliet": {
-                    "count": 53
-                },
-                "COOP": {
-                    "count": 194
-                },
-                "Food Basics": {
-                    "count": 75
-                },
-                "Casino": {
-                    "count": 264
-                },
-                "Penny Markt": {
-                    "count": 466
-                },
-                "Giant": {
-                    "count": 191
-                },
-                "COOP Jednota": {
-                    "count": 73
-                },
-                "Rema 1000": {
-                    "count": 368
-                },
-                "Kaufpark": {
-                    "count": 96
-                },
-                "ALDI SÜD": {
-                    "count": 113
-                },
-                "Simply Market": {
-                    "count": 330
-                },
-                "Konzum": {
-                    "count": 230
-                },
-                "Carrefour Express": {
-                    "count": 353
-                },
-                "Eurospar": {
-                    "count": 270
-                },
-                "Mercator": {
-                    "count": 125
-                },
-                "Famila": {
-                    "count": 130
-                },
-                "Hemköp": {
-                    "count": 82
-                },
-                "real,-": {
-                    "count": 81
-                },
-                "Markant": {
-                    "count": 88
-                },
-                "Volg": {
-                    "count": 135
-                },
-                "Leader Price": {
-                    "count": 267
-                },
-                "Treff 3000": {
-                    "count": 94
-                },
-                "SuperBrugsen": {
-                    "count": 67
-                },
-                "Kaiser's": {
-                    "count": 256
-                },
-                "K+K": {
-                    "count": 106
-                },
-                "Unimarkt": {
-                    "count": 86
-                },
-                "Carrefour City": {
-                    "count": 126
-                },
-                "Sobeys": {
-                    "count": 122
-                },
-                "S-Market": {
-                    "count": 109
-                },
-                "Combi": {
-                    "count": 55
-                },
-                "Denner": {
-                    "count": 276
-                },
-                "Konsum": {
-                    "count": 133
-                },
-                "Franprix": {
-                    "count": 312
-                },
-                "Monoprix": {
-                    "count": 198
-                },
-                "Diska": {
-                    "count": 69
-                },
-                "PENNY": {
-                    "count": 79
-                },
-                "Dia": {
-                    "count": 835
-                },
-                "Giant Eagle": {
-                    "count": 85
-                },
-                "NORMA": {
-                    "count": 115
-                },
-                "AD Delhaize": {
-                    "count": 63
-                },
-                "Auchan": {
-                    "count": 152
-                },
-                "Mercadona": {
-                    "count": 769
-                },
-                "Consum": {
-                    "count": 130
-                },
-                "Carrefour Market": {
-                    "count": 80
-                },
-                "Whole Foods": {
-                    "count": 210
-                },
-                "Pam": {
-                    "count": 56
-                },
-                "sky": {
-                    "count": 105
-                },
-                "Despar": {
-                    "count": 146
-                },
-                "Eroski": {
-                    "count": 208
-                },
-                "Costcutter": {
-                    "count": 63
-                },
-                "Maxi": {
-                    "count": 108
-                },
-                "Colruyt": {
-                    "count": 180
-                },
-                "The Co-operative": {
-                    "count": 64
-                },
-                "Intermarché": {
-                    "count": 1210
-                },
-                "Delhaize": {
-                    "count": 207
-                },
-                "CBA": {
-                    "count": 176
-                },
-                "Shopi": {
-                    "count": 53
-                },
-                "Walmart": {
-                    "count": 644
-                },
-                "Kroger": {
-                    "count": 317
-                },
-                "Albertsons": {
-                    "count": 242
-                },
-                "Trader Joe's": {
-                    "count": 235
-                },
-                "Feneberg": {
-                    "count": 58
-                },
-                "denn's Biomarkt": {
-                    "count": 52
-                },
-                "dm": {
-                    "count": 114
-                },
-                "Kvickly": {
-                    "count": 55
-                },
-                "Makro": {
-                    "count": 140
-                },
-                "Dico": {
-                    "count": 53
-                },
-                "Nah & Frisch": {
-                    "count": 73
-                },
-                "Champion": {
-                    "count": 59
-                },
-                "ICA Supermarket": {
-                    "count": 51
-                },
-                "Fakta": {
-                    "count": 235
-                },
-                "Магнит": {
-                    "count": 1760
-                },
-                "Caprabo": {
-                    "count": 103
-                },
-                "Famiglia Cooperativa": {
-                    "count": 64
-                },
-                "Народная 7Я семьЯ": {
-                    "count": 154
-                },
-                "Esselunga": {
-                    "count": 85
-                },
-                "Maxima": {
-                    "count": 102
-                },
-                "Petit Casino": {
-                    "count": 111
-                },
-                "Wasgau": {
-                    "count": 60
-                },
-                "Pingo Doce": {
-                    "count": 253
-                },
-                "Match": {
-                    "count": 140
-                },
-                "Profi": {
-                    "count": 60
-                },
-                "Lider": {
-                    "count": 65
-                },
-                "Unimarc": {
-                    "count": 177
-                },
-                "Co-operative Food": {
-                    "count": 59
-                },
-                "Santa Isabel": {
-                    "count": 128
-                },
-                "Седьмой континент": {
-                    "count": 79
-                },
-                "HIT": {
-                    "count": 59
-                },
-                "Rimi": {
-                    "count": 106
-                },
-                "Conad": {
-                    "count": 304
-                },
-                "Фуршет": {
-                    "count": 76
-                },
-                "Willys": {
-                    "count": 56
-                },
-                "Farmfoods": {
-                    "count": 64
-                },
-                "U Express": {
-                    "count": 51
-                },
-                "Фора": {
-                    "count": 52
-                },
-                "Dunnes Stores": {
-                    "count": 73
-                },
-                "Сільпо": {
-                    "count": 125
-                },
-                "マルエツ": {
-                    "count": 59
-                },
-                "Piggly Wiggly": {
-                    "count": 57
-                },
-                "Crai": {
-                    "count": 54
-                },
-                "El Árbol": {
-                    "count": 73
-                },
-                "Centre Commercial E. Leclerc": {
-                    "count": 549
-                },
-                "Foodland": {
-                    "count": 100
-                },
-                "Super Brugsen": {
-                    "count": 67
-                },
-                "Дикси": {
-                    "count": 683
-                },
-                "Пятёрочка": {
-                    "count": 1344
-                },
-                "Publix": {
-                    "count": 339
-                },
-                "Føtex": {
-                    "count": 66
-                },
-                "coop": {
-                    "count": 73
-                },
-                "Fressnapf": {
-                    "count": 69
-                },
-                "Coop Konsum": {
-                    "count": 79
-                },
-                "Carrefour Contact": {
-                    "count": 83
-                },
-                "SPAR": {
-                    "count": 286
-                },
-                "No Frills": {
-                    "count": 105
-                },
-                "Plodine": {
-                    "count": 52
-                },
-                "ADEG": {
-                    "count": 68
-                },
-                "Minipreço": {
-                    "count": 111
-                },
-                "Biedronka": {
-                    "count": 1335
-                },
-                "The Co-operative Food": {
-                    "count": 131
-                },
-                "Eurospin": {
-                    "count": 155
-                },
-                "Семья": {
-                    "count": 62
-                },
-                "Gadis": {
-                    "count": 53
-                },
-                "Евроопт": {
-                    "count": 68
-                },
-                "Centra": {
-                    "count": 51
-                },
-                "Квартал": {
-                    "count": 82
-                },
-                "New World": {
-                    "count": 69
-                },
-                "Countdown": {
-                    "count": 95
-                },
-                "Reliance Fresh": {
-                    "count": 61
-                },
-                "Stokrotka": {
-                    "count": 98
-                },
-                "Coop Jednota": {
-                    "count": 74
-                },
-                "Fred Meyer": {
-                    "count": 64
-                },
-                "Irma": {
-                    "count": 58
-                },
-                "Continente": {
-                    "count": 75
-                },
-                "Price Chopper": {
-                    "count": 99
-                },
-                "Game": {
-                    "count": 52
-                },
-                "Soriana": {
-                    "count": 93
-                },
-                "Alimerka": {
-                    "count": 64
-                },
-                "Piotr i Paweł": {
-                    "count": 53
-                },
-                "Перекресток": {
-                    "count": 312
-                },
-                "Maxima X": {
-                    "count": 117
-                },
-                "Карусель": {
-                    "count": 55
-                },
-                "ALDI Nord": {
-                    "count": 51
-                },
-                "Condis": {
-                    "count": 67
-                },
-                "Sam's Club": {
-                    "count": 138
-                },
-                "Копейка": {
-                    "count": 87
-                },
-                "Géant Casino": {
-                    "count": 54
-                },
-                "ASDA": {
-                    "count": 180
-                },
-                "Intermarche": {
-                    "count": 115
-                },
-                "Stop & Shop": {
-                    "count": 66
-                },
-                "Food Lion": {
-                    "count": 216
-                },
-                "Harris Teeter": {
-                    "count": 92
-                },
-                "Foodworks": {
-                    "count": 62
-                },
-                "Polo Market": {
-                    "count": 86
-                },
-                "Лента": {
-                    "count": 51
-                },
-                "西友 (SEIYU)": {
-                    "count": 58
-                },
-                "H-E-B": {
-                    "count": 293
-                },
-                "Атак": {
-                    "count": 53
-                },
-                "Полушка": {
-                    "count": 139
-                },
-                "Extra": {
-                    "count": 82
-                },
-                "Lewiatan": {
-                    "count": 94
-                },
-                "Sigma": {
-                    "count": 51
-                },
-                "АТБ": {
-                    "count": 322
-                },
-                "Społem": {
-                    "count": 55
-                },
-                "Bodega Aurrera": {
-                    "count": 82
-                },
-                "Tesco Lotus": {
-                    "count": 77
-                },
-                "Мария-Ра": {
-                    "count": 108
-                },
-                "Магнолия": {
-                    "count": 72
-                },
-                "Магазин": {
-                    "count": 120
-                },
-                "Монетка": {
-                    "count": 174
-                },
-                "Hy-Vee": {
-                    "count": 75
-                },
-                "Walmart Supercenter": {
-                    "count": 133
-                },
-                "Hannaford": {
-                    "count": 57
-                },
-                "Wegmans": {
-                    "count": 83
-                },
-                "業務スーパー": {
-                    "count": 61
-                },
-                "Norfa XL": {
-                    "count": 55
-                },
-                "ヨークマート (YorkMart)": {
-                    "count": 64
-                },
-                "Leclerc Drive": {
-                    "count": 76
-                }
-            },
-            "electronics": {
-                "Media Markt": {
-                    "count": 285
-                },
-                "Maplin": {
-                    "count": 65
-                },
-                "Best Buy": {
-                    "count": 345
-                },
-                "Future Shop": {
-                    "count": 73
-                },
-                "Saturn": {
-                    "count": 134
-                },
-                "Currys": {
-                    "count": 80
-                },
-                "Radio Shack": {
-                    "count": 269
-                },
-                "Euronics": {
-                    "count": 115
-                },
-                "Expert": {
-                    "count": 123
-                },
-                "Эльдорадо": {
-                    "count": 184
-                },
-                "Darty": {
-                    "count": 74
-                },
-                "М.Видео": {
-                    "count": 89
-                },
-                "ヤマダ電機": {
-                    "count": 51
-                }
-            },
-            "convenience": {
-                "Shell": {
-                    "count": 255
-                },
-                "Spar": {
-                    "count": 922
-                },
-                "McColl's": {
-                    "count": 100
-                },
-                "Tesco Express": {
-                    "count": 426
-                },
-                "Sainsbury's Local": {
-                    "count": 104
-                },
-                "Aral": {
-                    "count": 56
-                },
-                "One Stop": {
-                    "count": 146
-                },
-                "The Co-operative Food": {
-                    "count": 115
-                },
-                "Londis": {
-                    "count": 352
-                },
-                "7-Eleven": {
-                    "count": 4440
-                },
-                "CBA": {
-                    "count": 135
-                },
-                "Coop": {
-                    "count": 538
-                },
-                "Sale": {
-                    "count": 80
-                },
-                "Statoil": {
-                    "count": 69
-                },
-                "Sheetz": {
-                    "count": 54
-                },
-                "Konzum": {
-                    "count": 173
-                },
-                "Siwa": {
-                    "count": 216
-                },
-                "Mercator": {
-                    "count": 57
-                },
-                "Esso": {
-                    "count": 67
-                },
-                "COOP Jednota": {
-                    "count": 181
-                },
-                "Mac's": {
-                    "count": 152
-                },
-                "Alepa": {
-                    "count": 62
-                },
-                "Hasty Market": {
-                    "count": 54
-                },
-                "K-Market": {
-                    "count": 54
-                },
-                "Costcutter": {
-                    "count": 292
-                },
-                "Valintatalo": {
-                    "count": 62
-                },
-                "SPAR": {
-                    "count": 197
-                },
-                "COOP": {
-                    "count": 140
-                },
-                "Casino": {
-                    "count": 90
-                },
-                "Franprix": {
-                    "count": 61
-                },
-                "Circle K": {
-                    "count": 289
-                },
-                "セブンイレブン": {
-                    "count": 3011,
-                    "tags": {
-                        "name:en": "7-Eleven"
-                    }
-                },
-                "ローソン": {
-                    "count": 1596,
-                    "tags": {
-                        "name:en": "LAWSON"
-                    }
-                },
-                "BP": {
-                    "count": 163
-                },
-                "Tesco": {
-                    "count": 55
-                },
-                "Petit Casino": {
-                    "count": 233
-                },
-                "Volg": {
-                    "count": 116
-                },
-                "Mace": {
-                    "count": 115
-                },
-                "Mini Market": {
-                    "count": 272
-                },
-                "Nisa Local": {
-                    "count": 77
-                },
-                "Dorfladen": {
-                    "count": 75
-                },
-                "Продукты": {
-                    "count": 4285
-                },
-                "Mini Stop": {
-                    "count": 228
-                },
-                "LAWSON": {
-                    "count": 419
-                },
-                "デイリーヤマザキ": {
-                    "count": 141
-                },
-                "Biedronka": {
-                    "count": 83
-                },
-                "Надежда": {
-                    "count": 56
-                },
-                "Mobil": {
-                    "count": 66
-                },
-                "Nisa": {
-                    "count": 51
-                },
-                "Premier": {
-                    "count": 129
-                },
-                "ABC": {
-                    "count": 152
-                },
-                "ミニストップ": {
-                    "count": 316,
-                    "tags": {
-                        "name:en": "MINISTOP"
-                    }
-                },
-                "サンクス": {
-                    "count": 560,
-                    "tags": {
-                        "name:en": "sunkus"
-                    }
-                },
-                "スリーエフ": {
-                    "count": 88
-                },
-                "8 à Huit": {
-                    "count": 61
-                },
-                "Tchibo": {
-                    "count": 56
-                },
-                "Żabka": {
-                    "count": 546
-                },
-                "Almacen": {
-                    "count": 229
-                },
-                "Vival": {
-                    "count": 194
-                },
-                "FamilyMart": {
-                    "count": 529
-                },
-                "ファミリーマート": {
-                    "count": 1608,
-                    "tags": {
-                        "name:en": "FamilyMart"
-                    }
-                },
-                "Carrefour City": {
-                    "count": 57
-                },
-                "Sunkus": {
-                    "count": 62
-                },
-                "Casey's General Store": {
-                    "count": 95
-                },
-                "セブンイレブン(Seven-Eleven)": {
-                    "count": 65
-                },
-                "Jednota": {
-                    "count": 58
-                },
-                "Магазин": {
-                    "count": 915
-                },
-                "Гастроном": {
-                    "count": 152
-                },
-                "Sklep spożywczy": {
-                    "count": 318
-                },
-                "Centra": {
-                    "count": 111
-                },
-                "Магнит": {
-                    "count": 701
-                },
-                "サークルK": {
-                    "count": 538,
-                    "tags": {
-                        "name:en": "Circle K"
-                    }
-                },
-                "Wawa": {
-                    "count": 135
-                },
-                "Proxi": {
-                    "count": 123
-                },
-                "Универсам": {
-                    "count": 78
-                },
-                "Перекресток": {
-                    "count": 51
-                },
-                "Groszek": {
-                    "count": 65
-                },
-                "Select": {
-                    "count": 62
-                },
-                "Večerka": {
-                    "count": 51
-                },
-                "Potraviny": {
-                    "count": 249
-                },
-                "Смак": {
-                    "count": 78
-                },
-                "Эконом": {
-                    "count": 55
-                },
-                "Березка": {
-                    "count": 77
-                },
-                "Społem": {
-                    "count": 93
-                },
-                "Carrefour Express": {
-                    "count": 84
-                },
-                "Cumberland Farms": {
-                    "count": 63
-                },
-                "Chevron": {
-                    "count": 59
-                },
-                "Coop Jednota": {
-                    "count": 66
-                },
-                "Tesco Lotus Express": {
-                    "count": 67
-                },
-                "Kiosk": {
-                    "count": 55
-                },
-                "24 часа": {
-                    "count": 58
-                },
-                "Минимаркет": {
-                    "count": 102
-                },
-                "Oxxo": {
-                    "count": 669
-                },
-                "Пятёрочка": {
-                    "count": 398
-                },
-                "abc": {
-                    "count": 74
-                },
-                "7/11": {
-                    "count": 51
-                },
-                "Stewart's": {
-                    "count": 255
-                },
-                "Продукти": {
-                    "count": 171
-                },
-                "ローソンストア100 (LAWSON STORE 100)": {
-                    "count": 85
-                },
-                "Дикси": {
-                    "count": 119
-                },
-                "Радуга": {
-                    "count": 86
-                },
-                "ローソンストア100": {
-                    "count": 76
-                },
-                "เซเว่นอีเลฟเว่น": {
-                    "count": 185
-                },
-                "Spożywczy": {
-                    "count": 78
-                },
-                "Delikatesy Centrum": {
-                    "count": 53
-                },
-                "Citgo": {
-                    "count": 62
-                },
-                "Фортуна": {
-                    "count": 51
-                },
-                "Kum & Go": {
-                    "count": 59
-                },
-                "Мария-Ра": {
-                    "count": 76
-                },
-                "Picard": {
-                    "count": 57
-                },
-                "Four Square": {
-                    "count": 52
-                },
-                "Визит": {
-                    "count": 57
-                },
-                "Авоська": {
-                    "count": 55
-                },
-                "Dollar General": {
-                    "count": 127
-                },
-                "Studenac": {
-                    "count": 76
-                },
-                "Central Convenience Store": {
-                    "count": 55
-                },
-                "Монетка": {
-                    "count": 62
-                },
-                "продукты": {
-                    "count": 114
-                },
-                "Теремок": {
-                    "count": 56
-                },
-                "Kwik Trip": {
-                    "count": 69
-                },
-                "Кулинария": {
-                    "count": 55
-                },
-                "全家": {
-                    "count": 90
-                },
-                "Мечта": {
-                    "count": 54
-                },
-                "Epicerie": {
-                    "count": 102
-                },
-                "Кировский": {
-                    "count": 67
-                },
-                "Food Mart": {
-                    "count": 117
-                },
-                "Delikatesy": {
-                    "count": 81
-                },
-                "ポプラ": {
-                    "count": 54
-                },
-                "Lewiatan": {
-                    "count": 135
-                },
-                "Продуктовый магазин": {
-                    "count": 149
-                },
-                "Продуктовый": {
-                    "count": 84
-                },
-                "セイコーマート (Seicomart)": {
-                    "count": 72
-                },
-                "Виктория": {
-                    "count": 70
-                },
-                "Весна": {
-                    "count": 57
-                },
-                "Mini Market Non-Stop": {
-                    "count": 60
-                },
-                "QuikTrip": {
-                    "count": 75
-                },
-                "Копеечка": {
-                    "count": 51
-                },
-                "Royal Farms": {
-                    "count": 51
-                },
-                "Alfamart": {
-                    "count": 103
-                },
-                "Indomaret": {
-                    "count": 141
-                },
-                "магазин": {
-                    "count": 171
-                },
-                "全家便利商店": {
-                    "count": 156
-                },
-                "Boutique": {
-                    "count": 59
-                },
-                "მარკეტი (Market)": {
-                    "count": 144
-                },
-                "Stores": {
-                    "count": 61
-                }
-            },
-            "chemist": {
-                "dm": {
-                    "count": 939
-                },
-                "Müller": {
-                    "count": 212
-                },
-                "Schlecker": {
-                    "count": 187
-                },
-                "Etos": {
-                    "count": 467
-                },
-                "Bipa": {
-                    "count": 289
-                },
-                "Rossmann": {
-                    "count": 1669
-                },
-                "DM Drogeriemarkt": {
-                    "count": 55
-                },
-                "Ihr Platz": {
-                    "count": 73
-                },
-                "Douglas": {
-                    "count": 62
-                },
-                "Kruidvat": {
-                    "count": 123
-                }
-            },
-            "car_repair": {
-                "Peugeot": {
-                    "count": 83
-                },
-                "Kwik Fit": {
-                    "count": 75
-                },
-                "ATU": {
-                    "count": 261
-                },
-                "Kwik-Fit": {
-                    "count": 53
-                },
-                "Midas": {
-                    "count": 202
-                },
-                "Feu Vert": {
-                    "count": 113
-                },
-                "Norauto": {
-                    "count": 152
-                },
-                "Speedy": {
-                    "count": 115
-                },
-                "Автозапчасти": {
-                    "count": 212
-                },
-                "Renault": {
-                    "count": 171
-                },
-                "Pit Stop": {
-                    "count": 58
-                },
-                "Jiffy Lube": {
-                    "count": 198
-                },
-                "Шиномонтаж": {
-                    "count": 1157
-                },
-                "СТО": {
-                    "count": 395
-                },
-                "O'Reilly Auto Parts": {
-                    "count": 81
-                },
-                "Carglass": {
-                    "count": 112
-                },
-                "шиномонтаж": {
-                    "count": 62
-                },
-                "Citroen": {
-                    "count": 51
-                },
-                "Euromaster": {
-                    "count": 87
-                },
-                "Firestone": {
-                    "count": 88
-                },
-                "AutoZone": {
-                    "count": 82
-                },
-                "Автосервис": {
-                    "count": 361
-                },
-                "Advance Auto Parts": {
-                    "count": 52
-                },
-                "Roady": {
-                    "count": 56
-                }
-            },
-            "furniture": {
-                "IKEA": {
-                    "count": 169
-                },
-                "Jysk": {
-                    "count": 109
-                },
-                "Roller": {
-                    "count": 78
-                },
-                "Dänisches Bettenlager": {
-                    "count": 309
-                },
-                "Conforama": {
-                    "count": 99
-                },
-                "Matratzen Concord": {
-                    "count": 52
-                },
-                "Мебель": {
-                    "count": 210
-                },
-                "But": {
-                    "count": 63
-                }
-            },
-            "doityourself": {
-                "Hornbach": {
-                    "count": 123
-                },
-                "B&Q": {
-                    "count": 225
-                },
-                "Hubo": {
-                    "count": 77
-                },
-                "Mr Bricolage": {
-                    "count": 88
-                },
-                "Gamma": {
-                    "count": 111
-                },
-                "OBI": {
-                    "count": 422
-                },
-                "Lowes": {
-                    "count": 1152
-                },
-                "Wickes": {
-                    "count": 123
-                },
-                "Hagebau": {
-                    "count": 59
-                },
-                "Max Bahr": {
-                    "count": 79
-                },
-                "Castorama": {
-                    "count": 153
-                },
-                "Rona": {
-                    "count": 61
-                },
-                "Home Depot": {
-                    "count": 865
-                },
-                "Toom Baumarkt": {
-                    "count": 71
-                },
-                "Homebase": {
-                    "count": 225
-                },
-                "Baumax": {
-                    "count": 95
-                },
-                "Lagerhaus": {
-                    "count": 79
-                },
-                "Bauhaus": {
-                    "count": 186
-                },
-                "Canadian Tire": {
-                    "count": 97
-                },
-                "Leroy Merlin": {
-                    "count": 209
-                },
-                "Hellweg": {
-                    "count": 58
-                },
-                "Brico": {
-                    "count": 98
-                },
-                "Bricomarché": {
-                    "count": 235
-                },
-                "Toom": {
-                    "count": 67
-                },
-                "Hagebaumarkt": {
-                    "count": 107
-                },
-                "Praktiker": {
-                    "count": 122
-                },
-                "Menards": {
-                    "count": 70
-                },
-                "Weldom": {
-                    "count": 73
-                },
-                "Bunnings Warehouse": {
-                    "count": 91
-                },
-                "Ace Hardware": {
-                    "count": 147
-                },
-                "Home Hardware": {
-                    "count": 72
-                },
-                "Хозтовары": {
-                    "count": 86
-                },
-                "Стройматериалы": {
-                    "count": 197
-                },
-                "Bricorama": {
-                    "count": 60
-                },
-                "Point P": {
-                    "count": 59
-                }
-            },
-            "stationery": {
-                "Staples": {
-                    "count": 299
-                },
-                "McPaper": {
-                    "count": 83
-                },
-                "Office Depot": {
-                    "count": 98
-                },
-                "Канцтовары": {
-                    "count": 63
-                }
-            },
-            "car": {
-                "Skoda": {
-                    "count": 97
-                },
-                "BMW": {
-                    "count": 149
-                },
-                "Citroen": {
-                    "count": 277
-                },
-                "Renault": {
-                    "count": 382
-                },
-                "Mercedes-Benz": {
-                    "count": 235
-                },
-                "Volvo": {
-                    "count": 96
-                },
-                "Ford": {
-                    "count": 239
-                },
-                "Volkswagen": {
-                    "count": 217
-                },
-                "Mazda": {
-                    "count": 105
-                },
-                "Mitsubishi": {
-                    "count": 73
-                },
-                "Fiat": {
-                    "count": 93
-                },
-                "Автозапчасти": {
-                    "count": 277
-                },
-                "Opel": {
-                    "count": 165
-                },
-                "Audi": {
-                    "count": 121
-                },
-                "Toyota": {
-                    "count": 271
-                },
-                "Nissan": {
-                    "count": 189
-                },
-                "Suzuki": {
-                    "count": 75
-                },
-                "Honda": {
-                    "count": 157
-                },
-                "Peugeot": {
-                    "count": 308
-                },
-                "Шиномонтаж": {
-                    "count": 259
-                },
-                "Hyundai": {
-                    "count": 166
-                },
-                "Subaru": {
-                    "count": 58
-                },
-                "Chevrolet": {
-                    "count": 86
-                },
-                "Автомагазин": {
-                    "count": 72
-                }
-            },
-            "clothes": {
-                "Matalan": {
-                    "count": 90
-                },
-                "KiK": {
-                    "count": 1219
-                },
-                "H&M": {
-                    "count": 658
-                },
-                "Urban Outfitters": {
-                    "count": 63
-                },
-                "Vögele": {
-                    "count": 132
-                },
-                "Zeeman": {
-                    "count": 121
-                },
-                "Takko": {
-                    "count": 515
-                },
-                "Adler": {
-                    "count": 55
-                },
-                "C&A": {
-                    "count": 506
-                },
-                "Zara": {
-                    "count": 217
-                },
-                "Vero Moda": {
-                    "count": 95
-                },
-                "NKD": {
-                    "count": 486
-                },
-                "Ernsting's family": {
-                    "count": 312
-                },
-                "Winners": {
-                    "count": 65
-                },
-                "River Island": {
-                    "count": 59
-                },
-                "Next": {
-                    "count": 176
-                },
-                "Gap": {
-                    "count": 81
-                },
-                "Adidas": {
-                    "count": 92
-                },
-                "Woolworths": {
-                    "count": 117
-                },
-                "Mr Price": {
-                    "count": 88
-                },
-                "Jet": {
-                    "count": 61
-                },
-                "Pep": {
-                    "count": 134
-                },
-                "Edgars": {
-                    "count": 110
-                },
-                "Ackermans": {
-                    "count": 91
-                },
-                "Truworths": {
-                    "count": 65
-                },
-                "Ross": {
-                    "count": 93
-                },
-                "Burton": {
-                    "count": 51
-                },
-                "Dorothy Perkins": {
-                    "count": 53
-                },
-                "Deichmann": {
-                    "count": 61
-                },
-                "Lindex": {
-                    "count": 73
-                },
-                "s.Oliver": {
-                    "count": 56
-                },
-                "Cecil": {
-                    "count": 51
-                },
-                "Dress Barn": {
-                    "count": 52
-                },
-                "Old Navy": {
-                    "count": 174
-                },
-                "Jack & Jones": {
-                    "count": 52
-                },
-                "Pimkie": {
-                    "count": 73
-                },
-                "Esprit": {
-                    "count": 231
-                },
-                "Primark": {
-                    "count": 92
-                },
-                "Bonita": {
-                    "count": 155
-                },
-                "Mexx": {
-                    "count": 67
-                },
-                "Gerry Weber": {
-                    "count": 71
-                },
-                "Tally Weijl": {
-                    "count": 70
-                },
-                "Mango": {
-                    "count": 133
-                },
-                "TK Maxx": {
-                    "count": 84
-                },
-                "Benetton": {
-                    "count": 101
-                },
-                "Ulla Popken": {
-                    "count": 61
-                },
-                "AWG": {
-                    "count": 66
-                },
-                "Tommy Hilfiger": {
-                    "count": 75
-                },
-                "New Yorker": {
-                    "count": 180
-                },
-                "Orsay": {
-                    "count": 73
-                },
-                "Jeans Fritz": {
-                    "count": 51
-                },
-                "Charles Vögele": {
-                    "count": 69
-                },
-                "New Look": {
-                    "count": 126
-                },
-                "Lacoste": {
-                    "count": 78
-                },
-                "Etam": {
-                    "count": 53
-                },
-                "Kiabi": {
-                    "count": 148
-                },
-                "Jack Wolfskin": {
-                    "count": 60
-                },
-                "American Apparel": {
-                    "count": 57
-                },
-                "Men's Wearhouse": {
-                    "count": 54
-                },
-                "Intimissimi": {
-                    "count": 52
-                },
-                "United Colors of Benetton": {
-                    "count": 96
-                },
-                "Jules": {
-                    "count": 63
-                },
-                "Second Hand": {
-                    "count": 53
-                },
-                "AOKI": {
-                    "count": 57
-                },
-                "Calzedonia": {
-                    "count": 68
-                },
-                "洋服の青山": {
-                    "count": 100
-                },
-                "Levi's": {
-                    "count": 63
-                },
-                "Celio": {
-                    "count": 74
-                },
-                "TJ Maxx": {
-                    "count": 57
-                },
-                "Promod": {
-                    "count": 82
-                },
-                "Street One": {
-                    "count": 72
-                },
-                "ユニクロ": {
-                    "count": 59
-                },
-                "Banana Republic": {
-                    "count": 57
-                },
-                "Одежда": {
-                    "count": 75
-                },
-                "Marshalls": {
-                    "count": 56
-                },
-                "La Halle": {
-                    "count": 62
-                },
-                "Peacocks": {
-                    "count": 89
-                },
-                "しまむら": {
-                    "count": 60
-                }
-            },
-            "books": {
-                "Bruna": {
-                    "count": 58
-                },
-                "Waterstones": {
-                    "count": 90
-                },
-                "Libro": {
-                    "count": 57
-                },
-                "Barnes & Noble": {
-                    "count": 267
-                },
-                "Weltbild": {
-                    "count": 74
-                },
-                "Thalia": {
-                    "count": 121
-                },
-                "Книги": {
-                    "count": 112
-                }
-            },
-            "department_store": {
-                "Debenhams": {
-                    "count": 67
-                },
-                "Canadian Tire": {
-                    "count": 75
-                },
-                "Karstadt": {
-                    "count": 64
-                },
-                "Walmart": {
-                    "count": 517
-                },
-                "Kmart": {
-                    "count": 143
-                },
-                "Target": {
-                    "count": 574
-                },
-                "Galeria Kaufhof": {
-                    "count": 61
-                },
-                "Marks & Spencer": {
-                    "count": 66
-                },
-                "Big W": {
-                    "count": 57
-                },
-                "Woolworth": {
-                    "count": 78
-                },
-                "Универмаг": {
-                    "count": 72
-                },
-                "Sears": {
-                    "count": 235
-                },
-                "Walmart Supercenter": {
-                    "count": 101
-                },
-                "Kohl's": {
-                    "count": 153
-                },
-                "Macy's": {
-                    "count": 147
-                },
-                "Sam's Club": {
-                    "count": 54
-                },
-                "JCPenney": {
-                    "count": 66
-                }
-            },
-            "alcohol": {
-                "Alko": {
-                    "count": 145
-                },
-                "The Beer Store": {
-                    "count": 150
-                },
-                "Systembolaget": {
-                    "count": 210
-                },
-                "LCBO": {
-                    "count": 239
-                },
-                "Ароматный мир": {
-                    "count": 62
-                },
-                "Bargain Booze": {
-                    "count": 62
-                },
-                "Nicolas": {
-                    "count": 119
-                },
-                "BWS": {
-                    "count": 70
-                },
-                "Botilleria": {
-                    "count": 77
-                },
-                "SAQ": {
-                    "count": 72
-                },
-                "Gall & Gall": {
-                    "count": 512
-                },
-                "Живое пиво": {
-                    "count": 70
-                }
-            },
-            "bakery": {
-                "Kamps": {
-                    "count": 252
-                },
-                "Banette": {
-                    "count": 52
-                },
-                "Bäckerei Schmidt": {
-                    "count": 57
-                },
-                "Anker": {
-                    "count": 73
-                },
-                "Hofpfisterei": {
-                    "count": 111
-                },
-                "Greggs": {
-                    "count": 276
-                },
-                "Oebel": {
-                    "count": 57
-                },
-                "Boulangerie": {
-                    "count": 266
-                },
-                "Stadtbäckerei": {
-                    "count": 57
-                },
-                "Steinecke": {
-                    "count": 145
-                },
-                "Ihle": {
-                    "count": 76
-                },
-                "Goldilocks": {
-                    "count": 59
-                },
-                "Dat Backhus": {
-                    "count": 67
-                },
-                "K&U": {
-                    "count": 61
-                },
-                "Der Beck": {
-                    "count": 96
-                },
-                "Thürmann": {
-                    "count": 54
-                },
-                "Backwerk": {
-                    "count": 95
-                },
-                "Bäcker": {
-                    "count": 68
-                },
-                "Schäfer's": {
-                    "count": 51
-                },
-                "Panaderia": {
-                    "count": 168
-                },
-                "Goeken backen": {
-                    "count": 51
-                },
-                "Stadtbäckerei Junge": {
-                    "count": 51
-                },
-                "Boulangerie Patisserie": {
-                    "count": 119
-                },
-                "Paul": {
-                    "count": 81
-                },
-                "Хлеб": {
-                    "count": 89
-                },
-                "Piekarnia": {
-                    "count": 62
-                },
-                "Пекарня": {
-                    "count": 52
-                },
-                "Кулиничи": {
-                    "count": 51
-                }
-            },
-            "sports": {
-                "Sports Direct": {
-                    "count": 57
-                },
-                "Decathlon": {
-                    "count": 309
-                },
-                "Intersport": {
-                    "count": 283
-                },
-                "Sports Authority": {
-                    "count": 75
-                },
-                "Спортмастер": {
-                    "count": 87
-                },
-                "Sport 2000": {
-                    "count": 90
-                },
-                "Dick's Sporting Goods": {
-                    "count": 77
-                }
-            },
-            "variety_store": {
-                "Tedi": {
-                    "count": 157
-                },
-                "Dollarama": {
-                    "count": 103
-                },
-                "Family Dollar": {
-                    "count": 61
-                },
-                "Dollar Tree": {
-                    "count": 110
-                },
-                "Dollar General": {
-                    "count": 80
-                }
-            },
-            "pet": {
-                "Fressnapf": {
-                    "count": 318
-                },
-                "PetSmart": {
-                    "count": 177
-                },
-                "Das Futterhaus": {
-                    "count": 69
-                },
-                "Pets at Home": {
-                    "count": 62
-                },
-                "Petco": {
-                    "count": 101
-                },
-                "Зоомагазин": {
-                    "count": 100
-                }
-            },
-            "shoes": {
-                "Deichmann": {
-                    "count": 622
-                },
-                "Reno": {
-                    "count": 183
-                },
-                "Ecco": {
-                    "count": 55
-                },
-                "Clarks": {
-                    "count": 109
-                },
-                "La Halle aux Chaussures": {
-                    "count": 69
-                },
-                "Brantano": {
-                    "count": 71
-                },
-                "Geox": {
-                    "count": 51
-                },
-                "Salamander": {
-                    "count": 51
-                },
-                "Обувь": {
-                    "count": 100
-                },
-                "Payless Shoe Source": {
-                    "count": 67
-                },
-                "Famous Footwear": {
-                    "count": 59
-                },
-                "Quick Schuh": {
-                    "count": 72
-                },
-                "Shoe Zone": {
-                    "count": 55
-                },
-                "Foot Locker": {
-                    "count": 82
-                },
-                "Bata": {
-                    "count": 101
-                },
-                "ЦентрОбувь": {
-                    "count": 51
-                }
-            },
-            "toys": {
-                "La Grande Récré": {
-                    "count": 56
-                },
-                "Toys R Us": {
-                    "count": 151,
-                    "tags": {
-                        "shop": "toys"
-                    }
-                },
-                "Intertoys": {
-                    "count": 57
-                },
-                "Детский мир": {
-                    "count": 86
-                },
-                "Игрушки": {
-                    "count": 58
-                }
-            },
-            "travel_agency": {
-                "Flight Centre": {
-                    "count": 92
-                },
-                "Thomas Cook": {
-                    "count": 119
-                }
-            },
-            "jewelry": {
-                "Bijou Brigitte": {
-                    "count": 57
-                },
-                "Christ": {
-                    "count": 57
-                },
-                "Swarovski": {
-                    "count": 74
-                }
-            },
-            "optician": {
-                "Fielmann": {
-                    "count": 232
-                },
-                "Apollo Optik": {
-                    "count": 150
-                },
-                "Vision Express": {
-                    "count": 58
-                },
-                "Оптика": {
-                    "count": 182
-                },
-                "Optic 2000": {
-                    "count": 98
-                },
-                "Alain Afflelou": {
-                    "count": 73
-                },
-                "Specsavers": {
-                    "count": 124
-                },
-                "Krys": {
-                    "count": 77
-                },
-                "Atol": {
-                    "count": 55
-                }
-            },
-            "video": {
-                "Blockbuster": {
-                    "count": 184
-                },
-                "World of Video": {
-                    "count": 64
-                }
-            },
-            "mobile_phone": {
-                "Билайн": {
-                    "count": 128
-                },
-                "ソフトバンクショップ (SoftBank shop)": {
-                    "count": 255
-                },
-                "Vodafone": {
-                    "count": 355
-                },
-                "O2": {
-                    "count": 208
-                },
-                "Carphone Warehouse": {
-                    "count": 127
-                },
-                "Orange": {
-                    "count": 246
-                },
-                "Verizon Wireless": {
-                    "count": 125
-                },
-                "Sprint": {
-                    "count": 109
-                },
-                "T-Mobile": {
-                    "count": 175
-                },
-                "МТС": {
-                    "count": 352
-                },
-                "Евросеть": {
-                    "count": 506
-                },
-                "Bell": {
-                    "count": 190
-                },
-                "The Phone House": {
-                    "count": 83
-                },
-                "SFR": {
-                    "count": 71
-                },
-                "Связной": {
-                    "count": 439
-                },
-                "Мегафон": {
-                    "count": 251
-                },
-                "AT&T": {
-                    "count": 124
-                },
-                "ドコモショップ (docomo shop)": {
-                    "count": 114
-                },
-                "au": {
-                    "count": 65
-                },
-                "Movistar": {
-                    "count": 77
-                },
-                "Bitė": {
-                    "count": 72
-                }
-            },
-            "hifi": {},
-            "computer": {
-                "PC World": {
-                    "count": 55
-                },
-                "DNS": {
-                    "count": 128
-                }
-            },
-            "hairdresser": {
-                "Klier": {
-                    "count": 119
-                },
-                "Supercuts": {
-                    "count": 106
-                },
-                "Hairkiller": {
-                    "count": 51
-                },
-                "Great Clips": {
-                    "count": 182
-                },
-                "Парикмахерская": {
-                    "count": 510
-                },
-                "Стиль": {
-                    "count": 51
-                },
-                "Fryzjer": {
-                    "count": 56
-                },
-                "Franck Provost": {
-                    "count": 70
-                },
-                "Салон красоты": {
-                    "count": 70
-                }
-            },
-            "hardware": {
-                "1000 мелочей": {
-                    "count": 61
-                },
-                "Хозтовары": {
-                    "count": 151
-                },
-                "Стройматериалы": {
-                    "count": 54
-                }
-            },
-            "motorcycle": {
-                "Yamaha": {
-                    "count": 67
-                },
-                "Honda": {
-                    "count": 69
-                }
-            }
-        }
-    },
-    "addressFormats": [
-        {
-            "format": [
-                [
-                    "housenumber",
-                    "street"
-                ],
-                [
-                    "city",
-                    "postcode"
-                ]
-            ]
-        },
-        {
-            "countryCodes": [
-                "gb"
-            ],
-            "format": [
-                [
-                    "housename"
-                ],
-                [
-                    "housenumber",
-                    "street"
-                ],
-                [
-                    "city",
-                    "postcode"
-                ]
-            ]
-        },
-        {
-            "countryCodes": [
-                "ie"
-            ],
-            "format": [
-                [
-                    "housename"
-                ],
-                [
-                    "housenumber",
-                    "street"
-                ],
-                [
-                    "city"
-                ]
-            ]
-        },
-        {
-            "countryCodes": [
-                "ad",
-                "at",
-                "ba",
-                "be",
-                "ch",
-                "cz",
-                "de",
-                "dk",
-                "es",
-                "fi",
-                "gr",
-                "hr",
-                "is",
-                "it",
-                "li",
-                "nl",
-                "no",
-                "pl",
-                "pt",
-                "se",
-                "si",
-                "sk",
-                "sm",
-                "va"
-            ],
-            "format": [
-                [
-                    "street",
-                    "housenumber"
-                ],
-                [
-                    "postcode",
-                    "city"
-                ]
-            ]
-        },
-        {
-            "countryCodes": [
-                "fr",
-                "lu",
-                "mo"
-            ],
-            "format": [
-                [
-                    "housenumber",
-                    "street"
-                ],
-                [
-                    "postcode",
-                    "city"
-                ]
-            ]
-        },
-        {
-            "countryCodes": [
-                "br"
-            ],
-            "format": [
-                [
-                    "street"
-                ],
-                [
-                    "housenumber",
-                    "suburb"
-                ],
-                [
-                    "city",
-                    "postcode"
-                ]
-            ]
-        },
-        {
-            "countryCodes": [
-                "vn"
-            ],
-            "format": [
-                [
-                    "housenumber",
-                    "street"
-                ],
-                [
-                    "subdistrict"
-                ],
-                [
-                    "district"
-                ],
-                [
-                    "city"
-                ],
-                [
-                    "province",
-                    "postcode"
-                ]
-            ]
-        }
-    ]
-};
\ No newline at end of file
+               while (!result.done) {
+                       call$3.call(cb, thisArg, result.value, doBreak);
+                       if (broken) return;
+                       result = iterable.next();
+               }
+       };
+
+       var iterator = createCommonjsModule(function (module) {
+
+       var toStringTagSymbol = es6Symbol.toStringTag
+
+         , defineProperty = Object.defineProperty
+         , SetIterator;
+
+       SetIterator = module.exports = function (set, kind) {
+               if (!(this instanceof SetIterator)) return new SetIterator(set, kind);
+               es6Iterator.call(this, set.__setData__, set);
+               if (!kind) kind = 'value';
+               else if (contains.call(kind, 'key+value')) kind = 'key+value';
+               else kind = 'value';
+               defineProperty(this, '__kind__', d_1('', kind));
+       };
+       if (setPrototypeOf) setPrototypeOf(SetIterator, es6Iterator);
+
+       SetIterator.prototype = Object.create(es6Iterator.prototype, {
+               constructor: d_1(SetIterator),
+               _resolve: d_1(function (i) {
+                       if (this.__kind__ === 'value') return this.__list__[i];
+                       return [this.__list__[i], this.__list__[i]];
+               }),
+               toString: d_1(function () { return '[object Set Iterator]'; })
+       });
+       defineProperty(SetIterator.prototype, toStringTagSymbol, d_1('c', 'Set Iterator'));
+       });
+
+       // Exports true if environment provides native `Set` implementation,
+
+       var isNativeImplemented = (function () {
+               if (typeof Set === 'undefined') return false;
+               return (Object.prototype.toString.call(Set.prototype) === '[object Set]');
+       }());
+
+       var iterator$1       = validIterable
+
+         , call$4 = Function.prototype.call
+         , defineProperty$5 = Object.defineProperty, getPrototypeOf$1 = Object.getPrototypeOf
+         , SetPoly, getValues, NativeSet;
+
+       if (isNativeImplemented) NativeSet = Set;
+
+       var polyfill$1 = SetPoly = function Set(/*iterable*/) {
+               var iterable = arguments[0], self;
+               if (!(this instanceof SetPoly)) throw new TypeError('Constructor requires \'new\'');
+               if (isNativeImplemented && setPrototypeOf) self = setPrototypeOf(new NativeSet(), getPrototypeOf$1(this));
+               else self = this;
+               if (iterable != null) iterator$1(iterable);
+               defineProperty$5(self, '__setData__', d_1('c', []));
+               if (!iterable) return self;
+               forOf(iterable, function (value) {
+                       if (eIndexOf.call(this, value) !== -1) return;
+                       this.push(value);
+               }, self.__setData__);
+               return self;
+       };
+
+       if (isNativeImplemented) {
+               if (setPrototypeOf) setPrototypeOf(SetPoly, NativeSet);
+               SetPoly.prototype = Object.create(NativeSet.prototype, { constructor: d_1(SetPoly) });
+       }
+
+       eventEmitter(Object.defineProperties(SetPoly.prototype, {
+               add: d_1(function (value) {
+                       if (this.has(value)) return this;
+                       this.emit('_add', this.__setData__.push(value) - 1, value);
+                       return this;
+               }),
+               clear: d_1(function () {
+                       if (!this.__setData__.length) return;
+                       clear.call(this.__setData__);
+                       this.emit('_clear');
+               }),
+               delete: d_1(function (value) {
+                       var index = eIndexOf.call(this.__setData__, value);
+                       if (index === -1) return false;
+                       this.__setData__.splice(index, 1);
+                       this.emit('_delete', index, value);
+                       return true;
+               }),
+               entries: d_1(function () { return new iterator(this, 'key+value'); }),
+               forEach: d_1(function (cb/*, thisArg*/) {
+                       var thisArg = arguments[1], iterator, result, value;
+                       validCallable(cb);
+                       iterator = this.values();
+                       result = iterator._next();
+                       while (result !== undefined) {
+                               value = iterator._resolve(result);
+                               call$4.call(cb, thisArg, value, value, this);
+                               result = iterator._next();
+                       }
+               }),
+               has: d_1(function (value) {
+                       return (eIndexOf.call(this.__setData__, value) !== -1);
+               }),
+               keys: d_1(getValues = function () { return this.values(); }),
+               size: d_1.gs(function () { return this.__setData__.length; }),
+               values: d_1(function () { return new iterator(this); }),
+               toString: d_1(function () { return '[object Set]'; })
+       }));
+       defineProperty$5(SetPoly.prototype, es6Symbol.iterator, d_1(getValues));
+       defineProperty$5(SetPoly.prototype, es6Symbol.toStringTag, d_1('c', 'Set'));
+
+       var es6Set = isImplemented() ? Set : polyfill$1;
+
+       var isImplemented$9 = function () {
+               var map, iterator, result;
+               if (typeof Map !== 'function') return false;
+               try {
+                       // WebKit doesn't support arguments and crashes
+                       map = new Map([['raz', 'one'], ['dwa', 'two'], ['trzy', 'three']]);
+               } catch (e) {
+                       return false;
+               }
+               if (String(map) !== '[object Map]') return false;
+               if (map.size !== 3) return false;
+               if (typeof map.clear !== 'function') return false;
+               if (typeof map.delete !== 'function') return false;
+               if (typeof map.entries !== 'function') return false;
+               if (typeof map.forEach !== 'function') return false;
+               if (typeof map.get !== 'function') return false;
+               if (typeof map.has !== 'function') return false;
+               if (typeof map.keys !== 'function') return false;
+               if (typeof map.set !== 'function') return false;
+               if (typeof map.values !== 'function') return false;
+
+               iterator = map.entries();
+               result = iterator.next();
+               if (result.done !== false) return false;
+               if (!result.value) return false;
+               if (result.value[0] !== 'raz') return false;
+               if (result.value[1] !== 'one') return false;
+
+               return true;
+       };
+
+       var forEach$2 = Array.prototype.forEach, create$4 = Object.create;
+
+       // eslint-disable-next-line no-unused-vars
+       var primitiveSet = function (arg /*, …args*/) {
+               var set = create$4(null);
+               forEach$2.call(arguments, function (name) {
+                       set[name] = true;
+               });
+               return set;
+       };
+
+       var iteratorKinds = primitiveSet('key',
+               'value', 'key+value');
+
+       var iterator$2 = createCommonjsModule(function (module) {
+
+       var toStringTagSymbol = es6Symbol.toStringTag
+
+         , defineProperties = Object.defineProperties
+         , unBind = es6Iterator.prototype._unBind
+         , MapIterator;
+
+       MapIterator = module.exports = function (map, kind) {
+               if (!(this instanceof MapIterator)) return new MapIterator(map, kind);
+               es6Iterator.call(this, map.__mapKeysData__, map);
+               if (!kind || !iteratorKinds[kind]) kind = 'key+value';
+               defineProperties(this, {
+                       __kind__: d_1('', kind),
+                       __values__: d_1('w', map.__mapValuesData__)
+               });
+       };
+       if (setPrototypeOf) setPrototypeOf(MapIterator, es6Iterator);
+
+       MapIterator.prototype = Object.create(es6Iterator.prototype, {
+               constructor: d_1(MapIterator),
+               _resolve: d_1(function (i) {
+                       if (this.__kind__ === 'value') return this.__values__[i];
+                       if (this.__kind__ === 'key') return this.__list__[i];
+                       return [this.__list__[i], this.__values__[i]];
+               }),
+               _unBind: d_1(function () {
+                       this.__values__ = null;
+                       unBind.call(this);
+               }),
+               toString: d_1(function () { return '[object Map Iterator]'; })
+       });
+       Object.defineProperty(MapIterator.prototype, toStringTagSymbol,
+               d_1('c', 'Map Iterator'));
+       });
+
+       // Exports true if environment provides native `Map` implementation,
+
+       var isNativeImplemented$1 = (function () {
+               if (typeof Map === 'undefined') return false;
+               return (Object.prototype.toString.call(new Map()) === '[object Map]');
+       }());
+
+       var iterator$3       = validIterable
+
+         , call$5 = Function.prototype.call
+         , defineProperties$2 = Object.defineProperties, getPrototypeOf$2 = Object.getPrototypeOf
+         , MapPoly;
+
+       var polyfill$2 = MapPoly = function (/*iterable*/) {
+               var iterable = arguments[0], keys, values, self;
+               if (!(this instanceof MapPoly)) throw new TypeError('Constructor requires \'new\'');
+               if (isNativeImplemented$1 && setPrototypeOf && (Map !== MapPoly)) {
+                       self = setPrototypeOf(new Map(), getPrototypeOf$2(this));
+               } else {
+                       self = this;
+               }
+               if (iterable != null) iterator$3(iterable);
+               defineProperties$2(self, {
+                       __mapKeysData__: d_1('c', keys = []),
+                       __mapValuesData__: d_1('c', values = [])
+               });
+               if (!iterable) return self;
+               forOf(iterable, function (value) {
+                       var key = validValue(value)[0];
+                       value = value[1];
+                       if (eIndexOf.call(keys, key) !== -1) return;
+                       keys.push(key);
+                       values.push(value);
+               }, self);
+               return self;
+       };
+
+       if (isNativeImplemented$1) {
+               if (setPrototypeOf) setPrototypeOf(MapPoly, Map);
+               MapPoly.prototype = Object.create(Map.prototype, {
+                       constructor: d_1(MapPoly)
+               });
+       }
+
+       eventEmitter(defineProperties$2(MapPoly.prototype, {
+               clear: d_1(function () {
+                       if (!this.__mapKeysData__.length) return;
+                       clear.call(this.__mapKeysData__);
+                       clear.call(this.__mapValuesData__);
+                       this.emit('_clear');
+               }),
+               delete: d_1(function (key) {
+                       var index = eIndexOf.call(this.__mapKeysData__, key);
+                       if (index === -1) return false;
+                       this.__mapKeysData__.splice(index, 1);
+                       this.__mapValuesData__.splice(index, 1);
+                       this.emit('_delete', index, key);
+                       return true;
+               }),
+               entries: d_1(function () { return new iterator$2(this, 'key+value'); }),
+               forEach: d_1(function (cb/*, thisArg*/) {
+                       var thisArg = arguments[1], iterator, result;
+                       validCallable(cb);
+                       iterator = this.entries();
+                       result = iterator._next();
+                       while (result !== undefined) {
+                               call$5.call(cb, thisArg, this.__mapValuesData__[result],
+                                       this.__mapKeysData__[result], this);
+                               result = iterator._next();
+                       }
+               }),
+               get: d_1(function (key) {
+                       var index = eIndexOf.call(this.__mapKeysData__, key);
+                       if (index === -1) return;
+                       return this.__mapValuesData__[index];
+               }),
+               has: d_1(function (key) {
+                       return (eIndexOf.call(this.__mapKeysData__, key) !== -1);
+               }),
+               keys: d_1(function () { return new iterator$2(this, 'key'); }),
+               set: d_1(function (key, value) {
+                       var index = eIndexOf.call(this.__mapKeysData__, key), emit;
+                       if (index === -1) {
+                               index = this.__mapKeysData__.push(key) - 1;
+                               emit = true;
+                       }
+                       this.__mapValuesData__[index] = value;
+                       if (emit) this.emit('_add', index, key);
+                       return this;
+               }),
+               size: d_1.gs(function () { return this.__mapKeysData__.length; }),
+               values: d_1(function () { return new iterator$2(this, 'value'); }),
+               toString: d_1(function () { return '[object Map]'; })
+       }));
+       Object.defineProperty(MapPoly.prototype, es6Symbol.iterator, d_1(function () {
+               return this.entries();
+       }));
+       Object.defineProperty(MapPoly.prototype, es6Symbol.toStringTag, d_1('c', 'Map'));
+
+       var es6Map = isImplemented$9() ? Map : polyfill$2;
+
+       var toStr = Object.prototype.toString;
+
+       var isArguments$1 = function isArguments(value) {
+               var str = toStr.call(value);
+               var isArgs = str === '[object Arguments]';
+               if (!isArgs) {
+                       isArgs = str !== '[object Array]' &&
+                               value !== null &&
+                               typeof value === 'object' &&
+                               typeof value.length === 'number' &&
+                               value.length >= 0 &&
+                               toStr.call(value.callee) === '[object Function]';
+               }
+               return isArgs;
+       };
+
+       var keysShim;
+       if (!Object.keys) {
+               // modified from https://github.com/es-shims/es5-shim
+               var has = Object.prototype.hasOwnProperty;
+               var toStr$1 = Object.prototype.toString;
+               var isArgs = isArguments$1; // eslint-disable-line global-require
+               var isEnumerable = Object.prototype.propertyIsEnumerable;
+               var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');
+               var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');
+               var dontEnums = [
+                       'toString',
+                       'toLocaleString',
+                       'valueOf',
+                       'hasOwnProperty',
+                       'isPrototypeOf',
+                       'propertyIsEnumerable',
+                       'constructor'
+               ];
+               var equalsConstructorPrototype = function (o) {
+                       var ctor = o.constructor;
+                       return ctor && ctor.prototype === o;
+               };
+               var excludedKeys = {
+                       $applicationCache: true,
+                       $console: true,
+                       $external: true,
+                       $frame: true,
+                       $frameElement: true,
+                       $frames: true,
+                       $innerHeight: true,
+                       $innerWidth: true,
+                       $onmozfullscreenchange: true,
+                       $onmozfullscreenerror: true,
+                       $outerHeight: true,
+                       $outerWidth: true,
+                       $pageXOffset: true,
+                       $pageYOffset: true,
+                       $parent: true,
+                       $scrollLeft: true,
+                       $scrollTop: true,
+                       $scrollX: true,
+                       $scrollY: true,
+                       $self: true,
+                       $webkitIndexedDB: true,
+                       $webkitStorageInfo: true,
+                       $window: true
+               };
+               var hasAutomationEqualityBug = (function () {
+                       /* global window */
+                       if (typeof window === 'undefined') { return false; }
+                       for (var k in window) {
+                               try {
+                                       if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {
+                                               try {
+                                                       equalsConstructorPrototype(window[k]);
+                                               } catch (e) {
+                                                       return true;
+                                               }
+                                       }
+                               } catch (e) {
+                                       return true;
+                               }
+                       }
+                       return false;
+               }());
+               var equalsConstructorPrototypeIfNotBuggy = function (o) {
+                       /* global window */
+                       if (typeof window === 'undefined' || !hasAutomationEqualityBug) {
+                               return equalsConstructorPrototype(o);
+                       }
+                       try {
+                               return equalsConstructorPrototype(o);
+                       } catch (e) {
+                               return false;
+                       }
+               };
+
+               keysShim = function keys(object) {
+                       var isObject = object !== null && typeof object === 'object';
+                       var isFunction = toStr$1.call(object) === '[object Function]';
+                       var isArguments = isArgs(object);
+                       var isString = isObject && toStr$1.call(object) === '[object String]';
+                       var theKeys = [];
+
+                       if (!isObject && !isFunction && !isArguments) {
+                               throw new TypeError('Object.keys called on a non-object');
+                       }
+
+                       var skipProto = hasProtoEnumBug && isFunction;
+                       if (isString && object.length > 0 && !has.call(object, 0)) {
+                               for (var i = 0; i < object.length; ++i) {
+                                       theKeys.push(String(i));
+                               }
+                       }
+
+                       if (isArguments && object.length > 0) {
+                               for (var j = 0; j < object.length; ++j) {
+                                       theKeys.push(String(j));
+                               }
+                       } else {
+                               for (var name in object) {
+                                       if (!(skipProto && name === 'prototype') && has.call(object, name)) {
+                                               theKeys.push(String(name));
+                                       }
+                               }
+                       }
+
+                       if (hasDontEnumBug) {
+                               var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
+
+                               for (var k = 0; k < dontEnums.length; ++k) {
+                                       if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {
+                                               theKeys.push(dontEnums[k]);
+                                       }
+                               }
+                       }
+                       return theKeys;
+               };
+       }
+       var implementation = keysShim;
+
+       var slice = Array.prototype.slice;
+
+
+       var origKeys = Object.keys;
+       var keysShim$1 = origKeys ? function keys(o) { return origKeys(o); } : implementation;
+
+       var originalKeys = Object.keys;
+
+       keysShim$1.shim = function shimObjectKeys() {
+               if (Object.keys) {
+                       var keysWorksWithArguments = (function () {
+                               // Safari 5.0 bug
+                               var args = Object.keys(arguments);
+                               return args && args.length === arguments.length;
+                       }(1, 2));
+                       if (!keysWorksWithArguments) {
+                               Object.keys = function keys(object) { // eslint-disable-line func-name-matching
+                                       if (isArguments$1(object)) {
+                                               return originalKeys(slice.call(object));
+                                       }
+                                       return originalKeys(object);
+                               };
+                       }
+               } else {
+                       Object.keys = keysShim$1;
+               }
+               return Object.keys || keysShim$1;
+       };
+
+       var objectKeys = keysShim$1;
+
+       var hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
+
+       var toStr$2 = Object.prototype.toString;
+       var concat = Array.prototype.concat;
+       var origDefineProperty = Object.defineProperty;
+
+       var isFunction$1 = function (fn) {
+               return typeof fn === 'function' && toStr$2.call(fn) === '[object Function]';
+       };
+
+       var arePropertyDescriptorsSupported = function () {
+               var obj = {};
+               try {
+                       origDefineProperty(obj, 'x', { enumerable: false, value: obj });
+                       // eslint-disable-next-line no-unused-vars, no-restricted-syntax
+                       for (var _ in obj) { // jscs:ignore disallowUnusedVariables
+                               return false;
+                       }
+                       return obj.x === obj;
+               } catch (e) { /* this is IE 8. */
+                       return false;
+               }
+       };
+       var supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();
+
+       var defineProperty$6 = function (object, name, value, predicate) {
+               if (name in object && (!isFunction$1(predicate) || !predicate())) {
+                       return;
+               }
+               if (supportsDescriptors) {
+                       origDefineProperty(object, name, {
+                               configurable: true,
+                               enumerable: false,
+                               value: value,
+                               writable: true
+                       });
+               } else {
+                       object[name] = value;
+               }
+       };
+
+       var defineProperties$3 = function (object, map) {
+               var predicates = arguments.length > 2 ? arguments[2] : {};
+               var props = objectKeys(map);
+               if (hasSymbols) {
+                       props = concat.call(props, Object.getOwnPropertySymbols(map));
+               }
+               for (var i = 0; i < props.length; i += 1) {
+                       defineProperty$6(object, props[i], map[props[i]], predicates[props[i]]);
+               }
+       };
+
+       defineProperties$3.supportsDescriptors = !!supportsDescriptors;
+
+       var defineProperties_1 = defineProperties$3;
+
+       /* eslint no-invalid-this: 1 */
+
+       var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
+       var slice$1 = Array.prototype.slice;
+       var toStr$3 = Object.prototype.toString;
+       var funcType = '[object Function]';
+
+       var implementation$1 = function bind(that) {
+           var target = this;
+           if (typeof target !== 'function' || toStr$3.call(target) !== funcType) {
+               throw new TypeError(ERROR_MESSAGE + target);
+           }
+           var args = slice$1.call(arguments, 1);
+
+           var bound;
+           var binder = function () {
+               if (this instanceof bound) {
+                   var result = target.apply(
+                       this,
+                       args.concat(slice$1.call(arguments))
+                   );
+                   if (Object(result) === result) {
+                       return result;
+                   }
+                   return this;
+               } else {
+                   return target.apply(
+                       that,
+                       args.concat(slice$1.call(arguments))
+                   );
+               }
+           };
+
+           var boundLength = Math.max(0, target.length - args.length);
+           var boundArgs = [];
+           for (var i = 0; i < boundLength; i++) {
+               boundArgs.push('$' + i);
+           }
+
+           bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
+
+           if (target.prototype) {
+               var Empty = function Empty() {};
+               Empty.prototype = target.prototype;
+               bound.prototype = new Empty();
+               Empty.prototype = null;
+           }
+
+           return bound;
+       };
+
+       var functionBind = Function.prototype.bind || implementation$1;
+
+       var src = functionBind.call(Function.call, Object.prototype.hasOwnProperty);
+
+       var isPrimitive = function isPrimitive(value) {
+               return value === null || (typeof value !== 'function' && typeof value !== 'object');
+       };
+
+       var fnToStr = Function.prototype.toString;
+
+       var constructorRegex = /^\s*class\b/;
+       var isES6ClassFn = function isES6ClassFunction(value) {
+               try {
+                       var fnStr = fnToStr.call(value);
+                       return constructorRegex.test(fnStr);
+               } catch (e) {
+                       return false; // not a function
+               }
+       };
+
+       var tryFunctionObject = function tryFunctionToStr(value) {
+               try {
+                       if (isES6ClassFn(value)) { return false; }
+                       fnToStr.call(value);
+                       return true;
+               } catch (e) {
+                       return false;
+               }
+       };
+       var toStr$4 = Object.prototype.toString;
+       var fnClass = '[object Function]';
+       var genClass = '[object GeneratorFunction]';
+       var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
+
+       var isCallable = function isCallable(value) {
+               if (!value) { return false; }
+               if (typeof value !== 'function' && typeof value !== 'object') { return false; }
+               if (typeof value === 'function' && !value.prototype) { return true; }
+               if (hasToStringTag) { return tryFunctionObject(value); }
+               if (isES6ClassFn(value)) { return false; }
+               var strClass = toStr$4.call(value);
+               return strClass === fnClass || strClass === genClass;
+       };
+
+       var getDay = Date.prototype.getDay;
+       var tryDateObject = function tryDateObject(value) {
+               try {
+                       getDay.call(value);
+                       return true;
+               } catch (e) {
+                       return false;
+               }
+       };
+
+       var toStr$5 = Object.prototype.toString;
+       var dateClass = '[object Date]';
+       var hasToStringTag$1 = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
+
+       var isDateObject = function isDateObject(value) {
+               if (typeof value !== 'object' || value === null) { return false; }
+               return hasToStringTag$1 ? tryDateObject(value) : toStr$5.call(value) === dateClass;
+       };
+
+       /* eslint complexity: [2, 17], max-statements: [2, 33] */
+       var shams = function hasSymbols() {
+               if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
+               if (typeof Symbol.iterator === 'symbol') { return true; }
+
+               var obj = {};
+               var sym = Symbol('test');
+               var symObj = Object(sym);
+               if (typeof sym === 'string') { return false; }
+
+               if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
+               if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
+
+               // temp disabled per https://github.com/ljharb/object.assign/issues/17
+               // if (sym instanceof Symbol) { return false; }
+               // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
+               // if (!(symObj instanceof Symbol)) { return false; }
+
+               // if (typeof Symbol.prototype.toString !== 'function') { return false; }
+               // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
+
+               var symVal = 42;
+               obj[sym] = symVal;
+               for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax
+               if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
+
+               if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
+
+               var syms = Object.getOwnPropertySymbols(obj);
+               if (syms.length !== 1 || syms[0] !== sym) { return false; }
+
+               if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
+
+               if (typeof Object.getOwnPropertyDescriptor === 'function') {
+                       var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
+                       if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
+               }
+
+               return true;
+       };
+
+       var origSymbol = commonjsGlobal.Symbol;
+
+
+       var hasSymbols$1 = function hasNativeSymbols() {
+               if (typeof origSymbol !== 'function') { return false; }
+               if (typeof Symbol !== 'function') { return false; }
+               if (typeof origSymbol('foo') !== 'symbol') { return false; }
+               if (typeof Symbol('bar') !== 'symbol') { return false; }
+
+               return shams();
+       };
+
+       var isSymbol$1 = createCommonjsModule(function (module) {
+
+       var toStr = Object.prototype.toString;
+       var hasSymbols = hasSymbols$1();
+
+       if (hasSymbols) {
+               var symToStr = Symbol.prototype.toString;
+               var symStringRegex = /^Symbol\(.*\)$/;
+               var isSymbolObject = function isRealSymbolObject(value) {
+                       if (typeof value.valueOf() !== 'symbol') {
+                               return false;
+                       }
+                       return symStringRegex.test(symToStr.call(value));
+               };
+
+               module.exports = function isSymbol(value) {
+                       if (typeof value === 'symbol') {
+                               return true;
+                       }
+                       if (toStr.call(value) !== '[object Symbol]') {
+                               return false;
+                       }
+                       try {
+                               return isSymbolObject(value);
+                       } catch (e) {
+                               return false;
+                       }
+               };
+       } else {
+
+               module.exports = function isSymbol(value) {
+                       // this environment does not support Symbols.
+                       return false ;
+               };
+       }
+       });
+
+       var hasSymbols$2 = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
+
+
+
+
+
+
+       var ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {
+               if (typeof O === 'undefined' || O === null) {
+                       throw new TypeError('Cannot call method on ' + O);
+               }
+               if (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) {
+                       throw new TypeError('hint must be "string" or "number"');
+               }
+               var methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString'];
+               var method, result, i;
+               for (i = 0; i < methodNames.length; ++i) {
+                       method = O[methodNames[i]];
+                       if (isCallable(method)) {
+                               result = method.call(O);
+                               if (isPrimitive(result)) {
+                                       return result;
+                               }
+                       }
+               }
+               throw new TypeError('No default value');
+       };
+
+       var GetMethod = function GetMethod(O, P) {
+               var func = O[P];
+               if (func !== null && typeof func !== 'undefined') {
+                       if (!isCallable(func)) {
+                               throw new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function');
+                       }
+                       return func;
+               }
+               return void 0;
+       };
+
+       // http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive
+       var es2015 = function ToPrimitive(input) {
+               if (isPrimitive(input)) {
+                       return input;
+               }
+               var hint = 'default';
+               if (arguments.length > 1) {
+                       if (arguments[1] === String) {
+                               hint = 'string';
+                       } else if (arguments[1] === Number) {
+                               hint = 'number';
+                       }
+               }
+
+               var exoticToPrim;
+               if (hasSymbols$2) {
+                       if (Symbol.toPrimitive) {
+                               exoticToPrim = GetMethod(input, Symbol.toPrimitive);
+                       } else if (isSymbol$1(input)) {
+                               exoticToPrim = Symbol.prototype.valueOf;
+                       }
+               }
+               if (typeof exoticToPrim !== 'undefined') {
+                       var result = exoticToPrim.call(input, hint);
+                       if (isPrimitive(result)) {
+                               return result;
+                       }
+                       throw new TypeError('unable to convert exotic object to primitive');
+               }
+               if (hint === 'default' && (isDateObject(input) || isSymbol$1(input))) {
+                       hint = 'string';
+               }
+               return ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint);
+       };
+
+       var es6 = es2015;
+
+       /* globals
+               Set,
+               Map,
+               WeakSet,
+               WeakMap,
+
+               Promise,
+
+               Symbol,
+               Proxy,
+
+               Atomics,
+               SharedArrayBuffer,
+
+               ArrayBuffer,
+               DataView,
+               Uint8Array,
+               Float32Array,
+               Float64Array,
+               Int8Array,
+               Int16Array,
+               Int32Array,
+               Uint8ClampedArray,
+               Uint16Array,
+               Uint32Array,
+       */
+
+       var undefined$1; // eslint-disable-line no-shadow-restricted-names
+
+       var ThrowTypeError = Object.getOwnPropertyDescriptor
+               ? (function () { return Object.getOwnPropertyDescriptor(arguments, 'callee').get; }())
+               : function () { throw new TypeError(); };
+
+       var hasSymbols$3 = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
+
+       var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
+       var generatorFunction =  undefined$1;
+       var asyncFunction =  undefined$1;
+       var asyncGenFunction =  undefined$1;
+
+       var TypedArray = typeof Uint8Array === 'undefined' ? undefined$1 : getProto(Uint8Array);
+
+       var INTRINSICS = {
+               '$ %Array%': Array,
+               '$ %ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined$1 : ArrayBuffer,
+               '$ %ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined$1 : ArrayBuffer.prototype,
+               '$ %ArrayIteratorPrototype%': hasSymbols$3 ? getProto([][Symbol.iterator]()) : undefined$1,
+               '$ %ArrayPrototype%': Array.prototype,
+               '$ %ArrayProto_entries%': Array.prototype.entries,
+               '$ %ArrayProto_forEach%': Array.prototype.forEach,
+               '$ %ArrayProto_keys%': Array.prototype.keys,
+               '$ %ArrayProto_values%': Array.prototype.values,
+               '$ %AsyncFromSyncIteratorPrototype%': undefined$1,
+               '$ %AsyncFunction%': asyncFunction,
+               '$ %AsyncFunctionPrototype%':  undefined$1,
+               '$ %AsyncGenerator%':  undefined$1,
+               '$ %AsyncGeneratorFunction%': asyncGenFunction,
+               '$ %AsyncGeneratorPrototype%':  undefined$1,
+               '$ %AsyncIteratorPrototype%':  undefined$1,
+               '$ %Atomics%': typeof Atomics === 'undefined' ? undefined$1 : Atomics,
+               '$ %Boolean%': Boolean,
+               '$ %BooleanPrototype%': Boolean.prototype,
+               '$ %DataView%': typeof DataView === 'undefined' ? undefined$1 : DataView,
+               '$ %DataViewPrototype%': typeof DataView === 'undefined' ? undefined$1 : DataView.prototype,
+               '$ %Date%': Date,
+               '$ %DatePrototype%': Date.prototype,
+               '$ %decodeURI%': decodeURI,
+               '$ %decodeURIComponent%': decodeURIComponent,
+               '$ %encodeURI%': encodeURI,
+               '$ %encodeURIComponent%': encodeURIComponent,
+               '$ %Error%': Error,
+               '$ %ErrorPrototype%': Error.prototype,
+               '$ %eval%': eval, // eslint-disable-line no-eval
+               '$ %EvalError%': EvalError,
+               '$ %EvalErrorPrototype%': EvalError.prototype,
+               '$ %Float32Array%': typeof Float32Array === 'undefined' ? undefined$1 : Float32Array,
+               '$ %Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined$1 : Float32Array.prototype,
+               '$ %Float64Array%': typeof Float64Array === 'undefined' ? undefined$1 : Float64Array,
+               '$ %Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined$1 : Float64Array.prototype,
+               '$ %Function%': Function,
+               '$ %FunctionPrototype%': Function.prototype,
+               '$ %Generator%':  undefined$1,
+               '$ %GeneratorFunction%': generatorFunction,
+               '$ %GeneratorPrototype%':  undefined$1,
+               '$ %Int8Array%': typeof Int8Array === 'undefined' ? undefined$1 : Int8Array,
+               '$ %Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined$1 : Int8Array.prototype,
+               '$ %Int16Array%': typeof Int16Array === 'undefined' ? undefined$1 : Int16Array,
+               '$ %Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined$1 : Int8Array.prototype,
+               '$ %Int32Array%': typeof Int32Array === 'undefined' ? undefined$1 : Int32Array,
+               '$ %Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined$1 : Int32Array.prototype,
+               '$ %isFinite%': isFinite,
+               '$ %isNaN%': isNaN,
+               '$ %IteratorPrototype%': hasSymbols$3 ? getProto(getProto([][Symbol.iterator]())) : undefined$1,
+               '$ %JSON%': JSON,
+               '$ %JSONParse%': JSON.parse,
+               '$ %Map%': typeof Map === 'undefined' ? undefined$1 : Map,
+               '$ %MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols$3 ? undefined$1 : getProto(new Map()[Symbol.iterator]()),
+               '$ %MapPrototype%': typeof Map === 'undefined' ? undefined$1 : Map.prototype,
+               '$ %Math%': Math,
+               '$ %Number%': Number,
+               '$ %NumberPrototype%': Number.prototype,
+               '$ %Object%': Object,
+               '$ %ObjectPrototype%': Object.prototype,
+               '$ %ObjProto_toString%': Object.prototype.toString,
+               '$ %ObjProto_valueOf%': Object.prototype.valueOf,
+               '$ %parseFloat%': parseFloat,
+               '$ %parseInt%': parseInt,
+               '$ %Promise%': typeof Promise === 'undefined' ? undefined$1 : Promise,
+               '$ %PromisePrototype%': typeof Promise === 'undefined' ? undefined$1 : Promise.prototype,
+               '$ %PromiseProto_then%': typeof Promise === 'undefined' ? undefined$1 : Promise.prototype.then,
+               '$ %Promise_all%': typeof Promise === 'undefined' ? undefined$1 : Promise.all,
+               '$ %Promise_reject%': typeof Promise === 'undefined' ? undefined$1 : Promise.reject,
+               '$ %Promise_resolve%': typeof Promise === 'undefined' ? undefined$1 : Promise.resolve,
+               '$ %Proxy%': typeof Proxy === 'undefined' ? undefined$1 : Proxy,
+               '$ %RangeError%': RangeError,
+               '$ %RangeErrorPrototype%': RangeError.prototype,
+               '$ %ReferenceError%': ReferenceError,
+               '$ %ReferenceErrorPrototype%': ReferenceError.prototype,
+               '$ %Reflect%': typeof Reflect === 'undefined' ? undefined$1 : Reflect,
+               '$ %RegExp%': RegExp,
+               '$ %RegExpPrototype%': RegExp.prototype,
+               '$ %Set%': typeof Set === 'undefined' ? undefined$1 : Set,
+               '$ %SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols$3 ? undefined$1 : getProto(new Set()[Symbol.iterator]()),
+               '$ %SetPrototype%': typeof Set === 'undefined' ? undefined$1 : Set.prototype,
+               '$ %SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined$1 : SharedArrayBuffer,
+               '$ %SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined$1 : SharedArrayBuffer.prototype,
+               '$ %String%': String,
+               '$ %StringIteratorPrototype%': hasSymbols$3 ? getProto(''[Symbol.iterator]()) : undefined$1,
+               '$ %StringPrototype%': String.prototype,
+               '$ %Symbol%': hasSymbols$3 ? Symbol : undefined$1,
+               '$ %SymbolPrototype%': hasSymbols$3 ? Symbol.prototype : undefined$1,
+               '$ %SyntaxError%': SyntaxError,
+               '$ %SyntaxErrorPrototype%': SyntaxError.prototype,
+               '$ %ThrowTypeError%': ThrowTypeError,
+               '$ %TypedArray%': TypedArray,
+               '$ %TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined$1,
+               '$ %TypeError%': TypeError,
+               '$ %TypeErrorPrototype%': TypeError.prototype,
+               '$ %Uint8Array%': typeof Uint8Array === 'undefined' ? undefined$1 : Uint8Array,
+               '$ %Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined$1 : Uint8Array.prototype,
+               '$ %Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined$1 : Uint8ClampedArray,
+               '$ %Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined$1 : Uint8ClampedArray.prototype,
+               '$ %Uint16Array%': typeof Uint16Array === 'undefined' ? undefined$1 : Uint16Array,
+               '$ %Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined$1 : Uint16Array.prototype,
+               '$ %Uint32Array%': typeof Uint32Array === 'undefined' ? undefined$1 : Uint32Array,
+               '$ %Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined$1 : Uint32Array.prototype,
+               '$ %URIError%': URIError,
+               '$ %URIErrorPrototype%': URIError.prototype,
+               '$ %WeakMap%': typeof WeakMap === 'undefined' ? undefined$1 : WeakMap,
+               '$ %WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined$1 : WeakMap.prototype,
+               '$ %WeakSet%': typeof WeakSet === 'undefined' ? undefined$1 : WeakSet,
+               '$ %WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined$1 : WeakSet.prototype
+       };
+
+       var GetIntrinsic = function GetIntrinsic(name, allowMissing) {
+               if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
+                       throw new TypeError('"allowMissing" argument must be a boolean');
+               }
+
+               var key = '$ ' + name;
+               if (!(key in INTRINSICS)) {
+                       throw new SyntaxError('intrinsic ' + name + ' does not exist!');
+               }
+
+               // istanbul ignore if // hopefully this is impossible to test :-)
+               if (typeof INTRINSICS[key] === 'undefined' && !allowMissing) {
+                       throw new TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
+               }
+               return INTRINSICS[key];
+       };
+
+       var $TypeError = GetIntrinsic('%TypeError%');
+       var $SyntaxError = GetIntrinsic('%SyntaxError%');
+
+
+
+       var predicates = {
+         // https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type
+         'Property Descriptor': function isPropertyDescriptor(ES, Desc) {
+           if (ES.Type(Desc) !== 'Object') {
+             return false;
+           }
+           var allowed = {
+             '[[Configurable]]': true,
+             '[[Enumerable]]': true,
+             '[[Get]]': true,
+             '[[Set]]': true,
+             '[[Value]]': true,
+             '[[Writable]]': true
+           };
+
+           for (var key in Desc) { // eslint-disable-line
+             if (src(Desc, key) && !allowed[key]) {
+               return false;
+             }
+           }
+
+           var isData = src(Desc, '[[Value]]');
+           var IsAccessor = src(Desc, '[[Get]]') || src(Desc, '[[Set]]');
+           if (isData && IsAccessor) {
+             throw new $TypeError('Property Descriptors may not be both accessor and data descriptors');
+           }
+           return true;
+         }
+       };
+
+       var assertRecord = function assertRecord(ES, recordType, argumentName, value) {
+         var predicate = predicates[recordType];
+         if (typeof predicate !== 'function') {
+           throw new $SyntaxError('unknown record type: ' + recordType);
+         }
+         if (!predicate(ES, value)) {
+           throw new $TypeError(argumentName + ' must be a ' + recordType);
+         }
+         console.log(predicate(ES, value), value);
+       };
+
+       var _isNaN = Number.isNaN || function isNaN(a) {
+               return a !== a;
+       };
+
+       var $isNaN = Number.isNaN || function (a) { return a !== a; };
+
+       var _isFinite = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };
+
+       var has$1 = functionBind.call(Function.call, Object.prototype.hasOwnProperty);
+
+       var $assign = Object.assign;
+
+       var assign$1 = function assign(target, source) {
+               if ($assign) {
+                       return $assign(target, source);
+               }
+
+               for (var key in source) {
+                       if (has$1(source, key)) {
+                               target[key] = source[key];
+                       }
+               }
+               return target;
+       };
+
+       var sign$1 = function sign(number) {
+               return number >= 0 ? 1 : -1;
+       };
+
+       var mod = function mod(number, modulo) {
+               var remain = number % modulo;
+               return Math.floor(remain >= 0 ? remain : remain + modulo);
+       };
+
+       var isPrimitive$1 = function isPrimitive(value) {
+               return value === null || (typeof value !== 'function' && typeof value !== 'object');
+       };
+
+       var toStr$6 = Object.prototype.toString;
+
+
+
+
+
+       // http://ecma-international.org/ecma-262/5.1/#sec-8.12.8
+       var ES5internalSlots = {
+               '[[DefaultValue]]': function (O) {
+                       var actualHint;
+                       if (arguments.length > 1) {
+                               actualHint = arguments[1];
+                       } else {
+                               actualHint = toStr$6.call(O) === '[object Date]' ? String : Number;
+                       }
+
+                       if (actualHint === String || actualHint === Number) {
+                               var methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];
+                               var value, i;
+                               for (i = 0; i < methods.length; ++i) {
+                                       if (isCallable(O[methods[i]])) {
+                                               value = O[methods[i]]();
+                                               if (isPrimitive(value)) {
+                                                       return value;
+                                               }
+                                       }
+                               }
+                               throw new TypeError('No default value');
+                       }
+                       throw new TypeError('invalid [[DefaultValue]] hint supplied');
+               }
+       };
+
+       // http://ecma-international.org/ecma-262/5.1/#sec-9.1
+       var es5 = function ToPrimitive(input) {
+               if (isPrimitive(input)) {
+                       return input;
+               }
+               if (arguments.length > 1) {
+                       return ES5internalSlots['[[DefaultValue]]'](input, arguments[1]);
+               }
+               return ES5internalSlots['[[DefaultValue]]'](input);
+       };
+
+       var $Object = GetIntrinsic('%Object%');
+       var $TypeError$1 = GetIntrinsic('%TypeError%');
+       var $String = GetIntrinsic('%String%');
+
+
+
+
+
+
+
+
+
+
+
+
+
+       // https://es5.github.io/#x9
+       var ES5 = {
+               ToPrimitive: es5,
+
+               ToBoolean: function ToBoolean(value) {
+                       return !!value;
+               },
+               ToNumber: function ToNumber(value) {
+                       return +value; // eslint-disable-line no-implicit-coercion
+               },
+               ToInteger: function ToInteger(value) {
+                       var number = this.ToNumber(value);
+                       if (_isNaN(number)) { return 0; }
+                       if (number === 0 || !_isFinite(number)) { return number; }
+                       return sign$1(number) * Math.floor(Math.abs(number));
+               },
+               ToInt32: function ToInt32(x) {
+                       return this.ToNumber(x) >> 0;
+               },
+               ToUint32: function ToUint32(x) {
+                       return this.ToNumber(x) >>> 0;
+               },
+               ToUint16: function ToUint16(value) {
+                       var number = this.ToNumber(value);
+                       if (_isNaN(number) || number === 0 || !_isFinite(number)) { return 0; }
+                       var posInt = sign$1(number) * Math.floor(Math.abs(number));
+                       return mod(posInt, 0x10000);
+               },
+               ToString: function ToString(value) {
+                       return $String(value);
+               },
+               ToObject: function ToObject(value) {
+                       this.CheckObjectCoercible(value);
+                       return $Object(value);
+               },
+               CheckObjectCoercible: function CheckObjectCoercible(value, optMessage) {
+                       /* jshint eqnull:true */
+                       if (value == null) {
+                               throw new $TypeError$1(optMessage || 'Cannot call method on ' + value);
+                       }
+                       return value;
+               },
+               IsCallable: isCallable,
+               SameValue: function SameValue(x, y) {
+                       if (x === y) { // 0 === -0, but they are not identical.
+                               if (x === 0) { return 1 / x === 1 / y; }
+                               return true;
+                       }
+                       return _isNaN(x) && _isNaN(y);
+               },
+
+               // https://www.ecma-international.org/ecma-262/5.1/#sec-8
+               Type: function Type(x) {
+                       if (x === null) {
+                               return 'Null';
+                       }
+                       if (typeof x === 'undefined') {
+                               return 'Undefined';
+                       }
+                       if (typeof x === 'function' || typeof x === 'object') {
+                               return 'Object';
+                       }
+                       if (typeof x === 'number') {
+                               return 'Number';
+                       }
+                       if (typeof x === 'boolean') {
+                               return 'Boolean';
+                       }
+                       if (typeof x === 'string') {
+                               return 'String';
+                       }
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type
+               IsPropertyDescriptor: function IsPropertyDescriptor(Desc) {
+                       if (this.Type(Desc) !== 'Object') {
+                               return false;
+                       }
+                       var allowed = {
+                               '[[Configurable]]': true,
+                               '[[Enumerable]]': true,
+                               '[[Get]]': true,
+                               '[[Set]]': true,
+                               '[[Value]]': true,
+                               '[[Writable]]': true
+                       };
+
+                       for (var key in Desc) { // eslint-disable-line
+                               if (src(Desc, key) && !allowed[key]) {
+                                       return false;
+                               }
+                       }
+
+                       var isData = src(Desc, '[[Value]]');
+                       var IsAccessor = src(Desc, '[[Get]]') || src(Desc, '[[Set]]');
+                       if (isData && IsAccessor) {
+                               throw new $TypeError$1('Property Descriptors may not be both accessor and data descriptors');
+                       }
+                       return true;
+               },
+
+               // https://ecma-international.org/ecma-262/5.1/#sec-8.10.1
+               IsAccessorDescriptor: function IsAccessorDescriptor(Desc) {
+                       if (typeof Desc === 'undefined') {
+                               return false;
+                       }
+
+                       assertRecord(this, 'Property Descriptor', 'Desc', Desc);
+
+                       if (!src(Desc, '[[Get]]') && !src(Desc, '[[Set]]')) {
+                               return false;
+                       }
+
+                       return true;
+               },
+
+               // https://ecma-international.org/ecma-262/5.1/#sec-8.10.2
+               IsDataDescriptor: function IsDataDescriptor(Desc) {
+                       if (typeof Desc === 'undefined') {
+                               return false;
+                       }
+
+                       assertRecord(this, 'Property Descriptor', 'Desc', Desc);
+
+                       if (!src(Desc, '[[Value]]') && !src(Desc, '[[Writable]]')) {
+                               return false;
+                       }
+
+                       return true;
+               },
+
+               // https://ecma-international.org/ecma-262/5.1/#sec-8.10.3
+               IsGenericDescriptor: function IsGenericDescriptor(Desc) {
+                       if (typeof Desc === 'undefined') {
+                               return false;
+                       }
+
+                       assertRecord(this, 'Property Descriptor', 'Desc', Desc);
+
+                       if (!this.IsAccessorDescriptor(Desc) && !this.IsDataDescriptor(Desc)) {
+                               return true;
+                       }
+
+                       return false;
+               },
+
+               // https://ecma-international.org/ecma-262/5.1/#sec-8.10.4
+               FromPropertyDescriptor: function FromPropertyDescriptor(Desc) {
+                       if (typeof Desc === 'undefined') {
+                               return Desc;
+                       }
+
+                       assertRecord(this, 'Property Descriptor', 'Desc', Desc);
+
+                       if (this.IsDataDescriptor(Desc)) {
+                               return {
+                                       value: Desc['[[Value]]'],
+                                       writable: !!Desc['[[Writable]]'],
+                                       enumerable: !!Desc['[[Enumerable]]'],
+                                       configurable: !!Desc['[[Configurable]]']
+                               };
+                       } else if (this.IsAccessorDescriptor(Desc)) {
+                               return {
+                                       get: Desc['[[Get]]'],
+                                       set: Desc['[[Set]]'],
+                                       enumerable: !!Desc['[[Enumerable]]'],
+                                       configurable: !!Desc['[[Configurable]]']
+                               };
+                       } else {
+                               throw new $TypeError$1('FromPropertyDescriptor must be called with a fully populated Property Descriptor');
+                       }
+               },
+
+               // https://ecma-international.org/ecma-262/5.1/#sec-8.10.5
+               ToPropertyDescriptor: function ToPropertyDescriptor(Obj) {
+                       if (this.Type(Obj) !== 'Object') {
+                               throw new $TypeError$1('ToPropertyDescriptor requires an object');
+                       }
+
+                       var desc = {};
+                       if (src(Obj, 'enumerable')) {
+                               desc['[[Enumerable]]'] = this.ToBoolean(Obj.enumerable);
+                       }
+                       if (src(Obj, 'configurable')) {
+                               desc['[[Configurable]]'] = this.ToBoolean(Obj.configurable);
+                       }
+                       if (src(Obj, 'value')) {
+                               desc['[[Value]]'] = Obj.value;
+                       }
+                       if (src(Obj, 'writable')) {
+                               desc['[[Writable]]'] = this.ToBoolean(Obj.writable);
+                       }
+                       if (src(Obj, 'get')) {
+                               var getter = Obj.get;
+                               if (typeof getter !== 'undefined' && !this.IsCallable(getter)) {
+                                       throw new TypeError('getter must be a function');
+                               }
+                               desc['[[Get]]'] = getter;
+                       }
+                       if (src(Obj, 'set')) {
+                               var setter = Obj.set;
+                               if (typeof setter !== 'undefined' && !this.IsCallable(setter)) {
+                                       throw new $TypeError$1('setter must be a function');
+                               }
+                               desc['[[Set]]'] = setter;
+                       }
+
+                       if ((src(desc, '[[Get]]') || src(desc, '[[Set]]')) && (src(desc, '[[Value]]') || src(desc, '[[Writable]]'))) {
+                               throw new $TypeError$1('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute');
+                       }
+                       return desc;
+               }
+       };
+
+       var es5$1 = ES5;
+
+       var regexExec = RegExp.prototype.exec;
+       var gOPD = Object.getOwnPropertyDescriptor;
+
+       var tryRegexExecCall = function tryRegexExec(value) {
+               try {
+                       var lastIndex = value.lastIndex;
+                       value.lastIndex = 0;
+
+                       regexExec.call(value);
+                       return true;
+               } catch (e) {
+                       return false;
+               } finally {
+                       value.lastIndex = lastIndex;
+               }
+       };
+       var toStr$7 = Object.prototype.toString;
+       var regexClass = '[object RegExp]';
+       var hasToStringTag$2 = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
+
+       var isRegex = function isRegex(value) {
+               if (!value || typeof value !== 'object') {
+                       return false;
+               }
+               if (!hasToStringTag$2) {
+                       return toStr$7.call(value) === regexClass;
+               }
+
+               var descriptor = gOPD(value, 'lastIndex');
+               var hasLastIndexDataProperty = descriptor && src(descriptor, 'value');
+               if (!hasLastIndexDataProperty) {
+                       return false;
+               }
+
+               return tryRegexExecCall(value);
+       };
+
+       var $TypeError$2 = GetIntrinsic('%TypeError%');
+       var $SyntaxError$1 = GetIntrinsic('%SyntaxError%');
+       var $Array = GetIntrinsic('%Array%');
+       var $String$1 = GetIntrinsic('%String%');
+       var $Object$1 = GetIntrinsic('%Object%');
+       var $Number = GetIntrinsic('%Number%');
+       var $Symbol = GetIntrinsic('%Symbol%', true);
+       var $RegExp = GetIntrinsic('%RegExp%');
+
+       var hasSymbols$4 = !!$Symbol;
+
+
+
+
+       var MAX_SAFE_INTEGER = $Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;
+
+
+
+
+
+       var parseInteger = parseInt;
+
+       var arraySlice = functionBind.call(Function.call, $Array.prototype.slice);
+       var strSlice = functionBind.call(Function.call, $String$1.prototype.slice);
+       var isBinary = functionBind.call(Function.call, $RegExp.prototype.test, /^0b[01]+$/i);
+       var isOctal = functionBind.call(Function.call, $RegExp.prototype.test, /^0o[0-7]+$/i);
+       var regexExec$1 = functionBind.call(Function.call, $RegExp.prototype.exec);
+       var nonWS = ['\u0085', '\u200b', '\ufffe'].join('');
+       var nonWSregex = new $RegExp('[' + nonWS + ']', 'g');
+       var hasNonWS = functionBind.call(Function.call, $RegExp.prototype.test, nonWSregex);
+       var invalidHexLiteral = /^[-+]0x[0-9a-f]+$/i;
+       var isInvalidHexLiteral = functionBind.call(Function.call, $RegExp.prototype.test, invalidHexLiteral);
+       var $charCodeAt = functionBind.call(Function.call, $String$1.prototype.charCodeAt);
+
+       var toStr$8 = functionBind.call(Function.call, Object.prototype.toString);
+
+       var $NumberValueOf = functionBind.call(Function.call, GetIntrinsic('%NumberPrototype%').valueOf);
+       var $BooleanValueOf = functionBind.call(Function.call, GetIntrinsic('%BooleanPrototype%').valueOf);
+       var $StringValueOf = functionBind.call(Function.call, GetIntrinsic('%StringPrototype%').valueOf);
+       var $DateValueOf = functionBind.call(Function.call, GetIntrinsic('%DatePrototype%').valueOf);
+
+       var $floor = Math.floor;
+       var $abs = Math.abs;
+
+       var $ObjectCreate = Object.create;
+       var $gOPD = $Object$1.getOwnPropertyDescriptor;
+
+       var $isExtensible = $Object$1.isExtensible;
+
+       var $defineProperty = $Object$1.defineProperty;
+
+       // whitespace from: http://es5.github.io/#x15.5.4.20
+       // implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324
+       var ws = [
+               '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003',
+               '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028',
+               '\u2029\uFEFF'
+       ].join('');
+       var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');
+       var replace = functionBind.call(Function.call, $String$1.prototype.replace);
+       var trim = function (value) {
+               return replace(value, trimRegex, '');
+       };
+
+
+
+
+
+       // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-abstract-operations
+       var ES6 = assign$1(assign$1({}, es5$1), {
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-call-f-v-args
+               Call: function Call(F, V) {
+                       var args = arguments.length > 2 ? arguments[2] : [];
+                       if (!this.IsCallable(F)) {
+                               throw new $TypeError$2(F + ' is not a function');
+                       }
+                       return F.apply(V, args);
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toprimitive
+               ToPrimitive: es6,
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toboolean
+               // ToBoolean: ES5.ToBoolean,
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-tonumber
+               ToNumber: function ToNumber(argument) {
+                       var value = isPrimitive$1(argument) ? argument : es6(argument, $Number);
+                       if (typeof value === 'symbol') {
+                               throw new $TypeError$2('Cannot convert a Symbol value to a number');
+                       }
+                       if (typeof value === 'string') {
+                               if (isBinary(value)) {
+                                       return this.ToNumber(parseInteger(strSlice(value, 2), 2));
+                               } else if (isOctal(value)) {
+                                       return this.ToNumber(parseInteger(strSlice(value, 2), 8));
+                               } else if (hasNonWS(value) || isInvalidHexLiteral(value)) {
+                                       return NaN;
+                               } else {
+                                       var trimmed = trim(value);
+                                       if (trimmed !== value) {
+                                               return this.ToNumber(trimmed);
+                                       }
+                               }
+                       }
+                       return $Number(value);
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tointeger
+               // ToInteger: ES5.ToNumber,
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint32
+               // ToInt32: ES5.ToInt32,
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint32
+               // ToUint32: ES5.ToUint32,
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint16
+               ToInt16: function ToInt16(argument) {
+                       var int16bit = this.ToUint16(argument);
+                       return int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit;
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint16
+               // ToUint16: ES5.ToUint16,
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint8
+               ToInt8: function ToInt8(argument) {
+                       var int8bit = this.ToUint8(argument);
+                       return int8bit >= 0x80 ? int8bit - 0x100 : int8bit;
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8
+               ToUint8: function ToUint8(argument) {
+                       var number = this.ToNumber(argument);
+                       if (_isNaN(number) || number === 0 || !_isFinite(number)) { return 0; }
+                       var posInt = sign$1(number) * $floor($abs(number));
+                       return mod(posInt, 0x100);
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8clamp
+               ToUint8Clamp: function ToUint8Clamp(argument) {
+                       var number = this.ToNumber(argument);
+                       if (_isNaN(number) || number <= 0) { return 0; }
+                       if (number >= 0xFF) { return 0xFF; }
+                       var f = $floor(argument);
+                       if (f + 0.5 < number) { return f + 1; }
+                       if (number < f + 0.5) { return f; }
+                       if (f % 2 !== 0) { return f + 1; }
+                       return f;
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tostring
+               ToString: function ToString(argument) {
+                       if (typeof argument === 'symbol') {
+                               throw new $TypeError$2('Cannot convert a Symbol value to a string');
+                       }
+                       return $String$1(argument);
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toobject
+               ToObject: function ToObject(value) {
+                       this.RequireObjectCoercible(value);
+                       return $Object$1(value);
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-topropertykey
+               ToPropertyKey: function ToPropertyKey(argument) {
+                       var key = this.ToPrimitive(argument, $String$1);
+                       return typeof key === 'symbol' ? key : this.ToString(key);
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
+               ToLength: function ToLength(argument) {
+                       var len = this.ToInteger(argument);
+                       if (len <= 0) { return 0; } // includes converting -0 to +0
+                       if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; }
+                       return len;
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring
+               CanonicalNumericIndexString: function CanonicalNumericIndexString(argument) {
+                       if (toStr$8(argument) !== '[object String]') {
+                               throw new $TypeError$2('must be a string');
+                       }
+                       if (argument === '-0') { return -0; }
+                       var n = this.ToNumber(argument);
+                       if (this.SameValue(this.ToString(n), argument)) { return n; }
+                       return void 0;
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-requireobjectcoercible
+               RequireObjectCoercible: es5$1.CheckObjectCoercible,
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isarray
+               IsArray: $Array.isArray || function IsArray(argument) {
+                       return toStr$8(argument) === '[object Array]';
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-iscallable
+               // IsCallable: ES5.IsCallable,
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isconstructor
+               IsConstructor: function IsConstructor(argument) {
+                       return typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isextensible-o
+               IsExtensible: Object.preventExtensions
+                       ? function IsExtensible(obj) {
+                               if (isPrimitive$1(obj)) {
+                                       return false;
+                               }
+                               return $isExtensible(obj);
+                       }
+                       : function isExtensible(obj) { return true; }, // eslint-disable-line no-unused-vars
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isinteger
+               IsInteger: function IsInteger(argument) {
+                       if (typeof argument !== 'number' || _isNaN(argument) || !_isFinite(argument)) {
+                               return false;
+                       }
+                       var abs = $abs(argument);
+                       return $floor(abs) === abs;
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ispropertykey
+               IsPropertyKey: function IsPropertyKey(argument) {
+                       return typeof argument === 'string' || typeof argument === 'symbol';
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-isregexp
+               IsRegExp: function IsRegExp(argument) {
+                       if (!argument || typeof argument !== 'object') {
+                               return false;
+                       }
+                       if (hasSymbols$4) {
+                               var isRegExp = argument[$Symbol.match];
+                               if (typeof isRegExp !== 'undefined') {
+                                       return es5$1.ToBoolean(isRegExp);
+                               }
+                       }
+                       return isRegex(argument);
+               },
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevalue
+               // SameValue: ES5.SameValue,
+
+               // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero
+               SameValueZero: function SameValueZero(x, y) {
+                       return (x === y) || (_isNaN(x) && _isNaN(y));
+               },
+
+               /**
+                * 7.3.2 GetV (V, P)
+                * 1. Assert: IsPropertyKey(P) is true.
+                * 2. Let O be ToObject(V).
+                * 3. ReturnIfAbrupt(O).
+                * 4. Return O.[[Get]](P, V).
+                */
+               GetV: function GetV(V, P) {
+                       // 7.3.2.1
+                       if (!this.IsPropertyKey(P)) {
+                               throw new $TypeError$2('Assertion failed: IsPropertyKey(P) is not true');
+                       }
+
+                       // 7.3.2.2-3
+                       var O = this.ToObject(V);
+
+                       // 7.3.2.4
+                       return O[P];
+               },
+
+               /**
+                * 7.3.9 - https://ecma-international.org/ecma-262/6.0/#sec-getmethod
+                * 1. Assert: IsPropertyKey(P) is true.
+                * 2. Let func be GetV(O, P).
+                * 3. ReturnIfAbrupt(func).
+                * 4. If func is either undefined or null, return undefined.
+                * 5. If IsCallable(func) is false, throw a TypeError exception.
+                * 6. Return func.
+                */
+               GetMethod: function GetMethod(O, P) {
+                       // 7.3.9.1
+                       if (!this.IsPropertyKey(P)) {
+                               throw new $TypeError$2('Assertion failed: IsPropertyKey(P) is not true');
+                       }
+
+                       // 7.3.9.2
+                       var func = this.GetV(O, P);
+
+                       // 7.3.9.4
+                       if (func == null) {
+                               return void 0;
+                       }
+
+                       // 7.3.9.5
+                       if (!this.IsCallable(func)) {
+                               throw new $TypeError$2(P + 'is not a function');
+                       }
+
+                       // 7.3.9.6
+                       return func;
+               },
+
+               /**
+                * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p
+                * 1. Assert: Type(O) is Object.
+                * 2. Assert: IsPropertyKey(P) is true.
+                * 3. Return O.[[Get]](P, O).
+                */
+               Get: function Get(O, P) {
+                       // 7.3.1.1
+                       if (this.Type(O) !== 'Object') {
+                               throw new $TypeError$2('Assertion failed: Type(O) is not Object');
+                       }
+                       // 7.3.1.2
+                       if (!this.IsPropertyKey(P)) {
+                               throw new $TypeError$2('Assertion failed: IsPropertyKey(P) is not true');
+                       }
+                       // 7.3.1.3
+                       return O[P];
+               },
+
+               Type: function Type(x) {
+                       if (typeof x === 'symbol') {
+                               return 'Symbol';
+                       }
+                       return es5$1.Type(x);
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor
+               SpeciesConstructor: function SpeciesConstructor(O, defaultConstructor) {
+                       if (this.Type(O) !== 'Object') {
+                               throw new $TypeError$2('Assertion failed: Type(O) is not Object');
+                       }
+                       var C = O.constructor;
+                       if (typeof C === 'undefined') {
+                               return defaultConstructor;
+                       }
+                       if (this.Type(C) !== 'Object') {
+                               throw new $TypeError$2('O.constructor is not an Object');
+                       }
+                       var S = hasSymbols$4 && $Symbol.species ? C[$Symbol.species] : void 0;
+                       if (S == null) {
+                               return defaultConstructor;
+                       }
+                       if (this.IsConstructor(S)) {
+                               return S;
+                       }
+                       throw new $TypeError$2('no constructor found');
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor
+               CompletePropertyDescriptor: function CompletePropertyDescriptor(Desc) {
+                       assertRecord(this, 'Property Descriptor', 'Desc', Desc);
+
+                       if (this.IsGenericDescriptor(Desc) || this.IsDataDescriptor(Desc)) {
+                               if (!src(Desc, '[[Value]]')) {
+                                       Desc['[[Value]]'] = void 0;
+                               }
+                               if (!src(Desc, '[[Writable]]')) {
+                                       Desc['[[Writable]]'] = false;
+                               }
+                       } else {
+                               if (!src(Desc, '[[Get]]')) {
+                                       Desc['[[Get]]'] = void 0;
+                               }
+                               if (!src(Desc, '[[Set]]')) {
+                                       Desc['[[Set]]'] = void 0;
+                               }
+                       }
+                       if (!src(Desc, '[[Enumerable]]')) {
+                               Desc['[[Enumerable]]'] = false;
+                       }
+                       if (!src(Desc, '[[Configurable]]')) {
+                               Desc['[[Configurable]]'] = false;
+                       }
+                       return Desc;
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw
+               Set: function Set(O, P, V, Throw) {
+                       if (this.Type(O) !== 'Object') {
+                               throw new $TypeError$2('O must be an Object');
+                       }
+                       if (!this.IsPropertyKey(P)) {
+                               throw new $TypeError$2('P must be a Property Key');
+                       }
+                       if (this.Type(Throw) !== 'Boolean') {
+                               throw new $TypeError$2('Throw must be a Boolean');
+                       }
+                       if (Throw) {
+                               O[P] = V;
+                               return true;
+                       } else {
+                               try {
+                                       O[P] = V;
+                               } catch (e) {
+                                       return false;
+                               }
+                       }
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty
+               HasOwnProperty: function HasOwnProperty(O, P) {
+                       if (this.Type(O) !== 'Object') {
+                               throw new $TypeError$2('O must be an Object');
+                       }
+                       if (!this.IsPropertyKey(P)) {
+                               throw new $TypeError$2('P must be a Property Key');
+                       }
+                       return src(O, P);
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-hasproperty
+               HasProperty: function HasProperty(O, P) {
+                       if (this.Type(O) !== 'Object') {
+                               throw new $TypeError$2('O must be an Object');
+                       }
+                       if (!this.IsPropertyKey(P)) {
+                               throw new $TypeError$2('P must be a Property Key');
+                       }
+                       return P in O;
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable
+               IsConcatSpreadable: function IsConcatSpreadable(O) {
+                       if (this.Type(O) !== 'Object') {
+                               return false;
+                       }
+                       if (hasSymbols$4 && typeof $Symbol.isConcatSpreadable === 'symbol') {
+                               var spreadable = this.Get(O, Symbol.isConcatSpreadable);
+                               if (typeof spreadable !== 'undefined') {
+                                       return this.ToBoolean(spreadable);
+                               }
+                       }
+                       return this.IsArray(O);
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-invoke
+               Invoke: function Invoke(O, P) {
+                       if (!this.IsPropertyKey(P)) {
+                               throw new $TypeError$2('P must be a Property Key');
+                       }
+                       var argumentsList = arraySlice(arguments, 2);
+                       var func = this.GetV(O, P);
+                       return this.Call(func, O, argumentsList);
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-getiterator
+               GetIterator: function GetIterator(obj, method) {
+                       if (!hasSymbols$4) {
+                               throw new SyntaxError('ES.GetIterator depends on native iterator support.');
+                       }
+
+                       var actualMethod = method;
+                       if (arguments.length < 2) {
+                               actualMethod = this.GetMethod(obj, $Symbol.iterator);
+                       }
+                       var iterator = this.Call(actualMethod, obj);
+                       if (this.Type(iterator) !== 'Object') {
+                               throw new $TypeError$2('iterator must return an object');
+                       }
+
+                       return iterator;
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-iteratornext
+               IteratorNext: function IteratorNext(iterator, value) {
+                       var result = this.Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);
+                       if (this.Type(result) !== 'Object') {
+                               throw new $TypeError$2('iterator next must return an object');
+                       }
+                       return result;
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete
+               IteratorComplete: function IteratorComplete(iterResult) {
+                       if (this.Type(iterResult) !== 'Object') {
+                               throw new $TypeError$2('Assertion failed: Type(iterResult) is not Object');
+                       }
+                       return this.ToBoolean(this.Get(iterResult, 'done'));
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue
+               IteratorValue: function IteratorValue(iterResult) {
+                       if (this.Type(iterResult) !== 'Object') {
+                               throw new $TypeError$2('Assertion failed: Type(iterResult) is not Object');
+                       }
+                       return this.Get(iterResult, 'value');
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-iteratorstep
+               IteratorStep: function IteratorStep(iterator) {
+                       var result = this.IteratorNext(iterator);
+                       var done = this.IteratorComplete(result);
+                       return done === true ? false : result;
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose
+               IteratorClose: function IteratorClose(iterator, completion) {
+                       if (this.Type(iterator) !== 'Object') {
+                               throw new $TypeError$2('Assertion failed: Type(iterator) is not Object');
+                       }
+                       if (!this.IsCallable(completion)) {
+                               throw new $TypeError$2('Assertion failed: completion is not a thunk for a Completion Record');
+                       }
+                       var completionThunk = completion;
+
+                       var iteratorReturn = this.GetMethod(iterator, 'return');
+
+                       if (typeof iteratorReturn === 'undefined') {
+                               return completionThunk();
+                       }
+
+                       var completionRecord;
+                       try {
+                               var innerResult = this.Call(iteratorReturn, iterator, []);
+                       } catch (e) {
+                               // if we hit here, then "e" is the innerResult completion that needs re-throwing
+
+                               // if the completion is of type "throw", this will throw.
+                               completionRecord = completionThunk();
+                               completionThunk = null; // ensure it's not called twice.
+
+                               // if not, then return the innerResult completion
+                               throw e;
+                       }
+                       completionRecord = completionThunk(); // if innerResult worked, then throw if the completion does
+                       completionThunk = null; // ensure it's not called twice.
+
+                       if (this.Type(innerResult) !== 'Object') {
+                               throw new $TypeError$2('iterator .return must return an object');
+                       }
+
+                       return completionRecord;
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject
+               CreateIterResultObject: function CreateIterResultObject(value, done) {
+                       if (this.Type(done) !== 'Boolean') {
+                               throw new $TypeError$2('Assertion failed: Type(done) is not Boolean');
+                       }
+                       return {
+                               value: value,
+                               done: done
+                       };
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-regexpexec
+               RegExpExec: function RegExpExec(R, S) {
+                       if (this.Type(R) !== 'Object') {
+                               throw new $TypeError$2('R must be an Object');
+                       }
+                       if (this.Type(S) !== 'String') {
+                               throw new $TypeError$2('S must be a String');
+                       }
+                       var exec = this.Get(R, 'exec');
+                       if (this.IsCallable(exec)) {
+                               var result = this.Call(exec, R, [S]);
+                               if (result === null || this.Type(result) === 'Object') {
+                                       return result;
+                               }
+                               throw new $TypeError$2('"exec" method must return `null` or an Object');
+                       }
+                       return regexExec$1(R, S);
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate
+               ArraySpeciesCreate: function ArraySpeciesCreate(originalArray, length) {
+                       if (!this.IsInteger(length) || length < 0) {
+                               throw new $TypeError$2('Assertion failed: length must be an integer >= 0');
+                       }
+                       var len = length === 0 ? 0 : length;
+                       var C;
+                       var isArray = this.IsArray(originalArray);
+                       if (isArray) {
+                               C = this.Get(originalArray, 'constructor');
+                               // TODO: figure out how to make a cross-realm normal Array, a same-realm Array
+                               // if (this.IsConstructor(C)) {
+                               //      if C is another realm's Array, C = undefined
+                               //      Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
+                               // }
+                               if (this.Type(C) === 'Object' && hasSymbols$4 && $Symbol.species) {
+                                       C = this.Get(C, $Symbol.species);
+                                       if (C === null) {
+                                               C = void 0;
+                                       }
+                               }
+                       }
+                       if (typeof C === 'undefined') {
+                               return $Array(len);
+                       }
+                       if (!this.IsConstructor(C)) {
+                               throw new $TypeError$2('C must be a constructor');
+                       }
+                       return new C(len); // this.Construct(C, len);
+               },
+
+               CreateDataProperty: function CreateDataProperty(O, P, V) {
+                       if (this.Type(O) !== 'Object') {
+                               throw new $TypeError$2('Assertion failed: Type(O) is not Object');
+                       }
+                       if (!this.IsPropertyKey(P)) {
+                               throw new $TypeError$2('Assertion failed: IsPropertyKey(P) is not true');
+                       }
+                       var oldDesc = $gOPD(O, P);
+                       var extensible = oldDesc || (typeof $isExtensible !== 'function' || $isExtensible(O));
+                       var immutable = oldDesc && (!oldDesc.writable || !oldDesc.configurable);
+                       if (immutable || !extensible) {
+                               return false;
+                       }
+                       var newDesc = {
+                               configurable: true,
+                               enumerable: true,
+                               value: V,
+                               writable: true
+                       };
+                       $defineProperty(O, P, newDesc);
+                       return true;
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow
+               CreateDataPropertyOrThrow: function CreateDataPropertyOrThrow(O, P, V) {
+                       if (this.Type(O) !== 'Object') {
+                               throw new $TypeError$2('Assertion failed: Type(O) is not Object');
+                       }
+                       if (!this.IsPropertyKey(P)) {
+                               throw new $TypeError$2('Assertion failed: IsPropertyKey(P) is not true');
+                       }
+                       var success = this.CreateDataProperty(O, P, V);
+                       if (!success) {
+                               throw new $TypeError$2('unable to create data property');
+                       }
+                       return success;
+               },
+
+               // https://www.ecma-international.org/ecma-262/6.0/#sec-objectcreate
+               ObjectCreate: function ObjectCreate(proto, internalSlotsList) {
+                       if (proto !== null && this.Type(proto) !== 'Object') {
+                               throw new $TypeError$2('Assertion failed: proto must be null or an object');
+                       }
+                       var slots = arguments.length < 2 ? [] : internalSlotsList;
+                       if (slots.length > 0) {
+                               throw new $SyntaxError$1('es-abstract does not yet support internal slots');
+                       }
+
+                       if (proto === null && !$ObjectCreate) {
+                               throw new $SyntaxError$1('native Object.create support is required to create null objects');
+                       }
+
+                       return $ObjectCreate(proto);
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex
+               AdvanceStringIndex: function AdvanceStringIndex(S, index, unicode) {
+                       if (this.Type(S) !== 'String') {
+                               throw new $TypeError$2('S must be a String');
+                       }
+                       if (!this.IsInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) {
+                               throw new $TypeError$2('Assertion failed: length must be an integer >= 0 and <= 2**53');
+                       }
+                       if (this.Type(unicode) !== 'Boolean') {
+                               throw new $TypeError$2('Assertion failed: unicode must be a Boolean');
+                       }
+                       if (!unicode) {
+                               return index + 1;
+                       }
+                       var length = S.length;
+                       if ((index + 1) >= length) {
+                               return index + 1;
+                       }
+
+                       var first = $charCodeAt(S, index);
+                       if (first < 0xD800 || first > 0xDBFF) {
+                               return index + 1;
+                       }
+
+                       var second = $charCodeAt(S, index + 1);
+                       if (second < 0xDC00 || second > 0xDFFF) {
+                               return index + 1;
+                       }
+
+                       return index + 2;
+               },
+
+               // https://www.ecma-international.org/ecma-262/6.0/#sec-createmethodproperty
+               CreateMethodProperty: function CreateMethodProperty(O, P, V) {
+                       if (this.Type(O) !== 'Object') {
+                               throw new $TypeError$2('Assertion failed: Type(O) is not Object');
+                       }
+
+                       if (!this.IsPropertyKey(P)) {
+                               throw new $TypeError$2('Assertion failed: IsPropertyKey(P) is not true');
+                       }
+
+                       var newDesc = {
+                               configurable: true,
+                               enumerable: false,
+                               value: V,
+                               writable: true
+                       };
+                       return !!$defineProperty(O, P, newDesc);
+               },
+
+               // https://www.ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow
+               DefinePropertyOrThrow: function DefinePropertyOrThrow(O, P, desc) {
+                       if (this.Type(O) !== 'Object') {
+                               throw new $TypeError$2('Assertion failed: Type(O) is not Object');
+                       }
+
+                       if (!this.IsPropertyKey(P)) {
+                               throw new $TypeError$2('Assertion failed: IsPropertyKey(P) is not true');
+                       }
+
+                       return !!$defineProperty(O, P, desc);
+               },
+
+               // https://www.ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow
+               DeletePropertyOrThrow: function DeletePropertyOrThrow(O, P) {
+                       if (this.Type(O) !== 'Object') {
+                               throw new $TypeError$2('Assertion failed: Type(O) is not Object');
+                       }
+
+                       if (!this.IsPropertyKey(P)) {
+                               throw new $TypeError$2('Assertion failed: IsPropertyKey(P) is not true');
+                       }
+
+                       var success = delete O[P];
+                       if (!success) {
+                               throw new TypeError('Attempt to delete property failed.');
+                       }
+                       return success;
+               },
+
+               // https://www.ecma-international.org/ecma-262/6.0/#sec-enumerableownnames
+               EnumerableOwnNames: function EnumerableOwnNames(O) {
+                       if (this.Type(O) !== 'Object') {
+                               throw new $TypeError$2('Assertion failed: Type(O) is not Object');
+                       }
+
+                       return objectKeys(O);
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object
+               thisNumberValue: function thisNumberValue(value) {
+                       if (this.Type(value) === 'Number') {
+                               return value;
+                       }
+
+                       return $NumberValueOf(value);
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-boolean-prototype-object
+               thisBooleanValue: function thisBooleanValue(value) {
+                       if (this.Type(value) === 'Boolean') {
+                               return value;
+                       }
+
+                       return $BooleanValueOf(value);
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object
+               thisStringValue: function thisStringValue(value) {
+                       if (this.Type(value) === 'String') {
+                               return value;
+                       }
+
+                       return $StringValueOf(value);
+               },
+
+               // https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-date-prototype-object
+               thisTimeValue: function thisTimeValue(value) {
+                       return $DateValueOf(value);
+               }
+       });
+
+       delete ES6.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible
+
+       var es2015$1 = ES6;
+
+       var es6$1 = es2015$1;
+
+       var implementation$2 = function find(predicate) {
+               var list = es6$1.ToObject(this);
+               var length = es6$1.ToLength(list.length);
+               if (!es6$1.IsCallable(predicate)) {
+                       throw new TypeError('Array#find: predicate must be a function');
+               }
+               if (length === 0) {
+                       return void 0;
+               }
+               var thisArg;
+               if (arguments.length > 0) {
+                       thisArg = arguments[1];
+               }
+
+               for (var i = 0, value; i < length; i++) {
+                       value = list[i];
+                       // inlined for performance: if (ES.Call(predicate, thisArg, [value, i, list])) {
+                       if (predicate.apply(thisArg, [value, i, list])) {
+                               return value;
+                       }
+               }
+               return void 0;
+       };
+
+       var polyfill$3 = function getPolyfill() {
+               // Detect if an implementation exists
+               // Detect early implementations which skipped holes in sparse arrays
+               // eslint-disable-next-line no-sparse-arrays
+               var implemented = Array.prototype.find && [, 1].find(function () {
+                       return true;
+               }) !== 1;
+
+               // eslint-disable-next-line global-require
+               return implemented ? Array.prototype.find : implementation$2;
+       };
+
+       var shim$8 = function shimArrayPrototypeFind() {
+               var polyfill = polyfill$3();
+
+               defineProperties_1(Array.prototype, { find: polyfill }, {
+                       find: function () {
+                               return Array.prototype.find !== polyfill;
+                       }
+               });
+
+               return polyfill;
+       };
+
+       var slice$2 = Array.prototype.slice;
+
+       var polyfill$4 = polyfill$3();
+
+       var boundFindShim = function find(array, predicate) { // eslint-disable-line no-unused-vars
+               es6$1.RequireObjectCoercible(array);
+               var args = slice$2.call(arguments, 1);
+               return polyfill$4.apply(array, args);
+       };
+
+       defineProperties_1(boundFindShim, {
+               getPolyfill: polyfill$3,
+               implementation: implementation$2,
+               shim: shim$8
+       });
+
+       var array_prototype_find = boundFindShim;
+
+       var implementation$3 = function findIndex(predicate) {
+               var list = es6$1.ToObject(this);
+               var length = es6$1.ToLength(list.length);
+               if (!es6$1.IsCallable(predicate)) {
+                       throw new TypeError('Array#findIndex: predicate must be a function');
+               }
+               if (length === 0) return -1;
+               var thisArg = arguments[1];
+               for (var i = 0, value; i < length; i++) {
+                       value = list[i];
+                       if (es6$1.Call(predicate, thisArg, [value, i, list])) return i;
+               }
+               return -1;
+       };
+
+       var polyfill$5 = function getPolyfill() {
+               // Detect if an implementation exists
+               // Detect early implementations which skipped holes in sparse arrays
+               var implemented = Array.prototype.findIndex && ([, 1].findIndex(function (item, idx) {
+                       return idx === 0;
+               }) === 0);
+
+
+               return implemented ? Array.prototype.findIndex : implementation$3;
+       };
+
+       var shim$9 = function shimArrayPrototypeFindIndex() {
+               var polyfill = polyfill$5();
+
+               defineProperties_1(Array.prototype, { findIndex: polyfill }, {
+                       findIndex: function () {
+                               return Array.prototype.findIndex !== polyfill;
+                       }
+               });
+
+               return polyfill;
+       };
+
+       var slice$3 = Array.prototype.slice;
+
+       var polyfill$6 = polyfill$5();
+
+       var boundShim = function findIndex(array, predicate) {
+               es6$1.RequireObjectCoercible(array);
+               var args = slice$3.call(arguments, 1);
+               return polyfill$6.apply(array, args);
+       };
+
+       defineProperties_1(boundShim, {
+               implementation: implementation$3,
+               getPolyfill: polyfill$5,
+               shim: shim$9
+       });
+
+       var array_prototype_findindex = boundShim;
+
+       var supportsDescriptors$1 = defineProperties_1.supportsDescriptors;
+
+       /*! https://mths.be/array-from v0.2.0 by @mathias */
+       var implementation$4 = function from(arrayLike) {
+               var defineProperty = supportsDescriptors$1 ? Object.defineProperty : function put(object, key, descriptor) {
+                       object[key] = descriptor.value;
+               };
+               var C = this;
+               if (arrayLike === null || typeof arrayLike === 'undefined') {
+                       throw new TypeError('`Array.from` requires an array-like object, not `null` or `undefined`');
+               }
+               var items = es6$1.ToObject(arrayLike);
+
+               var mapFn, T;
+               if (typeof arguments[1] !== 'undefined') {
+                       mapFn = arguments[1];
+                       if (!es6$1.IsCallable(mapFn)) {
+                               throw new TypeError('When provided, the second argument to `Array.from` must be a function');
+                       }
+                       if (arguments.length > 2) {
+                               T = arguments[2];
+                       }
+               }
+
+               var len = es6$1.ToLength(items.length);
+               var A = es6$1.IsCallable(C) ? es6$1.ToObject(new C(len)) : new Array(len);
+               var k = 0;
+               var kValue, mappedValue;
+               while (k < len) {
+                       kValue = items[k];
+                       if (mapFn) {
+                               mappedValue = typeof T === 'undefined' ? mapFn(kValue, k) : es6$1.Call(mapFn, T, [kValue, k]);
+                       } else {
+                               mappedValue = kValue;
+                       }
+                       defineProperty(A, k, {
+                               'configurable': true,
+                               'enumerable': true,
+                               'value': mappedValue,
+                               'writable': true
+                       });
+                       k += 1;
+               }
+               A.length = len;
+               return A;
+       };
+
+       var tryCall = function (fn) {
+               try {
+                       fn();
+                       return true;
+               } catch (e) {
+                       return false;
+               }
+       };
+
+       var polyfill$7 = function getPolyfill() {
+               var implemented = es6$1.IsCallable(Array.from)
+                       && tryCall(function () { Array.from({ 'length': -Infinity }); })
+                       && !tryCall(function () { Array.from([], undefined); });
+
+               return implemented ? Array.from : implementation$4;
+       };
+
+       var shim$a = function shimArrayFrom() {
+               var polyfill = polyfill$7();
+
+               defineProperties_1(Array, { 'from': polyfill }, {
+                       'from': function () {
+                               return Array.from !== polyfill;
+                       }
+               });
+
+               return polyfill;
+       };
+
+       // eslint-disable-next-line no-unused-vars
+       var boundFromShim = function from(array) {
+           // eslint-disable-next-line no-invalid-this
+               return implementation$4.apply(this || Array, arguments);
+       };
+
+       defineProperties_1(boundFromShim, {
+               'getPolyfill': polyfill$7,
+               'implementation': implementation$4,
+               'shim': shim$a
+       });
+
+       var array_from = boundFromShim;
+
+       var ES2016 = assign$1(assign$1({}, es2015$1), {
+               // https://github.com/tc39/ecma262/pull/60
+               SameValueNonNumber: function SameValueNonNumber(x, y) {
+                       if (typeof x === 'number' || typeof x !== typeof y) {
+                               throw new TypeError('SameValueNonNumber requires two non-number values of the same type.');
+                       }
+                       return this.SameValue(x, y);
+               }
+       });
+
+       var es2016 = ES2016;
+
+       var es7 = es2016;
+
+       var isEnumerable$1 = functionBind.call(Function.call, Object.prototype.propertyIsEnumerable);
+
+       var implementation$5 = function values(O) {
+               var obj = es7.RequireObjectCoercible(O);
+               var vals = [];
+               for (var key in obj) {
+                       if (src(obj, key) && isEnumerable$1(obj, key)) {
+                               vals.push(obj[key]);
+                       }
+               }
+               return vals;
+       };
+
+       var polyfill$8 = function getPolyfill() {
+               return typeof Object.values === 'function' ? Object.values : implementation$5;
+       };
+
+       var shim$b = function shimValues() {
+               var polyfill = polyfill$8();
+               defineProperties_1(Object, { values: polyfill }, {
+                       values: function testValues() {
+                               return Object.values !== polyfill;
+                       }
+               });
+               return polyfill;
+       };
+
+       var polyfill$9 = polyfill$8();
+
+       defineProperties_1(polyfill$9, {
+               getPolyfill: polyfill$8,
+               implementation: implementation$5,
+               shim: shim$b
+       });
+
+       var object_values = polyfill$9;
+
+       // modified from https://github.com/es-shims/es6-shim
+
+
+       var canBeObject = function (obj) {
+               return typeof obj !== 'undefined' && obj !== null;
+       };
+       var hasSymbols$5 = shams();
+       var toObject = Object;
+       var push = functionBind.call(Function.call, Array.prototype.push);
+       var propIsEnumerable = functionBind.call(Function.call, Object.prototype.propertyIsEnumerable);
+       var originalGetSymbols = hasSymbols$5 ? Object.getOwnPropertySymbols : null;
+
+       var implementation$6 = function assign(target, source1) {
+               if (!canBeObject(target)) { throw new TypeError('target must be an object'); }
+               var objTarget = toObject(target);
+               var s, source, i, props, syms, value, key;
+               for (s = 1; s < arguments.length; ++s) {
+                       source = toObject(arguments[s]);
+                       props = objectKeys(source);
+                       var getSymbols = hasSymbols$5 && (Object.getOwnPropertySymbols || originalGetSymbols);
+                       if (getSymbols) {
+                               syms = getSymbols(source);
+                               for (i = 0; i < syms.length; ++i) {
+                                       key = syms[i];
+                                       if (propIsEnumerable(source, key)) {
+                                               push(props, key);
+                                       }
+                               }
+                       }
+                       for (i = 0; i < props.length; ++i) {
+                               key = props[i];
+                               value = source[key];
+                               if (propIsEnumerable(source, key)) {
+                                       objTarget[key] = value;
+                               }
+                       }
+               }
+               return objTarget;
+       };
+
+       var lacksProperEnumerationOrder = function () {
+               if (!Object.assign) {
+                       return false;
+               }
+               // v8, specifically in node 4.x, has a bug with incorrect property enumeration order
+               // note: this does not detect the bug unless there's 20 characters
+               var str = 'abcdefghijklmnopqrst';
+               var letters = str.split('');
+               var map = {};
+               for (var i = 0; i < letters.length; ++i) {
+                       map[letters[i]] = letters[i];
+               }
+               var obj = Object.assign({}, map);
+               var actual = '';
+               for (var k in obj) {
+                       actual += k;
+               }
+               return str !== actual;
+       };
+
+       var assignHasPendingExceptions = function () {
+               if (!Object.assign || !Object.preventExtensions) {
+                       return false;
+               }
+               // Firefox 37 still has "pending exception" logic in its Object.assign implementation,
+               // which is 72% slower than our shim, and Firefox 40's native implementation.
+               var thrower = Object.preventExtensions({ 1: 2 });
+               try {
+                       Object.assign(thrower, 'xy');
+               } catch (e) {
+                       return thrower[1] === 'y';
+               }
+               return false;
+       };
+
+       var polyfill$a = function getPolyfill() {
+               if (!Object.assign) {
+                       return implementation$6;
+               }
+               if (lacksProperEnumerationOrder()) {
+                       return implementation$6;
+               }
+               if (assignHasPendingExceptions()) {
+                       return implementation$6;
+               }
+               return Object.assign;
+       };
+
+       var shim$c = function shimAssign() {
+               var polyfill = polyfill$a();
+               defineProperties_1(
+                       Object,
+                       { assign: polyfill },
+                       { assign: function () { return Object.assign !== polyfill; } }
+               );
+               return polyfill;
+       };
+
+       var polyfill$b = polyfill$a();
+
+       defineProperties_1(polyfill$b, {
+               getPolyfill: polyfill$a,
+               implementation: implementation$6,
+               shim: shim$c
+       });
+
+       var object_assign = polyfill$b;
+
+       /**
+        * @this {Promise}
+        */
+       function finallyConstructor(callback) {
+         var constructor = this.constructor;
+         return this.then(
+           function(value) {
+             // @ts-ignore
+             return constructor.resolve(callback()).then(function() {
+               return value;
+             });
+           },
+           function(reason) {
+             // @ts-ignore
+             return constructor.resolve(callback()).then(function() {
+               // @ts-ignore
+               return constructor.reject(reason);
+             });
+           }
+         );
+       }
+
+       // Store setTimeout reference so promise-polyfill will be unaffected by
+       // other code modifying setTimeout (like sinon.useFakeTimers())
+       var setTimeoutFunc = setTimeout;
+
+       function isArray$3(x) {
+         return Boolean(x && typeof x.length !== 'undefined');
+       }
+
+       function noop$1() {}
+
+       // Polyfill for Function.prototype.bind
+       function bind$2(fn, thisArg) {
+         return function() {
+           fn.apply(thisArg, arguments);
+         };
+       }
+
+       /**
+        * @constructor
+        * @param {Function} fn
+        */
+       function Promise$1(fn) {
+         if (!(this instanceof Promise$1))
+           throw new TypeError('Promises must be constructed via new');
+         if (typeof fn !== 'function') throw new TypeError('not a function');
+         /** @type {!number} */
+         this._state = 0;
+         /** @type {!boolean} */
+         this._handled = false;
+         /** @type {Promise|undefined} */
+         this._value = undefined;
+         /** @type {!Array<!Function>} */
+         this._deferreds = [];
+
+         doResolve(fn, this);
+       }
+
+       function handle(self, deferred) {
+         while (self._state === 3) {
+           self = self._value;
+         }
+         if (self._state === 0) {
+           self._deferreds.push(deferred);
+           return;
+         }
+         self._handled = true;
+         Promise$1._immediateFn(function() {
+           var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;
+           if (cb === null) {
+             (self._state === 1 ? resolve : reject)(deferred.promise, self._value);
+             return;
+           }
+           var ret;
+           try {
+             ret = cb(self._value);
+           } catch (e) {
+             reject(deferred.promise, e);
+             return;
+           }
+           resolve(deferred.promise, ret);
+         });
+       }
+
+       function resolve(self, newValue) {
+         try {
+           // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
+           if (newValue === self)
+             throw new TypeError('A promise cannot be resolved with itself.');
+           if (
+             newValue &&
+             (typeof newValue === 'object' || typeof newValue === 'function')
+           ) {
+             var then = newValue.then;
+             if (newValue instanceof Promise$1) {
+               self._state = 3;
+               self._value = newValue;
+               finale(self);
+               return;
+             } else if (typeof then === 'function') {
+               doResolve(bind$2(then, newValue), self);
+               return;
+             }
+           }
+           self._state = 1;
+           self._value = newValue;
+           finale(self);
+         } catch (e) {
+           reject(self, e);
+         }
+       }
+
+       function reject(self, newValue) {
+         self._state = 2;
+         self._value = newValue;
+         finale(self);
+       }
+
+       function finale(self) {
+         if (self._state === 2 && self._deferreds.length === 0) {
+           Promise$1._immediateFn(function() {
+             if (!self._handled) {
+               Promise$1._unhandledRejectionFn(self._value);
+             }
+           });
+         }
+
+         for (var i = 0, len = self._deferreds.length; i < len; i++) {
+           handle(self, self._deferreds[i]);
+         }
+         self._deferreds = null;
+       }
+
+       /**
+        * @constructor
+        */
+       function Handler(onFulfilled, onRejected, promise) {
+         this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
+         this.onRejected = typeof onRejected === 'function' ? onRejected : null;
+         this.promise = promise;
+       }
+
+       /**
+        * Take a potentially misbehaving resolver function and make sure
+        * onFulfilled and onRejected are only called once.
+        *
+        * Makes no guarantees about asynchrony.
+        */
+       function doResolve(fn, self) {
+         var done = false;
+         try {
+           fn(
+             function(value) {
+               if (done) return;
+               done = true;
+               resolve(self, value);
+             },
+             function(reason) {
+               if (done) return;
+               done = true;
+               reject(self, reason);
+             }
+           );
+         } catch (ex) {
+           if (done) return;
+           done = true;
+           reject(self, ex);
+         }
+       }
+
+       Promise$1.prototype['catch'] = function(onRejected) {
+         return this.then(null, onRejected);
+       };
+
+       Promise$1.prototype.then = function(onFulfilled, onRejected) {
+         // @ts-ignore
+         var prom = new this.constructor(noop$1);
+
+         handle(this, new Handler(onFulfilled, onRejected, prom));
+         return prom;
+       };
+
+       Promise$1.prototype['finally'] = finallyConstructor;
+
+       Promise$1.all = function(arr) {
+         return new Promise$1(function(resolve, reject) {
+           if (!isArray$3(arr)) {
+             return reject(new TypeError('Promise.all accepts an array'));
+           }
+
+           var args = Array.prototype.slice.call(arr);
+           if (args.length === 0) return resolve([]);
+           var remaining = args.length;
+
+           function res(i, val) {
+             try {
+               if (val && (typeof val === 'object' || typeof val === 'function')) {
+                 var then = val.then;
+                 if (typeof then === 'function') {
+                   then.call(
+                     val,
+                     function(val) {
+                       res(i, val);
+                     },
+                     reject
+                   );
+                   return;
+                 }
+               }
+               args[i] = val;
+               if (--remaining === 0) {
+                 resolve(args);
+               }
+             } catch (ex) {
+               reject(ex);
+             }
+           }
+
+           for (var i = 0; i < args.length; i++) {
+             res(i, args[i]);
+           }
+         });
+       };
+
+       Promise$1.resolve = function(value) {
+         if (value && typeof value === 'object' && value.constructor === Promise$1) {
+           return value;
+         }
+
+         return new Promise$1(function(resolve) {
+           resolve(value);
+         });
+       };
+
+       Promise$1.reject = function(value) {
+         return new Promise$1(function(resolve, reject) {
+           reject(value);
+         });
+       };
+
+       Promise$1.race = function(arr) {
+         return new Promise$1(function(resolve, reject) {
+           if (!isArray$3(arr)) {
+             return reject(new TypeError('Promise.race accepts an array'));
+           }
+
+           for (var i = 0, len = arr.length; i < len; i++) {
+             Promise$1.resolve(arr[i]).then(resolve, reject);
+           }
+         });
+       };
+
+       // Use polyfill for setImmediate for performance gains
+       Promise$1._immediateFn =
+         // @ts-ignore
+         (typeof setImmediate === 'function' &&
+           function(fn) {
+             // @ts-ignore
+             setImmediate(fn);
+           }) ||
+         function(fn) {
+           setTimeoutFunc(fn, 0);
+         };
+
+       Promise$1._unhandledRejectionFn = function _unhandledRejectionFn(err) {
+         if (typeof console !== 'undefined' && console) {
+           console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console
+         }
+       };
+
+       /** @suppress {undefinedVars} */
+       var globalNS = (function() {
+         // the only reliable means to get the global object is
+         // `Function('return this')()`
+         // However, this causes CSP violations in Chrome apps.
+         if (typeof self !== 'undefined') {
+           return self;
+         }
+         if (typeof window !== 'undefined') {
+           return window;
+         }
+         if (typeof global !== 'undefined') {
+           return global;
+         }
+         throw new Error('unable to locate global object');
+       })();
+
+       if (!('Promise' in globalNS)) {
+         globalNS['Promise'] = Promise$1;
+       } else if (!globalNS.Promise.prototype['finally']) {
+         globalNS.Promise.prototype['finally'] = finallyConstructor;
+       }
+
+       var polyfill$c = /*#__PURE__*/Object.freeze({
+
+       });
+
+       var setAsap = createCommonjsModule(function (module) {
+       (function (thisVar, undefined$1) {
+               var main = (typeof window === 'object' && window) || (typeof commonjsGlobal === 'object' && commonjsGlobal) ||
+                       typeof self === 'object' && self || thisVar;
+
+               var hasSetImmediate = typeof setImmediate === 'function';
+               var hasNextTick = typeof process === 'object' && !!process && typeof process.nextTick === 'function';
+               var index = 0;
+
+               function getNewIndex() {
+                       if (index === 9007199254740991) {
+                               return 0;
+                       }
+                       return ++index;
+               }
+
+               var setAsap = (function () {
+                       var hiddenDiv, scriptEl, timeoutFn, callbacks;
+
+                       // Modern browsers, fastest async
+                       if (main.MutationObserver) {
+                               return function setAsap(callback) {
+                                       hiddenDiv = document.createElement("div");
+                                       (new MutationObserver(function() {
+                                               callback();
+                                               hiddenDiv = null;
+                                       })).observe(hiddenDiv, { attributes: true });
+                                       hiddenDiv.setAttribute('i', '1');
+                               };
+
+                       // Browsers that support postMessage
+                       } else if (!hasSetImmediate && main.postMessage && !main.importScripts && main.addEventListener) {
+
+                               var MESSAGE_PREFIX = "com.setImmediate" + Math.random();
+                               callbacks = {};
+
+                               var onGlobalMessage = function (event) {
+                                       if (event.source === main && event.data.indexOf(MESSAGE_PREFIX) === 0) {
+                                               var i = +event.data.split(':')[1];
+                                               callbacks[i]();
+                                               delete callbacks[i];
+                                       }
+                               };
+
+                               main.addEventListener("message", onGlobalMessage, false);
+
+                               return function setAsap(callback) {
+                                       var i = getNewIndex();
+                                       callbacks[i] = callback;
+                                       main.postMessage(MESSAGE_PREFIX + ':' + i, "*");
+                               };
+
+                               // IE browsers without postMessage
+                       } else if (!hasSetImmediate && main.document && 'onreadystatechange' in document.createElement('script')) {
+
+                               return function setAsap(callback) {
+                                       scriptEl = document.createElement("script");
+                                       scriptEl.onreadystatechange = function onreadystatechange() {
+                                               scriptEl.onreadystatechange = null;
+                                               scriptEl.parentNode.removeChild(scriptEl);
+                                               scriptEl = null;
+                                               callback();
+                                       };
+                                       document.body.appendChild(scriptEl);
+                               };
+
+                       // All other browsers and node
+                       } else {
+
+                               timeoutFn = (hasSetImmediate && setImmediate) || (hasNextTick && process.nextTick) || setTimeout;
+                               return function setAsap(callback) {
+                                       timeoutFn(callback);
+                               };
+                       }
+
+               })();
+
+               if ( module.exports) {
+                       module.exports = setAsap;
+               } else if (typeof commonjsRequire !== 'undefined' && commonjsRequire.amd) {
+                       undefined$1(function () {
+                               return setAsap;
+                       });
+               } else {
+                       main.setAsap = setAsap;
+               }
+       })(commonjsGlobal);
+       });
+
+       var performanceNow = createCommonjsModule(function (module) {
+       // Generated by CoffeeScript 1.12.2
+       (function() {
+         var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;
+
+         if ((typeof performance !== "undefined" && performance !== null) && performance.now) {
+           module.exports = function() {
+             return performance.now();
+           };
+         } else if ((typeof process !== "undefined" && process !== null) && process.hrtime) {
+           module.exports = function() {
+             return (getNanoSeconds() - nodeLoadTime) / 1e6;
+           };
+           hrtime = process.hrtime;
+           getNanoSeconds = function() {
+             var hr;
+             hr = hrtime();
+             return hr[0] * 1e9 + hr[1];
+           };
+           moduleLoadTime = getNanoSeconds();
+           upTime = process.uptime() * 1e9;
+           nodeLoadTime = moduleLoadTime - upTime;
+         } else if (Date.now) {
+           module.exports = function() {
+             return Date.now() - loadTime;
+           };
+           loadTime = Date.now();
+         } else {
+           module.exports = function() {
+             return new Date().getTime() - loadTime;
+           };
+           loadTime = new Date().getTime();
+         }
+
+       }).call(commonjsGlobal);
+
+
+       });
+
+       var root = typeof window === 'undefined' ? commonjsGlobal : window
+         , vendors = ['moz', 'webkit']
+         , suffix = 'AnimationFrame'
+         , raf = root['request' + suffix]
+         , caf = root['cancel' + suffix] || root['cancelRequest' + suffix];
+
+       for(var i = 0; !raf && i < vendors.length; i++) {
+         raf = root[vendors[i] + 'Request' + suffix];
+         caf = root[vendors[i] + 'Cancel' + suffix]
+             || root[vendors[i] + 'CancelRequest' + suffix];
+       }
+
+       // Some versions of FF have rAF but not cAF
+       if(!raf || !caf) {
+         var last = 0
+           , id$3 = 0
+           , queue = []
+           , frameDuration = 1000 / 60;
+
+         raf = function(callback) {
+           if(queue.length === 0) {
+             var _now = performanceNow()
+               , next = Math.max(0, frameDuration - (_now - last));
+             last = next + _now;
+             setTimeout(function() {
+               var cp = queue.slice(0);
+               // Clear queue here to prevent
+               // callbacks from appending listeners
+               // to the current frame's queue
+               queue.length = 0;
+               for(var i = 0; i < cp.length; i++) {
+                 if(!cp[i].cancelled) {
+                   try{
+                     cp[i].callback(last);
+                   } catch(e) {
+                     setTimeout(function() { throw e }, 0);
+                   }
+                 }
+               }
+             }, Math.round(next));
+           }
+           queue.push({
+             handle: ++id$3,
+             callback: callback,
+             cancelled: false
+           });
+           return id$3
+         };
+
+         caf = function(handle) {
+           for(var i = 0; i < queue.length; i++) {
+             if(queue[i].handle === handle) {
+               queue[i].cancelled = true;
+             }
+           }
+         };
+       }
+
+       var raf_1 = function(fn) {
+         // Wrap in a new function to prevent
+         // `cancel` potentially being assigned
+         // to the native rAF function
+         return raf.call(root, fn)
+       };
+       var cancel = function() {
+         caf.apply(root, arguments);
+       };
+       var polyfill$d = function(object) {
+         if (!object) {
+           object = root;
+         }
+         object.requestAnimationFrame = raf;
+         object.cancelAnimationFrame = caf;
+       };
+       raf_1.cancel = cancel;
+       raf_1.polyfill = polyfill$d;
+
+       var support = {
+         searchParams: 'URLSearchParams' in self,
+         iterable: 'Symbol' in self && 'iterator' in Symbol,
+         blob:
+           'FileReader' in self &&
+           'Blob' in self &&
+           (function() {
+             try {
+               new Blob();
+               return true
+             } catch (e) {
+               return false
+             }
+           })(),
+         formData: 'FormData' in self,
+         arrayBuffer: 'ArrayBuffer' in self
+       };
+
+       function isDataView(obj) {
+         return obj && DataView.prototype.isPrototypeOf(obj)
+       }
+
+       if (support.arrayBuffer) {
+         var viewClasses = [
+           '[object Int8Array]',
+           '[object Uint8Array]',
+           '[object Uint8ClampedArray]',
+           '[object Int16Array]',
+           '[object Uint16Array]',
+           '[object Int32Array]',
+           '[object Uint32Array]',
+           '[object Float32Array]',
+           '[object Float64Array]'
+         ];
+
+         var isArrayBufferView =
+           ArrayBuffer.isView ||
+           function(obj) {
+             return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1
+           };
+       }
+
+       function normalizeName(name) {
+         if (typeof name !== 'string') {
+           name = String(name);
+         }
+         if (/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(name)) {
+           throw new TypeError('Invalid character in header field name')
+         }
+         return name.toLowerCase()
+       }
+
+       function normalizeValue(value) {
+         if (typeof value !== 'string') {
+           value = String(value);
+         }
+         return value
+       }
+
+       // Build a destructive iterator for the value list
+       function iteratorFor(items) {
+         var iterator = {
+           next: function() {
+             var value = items.shift();
+             return {done: value === undefined, value: value}
+           }
+         };
+
+         if (support.iterable) {
+           iterator[Symbol.iterator] = function() {
+             return iterator
+           };
+         }
+
+         return iterator
+       }
+
+       function Headers(headers) {
+         this.map = {};
+
+         if (headers instanceof Headers) {
+           headers.forEach(function(value, name) {
+             this.append(name, value);
+           }, this);
+         } else if (Array.isArray(headers)) {
+           headers.forEach(function(header) {
+             this.append(header[0], header[1]);
+           }, this);
+         } else if (headers) {
+           Object.getOwnPropertyNames(headers).forEach(function(name) {
+             this.append(name, headers[name]);
+           }, this);
+         }
+       }
+
+       Headers.prototype.append = function(name, value) {
+         name = normalizeName(name);
+         value = normalizeValue(value);
+         var oldValue = this.map[name];
+         this.map[name] = oldValue ? oldValue + ', ' + value : value;
+       };
+
+       Headers.prototype['delete'] = function(name) {
+         delete this.map[normalizeName(name)];
+       };
+
+       Headers.prototype.get = function(name) {
+         name = normalizeName(name);
+         return this.has(name) ? this.map[name] : null
+       };
+
+       Headers.prototype.has = function(name) {
+         return this.map.hasOwnProperty(normalizeName(name))
+       };
+
+       Headers.prototype.set = function(name, value) {
+         this.map[normalizeName(name)] = normalizeValue(value);
+       };
+
+       Headers.prototype.forEach = function(callback, thisArg) {
+         for (var name in this.map) {
+           if (this.map.hasOwnProperty(name)) {
+             callback.call(thisArg, this.map[name], name, this);
+           }
+         }
+       };
+
+       Headers.prototype.keys = function() {
+         var items = [];
+         this.forEach(function(value, name) {
+           items.push(name);
+         });
+         return iteratorFor(items)
+       };
+
+       Headers.prototype.values = function() {
+         var items = [];
+         this.forEach(function(value) {
+           items.push(value);
+         });
+         return iteratorFor(items)
+       };
+
+       Headers.prototype.entries = function() {
+         var items = [];
+         this.forEach(function(value, name) {
+           items.push([name, value]);
+         });
+         return iteratorFor(items)
+       };
+
+       if (support.iterable) {
+         Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+       }
+
+       function consumed(body) {
+         if (body.bodyUsed) {
+           return Promise.reject(new TypeError('Already read'))
+         }
+         body.bodyUsed = true;
+       }
+
+       function fileReaderReady(reader) {
+         return new Promise(function(resolve, reject) {
+           reader.onload = function() {
+             resolve(reader.result);
+           };
+           reader.onerror = function() {
+             reject(reader.error);
+           };
+         })
+       }
+
+       function readBlobAsArrayBuffer(blob) {
+         var reader = new FileReader();
+         var promise = fileReaderReady(reader);
+         reader.readAsArrayBuffer(blob);
+         return promise
+       }
+
+       function readBlobAsText(blob) {
+         var reader = new FileReader();
+         var promise = fileReaderReady(reader);
+         reader.readAsText(blob);
+         return promise
+       }
+
+       function readArrayBufferAsText(buf) {
+         var view = new Uint8Array(buf);
+         var chars = new Array(view.length);
+
+         for (var i = 0; i < view.length; i++) {
+           chars[i] = String.fromCharCode(view[i]);
+         }
+         return chars.join('')
+       }
+
+       function bufferClone(buf) {
+         if (buf.slice) {
+           return buf.slice(0)
+         } else {
+           var view = new Uint8Array(buf.byteLength);
+           view.set(new Uint8Array(buf));
+           return view.buffer
+         }
+       }
+
+       function Body() {
+         this.bodyUsed = false;
+
+         this._initBody = function(body) {
+           this._bodyInit = body;
+           if (!body) {
+             this._bodyText = '';
+           } else if (typeof body === 'string') {
+             this._bodyText = body;
+           } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
+             this._bodyBlob = body;
+           } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
+             this._bodyFormData = body;
+           } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
+             this._bodyText = body.toString();
+           } else if (support.arrayBuffer && support.blob && isDataView(body)) {
+             this._bodyArrayBuffer = bufferClone(body.buffer);
+             // IE 10-11 can't handle a DataView body.
+             this._bodyInit = new Blob([this._bodyArrayBuffer]);
+           } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {
+             this._bodyArrayBuffer = bufferClone(body);
+           } else {
+             this._bodyText = body = Object.prototype.toString.call(body);
+           }
+
+           if (!this.headers.get('content-type')) {
+             if (typeof body === 'string') {
+               this.headers.set('content-type', 'text/plain;charset=UTF-8');
+             } else if (this._bodyBlob && this._bodyBlob.type) {
+               this.headers.set('content-type', this._bodyBlob.type);
+             } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
+               this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
+             }
+           }
+         };
+
+         if (support.blob) {
+           this.blob = function() {
+             var rejected = consumed(this);
+             if (rejected) {
+               return rejected
+             }
+
+             if (this._bodyBlob) {
+               return Promise.resolve(this._bodyBlob)
+             } else if (this._bodyArrayBuffer) {
+               return Promise.resolve(new Blob([this._bodyArrayBuffer]))
+             } else if (this._bodyFormData) {
+               throw new Error('could not read FormData body as blob')
+             } else {
+               return Promise.resolve(new Blob([this._bodyText]))
+             }
+           };
+
+           this.arrayBuffer = function() {
+             if (this._bodyArrayBuffer) {
+               return consumed(this) || Promise.resolve(this._bodyArrayBuffer)
+             } else {
+               return this.blob().then(readBlobAsArrayBuffer)
+             }
+           };
+         }
+
+         this.text = function() {
+           var rejected = consumed(this);
+           if (rejected) {
+             return rejected
+           }
+
+           if (this._bodyBlob) {
+             return readBlobAsText(this._bodyBlob)
+           } else if (this._bodyArrayBuffer) {
+             return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))
+           } else if (this._bodyFormData) {
+             throw new Error('could not read FormData body as text')
+           } else {
+             return Promise.resolve(this._bodyText)
+           }
+         };
+
+         if (support.formData) {
+           this.formData = function() {
+             return this.text().then(decode)
+           };
+         }
+
+         this.json = function() {
+           return this.text().then(JSON.parse)
+         };
+
+         return this
+       }
+
+       // HTTP methods whose capitalization should be normalized
+       var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];
+
+       function normalizeMethod(method) {
+         var upcased = method.toUpperCase();
+         return methods.indexOf(upcased) > -1 ? upcased : method
+       }
+
+       function Request(input, options) {
+         options = options || {};
+         var body = options.body;
+
+         if (input instanceof Request) {
+           if (input.bodyUsed) {
+             throw new TypeError('Already read')
+           }
+           this.url = input.url;
+           this.credentials = input.credentials;
+           if (!options.headers) {
+             this.headers = new Headers(input.headers);
+           }
+           this.method = input.method;
+           this.mode = input.mode;
+           this.signal = input.signal;
+           if (!body && input._bodyInit != null) {
+             body = input._bodyInit;
+             input.bodyUsed = true;
+           }
+         } else {
+           this.url = String(input);
+         }
+
+         this.credentials = options.credentials || this.credentials || 'same-origin';
+         if (options.headers || !this.headers) {
+           this.headers = new Headers(options.headers);
+         }
+         this.method = normalizeMethod(options.method || this.method || 'GET');
+         this.mode = options.mode || this.mode || null;
+         this.signal = options.signal || this.signal;
+         this.referrer = null;
+
+         if ((this.method === 'GET' || this.method === 'HEAD') && body) {
+           throw new TypeError('Body not allowed for GET or HEAD requests')
+         }
+         this._initBody(body);
+       }
+
+       Request.prototype.clone = function() {
+         return new Request(this, {body: this._bodyInit})
+       };
+
+       function decode(body) {
+         var form = new FormData();
+         body
+           .trim()
+           .split('&')
+           .forEach(function(bytes) {
+             if (bytes) {
+               var split = bytes.split('=');
+               var name = split.shift().replace(/\+/g, ' ');
+               var value = split.join('=').replace(/\+/g, ' ');
+               form.append(decodeURIComponent(name), decodeURIComponent(value));
+             }
+           });
+         return form
+       }
+
+       function parseHeaders(rawHeaders) {
+         var headers = new Headers();
+         // Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space
+         // https://tools.ietf.org/html/rfc7230#section-3.2
+         var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' ');
+         preProcessedHeaders.split(/\r?\n/).forEach(function(line) {
+           var parts = line.split(':');
+           var key = parts.shift().trim();
+           if (key) {
+             var value = parts.join(':').trim();
+             headers.append(key, value);
+           }
+         });
+         return headers
+       }
+
+       Body.call(Request.prototype);
+
+       function Response(bodyInit, options) {
+         if (!options) {
+           options = {};
+         }
+
+         this.type = 'default';
+         this.status = options.status === undefined ? 200 : options.status;
+         this.ok = this.status >= 200 && this.status < 300;
+         this.statusText = 'statusText' in options ? options.statusText : 'OK';
+         this.headers = new Headers(options.headers);
+         this.url = options.url || '';
+         this._initBody(bodyInit);
+       }
+
+       Body.call(Response.prototype);
+
+       Response.prototype.clone = function() {
+         return new Response(this._bodyInit, {
+           status: this.status,
+           statusText: this.statusText,
+           headers: new Headers(this.headers),
+           url: this.url
+         })
+       };
+
+       Response.error = function() {
+         var response = new Response(null, {status: 0, statusText: ''});
+         response.type = 'error';
+         return response
+       };
+
+       var redirectStatuses = [301, 302, 303, 307, 308];
+
+       Response.redirect = function(url, status) {
+         if (redirectStatuses.indexOf(status) === -1) {
+           throw new RangeError('Invalid status code')
+         }
+
+         return new Response(null, {status: status, headers: {location: url}})
+       };
+
+       var DOMException$1 = self.DOMException;
+       try {
+         new DOMException$1();
+       } catch (err) {
+         DOMException$1 = function(message, name) {
+           this.message = message;
+           this.name = name;
+           var error = Error(message);
+           this.stack = error.stack;
+         };
+         DOMException$1.prototype = Object.create(Error.prototype);
+         DOMException$1.prototype.constructor = DOMException$1;
+       }
+
+       function fetch$1(input, init) {
+         return new Promise(function(resolve, reject) {
+           var request = new Request(input, init);
+
+           if (request.signal && request.signal.aborted) {
+             return reject(new DOMException$1('Aborted', 'AbortError'))
+           }
+
+           var xhr = new XMLHttpRequest();
+
+           function abortXhr() {
+             xhr.abort();
+           }
+
+           xhr.onload = function() {
+             var options = {
+               status: xhr.status,
+               statusText: xhr.statusText,
+               headers: parseHeaders(xhr.getAllResponseHeaders() || '')
+             };
+             options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');
+             var body = 'response' in xhr ? xhr.response : xhr.responseText;
+             resolve(new Response(body, options));
+           };
+
+           xhr.onerror = function() {
+             reject(new TypeError('Network request failed'));
+           };
+
+           xhr.ontimeout = function() {
+             reject(new TypeError('Network request failed'));
+           };
+
+           xhr.onabort = function() {
+             reject(new DOMException$1('Aborted', 'AbortError'));
+           };
+
+           xhr.open(request.method, request.url, true);
+
+           if (request.credentials === 'include') {
+             xhr.withCredentials = true;
+           } else if (request.credentials === 'omit') {
+             xhr.withCredentials = false;
+           }
+
+           if ('responseType' in xhr && support.blob) {
+             xhr.responseType = 'blob';
+           }
+
+           request.headers.forEach(function(value, name) {
+             xhr.setRequestHeader(name, value);
+           });
+
+           if (request.signal) {
+             request.signal.addEventListener('abort', abortXhr);
+
+             xhr.onreadystatechange = function() {
+               // DONE (success or failure)
+               if (xhr.readyState === 4) {
+                 request.signal.removeEventListener('abort', abortXhr);
+               }
+             };
+           }
+
+           xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);
+         })
+       }
+
+       fetch$1.polyfill = true;
+
+       if (!self.fetch) {
+         self.fetch = fetch$1;
+         self.Headers = Headers;
+         self.Request = Request;
+         self.Response = Response;
+       }
+
+       var lib = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+
+
+
+
+
+
+
+
+
+
+       if (!window.Set) {
+           window.Set = es6Set;
+       }
+       if (!window.Map) {
+           window.Map = es6Map;
+       }
+       if (!window.Promise) {
+           window.Promise = polyfill$c;
+           window.Promise._immediateFn = setAsap;
+       }
+       if (!Array.prototype.find) {
+           array_prototype_find.shim();
+       }
+       if (!Array.prototype.findIndex) {
+           array_prototype_findindex.shim();
+       }
+       if (!Array.from) {
+           array_from.shim();
+       }
+       if (!Object.values) {
+           object_values.shim();
+       }
+       if (!Object.assign) {
+           object_assign.shim();
+       }
+       if (!window.requestAnimationFrame || !window.cancelAnimationFrame) {
+           window.requestAnimationFrame = raf_1;
+           window.cancelAnimationFrame = raf_1.cancel;
+       }
+
+       var finalFetch = window.fetch;
+       var finalPromise = window.Promise;
+       window.fetch = function (input, init) {
+           try {
+               return finalFetch(input, init);
+           }
+           catch (error) {
+               return new finalPromise(function (_, reject) { return reject(error); });
+           }
+       };
+       });
+
+       unwrapExports(lib);
+
+       (function (factory) {
+         
+         factory();
+       }(function () {
+         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;
+         }
+
+         function _inherits(subClass, superClass) {
+           if (typeof superClass !== "function" && superClass !== null) {
+             throw new TypeError("Super expression must either be null or a function");
+           }
+
+           subClass.prototype = Object.create(superClass && superClass.prototype, {
+             constructor: {
+               value: subClass,
+               writable: true,
+               configurable: true
+             }
+           });
+           if (superClass) _setPrototypeOf(subClass, superClass);
+         }
+
+         function _getPrototypeOf(o) {
+           _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
+             return o.__proto__ || Object.getPrototypeOf(o);
+           };
+           return _getPrototypeOf(o);
+         }
+
+         function _setPrototypeOf(o, p) {
+           _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
+             o.__proto__ = p;
+             return o;
+           };
+
+           return _setPrototypeOf(o, p);
+         }
+
+         function _assertThisInitialized(self) {
+           if (self === void 0) {
+             throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+           }
+
+           return self;
+         }
+
+         function _possibleConstructorReturn(self, call) {
+           if (call && (typeof call === "object" || typeof call === "function")) {
+             return call;
+           }
+
+           return _assertThisInitialized(self);
+         }
+
+         function _superPropBase(object, property) {
+           while (!Object.prototype.hasOwnProperty.call(object, property)) {
+             object = _getPrototypeOf(object);
+             if (object === null) break;
+           }
+
+           return object;
+         }
+
+         function _get(target, property, receiver) {
+           if (typeof Reflect !== "undefined" && Reflect.get) {
+             _get = Reflect.get;
+           } else {
+             _get = function _get(target, property, receiver) {
+               var base = _superPropBase(target, property);
+
+               if (!base) return;
+               var desc = Object.getOwnPropertyDescriptor(base, property);
+
+               if (desc.get) {
+                 return desc.get.call(receiver);
+               }
+
+               return desc.value;
+             };
+           }
+
+           return _get(target, property, receiver || target);
+         }
+
+         var Emitter =
+         /*#__PURE__*/
+         function () {
+           function Emitter() {
+             _classCallCheck(this, Emitter);
+
+             Object.defineProperty(this, 'listeners', {
+               value: {},
+               writable: true,
+               configurable: true
+             });
+           }
+
+           _createClass(Emitter, [{
+             key: "addEventListener",
+             value: function addEventListener(type, callback) {
+               if (!(type in this.listeners)) {
+                 this.listeners[type] = [];
+               }
+
+               this.listeners[type].push(callback);
+             }
+           }, {
+             key: "removeEventListener",
+             value: function removeEventListener(type, callback) {
+               if (!(type in this.listeners)) {
+                 return;
+               }
+
+               var stack = this.listeners[type];
+
+               for (var i = 0, l = stack.length; i < l; i++) {
+                 if (stack[i] === callback) {
+                   stack.splice(i, 1);
+                   return;
+                 }
+               }
+             }
+           }, {
+             key: "dispatchEvent",
+             value: function dispatchEvent(event) {
+               var _this = this;
+
+               if (!(event.type in this.listeners)) {
+                 return;
+               }
+
+               var debounce = function debounce(callback) {
+                 setTimeout(function () {
+                   return callback.call(_this, event);
+                 });
+               };
+
+               var stack = this.listeners[event.type];
+
+               for (var i = 0, l = stack.length; i < l; i++) {
+                 debounce(stack[i]);
+               }
+
+               return !event.defaultPrevented;
+             }
+           }]);
+
+           return Emitter;
+         }();
+
+         var AbortSignal =
+         /*#__PURE__*/
+         function (_Emitter) {
+           _inherits(AbortSignal, _Emitter);
+
+           function AbortSignal() {
+             var _this2;
+
+             _classCallCheck(this, AbortSignal);
+
+             _this2 = _possibleConstructorReturn(this, _getPrototypeOf(AbortSignal).call(this)); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent
+             // constructor has failed to run, then "this.listeners" will still be undefined and then we call
+             // the parent constructor directly instead as a workaround. For general details, see babel bug:
+             // https://github.com/babel/babel/issues/3041
+             // This hack was added as a fix for the issue described here:
+             // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042
+
+             if (!_this2.listeners) {
+               Emitter.call(_assertThisInitialized(_this2));
+             } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and
+             // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl
+
+
+             Object.defineProperty(_assertThisInitialized(_this2), 'aborted', {
+               value: false,
+               writable: true,
+               configurable: true
+             });
+             Object.defineProperty(_assertThisInitialized(_this2), 'onabort', {
+               value: null,
+               writable: true,
+               configurable: true
+             });
+             return _this2;
+           }
+
+           _createClass(AbortSignal, [{
+             key: "toString",
+             value: function toString() {
+               return '[object AbortSignal]';
+             }
+           }, {
+             key: "dispatchEvent",
+             value: function dispatchEvent(event) {
+               if (event.type === 'abort') {
+                 this.aborted = true;
+
+                 if (typeof this.onabort === 'function') {
+                   this.onabort.call(this, event);
+                 }
+               }
+
+               _get(_getPrototypeOf(AbortSignal.prototype), "dispatchEvent", this).call(this, event);
+             }
+           }]);
+
+           return AbortSignal;
+         }(Emitter);
+         var AbortController =
+         /*#__PURE__*/
+         function () {
+           function AbortController() {
+             _classCallCheck(this, AbortController);
+
+             // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and
+             // we want Object.keys(new AbortController()) to be [] for compat with the native impl
+             Object.defineProperty(this, 'signal', {
+               value: new AbortSignal(),
+               writable: true,
+               configurable: true
+             });
+           }
+
+           _createClass(AbortController, [{
+             key: "abort",
+             value: function abort() {
+               var event;
+
+               try {
+                 event = new Event('abort');
+               } catch (e) {
+                 if (typeof document !== 'undefined') {
+                   if (!document.createEvent) {
+                     // For Internet Explorer 8:
+                     event = document.createEventObject();
+                     event.type = 'abort';
+                   } else {
+                     // For Internet Explorer 11:
+                     event = document.createEvent('Event');
+                     event.initEvent('abort', false, false);
+                   }
+                 } else {
+                   // Fallback where document isn't available:
+                   event = {
+                     type: 'abort',
+                     bubbles: false,
+                     cancelable: false
+                   };
+                 }
+               }
+
+               this.signal.dispatchEvent(event);
+             }
+           }, {
+             key: "toString",
+             value: function toString() {
+               return '[object AbortController]';
+             }
+           }]);
+
+           return AbortController;
+         }();
+
+         if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+           // These are necessary to make sure that we get correct output for:
+           // Object.prototype.toString.call(new AbortController())
+           AbortController.prototype[Symbol.toStringTag] = 'AbortController';
+           AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';
+         }
+
+         function polyfillNeeded(self) {
+           if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {
+             console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');
+             return true;
+           } // Note that the "unfetch" minimal fetch polyfill defines fetch() without
+           // defining window.Request, and this polyfill need to work on top of unfetch
+           // so the below feature detection needs the !self.AbortController part.
+           // The Request.prototype check is also needed because Safari versions 11.1.2
+           // up to and including 12.1.x has a window.AbortController present but still
+           // does NOT correctly implement abortable fetch:
+           // https://bugs.webkit.org/show_bug.cgi?id=174980#c2
+
+
+           return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;
+         }
+
+         /**
+          * Note: the "fetch.Request" default value is available for fetch imported from
+          * the "node-fetch" package and not in browsers. This is OK since browsers
+          * will be importing umd-polyfill.js from that path "self" is passed the
+          * decorator so the default value will not be used (because browsers that define
+          * fetch also has Request). One quirky setup where self.fetch exists but
+          * self.Request does not is when the "unfetch" minimal fetch polyfill is used
+          * on top of IE11; for this case the browser will try to use the fetch.Request
+          * default value which in turn will be undefined but then then "if (Request)"
+          * will ensure that you get a patched fetch but still no Request (as expected).
+          * @param {fetch, Request = fetch.Request}
+          * @returns {fetch: abortableFetch, Request: AbortableRequest}
+          */
+
+         function abortableFetchDecorator(patchTargets) {
+           if ('function' === typeof patchTargets) {
+             patchTargets = {
+               fetch: patchTargets
+             };
+           }
+
+           var _patchTargets = patchTargets,
+               fetch = _patchTargets.fetch,
+               _patchTargets$Request = _patchTargets.Request,
+               NativeRequest = _patchTargets$Request === void 0 ? fetch.Request : _patchTargets$Request,
+               NativeAbortController = _patchTargets.AbortController,
+               _patchTargets$__FORCE = _patchTargets.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL,
+               __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL = _patchTargets$__FORCE === void 0 ? false : _patchTargets$__FORCE;
+
+           if (!polyfillNeeded({
+             fetch: fetch,
+             Request: NativeRequest,
+             AbortController: NativeAbortController,
+             __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL: __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL
+           })) {
+             return {
+               fetch: fetch,
+               Request: Request
+             };
+           }
+
+           var Request = NativeRequest; // Note that the "unfetch" minimal fetch polyfill defines fetch() without
+           // defining window.Request, and this polyfill need to work on top of unfetch
+           // hence we only patch it if it's available. Also we don't patch it if signal
+           // is already available on the Request prototype because in this case support
+           // is present and the patching below can cause a crash since it assigns to
+           // request.signal which is technically a read-only property. This latter error
+           // happens when you run the main5.js node-fetch example in the repo
+           // "abortcontroller-polyfill-examples". The exact error is:
+           //   request.signal = init.signal;
+           //   ^
+           // TypeError: Cannot set property signal of #<Request> which has only a getter
+
+           if (Request && !Request.prototype.hasOwnProperty('signal') || __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {
+             Request = function Request(input, init) {
+               var signal;
+
+               if (init && init.signal) {
+                 signal = init.signal; // Never pass init.signal to the native Request implementation when the polyfill has
+                 // been installed because if we're running on top of a browser with a
+                 // working native AbortController (i.e. the polyfill was installed due to
+                 // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our
+                 // fake AbortSignal to the native fetch will trigger:
+                 // TypeError: Failed to construct 'Request': member signal is not of type AbortSignal.
+
+                 delete init.signal;
+               }
+
+               var request = new NativeRequest(input, init);
+
+               if (signal) {
+                 Object.defineProperty(request, 'signal', {
+                   writable: false,
+                   enumerable: false,
+                   configurable: true,
+                   value: signal
+                 });
+               }
+
+               return request;
+             };
+
+             Request.prototype = NativeRequest.prototype;
+           }
+
+           var realFetch = fetch;
+
+           var abortableFetch = function abortableFetch(input, init) {
+             var signal = Request && Request.prototype.isPrototypeOf(input) ? input.signal : init ? init.signal : undefined;
+
+             if (signal) {
+               var abortError;
+
+               try {
+                 abortError = new DOMException('Aborted', 'AbortError');
+               } catch (err) {
+                 // IE 11 does not support calling the DOMException constructor, use a
+                 // regular error object on it instead.
+                 abortError = new Error('Aborted');
+                 abortError.name = 'AbortError';
+               } // Return early if already aborted, thus avoiding making an HTTP request
+
+
+               if (signal.aborted) {
+                 return Promise.reject(abortError);
+               } // Turn an event into a promise, reject it once `abort` is dispatched
+
+
+               var cancellation = new Promise(function (_, reject) {
+                 signal.addEventListener('abort', function () {
+                   return reject(abortError);
+                 }, {
+                   once: true
+                 });
+               });
+
+               if (init && init.signal) {
+                 // Never pass .signal to the native implementation when the polyfill has
+                 // been installed because if we're running on top of a browser with a
+                 // working native AbortController (i.e. the polyfill was installed due to
+                 // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our
+                 // fake AbortSignal to the native fetch will trigger:
+                 // TypeError: Failed to execute 'fetch' on 'Window': member signal is not of type AbortSignal.
+                 delete init.signal;
+               } // Return the fastest promise (don't need to wait for request to finish)
+
+
+               return Promise.race([cancellation, realFetch(input, init)]);
+             }
+
+             return realFetch(input, init);
+           };
+
+           return {
+             fetch: abortableFetch,
+             Request: Request
+           };
+         }
+
+         (function (self) {
+
+           if (!polyfillNeeded(self)) {
+             return;
+           }
+
+           if (!self.fetch) {
+             console.warn('fetch() is not available, cannot install abortcontroller-polyfill');
+             return;
+           }
+
+           var _abortableFetch = abortableFetchDecorator(self),
+               fetch = _abortableFetch.fetch,
+               Request = _abortableFetch.Request;
+
+           self.fetch = fetch;
+           self.Request = Request;
+           Object.defineProperty(self, 'AbortController', {
+             writable: true,
+             enumerable: false,
+             configurable: true,
+             value: AbortController
+           });
+           Object.defineProperty(self, 'AbortSignal', {
+             writable: true,
+             enumerable: false,
+             configurable: true,
+             value: AbortSignal
+           });
+         })(typeof self !== 'undefined' ? self : commonjsGlobal);
+
+       }));
+
+       var version = "5.9.7";
+
+       function d3_ascending(a, b) {
+         return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
+       }
+
+       function d3_bisector(compare) {
+         if (compare.length === 1) compare = ascendingComparator(compare);
+         return {
+           left: function(a, x, lo, hi) {
+             if (lo == null) lo = 0;
+             if (hi == null) hi = a.length;
+             while (lo < hi) {
+               var mid = lo + hi >>> 1;
+               if (compare(a[mid], x) < 0) lo = mid + 1;
+               else hi = mid;
+             }
+             return lo;
+           },
+           right: function(a, x, lo, hi) {
+             if (lo == null) lo = 0;
+             if (hi == null) hi = a.length;
+             while (lo < hi) {
+               var mid = lo + hi >>> 1;
+               if (compare(a[mid], x) > 0) hi = mid;
+               else lo = mid + 1;
+             }
+             return lo;
+           }
+         };
+       }
+
+       function ascendingComparator(f) {
+         return function(d, x) {
+           return d3_ascending(f(d), x);
+         };
+       }
+
+       var ascendingBisect = d3_bisector(d3_ascending);
+       var bisectRight = ascendingBisect.right;
+       var bisectLeft = ascendingBisect.left;
+
+       function pairs(array, f) {
+         if (f == null) f = pair;
+         var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n);
+         while (i < n) pairs[i] = f(p, p = array[++i]);
+         return pairs;
+       }
+
+       function pair(a, b) {
+         return [a, b];
+       }
+
+       function cross(values0, values1, reduce) {
+         var n0 = values0.length,
+             n1 = values1.length,
+             values = new Array(n0 * n1),
+             i0,
+             i1,
+             i,
+             value0;
+
+         if (reduce == null) reduce = pair;
+
+         for (i0 = i = 0; i0 < n0; ++i0) {
+           for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {
+             values[i] = reduce(value0, values1[i1]);
+           }
+         }
+
+         return values;
+       }
+
+       function d3_descending(a, b) {
+         return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
+       }
+
+       function number(x) {
+         return x === null ? NaN : +x;
+       }
+
+       function variance(values, valueof) {
+         var n = values.length,
+             m = 0,
+             i = -1,
+             mean = 0,
+             value,
+             delta,
+             sum = 0;
+
+         if (valueof == null) {
+           while (++i < n) {
+             if (!isNaN(value = number(values[i]))) {
+               delta = value - mean;
+               mean += delta / ++m;
+               sum += delta * (value - mean);
+             }
+           }
+         }
+
+         else {
+           while (++i < n) {
+             if (!isNaN(value = number(valueof(values[i], i, values)))) {
+               delta = value - mean;
+               mean += delta / ++m;
+               sum += delta * (value - mean);
+             }
+           }
+         }
+
+         if (m > 1) return sum / (m - 1);
+       }
+
+       function deviation(array, f) {
+         var v = variance(array, f);
+         return v ? Math.sqrt(v) : v;
+       }
+
+       function extent(values, valueof) {
+         var n = values.length,
+             i = -1,
+             value,
+             min,
+             max;
+
+         if (valueof == null) {
+           while (++i < n) { // Find the first comparable value.
+             if ((value = values[i]) != null && value >= value) {
+               min = max = value;
+               while (++i < n) { // Compare the remaining values.
+                 if ((value = values[i]) != null) {
+                   if (min > value) min = value;
+                   if (max < value) max = value;
+                 }
+               }
+             }
+           }
+         }
+
+         else {
+           while (++i < n) { // Find the first comparable value.
+             if ((value = valueof(values[i], i, values)) != null && value >= value) {
+               min = max = value;
+               while (++i < n) { // Compare the remaining values.
+                 if ((value = valueof(values[i], i, values)) != null) {
+                   if (min > value) min = value;
+                   if (max < value) max = value;
+                 }
+               }
+             }
+           }
+         }
+
+         return [min, max];
+       }
+
+       var array$1 = Array.prototype;
+
+       var slice$4 = array$1.slice;
+       var map$2 = array$1.map;
+
+       function constant(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       function identity(x) {
+         return x;
+       }
+
+       function d3_range(start, stop, step) {
+         start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;
+
+         var i = -1,
+             n = Math.max(0, Math.ceil((stop - start) / step)) | 0,
+             range = new Array(n);
+
+         while (++i < n) {
+           range[i] = start + i * step;
+         }
+
+         return range;
+       }
+
+       var e10 = Math.sqrt(50),
+           e5 = Math.sqrt(10),
+           e2 = Math.sqrt(2);
+
+       function ticks(start, stop, count) {
+         var reverse,
+             i = -1,
+             n,
+             ticks,
+             step;
+
+         stop = +stop, start = +start, count = +count;
+         if (start === stop && count > 0) return [start];
+         if (reverse = stop < start) n = start, start = stop, stop = n;
+         if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];
+
+         if (step > 0) {
+           start = Math.ceil(start / step);
+           stop = Math.floor(stop / step);
+           ticks = new Array(n = Math.ceil(stop - start + 1));
+           while (++i < n) ticks[i] = (start + i) * step;
+         } else {
+           start = Math.floor(start * step);
+           stop = Math.ceil(stop * step);
+           ticks = new Array(n = Math.ceil(start - stop + 1));
+           while (++i < n) ticks[i] = (start - i) / step;
+         }
+
+         if (reverse) ticks.reverse();
+
+         return ticks;
+       }
+
+       function tickIncrement(start, stop, count) {
+         var step = (stop - start) / Math.max(0, count),
+             power = Math.floor(Math.log(step) / Math.LN10),
+             error = step / Math.pow(10, power);
+         return power >= 0
+             ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)
+             : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);
+       }
+
+       function tickStep(start, stop, count) {
+         var step0 = Math.abs(stop - start) / Math.max(0, count),
+             step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),
+             error = step0 / step1;
+         if (error >= e10) step1 *= 10;
+         else if (error >= e5) step1 *= 5;
+         else if (error >= e2) step1 *= 2;
+         return stop < start ? -step1 : step1;
+       }
+
+       function thresholdSturges(values) {
+         return Math.ceil(Math.log(values.length) / Math.LN2) + 1;
+       }
+
+       function histogram() {
+         var value = identity,
+             domain = extent,
+             threshold = thresholdSturges;
+
+         function histogram(data) {
+           var i,
+               n = data.length,
+               x,
+               values = new Array(n);
+
+           for (i = 0; i < n; ++i) {
+             values[i] = value(data[i], i, data);
+           }
+
+           var xz = domain(values),
+               x0 = xz[0],
+               x1 = xz[1],
+               tz = threshold(values, x0, x1);
+
+           // Convert number of thresholds into uniform thresholds.
+           if (!Array.isArray(tz)) {
+             tz = tickStep(x0, x1, tz);
+             tz = d3_range(Math.ceil(x0 / tz) * tz, x1, tz); // exclusive
+           }
+
+           // Remove any thresholds outside the domain.
+           var m = tz.length;
+           while (tz[0] <= x0) tz.shift(), --m;
+           while (tz[m - 1] > x1) tz.pop(), --m;
+
+           var bins = new Array(m + 1),
+               bin;
+
+           // Initialize bins.
+           for (i = 0; i <= m; ++i) {
+             bin = bins[i] = [];
+             bin.x0 = i > 0 ? tz[i - 1] : x0;
+             bin.x1 = i < m ? tz[i] : x1;
+           }
+
+           // Assign data to bins by value, ignoring any outside the domain.
+           for (i = 0; i < n; ++i) {
+             x = values[i];
+             if (x0 <= x && x <= x1) {
+               bins[bisectRight(tz, x, 0, m)].push(data[i]);
+             }
+           }
+
+           return bins;
+         }
+
+         histogram.value = function(_) {
+           return arguments.length ? (value = typeof _ === "function" ? _ : constant(_), histogram) : value;
+         };
+
+         histogram.domain = function(_) {
+           return arguments.length ? (domain = typeof _ === "function" ? _ : constant([_[0], _[1]]), histogram) : domain;
+         };
+
+         histogram.thresholds = function(_) {
+           return arguments.length ? (threshold = typeof _ === "function" ? _ : Array.isArray(_) ? constant(slice$4.call(_)) : constant(_), histogram) : threshold;
+         };
+
+         return histogram;
+       }
+
+       function threshold(values, p, valueof) {
+         if (valueof == null) valueof = number;
+         if (!(n = values.length)) return;
+         if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);
+         if (p >= 1) return +valueof(values[n - 1], n - 1, values);
+         var n,
+             i = (n - 1) * p,
+             i0 = Math.floor(i),
+             value0 = +valueof(values[i0], i0, values),
+             value1 = +valueof(values[i0 + 1], i0 + 1, values);
+         return value0 + (value1 - value0) * (i - i0);
+       }
+
+       function freedmanDiaconis(values, min, max) {
+         values = map$2.call(values, number).sort(d3_ascending);
+         return Math.ceil((max - min) / (2 * (threshold(values, 0.75) - threshold(values, 0.25)) * Math.pow(values.length, -1 / 3)));
+       }
+
+       function scott(values, min, max) {
+         return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3)));
+       }
+
+       function max$2(values, valueof) {
+         var n = values.length,
+             i = -1,
+             value,
+             max;
+
+         if (valueof == null) {
+           while (++i < n) { // Find the first comparable value.
+             if ((value = values[i]) != null && value >= value) {
+               max = value;
+               while (++i < n) { // Compare the remaining values.
+                 if ((value = values[i]) != null && value > max) {
+                   max = value;
+                 }
+               }
+             }
+           }
+         }
+
+         else {
+           while (++i < n) { // Find the first comparable value.
+             if ((value = valueof(values[i], i, values)) != null && value >= value) {
+               max = value;
+               while (++i < n) { // Compare the remaining values.
+                 if ((value = valueof(values[i], i, values)) != null && value > max) {
+                   max = value;
+                 }
+               }
+             }
+           }
+         }
+
+         return max;
+       }
+
+       function mean(values, valueof) {
+         var n = values.length,
+             m = n,
+             i = -1,
+             value,
+             sum = 0;
+
+         if (valueof == null) {
+           while (++i < n) {
+             if (!isNaN(value = number(values[i]))) sum += value;
+             else --m;
+           }
+         }
+
+         else {
+           while (++i < n) {
+             if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value;
+             else --m;
+           }
+         }
+
+         if (m) return sum / m;
+       }
+
+       function d3_median(values, valueof) {
+         var n = values.length,
+             i = -1,
+             value,
+             numbers = [];
+
+         if (valueof == null) {
+           while (++i < n) {
+             if (!isNaN(value = number(values[i]))) {
+               numbers.push(value);
+             }
+           }
+         }
+
+         else {
+           while (++i < n) {
+             if (!isNaN(value = number(valueof(values[i], i, values)))) {
+               numbers.push(value);
+             }
+           }
+         }
+
+         return threshold(numbers.sort(d3_ascending), 0.5);
+       }
+
+       function merge(arrays) {
+         var n = arrays.length,
+             m,
+             i = -1,
+             j = 0,
+             merged,
+             array;
+
+         while (++i < n) j += arrays[i].length;
+         merged = new Array(j);
+
+         while (--n >= 0) {
+           array = arrays[n];
+           m = array.length;
+           while (--m >= 0) {
+             merged[--j] = array[m];
+           }
+         }
+
+         return merged;
+       }
+
+       function min(values, valueof) {
+         var n = values.length,
+             i = -1,
+             value,
+             min;
+
+         if (valueof == null) {
+           while (++i < n) { // Find the first comparable value.
+             if ((value = values[i]) != null && value >= value) {
+               min = value;
+               while (++i < n) { // Compare the remaining values.
+                 if ((value = values[i]) != null && min > value) {
+                   min = value;
+                 }
+               }
+             }
+           }
+         }
+
+         else {
+           while (++i < n) { // Find the first comparable value.
+             if ((value = valueof(values[i], i, values)) != null && value >= value) {
+               min = value;
+               while (++i < n) { // Compare the remaining values.
+                 if ((value = valueof(values[i], i, values)) != null && min > value) {
+                   min = value;
+                 }
+               }
+             }
+           }
+         }
+
+         return min;
+       }
+
+       function permute(array, indexes) {
+         var i = indexes.length, permutes = new Array(i);
+         while (i--) permutes[i] = array[indexes[i]];
+         return permutes;
+       }
+
+       function scan(values, compare) {
+         if (!(n = values.length)) return;
+         var n,
+             i = 0,
+             j = 0,
+             xi,
+             xj = values[j];
+
+         if (compare == null) compare = d3_ascending;
+
+         while (++i < n) {
+           if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) {
+             xj = xi, j = i;
+           }
+         }
+
+         if (compare(xj, xj) === 0) return j;
+       }
+
+       function shuffle(array, i0, i1) {
+         var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0),
+             t,
+             i;
+
+         while (m) {
+           i = Math.random() * m-- | 0;
+           t = array[m + i0];
+           array[m + i0] = array[i + i0];
+           array[i + i0] = t;
+         }
+
+         return array;
+       }
+
+       function sum(values, valueof) {
+         var n = values.length,
+             i = -1,
+             value,
+             sum = 0;
+
+         if (valueof == null) {
+           while (++i < n) {
+             if (value = +values[i]) sum += value; // Note: zero and null are equivalent.
+           }
+         }
+
+         else {
+           while (++i < n) {
+             if (value = +valueof(values[i], i, values)) sum += value;
+           }
+         }
+
+         return sum;
+       }
+
+       function transpose(matrix) {
+         if (!(n = matrix.length)) return [];
+         for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) {
+           for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {
+             row[j] = matrix[j][i];
+           }
+         }
+         return transpose;
+       }
+
+       function length(d) {
+         return d.length;
+       }
+
+       function zip() {
+         return transpose(arguments);
+       }
+
+       var slice$5 = Array.prototype.slice;
+
+       function identity$1(x) {
+         return x;
+       }
+
+       var top = 1,
+           right = 2,
+           bottom = 3,
+           left = 4,
+           epsilon = 1e-6;
+
+       function translateX(x) {
+         return "translate(" + (x + 0.5) + ",0)";
+       }
+
+       function translateY(y) {
+         return "translate(0," + (y + 0.5) + ")";
+       }
+
+       function number$1(scale) {
+         return function(d) {
+           return +scale(d);
+         };
+       }
+
+       function center(scale) {
+         var offset = Math.max(0, scale.bandwidth() - 1) / 2; // Adjust for 0.5px offset.
+         if (scale.round()) offset = Math.round(offset);
+         return function(d) {
+           return +scale(d) + offset;
+         };
+       }
+
+       function entering() {
+         return !this.__axis;
+       }
+
+       function axis(orient, scale) {
+         var tickArguments = [],
+             tickValues = null,
+             tickFormat = null,
+             tickSizeInner = 6,
+             tickSizeOuter = 6,
+             tickPadding = 3,
+             k = orient === top || orient === left ? -1 : 1,
+             x = orient === left || orient === right ? "x" : "y",
+             transform = orient === top || orient === bottom ? translateX : translateY;
+
+         function axis(context) {
+           var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,
+               format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity$1) : tickFormat,
+               spacing = Math.max(tickSizeInner, 0) + tickPadding,
+               range = scale.range(),
+               range0 = +range[0] + 0.5,
+               range1 = +range[range.length - 1] + 0.5,
+               position = (scale.bandwidth ? center : number$1)(scale.copy()),
+               selection = context.selection ? context.selection() : context,
+               path = selection.selectAll(".domain").data([null]),
+               tick = selection.selectAll(".tick").data(values, scale).order(),
+               tickExit = tick.exit(),
+               tickEnter = tick.enter().append("g").attr("class", "tick"),
+               line = tick.select("line"),
+               text = tick.select("text");
+
+           path = path.merge(path.enter().insert("path", ".tick")
+               .attr("class", "domain")
+               .attr("stroke", "currentColor"));
+
+           tick = tick.merge(tickEnter);
+
+           line = line.merge(tickEnter.append("line")
+               .attr("stroke", "currentColor")
+               .attr(x + "2", k * tickSizeInner));
+
+           text = text.merge(tickEnter.append("text")
+               .attr("fill", "currentColor")
+               .attr(x, k * spacing)
+               .attr("dy", orient === top ? "0em" : orient === bottom ? "0.71em" : "0.32em"));
+
+           if (context !== selection) {
+             path = path.transition(context);
+             tick = tick.transition(context);
+             line = line.transition(context);
+             text = text.transition(context);
+
+             tickExit = tickExit.transition(context)
+                 .attr("opacity", epsilon)
+                 .attr("transform", function(d) { return isFinite(d = position(d)) ? transform(d) : this.getAttribute("transform"); });
+
+             tickEnter
+                 .attr("opacity", epsilon)
+                 .attr("transform", function(d) { var p = this.parentNode.__axis; return transform(p && isFinite(p = p(d)) ? p : position(d)); });
+           }
+
+           tickExit.remove();
+
+           path
+               .attr("d", orient === left || orient == right
+                   ? (tickSizeOuter ? "M" + k * tickSizeOuter + "," + range0 + "H0.5V" + range1 + "H" + k * tickSizeOuter : "M0.5," + range0 + "V" + range1)
+                   : (tickSizeOuter ? "M" + range0 + "," + k * tickSizeOuter + "V0.5H" + range1 + "V" + k * tickSizeOuter : "M" + range0 + ",0.5H" + range1));
+
+           tick
+               .attr("opacity", 1)
+               .attr("transform", function(d) { return transform(position(d)); });
+
+           line
+               .attr(x + "2", k * tickSizeInner);
+
+           text
+               .attr(x, k * spacing)
+               .text(format);
+
+           selection.filter(entering)
+               .attr("fill", "none")
+               .attr("font-size", 10)
+               .attr("font-family", "sans-serif")
+               .attr("text-anchor", orient === right ? "start" : orient === left ? "end" : "middle");
+
+           selection
+               .each(function() { this.__axis = position; });
+         }
+
+         axis.scale = function(_) {
+           return arguments.length ? (scale = _, axis) : scale;
+         };
+
+         axis.ticks = function() {
+           return tickArguments = slice$5.call(arguments), axis;
+         };
+
+         axis.tickArguments = function(_) {
+           return arguments.length ? (tickArguments = _ == null ? [] : slice$5.call(_), axis) : tickArguments.slice();
+         };
+
+         axis.tickValues = function(_) {
+           return arguments.length ? (tickValues = _ == null ? null : slice$5.call(_), axis) : tickValues && tickValues.slice();
+         };
+
+         axis.tickFormat = function(_) {
+           return arguments.length ? (tickFormat = _, axis) : tickFormat;
+         };
+
+         axis.tickSize = function(_) {
+           return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;
+         };
+
+         axis.tickSizeInner = function(_) {
+           return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;
+         };
+
+         axis.tickSizeOuter = function(_) {
+           return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;
+         };
+
+         axis.tickPadding = function(_) {
+           return arguments.length ? (tickPadding = +_, axis) : tickPadding;
+         };
+
+         return axis;
+       }
+
+       function axisTop(scale) {
+         return axis(top, scale);
+       }
+
+       function axisRight(scale) {
+         return axis(right, scale);
+       }
+
+       function axisBottom(scale) {
+         return axis(bottom, scale);
+       }
+
+       function axisLeft(scale) {
+         return axis(left, scale);
+       }
+
+       var noop$2 = {value: function() {}};
+
+       function dispatch() {
+         for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {
+           if (!(t = arguments[i] + "") || (t in _)) throw new Error("illegal type: " + t);
+           _[t] = [];
+         }
+         return new Dispatch(_);
+       }
+
+       function Dispatch(_) {
+         this._ = _;
+       }
+
+       function parseTypenames(typenames, types) {
+         return typenames.trim().split(/^|\s+/).map(function(t) {
+           var name = "", i = t.indexOf(".");
+           if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);
+           if (t && !types.hasOwnProperty(t)) throw new Error("unknown type: " + t);
+           return {type: t, name: name};
+         });
+       }
+
+       Dispatch.prototype = dispatch.prototype = {
+         constructor: Dispatch,
+         on: function(typename, callback) {
+           var _ = this._,
+               T = parseTypenames(typename + "", _),
+               t,
+               i = -1,
+               n = T.length;
+
+           // If no callback was specified, return the callback of the given type and name.
+           if (arguments.length < 2) {
+             while (++i < n) if ((t = (typename = T[i]).type) && (t = get$1(_[t], typename.name))) return t;
+             return;
+           }
+
+           // If a type was specified, set the callback for the given type and name.
+           // Otherwise, if a null callback was specified, remove callbacks of the given name.
+           if (callback != null && typeof callback !== "function") throw new Error("invalid callback: " + callback);
+           while (++i < n) {
+             if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);
+             else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);
+           }
+
+           return this;
+         },
+         copy: function() {
+           var copy = {}, _ = this._;
+           for (var t in _) copy[t] = _[t].slice();
+           return new Dispatch(copy);
+         },
+         call: function(type, that) {
+           if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];
+           if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type);
+           for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);
+         },
+         apply: function(type, that, args) {
+           if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type);
+           for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);
+         }
+       };
+
+       function get$1(type, name) {
+         for (var i = 0, n = type.length, c; i < n; ++i) {
+           if ((c = type[i]).name === name) {
+             return c.value;
+           }
+         }
+       }
+
+       function set(type, name, callback) {
+         for (var i = 0, n = type.length; i < n; ++i) {
+           if (type[i].name === name) {
+             type[i] = noop$2, type = type.slice(0, i).concat(type.slice(i + 1));
+             break;
+           }
+         }
+         if (callback != null) type.push({name: name, value: callback});
+         return type;
+       }
+
+       var xhtml = "http://www.w3.org/1999/xhtml";
+
+       var namespaces = {
+         svg: "http://www.w3.org/2000/svg",
+         xhtml: xhtml,
+         xlink: "http://www.w3.org/1999/xlink",
+         xml: "http://www.w3.org/XML/1998/namespace",
+         xmlns: "http://www.w3.org/2000/xmlns/"
+       };
+
+       function namespace(name) {
+         var prefix = name += "", i = prefix.indexOf(":");
+         if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1);
+         return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;
+       }
+
+       function creatorInherit(name) {
+         return function() {
+           var document = this.ownerDocument,
+               uri = this.namespaceURI;
+           return uri === xhtml && document.documentElement.namespaceURI === xhtml
+               ? document.createElement(name)
+               : document.createElementNS(uri, name);
+         };
+       }
+
+       function creatorFixed(fullname) {
+         return function() {
+           return this.ownerDocument.createElementNS(fullname.space, fullname.local);
+         };
+       }
+
+       function creator(name) {
+         var fullname = namespace(name);
+         return (fullname.local
+             ? creatorFixed
+             : creatorInherit)(fullname);
+       }
+
+       function none() {}
+
+       function selector(selector) {
+         return selector == null ? none : function() {
+           return this.querySelector(selector);
+         };
+       }
+
+       function selection_select(select) {
+         if (typeof select !== "function") select = selector(select);
+
+         for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
+           for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
+             if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {
+               if ("__data__" in node) subnode.__data__ = node.__data__;
+               subgroup[i] = subnode;
+             }
+           }
+         }
+
+         return new Selection(subgroups, this._parents);
+       }
+
+       function empty() {
+         return [];
+       }
+
+       function selectorAll(selector) {
+         return selector == null ? empty : function() {
+           return this.querySelectorAll(selector);
+         };
+       }
+
+       function selection_selectAll(select) {
+         if (typeof select !== "function") select = selectorAll(select);
+
+         for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
+           for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
+             if (node = group[i]) {
+               subgroups.push(select.call(node, node.__data__, i, group));
+               parents.push(node);
+             }
+           }
+         }
+
+         return new Selection(subgroups, parents);
+       }
+
+       function matcher(selector) {
+         return function() {
+           return this.matches(selector);
+         };
+       }
+
+       function selection_filter(match) {
+         if (typeof match !== "function") match = matcher(match);
+
+         for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
+           for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
+             if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
+               subgroup.push(node);
+             }
+           }
+         }
+
+         return new Selection(subgroups, this._parents);
+       }
+
+       function sparse(update) {
+         return new Array(update.length);
+       }
+
+       function selection_enter() {
+         return new Selection(this._enter || this._groups.map(sparse), this._parents);
+       }
+
+       function EnterNode(parent, datum) {
+         this.ownerDocument = parent.ownerDocument;
+         this.namespaceURI = parent.namespaceURI;
+         this._next = null;
+         this._parent = parent;
+         this.__data__ = datum;
+       }
+
+       EnterNode.prototype = {
+         constructor: EnterNode,
+         appendChild: function(child) { return this._parent.insertBefore(child, this._next); },
+         insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },
+         querySelector: function(selector) { return this._parent.querySelector(selector); },
+         querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }
+       };
+
+       function constant$1(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       var keyPrefix = "$"; // Protect against keys like “__proto__”.
+
+       function bindIndex(parent, group, enter, update, exit, data) {
+         var i = 0,
+             node,
+             groupLength = group.length,
+             dataLength = data.length;
+
+         // Put any non-null nodes that fit into update.
+         // Put any null nodes into enter.
+         // Put any remaining data into enter.
+         for (; i < dataLength; ++i) {
+           if (node = group[i]) {
+             node.__data__ = data[i];
+             update[i] = node;
+           } else {
+             enter[i] = new EnterNode(parent, data[i]);
+           }
+         }
+
+         // Put any non-null nodes that don’t fit into exit.
+         for (; i < groupLength; ++i) {
+           if (node = group[i]) {
+             exit[i] = node;
+           }
+         }
+       }
+
+       function bindKey(parent, group, enter, update, exit, data, key) {
+         var i,
+             node,
+             nodeByKeyValue = {},
+             groupLength = group.length,
+             dataLength = data.length,
+             keyValues = new Array(groupLength),
+             keyValue;
+
+         // Compute the key for each node.
+         // If multiple nodes have the same key, the duplicates are added to exit.
+         for (i = 0; i < groupLength; ++i) {
+           if (node = group[i]) {
+             keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);
+             if (keyValue in nodeByKeyValue) {
+               exit[i] = node;
+             } else {
+               nodeByKeyValue[keyValue] = node;
+             }
+           }
+         }
+
+         // Compute the key for each datum.
+         // If there a node associated with this key, join and add it to update.
+         // If there is not (or the key is a duplicate), add it to enter.
+         for (i = 0; i < dataLength; ++i) {
+           keyValue = keyPrefix + key.call(parent, data[i], i, data);
+           if (node = nodeByKeyValue[keyValue]) {
+             update[i] = node;
+             node.__data__ = data[i];
+             nodeByKeyValue[keyValue] = null;
+           } else {
+             enter[i] = new EnterNode(parent, data[i]);
+           }
+         }
+
+         // Add any remaining nodes that were not bound to data to exit.
+         for (i = 0; i < groupLength; ++i) {
+           if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) {
+             exit[i] = node;
+           }
+         }
+       }
+
+       function selection_data(value, key) {
+         if (!value) {
+           data = new Array(this.size()), j = -1;
+           this.each(function(d) { data[++j] = d; });
+           return data;
+         }
+
+         var bind = key ? bindKey : bindIndex,
+             parents = this._parents,
+             groups = this._groups;
+
+         if (typeof value !== "function") value = constant$1(value);
+
+         for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {
+           var parent = parents[j],
+               group = groups[j],
+               groupLength = group.length,
+               data = value.call(parent, parent && parent.__data__, j, parents),
+               dataLength = data.length,
+               enterGroup = enter[j] = new Array(dataLength),
+               updateGroup = update[j] = new Array(dataLength),
+               exitGroup = exit[j] = new Array(groupLength);
+
+           bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);
+
+           // Now connect the enter nodes to their following update node, such that
+           // appendChild can insert the materialized enter node before this node,
+           // rather than at the end of the parent node.
+           for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {
+             if (previous = enterGroup[i0]) {
+               if (i0 >= i1) i1 = i0 + 1;
+               while (!(next = updateGroup[i1]) && ++i1 < dataLength);
+               previous._next = next || null;
+             }
+           }
+         }
+
+         update = new Selection(update, parents);
+         update._enter = enter;
+         update._exit = exit;
+         return update;
+       }
+
+       function selection_exit() {
+         return new Selection(this._exit || this._groups.map(sparse), this._parents);
+       }
+
+       function selection_join(onenter, onupdate, onexit) {
+         var enter = this.enter(), update = this, exit = this.exit();
+         enter = typeof onenter === "function" ? onenter(enter) : enter.append(onenter + "");
+         if (onupdate != null) update = onupdate(update);
+         if (onexit == null) exit.remove(); else onexit(exit);
+         return enter && update ? enter.merge(update).order() : update;
+       }
+
+       function selection_merge(selection) {
+
+         for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {
+           for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {
+             if (node = group0[i] || group1[i]) {
+               merge[i] = node;
+             }
+           }
+         }
+
+         for (; j < m0; ++j) {
+           merges[j] = groups0[j];
+         }
+
+         return new Selection(merges, this._parents);
+       }
+
+       function selection_order() {
+
+         for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {
+           for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {
+             if (node = group[i]) {
+               if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);
+               next = node;
+             }
+           }
+         }
+
+         return this;
+       }
+
+       function selection_sort(compare) {
+         if (!compare) compare = ascending;
+
+         function compareNode(a, b) {
+           return a && b ? compare(a.__data__, b.__data__) : !a - !b;
+         }
+
+         for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {
+           for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {
+             if (node = group[i]) {
+               sortgroup[i] = node;
+             }
+           }
+           sortgroup.sort(compareNode);
+         }
+
+         return new Selection(sortgroups, this._parents).order();
+       }
+
+       function ascending(a, b) {
+         return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
+       }
+
+       function selection_call() {
+         var callback = arguments[0];
+         arguments[0] = this;
+         callback.apply(null, arguments);
+         return this;
+       }
+
+       function selection_nodes() {
+         var nodes = new Array(this.size()), i = -1;
+         this.each(function() { nodes[++i] = this; });
+         return nodes;
+       }
+
+       function selection_node() {
+
+         for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
+           for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {
+             var node = group[i];
+             if (node) return node;
+           }
+         }
+
+         return null;
+       }
+
+       function selection_size() {
+         var size = 0;
+         this.each(function() { ++size; });
+         return size;
+       }
+
+       function selection_empty() {
+         return !this.node();
+       }
+
+       function selection_each(callback) {
+
+         for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
+           for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {
+             if (node = group[i]) callback.call(node, node.__data__, i, group);
+           }
+         }
+
+         return this;
+       }
+
+       function attrRemove(name) {
+         return function() {
+           this.removeAttribute(name);
+         };
+       }
+
+       function attrRemoveNS(fullname) {
+         return function() {
+           this.removeAttributeNS(fullname.space, fullname.local);
+         };
+       }
+
+       function attrConstant(name, value) {
+         return function() {
+           this.setAttribute(name, value);
+         };
+       }
+
+       function attrConstantNS(fullname, value) {
+         return function() {
+           this.setAttributeNS(fullname.space, fullname.local, value);
+         };
+       }
+
+       function attrFunction(name, value) {
+         return function() {
+           var v = value.apply(this, arguments);
+           if (v == null) this.removeAttribute(name);
+           else this.setAttribute(name, v);
+         };
+       }
+
+       function attrFunctionNS(fullname, value) {
+         return function() {
+           var v = value.apply(this, arguments);
+           if (v == null) this.removeAttributeNS(fullname.space, fullname.local);
+           else this.setAttributeNS(fullname.space, fullname.local, v);
+         };
+       }
+
+       function selection_attr(name, value) {
+         var fullname = namespace(name);
+
+         if (arguments.length < 2) {
+           var node = this.node();
+           return fullname.local
+               ? node.getAttributeNS(fullname.space, fullname.local)
+               : node.getAttribute(fullname);
+         }
+
+         return this.each((value == null
+             ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === "function"
+             ? (fullname.local ? attrFunctionNS : attrFunction)
+             : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));
+       }
+
+       function defaultView(node) {
+         return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node
+             || (node.document && node) // node is a Window
+             || node.defaultView; // node is a Document
+       }
+
+       function styleRemove(name) {
+         return function() {
+           this.style.removeProperty(name);
+         };
+       }
+
+       function styleConstant(name, value, priority) {
+         return function() {
+           this.style.setProperty(name, value, priority);
+         };
+       }
+
+       function styleFunction(name, value, priority) {
+         return function() {
+           var v = value.apply(this, arguments);
+           if (v == null) this.style.removeProperty(name);
+           else this.style.setProperty(name, v, priority);
+         };
+       }
+
+       function selection_style(name, value, priority) {
+         return arguments.length > 1
+             ? this.each((value == null
+                   ? styleRemove : typeof value === "function"
+                   ? styleFunction
+                   : styleConstant)(name, value, priority == null ? "" : priority))
+             : styleValue(this.node(), name);
+       }
+
+       function styleValue(node, name) {
+         return node.style.getPropertyValue(name)
+             || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);
+       }
+
+       function propertyRemove(name) {
+         return function() {
+           delete this[name];
+         };
+       }
+
+       function propertyConstant(name, value) {
+         return function() {
+           this[name] = value;
+         };
+       }
+
+       function propertyFunction(name, value) {
+         return function() {
+           var v = value.apply(this, arguments);
+           if (v == null) delete this[name];
+           else this[name] = v;
+         };
+       }
+
+       function selection_property(name, value) {
+         return arguments.length > 1
+             ? this.each((value == null
+                 ? propertyRemove : typeof value === "function"
+                 ? propertyFunction
+                 : propertyConstant)(name, value))
+             : this.node()[name];
+       }
+
+       function classArray(string) {
+         return string.trim().split(/^|\s+/);
+       }
+
+       function classList(node) {
+         return node.classList || new ClassList(node);
+       }
+
+       function ClassList(node) {
+         this._node = node;
+         this._names = classArray(node.getAttribute("class") || "");
+       }
+
+       ClassList.prototype = {
+         add: function(name) {
+           var i = this._names.indexOf(name);
+           if (i < 0) {
+             this._names.push(name);
+             this._node.setAttribute("class", this._names.join(" "));
+           }
+         },
+         remove: function(name) {
+           var i = this._names.indexOf(name);
+           if (i >= 0) {
+             this._names.splice(i, 1);
+             this._node.setAttribute("class", this._names.join(" "));
+           }
+         },
+         contains: function(name) {
+           return this._names.indexOf(name) >= 0;
+         }
+       };
+
+       function classedAdd(node, names) {
+         var list = classList(node), i = -1, n = names.length;
+         while (++i < n) list.add(names[i]);
+       }
+
+       function classedRemove(node, names) {
+         var list = classList(node), i = -1, n = names.length;
+         while (++i < n) list.remove(names[i]);
+       }
+
+       function classedTrue(names) {
+         return function() {
+           classedAdd(this, names);
+         };
+       }
+
+       function classedFalse(names) {
+         return function() {
+           classedRemove(this, names);
+         };
+       }
+
+       function classedFunction(names, value) {
+         return function() {
+           (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);
+         };
+       }
+
+       function selection_classed(name, value) {
+         var names = classArray(name + "");
+
+         if (arguments.length < 2) {
+           var list = classList(this.node()), i = -1, n = names.length;
+           while (++i < n) if (!list.contains(names[i])) return false;
+           return true;
+         }
+
+         return this.each((typeof value === "function"
+             ? classedFunction : value
+             ? classedTrue
+             : classedFalse)(names, value));
+       }
+
+       function textRemove() {
+         this.textContent = "";
+       }
+
+       function textConstant(value) {
+         return function() {
+           this.textContent = value;
+         };
+       }
+
+       function textFunction(value) {
+         return function() {
+           var v = value.apply(this, arguments);
+           this.textContent = v == null ? "" : v;
+         };
+       }
+
+       function selection_text(value) {
+         return arguments.length
+             ? this.each(value == null
+                 ? textRemove : (typeof value === "function"
+                 ? textFunction
+                 : textConstant)(value))
+             : this.node().textContent;
+       }
+
+       function htmlRemove() {
+         this.innerHTML = "";
+       }
+
+       function htmlConstant(value) {
+         return function() {
+           this.innerHTML = value;
+         };
+       }
+
+       function htmlFunction(value) {
+         return function() {
+           var v = value.apply(this, arguments);
+           this.innerHTML = v == null ? "" : v;
+         };
+       }
+
+       function selection_html(value) {
+         return arguments.length
+             ? this.each(value == null
+                 ? htmlRemove : (typeof value === "function"
+                 ? htmlFunction
+                 : htmlConstant)(value))
+             : this.node().innerHTML;
+       }
+
+       function raise() {
+         if (this.nextSibling) this.parentNode.appendChild(this);
+       }
+
+       function selection_raise() {
+         return this.each(raise);
+       }
+
+       function lower() {
+         if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);
+       }
+
+       function selection_lower() {
+         return this.each(lower);
+       }
+
+       function selection_append(name) {
+         var create = typeof name === "function" ? name : creator(name);
+         return this.select(function() {
+           return this.appendChild(create.apply(this, arguments));
+         });
+       }
+
+       function constantNull() {
+         return null;
+       }
+
+       function selection_insert(name, before) {
+         var create = typeof name === "function" ? name : creator(name),
+             select = before == null ? constantNull : typeof before === "function" ? before : selector(before);
+         return this.select(function() {
+           return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);
+         });
+       }
+
+       function remove() {
+         var parent = this.parentNode;
+         if (parent) parent.removeChild(this);
+       }
+
+       function selection_remove() {
+         return this.each(remove);
+       }
+
+       function selection_cloneShallow() {
+         return this.parentNode.insertBefore(this.cloneNode(false), this.nextSibling);
+       }
+
+       function selection_cloneDeep() {
+         return this.parentNode.insertBefore(this.cloneNode(true), this.nextSibling);
+       }
+
+       function selection_clone(deep) {
+         return this.select(deep ? selection_cloneDeep : selection_cloneShallow);
+       }
+
+       function selection_datum(value) {
+         return arguments.length
+             ? this.property("__data__", value)
+             : this.node().__data__;
+       }
+
+       var filterEvents = {};
+
+       var event = null;
+
+       if (typeof document !== "undefined") {
+         var element = document.documentElement;
+         if (!("onmouseenter" in element)) {
+           filterEvents = {mouseenter: "mouseover", mouseleave: "mouseout"};
+         }
+       }
+
+       function filterContextListener(listener, index, group) {
+         listener = contextListener(listener, index, group);
+         return function(event) {
+           var related = event.relatedTarget;
+           if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {
+             listener.call(this, event);
+           }
+         };
+       }
+
+       function contextListener(listener, index, group) {
+         return function(event1) {
+           var event0 = event; // Events can be reentrant (e.g., focus).
+           event = event1;
+           try {
+             listener.call(this, this.__data__, index, group);
+           } finally {
+             event = event0;
+           }
+         };
+       }
+
+       function parseTypenames$1(typenames) {
+         return typenames.trim().split(/^|\s+/).map(function(t) {
+           var name = "", i = t.indexOf(".");
+           if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);
+           return {type: t, name: name};
+         });
+       }
+
+       function onRemove(typename) {
+         return function() {
+           var on = this.__on;
+           if (!on) return;
+           for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {
+             if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {
+               this.removeEventListener(o.type, o.listener, o.capture);
+             } else {
+               on[++i] = o;
+             }
+           }
+           if (++i) on.length = i;
+           else delete this.__on;
+         };
+       }
+
+       function onAdd(typename, value, capture) {
+         var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;
+         return function(d, i, group) {
+           var on = this.__on, o, listener = wrap(value, i, group);
+           if (on) for (var j = 0, m = on.length; j < m; ++j) {
+             if ((o = on[j]).type === typename.type && o.name === typename.name) {
+               this.removeEventListener(o.type, o.listener, o.capture);
+               this.addEventListener(o.type, o.listener = listener, o.capture = capture);
+               o.value = value;
+               return;
+             }
+           }
+           this.addEventListener(typename.type, listener, capture);
+           o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};
+           if (!on) this.__on = [o];
+           else on.push(o);
+         };
+       }
+
+       function selection_on(typename, value, capture) {
+         var typenames = parseTypenames$1(typename + ""), i, n = typenames.length, t;
+
+         if (arguments.length < 2) {
+           var on = this.node().__on;
+           if (on) for (var j = 0, m = on.length, o; j < m; ++j) {
+             for (i = 0, o = on[j]; i < n; ++i) {
+               if ((t = typenames[i]).type === o.type && t.name === o.name) {
+                 return o.value;
+               }
+             }
+           }
+           return;
+         }
+
+         on = value ? onAdd : onRemove;
+         if (capture == null) capture = false;
+         for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));
+         return this;
+       }
+
+       function customEvent(event1, listener, that, args) {
+         var event0 = event;
+         event1.sourceEvent = event;
+         event = event1;
+         try {
+           return listener.apply(that, args);
+         } finally {
+           event = event0;
+         }
+       }
+
+       function dispatchEvent(node, type, params) {
+         var window = defaultView(node),
+             event = window.CustomEvent;
+
+         if (typeof event === "function") {
+           event = new event(type, params);
+         } else {
+           event = window.document.createEvent("Event");
+           if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;
+           else event.initEvent(type, false, false);
+         }
+
+         node.dispatchEvent(event);
+       }
+
+       function dispatchConstant(type, params) {
+         return function() {
+           return dispatchEvent(this, type, params);
+         };
+       }
+
+       function dispatchFunction(type, params) {
+         return function() {
+           return dispatchEvent(this, type, params.apply(this, arguments));
+         };
+       }
+
+       function selection_dispatch(type, params) {
+         return this.each((typeof params === "function"
+             ? dispatchFunction
+             : dispatchConstant)(type, params));
+       }
+
+       var root$1 = [null];
+
+       function Selection(groups, parents) {
+         this._groups = groups;
+         this._parents = parents;
+       }
+
+       function selection() {
+         return new Selection([[document.documentElement]], root$1);
+       }
+
+       Selection.prototype = selection.prototype = {
+         constructor: Selection,
+         select: selection_select,
+         selectAll: selection_selectAll,
+         filter: selection_filter,
+         data: selection_data,
+         enter: selection_enter,
+         exit: selection_exit,
+         join: selection_join,
+         merge: selection_merge,
+         order: selection_order,
+         sort: selection_sort,
+         call: selection_call,
+         nodes: selection_nodes,
+         node: selection_node,
+         size: selection_size,
+         empty: selection_empty,
+         each: selection_each,
+         attr: selection_attr,
+         style: selection_style,
+         property: selection_property,
+         classed: selection_classed,
+         text: selection_text,
+         html: selection_html,
+         raise: selection_raise,
+         lower: selection_lower,
+         append: selection_append,
+         insert: selection_insert,
+         remove: selection_remove,
+         clone: selection_clone,
+         datum: selection_datum,
+         on: selection_on,
+         dispatch: selection_dispatch
+       };
+
+       function d3_select(selector) {
+         return typeof selector === "string"
+             ? new Selection([[document.querySelector(selector)]], [document.documentElement])
+             : new Selection([[selector]], root$1);
+       }
+
+       function create$5(name) {
+         return d3_select(creator(name).call(document.documentElement));
+       }
+
+       var nextId = 0;
+
+       function local() {
+         return new Local;
+       }
+
+       function Local() {
+         this._ = "@" + (++nextId).toString(36);
+       }
+
+       Local.prototype = local.prototype = {
+         constructor: Local,
+         get: function(node) {
+           var id = this._;
+           while (!(id in node)) if (!(node = node.parentNode)) return;
+           return node[id];
+         },
+         set: function(node, value) {
+           return node[this._] = value;
+         },
+         remove: function(node) {
+           return this._ in node && delete node[this._];
+         },
+         toString: function() {
+           return this._;
+         }
+       };
+
+       function sourceEvent() {
+         var current = event, source;
+         while (source = current.sourceEvent) current = source;
+         return current;
+       }
+
+       function point(node, event) {
+         var svg = node.ownerSVGElement || node;
+
+         if (svg.createSVGPoint) {
+           var point = svg.createSVGPoint();
+           point.x = event.clientX, point.y = event.clientY;
+           point = point.matrixTransform(node.getScreenCTM().inverse());
+           return [point.x, point.y];
+         }
+
+         var rect = node.getBoundingClientRect();
+         return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];
+       }
+
+       function d3_mouse(node) {
+         var event = sourceEvent();
+         if (event.changedTouches) event = event.changedTouches[0];
+         return point(node, event);
+       }
+
+       function d3_selectAll(selector) {
+         return typeof selector === "string"
+             ? new Selection([document.querySelectorAll(selector)], [document.documentElement])
+             : new Selection([selector == null ? [] : selector], root$1);
+       }
+
+       function touch(node, touches, identifier) {
+         if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches;
+
+         for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {
+           if ((touch = touches[i]).identifier === identifier) {
+             return point(node, touch);
+           }
+         }
+
+         return null;
+       }
+
+       function d3_touches(node, touches) {
+         if (touches == null) touches = sourceEvent().touches;
+
+         for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {
+           points[i] = point(node, touches[i]);
+         }
+
+         return points;
+       }
+
+       function nopropagation() {
+         event.stopImmediatePropagation();
+       }
+
+       function noevent() {
+         event.preventDefault();
+         event.stopImmediatePropagation();
+       }
+
+       function dragDisable(view) {
+         var root = view.document.documentElement,
+             selection = d3_select(view).on("dragstart.drag", noevent, true);
+         if ("onselectstart" in root) {
+           selection.on("selectstart.drag", noevent, true);
+         } else {
+           root.__noselect = root.style.MozUserSelect;
+           root.style.MozUserSelect = "none";
+         }
+       }
+
+       function yesdrag(view, noclick) {
+         var root = view.document.documentElement,
+             selection = d3_select(view).on("dragstart.drag", null);
+         if (noclick) {
+           selection.on("click.drag", noevent, true);
+           setTimeout(function() { selection.on("click.drag", null); }, 0);
+         }
+         if ("onselectstart" in root) {
+           selection.on("selectstart.drag", null);
+         } else {
+           root.style.MozUserSelect = root.__noselect;
+           delete root.__noselect;
+         }
+       }
+
+       function constant$2(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       function DragEvent(target, type, subject, id, active, x, y, dx, dy, dispatch) {
+         this.target = target;
+         this.type = type;
+         this.subject = subject;
+         this.identifier = id;
+         this.active = active;
+         this.x = x;
+         this.y = y;
+         this.dx = dx;
+         this.dy = dy;
+         this._ = dispatch;
+       }
+
+       DragEvent.prototype.on = function() {
+         var value = this._.on.apply(this._, arguments);
+         return value === this._ ? this : value;
+       };
+
+       // Ignore right-click, since that should open the context menu.
+       function defaultFilter() {
+         return !event.button;
+       }
+
+       function defaultContainer() {
+         return this.parentNode;
+       }
+
+       function defaultSubject(d) {
+         return d == null ? {x: event.x, y: event.y} : d;
+       }
+
+       function defaultTouchable() {
+         return "ontouchstart" in this;
+       }
+
+       function d3_drag() {
+         var filter = defaultFilter,
+             container = defaultContainer,
+             subject = defaultSubject,
+             touchable = defaultTouchable,
+             gestures = {},
+             listeners = dispatch("start", "drag", "end"),
+             active = 0,
+             mousedownx,
+             mousedowny,
+             mousemoving,
+             touchending,
+             clickDistance2 = 0;
+
+         function drag(selection) {
+           selection
+               .on("mousedown.drag", mousedowned)
+             .filter(touchable)
+               .on("touchstart.drag", touchstarted)
+               .on("touchmove.drag", touchmoved)
+               .on("touchend.drag touchcancel.drag", touchended)
+               .style("touch-action", "none")
+               .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)");
+         }
+
+         function mousedowned() {
+           if (touchending || !filter.apply(this, arguments)) return;
+           var gesture = beforestart("mouse", container.apply(this, arguments), d3_mouse, this, arguments);
+           if (!gesture) return;
+           d3_select(event.view).on("mousemove.drag", mousemoved, true).on("mouseup.drag", mouseupped, true);
+           dragDisable(event.view);
+           nopropagation();
+           mousemoving = false;
+           mousedownx = event.clientX;
+           mousedowny = event.clientY;
+           gesture("start");
+         }
+
+         function mousemoved() {
+           noevent();
+           if (!mousemoving) {
+             var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny;
+             mousemoving = dx * dx + dy * dy > clickDistance2;
+           }
+           gestures.mouse("drag");
+         }
+
+         function mouseupped() {
+           d3_select(event.view).on("mousemove.drag mouseup.drag", null);
+           yesdrag(event.view, mousemoving);
+           noevent();
+           gestures.mouse("end");
+         }
+
+         function touchstarted() {
+           if (!filter.apply(this, arguments)) return;
+           var touches = event.changedTouches,
+               c = container.apply(this, arguments),
+               n = touches.length, i, gesture;
+
+           for (i = 0; i < n; ++i) {
+             if (gesture = beforestart(touches[i].identifier, c, touch, this, arguments)) {
+               nopropagation();
+               gesture("start");
+             }
+           }
+         }
+
+         function touchmoved() {
+           var touches = event.changedTouches,
+               n = touches.length, i, gesture;
+
+           for (i = 0; i < n; ++i) {
+             if (gesture = gestures[touches[i].identifier]) {
+               noevent();
+               gesture("drag");
+             }
+           }
+         }
+
+         function touchended() {
+           var touches = event.changedTouches,
+               n = touches.length, i, gesture;
+
+           if (touchending) clearTimeout(touchending);
+           touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!
+           for (i = 0; i < n; ++i) {
+             if (gesture = gestures[touches[i].identifier]) {
+               nopropagation();
+               gesture("end");
+             }
+           }
+         }
+
+         function beforestart(id, container, point, that, args) {
+           var p = point(container, id), s, dx, dy,
+               sublisteners = listeners.copy();
+
+           if (!customEvent(new DragEvent(drag, "beforestart", s, id, active, p[0], p[1], 0, 0, sublisteners), function() {
+             if ((event.subject = s = subject.apply(that, args)) == null) return false;
+             dx = s.x - p[0] || 0;
+             dy = s.y - p[1] || 0;
+             return true;
+           })) return;
+
+           return function gesture(type) {
+             var p0 = p, n;
+             switch (type) {
+               case "start": gestures[id] = gesture, n = active++; break;
+               case "end": delete gestures[id], --active; // nobreak
+               case "drag": p = point(container, id), n = active; break;
+             }
+             customEvent(new DragEvent(drag, type, s, id, n, p[0] + dx, p[1] + dy, p[0] - p0[0], p[1] - p0[1], sublisteners), sublisteners.apply, sublisteners, [type, that, args]);
+           };
+         }
+
+         drag.filter = function(_) {
+           return arguments.length ? (filter = typeof _ === "function" ? _ : constant$2(!!_), drag) : filter;
+         };
+
+         drag.container = function(_) {
+           return arguments.length ? (container = typeof _ === "function" ? _ : constant$2(_), drag) : container;
+         };
+
+         drag.subject = function(_) {
+           return arguments.length ? (subject = typeof _ === "function" ? _ : constant$2(_), drag) : subject;
+         };
+
+         drag.touchable = function(_) {
+           return arguments.length ? (touchable = typeof _ === "function" ? _ : constant$2(!!_), drag) : touchable;
+         };
+
+         drag.on = function() {
+           var value = listeners.on.apply(listeners, arguments);
+           return value === listeners ? drag : value;
+         };
+
+         drag.clickDistance = function(_) {
+           return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);
+         };
+
+         return drag;
+       }
+
+       function define$1(constructor, factory, prototype) {
+         constructor.prototype = factory.prototype = prototype;
+         prototype.constructor = constructor;
+       }
+
+       function extend(parent, definition) {
+         var prototype = Object.create(parent.prototype);
+         for (var key in definition) prototype[key] = definition[key];
+         return prototype;
+       }
+
+       function Color() {}
+
+       var darker = 0.7;
+       var brighter = 1 / darker;
+
+       var reI = "\\s*([+-]?\\d+)\\s*",
+           reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",
+           reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",
+           reHex3 = /^#([0-9a-f]{3})$/,
+           reHex6 = /^#([0-9a-f]{6})$/,
+           reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$"),
+           reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$"),
+           reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$"),
+           reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$"),
+           reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$"),
+           reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$");
+
+       var named = {
+         aliceblue: 0xf0f8ff,
+         antiquewhite: 0xfaebd7,
+         aqua: 0x00ffff,
+         aquamarine: 0x7fffd4,
+         azure: 0xf0ffff,
+         beige: 0xf5f5dc,
+         bisque: 0xffe4c4,
+         black: 0x000000,
+         blanchedalmond: 0xffebcd,
+         blue: 0x0000ff,
+         blueviolet: 0x8a2be2,
+         brown: 0xa52a2a,
+         burlywood: 0xdeb887,
+         cadetblue: 0x5f9ea0,
+         chartreuse: 0x7fff00,
+         chocolate: 0xd2691e,
+         coral: 0xff7f50,
+         cornflowerblue: 0x6495ed,
+         cornsilk: 0xfff8dc,
+         crimson: 0xdc143c,
+         cyan: 0x00ffff,
+         darkblue: 0x00008b,
+         darkcyan: 0x008b8b,
+         darkgoldenrod: 0xb8860b,
+         darkgray: 0xa9a9a9,
+         darkgreen: 0x006400,
+         darkgrey: 0xa9a9a9,
+         darkkhaki: 0xbdb76b,
+         darkmagenta: 0x8b008b,
+         darkolivegreen: 0x556b2f,
+         darkorange: 0xff8c00,
+         darkorchid: 0x9932cc,
+         darkred: 0x8b0000,
+         darksalmon: 0xe9967a,
+         darkseagreen: 0x8fbc8f,
+         darkslateblue: 0x483d8b,
+         darkslategray: 0x2f4f4f,
+         darkslategrey: 0x2f4f4f,
+         darkturquoise: 0x00ced1,
+         darkviolet: 0x9400d3,
+         deeppink: 0xff1493,
+         deepskyblue: 0x00bfff,
+         dimgray: 0x696969,
+         dimgrey: 0x696969,
+         dodgerblue: 0x1e90ff,
+         firebrick: 0xb22222,
+         floralwhite: 0xfffaf0,
+         forestgreen: 0x228b22,
+         fuchsia: 0xff00ff,
+         gainsboro: 0xdcdcdc,
+         ghostwhite: 0xf8f8ff,
+         gold: 0xffd700,
+         goldenrod: 0xdaa520,
+         gray: 0x808080,
+         green: 0x008000,
+         greenyellow: 0xadff2f,
+         grey: 0x808080,
+         honeydew: 0xf0fff0,
+         hotpink: 0xff69b4,
+         indianred: 0xcd5c5c,
+         indigo: 0x4b0082,
+         ivory: 0xfffff0,
+         khaki: 0xf0e68c,
+         lavender: 0xe6e6fa,
+         lavenderblush: 0xfff0f5,
+         lawngreen: 0x7cfc00,
+         lemonchiffon: 0xfffacd,
+         lightblue: 0xadd8e6,
+         lightcoral: 0xf08080,
+         lightcyan: 0xe0ffff,
+         lightgoldenrodyellow: 0xfafad2,
+         lightgray: 0xd3d3d3,
+         lightgreen: 0x90ee90,
+         lightgrey: 0xd3d3d3,
+         lightpink: 0xffb6c1,
+         lightsalmon: 0xffa07a,
+         lightseagreen: 0x20b2aa,
+         lightskyblue: 0x87cefa,
+         lightslategray: 0x778899,
+         lightslategrey: 0x778899,
+         lightsteelblue: 0xb0c4de,
+         lightyellow: 0xffffe0,
+         lime: 0x00ff00,
+         limegreen: 0x32cd32,
+         linen: 0xfaf0e6,
+         magenta: 0xff00ff,
+         maroon: 0x800000,
+         mediumaquamarine: 0x66cdaa,
+         mediumblue: 0x0000cd,
+         mediumorchid: 0xba55d3,
+         mediumpurple: 0x9370db,
+         mediumseagreen: 0x3cb371,
+         mediumslateblue: 0x7b68ee,
+         mediumspringgreen: 0x00fa9a,
+         mediumturquoise: 0x48d1cc,
+         mediumvioletred: 0xc71585,
+         midnightblue: 0x191970,
+         mintcream: 0xf5fffa,
+         mistyrose: 0xffe4e1,
+         moccasin: 0xffe4b5,
+         navajowhite: 0xffdead,
+         navy: 0x000080,
+         oldlace: 0xfdf5e6,
+         olive: 0x808000,
+         olivedrab: 0x6b8e23,
+         orange: 0xffa500,
+         orangered: 0xff4500,
+         orchid: 0xda70d6,
+         palegoldenrod: 0xeee8aa,
+         palegreen: 0x98fb98,
+         paleturquoise: 0xafeeee,
+         palevioletred: 0xdb7093,
+         papayawhip: 0xffefd5,
+         peachpuff: 0xffdab9,
+         peru: 0xcd853f,
+         pink: 0xffc0cb,
+         plum: 0xdda0dd,
+         powderblue: 0xb0e0e6,
+         purple: 0x800080,
+         rebeccapurple: 0x663399,
+         red: 0xff0000,
+         rosybrown: 0xbc8f8f,
+         royalblue: 0x4169e1,
+         saddlebrown: 0x8b4513,
+         salmon: 0xfa8072,
+         sandybrown: 0xf4a460,
+         seagreen: 0x2e8b57,
+         seashell: 0xfff5ee,
+         sienna: 0xa0522d,
+         silver: 0xc0c0c0,
+         skyblue: 0x87ceeb,
+         slateblue: 0x6a5acd,
+         slategray: 0x708090,
+         slategrey: 0x708090,
+         snow: 0xfffafa,
+         springgreen: 0x00ff7f,
+         steelblue: 0x4682b4,
+         tan: 0xd2b48c,
+         teal: 0x008080,
+         thistle: 0xd8bfd8,
+         tomato: 0xff6347,
+         turquoise: 0x40e0d0,
+         violet: 0xee82ee,
+         wheat: 0xf5deb3,
+         white: 0xffffff,
+         whitesmoke: 0xf5f5f5,
+         yellow: 0xffff00,
+         yellowgreen: 0x9acd32
+       };
+
+       define$1(Color, color, {
+         displayable: function() {
+           return this.rgb().displayable();
+         },
+         hex: function() {
+           return this.rgb().hex();
+         },
+         toString: function() {
+           return this.rgb() + "";
+         }
+       });
+
+       function color(format) {
+         var m;
+         format = (format + "").trim().toLowerCase();
+         return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00
+             : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000
+             : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)
+             : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)
+             : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)
+             : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)
+             : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)
+             : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)
+             : named.hasOwnProperty(format) ? rgbn(named[format])
+             : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0)
+             : null;
+       }
+
+       function rgbn(n) {
+         return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);
+       }
+
+       function rgba(r, g, b, a) {
+         if (a <= 0) r = g = b = NaN;
+         return new Rgb(r, g, b, a);
+       }
+
+       function rgbConvert(o) {
+         if (!(o instanceof Color)) o = color(o);
+         if (!o) return new Rgb;
+         o = o.rgb();
+         return new Rgb(o.r, o.g, o.b, o.opacity);
+       }
+
+       function rgb(r, g, b, opacity) {
+         return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);
+       }
+
+       function Rgb(r, g, b, opacity) {
+         this.r = +r;
+         this.g = +g;
+         this.b = +b;
+         this.opacity = +opacity;
+       }
+
+       define$1(Rgb, rgb, extend(Color, {
+         brighter: function(k) {
+           k = k == null ? brighter : Math.pow(brighter, k);
+           return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
+         },
+         darker: function(k) {
+           k = k == null ? darker : Math.pow(darker, k);
+           return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
+         },
+         rgb: function() {
+           return this;
+         },
+         displayable: function() {
+           return (-0.5 <= this.r && this.r < 255.5)
+               && (-0.5 <= this.g && this.g < 255.5)
+               && (-0.5 <= this.b && this.b < 255.5)
+               && (0 <= this.opacity && this.opacity <= 1);
+         },
+         hex: function() {
+           return "#" + hex$1(this.r) + hex$1(this.g) + hex$1(this.b);
+         },
+         toString: function() {
+           var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));
+           return (a === 1 ? "rgb(" : "rgba(")
+               + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", "
+               + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", "
+               + Math.max(0, Math.min(255, Math.round(this.b) || 0))
+               + (a === 1 ? ")" : ", " + a + ")");
+         }
+       }));
+
+       function hex$1(value) {
+         value = Math.max(0, Math.min(255, Math.round(value) || 0));
+         return (value < 16 ? "0" : "") + value.toString(16);
+       }
+
+       function hsla(h, s, l, a) {
+         if (a <= 0) h = s = l = NaN;
+         else if (l <= 0 || l >= 1) h = s = NaN;
+         else if (s <= 0) h = NaN;
+         return new Hsl(h, s, l, a);
+       }
+
+       function hslConvert(o) {
+         if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);
+         if (!(o instanceof Color)) o = color(o);
+         if (!o) return new Hsl;
+         if (o instanceof Hsl) return o;
+         o = o.rgb();
+         var r = o.r / 255,
+             g = o.g / 255,
+             b = o.b / 255,
+             min = Math.min(r, g, b),
+             max = Math.max(r, g, b),
+             h = NaN,
+             s = max - min,
+             l = (max + min) / 2;
+         if (s) {
+           if (r === max) h = (g - b) / s + (g < b) * 6;
+           else if (g === max) h = (b - r) / s + 2;
+           else h = (r - g) / s + 4;
+           s /= l < 0.5 ? max + min : 2 - max - min;
+           h *= 60;
+         } else {
+           s = l > 0 && l < 1 ? 0 : h;
+         }
+         return new Hsl(h, s, l, o.opacity);
+       }
+
+       function hsl(h, s, l, opacity) {
+         return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);
+       }
+
+       function Hsl(h, s, l, opacity) {
+         this.h = +h;
+         this.s = +s;
+         this.l = +l;
+         this.opacity = +opacity;
+       }
+
+       define$1(Hsl, hsl, extend(Color, {
+         brighter: function(k) {
+           k = k == null ? brighter : Math.pow(brighter, k);
+           return new Hsl(this.h, this.s, this.l * k, this.opacity);
+         },
+         darker: function(k) {
+           k = k == null ? darker : Math.pow(darker, k);
+           return new Hsl(this.h, this.s, this.l * k, this.opacity);
+         },
+         rgb: function() {
+           var h = this.h % 360 + (this.h < 0) * 360,
+               s = isNaN(h) || isNaN(this.s) ? 0 : this.s,
+               l = this.l,
+               m2 = l + (l < 0.5 ? l : 1 - l) * s,
+               m1 = 2 * l - m2;
+           return new Rgb(
+             hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),
+             hsl2rgb(h, m1, m2),
+             hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),
+             this.opacity
+           );
+         },
+         displayable: function() {
+           return (0 <= this.s && this.s <= 1 || isNaN(this.s))
+               && (0 <= this.l && this.l <= 1)
+               && (0 <= this.opacity && this.opacity <= 1);
+         }
+       }));
+
+       /* From FvD 13.37, CSS Color Module Level 3 */
+       function hsl2rgb(h, m1, m2) {
+         return (h < 60 ? m1 + (m2 - m1) * h / 60
+             : h < 180 ? m2
+             : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60
+             : m1) * 255;
+       }
+
+       var deg2rad = Math.PI / 180;
+       var rad2deg = 180 / Math.PI;
+
+       // https://observablehq.com/@mbostock/lab-and-rgb
+       var K = 18,
+           Xn = 0.96422,
+           Yn = 1,
+           Zn = 0.82521,
+           t0 = 4 / 29,
+           t1 = 6 / 29,
+           t2 = 3 * t1 * t1,
+           t3 = t1 * t1 * t1;
+
+       function labConvert(o) {
+         if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);
+         if (o instanceof Hcl) return hcl2lab(o);
+         if (!(o instanceof Rgb)) o = rgbConvert(o);
+         var r = rgb2lrgb(o.r),
+             g = rgb2lrgb(o.g),
+             b = rgb2lrgb(o.b),
+             y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;
+         if (r === g && g === b) x = z = y; else {
+           x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);
+           z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);
+         }
+         return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);
+       }
+
+       function gray(l, opacity) {
+         return new Lab(l, 0, 0, opacity == null ? 1 : opacity);
+       }
+
+       function lab(l, a, b, opacity) {
+         return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);
+       }
+
+       function Lab(l, a, b, opacity) {
+         this.l = +l;
+         this.a = +a;
+         this.b = +b;
+         this.opacity = +opacity;
+       }
+
+       define$1(Lab, lab, extend(Color, {
+         brighter: function(k) {
+           return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);
+         },
+         darker: function(k) {
+           return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);
+         },
+         rgb: function() {
+           var y = (this.l + 16) / 116,
+               x = isNaN(this.a) ? y : y + this.a / 500,
+               z = isNaN(this.b) ? y : y - this.b / 200;
+           x = Xn * lab2xyz(x);
+           y = Yn * lab2xyz(y);
+           z = Zn * lab2xyz(z);
+           return new Rgb(
+             lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),
+             lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),
+             lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),
+             this.opacity
+           );
+         }
+       }));
+
+       function xyz2lab(t) {
+         return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;
+       }
+
+       function lab2xyz(t) {
+         return t > t1 ? t * t * t : t2 * (t - t0);
+       }
+
+       function lrgb2rgb(x) {
+         return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);
+       }
+
+       function rgb2lrgb(x) {
+         return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);
+       }
+
+       function hclConvert(o) {
+         if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);
+         if (!(o instanceof Lab)) o = labConvert(o);
+         if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);
+         var h = Math.atan2(o.b, o.a) * rad2deg;
+         return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);
+       }
+
+       function lch(l, c, h, opacity) {
+         return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);
+       }
+
+       function hcl(h, c, l, opacity) {
+         return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);
+       }
+
+       function Hcl(h, c, l, opacity) {
+         this.h = +h;
+         this.c = +c;
+         this.l = +l;
+         this.opacity = +opacity;
+       }
+
+       function hcl2lab(o) {
+         if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);
+         var h = o.h * deg2rad;
+         return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);
+       }
+
+       define$1(Hcl, hcl, extend(Color, {
+         brighter: function(k) {
+           return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);
+         },
+         darker: function(k) {
+           return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);
+         },
+         rgb: function() {
+           return hcl2lab(this).rgb();
+         }
+       }));
+
+       var A = -0.14861,
+           B = +1.78277,
+           C = -0.29227,
+           D = -0.90649,
+           E = +1.97294,
+           ED = E * D,
+           EB = E * B,
+           BC_DA = B * C - D * A;
+
+       function cubehelixConvert(o) {
+         if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);
+         if (!(o instanceof Rgb)) o = rgbConvert(o);
+         var r = o.r / 255,
+             g = o.g / 255,
+             b = o.b / 255,
+             l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),
+             bl = b - l,
+             k = (E * (g - l) - C * bl) / D,
+             s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1
+             h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN;
+         return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);
+       }
+
+       function cubehelix(h, s, l, opacity) {
+         return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);
+       }
+
+       function Cubehelix(h, s, l, opacity) {
+         this.h = +h;
+         this.s = +s;
+         this.l = +l;
+         this.opacity = +opacity;
+       }
+
+       define$1(Cubehelix, cubehelix, extend(Color, {
+         brighter: function(k) {
+           k = k == null ? brighter : Math.pow(brighter, k);
+           return new Cubehelix(this.h, this.s, this.l * k, this.opacity);
+         },
+         darker: function(k) {
+           k = k == null ? darker : Math.pow(darker, k);
+           return new Cubehelix(this.h, this.s, this.l * k, this.opacity);
+         },
+         rgb: function() {
+           var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad,
+               l = +this.l,
+               a = isNaN(this.s) ? 0 : this.s * l * (1 - l),
+               cosh = Math.cos(h),
+               sinh = Math.sin(h);
+           return new Rgb(
+             255 * (l + a * (A * cosh + B * sinh)),
+             255 * (l + a * (C * cosh + D * sinh)),
+             255 * (l + a * (E * cosh)),
+             this.opacity
+           );
+         }
+       }));
+
+       function basis(t1, v0, v1, v2, v3) {
+         var t2 = t1 * t1, t3 = t2 * t1;
+         return ((1 - 3 * t1 + 3 * t2 - t3) * v0
+             + (4 - 6 * t2 + 3 * t3) * v1
+             + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2
+             + t3 * v3) / 6;
+       }
+
+       function basis$1(values) {
+         var n = values.length - 1;
+         return function(t) {
+           var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),
+               v1 = values[i],
+               v2 = values[i + 1],
+               v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,
+               v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;
+           return basis((t - i / n) * n, v0, v1, v2, v3);
+         };
+       }
+
+       function basisClosed(values) {
+         var n = values.length;
+         return function(t) {
+           var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),
+               v0 = values[(i + n - 1) % n],
+               v1 = values[i % n],
+               v2 = values[(i + 1) % n],
+               v3 = values[(i + 2) % n];
+           return basis((t - i / n) * n, v0, v1, v2, v3);
+         };
+       }
+
+       function constant$3(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       function linear(a, d) {
+         return function(t) {
+           return a + t * d;
+         };
+       }
+
+       function exponential(a, b, y) {
+         return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {
+           return Math.pow(a + t * b, y);
+         };
+       }
+
+       function hue(a, b) {
+         var d = b - a;
+         return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant$3(isNaN(a) ? b : a);
+       }
+
+       function gamma(y) {
+         return (y = +y) === 1 ? nogamma : function(a, b) {
+           return b - a ? exponential(a, b, y) : constant$3(isNaN(a) ? b : a);
+         };
+       }
+
+       function nogamma(a, b) {
+         var d = b - a;
+         return d ? linear(a, d) : constant$3(isNaN(a) ? b : a);
+       }
+
+       var d3_interpolateRgb = (function rgbGamma(y) {
+         var color = gamma(y);
+
+         function rgb$1(start, end) {
+           var r = color((start = rgb(start)).r, (end = rgb(end)).r),
+               g = color(start.g, end.g),
+               b = color(start.b, end.b),
+               opacity = nogamma(start.opacity, end.opacity);
+           return function(t) {
+             start.r = r(t);
+             start.g = g(t);
+             start.b = b(t);
+             start.opacity = opacity(t);
+             return start + "";
+           };
+         }
+
+         rgb$1.gamma = rgbGamma;
+
+         return rgb$1;
+       })(1);
+
+       function rgbSpline(spline) {
+         return function(colors) {
+           var n = colors.length,
+               r = new Array(n),
+               g = new Array(n),
+               b = new Array(n),
+               i, color;
+           for (i = 0; i < n; ++i) {
+             color = rgb(colors[i]);
+             r[i] = color.r || 0;
+             g[i] = color.g || 0;
+             b[i] = color.b || 0;
+           }
+           r = spline(r);
+           g = spline(g);
+           b = spline(b);
+           color.opacity = 1;
+           return function(t) {
+             color.r = r(t);
+             color.g = g(t);
+             color.b = b(t);
+             return color + "";
+           };
+         };
+       }
+
+       var rgbBasis = rgbSpline(basis$1);
+       var rgbBasisClosed = rgbSpline(basisClosed);
+
+       function array$2(a, b) {
+         var nb = b ? b.length : 0,
+             na = a ? Math.min(nb, a.length) : 0,
+             x = new Array(na),
+             c = new Array(nb),
+             i;
+
+         for (i = 0; i < na; ++i) x[i] = d3_interpolate(a[i], b[i]);
+         for (; i < nb; ++i) c[i] = b[i];
+
+         return function(t) {
+           for (i = 0; i < na; ++i) c[i] = x[i](t);
+           return c;
+         };
+       }
+
+       function date(a, b) {
+         var d = new Date;
+         return a = +a, b -= a, function(t) {
+           return d.setTime(a + b * t), d;
+         };
+       }
+
+       function d3_interpolateNumber(a, b) {
+         return a = +a, b -= a, function(t) {
+           return a + b * t;
+         };
+       }
+
+       function object(a, b) {
+         var i = {},
+             c = {},
+             k;
+
+         if (a === null || typeof a !== "object") a = {};
+         if (b === null || typeof b !== "object") b = {};
+
+         for (k in b) {
+           if (k in a) {
+             i[k] = d3_interpolate(a[k], b[k]);
+           } else {
+             c[k] = b[k];
+           }
+         }
+
+         return function(t) {
+           for (k in i) c[k] = i[k](t);
+           return c;
+         };
+       }
+
+       var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
+           reB = new RegExp(reA.source, "g");
+
+       function zero(b) {
+         return function() {
+           return b;
+         };
+       }
+
+       function one(b) {
+         return function(t) {
+           return b(t) + "";
+         };
+       }
+
+       function interpolateString(a, b) {
+         var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b
+             am, // current match in a
+             bm, // current match in b
+             bs, // string preceding current number in b, if any
+             i = -1, // index in s
+             s = [], // string constants and placeholders
+             q = []; // number interpolators
+
+         // Coerce inputs to strings.
+         a = a + "", b = b + "";
+
+         // Interpolate pairs of numbers in a & b.
+         while ((am = reA.exec(a))
+             && (bm = reB.exec(b))) {
+           if ((bs = bm.index) > bi) { // a string precedes the next number in b
+             bs = b.slice(bi, bs);
+             if (s[i]) s[i] += bs; // coalesce with previous string
+             else s[++i] = bs;
+           }
+           if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match
+             if (s[i]) s[i] += bm; // coalesce with previous string
+             else s[++i] = bm;
+           } else { // interpolate non-matching numbers
+             s[++i] = null;
+             q.push({i: i, x: d3_interpolateNumber(am, bm)});
+           }
+           bi = reB.lastIndex;
+         }
+
+         // Add remains of b.
+         if (bi < b.length) {
+           bs = b.slice(bi);
+           if (s[i]) s[i] += bs; // coalesce with previous string
+           else s[++i] = bs;
+         }
+
+         // Special optimization for only a single match.
+         // Otherwise, interpolate each of the numbers and rejoin the string.
+         return s.length < 2 ? (q[0]
+             ? one(q[0].x)
+             : zero(b))
+             : (b = q.length, function(t) {
+                 for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);
+                 return s.join("");
+               });
+       }
+
+       function d3_interpolate(a, b) {
+         var t = typeof b, c;
+         return b == null || t === "boolean" ? constant$3(b)
+             : (t === "number" ? d3_interpolateNumber
+             : t === "string" ? ((c = color(b)) ? (b = c, d3_interpolateRgb) : interpolateString)
+             : b instanceof color ? d3_interpolateRgb
+             : b instanceof Date ? date
+             : Array.isArray(b) ? array$2
+             : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object
+             : d3_interpolateNumber)(a, b);
+       }
+
+       function discrete(range) {
+         var n = range.length;
+         return function(t) {
+           return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];
+         };
+       }
+
+       function hue$1(a, b) {
+         var i = hue(+a, +b);
+         return function(t) {
+           var x = i(t);
+           return x - 360 * Math.floor(x / 360);
+         };
+       }
+
+       function interpolateRound(a, b) {
+         return a = +a, b -= a, function(t) {
+           return Math.round(a + b * t);
+         };
+       }
+
+       var degrees = 180 / Math.PI;
+
+       var identity$2 = {
+         translateX: 0,
+         translateY: 0,
+         rotate: 0,
+         skewX: 0,
+         scaleX: 1,
+         scaleY: 1
+       };
+
+       function decompose(a, b, c, d, e, f) {
+         var scaleX, scaleY, skewX;
+         if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;
+         if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;
+         if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;
+         if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;
+         return {
+           translateX: e,
+           translateY: f,
+           rotate: Math.atan2(b, a) * degrees,
+           skewX: Math.atan(skewX) * degrees,
+           scaleX: scaleX,
+           scaleY: scaleY
+         };
+       }
+
+       var cssNode,
+           cssRoot,
+           cssView,
+           svgNode;
+
+       function parseCss(value) {
+         if (value === "none") return identity$2;
+         if (!cssNode) cssNode = document.createElement("DIV"), cssRoot = document.documentElement, cssView = document.defaultView;
+         cssNode.style.transform = value;
+         value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue("transform");
+         cssRoot.removeChild(cssNode);
+         value = value.slice(7, -1).split(",");
+         return decompose(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]);
+       }
+
+       function parseSvg(value) {
+         if (value == null) return identity$2;
+         if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g");
+         svgNode.setAttribute("transform", value);
+         if (!(value = svgNode.transform.baseVal.consolidate())) return identity$2;
+         value = value.matrix;
+         return decompose(value.a, value.b, value.c, value.d, value.e, value.f);
+       }
+
+       function interpolateTransform(parse, pxComma, pxParen, degParen) {
+
+         function pop(s) {
+           return s.length ? s.pop() + " " : "";
+         }
+
+         function translate(xa, ya, xb, yb, s, q) {
+           if (xa !== xb || ya !== yb) {
+             var i = s.push("translate(", null, pxComma, null, pxParen);
+             q.push({i: i - 4, x: d3_interpolateNumber(xa, xb)}, {i: i - 2, x: d3_interpolateNumber(ya, yb)});
+           } else if (xb || yb) {
+             s.push("translate(" + xb + pxComma + yb + pxParen);
+           }
+         }
+
+         function rotate(a, b, s, q) {
+           if (a !== b) {
+             if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path
+             q.push({i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: d3_interpolateNumber(a, b)});
+           } else if (b) {
+             s.push(pop(s) + "rotate(" + b + degParen);
+           }
+         }
+
+         function skewX(a, b, s, q) {
+           if (a !== b) {
+             q.push({i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: d3_interpolateNumber(a, b)});
+           } else if (b) {
+             s.push(pop(s) + "skewX(" + b + degParen);
+           }
+         }
+
+         function scale(xa, ya, xb, yb, s, q) {
+           if (xa !== xb || ya !== yb) {
+             var i = s.push(pop(s) + "scale(", null, ",", null, ")");
+             q.push({i: i - 4, x: d3_interpolateNumber(xa, xb)}, {i: i - 2, x: d3_interpolateNumber(ya, yb)});
+           } else if (xb !== 1 || yb !== 1) {
+             s.push(pop(s) + "scale(" + xb + "," + yb + ")");
+           }
+         }
+
+         return function(a, b) {
+           var s = [], // string constants and placeholders
+               q = []; // number interpolators
+           a = parse(a), b = parse(b);
+           translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);
+           rotate(a.rotate, b.rotate, s, q);
+           skewX(a.skewX, b.skewX, s, q);
+           scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);
+           a = b = null; // gc
+           return function(t) {
+             var i = -1, n = q.length, o;
+             while (++i < n) s[(o = q[i]).i] = o.x(t);
+             return s.join("");
+           };
+         };
+       }
+
+       var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)");
+       var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")");
+
+       var rho = Math.SQRT2,
+           rho2 = 2,
+           rho4 = 4,
+           epsilon2 = 1e-12;
+
+       function cosh(x) {
+         return ((x = Math.exp(x)) + 1 / x) / 2;
+       }
+
+       function sinh(x) {
+         return ((x = Math.exp(x)) - 1 / x) / 2;
+       }
+
+       function tanh(x) {
+         return ((x = Math.exp(2 * x)) - 1) / (x + 1);
+       }
+
+       // p0 = [ux0, uy0, w0]
+       // p1 = [ux1, uy1, w1]
+       function interpolateZoom(p0, p1) {
+         var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],
+             ux1 = p1[0], uy1 = p1[1], w1 = p1[2],
+             dx = ux1 - ux0,
+             dy = uy1 - uy0,
+             d2 = dx * dx + dy * dy,
+             i,
+             S;
+
+         // Special case for u0 ≅ u1.
+         if (d2 < epsilon2) {
+           S = Math.log(w1 / w0) / rho;
+           i = function(t) {
+             return [
+               ux0 + t * dx,
+               uy0 + t * dy,
+               w0 * Math.exp(rho * t * S)
+             ];
+           };
+         }
+
+         // General case.
+         else {
+           var d1 = Math.sqrt(d2),
+               b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),
+               b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),
+               r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),
+               r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);
+           S = (r1 - r0) / rho;
+           i = function(t) {
+             var s = t * S,
+                 coshr0 = cosh(r0),
+                 u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));
+             return [
+               ux0 + u * dx,
+               uy0 + u * dy,
+               w0 * coshr0 / cosh(rho * s + r0)
+             ];
+           };
+         }
+
+         i.duration = S * 1000;
+
+         return i;
+       }
+
+       function hsl$1(hue) {
+         return function(start, end) {
+           var h = hue((start = hsl(start)).h, (end = hsl(end)).h),
+               s = nogamma(start.s, end.s),
+               l = nogamma(start.l, end.l),
+               opacity = nogamma(start.opacity, end.opacity);
+           return function(t) {
+             start.h = h(t);
+             start.s = s(t);
+             start.l = l(t);
+             start.opacity = opacity(t);
+             return start + "";
+           };
+         }
+       }
+
+       var hsl$2 = hsl$1(hue);
+       var hslLong = hsl$1(nogamma);
+
+       function lab$1(start, end) {
+         var l = nogamma((start = lab(start)).l, (end = lab(end)).l),
+             a = nogamma(start.a, end.a),
+             b = nogamma(start.b, end.b),
+             opacity = nogamma(start.opacity, end.opacity);
+         return function(t) {
+           start.l = l(t);
+           start.a = a(t);
+           start.b = b(t);
+           start.opacity = opacity(t);
+           return start + "";
+         };
+       }
+
+       function hcl$1(hue) {
+         return function(start, end) {
+           var h = hue((start = hcl(start)).h, (end = hcl(end)).h),
+               c = nogamma(start.c, end.c),
+               l = nogamma(start.l, end.l),
+               opacity = nogamma(start.opacity, end.opacity);
+           return function(t) {
+             start.h = h(t);
+             start.c = c(t);
+             start.l = l(t);
+             start.opacity = opacity(t);
+             return start + "";
+           };
+         }
+       }
+
+       var hcl$2 = hcl$1(hue);
+       var hclLong = hcl$1(nogamma);
+
+       function cubehelix$1(hue) {
+         return (function cubehelixGamma(y) {
+           y = +y;
+
+           function cubehelix$1(start, end) {
+             var h = hue((start = cubehelix(start)).h, (end = cubehelix(end)).h),
+                 s = nogamma(start.s, end.s),
+                 l = nogamma(start.l, end.l),
+                 opacity = nogamma(start.opacity, end.opacity);
+             return function(t) {
+               start.h = h(t);
+               start.s = s(t);
+               start.l = l(Math.pow(t, y));
+               start.opacity = opacity(t);
+               return start + "";
+             };
+           }
+
+           cubehelix$1.gamma = cubehelixGamma;
+
+           return cubehelix$1;
+         })(1);
+       }
+
+       var cubehelix$2 = cubehelix$1(hue);
+       var cubehelixLong = cubehelix$1(nogamma);
+
+       function piecewise(interpolate, values) {
+         var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);
+         while (i < n) I[i] = interpolate(v, v = values[++i]);
+         return function(t) {
+           var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));
+           return I[i](t - i);
+         };
+       }
+
+       function d3_quantize(interpolator, n) {
+         var samples = new Array(n);
+         for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));
+         return samples;
+       }
+
+       var frame = 0, // is an animation frame pending?
+           timeout = 0, // is a timeout pending?
+           interval = 0, // are any timers active?
+           pokeDelay = 1000, // how frequently we check for clock skew
+           taskHead,
+           taskTail,
+           clockLast = 0,
+           clockNow = 0,
+           clockSkew = 0,
+           clock = typeof performance === "object" && performance.now ? performance : Date,
+           setFrame = typeof window === "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };
+
+       function now() {
+         return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);
+       }
+
+       function clearNow() {
+         clockNow = 0;
+       }
+
+       function Timer() {
+         this._call =
+         this._time =
+         this._next = null;
+       }
+
+       Timer.prototype = timer.prototype = {
+         constructor: Timer,
+         restart: function(callback, delay, time) {
+           if (typeof callback !== "function") throw new TypeError("callback is not a function");
+           time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);
+           if (!this._next && taskTail !== this) {
+             if (taskTail) taskTail._next = this;
+             else taskHead = this;
+             taskTail = this;
+           }
+           this._call = callback;
+           this._time = time;
+           sleep();
+         },
+         stop: function() {
+           if (this._call) {
+             this._call = null;
+             this._time = Infinity;
+             sleep();
+           }
+         }
+       };
+
+       function timer(callback, delay, time) {
+         var t = new Timer;
+         t.restart(callback, delay, time);
+         return t;
+       }
+
+       function timerFlush() {
+         now(); // Get the current time, if not already set.
+         ++frame; // Pretend we’ve set an alarm, if we haven’t already.
+         var t = taskHead, e;
+         while (t) {
+           if ((e = clockNow - t._time) >= 0) t._call.call(null, e);
+           t = t._next;
+         }
+         --frame;
+       }
+
+       function wake() {
+         clockNow = (clockLast = clock.now()) + clockSkew;
+         frame = timeout = 0;
+         try {
+           timerFlush();
+         } finally {
+           frame = 0;
+           nap();
+           clockNow = 0;
+         }
+       }
+
+       function poke() {
+         var now = clock.now(), delay = now - clockLast;
+         if (delay > pokeDelay) clockSkew -= delay, clockLast = now;
+       }
+
+       function nap() {
+         var t0, t1 = taskHead, t2, time = Infinity;
+         while (t1) {
+           if (t1._call) {
+             if (time > t1._time) time = t1._time;
+             t0 = t1, t1 = t1._next;
+           } else {
+             t2 = t1._next, t1._next = null;
+             t1 = t0 ? t0._next = t2 : taskHead = t2;
+           }
+         }
+         taskTail = t0;
+         sleep(time);
+       }
+
+       function sleep(time) {
+         if (frame) return; // Soonest alarm already set, or will be.
+         if (timeout) timeout = clearTimeout(timeout);
+         var delay = time - clockNow; // Strictly less than if we recomputed clockNow.
+         if (delay > 24) {
+           if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);
+           if (interval) interval = clearInterval(interval);
+         } else {
+           if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);
+           frame = 1, setFrame(wake);
+         }
+       }
+
+       function d3_timeout(callback, delay, time) {
+         var t = new Timer;
+         delay = delay == null ? 0 : +delay;
+         t.restart(function(elapsed) {
+           t.stop();
+           callback(elapsed + delay);
+         }, delay, time);
+         return t;
+       }
+
+       function interval$1(callback, delay, time) {
+         var t = new Timer, total = delay;
+         if (delay == null) return t.restart(callback, delay, time), t;
+         delay = +delay, time = time == null ? now() : +time;
+         t.restart(function tick(elapsed) {
+           elapsed += total;
+           t.restart(tick, total += delay, time);
+           callback(elapsed);
+         }, delay, time);
+         return t;
+       }
+
+       var emptyOn = dispatch("start", "end", "cancel", "interrupt");
+       var emptyTween = [];
+
+       var CREATED = 0;
+       var SCHEDULED = 1;
+       var STARTING = 2;
+       var STARTED = 3;
+       var RUNNING = 4;
+       var ENDING = 5;
+       var ENDED = 6;
+
+       function schedule(node, name, id, index, group, timing) {
+         var schedules = node.__transition;
+         if (!schedules) node.__transition = {};
+         else if (id in schedules) return;
+         create$6(node, id, {
+           name: name,
+           index: index, // For context during callback.
+           group: group, // For context during callback.
+           on: emptyOn,
+           tween: emptyTween,
+           time: timing.time,
+           delay: timing.delay,
+           duration: timing.duration,
+           ease: timing.ease,
+           timer: null,
+           state: CREATED
+         });
+       }
+
+       function init(node, id) {
+         var schedule = get$2(node, id);
+         if (schedule.state > CREATED) throw new Error("too late; already scheduled");
+         return schedule;
+       }
+
+       function set$1(node, id) {
+         var schedule = get$2(node, id);
+         if (schedule.state > STARTED) throw new Error("too late; already running");
+         return schedule;
+       }
+
+       function get$2(node, id) {
+         var schedule = node.__transition;
+         if (!schedule || !(schedule = schedule[id])) throw new Error("transition not found");
+         return schedule;
+       }
+
+       function create$6(node, id, self) {
+         var schedules = node.__transition,
+             tween;
+
+         // Initialize the self timer when the transition is created.
+         // Note the actual delay is not known until the first callback!
+         schedules[id] = self;
+         self.timer = timer(schedule, 0, self.time);
+
+         function schedule(elapsed) {
+           self.state = SCHEDULED;
+           self.timer.restart(start, self.delay, self.time);
+
+           // If the elapsed delay is less than our first sleep, start immediately.
+           if (self.delay <= elapsed) start(elapsed - self.delay);
+         }
+
+         function start(elapsed) {
+           var i, j, n, o;
+
+           // If the state is not SCHEDULED, then we previously errored on start.
+           if (self.state !== SCHEDULED) return stop();
+
+           for (i in schedules) {
+             o = schedules[i];
+             if (o.name !== self.name) continue;
+
+             // While this element already has a starting transition during this frame,
+             // defer starting an interrupting transition until that transition has a
+             // chance to tick (and possibly end); see d3/d3-transition#54!
+             if (o.state === STARTED) return d3_timeout(start);
+
+             // Interrupt the active transition, if any.
+             if (o.state === RUNNING) {
+               o.state = ENDED;
+               o.timer.stop();
+               o.on.call("interrupt", node, node.__data__, o.index, o.group);
+               delete schedules[i];
+             }
+
+             // Cancel any pre-empted transitions.
+             else if (+i < id) {
+               o.state = ENDED;
+               o.timer.stop();
+               o.on.call("cancel", node, node.__data__, o.index, o.group);
+               delete schedules[i];
+             }
+           }
+
+           // Defer the first tick to end of the current frame; see d3/d3#1576.
+           // Note the transition may be canceled after start and before the first tick!
+           // Note this must be scheduled before the start event; see d3/d3-transition#16!
+           // Assuming this is successful, subsequent callbacks go straight to tick.
+           d3_timeout(function() {
+             if (self.state === STARTED) {
+               self.state = RUNNING;
+               self.timer.restart(tick, self.delay, self.time);
+               tick(elapsed);
+             }
+           });
+
+           // Dispatch the start event.
+           // Note this must be done before the tween are initialized.
+           self.state = STARTING;
+           self.on.call("start", node, node.__data__, self.index, self.group);
+           if (self.state !== STARTING) return; // interrupted
+           self.state = STARTED;
+
+           // Initialize the tween, deleting null tween.
+           tween = new Array(n = self.tween.length);
+           for (i = 0, j = -1; i < n; ++i) {
+             if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {
+               tween[++j] = o;
+             }
+           }
+           tween.length = j + 1;
+         }
+
+         function tick(elapsed) {
+           var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),
+               i = -1,
+               n = tween.length;
+
+           while (++i < n) {
+             tween[i].call(node, t);
+           }
+
+           // Dispatch the end event.
+           if (self.state === ENDING) {
+             self.on.call("end", node, node.__data__, self.index, self.group);
+             stop();
+           }
+         }
+
+         function stop() {
+           self.state = ENDED;
+           self.timer.stop();
+           delete schedules[id];
+           for (var i in schedules) return; // eslint-disable-line no-unused-vars
+           delete node.__transition;
+         }
+       }
+
+       function interrupt(node, name) {
+         var schedules = node.__transition,
+             schedule,
+             active,
+             empty = true,
+             i;
+
+         if (!schedules) return;
+
+         name = name == null ? null : name + "";
+
+         for (i in schedules) {
+           if ((schedule = schedules[i]).name !== name) { empty = false; continue; }
+           active = schedule.state > STARTING && schedule.state < ENDING;
+           schedule.state = ENDED;
+           schedule.timer.stop();
+           schedule.on.call(active ? "interrupt" : "cancel", node, node.__data__, schedule.index, schedule.group);
+           delete schedules[i];
+         }
+
+         if (empty) delete node.__transition;
+       }
+
+       function selection_interrupt(name) {
+         return this.each(function() {
+           interrupt(this, name);
+         });
+       }
+
+       function tweenRemove(id, name) {
+         var tween0, tween1;
+         return function() {
+           var schedule = set$1(this, id),
+               tween = schedule.tween;
+
+           // If this node shared tween with the previous node,
+           // just assign the updated shared tween and we’re done!
+           // Otherwise, copy-on-write.
+           if (tween !== tween0) {
+             tween1 = tween0 = tween;
+             for (var i = 0, n = tween1.length; i < n; ++i) {
+               if (tween1[i].name === name) {
+                 tween1 = tween1.slice();
+                 tween1.splice(i, 1);
+                 break;
+               }
+             }
+           }
+
+           schedule.tween = tween1;
+         };
+       }
+
+       function tweenFunction(id, name, value) {
+         var tween0, tween1;
+         if (typeof value !== "function") throw new Error;
+         return function() {
+           var schedule = set$1(this, id),
+               tween = schedule.tween;
+
+           // If this node shared tween with the previous node,
+           // just assign the updated shared tween and we’re done!
+           // Otherwise, copy-on-write.
+           if (tween !== tween0) {
+             tween1 = (tween0 = tween).slice();
+             for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {
+               if (tween1[i].name === name) {
+                 tween1[i] = t;
+                 break;
+               }
+             }
+             if (i === n) tween1.push(t);
+           }
+
+           schedule.tween = tween1;
+         };
+       }
+
+       function transition_tween(name, value) {
+         var id = this._id;
+
+         name += "";
+
+         if (arguments.length < 2) {
+           var tween = get$2(this.node(), id).tween;
+           for (var i = 0, n = tween.length, t; i < n; ++i) {
+             if ((t = tween[i]).name === name) {
+               return t.value;
+             }
+           }
+           return null;
+         }
+
+         return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));
+       }
+
+       function tweenValue(transition, name, value) {
+         var id = transition._id;
+
+         transition.each(function() {
+           var schedule = set$1(this, id);
+           (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);
+         });
+
+         return function(node) {
+           return get$2(node, id).value[name];
+         };
+       }
+
+       function interpolate(a, b) {
+         var c;
+         return (typeof b === "number" ? d3_interpolateNumber
+             : b instanceof color ? d3_interpolateRgb
+             : (c = color(b)) ? (b = c, d3_interpolateRgb)
+             : interpolateString)(a, b);
+       }
+
+       function attrRemove$1(name) {
+         return function() {
+           this.removeAttribute(name);
+         };
+       }
+
+       function attrRemoveNS$1(fullname) {
+         return function() {
+           this.removeAttributeNS(fullname.space, fullname.local);
+         };
+       }
+
+       function attrConstant$1(name, interpolate, value1) {
+         var string00,
+             string1 = value1 + "",
+             interpolate0;
+         return function() {
+           var string0 = this.getAttribute(name);
+           return string0 === string1 ? null
+               : string0 === string00 ? interpolate0
+               : interpolate0 = interpolate(string00 = string0, value1);
+         };
+       }
+
+       function attrConstantNS$1(fullname, interpolate, value1) {
+         var string00,
+             string1 = value1 + "",
+             interpolate0;
+         return function() {
+           var string0 = this.getAttributeNS(fullname.space, fullname.local);
+           return string0 === string1 ? null
+               : string0 === string00 ? interpolate0
+               : interpolate0 = interpolate(string00 = string0, value1);
+         };
+       }
+
+       function attrFunction$1(name, interpolate, value) {
+         var string00,
+             string10,
+             interpolate0;
+         return function() {
+           var string0, value1 = value(this), string1;
+           if (value1 == null) return void this.removeAttribute(name);
+           string0 = this.getAttribute(name);
+           string1 = value1 + "";
+           return string0 === string1 ? null
+               : string0 === string00 && string1 === string10 ? interpolate0
+               : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));
+         };
+       }
+
+       function attrFunctionNS$1(fullname, interpolate, value) {
+         var string00,
+             string10,
+             interpolate0;
+         return function() {
+           var string0, value1 = value(this), string1;
+           if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);
+           string0 = this.getAttributeNS(fullname.space, fullname.local);
+           string1 = value1 + "";
+           return string0 === string1 ? null
+               : string0 === string00 && string1 === string10 ? interpolate0
+               : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));
+         };
+       }
+
+       function transition_attr(name, value) {
+         var fullname = namespace(name), i = fullname === "transform" ? interpolateTransformSvg : interpolate;
+         return this.attrTween(name, typeof value === "function"
+             ? (fullname.local ? attrFunctionNS$1 : attrFunction$1)(fullname, i, tweenValue(this, "attr." + name, value))
+             : value == null ? (fullname.local ? attrRemoveNS$1 : attrRemove$1)(fullname)
+             : (fullname.local ? attrConstantNS$1 : attrConstant$1)(fullname, i, value));
+       }
+
+       function attrInterpolate(name, i) {
+         return function(t) {
+           this.setAttribute(name, i(t));
+         };
+       }
+
+       function attrInterpolateNS(fullname, i) {
+         return function(t) {
+           this.setAttributeNS(fullname.space, fullname.local, i(t));
+         };
+       }
+
+       function attrTweenNS(fullname, value) {
+         var t0, i0;
+         function tween() {
+           var i = value.apply(this, arguments);
+           if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);
+           return t0;
+         }
+         tween._value = value;
+         return tween;
+       }
+
+       function attrTween(name, value) {
+         var t0, i0;
+         function tween() {
+           var i = value.apply(this, arguments);
+           if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);
+           return t0;
+         }
+         tween._value = value;
+         return tween;
+       }
+
+       function transition_attrTween(name, value) {
+         var key = "attr." + name;
+         if (arguments.length < 2) return (key = this.tween(key)) && key._value;
+         if (value == null) return this.tween(key, null);
+         if (typeof value !== "function") throw new Error;
+         var fullname = namespace(name);
+         return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));
+       }
+
+       function delayFunction(id, value) {
+         return function() {
+           init(this, id).delay = +value.apply(this, arguments);
+         };
+       }
+
+       function delayConstant(id, value) {
+         return value = +value, function() {
+           init(this, id).delay = value;
+         };
+       }
+
+       function transition_delay(value) {
+         var id = this._id;
+
+         return arguments.length
+             ? this.each((typeof value === "function"
+                 ? delayFunction
+                 : delayConstant)(id, value))
+             : get$2(this.node(), id).delay;
+       }
+
+       function durationFunction(id, value) {
+         return function() {
+           set$1(this, id).duration = +value.apply(this, arguments);
+         };
+       }
+
+       function durationConstant(id, value) {
+         return value = +value, function() {
+           set$1(this, id).duration = value;
+         };
+       }
+
+       function transition_duration(value) {
+         var id = this._id;
+
+         return arguments.length
+             ? this.each((typeof value === "function"
+                 ? durationFunction
+                 : durationConstant)(id, value))
+             : get$2(this.node(), id).duration;
+       }
+
+       function easeConstant(id, value) {
+         if (typeof value !== "function") throw new Error;
+         return function() {
+           set$1(this, id).ease = value;
+         };
+       }
+
+       function transition_ease(value) {
+         var id = this._id;
+
+         return arguments.length
+             ? this.each(easeConstant(id, value))
+             : get$2(this.node(), id).ease;
+       }
+
+       function transition_filter(match) {
+         if (typeof match !== "function") match = matcher(match);
+
+         for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
+           for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
+             if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
+               subgroup.push(node);
+             }
+           }
+         }
+
+         return new Transition(subgroups, this._parents, this._name, this._id);
+       }
+
+       function transition_merge(transition) {
+         if (transition._id !== this._id) throw new Error;
+
+         for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {
+           for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {
+             if (node = group0[i] || group1[i]) {
+               merge[i] = node;
+             }
+           }
+         }
+
+         for (; j < m0; ++j) {
+           merges[j] = groups0[j];
+         }
+
+         return new Transition(merges, this._parents, this._name, this._id);
+       }
+
+       function start(name) {
+         return (name + "").trim().split(/^|\s+/).every(function(t) {
+           var i = t.indexOf(".");
+           if (i >= 0) t = t.slice(0, i);
+           return !t || t === "start";
+         });
+       }
+
+       function onFunction(id, name, listener) {
+         var on0, on1, sit = start(name) ? init : set$1;
+         return function() {
+           var schedule = sit(this, id),
+               on = schedule.on;
+
+           // If this node shared a dispatch with the previous node,
+           // just assign the updated shared dispatch and we’re done!
+           // Otherwise, copy-on-write.
+           if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);
+
+           schedule.on = on1;
+         };
+       }
+
+       function transition_on(name, listener) {
+         var id = this._id;
+
+         return arguments.length < 2
+             ? get$2(this.node(), id).on.on(name)
+             : this.each(onFunction(id, name, listener));
+       }
+
+       function removeFunction(id) {
+         return function() {
+           var parent = this.parentNode;
+           for (var i in this.__transition) if (+i !== id) return;
+           if (parent) parent.removeChild(this);
+         };
+       }
+
+       function transition_remove() {
+         return this.on("end.remove", removeFunction(this._id));
+       }
+
+       function transition_select(select) {
+         var name = this._name,
+             id = this._id;
+
+         if (typeof select !== "function") select = selector(select);
+
+         for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
+           for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
+             if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {
+               if ("__data__" in node) subnode.__data__ = node.__data__;
+               subgroup[i] = subnode;
+               schedule(subgroup[i], name, id, i, subgroup, get$2(node, id));
+             }
+           }
+         }
+
+         return new Transition(subgroups, this._parents, name, id);
+       }
+
+       function transition_selectAll(select) {
+         var name = this._name,
+             id = this._id;
+
+         if (typeof select !== "function") select = selectorAll(select);
+
+         for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
+           for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
+             if (node = group[i]) {
+               for (var children = select.call(node, node.__data__, i, group), child, inherit = get$2(node, id), k = 0, l = children.length; k < l; ++k) {
+                 if (child = children[k]) {
+                   schedule(child, name, id, k, children, inherit);
+                 }
+               }
+               subgroups.push(children);
+               parents.push(node);
+             }
+           }
+         }
+
+         return new Transition(subgroups, parents, name, id);
+       }
+
+       var Selection$1 = selection.prototype.constructor;
+
+       function transition_selection() {
+         return new Selection$1(this._groups, this._parents);
+       }
+
+       function styleNull(name, interpolate) {
+         var string00,
+             string10,
+             interpolate0;
+         return function() {
+           var string0 = styleValue(this, name),
+               string1 = (this.style.removeProperty(name), styleValue(this, name));
+           return string0 === string1 ? null
+               : string0 === string00 && string1 === string10 ? interpolate0
+               : interpolate0 = interpolate(string00 = string0, string10 = string1);
+         };
+       }
+
+       function styleRemove$1(name) {
+         return function() {
+           this.style.removeProperty(name);
+         };
+       }
+
+       function styleConstant$1(name, interpolate, value1) {
+         var string00,
+             string1 = value1 + "",
+             interpolate0;
+         return function() {
+           var string0 = styleValue(this, name);
+           return string0 === string1 ? null
+               : string0 === string00 ? interpolate0
+               : interpolate0 = interpolate(string00 = string0, value1);
+         };
+       }
+
+       function styleFunction$1(name, interpolate, value) {
+         var string00,
+             string10,
+             interpolate0;
+         return function() {
+           var string0 = styleValue(this, name),
+               value1 = value(this),
+               string1 = value1 + "";
+           if (value1 == null) string1 = value1 = (this.style.removeProperty(name), styleValue(this, name));
+           return string0 === string1 ? null
+               : string0 === string00 && string1 === string10 ? interpolate0
+               : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));
+         };
+       }
+
+       function styleMaybeRemove(id, name) {
+         var on0, on1, listener0, key = "style." + name, event = "end." + key, remove;
+         return function() {
+           var schedule = set$1(this, id),
+               on = schedule.on,
+               listener = schedule.value[key] == null ? remove || (remove = styleRemove$1(name)) : undefined;
+
+           // If this node shared a dispatch with the previous node,
+           // just assign the updated shared dispatch and we’re done!
+           // Otherwise, copy-on-write.
+           if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);
+
+           schedule.on = on1;
+         };
+       }
+
+       function transition_style(name, value, priority) {
+         var i = (name += "") === "transform" ? interpolateTransformCss : interpolate;
+         return value == null ? this
+             .styleTween(name, styleNull(name, i))
+             .on("end.style." + name, styleRemove$1(name))
+           : typeof value === "function" ? this
+             .styleTween(name, styleFunction$1(name, i, tweenValue(this, "style." + name, value)))
+             .each(styleMaybeRemove(this._id, name))
+           : this
+             .styleTween(name, styleConstant$1(name, i, value), priority)
+             .on("end.style." + name, null);
+       }
+
+       function styleInterpolate(name, i, priority) {
+         return function(t) {
+           this.style.setProperty(name, i(t), priority);
+         };
+       }
+
+       function styleTween(name, value, priority) {
+         var t, i0;
+         function tween() {
+           var i = value.apply(this, arguments);
+           if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);
+           return t;
+         }
+         tween._value = value;
+         return tween;
+       }
+
+       function transition_styleTween(name, value, priority) {
+         var key = "style." + (name += "");
+         if (arguments.length < 2) return (key = this.tween(key)) && key._value;
+         if (value == null) return this.tween(key, null);
+         if (typeof value !== "function") throw new Error;
+         return this.tween(key, styleTween(name, value, priority == null ? "" : priority));
+       }
+
+       function textConstant$1(value) {
+         return function() {
+           this.textContent = value;
+         };
+       }
+
+       function textFunction$1(value) {
+         return function() {
+           var value1 = value(this);
+           this.textContent = value1 == null ? "" : value1;
+         };
+       }
+
+       function transition_text(value) {
+         return this.tween("text", typeof value === "function"
+             ? textFunction$1(tweenValue(this, "text", value))
+             : textConstant$1(value == null ? "" : value + ""));
+       }
+
+       function transition_transition() {
+         var name = this._name,
+             id0 = this._id,
+             id1 = newId();
+
+         for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {
+           for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
+             if (node = group[i]) {
+               var inherit = get$2(node, id0);
+               schedule(node, name, id1, i, group, {
+                 time: inherit.time + inherit.delay + inherit.duration,
+                 delay: 0,
+                 duration: inherit.duration,
+                 ease: inherit.ease
+               });
+             }
+           }
+         }
+
+         return new Transition(groups, this._parents, name, id1);
+       }
+
+       function transition_end() {
+         var on0, on1, that = this, id = that._id, size = that.size();
+         return new Promise(function(resolve, reject) {
+           var cancel = {value: reject},
+               end = {value: function() { if (--size === 0) resolve(); }};
+
+           that.each(function() {
+             var schedule = set$1(this, id),
+                 on = schedule.on;
+
+             // If this node shared a dispatch with the previous node,
+             // just assign the updated shared dispatch and we’re done!
+             // Otherwise, copy-on-write.
+             if (on !== on0) {
+               on1 = (on0 = on).copy();
+               on1._.cancel.push(cancel);
+               on1._.interrupt.push(cancel);
+               on1._.end.push(end);
+             }
+
+             schedule.on = on1;
+           });
+         });
+       }
+
+       var id$4 = 0;
+
+       function Transition(groups, parents, name, id) {
+         this._groups = groups;
+         this._parents = parents;
+         this._name = name;
+         this._id = id;
+       }
+
+       function transition(name) {
+         return selection().transition(name);
+       }
+
+       function newId() {
+         return ++id$4;
+       }
+
+       var selection_prototype = selection.prototype;
+
+       Transition.prototype = transition.prototype = {
+         constructor: Transition,
+         select: transition_select,
+         selectAll: transition_selectAll,
+         filter: transition_filter,
+         merge: transition_merge,
+         selection: transition_selection,
+         transition: transition_transition,
+         call: selection_prototype.call,
+         nodes: selection_prototype.nodes,
+         node: selection_prototype.node,
+         size: selection_prototype.size,
+         empty: selection_prototype.empty,
+         each: selection_prototype.each,
+         on: transition_on,
+         attr: transition_attr,
+         attrTween: transition_attrTween,
+         style: transition_style,
+         styleTween: transition_styleTween,
+         text: transition_text,
+         remove: transition_remove,
+         tween: transition_tween,
+         delay: transition_delay,
+         duration: transition_duration,
+         ease: transition_ease,
+         end: transition_end
+       };
+
+       function linear$1(t) {
+         return +t;
+       }
+
+       function quadIn(t) {
+         return t * t;
+       }
+
+       function quadOut(t) {
+         return t * (2 - t);
+       }
+
+       function quadInOut(t) {
+         return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;
+       }
+
+       function cubicIn(t) {
+         return t * t * t;
+       }
+
+       function cubicOut(t) {
+         return --t * t * t + 1;
+       }
+
+       function cubicInOut(t) {
+         return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;
+       }
+
+       var exponent = 3;
+
+       var polyIn = (function custom(e) {
+         e = +e;
+
+         function polyIn(t) {
+           return Math.pow(t, e);
+         }
+
+         polyIn.exponent = custom;
+
+         return polyIn;
+       })(exponent);
+
+       var polyOut = (function custom(e) {
+         e = +e;
+
+         function polyOut(t) {
+           return 1 - Math.pow(1 - t, e);
+         }
+
+         polyOut.exponent = custom;
+
+         return polyOut;
+       })(exponent);
+
+       var polyInOut = (function custom(e) {
+         e = +e;
+
+         function polyInOut(t) {
+           return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;
+         }
+
+         polyInOut.exponent = custom;
+
+         return polyInOut;
+       })(exponent);
+
+       var pi = Math.PI,
+           halfPi = pi / 2;
+
+       function sinIn(t) {
+         return 1 - Math.cos(t * halfPi);
+       }
+
+       function sinOut(t) {
+         return Math.sin(t * halfPi);
+       }
+
+       function sinInOut(t) {
+         return (1 - Math.cos(pi * t)) / 2;
+       }
+
+       function expIn(t) {
+         return Math.pow(2, 10 * t - 10);
+       }
+
+       function expOut(t) {
+         return 1 - Math.pow(2, -10 * t);
+       }
+
+       function expInOut(t) {
+         return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 2;
+       }
+
+       function circleIn(t) {
+         return 1 - Math.sqrt(1 - t * t);
+       }
+
+       function circleOut(t) {
+         return Math.sqrt(1 - --t * t);
+       }
+
+       function circleInOut(t) {
+         return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;
+       }
+
+       var b1 = 4 / 11,
+           b2 = 6 / 11,
+           b3 = 8 / 11,
+           b4 = 3 / 4,
+           b5 = 9 / 11,
+           b6 = 10 / 11,
+           b7 = 15 / 16,
+           b8 = 21 / 22,
+           b9 = 63 / 64,
+           b0 = 1 / b1 / b1;
+
+       function bounceIn(t) {
+         return 1 - bounceOut(1 - t);
+       }
+
+       function bounceOut(t) {
+         return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;
+       }
+
+       function bounceInOut(t) {
+         return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;
+       }
+
+       var overshoot = 1.70158;
+
+       var backIn = (function custom(s) {
+         s = +s;
+
+         function backIn(t) {
+           return t * t * ((s + 1) * t - s);
+         }
+
+         backIn.overshoot = custom;
+
+         return backIn;
+       })(overshoot);
+
+       var backOut = (function custom(s) {
+         s = +s;
+
+         function backOut(t) {
+           return --t * t * ((s + 1) * t + s) + 1;
+         }
+
+         backOut.overshoot = custom;
+
+         return backOut;
+       })(overshoot);
+
+       var backInOut = (function custom(s) {
+         s = +s;
+
+         function backInOut(t) {
+           return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;
+         }
+
+         backInOut.overshoot = custom;
+
+         return backInOut;
+       })(overshoot);
+
+       var tau = 2 * Math.PI,
+           amplitude = 1,
+           period = 0.3;
+
+       var elasticIn = (function custom(a, p) {
+         var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);
+
+         function elasticIn(t) {
+           return a * Math.pow(2, 10 * --t) * Math.sin((s - t) / p);
+         }
+
+         elasticIn.amplitude = function(a) { return custom(a, p * tau); };
+         elasticIn.period = function(p) { return custom(a, p); };
+
+         return elasticIn;
+       })(amplitude, period);
+
+       var elasticOut = (function custom(a, p) {
+         var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);
+
+         function elasticOut(t) {
+           return 1 - a * Math.pow(2, -10 * (t = +t)) * Math.sin((t + s) / p);
+         }
+
+         elasticOut.amplitude = function(a) { return custom(a, p * tau); };
+         elasticOut.period = function(p) { return custom(a, p); };
+
+         return elasticOut;
+       })(amplitude, period);
+
+       var elasticInOut = (function custom(a, p) {
+         var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);
+
+         function elasticInOut(t) {
+           return ((t = t * 2 - 1) < 0
+               ? a * Math.pow(2, 10 * t) * Math.sin((s - t) / p)
+               : 2 - a * Math.pow(2, -10 * t) * Math.sin((s + t) / p)) / 2;
+         }
+
+         elasticInOut.amplitude = function(a) { return custom(a, p * tau); };
+         elasticInOut.period = function(p) { return custom(a, p); };
+
+         return elasticInOut;
+       })(amplitude, period);
+
+       var defaultTiming = {
+         time: null, // Set on use.
+         delay: 0,
+         duration: 250,
+         ease: cubicInOut
+       };
+
+       function inherit(node, id) {
+         var timing;
+         while (!(timing = node.__transition) || !(timing = timing[id])) {
+           if (!(node = node.parentNode)) {
+             return defaultTiming.time = now(), defaultTiming;
+           }
+         }
+         return timing;
+       }
+
+       function selection_transition(name) {
+         var id,
+             timing;
+
+         if (name instanceof Transition) {
+           id = name._id, name = name._name;
+         } else {
+           id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + "";
+         }
+
+         for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {
+           for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
+             if (node = group[i]) {
+               schedule(node, name, id, i, group, timing || inherit(node, id));
+             }
+           }
+         }
+
+         return new Transition(groups, this._parents, name, id);
+       }
+
+       selection.prototype.interrupt = selection_interrupt;
+       selection.prototype.transition = selection_transition;
+
+       var root$2 = [null];
+
+       function active(node, name) {
+         var schedules = node.__transition,
+             schedule,
+             i;
+
+         if (schedules) {
+           name = name == null ? null : name + "";
+           for (i in schedules) {
+             if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) {
+               return new Transition([[node]], root$2, name, +i);
+             }
+           }
+         }
+
+         return null;
+       }
+
+       function constant$4(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       function BrushEvent(target, type, selection) {
+         this.target = target;
+         this.type = type;
+         this.selection = selection;
+       }
+
+       function nopropagation$1() {
+         event.stopImmediatePropagation();
+       }
+
+       function noevent$1() {
+         event.preventDefault();
+         event.stopImmediatePropagation();
+       }
+
+       var MODE_DRAG = {name: "drag"},
+           MODE_SPACE = {name: "space"},
+           MODE_HANDLE = {name: "handle"},
+           MODE_CENTER = {name: "center"};
+
+       var X = {
+         name: "x",
+         handles: ["e", "w"].map(type),
+         input: function(x, e) { return x && [[x[0], e[0][1]], [x[1], e[1][1]]]; },
+         output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }
+       };
+
+       var Y = {
+         name: "y",
+         handles: ["n", "s"].map(type),
+         input: function(y, e) { return y && [[e[0][0], y[0]], [e[1][0], y[1]]]; },
+         output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }
+       };
+
+       var XY = {
+         name: "xy",
+         handles: ["n", "e", "s", "w", "nw", "ne", "se", "sw"].map(type),
+         input: function(xy) { return xy; },
+         output: function(xy) { return xy; }
+       };
+
+       var cursors = {
+         overlay: "crosshair",
+         selection: "move",
+         n: "ns-resize",
+         e: "ew-resize",
+         s: "ns-resize",
+         w: "ew-resize",
+         nw: "nwse-resize",
+         ne: "nesw-resize",
+         se: "nwse-resize",
+         sw: "nesw-resize"
+       };
+
+       var flipX = {
+         e: "w",
+         w: "e",
+         nw: "ne",
+         ne: "nw",
+         se: "sw",
+         sw: "se"
+       };
+
+       var flipY = {
+         n: "s",
+         s: "n",
+         nw: "sw",
+         ne: "se",
+         se: "ne",
+         sw: "nw"
+       };
+
+       var signsX = {
+         overlay: +1,
+         selection: +1,
+         n: null,
+         e: +1,
+         s: null,
+         w: -1,
+         nw: -1,
+         ne: +1,
+         se: +1,
+         sw: -1
+       };
+
+       var signsY = {
+         overlay: +1,
+         selection: +1,
+         n: -1,
+         e: null,
+         s: +1,
+         w: null,
+         nw: -1,
+         ne: -1,
+         se: +1,
+         sw: +1
+       };
+
+       function type(t) {
+         return {type: t};
+       }
+
+       // Ignore right-click, since that should open the context menu.
+       function defaultFilter$1() {
+         return !event.button;
+       }
+
+       function defaultExtent() {
+         var svg = this.ownerSVGElement || this;
+         return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];
+       }
+
+       // Like d3.local, but with the name “__brush” rather than auto-generated.
+       function local$1(node) {
+         while (!node.__brush) if (!(node = node.parentNode)) return;
+         return node.__brush;
+       }
+
+       function empty$1(extent) {
+         return extent[0][0] === extent[1][0]
+             || extent[0][1] === extent[1][1];
+       }
+
+       function brushSelection(node) {
+         var state = node.__brush;
+         return state ? state.dim.output(state.selection) : null;
+       }
+
+       function brushX() {
+         return brush$1(X);
+       }
+
+       function brushY() {
+         return brush$1(Y);
+       }
+
+       function brush() {
+         return brush$1(XY);
+       }
+
+       function brush$1(dim) {
+         var extent = defaultExtent,
+             filter = defaultFilter$1,
+             listeners = dispatch(brush, "start", "brush", "end"),
+             handleSize = 6,
+             touchending;
+
+         function brush(group) {
+           var overlay = group
+               .property("__brush", initialize)
+             .selectAll(".overlay")
+             .data([type("overlay")]);
+
+           overlay.enter().append("rect")
+               .attr("class", "overlay")
+               .attr("pointer-events", "all")
+               .attr("cursor", cursors.overlay)
+             .merge(overlay)
+               .each(function() {
+                 var extent = local$1(this).extent;
+                 d3_select(this)
+                     .attr("x", extent[0][0])
+                     .attr("y", extent[0][1])
+                     .attr("width", extent[1][0] - extent[0][0])
+                     .attr("height", extent[1][1] - extent[0][1]);
+               });
+
+           group.selectAll(".selection")
+             .data([type("selection")])
+             .enter().append("rect")
+               .attr("class", "selection")
+               .attr("cursor", cursors.selection)
+               .attr("fill", "#777")
+               .attr("fill-opacity", 0.3)
+               .attr("stroke", "#fff")
+               .attr("shape-rendering", "crispEdges");
+
+           var handle = group.selectAll(".handle")
+             .data(dim.handles, function(d) { return d.type; });
+
+           handle.exit().remove();
+
+           handle.enter().append("rect")
+               .attr("class", function(d) { return "handle handle--" + d.type; })
+               .attr("cursor", function(d) { return cursors[d.type]; });
+
+           group
+               .each(redraw)
+               .attr("fill", "none")
+               .attr("pointer-events", "all")
+               .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)")
+               .on("mousedown.brush touchstart.brush", started);
+         }
+
+         brush.move = function(group, selection) {
+           if (group.selection) {
+             group
+                 .on("start.brush", function() { emitter(this, arguments).beforestart().start(); })
+                 .on("interrupt.brush end.brush", function() { emitter(this, arguments).end(); })
+                 .tween("brush", function() {
+                   var that = this,
+                       state = that.__brush,
+                       emit = emitter(that, arguments),
+                       selection0 = state.selection,
+                       selection1 = dim.input(typeof selection === "function" ? selection.apply(this, arguments) : selection, state.extent),
+                       i = d3_interpolate(selection0, selection1);
+
+                   function tween(t) {
+                     state.selection = t === 1 && empty$1(selection1) ? null : i(t);
+                     redraw.call(that);
+                     emit.brush();
+                   }
+
+                   return selection0 && selection1 ? tween : tween(1);
+                 });
+           } else {
+             group
+                 .each(function() {
+                   var that = this,
+                       args = arguments,
+                       state = that.__brush,
+                       selection1 = dim.input(typeof selection === "function" ? selection.apply(that, args) : selection, state.extent),
+                       emit = emitter(that, args).beforestart();
+
+                   interrupt(that);
+                   state.selection = selection1 == null || empty$1(selection1) ? null : selection1;
+                   redraw.call(that);
+                   emit.start().brush().end();
+                 });
+           }
+         };
+
+         function redraw() {
+           var group = d3_select(this),
+               selection = local$1(this).selection;
+
+           if (selection) {
+             group.selectAll(".selection")
+                 .style("display", null)
+                 .attr("x", selection[0][0])
+                 .attr("y", selection[0][1])
+                 .attr("width", selection[1][0] - selection[0][0])
+                 .attr("height", selection[1][1] - selection[0][1]);
+
+             group.selectAll(".handle")
+                 .style("display", null)
+                 .attr("x", function(d) { return d.type[d.type.length - 1] === "e" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })
+                 .attr("y", function(d) { return d.type[0] === "s" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })
+                 .attr("width", function(d) { return d.type === "n" || d.type === "s" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })
+                 .attr("height", function(d) { return d.type === "e" || d.type === "w" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });
+           }
+
+           else {
+             group.selectAll(".selection,.handle")
+                 .style("display", "none")
+                 .attr("x", null)
+                 .attr("y", null)
+                 .attr("width", null)
+                 .attr("height", null);
+           }
+         }
+
+         function emitter(that, args) {
+           return that.__brush.emitter || new Emitter(that, args);
+         }
+
+         function Emitter(that, args) {
+           this.that = that;
+           this.args = args;
+           this.state = that.__brush;
+           this.active = 0;
+         }
+
+         Emitter.prototype = {
+           beforestart: function() {
+             if (++this.active === 1) this.state.emitter = this, this.starting = true;
+             return this;
+           },
+           start: function() {
+             if (this.starting) this.starting = false, this.emit("start");
+             return this;
+           },
+           brush: function() {
+             this.emit("brush");
+             return this;
+           },
+           end: function() {
+             if (--this.active === 0) delete this.state.emitter, this.emit("end");
+             return this;
+           },
+           emit: function(type) {
+             customEvent(new BrushEvent(brush, type, dim.output(this.state.selection)), listeners.apply, listeners, [type, this.that, this.args]);
+           }
+         };
+
+         function started() {
+           if (event.touches) { if (event.changedTouches.length < event.touches.length) return noevent$1(); }
+           else if (touchending) return;
+           if (!filter.apply(this, arguments)) return;
+
+           var that = this,
+               type = event.target.__data__.type,
+               mode = (event.metaKey ? type = "overlay" : type) === "selection" ? MODE_DRAG : (event.altKey ? MODE_CENTER : MODE_HANDLE),
+               signX = dim === Y ? null : signsX[type],
+               signY = dim === X ? null : signsY[type],
+               state = local$1(that),
+               extent = state.extent,
+               selection = state.selection,
+               W = extent[0][0], w0, w1,
+               N = extent[0][1], n0, n1,
+               E = extent[1][0], e0, e1,
+               S = extent[1][1], s0, s1,
+               dx,
+               dy,
+               moving,
+               shifting = signX && signY && event.shiftKey,
+               lockX,
+               lockY,
+               point0 = d3_mouse(that),
+               point = point0,
+               emit = emitter(that, arguments).beforestart();
+
+           if (type === "overlay") {
+             state.selection = selection = [
+               [w0 = dim === Y ? W : point0[0], n0 = dim === X ? N : point0[1]],
+               [e0 = dim === Y ? E : w0, s0 = dim === X ? S : n0]
+             ];
+           } else {
+             w0 = selection[0][0];
+             n0 = selection[0][1];
+             e0 = selection[1][0];
+             s0 = selection[1][1];
+           }
+
+           w1 = w0;
+           n1 = n0;
+           e1 = e0;
+           s1 = s0;
+
+           var group = d3_select(that)
+               .attr("pointer-events", "none");
+
+           var overlay = group.selectAll(".overlay")
+               .attr("cursor", cursors[type]);
+
+           if (event.touches) {
+             group
+                 .on("touchmove.brush", moved, true)
+                 .on("touchend.brush touchcancel.brush", ended, true);
+           } else {
+             var view = d3_select(event.view)
+                 .on("keydown.brush", keydowned, true)
+                 .on("keyup.brush", keyupped, true)
+                 .on("mousemove.brush", moved, true)
+                 .on("mouseup.brush", ended, true);
+
+             dragDisable(event.view);
+           }
+
+           nopropagation$1();
+           interrupt(that);
+           redraw.call(that);
+           emit.start();
+
+           function moved() {
+             var point1 = d3_mouse(that);
+             if (shifting && !lockX && !lockY) {
+               if (Math.abs(point1[0] - point[0]) > Math.abs(point1[1] - point[1])) lockY = true;
+               else lockX = true;
+             }
+             point = point1;
+             moving = true;
+             noevent$1();
+             move();
+           }
+
+           function move() {
+             var t;
+
+             dx = point[0] - point0[0];
+             dy = point[1] - point0[1];
+
+             switch (mode) {
+               case MODE_SPACE:
+               case MODE_DRAG: {
+                 if (signX) dx = Math.max(W - w0, Math.min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;
+                 if (signY) dy = Math.max(N - n0, Math.min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;
+                 break;
+               }
+               case MODE_HANDLE: {
+                 if (signX < 0) dx = Math.max(W - w0, Math.min(E - w0, dx)), w1 = w0 + dx, e1 = e0;
+                 else if (signX > 0) dx = Math.max(W - e0, Math.min(E - e0, dx)), w1 = w0, e1 = e0 + dx;
+                 if (signY < 0) dy = Math.max(N - n0, Math.min(S - n0, dy)), n1 = n0 + dy, s1 = s0;
+                 else if (signY > 0) dy = Math.max(N - s0, Math.min(S - s0, dy)), n1 = n0, s1 = s0 + dy;
+                 break;
+               }
+               case MODE_CENTER: {
+                 if (signX) w1 = Math.max(W, Math.min(E, w0 - dx * signX)), e1 = Math.max(W, Math.min(E, e0 + dx * signX));
+                 if (signY) n1 = Math.max(N, Math.min(S, n0 - dy * signY)), s1 = Math.max(N, Math.min(S, s0 + dy * signY));
+                 break;
+               }
+             }
+
+             if (e1 < w1) {
+               signX *= -1;
+               t = w0, w0 = e0, e0 = t;
+               t = w1, w1 = e1, e1 = t;
+               if (type in flipX) overlay.attr("cursor", cursors[type = flipX[type]]);
+             }
+
+             if (s1 < n1) {
+               signY *= -1;
+               t = n0, n0 = s0, s0 = t;
+               t = n1, n1 = s1, s1 = t;
+               if (type in flipY) overlay.attr("cursor", cursors[type = flipY[type]]);
+             }
+
+             if (state.selection) selection = state.selection; // May be set by brush.move!
+             if (lockX) w1 = selection[0][0], e1 = selection[1][0];
+             if (lockY) n1 = selection[0][1], s1 = selection[1][1];
+
+             if (selection[0][0] !== w1
+                 || selection[0][1] !== n1
+                 || selection[1][0] !== e1
+                 || selection[1][1] !== s1) {
+               state.selection = [[w1, n1], [e1, s1]];
+               redraw.call(that);
+               emit.brush();
+             }
+           }
+
+           function ended() {
+             nopropagation$1();
+             if (event.touches) {
+               if (event.touches.length) return;
+               if (touchending) clearTimeout(touchending);
+               touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!
+               group.on("touchmove.brush touchend.brush touchcancel.brush", null);
+             } else {
+               yesdrag(event.view, moving);
+               view.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null);
+             }
+             group.attr("pointer-events", "all");
+             overlay.attr("cursor", cursors.overlay);
+             if (state.selection) selection = state.selection; // May be set by brush.move (on start)!
+             if (empty$1(selection)) state.selection = null, redraw.call(that);
+             emit.end();
+           }
+
+           function keydowned() {
+             switch (event.keyCode) {
+               case 16: { // SHIFT
+                 shifting = signX && signY;
+                 break;
+               }
+               case 18: { // ALT
+                 if (mode === MODE_HANDLE) {
+                   if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;
+                   if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;
+                   mode = MODE_CENTER;
+                   move();
+                 }
+                 break;
+               }
+               case 32: { // SPACE; takes priority over ALT
+                 if (mode === MODE_HANDLE || mode === MODE_CENTER) {
+                   if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;
+                   if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;
+                   mode = MODE_SPACE;
+                   overlay.attr("cursor", cursors.selection);
+                   move();
+                 }
+                 break;
+               }
+               default: return;
+             }
+             noevent$1();
+           }
+
+           function keyupped() {
+             switch (event.keyCode) {
+               case 16: { // SHIFT
+                 if (shifting) {
+                   lockX = lockY = shifting = false;
+                   move();
+                 }
+                 break;
+               }
+               case 18: { // ALT
+                 if (mode === MODE_CENTER) {
+                   if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;
+                   if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;
+                   mode = MODE_HANDLE;
+                   move();
+                 }
+                 break;
+               }
+               case 32: { // SPACE
+                 if (mode === MODE_SPACE) {
+                   if (event.altKey) {
+                     if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;
+                     if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;
+                     mode = MODE_CENTER;
+                   } else {
+                     if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;
+                     if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;
+                     mode = MODE_HANDLE;
+                   }
+                   overlay.attr("cursor", cursors[type]);
+                   move();
+                 }
+                 break;
+               }
+               default: return;
+             }
+             noevent$1();
+           }
+         }
+
+         function initialize() {
+           var state = this.__brush || {selection: null};
+           state.extent = extent.apply(this, arguments);
+           state.dim = dim;
+           return state;
+         }
+
+         brush.extent = function(_) {
+           return arguments.length ? (extent = typeof _ === "function" ? _ : constant$4([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), brush) : extent;
+         };
+
+         brush.filter = function(_) {
+           return arguments.length ? (filter = typeof _ === "function" ? _ : constant$4(!!_), brush) : filter;
+         };
+
+         brush.handleSize = function(_) {
+           return arguments.length ? (handleSize = +_, brush) : handleSize;
+         };
+
+         brush.on = function() {
+           var value = listeners.on.apply(listeners, arguments);
+           return value === listeners ? brush : value;
+         };
+
+         return brush;
+       }
+
+       var cos = Math.cos;
+       var sin = Math.sin;
+       var pi$1 = Math.PI;
+       var halfPi$1 = pi$1 / 2;
+       var tau$1 = pi$1 * 2;
+       var max$3 = Math.max;
+
+       function compareValue(compare) {
+         return function(a, b) {
+           return compare(
+             a.source.value + a.target.value,
+             b.source.value + b.target.value
+           );
+         };
+       }
+
+       function chord() {
+         var padAngle = 0,
+             sortGroups = null,
+             sortSubgroups = null,
+             sortChords = null;
+
+         function chord(matrix) {
+           var n = matrix.length,
+               groupSums = [],
+               groupIndex = d3_range(n),
+               subgroupIndex = [],
+               chords = [],
+               groups = chords.groups = new Array(n),
+               subgroups = new Array(n * n),
+               k,
+               x,
+               x0,
+               dx,
+               i,
+               j;
+
+           // Compute the sum.
+           k = 0, i = -1; while (++i < n) {
+             x = 0, j = -1; while (++j < n) {
+               x += matrix[i][j];
+             }
+             groupSums.push(x);
+             subgroupIndex.push(d3_range(n));
+             k += x;
+           }
+
+           // Sort groups…
+           if (sortGroups) groupIndex.sort(function(a, b) {
+             return sortGroups(groupSums[a], groupSums[b]);
+           });
+
+           // Sort subgroups…
+           if (sortSubgroups) subgroupIndex.forEach(function(d, i) {
+             d.sort(function(a, b) {
+               return sortSubgroups(matrix[i][a], matrix[i][b]);
+             });
+           });
+
+           // Convert the sum to scaling factor for [0, 2pi].
+           // TODO Allow start and end angle to be specified?
+           // TODO Allow padding to be specified as percentage?
+           k = max$3(0, tau$1 - padAngle * n) / k;
+           dx = k ? padAngle : tau$1 / n;
+
+           // Compute the start and end angle for each group and subgroup.
+           // Note: Opera has a bug reordering object literal properties!
+           x = 0, i = -1; while (++i < n) {
+             x0 = x, j = -1; while (++j < n) {
+               var di = groupIndex[i],
+                   dj = subgroupIndex[di][j],
+                   v = matrix[di][dj],
+                   a0 = x,
+                   a1 = x += v * k;
+               subgroups[dj * n + di] = {
+                 index: di,
+                 subindex: dj,
+                 startAngle: a0,
+                 endAngle: a1,
+                 value: v
+               };
+             }
+             groups[di] = {
+               index: di,
+               startAngle: x0,
+               endAngle: x,
+               value: groupSums[di]
+             };
+             x += dx;
+           }
+
+           // Generate chords for each (non-empty) subgroup-subgroup link.
+           i = -1; while (++i < n) {
+             j = i - 1; while (++j < n) {
+               var source = subgroups[j * n + i],
+                   target = subgroups[i * n + j];
+               if (source.value || target.value) {
+                 chords.push(source.value < target.value
+                     ? {source: target, target: source}
+                     : {source: source, target: target});
+               }
+             }
+           }
+
+           return sortChords ? chords.sort(sortChords) : chords;
+         }
+
+         chord.padAngle = function(_) {
+           return arguments.length ? (padAngle = max$3(0, _), chord) : padAngle;
+         };
+
+         chord.sortGroups = function(_) {
+           return arguments.length ? (sortGroups = _, chord) : sortGroups;
+         };
+
+         chord.sortSubgroups = function(_) {
+           return arguments.length ? (sortSubgroups = _, chord) : sortSubgroups;
+         };
+
+         chord.sortChords = function(_) {
+           return arguments.length ? (_ == null ? sortChords = null : (sortChords = compareValue(_))._ = _, chord) : sortChords && sortChords._;
+         };
+
+         return chord;
+       }
+
+       var slice$6 = Array.prototype.slice;
+
+       function constant$5(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       var pi$2 = Math.PI,
+           tau$2 = 2 * pi$2,
+           epsilon$1 = 1e-6,
+           tauEpsilon = tau$2 - epsilon$1;
+
+       function Path() {
+         this._x0 = this._y0 = // start of current subpath
+         this._x1 = this._y1 = null; // end of current subpath
+         this._ = "";
+       }
+
+       function path() {
+         return new Path;
+       }
+
+       Path.prototype = path.prototype = {
+         constructor: Path,
+         moveTo: function(x, y) {
+           this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y);
+         },
+         closePath: function() {
+           if (this._x1 !== null) {
+             this._x1 = this._x0, this._y1 = this._y0;
+             this._ += "Z";
+           }
+         },
+         lineTo: function(x, y) {
+           this._ += "L" + (this._x1 = +x) + "," + (this._y1 = +y);
+         },
+         quadraticCurveTo: function(x1, y1, x, y) {
+           this._ += "Q" + (+x1) + "," + (+y1) + "," + (this._x1 = +x) + "," + (this._y1 = +y);
+         },
+         bezierCurveTo: function(x1, y1, x2, y2, x, y) {
+           this._ += "C" + (+x1) + "," + (+y1) + "," + (+x2) + "," + (+y2) + "," + (this._x1 = +x) + "," + (this._y1 = +y);
+         },
+         arcTo: function(x1, y1, x2, y2, r) {
+           x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;
+           var x0 = this._x1,
+               y0 = this._y1,
+               x21 = x2 - x1,
+               y21 = y2 - y1,
+               x01 = x0 - x1,
+               y01 = y0 - y1,
+               l01_2 = x01 * x01 + y01 * y01;
+
+           // Is the radius negative? Error.
+           if (r < 0) throw new Error("negative radius: " + r);
+
+           // Is this path empty? Move to (x1,y1).
+           if (this._x1 === null) {
+             this._ += "M" + (this._x1 = x1) + "," + (this._y1 = y1);
+           }
+
+           // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.
+           else if (!(l01_2 > epsilon$1));
+
+           // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?
+           // Equivalently, is (x1,y1) coincident with (x2,y2)?
+           // Or, is the radius zero? Line to (x1,y1).
+           else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon$1) || !r) {
+             this._ += "L" + (this._x1 = x1) + "," + (this._y1 = y1);
+           }
+
+           // Otherwise, draw an arc!
+           else {
+             var x20 = x2 - x0,
+                 y20 = y2 - y0,
+                 l21_2 = x21 * x21 + y21 * y21,
+                 l20_2 = x20 * x20 + y20 * y20,
+                 l21 = Math.sqrt(l21_2),
+                 l01 = Math.sqrt(l01_2),
+                 l = r * Math.tan((pi$2 - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),
+                 t01 = l / l01,
+                 t21 = l / l21;
+
+             // If the start tangent is not coincident with (x0,y0), line to.
+             if (Math.abs(t01 - 1) > epsilon$1) {
+               this._ += "L" + (x1 + t01 * x01) + "," + (y1 + t01 * y01);
+             }
+
+             this._ += "A" + r + "," + r + ",0,0," + (+(y01 * x20 > x01 * y20)) + "," + (this._x1 = x1 + t21 * x21) + "," + (this._y1 = y1 + t21 * y21);
+           }
+         },
+         arc: function(x, y, r, a0, a1, ccw) {
+           x = +x, y = +y, r = +r;
+           var dx = r * Math.cos(a0),
+               dy = r * Math.sin(a0),
+               x0 = x + dx,
+               y0 = y + dy,
+               cw = 1 ^ ccw,
+               da = ccw ? a0 - a1 : a1 - a0;
+
+           // Is the radius negative? Error.
+           if (r < 0) throw new Error("negative radius: " + r);
+
+           // Is this path empty? Move to (x0,y0).
+           if (this._x1 === null) {
+             this._ += "M" + x0 + "," + y0;
+           }
+
+           // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).
+           else if (Math.abs(this._x1 - x0) > epsilon$1 || Math.abs(this._y1 - y0) > epsilon$1) {
+             this._ += "L" + x0 + "," + y0;
+           }
+
+           // Is this arc empty? We’re done.
+           if (!r) return;
+
+           // Does the angle go the wrong way? Flip the direction.
+           if (da < 0) da = da % tau$2 + tau$2;
+
+           // Is this a complete circle? Draw two arcs to complete the circle.
+           if (da > tauEpsilon) {
+             this._ += "A" + r + "," + r + ",0,1," + cw + "," + (x - dx) + "," + (y - dy) + "A" + r + "," + r + ",0,1," + cw + "," + (this._x1 = x0) + "," + (this._y1 = y0);
+           }
+
+           // Is this arc non-empty? Draw an arc!
+           else if (da > epsilon$1) {
+             this._ += "A" + r + "," + r + ",0," + (+(da >= pi$2)) + "," + cw + "," + (this._x1 = x + r * Math.cos(a1)) + "," + (this._y1 = y + r * Math.sin(a1));
+           }
+         },
+         rect: function(x, y, w, h) {
+           this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y) + "h" + (+w) + "v" + (+h) + "h" + (-w) + "Z";
+         },
+         toString: function() {
+           return this._;
+         }
+       };
+
+       function defaultSource(d) {
+         return d.source;
+       }
+
+       function defaultTarget(d) {
+         return d.target;
+       }
+
+       function defaultRadius(d) {
+         return d.radius;
+       }
+
+       function defaultStartAngle(d) {
+         return d.startAngle;
+       }
+
+       function defaultEndAngle(d) {
+         return d.endAngle;
+       }
+
+       function ribbon() {
+         var source = defaultSource,
+             target = defaultTarget,
+             radius = defaultRadius,
+             startAngle = defaultStartAngle,
+             endAngle = defaultEndAngle,
+             context = null;
+
+         function ribbon() {
+           var buffer,
+               argv = slice$6.call(arguments),
+               s = source.apply(this, argv),
+               t = target.apply(this, argv),
+               sr = +radius.apply(this, (argv[0] = s, argv)),
+               sa0 = startAngle.apply(this, argv) - halfPi$1,
+               sa1 = endAngle.apply(this, argv) - halfPi$1,
+               sx0 = sr * cos(sa0),
+               sy0 = sr * sin(sa0),
+               tr = +radius.apply(this, (argv[0] = t, argv)),
+               ta0 = startAngle.apply(this, argv) - halfPi$1,
+               ta1 = endAngle.apply(this, argv) - halfPi$1;
+
+           if (!context) context = buffer = path();
+
+           context.moveTo(sx0, sy0);
+           context.arc(0, 0, sr, sa0, sa1);
+           if (sa0 !== ta0 || sa1 !== ta1) { // TODO sr !== tr?
+             context.quadraticCurveTo(0, 0, tr * cos(ta0), tr * sin(ta0));
+             context.arc(0, 0, tr, ta0, ta1);
+           }
+           context.quadraticCurveTo(0, 0, sx0, sy0);
+           context.closePath();
+
+           if (buffer) return context = null, buffer + "" || null;
+         }
+
+         ribbon.radius = function(_) {
+           return arguments.length ? (radius = typeof _ === "function" ? _ : constant$5(+_), ribbon) : radius;
+         };
+
+         ribbon.startAngle = function(_) {
+           return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$5(+_), ribbon) : startAngle;
+         };
+
+         ribbon.endAngle = function(_) {
+           return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$5(+_), ribbon) : endAngle;
+         };
+
+         ribbon.source = function(_) {
+           return arguments.length ? (source = _, ribbon) : source;
+         };
+
+         ribbon.target = function(_) {
+           return arguments.length ? (target = _, ribbon) : target;
+         };
+
+         ribbon.context = function(_) {
+           return arguments.length ? ((context = _ == null ? null : _), ribbon) : context;
+         };
+
+         return ribbon;
+       }
+
+       var prefix = "$";
+
+       function Map$1() {}
+
+       Map$1.prototype = map$3.prototype = {
+         constructor: Map$1,
+         has: function(key) {
+           return (prefix + key) in this;
+         },
+         get: function(key) {
+           return this[prefix + key];
+         },
+         set: function(key, value) {
+           this[prefix + key] = value;
+           return this;
+         },
+         remove: function(key) {
+           var property = prefix + key;
+           return property in this && delete this[property];
+         },
+         clear: function() {
+           for (var property in this) if (property[0] === prefix) delete this[property];
+         },
+         keys: function() {
+           var keys = [];
+           for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));
+           return keys;
+         },
+         values: function() {
+           var values = [];
+           for (var property in this) if (property[0] === prefix) values.push(this[property]);
+           return values;
+         },
+         entries: function() {
+           var entries = [];
+           for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});
+           return entries;
+         },
+         size: function() {
+           var size = 0;
+           for (var property in this) if (property[0] === prefix) ++size;
+           return size;
+         },
+         empty: function() {
+           for (var property in this) if (property[0] === prefix) return false;
+           return true;
+         },
+         each: function(f) {
+           for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);
+         }
+       };
+
+       function map$3(object, f) {
+         var map = new Map$1;
+
+         // Copy constructor.
+         if (object instanceof Map$1) object.each(function(value, key) { map.set(key, value); });
+
+         // Index array by numeric index or specified key function.
+         else if (Array.isArray(object)) {
+           var i = -1,
+               n = object.length,
+               o;
+
+           if (f == null) while (++i < n) map.set(i, object[i]);
+           else while (++i < n) map.set(f(o = object[i], i, object), o);
+         }
+
+         // Convert object to map.
+         else if (object) for (var key in object) map.set(key, object[key]);
+
+         return map;
+       }
+
+       function nest() {
+         var keys = [],
+             sortKeys = [],
+             sortValues,
+             rollup,
+             nest;
+
+         function apply(array, depth, createResult, setResult) {
+           if (depth >= keys.length) {
+             if (sortValues != null) array.sort(sortValues);
+             return rollup != null ? rollup(array) : array;
+           }
+
+           var i = -1,
+               n = array.length,
+               key = keys[depth++],
+               keyValue,
+               value,
+               valuesByKey = map$3(),
+               values,
+               result = createResult();
+
+           while (++i < n) {
+             if (values = valuesByKey.get(keyValue = key(value = array[i]) + "")) {
+               values.push(value);
+             } else {
+               valuesByKey.set(keyValue, [value]);
+             }
+           }
+
+           valuesByKey.each(function(values, key) {
+             setResult(result, key, apply(values, depth, createResult, setResult));
+           });
+
+           return result;
+         }
+
+         function entries(map, depth) {
+           if (++depth > keys.length) return map;
+           var array, sortKey = sortKeys[depth - 1];
+           if (rollup != null && depth >= keys.length) array = map.entries();
+           else array = [], map.each(function(v, k) { array.push({key: k, values: entries(v, depth)}); });
+           return sortKey != null ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) : array;
+         }
+
+         return nest = {
+           object: function(array) { return apply(array, 0, createObject, setObject); },
+           map: function(array) { return apply(array, 0, createMap, setMap); },
+           entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); },
+           key: function(d) { keys.push(d); return nest; },
+           sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; },
+           sortValues: function(order) { sortValues = order; return nest; },
+           rollup: function(f) { rollup = f; return nest; }
+         };
+       }
+
+       function createObject() {
+         return {};
+       }
+
+       function setObject(object, key, value) {
+         object[key] = value;
+       }
+
+       function createMap() {
+         return map$3();
+       }
+
+       function setMap(map, key, value) {
+         map.set(key, value);
+       }
+
+       function Set$1() {}
+
+       var proto = map$3.prototype;
+
+       Set$1.prototype = set$2.prototype = {
+         constructor: Set$1,
+         has: proto.has,
+         add: function(value) {
+           value += "";
+           this[prefix + value] = value;
+           return this;
+         },
+         remove: proto.remove,
+         clear: proto.clear,
+         values: proto.keys,
+         size: proto.size,
+         empty: proto.empty,
+         each: proto.each
+       };
+
+       function set$2(object, f) {
+         var set = new Set$1;
+
+         // Copy constructor.
+         if (object instanceof Set$1) object.each(function(value) { set.add(value); });
+
+         // Otherwise, assume it’s an array.
+         else if (object) {
+           var i = -1, n = object.length;
+           if (f == null) while (++i < n) set.add(object[i]);
+           else while (++i < n) set.add(f(object[i], i, object));
+         }
+
+         return set;
+       }
+
+       function keys$3(map) {
+         var keys = [];
+         for (var key in map) keys.push(key);
+         return keys;
+       }
+
+       function values(map) {
+         var values = [];
+         for (var key in map) values.push(map[key]);
+         return values;
+       }
+
+       function entries(map) {
+         var entries = [];
+         for (var key in map) entries.push({key: key, value: map[key]});
+         return entries;
+       }
+
+       var array$3 = Array.prototype;
+
+       var slice$7 = array$3.slice;
+
+       function ascending$1(a, b) {
+         return a - b;
+       }
+
+       function area(ring) {
+         var i = 0, n = ring.length, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1];
+         while (++i < n) area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1];
+         return area;
+       }
+
+       function constant$6(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       function contains$1(ring, hole) {
+         var i = -1, n = hole.length, c;
+         while (++i < n) if (c = ringContains(ring, hole[i])) return c;
+         return 0;
+       }
+
+       function ringContains(ring, point) {
+         var x = point[0], y = point[1], contains = -1;
+         for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) {
+           var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1];
+           if (segmentContains(pi, pj, point)) return 0;
+           if (((yi > y) !== (yj > y)) && ((x < (xj - xi) * (y - yi) / (yj - yi) + xi))) contains = -contains;
+         }
+         return contains;
+       }
+
+       function segmentContains(a, b, c) {
+         var i; return collinear(a, b, c) && within(a[i = +(a[0] === b[0])], c[i], b[i]);
+       }
+
+       function collinear(a, b, c) {
+         return (b[0] - a[0]) * (c[1] - a[1]) === (c[0] - a[0]) * (b[1] - a[1]);
+       }
+
+       function within(p, q, r) {
+         return p <= q && q <= r || r <= q && q <= p;
+       }
+
+       function noop$3() {}
+
+       var cases = [
+         [],
+         [[[1.0, 1.5], [0.5, 1.0]]],
+         [[[1.5, 1.0], [1.0, 1.5]]],
+         [[[1.5, 1.0], [0.5, 1.0]]],
+         [[[1.0, 0.5], [1.5, 1.0]]],
+         [[[1.0, 1.5], [0.5, 1.0]], [[1.0, 0.5], [1.5, 1.0]]],
+         [[[1.0, 0.5], [1.0, 1.5]]],
+         [[[1.0, 0.5], [0.5, 1.0]]],
+         [[[0.5, 1.0], [1.0, 0.5]]],
+         [[[1.0, 1.5], [1.0, 0.5]]],
+         [[[0.5, 1.0], [1.0, 0.5]], [[1.5, 1.0], [1.0, 1.5]]],
+         [[[1.5, 1.0], [1.0, 0.5]]],
+         [[[0.5, 1.0], [1.5, 1.0]]],
+         [[[1.0, 1.5], [1.5, 1.0]]],
+         [[[0.5, 1.0], [1.0, 1.5]]],
+         []
+       ];
+
+       function contours() {
+         var dx = 1,
+             dy = 1,
+             threshold = thresholdSturges,
+             smooth = smoothLinear;
+
+         function contours(values) {
+           var tz = threshold(values);
+
+           // Convert number of thresholds into uniform thresholds.
+           if (!Array.isArray(tz)) {
+             var domain = extent(values), start = domain[0], stop = domain[1];
+             tz = tickStep(start, stop, tz);
+             tz = d3_range(Math.floor(start / tz) * tz, Math.floor(stop / tz) * tz, tz);
+           } else {
+             tz = tz.slice().sort(ascending$1);
+           }
+
+           return tz.map(function(value) {
+             return contour(values, value);
+           });
+         }
+
+         // Accumulate, smooth contour rings, assign holes to exterior rings.
+         // Based on https://github.com/mbostock/shapefile/blob/v0.6.2/shp/polygon.js
+         function contour(values, value) {
+           var polygons = [],
+               holes = [];
+
+           isorings(values, value, function(ring) {
+             smooth(ring, values, value);
+             if (area(ring) > 0) polygons.push([ring]);
+             else holes.push(ring);
+           });
+
+           holes.forEach(function(hole) {
+             for (var i = 0, n = polygons.length, polygon; i < n; ++i) {
+               if (contains$1((polygon = polygons[i])[0], hole) !== -1) {
+                 polygon.push(hole);
+                 return;
+               }
+             }
+           });
+
+           return {
+             type: "MultiPolygon",
+             value: value,
+             coordinates: polygons
+           };
+         }
+
+         // Marching squares with isolines stitched into rings.
+         // Based on https://github.com/topojson/topojson-client/blob/v3.0.0/src/stitch.js
+         function isorings(values, value, callback) {
+           var fragmentByStart = new Array,
+               fragmentByEnd = new Array,
+               x, y, t0, t1, t2, t3;
+
+           // Special case for the first row (y = -1, t2 = t3 = 0).
+           x = y = -1;
+           t1 = values[0] >= value;
+           cases[t1 << 1].forEach(stitch);
+           while (++x < dx - 1) {
+             t0 = t1, t1 = values[x + 1] >= value;
+             cases[t0 | t1 << 1].forEach(stitch);
+           }
+           cases[t1 << 0].forEach(stitch);
+
+           // General case for the intermediate rows.
+           while (++y < dy - 1) {
+             x = -1;
+             t1 = values[y * dx + dx] >= value;
+             t2 = values[y * dx] >= value;
+             cases[t1 << 1 | t2 << 2].forEach(stitch);
+             while (++x < dx - 1) {
+               t0 = t1, t1 = values[y * dx + dx + x + 1] >= value;
+               t3 = t2, t2 = values[y * dx + x + 1] >= value;
+               cases[t0 | t1 << 1 | t2 << 2 | t3 << 3].forEach(stitch);
+             }
+             cases[t1 | t2 << 3].forEach(stitch);
+           }
+
+           // Special case for the last row (y = dy - 1, t0 = t1 = 0).
+           x = -1;
+           t2 = values[y * dx] >= value;
+           cases[t2 << 2].forEach(stitch);
+           while (++x < dx - 1) {
+             t3 = t2, t2 = values[y * dx + x + 1] >= value;
+             cases[t2 << 2 | t3 << 3].forEach(stitch);
+           }
+           cases[t2 << 3].forEach(stitch);
+
+           function stitch(line) {
+             var start = [line[0][0] + x, line[0][1] + y],
+                 end = [line[1][0] + x, line[1][1] + y],
+                 startIndex = index(start),
+                 endIndex = index(end),
+                 f, g;
+             if (f = fragmentByEnd[startIndex]) {
+               if (g = fragmentByStart[endIndex]) {
+                 delete fragmentByEnd[f.end];
+                 delete fragmentByStart[g.start];
+                 if (f === g) {
+                   f.ring.push(end);
+                   callback(f.ring);
+                 } else {
+                   fragmentByStart[f.start] = fragmentByEnd[g.end] = {start: f.start, end: g.end, ring: f.ring.concat(g.ring)};
+                 }
+               } else {
+                 delete fragmentByEnd[f.end];
+                 f.ring.push(end);
+                 fragmentByEnd[f.end = endIndex] = f;
+               }
+             } else if (f = fragmentByStart[endIndex]) {
+               if (g = fragmentByEnd[startIndex]) {
+                 delete fragmentByStart[f.start];
+                 delete fragmentByEnd[g.end];
+                 if (f === g) {
+                   f.ring.push(end);
+                   callback(f.ring);
+                 } else {
+                   fragmentByStart[g.start] = fragmentByEnd[f.end] = {start: g.start, end: f.end, ring: g.ring.concat(f.ring)};
+                 }
+               } else {
+                 delete fragmentByStart[f.start];
+                 f.ring.unshift(start);
+                 fragmentByStart[f.start = startIndex] = f;
+               }
+             } else {
+               fragmentByStart[startIndex] = fragmentByEnd[endIndex] = {start: startIndex, end: endIndex, ring: [start, end]};
+             }
+           }
+         }
+
+         function index(point) {
+           return point[0] * 2 + point[1] * (dx + 1) * 4;
+         }
+
+         function smoothLinear(ring, values, value) {
+           ring.forEach(function(point) {
+             var x = point[0],
+                 y = point[1],
+                 xt = x | 0,
+                 yt = y | 0,
+                 v0,
+                 v1 = values[yt * dx + xt];
+             if (x > 0 && x < dx && xt === x) {
+               v0 = values[yt * dx + xt - 1];
+               point[0] = x + (value - v0) / (v1 - v0) - 0.5;
+             }
+             if (y > 0 && y < dy && yt === y) {
+               v0 = values[(yt - 1) * dx + xt];
+               point[1] = y + (value - v0) / (v1 - v0) - 0.5;
+             }
+           });
+         }
+
+         contours.contour = contour;
+
+         contours.size = function(_) {
+           if (!arguments.length) return [dx, dy];
+           var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);
+           if (!(_0 > 0) || !(_1 > 0)) throw new Error("invalid size");
+           return dx = _0, dy = _1, contours;
+         };
+
+         contours.thresholds = function(_) {
+           return arguments.length ? (threshold = typeof _ === "function" ? _ : Array.isArray(_) ? constant$6(slice$7.call(_)) : constant$6(_), contours) : threshold;
+         };
+
+         contours.smooth = function(_) {
+           return arguments.length ? (smooth = _ ? smoothLinear : noop$3, contours) : smooth === smoothLinear;
+         };
+
+         return contours;
+       }
+
+       // TODO Optimize edge cases.
+       // TODO Optimize index calculation.
+       // TODO Optimize arguments.
+       function blurX(source, target, r) {
+         var n = source.width,
+             m = source.height,
+             w = (r << 1) + 1;
+         for (var j = 0; j < m; ++j) {
+           for (var i = 0, sr = 0; i < n + r; ++i) {
+             if (i < n) {
+               sr += source.data[i + j * n];
+             }
+             if (i >= r) {
+               if (i >= w) {
+                 sr -= source.data[i - w + j * n];
+               }
+               target.data[i - r + j * n] = sr / Math.min(i + 1, n - 1 + w - i, w);
+             }
+           }
+         }
+       }
+
+       // TODO Optimize edge cases.
+       // TODO Optimize index calculation.
+       // TODO Optimize arguments.
+       function blurY(source, target, r) {
+         var n = source.width,
+             m = source.height,
+             w = (r << 1) + 1;
+         for (var i = 0; i < n; ++i) {
+           for (var j = 0, sr = 0; j < m + r; ++j) {
+             if (j < m) {
+               sr += source.data[i + j * n];
+             }
+             if (j >= r) {
+               if (j >= w) {
+                 sr -= source.data[i + (j - w) * n];
+               }
+               target.data[i + (j - r) * n] = sr / Math.min(j + 1, m - 1 + w - j, w);
+             }
+           }
+         }
+       }
+
+       function defaultX(d) {
+         return d[0];
+       }
+
+       function defaultY(d) {
+         return d[1];
+       }
+
+       function defaultWeight() {
+         return 1;
+       }
+
+       function density() {
+         var x = defaultX,
+             y = defaultY,
+             weight = defaultWeight,
+             dx = 960,
+             dy = 500,
+             r = 20, // blur radius
+             k = 2, // log2(grid cell size)
+             o = r * 3, // grid offset, to pad for blur
+             n = (dx + o * 2) >> k, // grid width
+             m = (dy + o * 2) >> k, // grid height
+             threshold = constant$6(20);
+
+         function density(data) {
+           var values0 = new Float32Array(n * m),
+               values1 = new Float32Array(n * m);
+
+           data.forEach(function(d, i, data) {
+             var xi = (+x(d, i, data) + o) >> k,
+                 yi = (+y(d, i, data) + o) >> k,
+                 wi = +weight(d, i, data);
+             if (xi >= 0 && xi < n && yi >= 0 && yi < m) {
+               values0[xi + yi * n] += wi;
+             }
+           });
+
+           // TODO Optimize.
+           blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);
+           blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);
+           blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);
+           blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);
+           blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);
+           blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);
+
+           var tz = threshold(values0);
+
+           // Convert number of thresholds into uniform thresholds.
+           if (!Array.isArray(tz)) {
+             var stop = max$2(values0);
+             tz = tickStep(0, stop, tz);
+             tz = d3_range(0, Math.floor(stop / tz) * tz, tz);
+             tz.shift();
+           }
+
+           return contours()
+               .thresholds(tz)
+               .size([n, m])
+             (values0)
+               .map(transform);
+         }
+
+         function transform(geometry) {
+           geometry.value *= Math.pow(2, -2 * k); // Density in points per square pixel.
+           geometry.coordinates.forEach(transformPolygon);
+           return geometry;
+         }
+
+         function transformPolygon(coordinates) {
+           coordinates.forEach(transformRing);
+         }
+
+         function transformRing(coordinates) {
+           coordinates.forEach(transformPoint);
+         }
+
+         // TODO Optimize.
+         function transformPoint(coordinates) {
+           coordinates[0] = coordinates[0] * Math.pow(2, k) - o;
+           coordinates[1] = coordinates[1] * Math.pow(2, k) - o;
+         }
+
+         function resize() {
+           o = r * 3;
+           n = (dx + o * 2) >> k;
+           m = (dy + o * 2) >> k;
+           return density;
+         }
+
+         density.x = function(_) {
+           return arguments.length ? (x = typeof _ === "function" ? _ : constant$6(+_), density) : x;
+         };
+
+         density.y = function(_) {
+           return arguments.length ? (y = typeof _ === "function" ? _ : constant$6(+_), density) : y;
+         };
+
+         density.weight = function(_) {
+           return arguments.length ? (weight = typeof _ === "function" ? _ : constant$6(+_), density) : weight;
+         };
+
+         density.size = function(_) {
+           if (!arguments.length) return [dx, dy];
+           var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);
+           if (!(_0 >= 0) && !(_0 >= 0)) throw new Error("invalid size");
+           return dx = _0, dy = _1, resize();
+         };
+
+         density.cellSize = function(_) {
+           if (!arguments.length) return 1 << k;
+           if (!((_ = +_) >= 1)) throw new Error("invalid cell size");
+           return k = Math.floor(Math.log(_) / Math.LN2), resize();
+         };
+
+         density.thresholds = function(_) {
+           return arguments.length ? (threshold = typeof _ === "function" ? _ : Array.isArray(_) ? constant$6(slice$7.call(_)) : constant$6(_), density) : threshold;
+         };
+
+         density.bandwidth = function(_) {
+           if (!arguments.length) return Math.sqrt(r * (r + 1));
+           if (!((_ = +_) >= 0)) throw new Error("invalid bandwidth");
+           return r = Math.round((Math.sqrt(4 * _ * _ + 1) - 1) / 2), resize();
+         };
+
+         return density;
+       }
+
+       var EOL = {},
+           EOF = {},
+           QUOTE = 34,
+           NEWLINE = 10,
+           RETURN = 13;
+
+       function objectConverter(columns) {
+         return new Function("d", "return {" + columns.map(function(name, i) {
+           return JSON.stringify(name) + ": d[" + i + "]";
+         }).join(",") + "}");
+       }
+
+       function customConverter(columns, f) {
+         var object = objectConverter(columns);
+         return function(row, i) {
+           return f(object(row), i, columns);
+         };
+       }
+
+       // Compute unique columns in order of discovery.
+       function inferColumns(rows) {
+         var columnSet = Object.create(null),
+             columns = [];
+
+         rows.forEach(function(row) {
+           for (var column in row) {
+             if (!(column in columnSet)) {
+               columns.push(columnSet[column] = column);
+             }
+           }
+         });
+
+         return columns;
+       }
+
+       function pad(value, width) {
+         var s = value + "", length = s.length;
+         return length < width ? new Array(width - length + 1).join(0) + s : s;
+       }
+
+       function formatYear(year) {
+         return year < 0 ? "-" + pad(-year, 6)
+           : year > 9999 ? "+" + pad(year, 6)
+           : pad(year, 4);
+       }
+
+       function formatDate(date) {
+         var hours = date.getUTCHours(),
+             minutes = date.getUTCMinutes(),
+             seconds = date.getUTCSeconds(),
+             milliseconds = date.getUTCMilliseconds();
+         return isNaN(date) ? "Invalid Date"
+             : formatYear(date.getUTCFullYear()) + "-" + pad(date.getUTCMonth() + 1, 2) + "-" + pad(date.getUTCDate(), 2)
+             + (milliseconds ? "T" + pad(hours, 2) + ":" + pad(minutes, 2) + ":" + pad(seconds, 2) + "." + pad(milliseconds, 3) + "Z"
+             : seconds ? "T" + pad(hours, 2) + ":" + pad(minutes, 2) + ":" + pad(seconds, 2) + "Z"
+             : minutes || hours ? "T" + pad(hours, 2) + ":" + pad(minutes, 2) + "Z"
+             : "");
+       }
+
+       function dsvFormat(delimiter) {
+         var reFormat = new RegExp("[\"" + delimiter + "\n\r]"),
+             DELIMITER = delimiter.charCodeAt(0);
+
+         function parse(text, f) {
+           var convert, columns, rows = parseRows(text, function(row, i) {
+             if (convert) return convert(row, i - 1);
+             columns = row, convert = f ? customConverter(row, f) : objectConverter(row);
+           });
+           rows.columns = columns || [];
+           return rows;
+         }
+
+         function parseRows(text, f) {
+           var rows = [], // output rows
+               N = text.length,
+               I = 0, // current character index
+               n = 0, // current line number
+               t, // current token
+               eof = N <= 0, // current token followed by EOF?
+               eol = false; // current token followed by EOL?
+
+           // Strip the trailing newline.
+           if (text.charCodeAt(N - 1) === NEWLINE) --N;
+           if (text.charCodeAt(N - 1) === RETURN) --N;
+
+           function token() {
+             if (eof) return EOF;
+             if (eol) return eol = false, EOL;
+
+             // Unescape quotes.
+             var i, j = I, c;
+             if (text.charCodeAt(j) === QUOTE) {
+               while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE);
+               if ((i = I) >= N) eof = true;
+               else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true;
+               else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }
+               return text.slice(j + 1, i - 1).replace(/""/g, "\"");
+             }
+
+             // Find next delimiter or newline.
+             while (I < N) {
+               if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true;
+               else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }
+               else if (c !== DELIMITER) continue;
+               return text.slice(j, i);
+             }
+
+             // Return last token before EOF.
+             return eof = true, text.slice(j, N);
+           }
+
+           while ((t = token()) !== EOF) {
+             var row = [];
+             while (t !== EOL && t !== EOF) row.push(t), t = token();
+             if (f && (row = f(row, n++)) == null) continue;
+             rows.push(row);
+           }
+
+           return rows;
+         }
+
+         function preformatBody(rows, columns) {
+           return rows.map(function(row) {
+             return columns.map(function(column) {
+               return formatValue(row[column]);
+             }).join(delimiter);
+           });
+         }
+
+         function format(rows, columns) {
+           if (columns == null) columns = inferColumns(rows);
+           return [columns.map(formatValue).join(delimiter)].concat(preformatBody(rows, columns)).join("\n");
+         }
+
+         function formatBody(rows, columns) {
+           if (columns == null) columns = inferColumns(rows);
+           return preformatBody(rows, columns).join("\n");
+         }
+
+         function formatRows(rows) {
+           return rows.map(formatRow).join("\n");
+         }
+
+         function formatRow(row) {
+           return row.map(formatValue).join(delimiter);
+         }
+
+         function formatValue(value) {
+           return value == null ? ""
+               : value instanceof Date ? formatDate(value)
+               : reFormat.test(value += "") ? "\"" + value.replace(/"/g, "\"\"") + "\""
+               : value;
+         }
+
+         return {
+           parse: parse,
+           parseRows: parseRows,
+           format: format,
+           formatBody: formatBody,
+           formatRows: formatRows
+         };
+       }
+
+       var csv = dsvFormat(",");
+
+       var csvParse = csv.parse;
+       var csvParseRows = csv.parseRows;
+       var csvFormat = csv.format;
+       var csvFormatBody = csv.formatBody;
+       var csvFormatRows = csv.formatRows;
+
+       var tsv = dsvFormat("\t");
+
+       var tsvParse = tsv.parse;
+       var tsvParseRows = tsv.parseRows;
+       var tsvFormat = tsv.format;
+       var tsvFormatBody = tsv.formatBody;
+       var tsvFormatRows = tsv.formatRows;
+
+       function autoType(object) {
+         for (var key in object) {
+           var value = object[key].trim(), number;
+           if (!value) value = null;
+           else if (value === "true") value = true;
+           else if (value === "false") value = false;
+           else if (value === "NaN") value = NaN;
+           else if (!isNaN(number = +value)) value = number;
+           else if (/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/.test(value)) value = new Date(value);
+           else continue;
+           object[key] = value;
+         }
+         return object;
+       }
+
+       function responseBlob(response) {
+         if (!response.ok) throw new Error(response.status + " " + response.statusText);
+         return response.blob();
+       }
+
+       function blob(input, init) {
+         return fetch(input, init).then(responseBlob);
+       }
+
+       function responseArrayBuffer(response) {
+         if (!response.ok) throw new Error(response.status + " " + response.statusText);
+         return response.arrayBuffer();
+       }
+
+       function buffer(input, init) {
+         return fetch(input, init).then(responseArrayBuffer);
+       }
+
+       function responseText(response) {
+         if (!response.ok) throw new Error(response.status + " " + response.statusText);
+         return response.text();
+       }
+
+       function d3_text(input, init) {
+         return fetch(input, init).then(responseText);
+       }
+
+       function dsvParse(parse) {
+         return function(input, init, row) {
+           if (arguments.length === 2 && typeof init === "function") row = init, init = undefined;
+           return d3_text(input, init).then(function(response) {
+             return parse(response, row);
+           });
+         };
+       }
+
+       function dsv(delimiter, input, init, row) {
+         if (arguments.length === 3 && typeof init === "function") row = init, init = undefined;
+         var format = dsvFormat(delimiter);
+         return d3_text(input, init).then(function(response) {
+           return format.parse(response, row);
+         });
+       }
+
+       var csv$1 = dsvParse(csvParse);
+       var tsv$1 = dsvParse(tsvParse);
+
+       function image(input, init) {
+         return new Promise(function(resolve, reject) {
+           var image = new Image;
+           for (var key in init) image[key] = init[key];
+           image.onerror = reject;
+           image.onload = function() { resolve(image); };
+           image.src = input;
+         });
+       }
+
+       function responseJson(response) {
+         if (!response.ok) throw new Error(response.status + " " + response.statusText);
+         return response.json();
+       }
+
+       function d3_json(input, init) {
+         return fetch(input, init).then(responseJson);
+       }
+
+       function parser(type) {
+         return function(input, init)  {
+           return d3_text(input, init).then(function(text) {
+             return (new DOMParser).parseFromString(text, type);
+           });
+         };
+       }
+
+       var d3_xml = parser("application/xml");
+
+       var html = parser("text/html");
+
+       var svg = parser("image/svg+xml");
+
+       function center$1(x, y) {
+         var nodes;
+
+         if (x == null) x = 0;
+         if (y == null) y = 0;
+
+         function force() {
+           var i,
+               n = nodes.length,
+               node,
+               sx = 0,
+               sy = 0;
+
+           for (i = 0; i < n; ++i) {
+             node = nodes[i], sx += node.x, sy += node.y;
+           }
+
+           for (sx = sx / n - x, sy = sy / n - y, i = 0; i < n; ++i) {
+             node = nodes[i], node.x -= sx, node.y -= sy;
+           }
+         }
+
+         force.initialize = function(_) {
+           nodes = _;
+         };
+
+         force.x = function(_) {
+           return arguments.length ? (x = +_, force) : x;
+         };
+
+         force.y = function(_) {
+           return arguments.length ? (y = +_, force) : y;
+         };
+
+         return force;
+       }
+
+       function constant$7(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       function jiggle() {
+         return (Math.random() - 0.5) * 1e-6;
+       }
+
+       function tree_add(d) {
+         var x = +this._x.call(null, d),
+             y = +this._y.call(null, d);
+         return add(this.cover(x, y), x, y, d);
+       }
+
+       function add(tree, x, y, d) {
+         if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points
+
+         var parent,
+             node = tree._root,
+             leaf = {data: d},
+             x0 = tree._x0,
+             y0 = tree._y0,
+             x1 = tree._x1,
+             y1 = tree._y1,
+             xm,
+             ym,
+             xp,
+             yp,
+             right,
+             bottom,
+             i,
+             j;
+
+         // If the tree is empty, initialize the root as a leaf.
+         if (!node) return tree._root = leaf, tree;
+
+         // Find the existing leaf for the new point, or add it.
+         while (node.length) {
+           if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;
+           if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;
+           if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;
+         }
+
+         // Is the new point is exactly coincident with the existing point?
+         xp = +tree._x.call(null, node.data);
+         yp = +tree._y.call(null, node.data);
+         if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;
+
+         // Otherwise, split the leaf node until the old and new point are separated.
+         do {
+           parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);
+           if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;
+           if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;
+         } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));
+         return parent[j] = node, parent[i] = leaf, tree;
+       }
+
+       function addAll(data) {
+         var d, i, n = data.length,
+             x,
+             y,
+             xz = new Array(n),
+             yz = new Array(n),
+             x0 = Infinity,
+             y0 = Infinity,
+             x1 = -Infinity,
+             y1 = -Infinity;
+
+         // Compute the points and their extent.
+         for (i = 0; i < n; ++i) {
+           if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;
+           xz[i] = x;
+           yz[i] = y;
+           if (x < x0) x0 = x;
+           if (x > x1) x1 = x;
+           if (y < y0) y0 = y;
+           if (y > y1) y1 = y;
+         }
+
+         // If there were no (valid) points, abort.
+         if (x0 > x1 || y0 > y1) return this;
+
+         // Expand the tree to cover the new points.
+         this.cover(x0, y0).cover(x1, y1);
+
+         // Add the new points.
+         for (i = 0; i < n; ++i) {
+           add(this, xz[i], yz[i], data[i]);
+         }
+
+         return this;
+       }
+
+       function tree_cover(x, y) {
+         if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points
+
+         var x0 = this._x0,
+             y0 = this._y0,
+             x1 = this._x1,
+             y1 = this._y1;
+
+         // If the quadtree has no extent, initialize them.
+         // Integer extent are necessary so that if we later double the extent,
+         // the existing quadrant boundaries don’t change due to floating point error!
+         if (isNaN(x0)) {
+           x1 = (x0 = Math.floor(x)) + 1;
+           y1 = (y0 = Math.floor(y)) + 1;
+         }
+
+         // Otherwise, double repeatedly to cover.
+         else {
+           var z = x1 - x0,
+               node = this._root,
+               parent,
+               i;
+
+           while (x0 > x || x >= x1 || y0 > y || y >= y1) {
+             i = (y < y0) << 1 | (x < x0);
+             parent = new Array(4), parent[i] = node, node = parent, z *= 2;
+             switch (i) {
+               case 0: x1 = x0 + z, y1 = y0 + z; break;
+               case 1: x0 = x1 - z, y1 = y0 + z; break;
+               case 2: x1 = x0 + z, y0 = y1 - z; break;
+               case 3: x0 = x1 - z, y0 = y1 - z; break;
+             }
+           }
+
+           if (this._root && this._root.length) this._root = node;
+         }
+
+         this._x0 = x0;
+         this._y0 = y0;
+         this._x1 = x1;
+         this._y1 = y1;
+         return this;
+       }
+
+       function tree_data() {
+         var data = [];
+         this.visit(function(node) {
+           if (!node.length) do data.push(node.data); while (node = node.next)
+         });
+         return data;
+       }
+
+       function tree_extent(_) {
+         return arguments.length
+             ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])
+             : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];
+       }
+
+       function Quad(node, x0, y0, x1, y1) {
+         this.node = node;
+         this.x0 = x0;
+         this.y0 = y0;
+         this.x1 = x1;
+         this.y1 = y1;
+       }
+
+       function tree_find(x, y, radius) {
+         var data,
+             x0 = this._x0,
+             y0 = this._y0,
+             x1,
+             y1,
+             x2,
+             y2,
+             x3 = this._x1,
+             y3 = this._y1,
+             quads = [],
+             node = this._root,
+             q,
+             i;
+
+         if (node) quads.push(new Quad(node, x0, y0, x3, y3));
+         if (radius == null) radius = Infinity;
+         else {
+           x0 = x - radius, y0 = y - radius;
+           x3 = x + radius, y3 = y + radius;
+           radius *= radius;
+         }
+
+         while (q = quads.pop()) {
+
+           // Stop searching if this quadrant can’t contain a closer node.
+           if (!(node = q.node)
+               || (x1 = q.x0) > x3
+               || (y1 = q.y0) > y3
+               || (x2 = q.x1) < x0
+               || (y2 = q.y1) < y0) continue;
+
+           // Bisect the current quadrant.
+           if (node.length) {
+             var xm = (x1 + x2) / 2,
+                 ym = (y1 + y2) / 2;
+
+             quads.push(
+               new Quad(node[3], xm, ym, x2, y2),
+               new Quad(node[2], x1, ym, xm, y2),
+               new Quad(node[1], xm, y1, x2, ym),
+               new Quad(node[0], x1, y1, xm, ym)
+             );
+
+             // Visit the closest quadrant first.
+             if (i = (y >= ym) << 1 | (x >= xm)) {
+               q = quads[quads.length - 1];
+               quads[quads.length - 1] = quads[quads.length - 1 - i];
+               quads[quads.length - 1 - i] = q;
+             }
+           }
+
+           // Visit this point. (Visiting coincident points isn’t necessary!)
+           else {
+             var dx = x - +this._x.call(null, node.data),
+                 dy = y - +this._y.call(null, node.data),
+                 d2 = dx * dx + dy * dy;
+             if (d2 < radius) {
+               var d = Math.sqrt(radius = d2);
+               x0 = x - d, y0 = y - d;
+               x3 = x + d, y3 = y + d;
+               data = node.data;
+             }
+           }
+         }
+
+         return data;
+       }
+
+       function tree_remove(d) {
+         if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points
+
+         var parent,
+             node = this._root,
+             retainer,
+             previous,
+             next,
+             x0 = this._x0,
+             y0 = this._y0,
+             x1 = this._x1,
+             y1 = this._y1,
+             x,
+             y,
+             xm,
+             ym,
+             right,
+             bottom,
+             i,
+             j;
+
+         // If the tree is empty, initialize the root as a leaf.
+         if (!node) return this;
+
+         // Find the leaf node for the point.
+         // While descending, also retain the deepest parent with a non-removed sibling.
+         if (node.length) while (true) {
+           if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;
+           if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;
+           if (!(parent = node, node = node[i = bottom << 1 | right])) return this;
+           if (!node.length) break;
+           if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;
+         }
+
+         // Find the point to remove.
+         while (node.data !== d) if (!(previous = node, node = node.next)) return this;
+         if (next = node.next) delete node.next;
+
+         // If there are multiple coincident points, remove just the point.
+         if (previous) return (next ? previous.next = next : delete previous.next), this;
+
+         // If this is the root point, remove it.
+         if (!parent) return this._root = next, this;
+
+         // Remove this leaf.
+         next ? parent[i] = next : delete parent[i];
+
+         // If the parent now contains exactly one leaf, collapse superfluous parents.
+         if ((node = parent[0] || parent[1] || parent[2] || parent[3])
+             && node === (parent[3] || parent[2] || parent[1] || parent[0])
+             && !node.length) {
+           if (retainer) retainer[j] = node;
+           else this._root = node;
+         }
+
+         return this;
+       }
+
+       function removeAll(data) {
+         for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);
+         return this;
+       }
+
+       function tree_root() {
+         return this._root;
+       }
+
+       function tree_size() {
+         var size = 0;
+         this.visit(function(node) {
+           if (!node.length) do ++size; while (node = node.next)
+         });
+         return size;
+       }
+
+       function tree_visit(callback) {
+         var quads = [], q, node = this._root, child, x0, y0, x1, y1;
+         if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));
+         while (q = quads.pop()) {
+           if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {
+             var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;
+             if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));
+             if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));
+             if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));
+             if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));
+           }
+         }
+         return this;
+       }
+
+       function tree_visitAfter(callback) {
+         var quads = [], next = [], q;
+         if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));
+         while (q = quads.pop()) {
+           var node = q.node;
+           if (node.length) {
+             var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;
+             if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));
+             if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));
+             if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));
+             if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));
+           }
+           next.push(q);
+         }
+         while (q = next.pop()) {
+           callback(q.node, q.x0, q.y0, q.x1, q.y1);
+         }
+         return this;
+       }
+
+       function defaultX$1(d) {
+         return d[0];
+       }
+
+       function tree_x(_) {
+         return arguments.length ? (this._x = _, this) : this._x;
+       }
+
+       function defaultY$1(d) {
+         return d[1];
+       }
+
+       function tree_y(_) {
+         return arguments.length ? (this._y = _, this) : this._y;
+       }
+
+       function quadtree(nodes, x, y) {
+         var tree = new Quadtree(x == null ? defaultX$1 : x, y == null ? defaultY$1 : y, NaN, NaN, NaN, NaN);
+         return nodes == null ? tree : tree.addAll(nodes);
+       }
+
+       function Quadtree(x, y, x0, y0, x1, y1) {
+         this._x = x;
+         this._y = y;
+         this._x0 = x0;
+         this._y0 = y0;
+         this._x1 = x1;
+         this._y1 = y1;
+         this._root = undefined;
+       }
+
+       function leaf_copy(leaf) {
+         var copy = {data: leaf.data}, next = copy;
+         while (leaf = leaf.next) next = next.next = {data: leaf.data};
+         return copy;
+       }
+
+       var treeProto = quadtree.prototype = Quadtree.prototype;
+
+       treeProto.copy = function() {
+         var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),
+             node = this._root,
+             nodes,
+             child;
+
+         if (!node) return copy;
+
+         if (!node.length) return copy._root = leaf_copy(node), copy;
+
+         nodes = [{source: node, target: copy._root = new Array(4)}];
+         while (node = nodes.pop()) {
+           for (var i = 0; i < 4; ++i) {
+             if (child = node.source[i]) {
+               if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});
+               else node.target[i] = leaf_copy(child);
+             }
+           }
+         }
+
+         return copy;
+       };
+
+       treeProto.add = tree_add;
+       treeProto.addAll = addAll;
+       treeProto.cover = tree_cover;
+       treeProto.data = tree_data;
+       treeProto.extent = tree_extent;
+       treeProto.find = tree_find;
+       treeProto.remove = tree_remove;
+       treeProto.removeAll = removeAll;
+       treeProto.root = tree_root;
+       treeProto.size = tree_size;
+       treeProto.visit = tree_visit;
+       treeProto.visitAfter = tree_visitAfter;
+       treeProto.x = tree_x;
+       treeProto.y = tree_y;
+
+       function x(d) {
+         return d.x + d.vx;
+       }
+
+       function y(d) {
+         return d.y + d.vy;
+       }
+
+       function collide(radius) {
+         var nodes,
+             radii,
+             strength = 1,
+             iterations = 1;
+
+         if (typeof radius !== "function") radius = constant$7(radius == null ? 1 : +radius);
+
+         function force() {
+           var i, n = nodes.length,
+               tree,
+               node,
+               xi,
+               yi,
+               ri,
+               ri2;
+
+           for (var k = 0; k < iterations; ++k) {
+             tree = quadtree(nodes, x, y).visitAfter(prepare);
+             for (i = 0; i < n; ++i) {
+               node = nodes[i];
+               ri = radii[node.index], ri2 = ri * ri;
+               xi = node.x + node.vx;
+               yi = node.y + node.vy;
+               tree.visit(apply);
+             }
+           }
+
+           function apply(quad, x0, y0, x1, y1) {
+             var data = quad.data, rj = quad.r, r = ri + rj;
+             if (data) {
+               if (data.index > node.index) {
+                 var x = xi - data.x - data.vx,
+                     y = yi - data.y - data.vy,
+                     l = x * x + y * y;
+                 if (l < r * r) {
+                   if (x === 0) x = jiggle(), l += x * x;
+                   if (y === 0) y = jiggle(), l += y * y;
+                   l = (r - (l = Math.sqrt(l))) / l * strength;
+                   node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));
+                   node.vy += (y *= l) * r;
+                   data.vx -= x * (r = 1 - r);
+                   data.vy -= y * r;
+                 }
+               }
+               return;
+             }
+             return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;
+           }
+         }
+
+         function prepare(quad) {
+           if (quad.data) return quad.r = radii[quad.data.index];
+           for (var i = quad.r = 0; i < 4; ++i) {
+             if (quad[i] && quad[i].r > quad.r) {
+               quad.r = quad[i].r;
+             }
+           }
+         }
+
+         function initialize() {
+           if (!nodes) return;
+           var i, n = nodes.length, node;
+           radii = new Array(n);
+           for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);
+         }
+
+         force.initialize = function(_) {
+           nodes = _;
+           initialize();
+         };
+
+         force.iterations = function(_) {
+           return arguments.length ? (iterations = +_, force) : iterations;
+         };
+
+         force.strength = function(_) {
+           return arguments.length ? (strength = +_, force) : strength;
+         };
+
+         force.radius = function(_) {
+           return arguments.length ? (radius = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : radius;
+         };
+
+         return force;
+       }
+
+       function index(d) {
+         return d.index;
+       }
+
+       function find(nodeById, nodeId) {
+         var node = nodeById.get(nodeId);
+         if (!node) throw new Error("missing: " + nodeId);
+         return node;
+       }
+
+       function link(links) {
+         var id = index,
+             strength = defaultStrength,
+             strengths,
+             distance = constant$7(30),
+             distances,
+             nodes,
+             count,
+             bias,
+             iterations = 1;
+
+         if (links == null) links = [];
+
+         function defaultStrength(link) {
+           return 1 / Math.min(count[link.source.index], count[link.target.index]);
+         }
+
+         function force(alpha) {
+           for (var k = 0, n = links.length; k < iterations; ++k) {
+             for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {
+               link = links[i], source = link.source, target = link.target;
+               x = target.x + target.vx - source.x - source.vx || jiggle();
+               y = target.y + target.vy - source.y - source.vy || jiggle();
+               l = Math.sqrt(x * x + y * y);
+               l = (l - distances[i]) / l * alpha * strengths[i];
+               x *= l, y *= l;
+               target.vx -= x * (b = bias[i]);
+               target.vy -= y * b;
+               source.vx += x * (b = 1 - b);
+               source.vy += y * b;
+             }
+           }
+         }
+
+         function initialize() {
+           if (!nodes) return;
+
+           var i,
+               n = nodes.length,
+               m = links.length,
+               nodeById = map$3(nodes, id),
+               link;
+
+           for (i = 0, count = new Array(n); i < m; ++i) {
+             link = links[i], link.index = i;
+             if (typeof link.source !== "object") link.source = find(nodeById, link.source);
+             if (typeof link.target !== "object") link.target = find(nodeById, link.target);
+             count[link.source.index] = (count[link.source.index] || 0) + 1;
+             count[link.target.index] = (count[link.target.index] || 0) + 1;
+           }
+
+           for (i = 0, bias = new Array(m); i < m; ++i) {
+             link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);
+           }
+
+           strengths = new Array(m), initializeStrength();
+           distances = new Array(m), initializeDistance();
+         }
+
+         function initializeStrength() {
+           if (!nodes) return;
+
+           for (var i = 0, n = links.length; i < n; ++i) {
+             strengths[i] = +strength(links[i], i, links);
+           }
+         }
+
+         function initializeDistance() {
+           if (!nodes) return;
+
+           for (var i = 0, n = links.length; i < n; ++i) {
+             distances[i] = +distance(links[i], i, links);
+           }
+         }
+
+         force.initialize = function(_) {
+           nodes = _;
+           initialize();
+         };
+
+         force.links = function(_) {
+           return arguments.length ? (links = _, initialize(), force) : links;
+         };
+
+         force.id = function(_) {
+           return arguments.length ? (id = _, force) : id;
+         };
+
+         force.iterations = function(_) {
+           return arguments.length ? (iterations = +_, force) : iterations;
+         };
+
+         force.strength = function(_) {
+           return arguments.length ? (strength = typeof _ === "function" ? _ : constant$7(+_), initializeStrength(), force) : strength;
+         };
+
+         force.distance = function(_) {
+           return arguments.length ? (distance = typeof _ === "function" ? _ : constant$7(+_), initializeDistance(), force) : distance;
+         };
+
+         return force;
+       }
+
+       function x$1(d) {
+         return d.x;
+       }
+
+       function y$1(d) {
+         return d.y;
+       }
+
+       var initialRadius = 10,
+           initialAngle = Math.PI * (3 - Math.sqrt(5));
+
+       function simulation(nodes) {
+         var simulation,
+             alpha = 1,
+             alphaMin = 0.001,
+             alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),
+             alphaTarget = 0,
+             velocityDecay = 0.6,
+             forces = map$3(),
+             stepper = timer(step),
+             event = dispatch("tick", "end");
+
+         if (nodes == null) nodes = [];
+
+         function step() {
+           tick();
+           event.call("tick", simulation);
+           if (alpha < alphaMin) {
+             stepper.stop();
+             event.call("end", simulation);
+           }
+         }
+
+         function tick(iterations) {
+           var i, n = nodes.length, node;
+
+           if (iterations === undefined) iterations = 1;
+
+           for (var k = 0; k < iterations; ++k) {
+             alpha += (alphaTarget - alpha) * alphaDecay;
+
+             forces.each(function (force) {
+               force(alpha);
+             });
+
+             for (i = 0; i < n; ++i) {
+               node = nodes[i];
+               if (node.fx == null) node.x += node.vx *= velocityDecay;
+               else node.x = node.fx, node.vx = 0;
+               if (node.fy == null) node.y += node.vy *= velocityDecay;
+               else node.y = node.fy, node.vy = 0;
+             }
+           }
+
+           return simulation;
+         }
+
+         function initializeNodes() {
+           for (var i = 0, n = nodes.length, node; i < n; ++i) {
+             node = nodes[i], node.index = i;
+             if (node.fx != null) node.x = node.fx;
+             if (node.fy != null) node.y = node.fy;
+             if (isNaN(node.x) || isNaN(node.y)) {
+               var radius = initialRadius * Math.sqrt(i), angle = i * initialAngle;
+               node.x = radius * Math.cos(angle);
+               node.y = radius * Math.sin(angle);
+             }
+             if (isNaN(node.vx) || isNaN(node.vy)) {
+               node.vx = node.vy = 0;
+             }
+           }
+         }
+
+         function initializeForce(force) {
+           if (force.initialize) force.initialize(nodes);
+           return force;
+         }
+
+         initializeNodes();
+
+         return simulation = {
+           tick: tick,
+
+           restart: function() {
+             return stepper.restart(step), simulation;
+           },
+
+           stop: function() {
+             return stepper.stop(), simulation;
+           },
+
+           nodes: function(_) {
+             return arguments.length ? (nodes = _, initializeNodes(), forces.each(initializeForce), simulation) : nodes;
+           },
+
+           alpha: function(_) {
+             return arguments.length ? (alpha = +_, simulation) : alpha;
+           },
+
+           alphaMin: function(_) {
+             return arguments.length ? (alphaMin = +_, simulation) : alphaMin;
+           },
+
+           alphaDecay: function(_) {
+             return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;
+           },
+
+           alphaTarget: function(_) {
+             return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;
+           },
+
+           velocityDecay: function(_) {
+             return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;
+           },
+
+           force: function(name, _) {
+             return arguments.length > 1 ? ((_ == null ? forces.remove(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);
+           },
+
+           find: function(x, y, radius) {
+             var i = 0,
+                 n = nodes.length,
+                 dx,
+                 dy,
+                 d2,
+                 node,
+                 closest;
+
+             if (radius == null) radius = Infinity;
+             else radius *= radius;
+
+             for (i = 0; i < n; ++i) {
+               node = nodes[i];
+               dx = x - node.x;
+               dy = y - node.y;
+               d2 = dx * dx + dy * dy;
+               if (d2 < radius) closest = node, radius = d2;
+             }
+
+             return closest;
+           },
+
+           on: function(name, _) {
+             return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);
+           }
+         };
+       }
+
+       function manyBody() {
+         var nodes,
+             node,
+             alpha,
+             strength = constant$7(-30),
+             strengths,
+             distanceMin2 = 1,
+             distanceMax2 = Infinity,
+             theta2 = 0.81;
+
+         function force(_) {
+           var i, n = nodes.length, tree = quadtree(nodes, x$1, y$1).visitAfter(accumulate);
+           for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);
+         }
+
+         function initialize() {
+           if (!nodes) return;
+           var i, n = nodes.length, node;
+           strengths = new Array(n);
+           for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);
+         }
+
+         function accumulate(quad) {
+           var strength = 0, q, c, weight = 0, x, y, i;
+
+           // For internal nodes, accumulate forces from child quadrants.
+           if (quad.length) {
+             for (x = y = i = 0; i < 4; ++i) {
+               if ((q = quad[i]) && (c = Math.abs(q.value))) {
+                 strength += q.value, weight += c, x += c * q.x, y += c * q.y;
+               }
+             }
+             quad.x = x / weight;
+             quad.y = y / weight;
+           }
+
+           // For leaf nodes, accumulate forces from coincident quadrants.
+           else {
+             q = quad;
+             q.x = q.data.x;
+             q.y = q.data.y;
+             do strength += strengths[q.data.index];
+             while (q = q.next);
+           }
+
+           quad.value = strength;
+         }
+
+         function apply(quad, x1, _, x2) {
+           if (!quad.value) return true;
+
+           var x = quad.x - node.x,
+               y = quad.y - node.y,
+               w = x2 - x1,
+               l = x * x + y * y;
+
+           // Apply the Barnes-Hut approximation if possible.
+           // Limit forces for very close nodes; randomize direction if coincident.
+           if (w * w / theta2 < l) {
+             if (l < distanceMax2) {
+               if (x === 0) x = jiggle(), l += x * x;
+               if (y === 0) y = jiggle(), l += y * y;
+               if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);
+               node.vx += x * quad.value * alpha / l;
+               node.vy += y * quad.value * alpha / l;
+             }
+             return true;
+           }
+
+           // Otherwise, process points directly.
+           else if (quad.length || l >= distanceMax2) return;
+
+           // Limit forces for very close nodes; randomize direction if coincident.
+           if (quad.data !== node || quad.next) {
+             if (x === 0) x = jiggle(), l += x * x;
+             if (y === 0) y = jiggle(), l += y * y;
+             if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);
+           }
+
+           do if (quad.data !== node) {
+             w = strengths[quad.data.index] * alpha / l;
+             node.vx += x * w;
+             node.vy += y * w;
+           } while (quad = quad.next);
+         }
+
+         force.initialize = function(_) {
+           nodes = _;
+           initialize();
+         };
+
+         force.strength = function(_) {
+           return arguments.length ? (strength = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : strength;
+         };
+
+         force.distanceMin = function(_) {
+           return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);
+         };
+
+         force.distanceMax = function(_) {
+           return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);
+         };
+
+         force.theta = function(_) {
+           return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);
+         };
+
+         return force;
+       }
+
+       function radial(radius, x, y) {
+         var nodes,
+             strength = constant$7(0.1),
+             strengths,
+             radiuses;
+
+         if (typeof radius !== "function") radius = constant$7(+radius);
+         if (x == null) x = 0;
+         if (y == null) y = 0;
+
+         function force(alpha) {
+           for (var i = 0, n = nodes.length; i < n; ++i) {
+             var node = nodes[i],
+                 dx = node.x - x || 1e-6,
+                 dy = node.y - y || 1e-6,
+                 r = Math.sqrt(dx * dx + dy * dy),
+                 k = (radiuses[i] - r) * strengths[i] * alpha / r;
+             node.vx += dx * k;
+             node.vy += dy * k;
+           }
+         }
+
+         function initialize() {
+           if (!nodes) return;
+           var i, n = nodes.length;
+           strengths = new Array(n);
+           radiuses = new Array(n);
+           for (i = 0; i < n; ++i) {
+             radiuses[i] = +radius(nodes[i], i, nodes);
+             strengths[i] = isNaN(radiuses[i]) ? 0 : +strength(nodes[i], i, nodes);
+           }
+         }
+
+         force.initialize = function(_) {
+           nodes = _, initialize();
+         };
+
+         force.strength = function(_) {
+           return arguments.length ? (strength = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : strength;
+         };
+
+         force.radius = function(_) {
+           return arguments.length ? (radius = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : radius;
+         };
+
+         force.x = function(_) {
+           return arguments.length ? (x = +_, force) : x;
+         };
+
+         force.y = function(_) {
+           return arguments.length ? (y = +_, force) : y;
+         };
+
+         return force;
+       }
+
+       function x$2(x) {
+         var strength = constant$7(0.1),
+             nodes,
+             strengths,
+             xz;
+
+         if (typeof x !== "function") x = constant$7(x == null ? 0 : +x);
+
+         function force(alpha) {
+           for (var i = 0, n = nodes.length, node; i < n; ++i) {
+             node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;
+           }
+         }
+
+         function initialize() {
+           if (!nodes) return;
+           var i, n = nodes.length;
+           strengths = new Array(n);
+           xz = new Array(n);
+           for (i = 0; i < n; ++i) {
+             strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);
+           }
+         }
+
+         force.initialize = function(_) {
+           nodes = _;
+           initialize();
+         };
+
+         force.strength = function(_) {
+           return arguments.length ? (strength = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : strength;
+         };
+
+         force.x = function(_) {
+           return arguments.length ? (x = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : x;
+         };
+
+         return force;
+       }
+
+       function y$2(y) {
+         var strength = constant$7(0.1),
+             nodes,
+             strengths,
+             yz;
+
+         if (typeof y !== "function") y = constant$7(y == null ? 0 : +y);
+
+         function force(alpha) {
+           for (var i = 0, n = nodes.length, node; i < n; ++i) {
+             node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;
+           }
+         }
+
+         function initialize() {
+           if (!nodes) return;
+           var i, n = nodes.length;
+           strengths = new Array(n);
+           yz = new Array(n);
+           for (i = 0; i < n; ++i) {
+             strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);
+           }
+         }
+
+         force.initialize = function(_) {
+           nodes = _;
+           initialize();
+         };
+
+         force.strength = function(_) {
+           return arguments.length ? (strength = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : strength;
+         };
+
+         force.y = function(_) {
+           return arguments.length ? (y = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : y;
+         };
+
+         return force;
+       }
+
+       // Computes the decimal coefficient and exponent of the specified number x with
+       // significant digits p, where x is positive and p is in [1, 21] or undefined.
+       // For example, formatDecimal(1.23) returns ["123", 0].
+       function formatDecimal(x, p) {
+         if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity
+         var i, coefficient = x.slice(0, i);
+
+         // The string returned by toExponential either has the form \d\.\d+e[-+]\d+
+         // (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3).
+         return [
+           coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,
+           +x.slice(i + 1)
+         ];
+       }
+
+       function exponent$1(x) {
+         return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;
+       }
+
+       function formatGroup(grouping, thousands) {
+         return function(value, width) {
+           var i = value.length,
+               t = [],
+               j = 0,
+               g = grouping[0],
+               length = 0;
+
+           while (i > 0 && g > 0) {
+             if (length + g + 1 > width) g = Math.max(1, width - length);
+             t.push(value.substring(i -= g, i + g));
+             if ((length += g + 1) > width) break;
+             g = grouping[j = (j + 1) % grouping.length];
+           }
+
+           return t.reverse().join(thousands);
+         };
+       }
+
+       function formatNumerals(numerals) {
+         return function(value) {
+           return value.replace(/[0-9]/g, function(i) {
+             return numerals[+i];
+           });
+         };
+       }
+
+       // [[fill]align][sign][symbol][0][width][,][.precision][~][type]
+       var re = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
+
+       function formatSpecifier(specifier) {
+         return new FormatSpecifier(specifier);
+       }
+
+       formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof
+
+       function FormatSpecifier(specifier) {
+         if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);
+         var match;
+         this.fill = match[1] || " ";
+         this.align = match[2] || ">";
+         this.sign = match[3] || "-";
+         this.symbol = match[4] || "";
+         this.zero = !!match[5];
+         this.width = match[6] && +match[6];
+         this.comma = !!match[7];
+         this.precision = match[8] && +match[8].slice(1);
+         this.trim = !!match[9];
+         this.type = match[10] || "";
+       }
+
+       FormatSpecifier.prototype.toString = function() {
+         return this.fill
+             + this.align
+             + this.sign
+             + this.symbol
+             + (this.zero ? "0" : "")
+             + (this.width == null ? "" : Math.max(1, this.width | 0))
+             + (this.comma ? "," : "")
+             + (this.precision == null ? "" : "." + Math.max(0, this.precision | 0))
+             + (this.trim ? "~" : "")
+             + this.type;
+       };
+
+       // Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.
+       function formatTrim(s) {
+         out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {
+           switch (s[i]) {
+             case ".": i0 = i1 = i; break;
+             case "0": if (i0 === 0) i0 = i; i1 = i; break;
+             default: if (i0 > 0) { if (!+s[i]) break out; i0 = 0; } break;
+           }
+         }
+         return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;
+       }
+
+       var prefixExponent;
+
+       function formatPrefixAuto(x, p) {
+         var d = formatDecimal(x, p);
+         if (!d) return x + "";
+         var coefficient = d[0],
+             exponent = d[1],
+             i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,
+             n = coefficient.length;
+         return i === n ? coefficient
+             : i > n ? coefficient + new Array(i - n + 1).join("0")
+             : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i)
+             : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y!
+       }
+
+       function formatRounded(x, p) {
+         var d = formatDecimal(x, p);
+         if (!d) return x + "";
+         var coefficient = d[0],
+             exponent = d[1];
+         return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient
+             : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1)
+             : coefficient + new Array(exponent - coefficient.length + 2).join("0");
+       }
+
+       var formatTypes = {
+         "%": function(x, p) { return (x * 100).toFixed(p); },
+         "b": function(x) { return Math.round(x).toString(2); },
+         "c": function(x) { return x + ""; },
+         "d": function(x) { return Math.round(x).toString(10); },
+         "e": function(x, p) { return x.toExponential(p); },
+         "f": function(x, p) { return x.toFixed(p); },
+         "g": function(x, p) { return x.toPrecision(p); },
+         "o": function(x) { return Math.round(x).toString(8); },
+         "p": function(x, p) { return formatRounded(x * 100, p); },
+         "r": formatRounded,
+         "s": formatPrefixAuto,
+         "X": function(x) { return Math.round(x).toString(16).toUpperCase(); },
+         "x": function(x) { return Math.round(x).toString(16); }
+       };
+
+       function identity$3(x) {
+         return x;
+       }
+
+       var prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];
+
+       function formatLocale(locale) {
+         var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity$3,
+             currency = locale.currency,
+             decimal = locale.decimal,
+             numerals = locale.numerals ? formatNumerals(locale.numerals) : identity$3,
+             percent = locale.percent || "%";
+
+         function newFormat(specifier) {
+           specifier = formatSpecifier(specifier);
+
+           var fill = specifier.fill,
+               align = specifier.align,
+               sign = specifier.sign,
+               symbol = specifier.symbol,
+               zero = specifier.zero,
+               width = specifier.width,
+               comma = specifier.comma,
+               precision = specifier.precision,
+               trim = specifier.trim,
+               type = specifier.type;
+
+           // The "n" type is an alias for ",g".
+           if (type === "n") comma = true, type = "g";
+
+           // The "" type, and any invalid type, is an alias for ".12~g".
+           else if (!formatTypes[type]) precision == null && (precision = 12), trim = true, type = "g";
+
+           // If zero fill is specified, padding goes after sign and before digits.
+           if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";
+
+           // Compute the prefix and suffix.
+           // For SI-prefix, the suffix is lazily computed.
+           var prefix = symbol === "$" ? currency[0] : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "",
+               suffix = symbol === "$" ? currency[1] : /[%p]/.test(type) ? percent : "";
+
+           // What format function should we use?
+           // Is this an integer type?
+           // Can this type generate exponential notation?
+           var formatType = formatTypes[type],
+               maybeSuffix = /[defgprs%]/.test(type);
+
+           // Set the default precision if not specified,
+           // or clamp the specified precision to the supported range.
+           // For significant precision, it must be in [1, 21].
+           // For fixed precision, it must be in [0, 20].
+           precision = precision == null ? 6
+               : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))
+               : Math.max(0, Math.min(20, precision));
+
+           function format(value) {
+             var valuePrefix = prefix,
+                 valueSuffix = suffix,
+                 i, n, c;
+
+             if (type === "c") {
+               valueSuffix = formatType(value) + valueSuffix;
+               value = "";
+             } else {
+               value = +value;
+
+               // Perform the initial formatting.
+               var valueNegative = value < 0;
+               value = formatType(Math.abs(value), precision);
+
+               // Trim insignificant zeros.
+               if (trim) value = formatTrim(value);
+
+               // If a negative value rounds to zero during formatting, treat as positive.
+               if (valueNegative && +value === 0) valueNegative = false;
+
+               // Compute the prefix and suffix.
+               valuePrefix = (valueNegative ? (sign === "(" ? sign : "-") : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;
+               valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : "");
+
+               // Break the formatted value into the integer “value” part that can be
+               // grouped, and fractional or exponential “suffix” part that is not.
+               if (maybeSuffix) {
+                 i = -1, n = value.length;
+                 while (++i < n) {
+                   if (c = value.charCodeAt(i), 48 > c || c > 57) {
+                     valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;
+                     value = value.slice(0, i);
+                     break;
+                   }
+                 }
+               }
+             }
+
+             // If the fill character is not "0", grouping is applied before padding.
+             if (comma && !zero) value = group(value, Infinity);
+
+             // Compute the padding.
+             var length = valuePrefix.length + value.length + valueSuffix.length,
+                 padding = length < width ? new Array(width - length + 1).join(fill) : "";
+
+             // If the fill character is "0", grouping is applied after padding.
+             if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = "";
+
+             // Reconstruct the final output based on the desired alignment.
+             switch (align) {
+               case "<": value = valuePrefix + value + valueSuffix + padding; break;
+               case "=": value = valuePrefix + padding + value + valueSuffix; break;
+               case "^": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;
+               default: value = padding + valuePrefix + value + valueSuffix; break;
+             }
+
+             return numerals(value);
+           }
+
+           format.toString = function() {
+             return specifier + "";
+           };
+
+           return format;
+         }
+
+         function formatPrefix(specifier, value) {
+           var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)),
+               e = Math.max(-8, Math.min(8, Math.floor(exponent$1(value) / 3))) * 3,
+               k = Math.pow(10, -e),
+               prefix = prefixes[8 + e / 3];
+           return function(value) {
+             return f(k * value) + prefix;
+           };
+         }
+
+         return {
+           format: newFormat,
+           formatPrefix: formatPrefix
+         };
+       }
+
+       var locale;
+       var format;
+       var formatPrefix;
+
+       defaultLocale({
+         decimal: ".",
+         thousands: ",",
+         grouping: [3],
+         currency: ["$", ""]
+       });
+
+       function defaultLocale(definition) {
+         locale = formatLocale(definition);
+         format = locale.format;
+         formatPrefix = locale.formatPrefix;
+         return locale;
+       }
+
+       function precisionFixed(step) {
+         return Math.max(0, -exponent$1(Math.abs(step)));
+       }
+
+       function precisionPrefix(step, value) {
+         return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent$1(value) / 3))) * 3 - exponent$1(Math.abs(step)));
+       }
+
+       function precisionRound(step, max) {
+         step = Math.abs(step), max = Math.abs(max) - step;
+         return Math.max(0, exponent$1(max) - exponent$1(step)) + 1;
+       }
+
+       // Adds floating point numbers with twice the normal precision.
+       // Reference: J. R. Shewchuk, Adaptive Precision Floating-Point Arithmetic and
+       // Fast Robust Geometric Predicates, Discrete & Computational Geometry 18(3)
+       // 305–363 (1997).
+       // Code adapted from GeographicLib by Charles F. F. Karney,
+       // http://geographiclib.sourceforge.net/
+
+       function adder() {
+         return new Adder;
+       }
+
+       function Adder() {
+         this.reset();
+       }
+
+       Adder.prototype = {
+         constructor: Adder,
+         reset: function() {
+           this.s = // rounded value
+           this.t = 0; // exact error
+         },
+         add: function(y) {
+           add$1(temp, y, this.t);
+           add$1(this, temp.s, this.s);
+           if (this.s) this.t += temp.t;
+           else this.s = temp.t;
+         },
+         valueOf: function() {
+           return this.s;
+         }
+       };
+
+       var temp = new Adder;
+
+       function add$1(adder, a, b) {
+         var x = adder.s = a + b,
+             bv = x - a,
+             av = x - bv;
+         adder.t = (a - av) + (b - bv);
+       }
+
+       var epsilon$2 = 1e-6;
+       var epsilon2$1 = 1e-12;
+       var pi$3 = Math.PI;
+       var halfPi$2 = pi$3 / 2;
+       var quarterPi = pi$3 / 4;
+       var tau$3 = pi$3 * 2;
+
+       var degrees$1 = 180 / pi$3;
+       var radians = pi$3 / 180;
+
+       var abs$2 = Math.abs;
+       var atan = Math.atan;
+       var atan2 = Math.atan2;
+       var cos$1 = Math.cos;
+       var ceil = Math.ceil;
+       var exp = Math.exp;
+       var log = Math.log;
+       var pow = Math.pow;
+       var sin$1 = Math.sin;
+       var sign$2 = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };
+       var sqrt = Math.sqrt;
+       var tan = Math.tan;
+
+       function acos(x) {
+         return x > 1 ? 0 : x < -1 ? pi$3 : Math.acos(x);
+       }
+
+       function asin(x) {
+         return x > 1 ? halfPi$2 : x < -1 ? -halfPi$2 : Math.asin(x);
+       }
+
+       function haversin(x) {
+         return (x = sin$1(x / 2)) * x;
+       }
+
+       function noop$4() {}
+
+       function streamGeometry(geometry, stream) {
+         if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {
+           streamGeometryType[geometry.type](geometry, stream);
+         }
+       }
+
+       var streamObjectType = {
+         Feature: function(object, stream) {
+           streamGeometry(object.geometry, stream);
+         },
+         FeatureCollection: function(object, stream) {
+           var features = object.features, i = -1, n = features.length;
+           while (++i < n) streamGeometry(features[i].geometry, stream);
+         }
+       };
+
+       var streamGeometryType = {
+         Sphere: function(object, stream) {
+           stream.sphere();
+         },
+         Point: function(object, stream) {
+           object = object.coordinates;
+           stream.point(object[0], object[1], object[2]);
+         },
+         MultiPoint: function(object, stream) {
+           var coordinates = object.coordinates, i = -1, n = coordinates.length;
+           while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);
+         },
+         LineString: function(object, stream) {
+           streamLine(object.coordinates, stream, 0);
+         },
+         MultiLineString: function(object, stream) {
+           var coordinates = object.coordinates, i = -1, n = coordinates.length;
+           while (++i < n) streamLine(coordinates[i], stream, 0);
+         },
+         Polygon: function(object, stream) {
+           streamPolygon(object.coordinates, stream);
+         },
+         MultiPolygon: function(object, stream) {
+           var coordinates = object.coordinates, i = -1, n = coordinates.length;
+           while (++i < n) streamPolygon(coordinates[i], stream);
+         },
+         GeometryCollection: function(object, stream) {
+           var geometries = object.geometries, i = -1, n = geometries.length;
+           while (++i < n) streamGeometry(geometries[i], stream);
+         }
+       };
+
+       function streamLine(coordinates, stream, closed) {
+         var i = -1, n = coordinates.length - closed, coordinate;
+         stream.lineStart();
+         while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);
+         stream.lineEnd();
+       }
+
+       function streamPolygon(coordinates, stream) {
+         var i = -1, n = coordinates.length;
+         stream.polygonStart();
+         while (++i < n) streamLine(coordinates[i], stream, 1);
+         stream.polygonEnd();
+       }
+
+       function d3_geoStream(object, stream) {
+         if (object && streamObjectType.hasOwnProperty(object.type)) {
+           streamObjectType[object.type](object, stream);
+         } else {
+           streamGeometry(object, stream);
+         }
+       }
+
+       var areaRingSum = adder();
+
+       var areaSum = adder(),
+           lambda00,
+           phi00,
+           lambda0,
+           cosPhi0,
+           sinPhi0;
+
+       var areaStream = {
+         point: noop$4,
+         lineStart: noop$4,
+         lineEnd: noop$4,
+         polygonStart: function() {
+           areaRingSum.reset();
+           areaStream.lineStart = areaRingStart;
+           areaStream.lineEnd = areaRingEnd;
+         },
+         polygonEnd: function() {
+           var areaRing = +areaRingSum;
+           areaSum.add(areaRing < 0 ? tau$3 + areaRing : areaRing);
+           this.lineStart = this.lineEnd = this.point = noop$4;
+         },
+         sphere: function() {
+           areaSum.add(tau$3);
+         }
+       };
+
+       function areaRingStart() {
+         areaStream.point = areaPointFirst;
+       }
+
+       function areaRingEnd() {
+         areaPoint(lambda00, phi00);
+       }
+
+       function areaPointFirst(lambda, phi) {
+         areaStream.point = areaPoint;
+         lambda00 = lambda, phi00 = phi;
+         lambda *= radians, phi *= radians;
+         lambda0 = lambda, cosPhi0 = cos$1(phi = phi / 2 + quarterPi), sinPhi0 = sin$1(phi);
+       }
+
+       function areaPoint(lambda, phi) {
+         lambda *= radians, phi *= radians;
+         phi = phi / 2 + quarterPi; // half the angular distance from south pole
+
+         // Spherical excess E for a spherical triangle with vertices: south pole,
+         // previous point, current point.  Uses a formula derived from Cagnoli’s
+         // theorem.  See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).
+         var dLambda = lambda - lambda0,
+             sdLambda = dLambda >= 0 ? 1 : -1,
+             adLambda = sdLambda * dLambda,
+             cosPhi = cos$1(phi),
+             sinPhi = sin$1(phi),
+             k = sinPhi0 * sinPhi,
+             u = cosPhi0 * cosPhi + k * cos$1(adLambda),
+             v = k * sdLambda * sin$1(adLambda);
+         areaRingSum.add(atan2(v, u));
+
+         // Advance the previous points.
+         lambda0 = lambda, cosPhi0 = cosPhi, sinPhi0 = sinPhi;
+       }
+
+       function d3_geoArea(object) {
+         areaSum.reset();
+         d3_geoStream(object, areaStream);
+         return areaSum * 2;
+       }
+
+       function spherical(cartesian) {
+         return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];
+       }
+
+       function cartesian(spherical) {
+         var lambda = spherical[0], phi = spherical[1], cosPhi = cos$1(phi);
+         return [cosPhi * cos$1(lambda), cosPhi * sin$1(lambda), sin$1(phi)];
+       }
+
+       function cartesianDot(a, b) {
+         return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
+       }
+
+       function cartesianCross(a, b) {
+         return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];
+       }
+
+       // TODO return a
+       function cartesianAddInPlace(a, b) {
+         a[0] += b[0], a[1] += b[1], a[2] += b[2];
+       }
+
+       function cartesianScale(vector, k) {
+         return [vector[0] * k, vector[1] * k, vector[2] * k];
+       }
+
+       // TODO return d
+       function cartesianNormalizeInPlace(d) {
+         var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);
+         d[0] /= l, d[1] /= l, d[2] /= l;
+       }
+
+       var lambda0$1, phi0, lambda1, phi1, // bounds
+           lambda2, // previous lambda-coordinate
+           lambda00$1, phi00$1, // first point
+           p0, // previous 3D point
+           deltaSum = adder(),
+           ranges,
+           range;
+
+       var boundsStream = {
+         point: boundsPoint,
+         lineStart: boundsLineStart,
+         lineEnd: boundsLineEnd,
+         polygonStart: function() {
+           boundsStream.point = boundsRingPoint;
+           boundsStream.lineStart = boundsRingStart;
+           boundsStream.lineEnd = boundsRingEnd;
+           deltaSum.reset();
+           areaStream.polygonStart();
+         },
+         polygonEnd: function() {
+           areaStream.polygonEnd();
+           boundsStream.point = boundsPoint;
+           boundsStream.lineStart = boundsLineStart;
+           boundsStream.lineEnd = boundsLineEnd;
+           if (areaRingSum < 0) lambda0$1 = -(lambda1 = 180), phi0 = -(phi1 = 90);
+           else if (deltaSum > epsilon$2) phi1 = 90;
+           else if (deltaSum < -epsilon$2) phi0 = -90;
+           range[0] = lambda0$1, range[1] = lambda1;
+         },
+         sphere: function() {
+           lambda0$1 = -(lambda1 = 180), phi0 = -(phi1 = 90);
+         }
+       };
+
+       function boundsPoint(lambda, phi) {
+         ranges.push(range = [lambda0$1 = lambda, lambda1 = lambda]);
+         if (phi < phi0) phi0 = phi;
+         if (phi > phi1) phi1 = phi;
+       }
+
+       function linePoint(lambda, phi) {
+         var p = cartesian([lambda * radians, phi * radians]);
+         if (p0) {
+           var normal = cartesianCross(p0, p),
+               equatorial = [normal[1], -normal[0], 0],
+               inflection = cartesianCross(equatorial, normal);
+           cartesianNormalizeInPlace(inflection);
+           inflection = spherical(inflection);
+           var delta = lambda - lambda2,
+               sign = delta > 0 ? 1 : -1,
+               lambdai = inflection[0] * degrees$1 * sign,
+               phii,
+               antimeridian = abs$2(delta) > 180;
+           if (antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {
+             phii = inflection[1] * degrees$1;
+             if (phii > phi1) phi1 = phii;
+           } else if (lambdai = (lambdai + 360) % 360 - 180, antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {
+             phii = -inflection[1] * degrees$1;
+             if (phii < phi0) phi0 = phii;
+           } else {
+             if (phi < phi0) phi0 = phi;
+             if (phi > phi1) phi1 = phi;
+           }
+           if (antimeridian) {
+             if (lambda < lambda2) {
+               if (angle(lambda0$1, lambda) > angle(lambda0$1, lambda1)) lambda1 = lambda;
+             } else {
+               if (angle(lambda, lambda1) > angle(lambda0$1, lambda1)) lambda0$1 = lambda;
+             }
+           } else {
+             if (lambda1 >= lambda0$1) {
+               if (lambda < lambda0$1) lambda0$1 = lambda;
+               if (lambda > lambda1) lambda1 = lambda;
+             } else {
+               if (lambda > lambda2) {
+                 if (angle(lambda0$1, lambda) > angle(lambda0$1, lambda1)) lambda1 = lambda;
+               } else {
+                 if (angle(lambda, lambda1) > angle(lambda0$1, lambda1)) lambda0$1 = lambda;
+               }
+             }
+           }
+         } else {
+           ranges.push(range = [lambda0$1 = lambda, lambda1 = lambda]);
+         }
+         if (phi < phi0) phi0 = phi;
+         if (phi > phi1) phi1 = phi;
+         p0 = p, lambda2 = lambda;
+       }
+
+       function boundsLineStart() {
+         boundsStream.point = linePoint;
+       }
+
+       function boundsLineEnd() {
+         range[0] = lambda0$1, range[1] = lambda1;
+         boundsStream.point = boundsPoint;
+         p0 = null;
+       }
+
+       function boundsRingPoint(lambda, phi) {
+         if (p0) {
+           var delta = lambda - lambda2;
+           deltaSum.add(abs$2(delta) > 180 ? delta + (delta > 0 ? 360 : -360) : delta);
+         } else {
+           lambda00$1 = lambda, phi00$1 = phi;
+         }
+         areaStream.point(lambda, phi);
+         linePoint(lambda, phi);
+       }
+
+       function boundsRingStart() {
+         areaStream.lineStart();
+       }
+
+       function boundsRingEnd() {
+         boundsRingPoint(lambda00$1, phi00$1);
+         areaStream.lineEnd();
+         if (abs$2(deltaSum) > epsilon$2) lambda0$1 = -(lambda1 = 180);
+         range[0] = lambda0$1, range[1] = lambda1;
+         p0 = null;
+       }
+
+       // Finds the left-right distance between two longitudes.
+       // This is almost the same as (lambda1 - lambda0 + 360°) % 360°, except that we want
+       // the distance between ±180° to be 360°.
+       function angle(lambda0, lambda1) {
+         return (lambda1 -= lambda0) < 0 ? lambda1 + 360 : lambda1;
+       }
+
+       function rangeCompare(a, b) {
+         return a[0] - b[0];
+       }
+
+       function rangeContains(range, x) {
+         return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;
+       }
+
+       function d3_geoBounds(feature) {
+         var i, n, a, b, merged, deltaMax, delta;
+
+         phi1 = lambda1 = -(lambda0$1 = phi0 = Infinity);
+         ranges = [];
+         d3_geoStream(feature, boundsStream);
+
+         // First, sort ranges by their minimum longitudes.
+         if (n = ranges.length) {
+           ranges.sort(rangeCompare);
+
+           // Then, merge any ranges that overlap.
+           for (i = 1, a = ranges[0], merged = [a]; i < n; ++i) {
+             b = ranges[i];
+             if (rangeContains(a, b[0]) || rangeContains(a, b[1])) {
+               if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];
+               if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];
+             } else {
+               merged.push(a = b);
+             }
+           }
+
+           // Finally, find the largest gap between the merged ranges.
+           // The final bounding box will be the inverse of this gap.
+           for (deltaMax = -Infinity, n = merged.length - 1, i = 0, a = merged[n]; i <= n; a = b, ++i) {
+             b = merged[i];
+             if ((delta = angle(a[1], b[0])) > deltaMax) deltaMax = delta, lambda0$1 = b[0], lambda1 = a[1];
+           }
+         }
+
+         ranges = range = null;
+
+         return lambda0$1 === Infinity || phi0 === Infinity
+             ? [[NaN, NaN], [NaN, NaN]]
+             : [[lambda0$1, phi0], [lambda1, phi1]];
+       }
+
+       var W0, W1,
+           X0, Y0, Z0,
+           X1, Y1, Z1,
+           X2, Y2, Z2,
+           lambda00$2, phi00$2, // first point
+           x0, y0, z0; // previous point
+
+       var centroidStream = {
+         sphere: noop$4,
+         point: centroidPoint,
+         lineStart: centroidLineStart,
+         lineEnd: centroidLineEnd,
+         polygonStart: function() {
+           centroidStream.lineStart = centroidRingStart;
+           centroidStream.lineEnd = centroidRingEnd;
+         },
+         polygonEnd: function() {
+           centroidStream.lineStart = centroidLineStart;
+           centroidStream.lineEnd = centroidLineEnd;
+         }
+       };
+
+       // Arithmetic mean of Cartesian vectors.
+       function centroidPoint(lambda, phi) {
+         lambda *= radians, phi *= radians;
+         var cosPhi = cos$1(phi);
+         centroidPointCartesian(cosPhi * cos$1(lambda), cosPhi * sin$1(lambda), sin$1(phi));
+       }
+
+       function centroidPointCartesian(x, y, z) {
+         ++W0;
+         X0 += (x - X0) / W0;
+         Y0 += (y - Y0) / W0;
+         Z0 += (z - Z0) / W0;
+       }
+
+       function centroidLineStart() {
+         centroidStream.point = centroidLinePointFirst;
+       }
+
+       function centroidLinePointFirst(lambda, phi) {
+         lambda *= radians, phi *= radians;
+         var cosPhi = cos$1(phi);
+         x0 = cosPhi * cos$1(lambda);
+         y0 = cosPhi * sin$1(lambda);
+         z0 = sin$1(phi);
+         centroidStream.point = centroidLinePoint;
+         centroidPointCartesian(x0, y0, z0);
+       }
+
+       function centroidLinePoint(lambda, phi) {
+         lambda *= radians, phi *= radians;
+         var cosPhi = cos$1(phi),
+             x = cosPhi * cos$1(lambda),
+             y = cosPhi * sin$1(lambda),
+             z = sin$1(phi),
+             w = atan2(sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);
+         W1 += w;
+         X1 += w * (x0 + (x0 = x));
+         Y1 += w * (y0 + (y0 = y));
+         Z1 += w * (z0 + (z0 = z));
+         centroidPointCartesian(x0, y0, z0);
+       }
+
+       function centroidLineEnd() {
+         centroidStream.point = centroidPoint;
+       }
+
+       // See J. E. Brock, The Inertia Tensor for a Spherical Triangle,
+       // J. Applied Mechanics 42, 239 (1975).
+       function centroidRingStart() {
+         centroidStream.point = centroidRingPointFirst;
+       }
+
+       function centroidRingEnd() {
+         centroidRingPoint(lambda00$2, phi00$2);
+         centroidStream.point = centroidPoint;
+       }
+
+       function centroidRingPointFirst(lambda, phi) {
+         lambda00$2 = lambda, phi00$2 = phi;
+         lambda *= radians, phi *= radians;
+         centroidStream.point = centroidRingPoint;
+         var cosPhi = cos$1(phi);
+         x0 = cosPhi * cos$1(lambda);
+         y0 = cosPhi * sin$1(lambda);
+         z0 = sin$1(phi);
+         centroidPointCartesian(x0, y0, z0);
+       }
+
+       function centroidRingPoint(lambda, phi) {
+         lambda *= radians, phi *= radians;
+         var cosPhi = cos$1(phi),
+             x = cosPhi * cos$1(lambda),
+             y = cosPhi * sin$1(lambda),
+             z = sin$1(phi),
+             cx = y0 * z - z0 * y,
+             cy = z0 * x - x0 * z,
+             cz = x0 * y - y0 * x,
+             m = sqrt(cx * cx + cy * cy + cz * cz),
+             w = asin(m), // line weight = angle
+             v = m && -w / m; // area weight multiplier
+         X2 += v * cx;
+         Y2 += v * cy;
+         Z2 += v * cz;
+         W1 += w;
+         X1 += w * (x0 + (x0 = x));
+         Y1 += w * (y0 + (y0 = y));
+         Z1 += w * (z0 + (z0 = z));
+         centroidPointCartesian(x0, y0, z0);
+       }
+
+       function d3_geoCentroid(object) {
+         W0 = W1 =
+         X0 = Y0 = Z0 =
+         X1 = Y1 = Z1 =
+         X2 = Y2 = Z2 = 0;
+         d3_geoStream(object, centroidStream);
+
+         var x = X2,
+             y = Y2,
+             z = Z2,
+             m = x * x + y * y + z * z;
+
+         // If the area-weighted ccentroid is undefined, fall back to length-weighted ccentroid.
+         if (m < epsilon2$1) {
+           x = X1, y = Y1, z = Z1;
+           // If the feature has zero length, fall back to arithmetic mean of point vectors.
+           if (W1 < epsilon$2) x = X0, y = Y0, z = Z0;
+           m = x * x + y * y + z * z;
+           // If the feature still has an undefined ccentroid, then return.
+           if (m < epsilon2$1) return [NaN, NaN];
+         }
+
+         return [atan2(y, x) * degrees$1, asin(z / sqrt(m)) * degrees$1];
+       }
+
+       function constant$8(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       function compose(a, b) {
+
+         function compose(x, y) {
+           return x = a(x, y), b(x[0], x[1]);
+         }
+
+         if (a.invert && b.invert) compose.invert = function(x, y) {
+           return x = b.invert(x, y), x && a.invert(x[0], x[1]);
+         };
+
+         return compose;
+       }
+
+       function rotationIdentity(lambda, phi) {
+         return [abs$2(lambda) > pi$3 ? lambda + Math.round(-lambda / tau$3) * tau$3 : lambda, phi];
+       }
+
+       rotationIdentity.invert = rotationIdentity;
+
+       function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {
+         return (deltaLambda %= tau$3) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))
+           : rotationLambda(deltaLambda))
+           : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)
+           : rotationIdentity);
+       }
+
+       function forwardRotationLambda(deltaLambda) {
+         return function(lambda, phi) {
+           return lambda += deltaLambda, [lambda > pi$3 ? lambda - tau$3 : lambda < -pi$3 ? lambda + tau$3 : lambda, phi];
+         };
+       }
+
+       function rotationLambda(deltaLambda) {
+         var rotation = forwardRotationLambda(deltaLambda);
+         rotation.invert = forwardRotationLambda(-deltaLambda);
+         return rotation;
+       }
+
+       function rotationPhiGamma(deltaPhi, deltaGamma) {
+         var cosDeltaPhi = cos$1(deltaPhi),
+             sinDeltaPhi = sin$1(deltaPhi),
+             cosDeltaGamma = cos$1(deltaGamma),
+             sinDeltaGamma = sin$1(deltaGamma);
+
+         function rotation(lambda, phi) {
+           var cosPhi = cos$1(phi),
+               x = cos$1(lambda) * cosPhi,
+               y = sin$1(lambda) * cosPhi,
+               z = sin$1(phi),
+               k = z * cosDeltaPhi + x * sinDeltaPhi;
+           return [
+             atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),
+             asin(k * cosDeltaGamma + y * sinDeltaGamma)
+           ];
+         }
+
+         rotation.invert = function(lambda, phi) {
+           var cosPhi = cos$1(phi),
+               x = cos$1(lambda) * cosPhi,
+               y = sin$1(lambda) * cosPhi,
+               z = sin$1(phi),
+               k = z * cosDeltaGamma - y * sinDeltaGamma;
+           return [
+             atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),
+             asin(k * cosDeltaPhi - x * sinDeltaPhi)
+           ];
+         };
+
+         return rotation;
+       }
+
+       function rotation(rotate) {
+         rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);
+
+         function forward(coordinates) {
+           coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);
+           return coordinates[0] *= degrees$1, coordinates[1] *= degrees$1, coordinates;
+         }
+
+         forward.invert = function(coordinates) {
+           coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);
+           return coordinates[0] *= degrees$1, coordinates[1] *= degrees$1, coordinates;
+         };
+
+         return forward;
+       }
+
+       // Generates a circle centered at [0°, 0°], with a given radius and precision.
+       function circleStream(stream, radius, delta, direction, t0, t1) {
+         if (!delta) return;
+         var cosRadius = cos$1(radius),
+             sinRadius = sin$1(radius),
+             step = direction * delta;
+         if (t0 == null) {
+           t0 = radius + direction * tau$3;
+           t1 = radius - step / 2;
+         } else {
+           t0 = circleRadius(cosRadius, t0);
+           t1 = circleRadius(cosRadius, t1);
+           if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau$3;
+         }
+         for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {
+           point = spherical([cosRadius, -sinRadius * cos$1(t), -sinRadius * sin$1(t)]);
+           stream.point(point[0], point[1]);
+         }
+       }
+
+       // Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].
+       function circleRadius(cosRadius, point) {
+         point = cartesian(point), point[0] -= cosRadius;
+         cartesianNormalizeInPlace(point);
+         var radius = acos(-point[1]);
+         return ((-point[2] < 0 ? -radius : radius) + tau$3 - epsilon$2) % tau$3;
+       }
+
+       function circle() {
+         var center = constant$8([0, 0]),
+             radius = constant$8(90),
+             precision = constant$8(6),
+             ring,
+             rotate,
+             stream = {point: point};
+
+         function point(x, y) {
+           ring.push(x = rotate(x, y));
+           x[0] *= degrees$1, x[1] *= degrees$1;
+         }
+
+         function circle() {
+           var c = center.apply(this, arguments),
+               r = radius.apply(this, arguments) * radians,
+               p = precision.apply(this, arguments) * radians;
+           ring = [];
+           rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;
+           circleStream(stream, r, p, 1);
+           c = {type: "Polygon", coordinates: [ring]};
+           ring = rotate = null;
+           return c;
+         }
+
+         circle.center = function(_) {
+           return arguments.length ? (center = typeof _ === "function" ? _ : constant$8([+_[0], +_[1]]), circle) : center;
+         };
+
+         circle.radius = function(_) {
+           return arguments.length ? (radius = typeof _ === "function" ? _ : constant$8(+_), circle) : radius;
+         };
+
+         circle.precision = function(_) {
+           return arguments.length ? (precision = typeof _ === "function" ? _ : constant$8(+_), circle) : precision;
+         };
+
+         return circle;
+       }
+
+       function clipBuffer() {
+         var lines = [],
+             line;
+         return {
+           point: function(x, y) {
+             line.push([x, y]);
+           },
+           lineStart: function() {
+             lines.push(line = []);
+           },
+           lineEnd: noop$4,
+           rejoin: function() {
+             if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));
+           },
+           result: function() {
+             var result = lines;
+             lines = [];
+             line = null;
+             return result;
+           }
+         };
+       }
+
+       function pointEqual(a, b) {
+         return abs$2(a[0] - b[0]) < epsilon$2 && abs$2(a[1] - b[1]) < epsilon$2;
+       }
+
+       function Intersection(point, points, other, entry) {
+         this.x = point;
+         this.z = points;
+         this.o = other; // another intersection
+         this.e = entry; // is an entry?
+         this.v = false; // visited
+         this.n = this.p = null; // next & previous
+       }
+
+       // A generalized polygon clipping algorithm: given a polygon that has been cut
+       // into its visible line segments, and rejoins the segments by interpolating
+       // along the clip edge.
+       function clipRejoin(segments, compareIntersection, startInside, interpolate, stream) {
+         var subject = [],
+             clip = [],
+             i,
+             n;
+
+         segments.forEach(function(segment) {
+           if ((n = segment.length - 1) <= 0) return;
+           var n, p0 = segment[0], p1 = segment[n], x;
+
+           // If the first and last points of a segment are coincident, then treat as a
+           // closed ring. TODO if all rings are closed, then the winding order of the
+           // exterior ring should be checked.
+           if (pointEqual(p0, p1)) {
+             stream.lineStart();
+             for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);
+             stream.lineEnd();
+             return;
+           }
+
+           subject.push(x = new Intersection(p0, segment, null, true));
+           clip.push(x.o = new Intersection(p0, null, x, false));
+           subject.push(x = new Intersection(p1, segment, null, false));
+           clip.push(x.o = new Intersection(p1, null, x, true));
+         });
+
+         if (!subject.length) return;
+
+         clip.sort(compareIntersection);
+         link$1(subject);
+         link$1(clip);
+
+         for (i = 0, n = clip.length; i < n; ++i) {
+           clip[i].e = startInside = !startInside;
+         }
+
+         var start = subject[0],
+             points,
+             point;
+
+         while (1) {
+           // Find first unvisited intersection.
+           var current = start,
+               isSubject = true;
+           while (current.v) if ((current = current.n) === start) return;
+           points = current.z;
+           stream.lineStart();
+           do {
+             current.v = current.o.v = true;
+             if (current.e) {
+               if (isSubject) {
+                 for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);
+               } else {
+                 interpolate(current.x, current.n.x, 1, stream);
+               }
+               current = current.n;
+             } else {
+               if (isSubject) {
+                 points = current.p.z;
+                 for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);
+               } else {
+                 interpolate(current.x, current.p.x, -1, stream);
+               }
+               current = current.p;
+             }
+             current = current.o;
+             points = current.z;
+             isSubject = !isSubject;
+           } while (!current.v);
+           stream.lineEnd();
+         }
+       }
+
+       function link$1(array) {
+         if (!(n = array.length)) return;
+         var n,
+             i = 0,
+             a = array[0],
+             b;
+         while (++i < n) {
+           a.n = b = array[i];
+           b.p = a;
+           a = b;
+         }
+         a.n = b = array[0];
+         b.p = a;
+       }
+
+       var sum$1 = adder();
+
+       function longitude(point) {
+         if (abs$2(point[0]) <= pi$3)
+           return point[0];
+         else
+           return sign$2(point[0]) * ((abs$2(point[0]) + pi$3) % tau$3 - pi$3);
+       }
+
+       function polygonContains(polygon, point) {
+         var lambda = longitude(point),
+             phi = point[1],
+             sinPhi = sin$1(phi),
+             normal = [sin$1(lambda), -cos$1(lambda), 0],
+             angle = 0,
+             winding = 0;
+
+         sum$1.reset();
+
+         if (sinPhi === 1) phi = halfPi$2 + epsilon$2;
+         else if (sinPhi === -1) phi = -halfPi$2 - epsilon$2;
+
+         for (var i = 0, n = polygon.length; i < n; ++i) {
+           if (!(m = (ring = polygon[i]).length)) continue;
+           var ring,
+               m,
+               point0 = ring[m - 1],
+               lambda0 = longitude(point0),
+               phi0 = point0[1] / 2 + quarterPi,
+               sinPhi0 = sin$1(phi0),
+               cosPhi0 = cos$1(phi0);
+
+           for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {
+             var point1 = ring[j],
+                 lambda1 = longitude(point1),
+                 phi1 = point1[1] / 2 + quarterPi,
+                 sinPhi1 = sin$1(phi1),
+                 cosPhi1 = cos$1(phi1),
+                 delta = lambda1 - lambda0,
+                 sign = delta >= 0 ? 1 : -1,
+                 absDelta = sign * delta,
+                 antimeridian = absDelta > pi$3,
+                 k = sinPhi0 * sinPhi1;
+
+             sum$1.add(atan2(k * sign * sin$1(absDelta), cosPhi0 * cosPhi1 + k * cos$1(absDelta)));
+             angle += antimeridian ? delta + sign * tau$3 : delta;
+
+             // Are the longitudes either side of the point’s meridian (lambda),
+             // and are the latitudes smaller than the parallel (phi)?
+             if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {
+               var arc = cartesianCross(cartesian(point0), cartesian(point1));
+               cartesianNormalizeInPlace(arc);
+               var intersection = cartesianCross(normal, arc);
+               cartesianNormalizeInPlace(intersection);
+               var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);
+               if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {
+                 winding += antimeridian ^ delta >= 0 ? 1 : -1;
+               }
+             }
+           }
+         }
+
+         // First, determine whether the South pole is inside or outside:
+         //
+         // It is inside if:
+         // * the polygon winds around it in a clockwise direction.
+         // * the polygon does not (cumulatively) wind around it, but has a negative
+         //   (counter-clockwise) area.
+         //
+         // Second, count the (signed) number of times a segment crosses a lambda
+         // from the point to the South pole.  If it is zero, then the point is the
+         // same side as the South pole.
+
+         return (angle < -epsilon$2 || angle < epsilon$2 && sum$1 < -epsilon$2) ^ (winding & 1);
+       }
+
+       function clip(pointVisible, clipLine, interpolate, start) {
+         return function(sink) {
+           var line = clipLine(sink),
+               ringBuffer = clipBuffer(),
+               ringSink = clipLine(ringBuffer),
+               polygonStarted = false,
+               polygon,
+               segments,
+               ring;
+
+           var clip = {
+             point: point,
+             lineStart: lineStart,
+             lineEnd: lineEnd,
+             polygonStart: function() {
+               clip.point = pointRing;
+               clip.lineStart = ringStart;
+               clip.lineEnd = ringEnd;
+               segments = [];
+               polygon = [];
+             },
+             polygonEnd: function() {
+               clip.point = point;
+               clip.lineStart = lineStart;
+               clip.lineEnd = lineEnd;
+               segments = merge(segments);
+               var startInside = polygonContains(polygon, start);
+               if (segments.length) {
+                 if (!polygonStarted) sink.polygonStart(), polygonStarted = true;
+                 clipRejoin(segments, compareIntersection, startInside, interpolate, sink);
+               } else if (startInside) {
+                 if (!polygonStarted) sink.polygonStart(), polygonStarted = true;
+                 sink.lineStart();
+                 interpolate(null, null, 1, sink);
+                 sink.lineEnd();
+               }
+               if (polygonStarted) sink.polygonEnd(), polygonStarted = false;
+               segments = polygon = null;
+             },
+             sphere: function() {
+               sink.polygonStart();
+               sink.lineStart();
+               interpolate(null, null, 1, sink);
+               sink.lineEnd();
+               sink.polygonEnd();
+             }
+           };
+
+           function point(lambda, phi) {
+             if (pointVisible(lambda, phi)) sink.point(lambda, phi);
+           }
+
+           function pointLine(lambda, phi) {
+             line.point(lambda, phi);
+           }
+
+           function lineStart() {
+             clip.point = pointLine;
+             line.lineStart();
+           }
+
+           function lineEnd() {
+             clip.point = point;
+             line.lineEnd();
+           }
+
+           function pointRing(lambda, phi) {
+             ring.push([lambda, phi]);
+             ringSink.point(lambda, phi);
+           }
+
+           function ringStart() {
+             ringSink.lineStart();
+             ring = [];
+           }
+
+           function ringEnd() {
+             pointRing(ring[0][0], ring[0][1]);
+             ringSink.lineEnd();
+
+             var clean = ringSink.clean(),
+                 ringSegments = ringBuffer.result(),
+                 i, n = ringSegments.length, m,
+                 segment,
+                 point;
+
+             ring.pop();
+             polygon.push(ring);
+             ring = null;
+
+             if (!n) return;
+
+             // No intersections.
+             if (clean & 1) {
+               segment = ringSegments[0];
+               if ((m = segment.length - 1) > 0) {
+                 if (!polygonStarted) sink.polygonStart(), polygonStarted = true;
+                 sink.lineStart();
+                 for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);
+                 sink.lineEnd();
+               }
+               return;
+             }
+
+             // Rejoin connected segments.
+             // TODO reuse ringBuffer.rejoin()?
+             if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));
+
+             segments.push(ringSegments.filter(validSegment));
+           }
+
+           return clip;
+         };
+       }
+
+       function validSegment(segment) {
+         return segment.length > 1;
+       }
+
+       // Intersections are sorted along the clip edge. For both antimeridian cutting
+       // and circle clipping, the same comparison is used.
+       function compareIntersection(a, b) {
+         return ((a = a.x)[0] < 0 ? a[1] - halfPi$2 - epsilon$2 : halfPi$2 - a[1])
+              - ((b = b.x)[0] < 0 ? b[1] - halfPi$2 - epsilon$2 : halfPi$2 - b[1]);
+       }
+
+       var clipAntimeridian = clip(
+         function() { return true; },
+         clipAntimeridianLine,
+         clipAntimeridianInterpolate,
+         [-pi$3, -halfPi$2]
+       );
+
+       // Takes a line and cuts into visible segments. Return values: 0 - there were
+       // intersections or the line was empty; 1 - no intersections; 2 - there were
+       // intersections, and the first and last segments should be rejoined.
+       function clipAntimeridianLine(stream) {
+         var lambda0 = NaN,
+             phi0 = NaN,
+             sign0 = NaN,
+             clean; // no intersections
+
+         return {
+           lineStart: function() {
+             stream.lineStart();
+             clean = 1;
+           },
+           point: function(lambda1, phi1) {
+             var sign1 = lambda1 > 0 ? pi$3 : -pi$3,
+                 delta = abs$2(lambda1 - lambda0);
+             if (abs$2(delta - pi$3) < epsilon$2) { // line crosses a pole
+               stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi$2 : -halfPi$2);
+               stream.point(sign0, phi0);
+               stream.lineEnd();
+               stream.lineStart();
+               stream.point(sign1, phi0);
+               stream.point(lambda1, phi0);
+               clean = 0;
+             } else if (sign0 !== sign1 && delta >= pi$3) { // line crosses antimeridian
+               if (abs$2(lambda0 - sign0) < epsilon$2) lambda0 -= sign0 * epsilon$2; // handle degeneracies
+               if (abs$2(lambda1 - sign1) < epsilon$2) lambda1 -= sign1 * epsilon$2;
+               phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);
+               stream.point(sign0, phi0);
+               stream.lineEnd();
+               stream.lineStart();
+               stream.point(sign1, phi0);
+               clean = 0;
+             }
+             stream.point(lambda0 = lambda1, phi0 = phi1);
+             sign0 = sign1;
+           },
+           lineEnd: function() {
+             stream.lineEnd();
+             lambda0 = phi0 = NaN;
+           },
+           clean: function() {
+             return 2 - clean; // if intersections, rejoin first and last segments
+           }
+         };
+       }
+
+       function clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {
+         var cosPhi0,
+             cosPhi1,
+             sinLambda0Lambda1 = sin$1(lambda0 - lambda1);
+         return abs$2(sinLambda0Lambda1) > epsilon$2
+             ? atan((sin$1(phi0) * (cosPhi1 = cos$1(phi1)) * sin$1(lambda1)
+                 - sin$1(phi1) * (cosPhi0 = cos$1(phi0)) * sin$1(lambda0))
+                 / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))
+             : (phi0 + phi1) / 2;
+       }
+
+       function clipAntimeridianInterpolate(from, to, direction, stream) {
+         var phi;
+         if (from == null) {
+           phi = direction * halfPi$2;
+           stream.point(-pi$3, phi);
+           stream.point(0, phi);
+           stream.point(pi$3, phi);
+           stream.point(pi$3, 0);
+           stream.point(pi$3, -phi);
+           stream.point(0, -phi);
+           stream.point(-pi$3, -phi);
+           stream.point(-pi$3, 0);
+           stream.point(-pi$3, phi);
+         } else if (abs$2(from[0] - to[0]) > epsilon$2) {
+           var lambda = from[0] < to[0] ? pi$3 : -pi$3;
+           phi = direction * lambda / 2;
+           stream.point(-lambda, phi);
+           stream.point(0, phi);
+           stream.point(lambda, phi);
+         } else {
+           stream.point(to[0], to[1]);
+         }
+       }
+
+       function clipCircle(radius) {
+         var cr = cos$1(radius),
+             delta = 6 * radians,
+             smallRadius = cr > 0,
+             notHemisphere = abs$2(cr) > epsilon$2; // TODO optimise for this common case
+
+         function interpolate(from, to, direction, stream) {
+           circleStream(stream, radius, delta, direction, from, to);
+         }
+
+         function visible(lambda, phi) {
+           return cos$1(lambda) * cos$1(phi) > cr;
+         }
+
+         // Takes a line and cuts into visible segments. Return values used for polygon
+         // clipping: 0 - there were intersections or the line was empty; 1 - no
+         // intersections 2 - there were intersections, and the first and last segments
+         // should be rejoined.
+         function clipLine(stream) {
+           var point0, // previous point
+               c0, // code for previous point
+               v0, // visibility of previous point
+               v00, // visibility of first point
+               clean; // no intersections
+           return {
+             lineStart: function() {
+               v00 = v0 = false;
+               clean = 1;
+             },
+             point: function(lambda, phi) {
+               var point1 = [lambda, phi],
+                   point2,
+                   v = visible(lambda, phi),
+                   c = smallRadius
+                     ? v ? 0 : code(lambda, phi)
+                     : v ? code(lambda + (lambda < 0 ? pi$3 : -pi$3), phi) : 0;
+               if (!point0 && (v00 = v0 = v)) stream.lineStart();
+               // Handle degeneracies.
+               // TODO ignore if not clipping polygons.
+               if (v !== v0) {
+                 point2 = intersect(point0, point1);
+                 if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2)) {
+                   point1[0] += epsilon$2;
+                   point1[1] += epsilon$2;
+                   v = visible(point1[0], point1[1]);
+                 }
+               }
+               if (v !== v0) {
+                 clean = 0;
+                 if (v) {
+                   // outside going in
+                   stream.lineStart();
+                   point2 = intersect(point1, point0);
+                   stream.point(point2[0], point2[1]);
+                 } else {
+                   // inside going out
+                   point2 = intersect(point0, point1);
+                   stream.point(point2[0], point2[1]);
+                   stream.lineEnd();
+                 }
+                 point0 = point2;
+               } else if (notHemisphere && point0 && smallRadius ^ v) {
+                 var t;
+                 // If the codes for two points are different, or are both zero,
+                 // and there this segment intersects with the small circle.
+                 if (!(c & c0) && (t = intersect(point1, point0, true))) {
+                   clean = 0;
+                   if (smallRadius) {
+                     stream.lineStart();
+                     stream.point(t[0][0], t[0][1]);
+                     stream.point(t[1][0], t[1][1]);
+                     stream.lineEnd();
+                   } else {
+                     stream.point(t[1][0], t[1][1]);
+                     stream.lineEnd();
+                     stream.lineStart();
+                     stream.point(t[0][0], t[0][1]);
+                   }
+                 }
+               }
+               if (v && (!point0 || !pointEqual(point0, point1))) {
+                 stream.point(point1[0], point1[1]);
+               }
+               point0 = point1, v0 = v, c0 = c;
+             },
+             lineEnd: function() {
+               if (v0) stream.lineEnd();
+               point0 = null;
+             },
+             // Rejoin first and last segments if there were intersections and the first
+             // and last points were visible.
+             clean: function() {
+               return clean | ((v00 && v0) << 1);
+             }
+           };
+         }
+
+         // Intersects the great circle between a and b with the clip circle.
+         function intersect(a, b, two) {
+           var pa = cartesian(a),
+               pb = cartesian(b);
+
+           // We have two planes, n1.p = d1 and n2.p = d2.
+           // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).
+           var n1 = [1, 0, 0], // normal
+               n2 = cartesianCross(pa, pb),
+               n2n2 = cartesianDot(n2, n2),
+               n1n2 = n2[0], // cartesianDot(n1, n2),
+               determinant = n2n2 - n1n2 * n1n2;
+
+           // Two polar points.
+           if (!determinant) return !two && a;
+
+           var c1 =  cr * n2n2 / determinant,
+               c2 = -cr * n1n2 / determinant,
+               n1xn2 = cartesianCross(n1, n2),
+               A = cartesianScale(n1, c1),
+               B = cartesianScale(n2, c2);
+           cartesianAddInPlace(A, B);
+
+           // Solve |p(t)|^2 = 1.
+           var u = n1xn2,
+               w = cartesianDot(A, u),
+               uu = cartesianDot(u, u),
+               t2 = w * w - uu * (cartesianDot(A, A) - 1);
+
+           if (t2 < 0) return;
+
+           var t = sqrt(t2),
+               q = cartesianScale(u, (-w - t) / uu);
+           cartesianAddInPlace(q, A);
+           q = spherical(q);
+
+           if (!two) return q;
+
+           // Two intersection points.
+           var lambda0 = a[0],
+               lambda1 = b[0],
+               phi0 = a[1],
+               phi1 = b[1],
+               z;
+
+           if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;
+
+           var delta = lambda1 - lambda0,
+               polar = abs$2(delta - pi$3) < epsilon$2,
+               meridian = polar || delta < epsilon$2;
+
+           if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;
+
+           // Check that the first point is between a and b.
+           if (meridian
+               ? polar
+                 ? phi0 + phi1 > 0 ^ q[1] < (abs$2(q[0] - lambda0) < epsilon$2 ? phi0 : phi1)
+                 : phi0 <= q[1] && q[1] <= phi1
+               : delta > pi$3 ^ (lambda0 <= q[0] && q[0] <= lambda1)) {
+             var q1 = cartesianScale(u, (-w + t) / uu);
+             cartesianAddInPlace(q1, A);
+             return [q, spherical(q1)];
+           }
+         }
+
+         // Generates a 4-bit vector representing the location of a point relative to
+         // the small circle's bounding box.
+         function code(lambda, phi) {
+           var r = smallRadius ? radius : pi$3 - radius,
+               code = 0;
+           if (lambda < -r) code |= 1; // left
+           else if (lambda > r) code |= 2; // right
+           if (phi < -r) code |= 4; // below
+           else if (phi > r) code |= 8; // above
+           return code;
+         }
+
+         return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi$3, radius - pi$3]);
+       }
+
+       function clipLine(a, b, x0, y0, x1, y1) {
+         var ax = a[0],
+             ay = a[1],
+             bx = b[0],
+             by = b[1],
+             t0 = 0,
+             t1 = 1,
+             dx = bx - ax,
+             dy = by - ay,
+             r;
+
+         r = x0 - ax;
+         if (!dx && r > 0) return;
+         r /= dx;
+         if (dx < 0) {
+           if (r < t0) return;
+           if (r < t1) t1 = r;
+         } else if (dx > 0) {
+           if (r > t1) return;
+           if (r > t0) t0 = r;
+         }
+
+         r = x1 - ax;
+         if (!dx && r < 0) return;
+         r /= dx;
+         if (dx < 0) {
+           if (r > t1) return;
+           if (r > t0) t0 = r;
+         } else if (dx > 0) {
+           if (r < t0) return;
+           if (r < t1) t1 = r;
+         }
+
+         r = y0 - ay;
+         if (!dy && r > 0) return;
+         r /= dy;
+         if (dy < 0) {
+           if (r < t0) return;
+           if (r < t1) t1 = r;
+         } else if (dy > 0) {
+           if (r > t1) return;
+           if (r > t0) t0 = r;
+         }
+
+         r = y1 - ay;
+         if (!dy && r < 0) return;
+         r /= dy;
+         if (dy < 0) {
+           if (r > t1) return;
+           if (r > t0) t0 = r;
+         } else if (dy > 0) {
+           if (r < t0) return;
+           if (r < t1) t1 = r;
+         }
+
+         if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;
+         if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;
+         return true;
+       }
+
+       var clipMax = 1e9, clipMin = -clipMax;
+
+       // TODO Use d3-polygon’s polygonContains here for the ring check?
+       // TODO Eliminate duplicate buffering in clipBuffer and polygon.push?
+
+       function clipRectangle(x0, y0, x1, y1) {
+
+         function visible(x, y) {
+           return x0 <= x && x <= x1 && y0 <= y && y <= y1;
+         }
+
+         function interpolate(from, to, direction, stream) {
+           var a = 0, a1 = 0;
+           if (from == null
+               || (a = corner(from, direction)) !== (a1 = corner(to, direction))
+               || comparePoint(from, to) < 0 ^ direction > 0) {
+             do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);
+             while ((a = (a + direction + 4) % 4) !== a1);
+           } else {
+             stream.point(to[0], to[1]);
+           }
+         }
+
+         function corner(p, direction) {
+           return abs$2(p[0] - x0) < epsilon$2 ? direction > 0 ? 0 : 3
+               : abs$2(p[0] - x1) < epsilon$2 ? direction > 0 ? 2 : 1
+               : abs$2(p[1] - y0) < epsilon$2 ? direction > 0 ? 1 : 0
+               : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon
+         }
+
+         function compareIntersection(a, b) {
+           return comparePoint(a.x, b.x);
+         }
+
+         function comparePoint(a, b) {
+           var ca = corner(a, 1),
+               cb = corner(b, 1);
+           return ca !== cb ? ca - cb
+               : ca === 0 ? b[1] - a[1]
+               : ca === 1 ? a[0] - b[0]
+               : ca === 2 ? a[1] - b[1]
+               : b[0] - a[0];
+         }
+
+         return function(stream) {
+           var activeStream = stream,
+               bufferStream = clipBuffer(),
+               segments,
+               polygon,
+               ring,
+               x__, y__, v__, // first point
+               x_, y_, v_, // previous point
+               first,
+               clean;
+
+           var clipStream = {
+             point: point,
+             lineStart: lineStart,
+             lineEnd: lineEnd,
+             polygonStart: polygonStart,
+             polygonEnd: polygonEnd
+           };
+
+           function point(x, y) {
+             if (visible(x, y)) activeStream.point(x, y);
+           }
+
+           function polygonInside() {
+             var winding = 0;
+
+             for (var i = 0, n = polygon.length; i < n; ++i) {
+               for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {
+                 a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];
+                 if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }
+                 else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }
+               }
+             }
+
+             return winding;
+           }
+
+           // Buffer geometry within a polygon and then clip it en masse.
+           function polygonStart() {
+             activeStream = bufferStream, segments = [], polygon = [], clean = true;
+           }
+
+           function polygonEnd() {
+             var startInside = polygonInside(),
+                 cleanInside = clean && startInside,
+                 visible = (segments = merge(segments)).length;
+             if (cleanInside || visible) {
+               stream.polygonStart();
+               if (cleanInside) {
+                 stream.lineStart();
+                 interpolate(null, null, 1, stream);
+                 stream.lineEnd();
+               }
+               if (visible) {
+                 clipRejoin(segments, compareIntersection, startInside, interpolate, stream);
+               }
+               stream.polygonEnd();
+             }
+             activeStream = stream, segments = polygon = ring = null;
+           }
+
+           function lineStart() {
+             clipStream.point = linePoint;
+             if (polygon) polygon.push(ring = []);
+             first = true;
+             v_ = false;
+             x_ = y_ = NaN;
+           }
+
+           // TODO rather than special-case polygons, simply handle them separately.
+           // Ideally, coincident intersection points should be jittered to avoid
+           // clipping issues.
+           function lineEnd() {
+             if (segments) {
+               linePoint(x__, y__);
+               if (v__ && v_) bufferStream.rejoin();
+               segments.push(bufferStream.result());
+             }
+             clipStream.point = point;
+             if (v_) activeStream.lineEnd();
+           }
+
+           function linePoint(x, y) {
+             var v = visible(x, y);
+             if (polygon) ring.push([x, y]);
+             if (first) {
+               x__ = x, y__ = y, v__ = v;
+               first = false;
+               if (v) {
+                 activeStream.lineStart();
+                 activeStream.point(x, y);
+               }
+             } else {
+               if (v && v_) activeStream.point(x, y);
+               else {
+                 var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],
+                     b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];
+                 if (clipLine(a, b, x0, y0, x1, y1)) {
+                   if (!v_) {
+                     activeStream.lineStart();
+                     activeStream.point(a[0], a[1]);
+                   }
+                   activeStream.point(b[0], b[1]);
+                   if (!v) activeStream.lineEnd();
+                   clean = false;
+                 } else if (v) {
+                   activeStream.lineStart();
+                   activeStream.point(x, y);
+                   clean = false;
+                 }
+               }
+             }
+             x_ = x, y_ = y, v_ = v;
+           }
+
+           return clipStream;
+         };
+       }
+
+       function extent$1() {
+         var x0 = 0,
+             y0 = 0,
+             x1 = 960,
+             y1 = 500,
+             cache,
+             cacheStream,
+             clip;
+
+         return clip = {
+           stream: function(stream) {
+             return cache && cacheStream === stream ? cache : cache = clipRectangle(x0, y0, x1, y1)(cacheStream = stream);
+           },
+           extent: function(_) {
+             return arguments.length ? (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1], cache = cacheStream = null, clip) : [[x0, y0], [x1, y1]];
+           }
+         };
+       }
+
+       var lengthSum = adder(),
+           lambda0$2,
+           sinPhi0$1,
+           cosPhi0$1;
+
+       var lengthStream = {
+         sphere: noop$4,
+         point: noop$4,
+         lineStart: lengthLineStart,
+         lineEnd: noop$4,
+         polygonStart: noop$4,
+         polygonEnd: noop$4
+       };
+
+       function lengthLineStart() {
+         lengthStream.point = lengthPointFirst;
+         lengthStream.lineEnd = lengthLineEnd;
+       }
+
+       function lengthLineEnd() {
+         lengthStream.point = lengthStream.lineEnd = noop$4;
+       }
+
+       function lengthPointFirst(lambda, phi) {
+         lambda *= radians, phi *= radians;
+         lambda0$2 = lambda, sinPhi0$1 = sin$1(phi), cosPhi0$1 = cos$1(phi);
+         lengthStream.point = lengthPoint;
+       }
+
+       function lengthPoint(lambda, phi) {
+         lambda *= radians, phi *= radians;
+         var sinPhi = sin$1(phi),
+             cosPhi = cos$1(phi),
+             delta = abs$2(lambda - lambda0$2),
+             cosDelta = cos$1(delta),
+             sinDelta = sin$1(delta),
+             x = cosPhi * sinDelta,
+             y = cosPhi0$1 * sinPhi - sinPhi0$1 * cosPhi * cosDelta,
+             z = sinPhi0$1 * sinPhi + cosPhi0$1 * cosPhi * cosDelta;
+         lengthSum.add(atan2(sqrt(x * x + y * y), z));
+         lambda0$2 = lambda, sinPhi0$1 = sinPhi, cosPhi0$1 = cosPhi;
+       }
+
+       function d3_geoLength(object) {
+         lengthSum.reset();
+         d3_geoStream(object, lengthStream);
+         return +lengthSum;
+       }
+
+       var coordinates = [null, null],
+           object$1 = {type: "LineString", coordinates: coordinates};
+
+       function distance(a, b) {
+         coordinates[0] = a;
+         coordinates[1] = b;
+         return d3_geoLength(object$1);
+       }
+
+       var containsObjectType = {
+         Feature: function(object, point) {
+           return containsGeometry(object.geometry, point);
+         },
+         FeatureCollection: function(object, point) {
+           var features = object.features, i = -1, n = features.length;
+           while (++i < n) if (containsGeometry(features[i].geometry, point)) return true;
+           return false;
+         }
+       };
+
+       var containsGeometryType = {
+         Sphere: function() {
+           return true;
+         },
+         Point: function(object, point) {
+           return containsPoint(object.coordinates, point);
+         },
+         MultiPoint: function(object, point) {
+           var coordinates = object.coordinates, i = -1, n = coordinates.length;
+           while (++i < n) if (containsPoint(coordinates[i], point)) return true;
+           return false;
+         },
+         LineString: function(object, point) {
+           return containsLine(object.coordinates, point);
+         },
+         MultiLineString: function(object, point) {
+           var coordinates = object.coordinates, i = -1, n = coordinates.length;
+           while (++i < n) if (containsLine(coordinates[i], point)) return true;
+           return false;
+         },
+         Polygon: function(object, point) {
+           return containsPolygon(object.coordinates, point);
+         },
+         MultiPolygon: function(object, point) {
+           var coordinates = object.coordinates, i = -1, n = coordinates.length;
+           while (++i < n) if (containsPolygon(coordinates[i], point)) return true;
+           return false;
+         },
+         GeometryCollection: function(object, point) {
+           var geometries = object.geometries, i = -1, n = geometries.length;
+           while (++i < n) if (containsGeometry(geometries[i], point)) return true;
+           return false;
+         }
+       };
+
+       function containsGeometry(geometry, point) {
+         return geometry && containsGeometryType.hasOwnProperty(geometry.type)
+             ? containsGeometryType[geometry.type](geometry, point)
+             : false;
+       }
+
+       function containsPoint(coordinates, point) {
+         return distance(coordinates, point) === 0;
+       }
+
+       function containsLine(coordinates, point) {
+         var ao, bo, ab;
+         for (var i = 0, n = coordinates.length; i < n; i++) {
+           bo = distance(coordinates[i], point);
+           if (bo === 0) return true;
+           if (i > 0) {
+             ab = distance(coordinates[i], coordinates[i - 1]);
+             if (
+               ab > 0 &&
+               ao <= ab &&
+               bo <= ab &&
+               (ao + bo - ab) * (1 - Math.pow((ao - bo) / ab, 2)) < epsilon2$1 * ab
+             )
+               return true;
+           }
+           ao = bo;
+         }
+         return false;
+       }
+
+       function containsPolygon(coordinates, point) {
+         return !!polygonContains(coordinates.map(ringRadians), pointRadians(point));
+       }
+
+       function ringRadians(ring) {
+         return ring = ring.map(pointRadians), ring.pop(), ring;
+       }
+
+       function pointRadians(point) {
+         return [point[0] * radians, point[1] * radians];
+       }
+
+       function contains$2(object, point) {
+         return (object && containsObjectType.hasOwnProperty(object.type)
+             ? containsObjectType[object.type]
+             : containsGeometry)(object, point);
+       }
+
+       function graticuleX(y0, y1, dy) {
+         var y = d3_range(y0, y1 - epsilon$2, dy).concat(y1);
+         return function(x) { return y.map(function(y) { return [x, y]; }); };
+       }
+
+       function graticuleY(x0, x1, dx) {
+         var x = d3_range(x0, x1 - epsilon$2, dx).concat(x1);
+         return function(y) { return x.map(function(x) { return [x, y]; }); };
+       }
+
+       function graticule() {
+         var x1, x0, X1, X0,
+             y1, y0, Y1, Y0,
+             dx = 10, dy = dx, DX = 90, DY = 360,
+             x, y, X, Y,
+             precision = 2.5;
+
+         function graticule() {
+           return {type: "MultiLineString", coordinates: lines()};
+         }
+
+         function lines() {
+           return d3_range(ceil(X0 / DX) * DX, X1, DX).map(X)
+               .concat(d3_range(ceil(Y0 / DY) * DY, Y1, DY).map(Y))
+               .concat(d3_range(ceil(x0 / dx) * dx, x1, dx).filter(function(x) { return abs$2(x % DX) > epsilon$2; }).map(x))
+               .concat(d3_range(ceil(y0 / dy) * dy, y1, dy).filter(function(y) { return abs$2(y % DY) > epsilon$2; }).map(y));
+         }
+
+         graticule.lines = function() {
+           return lines().map(function(coordinates) { return {type: "LineString", coordinates: coordinates}; });
+         };
+
+         graticule.outline = function() {
+           return {
+             type: "Polygon",
+             coordinates: [
+               X(X0).concat(
+               Y(Y1).slice(1),
+               X(X1).reverse().slice(1),
+               Y(Y0).reverse().slice(1))
+             ]
+           };
+         };
+
+         graticule.extent = function(_) {
+           if (!arguments.length) return graticule.extentMinor();
+           return graticule.extentMajor(_).extentMinor(_);
+         };
+
+         graticule.extentMajor = function(_) {
+           if (!arguments.length) return [[X0, Y0], [X1, Y1]];
+           X0 = +_[0][0], X1 = +_[1][0];
+           Y0 = +_[0][1], Y1 = +_[1][1];
+           if (X0 > X1) _ = X0, X0 = X1, X1 = _;
+           if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;
+           return graticule.precision(precision);
+         };
+
+         graticule.extentMinor = function(_) {
+           if (!arguments.length) return [[x0, y0], [x1, y1]];
+           x0 = +_[0][0], x1 = +_[1][0];
+           y0 = +_[0][1], y1 = +_[1][1];
+           if (x0 > x1) _ = x0, x0 = x1, x1 = _;
+           if (y0 > y1) _ = y0, y0 = y1, y1 = _;
+           return graticule.precision(precision);
+         };
+
+         graticule.step = function(_) {
+           if (!arguments.length) return graticule.stepMinor();
+           return graticule.stepMajor(_).stepMinor(_);
+         };
+
+         graticule.stepMajor = function(_) {
+           if (!arguments.length) return [DX, DY];
+           DX = +_[0], DY = +_[1];
+           return graticule;
+         };
+
+         graticule.stepMinor = function(_) {
+           if (!arguments.length) return [dx, dy];
+           dx = +_[0], dy = +_[1];
+           return graticule;
+         };
+
+         graticule.precision = function(_) {
+           if (!arguments.length) return precision;
+           precision = +_;
+           x = graticuleX(y0, y1, 90);
+           y = graticuleY(x0, x1, precision);
+           X = graticuleX(Y0, Y1, 90);
+           Y = graticuleY(X0, X1, precision);
+           return graticule;
+         };
+
+         return graticule
+             .extentMajor([[-180, -90 + epsilon$2], [180, 90 - epsilon$2]])
+             .extentMinor([[-180, -80 - epsilon$2], [180, 80 + epsilon$2]]);
+       }
+
+       function graticule10() {
+         return graticule()();
+       }
+
+       function interpolate$1(a, b) {
+         var x0 = a[0] * radians,
+             y0 = a[1] * radians,
+             x1 = b[0] * radians,
+             y1 = b[1] * radians,
+             cy0 = cos$1(y0),
+             sy0 = sin$1(y0),
+             cy1 = cos$1(y1),
+             sy1 = sin$1(y1),
+             kx0 = cy0 * cos$1(x0),
+             ky0 = cy0 * sin$1(x0),
+             kx1 = cy1 * cos$1(x1),
+             ky1 = cy1 * sin$1(x1),
+             d = 2 * asin(sqrt(haversin(y1 - y0) + cy0 * cy1 * haversin(x1 - x0))),
+             k = sin$1(d);
+
+         var interpolate = d ? function(t) {
+           var B = sin$1(t *= d) / k,
+               A = sin$1(d - t) / k,
+               x = A * kx0 + B * kx1,
+               y = A * ky0 + B * ky1,
+               z = A * sy0 + B * sy1;
+           return [
+             atan2(y, x) * degrees$1,
+             atan2(z, sqrt(x * x + y * y)) * degrees$1
+           ];
+         } : function() {
+           return [x0 * degrees$1, y0 * degrees$1];
+         };
+
+         interpolate.distance = d;
+
+         return interpolate;
+       }
+
+       function identity$4(x) {
+         return x;
+       }
+
+       var areaSum$1 = adder(),
+           areaRingSum$1 = adder(),
+           x00,
+           y00,
+           x0$1,
+           y0$1;
+
+       var areaStream$1 = {
+         point: noop$4,
+         lineStart: noop$4,
+         lineEnd: noop$4,
+         polygonStart: function() {
+           areaStream$1.lineStart = areaRingStart$1;
+           areaStream$1.lineEnd = areaRingEnd$1;
+         },
+         polygonEnd: function() {
+           areaStream$1.lineStart = areaStream$1.lineEnd = areaStream$1.point = noop$4;
+           areaSum$1.add(abs$2(areaRingSum$1));
+           areaRingSum$1.reset();
+         },
+         result: function() {
+           var area = areaSum$1 / 2;
+           areaSum$1.reset();
+           return area;
+         }
+       };
+
+       function areaRingStart$1() {
+         areaStream$1.point = areaPointFirst$1;
+       }
+
+       function areaPointFirst$1(x, y) {
+         areaStream$1.point = areaPoint$1;
+         x00 = x0$1 = x, y00 = y0$1 = y;
+       }
+
+       function areaPoint$1(x, y) {
+         areaRingSum$1.add(y0$1 * x - x0$1 * y);
+         x0$1 = x, y0$1 = y;
+       }
+
+       function areaRingEnd$1() {
+         areaPoint$1(x00, y00);
+       }
+
+       var x0$2 = Infinity,
+           y0$2 = x0$2,
+           x1 = -x0$2,
+           y1 = x1;
+
+       var boundsStream$1 = {
+         point: boundsPoint$1,
+         lineStart: noop$4,
+         lineEnd: noop$4,
+         polygonStart: noop$4,
+         polygonEnd: noop$4,
+         result: function() {
+           var bounds = [[x0$2, y0$2], [x1, y1]];
+           x1 = y1 = -(y0$2 = x0$2 = Infinity);
+           return bounds;
+         }
+       };
+
+       function boundsPoint$1(x, y) {
+         if (x < x0$2) x0$2 = x;
+         if (x > x1) x1 = x;
+         if (y < y0$2) y0$2 = y;
+         if (y > y1) y1 = y;
+       }
+
+       // TODO Enforce positive area for exterior, negative area for interior?
+
+       var X0$1 = 0,
+           Y0$1 = 0,
+           Z0$1 = 0,
+           X1$1 = 0,
+           Y1$1 = 0,
+           Z1$1 = 0,
+           X2$1 = 0,
+           Y2$1 = 0,
+           Z2$1 = 0,
+           x00$1,
+           y00$1,
+           x0$3,
+           y0$3;
+
+       var centroidStream$1 = {
+         point: centroidPoint$1,
+         lineStart: centroidLineStart$1,
+         lineEnd: centroidLineEnd$1,
+         polygonStart: function() {
+           centroidStream$1.lineStart = centroidRingStart$1;
+           centroidStream$1.lineEnd = centroidRingEnd$1;
+         },
+         polygonEnd: function() {
+           centroidStream$1.point = centroidPoint$1;
+           centroidStream$1.lineStart = centroidLineStart$1;
+           centroidStream$1.lineEnd = centroidLineEnd$1;
+         },
+         result: function() {
+           var centroid = Z2$1 ? [X2$1 / Z2$1, Y2$1 / Z2$1]
+               : Z1$1 ? [X1$1 / Z1$1, Y1$1 / Z1$1]
+               : Z0$1 ? [X0$1 / Z0$1, Y0$1 / Z0$1]
+               : [NaN, NaN];
+           X0$1 = Y0$1 = Z0$1 =
+           X1$1 = Y1$1 = Z1$1 =
+           X2$1 = Y2$1 = Z2$1 = 0;
+           return centroid;
+         }
+       };
+
+       function centroidPoint$1(x, y) {
+         X0$1 += x;
+         Y0$1 += y;
+         ++Z0$1;
+       }
+
+       function centroidLineStart$1() {
+         centroidStream$1.point = centroidPointFirstLine;
+       }
+
+       function centroidPointFirstLine(x, y) {
+         centroidStream$1.point = centroidPointLine;
+         centroidPoint$1(x0$3 = x, y0$3 = y);
+       }
+
+       function centroidPointLine(x, y) {
+         var dx = x - x0$3, dy = y - y0$3, z = sqrt(dx * dx + dy * dy);
+         X1$1 += z * (x0$3 + x) / 2;
+         Y1$1 += z * (y0$3 + y) / 2;
+         Z1$1 += z;
+         centroidPoint$1(x0$3 = x, y0$3 = y);
+       }
+
+       function centroidLineEnd$1() {
+         centroidStream$1.point = centroidPoint$1;
+       }
+
+       function centroidRingStart$1() {
+         centroidStream$1.point = centroidPointFirstRing;
+       }
+
+       function centroidRingEnd$1() {
+         centroidPointRing(x00$1, y00$1);
+       }
+
+       function centroidPointFirstRing(x, y) {
+         centroidStream$1.point = centroidPointRing;
+         centroidPoint$1(x00$1 = x0$3 = x, y00$1 = y0$3 = y);
+       }
+
+       function centroidPointRing(x, y) {
+         var dx = x - x0$3,
+             dy = y - y0$3,
+             z = sqrt(dx * dx + dy * dy);
+
+         X1$1 += z * (x0$3 + x) / 2;
+         Y1$1 += z * (y0$3 + y) / 2;
+         Z1$1 += z;
+
+         z = y0$3 * x - x0$3 * y;
+         X2$1 += z * (x0$3 + x);
+         Y2$1 += z * (y0$3 + y);
+         Z2$1 += z * 3;
+         centroidPoint$1(x0$3 = x, y0$3 = y);
+       }
+
+       function PathContext(context) {
+         this._context = context;
+       }
+
+       PathContext.prototype = {
+         _radius: 4.5,
+         pointRadius: function(_) {
+           return this._radius = _, this;
+         },
+         polygonStart: function() {
+           this._line = 0;
+         },
+         polygonEnd: function() {
+           this._line = NaN;
+         },
+         lineStart: function() {
+           this._point = 0;
+         },
+         lineEnd: function() {
+           if (this._line === 0) this._context.closePath();
+           this._point = NaN;
+         },
+         point: function(x, y) {
+           switch (this._point) {
+             case 0: {
+               this._context.moveTo(x, y);
+               this._point = 1;
+               break;
+             }
+             case 1: {
+               this._context.lineTo(x, y);
+               break;
+             }
+             default: {
+               this._context.moveTo(x + this._radius, y);
+               this._context.arc(x, y, this._radius, 0, tau$3);
+               break;
+             }
+           }
+         },
+         result: noop$4
+       };
+
+       var lengthSum$1 = adder(),
+           lengthRing,
+           x00$2,
+           y00$2,
+           x0$4,
+           y0$4;
+
+       var lengthStream$1 = {
+         point: noop$4,
+         lineStart: function() {
+           lengthStream$1.point = lengthPointFirst$1;
+         },
+         lineEnd: function() {
+           if (lengthRing) lengthPoint$1(x00$2, y00$2);
+           lengthStream$1.point = noop$4;
+         },
+         polygonStart: function() {
+           lengthRing = true;
+         },
+         polygonEnd: function() {
+           lengthRing = null;
+         },
+         result: function() {
+           var length = +lengthSum$1;
+           lengthSum$1.reset();
+           return length;
+         }
+       };
+
+       function lengthPointFirst$1(x, y) {
+         lengthStream$1.point = lengthPoint$1;
+         x00$2 = x0$4 = x, y00$2 = y0$4 = y;
+       }
+
+       function lengthPoint$1(x, y) {
+         x0$4 -= x, y0$4 -= y;
+         lengthSum$1.add(sqrt(x0$4 * x0$4 + y0$4 * y0$4));
+         x0$4 = x, y0$4 = y;
+       }
+
+       function PathString() {
+         this._string = [];
+       }
+
+       PathString.prototype = {
+         _radius: 4.5,
+         _circle: circle$1(4.5),
+         pointRadius: function(_) {
+           if ((_ = +_) !== this._radius) this._radius = _, this._circle = null;
+           return this;
+         },
+         polygonStart: function() {
+           this._line = 0;
+         },
+         polygonEnd: function() {
+           this._line = NaN;
+         },
+         lineStart: function() {
+           this._point = 0;
+         },
+         lineEnd: function() {
+           if (this._line === 0) this._string.push("Z");
+           this._point = NaN;
+         },
+         point: function(x, y) {
+           switch (this._point) {
+             case 0: {
+               this._string.push("M", x, ",", y);
+               this._point = 1;
+               break;
+             }
+             case 1: {
+               this._string.push("L", x, ",", y);
+               break;
+             }
+             default: {
+               if (this._circle == null) this._circle = circle$1(this._radius);
+               this._string.push("M", x, ",", y, this._circle);
+               break;
+             }
+           }
+         },
+         result: function() {
+           if (this._string.length) {
+             var result = this._string.join("");
+             this._string = [];
+             return result;
+           } else {
+             return null;
+           }
+         }
+       };
+
+       function circle$1(radius) {
+         return "m0," + radius
+             + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius
+             + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius
+             + "z";
+       }
+
+       function d3_geoPath(projection, context) {
+         var pointRadius = 4.5,
+             projectionStream,
+             contextStream;
+
+         function path(object) {
+           if (object) {
+             if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments));
+             d3_geoStream(object, projectionStream(contextStream));
+           }
+           return contextStream.result();
+         }
+
+         path.area = function(object) {
+           d3_geoStream(object, projectionStream(areaStream$1));
+           return areaStream$1.result();
+         };
+
+         path.measure = function(object) {
+           d3_geoStream(object, projectionStream(lengthStream$1));
+           return lengthStream$1.result();
+         };
+
+         path.bounds = function(object) {
+           d3_geoStream(object, projectionStream(boundsStream$1));
+           return boundsStream$1.result();
+         };
+
+         path.centroid = function(object) {
+           d3_geoStream(object, projectionStream(centroidStream$1));
+           return centroidStream$1.result();
+         };
+
+         path.projection = function(_) {
+           return arguments.length ? (projectionStream = _ == null ? (projection = null, identity$4) : (projection = _).stream, path) : projection;
+         };
+
+         path.context = function(_) {
+           if (!arguments.length) return context;
+           contextStream = _ == null ? (context = null, new PathString) : new PathContext(context = _);
+           if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius);
+           return path;
+         };
+
+         path.pointRadius = function(_) {
+           if (!arguments.length) return pointRadius;
+           pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_);
+           return path;
+         };
+
+         return path.projection(projection).context(context);
+       }
+
+       function d3_geoTransform(methods) {
+         return {
+           stream: transformer(methods)
+         };
+       }
+
+       function transformer(methods) {
+         return function(stream) {
+           var s = new TransformStream;
+           for (var key in methods) s[key] = methods[key];
+           s.stream = stream;
+           return s;
+         };
+       }
+
+       function TransformStream() {}
+
+       TransformStream.prototype = {
+         constructor: TransformStream,
+         point: function(x, y) { this.stream.point(x, y); },
+         sphere: function() { this.stream.sphere(); },
+         lineStart: function() { this.stream.lineStart(); },
+         lineEnd: function() { this.stream.lineEnd(); },
+         polygonStart: function() { this.stream.polygonStart(); },
+         polygonEnd: function() { this.stream.polygonEnd(); }
+       };
+
+       function fit(projection, fitBounds, object) {
+         var clip = projection.clipExtent && projection.clipExtent();
+         projection.scale(150).translate([0, 0]);
+         if (clip != null) projection.clipExtent(null);
+         d3_geoStream(object, projection.stream(boundsStream$1));
+         fitBounds(boundsStream$1.result());
+         if (clip != null) projection.clipExtent(clip);
+         return projection;
+       }
+
+       function fitExtent(projection, extent, object) {
+         return fit(projection, function(b) {
+           var w = extent[1][0] - extent[0][0],
+               h = extent[1][1] - extent[0][1],
+               k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),
+               x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,
+               y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;
+           projection.scale(150 * k).translate([x, y]);
+         }, object);
+       }
+
+       function fitSize(projection, size, object) {
+         return fitExtent(projection, [[0, 0], size], object);
+       }
+
+       function fitWidth(projection, width, object) {
+         return fit(projection, function(b) {
+           var w = +width,
+               k = w / (b[1][0] - b[0][0]),
+               x = (w - k * (b[1][0] + b[0][0])) / 2,
+               y = -k * b[0][1];
+           projection.scale(150 * k).translate([x, y]);
+         }, object);
+       }
+
+       function fitHeight(projection, height, object) {
+         return fit(projection, function(b) {
+           var h = +height,
+               k = h / (b[1][1] - b[0][1]),
+               x = -k * b[0][0],
+               y = (h - k * (b[1][1] + b[0][1])) / 2;
+           projection.scale(150 * k).translate([x, y]);
+         }, object);
+       }
+
+       var maxDepth = 16, // maximum depth of subdivision
+           cosMinDistance = cos$1(30 * radians); // cos(minimum angular distance)
+
+       function resample(project, delta2) {
+         return +delta2 ? resample$1(project, delta2) : resampleNone(project);
+       }
+
+       function resampleNone(project) {
+         return transformer({
+           point: function(x, y) {
+             x = project(x, y);
+             this.stream.point(x[0], x[1]);
+           }
+         });
+       }
+
+       function resample$1(project, delta2) {
+
+         function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {
+           var dx = x1 - x0,
+               dy = y1 - y0,
+               d2 = dx * dx + dy * dy;
+           if (d2 > 4 * delta2 && depth--) {
+             var a = a0 + a1,
+                 b = b0 + b1,
+                 c = c0 + c1,
+                 m = sqrt(a * a + b * b + c * c),
+                 phi2 = asin(c /= m),
+                 lambda2 = abs$2(abs$2(c) - 1) < epsilon$2 || abs$2(lambda0 - lambda1) < epsilon$2 ? (lambda0 + lambda1) / 2 : atan2(b, a),
+                 p = project(lambda2, phi2),
+                 x2 = p[0],
+                 y2 = p[1],
+                 dx2 = x2 - x0,
+                 dy2 = y2 - y0,
+                 dz = dy * dx2 - dx * dy2;
+             if (dz * dz / d2 > delta2 // perpendicular projected distance
+                 || abs$2((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end
+                 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance
+               resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);
+               stream.point(x2, y2);
+               resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);
+             }
+           }
+         }
+         return function(stream) {
+           var lambda00, x00, y00, a00, b00, c00, // first point
+               lambda0, x0, y0, a0, b0, c0; // previous point
+
+           var resampleStream = {
+             point: point,
+             lineStart: lineStart,
+             lineEnd: lineEnd,
+             polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },
+             polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }
+           };
+
+           function point(x, y) {
+             x = project(x, y);
+             stream.point(x[0], x[1]);
+           }
+
+           function lineStart() {
+             x0 = NaN;
+             resampleStream.point = linePoint;
+             stream.lineStart();
+           }
+
+           function linePoint(lambda, phi) {
+             var c = cartesian([lambda, phi]), p = project(lambda, phi);
+             resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);
+             stream.point(x0, y0);
+           }
+
+           function lineEnd() {
+             resampleStream.point = point;
+             stream.lineEnd();
+           }
+
+           function ringStart() {
+             lineStart();
+             resampleStream.point = ringPoint;
+             resampleStream.lineEnd = ringEnd;
+           }
+
+           function ringPoint(lambda, phi) {
+             linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;
+             resampleStream.point = linePoint;
+           }
+
+           function ringEnd() {
+             resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);
+             resampleStream.lineEnd = lineEnd;
+             lineEnd();
+           }
+
+           return resampleStream;
+         };
+       }
+
+       var transformRadians = transformer({
+         point: function(x, y) {
+           this.stream.point(x * radians, y * radians);
+         }
+       });
+
+       function transformRotate(rotate) {
+         return transformer({
+           point: function(x, y) {
+             var r = rotate(x, y);
+             return this.stream.point(r[0], r[1]);
+           }
+         });
+       }
+
+       function scaleTranslate(k, dx, dy) {
+         function transform(x, y) {
+           return [dx + k * x, dy - k * y];
+         }
+         transform.invert = function(x, y) {
+           return [(x - dx) / k, (dy - y) / k];
+         };
+         return transform;
+       }
+
+       function scaleTranslateRotate(k, dx, dy, alpha) {
+         var cosAlpha = cos$1(alpha),
+             sinAlpha = sin$1(alpha),
+             a = cosAlpha * k,
+             b = sinAlpha * k,
+             ai = cosAlpha / k,
+             bi = sinAlpha / k,
+             ci = (sinAlpha * dy - cosAlpha * dx) / k,
+             fi = (sinAlpha * dx + cosAlpha * dy) / k;
+         function transform(x, y) {
+           return [a * x - b * y + dx, dy - b * x - a * y];
+         }
+         transform.invert = function(x, y) {
+           return [ai * x - bi * y + ci, fi - bi * x - ai * y];
+         };
+         return transform;
+       }
+
+       function projection(project) {
+         return projectionMutator(function() { return project; })();
+       }
+
+       function projectionMutator(projectAt) {
+         var project,
+             k = 150, // scale
+             x = 480, y = 250, // translate
+             lambda = 0, phi = 0, // center
+             deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate
+             alpha = 0, // post-rotate
+             theta = null, preclip = clipAntimeridian, // pre-clip angle
+             x0 = null, y0, x1, y1, postclip = identity$4, // post-clip extent
+             delta2 = 0.5, // precision
+             projectResample,
+             projectTransform,
+             projectRotateTransform,
+             cache,
+             cacheStream;
+
+         function projection(point) {
+           return projectRotateTransform(point[0] * radians, point[1] * radians);
+         }
+
+         function invert(point) {
+           point = projectRotateTransform.invert(point[0], point[1]);
+           return point && [point[0] * degrees$1, point[1] * degrees$1];
+         }
+
+         projection.stream = function(stream) {
+           return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));
+         };
+
+         projection.preclip = function(_) {
+           return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;
+         };
+
+         projection.postclip = function(_) {
+           return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;
+         };
+
+         projection.clipAngle = function(_) {
+           return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees$1;
+         };
+
+         projection.clipExtent = function(_) {
+           return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity$4) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];
+         };
+
+         projection.scale = function(_) {
+           return arguments.length ? (k = +_, recenter()) : k;
+         };
+
+         projection.translate = function(_) {
+           return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];
+         };
+
+         projection.center = function(_) {
+           return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees$1, phi * degrees$1];
+         };
+
+         projection.rotate = function(_) {
+           return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees$1, deltaPhi * degrees$1, deltaGamma * degrees$1];
+         };
+
+         projection.angle = function(_) {
+           return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees$1;
+         };
+
+         projection.precision = function(_) {
+           return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);
+         };
+
+         projection.fitExtent = function(extent, object) {
+           return fitExtent(projection, extent, object);
+         };
+
+         projection.fitSize = function(size, object) {
+           return fitSize(projection, size, object);
+         };
+
+         projection.fitWidth = function(width, object) {
+           return fitWidth(projection, width, object);
+         };
+
+         projection.fitHeight = function(height, object) {
+           return fitHeight(projection, height, object);
+         };
+
+         function recenter() {
+           var center = scaleTranslateRotate(k, 0, 0, alpha).apply(null, project(lambda, phi)),
+               transform = (alpha ? scaleTranslateRotate : scaleTranslate)(k, x - center[0], y - center[1], alpha);
+           rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);
+           projectTransform = compose(project, transform);
+           projectRotateTransform = compose(rotate, projectTransform);
+           projectResample = resample(projectTransform, delta2);
+           return reset();
+         }
+
+         function reset() {
+           cache = cacheStream = null;
+           return projection;
+         }
+
+         return function() {
+           project = projectAt.apply(this, arguments);
+           projection.invert = project.invert && invert;
+           return recenter();
+         };
+       }
+
+       function conicProjection(projectAt) {
+         var phi0 = 0,
+             phi1 = pi$3 / 3,
+             m = projectionMutator(projectAt),
+             p = m(phi0, phi1);
+
+         p.parallels = function(_) {
+           return arguments.length ? m(phi0 = _[0] * radians, phi1 = _[1] * radians) : [phi0 * degrees$1, phi1 * degrees$1];
+         };
+
+         return p;
+       }
+
+       function cylindricalEqualAreaRaw(phi0) {
+         var cosPhi0 = cos$1(phi0);
+
+         function forward(lambda, phi) {
+           return [lambda * cosPhi0, sin$1(phi) / cosPhi0];
+         }
+
+         forward.invert = function(x, y) {
+           return [x / cosPhi0, asin(y * cosPhi0)];
+         };
+
+         return forward;
+       }
+
+       function conicEqualAreaRaw(y0, y1) {
+         var sy0 = sin$1(y0), n = (sy0 + sin$1(y1)) / 2;
+
+         // Are the parallels symmetrical around the Equator?
+         if (abs$2(n) < epsilon$2) return cylindricalEqualAreaRaw(y0);
+
+         var c = 1 + sy0 * (2 * n - sy0), r0 = sqrt(c) / n;
+
+         function project(x, y) {
+           var r = sqrt(c - 2 * n * sin$1(y)) / n;
+           return [r * sin$1(x *= n), r0 - r * cos$1(x)];
+         }
+
+         project.invert = function(x, y) {
+           var r0y = r0 - y;
+           return [atan2(x, abs$2(r0y)) / n * sign$2(r0y), asin((c - (x * x + r0y * r0y) * n * n) / (2 * n))];
+         };
+
+         return project;
+       }
+
+       function conicEqualArea() {
+         return conicProjection(conicEqualAreaRaw)
+             .scale(155.424)
+             .center([0, 33.6442]);
+       }
+
+       function albers() {
+         return conicEqualArea()
+             .parallels([29.5, 45.5])
+             .scale(1070)
+             .translate([480, 250])
+             .rotate([96, 0])
+             .center([-0.6, 38.7]);
+       }
+
+       // The projections must have mutually exclusive clip regions on the sphere,
+       // as this will avoid emitting interleaving lines and polygons.
+       function multiplex(streams) {
+         var n = streams.length;
+         return {
+           point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); },
+           sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); },
+           lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); },
+           lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); },
+           polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); },
+           polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); }
+         };
+       }
+
+       // A composite projection for the United States, configured by default for
+       // 960×500. The projection also works quite well at 960×600 if you change the
+       // scale to 1285 and adjust the translate accordingly. The set of standard
+       // parallels for each region comes from USGS, which is published here:
+       // http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers
+       function albersUsa() {
+         var cache,
+             cacheStream,
+             lower48 = albers(), lower48Point,
+             alaska = conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338
+             hawaii = conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007
+             point, pointStream = {point: function(x, y) { point = [x, y]; }};
+
+         function albersUsa(coordinates) {
+           var x = coordinates[0], y = coordinates[1];
+           return point = null,
+               (lower48Point.point(x, y), point)
+               || (alaskaPoint.point(x, y), point)
+               || (hawaiiPoint.point(x, y), point);
+         }
+
+         albersUsa.invert = function(coordinates) {
+           var k = lower48.scale(),
+               t = lower48.translate(),
+               x = (coordinates[0] - t[0]) / k,
+               y = (coordinates[1] - t[1]) / k;
+           return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska
+               : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii
+               : lower48).invert(coordinates);
+         };
+
+         albersUsa.stream = function(stream) {
+           return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]);
+         };
+
+         albersUsa.precision = function(_) {
+           if (!arguments.length) return lower48.precision();
+           lower48.precision(_), alaska.precision(_), hawaii.precision(_);
+           return reset();
+         };
+
+         albersUsa.scale = function(_) {
+           if (!arguments.length) return lower48.scale();
+           lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);
+           return albersUsa.translate(lower48.translate());
+         };
+
+         albersUsa.translate = function(_) {
+           if (!arguments.length) return lower48.translate();
+           var k = lower48.scale(), x = +_[0], y = +_[1];
+
+           lower48Point = lower48
+               .translate(_)
+               .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]])
+               .stream(pointStream);
+
+           alaskaPoint = alaska
+               .translate([x - 0.307 * k, y + 0.201 * k])
+               .clipExtent([[x - 0.425 * k + epsilon$2, y + 0.120 * k + epsilon$2], [x - 0.214 * k - epsilon$2, y + 0.234 * k - epsilon$2]])
+               .stream(pointStream);
+
+           hawaiiPoint = hawaii
+               .translate([x - 0.205 * k, y + 0.212 * k])
+               .clipExtent([[x - 0.214 * k + epsilon$2, y + 0.166 * k + epsilon$2], [x - 0.115 * k - epsilon$2, y + 0.234 * k - epsilon$2]])
+               .stream(pointStream);
+
+           return reset();
+         };
+
+         albersUsa.fitExtent = function(extent, object) {
+           return fitExtent(albersUsa, extent, object);
+         };
+
+         albersUsa.fitSize = function(size, object) {
+           return fitSize(albersUsa, size, object);
+         };
+
+         albersUsa.fitWidth = function(width, object) {
+           return fitWidth(albersUsa, width, object);
+         };
+
+         albersUsa.fitHeight = function(height, object) {
+           return fitHeight(albersUsa, height, object);
+         };
+
+         function reset() {
+           cache = cacheStream = null;
+           return albersUsa;
+         }
+
+         return albersUsa.scale(1070);
+       }
+
+       function azimuthalRaw(scale) {
+         return function(x, y) {
+           var cx = cos$1(x),
+               cy = cos$1(y),
+               k = scale(cx * cy);
+           return [
+             k * cy * sin$1(x),
+             k * sin$1(y)
+           ];
+         }
+       }
+
+       function azimuthalInvert(angle) {
+         return function(x, y) {
+           var z = sqrt(x * x + y * y),
+               c = angle(z),
+               sc = sin$1(c),
+               cc = cos$1(c);
+           return [
+             atan2(x * sc, z * cc),
+             asin(z && y * sc / z)
+           ];
+         }
+       }
+
+       var azimuthalEqualAreaRaw = azimuthalRaw(function(cxcy) {
+         return sqrt(2 / (1 + cxcy));
+       });
+
+       azimuthalEqualAreaRaw.invert = azimuthalInvert(function(z) {
+         return 2 * asin(z / 2);
+       });
+
+       function azimuthalEqualArea() {
+         return projection(azimuthalEqualAreaRaw)
+             .scale(124.75)
+             .clipAngle(180 - 1e-3);
+       }
+
+       var azimuthalEquidistantRaw = azimuthalRaw(function(c) {
+         return (c = acos(c)) && c / sin$1(c);
+       });
+
+       azimuthalEquidistantRaw.invert = azimuthalInvert(function(z) {
+         return z;
+       });
+
+       function azimuthalEquidistant() {
+         return projection(azimuthalEquidistantRaw)
+             .scale(79.4188)
+             .clipAngle(180 - 1e-3);
+       }
+
+       function mercatorRaw(lambda, phi) {
+         return [lambda, log(tan((halfPi$2 + phi) / 2))];
+       }
+
+       mercatorRaw.invert = function(x, y) {
+         return [x, 2 * atan(exp(y)) - halfPi$2];
+       };
+
+       function mercator() {
+         return mercatorProjection(mercatorRaw)
+             .scale(961 / tau$3);
+       }
+
+       function mercatorProjection(project) {
+         var m = projection(project),
+             center = m.center,
+             scale = m.scale,
+             translate = m.translate,
+             clipExtent = m.clipExtent,
+             x0 = null, y0, x1, y1; // clip extent
+
+         m.scale = function(_) {
+           return arguments.length ? (scale(_), reclip()) : scale();
+         };
+
+         m.translate = function(_) {
+           return arguments.length ? (translate(_), reclip()) : translate();
+         };
+
+         m.center = function(_) {
+           return arguments.length ? (center(_), reclip()) : center();
+         };
+
+         m.clipExtent = function(_) {
+           return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];
+         };
+
+         function reclip() {
+           var k = pi$3 * scale(),
+               t = m(rotation(m.rotate()).invert([0, 0]));
+           return clipExtent(x0 == null
+               ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw
+               ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]
+               : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);
+         }
+
+         return reclip();
+       }
+
+       function tany(y) {
+         return tan((halfPi$2 + y) / 2);
+       }
+
+       function conicConformalRaw(y0, y1) {
+         var cy0 = cos$1(y0),
+             n = y0 === y1 ? sin$1(y0) : log(cy0 / cos$1(y1)) / log(tany(y1) / tany(y0)),
+             f = cy0 * pow(tany(y0), n) / n;
+
+         if (!n) return mercatorRaw;
+
+         function project(x, y) {
+           if (f > 0) { if (y < -halfPi$2 + epsilon$2) y = -halfPi$2 + epsilon$2; }
+           else { if (y > halfPi$2 - epsilon$2) y = halfPi$2 - epsilon$2; }
+           var r = f / pow(tany(y), n);
+           return [r * sin$1(n * x), f - r * cos$1(n * x)];
+         }
+
+         project.invert = function(x, y) {
+           var fy = f - y, r = sign$2(n) * sqrt(x * x + fy * fy);
+           return [atan2(x, abs$2(fy)) / n * sign$2(fy), 2 * atan(pow(f / r, 1 / n)) - halfPi$2];
+         };
+
+         return project;
+       }
+
+       function conicConformal() {
+         return conicProjection(conicConformalRaw)
+             .scale(109.5)
+             .parallels([30, 30]);
+       }
+
+       function equirectangularRaw(lambda, phi) {
+         return [lambda, phi];
+       }
+
+       equirectangularRaw.invert = equirectangularRaw;
+
+       function equirectangular() {
+         return projection(equirectangularRaw)
+             .scale(152.63);
+       }
+
+       function conicEquidistantRaw(y0, y1) {
+         var cy0 = cos$1(y0),
+             n = y0 === y1 ? sin$1(y0) : (cy0 - cos$1(y1)) / (y1 - y0),
+             g = cy0 / n + y0;
+
+         if (abs$2(n) < epsilon$2) return equirectangularRaw;
+
+         function project(x, y) {
+           var gy = g - y, nx = n * x;
+           return [gy * sin$1(nx), g - gy * cos$1(nx)];
+         }
+
+         project.invert = function(x, y) {
+           var gy = g - y;
+           return [atan2(x, abs$2(gy)) / n * sign$2(gy), g - sign$2(n) * sqrt(x * x + gy * gy)];
+         };
+
+         return project;
+       }
+
+       function conicEquidistant() {
+         return conicProjection(conicEquidistantRaw)
+             .scale(131.154)
+             .center([0, 13.9389]);
+       }
+
+       var A1 = 1.340264,
+           A2 = -0.081106,
+           A3 = 0.000893,
+           A4 = 0.003796,
+           M = sqrt(3) / 2,
+           iterations = 12;
+
+       function equalEarthRaw(lambda, phi) {
+         var l = asin(M * sin$1(phi)), l2 = l * l, l6 = l2 * l2 * l2;
+         return [
+           lambda * cos$1(l) / (M * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2))),
+           l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2))
+         ];
+       }
+
+       equalEarthRaw.invert = function(x, y) {
+         var l = y, l2 = l * l, l6 = l2 * l2 * l2;
+         for (var i = 0, delta, fy, fpy; i < iterations; ++i) {
+           fy = l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2)) - y;
+           fpy = A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2);
+           l -= delta = fy / fpy, l2 = l * l, l6 = l2 * l2 * l2;
+           if (abs$2(delta) < epsilon2$1) break;
+         }
+         return [
+           M * x * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2)) / cos$1(l),
+           asin(sin$1(l) / M)
+         ];
+       };
+
+       function equalEarth() {
+         return projection(equalEarthRaw)
+             .scale(177.158);
+       }
+
+       function gnomonicRaw(x, y) {
+         var cy = cos$1(y), k = cos$1(x) * cy;
+         return [cy * sin$1(x) / k, sin$1(y) / k];
+       }
+
+       gnomonicRaw.invert = azimuthalInvert(atan);
+
+       function gnomonic() {
+         return projection(gnomonicRaw)
+             .scale(144.049)
+             .clipAngle(60);
+       }
+
+       function scaleTranslate$1(kx, ky, tx, ty) {
+         return kx === 1 && ky === 1 && tx === 0 && ty === 0 ? identity$4 : transformer({
+           point: function(x, y) {
+             this.stream.point(x * kx + tx, y * ky + ty);
+           }
+         });
+       }
+
+       function d3_geoIdentity() {
+         var k = 1, tx = 0, ty = 0, sx = 1, sy = 1, transform = identity$4, // scale, translate and reflect
+             x0 = null, y0, x1, y1, // clip extent
+             postclip = identity$4,
+             cache,
+             cacheStream,
+             projection;
+
+         function reset() {
+           cache = cacheStream = null;
+           return projection;
+         }
+
+         return projection = {
+           stream: function(stream) {
+             return cache && cacheStream === stream ? cache : cache = transform(postclip(cacheStream = stream));
+           },
+           postclip: function(_) {
+             return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;
+           },
+           clipExtent: function(_) {
+             return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity$4) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];
+           },
+           scale: function(_) {
+             return arguments.length ? (transform = scaleTranslate$1((k = +_) * sx, k * sy, tx, ty), reset()) : k;
+           },
+           translate: function(_) {
+             return arguments.length ? (transform = scaleTranslate$1(k * sx, k * sy, tx = +_[0], ty = +_[1]), reset()) : [tx, ty];
+           },
+           reflectX: function(_) {
+             return arguments.length ? (transform = scaleTranslate$1(k * (sx = _ ? -1 : 1), k * sy, tx, ty), reset()) : sx < 0;
+           },
+           reflectY: function(_) {
+             return arguments.length ? (transform = scaleTranslate$1(k * sx, k * (sy = _ ? -1 : 1), tx, ty), reset()) : sy < 0;
+           },
+           fitExtent: function(extent, object) {
+             return fitExtent(projection, extent, object);
+           },
+           fitSize: function(size, object) {
+             return fitSize(projection, size, object);
+           },
+           fitWidth: function(width, object) {
+             return fitWidth(projection, width, object);
+           },
+           fitHeight: function(height, object) {
+             return fitHeight(projection, height, object);
+           }
+         };
+       }
+
+       function naturalEarth1Raw(lambda, phi) {
+         var phi2 = phi * phi, phi4 = phi2 * phi2;
+         return [
+           lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),
+           phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))
+         ];
+       }
+
+       naturalEarth1Raw.invert = function(x, y) {
+         var phi = y, i = 25, delta;
+         do {
+           var phi2 = phi * phi, phi4 = phi2 * phi2;
+           phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) /
+               (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));
+         } while (abs$2(delta) > epsilon$2 && --i > 0);
+         return [
+           x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),
+           phi
+         ];
+       };
+
+       function naturalEarth1() {
+         return projection(naturalEarth1Raw)
+             .scale(175.295);
+       }
+
+       function orthographicRaw(x, y) {
+         return [cos$1(y) * sin$1(x), sin$1(y)];
+       }
+
+       orthographicRaw.invert = azimuthalInvert(asin);
+
+       function orthographic() {
+         return projection(orthographicRaw)
+             .scale(249.5)
+             .clipAngle(90 + epsilon$2);
+       }
+
+       function stereographicRaw(x, y) {
+         var cy = cos$1(y), k = 1 + cos$1(x) * cy;
+         return [cy * sin$1(x) / k, sin$1(y) / k];
+       }
+
+       stereographicRaw.invert = azimuthalInvert(function(z) {
+         return 2 * atan(z);
+       });
+
+       function stereographic() {
+         return projection(stereographicRaw)
+             .scale(250)
+             .clipAngle(142);
+       }
+
+       function transverseMercatorRaw(lambda, phi) {
+         return [log(tan((halfPi$2 + phi) / 2)), -lambda];
+       }
+
+       transverseMercatorRaw.invert = function(x, y) {
+         return [-y, 2 * atan(exp(x)) - halfPi$2];
+       };
+
+       function transverseMercator() {
+         var m = mercatorProjection(transverseMercatorRaw),
+             center = m.center,
+             rotate = m.rotate;
+
+         m.center = function(_) {
+           return arguments.length ? center([-_[1], _[0]]) : (_ = center(), [_[1], -_[0]]);
+         };
+
+         m.rotate = function(_) {
+           return arguments.length ? rotate([_[0], _[1], _.length > 2 ? _[2] + 90 : 90]) : (_ = rotate(), [_[0], _[1], _[2] - 90]);
+         };
+
+         return rotate([0, 0, 90])
+             .scale(159.155);
+       }
+
+       function defaultSeparation(a, b) {
+         return a.parent === b.parent ? 1 : 2;
+       }
+
+       function meanX(children) {
+         return children.reduce(meanXReduce, 0) / children.length;
+       }
+
+       function meanXReduce(x, c) {
+         return x + c.x;
+       }
+
+       function maxY(children) {
+         return 1 + children.reduce(maxYReduce, 0);
+       }
+
+       function maxYReduce(y, c) {
+         return Math.max(y, c.y);
+       }
+
+       function leafLeft(node) {
+         var children;
+         while (children = node.children) node = children[0];
+         return node;
+       }
+
+       function leafRight(node) {
+         var children;
+         while (children = node.children) node = children[children.length - 1];
+         return node;
+       }
+
+       function cluster() {
+         var separation = defaultSeparation,
+             dx = 1,
+             dy = 1,
+             nodeSize = false;
+
+         function cluster(root) {
+           var previousNode,
+               x = 0;
+
+           // First walk, computing the initial x & y values.
+           root.eachAfter(function(node) {
+             var children = node.children;
+             if (children) {
+               node.x = meanX(children);
+               node.y = maxY(children);
+             } else {
+               node.x = previousNode ? x += separation(node, previousNode) : 0;
+               node.y = 0;
+               previousNode = node;
+             }
+           });
+
+           var left = leafLeft(root),
+               right = leafRight(root),
+               x0 = left.x - separation(left, right) / 2,
+               x1 = right.x + separation(right, left) / 2;
+
+           // Second walk, normalizing x & y to the desired size.
+           return root.eachAfter(nodeSize ? function(node) {
+             node.x = (node.x - root.x) * dx;
+             node.y = (root.y - node.y) * dy;
+           } : function(node) {
+             node.x = (node.x - x0) / (x1 - x0) * dx;
+             node.y = (1 - (root.y ? node.y / root.y : 1)) * dy;
+           });
+         }
+
+         cluster.separation = function(x) {
+           return arguments.length ? (separation = x, cluster) : separation;
+         };
+
+         cluster.size = function(x) {
+           return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? null : [dx, dy]);
+         };
+
+         cluster.nodeSize = function(x) {
+           return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? [dx, dy] : null);
+         };
+
+         return cluster;
+       }
+
+       function count(node) {
+         var sum = 0,
+             children = node.children,
+             i = children && children.length;
+         if (!i) sum = 1;
+         else while (--i >= 0) sum += children[i].value;
+         node.value = sum;
+       }
+
+       function node_count() {
+         return this.eachAfter(count);
+       }
+
+       function node_each(callback) {
+         var node = this, current, next = [node], children, i, n;
+         do {
+           current = next.reverse(), next = [];
+           while (node = current.pop()) {
+             callback(node), children = node.children;
+             if (children) for (i = 0, n = children.length; i < n; ++i) {
+               next.push(children[i]);
+             }
+           }
+         } while (next.length);
+         return this;
+       }
+
+       function node_eachBefore(callback) {
+         var node = this, nodes = [node], children, i;
+         while (node = nodes.pop()) {
+           callback(node), children = node.children;
+           if (children) for (i = children.length - 1; i >= 0; --i) {
+             nodes.push(children[i]);
+           }
+         }
+         return this;
+       }
+
+       function node_eachAfter(callback) {
+         var node = this, nodes = [node], next = [], children, i, n;
+         while (node = nodes.pop()) {
+           next.push(node), children = node.children;
+           if (children) for (i = 0, n = children.length; i < n; ++i) {
+             nodes.push(children[i]);
+           }
+         }
+         while (node = next.pop()) {
+           callback(node);
+         }
+         return this;
+       }
+
+       function node_sum(value) {
+         return this.eachAfter(function(node) {
+           var sum = +value(node.data) || 0,
+               children = node.children,
+               i = children && children.length;
+           while (--i >= 0) sum += children[i].value;
+           node.value = sum;
+         });
+       }
+
+       function node_sort(compare) {
+         return this.eachBefore(function(node) {
+           if (node.children) {
+             node.children.sort(compare);
+           }
+         });
+       }
+
+       function node_path(end) {
+         var start = this,
+             ancestor = leastCommonAncestor(start, end),
+             nodes = [start];
+         while (start !== ancestor) {
+           start = start.parent;
+           nodes.push(start);
+         }
+         var k = nodes.length;
+         while (end !== ancestor) {
+           nodes.splice(k, 0, end);
+           end = end.parent;
+         }
+         return nodes;
+       }
+
+       function leastCommonAncestor(a, b) {
+         if (a === b) return a;
+         var aNodes = a.ancestors(),
+             bNodes = b.ancestors(),
+             c = null;
+         a = aNodes.pop();
+         b = bNodes.pop();
+         while (a === b) {
+           c = a;
+           a = aNodes.pop();
+           b = bNodes.pop();
+         }
+         return c;
+       }
+
+       function node_ancestors() {
+         var node = this, nodes = [node];
+         while (node = node.parent) {
+           nodes.push(node);
+         }
+         return nodes;
+       }
+
+       function node_descendants() {
+         var nodes = [];
+         this.each(function(node) {
+           nodes.push(node);
+         });
+         return nodes;
+       }
+
+       function node_leaves() {
+         var leaves = [];
+         this.eachBefore(function(node) {
+           if (!node.children) {
+             leaves.push(node);
+           }
+         });
+         return leaves;
+       }
+
+       function node_links() {
+         var root = this, links = [];
+         root.each(function(node) {
+           if (node !== root) { // Don’t include the root’s parent, if any.
+             links.push({source: node.parent, target: node});
+           }
+         });
+         return links;
+       }
+
+       function hierarchy(data, children) {
+         var root = new Node(data),
+             valued = +data.value && (root.value = data.value),
+             node,
+             nodes = [root],
+             child,
+             childs,
+             i,
+             n;
+
+         if (children == null) children = defaultChildren;
+
+         while (node = nodes.pop()) {
+           if (valued) node.value = +node.data.value;
+           if ((childs = children(node.data)) && (n = childs.length)) {
+             node.children = new Array(n);
+             for (i = n - 1; i >= 0; --i) {
+               nodes.push(child = node.children[i] = new Node(childs[i]));
+               child.parent = node;
+               child.depth = node.depth + 1;
+             }
+           }
+         }
+
+         return root.eachBefore(computeHeight);
+       }
+
+       function node_copy() {
+         return hierarchy(this).eachBefore(copyData);
+       }
+
+       function defaultChildren(d) {
+         return d.children;
+       }
+
+       function copyData(node) {
+         node.data = node.data.data;
+       }
+
+       function computeHeight(node) {
+         var height = 0;
+         do node.height = height;
+         while ((node = node.parent) && (node.height < ++height));
+       }
+
+       function Node(data) {
+         this.data = data;
+         this.depth =
+         this.height = 0;
+         this.parent = null;
+       }
+
+       Node.prototype = hierarchy.prototype = {
+         constructor: Node,
+         count: node_count,
+         each: node_each,
+         eachAfter: node_eachAfter,
+         eachBefore: node_eachBefore,
+         sum: node_sum,
+         sort: node_sort,
+         path: node_path,
+         ancestors: node_ancestors,
+         descendants: node_descendants,
+         leaves: node_leaves,
+         links: node_links,
+         copy: node_copy
+       };
+
+       var slice$8 = Array.prototype.slice;
+
+       function shuffle$1(array) {
+         var m = array.length,
+             t,
+             i;
+
+         while (m) {
+           i = Math.random() * m-- | 0;
+           t = array[m];
+           array[m] = array[i];
+           array[i] = t;
+         }
+
+         return array;
+       }
+
+       function enclose(circles) {
+         var i = 0, n = (circles = shuffle$1(slice$8.call(circles))).length, B = [], p, e;
+
+         while (i < n) {
+           p = circles[i];
+           if (e && enclosesWeak(e, p)) ++i;
+           else e = encloseBasis(B = extendBasis(B, p)), i = 0;
+         }
+
+         return e;
+       }
+
+       function extendBasis(B, p) {
+         var i, j;
+
+         if (enclosesWeakAll(p, B)) return [p];
+
+         // If we get here then B must have at least one element.
+         for (i = 0; i < B.length; ++i) {
+           if (enclosesNot(p, B[i])
+               && enclosesWeakAll(encloseBasis2(B[i], p), B)) {
+             return [B[i], p];
+           }
+         }
+
+         // If we get here then B must have at least two elements.
+         for (i = 0; i < B.length - 1; ++i) {
+           for (j = i + 1; j < B.length; ++j) {
+             if (enclosesNot(encloseBasis2(B[i], B[j]), p)
+                 && enclosesNot(encloseBasis2(B[i], p), B[j])
+                 && enclosesNot(encloseBasis2(B[j], p), B[i])
+                 && enclosesWeakAll(encloseBasis3(B[i], B[j], p), B)) {
+               return [B[i], B[j], p];
+             }
+           }
+         }
+
+         // If we get here then something is very wrong.
+         throw new Error;
+       }
+
+       function enclosesNot(a, b) {
+         var dr = a.r - b.r, dx = b.x - a.x, dy = b.y - a.y;
+         return dr < 0 || dr * dr < dx * dx + dy * dy;
+       }
+
+       function enclosesWeak(a, b) {
+         var dr = a.r - b.r + 1e-6, dx = b.x - a.x, dy = b.y - a.y;
+         return dr > 0 && dr * dr > dx * dx + dy * dy;
+       }
+
+       function enclosesWeakAll(a, B) {
+         for (var i = 0; i < B.length; ++i) {
+           if (!enclosesWeak(a, B[i])) {
+             return false;
+           }
+         }
+         return true;
+       }
+
+       function encloseBasis(B) {
+         switch (B.length) {
+           case 1: return encloseBasis1(B[0]);
+           case 2: return encloseBasis2(B[0], B[1]);
+           case 3: return encloseBasis3(B[0], B[1], B[2]);
+         }
+       }
+
+       function encloseBasis1(a) {
+         return {
+           x: a.x,
+           y: a.y,
+           r: a.r
+         };
+       }
+
+       function encloseBasis2(a, b) {
+         var x1 = a.x, y1 = a.y, r1 = a.r,
+             x2 = b.x, y2 = b.y, r2 = b.r,
+             x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1,
+             l = Math.sqrt(x21 * x21 + y21 * y21);
+         return {
+           x: (x1 + x2 + x21 / l * r21) / 2,
+           y: (y1 + y2 + y21 / l * r21) / 2,
+           r: (l + r1 + r2) / 2
+         };
+       }
+
+       function encloseBasis3(a, b, c) {
+         var x1 = a.x, y1 = a.y, r1 = a.r,
+             x2 = b.x, y2 = b.y, r2 = b.r,
+             x3 = c.x, y3 = c.y, r3 = c.r,
+             a2 = x1 - x2,
+             a3 = x1 - x3,
+             b2 = y1 - y2,
+             b3 = y1 - y3,
+             c2 = r2 - r1,
+             c3 = r3 - r1,
+             d1 = x1 * x1 + y1 * y1 - r1 * r1,
+             d2 = d1 - x2 * x2 - y2 * y2 + r2 * r2,
+             d3 = d1 - x3 * x3 - y3 * y3 + r3 * r3,
+             ab = a3 * b2 - a2 * b3,
+             xa = (b2 * d3 - b3 * d2) / (ab * 2) - x1,
+             xb = (b3 * c2 - b2 * c3) / ab,
+             ya = (a3 * d2 - a2 * d3) / (ab * 2) - y1,
+             yb = (a2 * c3 - a3 * c2) / ab,
+             A = xb * xb + yb * yb - 1,
+             B = 2 * (r1 + xa * xb + ya * yb),
+             C = xa * xa + ya * ya - r1 * r1,
+             r = -(A ? (B + Math.sqrt(B * B - 4 * A * C)) / (2 * A) : C / B);
+         return {
+           x: x1 + xa + xb * r,
+           y: y1 + ya + yb * r,
+           r: r
+         };
+       }
+
+       function place(b, a, c) {
+         var dx = b.x - a.x, x, a2,
+             dy = b.y - a.y, y, b2,
+             d2 = dx * dx + dy * dy;
+         if (d2) {
+           a2 = a.r + c.r, a2 *= a2;
+           b2 = b.r + c.r, b2 *= b2;
+           if (a2 > b2) {
+             x = (d2 + b2 - a2) / (2 * d2);
+             y = Math.sqrt(Math.max(0, b2 / d2 - x * x));
+             c.x = b.x - x * dx - y * dy;
+             c.y = b.y - x * dy + y * dx;
+           } else {
+             x = (d2 + a2 - b2) / (2 * d2);
+             y = Math.sqrt(Math.max(0, a2 / d2 - x * x));
+             c.x = a.x + x * dx - y * dy;
+             c.y = a.y + x * dy + y * dx;
+           }
+         } else {
+           c.x = a.x + c.r;
+           c.y = a.y;
+         }
+       }
+
+       function intersects(a, b) {
+         var dr = a.r + b.r - 1e-6, dx = b.x - a.x, dy = b.y - a.y;
+         return dr > 0 && dr * dr > dx * dx + dy * dy;
+       }
+
+       function score(node) {
+         var a = node._,
+             b = node.next._,
+             ab = a.r + b.r,
+             dx = (a.x * b.r + b.x * a.r) / ab,
+             dy = (a.y * b.r + b.y * a.r) / ab;
+         return dx * dx + dy * dy;
+       }
+
+       function Node$1(circle) {
+         this._ = circle;
+         this.next = null;
+         this.previous = null;
+       }
+
+       function packEnclose(circles) {
+         if (!(n = circles.length)) return 0;
+
+         var a, b, c, n, aa, ca, i, j, k, sj, sk;
+
+         // Place the first circle.
+         a = circles[0], a.x = 0, a.y = 0;
+         if (!(n > 1)) return a.r;
+
+         // Place the second circle.
+         b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0;
+         if (!(n > 2)) return a.r + b.r;
+
+         // Place the third circle.
+         place(b, a, c = circles[2]);
+
+         // Initialize the front-chain using the first three circles a, b and c.
+         a = new Node$1(a), b = new Node$1(b), c = new Node$1(c);
+         a.next = c.previous = b;
+         b.next = a.previous = c;
+         c.next = b.previous = a;
+
+         // Attempt to place each remaining circle…
+         pack: for (i = 3; i < n; ++i) {
+           place(a._, b._, c = circles[i]), c = new Node$1(c);
+
+           // Find the closest intersecting circle on the front-chain, if any.
+           // “Closeness” is determined by linear distance along the front-chain.
+           // “Ahead” or “behind” is likewise determined by linear distance.
+           j = b.next, k = a.previous, sj = b._.r, sk = a._.r;
+           do {
+             if (sj <= sk) {
+               if (intersects(j._, c._)) {
+                 b = j, a.next = b, b.previous = a, --i;
+                 continue pack;
+               }
+               sj += j._.r, j = j.next;
+             } else {
+               if (intersects(k._, c._)) {
+                 a = k, a.next = b, b.previous = a, --i;
+                 continue pack;
+               }
+               sk += k._.r, k = k.previous;
+             }
+           } while (j !== k.next);
+
+           // Success! Insert the new circle c between a and b.
+           c.previous = a, c.next = b, a.next = b.previous = b = c;
+
+           // Compute the new closest circle pair to the centroid.
+           aa = score(a);
+           while ((c = c.next) !== b) {
+             if ((ca = score(c)) < aa) {
+               a = c, aa = ca;
+             }
+           }
+           b = a.next;
+         }
+
+         // Compute the enclosing circle of the front chain.
+         a = [b._], c = b; while ((c = c.next) !== b) a.push(c._); c = enclose(a);
+
+         // Translate the circles to put the enclosing circle around the origin.
+         for (i = 0; i < n; ++i) a = circles[i], a.x -= c.x, a.y -= c.y;
+
+         return c.r;
+       }
+
+       function siblings(circles) {
+         packEnclose(circles);
+         return circles;
+       }
+
+       function optional(f) {
+         return f == null ? null : required(f);
+       }
+
+       function required(f) {
+         if (typeof f !== "function") throw new Error;
+         return f;
+       }
+
+       function constantZero() {
+         return 0;
+       }
+
+       function constant$9(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       function defaultRadius$1(d) {
+         return Math.sqrt(d.value);
+       }
+
+       function index$1() {
+         var radius = null,
+             dx = 1,
+             dy = 1,
+             padding = constantZero;
+
+         function pack(root) {
+           root.x = dx / 2, root.y = dy / 2;
+           if (radius) {
+             root.eachBefore(radiusLeaf(radius))
+                 .eachAfter(packChildren(padding, 0.5))
+                 .eachBefore(translateChild(1));
+           } else {
+             root.eachBefore(radiusLeaf(defaultRadius$1))
+                 .eachAfter(packChildren(constantZero, 1))
+                 .eachAfter(packChildren(padding, root.r / Math.min(dx, dy)))
+                 .eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r)));
+           }
+           return root;
+         }
+
+         pack.radius = function(x) {
+           return arguments.length ? (radius = optional(x), pack) : radius;
+         };
+
+         pack.size = function(x) {
+           return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [dx, dy];
+         };
+
+         pack.padding = function(x) {
+           return arguments.length ? (padding = typeof x === "function" ? x : constant$9(+x), pack) : padding;
+         };
+
+         return pack;
+       }
+
+       function radiusLeaf(radius) {
+         return function(node) {
+           if (!node.children) {
+             node.r = Math.max(0, +radius(node) || 0);
+           }
+         };
+       }
+
+       function packChildren(padding, k) {
+         return function(node) {
+           if (children = node.children) {
+             var children,
+                 i,
+                 n = children.length,
+                 r = padding(node) * k || 0,
+                 e;
+
+             if (r) for (i = 0; i < n; ++i) children[i].r += r;
+             e = packEnclose(children);
+             if (r) for (i = 0; i < n; ++i) children[i].r -= r;
+             node.r = e + r;
+           }
+         };
+       }
+
+       function translateChild(k) {
+         return function(node) {
+           var parent = node.parent;
+           node.r *= k;
+           if (parent) {
+             node.x = parent.x + k * node.x;
+             node.y = parent.y + k * node.y;
+           }
+         };
+       }
+
+       function roundNode(node) {
+         node.x0 = Math.round(node.x0);
+         node.y0 = Math.round(node.y0);
+         node.x1 = Math.round(node.x1);
+         node.y1 = Math.round(node.y1);
+       }
+
+       function treemapDice(parent, x0, y0, x1, y1) {
+         var nodes = parent.children,
+             node,
+             i = -1,
+             n = nodes.length,
+             k = parent.value && (x1 - x0) / parent.value;
+
+         while (++i < n) {
+           node = nodes[i], node.y0 = y0, node.y1 = y1;
+           node.x0 = x0, node.x1 = x0 += node.value * k;
+         }
+       }
+
+       function partition() {
+         var dx = 1,
+             dy = 1,
+             padding = 0,
+             round = false;
+
+         function partition(root) {
+           var n = root.height + 1;
+           root.x0 =
+           root.y0 = padding;
+           root.x1 = dx;
+           root.y1 = dy / n;
+           root.eachBefore(positionNode(dy, n));
+           if (round) root.eachBefore(roundNode);
+           return root;
+         }
+
+         function positionNode(dy, n) {
+           return function(node) {
+             if (node.children) {
+               treemapDice(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);
+             }
+             var x0 = node.x0,
+                 y0 = node.y0,
+                 x1 = node.x1 - padding,
+                 y1 = node.y1 - padding;
+             if (x1 < x0) x0 = x1 = (x0 + x1) / 2;
+             if (y1 < y0) y0 = y1 = (y0 + y1) / 2;
+             node.x0 = x0;
+             node.y0 = y0;
+             node.x1 = x1;
+             node.y1 = y1;
+           };
+         }
+
+         partition.round = function(x) {
+           return arguments.length ? (round = !!x, partition) : round;
+         };
+
+         partition.size = function(x) {
+           return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy];
+         };
+
+         partition.padding = function(x) {
+           return arguments.length ? (padding = +x, partition) : padding;
+         };
+
+         return partition;
+       }
+
+       var keyPrefix$1 = "$", // Protect against keys like “__proto__”.
+           preroot = {depth: -1},
+           ambiguous = {};
+
+       function defaultId(d) {
+         return d.id;
+       }
+
+       function defaultParentId(d) {
+         return d.parentId;
+       }
+
+       function stratify() {
+         var id = defaultId,
+             parentId = defaultParentId;
+
+         function stratify(data) {
+           var d,
+               i,
+               n = data.length,
+               root,
+               parent,
+               node,
+               nodes = new Array(n),
+               nodeId,
+               nodeKey,
+               nodeByKey = {};
+
+           for (i = 0; i < n; ++i) {
+             d = data[i], node = nodes[i] = new Node(d);
+             if ((nodeId = id(d, i, data)) != null && (nodeId += "")) {
+               nodeKey = keyPrefix$1 + (node.id = nodeId);
+               nodeByKey[nodeKey] = nodeKey in nodeByKey ? ambiguous : node;
+             }
+           }
+
+           for (i = 0; i < n; ++i) {
+             node = nodes[i], nodeId = parentId(data[i], i, data);
+             if (nodeId == null || !(nodeId += "")) {
+               if (root) throw new Error("multiple roots");
+               root = node;
+             } else {
+               parent = nodeByKey[keyPrefix$1 + nodeId];
+               if (!parent) throw new Error("missing: " + nodeId);
+               if (parent === ambiguous) throw new Error("ambiguous: " + nodeId);
+               if (parent.children) parent.children.push(node);
+               else parent.children = [node];
+               node.parent = parent;
+             }
+           }
+
+           if (!root) throw new Error("no root");
+           root.parent = preroot;
+           root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);
+           root.parent = null;
+           if (n > 0) throw new Error("cycle");
+
+           return root;
+         }
+
+         stratify.id = function(x) {
+           return arguments.length ? (id = required(x), stratify) : id;
+         };
+
+         stratify.parentId = function(x) {
+           return arguments.length ? (parentId = required(x), stratify) : parentId;
+         };
+
+         return stratify;
+       }
+
+       function defaultSeparation$1(a, b) {
+         return a.parent === b.parent ? 1 : 2;
+       }
+
+       // function radialSeparation(a, b) {
+       //   return (a.parent === b.parent ? 1 : 2) / a.depth;
+       // }
+
+       // This function is used to traverse the left contour of a subtree (or
+       // subforest). It returns the successor of v on this contour. This successor is
+       // either given by the leftmost child of v or by the thread of v. The function
+       // returns null if and only if v is on the highest level of its subtree.
+       function nextLeft(v) {
+         var children = v.children;
+         return children ? children[0] : v.t;
+       }
+
+       // This function works analogously to nextLeft.
+       function nextRight(v) {
+         var children = v.children;
+         return children ? children[children.length - 1] : v.t;
+       }
+
+       // Shifts the current subtree rooted at w+. This is done by increasing
+       // prelim(w+) and mod(w+) by shift.
+       function moveSubtree(wm, wp, shift) {
+         var change = shift / (wp.i - wm.i);
+         wp.c -= change;
+         wp.s += shift;
+         wm.c += change;
+         wp.z += shift;
+         wp.m += shift;
+       }
+
+       // All other shifts, applied to the smaller subtrees between w- and w+, are
+       // performed by this function. To prepare the shifts, we have to adjust
+       // change(w+), shift(w+), and change(w-).
+       function executeShifts(v) {
+         var shift = 0,
+             change = 0,
+             children = v.children,
+             i = children.length,
+             w;
+         while (--i >= 0) {
+           w = children[i];
+           w.z += shift;
+           w.m += shift;
+           shift += w.s + (change += w.c);
+         }
+       }
+
+       // If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,
+       // returns the specified (default) ancestor.
+       function nextAncestor(vim, v, ancestor) {
+         return vim.a.parent === v.parent ? vim.a : ancestor;
+       }
+
+       function TreeNode(node, i) {
+         this._ = node;
+         this.parent = null;
+         this.children = null;
+         this.A = null; // default ancestor
+         this.a = this; // ancestor
+         this.z = 0; // prelim
+         this.m = 0; // mod
+         this.c = 0; // change
+         this.s = 0; // shift
+         this.t = null; // thread
+         this.i = i; // number
+       }
+
+       TreeNode.prototype = Object.create(Node.prototype);
+
+       function treeRoot(root) {
+         var tree = new TreeNode(root, 0),
+             node,
+             nodes = [tree],
+             child,
+             children,
+             i,
+             n;
+
+         while (node = nodes.pop()) {
+           if (children = node._.children) {
+             node.children = new Array(n = children.length);
+             for (i = n - 1; i >= 0; --i) {
+               nodes.push(child = node.children[i] = new TreeNode(children[i], i));
+               child.parent = node;
+             }
+           }
+         }
+
+         (tree.parent = new TreeNode(null, 0)).children = [tree];
+         return tree;
+       }
+
+       // Node-link tree diagram using the Reingold-Tilford "tidy" algorithm
+       function tree() {
+         var separation = defaultSeparation$1,
+             dx = 1,
+             dy = 1,
+             nodeSize = null;
+
+         function tree(root) {
+           var t = treeRoot(root);
+
+           // Compute the layout using Buchheim et al.’s algorithm.
+           t.eachAfter(firstWalk), t.parent.m = -t.z;
+           t.eachBefore(secondWalk);
+
+           // If a fixed node size is specified, scale x and y.
+           if (nodeSize) root.eachBefore(sizeNode);
+
+           // If a fixed tree size is specified, scale x and y based on the extent.
+           // Compute the left-most, right-most, and depth-most nodes for extents.
+           else {
+             var left = root,
+                 right = root,
+                 bottom = root;
+             root.eachBefore(function(node) {
+               if (node.x < left.x) left = node;
+               if (node.x > right.x) right = node;
+               if (node.depth > bottom.depth) bottom = node;
+             });
+             var s = left === right ? 1 : separation(left, right) / 2,
+                 tx = s - left.x,
+                 kx = dx / (right.x + s + tx),
+                 ky = dy / (bottom.depth || 1);
+             root.eachBefore(function(node) {
+               node.x = (node.x + tx) * kx;
+               node.y = node.depth * ky;
+             });
+           }
+
+           return root;
+         }
+
+         // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is
+         // applied recursively to the children of v, as well as the function
+         // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the
+         // node v is placed to the midpoint of its outermost children.
+         function firstWalk(v) {
+           var children = v.children,
+               siblings = v.parent.children,
+               w = v.i ? siblings[v.i - 1] : null;
+           if (children) {
+             executeShifts(v);
+             var midpoint = (children[0].z + children[children.length - 1].z) / 2;
+             if (w) {
+               v.z = w.z + separation(v._, w._);
+               v.m = v.z - midpoint;
+             } else {
+               v.z = midpoint;
+             }
+           } else if (w) {
+             v.z = w.z + separation(v._, w._);
+           }
+           v.parent.A = apportion(v, w, v.parent.A || siblings[0]);
+         }
+
+         // Computes all real x-coordinates by summing up the modifiers recursively.
+         function secondWalk(v) {
+           v._.x = v.z + v.parent.m;
+           v.m += v.parent.m;
+         }
+
+         // The core of the algorithm. Here, a new subtree is combined with the
+         // previous subtrees. Threads are used to traverse the inside and outside
+         // contours of the left and right subtree up to the highest common level. The
+         // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the
+         // superscript o means outside and i means inside, the subscript - means left
+         // subtree and + means right subtree. For summing up the modifiers along the
+         // contour, we use respective variables si+, si-, so-, and so+. Whenever two
+         // nodes of the inside contours conflict, we compute the left one of the
+         // greatest uncommon ancestors using the function ANCESTOR and call MOVE
+         // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.
+         // Finally, we add a new thread (if necessary).
+         function apportion(v, w, ancestor) {
+           if (w) {
+             var vip = v,
+                 vop = v,
+                 vim = w,
+                 vom = vip.parent.children[0],
+                 sip = vip.m,
+                 sop = vop.m,
+                 sim = vim.m,
+                 som = vom.m,
+                 shift;
+             while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {
+               vom = nextLeft(vom);
+               vop = nextRight(vop);
+               vop.a = v;
+               shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);
+               if (shift > 0) {
+                 moveSubtree(nextAncestor(vim, v, ancestor), v, shift);
+                 sip += shift;
+                 sop += shift;
+               }
+               sim += vim.m;
+               sip += vip.m;
+               som += vom.m;
+               sop += vop.m;
+             }
+             if (vim && !nextRight(vop)) {
+               vop.t = vim;
+               vop.m += sim - sop;
+             }
+             if (vip && !nextLeft(vom)) {
+               vom.t = vip;
+               vom.m += sip - som;
+               ancestor = v;
+             }
+           }
+           return ancestor;
+         }
+
+         function sizeNode(node) {
+           node.x *= dx;
+           node.y = node.depth * dy;
+         }
+
+         tree.separation = function(x) {
+           return arguments.length ? (separation = x, tree) : separation;
+         };
+
+         tree.size = function(x) {
+           return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);
+         };
+
+         tree.nodeSize = function(x) {
+           return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);
+         };
+
+         return tree;
+       }
+
+       function treemapSlice(parent, x0, y0, x1, y1) {
+         var nodes = parent.children,
+             node,
+             i = -1,
+             n = nodes.length,
+             k = parent.value && (y1 - y0) / parent.value;
+
+         while (++i < n) {
+           node = nodes[i], node.x0 = x0, node.x1 = x1;
+           node.y0 = y0, node.y1 = y0 += node.value * k;
+         }
+       }
+
+       var phi = (1 + Math.sqrt(5)) / 2;
+
+       function squarifyRatio(ratio, parent, x0, y0, x1, y1) {
+         var rows = [],
+             nodes = parent.children,
+             row,
+             nodeValue,
+             i0 = 0,
+             i1 = 0,
+             n = nodes.length,
+             dx, dy,
+             value = parent.value,
+             sumValue,
+             minValue,
+             maxValue,
+             newRatio,
+             minRatio,
+             alpha,
+             beta;
+
+         while (i0 < n) {
+           dx = x1 - x0, dy = y1 - y0;
+
+           // Find the next non-empty node.
+           do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);
+           minValue = maxValue = sumValue;
+           alpha = Math.max(dy / dx, dx / dy) / (value * ratio);
+           beta = sumValue * sumValue * alpha;
+           minRatio = Math.max(maxValue / beta, beta / minValue);
+
+           // Keep adding nodes while the aspect ratio maintains or improves.
+           for (; i1 < n; ++i1) {
+             sumValue += nodeValue = nodes[i1].value;
+             if (nodeValue < minValue) minValue = nodeValue;
+             if (nodeValue > maxValue) maxValue = nodeValue;
+             beta = sumValue * sumValue * alpha;
+             newRatio = Math.max(maxValue / beta, beta / minValue);
+             if (newRatio > minRatio) { sumValue -= nodeValue; break; }
+             minRatio = newRatio;
+           }
+
+           // Position and record the row orientation.
+           rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});
+           if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);
+           else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);
+           value -= sumValue, i0 = i1;
+         }
+
+         return rows;
+       }
+
+       var squarify = (function custom(ratio) {
+
+         function squarify(parent, x0, y0, x1, y1) {
+           squarifyRatio(ratio, parent, x0, y0, x1, y1);
+         }
+
+         squarify.ratio = function(x) {
+           return custom((x = +x) > 1 ? x : 1);
+         };
+
+         return squarify;
+       })(phi);
+
+       function index$2() {
+         var tile = squarify,
+             round = false,
+             dx = 1,
+             dy = 1,
+             paddingStack = [0],
+             paddingInner = constantZero,
+             paddingTop = constantZero,
+             paddingRight = constantZero,
+             paddingBottom = constantZero,
+             paddingLeft = constantZero;
+
+         function treemap(root) {
+           root.x0 =
+           root.y0 = 0;
+           root.x1 = dx;
+           root.y1 = dy;
+           root.eachBefore(positionNode);
+           paddingStack = [0];
+           if (round) root.eachBefore(roundNode);
+           return root;
+         }
+
+         function positionNode(node) {
+           var p = paddingStack[node.depth],
+               x0 = node.x0 + p,
+               y0 = node.y0 + p,
+               x1 = node.x1 - p,
+               y1 = node.y1 - p;
+           if (x1 < x0) x0 = x1 = (x0 + x1) / 2;
+           if (y1 < y0) y0 = y1 = (y0 + y1) / 2;
+           node.x0 = x0;
+           node.y0 = y0;
+           node.x1 = x1;
+           node.y1 = y1;
+           if (node.children) {
+             p = paddingStack[node.depth + 1] = paddingInner(node) / 2;
+             x0 += paddingLeft(node) - p;
+             y0 += paddingTop(node) - p;
+             x1 -= paddingRight(node) - p;
+             y1 -= paddingBottom(node) - p;
+             if (x1 < x0) x0 = x1 = (x0 + x1) / 2;
+             if (y1 < y0) y0 = y1 = (y0 + y1) / 2;
+             tile(node, x0, y0, x1, y1);
+           }
+         }
+
+         treemap.round = function(x) {
+           return arguments.length ? (round = !!x, treemap) : round;
+         };
+
+         treemap.size = function(x) {
+           return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];
+         };
+
+         treemap.tile = function(x) {
+           return arguments.length ? (tile = required(x), treemap) : tile;
+         };
+
+         treemap.padding = function(x) {
+           return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();
+         };
+
+         treemap.paddingInner = function(x) {
+           return arguments.length ? (paddingInner = typeof x === "function" ? x : constant$9(+x), treemap) : paddingInner;
+         };
+
+         treemap.paddingOuter = function(x) {
+           return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();
+         };
+
+         treemap.paddingTop = function(x) {
+           return arguments.length ? (paddingTop = typeof x === "function" ? x : constant$9(+x), treemap) : paddingTop;
+         };
+
+         treemap.paddingRight = function(x) {
+           return arguments.length ? (paddingRight = typeof x === "function" ? x : constant$9(+x), treemap) : paddingRight;
+         };
+
+         treemap.paddingBottom = function(x) {
+           return arguments.length ? (paddingBottom = typeof x === "function" ? x : constant$9(+x), treemap) : paddingBottom;
+         };
+
+         treemap.paddingLeft = function(x) {
+           return arguments.length ? (paddingLeft = typeof x === "function" ? x : constant$9(+x), treemap) : paddingLeft;
+         };
+
+         return treemap;
+       }
+
+       function binary(parent, x0, y0, x1, y1) {
+         var nodes = parent.children,
+             i, n = nodes.length,
+             sum, sums = new Array(n + 1);
+
+         for (sums[0] = sum = i = 0; i < n; ++i) {
+           sums[i + 1] = sum += nodes[i].value;
+         }
+
+         partition(0, n, parent.value, x0, y0, x1, y1);
+
+         function partition(i, j, value, x0, y0, x1, y1) {
+           if (i >= j - 1) {
+             var node = nodes[i];
+             node.x0 = x0, node.y0 = y0;
+             node.x1 = x1, node.y1 = y1;
+             return;
+           }
+
+           var valueOffset = sums[i],
+               valueTarget = (value / 2) + valueOffset,
+               k = i + 1,
+               hi = j - 1;
+
+           while (k < hi) {
+             var mid = k + hi >>> 1;
+             if (sums[mid] < valueTarget) k = mid + 1;
+             else hi = mid;
+           }
+
+           if ((valueTarget - sums[k - 1]) < (sums[k] - valueTarget) && i + 1 < k) --k;
+
+           var valueLeft = sums[k] - valueOffset,
+               valueRight = value - valueLeft;
+
+           if ((x1 - x0) > (y1 - y0)) {
+             var xk = (x0 * valueRight + x1 * valueLeft) / value;
+             partition(i, k, valueLeft, x0, y0, xk, y1);
+             partition(k, j, valueRight, xk, y0, x1, y1);
+           } else {
+             var yk = (y0 * valueRight + y1 * valueLeft) / value;
+             partition(i, k, valueLeft, x0, y0, x1, yk);
+             partition(k, j, valueRight, x0, yk, x1, y1);
+           }
+         }
+       }
+
+       function sliceDice(parent, x0, y0, x1, y1) {
+         (parent.depth & 1 ? treemapSlice : treemapDice)(parent, x0, y0, x1, y1);
+       }
+
+       var resquarify = (function custom(ratio) {
+
+         function resquarify(parent, x0, y0, x1, y1) {
+           if ((rows = parent._squarify) && (rows.ratio === ratio)) {
+             var rows,
+                 row,
+                 nodes,
+                 i,
+                 j = -1,
+                 n,
+                 m = rows.length,
+                 value = parent.value;
+
+             while (++j < m) {
+               row = rows[j], nodes = row.children;
+               for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value;
+               if (row.dice) treemapDice(row, x0, y0, x1, y0 += (y1 - y0) * row.value / value);
+               else treemapSlice(row, x0, y0, x0 += (x1 - x0) * row.value / value, y1);
+               value -= row.value;
+             }
+           } else {
+             parent._squarify = rows = squarifyRatio(ratio, parent, x0, y0, x1, y1);
+             rows.ratio = ratio;
+           }
+         }
+
+         resquarify.ratio = function(x) {
+           return custom((x = +x) > 1 ? x : 1);
+         };
+
+         return resquarify;
+       })(phi);
+
+       function d3_polygonArea(polygon) {
+         var i = -1,
+             n = polygon.length,
+             a,
+             b = polygon[n - 1],
+             area = 0;
+
+         while (++i < n) {
+           a = b;
+           b = polygon[i];
+           area += a[1] * b[0] - a[0] * b[1];
+         }
+
+         return area / 2;
+       }
+
+       function d3_polygonCentroid(polygon) {
+         var i = -1,
+             n = polygon.length,
+             x = 0,
+             y = 0,
+             a,
+             b = polygon[n - 1],
+             c,
+             k = 0;
+
+         while (++i < n) {
+           a = b;
+           b = polygon[i];
+           k += c = a[0] * b[1] - b[0] * a[1];
+           x += (a[0] + b[0]) * c;
+           y += (a[1] + b[1]) * c;
+         }
+
+         return k *= 3, [x / k, y / k];
+       }
+
+       // Returns the 2D cross product of AB and AC vectors, i.e., the z-component of
+       // the 3D cross product in a quadrant I Cartesian coordinate system (+x is
+       // right, +y is up). Returns a positive value if ABC is counter-clockwise,
+       // negative if clockwise, and zero if the points are collinear.
+       function cross$1(a, b, c) {
+         return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);
+       }
+
+       function lexicographicOrder(a, b) {
+         return a[0] - b[0] || a[1] - b[1];
+       }
+
+       // Computes the upper convex hull per the monotone chain algorithm.
+       // Assumes points.length >= 3, is sorted by x, unique in y.
+       // Returns an array of indices into points in left-to-right order.
+       function computeUpperHullIndexes(points) {
+         var n = points.length,
+             indexes = [0, 1],
+             size = 2;
+
+         for (var i = 2; i < n; ++i) {
+           while (size > 1 && cross$1(points[indexes[size - 2]], points[indexes[size - 1]], points[i]) <= 0) --size;
+           indexes[size++] = i;
+         }
+
+         return indexes.slice(0, size); // remove popped points
+       }
+
+       function d3_polygonHull(points) {
+         if ((n = points.length) < 3) return null;
+
+         var i,
+             n,
+             sortedPoints = new Array(n),
+             flippedPoints = new Array(n);
+
+         for (i = 0; i < n; ++i) sortedPoints[i] = [+points[i][0], +points[i][1], i];
+         sortedPoints.sort(lexicographicOrder);
+         for (i = 0; i < n; ++i) flippedPoints[i] = [sortedPoints[i][0], -sortedPoints[i][1]];
+
+         var upperIndexes = computeUpperHullIndexes(sortedPoints),
+             lowerIndexes = computeUpperHullIndexes(flippedPoints);
+
+         // Construct the hull polygon, removing possible duplicate endpoints.
+         var skipLeft = lowerIndexes[0] === upperIndexes[0],
+             skipRight = lowerIndexes[lowerIndexes.length - 1] === upperIndexes[upperIndexes.length - 1],
+             hull = [];
+
+         // Add upper hull in right-to-l order.
+         // Then add lower hull in left-to-right order.
+         for (i = upperIndexes.length - 1; i >= 0; --i) hull.push(points[sortedPoints[upperIndexes[i]][2]]);
+         for (i = +skipLeft; i < lowerIndexes.length - skipRight; ++i) hull.push(points[sortedPoints[lowerIndexes[i]][2]]);
+
+         return hull;
+       }
+
+       function contains$3(polygon, point) {
+         var n = polygon.length,
+             p = polygon[n - 1],
+             x = point[0], y = point[1],
+             x0 = p[0], y0 = p[1],
+             x1, y1,
+             inside = false;
+
+         for (var i = 0; i < n; ++i) {
+           p = polygon[i], x1 = p[0], y1 = p[1];
+           if (((y1 > y) !== (y0 > y)) && (x < (x0 - x1) * (y - y1) / (y0 - y1) + x1)) inside = !inside;
+           x0 = x1, y0 = y1;
+         }
+
+         return inside;
+       }
+
+       function length$1(polygon) {
+         var i = -1,
+             n = polygon.length,
+             b = polygon[n - 1],
+             xa,
+             ya,
+             xb = b[0],
+             yb = b[1],
+             perimeter = 0;
+
+         while (++i < n) {
+           xa = xb;
+           ya = yb;
+           b = polygon[i];
+           xb = b[0];
+           yb = b[1];
+           xa -= xb;
+           ya -= yb;
+           perimeter += Math.sqrt(xa * xa + ya * ya);
+         }
+
+         return perimeter;
+       }
+
+       function defaultSource$1() {
+         return Math.random();
+       }
+
+       var uniform = (function sourceRandomUniform(source) {
+         function randomUniform(min, max) {
+           min = min == null ? 0 : +min;
+           max = max == null ? 1 : +max;
+           if (arguments.length === 1) max = min, min = 0;
+           else max -= min;
+           return function() {
+             return source() * max + min;
+           };
+         }
+
+         randomUniform.source = sourceRandomUniform;
+
+         return randomUniform;
+       })(defaultSource$1);
+
+       var normal = (function sourceRandomNormal(source) {
+         function randomNormal(mu, sigma) {
+           var x, r;
+           mu = mu == null ? 0 : +mu;
+           sigma = sigma == null ? 1 : +sigma;
+           return function() {
+             var y;
+
+             // If available, use the second previously-generated uniform random.
+             if (x != null) y = x, x = null;
+
+             // Otherwise, generate a new x and y.
+             else do {
+               x = source() * 2 - 1;
+               y = source() * 2 - 1;
+               r = x * x + y * y;
+             } while (!r || r > 1);
+
+             return mu + sigma * y * Math.sqrt(-2 * Math.log(r) / r);
+           };
+         }
+
+         randomNormal.source = sourceRandomNormal;
+
+         return randomNormal;
+       })(defaultSource$1);
+
+       var logNormal = (function sourceRandomLogNormal(source) {
+         function randomLogNormal() {
+           var randomNormal = normal.source(source).apply(this, arguments);
+           return function() {
+             return Math.exp(randomNormal());
+           };
+         }
+
+         randomLogNormal.source = sourceRandomLogNormal;
+
+         return randomLogNormal;
+       })(defaultSource$1);
+
+       var irwinHall = (function sourceRandomIrwinHall(source) {
+         function randomIrwinHall(n) {
+           return function() {
+             for (var sum = 0, i = 0; i < n; ++i) sum += source();
+             return sum;
+           };
+         }
+
+         randomIrwinHall.source = sourceRandomIrwinHall;
+
+         return randomIrwinHall;
+       })(defaultSource$1);
+
+       var bates = (function sourceRandomBates(source) {
+         function randomBates(n) {
+           var randomIrwinHall = irwinHall.source(source)(n);
+           return function() {
+             return randomIrwinHall() / n;
+           };
+         }
+
+         randomBates.source = sourceRandomBates;
+
+         return randomBates;
+       })(defaultSource$1);
+
+       var exponential$1 = (function sourceRandomExponential(source) {
+         function randomExponential(lambda) {
+           return function() {
+             return -Math.log(1 - source()) / lambda;
+           };
+         }
+
+         randomExponential.source = sourceRandomExponential;
+
+         return randomExponential;
+       })(defaultSource$1);
+
+       function initRange(domain, range) {
+         switch (arguments.length) {
+           case 0: break;
+           case 1: this.range(domain); break;
+           default: this.range(range).domain(domain); break;
+         }
+         return this;
+       }
+
+       function initInterpolator(domain, interpolator) {
+         switch (arguments.length) {
+           case 0: break;
+           case 1: this.interpolator(domain); break;
+           default: this.interpolator(interpolator).domain(domain); break;
+         }
+         return this;
+       }
+
+       var array$4 = Array.prototype;
+
+       var map$4 = array$4.map;
+       var slice$9 = array$4.slice;
+
+       var implicit = {name: "implicit"};
+
+       function ordinal() {
+         var index = map$3(),
+             domain = [],
+             range = [],
+             unknown = implicit;
+
+         function scale(d) {
+           var key = d + "", i = index.get(key);
+           if (!i) {
+             if (unknown !== implicit) return unknown;
+             index.set(key, i = domain.push(d));
+           }
+           return range[(i - 1) % range.length];
+         }
+
+         scale.domain = function(_) {
+           if (!arguments.length) return domain.slice();
+           domain = [], index = map$3();
+           var i = -1, n = _.length, d, key;
+           while (++i < n) if (!index.has(key = (d = _[i]) + "")) index.set(key, domain.push(d));
+           return scale;
+         };
+
+         scale.range = function(_) {
+           return arguments.length ? (range = slice$9.call(_), scale) : range.slice();
+         };
+
+         scale.unknown = function(_) {
+           return arguments.length ? (unknown = _, scale) : unknown;
+         };
+
+         scale.copy = function() {
+           return ordinal(domain, range).unknown(unknown);
+         };
+
+         initRange.apply(scale, arguments);
+
+         return scale;
+       }
+
+       function band() {
+         var scale = ordinal().unknown(undefined),
+             domain = scale.domain,
+             ordinalRange = scale.range,
+             range = [0, 1],
+             step,
+             bandwidth,
+             round = false,
+             paddingInner = 0,
+             paddingOuter = 0,
+             align = 0.5;
+
+         delete scale.unknown;
+
+         function rescale() {
+           var n = domain().length,
+               reverse = range[1] < range[0],
+               start = range[reverse - 0],
+               stop = range[1 - reverse];
+           step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);
+           if (round) step = Math.floor(step);
+           start += (stop - start - step * (n - paddingInner)) * align;
+           bandwidth = step * (1 - paddingInner);
+           if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);
+           var values = d3_range(n).map(function(i) { return start + step * i; });
+           return ordinalRange(reverse ? values.reverse() : values);
+         }
+
+         scale.domain = function(_) {
+           return arguments.length ? (domain(_), rescale()) : domain();
+         };
+
+         scale.range = function(_) {
+           return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice();
+         };
+
+         scale.rangeRound = function(_) {
+           return range = [+_[0], +_[1]], round = true, rescale();
+         };
+
+         scale.bandwidth = function() {
+           return bandwidth;
+         };
+
+         scale.step = function() {
+           return step;
+         };
+
+         scale.round = function(_) {
+           return arguments.length ? (round = !!_, rescale()) : round;
+         };
+
+         scale.padding = function(_) {
+           return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;
+         };
+
+         scale.paddingInner = function(_) {
+           return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;
+         };
+
+         scale.paddingOuter = function(_) {
+           return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;
+         };
+
+         scale.align = function(_) {
+           return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;
+         };
+
+         scale.copy = function() {
+           return band(domain(), range)
+               .round(round)
+               .paddingInner(paddingInner)
+               .paddingOuter(paddingOuter)
+               .align(align);
+         };
+
+         return initRange.apply(rescale(), arguments);
+       }
+
+       function pointish(scale) {
+         var copy = scale.copy;
+
+         scale.padding = scale.paddingOuter;
+         delete scale.paddingInner;
+         delete scale.paddingOuter;
+
+         scale.copy = function() {
+           return pointish(copy());
+         };
+
+         return scale;
+       }
+
+       function point$1() {
+         return pointish(band.apply(null, arguments).paddingInner(1));
+       }
+
+       function constant$a(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       function number$2(x) {
+         return +x;
+       }
+
+       var unit = [0, 1];
+
+       function identity$5(x) {
+         return x;
+       }
+
+       function normalize(a, b) {
+         return (b -= (a = +a))
+             ? function(x) { return (x - a) / b; }
+             : constant$a(isNaN(b) ? NaN : 0.5);
+       }
+
+       function clamper(domain) {
+         var a = domain[0], b = domain[domain.length - 1], t;
+         if (a > b) t = a, a = b, b = t;
+         return function(x) { return Math.max(a, Math.min(b, x)); };
+       }
+
+       // normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].
+       // interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].
+       function bimap(domain, range, interpolate) {
+         var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];
+         if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);
+         else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);
+         return function(x) { return r0(d0(x)); };
+       }
+
+       function polymap(domain, range, interpolate) {
+         var j = Math.min(domain.length, range.length) - 1,
+             d = new Array(j),
+             r = new Array(j),
+             i = -1;
+
+         // Reverse descending domains.
+         if (domain[j] < domain[0]) {
+           domain = domain.slice().reverse();
+           range = range.slice().reverse();
+         }
+
+         while (++i < j) {
+           d[i] = normalize(domain[i], domain[i + 1]);
+           r[i] = interpolate(range[i], range[i + 1]);
+         }
+
+         return function(x) {
+           var i = bisectRight(domain, x, 1, j) - 1;
+           return r[i](d[i](x));
+         };
+       }
+
+       function copy$1(source, target) {
+         return target
+             .domain(source.domain())
+             .range(source.range())
+             .interpolate(source.interpolate())
+             .clamp(source.clamp())
+             .unknown(source.unknown());
+       }
+
+       function transformer$1() {
+         var domain = unit,
+             range = unit,
+             interpolate = d3_interpolate,
+             transform,
+             untransform,
+             unknown,
+             clamp = identity$5,
+             piecewise,
+             output,
+             input;
+
+         function rescale() {
+           piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;
+           output = input = null;
+           return scale;
+         }
+
+         function scale(x) {
+           return isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));
+         }
+
+         scale.invert = function(y) {
+           return clamp(untransform((input || (input = piecewise(range, domain.map(transform), d3_interpolateNumber)))(y)));
+         };
+
+         scale.domain = function(_) {
+           return arguments.length ? (domain = map$4.call(_, number$2), clamp === identity$5 || (clamp = clamper(domain)), rescale()) : domain.slice();
+         };
+
+         scale.range = function(_) {
+           return arguments.length ? (range = slice$9.call(_), rescale()) : range.slice();
+         };
+
+         scale.rangeRound = function(_) {
+           return range = slice$9.call(_), interpolate = interpolateRound, rescale();
+         };
+
+         scale.clamp = function(_) {
+           return arguments.length ? (clamp = _ ? clamper(domain) : identity$5, scale) : clamp !== identity$5;
+         };
+
+         scale.interpolate = function(_) {
+           return arguments.length ? (interpolate = _, rescale()) : interpolate;
+         };
+
+         scale.unknown = function(_) {
+           return arguments.length ? (unknown = _, scale) : unknown;
+         };
+
+         return function(t, u) {
+           transform = t, untransform = u;
+           return rescale();
+         };
+       }
+
+       function continuous(transform, untransform) {
+         return transformer$1()(transform, untransform);
+       }
+
+       function tickFormat(start, stop, count, specifier) {
+         var step = tickStep(start, stop, count),
+             precision;
+         specifier = formatSpecifier(specifier == null ? ",f" : specifier);
+         switch (specifier.type) {
+           case "s": {
+             var value = Math.max(Math.abs(start), Math.abs(stop));
+             if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;
+             return formatPrefix(specifier, value);
+           }
+           case "":
+           case "e":
+           case "g":
+           case "p":
+           case "r": {
+             if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e");
+             break;
+           }
+           case "f":
+           case "%": {
+             if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2;
+             break;
+           }
+         }
+         return format(specifier);
+       }
+
+       function linearish(scale) {
+         var domain = scale.domain;
+
+         scale.ticks = function(count) {
+           var d = domain();
+           return ticks(d[0], d[d.length - 1], count == null ? 10 : count);
+         };
+
+         scale.tickFormat = function(count, specifier) {
+           var d = domain();
+           return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);
+         };
+
+         scale.nice = function(count) {
+           if (count == null) count = 10;
+
+           var d = domain(),
+               i0 = 0,
+               i1 = d.length - 1,
+               start = d[i0],
+               stop = d[i1],
+               step;
+
+           if (stop < start) {
+             step = start, start = stop, stop = step;
+             step = i0, i0 = i1, i1 = step;
+           }
+
+           step = tickIncrement(start, stop, count);
+
+           if (step > 0) {
+             start = Math.floor(start / step) * step;
+             stop = Math.ceil(stop / step) * step;
+             step = tickIncrement(start, stop, count);
+           } else if (step < 0) {
+             start = Math.ceil(start * step) / step;
+             stop = Math.floor(stop * step) / step;
+             step = tickIncrement(start, stop, count);
+           }
+
+           if (step > 0) {
+             d[i0] = Math.floor(start / step) * step;
+             d[i1] = Math.ceil(stop / step) * step;
+             domain(d);
+           } else if (step < 0) {
+             d[i0] = Math.ceil(start * step) / step;
+             d[i1] = Math.floor(stop * step) / step;
+             domain(d);
+           }
+
+           return scale;
+         };
+
+         return scale;
+       }
+
+       function linear$2() {
+         var scale = continuous(identity$5, identity$5);
+
+         scale.copy = function() {
+           return copy$1(scale, linear$2());
+         };
+
+         initRange.apply(scale, arguments);
+
+         return linearish(scale);
+       }
+
+       function identity$6(domain) {
+         var unknown;
+
+         function scale(x) {
+           return isNaN(x = +x) ? unknown : x;
+         }
+
+         scale.invert = scale;
+
+         scale.domain = scale.range = function(_) {
+           return arguments.length ? (domain = map$4.call(_, number$2), scale) : domain.slice();
+         };
+
+         scale.unknown = function(_) {
+           return arguments.length ? (unknown = _, scale) : unknown;
+         };
+
+         scale.copy = function() {
+           return identity$6(domain).unknown(unknown);
+         };
+
+         domain = arguments.length ? map$4.call(domain, number$2) : [0, 1];
+
+         return linearish(scale);
+       }
+
+       function nice(domain, interval) {
+         domain = domain.slice();
+
+         var i0 = 0,
+             i1 = domain.length - 1,
+             x0 = domain[i0],
+             x1 = domain[i1],
+             t;
+
+         if (x1 < x0) {
+           t = i0, i0 = i1, i1 = t;
+           t = x0, x0 = x1, x1 = t;
+         }
+
+         domain[i0] = interval.floor(x0);
+         domain[i1] = interval.ceil(x1);
+         return domain;
+       }
+
+       function transformLog(x) {
+         return Math.log(x);
+       }
+
+       function transformExp(x) {
+         return Math.exp(x);
+       }
+
+       function transformLogn(x) {
+         return -Math.log(-x);
+       }
+
+       function transformExpn(x) {
+         return -Math.exp(-x);
+       }
+
+       function pow10(x) {
+         return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x;
+       }
+
+       function powp(base) {
+         return base === 10 ? pow10
+             : base === Math.E ? Math.exp
+             : function(x) { return Math.pow(base, x); };
+       }
+
+       function logp(base) {
+         return base === Math.E ? Math.log
+             : base === 10 && Math.log10
+             || base === 2 && Math.log2
+             || (base = Math.log(base), function(x) { return Math.log(x) / base; });
+       }
+
+       function reflect(f) {
+         return function(x) {
+           return -f(-x);
+         };
+       }
+
+       function loggish(transform) {
+         var scale = transform(transformLog, transformExp),
+             domain = scale.domain,
+             base = 10,
+             logs,
+             pows;
+
+         function rescale() {
+           logs = logp(base), pows = powp(base);
+           if (domain()[0] < 0) {
+             logs = reflect(logs), pows = reflect(pows);
+             transform(transformLogn, transformExpn);
+           } else {
+             transform(transformLog, transformExp);
+           }
+           return scale;
+         }
+
+         scale.base = function(_) {
+           return arguments.length ? (base = +_, rescale()) : base;
+         };
+
+         scale.domain = function(_) {
+           return arguments.length ? (domain(_), rescale()) : domain();
+         };
+
+         scale.ticks = function(count) {
+           var d = domain(),
+               u = d[0],
+               v = d[d.length - 1],
+               r;
+
+           if (r = v < u) i = u, u = v, v = i;
+
+           var i = logs(u),
+               j = logs(v),
+               p,
+               k,
+               t,
+               n = count == null ? 10 : +count,
+               z = [];
+
+           if (!(base % 1) && j - i < n) {
+             i = Math.round(i) - 1, j = Math.round(j) + 1;
+             if (u > 0) for (; i < j; ++i) {
+               for (k = 1, p = pows(i); k < base; ++k) {
+                 t = p * k;
+                 if (t < u) continue;
+                 if (t > v) break;
+                 z.push(t);
+               }
+             } else for (; i < j; ++i) {
+               for (k = base - 1, p = pows(i); k >= 1; --k) {
+                 t = p * k;
+                 if (t < u) continue;
+                 if (t > v) break;
+                 z.push(t);
+               }
+             }
+           } else {
+             z = ticks(i, j, Math.min(j - i, n)).map(pows);
+           }
+
+           return r ? z.reverse() : z;
+         };
+
+         scale.tickFormat = function(count, specifier) {
+           if (specifier == null) specifier = base === 10 ? ".0e" : ",";
+           if (typeof specifier !== "function") specifier = format(specifier);
+           if (count === Infinity) return specifier;
+           if (count == null) count = 10;
+           var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?
+           return function(d) {
+             var i = d / pows(Math.round(logs(d)));
+             if (i * base < base - 0.5) i *= base;
+             return i <= k ? specifier(d) : "";
+           };
+         };
+
+         scale.nice = function() {
+           return domain(nice(domain(), {
+             floor: function(x) { return pows(Math.floor(logs(x))); },
+             ceil: function(x) { return pows(Math.ceil(logs(x))); }
+           }));
+         };
+
+         return scale;
+       }
+
+       function log$1() {
+         var scale = loggish(transformer$1()).domain([1, 10]);
+
+         scale.copy = function() {
+           return copy$1(scale, log$1()).base(scale.base());
+         };
+
+         initRange.apply(scale, arguments);
+
+         return scale;
+       }
+
+       function transformSymlog(c) {
+         return function(x) {
+           return Math.sign(x) * Math.log1p(Math.abs(x / c));
+         };
+       }
+
+       function transformSymexp(c) {
+         return function(x) {
+           return Math.sign(x) * Math.expm1(Math.abs(x)) * c;
+         };
+       }
+
+       function symlogish(transform) {
+         var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));
+
+         scale.constant = function(_) {
+           return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;
+         };
+
+         return linearish(scale);
+       }
+
+       function symlog() {
+         var scale = symlogish(transformer$1());
+
+         scale.copy = function() {
+           return copy$1(scale, symlog()).constant(scale.constant());
+         };
+
+         return initRange.apply(scale, arguments);
+       }
+
+       function transformPow(exponent) {
+         return function(x) {
+           return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);
+         };
+       }
+
+       function transformSqrt(x) {
+         return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);
+       }
+
+       function transformSquare(x) {
+         return x < 0 ? -x * x : x * x;
+       }
+
+       function powish(transform) {
+         var scale = transform(identity$5, identity$5),
+             exponent = 1;
+
+         function rescale() {
+           return exponent === 1 ? transform(identity$5, identity$5)
+               : exponent === 0.5 ? transform(transformSqrt, transformSquare)
+               : transform(transformPow(exponent), transformPow(1 / exponent));
+         }
+
+         scale.exponent = function(_) {
+           return arguments.length ? (exponent = +_, rescale()) : exponent;
+         };
+
+         return linearish(scale);
+       }
+
+       function pow$1() {
+         var scale = powish(transformer$1());
+
+         scale.copy = function() {
+           return copy$1(scale, pow$1()).exponent(scale.exponent());
+         };
+
+         initRange.apply(scale, arguments);
+
+         return scale;
+       }
+
+       function sqrt$1() {
+         return pow$1.apply(null, arguments).exponent(0.5);
+       }
+
+       function quantile() {
+         var domain = [],
+             range = [],
+             thresholds = [],
+             unknown;
+
+         function rescale() {
+           var i = 0, n = Math.max(1, range.length);
+           thresholds = new Array(n - 1);
+           while (++i < n) thresholds[i - 1] = threshold(domain, i / n);
+           return scale;
+         }
+
+         function scale(x) {
+           return isNaN(x = +x) ? unknown : range[bisectRight(thresholds, x)];
+         }
+
+         scale.invertExtent = function(y) {
+           var i = range.indexOf(y);
+           return i < 0 ? [NaN, NaN] : [
+             i > 0 ? thresholds[i - 1] : domain[0],
+             i < thresholds.length ? thresholds[i] : domain[domain.length - 1]
+           ];
+         };
+
+         scale.domain = function(_) {
+           if (!arguments.length) return domain.slice();
+           domain = [];
+           for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);
+           domain.sort(d3_ascending);
+           return rescale();
+         };
+
+         scale.range = function(_) {
+           return arguments.length ? (range = slice$9.call(_), rescale()) : range.slice();
+         };
+
+         scale.unknown = function(_) {
+           return arguments.length ? (unknown = _, scale) : unknown;
+         };
+
+         scale.quantiles = function() {
+           return thresholds.slice();
+         };
+
+         scale.copy = function() {
+           return quantile()
+               .domain(domain)
+               .range(range)
+               .unknown(unknown);
+         };
+
+         return initRange.apply(scale, arguments);
+       }
+
+       function quantize() {
+         var x0 = 0,
+             x1 = 1,
+             n = 1,
+             domain = [0.5],
+             range = [0, 1],
+             unknown;
+
+         function scale(x) {
+           return x <= x ? range[bisectRight(domain, x, 0, n)] : unknown;
+         }
+
+         function rescale() {
+           var i = -1;
+           domain = new Array(n);
+           while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);
+           return scale;
+         }
+
+         scale.domain = function(_) {
+           return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];
+         };
+
+         scale.range = function(_) {
+           return arguments.length ? (n = (range = slice$9.call(_)).length - 1, rescale()) : range.slice();
+         };
+
+         scale.invertExtent = function(y) {
+           var i = range.indexOf(y);
+           return i < 0 ? [NaN, NaN]
+               : i < 1 ? [x0, domain[0]]
+               : i >= n ? [domain[n - 1], x1]
+               : [domain[i - 1], domain[i]];
+         };
+
+         scale.unknown = function(_) {
+           return arguments.length ? (unknown = _, scale) : scale;
+         };
+
+         scale.thresholds = function() {
+           return domain.slice();
+         };
+
+         scale.copy = function() {
+           return quantize()
+               .domain([x0, x1])
+               .range(range)
+               .unknown(unknown);
+         };
+
+         return initRange.apply(linearish(scale), arguments);
+       }
+
+       function threshold$1() {
+         var domain = [0.5],
+             range = [0, 1],
+             unknown,
+             n = 1;
+
+         function scale(x) {
+           return x <= x ? range[bisectRight(domain, x, 0, n)] : unknown;
+         }
+
+         scale.domain = function(_) {
+           return arguments.length ? (domain = slice$9.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();
+         };
+
+         scale.range = function(_) {
+           return arguments.length ? (range = slice$9.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();
+         };
+
+         scale.invertExtent = function(y) {
+           var i = range.indexOf(y);
+           return [domain[i - 1], domain[i]];
+         };
+
+         scale.unknown = function(_) {
+           return arguments.length ? (unknown = _, scale) : unknown;
+         };
+
+         scale.copy = function() {
+           return threshold$1()
+               .domain(domain)
+               .range(range)
+               .unknown(unknown);
+         };
+
+         return initRange.apply(scale, arguments);
+       }
+
+       var t0$1 = new Date,
+           t1$1 = new Date;
+
+       function newInterval(floori, offseti, count, field) {
+
+         function interval(date) {
+           return floori(date = new Date(+date)), date;
+         }
+
+         interval.floor = interval;
+
+         interval.ceil = function(date) {
+           return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;
+         };
+
+         interval.round = function(date) {
+           var d0 = interval(date),
+               d1 = interval.ceil(date);
+           return date - d0 < d1 - date ? d0 : d1;
+         };
+
+         interval.offset = function(date, step) {
+           return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;
+         };
+
+         interval.range = function(start, stop, step) {
+           var range = [], previous;
+           start = interval.ceil(start);
+           step = step == null ? 1 : Math.floor(step);
+           if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date
+           do range.push(previous = new Date(+start)), offseti(start, step), floori(start);
+           while (previous < start && start < stop);
+           return range;
+         };
+
+         interval.filter = function(test) {
+           return newInterval(function(date) {
+             if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);
+           }, function(date, step) {
+             if (date >= date) {
+               if (step < 0) while (++step <= 0) {
+                 while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty
+               } else while (--step >= 0) {
+                 while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty
+               }
+             }
+           });
+         };
+
+         if (count) {
+           interval.count = function(start, end) {
+             t0$1.setTime(+start), t1$1.setTime(+end);
+             floori(t0$1), floori(t1$1);
+             return Math.floor(count(t0$1, t1$1));
+           };
+
+           interval.every = function(step) {
+             step = Math.floor(step);
+             return !isFinite(step) || !(step > 0) ? null
+                 : !(step > 1) ? interval
+                 : interval.filter(field
+                     ? function(d) { return field(d) % step === 0; }
+                     : function(d) { return interval.count(0, d) % step === 0; });
+           };
+         }
+
+         return interval;
+       }
+
+       var millisecond = newInterval(function() {
+         // noop
+       }, function(date, step) {
+         date.setTime(+date + step);
+       }, function(start, end) {
+         return end - start;
+       });
+
+       // An optimized implementation for this simple case.
+       millisecond.every = function(k) {
+         k = Math.floor(k);
+         if (!isFinite(k) || !(k > 0)) return null;
+         if (!(k > 1)) return millisecond;
+         return newInterval(function(date) {
+           date.setTime(Math.floor(date / k) * k);
+         }, function(date, step) {
+           date.setTime(+date + step * k);
+         }, function(start, end) {
+           return (end - start) / k;
+         });
+       };
+       var milliseconds = millisecond.range;
+
+       var durationSecond = 1e3;
+       var durationMinute = 6e4;
+       var durationHour = 36e5;
+       var durationDay = 864e5;
+       var durationWeek = 6048e5;
+
+       var second = newInterval(function(date) {
+         date.setTime(date - date.getMilliseconds());
+       }, function(date, step) {
+         date.setTime(+date + step * durationSecond);
+       }, function(start, end) {
+         return (end - start) / durationSecond;
+       }, function(date) {
+         return date.getUTCSeconds();
+       });
+       var seconds = second.range;
+
+       var minute = newInterval(function(date) {
+         date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);
+       }, function(date, step) {
+         date.setTime(+date + step * durationMinute);
+       }, function(start, end) {
+         return (end - start) / durationMinute;
+       }, function(date) {
+         return date.getMinutes();
+       });
+       var minutes = minute.range;
+
+       var hour = newInterval(function(date) {
+         date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);
+       }, function(date, step) {
+         date.setTime(+date + step * durationHour);
+       }, function(start, end) {
+         return (end - start) / durationHour;
+       }, function(date) {
+         return date.getHours();
+       });
+       var hours = hour.range;
+
+       var day = newInterval(function(date) {
+         date.setHours(0, 0, 0, 0);
+       }, function(date, step) {
+         date.setDate(date.getDate() + step);
+       }, function(start, end) {
+         return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;
+       }, function(date) {
+         return date.getDate() - 1;
+       });
+       var days = day.range;
+
+       function weekday(i) {
+         return newInterval(function(date) {
+           date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);
+           date.setHours(0, 0, 0, 0);
+         }, function(date, step) {
+           date.setDate(date.getDate() + step * 7);
+         }, function(start, end) {
+           return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;
+         });
+       }
+
+       var sunday = weekday(0);
+       var monday = weekday(1);
+       var tuesday = weekday(2);
+       var wednesday = weekday(3);
+       var thursday = weekday(4);
+       var friday = weekday(5);
+       var saturday = weekday(6);
+
+       var sundays = sunday.range;
+       var mondays = monday.range;
+       var tuesdays = tuesday.range;
+       var wednesdays = wednesday.range;
+       var thursdays = thursday.range;
+       var fridays = friday.range;
+       var saturdays = saturday.range;
+
+       var month = newInterval(function(date) {
+         date.setDate(1);
+         date.setHours(0, 0, 0, 0);
+       }, function(date, step) {
+         date.setMonth(date.getMonth() + step);
+       }, function(start, end) {
+         return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;
+       }, function(date) {
+         return date.getMonth();
+       });
+       var months = month.range;
+
+       var year = newInterval(function(date) {
+         date.setMonth(0, 1);
+         date.setHours(0, 0, 0, 0);
+       }, function(date, step) {
+         date.setFullYear(date.getFullYear() + step);
+       }, function(start, end) {
+         return end.getFullYear() - start.getFullYear();
+       }, function(date) {
+         return date.getFullYear();
+       });
+
+       // An optimized implementation for this simple case.
+       year.every = function(k) {
+         return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : newInterval(function(date) {
+           date.setFullYear(Math.floor(date.getFullYear() / k) * k);
+           date.setMonth(0, 1);
+           date.setHours(0, 0, 0, 0);
+         }, function(date, step) {
+           date.setFullYear(date.getFullYear() + step * k);
+         });
+       };
+       var years = year.range;
+
+       var utcMinute = newInterval(function(date) {
+         date.setUTCSeconds(0, 0);
+       }, function(date, step) {
+         date.setTime(+date + step * durationMinute);
+       }, function(start, end) {
+         return (end - start) / durationMinute;
+       }, function(date) {
+         return date.getUTCMinutes();
+       });
+       var utcMinutes = utcMinute.range;
+
+       var utcHour = newInterval(function(date) {
+         date.setUTCMinutes(0, 0, 0);
+       }, function(date, step) {
+         date.setTime(+date + step * durationHour);
+       }, function(start, end) {
+         return (end - start) / durationHour;
+       }, function(date) {
+         return date.getUTCHours();
+       });
+       var utcHours = utcHour.range;
+
+       var utcDay = newInterval(function(date) {
+         date.setUTCHours(0, 0, 0, 0);
+       }, function(date, step) {
+         date.setUTCDate(date.getUTCDate() + step);
+       }, function(start, end) {
+         return (end - start) / durationDay;
+       }, function(date) {
+         return date.getUTCDate() - 1;
+       });
+       var utcDays = utcDay.range;
+
+       function utcWeekday(i) {
+         return newInterval(function(date) {
+           date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);
+           date.setUTCHours(0, 0, 0, 0);
+         }, function(date, step) {
+           date.setUTCDate(date.getUTCDate() + step * 7);
+         }, function(start, end) {
+           return (end - start) / durationWeek;
+         });
+       }
+
+       var utcSunday = utcWeekday(0);
+       var utcMonday = utcWeekday(1);
+       var utcTuesday = utcWeekday(2);
+       var utcWednesday = utcWeekday(3);
+       var utcThursday = utcWeekday(4);
+       var utcFriday = utcWeekday(5);
+       var utcSaturday = utcWeekday(6);
+
+       var utcSundays = utcSunday.range;
+       var utcMondays = utcMonday.range;
+       var utcTuesdays = utcTuesday.range;
+       var utcWednesdays = utcWednesday.range;
+       var utcThursdays = utcThursday.range;
+       var utcFridays = utcFriday.range;
+       var utcSaturdays = utcSaturday.range;
+
+       var utcMonth = newInterval(function(date) {
+         date.setUTCDate(1);
+         date.setUTCHours(0, 0, 0, 0);
+       }, function(date, step) {
+         date.setUTCMonth(date.getUTCMonth() + step);
+       }, function(start, end) {
+         return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;
+       }, function(date) {
+         return date.getUTCMonth();
+       });
+       var utcMonths = utcMonth.range;
+
+       var utcYear = newInterval(function(date) {
+         date.setUTCMonth(0, 1);
+         date.setUTCHours(0, 0, 0, 0);
+       }, function(date, step) {
+         date.setUTCFullYear(date.getUTCFullYear() + step);
+       }, function(start, end) {
+         return end.getUTCFullYear() - start.getUTCFullYear();
+       }, function(date) {
+         return date.getUTCFullYear();
+       });
+
+       // An optimized implementation for this simple case.
+       utcYear.every = function(k) {
+         return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : newInterval(function(date) {
+           date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);
+           date.setUTCMonth(0, 1);
+           date.setUTCHours(0, 0, 0, 0);
+         }, function(date, step) {
+           date.setUTCFullYear(date.getUTCFullYear() + step * k);
+         });
+       };
+       var utcYears = utcYear.range;
+
+       function localDate(d) {
+         if (0 <= d.y && d.y < 100) {
+           var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
+           date.setFullYear(d.y);
+           return date;
+         }
+         return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);
+       }
+
+       function utcDate(d) {
+         if (0 <= d.y && d.y < 100) {
+           var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));
+           date.setUTCFullYear(d.y);
+           return date;
+         }
+         return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));
+       }
+
+       function newYear(y) {
+         return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0};
+       }
+
+       function formatLocale$1(locale) {
+         var locale_dateTime = locale.dateTime,
+             locale_date = locale.date,
+             locale_time = locale.time,
+             locale_periods = locale.periods,
+             locale_weekdays = locale.days,
+             locale_shortWeekdays = locale.shortDays,
+             locale_months = locale.months,
+             locale_shortMonths = locale.shortMonths;
+
+         var periodRe = formatRe(locale_periods),
+             periodLookup = formatLookup(locale_periods),
+             weekdayRe = formatRe(locale_weekdays),
+             weekdayLookup = formatLookup(locale_weekdays),
+             shortWeekdayRe = formatRe(locale_shortWeekdays),
+             shortWeekdayLookup = formatLookup(locale_shortWeekdays),
+             monthRe = formatRe(locale_months),
+             monthLookup = formatLookup(locale_months),
+             shortMonthRe = formatRe(locale_shortMonths),
+             shortMonthLookup = formatLookup(locale_shortMonths);
+
+         var formats = {
+           "a": formatShortWeekday,
+           "A": formatWeekday,
+           "b": formatShortMonth,
+           "B": formatMonth,
+           "c": null,
+           "d": formatDayOfMonth,
+           "e": formatDayOfMonth,
+           "f": formatMicroseconds,
+           "H": formatHour24,
+           "I": formatHour12,
+           "j": formatDayOfYear,
+           "L": formatMilliseconds,
+           "m": formatMonthNumber,
+           "M": formatMinutes,
+           "p": formatPeriod,
+           "Q": formatUnixTimestamp,
+           "s": formatUnixTimestampSeconds,
+           "S": formatSeconds,
+           "u": formatWeekdayNumberMonday,
+           "U": formatWeekNumberSunday,
+           "V": formatWeekNumberISO,
+           "w": formatWeekdayNumberSunday,
+           "W": formatWeekNumberMonday,
+           "x": null,
+           "X": null,
+           "y": formatYear$1,
+           "Y": formatFullYear,
+           "Z": formatZone,
+           "%": formatLiteralPercent
+         };
+
+         var utcFormats = {
+           "a": formatUTCShortWeekday,
+           "A": formatUTCWeekday,
+           "b": formatUTCShortMonth,
+           "B": formatUTCMonth,
+           "c": null,
+           "d": formatUTCDayOfMonth,
+           "e": formatUTCDayOfMonth,
+           "f": formatUTCMicroseconds,
+           "H": formatUTCHour24,
+           "I": formatUTCHour12,
+           "j": formatUTCDayOfYear,
+           "L": formatUTCMilliseconds,
+           "m": formatUTCMonthNumber,
+           "M": formatUTCMinutes,
+           "p": formatUTCPeriod,
+           "Q": formatUnixTimestamp,
+           "s": formatUnixTimestampSeconds,
+           "S": formatUTCSeconds,
+           "u": formatUTCWeekdayNumberMonday,
+           "U": formatUTCWeekNumberSunday,
+           "V": formatUTCWeekNumberISO,
+           "w": formatUTCWeekdayNumberSunday,
+           "W": formatUTCWeekNumberMonday,
+           "x": null,
+           "X": null,
+           "y": formatUTCYear,
+           "Y": formatUTCFullYear,
+           "Z": formatUTCZone,
+           "%": formatLiteralPercent
+         };
+
+         var parses = {
+           "a": parseShortWeekday,
+           "A": parseWeekday,
+           "b": parseShortMonth,
+           "B": parseMonth,
+           "c": parseLocaleDateTime,
+           "d": parseDayOfMonth,
+           "e": parseDayOfMonth,
+           "f": parseMicroseconds,
+           "H": parseHour24,
+           "I": parseHour24,
+           "j": parseDayOfYear,
+           "L": parseMilliseconds,
+           "m": parseMonthNumber,
+           "M": parseMinutes,
+           "p": parsePeriod,
+           "Q": parseUnixTimestamp,
+           "s": parseUnixTimestampSeconds,
+           "S": parseSeconds,
+           "u": parseWeekdayNumberMonday,
+           "U": parseWeekNumberSunday,
+           "V": parseWeekNumberISO,
+           "w": parseWeekdayNumberSunday,
+           "W": parseWeekNumberMonday,
+           "x": parseLocaleDate,
+           "X": parseLocaleTime,
+           "y": parseYear,
+           "Y": parseFullYear,
+           "Z": parseZone,
+           "%": parseLiteralPercent
+         };
+
+         // These recursive directive definitions must be deferred.
+         formats.x = newFormat(locale_date, formats);
+         formats.X = newFormat(locale_time, formats);
+         formats.c = newFormat(locale_dateTime, formats);
+         utcFormats.x = newFormat(locale_date, utcFormats);
+         utcFormats.X = newFormat(locale_time, utcFormats);
+         utcFormats.c = newFormat(locale_dateTime, utcFormats);
+
+         function newFormat(specifier, formats) {
+           return function(date) {
+             var string = [],
+                 i = -1,
+                 j = 0,
+                 n = specifier.length,
+                 c,
+                 pad,
+                 format;
+
+             if (!(date instanceof Date)) date = new Date(+date);
+
+             while (++i < n) {
+               if (specifier.charCodeAt(i) === 37) {
+                 string.push(specifier.slice(j, i));
+                 if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);
+                 else pad = c === "e" ? " " : "0";
+                 if (format = formats[c]) c = format(date, pad);
+                 string.push(c);
+                 j = i + 1;
+               }
+             }
+
+             string.push(specifier.slice(j, i));
+             return string.join("");
+           };
+         }
+
+         function newParse(specifier, newDate) {
+           return function(string) {
+             var d = newYear(1900),
+                 i = parseSpecifier(d, specifier, string += "", 0),
+                 week, day$1;
+             if (i != string.length) return null;
+
+             // If a UNIX timestamp is specified, return it.
+             if ("Q" in d) return new Date(d.Q);
+
+             // The am-pm flag is 0 for AM, and 1 for PM.
+             if ("p" in d) d.H = d.H % 12 + d.p * 12;
+
+             // Convert day-of-week and week-of-year to day-of-year.
+             if ("V" in d) {
+               if (d.V < 1 || d.V > 53) return null;
+               if (!("w" in d)) d.w = 1;
+               if ("Z" in d) {
+                 week = utcDate(newYear(d.y)), day$1 = week.getUTCDay();
+                 week = day$1 > 4 || day$1 === 0 ? utcMonday.ceil(week) : utcMonday(week);
+                 week = utcDay.offset(week, (d.V - 1) * 7);
+                 d.y = week.getUTCFullYear();
+                 d.m = week.getUTCMonth();
+                 d.d = week.getUTCDate() + (d.w + 6) % 7;
+               } else {
+                 week = newDate(newYear(d.y)), day$1 = week.getDay();
+                 week = day$1 > 4 || day$1 === 0 ? monday.ceil(week) : monday(week);
+                 week = day.offset(week, (d.V - 1) * 7);
+                 d.y = week.getFullYear();
+                 d.m = week.getMonth();
+                 d.d = week.getDate() + (d.w + 6) % 7;
+               }
+             } else if ("W" in d || "U" in d) {
+               if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0;
+               day$1 = "Z" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay();
+               d.m = 0;
+               d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day$1 + 5) % 7 : d.w + d.U * 7 - (day$1 + 6) % 7;
+             }
+
+             // If a time zone is specified, all fields are interpreted as UTC and then
+             // offset according to the specified time zone.
+             if ("Z" in d) {
+               d.H += d.Z / 100 | 0;
+               d.M += d.Z % 100;
+               return utcDate(d);
+             }
+
+             // Otherwise, all fields are in local time.
+             return newDate(d);
+           };
+         }
+
+         function parseSpecifier(d, specifier, string, j) {
+           var i = 0,
+               n = specifier.length,
+               m = string.length,
+               c,
+               parse;
+
+           while (i < n) {
+             if (j >= m) return -1;
+             c = specifier.charCodeAt(i++);
+             if (c === 37) {
+               c = specifier.charAt(i++);
+               parse = parses[c in pads ? specifier.charAt(i++) : c];
+               if (!parse || ((j = parse(d, string, j)) < 0)) return -1;
+             } else if (c != string.charCodeAt(j++)) {
+               return -1;
+             }
+           }
+
+           return j;
+         }
+
+         function parsePeriod(d, string, i) {
+           var n = periodRe.exec(string.slice(i));
+           return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;
+         }
+
+         function parseShortWeekday(d, string, i) {
+           var n = shortWeekdayRe.exec(string.slice(i));
+           return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;
+         }
+
+         function parseWeekday(d, string, i) {
+           var n = weekdayRe.exec(string.slice(i));
+           return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;
+         }
+
+         function parseShortMonth(d, string, i) {
+           var n = shortMonthRe.exec(string.slice(i));
+           return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;
+         }
+
+         function parseMonth(d, string, i) {
+           var n = monthRe.exec(string.slice(i));
+           return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;
+         }
+
+         function parseLocaleDateTime(d, string, i) {
+           return parseSpecifier(d, locale_dateTime, string, i);
+         }
+
+         function parseLocaleDate(d, string, i) {
+           return parseSpecifier(d, locale_date, string, i);
+         }
+
+         function parseLocaleTime(d, string, i) {
+           return parseSpecifier(d, locale_time, string, i);
+         }
+
+         function formatShortWeekday(d) {
+           return locale_shortWeekdays[d.getDay()];
+         }
+
+         function formatWeekday(d) {
+           return locale_weekdays[d.getDay()];
+         }
+
+         function formatShortMonth(d) {
+           return locale_shortMonths[d.getMonth()];
+         }
+
+         function formatMonth(d) {
+           return locale_months[d.getMonth()];
+         }
+
+         function formatPeriod(d) {
+           return locale_periods[+(d.getHours() >= 12)];
+         }
+
+         function formatUTCShortWeekday(d) {
+           return locale_shortWeekdays[d.getUTCDay()];
+         }
+
+         function formatUTCWeekday(d) {
+           return locale_weekdays[d.getUTCDay()];
+         }
+
+         function formatUTCShortMonth(d) {
+           return locale_shortMonths[d.getUTCMonth()];
+         }
+
+         function formatUTCMonth(d) {
+           return locale_months[d.getUTCMonth()];
+         }
+
+         function formatUTCPeriod(d) {
+           return locale_periods[+(d.getUTCHours() >= 12)];
+         }
+
+         return {
+           format: function(specifier) {
+             var f = newFormat(specifier += "", formats);
+             f.toString = function() { return specifier; };
+             return f;
+           },
+           parse: function(specifier) {
+             var p = newParse(specifier += "", localDate);
+             p.toString = function() { return specifier; };
+             return p;
+           },
+           utcFormat: function(specifier) {
+             var f = newFormat(specifier += "", utcFormats);
+             f.toString = function() { return specifier; };
+             return f;
+           },
+           utcParse: function(specifier) {
+             var p = newParse(specifier, utcDate);
+             p.toString = function() { return specifier; };
+             return p;
+           }
+         };
+       }
+
+       var pads = {"-": "", "_": " ", "0": "0"},
+           numberRe = /^\s*\d+/, // note: ignores next directive
+           percentRe = /^%/,
+           requoteRe = /[\\^$*+?|[\]().{}]/g;
+
+       function pad$1(value, fill, width) {
+         var sign = value < 0 ? "-" : "",
+             string = (sign ? -value : value) + "",
+             length = string.length;
+         return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);
+       }
+
+       function requote(s) {
+         return s.replace(requoteRe, "\\$&");
+       }
+
+       function formatRe(names) {
+         return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i");
+       }
+
+       function formatLookup(names) {
+         var map = {}, i = -1, n = names.length;
+         while (++i < n) map[names[i].toLowerCase()] = i;
+         return map;
+       }
+
+       function parseWeekdayNumberSunday(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 1));
+         return n ? (d.w = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseWeekdayNumberMonday(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 1));
+         return n ? (d.u = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseWeekNumberSunday(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 2));
+         return n ? (d.U = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseWeekNumberISO(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 2));
+         return n ? (d.V = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseWeekNumberMonday(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 2));
+         return n ? (d.W = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseFullYear(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 4));
+         return n ? (d.y = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseYear(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 2));
+         return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;
+       }
+
+       function parseZone(d, string, i) {
+         var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i, i + 6));
+         return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1;
+       }
+
+       function parseMonthNumber(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 2));
+         return n ? (d.m = n[0] - 1, i + n[0].length) : -1;
+       }
+
+       function parseDayOfMonth(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 2));
+         return n ? (d.d = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseDayOfYear(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 3));
+         return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseHour24(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 2));
+         return n ? (d.H = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseMinutes(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 2));
+         return n ? (d.M = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseSeconds(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 2));
+         return n ? (d.S = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseMilliseconds(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 3));
+         return n ? (d.L = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseMicroseconds(d, string, i) {
+         var n = numberRe.exec(string.slice(i, i + 6));
+         return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;
+       }
+
+       function parseLiteralPercent(d, string, i) {
+         var n = percentRe.exec(string.slice(i, i + 1));
+         return n ? i + n[0].length : -1;
+       }
+
+       function parseUnixTimestamp(d, string, i) {
+         var n = numberRe.exec(string.slice(i));
+         return n ? (d.Q = +n[0], i + n[0].length) : -1;
+       }
+
+       function parseUnixTimestampSeconds(d, string, i) {
+         var n = numberRe.exec(string.slice(i));
+         return n ? (d.Q = (+n[0]) * 1000, i + n[0].length) : -1;
+       }
+
+       function formatDayOfMonth(d, p) {
+         return pad$1(d.getDate(), p, 2);
+       }
+
+       function formatHour24(d, p) {
+         return pad$1(d.getHours(), p, 2);
+       }
+
+       function formatHour12(d, p) {
+         return pad$1(d.getHours() % 12 || 12, p, 2);
+       }
+
+       function formatDayOfYear(d, p) {
+         return pad$1(1 + day.count(year(d), d), p, 3);
+       }
+
+       function formatMilliseconds(d, p) {
+         return pad$1(d.getMilliseconds(), p, 3);
+       }
+
+       function formatMicroseconds(d, p) {
+         return formatMilliseconds(d, p) + "000";
+       }
+
+       function formatMonthNumber(d, p) {
+         return pad$1(d.getMonth() + 1, p, 2);
+       }
+
+       function formatMinutes(d, p) {
+         return pad$1(d.getMinutes(), p, 2);
+       }
+
+       function formatSeconds(d, p) {
+         return pad$1(d.getSeconds(), p, 2);
+       }
+
+       function formatWeekdayNumberMonday(d) {
+         var day = d.getDay();
+         return day === 0 ? 7 : day;
+       }
+
+       function formatWeekNumberSunday(d, p) {
+         return pad$1(sunday.count(year(d), d), p, 2);
+       }
+
+       function formatWeekNumberISO(d, p) {
+         var day = d.getDay();
+         d = (day >= 4 || day === 0) ? thursday(d) : thursday.ceil(d);
+         return pad$1(thursday.count(year(d), d) + (year(d).getDay() === 4), p, 2);
+       }
+
+       function formatWeekdayNumberSunday(d) {
+         return d.getDay();
+       }
+
+       function formatWeekNumberMonday(d, p) {
+         return pad$1(monday.count(year(d), d), p, 2);
+       }
+
+       function formatYear$1(d, p) {
+         return pad$1(d.getFullYear() % 100, p, 2);
+       }
+
+       function formatFullYear(d, p) {
+         return pad$1(d.getFullYear() % 10000, p, 4);
+       }
+
+       function formatZone(d) {
+         var z = d.getTimezoneOffset();
+         return (z > 0 ? "-" : (z *= -1, "+"))
+             + pad$1(z / 60 | 0, "0", 2)
+             + pad$1(z % 60, "0", 2);
+       }
+
+       function formatUTCDayOfMonth(d, p) {
+         return pad$1(d.getUTCDate(), p, 2);
+       }
+
+       function formatUTCHour24(d, p) {
+         return pad$1(d.getUTCHours(), p, 2);
+       }
+
+       function formatUTCHour12(d, p) {
+         return pad$1(d.getUTCHours() % 12 || 12, p, 2);
+       }
+
+       function formatUTCDayOfYear(d, p) {
+         return pad$1(1 + utcDay.count(utcYear(d), d), p, 3);
+       }
+
+       function formatUTCMilliseconds(d, p) {
+         return pad$1(d.getUTCMilliseconds(), p, 3);
+       }
+
+       function formatUTCMicroseconds(d, p) {
+         return formatUTCMilliseconds(d, p) + "000";
+       }
+
+       function formatUTCMonthNumber(d, p) {
+         return pad$1(d.getUTCMonth() + 1, p, 2);
+       }
+
+       function formatUTCMinutes(d, p) {
+         return pad$1(d.getUTCMinutes(), p, 2);
+       }
+
+       function formatUTCSeconds(d, p) {
+         return pad$1(d.getUTCSeconds(), p, 2);
+       }
+
+       function formatUTCWeekdayNumberMonday(d) {
+         var dow = d.getUTCDay();
+         return dow === 0 ? 7 : dow;
+       }
+
+       function formatUTCWeekNumberSunday(d, p) {
+         return pad$1(utcSunday.count(utcYear(d), d), p, 2);
+       }
+
+       function formatUTCWeekNumberISO(d, p) {
+         var day = d.getUTCDay();
+         d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);
+         return pad$1(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);
+       }
+
+       function formatUTCWeekdayNumberSunday(d) {
+         return d.getUTCDay();
+       }
+
+       function formatUTCWeekNumberMonday(d, p) {
+         return pad$1(utcMonday.count(utcYear(d), d), p, 2);
+       }
+
+       function formatUTCYear(d, p) {
+         return pad$1(d.getUTCFullYear() % 100, p, 2);
+       }
+
+       function formatUTCFullYear(d, p) {
+         return pad$1(d.getUTCFullYear() % 10000, p, 4);
+       }
+
+       function formatUTCZone() {
+         return "+0000";
+       }
+
+       function formatLiteralPercent() {
+         return "%";
+       }
+
+       function formatUnixTimestamp(d) {
+         return +d;
+       }
+
+       function formatUnixTimestampSeconds(d) {
+         return Math.floor(+d / 1000);
+       }
+
+       var locale$1;
+       var timeFormat;
+       var timeParse;
+       var utcFormat;
+       var utcParse;
+
+       defaultLocale$1({
+         dateTime: "%x, %X",
+         date: "%-m/%-d/%Y",
+         time: "%-I:%M:%S %p",
+         periods: ["AM", "PM"],
+         days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
+         shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
+         months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
+         shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
+       });
+
+       function defaultLocale$1(definition) {
+         locale$1 = formatLocale$1(definition);
+         timeFormat = locale$1.format;
+         timeParse = locale$1.parse;
+         utcFormat = locale$1.utcFormat;
+         utcParse = locale$1.utcParse;
+         return locale$1;
+       }
+
+       var isoSpecifier = "%Y-%m-%dT%H:%M:%S.%LZ";
+
+       function formatIsoNative(date) {
+         return date.toISOString();
+       }
+
+       var formatIso = Date.prototype.toISOString
+           ? formatIsoNative
+           : utcFormat(isoSpecifier);
+
+       function parseIsoNative(string) {
+         var date = new Date(string);
+         return isNaN(date) ? null : date;
+       }
+
+       var parseIso = +new Date("2000-01-01T00:00:00.000Z")
+           ? parseIsoNative
+           : utcParse(isoSpecifier);
+
+       var durationSecond$1 = 1000,
+           durationMinute$1 = durationSecond$1 * 60,
+           durationHour$1 = durationMinute$1 * 60,
+           durationDay$1 = durationHour$1 * 24,
+           durationWeek$1 = durationDay$1 * 7,
+           durationMonth = durationDay$1 * 30,
+           durationYear = durationDay$1 * 365;
+
+       function date$1(t) {
+         return new Date(t);
+       }
+
+       function number$3(t) {
+         return t instanceof Date ? +t : +new Date(+t);
+       }
+
+       function calendar(year, month, week, day, hour, minute, second, millisecond, format) {
+         var scale = continuous(identity$5, identity$5),
+             invert = scale.invert,
+             domain = scale.domain;
+
+         var formatMillisecond = format(".%L"),
+             formatSecond = format(":%S"),
+             formatMinute = format("%I:%M"),
+             formatHour = format("%I %p"),
+             formatDay = format("%a %d"),
+             formatWeek = format("%b %d"),
+             formatMonth = format("%B"),
+             formatYear = format("%Y");
+
+         var tickIntervals = [
+           [second,  1,      durationSecond$1],
+           [second,  5,  5 * durationSecond$1],
+           [second, 15, 15 * durationSecond$1],
+           [second, 30, 30 * durationSecond$1],
+           [minute,  1,      durationMinute$1],
+           [minute,  5,  5 * durationMinute$1],
+           [minute, 15, 15 * durationMinute$1],
+           [minute, 30, 30 * durationMinute$1],
+           [  hour,  1,      durationHour$1  ],
+           [  hour,  3,  3 * durationHour$1  ],
+           [  hour,  6,  6 * durationHour$1  ],
+           [  hour, 12, 12 * durationHour$1  ],
+           [   day,  1,      durationDay$1   ],
+           [   day,  2,  2 * durationDay$1   ],
+           [  week,  1,      durationWeek$1  ],
+           [ month,  1,      durationMonth ],
+           [ month,  3,  3 * durationMonth ],
+           [  year,  1,      durationYear  ]
+         ];
+
+         function tickFormat(date) {
+           return (second(date) < date ? formatMillisecond
+               : minute(date) < date ? formatSecond
+               : hour(date) < date ? formatMinute
+               : day(date) < date ? formatHour
+               : month(date) < date ? (week(date) < date ? formatDay : formatWeek)
+               : year(date) < date ? formatMonth
+               : formatYear)(date);
+         }
+
+         function tickInterval(interval, start, stop, step) {
+           if (interval == null) interval = 10;
+
+           // If a desired tick count is specified, pick a reasonable tick interval
+           // based on the extent of the domain and a rough estimate of tick size.
+           // Otherwise, assume interval is already a time interval and use it.
+           if (typeof interval === "number") {
+             var target = Math.abs(stop - start) / interval,
+                 i = d3_bisector(function(i) { return i[2]; }).right(tickIntervals, target);
+             if (i === tickIntervals.length) {
+               step = tickStep(start / durationYear, stop / durationYear, interval);
+               interval = year;
+             } else if (i) {
+               i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];
+               step = i[1];
+               interval = i[0];
+             } else {
+               step = Math.max(tickStep(start, stop, interval), 1);
+               interval = millisecond;
+             }
+           }
+
+           return step == null ? interval : interval.every(step);
+         }
+
+         scale.invert = function(y) {
+           return new Date(invert(y));
+         };
+
+         scale.domain = function(_) {
+           return arguments.length ? domain(map$4.call(_, number$3)) : domain().map(date$1);
+         };
+
+         scale.ticks = function(interval, step) {
+           var d = domain(),
+               t0 = d[0],
+               t1 = d[d.length - 1],
+               r = t1 < t0,
+               t;
+           if (r) t = t0, t0 = t1, t1 = t;
+           t = tickInterval(interval, t0, t1, step);
+           t = t ? t.range(t0, t1 + 1) : []; // inclusive stop
+           return r ? t.reverse() : t;
+         };
+
+         scale.tickFormat = function(count, specifier) {
+           return specifier == null ? tickFormat : format(specifier);
+         };
+
+         scale.nice = function(interval, step) {
+           var d = domain();
+           return (interval = tickInterval(interval, d[0], d[d.length - 1], step))
+               ? domain(nice(d, interval))
+               : scale;
+         };
+
+         scale.copy = function() {
+           return copy$1(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));
+         };
+
+         return scale;
+       }
+
+       function time() {
+         return initRange.apply(calendar(year, month, sunday, day, hour, minute, second, millisecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);
+       }
+
+       function utcTime() {
+         return initRange.apply(calendar(utcYear, utcMonth, utcSunday, utcDay, utcHour, utcMinute, second, millisecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);
+       }
+
+       function transformer$2() {
+         var x0 = 0,
+             x1 = 1,
+             t0,
+             t1,
+             k10,
+             transform,
+             interpolator = identity$5,
+             clamp = false,
+             unknown;
+
+         function scale(x) {
+           return isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));
+         }
+
+         scale.domain = function(_) {
+           return arguments.length ? (t0 = transform(x0 = +_[0]), t1 = transform(x1 = +_[1]), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];
+         };
+
+         scale.clamp = function(_) {
+           return arguments.length ? (clamp = !!_, scale) : clamp;
+         };
+
+         scale.interpolator = function(_) {
+           return arguments.length ? (interpolator = _, scale) : interpolator;
+         };
+
+         scale.unknown = function(_) {
+           return arguments.length ? (unknown = _, scale) : unknown;
+         };
+
+         return function(t) {
+           transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);
+           return scale;
+         };
+       }
+
+       function copy$2(source, target) {
+         return target
+             .domain(source.domain())
+             .interpolator(source.interpolator())
+             .clamp(source.clamp())
+             .unknown(source.unknown());
+       }
+
+       function sequential() {
+         var scale = linearish(transformer$2()(identity$5));
+
+         scale.copy = function() {
+           return copy$2(scale, sequential());
+         };
+
+         return initInterpolator.apply(scale, arguments);
+       }
+
+       function sequentialLog() {
+         var scale = loggish(transformer$2()).domain([1, 10]);
+
+         scale.copy = function() {
+           return copy$2(scale, sequentialLog()).base(scale.base());
+         };
+
+         return initInterpolator.apply(scale, arguments);
+       }
+
+       function sequentialSymlog() {
+         var scale = symlogish(transformer$2());
+
+         scale.copy = function() {
+           return copy$2(scale, sequentialSymlog()).constant(scale.constant());
+         };
+
+         return initInterpolator.apply(scale, arguments);
+       }
+
+       function sequentialPow() {
+         var scale = powish(transformer$2());
+
+         scale.copy = function() {
+           return copy$2(scale, sequentialPow()).exponent(scale.exponent());
+         };
+
+         return initInterpolator.apply(scale, arguments);
+       }
+
+       function sequentialSqrt() {
+         return sequentialPow.apply(null, arguments).exponent(0.5);
+       }
+
+       function sequentialQuantile() {
+         var domain = [],
+             interpolator = identity$5;
+
+         function scale(x) {
+           if (!isNaN(x = +x)) return interpolator((bisectRight(domain, x) - 1) / (domain.length - 1));
+         }
+
+         scale.domain = function(_) {
+           if (!arguments.length) return domain.slice();
+           domain = [];
+           for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);
+           domain.sort(d3_ascending);
+           return scale;
+         };
+
+         scale.interpolator = function(_) {
+           return arguments.length ? (interpolator = _, scale) : interpolator;
+         };
+
+         scale.copy = function() {
+           return sequentialQuantile(interpolator).domain(domain);
+         };
+
+         return initInterpolator.apply(scale, arguments);
+       }
+
+       function transformer$3() {
+         var x0 = 0,
+             x1 = 0.5,
+             x2 = 1,
+             t0,
+             t1,
+             t2,
+             k10,
+             k21,
+             interpolator = identity$5,
+             transform,
+             clamp = false,
+             unknown;
+
+         function scale(x) {
+           return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (x < t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));
+         }
+
+         scale.domain = function(_) {
+           return arguments.length ? (t0 = transform(x0 = +_[0]), t1 = transform(x1 = +_[1]), t2 = transform(x2 = +_[2]), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), scale) : [x0, x1, x2];
+         };
+
+         scale.clamp = function(_) {
+           return arguments.length ? (clamp = !!_, scale) : clamp;
+         };
+
+         scale.interpolator = function(_) {
+           return arguments.length ? (interpolator = _, scale) : interpolator;
+         };
+
+         scale.unknown = function(_) {
+           return arguments.length ? (unknown = _, scale) : unknown;
+         };
+
+         return function(t) {
+           transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1);
+           return scale;
+         };
+       }
+
+       function diverging() {
+         var scale = linearish(transformer$3()(identity$5));
+
+         scale.copy = function() {
+           return copy$2(scale, diverging());
+         };
+
+         return initInterpolator.apply(scale, arguments);
+       }
+
+       function divergingLog() {
+         var scale = loggish(transformer$3()).domain([0.1, 1, 10]);
+
+         scale.copy = function() {
+           return copy$2(scale, divergingLog()).base(scale.base());
+         };
+
+         return initInterpolator.apply(scale, arguments);
+       }
+
+       function divergingSymlog() {
+         var scale = symlogish(transformer$3());
+
+         scale.copy = function() {
+           return copy$2(scale, divergingSymlog()).constant(scale.constant());
+         };
+
+         return initInterpolator.apply(scale, arguments);
+       }
+
+       function divergingPow() {
+         var scale = powish(transformer$3());
+
+         scale.copy = function() {
+           return copy$2(scale, divergingPow()).exponent(scale.exponent());
+         };
+
+         return initInterpolator.apply(scale, arguments);
+       }
+
+       function divergingSqrt() {
+         return divergingPow.apply(null, arguments).exponent(0.5);
+       }
+
+       function colors(specifier) {
+         var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;
+         while (i < n) colors[i] = "#" + specifier.slice(i * 6, ++i * 6);
+         return colors;
+       }
+
+       var category10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");
+
+       var Accent = colors("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666");
+
+       var Dark2 = colors("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666");
+
+       var Paired = colors("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928");
+
+       var Pastel1 = colors("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2");
+
+       var Pastel2 = colors("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc");
+
+       var Set1 = colors("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999");
+
+       var Set2 = colors("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3");
+
+       var Set3 = colors("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");
+
+       function ramp(scheme) {
+         return rgbBasis(scheme[scheme.length - 1]);
+       }
+
+       var scheme = new Array(3).concat(
+         "d8b365f5f5f55ab4ac",
+         "a6611adfc27d80cdc1018571",
+         "a6611adfc27df5f5f580cdc1018571",
+         "8c510ad8b365f6e8c3c7eae55ab4ac01665e",
+         "8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e",
+         "8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e",
+         "8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e",
+         "5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30",
+         "5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30"
+       ).map(colors);
+
+       var BrBG = ramp(scheme);
+
+       var scheme$1 = new Array(3).concat(
+         "af8dc3f7f7f77fbf7b",
+         "7b3294c2a5cfa6dba0008837",
+         "7b3294c2a5cff7f7f7a6dba0008837",
+         "762a83af8dc3e7d4e8d9f0d37fbf7b1b7837",
+         "762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837",
+         "762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837",
+         "762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837",
+         "40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b",
+         "40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b"
+       ).map(colors);
+
+       var PRGn = ramp(scheme$1);
+
+       var scheme$2 = new Array(3).concat(
+         "e9a3c9f7f7f7a1d76a",
+         "d01c8bf1b6dab8e1864dac26",
+         "d01c8bf1b6daf7f7f7b8e1864dac26",
+         "c51b7de9a3c9fde0efe6f5d0a1d76a4d9221",
+         "c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221",
+         "c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221",
+         "c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221",
+         "8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419",
+         "8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419"
+       ).map(colors);
+
+       var PiYG = ramp(scheme$2);
+
+       var scheme$3 = new Array(3).concat(
+         "998ec3f7f7f7f1a340",
+         "5e3c99b2abd2fdb863e66101",
+         "5e3c99b2abd2f7f7f7fdb863e66101",
+         "542788998ec3d8daebfee0b6f1a340b35806",
+         "542788998ec3d8daebf7f7f7fee0b6f1a340b35806",
+         "5427888073acb2abd2d8daebfee0b6fdb863e08214b35806",
+         "5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806",
+         "2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08",
+         "2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08"
+       ).map(colors);
+
+       var PuOr = ramp(scheme$3);
+
+       var scheme$4 = new Array(3).concat(
+         "ef8a62f7f7f767a9cf",
+         "ca0020f4a58292c5de0571b0",
+         "ca0020f4a582f7f7f792c5de0571b0",
+         "b2182bef8a62fddbc7d1e5f067a9cf2166ac",
+         "b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac",
+         "b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac",
+         "b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac",
+         "67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061",
+         "67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061"
+       ).map(colors);
+
+       var RdBu = ramp(scheme$4);
+
+       var scheme$5 = new Array(3).concat(
+         "ef8a62ffffff999999",
+         "ca0020f4a582bababa404040",
+         "ca0020f4a582ffffffbababa404040",
+         "b2182bef8a62fddbc7e0e0e09999994d4d4d",
+         "b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d",
+         "b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d",
+         "b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d",
+         "67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a",
+         "67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a"
+       ).map(colors);
+
+       var RdGy = ramp(scheme$5);
+
+       var scheme$6 = new Array(3).concat(
+         "fc8d59ffffbf91bfdb",
+         "d7191cfdae61abd9e92c7bb6",
+         "d7191cfdae61ffffbfabd9e92c7bb6",
+         "d73027fc8d59fee090e0f3f891bfdb4575b4",
+         "d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4",
+         "d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4",
+         "d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4",
+         "a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695",
+         "a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695"
+       ).map(colors);
+
+       var RdYlBu = ramp(scheme$6);
+
+       var scheme$7 = new Array(3).concat(
+         "fc8d59ffffbf91cf60",
+         "d7191cfdae61a6d96a1a9641",
+         "d7191cfdae61ffffbfa6d96a1a9641",
+         "d73027fc8d59fee08bd9ef8b91cf601a9850",
+         "d73027fc8d59fee08bffffbfd9ef8b91cf601a9850",
+         "d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850",
+         "d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850",
+         "a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837",
+         "a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837"
+       ).map(colors);
+
+       var RdYlGn = ramp(scheme$7);
+
+       var scheme$8 = new Array(3).concat(
+         "fc8d59ffffbf99d594",
+         "d7191cfdae61abdda42b83ba",
+         "d7191cfdae61ffffbfabdda42b83ba",
+         "d53e4ffc8d59fee08be6f59899d5943288bd",
+         "d53e4ffc8d59fee08bffffbfe6f59899d5943288bd",
+         "d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd",
+         "d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd",
+         "9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2",
+         "9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2"
+       ).map(colors);
+
+       var Spectral = ramp(scheme$8);
+
+       var scheme$9 = new Array(3).concat(
+         "e5f5f999d8c92ca25f",
+         "edf8fbb2e2e266c2a4238b45",
+         "edf8fbb2e2e266c2a42ca25f006d2c",
+         "edf8fbccece699d8c966c2a42ca25f006d2c",
+         "edf8fbccece699d8c966c2a441ae76238b45005824",
+         "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824",
+         "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b"
+       ).map(colors);
+
+       var BuGn = ramp(scheme$9);
+
+       var scheme$a = new Array(3).concat(
+         "e0ecf49ebcda8856a7",
+         "edf8fbb3cde38c96c688419d",
+         "edf8fbb3cde38c96c68856a7810f7c",
+         "edf8fbbfd3e69ebcda8c96c68856a7810f7c",
+         "edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b",
+         "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b",
+         "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b"
+       ).map(colors);
+
+       var BuPu = ramp(scheme$a);
+
+       var scheme$b = new Array(3).concat(
+         "e0f3dba8ddb543a2ca",
+         "f0f9e8bae4bc7bccc42b8cbe",
+         "f0f9e8bae4bc7bccc443a2ca0868ac",
+         "f0f9e8ccebc5a8ddb57bccc443a2ca0868ac",
+         "f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e",
+         "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e",
+         "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081"
+       ).map(colors);
+
+       var GnBu = ramp(scheme$b);
+
+       var scheme$c = new Array(3).concat(
+         "fee8c8fdbb84e34a33",
+         "fef0d9fdcc8afc8d59d7301f",
+         "fef0d9fdcc8afc8d59e34a33b30000",
+         "fef0d9fdd49efdbb84fc8d59e34a33b30000",
+         "fef0d9fdd49efdbb84fc8d59ef6548d7301f990000",
+         "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000",
+         "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000"
+       ).map(colors);
+
+       var OrRd = ramp(scheme$c);
+
+       var scheme$d = new Array(3).concat(
+         "ece2f0a6bddb1c9099",
+         "f6eff7bdc9e167a9cf02818a",
+         "f6eff7bdc9e167a9cf1c9099016c59",
+         "f6eff7d0d1e6a6bddb67a9cf1c9099016c59",
+         "f6eff7d0d1e6a6bddb67a9cf3690c002818a016450",
+         "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450",
+         "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636"
+       ).map(colors);
+
+       var PuBuGn = ramp(scheme$d);
+
+       var scheme$e = new Array(3).concat(
+         "ece7f2a6bddb2b8cbe",
+         "f1eef6bdc9e174a9cf0570b0",
+         "f1eef6bdc9e174a9cf2b8cbe045a8d",
+         "f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d",
+         "f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b",
+         "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b",
+         "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858"
+       ).map(colors);
+
+       var PuBu = ramp(scheme$e);
+
+       var scheme$f = new Array(3).concat(
+         "e7e1efc994c7dd1c77",
+         "f1eef6d7b5d8df65b0ce1256",
+         "f1eef6d7b5d8df65b0dd1c77980043",
+         "f1eef6d4b9dac994c7df65b0dd1c77980043",
+         "f1eef6d4b9dac994c7df65b0e7298ace125691003f",
+         "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f",
+         "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f"
+       ).map(colors);
+
+       var PuRd = ramp(scheme$f);
+
+       var scheme$g = new Array(3).concat(
+         "fde0ddfa9fb5c51b8a",
+         "feebe2fbb4b9f768a1ae017e",
+         "feebe2fbb4b9f768a1c51b8a7a0177",
+         "feebe2fcc5c0fa9fb5f768a1c51b8a7a0177",
+         "feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177",
+         "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177",
+         "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a"
+       ).map(colors);
+
+       var RdPu = ramp(scheme$g);
+
+       var scheme$h = new Array(3).concat(
+         "edf8b17fcdbb2c7fb8",
+         "ffffcca1dab441b6c4225ea8",
+         "ffffcca1dab441b6c42c7fb8253494",
+         "ffffccc7e9b47fcdbb41b6c42c7fb8253494",
+         "ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84",
+         "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84",
+         "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58"
+       ).map(colors);
+
+       var YlGnBu = ramp(scheme$h);
+
+       var scheme$i = new Array(3).concat(
+         "f7fcb9addd8e31a354",
+         "ffffccc2e69978c679238443",
+         "ffffccc2e69978c67931a354006837",
+         "ffffccd9f0a3addd8e78c67931a354006837",
+         "ffffccd9f0a3addd8e78c67941ab5d238443005a32",
+         "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32",
+         "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529"
+       ).map(colors);
+
+       var YlGn = ramp(scheme$i);
+
+       var scheme$j = new Array(3).concat(
+         "fff7bcfec44fd95f0e",
+         "ffffd4fed98efe9929cc4c02",
+         "ffffd4fed98efe9929d95f0e993404",
+         "ffffd4fee391fec44ffe9929d95f0e993404",
+         "ffffd4fee391fec44ffe9929ec7014cc4c028c2d04",
+         "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04",
+         "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506"
+       ).map(colors);
+
+       var YlOrBr = ramp(scheme$j);
+
+       var scheme$k = new Array(3).concat(
+         "ffeda0feb24cf03b20",
+         "ffffb2fecc5cfd8d3ce31a1c",
+         "ffffb2fecc5cfd8d3cf03b20bd0026",
+         "ffffb2fed976feb24cfd8d3cf03b20bd0026",
+         "ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026",
+         "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026",
+         "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026"
+       ).map(colors);
+
+       var YlOrRd = ramp(scheme$k);
+
+       var scheme$l = new Array(3).concat(
+         "deebf79ecae13182bd",
+         "eff3ffbdd7e76baed62171b5",
+         "eff3ffbdd7e76baed63182bd08519c",
+         "eff3ffc6dbef9ecae16baed63182bd08519c",
+         "eff3ffc6dbef9ecae16baed64292c62171b5084594",
+         "f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594",
+         "f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b"
+       ).map(colors);
+
+       var Blues = ramp(scheme$l);
+
+       var scheme$m = new Array(3).concat(
+         "e5f5e0a1d99b31a354",
+         "edf8e9bae4b374c476238b45",
+         "edf8e9bae4b374c47631a354006d2c",
+         "edf8e9c7e9c0a1d99b74c47631a354006d2c",
+         "edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32",
+         "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32",
+         "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b"
+       ).map(colors);
+
+       var Greens = ramp(scheme$m);
+
+       var scheme$n = new Array(3).concat(
+         "f0f0f0bdbdbd636363",
+         "f7f7f7cccccc969696525252",
+         "f7f7f7cccccc969696636363252525",
+         "f7f7f7d9d9d9bdbdbd969696636363252525",
+         "f7f7f7d9d9d9bdbdbd969696737373525252252525",
+         "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525",
+         "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000"
+       ).map(colors);
+
+       var Greys = ramp(scheme$n);
+
+       var scheme$o = new Array(3).concat(
+         "efedf5bcbddc756bb1",
+         "f2f0f7cbc9e29e9ac86a51a3",
+         "f2f0f7cbc9e29e9ac8756bb154278f",
+         "f2f0f7dadaebbcbddc9e9ac8756bb154278f",
+         "f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486",
+         "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486",
+         "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d"
+       ).map(colors);
+
+       var Purples = ramp(scheme$o);
+
+       var scheme$p = new Array(3).concat(
+         "fee0d2fc9272de2d26",
+         "fee5d9fcae91fb6a4acb181d",
+         "fee5d9fcae91fb6a4ade2d26a50f15",
+         "fee5d9fcbba1fc9272fb6a4ade2d26a50f15",
+         "fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d",
+         "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d",
+         "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d"
+       ).map(colors);
+
+       var Reds = ramp(scheme$p);
+
+       var scheme$q = new Array(3).concat(
+         "fee6cefdae6be6550d",
+         "feeddefdbe85fd8d3cd94701",
+         "feeddefdbe85fd8d3ce6550da63603",
+         "feeddefdd0a2fdae6bfd8d3ce6550da63603",
+         "feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04",
+         "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04",
+         "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704"
+       ).map(colors);
+
+       var Oranges = ramp(scheme$q);
+
+       var cubehelix$3 = cubehelixLong(cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0));
+
+       var warm = cubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));
+
+       var cool = cubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));
+
+       var c = cubehelix();
+
+       function rainbow(t) {
+         if (t < 0 || t > 1) t -= Math.floor(t);
+         var ts = Math.abs(t - 0.5);
+         c.h = 360 * t - 100;
+         c.s = 1.5 - 1.5 * ts;
+         c.l = 0.8 - 0.9 * ts;
+         return c + "";
+       }
+
+       var c$1 = rgb(),
+           pi_1_3 = Math.PI / 3,
+           pi_2_3 = Math.PI * 2 / 3;
+
+       function sinebow(t) {
+         var x;
+         t = (0.5 - t) * Math.PI;
+         c$1.r = 255 * (x = Math.sin(t)) * x;
+         c$1.g = 255 * (x = Math.sin(t + pi_1_3)) * x;
+         c$1.b = 255 * (x = Math.sin(t + pi_2_3)) * x;
+         return c$1 + "";
+       }
+
+       function ramp$1(range) {
+         var n = range.length;
+         return function(t) {
+           return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];
+         };
+       }
+
+       var viridis = ramp$1(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));
+
+       var magma = ramp$1(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));
+
+       var inferno = ramp$1(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));
+
+       var plasma = ramp$1(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));
+
+       function constant$b(x) {
+         return function constant() {
+           return x;
+         };
+       }
+
+       var abs$3 = Math.abs;
+       var atan2$1 = Math.atan2;
+       var cos$2 = Math.cos;
+       var max$4 = Math.max;
+       var min$1 = Math.min;
+       var sin$2 = Math.sin;
+       var sqrt$2 = Math.sqrt;
+
+       var epsilon$3 = 1e-12;
+       var pi$4 = Math.PI;
+       var halfPi$3 = pi$4 / 2;
+       var tau$4 = 2 * pi$4;
+
+       function acos$1(x) {
+         return x > 1 ? 0 : x < -1 ? pi$4 : Math.acos(x);
+       }
+
+       function asin$1(x) {
+         return x >= 1 ? halfPi$3 : x <= -1 ? -halfPi$3 : Math.asin(x);
+       }
+
+       function arcInnerRadius(d) {
+         return d.innerRadius;
+       }
+
+       function arcOuterRadius(d) {
+         return d.outerRadius;
+       }
+
+       function arcStartAngle(d) {
+         return d.startAngle;
+       }
+
+       function arcEndAngle(d) {
+         return d.endAngle;
+       }
+
+       function arcPadAngle(d) {
+         return d && d.padAngle; // Note: optional!
+       }
+
+       function intersect(x0, y0, x1, y1, x2, y2, x3, y3) {
+         var x10 = x1 - x0, y10 = y1 - y0,
+             x32 = x3 - x2, y32 = y3 - y2,
+             t = y32 * x10 - x32 * y10;
+         if (t * t < epsilon$3) return;
+         t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;
+         return [x0 + t * x10, y0 + t * y10];
+       }
+
+       // Compute perpendicular offset line of length rc.
+       // http://mathworld.wolfram.com/Circle-LineIntersection.html
+       function cornerTangents(x0, y0, x1, y1, r1, rc, cw) {
+         var x01 = x0 - x1,
+             y01 = y0 - y1,
+             lo = (cw ? rc : -rc) / sqrt$2(x01 * x01 + y01 * y01),
+             ox = lo * y01,
+             oy = -lo * x01,
+             x11 = x0 + ox,
+             y11 = y0 + oy,
+             x10 = x1 + ox,
+             y10 = y1 + oy,
+             x00 = (x11 + x10) / 2,
+             y00 = (y11 + y10) / 2,
+             dx = x10 - x11,
+             dy = y10 - y11,
+             d2 = dx * dx + dy * dy,
+             r = r1 - rc,
+             D = x11 * y10 - x10 * y11,
+             d = (dy < 0 ? -1 : 1) * sqrt$2(max$4(0, r * r * d2 - D * D)),
+             cx0 = (D * dy - dx * d) / d2,
+             cy0 = (-D * dx - dy * d) / d2,
+             cx1 = (D * dy + dx * d) / d2,
+             cy1 = (-D * dx + dy * d) / d2,
+             dx0 = cx0 - x00,
+             dy0 = cy0 - y00,
+             dx1 = cx1 - x00,
+             dy1 = cy1 - y00;
+
+         // Pick the closer of the two intersection points.
+         // TODO Is there a faster way to determine which intersection to use?
+         if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;
+
+         return {
+           cx: cx0,
+           cy: cy0,
+           x01: -ox,
+           y01: -oy,
+           x11: cx0 * (r1 / r - 1),
+           y11: cy0 * (r1 / r - 1)
+         };
+       }
+
+       function arc() {
+         var innerRadius = arcInnerRadius,
+             outerRadius = arcOuterRadius,
+             cornerRadius = constant$b(0),
+             padRadius = null,
+             startAngle = arcStartAngle,
+             endAngle = arcEndAngle,
+             padAngle = arcPadAngle,
+             context = null;
+
+         function arc() {
+           var buffer,
+               r,
+               r0 = +innerRadius.apply(this, arguments),
+               r1 = +outerRadius.apply(this, arguments),
+               a0 = startAngle.apply(this, arguments) - halfPi$3,
+               a1 = endAngle.apply(this, arguments) - halfPi$3,
+               da = abs$3(a1 - a0),
+               cw = a1 > a0;
+
+           if (!context) context = buffer = path();
+
+           // Ensure that the outer radius is always larger than the inner radius.
+           if (r1 < r0) r = r1, r1 = r0, r0 = r;
+
+           // Is it a point?
+           if (!(r1 > epsilon$3)) context.moveTo(0, 0);
+
+           // Or is it a circle or annulus?
+           else if (da > tau$4 - epsilon$3) {
+             context.moveTo(r1 * cos$2(a0), r1 * sin$2(a0));
+             context.arc(0, 0, r1, a0, a1, !cw);
+             if (r0 > epsilon$3) {
+               context.moveTo(r0 * cos$2(a1), r0 * sin$2(a1));
+               context.arc(0, 0, r0, a1, a0, cw);
+             }
+           }
+
+           // Or is it a circular or annular sector?
+           else {
+             var a01 = a0,
+                 a11 = a1,
+                 a00 = a0,
+                 a10 = a1,
+                 da0 = da,
+                 da1 = da,
+                 ap = padAngle.apply(this, arguments) / 2,
+                 rp = (ap > epsilon$3) && (padRadius ? +padRadius.apply(this, arguments) : sqrt$2(r0 * r0 + r1 * r1)),
+                 rc = min$1(abs$3(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),
+                 rc0 = rc,
+                 rc1 = rc,
+                 t0,
+                 t1;
+
+             // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.
+             if (rp > epsilon$3) {
+               var p0 = asin$1(rp / r0 * sin$2(ap)),
+                   p1 = asin$1(rp / r1 * sin$2(ap));
+               if ((da0 -= p0 * 2) > epsilon$3) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;
+               else da0 = 0, a00 = a10 = (a0 + a1) / 2;
+               if ((da1 -= p1 * 2) > epsilon$3) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;
+               else da1 = 0, a01 = a11 = (a0 + a1) / 2;
+             }
+
+             var x01 = r1 * cos$2(a01),
+                 y01 = r1 * sin$2(a01),
+                 x10 = r0 * cos$2(a10),
+                 y10 = r0 * sin$2(a10);
+
+             // Apply rounded corners?
+             if (rc > epsilon$3) {
+               var x11 = r1 * cos$2(a11),
+                   y11 = r1 * sin$2(a11),
+                   x00 = r0 * cos$2(a00),
+                   y00 = r0 * sin$2(a00),
+                   oc;
+
+               // Restrict the corner radius according to the sector angle.
+               if (da < pi$4 && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) {
+                 var ax = x01 - oc[0],
+                     ay = y01 - oc[1],
+                     bx = x11 - oc[0],
+                     by = y11 - oc[1],
+                     kc = 1 / sin$2(acos$1((ax * bx + ay * by) / (sqrt$2(ax * ax + ay * ay) * sqrt$2(bx * bx + by * by))) / 2),
+                     lc = sqrt$2(oc[0] * oc[0] + oc[1] * oc[1]);
+                 rc0 = min$1(rc, (r0 - lc) / (kc - 1));
+                 rc1 = min$1(rc, (r1 - lc) / (kc + 1));
+               }
+             }
+
+             // Is the sector collapsed to a line?
+             if (!(da1 > epsilon$3)) context.moveTo(x01, y01);
+
+             // Does the sector’s outer ring have rounded corners?
+             else if (rc1 > epsilon$3) {
+               t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);
+               t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);
+
+               context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);
+
+               // Have the corners merged?
+               if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2$1(t0.y01, t0.x01), atan2$1(t1.y01, t1.x01), !cw);
+
+               // Otherwise, draw the two corners and the ring.
+               else {
+                 context.arc(t0.cx, t0.cy, rc1, atan2$1(t0.y01, t0.x01), atan2$1(t0.y11, t0.x11), !cw);
+                 context.arc(0, 0, r1, atan2$1(t0.cy + t0.y11, t0.cx + t0.x11), atan2$1(t1.cy + t1.y11, t1.cx + t1.x11), !cw);
+                 context.arc(t1.cx, t1.cy, rc1, atan2$1(t1.y11, t1.x11), atan2$1(t1.y01, t1.x01), !cw);
+               }
+             }
+
+             // Or is the outer ring just a circular arc?
+             else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);
+
+             // Is there no inner ring, and it’s a circular sector?
+             // Or perhaps it’s an annular sector collapsed due to padding?
+             if (!(r0 > epsilon$3) || !(da0 > epsilon$3)) context.lineTo(x10, y10);
+
+             // Does the sector’s inner ring (or point) have rounded corners?
+             else if (rc0 > epsilon$3) {
+               t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);
+               t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);
+
+               context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);
+
+               // Have the corners merged?
+               if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2$1(t0.y01, t0.x01), atan2$1(t1.y01, t1.x01), !cw);
+
+               // Otherwise, draw the two corners and the ring.
+               else {
+                 context.arc(t0.cx, t0.cy, rc0, atan2$1(t0.y01, t0.x01), atan2$1(t0.y11, t0.x11), !cw);
+                 context.arc(0, 0, r0, atan2$1(t0.cy + t0.y11, t0.cx + t0.x11), atan2$1(t1.cy + t1.y11, t1.cx + t1.x11), cw);
+                 context.arc(t1.cx, t1.cy, rc0, atan2$1(t1.y11, t1.x11), atan2$1(t1.y01, t1.x01), !cw);
+               }
+             }
+
+             // Or is the inner ring just a circular arc?
+             else context.arc(0, 0, r0, a10, a00, cw);
+           }
+
+           context.closePath();
+
+           if (buffer) return context = null, buffer + "" || null;
+         }
+
+         arc.centroid = function() {
+           var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,
+               a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi$4 / 2;
+           return [cos$2(a) * r, sin$2(a) * r];
+         };
+
+         arc.innerRadius = function(_) {
+           return arguments.length ? (innerRadius = typeof _ === "function" ? _ : constant$b(+_), arc) : innerRadius;
+         };
+
+         arc.outerRadius = function(_) {
+           return arguments.length ? (outerRadius = typeof _ === "function" ? _ : constant$b(+_), arc) : outerRadius;
+         };
+
+         arc.cornerRadius = function(_) {
+           return arguments.length ? (cornerRadius = typeof _ === "function" ? _ : constant$b(+_), arc) : cornerRadius;
+         };
+
+         arc.padRadius = function(_) {
+           return arguments.length ? (padRadius = _ == null ? null : typeof _ === "function" ? _ : constant$b(+_), arc) : padRadius;
+         };
+
+         arc.startAngle = function(_) {
+           return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$b(+_), arc) : startAngle;
+         };
+
+         arc.endAngle = function(_) {
+           return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$b(+_), arc) : endAngle;
+         };
+
+         arc.padAngle = function(_) {
+           return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$b(+_), arc) : padAngle;
+         };
+
+         arc.context = function(_) {
+           return arguments.length ? ((context = _ == null ? null : _), arc) : context;
+         };
+
+         return arc;
+       }
+
+       function Linear(context) {
+         this._context = context;
+       }
+
+       Linear.prototype = {
+         areaStart: function() {
+           this._line = 0;
+         },
+         areaEnd: function() {
+           this._line = NaN;
+         },
+         lineStart: function() {
+           this._point = 0;
+         },
+         lineEnd: function() {
+           if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
+           this._line = 1 - this._line;
+         },
+         point: function(x, y) {
+           x = +x, y = +y;
+           switch (this._point) {
+             case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;
+             case 1: this._point = 2; // proceed
+             default: this._context.lineTo(x, y); break;
+           }
+         }
+       };
+
+       function curveLinear(context) {
+         return new Linear(context);
+       }
+
+       function x$3(p) {
+         return p[0];
+       }
+
+       function y$3(p) {
+         return p[1];
+       }
+
+       function line() {
+         var x = x$3,
+             y = y$3,
+             defined = constant$b(true),
+             context = null,
+             curve = curveLinear,
+             output = null;
+
+         function line(data) {
+           var i,
+               n = data.length,
+               d,
+               defined0 = false,
+               buffer;
+
+           if (context == null) output = curve(buffer = path());
+
+           for (i = 0; i <= n; ++i) {
+             if (!(i < n && defined(d = data[i], i, data)) === defined0) {
+               if (defined0 = !defined0) output.lineStart();
+               else output.lineEnd();
+             }
+             if (defined0) output.point(+x(d, i, data), +y(d, i, data));
+           }
+
+           if (buffer) return output = null, buffer + "" || null;
+         }
+
+         line.x = function(_) {
+           return arguments.length ? (x = typeof _ === "function" ? _ : constant$b(+_), line) : x;
+         };
+
+         line.y = function(_) {
+           return arguments.length ? (y = typeof _ === "function" ? _ : constant$b(+_), line) : y;
+         };
+
+         line.defined = function(_) {
+           return arguments.length ? (defined = typeof _ === "function" ? _ : constant$b(!!_), line) : defined;
+         };
+
+         line.curve = function(_) {
+           return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;
+         };
+
+         line.context = function(_) {
+           return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;
+         };
+
+         return line;
+       }
+
+       function area$1() {
+         var x0 = x$3,
+             x1 = null,
+             y0 = constant$b(0),
+             y1 = y$3,
+             defined = constant$b(true),
+             context = null,
+             curve = curveLinear,
+             output = null;
+
+         function area(data) {
+           var i,
+               j,
+               k,
+               n = data.length,
+               d,
+               defined0 = false,
+               buffer,
+               x0z = new Array(n),
+               y0z = new Array(n);
+
+           if (context == null) output = curve(buffer = path());
+
+           for (i = 0; i <= n; ++i) {
+             if (!(i < n && defined(d = data[i], i, data)) === defined0) {
+               if (defined0 = !defined0) {
+                 j = i;
+                 output.areaStart();
+                 output.lineStart();
+               } else {
+                 output.lineEnd();
+                 output.lineStart();
+                 for (k = i - 1; k >= j; --k) {
+                   output.point(x0z[k], y0z[k]);
+                 }
+                 output.lineEnd();
+                 output.areaEnd();
+               }
+             }
+             if (defined0) {
+               x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);
+               output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);
+             }
+           }
+
+           if (buffer) return output = null, buffer + "" || null;
+         }
+
+         function arealine() {
+           return line().defined(defined).curve(curve).context(context);
+         }
+
+         area.x = function(_) {
+           return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$b(+_), x1 = null, area) : x0;
+         };
+
+         area.x0 = function(_) {
+           return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$b(+_), area) : x0;
+         };
+
+         area.x1 = function(_) {
+           return arguments.length ? (x1 = _ == null ? null : typeof _ === "function" ? _ : constant$b(+_), area) : x1;
+         };
+
+         area.y = function(_) {
+           return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$b(+_), y1 = null, area) : y0;
+         };
+
+         area.y0 = function(_) {
+           return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$b(+_), area) : y0;
+         };
+
+         area.y1 = function(_) {
+           return arguments.length ? (y1 = _ == null ? null : typeof _ === "function" ? _ : constant$b(+_), area) : y1;
+         };
+
+         area.lineX0 =
+         area.lineY0 = function() {
+           return arealine().x(x0).y(y0);
+         };
+
+         area.lineY1 = function() {
+           return arealine().x(x0).y(y1);
+         };
+
+         area.lineX1 = function() {
+           return arealine().x(x1).y(y0);
+         };
+
+         area.defined = function(_) {
+           return arguments.length ? (defined = typeof _ === "function" ? _ : constant$b(!!_), area) : defined;
+         };
+
+         area.curve = function(_) {
+           return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;
+         };
+
+         area.context = function(_) {
+           return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;
+         };
+
+         return area;
+       }
+
+       function descending(a, b) {
+         return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
+       }
+
+       function identity$7(d) {
+         return d;
+       }
+
+       function pie() {
+         var value = identity$7,
+             sortValues = descending,
+             sort = null,
+             startAngle = constant$b(0),
+             endAngle = constant$b(tau$4),
+             padAngle = constant$b(0);
+
+         function pie(data) {
+           var i,
+               n = data.length,
+               j,
+               k,
+               sum = 0,
+               index = new Array(n),
+               arcs = new Array(n),
+               a0 = +startAngle.apply(this, arguments),
+               da = Math.min(tau$4, Math.max(-tau$4, endAngle.apply(this, arguments) - a0)),
+               a1,
+               p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),
+               pa = p * (da < 0 ? -1 : 1),
+               v;
+
+           for (i = 0; i < n; ++i) {
+             if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {
+               sum += v;
+             }
+           }
+
+           // Optionally sort the arcs by previously-computed values or by data.
+           if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });
+           else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });
+
+           // Compute the arcs! They are stored in the original data's order.
+           for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {
+             j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {
+               data: data[j],
+               index: i,
+               value: v,
+               startAngle: a0,
+               endAngle: a1,
+               padAngle: p
+             };
+           }
+
+           return arcs;
+         }
+
+         pie.value = function(_) {
+           return arguments.length ? (value = typeof _ === "function" ? _ : constant$b(+_), pie) : value;
+         };
+
+         pie.sortValues = function(_) {
+           return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;
+         };
+
+         pie.sort = function(_) {
+           return arguments.length ? (sort = _, sortValues = null, pie) : sort;
+         };
+
+         pie.startAngle = function(_) {
+           return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$b(+_), pie) : startAngle;
+         };
+
+         pie.endAngle = function(_) {
+           return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$b(+_), pie) : endAngle;
+         };
+
+         pie.padAngle = function(_) {
+           return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$b(+_), pie) : padAngle;
+         };
+
+         return pie;
+       }
+
+       var curveRadialLinear = curveRadial(curveLinear);
+
+       function Radial(curve) {
+         this._curve = curve;
+       }
+
+       Radial.prototype = {
+         areaStart: function() {
+           this._curve.areaStart();
+         },
+         areaEnd: function() {
+           this._curve.areaEnd();
+         },
+         lineStart: function() {
+           this._curve.lineStart();
+         },
+         lineEnd: function() {
+           this._curve.lineEnd();
+         },
+         point: function(a, r) {
+           this._curve.point(r * Math.sin(a), r * -Math.cos(a));
+         }
+       };
+
+       function curveRadial(curve) {
+
+         function radial(context) {
+           return new Radial(curve(context));
+         }
+
+         radial._curve = curve;
+
+         return radial;
+       }
+
+       function lineRadial(l) {
+         var c = l.curve;
+
+         l.angle = l.x, delete l.x;
+         l.radius = l.y, delete l.y;
+
+         l.curve = function(_) {
+           return arguments.length ? c(curveRadial(_)) : c()._curve;
+         };
+
+         return l;
+       }
+
+       function lineRadial$1() {
+         return lineRadial(line().curve(curveRadialLinear));
+       }
+
+       function areaRadial() {
+         var a = area$1().curve(curveRadialLinear),
+             c = a.curve,
+             x0 = a.lineX0,
+             x1 = a.lineX1,
+             y0 = a.lineY0,
+             y1 = a.lineY1;
+
+         a.angle = a.x, delete a.x;
+         a.startAngle = a.x0, delete a.x0;
+         a.endAngle = a.x1, delete a.x1;
+         a.radius = a.y, delete a.y;
+         a.innerRadius = a.y0, delete a.y0;
+         a.outerRadius = a.y1, delete a.y1;
+         a.lineStartAngle = function() { return lineRadial(x0()); }, delete a.lineX0;
+         a.lineEndAngle = function() { return lineRadial(x1()); }, delete a.lineX1;
+         a.lineInnerRadius = function() { return lineRadial(y0()); }, delete a.lineY0;
+         a.lineOuterRadius = function() { return lineRadial(y1()); }, delete a.lineY1;
+
+         a.curve = function(_) {
+           return arguments.length ? c(curveRadial(_)) : c()._curve;
+         };
+
+         return a;
+       }
+
+       function pointRadial(x, y) {
+         return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];
+       }
+
+       var slice$a = Array.prototype.slice;
+
+       function linkSource(d) {
+         return d.source;
+       }
+
+       function linkTarget(d) {
+         return d.target;
+       }
+
+       function link$2(curve) {
+         var source = linkSource,
+             target = linkTarget,
+             x = x$3,
+             y = y$3,
+             context = null;
+
+         function link() {
+           var buffer, argv = slice$a.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);
+           if (!context) context = buffer = path();
+           curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));
+           if (buffer) return context = null, buffer + "" || null;
+         }
+
+         link.source = function(_) {
+           return arguments.length ? (source = _, link) : source;
+         };
+
+         link.target = function(_) {
+           return arguments.length ? (target = _, link) : target;
+         };
+
+         link.x = function(_) {
+           return arguments.length ? (x = typeof _ === "function" ? _ : constant$b(+_), link) : x;
+         };
+
+         link.y = function(_) {
+           return arguments.length ? (y = typeof _ === "function" ? _ : constant$b(+_), link) : y;
+         };
+
+         link.context = function(_) {
+           return arguments.length ? ((context = _ == null ? null : _), link) : context;
+         };
+
+         return link;
+       }
+
+       function curveHorizontal(context, x0, y0, x1, y1) {
+         context.moveTo(x0, y0);
+         context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);
+       }
+
+       function curveVertical(context, x0, y0, x1, y1) {
+         context.moveTo(x0, y0);
+         context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);
+       }
+
+       function curveRadial$1(context, x0, y0, x1, y1) {
+         var p0 = pointRadial(x0, y0),
+             p1 = pointRadial(x0, y0 = (y0 + y1) / 2),
+             p2 = pointRadial(x1, y0),
+             p3 = pointRadial(x1, y1);
+         context.moveTo(p0[0], p0[1]);
+         context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);
+       }
+
+       function linkHorizontal() {
+         return link$2(curveHorizontal);
+       }
+
+       function linkVertical() {
+         return link$2(curveVertical);
+       }
+
+       function linkRadial() {
+         var l = link$2(curveRadial$1);
+         l.angle = l.x, delete l.x;
+         l.radius = l.y, delete l.y;
+         return l;
+       }
+
+       var circle$2 = {
+         draw: function(context, size) {
+           var r = Math.sqrt(size / pi$4);
+           context.moveTo(r, 0);
+           context.arc(0, 0, r, 0, tau$4);
+         }
+       };
+
+       var cross$2 = {
+         draw: function(context, size) {
+           var r = Math.sqrt(size / 5) / 2;
+           context.moveTo(-3 * r, -r);
+           context.lineTo(-r, -r);
+           context.lineTo(-r, -3 * r);
+           context.lineTo(r, -3 * r);
+           context.lineTo(r, -r);
+           context.lineTo(3 * r, -r);
+           context.lineTo(3 * r, r);
+           context.lineTo(r, r);
+           context.lineTo(r, 3 * r);
+           context.lineTo(-r, 3 * r);
+           context.lineTo(-r, r);
+           context.lineTo(-3 * r, r);
+           context.closePath();
+         }
+       };
+
+       var tan30 = Math.sqrt(1 / 3),
+           tan30_2 = tan30 * 2;
+
+       var diamond = {
+         draw: function(context, size) {
+           var y = Math.sqrt(size / tan30_2),
+               x = y * tan30;
+           context.moveTo(0, -y);
+           context.lineTo(x, 0);
+           context.lineTo(0, y);
+           context.lineTo(-x, 0);
+           context.closePath();
+         }
+       };
+
+       var ka = 0.89081309152928522810,
+           kr = Math.sin(pi$4 / 10) / Math.sin(7 * pi$4 / 10),
+           kx = Math.sin(tau$4 / 10) * kr,
+           ky = -Math.cos(tau$4 / 10) * kr;
+
+       var star = {
+         draw: function(context, size) {
+           var r = Math.sqrt(size * ka),
+               x = kx * r,
+               y = ky * r;
+           context.moveTo(0, -r);
+           context.lineTo(x, y);
+           for (var i = 1; i < 5; ++i) {
+             var a = tau$4 * i / 5,
+                 c = Math.cos(a),
+                 s = Math.sin(a);
+             context.lineTo(s * r, -c * r);
+             context.lineTo(c * x - s * y, s * x + c * y);
+           }
+           context.closePath();
+         }
+       };
+
+       var square = {
+         draw: function(context, size) {
+           var w = Math.sqrt(size),
+               x = -w / 2;
+           context.rect(x, x, w, w);
+         }
+       };
+
+       var sqrt3 = Math.sqrt(3);
+
+       var triangle = {
+         draw: function(context, size) {
+           var y = -Math.sqrt(size / (sqrt3 * 3));
+           context.moveTo(0, y * 2);
+           context.lineTo(-sqrt3 * y, -y);
+           context.lineTo(sqrt3 * y, -y);
+           context.closePath();
+         }
+       };
+
+       var c$2 = -0.5,
+           s = Math.sqrt(3) / 2,
+           k = 1 / Math.sqrt(12),
+           a = (k / 2 + 1) * 3;
+
+       var wye = {
+         draw: function(context, size) {
+           var r = Math.sqrt(size / a),
+               x0 = r / 2,
+               y0 = r * k,
+               x1 = x0,
+               y1 = r * k + r,
+               x2 = -x1,
+               y2 = y1;
+           context.moveTo(x0, y0);
+           context.lineTo(x1, y1);
+           context.lineTo(x2, y2);
+           context.lineTo(c$2 * x0 - s * y0, s * x0 + c$2 * y0);
+           context.lineTo(c$2 * x1 - s * y1, s * x1 + c$2 * y1);
+           context.lineTo(c$2 * x2 - s * y2, s * x2 + c$2 * y2);
+           context.lineTo(c$2 * x0 + s * y0, c$2 * y0 - s * x0);
+           context.lineTo(c$2 * x1 + s * y1, c$2 * y1 - s * x1);
+           context.lineTo(c$2 * x2 + s * y2, c$2 * y2 - s * x2);
+           context.closePath();
+         }
+       };
+
+       var symbols = [
+         circle$2,
+         cross$2,
+         diamond,
+         square,
+         star,
+         triangle,
+         wye
+       ];
+
+       function symbol() {
+         var type = constant$b(circle$2),
+             size = constant$b(64),
+             context = null;
+
+         function symbol() {
+           var buffer;
+           if (!context) context = buffer = path();
+           type.apply(this, arguments).draw(context, +size.apply(this, arguments));
+           if (buffer) return context = null, buffer + "" || null;
+         }
+
+         symbol.type = function(_) {
+           return arguments.length ? (type = typeof _ === "function" ? _ : constant$b(_), symbol) : type;
+         };
+
+         symbol.size = function(_) {
+           return arguments.length ? (size = typeof _ === "function" ? _ : constant$b(+_), symbol) : size;
+         };
+
+         symbol.context = function(_) {
+           return arguments.length ? (context = _ == null ? null : _, symbol) : context;
+         };
+
+         return symbol;
+       }
+
+       function noop$5() {}
+
+       function point$2(that, x, y) {
+         that._context.bezierCurveTo(
+           (2 * that._x0 + that._x1) / 3,
+           (2 * that._y0 + that._y1) / 3,
+           (that._x0 + 2 * that._x1) / 3,
+           (that._y0 + 2 * that._y1) / 3,
+           (that._x0 + 4 * that._x1 + x) / 6,
+           (that._y0 + 4 * that._y1 + y) / 6
+         );
+       }
+
+       function Basis(context) {
+         this._context = context;
+       }
+
+       Basis.prototype = {
+         areaStart: function() {
+           this._line = 0;
+         },
+         areaEnd: function() {
+           this._line = NaN;
+         },
+         lineStart: function() {
+           this._x0 = this._x1 =
+           this._y0 = this._y1 = NaN;
+           this._point = 0;
+         },
+         lineEnd: function() {
+           switch (this._point) {
+             case 3: point$2(this, this._x1, this._y1); // proceed
+             case 2: this._context.lineTo(this._x1, this._y1); break;
+           }
+           if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
+           this._line = 1 - this._line;
+         },
+         point: function(x, y) {
+           x = +x, y = +y;
+           switch (this._point) {
+             case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;
+             case 1: this._point = 2; break;
+             case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed
+             default: point$2(this, x, y); break;
+           }
+           this._x0 = this._x1, this._x1 = x;
+           this._y0 = this._y1, this._y1 = y;
+         }
+       };
+
+       function basis$2(context) {
+         return new Basis(context);
+       }
+
+       function BasisClosed(context) {
+         this._context = context;
+       }
+
+       BasisClosed.prototype = {
+         areaStart: noop$5,
+         areaEnd: noop$5,
+         lineStart: function() {
+           this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =
+           this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;
+           this._point = 0;
+         },
+         lineEnd: function() {
+           switch (this._point) {
+             case 1: {
+               this._context.moveTo(this._x2, this._y2);
+               this._context.closePath();
+               break;
+             }
+             case 2: {
+               this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);
+               this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);
+               this._context.closePath();
+               break;
+             }
+             case 3: {
+               this.point(this._x2, this._y2);
+               this.point(this._x3, this._y3);
+               this.point(this._x4, this._y4);
+               break;
+             }
+           }
+         },
+         point: function(x, y) {
+           x = +x, y = +y;
+           switch (this._point) {
+             case 0: this._point = 1; this._x2 = x, this._y2 = y; break;
+             case 1: this._point = 2; this._x3 = x, this._y3 = y; break;
+             case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;
+             default: point$2(this, x, y); break;
+           }
+           this._x0 = this._x1, this._x1 = x;
+           this._y0 = this._y1, this._y1 = y;
+         }
+       };
+
+       function basisClosed$1(context) {
+         return new BasisClosed(context);
+       }
+
+       function BasisOpen(context) {
+         this._context = context;
+       }
+
+       BasisOpen.prototype = {
+         areaStart: function() {
+           this._line = 0;
+         },
+         areaEnd: function() {
+           this._line = NaN;
+         },
+         lineStart: function() {
+           this._x0 = this._x1 =
+           this._y0 = this._y1 = NaN;
+           this._point = 0;
+         },
+         lineEnd: function() {
+           if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();
+           this._line = 1 - this._line;
+         },
+         point: function(x, y) {
+           x = +x, y = +y;
+           switch (this._point) {
+             case 0: this._point = 1; break;
+             case 1: this._point = 2; break;
+             case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;
+             case 3: this._point = 4; // proceed
+             default: point$2(this, x, y); break;
+           }
+           this._x0 = this._x1, this._x1 = x;
+           this._y0 = this._y1, this._y1 = y;
+         }
+       };
+
+       function basisOpen(context) {
+         return new BasisOpen(context);
+       }
+
+       function Bundle(context, beta) {
+         this._basis = new Basis(context);
+         this._beta = beta;
+       }
+
+       Bundle.prototype = {
+         lineStart: function() {
+           this._x = [];
+           this._y = [];
+           this._basis.lineStart();
+         },
+         lineEnd: function() {
+           var x = this._x,
+               y = this._y,
+               j = x.length - 1;
+
+           if (j > 0) {
+             var x0 = x[0],
+                 y0 = y[0],
+                 dx = x[j] - x0,
+                 dy = y[j] - y0,
+                 i = -1,
+                 t;
+
+             while (++i <= j) {
+               t = i / j;
+               this._basis.point(
+                 this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),
+                 this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)
+               );
+             }
+           }
+
+           this._x = this._y = null;
+           this._basis.lineEnd();
+         },
+         point: function(x, y) {
+           this._x.push(+x);
+           this._y.push(+y);
+         }
+       };
+
+       var bundle = (function custom(beta) {
+
+         function bundle(context) {
+           return beta === 1 ? new Basis(context) : new Bundle(context, beta);
+         }
+
+         bundle.beta = function(beta) {
+           return custom(+beta);
+         };
+
+         return bundle;
+       })(0.85);
+
+       function point$3(that, x, y) {
+         that._context.bezierCurveTo(
+           that._x1 + that._k * (that._x2 - that._x0),
+           that._y1 + that._k * (that._y2 - that._y0),
+           that._x2 + that._k * (that._x1 - x),
+           that._y2 + that._k * (that._y1 - y),
+           that._x2,
+           that._y2
+         );
+       }
+
+       function Cardinal(context, tension) {
+         this._context = context;
+         this._k = (1 - tension) / 6;
+       }
+
+       Cardinal.prototype = {
+         areaStart: function() {
+           this._line = 0;
+         },
+         areaEnd: function() {
+           this._line = NaN;
+         },
+         lineStart: function() {
+           this._x0 = this._x1 = this._x2 =
+           this._y0 = this._y1 = this._y2 = NaN;
+           this._point = 0;
+         },
+         lineEnd: function() {
+           switch (this._point) {
+             case 2: this._context.lineTo(this._x2, this._y2); break;
+             case 3: point$3(this, this._x1, this._y1); break;
+           }
+           if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
+           this._line = 1 - this._line;
+         },
+         point: function(x, y) {
+           x = +x, y = +y;
+           switch (this._point) {
+             case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;
+             case 1: this._point = 2; this._x1 = x, this._y1 = y; break;
+             case 2: this._point = 3; // proceed
+             default: point$3(this, x, y); break;
+           }
+           this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
+           this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
+         }
+       };
+
+       var cardinal = (function custom(tension) {
+
+         function cardinal(context) {
+           return new Cardinal(context, tension);
+         }
+
+         cardinal.tension = function(tension) {
+           return custom(+tension);
+         };
+
+         return cardinal;
+       })(0);
+
+       function CardinalClosed(context, tension) {
+         this._context = context;
+         this._k = (1 - tension) / 6;
+       }
+
+       CardinalClosed.prototype = {
+         areaStart: noop$5,
+         areaEnd: noop$5,
+         lineStart: function() {
+           this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =
+           this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;
+           this._point = 0;
+         },
+         lineEnd: function() {
+           switch (this._point) {
+             case 1: {
+               this._context.moveTo(this._x3, this._y3);
+               this._context.closePath();
+               break;
+             }
+             case 2: {
+               this._context.lineTo(this._x3, this._y3);
+               this._context.closePath();
+               break;
+             }
+             case 3: {
+               this.point(this._x3, this._y3);
+               this.point(this._x4, this._y4);
+               this.point(this._x5, this._y5);
+               break;
+             }
+           }
+         },
+         point: function(x, y) {
+           x = +x, y = +y;
+           switch (this._point) {
+             case 0: this._point = 1; this._x3 = x, this._y3 = y; break;
+             case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;
+             case 2: this._point = 3; this._x5 = x, this._y5 = y; break;
+             default: point$3(this, x, y); break;
+           }
+           this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
+           this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
+         }
+       };
+
+       var cardinalClosed = (function custom(tension) {
+
+         function cardinal(context) {
+           return new CardinalClosed(context, tension);
+         }
+
+         cardinal.tension = function(tension) {
+           return custom(+tension);
+         };
+
+         return cardinal;
+       })(0);
+
+       function CardinalOpen(context, tension) {
+         this._context = context;
+         this._k = (1 - tension) / 6;
+       }
+
+       CardinalOpen.prototype = {
+         areaStart: function() {
+           this._line = 0;
+         },
+         areaEnd: function() {
+           this._line = NaN;
+         },
+         lineStart: function() {
+           this._x0 = this._x1 = this._x2 =
+           this._y0 = this._y1 = this._y2 = NaN;
+           this._point = 0;
+         },
+         lineEnd: function() {
+           if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();
+           this._line = 1 - this._line;
+         },
+         point: function(x, y) {
+           x = +x, y = +y;
+           switch (this._point) {
+             case 0: this._point = 1; break;
+             case 1: this._point = 2; break;
+             case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;
+             case 3: this._point = 4; // proceed
+             default: point$3(this, x, y); break;
+           }
+           this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
+           this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
+         }
+       };
+
+       var cardinalOpen = (function custom(tension) {
+
+         function cardinal(context) {
+           return new CardinalOpen(context, tension);
+         }
+
+         cardinal.tension = function(tension) {
+           return custom(+tension);
+         };
+
+         return cardinal;
+       })(0);
+
+       function point$4(that, x, y) {
+         var x1 = that._x1,
+             y1 = that._y1,
+             x2 = that._x2,
+             y2 = that._y2;
+
+         if (that._l01_a > epsilon$3) {
+           var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,
+               n = 3 * that._l01_a * (that._l01_a + that._l12_a);
+           x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;
+           y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;
+         }
+
+         if (that._l23_a > epsilon$3) {
+           var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,
+               m = 3 * that._l23_a * (that._l23_a + that._l12_a);
+           x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;
+           y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;
+         }
+
+         that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);
+       }
+
+       function CatmullRom(context, alpha) {
+         this._context = context;
+         this._alpha = alpha;
+       }
+
+       CatmullRom.prototype = {
+         areaStart: function() {
+           this._line = 0;
+         },
+         areaEnd: function() {
+           this._line = NaN;
+         },
+         lineStart: function() {
+           this._x0 = this._x1 = this._x2 =
+           this._y0 = this._y1 = this._y2 = NaN;
+           this._l01_a = this._l12_a = this._l23_a =
+           this._l01_2a = this._l12_2a = this._l23_2a =
+           this._point = 0;
+         },
+         lineEnd: function() {
+           switch (this._point) {
+             case 2: this._context.lineTo(this._x2, this._y2); break;
+             case 3: this.point(this._x2, this._y2); break;
+           }
+           if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
+           this._line = 1 - this._line;
+         },
+         point: function(x, y) {
+           x = +x, y = +y;
+
+           if (this._point) {
+             var x23 = this._x2 - x,
+                 y23 = this._y2 - y;
+             this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));
+           }
+
+           switch (this._point) {
+             case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;
+             case 1: this._point = 2; break;
+             case 2: this._point = 3; // proceed
+             default: point$4(this, x, y); break;
+           }
+
+           this._l01_a = this._l12_a, this._l12_a = this._l23_a;
+           this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;
+           this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
+           this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
+         }
+       };
+
+       var catmullRom = (function custom(alpha) {
+
+         function catmullRom(context) {
+           return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);
+         }
+
+         catmullRom.alpha = function(alpha) {
+           return custom(+alpha);
+         };
+
+         return catmullRom;
+       })(0.5);
+
+       function CatmullRomClosed(context, alpha) {
+         this._context = context;
+         this._alpha = alpha;
+       }
+
+       CatmullRomClosed.prototype = {
+         areaStart: noop$5,
+         areaEnd: noop$5,
+         lineStart: function() {
+           this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =
+           this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;
+           this._l01_a = this._l12_a = this._l23_a =
+           this._l01_2a = this._l12_2a = this._l23_2a =
+           this._point = 0;
+         },
+         lineEnd: function() {
+           switch (this._point) {
+             case 1: {
+               this._context.moveTo(this._x3, this._y3);
+               this._context.closePath();
+               break;
+             }
+             case 2: {
+               this._context.lineTo(this._x3, this._y3);
+               this._context.closePath();
+               break;
+             }
+             case 3: {
+               this.point(this._x3, this._y3);
+               this.point(this._x4, this._y4);
+               this.point(this._x5, this._y5);
+               break;
+             }
+           }
+         },
+         point: function(x, y) {
+           x = +x, y = +y;
+
+           if (this._point) {
+             var x23 = this._x2 - x,
+                 y23 = this._y2 - y;
+             this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));
+           }
+
+           switch (this._point) {
+             case 0: this._point = 1; this._x3 = x, this._y3 = y; break;
+             case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;
+             case 2: this._point = 3; this._x5 = x, this._y5 = y; break;
+             default: point$4(this, x, y); break;
+           }
+
+           this._l01_a = this._l12_a, this._l12_a = this._l23_a;
+           this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;
+           this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
+           this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
+         }
+       };
+
+       var catmullRomClosed = (function custom(alpha) {
+
+         function catmullRom(context) {
+           return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);
+         }
+
+         catmullRom.alpha = function(alpha) {
+           return custom(+alpha);
+         };
+
+         return catmullRom;
+       })(0.5);
+
+       function CatmullRomOpen(context, alpha) {
+         this._context = context;
+         this._alpha = alpha;
+       }
+
+       CatmullRomOpen.prototype = {
+         areaStart: function() {
+           this._line = 0;
+         },
+         areaEnd: function() {
+           this._line = NaN;
+         },
+         lineStart: function() {
+           this._x0 = this._x1 = this._x2 =
+           this._y0 = this._y1 = this._y2 = NaN;
+           this._l01_a = this._l12_a = this._l23_a =
+           this._l01_2a = this._l12_2a = this._l23_2a =
+           this._point = 0;
+         },
+         lineEnd: function() {
+           if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();
+           this._line = 1 - this._line;
+         },
+         point: function(x, y) {
+           x = +x, y = +y;
+
+           if (this._point) {
+             var x23 = this._x2 - x,
+                 y23 = this._y2 - y;
+             this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));
+           }
+
+           switch (this._point) {
+             case 0: this._point = 1; break;
+             case 1: this._point = 2; break;
+             case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;
+             case 3: this._point = 4; // proceed
+             default: point$4(this, x, y); break;
+           }
+
+           this._l01_a = this._l12_a, this._l12_a = this._l23_a;
+           this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;
+           this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
+           this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
+         }
+       };
+
+       var catmullRomOpen = (function custom(alpha) {
+
+         function catmullRom(context) {
+           return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);
+         }
+
+         catmullRom.alpha = function(alpha) {
+           return custom(+alpha);
+         };
+
+         return catmullRom;
+       })(0.5);
+
+       function LinearClosed(context) {
+         this._context = context;
+       }
+
+       LinearClosed.prototype = {
+         areaStart: noop$5,
+         areaEnd: noop$5,
+         lineStart: function() {
+           this._point = 0;
+         },
+         lineEnd: function() {
+           if (this._point) this._context.closePath();
+         },
+         point: function(x, y) {
+           x = +x, y = +y;
+           if (this._point) this._context.lineTo(x, y);
+           else this._point = 1, this._context.moveTo(x, y);
+         }
+       };
+
+       function linearClosed(context) {
+         return new LinearClosed(context);
+       }
+
+       function sign$3(x) {
+         return x < 0 ? -1 : 1;
+       }
+
+       // Calculate the slopes of the tangents (Hermite-type interpolation) based on
+       // the following paper: Steffen, M. 1990. A Simple Method for Monotonic
+       // Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.
+       // NOV(II), P. 443, 1990.
+       function slope3(that, x2, y2) {
+         var h0 = that._x1 - that._x0,
+             h1 = x2 - that._x1,
+             s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),
+             s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),
+             p = (s0 * h1 + s1 * h0) / (h0 + h1);
+         return (sign$3(s0) + sign$3(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;
+       }
+
+       // Calculate a one-sided slope.
+       function slope2(that, t) {
+         var h = that._x1 - that._x0;
+         return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;
+       }
+
+       // According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations
+       // "you can express cubic Hermite interpolation in terms of cubic Bézier curves
+       // with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1".
+       function point$5(that, t0, t1) {
+         var x0 = that._x0,
+             y0 = that._y0,
+             x1 = that._x1,
+             y1 = that._y1,
+             dx = (x1 - x0) / 3;
+         that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);
+       }
+
+       function MonotoneX(context) {
+         this._context = context;
+       }
+
+       MonotoneX.prototype = {
+         areaStart: function() {
+           this._line = 0;
+         },
+         areaEnd: function() {
+           this._line = NaN;
+         },
+         lineStart: function() {
+           this._x0 = this._x1 =
+           this._y0 = this._y1 =
+           this._t0 = NaN;
+           this._point = 0;
+         },
+         lineEnd: function() {
+           switch (this._point) {
+             case 2: this._context.lineTo(this._x1, this._y1); break;
+             case 3: point$5(this, this._t0, slope2(this, this._t0)); break;
+           }
+           if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
+           this._line = 1 - this._line;
+         },
+         point: function(x, y) {
+           var t1 = NaN;
+
+           x = +x, y = +y;
+           if (x === this._x1 && y === this._y1) return; // Ignore coincident points.
+           switch (this._point) {
+             case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;
+             case 1: this._point = 2; break;
+             case 2: this._point = 3; point$5(this, slope2(this, t1 = slope3(this, x, y)), t1); break;
+             default: point$5(this, this._t0, t1 = slope3(this, x, y)); break;
+           }
+
+           this._x0 = this._x1, this._x1 = x;
+           this._y0 = this._y1, this._y1 = y;
+           this._t0 = t1;
+         }
+       };
+
+       function MonotoneY(context) {
+         this._context = new ReflectContext(context);
+       }
+
+       (MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {
+         MonotoneX.prototype.point.call(this, y, x);
+       };
+
+       function ReflectContext(context) {
+         this._context = context;
+       }
+
+       ReflectContext.prototype = {
+         moveTo: function(x, y) { this._context.moveTo(y, x); },
+         closePath: function() { this._context.closePath(); },
+         lineTo: function(x, y) { this._context.lineTo(y, x); },
+         bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }
+       };
+
+       function monotoneX(context) {
+         return new MonotoneX(context);
+       }
+
+       function monotoneY(context) {
+         return new MonotoneY(context);
+       }
+
+       function Natural(context) {
+         this._context = context;
+       }
+
+       Natural.prototype = {
+         areaStart: function() {
+           this._line = 0;
+         },
+         areaEnd: function() {
+           this._line = NaN;
+         },
+         lineStart: function() {
+           this._x = [];
+           this._y = [];
+         },
+         lineEnd: function() {
+           var x = this._x,
+               y = this._y,
+               n = x.length;
+
+           if (n) {
+             this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);
+             if (n === 2) {
+               this._context.lineTo(x[1], y[1]);
+             } else {
+               var px = controlPoints(x),
+                   py = controlPoints(y);
+               for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {
+                 this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);
+               }
+             }
+           }
+
+           if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();
+           this._line = 1 - this._line;
+           this._x = this._y = null;
+         },
+         point: function(x, y) {
+           this._x.push(+x);
+           this._y.push(+y);
+         }
+       };
+
+       // See https://www.particleincell.com/2012/bezier-splines/ for derivation.
+       function controlPoints(x) {
+         var i,
+             n = x.length - 1,
+             m,
+             a = new Array(n),
+             b = new Array(n),
+             r = new Array(n);
+         a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];
+         for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];
+         a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];
+         for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];
+         a[n - 1] = r[n - 1] / b[n - 1];
+         for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];
+         b[n - 1] = (x[n] + a[n - 1]) / 2;
+         for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];
+         return [a, b];
+       }
+
+       function natural(context) {
+         return new Natural(context);
+       }
+
+       function Step(context, t) {
+         this._context = context;
+         this._t = t;
+       }
+
+       Step.prototype = {
+         areaStart: function() {
+           this._line = 0;
+         },
+         areaEnd: function() {
+           this._line = NaN;
+         },
+         lineStart: function() {
+           this._x = this._y = NaN;
+           this._point = 0;
+         },
+         lineEnd: function() {
+           if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);
+           if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
+           if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;
+         },
+         point: function(x, y) {
+           x = +x, y = +y;
+           switch (this._point) {
+             case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;
+             case 1: this._point = 2; // proceed
+             default: {
+               if (this._t <= 0) {
+                 this._context.lineTo(this._x, y);
+                 this._context.lineTo(x, y);
+               } else {
+                 var x1 = this._x * (1 - this._t) + x * this._t;
+                 this._context.lineTo(x1, this._y);
+                 this._context.lineTo(x1, y);
+               }
+               break;
+             }
+           }
+           this._x = x, this._y = y;
+         }
+       };
+
+       function step(context) {
+         return new Step(context, 0.5);
+       }
+
+       function stepBefore(context) {
+         return new Step(context, 0);
+       }
+
+       function stepAfter(context) {
+         return new Step(context, 1);
+       }
+
+       function none$1(series, order) {
+         if (!((n = series.length) > 1)) return;
+         for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {
+           s0 = s1, s1 = series[order[i]];
+           for (j = 0; j < m; ++j) {
+             s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];
+           }
+         }
+       }
+
+       function none$2(series) {
+         var n = series.length, o = new Array(n);
+         while (--n >= 0) o[n] = n;
+         return o;
+       }
+
+       function stackValue(d, key) {
+         return d[key];
+       }
+
+       function stack() {
+         var keys = constant$b([]),
+             order = none$2,
+             offset = none$1,
+             value = stackValue;
+
+         function stack(data) {
+           var kz = keys.apply(this, arguments),
+               i,
+               m = data.length,
+               n = kz.length,
+               sz = new Array(n),
+               oz;
+
+           for (i = 0; i < n; ++i) {
+             for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {
+               si[j] = sij = [0, +value(data[j], ki, j, data)];
+               sij.data = data[j];
+             }
+             si.key = ki;
+           }
+
+           for (i = 0, oz = order(sz); i < n; ++i) {
+             sz[oz[i]].index = i;
+           }
+
+           offset(sz, oz);
+           return sz;
+         }
+
+         stack.keys = function(_) {
+           return arguments.length ? (keys = typeof _ === "function" ? _ : constant$b(slice$a.call(_)), stack) : keys;
+         };
+
+         stack.value = function(_) {
+           return arguments.length ? (value = typeof _ === "function" ? _ : constant$b(+_), stack) : value;
+         };
+
+         stack.order = function(_) {
+           return arguments.length ? (order = _ == null ? none$2 : typeof _ === "function" ? _ : constant$b(slice$a.call(_)), stack) : order;
+         };
+
+         stack.offset = function(_) {
+           return arguments.length ? (offset = _ == null ? none$1 : _, stack) : offset;
+         };
+
+         return stack;
+       }
+
+       function expand(series, order) {
+         if (!((n = series.length) > 0)) return;
+         for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {
+           for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;
+           if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;
+         }
+         none$1(series, order);
+       }
+
+       function diverging$1(series, order) {
+         if (!((n = series.length) > 0)) return;
+         for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {
+           for (yp = yn = 0, i = 0; i < n; ++i) {
+             if ((dy = (d = series[order[i]][j])[1] - d[0]) >= 0) {
+               d[0] = yp, d[1] = yp += dy;
+             } else if (dy < 0) {
+               d[1] = yn, d[0] = yn += dy;
+             } else {
+               d[0] = yp;
+             }
+           }
+         }
+       }
+
+       function silhouette(series, order) {
+         if (!((n = series.length) > 0)) return;
+         for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {
+           for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;
+           s0[j][1] += s0[j][0] = -y / 2;
+         }
+         none$1(series, order);
+       }
+
+       function wiggle(series, order) {
+         if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;
+         for (var y = 0, j = 1, s0, m, n; j < m; ++j) {
+           for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {
+             var si = series[order[i]],
+                 sij0 = si[j][1] || 0,
+                 sij1 = si[j - 1][1] || 0,
+                 s3 = (sij0 - sij1) / 2;
+             for (var k = 0; k < i; ++k) {
+               var sk = series[order[k]],
+                   skj0 = sk[j][1] || 0,
+                   skj1 = sk[j - 1][1] || 0;
+               s3 += skj0 - skj1;
+             }
+             s1 += sij0, s2 += s3 * sij0;
+           }
+           s0[j - 1][1] += s0[j - 1][0] = y;
+           if (s1) y -= s2 / s1;
+         }
+         s0[j - 1][1] += s0[j - 1][0] = y;
+         none$1(series, order);
+       }
+
+       function appearance(series) {
+         var peaks = series.map(peak);
+         return none$2(series).sort(function(a, b) { return peaks[a] - peaks[b]; });
+       }
+
+       function peak(series) {
+         var i = -1, j = 0, n = series.length, vi, vj = -Infinity;
+         while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i;
+         return j;
+       }
+
+       function ascending$2(series) {
+         var sums = series.map(sum$2);
+         return none$2(series).sort(function(a, b) { return sums[a] - sums[b]; });
+       }
+
+       function sum$2(series) {
+         var s = 0, i = -1, n = series.length, v;
+         while (++i < n) if (v = +series[i][1]) s += v;
+         return s;
+       }
+
+       function descending$1(series) {
+         return ascending$2(series).reverse();
+       }
+
+       function insideOut(series) {
+         var n = series.length,
+             i,
+             j,
+             sums = series.map(sum$2),
+             order = appearance(series),
+             top = 0,
+             bottom = 0,
+             tops = [],
+             bottoms = [];
+
+         for (i = 0; i < n; ++i) {
+           j = order[i];
+           if (top < bottom) {
+             top += sums[j];
+             tops.push(j);
+           } else {
+             bottom += sums[j];
+             bottoms.push(j);
+           }
+         }
+
+         return bottoms.reverse().concat(tops);
+       }
+
+       function reverse(series) {
+         return none$2(series).reverse();
+       }
+
+       function constant$c(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       function x$4(d) {
+         return d[0];
+       }
+
+       function y$4(d) {
+         return d[1];
+       }
+
+       function RedBlackTree() {
+         this._ = null; // root node
+       }
+
+       function RedBlackNode(node) {
+         node.U = // parent node
+         node.C = // color - true for red, false for black
+         node.L = // left node
+         node.R = // right node
+         node.P = // previous node
+         node.N = null; // next node
+       }
+
+       RedBlackTree.prototype = {
+         constructor: RedBlackTree,
+
+         insert: function(after, node) {
+           var parent, grandpa, uncle;
+
+           if (after) {
+             node.P = after;
+             node.N = after.N;
+             if (after.N) after.N.P = node;
+             after.N = node;
+             if (after.R) {
+               after = after.R;
+               while (after.L) after = after.L;
+               after.L = node;
+             } else {
+               after.R = node;
+             }
+             parent = after;
+           } else if (this._) {
+             after = RedBlackFirst(this._);
+             node.P = null;
+             node.N = after;
+             after.P = after.L = node;
+             parent = after;
+           } else {
+             node.P = node.N = null;
+             this._ = node;
+             parent = null;
+           }
+           node.L = node.R = null;
+           node.U = parent;
+           node.C = true;
+
+           after = node;
+           while (parent && parent.C) {
+             grandpa = parent.U;
+             if (parent === grandpa.L) {
+               uncle = grandpa.R;
+               if (uncle && uncle.C) {
+                 parent.C = uncle.C = false;
+                 grandpa.C = true;
+                 after = grandpa;
+               } else {
+                 if (after === parent.R) {
+                   RedBlackRotateLeft(this, parent);
+                   after = parent;
+                   parent = after.U;
+                 }
+                 parent.C = false;
+                 grandpa.C = true;
+                 RedBlackRotateRight(this, grandpa);
+               }
+             } else {
+               uncle = grandpa.L;
+               if (uncle && uncle.C) {
+                 parent.C = uncle.C = false;
+                 grandpa.C = true;
+                 after = grandpa;
+               } else {
+                 if (after === parent.L) {
+                   RedBlackRotateRight(this, parent);
+                   after = parent;
+                   parent = after.U;
+                 }
+                 parent.C = false;
+                 grandpa.C = true;
+                 RedBlackRotateLeft(this, grandpa);
+               }
+             }
+             parent = after.U;
+           }
+           this._.C = false;
+         },
+
+         remove: function(node) {
+           if (node.N) node.N.P = node.P;
+           if (node.P) node.P.N = node.N;
+           node.N = node.P = null;
+
+           var parent = node.U,
+               sibling,
+               left = node.L,
+               right = node.R,
+               next,
+               red;
+
+           if (!left) next = right;
+           else if (!right) next = left;
+           else next = RedBlackFirst(right);
+
+           if (parent) {
+             if (parent.L === node) parent.L = next;
+             else parent.R = next;
+           } else {
+             this._ = next;
+           }
+
+           if (left && right) {
+             red = next.C;
+             next.C = node.C;
+             next.L = left;
+             left.U = next;
+             if (next !== right) {
+               parent = next.U;
+               next.U = node.U;
+               node = next.R;
+               parent.L = node;
+               next.R = right;
+               right.U = next;
+             } else {
+               next.U = parent;
+               parent = next;
+               node = next.R;
+             }
+           } else {
+             red = node.C;
+             node = next;
+           }
+
+           if (node) node.U = parent;
+           if (red) return;
+           if (node && node.C) { node.C = false; return; }
+
+           do {
+             if (node === this._) break;
+             if (node === parent.L) {
+               sibling = parent.R;
+               if (sibling.C) {
+                 sibling.C = false;
+                 parent.C = true;
+                 RedBlackRotateLeft(this, parent);
+                 sibling = parent.R;
+               }
+               if ((sibling.L && sibling.L.C)
+                   || (sibling.R && sibling.R.C)) {
+                 if (!sibling.R || !sibling.R.C) {
+                   sibling.L.C = false;
+                   sibling.C = true;
+                   RedBlackRotateRight(this, sibling);
+                   sibling = parent.R;
+                 }
+                 sibling.C = parent.C;
+                 parent.C = sibling.R.C = false;
+                 RedBlackRotateLeft(this, parent);
+                 node = this._;
+                 break;
+               }
+             } else {
+               sibling = parent.L;
+               if (sibling.C) {
+                 sibling.C = false;
+                 parent.C = true;
+                 RedBlackRotateRight(this, parent);
+                 sibling = parent.L;
+               }
+               if ((sibling.L && sibling.L.C)
+                 || (sibling.R && sibling.R.C)) {
+                 if (!sibling.L || !sibling.L.C) {
+                   sibling.R.C = false;
+                   sibling.C = true;
+                   RedBlackRotateLeft(this, sibling);
+                   sibling = parent.L;
+                 }
+                 sibling.C = parent.C;
+                 parent.C = sibling.L.C = false;
+                 RedBlackRotateRight(this, parent);
+                 node = this._;
+                 break;
+               }
+             }
+             sibling.C = true;
+             node = parent;
+             parent = parent.U;
+           } while (!node.C);
+
+           if (node) node.C = false;
+         }
+       };
+
+       function RedBlackRotateLeft(tree, node) {
+         var p = node,
+             q = node.R,
+             parent = p.U;
+
+         if (parent) {
+           if (parent.L === p) parent.L = q;
+           else parent.R = q;
+         } else {
+           tree._ = q;
+         }
+
+         q.U = parent;
+         p.U = q;
+         p.R = q.L;
+         if (p.R) p.R.U = p;
+         q.L = p;
+       }
+
+       function RedBlackRotateRight(tree, node) {
+         var p = node,
+             q = node.L,
+             parent = p.U;
+
+         if (parent) {
+           if (parent.L === p) parent.L = q;
+           else parent.R = q;
+         } else {
+           tree._ = q;
+         }
+
+         q.U = parent;
+         p.U = q;
+         p.L = q.R;
+         if (p.L) p.L.U = p;
+         q.R = p;
+       }
+
+       function RedBlackFirst(node) {
+         while (node.L) node = node.L;
+         return node;
+       }
+
+       function createEdge(left, right, v0, v1) {
+         var edge = [null, null],
+             index = edges.push(edge) - 1;
+         edge.left = left;
+         edge.right = right;
+         if (v0) setEdgeEnd(edge, left, right, v0);
+         if (v1) setEdgeEnd(edge, right, left, v1);
+         cells[left.index].halfedges.push(index);
+         cells[right.index].halfedges.push(index);
+         return edge;
+       }
+
+       function createBorderEdge(left, v0, v1) {
+         var edge = [v0, v1];
+         edge.left = left;
+         return edge;
+       }
+
+       function setEdgeEnd(edge, left, right, vertex) {
+         if (!edge[0] && !edge[1]) {
+           edge[0] = vertex;
+           edge.left = left;
+           edge.right = right;
+         } else if (edge.left === right) {
+           edge[1] = vertex;
+         } else {
+           edge[0] = vertex;
+         }
+       }
+
+       // Liang–Barsky line clipping.
+       function clipEdge(edge, x0, y0, x1, y1) {
+         var a = edge[0],
+             b = edge[1],
+             ax = a[0],
+             ay = a[1],
+             bx = b[0],
+             by = b[1],
+             t0 = 0,
+             t1 = 1,
+             dx = bx - ax,
+             dy = by - ay,
+             r;
+
+         r = x0 - ax;
+         if (!dx && r > 0) return;
+         r /= dx;
+         if (dx < 0) {
+           if (r < t0) return;
+           if (r < t1) t1 = r;
+         } else if (dx > 0) {
+           if (r > t1) return;
+           if (r > t0) t0 = r;
+         }
+
+         r = x1 - ax;
+         if (!dx && r < 0) return;
+         r /= dx;
+         if (dx < 0) {
+           if (r > t1) return;
+           if (r > t0) t0 = r;
+         } else if (dx > 0) {
+           if (r < t0) return;
+           if (r < t1) t1 = r;
+         }
+
+         r = y0 - ay;
+         if (!dy && r > 0) return;
+         r /= dy;
+         if (dy < 0) {
+           if (r < t0) return;
+           if (r < t1) t1 = r;
+         } else if (dy > 0) {
+           if (r > t1) return;
+           if (r > t0) t0 = r;
+         }
+
+         r = y1 - ay;
+         if (!dy && r < 0) return;
+         r /= dy;
+         if (dy < 0) {
+           if (r > t1) return;
+           if (r > t0) t0 = r;
+         } else if (dy > 0) {
+           if (r < t0) return;
+           if (r < t1) t1 = r;
+         }
+
+         if (!(t0 > 0) && !(t1 < 1)) return true; // TODO Better check?
+
+         if (t0 > 0) edge[0] = [ax + t0 * dx, ay + t0 * dy];
+         if (t1 < 1) edge[1] = [ax + t1 * dx, ay + t1 * dy];
+         return true;
+       }
+
+       function connectEdge(edge, x0, y0, x1, y1) {
+         var v1 = edge[1];
+         if (v1) return true;
+
+         var v0 = edge[0],
+             left = edge.left,
+             right = edge.right,
+             lx = left[0],
+             ly = left[1],
+             rx = right[0],
+             ry = right[1],
+             fx = (lx + rx) / 2,
+             fy = (ly + ry) / 2,
+             fm,
+             fb;
+
+         if (ry === ly) {
+           if (fx < x0 || fx >= x1) return;
+           if (lx > rx) {
+             if (!v0) v0 = [fx, y0];
+             else if (v0[1] >= y1) return;
+             v1 = [fx, y1];
+           } else {
+             if (!v0) v0 = [fx, y1];
+             else if (v0[1] < y0) return;
+             v1 = [fx, y0];
+           }
+         } else {
+           fm = (lx - rx) / (ry - ly);
+           fb = fy - fm * fx;
+           if (fm < -1 || fm > 1) {
+             if (lx > rx) {
+               if (!v0) v0 = [(y0 - fb) / fm, y0];
+               else if (v0[1] >= y1) return;
+               v1 = [(y1 - fb) / fm, y1];
+             } else {
+               if (!v0) v0 = [(y1 - fb) / fm, y1];
+               else if (v0[1] < y0) return;
+               v1 = [(y0 - fb) / fm, y0];
+             }
+           } else {
+             if (ly < ry) {
+               if (!v0) v0 = [x0, fm * x0 + fb];
+               else if (v0[0] >= x1) return;
+               v1 = [x1, fm * x1 + fb];
+             } else {
+               if (!v0) v0 = [x1, fm * x1 + fb];
+               else if (v0[0] < x0) return;
+               v1 = [x0, fm * x0 + fb];
+             }
+           }
+         }
+
+         edge[0] = v0;
+         edge[1] = v1;
+         return true;
+       }
+
+       function clipEdges(x0, y0, x1, y1) {
+         var i = edges.length,
+             edge;
+
+         while (i--) {
+           if (!connectEdge(edge = edges[i], x0, y0, x1, y1)
+               || !clipEdge(edge, x0, y0, x1, y1)
+               || !(Math.abs(edge[0][0] - edge[1][0]) > epsilon$4
+                   || Math.abs(edge[0][1] - edge[1][1]) > epsilon$4)) {
+             delete edges[i];
+           }
+         }
+       }
+
+       function createCell(site) {
+         return cells[site.index] = {
+           site: site,
+           halfedges: []
+         };
+       }
+
+       function cellHalfedgeAngle(cell, edge) {
+         var site = cell.site,
+             va = edge.left,
+             vb = edge.right;
+         if (site === vb) vb = va, va = site;
+         if (vb) return Math.atan2(vb[1] - va[1], vb[0] - va[0]);
+         if (site === va) va = edge[1], vb = edge[0];
+         else va = edge[0], vb = edge[1];
+         return Math.atan2(va[0] - vb[0], vb[1] - va[1]);
+       }
+
+       function cellHalfedgeStart(cell, edge) {
+         return edge[+(edge.left !== cell.site)];
+       }
+
+       function cellHalfedgeEnd(cell, edge) {
+         return edge[+(edge.left === cell.site)];
+       }
+
+       function sortCellHalfedges() {
+         for (var i = 0, n = cells.length, cell, halfedges, j, m; i < n; ++i) {
+           if ((cell = cells[i]) && (m = (halfedges = cell.halfedges).length)) {
+             var index = new Array(m),
+                 array = new Array(m);
+             for (j = 0; j < m; ++j) index[j] = j, array[j] = cellHalfedgeAngle(cell, edges[halfedges[j]]);
+             index.sort(function(i, j) { return array[j] - array[i]; });
+             for (j = 0; j < m; ++j) array[j] = halfedges[index[j]];
+             for (j = 0; j < m; ++j) halfedges[j] = array[j];
+           }
+         }
+       }
+
+       function clipCells(x0, y0, x1, y1) {
+         var nCells = cells.length,
+             iCell,
+             cell,
+             site,
+             iHalfedge,
+             halfedges,
+             nHalfedges,
+             start,
+             startX,
+             startY,
+             end,
+             endX,
+             endY,
+             cover = true;
+
+         for (iCell = 0; iCell < nCells; ++iCell) {
+           if (cell = cells[iCell]) {
+             site = cell.site;
+             halfedges = cell.halfedges;
+             iHalfedge = halfedges.length;
+
+             // Remove any dangling clipped edges.
+             while (iHalfedge--) {
+               if (!edges[halfedges[iHalfedge]]) {
+                 halfedges.splice(iHalfedge, 1);
+               }
+             }
+
+             // Insert any border edges as necessary.
+             iHalfedge = 0, nHalfedges = halfedges.length;
+             while (iHalfedge < nHalfedges) {
+               end = cellHalfedgeEnd(cell, edges[halfedges[iHalfedge]]), endX = end[0], endY = end[1];
+               start = cellHalfedgeStart(cell, edges[halfedges[++iHalfedge % nHalfedges]]), startX = start[0], startY = start[1];
+               if (Math.abs(endX - startX) > epsilon$4 || Math.abs(endY - startY) > epsilon$4) {
+                 halfedges.splice(iHalfedge, 0, edges.push(createBorderEdge(site, end,
+                     Math.abs(endX - x0) < epsilon$4 && y1 - endY > epsilon$4 ? [x0, Math.abs(startX - x0) < epsilon$4 ? startY : y1]
+                     : Math.abs(endY - y1) < epsilon$4 && x1 - endX > epsilon$4 ? [Math.abs(startY - y1) < epsilon$4 ? startX : x1, y1]
+                     : Math.abs(endX - x1) < epsilon$4 && endY - y0 > epsilon$4 ? [x1, Math.abs(startX - x1) < epsilon$4 ? startY : y0]
+                     : Math.abs(endY - y0) < epsilon$4 && endX - x0 > epsilon$4 ? [Math.abs(startY - y0) < epsilon$4 ? startX : x0, y0]
+                     : null)) - 1);
+                 ++nHalfedges;
+               }
+             }
+
+             if (nHalfedges) cover = false;
+           }
+         }
+
+         // If there weren’t any edges, have the closest site cover the extent.
+         // It doesn’t matter which corner of the extent we measure!
+         if (cover) {
+           var dx, dy, d2, dc = Infinity;
+
+           for (iCell = 0, cover = null; iCell < nCells; ++iCell) {
+             if (cell = cells[iCell]) {
+               site = cell.site;
+               dx = site[0] - x0;
+               dy = site[1] - y0;
+               d2 = dx * dx + dy * dy;
+               if (d2 < dc) dc = d2, cover = cell;
+             }
+           }
+
+           if (cover) {
+             var v00 = [x0, y0], v01 = [x0, y1], v11 = [x1, y1], v10 = [x1, y0];
+             cover.halfedges.push(
+               edges.push(createBorderEdge(site = cover.site, v00, v01)) - 1,
+               edges.push(createBorderEdge(site, v01, v11)) - 1,
+               edges.push(createBorderEdge(site, v11, v10)) - 1,
+               edges.push(createBorderEdge(site, v10, v00)) - 1
+             );
+           }
+         }
+
+         // Lastly delete any cells with no edges; these were entirely clipped.
+         for (iCell = 0; iCell < nCells; ++iCell) {
+           if (cell = cells[iCell]) {
+             if (!cell.halfedges.length) {
+               delete cells[iCell];
+             }
+           }
+         }
+       }
+
+       var circlePool = [];
+
+       var firstCircle;
+
+       function Circle() {
+         RedBlackNode(this);
+         this.x =
+         this.y =
+         this.arc =
+         this.site =
+         this.cy = null;
+       }
+
+       function attachCircle(arc) {
+         var lArc = arc.P,
+             rArc = arc.N;
+
+         if (!lArc || !rArc) return;
+
+         var lSite = lArc.site,
+             cSite = arc.site,
+             rSite = rArc.site;
+
+         if (lSite === rSite) return;
+
+         var bx = cSite[0],
+             by = cSite[1],
+             ax = lSite[0] - bx,
+             ay = lSite[1] - by,
+             cx = rSite[0] - bx,
+             cy = rSite[1] - by;
+
+         var d = 2 * (ax * cy - ay * cx);
+         if (d >= -epsilon2$2) return;
+
+         var ha = ax * ax + ay * ay,
+             hc = cx * cx + cy * cy,
+             x = (cy * ha - ay * hc) / d,
+             y = (ax * hc - cx * ha) / d;
+
+         var circle = circlePool.pop() || new Circle;
+         circle.arc = arc;
+         circle.site = cSite;
+         circle.x = x + bx;
+         circle.y = (circle.cy = y + by) + Math.sqrt(x * x + y * y); // y bottom
+
+         arc.circle = circle;
+
+         var before = null,
+             node = circles._;
+
+         while (node) {
+           if (circle.y < node.y || (circle.y === node.y && circle.x <= node.x)) {
+             if (node.L) node = node.L;
+             else { before = node.P; break; }
+           } else {
+             if (node.R) node = node.R;
+             else { before = node; break; }
+           }
+         }
+
+         circles.insert(before, circle);
+         if (!before) firstCircle = circle;
+       }
+
+       function detachCircle(arc) {
+         var circle = arc.circle;
+         if (circle) {
+           if (!circle.P) firstCircle = circle.N;
+           circles.remove(circle);
+           circlePool.push(circle);
+           RedBlackNode(circle);
+           arc.circle = null;
+         }
+       }
+
+       var beachPool = [];
+
+       function Beach() {
+         RedBlackNode(this);
+         this.edge =
+         this.site =
+         this.circle = null;
+       }
+
+       function createBeach(site) {
+         var beach = beachPool.pop() || new Beach;
+         beach.site = site;
+         return beach;
+       }
+
+       function detachBeach(beach) {
+         detachCircle(beach);
+         beaches.remove(beach);
+         beachPool.push(beach);
+         RedBlackNode(beach);
+       }
+
+       function removeBeach(beach) {
+         var circle = beach.circle,
+             x = circle.x,
+             y = circle.cy,
+             vertex = [x, y],
+             previous = beach.P,
+             next = beach.N,
+             disappearing = [beach];
+
+         detachBeach(beach);
+
+         var lArc = previous;
+         while (lArc.circle
+             && Math.abs(x - lArc.circle.x) < epsilon$4
+             && Math.abs(y - lArc.circle.cy) < epsilon$4) {
+           previous = lArc.P;
+           disappearing.unshift(lArc);
+           detachBeach(lArc);
+           lArc = previous;
+         }
+
+         disappearing.unshift(lArc);
+         detachCircle(lArc);
+
+         var rArc = next;
+         while (rArc.circle
+             && Math.abs(x - rArc.circle.x) < epsilon$4
+             && Math.abs(y - rArc.circle.cy) < epsilon$4) {
+           next = rArc.N;
+           disappearing.push(rArc);
+           detachBeach(rArc);
+           rArc = next;
+         }
+
+         disappearing.push(rArc);
+         detachCircle(rArc);
+
+         var nArcs = disappearing.length,
+             iArc;
+         for (iArc = 1; iArc < nArcs; ++iArc) {
+           rArc = disappearing[iArc];
+           lArc = disappearing[iArc - 1];
+           setEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);
+         }
+
+         lArc = disappearing[0];
+         rArc = disappearing[nArcs - 1];
+         rArc.edge = createEdge(lArc.site, rArc.site, null, vertex);
+
+         attachCircle(lArc);
+         attachCircle(rArc);
+       }
+
+       function addBeach(site) {
+         var x = site[0],
+             directrix = site[1],
+             lArc,
+             rArc,
+             dxl,
+             dxr,
+             node = beaches._;
+
+         while (node) {
+           dxl = leftBreakPoint(node, directrix) - x;
+           if (dxl > epsilon$4) node = node.L; else {
+             dxr = x - rightBreakPoint(node, directrix);
+             if (dxr > epsilon$4) {
+               if (!node.R) {
+                 lArc = node;
+                 break;
+               }
+               node = node.R;
+             } else {
+               if (dxl > -epsilon$4) {
+                 lArc = node.P;
+                 rArc = node;
+               } else if (dxr > -epsilon$4) {
+                 lArc = node;
+                 rArc = node.N;
+               } else {
+                 lArc = rArc = node;
+               }
+               break;
+             }
+           }
+         }
+
+         createCell(site);
+         var newArc = createBeach(site);
+         beaches.insert(lArc, newArc);
+
+         if (!lArc && !rArc) return;
+
+         if (lArc === rArc) {
+           detachCircle(lArc);
+           rArc = createBeach(lArc.site);
+           beaches.insert(newArc, rArc);
+           newArc.edge = rArc.edge = createEdge(lArc.site, newArc.site);
+           attachCircle(lArc);
+           attachCircle(rArc);
+           return;
+         }
+
+         if (!rArc) { // && lArc
+           newArc.edge = createEdge(lArc.site, newArc.site);
+           return;
+         }
+
+         // else lArc !== rArc
+         detachCircle(lArc);
+         detachCircle(rArc);
+
+         var lSite = lArc.site,
+             ax = lSite[0],
+             ay = lSite[1],
+             bx = site[0] - ax,
+             by = site[1] - ay,
+             rSite = rArc.site,
+             cx = rSite[0] - ax,
+             cy = rSite[1] - ay,
+             d = 2 * (bx * cy - by * cx),
+             hb = bx * bx + by * by,
+             hc = cx * cx + cy * cy,
+             vertex = [(cy * hb - by * hc) / d + ax, (bx * hc - cx * hb) / d + ay];
+
+         setEdgeEnd(rArc.edge, lSite, rSite, vertex);
+         newArc.edge = createEdge(lSite, site, null, vertex);
+         rArc.edge = createEdge(site, rSite, null, vertex);
+         attachCircle(lArc);
+         attachCircle(rArc);
+       }
+
+       function leftBreakPoint(arc, directrix) {
+         var site = arc.site,
+             rfocx = site[0],
+             rfocy = site[1],
+             pby2 = rfocy - directrix;
+
+         if (!pby2) return rfocx;
+
+         var lArc = arc.P;
+         if (!lArc) return -Infinity;
+
+         site = lArc.site;
+         var lfocx = site[0],
+             lfocy = site[1],
+             plby2 = lfocy - directrix;
+
+         if (!plby2) return lfocx;
+
+         var hl = lfocx - rfocx,
+             aby2 = 1 / pby2 - 1 / plby2,
+             b = hl / plby2;
+
+         if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;
+
+         return (rfocx + lfocx) / 2;
+       }
+
+       function rightBreakPoint(arc, directrix) {
+         var rArc = arc.N;
+         if (rArc) return leftBreakPoint(rArc, directrix);
+         var site = arc.site;
+         return site[1] === directrix ? site[0] : Infinity;
+       }
+
+       var epsilon$4 = 1e-6;
+       var epsilon2$2 = 1e-12;
+       var beaches;
+       var cells;
+       var circles;
+       var edges;
+
+       function triangleArea(a, b, c) {
+         return (a[0] - c[0]) * (b[1] - a[1]) - (a[0] - b[0]) * (c[1] - a[1]);
+       }
+
+       function lexicographic(a, b) {
+         return b[1] - a[1]
+             || b[0] - a[0];
+       }
+
+       function Diagram(sites, extent) {
+         var site = sites.sort(lexicographic).pop(),
+             x,
+             y,
+             circle;
+
+         edges = [];
+         cells = new Array(sites.length);
+         beaches = new RedBlackTree;
+         circles = new RedBlackTree;
+
+         while (true) {
+           circle = firstCircle;
+           if (site && (!circle || site[1] < circle.y || (site[1] === circle.y && site[0] < circle.x))) {
+             if (site[0] !== x || site[1] !== y) {
+               addBeach(site);
+               x = site[0], y = site[1];
+             }
+             site = sites.pop();
+           } else if (circle) {
+             removeBeach(circle.arc);
+           } else {
+             break;
+           }
+         }
+
+         sortCellHalfedges();
+
+         if (extent) {
+           var x0 = +extent[0][0],
+               y0 = +extent[0][1],
+               x1 = +extent[1][0],
+               y1 = +extent[1][1];
+           clipEdges(x0, y0, x1, y1);
+           clipCells(x0, y0, x1, y1);
+         }
+
+         this.edges = edges;
+         this.cells = cells;
+
+         beaches =
+         circles =
+         edges =
+         cells = null;
+       }
+
+       Diagram.prototype = {
+         constructor: Diagram,
+
+         polygons: function() {
+           var edges = this.edges;
+
+           return this.cells.map(function(cell) {
+             var polygon = cell.halfedges.map(function(i) { return cellHalfedgeStart(cell, edges[i]); });
+             polygon.data = cell.site.data;
+             return polygon;
+           });
+         },
+
+         triangles: function() {
+           var triangles = [],
+               edges = this.edges;
+
+           this.cells.forEach(function(cell, i) {
+             if (!(m = (halfedges = cell.halfedges).length)) return;
+             var site = cell.site,
+                 halfedges,
+                 j = -1,
+                 m,
+                 s0,
+                 e1 = edges[halfedges[m - 1]],
+                 s1 = e1.left === site ? e1.right : e1.left;
+
+             while (++j < m) {
+               s0 = s1;
+               e1 = edges[halfedges[j]];
+               s1 = e1.left === site ? e1.right : e1.left;
+               if (s0 && s1 && i < s0.index && i < s1.index && triangleArea(site, s0, s1) < 0) {
+                 triangles.push([site.data, s0.data, s1.data]);
+               }
+             }
+           });
+
+           return triangles;
+         },
+
+         links: function() {
+           return this.edges.filter(function(edge) {
+             return edge.right;
+           }).map(function(edge) {
+             return {
+               source: edge.left.data,
+               target: edge.right.data
+             };
+           });
+         },
+
+         find: function(x, y, radius) {
+           var that = this, i0, i1 = that._found || 0, n = that.cells.length, cell;
+
+           // Use the previously-found cell, or start with an arbitrary one.
+           while (!(cell = that.cells[i1])) if (++i1 >= n) return null;
+           var dx = x - cell.site[0], dy = y - cell.site[1], d2 = dx * dx + dy * dy;
+
+           // Traverse the half-edges to find a closer cell, if any.
+           do {
+             cell = that.cells[i0 = i1], i1 = null;
+             cell.halfedges.forEach(function(e) {
+               var edge = that.edges[e], v = edge.left;
+               if ((v === cell.site || !v) && !(v = edge.right)) return;
+               var vx = x - v[0], vy = y - v[1], v2 = vx * vx + vy * vy;
+               if (v2 < d2) d2 = v2, i1 = v.index;
+             });
+           } while (i1 !== null);
+
+           that._found = i0;
+
+           return radius == null || d2 <= radius * radius ? cell.site : null;
+         }
+       };
+
+       function voronoi() {
+         var x = x$4,
+             y = y$4,
+             extent = null;
+
+         function voronoi(data) {
+           return new Diagram(data.map(function(d, i) {
+             var s = [Math.round(x(d, i, data) / epsilon$4) * epsilon$4, Math.round(y(d, i, data) / epsilon$4) * epsilon$4];
+             s.index = i;
+             s.data = d;
+             return s;
+           }), extent);
+         }
+
+         voronoi.polygons = function(data) {
+           return voronoi(data).polygons();
+         };
+
+         voronoi.links = function(data) {
+           return voronoi(data).links();
+         };
+
+         voronoi.triangles = function(data) {
+           return voronoi(data).triangles();
+         };
+
+         voronoi.x = function(_) {
+           return arguments.length ? (x = typeof _ === "function" ? _ : constant$c(+_), voronoi) : x;
+         };
+
+         voronoi.y = function(_) {
+           return arguments.length ? (y = typeof _ === "function" ? _ : constant$c(+_), voronoi) : y;
+         };
+
+         voronoi.extent = function(_) {
+           return arguments.length ? (extent = _ == null ? null : [[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]], voronoi) : extent && [[extent[0][0], extent[0][1]], [extent[1][0], extent[1][1]]];
+         };
+
+         voronoi.size = function(_) {
+           return arguments.length ? (extent = _ == null ? null : [[0, 0], [+_[0], +_[1]]], voronoi) : extent && [extent[1][0] - extent[0][0], extent[1][1] - extent[0][1]];
+         };
+
+         return voronoi;
+       }
+
+       function constant$d(x) {
+         return function() {
+           return x;
+         };
+       }
+
+       function ZoomEvent(target, type, transform) {
+         this.target = target;
+         this.type = type;
+         this.transform = transform;
+       }
+
+       function Transform(k, x, y) {
+         this.k = k;
+         this.x = x;
+         this.y = y;
+       }
+
+       Transform.prototype = {
+         constructor: Transform,
+         scale: function(k) {
+           return k === 1 ? this : new Transform(this.k * k, this.x, this.y);
+         },
+         translate: function(x, y) {
+           return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);
+         },
+         apply: function(point) {
+           return [point[0] * this.k + this.x, point[1] * this.k + this.y];
+         },
+         applyX: function(x) {
+           return x * this.k + this.x;
+         },
+         applyY: function(y) {
+           return y * this.k + this.y;
+         },
+         invert: function(location) {
+           return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];
+         },
+         invertX: function(x) {
+           return (x - this.x) / this.k;
+         },
+         invertY: function(y) {
+           return (y - this.y) / this.k;
+         },
+         rescaleX: function(x) {
+           return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));
+         },
+         rescaleY: function(y) {
+           return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));
+         },
+         toString: function() {
+           return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")";
+         }
+       };
+
+       var identity$8 = new Transform(1, 0, 0);
+
+       transform.prototype = Transform.prototype;
+
+       function transform(node) {
+         return node.__zoom || identity$8;
+       }
+
+       function nopropagation$2() {
+         event.stopImmediatePropagation();
+       }
+
+       function noevent$2() {
+         event.preventDefault();
+         event.stopImmediatePropagation();
+       }
+
+       // Ignore right-click, since that should open the context menu.
+       function defaultFilter$2() {
+         return !event.button;
+       }
+
+       function defaultExtent$1() {
+         var e = this, w, h;
+         if (e instanceof SVGElement) {
+           e = e.ownerSVGElement || e;
+           w = e.width.baseVal.value;
+           h = e.height.baseVal.value;
+         } else {
+           w = e.clientWidth;
+           h = e.clientHeight;
+         }
+         return [[0, 0], [w, h]];
+       }
+
+       function defaultTransform() {
+         return this.__zoom || identity$8;
+       }
+
+       function defaultWheelDelta() {
+         return -event.deltaY * (event.deltaMode ? 120 : 1) / 500;
+       }
+
+       function defaultTouchable$1() {
+         return "ontouchstart" in this;
+       }
+
+       function defaultConstrain(transform, extent, translateExtent) {
+         var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],
+             dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],
+             dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],
+             dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];
+         return transform.translate(
+           dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),
+           dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)
+         );
+       }
+
+       function d3_zoom() {
+         var filter = defaultFilter$2,
+             extent = defaultExtent$1,
+             constrain = defaultConstrain,
+             wheelDelta = defaultWheelDelta,
+             touchable = defaultTouchable$1,
+             scaleExtent = [0, Infinity],
+             translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],
+             duration = 250,
+             interpolate = interpolateZoom,
+             gestures = [],
+             listeners = dispatch("start", "zoom", "end"),
+             touchstarting,
+             touchending,
+             touchDelay = 500,
+             wheelDelay = 150,
+             clickDistance2 = 0;
+
+         function zoom(selection) {
+           selection
+               .property("__zoom", defaultTransform)
+               .on("wheel.zoom", wheeled)
+               .on("mousedown.zoom", mousedowned)
+               .on("dblclick.zoom", dblclicked)
+             .filter(touchable)
+               .on("touchstart.zoom", touchstarted)
+               .on("touchmove.zoom", touchmoved)
+               .on("touchend.zoom touchcancel.zoom", touchended)
+               .style("touch-action", "none")
+               .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)");
+         }
+
+         zoom.transform = function(collection, transform) {
+           var selection = collection.selection ? collection.selection() : collection;
+           selection.property("__zoom", defaultTransform);
+           if (collection !== selection) {
+             schedule(collection, transform);
+           } else {
+             selection.interrupt().each(function() {
+               gesture(this, arguments)
+                   .start()
+                   .zoom(null, typeof transform === "function" ? transform.apply(this, arguments) : transform)
+                   .end();
+             });
+           }
+         };
+
+         zoom.scaleBy = function(selection, k) {
+           zoom.scaleTo(selection, function() {
+             var k0 = this.__zoom.k,
+                 k1 = typeof k === "function" ? k.apply(this, arguments) : k;
+             return k0 * k1;
+           });
+         };
+
+         zoom.scaleTo = function(selection, k) {
+           zoom.transform(selection, function() {
+             var e = extent.apply(this, arguments),
+                 t0 = this.__zoom,
+                 p0 = centroid(e),
+                 p1 = t0.invert(p0),
+                 k1 = typeof k === "function" ? k.apply(this, arguments) : k;
+             return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);
+           });
+         };
+
+         zoom.translateBy = function(selection, x, y) {
+           zoom.transform(selection, function() {
+             return constrain(this.__zoom.translate(
+               typeof x === "function" ? x.apply(this, arguments) : x,
+               typeof y === "function" ? y.apply(this, arguments) : y
+             ), extent.apply(this, arguments), translateExtent);
+           });
+         };
+
+         zoom.translateTo = function(selection, x, y) {
+           zoom.transform(selection, function() {
+             var e = extent.apply(this, arguments),
+                 t = this.__zoom,
+                 p = centroid(e);
+             return constrain(identity$8.translate(p[0], p[1]).scale(t.k).translate(
+               typeof x === "function" ? -x.apply(this, arguments) : -x,
+               typeof y === "function" ? -y.apply(this, arguments) : -y
+             ), e, translateExtent);
+           });
+         };
+
+         function scale(transform, k) {
+           k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));
+           return k === transform.k ? transform : new Transform(k, transform.x, transform.y);
+         }
+
+         function translate(transform, p0, p1) {
+           var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;
+           return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);
+         }
+
+         function centroid(extent) {
+           return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];
+         }
+
+         function schedule(transition, transform, center) {
+           transition
+               .on("start.zoom", function() { gesture(this, arguments).start(); })
+               .on("interrupt.zoom end.zoom", function() { gesture(this, arguments).end(); })
+               .tween("zoom", function() {
+                 var that = this,
+                     args = arguments,
+                     g = gesture(that, args),
+                     e = extent.apply(that, args),
+                     p = center || centroid(e),
+                     w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),
+                     a = that.__zoom,
+                     b = typeof transform === "function" ? transform.apply(that, args) : transform,
+                     i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));
+                 return function(t) {
+                   if (t === 1) t = b; // Avoid rounding error on end.
+                   else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }
+                   g.zoom(null, t);
+                 };
+               });
+         }
+
+         function gesture(that, args) {
+           for (var i = 0, n = gestures.length, g; i < n; ++i) {
+             if ((g = gestures[i]).that === that) {
+               return g;
+             }
+           }
+           return new Gesture(that, args);
+         }
+
+         function Gesture(that, args) {
+           this.that = that;
+           this.args = args;
+           this.index = -1;
+           this.active = 0;
+           this.extent = extent.apply(that, args);
+         }
+
+         Gesture.prototype = {
+           start: function() {
+             if (++this.active === 1) {
+               this.index = gestures.push(this) - 1;
+               this.emit("start");
+             }
+             return this;
+           },
+           zoom: function(key, transform) {
+             if (this.mouse && key !== "mouse") this.mouse[1] = transform.invert(this.mouse[0]);
+             if (this.touch0 && key !== "touch") this.touch0[1] = transform.invert(this.touch0[0]);
+             if (this.touch1 && key !== "touch") this.touch1[1] = transform.invert(this.touch1[0]);
+             this.that.__zoom = transform;
+             this.emit("zoom");
+             return this;
+           },
+           end: function() {
+             if (--this.active === 0) {
+               gestures.splice(this.index, 1);
+               this.index = -1;
+               this.emit("end");
+             }
+             return this;
+           },
+           emit: function(type) {
+             customEvent(new ZoomEvent(zoom, type, this.that.__zoom), listeners.apply, listeners, [type, this.that, this.args]);
+           }
+         };
+
+         function wheeled() {
+           if (!filter.apply(this, arguments)) return;
+           var g = gesture(this, arguments),
+               t = this.__zoom,
+               k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),
+               p = d3_mouse(this);
+
+           // If the mouse is in the same location as before, reuse it.
+           // If there were recent wheel events, reset the wheel idle timeout.
+           if (g.wheel) {
+             if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {
+               g.mouse[1] = t.invert(g.mouse[0] = p);
+             }
+             clearTimeout(g.wheel);
+           }
+
+           // If this wheel event won’t trigger a transform change, ignore it.
+           else if (t.k === k) return;
+
+           // Otherwise, capture the mouse point and location at the start.
+           else {
+             g.mouse = [p, t.invert(p)];
+             interrupt(this);
+             g.start();
+           }
+
+           noevent$2();
+           g.wheel = setTimeout(wheelidled, wheelDelay);
+           g.zoom("mouse", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));
+
+           function wheelidled() {
+             g.wheel = null;
+             g.end();
+           }
+         }
+
+         function mousedowned() {
+           if (touchending || !filter.apply(this, arguments)) return;
+           var g = gesture(this, arguments),
+               v = d3_select(event.view).on("mousemove.zoom", mousemoved, true).on("mouseup.zoom", mouseupped, true),
+               p = d3_mouse(this),
+               x0 = event.clientX,
+               y0 = event.clientY;
+
+           dragDisable(event.view);
+           nopropagation$2();
+           g.mouse = [p, this.__zoom.invert(p)];
+           interrupt(this);
+           g.start();
+
+           function mousemoved() {
+             noevent$2();
+             if (!g.moved) {
+               var dx = event.clientX - x0, dy = event.clientY - y0;
+               g.moved = dx * dx + dy * dy > clickDistance2;
+             }
+             g.zoom("mouse", constrain(translate(g.that.__zoom, g.mouse[0] = d3_mouse(g.that), g.mouse[1]), g.extent, translateExtent));
+           }
+
+           function mouseupped() {
+             v.on("mousemove.zoom mouseup.zoom", null);
+             yesdrag(event.view, g.moved);
+             noevent$2();
+             g.end();
+           }
+         }
+
+         function dblclicked() {
+           if (!filter.apply(this, arguments)) return;
+           var t0 = this.__zoom,
+               p0 = d3_mouse(this),
+               p1 = t0.invert(p0),
+               k1 = t0.k * (event.shiftKey ? 0.5 : 2),
+               t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, arguments), translateExtent);
+
+           noevent$2();
+           if (duration > 0) d3_select(this).transition().duration(duration).call(schedule, t1, p0);
+           else d3_select(this).call(zoom.transform, t1);
+         }
+
+         function touchstarted() {
+           if (!filter.apply(this, arguments)) return;
+           var g = gesture(this, arguments),
+               touches = event.changedTouches,
+               started,
+               n = touches.length, i, t, p;
+
+           nopropagation$2();
+           for (i = 0; i < n; ++i) {
+             t = touches[i], p = touch(this, touches, t.identifier);
+             p = [p, this.__zoom.invert(p), t.identifier];
+             if (!g.touch0) g.touch0 = p, started = true;
+             else if (!g.touch1) g.touch1 = p;
+           }
+
+           // If this is a dbltap, reroute to the (optional) dblclick.zoom handler.
+           if (touchstarting) {
+             touchstarting = clearTimeout(touchstarting);
+             if (!g.touch1) {
+               g.end();
+               p = d3_select(this).on("dblclick.zoom");
+               if (p) p.apply(this, arguments);
+               return;
+             }
+           }
+
+           if (started) {
+             touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);
+             interrupt(this);
+             g.start();
+           }
+         }
+
+         function touchmoved() {
+           var g = gesture(this, arguments),
+               touches = event.changedTouches,
+               n = touches.length, i, t, p, l;
+
+           noevent$2();
+           if (touchstarting) touchstarting = clearTimeout(touchstarting);
+           for (i = 0; i < n; ++i) {
+             t = touches[i], p = touch(this, touches, t.identifier);
+             if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;
+             else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;
+           }
+           t = g.that.__zoom;
+           if (g.touch1) {
+             var p0 = g.touch0[0], l0 = g.touch0[1],
+                 p1 = g.touch1[0], l1 = g.touch1[1],
+                 dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,
+                 dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;
+             t = scale(t, Math.sqrt(dp / dl));
+             p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];
+             l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];
+           }
+           else if (g.touch0) p = g.touch0[0], l = g.touch0[1];
+           else return;
+           g.zoom("touch", constrain(translate(t, p, l), g.extent, translateExtent));
+         }
+
+         function touchended() {
+           var g = gesture(this, arguments),
+               touches = event.changedTouches,
+               n = touches.length, i, t;
+
+           nopropagation$2();
+           if (touchending) clearTimeout(touchending);
+           touchending = setTimeout(function() { touchending = null; }, touchDelay);
+           for (i = 0; i < n; ++i) {
+             t = touches[i];
+             if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;
+             else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;
+           }
+           if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;
+           if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);
+           else g.end();
+         }
+
+         zoom.wheelDelta = function(_) {
+           return arguments.length ? (wheelDelta = typeof _ === "function" ? _ : constant$d(+_), zoom) : wheelDelta;
+         };
+
+         zoom.filter = function(_) {
+           return arguments.length ? (filter = typeof _ === "function" ? _ : constant$d(!!_), zoom) : filter;
+         };
+
+         zoom.touchable = function(_) {
+           return arguments.length ? (touchable = typeof _ === "function" ? _ : constant$d(!!_), zoom) : touchable;
+         };
+
+         zoom.extent = function(_) {
+           return arguments.length ? (extent = typeof _ === "function" ? _ : constant$d([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;
+         };
+
+         zoom.scaleExtent = function(_) {
+           return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];
+         };
+
+         zoom.translateExtent = function(_) {
+           return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];
+         };
+
+         zoom.constrain = function(_) {
+           return arguments.length ? (constrain = _, zoom) : constrain;
+         };
+
+         zoom.duration = function(_) {
+           return arguments.length ? (duration = +_, zoom) : duration;
+         };
+
+         zoom.interpolate = function(_) {
+           return arguments.length ? (interpolate = _, zoom) : interpolate;
+         };
+
+         zoom.on = function() {
+           var value = listeners.on.apply(listeners, arguments);
+           return value === listeners ? zoom : value;
+         };
+
+         zoom.clickDistance = function(_) {
+           return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);
+         };
+
+         return zoom;
+       }
+
+
+
+       var index$3 = /*#__PURE__*/Object.freeze({
+               version: version,
+               bisect: bisectRight,
+               bisectRight: bisectRight,
+               bisectLeft: bisectLeft,
+               ascending: d3_ascending,
+               bisector: d3_bisector,
+               cross: cross,
+               descending: d3_descending,
+               deviation: deviation,
+               extent: extent,
+               histogram: histogram,
+               thresholdFreedmanDiaconis: freedmanDiaconis,
+               thresholdScott: scott,
+               thresholdSturges: thresholdSturges,
+               max: max$2,
+               mean: mean,
+               median: d3_median,
+               merge: merge,
+               min: min,
+               pairs: pairs,
+               permute: permute,
+               quantile: threshold,
+               range: d3_range,
+               scan: scan,
+               shuffle: shuffle,
+               sum: sum,
+               ticks: ticks,
+               tickIncrement: tickIncrement,
+               tickStep: tickStep,
+               transpose: transpose,
+               variance: variance,
+               zip: zip,
+               axisTop: axisTop,
+               axisRight: axisRight,
+               axisBottom: axisBottom,
+               axisLeft: axisLeft,
+               brush: brush,
+               brushX: brushX,
+               brushY: brushY,
+               brushSelection: brushSelection,
+               chord: chord,
+               ribbon: ribbon,
+               nest: nest,
+               set: set$2,
+               map: map$3,
+               keys: keys$3,
+               values: values,
+               entries: entries,
+               color: color,
+               rgb: rgb,
+               hsl: hsl,
+               lab: lab,
+               hcl: hcl,
+               lch: lch,
+               gray: gray,
+               cubehelix: cubehelix,
+               contours: contours,
+               contourDensity: density,
+               dispatch: dispatch,
+               drag: d3_drag,
+               dragDisable: dragDisable,
+               dragEnable: yesdrag,
+               dsvFormat: dsvFormat,
+               csvParse: csvParse,
+               csvParseRows: csvParseRows,
+               csvFormat: csvFormat,
+               csvFormatBody: csvFormatBody,
+               csvFormatRows: csvFormatRows,
+               tsvParse: tsvParse,
+               tsvParseRows: tsvParseRows,
+               tsvFormat: tsvFormat,
+               tsvFormatBody: tsvFormatBody,
+               tsvFormatRows: tsvFormatRows,
+               autoType: autoType,
+               easeLinear: linear$1,
+               easeQuad: quadInOut,
+               easeQuadIn: quadIn,
+               easeQuadOut: quadOut,
+               easeQuadInOut: quadInOut,
+               easeCubic: cubicInOut,
+               easeCubicIn: cubicIn,
+               easeCubicOut: cubicOut,
+               easeCubicInOut: cubicInOut,
+               easePoly: polyInOut,
+               easePolyIn: polyIn,
+               easePolyOut: polyOut,
+               easePolyInOut: polyInOut,
+               easeSin: sinInOut,
+               easeSinIn: sinIn,
+               easeSinOut: sinOut,
+               easeSinInOut: sinInOut,
+               easeExp: expInOut,
+               easeExpIn: expIn,
+               easeExpOut: expOut,
+               easeExpInOut: expInOut,
+               easeCircle: circleInOut,
+               easeCircleIn: circleIn,
+               easeCircleOut: circleOut,
+               easeCircleInOut: circleInOut,
+               easeBounce: bounceOut,
+               easeBounceIn: bounceIn,
+               easeBounceOut: bounceOut,
+               easeBounceInOut: bounceInOut,
+               easeBack: backInOut,
+               easeBackIn: backIn,
+               easeBackOut: backOut,
+               easeBackInOut: backInOut,
+               easeElastic: elasticOut,
+               easeElasticIn: elasticIn,
+               easeElasticOut: elasticOut,
+               easeElasticInOut: elasticInOut,
+               blob: blob,
+               buffer: buffer,
+               dsv: dsv,
+               csv: csv$1,
+               tsv: tsv$1,
+               image: image,
+               json: d3_json,
+               text: d3_text,
+               xml: d3_xml,
+               html: html,
+               svg: svg,
+               forceCenter: center$1,
+               forceCollide: collide,
+               forceLink: link,
+               forceManyBody: manyBody,
+               forceRadial: radial,
+               forceSimulation: simulation,
+               forceX: x$2,
+               forceY: y$2,
+               formatDefaultLocale: defaultLocale,
+               get format () { return format; },
+               get formatPrefix () { return formatPrefix; },
+               formatLocale: formatLocale,
+               formatSpecifier: formatSpecifier,
+               precisionFixed: precisionFixed,
+               precisionPrefix: precisionPrefix,
+               precisionRound: precisionRound,
+               geoArea: d3_geoArea,
+               geoBounds: d3_geoBounds,
+               geoCentroid: d3_geoCentroid,
+               geoCircle: circle,
+               geoClipAntimeridian: clipAntimeridian,
+               geoClipCircle: clipCircle,
+               geoClipExtent: extent$1,
+               geoClipRectangle: clipRectangle,
+               geoContains: contains$2,
+               geoDistance: distance,
+               geoGraticule: graticule,
+               geoGraticule10: graticule10,
+               geoInterpolate: interpolate$1,
+               geoLength: d3_geoLength,
+               geoPath: d3_geoPath,
+               geoAlbers: albers,
+               geoAlbersUsa: albersUsa,
+               geoAzimuthalEqualArea: azimuthalEqualArea,
+               geoAzimuthalEqualAreaRaw: azimuthalEqualAreaRaw,
+               geoAzimuthalEquidistant: azimuthalEquidistant,
+               geoAzimuthalEquidistantRaw: azimuthalEquidistantRaw,
+               geoConicConformal: conicConformal,
+               geoConicConformalRaw: conicConformalRaw,
+               geoConicEqualArea: conicEqualArea,
+               geoConicEqualAreaRaw: conicEqualAreaRaw,
+               geoConicEquidistant: conicEquidistant,
+               geoConicEquidistantRaw: conicEquidistantRaw,
+               geoEqualEarth: equalEarth,
+               geoEqualEarthRaw: equalEarthRaw,
+               geoEquirectangular: equirectangular,
+               geoEquirectangularRaw: equirectangularRaw,
+               geoGnomonic: gnomonic,
+               geoGnomonicRaw: gnomonicRaw,
+               geoIdentity: d3_geoIdentity,
+               geoProjection: projection,
+               geoProjectionMutator: projectionMutator,
+               geoMercator: mercator,
+               geoMercatorRaw: mercatorRaw,
+               geoNaturalEarth1: naturalEarth1,
+               geoNaturalEarth1Raw: naturalEarth1Raw,
+               geoOrthographic: orthographic,
+               geoOrthographicRaw: orthographicRaw,
+               geoStereographic: stereographic,
+               geoStereographicRaw: stereographicRaw,
+               geoTransverseMercator: transverseMercator,
+               geoTransverseMercatorRaw: transverseMercatorRaw,
+               geoRotation: rotation,
+               geoStream: d3_geoStream,
+               geoTransform: d3_geoTransform,
+               cluster: cluster,
+               hierarchy: hierarchy,
+               pack: index$1,
+               packSiblings: siblings,
+               packEnclose: enclose,
+               partition: partition,
+               stratify: stratify,
+               tree: tree,
+               treemap: index$2,
+               treemapBinary: binary,
+               treemapDice: treemapDice,
+               treemapSlice: treemapSlice,
+               treemapSliceDice: sliceDice,
+               treemapSquarify: squarify,
+               treemapResquarify: resquarify,
+               interpolate: d3_interpolate,
+               interpolateArray: array$2,
+               interpolateBasis: basis$1,
+               interpolateBasisClosed: basisClosed,
+               interpolateDate: date,
+               interpolateDiscrete: discrete,
+               interpolateHue: hue$1,
+               interpolateNumber: d3_interpolateNumber,
+               interpolateObject: object,
+               interpolateRound: interpolateRound,
+               interpolateString: interpolateString,
+               interpolateTransformCss: interpolateTransformCss,
+               interpolateTransformSvg: interpolateTransformSvg,
+               interpolateZoom: interpolateZoom,
+               interpolateRgb: d3_interpolateRgb,
+               interpolateRgbBasis: rgbBasis,
+               interpolateRgbBasisClosed: rgbBasisClosed,
+               interpolateHsl: hsl$2,
+               interpolateHslLong: hslLong,
+               interpolateLab: lab$1,
+               interpolateHcl: hcl$2,
+               interpolateHclLong: hclLong,
+               interpolateCubehelix: cubehelix$2,
+               interpolateCubehelixLong: cubehelixLong,
+               piecewise: piecewise,
+               quantize: d3_quantize,
+               path: path,
+               polygonArea: d3_polygonArea,
+               polygonCentroid: d3_polygonCentroid,
+               polygonHull: d3_polygonHull,
+               polygonContains: contains$3,
+               polygonLength: length$1,
+               quadtree: quadtree,
+               randomUniform: uniform,
+               randomNormal: normal,
+               randomLogNormal: logNormal,
+               randomBates: bates,
+               randomIrwinHall: irwinHall,
+               randomExponential: exponential$1,
+               scaleBand: band,
+               scalePoint: point$1,
+               scaleIdentity: identity$6,
+               scaleLinear: linear$2,
+               scaleLog: log$1,
+               scaleSymlog: symlog,
+               scaleOrdinal: ordinal,
+               scaleImplicit: implicit,
+               scalePow: pow$1,
+               scaleSqrt: sqrt$1,
+               scaleQuantile: quantile,
+               scaleQuantize: quantize,
+               scaleThreshold: threshold$1,
+               scaleTime: time,
+               scaleUtc: utcTime,
+               scaleSequential: sequential,
+               scaleSequentialLog: sequentialLog,
+               scaleSequentialPow: sequentialPow,
+               scaleSequentialSqrt: sequentialSqrt,
+               scaleSequentialSymlog: sequentialSymlog,
+               scaleSequentialQuantile: sequentialQuantile,
+               scaleDiverging: diverging,
+               scaleDivergingLog: divergingLog,
+               scaleDivergingPow: divergingPow,
+               scaleDivergingSqrt: divergingSqrt,
+               scaleDivergingSymlog: divergingSymlog,
+               tickFormat: tickFormat,
+               schemeCategory10: category10,
+               schemeAccent: Accent,
+               schemeDark2: Dark2,
+               schemePaired: Paired,
+               schemePastel1: Pastel1,
+               schemePastel2: Pastel2,
+               schemeSet1: Set1,
+               schemeSet2: Set2,
+               schemeSet3: Set3,
+               interpolateBrBG: BrBG,
+               schemeBrBG: scheme,
+               interpolatePRGn: PRGn,
+               schemePRGn: scheme$1,
+               interpolatePiYG: PiYG,
+               schemePiYG: scheme$2,
+               interpolatePuOr: PuOr,
+               schemePuOr: scheme$3,
+               interpolateRdBu: RdBu,
+               schemeRdBu: scheme$4,
+               interpolateRdGy: RdGy,
+               schemeRdGy: scheme$5,
+               interpolateRdYlBu: RdYlBu,
+               schemeRdYlBu: scheme$6,
+               interpolateRdYlGn: RdYlGn,
+               schemeRdYlGn: scheme$7,
+               interpolateSpectral: Spectral,
+               schemeSpectral: scheme$8,
+               interpolateBuGn: BuGn,
+               schemeBuGn: scheme$9,
+               interpolateBuPu: BuPu,
+               schemeBuPu: scheme$a,
+               interpolateGnBu: GnBu,
+               schemeGnBu: scheme$b,
+               interpolateOrRd: OrRd,
+               schemeOrRd: scheme$c,
+               interpolatePuBuGn: PuBuGn,
+               schemePuBuGn: scheme$d,
+               interpolatePuBu: PuBu,
+               schemePuBu: scheme$e,
+               interpolatePuRd: PuRd,
+               schemePuRd: scheme$f,
+               interpolateRdPu: RdPu,
+               schemeRdPu: scheme$g,
+               interpolateYlGnBu: YlGnBu,
+               schemeYlGnBu: scheme$h,
+               interpolateYlGn: YlGn,
+               schemeYlGn: scheme$i,
+               interpolateYlOrBr: YlOrBr,
+               schemeYlOrBr: scheme$j,
+               interpolateYlOrRd: YlOrRd,
+               schemeYlOrRd: scheme$k,
+               interpolateBlues: Blues,
+               schemeBlues: scheme$l,
+               interpolateGreens: Greens,
+               schemeGreens: scheme$m,
+               interpolateGreys: Greys,
+               schemeGreys: scheme$n,
+               interpolatePurples: Purples,
+               schemePurples: scheme$o,
+               interpolateReds: Reds,
+               schemeReds: scheme$p,
+               interpolateOranges: Oranges,
+               schemeOranges: scheme$q,
+               interpolateCubehelixDefault: cubehelix$3,
+               interpolateRainbow: rainbow,
+               interpolateWarm: warm,
+               interpolateCool: cool,
+               interpolateSinebow: sinebow,
+               interpolateViridis: viridis,
+               interpolateMagma: magma,
+               interpolateInferno: inferno,
+               interpolatePlasma: plasma,
+               create: create$5,
+               creator: creator,
+               local: local,
+               matcher: matcher,
+               mouse: d3_mouse,
+               namespace: namespace,
+               namespaces: namespaces,
+               clientPoint: point,
+               select: d3_select,
+               selectAll: d3_selectAll,
+               selection: selection,
+               selector: selector,
+               selectorAll: selectorAll,
+               style: styleValue,
+               touch: touch,
+               touches: d3_touches,
+               window: defaultView,
+               get event () { return event; },
+               customEvent: customEvent,
+               arc: arc,
+               area: area$1,
+               line: line,
+               pie: pie,
+               areaRadial: areaRadial,
+               radialArea: areaRadial,
+               lineRadial: lineRadial$1,
+               radialLine: lineRadial$1,
+               pointRadial: pointRadial,
+               linkHorizontal: linkHorizontal,
+               linkVertical: linkVertical,
+               linkRadial: linkRadial,
+               symbol: symbol,
+               symbols: symbols,
+               symbolCircle: circle$2,
+               symbolCross: cross$2,
+               symbolDiamond: diamond,
+               symbolSquare: square,
+               symbolStar: star,
+               symbolTriangle: triangle,
+               symbolWye: wye,
+               curveBasisClosed: basisClosed$1,
+               curveBasisOpen: basisOpen,
+               curveBasis: basis$2,
+               curveBundle: bundle,
+               curveCardinalClosed: cardinalClosed,
+               curveCardinalOpen: cardinalOpen,
+               curveCardinal: cardinal,
+               curveCatmullRomClosed: catmullRomClosed,
+               curveCatmullRomOpen: catmullRomOpen,
+               curveCatmullRom: catmullRom,
+               curveLinearClosed: linearClosed,
+               curveLinear: curveLinear,
+               curveMonotoneX: monotoneX,
+               curveMonotoneY: monotoneY,
+               curveNatural: natural,
+               curveStep: step,
+               curveStepAfter: stepAfter,
+               curveStepBefore: stepBefore,
+               stack: stack,
+               stackOffsetExpand: expand,
+               stackOffsetDiverging: diverging$1,
+               stackOffsetNone: none$1,
+               stackOffsetSilhouette: silhouette,
+               stackOffsetWiggle: wiggle,
+               stackOrderAppearance: appearance,
+               stackOrderAscending: ascending$2,
+               stackOrderDescending: descending$1,
+               stackOrderInsideOut: insideOut,
+               stackOrderNone: none$2,
+               stackOrderReverse: reverse,
+               timeInterval: newInterval,
+               timeMillisecond: millisecond,
+               timeMilliseconds: milliseconds,
+               utcMillisecond: millisecond,
+               utcMilliseconds: milliseconds,
+               timeSecond: second,
+               timeSeconds: seconds,
+               utcSecond: second,
+               utcSeconds: seconds,
+               timeMinute: minute,
+               timeMinutes: minutes,
+               timeHour: hour,
+               timeHours: hours,
+               timeDay: day,
+               timeDays: days,
+               timeWeek: sunday,
+               timeWeeks: sundays,
+               timeSunday: sunday,
+               timeSundays: sundays,
+               timeMonday: monday,
+               timeMondays: mondays,
+               timeTuesday: tuesday,
+               timeTuesdays: tuesdays,
+               timeWednesday: wednesday,
+               timeWednesdays: wednesdays,
+               timeThursday: thursday,
+               timeThursdays: thursdays,
+               timeFriday: friday,
+               timeFridays: fridays,
+               timeSaturday: saturday,
+               timeSaturdays: saturdays,
+               timeMonth: month,
+               timeMonths: months,
+               timeYear: year,
+               timeYears: years,
+               utcMinute: utcMinute,
+               utcMinutes: utcMinutes,
+               utcHour: utcHour,
+               utcHours: utcHours,
+               utcDay: utcDay,
+               utcDays: utcDays,
+               utcWeek: utcSunday,
+               utcWeeks: utcSundays,
+               utcSunday: utcSunday,
+               utcSundays: utcSundays,
+               utcMonday: utcMonday,
+               utcMondays: utcMondays,
+               utcTuesday: utcTuesday,
+               utcTuesdays: utcTuesdays,
+               utcWednesday: utcWednesday,
+               utcWednesdays: utcWednesdays,
+               utcThursday: utcThursday,
+               utcThursdays: utcThursdays,
+               utcFriday: utcFriday,
+               utcFridays: utcFridays,
+               utcSaturday: utcSaturday,
+               utcSaturdays: utcSaturdays,
+               utcMonth: utcMonth,
+               utcMonths: utcMonths,
+               utcYear: utcYear,
+               utcYears: utcYears,
+               timeFormatDefaultLocale: defaultLocale$1,
+               get timeFormat () { return timeFormat; },
+               get timeParse () { return timeParse; },
+               get utcFormat () { return utcFormat; },
+               get utcParse () { return utcParse; },
+               timeFormatLocale: formatLocale$1,
+               isoFormat: formatIso,
+               isoParse: parseIso,
+               now: now,
+               timer: timer,
+               timerFlush: timerFlush,
+               timeout: d3_timeout,
+               interval: interval$1,
+               transition: transition,
+               active: active,
+               interrupt: interrupt,
+               voronoi: voronoi,
+               zoom: d3_zoom,
+               zoomTransform: transform,
+               zoomIdentity: identity$8
+       });
+
+       function actionAddEntity(way) {
+           return function(graph) {
+               return graph.replace(way);
+           };
+       }
+
+       /*
+       Order the nodes of a way in reverse order and reverse any direction dependent tags
+       other than `oneway`. (We assume that correcting a backwards oneway is the primary
+       reason for reversing a way.)
+
+       In addition, numeric-valued `incline` tags are negated.
+
+       The JOSM implementation was used as a guide, but transformations that were of unclear benefit
+       or adjusted tags that don't seem to be used in practice were omitted.
+
+       References:
+           http://wiki.openstreetmap.org/wiki/Forward_%26_backward,_left_%26_right
+           http://wiki.openstreetmap.org/wiki/Key:direction#Steps
+           http://wiki.openstreetmap.org/wiki/Key:incline
+           http://wiki.openstreetmap.org/wiki/Route#Members
+           http://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java
+           http://wiki.openstreetmap.org/wiki/Tag:highway%3Dstop
+           http://wiki.openstreetmap.org/wiki/Key:traffic_sign#On_a_way_or_area
+       */
+       function actionReverse(wayID, options) {
+           var ignoreKey = /^.*(_|:)?(description|name|note|website|ref|source|comment|watch|attribution)(_|:)?/;
+           var numeric = /^([+\-]?)(?=[\d.])/;
+           var turn_lanes = /^turn:lanes:?/;
+           var keyReplacements = [
+               [/:right$/, ':left'],
+               [/:left$/, ':right'],
+               [/:forward$/, ':backward'],
+               [/:backward$/, ':forward'],
+               [/:right:/, ':left:'],
+               [/:left:/, ':right:'],
+               [/:forward:/, ':backward:'],
+               [/:backward:/, ':forward:']
+           ];
+           var valueReplacements = {
+               left: 'right',
+               right: 'left',
+               up: 'down',
+               down: 'up',
+               forward: 'backward',
+               backward: 'forward',
+               forwards: 'backward',
+               backwards: 'forward',
+           };
+           var roleReplacements = {
+               forward: 'backward',
+               backward: 'forward',
+               forwards: 'backward',
+               backwards: 'forward'
+           };
+           var onewayReplacements = {
+               yes: '-1',
+               '1': '-1',
+               '-1': 'yes'
+           };
+
+
+           function reverseKey(key) {
+               for (var i = 0; i < keyReplacements.length; ++i) {
+                   var replacement = keyReplacements[i];
+                   if (replacement[0].test(key)) {
+                       return key.replace(replacement[0], replacement[1]);
+                   }
+               }
+               return key;
+           }
+
+
+           function reverseValue(key, value) {
+               if (ignoreKey.test(key)) return value;
+
+               // Turn lanes are left/right to key (not way) direction - #5674
+               if (turn_lanes.test(key)) {
+                   return value;
+               } else if (key === 'incline' && numeric.test(value)) {
+                   return value.replace(numeric, function(_, sign) { return sign === '-' ? '' : '-'; });
+               } else if (options && options.reverseOneway && key === 'oneway') {
+                   return onewayReplacements[value] || value;
+               } else {
+                   return valueReplacements[value] || value;
+               }
+           }
+
+
+           // Reverse the direction of tags attached to the nodes - #3076
+           function reverseNodeTags(graph, nodeIDs) {
+               for (var i = 0; i < nodeIDs.length; i++) {
+                   var node = graph.hasEntity(nodeIDs[i]);
+                   if (!node || !Object.keys(node.tags).length) continue;
+
+                   var tags = {};
+                   for (var key in node.tags) {
+                       tags[reverseKey(key)] = reverseValue(key, node.tags[key]);
+                   }
+                   graph = graph.replace(node.update({tags: tags}));
+               }
+               return graph;
+           }
+
+
+           return function(graph) {
+               var way = graph.entity(wayID);
+               var nodes = way.nodes.slice().reverse();
+               var tags = {};
+               var role;
+
+               for (var key in way.tags) {
+                   tags[reverseKey(key)] = reverseValue(key, way.tags[key]);
+               }
+
+               graph.parentRelations(way).forEach(function(relation) {
+                   relation.members.forEach(function(member, index) {
+                       if (member.id === way.id && (role = roleReplacements[member.role])) {
+                           relation = relation.updateMember({role: role}, index);
+                           graph = graph.replace(relation);
+                       }
+                   });
+               });
+
+               // Reverse any associated directions on nodes on the way and then replace
+               // the way itself with the reversed node ids and updated way tags
+               return reverseNodeTags(graph, nodes)
+                   .replace(way.update({nodes: nodes, tags: tags}));
+           };
+       }
+
+       function osmIsInterestingTag(key) {
+           return key !== 'attribution' &&
+               key !== 'created_by' &&
+               key !== 'source' &&
+               key !== 'odbl' &&
+               key.indexOf('tiger:') !== 0;
+       }
+
+       var osmAreaKeys = {};
+       function osmSetAreaKeys(value) {
+           osmAreaKeys = value;
+       }
+
+       // Tags that indicate a node can be a standalone point
+       // e.g. { amenity: { bar: true, parking: true, ... } ... }
+       var osmPointTags = {};
+       function osmSetPointTags(value) {
+           osmPointTags = value;
+       }
+       // Tags that indicate a node can be part of a way
+       // e.g. { amenity: { parking: true, ... }, highway: { stop: true ... } ... }
+       var osmVertexTags = {};
+       function osmSetVertexTags(value) {
+           osmVertexTags = value;
+       }
+
+       function osmNodeGeometriesForTags(nodeTags) {
+           var geometries = {};
+           for (var key in nodeTags) {
+               if (osmPointTags[key] &&
+                   (osmPointTags[key]['*'] || osmPointTags[key][nodeTags[key]])) {
+                   geometries.point = true;
+               }
+               if (osmVertexTags[key] &&
+                   (osmVertexTags[key]['*'] || osmVertexTags[key][nodeTags[key]])) {
+                   geometries.vertex = true;
+               }
+               // break early if both are already supported
+               if (geometries.point && geometries.vertex) break;
+           }
+           return geometries;
+       }
+
+       var osmOneWayTags = {
+           'aerialway': {
+               'chair_lift': true,
+               'drag_lift': true,
+               'j-bar': true,
+               'magic_carpet': true,
+               'mixed_lift': true,
+               'platter': true,
+               'rope_tow': true,
+               't-bar': true,
+               'zip_line': true
+           },
+           'highway': {
+               'motorway': true
+           },
+           'junction': {
+               'circular': true,
+               'roundabout': true
+           },
+           'man_made': {
+               'piste:halfpipe': true
+           },
+           'piste:type': {
+               'downhill': true,
+               'sled': true,
+               'yes': true
+           },
+           'waterway': {
+               'canal': true,
+               'ditch': true,
+               'drain': true,
+               'river': true,
+               'stream': true
+           }
+       };
+
+
+       var osmPavedTags = {
+           'surface': {
+               'paved': true,
+               'asphalt': true,
+               'concrete': true,
+               'concrete:lanes': true,
+               'concrete:plates': true
+           },
+           'tracktype': {
+               'grade1': true
+           }
+       };
+
+       var osmRightSideIsInsideTags = {
+           'natural': {
+               'cliff': true,
+               'coastline': 'coastline',
+           },
+           'barrier': {
+               'retaining_wall': true,
+               'kerb': true,
+               'guard_rail': true,
+               'city_wall': true,
+           },
+           'man_made': {
+               'embankment': true
+           },
+           'waterway': {
+               'weir': true
+           }
+       };
+
+       // "highway" tag values for pedestrian or vehicle right-of-ways that make up the routable network
+       // (does not include `raceway`)
+       var osmRoutableHighwayTagValues = {
+           motorway: true, trunk: true, primary: true, secondary: true, tertiary: true, residential: true,
+           motorway_link: true, trunk_link: true, primary_link: true, secondary_link: true, tertiary_link: true,
+           unclassified: true, road: true, service: true, track: true, living_street: true, bus_guideway: true,
+           path: true, footway: true, cycleway: true, bridleway: true, pedestrian: true, corridor: true, steps: true
+       };
+       // "highway" tag values that generally do not allow motor vehicles
+       var osmPathHighwayTagValues = {
+           path: true, footway: true, cycleway: true, bridleway: true, pedestrian: true, corridor: true, steps: true
+       };
+
+       // "railway" tag values representing existing railroad tracks (purposely does not include 'abandoned')
+       var osmRailwayTrackTagValues = {
+           rail: true, light_rail: true, tram: true, subway: true,
+           monorail: true, funicular: true, miniature: true, narrow_gauge: true,
+           disused: true, preserved: true
+       };
+
+       // "waterway" tag values for line features representing water flow
+       var osmFlowingWaterwayTagValues = {
+           canal: true, ditch: true, drain: true, river: true, stream: true
+       };
+
+       // constants
+       var TAU = 2 * Math.PI;
+       var EQUATORIAL_RADIUS = 6356752.314245179;
+       var POLAR_RADIUS = 6378137.0;
+
+
+       function geoLatToMeters(dLat) {
+           return dLat * (TAU * POLAR_RADIUS / 360);
+       }
+
+
+       function geoLonToMeters(dLon, atLat) {
+           return Math.abs(atLat) >= 90 ? 0 :
+               dLon * (TAU * EQUATORIAL_RADIUS / 360) * Math.abs(Math.cos(atLat * (Math.PI / 180)));
+       }
+
+
+       function geoMetersToLat(m) {
+           return m / (TAU * POLAR_RADIUS / 360);
+       }
+
+
+       function geoMetersToLon(m, atLat) {
+           return Math.abs(atLat) >= 90 ? 0 :
+               m / (TAU * EQUATORIAL_RADIUS / 360) / Math.abs(Math.cos(atLat * (Math.PI / 180)));
+       }
+
+
+       function geoMetersToOffset(meters, tileSize) {
+           tileSize = tileSize || 256;
+           return [
+               meters[0] * tileSize / (TAU * EQUATORIAL_RADIUS),
+               -meters[1] * tileSize / (TAU * POLAR_RADIUS)
+           ];
+       }
+
+
+       function geoOffsetToMeters(offset, tileSize) {
+           tileSize = tileSize || 256;
+           return [
+               offset[0] * TAU * EQUATORIAL_RADIUS / tileSize,
+               -offset[1] * TAU * POLAR_RADIUS / tileSize
+           ];
+       }
+
+
+       // Equirectangular approximation of spherical distances on Earth
+       function geoSphericalDistance(a, b) {
+           var x = geoLonToMeters(a[0] - b[0], (a[1] + b[1]) / 2);
+           var y = geoLatToMeters(a[1] - b[1]);
+           return Math.sqrt((x * x) + (y * y));
+       }
+
+
+       // scale to zoom
+       function geoScaleToZoom(k, tileSize) {
+           tileSize = tileSize || 256;
+           var log2ts = Math.log(tileSize) * Math.LOG2E;
+           return Math.log(k * TAU) / Math.LN2 - log2ts;
+       }
+
+
+       // zoom to scale
+       function geoZoomToScale(z, tileSize) {
+           tileSize = tileSize || 256;
+           return tileSize * Math.pow(2, z) / TAU;
+       }
+
+
+       // returns info about the node from `nodes` closest to the given `point`
+       function geoSphericalClosestNode(nodes, point) {
+           var minDistance = Infinity, distance;
+           var indexOfMin;
+
+           for (var i in nodes) {
+               distance = geoSphericalDistance(nodes[i].loc, point);
+               if (distance < minDistance) {
+                   minDistance = distance;
+                   indexOfMin = i;
+               }
+           }
+
+           if (indexOfMin !== undefined) {
+               return { index: indexOfMin, distance: minDistance, node: nodes[indexOfMin] };
+           } else {
+               return null;
+           }
+       }
+
+       function geoExtent(min, max) {
+           if (!(this instanceof geoExtent)) {
+               return new geoExtent(min, max);
+           } else if (min instanceof geoExtent) {
+               return min;
+           } else if (min && min.length === 2 && min[0].length === 2 && min[1].length === 2) {
+               this[0] = min[0];
+               this[1] = min[1];
+           } else {
+               this[0] = min        || [ Infinity,  Infinity];
+               this[1] = max || min || [-Infinity, -Infinity];
+           }
+       }
+
+       geoExtent.prototype = new Array(2);
+
+       Object.assign(geoExtent.prototype, {
+
+           equals: function (obj) {
+               return this[0][0] === obj[0][0] &&
+                   this[0][1] === obj[0][1] &&
+                   this[1][0] === obj[1][0] &&
+                   this[1][1] === obj[1][1];
+           },
+
+
+           extend: function(obj) {
+               if (!(obj instanceof geoExtent)) obj = new geoExtent(obj);
+               return geoExtent(
+                   [Math.min(obj[0][0], this[0][0]), Math.min(obj[0][1], this[0][1])],
+                   [Math.max(obj[1][0], this[1][0]), Math.max(obj[1][1], this[1][1])]
+               );
+           },
+
+
+           _extend: function(extent) {
+               this[0][0] = Math.min(extent[0][0], this[0][0]);
+               this[0][1] = Math.min(extent[0][1], this[0][1]);
+               this[1][0] = Math.max(extent[1][0], this[1][0]);
+               this[1][1] = Math.max(extent[1][1], this[1][1]);
+           },
+
+
+           area: function() {
+               return Math.abs((this[1][0] - this[0][0]) * (this[1][1] - this[0][1]));
+           },
+
+
+           center: function() {
+               return [(this[0][0] + this[1][0]) / 2, (this[0][1] + this[1][1]) / 2];
+           },
+
+
+           rectangle: function() {
+               return [this[0][0], this[0][1], this[1][0], this[1][1]];
+           },
+
+
+           bbox: function() {
+               return { minX: this[0][0], minY: this[0][1], maxX: this[1][0], maxY: this[1][1] };
+           },
+
+
+           polygon: function() {
+               return [
+                   [this[0][0], this[0][1]],
+                   [this[0][0], this[1][1]],
+                   [this[1][0], this[1][1]],
+                   [this[1][0], this[0][1]],
+                   [this[0][0], this[0][1]]
+               ];
+           },
+
+
+           contains: function(obj) {
+               if (!(obj instanceof geoExtent)) obj = new geoExtent(obj);
+               return obj[0][0] >= this[0][0] &&
+                      obj[0][1] >= this[0][1] &&
+                      obj[1][0] <= this[1][0] &&
+                      obj[1][1] <= this[1][1];
+           },
+
+
+           intersects: function(obj) {
+               if (!(obj instanceof geoExtent)) obj = new geoExtent(obj);
+               return obj[0][0] <= this[1][0] &&
+                      obj[0][1] <= this[1][1] &&
+                      obj[1][0] >= this[0][0] &&
+                      obj[1][1] >= this[0][1];
+           },
+
+
+           intersection: function(obj) {
+               if (!this.intersects(obj)) return new geoExtent();
+               return new geoExtent(
+                   [Math.max(obj[0][0], this[0][0]), Math.max(obj[0][1], this[0][1])],
+                   [Math.min(obj[1][0], this[1][0]), Math.min(obj[1][1], this[1][1])]
+               );
+           },
+
+
+           percentContainedIn: function(obj) {
+               if (!(obj instanceof geoExtent)) obj = new geoExtent(obj);
+               var a1 = this.intersection(obj).area();
+               var a2 = this.area();
+
+               if (a1 === Infinity || a2 === Infinity || a1 === 0 || a2 === 0) {
+                   return 0;
+               } else {
+                   return a1 / a2;
+               }
+           },
+
+
+           padByMeters: function(meters) {
+               var dLat = geoMetersToLat(meters);
+               var dLon = geoMetersToLon(meters, this.center()[1]);
+               return geoExtent(
+                   [this[0][0] - dLon, this[0][1] - dLat],
+                   [this[1][0] + dLon, this[1][1] + dLat]
+               );
+           },
+
+
+           toParam: function() {
+               return this.rectangle().join(',');
+           }
+
+       });
+
+       // vector equals
+       function geoVecEqual(a, b, epsilon) {
+           if (epsilon) {
+               return (Math.abs(a[0] - b[0]) <= epsilon) && (Math.abs(a[1] - b[1]) <= epsilon);
+           } else {
+               return (a[0] === b[0]) && (a[1] === b[1]);
+           }
+       }
+
+       // vector addition
+       function geoVecAdd(a, b) {
+           return [ a[0] + b[0], a[1] + b[1] ];
+       }
+
+       // vector subtraction
+       function geoVecSubtract(a, b) {
+           return [ a[0] - b[0], a[1] - b[1] ];
+       }
+
+       // vector scaling
+       function geoVecScale(a, mag) {
+           return [ a[0] * mag, a[1] * mag ];
+       }
+
+       // vector rounding (was: geoRoundCoordinates)
+       function geoVecFloor(a) {
+           return [ Math.floor(a[0]), Math.floor(a[1]) ];
+       }
+
+       // linear interpolation
+       function geoVecInterp(a, b, t) {
+           return [
+               a[0] + (b[0] - a[0]) * t,
+               a[1] + (b[1] - a[1]) * t
+           ];
+       }
+
+       // http://jsperf.com/id-dist-optimization
+       function geoVecLength(a, b) {
+           b = b || [0, 0];
+           var x = a[0] - b[0];
+           var y = a[1] - b[1];
+           return Math.sqrt((x * x) + (y * y));
+       }
+
+       // get a unit vector
+       function geoVecNormalize(a) {
+           var length = Math.sqrt((a[0] * a[0]) + (a[1] * a[1]));
+           if (length !== 0) {
+               return geoVecScale(a, 1 / length);
+           }
+           return [0, 0];
+       }
+
+       // Return the counterclockwise angle in the range (-pi, pi)
+       // between the positive X axis and the line intersecting a and b.
+       function geoVecAngle(a, b) {
+           return Math.atan2(b[1] - a[1], b[0] - a[0]);
+       }
+
+       // dot product
+       function geoVecDot(a, b, origin) {
+           origin = origin || [0, 0];
+           var p = geoVecSubtract(a, origin);
+           var q = geoVecSubtract(b, origin);
+           return (p[0]) * (q[0]) + (p[1]) * (q[1]);
+       }
+
+       // normalized dot product
+       function geoVecNormalizedDot(a, b, origin) {
+           origin = origin || [0, 0];
+           var p = geoVecNormalize(geoVecSubtract(a, origin));
+           var q = geoVecNormalize(geoVecSubtract(b, origin));
+           return geoVecDot(p, q);
+       }
+
+       // 2D cross product of OA and OB vectors, returns magnitude of Z vector
+       // Returns a positive value, if OAB makes a counter-clockwise turn,
+       // negative for clockwise turn, and zero if the points are collinear.
+       function geoVecCross(a, b, origin) {
+           origin = origin || [0, 0];
+           var p = geoVecSubtract(a, origin);
+           var q = geoVecSubtract(b, origin);
+           return (p[0]) * (q[1]) - (p[1]) * (q[0]);
+       }
+
+
+       // find closest orthogonal projection of point onto points array
+       function geoVecProject(a, points) {
+           var min = Infinity;
+           var idx;
+           var target;
+
+           for (var i = 0; i < points.length - 1; i++) {
+               var o = points[i];
+               var s = geoVecSubtract(points[i + 1], o);
+               var v = geoVecSubtract(a, o);
+               var proj = geoVecDot(v, s) / geoVecDot(s, s);
+               var p;
+
+               if (proj < 0) {
+                   p = o;
+               } else if (proj > 1) {
+                   p = points[i + 1];
+               } else {
+                   p = [o[0] + proj * s[0], o[1] + proj * s[1]];
+               }
+
+               var dist = geoVecLength(p, a);
+               if (dist < min) {
+                   min = dist;
+                   idx = i + 1;
+                   target = p;
+               }
+           }
+
+           if (idx !== undefined) {
+               return { index: idx, distance: min, target: target };
+           } else {
+               return null;
+           }
+       }
+
+       // Return the counterclockwise angle in the range (-pi, pi)
+       // between the positive X axis and the line intersecting a and b.
+       function geoAngle(a, b, projection) {
+           return geoVecAngle(projection(a.loc), projection(b.loc));
+       }
+
+
+       function geoEdgeEqual(a, b) {
+           return (a[0] === b[0] && a[1] === b[1]) ||
+               (a[0] === b[1] && a[1] === b[0]);
+       }
+
+
+       // Rotate all points counterclockwise around a pivot point by given angle
+       function geoRotate(points, angle, around) {
+           return points.map(function(point) {
+               var radial = geoVecSubtract(point, around);
+               return [
+                   radial[0] * Math.cos(angle) - radial[1] * Math.sin(angle) + around[0],
+                   radial[0] * Math.sin(angle) + radial[1] * Math.cos(angle) + around[1]
+               ];
+           });
+       }
+
+
+       // Choose the edge with the minimal distance from `point` to its orthogonal
+       // projection onto that edge, if such a projection exists, or the distance to
+       // the closest vertex on that edge. Returns an object with the `index` of the
+       // chosen edge, the chosen `loc` on that edge, and the `distance` to to it.
+       function geoChooseEdge(nodes, point, projection, activeID) {
+           var dist = geoVecLength;
+           var points = nodes.map(function(n) { return projection(n.loc); });
+           var ids = nodes.map(function(n) { return n.id; });
+           var min = Infinity;
+           var idx;
+           var loc;
+
+           for (var i = 0; i < points.length - 1; i++) {
+               if (ids[i] === activeID || ids[i + 1] === activeID) continue;
+
+               var o = points[i];
+               var s = geoVecSubtract(points[i + 1], o);
+               var v = geoVecSubtract(point, o);
+               var proj = geoVecDot(v, s) / geoVecDot(s, s);
+               var p;
+
+               if (proj < 0) {
+                   p = o;
+               } else if (proj > 1) {
+                   p = points[i + 1];
+               } else {
+                   p = [o[0] + proj * s[0], o[1] + proj * s[1]];
+               }
+
+               var d = dist(p, point);
+               if (d < min) {
+                   min = d;
+                   idx = i + 1;
+                   loc = projection.invert(p);
+               }
+           }
+
+           if (idx !== undefined) {
+               return { index: idx, distance: min, loc: loc };
+           } else {
+               return null;
+           }
+       }
+
+
+       // Test active (dragged or drawing) segments against inactive segments
+       // This is used to test e.g. multipolygon rings that cross
+       // `activeNodes` is the ring containing the activeID being dragged.
+       // `inactiveNodes` is the other ring to test against
+       function geoHasLineIntersections(activeNodes, inactiveNodes, activeID) {
+           var actives = [];
+           var inactives = [];
+           var j, k, n1, n2, segment;
+
+           // gather active segments (only segments in activeNodes that contain the activeID)
+           for (j = 0; j < activeNodes.length - 1; j++) {
+               n1 = activeNodes[j];
+               n2 = activeNodes[j+1];
+               segment = [n1.loc, n2.loc];
+               if (n1.id === activeID || n2.id === activeID) {
+                   actives.push(segment);
+               }
+           }
+
+           // gather inactive segments
+           for (j = 0; j < inactiveNodes.length - 1; j++) {
+               n1 = inactiveNodes[j];
+               n2 = inactiveNodes[j+1];
+               segment = [n1.loc, n2.loc];
+               inactives.push(segment);
+           }
+
+           // test
+           for (j = 0; j < actives.length; j++) {
+               for (k = 0; k < inactives.length; k++) {
+                   var p = actives[j];
+                   var q = inactives[k];
+                   var hit = geoLineIntersection(p, q);
+                   if (hit) {
+                       return true;
+                   }
+               }
+           }
+
+           return false;
+       }
+
+
+       // Test active (dragged or drawing) segments against inactive segments
+       // This is used to test whether a way intersects with itself.
+       function geoHasSelfIntersections(nodes, activeID) {
+           var actives = [];
+           var inactives = [];
+           var j, k;
+
+           // group active and passive segments along the nodes
+           for (j = 0; j < nodes.length - 1; j++) {
+               var n1 = nodes[j];
+               var n2 = nodes[j+1];
+               var segment = [n1.loc, n2.loc];
+               if (n1.id === activeID || n2.id === activeID) {
+                   actives.push(segment);
+               } else {
+                   inactives.push(segment);
+               }
+           }
+
+           // test
+           for (j = 0; j < actives.length; j++) {
+               for (k = 0; k < inactives.length; k++) {
+                   var p = actives[j];
+                   var q = inactives[k];
+                   // skip if segments share an endpoint
+                   if (geoVecEqual(p[1], q[0]) || geoVecEqual(p[0], q[1]) ||
+                       geoVecEqual(p[0], q[0]) || geoVecEqual(p[1], q[1]) ) {
+                       continue;
+                   }
+
+                   var hit = geoLineIntersection(p, q);
+                   if (hit) {
+                       var epsilon = 1e-8;
+                       // skip if the hit is at the segment's endpoint
+                       if (geoVecEqual(p[1], hit, epsilon) || geoVecEqual(p[0], hit, epsilon) ||
+                           geoVecEqual(q[1], hit, epsilon) || geoVecEqual(q[0], hit, epsilon) ) {
+                           continue;
+                       } else {
+                           return true;
+                       }
+                   }
+               }
+           }
+
+           return false;
+       }
+
+
+       // Return the intersection point of 2 line segments.
+       // From https://github.com/pgkelley4/line-segments-intersect
+       // This uses the vector cross product approach described below:
+       //  http://stackoverflow.com/a/565282/786339
+       function geoLineIntersection(a, b) {
+           var p = [a[0][0], a[0][1]];
+           var p2 = [a[1][0], a[1][1]];
+           var q = [b[0][0], b[0][1]];
+           var q2 = [b[1][0], b[1][1]];
+           var r = geoVecSubtract(p2, p);
+           var s = geoVecSubtract(q2, q);
+           var uNumerator = geoVecCross(geoVecSubtract(q, p), r);
+           var denominator = geoVecCross(r, s);
+
+           if (uNumerator && denominator) {
+               var u = uNumerator / denominator;
+               var t = geoVecCross(geoVecSubtract(q, p), s) / denominator;
+
+               if ((t >= 0) && (t <= 1) && (u >= 0) && (u <= 1)) {
+                   return geoVecInterp(p, p2, t);
+               }
+           }
+
+           return null;
+       }
+
+
+       function geoPathIntersections(path1, path2) {
+           var intersections = [];
+           for (var i = 0; i < path1.length - 1; i++) {
+               for (var j = 0; j < path2.length - 1; j++) {
+                   var a = [ path1[i], path1[i+1] ];
+                   var b = [ path2[j], path2[j+1] ];
+                   var hit = geoLineIntersection(a, b);
+                   if (hit) {
+                       intersections.push(hit);
+                   }
+               }
+           }
+           return intersections;
+       }
+
+       function geoPathHasIntersections(path1, path2) {
+           for (var i = 0; i < path1.length - 1; i++) {
+               for (var j = 0; j < path2.length - 1; j++) {
+                   var a = [ path1[i], path1[i+1] ];
+                   var b = [ path2[j], path2[j+1] ];
+                   var hit = geoLineIntersection(a, b);
+                   if (hit) {
+                       return true;
+                   }
+               }
+           }
+           return false;
+       }
+
+
+       // Return whether point is contained in polygon.
+       //
+       // `point` should be a 2-item array of coordinates.
+       // `polygon` should be an array of 2-item arrays of coordinates.
+       //
+       // From https://github.com/substack/point-in-polygon.
+       // ray-casting algorithm based on
+       // http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
+       //
+       function geoPointInPolygon(point, polygon) {
+           var x = point[0];
+           var y = point[1];
+           var inside = false;
+
+           for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
+               var xi = polygon[i][0];
+               var yi = polygon[i][1];
+               var xj = polygon[j][0];
+               var yj = polygon[j][1];
+
+               var intersect = ((yi > y) !== (yj > y)) &&
+                   (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
+               if (intersect) inside = !inside;
+           }
+
+           return inside;
+       }
+
+
+       function geoPolygonContainsPolygon(outer, inner) {
+           return inner.every(function(point) {
+               return geoPointInPolygon(point, outer);
+           });
+       }
+
+
+       function geoPolygonIntersectsPolygon(outer, inner, checkSegments) {
+           function testPoints(outer, inner) {
+               return inner.some(function(point) {
+                   return geoPointInPolygon(point, outer);
+               });
+           }
+
+          return testPoints(outer, inner) || (!!checkSegments && geoPathHasIntersections(outer, inner));
+       }
+
+
+       // http://gis.stackexchange.com/questions/22895/finding-minimum-area-rectangle-for-given-points
+       // http://gis.stackexchange.com/questions/3739/generalisation-strategies-for-building-outlines/3756#3756
+       function geoGetSmallestSurroundingRectangle(points) {
+           var hull = d3_polygonHull(points);
+           var centroid = d3_polygonCentroid(hull);
+           var minArea = Infinity;
+           var ssrExtent = [];
+           var ssrAngle = 0;
+           var c1 = hull[0];
+
+           for (var i = 0; i <= hull.length - 1; i++) {
+               var c2 = (i === hull.length - 1) ? hull[0] : hull[i + 1];
+               var angle = Math.atan2(c2[1] - c1[1], c2[0] - c1[0]);
+               var poly = geoRotate(hull, -angle, centroid);
+               var extent = poly.reduce(function(extent, point) {
+                   return extent.extend(geoExtent(point));
+               }, geoExtent());
+
+               var area = extent.area();
+               if (area < minArea) {
+                   minArea = area;
+                   ssrExtent = extent;
+                   ssrAngle = angle;
+               }
+               c1 = c2;
+           }
+
+           return {
+               poly: geoRotate(ssrExtent.polygon(), ssrAngle, centroid),
+               angle: ssrAngle
+           };
+       }
+
+
+       function geoPathLength(path) {
+           var length = 0;
+           for (var i = 0; i < path.length - 1; i++) {
+               length += geoVecLength(path[i], path[i + 1]);
+           }
+           return length;
+       }
+
+
+       // If the given point is at the edge of the padded viewport,
+       // return a vector that will nudge the viewport in that direction
+       function geoViewportEdge(point, dimensions) {
+           var pad = [80, 20, 50, 20];   // top, right, bottom, left
+           var x = 0;
+           var y = 0;
+
+           if (point[0] > dimensions[0] - pad[1])
+               x = -10;
+           if (point[0] < pad[3])
+               x = 10;
+           if (point[1] > dimensions[1] - pad[2])
+               y = -10;
+           if (point[1] < pad[0])
+               y = 10;
+
+           if (x || y) {
+               return [x, y];
+           } else {
+               return null;
+           }
+       }
+
+       /*
+           Bypasses features of D3's default projection stream pipeline that are unnecessary:
+           * Antimeridian clipping
+           * Spherical rotation
+           * Resampling
+       */
+       function geoRawMercator() {
+           var project = mercatorRaw;
+           var k = 512 / Math.PI; // scale
+           var x = 0;
+           var y = 0; // translate
+           var clipExtent = [[0, 0], [0, 0]];
+
+
+           function projection(point) {
+               point = project(point[0] * Math.PI / 180, point[1] * Math.PI / 180);
+               return [point[0] * k + x, y - point[1] * k];
+           }
+
+
+           projection.invert = function(point) {
+               point = project.invert((point[0] - x) / k, (y - point[1]) / k);
+               return point && [point[0] * 180 / Math.PI, point[1] * 180 / Math.PI];
+           };
+
+
+           projection.scale = function(_) {
+               if (!arguments.length) return k;
+               k = +_;
+               return projection;
+           };
+
+
+           projection.translate = function(_) {
+               if (!arguments.length) return [x, y];
+               x = +_[0];
+               y = +_[1];
+               return projection;
+           };
+
+
+           projection.clipExtent = function(_) {
+               if (!arguments.length) return clipExtent;
+               clipExtent = _;
+               return projection;
+           };
+
+
+           projection.transform = function(obj) {
+               if (!arguments.length) return identity$8.translate(x, y).scale(k);
+               x = +obj.x;
+               y = +obj.y;
+               k = +obj.k;
+               return projection;
+           };
+
+
+           projection.stream = d3_geoTransform({
+               point: function(x, y) {
+                   var vec = projection([x, y]);
+                   this.stream.point(vec[0], vec[1]);
+               }
+           }).stream;
+
+
+           return projection;
+       }
+
+       function geoOrthoNormalizedDotProduct(a, b, origin) {
+           if (geoVecEqual(origin, a) || geoVecEqual(origin, b)) {
+               return 1;  // coincident points, treat as straight and try to remove
+           }
+           return geoVecNormalizedDot(a, b, origin);
+       }
+
+
+       function geoOrthoFilterDotProduct(dotp, epsilon, lowerThreshold, upperThreshold, allowStraightAngles) {
+           var val = Math.abs(dotp);
+           if (val < epsilon) {
+               return 0;      // already orthogonal
+           } else if (allowStraightAngles && Math.abs(val-1) < epsilon) {
+               return 0;      // straight angle, which is okay in this case
+           } else if (val < lowerThreshold || val > upperThreshold) {
+               return dotp;   // can be adjusted
+           } else {
+               return null;   // ignore vertex
+           }
+       }
+
+
+       function geoOrthoCalcScore(points, isClosed, epsilon, threshold) {
+           var score = 0;
+           var first = isClosed ? 0 : 1;
+           var last = isClosed ? points.length : points.length - 1;
+           var coords = points.map(function(p) { return p.coord; });
+
+           var lowerThreshold = Math.cos((90 - threshold) * Math.PI / 180);
+           var upperThreshold = Math.cos(threshold * Math.PI / 180);
+
+           for (var i = first; i < last; i++) {
+               var a = coords[(i - 1 + coords.length) % coords.length];
+               var origin = coords[i];
+               var b = coords[(i + 1) % coords.length];
+
+               var dotp = geoOrthoFilterDotProduct(geoOrthoNormalizedDotProduct(a, b, origin), epsilon, lowerThreshold, upperThreshold);
+               if (dotp === null) continue;    // ignore vertex
+               score = score + 2.0 * Math.min(Math.abs(dotp - 1.0), Math.min(Math.abs(dotp), Math.abs(dotp + 1)));
+           }
+
+           return score;
+       }
+
+       // returns the maximum angle less than `lessThan` between the actual corner and a 0° or 90° corner
+       function geoOrthoMaxOffsetAngle(coords, isClosed, lessThan) {
+           var max = -Infinity;
+
+           var first = isClosed ? 0 : 1;
+           var last = isClosed ? coords.length : coords.length - 1;
+
+           for (var i = first; i < last; i++) {
+               var a = coords[(i - 1 + coords.length) % coords.length];
+               var origin = coords[i];
+               var b = coords[(i + 1) % coords.length];
+               var normalizedDotP = geoOrthoNormalizedDotProduct(a, b, origin);
+
+               var angle = Math.acos(Math.abs(normalizedDotP)) * 180 / Math.PI;
+
+               if (angle > 45) angle = 90 - angle;
+
+               if (angle >= lessThan) continue;
+
+               if (angle > max) max = angle;
+           }
+
+           if (max === -Infinity) return null;
+
+           return max;
+       }
+
+
+       // similar to geoOrthoCalcScore, but returns quickly if there is something to do
+       function geoOrthoCanOrthogonalize(coords, isClosed, epsilon, threshold, allowStraightAngles) {
+           var score = null;
+           var first = isClosed ? 0 : 1;
+           var last = isClosed ? coords.length : coords.length - 1;
+
+           var lowerThreshold = Math.cos((90 - threshold) * Math.PI / 180);
+           var upperThreshold = Math.cos(threshold * Math.PI / 180);
+
+           for (var i = first; i < last; i++) {
+               var a = coords[(i - 1 + coords.length) % coords.length];
+               var origin = coords[i];
+               var b = coords[(i + 1) % coords.length];
+
+               var dotp = geoOrthoFilterDotProduct(geoOrthoNormalizedDotProduct(a, b, origin), epsilon, lowerThreshold, upperThreshold, allowStraightAngles);
+               if (dotp === null) continue;        // ignore vertex
+               if (Math.abs(dotp) > 0) return 1;   // something to do
+               score = 0;                          // already square
+           }
+
+           return score;
+       }
+
+       var wikibooks = [["Afrikaans","Afrikaans","af"],["Arabic","العربية","ar"],["Azerbaijani","azərbaycanca","az"],["Belarusian","беларуская","be"],["Bulgarian","български","bg"],["Bangla","বাংলা","bn"],["Bosnian","bosanski","bs"],["Catalan","català","ca"],["Czech","čeština","cs"],["Chuvash","Чӑвашла","cv"],["Welsh","Cymraeg","cy"],["Danish","dansk","da"],["German","Deutsch","de"],["Greek","Ελληνικά","el"],["English","English","en"],["Esperanto","Esperanto","eo"],["Spanish","español","es"],["Estonian","eesti","et"],["Basque","euskara","eu"],["Persian","فارسی","fa"],["Finnish","suomi","fi"],["French","français","fr"],["Western Frisian","Frysk","fy"],["Galician","galego","gl"],["Hebrew","עברית","he"],["Hindi","हिन्दी","hi"],["Croatian","hrvatski","hr"],["Hungarian","magyar","hu"],["Armenian","Հայերեն","hy"],["Interlingua","interlingua","ia"],["Indonesian","Bahasa Indonesia","id"],["Icelandic","íslenska","is"],["Italian","italiano","it"],["Japanese","日本語","ja"],["Georgian","ქართული","ka"],["Kazakh","қазақша","kk"],["Khmer","ភាសាខ្មែរ","km"],["Korean","한국어","ko"],["Kurdish","Kurdî","ku"],["Kyrgyz","Кыргызча","ky"],["Latin","Latina","la"],["Limburgish","Limburgs","li"],["Lithuanian","lietuvių","lt"],["Malagasy","Malagasy","mg"],["Macedonian","македонски","mk"],["Malayalam","മലയാളം","ml"],["Marathi","मराठी","mr"],["Malay","Bahasa Melayu","ms"],["Nepali","नेपाली","ne"],["Dutch","Nederlands","nl"],["Norwegian","norsk bokmål","no"],["Occitan","occitan","oc"],["Punjabi","ਪੰਜਾਬੀ","pa"],["Polish","polski","pl"],["Portuguese","português","pt"],["Romanian","română","ro"],["Russian","русский","ru"],["Sanskrit","संस्कृतम्","sa"],["Sinhala","සිංහල","si"],["Slovak","slovenčina","sk"],["Slovenian","slovenščina","sl"],["Albanian","shqip","sq"],["Serbian","српски / srpski","sr"],["Swedish","svenska","sv"],["Tamil","தமிழ்","ta"],["Telugu","తెలుగు","te"],["Tajik","тоҷикӣ","tg"],["Thai","ไทย","th"],["Tagalog","Tagalog","tl"],["Turkish","Türkçe","tr"],["Tatar","татарча/tatarça","tt"],["Ukrainian","українська","uk"],["Urdu","اردو","ur"],["Vietnamese","Tiếng Việt","vi"],["Chinese","中文","zh"]];
+
+       var wikibooks$1 = /*#__PURE__*/Object.freeze({
+               'default': wikibooks
+       });
+
+       var wikinews = [["Arabic","العربية","ar"],["Bulgarian","български","bg"],["Bosnian","bosanski","bs"],["Catalan","català","ca"],["Czech","čeština","cs"],["German","Deutsch","de"],["Greek","Ελληνικά","el"],["English","English","en"],["Esperanto","Esperanto","eo"],["Spanish","español","es"],["Persian","فارسی","fa"],["Finnish","suomi","fi"],["French","français","fr"],["Hebrew","עברית","he"],["Italian","italiano","it"],["Japanese","日本語","ja"],["Korean","한국어","ko"],["Norwegian","norsk bokmål","no"],["Polish","polski","pl"],["Portuguese","português","pt"],["Romanian","română","ro"],["Russian","русский","ru"],["Albanian","shqip","sq"],["Serbian","српски / srpski","sr"],["Swedish","svenska","sv"],["Tamil","தமிழ்","ta"],["Turkish","Türkçe","tr"],["Ukrainian","українська","uk"],["Chinese","中文","zh"]];
+
+       var wikinews$1 = /*#__PURE__*/Object.freeze({
+               'default': wikinews
+       });
+
+       var wikiquote = [["Afrikaans","Afrikaans","af"],["Arabic","العربية","ar"],["Azerbaijani","azərbaycanca","az"],["Belarusian","беларуская","be"],["Bulgarian","български","bg"],["Breton","brezhoneg","br"],["Bosnian","bosanski","bs"],["Catalan","català","ca"],["Czech","čeština","cs"],["Welsh","Cymraeg","cy"],["Danish","dansk","da"],["German","Deutsch","de"],["Greek","Ελληνικά","el"],["English","English","en"],["Esperanto","Esperanto","eo"],["Spanish","español","es"],["Estonian","eesti","et"],["Basque","euskara","eu"],["Persian","فارسی","fa"],["Finnish","suomi","fi"],["French","français","fr"],["Galician","galego","gl"],["Gujarati","ગુજરાતી","gu"],["Hebrew","עברית","he"],["Hindi","हिन्दी","hi"],["Croatian","hrvatski","hr"],["Hungarian","magyar","hu"],["Armenian","Հայերեն","hy"],["Indonesian","Bahasa Indonesia","id"],["Icelandic","íslenska","is"],["Italian","italiano","it"],["Japanese","日本語","ja"],["Georgian","ქართული","ka"],["Kannada","ಕನ್ನಡ","kn"],["Korean","한국어","ko"],["Kurdish","Kurdî","ku"],["Kyrgyz","Кыргызча","ky"],["Latin","Latina","la"],["Limburgish","Limburgs","li"],["Lithuanian","lietuvių","lt"],["Malayalam","മലയാളം","ml"],["Marathi","मराठी","mr"],["Dutch","Nederlands","nl"],["Norwegian Nynorsk","norsk nynorsk","nn"],["Norwegian","norsk bokmål","no"],["Polish","polski","pl"],["Portuguese","português","pt"],["Romanian","română","ro"],["Russian","русский","ru"],["Sanskrit","संस्कृतम्","sa"],["Slovak","slovenčina","sk"],["Slovenian","slovenščina","sl"],["Albanian","shqip","sq"],["Serbian","српски / srpski","sr"],["Sundanese","Basa Sunda","su"],["Swedish","svenska","sv"],["Tamil","தமிழ்","ta"],["Telugu","తెలుగు","te"],["Thai","ไทย","th"],["Turkish","Türkçe","tr"],["Ukrainian","українська","uk"],["Urdu","اردو","ur"],["Uzbek","oʻzbekcha/ўзбекча","uz"],["Vietnamese","Tiếng Việt","vi"],["Wolof","Wolof","wo"],["Chinese","中文","zh"]];
+
+       var wikiquote$1 = /*#__PURE__*/Object.freeze({
+               'default': wikiquote
+       });
+
+       var wikiversity = [["Arabic","العربية","ar"],["Czech","čeština","cs"],["German","Deutsch","de"],["Greek","Ελληνικά","el"],["English","English","en"],["Spanish","español","es"],["Finnish","suomi","fi"],["French","français","fr"],["Italian","italiano","it"],["Japanese","日本語","ja"],["Korean","한국어","ko"],["Portuguese","português","pt"],["Russian","русский","ru"],["Slovenian","slovenščina","sl"],["Swedish","svenska","sv"]];
+
+       var wikiversity$1 = /*#__PURE__*/Object.freeze({
+               'default': wikiversity
+       });
+
+       var wikivoyage = [["German","Deutsch","de"],["Greek","Ελληνικά","el"],["English","English","en"],["Spanish","español","es"],["Persian","فارسی","fa"],["Finnish","suomi","fi"],["French","français","fr"],["Hebrew","עברית","he"],["Italian","italiano","it"],["Dutch","Nederlands","nl"],["Polish","polski","pl"],["Portuguese","português","pt"],["Romanian","română","ro"],["Russian","русский","ru"],["Swedish","svenska","sv"],["Ukrainian","українська","uk"],["Vietnamese","Tiếng Việt","vi"],["Chinese","中文","zh"]];
+
+       var wikivoyage$1 = /*#__PURE__*/Object.freeze({
+               'default': wikivoyage
+       });
+
+       var wiktionary = [["Afrikaans","Afrikaans","af"],["Amharic","አማርኛ","am"],["Aragonese","aragonés","an"],["Old English","Ænglisc","ang"],["Arabic","العربية","ar"],["Asturian","asturianu","ast"],["Aymara","Aymar aru","ay"],["Azerbaijani","azərbaycanca","az"],["Belarusian","беларуская","be"],["Bulgarian","български","bg"],["Bangla","বাংলা","bn"],["Breton","brezhoneg","br"],["Bosnian","bosanski","bs"],["Catalan","català","ca"],["Cherokee","ᏣᎳᎩ","chr"],["Corsican","corsu","co"],["Czech","čeština","cs"],["Kashubian","kaszëbsczi","csb"],["Welsh","Cymraeg","cy"],["Danish","dansk","da"],["German","Deutsch","de"],["Divehi","ދިވެހިބަސް","dv"],["Greek","Ελληνικά","el"],["English","English","en"],["Esperanto","Esperanto","eo"],["Spanish","español","es"],["Estonian","eesti","et"],["Basque","euskara","eu"],["Persian","فارسی","fa"],["Finnish","suomi","fi"],["Fijian","Na Vosa Vakaviti","fj"],["Faroese","føroyskt","fo"],["French","français","fr"],["Western Frisian","Frysk","fy"],["Irish","Gaeilge","ga"],["Scottish Gaelic","Gàidhlig","gd"],["Galician","galego","gl"],["Guarani","Avañe'ẽ","gn"],["Gujarati","ગુજરાતી","gu"],["Manx","Gaelg","gv"],["Hausa","Hausa","ha"],["Hebrew","עברית","he"],["Hindi","हिन्दी","hi"],["Croatian","hrvatski","hr"],["Upper Sorbian","hornjoserbsce","hsb"],["Hungarian","magyar","hu"],["Armenian","Հայերեն","hy"],["Interlingua","interlingua","ia"],["Indonesian","Bahasa Indonesia","id"],["Interlingue","Interlingue","ie"],["Ido","Ido","io"],["Icelandic","íslenska","is"],["Italian","italiano","it"],["Inuktitut","ᐃᓄᒃᑎᑐᑦ/inuktitut","iu"],["Japanese","日本語","ja"],["Lojban","la .lojban.","jbo"],["Javanese","Basa Jawa","jv"],["Georgian","ქართული","ka"],["Kazakh","қазақша","kk"],["Kalaallisut","kalaallisut","kl"],["Khmer","ភាសាខ្មែរ","km"],["Kannada","ಕನ್ನಡ","kn"],["Korean","한국어","ko"],["Kashmiri","कॉशुर / کٲشُر","ks"],["Kurdish","Kurdî","ku"],["Cornish","kernowek","kw"],["Kyrgyz","Кыргызча","ky"],["Latin","Latina","la"],["Luxembourgish","Lëtzebuergesch","lb"],["Limburgish","Limburgs","li"],["Lingala","lingála","ln"],["Lao","ລາວ","lo"],["Lithuanian","lietuvių","lt"],["Latvian","latviešu","lv"],["Malagasy","Malagasy","mg"],["Maori","Māori","mi"],["Macedonian","македонски","mk"],["Malayalam","മലയാളം","ml"],["Mongolian","монгол","mn"],["Marathi","मराठी","mr"],["Malay","Bahasa Melayu","ms"],["Maltese","Malti","mt"],["Burmese","မြန်မာဘာသာ","my"],["Nauru","Dorerin Naoero","na"],["Nāhuatl","Nāhuatl","nah"],["Low German","Plattdüütsch","nds"],["Nepali","नेपाली","ne"],["Dutch","Nederlands","nl"],["Norwegian Nynorsk","norsk nynorsk","nn"],["Norwegian","norsk bokmål","no"],["Occitan","occitan","oc"],["Oromo","Oromoo","om"],["Odia","ଓଡ଼ିଆ","or"],["Punjabi","ਪੰਜਾਬੀ","pa"],["Polish","polski","pl"],["Western Punjabi","پنجابی","pnb"],["Pashto","پښتو","ps"],["Portuguese","português","pt"],["Quechua","Runa Simi","qu"],["Romanian","română","ro"],["Aromanian","armãneashti","roa-rup"],["Russian","русский","ru"],["Kinyarwanda","Kinyarwanda","rw"],["Sanskrit","संस्कृतम्","sa"],["Sicilian","sicilianu","scn"],["Sindhi","سنڌي","sd"],["Sango","Sängö","sg"],["Serbo-Croatian","srpskohrvatski / српскохрватски","sh"],["Sinhala","සිංහල","si"],["Simple English","Simple English","simple"],["Slovak","slovenčina","sk"],["Slovenian","slovenščina","sl"],["Samoan","Gagana Samoa","sm"],["Somali","Soomaaliga","so"],["Albanian","shqip","sq"],["Serbian","српски / srpski","sr"],["Swati","SiSwati","ss"],["Southern Sotho","Sesotho","st"],["Sundanese","Basa Sunda","su"],["Swedish","svenska","sv"],["Swahili","Kiswahili","sw"],["Tamil","தமிழ்","ta"],["Telugu","తెలుగు","te"],["Tajik","тоҷикӣ","tg"],["Thai","ไทย","th"],["Tigrinya","ትግርኛ","ti"],["Turkmen","Türkmençe","tk"],["Tagalog","Tagalog","tl"],["Tswana","Setswana","tn"],["Tok Pisin","Tok Pisin","tpi"],["Turkish","Türkçe","tr"],["Tsonga","Xitsonga","ts"],["Tatar","татарча/tatarça","tt"],["Uyghur","ئۇيغۇرچە / Uyghurche","ug"],["Ukrainian","українська","uk"],["Urdu","اردو","ur"],["Uzbek","oʻzbekcha/ўзбекча","uz"],["Venetian","vèneto","vec"],["Vietnamese","Tiếng Việt","vi"],["Volapük","Volapük","vo"],["Walloon","walon","wa"],["Wolof","Wolof","wo"],["Yiddish","ייִדיש","yi"],["Chinese","中文","zh"],["Chinese (Min Nan)","Bân-lâm-gú","zh-min-nan"],["Zulu","isiZulu","zu"]];
+
+       var wiktionary$1 = /*#__PURE__*/Object.freeze({
+               'default': wiktionary
+       });
+
+       var wikipedia = [["Abkhazian","Аҧсшәа","ab"],["Achinese","Acèh","ace"],["Adyghe","адыгабзэ","ady"],["Afrikaans","Afrikaans","af"],["Akan","Akan","ak"],["Alemannisch","Alemannisch","als"],["Amharic","አማርኛ","am"],["Aragonese","aragonés","an"],["Old English","Ænglisc","ang"],["Arabic","العربية","ar"],["Aramaic","ܐܪܡܝܐ","arc"],["Egyptian Arabic","مصرى","arz"],["Assamese","অসমীয়া","as"],["Asturian","asturianu","ast"],["Avaric","авар","av"],["Aymara","Aymar aru","ay"],["Azerbaijani","azərbaycanca","az"],["تۆرکجه","تۆرکجه","azb"],["Bashkir","башҡортса","ba"],["Bavarian","Boarisch","bar"],["Samogitian","žemaitėška","bat-smg"],["Bikol Central","Bikol Central","bcl"],["Belarusian","беларуская","be"],["беларуская (тарашкевіца)‎","беларуская (тарашкевіца)‎","be-x-old"],["Bulgarian","български","bg"],["भोजपुरी","भोजपुरी","bh"],["Bislama","Bislama","bi"],["Banjar","Bahasa Banjar","bjn"],["Bambara","bamanankan","bm"],["Bangla","বাংলা","bn"],["Tibetan","བོད་ཡིག","bo"],["Bishnupriya","বিষ্ণুপ্রিয়া মণিপুরী","bpy"],["Breton","brezhoneg","br"],["Bosnian","bosanski","bs"],["Buginese","ᨅᨔ ᨕᨘᨁᨗ","bug"],["буряад","буряад","bxr"],["Catalan","català","ca"],["Chavacano de Zamboanga","Chavacano de Zamboanga","cbk-zam"],["Min Dong Chinese","Mìng-dĕ̤ng-ngṳ̄","cdo"],["Chechen","нохчийн","ce"],["Cebuano","Cebuano","ceb"],["Chamorro","Chamoru","ch"],["Cherokee","ᏣᎳᎩ","chr"],["Cheyenne","Tsetsêhestâhese","chy"],["Central Kurdish","کوردیی ناوەندی","ckb"],["Corsican","corsu","co"],["Cree","Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ","cr"],["Crimean Turkish","qırımtatarca","crh"],["Czech","čeština","cs"],["Kashubian","kaszëbsczi","csb"],["Church Slavic","словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ","cu"],["Chuvash","Чӑвашла","cv"],["Welsh","Cymraeg","cy"],["Danish","dansk","da"],["German","Deutsch","de"],["Zazaki","Zazaki","diq"],["Lower Sorbian","dolnoserbski","dsb"],["Divehi","ދިވެހިބަސް","dv"],["Dzongkha","ཇོང་ཁ","dz"],["Ewe","eʋegbe","ee"],["Greek","Ελληνικά","el"],["Emiliano-Romagnolo","emiliàn e rumagnòl","eml"],["English","English","en"],["Esperanto","Esperanto","eo"],["Spanish","español","es"],["Estonian","eesti","et"],["Basque","euskara","eu"],["Extremaduran","estremeñu","ext"],["Persian","فارسی","fa"],["Fulah","Fulfulde","ff"],["Finnish","suomi","fi"],["Võro","Võro","fiu-vro"],["Fijian","Na Vosa Vakaviti","fj"],["Faroese","føroyskt","fo"],["French","français","fr"],["Arpitan","arpetan","frp"],["Northern Frisian","Nordfriisk","frr"],["Friulian","furlan","fur"],["Western Frisian","Frysk","fy"],["Irish","Gaeilge","ga"],["Gagauz","Gagauz","gag"],["Gan Chinese","贛語","gan"],["Scottish Gaelic","Gàidhlig","gd"],["Galician","galego","gl"],["Gilaki","گیلکی","glk"],["Guarani","Avañe'ẽ","gn"],["Goan Konkani","गोंयची कोंकणी / Gõychi Konknni","gom"],["Gothic","𐌲𐌿𐍄𐌹𐍃𐌺","got"],["Gujarati","ગુજરાતી","gu"],["Manx","Gaelg","gv"],["Hausa","Hausa","ha"],["Hakka Chinese","客家語/Hak-kâ-ngî","hak"],["Hawaiian","Hawaiʻi","haw"],["Hebrew","עברית","he"],["Hindi","हिन्दी","hi"],["Fiji Hindi","Fiji Hindi","hif"],["Croatian","hrvatski","hr"],["Upper Sorbian","hornjoserbsce","hsb"],["Haitian Creole","Kreyòl ayisyen","ht"],["Hungarian","magyar","hu"],["Armenian","Հայերեն","hy"],["Interlingua","interlingua","ia"],["Indonesian","Bahasa Indonesia","id"],["Interlingue","Interlingue","ie"],["Igbo","Igbo","ig"],["Inupiaq","Iñupiak","ik"],["Iloko","Ilokano","ilo"],["Ido","Ido","io"],["Icelandic","íslenska","is"],["Italian","italiano","it"],["Inuktitut","ᐃᓄᒃᑎᑐᑦ/inuktitut","iu"],["Japanese","日本語","ja"],["Jamaican Creole English","Patois","jam"],["Lojban","la .lojban.","jbo"],["Javanese","Basa Jawa","jv"],["Georgian","ქართული","ka"],["Kara-Kalpak","Qaraqalpaqsha","kaa"],["Kabyle","Taqbaylit","kab"],["Kabardian","Адыгэбзэ","kbd"],["Kongo","Kongo","kg"],["Kikuyu","Gĩkũyũ","ki"],["Kazakh","қазақша","kk"],["Kalaallisut","kalaallisut","kl"],["Khmer","ភាសាខ្មែរ","km"],["Kannada","ಕನ್ನಡ","kn"],["Korean","한국어","ko"],["Komi-Permyak","Перем Коми","koi"],["Karachay-Balkar","къарачай-малкъар","krc"],["Kashmiri","कॉशुर / کٲشُر","ks"],["Colognian","Ripoarisch","ksh"],["Kurdish","Kurdî","ku"],["Komi","коми","kv"],["Cornish","kernowek","kw"],["Kyrgyz","Кыргызча","ky"],["Latin","Latina","la"],["Ladino","Ladino","lad"],["Luxembourgish","Lëtzebuergesch","lb"],["лакку","лакку","lbe"],["Lezghian","лезги","lez"],["Ganda","Luganda","lg"],["Limburgish","Limburgs","li"],["Ligurian","Ligure","lij"],["Lombard","lumbaart","lmo"],["Lingala","lingála","ln"],["Lao","ລາວ","lo"],["Northern Luri","لۊری شومالی","lrc"],["Lithuanian","lietuvių","lt"],["Latgalian","latgaļu","ltg"],["Latvian","latviešu","lv"],["Maithili","मैथिली","mai"],["Basa Banyumasan","Basa Banyumasan","map-bms"],["Moksha","мокшень","mdf"],["Malagasy","Malagasy","mg"],["Eastern Mari","олык марий","mhr"],["Maori","Māori","mi"],["Minangkabau","Baso Minangkabau","min"],["Macedonian","македонски","mk"],["Malayalam","മലയാളം","ml"],["Mongolian","монгол","mn"],["Marathi","मराठी","mr"],["Western Mari","кырык мары","mrj"],["Malay","Bahasa Melayu","ms"],["Maltese","Malti","mt"],["Mirandese","Mirandés","mwl"],["Burmese","မြန်မာဘာသာ","my"],["Erzya","эрзянь","myv"],["Mazanderani","مازِرونی","mzn"],["Nauru","Dorerin Naoero","na"],["Nāhuatl","Nāhuatl","nah"],["Neapolitan","Napulitano","nap"],["Low German","Plattdüütsch","nds"],["Low Saxon","Nedersaksies","nds-nl"],["Nepali","नेपाली","ne"],["Newari","नेपाल भाषा","new"],["Dutch","Nederlands","nl"],["Norwegian Nynorsk","norsk nynorsk","nn"],["Norwegian","norsk bokmål","no"],["Novial","Novial","nov"],["Nouormand","Nouormand","nrm"],["Northern Sotho","Sesotho sa Leboa","nso"],["Navajo","Diné bizaad","nv"],["Nyanja","Chi-Chewa","ny"],["Occitan","occitan","oc"],["Livvi-Karelian","Livvinkarjala","olo"],["Oromo","Oromoo","om"],["Odia","ଓଡ଼ିଆ","or"],["Ossetic","Ирон","os"],["Punjabi","ਪੰਜਾਬੀ","pa"],["Pangasinan","Pangasinan","pag"],["Pampanga","Kapampangan","pam"],["Papiamento","Papiamentu","pap"],["Picard","Picard","pcd"],["Pennsylvania German","Deitsch","pdc"],["Palatine German","Pälzisch","pfl"],["Pali","पालि","pi"],["Norfuk / Pitkern","Norfuk / Pitkern","pih"],["Polish","polski","pl"],["Piedmontese","Piemontèis","pms"],["Western Punjabi","پنجابی","pnb"],["Pontic","Ποντιακά","pnt"],["Pashto","پښتو","ps"],["Portuguese","português","pt"],["Quechua","Runa Simi","qu"],["Romansh","rumantsch","rm"],["Romani","Romani","rmy"],["Rundi","Kirundi","rn"],["Romanian","română","ro"],["Aromanian","armãneashti","roa-rup"],["tarandíne","tarandíne","roa-tara"],["Russian","русский","ru"],["Rusyn","русиньскый","rue"],["Kinyarwanda","Kinyarwanda","rw"],["Sanskrit","संस्कृतम्","sa"],["Sakha","саха тыла","sah"],["Sardinian","sardu","sc"],["Sicilian","sicilianu","scn"],["Scots","Scots","sco"],["Sindhi","سنڌي","sd"],["Northern Sami","sámegiella","se"],["Sango","Sängö","sg"],["Serbo-Croatian","srpskohrvatski / српскохрватски","sh"],["Sinhala","සිංහල","si"],["Simple English","Simple English","simple"],["Slovak","slovenčina","sk"],["Slovenian","slovenščina","sl"],["Samoan","Gagana Samoa","sm"],["Shona","chiShona","sn"],["Somali","Soomaaliga","so"],["Albanian","shqip","sq"],["Serbian","српски / srpski","sr"],["Sranan Tongo","Sranantongo","srn"],["Swati","SiSwati","ss"],["Southern Sotho","Sesotho","st"],["Saterland Frisian","Seeltersk","stq"],["Sundanese","Basa Sunda","su"],["Swedish","svenska","sv"],["Swahili","Kiswahili","sw"],["Silesian","ślůnski","szl"],["Tamil","தமிழ்","ta"],["Tulu","ತುಳು","tcy"],["Telugu","తెలుగు","te"],["Tetum","tetun","tet"],["Tajik","тоҷикӣ","tg"],["Thai","ไทย","th"],["Tigrinya","ትግርኛ","ti"],["Turkmen","Türkmençe","tk"],["Tagalog","Tagalog","tl"],["Tswana","Setswana","tn"],["Tongan","lea faka-Tonga","to"],["Tok Pisin","Tok Pisin","tpi"],["Turkish","Türkçe","tr"],["Tsonga","Xitsonga","ts"],["Tatar","татарча/tatarça","tt"],["Tumbuka","chiTumbuka","tum"],["Twi","Twi","tw"],["Tahitian","reo tahiti","ty"],["Tuvinian","тыва дыл","tyv"],["Udmurt","удмурт","udm"],["Uyghur","ئۇيغۇرچە / Uyghurche","ug"],["Ukrainian","українська","uk"],["Urdu","اردو","ur"],["Uzbek","oʻzbekcha/ўзбекча","uz"],["Venda","Tshivenda","ve"],["Venetian","vèneto","vec"],["Veps","vepsän kel’","vep"],["Vietnamese","Tiếng Việt","vi"],["West Flemish","West-Vlams","vls"],["Volapük","Volapük","vo"],["Walloon","walon","wa"],["Waray","Winaray","war"],["Wolof","Wolof","wo"],["Wu Chinese","吴语","wuu"],["Kalmyk","хальмг","xal"],["Xhosa","isiXhosa","xh"],["Mingrelian","მარგალური","xmf"],["Yiddish","ייִדיש","yi"],["Yoruba","Yorùbá","yo"],["Zhuang","Vahcuengh","za"],["Zeelandic","Zeêuws","zea"],["Chinese","中文","zh"],["Classical Chinese","文言","zh-classical"],["Chinese (Min Nan)","Bân-lâm-gú","zh-min-nan"],["Cantonese","粵語","zh-yue"],["Zulu","isiZulu","zu"]];
+
+       var wikipedia$1 = /*#__PURE__*/Object.freeze({
+               'default': wikipedia
+       });
+
+       var wikisource = [["Arabic","العربية","ar"],["Assamese","অসমীয়া","as"],["Azerbaijani","azərbaycanca","az"],["Belarusian","беларуская","be"],["Bulgarian","български","bg"],["Bangla","বাংলা","bn"],["Breton","brezhoneg","br"],["Bosnian","bosanski","bs"],["Catalan","català","ca"],["Czech","čeština","cs"],["Welsh","Cymraeg","cy"],["Danish","dansk","da"],["German","Deutsch","de"],["Greek","Ελληνικά","el"],["English","English","en"],["Esperanto","Esperanto","eo"],["Spanish","español","es"],["Estonian","eesti","et"],["Persian","فارسی","fa"],["Finnish","suomi","fi"],["Faroese","føroyskt","fo"],["French","français","fr"],["Galician","galego","gl"],["Gujarati","ગુજરાતી","gu"],["Hebrew","עברית","he"],["Croatian","hrvatski","hr"],["Hungarian","magyar","hu"],["Armenian","Հայերեն","hy"],["Indonesian","Bahasa Indonesia","id"],["Icelandic","íslenska","is"],["Italian","italiano","it"],["Japanese","日本語","ja"],["Kannada","ಕನ್ನಡ","kn"],["Korean","한국어","ko"],["Latin","Latina","la"],["Limburgish","Limburgs","li"],["Lithuanian","lietuvių","lt"],["Macedonian","македонски","mk"],["Malayalam","മലയാളം","ml"],["Marathi","मराठी","mr"],["Dutch","Nederlands","nl"],["Norwegian","norsk bokmål","no"],["Odia","ଓଡ଼ିଆ","or"],["Punjabi","ਪੰਜਾਬੀ","pa"],["Polish","polski","pl"],["Portuguese","português","pt"],["Romanian","română","ro"],["Russian","русский","ru"],["Sanskrit","संस्कृतम्","sa"],["Sakha","саха тыла","sah"],["Slovak","slovenčina","sk"],["Slovenian","slovenščina","sl"],["Serbian","српски / srpski","sr"],["Swedish","svenska","sv"],["Tamil","தமிழ்","ta"],["Telugu","తెలుగు","te"],["Thai","ไทย","th"],["Turkish","Türkçe","tr"],["Ukrainian","українська","uk"],["Venetian","vèneto","vec"],["Vietnamese","Tiếng Việt","vi"],["Yiddish","ייִדיש","yi"],["Chinese","中文","zh"],["Chinese (Min Nan)","Bân-lâm-gú","zh-min-nan"]];
+
+       var wikisource$1 = /*#__PURE__*/Object.freeze({
+               'default': wikisource
+       });
+
+       getCjsExportFromNamespace(wikibooks$1);
+
+       getCjsExportFromNamespace(wikinews$1);
+
+       getCjsExportFromNamespace(wikiquote$1);
+
+       getCjsExportFromNamespace(wikiversity$1);
+
+       getCjsExportFromNamespace(wikivoyage$1);
+
+       getCjsExportFromNamespace(wiktionary$1);
+
+       var require$$6 = getCjsExportFromNamespace(wikipedia$1);
+
+       getCjsExportFromNamespace(wikisource$1);
+
+       var wikipedia$2 = require$$6;
+
+       var dataAddressFormats = [{format:[["housenumber","street"],["city","postcode"]]},{countryCodes:["au"],format:[["unit","housenumber","street"],["suburb","state","postcode"]]},{countryCodes:["gb"],format:[["housename"],["housenumber","street"],["city","postcode"]]},{countryCodes:["ie"],format:[["housename"],["housenumber","street"],["city"],["postcode"]]},{countryCodes:["at","ch","de","si","pl"],format:[["street","housenumber"],["postcode","city"]]},{countryCodes:["ad","ba","be","cz","dk","es","fi","gr","hr","is","it","li","nl","no","pt","se","sk","sm","va"],format:[["street","housenumber","unit"],["postcode","city"]]},{countryCodes:["fr","lu","mo"],format:[["housenumber","street"],["postcode","city"]]},{countryCodes:["br"],format:[["street"],["housenumber","suburb"],["city","postcode"]]},{countryCodes:["vn"],format:[["housenumber","street"],["subdistrict"],["district"],["city"],["province","postcode"]]},{countryCodes:["ca"],format:[["housenumber","street","unit"],["city","province","postcode"]]},{countryCodes:["us"],format:[["housenumber","street","unit"],["city","state","postcode"]]},{countryCodes:["tw"],format:[["postcode","city","district"],["place","street"],["housenumber","floor","unit"]]},{countryCodes:["jp"],format:[["postcode","province","county"],["city","suburb"],["quarter","neighbourhood"],["block_number","housenumber"]],dropdowns:["postcode","province","county","city","suburb","quarter","neighbourhood","block_number"],widths:{postcode:0.3,province:0.35,county:0.35,city:0.65,suburb:0.35,quarter:0.5,neighbourhood:0.5,block_number:0.5,housenumber:0.5}},{countryCodes:["tr"],format:[["neighbourhood"],["street","housenumber"],["postcode","district","city"]]},{countryCodes:["ua"],format:[["housenumber","postcode"],["street"]]},{countryCodes:["cn"],format:[["postcode","province"],["city","district"],["street","housenumber"]]}];
+
+       var dataDeprecated = [{old:{aerialway:"canopy"},replace:{aerialway:"zip_line"}},{old:{aeroway:"aerobridge"},replace:{aeroway:"jet_bridge"}},{old:{amenity:"advertising"},replace:{advertising:"*"}},{old:{amenity:"artwork"},replace:{tourism:"artwork"}},{old:{amenity:"bail_bonds"},replace:{office:"bail_bond_agent"}},{old:{amenity:"car_repair"},replace:{shop:"car_repair"}},{old:{amenity:"changing_room"},replace:{amenity:"dressing_room"}},{old:{amenity:"citymap_post"},replace:{tourism:"information"}},{old:{amenity:"club"},replace:{club:"*"}},{old:{amenity:"community_center"},replace:{amenity:"community_centre"}},{old:{amenity:"dancing_school"},replace:{leisure:"dance","dance:teaching":"yes"}},{old:{amenity:"dog_bin"},replace:{amenity:"waste_basket",waste:"dog_excrement"}},{old:{amenity:"dog_waste_bin"},replace:{amenity:"waste_basket",waste:"dog_excrement"}},{old:{amenity:"embassy"},replace:{office:"diplomatic"}},{old:{amenity:"ev_charging"},replace:{amenity:"charging_station"}},{old:{amenity:"fire_hydrant"},replace:{emergency:"fire_hydrant"}},{old:{amenity:"firepit"},replace:{leisure:"firepit"}},{old:{amenity:"garage"},replace:{landuse:"garages"}},{old:{amenity:"garages"},replace:{landuse:"garages"}},{old:{amenity:"gym"},replace:{leisure:"fitness_centre"}},{old:{amenity:"hotel"},replace:{tourism:"hotel"}},{old:{amenity:"kiosk"},replace:{shop:"kiosk"}},{old:{amenity:"nursery"},replace:{amenity:"kindergarten"}},{old:{amenity:"preschool"},replace:{amenity:"kindergarten",preschool:"yes"}},{old:{amenity:"public_building"},replace:{building:"public"}},{old:{amenity:"real_estate"},replace:{office:"estate_agent"}},{old:{amenity:"register_office"},replace:{office:"government",government:"register_office"}},{old:{amenity:"sauna"},replace:{leisure:"sauna"}},{old:{amenity:"scrapyard"},replace:{landuse:"industrial",industrial:"scrap_yard"}},{old:{amenity:"shop"},replace:{shop:"*"}},{old:{amenity:"sloped_curb"},replace:{kerb:"lowered"}},{old:{amenity:"social_club"},replace:{club:"*"}},{old:{amenity:"swimming_pool"},replace:{leisure:"swimming_pool"}},{old:{amenity:"ticket_booth"},replace:{shop:"ticket"}},{old:{amenity:"toilet"},replace:{amenity:"toilets"}},{old:{amenity:"vending_machine",vending:"news_papers"},replace:{amenity:"vending_machine",vending:"newspapers"}},{old:{amenity:"winery"},replace:{craft:"winery"}},{old:{amenity:"youth_center"},replace:{amenity:"community_centre","community_centre:for":"juvenile"}},{old:{amenity:"youth_centre"},replace:{amenity:"community_centre","community_centre:for":"juvenile"}},{old:{artwork:"*"},replace:{artwork_type:"$1"}},{old:{"artwork:type":"*"},replace:{artwork_type:"$1"}},{old:{attraction:"ferris_wheel"},replace:{attraction:"big_wheel"}},{old:{barrier:"curb"},replace:{barrier:"kerb"}},{old:{barrier:"embankment"},replace:{man_made:"embankment"}},{old:{barrier:"wire_fence"},replace:{barrier:"fence",fence_type:"wire"}},{old:{barrier:"wood_fence"},replace:{barrier:"fence",fence_type:"wood"}},{old:{building:"entrance"},replace:{entrance:"*"}},{old:{building:"family_house"},replace:{building:"house"}},{old:{building:"home"},replace:{building:"house"}},{old:{building:"household"},replace:{building:"house"}},{old:{"building:color":"*"},replace:{"building:colour":"$1"}},{old:{"building:roof:colour":"*"},replace:{"roof:colour":"$1"}},{old:{"building:type":"*"},replace:{building:"$1"}},{old:{camp_site:"camp_pitch"},replace:{tourism:"camp_pitch"}},{old:{color:"*"},replace:{colour:"$1"}},{old:{craft:"glass"},replace:{craft:"glaziery"}},{old:{craft:"catering"},replace:{craft:"caterer"}},{old:{craft:"sculpter"},replace:{craft:"sculptor"}},{old:{crossing:"zebra"},replace:{crossing:"marked"}},{old:{cuisine:"gluten-free"},replace:{"diet:gluten_free":"*"}},{old:{cuisine:"halal"},replace:{"diet:halal":"*"}},{old:{cuisine:"kosher"},replace:{"diet:kosher":"*"}},{old:{cuisine:"vegan"},replace:{"diet:vegan":"*"}},{old:{cuisine:"vegetarian"},replace:{"diet:vegetarian":"*"}},{old:{curb:"*"},replace:{kerb:"$1"}},{old:{drinkable:"*"},replace:{drinking_water:"$1"}},{old:{dropped_kerb:"*"},replace:{kerb:"lowered"}},{old:{escalator:"*"},replace:{highway:"steps",conveying:"$1"}},{old:{fee:"0"},replace:{fee:"no"}},{old:{fee:"free"},replace:{fee:"no"}},{old:{fee:"Free"},replace:{fee:"no"}},{old:{fee:"No"},replace:{fee:"no"}},{old:{fee:"none"},replace:{fee:"no"}},{old:{fee:"some"},replace:{fee:"yes"}},{old:{fee:"Yes"},replace:{fee:"yes"}},{old:{fenced:"yes"},replace:{barrier:"fence"}},{old:{FIXME:"*"},replace:{fixme:"$1"}},{old:{footway:"both"},replace:{sidewalk:"both"}},{old:{footway:"crossing",highway:"cycleway"},replace:{cycleway:"crossing",highway:"cycleway"}},{old:{footway:"left"},replace:{sidewalk:"left"}},{old:{footway:"no"},replace:{sidewalk:"no"}},{old:{footway:"none"},replace:{sidewalk:"no"}},{old:{footway:"right"},replace:{sidewalk:"right"}},{old:{footway:"separate"},replace:{sidewalk:"separate"}},{old:{"generator:source":"photovoltaic"},replace:{"generator:source":"solar","generator:method":"photovoltaic"}},{old:{highway:"abandoned"},replace:{"abandoned:highway":"*"}},{old:{highway:"bridleway",horse:"no"},replace:{highway:"path",horse:"no"}},{old:{highway:"cycleway",bicycle:"no"},replace:{highway:"path",bicycle:"no"}},{old:{highway:"footway",foot:"no"},replace:{highway:"path",foot:"no"}},{old:{highway:"ford"},replace:{ford:"*"}},{old:{highway:"no"}},{old:{highway:"platform"},replace:{bus:"yes",public_transport:"platform"}},{old:{highway:"stile"},replace:{barrier:"stile"}},{old:{highway:"unsurfaced"},replace:{highway:"road",surface:"unpaved"}},{old:{internet_access:"public"},replace:{internet_access:"yes","internet_access:fee":"no"}},{old:{internet_access:"wifi"},replace:{internet_access:"wlan"}},{old:{"internet_access:fee":"0"},replace:{"internet_access:fee":"no"}},{old:{"internet_access:fee":"free"},replace:{"internet_access:fee":"no"}},{old:{"internet_access:fee":"Free"},replace:{"internet_access:fee":"no"}},{old:{"internet_access:fee":"No"},replace:{"internet_access:fee":"no"}},{old:{"internet_access:name":"*"},replace:{"internet_access:ssid":"$1"}},{old:{"internet_access:type":"*"},replace:{internet_access:"$1"}},{old:{kerb:"dropped"},replace:{kerb:"lowered"}},{old:{kerb:"flat"},replace:{kerb:"flush"}},{old:{landuse:"basin"},replace:{natural:"water",water:"basin"}},{old:{landuse:"conservation"},replace:{boundary:"protected_area"}},{old:{landuse:"farm"},replace:{landuse:"farmland"}},{old:{landuse:"field"},replace:{landuse:"farmland"}},{old:{landuse:"pond"},replace:{natural:"water",water:"pond"}},{old:{landuse:"port"},replace:{landuse:"industrial",industrial:"port"}},{old:{landuse:"reservoir"},replace:{natural:"water",water:"reservoir"}},{old:{landuse:"wood"},replace:{natural:"wood"}},{old:{lawyer:"notary"},replace:{office:"notary"}},{old:{leisure:"beach"},replace:{natural:"beach"}},{old:{leisure:"club"},replace:{club:"*"}},{old:{leisure:"ice_rink",sport:"hockey"},replace:{leisure:"ice_rink",sport:"ice_hockey"}},{old:{leisure:"ice_rink",sport:"skating"},replace:{leisure:"ice_rink",sport:"ice_skating"}},{old:{leisure:"social_club"},replace:{club:"*"}},{old:{leisure:"video_arcade"},replace:{leisure:"amusement_arcade"}},{old:{leisure:"recreation_ground"},replace:{landuse:"recreation_ground"}},{old:{man_made:"cut_line"},replace:{man_made:"cutline"}},{old:{man_made:"jetty"},replace:{highway:"footway",man_made:"pier"}},{old:{man_made:"mdf"},replace:{telecom:"exchange"}},{old:{man_made:"MDF"},replace:{telecom:"exchange"}},{old:{man_made:"fuel_storage_tank"},replace:{man_made:"storage_tank",content:"fuel"}},{old:{man_made:"oil_tank"},replace:{man_made:"storage_tank",content:"oil"}},{old:{man_made:"wastewater_tank"},replace:{man_made:"storage_tank",content:"wastewater"}},{old:{man_made:"water_tank"},replace:{man_made:"storage_tank",content:"water"}},{old:{man_made:"well"},replace:{man_made:"water_well"}},{old:{man_made:"winery"},replace:{craft:"winery"}},{old:{memorial:"plate"},replace:{memorial:"plaque"}},{old:{mining_resource:"*"},replace:{resource:"$1"}},{old:{natural:"marsh"},replace:{natural:"wetland",wetland:"marsh"}},{old:{natural:"waterfall"},replace:{waterway:"waterfall"}},{old:{NOTE:"*"},replace:{note:"$1"}},{old:{nosquare:"*"},replace:{nonsquare:"$1"}},{old:{office:"administrative"},replace:{office:"government"}},{old:{office:"real_estate"},replace:{office:"estate_agent"}},{old:{oneway:"1"},replace:{oneway:"yes"}},{old:{oneway:"alternate"},replace:{oneway:"alternating"}},{old:{oneway:"no;yes"}},{old:{oneway:"unknown"}},{old:{place_name:"*"},replace:{name:"$1"}},{old:{pole:"transition"},replace:{"location:transition":"yes"}},{old:{postcode:"*"},replace:{"addr:postcode":"$1"}},{old:{power:"busbar"},replace:{power:"line",line:"busbar"}},{old:{power:"line",location:"underground"},replace:{power:"cable",location:"underground"}},{old:{power:"sub_station"},replace:{power:"substation"}},{old:{power:"substation",location:"kiosk"},replace:{power:"substation",man_made:"street_cabinet",street_cabinet:"power"}},{old:{power:"underground_cable"},replace:{power:"cable",location:"underground"}},{old:{power_source:"*"},replace:{"generator:source":"$1"}},{old:{power_rating:"*"},replace:{"generator:output":"$1"}},{old:{recommended_speed:"*"},replace:{"maxspeed:advisory":"$1"}},{old:{"recommended_speed:backward":"*"},replace:{"maxspeed:advisory:backward":"$1"}},{old:{"recommended_speed:forward":"*"},replace:{"maxspeed:advisory:forward":"$1"}},{old:{religion:"catholic"},replace:{religion:"christian",denomination:"catholic"}},{old:{reservations:"*"},replace:{reservation:"$1"}},{old:{"roof:color":"*"},replace:{"roof:colour":"$1"}},{old:{route:"ncn"},replace:{route:"bicycle",network:"ncn"}},{old:{shop:"adult"},replace:{shop:"erotic"}},{old:{shop:"antique"},replace:{shop:"antiques"}},{old:{shop:"army_surplus"},replace:{shop:"military_surplus"}},{old:{shop:"auto_parts"},replace:{shop:"car_parts"}},{old:{shop:"baby"},replace:{shop:"baby_goods"}},{old:{shop:"baby_care"},replace:{shop:"baby_goods"}},{old:{shop:"bags"},replace:{shop:"bag"}},{old:{shop:"bail_bond"},replace:{office:"bail_bond_agent"}},{old:{shop:"bail_bonds"},replace:{office:"bail_bond_agent"}},{old:{shop:"betting"},replace:{shop:"bookmaker"}},{old:{shop:"boutique"},replace:{shop:"clothes"}},{old:{shop:"cafe"},replace:{amenity:"cafe"}},{old:{shop:"dive"},replace:{shop:"scuba_diving"}},{old:{shop:"fashion"},replace:{shop:"clothes"}},{old:{shop:"fish"},replace:{shop:"seafood"}},{old:{shop:"fishmonger"},replace:{shop:"seafood"}},{old:{shop:"furnace"},replace:{shop:"fireplace"}},{old:{shop:"gallery"},replace:{shop:"art"}},{old:{shop:"jewellery"},replace:{shop:"jewelry"}},{old:{shop:"lingerie"},replace:{shop:"clothes",clothes:"underwear"}},{old:{shop:"luggage"},replace:{shop:"bag"}},{old:{shop:"money_transfer"},replace:{amenity:"money_transfer"}},{old:{shop:"moneylender"},replace:{shop:"money_lender"}},{old:{shop:"organic"},replace:{shop:"supermarket",organic:"only"}},{old:{shop:"perfume"},replace:{shop:"perfumery"}},{old:{shop:"real_estate"},replace:{office:"estate_agent"}},{old:{shop:"tickets"},replace:{shop:"ticket"}},{old:{shop:"underwear"},replace:{shop:"clothes",clothes:"underwear"}},{old:{shop:"winery"},replace:{craft:"winery"}},{old:{sloped_curb:"0"},replace:{kerb:"flush"}},{old:{sloped_curb:"0.00"},replace:{kerb:"flush"}},{old:{sloped_curb:"0.01"},replace:{kerb:"lowered","kerb:height":"1 cm"}},{old:{sloped_curb:"0.02"},replace:{kerb:"lowered","kerb:height":"2 cm"}},{old:{sloped_curb:"0.03"},replace:{kerb:"lowered","kerb:height":"3 cm"}},{old:{sloped_curb:"at_grade"},replace:{kerb:"flush"}},{old:{sloped_curb:"both"},replace:{kerb:"lowered"}},{old:{sloped_curb:"flush"},replace:{kerb:"flush"}},{old:{sloped_curb:"low"},replace:{kerb:"lowered"}},{old:{sloped_curb:"no"},replace:{kerb:"raised"}},{old:{sloped_curb:"yes"},replace:{kerb:"lowered"}},{old:{speed_limit:"*"},replace:{maxspeed:"$1"}},{old:{speedlimit:"*"},replace:{maxspeed:"$1"}},{old:{SpeedLimit:"*"},replace:{maxspeed:"$1"}},{old:{SPEEDLIMIT:"*"},replace:{maxspeed:"$1"}},{old:{sport:"horse_shoes"},replace:{sport:"horseshoes"}},{old:{sport:"horseshoe"},replace:{sport:"horseshoes"}},{old:{sport:"shuffle_board"},replace:{sport:"shuffleboard"}},{old:{sustenance:"bar"},replace:{amenity:"bar"}},{old:{sustenance:"cafe"},replace:{amenity:"cafe"}},{old:{sustenance:"pub"},replace:{amenity:"pub"}},{old:{sustenance:"restaurant"},replace:{amenity:"restaurant"}},{old:{"theatre:type":"amphitheatre"},replace:{"theatre:type":"amphi"}},{old:{todo:"*"},replace:{fixme:"$1"}},{old:{TODO:"*"},replace:{fixme:"$1"}},{old:{"toilets:disposal":"longdrop"},replace:{"toilets:disposal":"pitlatrine"}},{old:{"toilets:disposal":"pit_latrine"},replace:{"toilets:disposal":"pitlatrine"}},{old:{tourism:"bed_and_breakfast"},replace:{tourism:"guest_house",guest_house:"bed_and_breakfast"}},{old:{"tower:type":"power"},replace:{power:"tower"}},{old:{type:"broad_leaved"},replace:{leaf_type:"broadleaved"}},{old:{type:"conifer"},replace:{leaf_type:"needleleaved"}},{old:{type:"deciduous"},replace:{leaf_cycle:"deciduous"}},{old:{unnamed:"*"},replace:{noname:"$1"}},{old:{water:"intermittent"},replace:{natural:"water",intermittent:"yes"}},{old:{water:"riverbank"},replace:{natural:"water",water:"river"}},{old:{water:"salt"},replace:{natural:"water",salt:"yes"}},{old:{water:"tidal"},replace:{natural:"water",tidal:"yes"}},{old:{waterway:"aqueduct"},replace:{waterway:"canal",bridge:"aqueduct"}},{old:{waterway:"lock"},replace:{waterway:"canal",lock:"yes"}},{old:{waterway:"riverbank"},replace:{natural:"water",water:"river"}},{old:{wifi:"yes"},replace:{internet_access:"wlan"}},{old:{wifi:"free"},replace:{internet_access:"wlan","internet_access:fee":"no"}},{old:{wood:"coniferous"},replace:{leaf_type:"needleleaved"}},{old:{wood:"deciduous"},replace:{leaf_cycle:"deciduous"}},{old:{wood:"evergreen"},replace:{leaf_cycle:"evergreen"}},{old:{wood:"mixed"},replace:{leaf_cycle:"mixed",leaf_type:"mixed"}}];
+
+       var dataDiscarded = {created_by:true,odbl:true,"odbl:note":true,"tiger:upload_uuid":true,"tiger:tlid":true,"tiger:source":true,"tiger:separated":true,"geobase:datasetName":true,"geobase:uuid":true,"osmarender:nameDirection":true,"osmarender:renderName":true,"osmarender:renderRef":true,"osmarender:rendernames":true,"sub_sea:type":true,"KSJ2:ADS":true,"KSJ2:ARE":true,"KSJ2:AdminArea":true,"KSJ2:COP_label":true,"KSJ2:DFD":true,"KSJ2:INT":true,"KSJ2:INT_label":true,"KSJ2:LOC":true,"KSJ2:LPN":true,"KSJ2:OPC":true,"KSJ2:PubFacAdmin":true,"KSJ2:RAC":true,"KSJ2:RAC_label":true,"KSJ2:RIC":true,"KSJ2:RIN":true,"KSJ2:WSC":true,"KSJ2:coordinate":true,"KSJ2:curve_id":true,"KSJ2:curve_type":true,"KSJ2:filename":true,"KSJ2:lake_id":true,"KSJ2:lat":true,"KSJ2:long":true,"KSJ2:river_id":true,"SK53_bulk:load":true,"yh:LINE_NAME":true,"yh:LINE_NUM":true,"yh:STRUCTURE":true,"yh:TOTYUMONO":true,"yh:TYPE":true,"yh:WIDTH":true,"yh:WIDTH_RANK":true};
+
+       var dataLocales = {af:{rtl:false},ar:{rtl:true},"ar-AA":{rtl:true},ast:{rtl:false},be:{rtl:false},bg:{rtl:false},bn:{rtl:false},bs:{rtl:false},ca:{rtl:false},ckb:{rtl:true},cs:{rtl:false},cy:{rtl:false},da:{rtl:false},de:{rtl:false},dv:{rtl:true},el:{rtl:false},"en-AU":{rtl:false},"en-GB":{rtl:false},eo:{rtl:false},es:{rtl:false},et:{rtl:false},eu:{rtl:false},fa:{rtl:true},fi:{rtl:false},fr:{rtl:false},gan:{rtl:false},gl:{rtl:false},gu:{rtl:false},he:{rtl:true},hi:{rtl:false},hr:{rtl:false},hu:{rtl:false},hy:{rtl:false},ia:{rtl:false},id:{rtl:false},is:{rtl:false},it:{rtl:false},ja:{rtl:false},jv:{rtl:false},km:{rtl:false},kn:{rtl:false},ko:{rtl:false},ku:{rtl:false},lij:{rtl:false},lt:{rtl:false},lv:{rtl:false},mg:{rtl:false},mk:{rtl:false},ml:{rtl:false},mn:{rtl:false},ms:{rtl:false},ne:{rtl:false},nl:{rtl:false},nn:{rtl:false},no:{rtl:false},nv:{rtl:false},pap:{rtl:false},pl:{rtl:false},pt:{rtl:false},"pt-BR":{rtl:false},rm:{rtl:false},ro:{rtl:false},ru:{rtl:false},sc:{rtl:false},si:{rtl:false},sk:{rtl:false},sl:{rtl:false},so:{rtl:false},sq:{rtl:false},sr:{rtl:false},sv:{rtl:false},ta:{rtl:false},te:{rtl:false},th:{rtl:false},tl:{rtl:false},tr:{rtl:false},uk:{rtl:false},ur:{rtl:true},vi:{rtl:false},yue:{rtl:false},zh:{rtl:false},"zh-CN":{rtl:false},"zh-HK":{rtl:false},"zh-TW":{rtl:false}};
+
+       var dataPhoneFormats = {ag:"+1-268-555-1234",ai:"+1-264-555-1234",as:"+1-684-555-1234",at:"+43 1 123 45 67",bb:"+1-246-555-1234",bj:"+229 20 12 34 56",bm:"+1-441-555-1234",br:"+55 11 0982 1098",bs:"+1-242-555-1234",ca:"+1-226-555-1234",ci:"+225 20 12 34 56",cn:"+86 10 12345678",de:"+49 89 1234567",dm:"+1-767-555-1234","do":"+1-809-555-1234",es:"+34 989 12 34 56",fi:"+358 40 123 4567",fr:"+33 1 23 45 67 89",gb:"+44 1632 961234",gd:"+1-473-555-1234",gg:"+44 1632 961234",gu:"+1-671-555-1234",hk:"+852 1234 5678",hr:"+385 01 123 4567",hu:"+36 1 123 45 67",ie:"+353 20 912 3456",im:"+44 1632 961234",it:"+39 01 123 456",je:"+44 1632 961234",jm:"+1-876-555-1234",kn:"+1-869-555-1234",ky:"+1-345-555-1234",kz:"+7 495 1234567",lc:"+1-758-555-1234",mp:"+1-670-555-1234",ms:"+1-664-555-1234",nl:"+31 42 123 4567",no:"+47 22 12 34 56",pl:"+48 42 123 4567",pr:"+1-787-555-1234",pt:"+351 211 123456",ru:"+7 495 1234567",se:"+46 31 123 4567",si:"+386 31 123 4567",sj:"+47 22 12 34 56",sx:"+1-721-555-1234",tc:"+1-649-555-1234",tr:"+90 312 123 4567",tt:"+1-868-555-1234",tw:"+886 1 2345 6789",ua:"+380 44 123 4567",us:"+1-202-555-1234",va:"+39 01 123 456",vc:"+1-784-555-1234",vg:"+1-284-555-1234",vi:"+1-340-555-1234",vn:"+84 1 234 5678",za:"+27 11 907 1111"};
+
+       var dataShortcuts = [{tab:"browsing",text:"shortcuts.browsing.title",columns:[{rows:[{section:"navigation",text:"shortcuts.browsing.navigation.title"},{shortcuts:["↓","↑","←","→"],text:"shortcuts.browsing.navigation.pan",separator:","},{modifiers:["⌘"],shortcuts:["↓","↑","←","→"],text:"shortcuts.browsing.navigation.pan_more",separator:","},{shortcuts:["+","-"],text:"shortcuts.browsing.navigation.zoom",separator:","},{modifiers:["⌘"],shortcuts:["+","-"],text:"shortcuts.browsing.navigation.zoom_more",separator:","},{section:"help",text:"shortcuts.browsing.help.title"},{shortcuts:["help.key"],text:"shortcuts.browsing.help.help"},{shortcuts:["shortcuts.toggle.key","?"],text:"shortcuts.browsing.help.keyboard"},{section:"display_options",text:"shortcuts.browsing.display_options.title"},{shortcuts:["background.key"],text:"shortcuts.browsing.display_options.background"},{modifiers:["⌘"],shortcuts:["background.key"],text:"shortcuts.browsing.display_options.background_switch"},{shortcuts:["map_data.key"],text:"shortcuts.browsing.display_options.map_data"},{modifiers:["⌃","⌘"],shortcuts:["F","F11"],text:"shortcuts.browsing.display_options.fullscreen"},{shortcuts:["sidebar.key","`","²"],text:"shortcuts.browsing.display_options.sidebar"},{shortcuts:["area_fill.wireframe.key"],text:"shortcuts.browsing.display_options.wireframe"},{modifiers:["⌥"],shortcuts:["area_fill.wireframe.key"],text:"shortcuts.browsing.display_options.osm_data"},{shortcuts:["background.minimap.key"],text:"shortcuts.browsing.display_options.minimap"}]},{rows:[{section:"selecting",text:"shortcuts.browsing.selecting.title"},{shortcuts:["Left-click"],text:"shortcuts.browsing.selecting.select_one"},{modifiers:["⇧"],shortcuts:["Left-click"],text:"shortcuts.browsing.selecting.select_multi"},{modifiers:["⇧"],shortcuts:["Left-click"],gesture:"shortcuts.gesture.drag",text:"shortcuts.browsing.selecting.lasso"},{modifiers:["⌘"],shortcuts:["F"],text:"shortcuts.browsing.selecting.search"},{section:"with_selected",text:"shortcuts.browsing.with_selected.title"},{shortcuts:["Right-click","shortcuts.key.space"],text:"shortcuts.browsing.with_selected.edit_menu"},{shortcuts:["inspector.zoom_to.key"],text:"shortcuts.browsing.with_selected.zoom_to"},{section:"vertex_selected",text:"shortcuts.browsing.vertex_selected.title"},{shortcuts:["[","↖"],text:"shortcuts.browsing.vertex_selected.previous"},{shortcuts:["]","↘"],text:"shortcuts.browsing.vertex_selected.next"},{shortcuts:["{","⇞"],text:"shortcuts.browsing.vertex_selected.first"},{shortcuts:["}","⇟"],text:"shortcuts.browsing.vertex_selected.last"},{shortcuts:["\\","shortcuts.key.pause"],text:"shortcuts.browsing.vertex_selected.change_parent"}]}]},{tab:"editing",text:"shortcuts.editing.title",columns:[{rows:[{section:"drawing",text:"shortcuts.editing.drawing.title"},{shortcuts:["modes.add_feature.key"],text:"shortcuts.editing.drawing.focus_add_feature"},{shortcuts:["1","2","3"],text:"shortcuts.editing.drawing.add_favorite",separator:",",suffix:"…"},{shortcuts:["modes.add_note.key"],text:"shortcuts.editing.drawing.add_note"},{shortcuts:["Left-click","shortcuts.key.space"],text:"shortcuts.editing.drawing.place_point"},{shortcuts:["⌥"],text:"shortcuts.editing.drawing.disable_snap"},{shortcuts:["↵","⎋"],text:"shortcuts.editing.drawing.stop_line"},{section:"commands",text:"shortcuts.editing.commands.title"},{modifiers:["⌘"],shortcuts:["C"],text:"shortcuts.editing.commands.copy"},{modifiers:["⌘"],shortcuts:["V"],text:"shortcuts.editing.commands.paste"},{modifiers:["⌘"],shortcuts:["Z"],text:"shortcuts.editing.commands.undo"},{modifiers:["⌘","⇧"],shortcuts:["Z"],text:"shortcuts.editing.commands.redo"},{modifiers:["⌘"],shortcuts:["S"],text:"shortcuts.editing.commands.save"}]},{rows:[{section:"operations",text:"shortcuts.editing.operations.title"},{shortcuts:["operations.continue.key"],text:"shortcuts.editing.operations.continue_line"},{shortcuts:["operations.merge.key"],text:"shortcuts.editing.operations.merge"},{shortcuts:["operations.disconnect.key"],text:"shortcuts.editing.operations.disconnect"},{shortcuts:["operations.extract.key"],text:"shortcuts.editing.operations.extract"},{shortcuts:["operations.split.key"],text:"shortcuts.editing.operations.split"},{shortcuts:["operations.reverse.key"],text:"shortcuts.editing.operations.reverse"},{shortcuts:["operations.move.key"],text:"shortcuts.editing.operations.move"},{shortcuts:["operations.rotate.key"],text:"shortcuts.editing.operations.rotate"},{shortcuts:["operations.orthogonalize.key"],text:"shortcuts.editing.operations.orthogonalize"},{shortcuts:["operations.straighten.key"],text:"shortcuts.editing.operations.straighten"},{shortcuts:["operations.circularize.key"],text:"shortcuts.editing.operations.circularize"},{shortcuts:["operations.reflect.key.long"],text:"shortcuts.editing.operations.reflect_long"},{shortcuts:["operations.reflect.key.short"],text:"shortcuts.editing.operations.reflect_short"},{modifiers:["⌘"],shortcuts:["⌫"],text:"shortcuts.editing.operations.delete"}]}]},{tab:"tools",text:"shortcuts.tools.title",columns:[{rows:[{section:"info",text:"shortcuts.tools.info.title"},{modifiers:["⌘"],shortcuts:["info_panels.key"],text:"shortcuts.tools.info.all"},{modifiers:["⌘","⇧"],shortcuts:["info_panels.background.key"],text:"shortcuts.tools.info.background"},{modifiers:["⌘","⇧"],shortcuts:["info_panels.history.key"],text:"shortcuts.tools.info.history"},{modifiers:["⌘","⇧"],shortcuts:["info_panels.location.key"],text:"shortcuts.tools.info.location"},{modifiers:["⌘","⇧"],shortcuts:["info_panels.measurement.key"],text:"shortcuts.tools.info.measurement"}]}]}];
+
+       var type$1 = "FeatureCollection";
+       var features = [{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[1.97754,51.13111],[1.8457,63.45051],[-10.45898,57.01681],[-6.82251,55.26503],[-7.25583,55.06525],[-7.26546,55.0665],[-7.26992,55.06419],[-7.2725,55.06346],[-7.27818,55.05362],[-7.2893,55.04735],[-7.29939,55.0561],[-7.31835,55.04475],[-7.3447,55.05079],[-7.38831,55.02389],[-7.40547,55.00292],[-7.39157,54.99507],[-7.40075,54.98892],[-7.40706,54.98291],[-7.40363,54.97963],[-7.40633,54.97813],[-7.39835,54.97013],[-7.40745,54.96357],[-7.40178,54.95961],[-7.40727,54.95515],[-7.3944,54.94376],[-7.44444,54.93858],[-7.45216,54.89793],[-7.44204,54.87532],[-7.4713,54.83431],[-7.48092,54.83093],[-7.49216,54.82185],[-7.55121,54.79054],[-7.5443,54.78609],[-7.54958,54.75653],[-7.5349,54.74917],[-7.54881,54.74068],[-7.55941,54.74556],[-7.57894,54.74221],[-7.57507,54.7494],[-7.58606,54.75039],[-7.58872,54.74377],[-7.60031,54.74603],[-7.60632,54.74405],[-7.61662,54.74459],[-7.63593,54.75108],[-7.68854,54.72968],[-7.72064,54.72155],[-7.75094,54.70469],[-7.79094,54.71942],[-7.8051,54.71932],[-7.83497,54.73632],[-7.85419,54.72745],[-7.91496,54.67582],[-7.90174,54.66182],[-7.83832,54.63401],[-7.7433,54.6188],[-7.70863,54.63485],[-7.70682,54.6189],[-7.69386,54.6188],[-7.69631,54.61125],[-7.75845,54.59509],[-7.78708,54.58],[-7.79446,54.58141],[-7.79969,54.57704],[-7.79673,54.56915],[-7.8184,54.56315],[-7.83334,54.55227],[-7.82737,54.54299],[-7.85007,54.53363],[-7.90741,54.53722],[-7.93213,54.53388],[-8.00487,54.54568],[-8.03727,54.51162],[-8.04285,54.48759],[-8.08027,54.48829],[-8.09988,54.48395],[-8.09126,54.4765],[-8.111,54.47807],[-8.11512,54.46904],[-8.16542,54.46914],[-8.1776,54.46485],[-8.14293,54.45003],[-8.16284,54.4413],[-8.08731,54.4002],[-8.06062,54.37051],[-8.03289,54.35711],[-8.00054,54.34835],[-7.93333,54.30561],[-7.85849,54.29151],[-7.87067,54.28794],[-7.87265,54.26648],[-7.86123,54.25931],[-7.85917,54.21256],[-7.71043,54.20307],[-7.70193,54.20776],[-7.68828,54.202],[-7.67644,54.18906],[-7.66082,54.1871],[-7.62554,54.16545],[-7.62541,54.15319],[-7.61026,54.14353],[-7.57421,54.14142],[-7.57181,54.13287],[-7.56228,54.12704],[-7.51379,54.12998],[-7.47944,54.122],[-7.47169,54.12665],[-7.47075,54.13318],[-7.44684,54.15168],[-7.40792,54.156],[-7.42579,54.14092],[-7.41903,54.13629],[-7.3744,54.14172],[-7.37234,54.13881],[-7.39509,54.12624],[-7.39182,54.12017],[-7.36341,54.13157],[-7.34518,54.11577],[-7.32471,54.12123],[-7.32003,54.11379],[-7.3078,54.11718],[-7.30548,54.12347],[-7.31591,54.12697],[-7.31213,54.13162],[-7.3187,54.13411],[-7.31857,54.13745],[-7.32222,54.13836],[-7.32737,54.13544],[-7.3399,54.14585],[-7.30827,54.16716],[-7.30024,54.16625],[-7.29029,54.1715],[-7.28158,54.16839],[-7.2863,54.14919],[-7.29874,54.14904],[-7.30162,54.14411],[-7.28411,54.13971],[-7.29192,54.13071],[-7.29737,54.133],[-7.30883,54.13242],[-7.30333,54.12251],[-7.29218,54.11929],[-7.27844,54.12282],[-7.27707,54.12986],[-7.26613,54.13624],[-7.2566,54.16354],[-7.24015,54.17125],[-7.2575,54.17678],[-7.2581,54.19257],[-7.25179,54.19403],[-7.23608,54.1935],[-7.23338,54.19792],[-7.24317,54.20076],[-7.24892,54.1977],[-7.25183,54.20201],[-7.24119,54.20623],[-7.23094,54.20578],[-7.23269,54.20912],[-7.22188,54.21607],[-7.20643,54.2117],[-7.18506,54.22485],[-7.17055,54.21742],[-7.14721,54.22488],[-7.14633,54.23008],[-7.15051,54.23165],[-7.14613,54.23983],[-7.15802,54.24434],[-7.13985,54.25298],[-7.15255,54.26235],[-7.16064,54.27405],[-7.17991,54.27144],[-7.17201,54.28627],[-7.21252,54.2985],[-7.19888,54.31117],[-7.17918,54.30946],[-7.1812,54.3397],[-7.15339,54.33514],[-7.10253,54.35811],[-7.10811,54.36677],[-7.06927,54.3899],[-7.05593,54.41056],[-7.02898,54.42135],[-7.00198,54.40832],[-6.98683,54.40829],[-6.97562,54.40014],[-6.96774,54.40145],[-6.90682,54.36966],[-6.89772,54.35075],[-6.87527,54.33853],[-6.86512,54.32568],[-6.85163,54.29137],[-6.87452,54.28677],[-6.87791,54.27918],[-6.86673,54.27522],[-6.85177,54.26489],[-6.83693,54.26658],[-6.82165,54.24346],[-6.81633,54.22299],[-6.80045,54.22108],[-6.80122,54.21338],[-6.77599,54.19965],[-6.75573,54.1987],[-6.74316,54.18258],[-6.73406,54.18566],[-6.72445,54.18127],[-6.70295,54.20036],[-6.69166,54.20018],[-6.68673,54.19398],[-6.669,54.19584],[-6.65248,54.18102],[-6.6433,54.17801],[-6.63467,54.16449],[-6.63179,54.14766],[-6.64081,54.14238],[-6.63935,54.13599],[-6.66149,54.1205],[-6.6481,54.10153],[-6.66119,54.0934],[-6.66458,54.06629],[-6.64681,54.05873],[-6.62501,54.03737],[-6.59291,54.04755],[-6.58905,54.05808],[-6.5597,54.0481],[-6.52897,54.05888],[-6.50442,54.05566],[-6.47824,54.07004],[-6.47919,54.07762],[-6.43601,54.05959],[-6.36314,54.07057],[-6.36589,54.09338],[-6.36293,54.09758],[-6.37104,54.11497],[-6.3522,54.11084],[-6.34242,54.1114],[-6.33589,54.10833],[-6.33636,54.09469],[-6.31808,54.09096],[-6.30903,54.10463],[-6.29165,54.11235],[-6.28246,54.11145],[-6.26272,54.09786],[-5.35583,53.72597],[-7.0752,49.23912],[-1.83472,49.02346],[-2.12036,49.94415],[1.97754,51.13111]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-65.2,18.7],[-65,16.3],[-63.7,19.2],[-65.2,18.7]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-63,-50.5],[-55,-51],[-60,-54],[-63,-50.5]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-139.19952,60.08402],[-141,60.30621],[-141,76],[-169,68.63655],[-169,65.20147],[-180,61],[-180,-4],[-154,9],[-133.76404,54.54021],[-130.73868,54.71986],[-129.96277,55.29163],[-130.15228,55.7758],[-130.01787,55.90688],[-130.00362,56.00798],[-130.10284,56.12336],[-130.24498,56.09656],[-130.42625,56.14249],[-131.87439,56.79787],[-135.02884,59.56285],[-135.11759,59.62306],[-135.15827,59.6261],[-135.47928,59.79822],[-136.28677,59.57955],[-136.30531,59.46462],[-136.36836,59.44898],[-136.47697,59.46558],[-137.19727,59.01935],[-139.19952,60.08402]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-111.96064,48.99841],[-121.22623,49.00049],[-122.26513,49.00246],[-122.7565,49.00208],[-123.32218,49.00218],[-122.97821,48.76524],[-123.2666,48.69821],[-123.21991,48.21186],[-125.80444,48.60749],[-124.32129,31.54109],[-117.125,32.53429],[-116.82417,32.55996],[-115.88036,32.63735],[-115.49738,32.66486],[-114.71984,32.71877],[-114.7649,32.64602],[-114.80885,32.60959],[-114.81481,32.49451],[-112.81743,31.88004],[-111.07481,31.33224],[-109.56051,31.33402],[-108.20847,31.33384],[-108.20838,31.78363],[-106.52847,31.78391],[-106.52781,31.78086],[-106.52249,31.77501],[-106.51249,31.76933],[-106.50988,31.7612],[-106.50709,31.76123],[-106.48896,31.74806],[-106.48473,31.74769],[-106.4719,31.75101],[-106.46816,31.75897],[-106.45434,31.76466],[-106.45035,31.76426],[-106.43516,31.75492],[-106.41484,31.75101],[-106.37864,31.73021],[-106.37225,31.71174],[-106.34924,31.69633],[-106.33289,31.66178],[-106.3068,31.62459],[-106.28079,31.56179],[-106.24775,31.54226],[-106.2329,31.49982],[-106.2105,31.46857],[-106.08201,31.39863],[-106.00554,31.39233],[-105.76401,31.17051],[-105.58548,31.06117],[-105.56419,30.98526],[-104.99153,30.6639],[-104.97162,30.60896],[-104.90639,30.57822],[-104.83772,30.38117],[-104.70177,30.20567],[-104.68048,29.92399],[-104.57611,29.77838],[-104.51157,29.63674],[-104.39758,29.57047],[-104.39278,29.55293],[-104.05769,29.32173],[-103.79883,29.2581],[-103.78196,29.26555],[-103.76759,29.22799],[-103.14102,28.93666],[-102.86087,29.2217],[-102.65076,29.79418],[-101.41068,29.73457],[-101.26511,29.51372],[-101.05997,29.452],[-101.04083,29.38038],[-100.96303,29.34735],[-100.94406,29.34369],[-100.94071,29.33351],[-100.92775,29.32663],[-100.89814,29.30957],[-100.87818,29.28086],[-100.80076,29.2238],[-100.76437,29.15981],[-100.67047,29.08663],[-100.6412,28.91299],[-100.63236,28.90255],[-100.61296,28.89939],[-100.534,28.75622],[-100.51495,28.74531],[-100.50705,28.7143],[-100.51203,28.70666],[-100.51014,28.69127],[-100.50048,28.66186],[-100.45547,28.6381],[-100.44697,28.60743],[-100.35599,28.45239],[-100.34946,28.39653],[-100.29488,28.31315],[-100.29591,28.27324],[-100.17197,28.17493],[-99.93645,27.9568],[-99.87722,27.80173],[-99.79671,27.73338],[-99.772,27.72532],[-99.74556,27.69979],[-99.71947,27.65981],[-99.5957,27.59974],[-99.54094,27.60537],[-99.53055,27.57973],[-99.52034,27.55782],[-99.52802,27.49773],[-99.50141,27.49986],[-99.48755,27.49518],[-99.47897,27.48421],[-99.48661,27.46453],[-99.49534,27.44861],[-99.48927,27.40941],[-99.53957,27.31565],[-99.43588,27.19678],[-99.46404,27.01968],[-99.16698,26.56039],[-99.17474,26.53939],[-99.12698,26.51958],[-99.1135,26.42954],[-99.08355,26.39625],[-99.06007,26.39737],[-99.03634,26.41255],[-99.02042,26.40598],[-99.01291,26.39364],[-98.95686,26.38641],[-98.9566,26.37365],[-98.94523,26.36949],[-98.90013,26.36419],[-98.89905,26.35454],[-98.80305,26.36626],[-98.78254,26.30511],[-98.66667,26.23457],[-98.58496,26.24647],[-98.57951,26.23434],[-98.56519,26.23987],[-98.56294,26.22464],[-98.50599,26.20858],[-98.44806,26.21236],[-98.38617,26.15721],[-98.34176,26.15278],[-98.33579,26.1388],[-98.30626,26.10003],[-98.28841,26.10512],[-98.26524,26.0914],[-98.19898,26.06411],[-98.09577,26.05698],[-98.07568,26.06667],[-98.08302,26.03396],[-97.9771,26.04136],[-97.9532,26.06179],[-97.81643,26.04475],[-97.77017,26.02439],[-97.73884,26.02902],[-97.5289,25.90648],[-97.52151,25.88625],[-97.50615,25.89031],[-97.49851,25.89903],[-97.49637,25.89641],[-97.49748,25.88008],[-97.49422,25.87981],[-97.48847,25.88564],[-97.46409,25.88174],[-97.42607,25.842],[-97.36856,25.8396],[-97.26231,25.94724],[-80.81543,24.00633],[-66.87378,44.77794],[-67.16148,45.16715],[-67.2286,45.16739],[-67.26246,45.18797],[-67.28311,45.19175],[-67.28959,45.18784],[-67.29332,45.17568],[-67.29049,45.17317],[-67.3001,45.16776],[-67.3025,45.16122],[-67.29761,45.14766],[-67.33975,45.1255],[-67.40524,45.16122],[-67.40387,45.17139],[-67.4818,45.27682],[-67.42172,45.38543],[-67.45262,45.41008],[-67.50498,45.4889],[-67.41623,45.50105],[-67.42219,45.55661],[-67.42902,45.56833],[-67.42331,45.57154],[-67.42498,45.57836],[-67.45193,45.60323],[-67.77981,45.6738],[-67.79019,47.06776],[-67.88006,47.1067],[-67.91319,47.14793],[-67.92598,47.15418],[-67.95181,47.1875],[-68.02374,47.23915],[-68.13017,47.29309],[-68.17669,47.32893],[-68.24046,47.35354],[-68.32809,47.36005],[-68.36363,47.35476],[-68.38054,47.34167],[-68.38509,47.30321],[-68.37367,47.28796],[-68.4377,47.28232],[-68.47916,47.29623],[-68.51074,47.29885],[-68.54593,47.28441],[-68.58408,47.28482],[-68.59777,47.27134],[-68.59271,47.25762],[-68.61889,47.24148],[-68.68936,47.24125],[-68.71768,47.23676],[-68.80128,47.21423],[-68.89629,47.17676],[-69.05354,47.24847],[-69.04924,47.41798],[-69.22425,47.45961],[-69.99729,46.69558],[-70.0569,46.4149],[-70.25551,46.10871],[-70.29001,46.09431],[-70.39919,45.80667],[-70.83229,45.40062],[-70.80794,45.37878],[-70.82663,45.2367],[-70.87538,45.23453],[-70.92138,45.28099],[-70.90645,45.30918],[-71.0109,45.34798],[-71.08429,45.30556],[-71.1454,45.24226],[-71.20525,45.25278],[-71.28925,45.30097],[-71.41405,45.23513],[-71.43044,45.12381],[-71.49692,45.06991],[-71.50623,45.04878],[-71.49284,45.03629],[-71.50027,45.01372],[-71.79359,45.01075],[-72.08774,45.00581],[-72.14155,45.00568],[-72.15282,45.00609],[-72.17142,45.00584],[-72.25847,45.00436],[-72.38795,45.00626],[-72.4496,45.00863],[-72.5356,45.00936],[-72.66257,45.01523],[-72.82537,45.01642],[-73.08466,45.01561],[-73.45219,45.00875],[-74.14699,44.99145],[-74.33753,44.9923],[-74.50786,44.99798],[-74.66158,44.99949],[-74.71244,44.99734],[-74.75887,44.98708],[-74.76368,45.00632],[-74.78977,45.00365],[-74.82376,45.01773],[-74.94186,44.98229],[-75.30098,44.83883],[-75.30304,44.82836],[-75.59418,44.6457],[-75.97269,44.33502],[-75.97295,44.34595],[-76.00059,44.34797],[-76.17645,44.2865],[-76.18744,44.22158],[-76.88782,43.82759],[-79.16851,43.32168],[-79.05487,43.25371],[-79.05092,43.169],[-79.04603,43.16093],[-79.04208,43.13942],[-79.07002,43.12038],[-79.06015,43.114],[-79.0568,43.10474],[-79.0774,43.07861],[-78.9996,43.05484],[-79.02311,43.02071],[-79.02552,42.99473],[-78.96235,42.9573],[-78.91188,42.9426],[-78.90398,42.89181],[-82.42767,41.47978],[-83.14316,42.03807],[-83.12805,42.23843],[-83.09715,42.29052],[-83.07252,42.31515],[-82.94575,42.34332],[-82.59676,42.5479],[-82.51368,42.61785],[-82.5108,42.66464],[-82.4675,42.76415],[-82.48055,42.80573],[-82.45497,42.9284],[-82.41334,42.97099],[-82.42596,42.99536],[-82.15851,43.39507],[-83.53729,46.098],[-83.96301,46.05036],[-84.11021,46.23851],[-84.09794,46.25656],[-84.11613,46.26878],[-84.11905,46.31516],[-84.10721,46.3218],[-84.14394,46.41076],[-84.11682,46.51576],[-84.13536,46.53218],[-84.16162,46.5284],[-84.21621,46.53891],[-84.26994,46.49189],[-84.36092,46.50997],[-84.55284,46.4407],[-84.95178,46.77185],[-89.59179,48.00307],[-89.67547,48.00371],[-90.87204,48.25943],[-91.41312,48.06753],[-92.99377,48.62474],[-93.34877,48.62604],[-93.35529,48.61124],[-93.37074,48.60584],[-93.39812,48.60369],[-93.40542,48.61089],[-93.43846,48.59478],[-93.46859,48.59205],[-93.45735,48.56667],[-93.46533,48.54593],[-93.64763,48.51751],[-93.80625,48.51888],[-93.80642,48.58047],[-93.83328,48.62582],[-93.84865,48.63064],[-93.93388,48.6326],[-94.01327,48.64471],[-94.16176,48.64697],[-94.25025,48.65463],[-94.24931,48.67827],[-94.26046,48.69816],[-94.30578,48.71073],[-94.32758,48.70433],[-94.36123,48.70478],[-94.38406,48.71135],[-94.41629,48.71067],[-94.44294,48.69266],[-94.53615,48.7024],[-94.55031,48.71419],[-94.58894,48.71928],[-94.69425,48.77938],[-94.70129,48.83376],[-94.68996,48.83953],[-94.68395,48.99914],[-111.96064,48.99841]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[180,55],[170,53],[180,49],[180,55]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[143,22],[147,22],[147,12],[143,12],[143,22]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-171.5,-10],[-171,-15],[-167,-15],[-171.5,-10]]]}}];
+       var dataImperial = {
+       type: type$1,
+       features: features
+       };
+
+       var type$2 = "FeatureCollection";
+       var features$1 = [{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[1.97754,51.13111],[1.8457,63.45051],[-10.45898,57.01681],[-6.82251,55.26503],[-7.25583,55.06525],[-7.26546,55.0665],[-7.26992,55.06419],[-7.2725,55.06346],[-7.27818,55.05362],[-7.2893,55.04735],[-7.29939,55.0561],[-7.31835,55.04475],[-7.3447,55.05079],[-7.38831,55.02389],[-7.40547,55.00292],[-7.39157,54.99507],[-7.40075,54.98892],[-7.40706,54.98291],[-7.40363,54.97963],[-7.40633,54.97813],[-7.39835,54.97013],[-7.40745,54.96357],[-7.40178,54.95961],[-7.40727,54.95515],[-7.3944,54.94376],[-7.44444,54.93858],[-7.45216,54.89793],[-7.44204,54.87532],[-7.4713,54.83431],[-7.48092,54.83093],[-7.49216,54.82185],[-7.55121,54.79054],[-7.5443,54.78609],[-7.54958,54.75653],[-7.5349,54.74917],[-7.54881,54.74068],[-7.55941,54.74556],[-7.57894,54.74221],[-7.57507,54.7494],[-7.58606,54.75039],[-7.58872,54.74377],[-7.60031,54.74603],[-7.60632,54.74405],[-7.61662,54.74459],[-7.63593,54.75108],[-7.68854,54.72968],[-7.72064,54.72155],[-7.75094,54.70469],[-7.79094,54.71942],[-7.8051,54.71932],[-7.83497,54.73632],[-7.85419,54.72745],[-7.91496,54.67582],[-7.90174,54.66182],[-7.83832,54.63401],[-7.7433,54.6188],[-7.70863,54.63485],[-7.70682,54.6189],[-7.69386,54.6188],[-7.69631,54.61125],[-7.75845,54.59509],[-7.78708,54.58],[-7.79446,54.58141],[-7.79969,54.57704],[-7.79673,54.56915],[-7.8184,54.56315],[-7.83334,54.55227],[-7.82737,54.54299],[-7.85007,54.53363],[-7.90741,54.53722],[-7.93213,54.53388],[-8.00487,54.54568],[-8.03727,54.51162],[-8.04285,54.48759],[-8.08027,54.48829],[-8.09988,54.48395],[-8.09126,54.4765],[-8.111,54.47807],[-8.11512,54.46904],[-8.16542,54.46914],[-8.1776,54.46485],[-8.14293,54.45003],[-8.16284,54.4413],[-8.08731,54.4002],[-8.06062,54.37051],[-8.03289,54.35711],[-8.00054,54.34835],[-7.93333,54.30561],[-7.85849,54.29151],[-7.87067,54.28794],[-7.87265,54.26648],[-7.86123,54.25931],[-7.85917,54.21256],[-7.71043,54.20307],[-7.70193,54.20776],[-7.68828,54.202],[-7.67644,54.18906],[-7.66082,54.1871],[-7.62554,54.16545],[-7.62541,54.15319],[-7.61026,54.14353],[-7.57421,54.14142],[-7.57181,54.13287],[-7.56228,54.12704],[-7.51379,54.12998],[-7.47944,54.122],[-7.47169,54.12665],[-7.47075,54.13318],[-7.44684,54.15168],[-7.40792,54.156],[-7.42579,54.14092],[-7.41903,54.13629],[-7.3744,54.14172],[-7.37234,54.13881],[-7.39509,54.12624],[-7.39182,54.12017],[-7.36341,54.13157],[-7.34518,54.11577],[-7.32471,54.12123],[-7.32003,54.11379],[-7.3078,54.11718],[-7.30548,54.12347],[-7.31591,54.12697],[-7.31213,54.13162],[-7.3187,54.13411],[-7.31857,54.13745],[-7.32222,54.13836],[-7.32737,54.13544],[-7.3399,54.14585],[-7.30827,54.16716],[-7.30024,54.16625],[-7.29029,54.1715],[-7.28158,54.16839],[-7.2863,54.14919],[-7.29874,54.14904],[-7.30162,54.14411],[-7.28411,54.13971],[-7.29192,54.13071],[-7.29737,54.133],[-7.30883,54.13242],[-7.30333,54.12251],[-7.29218,54.11929],[-7.27844,54.12282],[-7.27707,54.12986],[-7.26613,54.13624],[-7.2566,54.16354],[-7.24015,54.17125],[-7.2575,54.17678],[-7.2581,54.19257],[-7.25179,54.19403],[-7.23608,54.1935],[-7.23338,54.19792],[-7.24317,54.20076],[-7.24892,54.1977],[-7.25183,54.20201],[-7.24119,54.20623],[-7.23094,54.20578],[-7.23269,54.20912],[-7.22188,54.21607],[-7.20643,54.2117],[-7.18506,54.22485],[-7.17055,54.21742],[-7.14721,54.22488],[-7.14633,54.23008],[-7.15051,54.23165],[-7.14613,54.23983],[-7.15802,54.24434],[-7.13985,54.25298],[-7.15255,54.26235],[-7.16064,54.27405],[-7.17991,54.27144],[-7.17201,54.28627],[-7.21252,54.2985],[-7.19888,54.31117],[-7.17918,54.30946],[-7.1812,54.3397],[-7.15339,54.33514],[-7.10253,54.35811],[-7.10811,54.36677],[-7.06927,54.3899],[-7.05593,54.41056],[-7.02898,54.42135],[-7.00198,54.40832],[-6.98683,54.40829],[-6.97562,54.40014],[-6.96774,54.40145],[-6.90682,54.36966],[-6.89772,54.35075],[-6.87527,54.33853],[-6.86512,54.32568],[-6.85163,54.29137],[-6.87452,54.28677],[-6.87791,54.27918],[-6.86673,54.27522],[-6.85177,54.26489],[-6.83693,54.26658],[-6.82165,54.24346],[-6.81633,54.22299],[-6.80045,54.22108],[-6.80122,54.21338],[-6.77599,54.19965],[-6.75573,54.1987],[-6.74316,54.18258],[-6.73406,54.18566],[-6.72445,54.18127],[-6.70295,54.20036],[-6.69166,54.20018],[-6.68673,54.19398],[-6.669,54.19584],[-6.65248,54.18102],[-6.6433,54.17801],[-6.63467,54.16449],[-6.63179,54.14766],[-6.64081,54.14238],[-6.63935,54.13599],[-6.66149,54.1205],[-6.6481,54.10153],[-6.66119,54.0934],[-6.66458,54.06629],[-6.64681,54.05873],[-6.62501,54.03737],[-6.59291,54.04755],[-6.58905,54.05808],[-6.5597,54.0481],[-6.52897,54.05888],[-6.50442,54.05566],[-6.47824,54.07004],[-6.47919,54.07762],[-6.43601,54.05959],[-6.36314,54.07057],[-6.36589,54.09338],[-6.36293,54.09758],[-6.37104,54.11497],[-6.3522,54.11084],[-6.34242,54.1114],[-6.33589,54.10833],[-6.33636,54.09469],[-6.31808,54.09096],[-6.30903,54.10463],[-6.29165,54.11235],[-6.28246,54.11145],[-6.26272,54.09786],[-5.35583,53.72597],[-7.0752,49.23912],[-1.83472,49.02346],[-2.12036,49.94415],[1.97754,51.13111]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-63,-50.5],[-60,-54],[-55,-51],[-63,-50.5]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-139.19952,60.08402],[-141,60.30621],[-141,76],[-169,68.63655],[-169,65.20147],[-180,61],[-180,-4],[-154,9],[-133.76404,54.54021],[-130.73868,54.71986],[-129.96277,55.29163],[-130.15228,55.7758],[-130.01787,55.90688],[-130.00362,56.00798],[-130.10284,56.12336],[-130.24498,56.09656],[-130.42625,56.14249],[-131.87439,56.79787],[-135.02884,59.56285],[-135.11759,59.62306],[-135.15827,59.6261],[-135.47928,59.79822],[-136.28677,59.57955],[-136.30531,59.46462],[-136.36836,59.44898],[-136.47697,59.46558],[-137.19727,59.01935],[-139.19952,60.08402]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-111.96064,48.99841],[-121.22623,49.00049],[-122.26513,49.00246],[-122.7565,49.00208],[-123.32218,49.00218],[-122.97821,48.76524],[-123.2666,48.69821],[-123.21991,48.21186],[-125.80444,48.60749],[-124.32129,31.54109],[-117.125,32.53429],[-116.82417,32.55996],[-115.88036,32.63735],[-115.49738,32.66486],[-114.71984,32.71877],[-114.7649,32.64602],[-114.80885,32.60959],[-114.81481,32.49451],[-112.81743,31.88004],[-111.07481,31.33224],[-109.56051,31.33402],[-108.20847,31.33384],[-108.20838,31.78363],[-106.52847,31.78391],[-106.52781,31.78086],[-106.52249,31.77501],[-106.51249,31.76933],[-106.50988,31.7612],[-106.50709,31.76123],[-106.48896,31.74806],[-106.48473,31.74769],[-106.4719,31.75101],[-106.46816,31.75897],[-106.45434,31.76466],[-106.45035,31.76426],[-106.43516,31.75492],[-106.41484,31.75101],[-106.37864,31.73021],[-106.37225,31.71174],[-106.34924,31.69633],[-106.33289,31.66178],[-106.3068,31.62459],[-106.28079,31.56179],[-106.24775,31.54226],[-106.2329,31.49982],[-106.2105,31.46857],[-106.08201,31.39863],[-106.00554,31.39233],[-105.76401,31.17051],[-105.58548,31.06117],[-105.56419,30.98526],[-104.99153,30.6639],[-104.97162,30.60896],[-104.90639,30.57822],[-104.83772,30.38117],[-104.70177,30.20567],[-104.68048,29.92399],[-104.57611,29.77838],[-104.51157,29.63674],[-104.39758,29.57047],[-104.39278,29.55293],[-104.05769,29.32173],[-103.79883,29.2581],[-103.78196,29.26555],[-103.76759,29.22799],[-103.14102,28.93666],[-102.86087,29.2217],[-102.65076,29.79418],[-101.41068,29.73457],[-101.26511,29.51372],[-101.05997,29.452],[-101.04083,29.38038],[-100.96303,29.34735],[-100.94406,29.34369],[-100.94071,29.33351],[-100.92775,29.32663],[-100.89814,29.30957],[-100.87818,29.28086],[-100.80076,29.2238],[-100.76437,29.15981],[-100.67047,29.08663],[-100.6412,28.91299],[-100.63236,28.90255],[-100.61296,28.89939],[-100.534,28.75622],[-100.51495,28.74531],[-100.50705,28.7143],[-100.51203,28.70666],[-100.51014,28.69127],[-100.50048,28.66186],[-100.45547,28.6381],[-100.44697,28.60743],[-100.35599,28.45239],[-100.34946,28.39653],[-100.29488,28.31315],[-100.29591,28.27324],[-100.17197,28.17493],[-99.93645,27.9568],[-99.87722,27.80173],[-99.79671,27.73338],[-99.772,27.72532],[-99.74556,27.69979],[-99.71947,27.65981],[-99.5957,27.59974],[-99.54094,27.60537],[-99.53055,27.57973],[-99.52034,27.55782],[-99.52802,27.49773],[-99.50141,27.49986],[-99.48755,27.49518],[-99.47897,27.48421],[-99.48661,27.46453],[-99.49534,27.44861],[-99.48927,27.40941],[-99.53957,27.31565],[-99.43588,27.19678],[-99.46404,27.01968],[-99.16698,26.56039],[-99.17474,26.53939],[-99.12698,26.51958],[-99.1135,26.42954],[-99.08355,26.39625],[-99.06007,26.39737],[-99.03634,26.41255],[-99.02042,26.40598],[-99.01291,26.39364],[-98.95686,26.38641],[-98.9566,26.37365],[-98.94523,26.36949],[-98.90013,26.36419],[-98.89905,26.35454],[-98.80305,26.36626],[-98.78254,26.30511],[-98.66667,26.23457],[-98.58496,26.24647],[-98.57951,26.23434],[-98.56519,26.23987],[-98.56294,26.22464],[-98.50599,26.20858],[-98.44806,26.21236],[-98.38617,26.15721],[-98.34176,26.15278],[-98.33579,26.1388],[-98.30626,26.10003],[-98.28841,26.10512],[-98.26524,26.0914],[-98.19898,26.06411],[-98.09577,26.05698],[-98.07568,26.06667],[-98.08302,26.03396],[-97.9771,26.04136],[-97.9532,26.06179],[-97.81643,26.04475],[-97.77017,26.02439],[-97.73884,26.02902],[-97.5289,25.90648],[-97.52151,25.88625],[-97.50615,25.89031],[-97.49851,25.89903],[-97.49637,25.89641],[-97.49748,25.88008],[-97.49422,25.87981],[-97.48847,25.88564],[-97.46409,25.88174],[-97.42607,25.842],[-97.36856,25.8396],[-97.26231,25.94724],[-80.81543,24.00633],[-66.87378,44.77794],[-67.16148,45.16715],[-67.2286,45.16739],[-67.26246,45.18797],[-67.28311,45.19175],[-67.28959,45.18784],[-67.29332,45.17568],[-67.29049,45.17317],[-67.3001,45.16776],[-67.3025,45.16122],[-67.29761,45.14766],[-67.33975,45.1255],[-67.40524,45.16122],[-67.40387,45.17139],[-67.4818,45.27682],[-67.42172,45.38543],[-67.45262,45.41008],[-67.50498,45.4889],[-67.41623,45.50105],[-67.42219,45.55661],[-67.42902,45.56833],[-67.42331,45.57154],[-67.42498,45.57836],[-67.45193,45.60323],[-67.77981,45.6738],[-67.79019,47.06776],[-67.88006,47.1067],[-67.91319,47.14793],[-67.92598,47.15418],[-67.95181,47.1875],[-68.02374,47.23915],[-68.13017,47.29309],[-68.17669,47.32893],[-68.24046,47.35354],[-68.32809,47.36005],[-68.36363,47.35476],[-68.38054,47.34167],[-68.38509,47.30321],[-68.37367,47.28796],[-68.4377,47.28232],[-68.47916,47.29623],[-68.51074,47.29885],[-68.54593,47.28441],[-68.58408,47.28482],[-68.59777,47.27134],[-68.59271,47.25762],[-68.61889,47.24148],[-68.68936,47.24125],[-68.71768,47.23676],[-68.80128,47.21423],[-68.89629,47.17676],[-69.05354,47.24847],[-69.04924,47.41798],[-69.22425,47.45961],[-69.99729,46.69558],[-70.0569,46.4149],[-70.25551,46.10871],[-70.29001,46.09431],[-70.39919,45.80667],[-70.83229,45.40062],[-70.80794,45.37878],[-70.82663,45.2367],[-70.87538,45.23453],[-70.92138,45.28099],[-70.90645,45.30918],[-71.0109,45.34798],[-71.08429,45.30556],[-71.1454,45.24226],[-71.20525,45.25278],[-71.28925,45.30097],[-71.41405,45.23513],[-71.43044,45.12381],[-71.49692,45.06991],[-71.50623,45.04878],[-71.49284,45.03629],[-71.50027,45.01372],[-71.79359,45.01075],[-72.08774,45.00581],[-72.14155,45.00568],[-72.15282,45.00609],[-72.17142,45.00584],[-72.25847,45.00436],[-72.38795,45.00626],[-72.4496,45.00863],[-72.5356,45.00936],[-72.66257,45.01523],[-72.82537,45.01642],[-73.08466,45.01561],[-73.45219,45.00875],[-74.14699,44.99145],[-74.33753,44.9923],[-74.50786,44.99798],[-74.66158,44.99949],[-74.71244,44.99734],[-74.75887,44.98708],[-74.76368,45.00632],[-74.78977,45.00365],[-74.82376,45.01773],[-74.94186,44.98229],[-75.30098,44.83883],[-75.30304,44.82836],[-75.59418,44.6457],[-75.97269,44.33502],[-75.97295,44.34595],[-76.00059,44.34797],[-76.17645,44.2865],[-76.18744,44.22158],[-76.88782,43.82759],[-79.16851,43.32168],[-79.05487,43.25371],[-79.05092,43.169],[-79.04603,43.16093],[-79.04208,43.13942],[-79.07002,43.12038],[-79.06015,43.114],[-79.0568,43.10474],[-79.0774,43.07861],[-78.9996,43.05484],[-79.02311,43.02071],[-79.02552,42.99473],[-78.96235,42.9573],[-78.91188,42.9426],[-78.90398,42.89181],[-82.42767,41.47978],[-83.14316,42.03807],[-83.12805,42.23843],[-83.09715,42.29052],[-83.07252,42.31515],[-82.94575,42.34332],[-82.59676,42.5479],[-82.51368,42.61785],[-82.5108,42.66464],[-82.4675,42.76415],[-82.48055,42.80573],[-82.45497,42.9284],[-82.41334,42.97099],[-82.42596,42.99536],[-82.15851,43.39507],[-83.53729,46.098],[-83.96301,46.05036],[-84.11021,46.23851],[-84.09794,46.25656],[-84.11613,46.26878],[-84.11905,46.31516],[-84.10721,46.3218],[-84.14394,46.41076],[-84.11682,46.51576],[-84.13536,46.53218],[-84.16162,46.5284],[-84.21621,46.53891],[-84.26994,46.49189],[-84.36092,46.50997],[-84.55284,46.4407],[-84.95178,46.77185],[-89.59179,48.00307],[-89.67547,48.00371],[-90.87204,48.25943],[-91.41312,48.06753],[-92.99377,48.62474],[-93.34877,48.62604],[-93.35529,48.61124],[-93.37074,48.60584],[-93.39812,48.60369],[-93.40542,48.61089],[-93.43846,48.59478],[-93.46859,48.59205],[-93.45735,48.56667],[-93.46533,48.54593],[-93.64763,48.51751],[-93.80625,48.51888],[-93.80642,48.58047],[-93.83328,48.62582],[-93.84865,48.63064],[-93.93388,48.6326],[-94.01327,48.64471],[-94.16176,48.64697],[-94.25025,48.65463],[-94.24931,48.67827],[-94.26046,48.69816],[-94.30578,48.71073],[-94.32758,48.70433],[-94.36123,48.70478],[-94.38406,48.71135],[-94.41629,48.71067],[-94.44294,48.69266],[-94.53615,48.7024],[-94.55031,48.71419],[-94.58894,48.71928],[-94.69425,48.77938],[-94.70129,48.83376],[-94.68996,48.83953],[-94.68395,48.99914],[-111.96064,48.99841]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[180,55],[170,53],[180,49],[180,55]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[143,22],[143,12],[147,12],[147,22],[143,22]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-171.5,-10],[-171,-15],[-167,-15],[-171.5,-10]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-68.44482421875,17.623081791311755],[-64.34692382812499,17.38209494787749],[-63.951416015625,19.03096327846469],[-67.950439453125,18.885497977462876],[-68.44482421875,17.623081791311755]]]}}];
+       var dataMPH = {
+       type: type$2,
+       features: features$1
+       };
+
+       var type$3 = "FeatureCollection";
+       var features$2 = [{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[113.573,22.186],[114,22.5],[114.05534,22.503],[114.0595,22.51422],[114.07345,22.51934],[114.0786,22.53012],[114.08512,22.53228],[114.09034,22.53717],[114.09611,22.53486],[114.10602,22.53472],[114.1115,22.52929],[114.11522,22.5308],[114.11649,22.53418],[114.11979,22.53511],[114.1244,22.5393],[114.12729,22.53947],[114.13018,22.54132],[114.13807,22.5432],[114.14429,22.54176],[114.14441,22.54114],[114.14846,22.54179],[114.14855,22.54397],[114.15042,22.54593],[114.14964,22.54954],[114.15166,22.55168],[114.15192,22.55438],[114.15642,22.55495],[114.15841,22.55909],[114.16032,22.56153],[114.16162,22.56187],[114.1634,22.55931],[114.16553,22.5593],[114.16733,22.56119],[114.16934,22.56093],[114.17061,22.5597],[114.17702,22.56],[114.17798,22.55546],[114.18401,22.5552],[114.18673,22.55468],[114.1878,22.55545],[114.18979,22.55446],[114.1955,22.55564],[114.19674,22.55691],[114.20005,22.55717],[114.20376,22.55623],[114.20884,22.55672],[114.22438,22.55055],[114.2264,22.5476],[114.22545,22.54528],[114.22661,22.54339],[114.32,22.576],[114.45,22.43],[114.45,22.14],[113.9,22.14],[113.75,22.22],[113.553,22.095],[113.54678,22.1207],[113.5456,22.1207],[113.54076,22.12373],[113.54016,22.13618],[113.54701,22.13651],[113.5475,22.14583],[113.52456,22.17978],[113.53623,22.20191],[113.53299,22.21232],[113.53497,22.21351],[113.53735,22.21377],[113.54156,22.21315],[113.54385,22.21709],[113.55849,22.21565],[113.573,22.186]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-75,18],[-80,20.5],[-83,19],[-77,16],[-75,18]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-64.33594,32.86113],[-79.39819,27.21067],[-80.63965,23.71998],[-73.39966,20.40642],[-65.1709,19.20743],[-65.09399,16.23577],[-59.13391,16.80454],[-62.64404,15.16228],[-59.43054,14.85985],[-62.83081,13.64599],[-61.80359,10.73752],[-62.08649,10.04729],[-61.06201,9.85522],[-59.81369,8.31274],[-59.8027,8.27469],[-59.83498,8.22712],[-59.94141,8.21149],[-59.99771,8.15576],[-59.97986,8.13265],[-59.99771,8.12041],[-60.00183,8.07147],[-60.05127,8.02524],[-60.09933,8.03747],[-60.12268,8.02388],[-60.14053,7.98988],[-60.36163,7.83345],[-60.53467,7.81713],[-60.5896,7.6375],[-60.72144,7.54493],[-60.5896,7.31888],[-60.63904,7.24532],[-60.54703,7.12542],[-60.46875,7.20309],[-60.37262,7.18401],[-60.29984,7.1445],[-60.2916,7.06819],[-60.39871,6.95097],[-60.66513,6.83235],[-60.71869,6.75053],[-60.91232,6.81735],[-60.94254,6.72053],[-61.14441,6.72326],[-61.23093,6.5773],[-61.1554,6.45314],[-61.14441,6.20199],[-61.39709,5.95619],[-60.71045,5.20036],[-60.21606,5.23319],[-59.99634,5.06906],[-60.13916,4.51071],[-59.69971,4.40118],[-59.5459,3.93002],[-59.87549,3.56825],[-59.7876,3.37086],[-60.01831,2.83332],[-59.90845,2.38335],[-59.69971,2.2626],[-59.77661,1.87833],[-59.65302,1.85087],[-59.69147,1.75754],[-59.61456,1.71361],[-59.55139,1.73283],[-59.36188,1.49123],[-59.26575,1.39238],[-58.92242,1.30726],[-58.83728,1.17271],[-58.71918,1.23037],[-58.71094,1.29902],[-58.49121,1.26058],[-58.461,1.37591],[-58.50494,1.38689],[-58.51044,1.46102],[-58.38135,1.4775],[-58.32642,1.57359],[-58.00507,1.49946],[-57.99133,1.65321],[-57.79907,1.69165],[-57.70844,1.71087],[-57.54364,1.68341],[-57.41455,1.94421],[-57.10693,1.97715],[-56.8103,1.85636],[-56.48071,1.92225],[-55.90942,1.81244],[-55.90942,2.04302],[-56.14014,2.26534],[-55.94788,2.53701],[-55.70892,2.39981],[-55.37933,2.43274],[-55.19257,2.53976],[-54.98108,2.57268],[-54.88495,2.43548],[-54.71191,2.46293],[-54.69543,2.34767],[-54.58832,2.32846],[-54.43451,2.43548],[-54.20654,2.76748],[-54.17358,3.12955],[-53.96484,3.57921],[-54.33838,4.00674],[-54.44412,4.52577],[-54.46884,4.91036],[-54.36653,5.13061],[-54.27727,5.26191],[-54.19968,5.3084],[-54.01222,5.54457],[-54.0239,5.64605],[-53.86322,5.94936],[-64.33594,32.86113]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-14.5,-6],[11.79657,-17.27197],[12.03415,-17.14866],[12.38159,-17.22213],[12.58484,-17.22476],[13.01193,-16.97405],[13.24951,-17.00098],[13.38135,-16.98522],[13.93341,-17.38734],[18.42476,-17.38996],[18.47763,-17.46857],[18.62663,-17.64599],[18.79211,-17.76177],[18.92944,-17.82061],[19.33044,-17.84806],[19.66278,-17.8644],[19.74792,-17.90557],[19.85161,-17.87486],[20.10361,-17.90296],[20.18394,-17.88401],[20.34737,-17.88466],[20.44693,-17.91733],[20.51697,-17.96698],[20.83008,-18.03032],[20.95711,-17.97285],[21.16997,-17.93497],[21.42677,-18.0264],[23.45032,-17.63879],[22.00012,-16.38866],[21.99944,-13.00523],[24.03809,-12.99118],[24.03809,-10.91962],[24.43359,-11.09217],[24.45557,-11.48002],[25.37842,-11.19996],[25.42236,-11.60919],[26.96045,-11.97484],[27.18018,-11.60919],[28.125,-12.42048],[29.11377,-13.36824],[29.1687,-13.43771],[29.55872,-13.19716],[29.68506,-13.2239],[29.62463,-13.41099],[29.80591,-13.44305],[29.81415,-12.14809],[29.31152,-12.55456],[28.41064,-11.78133],[28.63037,-10.70379],[28.65234,-9.73071],[28.37219,-9.24309],[28.89748,-8.47916],[30.78644,-8.26857],[29.39941,-6.05316],[29.4873,-4.45595],[29.75922,-4.46759],[29.81415,-4.36421],[29.88007,-4.36832],[30.04074,-4.26699],[30.07919,-4.1629],[30.18356,-4.08311],[30.1918,-4.05126],[30.21566,-4.04595],[30.22923,-4.01136],[30.21326,-3.99612],[30.25978,-3.88755],[30.29274,-3.86288],[30.34424,-3.77245],[30.39848,-3.79095],[30.40878,-3.76765],[30.39548,-3.7304],[30.39054,-3.72821],[30.3896,-3.71918],[30.39093,-3.7101],[30.39514,-3.70444],[30.42028,-3.64963],[30.46886,-3.53501],[30.67108,-3.41335],[30.63297,-3.34892],[30.84206,-3.25535],[30.84549,-3.16108],[30.83485,-3.09698],[30.7933,-3.06235],[30.82111,-3.02258],[30.84515,-2.9739],[30.74764,-2.99618],[30.7037,-2.97013],[30.66422,-2.98967],[30.57632,-2.90738],[30.49393,-2.94441],[30.41016,-2.87172],[30.52002,-2.39432],[30.77545,-2.38883],[30.8606,-2.31199],[30.84961,-2.19398],[30.89081,-2.07322],[30.81116,-1.96068],[30.83862,-1.6587],[30.73425,-1.4418],[30.56259,-1.33884],[30.4541,-1.05737],[30.35797,-1.06287],[30.34149,-1.13152],[30.16571,-1.34296],[29.91852,-1.48024],[29.83887,-1.31824],[29.58344,-1.39238],[29.729,0.05493],[29.96796,0.5136],[29.9707,0.8569],[30.22339,0.92281],[30.24536,1.15349],[30.47745,1.20772],[31.30966,2.15693],[31.20255,2.22211],[31.20255,2.29278],[31.16409,2.27906],[31.13937,2.28318],[31.13113,2.26534],[31.07826,2.30033],[31.0714,2.34767],[31.00479,2.4005],[30.97183,2.40461],[30.94711,2.38746],[30.94849,2.36276],[30.9375,2.33532],[30.88531,2.34012],[30.83038,2.42176],[30.74112,2.43274],[30.76035,2.5864],[30.90179,2.88132],[30.76447,3.04178],[30.93613,3.40239],[30.94059,3.50588],[30.85236,3.48601],[30.90866,3.5936],[30.95055,3.63918],[30.94677,3.65391],[30.9866,3.70187],[31.00582,3.70701],[31.02058,3.69708],[31.16547,3.7954],[31.28838,3.79643],[31.52699,3.66282],[31.7038,3.72449],[31.82671,3.82794],[31.96198,3.65596],[31.95854,3.57099],[32.04987,3.59155],[32.07733,3.57099],[32.0842,3.53672],[32.20093,3.50657],[32.21672,3.56448],[32.19578,3.59977],[32.41516,3.74504],[32.72055,3.76782],[32.89307,3.81219],[33.02782,3.89371],[33.18146,3.7793],[33.51173,3.75258],[33.98758,4.23309],[34.05762,4.28342],[34.38721,4.61065],[35.94452,4.62023],[35.95688,4.53467],[36.04134,4.44568],[36.89621,4.4491],[38.14728,3.62992],[38.55927,3.62033],[38.92181,3.51068],[39.56039,3.43392],[39.87076,3.87522],[40.76752,4.28753],[41.16371,3.94372],[41.89774,3.97797],[41.31271,3.14463],[40.98896,2.82869],[40.99548,-0.84042],[41.7,-1.8],[41.7,-49],[-27,-60],[-65.7,-52.5],[-14.5,-6]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[31.33301,35.47856],[33.0249,33.75175],[35.44189,36.02245],[31.33301,35.47856]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[14,36.5],[15,36],[14,35],[14,36.5]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[0,62],[2.5,51.3],[-2,50],[-1.9,49],[-20,53],[0,62]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[180,-35],[161,-19],[167,-12],[180,-22],[180,4],[170,3.7],[127,5.7],[118,2.7],[119.5,5.4],[117.2,7.5],[102.6,8],[102.9158,11.74099],[102.76268,12.07357],[102.70226,12.17158],[102.74139,12.46474],[102.53128,12.68857],[102.49557,12.9256],[102.49763,13.0064],[102.4597,13.08199],[102.43412,13.09026],[102.39155,13.16407],[102.35481,13.29341],[102.35893,13.30945],[102.34503,13.34837],[102.35928,13.39797],[102.3567,13.48095],[102.36168,13.50582],[102.33559,13.53787],[102.33971,13.56023],[102.35498,13.5649],[102.36511,13.5785],[102.40047,13.5679],[102.42537,13.56891],[102.44614,13.56123],[102.48047,13.57091],[102.53849,13.56757],[102.5699,13.58526],[102.57806,13.60486],[102.62501,13.60845],[102.62132,13.61295],[102.60767,13.61562],[102.57231,13.63331],[102.56922,13.64082],[102.54879,13.658],[102.56252,13.68552],[102.5972,13.70803],[102.67084,13.74472],[102.68818,13.75172],[102.7014,13.7684],[102.73161,13.77082],[102.76543,13.85541],[102.78397,13.93207],[102.80388,13.94406],[102.81607,13.96639],[102.90705,14.02119],[102.89726,14.0535],[102.90095,14.0838],[102.92421,14.10744],[102.92378,14.12838],[102.94147,14.15035],[102.92953,14.17952],[103.17535,14.33774],[103.19939,14.32992],[103.68553,14.44],[103.94508,14.34157],[104.05756,14.34589],[104.06636,14.3419],[104.26025,14.37749],[104.50058,14.36984],[104.57817,14.36019],[104.6422,14.42387],[104.66632,14.40234],[104.68357,14.39877],[104.71138,14.43169],[104.72305,14.42188],[104.71687,14.40043],[104.75344,14.40459],[104.80408,14.43867],[104.83429,14.41573],[104.99239,14.3838],[105.05402,14.19783],[105.47905,14.49186],[105.60883,15.0005],[105.46703,15.13005],[105.48866,15.20237],[105.59269,15.2716],[105.58617,15.32823],[105.50308,15.31912],[105.46703,15.33948],[105.49175,15.37921],[105.59372,15.42869],[105.59372,15.50927],[105.60986,15.54871],[105.62616,15.56492],[105.62702,15.59129],[105.63518,15.62742],[105.63612,15.66056],[105.5975,15.72088],[105.49965,15.76681],[105.46291,15.74517],[105.43819,15.75459],[105.40489,15.79424],[105.34241,15.92039],[105.37811,15.98344],[105.39167,15.99136],[105.41931,15.98608],[105.42652,15.99764],[105.41468,16.01661],[105.21263,16.05076],[105.04955,16.10552],[105.01316,16.24401],[104.88235,16.37812],[104.8391,16.45782],[104.77936,16.49041],[104.73919,16.53287],[104.74228,16.62205],[104.76391,16.70953],[104.73953,16.80323],[104.76425,16.85088],[104.73782,16.90968],[104.744,17.0128],[104.81266,17.21853],[104.79841,17.39274],[104.70348,17.52833],[104.46384,17.65515],[104.34368,17.83564],[104.27776,17.8559],[104.22661,17.98069],[104.1116,18.10735],[104.06525,18.21174],[103.97392,18.33823],[103.9286,18.33237],[103.88809,18.29456],[103.85582,18.28673],[103.83659,18.32715],[103.79128,18.3467],[103.70201,18.34214],[103.60931,18.40405],[103.57292,18.40437],[103.51593,18.42978],[103.45963,18.42587],[103.41568,18.44802],[103.30479,18.43206],[103.24265,18.37082],[103.24333,18.34133],[103.29123,18.32357],[103.28899,18.29521],[103.23595,18.28299],[103.16608,18.25511],[103.02429,17.98135],[102.6535,17.83237],[102.40631,17.99963],[102.10968,18.22413],[101.548,17.81538],[101.30493,17.64991],[101.14563,17.46595],[100.95886,17.61654],[101.01757,17.88858],[101.18752,18.05121],[101.16863,18.10409],[101.18134,18.33595],[101.08727,18.38287],[101.05499,18.43988],[101.23215,18.73015],[101.35265,19.04524],[101.25927,19.12733],[101.2373,19.32637],[101.25824,19.58438],[101.11954,19.56836],[101.08898,19.58777],[101.08624,19.59715],[101.03165,19.6185],[100.89844,19.62125],[100.77827,19.49249],[100.63751,19.56432],[100.58258,19.49313],[100.47478,19.5944],[100.42929,19.67152],[100.43341,19.7024],[100.4147,19.7255],[100.40525,19.7646],[100.43907,19.80345],[100.45555,19.84843],[100.50636,19.87264],[100.51709,19.93027],[100.58653,20.1599],[100.56576,20.1757],[100.54945,20.17473],[100.52731,20.14379],[100.51065,20.14895],[100.48697,20.17956],[100.46774,20.196],[100.45246,20.20147],[100.45521,20.22129],[100.44783,20.23546],[100.41607,20.25286],[100.40594,20.28184],[100.38397,20.31082],[100.37556,20.35187],[100.36165,20.35638],[100.35736,20.37408],[100.33195,20.39902],[100.27805,20.40224],[100.25917,20.39677],[100.2475,20.37263],[100.22535,20.35509],[100.22346,20.31839],[100.16579,20.29988],[100.17162,20.24545],[100.10845,20.25221],[100.09266,20.2696],[100.09798,20.31485],[100.07961,20.3678],[99.9567,20.46417],[99.91636,20.44925],[99.90765,20.44977],[99.89121,20.44511],[99.87276,20.44406],[99.86212,20.44326],[99.80186,20.33948],[99.46472,20.3884],[99.56085,20.20035],[99.43691,20.08882],[99.27727,20.11623],[99.06921,20.1101],[98.97789,19.74538],[98.24387,19.68656],[97.85934,19.57014],[97.76733,18.57336],[97.39655,18.47179],[97.62451,18.30238],[97.73849,17.97743],[97.66502,17.87943],[97.90947,17.56745],[98.52951,16.82557],[98.51303,16.69276],[98.69293,16.26873],[98.87421,16.43609],[98.93394,16.3353],[98.84743,16.13356],[98.74512,16.12037],[98.58307,16.07287],[98.5762,15.79754],[98.54736,15.37557],[98.17383,15.15167],[98.3606,14.63674],[99.08295,13.89208],[99.16534,13.72204],[99.18182,13.00723],[99.39331,12.56797],[99.64153,11.78973],[99.32156,11.30266],[98.77859,10.67849],[98.80597,10.47642],[98.76657,10.40459],[98.74924,10.34194],[96.85547,6.40265],[92.42523,20.54794],[92.2728,20.96272],[92.187,21.16],[92.26,21.36],[92.27,21.4328],[92.62,21.43],[92.6,22],[93.22,22.25],[93.4,23.7],[93.34,23.95],[94.155,23.847],[94.17,23.92],[94.25171,24.07405],[94.28,24.23],[94.30175,24.2371],[94.3256,24.2731],[94.6,24.7],[94.78,25.47],[95.2,26],[95.1,26.6],[97.3,27.9],[96.14,29.38],[95.4,29.1],[94.8,29.2],[92.5,27.8],[91.64,27.76],[91.4,28],[89.58,28.18],[88.9,27.32],[88.74,27.47],[88.9,27.86],[88.7,28.1],[88.1,27.87],[85.93,27.942],[81.6,30.5],[81.2,30],[78.73,31.5],[78.77,31.99],[78.4,32.5],[79.3,32.5],[79,34.3],[78.3,34.6],[78,35.5],[76.1,35.8],[76,36.55],[75.15,37],[72.5,36.9],[71.1,36.1],[71.65,35.44],[71.45,35],[70.985,34.54],[71.18,34.36],[71.092,34.118],[70.88,33.97],[70.5,33.94],[69.908,34.04],[69.869,33.96],[70,33.75],[70.13,33.73],[70.34,33.34],[70.013,33.14],[69.57,33.09],[69.24,32.45],[69.3,31.9],[68.1,31.6],[66.393,30.934],[66.2,29.8],[62.5,29.4],[60.87,29.86],[61.53,29.0165],[61.66,28.77],[61.96,28.54],[62.43,28.42],[62.6,28.25],[62.795,28.28],[62.86,27.25],[63.24,27.25],[63.327,27.13],[63.25,27.1],[63.25,26.84],[63.18,26.83],[63.18,26.65],[62.3,26.5],[62.2,26.28],[61.85,26.22],[61.84,25.75],[61.68,25.67],[56.5,-21],[180,-65],[180,-35]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[138.7,46.7],[145.5,44.5],[145.2,43.7],[146,43.3],[142,18],[122,24.3],[138.7,46.7]]]}},{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-180,7],[-148,7],[-151,-12],[-171.5,-10.75],[-171,-16],[-152,-19],[-180,-55],[-180,7]]]}}];
+       var dataDriveLeft = {
+       type: type$3,
+       features: features$2
+       };
+
+       var en = {icons:{download:"download",information:"info",remove:"remove",undo:"undo",zoom_to:"zoom to",copy:"copy",open_wikidata:"open on wikidata.org",favorite:"favorite"},toolbar:{inspect:"Inspect",undo_redo:"Undo / Redo",recent:"Recent",favorites:"Favorites",add_feature:"Add Feature"},modes:{add_feature:{title:"Add a feature",description:"Search for features to add to the map.",key:"Tab",result:"{count} result",results:"{count} results"},add_area:{title:"Area",description:"Add parks, buildings, lakes or other areas to the map.",tail:"Click on the map to start drawing an area, like a park, lake, or building.",filter_tooltip:"areas"},add_line:{title:"Line",description:"Add highways, streets, pedestrian paths, canals or other lines to the map.",tail:"Click on the map to start drawing a road, path, or route.",filter_tooltip:"lines"},add_point:{title:"Point",description:"Add restaurants, monuments, postal boxes or other points to the map.",tail:"Click on the map to add a point.",filter_tooltip:"points"},add_note:{title:"Note",label:"Add Note",description:"Spotted an issue? Let other mappers know.",tail:"Click on the map to add a note.",key:"N"},add_preset:{title:"Add {feature}",point:{title:"Add {feature} as a point"},line:{title:"Add {feature} as a line"},area:{title:"Add {feature} as an area"},building:{title:"Add {feature} as a building"}},browse:{title:"Browse",description:"Pan and zoom the map."},draw_area:{tail:"Click to add nodes to your area. Click the first node to finish the area."},draw_line:{tail:"Click to add more nodes to the line. Click on other lines to connect to them, and double-click to end the line."},drag_node:{connected_to_hidden:"This can't be edited because it is connected to a hidden feature."}},operations:{add:{annotation:{point:"Added a point.",vertex:"Added a node to a way.",relation:"Added a relation.",note:"Added a note."}},start:{annotation:{line:"Started a line.",area:"Started an area."}},"continue":{key:"A",title:"Continue",description:"Continue this line.",not_eligible:"No line can be continued here.",multiple:"Several lines can be continued here. To choose a line, press the Shift key and click on it to select it.",annotation:{line:"Continued a line.",area:"Continued an area."}},cancel_draw:{annotation:"Canceled drawing."},change_role:{annotation:"Changed the role of a relation member."},change_tags:{annotation:"Changed tags."},circularize:{title:"Circularize",description:{line:"Make this line circular.",area:"Make this area circular."},key:"O",annotation:{line:"Made a line circular.",area:"Made an area circular."},not_closed:"This can't be made circular because it's not a loop.",too_large:"This can't be made circular because not enough of it is currently visible.",connected_to_hidden:"This can't be made circular because it is connected to a hidden feature.",not_downloaded:"This can't be made circular because parts of it have not yet been downloaded."},orthogonalize:{title:"Square",description:{vertex:"Square this corner.",line:"Square the corners of this line.",area:"Square the corners of this area."},key:"Q",annotation:{vertex:"Squared a single corner.",line:"Squared the corners of a line.",area:"Squared the corners of an area."},end_vertex:"This can't be squared because it is an end node.",square_enough:"This can't be made more square than it already is.",not_squarish:"This can't be made square because it is not squarish.",too_large:"This can't be made square because not enough of it is currently visible.",connected_to_hidden:"This can't be made square because it is connected to a hidden feature.",not_downloaded:"This can't be made square because parts of it have not yet been downloaded."},straighten:{title:"Straighten",description:{points:"Straighten these points.",line:"Straighten this line."},key:"S",annotation:{points:"Straightened several points.",line:"Straightened a line."},too_bendy:"This can't be straightened because it bends too much.",connected_to_hidden:"This can't be straightened because it is connected to a hidden feature.",not_downloaded:"This can't be straightened because parts of it have not yet been downloaded."},"delete":{title:"Delete",description:{single:"Delete this feature permanently.",multiple:"Delete these features permanently."},annotation:{point:"Deleted a point.",vertex:"Deleted a node from a way.",line:"Deleted a line.",area:"Deleted an area.",relation:"Deleted a relation.",multiple:"Deleted {n} features."},too_large:{single:"This feature can't be deleted because not enough of it is currently visible.",multiple:"These features can't be deleted because not enough of them are currently visible."},incomplete_relation:{single:"This feature can't be deleted because it hasn't been fully downloaded.",multiple:"These features can't be deleted because they haven't been fully downloaded."},part_of_relation:{single:"This feature can't be deleted because it is part of a larger relation. You must remove it from the relation first.",multiple:"These features can't be deleted because they are part of larger relations. You must remove them from the relations first."},connected_to_hidden:{single:"This feature can't be deleted because it is connected to a hidden feature.",multiple:"These features can't be deleted because some are connected to hidden features."},not_downloaded:{single:"This feature can't be deleted because parts of it have not yet been downloaded.",multiple:"These features can't be deleted because parts of them have not yet been downloaded."},has_wikidata_tag:{single:"This feature can't be deleted because it has a Wikidata tag.",multiple:"These features can't be deleted because some have Wikidata tags."}},downgrade:{title:"Downgrade",description:{building_address:"Remove all non-address and non-building tags.",building:"Remove all non-building tags.",address:"Remove all non-address tags."},annotation:{building:{single:"Downgraded a feature to a basic building.",multiple:"Downgraded {n} features to basic buildings."},address:{single:"Downgraded a feature to an address.",multiple:"Downgraded {n} features to addresses."},multiple:"Downgraded {n} features."},has_wikidata_tag:{single:"This feature can't be downgraded because it has a Wikidata tag.",multiple:"These features can't be downgraded because some have Wikidata tags."}},add_member:{annotation:"Added a member to a relation."},delete_member:{annotation:"Removed a member from a relation."},reorder_members:{annotation:"Reordered a relation's members."},connect:{annotation:{from_vertex:{to_point:"Connected a way to a point.",to_vertex:"Connected a way to another.",to_line:"Connected a way to a line.",to_area:"Connected a way to an area.",to_adjacent_vertex:"Merged adjacent points in a way.",to_sibling_vertex:"Connected a way to itself."},from_point:{to_point:"Merged a point with another.",to_vertex:"Merged a point with a point in a way.",to_line:"Moved a point to a line.",to_area:"Moved a point to an area."}},relation:"These features can't be connected because they have conflicting relation roles.",restriction:"These features can't be connected because it would damage a \"{relation}\" relation."},disconnect:{title:"Disconnect",description:"Disconnect these lines/areas from each other.",line:{description:"Disconnect this line from other features."},area:{description:"Disconnect this area from other features."},key:"D",annotation:"Disconnected lines/areas.",too_large:{single:"This can't be disconnected because not enough of it is currently visible."},not_connected:"There aren't enough lines/areas here to disconnect.",not_downloaded:"This can't be disconnected because parts of it have not yet been downloaded.",connected_to_hidden:"This can't be disconnected because it is connected to a hidden feature.",relation:"This can't be disconnected because it connects members of a relation."},merge:{title:"Merge",description:"Merge these features.",key:"C",annotation:"Merged {n} features.",not_eligible:"These features can't be merged.",not_adjacent:"These features can't be merged because their endpoints aren't connected.",restriction:"These features can't be merged because it would damage a \"{relation}\" relation.",relation:"These features can't be merged because they have conflicting relation roles.",incomplete_relation:"These features can't be merged because at least one hasn't been fully downloaded.",conflicting_tags:"These features can't be merged because some of their tags have conflicting values.",paths_intersect:"These features can't be merged because the resulting path would intersect itself."},move:{title:"Move",description:{single:"Move this feature to a different location.",multiple:"Move these features to a different location."},key:"M",annotation:{point:"Moved a point.",vertex:"Moved a node in a way.",line:"Moved a line.",area:"Moved an area.",multiple:"Moved multiple features."},incomplete_relation:{single:"This feature can't be moved because it hasn't been fully downloaded.",multiple:"These features can't be moved because they haven't been fully downloaded."},too_large:{single:"This feature can't be moved because not enough of it is currently visible.",multiple:"These features can't be moved because not enough of them are currently visible."},connected_to_hidden:{single:"This feature can't be moved because it is connected to a hidden feature.",multiple:"These features can't be moved because some are connected to hidden features."},not_downloaded:{single:"This feature can't be moved because parts of it have not yet been downloaded.",multiple:"These features can't be moved because parts of them have not yet been downloaded."}},reflect:{title:{long:"Reflect Long",short:"Reflect Short"},description:{long:{single:"Reflect this feature across its long axis.",multiple:"Reflect these features across their long axis."},short:{single:"Reflect this feature across its short axis.",multiple:"Reflect these features across their short axis."}},key:{long:"T",short:"Y"},annotation:{long:{single:"Reflected a feature across its long axis.",multiple:"Reflected multiple features across their long axis."},short:{single:"Reflected a feature across its short axis.",multiple:"Reflected multiple features across their short axis."}},incomplete_relation:{single:"This feature can't be reflected because it hasn't been fully downloaded.",multiple:"These features can't be reflected because they haven't been fully downloaded."},too_large:{single:"This feature can't be reflected because not enough of it is currently visible.",multiple:"These features can't be reflected because not enough of them are currently visible."},connected_to_hidden:{single:"This feature can't be reflected because it is connected to a hidden feature.",multiple:"These features can't be reflected because some are connected to hidden features."},not_downloaded:{single:"This feature can't be reflected because parts of it have not yet been downloaded.",multiple:"These features can't be reflected because parts of them have not yet been downloaded."}},rotate:{title:"Rotate",description:{single:"Rotate this feature around its center point.",multiple:"Rotate these features around their center point."},key:"R",annotation:{line:"Rotated a line.",area:"Rotated an area.",multiple:"Rotated multiple features."},incomplete_relation:{single:"This feature can't be rotated because it hasn't been fully downloaded.",multiple:"These features can't be rotated because they haven't been fully downloaded."},too_large:{single:"This feature can't be rotated because not enough of it is currently visible.",multiple:"These features can't be rotated because not enough of them are currently visible."},connected_to_hidden:{single:"This feature can't be rotated because it is connected to a hidden feature.",multiple:"These features can't be rotated because some are connected to hidden features."},not_downloaded:{single:"This feature can't be rotated because parts of it have not yet been downloaded.",multiple:"These features can't be rotated because parts of them have not yet been downloaded."}},reverse:{title:"Reverse",description:"Make this line go in the opposite direction.",key:"V",annotation:"Reversed a line."},split:{title:"Split",description:{line:"Split this line into two at this node.",area:"Split the boundary of this area into two.",multiple:"Split the lines/area boundaries at this node into two."},key:"X",annotation:{line:"Split a line.",area:"Split an area boundary.",multiple:"Split {n} lines/area boundaries."},not_eligible:"Lines can't be split at their beginning or end.",multiple_ways:"There are too many lines here to split.",connected_to_hidden:"This can't be split because it is connected to a hidden feature."},restriction:{annotation:{create:"Added a turn restriction","delete":"Deleted a turn restriction"}},extract:{title:"Extract",key:"E",description:{vertex:{single:"Extract this point from its parent lines/areas."},area:{single:"Extract a point from this area."}},annotation:{single:"Extracted a point."},too_large:{area:{single:"A point can't be extracted from this area because not enough of it is currently visible."}},restriction:{vertex:{single:"This point can't be extracted because it would damage a \"{relation}\" relation."}},connected_to_hidden:{vertex:{single:"This point can't be extracted because it is connected to a hidden feature."}}}},restriction:{controls:{distance:"Distance",distance_up_to:"Up to {distance}",via:"Via",via_node_only:"Node only",via_up_to_one:"Up to 1 way",via_up_to_two:"Up to 2 ways"},help:{indirect:"(indirect)",turn:{no_left_turn:"NO Left Turn {indirect}",no_right_turn:"NO Right Turn {indirect}",no_u_turn:"NO U-Turn {indirect}",no_straight_on:"NO Straight On {indirect}",only_left_turn:"ONLY Left Turn {indirect}",only_right_turn:"ONLY Right Turn {indirect}",only_u_turn:"ONLY U-Turn {indirect}",only_straight_on:"ONLY Straight On {indirect}",allowed_left_turn:"Left Turn Allowed {indirect}",allowed_right_turn:"Right Turn Allowed {indirect}",allowed_u_turn:"U-Turn Allowed {indirect}",allowed_straight_on:"Straight On Allowed {indirect}"},from:"FROM",via:"VIA",to:"TO",from_name:"{from} {fromName}",from_name_to_name:"{from} {fromName} {to} {toName}",via_names:"{via} {viaNames}",select_from:"Click to select a {from} segment",select_from_name:"Click to select {from} {fromName}",toggle:"Click for \"{turn}\""}},undo:{tooltip:"Undo: {action}",nothing:"Nothing to undo."},redo:{tooltip:"Redo: {action}",nothing:"Nothing to redo."},tooltip_keyhint:"Shortcut:",browser_notice:"This editor is supported in Firefox, Chrome, Safari, Opera, and Internet Explorer 11 and above. Please upgrade your browser or use Potlatch 2 to edit the map.",translate:{translate:"Translate",localized_translation_label:"Multilingual Name",localized_translation_language:"Choose language",localized_translation_name:"Name"},zoom_in_edit:"Zoom in to edit",login:"Log In",logout:"Log Out",loading_auth:"Connecting to OpenStreetMap...",report_a_bug:"Report a bug",help_translate:"Help translate",sidebar:{key:"`",tooltip:"Toggle the sidebar."},feature_info:{hidden_warning:"{count} hidden features",hidden_details:"These features are currently hidden: {details}"},status:{error:"Unable to connect to API.",offline:"The API is offline. Please try editing later.",readonly:"The API is read-only. You will need to wait to save your changes.",rateLimit:"The API is limiting anonymous connections.  You can fix this by logging in."},commit:{title:"Upload to OpenStreetMap",upload_explanation:"The changes you upload will be visible on all maps that use OpenStreetMap data.",upload_explanation_with_user:"The changes you upload as {user} will be visible on all maps that use OpenStreetMap data.",request_review:"I would like someone to review my edits.",save:"Upload",cancel:"Cancel",changes:"{count} Changes",download_changes:"Download osmChange file",errors:"Errors",warnings:"Warnings",modified:"Modified",deleted:"Deleted",created:"Created",outstanding_errors_message:"Please resolve all errors first. {count} remaining.",comment_needed_message:"Please add a changeset comment first.",about_changeset_comments:"About changeset comments",about_changeset_comments_link:"//wiki.openstreetmap.org/wiki/Good_changeset_comments",google_warning:"You mentioned Google in this comment: remember that copying from Google Maps is strictly forbidden.",google_warning_link:"https://www.openstreetmap.org/copyright"},contributors:{list:"Edits by {users}",truncated_list:"Edits by {users} and {count} others"},info_panels:{key:"I",background:{key:"B",title:"Background",zoom:"Zoom",vintage:"Vintage",source:"Source",description:"Description",resolution:"Resolution",accuracy:"Accuracy",unknown:"Unknown",show_tiles:"Show Tiles",hide_tiles:"Hide Tiles",show_vintage:"Show Vintage",hide_vintage:"Hide Vintage"},history:{key:"H",title:"History",selected:"{n} selected",no_history:"No History (New Feature)",version:"Version",last_edit:"Last Edit",edited_by:"Edited By",changeset:"Changeset",unknown:"Unknown",link_text:"History on openstreetmap.org",note_no_history:"No History (New Note)",note_comments:"Comments",note_created_date:"Created Date",note_created_user:"Created By",note_link_text:"Note on openstreetmap.org"},location:{key:"L",title:"Location",unknown_location:"Unknown Location"},measurement:{key:"M",title:"Measurement",selected:"{n} selected",geometry:"Geometry",closed_line:"closed line",closed_area:"closed area",center:"Center",perimeter:"Perimeter",length:"Length",area:"Area",centroid:"Centroid",location:"Location",metric:"Metric",imperial:"Imperial",node_count:"Number of nodes"}},geometry:{point:"point",vertex:"vertex",line:"line",area:"area",relation:"relation",note:"note"},geocoder:{search:"Search worldwide...",no_results_visible:"No results in visible map area",no_results_worldwide:"No results found"},geolocate:{title:"Show My Location",locating:"Locating, please wait..."},inspector:{zoom_to:{key:"Z",title:"Zoom to this",tooltip_feature:"Center and zoom the map to focus on this feature.",tooltip_note:"Center and zoom the map to focus on this note.",tooltip_data:"Center and zoom the map to focus on this data.",tooltip_issue:"Center and zoom the map to focus on this issue."},show_more:"Show More",view_on_osm:"View on openstreetmap.org",view_on_keepRight:"View on keepright.at",all_fields:"All fields",all_tags:"All tags",all_members:"All members",all_relations:"All relations",add_to_relation:"Add to a relation",new_relation:"New relation...",choose_relation:"Choose a parent relation",role:"Role",choose:"Select feature type",results:"{n} results for {search}",no_documentation_key:"There is no documentation available.",edit_reference:"edit/translate",wiki_reference:"View documentation",wiki_en_reference:"View documentation in English",hidden_preset:{manual:"{features} are hidden. Enable them in the Map Data pane.",zoom:"{features} are hidden. Zoom in to enable them."},back_tooltip:"Change feature",remove:"Remove",search:"Search",multiselect:"Selected features",unknown:"Unknown",incomplete:"<not downloaded>",feature_list:"Search features",edit:"Edit feature",check:{yes:"Yes",no:"No",reverser:"Change Direction"},radio:{structure:{type:"Type","default":"Default",layer:"Layer"}},add:"Add",none:"None",node:"Node",way:"Way",relation:"Relation",location:"Location",add_fields:"Add field:",lock:{suggestion:"The \"{label}\" field is locked because there is a Wikidata tag. You can delete it or edit the tags in the \"All tags\" section."}},background:{title:"Background",description:"Background settings",key:"B",backgrounds:"Backgrounds",none:"None",best_imagery:"Best known imagery source for this location","switch":"Switch back to this background",custom:"Custom",overlays:"Overlays",imagery_source_faq:"Imagery Info / Report a Problem",reset:"reset",reset_all:"Reset All",display_options:"Display Options",brightness:"Brightness",contrast:"Contrast",saturation:"Saturation",sharpness:"Sharpness",minimap:{description:"Show Minimap",tooltip:"Show a zoomed out map to help locate the area currently displayed.",key:"/"},fix_misalignment:"Adjust imagery offset",offset:"Drag anywhere in the gray area below to adjust the imagery offset, or enter the offset values in meters."},map_data:{title:"Map Data",description:"Map Data",key:"F",data_layers:"Data Layers",layers:{osm:{tooltip:"Map data from OpenStreetMap",title:"OpenStreetMap data"},notes:{tooltip:"Note data from OpenStreetMap",title:"OpenStreetMap notes"},keepRight:{tooltip:"Automatically detected map issues from keepright.at",title:"KeepRight Issues"},improveOSM:{tooltip:"Missing data automatically detected by improveosm.org",title:"ImproveOSM Issues"},custom:{tooltip:"Drag and drop a data file onto the page, or click the button to setup",title:"Custom Map Data",zoom:"Zoom to data"}},fill_area:"Fill Areas",map_features:"Map Features",autohidden:"These features have been automatically hidden because too many would be shown on the screen.  You can zoom in to edit them.",osmhidden:"These features have been automatically hidden because the OpenStreetMap layer is hidden."},photo_overlays:{title:"Photo Overlays",traffic_signs:{title:"Traffic Signs"},photo_type:{flat:{title:"Flat Photos",tooltip:"Traditional photos"},panoramic:{title:"Panoramic Photos",tooltip:"360° photos"}}},feature:{points:{description:"Points",tooltip:"Points of Interest"},traffic_roads:{description:"Traffic Roads",tooltip:"Highways, Streets, etc."},service_roads:{description:"Service Roads",tooltip:"Service Roads, Parking Aisles, Tracks, etc."},paths:{description:"Paths",tooltip:"Sidewalks, Foot Paths, Cycle Paths, etc."},buildings:{description:"Buildings",tooltip:"Buildings, Shelters, Garages, etc."},building_parts:{description:"Building Parts",tooltip:"3D Building and Roof Components"},indoor:{description:"Indoor Features",tooltip:"Rooms, Corridors, Stairwells, etc."},landuse:{description:"Landuse Features",tooltip:"Forests, Farmland, Parks, Residential, Commercial, etc."},boundaries:{description:"Boundaries",tooltip:"Administrative Boundaries"},water:{description:"Water Features",tooltip:"Rivers, Lakes, Ponds, Basins, etc."},rail:{description:"Rail Features",tooltip:"Railways"},pistes:{description:"Pistes",tooltip:"Ski Slopes, Sled Runs, Ice Skating Trails, etc."},aerialways:{description:"Aerial Features",tooltip:"Chair Lifts, Gondolas, Zip Lines, etc."},power:{description:"Power Features",tooltip:"Power Lines, Power Plants, Substations, etc."},past_future:{description:"Past/Future Features",tooltip:"Proposed, Construction, Abandoned, Demolished, etc."},others:{description:"Other Features",tooltip:"Everything Else"}},area_fill:{wireframe:{description:"No Fill (Wireframe)",tooltip:"Enabling wireframe mode makes it easy to see the background imagery.",key:"W"},partial:{description:"Partial Fill",tooltip:"Areas are drawn with fill only around their inner edges. (Recommended for beginner mappers)"},full:{description:"Full Fill",tooltip:"Areas are drawn fully filled."}},settings:{custom_background:{tooltip:"Edit custom background",header:"Custom Background Settings",instructions:"Enter a tile URL template. Valid tokens are:\n   {zoom} or {z}, {x}, {y} for Z/X/Y tile scheme\n   {-y} or {ty} for flipped TMS-style Y coordinates\n   {u} for quadtile scheme\n   {switch:a,b,c} for DNS server multiplexing\n\nExample:\n{example}",template:{placeholder:"Enter a url template"}},custom_data:{tooltip:"Edit custom data layer",header:"Custom Map Data Settings",file:{instructions:"Choose a local data file. Supported types are:\n   .gpx, .kml, .geojson, .json",label:"Browse files"},or:"Or",url:{instructions:"Enter a data file URL or vector tile URL template. Valid tokens are:\n   {zoom} or {z}, {x}, {y} for Z/X/Y tile scheme",placeholder:"Enter a url"}}},restore:{heading:"You have unsaved changes",description:"Do you wish to restore unsaved changes from a previous editing session?",restore:"Restore my changes",reset:"Discard my changes"},save:{title:"Save",help:"Review your changes and upload them to OpenStreetMap, making them visible to other users.",no_changes:"No changes to save.",error:"Errors occurred while trying to save",status_code:"Server returned status code {code}",unknown_error_details:"Please ensure you are connected to the internet.",uploading:"Uploading changes to OpenStreetMap...",conflict_progress:"Checking for conflicts: {num} of {total}",unsaved_changes:"You have unsaved changes",conflict:{header:"Resolve conflicting edits",count:"Conflict {num} of {total}",previous:"< Previous",next:"Next >",keep_local:"Keep mine",keep_remote:"Use theirs",restore:"Restore","delete":"Leave Deleted",download_changes:"Or download osmChange file",done:"All conflicts resolved!",help:"Another user changed some of the same map features you changed.\nClick on each feature below for more details about the conflict, and choose whether to keep\nyour changes or the other user's changes.\n"}},merge_remote_changes:{conflict:{deleted:"This feature has been deleted by {user}.",location:"This feature was moved by both you and {user}.",nodelist:"Nodes were changed by both you and {user}.",memberlist:"Relation members were changed by both you and {user}.",tags:"You changed the <b>{tag}</b> tag to \"{local}\" and {user} changed it to \"{remote}\"."}},success:{just_edited:"You just edited OpenStreetMap!",thank_you:"Thank you for improving the map.",thank_you_location:"Thank you for improving the map around {where}.",thank_you_where:{format:"{place}{separator}{region}",separator:", "},help_html:"Your changes should appear on OpenStreetMap within a few minutes. It may take longer for maps elsewhere to receive updates.",help_link_text:"Details",help_link_url:"https://wiki.openstreetmap.org/wiki/FAQ#I_have_just_made_some_changes_to_the_map._How_do_I_get_to_see_my_changes.3F",view_on_osm:"View Changes on OSM",changeset_id:"Your changeset #: {changeset_id}",like_osm:"Like OpenStreetMap? Connect with others:",more:"More",events:"Events",languages:"Languages: {languages}",missing:"Is something missing from this list?",tell_us:"Tell us!"},confirm:{okay:"OK",cancel:"Cancel"},splash:{welcome:"Welcome to the iD OpenStreetMap editor",text:"iD is a friendly but powerful tool for contributing to the world's best free world map. This is version {version}. For more information see {website} and report bugs at {github}.",walkthrough:"Start the Walkthrough",start:"Edit now"},source_switch:{live:"live",lose_changes:"You have unsaved changes. Switching the map server will discard them. Are you sure you want to switch servers?",dev:"dev"},version:{whats_new:"What's new in iD {version}"},tag_reference:{description:"Description",on_wiki:"{tag} on wiki.osm.org",used_with:"used with {type}"},zoom:{"in":"Zoom in",out:"Zoom out"},cannot_zoom:"Cannot zoom out further in current mode.",full_screen:"Toggle Full Screen",QA:{improveOSM:{title:"ImproveOSM Detection",geometry_types:{path:"paths",parking:"parking",road:"roads",both:"roads and parking"},directions:{east:"east",north:"north",northeast:"northeast",northwest:"northwest",south:"south",southeast:"southeast",southwest:"southwest",west:"west"},error_types:{ow:{title:"Missing One-way",description:"Along this section of {highway}, {percentage}% of {num_trips} recorded trips travel from {from_node} to {to_node}. There may be missing a \"oneway\" tag."},mr:{title:"Missing Geometry",description:"{num_trips} recorded trips in this area suggest there may be unmapped {geometry_type} here.",description_alt:"Data from a 3rd party suggests there may be unmapped {geometry_type} here."},tr:{title:"Missing Turn Restriction",description:"{num_passed} of {num_trips} recorded trips (travelling {travel_direction}) make a turn from {from_way} to {to_way} at {junction}. There may be a missing \"{turn_restriction}\" restriction."}}},keepRight:{title:"KeepRight Error",detail_title:"Error",detail_description:"Description",comment:"Comment",comment_placeholder:"Enter a comment to share with other users.",close:"Close (Error Fixed)",ignore:"Ignore (Not an Error)",save_comment:"Save Comment",close_comment:"Close and Comment",ignore_comment:"Ignore and Comment",error_parts:{this_node:"this node",this_way:"this way",this_relation:"this relation",this_oneway:"this oneway",this_highway:"this highway",this_railway:"this railway",this_waterway:"this waterway",this_cycleway:"this cycleway",this_cycleway_footpath:"this cycleway/footpath",this_riverbank:"this riverbank",this_crossing:"this crossing",this_railway_crossing:"this railway crossing",this_bridge:"this bridge",this_tunnel:"this tunnel",this_boundary:"this boundary",this_turn_restriction:"this turn restriction",this_roundabout:"this roundabout",this_mini_roundabout:"this mini-roundabout",this_track:"this track",this_feature:"this feature",highway:"highway",railway:"railway",waterway:"waterway",cycleway:"cycleway",cycleway_footpath:"cycleway/footpath",riverbank:"riverbank",place_of_worship:"place of worship",pub:"pub",restaurant:"restaurant",school:"school",university:"university",hospital:"hospital",library:"library",theatre:"theatre",courthouse:"courthouse",bank:"bank",cinema:"cinema",pharmacy:"pharmacy",cafe:"cafe",fast_food:"fast food",fuel:"fuel",from:"from",to:"to",left_hand:"left-hand",right_hand:"right-hand"},errorTypes:{"20":{title:"Multiple nodes on the same spot",description:"There is more than one node in this spot. Node IDs: {var1}."},"30":{title:"Non-closed area",description:"{var1} is tagged with \"{var2}\" and should be a closed loop."},"40":{title:"Impossible oneway",description:"The first node {var1} of {var2} is not connected to any other way."},"41":{description:"The last node {var1} of {var2} is not connected to any other way."},"42":{description:"You cannot reach {var1} because all ways leading from it are oneway."},"43":{description:"You cannot escape from {var1} because all ways leading to it are oneway."},"50":{title:"Almost junction",description:"{var1} is very close but not connected to way {var2}."},"60":{title:"Deprecated tag",description:"{var1} uses deprecated tag \"{var2}\". Please use \"{var3}\" instead."},"70":{title:"Missing tag",description:"{var1} has an empty tag: \"{var2}\"."},"71":{description:"{var1} has no tags."},"72":{description:"{var1} is not member of any way and doesn't have any tags."},"73":{description:"{var1} has a \"{var2}\" tag but no \"highway\" tag."},"74":{description:"{var1} has an empty tag: \"{var2}\"."},"75":{description:"{var1} has a name \"{var2}\" but no other tags."},"90":{title:"Motorway without ref tag",description:"{var1} is tagged as a motorway and therefore needs a \"ref\", \"nat_ref\", or \"int_ref\" tag."},"100":{title:"Place of worship without religion",description:"{var1} is tagged as a place of worship and therefore needs a religion tag."},"110":{title:"Point of interest without name",description:"{var1} is tagged as a \"{var2}\" and therefore needs a name tag."},"120":{title:"Way without nodes",description:"{var1} has just one single node."},"130":{title:"Disconnected way",description:"{var1} is not connected to the rest of the map."},"150":{title:"Railway crossing without tag",description:"{var1} of a highway and a railway needs to be tagged as \"railway=crossing\" or \"railway=level_crossing\"."},"160":{title:"Railway layer conflict",description:"There are ways in different layers (e.g. tunnel or bridge) meeting at {var1}."},"170":{title:"FIXME tagged item",description:"{var1} has a FIXME tag: {var2}"},"180":{title:"Relation without type",description:"{var1} is missing a \"type\" tag."},"190":{title:"Intersection without junction",description:"{var1} intersects the {var2} {var3} but there is no junction node, bridge, or tunnel."},"200":{title:"Overlapping ways",description:"{var1} overlaps the {var2} {var3}."},"210":{title:"Self-intersecting way",description:"There is an unspecified issue with self intersecting ways."},"211":{description:"{var1} contains more than one node multiple times. Nodes are {var2}. This may or may not be an error."},"212":{description:"{var1} has only two different nodes and contains one of them more than once."},"220":{title:"Misspelled tag",description:"{var1} is tagged \"{var2}\" where \"{var3}\" looks like \"{var4}\"."},"221":{description:"{var1} has a suspicious tag \"{var2}\"."},"230":{title:"Layer conflict",description:"{var1} is a junction of ways on different layers."},"231":{description:"{var1} is a junction of ways on different layers: {var2}.",layer:"(layer: {layer})"},"232":{description:"{var1} is tagged with \"layer={var2}\". This need not be an error but it looks strange."},"270":{title:"Unusual motorway connection",description:"{var1} is a junction of a motorway and a highway other than \"motorway\", \"motorway_link\", \"trunk\", \"rest_area\", or \"construction\". Connection to \"service\" or \"unclassified\" is only valid if it has \"access=no/private\", or it leads to a motorway service area, or if it is a \"service=parking_aisle\"."},"280":{title:"Boundary issue",description:"There is an unspecified issue with this boundary."},"281":{title:"Boundary missing name",description:"{var1} has no name."},"282":{title:"Boundary missing admin level",description:"The boundary of {var1} has no valid numeric admin_level. Please do not mix admin levels (e.g. \"6;7\"). Always tag the lowest admin_level of all boundaries."},"283":{title:"Boundary not a closed loop",description:"The boundary of {var1} is not a closed loop."},"284":{title:"Boundary is split",description:"The boundary of {var1} splits here."},"285":{title:"Boundary admin_level too high",description:"{var1} has \"admin_level={var2}\" but belongs to a relation with lower \"admin_level\" (e.g. higher priority); it should have the lowest \"admin_level\" of all relations."},"290":{title:"Restriction issue",description:"There is an unspecified issue with this restriction."},"291":{title:"Restriction missing type",description:"{var1} has an unrecognized restriction type."},"292":{title:"Restriction missing \"from\" way",description:"{var1} has {var2} \"from\" members, but it should have 1."},"293":{title:"Restriction missing \"to\" way",description:"{var1} has {var2} \"to\" members, but it should have 1."},"294":{title:"Restriction \"from\" or \"to\" is not a way",description:"{var1} has \"from\" or \"to\" members which should be ways. {var2}."},"295":{title:"Restriction \"via\" is not an endpoint",description:"{var1} has a \"via\" (node {var2}) which is not the first or the last member of \"{var3}\" (way {var4})."},"296":{title:"Unusual restriction angle",description:"{var1} has a restriction type \"{var2}\" but the angle is {var3} degrees. Maybe the restriction type is not appropriate?"},"297":{title:"Wrong direction of \"to\" way",description:"{var1} does not match the direction of \"to\" way {var2}."},"298":{title:"Redundant restriction - oneway",description:"{var1} may be redundant. Entry already prohibited by \"oneway\" tag on {var2}."},"300":{title:"Missing maxspeed",description:"{var1} is missing a \"maxspeed\" tag and is tagged as motorway, trunk, primary, or secondary."},"310":{title:"Roundabout issue",description:"There is an unspecified issue with this roundabout."},"311":{title:"Roundabout not closed loop",description:"{var1} is part of a roundabout but is not closed-loop. (Split carriageways approaching a roundabout should not be tagged as roundabout)."},"312":{title:"Roundabout wrong direction",description:"If {var1} is in a country with {var2} traffic then its orientation goes the wrong way around."},"313":{title:"Roundabout weakly connected",description:"{var1} has only {var2} other road(s) connected. Roundabouts typically have 3 or more."},"320":{title:"Improper link connection",description:"{var1} is tagged as \"{var2}\" but doesn't have a connection to any other \"{var3}\" or \"{var4}\"."},"350":{title:"Improper bridge tag",description:"{var1} doesn't have a tag in common with its surrounding ways that shows the purpose of this bridge. There should be one of these tags: {var2}."},"360":{title:"Missing local name tag",description:"It would be nice if {var1} had a local name tag \"name:XX={var2}\" where XX shows the language of its common name \"{var2}\"."},"370":{title:"Doubled places",description:"{var1} has tags in common with the surrounding way {var2} {var3} and seems to be redundant.",including_the_name:"(including the name {name})"},"380":{title:"Non-physical use of sport tag",description:"{var1} is tagged \"{var2}\" but has no physical tag (e.g. \"leisure\", \"building\", \"amenity\", or \"highway\")."},"390":{title:"Missing tracktype",description:"{var1} doesn't have a \"tracktype\" tag."},"400":{title:"Geometry issue",description:"There is an unspecified issue with the geometry here."},"401":{title:"Missing turn restriction",description:"Ways {var1} and {var2} join in a very sharp angle here and there is no oneway tag or turn restriction that prevents turning."},"402":{title:"Impossible angle",description:"{var1} bends in a very sharp angle here."},"410":{title:"Website issue",description:"There is an unspecified issue with a contact website or URL."},"411":{description:"{var1} may have an outdated URL: {var2} returned HTTP status code {var3}."},"412":{description:"{var1} may have an outdated URL: {var2} contained suspicious text \"{var3}\"."},"413":{description:"{var1} may have an outdated URL: {var2} did not contain keywords \"{var3}\"."}}}},streetside:{tooltip:"Streetside photos from Microsoft",title:"Bing Streetside",report:"Report a privacy concern with this image",view_on_bing:"View on Bing Maps",hires:"High resolution"},mapillary_images:{tooltip:"Street-level photos from Mapillary"},mapillary:{title:"Mapillary",signs:{tooltip:"Traffic signs from Mapillary"},view_on_mapillary:"View this image on Mapillary"},openstreetcam_images:{tooltip:"Street-level photos from OpenStreetCam"},openstreetcam:{title:"OpenStreetCam",view_on_openstreetcam:"View this image on OpenStreetCam"},note:{note:"Note",title:"Edit note",anonymous:"anonymous",closed:"(Closed)",commentTitle:"Comments",status:{opened:"opened {when}",reopened:"reopened {when}",commented:"commented {when}",closed:"closed {when}"},newComment:"New Comment",inputPlaceholder:"Enter a comment to share with other users.",close:"Close Note",open:"Reopen Note",comment:"Comment",close_comment:"Close and Comment",open_comment:"Reopen and Comment",report:"Report","new":"New Note",newDescription:"Describe the issue.",save:"Save Note",login:"You must log in to change or comment on this note.",upload_explanation:"Your comments will be publicly visible to all OpenStreetMap users.",upload_explanation_with_user:"Your comments as {user} will be publicly visible to all OpenStreetMap users."},help:{title:"Help",key:"H",help:{title:"Help",welcome:"Welcome to the iD editor for [OpenStreetMap](https://www.openstreetmap.org/). With this editor you can update OpenStreetMap right from your web browser.",open_data_h:"Open Data",open_data:"Edits that you make on this map will be visible to everyone who uses OpenStreetMap. Your edits can be based on personal knowledge, on-the-ground surveying, or imagery collected from aerial or street level photos. Copying from commercial sources, like Google Maps, [is strictly forbidden](https://www.openstreetmap.org/copyright).",before_start_h:"Before you start",before_start:"You should be familiar with OpenStreetMap and this editor before you start editing. iD contains a walkthrough to teach you the basics of editing OpenStreetMap. Click \"Start the Walkthrough\" on this screen to take the tutorial - it takes only about 15 minutes.",open_source_h:"Open Source",open_source:"The iD editor is a collaborative open source project, and you are using version {version} now. The source code is available [on GitHub](https://github.com/openstreetmap/iD).",open_source_help:"You can help iD by [translating](https://github.com/openstreetmap/iD/blob/master/CONTRIBUTING.md#translating) or [reporting bugs](https://github.com/openstreetmap/iD/issues)."},overview:{title:"Overview",navigation_h:"Navigation",navigation_drag:"You can drag the map by pressing and holding down the {leftclick} left mouse button and moving the mouse around. You can also use the `↓`, `↑`, `←`, `→` arrow keys on your keyboard.",navigation_zoom:"You can zoom in or out by scrolling with the mouse wheel or trackpad, or by clicking the {plus} / {minus} buttons along the side of the map. You can also use the `+`, `-` keys on your keyboard.",features_h:"Map Features",features:"We use the word *features* to describe things that appear on the map, such as roads, buildings, or points of interest. Anything in the real world can be mapped as a feature on OpenStreetMap. Map features are represented on the map using *points*, *lines*, or *areas*.",nodes_ways:"In OpenStreetMap, points are sometimes called *nodes*, and lines and areas are sometimes called *ways*."},editing:{title:"Editing & Saving",select_h:"Select",select_left_click:"{leftclick} Left-click on a feature to select it. This will highlight it with a pulsing glow, and the sidebar will display details about that feature, such as its name or address.",select_right_click:"{rightclick} Right-click on a feature to display the editing menu, which shows the commands that are available, such as rotating, moving, and deleting.",multiselect_h:"Multiselect",multiselect_shift_click:"`{shift}`+{leftclick} left-click to select several features together.  This makes it easier to move or delete multiple items.",multiselect_lasso:"Another way to select multiple features is to hold down the `{shift}` key, then press and hold down the {leftclick} left mouse button and drag the mouse to draw a selection lasso. All of the points inside the lasso area will be selected.",undo_redo_h:"Undo & Redo",undo_redo:"Your edits are stored locally in your browser until you choose to save them to the OpenStreetMap server. You can undo edits by clicking the {undo} **Undo** button, and redo them by clicking the {redo} **Redo** button.",save_h:"Save",save:"Click {save} **Save** to finish your edits and send them to OpenStreetMap. You should remember to save your work frequently!",save_validation:"On the save screen, you'll have a chance to review what you've done. iD will also perform some basic checks for missing data and may offer helpful suggestions and warnings if something doesn't seem right.",upload_h:"Upload",upload:"Before uploading your changes you must enter a [changeset comment](https://wiki.openstreetmap.org/wiki/Good_changeset_comments). Then click **Upload** to send your changes to OpenStreetMap, where they will be merged into the map and publicly visible to everyone.",backups_h:"Automatic Backups",backups:"If you can't finish your edits in one sitting, for example if your computer crashes or you close the browser tab, your edits are still saved in your browser's storage. You can come back later (on the same browser and computer), and iD will offer to restore your work.",keyboard_h:"Keyboard Shortcuts",keyboard:"You can view a list of keyboard shortcuts by pressing the `?` key."},feature_editor:{title:"Feature Editor",intro:"The *feature editor* appears alongside the map, and allows you to see and edit all of the information for the selected feature.",definitions:"The top section displays the feature's type. The middle section contains *fields* showing the feature's attributes, such as its name or address.",type_h:"Feature Type",type:"You can click on the feature type to change the feature to a different type. Everything that exists in the real world can be added to OpenStreetMap, so there are thousands of feature types to choose from.",type_picker:"The type picker displays the most common feature types, such as parks, hospitals, restaurants, roads, and buildings. You can search for anything by typing what you're looking for in the search box. You can also click the {inspect} **Info** icon next to the feature type to learn more about it.",fields_h:"Fields",fields_all_fields:"The \"All fields\" section contains all of the feature's details that you may edit. In OpenStreetMap, all of the fields are optional, and it's OK to leave a field blank if you are unsure.",fields_example:"Each feature type will display different fields. For example, a road may display fields for its surface and speed limit, but a restaurant may display fields for the type of food it serves and the hours it is open.",fields_add_field:"You can also click the \"Add field\" dropdown to add more fields, such as a description, Wikipedia link, wheelchair access, and more.",tags_h:"Tags",tags_all_tags:"Below the fields section, you can expand the \"All tags\" section to edit any of the OpenStreetMap *tags* for the selected feature. Each tag consists of a *key* and *value*, data elements that define all of the features stored in OpenStreetMap.",tags_resources:"Editing a feature's tags requires intermediate knowledge about OpenStreetMap. You should consult resources like the [OpenStreetMap Wiki](https://wiki.openstreetmap.org/wiki/Main_Page) or [Taginfo](https://taginfo.openstreetmap.org/) to learn more about accepted OpenStreetMap tagging practices."},points:{title:"Points",intro:"*Points* can be used to represent features such as shops, restaurants, and monuments. They mark a specific location, and describe what's there.",add_point_h:"Adding Points",add_point:"To add a point, click the {point} **Point** button on the toolbar above the map, or press the shortcut key `1`. This will change the mouse cursor to a cross symbol.",add_point_finish:"To place the new point on the map, position the mouse cursor where the point should go, then {leftclick} left-click or press `Space`.",move_point_h:"Moving Points",move_point:"To move a point, place the mouse cursor over the point, then press and hold the {leftclick} left mouse button while dragging the point to its new location.",delete_point_h:"Deleting Points",delete_point:"It's OK to delete features that don't exist in the real world. Deleting a feature from OpenStreetMap removes it from the map that everyone uses, so you should make sure a feature is really gone before you delete it.",delete_point_command:"To delete a point, {rightclick} right-click on the point to select it and show the edit menu, then use the {delete} **Delete** command."},lines:{title:"Lines",intro:"*Lines* are used to represent features such as roads, railroads, and rivers. Lines should be drawn down the center of the feature that they represent.",add_line_h:"Adding Lines",add_line:"To add a line, click the {line} **Line** button on the toolbar above the map, or press the shortcut key `2`. This will change the mouse cursor to a cross symbol.",add_line_draw:"Next, position the mouse cursor where the line should begin and {leftclick} left-click or press `Space` to begin placing nodes along the line. Continue placing more nodes by clicking or pressing `Space`. While drawing, you can zoom in or drag the map in order to add more detail.",add_line_finish:"To finish a line, press `{return}` or click again on the last node.",modify_line_h:"Modifying Lines",modify_line_dragnode:"Often you'll see lines that aren't shaped correctly, for example a road that does not match up with the background imagery. To adjust the shape of a line, first {leftclick} left-click to select it. All nodes of the line will be drawn as small circles. You can then drag the nodes to better locations.",modify_line_addnode:"You can also create new nodes along a line either by {leftclick}**x2** double-clicking on the line or by dragging the small triangles at the midpoints between nodes.",connect_line_h:"Connecting Lines",connect_line:"Having roads connected properly is important for the map and essential for providing driving directions.",connect_line_display:"The connections between roads are drawn with gray circles. The endpoints of a line are drawn with larger white circles if they don't connect to anything.",connect_line_drag:"To connect a line to another feature, drag one of the line's nodes onto the other feature until both features snap together. Tip: You can hold down the `{alt}` key to prevent nodes from connecting to other features.",connect_line_tag:"If you know that the connection has traffic lights or crosswalks, you can add them by selecting the connecting node and using the feature editor to select the correct feature's type.",disconnect_line_h:"Disconnecting Lines",disconnect_line_command:"To disconnect a road from another feature, {rightclick} right-click the connecting node and select the {disconnect} **Disconnect** command from the editing menu.",move_line_h:"Moving Lines",move_line_command:"To move an entire line, {rightclick} right-click the line and select the {move} **Move** command from the editing menu. Then move the mouse, and {leftclick} left-click to place the line in a new location.",move_line_connected:"Lines that are connected to other features will stay connected as you move the line to a new location. iD may prevent you from moving a line across another connected line.",delete_line_h:"Deleting Lines",delete_line:"If a line is entirely incorrect, for example a road that doesn't exist in the real world, it's OK to delete it. Be careful when deleting features: the background imagery you are using might be outdated, and a road that looks wrong could simply be newly built.",delete_line_command:"To delete a line, {rightclick} right-click on the line to select it and show the edit menu, then use the {delete} **Delete** command."},areas:{title:"Areas",intro:"*Areas* are used to show the boundaries of features like lakes, buildings, and residential areas. Areas should be traced around the edge of the feature that they represent, for example, around the base of a building.",point_or_area_h:"Points or Areas?",point_or_area:"Many features can be represented as points or areas. You should map buildings and property outlines as areas whenever possible. Place points inside a building area to represent businesses, amenities, and other features located inside the building.",add_area_h:"Adding Areas",add_area_command:"To add an area, click the {area} **Area** button on the toolbar above the map, or press the shortcut key `3`. This will change the mouse cursor to a cross symbol.",add_area_draw:"Next, position the mouse cursor at one of the corners of the feature and {leftclick} left-click or press `Space` to begin placing nodes around the outer edge of the area. Continue placing more nodes by clicking or pressing `Space`. While drawing, you can zoom in or drag the map in order to add more detail.",add_area_finish:"To finish an area, press `{return}` or click again on either the first or last node.",square_area_h:"Square Corners",square_area_command:"Many area features like buildings have square corners. To square the corners of an area, {rightclick} right-click the edge of the area and select the {orthogonalize} **Square** command from the editing menu.",modify_area_h:"Modifying Areas",modify_area_dragnode:"Often you'll see areas that aren't shaped correctly, for example a building that does not match up with the background imagery. To adjust the shape of an area, first {leftclick} left-click to select it. All nodes of the area will be drawn as small circles. You can then drag the nodes to better locations.",modify_area_addnode:"You can also create new nodes along an area either by {leftclick}**x2** double-clicking on the edge of the area or by dragging the small triangles at the midpoints between nodes.",delete_area_h:"Deleting Areas",delete_area:"If an area is entirely incorrect, for example a building that doesn't exist in the real world, it's OK to delete it. Be cautious when deleting features - the background imagery you are using might be outdated, and a building that looks wrong could simply be newly built.",delete_area_command:"To delete an area, {rightclick} right-click on the area to select it and show the edit menu, then use the {delete} **Delete** command."},relations:{title:"Relations",intro:"A *relation* is a special type of feature in OpenStreetMap that groups together other features. The features that belong to a relation are called *members*, and each member can have a *role* in the relation.",edit_relation_h:"Editing Relations",edit_relation:"At the bottom of the feature editor, you can expand the \"All relations\" section to see if the selected feature is a member of any relations. You can then click on the relation to select and edit it.",edit_relation_add:"To add a feature to a relation, select the feature, then click the {plus} add button in the \"All relations\" section of the feature editor. You can choose from a list of nearby relations, or choose the \"New relation...\" option.",edit_relation_delete:"You can also click the {delete} **Delete** button to remove the selected feature from the relation. If you remove all of the members from a relation, the relation will be deleted automatically.",maintain_relation_h:"Maintaining Relations",maintain_relation:"For the most part, iD will maintain relations automatically as you edit. You should take care when replacing features that might be members of relations. For example if you delete a section of road and draw a new section of road to replace it, you should add the new section to the same relations (routes, turn restrictions, etc.) as the original.",relation_types_h:"Relation Types",multipolygon_h:"Multipolygons",multipolygon:"A *multipolygon* relation is a group of one or more *outer* features and one or more inner features. The outer features define the outer edges of the multipolygon, and the inner features define sub-areas or holes cut out from the inside of the multipolygon.",multipolygon_create:"To create a multipolygon, for example a building with a hole in it, draw the outer edge as an area and the inner edge as a line or different kind of area. Then `{shift}`+{leftclick} left-click to select both features, {rightclick} right-click to show the edit menu, and select the {merge} **Merge** command.",multipolygon_merge:"Merging several lines or areas will create a new multipolygon relation with all selected areas as members. iD will choose the inner and outer roles automatically, based on which features are contained inside other features.",turn_restriction_h:"Turn restrictions",turn_restriction:"A *turn restriction* relation is a group of several road segments in an intersection. Turn restrictions consist of a *from* road, *via* node or roads, and a *to* road.",turn_restriction_field:"To edit turn restrictions, select a junction node where two or more roads meet. The feature editor will display a special \"Turn Restrictions\" field containing a model of the intersection.",turn_restriction_editing:"In the \"Turn Restrictions\" field, click to select a \"from\" road, and see whether turns are allowed or restricted to any of the \"to\" roads. You can click on the turn icons to toggle them between allowed and restricted. iD will create relations automatically and set the from, via, and to roles based on your choices.",route_h:"Routes",route:"A *route* relation is a group of one or more line features that together form a route network, like a bus route, train route, or highway route.",route_add:"To add a feature to a route relation, select the feature and scroll down to the \"All relations\" section of the feature editor, then click the {plus} add button to add this feature to a nearby existing relation or a new relation.",boundary_h:"Boundaries",boundary:"A *boundary* relation is a group of one or more line features that together form an administrative boundary.",boundary_add:"To add a feature to a boundary relation, select the feature and scroll down to the \"All relations\" section of the feature editor, then click the {plus} add button to add this feature to a nearby existing relation or a new relation."},notes:{title:"Notes",intro:"*Notes* are used to alert other users that a feature requires fixing or attention. Notes mark a specific location on the map. To view existing notes or add new ones, click the {data} **Map data** panel to enable the OpenStreetMap notes layer.",add_note_h:"Adding Notes",add_note:"To add a new note, click the {note} **Note** button on the toolbar above the map, or press the shortcut key `4`. This will change the mouse cursor to a cross symbol. To place the new note on the map, position the mouse cursor where the note should go, then {leftclick} left-click or press `Space`.",move_note:"Only new notes can be moved. To move a note, place the mouse cursor over the new note, then press and hold the {leftclick} left mouse button while dragging the note to its new location.",update_note_h:"Closing, Reopening, and Commenting",update_note:"An existing note can be updated by closing it, reopening it, or adding a comment to it. Closing a note indicates that the problem has been resolved. Reopening a note indicates that the original issue is not resolved.",save_note_h:"Saving Notes",save_note:"You must save any note edits individually by clicking the buttons below the note comments. Note edits are **not** included in changesets that you upload to OpenStreetMap."},imagery:{title:"Background Imagery",intro:"The background imagery that appears beneath the map data is an important resource for mapping. This imagery can be aerial photos collected from satellites, airplanes, and drones, or it can be scanned historical maps or other freely available source data.",sources_h:"Imagery Sources",choosing:"To see which imagery sources are available for editing, click the {layers} **Background settings** button on the side of the map.",sources:"By default, a [Bing Maps](https://www.bing.com/maps/) satellite layer is chosen as the background image. Depending on where you are editing, other imagery sources will be available. Some may be newer or have higher resolution, so it is always useful to check and see which layer is the best one to use as a mapping reference.",offsets_h:"Adjusting Imagery Offset",offset:"Imagery is sometimes offset slightly from accurate map data. If you see a lot of roads or buildings shifted from the background imagery, it may be the imagery that's incorrect, so don't move them all to match the background. Instead, you can adjust the background so that it matches the existing data by expanding the \"Adjust Imagery Offset\" section at the bottom of the Background Settings pane.",offset_change:"Click on the small triangles to adjust the imagery offset in small steps, or hold the {leftclick} left mouse button and drag within the gray square to slide the imagery into alignment."},streetlevel:{title:"Street Level Photos",intro:"Street level photos are useful for mapping traffic signs, businesses, and other details that you can't see from satellite and aerial images. The iD editor supports street level photos from [Bing Streetside](https://www.microsoft.com/en-us/maps/streetside), [Mapillary](https://www.mapillary.com), and [OpenStreetCam](https://www.openstreetcam.org).",using_h:"Using Street Level Photos",using:"To use street level photos for mapping, click the {data} **Map data** panel on the side of the map to enable or disable the available photo layers.",photos:"When enabled, the photo layer displays a line along the sequence of photos. At higher zoom levels, a circle marks at each photo location, and at even higher zoom levels, a cone indicates the direction the camera was facing when the photo was taken.",viewer:"When you click on one of the photo locations, a photo viewer appears in the bottom corner of the map. The photo viewer contains controls to step forward and backward in the image sequence. It also shows the username of the person who captured the image, the date it was captured, and a link to view the image on the original site."},gps:{title:"GPS Traces",intro:"Collected GPS traces are a valuable source of data for OpenStreetMap. This editor supports *.gpx*, *.geojson*, and *.kml* files on your local computer. You can collect GPS traces with a smartphone, sports watch, or other GPS device.",survey:"For information on how to perform a GPS survey, read [Mapping with a smartphone, GPS, or paper](http://learnosm.org/en/mobile-mapping/).",using_h:"Using GPS Traces",using:"To use a GPS trace for mapping, drag and drop the data file onto the map editor. If it's recognized, it will be drawn on the map as a bright purple line. Click the {data} **Map data** panel on the side of the map to enable, disable, or zoom to your GPS data.",tracing:"The GPS track isn't sent to OpenStreetMap - the best way to use it is to draw on the map, using it as a guide for the new features that you add.",upload:"You can also [upload your GPS data to OpenStreetMap](https://www.openstreetmap.org/trace/create) for other users to use."},qa:{title:"Quality Assurance",intro:"*Quality Assurance* (Q/A) tools can find improper tags, disconnected roads, and other issues with OpenStreetMap, which mappers can then fix. To view existing Q/A issues, click the {data} **Map data** panel to enable a specific Q/A layer.",tools_h:"Tools",tools:"The following tools are currently supported: [KeepRight](https://www.keepright.at/) and [ImproveOSM](https://improveosm.org/en/). Expect iD to support [Osmose](https://osmose.openstreetmap.fr/) and more Q/A tools in the future.",issues_h:"Handling Issues",issues:"Handling Q/A issues is similar to handling notes. Click on a marker to view the issue details in the sidebar. Each tool has its own capabilities, but generally you can comment and/or close an issue."},field:{restrictions:{title:"Turn Restrictions Help",about:{title:"About",about:"This field allows you to inspect and modify turn restrictions. It displays a model of the selected intersection including other nearby connected roads.",from_via_to:"A turn restriction always contains: one **FROM way**, one **TO way**, and either one **VIA node** or one or more **VIA ways**.",maxdist:"The \"{distField}\" slider controls how far to search for additional connected roads.",maxvia:"The \"{viaField}\" slider adjusts how many via ways may be included in the search. (Tip: simple is better)"},inspecting:{title:"Inspecting",about:"Hover over any **FROM** segment to see whether it has any turn restrictions. Each possible **TO** destination will be drawn with a colored shadow showing whether a restriction exists.",from_shadow:"{fromShadow} **FROM segment**",allow_shadow:"{allowShadow} **TO Allowed**",restrict_shadow:"{restrictShadow} **TO Restricted**",only_shadow:"{onlyShadow} **TO Only**",restricted:"\"Restricted\" means that there is a turn restriction, for example \"No Left Turn\".",only:"\"Only\" means that a vehicle taking that path may only make that choice, for example \"Only Straight On\"."},modifying:{title:"Modifying",about:"To modify turn restrictions, first click on any starting **FROM** segment to select it. The selected segment will pulse, and all possible **TO** destinations will appear as turn symbols.",indicators:"Then, click on a turn symbol to toggle it between \"Allowed\", \"Restricted\", and \"Only\".",allow_turn:"{allowTurn} **TO Allowed**",restrict_turn:"{restrictTurn} **TO Restricted**",only_turn:"{onlyTurn} **TO Only**"},tips:{title:"Tips",simple:"**Prefer simple restrictions over complex ones.**",simple_example:"For example, avoid creating a via-way restriction if a simpler via-node turn restriction will do.",indirect:"**Some restrictions display the text \"(indirect)\" and are drawn lighter.**",indirect_example:"These restrictions exist because of another nearby restriction. For example, an \"Only Straight On\" restriction will indirectly create \"No Turn\" restrictions for all other paths through the intersection.",indirect_noedit:"You may not edit indirect restrictions. Instead, edit the nearby direct restriction."}}}},issues:{title:"Issues",key:"I",list_title:"Issues ({count})",errors:{list_title:"Errors ({count})"},warnings:{list_title:"Warnings ({count})"},rules:{title:"Rules"},no_issues:{message:{everything:"Everything looks fine",everything_in_view:"Everything in view looks fine",edits:"Your edits look fine",edits_in_view:"Your edits in view look fine"},hidden_issues:{none:"Detected issues will appear here",elsewhere:"Issues elsewhere: {count}",other_features:"Issues with other features: {count}",other_features_elsewhere:"Issues elsewhere with other features: {count}",disabled_rules:"Issues with disabled rules: {count}",disabled_rules_elsewhere:"Issues elsewhere with disabled rules: {count}",ignored_issues:"Ignored issues: {count}",ignored_issues_elsewhere:"Ignored issues elsewhere: {count}"}},options:{what:{title:"Check:",edited:"My Edits",all:"Everything"},where:{title:"Where:",visible:"In View",all:"Everywhere"}},suggested:"Suggested updates:",enable_all:"Enable All",disable_all:"Disable All",reset_ignored:"Reset Ignored ({count})",fix_one:{title:"fix"},fix_all:{title:"Fix All",annotation:"Fixed several validation issues."},almost_junction:{title:"Almost Junctions",message:"{feature} is very close but not connected to {feature2}",tip:"Find features that should possibly be connected to other nearby features",self:{message:"{feature} ends very close to itself but does not reconnect"},"highway-highway":{reference:"Intersecting highways should share a junction vertex."}},close_nodes:{title:"Very Close Points",tip:"Find redundant and crowded points",message:"Two points in {way} are very close together",reference:"Redundant points in a way should be merged or moved apart.",detached:{message:"{feature} is too close to {feature2}",reference:"Separate points should not share a location."}},crossing_ways:{title:"Crossings Ways",message:"{feature} crosses {feature2}",tip:"Find features that incorrectly cross over one another","building-building":{reference:"Buildings should not intersect except on different layers."},"building-highway":{reference:"Highways crossing buildings should use bridges, tunnels, coverings, or entrances."},"building-railway":{reference:"Railways crossing buildings should use bridges or tunnels."},"building-waterway":{reference:"Waterways crossing buildings should use tunnels or different layers."},"highway-highway":{reference:"Crossing highways should use bridges, tunnels, or intersections."},"highway-railway":{reference:"Highways crossing railways should use bridges, tunnels, or level crossings."},"highway-waterway":{reference:"Highways crossing waterways should use bridges, tunnels, or fords."},"railway-railway":{reference:"Crossing railways should be connected or use bridges or tunnels."},"railway-waterway":{reference:"Railways crossing waterways should use bridges or tunnels."},"waterway-waterway":{reference:"Crossing waterways should be connected or use tunnels."},"tunnel-tunnel":{reference:"Crossing tunnels should use different layers."},"tunnel-tunnel_connectable":{reference:"Crossing tunnels should be connected or use different layers."},"bridge-bridge":{reference:"Crossing bridges should use different layers."},"bridge-bridge_connectable":{reference:"Crossing bridges should be connected or use different layers."},"indoor-indoor":{reference:"Crossing indoor features should use different levels."},"indoor-indoor_connectable":{reference:"Crossing indoor features should be connected or use different levels."}},disconnected_way:{title:"Disconnected Ways",tip:"Find unroutable roads, paths, and ferry routes",routable:{message:{multiple:"{count} routable features are connected only to each other."},reference:"All roads, paths, and ferry routes should connect to form a single routing network."},highway:{message:"{highway} is disconnected from other roads and paths"}},fixme_tag:{title:"\"Fix Me\" Requests",message:"{feature} has a \"Fix Me\" request",tip:"Find features with \"fixme\" tags",reference:"A \"fixme\" tag indicates that a mapper has requested help with a feature."},generic_name:{title:"Suspicious Names",message:"{feature} has the suspicious name \"{name}\"",tip:"Find features with generic or suspicious names",reference:"Names should be the actual, on-the-ground names of features."},incompatible_source:{title:"Suspicious Sources",tip:"Find features with suspicious source tags",google:{feature:{message:"{feature} lists Google as a data source"},reference:"Google products are proprietary and must not be used as references."}},invalid_format:{title:"Invalid Formatting",tip:"Find tags with unexpected formats",email:{message:"{feature} has an invalid email address.",message_multi:"{feature} has multiple invalid email addresses.",reference:"Email addresses must look like \"user@example.com\"."},website:{message:"{feature} has an invalid website.",message_multi:"{feature} has multiple invalid websites.",reference:"Websites should start with \"http\" or \"https\"."}},missing_role:{title:"Missing Roles",message:"{member} has no role within {relation}",tip:"Find relations with missing or incorrect member roles",multipolygon:{reference:"Multipolygon members must have an inner or outer role."}},missing_tag:{title:"Missing Tags",tip:"Find features that are missing descriptive tags",reference:"Features must have tags that define what they are.",any:{message:"{feature} has no tags"},descriptive:{message:"{feature} has no descriptive tags"},relation_type:{message:"{feature} is a relation without a type"}},old_multipolygon:{message:"{multipolygon} has misplaced tags",reference:"Multipolygons should be tagged on their relation, not their outer way."},outdated_tags:{title:"Outdated Tags",message:"{feature} has outdated tags",tip:"Find features with deprecated tags that can be updated",reference:"Some tags change over time and should be updated.",incomplete:{message:"{feature} has incomplete tags",reference:"Some features should have additional tags."},noncanonical_brand:{message:"{feature} looks like a brand with nonstandard tags",reference:"All features of the same brand should be tagged the same way."}},private_data:{title:"Private Information",tip:"Find features that may contain private information",reference:"Sensitive data like personal phone numbers should not be tagged.",contact:{message:"{feature} might be tagged with private contact information"}},tag_suggests_area:{title:"Lines Tagged as Areas",message:"{feature} should be a closed area based on the tag \"{tag}\"",tip:"Find features that are tagged as lines and should possibly be tagged as areas",reference:"Areas must have connected endpoints."},unknown_road:{message:"{feature} has no classification",reference:"Roads without a specific type may not appear in maps or routing."},impossible_oneway:{title:"Impossible One-Ways",tip:"Find route issues with one-way features",waterway:{connected:{start:{message:"{feature} flows away from a connected waterway"},end:{message:"{feature} flows against a connected waterway"},reference:"Waterway segments should all flow in the same direction."}},highway:{start:{message:"{feature} is unreachable",reference:"One-way roads must be accessible via other roads."},end:{message:"{feature} has no outlet",reference:"One-way roads must lead to other roads."}}},unsquare_way:{title:"Unsquare Corners (up to {val}°)",message:"{feature} has unsquare corners",tip:"Find features with unsquare corners that can be drawn better",buildings:{reference:"Buildings with unsquare corners can often be drawn more accurately."}},fix:{connect_almost_junction:{annotation:"Connected very close features."},connect_crossing_features:{annotation:"Connected crossing features."},connect_endpoints:{title:"Connect the ends",annotation:"Connected the endpoints of a way."},connect_feature:{title:"Connect this feature"},connect_features:{title:"Connect the features"},continue_from_start:{title:"Continue drawing from start"},continue_from_end:{title:"Continue drawing from end"},delete_feature:{title:"Delete this feature"},ignore_issue:{title:"Ignore this issue"},merge_close_vertices:{annotation:"Merged very close points in a way."},merge_points:{title:"Merge these points"},move_points_apart:{title:"Move these points apart"},move_tags:{title:"Move the tags",annotation:"Moved tags."},remove_from_relation:{title:"Remove from relation"},remove_generic_name:{title:"Remove the name",annotation:"Removed a generic name."},remove_private_info:{annotation:"Removed private information."},remove_proprietary_data:{title:"Remove any proprietary data"},remove_tag:{title:"Remove the tag",annotation:"Removed tag."},remove_tags:{title:"Remove the tags"},reposition_features:{title:"Reposition the features"},reverse_feature:{title:"Reverse this feature"},select_preset:{title:"Select a feature type"},select_road_type:{title:"Select a road type"},set_as_inner:{title:"Set as inner"},set_as_outer:{title:"Set as outer"},square_feature:{title:"Square this feature"},tag_as_disconnected:{title:"Tag as disconnected",annotation:"Tagged very close features as disconnected."},tag_as_unsquare:{title:"Tag as physically unsquare",annotation:"Tagged a way as having unsquare corners."},tag_this_as_higher:{title:"Tag this as higher"},tag_this_as_lower:{title:"Tag this as lower"},upgrade_tags:{title:"Upgrade the tags",annotation:"Upgraded old tags."},use_bridge_or_tunnel:{title:"Use a bridge or tunnel"},use_different_layers:{title:"Use different layers"},use_different_layers_or_levels:{title:"Use different layers or levels"},use_different_levels:{title:"Use different levels"},use_tunnel:{title:"Use a tunnel"}}},intro:{done:"done",ok:"OK",graph:{block_number:"<value for addr:block_number>",city:"Three Rivers",county:"<value for addr:county>",district:"<value for addr:district>",hamlet:"<value for addr:hamlet>",neighbourhood:"<value for addr:neighbourhood>",postcode:"49093",province:"<value for addr:province>",quarter:"<value for addr:quarter>",state:"MI",subdistrict:"<value for addr:subdistrict>",suburb:"<value for addr:suburb>",countrycode:"us",name:{"1st-avenue":"1st Avenue","2nd-avenue":"2nd Avenue","4th-avenue":"4th Avenue","5th-avenue":"5th Avenue","6th-avenue":"6th Avenue","6th-street":"6th Street","7th-avenue":"7th Avenue","8th-avenue":"8th Avenue","9th-avenue":"9th Avenue","10th-avenue":"10th Avenue","11th-avenue":"11th Avenue","12th-avenue":"12th Avenue","access-point-employment":"Access Point Employment","adams-street":"Adams Street","andrews-elementary-school":"Andrews Elementary School","andrews-street":"Andrews Street","armitage-street":"Armitage Street","barrows-school":"Barrows School","battle-street":"Battle Street","bennett-street":"Bennett Street","bowman-park":"Bowman Park","collins-drive":"Collins Drive","conrail-railroad":"Conrail Railroad","conservation-park":"Conservation Park","constantine-street":"Constantine Street","cushman-street":"Cushman Street","dollar-tree":"Dollar Tree","douglas-avenue":"Douglas Avenue","east-street":"East Street","elm-street":"Elm Street","flower-street":"Flower Street","foster-street":"Foster Street","french-street":"French Street","garden-street":"Garden Street","gem-pawnbroker":"Gem Pawnbroker","golden-finch-framing":"Golden Finch Framing","grant-avenue":"Grant Avenue","hoffman-pond":"Hoffman Pond","hoffman-street":"Hoffman Street","hook-avenue":"Hook Avenue","jefferson-street":"Jefferson Street","kelsey-street":"Kelsey Street","lafayette-park":"LaFayette Park","las-coffee-cafe":"L.A.'s Coffee Cafe","lincoln-avenue":"Lincoln Avenue","lowrys-books":"Lowry's Books","lynns-garage":"Lynn's Garage","main-street-barbell":"Main Street Barbell","main-street-cafe":"Main Street Cafe","main-street-fitness":"Main Street Fitness","main-street":"Main Street","maple-street":"Maple Street","marina-park":"Marina Park","market-street":"Market Street","memory-isle-park":"Memory Isle Park","memory-isle":"Memory Isle","michigan-avenue":"Michigan Avenue","middle-street":"Middle Street","millard-street":"Millard Street","moore-street":"Moore Street","morris-avenue":"Morris Avenue","mural-mall":"Mural Mall","paisanos-bar-and-grill":"Paisano's Bar and Grill","paisley-emporium":"Paisley Emporium","paparazzi-tattoo":"Paparazzi Tattoo","pealer-street":"Pealer Street","pine-street":"Pine Street","pizza-hut":"Pizza Hut","portage-avenue":"Portage Avenue","portage-river":"Portage River","preferred-insurance-services":"Preferred Insurance Services","railroad-drive":"Railroad Drive","river-city-appliance":"River City Appliance","river-drive":"River Drive","river-road":"River Road","river-street":"River Street","riverside-cemetery":"Riverside Cemetery","riverwalk-trail":"Riverwalk Trail","riviera-theatre":"Riviera Theatre","rocky-river":"Rocky River","saint-joseph-river":"Saint Joseph River","scidmore-park-petting-zoo":"Scidmore Park Petting Zoo","scidmore-park":"Scidmore Park","scouter-park":"Scouter Park","sherwin-williams":"Sherwin-Williams","south-street":"South Street","southern-michigan-bank":"Southern Michigan Bank","spring-street":"Spring Street","sturgeon-river-road":"Sturgeon River Road","three-rivers-city-hall":"Three Rivers City Hall","three-rivers-elementary-school":"Three Rivers Elementary School","three-rivers-fire-department":"Three Rivers Fire Department","three-rivers-high-school":"Three Rivers High School","three-rivers-middle-school":"Three Rivers Middle School","three-rivers-municipal-airport":"Three Rivers Municipal Airport","three-rivers-post-office":"Three Rivers Post Office","three-rivers-public-library":"Three Rivers Public Library","three-rivers":"Three Rivers","unique-jewelry":"Unique Jewelry","walnut-street":"Walnut Street","washington-street":"Washington Street","water-street":"Water Street","west-street":"West Street","wheeler-street":"Wheeler Street","william-towing":"William Towing","willow-drive":"Willow Drive","wood-street":"Wood Street","world-fare":"World Fare"}},welcome:{title:"Welcome",welcome:"Welcome! This walkthrough will teach you the basics of editing on OpenStreetMap.",practice:"All of the data in this walkthrough is just for practicing, and any edits that you make in the walkthrough will not be saved.",words:"This walkthrough will introduce some new words and concepts. When we introduce a new word, we'll use *italics*.",mouse:"You can use any input device to edit the map, but this walkthrough assumes you have a mouse with left and right buttons. **If you want to attach a mouse, do so now, then click OK.**",leftclick:"When this tutorial asks you to click or double-click, we mean with the left button. On a trackpad it might be a single-click or single-finger tap. **Left-click {num} times.**",rightclick:"Sometimes we'll also ask you to right-click. This might be the same as control-click, or two-finger tap on a trackpad. Your keyboard might even have a 'menu' key that works like right-click. **Right-click {num} times.**",chapters:"So far, so good! You can use the buttons below to skip chapters at any time or to restart a chapter if you get stuck. Let's begin! **Click '{next}' to continue.**"},navigation:{title:"Navigation",drag:"The main map area shows OpenStreetMap data on top of a background.{br}You can drag the map by pressing and holding the left mouse button while moving the mouse around. You can also use the arrow keys on your keyboard. **Drag the map!**",zoom:"You can zoom in or out by scrolling with the mouse wheel or trackpad, or by clicking the {plus} / {minus} buttons. **Zoom the map!**",features:"We use the word *features* to describe the things that appear on the map. Anything in the real world can be mapped as a feature on OpenStreetMap.",points_lines_areas:"Map features are represented using *points, lines, or areas.*",nodes_ways:"In OpenStreetMap, points are sometimes called *nodes*, and lines and areas are sometimes called *ways*.",click_townhall:"All features on the map can be selected by clicking on them. **Click on the point to select it.**",selected_townhall:"Great! The point is now selected. Selected features are drawn with a pulsing glow.",editor_townhall:"When a feature is selected, the *feature editor* is displayed alongside the map.",preset_townhall:"The top part of the feature editor shows the feature's type. This point is a {preset}.",fields_townhall:"The middle part of the feature editor contains *fields* showing the feature's attributes, such as its name and address.",close_townhall:"**Close the feature editor by hitting escape or pressing the {button} button in the upper corner.**",search_street:"You can also search for features in the current view, or worldwide. **Search for '{name}'.**",choose_street:"**Choose {name} from the list to select it.**",selected_street:"Great! {name} is now selected.",editor_street:"The fields shown for a street are different than the fields that were shown for the town hall.{br}For this selected street, the feature editor shows fields like '{field1}' and '{field2}'. **Close the feature editor by hitting escape or pressing the {button} button.**",play:"Try moving the map and clicking on some other features to see what kinds of things can be added to OpenStreetMap. **When you are ready to continue to the next chapter, click '{next}'.**"},points:{title:"Points",add_point:"*Points* can be used to represent features such as shops, restaurants, and monuments.{br}They mark a specific location, and describe what's there. **Click the {button} Point button to add a new point.**",place_point:"To place the new point on the map, position your mouse cursor where the point should go, then left-click or press the spacebar. **Move the mouse pointer over this building, then left-click or press the spacebar.**",search_cafe:"There are many different features that can be represented by points. The point you just added is a cafe. **Search for '{preset}'.**",choose_cafe:"**Choose {preset} from the list.**",feature_editor:"The point is now marked as a cafe. Using the feature editor, we can add more information about the cafe.",add_name:"In OpenStreetMap, all of the fields are optional, and it's OK to leave a field blank if you are unsure.{br}Let's pretend that you have local knowledge of this cafe, and you know its name. **Add a name for the cafe.**",add_close:"The feature editor will remember all of your changes automatically. **When you are finished adding the name, hit escape, enter, or click the {button} button to close the feature editor.**",reselect:"Often points will already exist, but have mistakes or be incomplete. We can edit existing points. **Click to select the cafe you just created.**",update:"Let's fill in some more details for this cafe. You can change its name, add a cuisine, or add an address. **Change the cafe details.**",update_close:"**When you are finished updating the cafe, hit escape, enter, or click the {button} button to close the feature editor.**",rightclick:"You can right-click on any feature to see the *edit menu*, which shows a list of editing operations that can be performed. **Right-click to select the point you created and show the edit menu.**","delete":"It's OK to delete features that don't exist in the real world.{br}Deleting a feature from OpenStreetMap removes it from the map that everyone uses, so you should make sure a feature is really gone before you delete it. **Click on the {button} button to delete the point.**",undo:"You can always undo any changes up until you save your edits to OpenStreetMap. **Click on the {button} button to undo the delete and get the point back.**",play:"Now that you know how to create and edit points, try creating a few more points for practice! **When you are ready to continue to the next chapter, click '{next}'.**"},areas:{title:"Areas",add_playground:"*Areas* are used to show the boundaries of features like lakes, buildings, and residential areas.{br}They can also be used for more detailed mapping of many features you might normally map as points. **Click the {button} Area button to add a new area.**",start_playground:"Let's add this playground to the map by drawing an area. Areas are drawn by placing *nodes* along the outer edge of the feature. **Click or press spacebar to place a starting node on one of the corners of the playground.**",continue_playground:"Continue drawing the area by placing more nodes along the playground's edge. It is OK to connect the area to the existing walking paths.{br}Tip: You can hold down the '{alt}' key to prevent nodes from connecting to other features. **Continue drawing an area for the playground.**",finish_playground:"Finish the area by pressing enter, or clicking again on either the first or last node. **Finish drawing an area for the playground.**",search_playground:"**Search for '{preset}'.**",choose_playground:"**Choose {preset} from the list.**",add_field:"This playground doesn't have an official name, so we won't add anything in the Name field.{br}Instead let's add some additional details about the playground to the Description field. **Open the Add Field list.**",choose_field:"**Choose {field} from the list.**",retry_add_field:"You didn't select the {field} field. Let's try again.",describe_playground:"**Add a description, then click the {button} button to close the feature editor.**",play:"Good job! Try drawing a few more areas, and see what other kinds of area features you can add to OpenStreetMap. **When you are ready to continue to the next chapter, click '{next}'.**"},lines:{title:"Lines",add_line:"*Lines* are used to represent features such as roads, railroads, and rivers. **Click the {button} Line button to add a new line.**",start_line:"Here is a road that is missing. Let's add it!{br}In OpenStreetMap, lines should be drawn down the center of the road. You can drag and zoom the map while drawing if necessary. **Start a new line by clicking at the top end of this missing road.**",intersect:"Click or press spacebar to add more nodes to the line.{br}Roads, and many other types of lines, are part of a larger network. It is important for these lines to be connected properly in order for routing applications to work. **Click on {name} to create an intersection connecting the two lines.**",retry_intersect:"The road needs to intersect {name}. Let's try again!",continue_line:"Continue drawing the line for the new road. Remember that you can drag and zoom the map if needed.{br}When you are finished drawing, click on the last node again. **Finish drawing the road.**",choose_category_road:"**Select {category} from the list.**",choose_preset_residential:"There are many different types of roads, but this one is a residential road. **Choose the {preset} type.**",retry_preset_residential:"You didn't select the {preset} type. **Click here to choose again.**",name_road:"**Give this road a name, then hit escape, enter, or click the {button} button to close the feature editor.**",did_name_road:"Looks good! Next we will learn how to update the shape of a line.",update_line:"Sometimes you will need to change the shape of an existing line. Here is a road that doesn't look quite right.",add_node:"We can add some nodes to this line to improve its shape. One way to add a node is to double-click the line where you want to add a node. **Double-click on the line to create a new node.**",start_drag_endpoint:"When a line is selected, you can drag any of its nodes by clicking and holding down the left mouse button while you drag. **Drag the endpoint to the place where these roads should intersect.**",finish_drag_endpoint:"This spot looks good. **Release the left mouse button to finish dragging.**",start_drag_midpoint:"Small triangles are drawn at the *midpoints* between nodes. Another way to create a new node is to drag a midpoint to a new location. **Drag the midpoint triangle to create a new node along the curve of the road.**",continue_drag_midpoint:"This line is looking much better! Continue to adjust this line by double-clicking or dragging midpoints until the curve matches the road shape. **When you're happy with how the line looks, click OK.**",delete_lines:"It's OK to delete lines for roads that don't exist in the real world.{br}Here's an example where the city planned a {street} but never built it. We can improve this part of the map by deleting the extra lines.",rightclick_intersection:"The last real street is {street1}, so we will *split* {street2} at this intersection and remove everything above it. **Right click on the intersection node.**",split_intersection:"**Click on the {button} button to split {street}.**",retry_split:"You didn't click the Split button. Try again.",did_split_multi:"Good job! {street1} is now split into two pieces. The top part can be removed. **Click the top part of {street2} to select it.**",did_split_single:"**Click the top part of {street2} to select it.**",multi_select:"{selected} is now selected. Let's also select {other1}. You can shift-click to select multiple things. **Shift-click on {other2}.**",multi_rightclick:"Good! Both lines to delete are now selected. **Right-click on one of the lines to show the edit menu.**",multi_delete:"**Click on the {button} button to delete the extra lines.**",retry_delete:"You didn't click the Delete button. Try again.",play:"Great! Use the skills that you've learned in this chapter to practice editing some more lines. **When you are ready to continue to the next chapter, click '{next}'.**"},buildings:{title:"Buildings",add_building:"OpenStreetMap is the world's largest database of buildings.{br}You can help improve this database by tracing buildings that aren't already mapped. **Click the {button} Area button to add a new area.**",start_building:"Let's add this house to the map by tracing its outline.{br}Buildings should be traced around their footprint as accurately as possible. **Click or press spacebar to place a starting node on one of the corners of the building.**",continue_building:"Continue adding more nodes to trace the outline of the building. Remember that you can zoom in if you want to add more details.{br}Finish the building by pressing enter, or clicking again on either the first or last node. **Finish tracing the building.**",retry_building:"It looks like you had some trouble placing the nodes at the building corners. Try again!",choose_category_building:"**Choose {category} from the list.**",choose_preset_house:"There are many different types of buildings, but this one is clearly a house.{br}If you're not sure of the type, it's OK to just choose the generic Building type. **Choose the {preset} type.**",close:"**Hit escape or click the {button} button to close the feature editor.**",rightclick_building:"**Right-click to select the building you created and show the edit menu.**",square_building:"The house that you just added will look even better with perfectly square corners. **Click on the {button} button to square the building shape.**",retry_square:"You didn't click the Square button. Try again.",done_square:"See how the corners of the building moved into place? Let's learn another useful trick.",add_tank:"Next we'll trace this circular storage tank. **Click the {button} Area button to add a new area.**",start_tank:"Don't worry, you won't need to draw a perfect circle. Just draw an area inside the tank that touches its edge. **Click or press spacebar to place a starting node on the edge of the tank.**",continue_tank:"Add a few more nodes around the edge. The circle will be created outside the nodes that you draw.{br}Finish the area by pressing enter, or clicking again on either the first or last node. **Finish tracing the tank.**",search_tank:"**Search for '{preset}'.**",choose_tank:"**Choose {preset} from the list.**",rightclick_tank:"**Right-click to select the storage tank you created and show the edit menu.**",circle_tank:"**Click on the {button} button to make the tank a circle.**",retry_circle:"You didn't click the Circularize button. Try again.",play:"Great Job! Practice tracing a few more buildings, and try some of the other commands on the edit menu. **When you are ready to continue to the next chapter, click '{next}'.**"},startediting:{title:"Start Editing",help:"You're now ready to edit OpenStreetMap!{br}You can replay this walkthrough anytime or view more documentation by clicking the {button} Help button or pressing the '{key}' key.",shortcuts:"You can view a list of commands along with their keyboard shortcuts by pressing the '{key}' key.",save:"Don't forget to regularly save your changes!",start:"Start mapping!"}},shortcuts:{title:"Keyboard shortcuts",tooltip:"Show the keyboard shortcuts screen.",toggle:{key:"?"},key:{alt:"Alt",backspace:"Backspace",cmd:"Cmd",ctrl:"Ctrl","delete":"Delete",del:"Del",end:"End",enter:"Enter",esc:"Esc",home:"Home",option:"Option",pause:"Pause",pgdn:"PgDn",pgup:"PgUp","return":"Return",shift:"Shift",space:"Space"},gesture:{drag:"drag"},or:"-or-",browsing:{title:"Browsing",navigation:{title:"Navigation",pan:"Pan map",pan_more:"Pan map by one screenful",zoom:"Zoom in / Zoom out",zoom_more:"Zoom in / Zoom out by a lot"},help:{title:"Help",help:"Show help/documentation",keyboard:"Show keyboard shortcuts"},display_options:{title:"Display options",background:"Show background options",background_switch:"Switch back to last background",map_data:"Show map data options",fullscreen:"Enter full screen mode",sidebar:"Toggle sidebar",wireframe:"Toggle wireframe mode",osm_data:"Toggle OpenStreetMap data",minimap:"Toggle minimap"},selecting:{title:"Selecting features",select_one:"Select a single feature",select_multi:"Select multiple features",lasso:"Draw a selection lasso around features",search:"Find features matching search text"},with_selected:{title:"With feature selected",edit_menu:"Toggle edit menu",zoom_to:"Zoom to selected feature"},vertex_selected:{title:"With node selected",previous:"Jump to previous node",next:"Jump to next node",first:"Jump to first node",last:"Jump to last node",change_parent:"Switch parent way"}},editing:{title:"Editing",drawing:{title:"Drawing",focus_add_feature:"Focus the feature search field",add_point:"'Add point' mode",add_line:"'Add line' mode",add_area:"'Add area' mode",add_note:"'Add note' mode",add_favorite:"Add a favorite feature",place_point:"Place a point or note",disable_snap:"Hold to disable point snapping",stop_line:"Finish drawing a line or area"},operations:{title:"Operations",continue_line:"Continue a line at the selected node",merge:"Combine (merge) selected features",disconnect:"Disconnect features at the selected node",extract:"Extract a point from a feature",split:"Split a line into two at the selected node",reverse:"Reverse a line",move:"Move selected features",rotate:"Rotate selected features",orthogonalize:"Square corners of a line or area",straighten:"Straighten a line or points",circularize:"Circularize a closed line or area",reflect_long:"Reflect features across the longer axis",reflect_short:"Reflect features across the shorter axis","delete":"Delete selected features"},commands:{title:"Commands",copy:"Copy selected features",paste:"Paste copied features",undo:"Undo last action",redo:"Redo last action",save:"Save changes"}},tools:{title:"Tools",info:{title:"Information",all:"Toggle all information panels",background:"Toggle background panel",history:"Toggle history panel",location:"Toggle location panel",measurement:"Toggle measurement panel"}}},units:{feet:"{quantity} ft",miles:"{quantity} mi",square_feet:"{quantity} sq ft",square_miles:"{quantity} sq mi",acres:"{quantity} ac",meters:"{quantity} m",kilometers:"{quantity} km",square_meters:"{quantity} m²",square_kilometers:"{quantity} km²",hectares:"{quantity} ha",area_pair:"{area1} ({area2})",arcdegrees:"{quantity}°",arcminutes:"{quantity}′",arcseconds:"{quantity}″",north:"N",south:"S",east:"E",west:"W",coordinate:"{coordinate}{direction}",coordinate_pair:"{latitude}, {longitude}"},wikidata:{identifier:"Identifier",label:"Label",description:"Description"},presets:{categories:{"category-barrier":{name:"Barrier Features"},"category-building":{name:"Building Features"},"category-golf":{name:"Golf Features"},"category-landuse":{name:"Land Use Features"},"category-natural":{name:"Natural Features"},"category-path":{name:"Paths"},"category-rail":{name:"Rails"},"category-restriction":{name:"Restriction Features"},"category-road_major":{name:"Major Roads"},"category-road_minor":{name:"Minor Roads"},"category-road_service":{name:"Service Roads"},"category-route":{name:"Route Features"},"category-utility":{name:"Utility Features"},"category-water":{name:"Water Bodies"},"category-waterway":{name:"Waterways"}},fields:{access_simple:{label:"Allowed Access"},access:{label:"Allowed Access",placeholder:"Not Specified",types:{access:"All",foot:"Foot",motor_vehicle:"Motor Vehicles",bicycle:"Bicycles",horse:"Horses"},options:{yes:{title:"Allowed",description:"Access allowed by law; a right of way"},no:{title:"Prohibited",description:"Access not allowed to the general public"},permissive:{title:"Permissive",description:"Access allowed until such time as the owner revokes the permission"},"private":{title:"Private",description:"Access allowed only with permission of the owner on an individual basis"},designated:{title:"Designated",description:"Access allowed according to signs or specific local laws"},destination:{title:"Destination",description:"Access allowed only to reach a destination"},dismount:{title:"Dismount",description:"Access allowed but rider must dismount"},permit:{title:"Permit",description:"Access allowed only with a valid permit or license"}}},"addr/interpolation":{label:"Type",options:{all:"All",even:"Even",odd:"Odd",alphabetic:"Alphabetic"}},address:{label:"Address",placeholders:{block_number:"Block Number","block_number!jp":"Block No.",city:"City","city!jp":"City/Town/Village/Tokyo Special Ward","city!vn":"City/Town",conscriptionnumber:"123",country:"Country",county:"County","county!jp":"District",district:"District","district!vn":"Arrondissement/Town/District",floor:"Floor",hamlet:"Hamlet",housename:"Housename",housenumber:"123","housenumber!jp":"Building No./Lot No.",neighbourhood:"Neighbourhood","neighbourhood!jp":"Chōme/Aza/Koaza",place:"Place",postcode:"Postcode",province:"Province","province!jp":"Prefecture",quarter:"Quarter","quarter!jp":"Ōaza/Machi",state:"State",street:"Street",subdistrict:"Subdistrict","subdistrict!vn":"Ward/Commune/Townlet",suburb:"Suburb","suburb!jp":"Ward",unit:"Unit"}},admin_level:{label:"Admin Level"},aerialway:{label:"Type"},"aerialway/access":{label:"Access",options:{entry:"Entry",exit:"Exit",both:"Both"}},"aerialway/bubble":{label:"Bubble"},"aerialway/capacity":{label:"Capacity (per hour)",placeholder:"500, 2500, 5000..."},"aerialway/duration":{label:"Duration (minutes)",placeholder:"1, 2, 3..."},"aerialway/heating":{label:"Heated"},"aerialway/occupancy":{label:"Occupancy",placeholder:"2, 4, 8..."},"aerialway/summer/access":{label:"Access (summer)",options:{entry:"Entry",exit:"Exit",both:"Both"}},aeroway:{label:"Type"},agrarian:{label:"Products"},air_conditioning:{label:"Air Conditioning"},amenity:{label:"Type"},animal_boarding:{label:"For Animals"},animal_breeding:{label:"For Animals"},animal_shelter:{label:"For Animals"},architect:{label:"Architect"},"area/highway":{label:"Type"},artist:{label:"Artist"},artwork_type:{label:"Type"},atm:{label:"ATM"},attraction:{label:"Type"},backrest:{label:"Backrest"},bar:{label:"Bar"},barrier:{label:"Type"},basin:{label:"Type"},"bath/open_air":{label:"Open Air"},"bath/sand_bath":{label:"Sand Bath"},"bath/type":{label:"Specialty",options:{onsen:"Japanese Onsen",foot_bath:"Foot Bath",hot_spring:"Hot Spring"}},beauty:{label:"Beauty Specialty"},bench:{label:"Bench"},bicycle_parking:{label:"Type"},bin:{label:"Waste Bin"},blood_components:{label:"Blood Components",options:{whole:"whole blood",plasma:"plasma",platelets:"platelets",stemcells:"stem cell samples"}},board_type:{label:"Type"},booth:{label:"Booth"},boules:{label:"Type"},boundary:{label:"Type"},brand:{label:"Brand"},brewery:{label:"Draft Beers"},bridge:{label:"Type",placeholder:"Default"},"bridge/support":{label:"Type"},building_area:{label:"Building"},building:{label:"Building"},"building/levels_building":{label:"Building Levels",placeholder:"2, 4, 6..."},"building/levels/underground":{label:"Underground Levels",placeholder:"2, 4, 6..."},"building/material":{label:"Material"},bunker_type:{label:"Type"},cables:{label:"Cables",placeholder:"1, 2, 3..."},"camera/direction":{label:"Direction (Degrees Clockwise)",placeholder:"45, 90, 180, 270"},"camera/mount":{label:"Camera Mount"},"camera/type":{label:"Camera Type",options:{fixed:"Fixed",panning:"Panning",dome:"Dome"}},capacity:{label:"Capacity",placeholder:"50, 100, 200..."},cash_in:{label:"Cash In"},castle_type:{label:"Type"},check_date:{label:"Last Checked Date"},clothes:{label:"Clothes"},club:{label:"Type"},collection_times:{label:"Collection Times"},colour:{label:"Color"},comment:{label:"Changeset Comment",placeholder:"Brief description of your contributions (required)"},communication_multi:{label:"Communication Types"},construction:{label:"Type"},consulate:{label:"Type"},"contact/webcam":{label:"Webcam URL",placeholder:"http://example.com/"},content:{label:"Content"},conveying:{label:"Movement Direction",options:{forward:"Forward",backward:"Backward",reversible:"Reversible"}},country:{label:"Country"},couplings:{label:"Couplings",placeholder:"1, 2, 3..."},covered:{label:"Covered"},craft:{label:"Type"},"crane/type":{label:"Crane Type",options:{portal_crane:"Portal Crane","floor-mounted_crane":"Floor-mounted Crane",travel_lift:"Travel Lift"}},crop:{label:"Crops"},crossing:{label:"Type"},cuisine:{label:"Cuisines"},currency_multi:{label:"Currency Types"},cutting:{label:"Type",placeholder:"Default"},cycle_network:{label:"Network"},cycleway:{label:"Bike Lanes",placeholder:"none",types:{"cycleway:left":"Left side","cycleway:right":"Right side"},options:{none:{title:"None",description:"No bike lane"},lane:{title:"Standard bike lane",description:"A bike lane separated from auto traffic by a painted line"},shared_lane:{title:"Shared bike lane",description:"A bike lane with no separation from auto traffic"},track:{title:"Bike track",description:"A bike lane separated from traffic by a physical barrier"},share_busway:{title:"Bike lane shared with bus",description:"A bike lane shared with a bus lane"},opposite_lane:{title:"Opposite bike lane",description:"A bike lane that travels in the opposite direction of traffic"},opposite:{title:"Contraflow bike lane",description:"A bike lane that travels in both directions on a one-way street"}}},"dance/style":{label:"Dance Styles"},date:{label:"Date"},delivery:{label:"Delivery"},denomination:{label:"Denomination"},denotation:{label:"Denotation"},departures_board:{label:"Departures Board",options:{yes:"Yes",timetable:"Timetable",realtime:"Realtime",no:"None"}},description:{label:"Description"},design:{label:"Design"},destination_oneway:{label:"Destinations"},"destination/ref_oneway":{label:"Destination Road Numbers"},"destination/symbol_oneway":{label:"Destination Symbols"},devices:{label:"Devices",placeholder:"1, 2, 3..."},diameter:{label:"Diameter",placeholder:"5 mm, 10 cm, 15 in…"},diaper:{label:"Diaper Changing Available"},diet_multi:{label:"Diet Types"},diplomatic:{label:"Type"},"diplomatic/services":{label:"Services"},direction_cardinal:{label:"Direction",options:{N:"North",E:"East",S:"South",W:"West",NE:"Northeast",SE:"Southeast",SW:"Southwest",NW:"Northwest",NNE:"North-northeast",ENE:"East-northeast",ESE:"East-southeast",SSE:"South-southeast",SSW:"South-southwest",WSW:"West-southwest",WNW:"West-northwest",NNW:"North-northwest"}},direction_clock:{label:"Direction",options:{clockwise:"Clockwise",anticlockwise:"Counterclockwise"}},direction_vertex:{label:"Direction Affected",options:{forward:"Forward",backward:"Backward",both:"Both / All"}},direction:{label:"Direction (Degrees Clockwise)",placeholder:"45, 90, 180, 270"},dispensing:{label:"Dispenses Prescriptions"},display:{label:"Display"},distance:{label:"Distance"},dock:{label:"Type"},dog:{label:"Dogs",options:{yes:"Allowed",leashed:"Leashed Only",no:"Not Allowed"}},door_type:{label:"Type"},door:{label:"Door"},drive_through:{label:"Drive-Through"},duration:{label:"Duration",placeholder:"00:00"},electrified:{label:"Electrification",placeholder:"Contact Line, Electrified Rail...",options:{contact_line:"Contact Line",rail:"Electrified Rail",yes:"Yes (unspecified)",no:"No"}},elevation:{label:"Elevation"},email:{label:"Email",placeholder:"example@example.com"},embankment:{label:"Type",placeholder:"Default"},embassy:{label:"Type"},emergency_combo:{label:"Type"},emergency:{label:"Emergency"},enforcement:{label:"Type"},entrance:{label:"Type"},except:{label:"Exceptions"},faces:{label:"Faces"},fax:{label:"Fax",placeholder:"+31 42 123 4567"},fee:{label:"Fee"},fence_type:{label:"Type"},"fire_hydrant/diameter":{label:"Diameter (mm, in, or letters)"},"fire_hydrant/pressure":{label:"Pressure (bar)"},"fire_hydrant/type":{label:"Shape",options:{pillar:"Pillar/Aboveground",underground:"Underground",wall:"Wall",pipe:"Capped Pipe"}},fireplace:{label:"Fireplace"},fishing:{label:"Fishing"},fitness_station:{label:"Equipment Type"},fixme:{label:"Fix Me"},"flag/type":{label:"Flag Type"},floating:{label:"Floating"},flood_prone:{label:"Flood Prone"},ford:{label:"Type",placeholder:"Default"},frequency_electrified:{label:"Operating Frequency"},frequency:{label:"Operating Frequency"},from:{label:"From"},fuel_multi:{label:"Fuel Types"},fuel:{label:"Fuel"},gauge:{label:"Gauge"},gender:{label:"Gender",placeholder:"Unknown",options:{male:"Male",female:"Female",unisex:"Unisex"}},"generator/method":{label:"Method"},"generator/output/electricity":{label:"Power Output",placeholder:"50 MW, 100 MW, 200 MW..."},"generator/source":{label:"Source"},"generator/type":{label:"Type"},government:{label:"Type"},grape_variety:{label:"Grape Varieties"},guest_house:{label:"Type"},handicap:{label:"Handicap",placeholder:"1-18"},handrail:{label:"Handrail"},hashtags:{label:"Suggested Hashtags",placeholder:"#example"},healthcare:{label:"Type"},"healthcare/speciality":{label:"Specialties"},height_building:{label:"Building Height (Meters)"},height:{label:"Height (Meters)"},highspeed:{label:"High-Speed"},highway:{label:"Type"},historic:{label:"Type"},"historic/civilization":{label:"Historic Civilization"},"historic/wreck/date_sunk":{label:"Date Sunk"},"historic/wreck/visible_at_high_tide":{label:"Visible At High Tide"},"historic/wreck/visible_at_low_tide":{label:"Visible At Low Tide"},hoops:{label:"Hoops",placeholder:"1, 2, 4..."},horse_dressage:{label:"Dressage Riding",options:{"undefined":"No",equestrian:"Yes"}},horse_riding:{label:"Horseback Riding",options:{"undefined":"No",horse_riding:"Yes"}},horse_scale:{label:"Horseback Riding Difficulty",placeholder:"Difficult, Dangerous...",options:{common:"Easy: No problems or difficulties. (default)",demanding:"Use with caution: Uneven way, occasional difficult passages.",difficult:"Difficult: Way narrow and exposed. May contain obstacles to step over and narrow passages.",critical:"Borderline: Passable only for experienced riders and horses. Major obstacles. Bridges should be examined carefully.",dangerous:"Dangerous: Passable only for very experienced riders and horses and only in good weather. Dismount.",impossible:"Impassable: Way or bridge not passable for horses. Too narrow, insuffient support, obstacles like ladders. Danger of life."}},horse_stables:{label:"Riding Stable",options:{"undefined":"No",stables:"Yes"}},iata:{label:"IATA Airport Code"},icao:{label:"ICAO Airport Code"},incline_steps:{label:"Incline",options:{up:"Up",down:"Down"}},incline:{label:"Incline"},indoor_type:{label:"Type"},indoor:{label:"Indoor"},industrial:{label:"Type"},information:{label:"Type"},inscription:{label:"Inscription"},intermittent_yes:{label:"Intermittent"},intermittent:{label:"Intermittent"},internet_access:{label:"Internet Access",options:{yes:"Yes",no:"No",wlan:"Wifi",wired:"Wired",terminal:"Terminal"}},"internet_access/fee":{label:"Internet Access Fee"},"internet_access/ssid":{label:"Wifi Network Name"},interval:{label:"Interval"},junction_line:{label:"Junction",options:{roundabout:"Roundabout",circular:"Traffic Circle",jughandle:"Jughandle"}},"junction/ref_oneway":{label:"Junction Number"},kerb:{label:"Curb"},"kerb/height":{label:"Height"},label:{label:"Label"},lamp_type:{label:"Type"},landuse:{label:"Type"},lanes:{label:"Lanes",placeholder:"1, 2, 3..."},language_multi:{label:"Languages"},layer:{label:"Layer",placeholder:"0"},leaf_cycle_singular:{label:"Leaf Cycle",options:{evergreen:"Evergreen",deciduous:"Deciduous",semi_evergreen:"Semi-Evergreen",semi_deciduous:"Semi-Deciduous"}},leaf_cycle:{label:"Leaf Cycle",options:{evergreen:"Evergreen",deciduous:"Deciduous",semi_evergreen:"Semi-Evergreen",semi_deciduous:"Semi-Deciduous",mixed:"Mixed"}},leaf_type_singular:{label:"Leaf Type",options:{broadleaved:"Broadleaved",needleleaved:"Needleleaved",leafless:"Leafless"}},leaf_type:{label:"Leaf Type",options:{broadleaved:"Broadleaved",needleleaved:"Needleleaved",mixed:"Mixed",leafless:"Leafless"}},leisure:{label:"Type"},length:{label:"Length (Meters)"},level:{label:"Level"},levels:{label:"Levels",placeholder:"2, 4, 6..."},liaison:{label:"Type"},lit:{label:"Lit"},location_pool:{label:"Location",options:{outdoor:"Outdoor",indoor:"Indoor",roof:"Rooftop"}},location:{label:"Location"},lock:{label:"Lock"},man_made:{label:"Type"},manhole:{label:"Type"},manufacturer:{label:"Manufacturer"},map_size:{label:"Coverage"},map_type:{label:"Type"},material:{label:"Material"},maxheight:{label:"Max Height",placeholder:"4, 4.5, 5, 14'0\", 14'6\", 15'0\""},maxspeed:{label:"Speed Limit",placeholder:"40, 50, 60..."},"maxspeed/advisory":{label:"Advisory Speed Limit",placeholder:"40, 50, 60..."},maxstay:{label:"Max Stay"},maxweight_bridge:{label:"Max Weight"},maxweight:{label:"Max Weight"},memorial:{label:"Type"},microbrewery:{label:"Microbrewery"},minspeed:{label:"Minimum Speed Limit",placeholder:"20, 30, 40..."},monitoring_multi:{label:"Monitoring"},"mtb/scale":{label:"Mountain Biking Difficulty",placeholder:"0, 1, 2, 3...",options:{"0":"0: Solid gravel/packed earth, no obstacles, wide curves","1":"1: Some loose surface, small obstacles, wide curves","2":"2: Much loose surface, large obstacles, easy hairpins","3":"3: Slippery surface, large obstacles, tight hairpins","4":"4: Loose surface or boulders, dangerous hairpins","5":"5: Maximum difficulty, boulder fields, landslides","6":"6: Not rideable except by the very best mountain bikers"}},"mtb/scale/imba":{label:"IMBA Trail Difficulty",placeholder:"Easy, Medium, Difficult...",options:{"0":"Easiest (white circle)","1":"Easy (green circle)","2":"Medium (blue square)","3":"Difficult (black diamond)","4":"Extremely Difficult (double black diamond)"}},"mtb/scale/uphill":{label:"Mountain Biking Uphill Difficulty",placeholder:"0, 1, 2, 3...",options:{"0":"0: Avg. incline <10%, gravel/packed earth, no obstacles","1":"1: Avg. incline <15%, gravel/packed earth, few small objects","2":"2: Avg. incline <20%, stable surface, fistsize rocks/roots","3":"3: Avg. incline <25%, variable surface, fistsize rocks/branches","4":"4: Avg. incline <30%, poor condition, big rocks/branches","5":"5: Very steep, bike generally needs to be pushed or carried"}},name:{label:"Name",placeholder:"Common name (if any)"},natural:{label:"Natural"},network_bicycle:{label:"Network Type",placeholder:"Local, Regional, National, International",options:{lcn:"Local",rcn:"Regional",ncn:"National",icn:"International"}},network_foot:{label:"Network Type",placeholder:"Local, Regional, National, International",options:{lwn:"Local",rwn:"Regional",nwn:"National",iwn:"International"}},network_horse:{label:"Network Type",placeholder:"Local, Regional, National, International",options:{lhn:"Local",rhn:"Regional",nhn:"National",ihn:"International"}},network_road:{label:"Network"},network:{label:"Network"},note:{label:"Note"},office:{label:"Type"},oneway_yes:{label:"One Way",options:{"undefined":"Assumed to be Yes",yes:"Yes",no:"No",reversible:"Reversible",alternating:"Alternating"}},oneway:{label:"One Way",options:{"undefined":"Assumed to be No",yes:"Yes",no:"No",reversible:"Reversible",alternating:"Alternating"}},"oneway/bicycle":{label:"One Way (Bicycles)"},opening_date:{label:"Expected Opening Date"},opening_hours:{label:"Hours",placeholder:"Unknown"},operator:{label:"Operator"},"operator/type":{label:"Operator Type"},outdoor_seating:{label:"Outdoor Seating"},par:{label:"Par",placeholder:"3, 4, 5..."},park_ride:{label:"Park and Ride"},parking:{label:"Type",options:{surface:"Surface","multi-storey":"Multilevel",underground:"Underground",sheds:"Sheds",carports:"Carports",garage_boxes:"Garage Boxes",lane:"Roadside Lane"}},payment_multi_fee:{label:"Payment Types"},payment_multi:{label:"Payment Types"},phases:{label:"Phases",placeholder:"1, 2, 3..."},phone:{label:"Telephone",placeholder:"+31 42 123 4567"},"piste/difficulty_downhill":{label:"Difficulty",placeholder:"Easy, Intermediate, Advanced...",options:{novice:"Novice (instructional)",easy:"Easy (green circle)",intermediate:"Intermediate (blue square)",advanced:"Advanced (black diamond)",expert:"Expert (double black diamond)",freeride:"Freeride (off-piste)",extreme:"Extreme (climbing equipment required)"}},"piste/difficulty_nordic":{label:"Difficulty",placeholder:"Easy, Intermediate, Advanced...",options:{novice:"Novice - Flat, no effort needed",easy:"Easy - Soft hills, short steep section",intermediate:"Intermediate - Steep section",advanced:"Advanced - Narrow, steep or icy section, sharp turn",expert:"Expert - Dangerous terrain around"}},"piste/difficulty_skitour":{label:"Difficulty",placeholder:"Easy, Intermediate, Advanced...",options:{novice:"Novice - L: <30° incline",easy:"Easy - WS: 30-35° incline",intermediate:"Intermediate - ZS: 35-40° incline",advanced:"Advanced - S: 40-45° incline",expert:"Expert - SS: 45–50° incline",freeride:"Freeride - AS: 50–55° incline",extreme:"Extreme - EX: >55° incline"}},"piste/difficulty":{label:"Difficulty",placeholder:"Easy, Intermediate, Advanced...",options:{novice:"Novice",easy:"Easy",intermediate:"Intermediate",advanced:"Advanced",expert:"Expert",freeride:"Freeride",extreme:"Extreme"}},"piste/grooming_downhill":{label:"Grooming",options:{classic:"Classic",mogul:"Mogul",backcountry:"Backcountry - no grooming"}},"piste/grooming_hike":{label:"Grooming",options:{classic:"Classic - Winter Hiking",backcountry:"Backcountry - Snowshoeing"}},"piste/grooming_nordic":{label:"Grooming",options:{classic:"Classic",backcountry:"Backcountry, no grooming","classic+skating":"Classic and Skating",scooter:"Scooter/Snowmobile",skating:"Skating"}},"piste/grooming":{label:"Grooming",options:{classic:"Classic",mogul:"Mogul",backcountry:"Backcountry","classic+skating":"Classic and Skating",scooter:"Scooter/Snowmobile",skating:"Skating"}},"piste/type":{label:"Type",options:{downhill:"Downhill",nordic:"Nordic",skitour:"Skitour",sled:"Sled",hike:"Hike",sleigh:"Sleigh",ice_skate:"Ice Skate",snow_park:"Snow Park",playground:"Playground",connection:"Connection"}},place:{label:"Type"},plant:{label:"Plant"},"plant/output/electricity":{label:"Power Output",placeholder:"500 MW, 1000 MW, 2000 MW..."},playground:{label:"Type"},"playground/baby":{label:"Baby Seat"},"playground/max_age":{label:"Maximum Age"},"playground/min_age":{label:"Minimum Age"},polling_station:{label:"Polling Place"},population:{label:"Population"},power_supply:{label:"Power Supply"},power:{label:"Type"},preschool:{label:"Preschool"},produce:{label:"Produce"},product:{label:"Products"},"public_bookcase/type":{label:"Type"},railway:{label:"Type"},"railway/position":{label:"Milestone Position",placeholder:"Distance to one decimal (123.4)"},"railway/signal/direction":{label:"Direction Affected",options:{forward:"Forward",backward:"Backward",both:"Both / All"}},rating:{label:"Power Rating"},recycling_accepts:{label:"Accepts"},recycling_type:{label:"Type",placeholder:"Container, Center",options:{container:"Container",centre:"Center"}},ref_aeroway_gate:{label:"Gate Number"},ref_golf_hole:{label:"Hole Number",placeholder:"1-18"},ref_highway_junction:{label:"Junction Number"},ref_platform:{label:"Platform Number"},ref_road_number:{label:"Road Number"},ref_room_number:{label:"Room Number"},ref_route:{label:"Route Number"},ref_runway:{label:"Runway Number",placeholder:"e.g. 01L/19R"},ref_stop_position:{label:"Stop Number"},ref_taxiway:{label:"Taxiway Name",placeholder:"e.g. A5"},ref:{label:"Reference Code"},"ref/isil":{label:"ISIL Code"},relation:{label:"Type"},religion:{label:"Religion"},reservation:{label:"Reservations",options:{yes:"Accepted",no:"Not Accepted",required:"Required",recommended:"Recommended"}},resort:{label:"Type"},resource:{label:"Resources"},restriction:{label:"Type"},restrictions:{label:"Turn Restrictions"},"roof/colour":{label:"Roof Color"},room:{label:"Type"},rooms:{label:"Rooms"},route_master:{label:"Type"},route:{label:"Type"},sac_scale:{label:"Hiking Difficulty",placeholder:"Mountain Hiking, Alpine Hiking...",options:{hiking:"T1: Hiking",mountain_hiking:"T2: Mountain Hiking",demanding_mountain_hiking:"T3: Demanding Mountain Hiking",alpine_hiking:"T4: Alpine Hiking",demanding_alpine_hiking:"T5: Demanding Alpine Hiking",difficult_alpine_hiking:"T6: Difficult Alpine Hiking"}},salt:{label:"Salt"},sanitary_dump_station:{label:"Toilet Disposal"},screen:{label:"Screens",placeholder:"1, 4, 8…"},scuba_diving:{label:"Services"},"seamark/beacon_isolated_danger/shape":{label:"Shape"},"seamark/beacon_lateral/category":{label:"Category",options:{port:"Port",starboard:"Starboard",waterway_left:"Waterway Left",waterway_right:"Waterway Right",danger_left:"Danger Left",danger_right:"Danger Right"}},"seamark/beacon_lateral/colour":{label:"Color",options:{red:"Red",green:"Green",grey:"Grey"}},"seamark/beacon_lateral/shape":{label:"Shape"},"seamark/beacon_lateral/system":{label:"System",options:{"iala-a":"IALA A","iala-b":"IALA B",cevni:"CEVNI",other:"Other"}},"seamark/buoy_lateral/category":{label:"Category",options:{port:"Port",starboard:"Starboard",channel_left:"Channel Left",channel_right:"Channel Right",waterway_left:"Waterway Left",waterway_right:"Waterway Right",danger_left:"Danger Left",danger_right:"Danger Right",preferred_channel_port:"Preferred Channel Port",preferred_channel_starboard:"Preferred Channel Starboard"}},"seamark/buoy_lateral/colour":{label:"Color",options:{red:"Red",green:"Green","red;white;red;white":"Red-White-Red-White","green;white;green;white":"Green-White-Green-White","red;green;red":"Red-Green-Red","green;red;green":"Green-Red-Green",white:"White",yellow:"Yellow"}},"seamark/buoy_lateral/shape":{label:"Shape"},"seamark/buoy_lateral/system":{label:"System",options:{"iala-a":"IALA A","iala-b":"IALA B",cevni:"CEVNI",other:"Other"}},"seamark/mooring/category":{label:"Category"},"seamark/type":{label:"Seamark"},"seamark/wreck/category":{label:"Category"},seasonal:{label:"Seasonal"},seats:{label:"Seats",placeholder:"2, 4, 6..."},second_hand:{label:"Sells Used",placeholder:"Yes, No, Only",options:{yes:"Yes",no:"No",only:"Only"}},self_service:{label:"Self-Service"},service_rail:{label:"Service Type",options:{spur:"Spur",yard:"Yard",siding:"Siding",crossover:"Crossover"}},service_times:{label:"Service Times"},service:{label:"Type"},"service/bicycle":{label:"Services"},"service/vehicle":{label:"Services"},shelter_type:{label:"Type"},shelter:{label:"Shelter"},shop:{label:"Type"},"siren/purpose":{label:"Purpose"},"siren/type":{label:"Type",options:{pneumatic:"Pneumatic",electronic:"Electronic",other:"Other"}},site_type:{label:"Site Type"},site:{label:"Type"},smoking:{label:"Smoking",placeholder:"No, Separated, Yes...",options:{no:"No smoking anywhere",separated:"In smoking areas, not physically isolated",isolated:"In smoking areas, physically isolated",outside:"Allowed outside",yes:"Allowed everywhere",dedicated:"Dedicated to smokers (e.g. smokers' club)"}},smoothness:{label:"Smoothness",placeholder:"Thin Rollers, Wheels, Off-Road...",options:{excellent:"Thin Rollers: rollerblade, skateboard",good:"Thin Wheels: racing bike",intermediate:"Wheels: city bike, wheelchair, scooter",bad:"Robust Wheels: trekking bike, car, rickshaw",very_bad:"High Clearance: light duty off-road vehicle",horrible:"Off-Road: heavy duty off-road vehicle",very_horrible:"Specialized off-road: tractor, ATV",impassable:"Impassable / No wheeled vehicle"}},social_facility_for:{label:"People Served"},social_facility:{label:"Type"},source:{label:"Sources"},sport_ice:{label:"Sports"},sport_racing_motor:{label:"Sports"},sport_racing_nonmotor:{label:"Sports"},sport:{label:"Sports"},stars:{label:"Stars"},start_date:{label:"Start Date"},step_count:{label:"Number of Steps"},stop:{label:"Stop Type",options:{all:"All Ways",minor:"Minor Road"}},street_cabinet:{label:"Type"},structure_waterway:{label:"Structure",placeholder:"Unknown",options:{tunnel:"Tunnel"}},structure:{label:"Structure",placeholder:"Unknown",options:{bridge:"Bridge",tunnel:"Tunnel",embankment:"Embankment",cutting:"Cutting",ford:"Ford"}},studio:{label:"Type"},substance:{label:"Substance"},substation:{label:"Type"},supervised:{label:"Supervised"},support:{label:"Support"},surface:{label:"Surface"},surveillance:{label:"Surveillance Kind"},"surveillance/type":{label:"Surveillance Type",options:{camera:"Camera",guard:"Guard",ALPR:"Automatic License Plate Reader"}},"surveillance/zone":{label:"Surveillance Zone"},"survey/date":{label:"Last Survey Date"},swimming_pool:{label:"Type"},"switch":{label:"Type",options:{mechanical:"Mechanical",circuit_breaker:"Circuit Breaker",disconnector:"Disconnector",earthing:"Earthing"}},tactile_paving:{label:"Tactile Paving"},takeaway:{label:"Takeaway",placeholder:"Yes, No, Takeaway Only...",options:{yes:"Yes",no:"No",only:"Takeaway Only"}},target:{label:"Target"},tidal:{label:"Tidal"},to:{label:"To"},"toilets/disposal":{label:"Disposal",options:{flush:"Flush",pitlatrine:"Pit Latrine",chemical:"Chemical",bucket:"Bucket"}},"toilets/handwashing":{label:"Handwashing"},"toilets/position":{label:"Positions"},toll:{label:"Toll"},tomb:{label:"Type"},tourism:{label:"Type"},"tower/construction":{label:"Construction",placeholder:"Guyed, Lattice, Concealed, ..."},"tower/type":{label:"Type"},tracktype:{label:"Track Type",placeholder:"Solid, Mostly Solid, Soft...",options:{grade1:"Solid: paved or heavily compacted hardcore surface",grade2:"Mostly Solid: gravel/rock with some soft material mixed in",grade3:"Even mixture of hard and soft materials",grade4:"Mostly Soft: soil/sand/grass with some hard material mixed in",grade5:"Soft: soil/sand/grass"}},trade:{label:"Type"},traffic_calming:{label:"Type"},traffic_sign:{label:"Traffic Sign"},"traffic_sign/direction":{label:"Direction Affected",options:{forward:"Forward",backward:"Backward",both:"Both / All"}},traffic_signals:{label:"Type"},"traffic_signals/direction":{label:"Direction Affected",options:{forward:"Forward",backward:"Backward",both:"Both / All"}},trail_visibility:{label:"Trail Visibility",placeholder:"Excellent, Good, Bad...",options:{excellent:"Excellent: unambiguous path or markers everywhere",good:"Good: markers visible, sometimes require searching",intermediate:"Intermediate: few markers, path mostly visible",bad:"Bad: no markers, path sometimes invisible/pathless",horrible:"Horrible: often pathless, some orientation skills required",no:"No: pathless, excellent orientation skills required"}},transformer:{label:"Type",options:{distribution:"Distribution",generator:"Generator",converter:"Converter",traction:"Traction",auto:"Autotransformer",phase_angle_regulator:"Phase Angle Regulator",auxiliary:"Auxiliary",yes:"Unknown"}},trees:{label:"Trees"},trench:{label:"Type"},trolley_wire:{label:"Overhead Trolley Wires"},tunnel:{label:"Type",placeholder:"Default"},usage_rail:{label:"Usage Type",options:{main:"Main",branch:"Branch",industrial:"Industrial",military:"Military",test:"Test",tourism:"Tourism"}},valve:{label:"Type"},vending:{label:"Types of Goods"},visibility:{label:"Visibility",options:{house:"Up to 5m (16ft)",street:"5 to 20m (16 to 65ft)",area:"Over 20m (65ft)"}},"volcano/status":{label:"Volcano Status",options:{active:"Active",dormant:"Dormant",extinct:"Extinct"}},"volcano/type":{label:"Volcano Type",options:{stratovolcano:"Stratovolcano",shield:"Shield",scoria:"Scoria"}},voltage_electrified:{label:"Voltage"},voltage:{label:"Voltage"},"voltage/primary":{label:"Primary Voltage"},"voltage/secondary":{label:"Secondary Voltage"},"voltage/tertiary":{label:"Tertiary Voltage"},wall:{label:"Type"},water_point:{label:"Water Point"},water_source:{label:"Water Source"},water_volume:{label:"Water Reserve Volume (m³)"},water:{label:"Type"},waterway:{label:"Type"},website:{label:"Website",placeholder:"https://example.com"},wetland:{label:"Type"},wheelchair:{label:"Wheelchair Access"},wholesale:{label:"Wholesale"},width:{label:"Width (Meters)"},wikidata:{label:"Wikidata"},wikipedia:{label:"Wikipedia"},windings:{label:"Windings",placeholder:"1, 2, 3..."},"windings/configuration":{label:"Windings Configuration",options:{star:"Star / Wye",delta:"Delta","open-delta":"Open Delta",zigzag:"Zig Zag",open:"Open",scott:"Scott",leblanc:"Leblanc"}}},presets:{aerialway:{name:"Aerialway",terms:""},aeroway:{name:"Aeroway",terms:""},amenity:{name:"Amenity",terms:""},attraction:{name:"Attraction",terms:""},boundary:{name:"Boundary",terms:""},building_point:{name:"Building",terms:""},embankment:{name:"Embankment",terms:""},emergency:{name:"Emergency Feature",terms:""},ford_line:{name:"Ford",terms:""},highway:{name:"Highway",terms:""},indoor:{name:"Indoor Feature",terms:""},landuse:{name:"Land Use",terms:""},leisure:{name:"Leisure",terms:""},man_made:{name:"Man Made",terms:""},natural:{name:"Natural",terms:""},place:{name:"Place",terms:""},playground:{name:"Playground Equipment",terms:""},power:{name:"Power",terms:""},railway:{name:"Railway",terms:""},seamark:{name:"Seamark",terms:""},tourism:{name:"Tourism",terms:""},waterway:{name:"Waterway",terms:""},"addr/interpolation":{name:"Address Interpolation",terms:""},address:{name:"Address",terms:""},"advertising/billboard":{name:"Billboard",terms:""},"advertising/column":{name:"Advertising Column",terms:""},"aerialway/station":{name:"Aerialway Station",terms:""},"aerialway/cable_car":{name:"Cable Car",terms:"tramway,ropeway"},"aerialway/chair_lift":{name:"Chair Lift",terms:""},"aerialway/drag_lift":{name:"Drag Lift",terms:""},"aerialway/gondola":{name:"Gondola",terms:""},"aerialway/goods":{name:"Goods Aerialway",terms:""},"aerialway/j-bar":{name:"J-bar Lift",terms:"jbar"},"aerialway/magic_carpet":{name:"Magic Carpet Lift",terms:""},"aerialway/mixed_lift":{name:"Mixed Lift",terms:""},"aerialway/platter":{name:"Platter Lift",terms:"button lift,poma lift"},"aerialway/pylon":{name:"Aerialway Pylon",terms:""},"aerialway/rope_tow":{name:"Rope Tow Lift",terms:"handle tow,bugel lift"},"aerialway/t-bar":{name:"T-bar Lift",terms:"tbar"},"aerialway/zip_line":{name:"Zip Line",terms:"aerial runway,canopy,flying fox,foefie slide,gravity propelled aerial ropeslide,Tyrolean traverse,zip wire,zip-line,zipline,zipwire"},"aeroway/aerodrome":{name:"Airport",terms:"aerodrome,aeroway,airplane,airport,jet,plane"},"aeroway/apron":{name:"Apron",terms:"ramp"},"aeroway/gate":{name:"Airport Gate",terms:""},"aeroway/hangar":{name:"Hangar",terms:""},"aeroway/helipad":{name:"Helipad",terms:"helicopter,helipad,heliport"},"aeroway/holding_position":{name:"Aircraft Holding Position",terms:""},"aeroway/jet_bridge":{name:"Jet Bridge",terms:"aerobridge,air jetty,airbridge,finger,gangway,jet way,jetway,passenger boarding bridge,PBB,portal,skybridge,terminal gate connector"},"aeroway/parking_position":{name:"Aircraft Parking Position",terms:""},"aeroway/runway":{name:"Runway",terms:"landing strip"},"aeroway/taxiway":{name:"Taxiway",terms:""},"aeroway/terminal":{name:"Airport Terminal",terms:"airport,aerodrome"},"aeroway/windsock":{name:"Windsock",terms:""},"allotments/plot":{name:"Community Garden Plot",terms:""},"amenity/bus_station":{name:"Bus Station / Terminal",terms:""},"amenity/coworking_space":{name:"Coworking Space",terms:""},"amenity/embassy":{name:"Embassy",terms:""},"amenity/ferry_terminal":{name:"Ferry Station / Terminal",terms:""},"amenity/nursing_home":{name:"Nursing Home",terms:""},"amenity/recycling":{name:"Recycling",terms:"bin,can,bottle,glass,garbage,rubbish,scrap,trash"},"amenity/register_office":{name:"Register Office",terms:""},"amenity/scrapyard":{name:"Scrap Yard",terms:""},"amenity/swimming_pool":{name:"Swimming Pool",terms:""},"amenity/animal_boarding":{name:"Animal Boarding Facility",terms:"boarding,cat,cattery,dog,horse,kennel,kitten,pet,pet boarding,pet care,pet hotel,puppy,reptile"},"amenity/animal_breeding":{name:"Animal Breeding Facility",terms:"breeding,bull,cat,cow,dog,horse,husbandry,kitten,livestock,pet breeding,puppy,reptile"},"amenity/animal_shelter":{name:"Animal Shelter",terms:"adoption,aspca,cat,dog,horse,kitten,pet care,pet rescue,puppy,raptor,reptile,rescue,spca,pound"},"amenity/arts_centre":{name:"Arts Center",terms:""},"amenity/atm":{name:"ATM",terms:"money,cash,machine"},"amenity/bank":{name:"Bank",terms:"credit union,check,deposit,fund,investment,repository,reserve,safe,savings,stock,treasury,trust,vault"},"amenity/bar":{name:"Bar",terms:"dive,beer,bier,booze"},"amenity/bar/lgbtq":{name:"LGBTQ+ Bar",terms:"gay bar,lesbian bar,lgbtq bar,lgbt bar,lgb bar"},"amenity/bbq":{name:"Barbecue/Grill",terms:"bbq,grill"},"amenity/bench":{name:"Bench",terms:"seat,chair"},"amenity/bicycle_parking":{name:"Bicycle Parking",terms:"bike"},"amenity/bicycle_parking/building":{name:"Bicycle Parking Garage",terms:"Multi-Storey Bicycle Park,Multi-Storey Bike Park,Bike Parking Station"},"amenity/bicycle_parking/lockers":{name:"Bicycle Lockers",terms:"Bike Lockers"},"amenity/bicycle_parking/shed":{name:"Bicycle Shed",terms:"Bike Shed"},"amenity/bicycle_rental":{name:"Bicycle Rental",terms:"bike,bicycle,bikeshare,bike share,bicycle share,hub,dock"},"amenity/bicycle_repair_station":{name:"Bicycle Repair Tool Stand",terms:"bike,repair,chain,pump,tools,stand,multitool"},"amenity/biergarten":{name:"Biergarten",terms:"beer,bier,booze"},"amenity/boat_rental":{name:"Boat Rental",terms:""},"amenity/bureau_de_change":{name:"Currency Exchange",terms:"bureau de change,money changer"},"amenity/cafe":{name:"Cafe",terms:"bistro,coffee,tea"},"amenity/car_pooling":{name:"Car Pooling",terms:""},"amenity/car_rental":{name:"Car Rental",terms:""},"amenity/car_sharing":{name:"Car Sharing",terms:""},"amenity/car_wash":{name:"Car Wash",terms:""},"amenity/casino":{name:"Casino",terms:"gambling,roulette,craps,poker,blackjack"},"amenity/charging_station":{name:"Charging Station",terms:"EV,Electric Vehicle,Supercharger"},"amenity/childcare":{name:"Nursery/Childcare",terms:"daycare,orphanage,playgroup"},"amenity/cinema":{name:"Cinema",terms:"drive-in,film,flick,movie,theater,picture,show,screen"},"amenity/clinic":{name:"Clinic",terms:"medical,urgentcare"},"amenity/clinic/abortion":{name:"Abortion Clinic",terms:""},"amenity/clinic/fertility":{name:"Fertility Clinic",terms:"egg,fertility,reproductive,sperm,ovulation"},"amenity/clock":{name:"Clock",terms:"time"},"amenity/clock/sundial":{name:"Sundial",terms:"gnomon,shadow"},"amenity/college":{name:"College Grounds",terms:"university,undergraduate school"},"amenity/community_centre":{name:"Community Center",terms:"event,hall"},"amenity/community_centre/lgbtq":{name:"LGBTQ+ Community Center",terms:"lgbtq event,lgbtq hall,lgbt event,lgbt hall,lgb event,lgb hall"},"amenity/compressed_air":{name:"Compressed Air",terms:""},"amenity/conference_centre":{name:"Convention Center",terms:"auditorium,conference,exhibition,exposition,lecture"},"amenity/courthouse":{name:"Courthouse",terms:""},"amenity/crematorium":{name:"Crematorium",terms:"cemetery,funeral"},"amenity/dentist":{name:"Dentist",terms:"tooth,teeth"},"amenity/dive_centre":{name:"Dive Center",terms:"diving,scuba"},"amenity/doctors":{name:"Doctor",terms:"medic*,physician"},"amenity/dojo":{name:"Dojo / Martial Arts Academy",terms:"martial arts,dojang"},"amenity/dressing_room":{name:"Changing Room",terms:"changeroom,dressing room,fitting room,locker room"},"amenity/drinking_water":{name:"Drinking Water",terms:"potable water source,water fountain,drinking fountain,bubbler,water tap"},"amenity/driving_school":{name:"Driving School",terms:""},"amenity/events_venue":{name:"Events Venue",terms:"banquet hall,baptism,Bar Mitzvah,Bat Mitzvah,birthdays,celebrations,conferences,confirmation,meetings,parties,party,quinceañera,reunions,weddings"},"amenity/fast_food":{name:"Fast Food",terms:"restaurant,takeaway"},"amenity/fast_food/ice_cream":{name:"Ice Cream Fast Food",terms:""},"amenity/fast_food/burger":{name:"Burger Fast Food",terms:"breakfast,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/fast_food/chicken":{name:"Chicken Fast Food",terms:"breakfast,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/fast_food/donut":{name:"Donut Fast Food",terms:"breakfast,brunch,cafe,canteen,coffee,dine,diner,donut,doughnut,dining,eat,lunch,table"},"amenity/fast_food/fish_and_chips":{name:"Fish & Chips Fast Food",terms:"breakfast,cafe,café,dine,dining,dinner,drive-in,eat,grill,lunch,table,french fries"},"amenity/fast_food/kebab":{name:"Kebab Fast Food",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/fast_food/mexican":{name:"Mexican Fast Food",terms:"breakfast,dine,dining,dinner,drive-in,eat,grill,lunch,table,tacos,burritos,enchiladas,fajitas,nachos,tortillas,salsa,tamales,quesadillas"},"amenity/fast_food/pizza":{name:"Pizza Fast Food",terms:"dine,dining,dinner,drive-in,eat,lunch,table,deep dish,thin crust,slice"},"amenity/fast_food/sandwich":{name:"Sandwich Fast Food",terms:"breakfast,cafe,café,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/fire_station":{name:"Fire Station",terms:""},"amenity/food_court":{name:"Food Court",terms:"fast food,restaurant,food"},"amenity/fountain":{name:"Fountain",terms:""},"amenity/fuel":{name:"Gas Station",terms:"petrol,fuel,gasoline,propane,diesel,lng,cng,biodiesel"},"amenity/grave_yard":{name:"Graveyard",terms:""},"amenity/grit_bin":{name:"Grit Bin",terms:"salt,sand"},"amenity/hospital":{name:"Hospital Grounds",terms:"clinic,doctor,emergency room,health,infirmary,institution,sanatorium,sanitarium,sick,surgery,ward"},"amenity/hunting_stand":{name:"Hunting Stand",terms:"game,gun,lookout,rifle,shoot*,wild,watch"},"amenity/ice_cream":{name:"Ice Cream Shop",terms:"gelato,sorbet,sherbet,frozen,yogurt"},"amenity/internet_cafe":{name:"Internet Cafe",terms:"cybercafe,taxiphone,teleboutique,coffee,cafe,net,lanhouse"},"amenity/karaoke":{name:"Karaoke Box",terms:"karaoke club,karaoke room,karaoke television,KTV"},"amenity/kindergarten":{name:"Preschool/Kindergarten Grounds",terms:"kindergarden,pre-school"},"amenity/language_school":{name:"Language School",terms:"esl"},"amenity/library":{name:"Library",terms:"book"},"amenity/love_hotel":{name:"Love Hotel",terms:""},"amenity/marketplace":{name:"Marketplace",terms:""},"amenity/monastery":{name:"Monastery Grounds",terms:"abbey,basilica,bethel,cathedral,chancel,chantry,chapel,church,fold,house of God,house of prayer,house of worship,minster,mission,monastery,mosque,oratory,parish,sacellum,sanctuary,shrine,synagogue,tabernacle,temple"},"amenity/money_transfer":{name:"Money Transfer Station",terms:"money order,check,bill,currency,finance,wire transfer,cable,person to person,cash to cash,exchange"},"amenity/motorcycle_parking":{name:"Motorcycle Parking",terms:""},"amenity/music_school":{name:"Music School",terms:"school of music"},"amenity/nightclub":{name:"Nightclub",terms:"disco*,night club,dancing,dance club"},"amenity/nightclub/lgbtq":{name:"LGBTQ+ Nightclub",terms:"gay nightclub,lesbian nightclub,lgbtq nightclub,lgbt nightclub,lgb nightclub"},"amenity/parking_entrance":{name:"Parking Garage Entrance/Exit",terms:""},"amenity/parking_space":{name:"Parking Space",terms:""},"amenity/parking":{name:"Parking Lot",terms:"automobile parking,car lot,car parking,rv parking,truck parking,vehicle parking"},"amenity/parking/multi-storey":{name:"Multilevel Parking Garage",terms:"car,indoor parking,multistorey car park,parkade,parking building,parking deck,parking garage,parking ramp,parking structure"},"amenity/parking/park_ride":{name:"Park & Ride Lot",terms:"commuter parking lot,incentive parking lot,metro parking lot,park and pool lot,park and ride lot,P+R,public transport parking lot,public transit parking lot,train parking lot"},"amenity/parking/underground":{name:"Underground Parking",terms:"automobile parking,car lot,car parking,rv parking,subsurface parking,truck parking,vehicle parking"},"amenity/payment_centre":{name:"Payment Center",terms:"check,tax pay,bill pay,currency,finance,cash,money"},"amenity/payment_terminal":{name:"Payment Terminal",terms:"interactive kiosk,ekiosk,atm,bill pay,tax pay,phone pay,finance,cash,money transfer,card"},"amenity/pharmacy":{name:"Pharmacy Counter",terms:"apothecary,drug store,drugstore,med*,prescription"},"amenity/photo_booth":{name:"Photo Booth",terms:"photobooth,photo,booth,kiosk,camera"},"amenity/place_of_worship":{name:"Place of Worship",terms:"abbey,basilica,bethel,cathedral,chancel,chantry,chapel,church,fold,house of God,house of prayer,house of worship,minster,mission,mosque,oratory,parish,sacellum,sanctuary,shrine,synagogue,tabernacle,temple"},"amenity/place_of_worship/buddhist":{name:"Buddhist Temple",terms:"stupa,vihara,monastery,temple,pagoda,zendo,dojo"},"amenity/place_of_worship/christian":{name:"Christian Church",terms:"christian,abbey,basilica,bethel,cathedral,chancel,chantry,chapel,fold,house of God,house of prayer,house of worship,minster,mission,oratory,parish,sacellum,sanctuary,shrine,tabernacle,temple"},"amenity/place_of_worship/christian/jehovahs_witness":{name:"Kingdom Hall of Jehovah's Witnesses",terms:"christian,church,house of God,house of prayer,house of worship"},"amenity/place_of_worship/christian/la_luz_del_mundo":{name:"La Luz del Mundo Temple",terms:"christian,church,house of God,house of prayer,house of worship,the light of the world church"},"amenity/place_of_worship/christian/quaker":{name:"Quaker Friends Meeting House",terms:"christian,church,house of God,house of prayer,house of worship"},"amenity/place_of_worship/hindu":{name:"Hindu Temple",terms:"kovil,devasthana,mandir,kshetram,alayam,shrine,temple"},"amenity/place_of_worship/jewish":{name:"Jewish Synagogue",terms:"jewish"},"amenity/place_of_worship/muslim":{name:"Muslim Mosque",terms:"islam,islamic center,muslim"},"amenity/place_of_worship/shinto":{name:"Shinto Shrine",terms:"kami,torii"},"amenity/place_of_worship/sikh":{name:"Sikh Temple",terms:"gurudwara,temple"},"amenity/place_of_worship/taoist":{name:"Taoist Temple",terms:"daoist,monastery,temple"},"amenity/planetarium":{name:"Planetarium",terms:"museum,astronomy,observatory"},"amenity/police":{name:"Police",terms:"badge,constable,constabulary,cop,detective,fed,law,enforcement,officer,patrol"},"amenity/polling_station":{name:"Permanent Polling Place",terms:"ballot box,ballot drop,democracy,elections,polling place,vote,voting booth,voting machine"},"amenity/post_box":{name:"Mailbox",terms:"letter drop,mail box,package drop,post box,postal box"},"amenity/post_office":{name:"Post Office",terms:"letter,mail"},"amenity/prep_school":{name:"Test Prep / Tutoring School",terms:"academic,ACT,SAT,homework,math,reading,test prep,tutoring,writing"},"amenity/prison":{name:"Prison Grounds",terms:"cell,jail,correction"},"amenity/pub":{name:"Pub",terms:"alcohol,drink,dive,beer,bier,booze"},"amenity/pub/lgbtq":{name:"LGBTQ+ Pub",terms:"gay pub,lesbian pub,lgbtq pub,lgbt pub,lgb pub"},"amenity/pub/microbrewery":{name:"Brewpub",terms:"alcohol,drink,dive,beer,bier,booze,craft brewery,microbrewery,small batch brewery"},"amenity/public_bath":{name:"Public Bath",terms:"onsen,foot bath,hot springs"},"amenity/public_bookcase":{name:"Public Bookcase",terms:"library,bookcrossing"},"amenity/ranger_station":{name:"Ranger Station",terms:"visitor center,visitor centre,permit center,permit centre,backcountry office,warden office,warden center"},"amenity/recycling_centre":{name:"Recycling Center",terms:"bottle,can,dump,glass,garbage,rubbish,scrap,trash"},"amenity/recycling_container":{name:"Recycling Container",terms:"bin,can,bottle,glass,garbage,rubbish,scrap,trash"},"amenity/restaurant":{name:"Restaurant",terms:"bar,breakfast,cafe,café,canteen,coffee,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/restaurant/american":{name:"American Restaurant",terms:"bar,breakfast,cafe,café,canteen,coffee,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/restaurant/asian":{name:"Asian Restaurant",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/restaurant/chinese":{name:"Chinese Restaurant",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/restaurant/french":{name:"French Restaurant",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/restaurant/german":{name:"German Restaurant",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/restaurant/greek":{name:"Greek Restaurant",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table,gyros,pitas,olives"},"amenity/restaurant/indian":{name:"Indian Restaurant",terms:"bar,breakfast,dine,dining,dinner,drive-in,eat,grill,lunch,table,curry"},"amenity/restaurant/italian":{name:"Italian Restaurant",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table,pasta,pizza"},"amenity/restaurant/japanese":{name:"Japanese Restaurant",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/restaurant/mexican":{name:"Mexican Restaurant",terms:"bar,breakfast,dine,dining,dinner,drive-in,eat,grill,lunch,table,tacos,burritos,enchiladas,fajitas,nachos,tortillas,salsa,tamales,quesadillas"},"amenity/restaurant/noodle":{name:"Noodle Restaurant",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table,ramen noodles,soup,soba noodles,cellophane noodles,rice noodles"},"amenity/restaurant/pizza":{name:"Pizza Restaurant",terms:"bar,dine,dining,dinner,drive-in,eat,lunch,table,deep dish,thin crust,slice"},"amenity/restaurant/seafood":{name:"Seafood Restaurant",terms:"bar,breakfast,cafe,café,dine,dining,dinner,drive-in,eat,grill,lunch,table,fish,shellfish,molluscs,crustaceans,clams,oysters,lobsters,crab,shrimp,squid,octopus"},"amenity/restaurant/steakhouse":{name:"Steakhouse",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table,steak house,chop house,beef"},"amenity/restaurant/sushi":{name:"Sushi Restaurant",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/restaurant/thai":{name:"Thai Restaurant",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/restaurant/turkish":{name:"Turkish Restaurant",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/restaurant/vietnamese":{name:"Vietnamese Restaurant",terms:"bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/sanitary_dump_station":{name:"RV Toilet Disposal",terms:"Motor Home,Camper,Sanitary,Dump Station,Elsan,CDP,CTDP,Chemical Toilet"},"amenity/school":{name:"School Grounds",terms:"academy,elementary school,middle school,high school"},"amenity/shelter":{name:"Shelter",terms:"lean-to,gazebo,picnic"},"amenity/shelter/gazebo":{name:"Gazebo",terms:""},"amenity/shelter/lean_to":{name:"Lean-To",terms:""},"amenity/shelter/picnic_shelter":{name:"Picnic Shelter",terms:"pavilion"},"amenity/shelter/public_transport":{name:"Transit Shelter",terms:"bus stop,metro stop,public transit shelter,public transport shelter,tram stop shelter,waiting"},"amenity/shower":{name:"Shower",terms:"rain closet"},"amenity/smoking_area":{name:"Smoking Area",terms:""},"amenity/social_centre":{name:"Social Center",terms:"event,fraternal,fraternity,hall,organization,professional,society,sorority,union,vetern"},"amenity/social_facility":{name:"Social Facility",terms:""},"amenity/social_facility/ambulatory_care":{name:"Ambulatory Care",terms:""},"amenity/social_facility/food_bank":{name:"Food Bank",terms:""},"amenity/social_facility/group_home":{name:"Elderly Group Home",terms:"old,senior,living,care home,assisted living"},"amenity/social_facility/homeless_shelter":{name:"Homeless Shelter",terms:"houseless,unhoused,displaced"},"amenity/social_facility/nursing_home":{name:"Nursing Home",terms:"elderly,living,nursing,old,senior,assisted living"},"amenity/studio":{name:"Studio",terms:"recording,radio,television"},"amenity/taxi":{name:"Taxi Stand",terms:"cab"},"amenity/telephone":{name:"Telephone",terms:"phone"},"amenity/theatre":{name:"Theater",terms:"theatre,performance,play,musical"},"amenity/theatre/type/amphi":{name:"Amphitheatre",terms:"open air,outdoor,greek,ampi"},"amenity/toilets":{name:"Toilets",terms:"bathroom,restroom,outhouse,privy,head,lavatory,latrine,water closet,WC,W.C."},"amenity/toilets/disposal/flush":{name:"Flush Toilets",terms:"bathroom,head,lavatory,privy,restroom,water closet,WC,W.C."},"amenity/toilets/disposal/pitlatrine":{name:"Pit Latrine",terms:"head,lavatory,long drop,outhouse,pit toilet,privy"},"amenity/townhall":{name:"Town Hall",terms:"village,city,government,courthouse,municipal"},"amenity/toy_library":{name:"Toy Library",terms:"game,toy"},"amenity/university":{name:"University Grounds",terms:"college,graduate school,PhD program,master's degree program"},"amenity/vehicle_inspection":{name:"Vehicle Inspection",terms:"car inspection"},"amenity/vending_machine":{name:"Vending Machine",terms:""},"amenity/vending_machine/cigarettes":{name:"Cigarette Vending Machine",terms:"cigarette"},"amenity/vending_machine/coffee":{name:"Coffee Vending Machine",terms:"coffee"},"amenity/vending_machine/condoms":{name:"Condom Vending Machine",terms:"condom"},"amenity/vending_machine/drinks":{name:"Drink Vending Machine",terms:"drink,soda,beverage,juice,pop"},"amenity/vending_machine/electronics":{name:"Electronics Vending Machine",terms:"cable,charger,earbud,headphone,phone,tablet"},"amenity/vending_machine/elongated_coin":{name:"Flat Coin Vending Machine",terms:"coin,crush,elongated,flatten,penny,souvenir"},"amenity/vending_machine/excrement_bags":{name:"Excrement Bag Dispenser",terms:"excrement bags,poop,waste,dog,animal"},"amenity/vending_machine/feminine_hygiene":{name:"Feminine Hygiene Vending Machine",terms:"condom,tampon,pad,woman,women,menstrual hygiene products,personal care"},"amenity/vending_machine/food":{name:"Food Vending Machine",terms:"food"},"amenity/vending_machine/fuel":{name:"Gas Pump",terms:"petrol,fuel,gasoline,propane,diesel,lng,cng,biodiesel"},"amenity/vending_machine/ice_cream":{name:"Ice Cream Vending Machine",terms:"chocolate,ice cream,frozen,popsicle,vanilla"},"amenity/vending_machine/newspapers":{name:"Newspaper Vending Machine",terms:"newspaper"},"amenity/vending_machine/parcel_pickup_dropoff":{name:"Parcel Pickup/Dropoff Locker",terms:"mail,parcel,pickup"},"amenity/vending_machine/parcel_pickup":{name:"Parcel Pickup Locker",terms:"amazon,locker,mail,parcel,pickup"},"amenity/vending_machine/parking_tickets":{name:"Parking Ticket Vending Machine",terms:"parking,ticket"},"amenity/vending_machine/public_transport_tickets":{name:"Transit Ticket Vending Machine",terms:"bus,train,ferry,rail,ticket,transportation"},"amenity/vending_machine/stamps":{name:"Postage Vending Machine",terms:"mail,postage,stamp"},"amenity/vending_machine/sweets":{name:"Snack Vending Machine",terms:"candy,gum,chip,pretzel,cookie,cracker"},"amenity/veterinary":{name:"Veterinary",terms:"pet clinic,veterinarian,animal hospital,pet doctor"},"amenity/waste_basket":{name:"Waste Basket",terms:"bin,garbage,rubbish,litter,trash"},"amenity/waste_disposal":{name:"Garbage Dumpster",terms:"garbage,rubbish,litter,trash"},"amenity/waste_transfer_station":{name:"Waste Transfer Station",terms:"dump,garbage,recycling,rubbish,scrap,trash"},"amenity/waste/dog_excrement":{name:"Dog Excrement Bin",terms:"bin,garbage,rubbish,litter,trash,poo,dog"},"amenity/water_point":{name:"RV Drinking Water",terms:""},"amenity/watering_place":{name:"Animal Watering Place",terms:""},area:{name:"Area",terms:"polygon"},"area/highway":{name:"Road Surface",terms:"area:highway,edge of pavement,highway area,highway shape,pavement,road shape,street area"},"attraction/amusement_ride":{name:"Amusement Ride",terms:"theme park,carnival ride"},"attraction/animal":{name:"Animal Enclosure",terms:"amphibian,animal park,aquarium,bear,bird,fish,insect,lion,mammal,monkey,penguin,reptile,safari,theme park,tiger,zoo"},"attraction/big_wheel":{name:"Big Wheel",terms:"ferris wheel,theme park,amusement ride"},"attraction/bumper_car":{name:"Bumper Car",terms:"theme park,dodgem cars,autoscooter"},"attraction/bungee_jumping":{name:"Bungee Jumping",terms:"theme park,bungy jumping,jumping platform"},"attraction/carousel":{name:"Carousel",terms:"theme park,roundabout,merry-go-round,galloper,jumper,horseabout,flying horses"},"attraction/dark_ride":{name:"Dark Ride",terms:"theme park,ghost train"},"attraction/drop_tower":{name:"Drop Tower",terms:"theme park,amusement ride,gondola,tower,big drop"},"attraction/maze":{name:"Maze",terms:"theme park,amusement ride,labyrinth"},"attraction/pirate_ship":{name:"Pirate Ship",terms:"theme park,carnival ride,amusement ride"},"attraction/river_rafting":{name:"River Rafting",terms:"theme park,aquatic park,water park,rafting simulator,river rafting ride,river rapids ride"},"attraction/roller_coaster":{name:"Roller Coaster",terms:"theme park,amusement ride"},"attraction/summer_toboggan":{name:"Summer Toboggan",terms:"alpine slide,mountain coaster"},"attraction/train":{name:"Tourist Train",terms:"theme park,rackless train,road train,Tschu-Tschu train,dotto train,park train"},"attraction/water_slide":{name:"Water Slide",terms:"theme park,aquatic park,water park,flumes,water chutes,hydroslides"},barrier:{name:"Barrier",terms:""},"barrier/entrance":{name:"Entrance",terms:""},"barrier/block":{name:"Block",terms:""},"barrier/bollard":{name:"Bollard",terms:""},"barrier/border_control":{name:"Border Control",terms:""},"barrier/cattle_grid":{name:"Cattle Grid",terms:""},"barrier/chain":{name:"Chain",terms:""},"barrier/city_wall":{name:"City Wall",terms:""},"barrier/cycle_barrier":{name:"Cycle Barrier",terms:""},"barrier/ditch":{name:"Trench",terms:""},"barrier/fence":{name:"Fence",terms:""},"barrier/fence/railing":{name:"Railing",terms:"railing,handrail,guard rail"},"barrier/gate":{name:"Gate",terms:""},"barrier/guard_rail":{name:"Guard Rail",terms:"guardrail,traffic barrier,crash barrier,median barrier,roadside barrier,Armco barrier"},"barrier/hedge":{name:"Hedge",terms:""},"barrier/height_restrictor":{name:"Height Restrictor",terms:""},"barrier/kerb":{name:"Curb",terms:""},"barrier/kerb/flush":{name:"Flush Curb",terms:"even curb,level curb,tactile curb"},"barrier/kerb/lowered":{name:"Lowered Curb",terms:"curb cut,curb ramp,kerb ramp,dropped kerb,pram ramp"},"barrier/kerb/raised":{name:"Raised Curb",terms:""},"barrier/kerb/rolled":{name:"Rolled Curb",terms:"gutter"},"barrier/kissing_gate":{name:"Kissing Gate",terms:""},"barrier/lift_gate":{name:"Lift Gate",terms:""},"barrier/retaining_wall":{name:"Retaining Wall",terms:""},"barrier/sally_port":{name:"Sally Port",terms:"Postern,castle side gate"},"barrier/stile":{name:"Stile",terms:""},"barrier/toll_booth":{name:"Toll Booth",terms:""},"barrier/turnstile":{name:"Turnstile",terms:"baffle gate,turnstyle"},"barrier/wall":{name:"Wall",terms:""},"boundary/administrative":{name:"Administrative Boundary",terms:""},"bridge/support":{name:"Bridge Support",terms:""},"bridge/support/pier":{name:"Bridge Pier",terms:""},building_part:{name:"Building Part",terms:"roof,simple 3D buildings"},building:{name:"Building",terms:""},"building/bunker":{name:"Bunker",terms:""},"building/entrance":{name:"Entrance/Exit",terms:""},"building/train_station":{name:"Train Station Building",terms:""},"building/apartments":{name:"Apartment Building",terms:""},"building/barn":{name:"Barn",terms:""},"building/boathouse":{name:"Boathouse",terms:""},"building/bungalow":{name:"Bungalow",terms:"home,detached"},"building/cabin":{name:"Cabin",terms:""},"building/carport":{name:"Carport",terms:"covered parking space,garage,car,porch"},"building/cathedral":{name:"Cathedral Building",terms:""},"building/chapel":{name:"Chapel Building",terms:""},"building/church":{name:"Church Building",terms:""},"building/civic":{name:"Civic Building",terms:""},"building/college":{name:"College Building",terms:"university"},"building/commercial":{name:"Commercial Building",terms:""},"building/construction":{name:"Building Under Construction",terms:""},"building/detached":{name:"Detached House",terms:"home,single,family,residence,dwelling"},"building/dormitory":{name:"Dormitory",terms:""},"building/farm_auxiliary":{name:"Farm Building",terms:""},"building/farm":{name:"Farm House",terms:""},"building/garage":{name:"Garage",terms:""},"building/garages":{name:"Garages",terms:""},"building/grandstand":{name:"Grandstand",terms:"tribune,stand,stands,bleachers"},"building/greenhouse":{name:"Greenhouse",terms:""},"building/hangar":{name:"Hangar Building",terms:""},"building/hospital":{name:"Hospital Building",terms:""},"building/hotel":{name:"Hotel Building",terms:""},"building/house":{name:"House",terms:"home,family,residence,dwelling"},"building/houseboat":{name:"Houseboat",terms:"home,family,residence,dwelling"},"building/hut":{name:"Hut",terms:""},"building/industrial":{name:"Industrial Building",terms:""},"building/kindergarten":{name:"Preschool/Kindergarten Building",terms:"kindergarden,pre-school"},"building/mosque":{name:"Mosque Building",terms:""},"building/pavilion":{name:"Pavilion Building",terms:"sports"},"building/public":{name:"Public Building",terms:""},"building/residential":{name:"Residential Building",terms:""},"building/retail":{name:"Retail Building",terms:""},"building/roof":{name:"Roof",terms:""},"building/ruins":{name:"Building Ruins",terms:""},"building/school":{name:"School Building",terms:"academy,elementary school,middle school,high school"},"building/semidetached_house":{name:"Semi-Detached House",terms:"home,double,duplex,twin,family,residence,dwelling"},"building/service":{name:"Service Building",terms:""},"building/shed":{name:"Shed",terms:""},"building/stable":{name:"Stable",terms:""},"building/stadium":{name:"Stadium Building",terms:""},"building/static_caravan":{name:"Static Mobile Home",terms:""},"building/temple":{name:"Temple Building",terms:""},"building/terrace":{name:"Row Houses",terms:"home,terrace,brownstone,family,residence,dwelling"},"building/transportation":{name:"Transportation Building",terms:""},"building/university":{name:"University Building",terms:"college"},"building/warehouse":{name:"Warehouse",terms:""},club:{name:"Club",terms:"social"},"club/sport":{name:"Sports Club",terms:"athletics club,sporting club,sports association,sports society"},craft:{name:"Craft",terms:""},"craft/jeweler":{name:"Jeweler",terms:""},"craft/locksmith":{name:"Locksmith",terms:""},"craft/optician":{name:"Optician",terms:""},"craft/tailor":{name:"Tailor",terms:"clothes,suit"},"craft/agricultural_engines":{name:"Argricultural Engines Mechanic",terms:""},"craft/basket_maker":{name:"Basket Maker",terms:""},"craft/beekeeper":{name:"Beekeeper",terms:""},"craft/blacksmith":{name:"Blacksmith",terms:""},"craft/boatbuilder":{name:"Boat Builder",terms:""},"craft/bookbinder":{name:"Bookbinder",terms:"book repair"},"craft/brewery":{name:"Brewery",terms:"alcohol,beer,beverage,bier,booze,cider"},"craft/carpenter":{name:"Carpenter",terms:"woodworker"},"craft/carpet_layer":{name:"Carpet Layer",terms:""},"craft/caterer":{name:"Caterer",terms:""},"craft/chimney_sweeper":{name:"Chimney Sweeper",terms:""},"craft/clockmaker":{name:"Clockmaker",terms:""},"craft/confectionery":{name:"Candy Maker",terms:"sweet,candy"},"craft/distillery":{name:"Distillery",terms:"alcohol,beverage,bourbon,booze,brandy,gin,hooch,liquor,mezcal,moonshine,rum,scotch,spirits,still,tequila,vodka,whiskey,whisky"},"craft/dressmaker":{name:"Dressmaker",terms:"seamstress"},"craft/electrician":{name:"Electrician",terms:"power,wire"},"craft/electronics_repair":{name:"Electronics Repair Shop",terms:""},"craft/floorer":{name:"Floorer",terms:""},"craft/gardener":{name:"Gardener",terms:"landscaper,grounds keeper"},"craft/glaziery":{name:"Glaziery",terms:"glass,stained-glass,window"},"craft/handicraft":{name:"Handicraft",terms:""},"craft/hvac":{name:"HVAC",terms:"heat*,vent*,air conditioning"},"craft/insulator":{name:"Insulator",terms:""},"craft/joiner":{name:"Joiner",terms:"furniture"},"craft/key_cutter":{name:"Key Cutter",terms:""},"craft/metal_construction":{name:"Metal Construction",terms:""},"craft/painter":{name:"Painter",terms:""},"craft/parquet_layer":{name:"Parquet Layer",terms:""},"craft/photographer":{name:"Photographer",terms:""},"craft/photographic_laboratory":{name:"Photographic Laboratory",terms:"film"},"craft/plasterer":{name:"Plasterer",terms:""},"craft/plumber":{name:"Plumber",terms:"pipe"},"craft/pottery":{name:"Pottery",terms:"ceramic"},"craft/rigger":{name:"Rigger",terms:""},"craft/roofer":{name:"Roofer",terms:""},"craft/saddler":{name:"Saddler",terms:""},"craft/sailmaker":{name:"Sailmaker",terms:""},"craft/sawmill":{name:"Sawmill",terms:"lumber"},"craft/scaffolder":{name:"Scaffolder",terms:""},"craft/sculptor":{name:"Sculptor",terms:""},"craft/shoemaker":{name:"Shoemaker",terms:"cobbler"},"craft/signmaker":{name:"Signmaker",terms:""},"craft/stonemason":{name:"Stonemason",terms:"masonry"},"craft/tiler":{name:"Tiler",terms:""},"craft/tinsmith":{name:"Tinsmith",terms:""},"craft/upholsterer":{name:"Upholsterer",terms:""},"craft/watchmaker":{name:"Watchmaker",terms:""},"craft/window_construction":{name:"Window Construction",terms:"glass"},"craft/winery":{name:"Winery",terms:""},"emergency/designated":{name:"Emergency Access Designated",terms:""},"emergency/destination":{name:"Emergency Access Destination",terms:""},"emergency/no":{name:"Emergency Access No",terms:""},"emergency/official":{name:"Emergency Access Official",terms:""},"emergency/private":{name:"Emergency Access Private",terms:""},"emergency/yes":{name:"Emergency Access Yes",terms:""},"emergency/ambulance_station":{name:"Ambulance Station",terms:"EMS,EMT,rescue"},"emergency/defibrillator":{name:"Defibrillator",terms:"AED"},"emergency/fire_alarm":{name:"Fire Alarm Call Box",terms:""},"emergency/fire_extinguisher":{name:"Fire Extinguisher",terms:""},"emergency/fire_hose":{name:"Fire Hose",terms:""},"emergency/fire_hydrant":{name:"Fire Hydrant",terms:"fire plug,fire water well,hydrant"},"emergency/first_aid_kit":{name:"First Aid Kit",terms:"bandage,first aid,med,med kit,medic*,medkit"},"emergency/life_ring":{name:"Life Ring",terms:"life buoy,kisby ring,kisbie ring,perry buoy"},"emergency/lifeguard":{name:"Lifeguard",terms:"CPR,rescue"},"emergency/phone":{name:"Emergency Phone",terms:""},"emergency/siren":{name:"Siren",terms:"air raid,loud,noise,storm,tornado,warning"},"emergency/water_tank":{name:"Emergency Water Tank",terms:"water tank,cistern,reservoir"},entrance:{name:"Entrance/Exit",terms:"entrance,exit,door"},ford:{name:"Ford",terms:""},"golf/bunker":{name:"Sand Trap",terms:"hazard,bunker"},"golf/cartpath":{name:"Golf Cartpath",terms:""},"golf/driving_range":{name:"Driving Range",terms:""},"golf/fairway":{name:"Fairway",terms:""},"golf/green":{name:"Putting Green",terms:""},"golf/hole":{name:"Golf Hole",terms:""},"golf/lateral_water_hazard":{name:"Lateral Water Hazard",terms:""},"golf/path":{name:"Golf Walking Path",terms:""},"golf/rough":{name:"Rough",terms:""},"golf/tee":{name:"Tee Box",terms:"teeing ground"},"golf/water_hazard":{name:"Water Hazard",terms:""},healthcare:{name:"Healthcare Facility",terms:"clinic,doctor,disease,health,institution,sick,surgery,wellness"},"healthcare/alternative":{name:"Alternative Medicine",terms:"acupuncture,anthroposophical,applied kinesiology,aromatherapy,ayurveda,herbalism,homeopathy,hydrotherapy,hypnosis,naturopathy,osteopathy,reflexology,reiki,shiatsu,traditional,tuina,unani"},"healthcare/alternative/chiropractic":{name:"Chiropractor",terms:"back,pain,spine"},"healthcare/audiologist":{name:"Audiologist",terms:"ear,hearing,sound"},"healthcare/birthing_center":{name:"Birthing Center",terms:"baby,childbirth,delivery,labour,labor,pregnancy"},"healthcare/blood_donation":{name:"Blood Donor Center",terms:"blood bank,blood donation,blood transfusion,apheresis,plasmapheresis,plateletpheresis,stem cell donation"},"healthcare/counselling":{name:"Counselling Center",terms:""},"healthcare/hospice":{name:"Hospice",terms:"terminal,illness"},"healthcare/laboratory":{name:"Medical Laboratory",terms:"medical_laboratory,medical_lab,blood_check"},"healthcare/midwife":{name:"Midwife",terms:"baby,childbirth,delivery,labour,labor,pregnancy"},"healthcare/occupational_therapist":{name:"Occupational Therapist",terms:"therapist,therapy"},"healthcare/optometrist":{name:"Optometrist",terms:"eye,glasses,lasik,lenses,vision"},"healthcare/physiotherapist":{name:"Physiotherapist",terms:"physical,therapist,therapy"},"healthcare/podiatrist":{name:"Podiatrist",terms:"foot,feet,nails"},"healthcare/psychotherapist":{name:"Psychotherapist",terms:"anxiety,counselor,depression,mental health,mind,suicide,therapist,therapy"},"healthcare/rehabilitation":{name:"Rehabilitation Facility",terms:"rehab,therapist,therapy"},"healthcare/speech_therapist":{name:"Speech Therapist",terms:"speech,therapist,therapy,voice"},"highway/bus_stop":{name:"Bus Stop",terms:""},"highway/crossing":{name:"Crossing",terms:""},"highway/bridleway":{name:"Bridle Path",terms:"bridleway,equestrian,horse,trail"},"highway/bus_guideway":{name:"Bus Guideway",terms:""},"highway/construction":{name:"Road Closed",terms:"closed,closure,construction"},"highway/corridor":{name:"Indoor Corridor",terms:"gallery,hall,hallway,indoor,passage,passageway"},"highway/crossing/zebra-raised":{name:"Marked Crosswalk (Raised)",terms:"zebra crossing,marked crossing,crosswalk,flat top,hump,speed,slow"},"highway/crossing/zebra":{name:"Marked Crosswalk",terms:"zebra crossing,marked crossing,crosswalk"},"highway/crossing/marked-raised":{name:"Marked Crosswalk (Raised)",terms:"zebra crossing,marked crossing,crosswalk,flat top,hump,speed,slow"},"highway/crossing/marked":{name:"Marked Crosswalk",terms:"zebra crossing,marked crossing,crosswalk"},"highway/crossing/unmarked-raised":{name:"Unmarked Crossing (Raised)",terms:"flat top,hump,speed,slow"},"highway/crossing/unmarked":{name:"Unmarked Crossing",terms:""},"highway/cycleway":{name:"Cycle Path",terms:"bike path,bicyle path"},"highway/cycleway/crossing":{name:"Cycle Crossing",terms:""},"highway/cycleway/bicycle_foot":{name:"Cycle & Foot Path",terms:"bicycle and foot path,bike and pedestrian path,green way,greenway,mixed-use trail,multi-use trail,segregated trail,rail trail"},"highway/cycleway/crossing/marked":{name:"Marked Cycle Crossing",terms:"cycle crosswalk,cycle path crossing,cycleway crossing,bicycle crossing,bike crossing"},"highway/cycleway/crossing/unmarked":{name:"Unmarked Cycle Crossing",terms:"cycle path crossing,cycleway crossing,bicycle crossing,bike crossing"},"highway/elevator":{name:"Elevator",terms:"lift"},"highway/emergency_bay":{name:"Emergency Stopping Place",terms:"Highway Emergency Bay"},"highway/footway":{name:"Foot Path",terms:"hike,hiking,promenade,trackway,trail,walk"},"highway/footway/crossing":{name:"Pedestrian Crossing",terms:""},"highway/footway/zebra-raised":{name:"Marked Crosswalk (Raised)",terms:"zebra crossing,marked crossing,crosswalk,flat top,hump,speed,slow"},"highway/footway/zebra":{name:"Marked Crosswalk",terms:"zebra crossing,marked crossing,crosswalk"},"highway/footway/conveying":{name:"Moving Walkway",terms:"moving sidewalk,autwalk,skywalk,travolator,travelator,travellator,conveyor"},"highway/footway/marked-raised":{name:"Marked Crosswalk (Raised)",terms:"zebra crossing,marked crossing,crosswalk,flat top,hump,speed,slow"},"highway/footway/marked":{name:"Marked Crosswalk",terms:"marked foot path crossing,marked crossing,marked pedestrian crosswalk,zebra crossing"},"highway/footway/sidewalk":{name:"Sidewalk",terms:"pavement,sidepath"},"highway/footway/unmarked-raised":{name:"Unmarked Crossing (Raised)",terms:"flat top,hump,speed,slow"},"highway/footway/unmarked":{name:"Unmarked Crossing",terms:"unmarked foot path crossing,unmarked crosswalk,unmarked pedestrian crossing"},"highway/give_way":{name:"Yield Sign",terms:"give way,yield,sign"},"highway/living_street":{name:"Living Street",terms:""},"highway/milestone":{name:"Highway Milestone",terms:"mile marker,mile post,mile stone,mileage marker,milemarker,milepost"},"highway/mini_roundabout":{name:"Mini-Roundabout",terms:"traffic circle"},"highway/motorway_junction":{name:"Motorway Junction / Exit",terms:"exit"},"highway/motorway_link":{name:"Motorway Link",terms:"exit,ramp,road,street,on ramp,off ramp"},"highway/motorway":{name:"Motorway",terms:"autobahn,expressway,freeway,highway,interstate,parkway,road,street,thruway,turnpike"},"highway/passing_place":{name:"Passing Place",terms:"turnout, pullout"},"highway/path":{name:"Path",terms:"hike,hiking,trackway,trail,walk"},"highway/pedestrian_area":{name:"Pedestrian Area",terms:"center,centre,plaza,quad,square,walkway"},"highway/pedestrian_line":{name:"Pedestrian Street",terms:"center,centre,plaza,quad,square,walkway"},"highway/primary_link":{name:"Primary Link",terms:"on ramp,off ramp,ramp,road,street"},"highway/primary":{name:"Primary Road",terms:"road,street"},"highway/raceway":{name:"Racetrack (Motorsport)",terms:"auto*,formula one,kart,motocross,nascar,race*,track"},"highway/residential":{name:"Residential Road",terms:"road,street"},"highway/rest_area":{name:"Rest Area",terms:"rest stop"},"highway/road":{name:"Unknown Road",terms:"road,street"},"highway/secondary_link":{name:"Secondary Link",terms:"on ramp,off ramp,ramp,road,street"},"highway/secondary":{name:"Secondary Road",terms:"road,street"},"highway/service":{name:"Service Road",terms:"road,street"},"highway/service/alley":{name:"Alley",terms:""},"highway/service/drive-through":{name:"Drive-Through",terms:""},"highway/service/driveway":{name:"Driveway",terms:""},"highway/service/emergency_access":{name:"Emergency Access",terms:""},"highway/service/parking_aisle":{name:"Parking Aisle",terms:""},"highway/services":{name:"Service Area",terms:"services,travel plaza,service station"},"highway/speed_camera":{name:"Speed Camera",terms:""},"highway/steps":{name:"Steps",terms:"stairs,staircase,stairway"},"highway/steps/conveying":{name:"Escalator",terms:"moving staircase,moving stairway,people mover"},"highway/stop":{name:"Stop Sign",terms:"stop,halt,sign"},"highway/street_lamp":{name:"Street Lamp",terms:"streetlight,street light,lamp,light,gaslight"},"highway/tertiary_link":{name:"Tertiary Link",terms:"on ramp,off ramp,ramp,road,street"},"highway/tertiary":{name:"Tertiary Road",terms:"road,street"},"highway/track":{name:"Unmaintained Track Road",terms:"woods road,forest road,logging road,fire road,farm road,agricultural road,ranch road,carriage road,primitive,unmaintained,rut,offroad,4wd,4x4,four wheel drive,atv,quad,jeep,double track,two track"},"highway/traffic_mirror":{name:"Traffic Mirror",terms:"blind spot,convex,corner,curved,roadside,round,safety,sphere,visibility"},"highway/traffic_signals":{name:"Traffic Signals",terms:"light,stoplight,traffic light"},"highway/trailhead":{name:"Trailhead",terms:"hiking,mile zero,mountain biking,mountaineering,trail endpoint,trail start,staging area,trekking"},"highway/trunk_link":{name:"Trunk Link",terms:"on ramp,off ramp,ramp,road,street"},"highway/trunk":{name:"Trunk Road",terms:"road,street"},"highway/turning_circle":{name:"Turning Circle",terms:"cul-de-sac"},"highway/turning_loop":{name:"Turning Loop (Island)",terms:"cul-de-sac"},"highway/unclassified":{name:"Minor/Unclassified Road",terms:"road,street"},historic:{name:"Historic Site",terms:""},"historic/archaeological_site":{name:"Archaeological Site",terms:""},"historic/boundary_stone":{name:"Boundary Stone",terms:""},"historic/castle":{name:"Castle",terms:""},"historic/castle/fortress":{name:"Historic Fortress",terms:"citadel,military"},"historic/castle/palace":{name:"Palace",terms:"Royal Residence,royal,king,queen"},"historic/castle/stately":{name:"Château",terms:"Historic Country House,Stately Home,nobility,gentry,representative"},"historic/city_gate":{name:"City Gate",terms:"Town Gate"},"historic/fort":{name:"Historic Fort",terms:"military"},"historic/manor":{name:"Manor House",terms:"Mansion,gentry,nobility,estate"},"historic/memorial":{name:"Memorial",terms:"dedicatory,epitaph,remember,remembrance,memory,monument,stolperstein"},"historic/memorial/plaque":{name:"Commemorative Plaque",terms:"dedicatory,epitaph,historical marker,remember,remembrance,memory"},"historic/monument":{name:"Monument",terms:""},"historic/ruins":{name:"Ruins",terms:""},"historic/tomb":{name:"Tomb",terms:""},"historic/wayside_cross":{name:"Wayside Cross",terms:""},"historic/wayside_shrine":{name:"Wayside Shrine",terms:""},"historic/wreck":{name:"Shipwreck",terms:"hull,mast,maritime,remains,ship,boat"},"indoor/corridor_line":{name:"Indoor Corridor",terms:""},"indoor/area":{name:"Indoor Area",terms:"indoor space"},"indoor/corridor":{name:"Indoor Corridor",terms:"concourse,foyer,hallway,passageway"},"indoor/door":{name:"Indoor Door",terms:"doorframe,doorway,portal,room access,threshold"},"indoor/room":{name:"Room",terms:"antechamber,anteroom,atrium,cell,chamber,concourse,foyer,indoor room,lobby,vestibule"},"indoor/wall":{name:"Indoor Wall",terms:"indoor barrier,room divider,room partition"},"internet_access/wlan":{name:"Wi-Fi Hotspot",terms:"wi-fi,wifi,hotspot"},junction:{name:"Junction",terms:""},"junction/circular":{name:"Traffic Circle",terms:""},"junction/jughandle":{name:"Jughandle",terms:""},"junction/roundabout":{name:"Roundabout",terms:""},"landuse/basin":{name:"Basin",terms:""},"landuse/farm":{name:"Farmland",terms:""},"landuse/pond":{name:"Pond",terms:""},"landuse/reservoir":{name:"Reservoir",terms:""},"landuse/allotments":{name:"Community Garden",terms:"allotment,garden"},"landuse/aquaculture":{name:"Aquaculture",terms:"fish farm,crustacean,algae,aquafarming,shrimp farm,oyster farm,mariculture,algaculture"},"landuse/brownfield":{name:"Brownfield",terms:""},"landuse/cemetery":{name:"Cemetery",terms:""},"landuse/churchyard":{name:"Churchyard",terms:""},"landuse/commercial":{name:"Commercial Area",terms:""},"landuse/construction":{name:"Construction",terms:""},"landuse/farmland":{name:"Farmland",terms:"crop,grow,plant"},"landuse/farmyard":{name:"Farmyard",terms:"crop,grow,plant"},"landuse/forest":{name:"Managed Forest",terms:"cut,forest,forestry,lumber,silviculture,tree"},"landuse/garages":{name:"Garage Landuse",terms:""},"landuse/grass":{name:"Grass",terms:""},"landuse/greenfield":{name:"Greenfield",terms:""},"landuse/greenhouse_horticulture":{name:"Greenhouse Horticulture",terms:"flower,greenhouse,horticulture,grow,vivero"},"landuse/harbour":{name:"Harbor",terms:"boat"},"landuse/industrial":{name:"Industrial Area",terms:""},"landuse/industrial/scrap_yard":{name:"Scrap Yard",terms:"car,junk,metal,salvage,scrap,u-pull-it,vehicle,wreck,yard"},"landuse/industrial/slaughterhouse":{name:"Slaughterhouse",terms:"abattoir,beef,butchery,calf,chicken,cow,killing house,meat,pig,pork,poultry,shambles,stockyard"},"landuse/landfill":{name:"Landfill",terms:"dump"},"landuse/meadow":{name:"Meadow",terms:"grazing,hay field,pasture"},"landuse/military":{name:"Military Area",terms:""},"landuse/military/airfield":{name:"Military Airfield",terms:"aerodrome,aeroway,air force,airplane,airport,army,base,bomb,fight,force,guard,heli*,jet,marine,navy,plane,troop,war"},"landuse/military/barracks":{name:"Barracks",terms:"air force,army,base,fight,force,guard,marine,navy,troop,war"},"landuse/military/danger_area":{name:"Danger Area",terms:"air force,army,base,blast,bomb,explo*,force,guard,mine,marine,navy,troop,war"},"landuse/military/naval_base":{name:"Naval Base",terms:"base,fight,force,guard,marine,navy,ship,sub,troop,war"},"landuse/military/obstacle_course":{name:"Obstacle Course",terms:"army,base,force,guard,marine,navy,troop,war"},"landuse/military/range":{name:"Military Range",terms:"air force,army,base,fight,fire,force,guard,gun,marine,navy,rifle,shoot*,snip*,train,troop,war"},"landuse/military/training_area":{name:"Training Area",terms:"air force,army,base,fight,fire,force,guard,gun,marine,navy,rifle,shoot*,snip*,train,troop,war"},"landuse/orchard":{name:"Orchard",terms:"fruit"},"landuse/plant_nursery":{name:"Plant Nursery",terms:"flower,garden,grow,vivero"},"landuse/quarry":{name:"Quarry",terms:""},"landuse/railway":{name:"Railway Corridor",terms:"rail,train,track"},"landuse/recreation_ground":{name:"Recreation Ground",terms:"playing fields"},"landuse/religious":{name:"Religious Area",terms:""},"landuse/residential":{name:"Residential Area",terms:""},"landuse/residential/apartments":{name:"Apartment Complex",terms:"flat,residence,tenement"},"landuse/retail":{name:"Retail Area",terms:""},"landuse/vineyard":{name:"Vineyard",terms:"grape,wine"},"landuse/winter_sports":{name:"Winter Sports Area",terms:"piste area,ski area,ski hill,ski mountain,ski resort,snow board area,snowboard area"},"leisure/adult_gaming_centre":{name:"Adult Gaming Center",terms:"gambling,slot machine"},"leisure/amusement_arcade":{name:"Amusement Arcade",terms:"pay-to-play games,video games,driving simulators,pinball machines"},"leisure/bandstand":{name:"Bandstand",terms:""},"leisure/beach_resort":{name:"Beach Resort",terms:""},"leisure/bird_hide":{name:"Bird Hide",terms:"machan,ornithology"},"leisure/bleachers":{name:"Bleachers",terms:"crowd,bench,sports,stand,stands,seat,seating"},"leisure/bowling_alley":{name:"Bowling Alley",terms:"bowling center"},"leisure/common":{name:"Common",terms:"open space"},"leisure/dance":{name:"Dance Hall",terms:"ballroom,jive,swing,tango,waltz"},"leisure/dancing_school":{name:"Dance School",terms:"jive,swing,tango,waltz,dance teaching"},"leisure/disc_golf_course":{name:"Disc Golf Course",terms:"disk golf,frisbee golf,flying disc golf,frolf,ultimate"},"leisure/dog_park":{name:"Dog Park",terms:""},"leisure/escape_game":{name:"Escape Room",terms:"escape game,escape the room,puzzle room,quest room"},"leisure/firepit":{name:"Firepit",terms:"fireplace,campfire"},"leisure/fishing":{name:"Fishing Spot",terms:"angler"},"leisure/fitness_centre":{name:"Gym / Fitness Center",terms:"health,gym,leisure,studio"},"leisure/fitness_centre/yoga":{name:"Yoga Studio",terms:"studio,asanas,modern yoga,meditation"},"leisure/fitness_station":{name:"Outdoor Fitness Station",terms:"exercise,fitness,gym,trim trail"},"leisure/fitness_station/balance_beam":{name:"Exercise Balance Beam",terms:"balance,exercise,fitness,gym,trim trail"},"leisure/fitness_station/box":{name:"Exercise Box",terms:"box,exercise,fitness,gym,jump,trim trail"},"leisure/fitness_station/horizontal_bar":{name:"Exercise Horizontal Bar",terms:"bar,chinup,chin up,exercise,fitness,gym,pullup,pull up,trim trail"},"leisure/fitness_station/horizontal_ladder":{name:"Exercise Monkey Bars",terms:"bar,chinup,chin up,exercise,fitness,gym,ladder,monkey bars,pullup,pull up,trim trail"},"leisure/fitness_station/hyperextension":{name:"Hyperextension Station",terms:"back,exercise,extension,fitness,gym,roman chair,trim trail"},"leisure/fitness_station/parallel_bars":{name:"Parallel Bars",terms:"bar,dip,exercise,fitness,gym,trim trail"},"leisure/fitness_station/push-up":{name:"Push-Up Station",terms:"bar,exercise,fitness,gym,pushup,push up,trim trail"},"leisure/fitness_station/rings":{name:"Exercise Rings",terms:"exercise,fitness,gym,muscle up,pullup,pull up,trim trail"},"leisure/fitness_station/sign":{name:"Exercise Instruction Sign",terms:"exercise,fitness,gym,trim trail"},"leisure/fitness_station/sit-up":{name:"Sit-Up Station",terms:"crunch,exercise,fitness,gym,situp,sit up,trim trail"},"leisure/fitness_station/stairs":{name:"Exercise Stairs",terms:"exercise,fitness,gym,steps,trim trail"},"leisure/garden":{name:"Garden",terms:""},"leisure/golf_course":{name:"Golf Course",terms:"links"},"leisure/hackerspace":{name:"Hackerspace",terms:"makerspace,hackspace,hacklab"},"leisure/horse_riding":{name:"Horseback Riding Facility",terms:"equestrian,stable"},"leisure/ice_rink":{name:"Ice Rink",terms:"hockey,skating,curling"},"leisure/marina":{name:"Marina",terms:"boat"},"leisure/miniature_golf":{name:"Miniature Golf",terms:"crazy golf,mini golf,putt-putt"},"leisure/nature_reserve":{name:"Nature Reserve",terms:"protected,wildlife"},"leisure/outdoor_seating":{name:"Outdoor Seating Area",terms:"al fresco,beer garden,dining,cafe,restaurant,pub,bar,patio"},"leisure/park":{name:"Park",terms:"esplanade,estate,forest,garden,grass,green,grounds,lawn,lot,meadow,parkland,place,playground,plaza,pleasure garden,recreation area,square,tract,village green,woodland"},"leisure/picnic_table":{name:"Picnic Table",terms:"bench"},"leisure/picnic_table/chess":{name:"Chess Table",terms:"bench,chess board,checkerboard,checkers,chequerboard,game table"},"leisure/pitch":{name:"Sport Pitch",terms:"field"},"leisure/pitch/american_football":{name:"American Football Field",terms:"football,gridiron"},"leisure/pitch/australian_football":{name:"Australian Football Field",terms:"Aussie,AFL,football"},"leisure/pitch/badminton":{name:"Badminton Court",terms:""},"leisure/pitch/baseball":{name:"Baseball Field",terms:""},"leisure/pitch/basketball":{name:"Basketball Court",terms:""},"leisure/pitch/beachvolleyball":{name:"Beach Volleyball Court",terms:"volleyball"},"leisure/pitch/boules":{name:"Boules/Bocce Court",terms:"bocce,lyonnaise,pétanque"},"leisure/pitch/bowls":{name:"Bowling Green",terms:""},"leisure/pitch/cricket":{name:"Cricket Field",terms:""},"leisure/pitch/equestrian":{name:"Riding Arena",terms:"dressage,equestrian,horse,horseback,riding"},"leisure/pitch/field_hockey":{name:"Field Hockey Pitch",terms:"landhockey"},"leisure/pitch/horseshoes":{name:"Horseshoes Pit",terms:"horse shoes"},"leisure/pitch/netball":{name:"Netball Court",terms:""},"leisure/pitch/rugby_league":{name:"Rugby League Field",terms:""},"leisure/pitch/rugby_union":{name:"Rugby Union Field",terms:""},"leisure/pitch/shuffleboard":{name:"Shuffleboard Court",terms:"deck shuffleboard,floor shuffleboard"},"leisure/pitch/skateboard":{name:"Skate Park",terms:""},"leisure/pitch/soccer":{name:"Soccer Field",terms:"football"},"leisure/pitch/softball":{name:"Softball Field",terms:"softball,diamond"},"leisure/pitch/table_tennis":{name:"Ping Pong Table",terms:"table tennis,ping pong"},"leisure/pitch/tennis":{name:"Tennis Court",terms:""},"leisure/pitch/volleyball":{name:"Volleyball Court",terms:""},"leisure/playground":{name:"Playground",terms:"jungle gym,play area"},"leisure/resort":{name:"Resort",terms:"recreation center,sanatorium,ski and snowboard resort,vacation resort,winter sports resort"},"leisure/sauna":{name:"Sauna",terms:""},"leisure/slipway_point":{name:"Slipway",terms:"boat launch,boat ramp,boat landing"},"leisure/slipway":{name:"Slipway",terms:"boat launch,boat ramp,boat landing"},"leisure/sports_centre":{name:"Sports Center / Complex",terms:""},"leisure/sports_centre/climbing":{name:"Climbing Gym",terms:"abseiling,artificial climbing wall,belaying,bouldering,rock climbing facility,indoor rock wall,rappeling,rock gym,ropes"},"leisure/sports_centre/swimming":{name:"Swimming Pool Facility",terms:"dive,water"},"leisure/stadium":{name:"Stadium",terms:""},"leisure/swimming_area":{name:"Natural Swimming Area",terms:"dive,water,aquatics"},"leisure/swimming_pool":{name:"Swimming Pool",terms:"dive,water,aquatics"},"leisure/track":{name:"Racetrack (Non-Motorsport)",terms:"cycle,dog,greyhound,horse,race*,track"},"leisure/track/cycling_point":{name:"Cycling Track",terms:"bicycle track,bicycling track,cycle racetrack,velodrome"},"leisure/track/cycling":{name:"Cycling Track",terms:"bicycle track,bicycling track,cycle racetrack,velodrome"},"leisure/track/horse_racing_point":{name:"Horse Racing Track",terms:"equestrian race track,horse race betting,horseracing,horsetrack,horse racetrack"},"leisure/track/horse_racing":{name:"Horse Racing Track",terms:"equestrian race track,horse race betting,horseracing,horsetrack,horse racetrack"},"leisure/track/running_point":{name:"Running Track",terms:"athletics track,decathlon,foot race,long distance running,marathon,middle distance running,racetrack,running,sprint,track,walking"},"leisure/track/running":{name:"Running Track",terms:"athletics track,decathlon,foot race,long distance running,marathon,middle distance running,racetrack,running,sprint,track,walking"},"leisure/water_park":{name:"Water Park",terms:"swim,pool,dive"},line:{name:"Line",terms:"polyline"},"man_made/adit":{name:"Adit",terms:"cave,horizontal mine entrance,tunnel,underground"},"man_made/antenna":{name:"Antenna",terms:"broadcast,cell phone,cell,communication,mobile phone,radio,television,transmission,tv"},"man_made/beacon":{name:"Beacon",terms:""},"man_made/beehive":{name:"Beehive",terms:"apiary,beekeeper,farm,honey,pollination"},"man_made/breakwater":{name:"Breakwater",terms:""},"man_made/bridge":{name:"Bridge",terms:""},"man_made/bunker_silo":{name:"Bunker Silo",terms:"Silage,Storage"},"man_made/cairn":{name:"Cairn",terms:"rock pile,stone stack,stone pile,càrn"},"man_made/chimney":{name:"Chimney",terms:""},"man_made/clearcut":{name:"Clearcut Forest",terms:"cut,forest,lumber,tree,wood"},"man_made/crane":{name:"Crane",terms:""},"man_made/cross":{name:"Summit Cross",terms:""},"man_made/cutline":{name:"Cut line",terms:""},"man_made/dyke":{name:"Levee",terms:"Dike,Dyke,Floodbank,Stopbank"},"man_made/embankment":{name:"Embankment",terms:""},"man_made/flagpole":{name:"Flagpole",terms:""},"man_made/gasometer":{name:"Gasometer",terms:"gas holder"},"man_made/groyne":{name:"Groyne",terms:""},"man_made/lighthouse":{name:"Lighthouse",terms:""},"man_made/mast":{name:"Mast",terms:"antenna,broadcast tower,cell phone tower,cell tower,communication mast,communication tower,guyed tower,mobile phone tower,radio mast,radio tower,television tower,transmission mast,transmission tower,tv tower"},"man_made/mast/communication":{name:"Communication Mast",terms:"antenna,broadcast tower,cell phone tower,cell tower,communication mast,communication tower,guyed tower,mobile phone tower,radio mast,radio tower,television tower,transmission mast,transmission tower,tv tower"},"man_made/mast/communication/mobile_phone":{name:"Mobile Phone Mast",terms:"antenna,cell mast,cell phone mast,cell phone tower,cell tower,communication mast,communication tower,guyed tower,mobile phone tower,transmission mast,transmission tower"},"man_made/mast/communication/radio":{name:"Radio Broadcast Mast",terms:"antenna,broadcast tower,communication mast,communication tower,guyed tower,radio mast,radio tower,transmission mast,transmission tower"},"man_made/mast/communication/television":{name:"Television Broadcast Mast",terms:"antenna,broadcast tower,communication mast,communication tower,guyed tower,television mast,television tower,transmission mast,transmission tower,tv mast,tv tower"},"man_made/mineshaft":{name:"Mineshaft",terms:"cave,mine shaft,tunnel,underground,vertical mine entrance"},"man_made/monitoring_station":{name:"Monitoring Station",terms:"weather,earthquake,seismology,air,gps"},"man_made/observatory":{name:"Observatory",terms:"astronomical,meteorological"},"man_made/petroleum_well":{name:"Oil Well",terms:"drilling rig,oil derrick,oil drill,oil horse,oil rig,oil pump,petroleum well,pumpjack"},"man_made/pier":{name:"Pier",terms:"berth,dock,jetty,landing,promenade,wharf"},"man_made/pier/floating":{name:"Floating Pier",terms:"berth,dock,jetty,landing,promenade,wharf"},"man_made/pipeline":{name:"Pipeline",terms:"oil,natural gas,water,sewer,sewage"},"man_made/pipeline/underground":{name:"Underground Pipeline",terms:"oil,natural gas,water,sewer,sewage"},"man_made/pipeline/valve":{name:"Pipeline Valve",terms:"oil,natural gas,water,sewer,sewage"},"man_made/pumping_station":{name:"Pumping Station",terms:""},"man_made/silo":{name:"Silo",terms:"grain,corn,wheat"},"man_made/storage_tank":{name:"Storage Tank",terms:"water,oil,gas,petrol"},"man_made/storage_tank/water":{name:"Water Tank",terms:"cistern,water tower"},"man_made/street_cabinet":{name:"Street Cabinet",terms:"cable tv,monitoring box,technical box,telecommunications,traffic signal controls"},"man_made/surveillance":{name:"Surveillance",terms:"anpr,alpr,camera,car plate recognition,cctv,guard,license plate recognition,monitoring,number plate recognition,security,video,webcam"},"man_made/surveillance/camera":{name:"Surveillance Camera",terms:"anpr,alpr,camera,car plate recognition,cctv,guard,license plate recognition,monitoring,number plate recognition,security,video,webcam"},"man_made/survey_point":{name:"Survey Point",terms:"trig point,triangulation pillar,trigonometrical station"},"man_made/torii":{name:"Torii",terms:"Japanese gate,Shinto shrine"},"man_made/tower":{name:"Tower",terms:""},"man_made/tower/bell_tower":{name:"Bell Tower",terms:"belfry,bell gable,campanile,church tower,klockstapel"},"man_made/tower/communication":{name:"Communication Tower",terms:"antenna,broadcast tower,cell phone tower,cell tower,communication mast,communication tower,guyed tower,mobile phone tower,radio mast,radio tower,television tower,transmission mast,transmission tower,tv tower"},"man_made/tower/defensive":{name:"Fortified Tower",terms:"Defensive Tower,Castle Tower"},"man_made/tower/minaret":{name:"Minaret",terms:"Islam,mosque,Muezzin,Muslim"},"man_made/tower/observation":{name:"Observation Tower",terms:"lookout tower,fire tower"},"man_made/tunnel":{name:"Tunnel",terms:"bore,dig,shaft,underground passage,underpass"},"man_made/wastewater_plant":{name:"Wastewater Plant",terms:"sewage*,water treatment plant,reclamation plant"},"man_made/water_tower":{name:"Water Tower",terms:""},"man_made/water_well":{name:"Water Well",terms:""},"man_made/water_works":{name:"Water Works",terms:""},"man_made/watermill":{name:"Watermill",terms:"water,wheel,mill"},"man_made/windmill":{name:"Windmill",terms:"wind,wheel,mill"},"man_made/works":{name:"Factory",terms:"assembly,build,brewery,car,plant,plastic,processing,manufacture,refinery"},manhole:{name:"Manhole",terms:"cover,hole,sewer,sewage,telecom"},"manhole/drain":{name:"Storm Drain",terms:"cover,drain,hole,rain,sewer,sewage,storm"},"manhole/telecom":{name:"Telecom Manhole",terms:"cover,phone,hole,telecom,telephone,bt"},"military/bunker":{name:"Military Bunker",terms:"air force,army,base,fight,force,guard,marine,navy,troop,war"},"military/checkpoint":{name:"Checkpoint",terms:"air force,army,base,force,guard,marine,navy,troop,war"},"military/nuclear_explosion_site":{name:"Nuclear Explosion Site",terms:"atom,blast,bomb,detonat*,nuke,site,test"},"military/office":{name:"Military Office",terms:"air force,army,base,enlist,fight,force,guard,marine,navy,recruit,troop,war"},"military/trench":{name:"Military Trench",terms:"dugout,firestep,fox hole,infantry trench,war trench"},"natural/bare_rock":{name:"Bare Rock",terms:"rock"},"natural/bay":{name:"Bay",terms:""},"natural/beach":{name:"Beach",terms:"shore"},"natural/cape":{name:"Cape",terms:"bay,coastline,erosion,headland,promontory"},"natural/cave_entrance":{name:"Cave Entrance",terms:"cavern,hollow,grotto,shelter,cavity"},"natural/cliff":{name:"Cliff",terms:"crag,escarpment,rock face,scarp"},"natural/coastline":{name:"Coastline",terms:"shore"},"natural/fell":{name:"Fell",terms:""},"natural/glacier":{name:"Glacier",terms:"ice,snow"},"natural/grassland":{name:"Grassland",terms:"prairie,savanna"},"natural/heath":{name:"Heath",terms:""},"natural/mud":{name:"Mud",terms:"wetland"},"natural/peak":{name:"Peak",terms:"acme,aiguille,alp,climax,crest,crown,hill,mount,mountain,pinnacle,summit,tip,top"},"natural/reef":{name:"Reef",terms:"barrier,coral,ocean,sand,shoal"},"natural/ridge":{name:"Ridge",terms:"crest"},"natural/rock":{name:"Attached Rock / Boulder",terms:"boulder,stone,rock"},"natural/saddle":{name:"Saddle",terms:"pass,mountain pass,top"},"natural/sand":{name:"Sand",terms:"desert"},"natural/scree":{name:"Scree",terms:"loose rocks"},"natural/scrub":{name:"Scrub",terms:"bush,shrubs"},"natural/shingle":{name:"Shingle",terms:"beach,gravel,pebbles,riverbed,rounded rock fragments"},"natural/spring":{name:"Spring",terms:""},"natural/stone":{name:"Unattached Stone / Boulder",terms:"boulder,stone,rock"},"natural/tree_row":{name:"Tree Row",terms:""},"natural/tree":{name:"Tree",terms:""},"natural/valley":{name:"Valley",terms:"canyon,dale,dell,dene,depression,glen,gorge,gully,gulley,gultch,hollow,ravine,rift,vale"},"natural/volcano":{name:"Volcano",terms:"mountain,crater"},"natural/water":{name:"Water",terms:""},"natural/water/basin":{name:"Basin",terms:"detention,drain,overflow,rain,retention"},"natural/water/canal":{name:"Canal",terms:""},"natural/water/lake":{name:"Lake",terms:"lakelet,loch,mere"},"natural/water/moat":{name:"Moat",terms:""},"natural/water/pond":{name:"Pond",terms:"lakelet,millpond,tarn,pool,mere"},"natural/water/reservoir":{name:"Reservoir",terms:""},"natural/water/river":{name:"River",terms:"beck,branch,brook,course,creek,estuary,rill,riverbank,rivulet,run,runnel,stream,tributary,watercourse"},"natural/water/stream":{name:"Stream",terms:"beck,branch,brook,burn,course,creek,current,drift,flood,flow,freshet,race,rill,rindle,rivulet,run,runnel,rush,spate,spritz,surge,tide,torrent,tributary,watercourse"},"natural/water/wastewater":{name:"Wastewater Basin",terms:"excrement,shit,sewage,wastewater,Settling Basin,Clarifier Basin"},"natural/wetland":{name:"Wetland",terms:"bog,fen,marsh,mire,moor,muskeg,peatland,quagmire,reedbed,saltmarsh,swamp,tidalflat,wet meadow"},"natural/wood":{name:"Wood",terms:"tree"},"noexit/yes":{name:"No Exit",terms:"no exit,road end,dead end"},office:{name:"Office",terms:""},"office/administrative":{name:"Administrative Office",terms:""},"office/physician":{name:"Physician",terms:""},"office/travel_agent":{name:"Travel Agency",terms:""},"office/accountant":{name:"Accountant Office",terms:""},"office/adoption_agency":{name:"Adoption Agency",terms:""},"office/advertising_agency":{name:"Advertising Agency",terms:"ad,ad agency,advert agency,advertising,marketing"},"office/architect":{name:"Architect Office",terms:""},"office/association":{name:"Nonprofit Organization Office",terms:"association,non-profit,nonprofit,organization,society"},"office/bail_bond_agent":{name:"Bail Bond Agent",terms:"bail bond dealer,bail bond man,bail bondsman,bail bondsperson"},"office/charity":{name:"Charity Office",terms:"charitable organization"},"office/company":{name:"Corporate Office",terms:""},"office/coworking":{name:"Coworking Space",terms:"coworking,office"},"office/diplomatic":{name:"Diplomatic Office",terms:""},"office/diplomatic/consulate":{name:"Consulate",terms:""},"office/diplomatic/embassy":{name:"Embassy",terms:""},"office/diplomatic/liaison":{name:"Liaison Office",terms:""},"office/educational_institution":{name:"Educational Institution",terms:""},"office/employment_agency":{name:"Employment Agency",terms:"job"},"office/energy_supplier":{name:"Energy Supplier Office",terms:"electricity,energy company,energy utility,gas utility"},"office/estate_agent":{name:"Real Estate Office",terms:"real estate"},"office/financial_advisor":{name:"Financial Advisor",terms:"401k,inheritance,savings,stocks,retirement,wealth management"},"office/financial":{name:"Financial Office",terms:""},"office/forestry":{name:"Forestry Office",terms:"forest,ranger"},"office/foundation":{name:"Foundation Office",terms:""},"office/government":{name:"Government Office",terms:""},"office/government/register_office":{name:"Register Office",terms:"clerk,marriage,death,birth,certificate"},"office/government/tax":{name:"Tax and Revenue Office",terms:"fiscal authorities,revenue office,tax office"},"office/guide":{name:"Tour Guide Office",terms:"dive guide,mountain guide,tour guide"},"office/insurance":{name:"Insurance Office",terms:""},"office/it":{name:"Information Technology Office",terms:"computer,information,software,technology"},"office/lawyer":{name:"Law Office",terms:""},"office/lawyer/notary":{name:"Notary Office",terms:""},"office/moving_company":{name:"Moving Company Office",terms:"relocation"},"office/newspaper":{name:"Newspaper Office",terms:""},"office/ngo":{name:"NGO Office",terms:"ngo,non government,non-government,organization,organisation"},"office/notary":{name:"Notary Office",terms:"clerk,deeds,estate,signature,wills"},"office/political_party":{name:"Political Party",terms:""},"office/private_investigator":{name:"Private Investigator Office",terms:"PI,private eye,private detective"},"office/quango":{name:"Quasi-NGO Office",terms:"ngo,non government,non-government,organization,organisation,quasi autonomous,quasi-autonomous"},"office/religion":{name:"Religious Office",terms:""},"office/research":{name:"Research Office",terms:""},"office/surveyor":{name:"Surveyor Office",terms:""},"office/tax_advisor":{name:"Tax Advisor Office",terms:"tax,tax consultant"},"office/telecommunication":{name:"Telecom Office",terms:"communication,internet service provider,isp,network,telephone,voice"},"office/therapist":{name:"Therapist Office",terms:"therapy"},"office/water_utility":{name:"Water Utility Office",terms:"water board,utility"},"piste/downhill":{name:"Downhill Piste/Ski Run",terms:"ski,alpine,snowboard,downhill,piste"},"piste/downhill/halfpipe":{name:"Halfpipe",terms:"ski,alpine,halfpipe,half pipe,snowboard,downhill,piste"},"piste/hike":{name:"Snowshoeing or Winter Hiking Trail",terms:"hike,winter hiking,snowshoe,snowshoeing,piste,ski"},"piste/ice_skate":{name:"Ice Skating Piste",terms:"ice,skating,ski,piste"},"piste/nordic":{name:"Nordic or Crosscountry Piste/Ski Trail",terms:"ski,nordic,crosscountry,skating,piste"},"piste/piste":{name:"Winter Sport Trails",terms:"ski,nordic,crosscountry,downhill,alpine,snowboard,skitour,ski touring,sled,luge,sleigh,sledge,ski-joring,husky,horse,winter hiking,snowshoe,snowshoeing,ice,skating"},"piste/skitour":{name:"Ski Touring Trail",terms:"ski,skitour,crosscountry,ski touring,piste"},"piste/sled":{name:"Sled Piste",terms:"ski,sled,luge,sleigh,sledge,piste"},"piste/sleigh":{name:"Sleigh Piste",terms:"ski,piste,sled,luge,sleigh,sledge,ski-joring,husky,horse"},"place/farm":{name:"Farm",terms:""},"place/city_block":{name:"City Block",terms:""},"place/city":{name:"City",terms:""},"place/hamlet":{name:"Hamlet",terms:""},"place/island":{name:"Island",terms:"archipelago,atoll,bar,cay,isle,islet,key,reef"},"place/islet":{name:"Islet",terms:"archipelago,atoll,bar,cay,isle,islet,key,reef"},"place/isolated_dwelling":{name:"Isolated Dwelling",terms:""},"place/locality":{name:"Locality",terms:""},"place/neighbourhood":{name:"Neighborhood",terms:"neighbourhood"},"place/plot":{name:"Plot",terms:"tract,land,lot,parcel"},"place/quarter":{name:"Sub-Borough / Quarter",terms:"boro,borough,quarter"},"place/square":{name:"Square",terms:""},"place/suburb":{name:"Borough / Suburb",terms:"boro,borough,quarter"},"place/town":{name:"Town",terms:""},"place/village":{name:"Village",terms:""},"playground/balance_beam":{name:"Play Balance Beam",terms:""},"playground/basket_spinner":{name:"Basket Spinner",terms:"basket rotator"},"playground/basket_swing":{name:"Basket Swing",terms:""},"playground/climbing_frame":{name:"Climbing Frame",terms:""},"playground/cushion":{name:"Bouncy Cushion",terms:""},"playground/horizontal_bar":{name:"Play Horizontal Bar",terms:"high bar"},"playground/rocker":{name:"Spring Rider",terms:"spring rocker,springy rocker"},"playground/roundabout":{name:"Play Roundabout",terms:"merry-go-round"},"playground/sandpit":{name:"Sandpit",terms:""},"playground/seesaw":{name:"Seesaw",terms:""},"playground/slide":{name:"Slide",terms:""},"playground/structure":{name:"Play Structure",terms:""},"playground/swing":{name:"Swing",terms:""},"playground/zipwire":{name:"Zip Wire",terms:""},point:{name:"Point",terms:"node,other,vertex,vertices"},polling_station:{name:"Temporary Polling Place",terms:"ballot box,ballot drop,democracy,elections,polling place,vote,voting booth,voting machine"},"power/sub_station":{name:"Substation",terms:""},"power/cable/underground":{name:"Underground Power Cable",terms:""},"power/generator":{name:"Power Generator",terms:"hydro,solar,turbine,wind"},"power/generator/method/photovoltaic":{name:"Solar Panel",terms:"photovoltaic module,PV module,sunlight"},"power/generator/source/hydro":{name:"Water Turbine",terms:"dam,generator,francis turbine,hydroelectricity,kaplan turbine,pelton turbine"},"power/generator/source/nuclear":{name:"Nuclear Reactor",terms:"fission,generator,nuclear,nuke,reactor"},"power/generator/source/wind":{name:"Wind Turbine",terms:"generator,turbine,windmill,wind"},"power/line":{name:"Power Line",terms:"electric power transmission line,high voltage line,high tension line"},"power/minor_line":{name:"Minor Power Line",terms:""},"power/plant":{name:"Power Station Grounds",terms:"coal,gas,generat*,hydro,nuclear,power,station"},"power/pole":{name:"Power Pole",terms:""},"power/substation":{name:"Substation",terms:""},"power/switch":{name:"Power Switch",terms:""},"power/tower":{name:"High-Voltage Tower",terms:"power"},"power/transformer":{name:"Transformer",terms:""},"public_transport/platform_point":{name:"Transit Stop / Platform",terms:"platform,public transit,public transportation,transit,transportation"},"public_transport/platform":{name:"Transit Platform",terms:"platform,public transit,public transportation,transit,transportation"},"public_transport/platform/aerialway_point":{name:"Aerialway Stop / Platform",terms:"aerialway,cable car,platform,public transit,public transportation,transit,transportation"},"public_transport/platform/ferry_point":{name:"Ferry Stop / Platform",terms:"boat,dock,ferry,pier,platform,public transit,public transportation,transit,transportation"},"public_transport/platform/light_rail_point":{name:"Light Rail Stop / Platform",terms:"electric,light rail,platform,public transit,public transportation,rail,track,tram,trolley,transit,transportation"},"public_transport/platform/monorail_point":{name:"Monorail Stop / Platform",terms:"monorail,platform,public transit,public transportation,rail,transit,transportation"},"public_transport/platform/subway_point":{name:"Subway Stop / Platform",terms:"metro,platform,public transit,public transportation,rail,subway,track,transit,transportation,underground"},"public_transport/platform/train_point":{name:"Train Stop / Platform",terms:"platform,public transit,public transportation,rail,track,train,transit,transportation"},"public_transport/platform/tram_point":{name:"Tram Stop / Platform",terms:"electric,light rail,platform,public transit,public transportation,rail,streetcar,track,tram,trolley,transit,transportation"},"public_transport/platform/aerialway":{name:"Aerialway Platform",terms:"aerialway,cable car,platform,public transit,public transportation,transit,transportation"},"public_transport/platform/bus_point":{name:"Bus Stop",terms:"bus,platform,public transit,public transportation,transit,transportation"},"public_transport/platform/bus":{name:"Bus Platform",terms:"bus,platform,public transit,public transportation,transit,transportation"},"public_transport/platform/ferry":{name:"Ferry Platform",terms:"boat,dock,ferry,pier,platform,public transit,public transportation,transit,transportation"},"public_transport/platform/light_rail":{name:"Light Rail Platform",terms:"electric,light rail,platform,public transit,public transportation,rail,track,tram,trolley,transit,transportation"},"public_transport/platform/monorail":{name:"Monorail Platform",terms:"monorail,platform,public transit,public transportation,rail,transit,transportation"},"public_transport/platform/subway":{name:"Subway Platform",terms:"metro,platform,public transit,public transportation,rail,subway,track,transit,transportation,underground"},"public_transport/platform/train":{name:"Train Platform",terms:"platform,public transit,public transportation,rail,track,train,transit,transportation"},"public_transport/platform/tram":{name:"Tram Platform",terms:"electric,light rail,platform,public transit,public transportation,rail,streetcar,track,tram,trolley,transit,transportation"},"public_transport/platform/trolleybus_point":{name:"Trolleybus Stop",terms:"bus,electric,platform,public transit,public transportation,streetcar,trackless,tram,trolley,transit,transportation"},"public_transport/platform/trolleybus":{name:"Trolleybus Platform",terms:"bus,electric,platform,public transit,public transportation,streetcar,trackless,tram,trolley,transit,transportation"},"public_transport/station_aerialway":{name:"Aerialway Station",terms:"aerialway,cable car,public transit,public transportation,station,terminal,transit,transportation"},"public_transport/station_bus":{name:"Bus Station / Terminal",terms:"bus,public transit,public transportation,station,terminal,transit,transportation"},"public_transport/station_ferry":{name:"Ferry Station / Terminal",terms:"boat,dock,ferry,pier,public transit,public transportation,station,terminal,transit,transportation"},"public_transport/station_light_rail":{name:"Light Rail Station",terms:"electric,light rail,public transit,public transportation,rail,station,terminal,track,tram,trolley,transit,transportation"},"public_transport/station_monorail":{name:"Monorail Station",terms:"monorail,public transit,public transportation,rail,station,terminal,transit,transportation"},"public_transport/station_subway":{name:"Subway Station",terms:"metro,public transit,public transportation,rail,station,subway,terminal,track,transit,transportation,underground"},"public_transport/station_train_halt":{name:"Train Station (Halt / Request)",terms:"halt,public transit,public transportation,rail,station,track,train,transit,transportation,whistle stop"},"public_transport/station_train":{name:"Train Station",terms:"public transit,public transportation,rail,station,terminal,track,train,transit,transportation"},"public_transport/station_tram":{name:"Tram Station",terms:"electric,light rail,public transit,public transportation,rail,station,streetcar,terminal,track,tram,trolley,transit,transportation"},"public_transport/station_trolleybus":{name:"Trolleybus Station / Terminal",terms:"bus,electric,public transit,public transportation,station,streetcar,terminal,trackless,tram,trolley,transit,transportation"},"public_transport/station":{name:"Transit Station",terms:"public transit,public transportation,station,terminal,transit,transportation"},"public_transport/stop_area":{name:"Transit Stop Area",terms:""},"public_transport/stop_position_aerialway":{name:"Aerialway Stopping Location",terms:"aerialway,cable car,public transit,public transportation,transit,transportation"},"public_transport/stop_position_bus":{name:"Bus Stopping Location",terms:"bus,public transit,public transportation,transit,transportation"},"public_transport/stop_position_ferry":{name:"Ferry Stopping Location",terms:"boat,dock,ferry,pier,public transit,public transportation,transit,transportation"},"public_transport/stop_position_light_rail":{name:"Light Rail Stopping Location",terms:"electric,light rail,public transit,public transportation,rail,track,tram,trolley,transit,transportation"},"public_transport/stop_position_monorail":{name:"Monorail Stopping Location",terms:"monorail,public transit,public transportation,rail,transit,transportation"},"public_transport/stop_position_subway":{name:"Subway Stopping Location",terms:"metro,public transit,public transportation,rail,subway,track,transit,transportation,underground"},"public_transport/stop_position_train":{name:"Train Stopping Location",terms:"public transit,public transportation,rail,track,train,transit,transportation"},"public_transport/stop_position_tram":{name:"Tram Stopping Location",terms:"electric,light rail,public transit,public transportation,rail,streetcar,track,tram,trolley,transit,transportation"},"public_transport/stop_position_trolleybus":{name:"Trolleybus Stopping Location",terms:"bus,electric,public transit,public transportation,streetcar,trackless,tram,trolley,transit,transportation"},"public_transport/stop_position":{name:"Transit Stopping Location",terms:"public transit,public transportation,transit,transportation"},"railway/halt":{name:"Train Station (Halt / Request)",terms:"break,interrupt,rest,wait,interruption"},"railway/platform":{name:"Train Platform",terms:""},"railway/station":{name:"Train Station",terms:"train station,station"},"railway/tram_stop":{name:"Tram Stopping Position",terms:"light rail,streetcar,tram,trolley"},"railway/abandoned":{name:"Abandoned Railway",terms:""},"railway/buffer_stop":{name:"Buffer Stop",terms:"stop,halt,buffer"},"railway/construction":{name:"Railway Under Construction",terms:""},"railway/crossing":{name:"Railway Crossing (Path)",terms:"crossing,pedestrian crossing,railroad crossing,level crossing,grade crossing,path through railroad,train crossing"},"railway/derail":{name:"Railway Derailer",terms:"derailer"},"railway/disused":{name:"Disused Railway",terms:""},"railway/funicular":{name:"Funicular",terms:"venicular,cliff railway,cable car,cable railway,funicular railway"},"railway/level_crossing":{name:"Railway Crossing (Road)",terms:"crossing,railroad crossing,level crossing,grade crossing,road through railroad,train crossing"},"railway/light_rail":{name:"Light Rail",terms:"light rail,streetcar,trolley"},"railway/milestone":{name:"Railway Milestone",terms:"milestone,marker"},"railway/miniature":{name:"Miniature Railway",terms:"rideable miniature railway,narrow gauge railway,minimum gauge railway"},"railway/monorail":{name:"Monorail",terms:""},"railway/narrow_gauge":{name:"Narrow Gauge Rail",terms:"narrow gauge railway,narrow gauge railroad"},"railway/rail":{name:"Rail",terms:"rail line,railroad track,train track"},"railway/rail/highspeed":{name:"High-Speed Rail",terms:"bullet train,fast rail,high speed rail,highspeed rail,HSR"},"railway/signal":{name:"Railway Signal",terms:"signal,lights"},"railway/subway_entrance":{name:"Subway Entrance",terms:"metro,transit"},"railway/subway":{name:"Subway",terms:"metro,transit"},"railway/switch":{name:"Railway Switch",terms:"switch,points"},"railway/train_wash":{name:"Train Wash",terms:"wash,clean"},"railway/tram":{name:"Tram",terms:"light rail,streetcar,tram,trolley"},relation:{name:"Relation",terms:""},"route/ferry":{name:"Ferry Route",terms:"boat,merchant vessel,ship,water bus,water shuttle,water taxi"},"seamark/beacon_isolated_danger":{name:"Danger Beacon",terms:"beacon isolated danger,isolated danger beacon,iala"},"seamark/beacon_lateral":{name:"Channel Beacon",terms:"lateral beacon,beacon lateral,cevni,channel marker,iala,lateral mark"},"seamark/buoy_lateral":{name:"Channel Buoy",terms:"lateral buoy,buoy lateral,cevni,channel marker,iala,lateral mark"},"seamark/buoy_lateral/green":{name:"Green Buoy",terms:"lateral buoy,buoy lateral,cevni,channel marker,iala,lateral mark"},"seamark/buoy_lateral/red":{name:"Red Buoy",terms:"lateral buoy,buoy lateral,cevni,channel marker,iala,lateral mark"},"seamark/mooring":{name:"Mooring",terms:"dolphin,pile,bollard,buoy,post"},shop:{name:"Shop",terms:""},"shop/boutique":{name:"Boutique",terms:""},"shop/fashion":{name:"Fashion Store",terms:""},"shop/fishmonger":{name:"Fishmonger",terms:""},"shop/furnace":{name:"Furnace Store",terms:"oven,stove"},"shop/vacant":{name:"Vacant Shop",terms:""},"shop/agrarian":{name:"Farm Supply Shop",terms:"agricultural inputs,agricultural machines,seeds,pesticides,fertilizer,agricultural tools"},"shop/alcohol":{name:"Liquor Store",terms:"alcohol,beer,booze,wine"},"shop/anime":{name:"Anime Shop",terms:"manga,japan,cosplay,figurine,dakimakura"},"shop/antiques":{name:"Antiques Shop",terms:""},"shop/appliance":{name:"Appliance Store",terms:"air conditioner,appliance,dishwasher,dryer,freezer,fridge,grill,kitchen,oven,refrigerator,stove,washer,washing machine"},"shop/art":{name:"Art Store",terms:"art*,exhibit*,gallery"},"shop/baby_goods":{name:"Baby Goods Store",terms:""},"shop/bag":{name:"Bag/Luggage Store",terms:"handbag,purse"},"shop/bakery":{name:"Bakery",terms:"bread,cakes,rolls"},"shop/bathroom_furnishing":{name:"Bathroom Furnishing Store",terms:""},"shop/beauty":{name:"Beauty Shop",terms:"spa,salon,tanning"},"shop/beauty/nails":{name:"Nail Salon",terms:"manicure,pedicure"},"shop/beauty/tanning":{name:"Tanning Salon",terms:""},"shop/bed":{name:"Bedding/Mattress Store",terms:""},"shop/beverages":{name:"Beverage Store",terms:"drinks"},"shop/bicycle":{name:"Bicycle Shop",terms:"bike,repair,tricycle,unicycle"},"shop/boat":{name:"Boat Store",terms:"fishing boat,jetski,motorboat,rowboat,sailboat,vessel,watercraft"},"shop/bookmaker":{name:"Bookmaker",terms:"betting,bookie"},"shop/books":{name:"Book Store",terms:""},"shop/butcher":{name:"Butcher",terms:"chicken,beef,lamb,meat,pork"},"shop/candles":{name:"Candle Shop",terms:"wax"},"shop/cannabis":{name:"Cannabis Shop",terms:"420,marijuana,pot,reefer,weed"},"shop/car_parts":{name:"Car Parts Store",terms:"automobile,automotive"},"shop/car_repair":{name:"Car Repair Shop",terms:"automobile,automotive,garage,service"},"shop/car":{name:"Car Dealership",terms:"automobile,automotive"},"shop/caravan":{name:"RV Dealership",terms:"auto,camper,recreational vehicle"},"shop/carpet":{name:"Carpet Store",terms:"rug"},"shop/catalogue":{name:"Catalog Shop",terms:""},"shop/charity":{name:"Charity Store",terms:"thrift,op shop,nonprofit"},"shop/cheese":{name:"Cheese Store",terms:""},"shop/chemist":{name:"Drugstore",terms:"apothecary,beauty,drug store,drugstore,gift,hair,med*,pharmacy,prescription,tooth"},"shop/chocolate":{name:"Chocolate Store",terms:"cocoa"},"shop/clothes":{name:"Clothing Store",terms:"blouses,boutique,bras,clothes,dresses,fashion,pants,shirts,shorts,skirts,slacks,socks,suits,underwear"},"shop/clothes/underwear":{name:"Underwear Store",terms:"boutique,bras,brassieres,briefs,boxers,fashion,lingerie,panties,slips,socks,stockings,underclothes,undergarments,underpants,undies"},"shop/coffee":{name:"Coffee Store",terms:""},"shop/computer":{name:"Computer Store",terms:"desktop,laptop,hardware,operating system,software"},"shop/confectionery":{name:"Candy Store",terms:"sweet"},"shop/convenience":{name:"Convenience Store",terms:""},"shop/copyshop":{name:"Copy Store",terms:"print,scan"},"shop/cosmetics":{name:"Cosmetics Store",terms:"make-up,makeup"},"shop/country_store":{name:"Country Store",terms:""},"shop/craft":{name:"Arts and Crafts Store",terms:"art*,paint*,frame"},"shop/curtain":{name:"Curtain Store",terms:"drape*,window"},"shop/dairy":{name:"Dairy Store",terms:"milk,egg,cheese"},"shop/deli":{name:"Deli",terms:"lunch,meat,sandwich"},"shop/department_store":{name:"Department Store",terms:""},"shop/doityourself":{name:"DIY Store",terms:""},"shop/dry_cleaning":{name:"Dry Cleaner",terms:""},"shop/e-cigarette":{name:"E-Cigarette Shop",terms:"electronic,vape,vaping,vapor"},"shop/electronics":{name:"Electronics Store",terms:"appliance,audio,blueray,camera,computer,dvd,home theater,radio,speaker,tv,video"},"shop/erotic":{name:"Erotic Store",terms:"sex,porn"},"shop/erotic/lgbtq":{name:"LGBTQ+ Erotic Store",terms:"sex,porn"},"shop/fabric":{name:"Fabric Store",terms:"sew"},"shop/farm":{name:"Produce Stand",terms:"farm shop,farm stand"},"shop/fashion_accessories":{name:"Fashion Accessories Store",terms:"bag,cologne,fragrance,hat,jewellery,purfume,purse,scarf,sunglasses,umbrella,wallet,watch"},"shop/fireplace":{name:"Fireplace Store",terms:"fireplace,stove,masonry heater"},"shop/fishing":{name:"Fishing Shop",terms:"bait,fishing line,flies,fly,lure,reel,rod,tackle"},"shop/florist":{name:"Florist",terms:"flower"},"shop/frame":{name:"Framing Shop",terms:"art*,paint*,photo*,frame"},"shop/frozen_food":{name:"Frozen Food",terms:""},"shop/fuel":{name:"Fuel Shop",terms:""},"shop/funeral_directors":{name:"Funeral Home",terms:"undertaker,memorial home"},"shop/furniture":{name:"Furniture Store",terms:"chair,sofa,table"},"shop/games":{name:"Tabletop Game Store",terms:"board game,card game,dice game,game shop,live action role-playing game,miniatures wargame,strategy game"},"shop/garden_centre":{name:"Garden Center",terms:"landscape,mulch,shrub,tree"},"shop/gas":{name:"Bottled Gas Shop",terms:"cng,lpg,natural gas,propane,refill,tank"},"shop/general":{name:"General Store",terms:"Village Shop"},"shop/gift":{name:"Gift Shop",terms:"souvenir"},"shop/greengrocer":{name:"Greengrocer",terms:"fruit,produce,vegetable"},"shop/hairdresser_supply":{name:"Hairdresser Supply Store",terms:"barber,shampoo,conditioner"},"shop/hairdresser":{name:"Hairdresser",terms:"barber"},"shop/hardware":{name:"Hardware Store",terms:""},"shop/health_food":{name:"Health Food Shop",terms:"wholefood,vitamins,vegetarian,vegan"},"shop/hearing_aids":{name:"Hearing Aids Store",terms:""},"shop/herbalist":{name:"Herbalist",terms:""},"shop/hifi":{name:"Hifi Store",terms:"audio,hi-fi,high fidelity,stereo,video"},"shop/hobby":{name:"Hobby Shop",terms:"manga,figurine,model"},"shop/houseware":{name:"Houseware Store",terms:"home,household,kitchenware"},"shop/hunting":{name:"Hunting Shop",terms:"arrows,bows,bullets,crossbows,rifles,traps"},"shop/interior_decoration":{name:"Interior Decoration Store",terms:""},"shop/jewelry":{name:"Jewelry Store",terms:"bracelet,diamond,earrings,gem,gold,jeweler,jewellery,jeweller,necklace,pins,ring,silver"},"shop/kiosk":{name:"Kiosk",terms:""},"shop/kitchen":{name:"Kitchen Design Store",terms:"cabinets,countertops,sinks"},"shop/laundry":{name:"Laundry",terms:""},"shop/laundry/self_service":{name:"Self-Service Laundry",terms:"Coin Laundry,Laundromat,Coin Wash,Launderette,Washateria"},"shop/leather":{name:"Leather Store",terms:""},"shop/lighting":{name:"Lighting Store",terms:"fluorescent lighting,lamps,LEDs,light fixtures,lightbulbs"},"shop/locksmith":{name:"Locksmith",terms:"key,lockpick"},"shop/lottery":{name:"Lottery Shop",terms:""},"shop/mall":{name:"Mall",terms:"shopping"},"shop/massage":{name:"Massage Shop",terms:""},"shop/medical_supply":{name:"Medical Supply Store",terms:""},"shop/military_surplus":{name:"Military Surplus Store",terms:"armor,army-navy store,army surplus,navy surplus,tactical gear,war surplus shop,weapons"},"shop/mobile_phone":{name:"Mobile Phone Store",terms:""},"shop/money_lender":{name:"Money Lender",terms:""},"shop/motorcycle_repair":{name:"Motorcycle Repair Shop",terms:"auto,bike,garage,motorcycle,repair,service"},"shop/motorcycle":{name:"Motorcycle Dealership",terms:"bike"},"shop/music":{name:"Music Store",terms:"tape casettes,CDs,compact discs,vinyl records"},"shop/musical_instrument":{name:"Musical Instrument Store",terms:"guitar"},"shop/newsagent":{name:"Newspaper/Magazine Shop",terms:""},"shop/nutrition_supplements":{name:"Nutrition Supplements Store",terms:"health,supplement,vitamin"},"shop/optician":{name:"Optician",terms:"eye,glasses"},"shop/organic":{name:"Organic Goods Store",terms:""},"shop/outdoor":{name:"Outdoors Store",terms:"camping,climbing,hiking,outfitter,outdoor equipment,outdoor supplies"},"shop/outpost":{name:"Online Retailer Outpost",terms:"online,pick up,pickup"},"shop/paint":{name:"Paint Store",terms:""},"shop/party":{name:"Party Supply Store",terms:"balloons,costumes,decorations,invitations"},"shop/pastry":{name:"Pastry Shop",terms:"patisserie,cake shop,cakery"},"shop/pawnbroker":{name:"Pawn Shop",terms:""},"shop/perfumery":{name:"Perfume Store",terms:"cologne,fragrance,purfume"},"shop/pet_grooming":{name:"Pet Grooming Store",terms:"cat,dog"},"shop/pet":{name:"Pet Store",terms:"animal,cat,dog,fish,kitten,puppy,reptile"},"shop/photo":{name:"Photography Store",terms:"camera,film"},"shop/printer_ink":{name:"Printer Ink Store",terms:"copier ink,fax ink,ink cartridges,toner"},"shop/pyrotechnics":{name:"Fireworks Store",terms:"fireworks"},"shop/radiotechnics":{name:"Radio/Electronic Component Store",terms:"antenna,transistor"},"shop/religion":{name:"Religious Store",terms:""},"shop/scuba_diving":{name:"Scuba Diving Shop",terms:"diving,scuba"},"shop/seafood":{name:"Seafood Shop",terms:"fishmonger"},"shop/second_hand":{name:"Consignment/Thrift Store",terms:"secondhand,second hand,resale,thrift,used"},"shop/sewing":{name:"Sewing Supply Shop",terms:"haberdashery"},"shop/shoes":{name:"Shoe Store",terms:"boots,cleats,clogs,heels,loafers,oxfords,sneakers"},"shop/sports":{name:"Sporting Goods Store",terms:"athletics"},"shop/stationery":{name:"Stationery Store",terms:"card,paper"},"shop/storage_rental":{name:"Storage Rental",terms:"garages"},"shop/supermarket":{name:"Supermarket",terms:"grocery,store,shop"},"shop/swimming_pool":{name:"Pool Supply Store",terms:"hot tub equipment store,hot tub maintenance store,hot tub supply store,pool shop,pool store,swimming pool equipment store,swimming pool installation store,swimming pool maintenance store,swimming pool supply shop"},"shop/tailor":{name:"Tailor",terms:"clothes,suit"},"shop/tattoo":{name:"Tattoo Parlor",terms:"ink"},"shop/tea":{name:"Tea Store",terms:""},"shop/ticket":{name:"Ticket Seller",terms:"box office"},"shop/tiles":{name:"Tile Shop",terms:""},"shop/tobacco":{name:"Tobacco Shop",terms:"cigarettes,cigars"},"shop/toys":{name:"Toy Store",terms:"games"},"shop/trade":{name:"Trade Shop",terms:""},"shop/travel_agency":{name:"Travel Agency",terms:""},"shop/tyres":{name:"Tire Store",terms:""},"shop/vacuum_cleaner":{name:"Vacuum Cleaner Store",terms:""},"shop/variety_store":{name:"Variety Store",terms:""},"shop/video_games":{name:"Video Game Store",terms:""},"shop/video":{name:"Video Store",terms:"DVD,VHS,video casette"},"shop/watches":{name:"Watches Shop",terms:""},"shop/water_sports":{name:"Watersport/Swim Shop",terms:""},"shop/water":{name:"Drinking Water Shop",terms:""},"shop/weapons":{name:"Weapon Shop",terms:"ammo,gun,knife,knives"},"shop/wholesale":{name:"Wholesale Store",terms:"warehouse club,cash and carry"},"shop/window_blind":{name:"Window Blind Store",terms:""},"shop/wine":{name:"Wine Shop",terms:""},tactile_paving:{name:"Tactile Paving",terms:"blind path,detectable warning surfaces,tactile ground surface indicators,tactile walking surface indicators,truncated domes,visually impaired path"},"telecom/data_center":{name:"Data Center",terms:"computer systems storage,information technology,server farm,the cloud,telecommunications"},"tourism/alpine_hut":{name:"Alpine Hut",terms:"climbing hut"},"tourism/apartment":{name:"Guest Apartment / Condo",terms:""},"tourism/aquarium":{name:"Aquarium",terms:"fish,sea,water"},"tourism/artwork":{name:"Artwork",terms:"mural,sculpture,statue"},"tourism/artwork/bust":{name:"Bust",terms:"figure"},"tourism/artwork/graffiti":{name:"Graffiti",terms:"Street Artwork,Guerilla Artwork,Graffiti Artwork"},"tourism/artwork/installation":{name:"Art Installation",terms:"interactive art,intervention art,modern art"},"tourism/artwork/mural":{name:"Mural",terms:"fresco,wall painting"},"tourism/artwork/sculpture":{name:"Sculpture",terms:"statue,figure,carving"},"tourism/artwork/statue":{name:"Statue",terms:"sculpture,figure,carving"},"tourism/attraction":{name:"Tourist Attraction",terms:""},"tourism/camp_pitch":{name:"Camp Pitch",terms:"tent,rv"},"tourism/camp_site":{name:"Campground",terms:"tent,rv"},"tourism/caravan_site":{name:"RV Park",terms:"Motor Home,Camper"},"tourism/chalet":{name:"Holiday Cottage",terms:"holiday,holiday cottage,holiday home,vacation,vacation home"},"tourism/gallery":{name:"Art Gallery",terms:"art*,exhibit*,paint*,photo*,sculpt*"},"tourism/guest_house":{name:"Guest House",terms:"B&B,Bed and Breakfast"},"tourism/hostel":{name:"Hostel",terms:""},"tourism/hotel":{name:"Hotel",terms:""},"tourism/information":{name:"Information",terms:""},"tourism/information/board":{name:"Information Board",terms:""},"tourism/information/guidepost":{name:"Guidepost",terms:"signpost"},"tourism/information/map":{name:"Map",terms:""},"tourism/information/office":{name:"Tourist Information Office",terms:""},"tourism/information/route_marker":{name:"Trail Marker",terms:"cairn,painted blaze,route flag,route marker,stone pile,trail blaze,trail post,way marker"},"tourism/information/terminal":{name:"Information Terminal",terms:""},"tourism/motel":{name:"Motel",terms:""},"tourism/museum":{name:"Museum",terms:"art*,exhibit*,gallery,foundation,hall,institution,paint*,photo*,sculpt*"},"tourism/picnic_site":{name:"Picnic Site",terms:"camp"},"tourism/theme_park":{name:"Theme Park",terms:""},"tourism/trail_riding_station":{name:"Trail Riding Station",terms:""},"tourism/viewpoint":{name:"Viewpoint",terms:""},"tourism/wilderness_hut":{name:"Wilderness Hut",terms:"wilderness hut,backcountry hut,bothy"},"tourism/zoo":{name:"Zoo",terms:"animal"},"tourism/zoo/petting":{name:"Petting Zoo",terms:"Children's Zoo,Children's Farm,Petting Farm,farm animals"},"tourism/zoo/safari":{name:"Safari Park",terms:"Drive-Through Zoo,Drive-In Zoo"},"tourism/zoo/wildlife":{name:"Wildlife Park",terms:"indigenous animals"},traffic_calming:{name:"Traffic Calming",terms:"bump,hump,slow,speed"},"traffic_calming/bump":{name:"Speed Bump",terms:"hump,speed,slow"},"traffic_calming/chicane":{name:"Traffic Chicane",terms:"driveway link,speed,slow"},"traffic_calming/choker":{name:"Traffic Choker",terms:"speed,slow"},"traffic_calming/cushion":{name:"Speed Cushion",terms:"bump,hump,speed,slow"},"traffic_calming/dip":{name:"Dip",terms:"speed,slow"},"traffic_calming/hump":{name:"Speed Hump",terms:"bump,speed,slow"},"traffic_calming/island":{name:"Traffic Island",terms:"circle,roundabout,slow"},"traffic_calming/rumble_strip":{name:"Rumble Strip",terms:"audible lines,sleeper lines,growlers"},"traffic_calming/table":{name:"Speed Table",terms:"flat top,hump,speed,slow"},traffic_sign_vertex:{name:"Traffic Sign",terms:"road,highway"},traffic_sign:{name:"Traffic Sign",terms:"road,highway"},"traffic_sign/city_limit_vertex":{name:"City Limit Sign",terms:"town,village,hamlet,boundary,edge,border,road,highway"},"traffic_sign/city_limit":{name:"City Limit Sign",terms:"town,village,hamlet,boundary,edge,border,road,highway"},"traffic_sign/maxspeed_vertex":{name:"Speed Limit Sign",terms:"max speed,maximum speed,road,highway"},"traffic_sign/maxspeed":{name:"Speed Limit Sign",terms:"max speed,maximum speed,road,highway"},"type/multipolygon":{name:"Multipolygon",terms:""},"type/boundary":{name:"Boundary",terms:""},"type/boundary/administrative":{name:"Administrative Boundary",terms:""},"type/enforcement":{name:"Enforcement",terms:""},"type/public_transport/stop_area_group":{name:"Transit Stop Area Group",terms:""},"type/restriction":{name:"Restriction",terms:""},"type/restriction/no_left_turn":{name:"No Left Turn",terms:""},"type/restriction/no_right_turn":{name:"No Right Turn",terms:""},"type/restriction/no_straight_on":{name:"No Straight On",terms:""},"type/restriction/no_u_turn":{name:"No U-turn",terms:""},"type/restriction/only_left_turn":{name:"Only Left Turn",terms:""},"type/restriction/only_right_turn":{name:"Only Right Turn",terms:""},"type/restriction/only_straight_on":{name:"Only Straight On",terms:""},"type/restriction/only_u_turn":{name:"Only U-turn",terms:""},"type/route_master":{name:"Route Master",terms:""},"type/route":{name:"Route",terms:""},"type/route/bicycle":{name:"Cycle Route",terms:""},"type/route/bus":{name:"Bus Route",terms:""},"type/route/detour":{name:"Detour Route",terms:""},"type/route/ferry":{name:"Ferry Route",terms:""},"type/route/foot":{name:"Foot Route",terms:""},"type/route/hiking":{name:"Hiking Route",terms:""},"type/route/horse":{name:"Riding Route",terms:""},"type/route/light_rail":{name:"Light Rail Route",terms:""},"type/route/monorail":{name:"Monorail Route",terms:""},"type/route/pipeline":{name:"Pipeline Route",terms:""},"type/route/piste":{name:"Piste/Ski Route",terms:""},"type/route/power":{name:"Power Route",terms:""},"type/route/road":{name:"Road Route",terms:""},"type/route/subway":{name:"Subway Route",terms:""},"type/route/train":{name:"Train Route",terms:""},"type/route/tram":{name:"Tram Route",terms:""},"type/site":{name:"Site",terms:""},"type/waterway":{name:"Waterway",terms:""},"waterway/riverbank":{name:"Riverbank",terms:""},"waterway/boatyard":{name:"Boatyard",terms:""},"waterway/canal":{name:"Canal",terms:""},"waterway/canal/lock":{name:"Canal Lock",terms:""},"waterway/dam":{name:"Dam",terms:""},"waterway/ditch":{name:"Ditch",terms:""},"waterway/dock":{name:"Wet Dock / Dry Dock",terms:"boat,ship,vessel,marine"},"waterway/drain":{name:"Drain",terms:""},"waterway/fuel":{name:"Marine Fuel Station",terms:"petrol,gas,diesel,boat"},"waterway/lock_gate":{name:"Lock Gate",terms:"canal"},"waterway/milestone":{name:"Waterway Milestone",terms:"milestone,marker"},"waterway/river":{name:"River",terms:"beck,branch,brook,course,creek,estuary,rill,rivulet,run,runnel,stream,tributary,watercourse"},"waterway/sanitary_dump_station":{name:"Marine Toilet Disposal",terms:"Boat,Watercraft,Sanitary,Dump Station,Pumpout,Pump out,Elsan,CDP,CTDP,Chemical Toilet"},"waterway/stream_intermittent":{name:"Intermittent Stream",terms:"arroyo,beck,branch,brook,burn,course,creek,drift,flood,flow,gully,run,runnel,rush,spate,spritz,tributary,wadi,wash,watercourse"},"waterway/stream":{name:"Stream",terms:"beck,branch,brook,burn,course,creek,current,drift,flood,flow,freshet,race,rill,rindle,rivulet,run,runnel,rush,spate,spritz,surge,tide,torrent,tributary,watercourse"},"waterway/water_point":{name:"Marine Drinking Water",terms:""},"waterway/waterfall":{name:"Waterfall",terms:"fall"},"waterway/weir":{name:"Weir",terms:"low-head dam,low-rise dam,wier"}}},imagery:{AGIV:{attribution:{text:"© agentschap Informatie Vlaanderen"},name:"AIV Flanders most recent aerial imagery"},AGIV10cm:{attribution:{text:"© agentschap Informatie Vlaanderen"},name:"AIV Flanders 2013-2015 aerial imagery 10cm"},AGIVFlandersGRB:{attribution:{text:"© agentschap Informatie Vlaanderen"},name:"AIV Flanders GRB"},AIV_DHMV_II_HILL_25cm:{attribution:{text:"© agentschap Informatie Vlaanderen"},name:"AIV Digitaal Hoogtemodel Vlaanderen II, multidirectionale hillshade 0,25 m"},AIV_DHMV_II_SVF_25cm:{attribution:{text:"© agentschap Informatie Vlaanderen"},name:"AIV Digitaal Hoogtemodel Vlaanderen II, Skyview factor 0,25 m"},Bing:{description:"Satellite and aerial imagery.",name:"Bing aerial imagery"},EOXAT2018CLOUDLESS:{attribution:{text:"Sentinel-2 cloudless - https://s2maps.eu by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2017 & 2018)"},description:"Post-processed Sentinel Satellite imagery.",name:"eox.at 2018 cloudless"},EsriWorldImagery:{attribution:{text:"Terms & Feedback"},description:"Esri world imagery.",name:"Esri World Imagery"},EsriWorldImageryClarity:{attribution:{text:"Terms & Feedback"},description:"Esri archive imagery that may be clearer and more accurate than the default layer.",name:"Esri World Imagery (Clarity) Beta"},MAPNIK:{attribution:{text:"© OpenStreetMap contributors, CC-BY-SA"},description:"The default OpenStreetMap layer.",name:"OpenStreetMap (Standard)"},Mapbox:{attribution:{text:"Terms & Feedback"},description:"Satellite and aerial imagery.",name:"Mapbox Satellite"},"Maxar-Premium":{attribution:{text:"Terms & Feedback"},description:"Maxar Premium is a mosaic composed of Maxar basemap with select regions filled with +Vivid or custom area of interest imagery, 50cm resolution or better, and refreshed more frequently with ongoing updates.",name:"Maxar Premium Imagery (Beta)"},"Maxar-Standard":{attribution:{text:"Terms & Feedback"},description:"Maxar Standard is a curated set of imagery covering 86% of the earth’s landmass, with 30-60cm resolution where available, backfilled by Landsat. Average age is 2.31 years, with some areas updated 2x per year.",name:"Maxar Standard Imagery (Beta)"},"OSM_Inspector-Addresses":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Addresses"},"OSM_Inspector-Geometry":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Geometry"},"OSM_Inspector-Highways":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Highways"},"OSM_Inspector-Multipolygon":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Area"},"OSM_Inspector-Places":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Places"},"OSM_Inspector-Routing":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Routing"},"OSM_Inspector-Tagging":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Tagging"},SPW_ORTHO_LAST:{name:"SPW(allonie) most recent aerial imagery"},SPW_PICC:{name:"SPW(allonie) PICC numerical imagery"},"US-TIGER-Roads-2014":{description:"At zoom level 16+, public domain map data from the US Census. At lower zooms, only changes since 2006 minus changes already incorporated into OpenStreetMap",name:"TIGER Roads 2014"},"US-TIGER-Roads-2017":{description:"Yellow = Public domain map data from the US Census. Red = Data not found in OpenStreetMap",name:"TIGER Roads 2017"},"US-TIGER-Roads-2018":{description:"Yellow = Public domain map data from the US Census. Red = Data not found in OpenStreetMap",name:"TIGER Roads 2018"},"USDA-NAIP":{description:"The most recent year of DOQQs from the National Agriculture Imagery Program (NAIP) for each state in the contiguous United States.",name:"National Agriculture Imagery Program"},US_Forest_Service_roads_overlay:{description:"Highway: Green casing = unclassified. Brown casing = track. Surface: gravel = light brown fill, Asphalt = black, paved = gray, ground =white, concrete = blue, grass = green. Seasonal = white bars",name:"U.S. Forest Roads Overlay"},UrbISOrtho2016:{attribution:{text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB"},name:"UrbIS-Ortho 2016"},UrbISOrtho2017:{attribution:{text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB"},name:"UrbIS-Ortho 2017"},UrbISOrtho2018:{attribution:{text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB"},name:"UrbIS-Ortho 2018"},UrbisAdmFR:{attribution:{text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB"},name:"UrbisAdm FR"},UrbisAdmNL:{attribution:{text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB"},name:"UrbisAdm NL"},"Waymarked_Trails-Cycling":{attribution:{text:"© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0"},name:"Waymarked Trails: Cycling"},"Waymarked_Trails-Hiking":{attribution:{text:"© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0"},name:"Waymarked Trails: Hiking"},"Waymarked_Trails-MTB":{attribution:{text:"© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0"},name:"Waymarked Trails: MTB"},"Waymarked_Trails-Skating":{attribution:{text:"© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0"},name:"Waymarked Trails: Skating"},"Waymarked_Trails-Winter_Sports":{attribution:{text:"© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0"},name:"Waymarked Trails: Winter Sports"},"basemap.at":{attribution:{text:"basemap.at"},description:"Basemap of Austria, based on government data.",name:"basemap.at"},"basemap.at-orthofoto":{attribution:{text:"basemap.at"},description:"Orthofoto layer provided by basemap.at. \"Successor\" of geoimage.at imagery.",name:"basemap.at Orthofoto"},"basemap.at-overlay":{attribution:{text:"basemap.at"},description:"Annotation overlay provided by basemap.at.",name:"basemap.at Overlay"},"basemap.at-surface":{attribution:{text:"basemap.at"},description:"Surface layer provided by basemap.at.",name:"basemap.at Surface"},"basemap.at-terrain":{attribution:{text:"basemap.at"},description:"Terrain layer provided by basemap.at.",name:"basemap.at Terrain"},"eufar-balaton":{attribution:{text:"EUFAR Balaton ortofotó 2010"},description:"1940 geo-tagged photography from Balaton Limnological Institute.",name:"EUFAR Balaton orthophotos"},"finds.jp_KBN_2500":{attribution:{text:"GSI KIBAN 2500"},description:"GSI Kiban 2500 via finds.jp. Good for tracing, but a bit older.",name:"Japan GSI KIBAN 2500"},"gsi.go.jp":{attribution:{text:"GSI Japan"},description:"Japan GSI ortho Imagery. Usually better than bing, but a bit older.",name:"Japan GSI ortho Imagery"},"gsi.go.jp_airphoto":{attribution:{text:"GSI Japan"},description:"Japan GSI airphoto Imagery. Not fully orthorectified, but a bit newer and/or differently covered than GSI ortho Imagery.",name:"Japan GSI airphoto Imagery"},"gsi.go.jp_seamlessphoto":{attribution:{text:"GSI Japan seamless photo"},description:"Japan GSI seamlessphoto Imagery. The collection of latest imageries of GSI ortho, airphoto, post disaster and others.",name:"Japan GSI seamlessphoto Imagery"},"gsi.go.jp_std_map":{attribution:{text:"GSI Japan"},description:"Japan GSI Standard Map. Widely covered.",name:"Japan GSI Standard Map"},"helsingborg-orto":{attribution:{text:"© Helsingborg municipality"},description:"Orthophotos from the municipality of Helsingborg 2016, public domain",name:"Helsingborg Orthophoto"},"kalmar-orto-2014":{attribution:{text:"© Kalmar municipality"},description:"Orthophotos for the north coast of the municipality of Kalmar 2014",name:"Kalmar North Orthophoto 2014"},"kalmar-orto-2016":{attribution:{text:"© Kalmar municipality"},description:"Orthophotos for the south coast of the municipality of Kalmar 2016",name:"Kalmar South Orthophoto 2016"},"kalmar-orto-2018":{attribution:{text:"© Kalmar municipality"},description:"Orthophotos for urban areas of the municipality of Kalmar 2018",name:"Kalmar Urban Orthophoto 2018"},kelkkareitit:{attribution:{text:"© Kelkkareitit.fi"},description:"Kelkkareitit.fi snowmobile trails from OSM (Nordic coverage)",name:"Nordic snowmobile overlay"},"lantmateriet-orto1960":{attribution:{text:"© Lantmäteriet, CC0"},description:"Mosaic of Swedish orthophotos from the period 1955–1965. Older and younger pictures may occur.",name:"Lantmäteriet Historic Orthophoto 1960"},"lantmateriet-orto1975":{attribution:{text:"© Lantmäteriet, CC0"},description:"Mosaic of Swedish orthophotos from the period 1970–1980. Is under construction.",name:"Lantmäteriet Historic Orthophoto 1975"},"lantmateriet-topowebb":{attribution:{text:"© Lantmäteriet, CC0"},description:"Topographic map of Sweden 1:50 000",name:"Lantmäteriet Topographic Map"},"linkoping-orto":{attribution:{text:"© Linköping municipality"},description:"Orthophotos from the municipality of Linköping 2010, open data",name:"Linköping Orthophoto"},mapbox_locator_overlay:{attribution:{text:"Terms & Feedback"},description:"Shows major features to help orient you.",name:"Locator Overlay"},openpt_map:{attribution:{text:"© OpenStreetMap contributors, CC-BY-SA"},name:"OpenPT Map (overlay)"},"osm-gps":{attribution:{text:"© OpenStreetMap contributors"},description:"Public GPS traces uploaded to OpenStreetMap.",name:"OpenStreetMap GPS traces"},"osm-mapnik-black_and_white":{attribution:{text:"© OpenStreetMap contributors, CC-BY-SA"},name:"OpenStreetMap (Standard Black & White)"},"osm-mapnik-german_style":{attribution:{text:"© OpenStreetMap contributors, CC-BY-SA"},name:"OpenStreetMap (German Style)"},"osmse-ekonomiska":{attribution:{text:"© Lantmäteriet"},description:"Scan of \"Economic maps\" ca. 1950–1980",name:"Lantmäteriet Economic Map 1950–1980"},qa_no_address:{attribution:{text:"Simon Poole, Data ©OpenStreetMap contributors"},name:"QA No Address"},skobbler:{attribution:{text:"© Tiles: skobbler Map data: OpenStreetMap contributors"},name:"skobbler"},skoterleder:{attribution:{text:"© Skoterleder.org"},description:"Snowmobile trails",name:"Snowmobile map Sweden"},"stamen-terrain-background":{attribution:{text:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL"},name:"Stamen Terrain"},"stockholm-orto":{attribution:{text:"© Stockholm municipality, CC0"},description:"Orthophotos from the municipality of Stockholm 2016, CC0 license",name:"Stockholm Orthophoto"},"tf-cycle":{attribution:{text:"Maps © Thunderforest, Data © OpenStreetMap contributors"},name:"Thunderforest OpenCycleMap"},"tf-landscape":{attribution:{text:"Maps © Thunderforest, Data © OpenStreetMap contributors"},name:"Thunderforest Landscape"},"trafikverket-baninfo":{attribution:{text:"© Trafikverket, CC0"},description:"Swedish railway network, including sidings",name:"Trafikverket Railway Network"},"trafikverket-baninfo-option":{attribution:{text:"© Trafikverket, CC0"},description:"Swedish railway network with several options for map layers",name:"Trafikverket Railway Network options"},"trafikverket-vagnat":{attribution:{text:"© Trafikverket, CC0"},description:"Swedish NVDB road network",name:"Trafikverket Road Network"},"trafikverket-vagnat-extra":{attribution:{text:"© Trafikverket, CC0"},description:"Swedish NVDB extra details: Highway reference, traffic calming, rest area, bus stop, bridge, tunnel, speed camera",name:"Trafikverket Road Network extra"},"trafikverket-vagnat-navn":{attribution:{text:"© Trafikverket, CC0"},description:"Swedish NVDB street names",name:"Trafikverket Street Names"},"trafikverket-vagnat-option":{attribution:{text:"© Trafikverket, CC0"},description:"Swedish NVDB road network with several options for map layers",name:"Trafikverket Road Network options"}},community:{"bw-facebook":{name:"Mapping Botswana on Facebook",description:"Page of OpenStreetMap in Botswana"},"bw-twitter":{name:"Mapping Botswana on Twitter",description:"Twitter of OpenStreetMap in Botswana"},"ym-Centre-Universitaire-de-Recherche-et-dApplication-en-Tldtection-CURAT-de-lUniversit-Felix-Houphouet-Boigny":{name:"YouthMappers CURAT",description:"YouthMappers chapter at Centre Universitaire de Recherche et d'Application en Télédétection (CURAT) de l'Université Felix Houphouet Boigny",extendedDescription:"Our chapter aim is to promote the use of collaborative free mapping and the use of openstreetmap data in the field of research and their application in the implementation of tools for decision-making. Help students produce their own data of their research."},"ym-The-Gambia-YMCA-University-of-the-Gambia":{name:"Connected YouthMappers",description:"YouthMappers chapter at The Gambia YMCA / University of the Gambia",extendedDescription:"Connected YouthMappers is comprised of dedicated young Gambians who aspire to change and aid national development."},"cape-coast-youthmappers":{name:"University of Cape Coast YouthMappers",description:"Follow us on Twitter: {url}",extendedDescription:"This is the official handle for the Youth Mappers chapter of the University of Cape Coast, Ghana. we love maps, open data and helping the vulnerable."},"osm-gh-facebook":{name:"OpenStreetMap Ghana on Facebook",description:"Facebook group for people interested in OpenStreetMap.",extendedDescription:"Mappers in Ghana community, promoting OpenStreetMap and Humanitarian OpenStreetMap Team (HOT) projects in Ghana. Join us."},"osm-gh-twitter":{name:"OpenStreetMap Ghana on Twitter",description:"Follow us on Twitter: {url}"},"talk-gh":{name:"Talk-gh Mailing List",description:"Talk-gh is the official mailing list for Ghana OSM community."},"ym-Kwame-Nkrumah-University-of-Science-and-Technology":{name:"Kwame Nkrumah University of Science and Technology YouthMappers",description:"YouthMappers chapter at Kwame Nkrumah University of Science and Technology"},"ym-University-of-Cape-Coast":{name:"UCC Geographical Society",description:"YouthMappers chapter at University of Cape Coast",extendedDescription:"We are a society that encompasses all students who are reading and read geography in the Department of Geography and Regional Planning at the University of Cape Coast. Our main aim is to promote interest in the discipline inside and outside of the classroom. Our motto is “We comprehend the Earth and its inhabitants.”"},"ym-University-of-Energy-and-Natural-Resources":{name:"Eco-Club",description:"YouthMappers chapter at University of Energy and Natural Resources",extendedDescription:"To provide a sound education to all citizens about the deteriorating environment and provide utmost use of recreation of the environment for human survival."},"ym-University-of-Ghana":{name:"University of Ghana YouthMappers",description:"YouthMappers chapter at University of Ghana",extendedDescription:"UG YouthMappers consists of both graduate and undergraduate students possessing knowledge and skills in GIS and Remote Sensing. The club is composed of an energetic team that is poised to address social issues and mitigate environmental problems through mapping. Our fundamental principles are capacity building, empowerment and teamwork."},"ym-University-of-Mines-and-Technology":{name:"UMaT YouthMappers",description:"YouthMappers chapter at University of Mines and Technology",extendedDescription:"UMaT YouthMappers is a group of volunteer students who seek to grant students the opportunity to improve skills in the field of mapping & creating open geographic data and analyses that address locally defined development challenges worldwide."},"ym-General-Lansana-Conte-University":{name:"YouthMappers General Lansana Conte University",description:"YouthMappers chapter at General Lansana Conte University",extendedDescription:"The YouthMappers of the University General Lansana Conté is a non profit community willing to contribute to Map Guinea and others part of the world. We are promoting the use of GIS and Open data to build decision support tools. We also work to build capacities among the students and local communities."},"ym-Institute-of-Science-and-Veterinary-Medicine":{name:"YouthMappers ISSMV Dalaba",description:"YouthMappers chapter at Institute of Science and Veterinary Medicine",extendedDescription:"YouthMappers ISSMV Dabala is a non profit organisation working to promote humanitarian mapping and the use of open sources and open data to build decision making tools in Guinea."},"ym-Universit-de-NZrkor":{name:"Youthmappers à N'Zérékoré",description:"YouthMappers chapter at Université de N'Zérékoré",extendedDescription:"YouthMappers est un groupe qui permet de faire la cartographie des communautés enclavées et à la prise des décisions en cas de catastrophes ou épidémies. Elle permet aussi la production et l'utilisation des données en accès gratuit."},"ym-Dedan-Kimathi-University-of-Technology":{name:"GDEV",description:"YouthMappers chapter at Dedan Kimathi University of Technology",extendedDescription:"GDEV is a group of enthusiastic GIS group at DeKUT that aims at helping students share, engage and learn from each other in matters geospatial"},"ym-Jomo-Kenyatta-University-of-Agriculture-and-Technology":{name:"Association of Geomatics Engineering Students",description:"YouthMappers chapter at Jomo Kenyatta University of Agriculture and Technology",extendedDescription:"The Association of Geomatics Engineering Students (AGES), aims at promoting GIS products and services as well as training students on the use of the same. It not only promotes socialization between the students and practicing professionals, but also provides a platform for exchanging new ideas for holding new GIS and surveying events and training at the university."},"ym-Karatina-University":{name:"Nature Club Karatina University",description:"YouthMappers chapter at Karatina University",extendedDescription:"This chapter aims to bring together all GIS enthusiasts.They include environment experts, wildlife experts, aquatic and tourism officers, just to mention a few. Its main aim is to provide a platform where students can learn from each other and, in the process, understand how to integrate the GIS skills in their various career paths as well as provide solutions to various environmental related challenges."},"ym-Kenyatta-University":{name:"Kenyatta University GIS Club",description:"YouthMappers chapter at Kenyatta University",extendedDescription:"Kenyatta University GIS Club (KUGISC) was founded on 28th October 2016, with more than 200 students and staff from all faculty within campus as members. We are committed to empower members with spatial knowledge, skills and expertise required in understanding the Earth. We help in mapping resources within the university by incorporating geospatial data in their projects as well as fieldwork data collection."},"ym-Moi-University":{name:"Geography Students Association",description:"YouthMappers chapter at Moi University",extendedDescription:"The Geography Students Association at Moi University (GEOSAMU) explores, discovers and aims at developing the entire world through the young Geo-Spatial analysts.  GEOSAMU is part of the Department of Geography."},"ym-Technical-University-of-Kenya":{name:"Geospatial Science Student Association",description:"YouthMappers chapter at Technical University of Kenya",extendedDescription:"It's a geographical information based group with very passionate students in the relevant fields of study. We do training to members on emerging trends in the market and keep up with technological advancements"},"ym-University-of-Nairobi":{name:"Geospatial Engineering Students Association",description:"YouthMappers chapter at University of Nairobi",extendedDescription:"UN students are working with the local OSM community, Map Kibera, and GrouthTruth to learn about open mapping and contribute data for needs in their urban communities."},"ym-African-Methodist-Episcopal-University":{name:"YouthMappers-AMEU",description:"YouthMappers chapter at African Methodist Episcopal University"},"ym-Cuttington-University":{name:"Cuttington University YouthMappers",description:"YouthMappers chapter at Cuttington University",extendedDescription:"The YouthMappers at Cuttington University, Suakoko, and Bong County comprised of Students from three different departments; namely, the Department of Natural Resources Management “DONRM”, Department of Environmental Sciences, and the Department of Natural Sciences. Since the establishment of the Chapter in February 2017, the overall membership is  20 students, with each department containing 5 students."},"ym-Grand-Gedeh-County-Community-College":{name:"YouthMappers at Grand Gedeh County Community College",description:"YouthMappers chapter at Grand Gedeh County Community College",extendedDescription:"The Youth Mappers of GGCCC sole intent is to put  places in and around Liberia  that are not on the map. We gather youths from the college within the Grand Gedeh Community College to make it their duties to unite and bring these places to the spot light geographically."},"ym-Nimba-County-Community-College":{name:"Nimba County Community College Youth Mappers",description:"YouthMappers chapter at Nimba County Community College"},"ym-Stella-Maris-Polytechnic":{name:"YouthMappers-SMP",description:"YouthMappers chapter at Stella Maris Polytechnic"},"ym-University-of-Liberia-YouthMappers":{name:"University of Liberia YouthMappers",description:"YouthMappers chapter at University of Liberia YouthMappers",extendedDescription:"The University of Liberia YouthMappers is a chapter organization of the Global YouthMappers. We are a nonprofit student mapping organization focus on mapping for Liberia’s development and the World at large. The purpose of this organization shall be to utilize technology and geospatial knowledge as means of creating and developing maps; collecting and analyzing data that will address local and worldwide challenges. Our aim is to support and create opportunity for students to develop interest and skills in the fields of mapping. We envision a united student community that are collaborative, active and are willing to work with the University of Liberia YouthMappers in order to better the lives of others."},"osm-mg-facebook":{name:"OpenStreetMap Madagascar Facebook Group",description:"Malagasy Facebook group for people interested in OpenStreetMap."},"talk-mg":{name:"Talk-mg Mailing List",description:"Place for OpenStreetMap contributors, communities and users in Madagascar to share and discuss."},"ym-University-of-Malawi":{name:"Chanco Malawi YouthMappers",description:"YouthMappers chapter at University of Malawi",extendedDescription:"Chanco Malawi YouthMappers is the student mapping organization for the University of Malawi's Chancellor College. The students in this chapter focus on mapping for Malawi's development and science needs."},"ym-Universit-des-Sciences-Sociale-et-de-Gestion-de-Bamako":{name:"Etudiant au Laboratoire HoPE",description:"YouthMappers chapter at Université des Sciences Sociale et de Gestion de Bamako"},"ym-Universidade-Eduardo-Mondlane":{name:"Comunidade YouthMappers Moçambique",description:"YouthMappers chapter at Universidade Eduardo Mondlane",extendedDescription:"We are a student group that intends to join Mozambican society to create a resilient community of humanitarian mapping. The community intend to map the physical occupation of our Country and create open geographic data, accessible to the public and able to be used in several areas without associated costs."},"ym-Namibia-University-of-Science-and-Technology":{name:"Geoinformation Technology Student Society",description:"YouthMappers chapter at Namibia University of Science and Technology"},"ym-Abia-State-University":{name:"AbsuMappersTeam",description:"YouthMappers chapter at Abia State University",extendedDescription:"AbsuMappersTeam is  voluntary team of map enthusiast ,using openstreetmap,GIS and other open source geospatial techno;ogy to solve problems.It is a dedicated for disaster response using OpenStreetMap.It is a  professional mentoring  and empowerment platform for  those with passion for GIS and Mapping.It is a community of  volunteers for geospatial data creation,field data collection and mapping.The team was co-founded by Victor N.Sunday(the Team mentor) and Professor J.U.Ogbonna ,the team coordinator and faculty Advisor. AbsuMapperTeam is an affiliate of UniiqueMappersTeam-Port Harcourt.The team stands to support sustainable development using geospatial  technology"},"ym-Ahmadu-Bello-University":{name:"ABU Geomappers",description:"YouthMappers chapter at Ahmadu Bello University",extendedDescription:"We are a group of Data driven Humanitarian mappers, who are dedicated to rendering humanitarian service in response to disaster and mitigation. We are glad to contribute our expertise and knowledge through mapping, and helping to spread #OpenEvangelism through Training, and collaboration."},"ym-Federal-School-of-Surveys":{name:"OyoMappersTeam (OMT) Oyo",description:"YouthMappers chapter at Federal School of Surveys"},"ym-Federal-University-of-Technology-Akure":{name:"YouthMappers Futa Space Club",description:"YouthMappers chapter at Federal University of Technology, Akure",extendedDescription:"Our mission is to raise the next generation of Space Leaders. Activities include research and capacity building in Remote Sensing, GIS, Climate Change, Astronomy, Cosmology, Space Engineering, Global Navigation, Robotics and Space Education."},"ym-Ignatius-Ajuru-University-of-Education":{name:"IgnatiusMappersTeam (IMT)",description:"YouthMappers chapter at Ignatius Ajuru University of Education",extendedDescription:"We are a YouthMappers Chapter of Ignatius Ajuru University of Education involved in crowdsourced mapping of our environment and remote mapping of resilient communities.We are a team of volunteers using openstreetmap and other open Geospatial source for mapping."},"ym-University-of-Nigeria-Nsukka":{name:"LionMappersTeam (LMT) Nsukka",description:"YouthMappers chapter at University of Nigeria, Nsukka",extendedDescription:"The LionMappersTeam is an affiliate of YouthMappers Network, with the sole aim of providing members the opportunity to learn and improve their skills in the field of mapping science and to create open geographic data and analysis that addresses locally defined challenges globally. It is a team of volunteers for crowdsourced mapping and geographic information provision using Openstreetmap, citizen science  and other geospatial  technology for research, training and response to resilient community challenges. We are involved in GIS and Remote Sensing Applications and Research.Paticipatory GIS and Citizen Science,field mapping ,training workshops and outreaches to High Schools."},"ym-University-of-Port-Harcourt":{name:"UniqueMappersTeam (UMT) Port Harcourt",description:"YouthMappers chapter at University of Port Harcourt",extendedDescription:"UniqueMappersTeam(UMT)Port Harcourt  is an action group and a team of volunteers for a collaborative online mapping targeted at training and empowering members with trending mapping skills  to create open geospatial data and analysis that addresses locally defined challenges for geoinformation and to provide humanitarian mapping  services to resilient communities in Niger Delta,Nigeria and elsewhere.We promote Crowdsoucred Mapping and Geographic information volunteering using OpenStreetMap(OSM) platform and other accessible platforms for Rapid Response Mapping,Disaster Mapping,Geo-intelligence Mapping,Map updates and training.Its an affiliate Campus chapter of Humanitarian OpenStreetMap Team(HOT).It is a project-task team of YouthMappers that provide opportunity for members to learn and improve their skills in Geoinformatics so as to explore global opportunities in the field of Mapping and Geoinformation."},"ym-University-of-Nigeria-Enugu-Campus":{name:"LionMappersTeam (LMT) Enugu",description:"YouthMappers chapter at University of Nigeria, Enugu Campus",extendedDescription:"The LionMappersTeam(LMT)Enugu Campus is an affiliate of YouthMappers Network, with the sole aim of providing members the opportunity to learn and improve their skills in the field of Geoinformatics and to create open geographic data and analysis that addresses locally defined challenges globally. It is a team of volunteers for Crowdsourced Mapping and Geographic Information provision using Openstreetmap, Citizen Science and other Geospatial Technology for research, training and response to resilient community challenges. We are involved in Web-Cartography, GIS and Remote Sensing Applications and ResearchWe are passionate about Volunteered Geographic Information.Paticipatory GIS and Citizen Science.Our major activities include online crowdsourced-Cartography, Field Mapping ,Training workshops and outreaches to High School as well as Humanitarian/Disaster Response Mapping."},"osm-africa-telegram":{name:"OpenStreetMap Africa Telegram",description:"OpenStreetMap Telegram for Africa"},"ym-Insititue-d-Enseignement-Superieur-de-Ruhengeri":{name:"YouthMappers at INES Ruhengeri",description:"YouthMappers chapter at Insititue d' Enseignement Superieur de Ruhengeri",extendedDescription:"We are students from Land Administration and Management and Land survey Departments from INES-Ruhengeri. We are engaged in mapping activities that create the changes toward sustainable development in our community."},"ym-University-of-Rwanda-Huye-Campus":{name:"Rwanda YouthMappers",description:"YouthMappers chapter at University of Rwanda - Huye Campus",extendedDescription:"Based on the commitment and the purpose of promoting mapping, and the information from YouthMappers public talks, we have organized as students in Geography department who are committed in mapping to found a chapter of our Campus. We have supported by our Facilitator Dr. Gaspard Rwanyiziri (Director of CGIS-Rwanda) and various lecturer mentors."},"ym-Institut-Suprieur-de-Management-Kolda":{name:"Les Femmes Leaders de ISM/Kolda",description:"YouthMappers chapter at Institut Supérieur de Management Kolda",extendedDescription:"Les Femmes Leaders de ISM/Kolda is an all-female mapping group in southern Senegal looking to put Kolda and surrounding villages on the map and better understand how to use OSM."},"ym-Universit-Gaston-Berger":{name:"YouthMappers at UGB",description:"YouthMappers chapter at Université Gaston Berger",extendedDescription:"YouthMappers UGB is made up of young students and researchers who are passionate about mapping. Our aim is to improve students' skills in the field of cartography and to participate in the creation of open geographic data that responds to development challenges around the world and particularly in Africa."},"ym-Fourah-Bay-College":{name:"Student's Geographical Association",description:"YouthMappers chapter at Fourah Bay College",extendedDescription:"The Student's Geographical Association- YouthMappers is an association of Fourah Bay College Students with the common goals of mapping out vulnerable places in Sierra Leone and the world at large for relief and other beneficial purposes,carry out Research and other educative endeavors. The chapter consists of young people with great ideas, development oriented with the capacity to relate with each other, comprehend and implement sustainable developmental projects as a team."},"ym-Njala-University-Freetown-Campus":{name:"Njala Freetown YouthMappers",description:"YouthMappers chapter at Njala University, Freetown Campus",extendedDescription:"We are students of Njala University Freetown Campus, studying Information Technology under the department of Physics and Computer Science. and we are located at Henry Street Freetown, Sierra Leone."},"ym-Njala-University-Njala-Campus":{name:"YouthMappers Njala University, Njala Campus",description:"YouthMappers chapter at Njala University, Njala Campus"},"ym-University-of-Pretoria":{name:"Centre for Geoinformation Science",description:"YouthMappers chapter at University of Pretoria",extendedDescription:"The students who map Pretoria are supported by the University of Pretoria's Centre for Geoinformation Science, a platform from where the excellence of UP individuals and teams involved in geographic information science (GISc) research, education and training, professional development and community engagement is encouraged and strengthened through collaborations, education and training and  alliances within South Africa and abroad."},"ym-Ardhi-University":{name:"ARU Mapper",description:"YouthMappers chapter at Ardhi University",extendedDescription:"As upcoming geospatial data consultants we seek to educate and provide advice to the society on how they can use spatial data not only as a form of location but a tool of decision making and predict different hazardous and climatical changes which may harm them or future genarations."},"ym-Institute-of-Finance-Management":{name:"IFM mappers",description:"YouthMappers chapter at Institute of Finance Management",extendedDescription:"This is a new  chapter at out institute and we are looking forward to use our financial education that we are receiving here at the campus  and link ig with the environment in order to develop our sustainable environment towards helping the community  with the effects of our environment in a financial ways by converting them into numbers. this is widely explained in ecosystem accounting and environmental accounts"},"ym-Institute-of-Rural-Development-Planning-Mwanza":{name:"Youth Mappers Chapter at Institute of Rural Development Planning - Lake Zone Centre",description:"YouthMappers chapter at Institute of Rural Development Planning Mwanza"},"ym-Institute-of-Rural-Development-Planning":{name:"Mipango YouthMappers Chapter",description:"YouthMappers chapter at Institute of Rural Development Planning",extendedDescription:"Mipango YouthMappers Chapter was introduced at IRDP on 3rd July, 2017 by Dr.Domitilla Bashemera. The founding members were  300 (190 males and 110 female) Bachelor Degree students, who were registered as members of the Chapter. Gerald Zacharia is the president of the chapter and Juster Lugira is Vice President."},"ym-Open-University-of-Tanzania":{name:"Youth Mappers at Open University of Tanzania",description:"YouthMappers chapter at Open University of Tanzania",extendedDescription:"Youth Mappers at Open University of Tanzania\n\nHad been founded by members and students of Open University of Tanzania in Department of Geography who are mainly need to improve their career and help young community through joint and partnership projects with local community groups such as Mikoko Scout Group (www.msg.or.tz) and start cooperation with international colleges and universities for exchange programs in relation to Geography Studies as some programs prepared by Mikoko Scout Group which will link local university and other universities of the same interest through International Nature & Environmental Youth Camp 2019 (www.campsite.msg.or.tz/nature.html )\n\nOur chapter will soon be recognized as youth network program that will open opportunity for students to study and conduct research studies at a local levels."},"ym-Sokoine-University-of-Agriculture":{name:"SMCoSE YouthMappers",description:"YouthMappers chapter at Sokoine University of Agriculture",extendedDescription:"A Chapter comprising of Environmental sciences and management students and Geography studies under the dept. of Geography and  we will be using mapping techniques, based on systems concepts and theories, can be used to facilitate, explore, and capture the different understandings of the relationships, perspectives, and boundaries involved in environmental sustainability to obtain a more complete comprehension of the concept and develop plans for action."},"ym-University-of-Dar-es-Salaam":{name:"YouthMappers at University of Dar es Salaam",description:"YouthMappers chapter at University of Dar es Salaam",extendedDescription:"The purpose of the University of Dar es Salaam YouthMappers  is to use and promote open source data and GIS technologies to map potential disaster areas, provide resources for emergency management, connect its members with open source and GIS organizations in the city of Dar es Salaam, and serve any upcoming needs of our project partners ."},"ym-Busitema-University":{name:"Good Mappers",description:"YouthMappers chapter at Busitema University",extendedDescription:"Good mappers is a team of students in Busitema University. Its main objective is to create a community of experienced mappers who can contribute to the world map."},"ym-Gulu-University":{name:"CSGU Mappers",description:"YouthMappers chapter at Gulu University",extendedDescription:"The CSGU Mappers are the Computing Society at Gulu University. This chapter is creative, passionate, innovative and ready to map Uganda and the world at large, beyond other people's imagination."},"ym-Kumi-University":{name:"Ever Last YouthMappers",description:"YouthMappers chapter at Kumi University",extendedDescription:"This energetic group of students organizes within the faculty of Science and Information Technology."},"ym-Makerere-University":{name:"Geo YouthMappers",description:"YouthMappers chapter at Makerere University",extendedDescription:"Geo YouthMappers is a Makerere University based mapping chapter esteemed to apply the spatial conception to the real world.We have collaborated on various mapping events with OSM. Our main aim is the desire to simplify data and make it readily available mostly for disaster preparedness.\"We map the world and change lives."},"ym-Mbarara-University-of-Science-and-Technology":{name:"MUST Street Mappers",description:"YouthMappers chapter at Mbarara University of Science and Technology",extendedDescription:"MUST Street Mappers is a Youth Mappers chapter at the Mbarara University of Science and Technology that is based on making our country and the world at large a better place through mapping. We base on collected information to notice patterns and data mine to present relevant and beneficial information to society."},"ym-St.-Augustine-International-University":{name:"YouthMappers at St Augustine International University",description:"YouthMappers chapter at St. Augustine International University"},"ym-Uganda-Christian-University-Mbale-Campus":{name:"Mappers for Life",description:"YouthMappers chapter at Uganda Christian University Mbale Campus",extendedDescription:"We are Team Mappers for life! Please come and join us as we map together!\" This group works from the Department of Information Technology at the UCU."},"ym-Uganda-Pentecostal-University":{name:"HiTech Youth Mappers",description:"YouthMappers chapter at Uganda Pentecostal University",extendedDescription:"A new Youthmappers Chapter in Western Uganda. Ready to map and provide open data with OpenStreetMap for development purposes."},"ym-St.-Mawaggali-Trades-Training-Institute":{name:"MawaggaliMappers",description:"YouthMappers chapter at St. Mawaggali Trades Training Institute",extendedDescription:"We are the youthappers chapter at St. Mawaggali trades in choma who are want to contribute the different humantarian tasks to serve lives through mapping."},"ym-The-University-of-Zambia":{name:"YouthMappers Unza",description:"YouthMappers chapter at The University of Zambia"},"ym-University-of-Zimbabwe":{name:"UZMappers",description:"YouthMappers chapter at University of Zimbabwe",extendedDescription:"UzMappersTeam Zimbabwe is a team of Volunteers using OpenStreetMap for Open Data Mapping and Humanitarian Disaster response mapping .The team empowers its members with open source geospatial technology skills."},"osm-afghanistan-facebook":{name:"OpenStreetMap Afghanistan",description:"Improve OpenStreetMap in Afghanistan"},"OSM-BGD-facebook":{name:"OpenStreetMap Bangladesh",description:"Improve OpenStreetMap in Bangladesh",extendedDescription:"Mapping in Bangladesh? Have questions, want to connect with the community here? Join us at {url}. All are welcome!"},"ym-Asian-University-for-Women":{name:"YouthMappers at AUW",description:"YouthMappers chapter at Asian University for Women",extendedDescription:"The Asian University for Women seeks to graduate women who will be skilled and innovative professionals, service-oriented leaders in the businesses and communities in which they will work and live, and promoters of intercultural understanding and sustainable human and economic development in Asia and throughout the world."},"ym-Dhaka-College":{name:"YouthMappers Daka College",description:"YouthMappers chapter at Dhaka College",extendedDescription:"YouthMappers DhakaCollege is an approach by students to help mapping vulnerable areas of the world as a part of Humanitarian Action. YouthMappers  gives the opportunity to the students for helping people and using mapping for humanitarian purposes. This open geographic data can be used for educational, navigational and other humanitarian purposes. Happy mapping."},"ym-Dhaka-University":{name:"Openstreetmap YouthMappers",description:"YouthMappers chapter at Dhaka University",extendedDescription:"It's a great privilege for the students of University of Dhaka to map for humanitarian purposes. Our chapter gives the opportunity to the students for helping people and use mapping for humanitarian purposes."},"ym-Eastern-University":{name:"YouthMappers at Eastern University",description:"YouthMappers chapter at Eastern University",extendedDescription:"YouthMappers at Eastern University, Bangladesh has been formed with a view to assisting people during humanitarian crisis. The students, likewise other mappers of the world, are promised to assist people in using the map for educational, navigational and other humanitarian purposes."},"ym-Jahangirnagar-University":{name:"YouthMappers at IRS, Jahangirnagar University",description:"YouthMappers chapter at Jahangirnagar University"},"ym-Khulna-University":{name:"Openstreetmap",description:"YouthMappers chapter at Khulna University",extendedDescription:"KU students and faculty from multiple disciplines are experienced at creating open data for OSM to address local challenges of development, including food security and other topics."},"ym-Rajshahi-University-of-Engineering-Technology":{name:"YouthMappers at RUET",description:"YouthMappers chapter at Rajshahi University of Engineering & Technology",extendedDescription:"The \"YouthMappers at RUET\" is a humanitarian mapping group of students of Rajshahi University of Engineering & Technology (RUET) to share, develop and practice the knowledge of GIS.  This group encourages using open source geospatial data and platform to make solution to reach the most vulnerable group of the world."},"ym-Sherubtse-College":{name:"Geographical Society",description:"YouthMappers chapter at Sherubtse College",extendedDescription:"The Geographical Society, in the Department of Geography & Planning, Sherubtse College, Royal University of Bhutan, with support from the Center for Climate Change and Spatial Information, has made several efforts to create awareness and address important issues at the local and national level. We now join hands with the international student-centered YouthMappers network on \"Mapping for Resilience\" and contributing to a global 'Happiness'!"},"OSM-India-facebook":{name:"OpenStreetMap India - Participatory neighborhood mapping",description:"Improve OpenStreetMap in India",extendedDescription:"Mapping in India? Have questions, want to connect with the community here? Join us at {url}. All are welcome!",events:{sotmasia2018:{name:"State of the Map Asia 2018",description:"Join the 2018 OpenStreetMap region-wide event at State of the Map Asia in India",where:"Indian Institute of Management, Bangalore, India"}}},"osm-india-forum":{name:"OpenStreetMap India forum",description:"OpenStreetMap India web forum"},"osm-india-github":{name:"OpenStreetMap India GitHub",description:"Code with us: {url}"},"OSM-india-mailinglist":{name:"OpenStreetMap India Mailinglist",description:"Talk-in is the official Mailinglist for Indian Community"},"osm-india-telegram":{name:"OpenStreetMap India Telegram",description:"Join our family: {url}"},"OSM-india-twitter":{name:"OpenStreetMap India Twitter",description:"We are just a tweet away: {url}"},"osm-india-website":{name:"OpenStreetMap India",description:"Mappers and OpenStreetMap users in India"},"osm-india-wiki":{name:"OpenStreetMap Wikiproject India",description:"Everything you need to know about mapping in India: {url}"},"osm-india-youtube":{name:"OpenStreetMap India Youtube",description:"Subscribe to our channel: {url}"},"OSM-India-Puducherry-Facebook":{name:"Free Software Hardware Movement - Facebook",description:"FSHM Facebook page to know about community events, activities",extendedDescription:"FSHM organizes events relating to free software/hardware, technology, activism and OpenStreetMap. Its FB page is the best way to keep in contact with its events."},"OSM-Puducherry-Mailing-List":{name:"Free Software Hardware Movement - Mailing List",description:"FSHM Puducherry mailing list to discuss mapping in Puducherry and other things.",extendedDescription:"FSHM organizes events relating to free software/hardware, technology, activism and OpenStreetMap."},"OSM-India-Puducherry-Matrix":{name:"Free Software Hardware Movement - Matrix",description:"FSHM Riot group to discuss, share and update mapping activities, events in and around Puducherry",extendedDescription:"FSHM community members share their OSM mapping updates / experiences through the Riot.im group, this group is also used to discuss things related to free software / hardware, technology and activism."},"ym-Gujarat-University":{name:"CCIM at Ahmedabad",description:"YouthMappers chapter at Gujarat University"},"OSM-IDN-facebook":{name:"OpenStreetMap Indonesia",description:"Improve OpenStreetMap in Indonesia",extendedDescription:"Mapping in Indonesia? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!"},"ym-Universitas-Negeri-Makassar":{name:"Kontur Geografi",description:"YouthMappers chapter at Universitas Negeri Makassar"},"ym-University-Muhammadiyah-Surakarta":{name:"SpaceTime",description:"YouthMappers chapter at University Muhammadiyah Surakarta",extendedDescription:"SpaceTime is a community mapping in the Faculty of Geography of Muhammadiyah University of Surakarta. SpaceTime was founded by Bruce Maldy Pratama, Mukhlis Akbar and Irfandi Fauzi. They are active students in the Faculty of Geography University Muhammadiyah Surakarta."},"osm-iran-aparat":{name:"OpenStreetMap Iran Aparat",description:"Subscribe to our channel at {url}",extendedDescription:"A good resource of videos about anything related to OpenStreetMap. Mainly in Persian."},"osm-iran-forum":{name:"OpenStreetMap Iran web forum",description:"OpenStreetMap Iran web forum",extendedDescription:"A web forum for OpenStreetMap users in Iran. Feel free to ask questions and discuss with others!"},"osm-iran-telegram":{name:"OpenStreetMap Iran Telegram",description:"You're welcome to join our Telegram channel at {url}. We also have a supergroup of many OSMers interested in Iran. Find its link in bio of channel."},"OSM-japan-facebook":{name:"OpenStreetMap Japan Community",description:"Mappers and OpenStreetMap users in Japan"},"OSM-japan-mailinglist":{name:"OpenStreetMap Japan Mailinglist",description:"Talk-ja is an Official Mailinglist for Japanese Community"},"OSM-japan-twitter":{name:"OpenStreetMap Japan Twitter",description:"Hashtag on Twitter: {url}"},"OSM-japan-website":{name:"OpenStreetMap Japan",description:"Mappers and OpenStreetMap users in Japan"},"OSM-MY-facebook":{name:"OpenStreetMap Malaysia on Facebook",description:"For chat about anything related to OpenStreetMap!"},"OSM-MY-forum":{name:"OpenStreetMap Malaysia Forum",description:"Official OpenStreetMap Malaysia Forum"},"OSM-MY-matrix":{name:"OpenStreetMap Malaysia Riot channel",description:"All mappers are welcome! Sign up at {signupUrl}"},"OSM-MNG-facebook":{name:"OpenStreetMap Mongolia",description:"Improve OpenStreetMap in Mongolia",extendedDescription:"Mapping in Mongolia? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!"},"OSM-MMR-facebook":{name:"OpenStreetMap Myanmar",description:"Improve OpenStreetMap in Myanmar",extendedDescription:"Mapping in Myanmar? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!"},"OSM-Nepal-facebook":{name:"OpenStreetMap Nepal",description:"Improve OpenStreetMap in Nepal",extendedDescription:"Mapping in Nepal? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!"},"ym-Institute-of-Crisis-Management-Studies":{name:"Institute of Crisis Management Studies YouthMappers",description:"YouthMappers chapter at Institute of Crisis Management Studies",extendedDescription:"To develop Crisis Mappers to assist during disaster situations."},"ym-Kathmandu-University":{name:"Geomatics Engineering Society,GES",description:"YouthMappers chapter at Kathmandu University",extendedDescription:"Geomatics Engineering Society (GES) established in 2008 A.D is a departmental club under Department of Civil and Geomatics Engineering (DCGE) at Kathmandu University. GES acts as a platform to develop the skills of students apart from their educational activities by focusing on activities like technical trainings, seminars, talk programs and interaction with experts from related field, sports activities etc."},"ym-Tribhuvan-University":{name:"Geomatics Engineering Students Association",description:"YouthMappers chapter at Tribhuvan University",extendedDescription:"This organization is the student forum of Geomatics Engineering students of Tribhuvan University , Institute of Engineering on the Pashchimanchal campus. Established since the beginning of the degree program, students have been active in mapping and leadership and are thrilled to be a part of the YouthMappers network."},"OSM-Asia-mailinglist":{name:"OpenStreetMap Asia Mailinglist",description:"Talk-asia is the official Mailinglist for Asian Community"},"osm-asia-telegram":{name:"OpenStreetMap Asia Telegram",description:"Join our family: {url}"},"OSM-PH-facebook":{name:"OpenStreetMap PH Facebook",description:"Welcome to OpenStreetMap Philippines, where we encourage all fellow Filipinos to contribute to the OpenStreetMap project."},"OSM-PH-mailinglist":{name:"Talk-ph Mailing List",description:"A mailing list to discuss OpenStreetMap in the Philippines"},"OSM-PH-slack":{name:"OpenStreetMap PH Slack",description:"All are welcome! Sign up at {signupUrl}"},"OSM-PH-telegram":{name:"OpenStreetMap PH Telegram",description:"Un-official, Telegram local community of OpenStreetMap contributors and friends in the Philippines"},"ym-Far-Eastern-University-Institute-of-Technology":{name:"Junior Philippines Computer Society",description:"YouthMappers chapter at Far Eastern University -Institute of Technology",extendedDescription:"FEU has been recognized as one of the leading universities in the Philippines. Its mission centers on producing graduates who have contributed to the advancement of the country. The university continuously challenges itself to raise the bar of excellence to achieve a top-tier status not only in the Philippines but also in the South East Asian region"},"ym-University-of-the-Philippines-Resilience-Institute":{name:"YouthMappers UP Resilience Institute",description:"YouthMappers chapter at University of the Philippines Resilience Institute",extendedDescription:"The UP Resilience Institute was established in 2016 with a mission statement to empower local communities through multidisciplinary research and actions toward resilience. Through UP NOAH Center, and the help of different organizations, we have provided building exposure maps for 17 provinces out of the 82 and uploaded more than 4 million footprints to Open Street Maps."},"OSM-RU-forum":{name:"OpenStreetMap RU forum",description:"OpenStreetMap Russia web forum"},"OSM-RU-telegram":{name:"OpenStreetMap RU telegram",description:"OpenStreetMap Russia telegram chat"},"OSM-south-korea-telegram":{name:"OSM South Korea Telegram",description:"Unofficial Channnel for OpenStreetMap contributors, communities, and users in South Korea to share and discuss."},"OSM-sri-lanka-facebook":{name:"OpenStreetMap Sri Lanka",description:"Improve OpenStreetMap in Sri Lanka",extendedDescription:"Mapping in Sri Lanka? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!"},"OSM-TW-facebook":{name:"OpenStreetMap Taiwan Community",description:"Facebook Group for Mappers and OpenStreetMap users to discuss matters about Taiwan."},"OSM-TW-mailinglist":{name:"OpenStreetMap Taiwan Mailinglist",description:"Talk-tw is an Official Mailinglist for the Communities to dicuss matters about Taiwan"},"OSM-TH-CNX-meetup":{name:"OSM Meetup Chiang Mai",description:"Irregular meeting of the OpenStreetMap community in Chiang Mai",extendedDescription:"Members of the OpenStreetMap community meet every few months in Chiang Mai. Get in contact and check out {url} to see when the next meetup is scheduled"},"OSM-TH-facebook":{name:"OpenStreetMap TH Facebook group",description:"Facebook group for OpenStreetMappers in Thailand"},"OSM-TH-forum":{name:"OpenStreetMap TH forum",description:"OpenStreetMap Thailand web forum"},"al-forum":{name:"OSM Albania Forum",description:"OpenStreetMap Albania Forum"},"al-maptime-tirana":{name:"Maptime Tirana",description:"Social events organized around mapping - beginners most welcome!",extendedDescription:"Maptime is an open learning environment for all levels and degrees of knowledge, offering intentional educational support for the beginner. Maptime is simultaneously flexible and structured, creating space for mapping tutorials, workshops, ongoing projects with a shared goal, and independent/collaborative work time."},"al-telegram":{name:"OSM Albania Telegram channel",description:"OpenStreetMap Albania Telegram channel"},"at-forum":{name:"OpenStreetMap Austria Forum",description:"The official forum for OpenStreetMap questions in and around Austria"},"at-mailinglist":{name:"Talk-at Mailing List",description:"Talk-at is the official mailing list for the Austrian OSM community"},"at-twitter":{name:"OpenStreetMap Austria Twitter",description:"OpenStreetMap Austria On Twitter: {url}"},"osmgraz-meetup":{name:"OSM community meetup Graz",description:"Monthly meetup of the OpenStreetMap community in Graz"},"osmgraz-twitter":{name:"OSM community Graz on twitter",description:"OpenStreetMap community in Graz on twitter"},"osm-at":{name:"OpenStreetMap Austria",description:"The platform for information on OpenStreetMap in Austria"},byosm:{name:"OpenStreetMap Belarus",description:"OpenStreetMap Belarus telegram chat"},"be-facebook":{name:"OpenStreetMap BE Community",description:"Mappers and OpenStreetMap on Facebook in Belgium"},"be-forum":{name:"OpenStreetMap BE forum",description:"OpenStreetMap Belgium web forum"},"be-irc":{name:"OpenStreetMap Belgium IRC",description:"Join #osmbe on irc.oftc.net (port 6667)",extendedDescription:"Join #osmbe on irc.oftc.net (port 6667), it is bridged with the Matrix chat channel"},"be-mailinglist":{name:"Talk-be Mailing List",description:"Talk-be is the official mailing list for the Belgian OSM community"},"be-matrix":{name:"OpenStreetMap BE Matrix channel",description:"All mappers are welcome!",extendedDescription:"Most talk is happening at the \"OpenStreetMap Belgium\" channel. You can ask anything there! The other rooms are for specific subjects."},"be-meetup":{name:"OpenStreetMap Belgium Meetup",description:"Real life meetups of everyone who is interested in OpenStreetMap",extendedDescription:"Physical meetups are great to meet other mappers, ask them questions and to learn a lot. Especially new contributors are very welcome!"},"be-twitter":{name:"OpenStreetMap Belgium Twitter",description:"OSM Belgium on Twitter: @osm_be"},"hr-facebook":{name:"OpenStreetMap Croatia Facebook group",description:"OpenStreetMap Croatia Facebook group"},"hr-irc":{name:"OpenStreetMap Croatia on IRC",description:"Join #osm-hr on irc.freenode.org (port 6667)"},"hr-mailinglist":{name:"Talk-hr Mailing List",description:"Talk-hr mailing list"},"czech-community":{name:"Czech OSM community",description:"Map portal, website and contacts on OSM members in Czechia"},"osmcz-facebook":{name:"OpenStreetMap CZ on Facebook",description:"Follow czech community on Facebook - including translated WeeklyOSM!"},"osmcz-twitter":{name:"Czech twitter @osmcz",description:"Follow czech community on Twitter - including translated WeeklyOSM!"},"talk-cz-mailinglist":{name:"Czech mailing list (talk-cz)",description:"Talk-cz is the official mailing list for Czech community"},"dk-forum":{name:"OpenStreetMap Denmark Web Forum",description:"OpenStreetMap Denmark web forum"},"dk-irc":{name:"OpenStreetMap Denmark IRC",description:"Join #osm-dk on irc.oftc.net (port 6667)"},"dk-mailinglist":{name:"Talk-dk Mailing List",description:"A mailing list to discuss OpenStreetMap in Denmark"},"ym-Queen-Mary-University-of-London":{name:"Queen Mary YouthMappers",description:"YouthMappers chapter at Queen Mary University of London",extendedDescription:"This chapter will be part of the activities of the Queen Mary Geography Society."},"fi-forum":{name:"OpenStreetMap FI forum",description:"OpenStreetMap Finland web forum"},"fi-irc":{name:"OpenStreetMap Finland IRC",description:"Join #osm-fi on irc.oftc.net (port 6667)"},"fi-mailinglist":{name:"Talk-fi Mailing List",description:"Talk-fi is the official mailing list for the Finnish OSM community"},"fr-facebook":{name:"OpenStreetMap France Facebook page",description:"OpenStreetMap France Facebook page"},"fr-forum":{name:"OpenStreetMap France web forum",description:"OpenStreetMap France web forum"},"fr-irc":{name:"OpenStreetMap France on IRC",description:"Join #osm-fr on irc.oftc.net (port 6667)"},"fr-mailinglist":{name:"Talk-fr Mailing List",description:"Talk-fr mailing list"},"fr-twitter":{name:"OpenStreetMap France on Twitter",description:"OpenStreetMap France on Twitter: {url}"},"de-berlin-mailinglist":{name:"Berlin Mailing List",description:"This is the mailing list for the Berlin OSM community"},"de-berlin-meetup":{name:"OpenStreetMap Berlin-Brandenburg Meetup",description:"Mappers and OpenStreetMap users in the Berlin area"},"de-berlin-telegram":{name:"@osmberlin on Telegram",description:"OpenStreetMap Berlin Telegram chat"},"de-berlin-twitter":{name:"OpenStreetMap Berlin Twitter",description:"Follow us on Twitter: {url}"},"de-forum":{name:"OpenStreetMap DE forum",description:"OpenStreetMap Germany web forum"},"de-irc":{name:"OpenStreetMap Germany IRC",description:"Join #osm-de on irc.oftc.net (port 6667)"},"de-mailinglist":{name:"Talk-de Mailing List",description:"Talk-de is the official mailing list for the German OSM community"},"de-ostwestfalen-lippe-mailinglist":{name:"OWL Mailing List",description:"This is the mailing list for the Ostwestfalen-Lippe OSM community"},"de-telegram":{name:"OpenStreetMap Germany Telegram",description:"Join the OpenStreetMap Germany Telegram supergroup at {url}"},"osm-de":{name:"OpenStreetMap Germany",description:"The platform for information on OpenStreetMap in Germany"},"ym-Heidelberg-University":{name:"disastermappers heidelberg",description:"YouthMappers chapter at Heidelberg University",extendedDescription:"Disastermappers Heidelberg was founded in 2014 as a student initiative to build a platform for exchange between students, researchers and humanitarian actors. Disastermappers are a member of Missing Maps and are organizing mapathons, workshops and webinars in Heidelberg and beyond and support HOT and Missing Maps through research and applications."},"hu-facebook":{name:"OpenStreetMap HU on Facebook",description:"Mappers and OpenStreetMap Facebook in Hungary"},"hu-forum":{name:"OpenStreetMap HU forum",description:"OpenStreetMap Hungary web forum"},"hu-meetup":{name:"OpenStreetMap Hungary Meetup",description:"The platform for organizing meetups in Hungary"},"is-facebook":{name:"OSM Iceland on Facebook",description:"Page of OpenStreetMap in Iceland"},"is-mailinglist":{name:"Talk-is Mailing List",description:"Talk-is is the official mailing list for the Icelandic OSM community"},"is-twitter":{name:"OSM Iceland on Twitter",description:"Twitter of OpenStreetMap in Iceland"},"it-facebook":{name:"OpenStreetMap Italy Facebook",description:"Join the OpenStreetMap Italy community on Facebook"},"it-irc":{name:"OpenStreetMap Italy IRC",description:"Join #osm-it on irc.oftc.net (port 6667)"},"it-mailinglist":{name:"Talk-it Mailing List",description:"Talk-it is the official mailing list for the Italian OSM community"},"it-telegram":{name:"@OpenStreetMapItalia on Telegram",description:"OpenStreetMap Italy Telegram chat"},"it-twitter":{name:"OpenStreetMap Italy Twitter",description:"Follow us on Twitter at {url}"},"OSM-Rome-meetup":{name:"Incontro Mappatori Romani",description:"Improve OpenStreetMap in the Rome area",extendedDescription:"We aim to be a resource for people to discuss and share knowledge on utilizing free geographic data sets especially OpenStreetMap, and Open geo-spatial software that manages, edits, and displays geographic data, and advocate for its use in Lazio."},"South-Tyrol-Mailing-List":{name:"OpenStreetMap mailing list for South Tyrol",description:"OpenStreetMap Italy regional talk list for South Tyrol"},"talk-it-lazio":{name:"OpenStreetMap IT Lazio",description:"All are welcome! Sign up at {signupUrl}",extendedDescription:"Mailinglist for Rome and Lazio area."},"Trentino-Mailing-List":{name:"OpenStreetMap mailing list for Trentino",description:"OpenStreetMap Italy regional talk list for Trentino"},"ym-Politecnico-di-Milano":{name:"PoliMappers",description:"YouthMappers chapter at Politecnico di Milano",extendedDescription:"PoliMappers is a volunteer students’ association based at Politecnico di Milano. The mission of the group is to train and motivate the next generation of volunteer mappers and to do mapping using free and open source software within the university as well as primary and secondary schools."},"ym-Yarmouk-University":{name:"YouthMappers at YU",description:"YouthMappers chapter at Yarmouk University",extendedDescription:"YouthMappers chapter at YU is the first mapping group in the Middle East and North Africa region where refugees, drought, and poverty are rising crises and in urgent need for humanitarian mapping  activities to mitigate the consequences of such crises. YU Mappers are encouraged to use open data to address challenges in MENA region to bring relief and development to target areas within the region."},"kosovo-telegram":{name:"OpenStreetMap Kosovo on Telegram",description:"Semi-official all-Kosovo Telegram public group. We welcome all mappers from anywhere in any language."},"lu-mailinglist":{name:"Talk-lu Mailing List",description:"Official mailing list for the Luxembourgish OSM community"},"ym-Universit-Mohammed-V-Rabat":{name:"Brahmapoutre at Rabat",description:"YouthMappers chapter at Université Mohammed V Rabat",extendedDescription:"This chapter sees participation in the YouthMappers program as an oppourtunity to share our knowlege create new working relationships with other chapters in different countries"},"no-forum":{name:"OpenStreetMap Norway Web Forum",description:"OpenStreetMap Norway web forum"},"no-irc":{name:"OpenStreetMap Norway on IRC",description:"Chat room for mappers and OpenStreetMap users, developers and enthusiasts in Norway"},"no-mailinglist":{name:"OpenStreetMap Norway mailing list",description:"Mailing list for mappers and OpenStreetMap users, developers and enthusiasts in Norway"},"no-telegram":{name:"@OSM_no on Telegram",description:"OpenStreetMap Norway Telegram chat"},"OSM-PL-facebook-group":{name:"OpenStreetMap Poland Facebook group",description:"Group for mappers and users of OpenStreetMap in Poland"},"OSM-PL-forum":{name:"OpenStreetMap Poland Forum",description:"Forum of Polish OpenStreetMap community"},"pt-mailinglist":{name:"Talk-pt Mailing List",description:"Talk-pt is the official mailing list for the Portuguese OSM community"},"pt-telegram":{name:"OpenStreetMap Portugal no Telegram",description:"Telegram Group of the Portuguese OpenStreetMap community {url}"},"si-forum":{name:"OpenStreetMap Slovenia Forum",description:"Forum of OpenStreetMap community in Slovenia"},"si-mailinglist":{name:"OpenStreetMap Slovenia mailing list",description:"Mailing list of OpenStreetMap community in Slovenia"},"si-twitter":{name:"OpenStreetMap Slovenia Twitter",description:"Follow OpenStreetMap Slovenia On Twitter: {url}"},"OSM-ES-mailinglist":{name:"Talk-es mailing list",description:"A mailing list to discuss OpenStreetMap in Spain"},"OSM-ES-telegram":{name:"@OSMes on Telegram",description:"OpenStreetMap Spain Telegram chat"},"ym-Universidad-Autonoma-de-Madrid":{name:"YouthMappers at UAM",description:"YouthMappers chapter at Universidad Autonoma de Madrid"},"ym-Universidad-Politcnica-de-Madrid":{name:"Mapeo Humanitario",description:"YouthMappers chapter at Universidad Politécnica de Madrid",extendedDescription:"Geo-volunteering group formed at Moncloa Campus on November 2017. Around 20 members from three Universities (Complutense, CEU and UPM). Undergraduate students, MSc and PhD students collaborate together with organizations (MSF, Acción contra el Hambre,...) supported by trainers from Geoinquietos. Official recognition by UPM as Educative Innovation Project (Code  IE1718.0411)"},"osm-se":{name:"OpenStreetMap.se",description:"Provide OSM services and information for the local community in Sweden"},"se-facebook":{name:"OpenStreetMap Sweden Facebook",description:"OpenStreetMap Sweden on Facebook"},"se-forum":{name:"OpenStreetMap Sweden Web Forum",description:"OpenStreetMap Sweden web forum"},"se-irc":{name:"OpenStreetMap Sweden IRC",description:"Join #osm.se on irc.oftc.net (port 6667)"},"se-mailinglist":{name:"Talk-se Mailing List",description:"A mailing list to discuss OpenStreetMap in Sweden"},"se-twitter":{name:"OpenStreetMap Sweden on Twitter",description:"Follow us on Twitter: {url}"},"ym-Istanbul-Technical-University":{name:"YouthMappers ITU",description:"YouthMappers chapter at Istanbul Technical University",extendedDescription:"YouthMappers ITU is an interdisciplinary and collaborative student community to promote humanitarian mapping for vulnerable settlements and aims to develop and share strategic and innovative spatial information for the future cities by using geographical information systems and open data."},"Nottingham-OSM-pub-meetup":{name:"East Midlands (Nottingham) Monthly pub meet-up",description:"Social gathering for East Midlands mappers and users",extendedDescription:"A group have been meeting since March 2011, initially in Nottingham, and, more recently in Derby, and from time to time elsewhere in the East Midlands. These are social gatherings, but are an excellent place to come and ask specific questions about OSM either in the area or in general. In the summer months we usually do some light mapping for an hour in the vicinity of our meeting place. The group as a whole has a special interest in mapping public rights of way and from time to time has mapping meetings for this purpose."},"gb-mailinglist":{name:"Talk-gb Mailing List",description:"Talk-gb is the main communication forum list for the British (including Northern Ireland) OSM community"},"mappa-mercia-group":{name:"Mappa Mercia local group",description:"A home for OpenStreetMap enthusiasts in the Midlands",extendedDescription:"Mappa Mercia is a project to grow OpenStreetMap in the West Midlands, UK. We run community events, provide training and support local organisations wishing to open up their data."},"gb-irc":{name:"OpenStreetMap United Kingdom IRC",description:"Join #osm-gb on irc.oftc.net (port 6667)",extendedDescription:"Join #osm-gb on irc.oftc.net (port 6667), please be patient and wait for a few minutes if you ask a question"},"ym-University-of-Exeter":{name:"University of Exeter British Red Cross Missing Maps",description:"YouthMappers chapter at University of Exeter",extendedDescription:"We are a team of enthusiastic Geographers with comprehensive knowledge of GIS. We are passionate about supporting the British Red Cross Society with various humanitarian aid efforts. We are also important teachers of the significance of mapping remotely sensed data and how this helps on the ground. Our mapathons have themed academic focuses that highlight the different GIS research in our geography department, while also functioning as employability awareness events which we use to invite speakers in to talk about their GIS/British Red Cross careers."},"ym-University-of-Warwick":{name:"University of Warwick Resilience Mapping Society",description:"YouthMappers chapter at University of Warwick",extendedDescription:"We are a group of enthusiastic mappers based at Warwick University. Our aim is to get people excited about humanitarian mapping and help them understand the impact this activity has on the field. We are closely aligned with Missing Maps and Doctors Without Borders UK and focus on HOT tasks in our mapping activities and workshops. Our mapathons are listed on the Missing Maps page whenever they are scheduled."},"ym-Sacred-Heart-Junior-College":{name:"Youth Mappers at Sacred Heart Junior College",description:"YouthMappers chapter at Sacred Heart Junior College"},"OSM-CA-Slack":{name:"OSM-CA Slack",description:"All are welcome! Sign up at {signupUrl}."},"OSM-Vancouver-meetup":{name:"OpenStreetMap Vancouver",description:"Mappers and OpenStreetMap users in the Vancouver, BC area"},"ym-Universidad-de-Costa-Rica":{name:"YouthMappers de Universidad de Costa Rica",description:"YouthMappers chapter at Universidad de Costa Rica",extendedDescription:"YouthMappers de Universidad de Costa Rica nace en función de acción social para y por miembros de comunidades distintas según temáticas de involucramiento, interacción y representación de variables dentro de un espacio geográfico definido (un territorio) Gracias a las herramientas de OpenStreetMaps tenemos la viabilidad de poder obtener, validar y compartir la información generada para comprobación y uso destinadas a las comunidades o el interesado en tales temáticas objetivas."},"OSM-CU-telegram":{name:"OSM Cuba on Telegram",description:"OpenStreetMap Cuba Telegram chat"},"ym-Universidad-Nacional-Autnoma-de-Honduras":{name:"PumaGis Hn",description:"YouthMappers chapter at Universidad Nacional Autónoma de Honduras"},"ym-University-of-the-West-Indies-Mona-Campus":{name:"Libraries Outreach - ODL",description:"YouthMappers chapter at University of the West Indies, Mona Campus",extendedDescription:"The UWI, Mona Campus Library engages in public, outreach and special projects. This will allow our library the means to be a catalyst for spatial literacy and advocate for spatial data sharing and access to Jamaican and Caribbean interests. We have disaster relief and communication needs and   extensive earth science and geo-hazards needs to better serve our campus and community. Specifically, we hace a Science Library to showcase such to all faculty and students."},"ni-facebook":{name:"OpenStreetMap NI Community",description:"Mappers and OpenStreetMap on Facebook in Nicaragua"},"ni-mailinglist":{name:"Talk-ni Mailing List",description:"Talk-ni is the official mailing list for the Nicaraguan OSM community"},"ni-telegram":{name:"OSM Nicaragua on Telegram",description:"OpenStreetMap Nicaragua Telegram chat"},"ni-twitter":{name:"OpenStreetMap Nicaragua Twitter",description:"OSM Nicaragua on Twitter: @osm_ni"},"osm-ni":{name:"MapaNica.net",description:"Provide OSM services and information for the local community in Nicaragua"},"ym-Universidad-Nacional-de-Ingenieria":{name:"Yeka Street MGA",description:"YouthMappers chapter at Universidad Nacional de Ingenieria",extendedDescription:"YEKA STREET is a work team constituted by students from Universidad Nacional de Ingenieria at Managua, Nicaragua. With the principal purpose of apply our knowledge and skills using many tools and apps to map areas in our cities and contribute to the development community projects and disasters relieve plans. We want to lead the way adding more students from all careers and universities in our country to join us at this cause, increasing in this way the life level and reducing the population vulnerability."},"ym-University-of-Panama":{name:"YouthMappers UP",description:"YouthMappers chapter at University of Panama",extendedDescription:"Student mappers in Panama work with open spatial data to help identify, define, address, and create meaning about locally defined development challenges. They collaborate with students from other countries on community mapping topics from ecotourism to food security, from biodiversity to indigenous issues, promoting a humanistic vision through scientific perspectives."},"ym-Universidad-de-Puerto-Rico-Rio-Piedras":{name:"UPR YouthMappers",description:"YouthMappers chapter at Universidad de Puerto Rico - Rio Piedras"},"Bay-Area-OpenStreetMappers":{name:"Bay Area OpenStreetMappers",description:"Improve OpenStreetMap in the Bay Area",extendedDescription:"This group is about growing the OpenStreetMap community here in the Bay Area. Our events are open to everyone, from open source enthusiasts, cyclists, GIS professionals, geocachers, and beyond. Anyone and everyone who is interested in maps, map making and free map data is welcome to join our group as well as attend our events."},"Central-Pennsylvania-OSM":{name:"Central Pennsylvania OSM",description:"Online mapping community based out of State College, PA"},"Code-for-San-Jose-Slack":{name:"Code for San Jose Slack",description:"All are welcome! Sign up at {signupUrl}, then join the #osm channel."},"Dallas-Fort-Worth-OSM":{name:"Dallas-Fort Worth OSM",description:"The OpenStreetMap user group for Dallas-Fort Worth",extendedDescription:"Dallas, Fort Worth, and all the cities in between are abounding with creative and tech-savvy people. The vision for this usergroup is to find new ways to use the amazing resource of OSM."},GeoPhilly:{name:"GeoPhilly",description:"Meetup for map enthusiasts in the Philadelphia area",extendedDescription:"GeoPhilly unites developers, geographers, data geeks, open source enthusiasts, civic hackers and map addicts in our shared love of maps and the stories they tell. If you use maps as part of your work or just want to learn more, this is the meetup for you!  Our events aim to be open, friendly, educational and social and range from happy hours to lightning talks or even workshops. Come create a diverse, inspiring geospatial community in the Philadelphia with us!"},MapMinnesota:{name:"MapMinnesota",description:"Mappers and OpenStreetMap enthusiasts in the Twin Cities area",extendedDescription:"Connecting OpenStreetMap enthusiasts in Minnesota and the Twin Cities!"},"Mapping-DC-meetup":{name:"Mapping DC",description:"Improve OpenStreetMap in the DC area",extendedDescription:"We are a group of volunteer mappers who aim to improve the OpenStreetMap in the DC area. We also aim to teach others about the OSM ecosystem, data analytics, cartography, and GIS. We gather every other month at meetups to focus on one area of our city."},"Maptime-ME-meetup":{name:"MaptimeME",description:"Mappers and OpenStreetMap users, around Portland, ME",extendedDescription:"Maptime is, rather literally, time for mapmaking.  Our mission is to open the doors of cartographic possibility to anyone interested by creating a time and space for collaborative learning, exploration, and map creation using mapping tools and technologies."},"MaptimeHRVA-twitter":{name:"MaptimeHRVA Twitter",description:"Follow us on Twitter at {url}"},"us-ma-mailinglist":{name:"Talk-us-massachusetts Mailing List",description:"Email mailing list for the Massachusetts OSM community"},"OpenCleveland-meetup":{name:"Open Cleveland",description:"Improve OpenStreetMap in the Cleveland area",extendedDescription:"Open Geo Cleveland aims to be a resource for people to discuss and share knowledge on utilizing free geographic data sets especially OpenStreetMap, and Open geo-spatial software that manages, edits, and displays geographic data, and advocate for its use in Northeast Ohio. We're also a maptime chapter =)"},"OSM-Boston":{name:"OpenStreetMap Boston",description:"Mappers and OpenStreetMap users in the Boston area",extendedDescription:"OpenStreetMap is the free and open, wiki-style map of the world, with hundreds of thousands of contributions every day from people like you. Editing the map is simple, and fun! Join us both indoors and outdoors in our effort to create the best map of the Boston area and the rest of the world!"},"OSM-Central-Salish-Sea":{name:"OpenStreetMap Central Salish Sea",description:"Mappers and OpenStreetMap users around Mount Vernon, WA",extendedDescription:"OpenStreetMap is an map of the world made by people like you. It's a map that you build, that's given away for free like wikipedia. Check out osm.org for more. We meet all the time to talk maps, make maps and have fun!"},"OSM-Chattanooga":{name:"OSM Chattanooga",description:"The OpenStreetMap user group for Chattanooga"},"OSM-Colorado":{name:"OpenStreetMap Colorado",description:"Mappers and OpenStreetMap users in the state of Colorado, USA",extendedDescription:"OpenStreetMap (OSM) Colorado is a local collaboration of people interested in contributing their efforts to create free maps. We encourage all of our mappers to organize or suggest mapping events throughout the state. Meetup activities can be simple social mixers, OSM basic to advanced training, or community mapping parties."},"OSM-NYC":{name:"OpenStreetMap NYC",description:"Mappers and OpenStreetMap users, developers and enthusiasts in the New York Metropolitan area"},"OSM-Portland-forum":{name:"OpenStreetMap PDX Google Group",description:"Forum and mailing list for OpenStreetMap users in the Portland area",extendedDescription:"This group is to facilitate improvements to OpenStreetMap in the Portland, Oregon area to support applications such as the Open Trip Planner."},"OSM-Portland":{name:"OpenStreetMap Portland",description:"Mappers and OpenStreetMap users in the Portland area",extendedDescription:"OpenStreetMap (OSM) is a map of the world made by people like you. It's a map that you build, that's given away for free like wikipedia. Check out osm.org for more, and come join us at a meetup to talk maps, contribute to OSM, and have fun!"},"OSM-Seattle":{name:"OpenStreetMap Seattle",description:"Mappers and OpenStreetMap users in the Seattle area"},"OSM-SoCal":{name:"OpenStreetMap Southern California",description:"Let's have some fun, contribute something to Los Angeles, and learn about mapping!",extendedDescription:"OpenStreetMap (OSM) Southern California is for anyone interested in mapping to get together to work with OpenStreetMap.  OpenStreetMap, the Wikipedia of maps, is a free open-source map of the world being created by more than 1,000,000 volunteers around the globe.  Everyone is welcome.  If you don't know OpenStreetMap, we'll teach you. If you have an idea for a mapping project or even a field trip that the group can do, great!"},"OSM-South-Bay":{name:"OSM South Bay",description:"Map Nights hosted by Code for San Jose",extendedDescription:"Code for San Jose, the local Code for America brigade, hosts monthly Map Nights on Thursday nights in downtown San José. Meet fellow South Bay mappers, help out with local mapping projects, and hear about other civic tech projects. Programming and GIS skills are not required."},"OSM-Tampa-Bay":{name:"OpenStreetMap Tampa Bay",description:"Mappers and OpenStreetMap users in the Tampa Bay area",extendedDescription:"OSM Tampa Bay group for local residents to get together and build out the definitive map of Tampa Bay with OpenStreetMap, the free and editable map of the world.  If you're into maps, data, open source, GPS, hiking, cycling, et cetera, you'll love working with OpenStreetMap -- so join in! We'll get together and map and talk about new topics once-a-month or so."},"OSM-US-Slack":{name:"OpenStreetMap US Slack",description:"All are welcome! Sign up at {signupUrl}"},"OSM-US":{name:"OpenStreetMap US",description:"We help grow and improve OpenStreetMap in the United States.",extendedDescription:"We support OpenStreetMap by holding annual conferences, providing community resources, building partnerships, and by spreading the word. Join OpenStreetMap US here: {signupUrl}",events:{"sotmus2019-cfs":{name:"Propose a Talk for SotM-US 2019",description:"We are calling on all members of the OpenStreetMap community to share your ideas and session proposals for State of the Map US 2019. Whether you are brand new to OSM or have been a core contributor since the beginning, we want to hear from you!",where:"Minneapolis, Minnesota"},sotmus2019:{name:"State of the Map US 2019",description:"Join the OpenStreetMap community at State of the Map US in Minneapolis, Minnesota. Connect with other mappers, businesses, government agencies, and non profits, all collaborating around the free and editable map of the world.",where:"Minneapolis, Minnesota"}}},"OSM-Utah":{name:"OpenStreetMap Utah",description:"Mappers and OpenStreetMap users in the Salt Lake City area",extendedDescription:"Activities may include things like Learn To Map workshops, mapping parties and outdoor data collection. The events will take place in the SLC area, at least initially.  We are looking for seasoned mappers as well as people new to OSM. Join and let's do some mapping!"},"OSM-Wyoming":{name:"OpenStreetMap Wyoming",description:"Mappers and OpenStreetMap users in the state of Wyoming",extendedDescription:"OpenStreetMap (OSM) Wyoming is a local collaboration of people interested in contributing their efforts to create free maps. We encourage all of our mappers to organize or suggest mapping events throughout the state. Meetup activities can be simple social mixers, OSM basic to advanced training, or community mapping parties."},"PHXGeo-meetup":{name:"PHXGeo Meetup",description:"Mappers and OpenStreetMap users in the Phoenix, AZ area",extendedDescription:"This is a meetup group for those in the Phoenix area who like maps, GIS, OpenStreetMap, cartography and anything in between."},"PHXGeo-twitter":{name:"PHXGeo Twitter",description:"Follow us on Twitter at {url}"},"Western-Slope-facebook":{name:"Western Slope OSM Facebook",description:"Mappers and OpenStreetMap users around Grand Junction, CO"},"Western-Slope-meetup":{name:"Western Slope OSM Meetup",description:"Mappers and OpenStreetMap users around Grand Junction, CO",extendedDescription:"The goal of this group is to introduce OpenStreetMap to the community, develop a community of mappers, create the most amazing geodata possible using whatever method we can and finally strategize in order to get this data out into our community. Imagine accurate trail signage! Imagine further development of bike paths! Imagine anything you want, that's the joy of OpenStreetMap!"},"ym-Ball-State-University":{name:"Gamma Theta Upsilon- Iota Omega Chapter",description:"YouthMappers chapter at Ball State University",extendedDescription:"Our chapter is a very active one. We primarily focus on community events, fundraising, and field trips. We are currently looking to develop more mapping-related activities to draw in other students from campus who may be interested in contributing."},"ym-California-University-of-Pennsylvania":{name:"CalU PA GIS Club",description:"YouthMappers chapter at California University of Pennsylvania",extendedDescription:"GIS Students at Cal U learn to apply spatial theory to the real world. The university degree program focuses on geography as well as utilizing GIS in emergency management."},"ym-Central-Washington-University":{name:"Geography Club",description:"YouthMappers chapter at Central Washington University",extendedDescription:"Our goal teaming up with Youthmappers is to bring relief to areas that are in need of humanitarian mapping. By doing so, we are serving our fellow brothers and sisters around the world as well as furthering our own cartography skills."},"ym-Clemson-University":{name:"Clemson Mappers",description:"YouthMappers chapter at Clemson University",extendedDescription:"Students in Clemson are supported by the Center for Geospatial Technologies, a community of interdisciplinary geospatial science practitioners supporting research, teaching, and outreach activities using technologies that enable the collection, analysis, and application of geospatial data. Students integrate geospatial technologies within their scholarly activities across all disciplines and build connections throughout the world."},"ym-College-of-William-and-Mary":{name:"All over the map!",description:"YouthMappers chapter at College of William and Mary",extendedDescription:"The students who are all over the map are supported by the Center for Geospatial Analysis, a group integrating GIS across the curriculum and providing student and faculty with hardware, software, and expertise.  Students of all backgrounds utilize GIS across campus, including environmental science and policy, geology, history, business, sociology, biology, anthropology, public policy, and marine sciences."},"ym-Cornell-University":{name:"Mapping Society",description:"YouthMappers chapter at Cornell University",extendedDescription:"Cornell students and faculty use open data and open source software to address challenges at local, national, and global scales. In doing so, we advance our academic and personal goals of developing our own skills around GIS and spatial literacy."},"ym-George-Mason-University":{name:"Mason Mappers",description:"YouthMappers chapter at George Mason University",extendedDescription:"Mason Mappers Student Society is a humanitarian mapping student organization in the George Mason University GGS Department, and its goal is to promote education and knowledge in geo-technologies, geo-info science, to foster good global stewardship and engage in professional development while building a positive, interactive geo-community, as well as shaping students into leaders of tomorrow."},"ym-Indiana-University-of-Pennsylvania":{name:"Geospatial Science Club",description:"YouthMappers chapter at Indiana University of Pennsylvania"},"ym-Jacksonville-State-University":{name:"JSU Disaster Mapping Team",description:"YouthMappers chapter at Jacksonville State University",extendedDescription:"The JSU Disaster Mapping Team is a program at Jacksonville State University dedicated to assisting disaster response in times of emergencies. This includes tornadoes, severe thunderstorms, floods, etc. The team is intended to be a valuable asset to surrounding counties and a conduit for the JSU Geoscience Department students to apply what they have learned in an academic setting to support emergency services. Our goal is to streamline disaster response and recovery operations while utilizing student skill sets"},"ym-Kansas-State-University":{name:"Gamma Theta Upsilon: Beta Psi Chapter",description:"YouthMappers chapter at Kansas State University",extendedDescription:"We are the Kansas State University Chapter of Gamma Theta Upsilon, an international geography honor society with affiliation to YouthMappers. We have been active with mapping for OSM and conducted a mapathon called \"Map for Nepal,\" in which we used OpenStreetMap to digitize unmapped areas of Nepal after the earthquake in 2015."},"ym-McGill-University":{name:"Open Mapping Group McGill: A Member of the McGill Undergraduate Geography Society",description:"YouthMappers chapter at McGill University",extendedDescription:"The Open Mapping Group McGill: A Member of McGill Undergraduate Geography Society (OMG McGill) aims to connect students with open geospatial data and technologies to enhance resilience, community-building, and learning through mapping–on campus, in Montreal, in Canada, and abroad."},"ym-Miami-University":{name:"Geography and Planning Society",description:"YouthMappers chapter at Miami University",extendedDescription:"GPS at Miami University aims to create a close-knit community of planners and geographers who want to have fun, learn more about careers and higher education in their field, network, and work alongside professionals for real experience."},"ym-Monroe-Community-College":{name:"MCC Mapping Corps",description:"YouthMappers chapter at Monroe Community College"},"ym-Montgomery-College":{name:"GeoMC",description:"YouthMappers chapter at Montgomery College",extendedDescription:"GeoMC’s mission is to provide students with hands-on experience in applying geospatial tools, collecting data, and project management. Most of our students come with a background in GIS and are geography majors. Our chapter’s members come from diverse backgrounds and we all work together to make a positive impact in the world live in."},"ym-New-York-University":{name:"NYU mHealth Initiative Mapping Corps",description:"YouthMappers chapter at New York University",extendedDescription:"The NYU mobile health or “mHealth” research initiative focuses on development of systems that link people - usually via their phones - to the places that they live and traverse, and thus supports novel research on the way phones and maps can be leveraged to understand behavioral decision making and ultimately health outcomes."},"ym-Ohio-Wesleyan-University":{name:"Environment and Wildlife Club",description:"YouthMappers chapter at Ohio Wesleyan University",extendedDescription:"Environment and Wildlife Club looks at environmental issues on campus, in Delaware, and even nationally! We create campus and community projects, explore and enjoy the outdoors, volunteer, and try to promote environmentalism in every aspect of our lives."},"ym-Oklahoma-State-University":{name:"Geography Club",description:"YouthMappers chapter at Oklahoma State University"},"ym-State-University-of-New-York-Geneseo":{name:"SUNY Geneseo GIS Association",description:"YouthMappers chapter at State University of New York Geneseo",extendedDescription:"We spread awareness, support, education, volunteerism, and career advancement opportunities in geographic information systems, across disciplines and departments, in the context of SUNY Geneseo, the local community, and global community."},"ym-SUNY-at-Fredonia":{name:"Geoventurers",description:"YouthMappers chapter at SUNY at Fredonia",extendedDescription:"GeoVenturers is a group of students joining together across a number of majors on our campus that see geospatial technologies as a tool to serve others and to bring people together. Mentoring for the group brings in science education from the department of curriculum and instruction. We hope that we can bring our skills to play in helping make people's lives better."},"ym-Texas-Tech-University":{name:"YouthMappers at TTU",description:"YouthMappers chapter at Texas Tech University",extendedDescription:"As one of the co-founding chapters of the network, the TTU YouthMappers are enthusiastic to serve as interdisciplinary leaders to help create open geographic data and analyses that address locally defined development challenges worldwide. The chapter strives to exchange and collaborate with other chapters around the globe while also offering themselves as a local resource and service to Texas Tech student organizations in ways that add value to their respecitive campus activities through mapping."},"ym-The-Citadel":{name:"YouthMappers at The Citadel",description:"YouthMappers chapter at The Citadel",extendedDescription:"This chapter is also a Rotaract Club, which is an affiliate of Rotary International. Multiple members, as well as leadership have expressed an interest in YouthMappers and we would like to affiliate our Citadel Rotaract Club with YouthMappers."},"ym-The-George-Washington-University":{name:"Humanitarian Mapping Society",description:"YouthMappers chapter at The George Washington University",extendedDescription:"Models of leadership and engagement, HMS seeks to render aid and better the world through humanitarian Geographic Information Systems (GIS) projects. This co-founding affiliated chapter on the campus of GWU has a plethora of experience to share, and frequently partners directly with USAID, the American Red Cross, and the US Department of State in their DC area to expand student-led efforts and serve the global community."},"ym-The-Johns-Hopkins-University-SAIS":{name:"SAIS YouthMappers",description:"YouthMappers chapter at The Johns Hopkins University, SAIS",extendedDescription:"The mission of SAIS Youth Mappers is to provide students at the Johns Hopkins University SAIS with the opportunity to become highly skilled humanitarian mappers. As a group within the South Asia Club, its primary focus is on supporting humanitarian mapping projects in the Indo-Pacific Region."},"ym-The-Pennsylvania-State-University":{name:"Penn State GIS Coalition",description:"YouthMappers chapter at The Pennsylvania State University",extendedDescription:"The Penn State Geospatial Information Science (GIS) Coalition is an organization that offers students majoring, minoring, or sharing an interest in GIS opportunities to develop supplementary knowledge and skills necessary to succeed in the professional GIS industry."},"ym-University-of-California-Davis":{name:"Mapping Club",description:"YouthMappers chapter at University of California, Davis"},"ym-University-of-Central-Florida":{name:"Geospatial Information Society",description:"YouthMappers chapter at University of Central Florida",extendedDescription:"Our mission is to foster a social and educational environment for all majors who are interested in the discussion and application of GIS. Group and community events throughout the academic year organize students to volunteer to help local and regional communities by using community-based GIS projects and educating local middle and high school students on the use and application of GIS."},"ym-University-of-Chicago":{name:"Tobler Society",description:"YouthMappers chapter at University of Chicago"},"ym-University-of-Maryland-College-Park":{name:"Geography Club",description:"YouthMappers chapter at University of Maryland - College Park",extendedDescription:"The mission of the Geography Club at the University of Maryland College Park is to engage and encourage students to explore geographic interests within the campus and the community."},"ym-University-of-North-Texas":{name:"UNT Geography Club",description:"YouthMappers chapter at University of North Texas",extendedDescription:"The Geography Club is a student organization at University of North Texas that welcomes all students who are interested in geography. The objective of the Geography Club is to promote interest in Geography, the Major and the Geography Department along with fellowship among students and faculty. The club also seeks to represent student needs and wants in regard to the study of geography and to provide a forum for the presentation of innovative ideas to the benefit of the University community."},"ym-University-of-Northern-Colorado":{name:"UNCO Geography and GIS Club",description:"YouthMappers chapter at University of Northern Colorado",extendedDescription:"Official Geography and GIS Club chapter affiliated with the University of Northern Colorado where our aim is to learn, share and connect with those around us. #MakingSenseOfTheWorld"},"ym-University-of-Oregon":{name:"Map by Northwest",description:"YouthMappers chapter at University of Oregon",extendedDescription:"Map By Northwest aims to engage undergraduate students at the University of Oregon in mapping projects to assist in humanitarian causes and for conducting geographic research. We welcome students from all disciplines to join us in our mapping adventures."},"ym-University-of-Redlands":{name:"URSpatial Geo-Thinkers",description:"YouthMappers chapter at University of Redlands",extendedDescription:"To build upon the members' GIS skills and knowledge of the tools and methods through applied social engagement as well as to educate the campus community about the power of mapping and spatial analysis through community service events."},"ym-University-of-South-Carolina":{name:"Geography Graduate Student Association",description:"YouthMappers chapter at University of South Carolina",extendedDescription:"The GGSA is a fully student-run organization, designed to serve as an advocate and resource for all geography graduate students by filling the role of liaison between the department and students. Our goal is to further professional, academic, and personal development of graduate students interested in the field of geography and its sub disciplines."},"ym-University-of-Southern-California":{name:"SC Mappers",description:"YouthMappers chapter at University of Southern California",extendedDescription:"We see the world differently: we view it through a spatial lens. With the power of spatial thinking, we connect place and space to help address global challenges. Collaborate with us!"},"ym-University-of-Vermont":{name:"University of Vermont Humanitarian Mapping Club",description:"YouthMappers chapter at University of Vermont"},"ym-University-of-Victoria":{name:"Society of Geography Students",description:"YouthMappers chapter at University of Victoria",extendedDescription:"SOGS seeks to promote and represent social and academic interests within the Department of Geography. This is expressed by four key goals: To provide a forum for the discussion of matters concerning the quality and accessibility of education within geography; to provide a means of expressing a consensus of student opinion to deparhnental faculty through representation at deparkrnental meetings and on departrnental committees; to undertake anangements for such activities as are for the benefit of students and are seen to be within the field of interest of students in geography; to act as a liaison through the UVSS and the Course Union Council with other student groups on campus"},"ym-University-of-Wyoming":{name:"Gamma Theta Upsilon/Geography Club",description:"YouthMappers chapter at University of Wyoming"},"ym-UW-Madison":{name:"BadgerMaps",description:"YouthMappers chapter at UW-Madison",extendedDescription:"BadgerMaps is the UW campus chapter of Youthmappers, an organization dedicated to humanitarian and community mapping services. We connect our volunteer network with opportunities to create GIS data for projects that need it."},"ym-Vassar-College":{name:"Hudson Valley Mappers",description:"YouthMappers chapter at Vassar College",extendedDescription:"Our mission is to provide a multi-disciplinary platform for peers, educators, and community organizations to engage in local mapping projects with a focus on strengthening our local ecosystems, our built environment, and the health of our community. We also seek to contribute geospatial support for global humanitarian aid and development efforts."},"ym-Villanova-University":{name:"The Villanova Globeplotters",description:"YouthMappers chapter at Villanova University",extendedDescription:"The Villanova Globeplotters is built on Villanova’s Augustinian principle of selfless-service to the global community. Mixed with relaxed social interaction, we strive to provide geospatial outreach to those in need regardless of participating students’ race, academic major, student group association, or college career level."},"ym-West-Virginia-University":{name:"Maptime Morgantown",description:"YouthMappers chapter at West Virginia University",extendedDescription:"Working as a collaborative team, this co-founding chapter focuses on providing an open learning environment for those interested in working on projects that intersect international development, emergency response, and geographic information science.\nThey connect beginners and experts by providing technical training and experience in building meaningful and useful geographic infrastructure data, while connecting to sister cities around the world."},"ym-Western-Michigan-University":{name:"Geography Club",description:"YouthMappers chapter at Western Michigan University"},geogeeks_perth_meetup:{name:"GeoGeeks Perth Meetup",description:"Perth-based meetup group for people interested in mapping, geospatial data, and open source. We'll be working on anything that involves a sense of place."},"talk-au":{name:"Talk-au Mailing List",description:"Place for Aussie mappers to chat"},"Maptime-Oceania-Slack":{name:"Maptime Oceania Slack",description:"Sign up at {signupUrl}"},"talk-nz":{name:"Talk-nz Mailing List",description:"New Zealand's OSM community talk"},"OSM-AR-facebook":{name:"OpenStreetMap Argentina Facebook",description:"Join the OpenStreetMap Argentina community on Facebook",extendedDescription:"News from the local community"},"OSM-AR-forum":{name:"OpenStreetMap Argentina web forum",description:"Join the OpenStreetMap Argentina web forum",extendedDescription:"Ideal for long or important discussions. Slow response time."},"OSM-AR-irc":{name:"OpenStreetMap Argentina IRC",description:"Join #osm-ar on irc.oftc.net (port 6667)",extendedDescription:"You may find the most geeky user in the community."},"OSM-AR-mailinglist":{name:"Talk-ar Mailing List",description:"Historic mailing list. Almost unused today."},"OSM-AR-telegram":{name:"OpenStreetMap Argentina Telegram",description:"Join the OpenStreetMap Argentina community on Telegram",extendedDescription:"The most active channel in the community, ideal for chatting and getting answers to your questions instantly. Everyone is welcome!"},"OSM-AR-twitter":{name:"OpenStreetMap Argentina Twitter",description:"Follow us on Twitter at {url}",extendedDescription:"News from the local community and OpenStreetMap in general."},"OSM-BO-mailinglist":{name:"Talk-bo Mailing List",description:"Talk-bo is the official mailing list for the Bolivian OpenStreetMap community",extendedDescription:"Mapping in Bolivia? Have questions, want to connect with the community here? Join us at {url}. All are welcome!"},"Bahia-telegram":{name:"OpenStreetMap Bahia Telegram Group",description:"Join the OpenStreetMap Bahia community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!"},"DF-telegram":{name:"OpenStreetMap Brasília Telegram Group",description:"Join the OpenStreetMap Brasília community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!"},"OSM-br-discord":{name:"OpenStreetMap Brasil Discord",description:"Join the OpenStreetMap Brasil community on Discord"},"OSM-br-mailinglist":{name:"Talk-br Mailing List",description:"A mailing list to discuss OpenStreetMap in Brazil"},"OSM-br-telegram":{name:"OpenStreetMap Brasil Telegram",description:"Join the OpenStreetMap Brasil community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!"},"OSM-br-twitter":{name:"OpenStreetMap Brasil Twitter",description:"Follow us on Twitter at {url}"},"RS-telegram":{name:"OpenStreetMap Rio Grande do Sul Telegram Group",description:"Join the OpenStreetMap Rio Grande do Sul community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!"},"OSM-CL-facebook":{name:"OpenStreetMap Chile Facebook",description:"Join the OpenStreetMap Chile community on Facebook",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!"},"OSM-CL-mailinglist":{name:"Talk-cl Mailing List",description:"A mailing list to discuss OpenStreetMap in Chile"},"OSM-CL-telegram":{name:"OpenStreetMap Chile Telegram",description:"Join the OpenStreetMap Chile community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!"},"OSM-CL-twitter":{name:"OpenStreetMap Chile Twitter",description:"Follow us on Twitter at {url}"},"Maptime-Bogota":{name:"Maptime Bogotá",description:"We're a group of mappers interested in mapping in OpenStreetMap around Bogotá.",extendedDescription:"Learn to collect data in the field and digitize onto OpenStreetMap.  It is not necessary to have previous knowledge! You just need the desire to participate, learn, and have fun."},"OSM-CO-facebook":{name:"OpenStreetMap Colombia Facebook",description:"Join the OpenStreetMap Colombia community on Facebook",extendedDescription:"Join the community to learn more about OpenStreetMap. Everyone is welcome!"},"OSM-CO-mailinglist":{name:"Talk-co Mailing List",description:"A mailing list to discuss OpenStreetMap in Colombia"},"OSM-CO-telegram":{name:"OSM Colombia on Telegram",description:"OpenStreetMap Colombia Telegram chat"},"OSM-CO-twitter":{name:"OpenStreetMap Colombia Twitter",description:"Follow us on Twitter at {url}"},"OSM-CO":{name:"OpenStreetMap Colombia",description:"News of the OpenStreetMap Colombia community and the OSMCo Foundation"},"ym-Universidad-de-Antioquia":{name:"Geomatica UDEA",description:"YouthMappers chapter at Universidad de Antioquia",extendedDescription:"We are a group interested in geospatial data, voluntary cartography, and participating in mapping with others in our country and within the YouthMappers network."},"ym-Universidad-de-La-Guajira":{name:"Grupo Mesh",description:"YouthMappers chapter at Universidad de La Guajira",extendedDescription:"Grupo Mesh is a student organization at the Universidad de la Guajira in Colombia, including students from the program of Environmental Engineering who learn cartography and open mapping."},"ym-Universidad-de-Los-Andes":{name:"Cartografos Uniandes",description:"YouthMappers chapter at Universidad de Los Andes",extendedDescription:"We are a circle of student participation that seeks to use mapping and spatial reasoning as a means to create bonds of cooperation and integration between the university and society by addressing different spatial, social, political , economic and cultural dynamics."},"ym-Universidad-de-San-Buenaventura":{name:"YouthMappers San Buenaventura",description:"YouthMappers chapter at Universidad de San Buenaventura",extendedDescription:"We are pleased to join YouthMappers mapping for a better world and community."},"ym-Universidad-Distrital-Francisco-Jose-de-Caldas":{name:"YouthMappers at Bogota",description:"YouthMappers chapter at Universidad Distrital Francisco Jose de Caldas",extendedDescription:"The Universidad Distrital Francisco José de Caldas is a public, coeducational, research university based in Bogotá, Colombia with a population of 26,140 students."},"ym-Universidad-Nacional-de-Colombia":{name:"Grupo UN",description:"YouthMappers chapter at Universidad Nacional de Colombia",extendedDescription:"Students are uniting to map and network with university students across the country of Colombia and across the globe.  Geographic specialties include affiliation with microbiology and health disciplines."},"OSM-EC-telegram":{name:"OSM Ecuador on Telegram",description:"OpenStreetMap Ecuador Telegram chat"},"OSM-PY-telegram":{name:"OSM Paraguay on Telegram",description:"OpenStreetMap Paraguay Telegram chat"},"OSM-PE-facebook":{name:"OpenStreetMap Peru Facebook",description:"Join the OpenStreetMap Peru community on Facebook"},"OSM-PE-mailinglist":{name:"Talk-pe Mailing List",description:"The official mailing list for the OpenStreetMap Peru community"},"OSM-PE-matrix":{name:"OpenStreetMap Peru Matrix Chat",description:"Chat with other members of the OpenStreetMap Peru community in Matrix."},"OSM-PE-telegram":{name:"OpenStreetMap Peru Telegram",description:"Join the OpenStreetMap Peru community on Telegram"},"OSM-PE-twitter":{name:"OpenStreetMap Peru Twitter",description:"Follow us on Twitter at {url}"},"OSM-PE":{name:"OpenStreetMap Peru",description:"News and resources for the OpenStreetMap Peru community"},"uy-forum":{name:"OpenStreetMap UY forum",description:"OpenStreetMap Uruguay web forum"},"uy-irc":{name:"OpenStreetMap Uruguay on IRC",description:"Join #osmuruguay on irc.freenode.org (port 6667)",extendedDescription:"Join #osmuruguay on irc.freenode.org"},"uy-mailinglist":{name:"Talk-uy Mailing List",description:"Talk-uy is the official mailing list for the Uruguayan OSM community"},"ve-forum":{name:"OpenStreetMap VE Forum",description:"OpenStreetMap Venezuela web forum"},"ve-mailinglist":{name:"Talk-ve Mailing List",description:"Talk-ve is the official mailing list for the Venezuelan OSM community"},"ve-telegram":{name:"OpenStreetMap Venezuela Telegram",description:"Join the OpenStreetMap Venezuela community on Telegram"},"LATAM-Facebook":{name:"OpenStreetMap Latam Facebook",description:"OpenStreetMap Latam on Facebook"},"LATAM-Telegram":{name:"OpenStreetMap Latam Telegram",description:"OpenStreetMap Telegram for Latin America"},"LATAM-Twitter":{name:"OpenStreetMap Latam Twitter",description:"Follow us on Twitter at {url}"},"osm-latam":{name:"OpenStreetMap Latam",description:"Supporting OpenStreetMap in Latin America",events:{"sotm-latam-2018":{name:"State of the Map Latam 2018",description:"State of the Map Latam is the annual conference for all mappers and users of OpenStreetMap in Latin America. The program includes talks, panels, workshops, and mapathons related to OpenStreetMap.",where:"Buenos Aires, Argentina"}}},"OSM-Discord":{name:"OpenStreetMap Discord",description:"Get in touch with other mappers via Discord"},"OSM-Facebook":{name:"OpenStreetMap on Facebook",description:"Like us on Facebook for news and updates about OpenStreetMap."},"OSM-help":{name:"OpenStreetMap Help",description:"Ask a question and get answers on OSM's community-driven question and answer site.",extendedDescription:"{url} is for everyone who needs help with OpenStreetMap.  Whether you are a beginner mapper or have a technical question, we're here to help!"},"OSM-IRC":{name:"OpenStreetMap IRC",description:"Join #osm on irc.oftc.net (port 6667)"},"OSM-Reddit":{name:"OpenStreetMap on Reddit",description:"/r/openstreetmap/ is a great place to learn more about OpenStreetMap.  Ask us anything!"},"OSM-Telegram":{name:"OpenStreetMap Telegram",description:"Join the OpenStreetMap Telegram global supergroup at {url}"},"OSM-Twitter":{name:"OpenStreetMap Twitter",description:"Follow us on Twitter at {url}"},OSMF:{name:"OpenStreetMap Foundation",description:"OSMF is a UK-based not-for-profit that supports the OpenStreetMap Project",extendedDescription:"OSMF supports the OpenStreetMap by fundraising, maintaining the servers which power OSM, organizing the annual State of the Map conference, and coordinating the volunteers who keep OSM running. You can show your support and have a voice in the direction of OpenStreetMap by joining as an OSMF member here: {signupUrl}",events:{sotm2018:{name:"State of the Map 2018",description:"Join us for 3 days in Milan, Italy for the annual worldwide OpenStreetMap conference, bringing together everyone in the community to socialize, share, and learn.",where:"Milan, Italy"}}}}};
+
+       var features$3 = {africa_full:{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-29.35547,14.94478],[-27.81738,21.33032],[-12.78809,34.28899],[-5.42999,35.99134],[-2.72461,36.0935],[5.73486,38.39334],[12.17285,37.33522],[13.77686,35.03],[33.35449,33.32135],[34.91455,29.48264],[34.38721,27.54724],[42.57202,13.73138],[43.20923,12.86536],[43.82446,11.53385],[54.93164,14.51978],[63.01758,-13.49647],[50.53711,-40.44695],[10.98633,-38.41056],[2.72461,-9.79568],[-29.35547,14.94478]]]},id:"africa_full"},botswana:{type:"Feature",id:"botswana",properties:{},geometry:{type:"Polygon",coordinates:[[[25.65423,-18.48085],[25.70131,-18.56629],[25.79198,-18.60814],[25.83557,-18.82958],[25.95414,-18.89236],[26.00296,-19.02313],[25.9925,-19.058],[26.17908,-19.52356],[26.25057,-19.57064],[26.32554,-19.57064],[26.37611,-19.62121],[26.35344,-19.64562],[26.70741,-19.87404],[26.73356,-19.91763],[26.97419,-20.00133],[27.04394,-19.99784],[27.13984,-20.06585],[27.22005,-20.07456],[27.30723,-20.22626],[27.31769,-20.45643],[27.73269,-20.4913],[27.74664,-20.70926],[27.71525,-21.07718],[27.9088,-21.2777],[28.02562,-21.55668],[28.19825,-21.5933],[28.37261,-21.59679],[28.50339,-21.65433],[28.58011,-21.62643],[28.8033,-21.71362],[29.08577,-21.80603],[29.03346,-21.90193],[29.06659,-22.02399],[29.17645,-22.07107],[29.25665,-22.05189],[29.38569,-22.19312],[29.32117,-22.21231],[29.0387,-22.23323],[29.01428,-22.27159],[28.97941,-22.31344],[28.98115,-22.34482],[28.94105,-22.45991],[28.52257,-22.59766],[28.36041,-22.58371],[28.18255,-22.70053],[28.18255,-22.74761],[28.06747,-22.89931],[27.95239,-22.9708],[27.96285,-23.03532],[27.74838,-23.24107],[27.68561,-23.21666],[27.62109,-23.23758],[27.56006,-23.36836],[27.2741,-23.49565],[27.08578,-23.66304],[27.00034,-23.70489],[26.88875,-24.10593],[26.87654,-24.26635],[26.74228,-24.31343],[26.57663,-24.45292],[26.42842,-24.64821],[25.8844,-24.77724],[25.89486,-24.88012],[25.76585,-25.17485],[25.66467,-25.48682],[25.58448,-25.64908],[25.3456,-25.78509],[25.11021,-25.76939],[25.02517,-25.71967],[24.92538,-25.81822],[24.69696,-25.83042],[24.46156,-25.74324],[24.37786,-25.76765],[24.21127,-25.67022],[23.92974,-25.64036],[23.66819,-25.44158],[23.3121,-25.26869],[22.88179,-25.50087],[22.72835,-26.01351],[22.63768,-26.10767],[22.56793,-26.2367],[22.48424,-26.21054],[22.35521,-26.33609],[22.24971,-26.35352],[22.07317,-26.63251],[21.9668,-26.67131],[21.79767,-26.66956],[21.77761,-26.69223],[21.80377,-26.78465],[21.6913,-26.87096],[21.59889,-26.8605],[21.5274,-26.86224],[21.32339,-26.84349],[21.14248,-26.87375],[21.00386,-26.84873],[20.98729,-26.81621],[20.85826,-26.80575],[20.68477,-26.92022],[20.61677,-26.79293],[20.61589,-26.68718],[20.622,-26.60461],[20.5941,-26.47558],[20.82252,-26.153],[20.78939,-25.92458],[20.63769,-25.63862],[20.63595,-25.55143],[20.36045,-25.06321],[20.25583,-24.93766],[20.11982,-24.89756],[19.98556,-24.76853],[19.99602,-21.99435],[20.9934,-22.00132],[20.99514,-18.30648],[21.45547,-18.31171],[23.10324,-17.98913],[23.31422,-17.98913],[23.43105,-18.18268],[23.54439,-18.26289],[23.60542,-18.48085],[23.77455,-18.36577],[23.91928,-18.20884],[24.18606,-18.01355],[24.36915,-17.94031],[24.47377,-17.956],[24.51038,-18.03621],[24.57839,-18.05714],[24.615,-17.98565],[24.71439,-17.89498],[24.97594,-17.77466],[25.09102,-17.82174],[25.15903,-17.76246],[25.27411,-17.79559],[25.25493,-17.91241],[25.31596,-18.06062],[25.40489,-18.1077],[25.5374,-18.37972],[25.65423,-18.48085]]]}},"Centre-Universitaire-de-Recherche-et-dApplication-en-Tldtection-CURAT-de-lUniversit-Felix-Houphouet-Boigny":{type:"Feature",id:"Centre-Universitaire-de-Recherche-et-dApplication-en-Tldtection-CURAT-de-lUniversit-Felix-Houphouet-Boigny",properties:{},geometry:{type:"Polygon",coordinates:[[[-3.98799,5.5686],[-3.94397,5.56428],[-3.90165,5.5515],[-3.86264,5.53074],[-3.82846,5.5028],[-3.80041,5.46876],[-3.77958,5.42993],[-3.76675,5.38779],[-3.76243,5.34398],[-3.76678,5.30017],[-3.77963,5.25804],[-3.80049,5.21922],[-3.82854,5.1852],[-3.86272,5.15728],[-3.90171,5.13653],[-3.94401,5.12375],[-3.98799,5.11944],[-4.03198,5.12375],[-4.07428,5.13653],[-4.11327,5.15728],[-4.14745,5.1852],[-4.1755,5.21922],[-4.19635,5.25804],[-4.2092,5.30017],[-4.21355,5.34398],[-4.20924,5.38779],[-4.19641,5.42993],[-4.17558,5.46876],[-4.14753,5.5028],[-4.11335,5.53074],[-4.07434,5.5515],[-4.03201,5.56428],[-3.98799,5.5686]]]}},"The-Gambia-YMCA-University-of-the-Gambia":{type:"Feature",id:"The-Gambia-YMCA-University-of-the-Gambia",properties:{},geometry:{type:"Polygon",coordinates:[[[-16.6763,13.68253],[-16.63121,13.67821],[-16.58785,13.66542],[-16.54791,13.64465],[-16.5129,13.6167],[-16.48419,13.58265],[-16.46288,13.54381],[-16.44977,13.50166],[-16.44538,13.45785],[-16.44986,13.41404],[-16.46303,13.37192],[-16.4844,13.33311],[-16.51312,13.2991],[-16.54811,13.27119],[-16.58801,13.25045],[-16.63129,13.23769],[-16.6763,13.23337],[-16.72131,13.23769],[-16.76459,13.25045],[-16.80449,13.27119],[-16.83948,13.2991],[-16.8682,13.33311],[-16.88956,13.37192],[-16.90274,13.41404],[-16.90722,13.45785],[-16.90282,13.50166],[-16.88972,13.54381],[-16.8684,13.58265],[-16.83969,13.6167],[-16.80469,13.64465],[-16.76474,13.66542],[-16.72139,13.67821],[-16.6763,13.68253]]]}},cape_coast_gh:{type:"Feature",id:"cape_coast_gh",properties:{},geometry:{type:"Polygon",coordinates:[[[-1.6,5],[-1.6,5.4],[-1,5.4],[-1,5],[-1.6,5]]]}},ghana:{type:"Feature",properties:{},id:"ghana",geometry:{type:"Polygon",coordinates:[[[-3.11256,5.13335],[-2.97215,5.11112],[-2.94811,5.12753],[-2.75757,5.10599],[-2.7253,5.14087],[-2.78641,5.28242],[-2.78297,5.29541],[-2.76993,5.2937],[-2.76546,5.31797],[-2.77748,5.33079],[-2.77319,5.35557],[-2.72495,5.34224],[-2.78023,5.60642],[-2.86022,5.65049],[-2.92889,5.61838],[-2.96631,5.64127],[-2.95292,5.71643],[-3.02639,5.7096],[-3.01987,5.8575],[-3.07411,5.98624],[-3.10226,6.15284],[-3.15514,6.25114],[-3.17574,6.25182],[-3.17162,6.29755],[-3.23753,6.54183],[-3.23341,6.60049],[-3.26157,6.61959],[-3.21007,6.73417],[-3.24028,6.83031],[-2.95326,7.23817],[-2.97558,7.27018],[-2.92236,7.61436],[-2.77611,7.94432],[-2.60513,8.03747],[-2.62985,8.11769],[-2.48978,8.20877],[-2.64221,9.00988],[-2.77679,9.03972],[-2.76581,9.15633],[-2.66968,9.26478],[-2.93884,10.66601],[-2.82898,11.0113],[-0.68939,11.00051],[-0.60974,10.91962],[-0.43121,11.04095],[-0.43396,11.10295],[-0.27843,11.17672],[-0.13424,11.13967],[-0.14214,11.10632],[-0.05905,11.08341],[-0.0388,11.10733],[-0.01339,11.11204],[0.02369,11.05308],[0.03296,10.97793],[-0.00549,10.96411],[-0.02266,10.81914],[-0.07141,10.76856],[-0.07999,10.69806],[-0.05905,10.63294],[0.04257,10.60257],[0.0618,10.56207],[0.14351,10.52629],[0.17097,10.42265],[0.26711,10.41151],[0.28633,10.42096],[0.34264,10.31357],[0.39757,10.31492],[0.39722,10.30546],[0.37148,10.28283],[0.35225,10.10746],[0.41817,10.06487],[0.40924,10.01822],[0.36461,10.03174],[0.34676,9.66506],[0.26779,9.64678],[0.24994,9.44771],[0.42847,9.48564],[0.56168,9.40977],[0.48203,8.80501],[0.3804,8.74122],[0.47653,8.59324],[0.65369,8.49546],[0.65781,8.42347],[0.70862,8.38339],[0.72784,8.28964],[0.60425,8.21693],[0.62004,7.70623],[0.59464,7.70283],[0.5809,7.62253],[0.52322,7.5953],[0.52734,7.45099],[0.56168,7.39243],[0.62759,7.40741],[0.66055,7.30935],[0.59395,7.11248],[0.61317,7.09306],[0.59601,7.00549],[0.52322,6.97823],[0.52322,6.94006],[0.56442,6.92234],[0.53284,6.82962],[0.65094,6.73962],[0.63446,6.63733],[0.74707,6.57048],[0.71411,6.51864],[0.90242,6.33355],[1.00405,6.33543],[1.02516,6.25319],[1.05537,6.22964],[1.1,6.17],[1.2,6.17],[1.2,4],[-3,4.5],[-3.11256,5.13335]]]}},"Kwame-Nkrumah-University-of-Science-and-Technology":{type:"Feature",id:"Kwame-Nkrumah-University-of-Science-and-Technology",properties:{},geometry:{type:"Polygon",coordinates:[[[-1.56831,6.89695],[-1.52418,6.89263],[-1.48174,6.87985],[-1.44264,6.85909],[-1.40837,6.83115],[-1.38026,6.7971],[-1.35937,6.75827],[-1.34652,6.71613],[-1.3422,6.67232],[-1.34656,6.62851],[-1.35945,6.58638],[-1.38035,6.54757],[-1.40848,6.51354],[-1.44274,6.48562],[-1.48182,6.46488],[-1.52422,6.45211],[-1.56831,6.44779],[-1.6124,6.45211],[-1.6548,6.46488],[-1.69388,6.48562],[-1.72814,6.51354],[-1.75627,6.54757],[-1.77717,6.58638],[-1.79006,6.62851],[-1.79442,6.67232],[-1.7901,6.71613],[-1.77725,6.75827],[-1.75636,6.7971],[-1.72825,6.83115],[-1.69398,6.85909],[-1.65488,6.87985],[-1.61244,6.89263],[-1.56831,6.89695]]]}},"University-of-Cape-Coast":{type:"Feature",id:"University-of-Cape-Coast",properties:{},geometry:{type:"Polygon",coordinates:[[[-1.23047,5.31552],[-1.18647,5.31121],[-1.14416,5.29842],[-1.10517,5.27766],[-1.071,5.24973],[-1.04296,5.21569],[-1.02214,5.17685],[-1.00932,5.13472],[-1.005,5.0909],[-1.00935,5.04709],[-1.02219,5.00497],[-1.04303,4.96615],[-1.07108,4.93212],[-1.10524,4.9042],[-1.14421,4.88345],[-1.1865,4.87068],[-1.23047,4.86637],[-1.27444,4.87068],[-1.31672,4.88345],[-1.3557,4.9042],[-1.38986,4.93212],[-1.4179,4.96615],[-1.43875,5.00497],[-1.45159,5.04709],[-1.45594,5.0909],[-1.45162,5.13472],[-1.4388,5.17685],[-1.41798,5.21569],[-1.38994,5.24973],[-1.35577,5.27766],[-1.31678,5.29842],[-1.27447,5.31121],[-1.23047,5.31552]]]}},"University-of-Energy-and-Natural-Resources":{type:"Feature",id:"University-of-Energy-and-Natural-Resources",properties:{},geometry:{type:"Polygon",coordinates:[[[-2.343,7.57482],[-2.2988,7.5705],[-2.2563,7.55771],[-2.21714,7.53695],[-2.18283,7.50901],[-2.15467,7.47497],[-2.13376,7.43613],[-2.12089,7.394],[-2.11656,7.35018],[-2.12093,7.30637],[-2.13384,7.26425],[-2.15477,7.22543],[-2.18294,7.19141],[-2.21725,7.16349],[-2.25639,7.14275],[-2.29885,7.12997],[-2.343,7.12566],[-2.38715,7.12997],[-2.42961,7.14275],[-2.46875,7.16349],[-2.50306,7.19141],[-2.53123,7.22543],[-2.55216,7.26425],[-2.56507,7.30637],[-2.56944,7.35018],[-2.56511,7.394],[-2.55224,7.43613],[-2.53133,7.47497],[-2.50317,7.50901],[-2.46886,7.53695],[-2.4297,7.55771],[-2.3872,7.5705],[-2.343,7.57482]]]}},"University-of-Ghana":{type:"Feature",id:"University-of-Ghana",properties:{},geometry:{type:"Polygon",coordinates:[[[-0.19624,5.87573],[-0.15219,5.87141],[-0.10984,5.85863],[-0.07082,5.83787],[-0.03662,5.80993],[-0.00855,5.77589],[0.01229,5.73706],[0.02512,5.69492],[0.02944,5.65111],[0.02509,5.6073],[0.01223,5.56517],[-0.00863,5.52635],[-0.0367,5.49233],[-0.0709,5.46441],[-0.1099,5.44366],[-0.15223,5.43089],[-0.19624,5.42657],[-0.24025,5.43089],[-0.28257,5.44366],[-0.32157,5.46441],[-0.35577,5.49233],[-0.38384,5.52635],[-0.4047,5.56517],[-0.41756,5.6073],[-0.42191,5.65111],[-0.41759,5.69492],[-0.40476,5.73706],[-0.38392,5.77589],[-0.35586,5.80993],[-0.32166,5.83787],[-0.28263,5.85863],[-0.24028,5.87141],[-0.19624,5.87573]]]}},"University-of-Mines-and-Technology":{type:"Feature",id:"University-of-Mines-and-Technology",properties:{},geometry:{type:"Polygon",coordinates:[[[-2.00125,5.52338],[-1.95723,5.51907],[-1.91491,5.50628],[-1.87591,5.48552],[-1.84173,5.45759],[-1.81368,5.42355],[-1.79285,5.38471],[-1.78003,5.34258],[-1.77571,5.29876],[-1.78006,5.25495],[-1.7929,5.21283],[-1.81376,5.17401],[-1.84181,5.13998],[-1.87598,5.11206],[-1.91497,5.09132],[-1.95726,5.07854],[-2.00125,5.07423],[-2.04524,5.07854],[-2.08753,5.09132],[-2.12652,5.11206],[-2.16069,5.13998],[-2.18874,5.17401],[-2.2096,5.21283],[-2.22244,5.25495],[-2.22679,5.29876],[-2.22247,5.34258],[-2.20965,5.38471],[-2.18882,5.42355],[-2.16077,5.45759],[-2.12659,5.48552],[-2.08759,5.50628],[-2.04527,5.51907],[-2.00125,5.52338]]]}},"General-Lansana-Conte-University":{type:"Feature",id:"General-Lansana-Conte-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-13.62305,9.93364],[-13.57857,9.92932],[-13.5358,9.91653],[-13.49639,9.89576],[-13.46186,9.86782],[-13.43353,9.83377],[-13.41249,9.79494],[-13.39955,9.7528],[-13.3952,9.70898],[-13.39961,9.66517],[-13.4126,9.62305],[-13.43367,9.58424],[-13.46201,9.55022],[-13.49653,9.5223],[-13.53591,9.50156],[-13.57863,9.48879],[-13.62305,9.48448],[-13.66747,9.48879],[-13.71018,9.50156],[-13.74956,9.5223],[-13.78408,9.55022],[-13.81242,9.58424],[-13.83349,9.62305],[-13.84648,9.66517],[-13.85089,9.70898],[-13.84654,9.7528],[-13.8336,9.79494],[-13.81256,9.83377],[-13.78423,9.86782],[-13.7497,9.89576],[-13.71029,9.91653],[-13.66753,9.92932],[-13.62305,9.93364]]]}},"Institute-of-Science-and-Veterinary-Medicine":{type:"Feature",id:"Institute-of-Science-and-Veterinary-Medicine",properties:{},geometry:{type:"Polygon",coordinates:[[[-12.1175,10.91114],[-12.07288,10.90682],[-12.02998,10.89403],[-11.99045,10.87326],[-11.95581,10.84532],[-11.9274,10.81127],[-11.90629,10.77243],[-11.89332,10.73029],[-11.88896,10.68648],[-11.89338,10.64267],[-11.90641,10.60055],[-11.92755,10.56173],[-11.95598,10.52772],[-11.99061,10.4998],[-12.0301,10.47906],[-12.07295,10.46629],[-12.1175,10.46198],[-12.16205,10.46629],[-12.2049,10.47906],[-12.24439,10.4998],[-12.27902,10.52772],[-12.30745,10.56173],[-12.32859,10.60055],[-12.34162,10.64267],[-12.34604,10.68648],[-12.34168,10.73029],[-12.32871,10.77243],[-12.3076,10.81127],[-12.27919,10.84532],[-12.24455,10.87326],[-12.20502,10.89403],[-12.16212,10.90682],[-12.1175,10.91114]]]}},"Universit-de-NZrkor":{type:"Feature",id:"Universit-de-NZrkor",properties:{},geometry:{type:"Polygon",coordinates:[[[-8.83716,7.95701],[-8.79292,7.95269],[-8.75039,7.9399],[-8.71119,7.91914],[-8.67684,7.8912],[-8.64866,7.85715],[-8.62773,7.81832],[-8.61485,7.77618],[-8.61052,7.73237],[-8.6149,7.68856],[-8.62781,7.64643],[-8.64877,7.60762],[-8.67696,7.5736],[-8.7113,7.54568],[-8.75047,7.52493],[-8.79297,7.51216],[-8.83716,7.50785],[-8.88135,7.51216],[-8.92385,7.52493],[-8.96302,7.54568],[-8.99736,7.5736],[-9.02555,7.60762],[-9.0465,7.64643],[-9.05942,7.68856],[-9.0638,7.73237],[-9.05947,7.77618],[-9.04659,7.81832],[-9.02566,7.85715],[-8.99748,7.8912],[-8.96313,7.91914],[-8.92393,7.9399],[-8.8814,7.95269],[-8.83716,7.95701]]]}},"Dedan-Kimathi-University-of-Technology":{type:"Feature",id:"Dedan-Kimathi-University-of-Technology",properties:{},geometry:{type:"Polygon",coordinates:[[[37.00195,-0.21487],[37.04577,-0.21919],[37.0879,-0.23196],[37.12672,-0.25272],[37.16076,-0.28065],[37.18869,-0.31468],[37.20944,-0.3535],[37.22222,-0.39563],[37.22654,-0.43945],[37.22222,-0.48326],[37.20945,-0.52539],[37.18869,-0.56422],[37.16076,-0.59825],[37.12673,-0.62618],[37.0879,-0.64693],[37.04577,-0.65971],[37.00195,-0.66403],[36.95814,-0.65971],[36.91601,-0.64693],[36.87718,-0.62618],[36.84314,-0.59825],[36.81521,-0.56422],[36.79446,-0.52539],[36.78168,-0.48326],[36.77737,-0.43945],[36.78168,-0.39563],[36.79447,-0.3535],[36.81522,-0.31468],[36.84315,-0.28065],[36.87718,-0.25272],[36.91601,-0.23196],[36.95814,-0.21919],[37.00195,-0.21487]]]}},"Jomo-Kenyatta-University-of-Agriculture-and-Technology":{type:"Feature",id:"Jomo-Kenyatta-University-of-Agriculture-and-Technology",properties:{},geometry:{type:"Polygon",coordinates:[[[37.0105,-0.86452],[37.05432,-0.86884],[37.09645,-0.88162],[37.13528,-0.90237],[37.16932,-0.93029],[37.19726,-0.96433],[37.21802,-1.00315],[37.2308,-1.04528],[37.23512,-1.08909],[37.23081,-1.1329],[37.21803,-1.17504],[37.19727,-1.21386],[37.16934,-1.2479],[37.1353,-1.27583],[37.09646,-1.29658],[37.05432,-1.30936],[37.0105,-1.31368],[36.96668,-1.30936],[36.92454,-1.29658],[36.8857,-1.27583],[36.85166,-1.2479],[36.82373,-1.21386],[36.80297,-1.17504],[36.79019,-1.1329],[36.78588,-1.08909],[36.7902,-1.04528],[36.80298,-1.00315],[36.82374,-0.96433],[36.85168,-0.93029],[36.88572,-0.90237],[36.92455,-0.88162],[36.96668,-0.86884],[37.0105,-0.86452]]]}},"Karatina-University":{type:"Feature",id:"Karatina-University",properties:{},geometry:{type:"Polygon",coordinates:[[[37.12789,-0.25676],[37.1717,-0.26108],[37.21383,-0.27386],[37.25266,-0.29461],[37.28669,-0.32254],[37.31462,-0.35657],[37.33538,-0.3954],[37.34816,-0.43752],[37.35247,-0.48134],[37.34816,-0.52515],[37.33538,-0.56728],[37.31463,-0.60611],[37.2867,-0.64014],[37.25267,-0.66807],[37.21384,-0.68882],[37.1717,-0.7016],[37.12789,-0.70592],[37.08407,-0.7016],[37.04194,-0.68882],[37.00311,-0.66807],[36.96908,-0.64014],[36.94115,-0.60611],[36.92039,-0.56728],[36.90762,-0.52515],[36.9033,-0.48134],[36.90762,-0.43752],[36.9204,-0.3954],[36.94115,-0.35657],[36.96908,-0.32254],[37.00312,-0.29461],[37.04194,-0.27386],[37.08407,-0.26108],[37.12789,-0.25676]]]}},"Kenyatta-University":{type:"Feature",id:"Kenyatta-University",properties:{},geometry:{type:"Polygon",coordinates:[[[36.93493,-0.95538],[36.97875,-0.9597],[37.02089,-0.97248],[37.05972,-0.99323],[37.09376,-1.02116],[37.12169,-1.05519],[37.14245,-1.09401],[37.15524,-1.13614],[37.15956,-1.17995],[37.15524,-1.22377],[37.14247,-1.2659],[37.12171,-1.30472],[37.09378,-1.33876],[37.05974,-1.36669],[37.0209,-1.38744],[36.97876,-1.40023],[36.93493,-1.40454],[36.8911,-1.40023],[36.84896,-1.38744],[36.81013,-1.36669],[36.77609,-1.33876],[36.74815,-1.30472],[36.7274,-1.2659],[36.71462,-1.22377],[36.7103,-1.17995],[36.71462,-1.13614],[36.72741,-1.09401],[36.74817,-1.05519],[36.7761,-1.02116],[36.81014,-0.99323],[36.84898,-0.97248],[36.89111,-0.9597],[36.93493,-0.95538]]]}},"Moi-University":{type:"Feature",id:"Moi-University",properties:{},geometry:{type:"Polygon",coordinates:[[[35.50781,-0.12698],[35.55163,-0.1313],[35.59376,-0.14408],[35.63258,-0.16483],[35.66661,-0.19276],[35.69454,-0.22679],[35.7153,-0.26562],[35.72808,-0.30774],[35.7324,-0.35156],[35.72808,-0.39537],[35.7153,-0.4375],[35.69455,-0.47633],[35.66662,-0.51036],[35.63259,-0.53829],[35.59376,-0.55904],[35.55163,-0.57182],[35.50781,-0.57614],[35.464,-0.57182],[35.42187,-0.55904],[35.38304,-0.53829],[35.34901,-0.51036],[35.32108,-0.47633],[35.30032,-0.4375],[35.28754,-0.39537],[35.28323,-0.35156],[35.28755,-0.30774],[35.30033,-0.26562],[35.32108,-0.22679],[35.34901,-0.19276],[35.38304,-0.16483],[35.42187,-0.14408],[35.464,-0.1313],[35.50781,-0.12698]]]}},"Technical-University-of-Kenya":{type:"Feature",id:"Technical-University-of-Kenya",properties:{},geometry:{type:"Polygon",coordinates:[[[36.82449,-1.06703],[36.86831,-1.07134],[36.91045,-1.08412],[36.94928,-1.10487],[36.98332,-1.1328],[37.01126,-1.16683],[37.03202,-1.20566],[37.04481,-1.24778],[37.04913,-1.2916],[37.04481,-1.33541],[37.03203,-1.37754],[37.01128,-1.41637],[36.98334,-1.4504],[36.9493,-1.47833],[36.91046,-1.49909],[36.86832,-1.51187],[36.82449,-1.51618],[36.78066,-1.51187],[36.73852,-1.49909],[36.69968,-1.47833],[36.66564,-1.4504],[36.6377,-1.41637],[36.61695,-1.37754],[36.60417,-1.33541],[36.59986,-1.2916],[36.60418,-1.24778],[36.61696,-1.20566],[36.63772,-1.16683],[36.66566,-1.1328],[36.6997,-1.10487],[36.73853,-1.08412],[36.78067,-1.07134],[36.82449,-1.06703]]]}},"University-of-Nairobi":{type:"Feature",id:"University-of-Nairobi",properties:{},geometry:{type:"Polygon",coordinates:[[[36.82617,-1.09366],[36.86999,-1.09798],[36.91213,-1.11076],[36.95097,-1.13151],[36.98501,-1.15944],[37.01294,-1.19347],[37.0337,-1.23229],[37.04649,-1.27442],[37.05081,-1.31823],[37.0465,-1.36205],[37.03372,-1.40418],[37.01296,-1.44301],[36.98503,-1.47704],[36.95098,-1.50497],[36.91214,-1.52573],[36.87,-1.53851],[36.82617,-1.54282],[36.78234,-1.53851],[36.7402,-1.52573],[36.70136,-1.50497],[36.66732,-1.47704],[36.63938,-1.44301],[36.61863,-1.40418],[36.60585,-1.36205],[36.60153,-1.31823],[36.60585,-1.27442],[36.61864,-1.23229],[36.6394,-1.19347],[36.66734,-1.15944],[36.70138,-1.13151],[36.74021,-1.11076],[36.78235,-1.09798],[36.82617,-1.09366]]]}},"African-Methodist-Episcopal-University":{type:"Feature",id:"African-Methodist-Episcopal-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-10.80063,6.53533],[-10.75653,6.53101],[-10.71413,6.51823],[-10.67505,6.49747],[-10.64081,6.46953],[-10.61272,6.43549],[-10.59185,6.39665],[-10.579,6.35452],[-10.57468,6.3107],[-10.57904,6.26689],[-10.59192,6.22477],[-10.61281,6.18595],[-10.64091,6.15193],[-10.67514,6.12401],[-10.7142,6.10326],[-10.75657,6.09049],[-10.80063,6.08617],[-10.84469,6.09049],[-10.88706,6.10326],[-10.92612,6.12401],[-10.96035,6.15193],[-10.98845,6.18595],[-11.00934,6.22477],[-11.02222,6.26689],[-11.02658,6.3107],[-11.02226,6.35452],[-11.00941,6.39665],[-10.98854,6.43549],[-10.96045,6.46953],[-10.92621,6.49747],[-10.88713,6.51823],[-10.84473,6.53101],[-10.80063,6.53533]]]}},"Cuttington-University":{type:"Feature",id:"Cuttington-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-9.5539,7.26498],[-9.50973,7.26066],[-9.46727,7.24788],[-9.42813,7.22711],[-9.39384,7.19917],[-9.3657,7.16513],[-9.3448,7.1263],[-9.33194,7.08416],[-9.32762,7.04035],[-9.33198,6.99653],[-9.34488,6.95441],[-9.3658,6.91559],[-9.39395,6.88157],[-9.42823,6.85365],[-9.46734,6.83291],[-9.50977,6.82013],[-9.5539,6.81582],[-9.59803,6.82013],[-9.64046,6.83291],[-9.67957,6.85365],[-9.71385,6.88157],[-9.742,6.91559],[-9.76292,6.95441],[-9.77582,6.99653],[-9.78018,7.04035],[-9.77586,7.08416],[-9.763,7.1263],[-9.7421,7.16513],[-9.71396,7.19917],[-9.67967,7.22711],[-9.64053,7.24788],[-9.59807,7.26066],[-9.5539,7.26498]]]}},"Grand-Gedeh-County-Community-College":{type:"Feature",id:"Grand-Gedeh-County-Community-College",properties:{},geometry:{type:"Polygon",coordinates:[[[-8.11817,6.28853],[-8.07409,6.28421],[-8.03171,6.27143],[-7.99266,6.25066],[-7.95843,6.22273],[-7.93035,6.18869],[-7.90949,6.14985],[-7.89665,6.10772],[-7.89233,6.0639],[-7.89669,6.02009],[-7.90955,5.97797],[-7.93043,5.93915],[-7.95852,5.90512],[-7.99274,5.8772],[-8.03178,5.85646],[-8.07413,5.84368],[-8.11817,5.83937],[-8.16221,5.84368],[-8.20456,5.85646],[-8.2436,5.8772],[-8.27782,5.90512],[-8.30591,5.93915],[-8.32679,5.97797],[-8.33966,6.02009],[-8.34401,6.0639],[-8.33969,6.10772],[-8.32686,6.14985],[-8.306,6.18869],[-8.27791,6.22273],[-8.24369,6.25066],[-8.20463,6.27143],[-8.16225,6.28421],[-8.11817,6.28853]]]}},"Nimba-County-Community-College":{type:"Feature",id:"Nimba-County-Community-College",properties:{},geometry:{type:"Polygon",coordinates:[[[-8.71645,7.57669],[-8.67226,7.57237],[-8.62976,7.55959],[-8.5906,7.53882],[-8.55628,7.51088],[-8.52812,7.47684],[-8.50721,7.438],[-8.49434,7.39587],[-8.49001,7.35205],[-8.49439,7.30824],[-8.50729,7.26612],[-8.52823,7.2273],[-8.55639,7.19328],[-8.5907,7.16536],[-8.62984,7.14462],[-8.6723,7.13185],[-8.71645,7.12753],[-8.76061,7.13185],[-8.80307,7.14462],[-8.84221,7.16536],[-8.87652,7.19328],[-8.90468,7.2273],[-8.92562,7.26612],[-8.93852,7.30824],[-8.9429,7.35205],[-8.93857,7.39587],[-8.9257,7.438],[-8.90479,7.47684],[-8.87663,7.51088],[-8.84231,7.53882],[-8.80315,7.55959],[-8.76065,7.57237],[-8.71645,7.57669]]]}},"Stella-Maris-Polytechnic":{type:"Feature",id:"Stella-Maris-Polytechnic",properties:{},geometry:{type:"Polygon",coordinates:[[[-10.7944,6.51458],[-10.7503,6.51026],[-10.7079,6.49748],[-10.66883,6.47672],[-10.63459,6.44878],[-10.60649,6.41474],[-10.58562,6.3759],[-10.57278,6.33377],[-10.56846,6.28995],[-10.57282,6.24614],[-10.58569,6.20402],[-10.60658,6.1652],[-10.63469,6.13117],[-10.66892,6.10325],[-10.70797,6.08251],[-10.75034,6.06973],[-10.7944,6.06542],[-10.83846,6.06973],[-10.88083,6.08251],[-10.91988,6.10325],[-10.95411,6.13117],[-10.98222,6.1652],[-11.00311,6.20402],[-11.01598,6.24614],[-11.02034,6.28995],[-11.01602,6.33377],[-11.00318,6.3759],[-10.98231,6.41474],[-10.95421,6.44878],[-10.91997,6.47672],[-10.8809,6.49748],[-10.8385,6.51026],[-10.7944,6.51458]]]}},"University-of-Liberia-YouthMappers":{type:"Feature",id:"University-of-Liberia-YouthMappers",properties:{},geometry:{type:"Polygon",coordinates:[[[-10.61986,6.60165],[-10.57576,6.59733],[-10.53335,6.58454],[-10.49427,6.56378],[-10.46002,6.53584],[-10.43192,6.5018],[-10.41105,6.46297],[-10.39821,6.42083],[-10.39389,6.37702],[-10.39825,6.33321],[-10.41112,6.29108],[-10.43202,6.25226],[-10.46012,6.21824],[-10.49436,6.19032],[-10.53342,6.16958],[-10.5758,6.1568],[-10.61986,6.15249],[-10.66393,6.1568],[-10.70631,6.16958],[-10.74536,6.19032],[-10.7796,6.21824],[-10.80771,6.25226],[-10.8286,6.29108],[-10.84148,6.33321],[-10.84584,6.37702],[-10.84152,6.42083],[-10.82867,6.46297],[-10.8078,6.5018],[-10.7797,6.53584],[-10.74546,6.56378],[-10.70638,6.58454],[-10.66397,6.59733],[-10.61986,6.60165]]]}},madagascar:{type:"Feature",id:"madagascar",properties:{},geometry:{type:"Polygon",coordinates:[[[51,-15],[47.5,-26],[42,-26],[43.5,-16],[49.5,-11],[51,-15]]]}},"University-of-Malawi":{type:"Feature",id:"University-of-Malawi",properties:{},geometry:{type:"Polygon",coordinates:[[[35.33203,-15.14437],[35.37742,-15.14868],[35.42107,-15.16145],[35.46131,-15.18218],[35.4966,-15.21009],[35.52557,-15.2441],[35.54712,-15.2829],[35.56042,-15.32502],[35.56494,-15.36883],[35.56051,-15.41265],[35.5473,-15.45479],[35.5258,-15.49364],[35.49685,-15.52769],[35.46154,-15.55564],[35.42125,-15.57642],[35.37752,-15.58921],[35.33203,-15.59353],[35.28654,-15.58921],[35.24281,-15.57642],[35.20252,-15.55564],[35.16721,-15.52769],[35.13826,-15.49364],[35.11676,-15.45479],[35.10355,-15.41265],[35.09912,-15.36883],[35.10365,-15.32502],[35.11694,-15.2829],[35.13849,-15.2441],[35.16747,-15.21009],[35.20275,-15.18218],[35.24299,-15.16145],[35.28664,-15.14868],[35.33203,-15.14437]]]}},"Universit-des-Sciences-Sociale-et-de-Gestion-de-Bamako":{type:"Feature",id:"Universit-des-Sciences-Sociale-et-de-Gestion-de-Bamako",properties:{},geometry:{type:"Polygon",coordinates:[[[-7.98832,12.83993],[-7.94339,12.83562],[-7.90018,12.82283],[-7.86037,12.80206],[-7.82549,12.77411],[-7.79688,12.74006],[-7.77564,12.70121],[-7.76257,12.65907],[-7.75819,12.61526],[-7.76265,12.57145],[-7.77578,12.52933],[-7.79707,12.49052],[-7.82569,12.45651],[-7.86056,12.4286],[-7.90033,12.40786],[-7.94347,12.39509],[-7.98832,12.39078],[-8.03318,12.39509],[-8.07632,12.40786],[-8.11609,12.4286],[-8.15095,12.45651],[-8.17958,12.49052],[-8.20087,12.52933],[-8.214,12.57145],[-8.21846,12.61526],[-8.21408,12.65907],[-8.20101,12.70121],[-8.17977,12.74006],[-8.15116,12.77411],[-8.11627,12.80206],[-8.07646,12.82283],[-8.03326,12.83562],[-7.98832,12.83993]]]}},"Universidade-Eduardo-Mondlane":{type:"Feature",id:"Universidade-Eduardo-Mondlane",properties:{},geometry:{type:"Polygon",coordinates:[[[32.60357,-25.72761],[32.65221,-25.73192],[32.69898,-25.74467],[32.74211,-25.76539],[32.77994,-25.79328],[32.81102,-25.82727],[32.83416,-25.86606],[32.84845,-25.90817],[32.85334,-25.95197],[32.84863,-25.99579],[32.83449,-26.03795],[32.81146,-26.07681],[32.78042,-26.11088],[32.74255,-26.13885],[32.69932,-26.15964],[32.65239,-26.17244],[32.60357,-26.17677],[32.55475,-26.17244],[32.50782,-26.15964],[32.46459,-26.13885],[32.42672,-26.11088],[32.39568,-26.07681],[32.37265,-26.03795],[32.35851,-25.99579],[32.35381,-25.95197],[32.3587,-25.90817],[32.37299,-25.86606],[32.39612,-25.82727],[32.4272,-25.79328],[32.46503,-25.76539],[32.50816,-25.74467],[32.55493,-25.73192],[32.60357,-25.72761]]]}},"Namibia-University-of-Science-and-Technology":{type:"Feature",id:"Namibia-University-of-Science-and-Technology",properties:{},geometry:{type:"Polygon",coordinates:[[[17.07709,-22.34124],[17.12446,-22.34555],[17.17002,-22.35831],[17.21202,-22.37903],[17.24886,-22.40692],[17.27912,-22.44092],[17.30164,-22.47972],[17.31554,-22.52183],[17.32029,-22.56563],[17.31569,-22.60945],[17.30192,-22.6516],[17.27949,-22.69046],[17.24926,-22.72453],[17.21239,-22.75249],[17.1703,-22.77327],[17.12461,-22.78607],[17.07709,-22.79039],[17.02957,-22.78607],[16.98388,-22.77327],[16.94179,-22.75249],[16.90493,-22.72453],[16.8747,-22.69046],[16.85226,-22.6516],[16.83849,-22.60945],[16.83389,-22.56563],[16.83864,-22.52183],[16.85255,-22.47972],[16.87506,-22.44092],[16.90532,-22.40692],[16.94216,-22.37903],[16.98416,-22.35831],[17.02972,-22.34555],[17.07709,-22.34124]]]}},"Abia-State-University":{type:"Feature",id:"Abia-State-University",properties:{},geometry:{type:"Polygon",coordinates:[[[7.41909,6.0554],[7.46315,6.05108],[7.50551,6.0383],[7.54455,6.01753],[7.57877,5.9896],[7.60684,5.95556],[7.62769,5.91672],[7.64052,5.87459],[7.64484,5.83077],[7.64048,5.78696],[7.62762,5.74484],[7.60675,5.70602],[7.57868,5.67199],[7.54447,5.64407],[7.50545,5.62333],[7.46312,5.61055],[7.41909,5.60624],[7.37507,5.61055],[7.33274,5.62333],[7.29372,5.64407],[7.25951,5.67199],[7.23143,5.70602],[7.21056,5.74484],[7.1977,5.78696],[7.19335,5.83077],[7.19767,5.87459],[7.2105,5.91672],[7.23135,5.95556],[7.25942,5.9896],[7.29363,6.01753],[7.33267,6.0383],[7.37503,6.05108],[7.41909,6.0554]]]}},"Ahmadu-Bello-University":{type:"Feature",id:"Ahmadu-Bello-University",properties:{},geometry:{type:"Polygon",coordinates:[[[7.64648,11.40298],[7.69118,11.39866],[7.73415,11.38587],[7.77375,11.36511],[7.80845,11.33716],[7.83691,11.30311],[7.85804,11.26427],[7.87104,11.22213],[7.87541,11.17831],[7.87097,11.13451],[7.85792,11.09239],[7.83674,11.05357],[7.80827,11.01956],[7.77359,10.99164],[7.73403,10.97091],[7.69111,10.95813],[7.64648,10.95382],[7.60186,10.95813],[7.55894,10.97091],[7.51938,10.99164],[7.4847,11.01956],[7.45622,11.05357],[7.43505,11.09239],[7.422,11.13451],[7.41756,11.17831],[7.42193,11.22213],[7.43493,11.26427],[7.45606,11.30311],[7.48452,11.33716],[7.51922,11.36511],[7.55882,11.38587],[7.60179,11.39866],[7.64648,11.40298]]]}},"Federal-School-of-Surveys":{type:"Feature",id:"Federal-School-of-Surveys",properties:{},geometry:{type:"Polygon",coordinates:[[[3.95129,8.06678],[3.99554,8.06247],[4.03808,8.04968],[4.07729,8.02892],[4.11165,8.00098],[4.13984,7.96693],[4.16077,7.9281],[4.17365,7.88596],[4.17798,7.84215],[4.17361,7.79833],[4.16069,7.75621],[4.13972,7.7174],[4.11153,7.68337],[4.07718,7.65546],[4.038,7.63471],[3.99549,7.62194],[3.95129,7.61763],[3.90708,7.62194],[3.86457,7.63471],[3.82539,7.65546],[3.79105,7.68337],[3.76285,7.7174],[3.74189,7.75621],[3.72897,7.79833],[3.72459,7.84215],[3.72892,7.88596],[3.7418,7.9281],[3.76274,7.96693],[3.79092,8.00098],[3.82528,8.02892],[3.86449,8.04968],[3.90704,8.06247],[3.95129,8.06678]]]}},"Federal-University-of-Technology-Akure":{type:"Feature",id:"Federal-University-of-Technology-Akure",properties:{},geometry:{type:"Polygon",coordinates:[[[5.18555,7.49987],[5.22974,7.49555],[5.27223,7.48277],[5.31138,7.46201],[5.34569,7.43407],[5.37385,7.40002],[5.39475,7.36119],[5.40762,7.31905],[5.41195,7.27524],[5.40758,7.23143],[5.39467,7.1893],[5.37374,7.15048],[5.34558,7.11646],[5.31128,7.08854],[5.27215,7.0678],[5.22969,7.05503],[5.18555,7.05071],[5.1414,7.05503],[5.09895,7.0678],[5.05982,7.08854],[5.02551,7.11646],[4.99735,7.15048],[4.97642,7.1893],[4.96352,7.23143],[4.95915,7.27524],[4.96347,7.31905],[4.97634,7.36119],[4.99725,7.40002],[5.0254,7.43407],[5.05971,7.46201],[5.09887,7.48277],[5.14136,7.49555],[5.18555,7.49987]]]}},"Ignatius-Ajuru-University-of-Education":{type:"Feature",id:"Ignatius-Ajuru-University-of-Education",properties:{},geometry:{type:"Polygon",coordinates:[[[6.93364,5.03111],[6.97762,5.02679],[7.01991,5.01401],[7.05888,4.99325],[7.09304,4.96531],[7.12106,4.93127],[7.14188,4.89244],[7.15469,4.85031],[7.15901,4.80649],[7.15466,4.76268],[7.14183,4.72056],[7.12099,4.68174],[7.09296,4.64771],[7.05881,4.61979],[7.01986,4.59904],[6.97759,4.58627],[6.93364,4.58195],[6.88968,4.58627],[6.84742,4.59904],[6.80846,4.61979],[6.77431,4.64771],[6.74628,4.68174],[6.72545,4.72056],[6.71261,4.76268],[6.70826,4.80649],[6.71258,4.85031],[6.72539,4.89244],[6.74621,4.93127],[6.77424,4.96531],[6.80839,4.99325],[6.84736,5.01401],[6.88965,5.02679],[6.93364,5.03111]]]}},"University-of-Nigeria-Nsukka":{type:"Feature",id:"University-of-Nigeria-Nsukka",properties:{},geometry:{type:"Polygon",coordinates:[[[7.40821,7.08921],[7.45236,7.0849],[7.49481,7.07211],[7.53393,7.05135],[7.56821,7.02341],[7.59634,6.98937],[7.61723,6.95053],[7.63008,6.9084],[7.63441,6.86458],[7.63004,6.82077],[7.61715,6.77865],[7.59624,6.73983],[7.5681,6.70581],[7.53383,6.67789],[7.49473,6.65714],[7.45232,6.64437],[7.40821,6.64006],[7.3641,6.64437],[7.32168,6.65714],[7.28259,6.67789],[7.24831,6.70581],[7.22018,6.73983],[7.19926,6.77865],[7.18637,6.82077],[7.18201,6.86458],[7.18633,6.9084],[7.19919,6.95053],[7.22008,6.98937],[7.24821,7.02341],[7.28249,7.05135],[7.32161,7.07211],[7.36406,7.0849],[7.40821,7.08921]]]}},"University-of-Port-Harcourt":{type:"Feature",id:"University-of-Port-Harcourt",properties:{},geometry:{type:"Polygon",coordinates:[[[6.92037,5.12633],[6.96436,5.12201],[7.00665,5.10923],[7.04563,5.08847],[7.07979,5.06053],[7.10782,5.02649],[7.12864,4.98766],[7.14145,4.94553],[7.14577,4.90171],[7.14142,4.8579],[7.12859,4.81578],[7.10775,4.77696],[7.07971,4.74293],[7.04556,4.71501],[7.0066,4.69426],[6.96433,4.68149],[6.92037,4.67717],[6.87641,4.68149],[6.83414,4.69426],[6.79517,4.71501],[6.76102,4.74293],[6.73299,4.77696],[6.71215,4.81578],[6.69931,4.8579],[6.69496,4.90171],[6.69928,4.94553],[6.71209,4.98766],[6.73292,5.02649],[6.76094,5.06053],[6.7951,5.08847],[6.83408,5.10923],[6.87638,5.12201],[6.92037,5.12633]]]}},"University-of-Nigeria-Enugu-Campus":{type:"Feature",id:"University-of-Nigeria-Enugu-Campus",properties:{},geometry:{type:"Polygon",coordinates:[[[7.50373,6.651],[7.54784,6.64668],[7.59025,6.63389],[7.62934,6.61313],[7.66359,6.58519],[7.69169,6.55115],[7.71256,6.51232],[7.72541,6.47018],[7.72973,6.42637],[7.72537,6.38256],[7.71249,6.34043],[7.6916,6.30161],[7.66349,6.26759],[7.62924,6.23967],[7.59018,6.21893],[7.5478,6.20615],[7.50373,6.20184],[7.45966,6.20615],[7.41728,6.21893],[7.37822,6.23967],[7.34398,6.26759],[7.31587,6.30161],[7.29497,6.34043],[7.28209,6.38256],[7.27773,6.42637],[7.28206,6.47018],[7.2949,6.51232],[7.31577,6.55115],[7.34388,6.58519],[7.37813,6.61313],[7.41721,6.63389],[7.45962,6.64668],[7.50373,6.651]]]}},"Insititue-d-Enseignement-Superieur-de-Ruhengeri":{type:"Feature",id:"Insititue-d-Enseignement-Superieur-de-Ruhengeri",properties:{},geometry:{type:"Polygon",coordinates:[[[29.6112,-1.27634],[29.65502,-1.28065],[29.69717,-1.29343],[29.736,-1.31418],[29.77005,-1.34211],[29.79799,-1.37614],[29.81875,-1.41496],[29.83154,-1.45709],[29.83586,-1.5009],[29.83154,-1.54472],[29.81876,-1.58685],[29.79801,-1.62568],[29.77007,-1.65971],[29.73602,-1.68764],[29.69718,-1.7084],[29.65503,-1.72118],[29.6112,-1.72549],[29.56737,-1.72118],[29.52522,-1.7084],[29.48638,-1.68764],[29.45233,-1.65971],[29.4244,-1.62568],[29.40364,-1.58685],[29.39086,-1.54472],[29.38655,-1.5009],[29.39087,-1.45709],[29.40365,-1.41496],[29.42442,-1.37614],[29.45236,-1.34211],[29.4864,-1.31418],[29.52524,-1.29343],[29.56738,-1.28065],[29.6112,-1.27634]]]}},"University-of-Rwanda-Huye-Campus":{type:"Feature",id:"University-of-Rwanda-Huye-Campus",properties:{},geometry:{type:"Polygon",coordinates:[[[29.7397,-2.39052],[29.78355,-2.39484],[29.82572,-2.40761],[29.86458,-2.42836],[29.89865,-2.45629],[29.92661,-2.49032],[29.94739,-2.52914],[29.96019,-2.57127],[29.96451,-2.61508],[29.9602,-2.65889],[29.94741,-2.70103],[29.92664,-2.73986],[29.89869,-2.77389],[29.86462,-2.80182],[29.82575,-2.82258],[29.78357,-2.83536],[29.7397,-2.83968],[29.69583,-2.83536],[29.65365,-2.82258],[29.61478,-2.80182],[29.58071,-2.77389],[29.55276,-2.73986],[29.53199,-2.70103],[29.5192,-2.65889],[29.51489,-2.61508],[29.51921,-2.57127],[29.53201,-2.52914],[29.55279,-2.49032],[29.58075,-2.45629],[29.61482,-2.42836],[29.65368,-2.40761],[29.69585,-2.39484],[29.7397,-2.39052]]]}},"Institut-Suprieur-de-Management-Kolda":{type:"Feature",id:"Institut-Suprieur-de-Management-Kolda",properties:{},geometry:{type:"Polygon",coordinates:[[[-14.94108,13.11445],[-14.8961,13.11013],[-14.85285,13.09734],[-14.81299,13.07657],[-14.77807,13.04862],[-14.74943,13.01457],[-14.72816,12.97573],[-14.71509,12.93359],[-14.7107,12.88977],[-14.71517,12.84596],[-14.72831,12.80384],[-14.74962,12.76503],[-14.77828,12.73102],[-14.81319,12.70311],[-14.85299,12.68237],[-14.89618,12.66961],[-14.94108,12.66529],[-14.98599,12.66961],[-15.02918,12.68237],[-15.06898,12.70311],[-15.10389,12.73102],[-15.13255,12.76503],[-15.15386,12.80384],[-15.167,12.84596],[-15.17147,12.88977],[-15.16708,12.93359],[-15.15401,12.97573],[-15.13274,13.01457],[-15.1041,13.04862],[-15.06918,13.07657],[-15.02932,13.09734],[-14.98607,13.11013],[-14.94108,13.11445]]]}},"Universit-Gaston-Berger":{type:"Feature",id:"Universit-Gaston-Berger",properties:{},geometry:{type:"Polygon",coordinates:[[[-16.42556,16.28748],[-16.37992,16.28316],[-16.33604,16.27037],[-16.2956,16.2496],[-16.26018,16.22164],[-16.23112,16.18759],[-16.20956,16.14874],[-16.1963,16.1066],[-16.19186,16.06278],[-16.1964,16.01897],[-16.20974,15.97685],[-16.23137,15.93805],[-16.26044,15.90404],[-16.29585,15.87614],[-16.33622,15.8554],[-16.38002,15.84264],[-16.42556,15.83833],[-16.47111,15.84264],[-16.51491,15.8554],[-16.55528,15.87614],[-16.59069,15.90404],[-16.61976,15.93805],[-16.64138,15.97685],[-16.65473,16.01897],[-16.65927,16.06278],[-16.65483,16.1066],[-16.64157,16.14874],[-16.62,16.18759],[-16.59095,16.22164],[-16.55552,16.2496],[-16.51509,16.27037],[-16.47121,16.28316],[-16.42556,16.28748]]]}},"Fourah-Bay-College":{type:"Feature",id:"Fourah-Bay-College",properties:{},geometry:{type:"Polygon",coordinates:[[[-13.18359,8.71868],[-13.13927,8.71437],[-13.09665,8.70158],[-13.05738,8.68081],[-13.02296,8.65287],[-12.99473,8.61883],[-12.97376,8.57999],[-12.96086,8.53785],[-12.95652,8.49404],[-12.96091,8.45023],[-12.97386,8.40811],[-12.99485,8.36929],[-13.0231,8.33527],[-13.0575,8.30735],[-13.09674,8.28661],[-13.13932,8.27384],[-13.18359,8.26953],[-13.22787,8.27384],[-13.27044,8.28661],[-13.30969,8.30735],[-13.34409,8.33527],[-13.37233,8.36929],[-13.39333,8.40811],[-13.40627,8.45023],[-13.41066,8.49404],[-13.40633,8.53785],[-13.39343,8.57999],[-13.37246,8.61883],[-13.34422,8.65287],[-13.30981,8.68081],[-13.27054,8.70158],[-13.22792,8.71437],[-13.18359,8.71868]]]}},"Njala-University-Freetown-Campus":{type:"Feature",id:"Njala-University-Freetown-Campus",properties:{},geometry:{type:"Polygon",coordinates:[[[-13.23673,8.7042],[-13.19241,8.69988],[-13.14979,8.68709],[-13.11052,8.66633],[-13.07611,8.63839],[-13.04787,8.60434],[-13.02691,8.5655],[-13.01401,8.52337],[-13.00967,8.47955],[-13.01406,8.43574],[-13.027,8.39362],[-13.048,8.3548],[-13.07624,8.32078],[-13.11064,8.29287],[-13.14988,8.27212],[-13.19246,8.25935],[-13.23673,8.25504],[-13.281,8.25935],[-13.32358,8.27212],[-13.36282,8.29287],[-13.39722,8.32078],[-13.42546,8.3548],[-13.44646,8.39362],[-13.4594,8.43574],[-13.46379,8.47955],[-13.45945,8.52337],[-13.44655,8.5655],[-13.42559,8.60434],[-13.39735,8.63839],[-13.36294,8.66633],[-13.32367,8.68709],[-13.28105,8.69988],[-13.23673,8.7042]]]}},"Njala-University-Njala-Campus":{type:"Feature",id:"Njala-University-Njala-Campus",properties:{},geometry:{type:"Polygon",coordinates:[[[-11.76548,8.16057],[-11.72122,8.15625],[-11.67867,8.14347],[-11.63945,8.1227],[-11.60508,8.09476],[-11.57689,8.06072],[-11.55595,8.02188],[-11.54307,7.97975],[-11.53873,7.93593],[-11.54311,7.89212],[-11.55604,7.85],[-11.577,7.81118],[-11.60521,7.77716],[-11.63956,7.74924],[-11.67875,7.7285],[-11.72127,7.71573],[-11.76548,7.71141],[-11.8097,7.71573],[-11.85221,7.7285],[-11.8914,7.74924],[-11.92576,7.77716],[-11.95396,7.81118],[-11.97493,7.85],[-11.98785,7.89212],[-11.99223,7.93593],[-11.9879,7.97975],[-11.97502,8.02188],[-11.95408,8.06072],[-11.92588,8.09476],[-11.89152,8.1227],[-11.8523,8.14347],[-11.80974,8.15625],[-11.76548,8.16057]]]}},"University-of-Pretoria":{type:"Feature",id:"University-of-Pretoria",properties:{},geometry:{type:"Polygon",coordinates:[[[28.21289,-25.49616],[28.26143,-25.50046],[28.30812,-25.51322],[28.35116,-25.53394],[28.38892,-25.56183],[28.41994,-25.59582],[28.44303,-25.63461],[28.45729,-25.67672],[28.46217,-25.72052],[28.45747,-25.76434],[28.44336,-25.8065],[28.42037,-25.84536],[28.38939,-25.87943],[28.3516,-25.9074],[28.30845,-25.92819],[28.26161,-25.94099],[28.21289,-25.94531],[28.16417,-25.94099],[28.11733,-25.92819],[28.07418,-25.9074],[28.03639,-25.87943],[28.00541,-25.84536],[27.98242,-25.8065],[27.96831,-25.76434],[27.96361,-25.72052],[27.96849,-25.67672],[27.98275,-25.63461],[28.00584,-25.59582],[28.03686,-25.56183],[28.07462,-25.53394],[28.11766,-25.51322],[28.16435,-25.50046],[28.21289,-25.49616]]]}},"Ardhi-University":{type:"Feature",id:"Ardhi-University",properties:{},geometry:{type:"Polygon",coordinates:[[[39.21541,-6.54158],[39.25951,-6.54589],[39.30192,-6.55867],[39.34101,-6.57941],[39.37527,-6.60733],[39.4034,-6.64135],[39.42431,-6.68017],[39.4372,-6.72229],[39.44156,-6.7661],[39.43724,-6.80992],[39.42439,-6.85205],[39.4035,-6.89089],[39.37538,-6.92493],[39.3411,-6.95287],[39.30199,-6.97363],[39.25955,-6.98642],[39.21541,-6.99074],[39.17127,-6.98642],[39.12883,-6.97363],[39.08972,-6.95287],[39.05544,-6.92493],[39.02732,-6.89089],[39.00643,-6.85205],[38.99358,-6.80992],[38.98926,-6.7661],[38.99362,-6.72229],[39.00651,-6.68017],[39.02742,-6.64135],[39.05555,-6.60733],[39.08981,-6.57941],[39.1289,-6.55867],[39.17131,-6.54589],[39.21541,-6.54158]]]}},"Institute-of-Finance-Management":{type:"Feature",id:"Institute-of-Finance-Management",properties:{},geometry:{type:"Polygon",coordinates:[[[39.2935,-5.91323],[39.33755,-5.91754],[39.3799,-5.93032],[39.41894,-5.95107],[39.45317,-5.97899],[39.48126,-6.01301],[39.50215,-6.05183],[39.51501,-6.09395],[39.51937,-6.13776],[39.51505,-6.18158],[39.50221,-6.22371],[39.48135,-6.26255],[39.45326,-6.29659],[39.41903,-6.32453],[39.37997,-6.34529],[39.33758,-6.35807],[39.2935,-6.36239],[39.24941,-6.35807],[39.20703,-6.34529],[39.16797,-6.32453],[39.13373,-6.29659],[39.10565,-6.26255],[39.08479,-6.22371],[39.07195,-6.18158],[39.06763,-6.13776],[39.07198,-6.09395],[39.08485,-6.05183],[39.10574,-6.01301],[39.13383,-5.97899],[39.16805,-5.95107],[39.20709,-5.93032],[39.24945,-5.91754],[39.2935,-5.91323]]]}},"Institute-of-Rural-Development-Planning-Mwanza":{type:"Feature",id:"Institute-of-Rural-Development-Planning-Mwanza",properties:{},geometry:{type:"Polygon",coordinates:[[[32.89851,-2.29201],[32.94236,-2.29632],[32.98452,-2.3091],[33.02338,-2.32985],[33.05745,-2.35778],[33.08541,-2.3918],[33.10618,-2.43063],[33.11898,-2.47275],[33.12331,-2.51657],[33.119,-2.56038],[33.10621,-2.60251],[33.08544,-2.64134],[33.05749,-2.67538],[33.02342,-2.70331],[32.98455,-2.72407],[32.94238,-2.73685],[32.89851,-2.74116],[32.85465,-2.73685],[32.81247,-2.72407],[32.7736,-2.70331],[32.73954,-2.67538],[32.71158,-2.64134],[32.69081,-2.60251],[32.67803,-2.56038],[32.67372,-2.51657],[32.67804,-2.47275],[32.69084,-2.43063],[32.71162,-2.3918],[32.73958,-2.35778],[32.77364,-2.32985],[32.8125,-2.3091],[32.85466,-2.29632],[32.89851,-2.29201]]]}},"Institute-of-Rural-Development-Planning":{type:"Feature",id:"Institute-of-Rural-Development-Planning",properties:{},geometry:{type:"Polygon",coordinates:[[[35.74578,-5.89759],[35.78983,-5.9019],[35.83218,-5.91468],[35.87122,-5.93543],[35.90545,-5.96335],[35.93354,-5.99737],[35.95442,-6.03619],[35.96729,-6.07831],[35.97165,-6.12212],[35.96733,-6.16594],[35.95449,-6.20807],[35.93363,-6.24691],[35.90554,-6.28095],[35.87131,-6.30889],[35.83225,-6.32965],[35.78986,-6.34243],[35.74578,-6.34675],[35.7017,-6.34243],[35.65931,-6.32965],[35.62025,-6.30889],[35.58602,-6.28095],[35.55794,-6.24691],[35.53707,-6.20807],[35.52424,-6.16594],[35.51992,-6.12212],[35.52427,-6.07831],[35.53714,-6.03619],[35.55802,-5.99737],[35.58612,-5.96335],[35.62034,-5.93543],[35.65938,-5.91468],[35.70174,-5.9019],[35.74578,-5.89759]]]}},"Open-University-of-Tanzania":{type:"Feature",id:"Open-University-of-Tanzania",properties:{},geometry:{type:"Polygon",coordinates:[[[39.26466,-6.55895],[39.30876,-6.56326],[39.35117,-6.57603],[39.39026,-6.59678],[39.42453,-6.6247],[39.45266,-6.65872],[39.47357,-6.69754],[39.48646,-6.73966],[39.49082,-6.78347],[39.4865,-6.82729],[39.47364,-6.86942],[39.45275,-6.90826],[39.42463,-6.9423],[39.39036,-6.97024],[39.35125,-6.991],[39.3088,-7.00379],[39.26466,-7.0081],[39.22052,-7.00379],[39.17807,-6.991],[39.13896,-6.97024],[39.10469,-6.9423],[39.07656,-6.90826],[39.05568,-6.86942],[39.04282,-6.82729],[39.0385,-6.78347],[39.04286,-6.73966],[39.05575,-6.69754],[39.07666,-6.65872],[39.10479,-6.6247],[39.13906,-6.59678],[39.17815,-6.57603],[39.22056,-6.56326],[39.26466,-6.55895]]]}},"Sokoine-University-of-Agriculture":{type:"Feature",id:"Sokoine-University-of-Agriculture",properties:{},geometry:{type:"Polygon",coordinates:[[[37.65636,-6.62796],[37.70047,-6.63227],[37.74288,-6.64505],[37.78198,-6.66579],[37.81625,-6.69371],[37.84439,-6.72773],[37.8653,-6.76655],[37.87819,-6.80868],[37.88255,-6.85249],[37.87823,-6.8963],[37.86537,-6.93844],[37.84448,-6.97727],[37.81636,-7.01131],[37.78208,-7.03925],[37.74296,-7.06002],[37.70051,-7.0728],[37.65636,-7.07712],[37.61221,-7.0728],[37.56976,-7.06002],[37.53064,-7.03925],[37.49636,-7.01131],[37.46824,-6.97727],[37.44735,-6.93844],[37.43449,-6.8963],[37.43017,-6.85249],[37.43453,-6.80868],[37.44742,-6.76655],[37.46833,-6.72773],[37.49647,-6.69371],[37.53074,-6.66579],[37.56984,-6.64505],[37.61225,-6.63227],[37.65636,-6.62796]]]}},"University-of-Dar-es-Salaam":{type:"Feature",id:"University-of-Dar-es-Salaam",properties:{},geometry:{type:"Polygon",coordinates:[[[39.20531,-6.55579],[39.24941,-6.56011],[39.29182,-6.57288],[39.33091,-6.59363],[39.36518,-6.62155],[39.39331,-6.65557],[39.41422,-6.69439],[39.42711,-6.73651],[39.43147,-6.78032],[39.42715,-6.82414],[39.41429,-6.86627],[39.39341,-6.90511],[39.36528,-6.93915],[39.33101,-6.96709],[39.2919,-6.98785],[39.24945,-7.00063],[39.20531,-7.00495],[39.16117,-7.00063],[39.11873,-6.98785],[39.07961,-6.96709],[39.04534,-6.93915],[39.01722,-6.90511],[38.99633,-6.86627],[38.98348,-6.82414],[38.97915,-6.78032],[38.98352,-6.73651],[38.9964,-6.69439],[39.01731,-6.65557],[39.04544,-6.62155],[39.07971,-6.59363],[39.1188,-6.57288],[39.16121,-6.56011],[39.20531,-6.55579]]]}},"Busitema-University":{type:"Feature",id:"Busitema-University",properties:{},geometry:{type:"Polygon",coordinates:[[[34.01367,0.75192],[34.05749,0.7476],[34.09962,0.73482],[34.13845,0.71407],[34.17248,0.68614],[34.20041,0.6521],[34.22117,0.61328],[34.23395,0.57115],[34.23826,0.52733],[34.23394,0.48352],[34.22116,0.44139],[34.20041,0.40256],[34.17248,0.36853],[34.13844,0.3406],[34.09962,0.31985],[34.05749,0.30707],[34.01367,0.30276],[33.96986,0.30707],[33.92773,0.31985],[33.8889,0.3406],[33.85487,0.36853],[33.82694,0.40256],[33.80618,0.44139],[33.7934,0.48352],[33.78908,0.52733],[33.7934,0.57115],[33.80618,0.61328],[33.82693,0.6521],[33.85486,0.68614],[33.88889,0.71407],[33.92772,0.73482],[33.96986,0.7476],[34.01367,0.75192]]]}},"Gulu-University":{type:"Feature",id:"Gulu-University",properties:{},geometry:{type:"Polygon",coordinates:[[[32.34375,3.03595],[32.38762,3.03163],[32.42981,3.01885],[32.46869,2.99809],[32.50276,2.97016],[32.53073,2.93613],[32.5515,2.8973],[32.56429,2.85516],[32.5686,2.81135],[32.56427,2.76754],[32.55147,2.72541],[32.53069,2.68659],[32.50272,2.65256],[32.46865,2.62463],[32.42978,2.60388],[32.38761,2.59111],[32.34375,2.58679],[32.29989,2.59111],[32.25772,2.60388],[32.21885,2.62463],[32.18478,2.65256],[32.15681,2.68659],[32.13603,2.72541],[32.12323,2.76754],[32.1189,2.81135],[32.12321,2.85516],[32.136,2.8973],[32.15677,2.93613],[32.18474,2.97016],[32.21881,2.99809],[32.25769,3.01885],[32.29988,3.03163],[32.34375,3.03595]]]}},"Kumi-University":{type:"Feature",id:"Kumi-University",properties:{},geometry:{type:"Polygon",coordinates:[[[33.83789,1.71855],[33.88172,1.71423],[33.92387,1.70145],[33.96271,1.6807],[33.99676,1.65277],[34.0247,1.61873],[34.04545,1.5799],[34.05823,1.53777],[34.06255,1.49396],[34.05822,1.45015],[34.04544,1.40802],[34.02467,1.36919],[33.99673,1.33516],[33.96269,1.30724],[33.92385,1.28649],[33.88171,1.27371],[33.83789,1.26939],[33.79407,1.27371],[33.75193,1.28649],[33.71309,1.30724],[33.67905,1.33516],[33.65111,1.36919],[33.63034,1.40802],[33.61756,1.45015],[33.61324,1.49396],[33.61755,1.53777],[33.63033,1.5799],[33.65109,1.61873],[33.67902,1.65277],[33.71307,1.6807],[33.75191,1.70145],[33.79406,1.71423],[33.83789,1.71855]]]}},"Makerere-University":{type:"Feature",id:"Makerere-University",properties:{},geometry:{type:"Polygon",coordinates:[[[32.60742,0.57614],[32.65124,0.57182],[32.69337,0.55904],[32.7322,0.53829],[32.76623,0.51036],[32.79416,0.47633],[32.81491,0.4375],[32.82769,0.39537],[32.832,0.35156],[32.82769,0.30774],[32.81491,0.26562],[32.79415,0.22679],[32.76622,0.19276],[32.73219,0.16483],[32.69336,0.14408],[32.65124,0.1313],[32.60742,0.12698],[32.56361,0.1313],[32.52148,0.14408],[32.48265,0.16483],[32.44862,0.19276],[32.42069,0.22679],[32.39994,0.26562],[32.38716,0.30774],[32.38284,0.35156],[32.38715,0.39537],[32.39993,0.4375],[32.42069,0.47633],[32.44861,0.51036],[32.48265,0.53829],[32.52148,0.55904],[32.56361,0.57182],[32.60742,0.57614]]]}},"Mbarara-University-of-Science-and-Technology":{type:"Feature",id:"Mbarara-University-of-Science-and-Technology",properties:{},geometry:{type:"Polygon",coordinates:[[[30.65679,-0.39187],[30.7006,-0.39618],[30.74273,-0.40896],[30.78156,-0.42971],[30.81559,-0.45764],[30.84353,-0.49167],[30.86428,-0.5305],[30.87706,-0.57263],[30.88138,-0.61644],[30.87707,-0.66025],[30.86429,-0.70238],[30.84353,-0.74121],[30.8156,-0.77524],[30.78157,-0.80317],[30.74274,-0.82393],[30.70061,-0.83671],[30.65679,-0.84102],[30.61297,-0.83671],[30.57084,-0.82393],[30.53201,-0.80317],[30.49797,-0.77524],[30.47004,-0.74121],[30.44929,-0.70238],[30.43651,-0.66025],[30.4322,-0.61644],[30.43651,-0.57263],[30.4493,-0.5305],[30.47005,-0.49167],[30.49798,-0.45764],[30.53202,-0.42971],[30.57084,-0.40896],[30.61297,-0.39618],[30.65679,-0.39187]]]}},"St.-Augustine-International-University":{type:"Feature",id:"St.-Augustine-International-University",properties:{},geometry:{type:"Polygon",coordinates:[[[32.62161,0.49696],[32.66543,0.49264],[32.70756,0.47986],[32.74639,0.45911],[32.78042,0.43118],[32.80835,0.39714],[32.8291,0.35832],[32.84188,0.31619],[32.8462,0.27237],[32.84188,0.22856],[32.8291,0.18643],[32.80834,0.14761],[32.78042,0.11357],[32.74638,0.08565],[32.70756,0.06489],[32.66543,0.05211],[32.62161,0.0478],[32.5778,0.05211],[32.53567,0.06489],[32.49684,0.08565],[32.46281,0.11357],[32.43488,0.14761],[32.41413,0.18643],[32.40135,0.22856],[32.39703,0.27237],[32.40135,0.31619],[32.41413,0.35832],[32.43488,0.39714],[32.46281,0.43118],[32.49684,0.45911],[32.53567,0.47986],[32.5778,0.49264],[32.62161,0.49696]]]}},"Uganda-Christian-University-Mbale-Campus":{type:"Feature",id:"Uganda-Christian-University-Mbale-Campus",properties:{},geometry:{type:"Polygon",coordinates:[[[34.17487,1.30046],[34.21869,1.29614],[34.26083,1.28336],[34.29967,1.26261],[34.3337,1.23468],[34.36164,1.20064],[34.38239,1.16182],[34.39517,1.11969],[34.39949,1.07587],[34.39517,1.03206],[34.38238,0.98993],[34.36162,0.95111],[34.33369,0.91707],[34.29965,0.88915],[34.26082,0.8684],[34.21868,0.85562],[34.17487,0.8513],[34.13105,0.85562],[34.08891,0.8684],[34.05008,0.88915],[34.01605,0.91707],[33.98811,0.95111],[33.96735,0.98993],[33.95457,1.03206],[33.95025,1.07587],[33.95456,1.11969],[33.96734,1.16182],[33.9881,1.20064],[34.01603,1.23468],[34.05007,1.26261],[34.0889,1.28336],[34.13104,1.29614],[34.17487,1.30046]]]}},"Uganda-Pentecostal-University":{type:"Feature",id:"Uganda-Pentecostal-University",properties:{},geometry:{type:"Polygon",coordinates:[[[30.26621,0.88664],[30.31003,0.88233],[30.35216,0.86955],[30.39099,0.84879],[30.42503,0.82086],[30.45296,0.78683],[30.47371,0.748],[30.48649,0.70587],[30.4908,0.66206],[30.48649,0.61825],[30.4737,0.57612],[30.45295,0.53729],[30.42502,0.50326],[30.39098,0.47533],[30.35215,0.45458],[30.31002,0.4418],[30.26621,0.43749],[30.22239,0.4418],[30.18026,0.45458],[30.14144,0.47533],[30.1074,0.50326],[30.07947,0.53729],[30.05871,0.57612],[30.04593,0.61825],[30.04162,0.66206],[30.04593,0.70587],[30.05871,0.748],[30.07946,0.78683],[30.10739,0.82086],[30.14143,0.84879],[30.18026,0.86955],[30.22239,0.88233],[30.26621,0.88664]]]}},"St.-Mawaggali-Trades-Training-Institute":{type:"Feature",id:"St.-Mawaggali-Trades-Training-Institute",properties:{},geometry:{type:"Polygon",coordinates:[[[26.9671,-16.59033],[27.01282,-16.59464],[27.05679,-16.60741],[27.09732,-16.62814],[27.13286,-16.65604],[27.16204,-16.69005],[27.18376,-16.72886],[27.19715,-16.77097],[27.20171,-16.81478],[27.19726,-16.8586],[27.18395,-16.90074],[27.1623,-16.93959],[27.13314,-16.97365],[27.09757,-17.0016],[27.05698,-17.02238],[27.01293,-17.03517],[26.9671,-17.03949],[26.92128,-17.03517],[26.87722,-17.02238],[26.83663,-17.0016],[26.80107,-16.97365],[26.7719,-16.93959],[26.75025,-16.90074],[26.73695,-16.8586],[26.73249,-16.81478],[26.73705,-16.77097],[26.75045,-16.72886],[26.77216,-16.69005],[26.80135,-16.65604],[26.83689,-16.62814],[26.87742,-16.60741],[26.92138,-16.59464],[26.9671,-16.59033]]]}},"The-University-of-Zambia":{type:"Feature",id:"The-University-of-Zambia",properties:{},geometry:{type:"Polygon",coordinates:[[[28.33027,-15.16737],[28.37567,-15.17168],[28.41932,-15.18445],[28.45957,-15.20518],[28.49485,-15.23309],[28.52383,-15.2671],[28.54538,-15.3059],[28.55868,-15.34802],[28.5632,-15.39183],[28.55878,-15.43565],[28.54556,-15.47779],[28.52406,-15.51664],[28.49511,-15.55069],[28.4598,-15.57864],[28.4195,-15.59942],[28.37576,-15.61221],[28.33027,-15.61653],[28.28478,-15.61221],[28.24104,-15.59942],[28.20074,-15.57864],[28.16544,-15.55069],[28.13648,-15.51664],[28.11498,-15.47779],[28.10177,-15.43565],[28.09734,-15.39183],[28.10186,-15.34802],[28.11516,-15.3059],[28.13671,-15.2671],[28.16569,-15.23309],[28.20098,-15.20518],[28.24122,-15.18445],[28.28488,-15.17168],[28.33027,-15.16737]]]}},"University-of-Zimbabwe":{type:"Feature",id:"University-of-Zimbabwe",properties:{},geometry:{type:"Polygon",coordinates:[[[31.05466,-17.56016],[31.10061,-17.56447],[31.14481,-17.57724],[31.18555,-17.59797],[31.22128,-17.62587],[31.25062,-17.65988],[31.27245,-17.69868],[31.28592,-17.74079],[31.29051,-17.7846],[31.28603,-17.82842],[31.27266,-17.87056],[31.2509,-17.90941],[31.22158,-17.94347],[31.18583,-17.97143],[31.14502,-17.99221],[31.10073,-18.005],[31.05466,-18.00932],[31.00859,-18.005],[30.9643,-17.99221],[30.92349,-17.97143],[30.88774,-17.94347],[30.85842,-17.90941],[30.83666,-17.87056],[30.82328,-17.82842],[30.81881,-17.7846],[30.8234,-17.74079],[30.83687,-17.69868],[30.85869,-17.65988],[30.88803,-17.62587],[30.92376,-17.59797],[30.96451,-17.57724],[31.0087,-17.56447],[31.05466,-17.56016]]]}},afghanistan:{type:"Feature",id:"afghanistan",geometry:{type:"Polygon",coordinates:[[[66.51861,37.36278],[67.07578,37.35614],[67.83,37.14499],[68.13556,37.02312],[68.85945,37.34434],[69.19627,37.15114],[69.51879,37.609],[70.11658,37.58822],[70.27057,37.73516],[70.3763,38.1384],[70.80682,38.48628],[71.34813,38.25891],[71.2394,37.95327],[71.54192,37.90577],[71.44869,37.06564],[71.84464,36.73817],[72.19304,36.94829],[72.63689,37.04756],[73.26006,37.49526],[73.9487,37.42157],[74.98,37.41999],[75.15803,37.13303],[74.57589,37.02084],[74.06755,36.83618],[72.92002,36.72001],[71.84629,36.50994],[71.26235,36.07439],[71.49877,35.65056],[71.61308,35.1532],[71.11502,34.73313],[71.15677,34.34891],[70.8818,33.98886],[69.93054,34.02012],[70.32359,33.35853],[69.68715,33.1055],[69.26252,32.50194],[69.31776,31.90141],[68.92668,31.62019],[68.55693,31.71331],[67.79269,31.58293],[67.68339,31.30315],[66.93889,31.30491],[66.38146,30.7389],[66.34647,29.88794],[65.04686,29.47218],[64.35042,29.56003],[64.148,29.34082],[63.55026,29.46833],[62.54986,29.31857],[60.87425,29.82924],[61.78122,30.73585],[61.69931,31.37951],[60.94194,31.54807],[60.86365,32.18292],[60.53608,32.98127],[60.9637,33.52883],[60.52843,33.67645],[60.80319,34.4041],[61.21082,35.65007],[62.23065,35.27066],[62.98466,35.40404],[63.19354,35.85717],[63.9829,36.00796],[64.54648,36.31207],[64.74611,37.11182],[65.58895,37.30522],[65.74563,37.66116],[66.21738,37.39379],[66.51861,37.36278]]]},properties:{name:"Afghanistan"}},asia_full:{type:"Feature",id:"asia_full",properties:{},geometry:{type:"Polygon",coordinates:[[[51,13.5],[43.5,12.3],[34.25,27.3],[34.9,29.45],[34,31.9],[27,34.7],[25.1,39],[25.6,40.2],[26.33,40.98],[26.33,41.23],[26.63,41.36],[26.58,41.6],[26.32,41.76],[27.2,42.1],[27.55,41.93],[35,43],[38.3,47.6],[38.7,47.7],[38.86,47.86],[39.74,47.82],[40.1,49.6],[38,50],[37.4,50.4],[36.65,50.25],[35.66,50.35],[35.2,51.1],[34.28,51.27],[34.1,51.7],[34.4,51.73],[33.9,52.35],[31.8,52.05],[31.3,53.1],[32.8,53.3],[30.77,54.78],[30.95,55.61],[28.19,56.13],[27.83,57.29],[27.33,57.53],[27.7,57.9],[27.3,58.7],[28.2,59.37],[27.2,60.2],[31.5,62.6],[29,67],[30,67.66],[28.27,68.6],[31,70],[31,90],[180,90],[180,60],[130,7],[130,-0.5],[131.8,-3.5],[132.3,-8],[128,-11.3],[65,-11.3],[51,13.5]]]}},"Asian-University-for-Women":{type:"Feature",id:"Asian-University-for-Women",properties:{},geometry:{type:"Polygon",coordinates:[[[91.8457,22.57465],[91.89315,22.57033],[91.93877,22.55753],[91.98079,22.53675],[92.0176,22.50879],[92.04778,22.47472],[92.07018,22.43586],[92.08393,22.39371],[92.08852,22.34989],[92.08378,22.30609],[92.0699,22.26398],[92.04742,22.22518],[92.01721,22.19118],[91.98043,22.16329],[91.93849,22.14257],[91.893,22.12981],[91.8457,22.1255],[91.79841,22.12981],[91.75292,22.14257],[91.71098,22.16329],[91.6742,22.19118],[91.64399,22.22518],[91.6215,22.26398],[91.60762,22.30609],[91.60288,22.34989],[91.60747,22.39371],[91.62123,22.43586],[91.64362,22.47472],[91.67381,22.50879],[91.71062,22.53675],[91.75264,22.55753],[91.79826,22.57033],[91.8457,22.57465]]]}},BGD:{type:"Feature",id:"BGD",properties:{name:"Bangladesh"},geometry:{type:"Polygon",coordinates:[[[92.67272,22.04124],[92.65226,21.32405],[92.30323,21.47548],[92.36855,20.67088],[92.08289,21.1922],[92.02522,21.70157],[91.83489,22.18294],[91.41709,22.76502],[90.49601,22.80502],[90.58696,22.39279],[90.27297,21.83637],[89.84747,22.03915],[89.70205,21.85712],[89.41886,21.96618],[89.03196,22.05571],[88.87631,22.87915],[88.52977,23.63114],[88.69994,24.23372],[88.08442,24.50166],[88.30637,24.86608],[88.93155,25.23869],[88.20979,25.76807],[88.56305,26.44653],[89.35509,26.01441],[89.83248,25.96508],[89.92069,25.26975],[90.87221,25.1326],[91.7996,25.14743],[92.3762,24.97669],[91.91509,24.13041],[91.46773,24.07264],[91.15896,23.50353],[91.70647,22.98526],[91.86993,23.62435],[92.14603,23.6275],[92.67272,22.04124]]]}},"Dhaka-College":{type:"Feature",id:"Dhaka-College",properties:{},geometry:{type:"Polygon",coordinates:[[[90.35156,23.94959],[90.3995,23.94527],[90.44559,23.93247],[90.48805,23.91168],[90.52524,23.88372],[90.55573,23.84965],[90.57835,23.81079],[90.59224,23.76864],[90.59687,23.72482],[90.59208,23.68101],[90.57805,23.6389],[90.55534,23.60011],[90.52481,23.56611],[90.48766,23.53822],[90.44529,23.5175],[90.39934,23.50474],[90.35156,23.50043],[90.30379,23.50474],[90.25783,23.5175],[90.21547,23.53822],[90.17831,23.56611],[90.14779,23.60011],[90.12507,23.6389],[90.11105,23.68101],[90.10625,23.72482],[90.11088,23.76864],[90.12478,23.81079],[90.1474,23.84965],[90.17789,23.88372],[90.21508,23.91168],[90.25754,23.93247],[90.30362,23.94527],[90.35156,23.94959]]]}},"Dhaka-University":{type:"Feature",id:"Dhaka-University",properties:{},geometry:{type:"Polygon",coordinates:[[[90.35156,23.94959],[90.3995,23.94527],[90.44559,23.93247],[90.48805,23.91168],[90.52524,23.88372],[90.55573,23.84965],[90.57835,23.81079],[90.59224,23.76864],[90.59687,23.72482],[90.59208,23.68101],[90.57805,23.6389],[90.55534,23.60011],[90.52481,23.56611],[90.48766,23.53822],[90.44529,23.5175],[90.39934,23.50474],[90.35156,23.50043],[90.30379,23.50474],[90.25783,23.5175],[90.21547,23.53822],[90.17831,23.56611],[90.14779,23.60011],[90.12507,23.6389],[90.11105,23.68101],[90.10625,23.72482],[90.11088,23.76864],[90.12478,23.81079],[90.1474,23.84965],[90.17789,23.88372],[90.21508,23.91168],[90.25754,23.93247],[90.30362,23.94527],[90.35156,23.94959]]]}},"Eastern-University":{type:"Feature",id:"Eastern-University",properties:{},geometry:{type:"Polygon",coordinates:[[[90.38063,23.96703],[90.42857,23.96271],[90.47466,23.94991],[90.51713,23.92913],[90.55432,23.90116],[90.58482,23.86709],[90.60744,23.82823],[90.62134,23.78608],[90.62597,23.74226],[90.62117,23.69846],[90.60714,23.65635],[90.58443,23.61755],[90.5539,23.58356],[90.51674,23.55567],[90.47437,23.53494],[90.42841,23.52218],[90.38063,23.51788],[90.33284,23.52218],[90.28688,23.53494],[90.24451,23.55567],[90.20735,23.58356],[90.17682,23.61755],[90.15411,23.65635],[90.14008,23.69846],[90.13528,23.74226],[90.13991,23.78608],[90.15381,23.82823],[90.17643,23.86709],[90.20693,23.90116],[90.24412,23.92913],[90.28659,23.94991],[90.33268,23.96271],[90.38063,23.96703]]]}},"Jahangirnagar-University":{type:"Feature",id:"Jahangirnagar-University",properties:{},geometry:{type:"Polygon",coordinates:[[[90.26753,24.10689],[90.31553,24.10257],[90.36167,24.08977],[90.40418,24.06899],[90.44141,24.04102],[90.47194,24.00695],[90.49459,23.96809],[90.5085,23.92594],[90.51314,23.88212],[90.50834,23.83831],[90.49429,23.79621],[90.47155,23.75741],[90.44099,23.72342],[90.40378,23.69552],[90.36137,23.6748],[90.31536,23.66204],[90.26753,23.65774],[90.21969,23.66204],[90.17369,23.6748],[90.13127,23.69552],[90.09407,23.72342],[90.06351,23.75741],[90.04077,23.79621],[90.02672,23.83831],[90.02192,23.88212],[90.02656,23.92594],[90.04046,23.96809],[90.06312,24.00695],[90.09364,24.04102],[90.13088,24.06899],[90.17339,24.08977],[90.21953,24.10257],[90.26753,24.10689]]]}},"Khulna-University":{type:"Feature",id:"Khulna-University",properties:{},geometry:{type:"Polygon",coordinates:[[[89.56055,23.06152],[89.60816,23.0572],[89.65394,23.0444],[89.69611,23.02362],[89.73306,22.99565],[89.76335,22.96159],[89.78582,22.92273],[89.79962,22.88058],[89.80423,22.83676],[89.79947,22.79295],[89.78554,22.75085],[89.76297,22.71205],[89.73265,22.67805],[89.69574,22.65016],[89.65366,22.62944],[89.60801,22.61668],[89.56055,22.61237],[89.51308,22.61668],[89.46744,22.62944],[89.42535,22.65016],[89.38844,22.67805],[89.35812,22.71205],[89.33556,22.75085],[89.32163,22.79295],[89.31687,22.83676],[89.32147,22.88058],[89.33527,22.92273],[89.35775,22.96159],[89.38804,22.99565],[89.42498,23.02362],[89.46715,23.0444],[89.51293,23.0572],[89.56055,23.06152]]]}},"Rajshahi-University-of-Engineering-Technology":{type:"Feature",id:"Rajshahi-University-of-Engineering-Technology",properties:{},geometry:{type:"Polygon",coordinates:[[[88.62839,24.58841],[88.67657,24.58409],[88.72289,24.57129],[88.76556,24.5505],[88.80293,24.52253],[88.83358,24.48846],[88.85631,24.4496],[88.87027,24.40745],[88.87492,24.36363],[88.8701,24.31983],[88.856,24.27772],[88.83317,24.23893],[88.8025,24.20493],[88.76515,24.17704],[88.72258,24.15632],[88.6764,24.14356],[88.62839,24.13925],[88.58037,24.14356],[88.5342,24.15632],[88.49162,24.17704],[88.45428,24.20493],[88.4236,24.23893],[88.40077,24.27772],[88.38667,24.31983],[88.38185,24.36363],[88.38651,24.40745],[88.40047,24.4496],[88.4232,24.48846],[88.45384,24.52253],[88.49122,24.5505],[88.53389,24.57129],[88.58021,24.58409],[88.62839,24.58841]]]}},"Sherubtse-College":{type:"Feature",id:"Sherubtse-College",properties:{},geometry:{type:"Polygon",coordinates:[[[91.52369,27.51129],[91.57309,27.50697],[91.62058,27.49416],[91.66432,27.47337],[91.70263,27.4454],[91.73404,27.41133],[91.75734,27.37246],[91.77163,27.33031],[91.77639,27.28649],[91.77144,27.24268],[91.75698,27.20058],[91.73357,27.16179],[91.70212,27.1278],[91.66385,27.09991],[91.62022,27.0792],[91.5729,27.06644],[91.52369,27.06214],[91.47449,27.06644],[91.42717,27.0792],[91.38354,27.09991],[91.34526,27.1278],[91.31382,27.16179],[91.29041,27.20058],[91.27595,27.24268],[91.271,27.28649],[91.27575,27.33031],[91.29005,27.37246],[91.31335,27.41133],[91.34475,27.4454],[91.38307,27.47337],[91.42681,27.49416],[91.4743,27.50697],[91.52369,27.51129]]]}},"Gujarat-University":{type:"Feature",id:"Gujarat-University",properties:{},geometry:{type:"Polygon",coordinates:[[[72.50977,23.22343],[72.55744,23.21911],[72.60327,23.20631],[72.6455,23.18552],[72.68248,23.15756],[72.71281,23.12349],[72.73531,23.08463],[72.74913,23.04248],[72.75374,22.99866],[72.74897,22.95486],[72.73502,22.91275],[72.71243,22.87395],[72.68208,22.83996],[72.64512,22.81206],[72.60299,22.79134],[72.55728,22.77858],[72.50977,22.77427],[72.46225,22.77858],[72.41654,22.79134],[72.37441,22.81206],[72.33745,22.83996],[72.3071,22.87395],[72.28451,22.91275],[72.27056,22.95486],[72.26579,22.99866],[72.2704,23.04248],[72.28422,23.08463],[72.30672,23.12349],[72.33705,23.15756],[72.37403,23.18552],[72.41626,23.20631],[72.46209,23.21911],[72.50977,23.22343]]]}},india_andhrapradesh:{type:"Feature",id:"india_andhrapradesh",properties:{},geometry:{type:"Polygon",coordinates:[[[76.76365,14.98503],[76.78952,15.01589],[76.77614,15.05336],[76.80034,15.09466],[76.86072,15.05669],[76.87678,15.02859],[76.94279,15.02725],[76.98159,15.0103],[77.00077,15.02948],[77.04671,15.02904],[77.07882,15.00004],[77.1096,15.02859],[77.12744,15.09371],[77.14751,15.10753],[77.16873,15.17462],[77.14554,15.22413],[77.15223,15.29148],[77.12118,15.29418],[77.11387,15.3334],[77.07705,15.32577],[77.0421,15.36103],[77.027,15.44075],[76.97414,15.50807],[77.02697,15.5037],[77.03509,15.63815],[77.08728,15.65733],[77.08192,15.69524],[77.05293,15.72914],[77.05561,15.82458],[77.03333,15.85326],[77.07659,15.90991],[77.14448,15.94265],[77.2479,15.96378],[77.3564,15.95008],[77.42745,15.94836],[77.46652,15.93453],[77.61152,15.91691],[77.6536,15.88393],[77.72205,15.89199],[77.80554,15.87083],[77.8616,15.88138],[77.89376,15.90154],[78.00803,15.86506],[78.03641,15.90188],[78.06997,15.85048],[78.10755,15.83401],[78.17153,15.85511],[78.17371,15.89569],[78.20995,15.9197],[78.2507,15.96993],[78.2682,16.02857],[78.29785,16.01169],[78.40727,16.0756],[78.45394,16.07503],[78.55814,16.04517],[78.59917,16.08361],[78.64311,16.08312],[78.68277,16.03346],[78.73718,16.0097],[78.78267,16.02125],[78.8419,16.08707],[78.83228,16.13919],[78.87606,16.13902],[78.88876,16.0879],[78.92138,16.10307],[78.9049,16.17711],[78.92807,16.19871],[78.98352,16.21074],[79.01236,16.24173],[79.09802,16.2236],[79.12305,16.23187],[79.1593,16.20893],[79.22111,16.23251],[79.23438,16.32518],[79.21143,16.35493],[79.21112,16.44396],[79.22091,16.51631],[79.25265,16.57381],[79.37802,16.58412],[79.41773,16.57986],[79.44409,16.61796],[79.49421,16.63408],[79.53884,16.63046],[79.60613,16.67239],[79.63566,16.6594],[79.68544,16.69755],[79.72286,16.68966],[79.74673,16.72106],[79.79256,16.72485],[79.81796,16.69098],[79.84286,16.70561],[79.88555,16.68642],[79.90723,16.63408],[79.95306,16.63621],[80.00576,16.70857],[80.05536,16.74833],[80.07093,16.81323],[80.0332,16.85233],[79.99173,16.86303],[80.04569,16.96517],[80.08405,16.96339],[80.134,16.98524],[80.18217,17.04501],[80.19555,17.01825],[80.26201,17.01066],[80.28877,16.97677],[80.31553,16.91254],[80.3191,16.87106],[80.35879,16.85501],[80.37306,16.8113],[80.41856,16.84252],[80.45647,16.78989],[80.56262,16.76268],[80.6041,16.78766],[80.55593,16.81843],[80.56485,16.86883],[80.59027,16.91165],[80.53184,16.95001],[80.44264,16.9451],[80.35835,16.97052],[80.38778,17.0071],[80.36682,17.0566],[80.39001,17.07623],[80.42034,17.02494],[80.48234,17.05036],[80.49616,17.10789],[80.56039,17.13822],[80.68393,17.06865],[80.82309,17.03787],[80.85877,17.05081],[80.87714,17.10478],[80.88011,17.1644],[80.91689,17.15439],[80.91892,17.22003],[80.99838,17.19012],[81.03576,17.19196],[81.05653,17.22041],[81.16295,17.23278],[81.18035,17.25463],[81.17053,17.29656],[81.19016,17.32733],[81.26732,17.3202],[81.31385,17.37576],[81.24132,17.40667],[81.22725,17.43762],[81.17746,17.45203],[81.15755,17.47938],[81.11343,17.49477],[81.08374,17.45957],[81.01198,17.49248],[80.99962,17.53013],[80.95671,17.58749],[80.85431,17.59347],[80.86444,17.62914],[80.90266,17.63912],[80.90684,17.67993],[80.89153,17.74125],[80.94636,17.76025],[81.03556,17.74495],[81.07481,17.76038],[81.08891,17.81081],[81.15938,17.85273],[81.19194,17.84694],[81.25394,17.81215],[81.40915,17.80501],[81.47025,17.8233],[81.48096,17.80278],[81.5541,17.81616],[81.61119,17.81527],[81.66293,17.87682],[81.70307,17.86121],[81.78246,17.90982],[81.80119,17.93614],[81.89932,17.9687],[82.0019,18.02356],[82.03316,18.06597],[82.08072,18.07378],[82.14091,18.0439],[82.17228,18.04993],[82.25028,17.9883],[82.27583,17.995],[82.2667,18.04332],[82.29628,18.06899],[82.34354,18.07485],[82.33329,18.1422],[82.30608,18.19572],[82.33284,18.21579],[82.33685,18.26619],[82.37209,18.27421],[82.39305,18.30633],[82.33462,18.31703],[82.38458,18.36922],[82.36138,18.4098],[82.43513,18.48477],[82.48969,18.52285],[82.53139,18.51177],[82.54422,18.41638],[82.60918,18.37427],[82.59758,18.26516],[82.64005,18.23708],[82.67329,18.29908],[82.70644,18.30476],[82.77538,18.33958],[82.79251,18.36262],[82.78448,18.42803],[82.80742,18.44772],[82.89919,18.40074],[82.91103,18.36453],[82.98471,18.36362],[83.0002,18.38368],[83.04775,18.37883],[83.07472,18.401],[83.04552,18.44345],[83.05997,18.48603],[83.09665,18.54123],[83.05931,18.54334],[83.0336,18.57266],[83.05776,18.62215],[83.09414,18.63021],[83.15495,18.70089],[83.23099,18.75616],[83.27407,18.76523],[83.28745,18.79777],[83.36791,18.81557],[83.40661,18.84174],[83.39569,18.87914],[83.35554,18.92896],[83.36892,18.96132],[83.32119,18.97447],[83.3428,19.01449],[83.41665,19.00408],[83.45049,18.95576],[83.48237,19.00825],[83.46716,19.07746],[83.51314,19.07262],[83.52143,19.03271],[83.61209,19.10076],[83.62679,19.14969],[83.69206,19.05202],[83.71342,18.99346],[83.73398,18.98382],[83.79596,19.01607],[83.84255,18.9178],[83.85136,18.86003],[83.87788,18.82716],[84.05557,18.79246],[84.0894,18.75373],[84.16689,18.78415],[84.22422,18.79642],[84.2535,18.78262],[84.2914,18.8],[84.33966,18.80123],[84.39349,18.89211],[84.43671,18.92277],[84.42292,18.94711],[84.47894,18.99017],[84.51711,19.04634],[84.62687,19.08543],[84.61653,19.12624],[84.66828,19.13065],[84.6721,19.16552],[84.71352,19.1524],[84.70468,19.11772],[84.76857,19.08003],[85.15481,18.87834],[85.14492,18.85295],[85.05442,18.77126],[85.01176,18.69225],[84.94947,18.67649],[84.44354,18.21885],[83.98107,17.79763],[83.77893,17.63361],[83.20925,17.15734],[82.8246,16.92714],[82.20846,16.16914],[81.78413,16.05362],[81.60171,16.04774],[80.84225,15.52037],[80.65306,15.4875],[80.54735,15.42991],[80.4922,15.34128],[80.47381,15.25261],[80.48624,15.06582],[80.49835,15.0251],[80.66968,13.56514],[80.26863,13.56255],[80.24181,13.46797],[80.22545,13.48346],[80.14774,13.49443],[80.08045,13.49111],[80.08,13.52565],[80.00213,13.53964],[80.01841,13.50074],[79.97441,13.46419],[79.96622,13.38714],[79.93821,13.34898],[79.86379,13.31632],[79.8129,13.31712],[79.79245,13.29487],[79.73437,13.27843],[79.79598,13.24103],[79.75102,13.21106],[79.68369,13.24845],[79.68102,13.29448],[79.57781,13.26176],[79.54809,13.32329],[79.42941,13.33391],[79.41957,13.24971],[79.43293,13.1966],[79.39666,13.19679],[79.36005,13.17504],[79.36244,13.13752],[79.31106,13.1268],[79.28351,13.14994],[79.23853,13.1464],[79.20549,13.10147],[79.16498,13.01908],[79.06532,13.04951],[78.99361,13.08754],[78.95768,13.07478],[78.81243,13.08649],[78.75104,13.05634],[78.71387,13.06691],[78.70525,13.01518],[78.6625,13.02861],[78.63167,12.98455],[78.63629,12.92494],[78.60313,12.84933],[78.59178,12.77804],[78.55737,12.73938],[78.55312,12.69582],[78.50595,12.74103],[78.50517,12.68031],[78.46933,12.67292],[78.47136,12.62811],[78.3799,12.62235],[78.30177,12.66322],[78.27563,12.70205],[78.23857,12.6994],[78.23025,12.75702],[78.2528,12.82236],[78.25198,12.85741],[78.31411,12.85733],[78.32741,12.90272],[78.35638,12.93819],[78.38944,12.90542],[78.41213,12.94302],[78.46924,12.97546],[78.46092,13.03126],[78.5219,13.06638],[78.54509,13.11098],[78.57956,13.21461],[78.57797,13.28201],[78.51185,13.28722],[78.44649,13.30825],[78.43949,13.327],[78.36546,13.36503],[78.38151,13.40071],[78.37259,13.46181],[78.38241,13.52477],[78.40574,13.57659],[78.39268,13.5915],[78.32632,13.59445],[78.25894,13.58461],[78.20436,13.60369],[78.16645,13.65721],[78.11784,13.65587],[78.12295,13.71405],[78.09423,13.74251],[78.12795,13.78565],[78.11441,13.8625],[78.04999,13.89494],[78.04642,13.86104],[78.00476,13.87355],[77.95566,13.82664],[77.95098,13.88825],[77.98752,13.89784],[77.97015,13.95827],[77.92868,13.90698],[77.89567,13.93954],[77.83858,13.93508],[77.81494,13.91679],[77.83635,13.86863],[77.79261,13.8211],[77.6267,13.76984],[77.53033,13.69514],[77.45805,13.68671],[77.47014,13.7502],[77.45855,13.79212],[77.41662,13.80595],[77.43223,13.84163],[77.32787,13.83226],[77.31449,13.86393],[77.25829,13.84609],[77.21904,13.86794],[77.18236,13.8682],[77.15308,13.84278],[77.18088,13.78098],[77.17444,13.76135],[77.10308,13.76759],[77.06516,13.74405],[77.0277,13.77651],[77.00003,13.74482],[76.97723,13.81547],[77.01323,13.85558],[77.04239,13.9332],[76.99574,13.96114],[77.00108,13.98729],[76.93324,14.03009],[76.97878,14.07002],[76.89779,14.16518],[76.96469,14.18169],[77.02696,14.17477],[77.02154,14.13052],[77.03389,14.05587],[77.13014,14.04533],[77.1441,14.00245],[77.28518,14.01342],[77.31997,14.03126],[77.3503,13.95767],[77.35476,13.90325],[77.39713,13.90415],[77.42702,13.98353],[77.39,14.01386],[77.33291,14.02947],[77.40204,14.1102],[77.38331,14.13607],[77.39624,14.17175],[77.51711,14.17844],[77.49659,14.23419],[77.50284,14.27834],[77.45021,14.28414],[77.44887,14.31625],[77.37617,14.33081],[77.38984,14.26937],[77.28608,14.2828],[77.28786,14.33766],[77.23835,14.31759],[77.1661,14.34301],[77.13845,14.33721],[77.11838,14.29395],[77.11539,14.22104],[77.0818,14.2159],[77.05638,14.24623],[76.9426,14.2444],[76.92967,14.27651],[76.94748,14.31179],[76.9038,14.32379],[76.88373,14.35055],[76.88774,14.3947],[76.97828,14.48256],[76.91138,14.48836],[76.87481,14.47275],[76.83244,14.52761],[76.80434,14.53207],[76.76554,14.60075],[76.77639,14.68002],[76.80359,14.7398],[76.78371,14.78455],[76.83756,14.78968],[76.86771,14.96792],[76.76736,14.97267],[76.76365,14.98503]]]}},india_full:{type:"Feature",id:"india_full",properties:{name:"India"},geometry:{type:"MultiPolygon",coordinates:[[[[77.83745,35.49401],[78.91227,34.32194],[78.81109,33.5062],[79.20889,32.99439],[79.17613,32.48378],[78.45845,32.61816],[78.73889,31.51591],[79.72137,30.88272],[81.11126,30.18348],[80.47672,29.72987],[80.08843,28.79447],[81.0572,28.41609],[81.99999,27.92548],[83.30425,27.36451],[84.67502,27.2349],[85.25178,26.7262],[86.02439,26.63098],[87.22747,26.3979],[88.06024,26.41462],[88.1748,26.8104],[88.04313,27.44582],[88.12044,27.87654],[88.73033,28.08686],[88.81425,27.29932],[88.83564,27.09897],[89.74453,26.7194],[90.37328,26.87572],[91.21751,26.80865],[92.03348,26.83831],[92.10371,27.45261],[91.69666,27.77174],[92.50312,27.89688],[93.41335,28.64063],[94.56599,29.27744],[95.4048,29.03172],[96.11768,29.4528],[96.58659,28.83098],[96.24883,28.41103],[97.32711,28.26158],[97.40256,27.88254],[97.05199,27.69906],[97.134,27.08377],[96.41937,27.26459],[95.12477,26.57357],[95.15515,26.00131],[94.60325,25.16249],[94.55266,24.67524],[94.10674,23.85074],[93.32519,24.07856],[93.28633,23.04366],[93.06029,22.70311],[93.16613,22.27846],[92.67272,22.04124],[92.14603,23.6275],[91.86993,23.62435],[91.70647,22.98526],[91.15896,23.50353],[91.46773,24.07264],[91.91509,24.13041],[92.3762,24.97669],[91.7996,25.14743],[90.87221,25.1326],[89.92069,25.26975],[89.83248,25.96508],[89.35509,26.01441],[88.56305,26.44653],[88.20979,25.76807],[88.93155,25.23869],[88.30637,24.86608],[88.08442,24.50166],[88.69994,24.23372],[88.52977,23.63114],[88.87631,22.87915],[89.03196,22.05571],[88.88877,21.69059],[88.2085,21.70317],[86.9757,21.49556],[87.03317,20.74331],[86.49935,20.15164],[85.06027,19.47858],[83.94101,18.30201],[83.18922,17.67122],[82.19279,17.01664],[82.19124,16.55666],[81.69272,16.31022],[80.792,15.95197],[80.3249,15.89918],[80.02507,15.13641],[80.23327,13.83577],[80.28629,13.00626],[79.86255,12.05621],[79.858,10.35727],[79.34051,10.30885],[78.88535,9.54614],[79.18972,9.21654],[78.27794,8.93305],[77.94116,8.25296],[77.5399,7.96554],[76.59298,8.89928],[76.13006,10.29963],[75.74647,11.30825],[75.3961,11.78125],[74.86482,12.74194],[74.61672,13.99258],[74.44386,14.61722],[73.5342,15.99065],[73.11991,17.92857],[72.82091,19.20823],[72.82448,20.4195],[72.63053,21.35601],[71.17527,20.75744],[70.47046,20.87733],[69.16413,22.0893],[69.64493,22.45078],[69.3496,22.84318],[68.17664,23.69196],[68.8426,24.35913],[71.04324,24.35652],[70.8447,25.2151],[70.28287,25.72223],[70.16893,26.49187],[69.51439,26.94097],[70.6165,27.9892],[71.77767,27.91318],[72.82375,28.96159],[73.45064,29.97641],[74.42138,30.97981],[74.40593,31.69264],[75.25864,32.2711],[74.45156,32.7649],[74.10429,33.44147],[73.74995,34.3177],[74.2402,34.74889],[75.75706,34.50492],[76.87172,34.65354],[77.83745,35.49401]]]]}},india_karnataka:{type:"Feature",id:"india_karnataka",properties:{},geometry:{type:"Polygon",coordinates:[[[73.87267,14.75312],[74.17989,14.95708],[74.2532,14.95804],[74.29821,15.04123],[74.31574,15.18805],[74.27607,15.27727],[74.32187,15.34414],[74.28027,15.38891],[74.27464,15.54999],[74.24074,15.66684],[74.11652,15.65308],[74.16212,15.75075],[74.28923,15.73953],[74.36893,15.78648],[74.34579,15.84959],[74.43203,15.95338],[74.46484,16.0421],[74.37226,16.07692],[74.48045,16.14527],[74.50509,16.22265],[74.31843,16.32588],[74.33806,16.40125],[74.26427,16.53936],[74.33986,16.54825],[74.54427,16.63407],[74.6313,16.57831],[74.68877,16.71489],[74.91203,16.7883],[74.99259,16.95146],[75.09075,16.95064],[75.18186,16.84374],[75.26705,16.86247],[75.28311,16.95524],[75.46783,16.98524],[75.51065,16.94733],[75.66898,16.97766],[75.67389,17.11369],[75.62834,17.18928],[75.65739,17.27069],[75.58469,17.34963],[75.63468,17.47651],[75.77995,17.37683],[75.89432,17.40292],[75.93159,17.32197],[76.11996,17.37007],[76.22917,17.36301],[76.38171,17.31172],[76.37153,17.4341],[76.33086,17.46872],[76.41561,17.60431],[76.48659,17.66155],[76.48652,17.71358],[76.56488,17.76523],[76.66314,17.68771],[76.8094,17.8693],[76.92164,17.94103],[76.9513,18.05843],[76.92422,18.14531],[77.14325,18.20848],[77.20119,18.27828],[77.24726,18.41311],[77.31257,18.43674],[77.41407,18.39352],[77.3672,18.30846],[77.46332,18.26219],[77.57345,18.24294],[77.59821,18.0861],[77.64737,17.99934],[77.6208,17.9031],[77.5709,17.86625],[77.53999,17.72825],[77.45138,17.69052],[77.44541,17.58272],[77.6912,17.50865],[77.53911,17.44295],[77.52471,17.36431],[77.45747,17.34038],[77.3772,17.14285],[77.46328,17.11129],[77.50069,17.01255],[77.45223,16.91995],[77.47617,16.7804],[77.46008,16.61106],[77.37653,16.48644],[77.25617,16.47308],[77.28927,16.408],[77.41673,16.36775],[77.52418,16.3753],[77.59655,16.31743],[77.49303,16.25534],[77.51178,15.92828],[77.2479,15.96378],[77.07659,15.90991],[77.03509,15.63815],[77.027,15.44075],[77.0421,15.36103],[77.15223,15.29148],[77.16873,15.17462],[77.1096,15.02859],[76.98159,15.0103],[76.87678,15.02859],[76.80034,15.09466],[76.76736,14.97267],[76.86771,14.96792],[76.83756,14.78968],[76.77639,14.68002],[76.76554,14.60075],[76.87481,14.47275],[76.88373,14.35055],[76.94748,14.31179],[76.9426,14.2444],[77.05638,14.24623],[77.1661,14.34301],[77.28608,14.2828],[77.38984,14.26937],[77.44887,14.31625],[77.50284,14.27834],[77.51711,14.17844],[77.39624,14.17175],[77.40204,14.1102],[77.33291,14.02947],[77.42702,13.98353],[77.35476,13.90325],[77.31997,14.03126],[77.1441,14.00245],[77.03389,14.05587],[77.02696,14.17477],[76.89779,14.16518],[76.97878,14.07002],[76.93324,14.03009],[77.04239,13.9332],[76.97723,13.81547],[77.06516,13.74405],[77.17444,13.76135],[77.18236,13.8682],[77.32787,13.83226],[77.43223,13.84163],[77.47014,13.7502],[77.53033,13.69514],[77.6267,13.76984],[77.79261,13.8211],[77.89567,13.93954],[77.95098,13.88825],[78.04999,13.89494],[78.11441,13.8625],[78.11784,13.65587],[78.20436,13.60369],[78.40574,13.57659],[78.37068,13.46984],[78.40217,13.31113],[78.58854,13.26912],[78.5219,13.06638],[78.46924,12.97546],[78.35684,12.94022],[78.31447,12.8595],[78.25248,12.85994],[78.23196,12.76495],[78.08636,12.80344],[77.99036,12.80553],[77.93327,12.8876],[77.81099,12.8303],[77.74108,12.67162],[77.60006,12.6661],[77.58743,12.51473],[77.63575,12.48605],[77.61553,12.36799],[77.52722,12.27746],[77.51993,12.19264],[77.60853,12.20409],[77.73432,12.17555],[77.77447,12.12033],[77.67932,11.97287],[77.60217,11.93627],[77.49513,11.94251],[77.42332,11.77259],[77.29576,11.80871],[77.11315,11.77337],[77.01458,11.81306],[76.90977,11.79343],[76.8262,11.60485],[76.56305,11.62046],[76.51399,11.70565],[76.41621,11.67255],[76.20482,11.86247],[76.1155,11.8579],[76.11204,11.97862],[76.00455,11.93123],[75.86924,11.95161],[75.79654,12.0533],[75.63883,12.14712],[75.5804,12.1556],[75.4863,12.29074],[75.43456,12.29653],[75.37427,12.46113],[75.22345,12.56714],[75.1619,12.66883],[75.06067,12.66842],[75.00958,12.79255],[74.8591,12.76032],[74.64061,12.65899],[74.51827,12.99543],[74.32397,13.82179],[73.87267,14.75312]]]}},india_kerala:{type:"Feature",id:"india_kerala",properties:{},geometry:{type:"Polygon",coordinates:[[[74.64061,12.65899],[74.8591,12.76032],[74.88399,12.75347],[74.95843,12.78474],[75.00958,12.79255],[74.99766,12.73819],[75.05297,12.71899],[75.06067,12.66842],[75.11342,12.67842],[75.1619,12.66883],[75.14362,12.63805],[75.18287,12.63181],[75.22345,12.56714],[75.23683,12.56625],[75.28071,12.61847],[75.29121,12.59649],[75.27114,12.55367],[75.28095,12.51799],[75.33492,12.49034],[75.3573,12.46234],[75.39003,12.49736],[75.41661,12.49293],[75.4241,12.46603],[75.39599,12.45143],[75.37427,12.46113],[75.36747,12.41202],[75.38331,12.39011],[75.42333,12.37233],[75.41374,12.34763],[75.43456,12.29653],[75.4863,12.29074],[75.51484,12.25818],[75.53759,12.20064],[75.5804,12.1556],[75.63883,12.14712],[75.66604,12.09583],[75.68727,12.10816],[75.73047,12.07283],[75.75506,12.08318],[75.79833,12.08006],[75.79654,12.0533],[75.82391,12.01308],[75.82999,11.98372],[75.86924,11.95161],[76.00455,11.93123],[76.03621,11.9406],[76.07903,11.96914],[76.11204,11.97862],[76.1155,11.8579],[76.15528,11.87128],[76.20482,11.86247],[76.22662,11.80542],[76.27964,11.81018],[76.30774,11.78297],[76.31799,11.75041],[76.34252,11.73748],[76.41129,11.75913],[76.42399,11.72006],[76.40338,11.70748],[76.41621,11.67255],[76.44345,11.63744],[76.42497,11.62329],[76.37992,11.6224],[76.37056,11.59341],[76.29786,11.56442],[76.2711,11.59296],[76.2256,11.56442],[76.24255,11.52874],[76.24478,11.49439],[76.32105,11.44489],[76.33354,11.45871],[76.39063,11.42794],[76.44861,11.38155],[76.53826,11.35167],[76.54532,11.30094],[76.52349,11.27236],[76.45271,11.23905],[76.44934,11.20462],[76.51048,11.21163],[76.53385,11.19671],[76.60091,11.20654],[76.62971,11.19413],[76.69784,11.23906],[76.72537,11.22534],[76.72765,11.19388],[76.69301,11.17193],[76.69124,11.14472],[76.73852,11.12108],[76.74788,11.07514],[76.73718,11.04749],[76.69507,11.02252],[76.68644,10.98934],[76.66047,10.96052],[76.64932,10.92395],[76.73272,10.88113],[76.77286,10.88158],[76.81746,10.86195],[76.85983,10.79996],[76.88838,10.79996],[76.8973,10.77096],[76.875,10.70674],[76.85537,10.67507],[76.87277,10.62958],[76.80497,10.62646],[76.80854,10.59434],[76.82995,10.58498],[76.81746,10.43869],[76.8072,10.41505],[76.83932,10.35974],[76.82944,10.30749],[76.9018,10.26001],[76.90974,10.23668],[76.93976,10.23927],[76.98194,10.22077],[77.04075,10.25298],[77.06496,10.29751],[77.11964,10.31782],[77.17683,10.35777],[77.23655,10.35242],[77.21441,10.30577],[77.25054,10.25359],[77.25544,10.22549],[77.28042,10.20721],[77.26769,10.12222],[77.23784,10.12768],[77.20426,10.11207],[77.21976,10.07801],[77.26184,10.03015],[77.25908,9.9945],[77.27231,9.96404],[77.24834,9.95177],[77.21305,9.87549],[77.23646,9.85946],[77.22277,9.82317],[77.24656,9.80841],[77.20553,9.69439],[77.17963,9.65641],[77.16816,9.61495],[77.21264,9.60207],[77.23711,9.58089],[77.27684,9.57498],[77.3042,9.59951],[77.36511,9.54996],[77.3997,9.49683],[77.39331,9.45986],[77.36661,9.46037],[77.33693,9.40901],[77.33713,9.36507],[77.32506,9.33664],[77.28329,9.30039],[77.28844,9.27469],[77.26509,9.18184],[77.26714,9.15394],[77.24693,9.12483],[77.21199,9.101],[77.18667,9.04329],[77.16025,9.03584],[77.14986,9.01008],[77.17354,8.99121],[77.19759,8.95104],[77.19567,8.9236],[77.2559,8.8781],[77.25798,8.83758],[77.2292,8.78679],[77.19607,8.74588],[77.17517,8.73703],[77.20586,8.68645],[77.21552,8.64836],[77.27872,8.56521],[77.26344,8.50713],[77.20618,8.47859],[77.22506,8.44602],[77.18854,8.43476],[77.15375,8.37722],[77.14974,8.32192],[77.12209,8.32281],[77.09077,8.2973],[76.92132,8.09605],[76.6728,8.34299],[76.46487,8.59279],[76.22556,8.95652],[75.91159,10.04616],[75.68288,10.55908],[75.58764,10.89204],[75.55244,11.04304],[75.25797,11.51227],[75.53645,11.69255],[75.53089,11.70357],[75.25113,11.52458],[74.97117,11.94518],[74.71236,12.49398],[74.64061,12.65899]]]}},india_maharashtra:{type:"Feature",id:"india_maharashtra",properties:{name:"Maharashtra"},geometry:{type:"Polygon",coordinates:[[[72.53789,20.1498],[72.80202,20.12516],[72.87472,20.22596],[72.97061,20.21213],[72.97329,20.13096],[73.18604,20.05291],[73.29353,20.15371],[73.31137,20.20723],[73.43,20.20634],[73.41484,20.38162],[73.47594,20.49491],[73.51787,20.67019],[73.62224,20.62514],[73.63428,20.58232],[73.74801,20.56716],[73.84658,20.62336],[73.88538,20.72951],[73.93846,20.76073],[73.94515,20.84012],[73.79279,21.06787],[73.68111,21.15233],[73.82249,21.17195],[73.83231,21.2674],[73.94827,21.29773],[73.96879,21.39228],[74.10883,21.44803],[74.30776,21.48014],[74.2917,21.55864],[73.97926,21.54124],[73.86085,21.49576],[73.82294,21.60057],[73.88583,21.64517],[73.89029,21.71073],[73.83231,21.81064],[74.04684,21.92259],[74.14585,21.95425],[74.28991,21.93597],[74.38848,22.02026],[74.52764,21.90876],[74.50578,21.78254],[74.59053,21.66435],[74.83048,21.61038],[74.86438,21.63402],[75.05795,21.56489],[75.11504,21.45963],[75.21985,21.41101],[75.38443,21.38559],[75.46828,21.39406],[75.83267,21.38336],[75.95934,21.39629],[76.05255,21.35259],[76.09849,21.37399],[76.15915,21.25892],[76.16851,21.08587],[76.3826,21.07963],[76.45262,21.11486],[76.48741,21.19604],[76.61676,21.19871],[76.66091,21.28256],[76.62434,21.33519],[76.73227,21.40878],[76.79159,21.48996],[76.79516,21.59745],[76.90131,21.60101],[76.9972,21.68174],[77.1212,21.72545],[77.20728,21.69423],[77.27998,21.76113],[77.47756,21.77005],[77.57122,21.62688],[77.56721,21.52965],[77.45749,21.55641],[77.41869,21.52073],[77.48692,21.37756],[77.93873,21.38693],[78.16932,21.49843],[78.21526,21.55374],[78.3,21.58496],[78.41329,21.57782],[78.43024,21.50155],[78.50874,21.52831],[78.58501,21.48683],[78.932,21.48728],[78.91327,21.59254],[79.1278,21.62822],[79.22102,21.69646],[79.48862,21.67416],[79.50602,21.59031],[79.57604,21.54348],[79.73259,21.60235],[79.85703,21.53099],[80.06665,21.55686],[80.18842,21.63402],[80.26022,21.62019],[80.36905,21.52296],[80.41142,21.43822],[80.51936,21.3896],[80.63532,21.25],[80.45736,21.17284],[80.42391,21.0096],[80.46539,20.92709],[80.54166,20.93378],[80.54344,20.79195],[80.57823,20.67866],[80.50776,20.65458],[80.51177,20.585],[80.62239,20.60373],[80.58581,20.39544],[80.61659,20.32587],[80.38288,20.24157],[80.4141,20.19028],[80.54032,20.11],[80.54567,19.98734],[80.46048,19.82812],[80.66476,19.69075],[80.65673,19.61225],[80.82755,19.56274],[80.88553,19.50922],[80.84271,19.36605],[80.74905,19.28666],[80.67864,19.33089],[80.60751,19.31353],[80.58732,19.39674],[80.48071,19.3355],[80.39329,19.24591],[80.39154,19.1836],[80.3302,19.13746],[80.26929,18.94468],[80.35176,18.84592],[80.24684,18.70149],[80.10826,18.68928],[79.94712,18.78372],[79.95979,18.85795],[79.93945,19.0406],[79.85699,19.09508],[79.94349,19.16387],[79.92836,19.24777],[79.97469,19.38922],[79.92536,19.49855],[79.87599,19.5041],[79.75713,19.60733],[79.63608,19.57639],[79.60249,19.51309],[79.5317,19.55241],[79.42494,19.53529],[79.22736,19.61468],[79.22023,19.5286],[79.1725,19.46081],[79.08018,19.53261],[79.00213,19.54198],[78.89954,19.66954],[78.84245,19.65839],[78.82963,19.75513],[78.60098,19.81809],[78.48728,19.79375],[78.28109,19.90236],[78.3514,19.78327],[78.32909,19.71548],[78.26933,19.69184],[78.29475,19.60621],[78.29564,19.46794],[78.20778,19.43583],[78.16318,19.3551],[78.16675,19.2436],[78.03473,19.2436],[77.92412,19.3444],[77.84428,19.30426],[77.81484,19.13745],[77.74304,19.06118],[77.75106,18.98357],[77.83714,18.95414],[77.90751,18.8295],[77.83749,18.80764],[77.74829,18.60515],[77.65541,18.5316],[77.59709,18.54762],[77.54937,18.3875],[77.55171,18.29114],[77.46332,18.26219],[77.3672,18.30846],[77.41407,18.39352],[77.31257,18.43674],[77.2452,18.41278],[77.19913,18.27795],[77.14119,18.20815],[77.03495,18.18076],[76.95329,18.18881],[76.92422,18.14531],[76.9513,18.05843],[76.9075,18.00923],[76.92164,17.94103],[76.8094,17.8693],[76.66314,17.68771],[76.56488,17.76523],[76.48652,17.71358],[76.48659,17.66155],[76.41561,17.60431],[76.33086,17.46872],[76.37153,17.4341],[76.38171,17.31172],[76.22917,17.36301],[76.11996,17.37007],[75.93159,17.32197],[75.89432,17.40292],[75.77995,17.37683],[75.63468,17.47651],[75.58469,17.34963],[75.65739,17.27069],[75.62834,17.18928],[75.67389,17.11369],[75.66898,16.97766],[75.51065,16.94733],[75.46783,16.98524],[75.28311,16.95524],[75.26705,16.86247],[75.18186,16.84374],[75.09075,16.95064],[74.99259,16.95146],[74.96287,16.87942],[74.90306,16.86241],[74.91203,16.7883],[74.68877,16.71489],[74.6313,16.57831],[74.56843,16.55445],[74.54427,16.63407],[74.33986,16.54825],[74.26427,16.53936],[74.33806,16.40125],[74.31843,16.32588],[74.50509,16.22265],[74.48045,16.14527],[74.37226,16.07692],[74.46484,16.0421],[74.43203,15.95338],[74.34579,15.84959],[74.36893,15.78648],[74.28923,15.73953],[74.16212,15.75075],[74.11652,15.65308],[74.02811,15.60433],[73.97592,15.62887],[73.94515,15.74126],[73.88226,15.74929],[73.68072,15.72057],[73.32871,15.60794],[72.98859,16.57559],[72.71294,17.97077],[72.60935,19.26366],[72.53789,20.1498]]]}},india_puducherry:{type:"Feature",id:"india_puducherry",properties:{name:"Puducherry"},geometry:{type:"Polygon",coordinates:[[[79.87782,12.04973],[79.84726,11.95536],[79.83593,11.90229],[79.81979,11.85761],[79.81464,11.79006],[79.79645,11.7736],[79.77036,11.77191],[79.74564,11.78065],[79.6804,11.7988],[79.61655,11.82434],[79.58702,11.88549],[79.65672,11.93152],[79.64745,11.9594],[79.6423,12.0138],[79.66599,12.03865],[79.72813,12.04201],[79.79885,12.0457],[79.8452,12.05644],[79.87782,12.04973]]]}},india_tamilnadu:{type:"Feature",id:"india_tamilnadu",properties:{},geometry:{type:"Polygon",coordinates:[[[76.23882,11.52666],[76.42497,11.62329],[76.48321,11.69182],[76.56305,11.62046],[76.8262,11.60485],[76.90977,11.79343],[77.01458,11.81306],[77.11315,11.77337],[77.29576,11.80871],[77.33679,11.76902],[77.42332,11.77259],[77.49513,11.94251],[77.60217,11.93627],[77.67932,11.97287],[77.77447,12.12033],[77.73432,12.17555],[77.60853,12.20409],[77.51993,12.19264],[77.52722,12.27746],[77.61553,12.36799],[77.63575,12.48605],[77.58743,12.51473],[77.60006,12.6661],[77.74108,12.67162],[77.79267,12.74643],[77.81099,12.8303],[77.93327,12.8876],[77.99036,12.80553],[78.08636,12.80344],[78.23196,12.76495],[78.2273,12.71513],[78.36824,12.61165],[78.54754,12.68569],[78.62559,12.9194],[78.61355,12.97872],[78.70231,13.05633],[78.80801,13.07774],[78.97973,13.0764],[79.15278,13.00727],[79.1889,13.08443],[79.25625,13.13661],[79.34679,13.13482],[79.45292,13.33852],[79.53513,13.33423],[79.58006,13.24544],[79.68442,13.25659],[79.92572,13.33598],[79.96184,13.45149],[80.06933,13.53757],[80.15229,13.4787],[80.25978,13.44748],[80.68273,13.45353],[80.58546,12.88895],[80.57389,12.78634],[80.43092,12.33305],[80.32877,12.14],[80.20563,11.84284],[79.85031,11.95606],[79.74742,12.0054],[79.69629,11.95142],[79.76493,11.85315],[80.17499,11.74816],[80.13891,11.5158],[80.22104,11.03359],[80.22222,10.98402],[79.85413,10.97539],[79.73705,10.98906],[79.70405,10.91904],[79.85166,10.82788],[80.22599,10.82479],[80.03964,10.09642],[79.66744,9.97318],[79.55982,9.92323],[79.37812,9.6665],[79.42037,9.35343],[79.56652,9.25796],[79.57134,9.08722],[79.49634,8.89762],[79.37403,8.97879],[79.06914,9.02225],[78.73928,8.93257],[78.54484,8.84743],[78.46298,8.3509],[78.36123,8.16045],[78.10363,8.04096],[77.66766,7.85864],[76.92132,8.09605],[77.09077,8.2973],[77.14974,8.32192],[77.20618,8.47859],[77.27872,8.56521],[77.21552,8.64836],[77.19607,8.74588],[77.25798,8.83758],[77.14986,9.01008],[77.26714,9.15394],[77.28844,9.27469],[77.33693,9.40901],[77.3997,9.49683],[77.3042,9.59951],[77.27684,9.57498],[77.16816,9.61495],[77.24656,9.80841],[77.21305,9.87549],[77.26184,10.03015],[77.28042,10.20721],[77.17683,10.35777],[77.06496,10.29751],[76.98194,10.22077],[76.82944,10.30749],[76.81746,10.43869],[76.82995,10.58498],[76.8973,10.77096],[76.81746,10.86195],[76.64932,10.92395],[76.73718,11.04749],[76.72765,11.19388],[76.44934,11.20462],[76.52349,11.27236],[76.53826,11.35167],[76.39063,11.42794],[76.25772,11.47343],[76.23882,11.52666]]]}},india_telengana:{type:"Feature",id:"india_telengana",properties:{},geometry:{type:"Polygon",coordinates:[[[77.23521,16.47123],[77.29413,16.47453],[77.37516,16.48768],[77.37501,16.50885],[77.41861,16.51735],[77.42586,16.57007],[77.46147,16.58589],[77.45871,16.61229],[77.47627,16.64839],[77.43775,16.64241],[77.42132,16.66752],[77.46657,16.6772],[77.47337,16.71709],[77.42692,16.72829],[77.44309,16.76259],[77.4748,16.78164],[77.45754,16.82843],[77.46322,16.84476],[77.45223,16.91995],[77.48061,16.97751],[77.478,17.00152],[77.50069,17.01255],[77.49527,17.04601],[77.46328,17.11129],[77.40575,17.12751],[77.3772,17.14285],[77.36157,17.16669],[77.37179,17.19944],[77.39294,17.1981],[77.40662,17.2372],[77.45894,17.28058],[77.43826,17.29144],[77.45747,17.34038],[77.45274,17.37335],[77.50349,17.35735],[77.52471,17.36431],[77.53972,17.40645],[77.53911,17.44295],[77.57779,17.43051],[77.60849,17.44332],[77.61732,17.47261],[77.65946,17.48011],[77.69188,17.47463],[77.6912,17.50865],[77.66304,17.5217],[77.59762,17.53374],[77.59603,17.56309],[77.55361,17.55007],[77.52751,17.57308],[77.49462,17.56675],[77.44541,17.58272],[77.45732,17.63263],[77.45138,17.69052],[77.49398,17.7153],[77.53999,17.72825],[77.56532,17.74838],[77.55654,17.76872],[77.50997,17.78724],[77.51604,17.80424],[77.55572,17.81934],[77.5709,17.86625],[77.6208,17.9031],[77.61974,17.93865],[77.65529,17.97047],[77.64737,17.99934],[77.5862,18.01459],[77.55377,18.03572],[77.54914,18.06475],[77.59821,18.0861],[77.59705,18.15205],[77.57179,18.19195],[77.58611,18.21875],[77.57345,18.24294],[77.60614,18.28059],[77.57018,18.29238],[77.56676,18.31792],[77.51948,18.34914],[77.54937,18.3875],[77.56007,18.43522],[77.59709,18.54762],[77.64035,18.55386],[77.65775,18.5271],[77.71216,18.55431],[77.73669,18.55476],[77.74829,18.60515],[77.72956,18.64262],[77.73268,18.67607],[77.74963,18.6899],[77.78664,18.6841],[77.83749,18.80764],[77.90751,18.8295],[77.90895,18.86137],[77.88264,18.86984],[77.86524,18.91043],[77.82421,18.9131],[77.83714,18.95414],[77.79611,18.95146],[77.80057,18.98447],[77.75106,18.98357],[77.74081,19.03041],[77.74304,19.06118],[77.77693,19.07322],[77.78942,19.10534],[77.83179,19.09195],[77.81484,19.13745],[77.84205,19.18294],[77.82822,19.19008],[77.85097,19.25743],[77.88398,19.25832],[77.88442,19.27928],[77.84562,19.28597],[77.84428,19.30426],[77.89602,19.31987],[77.92412,19.3444],[77.96916,19.31095],[78.00172,19.29846],[78.02938,19.27304],[78.03473,19.2436],[78.1101,19.24851],[78.1333,19.232],[78.16675,19.2436],[78.16675,19.28106],[78.18057,19.33369],[78.16318,19.3551],[78.17121,19.39747],[78.20778,19.43583],[78.23543,19.43182],[78.25684,19.4559],[78.29564,19.46794],[78.2787,19.5393],[78.29475,19.57365],[78.29475,19.60621],[78.27111,19.65661],[78.26933,19.69184],[78.29966,19.69273],[78.32909,19.71548],[78.3514,19.78327],[78.3224,19.84125],[78.2778,19.85151],[78.27921,19.88196],[78.3679,19.8814],[78.38128,19.83858],[78.41205,19.8252],[78.45978,19.81851],[78.47762,19.79531],[78.50973,19.82386],[78.5686,19.8136],[78.58734,19.8194],[78.67966,19.79175],[78.70018,19.769],[78.72203,19.78149],[78.76842,19.7806],[78.79116,19.76008],[78.82774,19.76097],[78.84691,19.69898],[78.84245,19.65839],[78.87457,19.65705],[78.89954,19.66954],[78.9379,19.66553],[78.95262,19.65125],[78.94637,19.61914],[78.97626,19.56384],[79.00213,19.54198],[79.03513,19.54733],[79.08018,19.53261],[79.08821,19.51477],[79.12389,19.50318],[79.1725,19.46081],[79.2064,19.46973],[79.19034,19.49381],[79.22023,19.5286],[79.23361,19.57945],[79.22736,19.61468],[79.35492,19.56339],[79.39729,19.53529],[79.42494,19.53529],[79.45394,19.49961],[79.4972,19.52013],[79.5317,19.55241],[79.55367,19.52413],[79.60249,19.51309],[79.61596,19.55941],[79.63608,19.57639],[79.71198,19.58528],[79.75713,19.60733],[79.81825,19.57293],[79.82378,19.55743],[79.87599,19.5041],[79.92536,19.49855],[79.97171,19.42013],[79.97469,19.38922],[79.94937,19.29163],[79.9293,19.24996],[79.92636,19.20252],[79.94349,19.16387],[79.88262,19.13295],[79.85699,19.09508],[79.8741,19.04152],[79.92544,19.05312],[79.93945,19.0406],[79.9397,18.98616],[79.95302,18.96934],[79.95979,18.85795],[79.91056,18.82565],[79.94712,18.78372],[79.99276,18.76905],[80.03276,18.74654],[80.10826,18.68928],[80.24684,18.70149],[80.27513,18.72272],[80.30656,18.68345],[80.33809,18.59903],[80.379,18.60937],[80.38851,18.5972],[80.45022,18.62656],[80.48858,18.62656],[80.514,18.61318],[80.53184,18.58598],[80.59562,18.54896],[80.63264,18.51863],[80.65093,18.47224],[80.6991,18.43612],[80.74281,18.32194],[80.74459,18.30231],[80.7883,18.24968],[80.73344,18.21891],[80.73478,18.17163],[80.79811,18.16628],[80.81774,18.18724],[80.81729,18.22515],[80.85922,18.22605],[80.84807,18.1975],[80.86189,18.13283],[80.9007,18.13461],[80.95422,18.16717],[80.9725,18.14353],[80.94931,18.12302],[80.94396,18.08109],[80.96225,18.03158],[80.98455,17.92276],[80.99436,17.91428],[81.00417,17.83846],[81.03227,17.78985],[81.07375,17.78628],[81.08891,17.81081],[81.15938,17.85273],[81.19194,17.84694],[81.25394,17.81215],[81.40915,17.80501],[81.47025,17.8233],[81.48096,17.80278],[81.5541,17.81616],[81.56882,17.82776],[81.61119,17.81527],[81.64286,17.83935],[81.66293,17.87682],[81.68835,17.88485],[81.70307,17.86121],[81.75838,17.89332],[81.79272,17.85273],[81.78246,17.83177],[81.72939,17.81928],[81.68478,17.77067],[81.62323,17.76264],[81.5764,17.72607],[81.57105,17.68771],[81.50281,17.59003],[81.52377,17.57264],[81.50147,17.53919],[81.49345,17.44865],[81.44171,17.38175],[81.41584,17.36168],[81.37168,17.35722],[81.32262,17.38933],[81.28917,17.33759],[81.26732,17.3202],[81.19016,17.32733],[81.17053,17.29656],[81.18035,17.25463],[81.16295,17.23278],[81.11835,17.22475],[81.02603,17.18684],[80.99124,17.1797],[80.93058,17.20513],[80.90516,17.20111],[80.91318,17.14581],[80.87037,17.14625],[80.8552,17.11146],[80.86412,17.09585],[80.85877,17.05081],[80.82309,17.03787],[80.72586,17.06463],[80.68393,17.06865],[80.65673,17.08782],[80.56039,17.13822],[80.51936,17.10834],[80.49616,17.10789],[80.48234,17.05036],[80.42034,17.02494],[80.39001,17.07623],[80.36682,17.0566],[80.38778,17.0071],[80.35835,16.97052],[80.44264,16.9451],[80.48769,16.91745],[80.49126,16.94822],[80.53184,16.95001],[80.59027,16.91165],[80.5867,16.87374],[80.56485,16.86883],[80.55593,16.81843],[80.6041,16.78766],[80.56262,16.76268],[80.51088,16.76982],[80.45647,16.78989],[80.45245,16.81531],[80.41856,16.84252],[80.37306,16.8113],[80.35879,16.85501],[80.3191,16.87106],[80.31553,16.91254],[80.28877,16.97677],[80.26201,17.01066],[80.23569,17.00219],[80.19555,17.01825],[80.18217,17.04501],[80.134,16.98524],[80.08405,16.96339],[80.04569,16.96517],[80.03722,16.93663],[80.00957,16.90719],[79.99173,16.86303],[80.0332,16.85233],[80.04168,16.82602],[80.07093,16.81323],[80.054,16.74194],[80.02722,16.71251],[80.00576,16.70857],[79.95306,16.63621],[79.90723,16.63408],[79.88555,16.68642],[79.84286,16.70561],[79.81796,16.69098],[79.79256,16.72485],[79.74673,16.72106],[79.72286,16.68966],[79.68544,16.69755],[79.6621,16.68835],[79.63566,16.6594],[79.60613,16.67239],[79.53884,16.63046],[79.49421,16.63408],[79.44409,16.61796],[79.41773,16.57986],[79.37802,16.58412],[79.31162,16.57554],[79.27926,16.5816],[79.24543,16.57009],[79.24388,16.53515],[79.22091,16.51631],[79.21526,16.4846],[79.23202,16.46035],[79.21112,16.44396],[79.21143,16.35493],[79.23438,16.32518],[79.22111,16.23251],[79.1593,16.20893],[79.12305,16.23187],[79.09802,16.2236],[79.05373,16.23827],[79.01236,16.24173],[78.98352,16.21074],[78.92807,16.19871],[78.9049,16.17711],[78.92481,16.13259],[78.92138,16.10307],[78.88876,16.0879],[78.87606,16.13902],[78.83228,16.13919],[78.8419,16.08707],[78.82164,16.05227],[78.78267,16.02125],[78.73718,16.0097],[78.68277,16.03346],[78.64311,16.08312],[78.59917,16.08361],[78.55814,16.04517],[78.45394,16.07503],[78.40727,16.0756],[78.36075,16.04605],[78.32341,16.033],[78.29785,16.01169],[78.2682,16.02857],[78.25445,16.01627],[78.2507,15.96993],[78.20995,15.9197],[78.17371,15.89569],[78.17153,15.85511],[78.13252,15.8549],[78.10755,15.83401],[78.06997,15.85048],[78.03641,15.90188],[78.00803,15.86506],[77.97903,15.87982],[77.93428,15.88216],[77.89376,15.90154],[77.8616,15.88138],[77.80554,15.87083],[77.72205,15.89199],[77.689,15.87914],[77.6536,15.88393],[77.61152,15.91691],[77.58504,15.91532],[77.51178,15.92828],[77.52058,15.95112],[77.51562,16.00803],[77.49612,16.03679],[77.50848,16.07885],[77.49242,16.12134],[77.48889,16.16443],[77.50036,16.1925],[77.49303,16.25534],[77.59655,16.31743],[77.58991,16.33381],[77.54011,16.35849],[77.52418,16.3753],[77.4865,16.38299],[77.41673,16.36775],[77.37791,16.38517],[77.35761,16.3815],[77.28927,16.408],[77.26056,16.45344],[77.23521,16.47123]]]}},IDN:{type:"Feature",id:"IDN",properties:{},geometry:{type:"Polygon",coordinates:[[[109.538,1.92671],[109.58606,1.79192],[109.68554,1.78179],[109.66224,1.61881],[109.82759,1.48148],[109.93117,1.42466],[109.97919,1.29865],[110.09758,1.19756],[110.1922,1.18303],[110.30096,0.99575],[110.39497,0.99668],[110.49064,0.87637],[110.59486,0.858],[110.85815,0.94998],[110.9055,1.02835],[111.19759,1.06475],[111.22607,1.08799],[111.40504,1.0094],[111.48916,1.03442],[111.52219,0.95868],[111.66704,1.04281],[111.82599,0.98538],[111.934,1.10284],[112.13391,1.13752],[112.22581,1.39272],[112.20003,1.43709],[112.5171,1.57395],[112.77536,1.56153],[112.87744,1.58118],[113.05767,1.55877],[113.106,1.44495],[113.35493,1.35908],[113.41908,1.28549],[113.53549,1.32127],[113.63068,1.21597],[113.81508,1.30294],[113.85093,1.38715],[113.97573,1.45005],[114.14945,1.46149],[114.2027,1.4213],[114.41581,1.51111],[114.52646,1.44179],[114.58583,1.44665],[114.61498,1.57508],[114.71115,1.67148],[114.69469,1.81063],[114.74372,1.86954],[114.87834,1.91463],[114.80632,2.02438],[114.78024,2.14454],[114.79949,2.24936],[114.90604,2.25697],[114.95039,2.35132],[115.09508,2.41123],[115.13965,2.4776],[115.23743,2.50599],[115.09278,2.69409],[115.14115,2.74432],[115.11387,2.83327],[115.15001,2.90895],[115.24912,2.9667],[115.48328,3.01964],[115.56423,3.17109],[115.51617,3.26111],[115.53779,3.36201],[115.6344,3.45571],[115.57652,3.6094],[115.57965,3.74752],[115.61864,3.84247],[115.58177,3.88792],[115.64991,3.98828],[115.70731,4.19935],[115.8296,4.24118],[115.8779,4.39102],[116.00607,4.34818],[116.07901,4.27643],[116.18028,4.38255],[116.34851,4.39138],[116.43275,4.32567],[116.53602,4.37566],[116.61942,4.33622],[116.89887,4.36704],[116.97351,4.34488],[117.28899,4.31595],[117.52934,4.1615],[117.8992,4.16585],[117.95861,4.19058],[118.26478,4.09696],[127.3,5.2],[129,2.7],[141,-2.4],[141,-6.3],[140.83,-6.7],[141.02,-6.95],[141.02,-9.5],[128.5,-9.5],[127.3,-8.2],[125,-8.5],[123.96,-9.2],[124.11,-9.42],[124.22,-9.37],[124.269,-9.4],[124.287,-9.5],[124.358,-9.48564],[124.355,-9.43281],[124.383,-9.361],[124.444,-9.31899],[124.48,-9.15],[124.95,-8.9],[124.94064,-9.03565],[124.99695,-9.06413],[125.11368,-8.98275],[125.18234,-9.03293],[125.18234,-9.17396],[124.98459,-9.19429],[124.99283,-9.28646],[125.04913,-9.33254],[125.16,-9.7],[123,-11.4],[100,-7],[93.5,6.3],[96.6,6.1],[103,1.4],[103.75,1.14],[103.9,1.2],[104.5,1.3],[105,3],[108,5.1],[109.64501,2.08141],[109.62041,1.98321],[109.538,1.92671]]]}},"Universitas-Negeri-Makassar":{type:"Feature",id:"Universitas-Negeri-Makassar",properties:{},geometry:{type:"Polygon",coordinates:[[[119.4292,-4.96157],[119.47318,-4.96588],[119.51547,-4.97866],[119.55445,-4.9994],[119.58862,-5.02733],[119.61666,-5.06135],[119.63751,-5.10017],[119.65035,-5.14229],[119.6547,-5.18611],[119.65039,-5.22992],[119.63757,-5.27205],[119.61674,-5.31089],[119.5887,-5.34493],[119.55452,-5.37286],[119.51553,-5.39362],[119.47321,-5.40641],[119.4292,-5.41072],[119.38519,-5.40641],[119.34288,-5.39362],[119.30388,-5.37286],[119.26971,-5.34493],[119.24167,-5.31089],[119.22084,-5.27205],[119.20802,-5.22992],[119.2037,-5.18611],[119.20805,-5.14229],[119.22089,-5.10017],[119.24174,-5.06135],[119.26979,-5.02733],[119.30396,-4.9994],[119.34293,-4.97866],[119.38522,-4.96588],[119.4292,-4.96157]]]}},"University-Muhammadiyah-Surakarta":{type:"Feature",id:"University-Muhammadiyah-Surakarta",properties:{},geometry:{type:"Polygon",coordinates:[[[110.76899,-7.33303],[110.81316,-7.33735],[110.85564,-7.35012],[110.89479,-7.37086],[110.92912,-7.39878],[110.9573,-7.4328],[110.97825,-7.47162],[110.99116,-7.51374],[110.99553,-7.55755],[110.9912,-7.60137],[110.97833,-7.64351],[110.95741,-7.68234],[110.92924,-7.71638],[110.8949,-7.74433],[110.85572,-7.76509],[110.81321,-7.77787],[110.76899,-7.78219],[110.72477,-7.77787],[110.68225,-7.76509],[110.64307,-7.74433],[110.60873,-7.71638],[110.58056,-7.68234],[110.55964,-7.64351],[110.54677,-7.60137],[110.54244,-7.55755],[110.54681,-7.51374],[110.55973,-7.47162],[110.58067,-7.4328],[110.60885,-7.39878],[110.64318,-7.37086],[110.68233,-7.35012],[110.72481,-7.33735],[110.76899,-7.33303]]]}},iran:{type:"Feature",properties:{},id:"iran",geometry:{type:"Polygon",coordinates:[[[43.96643,39.42704],[44.36828,39.45104],[44.3518,39.57183],[44.62479,39.89048],[45.02746,39.54218],[45.50433,39.06259],[45.9613,38.92951],[46.50828,38.94537],[47.3236,39.44892],[48.00512,39.77374],[48.4411,39.3641],[48.19977,39.25565],[48.3728,39.10236],[48.30414,38.906],[48.10427,38.85269],[48.67649,38.48336],[49.32106,38.48734],[53.94287,37.48358],[54.43724,37.47487],[54.70691,37.69815],[55.26122,38.10864],[55.91695,38.16284],[56.239,38.26407],[57.28683,38.36073],[57.57896,37.98007],[58.01879,37.91821],[58.41395,37.7018],[58.72191,37.76204],[59.4218,37.59896],[59.63834,37.17964],[60.08422,37.11653],[60.37835,36.70792],[61.23424,36.72619],[61.37598,35.51361],[60.99608,34.29808],[60.63333,34.05914],[60.68847,33.68779],[61.01753,33.53868],[60.68833,33.11604],[60.98034,32.20735],[60.95577,31.5572],[61.7915,31.4486],[61.89696,31.1188],[61.90736,30.81546],[60.99448,29.85451],[61.42455,29.4109],[61.97206,28.63509],[62.8889,28.33884],[62.90715,27.31879],[63.29659,27.35528],[63.40209,27.17648],[63.2895,26.57212],[62.5891,26.47058],[62.29032,26.24108],[61.94822,26.12877],[61.62376,24.73837],[60.55845,24.98624],[58.03141,25.27164],[57.11051,25.5495],[56.54686,26.57238],[55.4988,26.01213],[55.28816,25.6474],[54.37853,25.61961],[53.90126,26.2239],[53.08217,26.52934],[51.26311,27.61327],[50.77328,28.14996],[50.48217,27.81479],[50.17456,27.78564],[49.93835,27.81965],[49.88342,27.975],[49.92187,28.18825],[50.33305,28.67232],[49.4197,29.70202],[48.58632,29.62242],[47.9928,30.44356],[47.98907,30.97004],[47.65869,30.98703],[47.65817,31.39276],[47.76361,31.76875],[47.30962,32.37144],[45.91075,33.02471],[46.06882,33.24741],[45.37024,33.9384],[45.40649,34.48845],[45.61523,34.74162],[45.84765,35.07793],[46.0613,35.21211],[45.91186,35.63945],[46.06018,35.76881],[45.75644,35.74371],[45.3092,35.9317],[45.19226,36.33283],[44.97802,36.46548],[44.95056,36.68605],[44.80224,36.7609],[44.83543,36.92589],[44.74731,37.02887],[44.71435,37.2828],[44.57153,37.38762],[44.51099,37.70537],[44.17537,37.86225],[44.29736,38.30899],[44.10461,39.10449],[43.93976,39.34825],[43.96643,39.42704]]]}},japan:{type:"Feature",id:"japan",properties:{},geometry:{type:"Polygon",coordinates:[[[141.11938,45.69083],[142.28497,45.56863],[145.39307,44.48867],[145.57983,44.11125],[145.27222,43.79291],[145.47821,43.46289],[145.68695,43.4589],[145.91217,43.39108],[145.44903,42.69934],[143.91094,41.8376],[142.48272,39.3181],[142.1751,38.15265],[141.38409,35.69383],[140.94463,35.21056],[140.55908,32.1198],[139.38457,31.87843],[138.98907,33.1752],[138.01025,34.29807],[135.99976,33.17434],[133.53882,32.71336],[132.48516,32.06483],[131.56128,31.04352],[131.03497,29.53613],[129.94629,27.50827],[127.78301,25.4442],[126.47461,25.42343],[125.86487,24.52713],[124.92657,23.88678],[123.37921,23.82053],[122.67883,24.31456],[122.7293,24.64795],[124.67834,25.02588],[125.36602,25.52354],[126.24493,26.35342],[127.56329,27.13828],[128.57403,28.73003],[128.74981,31.46703],[128.36426,32.62087],[128.92559,33.76174],[129.21021,34.62417],[129.56177,34.84086],[136.69739,37.9312],[139.1209,38.85762],[139.04297,42.04929],[140.13165,43.58114],[140.5711,45.64549],[141.11938,45.69083]]]}},malaysia:{type:"Feature",id:"malaysia",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[109.538,1.92671],[109.62041,1.98321],[109.64501,2.08141],[113.8,4.8],[114.26015,4.50701],[114.33278,4.34889],[114.31645,4.26363],[114.45418,4.24183],[114.49579,4.14668],[114.6492,4.00624],[114.80762,4.14929],[114.85775,4.26957],[114.87758,4.42656],[114.82955,4.42966],[114.80229,4.67536],[114.85851,4.79751],[114.97133,4.80824],[115.02238,4.74977],[115.09879,4.4685],[115.15547,4.38302],[115.24582,4.34118],[115.28924,4.60384],[115.2375,4.79584],[115.15038,4.87204],[115.15825,5.02512],[115,5.3],[116.9,7.6],[117.5,7.4],[119.35011,5.53088],[119.43909,5.11578],[118.83773,4.45269],[118.26478,4.09696],[117.95861,4.19058],[117.8992,4.16585],[117.52934,4.1615],[117.28899,4.31595],[116.97351,4.34488],[116.89887,4.36704],[116.61942,4.33622],[116.53602,4.37566],[116.43275,4.32567],[116.34851,4.39138],[116.18028,4.38255],[116.07901,4.27643],[116.00607,4.34818],[115.8779,4.39102],[115.8296,4.24118],[115.70731,4.19935],[115.64991,3.98828],[115.58177,3.88792],[115.61864,3.84247],[115.57965,3.74752],[115.57652,3.6094],[115.6344,3.45571],[115.53779,3.36201],[115.51617,3.26111],[115.56423,3.17109],[115.48328,3.01964],[115.24912,2.9667],[115.15001,2.90895],[115.11387,2.83327],[115.14115,2.74432],[115.09278,2.69409],[115.23743,2.50599],[115.13965,2.4776],[115.09508,2.41123],[114.95039,2.35132],[114.90604,2.25697],[114.79949,2.24936],[114.78024,2.14454],[114.80632,2.02438],[114.87834,1.91463],[114.74372,1.86954],[114.69469,1.81063],[114.71115,1.67148],[114.61498,1.57508],[114.58583,1.44665],[114.52646,1.44179],[114.41581,1.51111],[114.2027,1.4213],[114.14945,1.46149],[113.97573,1.45005],[113.85093,1.38715],[113.81508,1.30294],[113.63068,1.21597],[113.53549,1.32127],[113.41908,1.28549],[113.35493,1.35908],[113.106,1.44495],[113.05767,1.55877],[112.87744,1.58118],[112.77536,1.56153],[112.5171,1.57395],[112.20003,1.43709],[112.22581,1.39272],[112.13391,1.13752],[111.934,1.10284],[111.82599,0.98538],[111.66704,1.04281],[111.52219,0.95868],[111.48916,1.03442],[111.40504,1.0094],[111.22607,1.08799],[111.19759,1.06475],[110.9055,1.02835],[110.85815,0.94998],[110.59486,0.858],[110.49064,0.87637],[110.39497,0.99668],[110.30096,0.99575],[110.1922,1.18303],[110.09758,1.19756],[109.97919,1.29865],[109.93117,1.42466],[109.82759,1.48148],[109.66224,1.61881],[109.68554,1.78179],[109.58606,1.79192],[109.538,1.92671]]],[[[99.45833,6.30667],[99.51167,6.48167],[99.68908,6.47146],[99.91691,6.5233],[100.07588,6.40615],[100.15906,6.48065],[100.17157,6.69376],[100.32605,6.6597],[100.36648,6.53967],[100.4962,6.52128],[100.66237,6.45103],[100.73937,6.49207],[100.81258,6.44219],[100.83515,6.29654],[100.90398,6.23379],[100.98414,6.27884],[101.0943,6.26044],[101.12667,6.19264],[101.0868,5.9109],[101.03707,5.91804],[100.98946,5.78393],[101.1192,5.67031],[101.25999,5.71155],[101.27615,5.81155],[101.39691,5.87241],[101.48454,5.86993],[101.58131,5.93436],[101.66236,5.86871],[101.69082,5.75576],[101.79332,5.75066],[101.94402,5.87247],[101.94265,5.98109],[102.05204,6.0785],[102.08029,6.22537],[102.2,6.5],[103.6,5.8],[104.8,2.5],[104.5,1.5],[104.31571,1.28352],[104.12518,1.27582],[104.07647,1.43092],[103.89786,1.42794],[103.81267,1.47847],[103.67389,1.42814],[103.56667,1.1955],[103,1.325],[99,4.5],[99.45833,6.30667]]]]}},MNG:{type:"Feature",id:"MNG",properties:{name:"Mongolia"},geometry:{type:"Polygon",coordinates:[[[87.75126,49.2972],[88.80557,49.47052],[90.71367,50.33181],[92.23471,50.80217],[93.10422,50.49529],[94.14757,50.48054],[94.81595,50.01343],[95.81403,49.97747],[97.25973,49.72606],[98.23176,50.4224],[97.82574,51.011],[98.86149,52.04737],[99.98173,51.63401],[100.88948,51.51686],[102.06522,51.25992],[102.25591,50.51056],[103.67655,50.08997],[104.62155,50.27533],[105.88659,50.40602],[106.8888,50.2743],[107.86818,49.79371],[108.47517,49.28255],[109.40245,49.29296],[110.66201,49.13013],[111.58123,49.37797],[112.89774,49.54357],[114.36246,50.2483],[114.96211,50.14025],[115.4857,49.80518],[116.6788,49.88853],[116.1918,49.1346],[115.48528,48.13538],[115.74284,47.72655],[116.30895,47.85341],[117.29551,47.69771],[118.06414,48.06673],[118.86657,47.74706],[119.77282,47.04806],[119.66327,46.69268],[118.87433,46.80541],[117.4217,46.67273],[116.71787,46.3882],[115.9851,45.72724],[114.46033,45.33982],[113.46391,44.80889],[112.43606,45.01165],[111.87331,45.10208],[111.34838,44.45744],[111.66774,44.07318],[111.82959,43.74312],[111.12968,43.40683],[110.4121,42.87123],[109.2436,42.51945],[107.74477,42.48152],[106.12932,42.13433],[104.96499,41.59741],[104.52228,41.90835],[103.31228,41.90747],[101.83304,42.51487],[100.84587,42.6638],[99.51582,42.52469],[97.45176,42.74889],[96.3494,42.72563],[95.76246,43.31945],[95.30688,44.24133],[94.68893,44.35233],[93.48073,44.97547],[92.13389,45.11508],[90.94554,45.28607],[90.58577,45.71972],[90.97081,46.88815],[90.28083,47.69355],[88.8543,48.06908],[88.01383,48.59946],[87.75126,49.2972]]]}},MMR:{type:"Feature",id:"MMR",properties:{name:"Myanmar"},geometry:{type:"Polygon",coordinates:[[[92.10937,20.85881],[92.3291,21.49396],[92.68066,21.28937],[92.63672,22.08564],[92.98828,22.06528],[93.18604,22.22809],[93.14209,23.09994],[93.38379,23.22115],[93.36182,24.1267],[94.19678,23.92601],[94.70215,25.04579],[94.57031,25.26457],[95.20752,26.03704],[95.05371,26.49024],[97.66846,28.51697],[98.65723,27.50827],[98.56934,25.85922],[97.62451,24.8665],[97.73438,23.88584],[98.83301,24.14675],[98.85498,23.18076],[99.49219,23.05952],[99.1626,22.04491],[100.0415,21.96342],[100.32715,21.49396],[101.09619,21.71868],[101.16211,21.41216],[99.99756,20.36523],[97.91016,19.49766],[97.53662,18.29195],[98.83301,16.21467],[98.50342,15.32657],[98.21777,15.11455],[98.65723,14.24309],[99.18457,13.66734],[99.22852,12.85465],[99.66797,11.65224],[98.4375,9.90392],[97.77832,14.34955],[97.00928,16.80454],[95.42725,15.55954],[94.021,16.04581],[94.21875,18.0832],[92.10937,20.85881]]]}},"Institute-of-Crisis-Management-Studies":{type:"Feature",id:"Institute-of-Crisis-Management-Studies",properties:{},geometry:{type:"Polygon",coordinates:[[[85.34173,27.95228],[85.39133,27.94796],[85.43901,27.93515],[85.48293,27.91436],[85.5214,27.88639],[85.55293,27.85231],[85.57632,27.81345],[85.59067,27.77129],[85.59544,27.72747],[85.59047,27.68367],[85.57595,27.64156],[85.55245,27.60278],[85.52087,27.56879],[85.48245,27.5409],[85.43864,27.52019],[85.39113,27.50743],[85.34173,27.50313],[85.29233,27.50743],[85.24482,27.52019],[85.20102,27.5409],[85.16259,27.56879],[85.13102,27.60278],[85.10752,27.64156],[85.09299,27.68367],[85.08802,27.72747],[85.09279,27.77129],[85.10715,27.81345],[85.13054,27.85231],[85.16207,27.88639],[85.20053,27.91436],[85.24445,27.93515],[85.29213,27.94796],[85.34173,27.95228]]]}},"Kathmandu-University":{type:"Feature",id:"Kathmandu-University",properties:{},geometry:{type:"Polygon",coordinates:[[[85.53873,27.84494],[85.58828,27.84062],[85.63591,27.82781],[85.67979,27.80702],[85.71822,27.77905],[85.74972,27.74497],[85.77308,27.70611],[85.78742,27.66395],[85.79219,27.62013],[85.78722,27.57633],[85.77272,27.53422],[85.74924,27.49543],[85.7177,27.46145],[85.67931,27.43356],[85.63554,27.41285],[85.58808,27.40009],[85.53873,27.39578],[85.48938,27.40009],[85.44192,27.41285],[85.39815,27.43356],[85.35976,27.46145],[85.32822,27.49543],[85.30474,27.53422],[85.29024,27.57633],[85.28527,27.62013],[85.29004,27.66395],[85.30438,27.70611],[85.32774,27.74497],[85.35924,27.77905],[85.39767,27.80702],[85.44155,27.82781],[85.48918,27.84062],[85.53873,27.84494]]]}},NPL:{type:"Feature",id:"NPL",properties:{name:"Nepal"},geometry:{type:"Polygon",coordinates:[[[88.12044,27.87654],[88.04313,27.44582],[88.1748,26.8104],[88.06024,26.41462],[87.22747,26.3979],[86.02439,26.63098],[85.25178,26.7262],[84.67502,27.2349],[83.30425,27.36451],[81.99999,27.92548],[81.0572,28.41609],[80.08843,28.79447],[80.47672,29.72987],[81.11126,30.18348],[81.5258,30.42272],[82.32751,30.11527],[83.33711,29.46373],[83.89899,29.32023],[84.23458,28.83989],[85.01164,28.64277],[85.82332,28.20358],[86.95452,27.97426],[88.12044,27.87654]]]}},"Tribhuvan-University":{type:"Feature",id:"Tribhuvan-University",properties:{},geometry:{type:"Polygon",coordinates:[[[83.97645,28.47849],[84.0263,28.47417],[84.07421,28.46136],[84.11835,28.44057],[84.157,28.4126],[84.18869,28.37852],[84.21219,28.33965],[84.22661,28.2975],[84.23141,28.25368],[84.22641,28.20987],[84.21181,28.16777],[84.18819,28.12898],[84.15647,28.09499],[84.11785,28.06711],[84.07383,28.04639],[84.02609,28.03364],[83.97645,28.02933],[83.92682,28.03364],[83.87908,28.04639],[83.83506,28.06711],[83.79644,28.09499],[83.76471,28.12898],[83.7411,28.16777],[83.7265,28.20987],[83.7215,28.25368],[83.72629,28.2975],[83.74072,28.33965],[83.76422,28.37852],[83.7959,28.4126],[83.83456,28.44057],[83.8787,28.46136],[83.92661,28.47417],[83.97645,28.47849]]]}},north_korea:{type:"Feature",id:"north_korea",properties:{},geometry:{type:"Polygon",coordinates:[[[125,37.2],[123.5,38.4],[124.38,40.12],[124.87,40.47],[126.05,40.95],[126.6,41.6],[126.9,41.8],[127.25,41.5],[128.2,41.4],[128.3,41.56],[128.04,42.03],[128.95,42.03],[129.35,42.44],[129.69,42.44],[129.88,43],[130.2,42.9],[130.3,42.66],[130.5,42.6],[130.7,42.3],[131,39],[128.33,38.61],[128.28,38.42],[128.08,38.32],[127.14,38.32],[126.99,38.21],[126.95,38.14],[126.88,38.1],[126.82,38],[126.67,37.95],[126.69,37.84],[126.667,37.828],[126.66,37.79],[126.585,37.76],[126.474,37.81],[126.42,37.845],[126.2,37.82],[126.18,37.74],[125,37.2]]]}},"Far-Eastern-University-Institute-of-Technology":{type:"Feature",id:"Far-Eastern-University-Institute-of-Technology",properties:{},geometry:{type:"Polygon",coordinates:[[[121.02539,14.82943],[121.07071,14.82511],[121.11429,14.81231],[121.15444,14.79154],[121.18961,14.76359],[121.21847,14.72954],[121.23989,14.69069],[121.25305,14.64855],[121.25747,14.60473],[121.25296,14.56092],[121.23972,14.51881],[121.21825,14.48],[121.18938,14.44599],[121.15422,14.41808],[121.11412,14.39735],[121.07062,14.38458],[121.02539,14.38027],[120.98016,14.38458],[120.93666,14.39735],[120.89656,14.41808],[120.8614,14.44599],[120.83253,14.48],[120.81106,14.51881],[120.79782,14.56092],[120.79331,14.60473],[120.79773,14.64855],[120.81089,14.69069],[120.83232,14.72954],[120.86117,14.76359],[120.89635,14.79154],[120.93649,14.81231],[120.98007,14.82511],[121.02539,14.82943]]]}},philippines:{type:"Feature",id:"philippines",properties:{},geometry:{type:"Polygon",coordinates:[[[114.93896,8.23324],[122.01416,21.71868],[127.6062,7.39515],[125.50781,5.14566],[118.89954,4.41761],[119.49829,5.28789],[117.53174,7.39515],[114.93896,8.23324]]]}},"University-of-the-Philippines-Resilience-Institute":{type:"Feature",id:"University-of-the-Philippines-Resilience-Institute",properties:{},geometry:{type:"Polygon",coordinates:[[[121.06511,14.87964],[121.11044,14.87532],[121.15402,14.86253],[121.19418,14.84176],[121.22937,14.81381],[121.25822,14.77975],[121.27965,14.74091],[121.29282,14.69877],[121.29724,14.65495],[121.29273,14.61114],[121.27948,14.56902],[121.25801,14.53022],[121.22913,14.49621],[121.19396,14.4683],[121.15385,14.44756],[121.11035,14.4348],[121.06511,14.43049],[121.01986,14.4348],[120.97636,14.44756],[120.93625,14.4683],[120.90108,14.49621],[120.8722,14.53022],[120.85073,14.56902],[120.83748,14.61114],[120.83297,14.65495],[120.83739,14.69877],[120.85056,14.74091],[120.87199,14.77975],[120.90084,14.81381],[120.93603,14.84176],[120.97619,14.86253],[121.01977,14.87532],[121.06511,14.87964]]]}},russia:{type:"Feature",id:"russia",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[22.7311,54.32754],[20.89224,54.31253],[19.66064,54.42608],[19.88848,54.86616],[21.26845,55.19048],[22.31572,55.0153],[22.75776,54.85657],[22.65105,54.58274],[22.7311,54.32754]]],[[[-180,83],[-169,66.5],[-171,64],[-180,64],[-180,83]]],[[[180,83],[180,64.97971],[179.99281,64.97433],[178.7072,64.53493],[177.41128,64.60821],[178.313,64.07593],[178.90825,63.25197],[179.37034,62.98262],[179.48636,62.56894],[179.22825,62.3041],[177.3643,62.5219],[174.56929,61.76915],[173.68013,61.65261],[172.15,60.95],[170.6985,60.33618],[170.33085,59.88177],[168.90046,60.57355],[166.29498,59.78855],[165.84,60.16],[164.87674,59.7316],[163.53929,59.86871],[163.21711,59.21101],[162.01733,58.24328],[162.05297,57.83912],[163.19191,57.61503],[163.05794,56.15924],[162.12958,56.12219],[161.70146,55.28568],[162.11749,54.85514],[160.36877,54.34433],[160.02173,53.20257],[158.53094,52.95868],[158.23118,51.94269],[156.78979,51.01105],[156.42,51.7],[155.99182,53.15895],[155.43366,55.38103],[155.91442,56.76792],[156.75815,57.3647],[156.81035,57.83204],[158.36433,58.05575],[160.15064,59.31477],[161.87204,60.343],[163.66969,61.1409],[164.47355,62.55061],[163.25842,62.46627],[162.65791,61.6425],[160.12148,60.54423],[159.30232,61.77396],[156.72068,61.43442],[154.21806,59.75818],[155.04375,59.14495],[152.81185,58.88385],[151.26573,58.78089],[151.33815,59.50396],[149.78371,59.65573],[148.54481,59.16448],[145.48722,59.33637],[142.19782,59.03998],[138.95848,57.08805],[135.12619,54.72959],[136.70171,54.60355],[137.19342,53.97732],[138.1647,53.75501],[138.80463,54.25455],[139.90151,54.18968],[141.34531,53.08957],[141.37923,52.23877],[140.59742,51.23967],[140.51308,50.04553],[140.06193,48.44671],[138.55472,46.99965],[138.21971,46.30795],[136.86232,45.1435],[135.51535,43.989],[134.86939,43.39821],[133.53687,42.81147],[132.90627,42.79849],[132.27807,43.28456],[130.93587,42.55274],[130.78,42.22],[130.64,42.395],[130.63387,42.90302],[131.14469,42.92999],[131.28856,44.11152],[131.02519,44.96796],[131.88345,45.32116],[133.09712,45.14409],[133.76964,46.11693],[134.11235,47.21248],[134.50081,47.57845],[135.02631,48.47823],[133.3736,48.18344],[132.50669,47.78896],[130.98726,47.79013],[130.58229,48.72969],[129.39782,49.4406],[127.6574,49.76027],[127.28746,50.7398],[126.93916,51.35389],[126.5644,51.78426],[125.94635,52.7928],[125.06821,53.16105],[123.57147,53.4588],[122.24575,53.43173],[121.00308,53.2514],[120.17709,52.75389],[120.72579,52.51623],[120.7382,51.96411],[120.18208,51.64355],[119.27939,50.58292],[119.28846,50.14288],[117.87924,49.51098],[116.6788,49.88853],[115.4857,49.80518],[114.96211,50.14025],[114.36246,50.2483],[112.89774,49.54357],[111.58123,49.37797],[110.66201,49.13013],[109.40245,49.29296],[108.47517,49.28255],[107.86818,49.79371],[106.8888,50.2743],[105.88659,50.40602],[104.62158,50.27532],[103.67655,50.08997],[102.25589,50.51056],[102.06521,51.25991],[100.88948,51.51686],[99.98173,51.63401],[98.86149,52.04737],[97.82574,51.011],[98.23176,50.4224],[97.25976,49.72605],[95.81402,49.97746],[94.81595,50.01343],[94.14757,50.48054],[93.10421,50.49529],[92.23471,50.80217],[90.71367,50.33181],[88.80557,49.47052],[87.75126,49.2972],[87.35997,49.21498],[86.82936,49.82668],[85.54127,49.69286],[85.11556,50.1173],[84.41638,50.3114],[83.93511,50.88925],[83.383,51.06918],[81.94599,50.8122],[80.56845,51.38834],[80.03556,50.86475],[77.80092,53.40442],[76.52518,54.177],[76.8911,54.49052],[74.38482,53.54685],[73.42568,53.48981],[73.50852,54.03562],[72.22415,54.37665],[71.18013,54.13329],[70.86527,55.16973],[69.06817,55.38525],[68.1691,54.97039],[65.66687,54.60125],[65.17853,54.35423],[61.4366,54.00625],[60.97807,53.66499],[61.69999,52.98],[60.73999,52.71999],[60.92727,52.44755],[59.96753,51.96042],[61.588,51.27266],[61.33742,50.79907],[59.93281,50.84219],[59.64228,50.54544],[58.36332,51.06364],[56.77798,51.04355],[55.71694,50.62171],[54.53288,51.02624],[52.32872,51.71865],[50.76665,51.69276],[48.70238,50.60513],[48.57784,49.87476],[47.54948,50.4547],[46.7516,49.35601],[47.04367,49.15204],[46.46645,48.39415],[47.31524,47.71585],[48.05725,47.74377],[48.69473,47.07563],[48.59325,46.56104],[49.10116,46.39933],[48.64541,45.80629],[47.67591,45.64149],[46.68201,44.6092],[47.59094,43.66016],[47.49252,42.98658],[48.58437,41.80888],[47.98728,41.40582],[47.81567,41.15142],[47.37331,41.21973],[46.68607,41.82714],[46.40495,41.86068],[45.7764,42.09244],[45.47028,42.50278],[44.53762,42.71199],[43.93121,42.55496],[43.75599,42.74083],[42.3944,43.2203],[40.92219,43.38215],[40.07697,43.5531],[39.95501,43.435],[38.68,44.28],[37.53912,44.65721],[36.67546,45.24469],[37.40317,45.40451],[38.23295,46.24087],[37.67372,46.63657],[39.14767,47.04475],[39.1212,47.26336],[38.22354,47.10219],[38.25511,47.5464],[38.77057,47.82562],[39.73828,47.89894],[39.89562,48.23241],[39.67465,48.78382],[40.08079,49.30743],[40.06904,49.60105],[38.59499,49.92646],[38.01063,49.91566],[37.39346,50.38395],[36.62617,50.22559],[35.35612,50.5772],[35.37791,50.77394],[35.02218,51.20757],[34.22482,51.25599],[34.14198,51.56641],[34.39173,51.76888],[33.7527,52.33508],[32.71576,52.23846],[32.41206,52.28869],[32.15944,52.06125],[31.78597,52.10168],[31.54002,52.74205],[31.3052,53.074],[31.49764,53.16743],[32.30452,53.13273],[32.69364,53.35142],[32.4056,53.61805],[31.73127,53.79403],[31.79142,53.97464],[31.38447,54.15706],[30.75753,54.81177],[30.97184,55.08155],[30.87391,55.55098],[29.89629,55.78946],[29.37157,55.67009],[29.22951,55.91834],[28.17671,56.16913],[27.85528,56.75933],[27.77002,57.24426],[27.28818,57.47453],[27.71669,57.7919],[27.42015,58.72457],[28.1317,59.30083],[27.98112,59.47537],[29.1177,60.02805],[28.07,60.50352],[30.21111,61.78003],[31.13999,62.35769],[31.51609,62.86769],[30.03587,63.55281],[30.44468,64.20445],[29.54443,64.94867],[30.21765,65.80598],[29.05459,66.94429],[29.97743,67.6983],[28.44594,68.36461],[28.59193,69.06478],[35,71],[40,83],[180,83]]]]}},south_korea:{type:"Feature",id:"south_korea",properties:{},geometry:{type:"Polygon",coordinates:[[[125,33],[125,37.2],[126.18,37.74],[126.2,37.82],[126.42,37.845],[126.474,37.81],[126.585,37.76],[126.66,37.79],[126.667,37.828],[126.69,37.84],[126.67,37.95],[126.82,38],[126.88,38.1],[126.95,38.14],[126.99,38.21],[127.14,38.32],[128.08,38.32],[128.28,38.42],[128.33,38.61],[131,39],[131.3,36.6],[127.3,33],[125,33]]]}},sri_lanka:{type:"Feature",id:"sri_lanka",properties:{name:"Sri Lanka"},geometry:{type:"Polygon",coordinates:[[[81.78796,7.52306],[81.63732,6.48177],[81.21802,6.19714],[80.34836,5.96837],[79.87247,6.76346],[79.69517,8.20084],[80.1478,9.82408],[80.83882,9.26843],[81.30432,8.56421],[81.78796,7.52306]]]}},taiwan:{type:"Feature",id:"taiwan",properties:{},geometry:{type:"Polygon",coordinates:[[[119,23.5],[121.7,26],[122.5,25.5],[121.8,21.8],[120,21.5],[119,23.5]]]}},thailand_cnx:{type:"Feature",id:"thailand_cnx",properties:{},geometry:{type:"Polygon",coordinates:[[[98.4375,18.2319],[98.4375,19.2255],[99.5306,19.2255],[99.5306,18.2319],[98.4375,18.2319]]]}},thailand_full:{type:"Feature",id:"thailand_full",properties:{},geometry:{type:"Polygon",coordinates:[[[97.50366,8.39358],[97.7124,9.60075],[99.47021,11.8566],[98.05298,14.84923],[98.32764,16.15137],[97.21802,18.39623],[97.38281,19.73568],[100.2832,20.66363],[101.37085,19.69431],[101.40381,18.27109],[104.08447,18.58377],[105.76538,16.06693],[105.52368,14.15788],[102.854,13.82741],[103.00781,11.69527],[102.12891,5.81276],[101.11542,5.4875],[100.66498,6.42448],[99.13788,6.34806],[97.50366,8.39358]]]}},"al-tirana":{type:"Feature",id:"al-tirana",properties:{},geometry:{type:"Polygon",coordinates:[[[19.77796,41.36244],[19.78028,41.36267],[19.78123,41.36014],[19.78004,41.35915],[19.78099,41.35803],[19.77752,41.35682],[19.78082,41.35409],[19.77658,41.35122],[19.78029,41.34936],[19.7832,41.35026],[19.7899,41.34976],[19.79536,41.34793],[19.80046,41.3502],[19.81074,41.35213],[19.81874,41.35044],[19.82238,41.35173],[19.83428,41.35186],[19.84174,41.35434],[19.84682,41.3589],[19.84829,41.35842],[19.85095,41.36008],[19.85159,41.35903],[19.8561,41.35843],[19.85488,41.3545],[19.85784,41.35167],[19.85518,41.35228],[19.85275,41.35145],[19.85276,41.34956],[19.85151,41.34955],[19.85462,41.34419],[19.85876,41.33995],[19.8642,41.33947],[19.86465,41.33789],[19.86829,41.33772],[19.86999,41.33882],[19.87262,41.33794],[19.87259,41.33606],[19.87543,41.3355],[19.87644,41.33126],[19.87554,41.33042],[19.87232,41.33102],[19.87095,41.32999],[19.86659,41.33088],[19.86535,41.32664],[19.86164,41.32543],[19.85813,41.3214],[19.85489,41.32066],[19.85575,41.31876],[19.84532,41.314],[19.84458,41.31212],[19.85095,41.30156],[19.84975,41.29748],[19.8457,41.29559],[19.83906,41.29791],[19.82955,41.29568],[19.82738,41.29791],[19.82504,41.29827],[19.82605,41.29986],[19.82333,41.30509],[19.82032,41.30525],[19.81821,41.3037],[19.81168,41.30787],[19.81162,41.31002],[19.80709,41.31302],[19.79827,41.31487],[19.79767,41.31238],[19.79374,41.313],[19.78954,41.31035],[19.7852,41.31117],[19.78057,41.3142],[19.77976,41.31244],[19.78765,41.30887],[19.78369,41.30473],[19.77721,41.30247],[19.77515,41.30039],[19.77077,41.30363],[19.76019,41.29972],[19.75706,41.30651],[19.75854,41.30874],[19.75473,41.31208],[19.75643,41.31314],[19.75571,41.31548],[19.76586,41.3199],[19.76813,41.32266],[19.77017,41.32139],[19.76811,41.31882],[19.76922,41.31754],[19.77559,41.31854],[19.77323,41.32284],[19.77378,41.32422],[19.77893,41.32349],[19.77968,41.32518],[19.78451,41.32399],[19.78734,41.32541],[19.78321,41.33328],[19.78343,41.33578],[19.77659,41.33783],[19.78083,41.34567],[19.76839,41.35239],[19.75832,41.35489],[19.76053,41.35931],[19.75484,41.3598],[19.75767,41.36542],[19.76169,41.36185],[19.76434,41.36249],[19.76411,41.36393],[19.76775,41.36369],[19.76857,41.36459],[19.77145,41.364],[19.77204,41.36125],[19.77796,41.36244]]]}},albania:{type:"Feature",id:"albania",properties:{},geometry:{type:"Polygon",coordinates:[[[19.39087,41.86138],[19.40186,42.09007],[19.27002,42.18376],[19.69849,42.67436],[19.81384,42.46399],[20.07202,42.55713],[20.25879,42.33824],[20.34668,42.32606],[20.51697,42.23665],[20.61584,41.92272],[20.52795,41.71803],[20.56091,41.57847],[20.44556,41.54559],[20.56091,41.40566],[20.50049,41.3397],[20.58289,41.09177],[20.65979,41.07521],[20.71472,40.90521],[20.95642,40.92181],[20.98389,40.7431],[21.07178,40.60978],[20.95093,40.47202],[20.85205,40.47202],[20.68726,40.10329],[20.43457,40.07387],[20.33569,39.99396],[20.43457,39.82119],[20.38513,39.77899],[20.28625,39.8001],[20.31921,39.72831],[20.20386,39.63954],[19.97314,39.69451],[20.0116,39.86759],[19.86328,40.04444],[19.35791,40.2921],[19.25354,40.51798],[19.4458,40.3298],[19.50073,40.43859],[19.31396,40.65564],[19.41833,40.90936],[19.53918,40.92181],[19.4458,41.00063],[19.43481,41.15384],[19.50623,41.2489],[19.4458,41.32733],[19.41284,41.4139],[19.51721,41.52092],[19.45129,41.60312],[19.52271,41.57847],[19.58862,41.62366],[19.59961,41.7836],[19.39087,41.86138]]]}},austria:{type:"Feature",id:"austria",properties:{},geometry:{type:"Polygon",coordinates:[[[16.50733,46.99293],[16.28342,46.99293],[16.13584,46.8713],[15.98317,46.81909],[16.04933,46.65517],[15.86104,46.71801],[15.75926,46.69009],[15.56079,46.67962],[15.57606,46.63421],[15.47937,46.60276],[15.43357,46.65168],[15.22493,46.63421],[15.04682,46.64819],[14.99084,46.58877],[14.9603,46.62373],[14.85344,46.60276],[14.83308,46.50127],[14.75166,46.49776],[14.68041,46.43818],[14.61426,46.43818],[14.57864,46.37853],[14.44124,46.43116],[14.16135,46.42766],[14.12573,46.47674],[14.01886,46.47674],[13.91199,46.52578],[13.82548,46.50477],[13.44381,46.56078],[13.30641,46.55028],[13.1283,46.58877],[12.84332,46.61324],[12.72628,46.6412],[12.51255,46.66565],[12.35988,46.70405],[12.36497,46.77032],[12.28863,46.77729],[12.27337,46.88522],[12.20721,46.87478],[12.13088,46.90261],[12.11561,46.99987],[12.25301,47.06577],[12.2123,47.0935],[11.9833,47.04497],[11.73394,46.96168],[11.63217,47.01028],[11.54057,46.97557],[11.49986,47.00681],[11.41843,46.96515],[11.25559,46.97557],[11.1131,46.91304],[11.04185,46.76335],[10.88919,46.75986],[10.74161,46.78426],[10.70599,46.86435],[10.57877,46.83998],[10.45663,46.85043],[10.47699,46.92694],[10.38539,46.98946],[10.23272,46.86435],[10.12076,46.83302],[9.86632,46.94084],[9.90194,47.00334],[9.68312,47.05884],[9.61188,47.03804],[9.63223,47.12813],[9.58134,47.1662],[9.54063,47.26644],[9.60679,47.34926],[9.67294,47.36994],[9.64241,47.44571],[9.56608,47.48011],[9.71365,47.52824],[9.7849,47.59692],[9.83579,47.54542],[9.94774,47.53855],[10.09023,47.44915],[10.11059,47.36649],[10.2429,47.38717],[10.18692,47.2699],[10.32432,47.29751],[10.48208,47.44915],[10.43119,47.48699],[10.44137,47.59005],[10.48717,47.55229],[10.54823,47.53511],[10.59912,47.56602],[10.75688,47.53168],[10.88919,47.54542],[10.94008,47.48699],[10.99605,47.39061],[11.23523,47.44227],[11.28103,47.3975],[11.42352,47.51449],[11.57619,47.50762],[11.60672,47.59005],[11.83572,47.58662],[12.00366,47.62436],[12.20721,47.60378],[12.16141,47.69634],[12.2581,47.74427],[12.25301,47.67921],[12.43112,47.71004],[12.49219,47.63122],[12.56852,47.62779],[12.62959,47.68949],[12.77208,47.66893],[12.83315,47.54198],[12.97564,47.47323],[13.04179,47.49387],[13.0367,47.55572],[13.09777,47.64151],[13.03161,47.71004],[12.90439,47.72031],[13.00617,47.84683],[12.9451,47.93555],[12.86368,47.95941],[12.86368,48.00369],[12.75172,48.09894],[12.87386,48.21097],[12.96037,48.21097],[13.04179,48.2652],[13.18428,48.29907],[13.26061,48.2923],[13.39801,48.35659],[13.44381,48.41742],[13.43872,48.55234],[13.50997,48.58601],[13.61175,48.57255],[13.72879,48.5119],[13.78477,48.57255],[13.82039,48.62639],[13.79495,48.71713],[13.85093,48.77417],[14.05957,48.66338],[14.01377,48.63312],[14.07484,48.59274],[14.21733,48.59611],[14.3649,48.54897],[14.46668,48.64993],[14.55828,48.59611],[14.59899,48.62639],[14.72113,48.57591],[14.72113,48.6869],[14.8229,48.7272],[14.81782,48.77753],[14.96472,48.78518],[14.98936,49.01266],[15.14859,48.99503],[15.19439,48.93155],[15.30635,48.98501],[15.39286,48.98501],[15.48446,48.92821],[15.74908,48.8546],[15.84068,48.88807],[16.00862,48.78088],[16.20708,48.73391],[16.39537,48.73727],[16.49206,48.81105],[16.69053,48.77417],[16.7058,48.73391],[16.89917,48.71377],[16.97551,48.51527],[16.84828,48.45118],[16.85337,48.34644],[16.95515,48.25165],[16.99077,48.1499],[17.09255,48.13971],[17.08237,48.02412],[17.17397,48.02071],[17.08237,47.87414],[16.98568,47.86732],[17.08237,47.80925],[17.09255,47.70319],[16.74142,47.67921],[16.7058,47.75112],[16.53786,47.75454],[16.54804,47.70662],[16.42082,47.66893],[16.57348,47.6175],[16.67017,47.63122],[16.71088,47.53855],[16.66,47.44915],[16.54295,47.39406],[16.46153,47.39406],[16.49206,47.2768],[16.42591,47.19733],[16.47171,47.1489],[16.54804,47.1489],[16.47679,47.07964],[16.52768,47.05884],[16.50733,46.99293]]]}},graz:{type:"Feature",id:"graz",properties:{},geometry:{type:"Polygon",coordinates:[[[15.26276,46.94182],[15.26276,47.16918],[15.62943,47.16918],[15.62943,46.94182],[15.26276,46.94182]]]}},belarus:{type:"Feature",id:"belarus",properties:{},geometry:{type:"Polygon",coordinates:[[[23.19351,52.37811],[23.38715,52.57134],[23.67554,52.61806],[23.87329,52.72215],[23.75656,53.20027],[23.42148,53.83956],[23.43521,53.97467],[24.33609,53.99082],[24.73022,54.03762],[24.70825,54.16967],[24.95682,54.18253],[25.48004,54.37176],[25.63385,54.95239],[26.53748,55.24468],[26.27655,55.26973],[26.48804,55.71009],[26.89728,55.87993],[27.56195,55.82597],[27.56195,55.97226],[27.98218,56.20976],[29.64935,55.96304],[30.28107,55.89303],[30.95398,55.64815],[31.20941,54.67065],[32.47009,53.7617],[32.83539,53.3866],[32.22839,53.02635],[31.51978,53.16159],[31.84662,52.06262],[30.8139,51.93411],[30.4953,51.21032],[27.71301,51.46085],[25.85083,51.88666],[24.5874,51.81541],[23.51898,51.41634],[23.45581,51.99841],[23.15918,52.1874],[23.19351,52.37811]]]}},belgium:{type:"Feature",id:"belgium",properties:{},geometry:{type:"Polygon",coordinates:[[[3.08167,51.55146],[3.30963,51.43346],[3.36834,51.36996],[3.37761,51.35956],[3.37589,51.34841],[3.38482,51.34337],[3.38722,51.33887],[3.38688,51.33286],[3.36096,51.31527],[3.3819,51.30207],[3.37641,51.29928],[3.36782,51.29681],[3.38293,51.28726],[3.38327,51.2806],[3.37915,51.27824],[3.38121,51.27598],[3.39031,51.27416],[3.39598,51.26686],[3.40439,51.26449],[3.40937,51.25923],[3.41795,51.26127],[3.42138,51.25848],[3.4267,51.25482],[3.42894,51.24709],[3.44679,51.24279],[3.52592,51.24677],[3.51425,51.2878],[3.52927,51.28935],[3.53434,51.28474],[3.53811,51.28479],[3.54266,51.29177],[3.55717,51.29187],[3.5588,51.2959],[3.56163,51.29644],[3.56489,51.29569],[3.5727,51.29225],[3.57253,51.29107],[3.57571,51.28946],[3.57905,51.28951],[3.58206,51.28876],[3.58214,51.29247],[3.58618,51.29316],[3.58026,51.29869],[3.58987,51.30663],[3.62626,51.29413],[3.64145,51.28914],[3.64411,51.29069],[3.6581,51.29096],[3.6781,51.28345],[3.67905,51.28168],[3.69063,51.28173],[3.69424,51.27668],[3.71801,51.27217],[3.71827,51.27368],[3.72273,51.274],[3.75054,51.27061],[3.75286,51.27104],[3.75681,51.26986],[3.76342,51.26261],[3.76848,51.26106],[3.77123,51.26218],[3.77355,51.2646],[3.79698,51.25665],[3.79071,51.24553],[3.79063,51.21608],[3.80453,51.2143],[3.80796,51.21398],[3.82479,51.21086],[3.8356,51.21516],[3.85225,51.21484],[3.85895,51.21291],[3.89002,51.22473],[3.89568,51.21968],[3.89482,51.2143],[3.88298,51.20764],[3.88762,51.20301],[3.89345,51.20527],[3.89929,51.20398],[3.91542,51.20989],[3.91388,51.21764],[3.92349,51.21989],[3.93105,51.22194],[3.9374,51.21398],[3.94323,51.21721],[3.95748,51.21764],[3.96023,51.22527],[3.97654,51.22667],[3.9846,51.2357],[3.99473,51.23914],[4.00469,51.24311],[4.01636,51.24623],[4.03851,51.24687],[4.04125,51.24397],[4.05842,51.24505],[4.06082,51.24773],[4.16365,51.29391],[4.23815,51.35345],[4.22373,51.35881],[4.21686,51.36878],[4.21635,51.37435],[4.33685,51.37842],[4.34235,51.35988],[4.35093,51.35967],[4.36861,51.35795],[4.38543,51.35592],[4.39505,51.35753],[4.42114,51.36707],[4.42818,51.36642],[4.42337,51.37242],[4.42904,51.37521],[4.38852,51.40702],[4.38097,51.42137],[4.38904,51.42597],[4.39093,51.43304],[4.3935,51.43486],[4.39161,51.44416],[4.37891,51.44502],[4.37719,51.44716],[4.38131,51.45165],[4.38509,51.4508],[4.44157,51.47005],[4.46354,51.4723],[4.47487,51.47978],[4.48654,51.4786],[4.53856,51.48416],[4.55074,51.47283],[4.53238,51.44877],[4.53701,51.42522],[4.57512,51.43411],[4.63469,51.42651],[4.64087,51.42372],[4.65048,51.42747],[4.6673,51.42779],[4.66473,51.44556],[4.69236,51.45326],[4.70146,51.46845],[4.71416,51.47026],[4.71519,51.47304],[4.72781,51.48486],[4.74524,51.48988],[4.74721,51.49368],[4.74781,51.49651],[4.75047,51.49945],[4.75648,51.50196],[4.77253,51.50682],[4.79485,51.5034],[4.82025,51.49784],[4.82643,51.48609],[4.84737,51.48352],[4.84291,51.46449],[4.84909,51.46085],[4.84463,51.4478],[4.83089,51.44438],[4.83742,51.42683],[4.8563,51.41805],[4.88171,51.43325],[4.91741,51.4127],[4.93389,51.42083],[4.90162,51.44053],[4.9387,51.46192],[4.97646,51.44545],[5.02419,51.48523],[5.03225,51.48919],[5.04187,51.4878],[5.04135,51.48053],[5.04856,51.47433],[5.08032,51.47475],[5.10658,51.43047],[5.07294,51.39358],[5.11765,51.36149],[5.12074,51.35592],[5.13268,51.3475],[5.13525,51.31608],[5.1622,51.31135],[5.17241,51.31688],[5.19001,51.32069],[5.19585,51.32123],[5.19988,51.32348],[5.24331,51.30594],[5.2276,51.26841],[5.23842,51.26208],[5.26357,51.26782],[5.29584,51.26267],[5.31567,51.26449],[5.33755,51.26428],[5.34107,51.26686],[5.34399,51.27309],[5.34554,51.27668],[5.4172,51.2632],[5.43222,51.27706],[5.43806,51.27695],[5.44132,51.2827],[5.46398,51.28549],[5.47608,51.29209],[5.47608,51.29536],[5.48226,51.29923],[5.48201,51.301],[5.51625,51.29612],[5.52011,51.28957],[5.54363,51.27298],[5.55711,51.26718],[5.55874,51.2631],[5.55745,51.25316],[5.55651,51.24472],[5.56131,51.22301],[5.63667,51.20355],[5.65401,51.19812],[5.65513,51.1936],[5.65212,51.1929],[5.65753,51.1865],[5.66834,51.18671],[5.67624,51.18548],[5.67761,51.18435],[5.6856,51.18542],[5.68946,51.18623],[5.69815,51.1842],[5.70201,51.18397],[5.70165,51.18275],[5.70645,51.18248],[5.70815,51.18223],[5.70987,51.1812],[5.71431,51.1839],[5.7177,51.18475],[5.72948,51.18601],[5.73031,51.18553],[5.73274,51.18564],[5.73274,51.18615],[5.7345,51.18657],[5.73993,51.18757],[5.74576,51.19032],[5.75769,51.18618],[5.75821,51.1851],[5.76731,51.18413],[5.77821,51.1787],[5.77477,51.17337],[5.7801,51.17289],[5.78078,51.17208],[5.77992,51.17052],[5.77673,51.1702],[5.77585,51.17028],[5.77321,51.16967],[5.77274,51.16925],[5.77192,51.16924],[5.77093,51.1698],[5.76993,51.16905],[5.77059,51.16458],[5.77383,51.16453],[5.77385,51.16558],[5.77638,51.16565],[5.77701,51.16306],[5.7775,51.16298],[5.77808,51.16353],[5.77975,51.16356],[5.78025,51.15935],[5.77797,51.15803],[5.77677,51.15554],[5.77829,51.15502],[5.77907,51.15319],[5.78456,51.15421],[5.79005,51.15798],[5.79512,51.15798],[5.80095,51.15954],[5.80027,51.16094],[5.80361,51.1632],[5.80619,51.16352],[5.8134,51.16051],[5.8146,51.16325],[5.82473,51.16874],[5.83434,51.16314],[5.83589,51.15905],[5.84078,51.15819],[5.84129,51.15523],[5.8564,51.15071],[5.86258,51.14446],[5.85674,51.14037],[5.85159,51.13671],[5.84816,51.12938],[5.83374,51.12744],[5.82241,51.12249],[5.81211,51.11387],[5.82275,51.11171],[5.84026,51.10611],[5.83683,51.0936],[5.82584,51.08929],[5.80559,51.09102],[5.81142,51.07851],[5.80421,51.07031],[5.80868,51.06233],[5.797,51.05564],[5.77709,51.05693],[5.76576,51.03384],[5.78568,51.02412],[5.77263,51.01354],[5.77332,51.00555],[5.76885,50.99345],[5.7589,50.98912],[5.74654,50.97767],[5.72765,50.9647],[5.72834,50.95843],[5.73761,50.96145],[5.75306,50.96232],[5.76851,50.9541],[5.7589,50.94567],[5.73521,50.92446],[5.73177,50.91061],[5.7177,50.90563],[5.70362,50.9078],[5.70122,50.89545],[5.68954,50.88224],[5.68096,50.87726],[5.67169,50.87574],[5.65453,50.87054],[5.64766,50.86274],[5.64766,50.84757],[5.65453,50.83435],[5.66448,50.82437],[5.6971,50.81353],[5.71838,50.80333],[5.72113,50.77642],[5.78018,50.79639],[5.82962,50.77294],[5.9079,50.77381],[6.00403,50.76947],[6.04248,50.76252],[6.05621,50.75123],[6.129,50.73385],[6.16745,50.69037],[6.21689,50.66252],[6.2471,50.65991],[6.28143,50.64424],[6.28693,50.62333],[6.27045,50.59631],[6.24847,50.58542],[6.24058,50.56078],[6.22719,50.5538],[6.21586,50.54965],[6.20419,50.53591],[6.21552,50.52063],[6.22993,50.50295],[6.23989,50.50513],[6.2598,50.50338],[6.27766,50.50731],[6.29139,50.50076],[6.3089,50.50513],[6.3216,50.49923],[6.35078,50.49377],[6.35765,50.48722],[6.34838,50.47936],[6.35147,50.46188],[6.37756,50.45925],[6.38065,50.44657],[6.37619,50.40786],[6.36383,50.39561],[6.35387,50.38028],[6.36246,50.37634],[6.41155,50.34415],[6.41499,50.33363],[6.40675,50.31982],[6.38718,50.31763],[6.36829,50.3025],[6.35765,50.30338],[6.33018,50.31565],[6.31645,50.31478],[6.30444,50.30601],[6.29585,50.29044],[6.29414,50.27354],[6.27628,50.26411],[6.22856,50.25511],[6.21483,50.25094],[6.20659,50.24062],[6.19869,50.23403],[6.17947,50.23139],[6.18221,50.22678],[6.17672,50.22151],[6.19251,50.21206],[6.19801,50.18437],[6.19217,50.17646],[6.15166,50.16656],[6.15509,50.15491],[6.16058,50.14633],[6.15578,50.13554],[6.14376,50.13224],[6.13243,50.12454],[6.10737,50.13378],[6.11012,50.16282],[6.09947,50.16502],[6.08677,50.15425],[6.06583,50.14875],[6.02943,50.15579],[6.01639,50.17294],[5.97931,50.16898],[5.96832,50.12542],[5.94566,50.12278],[5.90378,50.10473],[5.89073,50.06948],[5.86876,50.06243],[5.87837,50.03289],[5.83168,50.01039],[5.84404,49.99935],[5.84747,49.98214],[5.81932,49.95785],[5.78773,49.95255],[5.77263,49.91144],[5.74722,49.89994],[5.7843,49.88977],[5.7946,49.87473],[5.76645,49.86012],[5.75203,49.834],[5.76645,49.80121],[5.79941,49.79855],[5.84404,49.74977],[5.83923,49.72847],[5.87906,49.72892],[5.89622,49.70672],[5.87563,49.67963],[5.91176,49.66218],[5.90567,49.65779],[5.9073,49.65479],[5.90429,49.65213],[5.90507,49.64735],[5.90567,49.64262],[5.90876,49.63868],[5.89854,49.63362],[5.89374,49.63573],[5.88524,49.6319],[5.88799,49.62645],[5.87837,49.62],[5.87829,49.61305],[5.8776,49.60737],[5.84996,49.59675],[5.85202,49.58824],[5.86318,49.58773],[5.86524,49.58974],[5.86962,49.59013],[5.87279,49.58913],[5.87502,49.58295],[5.87073,49.58134],[5.87288,49.57961],[5.87314,49.57677],[5.87451,49.5736],[5.86387,49.56965],[5.86164,49.56603],[5.85288,49.56347],[5.85168,49.56185],[5.84661,49.5608],[5.84773,49.55896],[5.84722,49.55567],[5.84224,49.55233],[5.8267,49.54933],[5.82524,49.55066],[5.82026,49.54599],[5.81623,49.54599],[5.81245,49.54582],[5.80765,49.5486],[5.79941,49.54816],[5.78859,49.55194],[5.77263,49.56141],[5.76181,49.55963],[5.75941,49.54203],[5.7407,49.53724],[5.73521,49.53813],[5.72971,49.54225],[5.7189,49.53802],[5.70156,49.5378],[5.6904,49.54392],[5.67993,49.54348],[5.67787,49.54715],[5.66757,49.54682],[5.66002,49.5505],[5.64526,49.54437],[5.62878,49.53579],[5.6262,49.52287],[5.62346,49.5144],[5.61298,49.50292],[5.60217,49.50671],[5.59359,49.51953],[5.56904,49.52565],[5.56372,49.52409],[5.55462,49.52744],[5.54192,49.51384],[5.50329,49.50504],[5.4875,49.50526],[5.48458,49.50113],[5.47085,49.49322],[5.46209,49.49679],[5.46055,49.50738],[5.45214,49.51083],[5.44304,49.51841],[5.46158,49.52788],[5.46209,49.53735],[5.4372,49.55283],[5.45368,49.56542],[5.44458,49.56586],[5.43549,49.56887],[5.42673,49.5899],[5.42862,49.59358],[5.41523,49.59947],[5.40871,49.60748],[5.39892,49.6096],[5.39652,49.6146],[5.3742,49.62128],[5.37025,49.62105],[5.36047,49.62428],[5.34897,49.62895],[5.34279,49.61505],[5.33781,49.61427],[5.32957,49.61494],[5.32064,49.61271],[5.31378,49.6096],[5.31034,49.61071],[5.30863,49.61694],[5.30279,49.62317],[5.30245,49.62962],[5.30794,49.63851],[5.31738,49.64807],[5.33043,49.65318],[5.30708,49.67085],[5.29284,49.67607],[5.27962,49.68496],[5.2791,49.6884],[5.26829,49.69495],[5.25782,49.69295],[5.2482,49.68529],[5.24117,49.68429],[5.24134,49.68851],[5.23104,49.69007],[5.2173,49.6864],[5.21421,49.68784],[5.20666,49.69451],[5.19722,49.69062],[5.18932,49.6924],[5.17542,49.6924],[5.16306,49.69218],[5.1622,49.6995],[5.1646,49.71083],[5.15963,49.71438],[5.15327,49.71671],[5.15087,49.71249],[5.14263,49.70739],[5.14006,49.71194],[5.13147,49.71205],[5.12529,49.71105],[5.12032,49.71704],[5.12358,49.72637],[5.11723,49.73757],[5.09302,49.76297],[5.08796,49.76475],[5.08452,49.76186],[5.07963,49.76164],[5.07611,49.76109],[5.07139,49.75987],[5.06727,49.76081],[5.06144,49.76192],[5.06092,49.76624],[5.04908,49.76741],[5.00599,49.7816],[5.00547,49.7832],[5.00504,49.78719],[5.00041,49.79312],[4.99741,49.79379],[4.99603,49.79506],[4.99715,49.79672],[4.99672,49.79955],[4.9938,49.79977],[4.98539,49.79888],[4.97895,49.79972],[4.96977,49.8011],[4.96779,49.79756],[4.96179,49.79717],[4.95569,49.80027],[4.94865,49.79811],[4.94814,49.79473],[4.94368,49.79035],[4.94213,49.79035],[4.94132,49.79226],[4.93887,49.7926],[4.93286,49.78977],[4.9329,49.78825],[4.93114,49.78661],[4.92939,49.78686],[4.92102,49.78805],[4.91793,49.78708],[4.91269,49.78573],[4.90475,49.78492],[4.89947,49.78597],[4.89741,49.78836],[4.88913,49.78769],[4.88724,49.78786],[4.88244,49.79049],[4.87939,49.79249],[4.87591,49.79282],[4.87068,49.79268],[4.87188,49.78922],[4.87081,49.78839],[4.86227,49.78805],[4.85712,49.78966],[4.85201,49.79035],[4.84909,49.79368],[4.8563,49.79722],[4.86076,49.80354],[4.86214,49.81373],[4.87364,49.81883],[4.86712,49.82071],[4.86712,49.82625],[4.86506,49.83444],[4.8654,49.83964],[4.85304,49.84042],[4.84943,49.84894],[4.84789,49.86278],[4.84463,49.8703],[4.85561,49.87096],[4.87484,49.89618],[4.87347,49.90459],[4.87999,49.90879],[4.87553,49.92006],[4.85424,49.92957],[4.84325,49.94636],[4.82849,49.94724],[4.78558,49.9563],[4.78523,49.9828],[4.80995,49.99626],[4.81647,50.02671],[4.83021,50.04127],[4.81441,50.04788],[4.8127,50.06794],[4.8357,50.07014],[4.83192,50.09085],[4.84291,50.10363],[4.86626,50.10318],[4.85836,50.1164],[4.88274,50.13664],[4.87072,50.14875],[4.8278,50.14963],[4.82025,50.15579],[4.76875,50.1296],[4.75262,50.10539],[4.70352,50.08424],[4.70112,50.01502],[4.69803,49.99229],[4.63383,49.98037],[4.56963,49.96712],[4.53255,49.94857],[4.51401,49.93973],[4.44122,49.93178],[4.35745,49.94327],[4.31145,49.95564],[4.22974,49.94945],[4.18785,49.95034],[4.16725,49.96801],[4.12331,49.97286],[4.12193,50.01215],[4.14734,50.05273],[4.18167,50.05493],[4.22012,50.07301],[4.1906,50.10252],[4.18922,50.1263],[4.16382,50.1219],[4.11644,50.13158],[4.13841,50.21734],[4.20708,50.25555],[4.1827,50.27025],[4.16382,50.28298],[4.15901,50.27596],[4.17309,50.2685],[4.17309,50.25994],[4.16519,50.25401],[4.13258,50.25489],[4.1312,50.26433],[4.13017,50.27091],[4.11644,50.27464],[4.12262,50.2821],[4.1185,50.2957],[4.09653,50.30864],[4.07696,50.30579],[4.07215,50.31807],[4.05533,50.32946],[4.03679,50.33998],[4.02512,50.35291],[3.98598,50.33911],[3.95748,50.33845],[3.8974,50.32267],[3.88264,50.32377],[3.88092,50.33494],[3.85448,50.33911],[3.84933,50.34875],[3.82942,50.35028],[3.82633,50.34217],[3.80711,50.3413],[3.80608,50.35072],[3.74256,50.34393],[3.73604,50.31149],[3.72437,50.30272],[3.70583,50.29921],[3.68076,50.31894],[3.66428,50.34152],[3.65227,50.37087],[3.66634,50.39123],[3.66325,50.42143],[3.65398,50.4551],[3.62995,50.46712],[3.60832,50.49006],[3.59974,50.48657],[3.55476,50.48853],[3.49915,50.47936],[3.48198,50.48635],[3.50945,50.52085],[3.4758,50.52478],[3.45726,50.50513],[3.43735,50.49945],[3.36662,50.48416],[3.27324,50.52609],[3.25951,50.60154],[3.2341,50.65251],[3.24097,50.67862],[3.24783,50.70037],[3.19565,50.70776],[3.1311,50.77642],[3.06725,50.76296],[2.99652,50.74428],[2.95807,50.67035],[2.82898,50.68602],[2.68341,50.77816],[2.57629,50.81114],[2.5708,50.93939],[2.51862,51.05866],[2.36755,51.2516],[3.08167,51.55146]]]}},be_brussels:{type:"Feature",id:"be_brussels",properties:{},geometry:{type:"Polygon",coordinates:[[[4.37973,50.76382],[4.37853,50.76811],[4.34522,50.77337],[4.34205,50.77164],[4.32952,50.77381],[4.31621,50.78624],[4.31458,50.79454],[4.30282,50.79709],[4.29802,50.80593],[4.28901,50.80691],[4.2854,50.80506],[4.27579,50.80696],[4.27218,50.81011],[4.25802,50.80935],[4.25519,50.8151],[4.24403,50.81548],[4.24343,50.82182],[4.25227,50.82697],[4.25107,50.83288],[4.25467,50.83695],[4.27193,50.84036],[4.28094,50.84215],[4.28042,50.85721],[4.27802,50.85911],[4.27699,50.86713],[4.28274,50.87227],[4.29561,50.88094],[4.29553,50.88262],[4.29149,50.88495],[4.29004,50.88982],[4.30634,50.89274],[4.31647,50.89605],[4.32892,50.90249],[4.34025,50.90411],[4.34857,50.90341],[4.36213,50.9033],[4.3726,50.90032],[4.38119,50.90319],[4.38462,50.91093],[4.39578,50.91407],[4.41543,50.91342],[4.41655,50.90757],[4.4296,50.90103],[4.43595,50.89502],[4.43106,50.89014],[4.44007,50.87845],[4.43183,50.87628],[4.4253,50.86615],[4.44599,50.85992],[4.44968,50.85591],[4.46238,50.85396],[4.46899,50.84573],[4.46959,50.83537],[4.47972,50.82036],[4.45947,50.81661],[4.45921,50.80626],[4.48238,50.79617],[4.4817,50.79134],[4.46427,50.78645],[4.435,50.775],[4.43028,50.77517],[4.38917,50.76377],[4.37973,50.76382]]]}},be_flanders:{type:"Feature",id:"be_flanders",properties:{},geometry:{type:"Polygon",coordinates:[[[2.52239,51.10172],[3.12606,51.34118],[3.17493,51.38246],[3.37615,51.38784],[3.41065,51.3304],[3.40202,51.28548],[3.49114,51.2567],[3.48251,51.30345],[3.57737,51.32322],[3.81309,51.27289],[3.82172,51.23691],[3.93095,51.23691],[4.05456,51.27469],[4.20116,51.35195],[4.16954,51.38067],[4.34202,51.39502],[4.36502,51.46491],[4.53749,51.50072],[4.57199,51.47924],[4.56049,51.44879],[4.63811,51.45058],[4.75022,51.52397],[4.83645,51.50787],[5.0808,51.49893],[5.13541,51.447],[5.10667,51.39143],[5.26477,51.31783],[5.26477,51.28727],[5.4085,51.29267],[5.48612,51.32501],[5.58098,51.28368],[5.58385,51.23511],[5.76783,51.2045],[5.87706,51.16125],[5.70459,50.80293],[5.90581,50.78657],[5.93743,50.73202],[5.90293,50.70108],[5.81382,50.69379],[5.61547,50.76112],[5.50049,50.712],[5.2044,50.7029],[5.16416,50.67558],[5.03768,50.70108],[4.98881,50.75021],[4.91694,50.72656],[4.79046,50.76658],[4.68122,50.77021],[4.66973,50.73566],[4.2874,50.67922],[3.91083,50.6774],[3.71823,50.75203],[3.65499,50.712],[3.53426,50.71018],[3.51413,50.74112],[3.45664,50.74384],[3.37328,50.69562],[3.31004,50.70745],[3.28991,50.73657],[3.16487,50.74294],[3.13181,50.77203],[3.08007,50.76021],[2.87453,50.7393],[2.89609,50.71109],[2.87453,50.69562],[2.79692,50.7029],[2.69918,50.8002],[2.62013,50.79747],[2.56982,50.8583],[2.56695,50.92358],[2.60288,50.94985],[2.5497,50.99601],[2.52239,51.10172]]]}},be_wallonia:{type:"Feature",id:"be_wallonia",properties:{},geometry:{type:"Polygon",coordinates:[[[5.78257,49.87573],[5.73919,49.83362],[5.75516,49.79146],[5.78839,49.79665],[5.91064,49.66249],[5.84857,49.59723],[5.87102,49.57599],[5.81857,49.54638],[5.66079,49.55362],[5.61108,49.50603],[5.55603,49.52928],[5.47051,49.49737],[5.45708,49.56703],[5.37522,49.62333],[5.31486,49.61137],[5.33243,49.65263],[5.26851,49.69657],[5.16628,49.69303],[4.99753,49.80006],[4.85164,49.79345],[4.84754,49.86806],[4.89013,49.90893],[4.79117,49.958],[4.87762,50.15374],[4.82418,50.16932],[4.70207,50.09556],[4.69441,49.99625],[4.44551,49.93722],[4.30589,49.96829],[4.19746,49.9546],[4.1352,50.01508],[4.22825,50.07842],[4.19682,50.13519],[4.12714,50.1355],[4.2052,50.27347],[4.16262,50.28896],[4.13538,50.25784],[4.02795,50.3584],[3.88574,50.32701],[3.84578,50.35323],[3.74546,50.35005],[3.70994,50.30316],[3.65756,50.37076],[3.65552,50.4617],[3.60586,50.49632],[3.4993,50.48921],[3.51992,50.52362],[3.47439,50.53368],[3.37698,50.49109],[3.28634,50.52793],[3.26104,50.70131],[3.20602,50.71139],[3.17839,50.75609],[3.30562,50.75466],[3.36077,50.70962],[3.45439,50.77072],[3.64047,50.72242],[3.67752,50.77062],[3.75857,50.78045],[3.77568,50.74789],[3.8798,50.75146],[3.9097,50.69245],[4.05868,50.69439],[4.14853,50.72834],[4.2467,50.6894],[4.46355,50.75511],[4.52399,50.72724],[4.59727,50.76359],[4.63445,50.74272],[4.64309,50.79755],[4.76014,50.80544],[4.92545,50.74275],[5.00339,50.76594],[5.07039,50.70649],[5.16508,50.6957],[5.16984,50.72257],[5.30912,50.71802],[5.35029,50.74629],[5.47863,50.72352],[5.68786,50.81193],[5.68225,50.75651],[5.7707,50.75132],[5.81963,50.71396],[5.88333,50.70992],[5.89217,50.75518],[5.96561,50.76107],[6.04045,50.74546],[6.03959,50.71833],[6.11066,50.72299],[6.18169,50.62383],[6.26953,50.62519],[6.17812,50.54153],[6.22658,50.49432],[6.35036,50.48854],[6.34298,50.38033],[6.40542,50.32331],[6.30647,50.32019],[6.27889,50.26734],[6.17377,50.23165],[6.19232,50.18203],[6.147,50.17775],[6.13779,50.12985],[6.10245,50.17055],[5.96368,50.17263],[5.96133,50.13136],[5.89532,50.11216],[5.81968,50.01329],[5.83578,49.97892],[5.77502,49.9608],[5.73577,49.89684],[5.78257,49.87573]]]}},croatia:{type:"Feature",id:"croatia",properties:{},geometry:{type:"Polygon",coordinates:[[[18.55316,42.39709],[18.487,42.33],[16,42.2],[13,45],[13.48,45.55],[13.6,45.46],[13.67282,45.45244],[13.78445,45.47445],[13.87695,45.43477],[13.98354,45.46061],[13.95607,45.5049],[13.99868,45.52812],[14.07402,45.49231],[14.19361,45.48114],[14.23361,45.51383],[14.33098,45.47073],[14.4841,45.54339],[14.55276,45.65149],[15.16462,45.43061],[15.36301,45.48661],[15.28061,45.60731],[15.34584,45.65341],[15.24587,45.72718],[15.55939,45.85272],[15.68573,45.84315],[15.71043,46.04506],[15.61913,46.08657],[15.60059,46.16509],[15.67131,46.23068],[15.78049,46.21928],[15.79422,46.26439],[16.073,46.34266],[16.04759,46.3891],[16.15145,46.40378],[16.30028,46.38152],[16.24191,46.49508],[16.36894,46.55083],[16.66077,46.45725],[16.72462,46.39715],[16.86058,46.35783],[16.97456,46.22688],[17.17232,46.1551],[17.31102,45.97167],[17.58087,45.93874],[17.66574,45.84483],[17.86118,45.77993],[18.15765,45.79625],[18.43522,45.74655],[18.68019,45.91486],[18.77838,45.88666],[18.82507,45.91724],[18.9164,45.70714],[18.96652,45.66972],[18.89717,45.56551],[18.94817,45.54136],[19.01686,45.56369],[19.10858,45.5144],[19.08125,45.47585],[19.00341,45.48553],[18.99315,45.44969],[19.03735,45.40735],[18.9792,45.37883],[19.09424,45.3367],[19.10972,45.30469],[19.2687,45.24886],[19.42108,45.23622],[19.45198,45.16219],[19.2041,45.17236],[19.14345,45.119],[19.09331,45.13091],[19.08464,45.11852],[19.11231,45.08359],[19.1011,44.98811],[19.16343,44.94855],[19.06865,44.88961],[18.99843,44.89696],[19.01991,44.84386],[18.83764,44.84591],[18.75065,44.90197],[18.73803,44.94119],[18.75375,44.95245],[18.78491,44.94261],[18.77858,44.98426],[18.72157,44.98326],[18.66267,45.04785],[18.46602,45.05359],[18.41889,45.09637],[18.22841,45.09274],[18.2011,45.0684],[18.11746,45.06832],[18.0011,45.14282],[17.93745,45.09903],[17.93891,45.07086],[17.84756,45.03242],[17.66404,45.12204],[17.59713,45.09425],[17.16882,45.13674],[16.92275,45.23503],[16.81812,45.17296],[16.5105,45.20898],[16.46738,45.13326],[16.40374,45.10639],[16.36047,44.99622],[16.29175,44.9865],[16.11145,45.08758],[15.99747,45.21978],[15.81894,45.2072],[15.77283,45.16143],[15.80439,45.1121],[15.75505,45.05587],[15.78598,44.96966],[15.7338,44.9371],[15.78598,44.84029],[15.74818,44.81311],[15.82858,44.72686],[15.90458,44.75089],[16.14789,44.48088],[16.15253,44.38405],[16.39709,44.06983],[17.1476,43.49677],[17.22656,43.49776],[17.282,43.47769],[17.30151,43.4393],[17.26227,43.39108],[17.37488,43.2502],[17.44734,43.1998],[17.43805,43.18365],[17.63424,43.09863],[17.71339,42.97351],[17.53967,42.93531],[17.64267,42.88351],[17.67975,42.92174],[17.7903,42.89961],[17.80815,42.92073],[17.85896,42.89458],[17.90239,42.81647],[18.24898,42.61375],[18.3609,42.61526],[18.44437,42.56076],[18.43575,42.48273],[18.55316,42.39709]]]}},czechia:{type:"Feature",id:"czechia",properties:{},geometry:{type:"Polygon",coordinates:[[[14.3811,51.06902],[15.13916,51.08282],[16.42456,50.70863],[16.68823,50.32442],[16.78711,50.49246],[17.75391,50.35247],[18.58887,49.96536],[18.92944,49.51808],[18.1604,48.98022],[17.00684,48.61839],[15.13916,48.85749],[14.67773,48.55298],[13.85376,48.58206],[12.00806,50.05008],[11.92017,50.35948],[14.3811,51.06902]]]}},denmark:{type:"Feature",id:"denmark",properties:{},geometry:{type:"Polygon",coordinates:[[[7.99805,55.11608],[7.9541,56.94497],[10.62378,57.94401],[12.65625,56.01681],[12.65625,55.91535],[12.82928,55.5566],[12.60956,55.42122],[12.66449,55.25095],[14.82605,55.37911],[15.28198,55.22902],[15.11719,54.85448],[12.87598,54.85922],[12.07672,54.44769],[10.849,54.73414],[10.67871,54.58002],[9.88083,54.83708],[9.73972,54.82265],[9.60823,54.8525],[9.63158,54.87996],[9.59038,54.88668],[9.4994,54.83886],[9.43176,54.82601],[9.41013,54.84242],[9.38198,54.83827],[9.37443,54.82047],[9.34422,54.80108],[9.25152,54.80979],[9.23985,54.84993],[9.13822,54.87483],[9.06338,54.87048],[8.90167,54.90386],[8.85532,54.89517],[8.82408,54.90662],[8.79765,54.90445],[8.77602,54.893],[8.72761,54.89181],[8.67645,54.91195],[8.66066,54.90859],[8.55698,54.92063],[8.47355,55.05537],[7.99805,55.11608]]]}},"Queen-Mary-University-of-London":{type:"Feature",id:"Queen-Mary-University-of-London",properties:{},geometry:{type:"Polygon",coordinates:[[[-0.04049,51.74867],[0.03027,51.74434],[0.09827,51.7315],[0.16087,51.71065],[0.21563,51.68262],[0.26045,51.64848],[0.29361,51.60956],[0.31386,51.56737],[0.32046,51.52354],[0.31318,51.47975],[0.29235,51.43768],[0.25881,51.39894],[0.21385,51.36502],[0.15922,51.33719],[0.09701,51.31653],[0.02959,51.30381],[-0.04049,51.29952],[-0.11057,51.30381],[-0.178,51.31653],[-0.24021,51.33719],[-0.29484,51.36502],[-0.33979,51.39894],[-0.37334,51.43768],[-0.39417,51.47975],[-0.40144,51.52354],[-0.39485,51.56737],[-0.3746,51.60956],[-0.34144,51.64848],[-0.29662,51.68262],[-0.24185,51.71065],[-0.17926,51.7315],[-0.11125,51.74434],[-0.04049,51.74867]]]}},finland:{type:"Feature",id:"finland",properties:{},geometry:{type:"Polygon",coordinates:[[[24.16992,65.34851],[23.90625,66.14274],[23.68652,66.44311],[23.99414,66.80922],[23.51074,67.27204],[23.37891,67.44123],[23.73047,67.97463],[20.74219,69.03714],[21.18164,69.28726],[21.70898,69.27171],[22.45605,68.73638],[23.15918,68.65655],[23.90625,68.8318],[25.00488,68.59249],[25.40039,68.87936],[25.75195,68.95839],[25.97168,69.70287],[26.45508,69.96044],[27.20215,69.90012],[27.50977,70.0506],[27.86133,70.08056],[28.38867,69.82447],[29.04785,69.71811],[29.26758,69.53452],[28.87207,69.225],[29.0918,69.02141],[28.52051,68.89519],[28.78418,68.84767],[28.52051,68.56038],[28.69629,68.17156],[29.26758,68.0733],[30.05859,67.69277],[29.17969,67.0503],[29.0918,66.8956],[30.14648,65.73063],[29.66309,65.20147],[29.70703,64.79285],[30.05859,64.79285],[30.10254,64.41592],[30.4541,64.30182],[30.05859,63.74363],[31.59668,63.01511],[30.27832,61.89758],[27.81738,60.56538],[27.33398,60.19616],[24.65332,59.88894],[21.84082,59.46741],[20.43457,59.46741],[19.11621,60.19616],[19.2041,60.58697],[20.08301,60.75916],[20.69824,61.14324],[20.96191,61.73153],[19.99512,63.27318],[21.44531,63.66576],[22.93945,64.20638],[23.24707,64.51064],[23.81836,64.66152],[24.16992,65.34851]]]}},france:{type:"Feature",id:"france",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[9.9,42.64836],[9.9,42.02785],[9.63227,41.43244],[9.36968,41.35052],[9.32602,41.3036],[9.27311,41.29196],[9.07196,41.26129],[8.94186,41.27688],[8.8742,41.26232],[8.84542,41.26311],[8.78782,41.25725],[7.3114,41.4242],[5.8,41.64],[3.17358,42.41768],[3.16081,42.42757],[3.0944,42.41457],[3.03402,42.45331],[3.02214,42.45645],[2.87822,42.4487],[2.87019,42.44653],[2.78424,42.40256],[2.7413,42.41128],[2.72928,42.40998],[2.69331,42.39417],[2.68378,42.3854],[2.68162,42.37263],[2.68585,42.34679],[2.66719,42.33008],[2.58106,42.34418],[2.56777,42.34173],[2.5338,42.32197],[2.47795,42.32986],[2.41933,42.37658],[2.41222,42.38021],[2.26719,42.42055],[2.25973,42.42117],[2.20694,42.41558],[2.20653,42.41526],[2.20526,42.41541],[2.16028,42.41065],[2.14881,42.40545],[2.09393,42.35474],[2.00861,42.33818],[1.965,42.36473],[1.93076,42.42442],[1.92089,42.43302],[1.88467,42.44761],[1.88459,42.44762],[1.88444,42.4477],[1.82774,42.47056],[1.72567,42.48452],[1.71561,42.50125],[1.7272,42.56103],[1.72479,42.57499],[1.71011,42.59992],[1.69377,42.60975],[1.60283,42.61382],[1.56069,42.6392],[1.54636,42.64166],[1.50444,42.6331],[1.4921,42.62502],[1.47238,42.59703],[1.43792,42.59264],[1.41936,42.60643],[1.38032,42.67415],[1.37335,42.68127],[1.33313,42.70563],[1.32364,42.7085],[1.23221,42.71248],[1.16554,42.69928],[1.08546,42.76635],[1.07564,42.77079],[0.95937,42.78852],[0.95073,42.78794],[0.92265,42.7797],[0.84606,42.8157],[0.71511,42.8464],[0.70017,42.84402],[0.69117,42.83186],[0.67409,42.76479],[0.67474,42.75286],[0.69192,42.70684],[0.669,42.67901],[0.43024,42.67863],[0.3715,42.70308],[0.35954,42.70415],[0.34912,42.69817],[0.32567,42.67274],[0.29571,42.66388],[0.24593,42.70175],[0.23972,42.70494],[0.18967,42.72039],[0.17919,42.72075],[-0.01993,42.67389],[-0.06726,42.6848],[-0.16949,42.77157],[-0.29987,42.82697],[-0.31683,42.82635],[-0.39208,42.78766],[-0.44354,42.78453],[-0.48842,42.80255],[-0.50868,42.79935],[-0.54499,42.76906],[-0.56721,42.76937],[-0.67446,42.86392],[-0.68094,42.86775],[-0.73372,42.88666],[-0.7476,42.93879],[-0.75711,42.95107],[-0.77253,42.95284],[-0.82114,42.93865],[-0.94508,42.94192],[-1.02313,42.98206],[-1.10852,43.00409],[-1.1156,43.00461],[-1.14775,43.00124],[-1.15845,43.01452],[-1.16736,43.02083],[-1.21622,43.0381],[-1.22612,43.03898],[-1.26236,43.03303],[-1.30643,43.05531],[-1.31992,43.05696],[-1.33135,43.0496],[-1.3542,43.0197],[-1.43868,43.03371],[-1.4775,43.06889],[-1.48311,43.08561],[-1.47641,43.10248],[-1.43479,43.13087],[-1.42732,43.1404],[-1.39411,43.22935],[-1.39531,43.24596],[-1.40868,43.25591],[-1.52629,43.28099],[-1.54626,43.2737],[-1.57149,43.2412],[-1.61053,43.24223],[-1.65,43.29323],[-1.66953,43.30065],[-1.73359,43.28856],[-1.75606,43.31966],[-1.76297,43.32565],[-1.79156,43.34067],[-1.80099,43.37017],[-1.78509,43.39037],[-1.7835,43.39686],[-2.7,43.9],[-6.3,48.98],[-2.25,50.09],[1.26331,50.92504],[1.76605,51.17762],[2.35816,51.32937],[2.5488,51.09759],[2.57048,51.07409],[2.58741,51.01763],[2.59845,51.0051],[2.61558,50.99749],[2.63986,50.95766],[2.64225,50.94578],[2.62452,50.9256],[2.61962,50.91067],[2.62396,50.86071],[2.62781,50.85054],[2.63786,50.83696],[2.6511,50.82906],[2.73267,50.81738],[2.79995,50.73795],[2.81655,50.73092],[2.85265,50.73335],[2.89072,50.7162],[2.90492,50.71536],[2.9161,50.72418],[2.93508,50.75592],[3.00718,50.78377],[3.08218,50.78749],[3.09244,50.79092],[3.11412,50.80566],[3.14877,50.80195],[3.2154,50.73111],[3.22149,50.7267],[3.27051,50.70375],[3.27545,50.67757],[3.26576,50.6604],[3.26588,50.64054],[3.28922,50.60028],[3.29219,50.55037],[3.3056,50.53267],[3.37551,50.50839],[3.3898,50.50884],[3.4748,50.54445],[3.52173,50.53459],[3.53266,50.51873],[3.54779,50.51012],[3.61523,50.50558],[3.67378,50.45642],[3.68415,50.35277],[3.6901,50.34044],[3.70258,50.33482],[3.71576,50.33854],[3.74935,50.36279],[3.84109,50.36558],[3.90189,50.3436],[3.91317,50.34291],[4.02672,50.36904],[4.13761,50.29984],[4.14388,50.29727],[4.21444,50.28167],[4.22904,50.26664],[4.23078,50.25233],[4.17084,50.18579],[4.16601,50.16888],[4.1764,50.1547],[4.21195,50.13602],[4.24074,50.07102],[4.23193,50.05551],[4.18164,50.03436],[4.17177,50.02537],[4.16976,50.01217],[4.1765,50.00065],[4.20633,49.97546],[4.22164,49.97089],[4.30877,49.98145],[4.44542,49.9523],[4.45469,49.95251],[4.6581,50.00609],[4.66936,50.01392],[4.67293,50.02716],[4.66924,50.06972],[4.69517,50.10472],[4.83123,50.17941],[4.8815,50.16436],[4.90479,50.14451],[4.90426,50.12639],[4.88076,50.0815],[4.86277,50.0745],[4.85104,50.06216],[4.84331,50.03884],[4.84331,50.03883],[4.8433,50.03881],[4.82678,49.989],[4.82662,49.97692],[4.83343,49.96696],[4.89654,49.91753],[4.89755,49.89424],[4.87913,49.86942],[4.87625,49.85111],[4.88924,49.81266],[4.89769,49.80204],[4.91098,49.79926],[4.99534,49.81116],[5.01867,49.79272],[5.02686,49.78886],[5.09944,49.77323],[5.13458,49.73462],[5.1412,49.72984],[5.18761,49.70906],[5.19602,49.70732],[5.28157,49.70836],[5.33363,49.67308],[5.344,49.65049],[5.3544,49.64041],[5.43141,49.60791],[5.48205,49.52815],[5.49294,49.51979],[5.50666,49.52042],[5.55401,49.54025],[5.59311,49.53424],[5.6076,49.53761],[5.641,49.56095],[5.70676,49.55267],[5.71578,49.55361],[5.77526,49.57414],[5.8399,49.55321],[5.86126,49.52038],[5.876,49.5114],[5.97516,49.50129],[5.99801,49.47317],[6.01627,49.46597],[6.08635,49.47562],[6.09319,49.47787],[6.17397,49.52187],[6.24643,49.52511],[6.334,49.48235],[6.34423,49.48037],[6.43515,49.487],[6.5451,49.44384],[6.60639,49.37868],[6.60497,49.33739],[6.61627,49.31869],[6.67013,49.29269],[6.72996,49.22917],[6.74328,49.19086],[6.76026,49.17752],[6.80904,49.17284],[6.82473,49.17826],[6.83093,49.19366],[6.82982,49.21802],[6.85119,49.23136],[6.88453,49.2239],[6.89322,49.22389],[6.93753,49.23369],[7.04055,49.19794],[7.0463,49.17503],[7.05478,49.16313],[7.06908,49.16018],[7.10494,49.16634],[7.14315,49.14159],[7.1535,49.13839],[7.28683,49.13488],[7.29893,49.13856],[7.36095,49.18259],[7.45012,49.19517],[7.50113,49.17672],[7.54379,49.10572],[7.5579,49.09626],[7.6296,49.08527],[7.64722,49.06722],[7.6612,49.06119],[7.75401,49.05963],[7.76073,49.06067],[7.80291,49.07489],[7.85525,49.05329],[7.8673,49.05227],[7.93826,49.06832],[8.08069,49.00688],[8.2225,48.98787],[8.23704,48.97683],[8.23589,48.95817],[8.20888,48.94863],[8.20089,48.94339],[8.15824,48.89753],[8.10087,48.7993],[7.99071,48.74478],[7.98534,48.7409],[7.90422,48.65865],[7.85605,48.63606],[7.8484,48.62977],[7.81842,48.58883],[7.81456,48.57704],[7.81449,48.50968],[7.78547,48.48337],[7.78055,48.47652],[7.74506,48.39484],[7.74357,48.38427],[7.75159,48.32322],[7.71085,48.29841],[7.70241,48.28803],[7.67661,48.21555],[7.59605,48.11698],[7.59165,48.10648],[7.58522,48.04694],[7.59127,48.03035],[7.62437,47.99865],[7.63205,47.97081],[7.57554,47.87436],[7.5728,47.86435],[7.57267,47.83631],[7.54581,47.78793],[7.54418,47.77232],[7.55758,47.72899],[7.53526,47.6989],[7.53136,47.68564],[7.537,47.67302],[7.60016,47.60822],[7.58967,47.56755],[7.55424,47.55128],[7.54511,47.54283],[7.51256,47.48439],[7.38747,47.42111],[7.32653,47.4273],[7.24435,47.40939],[7.16708,47.4335],[7.15212,47.47612],[7.14279,47.48707],[7.12853,47.48893],[7.0801,47.47718],[7.03557,47.48695],[7.02102,47.48458],[7.01205,47.47287],[7.003,47.44095],[6.9551,47.40808],[6.94716,47.39698],[6.94818,47.38337],[6.95769,47.37359],[6.97126,47.37218],[7.018,47.38386],[7.05623,47.37035],[7.07007,47.35005],[7.05958,47.32257],[6.97424,47.27856],[6.96347,47.26233],[6.96134,47.23479],[6.89443,47.19393],[6.88913,47.18922],[6.85545,47.14636],[6.76907,47.10751],[6.76011,47.09953],[6.72561,47.0418],[6.62355,46.9811],[6.4812,46.9445],[6.46892,46.93522],[6.46686,46.91997],[6.47548,46.88771],[6.4535,46.8239],[6.45644,46.80534],[6.46722,46.79104],[6.46098,46.76887],[6.15817,46.59343],[6.14872,46.58069],[6.15152,46.56508],[6.16549,46.54399],[6.15811,46.52456],[6.10174,46.46979],[6.09572,46.45418],[6.09704,46.43317],[6.10829,46.41643],[6.16622,46.38839],[6.17817,46.36922],[6.13748,46.31297],[6.13371,46.30227],[6.13038,46.23737],[6.1103,46.22344],[6.08865,46.23081],[6.07717,46.23123],[6.01857,46.21601],[6.00681,46.20752],[6.00388,46.19332],[6.00787,46.16977],[6.01783,46.15564],[6.03509,46.15456],[6.05564,46.16288],[6.12468,46.15415],[6.13778,46.15702],[6.24026,46.22094],[6.24906,46.23299],[6.24707,46.24777],[6.21148,46.31057],[6.21219,46.32485],[6.23946,46.36705],[6.31648,46.41557],[6.41083,46.42495],[6.41748,46.42682],[6.50498,46.46871],[6.63047,46.47435],[6.74665,46.45695],[6.82244,46.42925],[6.81832,46.38181],[6.80484,46.36179],[6.80189,46.34639],[6.81095,46.33359],[6.86491,46.30038],[6.87504,46.28007],[6.86092,46.2439],[6.82698,46.21188],[6.82075,46.19862],[6.81863,46.16592],[6.82259,46.15261],[6.83427,46.14509],[6.90382,46.12971],[6.90491,46.09595],[6.90932,46.08406],[6.92001,46.07721],[6.94898,46.0699],[7.01556,46.00883],[7.05191,45.93066],[7.04533,45.92217],[7.04497,45.92064],[7.04394,45.92036],[6.99582,45.85822],[6.94097,45.83551],[6.84376,45.82387],[6.83102,45.81711],[6.82614,45.80353],[6.82787,45.73217],[6.83174,45.72082],[6.8414,45.71373],[6.90729,45.69124],[6.92419,45.66935],[6.94247,45.66172],[6.97131,45.66528],[7.00597,45.64945],[7.01151,45.63652],[6.9978,45.60877],[6.99643,45.59465],[7.0158,45.52354],[7.02774,45.5102],[7.1072,45.47877],[7.1228,45.44924],[7.13304,45.44001],[7.1856,45.41894],[7.19515,45.40409],[7.17075,45.35069],[7.14232,45.32298],[7.13649,45.30576],[7.14458,45.25048],[7.08417,45.20279],[6.99279,45.19823],[6.98106,45.19368],[6.90009,45.12689],[6.85843,45.11699],[6.78283,45.14228],[6.77056,45.14242],[6.67751,45.11356],[6.6653,45.10289],[6.66501,45.08667],[6.68237,45.04558],[6.69602,45.03395],[6.75744,45.01884],[6.78375,44.9146],[6.7942,44.90161],[6.86698,44.86519],[6.8798,44.86346],[6.93633,44.87461],[7.01795,44.84402],[7.03453,44.82282],[7.03711,44.75009],[7.0496,44.73226],[7.07224,44.72311],[7.08651,44.6968],[7.08666,44.68085],[7.07671,44.67134],[6.99007,44.67203],[6.97413,44.66431],[6.97056,44.64696],[6.97819,44.61784],[6.94659,44.57124],[6.88235,44.53479],[6.87233,44.5195],[6.87892,44.50245],[6.95894,44.43129],[6.95872,44.42908],[6.92167,44.41436],[6.91223,44.40659],[6.90907,44.39477],[6.90972,44.38195],[6.91637,44.36804],[6.99909,44.29414],[7.01181,44.256],[7.01983,44.24558],[7.03259,44.2424],[7.07312,44.2461],[7.1651,44.22112],[7.24533,44.18544],[7.26053,44.16682],[7.27537,44.15947],[7.33878,44.1574],[7.36278,44.13834],[7.37776,44.13416],[7.56283,44.15792],[7.5642,44.15836],[7.56478,44.15817],[7.60548,44.1634],[7.6162,44.16827],[7.63989,44.18928],[7.68608,44.1861],[7.69422,44.17795],[7.68937,44.13869],[7.69445,44.12276],[7.72786,44.08615],[7.72403,44.05704],[7.68603,44.02371],[7.68077,44.0164],[7.66016,43.9672],[7.59624,43.94466],[7.58419,43.93287],[7.56858,43.89159],[7.5271,43.87434],[7.51649,43.86397],[7.51594,43.84915],[7.53622,43.79234],[9.26696,43.39308],[9.8,43.1],[9.9,42.64836]]]]}},"de-berlin-brandenburg":{type:"Feature",id:"de-berlin-brandenburg",properties:{},geometry:{type:"Polygon",coordinates:[[[11.32141,53.11711],[12.09595,53.36694],[12.88147,53.20274],[13.78235,53.50765],[14.16687,53.41608],[14.10645,53.28164],[14.29871,53.27507],[14.41956,53.32431],[14.19434,52.93871],[14.19434,52.82932],[14.57336,52.60972],[14.57336,52.36218],[14.71619,52.05249],[14.61182,51.84257],[14.76563,51.54975],[14.36462,51.519],[14.1449,51.54975],[13.99109,51.36835],[13.2605,51.39578],[13.07373,51.65211],[13.13965,51.86971],[12.67273,52.01532],[12.40356,52.03222],[12.22229,52.14697],[12.32117,52.50619],[12.16736,52.51956],[12.23877,52.87245],[11.60156,52.96849],[11.32141,53.11711]]]}},"de-ostwestfalen-lippe":{type:"Feature",id:"de-ostwestfalen-lippe",properties:{},geometry:{type:"Polygon",coordinates:[[[8.04337,52.05756],[8.42583,52.19919],[8.43846,52.35394],[8.30866,52.39929],[8.28438,52.4581],[8.67096,52.56967],[9.22028,52.49616],[9.06097,52.28328],[9.47365,51.86716],[9.46266,51.64103],[9.26285,51.46641],[9.15648,51.43569],[8.80348,51.43218],[8.54444,51.46003],[8.42239,51.55658],[8.31076,51.72252],[8.12645,51.86844],[8.04337,52.05756]]]}},germany:{type:"Feature",id:"germany",properties:{},geometry:{type:"Polygon",coordinates:[[[7.05048,52.62973],[7.21252,53.20274],[6.56982,53.61858],[8.30772,55.1467],[8.6483,54.96421],[9.45305,54.83313],[9.95018,54.82838],[11.99913,54.44689],[13.3889,54.89162],[14.15245,54.47562],[14.26231,53.78037],[14.44359,53.27096],[14.36119,53.0668],[14.16344,52.97097],[14.13597,52.84508],[14.62486,52.60555],[14.5919,52.35463],[14.71825,52.24042],[14.74571,52.06516],[14.60838,51.83153],[14.74571,51.69554],[14.76768,51.54206],[14.98741,51.43261],[15.03136,51.27824],[14.94347,51.04744],[14.85558,50.88138],[14.77867,50.81548],[14.64684,50.85017],[14.5974,50.99215],[14.32823,51.07506],[14.32823,50.88138],[13.01537,50.49508],[12.48253,50.38663],[12.33421,50.18305],[12.1804,50.30952],[12.12547,50.25686],[12.22984,50.09856],[12.55394,49.92912],[12.4276,49.75199],[12.5045,49.68807],[12.77916,49.35286],[12.93297,49.36002],[13.03185,49.28841],[13.57018,48.96489],[13.80089,48.81319],[13.75694,48.52297],[13.52074,48.58842],[13.45482,48.57388],[13.40538,48.36994],[13.23509,48.28959],[12.99889,48.24571],[12.75169,48.12118],[12.9879,47.86385],[12.91649,47.71623],[13.04832,47.72362],[13.09776,47.67186],[13.0648,47.50885],[12.93846,47.47173],[12.77367,47.5793],[12.8286,47.60894],[12.70226,47.70144],[12.1859,47.70514],[12.16942,47.62005],[11.86729,47.60524],[11.63109,47.59412],[11.25755,47.40114],[10.98839,47.40486],[10.88402,47.52369],[10.67528,47.55707],[10.45006,47.54594],[10.46654,47.41973],[10.34019,47.3081],[10.19737,47.27457],[10.21385,47.38998],[10.10948,47.3751],[10.08202,47.46431],[9.84581,47.55336],[9.40636,47.55336],[9.09874,47.68388],[8.90236,47.65521],[8.85292,47.70329],[8.80348,47.74025],[8.76915,47.71993],[8.80486,47.70329],[8.79524,47.68388],[8.7307,47.69867],[8.73482,47.7227],[8.71284,47.7384],[8.7513,47.76887],[8.69637,47.76425],[8.65654,47.8067],[8.63594,47.76518],[8.61122,47.80947],[8.57002,47.79286],[8.48763,47.77902],[8.41621,47.71808],[8.41347,47.68111],[8.46428,47.65891],[8.53706,47.67001],[8.60985,47.67741],[8.63457,47.64966],[8.59886,47.64319],[8.61122,47.6219],[8.56865,47.60061],[8.56865,47.6219],[8.52745,47.64041],[8.45879,47.60801],[8.50273,47.58672],[8.38463,47.57004],[8.33107,47.57375],[8.29399,47.61542],[8.2061,47.62653],[8.10173,47.56819],[7.96852,47.5617],[7.92046,47.55429],[7.89024,47.59505],[7.8257,47.58949],[7.81197,47.56726],[7.6815,47.54038],[7.6403,47.56448],[7.69386,47.5756],[7.6815,47.59412],[7.64854,47.60061],[7.61421,47.58394],[7.50641,47.70237],[7.79205,48.60749],[8.22876,48.97481],[6.84174,49.17093],[6.37482,49.48597],[6.53961,49.80963],[6.1441,50.01833],[6.19835,50.21119],[6.41808,50.35159],[6.19835,50.63117],[6.02257,50.77034],[6.02257,51.07506],[6.24229,51.37778],[5.97862,51.81456],[6.1496,51.90022],[6.44073,51.85105],[6.828,51.95611],[6.68518,52.05587],[7.04773,52.23957],[6.99554,52.45768],[6.70166,52.48445],[6.72913,52.64973],[7.05048,52.62973]]]}},"Heidelberg-University":{type:"Feature",id:"Heidelberg-University",properties:{},geometry:{type:"Polygon",coordinates:[[[8.67039,49.64365],[8.73804,49.63932],[8.80306,49.62648],[8.86292,49.60564],[8.91529,49.57762],[8.95817,49.54349],[8.98989,49.50458],[9.00928,49.46239],[9.01561,49.41856],[9.00868,49.37477],[8.98878,49.33269],[8.95671,49.29395],[8.91371,49.26002],[8.86146,49.23218],[8.80194,49.21151],[8.73744,49.19879],[8.67039,49.19449],[8.60334,49.19879],[8.53883,49.21151],[8.47931,49.23218],[8.42706,49.26002],[8.38407,49.29395],[8.352,49.33269],[8.3321,49.37477],[8.32516,49.41856],[8.33149,49.46239],[8.35088,49.50458],[8.38261,49.54349],[8.42548,49.57762],[8.47786,49.60564],[8.53771,49.62648],[8.60273,49.63932],[8.67039,49.64365]]]}},hungary:{type:"Feature",id:"hungary",properties:{},geometry:{type:"Polygon",coordinates:[[[18.43643,45.73111],[17.67426,45.83454],[17.57675,45.92823],[17.35153,45.94303],[17.14966,46.16081],[16.52756,46.50028],[16.3147,46.86582],[16.11969,46.86582],[16.28448,46.99337],[16.48224,47.01584],[16.5152,47.1505],[16.42731,47.2177],[16.43829,47.41136],[16.66763,47.44852],[16.67587,47.60616],[16.43829,47.65614],[16.54816,47.75964],[16.71844,47.73563],[16.75003,47.68111],[17.08099,47.70791],[17.04254,47.86293],[17.09473,47.96234],[17.20734,48.02484],[17.75665,47.74486],[18.71246,47.76702],[18.85529,47.82606],[18.77838,47.87767],[18.75641,47.98808],[18.82233,48.04687],[19.50348,48.1056],[19.55566,48.25028],[19.92096,48.14227],[20.34943,48.30329],[20.54718,48.54389],[20.82184,48.58751],[21.14044,48.50751],[21.47003,48.58751],[21.70074,48.36902],[21.8367,48.34073],[22.2171,48.42282],[22.38327,48.24205],[22.50549,48.24845],[22.61948,48.1056],[22.83371,48.11843],[22.90649,47.95406],[22.59064,47.75779],[22.48077,47.81131],[22.42584,47.74486],[22.32147,47.75779],[22.02759,47.51442],[22.03033,47.38161],[21.9397,47.3658],[21.48926,46.75868],[21.52908,46.73233],[21.4151,46.61737],[21.33133,46.61549],[21.10611,46.23875],[20.79575,46.27863],[20.7106,46.15035],[20.25055,46.13227],[19.82758,46.16461],[19.54742,46.17793],[19.51447,46.1018],[18.80997,45.87567],[18.70285,45.91294],[18.43643,45.73111]]]}},iceland:{type:"Feature",id:"iceland",properties:{},geometry:{type:"Polygon",coordinates:[[[-25.21,65.81],[-23.17,66.89],[-19.51,66.29],[-19.09,67.46],[-17.98,67.34],[-17.38,66.83],[-14.01,66.72],[-12.36,64.54],[-17.21,62.92],[-23.63,63.15],[-25.21,65.81]]]}},italy:{type:"Feature",id:"italy",properties:{},geometry:{type:"Polygon",coordinates:[[[7.6,43.5],[7.49542,43.86523],[7.69043,44.0718],[7.69043,44.19796],[7.42676,44.15068],[6.9873,44.26094],[6.85547,44.55916],[7.03125,44.73113],[7.00928,44.87144],[6.72363,44.91814],[6.5918,45.12005],[7.09717,45.25942],[7.14111,45.41388],[6.96533,45.61404],[6.76758,45.79817],[7.03125,45.9053],[7.55859,45.9817],[7.77832,45.93587],[8.12988,46.13417],[8.08594,46.30141],[8.48145,46.46813],[8.61328,46.13417],[8.81104,46.10371],[9.05273,45.8288],[9.07471,46.11894],[9.27246,46.25585],[9.25049,46.43786],[9.44824,46.49839],[9.49219,46.31658],[9.68994,46.31658],[9.95361,46.36209],[10.06348,46.17983],[10.17334,46.25585],[10.0415,46.453],[10.08545,46.60417],[10.26123,46.66452],[10.45898,46.49839],[10.50293,46.61926],[10.39307,46.70974],[10.41504,46.86019],[10.61279,46.87521],[11.03027,46.76997],[11.16211,46.93526],[11.27197,46.99524],[11.53564,47.01023],[11.7334,46.99524],[12.2168,47.10004],[12.15088,46.93526],[12.43652,46.70974],[12.96387,46.61926],[13.73291,46.54375],[13.71094,46.42271],[13.40332,46.33176],[13.40332,46.22545],[13.66699,46.17983],[13.51318,46.05799],[13.64502,45.96642],[13.5791,45.85941],[13.93066,45.64477],[13.82629,45.5756],[13.6,45.6294],[12.9,45.4],[12.8,45],[18.9,40.3],[18.5,39],[15,36],[11,38],[9.6,43.2],[7.6,43.5]]]}},IT_Lazio:{type:"Feature",id:"IT_Lazio",properties:{},geometry:{type:"Polygon",coordinates:[[[13.23814,42.1301],[13.19363,42.15923],[13.17062,42.15169],[13.12434,42.17797],[13.08798,42.17886],[13.08575,42.14318],[13.0317,42.12309],[13.01946,42.07634],[13.05545,42.01736],[13.10194,42.00898],[13.10589,42.02698],[13.36437,41.92475],[13.384,41.90419],[13.35751,41.8694],[13.38052,41.81709],[13.4169,41.83467],[13.50508,41.8016],[13.52044,41.77297],[13.57182,41.7543],[13.66214,41.81144],[13.70555,41.78747],[13.72956,41.7989],[13.7629,41.7488],[13.81162,41.75426],[13.85645,41.73124],[13.89541,41.73405],[13.98311,41.66238],[14.01182,41.60835],[13.99895,41.57448],[14.02596,41.55567],[14.00526,41.53875],[14.0275,41.52321],[13.97291,41.49404],[13.99278,41.48208],[13.9779,41.46249],[13.90257,41.42273],[13.86123,41.41763],[13.8886,41.40081],[13.8688,41.36272],[13.88974,41.29748],[13.82898,41.28154],[13.83083,41.2502],[13.77126,41.24136],[13.45667,40.77769],[11.52381,41.03693],[11.44922,42.37798],[11.48889,42.43937],[11.61771,42.43604],[11.61626,42.48862],[11.56011,42.51595],[11.58852,42.54226],[11.57917,42.56803],[11.61401,42.55723],[11.64337,42.56635],[11.71111,42.61091],[11.73597,42.60666],[11.74975,42.63965],[11.80478,42.644],[11.77554,42.70951],[11.80156,42.70719],[11.81949,42.74543],[11.74602,42.78576],[11.77424,42.82107],[11.80685,42.79485],[11.8137,42.82267],[11.84851,42.84008],[11.90558,42.8325],[11.92743,42.78092],[11.97948,42.76459],[11.96293,42.72669],[11.9301,42.71295],[11.94133,42.6833],[12.03,42.64324],[12.10666,42.66464],[12.12406,42.64929],[12.16101,42.67691],[12.20434,42.66046],[12.24292,42.62906],[12.22819,42.61077],[12.24626,42.60256],[12.23866,42.57218],[12.27504,42.55991],[12.26676,42.53347],[12.29027,42.51904],[12.27477,42.50921],[12.30735,42.4973],[12.29041,42.49164],[12.32537,42.49476],[12.35123,42.47365],[12.39017,42.49819],[12.41905,42.49765],[12.41244,42.46756],[12.43038,42.45802],[12.41368,42.45517],[12.41365,42.4256],[12.4636,42.42909],[12.44469,42.39882],[12.51169,42.40311],[12.52874,42.36445],[12.60642,42.40245],[12.61481,42.46511],[12.64109,42.4678],[12.6495,42.44331],[12.67465,42.44242],[12.74156,42.47053],[12.71114,42.50079],[12.89273,42.5635],[12.88052,42.60935],[13.00524,42.61622],[13.02522,42.64],[13.06423,42.62427],[13.13,42.66053],[13.14645,42.64714],[13.17506,42.66707],[13.19025,42.73363],[13.25415,42.72145],[13.2645,42.74019],[13.28589,42.74049],[13.35851,42.69533],[13.35059,42.66968],[13.37022,42.6507],[13.4092,42.64383],[13.39493,42.59223],[13.29421,42.5705],[13.28454,42.58349],[13.24686,42.57367],[13.19228,42.58849],[13.15673,42.54102],[13.17934,42.48031],[13.11708,42.44489],[13.19508,42.39017],[13.15427,42.35797],[13.22737,42.32031],[13.23563,42.27871],[13.28229,42.23874],[13.33653,42.22338],[13.34238,42.19939],[13.3808,42.18142],[13.34871,42.17689],[13.35488,42.16769],[13.32819,42.16483],[13.30621,42.13923],[13.23814,42.1301]]]}},"Politecnico-di-Milano":{type:"Feature",id:"Politecnico-di-Milano",properties:{},geometry:{type:"Polygon",coordinates:[[[9.22852,45.68471],[9.29123,45.68038],[9.3515,45.66755],[9.40699,45.64672],[9.45556,45.61871],[9.49533,45.58459],[9.52478,45.54569],[9.54279,45.50351],[9.5487,45.45968],[9.5423,45.41589],[9.52388,45.37381],[9.49415,45.33505],[9.45428,45.30111],[9.40581,45.27326],[9.3506,45.25258],[9.29074,45.23985],[9.22852,45.23555],[9.16629,45.23985],[9.10644,45.25258],[9.05122,45.27326],[9.00275,45.30111],[8.96288,45.33505],[8.93316,45.37381],[8.91473,45.41589],[8.90833,45.45968],[8.91424,45.50351],[8.93225,45.54569],[8.9617,45.58459],[9.00147,45.61871],[9.05004,45.64672],[9.10553,45.66755],[9.16581,45.68038],[9.22852,45.68471]]]}},IT_Roma_Capitale:{type:"Feature",id:"IT_Roma_Capitale",properties:{},geometry:{type:"Polygon",coordinates:[[[11.6,42.16],[12.28,42.2],[12.52,42.31],[13.27,41.92],[13.15,41.58],[12.6,41.16],[11.6,42.16]]]}},south_tyrol:{type:"Feature",id:"south_tyrol",properties:{},geometry:{type:"Polygon",coordinates:[[[10.45624,46.86582],[10.73639,46.89211],[10.82977,46.80946],[10.96161,46.81322],[11.1319,46.99149],[11.49067,47.01233],[11.68121,47.04018],[11.7691,47.01023],[12.16736,47.115],[12.28546,47.08322],[12.18384,46.98213],[12.30469,46.85831],[12.37335,46.73421],[12.49969,46.67017],[12.34039,46.61737],[12.08771,46.64944],[12.0163,46.52297],[11.8515,46.49272],[11.66336,46.48657],[11.56929,46.34077],[11.399,46.25585],[11.18958,46.21072],[11.13739,46.2867],[11.20193,46.44732],[10.91904,46.42603],[10.61966,46.43833],[10.44113,46.49036],[10.36766,46.68854],[10.45624,46.86582]]]}},trentino:{type:"Feature",id:"trentino",properties:{},geometry:{type:"Polygon",coordinates:[[[10.49332,46.35641],[10.59219,46.46624],[10.76317,46.49697],[10.84076,46.45536],[11.07971,46.54469],[11.23627,46.50123],[11.21086,46.32559],[11.1779,46.27341],[11.23352,46.2473],[11.32416,46.30235],[11.5583,46.40378],[11.62628,46.5069],[11.83502,46.54233],[11.91399,46.44306],[11.85356,46.34124],[11.99158,46.18363],[11.84464,46.08466],[11.72791,46.07704],[11.69907,45.95592],[11.51093,45.97979],[11.28845,45.8814],[11.21567,45.76273],[11.16074,45.68316],[10.90256,45.66013],[10.82016,45.71097],[10.84076,45.81827],[10.51529,45.76752],[10.41504,46.00269],[10.51941,46.2112],[10.49332,46.35641]]]}},"Yarmouk-University":{type:"Feature",id:"Yarmouk-University",properties:{},geometry:{type:"Polygon",coordinates:[[[35.85811,32.76124],[35.91021,32.75691],[35.96029,32.7441],[36.00642,32.72331],[36.04681,32.69532],[36.07992,32.66124],[36.10446,32.62236],[36.11951,32.5802],[36.1245,32.53638],[36.11926,32.49258],[36.10399,32.45048],[36.0793,32.4117],[36.04615,32.37772],[36.00581,32.34985],[35.95982,32.32914],[35.90996,32.31639],[35.85811,32.31208],[35.80627,32.31639],[35.75641,32.32914],[35.71042,32.34985],[35.67008,32.37772],[35.63693,32.4117],[35.61224,32.45048],[35.59697,32.49258],[35.59173,32.53638],[35.59672,32.5802],[35.61177,32.62236],[35.63631,32.66124],[35.66941,32.69532],[35.70981,32.72331],[35.75593,32.7441],[35.80602,32.75691],[35.85811,32.76124]]]}},kosovo:{type:"Feature",id:"kosovo",properties:{},geometry:{type:"Polygon",coordinates:[[[20.68323,41.85101],[20.64878,41.8621],[20.62895,41.87788],[20.59321,41.87344],[20.5834,41.88906],[20.57131,41.92032],[20.61548,41.94279],[20.61932,41.97284],[20.60727,41.98358],[20.58959,42.03994],[20.56682,42.05515],[20.55,42.08081],[20.5618,42.12415],[20.51171,42.21912],[20.4557,42.26696],[20.40232,42.28017],[20.39286,42.29328],[20.35016,42.30573],[20.34327,42.32034],[20.32919,42.32272],[20.30564,42.30975],[20.28975,42.31841],[20.25651,42.31381],[20.23897,42.32339],[20.24172,42.33451],[20.23137,42.34709],[20.24041,42.36756],[20.20299,42.40034],[20.2216,42.42031],[20.18897,42.44976],[20.18995,42.46123],[20.16241,42.50248],[20.09905,42.52756],[20.07781,42.55062],[20.05218,42.55643],[20.0611,42.56636],[20.07983,42.63561],[20.09833,42.65387],[20.02597,42.70293],[20.01357,42.73718],[20.0294,42.76543],[20.05828,42.77918],[20.17177,42.77208],[20.25749,42.77015],[20.26633,42.81006],[20.26709,42.81838],[20.40458,42.85177],[20.48421,42.87209],[20.52629,42.8857],[20.48117,42.92979],[20.48712,42.94371],[20.52036,42.97599],[20.538,42.97944],[20.54736,42.96696],[20.56759,43.00047],[20.59714,43.01791],[20.61815,43.00738],[20.63582,43.01263],[20.65529,43.03791],[20.66666,43.05941],[20.65555,43.06668],[20.65535,43.07614],[20.69024,43.09046],[20.68474,43.11734],[20.6571,43.13426],[20.60822,43.17079],[20.59313,43.19966],[20.59288,43.20807],[20.60326,43.21586],[20.61577,43.20947],[20.6759,43.21404],[20.71781,43.23861],[20.72976,43.25396],[20.78861,43.2509],[20.79902,43.26973],[20.82402,43.27416],[20.88056,43.23237],[20.89633,43.2064],[20.89185,43.19741],[20.86038,43.18418],[20.88322,43.17221],[20.968,43.12786],[20.97317,43.13725],[21.00171,43.14304],[21.02916,43.13467],[21.05505,43.11374],[21.0768,43.12108],[21.0795,43.1332],[21.09221,43.14057],[21.11813,43.11808],[21.14314,43.11815],[21.15722,43.09497],[21.14943,43.08237],[21.15915,43.04152],[21.17346,43.02927],[21.17228,43.01229],[21.18865,43.01181],[21.19528,43.02655],[21.20838,43.03051],[21.24098,43.01253],[21.25156,42.98139],[21.24127,42.95446],[21.27793,42.90132],[21.30679,42.91192],[21.33168,42.90934],[21.34717,42.90549],[21.36699,42.87815],[21.44,42.87777],[21.44185,42.85103],[21.43,42.84464],[21.42818,42.80712],[21.41748,42.77388],[21.39541,42.75691],[21.39835,42.75158],[21.45096,42.75723],[21.46671,42.74511],[21.48212,42.7524],[21.53015,42.73143],[21.56111,42.74322],[21.59623,42.731],[21.59439,42.7097],[21.67045,42.68104],[21.68037,42.6972],[21.73393,42.71782],[21.7767,42.72243],[21.77888,42.69807],[21.80449,42.65599],[21.77972,42.64209],[21.77173,42.62838],[21.77008,42.60166],[21.75125,42.58434],[21.75095,42.55505],[21.72961,42.54235],[21.70728,42.54294],[21.70222,42.53272],[21.71414,42.51308],[21.69423,42.49888],[21.67446,42.49033],[21.67458,42.48071],[21.62857,42.45056],[21.65142,42.40951],[21.62852,42.37199],[21.57112,42.35813],[21.5391,42.36425],[21.53133,42.33801],[21.56671,42.3189],[21.59596,42.27006],[21.58272,42.25167],[21.52186,42.23975],[21.50594,42.2651],[21.44573,42.27489],[21.43843,42.25552],[21.44638,42.23142],[21.43208,42.22775],[21.39412,42.24212],[21.3493,42.20076],[21.33667,42.1989],[21.33915,42.18753],[21.30895,42.13871],[21.32219,42.10706],[21.30296,42.10363],[21.29279,42.10824],[21.25722,42.08817],[21.23557,42.08617],[21.21595,42.09461],[21.20791,42.12657],[21.16719,42.1714],[21.16274,42.19266],[21.11303,42.20093],[21.05269,42.16308],[21.02143,42.14681],[20.92263,42.12229],[20.89259,42.09216],[20.83556,42.08285],[20.79199,42.07669],[20.76879,42.04106],[20.77208,41.95756],[20.77892,41.91873],[20.74544,41.8779],[20.68323,41.85101]]]}},luxembourg_full:{type:"Feature",id:"luxembourg_full",properties:{},geometry:{type:"Polygon",coordinates:[[[5.74606,49.90779],[5.75308,49.91198],[5.76368,49.9154],[5.76047,49.91732],[5.76203,49.91969],[5.76168,49.92325],[5.76479,49.92643],[5.76341,49.92731],[5.76466,49.92902],[5.76395,49.93146],[5.77097,49.93165],[5.77008,49.9332],[5.77043,49.93668],[5.77516,49.93771],[5.77389,49.94144],[5.77178,49.94448],[5.77037,49.94959],[5.77503,49.95315],[5.77367,49.95651],[5.77723,49.95774],[5.77502,49.9608],[5.78061,49.9627],[5.78563,49.96099],[5.79119,49.9618],[5.79094,49.96388],[5.79608,49.96563],[5.80022,49.96296],[5.80427,49.96314],[5.80654,49.96231],[5.81055,49.96407],[5.80968,49.96764],[5.81047,49.97065],[5.81318,49.97256],[5.81948,49.97205],[5.82022,49.97378],[5.82358,49.97519],[5.8264,49.97466],[5.82796,49.97597],[5.83204,49.97653],[5.83355,49.97854],[5.83578,49.97892],[5.83856,49.98229],[5.83924,49.98889],[5.83664,49.99116],[5.83243,49.99052],[5.82964,49.99414],[5.82359,49.99699],[5.82068,50.00081],[5.8217,50.00182],[5.82043,50.00518],[5.82225,50.00592],[5.82078,50.00776],[5.81899,50.01281],[5.82229,50.01441],[5.83013,50.01484],[5.8293,50.01577],[5.83375,50.01842],[5.8402,50.01941],[5.84113,50.01834],[5.85066,50.02256],[5.85246,50.0229],[5.85152,50.0261],[5.85326,50.02757],[5.85988,50.02888],[5.85757,50.0331],[5.85808,50.03469],[5.85607,50.03628],[5.8633,50.0394],[5.86324,50.04221],[5.86847,50.04394],[5.86746,50.04533],[5.86991,50.04594],[5.86744,50.05019],[5.86102,50.05505],[5.85752,50.05502],[5.85647,50.05768],[5.8542,50.05889],[5.85665,50.0616],[5.85673,50.06394],[5.86066,50.06921],[5.86593,50.07066],[5.86772,50.07335],[5.87878,50.0764],[5.88263,50.07656],[5.88645,50.0784],[5.88755,50.08192],[5.88658,50.09079],[5.89208,50.09942],[5.89461,50.10133],[5.8953,50.10528],[5.89532,50.11216],[5.90101,50.1162],[5.90952,50.11909],[5.91409,50.1219],[5.91741,50.12154],[5.9259,50.12441],[5.92966,50.12619],[5.93717,50.12694],[5.94426,50.12922],[5.94974,50.12917],[5.95467,50.13109],[5.96133,50.13136],[5.95854,50.13886],[5.96135,50.14256],[5.96017,50.14755],[5.96121,50.14981],[5.95814,50.15139],[5.96269,50.15333],[5.96542,50.15371],[5.96707,50.15543],[5.96431,50.15824],[5.96319,50.16094],[5.96177,50.16076],[5.96418,50.16489],[5.96425,50.17126],[5.96368,50.17263],[5.96836,50.17285],[5.97107,50.17502],[5.9893,50.1752],[6.00301,50.17633],[6.01321,50.17898],[6.01827,50.18143],[6.0248,50.18277],[6.02974,50.17106],[6.02956,50.16589],[6.03229,50.1632],[6.03755,50.1605],[6.04551,50.15768],[6.05023,50.15684],[6.05757,50.15423],[6.06422,50.1534],[6.06886,50.15535],[6.07181,50.15736],[6.07878,50.15651],[6.07856,50.15818],[6.08058,50.16311],[6.07891,50.16827],[6.07924,50.17077],[6.08447,50.17199],[6.09471,50.16929],[6.10069,50.17073],[6.10249,50.17056],[6.11982,50.16335],[6.12032,50.16192],[6.11519,50.15633],[6.12063,50.1518],[6.12561,50.15015],[6.11772,50.14732],[6.11698,50.14459],[6.11499,50.14427],[6.1123,50.13602],[6.12071,50.13613],[6.12659,50.13386],[6.13054,50.13],[6.13787,50.12985],[6.13747,50.12568],[6.13611,50.12359],[6.13029,50.12177],[6.1281,50.11596],[6.1296,50.11438],[6.13521,50.11327],[6.13114,50.10826],[6.13135,50.10657],[6.13584,50.10366],[6.1344,50.10263],[6.12986,50.10278],[6.12561,50.1011],[6.12572,50.09915],[6.12858,50.09547],[6.13219,50.09511],[6.13334,50.09374],[6.12951,50.09224],[6.12229,50.09354],[6.1195,50.08949],[6.11977,50.08578],[6.12224,50.08355],[6.1222,50.0813],[6.1185,50.07587],[6.11625,50.07449],[6.1204,50.07247],[6.12316,50.07635],[6.12497,50.0771],[6.12875,50.07468],[6.12933,50.07326],[6.12611,50.07098],[6.1214,50.06893],[6.12045,50.06477],[6.11369,50.06537],[6.11415,50.06367],[6.11247,50.06008],[6.11343,50.05823],[6.1179,50.05644],[6.12034,50.0571],[6.12037,50.06005],[6.12372,50.06014],[6.12363,50.05674],[6.1211,50.05414],[6.12163,50.0527],[6.12449,50.05147],[6.12749,50.04776],[6.13265,50.04341],[6.13454,50.03949],[6.13247,50.03499],[6.12984,50.03156],[6.13041,50.02932],[6.14081,50.02489],[6.14327,50.02458],[6.14613,50.02226],[6.14456,50.02035],[6.13815,50.01587],[6.13477,50.01634],[6.13151,50.0193],[6.12966,50.01813],[6.13365,50.01567],[6.13796,50.01148],[6.14007,50.01074],[6.14808,50.01043],[6.14973,50.0092],[6.14972,50.00681],[6.14707,50.0029],[6.14497,49.99799],[6.13992,50.00003],[6.138,49.99886],[6.14253,49.99478],[6.14665,49.99507],[6.15099,49.99423],[6.15363,49.98949],[6.15737,49.98716],[6.16315,49.98734],[6.17147,49.98547],[6.16997,49.98435],[6.16887,49.98087],[6.16736,49.97976],[6.16501,49.9727],[6.1653,49.97009],[6.16762,49.9681],[6.17077,49.9631],[6.17596,49.96188],[6.17758,49.95509],[6.17944,49.95331],[6.18247,49.95368],[6.1878,49.95634],[6.18314,49.95739],[6.18289,49.95997],[6.18074,49.96473],[6.18372,49.96793],[6.19037,49.96955],[6.19286,49.96846],[6.1931,49.96482],[6.19497,49.96026],[6.19416,49.95668],[6.19649,49.95418],[6.19865,49.95009],[6.20078,49.95293],[6.2046,49.95505],[6.20849,49.95461],[6.20884,49.95301],[6.21174,49.95023],[6.22391,49.95008],[6.22355,49.94901],[6.21654,49.94451],[6.22,49.94333],[6.22733,49.93662],[6.22369,49.9343],[6.22608,49.92893],[6.21866,49.92486],[6.2185,49.92286],[6.22961,49.92097],[6.23272,49.91707],[6.23409,49.91255],[6.23176,49.91118],[6.22756,49.91146],[6.22722,49.91039],[6.23234,49.9065],[6.23405,49.90002],[6.24076,49.89618],[6.24617,49.89565],[6.24937,49.89289],[6.25113,49.8902],[6.25792,49.8863],[6.25931,49.88312],[6.26186,49.88116],[6.26996,49.87904],[6.27297,49.87736],[6.2763,49.87689],[6.27961,49.87869],[6.28273,49.87871],[6.2858,49.87573],[6.29032,49.87539],[6.29226,49.87404],[6.29217,49.87175],[6.29384,49.86867],[6.2977,49.8663],[6.30119,49.86697],[6.30852,49.87015],[6.31127,49.86998],[6.31403,49.86745],[6.31482,49.86508],[6.3139,49.86206],[6.31468,49.85983],[6.31846,49.85525],[6.32163,49.85331],[6.3231,49.85091],[6.322,49.84686],[6.31999,49.84309],[6.32149,49.83898],[6.32747,49.83618],[6.3331,49.83732],[6.3364,49.83909],[6.33785,49.8416],[6.33877,49.84663],[6.34229,49.84928],[6.34992,49.85072],[6.36424,49.85094],[6.36598,49.85021],[6.37285,49.84256],[6.3772,49.84037],[6.37896,49.83805],[6.38244,49.83592],[6.38501,49.83266],[6.39293,49.8276],[6.39721,49.82264],[6.4031,49.8196],[6.40958,49.81793],[6.4262,49.81566],[6.42673,49.81269],[6.43149,49.81063],[6.43722,49.81371],[6.44154,49.81448],[6.44411,49.81161],[6.45401,49.8116],[6.45611,49.81272],[6.46072,49.81741],[6.46337,49.81935],[6.46975,49.82255],[6.47157,49.82279],[6.48017,49.81925],[6.48477,49.81419],[6.48925,49.81199],[6.49278,49.81162],[6.49627,49.81261],[6.50113,49.81063],[6.50686,49.80903],[6.51047,49.80311],[6.51226,49.80244],[6.51603,49.80532],[6.51763,49.80802],[6.51884,49.81252],[6.52059,49.81349],[6.52714,49.81126],[6.52978,49.80943],[6.53125,49.80575],[6.53031,49.80426],[6.52626,49.80172],[6.52067,49.79629],[6.51444,49.7937],[6.50886,49.79209],[6.50619,49.78891],[6.50929,49.78648],[6.51593,49.78424],[6.51733,49.78264],[6.5153,49.77994],[6.51134,49.77695],[6.51052,49.77349],[6.51748,49.76947],[6.51852,49.76744],[6.51906,49.76256],[6.51748,49.7601],[6.51243,49.75727],[6.50525,49.75531],[6.50097,49.7524],[6.50112,49.74833],[6.5032,49.74533],[6.50215,49.7432],[6.50276,49.74003],[6.50215,49.73713],[6.50303,49.73183],[6.50793,49.72853],[6.51583,49.72548],[6.51768,49.72346],[6.51612,49.72188],[6.51166,49.72025],[6.50315,49.72615],[6.49965,49.72657],[6.49566,49.72523],[6.49759,49.7223],[6.50662,49.71668],[6.50723,49.71347],[6.49978,49.71105],[6.49395,49.70744],[6.48105,49.69697],[6.46938,49.69291],[6.46219,49.69171],[6.4577,49.68878],[6.45493,49.68509],[6.44496,49.67583],[6.43881,49.67179],[6.43195,49.66939],[6.42699,49.66384],[6.42697,49.66212],[6.42928,49.66076],[6.43577,49.66097],[6.44051,49.65901],[6.44131,49.6574],[6.44042,49.65274],[6.43779,49.64758],[6.433,49.64013],[6.42991,49.63682],[6.4241,49.62574],[6.4223,49.62065],[6.41864,49.61639],[6.413,49.61415],[6.40594,49.60875],[6.40376,49.60528],[6.39731,49.6007],[6.39308,49.59954],[6.38499,49.59881],[6.38125,49.59654],[6.37576,49.59149],[6.37532,49.58758],[6.37808,49.58455],[6.38308,49.58105],[6.38344,49.57825],[6.37988,49.57583],[6.37567,49.5762],[6.37172,49.57821],[6.36884,49.57843],[6.36179,49.5762],[6.35882,49.57391],[6.35866,49.57164],[6.36497,49.56851],[6.3803,49.55987],[6.38333,49.55665],[6.3805,49.55007],[6.37903,49.54824],[6.37216,49.54387],[6.3686,49.54038],[6.36026,49.53533],[6.35808,49.5321],[6.35784,49.52864],[6.36339,49.51647],[6.36449,49.51529],[6.36684,49.50917],[6.36874,49.50133],[6.36786,49.49502],[6.36983,49.48866],[6.36835,49.47923],[6.36875,49.46922],[6.36772,49.46942],[6.36756,49.46506],[6.36885,49.45987],[6.36445,49.45951],[6.36055,49.46142],[6.35285,49.46732],[6.34715,49.46587],[6.34265,49.46911],[6.33875,49.46862],[6.33402,49.46694],[6.33279,49.46963],[6.3299,49.47006],[6.32065,49.47742],[6.31861,49.47801],[6.3146,49.47707],[6.31296,49.4804],[6.30802,49.47893],[6.30544,49.47714],[6.30429,49.47832],[6.29622,49.4802],[6.29511,49.48139],[6.29907,49.48761],[6.29166,49.48685],[6.29117,49.48466],[6.28754,49.48615],[6.28956,49.48643],[6.28642,49.48805],[6.28439,49.49143],[6.28834,49.49144],[6.28962,49.49372],[6.2819,49.4932],[6.27889,49.4964],[6.28133,49.50104],[6.27986,49.50328],[6.27464,49.50379],[6.27186,49.50473],[6.2633,49.50395],[6.26195,49.50714],[6.25805,49.50755],[6.25701,49.5098],[6.24845,49.50851],[6.2464,49.5092],[6.24513,49.51151],[6.24182,49.51188],[6.24172,49.51423],[6.23896,49.5135],[6.23616,49.50815],[6.22758,49.51036],[6.22,49.50877],[6.21713,49.50976],[6.21723,49.5069],[6.2145,49.50635],[6.2074,49.50625],[6.2029,49.50699],[6.19576,49.50536],[6.19525,49.50642],[6.19136,49.50598],[6.18084,49.50801],[6.17831,49.50696],[6.17497,49.51031],[6.17199,49.50814],[6.16194,49.50415],[6.16165,49.50492],[6.15711,49.50423],[6.15389,49.50163],[6.15747,49.49673],[6.16249,49.49348],[6.15734,49.49148],[6.15585,49.49339],[6.1447,49.48789],[6.14077,49.48667],[6.14176,49.49168],[6.13373,49.48998],[6.13175,49.49063],[6.12804,49.49392],[6.12676,49.49002],[6.12748,49.48233],[6.12256,49.4752],[6.12345,49.47346],[6.11419,49.47049],[6.11139,49.47252],[6.10948,49.47252],[6.10198,49.47038],[6.1026,49.4694],[6.09981,49.46746],[6.09821,49.46427],[6.09878,49.46063],[6.10102,49.45786],[6.10163,49.4543],[6.10077,49.45289],[6.09232,49.45314],[6.09208,49.45428],[6.08694,49.45504],[6.086,49.45612],[6.08071,49.45847],[6.07921,49.46392],[6.07367,49.46365],[6.07264,49.46542],[6.06631,49.46482],[6.06114,49.46539],[6.05811,49.46644],[6.05309,49.4639],[6.04693,49.45555],[6.04177,49.44785],[6.03258,49.44953],[6.02725,49.44826],[6.02588,49.45073],[6.02711,49.45364],[6.02326,49.45507],[6.01559,49.45395],[6.01382,49.45253],[6.0115,49.45352],[6.00785,49.45164],[6.00123,49.4565],[5.99793,49.4565],[5.98197,49.45106],[5.97909,49.45268],[5.9793,49.45524],[5.98236,49.45703],[5.98572,49.45574],[5.98807,49.46129],[5.98732,49.46264],[5.98258,49.46352],[5.98144,49.46122],[5.97931,49.46091],[5.97401,49.46549],[5.97363,49.46859],[5.97194,49.46957],[5.97279,49.47119],[5.97241,49.47553],[5.97467,49.47743],[5.9748,49.482],[5.97141,49.48307],[5.96809,49.4864],[5.9709,49.4884],[5.9738,49.48911],[5.97211,49.49141],[5.96613,49.49134],[5.96523,49.49276],[5.95207,49.49414],[5.94917,49.49649],[5.94199,49.49835],[5.94315,49.50023],[5.94012,49.50096],[5.93414,49.50062],[5.93241,49.49957],[5.93056,49.50064],[5.92754,49.49838],[5.92195,49.50073],[5.92001,49.50021],[5.91227,49.502],[5.9086,49.50159],[5.90363,49.49826],[5.89752,49.49676],[5.89005,49.49668],[5.88698,49.49827],[5.88183,49.49917],[5.87332,49.49852],[5.87192,49.50027],[5.86969,49.49928],[5.86626,49.49991],[5.86246,49.50187],[5.85892,49.50589],[5.85322,49.50705],[5.84973,49.50897],[5.84917,49.51273],[5.84785,49.51494],[5.8412,49.51693],[5.83811,49.51952],[5.83615,49.51987],[5.83578,49.52264],[5.8343,49.52372],[5.83412,49.52638],[5.84303,49.5295],[5.84581,49.5299],[5.83916,49.53731],[5.83708,49.54258],[5.83507,49.54234],[5.82444,49.53917],[5.82272,49.53802],[5.81716,49.53702],[5.81334,49.54155],[5.80855,49.54091],[5.80813,49.54256],[5.81795,49.54575],[5.8201,49.5476],[5.82016,49.54927],[5.82273,49.54972],[5.82604,49.55223],[5.82797,49.55001],[5.83565,49.55246],[5.84181,49.55311],[5.84201,49.5545],[5.84606,49.55628],[5.84585,49.55877],[5.84242,49.56102],[5.84515,49.56105],[5.85021,49.56322],[5.85224,49.56528],[5.86106,49.56702],[5.86041,49.56979],[5.86324,49.57051],[5.86749,49.57308],[5.8728,49.57429],[5.86975,49.57678],[5.87192,49.57963],[5.86601,49.58056],[5.87314,49.58397],[5.87146,49.58778],[5.86778,49.58965],[5.8643,49.58648],[5.85951,49.58603],[5.85007,49.58695],[5.8488,49.59043],[5.8478,49.59598],[5.84907,49.59771],[5.85581,49.5999],[5.86496,49.60433],[5.87007,49.60578],[5.8766,49.60841],[5.87575,49.61136],[5.87718,49.61231],[5.87544,49.61457],[5.87563,49.61889],[5.87665,49.6207],[5.88128,49.62429],[5.88678,49.62732],[5.88582,49.62902],[5.8827,49.63094],[5.88386,49.63298],[5.88691,49.63495],[5.89228,49.63623],[5.89762,49.63582],[5.89897,49.63438],[5.90319,49.63616],[5.90772,49.63907],[5.90437,49.64148],[5.90412,49.64561],[5.90222,49.64595],[5.90296,49.65383],[5.90541,49.65476],[5.90295,49.65758],[5.90508,49.66071],[5.91064,49.66249],[5.90865,49.6655],[5.90601,49.6656],[5.90167,49.66441],[5.90146,49.66632],[5.89809,49.66635],[5.89581,49.66875],[5.89374,49.66629],[5.89029,49.6694],[5.88748,49.66972],[5.88711,49.6679],[5.88509,49.66867],[5.88471,49.67057],[5.87694,49.67343],[5.87391,49.67326],[5.8702,49.67535],[5.8654,49.67608],[5.86181,49.68106],[5.86265,49.68456],[5.86455,49.68735],[5.8634,49.6885],[5.86698,49.69215],[5.8667,49.69436],[5.86925,49.69487],[5.87179,49.69844],[5.87788,49.70117],[5.88191,49.70541],[5.88693,49.70928],[5.88153,49.71307],[5.87482,49.71576],[5.87416,49.71742],[5.87655,49.71813],[5.87517,49.72185],[5.87072,49.72162],[5.87045,49.72341],[5.86503,49.72696],[5.86173,49.72621],[5.86004,49.72723],[5.85443,49.72469],[5.85083,49.72424],[5.84467,49.72137],[5.84093,49.72148],[5.83762,49.724],[5.83139,49.72447],[5.82633,49.72352],[5.82437,49.72605],[5.82692,49.72689],[5.82719,49.72887],[5.82542,49.732],[5.82829,49.73332],[5.82739,49.73911],[5.83263,49.74145],[5.83038,49.74338],[5.83243,49.74692],[5.83047,49.74961],[5.82798,49.75026],[5.82302,49.74947],[5.82046,49.75127],[5.82086,49.75326],[5.81785,49.75397],[5.81597,49.76221],[5.81111,49.76535],[5.80945,49.76533],[5.80724,49.77246],[5.80343,49.7766],[5.79943,49.77806],[5.79847,49.78183],[5.79204,49.78701],[5.7933,49.79057],[5.79037,49.79576],[5.78839,49.79665],[5.78519,49.79617],[5.78135,49.79227],[5.7769,49.7946],[5.7717,49.79319],[5.77026,49.79424],[5.76136,49.79305],[5.75516,49.79146],[5.75309,49.7934],[5.7529,49.79695],[5.75011,49.80895],[5.74995,49.81197],[5.75117,49.81489],[5.74624,49.81577],[5.74347,49.82111],[5.7474,49.82301],[5.74822,49.82446],[5.74632,49.82614],[5.74393,49.8313],[5.73919,49.83362],[5.74079,49.83875],[5.74296,49.83956],[5.74777,49.8385],[5.75064,49.84067],[5.74858,49.84234],[5.74821,49.84597],[5.7516,49.84718],[5.75412,49.84484],[5.75836,49.84666],[5.75821,49.84934],[5.75492,49.85172],[5.74955,49.85146],[5.74584,49.85256],[5.74609,49.85411],[5.74983,49.85433],[5.75456,49.85655],[5.76066,49.8563],[5.7545,49.86221],[5.75698,49.86511],[5.75604,49.8668],[5.7527,49.86884],[5.75393,49.87192],[5.75615,49.87317],[5.75873,49.8728],[5.76293,49.86946],[5.76556,49.86936],[5.76891,49.87227],[5.77207,49.8714],[5.77443,49.86728],[5.77747,49.87204],[5.7829,49.87187],[5.784,49.87306],[5.77896,49.8749],[5.77991,49.87714],[5.78257,49.87573],[5.78337,49.87874],[5.77884,49.88114],[5.77794,49.88388],[5.77183,49.88507],[5.77061,49.88735],[5.76736,49.88729],[5.7601,49.88929],[5.75734,49.88946],[5.75396,49.89137],[5.74787,49.89239],[5.74628,49.89416],[5.73976,49.895],[5.73578,49.89709],[5.73766,49.90103],[5.74046,49.90218],[5.73992,49.90422],[5.74667,49.90631],[5.74606,49.90779]]]}},"Universit-Mohammed-V-Rabat":{type:"Feature",id:"Universit-Mohammed-V-Rabat",properties:{},geometry:{type:"Polygon",coordinates:[[[-6.84395,34.22335],[-6.79097,34.21902],[-6.74003,34.20621],[-6.69312,34.18541],[-6.65205,34.15742],[-6.61839,34.12333],[-6.59343,34.08446],[-6.57813,34.0423],[-6.57307,33.99847],[-6.57841,33.95467],[-6.59394,33.91257],[-6.61905,33.8738],[-6.65276,33.83982],[-6.69379,33.81195],[-6.74054,33.79124],[-6.79124,33.7785],[-6.84395,33.77419],[-6.89666,33.7785],[-6.94736,33.79124],[-6.99412,33.81195],[-7.03514,33.83982],[-7.06886,33.8738],[-7.09397,33.91257],[-7.1095,33.95467],[-7.11484,33.99847],[-7.10977,34.0423],[-7.09447,34.08446],[-7.06952,34.12333],[-7.03586,34.15742],[-6.99478,34.18541],[-6.94787,34.20621],[-6.89694,34.21902],[-6.84395,34.22335]]]}},norway:{type:"Feature",id:"norway",properties:{},geometry:{type:"Polygon",coordinates:[[[25.98816,69.6179],[25.24109,68.60752],[20.42908,68.97318],[16.9519,67.9499],[13.77686,64.59561],[14.28223,64.47279],[14.08447,63.99524],[13.02979,64.10101],[12.00806,63.2633],[12.14813,61.6586],[12.87323,61.31245],[12.67548,61.0636],[12.26074,61.00241],[12.60681,60.50593],[12.49146,60.08128],[12.17285,59.88756],[11.87622,59.84895],[11.94214,59.69547],[11.6922,59.58998],[11.84601,59.25044],[11.64276,58.89471],[11.45325,58.88194],[11.44775,59.00168],[11.34888,59.11254],[11.18134,59.08009],[11.06186,58.97054],[8,57.5],[3,57.5],[3,83],[40,83],[35,71],[29.61365,69.28629],[27.98767,69.99711],[25.98816,69.6179]]]}},poland:{type:"Feature",id:"poland",properties:{},geometry:{type:"Polygon",coordinates:[[[14.03,52.84],[14.34,53.26],[14.13,54.16],[15.95,54.52],[16.31,54.76],[17.13,54.97],[18.29,55.08],[18.9,54.98],[19.69,54.5],[21.47,54.37],[22.9,54.46],[23.39,54.3],[24.01,53.17],[24.03,52.71],[23.29,52.3],[23.74,52.09],[23.64,51.61],[24.24,50.86],[24.11,50.41],[23.78,50.34],[22.77,49.55],[22.96,48.97],[22.18,49.1],[21.6,49.38],[20.93,49.24],[20.47,49.34],[20.12,49.13],[19.76,49.14],[19.45,49.51],[18.94,49.34],[18.48,49.85],[17.83,49.92],[17.54,50.21],[17.06,50.35],[17.08,50.18],[16.65,50.05],[16.11,50.41],[16.3,50.6],[16.01,50.54],[15.34,50.73],[15.14,50.93],[14.78,50.82],[14.94,51.27],[14.5,51.81],[14.66,52.05],[14.53,52.57],[14.03,52.84]]]}},portugal_full:{type:"Feature",id:"portugal_full",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[-9.8183,39.46654],[-9.74297,39.61243],[-9.15336,40.2689],[-9.02339,40.66605],[-9.06499,41.53361],[-9.14028,41.86583],[-8.87097,41.86393],[-8.63678,42.04749],[-8.33189,42.08383],[-8.09392,41.80804],[-7.70414,41.90734],[-7.57391,41.82972],[-7.31532,41.84255],[-7.07696,41.95194],[-6.59946,41.9483],[-6.54827,41.6856],[-6.18916,41.57483],[-6.31541,41.39007],[-6.64838,41.24755],[-6.80893,41.0365],[-6.78122,40.3638],[-7.00889,40.22732],[-6.88093,40.04168],[-7.01552,39.67043],[-7.49982,39.59116],[-7.29426,39.45683],[-7.22161,39.1933],[-6.95113,39.0236],[-7.03302,38.87882],[-7.26003,38.72294],[-7.3179,38.44009],[-7.00719,38.02075],[-7.24557,37.9918],[-7.52267,37.55307],[-7.44048,37.39102],[-7.36982,36.96795],[-7.86807,36.75651],[-8.93249,36.70613],[-9.19102,36.85095],[-9.24841,37.0566],[-9.15002,37.89299],[-9.43993,38.30501],[-9.69634,38.59117],[-9.76209,38.77148],[-9.8183,39.46654]]],[[[-29.09544,38.59321],[-28.99861,38.75606],[-28.29551,38.95917],[-28.27253,39.20819],[-28.0874,39.30317],[-27.74735,39.18461],[-27.67871,38.98361],[-27.87807,38.81064],[-27.64155,38.71777],[-27.49973,38.96044],[-27.24547,39.00544],[-26.96172,38.94667],[-26.75981,38.69471],[-26.84006,38.53312],[-27.09439,38.40899],[-27.50811,38.51656],[-27.62972,38.36611],[-27.92878,38.22365],[-28.20466,38.18043],[-28.57194,38.21044],[-28.8786,38.34414],[-29.09544,38.59321]]],[[[-17.50448,32.80672],[-17.33873,33.02841],[-17.13654,33.07618],[-16.85671,33.03341],[-16.64298,33.07363],[-16.50498,33.26683],[-16.31749,33.32499],[-16.07438,33.22887],[-16.03974,33.01477],[-16.29967,32.80354],[-16.32939,32.68259],[-16.23823,32.34105],[-16.43009,32.20188],[-16.57427,32.2215],[-17.20787,32.49171],[-17.4233,32.6378],[-17.50448,32.80672]]],[[[-31.55753,39.44564],[-31.35042,39.8176],[-31.19648,39.91735],[-30.95234,39.88204],[-30.85434,39.72257],[-30.8573,39.42079],[-30.93102,39.25354],[-31.27059,39.14744],[-31.46896,39.23418],[-31.55753,39.44564]]],[[[-26.09699,37.8288],[-25.94558,38.06895],[-25.76694,38.10856],[-25.14862,38.0596],[-24.91128,37.9213],[-24.55129,37.35666],[-24.56246,37.16939],[-24.80604,36.81868],[-24.95535,36.7319],[-25.22799,36.74365],[-25.37354,36.82104],[-26.05947,37.72099],[-26.09699,37.8288]]],[[[-16.28153,30.01758],[-16.25213,30.14668],[-16.00891,30.32696],[-15.68743,30.28727],[-15.63441,30.07799],[-15.89594,29.862],[-16.08667,29.83115],[-16.28153,30.01758]]]]}},slovenia:{type:"Feature",id:"slovenia",properties:{},geometry:{type:"Polygon",coordinates:[[[15.17101,45.41273],[15.06731,45.4781],[14.98353,45.48726],[14.93027,45.51869],[14.91295,45.46869],[14.81398,45.45019],[14.77755,45.49724],[14.71885,45.52386],[14.68383,45.51924],[14.68367,45.57107],[14.58902,45.61966],[14.59477,45.65727],[14.51653,45.5974],[14.49636,45.52968],[14.32388,45.46048],[14.28251,45.47949],[14.26083,45.47352],[14.2367,45.49569],[14.21022,45.45962],[14.1328,45.46542],[14.06694,45.47615],[14.01187,45.50769],[13.98752,45.49945],[14.00668,45.4739],[13.99154,45.44854],[13.91789,45.44329],[13.88867,45.416],[13.81063,45.42531],[13.7856,45.45577],[13.67553,45.43241],[13.37688,45.56647],[13.63953,45.6426],[13.72158,45.60472],[13.83759,45.59226],[13.89962,45.63295],[13.82754,45.67917],[13.82429,45.70266],[13.78961,45.73525],[13.66355,45.79008],[13.62279,45.78613],[13.58835,45.80154],[13.56531,45.85522],[13.62633,45.93894],[13.62975,45.97662],[13.59233,45.97929],[13.57124,45.9591],[13.52998,45.95627],[13.46729,46.00147],[13.49765,46.03741],[13.4896,46.06574],[13.58839,46.11268],[13.63712,46.14524],[13.65358,46.17505],[13.57147,46.17434],[13.54859,46.19982],[13.48189,46.21479],[13.42003,46.19662],[13.40026,46.21037],[13.40304,46.23284],[13.36653,46.30266],[13.43369,46.33243],[13.43247,46.36779],[13.56263,46.40895],[13.59357,46.44846],[13.68393,46.44947],[13.71321,46.53296],[13.79725,46.5164],[13.91305,46.53108],[14.00849,46.49169],[14.09406,46.49538],[14.12664,46.4852],[14.16569,46.44341],[14.28242,46.45347],[14.3259,46.44111],[14.43178,46.4568],[14.45113,46.43239],[14.52618,46.43623],[14.56677,46.38549],[14.58993,46.44479],[14.65658,46.45447],[14.71191,46.50954],[14.80818,46.51778],[14.81442,46.55093],[14.86094,46.61239],[14.9102,46.61569],[14.95398,46.64257],[14.98376,46.61868],[15.02973,46.65796],[15.10645,46.66965],[15.23727,46.64973],[15.41364,46.66553],[15.46237,46.64732],[15.47411,46.6226],[15.53427,46.64346],[15.53636,46.6761],[15.59201,46.69952],[15.62405,46.69039],[15.65624,46.71643],[15.767,46.70899],[15.83801,46.73237],[15.91476,46.71958],[16.02919,46.67033],[16.02955,46.68778],[15.99495,46.71178],[15.97505,46.74967],[15.98671,46.84189],[16.0553,46.85049],[16.11022,46.87912],[16.15425,46.86525],[16.23302,46.88667],[16.29431,46.8824],[16.34649,46.85476],[16.36058,46.8278],[16.34711,46.79707],[16.32245,46.79068],[16.33977,46.7799],[16.33186,46.75896],[16.38893,46.70785],[16.4383,46.69655],[16.42822,46.65301],[16.40159,46.6439],[16.51477,46.57299],[16.54136,46.53627],[16.5416,46.50887],[16.611,46.48393],[16.61889,46.46203],[16.52219,46.45842],[16.47451,46.50108],[16.36776,46.53371],[16.2582,46.489],[16.28533,46.42441],[16.3168,46.40141],[16.30574,46.36921],[16.18689,46.36804],[16.14548,46.39515],[16.06959,46.38154],[16.08614,46.34087],[16.04058,46.32708],[16.01819,46.29964],[15.80777,46.25091],[15.79649,46.21296],[15.77128,46.19937],[15.67996,46.21707],[15.65737,46.20838],[15.65639,46.18456],[15.62037,46.16163],[15.61899,46.11595],[15.63483,46.09529],[15.71869,46.06873],[15.74241,46.04578],[15.71612,45.99489],[15.71645,45.9178],[15.69237,45.90013],[15.69375,45.87111],[15.71776,45.8416],[15.6441,45.81058],[15.57467,45.83999],[15.52333,45.81155],[15.49115,45.82041],[15.47514,45.78666],[15.40343,45.78216],[15.28683,45.73391],[15.27435,45.72408],[15.29763,45.70782],[15.36329,45.72191],[15.41517,45.65443],[15.39705,45.62929],[15.31501,45.62356],[15.31503,45.60696],[15.29266,45.60163],[15.30852,45.58653],[15.31145,45.5423],[15.39496,45.48325],[15.34824,45.44665],[15.27515,45.45599],[15.22848,45.41683],[15.17101,45.41273]]]}},spain:{type:"Feature",id:"spain",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[-19,29],[-13,30],[-13,29],[-14,27.8],[-19,27],[-19,29]]],[[[-8.89106,41.82289],[-10,44],[-4,44],[-1.77005,43.37605],[-1.71005,43.37569],[-1.71135,43.33125],[-1.72259,43.31318],[-1.68904,43.31291],[-1.68811,43.33413],[-1.64467,43.33372],[-1.64498,43.31332],[-1.60299,43.31295],[-1.60344,43.29266],[-1.56359,43.29212],[-1.56305,43.31338],[-1.47799,43.31284],[-1.36677,43.27614],[-1.35688,43.23815],[-1.37037,43.1713],[-1.44231,43.08336],[-1.41983,43.06036],[-1.37307,43.05117],[-1.36407,43.11159],[-1.30203,43.13522],[-1.23549,43.13325],[-1.27955,43.07744],[-1.19232,43.06496],[-1.00619,43.00778],[-0.94234,42.9749],[-0.7562,42.98213],[-0.71484,42.96108],[-0.69685,42.90314],[-0.55118,42.82207],[-0.50442,42.84845],[-0.42889,42.82009],[-0.31648,42.86558],[-0.14563,42.81086],[-0.03143,42.71249],[0.18618,42.7541],[0.30218,42.71777],[0.36422,42.74287],[0.44875,42.71447],[0.62769,42.7224],[0.64118,42.85767],[0.71492,42.88272],[0.9676,42.81811],[1.10878,42.79898],[1.17532,42.73429],[1.36326,42.74155],[1.41137,42.70939],[1.48061,42.71034],[1.4813,42.50107],[1.64436,42.50203],[1.64328,42.54245],[1.73041,42.54342],[1.73164,42.50118],[2.06386,42.50164],[2.06456,42.45902],[2.39693,42.45994],[2.39768,42.41784],[2.48048,42.41797],[2.48098,42.37594],[2.64479,42.37626],[2.64448,42.45924],[2.81133,42.45961],[2.81126,42.50104],[3.06388,42.50085],[3.06388,42.45915],[3.23078,42.45934],[5,40],[4,39],[-2.2,36.5],[-5.6,35.95],[-6,36],[-7.37535,37.15354],[-7.40832,37.16822],[-7.4481,37.39094],[-7.46963,37.40758],[-7.4647,37.45305],[-7.50197,37.51641],[-7.51916,37.52292],[-7.52196,37.57237],[-7.45013,37.66958],[-7.4249,37.75992],[-7.31666,37.83997],[-7.26833,37.98895],[-7.15368,38.01552],[-7.11771,38.05536],[-7.0143,38.02438],[-6.99632,38.10756],[-6.96147,38.20125],[-7.08062,38.15708],[-7.34027,38.44024],[-7.26383,38.73807],[-7.04352,38.87297],[-7.06151,38.90796],[-6.96934,39.01983],[-7.00081,39.08879],[-7.15368,39.09577],[-7.15255,39.16029],[-7.24472,39.19689],[-7.25596,39.28133],[-7.33689,39.35351],[-7.3279,39.45599],[-7.51449,39.58865],[-7.55271,39.67954],[-7.05027,39.67522],[-6.99519,39.81954],[-6.92213,39.87909],[-6.88616,40.02299],[-7.04128,40.13479],[-7.01767,40.26615],[-6.8086,40.34501],[-6.86818,40.44516],[-6.85356,40.60664],[-6.83783,40.87576],[-6.9536,41.03704],[-6.80186,41.03959],[-6.76814,41.13871],[-6.64112,41.26556],[-6.56244,41.26303],[-6.21737,41.5791],[-6.31628,41.64465],[-6.51523,41.64129],[-6.58717,41.68832],[-6.54783,41.85597],[-6.62988,41.91121],[-7.13345,41.94048],[-7.16829,41.87188],[-7.42569,41.78477],[-7.95398,41.84593],[-8.13045,41.78058],[-8.25185,41.90786],[-8.12933,42.03488],[-8.24848,42.1008],[-8.36762,42.05575],[-8.60704,42.03405],[-8.89106,41.82289]]]]}},"Universidad-Autonoma-de-Madrid":{type:"Feature",id:"Universidad-Autonoma-de-Madrid",properties:{},geometry:{type:"Polygon",coordinates:[[[-3.69437,40.77124],[-3.63652,40.76691],[-3.58092,40.75409],[-3.52972,40.73327],[-3.48489,40.70527],[-3.44818,40.67117],[-3.42097,40.63228],[-3.40432,40.59011],[-3.39883,40.54628],[-3.4047,40.50248],[-3.42167,40.46039],[-3.44909,40.42163],[-3.48588,40.38767],[-3.53063,40.35981],[-3.58162,40.33912],[-3.6369,40.32638],[-3.69437,40.32208],[-3.75184,40.32638],[-3.80712,40.33912],[-3.85811,40.35981],[-3.90286,40.38767],[-3.93965,40.42163],[-3.96707,40.46039],[-3.98405,40.50248],[-3.98992,40.54628],[-3.98443,40.59011],[-3.96777,40.63228],[-3.94057,40.67117],[-3.90385,40.70527],[-3.85903,40.73327],[-3.80783,40.75409],[-3.75222,40.76691],[-3.69437,40.77124]]]}},"Universidad-Politcnica-de-Madrid":{type:"Feature",id:"Universidad-Politcnica-de-Madrid",properties:{},geometry:{type:"Polygon",coordinates:[[[-3.7173,40.67259],[-3.65954,40.66826],[-3.60402,40.65544],[-3.55289,40.63463],[-3.50813,40.60662],[-3.47147,40.57252],[-3.44431,40.53363],[-3.42767,40.49146],[-3.42219,40.44764],[-3.42805,40.40384],[-3.445,40.36175],[-3.47238,40.32298],[-3.50912,40.28902],[-3.5538,40.26117],[-3.60472,40.24047],[-3.65992,40.22773],[-3.7173,40.22343],[-3.77469,40.22773],[-3.82989,40.24047],[-3.8808,40.26117],[-3.92549,40.28902],[-3.96222,40.32298],[-3.9896,40.36175],[-4.00656,40.40384],[-4.01241,40.44764],[-4.00693,40.49146],[-3.9903,40.53363],[-3.96314,40.57252],[-3.92647,40.60662],[-3.88172,40.63463],[-3.83059,40.65544],[-3.77507,40.66826],[-3.7173,40.67259]]]}},sweden:{type:"Feature",id:"sweden",properties:{},geometry:{type:"Polygon",coordinates:[[[10.57159,58.2445],[10.63202,58.9245],[11.35712,59.12804],[11.53839,58.91174],[11.62079,58.92308],[11.75812,59.24341],[11.65649,59.61777],[11.85974,59.7121],[11.82129,59.84481],[11.95862,59.91098],[12.15363,59.91235],[12.44476,60.0895],[12.48322,60.32151],[12.56012,60.50458],[12.36511,60.71217],[12.19482,61.01572],[12.64801,61.09415],[12.82928,61.34276],[12.55463,61.55018],[12.42828,61.54495],[12.12341,61.71331],[12.28546,62.26664],[12.03278,62.60851],[12.10968,62.74718],[12.06024,62.89772],[12.18658,62.99765],[11.95587,63.28183],[12.18109,63.47873],[12.1344,63.59012],[12.659,63.9856],[12.90619,64.0722],[13.20831,64.10461],[13.9801,64.03014],[14.06525,64.46214],[13.60382,64.56968],[14.26025,65.11608],[14.31519,65.23831],[14.45251,65.31412],[14.47998,65.62656],[14.57886,65.80953],[14.49097,66.15163],[14.99634,66.17161],[15.4248,66.29337],[15.33691,66.51107],[16.04004,66.93221],[16.37512,67.06743],[16.35864,67.21467],[16.06201,67.42015],[16.1499,67.52957],[16.37512,67.55266],[16.70471,67.91688],[17.25952,68.13067],[17.88025,67.99523],[18.09448,68.19809],[18.06702,68.54432],[18.39661,68.58848],[19.00085,68.52019],[19.89075,68.39109],[20.13245,68.48798],[19.89075,68.55637],[20.28076,68.78613],[19.99512,69.06268],[20.62134,69.08033],[20.86853,69.03518],[21.24756,68.8437],[21.92322,68.60652],[22.90649,68.39514],[23.73596,67.96639],[23.5437,67.8362],[23.62061,67.47492],[23.79639,67.44544],[23.81287,67.26992],[23.63159,67.23806],[24.04358,66.82868],[23.91174,66.57448],[23.71399,66.31986],[24.22485,65.97333],[24.04358,65.64469],[21.00586,63.63894],[18.57239,61.83023],[19.18762,60.53297],[19.11346,60.18387],[19.66827,59.82687],[19.90173,58.07788],[18.78662,56.9869],[16.73218,56.05977],[15.0238,55.72711],[14.36462,55.31977],[13.1163,55.22276],[12.7002,55.30414],[12.82654,55.57834],[12.84851,55.72402],[12.79358,55.83214],[12.6123,56.0751],[12.49146,56.13331],[12.07947,56.30435],[11.35437,57.67185],[10.57159,58.2445]]]}},"Istanbul-Technical-University":{type:"Feature",id:"Istanbul-Technical-University",properties:{},geometry:{type:"Polygon",coordinates:[[[29.02465,41.33019],[29.083,41.32586],[29.13907,41.31304],[29.19071,41.29222],[29.23592,41.26422],[29.27294,41.23011],[29.30037,41.19122],[29.31717,41.14905],[29.3227,41.10523],[29.31678,41.06143],[29.29965,41.01934],[29.272,40.98058],[29.2349,40.94662],[29.18977,40.91876],[29.13835,40.89807],[29.08261,40.88533],[29.02465,40.88103],[28.9667,40.88533],[28.91095,40.89807],[28.85954,40.91876],[28.81441,40.94662],[28.77731,40.98058],[28.74965,41.01934],[28.73253,41.06143],[28.72661,41.10523],[28.73214,41.14905],[28.74893,41.19122],[28.77636,41.23011],[28.81339,41.26422],[28.85859,41.29222],[28.91023,41.31304],[28.96631,41.32586],[29.02465,41.33019]]]}},east_midlands_uk:{type:"Feature",id:"east_midlands_uk",properties:{},geometry:{type:"Polygon",coordinates:[[[0.03031,53.53488],[0.28564,53.56315],[0.48889,53.10722],[0.27299,52.82421],[0.24507,52.7845],[0.27219,52.77279],[0.18631,52.73533],[0.14206,52.7399],[0.08901,52.72361],[0.06361,52.72737],[0.04413,52.71436],[0.04883,52.68175],[0.02104,52.66476],[-0.03129,52.66151],[-0.06373,52.67521],[-0.08777,52.66676],[-0.10221,52.67218],[-0.14108,52.65149],[-0.18003,52.66054],[-0.19288,52.65242],[-0.20605,52.66805],[-0.26064,52.65139],[-0.28925,52.67025],[-0.335,52.67485],[-0.35023,52.66159],[-0.40569,52.64802],[-0.45065,52.65411],[-0.49897,52.63931],[-0.52006,52.64143],[-0.55014,52.61223],[-0.54419,52.59287],[-0.55813,52.59447],[-0.57192,52.58579],[-0.58149,52.59587],[-0.58865,52.58679],[-0.60303,52.58857],[-0.66093,52.56893],[-0.69783,52.5457],[-0.71564,52.52237],[-0.75723,52.51093],[-0.77488,52.51826],[-0.82013,52.51552],[-0.86871,52.52699],[-0.88346,52.51395],[-0.88214,52.49315],[-0.89806,52.4869],[-0.88241,52.47127],[-0.90065,52.45994],[-0.94219,52.46777],[-0.95192,52.47741],[-1.0007,52.47092],[-1.04452,52.44573],[-1.03429,52.43627],[-1.04987,52.42225],[-1.08439,52.43628],[-1.12928,52.41609],[-1.14947,52.39701],[-1.20141,52.39648],[-1.30715,52.49423],[-1.52226,52.57033],[-1.52716,52.58272],[-1.56075,52.59612],[-1.55447,52.61472],[-1.57139,52.6353],[-1.54714,52.64218],[-1.54245,52.65362],[-1.55281,52.66845],[-1.58965,52.68724],[-1.59082,52.69801],[-1.65505,52.69878],[-1.65662,52.72173],[-1.70372,52.7298],[-1.69687,52.75272],[-1.66654,52.78471],[-1.61113,52.78139],[-1.61435,52.78826],[-1.58887,52.79985],[-1.59183,52.80947],[-1.6105,52.81639],[-1.58536,52.8317],[-1.62672,52.85441],[-1.69028,52.86445],[-1.70061,52.86057],[-1.70435,52.86666],[-1.72527,52.85964],[-1.77712,52.88377],[-1.79092,52.88023],[-1.80186,52.88613],[-1.81171,52.88058],[-1.83295,52.8869],[-1.85422,52.93063],[-1.82982,52.94565],[-1.82678,52.97707],[-1.76257,52.99965],[-1.75775,53.01698],[-1.75978,53.03869],[-1.7847,53.04991],[-1.77566,53.05933],[-1.79424,53.08837],[-1.78373,53.10281],[-1.82144,53.13579],[-1.81254,53.15432],[-1.8393,53.1769],[-1.87403,53.19536],[-1.95671,53.21373],[-1.96237,53.22622],[-1.9896,53.21572],[-1.97486,53.23106],[-2.00948,53.26065],[-2.00679,53.35457],[-2.009,53.36201],[-2.03173,53.36573],[-2.03385,53.37517],[-2.00464,53.38633],[-1.99233,53.41519],[-2.02371,53.42055],[-2.02738,53.43233],[-2.01366,53.43988],[-2.00422,53.43592],[-2.00823,53.44155],[-1.98579,53.45523],[-1.98809,53.48033],[-1.97428,53.48838],[-1.97159,53.50434],[-1.92197,53.50995],[-1.92678,53.52095],[-1.91189,53.53803],[-1.89411,53.5336],[-1.87349,53.54041],[-1.84182,53.51989],[-1.82223,53.52108],[-1.80428,53.537],[-1.77188,53.53384],[-1.74155,53.54105],[-1.72318,53.55991],[-1.66945,53.5532],[-1.65103,53.56166],[-1.61581,53.56305],[-1.59636,53.57692],[-1.59109,53.60677],[-1.55023,53.60421],[-1.53078,53.59311],[-1.51867,53.5997],[-1.49656,53.59736],[-1.49512,53.60317],[-1.48371,53.59485],[-1.44763,53.61272],[-1.40036,53.59865],[-1.3767,53.60646],[-1.35612,53.59535],[-1.35143,53.58106],[-1.30782,53.57535],[-1.25803,53.59198],[-1.24825,53.61634],[-1.21778,53.62429],[-1.21602,53.642],[-1.1886,53.63583],[-1.15503,53.64319],[-1.13504,53.63254],[-1.12095,53.64688],[-0.99046,53.6612],[-0.94448,53.65868],[-0.86533,53.63769],[-0.89792,53.58325],[-0.90111,53.5687],[-0.89099,53.56654],[-0.90126,53.54788],[-0.89233,53.53738],[-0.94654,53.52732],[-0.95001,53.51363],[-0.93209,53.51065],[-0.93557,53.5025],[-0.90047,53.47513],[-0.92046,53.46446],[-0.87373,53.46146],[-0.87192,53.46629],[-0.79748,53.45504],[-0.78436,53.46336],[-0.78439,53.47665],[-0.77157,53.47918],[-0.76811,53.4989],[-0.75211,53.50051],[-0.73959,53.51991],[-0.62449,53.51282],[-0.62975,53.45819],[-0.55179,53.4595],[-0.47175,53.47485],[-0.48663,53.48045],[-0.48838,53.50484],[-0.40507,53.51759],[-0.40814,53.53208],[-0.43066,53.54631],[-0.50123,53.53744],[-0.46702,53.54894],[-0.429,53.5745],[-0.41967,53.56375],[-0.33594,53.5586],[-0.30342,53.59077],[-0.30093,53.61636],[-0.24847,53.59364],[-0.25139,53.58463],[-0.23466,53.58623],[-0.22255,53.56799],[-0.19169,53.56844],[-0.21988,53.53258],[-0.21059,53.53168],[-0.20408,53.51174],[-0.2106,53.48626],[-0.18856,53.48451],[-0.1818,53.46862],[-0.15368,53.46565],[-0.14923,53.44667],[-0.13188,53.43591],[-0.12034,53.43357],[-0.08221,53.45112],[-0.10786,53.46987],[-0.0898,53.47765],[-0.09548,53.48596],[-0.07526,53.48931],[-0.06493,53.51878],[-0.01452,53.51538],[0.03031,53.53488]]]}},"england-west-midlands":{type:"Feature",id:"england-west-midlands",properties:{},geometry:{type:"Polygon",coordinates:[[[-3.28493,52.44175],[-3.12706,52.96995],[-1.95817,53.27605],[-1.1222,52.36367],[-1.59859,51.90733],[-2.65611,51.7761],[-3.10848,51.95414],[-3.28493,52.44175]]]}},london_uk:{type:"Feature",id:"london_uk",properties:{},geometry:{type:"Polygon",coordinates:[[[0.23926,51.43251],[0.23923,51.43329],[0.23926,51.43251],[0.23717,51.4241],[0.205,51.39919],[0.18385,51.37628],[0.16188,51.36621],[0.15614,51.3539],[0.1603,51.31026],[0.14958,51.30173],[0.14213,51.29098],[0.06692,51.27361],[-0.01594,51.26864],[-0.05766,51.2586],[-0.10949,51.25943],[-0.16628,51.26848],[-0.19872,51.25854],[-0.22666,51.2587],[-0.27352,51.28757],[-0.31813,51.30077],[-0.33644,51.31532],[-0.40313,51.30581],[-0.44436,51.31987],[-0.47985,51.3302],[-0.50762,51.37142],[-0.53414,51.39494],[-0.54109,51.42774],[-0.53264,51.43923],[-0.5152,51.46248],[-0.49617,51.48894],[-0.50203,51.53945],[-0.5278,51.55474],[-0.53166,51.5611],[-0.53569,51.57289],[-0.53596,51.5778],[-0.53455,51.58275],[-0.53376,51.58792],[-0.51516,51.6337],[-0.49776,51.65205],[-0.4901,51.66912],[-0.45924,51.67692],[-0.44684,51.69442],[-0.42579,51.71213],[-0.39306,51.715],[-0.38079,51.71654],[-0.34459,51.70948],[-0.2838,51.71515],[-0.26707,51.71395],[-0.23509,51.69056],[-0.22093,51.68445],[-0.17729,51.68441],[-0.10644,51.69165],[-0.05899,51.68257],[0.02324,51.678],[0.0691,51.68854],[0.10856,51.68336],[0.19863,51.65015],[0.25714,51.61353],[0.28187,51.57813],[0.29039,51.55903],[0.26811,51.50265],[0.26882,51.49783],[0.26782,51.49042],[0.2659,51.47443],[0.25509,51.46053],[0.23586,51.44791],[0.23926,51.43251]]]}},united_kingdom:{type:"Feature",id:"united_kingdom",properties:{name:"United Kingdom",source:"OpenStreetMap"},geometry:{type:"Polygon",coordinates:[[[-7.24863,55.06999],[-6.96705,55.19847],[-6.59182,55.36664],[-9.93166,58.01975],[0.32957,61.43878],[2.43894,51.64531],[0.72508,50.42953],[-7.66848,49.03788],[-5.93264,51.46771],[-5.4053,53.54032],[-6.07527,54.0096],[-6.28173,54.11135],[-6.309,54.10669],[-6.31788,54.09098],[-6.33629,54.09472],[-6.33993,54.11189],[-6.3662,54.11374],[-6.36237,54.0766],[-6.37492,54.06914],[-6.37907,54.06909],[-6.37911,54.06907],[-6.37918,54.06902],[-6.39105,54.05885],[-6.41198,54.06306],[-6.44345,54.05649],[-6.45607,54.07252],[-6.47779,54.07709],[-6.4713,54.0663],[-6.51051,54.05268],[-6.53187,54.05968],[-6.55772,54.04917],[-6.58643,54.05757],[-6.59499,54.04462],[-6.62381,54.03646],[-6.66426,54.06917],[-6.66202,54.09283],[-6.64506,54.096],[-6.66127,54.12266],[-6.64886,54.12138],[-6.63961,54.13187],[-6.63436,54.16317],[-6.66539,54.19316],[-6.70601,54.20005],[-6.72106,54.18197],[-6.74076,54.18192],[-6.75617,54.19926],[-6.77562,54.19895],[-6.80097,54.21317],[-6.80042,54.2211],[-6.81617,54.22302],[-6.82774,54.26149],[-6.87804,54.27924],[-6.87229,54.28794],[-6.859,54.28191],[-6.85087,54.29728],[-6.87594,54.34641],[-6.90626,54.3503],[-6.91129,54.37474],[-6.93074,54.37575],[-6.9237,54.38284],[-6.95963,54.39221],[-6.98165,54.40946],[-6.99601,54.40538],[-7.0291,54.42137],[-7.05724,54.41108],[-7.07234,54.38839],[-7.10979,54.36824],[-7.10388,54.35574],[-7.15344,54.33501],[-7.18882,54.33765],[-7.17974,54.32046],[-7.17949,54.30924],[-7.19789,54.31106],[-7.21219,54.29962],[-7.17302,54.28613],[-7.17937,54.2726],[-7.16092,54.27371],[-7.14225,54.25559],[-7.15893,54.24396],[-7.14594,54.23957],[-7.14503,54.22473],[-7.17104,54.2176],[-7.18808,54.22492],[-7.1986,54.21578],[-7.22085,54.21581],[-7.23182,54.20557],[-7.24806,54.20446],[-7.24915,54.19817],[-7.233,54.19784],[-7.25942,54.19225],[-7.25828,54.17737],[-7.24028,54.1697],[-7.25812,54.16451],[-7.26296,54.13741],[-7.29195,54.11911],[-7.30891,54.13211],[-7.28551,54.13626],[-7.30149,54.14421],[-7.28379,54.15386],[-7.27997,54.16797],[-7.2913,54.17196],[-7.33956,54.14672],[-7.30533,54.12336],[-7.31867,54.11329],[-7.32713,54.12458],[-7.34602,54.11645],[-7.3632,54.1316],[-7.39181,54.12013],[-7.37279,54.13963],[-7.42078,54.13705],[-7.40959,54.15646],[-7.44192,54.15409],[-7.46841,54.14081],[-7.47919,54.12227],[-7.5281,54.13574],[-7.54738,54.12214],[-7.56576,54.12659],[-7.57454,54.14151],[-7.61043,54.14378],[-7.62966,54.1703],[-7.66425,54.18797],[-7.67659,54.18196],[-7.68829,54.20197],[-7.68543,54.20776],[-7.7394,54.20353],[-7.74858,54.20942],[-7.80368,54.20707],[-7.81173,54.20073],[-7.86017,54.21728],[-7.86046,54.26026],[-7.87322,54.27945],[-7.86187,54.29343],[-7.88087,54.29188],[-7.9017,54.30143],[-7.91095,54.29595],[-7.9616,54.31247],[-8.00093,54.35846],[-8.03129,54.35671],[-8.05733,54.36572],[-8.08416,54.39741],[-8.16026,54.44028],[-8.14291,54.45092],[-8.17751,54.46476],[-8.11467,54.46903],[-8.11324,54.4764],[-8.09148,54.47653],[-8.09868,54.48433],[-8.08933,54.48708],[-8.04265,54.48763],[-8.04185,54.50638],[-8.00601,54.54594],[-7.9703,54.54705],[-7.94973,54.53363],[-7.85055,54.53313],[-7.82402,54.54427],[-7.83325,54.55223],[-7.79659,54.57163],[-7.79341,54.58188],[-7.76212,54.58588],[-7.75151,54.59878],[-7.69725,54.61007],[-7.70877,54.63495],[-7.74165,54.61797],[-7.75797,54.62503],[-7.77236,54.62149],[-7.81366,54.64411],[-7.82828,54.63305],[-7.85213,54.63078],[-7.85669,54.65057],[-7.89164,54.65594],[-7.9099,54.66828],[-7.91381,54.67596],[-7.89766,54.68701],[-7.92089,54.69596],[-7.91804,54.70282],[-7.8796,54.70269],[-7.83665,54.73642],[-7.81761,54.73378],[-7.8047,54.7186],[-7.78875,54.71964],[-7.75006,54.70428],[-7.73551,54.71683],[-7.7116,54.72611],[-7.69723,54.72356],[-7.63657,54.75151],[-7.60944,54.74415],[-7.59117,54.74438],[-7.57919,54.75047],[-7.57865,54.74191],[-7.5698,54.74384],[-7.54826,54.74101],[-7.53859,54.751],[-7.54804,54.75711],[-7.54795,54.78835],[-7.52847,54.80757],[-7.47096,54.8348],[-7.44188,54.87561],[-7.45258,54.89849],[-7.44727,54.93524],[-7.39202,54.94545],[-7.4072,54.95521],[-7.4027,54.96689],[-7.40705,54.98294],[-7.39135,54.99774],[-7.40558,55.00332],[-7.37023,55.03476],[-7.34516,55.05083],[-7.31828,55.04507],[-7.29947,55.0561],[-7.28944,55.04771],[-7.27251,55.06357],[-7.24863,55.06999]]]}},"University-of-Exeter":{type:"Feature",id:"University-of-Exeter",properties:{},geometry:{type:"Polygon",coordinates:[[[-3.53515,50.96148],[-3.46559,50.95715],[-3.39875,50.94431],[-3.33721,50.92347],[-3.28338,50.89544],[-3.23931,50.8613],[-3.20671,50.82239],[-3.18679,50.7802],[-3.1803,50.73637],[-3.18744,50.69258],[-3.20791,50.6505],[-3.24089,50.61177],[-3.28508,50.57784],[-3.33879,50.55001],[-3.39995,50.52934],[-3.46624,50.51662],[-3.53515,50.51233],[-3.60405,50.51662],[-3.67035,50.52934],[-3.73151,50.55001],[-3.78522,50.57784],[-3.82941,50.61177],[-3.86239,50.6505],[-3.88285,50.69258],[-3.89,50.73637],[-3.8835,50.7802],[-3.86359,50.82239],[-3.83098,50.8613],[-3.78692,50.89544],[-3.73308,50.92347],[-3.67155,50.94431],[-3.6047,50.95715],[-3.53515,50.96148]]]}},"University-of-Warwick":{type:"Feature",id:"University-of-Warwick",properties:{},geometry:{type:"Polygon",coordinates:[[[-1.56119,52.60392],[-1.48906,52.59958],[-1.41974,52.58674],[-1.35593,52.56589],[-1.30011,52.53785],[-1.25443,52.50371],[-1.22063,52.46479],[-1.2,52.4226],[-1.19329,52.37877],[-1.20072,52.33498],[-1.22196,52.29291],[-1.25615,52.25418],[-1.30198,52.22025],[-1.35766,52.19243],[-1.42106,52.17177],[-1.48977,52.15905],[-1.56119,52.15476],[-1.63261,52.15905],[-1.70132,52.17177],[-1.76473,52.19243],[-1.8204,52.22025],[-1.86623,52.25418],[-1.90043,52.29291],[-1.92166,52.33498],[-1.92909,52.37877],[-1.92238,52.4226],[-1.90175,52.46479],[-1.86796,52.50371],[-1.82228,52.53785],[-1.76645,52.56589],[-1.70265,52.58674],[-1.63333,52.59958],[-1.56119,52.60392]]]}},"Sacred-Heart-Junior-College":{type:"Feature",id:"Sacred-Heart-Junior-College",properties:{},geometry:{type:"Polygon",coordinates:[[[-89.07411,17.38565],[-89.0282,17.38133],[-88.98406,17.36853],[-88.9434,17.34776],[-88.90777,17.3198],[-88.87855,17.28574],[-88.85686,17.24689],[-88.84353,17.20475],[-88.83907,17.16093],[-88.84364,17.11712],[-88.85706,17.07501],[-88.87881,17.0362],[-88.90805,17.0022],[-88.94366,16.97429],[-88.98426,16.95356],[-89.02831,16.9408],[-89.07411,16.93649],[-89.11991,16.9408],[-89.16396,16.95356],[-89.20456,16.97429],[-89.24017,17.0022],[-89.26941,17.0362],[-89.29116,17.07501],[-89.30458,17.11712],[-89.30915,17.16093],[-89.30469,17.20475],[-89.29136,17.24689],[-89.26967,17.28574],[-89.24045,17.3198],[-89.20483,17.34776],[-89.16416,17.36853],[-89.12002,17.38133],[-89.07411,17.38565]]]}},canada_full:{type:"Feature",id:"canada_full",properties:{},geometry:{type:"Polygon",coordinates:[[[-140.99854,69.64945],[-120.9375,78.7335],[-91.05469,82.7432],[-75.58594,83.40004],[-63.45703,83.15311],[-59.32617,82.37915],[-63.76465,81.42049],[-67.19238,80.79583],[-73.21289,78.85307],[-74.9707,76.33114],[-61.34766,70.75797],[-50.1416,46.67959],[-65.98389,42.85181],[-66.95892,44.48769],[-66.9397,44.81692],[-67.13745,45.15493],[-67.26379,45.18591],[-67.31873,45.1278],[-67.43958,45.21881],[-67.44507,45.58329],[-67.79114,45.67164],[-67.78015,47.07012],[-68.19763,47.35743],[-68.39539,47.35743],[-68.37891,47.29413],[-68.90625,47.17478],[-69.06006,47.23449],[-69.08203,47.43552],[-69.22485,47.46524],[-70.00488,46.70974],[-70.05981,46.41514],[-70.18066,46.36209],[-70.3125,46.21025],[-70.24658,46.14178],[-70.3125,45.97406],[-70.26855,45.91294],[-70.42236,45.80583],[-70.42236,45.72152],[-70.71899,45.49865],[-70.62012,45.38302],[-70.80688,45.4293],[-70.85083,45.22848],[-71.00464,45.3367],[-71.1145,45.25169],[-71.26831,45.29035],[-71.41113,45.24395],[-71.5155,45.0153],[-74.81689,45.0153],[-75.31128,44.84808],[-75.7782,44.51218],[-75.82214,44.4377],[-76.43188,44.09942],[-76.79993,43.63011],[-78.68683,43.63806],[-79.19495,43.45292],[-79.07204,43.26521],[-79.05693,43.25671],[-79.04594,43.13807],[-79.06998,43.12103],[-79.06311,43.11652],[-79.05693,43.10951],[-79.07616,43.08393],[-79.07684,43.07691],[-79.01505,43.06839],[-78.99719,43.05785],[-79.02672,43.02071],[-79.01779,42.98456],[-78.98003,42.97099],[-78.96423,42.95843],[-78.93402,42.95542],[-78.91136,42.93883],[-78.90518,42.90011],[-78.93127,42.82361],[-80.07935,42.38289],[-81.27686,42.20818],[-82.39197,41.68112],[-82.68311,41.67701],[-83.07861,41.86547],[-83.15552,42.03909],[-83.12531,42.12064],[-83.13904,42.23462],[-83.07587,42.31185],[-82.98523,42.33418],[-82.81219,42.37478],[-82.63916,42.56117],[-82.59521,42.54903],[-82.52655,42.61375],[-82.41669,43.00063],[-82.13379,43.59631],[-82.51831,45.34442],[-83.59772,45.82114],[-83.43567,45.99696],[-83.57162,46.10847],[-83.65402,46.12275],[-83.76663,46.10466],[-83.82843,46.11989],[-83.89984,46.06084],[-83.95615,46.05989],[-83.974,46.1018],[-84.00833,46.11609],[-84.00696,46.14559],[-84.07974,46.18934],[-84.10995,46.24065],[-84.0976,46.25585],[-84.11545,46.26724],[-84.12094,46.31564],[-84.10309,46.32038],[-84.13467,46.36115],[-84.14841,46.42082],[-84.10995,46.50359],[-84.12781,46.531],[-84.14085,46.53241],[-84.17313,46.52722],[-84.19373,46.54092],[-84.226,46.53525],[-84.26582,46.49603],[-84.2926,46.49225],[-84.34135,46.50595],[-84.37225,46.50879],[-84.44023,46.49036],[-84.47662,46.45489],[-84.55353,46.45867],[-84.76776,46.62492],[-84.84741,46.88272],[-88.38501,48.31243],[-89.32983,47.96786],[-93.21899,48.64743],[-93.80127,48.5166],[-93.83423,48.63291],[-94.6637,48.75257],[-94.8175,49.32691],[-95.15259,49.38595],[-95.15533,49.00184],[-123.31879,49.00004],[-122.99469,48.7761],[-123.2666,48.69096],[-123.11279,48.37815],[-123.44238,48.22467],[-124.7168,48.49477],[-128.49609,48.74895],[-131.2207,53.61858],[-130.75928,54.73731],[-129.99023,55.27912],[-130.07813,56.10881],[-131.74805,56.63206],[-135.53833,59.80063],[-137.47192,58.90465],[-138.67493,59.78958],[-138.6969,59.90822],[-139.20227,60.09772],[-139.08142,60.35141],[-139.71863,60.33239],[-139.98779,60.18523],[-140.46021,60.30791],[-140.52063,60.22618],[-141.01501,60.30519],[-140.99854,69.64945]]]}},ottawa_gatineau:{type:"Feature",id:"ottawa_gatineau",properties:{},geometry:{type:"Polygon",coordinates:[[[-76.23413,45.50827],[-76.12839,45.55829],[-75.26184,45.58041],[-75.13412,45.39652],[-75.42938,45.32512],[-75.35385,45.17816],[-75.82489,44.93564],[-76.34537,45.36855],[-76.23413,45.50827]]]}},vancouver_metro:{type:"Feature",id:"vancouver_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-123.32,49],[-123.45,49.38],[-123.26,49.47],[-122.24,49.27],[-122.2,49],[-123.32,49]]]}},"Universidad-de-Costa-Rica":{type:"Feature",id:"Universidad-de-Costa-Rica",properties:{},geometry:{type:"Polygon",coordinates:[[[-84.05105,10.16183],[-84.00654,10.15751],[-83.96374,10.14472],[-83.92431,10.12396],[-83.88975,10.09601],[-83.8614,10.06196],[-83.84035,10.02313],[-83.8274,9.98099],[-83.82305,9.93717],[-83.82746,9.89336],[-83.84046,9.85124],[-83.86155,9.81243],[-83.88991,9.77841],[-83.92445,9.75049],[-83.96385,9.72975],[-84.0066,9.71698],[-84.05105,9.71267],[-84.0955,9.71698],[-84.13825,9.72975],[-84.17765,9.75049],[-84.21219,9.77841],[-84.24055,9.81243],[-84.26164,9.85124],[-84.27464,9.89336],[-84.27905,9.93717],[-84.2747,9.98099],[-84.26175,10.02313],[-84.2407,10.06196],[-84.21235,10.09601],[-84.17779,10.12396],[-84.13836,10.14472],[-84.09556,10.15751],[-84.05105,10.16183]]]}},cuba:{type:"Feature",id:"cuba",properties:{},geometry:{type:"Polygon",coordinates:[[[-85.5,21.75],[-83.5,23.5],[-80,23.5],[-73.5,20.4],[-74.5,19.5],[-78,19.5],[-85.5,21.75]]]}},"Universidad-Nacional-Autnoma-de-Honduras":{type:"Feature",id:"Universidad-Nacional-Autnoma-de-Honduras",properties:{},geometry:{type:"Polygon",coordinates:[[[-87.16598,14.30969],[-87.12077,14.30537],[-87.07729,14.29258],[-87.03724,14.27181],[-87.00214,14.24385],[-86.97336,14.2098],[-86.95199,14.17096],[-86.93885,14.12882],[-86.93444,14.085],[-86.93893,14.04119],[-86.95215,13.99907],[-86.97357,13.96026],[-87.00237,13.92625],[-87.03745,13.89834],[-87.07745,13.87761],[-87.12085,13.86484],[-87.16598,13.86053],[-87.21111,13.86484],[-87.25451,13.87761],[-87.29451,13.89834],[-87.32959,13.92625],[-87.35839,13.96026],[-87.37982,13.99907],[-87.39303,14.04119],[-87.39752,14.085],[-87.39312,14.12882],[-87.37998,14.17096],[-87.3586,14.2098],[-87.32982,14.24385],[-87.29472,14.27181],[-87.25467,14.29258],[-87.2112,14.30537],[-87.16598,14.30969]]]}},"University-of-the-West-Indies-Mona-Campus":{type:"Feature",id:"University-of-the-West-Indies-Mona-Campus",properties:{},geometry:{type:"Polygon",coordinates:[[[-76.74601,18.23094],[-76.69988,18.22662],[-76.65553,18.21383],[-76.61468,18.19305],[-76.57888,18.16509],[-76.54952,18.13104],[-76.52773,18.09219],[-76.51435,18.05004],[-76.50987,18.00622],[-76.51446,17.96241],[-76.52795,17.9203],[-76.5498,17.8815],[-76.57918,17.84749],[-76.61495,17.81959],[-76.65575,17.79886],[-76.7,17.7861],[-76.74601,17.78179],[-76.79202,17.7861],[-76.83627,17.79886],[-76.87707,17.81959],[-76.91284,17.84749],[-76.94222,17.8815],[-76.96407,17.9203],[-76.97756,17.96241],[-76.98215,18.00622],[-76.97767,18.05004],[-76.96429,18.09219],[-76.9425,18.13104],[-76.91314,18.16509],[-76.87734,18.19305],[-76.83649,18.21383],[-76.79214,18.22662],[-76.74601,18.23094]]]}},nicaragua:{type:"Feature",id:"nicaragua",properties:{},geometry:{type:"Polygon",coordinates:[[[-88,13],[-87.56104,13.13298],[-87.36877,12.99921],[-86.97876,13.02597],[-86.88538,13.28272],[-86.7041,13.29876],[-86.77002,13.76873],[-86.31409,13.77407],[-86.1438,14.046],[-86.01746,14.05133],[-85.75378,13.89141],[-85.16602,14.31761],[-84.96277,14.80144],[-84.4574,14.63674],[-83.39722,15.03499],[-82.5,14.9],[-82.8,12],[-83.676,10.95],[-83.66,10.8],[-83.92,10.7],[-84.688,11.076],[-84.91,10.945],[-85.615,11.215],[-85.7,11.06],[-86,11.06],[-88,13]]]}},"Universidad-Nacional-de-Ingenieria":{type:"Feature",id:"Universidad-Nacional-de-Ingenieria",properties:{},geometry:{type:"Polygon",coordinates:[[[-86.27051,12.35623],[-86.22565,12.35191],[-86.18253,12.33912],[-86.1428,12.31835],[-86.10798,12.2904],[-86.07942,12.25635],[-86.05821,12.21751],[-86.04517,12.17537],[-86.0408,12.13156],[-86.04525,12.08775],[-86.05835,12.04563],[-86.0796,12.00682],[-86.10817,11.9728],[-86.14298,11.94489],[-86.18267,11.92415],[-86.22573,11.91138],[-86.27051,11.90707],[-86.31528,11.91138],[-86.35834,11.92415],[-86.39804,11.94489],[-86.43284,11.9728],[-86.46141,12.00682],[-86.48266,12.04563],[-86.49576,12.08775],[-86.50021,12.13156],[-86.49584,12.17537],[-86.4828,12.21751],[-86.46159,12.25635],[-86.43303,12.2904],[-86.39822,12.31835],[-86.35848,12.33912],[-86.31536,12.35191],[-86.27051,12.35623]]]}},"University-of-Panama":{type:"Feature",id:"University-of-Panama",properties:{},geometry:{type:"Polygon",coordinates:[[[-79.54102,9.23988],[-79.49663,9.23556],[-79.45395,9.22278],[-79.41462,9.20201],[-79.38016,9.17407],[-79.35188,9.14002],[-79.33089,9.10119],[-79.31797,9.05905],[-79.31363,9.01523],[-79.31802,8.97142],[-79.33099,8.9293],[-79.35201,8.89048],[-79.3803,8.85647],[-79.41475,8.82855],[-79.45405,8.80781],[-79.49668,8.79504],[-79.54102,8.79072],[-79.58535,8.79504],[-79.62798,8.80781],[-79.66728,8.82855],[-79.70173,8.85647],[-79.73002,8.89048],[-79.75104,8.9293],[-79.76401,8.97142],[-79.7684,9.01523],[-79.76406,9.05905],[-79.75114,9.10119],[-79.73015,9.14002],[-79.70187,9.17407],[-79.66741,9.20201],[-79.62808,9.22278],[-79.5854,9.23556],[-79.54102,9.23988]]]}},"Universidad-de-Puerto-Rico-Rio-Piedras":{type:"Feature",id:"Universidad-de-Puerto-Rico-Rio-Piedras",properties:{},geometry:{type:"Polygon",coordinates:[[[-66.04978,18.62742],[-66.00355,18.6231],[-65.9591,18.6103],[-65.91815,18.58953],[-65.88227,18.56157],[-65.85285,18.52751],[-65.83101,18.48866],[-65.81759,18.44651],[-65.8131,18.40269],[-65.81771,18.35889],[-65.83123,18.31677],[-65.85313,18.27797],[-65.88258,18.24397],[-65.91843,18.21606],[-65.95932,18.19533],[-66.00367,18.18257],[-66.04978,18.17826],[-66.0959,18.18257],[-66.14025,18.19533],[-66.18113,18.21606],[-66.21699,18.24397],[-66.24644,18.27797],[-66.26834,18.31677],[-66.28186,18.35889],[-66.28647,18.40269],[-66.28198,18.44651],[-66.26856,18.48866],[-66.24672,18.52751],[-66.2173,18.56157],[-66.18142,18.58953],[-66.14047,18.6103],[-66.09602,18.6231],[-66.04978,18.62742]]]}},"Ball-State-University":{type:"Feature",id:"Ball-State-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-85.40688,40.43064],[-85.34933,40.42631],[-85.294,40.41349],[-85.24306,40.39268],[-85.19846,40.36468],[-85.16193,40.33057],[-85.13486,40.29169],[-85.11829,40.24952],[-85.11283,40.20569],[-85.11866,40.16189],[-85.13555,40.1198],[-85.16283,40.08104],[-85.19944,40.04708],[-85.24396,40.01922],[-85.29469,39.99852],[-85.3497,39.98578],[-85.40688,39.98148],[-85.46406,39.98578],[-85.51907,39.99852],[-85.5698,40.01922],[-85.61432,40.04708],[-85.65093,40.08104],[-85.67821,40.1198],[-85.6951,40.16189],[-85.70094,40.20569],[-85.69547,40.24952],[-85.6789,40.29169],[-85.65183,40.33057],[-85.6153,40.36468],[-85.5707,40.39268],[-85.51976,40.41349],[-85.46444,40.42631],[-85.40688,40.43064]]]}},boston_metro:{type:"Feature",id:"boston_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-70.5,41.91],[-71,41.91],[-71.42,42.05],[-71.57,42.18],[-71.64,42.4],[-71.57,42.52],[-71.35,42.64],[-71.1,42.7],[-70.5,42.7],[-70.5,41.91]]]}},"California-University-of-Pennsylvania":{type:"Feature",id:"California-University-of-Pennsylvania",properties:{},geometry:{type:"Polygon",coordinates:[[[-79.89258,40.26902],[-79.83516,40.26469],[-79.77997,40.25187],[-79.72915,40.23105],[-79.68466,40.20305],[-79.64821,40.16895],[-79.62121,40.13006],[-79.60467,40.08789],[-79.59922,40.04407],[-79.60504,40.00027],[-79.62189,39.95818],[-79.64911,39.91941],[-79.68562,39.88545],[-79.73004,39.85759],[-79.78066,39.8369],[-79.83553,39.82416],[-79.89258,39.81986],[-79.94963,39.82416],[-80.0045,39.8369],[-80.05511,39.85759],[-80.09953,39.88545],[-80.13605,39.91941],[-80.16326,39.95818],[-80.18011,40.00027],[-80.18593,40.04407],[-80.18048,40.08789],[-80.16395,40.13006],[-80.13694,40.16895],[-80.1005,40.20305],[-80.05601,40.23105],[-80.00518,40.25187],[-79.95,40.26469],[-79.89258,40.26902]]]}},central_pa:{type:"Feature",id:"central_pa",properties:{},geometry:{type:"Polygon",coordinates:[[[-78.7,41.5],[-77,41.5],[-76,40],[-76,39.72],[-79.3,39.72],[-78.7,41.5]]]}},"Central-Washington-University":{type:"Feature",id:"Central-Washington-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-120.49805,47.20483],[-120.43356,47.2005],[-120.37159,47.18767],[-120.31453,47.16684],[-120.26459,47.13882],[-120.22371,47.10469],[-120.19344,47.06579],[-120.17494,47.02361],[-120.16888,46.97978],[-120.17546,46.93599],[-120.19442,46.89391],[-120.22499,46.85516],[-120.26598,46.82122],[-120.3158,46.79338],[-120.37256,46.7727],[-120.43409,46.75997],[-120.49805,46.75567],[-120.562,46.75997],[-120.62353,46.7727],[-120.68029,46.79338],[-120.73012,46.82122],[-120.77111,46.85516],[-120.80167,46.89391],[-120.82063,46.93599],[-120.82722,46.97978],[-120.82116,47.02361],[-120.80265,47.06579],[-120.77238,47.10469],[-120.7315,47.13882],[-120.68157,47.16684],[-120.62451,47.18767],[-120.56253,47.2005],[-120.49805,47.20483]]]}},chattanooga:{type:"Feature",id:"chattanooga",properties:{},geometry:{type:"Polygon",coordinates:[[[-85.634,34.743],[-85.634,35.282],[-84.933,35.282],[-84.933,34.743],[-85.634,34.743]]]}},"Clemson-University":{type:"Feature",id:"Clemson-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-82.79297,34.89394],[-82.73955,34.88961],[-82.68821,34.8768],[-82.64092,34.85599],[-82.59951,34.82801],[-82.56558,34.79392],[-82.54043,34.75504],[-82.52501,34.71288],[-82.51991,34.66905],[-82.5253,34.62525],[-82.54095,34.58316],[-82.56627,34.54438],[-82.60025,34.51041],[-82.6416,34.48253],[-82.68873,34.46183],[-82.73984,34.44908],[-82.79297,34.44478],[-82.8461,34.44908],[-82.8972,34.46183],[-82.94433,34.48253],[-82.98568,34.51041],[-83.01967,34.54438],[-83.04498,34.58316],[-83.06064,34.62525],[-83.06603,34.66905],[-83.06092,34.71288],[-83.04551,34.75504],[-83.02035,34.79392],[-82.98642,34.82801],[-82.94502,34.85599],[-82.89773,34.8768],[-82.84638,34.88961],[-82.79297,34.89394]]]}},cleveland:{type:"Feature",id:"cleveland",properties:{},geometry:{type:"Polygon",coordinates:[[[-82.5,41.5],[-80.95,42],[-80.95,41],[-82.5,41],[-82.5,41.5]]]}},"College-of-William-and-Mary":{type:"Feature",id:"College-of-William-and-Mary",properties:{},geometry:{type:"Polygon",coordinates:[[[-76.72852,37.52485],[-76.67328,37.52053],[-76.62018,37.50771],[-76.57128,37.4869],[-76.52846,37.45891],[-76.49338,37.42481],[-76.46739,37.38593],[-76.45146,37.34377],[-76.44619,37.29994],[-76.45178,37.25614],[-76.46798,37.21405],[-76.49416,37.17527],[-76.5293,37.14131],[-76.57205,37.11344],[-76.62077,37.09274],[-76.6736,37.08],[-76.72852,37.0757],[-76.78343,37.08],[-76.83626,37.09274],[-76.88498,37.11344],[-76.92773,37.14131],[-76.96287,37.17527],[-76.98905,37.21405],[-77.00525,37.25614],[-77.01084,37.29994],[-77.00557,37.34377],[-76.98965,37.38593],[-76.96365,37.42481],[-76.92857,37.45891],[-76.88576,37.4869],[-76.83685,37.50771],[-76.78376,37.52053],[-76.72852,37.52485]]]}},colorado:{type:"Feature",id:"colorado",properties:{},geometry:{type:"Polygon",coordinates:[[[-109.05,37],[-109.05,41],[-102.05,41],[-102.05,37],[-109.05,37]]]}},"Cornell-University":{type:"Feature",id:"Cornell-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-76.4735,42.67798],[-76.41391,42.67365],[-76.35663,42.66082],[-76.30389,42.64001],[-76.25772,42.612],[-76.21991,42.57789],[-76.1919,42.539],[-76.17476,42.49683],[-76.16912,42.453],[-76.17518,42.4092],[-76.19268,42.36711],[-76.22092,42.32835],[-76.25882,42.2944],[-76.3049,42.26655],[-76.3574,42.24586],[-76.41433,42.23312],[-76.4735,42.22882],[-76.53267,42.23312],[-76.5896,42.24586],[-76.6421,42.26655],[-76.68818,42.2944],[-76.72608,42.32835],[-76.75432,42.36711],[-76.77182,42.4092],[-76.77788,42.453],[-76.77224,42.49683],[-76.7551,42.539],[-76.72709,42.57789],[-76.68928,42.612],[-76.64311,42.64001],[-76.59037,42.66082],[-76.53309,42.67365],[-76.4735,42.67798]]]}},dc_metro:{type:"Feature",id:"dc_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-77.04437,38.70266],[-77.27783,38.69409],[-77.57172,38.91668],[-77.61017,39.1258],[-77.27509,39.21523],[-77.08694,39.21204],[-76.87546,39.05119],[-76.69968,38.97863],[-76.71066,38.77657],[-76.84662,38.7048],[-77.04437,38.70266]]]}},dfw_metro:{type:"Feature",id:"dfw_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-97.75,32.25],[-97.75,33.4],[-96,33.4],[-96,32.25],[-97.75,32.25]]]}},"George-Mason-University":{type:"Feature",id:"George-Mason-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-77.34375,39.04717],[-77.28734,39.04284],[-77.23312,39.03002],[-77.18318,39.00921],[-77.13947,38.98121],[-77.10365,38.94711],[-77.07711,38.90823],[-77.06086,38.86606],[-77.05549,38.82224],[-77.06121,38.77844],[-77.07776,38.73635],[-77.10449,38.69758],[-77.14037,38.66361],[-77.18402,38.63575],[-77.23376,38.61506],[-77.28769,38.60231],[-77.34375,38.59801],[-77.39981,38.60231],[-77.45374,38.61506],[-77.50348,38.63575],[-77.54713,38.66361],[-77.58301,38.69758],[-77.60974,38.73635],[-77.62629,38.77844],[-77.63201,38.82224],[-77.62664,38.86606],[-77.61039,38.90823],[-77.58385,38.94711],[-77.54803,38.98121],[-77.50432,39.00921],[-77.45438,39.03002],[-77.40016,39.04284],[-77.34375,39.04717]]]}},grand_junction_co:{type:"Feature",id:"grand_junction_co",properties:{},geometry:{type:"Polygon",coordinates:[[[-109,39.4],[-108.1,39.4],[-107.8,39.16],[-107.8,38.7],[-108.1,38.5],[-109,39],[-109,39.4]]]}},hrva:{type:"Feature",id:"hrva",properties:{},geometry:{type:"Polygon",coordinates:[[[-76.85486,36.53392],[-76.85486,37.35488],[-75.8194,37.35488],[-75.8194,36.53392],[-76.85486,36.53392]]]}},"Indiana-University-of-Pennsylvania":{type:"Feature",id:"Indiana-University-of-Pennsylvania",properties:{},geometry:{type:"Polygon",coordinates:[[[-79.16139,40.83872],[-79.10348,40.83439],[-79.04782,40.82157],[-78.99657,40.80076],[-78.9517,40.77275],[-78.91495,40.73865],[-78.88772,40.69976],[-78.87104,40.65759],[-78.86555,40.61377],[-78.87142,40.56997],[-78.88842,40.52788],[-78.91586,40.48911],[-78.95269,40.45515],[-78.99749,40.4273],[-79.04853,40.4066],[-79.10386,40.39387],[-79.16139,40.38956],[-79.21892,40.39387],[-79.27426,40.4066],[-79.3253,40.4273],[-79.37009,40.45515],[-79.40692,40.48911],[-79.43437,40.52788],[-79.45136,40.56997],[-79.45724,40.61377],[-79.45174,40.65759],[-79.43507,40.69976],[-79.40784,40.73865],[-79.37108,40.77275],[-79.32622,40.80076],[-79.27496,40.82157],[-79.2193,40.83439],[-79.16139,40.83872]]]}},"Jacksonville-State-University":{type:"Feature",id:"Jacksonville-State-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-85.76795,34.04756],[-85.71507,34.04323],[-85.66424,34.03042],[-85.61743,34.00962],[-85.57644,33.98163],[-85.54285,33.94754],[-85.51794,33.90867],[-85.50268,33.86651],[-85.49762,33.82268],[-85.50295,33.77888],[-85.51845,33.73679],[-85.5435,33.69801],[-85.57715,33.66403],[-85.61809,33.63616],[-85.66475,33.61545],[-85.71534,33.6027],[-85.76795,33.5984],[-85.82055,33.6027],[-85.87115,33.61545],[-85.91781,33.63616],[-85.95874,33.66403],[-85.99239,33.69801],[-86.01745,33.73679],[-86.03295,33.77888],[-86.03828,33.82268],[-86.03322,33.86651],[-86.01795,33.90867],[-85.99305,33.94754],[-85.95945,33.98163],[-85.91846,34.00962],[-85.87165,34.03042],[-85.82082,34.04323],[-85.76795,34.04756]]]}},"Kansas-State-University":{type:"Feature",id:"Kansas-State-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-96.5918,39.38872],[-96.53511,39.38439],[-96.48062,39.37157],[-96.43045,39.35076],[-96.38652,39.32276],[-96.35053,39.28866],[-96.32387,39.24978],[-96.30753,39.20761],[-96.30215,39.16378],[-96.30789,39.11998],[-96.32452,39.07789],[-96.35139,39.03912],[-96.38744,39.00516],[-96.4313,38.9773],[-96.48128,38.95661],[-96.53546,38.94386],[-96.5918,38.93956],[-96.64813,38.94386],[-96.70232,38.95661],[-96.75229,38.9773],[-96.79615,39.00516],[-96.83221,39.03912],[-96.85907,39.07789],[-96.87571,39.11998],[-96.88145,39.16378],[-96.87606,39.20761],[-96.85973,39.24978],[-96.83306,39.28866],[-96.79708,39.32276],[-96.75315,39.35076],[-96.70297,39.37157],[-96.64848,39.38439],[-96.5918,39.38872]]]}},la_metro:{type:"Feature",id:"la_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-118.5,33.7],[-118.68,34.23],[-118.5,34.35],[-118,34.2],[-117.3,34.2],[-117.2,34.1],[-117.37,33.9],[-117.74,33.5],[-118.5,33.7]]]}},massachusetts:{type:"Feature",id:"massachusetts",properties:{},geometry:{type:"Polygon",coordinates:[[[-73.53149,42.9725],[-69.40063,42.9725],[-69.40063,40.98819],[-71.55396,41.04622],[-71.53198,41.91863],[-73.70728,41.91045],[-73.53149,42.9725]]]}},"McGill-University":{type:"Feature",id:"McGill-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-73.5787,45.73088],[-73.51593,45.72655],[-73.45561,45.71372],[-73.40007,45.69289],[-73.35147,45.66488],[-73.31166,45.63076],[-73.28219,45.59186],[-73.26416,45.54968],[-73.25825,45.50585],[-73.26465,45.46206],[-73.28309,45.41998],[-73.31284,45.38122],[-73.35274,45.34728],[-73.40125,45.31943],[-73.45652,45.29875],[-73.51642,45.28602],[-73.5787,45.28172],[-73.64097,45.28602],[-73.70088,45.29875],[-73.75614,45.31943],[-73.80465,45.34728],[-73.84455,45.38122],[-73.8743,45.41998],[-73.89274,45.46206],[-73.89914,45.50585],[-73.89323,45.54968],[-73.8752,45.59186],[-73.84573,45.63076],[-73.80593,45.66488],[-73.75732,45.69289],[-73.70178,45.71372],[-73.64146,45.72655],[-73.5787,45.73088]]]}},"Miami-University":{type:"Feature",id:"Miami-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-84.73174,39.73566],[-84.67477,39.73133],[-84.62001,39.71851],[-84.56958,39.6977],[-84.52543,39.6697],[-84.48927,39.6356],[-84.46247,39.59671],[-84.44606,39.55454],[-84.44065,39.51072],[-84.44642,39.46692],[-84.46314,39.42483],[-84.49014,39.38606],[-84.52638,39.3521],[-84.57045,39.32424],[-84.62067,39.30354],[-84.67513,39.2908],[-84.73174,39.2865],[-84.78835,39.2908],[-84.84281,39.30354],[-84.89303,39.32424],[-84.9371,39.3521],[-84.97334,39.38606],[-85.00034,39.42483],[-85.01706,39.46692],[-85.02283,39.51072],[-85.01742,39.55454],[-85.00101,39.59671],[-84.97421,39.6356],[-84.93805,39.6697],[-84.8939,39.6977],[-84.84347,39.71851],[-84.78871,39.73133],[-84.73174,39.73566]]]}},minneapolis_st_paul_metro:{type:"Feature",id:"minneapolis_st_paul_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-93.801,44.578],[-93.801,45.348],[-92.666,45.348],[-92.666,44.578],[-93.801,44.578]]]}},"Monroe-Community-College":{type:"Feature",id:"Monroe-Community-College",properties:{},geometry:{type:"Polygon",coordinates:[[[-77.61025,43.32617],[-77.55003,43.32184],[-77.49214,43.30901],[-77.43884,43.28819],[-77.39219,43.26018],[-77.35398,43.22607],[-77.32568,43.18718],[-77.30836,43.14501],[-77.30267,43.10118],[-77.30879,43.05738],[-77.32648,43.0153],[-77.35502,42.97654],[-77.39332,42.94258],[-77.43988,42.91473],[-77.49294,42.89405],[-77.55046,42.88131],[-77.61025,42.87701],[-77.67004,42.88131],[-77.72756,42.89405],[-77.78061,42.91473],[-77.82718,42.94258],[-77.86547,42.97654],[-77.89402,43.0153],[-77.9117,43.05738],[-77.91783,43.10118],[-77.91214,43.14501],[-77.89482,43.18718],[-77.86652,43.22607],[-77.82831,43.26018],[-77.78166,43.28819],[-77.72836,43.30901],[-77.67047,43.32184],[-77.61025,43.32617]]]}},"Montgomery-College":{type:"Feature",id:"Montgomery-College",properties:{},geometry:{type:"Polygon",coordinates:[[[-77.15782,39.32194],[-77.10119,39.31761],[-77.04675,39.30479],[-76.99662,39.28398],[-76.95274,39.25598],[-76.91678,39.22188],[-76.89014,39.183],[-76.87383,39.14083],[-76.86844,39.097],[-76.87418,39.0532],[-76.8908,39.01111],[-76.91764,38.97234],[-76.95366,38.93838],[-76.99747,38.91052],[-77.0474,38.88982],[-77.10154,38.87708],[-77.15782,38.87278],[-77.2141,38.87708],[-77.26823,38.88982],[-77.31816,38.91052],[-77.36198,38.93838],[-77.398,38.97234],[-77.42484,39.01111],[-77.44146,39.0532],[-77.4472,39.097],[-77.44181,39.14083],[-77.42549,39.183],[-77.39885,39.22188],[-77.3629,39.25598],[-77.31902,39.28398],[-77.26889,39.30479],[-77.21445,39.31761],[-77.15782,39.32194]]]}},mt_vernon_wa:{type:"Feature",id:"mt_vernon_wa",properties:{},geometry:{type:"Polygon",coordinates:[[[-123.3,49],[-122,49],[-122,48],[-123.2,48.4],[-123.3,49]]]}},"New-York-University":{type:"Feature",id:"New-York-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-74.00391,40.93853],[-73.94591,40.9342],[-73.89017,40.92138],[-73.83883,40.90057],[-73.7939,40.87257],[-73.75709,40.83846],[-73.72982,40.79957],[-73.71312,40.7574],[-73.70762,40.71358],[-73.7135,40.66978],[-73.73053,40.62769],[-73.75801,40.58893],[-73.7949,40.55497],[-73.83976,40.52711],[-73.89087,40.50642],[-73.94629,40.49368],[-74.00391,40.48938],[-74.06152,40.49368],[-74.11694,40.50642],[-74.16805,40.52711],[-74.21291,40.55497],[-74.2498,40.58893],[-74.27729,40.62769],[-74.29431,40.66978],[-74.30019,40.71358],[-74.29469,40.7574],[-74.27799,40.79957],[-74.25072,40.83846],[-74.21391,40.87257],[-74.16898,40.90057],[-74.11765,40.92138],[-74.0619,40.9342],[-74.00391,40.93853]]]}},nyc_metro:{type:"Feature",id:"nyc_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-74.73,40.64],[-73.95,41.38],[-73.6,40.95],[-73.25,41],[-73.25,40.6],[-74.43,40.43],[-74.73,40.64]]]}},"Ohio-Wesleyan-University":{type:"Feature",id:"Ohio-Wesleyan-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-83.06823,40.52082],[-83.0106,40.51649],[-82.9552,40.50367],[-82.90419,40.48285],[-82.85953,40.45485],[-82.82295,40.42075],[-82.79585,40.38186],[-82.77925,40.33969],[-82.77378,40.29586],[-82.77963,40.25207],[-82.79654,40.20998],[-82.82385,40.17121],[-82.86051,40.13725],[-82.90509,40.10939],[-82.95589,40.0887],[-83.01097,40.07596],[-83.06823,40.07166],[-83.12549,40.07596],[-83.18056,40.0887],[-83.23136,40.10939],[-83.27595,40.13725],[-83.3126,40.17121],[-83.33992,40.20998],[-83.35683,40.25207],[-83.36268,40.29586],[-83.3572,40.33969],[-83.34061,40.38186],[-83.31351,40.42075],[-83.27692,40.45485],[-83.23227,40.48285],[-83.18126,40.50367],[-83.12586,40.51649],[-83.06823,40.52082]]]}},"Oklahoma-State-University":{type:"Feature",id:"Oklahoma-State-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-97.07253,36.34551],[-97.01814,36.34119],[-96.96586,36.32837],[-96.9177,36.30756],[-96.87554,36.27957],[-96.841,36.24548],[-96.81539,36.2066],[-96.7997,36.16444],[-96.79451,36.12061],[-96.80001,36.07681],[-96.81596,36.03472],[-96.84173,35.99594],[-96.87634,35.96197],[-96.91844,35.9341],[-96.96642,35.9134],[-97.01845,35.90066],[-97.07253,35.89636],[-97.12662,35.90066],[-97.17865,35.9134],[-97.22663,35.9341],[-97.26873,35.96197],[-97.30333,35.99594],[-97.32911,36.03472],[-97.34506,36.07681],[-97.35055,36.12061],[-97.34537,36.16444],[-97.32967,36.2066],[-97.30407,36.24548],[-97.26952,36.27957],[-97.22736,36.30756],[-97.17921,36.32837],[-97.12693,36.34119],[-97.07253,36.34551]]]}},philly_metro:{type:"Feature",id:"philly_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-75.7,40.3],[-75.3,40.4],[-74.7,40.3],[-74.45,40.1],[-74.9,39.55],[-75.5,39.55],[-75.8,39.7218],[-76.23,39.7211],[-75.7,40.3]]]}},phoenix:{type:"Feature",id:"phoenix",properties:{},geometry:{type:"Polygon",coordinates:[[[-113,32.7],[-113,34],[-111.1,34],[-111.1,32.7],[-113,32.7]]]}},portland_me:{type:"Feature",id:"portland_me",properties:{},geometry:{type:"Polygon",coordinates:[[[-70.5,42.9],[-71,43.3],[-71,44.2],[-69.6,44.5],[-69,44],[-70.5,42.9]]]}},portland_or:{type:"Feature",id:"portland_or",properties:{},geometry:{type:"Polygon",coordinates:[[[-124.4,44.8],[-124.4,46.3],[-121.5,46.3],[-121.5,44.8],[-124.4,44.8]]]}},salt_lake_city:{type:"Feature",id:"salt_lake_city",properties:{},geometry:{type:"Polygon",coordinates:[[[-112.6,40.75],[-112.3,41.4],[-111.5,41.4],[-111.1,40.3],[-112,39.75],[-112.6,40.75]]]}},seattle:{type:"Feature",id:"seattle",properties:{},geometry:{type:"Polygon",coordinates:[[[-122.15,47.26],[-122.33,47.26],[-122.54,47.33],[-122.52,47.46],[-122.45,47.55],[-122.45,47.8],[-121.2,47.8],[-121.43,47.38],[-121.43,47.14],[-121.94,47.14],[-122,47.17],[-122,47.17],[-122.1,47.19],[-122.15,47.26]]]}},sf_bay_area:{type:"Feature",id:"sf_bay_area",properties:{},geometry:{type:"Polygon",coordinates:[[[-123.5,38.5],[-122.8,38.8],[-121.7,38.2],[-121.5,36.9],[-123,36.9],[-123.5,38.5]]]}},south_sf_bay_area:{type:"Feature",id:"south_sf_bay_area",properties:{},geometry:{type:"Polygon",coordinates:[[[-121.4566,37.48249],[-121.21628,37.17673],[-121.20529,36.95757],[-121.49368,36.95757],[-121.5596,36.8928],[-121.98257,37.12419],[-122.27234,37.39635],[-122.13501,37.48903],[-121.4566,37.48249]]]}},st_louis:{type:"Feature",id:"st_louis",properties:{},geometry:{type:"Polygon",coordinates:[[[-90.28,39.1],[-89.57,39.05],[-89.57,38.18],[-90.58,38],[-91.37,38.2],[-91.37,38.75],[-90.28,39.1]]]}},"State-University-of-New-York-Geneseo":{type:"Feature",id:"State-University-of-New-York-Geneseo",properties:{},geometry:{type:"Polygon",coordinates:[[[-77.7832,43.0361],[-77.72327,43.03177],[-77.66566,43.01895],[-77.61261,42.99813],[-77.56618,42.97012],[-77.52815,42.93601],[-77.49998,42.89712],[-77.48274,42.85494],[-77.47707,42.81111],[-77.48316,42.76732],[-77.50076,42.72523],[-77.52917,42.68647],[-77.56729,42.65252],[-77.61364,42.62467],[-77.66644,42.60398],[-77.72369,42.59124],[-77.7832,42.58694],[-77.84272,42.59124],[-77.89996,42.60398],[-77.95277,42.62467],[-77.99912,42.65252],[-78.03723,42.68647],[-78.06564,42.72523],[-78.08324,42.76732],[-78.08934,42.81111],[-78.08367,42.85494],[-78.06643,42.89712],[-78.03826,42.93601],[-78.00023,42.97012],[-77.9538,42.99813],[-77.90075,43.01895],[-77.84314,43.03177],[-77.7832,43.0361]]]}},"SUNY-at-Fredonia":{type:"Feature",id:"SUNY-at-Fredonia",properties:{},geometry:{type:"Polygon",coordinates:[[[-79.36523,42.64804],[-79.30567,42.6437],[-79.24842,42.63088],[-79.19571,42.61006],[-79.14956,42.58206],[-79.11177,42.54795],[-79.08377,42.50906],[-79.06664,42.46688],[-79.061,42.42305],[-79.06706,42.37926],[-79.08454,42.33717],[-79.11278,42.29841],[-79.15065,42.26445],[-79.19671,42.2366],[-79.24919,42.21591],[-79.30609,42.20318],[-79.36523,42.19888],[-79.42438,42.20318],[-79.48128,42.21591],[-79.53376,42.2366],[-79.57982,42.26445],[-79.61769,42.29841],[-79.64592,42.33717],[-79.66341,42.37926],[-79.66947,42.42305],[-79.66383,42.46688],[-79.64669,42.50906],[-79.6187,42.54795],[-79.58091,42.58206],[-79.53476,42.61006],[-79.48205,42.63088],[-79.4248,42.6437],[-79.36523,42.64804]]]}},tampa_bay:{type:"Feature",id:"tampa_bay",properties:{},geometry:{type:"Polygon",coordinates:[[[-83,28.2],[-82.2,28.2],[-82.2,27.55],[-83,27.55],[-83,28.2]]]}},"Texas-Tech-University":{type:"Feature",id:"Texas-Tech-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-101.86523,33.80259],[-101.81251,33.79827],[-101.76183,33.78546],[-101.71515,33.76465],[-101.67428,33.73667],[-101.64078,33.70258],[-101.61595,33.66371],[-101.60072,33.62155],[-101.59568,33.57772],[-101.60099,33.53392],[-101.61644,33.49182],[-101.64143,33.45304],[-101.67498,33.41907],[-101.7158,33.39119],[-101.76233,33.37049],[-101.81278,33.35774],[-101.86523,33.35344],[-101.91769,33.35774],[-101.96814,33.37049],[-102.01467,33.39119],[-102.05549,33.41907],[-102.08904,33.45304],[-102.11403,33.49182],[-102.12948,33.53392],[-102.13479,33.57772],[-102.12975,33.62155],[-102.11452,33.66371],[-102.08969,33.70258],[-102.05619,33.73667],[-102.01532,33.76465],[-101.96864,33.78546],[-101.91796,33.79827],[-101.86523,33.80259]]]}},"The-Citadel":{type:"Feature",id:"The-Citadel",properties:{},geometry:{type:"Polygon",coordinates:[[[-79.96064,33.02165],[-79.90838,33.01732],[-79.85816,33.00451],[-79.81189,32.98371],[-79.77138,32.95573],[-79.73818,32.92164],[-79.71357,32.88277],[-79.69847,32.84061],[-79.69347,32.79679],[-79.69873,32.75298],[-79.71404,32.71088],[-79.73881,32.6721],[-79.77206,32.63813],[-79.81252,32.61025],[-79.85863,32.58954],[-79.90864,32.57679],[-79.96064,32.57249],[-80.01263,32.57679],[-80.06264,32.58954],[-80.10876,32.61025],[-80.14921,32.63813],[-80.18247,32.6721],[-80.20723,32.71088],[-80.22254,32.75298],[-80.2278,32.79679],[-80.2228,32.84061],[-80.2077,32.88277],[-80.18309,32.92164],[-80.14989,32.95573],[-80.10938,32.98371],[-80.06312,33.00451],[-80.01289,33.01732],[-79.96064,33.02165]]]}},"The-George-Washington-University":{type:"Feature",id:"The-George-Washington-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-77.04812,39.12442],[-76.99165,39.12009],[-76.93737,39.10727],[-76.88738,39.08646],[-76.84362,39.05846],[-76.80776,39.02436],[-76.7812,38.98548],[-76.76492,38.94331],[-76.75955,38.89948],[-76.76527,38.85569],[-76.78184,38.81359],[-76.80861,38.77483],[-76.84453,38.74086],[-76.88822,38.713],[-76.93801,38.6923],[-76.992,38.67956],[-77.04812,38.67526],[-77.10425,38.67956],[-77.15823,38.6923],[-77.20803,38.713],[-77.25172,38.74086],[-77.28764,38.77483],[-77.31441,38.81359],[-77.33097,38.85569],[-77.33669,38.89948],[-77.33132,38.94331],[-77.31505,38.98548],[-77.28848,39.02436],[-77.25263,39.05846],[-77.20887,39.08646],[-77.15888,39.10727],[-77.1046,39.12009],[-77.04812,39.12442]]]}},"The-Johns-Hopkins-University-SAIS":{type:"Feature",id:"The-Johns-Hopkins-University-SAIS",properties:{},geometry:{type:"Polygon",coordinates:[[[-77.04027,39.13272],[-76.98379,39.12839],[-76.9295,39.11557],[-76.87951,39.09476],[-76.83574,39.06677],[-76.79988,39.03267],[-76.77331,38.99378],[-76.75704,38.95161],[-76.75167,38.90779],[-76.75739,38.86399],[-76.77396,38.8219],[-76.80073,38.78313],[-76.83665,38.74916],[-76.88035,38.7213],[-76.93015,38.70061],[-76.98414,38.68787],[-77.04027,38.68356],[-77.0964,38.68787],[-77.15039,38.70061],[-77.20019,38.7213],[-77.24389,38.74916],[-77.27982,38.78313],[-77.30658,38.8219],[-77.32316,38.86399],[-77.32888,38.90779],[-77.32351,38.95161],[-77.30723,38.99378],[-77.28066,39.03267],[-77.2448,39.06677],[-77.20104,39.09476],[-77.15104,39.11557],[-77.09675,39.12839],[-77.04027,39.13272]]]}},"The-Pennsylvania-State-University":{type:"Feature",id:"The-Pennsylvania-State-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-77.85976,41.02277],[-77.80169,41.01844],[-77.74587,41.00562],[-77.69448,40.9848],[-77.64948,40.9568],[-77.61263,40.92269],[-77.58532,40.88381],[-77.5686,40.84164],[-77.5631,40.79781],[-77.56899,40.75401],[-77.58603,40.71192],[-77.61355,40.67316],[-77.65049,40.6392],[-77.6954,40.61134],[-77.74658,40.59065],[-77.80207,40.57791],[-77.85976,40.57361],[-77.91744,40.57791],[-77.97293,40.59065],[-78.02411,40.61134],[-78.06903,40.6392],[-78.10596,40.67316],[-78.13348,40.71192],[-78.15053,40.75401],[-78.15642,40.79781],[-78.15091,40.84164],[-78.13419,40.88381],[-78.10689,40.92269],[-78.07003,40.9568],[-78.02504,40.9848],[-77.97364,41.00562],[-77.91783,41.01844],[-77.85976,41.02277]]]}},"University-of-California-Davis":{type:"Feature",id:"University-of-California-Davis",properties:{},geometry:{type:"Polygon",coordinates:[[[-121.72852,38.77274],[-121.67232,38.76842],[-121.61831,38.7556],[-121.56857,38.73479],[-121.52502,38.70679],[-121.48934,38.67269],[-121.4629,38.63381],[-121.44671,38.59164],[-121.44136,38.54781],[-121.44705,38.50402],[-121.46354,38.46192],[-121.49017,38.42315],[-121.52591,38.38919],[-121.56939,38.36133],[-121.61894,38.34063],[-121.67267,38.32789],[-121.72852,38.32359],[-121.78437,38.32789],[-121.83809,38.34063],[-121.88764,38.36133],[-121.93112,38.38919],[-121.96686,38.42315],[-121.99349,38.46192],[-122.00998,38.50402],[-122.01567,38.54781],[-122.01032,38.59164],[-121.99413,38.63381],[-121.96769,38.67269],[-121.93201,38.70679],[-121.88847,38.73479],[-121.83872,38.7556],[-121.78471,38.76842],[-121.72852,38.77274]]]}},"University-of-Central-Florida":{type:"Feature",id:"University-of-Central-Florida",properties:{},geometry:{type:"Polygon",coordinates:[[[-81.38672,28.68361],[-81.33678,28.67929],[-81.28877,28.66648],[-81.24455,28.64569],[-81.20582,28.61771],[-81.17407,28.58364],[-81.15052,28.54477],[-81.13608,28.50262],[-81.13127,28.45879],[-81.13628,28.41499],[-81.15091,28.37289],[-81.17457,28.3341],[-81.20636,28.30011],[-81.24505,28.27223],[-81.28915,28.25151],[-81.33699,28.23876],[-81.38672,28.23445],[-81.43645,28.23876],[-81.48428,28.25151],[-81.52839,28.27223],[-81.56708,28.30011],[-81.59887,28.3341],[-81.62253,28.37289],[-81.63715,28.41499],[-81.64217,28.45879],[-81.63736,28.50262],[-81.62291,28.54477],[-81.59937,28.58364],[-81.56762,28.61771],[-81.52889,28.64569],[-81.48467,28.66648],[-81.43666,28.67929],[-81.38672,28.68361]]]}},"University-of-Chicago":{type:"Feature",id:"University-of-Chicago",properties:{},geometry:{type:"Polygon",coordinates:[[[-87.59878,42.0135],[-87.53981,42.00917],[-87.48314,41.99634],[-87.43095,41.97553],[-87.38527,41.94752],[-87.34785,41.91341],[-87.32013,41.87452],[-87.30316,41.83235],[-87.29758,41.78852],[-87.30357,41.74473],[-87.32088,41.70264],[-87.34882,41.66388],[-87.38632,41.62992],[-87.43192,41.60207],[-87.48388,41.58138],[-87.54022,41.56864],[-87.59878,41.56434],[-87.65734,41.56864],[-87.71367,41.58138],[-87.76563,41.60207],[-87.81124,41.62992],[-87.84873,41.66388],[-87.87668,41.70264],[-87.89399,41.74473],[-87.89998,41.78852],[-87.8944,41.83235],[-87.87743,41.87452],[-87.84971,41.91341],[-87.81229,41.94752],[-87.76661,41.97553],[-87.71442,41.99634],[-87.65774,42.00917],[-87.59878,42.0135]]]}},"University-of-Maryland-College-Park":{type:"Feature",id:"University-of-Maryland-College-Park",properties:{},geometry:{type:"Polygon",coordinates:[[[-76.94332,39.21148],[-76.88677,39.20715],[-76.83242,39.19433],[-76.78237,39.17352],[-76.73856,39.14552],[-76.70266,39.11142],[-76.67606,39.07254],[-76.65977,39.03037],[-76.65439,38.98654],[-76.66012,38.94275],[-76.67671,38.90065],[-76.70351,38.86189],[-76.73947,38.82792],[-76.78322,38.80006],[-76.83307,38.77937],[-76.88712,38.76662],[-76.94332,38.76232],[-76.99951,38.76662],[-77.05356,38.77937],[-77.10341,38.80006],[-77.14716,38.82792],[-77.18313,38.86189],[-77.20992,38.90065],[-77.22651,38.94275],[-77.23224,38.98654],[-77.22686,39.03037],[-77.21057,39.07254],[-77.18397,39.11142],[-77.14808,39.14552],[-77.10426,39.17352],[-77.05421,39.19433],[-76.99986,39.20715],[-76.94332,39.21148]]]}},"University-of-North-Texas":{type:"Feature",id:"University-of-North-Texas",properties:{},geometry:{type:"Polygon",coordinates:[[[-97.15255,33.43207],[-97.10005,33.42774],[-97.04958,33.41493],[-97.0031,33.39413],[-96.9624,33.36615],[-96.92905,33.33206],[-96.90432,33.29319],[-96.88916,33.25103],[-96.88413,33.2072],[-96.88942,33.1634],[-96.90481,33.1213],[-96.92969,33.08252],[-96.96309,33.04855],[-97.00374,33.02067],[-97.05007,32.99997],[-97.10031,32.98722],[-97.15255,32.98291],[-97.20478,32.98722],[-97.25502,32.99997],[-97.30135,33.02067],[-97.342,33.04855],[-97.3754,33.08252],[-97.40028,33.1213],[-97.41567,33.1634],[-97.42096,33.2072],[-97.41593,33.25103],[-97.40077,33.29319],[-97.37604,33.33206],[-97.34269,33.36615],[-97.30199,33.39413],[-97.25551,33.41493],[-97.20504,33.42774],[-97.15255,33.43207]]]}},"University-of-Northern-Colorado":{type:"Feature",id:"University-of-Northern-Colorado",properties:{},geometry:{type:"Polygon",coordinates:[[[-104.69563,40.62872],[-104.63791,40.62439],[-104.58242,40.61157],[-104.53133,40.59075],[-104.4866,40.56275],[-104.44996,40.52865],[-104.42281,40.48976],[-104.40619,40.44759],[-104.40071,40.40377],[-104.40657,40.35997],[-104.42351,40.31788],[-104.45087,40.27911],[-104.48758,40.24515],[-104.53224,40.21729],[-104.58312,40.1966],[-104.63828,40.18386],[-104.69563,40.17956],[-104.75298,40.18386],[-104.80815,40.1966],[-104.85903,40.21729],[-104.90368,40.24515],[-104.94039,40.27911],[-104.96775,40.31788],[-104.98469,40.35997],[-104.99055,40.40377],[-104.98507,40.44759],[-104.96845,40.48976],[-104.9413,40.52865],[-104.90466,40.56275],[-104.85994,40.59075],[-104.80884,40.61157],[-104.75336,40.62439],[-104.69563,40.62872]]]}},"University-of-Oregon":{type:"Feature",id:"University-of-Oregon",properties:{},geometry:{type:"Polygon",coordinates:[[[-123.04688,44.249],[-122.98571,44.24467],[-122.92693,44.23184],[-122.87281,44.21102],[-122.82543,44.18301],[-122.78663,44.1489],[-122.7579,44.11],[-122.74032,44.06783],[-122.73455,44.024],[-122.74077,43.9802],[-122.75874,43.93812],[-122.78773,43.89936],[-122.82661,43.86541],[-122.8739,43.83756],[-122.92777,43.81688],[-122.98617,43.80414],[-123.04688,43.79984],[-123.10758,43.80414],[-123.16598,43.81688],[-123.21985,43.83756],[-123.26714,43.86541],[-123.30602,43.89936],[-123.33501,43.93812],[-123.35298,43.9802],[-123.3592,44.024],[-123.35343,44.06783],[-123.33585,44.11],[-123.30712,44.1489],[-123.26832,44.18301],[-123.22094,44.21102],[-123.16682,44.23184],[-123.10804,44.24467],[-123.04688,44.249]]]}},"University-of-Redlands":{type:"Feature",id:"University-of-Redlands",properties:{},geometry:{type:"Polygon",coordinates:[[[-117.16339,34.28768],[-117.11037,34.28336],[-117.0594,34.27054],[-117.01245,34.24974],[-116.97134,34.22175],[-116.93766,34.18767],[-116.91268,34.14879],[-116.89737,34.10663],[-116.8923,34.06281],[-116.89765,34.019],[-116.91319,33.97691],[-116.93832,33.93813],[-116.97206,33.90415],[-117.01311,33.87628],[-117.0599,33.85558],[-117.11064,33.84283],[-117.16339,33.83852],[-117.21614,33.84283],[-117.26688,33.85558],[-117.31367,33.87628],[-117.35473,33.90415],[-117.38847,33.93813],[-117.4136,33.97691],[-117.42914,34.019],[-117.43448,34.06281],[-117.42941,34.10663],[-117.4141,34.14879],[-117.38913,34.18767],[-117.35544,34.22175],[-117.31434,34.24974],[-117.26739,34.27054],[-117.21642,34.28336],[-117.16339,34.28768]]]}},"University-of-South-Carolina":{type:"Feature",id:"University-of-South-Carolina",properties:{},geometry:{type:"Polygon",coordinates:[[[-81.03516,34.24082],[-80.98216,34.23649],[-80.93122,34.22368],[-80.8843,34.20288],[-80.84321,34.17489],[-80.80954,34.14081],[-80.78458,34.10193],[-80.76928,34.05977],[-80.76421,34.01594],[-80.76956,33.97214],[-80.78509,33.93005],[-80.81021,33.89127],[-80.84393,33.85729],[-80.88496,33.82942],[-80.93172,33.80871],[-80.98243,33.79597],[-81.03516,33.79166],[-81.08788,33.79597],[-81.13859,33.80871],[-81.18535,33.82942],[-81.22638,33.85729],[-81.26011,33.89127],[-81.28522,33.93005],[-81.30076,33.97214],[-81.3061,34.01594],[-81.30103,34.05977],[-81.28573,34.10193],[-81.26077,34.14081],[-81.2271,34.17489],[-81.18602,34.20288],[-81.1391,34.22368],[-81.08815,34.23649],[-81.03516,34.24082]]]}},"University-of-Southern-California":{type:"Feature",id:"University-of-Southern-California",properties:{},geometry:{type:"Polygon",coordinates:[[[-118.30078,34.24082],[-118.24779,34.23649],[-118.19684,34.22368],[-118.14992,34.20288],[-118.10884,34.17489],[-118.07517,34.14081],[-118.05021,34.10193],[-118.03491,34.05977],[-118.02984,34.01594],[-118.03518,33.97214],[-118.05072,33.93005],[-118.07583,33.89127],[-118.10955,33.85729],[-118.15058,33.82942],[-118.19735,33.80871],[-118.24806,33.79597],[-118.30078,33.79166],[-118.3535,33.79597],[-118.40421,33.80871],[-118.45098,33.82942],[-118.49201,33.85729],[-118.52573,33.89127],[-118.55085,33.93005],[-118.56638,33.97214],[-118.57172,34.01594],[-118.56665,34.05977],[-118.55135,34.10193],[-118.52639,34.14081],[-118.49273,34.17489],[-118.45164,34.20288],[-118.40472,34.22368],[-118.35378,34.23649],[-118.30078,34.24082]]]}},"University-of-Vermont":{type:"Feature",id:"University-of-Vermont",properties:{},geometry:{type:"Polygon",coordinates:[[[-73.21289,44.68973],[-73.15127,44.6854],[-73.09204,44.67257],[-73.0375,44.65175],[-72.98977,44.62374],[-72.95068,44.58962],[-72.92174,44.55072],[-72.90403,44.50855],[-72.89821,44.46472],[-72.90449,44.42092],[-72.92259,44.37884],[-72.9518,44.34008],[-72.99098,44.30613],[-73.03862,44.27829],[-73.09289,44.2576],[-73.15173,44.24487],[-73.21289,44.24057],[-73.27405,44.24487],[-73.33289,44.2576],[-73.38716,44.27829],[-73.4348,44.30613],[-73.47398,44.34008],[-73.50319,44.37884],[-73.52129,44.42092],[-73.52757,44.46472],[-73.52175,44.50855],[-73.50404,44.55072],[-73.4751,44.58962],[-73.43601,44.62374],[-73.38828,44.65175],[-73.33374,44.67257],[-73.27451,44.6854],[-73.21289,44.68973]]]}},"University-of-Victoria":{type:"Feature",id:"University-of-Victoria",properties:{},geometry:{type:"Polygon",coordinates:[[[-123.31186,48.68804],[-123.24549,48.68371],[-123.18171,48.67087],[-123.123,48.65004],[-123.07162,48.62201],[-123.02956,48.58789],[-122.99842,48.54898],[-122.9794,48.5068],[-122.97318,48.46297],[-122.97997,48.41917],[-122.99948,48.3771],[-123.03094,48.33835],[-123.07312,48.30441],[-123.12438,48.27658],[-123.18277,48.25591],[-123.24607,48.24318],[-123.31186,48.23888],[-123.37764,48.24318],[-123.44094,48.25591],[-123.49933,48.27658],[-123.55059,48.30441],[-123.59277,48.33835],[-123.62423,48.3771],[-123.64374,48.41917],[-123.65053,48.46297],[-123.64431,48.5068],[-123.62529,48.54898],[-123.59415,48.58789],[-123.55209,48.62201],[-123.50071,48.65004],[-123.442,48.67087],[-123.37822,48.68371],[-123.31186,48.68804]]]}},"University-of-Wyoming":{type:"Feature",id:"University-of-Wyoming",properties:{},geometry:{type:"Polygon",coordinates:[[[-105.56651,41.53953],[-105.50798,41.5352],[-105.45172,41.52238],[-105.39992,41.50157],[-105.35457,41.47356],[-105.31742,41.43946],[-105.2899,41.40057],[-105.27306,41.3584],[-105.26751,41.31457],[-105.27345,41.27077],[-105.29063,41.22868],[-105.31837,41.18992],[-105.3556,41.15596],[-105.40087,41.12811],[-105.45245,41.10742],[-105.50837,41.09468],[-105.56651,41.09038],[-105.62465,41.09468],[-105.68057,41.10742],[-105.73215,41.12811],[-105.77742,41.15596],[-105.81465,41.18992],[-105.84239,41.22868],[-105.85957,41.27077],[-105.86551,41.31457],[-105.85996,41.3584],[-105.84312,41.40057],[-105.8156,41.43946],[-105.77845,41.47356],[-105.7331,41.50157],[-105.6813,41.52238],[-105.62504,41.5352],[-105.56651,41.53953]]]}},usa_full:{type:"Feature",id:"usa_full",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[-124.76179,48.41301],[-123.22752,48.18499],[-123.32289,49.00429],[-96.01312,49.00605],[-95.11054,49.412],[-93.99811,49.00671],[-89.43531,47.98378],[-88.34922,48.29633],[-87.50645,48.01427],[-83.2814,46.13885],[-82.17616,43.58854],[-82.66248,41.68895],[-79.00601,42.80053],[-79.15798,43.44626],[-78.76239,43.62496],[-76.90231,43.80246],[-75.07988,44.98029],[-72.02225,45.00598],[-71.41227,45.25488],[-70.46149,46.21766],[-69.25051,47.51223],[-67.75966,47.099],[-66.94528,44.71049],[-69.84893,43.26199],[-69.87974,40.99205],[-72.00202,40.99125],[-74.02112,39.57279],[-75.41474,35.05319],[-80.02453,32.01613],[-79.89011,26.85507],[-80.02,24.0071],[-84.01601,24.00527],[-84.01656,25.01258],[-81.99666,25.01349],[-81.9972,25.98268],[-84.01879,28.99618],[-86.02775,30.00475],[-88.01625,30.00389],[-88.01567,28.99443],[-90.90285,28.85645],[-93.74053,29.47421],[-95.55633,28.58761],[-96.80617,27.79782],[-96.95553,25.98216],[-97.43502,25.8266],[-98.01091,25.9928],[-99.23511,26.4476],[-100.00624,28.00822],[-101.25529,29.48105],[-102.1514,29.74757],[-102.71736,29.39206],[-103.25189,28.89087],[-104.58819,29.69979],[-105.02053,30.5361],[-106.20525,31.4467],[-106.28689,31.56133],[-106.42932,31.75206],[-106.48421,31.74645],[-106.53072,31.78209],[-108.18711,31.77551],[-108.19927,31.326],[-111.00893,31.33601],[-114.86123,32.47999],[-117.67593,32.46302],[-119.97759,33.00641],[-122.53697,36.85661],[-124.99343,40.05576],[-124.60595,45.90245],[-124.76179,48.41301]]],[[[-160.57876,22.50629],[-159.00937,22.50702],[-157.50474,21.9985],[-156.29276,21.22259],[-154.68902,19.88057],[-154.62178,18.7587],[-155.99619,18.77902],[-157.50832,20.9958],[-158.74706,21.24398],[-160.57822,21.49846],[-160.57876,22.50629]]],[[[-167.1572,68.722],[-164.9717,68.9947],[-163.0218,69.9707],[-160.4136,70.7398],[-156.1769,71.5633],[-140.9684,69.9535],[-140.9874,61.0119],[-139.1716,60.4127],[-138.0072,59.9918],[-135.123,59.7566],[-131.9759,56.9995],[-130.0071,57.0001],[-130.0044,54.0043],[-133.9948,54.0032],[-138.515,57.9986],[-138.516,58.9953],[-151.5013,58.992],[-151.5003,57.9988],[-151.9963,55.9992],[-158.0191,55.0028],[-159.0076,55.0025],[-162.4025,53.9567],[-171.4689,51.8215],[-177.9993,51.2554],[-178.0001,52.2446],[-173.8197,59.7401],[-172.5143,63.8767],[-169.0075,64.9988],[-169.0087,66.0015],[-168.0022,66.0018],[-164.8554,67.0255],[-167.1572,68.722]]],[[[-68.2,17.8],[-67.9,18.67],[-65.33,18.57],[-64.64,18.36],[-64.32,17.38],[-68.2,17.8]]],[[[146.2,15.4],[144.8,12.9],[144.2,13.2],[145.7,15.6],[146.2,15.4]]],[[[180,52.2],[180,51],[172,52.5],[172,53.5],[180,52.2]]]]}},"UW-Madison":{type:"Feature",id:"UW-Madison",properties:{},geometry:{type:"Polygon",coordinates:[[[-89.41268,43.30123],[-89.35248,43.2969],[-89.29462,43.28408],[-89.24134,43.26326],[-89.19471,43.23525],[-89.15652,43.20114],[-89.12823,43.16225],[-89.11092,43.12007],[-89.10523,43.07624],[-89.11135,43.03245],[-89.12903,42.99036],[-89.15756,42.9516],[-89.19584,42.91765],[-89.24239,42.8898],[-89.29542,42.86911],[-89.35291,42.85638],[-89.41268,42.85208],[-89.47245,42.85638],[-89.52994,42.86911],[-89.58298,42.8898],[-89.62952,42.91765],[-89.6678,42.9516],[-89.69634,42.99036],[-89.71401,43.03245],[-89.72014,43.07624],[-89.71444,43.12007],[-89.69713,43.16225],[-89.66884,43.20114],[-89.63065,43.23525],[-89.58402,43.26326],[-89.53074,43.28408],[-89.47288,43.2969],[-89.41268,43.30123]]]}},"Vassar-College":{type:"Feature",id:"Vassar-College",properties:{},geometry:{type:"Polygon",coordinates:[[[-73.89515,41.91136],[-73.83628,41.90703],[-73.7797,41.8942],[-73.72759,41.87339],[-73.68198,41.84538],[-73.64462,41.81127],[-73.61695,41.77238],[-73.6,41.73021],[-73.59443,41.68639],[-73.60041,41.64259],[-73.61769,41.6005],[-73.64559,41.56174],[-73.68303,41.52778],[-73.72856,41.49993],[-73.78044,41.47924],[-73.83668,41.4665],[-73.89515,41.4622],[-73.95362,41.4665],[-74.00986,41.47924],[-74.06174,41.49993],[-74.10727,41.52778],[-74.14471,41.56174],[-74.17261,41.6005],[-74.1899,41.64259],[-74.19587,41.68639],[-74.1903,41.73021],[-74.17336,41.77238],[-74.14568,41.81127],[-74.10832,41.84538],[-74.06271,41.87339],[-74.01061,41.8942],[-73.95402,41.90703],[-73.89515,41.91136]]]}},"Villanova-University":{type:"Feature",id:"Villanova-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-75.34361,40.26191],[-75.28619,40.25758],[-75.23101,40.24476],[-75.18019,40.22394],[-75.13571,40.19594],[-75.09927,40.16184],[-75.07227,40.12296],[-75.05573,40.08079],[-75.05028,40.03696],[-75.0561,39.99316],[-75.07295,39.95107],[-75.10016,39.9123],[-75.13667,39.87834],[-75.18109,39.85048],[-75.23169,39.82979],[-75.28656,39.81705],[-75.34361,39.81275],[-75.40065,39.81705],[-75.45552,39.82979],[-75.50613,39.85048],[-75.55054,39.87834],[-75.58705,39.9123],[-75.61426,39.95107],[-75.63111,39.99316],[-75.63693,40.03696],[-75.63148,40.08079],[-75.61495,40.12296],[-75.58795,40.16184],[-75.5515,40.19594],[-75.50702,40.22394],[-75.4562,40.24476],[-75.40102,40.25758],[-75.34361,40.26191]]]}},"West-Virginia-University":{type:"Feature",id:"West-Virginia-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-79.98047,39.86412],[-79.92339,39.85979],[-79.86853,39.84697],[-79.81801,39.82616],[-79.77378,39.79816],[-79.73755,39.76405],[-79.7107,39.72517],[-79.69426,39.683],[-79.68884,39.63917],[-79.69462,39.59537],[-79.71137,39.55328],[-79.73842,39.51452],[-79.77473,39.48055],[-79.81888,39.4527],[-79.8692,39.432],[-79.92375,39.41926],[-79.98047,39.41496],[-80.03718,39.41926],[-80.09174,39.432],[-80.14206,39.4527],[-80.18621,39.48055],[-80.22252,39.51452],[-80.24957,39.55328],[-80.26632,39.59537],[-80.2721,39.63917],[-80.26668,39.683],[-80.25024,39.72517],[-80.22339,39.76405],[-80.18716,39.79816],[-80.14293,39.82616],[-80.09241,39.84697],[-80.03755,39.85979],[-79.98047,39.86412]]]}},"Western-Michigan-University":{type:"Feature",id:"Western-Michigan-University",properties:{},geometry:{type:"Polygon",coordinates:[[[-85.61042,42.5082],[-85.55099,42.50387],[-85.49387,42.49105],[-85.44127,42.47023],[-85.39523,42.44222],[-85.35752,42.40811],[-85.32959,42.36922],[-85.31249,42.32705],[-85.30686,42.28322],[-85.3129,42.23942],[-85.33035,42.19734],[-85.35852,42.15858],[-85.39631,42.12462],[-85.44227,42.09677],[-85.49464,42.07608],[-85.55141,42.06334],[-85.61042,42.05904],[-85.66944,42.06334],[-85.72621,42.07608],[-85.77857,42.09677],[-85.82453,42.12462],[-85.86232,42.15858],[-85.89049,42.19734],[-85.90794,42.23942],[-85.91398,42.28322],[-85.90835,42.32705],[-85.89125,42.36922],[-85.86332,42.40811],[-85.82561,42.44222],[-85.77957,42.47023],[-85.72697,42.49105],[-85.66985,42.50387],[-85.61042,42.5082]]]}},wyoming:{type:"Feature",id:"wyoming",properties:{},geometry:{type:"Polygon",coordinates:[[[-111.05,41],[-111.05,45],[-104.05,45],[-104.05,41],[-111.05,41]]]}},australia_full:{type:"Feature",id:"australia_full",properties:{},geometry:{type:"Polygon",coordinates:[[[146.07422,-44.43378],[131.66016,-44.65302],[124.54102,-41.44273],[116.45508,-39.36828],[108.80859,-39.16414],[103.18359,-27.60567],[95.27344,-24.04646],[96.30615,-11.15685],[106.25977,-9.92557],[116.47705,-13.98738],[122.77222,-11.65224],[126.43066,-11.48002],[129.26514,-9.92557],[134.89014,-9.92557],[139.46045,-10.14193],[141.55334,-9.99861],[141.7868,-9.77132],[142.229,-9.67115],[142.72614,-9.552],[143.30017,-9.39216],[144.24774,-9.24851],[144.44824,-9.59533],[149.5459,-12.68321],[154.90723,-18.02053],[156.42334,-21.55528],[158.02734,-24.68695],[160.0708,-26.03704],[167.34375,-26.6671],[170.354,-29.11378],[168.2666,-30.63791],[160.15869,-34.03445],[152.18262,-38.41056],[149.94141,-43.51669],[146.07422,-44.43378]]]}},western_australia:{type:"Feature",id:"western_australia",properties:{},geometry:{type:"Polygon",coordinates:[[[129.1402,-11.59709],[129.09732,-32.56637],[108.80859,-39.16414],[103.18359,-27.60567],[95.27344,-24.04646],[96.30615,-11.15685],[106.25977,-9.92557],[116.47705,-13.98738],[122.77222,-11.65224],[126.43066,-11.48002],[129.1402,-11.59709]]]}},new_zealand_full:{type:"Feature",id:"new_zealand_full",properties:{},geometry:{type:"Polygon",coordinates:[[[170.55176,-33.54139],[173.62793,-32.28713],[181.3623,-36.80928],[181.4502,-43.10098],[181.95557,-47.45781],[180.59326,-53.31775],[171.5625,-56.70451],[162.72949,-53.33087],[160.7959,-46.70974],[170.55176,-33.54139]]]}},oceania_full:{type:"Feature",properties:{},id:"oceania_full",geometry:{type:"Polygon",coordinates:[[[94.92188,-18.47961],[119.35547,-13.23995],[128.4082,-10.27168],[135.08789,-8.84165],[140.67993,-9.57908],[141.0157,-9.13193],[140.99716,-2.58091],[144.31641,10.09867],[156.97266,16.88866],[177.97852,15.96133],[193.44727,-2.81137],[197.75391,-14.26438],[193.18359,-40.71396],[161.89453,-55.37911],[102.65625,-45.58329],[94.92188,-18.47961]]]}},argentina:{type:"Feature",id:"argentina",properties:{},geometry:{type:"Polygon",coordinates:[[[-73.14602,-49.18818],[-72.91615,-48.93261],[-72.53201,-48.80072],[-72.58755,-48.48542],[-72.22624,-48.32339],[-72.49784,-47.96155],[-72.33315,-47.44938],[-71.86801,-47.23376],[-71.94851,-46.80983],[-71.64665,-46.68783],[-71.79939,-46.19141],[-71.6147,-45.97522],[-71.79762,-45.62288],[-71.46813,-45.4921],[-71.32472,-45.306],[-71.56043,-44.97863],[-72.04094,-44.90019],[-72.07396,-44.78023],[-71.46969,-44.73753],[-71.23704,-44.79082],[-71.13226,-44.4711],[-71.36469,-44.38958],[-71.80731,-44.42036],[-71.84736,-44.11002],[-71.64902,-43.94552],[-71.75129,-43.78527],[-71.60784,-43.62836],[-71.93082,-43.45685],[-71.76157,-43.1645],[-72.14281,-42.8979],[-72.1812,-42.69735],[-72.023,-42.41766],[-72.17288,-42.14043],[-71.72931,-42.12447],[-71.91021,-41.34113],[-71.8196,-41.06038],[-71.96387,-40.71955],[-71.8414,-40.4521],[-71.65704,-40.36426],[-71.82818,-40.20778],[-71.59266,-39.90123],[-71.67811,-39.56486],[-71.39497,-39.34179],[-71.42542,-38.92164],[-70.92524,-38.76298],[-70.84044,-38.54138],[-70.97623,-38.44222],[-70.98292,-38.10477],[-71.21191,-37.68901],[-71.11983,-37.4585],[-71.21555,-37.27261],[-71.09237,-37.11444],[-71.11982,-36.69792],[-71.03513,-36.47333],[-70.71285,-36.42687],[-70.70501,-36.27229],[-70.42451,-36.15581],[-70.38755,-35.60868],[-70.43201,-35.31842],[-70.58358,-35.27831],[-70.36203,-35.13645],[-70.21683,-34.61145],[-70.01089,-34.41389],[-70.03094,-34.28805],[-69.79507,-34.24304],[-69.90417,-33.77143],[-69.7705,-33.3611],[-70.00282,-33.32294],[-70.08089,-33.02919],[-70.00121,-32.8846],[-70.17038,-32.62555],[-70.14899,-32.46585],[-70.31918,-32.27335],[-70.35277,-32.0257],[-70.2106,-31.95769],[-70.46072,-31.84116],[-70.56691,-31.60016],[-70.49734,-31.12216],[-70.40805,-31.16633],[-70.23998,-30.61575],[-70.11719,-30.43102],[-69.89853,-30.35557],[-69.87492,-29.7043],[-70.01808,-29.38321],[-69.78724,-29.13008],[-69.68114,-28.47172],[-69.45679,-28.18357],[-69.17254,-27.97088],[-68.94231,-27.52325],[-68.8412,-27.15464],[-68.29854,-27.0389],[-68.2638,-26.91623],[-68.58734,-26.49294],[-68.55754,-26.2871],[-68.38108,-26.17822],[-68.57599,-25.42894],[-68.4999,-25.16149],[-68.34279,-25.1124],[-68.56789,-24.79739],[-68.26201,-24.40457],[-67.32231,-24.0344],[-66.99052,-23.00044],[-67.18066,-22.8138],[-67.02827,-22.54089],[-66.78247,-22.43778],[-66.73899,-22.23893],[-66.28793,-22.08605],[-66.24277,-21.79408],[-66.07589,-21.83493],[-65.74764,-22.10912],[-64.99322,-22.08239],[-64.53579,-22.29137],[-64.29933,-22.86509],[-64.24332,-22.56039],[-63.93139,-22],[-62.80617,-22],[-62.7913,-22.16193],[-62.3009,-22.48659],[-62.20671,-22.70418],[-61.73612,-23.23432],[-61.08824,-23.61393],[-60.9899,-23.81808],[-60.37353,-24.024],[-60.03941,-24.01156],[-59.47554,-24.33261],[-59.35397,-24.47821],[-58.67243,-24.83192],[-58.24167,-24.92801],[-57.76089,-25.17193],[-57.555,-25.4484],[-57.74064,-25.65045],[-57.89112,-25.9662],[-58.08473,-26.11185],[-58.22103,-26.41403],[-58.18996,-26.64518],[-58.31991,-26.85821],[-58.64913,-27.12662],[-58.59905,-27.29984],[-57.87482,-27.27527],[-57.48754,-27.44418],[-56.96564,-27.50202],[-56.84926,-27.6063],[-56.60117,-27.42102],[-56.3749,-27.58903],[-56.29432,-27.42003],[-56.06276,-27.306],[-55.73692,-27.44516],[-55.6057,-27.16241],[-55.42284,-26.99528],[-54.78695,-26.63111],[-54.61874,-26.20893],[-54.67933,-25.99524],[-54.65698,-25.67619],[-54.5842,-25.58952],[-54.4812,-25.62543],[-54.108,-25.495],[-53.86217,-25.65902],[-53.83619,-25.97166],[-53.6411,-26.21559],[-53.73094,-26.5097],[-53.67249,-26.91252],[-53.84355,-27.16453],[-53.959,-27.15804],[-54.21736,-27.38603],[-54.673,-27.57],[-54.814,-27.533],[-54.936,-27.772],[-55.38728,-27.98524],[-55.76677,-28.23982],[-55.69902,-28.42637],[-55.88091,-28.4715],[-56.29651,-28.80272],[-56.42475,-29.07897],[-56.59315,-29.12516],[-56.70164,-29.35913],[-57.328,-29.972],[-57.64923,-30.20184],[-57.63687,-30.33197],[-57.85924,-30.47701],[-57.8096,-30.91332],[-58.08141,-31.45457],[-57.98082,-31.58691],[-58.20653,-31.86773],[-58.10645,-32.24002],[-58.20464,-32.46055],[-58.0841,-32.99782],[-58.36693,-33.12177],[-58.49375,-33.57857],[-58.29507,-34.17809],[-57.9345,-34.4519],[-55.9,-35.6],[-57,-39],[-61,-41],[-63.5,-55],[-66.67094,-55.11906],[-67.27285,-54.90511],[-67.95071,-54.87373],[-68.60967,-54.91369],[-68.60676,-52.65902],[-68.41869,-52.3325],[-69.19014,-52.15044],[-69.48632,-52.15165],[-69.9955,-52.00074],[-71.92259,-51.99991],[-72.29907,-51.69791],[-72.28621,-50.65987],[-72.72636,-50.61667],[-73.06995,-50.78909],[-73.32848,-50.5716],[-73.52199,-50.15397],[-73.44481,-49.79226],[-73.53933,-49.49825],[-73.47299,-49.20464],[-73.14602,-49.18818]]]}},bolivia:{type:"Feature",id:"bolivia",properties:{},geometry:{type:"Polygon",coordinates:[[[-60.17487,-16.26675],[-58.32092,-16.31948],[-58.47336,-16.74472],[-58.39371,-17.18081],[-57.79152,-17.55501],[-57.71187,-17.73103],[-57.55463,-18.22348],[-57.72079,-18.89914],[-57.70775,-19.0381],[-58.11768,-19.75313],[-57.85675,-19.96754],[-58.15338,-20.15201],[-58.17535,-19.83066],[-59.07074,-19.28846],[-59.97025,-19.29494],[-61.78848,-19.65358],[-62.57401,-21.99972],[-63.93082,-22.00736],[-64.24942,-22.60957],[-64.31808,-22.8806],[-64.56528,-22.36595],[-64.62021,-22.21856],[-64.99649,-22.08628],[-65.77446,-22.10027],[-65.92552,-21.93222],[-66.04774,-21.91884],[-66.04225,-21.86022],[-66.2273,-21.78437],[-66.3121,-22.1219],[-66.74057,-22.23635],[-66.7955,-22.44213],[-67.18002,-22.81353],[-67.56351,-22.90085],[-67.81174,-22.87934],[-68.17566,-21.3252],[-68.405,-20.9499],[-68.54095,-20.92681],[-68.55606,-20.7285],[-68.43796,-20.63857],[-68.74557,-20.46369],[-68.72772,-20.08173],[-68.56293,-20.05077],[-68.53134,-19.85779],[-68.69064,-19.74667],[-68.41873,-19.41544],[-68.9296,-18.97448],[-69.12186,-18.14128],[-69.46793,-17.50852],[-69.46793,-17.37489],[-69.63547,-17.27787],[-69.01199,-16.66053],[-69.03877,-16.58487],[-68.93509,-16.2061],[-69.16718,-16.22259],[-69.40201,-15.62634],[-69.13422,-15.23516],[-69.35806,-14.96933],[-68.97903,-14.21979],[-68.87466,-12.88745],[-68.65768,-12.49088],[-69.57264,-10.94456],[-68.74806,-11.00835],[-68.75167,-11.01762],[-68.75201,-11.03716],[-68.76592,-11.04963],[-68.70815,-11.14253],[-68.54576,-11.11036],[-68.24295,-10.95872],[-68.08502,-10.69165],[-67.86736,-10.64036],[-67.71629,-10.71459],[-67.6775,-10.60341],[-67.65947,-10.61792],[-67.58446,-10.50402],[-67.43614,-10.44966],[-67.40593,-10.38314],[-67.31461,-10.37774],[-67.32216,-10.32438],[-67.1953,-10.32277],[-67.18869,-10.33983],[-67.17093,-10.33814],[-66.57921,-9.90392],[-65.86441,-9.75981],[-65.56503,-9.82477],[-65.44968,-9.67318],[-65.29449,-9.85589],[-65.39474,-10.54722],[-65.35629,-10.78474],[-65.2684,-10.88658],[-65.29861,-11.32656],[-65.14481,-11.70939],[-64.36752,-12.4587],[-63.67538,-12.46675],[-61.64841,-13.53453],[-61.06339,-13.52919],[-60.4303,-13.88608],[-60.23804,-15.09864],[-60.57312,-15.09599],[-60.24353,-15.47221],[-60.17487,-16.26675]]]}},bahia:{id:"bahia",type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-46.26343,-11.52309],[-46.40625,-11.53923],[-46.51062,-11.50425],[-46.604,-11.3481],[-46.61224,-11.25653],[-46.46668,-11.1811],[-46.42822,-11.02208],[-46.32935,-10.9331],[-46.19751,-10.65521],[-45.84045,-10.47701],[-45.82672,-10.35275],[-45.74707,-10.34194],[-45.70038,-10.26087],[-45.72784,-10.15815],[-45.59326,-10.09326],[-45.41199,-10.43379],[-45.45593,-10.55262],[-45.37903,-10.72538],[-45.15381,-10.8387],[-44.90112,-10.90883],[-44.60999,-10.66601],[-44.34631,-10.54182],[-44.13757,-10.63362],[-44.05518,-10.39057],[-43.96179,-10.42839],[-43.78601,-10.15275],[-43.69263,-10.03918],[-43.69812,-9.95262],[-43.64868,-9.82274],[-43.76404,-9.76861],[-43.8794,-9.54117],[-43.68713,-9.41655],[-43.4729,-9.24851],[-43.3081,-9.37861],[-43.04443,-9.36235],[-42.8302,-9.60617],[-42.33581,-9.31899],[-41.90735,-9.23767],[-41.7865,-9.09125],[-41.40198,-8.71136],[-41.14929,-8.70593],[-41.03943,-8.83351],[-41.01471,-8.82808],[-40.92407,-8.83894],[-40.8197,-9.07226],[-40.68237,-9.14277],[-40.66864,-9.26478],[-40.7428,-9.30002],[-40.75653,-9.42197],[-40.62744,-9.47615],[-40.53131,-9.41384],[-40.47363,-9.39758],[-40.42694,-9.34338],[-40.36102,-9.37319],[-40.29785,-9.09396],[-40.23468,-9.04243],[-40.14679,-9.10481],[-40.07813,-9.05057],[-39.98749,-9.05599],[-39.8996,-8.95833],[-39.90509,-8.82808],[-39.68262,-8.77923],[-39.70459,-8.67063],[-39.65241,-8.65977],[-39.41345,-8.50769],[-39.2926,-8.54843],[-39.23492,-8.6299],[-38.96576,-8.76837],[-38.86963,-8.76837],[-38.71307,-8.83622],[-38.68835,-8.90678],[-38.66913,-8.98275],[-38.61694,-8.96376],[-38.60596,-8.86065],[-38.5675,-8.81723],[-38.47687,-8.84708],[-38.50983,-8.94205],[-38.42194,-9.037],[-38.33679,-8.97461],[-38.28461,-9.00716],[-38.31757,-9.06684],[-38.21045,-9.36235],[-38.04565,-9.4599],[-38.02368,-9.8498],[-37.89185,-9.96885],[-37.74902,-10.31492],[-37.8479,-10.37977],[-37.78198,-10.64981],[-37.93579,-10.73617],[-38.13354,-10.6822],[-38.26538,-10.79014],[-38.02368,-11.31848],[-37.73804,-11.57691],[-37.3645,-11.48002],[-38.50159,-18.11975],[-39.65515,-18.35453],[-40.25391,-17.96828],[-40.23193,-17.79053],[-40.61646,-17.38209],[-40.51758,-16.89917],[-40.13306,-16.45716],[-39.90234,-16.04581],[-40.68237,-15.68651],[-41.08887,-15.73939],[-41.35254,-15.73939],[-41.37451,-15.49603],[-41.80298,-15.09334],[-42.04468,-15.18878],[-43.24219,-14.67925],[-43.50586,-14.78551],[-43.92334,-14.63674],[-43.7915,-14.31761],[-44.35181,-14.24309],[-44.65942,-14.38148],[-45.78003,-15.13576],[-46.10962,-15.29478],[-46.06567,-14.87047],[-45.92285,-14.38148],[-46.24146,-14.14723],[-46.32935,-13.11158],[-46.38428,-12.02858],[-46.26343,-11.52309]]]}},brazil:{type:"Feature",id:"brazil",properties:{},geometry:{type:"Polygon",coordinates:[[[-51.56433,4.29711],[-28.4491,1.04914],[-37.67761,-21.04862],[-52.94861,-34.05721],[-53.56384,-33.71063],[-53.58581,-33.23409],[-53.16833,-32.81036],[-54.11316,-32.08723],[-55.73914,-30.85036],[-56.11267,-31.18931],[-56.11267,-30.90694],[-57.0575,-30.14988],[-57.23328,-30.32073],[-57.73865,-30.26381],[-55.98083,-28.5411],[-54.94812,-27.68839],[-53.80554,-27.18136],[-53.7616,-26.73089],[-53.87146,-26.00249],[-54.20105,-25.88394],[-54.6405,-25.88394],[-54.28894,-24.13171],[-55.43701,-24.18685],[-55.87647,-22.3704],[-58.07373,-22.08564],[-58.24402,-20.06109],[-57.71668,-17.98396],[-58.43628,-17.18278],[-58.50769,-16.38866],[-60.1831,-16.29905],[-60.26001,-15.14637],[-60.49072,-14.09396],[-60.94116,-13.63531],[-61.85303,-13.5926],[-63.58887,-12.56529],[-64.22058,-12.55992],[-65.20386,-11.8996],[-65.4126,-9.74154],[-66.82983,-10.1203],[-68.17566,-10.92501],[-70.6366,-11.18379],[-70.6366,-9.62783],[-71.42761,-9.97426],[-72.74597,-9.88769],[-73.97644,-7.10634],[-72.70752,-4.67498],[-70.15869,-4.23686],[-69.67529,-1.03266],[-70.19714,1.75205],[-67.56042,1.83989],[-66.94519,0.69761],[-63.78113,1.83989],[-64.84131,4.36832],[-63.25378,3.59566],[-60.24353,5.20584],[-60.03479,4.98698],[-59.57886,3.81493],[-59.89746,3.26118],[-60.05676,2.76199],[-59.9469,2.2626],[-59.77661,2.23515],[-59.77661,1.75754],[-58.64502,1.55987],[-55.87647,2.61384],[-53.10791,2.35041],[-51.56433,4.29711]]]}},df_br:{id:"df_br",type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-48.20114,-15.49868],[-47.42111,-15.5],[-47.38953,-15.56484],[-47.32361,-15.58865],[-47.33047,-15.63891],[-47.31125,-15.73278],[-47.36755,-15.83189],[-47.3703,-15.927],[-47.36893,-15.99698],[-47.30988,-16.04317],[-48.27805,-16.04713],[-48.24921,-15.94152],[-48.2753,-15.93096],[-48.29041,-15.83189],[-48.22998,-15.77772],[-48.21899,-15.71163],[-48.24097,-15.70898],[-48.23547,-15.66535],[-48.22449,-15.63097],[-48.20251,-15.62568],[-48.20114,-15.49868]]]}},rs_br:{id:"rs_br",type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-50.56791,-28.32331],[-49.64837,-28.40599],[-49.62152,-28.67722],[-49.82288,-28.81257],[-49.86986,-29.14725],[-49.40674,-29.43409],[-50.66187,-31.5221],[-51.51429,-32.07544],[-52.0244,-32.51232],[-52.32644,-33.22264],[-53.199,-34.04411],[-53.65541,-33.63156],[-53.50103,-32.61414],[-55.57503,-31.01726],[-56.0113,-31.18392],[-56.20595,-30.78112],[-56.93084,-30.18535],[-57.2463,-30.36505],[-57.57519,-30.33029],[-57.71614,-30.18535],[-57.40068,-29.91811],[-57.23959,-29.67347],[-56.02473,-28.4178],[-55.70255,-28.08671],[-54.40043,-27.2008],[-53.38022,-26.97372],[-51.97071,-27.23661],[-51.03103,-27.74271],[-50.56791,-28.32331]]]}},chile:{type:"Feature",id:"chile",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[-110,-28],[-110,-26],[-109,-26],[-109,-28],[-110,-28]]],[[[-69.46999,-17.50394],[-69.47205,-17.61065],[-69.34708,-17.7343],[-69.30794,-17.83956],[-69.30931,-17.9121],[-69.29352,-17.96698],[-69.06143,-18.06231],[-69.11087,-18.1328],[-68.92548,-18.97253],[-68.40225,-19.41091],[-68.68309,-19.72793],[-68.52997,-19.85262],[-68.56842,-20.05658],[-68.76549,-20.08237],[-68.67279,-20.34591],[-68.73322,-20.38454],[-68.72772,-20.46948],[-68.47504,-20.64949],[-68.53546,-20.8524],[-68.405,-20.93964],[-68.19489,-21.27018],[-67.81586,-22.86099],[-67.55768,-22.89642],[-67.17728,-22.81416],[-66.98639,-23.00012],[-67.32216,-24.03768],[-68.24432,-24.39338],[-68.46405,-24.62829],[-68.5437,-24.79047],[-68.32397,-25.09928],[-68.48328,-25.15399],[-68.37067,-26.17639],[-68.5437,-26.27987],[-68.57666,-26.49147],[-68.25256,-26.96492],[-68.56567,-27.17525],[-68.78609,-27.10803],[-69.94308,-29.24087],[-69.93347,-30.10118],[-69.81262,-30.14869],[-69.88678,-30.35747],[-70.07904,-30.38828],[-70.53102,-31.3724],[-70.46185,-31.84548],[-70.22736,-31.93934],[-70.3125,-32.12562],[-70.08453,-33.03716],[-69.99561,-33.3268],[-69.86721,-33.28663],[-69.78207,-33.33282],[-69.8703,-33.57458],[-69.87854,-34.15614],[-70.3791,-35.17241],[-70.53875,-35.20551],[-70.58441,-35.27646],[-70.43884,-35.32549],[-70.37876,-36.04743],[-70.95932,-36.50246],[-71.04858,-36.49087],[-71.189,-37.74167],[-70.90816,-38.67251],[-71.39465,-38.92843],[-71.77643,-40.268],[-71.66794,-40.30571],[-71.70639,-40.425],[-71.80252,-40.42081],[-71.92612,-40.72332],[-71.73051,-42.11516],[-72.17194,-42.14686],[-72.04182,-42.40546],[-72.04765,-42.54322],[-72.14344,-42.90363],[-71.72596,-43.19066],[-71.8856,-43.45765],[-71.58417,-43.64303],[-71.81213,-44.30714],[-71.07056,-44.47985],[-71.24908,-44.80425],[-72.03495,-44.76989],[-72.03323,-44.88409],[-71.56494,-44.98326],[-71.41148,-45.19486],[-71.33354,-45.28286],[-71.3895,-45.35287],[-71.54383,-45.40436],[-71.47104,-45.49829],[-71.75291,-45.55168],[-71.64459,-46.00936],[-71.82037,-46.1256],[-71.64974,-46.68289],[-71.9426,-46.81204],[-71.87325,-47.12505],[-72.0504,-47.34557],[-72.46788,-47.7451],[-72.24472,-48.34986],[-72.56195,-48.50569],[-72.53174,-48.77746],[-72.68005,-48.89271],[-72.98733,-48.99351],[-73.51742,-49.89065],[-73.32687,-50.52827],[-72.34531,-50.65403],[-72.32412,-51.60426],[-72.03255,-51.8118],[-71.93324,-51.91854],[-72.04212,-51.96756],[-71.95221,-51.97896],[-71.92097,-52.00391],[-70.00412,-52.00423],[-69.49016,-52.15561],[-69.19421,-52.15445],[-68.84205,-52.28181],[-68.58833,-52.31016],[-68.57786,-52.32931],[-68.42268,-52.33665],[-68.42212,-52.39063],[-68.60412,-52.65417],[-68.60412,-54.90395],[-67.30412,-54.90395],[-65.80412,-55.20392],[-68,-58],[-78,-53],[-72.5,-18.3],[-70.19165,-18.33106],[-69.96918,-18.26065],[-69.86618,-18.17325],[-69.82018,-18.1191],[-69.75494,-17.98135],[-69.80919,-17.8023],[-69.82704,-17.75196],[-69.83047,-17.71337],[-69.80164,-17.65253],[-69.67049,-17.66692],[-69.46999,-17.50394]]]]}},bogota:{type:"Feature",id:"bogota",properties:{},geometry:{type:"Polygon",coordinates:[[[-74.38,4.7],[-74.17,5],[-73.75,5],[-73.9,4.37],[-74.25,4.31],[-74.38,4.7]]]}},colombia:{type:"Feature",id:"colombia",properties:{},geometry:{type:"Polygon",coordinates:[[[-75.8,11.8],[-71.3,12.7],[-70.9,11.9],[-71.98242,11.65762],[-72.2406,11.14607],[-72.45483,11.10295],[-72.8833,10.43379],[-72.94922,9.83898],[-73.31177,9.20514],[-72.99866,9.29189],[-72.94373,9.09125],[-72.76245,9.12379],[-72.65259,8.61633],[-72.39716,8.36098],[-72.34497,8.00484],[-72.4054,8.04563],[-72.49054,7.945],[-72.4411,7.89875],[-72.45209,7.53676],[-72.43835,7.40605],[-72.18567,7.38426],[-72.14996,7.32161],[-72.18018,7.24532],[-72.03461,7.0273],[-71.12,7.02457],[-71.09528,6.98641],[-70.9964,6.98641],[-70.77942,7.09817],[-70.5542,7.07636],[-70.30701,6.93461],[-70.11475,6.98095],[-69.43016,6.10778],[-69.34914,6.13987],[-69.31,6.0873],[-69.23378,6.08047],[-69.17404,6.15011],[-69.03877,6.22384],[-68.66455,6.14055],[-67.80762,6.288],[-67.45056,6.21155],[-67.47803,6.10232],[-67.40662,6.00946],[-67.60437,5.7909],[-67.63184,5.4629],[-67.82959,5.31524],[-67.79114,4.28068],[-67.62085,3.74915],[-67.5,3.78204],[-67.29126,3.36537],[-67.86255,2.82234],[-67.58789,2.79491],[-67.1759,2.33395],[-66.85181,1.23037],[-67.08801,1.16172],[-67.16766,1.83989],[-67.34894,1.97715],[-67.36816,2.22417],[-67.44781,2.21868],[-67.56866,2.054],[-67.80487,1.98813],[-67.91199,1.81793],[-68.18939,2.01009],[-68.2663,1.85087],[-68.16193,1.73008],[-69.83459,1.71361],[-69.8291,1.08209],[-69.19739,1.06561],[-69.15344,0.62621],[-69.48303,0.73057],[-69.79065,0.58776],[-70.02686,0.57128],[-70.04059,-0.19226],[-69.60937,-0.50262],[-69.55719,-0.65367],[-69.61212,-0.7498],[-69.41986,-1.03541],[-69.40338,-1.37041],[-69.9321,-4.21974],[-69.94995,-4.23275],[-70.06531,-4.08071],[-70.1841,-3.93893],[-70.28641,-3.82246],[-70.35027,-3.80054],[-70.50613,-3.87796],[-70.71075,-3.793],[-70.04883,-2.75102],[-70.8783,-2.23241],[-71.41113,-2.37786],[-71.75171,-2.19124],[-72.36694,-2.48762],[-72.63336,-2.36688],[-72.67456,-2.4595],[-72.93274,-2.4492],[-73.1813,-2.22692],[-73.10028,-2.0842],[-73.14697,-1.79597],[-73.55347,-1.69439],[-73.47382,-1.55437],[-73.64136,-1.26607],[-73.85834,-1.22763],[-74.27582,-0.97774],[-74.42139,-0.51086],[-74.79492,-0.23621],[-75.20142,-0.06592],[-75.27832,-0.12909],[-75.80566,0.04669],[-76.09955,0.32959],[-76.32751,0.42572],[-76.40991,0.37903],[-76.41266,0.23621],[-76.96198,0.27191],[-77.11029,0.36529],[-77.53601,0.40649],[-77.48383,0.65093],[-77.69257,0.73606],[-77.66441,0.81296],[-77.7166,0.85141],[-77.74544,0.83562],[-77.77565,0.83974],[-77.80861,0.82738],[-77.8196,0.80678],[-77.96173,0.82257],[-78.19794,0.94478],[-78.19931,0.99284],[-78.28308,1.05325],[-78.2515,1.08346],[-78.31741,1.19193],[-78.43002,1.1425],[-78.55499,1.2496],[-78.61816,1.24685],[-80,2.5],[-77.7,7.7],[-77.55524,7.51498],[-77.32178,7.87971],[-77.17896,7.93956],[-77.5,8.5],[-75.8,11.8]]]}},"Universidad-de-Antioquia":{type:"Feature",id:"Universidad-de-Antioquia",properties:{},geometry:{type:"Polygon",coordinates:[[[-75.58594,6.45251],[-75.54185,6.4482],[-75.49945,6.43541],[-75.46038,6.41465],[-75.42614,6.38671],[-75.39805,6.35267],[-75.37719,6.31384],[-75.36435,6.2717],[-75.36003,6.22789],[-75.36438,6.18407],[-75.37726,6.14195],[-75.39814,6.10313],[-75.42624,6.06911],[-75.46047,6.04119],[-75.49952,6.02044],[-75.54188,6.00767],[-75.58594,6.00336],[-75.62999,6.00767],[-75.67236,6.02044],[-75.7114,6.04119],[-75.74563,6.06911],[-75.77373,6.10313],[-75.79462,6.14195],[-75.80749,6.18407],[-75.81185,6.22789],[-75.80753,6.2717],[-75.79469,6.31384],[-75.77382,6.35267],[-75.74573,6.38671],[-75.71149,6.41465],[-75.67242,6.43541],[-75.63003,6.4482],[-75.58594,6.45251]]]}},"Universidad-de-La-Guajira":{type:"Feature",id:"Universidad-de-La-Guajira",properties:{},geometry:{type:"Polygon",coordinates:[[[-72.86133,11.74767],[-72.81658,11.74335],[-72.77355,11.73056],[-72.73391,11.70979],[-72.69917,11.68184],[-72.67067,11.64779],[-72.64951,11.60895],[-72.6365,11.56681],[-72.63213,11.523],[-72.63657,11.47919],[-72.64964,11.43707],[-72.67084,11.39826],[-72.69935,11.36424],[-72.73408,11.33633],[-72.77368,11.31559],[-72.81665,11.30282],[-72.86133,11.29851],[-72.90601,11.30282],[-72.94897,11.31559],[-72.98858,11.33633],[-73.0233,11.36424],[-73.05182,11.39826],[-73.07302,11.43707],[-73.08609,11.47919],[-73.09053,11.523],[-73.08616,11.56681],[-73.07314,11.60895],[-73.05198,11.64779],[-73.02349,11.68184],[-72.98875,11.70979],[-72.9491,11.73056],[-72.90608,11.74335],[-72.86133,11.74767]]]}},"Universidad-de-Los-Andes":{type:"Feature",id:"Universidad-de-Los-Andes",properties:{},geometry:{type:"Polygon",coordinates:[[[-74.0918,4.79005],[-74.04783,4.78574],[-74.00556,4.77295],[-73.9666,4.75219],[-73.93245,4.72426],[-73.90444,4.69022],[-73.88363,4.65139],[-73.87082,4.60925],[-73.8665,4.56544],[-73.87085,4.52163],[-73.88368,4.4795],[-73.9045,4.44068],[-73.93253,4.40665],[-73.96666,4.37873],[-74.00561,4.35798],[-74.04786,4.34521],[-74.0918,4.34089],[-74.13574,4.34521],[-74.17799,4.35798],[-74.21693,4.37873],[-74.25107,4.40665],[-74.27909,4.44068],[-74.29992,4.4795],[-74.31275,4.52163],[-74.31709,4.56544],[-74.31278,4.60925],[-74.29997,4.65139],[-74.27915,4.69022],[-74.25114,4.72426],[-74.217,4.75219],[-74.17804,4.77295],[-74.13576,4.78574],[-74.0918,4.79005]]]}},"Universidad-de-San-Buenaventura":{type:"Feature",id:"Universidad-de-San-Buenaventura",properties:{},geometry:{type:"Polygon",coordinates:[[[-75.58594,6.45251],[-75.54185,6.4482],[-75.49945,6.43541],[-75.46038,6.41465],[-75.42614,6.38671],[-75.39805,6.35267],[-75.37719,6.31384],[-75.36435,6.2717],[-75.36003,6.22789],[-75.36438,6.18407],[-75.37726,6.14195],[-75.39814,6.10313],[-75.42624,6.06911],[-75.46047,6.04119],[-75.49952,6.02044],[-75.54188,6.00767],[-75.58594,6.00336],[-75.62999,6.00767],[-75.67236,6.02044],[-75.7114,6.04119],[-75.74563,6.06911],[-75.77373,6.10313],[-75.79462,6.14195],[-75.80749,6.18407],[-75.81185,6.22789],[-75.80753,6.2717],[-75.79469,6.31384],[-75.77382,6.35267],[-75.74573,6.38671],[-75.71149,6.41465],[-75.67242,6.43541],[-75.63003,6.4482],[-75.58594,6.45251]]]}},"Universidad-Distrital-Francisco-Jose-de-Caldas":{type:"Feature",id:"Universidad-Distrital-Francisco-Jose-de-Caldas",properties:{},geometry:{type:"Polygon",coordinates:[[[-74.0918,4.87766],[-74.04782,4.87334],[-74.00554,4.86056],[-73.96658,4.8398],[-73.93243,4.81186],[-73.90442,4.77782],[-73.8836,4.73899],[-73.87079,4.69686],[-73.86648,4.65304],[-73.87082,4.60923],[-73.88365,4.56711],[-73.90448,4.52829],[-73.93251,4.49426],[-73.96665,4.46634],[-74.0056,4.44559],[-74.04785,4.43281],[-74.0918,4.4285],[-74.13574,4.43281],[-74.178,4.44559],[-74.21695,4.46634],[-74.25109,4.49426],[-74.27911,4.52829],[-74.29994,4.56711],[-74.31278,4.60923],[-74.31712,4.65304],[-74.3128,4.69686],[-74.29999,4.73899],[-74.27918,4.77782],[-74.25116,4.81186],[-74.21701,4.8398],[-74.17805,4.86056],[-74.13577,4.87334],[-74.0918,4.87766]]]}},"Universidad-Nacional-de-Colombia":{type:"Feature",id:"Universidad-Nacional-de-Colombia",properties:{},geometry:{type:"Polygon",coordinates:[[[-74.0918,4.87766],[-74.04782,4.87334],[-74.00554,4.86056],[-73.96658,4.8398],[-73.93243,4.81186],[-73.90442,4.77782],[-73.8836,4.73899],[-73.87079,4.69686],[-73.86648,4.65304],[-73.87082,4.60923],[-73.88365,4.56711],[-73.90448,4.52829],[-73.93251,4.49426],[-73.96665,4.46634],[-74.0056,4.44559],[-74.04785,4.43281],[-74.0918,4.4285],[-74.13574,4.43281],[-74.178,4.44559],[-74.21695,4.46634],[-74.25109,4.49426],[-74.27911,4.52829],[-74.29994,4.56711],[-74.31278,4.60923],[-74.31712,4.65304],[-74.3128,4.69686],[-74.29999,4.73899],[-74.27918,4.77782],[-74.25116,4.81186],[-74.21701,4.8398],[-74.17805,4.86056],[-74.13577,4.87334],[-74.0918,4.87766]]]}},ecuador:{type:"Feature",id:"ecuador",properties:{},geometry:{type:"Polygon",coordinates:[[[-82,-3],[-80,2.2],[-77.86079,0.80404],[-77.72072,0.85484],[-77.66287,0.81794],[-77.66424,0.80884],[-77.67385,0.80215],[-77.67729,0.79099],[-77.66184,0.78979],[-77.68587,0.77365],[-77.6972,0.74241],[-77.67523,0.73778],[-77.5573,0.65058],[-77.47353,0.6626],[-77.52159,0.44837],[-76.47583,0.20874],[-76.32202,0.4422],[-76.0199,0.30487],[-75.81665,0.09064],[-75.26733,-0.1181],[-75.31265,-0.16617],[-75.50629,-0.21698],[-75.22888,-0.56441],[-75.20279,-0.97362],[-75.28931,-0.99147],[-75.36072,-0.95027],[-75.64087,-1.62576],[-76.63376,-2.59052],[-77.84637,-3],[-78.2872,-3.42158],[-79.01917,-5.01844],[-79.24301,-4.96581],[-79.62753,-4.42656],[-79.79233,-4.48954],[-80.12535,-4.29784],[-80.36018,-4.49775],[-80.44584,-4.45086],[-80.44739,-4.37692],[-80.33409,-4.21841],[-80.45013,-4.20968],[-80.44928,-4.13024],[-80.48035,-4.09445],[-80.47297,-4.05079],[-80.44739,-3.99719],[-80.39915,-3.98281],[-80.29701,-4.01843],[-80.12878,-3.89718],[-80.16106,-3.86704],[-80.19264,-3.60256],[-80.21633,-3.582],[-80.20706,-3.54705],[-80.21745,-3.5],[-80.22878,-3.50181],[-80.2335,-3.4899],[-80.2456,-3.48759],[-80.24545,-3.48481],[-80.24416,-3.48461],[-80.24386,-3.48247],[-80.24313,-3.48142],[-80.24393,-3.47881],[-80.24079,-3.47723],[-80.2438,-3.46463],[-80.22217,-3.44047],[-80.25238,-3.41],[-82,-3]]]}},paraguay:{type:"Feature",id:"paraguay",properties:{},geometry:{type:"Polygon",coordinates:[[[-54.25873,-24.35961],[-54.58403,-25.58921],[-54.65681,-25.67588],[-54.67916,-25.99493],[-54.61857,-26.20862],[-54.78678,-26.6308],[-55.42267,-26.99497],[-55.60553,-27.1621],[-55.73675,-27.44486],[-55.78857,-27.44309],[-55.89775,-27.34371],[-55.97809,-27.35591],[-56.06259,-27.30569],[-56.29415,-27.41973],[-56.37473,-27.58873],[-56.601,-27.42072],[-56.84909,-27.606],[-56.96547,-27.50172],[-57.48737,-27.44388],[-57.87465,-27.27496],[-58.59888,-27.29953],[-58.64896,-27.12631],[-58.31974,-26.8579],[-58.18979,-26.64487],[-58.22086,-26.41372],[-58.08456,-26.11154],[-57.89095,-25.96589],[-57.74047,-25.65014],[-57.55483,-25.44809],[-57.76072,-25.17162],[-58.2415,-24.9277],[-58.67226,-24.83161],[-59.3538,-24.4779],[-59.47537,-24.3323],[-60.03924,-24.01125],[-60.37336,-24.02369],[-60.98973,-23.81777],[-61.08807,-23.61362],[-61.73595,-23.234],[-62.20654,-22.70386],[-62.30073,-22.48627],[-62.64387,-22.24906],[-62.26072,-21.05983],[-62.26622,-20.56305],[-61.92152,-20.08915],[-61.73647,-19.63289],[-59.97488,-19.29332],[-59.06988,-19.28619],[-58.20814,-19.80515],[-57.83186,-20.9842],[-57.92507,-21.63334],[-57.88113,-21.68734],[-57.90602,-21.71294],[-57.97194,-22.07832],[-56.81013,-22.27099],[-56.56363,-22.20044],[-56.49462,-22.08659],[-56.39677,-22.07641],[-56.26631,-22.24811],[-56.01774,-22.29259],[-55.8526,-22.28227],[-55.78935,-22.38413],[-55.74034,-22.38913],[-55.75132,-22.47989],[-55.7472,-22.50653],[-55.72347,-22.5514],[-55.69845,-22.56298],[-55.69365,-22.57788],[-55.62361,-22.62986],[-55.38191,-24.00601],[-54.65973,-23.82806],[-54.31366,-24.01762],[-54.25873,-24.35961]]]}},peru:{type:"Feature",id:"peru",properties:{},geometry:{type:"Polygon",coordinates:[[[-83,-3],[-80.25238,-3.41],[-80.22217,-3.44047],[-80.2438,-3.46463],[-80.24079,-3.47723],[-80.24393,-3.47881],[-80.24313,-3.48142],[-80.24386,-3.48247],[-80.24416,-3.48461],[-80.24545,-3.48481],[-80.2456,-3.48759],[-80.2335,-3.4899],[-80.22878,-3.50181],[-80.21745,-3.5001],[-80.20706,-3.54705],[-80.21633,-3.582],[-80.19264,-3.60256],[-80.16106,-3.86704],[-80.12878,-3.89718],[-80.29701,-4.01843],[-80.39915,-3.98281],[-80.44739,-3.99719],[-80.47297,-4.05079],[-80.48035,-4.09445],[-80.44928,-4.13024],[-80.45013,-4.20968],[-80.33409,-4.21841],[-80.44739,-4.37692],[-80.44584,-4.45086],[-80.36018,-4.49775],[-80.12535,-4.29784],[-79.79233,-4.48954],[-79.62753,-4.42656],[-79.24301,-4.96581],[-79.01917,-5.01844],[-78.2872,-3.42158],[-77.84637,-3],[-76.63376,-2.59052],[-75.64087,-1.62576],[-75.36072,-0.95027],[-75.56534,-0.13806],[-75.15884,-0.06665],[-74.40628,-0.55553],[-72.92862,-2.39505],[-70.9552,-2.25162],[-70.02686,-2.70987],[-70.70595,-3.78478],[-70.49789,-3.88142],[-70.32349,-3.8088],[-69.95819,-4.23211],[-69.94446,-4.29784],[-69.99802,-4.37316],[-70.10376,-4.29164],[-70.19028,-4.35946],[-71.82999,-4.5662],[-72.86133,-5.25507],[-73.94348,-7.4932],[-72.19116,-9.95803],[-70.61188,-9.57638],[-70.62149,-10.96681],[-69.57161,-10.94557],[-68.65494,-12.49629],[-69.01886,-13.62196],[-68.83896,-14.22445],[-69.38141,-14.86251],[-69.14795,-15.24444],[-69.39926,-15.6151],[-69.19189,-16.17449],[-69.10177,-16.22555],[-68.96152,-16.19456],[-68.78952,-16.34254],[-68.98865,-16.42357],[-69.04015,-16.57368],[-69.01886,-16.65198],[-69.61075,-17.26542],[-69.46896,-17.37423],[-69.46827,-17.49919],[-69.66654,-17.66071],[-69.81262,-17.67281],[-69.75,-18],[-70,-18.27],[-75,-19],[-83,-3]]]}},uruguay:{type:"Feature",id:"uruguay",properties:{},geometry:{type:"Polygon",coordinates:[[[-58.37,-33.12],[-58.15,-33.07],[-58.09,-33],[-58.2,-32.48],[-58.18,-32.37],[-58.11,-32.33],[-58.1,-32.25],[-58.18,-32.16],[-58.15,-32],[-58.2,-31.86],[-58.07,-31.81],[-57.98,-31.58],[-58.04,-31.5],[-57.91,-31.23],[-57.88,-30.97],[-57.8,-30.9],[-57.89,-30.5],[-57.63,-30.34],[-57.6,-30.2],[-57.2,-30.3],[-57.1,-30.1],[-56.8,-30.1],[-56,-30.8],[-56,-31.1],[-55.6,-30.85],[-53.8,-32],[-53.5,-32.5],[-53.1,-32.7],[-53.5,-33.1],[-53.5,-33.7],[-53,-34],[-55,-36],[-58,-34.6],[-58.4,-34],[-58.5,-33.6],[-58.37,-33.12]]]}},venezuela:{type:"Feature",id:"venezuela",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[-73.42,9.2],[-73.42,9.25],[-73.36,9.3],[-73.36,9.34],[-73.33,9.37],[-73.31,9.43],[-73.27,9.47],[-73.26,9.52],[-73.18,9.61],[-73.14,9.63],[-73.12,9.71],[-73.07,9.77],[-73.05,9.82],[-73.07,9.94],[-73.03,10.03],[-73.03,10.07],[-72.99,10.13],[-72.97,10.23],[-72.98,10.36],[-72.96,10.48],[-72.91,10.52],[-72.9,10.58],[-72.8,10.69],[-72.78,10.78],[-72.74,10.83],[-72.71,10.92],[-72.67,10.95],[-72.64,10.95],[-72.61,10.98],[-72.57,11.06],[-72.56,11.13],[-72.53,11.16],[-72.46,11.2],[-72.4,11.2],[-72.37,11.22],[-72.29,11.21],[-72.04,11.67],[-72,11.71],[-71.8,11.75],[-71.45,11.86],[-71.44,11.88],[-71.36,11.92],[-71,12.01],[-71,12.12],[-71.12,12.26],[-71.15,12.38],[-71.2,12.46],[-71.22,12.54],[-71.18,12.65],[-71.12,12.72],[-71.01,12.78],[-70.89,12.79],[-70.38,12.62],[-70.35,12.59],[-70.35,12.42],[-70.12,12.43],[-69.72,12.33],[-69.04,11.94],[-68.92,11.82],[-68.81,11.81],[-68.59,11.74],[-68.06,11.74],[-68.05,12.24],[-67.8,12.38],[-67.63,12.39],[-66.59,12.29],[-66.07,12.19],[-64.56,12.22],[-62.93,11.72],[-61.67,10.99],[-61.66,10.88],[-61.73,10.71],[-61.74,10.55],[-61.78,10.52],[-61.82,10.52],[-61.99,10.09],[-61.98,10.08],[-61.89,10.06],[-61.62,10.06],[-61.48,10.04],[-61.18,9.94],[-61.08,9.87],[-60.94,9.85],[-60.85,9.81],[-60.76,9.72],[-60.7,9.7],[-59.5,8.74],[-59.47,8.68],[-59.49,8.64],[-59.52,8.62],[-59.87,8.5],[-59.74,8.33],[-59.73,8.26],[-59.76,8.2],[-59.81,8.16],[-59.9,8.15],[-59.93,8.09],[-59.93,8.05],[-59.98,7.98],[-60.05,7.95],[-60.08,7.96],[-60.1,7.93],[-60.17,7.9],[-60.24,7.82],[-60.26,7.82],[-60.33,7.76],[-60.47,7.76],[-60.5,7.73],[-60.52,7.61],[-60.54,7.58],[-60.57,7.57],[-60.57,7.55],[-60.61,7.51],[-60.57,7.47],[-60.53,7.39],[-60.52,7.29],[-60.55,7.26],[-60.54,7.24],[-60.49,7.27],[-60.33,7.25],[-60.25,7.19],[-60.22,7.14],[-60.22,7.05],[-60.25,6.99],[-60.3,6.95],[-60.31,6.9],[-60.36,6.86],[-60.43,6.86],[-60.46,6.82],[-60.5,6.8],[-60.62,6.77],[-60.63,6.74],[-60.69,6.69],[-60.73,6.68],[-60.82,6.72],[-60.92,6.65],[-61.05,6.65],[-61.08,6.63],[-61.11,6.64],[-61.11,6.61],[-61.13,6.59],[-61.07,6.44],[-61.09,6.34],[-61.05,6.31],[-61.04,6.28],[-61.06,6.23],[-61.05,6.2],[-61.07,6.14],[-61.12,6.11],[-61.17,6.05],[-61.22,6.04],[-61.26,6],[-61.29,5.93],[-60.7,5.27],[-60.62,5.23],[-60.57,5.13],[-60.57,5.08],[-60.51,4.96],[-60.53,4.89],[-60.68,4.72],[-60.86,4.63],[-60.87,4.55],[-60.97,4.45],[-61.08,4.45],[-61.1,4.42],[-61.13,4.41],[-61.17,4.41],[-61.21,4.44],[-61.3,4.36],[-61.44,4.36],[-61.45,4.35],[-61.44,4.3],[-61.46,4.25],[-61.54,4.18],[-61.71,4.18],[-61.74,4.17],[-61.75,4.14],[-61.81,4.09],[-61.87,4.08],[-61.91,4.05],[-61.95,4.05],[-62,4.09],[-62.05,4.06],[-62.08,4.02],[-62.12,4.01],[-62.17,4.01],[-62.22,4.04],[-62.31,4.07],[-62.36,4.07],[-62.41,4.1],[-62.46,4.06],[-62.47,4.01],[-62.51,3.96],[-62.6,3.95],[-62.63,3.97],[-62.67,3.97],[-62.7,3.91],[-62.66,3.83],[-62.66,3.69],[-62.68,3.64],[-62.73,3.6],[-62.76,3.6],[-62.83,3.64],[-62.94,3.54],[-63.03,3.55],[-63.08,3.61],[-63.12,3.63],[-63.15,3.68],[-63.15,3.74],[-63.22,3.74],[-63.26,3.76],[-63.3,3.83],[-63.3,3.89],[-63.35,3.89],[-63.37,3.83],[-63.4,3.8],[-63.45,3.79],[-63.47,3.77],[-63.59,3.8],[-63.65,3.85],[-63.72,3.83],[-63.82,3.87],[-63.88,3.86],[-63.94,3.8],[-63.99,3.8],[-64.11,3.91],[-64.18,4.05],[-64.38,4.07],[-64.48,4.04],[-64.6,4.04],[-64.57,4],[-64.52,3.97],[-64.5,3.92],[-64.44,3.86],[-64.34,3.83],[-64.23,3.76],[-64.21,3.71],[-64.14,3.65],[-64.1,3.58],[-64.11,3.48],[-64.16,3.42],[-64.16,3.33],[-64.13,3.26],[-64.14,3.14],[-64.01,2.96],[-64,2.9],[-63.96,2.86],[-63.91,2.75],[-63.92,2.61],[-63.97,2.54],[-63.81,2.56],[-63.74,2.52],[-63.56,2.52],[-63.52,2.5],[-63.47,2.5],[-63.44,2.52],[-63.38,2.51],[-63.31,2.45],[-63.29,2.39],[-63.31,2.19],[-63.33,2.13],[-63.37,2.08],[-63.49,2.04],[-63.53,2.04],[-63.55,2.06],[-63.64,1.95],[-63.69,1.95],[-63.81,1.9],[-63.96,1.91],[-63.99,1.88],[-63.98,1.79],[-64,1.76],[-63.99,1.68],[-64.01,1.61],[-64.07,1.53],[-64.13,1.51],[-64.17,1.45],[-64.25,1.41],[-64.27,1.33],[-64.3,1.3],[-64.32,1.29],[-64.38,1.3],[-64.45,1.34],[-64.47,1.38],[-64.54,1.28],[-64.64,1.23],[-64.69,1.17],[-64.78,1.16],[-64.81,1.19],[-64.84,1.16],[-64.91,1.15],[-64.92,1.11],[-64.99,1.04],[-65.09,1.05],[-65.08,0.98],[-65.1,0.96],[-65.11,0.91],[-65.17,0.84],[-65.23,0.83],[-65.25,0.85],[-65.29,0.85],[-65.29,0.83],[-65.33,0.8],[-65.33,0.72],[-65.42,0.62],[-65.45,0.62],[-65.51,0.58],[-65.57,0.58],[-65.66,0.65],[-65.68,0.7],[-65.64,0.8],[-65.58,0.87],[-65.58,0.89],[-65.62,0.92],[-65.72,0.92],[-65.74,0.89],[-65.79,0.89],[-65.83,0.87],[-65.9,0.81],[-65.93,0.75],[-66,0.74],[-66.06,0.69],[-66.17,0.68],[-66.21,0.7],[-66.34,0.68],[-66.9,1.18],[-66.95,1.25],[-66.95,1.32],[-66.93,1.35],[-66.96,1.36],[-66.98,1.4],[-66.98,1.49],[-67.03,1.56],[-67.03,1.62],[-67.1,1.76],[-67.12,1.87],[-67.19,1.95],[-67.19,2.02],[-67.17,2.06],[-67.23,2.1],[-67.29,2.23],[-67.29,2.31],[-67.27,2.35],[-67.35,2.39],[-67.4,2.47],[-67.53,2.59],[-67.57,2.58],[-67.61,2.6],[-67.64,2.64],[-67.65,2.73],[-67.7,2.73],[-67.78,2.76],[-67.82,2.72],[-67.88,2.72],[-67.93,2.76],[-67.92,2.91],[-67.39,3.38],[-67.39,3.4],[-67.43,3.41],[-67.46,3.44],[-67.48,3.52],[-67.51,3.55],[-67.52,3.64],[-67.54,3.68],[-67.63,3.68],[-67.7,3.75],[-67.71,3.84],[-67.76,3.91],[-67.79,4.08],[-67.83,4.12],[-67.87,4.22],[-67.88,4.32],[-67.85,4.39],[-67.93,4.52],[-67.91,4.58],[-67.92,4.64],[-67.89,4.71],[-67.9,4.75],[-67.89,4.84],[-67.91,4.87],[-67.89,5.07],[-67.92,5.11],[-67.92,5.17],[-67.9,5.2],[-67.9,5.23],[-67.92,5.25],[-67.92,5.32],[-67.84,5.42],[-67.77,5.45],[-67.76,5.47],[-67.69,5.51],[-67.68,5.54],[-67.71,5.63],[-67.71,5.69],[-67.67,5.85],[-67.57,5.97],[-67.53,5.98],[-67.51,6.01],[-67.56,6.1],[-67.56,6.18],[-67.64,6.22],[-67.72,6.23],[-67.78,6.22],[-67.82,6.24],[-67.88,6.18],[-67.99,6.13],[-68.07,6.13],[-68.1,6.16],[-68.14,6.16],[-68.16,6.14],[-68.21,6.14],[-68.29,6.09],[-68.34,6.09],[-68.37,6.11],[-68.48,6.11],[-68.51,6.08],[-68.6,6.08],[-68.62,6.06],[-68.82,6.08],[-68.84,6.1],[-69.03,6.12],[-69.06,6.14],[-69.11,6.09],[-69.15,6.08],[-69.17,6.04],[-69.2,6.02],[-69.29,6.01],[-69.37,6.05],[-69.45,6.04],[-69.49,6.06],[-70.15,6.91],[-70.19,6.91],[-70.28,6.86],[-70.32,6.86],[-70.38,6.88],[-70.41,6.91],[-70.53,6.94],[-70.59,7],[-70.62,6.99],[-70.69,7.02],[-70.79,7.01],[-71.02,6.9],[-71.1,6.91],[-71.17,6.95],[-71.25,6.94],[-71.29,6.96],[-71.41,6.96],[-71.49,6.94],[-71.52,6.96],[-71.72,6.96],[-71.77,6.99],[-71.84,6.95],[-71.98,6.94],[-72.07,6.97],[-72.11,7],[-72.24,7.23],[-72.24,7.31],[-72.36,7.31],[-72.37,7.33],[-72.45,7.33],[-72.49,7.35],[-72.51,7.38],[-72.51,7.43],[-72.54,7.45],[-72.55,7.5],[-72.53,7.58],[-72.55,7.62],[-72.55,7.68],[-72.54,7.81],[-72.52,7.87],[-72.56,7.92],[-72.56,7.96],[-72.54,8],[-72.49,8.03],[-72.48,8.07],[-72.44,8.1],[-72.46,8.31],[-72.71,8.57],[-72.83,9.04],[-72.84,9.05],[-72.92,9.01],[-72.97,9.02],[-73.05,9.11],[-73.06,9.13],[-73.05,9.17],[-73.1,9.16],[-73.15,9.11],[-73.22,9.09],[-73.36,9.1],[-73.41,9.14],[-73.42,9.2]]],[[[-63.33,15.69],[-63.33,15.62],[-63.35,15.56],[-63.44,15.45],[-63.55,15.4],[-63.65,15.39],[-63.78,15.43],[-63.87,15.51],[-63.92,15.61],[-63.93,15.73],[-63.89,15.84],[-63.82,15.92],[-63.7,15.98],[-63.6,15.99],[-63.49,15.96],[-63.39,15.88],[-63.33,15.76],[-63.33,15.69]]]]}},latam:{type:"Feature",id:"latam",properties:{},geometry:{type:"Polygon",coordinates:[[[-123,14],[-117.45574,32.58935],[-117.23326,32.52453],[-116.43813,32.58992],[-115.96571,32.62752],[-115.48953,32.66395],[-114.71211,32.7179],[-114.7455,32.65614],[-114.79837,32.6067],[-114.81091,32.49615],[-111.06611,31.33282],[-109.5397,31.33311],[-108.86816,31.33165],[-108.2131,31.33135],[-108.21447,31.78655],[-106.52962,31.78363],[-106.51966,31.77225],[-106.50867,31.76116],[-106.4867,31.74715],[-106.4716,31.75123],[-106.46851,31.75912],[-106.45409,31.76554],[-106.43898,31.75678],[-106.41426,31.75007],[-106.37959,31.7305],[-106.37409,31.71269],[-106.35075,31.69575],[-106.33289,31.65835],[-106.30543,31.6224],[-106.28002,31.56186],[-106.24741,31.54314],[-106.21101,31.47347],[-106.17805,31.45766],[-106.14956,31.43335],[-106.00502,31.38881],[-105.76607,31.16816],[-105.38292,30.84683],[-104.9121,30.63644],[-104.67293,29.91804],[-104.39415,29.56151],[-103.20921,28.98742],[-102.4182,29.81056],[-101.4514,29.77242],[-100.96779,29.34866],[-100.9005,29.31454],[-100.69725,29.14257],[-100.62309,28.91322],[-100.51598,28.749],[-100.51186,28.70474],[-100.50293,28.66227],[-100.40337,28.58271],[-100.01472,28.06956],[-99.53957,27.59837],[-99.53339,27.57859],[-99.51279,27.5655],[-99.52103,27.55607],[-99.52824,27.49731],[-99.5018,27.50066],[-99.48601,27.49426],[-99.47777,27.48299],[-99.48498,27.4635],[-99.49596,27.44857],[-99.48669,27.39067],[-99.53476,27.31321],[-99.44344,27.25951],[-99.45717,27.03222],[-99.07127,26.42692],[-98.9978,26.39248],[-98.46771,26.21028],[-98.25966,26.09194],[-98.08388,26.05061],[-97.95067,26.06172],[-97.79205,26.05185],[-97.57919,25.95002],[-97.51328,25.89073],[-97.46315,25.87899],[-97.41783,25.83821],[-97.34367,25.92594],[-97,26],[-81,24],[-73.5,20.5],[-64,20],[-29,0],[-29,-20],[-63,-51],[-62,-57],[-72,-57],[-113,-30],[-123,14]]]}}};
+
+       var resources = {"bw-facebook":{id:"bw-facebook",type:"facebook",featureId:"botswana",countryCodes:["bw"],languageCodes:["en","tn"],name:"Mapping Botswana on Facebook",description:"Page of OpenStreetMap in Botswana",url:"https://www.facebook.com/MappingBotswana/",contacts:[{name:"info@openstreetmap.org.bw",email:"info@openstreetmap.org.bw"}]},"bw-twitter":{id:"bw-twitter",type:"twitter",featureId:"botswana",countryCodes:["bw"],languageCodes:["en","tn"],name:"Mapping Botswana on Twitter",description:"Twitter of OpenStreetMap in Botswana",url:"https://twitter.com/mappingbotswana",contacts:[{name:"info@openstreetmap.org.bw",email:"info@openstreetmap.org.bw"}]},"ym-Centre-Universitaire-de-Recherche-et-dApplication-en-Tldtection-CURAT-de-lUniversit-Felix-Houphouet-Boigny":{type:"youthmappers",name:"YouthMappers CURAT",description:"YouthMappers chapter at Centre Universitaire de Recherche et d'Application en Télédétection (CURAT) de l'Université Felix Houphouet Boigny",id:"ym-Centre-Universitaire-de-Recherche-et-dApplication-en-Tldtection-CURAT-de-lUniversit-Felix-Houphouet-Boigny",featureId:"Centre-Universitaire-de-Recherche-et-dApplication-en-Tldtection-CURAT-de-lUniversit-Felix-Houphouet-Boigny",contacts:[{name:"Organizer",email:"gpcome@gmail.com"}],extendedDescription:"Our chapter aim is to promote the use of collaborative free mapping and the use of openstreetmap data in the field of research and their application in the implementation of tools for decision-making. Help students produce their own data of their research.",countryCodes:["ci"],url:"mailto:gpcome@gmail.com"},"ym-The-Gambia-YMCA-University-of-the-Gambia":{type:"youthmappers",name:"Connected YouthMappers",description:"YouthMappers chapter at The Gambia YMCA / University of the Gambia",id:"ym-The-Gambia-YMCA-University-of-the-Gambia",featureId:"The-Gambia-YMCA-University-of-the-Gambia",contacts:[{name:"Organizer",email:"connectedyouthmappers@gmail.com"}],extendedDescription:"Connected YouthMappers is comprised of dedicated young Gambians who aspire to change and aid national development.",countryCodes:["gm"],url:"mailto:connectedyouthmappers@gmail.com"},"cape-coast-youthmappers":{id:"cape-coast-youthmappers",featureId:"cape_coast_gh",type:"twitter",name:"University of Cape Coast YouthMappers",countryCodes:["gh"],languageCodes:["en"],description:"Follow us on Twitter: {url}",extendedDescription:"This is the official handle for the Youth Mappers chapter of the University of Cape Coast, Ghana. we love maps, open data and helping the vulnerable.",url:"https://twitter.com/YouthmappersUCC",contacts:[{name:"Enock Seth Nyamador",email:"kwadzo459@gmail.com"}]},"osm-gh-facebook":{id:"osm-gh-facebook",featureId:"ghana",type:"facebook",name:"OpenStreetMap Ghana on Facebook",countryCodes:["gh"],languageCodes:["en"],description:"Facebook group for people interested in OpenStreetMap.",extendedDescription:"Mappers in Ghana community, promoting OpenStreetMap and Humanitarian OpenStreetMap Team (HOT) projects in Ghana. Join us.",url:"https://www.facebook.com/OSMGhana/",contacts:[{name:"Enock Seth Nyamador",email:"kwadzo459@gmail.com"}]},"osm-gh-twitter":{id:"osm-gh-twitter",featureId:"ghana",type:"twitter",name:"OpenStreetMap Ghana on Twitter",countryCodes:["gh"],languageCodes:["en"],description:"Follow us on Twitter: {url}",url:"https://twitter.com/osmghana",contacts:[{name:"Enock Seth Nyamador",email:"kwadzo459@gmail.com"}]},"talk-gh":{id:"talk-gh",featureId:"ghana",type:"mailinglist",name:"Talk-gh Mailing List",countryCodes:["gh"],languageCodes:["en"],description:"Talk-gh is the official mailing list for Ghana OSM community.",url:"https://lists.openstreetmap.org/listinfo/talk-gh",contacts:[{name:"Enock Seth Nyamador",email:"kwadzo459@gmail.com"}]},"ym-Kwame-Nkrumah-University-of-Science-and-Technology":{type:"youthmappers",name:"Kwame Nkrumah University of Science and Technology YouthMappers",description:"YouthMappers chapter at Kwame Nkrumah University of Science and Technology",id:"ym-Kwame-Nkrumah-University-of-Science-and-Technology",featureId:"Kwame-Nkrumah-University-of-Science-and-Technology",contacts:[{name:"Organizer",email:"knustyouthmappers@outlook.com"}],countryCodes:["gh"],url:"https://www.facebook.com/KNUSTMappers/"},"ym-University-of-Cape-Coast":{type:"youthmappers",name:"UCC Geographical Society",description:"YouthMappers chapter at University of Cape Coast",id:"ym-University-of-Cape-Coast",featureId:"University-of-Cape-Coast",contacts:[{name:"Organizer",email:"geosoc_ucc@yahoo.com"}],extendedDescription:"We are a society that encompasses all students who are reading and read geography in the Department of Geography and Regional Planning at the University of Cape Coast. Our main aim is to promote interest in the discipline inside and outside of the classroom. Our motto is “We comprehend the Earth and its inhabitants.”",countryCodes:["gh"],url:"https://www.facebook.com/Geographical-Society-Ucc-105157196204838/info/?tab=page_info"},"ym-University-of-Energy-and-Natural-Resources":{type:"youthmappers",name:"Eco-Club",description:"YouthMappers chapter at University of Energy and Natural Resources",id:"ym-University-of-Energy-and-Natural-Resources",featureId:"University-of-Energy-and-Natural-Resources",contacts:[{name:"Organizer",email:"james.agyei-ohemeng@uenr.edu.gh"}],extendedDescription:"To provide a sound education to all citizens about the deteriorating environment and provide utmost use of recreation of the environment for human survival.",countryCodes:["gh"],url:"mailto:james.agyei-ohemeng@uenr.edu.gh"},"ym-University-of-Ghana":{type:"youthmappers",name:"University of Ghana YouthMappers",description:"YouthMappers chapter at University of Ghana",id:"ym-University-of-Ghana",featureId:"University-of-Ghana",contacts:[{name:"Organizer",email:"mawulikaf@gmail.com"}],extendedDescription:"UG YouthMappers consists of both graduate and undergraduate students possessing knowledge and skills in GIS and Remote Sensing. The club is composed of an energetic team that is poised to address social issues and mitigate environmental problems through mapping. Our fundamental principles are capacity building, empowerment and teamwork.",countryCodes:["gh"],url:"https://twitter.com/UGYouthMappers"},"ym-University-of-Mines-and-Technology":{type:"youthmappers",name:"UMaT YouthMappers",description:"YouthMappers chapter at University of Mines and Technology",id:"ym-University-of-Mines-and-Technology",featureId:"University-of-Mines-and-Technology",contacts:[{name:"Organizer",email:"kwadzo459@gmail.com"}],extendedDescription:"UMaT YouthMappers is a group of volunteer students who seek to grant students the opportunity to improve skills in the field of mapping & creating open geographic data and analyses that address locally defined development challenges worldwide.",countryCodes:["gh"],url:"http://umatyouthmappers.wordpress.com/"},"ym-General-Lansana-Conte-University":{type:"youthmappers",name:"YouthMappers General Lansana Conte University",description:"YouthMappers chapter at General Lansana Conte University",id:"ym-General-Lansana-Conte-University",featureId:"General-Lansana-Conte-University",contacts:[{name:"Organizer",email:"condefa3@gmail.com"}],extendedDescription:"The YouthMappers of the University General Lansana Conté is a non profit community willing to contribute to Map Guinea and others part of the world. We are promoting the use of GIS and Open data to build decision support tools. We also work to build capacities among the students and local communities.",countryCodes:["gn"],url:"www.uglc.org"},"ym-Institute-of-Science-and-Veterinary-Medicine":{type:"youthmappers",name:"YouthMappers ISSMV Dalaba",description:"YouthMappers chapter at Institute of Science and Veterinary Medicine",id:"ym-Institute-of-Science-and-Veterinary-Medicine",featureId:"Institute-of-Science-and-Veterinary-Medicine",contacts:[{name:"Organizer",email:"bvloua45@gmail.com"}],extendedDescription:"YouthMappers ISSMV Dabala is a non profit organisation working to promote humanitarian mapping and the use of open sources and open data to build decision making tools in Guinea.",countryCodes:["gn"],url:"mailto:bvloua45@gmail.com"},"ym-Universit-de-NZrkor":{type:"youthmappers",name:"Youthmappers à N'Zérékoré",description:"YouthMappers chapter at Université de N'Zérékoré",id:"ym-Universit-de-NZrkor",featureId:"Universit-de-NZrkor",contacts:[{name:"Organizer",email:"donpaul1974@gmail.com"}],extendedDescription:"YouthMappers est un groupe qui permet de faire la cartographie des communautés enclavées et à la prise des décisions en cas de catastrophes ou épidémies. Elle permet aussi la production et l'utilisation des données en accès gratuit.",countryCodes:["gn"],url:"mailto:donpaul1974@gmail.com"},"ym-Dedan-Kimathi-University-of-Technology":{type:"youthmappers",name:"GDEV",description:"YouthMappers chapter at Dedan Kimathi University of Technology",id:"ym-Dedan-Kimathi-University-of-Technology",featureId:"Dedan-Kimathi-University-of-Technology",contacts:[{name:"Organizer",email:"gdevkenya@gmail.com"}],extendedDescription:"GDEV is a group of enthusiastic GIS group at DeKUT that aims at helping students share, engage and learn from each other in matters geospatial",countryCodes:["ke"],url:"https://plus.google.com/u/0/communities/102367719061492681269/stream/e376a295-1246-4e19-9f66-fa6077719f32"},"ym-Jomo-Kenyatta-University-of-Agriculture-and-Technology":{type:"youthmappers",name:"Association of Geomatics Engineering Students",description:"YouthMappers chapter at Jomo Kenyatta University of Agriculture and Technology",id:"ym-Jomo-Kenyatta-University-of-Agriculture-and-Technology",featureId:"Jomo-Kenyatta-University-of-Agriculture-and-Technology",contacts:[{name:"Organizer",email:"laurahmugeha36@gmail.com"}],extendedDescription:"The Association of Geomatics Engineering Students (AGES), aims at promoting GIS products and services as well as training students on the use of the same. It not only promotes socialization between the students and practicing professionals, but also provides a platform for exchanging new ideas for holding new GIS and surveying events and training at the university.",countryCodes:["ke"],url:"mailto:laurahmugeha36@gmail.com"},"ym-Karatina-University":{type:"youthmappers",name:"Nature Club Karatina University",description:"YouthMappers chapter at Karatina University",id:"ym-Karatina-University",featureId:"Karatina-University",contacts:[{name:"Organizer",email:"karunatureclub@gmail.com"}],extendedDescription:"This chapter aims to bring together all GIS enthusiasts.They include environment experts, wildlife experts, aquatic and tourism officers, just to mention a few. Its main aim is to provide a platform where students can learn from each other and, in the process, understand how to integrate the GIS skills in their various career paths as well as provide solutions to various environmental related challenges.",countryCodes:["ke"],url:"https://twitter.com/karunature"},"ym-Kenyatta-University":{type:"youthmappers",name:"Kenyatta University GIS Club",description:"YouthMappers chapter at Kenyatta University",id:"ym-Kenyatta-University",featureId:"Kenyatta-University",contacts:[{name:"Organizer",email:"jamesmagige24@gmail.com"}],extendedDescription:"Kenyatta University GIS Club (KUGISC) was founded on 28th October 2016, with more than 200 students and staff from all faculty within campus as members. We are committed to empower members with spatial knowledge, skills and expertise required in understanding the Earth. We help in mapping resources within the university by incorporating geospatial data in their projects as well as fieldwork data collection.",countryCodes:["ke"],url:"mailto:jamesmagige24@gmail.com"},"ym-Moi-University":{type:"youthmappers",name:"Geography Students Association",description:"YouthMappers chapter at Moi University",id:"ym-Moi-University",featureId:"Moi-University",contacts:[{name:"Organizer",email:"geosamu44@gmail.com"}],extendedDescription:"The Geography Students Association at Moi University (GEOSAMU) explores, discovers and aims at developing the entire world through the young Geo-Spatial analysts.  GEOSAMU is part of the Department of Geography.",countryCodes:["ke"],url:"mailto:geosamu44@gmail.com?subject=YouthMappers%20at%20Moi%20University"},"ym-Technical-University-of-Kenya":{type:"youthmappers",name:"Geospatial Science Student Association",description:"YouthMappers chapter at Technical University of Kenya",id:"ym-Technical-University-of-Kenya",featureId:"Technical-University-of-Kenya",contacts:[{name:"Organizer",email:"youthmappers.tuk@gmail.com"}],extendedDescription:"It's a geographical information based group with very passionate students in the relevant fields of study. We do training to members on emerging trends in the market and keep up with technological advancements",countryCodes:["ke"],url:"mailto:youthmappers.tuk@gmail.com"},"ym-University-of-Nairobi":{type:"youthmappers",name:"Geospatial Engineering Students Association",description:"YouthMappers chapter at University of Nairobi",id:"ym-University-of-Nairobi",featureId:"University-of-Nairobi",contacts:[{name:"Organizer",email:"contact@mapkibera.org"}],extendedDescription:"UN students are working with the local OSM community, Map Kibera, and GrouthTruth to learn about open mapping and contribute data for needs in their urban communities.",countryCodes:["ke"],url:"www.geospatial.uonbi.ac.ke"},"ym-African-Methodist-Episcopal-University":{type:"youthmappers",name:"YouthMappers-AMEU",description:"YouthMappers chapter at African Methodist Episcopal University",id:"ym-African-Methodist-Episcopal-University",featureId:"African-Methodist-Episcopal-University",contacts:[{name:"Organizer",email:"youthmapper.ameu@gmail.com"}],countryCodes:["lr"],url:"mailto:youthmapper.ameu@gmail.com"},"ym-Cuttington-University":{type:"youthmappers",name:"Cuttington University YouthMappers",description:"YouthMappers chapter at Cuttington University",id:"ym-Cuttington-University",featureId:"Cuttington-University",contacts:[{name:"Organizer",email:"youthmappers.cu@gmail.com"}],extendedDescription:"The YouthMappers at Cuttington University, Suakoko, and Bong County comprised of Students from three different departments; namely, the Department of Natural Resources Management “DONRM”, Department of Environmental Sciences, and the Department of Natural Sciences. Since the establishment of the Chapter in February 2017, the overall membership is  20 students, with each department containing 5 students.",countryCodes:["lr"],url:"mailto:youthmappers.cu@gmail.com"},"ym-Grand-Gedeh-County-Community-College":{type:"youthmappers",name:"YouthMappers at Grand Gedeh County Community College",description:"YouthMappers chapter at Grand Gedeh County Community College",id:"ym-Grand-Gedeh-County-Community-College",featureId:"Grand-Gedeh-County-Community-College",contacts:[{name:"Organizer",email:"yimodaxzibitallison@gmail.com"}],extendedDescription:"The Youth Mappers of GGCCC sole intent is to put  places in and around Liberia  that are not on the map. We gather youths from the college within the Grand Gedeh Community College to make it their duties to unite and bring these places to the spot light geographically.",countryCodes:["lr"],url:"mailto:yimodaxzibitallison@gmail.com"},"ym-Nimba-County-Community-College":{type:"youthmappers",name:"Nimba County Community College Youth Mappers",description:"YouthMappers chapter at Nimba County Community College",id:"ym-Nimba-County-Community-College",featureId:"Nimba-County-Community-College",contacts:[{name:"Organizer",email:"ncccyouthmappers@yahoo.com"}],countryCodes:["lr"],url:"mailto:ncccyouthmappers@yahoo.com"},"ym-Stella-Maris-Polytechnic":{type:"youthmappers",name:"YouthMappers-SMP",description:"YouthMappers chapter at Stella Maris Polytechnic",id:"ym-Stella-Maris-Polytechnic",featureId:"Stella-Maris-Polytechnic",contacts:[{name:"Organizer",email:"youthmappers.smp@gmail.com"}],countryCodes:["lr"],url:"mailto:youthmappers.smp@gmail.com"},"ym-University-of-Liberia-YouthMappers":{type:"youthmappers",name:"University of Liberia YouthMappers",description:"YouthMappers chapter at University of Liberia YouthMappers",id:"ym-University-of-Liberia-YouthMappers",featureId:"University-of-Liberia-YouthMappers",contacts:[{name:"Organizer",email:"ulym2017@gmail.com"}],extendedDescription:"The University of Liberia YouthMappers is a chapter organization of the Global YouthMappers. We are a nonprofit student mapping organization focus on mapping for Liberia’s development and the World at large. The purpose of this organization shall be to utilize technology and geospatial knowledge as means of creating and developing maps; collecting and analyzing data that will address local and worldwide challenges. Our aim is to support and create opportunity for students to develop interest and skills in the fields of mapping. We envision a united student community that are collaborative, active and are willing to work with the University of Liberia YouthMappers in order to better the lives of others.",countryCodes:["lr"],url:"mailto:ulym2017@gmail.com"},"osm-mg-facebook":{id:"osm-mg-facebook",featureId:"madagascar",type:"facebook",name:"OpenStreetMap Madagascar Facebook Group",countryCodes:["mg"],languageCodes:["mg","fr"],description:"Malagasy Facebook group for people interested in OpenStreetMap.",url:"https://www.facebook.com/groups/1601381123461284/",contacts:[{name:"Brice Ramamonjy",email:"rafaby21@gmail.com"},{name:"Dolly Andriatsiferana",email:"privatemajory@gmail.com"}]},"talk-mg":{id:"talk-mg",featureId:"madagascar",type:"mailinglist",countryCodes:["mg"],languageCodes:["mg","fr"],name:"Talk-mg Mailing List",description:"Place for OpenStreetMap contributors, communities and users in Madagascar to share and discuss.",url:"https://lists.openstreetmap.org/listinfo/talk-mg",contacts:[{name:"Brice Ramamonjy",email:"rafaby21@gmail.com"},{name:"Dolly Andriatsiferana",email:"privatemajory@gmail.com"}]},"ym-University-of-Malawi":{type:"youthmappers",name:"Chanco Malawi YouthMappers",description:"YouthMappers chapter at University of Malawi",id:"ym-University-of-Malawi",featureId:"University-of-Malawi",contacts:[{name:"Organizer",email:"zolamanyungwa@gmail.com"}],extendedDescription:"Chanco Malawi YouthMappers is the student mapping organization for the University of Malawi's Chancellor College. The students in this chapter focus on mapping for Malawi's development and science needs.",countryCodes:["mw"],url:"mailto:zolamanyungwa@gmail.com"},"ym-Universit-des-Sciences-Sociale-et-de-Gestion-de-Bamako":{type:"youthmappers",name:"Etudiant au Laboratoire HoPE",description:"YouthMappers chapter at Université des Sciences Sociale et de Gestion de Bamako",id:"ym-Universit-des-Sciences-Sociale-et-de-Gestion-de-Bamako",featureId:"Universit-des-Sciences-Sociale-et-de-Gestion-de-Bamako",contacts:[{name:"Organizer",email:"youthmappersfhg@gmail.com"}],countryCodes:["ml"],url:"mailto:youthmappersfhg@gmail.com"},"ym-Universidade-Eduardo-Mondlane":{type:"youthmappers",name:"Comunidade YouthMappers Moçambique",description:"YouthMappers chapter at Universidade Eduardo Mondlane",id:"ym-Universidade-Eduardo-Mondlane",featureId:"Universidade-Eduardo-Mondlane",contacts:[{name:"Organizer",email:"moz.youthmappers1@hotmail.com"}],extendedDescription:"We are a student group that intends to join Mozambican society to create a resilient community of humanitarian mapping. The community intend to map the physical occupation of our Country and create open geographic data, accessible to the public and able to be used in several areas without associated costs.",countryCodes:["mz"],url:"www.facebook.com/Moz-YouthMappers"},"ym-Namibia-University-of-Science-and-Technology":{type:"youthmappers",name:"Geoinformation Technology Student Society",description:"YouthMappers chapter at Namibia University of Science and Technology",id:"ym-Namibia-University-of-Science-and-Technology",featureId:"Namibia-University-of-Science-and-Technology",contacts:[{name:"Organizer",email:"patriciasem87@gmail.com"}],countryCodes:["na"],url:"mailto:patriciasem87@gmail.com"},"ym-Abia-State-University":{type:"youthmappers",name:"AbsuMappersTeam",description:"YouthMappers chapter at Abia State University",id:"ym-Abia-State-University",featureId:"Abia-State-University",contacts:[{name:"Organizer",email:"absumappersteam@gmail.com"}],extendedDescription:"AbsuMappersTeam is  voluntary team of map enthusiast ,using openstreetmap,GIS and other open source geospatial techno;ogy to solve problems.It is a dedicated for disaster response using OpenStreetMap.It is a  professional mentoring  and empowerment platform for  those with passion for GIS and Mapping.It is a community of  volunteers for geospatial data creation,field data collection and mapping.The team was co-founded by Victor N.Sunday(the Team mentor) and Professor J.U.Ogbonna ,the team coordinator and faculty Advisor. AbsuMapperTeam is an affiliate of UniiqueMappersTeam-Port Harcourt.The team stands to support sustainable development using geospatial  technology",countryCodes:["ng"],url:"https://www.facebook.com/Absumappersteam-1709186109157466"},"ym-Ahmadu-Bello-University":{type:"youthmappers",name:"ABU Geomappers",description:"YouthMappers chapter at Ahmadu Bello University",id:"ym-Ahmadu-Bello-University",featureId:"Ahmadu-Bello-University",contacts:[{name:"Organizer",email:"abugeomappers@gmail.com"}],extendedDescription:"We are a group of Data driven Humanitarian mappers, who are dedicated to rendering humanitarian service in response to disaster and mitigation. We are glad to contribute our expertise and knowledge through mapping, and helping to spread #OpenEvangelism through Training, and collaboration.",countryCodes:["ng"],url:"https://web.facebook.com/abugeomappers/"},"ym-Federal-School-of-Surveys":{type:"youthmappers",name:"OyoMappersTeam (OMT) Oyo",description:"YouthMappers chapter at Federal School of Surveys",id:"ym-Federal-School-of-Surveys",featureId:"Federal-School-of-Surveys",contacts:[{name:"Organizer",email:"oyomappersteam@gmail.com"}],countryCodes:["ng"],url:"https://web.facebook.com/Oyomappersteam-omt-oyo-1432864713415765/"},"ym-Federal-University-of-Technology-Akure":{type:"youthmappers",name:"YouthMappers Futa Space Club",description:"YouthMappers chapter at Federal University of Technology, Akure",id:"ym-Federal-University-of-Technology-Akure",featureId:"Federal-University-of-Technology-Akure",contacts:[{name:"Organizer",email:"denironyx@gmail.com"}],extendedDescription:"Our mission is to raise the next generation of Space Leaders. Activities include research and capacity building in Remote Sensing, GIS, Climate Change, Astronomy, Cosmology, Space Engineering, Global Navigation, Robotics and Space Education.",countryCodes:["ng"],url:"http://spaceclubfuta.com.ng/"},"ym-Ignatius-Ajuru-University-of-Education":{type:"youthmappers",name:"IgnatiusMappersTeam (IMT)",description:"YouthMappers chapter at Ignatius Ajuru University of Education",id:"ym-Ignatius-Ajuru-University-of-Education",featureId:"Ignatius-Ajuru-University-of-Education",contacts:[{name:"Organizer",email:"ignatiusmappersteam@gmail.com"}],extendedDescription:"We are a YouthMappers Chapter of Ignatius Ajuru University of Education involved in crowdsourced mapping of our environment and remote mapping of resilient communities.We are a team of volunteers using openstreetmap and other open Geospatial source for mapping.",countryCodes:["ng"],url:"https://fb.me/ignatiusmappersteam"},"ym-University-of-Nigeria-Nsukka":{type:"youthmappers",name:"LionMappersTeam (LMT) Nsukka",description:"YouthMappers chapter at University of Nigeria, Nsukka",id:"ym-University-of-Nigeria-Nsukka",featureId:"University-of-Nigeria-Nsukka",contacts:[{name:"Organizer",email:"lionmappersteam@gmail.com"}],extendedDescription:"The LionMappersTeam is an affiliate of YouthMappers Network, with the sole aim of providing members the opportunity to learn and improve their skills in the field of mapping science and to create open geographic data and analysis that addresses locally defined challenges globally. It is a team of volunteers for crowdsourced mapping and geographic information provision using Openstreetmap, citizen science  and other geospatial  technology for research, training and response to resilient community challenges. We are involved in GIS and Remote Sensing Applications and Research.Paticipatory GIS and Citizen Science,field mapping ,training workshops and outreaches to High Schools.",countryCodes:["ng"],url:"http://fb.me/LionMappersTeamNsukka;and send messages to our Page at m.me/LionMappersTeamNsukka"},"ym-University-of-Port-Harcourt":{type:"youthmappers",name:"UniqueMappersTeam (UMT) Port Harcourt",description:"YouthMappers chapter at University of Port Harcourt",id:"ym-University-of-Port-Harcourt",featureId:"University-of-Port-Harcourt",contacts:[{name:"Organizer",email:"victor.sunday@uniport.edu.ng"}],extendedDescription:"UniqueMappersTeam(UMT)Port Harcourt  is an action group and a team of volunteers for a collaborative online mapping targeted at training and empowering members with trending mapping skills  to create open geospatial data and analysis that addresses locally defined challenges for geoinformation and to provide humanitarian mapping  services to resilient communities in Niger Delta,Nigeria and elsewhere.We promote Crowdsoucred Mapping and Geographic information volunteering using OpenStreetMap(OSM) platform and other accessible platforms for Rapid Response Mapping,Disaster Mapping,Geo-intelligence Mapping,Map updates and training.Its an affiliate Campus chapter of Humanitarian OpenStreetMap Team(HOT).It is a project-task team of YouthMappers that provide opportunity for members to learn and improve their skills in Geoinformatics so as to explore global opportunities in the field of Mapping and Geoinformation.",countryCodes:["ng"],url:"https://web.facebook.com/uniquemappersteamportharcourt/"},"ym-University-of-Nigeria-Enugu-Campus":{type:"youthmappers",name:"LionMappersTeam (LMT) Enugu",description:"YouthMappers chapter at University of Nigeria, Enugu Campus",id:"ym-University-of-Nigeria-Enugu-Campus",featureId:"University-of-Nigeria-Enugu-Campus",contacts:[{name:"Organizer",email:"lmtenugucampus@gmail.com"}],extendedDescription:"The LionMappersTeam(LMT)Enugu Campus is an affiliate of YouthMappers Network, with the sole aim of providing members the opportunity to learn and improve their skills in the field of Geoinformatics and to create open geographic data and analysis that addresses locally defined challenges globally. It is a team of volunteers for Crowdsourced Mapping and Geographic Information provision using Openstreetmap, Citizen Science and other Geospatial Technology for research, training and response to resilient community challenges. We are involved in Web-Cartography, GIS and Remote Sensing Applications and ResearchWe are passionate about Volunteered Geographic Information.Paticipatory GIS and Citizen Science.Our major activities include online crowdsourced-Cartography, Field Mapping ,Training workshops and outreaches to High School as well as Humanitarian/Disaster Response Mapping.",countryCodes:["ng"],url:"https://web.facebook.com/Lionmappersteam-enugu-Campus-361221567667528/"},"osm-africa-telegram":{id:"osm-africa-telegram",featureId:"africa_full",type:"telegram",name:"OpenStreetMap Africa Telegram",description:"OpenStreetMap Telegram for Africa",url:"https://t.me/OSMAfrica",contacts:[{name:"OSM Africa",email:"info@openstreetmap.africa"}]},"ym-Insititue-d-Enseignement-Superieur-de-Ruhengeri":{type:"youthmappers",name:"YouthMappers at INES Ruhengeri",description:"YouthMappers chapter at Insititue d' Enseignement Superieur de Ruhengeri",id:"ym-Insititue-d-Enseignement-Superieur-de-Ruhengeri",featureId:"Insititue-d-Enseignement-Superieur-de-Ruhengeri",contacts:[{name:"Organizer",email:"dufitesaie91@yahoo.com"}],extendedDescription:"We are students from Land Administration and Management and Land survey Departments from INES-Ruhengeri. We are engaged in mapping activities that create the changes toward sustainable development in our community.",countryCodes:["rw"],url:"www.ines.ac.rw"},"ym-University-of-Rwanda-Huye-Campus":{type:"youthmappers",name:"Rwanda YouthMappers",description:"YouthMappers chapter at University of Rwanda - Huye Campus",id:"ym-University-of-Rwanda-Huye-Campus",featureId:"University-of-Rwanda-Huye-Campus",contacts:[{name:"Organizer",email:"erneruz@gmail.com"}],extendedDescription:"Based on the commitment and the purpose of promoting mapping, and the information from YouthMappers public talks, we have organized as students in Geography department who are committed in mapping to found a chapter of our Campus. We have supported by our Facilitator Dr. Gaspard Rwanyiziri (Director of CGIS-Rwanda) and various lecturer mentors.",countryCodes:["rw"],url:"https://www.facebook.com/Rwanda-YouthMappers"},"ym-Institut-Suprieur-de-Management-Kolda":{type:"youthmappers",name:"Les Femmes Leaders de ISM/Kolda",description:"YouthMappers chapter at Institut Supérieur de Management Kolda",id:"ym-Institut-Suprieur-de-Management-Kolda",featureId:"Institut-Suprieur-de-Management-Kolda",contacts:[{name:"Organizer",email:"koldaym@gmail.com"}],extendedDescription:"Les Femmes Leaders de ISM/Kolda is an all-female mapping group in southern Senegal looking to put Kolda and surrounding villages on the map and better understand how to use OSM.",countryCodes:["sn"],url:"mailto:koldaym@gmail.com"},"ym-Universit-Gaston-Berger":{type:"youthmappers",name:"YouthMappers at UGB",description:"YouthMappers chapter at Université Gaston Berger",id:"ym-Universit-Gaston-Berger",featureId:"Universit-Gaston-Berger",contacts:[{name:"Organizer",email:"youthmappers.ugb@gmail.com"}],extendedDescription:"YouthMappers UGB is made up of young students and researchers who are passionate about mapping. Our aim is to improve students' skills in the field of cartography and to participate in the creation of open geographic data that responds to development challenges around the world and particularly in Africa.",countryCodes:["sn"],url:"https://web.facebook.com/youthmappersugb/"},"ym-Fourah-Bay-College":{type:"youthmappers",name:"Student's Geographical Association",description:"YouthMappers chapter at Fourah Bay College",id:"ym-Fourah-Bay-College",featureId:"Fourah-Bay-College",contacts:[{name:"Organizer",email:"sgayouthmappers@gmail.com"}],extendedDescription:"The Student's Geographical Association- YouthMappers is an association of Fourah Bay College Students with the common goals of mapping out vulnerable places in Sierra Leone and the world at large for relief and other beneficial purposes,carry out Research and other educative endeavors. The chapter consists of young people with great ideas, development oriented with the capacity to relate with each other, comprehend and implement sustainable developmental projects as a team.",countryCodes:["sl"],url:"mailto:sgayouthmappers@gmail.com?subject=YouthMappers%20at%20Fourah%20Bay%20College"},"ym-Njala-University-Freetown-Campus":{type:"youthmappers",name:"Njala Freetown YouthMappers",description:"YouthMappers chapter at Njala University, Freetown Campus",id:"ym-Njala-University-Freetown-Campus",featureId:"Njala-University-Freetown-Campus",contacts:[{name:"Organizer",email:"njalafreetownmappers@gmail.com"}],extendedDescription:"We are students of Njala University Freetown Campus, studying Information Technology under the department of Physics and Computer Science. and we are located at Henry Street Freetown, Sierra Leone.",countryCodes:["sl"],url:"mailto:Njalafreetownmappers@gmail.com"},"ym-Njala-University-Njala-Campus":{type:"youthmappers",name:"YouthMappers Njala University, Njala Campus",description:"YouthMappers chapter at Njala University, Njala Campus",id:"ym-Njala-University-Njala-Campus",featureId:"Njala-University-Njala-Campus",contacts:[{name:"Organizer",email:"youthmappersnu2017@gmail.com"}],countryCodes:["sl"],url:"mailto:youthmappersnu2017@gmail.com"},"ym-University-of-Pretoria":{type:"youthmappers",name:"Centre for Geoinformation Science",description:"YouthMappers chapter at University of Pretoria",id:"ym-University-of-Pretoria",featureId:"University-of-Pretoria",contacts:[{name:"Organizer",email:"cgis-info@kendy.up.ac.za"}],extendedDescription:"The students who map Pretoria are supported by the University of Pretoria's Centre for Geoinformation Science, a platform from where the excellence of UP individuals and teams involved in geographic information science (GISc) research, education and training, professional development and community engagement is encouraged and strengthened through collaborations, education and training and  alliances within South Africa and abroad.",countryCodes:["za"],url:"http://www.up.ac.za/cgis"},"ym-Ardhi-University":{type:"youthmappers",name:"ARU Mapper",description:"YouthMappers chapter at Ardhi University",id:"ym-Ardhi-University",featureId:"Ardhi-University",contacts:[{name:"Organizer",email:"bayonakennedy@gmail.com"}],extendedDescription:"As upcoming geospatial data consultants we seek to educate and provide advice to the society on how they can use spatial data not only as a form of location but a tool of decision making and predict different hazardous and climatical changes which may harm them or future genarations.",countryCodes:["tz"],url:"mailto:bayonakennedy@gmail.com"},"ym-Institute-of-Finance-Management":{type:"youthmappers",name:"IFM mappers",description:"YouthMappers chapter at Institute of Finance Management",id:"ym-Institute-of-Finance-Management",featureId:"Institute-of-Finance-Management",contacts:[{name:"Organizer",email:"supermalik95@gmail.com"}],extendedDescription:"This is a new  chapter at out institute and we are looking forward to use our financial education that we are receiving here at the campus  and link ig with the environment in order to develop our sustainable environment towards helping the community  with the effects of our environment in a financial ways by converting them into numbers. this is widely explained in ecosystem accounting and environmental accounts",countryCodes:["tz"],url:"mailto:supermalik95@gmail.com"},"ym-Institute-of-Rural-Development-Planning-Mwanza":{type:"youthmappers",name:"Youth Mappers Chapter at Institute of Rural Development Planning - Lake Zone Centre",description:"YouthMappers chapter at Institute of Rural Development Planning Mwanza",id:"ym-Institute-of-Rural-Development-Planning-Mwanza",featureId:"Institute-of-Rural-Development-Planning-Mwanza",contacts:[{name:"Organizer",email:"shabanimagawila@gmail.com"}],countryCodes:["tz"],url:"www.facebook.com/IYMLZC/"},"ym-Institute-of-Rural-Development-Planning":{type:"youthmappers",name:"Mipango YouthMappers Chapter",description:"YouthMappers chapter at Institute of Rural Development Planning",id:"ym-Institute-of-Rural-Development-Planning",featureId:"Institute-of-Rural-Development-Planning",contacts:[{name:"Organizer",email:"msmapperschapter@gmail.com"}],extendedDescription:"Mipango YouthMappers Chapter was introduced at IRDP on 3rd July, 2017 by Dr.Domitilla Bashemera. The founding members were  300 (190 males and 110 female) Bachelor Degree students, who were registered as members of the Chapter. Gerald Zacharia is the president of the chapter and Juster Lugira is Vice President.",countryCodes:["tz"],url:"mailto:msmapperschapter@gmail.com"},"ym-Open-University-of-Tanzania":{type:"youthmappers",name:"Youth Mappers at Open University of Tanzania",description:"YouthMappers chapter at Open University of Tanzania",id:"ym-Open-University-of-Tanzania",featureId:"Open-University-of-Tanzania",contacts:[{name:"Organizer",email:"youthmapout@gmail.com"}],extendedDescription:"Youth Mappers at Open University of Tanzania\n\nHad been founded by members and students of Open University of Tanzania in Department of Geography who are mainly need to improve their career and help young community through joint and partnership projects with local community groups such as Mikoko Scout Group (www.msg.or.tz) and start cooperation with international colleges and universities for exchange programs in relation to Geography Studies as some programs prepared by Mikoko Scout Group which will link local university and other universities of the same interest through International Nature & Environmental Youth Camp 2019 (www.campsite.msg.or.tz/nature.html )\n\nOur chapter will soon be recognized as youth network program that will open opportunity for students to study and conduct research studies at a local levels.",countryCodes:["tz"],url:"mailto:youthmapout@gmail.com"},"ym-Sokoine-University-of-Agriculture":{type:"youthmappers",name:"SMCoSE YouthMappers",description:"YouthMappers chapter at Sokoine University of Agriculture",id:"ym-Sokoine-University-of-Agriculture",featureId:"Sokoine-University-of-Agriculture",contacts:[{name:"Organizer",email:"smcoseyouthmappers@gmail.com"}],extendedDescription:"A Chapter comprising of Environmental sciences and management students and Geography studies under the dept. of Geography and  we will be using mapping techniques, based on systems concepts and theories, can be used to facilitate, explore, and capture the different understandings of the relationships, perspectives, and boundaries involved in environmental sustainability to obtain a more complete comprehension of the concept and develop plans for action.",countryCodes:["tz"],url:"mailto:SMCoSEyouthmappers@gmail.com"},"ym-University-of-Dar-es-Salaam":{type:"youthmappers",name:"YouthMappers at University of Dar es Salaam",description:"YouthMappers chapter at University of Dar es Salaam",id:"ym-University-of-Dar-es-Salaam",featureId:"University-of-Dar-es-Salaam",contacts:[{name:"Organizer",email:"godluckur@gmail.com"}],extendedDescription:"The purpose of the University of Dar es Salaam YouthMappers  is to use and promote open source data and GIS technologies to map potential disaster areas, provide resources for emergency management, connect its members with open source and GIS organizations in the city of Dar es Salaam, and serve any upcoming needs of our project partners .",countryCodes:["tz"],url:"https://www.facebook.com/UDSMYouthMappers/"},"ym-Busitema-University":{type:"youthmappers",name:"Good Mappers",description:"YouthMappers chapter at Busitema University",id:"ym-Busitema-University",featureId:"Busitema-University",contacts:[{name:"Organizer",email:"mulindwasteven82@gmail.com"}],extendedDescription:"Good mappers is a team of students in Busitema University. Its main objective is to create a community of experienced mappers who can contribute to the world map.",countryCodes:["ug"],url:"https://m.facebook.com/HOTBusitemaUniv/"},"ym-Gulu-University":{type:"youthmappers",name:"CSGU Mappers",description:"YouthMappers chapter at Gulu University",id:"ym-Gulu-University",featureId:"Gulu-University",contacts:[{name:"Organizer",email:"git445@gmail.com"}],extendedDescription:"The CSGU Mappers are the Computing Society at Gulu University. This chapter is creative, passionate, innovative and ready to map Uganda and the world at large, beyond other people's imagination.",countryCodes:["ug"],url:"mailto:git445@gmail.com?subject=YouthMappers%20at%20Gulu%20University"},"ym-Kumi-University":{type:"youthmappers",name:"Ever Last YouthMappers",description:"YouthMappers chapter at Kumi University",id:"ym-Kumi-University",featureId:"Kumi-University",contacts:[{name:"Organizer",email:"kumiuniversityeverlastyouthmap@gmail.com"}],extendedDescription:"This energetic group of students organizes within the faculty of Science and Information Technology.",countryCodes:["ug"],url:"mailto:kumiuniversityeverlastyouthmap@gmail.com?subject=YouthMappers%20at%20Kumi%20University"},"ym-Makerere-University":{type:"youthmappers",name:"Geo YouthMappers",description:"YouthMappers chapter at Makerere University",id:"ym-Makerere-University",featureId:"Makerere-University",contacts:[{name:"Organizer",email:"geo-youthmappers@googlegroups.com"}],extendedDescription:"Geo YouthMappers is a Makerere University based mapping chapter esteemed to apply the spatial conception to the real world.We have collaborated on various mapping events with OSM. Our main aim is the desire to simplify data and make it readily available mostly for disaster preparedness.\"We map the world and change lives.",countryCodes:["ug"],url:"https://www.facebook.com/groups/1742657446017065/"},"ym-Mbarara-University-of-Science-and-Technology":{type:"youthmappers",name:"MUST Street Mappers",description:"YouthMappers chapter at Mbarara University of Science and Technology",id:"ym-Mbarara-University-of-Science-and-Technology",featureId:"Mbarara-University-of-Science-and-Technology",contacts:[{name:"Organizer",email:"muststreetmappers@gmail.com"}],extendedDescription:"MUST Street Mappers is a Youth Mappers chapter at the Mbarara University of Science and Technology that is based on making our country and the world at large a better place through mapping. We base on collected information to notice patterns and data mine to present relevant and beneficial information to society.",countryCodes:["ug"],url:"https://web.facebook.com/muststreetmappers/"},"ym-St.-Augustine-International-University":{type:"youthmappers",name:"YouthMappers at St Augustine International University",description:"YouthMappers chapter at St. Augustine International University",id:"ym-St.-Augustine-International-University",featureId:"St.-Augustine-International-University",contacts:[{name:"Organizer",email:"youthmapperssaiu@gmail.com"}],countryCodes:["ng"],url:"mailto:youthmapperssaiu@gmail.com"},"ym-Uganda-Christian-University-Mbale-Campus":{type:"youthmappers",name:"Mappers for Life",description:"YouthMappers chapter at Uganda Christian University Mbale Campus",id:"ym-Uganda-Christian-University-Mbale-Campus",featureId:"Uganda-Christian-University-Mbale-Campus",contacts:[{name:"Organizer",email:"munhilll@gmail.com"}],extendedDescription:"We are Team Mappers for life! Please come and join us as we map together!\" This group works from the Department of Information Technology at the UCU.",countryCodes:["ug"],url:"mailto:munhilll@gmail.com?subject=YouthMappers%20and%20the%20Uganda%20Christian%20University%20Mappers%20for%20Life"},"ym-Uganda-Pentecostal-University":{type:"youthmappers",name:"HiTech Youth Mappers",description:"YouthMappers chapter at Uganda Pentecostal University",id:"ym-Uganda-Pentecostal-University",featureId:"Uganda-Pentecostal-University",contacts:[{name:"Organizer",email:"hitechyouthmappers@gmail.com"}],extendedDescription:"A new Youthmappers Chapter in Western Uganda. Ready to map and provide open data with OpenStreetMap for development purposes.",countryCodes:["ug"],url:"mailto:hitechyouthmappers@gmail.com"},"ym-St.-Mawaggali-Trades-Training-Institute":{type:"youthmappers",name:"MawaggaliMappers",description:"YouthMappers chapter at St. Mawaggali Trades Training Institute",id:"ym-St.-Mawaggali-Trades-Training-Institute",featureId:"St.-Mawaggali-Trades-Training-Institute",contacts:[{name:"Organizer",email:"mawaggalimappers@gmail.com"}],extendedDescription:"We are the youthappers chapter at St. Mawaggali trades in choma who are want to contribute the different humantarian tasks to serve lives through mapping.",countryCodes:["zm"],url:"mailto:mawaggalimappers@gmail.com"},"ym-The-University-of-Zambia":{type:"youthmappers",name:"YouthMappers Unza",description:"YouthMappers chapter at The University of Zambia",id:"ym-The-University-of-Zambia",featureId:"The-University-of-Zambia",contacts:[{name:"Organizer",email:"chombachishala13@gmail.com"}],countryCodes:["zm"],url:"https://www.facebook.com/search/posts/?q=youth%20mappers%20unza"},"ym-University-of-Zimbabwe":{type:"youthmappers",name:"UZMappers",description:"YouthMappers chapter at University of Zimbabwe",id:"ym-University-of-Zimbabwe",featureId:"University-of-Zimbabwe",contacts:[{name:"Organizer",email:"uzmappersteam@gmail.com"}],extendedDescription:"UzMappersTeam Zimbabwe is a team of Volunteers using OpenStreetMap for Open Data Mapping and Humanitarian Disaster response mapping .The team empowers its members with open source geospatial technology skills.",countryCodes:["zw"],url:"https://www.facebook.com/Uzmappersteam-Zimbabwe-246038666256392/"},"osm-afghanistan-facebook":{id:"osm-afghanistan-facebook",featureId:"afghanistan",type:"facebook",name:"OpenStreetMap Afghanistan",description:"Improve OpenStreetMap in Afghanistan",url:"https://www.facebook.com/groups/321292812113316/",countryCodes:["af"],languageCodes:["en","ps","fa"],contacts:[{name:"Walker Kosmidou-Bradley",email:"walker.t.bradley@gmail.com"}]},"OSM-BGD-facebook":{id:"OSM-BGD-facebook",featureId:"BGD",type:"facebook",name:"OpenStreetMap Bangladesh",description:"Improve OpenStreetMap in Bangladesh",extendedDescription:"Mapping in Bangladesh? Have questions, want to connect with the community here? Join us at {url}. All are welcome!",url:"https://www.facebook.com/groups/osmbd/",contacts:[{name:"Ahasanul Hoque",email:"hoque.ahasan@gmail.com"}]},"ym-Asian-University-for-Women":{type:"youthmappers",name:"YouthMappers at AUW",description:"YouthMappers chapter at Asian University for Women",id:"ym-Asian-University-for-Women",featureId:"Asian-University-for-Women",contacts:[{name:"Organizer",email:"harunur.rashid@auw.edu.bd"}],extendedDescription:"The Asian University for Women seeks to graduate women who will be skilled and innovative professionals, service-oriented leaders in the businesses and communities in which they will work and live, and promoters of intercultural understanding and sustainable human and economic development in Asia and throughout the world.",countryCodes:["bd"],url:"http://www.auw.edu.bd/"},"ym-Dhaka-College":{type:"youthmappers",name:"YouthMappers Daka College",description:"YouthMappers chapter at Dhaka College",id:"ym-Dhaka-College",featureId:"Dhaka-College",contacts:[{name:"Organizer",email:"youthmappersdc@gmail.com"}],extendedDescription:"YouthMappers DhakaCollege is an approach by students to help mapping vulnerable areas of the world as a part of Humanitarian Action. YouthMappers  gives the opportunity to the students for helping people and using mapping for humanitarian purposes. This open geographic data can be used for educational, navigational and other humanitarian purposes. Happy mapping.",countryCodes:["bd"],url:"https://www.facebook.com/groups/321220498214124/"},"ym-Dhaka-University":{type:"youthmappers",name:"Openstreetmap YouthMappers",description:"YouthMappers chapter at Dhaka University",id:"ym-Dhaka-University",featureId:"Dhaka-University",contacts:[{name:"Organizer",email:"hoque.ahasan@gmail.com"}],extendedDescription:"It's a great privilege for the students of University of Dhaka to map for humanitarian purposes. Our chapter gives the opportunity to the students for helping people and use mapping for humanitarian purposes.",countryCodes:["bd"],url:"https://www.facebook.com/groups/osmDU/1773150346233538/?notif_t=group_activity&notif_id=1472953820177890"},"ym-Eastern-University":{type:"youthmappers",name:"YouthMappers at Eastern University",description:"YouthMappers chapter at Eastern University",id:"ym-Eastern-University",featureId:"Eastern-University",contacts:[{name:"Organizer",email:"infolimon@gmail.com"}],extendedDescription:"YouthMappers at Eastern University, Bangladesh has been formed with a view to assisting people during humanitarian crisis. The students, likewise other mappers of the world, are promised to assist people in using the map for educational, navigational and other humanitarian purposes.",countryCodes:["bd"],url:"mailto:infolimon@gmail.com"},"ym-Jahangirnagar-University":{type:"youthmappers",name:"YouthMappers at IRS, Jahangirnagar University",description:"YouthMappers chapter at Jahangirnagar University",id:"ym-Jahangirnagar-University",featureId:"Jahangirnagar-University",contacts:[{name:"Organizer",email:"s.t.islam@juniv.edu"}],countryCodes:["bd"],url:"mailto:s.t.islam@juniv.edu"},"ym-Khulna-University":{type:"youthmappers",name:"Openstreetmap",description:"YouthMappers chapter at Khulna University",id:"ym-Khulna-University",featureId:"Khulna-University",contacts:[{name:"Organizer",email:"hoque.ahasan@gmail.com"}],extendedDescription:"KU students and faculty from multiple disciplines are experienced at creating open data for OSM to address local challenges of development, including food security and other topics.",countryCodes:["bd"],url:"https://www.facebook.com/groups/osmku/"},"ym-Rajshahi-University-of-Engineering-Technology":{type:"youthmappers",name:"YouthMappers at RUET",description:"YouthMappers chapter at Rajshahi University of Engineering & Technology",id:"ym-Rajshahi-University-of-Engineering-Technology",featureId:"Rajshahi-University-of-Engineering-Technology",contacts:[{name:"Organizer",email:"ruetmappers@gmail.com"}],extendedDescription:"The \"YouthMappers at RUET\" is a humanitarian mapping group of students of Rajshahi University of Engineering & Technology (RUET) to share, develop and practice the knowledge of GIS.  This group encourages using open source geospatial data and platform to make solution to reach the most vulnerable group of the world.",countryCodes:["bd"],url:"mailto:ruetmappers@gmail.com"},"ym-Sherubtse-College":{type:"youthmappers",name:"Geographical Society",description:"YouthMappers chapter at Sherubtse College",id:"ym-Sherubtse-College",featureId:"Sherubtse-College",contacts:[{name:"Organizer",email:"gsscbhutan@gmail.com"}],extendedDescription:"The Geographical Society, in the Department of Geography & Planning, Sherubtse College, Royal University of Bhutan, with support from the Center for Climate Change and Spatial Information, has made several efforts to create awareness and address important issues at the local and national level. We now join hands with the international student-centered YouthMappers network on \"Mapping for Resilience\" and contributing to a global 'Happiness'!",countryCodes:["bt"],url:"mailto:gsscbhutan@gmail.com?subject=About%20the%20Royal%20University%20of%20Bhutan%20Geographical%20Society%20and%20Youth%20Mappers"},"OSM-India-facebook":{id:"OSM-India-facebook",featureId:"india_full",type:"facebook",name:"OpenStreetMap India - Participatory neighborhood mapping",description:"Improve OpenStreetMap in India",extendedDescription:"Mapping in India? Have questions, want to connect with the community here? Join us at {url}. All are welcome!",url:"https://www.facebook.com/groups/mappingindia/",contacts:[{name:"Jinal Foflia",email:"fofliajinal@gmail.com"},{name:"Arun Ganesh",email:"arun.planemad@gmail.com"}],events:[{id:"sotmasia2018",i18n:true,name:"State of the Map Asia 2018",description:"Join the 2018 OpenStreetMap region-wide event at State of the Map Asia in India",where:"Indian Institute of Management, Bangalore, India",when:"2018-11-17",url:"http://stateofthemap.asia/"}]},"osm-india-forum":{id:"osm-india-forum",featureId:"india_full",type:"forum",countryCodes:["in"],name:"OpenStreetMap India forum",description:"OpenStreetMap India web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=65",contacts:[{name:"OpenStreetMap India",email:"openstreetmapindia@gmail.com"}]},"osm-india-github":{id:"osm-india-github",featureId:"india_full",type:"github",name:"OpenStreetMap India GitHub",description:"Code with us: {url}",url:"https://github.com/osm-in",contacts:[{name:"Naveen Francis",email:"naveenpf@gmail.com"}]},"OSM-india-mailinglist":{id:"OSM-india-mailinglist",featureId:"india_full",type:"mailinglist",name:"OpenStreetMap India Mailinglist",description:"Talk-in is the official Mailinglist for Indian Community",url:"https://lists.openstreetmap.org/listinfo/talk-in",contacts:[{name:"Arun Ganesh",email:"arun.planemad@gmail.com"}]},"osm-india-telegram":{id:"osm-india-telegram",featureId:"india_full",type:"telegram",name:"OpenStreetMap India Telegram",description:"Join our family: {url}",url:"https://t.me/OSMIndia",contacts:[{name:"Naveen Francis",email:"naveenpf@gmail.com"}]},"OSM-india-twitter":{id:"OSM-india-twitter",featureId:"india_full",type:"twitter",name:"OpenStreetMap India Twitter",description:"We are just a tweet away: {url}",url:"https://twitter.com/osm_in",contacts:[{name:"Jinal Foflia",email:"fofliajinal@gmail.com"}]},"osm-india-website":{id:"osm-india-website",featureId:"india_full",type:"osm",name:"OpenStreetMap India",countryCodes:["in"],description:"Mappers and OpenStreetMap users in India",url:"https://openstreetmap.in/",contacts:[{name:" OpenStreetMap India",email:"openstreetmapindia@gmail.com"}]},"osm-india-wiki":{id:"osm-india-wiki",featureId:"india_full",type:"wiki",name:"OpenStreetMap Wikiproject India",description:"Everything you need to know about mapping in India: {url}",url:"https://wiki.openstreetmap.org/wiki/WikiProject_India",contacts:[{name:"Naveen Francis",email:"naveenpf@gmail.com"}]},"osm-india-youtube":{id:"osm-india-youtube",featureId:"india_full",type:"youtube",name:"OpenStreetMap India Youtube",description:"Subscribe to our channel: {url}",url:"https://www.youtube.com/channel/UCu5sKaPU04x0RJkgGkoFORw",contacts:[{name:"Naveen Francis",email:"naveenpf@gmail.com"}]},"OSM-India-Puducherry-Facebook":{id:"OSM-India-Puducherry-Facebook",featureId:"india_puducherry",type:"facebook",name:"Free Software Hardware Movement - Facebook",description:"FSHM Facebook page to know about community events, activities",extendedDescription:"FSHM organizes events relating to free software/hardware, technology, activism and OpenStreetMap. Its FB page is the best way to keep in contact with its events.",url:"https://www.facebook.com/FSHMP",contacts:[{name:"Kamalavelan",email:"sskamalavelan@gmail.com",osm:"demonshreder"},{name:"Prasanna",email:"prasmailme@gmail.com",osm:"Prashere"}]},"OSM-Puducherry-Mailing-List":{id:"OSM-Puducherry-Mailing-List",featureId:"india_puducherry",type:"mailinglist",name:"Free Software Hardware Movement - Mailing List",description:"FSHM Puducherry mailing list to discuss mapping in Puducherry and other things.",extendedDescription:"FSHM organizes events relating to free software/hardware, technology, activism and OpenStreetMap.",url:"https://www.freelists.org/archive/puduvailug/",signupUrl:"https://www.freelists.org/list/puduvailug",contacts:[{name:"Kamalavelan",email:"sskamalavelan@gmail.com",osm:"demonshreder"},{name:"Prasanna",email:"prasmailme@gmail.com",osm:"Prashere"}]},"OSM-India-Puducherry-Matrix":{id:"OSM-India-Puducherry-Matrix",featureId:"india_puducherry",type:"matrix",name:"Free Software Hardware Movement - Matrix",description:"FSHM Riot group to discuss, share and update mapping activities, events in and around Puducherry",extendedDescription:"FSHM community members share their OSM mapping updates / experiences through the Riot.im group, this group is also used to discuss things related to free software / hardware, technology and activism.",url:"https://riot.im/app/#/room/#fshm:matrix.org",contacts:[{name:"Kamalavelan",email:"sskamalavelan@gmail.com",osm:"demonshreder"},{name:"Prasanna",email:"prasmailme@gmail.com",osm:"Prashere"}]},"ym-Gujarat-University":{type:"youthmappers",name:"CCIM at Ahmedabad",description:"YouthMappers chapter at Gujarat University",id:"ym-Gujarat-University",featureId:"Gujarat-University",contacts:[{name:"Organizer",email:"coolmulls@gmail.com"}],countryCodes:["in"],url:"mailto:Coolmulls@gmail.com"},"OSM-IDN-facebook":{id:"OSM-IDN-facebook",featureId:"IDN",type:"facebook",name:"OpenStreetMap Indonesia",description:"Improve OpenStreetMap in Indonesia",extendedDescription:"Mapping in Indonesia? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!",url:"https://www.facebook.com/groups/osm.id/",contacts:[{name:"Yantisa Akhadi",email:"yantisa.akhadi@hotosm.org"}]},"ym-Universitas-Negeri-Makassar":{type:"youthmappers",name:"Kontur Geografi",description:"YouthMappers chapter at Universitas Negeri Makassar",id:"ym-Universitas-Negeri-Makassar",featureId:"Universitas-Negeri-Makassar",contacts:[{name:"Organizer",email:"konturgeografi@gmail.com"}],countryCodes:["in"],url:"https://tentangkontur.blogspot.co.id"},"ym-University-Muhammadiyah-Surakarta":{type:"youthmappers",name:"SpaceTime",description:"YouthMappers chapter at University Muhammadiyah Surakarta",id:"ym-University-Muhammadiyah-Surakarta",featureId:"University-Muhammadiyah-Surakarta",contacts:[{name:"Organizer",email:"spacetime1717@gmail.com"}],extendedDescription:"SpaceTime is a community mapping in the Faculty of Geography of Muhammadiyah University of Surakarta. SpaceTime was founded by Bruce Maldy Pratama, Mukhlis Akbar and Irfandi Fauzi. They are active students in the Faculty of Geography University Muhammadiyah Surakarta.",countryCodes:["in"],url:"mailto:spacetime1717@gmail.com"},"osm-iran-aparat":{id:"osm-iran-aparat",featureId:"iran",type:"aparat",countryCodes:["ir"],languageCodes:["fa"],name:"OpenStreetMap Iran Aparat",description:"Subscribe to our channel at {url}",extendedDescription:"A good resource of videos about anything related to OpenStreetMap. Mainly in Persian.",url:"https://www.aparat.com/osm_iran",contacts:[{name:"Iman",email:"iriman@chmail.ir"}]},"osm-iran-forum":{id:"osm-iran-forum",featureId:"iran",type:"forum",countryCodes:["ir"],languageCodes:["fa"],name:"OpenStreetMap Iran web forum",description:"OpenStreetMap Iran web forum",extendedDescription:"A web forum for OpenStreetMap users in Iran. Feel free to ask questions and discuss with others!",url:"https://forum.openstreetmap.org/viewforum.php?id=103",contacts:[{name:"Iman",email:"iriman@chmail.ir"}]},"osm-iran-telegram":{id:"osm-iran-telegram",featureId:"iran",type:"telegram",countryCodes:["ir"],languageCodes:["fa"],name:"OpenStreetMap Iran Telegram",description:"You're welcome to join our Telegram channel at {url}. We also have a supergroup of many OSMers interested in Iran. Find its link in bio of channel.",url:"https://t.me/openstreetmapir",contacts:[{name:"Iman",email:"iriman@chmail.ir"}]},"OSM-japan-facebook":{id:"OSM-japan-facebook",featureId:"japan",type:"facebook",name:"OpenStreetMap Japan Community",countryCodes:["jp"],languageCodes:["jp"],description:"Mappers and OpenStreetMap users in Japan",url:"https://www.facebook.com/groups/osmjapan/",contacts:[{name:"Satoshi IIDA",email:"nyampire@gmail.com"}]},"OSM-japan-mailinglist":{id:"OSM-japan-mailinglist",featureId:"japan",type:"mailinglist",name:"OpenStreetMap Japan Mailinglist",countryCodes:["jp"],languageCodes:["jp"],description:"Talk-ja is an Official Mailinglist for Japanese Community",url:"https://lists.openstreetmap.org/listinfo/talk-ja",contacts:[{name:"OSMF Japan",email:"info@osmf.jp"}]},"OSM-japan-twitter":{id:"OSM-japan-twitter",featureId:"japan",type:"twitter",name:"OpenStreetMap Japan Twitter",countryCodes:["jp"],languageCodes:["jp"],description:"Hashtag on Twitter: {url}",url:"https://twitter.com/hashtag/osmjp",contacts:[{name:"Satoshi IIDA",email:"nyampire@gmail.com"}]},"OSM-japan-website":{id:"OSM-japan-website",featureId:"japan",type:"group",name:"OpenStreetMap Japan",countryCodes:["jp"],languageCodes:["jp"],description:"Mappers and OpenStreetMap users in Japan",url:"https://openstreetmap.jp/",contacts:[{name:"Satoshi IIDA",email:"nyampire@gmail.com"}]},"OSM-MY-facebook":{id:"OSM-MY-facebook",featureId:"malaysia",type:"facebook",countryCodes:["my"],languageCodes:["ms","en"],name:"OpenStreetMap Malaysia on Facebook",description:"For chat about anything related to OpenStreetMap!",url:"https://www.facebook.com/groups/openstreetmapMY/",contacts:[{name:"Mohd Saidin",email:"projekopenstreetmap@hotmail.com"}]},"OSM-MY-forum":{id:"OSM-MY-forum",featureId:"malaysia",type:"forum",countryCodes:["my"],languageCodes:["ms","en"],name:"OpenStreetMap Malaysia Forum",description:"Official OpenStreetMap Malaysia Forum",url:"https://forum.openstreetmap.org/viewforum.php?id=60",contacts:[{name:"Mohd Saidin",email:"projekopenstreetmap@hotmail.com"}]},"OSM-MY-matrix":{id:"OSM-MY-matrix",featureId:"malaysia",type:"matrix",countryCodes:["my"],languageCodes:["ms","en"],name:"OpenStreetMap Malaysia Riot channel",description:"All mappers are welcome! Sign up at {signupUrl}",signupUrl:"https://riot.im/app/#/register",url:"https://riot.im/app/#/room/#OpenstreetmapMalaysia:matrix.org",contacts:[{name:"Ahmad Amsyar",email:"OfficiallyAhmad@protonmail.ch"}]},"OSM-MNG-facebook":{id:"OSM-MNG-facebook",featureId:"MNG",type:"facebook",name:"OpenStreetMap Mongolia",description:"Improve OpenStreetMap in Mongolia",extendedDescription:"Mapping in Mongolia? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!",url:"https://www.facebook.com/groups/OSM.Mongolia/",contacts:[{name:" ",email:"talk-mn@openstreetmap.org"}]},"OSM-MMR-facebook":{id:"OSM-MMR-facebook",featureId:"MMR",type:"facebook",name:"OpenStreetMap Myanmar",description:"Improve OpenStreetMap in Myanmar",extendedDescription:"Mapping in Myanmar? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!",url:"https://www.facebook.com/groups/osmmm/",contacts:[{name:"Yan Naung Oak",email:"yan@phandeeyar.org"},{name:"Patrick Oswald",email:"patrickoswald.omm@gmail.com"},{name:"Set Khaing Oo",email:"setkhaing@phandeeyar.org"}]},"OSM-Nepal-facebook":{id:"OSM-Nepal-facebook",featureId:"NPL",type:"facebook",name:"OpenStreetMap Nepal",description:"Improve OpenStreetMap in Nepal",extendedDescription:"Mapping in Nepal? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!",url:"https://www.facebook.com/groups/mapkathmandu/",contacts:[{name:"Kshitiz Khanal",email:"khanal1990@gmail.com"}]},"ym-Institute-of-Crisis-Management-Studies":{type:"youthmappers",name:"Institute of Crisis Management Studies YouthMappers",description:"YouthMappers chapter at Institute of Crisis Management Studies",id:"ym-Institute-of-Crisis-Management-Studies",featureId:"Institute-of-Crisis-Management-Studies",contacts:[{name:"Organizer",email:"deepakadhikari@tuicms.edu.np"}],extendedDescription:"To develop Crisis Mappers to assist during disaster situations.",countryCodes:["np"],url:"mailto:deepakadhikari@tuicms.edu.np"},"ym-Kathmandu-University":{type:"youthmappers",name:"Geomatics Engineering Society,GES",description:"YouthMappers chapter at Kathmandu University",id:"ym-Kathmandu-University",featureId:"Kathmandu-University",contacts:[{name:"Organizer",email:"ges@ku.edu.np"}],extendedDescription:"Geomatics Engineering Society (GES) established in 2008 A.D is a departmental club under Department of Civil and Geomatics Engineering (DCGE) at Kathmandu University. GES acts as a platform to develop the skills of students apart from their educational activities by focusing on activities like technical trainings, seminars, talk programs and interaction with experts from related field, sports activities etc.",countryCodes:["np"],url:"ku.edu.np/ges"},"ym-Tribhuvan-University":{type:"youthmappers",name:"Geomatics Engineering Students Association",description:"YouthMappers chapter at Tribhuvan University",id:"ym-Tribhuvan-University",featureId:"Tribhuvan-University",contacts:[{name:"Organizer",email:"gesan.nepal@gmail.com"}],extendedDescription:"This organization is the student forum of Geomatics Engineering students of Tribhuvan University , Institute of Engineering on the Pashchimanchal campus. Established since the beginning of the degree program, students have been active in mapping and leadership and are thrilled to be a part of the YouthMappers network.",countryCodes:["np"],url:"http://gesanwrc.wordpress.com/"},"OSM-Asia-mailinglist":{id:"OSM-Asia-mailinglist",featureId:"asia_full",type:"mailinglist",name:"OpenStreetMap Asia Mailinglist",description:"Talk-asia is the official Mailinglist for Asian Community",url:"https://lists.openstreetmap.org/listinfo/talk-asia",contacts:[{name:"Erwin Olario",email:"govvin@gmail.com"}]},"osm-asia-telegram":{id:"osm-asia-telegram",featureId:"asia_full",type:"telegram",name:"OpenStreetMap Asia Telegram",description:"Join our family: {url}",url:"https://t.me/OpenStreetMapAsia",contacts:[{name:"Erwin Olario",email:"govvin@gmail.com"}]},"OSM-PH-facebook":{id:"OSM-PH-facebook",featureId:"philippines",type:"facebook",countryCodes:["ph"],name:"OpenStreetMap PH Facebook",description:"Welcome to OpenStreetMap Philippines, where we encourage all fellow Filipinos to contribute to the OpenStreetMap project.",url:"https://www.facebook.com/OSMPH/",contacts:[{name:"Maning Sambale",email:"emmanuel.sambale@gmail.com"},{name:"OSM PH Group",email:"osm.pilipinas@gmail.com"}]},"OSM-PH-mailinglist":{id:"OSM-PH-mailinglist",featureId:"philippines",type:"mailinglist",countryCodes:["ph"],name:"Talk-ph Mailing List",description:"A mailing list to discuss OpenStreetMap in the Philippines",url:"https://lists.openstreetmap.org/pipermail/talk-ph/",contacts:[{name:"Maning Sambale",email:"emmanuel.sambale@gmail.com"},{name:"OSM PH Group",email:"osm.pilipinas@gmail.com"}]},"OSM-PH-slack":{id:"OSM-PH-slack",featureId:"philippines",type:"slack",countryCodes:["ph"],name:"OpenStreetMap PH Slack",description:"All are welcome! Sign up at {signupUrl}",signupUrl:"https://osmph-chat.herokuapp.com/",url:"https://osmph.slack.com",contacts:[{name:"Maning Sambale",email:"emmanuel.sambale@gmail.com"},{name:"OSM PH Group",email:"osm.pilipinas@gmail.com"}]},"OSM-PH-telegram":{id:"OSM-PH-telegram",featureId:"philippines",type:"telegram",countryCodes:["ph"],languageCodes:["tl","en"],name:"OpenStreetMap PH Telegram",description:"Un-official, Telegram local community of OpenStreetMap contributors and friends in the Philippines",url:"https://t.me/osmph",contacts:[{name:"Erwin Olario",email:"govvin@gmail.com"},{name:"OSM PH Group",email:"osm.pilipinas@gmail.com"}]},"ym-Far-Eastern-University-Institute-of-Technology":{type:"youthmappers",name:"Junior Philippines Computer Society",description:"YouthMappers chapter at Far Eastern University -Institute of Technology",id:"ym-Far-Eastern-University-Institute-of-Technology",featureId:"Far-Eastern-University-Institute-of-Technology",contacts:[{name:"Organizer",email:"jpcsfeutech@outlook.com"}],extendedDescription:"FEU has been recognized as one of the leading universities in the Philippines. Its mission centers on producing graduates who have contributed to the advancement of the country. The university continuously challenges itself to raise the bar of excellence to achieve a top-tier status not only in the Philippines but also in the South East Asian region",countryCodes:["ph"],url:"mailto:jpcsfeutech@outlook.com?subject=YouthMappers%20and%20Junior%20Philippines%20Computer%20Society"},"ym-University-of-the-Philippines-Resilience-Institute":{type:"youthmappers",name:"YouthMappers UP Resilience Institute",description:"YouthMappers chapter at University of the Philippines Resilience Institute",id:"ym-University-of-the-Philippines-Resilience-Institute",featureId:"University-of-the-Philippines-Resilience-Institute",contacts:[{name:"Organizer",email:"llnguyen@up.edu.ph"}],extendedDescription:"The UP Resilience Institute was established in 2016 with a mission statement to empower local communities through multidisciplinary research and actions toward resilience. Through UP NOAH Center, and the help of different organizations, we have provided building exposure maps for 17 provinces out of the 82 and uploaded more than 4 million footprints to Open Street Maps.",countryCodes:["ph"],url:"https://www.facebook.com/UP-Resillience-Institute-Youth-Mappers-123477508533225"},"OSM-RU-forum":{id:"OSM-RU-forum",type:"forum",featureId:"russia",countryCodes:["ru"],languageCodes:["ru"],name:"OpenStreetMap RU forum",description:"OpenStreetMap Russia web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=21",contacts:[{name:"Ilya Zverev",email:"ilya@zverev.info"}]},"OSM-RU-telegram":{id:"OSM-RU-telegram",type:"telegram",featureId:"russia",countryCodes:["ru"],languageCodes:["ru"],name:"OpenStreetMap RU telegram",description:"OpenStreetMap Russia telegram chat",url:"https://t.me/ruosm",contacts:[{name:"Ilya Zverev",email:"ilya@zverev.info"}]},"OSM-south-korea-telegram":{id:"OSM-south-korea-telegram",featureId:"south_korea",type:"telegram",countryCodes:["kr"],languageCodes:["ko","en"],name:"OSM South Korea Telegram",description:"Unofficial Channnel for OpenStreetMap contributors, communities, and users in South Korea to share and discuss.",url:"https://t.me/osmKorea",contacts:[{name:"Yongmin Hong",email:"revi@pobox.com"},{name:"Max N",email:"abonnements@revolwear.com"}]},"OSM-sri-lanka-facebook":{id:"OSM-sri-lanka-facebook",featureId:"sri_lanka",type:"facebook",countryCodes:["lk"],name:"OpenStreetMap Sri Lanka",description:"Improve OpenStreetMap in Sri Lanka",extendedDescription:"Mapping in Sri Lanka? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!",url:"https://www.facebook.com/groups/142058222659672/",contacts:[{name:"Karan Suthakaran",email:"karansuthakaran@yahoo.com"}]},"OSM-TW-facebook":{id:"OSM-TW-facebook",featureId:"taiwan",type:"facebook",name:"OpenStreetMap Taiwan Community",countryCodes:["tw"],languageCodes:["zh-tw"],description:"Facebook Group for Mappers and OpenStreetMap users to discuss matters about Taiwan.",url:"https://www.facebook.com/groups/OpenStreetMap.TW/",contacts:[{name:"Nobody 沒有人 (Public mail)",email:"hiboard@openstreetmap.tw"}]},"OSM-TW-mailinglist":{id:"OSM-TW-mailinglist",featureId:"taiwan",type:"mailinglist",name:"OpenStreetMap Taiwan Mailinglist",countryCodes:["tw"],languageCodes:["zh-tw","en"],description:"Talk-tw is an Official Mailinglist for the Communities to dicuss matters about Taiwan",url:"https://lists.openstreetmap.org/listinfo/talk-tw",contacts:[{name:"Nobody 沒有人 (Public email)",email:"hiboard@openstreetmap.tw"}]},"OSM-TH-CNX-meetup":{id:"OSM-TH-CNX-meetup",featureId:"thailand_cnx",type:"meetup",countryCodes:["th"],languageCodes:["en"],name:"OSM Meetup Chiang Mai",description:"Irregular meeting of the OpenStreetMap community in Chiang Mai",extendedDescription:"Members of the OpenStreetMap community meet every few months in Chiang Mai. Get in contact and check out {url} to see when the next meetup is scheduled",url:"https://forum.openstreetmap.org/viewforum.php?id=46",contacts:[{name:"Team Chiang Mai",email:"meetup-cnx@openstreetmap.in.th"}]},"OSM-TH-facebook":{id:"OSM-TH-facebook",featureId:"thailand_full",type:"facebook",countryCodes:["th"],languageCodes:["en","th"],name:"OpenStreetMap TH Facebook group",description:"Facebook group for OpenStreetMappers in Thailand",url:"https://www.facebook.com/groups/thaiosm/",contacts:[{name:"Theppitak Karoonboonyanan",email:"theppitak@gmail.com"}]},"OSM-TH-forum":{id:"OSM-TH-forum",featureId:"thailand_full",type:"forum",countryCodes:["th"],languageCodes:["en","th"],name:"OpenStreetMap TH forum",description:"OpenStreetMap Thailand web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=46",contacts:[{name:"Stephan Knauss",email:"osm@stephans-server.de"}]},"al-forum":{id:"al-forum",featureId:"albania",type:"forum",countryCodes:["al"],languageCodes:["sq","en"],name:"OSM Albania Forum",description:"OpenStreetMap Albania Forum",url:"https://forum.openstreetmap.org/viewforum.php?id=91",contacts:[{name:"Jonathan Beliën",email:"dev@jbelien.be"},{name:"Amanti Lulo",email:"amanti.lulo@gmail.com"}]},"al-maptime-tirana":{id:"al-maptime-tirana",featureId:"al-tirana",type:"group",countryCodes:["al"],languageCodes:["sq","en"],name:"Maptime Tirana",description:"Social events organized around mapping - beginners most welcome!",extendedDescription:"Maptime is an open learning environment for all levels and degrees of knowledge, offering intentional educational support for the beginner. Maptime is simultaneously flexible and structured, creating space for mapping tutorials, workshops, ongoing projects with a shared goal, and independent/collaborative work time.",url:"http://maptime.io/tirana/",contacts:[{name:"Jonathan Beliën",email:"dev@jbelien.be"},{name:"Amanti Lulo",email:"amanti.lulo@gmail.com"}]},"al-telegram":{id:"al-telegram",featureId:"albania",type:"telegram",countryCodes:["al"],languageCodes:["sq","en"],name:"OSM Albania Telegram channel",description:"OpenStreetMap Albania Telegram channel",url:"https://telegram.me/OpenStreetMapAL",contacts:[{name:"Jonathan Beliën",email:"dev@jbelien.be"},{name:"Amanti Lulo",email:"amanti.lulo@gmail.com"}]},"at-forum":{id:"at-forum",featureId:"austria",type:"forum",name:"OpenStreetMap Austria Forum",countryCodes:["at"],languageCodes:["en","de"],description:"The official forum for OpenStreetMap questions in and around Austria",url:"https://forum.openstreetmap.org/viewforum.php?id=89",contacts:[{name:"emga",email:"emgaosm@gmail.com"}]},"at-mailinglist":{id:"at-mailinglist",featureId:"austria",type:"mailinglist",name:"Talk-at Mailing List",countryCodes:["at"],languageCodes:["de"],description:"Talk-at is the official mailing list for the Austrian OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-at",contacts:[{name:"AT community",email:"info@openstreetmap.at"}]},"at-twitter":{id:"at-twitter",featureId:"austria",type:"twitter",name:"OpenStreetMap Austria Twitter",countryCodes:["at"],languageCodes:["de"],description:"OpenStreetMap Austria On Twitter: {url}",url:"https://twitter.com/osm_at",contacts:[{name:"AT Community",email:"info@openstreetmap.at"}]},"osmgraz-meetup":{id:"osmgraz-meetup",featureId:"graz",type:"meetup",countryCodes:["at"],languageCodes:["de","en"],name:"OSM community meetup Graz",description:"Monthly meetup of the OpenStreetMap community in Graz",url:"https://wiki.openstreetmap.org/wiki/Graz/Stammtisch",contacts:[{name:"Michael Maier",email:"michael.maier@secure.mailbox.org"}]},"osmgraz-twitter":{id:"osmgraz-twitter",featureId:"graz",type:"twitter",countryCodes:["at"],languageCodes:["de","en"],name:"OSM community Graz on twitter",description:"OpenStreetMap community in Graz on twitter",url:"https://twitter.com/osmgraz",contacts:[{name:"Michael Maier",email:"michael.maier@secure.mailbox.org"}]},"osm-at":{id:"osm-at",featureId:"austria",type:"group",countryCodes:["at"],languageCodes:["de"],name:"OpenStreetMap Austria",description:"The platform for information on OpenStreetMap in Austria",url:"https://www.openstreetmap.at/",contacts:[{name:"AT community",email:"info@openstreetmap.at"}]},byosm:{id:"byosm",type:"telegram",featureId:"belarus",languageCodes:["ru","be","en"],name:"OpenStreetMap Belarus",description:"OpenStreetMap Belarus telegram chat",url:"https://t.me/byosm",contacts:[{name:"Darafei Praliaskouski",email:"me@komzpa.net"}]},"be-facebook":{id:"be-facebook",featureId:"belgium",type:"facebook",name:"OpenStreetMap BE Community",countryCodes:["be"],languageCodes:["en","nl","fr","de"],description:"Mappers and OpenStreetMap on Facebook in Belgium",url:"https://www.facebook.com/groups/1419016881706058/",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-forum":{id:"be-forum",type:"forum",featureId:"belgium",countryCodes:["be"],languageCodes:["en","nl","fr","de"],name:"OpenStreetMap BE forum",description:"OpenStreetMap Belgium web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=29",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-irc":{id:"be-irc",featureId:"belgium",type:"irc",name:"OpenStreetMap Belgium IRC",countryCodes:["be"],languageCodes:["en","nl","fr","de"],description:"Join #osmbe on irc.oftc.net (port 6667)",extendedDescription:"Join #osmbe on irc.oftc.net (port 6667), it is bridged with the Matrix chat channel",url:"https://webchat.oftc.net/?channels=osmbe",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-mailinglist":{id:"be-mailinglist",featureId:"belgium",type:"mailinglist",name:"Talk-be Mailing List",countryCodes:["be"],languageCodes:["en","nl","fr","de"],description:"Talk-be is the official mailing list for the Belgian OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-be",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-matrix":{id:"be-matrix",featureId:"belgium",type:"matrix",countryCodes:["be"],languageCodes:["en","nl","fr","de"],name:"OpenStreetMap BE Matrix channel",description:"All mappers are welcome!",extendedDescription:"Most talk is happening at the \"OpenStreetMap Belgium\" channel. You can ask anything there! The other rooms are for specific subjects.",url:"https://riot.im/app/#/group/+osmbe:matrix.org",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-meetup":{id:"be-meetup",featureId:"belgium",type:"meetup",countryCodes:["be"],languageCodes:["en","nl","fr","de"],name:"OpenStreetMap Belgium Meetup",description:"Real life meetups of everyone who is interested in OpenStreetMap",extendedDescription:"Physical meetups are great to meet other mappers, ask them questions and to learn a lot. Especially new contributors are very welcome!",url:"https://meetup.com/OpenStreetMap-Belgium/",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-twitter":{id:"be-twitter",featureId:"belgium",type:"twitter",name:"OpenStreetMap Belgium Twitter",countryCodes:["be"],languageCodes:["en","nl","fr","de"],description:"OSM Belgium on Twitter: @osm_be",url:"https://twitter.com/osm_be",contacts:[{name:"BE community",email:"community@osm.be"}]},"hr-facebook":{id:"hr-facebook",featureId:"croatia",type:"facebook",name:"OpenStreetMap Croatia Facebook group",countryCodes:["hr"],languageCodes:["hr"],description:"OpenStreetMap Croatia Facebook group",url:"https://www.facebook.com/groups/541098862671461",contacts:[{name:"OpenStreetMap Croatia",email:"info@osm-hr.org"}]},"hr-irc":{id:"hr-irc",featureId:"croatia",type:"irc",name:"OpenStreetMap Croatia on IRC",countryCodes:["hr"],languageCodes:["hr"],description:"Join #osm-hr on irc.freenode.org (port 6667)",url:"https://webchat.freenode.net/?url=irc://irc.freenode.net/osm-hr",contacts:[{name:"OpenStreetMap Croatia",email:"info@osm-hr.org"}]},"hr-mailinglist":{id:"hr-mailinglist",featureId:"croatia",type:"mailinglist",name:"Talk-hr Mailing List",countryCodes:["hr"],languageCodes:["hr"],description:"Talk-hr mailing list",url:"https://lists.openstreetmap.org/listinfo/talk-hr",contacts:[{name:"OpenStreetMap Croatia",email:"info@osm-hr.org"}]},"czech-community":{id:"czech-community",featureId:"czechia",type:"group",name:"Czech OSM community",countryCodes:["cz"],languageCodes:["cs","sk","en"],description:"Map portal, website and contacts on OSM members in Czechia",url:"https://openstreetmap.cz/komunita",contacts:[{name:"osmcz",email:"dev@openstreetmap.cz"}]},"osmcz-facebook":{id:"osmcz-facebook",featureId:"czechia",type:"facebook",name:"OpenStreetMap CZ on Facebook",countryCodes:["cz"],languageCodes:["cs","sk","en"],description:"Follow czech community on Facebook - including translated WeeklyOSM!",url:"https://www.facebook.com/osmcz",contacts:[{name:"osmcz",email:"dev@openstreetmap.cz"}]},"osmcz-twitter":{id:"osmcz-twitter",featureId:"czechia",type:"twitter",name:"Czech twitter @osmcz",countryCodes:["cz"],languageCodes:["cs","sk","en"],description:"Follow czech community on Twitter - including translated WeeklyOSM!",url:"https://twitter.com/osmcz",contacts:[{name:"osmcz",email:"dev@openstreetmap.cz"}]},"talk-cz-mailinglist":{id:"talk-cz-mailinglist",featureId:"czechia",type:"mailinglist",name:"Czech mailing list (talk-cz)",countryCodes:["cz"],languageCodes:["cs","sk","en"],description:"Talk-cz is the official mailing list for Czech community",url:"https://openstreetmap.cz/talkcz",contacts:[{name:"osmcz",email:"dev@openstreetmap.cz"}]},"dk-forum":{id:"dk-forum",type:"forum",featureId:"denmark",countryCodes:["dk"],languageCodes:["da"],name:"OpenStreetMap Denmark Web Forum",description:"OpenStreetMap Denmark web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=48",contacts:[{name:"Talk-dk-owner",email:"talk-dk-owner@openstreetmap.org"}]},"dk-irc":{id:"dk-irc",featureId:"denmark",type:"irc",name:"OpenStreetMap Denmark IRC",countryCodes:["dk"],languageCodes:["da"],description:"Join #osm-dk on irc.oftc.net (port 6667)",url:"https://webchat.oftc.net/?channels=osm-dk",contacts:[{name:"Talk-dk-owner",email:"talk-dk-owner@openstreetmap.org"}]},"dk-mailinglist":{id:"dk-mailinglist",featureId:"denmark",type:"mailinglist",name:"Talk-dk Mailing List",countryCodes:["dk"],languageCodes:["da"],description:"A mailing list to discuss OpenStreetMap in Denmark",url:"https://lists.openstreetmap.org/listinfo/talk-dk",contacts:[{name:"Talk-dk-owner",email:"talk-dk-owner@openstreetmap.org"}]},"ym-Queen-Mary-University-of-London":{type:"youthmappers",name:"Queen Mary YouthMappers",description:"YouthMappers chapter at Queen Mary University of London",id:"ym-Queen-Mary-University-of-London",featureId:"Queen-Mary-University-of-London",contacts:[{name:"Organizer",email:"youthmappers@qmul.ac.uk"}],extendedDescription:"This chapter will be part of the activities of the Queen Mary Geography Society.",countryCodes:["uk"],url:"https://www.facebook.com/groups/qmulgeographysociety/"},"fi-forum":{id:"fi-forum",featureId:"finland",type:"forum",countryCodes:["fi"],languageCodes:["fi"],name:"OpenStreetMap FI forum",description:"OpenStreetMap Finland web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=15",contacts:[{name:"Talk-fi administrator",email:"talk-fi-owner@openstreetmap.org"}]},"fi-irc":{id:"fi-irc",featureId:"finland",type:"irc",name:"OpenStreetMap Finland IRC",countryCodes:["fi"],languageCodes:["fi"],description:"Join #osm-fi on irc.oftc.net (port 6667)",url:"https://webchat.oftc.net/?channels=osm-fi",contacts:[{name:"Talk-fi administrator",email:"talk-fi-owner@openstreetmap.org"}]},"fi-mailinglist":{id:"fi-mailinglist",featureId:"finland",type:"mailinglist",name:"Talk-fi Mailing List",countryCodes:["fi"],languageCodes:["fi"],description:"Talk-fi is the official mailing list for the Finnish OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-fi",contacts:[{name:"Talk-fi administrator",email:"talk-fi-owner@openstreetmap.org"}]},"fr-facebook":{id:"fr-facebook",featureId:"france",type:"facebook",name:"OpenStreetMap France Facebook page",countryCodes:["fr"],languageCodes:["fr"],description:"OpenStreetMap France Facebook page",url:"https://www.facebook.com/osmfr",contacts:[{name:"OpenStreetMap France",email:"contact@openstreetmap.fr"}]},"fr-forum":{id:"fr-forum",type:"forum",featureId:"france",countryCodes:["fr"],languageCodes:["fr"],name:"OpenStreetMap France web forum",description:"OpenStreetMap France web forum",url:"https://forum.openstreetmap.fr/",contacts:[{name:"OpenStreetMap France",email:"contact@openstreetmap.fr"}]},"fr-irc":{id:"fr-irc",featureId:"france",type:"irc",name:"OpenStreetMap France on IRC",countryCodes:["fr"],languageCodes:["fr"],description:"Join #osm-fr on irc.oftc.net (port 6667)",url:"https://webchat.oftc.net/?channels=osm-fr",contacts:[{name:"OpenStreetMap France",email:"contact@openstreetmap.fr"}]},"fr-mailinglist":{id:"fr-mailinglist",featureId:"france",type:"mailinglist",name:"Talk-fr Mailing List",countryCodes:["fr"],languageCodes:["fr"],description:"Talk-fr mailing list",url:"https://lists.openstreetmap.org/listinfo/talk-fr",contacts:[{name:"OpenStreetMap France",email:"contact@openstreetmap.fr"}]},"fr-twitter":{id:"fr-twitter",featureId:"france",type:"twitter",name:"OpenStreetMap France on Twitter",countryCodes:["fr"],languageCodes:["fr"],description:"OpenStreetMap France on Twitter: {url}",url:"https://twitter.com/osm_fr",contacts:[{name:"OpenStreetMap France",email:"contact@openstreetmap.fr"}]},"de-berlin-mailinglist":{id:"de-berlin-mailinglist",featureId:"de-berlin-brandenburg",type:"mailinglist",name:"Berlin Mailing List",countryCodes:["de"],languageCodes:["de"],description:"This is the mailing list for the Berlin OSM community",url:"https://lists.openstreetmap.de/listinfo/berlin",contacts:[{name:"FOSSGIS e.V.",email:"info@fossgis.de"}]},"de-berlin-meetup":{id:"de-berlin-meetup",featureId:"de-berlin-brandenburg",type:"meetup",name:"OpenStreetMap Berlin-Brandenburg Meetup",countryCodes:["de"],languageCodes:["de"],description:"Mappers and OpenStreetMap users in the Berlin area",url:"https://www.meetup.com/OSM-Berlin-Brandenburg/",contacts:[{name:"Christopher Lorenz",email:"osm@lorenz.lu"}]},"de-berlin-telegram":{id:"de-berlin-telegram",featureId:"de-berlin-brandenburg",type:"telegram",name:"@osmberlin on Telegram",countryCodes:["de"],languageCodes:["de"],description:"OpenStreetMap Berlin Telegram chat",url:"https://t.me/osmberlin",contacts:[{name:"Christopher Lorenz",email:"osm@lorenz.lu"}]},"de-berlin-twitter":{id:"de-berlin-twitter",featureId:"de-berlin-brandenburg",type:"twitter",name:"OpenStreetMap Berlin Twitter",countryCodes:["de"],languageCodes:["de"],description:"Follow us on Twitter: {url}",url:"https://twitter.com/osmberlin",contacts:[{name:"Christopher Lorenz",email:"osm@lorenz.lu"}]},"de-forum":{id:"de-forum",featureId:"germany",type:"forum",countryCodes:["de"],languageCodes:["de"],name:"OpenStreetMap DE forum",description:"OpenStreetMap Germany web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=14",contacts:[{name:"FOSSGIS e.V.",email:"info@fossgis.de"}]},"de-irc":{id:"de-irc",featureId:"germany",type:"irc",name:"OpenStreetMap Germany IRC",countryCodes:["de"],languageCodes:["de"],description:"Join #osm-de on irc.oftc.net (port 6667)",url:"https://webchat.oftc.net/?channels=osm-de",contacts:[{name:"FOSSGIS e.V.",email:"info@fossgis.de"}]},"de-mailinglist":{id:"de-mailinglist",featureId:"germany",type:"mailinglist",name:"Talk-de Mailing List",countryCodes:["de"],languageCodes:["de"],description:"Talk-de is the official mailing list for the German OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-de",contacts:[{name:"FOSSGIS e.V.",email:"info@fossgis.de"}]},"de-ostwestfalen-lippe-mailinglist":{id:"de-ostwestfalen-lippe-mailinglist",featureId:"de-ostwestfalen-lippe",type:"mailinglist",name:"OWL Mailing List",countryCodes:["de"],languageCodes:["de"],description:"This is the mailing list for the Ostwestfalen-Lippe OSM community",url:"https://gt.owl.de/mailman/listinfo/osm",contacts:[{name:"Florian Lohoff",email:"osm-owner@gt.owl.de"}]},"de-telegram":{id:"de-telegram",featureId:"germany",type:"telegram",name:"OpenStreetMap Germany Telegram",countryCodes:["de"],languageCodes:["de"],description:"Join the OpenStreetMap Germany Telegram supergroup at {url}",url:"https://t.me/OSM_de",contacts:[{name:"Max N",email:"abonnements@revolwear.com"}]},"osm-de":{id:"osm-de",featureId:"germany",type:"group",countryCodes:["de"],languageCodes:["de"],name:"OpenStreetMap Germany",description:"The platform for information on OpenStreetMap in Germany",url:"https://www.openstreetmap.de/",contacts:[{name:"FOSSGIS e.V.",email:"info@fossgis.de"}]},"ym-Heidelberg-University":{type:"youthmappers",name:"disastermappers heidelberg",description:"YouthMappers chapter at Heidelberg University",id:"ym-Heidelberg-University",featureId:"Heidelberg-University",contacts:[{name:"Organizer",email:"disastermappers@posteo.de"}],extendedDescription:"Disastermappers Heidelberg was founded in 2014 as a student initiative to build a platform for exchange between students, researchers and humanitarian actors. Disastermappers are a member of Missing Maps and are organizing mapathons, workshops and webinars in Heidelberg and beyond and support HOT and Missing Maps through research and applications.",countryCodes:["de"],url:"https://disastermappers.wordpress.com/"},"hu-facebook":{id:"hu-facebook",featureId:"hungary",type:"facebook",name:"OpenStreetMap HU on Facebook",countryCodes:["hu"],languageCodes:["hu"],description:"Mappers and OpenStreetMap Facebook in Hungary",url:"https://www.facebook.com/groups/osm.hu/",contacts:[{name:"Ferenc Veres",email:"info@openstreetmap.hu"}]},"hu-forum":{id:"hu-forum",featureId:"hungary",type:"forum",countryCodes:["hu"],languageCodes:["hu"],name:"OpenStreetMap HU forum",description:"OpenStreetMap Hungary web forum",url:"https://groups.google.com/forum/#!forum/openstreetmap-hungary",contacts:[{name:"Ferenc Veres",email:"info@openstreetmap.hu"}]},"hu-meetup":{id:"hu-meetup",featureId:"hungary",type:"meetup",countryCodes:["hu"],languageCodes:["hu"],name:"OpenStreetMap Hungary Meetup",description:"The platform for organizing meetups in Hungary",url:"https://www.meetup.com/OpenStreetMap-Hungary",contacts:[{name:"Ferenc Veres",email:"info@openstreetmap.hu"}]},"is-facebook":{id:"is-facebook",type:"facebook",featureId:"iceland",countryCodes:["is"],languageCodes:["is","en"],name:"OSM Iceland on Facebook",description:"Page of OpenStreetMap in Iceland",url:"https://www.facebook.com/osmiceland/",contacts:[{name:"Talk-is-owner",email:"talk-is-owner@openstreetmap.org"}]},"is-mailinglist":{id:"is-mailinglist",type:"mailinglist",featureId:"iceland",countryCodes:["is"],languageCodes:["is","en"],name:"Talk-is Mailing List",description:"Talk-is is the official mailing list for the Icelandic OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-is",contacts:[{name:"Talk-is-owner",email:"talk-is-owner@openstreetmap.org"}]},"is-twitter":{id:"is-twitter",type:"twitter",featureId:"iceland",countryCodes:["is"],languageCodes:["is","en"],name:"OSM Iceland on Twitter",description:"Twitter of OpenStreetMap in Iceland",url:"https://twitter.com/openstreetmapis",contacts:[{name:"Talk-is-owner",email:"talk-is-owner@openstreetmap.org"}]},"it-facebook":{id:"it-facebook",featureId:"italy",type:"facebook",name:"OpenStreetMap Italy Facebook",countryCodes:["it"],languageCodes:["it"],description:"Join the OpenStreetMap Italy community on Facebook",url:"https://www.facebook.com/OpenStreetMap.Italia/",contacts:[{name:"Simone Cortesi",email:"simone@cortesi.com"},{name:"Stefano",email:"sabas88@gmail.com"},{name:"Alessandro Palmas",email:"alessandro.palmas@wikimedia.it"}]},"it-irc":{id:"it-irc",featureId:"italy",type:"irc",name:"OpenStreetMap Italy IRC",countryCodes:["it"],languageCodes:["it"],description:"Join #osm-it on irc.oftc.net (port 6667)",url:"https://webchat.oftc.net/?channels=osm-it",contacts:[{name:"Simone Cortesi",email:"simone@cortesi.com"},{name:"Stefano",email:"sabas88@gmail.com"},{name:"Alessandro Palmas",email:"alessandro.palmas@wikimedia.it"}]},"it-mailinglist":{id:"it-mailinglist",featureId:"italy",type:"mailinglist",name:"Talk-it Mailing List",countryCodes:["it"],languageCodes:["it"],description:"Talk-it is the official mailing list for the Italian OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-it",contacts:[{name:"Simone Cortesi",email:"simone@cortesi.com"},{name:"Stefano",email:"sabas88@gmail.com"},{name:"Alessandro Palmas",email:"alessandro.palmas@wikimedia.it"}]},"it-telegram":{id:"it-telegram",type:"telegram",featureId:"italy",countryCodes:["it"],languageCodes:["it"],name:"@OpenStreetMapItalia on Telegram",description:"OpenStreetMap Italy Telegram chat",url:"https://t.me/OpenStreetMapItalia",contacts:[{name:"Simone Cortesi",email:"simone@cortesi.com"},{name:"Stefano",email:"sabas88@gmail.com"},{name:"Alessandro Palmas",email:"alessandro.palmas@wikimedia.it"}]},"it-twitter":{id:"it-twitter",featureId:"italy",type:"twitter",name:"OpenStreetMap Italy Twitter",countryCodes:["it"],languageCodes:["it"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/OpenStreetMapIt",contacts:[{name:"Simone Cortesi",email:"simone@cortesi.com"},{name:"Stefano",email:"sabas88@gmail.com"},{name:"Alessandro Palmas",email:"alessandro.palmas@wikimedia.it"}]},"OSM-Rome-meetup":{id:"OSM-Rome-meetup",featureId:"IT_Roma_Capitale",type:"group",name:"Incontro Mappatori Romani",countryCodes:["it"],languageCodes:["it"],description:"Improve OpenStreetMap in the Rome area",extendedDescription:"We aim to be a resource for people to discuss and share knowledge on utilizing free geographic data sets especially OpenStreetMap, and Open geo-spatial software that manages, edits, and displays geographic data, and advocate for its use in Lazio.",url:"https://wiki.openstreetmap.org/wiki/Rome/Incontro",contacts:[{name:"Martin Koppenhoefer",email:"dieterdreist@gmail.com"}]},"South-Tyrol-Mailing-List":{id:"South-Tyrol-Mailing-List",featureId:"south_tyrol",type:"mailinglist",countryCodes:["it"],languageCodes:["de","it","lld","en"],name:"OpenStreetMap mailing list for South Tyrol",description:"OpenStreetMap Italy regional talk list for South Tyrol",url:"https://lists.openstreetmap.org/listinfo/talk-it-southtyrol",contacts:[{name:"Martin Raifer",email:"tyr.asd@gmail.com"}]},"talk-it-lazio":{id:"talk-it-lazio",featureId:"IT_Lazio",type:"mailinglist",countryCodes:["it"],languageCodes:["it"],name:"OpenStreetMap IT Lazio",description:"All are welcome! Sign up at {signupUrl}",extendedDescription:"Mailinglist for Rome and Lazio area.",signupUrl:"https://lists.openstreetmap.org/listinfo/talk-it-lazio",url:"https://lists.openstreetmap.org/listinfo/talk-it-lazio",contacts:[{name:"Martin Koppenhoefer",email:"dieterdreist@gmail.com"}]},"Trentino-Mailing-List":{id:"Trentino-Mailing-List",featureId:"trentino",type:"mailinglist",countryCodes:["it"],languageCodes:["it"],name:"OpenStreetMap mailing list for Trentino",description:"OpenStreetMap Italy regional talk list for Trentino",url:"https://lists.openstreetmap.org/listinfo/talk-it-trentino",contacts:[{name:"Luca Delucchi",email:"lucadeluge@gmail.com"}]},"ym-Politecnico-di-Milano":{type:"youthmappers",name:"PoliMappers",description:"YouthMappers chapter at Politecnico di Milano",id:"ym-Politecnico-di-Milano",featureId:"Politecnico-di-Milano",contacts:[{name:"Organizer",email:"polimappers@gmail.com"}],extendedDescription:"PoliMappers is a volunteer students’ association based at Politecnico di Milano. The mission of the group is to train and motivate the next generation of volunteer mappers and to do mapping using free and open source software within the university as well as primary and secondary schools.",countryCodes:["it"],url:"https://polimappers.github.io/"},"ym-Yarmouk-University":{type:"youthmappers",name:"YouthMappers at YU",description:"YouthMappers chapter at Yarmouk University",id:"ym-Yarmouk-University",featureId:"Yarmouk-University",contacts:[{name:"Organizer",email:"rnjawarneh@yu.edu.jo"}],extendedDescription:"YouthMappers chapter at YU is the first mapping group in the Middle East and North Africa region where refugees, drought, and poverty are rising crises and in urgent need for humanitarian mapping  activities to mitigate the consequences of such crises. YU Mappers are encouraged to use open data to address challenges in MENA region to bring relief and development to target areas within the region.",countryCodes:["jo"],url:"mailto:rnjawarneh@yu.edu.jo"},"kosovo-telegram":{id:"kosovo-telegram",type:"telegram",featureId:"kosovo",countryCodes:["xk"],languageCodes:["sq","sr","en"],name:"OpenStreetMap Kosovo on Telegram",description:"Semi-official all-Kosovo Telegram public group. We welcome all mappers from anywhere in any language.",url:"https://t.me/osmkosovo",contacts:[{name:"Guillaume Rischard",email:"guillaumenospam@openstreetmapnospam.lu"}]},"lu-mailinglist":{id:"lu-mailinglist",featureId:"luxembourg_full",type:"mailinglist",name:"Talk-lu Mailing List",countryCodes:["lu"],languageCodes:["lb","en","de","fr"],description:"Official mailing list for the Luxembourgish OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-lu",contacts:[{name:"David Morais Ferreira",email:"contact@openstreetmap.lu"}]},"ym-Universit-Mohammed-V-Rabat":{type:"youthmappers",name:"Brahmapoutre at Rabat",description:"YouthMappers chapter at Université Mohammed V Rabat",id:"ym-Universit-Mohammed-V-Rabat",featureId:"Universit-Mohammed-V-Rabat",contacts:[{name:"Organizer",email:"khmichasma@gmail.com"}],extendedDescription:"This chapter sees participation in the YouthMappers program as an oppourtunity to share our knowlege create new working relationships with other chapters in different countries",countryCodes:["ma"],url:"mailto:khmichasma@gmail.com"},"no-forum":{id:"no-forum",type:"forum",featureId:"norway",countryCodes:["no"],languageCodes:["no"],name:"OpenStreetMap Norway Web Forum",description:"OpenStreetMap Norway web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=68",contacts:[{name:"OpenStreetMap Norway",email:"kart@nuug.no"}]},"no-irc":{id:"no-irc",featureId:"norway",type:"irc",name:"OpenStreetMap Norway on IRC",countryCodes:["no"],languageCodes:["no"],description:"Chat room for mappers and OpenStreetMap users, developers and enthusiasts in Norway",contacts:[{name:"OpenStreetMap Norway",email:"kart@nuug.no"}],url:"https://webchat.oftc.net/?channels=osm-no"},"no-mailinglist":{id:"no-mailinglist",featureId:"norway",type:"mailinglist",name:"OpenStreetMap Norway mailing list",countryCodes:["no"],languageCodes:["no"],description:"Mailing list for mappers and OpenStreetMap users, developers and enthusiasts in Norway",contacts:[{name:"OpenStreetMap Norway",email:"kart@nuug.no"}],url:"https://lists.nuug.no/mailman/listinfo/kart"},"no-telegram":{id:"no-telegram",type:"telegram",featureId:"norway",countryCodes:["no"],languageCodes:["no"],name:"@OSM_no on Telegram",description:"OpenStreetMap Norway Telegram chat",url:"https://t.me/OSM_no",contacts:[{name:"Syver Stensholt",email:"sssandum@gmail.com"}]},"OSM-PL-facebook-group":{id:"OSM-PL-facebook-group",type:"facebook",featureId:"poland",countryCodes:["pl"],languageCodes:["pl"],name:"OpenStreetMap Poland Facebook group",description:"Group for mappers and users of OpenStreetMap in Poland",url:"https://www.facebook.com/groups/500589303317858/",contacts:[{name:"Michał Brzozowski",email:"www.haxor@gmail.com"}]},"OSM-PL-forum":{id:"OSM-PL-forum",type:"forum",featureId:"poland",countryCodes:["pl"],languageCodes:["pl","en"],name:"OpenStreetMap Poland Forum",description:"Forum of Polish OpenStreetMap community",url:"https://forum.openstreetmap.org/viewforum.php?id=23",contacts:[{name:"Daniel Koć",email:"daniel@xn--ko-wla.pl"},{name:"Ryszard Mikke",email:"ryszard.mikke@gmail.com"}]},"pt-mailinglist":{id:"pt-mailinglist",featureId:"portugal_full",type:"mailinglist",name:"Talk-pt Mailing List",countryCodes:["pt"],languageCodes:["pt"],description:"Talk-pt is the official mailing list for the Portuguese OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-pt",contacts:[{name:"Nuno Caldeira",email:"hello@iamnunocaldeira.com"}]},"pt-telegram":{id:"pt-telegram",featureId:"portugal_full",type:"telegram",name:"OpenStreetMap Portugal no Telegram",countryCodes:["pt"],languageCodes:["pt"],description:"Telegram Group of the Portuguese OpenStreetMap community {url}",url:"https://t.me/OSMPortugal",contacts:[{name:"Nuno Caldeira",email:"hello@iamnunocaldeira.com"}]},"si-forum":{id:"si-forum",type:"forum",featureId:"slovenia",countryCodes:["si"],languageCodes:["sl","en"],name:"OpenStreetMap Slovenia Forum",description:"Forum of OpenStreetMap community in Slovenia",url:"https://forum.openstreetmap.org/viewforum.php?id=58",contacts:[{name:"OpenStreetMap Slovenia",email:"talk-si@openstreetmap.org"}]},"si-mailinglist":{id:"si-mailinglist",type:"mailinglist",featureId:"slovenia",countryCodes:["si"],languageCodes:["sl","en"],name:"OpenStreetMap Slovenia mailing list",description:"Mailing list of OpenStreetMap community in Slovenia",url:"https://lists.openstreetmap.org/listinfo/talk-si",contacts:[{name:"OpenStreetMap Slovenia",email:"talk-si@openstreetmap.org"}]},"si-twitter":{id:"si-twitter",featureId:"slovenia",type:"twitter",name:"OpenStreetMap Slovenia Twitter",countryCodes:["si"],languageCodes:["sl","en"],description:"Follow OpenStreetMap Slovenia On Twitter: {url}",url:"https://twitter.com/OpenStreetMapSi",contacts:[{name:"OpenStreetMap Slovenia",email:"talk-si@openstreetmap.org"}]},"OSM-ES-mailinglist":{id:"OSM-ES-mailinglist",type:"mailinglist",featureId:"spain",languageCodes:["es"],name:"Talk-es mailing list",description:"A mailing list to discuss OpenStreetMap in Spain",url:"https://lists.openstreetmap.org/listinfo/talk-es",contacts:[{name:"Iván Sánchez",email:"ivansanchez@escomposlinux.org"}]},"OSM-ES-telegram":{id:"OSM-ES-telegram",type:"telegram",featureId:"spain",languageCodes:["es"],name:"@OSMes on Telegram",description:"OpenStreetMap Spain Telegram chat",url:"https://t.me/OSMes",contacts:[{name:"Jorge Sanz",email:"sanchi2@gmail.com"}]},"ym-Universidad-Autonoma-de-Madrid":{type:"youthmappers",name:"YouthMappers at UAM",description:"YouthMappers chapter at Universidad Autonoma de Madrid",id:"ym-Universidad-Autonoma-de-Madrid",featureId:"Universidad-Autonoma-de-Madrid",contacts:[{name:"Organizer",email:"youthmappersatuam@gmail.com"}],countryCodes:["es"],url:"mailto:youthmappersatuam@gmail.com"},"ym-Universidad-Politcnica-de-Madrid":{type:"youthmappers",name:"Mapeo Humanitario",description:"YouthMappers chapter at Universidad Politécnica de Madrid",id:"ym-Universidad-Politcnica-de-Madrid",featureId:"Universidad-Politcnica-de-Madrid",contacts:[{name:"Organizer",email:"lab.topografia@gmail.com"}],extendedDescription:"Geo-volunteering group formed at Moncloa Campus on November 2017. Around 20 members from three Universities (Complutense, CEU and UPM). Undergraduate students, MSc and PhD students collaborate together with organizations (MSF, Acción contra el Hambre,...) supported by trainers from Geoinquietos. Official recognition by UPM as Educative Innovation Project (Code  IE1718.0411)",countryCodes:["es"],url:"https://blogs.upm.es/mapeo-humanitario/"},"osm-se":{id:"osm-se",featureId:"sweden",type:"group",countryCodes:["se"],languageCodes:["sv"],name:"OpenStreetMap.se",description:"Provide OSM services and information for the local community in Sweden",url:"http://openstreetmap.se/",contacts:[{name:"Talk-se-owner",email:"talk-se-owner@openstreetmap.org"}]},"se-facebook":{id:"se-facebook",featureId:"sweden",type:"facebook",name:"OpenStreetMap Sweden Facebook",countryCodes:["se"],languageCodes:["sv"],description:"OpenStreetMap Sweden on Facebook",url:"https://www.facebook.com/groups/osmsweden/",contacts:[{name:"Talk-se-owner",email:"talk-se-owner@openstreetmap.org"}]},"se-forum":{id:"se-forum",type:"forum",featureId:"sweden",countryCodes:["se"],languageCodes:["sv"],name:"OpenStreetMap Sweden Web Forum",description:"OpenStreetMap Sweden web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=4",contacts:[{name:"Talk-se-owner",email:"talk-se-owner@openstreetmap.org"}]},"se-irc":{id:"se-irc",featureId:"sweden",type:"irc",name:"OpenStreetMap Sweden IRC",countryCodes:["se"],languageCodes:["sv"],description:"Join #osm.se on irc.oftc.net (port 6667)",url:"https://webchat.oftc.net/?channels=osm.se",contacts:[{name:"Talk-se-owner",email:"talk-se-owner@openstreetmap.org"}]},"se-mailinglist":{id:"se-mailinglist",featureId:"sweden",type:"mailinglist",name:"Talk-se Mailing List",countryCodes:["se"],languageCodes:["sv"],description:"A mailing list to discuss OpenStreetMap in Sweden",url:"https://lists.openstreetmap.org/listinfo/talk-se",contacts:[{name:"Talk-se-owner",email:"talk-se-owner@openstreetmap.org"}]},"se-twitter":{id:"se-twitter",featureId:"sweden",type:"twitter",name:"OpenStreetMap Sweden on Twitter",countryCodes:["se"],languageCodes:["sv"],description:"Follow us on Twitter: {url}",url:"https://twitter.com/openstreetmapse",contacts:[{name:"Talk-se-owner",email:"talk-se-owner@openstreetmap.org"}]},"ym-Istanbul-Technical-University":{type:"youthmappers",name:"YouthMappers ITU",description:"YouthMappers chapter at Istanbul Technical University",id:"ym-Istanbul-Technical-University",featureId:"Istanbul-Technical-University",contacts:[{name:"Organizer",email:"youthmappersitu@gmail.com"}],extendedDescription:"YouthMappers ITU is an interdisciplinary and collaborative student community to promote humanitarian mapping for vulnerable settlements and aims to develop and share strategic and innovative spatial information for the future cities by using geographical information systems and open data.",countryCodes:["tr"],url:"https://www.facebook.com/YouthMappers-ITU-226489641442744/?modal=admin_todo_tour"},"Nottingham-OSM-pub-meetup":{id:"Nottingham-OSM-pub-meetup",featureId:"east_midlands_uk",type:"group",name:"East Midlands (Nottingham) Monthly pub meet-up",countryCodes:["gb"],languageCodes:["en"],description:"Social gathering for East Midlands mappers and users",extendedDescription:"A group have been meeting since March 2011, initially in Nottingham, and, more recently in Derby, and from time to time elsewhere in the East Midlands. These are social gatherings, but are an excellent place to come and ask specific questions about OSM either in the area or in general. In the summer months we usually do some light mapping for an hour in the vicinity of our meeting place. The group as a whole has a special interest in mapping public rights of way and from time to time has mapping meetings for this purpose.",url:"https://wiki.openstreetmap.org/wiki/Nottingham/Pub-meetup",contacts:[{name:"Jerry Clough",email:"SK53.osm@gmail.com"}]},"gb-mailinglist":{id:"gb-mailinglist",featureId:"united_kingdom",type:"mailinglist",name:"Talk-gb Mailing List",countryCodes:["gb"],languageCodes:["en","cy"],description:"Talk-gb is the main communication forum list for the British (including Northern Ireland) OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-gb",contacts:[{name:"UK mailing list",email:"talk-gb-owner@lists.openstreetmap.org"}]},"mappa-mercia-group":{id:"mappa-mercia-group",featureId:"england-west-midlands",type:"group",countryCodes:["gb"],languageCodes:["en"],name:"Mappa Mercia local group",description:"A home for OpenStreetMap enthusiasts in the Midlands",extendedDescription:"Mappa Mercia is a project to grow OpenStreetMap in the West Midlands, UK. We run community events, provide training and support local organisations wishing to open up their data.",url:"http://www.mappa-mercia.org/",contacts:[{name:"Brian Prangle",email:"community@mappa-mercia.org"}]},"gb-irc":{id:"gb-irc",featureId:"united_kingdom",type:"irc",name:"OpenStreetMap United Kingdom IRC",countryCodes:["gb"],languageCodes:["en","cy"],description:"Join #osm-gb on irc.oftc.net (port 6667)",extendedDescription:"Join #osm-gb on irc.oftc.net (port 6667), please be patient and wait for a few minutes if you ask a question",url:"https://webchat.oftc.net/?channels=osm-gb",contacts:[{name:"UK mailing list",email:"talk-gb-owner@lists.openstreetmap.org"}]},"ym-University-of-Exeter":{type:"youthmappers",name:"University of Exeter British Red Cross Missing Maps",description:"YouthMappers chapter at University of Exeter",id:"ym-University-of-Exeter",featureId:"University-of-Exeter",contacts:[{name:"Organizer",email:"uniofexemissingmaps@gmail.com"}],extendedDescription:"We are a team of enthusiastic Geographers with comprehensive knowledge of GIS. We are passionate about supporting the British Red Cross Society with various humanitarian aid efforts. We are also important teachers of the significance of mapping remotely sensed data and how this helps on the ground. Our mapathons have themed academic focuses that highlight the different GIS research in our geography department, while also functioning as employability awareness events which we use to invite speakers in to talk about their GIS/British Red Cross careers.",countryCodes:["uk"],url:"https://www.facebook.com/EUMissingMaps/"},"ym-University-of-Warwick":{type:"youthmappers",name:"University of Warwick Resilience Mapping Society",description:"YouthMappers chapter at University of Warwick",id:"ym-University-of-Warwick",featureId:"University-of-Warwick",contacts:[{name:"Organizer",email:"p.ulbrich@warwick.ac.uk"}],extendedDescription:"We are a group of enthusiastic mappers based at Warwick University. Our aim is to get people excited about humanitarian mapping and help them understand the impact this activity has on the field. We are closely aligned with Missing Maps and Doctors Without Borders UK and focus on HOT tasks in our mapping activities and workshops. Our mapathons are listed on the Missing Maps page whenever they are scheduled.",countryCodes:["uk"],url:"mailto:p.ulbrich@warwick.ac.uk"},"ym-Sacred-Heart-Junior-College":{type:"youthmappers",name:"Youth Mappers at Sacred Heart Junior College",description:"YouthMappers chapter at Sacred Heart Junior College",id:"ym-Sacred-Heart-Junior-College",featureId:"Sacred-Heart-Junior-College",contacts:[{name:"Organizer",email:"jtzib18@gmail.com"}],countryCodes:["bz"],url:"mailto:jtzib18@gmail.com"},"OSM-CA-Slack":{id:"OSM-CA-Slack",featureId:"canada_full",type:"slack",countryCodes:["ca"],languageCodes:["en","fr"],name:"OSM-CA Slack",description:"All are welcome! Sign up at {signupUrl}.",signupUrl:"https://slackinviteosmcanada.herokuapp.com/",url:"https://osm-ca.slack.com/",contacts:[{name:"Denis Carriere",email:"carriere.denis@gmail.com"}]},"OSM-Vancouver-meetup":{id:"OSM-Vancouver-meetup",featureId:"vancouver_metro",type:"meetup",name:"OpenStreetMap Vancouver",countryCodes:["ca"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Vancouver, BC area",url:"https://www.meetup.com/OpenStreetMap-Vancouver/",contacts:[{name:"Paul Norman",email:"penorman@mac.com"},{name:"Peter Chin",email:"bpchin@gmail.com"}],events:[{name:"April Metrotown Mappy Hour",description:"Mappy Hour is the time and place for discussion of OpenStreetMap, from surveying data to consuming data. Beginners welcome. Bring your questions.",when:"2018-04-27 18:30",where:"Firefighters' Public House, 6515 Bonsor Avenue, Burnaby, BC",url:"https://www.meetup.com/OpenStreetMap-Vancouver/events/qzsbsmyxgbkc/"}]},"ym-Universidad-de-Costa-Rica":{type:"youthmappers",name:"YouthMappers de Universidad de Costa Rica",description:"YouthMappers chapter at Universidad de Costa Rica",id:"ym-Universidad-de-Costa-Rica",featureId:"Universidad-de-Costa-Rica",contacts:[{name:"Organizer",email:"youthmappersucr@gmail.com"}],extendedDescription:"YouthMappers de Universidad de Costa Rica nace en función de acción social para y por miembros de comunidades distintas según temáticas de involucramiento, interacción y representación de variables dentro de un espacio geográfico definido (un territorio) Gracias a las herramientas de OpenStreetMaps tenemos la viabilidad de poder obtener, validar y compartir la información generada para comprobación y uso destinadas a las comunidades o el interesado en tales temáticas objetivas.",countryCodes:["cr"],url:"https://www.facebook.com/ucr.asege/"},"OSM-CU-telegram":{id:"OSM-CU-telegram",type:"telegram",featureId:"cuba",countryCodes:["cu"],languageCodes:["es"],name:"OSM Cuba on Telegram",description:"OpenStreetMap Cuba Telegram chat",url:"https://telegram.me/OSM_Cuba",contacts:[{name:"Talk-cu Owner",email:"talk-cu-owner@openstreetmap.org"}]},"ym-Universidad-Nacional-Autnoma-de-Honduras":{type:"youthmappers",name:"PumaGis Hn",description:"YouthMappers chapter at Universidad Nacional Autónoma de Honduras",id:"ym-Universidad-Nacional-Autnoma-de-Honduras",featureId:"Universidad-Nacional-Autnoma-de-Honduras",contacts:[{name:"Organizer",email:"pumagishn@gmail.com"}],countryCodes:["hn"],url:"mailto:pumagishn@gmail.com"},"ym-University-of-the-West-Indies-Mona-Campus":{type:"youthmappers",name:"Libraries Outreach - ODL",description:"YouthMappers chapter at University of the West Indies, Mona Campus",id:"ym-University-of-the-West-Indies-Mona-Campus",featureId:"University-of-the-West-Indies-Mona-Campus",contacts:[{name:"Organizer",email:"benjamin.branch@uwimona.edu.jm"}],extendedDescription:"The UWI, Mona Campus Library engages in public, outreach and special projects. This will allow our library the means to be a catalyst for spatial literacy and advocate for spatial data sharing and access to Jamaican and Caribbean interests. We have disaster relief and communication needs and   extensive earth science and geo-hazards needs to better serve our campus and community. Specifically, we hace a Science Library to showcase such to all faculty and students.",countryCodes:["jm"],url:"mailto:benjamin.branch@uwimona.edu.jm"},"ni-facebook":{id:"ni-facebook",featureId:"nicaragua",type:"facebook",name:"OpenStreetMap NI Community",countryCodes:["ni"],languageCodes:["es"],description:"Mappers and OpenStreetMap on Facebook in Nicaragua",url:"https://www.facebook.com/mapanica/",contacts:[{name:"NI Community",email:"talk-ni-owner@openstreetmap.org"}]},"ni-mailinglist":{id:"ni-mailinglist",featureId:"nicaragua",type:"mailinglist",name:"Talk-ni Mailing List",countryCodes:["ni"],languageCodes:["es"],description:"Talk-ni is the official mailing list for the Nicaraguan OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-ni",contacts:[{name:"NI Community",email:"talk-ni-owner@openstreetmap.org"}]},"ni-telegram":{id:"ni-telegram",type:"telegram",featureId:"nicaragua",countryCodes:["ni"],languageCodes:["es"],name:"OSM Nicaragua on Telegram",description:"OpenStreetMap Nicaragua Telegram chat",url:"https://telegram.me/mapanica",contacts:[{name:"NI Community",email:"talk-ni-owner@openstreetmap.org"}]},"ni-twitter":{id:"ni-twitter",featureId:"nicaragua",type:"twitter",name:"OpenStreetMap Nicaragua Twitter",countryCodes:["ni"],languageCodes:["es"],description:"OSM Nicaragua on Twitter: @osm_ni",url:"https://twitter.com/osm_ni",contacts:[{name:"NI Community",email:"talk-ni-owner@openstreetmap.org"}]},"osm-ni":{id:"osm-ni",featureId:"nicaragua",type:"group",countryCodes:["ni"],languageCodes:["es"],name:"MapaNica.net",description:"Provide OSM services and information for the local community in Nicaragua",url:"https://www.mapanica.net/",contacts:[{name:"NI Community",email:"talk-ni-owner@openstreetmap.org"}]},"ym-Universidad-Nacional-de-Ingenieria":{type:"youthmappers",name:"Yeka Street MGA",description:"YouthMappers chapter at Universidad Nacional de Ingenieria",id:"ym-Universidad-Nacional-de-Ingenieria",featureId:"Universidad-Nacional-de-Ingenieria",contacts:[{name:"Organizer",email:"yeka.street.mga@gmail.com"}],extendedDescription:"YEKA STREET is a work team constituted by students from Universidad Nacional de Ingenieria at Managua, Nicaragua. With the principal purpose of apply our knowledge and skills using many tools and apps to map areas in our cities and contribute to the development community projects and disasters relieve plans. We want to lead the way adding more students from all careers and universities in our country to join us at this cause, increasing in this way the life level and reducing the population vulnerability.",countryCodes:["ni"],url:"https://www.facebook.com/yekastreetmga/"},"ym-University-of-Panama":{type:"youthmappers",name:"YouthMappers UP",description:"YouthMappers chapter at University of Panama",id:"ym-University-of-Panama",featureId:"University-of-Panama",contacts:[{name:"Organizer",email:"youthmappers.up@gmail.com"}],extendedDescription:"Student mappers in Panama work with open spatial data to help identify, define, address, and create meaning about locally defined development challenges. They collaborate with students from other countries on community mapping topics from ecotourism to food security, from biodiversity to indigenous issues, promoting a humanistic vision through scientific perspectives.",countryCodes:["pa"],url:"mailto:Youthmappers.up@gmail.com"},"ym-Universidad-de-Puerto-Rico-Rio-Piedras":{type:"youthmappers",name:"UPR YouthMappers",description:"YouthMappers chapter at Universidad de Puerto Rico - Rio Piedras",id:"ym-Universidad-de-Puerto-Rico-Rio-Piedras",featureId:"Universidad-de-Puerto-Rico-Rio-Piedras",contacts:[{name:"Organizer",email:"carlosguilbe@gmail.com"}],countryCodes:["pa"],url:"mailto:carlosguilbe@gmail.com"},"Bay-Area-OpenStreetMappers":{id:"Bay-Area-OpenStreetMappers",featureId:"sf_bay_area",type:"meetup",name:"Bay Area OpenStreetMappers",countryCodes:["us"],languageCodes:["en"],description:"Improve OpenStreetMap in the Bay Area",extendedDescription:"This group is about growing the OpenStreetMap community here in the Bay Area. Our events are open to everyone, from open source enthusiasts, cyclists, GIS professionals, geocachers, and beyond. Anyone and everyone who is interested in maps, map making and free map data is welcome to join our group as well as attend our events.",url:"https://www.meetup.com/Bay-Area-OpenStreetMappers/",contacts:[{name:"Ben Discoe",email:"bdiscoe@gmail.com"}]},"Central-Pennsylvania-OSM":{id:"Central-Pennsylvania-OSM",featureId:"central_pa",type:"facebook",name:"Central Pennsylvania OSM",countryCodes:["us"],languageCodes:["en"],description:"Online mapping community based out of State College, PA",url:"https://www.facebook.com/CentralPennsylvaniaOSM",contacts:[{name:"Sterling Quinn",email:"sdq107@psu.edu"}]},"Code-for-San-Jose-Slack":{id:"Code-for-San-Jose-Slack",featureId:"south_sf_bay_area",type:"slack",countryCodes:["us"],languageCodes:["en"],name:"Code for San Jose Slack",description:"All are welcome! Sign up at {signupUrl}, then join the #osm channel.",signupUrl:"https://slackin-c4sj.herokuapp.com/",url:"https://codeforsanjose.slack.com/",contacts:[{name:"OSM Bay Area mailing list",email:"talk-us-sfbay@openstreetmap.org"}]},"Dallas-Fort-Worth-OSM":{id:"Dallas-Fort-Worth-OSM",featureId:"dfw_metro",type:"group",name:"Dallas-Fort Worth OSM",countryCodes:["us"],languageCodes:["en"],description:"The OpenStreetMap user group for Dallas-Fort Worth",extendedDescription:"Dallas, Fort Worth, and all the cities in between are abounding with creative and tech-savvy people. The vision for this usergroup is to find new ways to use the amazing resource of OSM.",url:"http://dfwosm.org/",contacts:[{name:"Andrew Matheny",email:"andrewdmatheny@gmail.com"}]},GeoPhilly:{id:"GeoPhilly",featureId:"philly_metro",type:"meetup",name:"GeoPhilly",countryCodes:["us"],languageCodes:["en"],description:"Meetup for map enthusiasts in the Philadelphia area",extendedDescription:"GeoPhilly unites developers, geographers, data geeks, open source enthusiasts, civic hackers and map addicts in our shared love of maps and the stories they tell. If you use maps as part of your work or just want to learn more, this is the meetup for you!  Our events aim to be open, friendly, educational and social and range from happy hours to lightning talks or even workshops. Come create a diverse, inspiring geospatial community in the Philadelphia with us!",url:"https://www.meetup.com/GeoPhilly/",contacts:[{name:"Dan Ford",email:"dford@azavea.com"}]},MapMinnesota:{id:"MapMinnesota",featureId:"minneapolis_st_paul_metro",type:"meetup",name:"MapMinnesota",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap enthusiasts in the Twin Cities area",extendedDescription:"Connecting OpenStreetMap enthusiasts in Minnesota and the Twin Cities!",url:"https://www.meetup.com/Map-Minnesota/",contacts:[{name:"Ian Dees",email:"ian.dees@gmail.com"}]},"Mapping-DC-meetup":{id:"Mapping-DC-meetup",featureId:"dc_metro",type:"meetup",name:"Mapping DC",countryCodes:["us"],languageCodes:["en"],description:"Improve OpenStreetMap in the DC area",extendedDescription:"We are a group of volunteer mappers who aim to improve the OpenStreetMap in the DC area. We also aim to teach others about the OSM ecosystem, data analytics, cartography, and GIS. We gather every other month at meetups to focus on one area of our city.",url:"https://mappingdc.org/",contacts:[{name:"Brian DeRocher",email:"brian@derocher.org"}],events:[{name:"April Meetup",description:"Meets every other month on the 2nd Tuesday",when:"2018-04-10 18:00",where:"Capitol City Brewing Company, 1100 New York Ave NW, Washington, DC",url:"https://www.meetup.com/MappingDC/events/qqvnvhyxgbnb/"},{name:"June Meetup",description:"Meets every other month on the 2nd Tuesday",when:"2018-06-12 18:00",where:"Capitol City Brewing Company, 1100 New York Ave NW, Washington, DC",url:"https://www.meetup.com/MappingDC/events/qqvnvhyxjbqb/"},{name:"August Meetup",description:"Meets every other month on the 2nd Tuesday",when:"2018-08-14 18:00",where:"Capitol City Brewing Company, 1100 New York Ave NW, Washington, DC",url:"https://www.meetup.com/MappingDC/events/qqvnvhyxlbsb/"},{name:"October Meetup",description:"Meets every other month on the 2nd Tuesday",when:"2018-10-09 18:00",where:"Capitol City Brewing Company, 1100 New York Ave NW, Washington, DC",url:"https://www.meetup.com/MappingDC/events/qqvnvhyxnbmb/"}]},"Maptime-ME-meetup":{id:"Maptime-ME-meetup",featureId:"portland_me",type:"meetup",name:"MaptimeME",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users, around Portland, ME",extendedDescription:"Maptime is, rather literally, time for mapmaking.  Our mission is to open the doors of cartographic possibility to anyone interested by creating a time and space for collaborative learning, exploration, and map creation using mapping tools and technologies.",url:"https://www.meetup.com/MaptimeME/",contacts:[{name:"Malcolm Toon",email:"malcolm@foreflight.com"}]},"MaptimeHRVA-twitter":{id:"MaptimeHRVA-twitter",featureId:"hrva",type:"twitter",name:"MaptimeHRVA Twitter",countryCodes:["us"],languageCodes:["en"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/maptimehrva",contacts:[{name:"Jonah Adkins",email:"jonahadkins@gmail.com"}]},"us-ma-mailinglist":{id:"us-ma-mailinglist",featureId:"massachusetts",type:"mailinglist",name:"Talk-us-massachusetts Mailing List",countryCodes:["us"],languageCodes:["en"],description:"Email mailing list for the Massachusetts OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-us-massachusetts",contacts:[{name:"Alan Bragg",email:"alan.ruth.bragg@gmail.com"}]},"OpenCleveland-meetup":{id:"OpenCleveland-meetup",featureId:"cleveland",type:"meetup",name:"Open Cleveland",countryCodes:["us"],languageCodes:["en"],description:"Improve OpenStreetMap in the Cleveland area",extendedDescription:"Open Geo Cleveland aims to be a resource for people to discuss and share knowledge on utilizing free geographic data sets especially OpenStreetMap, and Open geo-spatial software that manages, edits, and displays geographic data, and advocate for its use in Northeast Ohio. We're also a maptime chapter =)",url:"https://www.meetup.com/open-cleveland/",contacts:[{name:"Will Skora",email:"skorasaurus@gmail.com"},{name:"Anastasia Diamond-Ortiz",email:"anastasia.diamond@gmail.com"}],events:[{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-04-18 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxgbxb/"},{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-04-25 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxgbhc/"},{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-05-02 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxhbdb/"},{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-05-09 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxhbmb/"},{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-05-16 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxhbvb/"},{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-05-23 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxhbfc/"},{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-05-30 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxhbnc/"}]},"OSM-Boston":{id:"OSM-Boston",featureId:"boston_metro",type:"meetup",name:"OpenStreetMap Boston",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Boston area",extendedDescription:"OpenStreetMap is the free and open, wiki-style map of the world, with hundreds of thousands of contributions every day from people like you. Editing the map is simple, and fun! Join us both indoors and outdoors in our effort to create the best map of the Boston area and the rest of the world!",url:"https://www.meetup.com/OpenStreetMap-Boston/",contacts:[{name:"Lars Ahlzen",email:"lars@ahlzen.com"}]},"OSM-Central-Salish-Sea":{id:"OSM-Central-Salish-Sea",featureId:"mt_vernon_wa",type:"meetup",name:"OpenStreetMap Central Salish Sea",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users around Mount Vernon, WA",extendedDescription:"OpenStreetMap is an map of the world made by people like you. It's a map that you build, that's given away for free like wikipedia. Check out osm.org for more. We meet all the time to talk maps, make maps and have fun!",url:"https://www.meetup.com/OpenStreetMap-Central-Salish-Sea/",contacts:[{name:"Clifford Snow",email:"clifford@snowandsnow.us"}]},"OSM-Chattanooga":{id:"OSM-Chattanooga",featureId:"chattanooga",type:"facebook",name:"OSM Chattanooga",countryCodes:["us"],languageCodes:["en"],description:"The OpenStreetMap user group for Chattanooga",url:"https://www.facebook.com/groups/123483951073256",contacts:[{name:"Jenny Park",email:"tennessee@tpl.org"},{name:"Randal Hale",email:"rjhale@northrivergeographic.com"}]},"OSM-Colorado":{id:"OSM-Colorado",featureId:"colorado",type:"meetup",name:"OpenStreetMap Colorado",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the state of Colorado, USA",extendedDescription:"OpenStreetMap (OSM) Colorado is a local collaboration of people interested in contributing their efforts to create free maps. We encourage all of our mappers to organize or suggest mapping events throughout the state. Meetup activities can be simple social mixers, OSM basic to advanced training, or community mapping parties.",url:"https://www.meetup.com/OSM-Colorado/",contacts:[{name:"Russell Deffner",email:"russdeffner@gmail.com"}]},"OSM-NYC":{id:"OSM-NYC",featureId:"nyc_metro",type:"meetup",name:"OpenStreetMap NYC",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users, developers and enthusiasts in the New York Metropolitan area",url:"https://www.meetup.com/osm-nyc/",contacts:[{name:"Jeff Ferzoco",email:"jferzoco@carto.com"}]},"OSM-Portland-forum":{id:"OSM-Portland-forum",featureId:"portland_or",type:"forum",name:"OpenStreetMap PDX Google Group",countryCodes:["us"],languageCodes:["en"],description:"Forum and mailing list for OpenStreetMap users in the Portland area",extendedDescription:"This group is to facilitate improvements to OpenStreetMap in the Portland, Oregon area to support applications such as the Open Trip Planner.",url:"https://groups.google.com/group/osm-pdx",contacts:[{name:"Madeline Steele",email:"madeline.steele@gmail.com"}]},"OSM-Portland":{id:"OSM-Portland",featureId:"portland_or",type:"meetup",name:"OpenStreetMap Portland",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Portland area",extendedDescription:"OpenStreetMap (OSM) is a map of the world made by people like you. It's a map that you build, that's given away for free like wikipedia. Check out osm.org for more, and come join us at a meetup to talk maps, contribute to OSM, and have fun!",url:"https://www.meetup.com/OpenStreetMap-Portland/",contacts:[{name:"Madeline Steele",email:"madeline.steele@gmail.com"}]},"OSM-Seattle":{id:"OSM-Seattle",featureId:"seattle",type:"meetup",name:"OpenStreetMap Seattle",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Seattle area",url:"https://www.meetup.com/OpenStreetMap-Seattle/",contacts:[{name:"Clifford Snow",email:"clifford@snowandsnow.us"},{name:"Chase Stephens",email:"seattlefyi@gmail.com"},{name:"Paul McCombs",email:"pablo@imperium.org"}]},"OSM-SoCal":{id:"OSM-SoCal",featureId:"la_metro",type:"meetup",name:"OpenStreetMap Southern California",countryCodes:["us"],languageCodes:["en"],description:"Let's have some fun, contribute something to Los Angeles, and learn about mapping!",extendedDescription:"OpenStreetMap (OSM) Southern California is for anyone interested in mapping to get together to work with OpenStreetMap.  OpenStreetMap, the Wikipedia of maps, is a free open-source map of the world being created by more than 1,000,000 volunteers around the globe.  Everyone is welcome.  If you don't know OpenStreetMap, we'll teach you. If you have an idea for a mapping project or even a field trip that the group can do, great!",url:"https://www.meetup.com/OSM-Southern-California/",contacts:[{name:"Charlotte Wolter",email:"techlady@techlady.com"}]},"OSM-South-Bay":{id:"OSM-South-Bay",featureId:"south_sf_bay_area",type:"meetup",name:"OSM South Bay",countryCodes:["us"],languageCodes:["en"],description:"Map Nights hosted by Code for San Jose",extendedDescription:"Code for San Jose, the local Code for America brigade, hosts monthly Map Nights on Thursday nights in downtown San José. Meet fellow South Bay mappers, help out with local mapping projects, and hear about other civic tech projects. Programming and GIS skills are not required.",url:"https://www.meetup.com/Code-for-San-Jose/",contacts:[{name:"OSM Bay Area mailing list",email:"talk-us-sfbay@openstreetmap.org"}]},"OSM-Tampa-Bay":{id:"OSM-Tampa-Bay",featureId:"tampa_bay",type:"meetup",name:"OpenStreetMap Tampa Bay",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Tampa Bay area",extendedDescription:"OSM Tampa Bay group for local residents to get together and build out the definitive map of Tampa Bay with OpenStreetMap, the free and editable map of the world.  If you're into maps, data, open source, GPS, hiking, cycling, et cetera, you'll love working with OpenStreetMap -- so join in! We'll get together and map and talk about new topics once-a-month or so.",url:"https://www.meetup.com/osmtampabay/",contacts:[{name:"Coleman McCormick",email:"cmccormick@gmail.com"}]},"OSM-US-Slack":{id:"OSM-US-Slack",featureId:"usa_full",type:"slack",countryCodes:["us"],languageCodes:["en"],name:"OpenStreetMap US Slack",description:"All are welcome! Sign up at {signupUrl}",signupUrl:"https://slack.openstreetmap.us/",url:"https://osmus.slack.com",contacts:[{name:"Ian Dees",email:"ian@openstreetmap.us"},{name:"Clifford Snow",email:"clifford@snowandsnow.us"}]},"OSM-US":{id:"OSM-US",featureId:"usa_full",type:"group",countryCodes:["us"],languageCodes:["en"],name:"OpenStreetMap US",description:"We help grow and improve OpenStreetMap in the United States.",extendedDescription:"We support OpenStreetMap by holding annual conferences, providing community resources, building partnerships, and by spreading the word. Join OpenStreetMap US here: {signupUrl}",signupUrl:"https://www.openstreetmap.us/join",url:"https://www.openstreetmap.us/",contacts:[{name:"Ian Dees",email:"ian@openstreetmap.us"},{name:"Bryan Housel",email:"bryan@openstreetmap.us"}],events:[{id:"sotmus2019-cfs",i18n:true,name:"Propose a Talk for SotM-US 2019",description:"We are calling on all members of the OpenStreetMap community to share your ideas and session proposals for State of the Map US 2019. Whether you are brand new to OSM or have been a core contributor since the beginning, we want to hear from you!",where:"Minneapolis, Minnesota",when:"2019-jun-01",url:"https://sessionize.com/sotmus2019"},{id:"sotmus2019",i18n:true,name:"State of the Map US 2019",description:"Join the OpenStreetMap community at State of the Map US in Minneapolis, Minnesota. Connect with other mappers, businesses, government agencies, and non profits, all collaborating around the free and editable map of the world.",where:"Minneapolis, Minnesota",when:"2019-sep-05",url:"https://2019.stateofthemap.us/"}]},"OSM-Utah":{id:"OSM-Utah",featureId:"salt_lake_city",type:"meetup",name:"OpenStreetMap Utah",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Salt Lake City area",extendedDescription:"Activities may include things like Learn To Map workshops, mapping parties and outdoor data collection. The events will take place in the SLC area, at least initially.  We are looking for seasoned mappers as well as people new to OSM. Join and let's do some mapping!",url:"https://www.meetup.com/OpenStreetMap-Utah/",contacts:[{name:"Martijn van Exel",email:"m@rtijn.org"}]},"OSM-Wyoming":{id:"OSM-Wyoming",featureId:"wyoming",type:"meetup",name:"OpenStreetMap Wyoming",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the state of Wyoming",extendedDescription:"OpenStreetMap (OSM) Wyoming is a local collaboration of people interested in contributing their efforts to create free maps. We encourage all of our mappers to organize or suggest mapping events throughout the state. Meetup activities can be simple social mixers, OSM basic to advanced training, or community mapping parties.",url:"https://www.meetup.com/OSM-Wyoming/",contacts:[{name:"Russell Deffner",email:"russdeffner@gmail.com"}]},"PHXGeo-meetup":{id:"PHXGeo-meetup",featureId:"phoenix",type:"meetup",name:"PHXGeo Meetup",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Phoenix, AZ area",extendedDescription:"This is a meetup group for those in the Phoenix area who like maps, GIS, OpenStreetMap, cartography and anything in between.",url:"https://www.meetup.com/PHXGeo/",contacts:[{name:"Ryan Arp",email:"ryan@arpconsultinggroup.com"}]},"PHXGeo-twitter":{id:"PHXGeo-twitter",featureId:"phoenix",type:"twitter",name:"PHXGeo Twitter",countryCodes:["us"],languageCodes:["en"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/phxgeo",contacts:[{name:"Ryan Arp",email:"ryan@arpconsultinggroup.com"}]},"Western-Slope-facebook":{id:"Western-Slope-facebook",featureId:"grand_junction_co",type:"facebook",name:"Western Slope OSM Facebook",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users around Grand Junction, CO",url:"https://www.facebook.com/wsosm/",contacts:[{name:"Aaron Young",email:"aaron@kaartgroup.com"}]},"Western-Slope-meetup":{id:"Western-Slope-meetup",featureId:"grand_junction_co",type:"meetup",name:"Western Slope OSM Meetup",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users around Grand Junction, CO",extendedDescription:"The goal of this group is to introduce OpenStreetMap to the community, develop a community of mappers, create the most amazing geodata possible using whatever method we can and finally strategize in order to get this data out into our community. Imagine accurate trail signage! Imagine further development of bike paths! Imagine anything you want, that's the joy of OpenStreetMap!",url:"https://www.meetup.com/Western-Slope-OpenStreetMap/",contacts:[{name:"Aaron Young",email:"aaron@kaartgroup.com"}]},"ym-Ball-State-University":{type:"youthmappers",name:"Gamma Theta Upsilon- Iota Omega Chapter",description:"YouthMappers chapter at Ball State University",id:"ym-Ball-State-University",featureId:"Ball-State-University",contacts:[{name:"Organizer",email:"gtu@bsu.edu"}],extendedDescription:"Our chapter is a very active one. We primarily focus on community events, fundraising, and field trips. We are currently looking to develop more mapping-related activities to draw in other students from campus who may be interested in contributing.",countryCodes:["us"],url:"https://www.facebook.com/BallState.GammaThetaUpsilon/"},"ym-California-University-of-Pennsylvania":{type:"youthmappers",name:"CalU PA GIS Club",description:"YouthMappers chapter at California University of Pennsylvania",id:"ym-California-University-of-Pennsylvania",featureId:"California-University-of-Pennsylvania",contacts:[{name:"Organizer",email:"mueller@calu.edu"}],extendedDescription:"GIS Students at Cal U learn to apply spatial theory to the real world. The university degree program focuses on geography as well as utilizing GIS in emergency management.",countryCodes:["us"],url:"https://www.facebook.com/CalUGisClub/"},"ym-Central-Washington-University":{type:"youthmappers",name:"Geography Club",description:"YouthMappers chapter at Central Washington University",id:"ym-Central-Washington-University",featureId:"Central-Washington-University",contacts:[{name:"Organizer",email:"valkoc@cwu.edu"}],extendedDescription:"Our goal teaming up with Youthmappers is to bring relief to areas that are in need of humanitarian mapping. By doing so, we are serving our fellow brothers and sisters around the world as well as furthering our own cartography skills.",countryCodes:["us"],url:"https://www.cwu.edu/geography/geography-club"},"ym-Clemson-University":{type:"youthmappers",name:"Clemson Mappers",description:"YouthMappers chapter at Clemson University",id:"ym-Clemson-University",featureId:"Clemson-University",contacts:[{name:"Organizer",email:"clemsonmappers@gmail.com"}],extendedDescription:"Students in Clemson are supported by the Center for Geospatial Technologies, a community of interdisciplinary geospatial science practitioners supporting research, teaching, and outreach activities using technologies that enable the collection, analysis, and application of geospatial data. Students integrate geospatial technologies within their scholarly activities across all disciplines and build connections throughout the world.",countryCodes:["us"],url:"http://www.clemsongis.org/#!clemson-mappers/i9w6t"},"ym-College-of-William-and-Mary":{type:"youthmappers",name:"All over the map!",description:"YouthMappers chapter at College of William and Mary",id:"ym-College-of-William-and-Mary",featureId:"College-of-William-and-Mary",contacts:[{name:"Organizer",email:"lnseitz@email.wm.edu"}],extendedDescription:"The students who are all over the map are supported by the Center for Geospatial Analysis, a group integrating GIS across the curriculum and providing student and faculty with hardware, software, and expertise.  Students of all backgrounds utilize GIS across campus, including environmental science and policy, geology, history, business, sociology, biology, anthropology, public policy, and marine sciences.",countryCodes:["us"],url:"mailto:lnseitz@email.wm.edu"},"ym-Cornell-University":{type:"youthmappers",name:"Mapping Society",description:"YouthMappers chapter at Cornell University",id:"ym-Cornell-University",featureId:"Cornell-University",contacts:[{name:"Organizer",email:"mappingsocietycornell@gmail.com"}],extendedDescription:"Cornell students and faculty use open data and open source software to address challenges at local, national, and global scales. In doing so, we advance our academic and personal goals of developing our own skills around GIS and spatial literacy.",countryCodes:["us"],url:"mailto:mappingsocietycornell@gmail.com?subject=Youth%20Mappers%20and%20Mapping%20Society%20at%20Cornell%20University"},"ym-George-Mason-University":{type:"youthmappers",name:"Mason Mappers",description:"YouthMappers chapter at George Mason University",id:"ym-George-Mason-University",featureId:"George-Mason-University",contacts:[{name:"Organizer",email:"masonmappers@gmail.com"}],extendedDescription:"Mason Mappers Student Society is a humanitarian mapping student organization in the George Mason University GGS Department, and its goal is to promote education and knowledge in geo-technologies, geo-info science, to foster good global stewardship and engage in professional development while building a positive, interactive geo-community, as well as shaping students into leaders of tomorrow.",countryCodes:["us"],url:"Facebook.com/MasonMappers"},"ym-Indiana-University-of-Pennsylvania":{type:"youthmappers",name:"Geospatial Science Club",description:"YouthMappers chapter at Indiana University of Pennsylvania",id:"ym-Indiana-University-of-Pennsylvania",featureId:"Indiana-University-of-Pennsylvania",contacts:[{name:"Organizer",email:"rhoch@iup.edu"}],countryCodes:["us"],url:"mailto:rhoch@iup.edu"},"ym-Jacksonville-State-University":{type:"youthmappers",name:"JSU Disaster Mapping Team",description:"YouthMappers chapter at Jacksonville State University",id:"ym-Jacksonville-State-University",featureId:"Jacksonville-State-University",contacts:[{name:"Organizer",email:"ltatum@stu.jsu.edu"}],extendedDescription:"The JSU Disaster Mapping Team is a program at Jacksonville State University dedicated to assisting disaster response in times of emergencies. This includes tornadoes, severe thunderstorms, floods, etc. The team is intended to be a valuable asset to surrounding counties and a conduit for the JSU Geoscience Department students to apply what they have learned in an academic setting to support emergency services. Our goal is to streamline disaster response and recovery operations while utilizing student skill sets",countryCodes:["us"],url:"mailto:ltatum@stu.jsu.edu"},"ym-Kansas-State-University":{type:"youthmappers",name:"Gamma Theta Upsilon: Beta Psi Chapter",description:"YouthMappers chapter at Kansas State University",id:"ym-Kansas-State-University",featureId:"Kansas-State-University",contacts:[{name:"Organizer",email:"tblarsen@ksu.edu"}],extendedDescription:"We are the Kansas State University Chapter of Gamma Theta Upsilon, an international geography honor society with affiliation to YouthMappers. We have been active with mapping for OSM and conducted a mapathon called \"Map for Nepal,\" in which we used OpenStreetMap to digitize unmapped areas of Nepal after the earthquake in 2015.",countryCodes:["us"],url:"https://www.facebook.com/kstate.gtu?fref=ts"},"ym-McGill-University":{type:"youthmappers",name:"Open Mapping Group McGill: A Member of the McGill Undergraduate Geography Society",description:"YouthMappers chapter at McGill University",id:"ym-McGill-University",featureId:"McGill-University",contacts:[{name:"Organizer",email:"omg.mcgill@gmail.com"}],extendedDescription:"The Open Mapping Group McGill: A Member of McGill Undergraduate Geography Society (OMG McGill) aims to connect students with open geospatial data and technologies to enhance resilience, community-building, and learning through mapping–on campus, in Montreal, in Canada, and abroad.",countryCodes:["ca"],url:"mailto:omg.mcgill@gmail.com"},"ym-Miami-University":{type:"youthmappers",name:"Geography and Planning Society",description:"YouthMappers chapter at Miami University",id:"ym-Miami-University",featureId:"Miami-University",contacts:[{name:"Organizer",email:"gpsmiamioh@gmail.com"}],extendedDescription:"GPS at Miami University aims to create a close-knit community of planners and geographers who want to have fun, learn more about careers and higher education in their field, network, and work alongside professionals for real experience.",countryCodes:["us"],url:"mailto:GPSMiamiOH@gmail.com"},"ym-Monroe-Community-College":{type:"youthmappers",name:"MCC Mapping Corps",description:"YouthMappers chapter at Monroe Community College",id:"ym-Monroe-Community-College",featureId:"Monroe-Community-College",contacts:[{name:"Organizer",email:"gist@monroecc.edu"}],countryCodes:["us"],url:"mailto:GIST@monroecc.edu"},"ym-Montgomery-College":{type:"youthmappers",name:"GeoMC",description:"YouthMappers chapter at Montgomery College",id:"ym-Montgomery-College",featureId:"Montgomery-College",contacts:[{name:"Organizer",email:"stephanie.calderon@montgomerycollege.edu"}],extendedDescription:"GeoMC’s mission is to provide students with hands-on experience in applying geospatial tools, collecting data, and project management. Most of our students come with a background in GIS and are geography majors. Our chapter’s members come from diverse backgrounds and we all work together to make a positive impact in the world live in.",countryCodes:["us"],url:"mailto:stephanie.calderon@montgomerycollege.edu"},"ym-New-York-University":{type:"youthmappers",name:"NYU mHealth Initiative Mapping Corps",description:"YouthMappers chapter at New York University",id:"ym-New-York-University",featureId:"New-York-University",contacts:[{name:"Organizer",email:"mhealth@nyu.edu"}],extendedDescription:"The NYU mobile health or “mHealth” research initiative focuses on development of systems that link people - usually via their phones - to the places that they live and traverse, and thus supports novel research on the way phones and maps can be leveraged to understand behavioral decision making and ultimately health outcomes.",countryCodes:["us"],url:"http://www.nyumhealth.org/"},"ym-Ohio-Wesleyan-University":{type:"youthmappers",name:"Environment and Wildlife Club",description:"YouthMappers chapter at Ohio Wesleyan University",id:"ym-Ohio-Wesleyan-University",featureId:"Ohio-Wesleyan-University",contacts:[{name:"Organizer",email:"envirowild@owu.edu"}],extendedDescription:"Environment and Wildlife Club looks at environmental issues on campus, in Delaware, and even nationally! We create campus and community projects, explore and enjoy the outdoors, volunteer, and try to promote environmentalism in every aspect of our lives.",countryCodes:["us"],url:"mailto:envirowild@owu.edu"},"ym-Oklahoma-State-University":{type:"youthmappers",name:"Geography Club",description:"YouthMappers chapter at Oklahoma State University",id:"ym-Oklahoma-State-University",featureId:"Oklahoma-State-University",contacts:[{name:"Organizer",email:"hhayden@okstate.edu"}],countryCodes:["us"],url:"mailto:hhayden@okstate.edu"},"ym-State-University-of-New-York-Geneseo":{type:"youthmappers",name:"SUNY Geneseo GIS Association",description:"YouthMappers chapter at State University of New York Geneseo",id:"ym-State-University-of-New-York-Geneseo",featureId:"State-University-of-New-York-Geneseo",contacts:[{name:"Organizer",email:"bb18@geneseo.edu"}],extendedDescription:"We spread awareness, support, education, volunteerism, and career advancement opportunities in geographic information systems, across disciplines and departments, in the context of SUNY Geneseo, the local community, and global community.",countryCodes:["us"],url:"http://www.facebook.com/GeneseoGIS"},"ym-SUNY-at-Fredonia":{type:"youthmappers",name:"Geoventurers",description:"YouthMappers chapter at SUNY at Fredonia",id:"ym-SUNY-at-Fredonia",featureId:"SUNY-at-Fredonia",contacts:[{name:"Organizer",email:"amw30@geneseo.edu"}],extendedDescription:"GeoVenturers is a group of students joining together across a number of majors on our campus that see geospatial technologies as a tool to serve others and to bring people together. Mentoring for the group brings in science education from the department of curriculum and instruction. We hope that we can bring our skills to play in helping make people's lives better.",countryCodes:["us"],url:"mailto:amw30@geneseo.edu?subject=GeoVenturers%20and%20the%20YouthMappers%20network"},"ym-Texas-Tech-University":{type:"youthmappers",name:"YouthMappers at TTU",description:"YouthMappers chapter at Texas Tech University",id:"ym-Texas-Tech-University",featureId:"Texas-Tech-University",contacts:[{name:"Organizer",email:"emily.glaeser@ttu.edu"}],extendedDescription:"As one of the co-founding chapters of the network, the TTU YouthMappers are enthusiastic to serve as interdisciplinary leaders to help create open geographic data and analyses that address locally defined development challenges worldwide. The chapter strives to exchange and collaborate with other chapters around the globe while also offering themselves as a local resource and service to Texas Tech student organizations in ways that add value to their respecitive campus activities through mapping.",countryCodes:["us"],url:"https://www.facebook.com/youthmapperstexastech/"},"ym-The-Citadel":{type:"youthmappers",name:"YouthMappers at The Citadel",description:"YouthMappers chapter at The Citadel",id:"ym-The-Citadel",featureId:"The-Citadel",contacts:[{name:"Organizer",email:"cstokes5@citadel.edu"}],extendedDescription:"This chapter is also a Rotaract Club, which is an affiliate of Rotary International. Multiple members, as well as leadership have expressed an interest in YouthMappers and we would like to affiliate our Citadel Rotaract Club with YouthMappers.",countryCodes:["us"],url:"Mailto:cstokes5@citadel.edu"},"ym-The-George-Washington-University":{type:"youthmappers",name:"Humanitarian Mapping Society",description:"YouthMappers chapter at The George Washington University",id:"ym-The-George-Washington-University",featureId:"The-George-Washington-University",contacts:[{name:"Organizer",email:"hms.gwu@gmail.com"}],extendedDescription:"Models of leadership and engagement, HMS seeks to render aid and better the world through humanitarian Geographic Information Systems (GIS) projects. This co-founding affiliated chapter on the campus of GWU has a plethora of experience to share, and frequently partners directly with USAID, the American Red Cross, and the US Department of State in their DC area to expand student-led efforts and serve the global community.",countryCodes:["us"],url:"https://www.facebook.com/GWHMS/"},"ym-The-Johns-Hopkins-University-SAIS":{type:"youthmappers",name:"SAIS YouthMappers",description:"YouthMappers chapter at The Johns Hopkins University, SAIS",id:"ym-The-Johns-Hopkins-University-SAIS",featureId:"The-Johns-Hopkins-University-SAIS",contacts:[{name:"Organizer",email:"saisyouthmappers@gmail.com"}],extendedDescription:"The mission of SAIS Youth Mappers is to provide students at the Johns Hopkins University SAIS with the opportunity to become highly skilled humanitarian mappers. As a group within the South Asia Club, its primary focus is on supporting humanitarian mapping projects in the Indo-Pacific Region.",countryCodes:["us"],url:"mailto:saisyouthmappers@gmail.com"},"ym-The-Pennsylvania-State-University":{type:"youthmappers",name:"Penn State GIS Coalition",description:"YouthMappers chapter at The Pennsylvania State University",id:"ym-The-Pennsylvania-State-University",featureId:"The-Pennsylvania-State-University",contacts:[{name:"Organizer",email:"advising@geog.psu.edu"}],extendedDescription:"The Penn State Geospatial Information Science (GIS) Coalition is an organization that offers students majoring, minoring, or sharing an interest in GIS opportunities to develop supplementary knowledge and skills necessary to succeed in the professional GIS industry.",countryCodes:["us"],url:"mailto:advising@geog.psu.edu"},"ym-University-of-California-Davis":{type:"youthmappers",name:"Mapping Club",description:"YouthMappers chapter at University of California, Davis",id:"ym-University-of-California-Davis",featureId:"University-of-California-Davis",contacts:[{name:"Organizer",email:"ucdmappingclub@ucdavis.edu"}],countryCodes:["us"],url:"mailto:ucdmappingclub@ucdavis.edu?subject=YouthMappers%20and%20UC%20Davis%20Mapping%20Club"},"ym-University-of-Central-Florida":{type:"youthmappers",name:"Geospatial Information Society",description:"YouthMappers chapter at University of Central Florida",id:"ym-University-of-Central-Florida",featureId:"University-of-Central-Florida",contacts:[{name:"Organizer",email:"rsouth@knights.ucf.edu"}],extendedDescription:"Our mission is to foster a social and educational environment for all majors who are interested in the discussion and application of GIS. Group and community events throughout the academic year organize students to volunteer to help local and regional communities by using community-based GIS projects and educating local middle and high school students on the use and application of GIS.",countryCodes:["us"],url:"mailto:rsouth@knights.ucf.edu"},"ym-University-of-Chicago":{type:"youthmappers",name:"Tobler Society",description:"YouthMappers chapter at University of Chicago",id:"ym-University-of-Chicago",featureId:"University-of-Chicago",contacts:[{name:"Organizer",email:"toblersociety@uchicago.edu"}],countryCodes:["us"],url:"mailto:toblersociety@uchicago.edu"},"ym-University-of-Maryland-College-Park":{type:"youthmappers",name:"Geography Club",description:"YouthMappers chapter at University of Maryland - College Park",id:"ym-University-of-Maryland-College-Park",featureId:"University-of-Maryland-College-Park",contacts:[{name:"Organizer",email:"geogclubumd@gmail.com"}],extendedDescription:"The mission of the Geography Club at the University of Maryland College Park is to engage and encourage students to explore geographic interests within the campus and the community.",countryCodes:["us"],url:"https://www.facebook.com/UMDGeographyClub/?fref=ts"},"ym-University-of-North-Texas":{type:"youthmappers",name:"UNT Geography Club",description:"YouthMappers chapter at University of North Texas",id:"ym-University-of-North-Texas",featureId:"University-of-North-Texas",contacts:[{name:"Organizer",email:"reeseramsey@my.unt.edu"}],extendedDescription:"The Geography Club is a student organization at University of North Texas that welcomes all students who are interested in geography. The objective of the Geography Club is to promote interest in Geography, the Major and the Geography Department along with fellowship among students and faculty. The club also seeks to represent student needs and wants in regard to the study of geography and to provide a forum for the presentation of innovative ideas to the benefit of the University community.",countryCodes:["us"],url:"Mailto:reeseramsey@my.unt.edu"},"ym-University-of-Northern-Colorado":{type:"youthmappers",name:"UNCO Geography and GIS Club",description:"YouthMappers chapter at University of Northern Colorado",id:"ym-University-of-Northern-Colorado",featureId:"University-of-Northern-Colorado",contacts:[{name:"Organizer",email:"uncogeoggisclub@gmail.com"}],extendedDescription:"Official Geography and GIS Club chapter affiliated with the University of Northern Colorado where our aim is to learn, share and connect with those around us. #MakingSenseOfTheWorld",countryCodes:["us"],url:"www.facebook.com/groups/476365076071166/"},"ym-University-of-Oregon":{type:"youthmappers",name:"Map by Northwest",description:"YouthMappers chapter at University of Oregon",id:"ym-University-of-Oregon",featureId:"University-of-Oregon",contacts:[{name:"Organizer",email:"cbone@uoregon.edu"}],extendedDescription:"Map By Northwest aims to engage undergraduate students at the University of Oregon in mapping projects to assist in humanitarian causes and for conducting geographic research. We welcome students from all disciplines to join us in our mapping adventures.",countryCodes:["us"],url:"http://blogs.uoregon.edu/mxnw/"},"ym-University-of-Redlands":{type:"youthmappers",name:"URSpatial Geo-Thinkers",description:"YouthMappers chapter at University of Redlands",id:"ym-University-of-Redlands",featureId:"University-of-Redlands",contacts:[{name:"Organizer",email:"nathan_strout@redlands.edu"}],extendedDescription:"To build upon the members' GIS skills and knowledge of the tools and methods through applied social engagement as well as to educate the campus community about the power of mapping and spatial analysis through community service events.",countryCodes:["us"],url:"mailto:nathan_strout@redlands.edu"},"ym-University-of-South-Carolina":{type:"youthmappers",name:"Geography Graduate Student Association",description:"YouthMappers chapter at University of South Carolina",id:"ym-University-of-South-Carolina",featureId:"University-of-South-Carolina",contacts:[{name:"Organizer",email:"carolina_ggsa@gmail.com"}],extendedDescription:"The GGSA is a fully student-run organization, designed to serve as an advocate and resource for all geography graduate students by filling the role of liaison between the department and students. Our goal is to further professional, academic, and personal development of graduate students interested in the field of geography and its sub disciplines.",countryCodes:["us"],url:"https://carolinaggsa.wordpress.com/"},"ym-University-of-Southern-California":{type:"youthmappers",name:"SC Mappers",description:"YouthMappers chapter at University of Southern California",id:"ym-University-of-Southern-California",featureId:"University-of-Southern-California",contacts:[{name:"Organizer",email:"scmappers@gmail.com"}],extendedDescription:"We see the world differently: we view it through a spatial lens. With the power of spatial thinking, we connect place and space to help address global challenges. Collaborate with us!",countryCodes:["us"],url:"mailto:scmappers@gmail.com?subject=YouthMappers%20at%20USC"},"ym-University-of-Vermont":{type:"youthmappers",name:"University of Vermont Humanitarian Mapping Club",description:"YouthMappers chapter at University of Vermont",id:"ym-University-of-Vermont",featureId:"University-of-Vermont",contacts:[{name:"Organizer",email:"uvm.hmc@gmail.com"}],countryCodes:["us"],url:"https://www.facebook.com/UVMHMC"},"ym-University-of-Victoria":{type:"youthmappers",name:"Society of Geography Students",description:"YouthMappers chapter at University of Victoria",id:"ym-University-of-Victoria",featureId:"University-of-Victoria",contacts:[{name:"Organizer",email:"sogsmappers@gmail.com"}],extendedDescription:"SOGS seeks to promote and represent social and academic interests within the Department of Geography. This is expressed by four key goals: To provide a forum for the discussion of matters concerning the quality and accessibility of education within geography; to provide a means of expressing a consensus of student opinion to deparhnental faculty through representation at deparkrnental meetings and on departrnental committees; to undertake anangements for such activities as are for the benefit of students and are seen to be within the field of interest of students in geography; to act as a liaison through the UVSS and the Course Union Council with other student groups on campus",url:"https://www.facebook.com/SOGSUVic/"},"ym-University-of-Wyoming":{type:"youthmappers",name:"Gamma Theta Upsilon/Geography Club",description:"YouthMappers chapter at University of Wyoming",id:"ym-University-of-Wyoming",featureId:"University-of-Wyoming",contacts:[{name:"Organizer",email:"gtu-geography@uwyo.edu"}],countryCodes:["us"],url:"http://www.uwyo.edu/geography/geographyclub/"},"ym-UW-Madison":{type:"youthmappers",name:"BadgerMaps",description:"YouthMappers chapter at UW-Madison",id:"ym-UW-Madison",featureId:"UW-Madison",contacts:[{name:"Organizer",email:"uwbadgermaps@gmail.com"}],extendedDescription:"BadgerMaps is the UW campus chapter of Youthmappers, an organization dedicated to humanitarian and community mapping services. We connect our volunteer network with opportunities to create GIS data for projects that need it.",countryCodes:["us"],url:"https://www.facebook.com/UW-BadgerMaps-197746270811951/"},"ym-Vassar-College":{type:"youthmappers",name:"Hudson Valley Mappers",description:"YouthMappers chapter at Vassar College",id:"ym-Vassar-College",featureId:"Vassar-College",contacts:[{name:"Organizer",email:"geo@vassar.edu"}],extendedDescription:"Our mission is to provide a multi-disciplinary platform for peers, educators, and community organizations to engage in local mapping projects with a focus on strengthening our local ecosystems, our built environment, and the health of our community. We also seek to contribute geospatial support for global humanitarian aid and development efforts.",countryCodes:["us"],url:"http://pages.vassar.edu/gis/vassar-youthmappers/"},"ym-Villanova-University":{type:"youthmappers",name:"The Villanova Globeplotters",description:"YouthMappers chapter at Villanova University",id:"ym-Villanova-University",featureId:"Villanova-University",contacts:[{name:"Organizer",email:"villanova.globeplotters@gmail.com"}],extendedDescription:"The Villanova Globeplotters is built on Villanova’s Augustinian principle of selfless-service to the global community. Mixed with relaxed social interaction, we strive to provide geospatial outreach to those in need regardless of participating students’ race, academic major, student group association, or college career level.",countryCodes:["us"],url:"mailto:villanova.globeplotters@gmail.com"},"ym-West-Virginia-University":{type:"youthmappers",name:"Maptime Morgantown",description:"YouthMappers chapter at West Virginia University",id:"ym-West-Virginia-University",featureId:"West-Virginia-University",contacts:[{name:"Organizer",email:"maptimemorgantown@gmail.com"}],extendedDescription:"Working as a collaborative team, this co-founding chapter focuses on providing an open learning environment for those interested in working on projects that intersect international development, emergency response, and geographic information science.\nThey connect beginners and experts by providing technical training and experience in building meaningful and useful geographic infrastructure data, while connecting to sister cities around the world.",countryCodes:["us"],url:"mailto:MaptimeMorgantown@gmail.com?subject=Maptime%20Morgantown%20from%20YouthMappers%20website"},"ym-Western-Michigan-University":{type:"youthmappers",name:"Geography Club",description:"YouthMappers chapter at Western Michigan University",id:"ym-Western-Michigan-University",featureId:"Western-Michigan-University",contacts:[{name:"Organizer",email:"wmu.geog.club@gmail.com"}],countryCodes:["us"],url:"http://www.facebook.com/groups/WMUGeographyClub/"},geogeeks_perth_meetup:{id:"geogeeks_perth_meetup",featureId:"western_australia",type:"group",countryCodes:["au"],languageCodes:["en"],name:"GeoGeeks Perth Meetup",description:"Perth-based meetup group for people interested in mapping, geospatial data, and open source. We'll be working on anything that involves a sense of place.",url:"https://geogeeks.org",contacts:[{name:"GeoGeeks Perth",email:"geogeeks.perth@gmail.com"}]},"talk-au":{id:"talk-au",featureId:"australia_full",type:"mailinglist",countryCodes:["au"],languageCodes:["en"],name:"Talk-au Mailing List",description:"Place for Aussie mappers to chat",url:"https://lists.openstreetmap.org/listinfo/talk-au",contacts:[{name:"Ben Kelley",email:"ben.kelley@gmail.com"},{name:"Steve Bennett",email:"stevagewp@gmail.com"},{name:"Ian Sergeant",email:"inas66+osm@gmail.com"}]},"Maptime-Oceania-Slack":{id:"Maptime-Oceania-Slack",featureId:"oceania_full",type:"slack",countryCodes:["au","nz"],languageCodes:["en"],name:"Maptime Oceania Slack",description:"Sign up at {signupUrl}",signupUrl:"https://bit.ly/maptimeau",url:"https://maptimeoceania.slack.com",contacts:[{name:"David Dean",email:"ddean@ieee.org"},{name:"Philip Mallis",email:"philip.mallis@unimelb.edu.au"},{name:"Edoardo Neerhut",email:"ed@mapillary.com"}]},"talk-nz":{id:"talk-nz",featureId:"new_zealand_full",type:"mailinglist",countryCodes:["nz"],languageCodes:["en"],name:"Talk-nz Mailing List",description:"New Zealand's OSM community talk",url:"https://lists.openstreetmap.org/listinfo/talk-nz",contacts:[{name:"Talk NZ Owner",email:"talk-nz-owner@openstreetmap.org"}]},"OSM-AR-facebook":{id:"OSM-AR-facebook",featureId:"argentina",type:"facebook",name:"OpenStreetMap Argentina Facebook",countryCodes:["ar"],languageCodes:["es"],description:"Join the OpenStreetMap Argentina community on Facebook",extendedDescription:"News from the local community",url:"https://www.facebook.com/OpenStreetMapArgentina/",contacts:[{name:"OpenStreetMap Argentina",email:"openstreetmap.org.ar@gmail.com"}]},"OSM-AR-forum":{id:"OSM-AR-forum",featureId:"argentina",type:"forum",name:"OpenStreetMap Argentina web forum",countryCodes:["ar"],languageCodes:["es"],description:"Join the OpenStreetMap Argentina web forum",extendedDescription:"Ideal for long or important discussions. Slow response time.",url:"https://forum.openstreetmap.org/viewforum.php?id=49",contacts:[{name:"OpenStreetMap Argentina",email:"openstreetmap.org.ar@gmail.com"}]},"OSM-AR-irc":{id:"OSM-AR-irc",featureId:"argentina",type:"irc",name:"OpenStreetMap Argentina IRC",countryCodes:["ar"],languageCodes:["es"],description:"Join #osm-ar on irc.oftc.net (port 6667)",extendedDescription:"You may find the most geeky user in the community.",url:"https://webchat.oftc.net/?channels=osm-ar",contacts:[{name:"OpenStreetMap Argentina",email:"openstreetmap.org.ar@gmail.com"}]},"OSM-AR-mailinglist":{id:"OSM-AR-mailinglist",featureId:"argentina",type:"mailinglist",name:"Talk-ar Mailing List",countryCodes:["ar"],languageCodes:["es"],description:"Historic mailing list. Almost unused today.",url:"https://lists.openstreetmap.org/pipermail/talk-ar/",contacts:[{name:"OpenStreetMap Argentina",email:"openstreetmap.org.ar@gmail.com"}]},"OSM-AR-telegram":{id:"OSM-AR-telegram",featureId:"argentina",type:"telegram",name:"OpenStreetMap Argentina Telegram",countryCodes:["ar"],languageCodes:["es"],description:"Join the OpenStreetMap Argentina community on Telegram",extendedDescription:"The most active channel in the community, ideal for chatting and getting answers to your questions instantly. Everyone is welcome!",url:"https://telegram.me/osm_ar",contacts:[{name:"OpenStreetMap Argentina",email:"openstreetmap.org.ar@gmail.com"}]},"OSM-AR-twitter":{id:"OSM-AR-twitter",featureId:"argentina",type:"twitter",name:"OpenStreetMap Argentina Twitter",countryCodes:["ar"],languageCodes:["es"],description:"Follow us on Twitter at {url}",extendedDescription:"News from the local community and OpenStreetMap in general.",url:"https://twitter.com/OpenStreetMapAr",contacts:[{name:"OpenStreetMap Argentina",email:"openstreetmap.org.ar@gmail.com"}]},"OSM-BO-mailinglist":{id:"OSM-BO-mailinglist",featureId:"bolivia",type:"mailinglist",name:"Talk-bo Mailing List",countryCodes:["bo"],languageCodes:["es"],description:"Talk-bo is the official mailing list for the Bolivian OpenStreetMap community",extendedDescription:"Mapping in Bolivia? Have questions, want to connect with the community here? Join us at {url}. All are welcome!",url:"https://lists.openstreetmap.org/pipermail/talk-bo/",contacts:[{name:"Marco Antonio",email:"marcoantoniofrias@gmail.com"}]},"Bahia-telegram":{id:"Bahia-telegram",featureId:"bahia",type:"telegram",name:"OpenStreetMap Bahia Telegram Group",countryCodes:["br"],languageCodes:["pt"],description:"Join the OpenStreetMap Bahia community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!",url:"https://t.me/OSMBA",contacts:[{name:"Wille Marcel",email:"wille@wille.blog.br"}]},"DF-telegram":{id:"DF-telegram",featureId:"df_br",type:"telegram",name:"OpenStreetMap Brasília Telegram Group",countryCodes:["br"],languageCodes:["pt"],description:"Join the OpenStreetMap Brasília community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!",url:"https://t.me/osmbsb",contacts:[{name:"Wille Marcel",email:"wille@wille.blog.br"}]},"OSM-br-discord":{id:"OSM-br-discord",featureId:"brazil",type:"discord",name:"OpenStreetMap Brasil Discord",countryCodes:["br"],languageCodes:["pt"],description:"Join the OpenStreetMap Brasil community on Discord",url:"https://discord.gg/bQn4aCm",contacts:[{name:"Eduardo Addad de Oliveira",email:"duduaddad@gmail.com"}]},"OSM-br-mailinglist":{id:"OSM-br-mailinglist",featureId:"brazil",type:"mailinglist",name:"Talk-br Mailing List",countryCodes:["br"],languageCodes:["pt"],description:"A mailing list to discuss OpenStreetMap in Brazil",url:"https://lists.openstreetmap.org/pipermail/talk-br/",contacts:[{name:"Arlindo Pereira",email:"nighto@gmail.com"}]},"OSM-br-telegram":{id:"OSM-br-telegram",featureId:"brazil",type:"telegram",name:"OpenStreetMap Brasil Telegram",countryCodes:["br"],languageCodes:["pt"],description:"Join the OpenStreetMap Brasil community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!",url:"https://t.me/OSMBrasil_Comunidade",contacts:[{name:"Vitor George",email:"vitor.george@gmail.com"}],events:[{id:"webinar_mundogeo",name:"Webinar: OpenStreetMap em Prefeituras e Empresas",description:"Participe do webinar sobre como utilizar o OpenStreeMap em prefeituras e empresas.",where:"Online",when:"2018-05-02 14:30",url:"http://mundogeo.com/webinar/webinar.html"},{id:"mundogeo",name:"Painel OpenStreetMap no MundoGeo #connect",description:"Participe do painel sobre o OpenStreetMap no MundoGeo #connect.",where:"São Paulo, SP, Brasil",when:"2018-05-16 11:00",url:"http://mundogeoconnect.com/2018/atividades-especiais/"}]},"OSM-br-twitter":{id:"OSM-br-twitter",featureId:"brazil",type:"twitter",name:"OpenStreetMap Brasil Twitter",countryCodes:["br"],languageCodes:["pt"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/OpenStreetMapBR",contacts:[{name:"Wille Marcel",email:"wille@wille.blog.br"}]},"RS-telegram":{id:"RS-telegram",featureId:"rs_br",type:"telegram",name:"OpenStreetMap Rio Grande do Sul Telegram Group",countryCodes:["br"],languageCodes:["pt"],description:"Join the OpenStreetMap Rio Grande do Sul community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!",url:"https://t.me/osmrs",contacts:[{name:"No one",email:"nobody@nowhere.org"}]},"OSM-CL-facebook":{id:"OSM-CL-facebook",featureId:"chile",type:"facebook",name:"OpenStreetMap Chile Facebook",countryCodes:["cl"],languageCodes:["es"],description:"Join the OpenStreetMap Chile community on Facebook",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!",url:"https://www.facebook.com/OpenStreetMap-Chile-145127198882915/",contacts:[{name:"Julio Costa",email:"julio.costa@openstreetmap.cl"}]},"OSM-CL-mailinglist":{id:"OSM-CL-mailinglist",featureId:"chile",type:"mailinglist",name:"Talk-cl Mailing List",countryCodes:["cl"],languageCodes:["es"],description:"A mailing list to discuss OpenStreetMap in Chile",url:"https://lists.openstreetmap.org/pipermail/talk-cl/",contacts:[{name:"Julio Costa",email:"julio.costa@openstreetmap.cl"}]},"OSM-CL-telegram":{id:"OSM-CL-telegram",featureId:"chile",type:"telegram",name:"OpenStreetMap Chile Telegram",countryCodes:["cl"],languageCodes:["es"],description:"Join the OpenStreetMap Chile community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!",url:"https://t.me/OSMcl",contacts:[{name:"Julio Costa",email:"julio.costa@openstreetmap.cl"}]},"OSM-CL-twitter":{id:"OSM-CL-twitter",featureId:"chile",type:"twitter",name:"OpenStreetMap Chile Twitter",countryCodes:["cl"],languageCodes:["es"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/osmCL",contacts:[{name:"Julio Costa",email:"julio.costa@openstreetmap.cl"}]},"Maptime-Bogota":{id:"Maptime-Bogota",featureId:"bogota",type:"meetup",name:"Maptime Bogotá",countryCodes:["co"],languageCodes:["es"],description:"We're a group of mappers interested in mapping in OpenStreetMap around Bogotá.",extendedDescription:"Learn to collect data in the field and digitize onto OpenStreetMap.  It is not necessary to have previous knowledge! You just need the desire to participate, learn, and have fun.",url:"https://www.meetup.com/Maptime-Colombia-OSM/",contacts:[{name:"Andrés Gómez Casanova",email:"angoca@gmail.com"}]},"OSM-CO-facebook":{id:"OSM-CO-facebook",featureId:"colombia",type:"facebook",name:"OpenStreetMap Colombia Facebook",countryCodes:["co"],languageCodes:["es"],description:"Join the OpenStreetMap Colombia community on Facebook",extendedDescription:"Join the community to learn more about OpenStreetMap. Everyone is welcome!",url:"https://www.facebook.com/groups/OsmCol/",contacts:[{name:"Fredy Rivera",email:"fredyrivera@gmail.com"}]},"OSM-CO-mailinglist":{id:"OSM-CO-mailinglist",featureId:"colombia",type:"mailinglist",name:"Talk-co Mailing List",countryCodes:["co"],languageCodes:["es"],description:"A mailing list to discuss OpenStreetMap in Colombia",url:"https://lists.openstreetmap.org/pipermail/talk-co/",contacts:[{name:"Fredy Rivera",email:"fredyrivera@gmail.com"}]},"OSM-CO-telegram":{id:"OSM-CO-telegram",type:"telegram",featureId:"colombia",countryCodes:["co"],languageCodes:["es"],name:"OSM Colombia on Telegram",description:"OpenStreetMap Colombia Telegram chat",url:"https://telegram.me/osmco",contacts:[{name:"Fredy Rivera",email:"fredyrivera@gmail.com"}]},"OSM-CO-twitter":{id:"OSM-CO-twitter",featureId:"colombia",type:"twitter",name:"OpenStreetMap Colombia Twitter",countryCodes:["co"],languageCodes:["es"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/OpenStreetMapCo",contacts:[{name:"Fredy Rivera",email:"fredyrivera@gmail.com"}]},"OSM-CO":{id:"OSM-CO",featureId:"colombia",type:"group",countryCodes:["co"],languageCodes:["es"],name:"OpenStreetMap Colombia",description:"News of the OpenStreetMap Colombia community and the OSMCo Foundation",url:"https://blog.openstreetmap.co/s657",contacts:[{name:"Fredy Rivera",email:"fredyrivera@gmail.com"}]},"ym-Universidad-de-Antioquia":{type:"youthmappers",name:"Geomatica UDEA",description:"YouthMappers chapter at Universidad de Antioquia",id:"ym-Universidad-de-Antioquia",featureId:"Universidad-de-Antioquia",contacts:[{name:"Organizer",email:"geomatica.ing.udea@gmail.com"}],extendedDescription:"We are a group interested in geospatial data, voluntary cartography, and participating in mapping with others in our country and within the YouthMappers network.",countryCodes:["co"],url:"mailto:geomatica.ing.udea@gmail.com?subject=YouthMappers%20y%20Universidad%20de%20Antioquia"},"ym-Universidad-de-La-Guajira":{type:"youthmappers",name:"Grupo Mesh",description:"YouthMappers chapter at Universidad de La Guajira",id:"ym-Universidad-de-La-Guajira",featureId:"Universidad-de-La-Guajira",contacts:[{name:"Organizer",email:"zoviedo@uniguajira.edu.co"}],extendedDescription:"Grupo Mesh is a student organization at the Universidad de la Guajira in Colombia, including students from the program of Environmental Engineering who learn cartography and open mapping.",countryCodes:["co"],url:"mailto:zoviedo@uniguajira.edu.co?subject=Grupo%20Mesh%20y%20YouthMappers"},"ym-Universidad-de-Los-Andes":{type:"youthmappers",name:"Cartografos Uniandes",description:"YouthMappers chapter at Universidad de Los Andes",id:"ym-Universidad-de-Los-Andes",featureId:"Universidad-de-Los-Andes",contacts:[{name:"Organizer",email:"geografia@uniandes.edu.co"}],extendedDescription:"We are a circle of student participation that seeks to use mapping and spatial reasoning as a means to create bonds of cooperation and integration between the university and society by addressing different spatial, social, political , economic and cultural dynamics.",countryCodes:["co"],url:"mailto:geografia@uniandes.edu.co?subject=Youth%20Mappers%20Chapter%20y%20la%20Universidad%20de%20los%20Andes"},"ym-Universidad-de-San-Buenaventura":{type:"youthmappers",name:"YouthMappers San Buenaventura",description:"YouthMappers chapter at Universidad de San Buenaventura",id:"ym-Universidad-de-San-Buenaventura",featureId:"Universidad-de-San-Buenaventura",contacts:[{name:"Organizer",email:"ingenieria.sistemas@usbmed.edu.co"}],extendedDescription:"We are pleased to join YouthMappers mapping for a better world and community.",countryCodes:["co"],url:"https://www.facebook.com/groups/1742657446017065/"},"ym-Universidad-Distrital-Francisco-Jose-de-Caldas":{type:"youthmappers",name:"YouthMappers at Bogota",description:"YouthMappers chapter at Universidad Distrital Francisco Jose de Caldas",id:"ym-Universidad-Distrital-Francisco-Jose-de-Caldas",featureId:"Universidad-Distrital-Francisco-Jose-de-Caldas",contacts:[{name:"Organizer",email:"lrocha@selper.org.co"}],extendedDescription:"The Universidad Distrital Francisco José de Caldas is a public, coeducational, research university based in Bogotá, Colombia with a population of 26,140 students.",countryCodes:["co"],url:"mailto:lrocha@selper.org.co"},"ym-Universidad-Nacional-de-Colombia":{type:"youthmappers",name:"Grupo UN",description:"YouthMappers chapter at Universidad Nacional de Colombia",id:"ym-Universidad-Nacional-de-Colombia",featureId:"Universidad-Nacional-de-Colombia",contacts:[{name:"Organizer",email:"raknudsono@unal.edu.co"}],extendedDescription:"Students are uniting to map and network with university students across the country of Colombia and across the globe.  Geographic specialties include affiliation with microbiology and health disciplines.",countryCodes:["co"],url:"mailto:raknudsono@unal.edu.co?subject=Youth%20Mappers%20y%20Grupo%20UN%20Colombia"},"OSM-EC-telegram":{id:"OSM-EC-telegram",type:"telegram",featureId:"ecuador",languageCodes:["es"],countryCodes:["ec"],name:"OSM Ecuador on Telegram",description:"OpenStreetMap Ecuador Telegram chat",url:"https://telegram.me/MappingEcuador",contacts:[{name:"Talk-ec Owner",email:"talk-ec-owner@openstreetmap.org"}]},"OSM-PY-telegram":{id:"OSM-PY-telegram",type:"telegram",featureId:"paraguay",languageCodes:["es"],countryCodes:["py"],name:"OSM Paraguay on Telegram",description:"OpenStreetMap Paraguay Telegram chat",url:"https://telegram.me/osm_py",contacts:[{name:"Talk-py Owner",email:"talk-py-owner@openstreetmap.org"}]},"OSM-PE-facebook":{id:"OSM-PE-facebook",featureId:"peru",type:"facebook",name:"OpenStreetMap Peru Facebook",countryCodes:["pe"],languageCodes:["es"],description:"Join the OpenStreetMap Peru community on Facebook",url:"https://www.facebook.com/Osmpe",contacts:[{name:"Diego Sangunietti",email:"diego.sanguinetti@hotmail.com"},{name:"Ruben Lopez M.",email:"rub2106@gmail.com"}]},"OSM-PE-mailinglist":{id:"OSM-PE-mailinglist",featureId:"peru",type:"mailinglist",name:"Talk-pe Mailing List",countryCodes:["pe"],languageCodes:["es"],description:"The official mailing list for the OpenStreetMap Peru community",url:"https://lists.openstreetmap.org/pipermail/talk-pe/",contacts:[{name:"Diego Sangunietti",email:"diego.sanguinetti@hotmail.com"},{name:"Ruben Lopez M.",email:"rub2106@gmail.com"}]},"OSM-PE-matrix":{id:"OSM-PE-matrix",featureId:"peru",type:"matrix",name:"OpenStreetMap Peru Matrix Chat",countryCodes:["pe"],languageCodes:["es"],description:"Chat with other members of the OpenStreetMap Peru community in Matrix.",url:"https://matrix.to/#/#osmpe:matrix.org",contacts:[{name:"Diego Sangunietti",email:"diego.sanguinetti@hotmail.com"},{name:"Ruben Lopez M.",email:"rub2106@gmail.com"}]},"OSM-PE-telegram":{id:"OSM-PE-telegram",featureId:"peru",type:"telegram",name:"OpenStreetMap Peru Telegram",countryCodes:["pe"],languageCodes:["es"],description:"Join the OpenStreetMap Peru community on Telegram",url:"https://telegram.me/osmPe",contacts:[{name:"Diego Sangunietti",email:"diego.sanguinetti@hotmail.com"},{name:"Ruben Lopez M.",email:"rub2106@gmail.com"}]},"OSM-PE-twitter":{id:"OSM-PE-twitter",featureId:"peru",type:"twitter",name:"OpenStreetMap Peru Twitter",countryCodes:["pe"],languageCodes:["es"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/osmpe",contacts:[{name:"Diego Sangunietti",email:"diego.sanguinetti@hotmail.com"},{name:"Ruben Lopez M.",email:"rub2106@gmail.com"}]},"OSM-PE":{id:"OSM-PE",featureId:"peru",type:"group",name:"OpenStreetMap Peru",countryCodes:["ar"],languageCodes:["es"],description:"News and resources for the OpenStreetMap Peru community",url:"http://osmpe.ourproject.org/",contacts:[{name:"Diego Sangunietti",email:"diego.sanguinetti@hotmail.com"},{name:"Ruben Lopez M.",email:"rub2106@gmail.com"}]},"uy-forum":{id:"uy-forum",type:"forum",featureId:"uruguay",countryCodes:["uy"],languageCodes:["es"],name:"OpenStreetMap UY forum",description:"OpenStreetMap Uruguay web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=78",contacts:[{name:"UY community",email:"talk-uy-owner@openstreetmap.org"}]},"uy-irc":{id:"uy-irc",featureId:"uruguay",type:"irc",name:"OpenStreetMap Uruguay on IRC",countryCodes:["uy"],languageCodes:["es"],description:"Join #osmuruguay on irc.freenode.org (port 6667)",extendedDescription:"Join #osmuruguay on irc.freenode.org",url:"https://webchat.freenode.net/?url=irc://irc.freenode.net/osmuruguay",contacts:[{name:"UY community",email:"talk-uy-owner@openstreetmap.org"}]},"uy-mailinglist":{id:"uy-mailinglist",featureId:"uruguay",type:"mailinglist",name:"Talk-uy Mailing List",countryCodes:["uy"],languageCodes:["es"],description:"Talk-uy is the official mailing list for the Uruguayan OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-uy",contacts:[{name:"UY community",email:"talk-uy-owner@openstreetmap.org"}]},"ve-forum":{id:"ve-forum",type:"forum",featureId:"venezuela",countryCodes:["ve"],languageCodes:["es"],name:"OpenStreetMap VE Forum",description:"OpenStreetMap Venezuela web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=50",contacts:[{name:"VE Community",email:"talk-ve-owner@openstreetmap.org"}]},"ve-mailinglist":{id:"ve-mailinglist",featureId:"venezuela",type:"mailinglist",name:"Talk-ve Mailing List",countryCodes:["ve"],languageCodes:["es"],description:"Talk-ve is the official mailing list for the Venezuelan OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-ve",contacts:[{name:"VE Community",email:"talk-ve-owner@openstreetmap.org"}]},"ve-telegram":{id:"ve-telegram",featureId:"venezuela",type:"telegram",name:"OpenStreetMap Venezuela Telegram",countryCodes:["ve"],languageCodes:["es"],description:"Join the OpenStreetMap Venezuela community on Telegram",url:"https://telegram.me/OSMve",contacts:[{name:"VE Community",email:"talk-ve-owner@openstreetmap.org"}]},"LATAM-Facebook":{id:"LATAM-Facebook",featureId:"latam",type:"facebook",languageCodes:["es","pt"],name:"OpenStreetMap Latam Facebook",description:"OpenStreetMap Latam on Facebook",url:"https://www.facebook.com/osmlatam/",contacts:[{name:"OSM LATAM",email:"info@osmlatam.org"}]},"LATAM-Telegram":{id:"LATAM-Telegram",featureId:"latam",type:"telegram",languageCodes:["es","pt"],name:"OpenStreetMap Latam Telegram",description:"OpenStreetMap Telegram for Latin America",url:"https://t.me/OSMLatam",contacts:[{name:"OSM LATAM",email:"info@osmlatam.org"}]},"LATAM-Twitter":{id:"LATAM-Twitter",featureId:"latam",type:"twitter",languageCodes:["es","pt"],name:"OpenStreetMap Latam Twitter",description:"Follow us on Twitter at {url}",url:"https://twitter.com/osmlatam",contacts:[{name:"OSM LATAM",email:"info@osmlatam.org"}]},"osm-latam":{id:"osm-latam",featureId:"latam",type:"group",languageCodes:["es","pt"],name:"OpenStreetMap Latam",description:"Supporting OpenStreetMap in Latin America",url:"https://osmlatam.org/",contacts:[{name:"OSM LATAM",email:"info@osmlatam.org"}],events:[{id:"sotm-latam-2018",i18n:true,name:"State of the Map Latam 2018",description:"State of the Map Latam is the annual conference for all mappers and users of OpenStreetMap in Latin America. The program includes talks, panels, workshops, and mapathons related to OpenStreetMap.",where:"Buenos Aires, Argentina",when:"2018-sep-24",url:"https://state.osmlatam.org/"}]},"OSM-Discord":{id:"OSM-Discord",type:"discord",languageCodes:["en"],name:"OpenStreetMap Discord",description:"Get in touch with other mappers via Discord",url:"https://discord.gg/SRZUYUz",contacts:[{name:"Austin Harrison",email:"jaustinharrison@gmail.com"}]},"OSM-Facebook":{id:"OSM-Facebook",type:"facebook",languageCodes:["en"],name:"OpenStreetMap on Facebook",description:"Like us on Facebook for news and updates about OpenStreetMap.",url:"https://www.facebook.com/OpenStreetMap",contacts:[{name:"Harry Wood",email:"mail@harrywood.co.uk"}]},"OSM-help":{id:"OSM-help",type:"forum",languageCodes:["en"],name:"OpenStreetMap Help",description:"Ask a question and get answers on OSM's community-driven question and answer site.",extendedDescription:"{url} is for everyone who needs help with OpenStreetMap.  Whether you are a beginner mapper or have a technical question, we're here to help!",url:"https://help.openstreetmap.org/",contacts:[{name:"OSMF Operations",email:"operations@osmfoundation.org"}]},"OSM-IRC":{id:"OSM-IRC",type:"irc",languageCodes:["en"],name:"OpenStreetMap IRC",description:"Join #osm on irc.oftc.net (port 6667)",url:"https://webchat.oftc.net/?channels=osm",contacts:[{name:"Harry Wood",email:"mail@harrywood.co.uk"}]},"OSM-Reddit":{id:"OSM-Reddit",type:"reddit",languageCodes:["en"],name:"OpenStreetMap on Reddit",description:"/r/openstreetmap/ is a great place to learn more about OpenStreetMap.  Ask us anything!",url:"https://www.reddit.com/r/openstreetmap/",contacts:[{name:"Serge Wroclawski",email:"emacsen@gmail.com"}]},"OSM-Telegram":{id:"OSM-Telegram",type:"telegram",languageCodes:["en"],name:"OpenStreetMap Telegram",description:"Join the OpenStreetMap Telegram global supergroup at {url}",url:"https://t.me/OpenStreetMapOrg",contacts:[{name:"Max N",email:"abonnements@revolwear.com"}]},"OSM-Twitter":{id:"OSM-Twitter",type:"twitter",languageCodes:["en"],name:"OpenStreetMap Twitter",description:"Follow us on Twitter at {url}",url:"https://twitter.com/openstreetmap",contacts:[{name:"Harry Wood",email:"mail@harrywood.co.uk"}]},OSMF:{id:"OSMF",type:"group",languageCodes:["en","nl","fr","it","jp","ru"],name:"OpenStreetMap Foundation",description:"OSMF is a UK-based not-for-profit that supports the OpenStreetMap Project",extendedDescription:"OSMF supports the OpenStreetMap by fundraising, maintaining the servers which power OSM, organizing the annual State of the Map conference, and coordinating the volunteers who keep OSM running. You can show your support and have a voice in the direction of OpenStreetMap by joining as an OSMF member here: {signupUrl}",url:"https://wiki.osmfoundation.org/wiki/Main_Page",signupUrl:"https://join.osmfoundation.org/",contacts:[{name:"OSMF Board",email:"board@osmfoundation.org"}],events:[{id:"sotm2018",i18n:true,name:"State of the Map 2018",description:"Join us for 3 days in Milan, Italy for the annual worldwide OpenStreetMap conference, bringing together everyone in the community to socialize, share, and learn.",where:"Milan, Italy",when:"2018-jul-28",url:"https://2018.stateofthemap.org/"}]}};
+
+       var dataImagery = [{id:"sjcgis.org-Aerials_2013_WM",name:"2013 aerial imagery for San Juan County WA",type:"tms",template:"https://sjcgis.org/arcgis/rest/services/Basemaps/Aerials_2013_WM/MapServer/tile/{zoom}/{y}/{x}",endDate:"2013-06-01T00:00:00.000Z",startDate:"2013-05-01T00:00:00.000Z",zoomExtent:[0,19],polygon:[[[-123.02167,48.44667],[-122.94666,48.44781],[-122.90151,48.41307],[-122.80263,48.40771],[-122.79199,48.4428],[-122.80881,48.47866],[-122.73912,48.49572],[-122.78547,48.62161],[-122.73088,48.63613],[-122.7556,48.71208],[-122.95747,48.71593],[-122.97086,48.69577],[-122.9997,48.6978],[-123.00348,48.73427],[-123.0433,48.7431],[-123.07626,48.70528],[-123.08485,48.66335],[-123.12845,48.6638],[-123.22698,48.70302],[-123.24655,48.68353],[-123.17445,48.64702],[-123.21514,48.60107],[-123.21393,48.57336],[-123.1808,48.56575],[-123.16621,48.52006],[-123.10235,48.47684],[-123.02167,48.44667]],[[-122.98339,48.78214],[-122.93498,48.76653],[-122.91181,48.73858],[-122.80229,48.73982],[-122.81946,48.75499],[-122.9343,48.79572],[-122.98374,48.79436],[-122.98339,48.78214]]],terms_url:"https://www.arcgis.com/home/item.html?id=7bf69831861d438d8365cf9f46662523",terms_text:"Pictometry Inc, San Juan County GIS",description:"Public domain aerial imagery taken in May/June 2013 from San Juan County, WA. Resolution is 9 inch."},{id:"sjcgis.org-Aerials_2016_WM",name:"2016 aerial imagery for San Juan County WA",type:"tms",template:"https://sjcgis.org/arcgis/rest/services/Basemaps/Aerials_2016_WM/MapServer/tile/{zoom}/{y}/{x}",endDate:"2016-07-01T00:00:00.000Z",startDate:"2016-05-01T00:00:00.000Z",zoomExtent:[0,19],polygon:[[[-123.02167,48.44667],[-122.94666,48.44781],[-122.90151,48.41307],[-122.80263,48.40771],[-122.79199,48.4428],[-122.80881,48.47866],[-122.73912,48.49572],[-122.78547,48.62161],[-122.73088,48.63613],[-122.7556,48.71208],[-122.95747,48.71593],[-122.97086,48.69577],[-122.9997,48.6978],[-123.00348,48.73427],[-123.0433,48.7431],[-123.07626,48.70528],[-123.08485,48.66335],[-123.12845,48.6638],[-123.22698,48.70302],[-123.24655,48.68353],[-123.17445,48.64702],[-123.21514,48.60107],[-123.21393,48.57336],[-123.1808,48.56575],[-123.16621,48.52006],[-123.10235,48.47684],[-123.02167,48.44667]],[[-122.98339,48.78214],[-122.93498,48.76653],[-122.91181,48.73858],[-122.80229,48.73982],[-122.81946,48.75499],[-122.9343,48.79572],[-122.98374,48.79436],[-122.98339,48.78214]]],best:true,description:"Public domain aerial imagery taken in May, June, and July from San Juan County, WA. Resolution is 6 inch countywide."},{id:"OS7",name:"7th Series (OS7)",type:"tms",template:"https://ooc.openstreetmap.org/os7/{zoom}/{x}/{y}.jpg",zoomExtent:[6,14],polygon:[[[-3.04697,54.83947],[-3.05864,55.24157],[-4.04466,55.23296],[-4.07076,55.63654],[-4.61904,55.6253],[-4.64926,56.02834],[-4.48961,56.03217],[-4.52394,56.4367],[-3.86751,56.44581],[-3.84176,56.04944],[-3.44591,56.04982],[-3.43492,55.64429],[-2.79497,55.65049],[-2.80802,56.05749],[-3.20661,56.05327],[-3.21417,56.45682],[-3.73808,56.45075],[-3.74185,56.86175],[-5.07669,56.83171],[-5.03652,56.42949],[-5.16012,56.42493],[-5.12991,56.01798],[-5.92607,55.99456],[-5.85518,55.23335],[-5.2281,55.25136],[-5.21024,55.02765],[-4.65956,55.04181],[-4.64548,54.81633],[-3.04697,54.83947]],[[-1.74835,57.76428],[-1.74065,57.36],[-2.58022,57.35537],[-2.57437,57.04526],[-2.08408,57.04799],[-2.07651,56.64276],[-2.7345,56.63906],[-2.73781,56.81718],[-3.23885,56.81437],[-3.24896,57.35168],[-3.75629,57.34889],[-3.76219,57.65868],[-4.76587,57.64473],[-4.81008,58.26984],[-5.2511,58.26547],[-5.27376,58.66767],[-3.55818,58.69887],[-3.56607,58.9316],[-3.37656,58.93444],[-3.38584,59.20171],[-3.18713,59.20215],[-3.18747,59.24176],[-3.06757,59.24203],[-3.07855,59.42135],[-2.37131,59.42763],[-2.36856,59.0222],[-2.67893,59.02078],[-2.67343,58.83935],[-2.86569,58.83651],[-2.8602,58.53531],[-3.03461,58.53316],[-3.0195,58.13159],[-3.6156,58.11982],[-3.61276,57.97754],[-3.71092,57.97562],[-3.69932,57.75364],[-1.74835,57.76428]],[[-7.07492,56.76319],[-7.73471,56.73566],[-7.7911,57.13994],[-7.70662,57.14343],[-7.76299,57.54311],[-7.60218,57.54968],[-7.62134,57.68452],[-7.72499,57.6803],[-7.73017,57.71673],[-7.60264,57.72191],[-7.59964,57.70083],[-7.48634,57.70544],[-7.49528,57.76813],[-7.37493,57.77301],[-7.39337,57.90201],[-7.23591,57.90838],[-7.24323,57.95948],[-7.13916,57.96369],[-7.14508,58.00495],[-7.23742,58.00122],[-7.23297,57.97018],[-7.31133,57.96702],[-7.31538,57.99525],[-7.24904,57.99792],[-7.28082,58.21856],[-7.07355,58.22687],[-7.0827,58.29018],[-6.80743,58.30119],[-6.82768,58.44074],[-6.50305,58.45366],[-6.51532,58.53792],[-6.16474,58.55184],[-6.10631,58.14894],[-6.33469,58.13976],[-6.27759,57.74145],[-6.96138,57.71366],[-6.93332,57.51615],[-7.10017,57.50933],[-7.05218,57.169],[-7.13111,57.16575],[-7.07492,56.76319]],[[0.41076,50.82087],[0.98102,50.80612],[0.99437,51.01173],[1.45062,50.99998],[1.47712,51.40552],[0.89619,51.42035],[0.88243,51.21039],[0.505,51.22007],[0.52273,51.49042],[-0.63397,51.51063],[-0.63671,51.44563],[-1.09951,51.45248],[-1.11485,51.04814],[-0.52987,51.0394],[-0.52751,51.10203],[0.42806,51.08778],[0.41076,50.82087]],[[-5.39457,51.9619],[-4.79581,51.98051],[-4.78873,51.89403],[-4.20265,51.91228],[-4.22941,52.23828],[-3.6552,52.25602],[-3.62228,51.85483],[-4.21342,51.8364],[-4.18551,51.49342],[-4.77661,51.47485],[-4.78476,51.57525],[-5.08799,51.56574],[-5.09422,51.64242],[-5.3678,51.63385],[-5.39457,51.9619]],[[-1.2389,54.03537],[-0.62779,54.02811],[-0.62004,54.25257],[-0.57268,54.25201],[-0.55865,54.65542],[-1.17998,54.66269],[-1.18782,54.43788],[-1.23221,54.4384],[-1.2389,54.03537]],[[-2.67227,50.97677],[-2.09961,50.98023],[-2.10572,51.37949],[-1.58877,51.38259],[-1.59499,51.78589],[-2.17563,51.78891],[-2.17154,51.38392],[-2.67846,51.38088],[-2.67227,50.97677]],[[-2.60155,53.27155],[-3.22973,53.2685],[-3.23522,53.67231],[-2.60704,53.67533],[-2.60155,53.27155]],[[-0.03942,51.7728],[-0.61563,51.77577],[-0.60465,52.58414],[-0.02843,52.58122],[-0.03942,51.7728]],[[-2.91529,54.03523],[-3.53229,54.02866],[-3.54484,54.43397],[-2.92785,54.44047],[-2.91529,54.03523]],[[-6.30583,57.19689],[-6.3539,57.60015],[-5.69111,57.62295],[-5.64305,57.21995],[-6.30583,57.19689]],[[1.17115,52.57236],[1.19865,52.97594],[1.79788,52.96106],[1.77037,52.55734],[1.17115,52.57236]],[[-2.40225,55.56317],[-2.40088,55.9657],[-1.76084,55.96501],[-1.76222,55.56248],[-2.40225,55.56317]],[[-6.32574,56.38537],[-7.0196,56.35747],[-7.07316,56.76384],[-6.3793,56.79145],[-6.32574,56.38537]],[[-2.42258,54.4431],[-2.42574,54.84188],[-1.79931,54.84354],[-1.79614,54.44477],[-2.42258,54.4431]],[[-3.02701,51.37935],[-3.60589,51.37017],[-3.62237,51.77304],[-3.04349,51.78215],[-3.02701,51.37935]],[[-3.05379,52.18979],[-3.06615,52.59374],[-2.48364,52.60034],[-2.47128,52.19646],[-3.05379,52.18979]],[[-5.67673,51.70425],[-5.67886,51.73101],[-5.4636,51.7376],[-5.46146,51.71084],[-5.67673,51.70425]],[[-5.84427,59.10882],[-5.8469,59.13578],[-5.79558,59.1371],[-5.79294,59.11014],[-5.84427,59.10882]],[[-8.64844,57.77861],[-8.66597,57.87717],[-8.46649,57.88721],[-8.44897,57.78867],[-8.64844,57.77861]],[[-4.52711,59.01532],[-4.52859,59.03319],[-4.47623,59.03434],[-4.47475,59.01646],[-4.52711,59.01532]],[[-7.68062,58.25838],[-7.68655,58.2938],[-7.53445,58.30084],[-7.52852,58.26542],[-7.68062,58.25838]],[[-6.19102,59.08009],[-6.19546,59.11586],[-6.12542,59.11815],[-6.12099,59.08238],[-6.19102,59.08009]],[[-4.42669,59.07112],[-4.42805,59.0887],[-4.37621,59.08976],[-4.37485,59.07218],[-4.42669,59.07112]]]},{id:"ACT2017",name:"ACTmapi Imagery 2017",type:"wms",template:"https://data.actmapi.act.gov.au/arcgis/rest/services/actmapi/imagery2017mga/ImageServer/exportImage?f=image&format=jpeg&imageSR=3857&bboxSR=3857&bbox={bbox}&size={width},{height}&foo={proj}",projection:"EPSG:3857",endDate:"2017-05-01T00:00:00.000Z",startDate:"2017-05-01T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[149.085,-35.1171],[149.1509,-35.1157],[149.1509,-35.1335],[149.1736,-35.1335],[149.1739,-35.1512],[149.1957,-35.1512],[149.1962,-35.1689],[149.2177,-35.1683],[149.2192,-35.2048],[149.241,-35.2043],[149.2419,-35.2223],[149.2632,-35.2222],[149.2644,-35.2575],[149.3085,-35.2571],[149.309,-35.2751],[149.3531,-35.2742],[149.3536,-35.2921],[149.3974,-35.2917],[149.3988,-35.3452],[149.3777,-35.3457],[149.3772,-35.3641],[149.3341,-35.3648],[149.3385,-35.5451],[149.1624,-35.5487],[149.1727,-35.9271],[149.0175,-35.9294],[149.0172,-35.9113],[148.9506,-35.9125],[148.9499,-35.8946],[148.9277,-35.8949],[148.9272,-35.8768],[148.9053,-35.8768],[148.9042,-35.8586],[148.8826,-35.859],[148.8805,-35.7695],[148.8361,-35.7698],[148.8359,-35.7521],[148.8138,-35.7524],[148.8131,-35.7343],[148.7909,-35.7347],[148.7911,-35.7167],[148.7688,-35.7167],[148.7617,-35.3924],[148.7839,-35.3921],[148.7822,-35.3022],[148.8041,-35.302],[148.8033,-35.2836],[148.8474,-35.2832],[148.8469,-35.2652],[148.8689,-35.2643],[148.8687,-35.2466],[148.9128,-35.246],[148.9123,-35.2282],[148.9341,-35.228],[148.9329,-35.1919],[148.999,-35.1904],[148.9986,-35.1724],[149.0206,-35.172],[149.0204,-35.154],[149.0637,-35.1532],[149.0635,-35.1355],[149.0857,-35.1348],[149.085,-35.1171]]],terms_url:"https://actmapi-actgov.opendata.arcgis.com/datasets/884456bde6fd46d68e0c05479f55d548",terms_text:"© Jacobs Group (Australia) Pty Ltd and Australian Capital Territory",icon:"http://actmapi.act.gov.au/img/apple-touch-icon.png"},{id:"ACT2018",name:"ACTmapi Imagery 2018",type:"wms",template:"https://data.actmapi.act.gov.au/arcgis/rest/services/actmapi/imagery2018mga/ImageServer/exportImage?f=image&format=jpeg&imageSR=3857&bboxSR=3857&bbox={bbox}&size={width},{height}&foo={proj}",projection:"EPSG:3857",endDate:"2018-03-19T00:00:00.000Z",startDate:"2018-03-19T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[149.2695,-35.4381],[149.2669,-35.348],[149.3329,-35.3468],[149.3334,-35.3648],[149.3774,-35.364],[149.3769,-35.3459],[149.3989,-35.3455],[149.3984,-35.3275],[149.4094,-35.3273],[149.4088,-35.3092],[149.3978,-35.3095],[149.3973,-35.2914],[149.3533,-35.2923],[149.3528,-35.2743],[149.3089,-35.2751],[149.3084,-35.2571],[149.2644,-35.2579],[149.2634,-35.2219],[149.2415,-35.2223],[149.241,-35.2043],[149.219,-35.2047],[149.218,-35.1687],[149.1961,-35.1691],[149.1956,-35.151],[149.1737,-35.1514],[149.1732,-35.1334],[149.1512,-35.1338],[149.1508,-35.1158],[149.085,-35.1169],[149.0854,-35.135],[149.0635,-35.1353],[149.0639,-35.1534],[149.0201,-35.1541],[149.0205,-35.1721],[148.9985,-35.1725],[148.999,-35.1905],[148.9331,-35.1916],[148.934,-35.2276],[148.912,-35.228],[148.9124,-35.246],[148.8685,-35.2467],[148.8689,-35.2647],[148.8469,-35.265],[148.8473,-35.2831],[148.8034,-35.2837],[148.8038,-35.3018],[148.7818,-35.3021],[148.7838,-35.3922],[148.8058,-35.3919],[148.8086,-35.5181],[148.7976,-35.5182],[148.7994,-35.5993],[148.8766,-35.5982],[148.8747,-35.517],[148.8527,-35.5174],[148.8508,-35.4363],[148.8398,-35.4364],[148.8388,-35.3914],[149.0039,-35.3888],[149.0048,-35.4248],[149.0268,-35.4244],[149.0277,-35.4605],[149.0497,-35.4601],[149.0511,-35.5142],[149.1613,-35.5122],[149.1594,-35.4402],[149.2695,-35.4381]]],terms_text:"© Jacobs Group (Australia) Pty Ltd and Australian Capital Territory",best:true,icon:"http://actmapi.act.gov.au/img/apple-touch-icon.png"},{id:"AGRI-black_and_white-2.5m",name:"AGRI black-and-white 2.5m",type:"tms",template:"https://{switch:a,b,c}.agri.openstreetmap.org/layer/au_ga_agri/{zoom}/{x}/{y}.png",endDate:"2011-01-01T00:00:00.000Z",startDate:"2006-01-01T00:00:00.000Z",zoomExtent:[0,16],polygon:[[[112.28778,-28.78459],[112.71488,-31.13894],[114.11263,-34.17829],[113.60788,-37.39012],[117.17992,-37.45179],[119.31538,-37.42096],[121.72262,-36.70839],[123.81925,-35.76893],[125.9547,-34.3066],[127.97368,-33.7274],[130.07031,-33.24166],[130.10913,-33.8887],[131.00214,-34.04971],[131.0798,-34.72257],[132.28342,-35.39],[134.18591,-35.61126],[133.8753,-37.1119],[134.8459,-37.6365],[139.7769,-37.82075],[139.93223,-39.4283],[141.6017,-39.8767],[142.3783,-39.36829],[142.3783,-40.64702],[142.49478,-42.07487],[144.009,-44.06013],[147.23161,-44.03222],[149.05645,-42.53431],[149.52237,-40.99959],[149.9494,-40.85292],[150.8036,-38.09627],[151.81313,-38.12682],[156.20052,-22.66771],[156.20052,-20.10109],[156.62761,-17.41763],[155.26869,-17.19521],[154.14272,-19.51662],[153.5215,-18.34139],[153.05558,-16.5636],[152.78379,-15.25677],[152.27905,-13.4135],[151.3472,-12.39177],[149.48354,-12.05024],[146.9598,-9.99241],[135.9719,-9.99241],[130.3032,-10.33636],[128.09016,-12.16414],[125.91588,-12.31591],[124.3239,-11.86033],[122.03323,-11.97429],[118.26706,-16.9353],[115.93747,-19.11357],[114.0738,-21.11863],[113.49141,-22.59603],[112.28778,-28.78459]]],terms_url:"https://data.gov.au/dataset/agri-the-australian-geographic-reference-image",terms_text:"AGRI, Geoscience Australia"},{id:"AIV_DHMV_II_HILL_25cm",name:"AIV Digitaal Hoogtemodel Vlaanderen II, multidirectionale hillshade 0,25 m",type:"wms",template:"https://geoservices.informatievlaanderen.be/raadpleegdiensten/dhmv/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=DHMV_II_HILL_25cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",polygon:[[[5.98494,50.70723],[5.98494,50.7672],[5.91079,50.82275],[5.75561,50.83533],[5.75423,50.86264],[5.8332,50.93323],[5.85517,51.02661],[5.90941,51.07754],[5.91216,51.18225],[5.87851,51.20807],[5.77414,51.23689],[5.68419,51.24075],[5.62308,51.26998],[5.62308,51.29789],[5.54,51.34724],[5.4473,51.34853],[5.39855,51.32107],[5.31203,51.32322],[5.26671,51.36182],[5.19942,51.37254],[5.18294,51.39611],[5.15891,51.4924],[5.08338,51.53086],[5.03257,51.53983],[4.95566,51.50522],[4.90142,51.50565],[4.83825,51.54367],[4.77096,51.55862],[4.7119,51.54709],[4.64049,51.49667],[4.6144,51.4971],[4.56565,51.53171],[4.48256,51.53043],[4.42626,51.52189],[4.3006,51.46974],[4.29511,51.42566],[4.18113,51.42437],[4.13718,51.39525],[4.13856,51.35067],[4.05204,51.30047],[3.93325,51.27298],[3.86527,51.27084],[3.86321,51.29016],[3.76296,51.32407],[3.59336,51.35925],[3.47732,51.33137],[3.42582,51.39739],[3.23562,51.35153],[3.226,51.36568],[3.17794,51.36182],[3.16009,51.33223],[3.06258,51.30219],[2.75084,51.1702],[2.47001,51.07452],[2.49267,50.99378],[2.53112,50.95573],[2.50915,50.91159],[2.53043,50.82145],[2.5991,50.76416],[2.66501,50.76459],[2.77007,50.66677],[2.8971,50.65894],[2.99186,50.72549],[3.11339,50.72636],[3.23699,50.70592],[3.36265,50.6585],[3.47114,50.70201],[3.63936,50.66721],[3.69842,50.68156],[3.72794,50.71245],[3.81858,50.68418],[3.87488,50.64152],[4.09255,50.64283],[4.15023,50.66329],[4.20653,50.64413],[4.31365,50.64283],[4.45235,50.68766],[4.53475,50.67808],[4.61303,50.69549],[4.67689,50.69592],[4.72701,50.73201],[4.78057,50.73201],[4.79979,50.71288],[4.86228,50.71288],[4.88563,50.69549],[4.96116,50.69549],[5.03119,50.65763],[5.10741,50.65023],[5.2008,50.64892],[5.23581,50.66546],[5.32508,50.6659],[5.36696,50.682],[5.42121,50.66416],[5.52215,50.6746],[5.6224,50.72418],[5.67527,50.69853],[5.73981,50.69723],[5.77277,50.67199],[5.8126,50.66024],[5.90804,50.65981],[5.98494,50.70723]]],terms_text:"© agentschap Informatie Vlaanderen",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/BE_GRB_Flanders_TMS.png"},{id:"AIV_DHMV_II_SVF_25cm",name:"AIV Digitaal Hoogtemodel Vlaanderen II, Skyview factor 0,25 m",type:"wms",template:"https://geoservices.informatievlaanderen.be/raadpleegdiensten/dhmv/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=DHMV_II_SVF_25cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",polygon:[[[5.98494,50.70723],[5.98494,50.7672],[5.91079,50.82275],[5.75561,50.83533],[5.75423,50.86264],[5.8332,50.93323],[5.85517,51.02661],[5.90941,51.07754],[5.91216,51.18225],[5.87851,51.20807],[5.77414,51.23689],[5.68419,51.24075],[5.62308,51.26998],[5.62308,51.29789],[5.54,51.34724],[5.4473,51.34853],[5.39855,51.32107],[5.31203,51.32322],[5.26671,51.36182],[5.19942,51.37254],[5.18294,51.39611],[5.15891,51.4924],[5.08338,51.53086],[5.03257,51.53983],[4.95566,51.50522],[4.90142,51.50565],[4.83825,51.54367],[4.77096,51.55862],[4.7119,51.54709],[4.64049,51.49667],[4.6144,51.4971],[4.56565,51.53171],[4.48256,51.53043],[4.42626,51.52189],[4.3006,51.46974],[4.29511,51.42566],[4.18113,51.42437],[4.13718,51.39525],[4.13856,51.35067],[4.05204,51.30047],[3.93325,51.27298],[3.86527,51.27084],[3.86321,51.29016],[3.76296,51.32407],[3.59336,51.35925],[3.47732,51.33137],[3.42582,51.39739],[3.23562,51.35153],[3.226,51.36568],[3.17794,51.36182],[3.16009,51.33223],[3.06258,51.30219],[2.75084,51.1702],[2.47001,51.07452],[2.49267,50.99378],[2.53112,50.95573],[2.50915,50.91159],[2.53043,50.82145],[2.5991,50.76416],[2.66501,50.76459],[2.77007,50.66677],[2.8971,50.65894],[2.99186,50.72549],[3.11339,50.72636],[3.23699,50.70592],[3.36265,50.6585],[3.47114,50.70201],[3.63936,50.66721],[3.69842,50.68156],[3.72794,50.71245],[3.81858,50.68418],[3.87488,50.64152],[4.09255,50.64283],[4.15023,50.66329],[4.20653,50.64413],[4.31365,50.64283],[4.45235,50.68766],[4.53475,50.67808],[4.61303,50.69549],[4.67689,50.69592],[4.72701,50.73201],[4.78057,50.73201],[4.79979,50.71288],[4.86228,50.71288],[4.88563,50.69549],[4.96116,50.69549],[5.03119,50.65763],[5.10741,50.65023],[5.2008,50.64892],[5.23581,50.66546],[5.32508,50.6659],[5.36696,50.682],[5.42121,50.66416],[5.52215,50.6746],[5.6224,50.72418],[5.67527,50.69853],[5.73981,50.69723],[5.77277,50.67199],[5.8126,50.66024],[5.90804,50.65981],[5.98494,50.70723]]],terms_text:"© agentschap Informatie Vlaanderen",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/BE_GRB_Flanders_TMS.png"},{id:"AGIV10cm",name:"AIV Flanders 2013-2015 aerial imagery 10cm",type:"wms",template:"https://geoservices.informatievlaanderen.be/raadpleegdiensten/OGW/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=OGWRGB13_15VL&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",polygon:[[[5.98494,50.70723],[5.98494,50.7672],[5.91079,50.82275],[5.75561,50.83533],[5.75423,50.86264],[5.8332,50.93323],[5.85517,51.02661],[5.90941,51.07754],[5.91216,51.18225],[5.87851,51.20807],[5.77414,51.23689],[5.68419,51.24075],[5.62308,51.26998],[5.62308,51.29789],[5.54,51.34724],[5.4473,51.34853],[5.39855,51.32107],[5.31203,51.32322],[5.26671,51.36182],[5.19942,51.37254],[5.18294,51.39611],[5.15891,51.4924],[5.08338,51.53086],[5.03257,51.53983],[4.95566,51.50522],[4.90142,51.50565],[4.83825,51.54367],[4.77096,51.55862],[4.7119,51.54709],[4.64049,51.49667],[4.6144,51.4971],[4.56565,51.53171],[4.48256,51.53043],[4.42626,51.52189],[4.3006,51.46974],[4.29511,51.42566],[4.18113,51.42437],[4.13718,51.39525],[4.13856,51.35067],[4.05204,51.30047],[3.93325,51.27298],[3.86527,51.27084],[3.86321,51.29016],[3.76296,51.32407],[3.59336,51.35925],[3.47732,51.33137],[3.42582,51.39739],[3.23562,51.35153],[3.226,51.36568],[3.17794,51.36182],[3.16009,51.33223],[3.06258,51.30219],[2.75084,51.1702],[2.47001,51.07452],[2.49267,50.99378],[2.53112,50.95573],[2.50915,50.91159],[2.53043,50.82145],[2.5991,50.76416],[2.66501,50.76459],[2.77007,50.66677],[2.8971,50.65894],[2.99186,50.72549],[3.11339,50.72636],[3.23699,50.70592],[3.36265,50.6585],[3.47114,50.70201],[3.63936,50.66721],[3.69842,50.68156],[3.72794,50.71245],[3.81858,50.68418],[3.87488,50.64152],[4.09255,50.64283],[4.15023,50.66329],[4.20653,50.64413],[4.31365,50.64283],[4.45235,50.68766],[4.53475,50.67808],[4.61303,50.69549],[4.67689,50.69592],[4.72701,50.73201],[4.78057,50.73201],[4.79979,50.71288],[4.86228,50.71288],[4.88563,50.69549],[4.96116,50.69549],[5.03119,50.65763],[5.10741,50.65023],[5.2008,50.64892],[5.23581,50.66546],[5.32508,50.6659],[5.36696,50.682],[5.42121,50.66416],[5.52215,50.6746],[5.6224,50.72418],[5.67527,50.69853],[5.73981,50.69723],[5.77277,50.67199],[5.8126,50.66024],[5.90804,50.65981],[5.98494,50.70723]]],terms_text:"© agentschap Informatie Vlaanderen",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/BE_GRB_Flanders_TMS.png"},{id:"AGIVFlandersGRB",name:"AIV Flanders GRB",type:"tms",template:"https://tile.informatievlaanderen.be/ws/raadpleegdiensten/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=grb_bsk&STYLE=&FORMAT=image/png&tileMatrixSet=GoogleMapsVL&tileMatrix={zoom}&tileRow={y}&tileCol={x}",zoomExtent:[0,21],polygon:[[[4.40434,50.78177],[4.45538,50.79328],[4.40268,50.8961],[4.331,50.90094],[4.27142,50.82002],[4.30648,50.81244],[4.36348,50.77251],[4.40434,50.78177],[4.43104,50.73831],[4.31859,50.72022],[4.29031,50.69402],[4.14853,50.72834],[3.95877,50.68947],[3.9097,50.69245],[3.89113,50.74333],[3.77568,50.74789],[3.75857,50.78045],[3.67752,50.77062],[3.64047,50.72242],[3.54139,50.73377],[3.54062,50.76307],[3.46005,50.76556],[3.3522,50.70614],[3.30562,50.75466],[3.17839,50.75609],[3.15329,50.78564],[3.02008,50.77312],[2.99943,50.81035],[2.91648,50.75356],[2.85476,50.75745],[2.86521,50.70565],[2.78473,50.7369],[2.713,50.81534],[2.63518,50.8129],[2.59909,50.85306],[2.59031,50.91893],[2.63262,50.94575],[2.57372,51.00842],[2.54165,51.09345],[3.15582,51.32714],[3.18307,51.37128],[3.23443,51.34669],[3.36356,51.37228],[3.38101,51.27446],[3.44201,51.24313],[3.52759,51.24604],[3.51511,51.28753],[3.58984,51.30577],[3.7783,51.26235],[3.79088,51.21429],[3.92412,51.21938],[4.16613,51.2929],[4.26163,51.37647],[4.42065,51.36473],[4.39108,51.45149],[4.54747,51.48571],[4.53541,51.42303],[4.64953,51.42758],[4.76359,51.5088],[4.84188,51.48074],[4.8383,51.42174],[4.89366,51.41698],[4.92785,51.39544],[5.02894,51.48789],[5.08018,51.46948],[5.10202,51.42892],[5.07117,51.3935],[5.13109,51.35137],[5.13448,51.31547],[5.20031,51.32172],[5.24189,51.30534],[5.23036,51.26436],[5.34828,51.27492],[5.41741,51.26229],[5.4863,51.30197],[5.5556,51.26986],[5.56045,51.22233],[5.76027,51.18505],[5.85578,51.14463],[5.75909,51.03588],[5.72665,50.91307],[5.64522,50.8372],[5.68732,50.804],[5.47863,50.72352],[5.41196,50.72368],[5.38908,50.74775],[5.30912,50.71802],[5.16984,50.72257],[5.16508,50.6957],[5.05642,50.71567],[5.00339,50.76594],[4.92545,50.74275],[4.90869,50.76968],[4.83106,50.77028],[4.76014,50.80544],[4.64309,50.79755],[4.65486,50.7552],[4.62021,50.74348],[4.59727,50.76359],[4.52399,50.72724],[4.49455,50.75679],[4.43104,50.73831],[4.40434,50.78177]],[[5.67393,50.75373],[5.88438,50.70114],[5.94172,50.76524],[5.76662,50.78761],[5.67393,50.75373]],[[4.91171,51.43492],[4.93711,51.42614],[4.95891,51.45471],[4.92801,51.46049],[4.91171,51.43492]]],terms_text:"© agentschap Informatie Vlaanderen",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/BE_GRB_Flanders_TMS.png"},{id:"AGIV",name:"AIV Flanders most recent aerial imagery",type:"tms",template:"https://tile.informatievlaanderen.be/ws/raadpleegdiensten/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=omwrgbmrvl&STYLE=&FORMAT=image/png&tileMatrixSet=GoogleMapsVL&tileMatrix={zoom}&tileRow={y}&tileCol={x}",zoomExtent:[0,21],polygon:[[[4.7737,50.79368],[4.8379,50.75916],[4.92511,50.73483],[4.98862,50.76264],[5.036,50.73527],[5.0645,50.69875],[5.1644,50.69005],[5.19393,50.71179],[5.3086,50.71245],[5.36422,50.74396],[5.43391,50.70766],[5.54378,50.74396],[5.61141,50.73527],[5.71166,50.73505],[5.77105,50.74092],[5.81946,50.70484],[5.89568,50.70614],[5.9204,50.72831],[5.91971,50.74504],[5.89843,50.77675],[5.81569,50.76351],[5.77517,50.79216],[5.69552,50.79737],[5.69072,50.82319],[5.66325,50.82904],[5.65467,50.86481],[5.72368,50.9012],[5.77174,50.95443],[5.75114,50.97368],[5.78273,51.00048],[5.78032,51.0523],[5.80848,51.05338],[5.80951,51.07668],[5.84315,51.09372],[5.84418,51.1101],[5.82599,51.11851],[5.86959,51.14953],[5.8277,51.17365],[5.792,51.16891],[5.7738,51.19344],[5.666,51.1928],[5.64059,51.21065],[5.5709,51.22829],[5.56231,51.27535],[5.49811,51.30605],[5.47099,51.30219],[5.45794,51.2893],[5.43048,51.28823],[5.41434,51.27363],[5.36593,51.282],[5.33641,51.28265],[5.32577,51.26718],[5.24337,51.27406],[5.24989,51.31335],[5.20972,51.32794],[5.14174,51.31914],[5.14209,51.35367],[5.08647,51.39482],[5.11565,51.43615],[5.08853,51.47508],[5.05214,51.47636],[5.04561,51.4939],[5.02364,51.4939],[5.01609,51.48663],[4.82966,51.48663],[4.83001,51.50009],[4.76855,51.51099],[4.74727,51.50394],[4.658,51.4492],[4.65663,51.43144],[4.53956,51.43379],[4.55466,51.48171],[4.5296,51.48748],[4.46368,51.48235],[4.37167,51.45562],[4.37751,51.40553],[4.4139,51.37511],[4.39776,51.36118],[4.34798,51.36675],[4.34627,51.38497],[4.20344,51.38111],[4.2213,51.3511],[4.15641,51.29832],[4.05101,51.25193],[4.00638,51.25279],[3.95144,51.22205],[3.88484,51.22936],[3.81926,51.21797],[3.80038,51.22872],[3.80107,51.26074],[3.74442,51.28007],[3.63593,51.29746],[3.58615,51.31378],[3.5065,51.28308],[3.51371,51.25021],[3.43921,51.25064],[3.39766,51.27513],[3.37329,51.31678],[3.39114,51.34274],[3.3623,51.37961],[3.24283,51.35474],[3.20266,51.37039],[3.15631,51.35196],[3.14223,51.33051],[2.53318,51.09092],[2.56476,50.9968],[2.61832,50.9527],[2.57781,50.91852],[2.5936,50.88431],[2.58948,50.85051],[2.6245,50.80757],[2.71033,50.8054],[2.78449,50.71853],[2.87375,50.69983],[2.86483,50.74765],[2.92525,50.75156],[2.97263,50.77024],[2.97332,50.79889],[3.00078,50.79759],[3.01383,50.76676],[3.09863,50.76611],[3.13537,50.78196],[3.16832,50.75004],[3.30428,50.74613],[3.31561,50.71484],[3.3678,50.70179],[3.44848,50.75091],[3.53293,50.75156],[3.53328,50.72549],[3.63902,50.7131],[3.69086,50.7672],[3.75163,50.76177],[3.7712,50.73874],[3.87729,50.73983],[3.87969,50.70418],[3.9202,50.68352],[3.99951,50.682],[4.06749,50.68961],[4.16018,50.72049],[4.17632,50.70331],[4.24739,50.68222],[4.31708,50.69418],[4.31846,50.70962],[4.38403,50.71027],[4.38437,50.72353],[4.47226,50.74743],[4.52617,50.71853],[4.55226,50.73766],[4.64908,50.73722],[4.6532,50.78717],[4.72426,50.78218],[4.73731,50.79585],[4.7737,50.79368]]],terms_text:"© agentschap Informatie Vlaanderen",best:true,icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/BE_GRB_Flanders_TMS.png"},{id:"alagoas_litoral",name:"Alagoas Litoral 2006",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Ortofotos%202006&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-35.52384,-9.48089],[-35.5236,-9.44515],[-35.51572,-9.44518],[-35.51584,-9.44229],[-35.50542,-9.44238],[-35.50518,-9.43064],[-35.49334,-9.43073],[-35.49304,-9.3982],[-35.4893,-9.39817],[-35.48921,-9.38628],[-35.4854,-9.38634],[-35.48525,-9.37809],[-35.48127,-9.37812],[-35.48114,-9.36987],[-35.47698,-9.36996],[-35.47686,-9.36385],[-35.47459,-9.36388],[-35.47447,-9.36153],[-35.47212,-9.36141],[-35.47206,-9.35917],[-35.46976,-9.3592],[-35.46967,-9.35682],[-35.46653,-9.35676],[-35.46641,-9.35289],[-35.46387,-9.35277],[-35.46387,-9.35119],[-35.44135,-9.35131],[-35.44125,-9.34541],[-35.43177,-9.34538],[-35.43171,-9.33602],[-35.39463,-9.33632],[-35.39442,-9.30125],[-35.38165,-9.30143],[-35.38147,-9.28638],[-35.37799,-9.28626],[-35.37796,-9.2811],[-35.36942,-9.28122],[-35.36921,-9.27261],[-35.35966,-9.27276],[-35.35969,-9.26465],[-35.35051,-9.26474],[-35.35036,-9.25562],[-35.34115,-9.25565],[-35.34118,-9.24501],[-35.31775,-9.24519],[-35.3176,-9.22567],[-35.30292,-9.22579],[-35.30283,-9.2113],[-35.30794,-9.21136],[-35.30785,-9.19979],[-35.29103,-9.19988],[-35.29091,-9.1966],[-35.29018,-9.19669],[-35.28997,-9.16516],[-35.27759,-9.16522],[-35.2775,-9.16417],[-35.27541,-9.1642],[-35.27535,-9.16152],[-35.27375,-9.16149],[-35.27366,-9.15839],[-35.27182,-9.15842],[-35.27185,-9.15729],[-35.27149,-9.15729],[-35.27143,-9.15469],[-35.26965,-9.15463],[-35.26959,-9.15362],[-35.26919,-9.15362],[-35.26907,-9.13159],[-35.26403,-9.13165],[-35.264,-9.12318],[-35.26056,-9.12321],[-35.26053,-9.11781],[-35.256,-9.11784],[-35.25573,-9.08946],[-35.25114,-9.08955],[-35.25108,-9.08651],[-35.25026,-9.08648],[-35.25029,-9.08475],[-35.24449,-9.08478],[-35.24449,-9.07989],[-35.24093,-9.07997],[-35.24081,-9.07312],[-35.23734,-9.07312],[-35.23719,-9.06322],[-35.23655,-9.06322],[-35.23652,-9.04655],[-35.23323,-9.04652],[-35.23332,-9.04345],[-35.2306,-9.04348],[-35.2306,-9.04014],[-35.22897,-9.04008],[-35.229,-9.03835],[-35.22505,-9.03826],[-35.22502,-9.03167],[-35.2223,-9.03161],[-35.22233,-9.02012],[-35.21834,-9.02009],[-35.21831,-9.01341],[-35.21671,-9.01341],[-35.21668,-9.00998],[-35.21176,-9.00998],[-35.21173,-9.00647],[-35.20971,-9.00653],[-35.20974,-9.00438],[-35.20765,-9.00432],[-35.20768,-9.00226],[-35.20566,-9.00226],[-35.20563,-8.99987],[-35.20391,-8.99987],[-35.20394,-8.99785],[-35.20213,-8.99791],[-35.20213,-8.99579],[-35.19844,-8.99582],[-35.19844,-8.99361],[-35.19434,-8.99361],[-35.19428,-8.99122],[-35.19065,-8.99131],[-35.19062,-8.98833],[-35.18766,-8.98842],[-35.18763,-8.98544],[-35.18473,-8.98541],[-35.18467,-8.98255],[-35.18238,-8.98252],[-35.18235,-8.98052],[-35.17951,-8.98061],[-35.17948,-8.97742],[-35.17809,-8.97745],[-35.17803,-8.97306],[-35.17558,-8.97303],[-35.17549,-8.96912],[-35.17293,-8.96909],[-35.17284,-8.96292],[-35.17063,-8.96289],[-35.17048,-8.95579],[-35.16852,-8.95564],[-35.16852,-8.94806],[-35.16794,-8.948],[-35.16791,-8.93995],[-35.16245,-8.93995],[-35.16242,-8.92978],[-35.1587,-8.92981],[-35.15873,-8.92662],[-35.15547,-8.92668],[-35.1555,-8.92378],[-35.15348,-8.92381],[-35.15339,-8.92065],[-35.15131,-8.92062],[-35.15122,-8.91194],[-35.15263,-8.91194],[-35.15263,-8.90821],[-35.15439,-8.90824],[-35.1543,-8.90215],[-35.15593,-8.90212],[-35.15593,-8.90051],[-35.15768,-8.90048],[-35.15774,-8.89905],[-35.15958,-8.89908],[-35.15955,-8.89747],[-35.16139,-8.8975],[-35.16133,-8.89625],[-35.16363,-8.89625],[-35.1636,-8.89526],[-35.16553,-8.89526],[-35.1655,-8.89315],[-35.16794,-8.89315],[-35.16791,-8.89147],[-35.17024,-8.89153],[-35.17027,-8.8904],[-35.17302,-8.89043],[-35.17302,-8.88876],[-35.17791,-8.88876],[-35.17794,-8.88795],[-35.17894,-8.88792],[-35.17894,-8.88891],[-35.17966,-8.88894],[-35.17978,-8.88858],[-35.18099,-8.88861],[-35.18099,-8.88816],[-35.18519,-8.88816],[-35.18519,-8.88897],[-35.18591,-8.889],[-35.18591,-8.88971],[-35.18932,-8.88971],[-35.18947,-8.8893],[-35.19014,-8.88927],[-35.19017,-8.88831],[-35.19071,-8.88831],[-35.19077,-8.88789],[-35.19153,-8.88792],[-35.19156,-8.88619],[-35.19754,-8.88607],[-35.19757,-8.8873],[-35.19968,-8.8873],[-35.19974,-8.88777],[-35.2008,-8.88777],[-35.2008,-8.88822],[-35.2033,-8.88822],[-35.20337,-8.8887],[-35.20563,-8.88861],[-35.20557,-8.88983],[-35.20741,-8.8898],[-35.20744,-8.89022],[-35.21125,-8.89025],[-35.21128,-8.88769],[-35.21245,-8.88777],[-35.21248,-8.88861],[-35.21623,-8.88858],[-35.21623,-8.88748],[-35.21871,-8.88745],[-35.21871,-8.88897],[-35.22136,-8.88897],[-35.22263,-8.88792],[-35.22402,-8.88748],[-35.22453,-8.88763],[-35.22644,-8.88718],[-35.22707,-8.88598],[-35.23311,-8.88446],[-35.23933,-8.88339],[-35.24129,-8.88416],[-35.25011,-8.88515],[-35.25624,-8.88506],[-35.26168,-8.88294],[-35.26161,-8.88094],[-35.26406,-8.88109],[-35.26877,-8.8793],[-35.27421,-8.87748],[-35.2781,-8.87518],[-35.28499,-8.87507],[-35.28502,-8.87581],[-35.2881,-8.87578],[-35.29405,-8.87545],[-35.30782,-8.87208],[-35.31757,-8.86961],[-35.32784,-8.86716],[-35.33206,-8.86614],[-35.34103,-8.86376],[-35.3471,-8.86244],[-35.3522,-8.86113],[-35.35257,-8.86391],[-35.34903,-8.86611],[-35.34496,-8.87205],[-35.34327,-8.87489],[-35.34318,-8.87569],[-35.34381,-8.87668],[-35.34481,-8.8768],[-35.34888,-8.87721],[-35.35042,-8.87781],[-35.35254,-8.87891],[-35.35399,-8.88011],[-35.35577,-8.88252],[-35.35755,-8.88396],[-35.36036,-8.88512],[-35.36114,-8.88509],[-35.3612,-8.88587],[-35.36175,-8.8859],[-35.36178,-8.88777],[-35.36253,-8.88783],[-35.36247,-8.891],[-35.36311,-8.89112],[-35.36311,-8.89482],[-35.3644,-8.89488],[-35.36507,-8.8967],[-35.36637,-8.90022],[-35.36754,-8.90427],[-35.36794,-8.90782],[-35.36863,-8.90917],[-35.37207,-8.91155],[-35.3741,-8.91349],[-35.37277,-8.916],[-35.37262,-8.91817],[-35.37084,-8.92229],[-35.37062,-8.92486],[-35.37235,-8.93038],[-35.37153,-8.93193],[-35.37153,-8.93363],[-35.37171,-8.93387],[-35.37171,-8.94362],[-35.36818,-8.94377],[-35.36815,-8.94505],[-35.36927,-8.94511],[-35.36921,-8.94863],[-35.37078,-8.94872],[-35.37081,-8.95182],[-35.37219,-8.95176],[-35.37222,-8.95528],[-35.37319,-8.95531],[-35.37313,-8.95737],[-35.3744,-8.95737],[-35.37446,-8.96012],[-35.37567,-8.96018],[-35.3757,-8.96205],[-35.37688,-8.96208],[-35.37694,-8.96444],[-35.37781,-8.96444],[-35.37775,-8.96617],[-35.38074,-8.96617],[-35.38074,-8.96331],[-35.38288,-8.96328],[-35.38291,-8.95982],[-35.38542,-8.95985],[-35.38542,-8.95722],[-35.38723,-8.95722],[-35.3872,-8.95406],[-35.38947,-8.95409],[-35.38947,-8.95084],[-35.39158,-8.95087],[-35.39158,-8.94792],[-35.39587,-8.94792],[-35.39581,-8.94651],[-35.3972,-8.94654],[-35.39711,-8.94472],[-35.39838,-8.94469],[-35.39838,-8.93915],[-35.40107,-8.93915],[-35.40106,-8.93895],[-35.40167,-8.93894],[-35.40173,-8.93688],[-35.40236,-8.93688],[-35.40236,-8.93628],[-35.40324,-8.9364],[-35.4033,-8.93583],[-35.40426,-8.9358],[-35.4042,-8.93363],[-35.40574,-8.9336],[-35.40577,-8.93124],[-35.4081,-8.93133],[-35.40804,-8.92927],[-35.40937,-8.9293],[-35.40928,-8.92739],[-35.41085,-8.92742],[-35.41085,-8.92542],[-35.41239,-8.92545],[-35.41236,-8.9239],[-35.41335,-8.92387],[-35.41329,-8.92193],[-35.41523,-8.92196],[-35.41523,-8.91999],[-35.41655,-8.92002],[-35.41655,-8.91755],[-35.4196,-8.91755],[-35.41966,-8.91964],[-35.42184,-8.91964],[-35.42187,-8.92265],[-35.42389,-8.92268],[-35.42392,-8.92513],[-35.42537,-8.92513],[-35.42537,-8.92766],[-35.42724,-8.92766],[-35.42727,-8.92987],[-35.42815,-8.92984],[-35.42818,-8.9316],[-35.42987,-8.93154],[-35.4299,-8.93407],[-35.43141,-8.93407],[-35.43141,-8.9356],[-35.43226,-8.93557],[-35.43229,-8.93586],[-35.4334,-8.93583],[-35.4334,-8.94001],[-35.43434,-8.94004],[-35.43434,-8.94097],[-35.43531,-8.94097],[-35.43534,-8.94261],[-35.43567,-8.94264],[-35.4357,-8.94329],[-35.43627,-8.94332],[-35.43624,-8.94422],[-35.4373,-8.94422],[-35.43727,-8.9452],[-35.43823,-8.9452],[-35.43827,-8.94684],[-35.43902,-8.94687],[-35.43902,-8.94798],[-35.44026,-8.94798],[-35.44032,-8.94953],[-35.44159,-8.94956],[-35.44165,-8.95152],[-35.44273,-8.95152],[-35.44273,-8.95334],[-35.44436,-8.95334],[-35.44436,-8.95498],[-35.44569,-8.95501],[-35.44563,-8.95674],[-35.4472,-8.9568],[-35.44717,-8.95865],[-35.44895,-8.95871],[-35.44892,-8.96],[-35.45101,-8.95994],[-35.45098,-8.96101],[-35.45469,-8.96095],[-35.45466,-8.96235],[-35.46049,-8.96235],[-35.46055,-8.96557],[-35.46653,-8.96548],[-35.46659,-8.96885],[-35.46771,-8.96883],[-35.46774,-8.97053],[-35.4739,-8.97053],[-35.47399,-8.9753],[-35.47791,-8.97521],[-35.47797,-8.97816],[-35.4841,-8.97813],[-35.48416,-8.98201],[-35.49084,-8.98195],[-35.49084,-8.98562],[-35.49721,-8.98562],[-35.49721,-8.99069],[-35.50225,-8.99057],[-35.50234,-8.99567],[-35.50648,-8.99567],[-35.50651,-8.99856],[-35.51204,-8.9985],[-35.51207,-9.00163],[-35.51663,-9.00166],[-35.51666,-9.00617],[-35.52119,-9.00614],[-35.52122,-9.00739],[-35.53127,-9.00733],[-35.53127,-9.01064],[-35.54818,-9.01049],[-35.54818,-9.01359],[-35.56968,-9.01344],[-35.56974,-9.01738],[-35.58575,-9.01732],[-35.58578,-9.01995],[-35.60957,-9.01983],[-35.60954,-9.02302],[-35.62911,-9.02287],[-35.62905,-9.02508],[-35.65221,-9.0249],[-35.65224,-9.02758],[-35.67552,-9.0274],[-35.67555,-9.03056],[-35.68295,-9.03056],[-35.68298,-9.03435],[-35.69128,-9.03432],[-35.69128,-9.03766],[-35.6995,-9.0376],[-35.6995,-9.04034],[-35.70668,-9.04031],[-35.70671,-9.04518],[-35.71115,-9.04518],[-35.71133,-9.06691],[-35.70871,-9.06691],[-35.70877,-9.07869],[-35.70656,-9.07872],[-35.70656,-9.08653],[-35.7043,-9.08653],[-35.70433,-9.09104],[-35.69992,-9.09107],[-35.69989,-9.0956],[-35.69536,-9.09557],[-35.69542,-9.10001],[-35.69092,-9.10013],[-35.69101,-9.10207],[-35.63367,-9.10246],[-35.6337,-9.10541],[-35.62585,-9.10553],[-35.62591,-9.10964],[-35.62231,-9.10964],[-35.62234,-9.11203],[-35.6199,-9.112],[-35.6199,-9.11501],[-35.61473,-9.11507],[-35.61473,-9.11707],[-35.61177,-9.11701],[-35.61181,-9.1182],[-35.6096,-9.11826],[-35.60963,-9.12571],[-35.59976,-9.12583],[-35.59979,-9.12923],[-35.59634,-9.12926],[-35.5964,-9.13502],[-35.59197,-9.13507],[-35.59209,-9.149],[-35.59018,-9.14897],[-35.59015,-9.15108],[-35.6016,-9.15105],[-35.60154,-9.14912],[-35.60552,-9.14912],[-35.60549,-9.14557],[-35.61184,-9.14554],[-35.61184,-9.14235],[-35.6176,-9.14238],[-35.61757,-9.13853],[-35.624,-9.13853],[-35.62397,-9.13466],[-35.63177,-9.13466],[-35.63164,-9.13063],[-35.63922,-9.1306],[-35.63919,-9.12878],[-35.66386,-9.12869],[-35.6638,-9.1261],[-35.71278,-9.12577],[-35.71275,-9.12407],[-35.72426,-9.12401],[-35.71964,-9.15323],[-35.72112,-9.1532],[-35.72124,-9.17258],[-35.72066,-9.17255],[-35.72082,-9.18558],[-35.71212,-9.18566],[-35.7133,-9.34416],[-35.69041,-9.34433],[-35.69065,-9.37189],[-35.68899,-9.37189],[-35.68902,-9.37598],[-35.68757,-9.37598],[-35.68766,-9.38232],[-35.68497,-9.38235],[-35.68503,-9.39093],[-35.68168,-9.39099],[-35.68177,-9.39936],[-35.67715,-9.39933],[-35.67724,-9.4089],[-35.67292,-9.40893],[-35.67301,-9.41754],[-35.66972,-9.4176],[-35.66978,-9.42498],[-35.66722,-9.42498],[-35.66728,-9.4327],[-35.66075,-9.43288],[-35.66075,-9.43705],[-35.6513,-9.43708],[-35.65142,-9.44211],[-35.64514,-9.44217],[-35.64523,-9.44652],[-35.63645,-9.44661],[-35.63645,-9.44992],[-35.62711,-9.45],[-35.62727,-9.46505],[-35.62086,-9.46511],[-35.62092,-9.4722],[-35.60939,-9.47222],[-35.60939,-9.47529],[-35.59674,-9.47535],[-35.59674,-9.47351],[-35.57844,-9.47371],[-35.57847,-9.47595],[-35.57267,-9.47604],[-35.5727,-9.48042],[-35.56823,-9.48048],[-35.56826,-9.48881],[-35.54169,-9.48893],[-35.54163,-9.48071],[-35.52384,-9.48089]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"arapiraca_al",name:"Arapiraca AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Arapiraca&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.60875,-9.83072],[-36.60784,-9.74047],[-36.61718,-9.74051],[-36.61631,-9.65075],[-36.70737,-9.64977],[-36.70832,-9.74043],[-36.69898,-9.74047],[-36.69997,-9.82968],[-36.60875,-9.83072]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"CRAIG-Auvergne-2013",name:"Auvergne 2013 25cm CRAIG",type:"tms",template:"https://tiles.craig.fr/osm/wmts/1.0.0/ortho_2013/webmercator/{zoom}/{x}/{y}.jpeg",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[2.94012,44.63388],[2.99719,44.63393],[2.99717,44.64734],[3.01597,44.64735],[3.01593,44.67412],[3.03495,44.67413],[3.0349,44.70152],[3.05363,44.70154],[3.05357,44.7419],[3.07233,44.74191],[3.07222,44.80917],[3.09216,44.80919],[3.09214,44.82213],[3.13014,44.82216],[3.13005,44.87707],[3.14856,44.87709],[3.14858,44.8637],[3.16823,44.86371],[3.16825,44.85003],[3.2064,44.85006],[3.20638,44.86284],[3.24395,44.86287],[3.24393,44.87679],[3.26315,44.87681],[3.26308,44.91752],[3.32004,44.91757],[3.32002,44.93033],[3.33908,44.93035],[3.33906,44.9442],[3.377,44.94423],[3.37702,44.93029],[3.39603,44.9303],[3.39612,44.87627],[3.41483,44.87629],[3.41489,44.83553],[3.43334,44.83554],[3.43338,44.80828],[3.45255,44.80829],[3.45258,44.79463],[3.50893,44.79468],[3.5089,44.80815],[3.60426,44.80823],[3.60422,44.83482],[3.62361,44.83484],[3.62357,44.86166],[3.64248,44.86167],[3.64255,44.8211],[3.66101,44.82112],[3.66103,44.80777],[3.6993,44.8078],[3.69928,44.82099],[3.73611,44.82102],[3.73618,44.77971],[3.77511,44.77974],[3.77515,44.75223],[3.81184,44.75226],[3.81186,44.7392],[3.83118,44.73922],[3.83121,44.72468],[3.88782,44.72472],[3.8878,44.73818],[3.92563,44.73821],[3.9256,44.75167],[3.94541,44.75168],[3.94537,44.77847],[3.96437,44.77848],[3.96435,44.79193],[4.00332,44.79196],[4.0033,44.80526],[4.02169,44.80527],[4.02167,44.81857],[4.05965,44.8186],[4.05961,44.84492],[4.07981,44.84494],[4.07979,44.85735],[4.17388,44.85743],[4.17386,44.87055],[4.19326,44.87056],[4.19323,44.88427],[4.21404,44.88429],[4.214,44.91002],[4.23241,44.91004],[4.23237,44.93731],[4.27155,44.93734],[4.27153,44.9503],[4.32887,44.95034],[4.32878,45.00367],[4.34893,45.00368],[4.3489,45.01707],[4.40608,45.01711],[4.40599,45.071],[4.38847,45.07099],[4.38845,45.0846],[4.40794,45.08461],[4.40792,45.09663],[4.48436,45.09669],[4.48429,45.13705],[4.46636,45.13703],[4.46634,45.1502],[4.48645,45.15022],[4.4864,45.17724],[4.50655,45.17726],[4.50644,45.24501],[4.48813,45.24499],[4.48811,45.25921],[4.46986,45.25919],[4.46984,45.27298],[4.45088,45.27297],[4.45086,45.28642],[4.39368,45.28637],[4.39363,45.31352],[4.37509,45.3135],[4.37507,45.32741],[4.39507,45.32742],[4.39503,45.35458],[4.37679,45.35457],[4.37676,45.36855],[4.35766,45.36853],[4.35763,45.38234],[4.28146,45.38227],[4.28143,45.39688],[4.24446,45.39685],[4.24443,45.41079],[4.14812,45.41071],[4.14814,45.39807],[4.12919,45.39805],[4.12921,45.38409],[4.09021,45.38406],[4.09024,45.37121],[4.01355,45.37115],[4.01353,45.3861],[3.91709,45.38602],[3.91707,45.39974],[3.93757,45.39975],[3.93755,45.41311],[3.97528,45.41315],[3.97526,45.42621],[3.99537,45.42622],[3.9957,45.52096],[3.97778,45.52094],[3.97769,45.57439],[3.95818,45.57437],[3.95815,45.58837],[3.9396,45.58835],[3.93958,45.60262],[3.92023,45.60261],[3.9202,45.61646],[3.88189,45.61643],[3.88185,45.64328],[3.84413,45.64325],[3.84411,45.65709],[3.82617,45.65707],[3.82612,45.68389],[3.80722,45.68387],[3.80713,45.73758],[3.78821,45.73756],[3.78819,45.7518],[3.76885,45.75178],[3.7688,45.77897],[3.75072,45.77895],[3.75058,45.86066],[3.76967,45.86067],[3.76958,45.91433],[3.75166,45.91432],[3.75164,45.92809],[3.7329,45.92807],[3.73285,45.95472],[3.81018,45.95478],[3.81016,45.96823],[3.8496,45.96826],[3.84951,46.02162],[3.83188,46.0216],[3.83179,46.07591],[3.8505,46.07592],[3.85046,46.10295],[3.83247,46.10294],[3.83234,46.18456],[3.81422,46.18455],[3.81415,46.22442],[3.83369,46.22444],[3.83366,46.2381],[3.85289,46.23812],[3.85287,46.25147],[3.89314,46.25151],[3.89312,46.26447],[3.91306,46.26448],[3.91303,46.27793],[3.95189,46.27796],[3.95187,46.29082],[3.97152,46.29084],[3.9715,46.30369],[4.0105,46.30373],[4.01048,46.31776],[4.02983,46.31778],[4.02978,46.34428],[4.0116,46.34427],[4.01146,46.42534],[4.03153,46.42536],[4.03146,46.4658],[4.01324,46.46578],[4.01322,46.47938],[3.99437,46.47936],[3.99435,46.49361],[3.9746,46.4936],[3.97457,46.50753],[3.87754,46.50745],[3.8775,46.53478],[3.85836,46.53476],[3.85833,46.54832],[3.81869,46.54828],[3.81871,46.53553],[3.79924,46.53552],[3.79922,46.54907],[3.76104,46.54904],[3.76092,46.61681],[3.74233,46.61679],[3.74228,46.64396],[3.72286,46.64395],[3.72281,46.67104],[3.70387,46.67102],[3.70385,46.68467],[3.68411,46.68466],[3.68406,46.712],[3.66484,46.71198],[3.66479,46.73904],[3.64576,46.73902],[3.64572,46.76634],[3.62575,46.76632],[3.62573,46.77971],[3.56723,46.77966],[3.56725,46.76631],[3.54715,46.76629],[3.54719,46.73928],[3.52716,46.73927],[3.52723,46.6989],[3.48774,46.69887],[3.48776,46.68594],[3.46796,46.68593],[3.46794,46.69941],[3.46792,46.71279],[3.44865,46.71278],[3.44863,46.72679],[3.35043,46.72671],[3.35048,46.6999],[3.33039,46.69988],[3.33034,46.7272],[3.23272,46.72712],[3.23274,46.71351],[3.2129,46.7135],[3.21293,46.70013],[3.17354,46.7001],[3.1735,46.72751],[3.15412,46.72749],[3.1541,46.74073],[3.11478,46.7407],[3.11475,46.75428],[3.07534,46.75424],[3.0753,46.78135],[3.05597,46.78134],[3.05592,46.80831],[2.99704,46.80826],[2.99702,46.82196],[2.93794,46.82191],[2.93797,46.80826],[2.89866,46.80823],[2.89869,46.79424],[2.87899,46.79422],[2.87901,46.78104],[2.85942,46.78103],[2.85944,46.76771],[2.84004,46.76769],[2.84007,46.75447],[2.7414,46.75439],[2.74138,46.76682],[2.70234,46.76679],[2.70236,46.75389],[2.68266,46.75387],[2.68268,46.74048],[2.66349,46.74046],[2.66351,46.7259],[2.64342,46.72588],[2.64344,46.71309],[2.62414,46.71308],[2.62417,46.69981],[2.60397,46.69979],[2.60399,46.68584],[2.56512,46.68581],[2.56515,46.67261],[2.54593,46.6726],[2.546,46.63215],[2.56592,46.63217],[2.56595,46.61811],[2.54564,46.61809],[2.54569,46.59072],[2.56642,46.59074],[2.56644,46.57754],[2.5855,46.57756],[2.58552,46.56472],[2.56613,46.5647],[2.56616,46.55062],[2.46828,46.55055],[2.4683,46.53582],[2.33212,46.53571],[2.33217,46.50886],[2.31265,46.50884],[2.31267,46.49534],[2.29288,46.49533],[2.2929,46.48182],[2.27487,46.4818],[2.27492,46.45442],[2.25539,46.4544],[2.25553,46.37349],[2.27595,46.37351],[2.27604,46.32087],[2.31456,46.32091],[2.31458,46.30704],[2.35371,46.30707],[2.35373,46.29297],[2.39384,46.293],[2.39389,46.26729],[2.45157,46.26733],[2.4516,46.25349],[2.47094,46.25351],[2.47098,46.22656],[2.49151,46.22657],[2.49155,46.19933],[2.51088,46.19934],[2.51093,46.17278],[2.53117,46.1728],[2.53138,46.05135],[2.55163,46.05137],[2.55166,46.03777],[2.57056,46.03778],[2.57068,45.96994],[2.55144,45.96993],[2.55146,45.95662],[2.53226,45.9566],[2.53228,45.94301],[2.51307,45.94299],[2.51313,45.90203],[2.47494,45.902],[2.47496,45.88882],[2.43619,45.88879],[2.43622,45.87533],[2.41721,45.87531],[2.41725,45.84794],[2.37847,45.84791],[2.3785,45.83397],[2.35952,45.83396],[2.35956,45.80708],[2.37873,45.8071],[2.37875,45.79358],[2.3987,45.79359],[2.39872,45.78035],[2.41825,45.78036],[2.41832,45.74],[2.45722,45.74003],[2.45724,45.7267],[2.47589,45.72671],[2.47591,45.71324],[2.49533,45.71325],[2.49542,45.65913],[2.45769,45.6591],[2.45776,45.61834],[2.43912,45.61833],[2.43919,45.57766],[2.4585,45.57768],[2.45855,45.55053],[2.47809,45.55055],[2.47811,45.53725],[2.49755,45.53726],[2.49759,45.51068],[2.47855,45.51066],[2.47864,45.45613],[2.45978,45.45612],[2.45987,45.40176],[2.42249,45.40173],[2.42247,45.41528],[2.40232,45.41527],[2.40229,45.42882],[2.3256,45.42876],[2.32567,45.38796],[2.34562,45.38798],[2.34566,45.36111],[2.32626,45.36109],[2.32628,45.34721],[2.30738,45.3472],[2.3074,45.3336],[2.28811,45.33358],[2.28813,45.32082],[2.26963,45.3208],[2.26966,45.30621],[2.25066,45.3062],[2.25068,45.29251],[2.23169,45.2925],[2.23171,45.27924],[2.213,45.27922],[2.21305,45.25204],[2.19374,45.25202],[2.19376,45.23811],[2.17561,45.2381],[2.17574,45.15768],[2.15735,45.15767],[2.15744,45.10295],[2.12024,45.10292],[2.12026,45.08955],[2.10067,45.08953],[2.10069,45.07544],[2.08246,45.07543],[2.08255,45.0216],[2.10255,45.02161],[2.1026,44.99445],[2.04574,44.99441],[2.04585,44.92753],[2.06578,44.92755],[2.06589,44.85969],[2.0857,44.8597],[2.08572,44.84581],[2.10556,44.84583],[2.1056,44.81933],[2.12474,44.81934],[2.12477,44.80551],[2.14351,44.80553],[2.14355,44.7786],[2.12561,44.77858],[2.1257,44.72427],[2.10665,44.72426],[2.10671,44.68423],[2.12634,44.68424],[2.12636,44.67074],[2.14598,44.67075],[2.14607,44.61644],[2.18396,44.61648],[2.18398,44.60378],[2.24042,44.60383],[2.24037,44.63095],[2.25948,44.63097],[2.25946,44.64493],[2.31668,44.64498],[2.3167,44.63088],[2.33615,44.6309],[2.33617,44.61758],[2.37242,44.61761],[2.3724,44.63158],[2.41105,44.63161],[2.41107,44.61907],[2.44922,44.61911],[2.4492,44.63232],[2.50486,44.63237],[2.50481,44.65976],[2.52461,44.65977],[2.52457,44.68717],[2.54225,44.68719],[2.54223,44.70122],[2.58071,44.70125],[2.5806,44.76834],[2.61769,44.76837],[2.61762,44.80884],[2.63676,44.80885],[2.63669,44.84929],[2.67331,44.84933],[2.67329,44.86252],[2.69338,44.86253],[2.69333,44.88943],[2.73052,44.88946],[2.73048,44.91645],[2.74992,44.91646],[2.75005,44.83647],[2.80733,44.83652],[2.80731,44.8491],[2.82638,44.84912],[2.8264,44.83628],[2.8457,44.8363],[2.84577,44.79571],[2.86422,44.79573],[2.86426,44.76865],[2.88399,44.76866],[2.88403,44.74197],[2.90203,44.74198],[2.90214,44.67432],[2.92198,44.67434],[2.92202,44.6473],[2.9401,44.64731],[2.94012,44.63388]]],terms_url:"http://ids.craig.fr/geocat/srv/fre/catalog.search?node=srv#/metadata/8cabc987-829c-4c9f-943b-6a0e255cd73",terms_text:"Orthophotographie CRAIG/Sintegra/IGN 2013"},{id:"CRAIG-Auvergne-2016",name:"Auvergne 2016 25cm CRAIG",type:"tms",template:"https://tiles.craig.fr/ortho/wmts/1.0.0/ortho_2016/webmercator/{zoom}/{x}/{y}.jpeg",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[2.49389,46.66829],[2.71362,46.84141],[3.64746,46.80758],[4.04846,46.48327],[4.03747,46.24825],[4.46044,46.25965],[4.4934,46.14559],[4.38354,46.09229],[4.45495,45.69084],[4.76257,45.57176],[4.81201,45.34443],[4.22424,44.84419],[3.86169,44.696],[3.37829,44.80523],[3.33435,44.89091],[3.18054,44.82471],[3.03222,44.60612],[2.92785,44.60221],[2.71911,44.85198],[2.51037,44.60221],[2.12585,44.58265],[2.005,44.97257],[2.30712,45.46784],[2.43347,45.44087],[2.41149,45.72919],[2.34558,45.82402],[2.54882,45.97979],[2.46093,46.22166],[2.21374,46.33935],[2.27828,46.53903],[2.54882,46.56642],[2.49389,46.66829]]],terms_url:"http://ids.craig.fr/geocat/srv/fre/catalog.search?node=srv#/metadata/e37c057b-5884-429b-8bec-5db0baef0ee",terms_text:"CRAIG - IGN -TopoGEODIS - Feder Auvergne-Rhône-Alpes 2016"},{id:"BANO",name:"BANO",type:"tms",template:"https://{switch:a,b,c}.layers.openstreetmap.fr/bano/{zoom}/{x}/{y}.png",zoomExtent:[12,20],polygon:[[[-2.7,43.9],[-6.3,48.98],[-2.25,50.09],[1.31,50.88],[2.35816,51.32937],[2.5488,51.09759],[2.57048,51.07409],[2.58741,51.01763],[2.59845,51.0051],[2.61558,50.99749],[2.63986,50.95766],[2.64225,50.94578],[2.62452,50.9256],[2.61962,50.91067],[2.62396,50.86071],[2.62781,50.85054],[2.63786,50.83696],[2.6511,50.82906],[2.73267,50.81738],[2.79995,50.73795],[2.81655,50.73092],[2.85265,50.73335],[2.89072,50.7162],[2.90492,50.71536],[2.9161,50.72418],[2.93508,50.75592],[3.00718,50.78377],[3.08218,50.78749],[3.09244,50.79092],[3.11412,50.80566],[3.14877,50.80195],[3.2154,50.73111],[3.22149,50.7267],[3.27051,50.70375],[3.27545,50.67757],[3.26576,50.6604],[3.26588,50.64054],[3.28922,50.60028],[3.29219,50.55037],[3.3056,50.53267],[3.37551,50.50839],[3.3898,50.50884],[3.4748,50.54445],[3.52173,50.53459],[3.53266,50.51873],[3.54779,50.51012],[3.61523,50.50558],[3.67378,50.45642],[3.68415,50.35277],[3.6901,50.34044],[3.70258,50.33482],[3.71576,50.33854],[3.74935,50.36279],[3.84109,50.36558],[3.90189,50.3436],[3.91317,50.34291],[4.02672,50.36904],[4.13761,50.29984],[4.14388,50.29727],[4.21444,50.28167],[4.22904,50.26664],[4.23078,50.25233],[4.17084,50.18579],[4.16601,50.16888],[4.1764,50.1547],[4.21195,50.13602],[4.24074,50.07102],[4.23193,50.05551],[4.18164,50.03436],[4.17177,50.02537],[4.16976,50.01217],[4.1765,50.00065],[4.20633,49.97546],[4.22164,49.97089],[4.30877,49.98145],[4.44542,49.9523],[4.45469,49.95251],[4.6581,50.00609],[4.66936,50.01392],[4.67293,50.02716],[4.66924,50.06972],[4.69517,50.10472],[4.83123,50.17941],[4.8815,50.16436],[4.90479,50.14451],[4.90426,50.12639],[4.88076,50.0815],[4.86277,50.0745],[4.85104,50.06216],[4.84331,50.03884],[4.84331,50.03883],[4.8433,50.03881],[4.82678,49.989],[4.82662,49.97692],[4.83343,49.96696],[4.89654,49.91753],[4.89755,49.89424],[4.87913,49.86942],[4.87625,49.85111],[4.88924,49.81266],[4.89769,49.80204],[4.91098,49.79926],[4.99534,49.81116],[5.01867,49.79272],[5.02686,49.78886],[5.09944,49.77323],[5.13458,49.73462],[5.1412,49.72984],[5.18761,49.70906],[5.19602,49.70732],[5.28157,49.70836],[5.33363,49.67308],[5.344,49.65049],[5.3544,49.64041],[5.43141,49.60791],[5.48205,49.52815],[5.49294,49.51979],[5.50666,49.52042],[5.55401,49.54025],[5.59311,49.53424],[5.6076,49.53761],[5.641,49.56095],[5.70676,49.55267],[5.71578,49.55361],[5.77526,49.57414],[5.8399,49.55321],[5.86126,49.52038],[5.876,49.5114],[5.97516,49.50129],[5.99801,49.47317],[6.01627,49.46597],[6.08635,49.47562],[6.09319,49.47787],[6.17397,49.52187],[6.24643,49.52511],[6.334,49.48235],[6.34423,49.48037],[6.43515,49.487],[6.5451,49.44384],[6.60639,49.37868],[6.60497,49.33739],[6.61627,49.31869],[6.67013,49.29269],[6.72996,49.22917],[6.74328,49.19086],[6.76026,49.17752],[6.80904,49.17284],[6.82473,49.17826],[6.83093,49.19366],[6.82982,49.21802],[6.85119,49.23136],[6.88453,49.2239],[6.89322,49.22389],[6.93753,49.23369],[7.04055,49.19794],[7.0463,49.17503],[7.05478,49.16313],[7.06908,49.16018],[7.10494,49.16634],[7.14315,49.14159],[7.1535,49.13839],[7.28683,49.13488],[7.29893,49.13856],[7.36095,49.18259],[7.45012,49.19517],[7.50113,49.17672],[7.54379,49.10572],[7.5579,49.09626],[7.6296,49.08527],[7.64722,49.06722],[7.6612,49.06119],[7.75401,49.05963],[7.76073,49.06067],[7.80291,49.07489],[7.85525,49.05329],[7.8673,49.05227],[7.93826,49.06832],[8.08069,49.00688],[8.2225,48.98787],[8.23704,48.97683],[8.23589,48.95817],[8.20888,48.94863],[8.20089,48.94339],[8.15824,48.89753],[8.10087,48.7993],[7.99071,48.74478],[7.98534,48.7409],[7.90422,48.65865],[7.85605,48.63606],[7.8484,48.62977],[7.81842,48.58883],[7.81456,48.57704],[7.81449,48.50968],[7.78547,48.48337],[7.78055,48.47652],[7.74506,48.39484],[7.74357,48.38427],[7.75159,48.32322],[7.71085,48.29841],[7.70241,48.28803],[7.67661,48.21555],[7.59605,48.11698],[7.59165,48.10648],[7.58522,48.04694],[7.59127,48.03035],[7.62437,47.99865],[7.63205,47.97081],[7.57554,47.87436],[7.5728,47.86435],[7.57267,47.83631],[7.54581,47.78793],[7.54418,47.77232],[7.55758,47.72899],[7.53526,47.6989],[7.53136,47.68564],[7.537,47.67302],[7.60016,47.60822],[7.58967,47.56755],[7.55424,47.55128],[7.54511,47.54283],[7.51256,47.48439],[7.38747,47.42111],[7.32653,47.4273],[7.24435,47.40939],[7.16708,47.4335],[7.15212,47.47612],[7.14279,47.48707],[7.12853,47.48893],[7.0801,47.47718],[7.03557,47.48695],[7.02102,47.48458],[7.01205,47.47287],[7.003,47.44095],[6.9551,47.40808],[6.94716,47.39698],[6.94818,47.38337],[6.95769,47.37359],[6.97126,47.37218],[7.018,47.38386],[7.05623,47.37035],[7.07007,47.35005],[7.05958,47.32257],[6.97424,47.27856],[6.96347,47.26233],[6.96134,47.23479],[6.89443,47.19393],[6.88913,47.18922],[6.85545,47.14636],[6.76907,47.10751],[6.76011,47.09953],[6.72561,47.0418],[6.62355,46.9811],[6.4812,46.9445],[6.46892,46.93522],[6.46686,46.91997],[6.47548,46.88771],[6.4535,46.8239],[6.45644,46.80534],[6.46722,46.79104],[6.46098,46.76887],[6.15817,46.59343],[6.14872,46.58069],[6.15152,46.56508],[6.16549,46.54399],[6.15811,46.52456],[6.10174,46.46979],[6.09572,46.45418],[6.09704,46.43317],[6.10829,46.41643],[6.16622,46.38839],[6.17817,46.36922],[6.13748,46.31297],[6.13371,46.30227],[6.13038,46.23737],[6.1103,46.22344],[6.08865,46.23081],[6.07717,46.23123],[6.01857,46.21601],[6.00681,46.20752],[6.00388,46.19332],[6.00787,46.16977],[6.01783,46.15564],[6.03509,46.15456],[6.05564,46.16288],[6.12468,46.15415],[6.13778,46.15702],[6.24026,46.22094],[6.24906,46.23299],[6.24707,46.24777],[6.21148,46.31057],[6.21219,46.32485],[6.23946,46.36705],[6.31648,46.41557],[6.41083,46.42495],[6.41748,46.42682],[6.50498,46.46871],[6.63047,46.47435],[6.74665,46.45695],[6.82244,46.42925],[6.81832,46.38181],[6.80484,46.36179],[6.80189,46.34639],[6.81095,46.33359],[6.86491,46.30038],[6.87504,46.28007],[6.86092,46.2439],[6.82698,46.21188],[6.82075,46.19862],[6.81863,46.16592],[6.82259,46.15261],[6.83427,46.14509],[6.90382,46.12971],[6.90491,46.09595],[6.90932,46.08406],[6.92001,46.07721],[6.94898,46.0699],[7.01556,46.00883],[7.05191,45.93066],[7.04533,45.92217],[7.04497,45.92064],[7.04394,45.92036],[6.99582,45.85822],[6.94097,45.83551],[6.84376,45.82387],[6.83102,45.81711],[6.82614,45.80353],[6.82787,45.73217],[6.83174,45.72082],[6.8414,45.71373],[6.90729,45.69124],[6.92419,45.66935],[6.94247,45.66172],[6.97131,45.66528],[7.00597,45.64945],[7.01151,45.63652],[6.9978,45.60877],[6.99643,45.59465],[7.0158,45.52354],[7.02774,45.5102],[7.1072,45.47877],[7.1228,45.44924],[7.13304,45.44001],[7.1856,45.41894],[7.19515,45.40409],[7.17075,45.35069],[7.14232,45.32298],[7.13649,45.30576],[7.14458,45.25048],[7.08417,45.20279],[6.99279,45.19823],[6.98106,45.19368],[6.90009,45.12689],[6.85843,45.11699],[6.78283,45.14228],[6.77056,45.14242],[6.67751,45.11356],[6.6653,45.10289],[6.66501,45.08667],[6.68237,45.04558],[6.69602,45.03395],[6.75744,45.01884],[6.78375,44.9146],[6.7942,44.90161],[6.86698,44.86519],[6.8798,44.86346],[6.93633,44.87461],[7.01795,44.84402],[7.03453,44.82282],[7.03711,44.75009],[7.0496,44.73226],[7.07224,44.72311],[7.08651,44.6968],[7.08666,44.68085],[7.07671,44.67134],[6.99007,44.67203],[6.97413,44.66431],[6.97056,44.64696],[6.97819,44.61784],[6.94659,44.57124],[6.88235,44.53479],[6.87233,44.5195],[6.87892,44.50245],[6.95894,44.43129],[6.95872,44.42908],[6.92167,44.41436],[6.91223,44.40659],[6.90907,44.39477],[6.90972,44.38195],[6.91637,44.36804],[6.99909,44.29414],[7.01181,44.256],[7.01983,44.24558],[7.03259,44.2424],[7.07312,44.2461],[7.1651,44.22112],[7.24533,44.18544],[7.26053,44.16682],[7.27537,44.15947],[7.33878,44.1574],[7.36278,44.13834],[7.37776,44.13416],[7.56283,44.15792],[7.5642,44.15836],[7.56478,44.15817],[7.60548,44.1634],[7.6162,44.16827],[7.63989,44.18928],[7.68608,44.1861],[7.69422,44.17795],[7.68937,44.13869],[7.69445,44.12276],[7.72786,44.08615],[7.72403,44.05704],[7.68603,44.02371],[7.68077,44.0164],[7.66016,43.9672],[7.59624,43.94466],[7.58419,43.93287],[7.56858,43.89159],[7.5271,43.87434],[7.51649,43.86397],[7.51594,43.84915],[7.53622,43.79234],[9.8,43.1],[9.63227,41.43244],[9.36968,41.35052],[9.27311,41.29196],[8.94186,41.27688],[5.8,41.64],[3.17358,42.41768],[3.16081,42.42757],[3.0944,42.41457],[3.03402,42.45331],[3.02214,42.45645],[2.87822,42.4487],[2.87019,42.44653],[2.78424,42.40256],[2.7413,42.41128],[2.72928,42.40998],[2.69331,42.39417],[2.68378,42.3854],[2.68162,42.37263],[2.68585,42.34679],[2.66719,42.33008],[2.58106,42.34418],[2.56777,42.34173],[2.5338,42.32197],[2.47795,42.32986],[2.41933,42.37658],[2.41222,42.38021],[2.26719,42.42055],[2.25973,42.42117],[2.20694,42.41558],[2.20653,42.41526],[2.20526,42.41541],[2.16028,42.41065],[2.14881,42.40545],[2.09393,42.35474],[2.00861,42.33818],[1.965,42.36473],[1.93076,42.42442],[1.92089,42.43302],[1.88467,42.44761],[1.88459,42.44762],[1.88444,42.4477],[1.82774,42.47056],[1.72567,42.48452],[1.71561,42.50125],[1.7272,42.56103],[1.72479,42.57499],[1.71011,42.59992],[1.69377,42.60975],[1.60283,42.61382],[1.56069,42.6392],[1.54636,42.64166],[1.50444,42.6331],[1.4921,42.62502],[1.47238,42.59703],[1.43792,42.59264],[1.41936,42.60643],[1.38032,42.67415],[1.37335,42.68127],[1.33313,42.70563],[1.32364,42.7085],[1.23221,42.71248],[1.16554,42.69928],[1.08546,42.76635],[1.07564,42.77079],[0.95937,42.78852],[0.95073,42.78794],[0.92265,42.7797],[0.84606,42.8157],[0.71511,42.8464],[0.70017,42.84402],[0.69117,42.83186],[0.67409,42.76479],[0.67474,42.75286],[0.69192,42.70684],[0.669,42.67901],[0.43024,42.67863],[0.3715,42.70308],[0.35954,42.70415],[0.34912,42.69817],[0.32567,42.67274],[0.29571,42.66388],[0.24594,42.70175],[0.23972,42.70494],[0.18967,42.72039],[0.17919,42.72075],[-0.01993,42.67389],[-0.06726,42.6848],[-0.16949,42.77157],[-0.29987,42.82697],[-0.31683,42.82635],[-0.39208,42.78766],[-0.44354,42.78453],[-0.48842,42.80255],[-0.50868,42.79935],[-0.54499,42.76906],[-0.56721,42.76937],[-0.67446,42.86392],[-0.68094,42.86775],[-0.73372,42.88666],[-0.7476,42.93879],[-0.75711,42.95107],[-0.77253,42.95284],[-0.82114,42.93865],[-0.94508,42.94192],[-1.02313,42.98206],[-1.10852,43.00409],[-1.1156,43.00461],[-1.14775,43.00124],[-1.15845,43.01452],[-1.16736,43.02083],[-1.21622,43.0381],[-1.22612,43.03898],[-1.26236,43.03303],[-1.30643,43.05531],[-1.31992,43.05696],[-1.33135,43.0496],[-1.3542,43.0197],[-1.43868,43.03371],[-1.4775,43.06889],[-1.48311,43.08561],[-1.47641,43.10248],[-1.43479,43.13087],[-1.42732,43.1404],[-1.39411,43.22935],[-1.39531,43.24596],[-1.40868,43.25591],[-1.52629,43.28099],[-1.54626,43.2737],[-1.57149,43.2412],[-1.61053,43.24223],[-1.65,43.29323],[-1.66953,43.30065],[-1.73359,43.28856],[-1.75606,43.31966],[-1.76297,43.32565],[-1.79156,43.34067],[-1.80099,43.37017],[-1.78509,43.39037],[-1.7835,43.39686],[-2.7,43.9]]],terms_url:"https://wiki.openstreetmap.org/wiki/FR:WikiProject_France/WikiProject_Base_Adresses_Nationale_Ouverte_(BANO)#Licence_du_r.C3.A9sultat",terms_text:"Tiles © cquest@Openstreetmap France, data © OpenStreetMap contributors, ODBL",description:"French address registry or Base Adresses Nationale Ouverte",overlay:true},{id:"lu.geoportail.opendata.basemap",name:"Basemap geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/basemap/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png",endDate:"2010-07-20T00:00:00.000Z",startDate:"2013-07-19T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,50.17631]]],terms_url:"https://data.public.lu/en/datasets/carte-de-base-webservices-wms-et-wmts",terms_text:"Administration du Cadastre et de la Topographie",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"basemap.at",name:"basemap.at",type:"tms",template:"https://maps{switch:1,2,3,4}.wien.gv.at/basemap/geolandbasemap/normal/google3857/{zoom}/{y}/{x}.png",zoomExtent:[0,19],polygon:[[[16.50733,46.99293],[16.28342,46.99293],[16.13584,46.8713],[15.98317,46.81909],[16.04933,46.65517],[15.86104,46.71801],[15.75926,46.69009],[15.56079,46.67962],[15.57606,46.63421],[15.47937,46.60276],[15.43357,46.65168],[15.22493,46.63421],[15.04682,46.64819],[14.99084,46.58877],[14.9603,46.62373],[14.85344,46.60276],[14.83308,46.50127],[14.75166,46.49776],[14.68041,46.43818],[14.61426,46.43818],[14.57864,46.37853],[14.44124,46.43116],[14.16135,46.42766],[14.12573,46.47674],[14.01886,46.47674],[13.91199,46.52578],[13.82548,46.50477],[13.44381,46.56078],[13.30641,46.55028],[13.1283,46.58877],[12.84332,46.61324],[12.72628,46.6412],[12.51255,46.66565],[12.35988,46.70405],[12.36497,46.77032],[12.28863,46.77729],[12.27337,46.88522],[12.20721,46.87478],[12.13088,46.90261],[12.11561,46.99987],[12.25301,47.06577],[12.2123,47.0935],[11.9833,47.04497],[11.73394,46.96168],[11.63217,47.01028],[11.54057,46.97557],[11.49986,47.00681],[11.41843,46.96515],[11.25559,46.97557],[11.1131,46.91304],[11.04185,46.76335],[10.88919,46.75986],[10.74161,46.78426],[10.70599,46.86435],[10.57877,46.83998],[10.45663,46.85043],[10.47699,46.92694],[10.38539,46.98946],[10.23272,46.86435],[10.12076,46.83302],[9.86632,46.94084],[9.90194,47.00334],[9.68312,47.05884],[9.61188,47.03804],[9.63223,47.12813],[9.58134,47.1662],[9.54063,47.26644],[9.60679,47.34926],[9.67294,47.36994],[9.64241,47.44571],[9.56608,47.48011],[9.71365,47.52824],[9.7849,47.59692],[9.83579,47.54542],[9.94774,47.53855],[10.09023,47.44915],[10.11059,47.36649],[10.2429,47.38717],[10.18692,47.2699],[10.32432,47.29751],[10.48208,47.44915],[10.43119,47.48699],[10.44137,47.59005],[10.48717,47.55229],[10.54823,47.53511],[10.59912,47.56602],[10.75688,47.53168],[10.88919,47.54542],[10.94008,47.48699],[10.99605,47.39061],[11.23523,47.44227],[11.28103,47.3975],[11.42352,47.51449],[11.57619,47.50762],[11.60672,47.59005],[11.83572,47.58662],[12.00366,47.62436],[12.20721,47.60378],[12.16141,47.69634],[12.2581,47.74427],[12.25301,47.67921],[12.43112,47.71004],[12.49219,47.63122],[12.56852,47.62779],[12.62959,47.68949],[12.77208,47.66893],[12.83315,47.54198],[12.97564,47.47323],[13.04179,47.49387],[13.0367,47.55572],[13.09777,47.64151],[13.03161,47.71004],[12.90439,47.72031],[13.00617,47.84683],[12.9451,47.93555],[12.86368,47.95941],[12.86368,48.00369],[12.75172,48.09894],[12.87386,48.21097],[12.96037,48.21097],[13.04179,48.2652],[13.18428,48.29907],[13.26061,48.2923],[13.39801,48.35659],[13.44381,48.41742],[13.43872,48.55234],[13.50997,48.58601],[13.61175,48.57255],[13.72879,48.5119],[13.78477,48.57255],[13.82039,48.62639],[13.79495,48.71713],[13.85093,48.77417],[14.05957,48.66338],[14.01377,48.63312],[14.07484,48.59274],[14.21733,48.59611],[14.3649,48.54897],[14.46668,48.64993],[14.55828,48.59611],[14.59899,48.62639],[14.72113,48.57591],[14.72113,48.6869],[14.8229,48.7272],[14.81782,48.77753],[14.96472,48.78518],[14.98936,49.01266],[15.14859,48.99503],[15.19439,48.93155],[15.30635,48.98501],[15.39286,48.98501],[15.48446,48.92821],[15.74908,48.8546],[15.84068,48.88807],[16.00862,48.78088],[16.20708,48.73391],[16.39537,48.73727],[16.49206,48.81105],[16.69053,48.77417],[16.7058,48.73391],[16.89917,48.71377],[16.97551,48.51527],[16.84828,48.45118],[16.85337,48.34644],[16.95515,48.25165],[16.99077,48.1499],[17.09255,48.13971],[17.08237,48.02412],[17.17397,48.02071],[17.08237,47.87414],[16.98568,47.86732],[17.08237,47.80925],[17.09255,47.70319],[16.74142,47.67921],[16.7058,47.75112],[16.53786,47.75454],[16.54804,47.70662],[16.42082,47.66893],[16.57348,47.6175],[16.67017,47.63122],[16.71088,47.53855],[16.66,47.44915],[16.54295,47.39406],[16.46153,47.39406],[16.49206,47.2768],[16.42591,47.19733],[16.47171,47.1489],[16.54804,47.1489],[16.47679,47.07964],[16.52768,47.05884],[16.50733,46.99293]]],terms_url:"https://basemap.at",terms_text:"basemap.at",description:"Basemap of Austria, based on government data.",icon:"https://www.basemap.at/images/logo_basemap.jpg"},{id:"basemap.at-orthofoto",name:"basemap.at Orthofoto",type:"tms",template:"https://maps{switch:1,2,3,4}.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{zoom}/{y}/{x}.jpeg",zoomExtent:[0,19],polygon:[[[16.50733,46.99293],[16.28342,46.99293],[16.13584,46.8713],[15.98317,46.81909],[16.04933,46.65517],[15.86104,46.71801],[15.75926,46.69009],[15.56079,46.67962],[15.57606,46.63421],[15.47937,46.60276],[15.43357,46.65168],[15.22493,46.63421],[15.04682,46.64819],[14.99084,46.58877],[14.9603,46.62373],[14.85344,46.60276],[14.83308,46.50127],[14.75166,46.49776],[14.68041,46.43818],[14.61426,46.43818],[14.57864,46.37853],[14.44124,46.43116],[14.16135,46.42766],[14.12573,46.47674],[14.01886,46.47674],[13.91199,46.52578],[13.82548,46.50477],[13.44381,46.56078],[13.30641,46.55028],[13.1283,46.58877],[12.84332,46.61324],[12.72628,46.6412],[12.51255,46.66565],[12.35988,46.70405],[12.36497,46.77032],[12.28863,46.77729],[12.27337,46.88522],[12.20721,46.87478],[12.13088,46.90261],[12.11561,46.99987],[12.25301,47.06577],[12.2123,47.0935],[11.9833,47.04497],[11.73394,46.96168],[11.63217,47.01028],[11.54057,46.97557],[11.49986,47.00681],[11.41843,46.96515],[11.25559,46.97557],[11.1131,46.91304],[11.04185,46.76335],[10.88919,46.75986],[10.74161,46.78426],[10.70599,46.86435],[10.57877,46.83998],[10.45663,46.85043],[10.47699,46.92694],[10.38539,46.98946],[10.23272,46.86435],[10.12076,46.83302],[9.86632,46.94084],[9.90194,47.00334],[9.68312,47.05884],[9.61188,47.03804],[9.63223,47.12813],[9.58134,47.1662],[9.54063,47.26644],[9.60679,47.34926],[9.67294,47.36994],[9.64241,47.44571],[9.56608,47.48011],[9.71365,47.52824],[9.7849,47.59692],[9.83579,47.54542],[9.94774,47.53855],[10.09023,47.44915],[10.11059,47.36649],[10.2429,47.38717],[10.18692,47.2699],[10.32432,47.29751],[10.48208,47.44915],[10.43119,47.48699],[10.44137,47.59005],[10.48717,47.55229],[10.54823,47.53511],[10.59912,47.56602],[10.75688,47.53168],[10.88919,47.54542],[10.94008,47.48699],[10.99605,47.39061],[11.23523,47.44227],[11.28103,47.3975],[11.42352,47.51449],[11.57619,47.50762],[11.60672,47.59005],[11.83572,47.58662],[12.00366,47.62436],[12.20721,47.60378],[12.16141,47.69634],[12.2581,47.74427],[12.25301,47.67921],[12.43112,47.71004],[12.49219,47.63122],[12.56852,47.62779],[12.62959,47.68949],[12.77208,47.66893],[12.83315,47.54198],[12.97564,47.47323],[13.04179,47.49387],[13.0367,47.55572],[13.09777,47.64151],[13.03161,47.71004],[12.90439,47.72031],[13.00617,47.84683],[12.9451,47.93555],[12.86368,47.95941],[12.86368,48.00369],[12.75172,48.09894],[12.87386,48.21097],[12.96037,48.21097],[13.04179,48.2652],[13.18428,48.29907],[13.26061,48.2923],[13.39801,48.35659],[13.44381,48.41742],[13.43872,48.55234],[13.50997,48.58601],[13.61175,48.57255],[13.72879,48.5119],[13.78477,48.57255],[13.82039,48.62639],[13.79495,48.71713],[13.85093,48.77417],[14.05957,48.66338],[14.01377,48.63312],[14.07484,48.59274],[14.21733,48.59611],[14.3649,48.54897],[14.46668,48.64993],[14.55828,48.59611],[14.59899,48.62639],[14.72113,48.57591],[14.72113,48.6869],[14.8229,48.7272],[14.81782,48.77753],[14.96472,48.78518],[14.98936,49.01266],[15.14859,48.99503],[15.19439,48.93155],[15.30635,48.98501],[15.39286,48.98501],[15.48446,48.92821],[15.74908,48.8546],[15.84068,48.88807],[16.00862,48.78088],[16.20708,48.73391],[16.39537,48.73727],[16.49206,48.81105],[16.69053,48.77417],[16.7058,48.73391],[16.89917,48.71377],[16.97551,48.51527],[16.84828,48.45118],[16.85337,48.34644],[16.95515,48.25165],[16.99077,48.1499],[17.09255,48.13971],[17.08237,48.02412],[17.17397,48.02071],[17.08237,47.87414],[16.98568,47.86732],[17.08237,47.80925],[17.09255,47.70319],[16.74142,47.67921],[16.7058,47.75112],[16.53786,47.75454],[16.54804,47.70662],[16.42082,47.66893],[16.57348,47.6175],[16.67017,47.63122],[16.71088,47.53855],[16.66,47.44915],[16.54295,47.39406],[16.46153,47.39406],[16.49206,47.2768],[16.42591,47.19733],[16.47171,47.1489],[16.54804,47.1489],[16.47679,47.07964],[16.52768,47.05884],[16.50733,46.99293]]],terms_url:"https://basemap.at",terms_text:"basemap.at",best:true,description:"Orthofoto layer provided by basemap.at. \"Successor\" of geoimage.at imagery.",icon:"https://www.basemap.at/images/logo_basemap.jpg"},{id:"basemap.at-overlay",name:"basemap.at Overlay",type:"tms",template:"https://maps{switch:1,2,3,4}.wien.gv.at/basemap/bmapoverlay/normal/google3857/{zoom}/{y}/{x}.png",zoomExtent:[0,19],polygon:[[[16.50733,46.99293],[16.28342,46.99293],[16.13584,46.8713],[15.98317,46.81909],[16.04933,46.65517],[15.86104,46.71801],[15.75926,46.69009],[15.56079,46.67962],[15.57606,46.63421],[15.47937,46.60276],[15.43357,46.65168],[15.22493,46.63421],[15.04682,46.64819],[14.99084,46.58877],[14.9603,46.62373],[14.85344,46.60276],[14.83308,46.50127],[14.75166,46.49776],[14.68041,46.43818],[14.61426,46.43818],[14.57864,46.37853],[14.44124,46.43116],[14.16135,46.42766],[14.12573,46.47674],[14.01886,46.47674],[13.91199,46.52578],[13.82548,46.50477],[13.44381,46.56078],[13.30641,46.55028],[13.1283,46.58877],[12.84332,46.61324],[12.72628,46.6412],[12.51255,46.66565],[12.35988,46.70405],[12.36497,46.77032],[12.28863,46.77729],[12.27337,46.88522],[12.20721,46.87478],[12.13088,46.90261],[12.11561,46.99987],[12.25301,47.06577],[12.2123,47.0935],[11.9833,47.04497],[11.73394,46.96168],[11.63217,47.01028],[11.54057,46.97557],[11.49986,47.00681],[11.41843,46.96515],[11.25559,46.97557],[11.1131,46.91304],[11.04185,46.76335],[10.88919,46.75986],[10.74161,46.78426],[10.70599,46.86435],[10.57877,46.83998],[10.45663,46.85043],[10.47699,46.92694],[10.38539,46.98946],[10.23272,46.86435],[10.12076,46.83302],[9.86632,46.94084],[9.90194,47.00334],[9.68312,47.05884],[9.61188,47.03804],[9.63223,47.12813],[9.58134,47.1662],[9.54063,47.26644],[9.60679,47.34926],[9.67294,47.36994],[9.64241,47.44571],[9.56608,47.48011],[9.71365,47.52824],[9.7849,47.59692],[9.83579,47.54542],[9.94774,47.53855],[10.09023,47.44915],[10.11059,47.36649],[10.2429,47.38717],[10.18692,47.2699],[10.32432,47.29751],[10.48208,47.44915],[10.43119,47.48699],[10.44137,47.59005],[10.48717,47.55229],[10.54823,47.53511],[10.59912,47.56602],[10.75688,47.53168],[10.88919,47.54542],[10.94008,47.48699],[10.99605,47.39061],[11.23523,47.44227],[11.28103,47.3975],[11.42352,47.51449],[11.57619,47.50762],[11.60672,47.59005],[11.83572,47.58662],[12.00366,47.62436],[12.20721,47.60378],[12.16141,47.69634],[12.2581,47.74427],[12.25301,47.67921],[12.43112,47.71004],[12.49219,47.63122],[12.56852,47.62779],[12.62959,47.68949],[12.77208,47.66893],[12.83315,47.54198],[12.97564,47.47323],[13.04179,47.49387],[13.0367,47.55572],[13.09777,47.64151],[13.03161,47.71004],[12.90439,47.72031],[13.00617,47.84683],[12.9451,47.93555],[12.86368,47.95941],[12.86368,48.00369],[12.75172,48.09894],[12.87386,48.21097],[12.96037,48.21097],[13.04179,48.2652],[13.18428,48.29907],[13.26061,48.2923],[13.39801,48.35659],[13.44381,48.41742],[13.43872,48.55234],[13.50997,48.58601],[13.61175,48.57255],[13.72879,48.5119],[13.78477,48.57255],[13.82039,48.62639],[13.79495,48.71713],[13.85093,48.77417],[14.05957,48.66338],[14.01377,48.63312],[14.07484,48.59274],[14.21733,48.59611],[14.3649,48.54897],[14.46668,48.64993],[14.55828,48.59611],[14.59899,48.62639],[14.72113,48.57591],[14.72113,48.6869],[14.8229,48.7272],[14.81782,48.77753],[14.96472,48.78518],[14.98936,49.01266],[15.14859,48.99503],[15.19439,48.93155],[15.30635,48.98501],[15.39286,48.98501],[15.48446,48.92821],[15.74908,48.8546],[15.84068,48.88807],[16.00862,48.78088],[16.20708,48.73391],[16.39537,48.73727],[16.49206,48.81105],[16.69053,48.77417],[16.7058,48.73391],[16.89917,48.71377],[16.97551,48.51527],[16.84828,48.45118],[16.85337,48.34644],[16.95515,48.25165],[16.99077,48.1499],[17.09255,48.13971],[17.08237,48.02412],[17.17397,48.02071],[17.08237,47.87414],[16.98568,47.86732],[17.08237,47.80925],[17.09255,47.70319],[16.74142,47.67921],[16.7058,47.75112],[16.53786,47.75454],[16.54804,47.70662],[16.42082,47.66893],[16.57348,47.6175],[16.67017,47.63122],[16.71088,47.53855],[16.66,47.44915],[16.54295,47.39406],[16.46153,47.39406],[16.49206,47.2768],[16.42591,47.19733],[16.47171,47.1489],[16.54804,47.1489],[16.47679,47.07964],[16.52768,47.05884],[16.50733,46.99293]]],terms_url:"https://basemap.at",terms_text:"basemap.at",description:"Annotation overlay provided by basemap.at.",icon:"https://www.basemap.at/images/logo_basemap.jpg",overlay:true},{id:"basemap.at-surface",name:"basemap.at Surface",type:"tms",template:"https://maps{switch:1,2,3,4}.wien.gv.at/basemap/bmapoberflaeche/grau/google3857/{zoom}/{y}/{x}.jpeg",zoomExtent:[0,19],polygon:[[[16.50733,46.99293],[16.28342,46.99293],[16.13584,46.8713],[15.98317,46.81909],[16.04933,46.65517],[15.86104,46.71801],[15.75926,46.69009],[15.56079,46.67962],[15.57606,46.63421],[15.47937,46.60276],[15.43357,46.65168],[15.22493,46.63421],[15.04682,46.64819],[14.99084,46.58877],[14.9603,46.62373],[14.85344,46.60276],[14.83308,46.50127],[14.75166,46.49776],[14.68041,46.43818],[14.61426,46.43818],[14.57864,46.37853],[14.44124,46.43116],[14.16135,46.42766],[14.12573,46.47674],[14.01886,46.47674],[13.91199,46.52578],[13.82548,46.50477],[13.44381,46.56078],[13.30641,46.55028],[13.1283,46.58877],[12.84332,46.61324],[12.72628,46.6412],[12.51255,46.66565],[12.35988,46.70405],[12.36497,46.77032],[12.28863,46.77729],[12.27337,46.88522],[12.20721,46.87478],[12.13088,46.90261],[12.11561,46.99987],[12.25301,47.06577],[12.2123,47.0935],[11.9833,47.04497],[11.73394,46.96168],[11.63217,47.01028],[11.54057,46.97557],[11.49986,47.00681],[11.41843,46.96515],[11.25559,46.97557],[11.1131,46.91304],[11.04185,46.76335],[10.88919,46.75986],[10.74161,46.78426],[10.70599,46.86435],[10.57877,46.83998],[10.45663,46.85043],[10.47699,46.92694],[10.38539,46.98946],[10.23272,46.86435],[10.12076,46.83302],[9.86632,46.94084],[9.90194,47.00334],[9.68312,47.05884],[9.61188,47.03804],[9.63223,47.12813],[9.58134,47.1662],[9.54063,47.26644],[9.60679,47.34926],[9.67294,47.36994],[9.64241,47.44571],[9.56608,47.48011],[9.71365,47.52824],[9.7849,47.59692],[9.83579,47.54542],[9.94774,47.53855],[10.09023,47.44915],[10.11059,47.36649],[10.2429,47.38717],[10.18692,47.2699],[10.32432,47.29751],[10.48208,47.44915],[10.43119,47.48699],[10.44137,47.59005],[10.48717,47.55229],[10.54823,47.53511],[10.59912,47.56602],[10.75688,47.53168],[10.88919,47.54542],[10.94008,47.48699],[10.99605,47.39061],[11.23523,47.44227],[11.28103,47.3975],[11.42352,47.51449],[11.57619,47.50762],[11.60672,47.59005],[11.83572,47.58662],[12.00366,47.62436],[12.20721,47.60378],[12.16141,47.69634],[12.2581,47.74427],[12.25301,47.67921],[12.43112,47.71004],[12.49219,47.63122],[12.56852,47.62779],[12.62959,47.68949],[12.77208,47.66893],[12.83315,47.54198],[12.97564,47.47323],[13.04179,47.49387],[13.0367,47.55572],[13.09777,47.64151],[13.03161,47.71004],[12.90439,47.72031],[13.00617,47.84683],[12.9451,47.93555],[12.86368,47.95941],[12.86368,48.00369],[12.75172,48.09894],[12.87386,48.21097],[12.96037,48.21097],[13.04179,48.2652],[13.18428,48.29907],[13.26061,48.2923],[13.39801,48.35659],[13.44381,48.41742],[13.43872,48.55234],[13.50997,48.58601],[13.61175,48.57255],[13.72879,48.5119],[13.78477,48.57255],[13.82039,48.62639],[13.79495,48.71713],[13.85093,48.77417],[14.05957,48.66338],[14.01377,48.63312],[14.07484,48.59274],[14.21733,48.59611],[14.3649,48.54897],[14.46668,48.64993],[14.55828,48.59611],[14.59899,48.62639],[14.72113,48.57591],[14.72113,48.6869],[14.8229,48.7272],[14.81782,48.77753],[14.96472,48.78518],[14.98936,49.01266],[15.14859,48.99503],[15.19439,48.93155],[15.30635,48.98501],[15.39286,48.98501],[15.48446,48.92821],[15.74908,48.8546],[15.84068,48.88807],[16.00862,48.78088],[16.20708,48.73391],[16.39537,48.73727],[16.49206,48.81105],[16.69053,48.77417],[16.7058,48.73391],[16.89917,48.71377],[16.97551,48.51527],[16.84828,48.45118],[16.85337,48.34644],[16.95515,48.25165],[16.99077,48.1499],[17.09255,48.13971],[17.08237,48.02412],[17.17397,48.02071],[17.08237,47.87414],[16.98568,47.86732],[17.08237,47.80925],[17.09255,47.70319],[16.74142,47.67921],[16.7058,47.75112],[16.53786,47.75454],[16.54804,47.70662],[16.42082,47.66893],[16.57348,47.6175],[16.67017,47.63122],[16.71088,47.53855],[16.66,47.44915],[16.54295,47.39406],[16.46153,47.39406],[16.49206,47.2768],[16.42591,47.19733],[16.47171,47.1489],[16.54804,47.1489],[16.47679,47.07964],[16.52768,47.05884],[16.50733,46.99293]]],terms_url:"https://basemap.at",terms_text:"basemap.at",description:"Surface layer provided by basemap.at.",icon:"https://www.basemap.at/images/logo_basemap.jpg"},{id:"basemap.at-terrain",name:"basemap.at Terrain",type:"tms",template:"https://maps{switch:1,2,3,4}.wien.gv.at/basemap/bmapgelaende/grau/google3857/{zoom}/{y}/{x}.jpeg",zoomExtent:[0,19],polygon:[[[16.50733,46.99293],[16.28342,46.99293],[16.13584,46.8713],[15.98317,46.81909],[16.04933,46.65517],[15.86104,46.71801],[15.75926,46.69009],[15.56079,46.67962],[15.57606,46.63421],[15.47937,46.60276],[15.43357,46.65168],[15.22493,46.63421],[15.04682,46.64819],[14.99084,46.58877],[14.9603,46.62373],[14.85344,46.60276],[14.83308,46.50127],[14.75166,46.49776],[14.68041,46.43818],[14.61426,46.43818],[14.57864,46.37853],[14.44124,46.43116],[14.16135,46.42766],[14.12573,46.47674],[14.01886,46.47674],[13.91199,46.52578],[13.82548,46.50477],[13.44381,46.56078],[13.30641,46.55028],[13.1283,46.58877],[12.84332,46.61324],[12.72628,46.6412],[12.51255,46.66565],[12.35988,46.70405],[12.36497,46.77032],[12.28863,46.77729],[12.27337,46.88522],[12.20721,46.87478],[12.13088,46.90261],[12.11561,46.99987],[12.25301,47.06577],[12.2123,47.0935],[11.9833,47.04497],[11.73394,46.96168],[11.63217,47.01028],[11.54057,46.97557],[11.49986,47.00681],[11.41843,46.96515],[11.25559,46.97557],[11.1131,46.91304],[11.04185,46.76335],[10.88919,46.75986],[10.74161,46.78426],[10.70599,46.86435],[10.57877,46.83998],[10.45663,46.85043],[10.47699,46.92694],[10.38539,46.98946],[10.23272,46.86435],[10.12076,46.83302],[9.86632,46.94084],[9.90194,47.00334],[9.68312,47.05884],[9.61188,47.03804],[9.63223,47.12813],[9.58134,47.1662],[9.54063,47.26644],[9.60679,47.34926],[9.67294,47.36994],[9.64241,47.44571],[9.56608,47.48011],[9.71365,47.52824],[9.7849,47.59692],[9.83579,47.54542],[9.94774,47.53855],[10.09023,47.44915],[10.11059,47.36649],[10.2429,47.38717],[10.18692,47.2699],[10.32432,47.29751],[10.48208,47.44915],[10.43119,47.48699],[10.44137,47.59005],[10.48717,47.55229],[10.54823,47.53511],[10.59912,47.56602],[10.75688,47.53168],[10.88919,47.54542],[10.94008,47.48699],[10.99605,47.39061],[11.23523,47.44227],[11.28103,47.3975],[11.42352,47.51449],[11.57619,47.50762],[11.60672,47.59005],[11.83572,47.58662],[12.00366,47.62436],[12.20721,47.60378],[12.16141,47.69634],[12.2581,47.74427],[12.25301,47.67921],[12.43112,47.71004],[12.49219,47.63122],[12.56852,47.62779],[12.62959,47.68949],[12.77208,47.66893],[12.83315,47.54198],[12.97564,47.47323],[13.04179,47.49387],[13.0367,47.55572],[13.09777,47.64151],[13.03161,47.71004],[12.90439,47.72031],[13.00617,47.84683],[12.9451,47.93555],[12.86368,47.95941],[12.86368,48.00369],[12.75172,48.09894],[12.87386,48.21097],[12.96037,48.21097],[13.04179,48.2652],[13.18428,48.29907],[13.26061,48.2923],[13.39801,48.35659],[13.44381,48.41742],[13.43872,48.55234],[13.50997,48.58601],[13.61175,48.57255],[13.72879,48.5119],[13.78477,48.57255],[13.82039,48.62639],[13.79495,48.71713],[13.85093,48.77417],[14.05957,48.66338],[14.01377,48.63312],[14.07484,48.59274],[14.21733,48.59611],[14.3649,48.54897],[14.46668,48.64993],[14.55828,48.59611],[14.59899,48.62639],[14.72113,48.57591],[14.72113,48.6869],[14.8229,48.7272],[14.81782,48.77753],[14.96472,48.78518],[14.98936,49.01266],[15.14859,48.99503],[15.19439,48.93155],[15.30635,48.98501],[15.39286,48.98501],[15.48446,48.92821],[15.74908,48.8546],[15.84068,48.88807],[16.00862,48.78088],[16.20708,48.73391],[16.39537,48.73727],[16.49206,48.81105],[16.69053,48.77417],[16.7058,48.73391],[16.89917,48.71377],[16.97551,48.51527],[16.84828,48.45118],[16.85337,48.34644],[16.95515,48.25165],[16.99077,48.1499],[17.09255,48.13971],[17.08237,48.02412],[17.17397,48.02071],[17.08237,47.87414],[16.98568,47.86732],[17.08237,47.80925],[17.09255,47.70319],[16.74142,47.67921],[16.7058,47.75112],[16.53786,47.75454],[16.54804,47.70662],[16.42082,47.66893],[16.57348,47.6175],[16.67017,47.63122],[16.71088,47.53855],[16.66,47.44915],[16.54295,47.39406],[16.46153,47.39406],[16.49206,47.2768],[16.42591,47.19733],[16.47171,47.1489],[16.54804,47.1489],[16.47679,47.07964],[16.52768,47.05884],[16.50733,46.99293]]],terms_url:"https://basemap.at",terms_text:"basemap.at",description:"Terrain layer provided by basemap.at.",icon:"https://www.basemap.at/images/logo_basemap.jpg"},{id:"bavaria-80cm",name:"Bavaria (80 cm)",type:"wms",template:"https://geoservices.bayern.de/wms/v2/ogc_dop80_oa.cgi?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=by_dop80c&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[7,18],polygon:[[[10.12359,50.56846],[10.14286,50.55078],[10.20281,50.55742],[10.25205,50.51796],[10.32698,50.49345],[10.41048,50.41848],[10.60317,50.33109],[10.62244,50.2271],[10.72521,50.21066],[10.72949,50.24765],[10.85153,50.24354],[10.71879,50.32015],[10.71236,50.36524],[10.85581,50.39664],[10.93717,50.39664],[10.99069,50.36661],[11.12772,50.36661],[11.1791,50.31332],[11.16197,50.29417],[11.24119,50.2928],[11.24975,50.37344],[11.24119,50.47982],[11.35895,50.5234],[11.43816,50.50979],[11.44244,50.48936],[11.42532,50.4771],[11.42532,50.44166],[11.48955,50.42257],[11.49169,50.39801],[11.51952,50.39801],[11.52594,50.37617],[11.59874,50.40347],[11.63727,50.38845],[11.79357,50.4212],[11.83639,50.39255],[11.92203,50.42802],[11.98626,50.38709],[11.98412,50.35705],[12.04835,50.33109],[12.09331,50.32972],[12.1297,50.29828],[12.14041,50.27228],[12.10615,50.25586],[12.11258,50.23532],[12.14897,50.23669],[12.19822,50.20107],[12.22391,50.16406],[12.20464,50.14348],[12.20678,50.10779],[12.24318,50.09955],[12.27743,50.07208],[12.49367,49.98543],[12.49796,49.94136],[12.55576,49.92206],[12.54934,49.86827],[12.48083,49.78817],[12.41018,49.75775],[12.46156,49.70655],[12.5472,49.68023],[12.58788,49.55261],[12.65425,49.53455],[12.66281,49.43302],[12.75274,49.41073],[12.7977,49.34661],[12.90475,49.35638],[12.99681,49.33685],[13.05462,49.27543],[13.13169,49.21952],[13.19164,49.14395],[13.2366,49.12153],[13.29655,49.12293],[13.37148,49.08088],[13.4143,49.02897],[13.4143,48.97981],[13.57916,48.96997],[13.63483,48.94326],[13.67765,48.88698],[13.73759,48.89261],[13.7847,48.83346],[13.84036,48.77423],[13.81681,48.70646],[13.84464,48.70081],[13.8425,48.60038],[13.76543,48.5423],[13.75258,48.50401],[13.67122,48.50543],[13.64339,48.54371],[13.45712,48.5508],[13.45712,48.41598],[13.40574,48.36053],[13.2837,48.27511],[13.09315,48.26941],[12.95827,48.19097],[12.87691,48.18526],[12.772,48.09382],[12.86407,48.01368],[12.89832,47.95492],[12.94543,47.95636],[12.99681,47.88461],[13.01394,47.83434],[12.93472,47.7322],[13.0589,47.72499],[13.11885,47.63851],[13.06532,47.56922],[13.05676,47.47379],[13.00323,47.45208],[12.76772,47.55044],[12.76986,47.63274],[12.73989,47.67312],[12.6671,47.67024],[12.57503,47.6212],[12.48083,47.61975],[12.41446,47.67024],[12.24318,47.67745],[12.2132,47.69186],[12.19179,47.68177],[12.2132,47.66591],[12.21106,47.60388],[12.17467,47.59521],[12.13827,47.60388],[11.89205,47.60388],[11.85137,47.57933],[11.63942,47.58222],[11.59445,47.54899],[11.59017,47.51285],[11.51738,47.49839],[11.4403,47.50417],[11.39534,47.47524],[11.42746,47.44484],[11.3461,47.44339],[11.27973,47.39559],[11.21336,47.38834],[11.24761,47.43181],[11.10203,47.39269],[10.965,47.38979],[10.97785,47.43615],[10.9179,47.47524],[10.8708,47.47524],[10.85581,47.49405],[10.90077,47.5143],[10.87294,47.53598],[10.81085,47.51285],[10.64385,47.54899],[10.59461,47.55477],[10.57962,47.52876],[10.46187,47.54032],[10.46615,47.48392],[10.48756,47.47813],[10.48756,47.41298],[10.45973,47.40283],[10.45973,47.37529],[10.41048,47.37384],[10.40834,47.34339],[10.32056,47.28678],[10.28202,47.27806],[10.28416,47.26208],[10.14714,47.26208],[10.1921,47.30275],[10.19424,47.37384],[10.16641,47.37384],[10.16641,47.34629],[10.10004,47.34339],[10.0615,47.36369],[10.06792,47.41877],[10.09361,47.42601],[10.09576,47.44194],[9.978,47.48537],[9.95659,47.52731],[9.8945,47.52876],[9.85596,47.50851],[9.81743,47.54465],[9.82171,47.57644],[9.77461,47.58222],[9.73821,47.52586],[9.67398,47.53454],[9.58406,47.56488],[9.63972,47.60532],[9.7168,47.60388],[9.85596,47.676],[9.978,47.65582],[10.02938,47.68177],[10.10004,47.66735],[10.13215,47.676],[10.14286,47.70195],[10.0615,47.7725],[10.11288,47.8099],[10.08291,47.85302],[10.1086,47.90902],[10.07649,47.96496],[10.13001,48.02084],[10.13429,48.10669],[10.10004,48.12813],[10.05508,48.26228],[9.96944,48.36765],[10.03153,48.42593],[10.02938,48.46144],[10.12359,48.47705],[10.15356,48.4515],[10.23492,48.51252],[10.31628,48.51678],[10.29915,48.61878],[10.24563,48.6683],[10.27346,48.70646],[10.3698,48.68385],[10.43189,48.69939],[10.45116,48.72765],[10.40192,48.746],[10.44046,48.84896],[10.43403,48.95873],[10.33769,49.02055],[10.24991,49.03599],[10.24991,49.07387],[10.20066,49.10331],[10.25205,49.13274],[10.12359,49.19714],[10.11931,49.26285],[10.15142,49.28939],[10.10432,49.34522],[10.14072,49.39401],[10.1086,49.44555],[10.11074,49.50537],[10.0722,49.53316],[10.01654,49.47616],[9.92662,49.47894],[9.92448,49.55678],[9.89878,49.58177],[9.85596,49.53872],[9.80672,49.55678],[9.86667,49.60675],[9.85382,49.6442],[9.81743,49.66083],[9.83455,49.68993],[9.79602,49.72039],[9.75748,49.70793],[9.74035,49.68577],[9.70609,49.71624],[9.67826,49.71624],[9.68254,49.68854],[9.62045,49.69131],[9.64615,49.78955],[9.55836,49.77434],[9.57121,49.73561],[9.50698,49.75222],[9.49199,49.77987],[9.46844,49.76051],[9.42562,49.77849],[9.40421,49.76466],[9.33356,49.7702],[9.32928,49.73423],[9.4085,49.72593],[9.42776,49.69824],[9.41492,49.6442],[9.38066,49.63865],[9.35925,49.64974],[9.33998,49.63727],[9.31215,49.64836],[9.27789,49.62617],[9.28432,49.60814],[9.2415,49.57483],[9.09805,49.57205],[9.06594,49.60814],[9.10019,49.65113],[9.09163,49.6927],[9.13017,49.71208],[9.13873,49.74253],[9.10876,49.75637],[9.13659,49.79093],[9.10019,49.78955],[9.07236,49.82824],[9.03596,49.83514],[9.01669,50.02671],[8.96317,50.03084],[8.95674,50.05971],[9.00171,50.0707],[9.02097,50.11054],[9.1216,50.12289],[9.15586,50.11328],[9.19654,50.11878],[9.18583,50.13525],[9.23507,50.1476],[9.37638,50.12701],[9.4085,50.0817],[9.52197,50.09543],[9.50484,50.14211],[9.53267,50.16406],[9.48985,50.16954],[9.49413,50.24354],[9.61403,50.22163],[9.66541,50.23532],[9.63544,50.24901],[9.66756,50.27228],[9.74249,50.30922],[9.72964,50.35841],[9.77032,50.42939],[9.86881,50.40074],[9.91805,50.40893],[10.03581,50.47982],[10.03795,50.51115],[10.12359,50.56846]]],terms_url:"https://www.ldbv.bayern.de/",terms_text:"Bayerische Vermessungsverwaltung",best:true},{id:"bavaria-DOP80",name:"Bavaria DOP 80cm",type:"tms",template:"https://mapproxy.osm.ch/tiles/BAYERNDOP80/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",zoomExtent:[7,18],polygon:[[[10.12359,50.56846],[10.14286,50.55078],[10.20281,50.55742],[10.25205,50.51796],[10.32698,50.49345],[10.41048,50.41848],[10.60317,50.33109],[10.62244,50.2271],[10.72521,50.21066],[10.72949,50.24765],[10.85153,50.24354],[10.71879,50.32015],[10.71236,50.36524],[10.85581,50.39664],[10.93717,50.39664],[10.99069,50.36661],[11.12772,50.36661],[11.1791,50.31332],[11.16197,50.29417],[11.24119,50.2928],[11.24975,50.37344],[11.24119,50.47982],[11.35895,50.5234],[11.43816,50.50979],[11.44244,50.48936],[11.42532,50.4771],[11.42532,50.44166],[11.48955,50.42257],[11.49169,50.39801],[11.51952,50.39801],[11.52594,50.37617],[11.59874,50.40347],[11.63727,50.38845],[11.79357,50.4212],[11.83639,50.39255],[11.92203,50.42802],[11.98626,50.38709],[11.98412,50.35705],[12.04835,50.33109],[12.09331,50.32972],[12.1297,50.29828],[12.14041,50.27228],[12.10615,50.25586],[12.11258,50.23532],[12.14897,50.23669],[12.19822,50.20107],[12.22391,50.16406],[12.20464,50.14348],[12.20678,50.10779],[12.24318,50.09955],[12.27743,50.07208],[12.49367,49.98543],[12.49796,49.94136],[12.55576,49.92206],[12.54934,49.86827],[12.48083,49.78817],[12.41018,49.75775],[12.46156,49.70655],[12.5472,49.68023],[12.58788,49.55261],[12.65425,49.53455],[12.66281,49.43302],[12.75274,49.41073],[12.7977,49.34661],[12.90475,49.35638],[12.99681,49.33685],[13.05462,49.27543],[13.13169,49.21952],[13.19164,49.14395],[13.2366,49.12153],[13.29655,49.12293],[13.37148,49.08088],[13.4143,49.02897],[13.4143,48.97981],[13.57916,48.96997],[13.63483,48.94326],[13.67765,48.88698],[13.73759,48.89261],[13.7847,48.83346],[13.84036,48.77423],[13.81681,48.70646],[13.84464,48.70081],[13.8425,48.60038],[13.76543,48.5423],[13.75258,48.50401],[13.67122,48.50543],[13.64339,48.54371],[13.45712,48.5508],[13.45712,48.41598],[13.40574,48.36053],[13.2837,48.27511],[13.09315,48.26941],[12.95827,48.19097],[12.87691,48.18526],[12.772,48.09382],[12.86407,48.01368],[12.89832,47.95492],[12.94543,47.95636],[12.99681,47.88461],[13.01394,47.83434],[12.93472,47.7322],[13.0589,47.72499],[13.11885,47.63851],[13.06532,47.56922],[13.05676,47.47379],[13.00323,47.45208],[12.76772,47.55044],[12.76986,47.63274],[12.73989,47.67312],[12.6671,47.67024],[12.57503,47.6212],[12.48083,47.61975],[12.41446,47.67024],[12.24318,47.67745],[12.2132,47.69186],[12.19179,47.68177],[12.2132,47.66591],[12.21106,47.60388],[12.17467,47.59521],[12.13827,47.60388],[11.89205,47.60388],[11.85137,47.57933],[11.63942,47.58222],[11.59445,47.54899],[11.59017,47.51285],[11.51738,47.49839],[11.4403,47.50417],[11.39534,47.47524],[11.42746,47.44484],[11.3461,47.44339],[11.27973,47.39559],[11.21336,47.38834],[11.24761,47.43181],[11.10203,47.39269],[10.965,47.38979],[10.97785,47.43615],[10.9179,47.47524],[10.8708,47.47524],[10.85581,47.49405],[10.90077,47.5143],[10.87294,47.53598],[10.81085,47.51285],[10.64385,47.54899],[10.59461,47.55477],[10.57962,47.52876],[10.46187,47.54032],[10.46615,47.48392],[10.48756,47.47813],[10.48756,47.41298],[10.45973,47.40283],[10.45973,47.37529],[10.41048,47.37384],[10.40834,47.34339],[10.32056,47.28678],[10.28202,47.27806],[10.28416,47.26208],[10.14714,47.26208],[10.1921,47.30275],[10.19424,47.37384],[10.16641,47.37384],[10.16641,47.34629],[10.10004,47.34339],[10.0615,47.36369],[10.06792,47.41877],[10.09361,47.42601],[10.09576,47.44194],[9.978,47.48537],[9.95659,47.52731],[9.8945,47.52876],[9.85596,47.50851],[9.81743,47.54465],[9.82171,47.57644],[9.77461,47.58222],[9.73821,47.52586],[9.67398,47.53454],[9.58406,47.56488],[9.63972,47.60532],[9.7168,47.60388],[9.85596,47.676],[9.978,47.65582],[10.02938,47.68177],[10.10004,47.66735],[10.13215,47.676],[10.14286,47.70195],[10.0615,47.7725],[10.11288,47.8099],[10.08291,47.85302],[10.1086,47.90902],[10.07649,47.96496],[10.13001,48.02084],[10.13429,48.10669],[10.10004,48.12813],[10.05508,48.26228],[9.96944,48.36765],[10.03153,48.42593],[10.02938,48.46144],[10.12359,48.47705],[10.15356,48.4515],[10.23492,48.51252],[10.31628,48.51678],[10.29915,48.61878],[10.24563,48.6683],[10.27346,48.70646],[10.3698,48.68385],[10.43189,48.69939],[10.45116,48.72765],[10.40192,48.746],[10.44046,48.84896],[10.43403,48.95873],[10.33769,49.02055],[10.24991,49.03599],[10.24991,49.07387],[10.20066,49.10331],[10.25205,49.13274],[10.12359,49.19714],[10.11931,49.26285],[10.15142,49.28939],[10.10432,49.34522],[10.14072,49.39401],[10.1086,49.44555],[10.11074,49.50537],[10.0722,49.53316],[10.01654,49.47616],[9.92662,49.47894],[9.92448,49.55678],[9.89878,49.58177],[9.85596,49.53872],[9.80672,49.55678],[9.86667,49.60675],[9.85382,49.6442],[9.81743,49.66083],[9.83455,49.68993],[9.79602,49.72039],[9.75748,49.70793],[9.74035,49.68577],[9.70609,49.71624],[9.67826,49.71624],[9.68254,49.68854],[9.62045,49.69131],[9.64615,49.78955],[9.55836,49.77434],[9.57121,49.73561],[9.50698,49.75222],[9.49199,49.77987],[9.46844,49.76051],[9.42562,49.77849],[9.40421,49.76466],[9.33356,49.7702],[9.32928,49.73423],[9.4085,49.72593],[9.42776,49.69824],[9.41492,49.6442],[9.38066,49.63865],[9.35925,49.64974],[9.33998,49.63727],[9.31215,49.64836],[9.27789,49.62617],[9.28432,49.60814],[9.2415,49.57483],[9.09805,49.57205],[9.06594,49.60814],[9.10019,49.65113],[9.09163,49.6927],[9.13017,49.71208],[9.13873,49.74253],[9.10876,49.75637],[9.13659,49.79093],[9.10019,49.78955],[9.07236,49.82824],[9.03596,49.83514],[9.01669,50.02671],[8.96317,50.03084],[8.95674,50.05971],[9.00171,50.0707],[9.02097,50.11054],[9.1216,50.12289],[9.15586,50.11328],[9.19654,50.11878],[9.18583,50.13525],[9.23507,50.1476],[9.37638,50.12701],[9.4085,50.0817],[9.52197,50.09543],[9.50484,50.14211],[9.53267,50.16406],[9.48985,50.16954],[9.49413,50.24354],[9.61403,50.22163],[9.66541,50.23532],[9.63544,50.24901],[9.66756,50.27228],[9.74249,50.30922],[9.72964,50.35841],[9.77032,50.42939],[9.86881,50.40074],[9.91805,50.40893],[10.03581,50.47982],[10.03795,50.51115],[10.12359,50.56846]]],terms_url:"https://www.ldbv.bayern.de/",terms_text:"Bayerische Vermessungsverwaltung",best:true,description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"route500hydro",name:"BD Carthage",type:"tms",template:"https://{switch:a,b,c}.tile.openstreetmap.fr/route500hydro/{zoom}/{x}/{y}.png",zoomExtent:[6,20],polygon:[[[-2.7,43.9],[-6.3,48.98],[-2.25,50.09],[1.31,50.88],[2.35816,51.32937],[2.5488,51.09759],[2.57048,51.07409],[2.58741,51.01763],[2.59845,51.0051],[2.61558,50.99749],[2.63986,50.95766],[2.64225,50.94578],[2.62452,50.9256],[2.61962,50.91067],[2.62396,50.86071],[2.62781,50.85054],[2.63786,50.83696],[2.6511,50.82906],[2.73267,50.81738],[2.79995,50.73795],[2.81655,50.73092],[2.85265,50.73335],[2.89072,50.7162],[2.90492,50.71536],[2.9161,50.72418],[2.93508,50.75592],[3.00718,50.78377],[3.08218,50.78749],[3.09244,50.79092],[3.11412,50.80566],[3.14877,50.80195],[3.2154,50.73111],[3.22149,50.7267],[3.27051,50.70375],[3.27545,50.67757],[3.26576,50.6604],[3.26588,50.64054],[3.28922,50.60028],[3.29219,50.55037],[3.3056,50.53267],[3.37551,50.50839],[3.3898,50.50884],[3.4748,50.54445],[3.52173,50.53459],[3.53266,50.51873],[3.54779,50.51012],[3.61523,50.50558],[3.67378,50.45642],[3.68415,50.35277],[3.6901,50.34044],[3.70258,50.33482],[3.71576,50.33854],[3.74935,50.36279],[3.84109,50.36558],[3.90189,50.3436],[3.91317,50.34291],[4.02672,50.36904],[4.13761,50.29984],[4.14388,50.29727],[4.21444,50.28167],[4.22904,50.26664],[4.23078,50.25233],[4.17084,50.18579],[4.16601,50.16888],[4.1764,50.1547],[4.21195,50.13602],[4.24074,50.07102],[4.23193,50.05551],[4.18164,50.03436],[4.17177,50.02537],[4.16976,50.01217],[4.1765,50.00065],[4.20633,49.97546],[4.22164,49.97089],[4.30877,49.98145],[4.44542,49.9523],[4.45469,49.95251],[4.6581,50.00609],[4.66936,50.01392],[4.67293,50.02716],[4.66924,50.06972],[4.69517,50.10472],[4.83123,50.17941],[4.8815,50.16436],[4.90479,50.14451],[4.90426,50.12639],[4.88076,50.0815],[4.86277,50.0745],[4.85104,50.06216],[4.84331,50.03884],[4.84331,50.03883],[4.8433,50.03881],[4.82678,49.989],[4.82662,49.97692],[4.83343,49.96696],[4.89654,49.91753],[4.89755,49.89424],[4.87913,49.86942],[4.87625,49.85111],[4.88924,49.81266],[4.89769,49.80204],[4.91098,49.79926],[4.99534,49.81116],[5.01867,49.79272],[5.02686,49.78886],[5.09944,49.77323],[5.13458,49.73462],[5.1412,49.72984],[5.18761,49.70906],[5.19602,49.70732],[5.28157,49.70836],[5.33363,49.67308],[5.344,49.65049],[5.3544,49.64041],[5.43141,49.60791],[5.48205,49.52815],[5.49294,49.51979],[5.50666,49.52042],[5.55401,49.54025],[5.59311,49.53424],[5.6076,49.53761],[5.641,49.56095],[5.70676,49.55267],[5.71578,49.55361],[5.77526,49.57414],[5.8399,49.55321],[5.86126,49.52038],[5.876,49.5114],[5.97516,49.50129],[5.99801,49.47317],[6.01627,49.46597],[6.08635,49.47562],[6.09319,49.47787],[6.17397,49.52187],[6.24643,49.52511],[6.334,49.48235],[6.34423,49.48037],[6.43515,49.487],[6.5451,49.44384],[6.60639,49.37868],[6.60497,49.33739],[6.61627,49.31869],[6.67013,49.29269],[6.72996,49.22917],[6.74328,49.19086],[6.76026,49.17752],[6.80904,49.17284],[6.82473,49.17826],[6.83093,49.19366],[6.82982,49.21802],[6.85119,49.23136],[6.88453,49.2239],[6.89322,49.22389],[6.93753,49.23369],[7.04055,49.19794],[7.0463,49.17503],[7.05478,49.16313],[7.06908,49.16018],[7.10494,49.16634],[7.14315,49.14159],[7.1535,49.13839],[7.28683,49.13488],[7.29893,49.13856],[7.36095,49.18259],[7.45012,49.19517],[7.50113,49.17672],[7.54379,49.10572],[7.5579,49.09626],[7.6296,49.08527],[7.64722,49.06722],[7.6612,49.06119],[7.75401,49.05963],[7.76073,49.06067],[7.80291,49.07489],[7.85525,49.05329],[7.8673,49.05227],[7.93826,49.06832],[8.08069,49.00688],[8.2225,48.98787],[8.23704,48.97683],[8.23589,48.95817],[8.20888,48.94863],[8.20089,48.94339],[8.15824,48.89753],[8.10087,48.7993],[7.99071,48.74478],[7.98534,48.7409],[7.90422,48.65865],[7.85605,48.63606],[7.8484,48.62977],[7.81842,48.58883],[7.81456,48.57704],[7.81449,48.50968],[7.78547,48.48337],[7.78055,48.47652],[7.74506,48.39484],[7.74357,48.38427],[7.75159,48.32322],[7.71085,48.29841],[7.70241,48.28803],[7.67661,48.21555],[7.59605,48.11698],[7.59165,48.10648],[7.58522,48.04694],[7.59127,48.03035],[7.62437,47.99865],[7.63205,47.97081],[7.57554,47.87436],[7.5728,47.86435],[7.57267,47.83631],[7.54581,47.78793],[7.54418,47.77232],[7.55758,47.72899],[7.53526,47.6989],[7.53136,47.68564],[7.537,47.67302],[7.60016,47.60822],[7.58967,47.56755],[7.55424,47.55128],[7.54511,47.54283],[7.51256,47.48439],[7.38747,47.42111],[7.32653,47.4273],[7.24435,47.40939],[7.16708,47.4335],[7.15212,47.47612],[7.14279,47.48707],[7.12853,47.48893],[7.0801,47.47718],[7.03557,47.48695],[7.02102,47.48458],[7.01205,47.47287],[7.003,47.44095],[6.9551,47.40808],[6.94716,47.39698],[6.94818,47.38337],[6.95769,47.37359],[6.97126,47.37218],[7.018,47.38386],[7.05623,47.37035],[7.07007,47.35005],[7.05958,47.32257],[6.97424,47.27856],[6.96347,47.26233],[6.96134,47.23479],[6.89443,47.19393],[6.88913,47.18922],[6.85545,47.14636],[6.76907,47.10751],[6.76011,47.09953],[6.72561,47.0418],[6.62355,46.9811],[6.4812,46.9445],[6.46892,46.93522],[6.46686,46.91997],[6.47548,46.88771],[6.4535,46.8239],[6.45644,46.80534],[6.46722,46.79104],[6.46098,46.76887],[6.15817,46.59343],[6.14872,46.58069],[6.15152,46.56508],[6.16549,46.54399],[6.15811,46.52456],[6.10174,46.46979],[6.09572,46.45418],[6.09704,46.43317],[6.10829,46.41643],[6.16622,46.38839],[6.17817,46.36922],[6.13748,46.31297],[6.13371,46.30227],[6.13038,46.23737],[6.1103,46.22344],[6.08865,46.23081],[6.07717,46.23123],[6.01857,46.21601],[6.00681,46.20752],[6.00388,46.19332],[6.00787,46.16977],[6.01783,46.15564],[6.03509,46.15456],[6.05564,46.16288],[6.12468,46.15415],[6.13778,46.15702],[6.24026,46.22094],[6.24906,46.23299],[6.24707,46.24777],[6.21148,46.31057],[6.21219,46.32485],[6.23946,46.36705],[6.31648,46.41557],[6.41083,46.42495],[6.41748,46.42682],[6.50498,46.46871],[6.63047,46.47435],[6.74665,46.45695],[6.82244,46.42925],[6.81832,46.38181],[6.80484,46.36179],[6.80189,46.34639],[6.81095,46.33359],[6.86491,46.30038],[6.87504,46.28007],[6.86092,46.2439],[6.82698,46.21188],[6.82075,46.19862],[6.81863,46.16592],[6.82259,46.15261],[6.83427,46.14509],[6.90382,46.12971],[6.90491,46.09595],[6.90932,46.08406],[6.92001,46.07721],[6.94898,46.0699],[7.01556,46.00883],[7.05191,45.93066],[7.04533,45.92217],[7.04497,45.92064],[7.04394,45.92036],[6.99582,45.85822],[6.94097,45.83551],[6.84376,45.82387],[6.83102,45.81711],[6.82614,45.80353],[6.82787,45.73217],[6.83174,45.72082],[6.8414,45.71373],[6.90729,45.69124],[6.92419,45.66935],[6.94247,45.66172],[6.97131,45.66528],[7.00597,45.64945],[7.01151,45.63652],[6.9978,45.60877],[6.99643,45.59465],[7.0158,45.52354],[7.02774,45.5102],[7.1072,45.47877],[7.1228,45.44924],[7.13304,45.44001],[7.1856,45.41894],[7.19515,45.40409],[7.17075,45.35069],[7.14232,45.32298],[7.13649,45.30576],[7.14458,45.25048],[7.08417,45.20279],[6.99279,45.19823],[6.98106,45.19368],[6.90009,45.12689],[6.85843,45.11699],[6.78283,45.14228],[6.77056,45.14242],[6.67751,45.11356],[6.6653,45.10289],[6.66501,45.08667],[6.68237,45.04558],[6.69602,45.03395],[6.75744,45.01884],[6.78375,44.9146],[6.7942,44.90161],[6.86698,44.86519],[6.8798,44.86346],[6.93633,44.87461],[7.01795,44.84402],[7.03453,44.82282],[7.03711,44.75009],[7.0496,44.73226],[7.07224,44.72311],[7.08651,44.6968],[7.08666,44.68085],[7.07671,44.67134],[6.99007,44.67203],[6.97413,44.66431],[6.97056,44.64696],[6.97819,44.61784],[6.94659,44.57124],[6.88235,44.53479],[6.87233,44.5195],[6.87892,44.50245],[6.95894,44.43129],[6.95872,44.42908],[6.92167,44.41436],[6.91223,44.40659],[6.90907,44.39477],[6.90972,44.38195],[6.91637,44.36804],[6.99909,44.29414],[7.01181,44.256],[7.01983,44.24558],[7.03259,44.2424],[7.07312,44.2461],[7.1651,44.22112],[7.24533,44.18544],[7.26053,44.16682],[7.27537,44.15947],[7.33878,44.1574],[7.36278,44.13834],[7.37776,44.13416],[7.56283,44.15792],[7.5642,44.15836],[7.56478,44.15817],[7.60548,44.1634],[7.6162,44.16827],[7.63989,44.18928],[7.68608,44.1861],[7.69422,44.17795],[7.68937,44.13869],[7.69445,44.12276],[7.72786,44.08615],[7.72403,44.05704],[7.68603,44.02371],[7.68077,44.0164],[7.66016,43.9672],[7.59624,43.94466],[7.58419,43.93287],[7.56858,43.89159],[7.5271,43.87434],[7.51649,43.86397],[7.51594,43.84915],[7.53622,43.79234],[9.8,43.1],[9.63227,41.43244],[9.36968,41.35052],[9.27311,41.29196],[8.94186,41.27688],[5.8,41.64],[3.17358,42.41768],[3.16081,42.42757],[3.0944,42.41457],[3.03402,42.45331],[3.02214,42.45645],[2.87822,42.4487],[2.87019,42.44653],[2.78424,42.40256],[2.7413,42.41128],[2.72928,42.40998],[2.69331,42.39417],[2.68378,42.3854],[2.68162,42.37263],[2.68585,42.34679],[2.66719,42.33008],[2.58106,42.34418],[2.56777,42.34173],[2.5338,42.32197],[2.47795,42.32986],[2.41933,42.37658],[2.41222,42.38021],[2.26719,42.42055],[2.25973,42.42117],[2.20694,42.41558],[2.20653,42.41526],[2.20526,42.41541],[2.16028,42.41065],[2.14881,42.40545],[2.09393,42.35474],[2.00861,42.33818],[1.965,42.36473],[1.93076,42.42442],[1.92089,42.43302],[1.88467,42.44761],[1.88459,42.44762],[1.88444,42.4477],[1.82774,42.47056],[1.72567,42.48452],[1.71561,42.50125],[1.7272,42.56103],[1.72479,42.57499],[1.71011,42.59992],[1.69377,42.60975],[1.60283,42.61382],[1.56069,42.6392],[1.54636,42.64166],[1.50444,42.6331],[1.4921,42.62502],[1.47238,42.59703],[1.43792,42.59264],[1.41936,42.60643],[1.38032,42.67415],[1.37335,42.68127],[1.33313,42.70563],[1.32364,42.7085],[1.23221,42.71248],[1.16554,42.69928],[1.08546,42.76635],[1.07564,42.77079],[0.95937,42.78852],[0.95073,42.78794],[0.92265,42.7797],[0.84606,42.8157],[0.71511,42.8464],[0.70017,42.84402],[0.69117,42.83186],[0.67409,42.76479],[0.67474,42.75286],[0.69192,42.70684],[0.669,42.67901],[0.43024,42.67863],[0.3715,42.70308],[0.35954,42.70415],[0.34912,42.69817],[0.32567,42.67274],[0.29571,42.66388],[0.24594,42.70175],[0.23972,42.70494],[0.18967,42.72039],[0.17919,42.72075],[-0.01993,42.67389],[-0.06726,42.6848],[-0.16949,42.77157],[-0.29987,42.82697],[-0.31683,42.82635],[-0.39208,42.78766],[-0.44354,42.78453],[-0.48842,42.80255],[-0.50868,42.79935],[-0.54499,42.76906],[-0.56721,42.76937],[-0.67446,42.86392],[-0.68094,42.86775],[-0.73372,42.88666],[-0.7476,42.93879],[-0.75711,42.95107],[-0.77253,42.95284],[-0.82114,42.93865],[-0.94508,42.94192],[-1.02313,42.98206],[-1.10852,43.00409],[-1.1156,43.00461],[-1.14775,43.00124],[-1.15845,43.01452],[-1.16736,43.02083],[-1.21622,43.0381],[-1.22612,43.03898],[-1.26236,43.03303],[-1.30643,43.05531],[-1.31992,43.05696],[-1.33135,43.0496],[-1.3542,43.0197],[-1.43868,43.03371],[-1.4775,43.06889],[-1.48311,43.08561],[-1.47641,43.10248],[-1.43479,43.13087],[-1.42732,43.1404],[-1.39411,43.22935],[-1.39531,43.24596],[-1.40868,43.25591],[-1.52629,43.28099],[-1.54626,43.2737],[-1.57149,43.2412],[-1.61053,43.24223],[-1.65,43.29323],[-1.66953,43.30065],[-1.73359,43.28856],[-1.75606,43.31966],[-1.76297,43.32565],[-1.79156,43.34067],[-1.80099,43.37017],[-1.78509,43.39037],[-1.7835,43.39686],[-2.7,43.9]]],terms_url:"http://www.sandre.eaufrance.fr/actualite/la-bd-carthage-en-licence-ouverte-open-licence",terms_text:"Tiles © cquest@Openstreetmap France, data © Onema - IGN, LO/OL",description:"Réseau hydrographique: cours et plans d'eau et POI",overlay:true},{id:"fr.ign.bdortho",name:"BDOrtho IGN",type:"tms",template:"https://proxy-ign.openstreetmap.fr/94GjiyqD/bdortho/{zoom}/{x}/{y}.jpg",zoomExtent:[2,21],polygon:[[[-2.7,43.9],[-6.3,48.98],[-2.25,50.09],[1.31,50.88],[2.35816,51.32937],[2.5488,51.09759],[2.57048,51.07409],[2.58741,51.01763],[2.59845,51.0051],[2.61558,50.99749],[2.63986,50.95766],[2.64225,50.94578],[2.62452,50.9256],[2.61962,50.91067],[2.62396,50.86071],[2.62781,50.85054],[2.63786,50.83696],[2.6511,50.82906],[2.73267,50.81738],[2.79995,50.73795],[2.81655,50.73092],[2.85265,50.73335],[2.89072,50.7162],[2.90492,50.71536],[2.9161,50.72418],[2.93508,50.75592],[3.00718,50.78377],[3.08218,50.78749],[3.09244,50.79092],[3.11412,50.80566],[3.14877,50.80195],[3.2154,50.73111],[3.22149,50.7267],[3.27051,50.70375],[3.27545,50.67757],[3.26576,50.6604],[3.26588,50.64054],[3.28922,50.60028],[3.29219,50.55037],[3.3056,50.53267],[3.37551,50.50839],[3.3898,50.50884],[3.4748,50.54445],[3.52173,50.53459],[3.53266,50.51873],[3.54779,50.51012],[3.61523,50.50558],[3.67378,50.45642],[3.68415,50.35277],[3.6901,50.34044],[3.70258,50.33482],[3.71576,50.33854],[3.74935,50.36279],[3.84109,50.36558],[3.90189,50.3436],[3.91317,50.34291],[4.02672,50.36904],[4.13761,50.29984],[4.14388,50.29727],[4.21444,50.28167],[4.22904,50.26664],[4.23078,50.25233],[4.17084,50.18579],[4.16601,50.16888],[4.1764,50.1547],[4.21195,50.13602],[4.24074,50.07102],[4.23193,50.05551],[4.18164,50.03436],[4.17177,50.02537],[4.16976,50.01217],[4.1765,50.00065],[4.20633,49.97546],[4.22164,49.97089],[4.30877,49.98145],[4.44542,49.9523],[4.45469,49.95251],[4.6581,50.00609],[4.66936,50.01392],[4.67293,50.02716],[4.66924,50.06972],[4.69517,50.10472],[4.83123,50.17941],[4.8815,50.16436],[4.90479,50.14451],[4.90426,50.12639],[4.88076,50.0815],[4.86277,50.0745],[4.85104,50.06216],[4.84331,50.03884],[4.84331,50.03883],[4.8433,50.03881],[4.82678,49.989],[4.82662,49.97692],[4.83343,49.96696],[4.89654,49.91753],[4.89755,49.89424],[4.87913,49.86942],[4.87625,49.85111],[4.88924,49.81266],[4.89769,49.80204],[4.91098,49.79926],[4.99534,49.81116],[5.01867,49.79272],[5.02686,49.78886],[5.09944,49.77323],[5.13458,49.73462],[5.1412,49.72984],[5.18761,49.70906],[5.19602,49.70732],[5.28157,49.70836],[5.33363,49.67308],[5.344,49.65049],[5.3544,49.64041],[5.43141,49.60791],[5.48205,49.52815],[5.49294,49.51979],[5.50666,49.52042],[5.55401,49.54025],[5.59311,49.53424],[5.6076,49.53761],[5.641,49.56095],[5.70676,49.55267],[5.71578,49.55361],[5.77526,49.57414],[5.8399,49.55321],[5.86126,49.52038],[5.876,49.5114],[5.97516,49.50129],[5.99801,49.47317],[6.01627,49.46597],[6.08635,49.47562],[6.09319,49.47787],[6.17397,49.52187],[6.24643,49.52511],[6.334,49.48235],[6.34423,49.48037],[6.43515,49.487],[6.5451,49.44384],[6.60639,49.37868],[6.60497,49.33739],[6.61627,49.31869],[6.67013,49.29269],[6.72996,49.22917],[6.74328,49.19086],[6.76026,49.17752],[6.80904,49.17284],[6.82473,49.17826],[6.83093,49.19366],[6.82982,49.21802],[6.85119,49.23136],[6.88453,49.2239],[6.89322,49.22389],[6.93753,49.23369],[7.04055,49.19794],[7.0463,49.17503],[7.05478,49.16313],[7.06908,49.16018],[7.10494,49.16634],[7.14315,49.14159],[7.1535,49.13839],[7.28683,49.13488],[7.29893,49.13856],[7.36095,49.18259],[7.45012,49.19517],[7.50113,49.17672],[7.54379,49.10572],[7.5579,49.09626],[7.6296,49.08527],[7.64722,49.06722],[7.6612,49.06119],[7.75401,49.05963],[7.76073,49.06067],[7.80291,49.07489],[7.85525,49.05329],[7.8673,49.05227],[7.93826,49.06832],[8.08069,49.00688],[8.2225,48.98787],[8.23704,48.97683],[8.23589,48.95817],[8.20888,48.94863],[8.20089,48.94339],[8.15824,48.89753],[8.10087,48.7993],[7.99071,48.74478],[7.98534,48.7409],[7.90422,48.65865],[7.85605,48.63606],[7.8484,48.62977],[7.81842,48.58883],[7.81456,48.57704],[7.81449,48.50968],[7.78547,48.48337],[7.78055,48.47652],[7.74506,48.39484],[7.74357,48.38427],[7.75159,48.32322],[7.71085,48.29841],[7.70241,48.28803],[7.67661,48.21555],[7.59605,48.11698],[7.59165,48.10648],[7.58522,48.04694],[7.59127,48.03035],[7.62437,47.99865],[7.63205,47.97081],[7.57554,47.87436],[7.5728,47.86435],[7.57267,47.83631],[7.54581,47.78793],[7.54418,47.77232],[7.55758,47.72899],[7.53526,47.6989],[7.53136,47.68564],[7.537,47.67302],[7.60016,47.60822],[7.58967,47.56755],[7.55424,47.55128],[7.54511,47.54283],[7.51256,47.48439],[7.38747,47.42111],[7.32653,47.4273],[7.24435,47.40939],[7.16708,47.4335],[7.15212,47.47612],[7.14279,47.48707],[7.12853,47.48893],[7.0801,47.47718],[7.03557,47.48695],[7.02102,47.48458],[7.01205,47.47287],[7.003,47.44095],[6.9551,47.40808],[6.94716,47.39698],[6.94818,47.38337],[6.95769,47.37359],[6.97126,47.37218],[7.018,47.38386],[7.05623,47.37035],[7.07007,47.35005],[7.05958,47.32257],[6.97424,47.27856],[6.96347,47.26233],[6.96134,47.23479],[6.89443,47.19393],[6.88913,47.18922],[6.85545,47.14636],[6.76907,47.10751],[6.76011,47.09953],[6.72561,47.0418],[6.62355,46.9811],[6.4812,46.9445],[6.46892,46.93522],[6.46686,46.91997],[6.47548,46.88771],[6.4535,46.8239],[6.45644,46.80534],[6.46722,46.79104],[6.46098,46.76887],[6.15817,46.59343],[6.14872,46.58069],[6.15152,46.56508],[6.16549,46.54399],[6.15811,46.52456],[6.10174,46.46979],[6.09572,46.45418],[6.09704,46.43317],[6.10829,46.41643],[6.16622,46.38839],[6.17817,46.36922],[6.13748,46.31297],[6.13371,46.30227],[6.13038,46.23737],[6.1103,46.22344],[6.08865,46.23081],[6.07717,46.23123],[6.01857,46.21601],[6.00681,46.20752],[6.00388,46.19332],[6.00787,46.16977],[6.01783,46.15564],[6.03509,46.15456],[6.05564,46.16288],[6.12468,46.15415],[6.13778,46.15702],[6.24026,46.22094],[6.24906,46.23299],[6.24707,46.24777],[6.21148,46.31057],[6.21219,46.32485],[6.23946,46.36705],[6.31648,46.41557],[6.41083,46.42495],[6.41748,46.42682],[6.50498,46.46871],[6.63047,46.47435],[6.74665,46.45695],[6.82244,46.42925],[6.81832,46.38181],[6.80484,46.36179],[6.80189,46.34639],[6.81095,46.33359],[6.86491,46.30038],[6.87504,46.28007],[6.86092,46.2439],[6.82698,46.21188],[6.82075,46.19862],[6.81863,46.16592],[6.82259,46.15261],[6.83427,46.14509],[6.90382,46.12971],[6.90491,46.09595],[6.90932,46.08406],[6.92001,46.07721],[6.94898,46.0699],[7.01556,46.00883],[7.05191,45.93066],[7.04533,45.92217],[7.04497,45.92064],[7.04394,45.92036],[6.99582,45.85822],[6.94097,45.83551],[6.84376,45.82387],[6.83102,45.81711],[6.82614,45.80353],[6.82787,45.73217],[6.83174,45.72082],[6.8414,45.71373],[6.90729,45.69124],[6.92419,45.66935],[6.94247,45.66172],[6.97131,45.66528],[7.00597,45.64945],[7.01151,45.63652],[6.9978,45.60877],[6.99643,45.59465],[7.0158,45.52354],[7.02774,45.5102],[7.1072,45.47877],[7.1228,45.44924],[7.13304,45.44001],[7.1856,45.41894],[7.19515,45.40409],[7.17075,45.35069],[7.14232,45.32298],[7.13649,45.30576],[7.14458,45.25048],[7.08417,45.20279],[6.99279,45.19823],[6.98106,45.19368],[6.90009,45.12689],[6.85843,45.11699],[6.78283,45.14228],[6.77056,45.14242],[6.67751,45.11356],[6.6653,45.10289],[6.66501,45.08667],[6.68237,45.04558],[6.69602,45.03395],[6.75744,45.01884],[6.78375,44.9146],[6.7942,44.90161],[6.86698,44.86519],[6.8798,44.86346],[6.93633,44.87461],[7.01795,44.84402],[7.03453,44.82282],[7.03711,44.75009],[7.0496,44.73226],[7.07224,44.72311],[7.08651,44.6968],[7.08666,44.68085],[7.07671,44.67134],[6.99007,44.67203],[6.97413,44.66431],[6.97056,44.64696],[6.97819,44.61784],[6.94659,44.57124],[6.88235,44.53479],[6.87233,44.5195],[6.87892,44.50245],[6.95894,44.43129],[6.95872,44.42908],[6.92167,44.41436],[6.91223,44.40659],[6.90907,44.39477],[6.90972,44.38195],[6.91637,44.36804],[6.99909,44.29414],[7.01181,44.256],[7.01983,44.24558],[7.03259,44.2424],[7.07312,44.2461],[7.1651,44.22112],[7.24533,44.18544],[7.26053,44.16682],[7.27537,44.15947],[7.33878,44.1574],[7.36278,44.13834],[7.37776,44.13416],[7.56283,44.15792],[7.5642,44.15836],[7.56478,44.15817],[7.60548,44.1634],[7.6162,44.16827],[7.63989,44.18928],[7.68608,44.1861],[7.69422,44.17795],[7.68937,44.13869],[7.69445,44.12276],[7.72786,44.08615],[7.72403,44.05704],[7.68603,44.02371],[7.68077,44.0164],[7.66016,43.9672],[7.59624,43.94466],[7.58419,43.93287],[7.56858,43.89159],[7.5271,43.87434],[7.51649,43.86397],[7.51594,43.84915],[7.53622,43.79234],[9.8,43.1],[9.63227,41.43244],[9.36968,41.35052],[9.27311,41.29196],[8.94186,41.27688],[5.8,41.64],[3.17358,42.41768],[3.16081,42.42757],[3.0944,42.41457],[3.03402,42.45331],[3.02214,42.45645],[2.87822,42.4487],[2.87019,42.44653],[2.78424,42.40256],[2.7413,42.41128],[2.72928,42.40998],[2.69331,42.39417],[2.68378,42.3854],[2.68162,42.37263],[2.68585,42.34679],[2.66719,42.33008],[2.58106,42.34418],[2.56777,42.34173],[2.5338,42.32197],[2.47795,42.32986],[2.41933,42.37658],[2.41222,42.38021],[2.26719,42.42055],[2.25973,42.42117],[2.20694,42.41558],[2.20653,42.41526],[2.20526,42.41541],[2.16028,42.41065],[2.14881,42.40545],[2.09393,42.35474],[2.00861,42.33818],[1.965,42.36473],[1.93076,42.42442],[1.92089,42.43302],[1.88467,42.44761],[1.88459,42.44762],[1.88444,42.4477],[1.82774,42.47056],[1.72567,42.48452],[1.71561,42.50125],[1.7272,42.56103],[1.72479,42.57499],[1.71011,42.59992],[1.69377,42.60975],[1.60283,42.61382],[1.56069,42.6392],[1.54636,42.64166],[1.50444,42.6331],[1.4921,42.62502],[1.47238,42.59703],[1.43792,42.59264],[1.41936,42.60643],[1.38032,42.67415],[1.37335,42.68127],[1.33313,42.70563],[1.32364,42.7085],[1.23221,42.71248],[1.16554,42.69928],[1.08546,42.76635],[1.07564,42.77079],[0.95937,42.78852],[0.95073,42.78794],[0.92265,42.7797],[0.84606,42.8157],[0.71511,42.8464],[0.70017,42.84402],[0.69117,42.83186],[0.67409,42.76479],[0.67474,42.75286],[0.69192,42.70684],[0.669,42.67901],[0.43024,42.67863],[0.3715,42.70308],[0.35954,42.70415],[0.34912,42.69817],[0.32567,42.67274],[0.29571,42.66388],[0.24594,42.70175],[0.23972,42.70494],[0.18967,42.72039],[0.17919,42.72075],[-0.01993,42.67389],[-0.06726,42.6848],[-0.16949,42.77157],[-0.29987,42.82697],[-0.31683,42.82635],[-0.39208,42.78766],[-0.44354,42.78453],[-0.48842,42.80255],[-0.50868,42.79935],[-0.54499,42.76906],[-0.56721,42.76937],[-0.67446,42.86392],[-0.68094,42.86775],[-0.73372,42.88666],[-0.7476,42.93879],[-0.75711,42.95107],[-0.77253,42.95284],[-0.82114,42.93865],[-0.94508,42.94192],[-1.02313,42.98206],[-1.10852,43.00409],[-1.1156,43.00461],[-1.14775,43.00124],[-1.15845,43.01452],[-1.16736,43.02083],[-1.21622,43.0381],[-1.22612,43.03898],[-1.26236,43.03303],[-1.30643,43.05531],[-1.31992,43.05696],[-1.33135,43.0496],[-1.3542,43.0197],[-1.43868,43.03371],[-1.4775,43.06889],[-1.48311,43.08561],[-1.47641,43.10248],[-1.43479,43.13087],[-1.42732,43.1404],[-1.39411,43.22935],[-1.39531,43.24596],[-1.40868,43.25591],[-1.52629,43.28099],[-1.54626,43.2737],[-1.57149,43.2412],[-1.61053,43.24223],[-1.65,43.29323],[-1.66953,43.30065],[-1.73359,43.28856],[-1.75606,43.31966],[-1.76297,43.32565],[-1.79156,43.34067],[-1.80099,43.37017],[-1.78509,43.39037],[-1.7835,43.39686],[-2.7,43.9]],[[-61.27501,14.90218],[-60.72368,14.90101],[-60.72489,14.36686],[-61.27622,14.36803],[-61.27501,14.90218]],[[-61.92802,16.58618],[-61.92686,15.7394],[-60.88128,15.74072],[-60.88243,16.5875],[-61.92802,16.58618]],[[-53.89344,6.004],[-52.46522,5.4465],[-51.52039,4.51072],[-51.53687,4.11633],[-52.2345,3.10213],[-52.641,2.25162],[-52.92664,2.07597],[-53.72864,2.21869],[-54.20106,2.03205],[-54.8053,2.27358],[-54.31092,2.80589],[-54.31641,3.20085],[-54.12415,3.46408],[-54.12964,3.59567],[-54.42078,4.00127],[-54.58008,4.95962],[-53.89344,6.004]],[[55.08816,-20.77935],[55.95959,-20.77281],[55.96576,-21.49],[55.09434,-21.49651],[55.08816,-20.77935]],[[44.92054,-12.57363],[45.34826,-12.57029],[45.35274,-13.1163],[44.92502,-13.11963],[44.92054,-12.57363]],[[-178.57728,-14.70582],[-178.42568,-14.00334],[-176.34156,-12.83858],[-175.71534,-12.9189],[-175.91858,-13.58726],[-177.84638,-14.64983],[-178.57728,-14.70582]]],terms_url:"https://openstreetmap.fr/bdortho",terms_text:"BDOrtho IGN",best:true,icon:"http://www.ign.fr/institut/sites/all/themes/ign_institut/logo.png"},{id:"Benin_cotonou_pleiade_2016",name:"Benin: Cotonou Pleiade 2016",type:"tms",template:"https://geoxxx.agrocampus-ouest.fr/owsifl/gwc/service/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=Benin:cotonou_pleiade_2016&STYLE=&FORMAT=image/jpeg&tileMatrixSet=EPSG:3857&tileMatrix=EPSG:3857:{zoom}&tileRow={y}&tileCol={x}",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[2.31954,6.55745],[2.33645,6.56024],[2.36377,6.56211],[2.36738,6.56068],[2.37777,6.5494],[2.37779,6.53485],[2.36994,6.49332],[2.37038,6.45527],[2.36958,6.45269],[2.36188,6.44177],[2.35392,6.40545],[2.36749,6.4015],[2.39526,6.40072],[2.40128,6.40374],[2.40588,6.40341],[2.42046,6.39383],[2.42485,6.39794],[2.42949,6.39887],[2.43625,6.39628],[2.43958,6.40042],[2.44439,6.40189],[2.45376,6.39899],[2.47145,6.39632],[2.48162,6.39106],[2.49453,6.3874],[2.50893,6.38888],[2.50719,6.39229],[2.5012,6.39162],[2.4963,6.39521],[2.4951,6.40123],[2.49543,6.40401],[2.4983,6.41022],[2.50191,6.41282],[2.51087,6.41321],[2.52219,6.40849],[2.53352,6.40517],[2.5381,6.40961],[2.54111,6.4109],[2.54651,6.41099],[2.54654,6.40651],[2.57639,6.40724],[2.57642,6.41177],[2.58576,6.41196],[2.58868,6.41095],[2.60877,6.39414],[2.6257,6.39488],[2.64555,6.39729],[2.65039,6.39339],[2.65367,6.36823],[2.64312,6.36659],[2.61251,6.36289],[2.56868,6.3607],[2.54683,6.36055],[2.54687,6.35546],[2.50207,6.35461],[2.47064,6.35596],[2.46777,6.35203],[2.46423,6.3502],[2.45254,6.35006],[2.45113,6.34813],[2.44737,6.34629],[2.43757,6.34654],[2.43298,6.33841],[2.43016,6.33707],[2.42245,6.33707],[2.39236,6.34115],[2.39315,6.34115],[2.36528,6.34445],[2.35386,6.3453],[2.34377,6.34458],[2.34094,6.34534],[2.31086,6.36567],[2.28435,6.37465],[2.28147,6.37762],[2.27599,6.39517],[2.27612,6.3982],[2.31529,6.49261],[2.3158,6.55307],[2.31954,6.55745]],[[1.69563,6.25076],[1.7001,6.24712],[1.70418,6.24697],[1.75875,6.25836],[1.77079,6.25995],[1.81712,6.27161],[1.84457,6.27657],[1.85768,6.27945],[1.88843,6.28326],[1.90482,6.28595],[1.90618,6.29435],[1.90083,6.29721],[1.89881,6.29954],[1.89404,6.30085],[1.89048,6.2997],[1.88748,6.29636],[1.88344,6.29622],[1.8697,6.29227],[1.8564,6.29198],[1.85207,6.28675],[1.84991,6.28906],[1.84691,6.29203],[1.84353,6.29333],[1.84041,6.29315],[1.83627,6.29129],[1.8341,6.28733],[1.83417,6.2852],[1.8323,6.28456],[1.82786,6.28644],[1.82182,6.29084],[1.81563,6.28998],[1.81211,6.29143],[1.80758,6.29571],[1.80472,6.29693],[1.80074,6.2971],[1.79776,6.29612],[1.79625,6.29492],[1.7949,6.28965],[1.79641,6.28608],[1.80098,6.28338],[1.79567,6.28013],[1.79156,6.28174],[1.78499,6.28122],[1.78092,6.27753],[1.77588,6.2755],[1.76745,6.27696],[1.75653,6.27496],[1.74833,6.27239],[1.74762,6.27726],[1.74572,6.27938],[1.73948,6.27985],[1.7368,6.27761],[1.73572,6.27892],[1.72902,6.27911],[1.72435,6.27422],[1.72449,6.26786],[1.72556,6.26683],[1.69934,6.26159],[1.69573,6.25726],[1.69563,6.25076]]],best:true},{id:"Berlin-2011",name:"Berlin aerial photography 2011",type:"wms",template:"https://fbinter.stadt-berlin.de/fb/wms/senstadt/k_luftbild2011_20?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",polygon:[[[13.48699,52.68076],[13.52584,52.65196],[13.5299,52.64437],[13.54209,52.60921],[13.58109,52.58134],[13.59674,52.55936],[13.63477,52.55121],[13.66547,52.52854],[13.67199,52.50379],[13.65806,52.50372],[13.65796,52.49324],[13.7547,52.4565],[13.76644,52.43884],[13.76627,52.42973],[13.74494,52.39909],[13.65235,52.33133],[13.6417,52.33103],[13.62609,52.35491],[13.59432,52.37455],[13.53198,52.38376],[13.51948,52.39236],[13.48536,52.39227],[13.43552,52.38016],[13.42885,52.37401],[13.38689,52.37388],[13.38642,52.38667],[13.36857,52.38728],[13.37045,52.39349],[13.33968,52.40887],[13.31243,52.39775],[13.30557,52.40452],[13.23622,52.40342],[13.18886,52.40417],[13.17719,52.39067],[13.14859,52.38971],[13.14868,52.38421],[13.11889,52.38385],[13.11935,52.40025],[13.10487,52.40723],[13.07371,52.40668],[13.07367,52.41403],[13.10516,52.47897],[13.11685,52.47881],[13.112,52.55915],[13.11865,52.59156],[13.15251,52.60489],[13.16282,52.60462],[13.21264,52.6321],[13.22139,52.63215],[13.27292,52.66444],[13.31376,52.66442],[13.32714,52.64692],[13.36783,52.6468],[13.39158,52.65382],[13.42728,52.6549],[13.47594,52.68122],[13.48699,52.68076]]],terms_text:"Geoportal Berlin/Digitale farbige Orthophotos 2011"},{id:"Berlin-2014",name:"Berlin aerial photography 2014",type:"tms",template:"https://tiles.codefor.de/berlin-2014/{zoom}/{x}/{y}.png",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",polygon:[[[13.19746,52.64206],[13.25639,52.64285],[13.2558,52.66101],[13.31391,52.66185],[13.31476,52.64353],[13.37431,52.64462],[13.37386,52.66269],[13.4026,52.663],[13.40332,52.64501],[13.4334,52.64555],[13.43227,52.68001],[13.49082,52.68111],[13.49147,52.66428],[13.52092,52.66457],[13.5216,52.6465],[13.55096,52.6469],[13.55147,52.62938],[13.52219,52.62898],[13.52335,52.59248],[13.58263,52.59329],[13.58307,52.57535],[13.61246,52.57582],[13.61324,52.55784],[13.64268,52.55813],[13.64296,52.5401],[13.67253,52.54048],[13.67375,52.50475],[13.64413,52.5045],[13.64476,52.48608],[13.7037,52.48683],[13.70415,52.46901],[13.73362,52.4692],[13.73399,52.45121],[13.76358,52.45156],[13.76447,52.40209],[13.73546,52.39753],[13.73611,52.37963],[13.70678,52.37935],[13.70731,52.36136],[13.67785,52.36104],[13.67898,52.33017],[13.62102,52.32946],[13.61999,52.36033],[13.59046,52.36007],[13.5901,52.37806],[13.53116,52.37735],[13.53064,52.39525],[13.47168,52.39459],[13.47149,52.4125],[13.44101,52.41219],[13.44257,52.37604],[13.35487,52.37498],[13.35427,52.39306],[13.23667,52.39114],[13.23609,52.40922],[13.17635,52.40836],[13.17752,52.39029],[13.14791,52.38987],[13.14876,52.37459],[13.11971,52.37422],[13.11941,52.38955],[13.08981,52.38899],[13.08938,52.40707],[13.0618,52.40662],[13.06075,52.42408],[13.08842,52.42449],[13.086,52.47853],[13.11546,52.47896],[13.11462,52.49695],[13.1441,52.49729],[13.14332,52.5157],[13.1137,52.51528],[13.11077,52.6047],[13.19862,52.6062],[13.19746,52.64206]]],terms_text:"Geoportal Berlin/Digitale farbige Orthophotos 2014"},{id:"Berlin-2015",name:"Berlin aerial photography 2015",type:"tms",template:"https://tiles.codefor.de/berlin-2015/{zoom}/{x}/{y}.png",endDate:"2015-08-03T00:00:00.000Z",startDate:"2015-08-02T00:00:00.000Z",polygon:[[[13.11068,52.59538],[13.13975,52.60527],[13.18355,52.61488],[13.21262,52.63315],[13.24167,52.64282],[13.256,52.65201],[13.27004,52.67021],[13.31368,52.67072],[13.32914,52.66204],[13.32948,52.6529],[13.43284,52.65414],[13.44733,52.6816],[13.50561,52.68244],[13.50654,52.65531],[13.53605,52.65572],[13.5376,52.61991],[13.52229,52.61977],[13.52304,52.60165],[13.59776,52.58469],[13.59865,52.55769],[13.62817,52.55805],[13.64303,52.5492],[13.65813,52.54042],[13.67312,52.53144],[13.67356,52.51358],[13.65913,52.51344],[13.65998,52.48643],[13.68931,52.48687],[13.73386,52.46933],[13.73405,52.46034],[13.76362,52.46068],[13.76431,52.42464],[13.74941,52.42474],[13.75045,52.39778],[13.73585,52.39762],[13.70661,52.37944],[13.707,52.3614],[13.67782,52.36125],[13.66405,52.33395],[13.62073,52.33337],[13.62031,52.36042],[13.58986,52.3781],[13.53149,52.37748],[13.53133,52.38641],[13.44223,52.38484],[13.42813,52.3667],[13.38464,52.3662],[13.35432,52.39301],[13.29537,52.39209],[13.29531,52.40103],[13.19171,52.39957],[13.19222,52.39056],[13.14774,52.38996],[13.14839,52.38095],[13.11964,52.38041],[13.0744,52.40683],[13.07392,52.42426],[13.10275,52.43374],[13.10123,52.47874],[13.11558,52.47897],[13.11068,52.59538]]],terms_text:"Geoportal Berlin/Digitale farbige Orthophotos 2015"},{id:"Berlin-2016",name:"Berlin aerial photography 2016",type:"tms",template:"https://tiles.codefor.de/berlin-2016/{zoom}/{x}/{y}.png",endDate:"2016-04-03T00:00:00.000Z",startDate:"2016-04-02T00:00:00.000Z",polygon:[[[13.29535,52.392],[13.29502,52.40083],[13.19206,52.39937],[13.19241,52.39035],[13.14839,52.3897],[13.14877,52.38046],[13.11926,52.38001],[13.11888,52.38921],[13.08906,52.40693],[13.07431,52.4067],[13.07356,52.42447],[13.10259,52.43394],[13.10073,52.47912],[13.11534,52.47934],[13.11055,52.59579],[13.13972,52.60527],[13.18403,52.60593],[13.21212,52.63346],[13.27041,52.65222],[13.26973,52.67025],[13.31405,52.67086],[13.32953,52.65323],[13.43315,52.65458],[13.43254,52.67251],[13.44682,52.68189],[13.50593,52.68261],[13.50681,52.65545],[13.53643,52.6558],[13.53757,52.61964],[13.52288,52.61946],[13.52345,52.6017],[13.53842,52.59279],[13.56782,52.59313],[13.59798,52.58464],[13.5988,52.55755],[13.62826,52.55788],[13.65822,52.53124],[13.67314,52.53139],[13.67365,52.51359],[13.65912,52.51344],[13.65989,52.48661],[13.68929,52.48692],[13.7188,52.47807],[13.73406,52.4604],[13.7636,52.46069],[13.76454,52.42482],[13.75027,52.42468],[13.75097,52.39814],[13.70722,52.37923],[13.70772,52.36111],[13.67826,52.36081],[13.67876,52.34302],[13.66428,52.34287],[13.66454,52.33367],[13.62038,52.33319],[13.61959,52.36012],[13.58956,52.37786],[13.5313,52.37719],[13.53103,52.38581],[13.44254,52.38473],[13.42861,52.36674],[13.38418,52.36617],[13.35417,52.39279],[13.29535,52.392]]],terms_text:"Geoportal Berlin/Digitale farbige Orthophotos 2016"},{id:"Berlin-2016-infrared",name:"Berlin aerial photography 2016 (infrared)",type:"tms",template:"https://tiles.codefor.de/berlin-2016i/{zoom}/{x}/{y}.png",endDate:"2016-04-03T00:00:00.000Z",startDate:"2016-04-02T00:00:00.000Z",polygon:[[[13.29535,52.392],[13.29502,52.40083],[13.19206,52.39937],[13.19241,52.39035],[13.14839,52.3897],[13.14877,52.38046],[13.11926,52.38001],[13.11888,52.38921],[13.08906,52.40693],[13.07431,52.4067],[13.07356,52.42447],[13.10259,52.43394],[13.10073,52.47912],[13.11534,52.47934],[13.11055,52.59579],[13.13972,52.60527],[13.18403,52.60593],[13.21212,52.63346],[13.27041,52.65222],[13.26973,52.67025],[13.31405,52.67086],[13.32953,52.65323],[13.43315,52.65458],[13.43254,52.67251],[13.44682,52.68189],[13.50593,52.68261],[13.50681,52.65545],[13.53643,52.6558],[13.53757,52.61964],[13.52288,52.61946],[13.52345,52.6017],[13.53842,52.59279],[13.56782,52.59313],[13.59798,52.58464],[13.5988,52.55755],[13.62826,52.55788],[13.65822,52.53124],[13.67314,52.53139],[13.67365,52.51359],[13.65912,52.51344],[13.65989,52.48661],[13.68929,52.48692],[13.7188,52.47807],[13.73406,52.4604],[13.7636,52.46069],[13.76454,52.42482],[13.75027,52.42468],[13.75097,52.39814],[13.70722,52.37923],[13.70772,52.36111],[13.67826,52.36081],[13.67876,52.34302],[13.66428,52.34287],[13.66454,52.33367],[13.62038,52.33319],[13.61959,52.36012],[13.58956,52.37786],[13.5313,52.37719],[13.53103,52.38581],[13.44254,52.38473],[13.42861,52.36674],[13.38418,52.36617],[13.35417,52.39279],[13.29535,52.392]]],terms_text:"Geoportal Berlin/Digitale Color-Infrarot-Orthophotos 2016"},{id:"Berlin-2017",name:"Berlin aerial photography 2017",type:"tms",template:"https://tiles.codefor.de/berlin-2017/{zoom}/{x}/{y}.png",endDate:"2017-03-28T00:00:00.000Z",startDate:"2017-03-27T00:00:00.000Z",polygon:[[[13.29535,52.392],[13.29502,52.40083],[13.19206,52.39937],[13.19241,52.39035],[13.14839,52.3897],[13.14877,52.38046],[13.11926,52.38001],[13.11888,52.38921],[13.08906,52.40693],[13.07431,52.4067],[13.07356,52.42447],[13.10259,52.43394],[13.10073,52.47912],[13.11534,52.47934],[13.11055,52.59579],[13.13972,52.60527],[13.18403,52.60593],[13.21212,52.63346],[13.27041,52.65222],[13.26973,52.67025],[13.31405,52.67086],[13.32953,52.65323],[13.43315,52.65458],[13.43254,52.67251],[13.44682,52.68189],[13.50593,52.68261],[13.50681,52.65545],[13.53643,52.6558],[13.53757,52.61964],[13.52288,52.61946],[13.52345,52.6017],[13.53842,52.59279],[13.56782,52.59313],[13.59798,52.58464],[13.5988,52.55755],[13.62826,52.55788],[13.65822,52.53124],[13.67314,52.53139],[13.67365,52.51359],[13.65912,52.51344],[13.65989,52.48661],[13.68929,52.48692],[13.7188,52.47807],[13.73406,52.4604],[13.7636,52.46069],[13.76454,52.42482],[13.75027,52.42468],[13.75097,52.39814],[13.70722,52.37923],[13.70772,52.36111],[13.67826,52.36081],[13.67876,52.34302],[13.66428,52.34287],[13.66454,52.33367],[13.62038,52.33319],[13.61959,52.36012],[13.58956,52.37786],[13.5313,52.37719],[13.53103,52.38581],[13.44254,52.38473],[13.42861,52.36674],[13.38418,52.36617],[13.35417,52.39279],[13.29535,52.392]]],terms_text:"Geoportal Berlin/Digitale farbige Orthophotos 2017"},{id:"Berlin-2018",name:"Berlin aerial photography 2018",type:"tms",template:"https://tiles.codefor.de/berlin-2018/{zoom}/{x}/{y}.png",endDate:"2018-04-07T00:00:00.000Z",startDate:"2018-03-19T00:00:00.000Z",polygon:[[[13.29535,52.392],[13.29502,52.40083],[13.19206,52.39937],[13.19241,52.39035],[13.14839,52.3897],[13.14877,52.38046],[13.11926,52.38001],[13.11888,52.38921],[13.08906,52.40693],[13.07431,52.4067],[13.07356,52.42447],[13.10259,52.43394],[13.10073,52.47912],[13.11534,52.47934],[13.11055,52.59579],[13.13972,52.60527],[13.18403,52.60593],[13.21212,52.63346],[13.27041,52.65222],[13.26973,52.67025],[13.31405,52.67086],[13.32953,52.65323],[13.43315,52.65458],[13.43254,52.67251],[13.44682,52.68189],[13.50593,52.68261],[13.50681,52.65545],[13.53643,52.6558],[13.53757,52.61964],[13.52288,52.61946],[13.52345,52.6017],[13.53842,52.59279],[13.56782,52.59313],[13.59798,52.58464],[13.5988,52.55755],[13.62826,52.55788],[13.65822,52.53124],[13.67314,52.53139],[13.67365,52.51359],[13.65912,52.51344],[13.65989,52.48661],[13.68929,52.48692],[13.7188,52.47807],[13.73406,52.4604],[13.7636,52.46069],[13.76454,52.42482],[13.75027,52.42468],[13.75097,52.39814],[13.70722,52.37923],[13.70772,52.36111],[13.67826,52.36081],[13.67876,52.34302],[13.66428,52.34287],[13.66454,52.33367],[13.62038,52.33319],[13.61959,52.36012],[13.58956,52.37786],[13.5313,52.37719],[13.53103,52.38581],[13.44254,52.38473],[13.42861,52.36674],[13.38418,52.36617],[13.35417,52.39279],[13.29535,52.392]]],terms_text:"Geoportal Berlin/Digitale farbige Orthophotos 2018"},{id:"Berlin-2019",name:"Berlin aerial photography 2019",type:"tms",template:"https://tiles.codefor.de/berlin-2019/{zoom}/{x}/{y}.png",endDate:"2019-04-06T00:00:00.000Z",startDate:"2019-04-01T00:00:00.000Z",polygon:[[[13.29535,52.392],[13.29502,52.40083],[13.19206,52.39937],[13.19241,52.39035],[13.14839,52.3897],[13.14877,52.38046],[13.11926,52.38001],[13.11888,52.38921],[13.08906,52.40693],[13.07431,52.4067],[13.07356,52.42447],[13.10259,52.43394],[13.10073,52.47912],[13.11534,52.47934],[13.11055,52.59579],[13.13972,52.60527],[13.18403,52.60593],[13.21212,52.63346],[13.27041,52.65222],[13.26973,52.67025],[13.31405,52.67086],[13.32953,52.65323],[13.43315,52.65458],[13.43254,52.67251],[13.44682,52.68189],[13.50593,52.68261],[13.50681,52.65545],[13.53643,52.6558],[13.53757,52.61964],[13.52288,52.61946],[13.52345,52.6017],[13.53842,52.59279],[13.56782,52.59313],[13.59798,52.58464],[13.5988,52.55755],[13.62826,52.55788],[13.65822,52.53124],[13.67314,52.53139],[13.67365,52.51359],[13.65912,52.51344],[13.65989,52.48661],[13.68929,52.48692],[13.7188,52.47807],[13.73406,52.4604],[13.7636,52.46069],[13.76454,52.42482],[13.75027,52.42468],[13.75097,52.39814],[13.70722,52.37923],[13.70772,52.36111],[13.67826,52.36081],[13.67876,52.34302],[13.66428,52.34287],[13.66454,52.33367],[13.62038,52.33319],[13.61959,52.36012],[13.58956,52.37786],[13.5313,52.37719],[13.53103,52.38581],[13.44254,52.38473],[13.42861,52.36674],[13.38418,52.36617],[13.35417,52.39279],[13.29535,52.392]]],terms_text:"Geoportal Berlin/Digitale farbige Orthophotos 2019 (DOP20RGB)",best:true},{id:"Bing",name:"Bing aerial imagery",type:"bing",template:"https://www.bing.com/maps",zoomExtent:[1,22],"default":true,description:"Satellite and aerial imagery.",icon:"https://osmlab.github.io/editor-layer-index/sources/world/Bing.png"},{id:"Bologna-Orthophoto-2017",name:"Bologna ortofoto 2017",type:"tms",template:"https://sitmappe.comune.bologna.it/tms/tileserver/Ortofoto2017/{zoom}/{x}/{y}.png",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",zoomExtent:[0,19],polygon:[[[11.22962,44.53077],[11.23184,44.52461],[11.24123,44.52167],[11.23251,44.50893],[11.23572,44.50323],[11.25009,44.50116],[11.24765,44.49644],[11.25708,44.49765],[11.25653,44.49294],[11.29461,44.48981],[11.29676,44.4857],[11.28807,44.47586],[11.29226,44.4609],[11.28447,44.45459],[11.28228,44.42572],[11.29347,44.4276],[11.29254,44.43377],[11.31339,44.42103],[11.32504,44.42274],[11.33695,44.42772],[11.33765,44.43167],[11.3315,44.43273],[11.33453,44.43867],[11.34466,44.43594],[11.34498,44.44093],[11.36235,44.45099],[11.37312,44.44935],[11.37498,44.45897],[11.39499,44.46368],[11.4011,44.46122],[11.39464,44.46803],[11.41577,44.48376],[11.42559,44.4845],[11.42717,44.48921],[11.41727,44.4906],[11.43363,44.51312],[11.42692,44.51532],[11.43034,44.5196],[11.42466,44.51959],[11.41987,44.52934],[11.4143,44.52564],[11.40739,44.52851],[11.41487,44.53999],[11.38871,44.54145],[11.39082,44.54553],[11.36474,44.55253],[11.36414,44.55609],[11.3573,44.5519],[11.34375,44.55333],[11.33589,44.54299],[11.33145,44.54734],[11.31349,44.54722],[11.30929,44.5295],[11.29104,44.53581],[11.28179,44.54851],[11.26911,44.53248],[11.25118,44.55578],[11.24499,44.55569],[11.22962,44.53077]]],terms_url:"http://dati.comune.bologna.it/node/3449",terms_text:"© Comune di Bologna cc-by 4.0 ODbL compliant",best:true},{id:"Bonvillars-2013",name:"Bonvillars Orthophoto 2013",type:"tms",template:"http://osmdata.asitvd.ch/tiles/bonvillars2013/{zoom}/{x}/{y}.png",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[14,20],polygon:[[[6.66713,46.83358],[6.66313,46.83833],[6.67213,46.84191],[6.6749,46.84226],[6.67843,46.83807],[6.66713,46.83358]]],terms_url:"http://osmdata.asitvd.ch/",terms_text:"Bonvillars - Orthophoto technique 2013"},{id:"Bordeaux_2012",name:"Bordeaux - 2012",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/bordeaux_2012/{zoom}/{x}/{y}",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[-0.59923,45.04193],[-0.54231,45.02757],[-0.50979,45.00601],[-0.47727,45.00206],[-0.47066,44.97367],[-0.45542,44.95102],[-0.46456,44.91792],[-0.4732,44.91936],[-0.48794,44.90928],[-0.4981,44.89057],[-0.48946,44.87797],[-0.4666,44.87076],[-0.47625,44.84735],[-0.49505,44.83978],[-0.49099,44.83186],[-0.46965,44.82537],[-0.49709,44.80446],[-0.52453,44.80013],[-0.5103,44.76767],[-0.53469,44.76515],[-0.56213,44.75107],[-0.5601,44.74169],[-0.5728,44.74133],[-0.59465,44.7601],[-0.63429,44.73989],[-0.65004,44.77705],[-0.67901,44.77489],[-0.68816,44.77922],[-0.71509,44.76839],[-0.75168,44.7471],[-0.76336,44.75577],[-0.73846,44.77561],[-0.74202,44.78571],[-0.72779,44.81239],[-0.73999,44.82861],[-0.76438,44.82933],[-0.803,44.82176],[-0.8401,44.82753],[-0.83908,44.84014],[-0.87567,44.85023],[-0.88532,44.85852],[-0.88685,44.88769],[-0.86601,44.88697],[-0.84569,44.89669],[-0.83349,44.92764],[-0.81825,44.92764],[-0.80198,44.92224],[-0.79843,44.9485],[-0.78725,44.94814],[-0.75574,44.97007],[-0.72169,44.95785],[-0.69578,44.93087],[-0.68866,44.93447],[-0.67139,44.93267],[-0.66935,44.94095],[-0.62514,44.95066],[-0.63226,44.95893],[-0.63124,44.9672],[-0.60024,44.96756],[-0.55146,44.97834],[-0.54079,44.97726],[-0.55451,44.99739],[-0.59364,45.01751],[-0.60787,45.03403],[-0.59923,45.04193]]],terms_text:"Communauté urbaine de Bordeaux - 2012"},{id:"Bordeaux_2016",name:"Bordeaux 2016",type:"tms",template:"http://tms.bordeaux.inria.fr/bdx2016/{zoom}/{x}/{y}.jpg",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",zoomExtent:[14,20],polygon:[[[-0.59923,45.04193],[-0.54231,45.02757],[-0.50979,45.00601],[-0.47727,45.00206],[-0.47066,44.97367],[-0.45542,44.95102],[-0.46456,44.91792],[-0.4732,44.91936],[-0.48794,44.90928],[-0.4981,44.89057],[-0.48946,44.87797],[-0.4666,44.87076],[-0.47625,44.84735],[-0.49505,44.83978],[-0.49099,44.83186],[-0.46965,44.82537],[-0.49709,44.80446],[-0.52453,44.80013],[-0.5103,44.76767],[-0.53469,44.76515],[-0.56213,44.75107],[-0.5601,44.74169],[-0.5728,44.74133],[-0.59465,44.7601],[-0.63429,44.73989],[-0.65004,44.77705],[-0.67901,44.77489],[-0.68816,44.77922],[-0.71509,44.76839],[-0.75168,44.7471],[-0.76336,44.75577],[-0.73846,44.77561],[-0.74202,44.78571],[-0.72779,44.81239],[-0.73999,44.82861],[-0.76438,44.82933],[-0.803,44.82176],[-0.8401,44.82753],[-0.83908,44.84014],[-0.87567,44.85023],[-0.88532,44.85852],[-0.88685,44.88769],[-0.86601,44.88697],[-0.84569,44.89669],[-0.83349,44.92764],[-0.81825,44.92764],[-0.80198,44.92224],[-0.79843,44.9485],[-0.78725,44.94814],[-0.75574,44.97007],[-0.72169,44.95785],[-0.69578,44.93087],[-0.68866,44.93447],[-0.67139,44.93267],[-0.66935,44.94095],[-0.62514,44.95066],[-0.63226,44.95893],[-0.63124,44.9672],[-0.60024,44.96756],[-0.55146,44.97834],[-0.54079,44.97726],[-0.55451,44.99739],[-0.59364,45.01751],[-0.60787,45.03403],[-0.59923,45.04193]]],terms_text:"Bordeaux Métropole - 2016"},{id:"branquinha_al",name:"Branquinha AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?service=WMS&version=1.1.0&request=GetMap&layers=Branquinha&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-35.96968,-9.2928],[-35.97063,-9.20261],[-35.97727,-9.20264],[-35.98365,-9.2027],[-35.98765,-9.20266],[-35.99159,-9.20274],[-36.00498,-9.20284],[-36.01473,-9.20293],[-36.01651,-9.20296],[-36.01871,-9.20293],[-36.02487,-9.20286],[-36.02892,-9.20297],[-36.03308,-9.20289],[-36.03769,-9.20294],[-36.04581,-9.203],[-36.05161,-9.20305],[-36.05457,-9.20301],[-36.06022,-9.20304],[-36.06191,-9.20304],[-36.0618,-9.21319],[-36.06167,-9.21806],[-36.06156,-9.21915],[-36.06163,-9.22156],[-36.06144,-9.22277],[-36.06139,-9.22716],[-36.06134,-9.23227],[-36.0614,-9.23391],[-36.06145,-9.23494],[-36.06131,-9.23646],[-36.06133,-9.23773],[-36.06142,-9.23905],[-36.06145,-9.24133],[-36.06136,-9.2423],[-36.06141,-9.24358],[-36.06139,-9.2453],[-36.06126,-9.24726],[-36.06123,-9.24949],[-36.06127,-9.25107],[-36.06121,-9.25517],[-36.06119,-9.25795],[-36.06107,-9.25945],[-36.06109,-9.26183],[-36.06106,-9.26493],[-36.06086,-9.27146],[-36.06083,-9.2751],[-36.06074,-9.28274],[-36.0608,-9.29234],[-36.06074,-9.29363],[-36.05477,-9.29357],[-36.04621,-9.29349],[-36.03941,-9.29348],[-36.03501,-9.29339],[-36.02979,-9.29341],[-36.02167,-9.29332],[-36.01278,-9.29328],[-36.00468,-9.29321],[-35.99678,-9.29314],[-35.98969,-9.29312],[-35.98483,-9.29305],[-35.98305,-9.29289],[-35.98173,-9.29294],[-35.97884,-9.29282],[-35.96968,-9.2928]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"British_Columbia_Mosaic",name:"British Columbia Mosaic",type:"tms",template:"http://{switch:a,b,c,d}.imagery.paulnorman.ca/tiles/bc_mosaic/{zoom}/{x}/{y}.png",endDate:"2013-06-01T00:00:00.000Z",startDate:"2009-01-01T00:00:00.000Z",zoomExtent:[9,20],polygon:[[[-123.3176,49.32726],[-123.44053,49.32682],[-123.44072,49.33844],[-123.43984,49.34304],[-123.44013,49.34354],[-123.44011,49.34399],[-123.44063,49.34445],[-123.44047,49.34558],[-123.43978,49.34606],[-123.43897,49.34613],[-123.43729,49.35672],[-123.43748,49.37108],[-123.43353,49.37094],[-123.43304,49.37373],[-123.43327,49.37512],[-123.43228,49.3761],[-123.43175,49.37917],[-123.43143,49.37959],[-123.43078,49.38239],[-123.43134,49.38274],[-123.43121,49.38385],[-123.43004,49.38459],[-123.41899,49.38471],[-123.41922,49.41352],[-123.39725,49.41357],[-123.39728,49.42435],[-123.40069,49.42433],[-123.40077,49.57035],[-123.40008,49.57035],[-123.40108,49.59338],[-123.37604,49.59328],[-123.37698,49.67561],[-123.35073,49.67564],[-123.3508,49.70868],[-123.33289,49.70872],[-123.33279,49.72563],[-123.30071,49.72556],[-123.30092,49.73754],[-123.2886,49.73764],[-123.28878,49.82492],[-123.2998,49.82492],[-123.30117,49.84978],[-123.32182,49.85067],[-123.32733,49.85777],[-123.32767,49.97589],[-123.30083,49.97522],[-123.30072,50.0997],[-123.25017,50.10074],[-123.25091,50.27549],[-123.02243,50.27556],[-123.02249,50.32549],[-123.00093,50.32547],[-123.00078,50.34239],[-122.9775,50.34234],[-122.97748,50.35043],[-122.95081,50.3505],[-122.95079,50.3712],[-122.93252,50.37115],[-122.9321,50.39979],[-122.88742,50.39997],[-122.88734,50.42561],[-122.66202,50.4257],[-122.66231,50.39945],[-122.59903,50.39924],[-122.59883,50.37552],[-122.57248,50.37537],[-122.57356,50.24939],[-122.59904,50.24946],[-122.59915,50.22657],[-122.6185,50.22664],[-122.61857,50.22441],[-122.64906,50.22451],[-122.64922,50.19935],[-122.73086,50.19938],[-122.73116,50.12443],[-122.74904,50.12451],[-122.74905,50.0903],[-122.76878,50.09034],[-122.76898,49.94945],[-122.99905,49.94947],[-122.99912,49.87546],[-122.97759,49.87546],[-122.97781,49.69951],[-122.99924,49.69948],[-122.99925,49.65165],[-123.02215,49.65165],[-123.02212,49.59951],[-123.04919,49.59946],[-123.04919,49.59405],[-123.06646,49.59404],[-123.06636,49.54519],[-123.06999,49.54512],[-123.0699,49.54132],[-123.07068,49.53928],[-123.07089,49.53799],[-123.07115,49.53688],[-123.07111,49.53581],[-123.07138,49.53282],[-123.07165,49.53211],[-123.07171,49.53139],[-123.07203,49.53042],[-123.07396,49.53035],[-123.0748,49.5295],[-123.07482,49.52881],[-123.07434,49.52806],[-123.07353,49.52746],[-123.07337,49.52704],[-123.07329,49.52559],[-123.07371,49.52496],[-123.07362,49.52449],[-123.09926,49.52449],[-123.09916,49.47545],[-123.07105,49.47553],[-123.07109,49.4663],[-123.07392,49.46631],[-123.07422,49.4505],[-123.07463,49.45009],[-123.07465,49.44933],[-123.0746,49.44902],[-123.07446,49.44869],[-123.07433,49.44799],[-123.07424,49.44777],[-123.07431,49.44475],[-123.07471,49.44476],[-123.07464,49.43773],[-122.99965,49.43774],[-122.99965,49.43692],[-122.86062,49.44153],[-122.81026,49.4424],[-122.8099,49.37667],[-122.40361,49.37666],[-122.40363,49.37719],[-122.26474,49.3773],[-122.26354,49.23601],[-122.21557,49.23614],[-122.0581,49.23588],[-121.95383,49.29665],[-121.94009,49.30454],[-121.92358,49.31423],[-121.89909,49.32254],[-121.88834,49.32598],[-121.8553,49.33636],[-121.8327,49.34415],[-121.76713,49.36544],[-121.67367,49.36546],[-121.64042,49.37438],[-121.5962,49.38605],[-121.58612,49.38792],[-121.52137,49.39946],[-121.51174,49.40384],[-121.46793,49.4229],[-121.44168,49.43456],[-121.42243,49.43458],[-121.34629,49.39323],[-121.34801,49.34124],[-121.5135,49.32058],[-121.60317,49.27717],[-121.65841,49.18561],[-121.67995,49.16541],[-121.78158,49.07026],[-121.80762,49.06225],[-121.9394,49.06362],[-121.97255,49.04242],[-121.99214,49.03329],[-122.00353,49.02734],[-122.01786,49.02411],[-122.11086,48.99928],[-122.14931,48.99953],[-122.14927,48.99915],[-122.19914,48.9996],[-122.19918,48.9992],[-122.23436,48.99948],[-122.23436,49.00017],[-122.39947,49.00124],[-122.45213,49.00163],[-122.45213,49.00088],[-122.45841,49.00093],[-122.45848,48.99931],[-122.49925,48.9995],[-122.49925,48.99929],[-122.54926,48.99951],[-122.54926,48.99932],[-122.65808,48.99942],[-122.65811,48.9954],[-122.70676,48.99553],[-122.75198,48.99564],[-122.79221,48.99572],[-122.79219,48.99943],[-123.03504,48.99957],[-123.03504,49.0001],[-123.03971,49.00005],[-123.03974,49.00018],[-123.04855,49.00013],[-123.04853,49.00047],[-123.05571,49.00045],[-123.05563,49.00023],[-123.06414,49.00013],[-123.06416,48.99994],[-123.0749,48.99969],[-123.07507,49.00062],[-123.08996,49.00037],[-123.10923,48.99994],[-123.12712,49.0003],[-123.136,48.99987],[-123.13627,49.00058],[-123.15385,48.99981],[-123.15405,49.00068],[-123.171,49.00013],[-123.20009,48.99968],[-123.20034,49.04978],[-123.21088,49.04972],[-123.21122,49.05199],[-123.20705,49.05209],[-123.20789,49.06079],[-123.21917,49.0601],[-123.21896,49.06127],[-123.22518,49.06127],[-123.22539,49.06224],[-123.22971,49.06203],[-123.22981,49.06859],[-123.23319,49.06873],[-123.2335,49.07059],[-123.24931,49.07025],[-123.24973,49.08026],[-123.27514,49.0804],[-123.27514,49.08709],[-123.29948,49.0873],[-123.29944,49.08025],[-123.32545,49.08039],[-123.32544,49.11547],[-123.2751,49.15033],[-123.27518,49.18733],[-123.27881,49.18711],[-123.27889,49.19107],[-123.30048,49.19107],[-123.30042,49.26229],[-123.31262,49.26224],[-123.3126,49.27149],[-123.31543,49.27147],[-123.31566,49.28189],[-123.31747,49.28188],[-123.3175,49.29185],[-123.31904,49.29185],[-123.31907,49.2986],[-123.32023,49.29857],[-123.32028,49.30197],[-123.32227,49.30196],[-123.32239,49.31183],[-123.3254,49.31181],[-123.32539,49.32017],[-123.31927,49.3202],[-123.31922,49.32467],[-123.31794,49.32466],[-123.31799,49.32541],[-123.3176,49.32726]]],terms_url:"http://imagery.paulnorman.ca/tiles/about.html",terms_text:"Copyright Province of British Columbia, City of Surrey"},{id:"Budapest_XI_2015",name:"Budapest district XI orthophoto 2015",type:"wms",template:"http://terinfo.ujbuda.hu/mapproxy/service?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=orto2015_20160304&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",polygon:[[[19.04767,47.48789],[19.05157,47.4899],[19.06434,47.4792],[19.0665,47.47632],[19.06766,47.47343],[19.06837,47.47077],[19.06846,47.46876],[19.06722,47.46501],[19.05683,47.45259],[19.0549,47.44906],[19.05176,47.43499],[19.04863,47.429],[19.04384,47.42968],[19.04023,47.42932],[19.03509,47.43818],[19.03221,47.43779],[19.0252,47.442],[19.0207,47.44576],[19.01915,47.44658],[19.01545,47.44759],[19.01347,47.44361],[19.01266,47.44271],[19.01178,47.44247],[19.0119,47.44188],[19.0098,47.43944],[19.0057,47.43111],[19.00046,47.43097],[18.99534,47.42821],[18.97545,47.42818],[18.97343,47.42904],[18.97361,47.42998],[18.97548,47.43067],[18.97719,47.43402],[18.97823,47.43817],[18.97733,47.44657],[18.97004,47.44988],[18.96861,47.45142],[18.97568,47.45506],[18.97586,47.45556],[18.97625,47.45584],[18.97658,47.45594],[18.97763,47.45597],[18.98017,47.45605],[18.98162,47.46067],[18.97793,47.46857],[18.96867,47.47643],[18.97745,47.48194],[18.98035,47.48169],[18.98565,47.4782],[18.98907,47.47838],[18.99117,47.47898],[18.99177,47.48102],[18.99288,47.48182],[18.99836,47.48238],[18.99902,47.483],[19.004,47.48189],[19.00416,47.48399],[19.01027,47.48535],[19.01237,47.48404],[19.0138,47.48351],[19.01674,47.48465],[19.0163,47.48539],[19.01689,47.48595],[19.01808,47.48605],[19.02108,47.48492],[19.02124,47.48612],[19.02301,47.48741],[19.02637,47.48885],[19.02995,47.48904],[19.03135,47.48855],[19.03189,47.48759],[19.03286,47.48712],[19.03364,47.48702],[19.03514,47.48725],[19.03585,47.48729],[19.03616,47.48751],[19.03665,47.48767],[19.03748,47.48774],[19.03847,47.48737],[19.03918,47.48679],[19.04105,47.48649],[19.04181,47.48737],[19.04387,47.4881],[19.04542,47.48817],[19.04695,47.4881],[19.04767,47.48789]]],terms_url:"http://terinfo.ujbuda.hu",terms_text:"Budapest XI. kerület önkormányzata",description:"5 cm resolution bald image"},{id:"Budapest_XI_2017",name:"Budapest district XI orthophoto 2017",type:"wms",template:"http://terinfo.ujbuda.hu/mapproxy/service?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=orto_2017&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2017-03-01T00:00:00.000Z",startDate:"2017-03-01T00:00:00.000Z",polygon:[[[19.04767,47.48789],[19.05157,47.4899],[19.06434,47.4792],[19.0665,47.47632],[19.06766,47.47343],[19.06837,47.47077],[19.06846,47.46876],[19.06722,47.46501],[19.05683,47.45259],[19.0549,47.44906],[19.05176,47.43499],[19.04863,47.429],[19.04384,47.42968],[19.04023,47.42932],[19.03509,47.43818],[19.03221,47.43779],[19.0252,47.442],[19.0207,47.44576],[19.01915,47.44658],[19.01545,47.44759],[19.01347,47.44361],[19.01266,47.44271],[19.01178,47.44247],[19.0119,47.44188],[19.0098,47.43944],[19.0057,47.43111],[19.00046,47.43097],[18.99534,47.42821],[18.97545,47.42818],[18.97343,47.42904],[18.97361,47.42998],[18.97548,47.43067],[18.97719,47.43402],[18.97823,47.43817],[18.97733,47.44657],[18.97004,47.44988],[18.96861,47.45142],[18.97568,47.45506],[18.97586,47.45556],[18.97625,47.45584],[18.97658,47.45594],[18.97763,47.45597],[18.98017,47.45605],[18.98162,47.46067],[18.97793,47.46857],[18.96867,47.47643],[18.97745,47.48194],[18.98035,47.48169],[18.98565,47.4782],[18.98907,47.47838],[18.99117,47.47898],[18.99177,47.48102],[18.99288,47.48182],[18.99836,47.48238],[18.99902,47.483],[19.004,47.48189],[19.00416,47.48399],[19.01027,47.48535],[19.01237,47.48404],[19.0138,47.48351],[19.01674,47.48465],[19.0163,47.48539],[19.01689,47.48595],[19.01808,47.48605],[19.02108,47.48492],[19.02124,47.48612],[19.02301,47.48741],[19.02637,47.48885],[19.02995,47.48904],[19.03135,47.48855],[19.03189,47.48759],[19.03286,47.48712],[19.03364,47.48702],[19.03514,47.48725],[19.03585,47.48729],[19.03616,47.48751],[19.03665,47.48767],[19.03748,47.48774],[19.03847,47.48737],[19.03918,47.48679],[19.04105,47.48649],[19.04181,47.48737],[19.04387,47.4881],[19.04542,47.48817],[19.04695,47.4881],[19.04767,47.48789]]],terms_url:"http://terinfo.ujbuda.hu",terms_text:"Budapest XI. kerület önkormányzata",best:true,description:"5 cm resolution bald image"},{id:"Cadastre",name:"Cadastre",type:"tms",template:"http://tms.cadastre.openstreetmap.fr/*/tout/{zoom}/{x}/{y}.png",zoomExtent:[12,22],polygon:[[[-2.7,43.9],[-6.3,48.98],[-2.25,50.09],[1.31,50.88],[2.35816,51.32937],[2.5488,51.09759],[2.57048,51.07409],[2.58741,51.01763],[2.59845,51.0051],[2.61558,50.99749],[2.63986,50.95766],[2.64225,50.94578],[2.62452,50.9256],[2.61962,50.91067],[2.62396,50.86071],[2.62781,50.85054],[2.63786,50.83696],[2.6511,50.82906],[2.73267,50.81738],[2.79995,50.73795],[2.81655,50.73092],[2.85265,50.73335],[2.89072,50.7162],[2.90492,50.71536],[2.9161,50.72418],[2.93508,50.75592],[3.00718,50.78377],[3.08218,50.78749],[3.09244,50.79092],[3.11412,50.80566],[3.14877,50.80195],[3.2154,50.73111],[3.22149,50.7267],[3.27051,50.70375],[3.27545,50.67757],[3.26576,50.6604],[3.26588,50.64054],[3.28922,50.60028],[3.29219,50.55037],[3.3056,50.53267],[3.37551,50.50839],[3.3898,50.50884],[3.4748,50.54445],[3.52173,50.53459],[3.53266,50.51873],[3.54779,50.51012],[3.61523,50.50558],[3.67378,50.45642],[3.68415,50.35277],[3.6901,50.34044],[3.70258,50.33482],[3.71576,50.33854],[3.74935,50.36279],[3.84109,50.36558],[3.90189,50.3436],[3.91317,50.34291],[4.02672,50.36904],[4.13761,50.29984],[4.14388,50.29727],[4.21444,50.28167],[4.22904,50.26664],[4.23078,50.25233],[4.17084,50.18579],[4.16601,50.16888],[4.1764,50.1547],[4.21195,50.13602],[4.24074,50.07102],[4.23193,50.05551],[4.18164,50.03436],[4.17177,50.02537],[4.16976,50.01217],[4.1765,50.00065],[4.20633,49.97546],[4.22164,49.97089],[4.30877,49.98145],[4.44542,49.9523],[4.45469,49.95251],[4.6581,50.00609],[4.66936,50.01392],[4.67293,50.02716],[4.66924,50.06972],[4.69517,50.10472],[4.83123,50.17941],[4.8815,50.16436],[4.90479,50.14451],[4.90426,50.12639],[4.88076,50.0815],[4.86277,50.0745],[4.85104,50.06216],[4.84331,50.03884],[4.84331,50.03883],[4.8433,50.03881],[4.82678,49.989],[4.82662,49.97692],[4.83343,49.96696],[4.89654,49.91753],[4.89755,49.89424],[4.87913,49.86942],[4.87625,49.85111],[4.88924,49.81266],[4.89769,49.80204],[4.91098,49.79926],[4.99534,49.81116],[5.01867,49.79272],[5.02686,49.78886],[5.09944,49.77323],[5.13458,49.73462],[5.1412,49.72984],[5.18761,49.70906],[5.19602,49.70732],[5.28157,49.70836],[5.33363,49.67308],[5.344,49.65049],[5.3544,49.64041],[5.43141,49.60791],[5.48205,49.52815],[5.49294,49.51979],[5.50666,49.52042],[5.55401,49.54025],[5.59311,49.53424],[5.6076,49.53761],[5.641,49.56095],[5.70676,49.55267],[5.71578,49.55361],[5.77526,49.57414],[5.8399,49.55321],[5.86126,49.52038],[5.876,49.5114],[5.97516,49.50129],[5.99801,49.47317],[6.01627,49.46597],[6.08635,49.47562],[6.09319,49.47787],[6.17397,49.52187],[6.24643,49.52511],[6.334,49.48235],[6.34423,49.48037],[6.43515,49.487],[6.5451,49.44384],[6.60639,49.37868],[6.60497,49.33739],[6.61627,49.31869],[6.67013,49.29269],[6.72996,49.22917],[6.74328,49.19086],[6.76026,49.17752],[6.80904,49.17284],[6.82473,49.17826],[6.83093,49.19366],[6.82982,49.21802],[6.85119,49.23136],[6.88453,49.2239],[6.89322,49.22389],[6.93753,49.23369],[7.04055,49.19794],[7.0463,49.17503],[7.05478,49.16313],[7.06908,49.16018],[7.10494,49.16634],[7.14315,49.14159],[7.1535,49.13839],[7.28683,49.13488],[7.29893,49.13856],[7.36095,49.18259],[7.45012,49.19517],[7.50113,49.17672],[7.54379,49.10572],[7.5579,49.09626],[7.6296,49.08527],[7.64722,49.06722],[7.6612,49.06119],[7.75401,49.05963],[7.76073,49.06067],[7.80291,49.07489],[7.85525,49.05329],[7.8673,49.05227],[7.93826,49.06832],[8.08069,49.00688],[8.2225,48.98787],[8.23704,48.97683],[8.23589,48.95817],[8.20888,48.94863],[8.20089,48.94339],[8.15824,48.89753],[8.10087,48.7993],[7.99071,48.74478],[7.98534,48.7409],[7.90422,48.65865],[7.85605,48.63606],[7.8484,48.62977],[7.81842,48.58883],[7.81456,48.57704],[7.81449,48.50968],[7.78547,48.48337],[7.78055,48.47652],[7.74506,48.39484],[7.74357,48.38427],[7.75159,48.32322],[7.71085,48.29841],[7.70241,48.28803],[7.67661,48.21555],[7.59605,48.11698],[7.59165,48.10648],[7.58522,48.04694],[7.59127,48.03035],[7.62437,47.99865],[7.63205,47.97081],[7.57554,47.87436],[7.5728,47.86435],[7.57267,47.83631],[7.54581,47.78793],[7.54418,47.77232],[7.55758,47.72899],[7.53526,47.6989],[7.53136,47.68564],[7.537,47.67302],[7.60016,47.60822],[7.58967,47.56755],[7.55424,47.55128],[7.54511,47.54283],[7.51256,47.48439],[7.38747,47.42111],[7.32653,47.4273],[7.24435,47.40939],[7.16708,47.4335],[7.15212,47.47612],[7.14279,47.48707],[7.12853,47.48893],[7.0801,47.47718],[7.03557,47.48695],[7.02102,47.48458],[7.01205,47.47287],[7.003,47.44095],[6.9551,47.40808],[6.94716,47.39698],[6.94818,47.38337],[6.95769,47.37359],[6.97126,47.37218],[7.018,47.38386],[7.05623,47.37035],[7.07007,47.35005],[7.05958,47.32257],[6.97424,47.27856],[6.96347,47.26233],[6.96134,47.23479],[6.89443,47.19393],[6.88913,47.18922],[6.85545,47.14636],[6.76907,47.10751],[6.76011,47.09953],[6.72561,47.0418],[6.62355,46.9811],[6.4812,46.9445],[6.46892,46.93522],[6.46686,46.91997],[6.47548,46.88771],[6.4535,46.8239],[6.45644,46.80534],[6.46722,46.79104],[6.46098,46.76887],[6.15817,46.59343],[6.14872,46.58069],[6.15152,46.56508],[6.16549,46.54399],[6.15811,46.52456],[6.10174,46.46979],[6.09572,46.45418],[6.09704,46.43317],[6.10829,46.41643],[6.16622,46.38839],[6.17817,46.36922],[6.13748,46.31297],[6.13371,46.30227],[6.13038,46.23737],[6.1103,46.22344],[6.08865,46.23081],[6.07717,46.23123],[6.01857,46.21601],[6.00681,46.20752],[6.00388,46.19332],[6.00787,46.16977],[6.01783,46.15564],[6.03509,46.15456],[6.05564,46.16288],[6.12468,46.15415],[6.13778,46.15702],[6.24026,46.22094],[6.24906,46.23299],[6.24707,46.24777],[6.21148,46.31057],[6.21219,46.32485],[6.23946,46.36705],[6.31648,46.41557],[6.41083,46.42495],[6.41748,46.42682],[6.50498,46.46871],[6.63047,46.47435],[6.74665,46.45695],[6.82244,46.42925],[6.81832,46.38181],[6.80484,46.36179],[6.80189,46.34639],[6.81095,46.33359],[6.86491,46.30038],[6.87504,46.28007],[6.86092,46.2439],[6.82698,46.21188],[6.82075,46.19862],[6.81863,46.16592],[6.82259,46.15261],[6.83427,46.14509],[6.90382,46.12971],[6.90491,46.09595],[6.90932,46.08406],[6.92001,46.07721],[6.94898,46.0699],[7.01556,46.00883],[7.05191,45.93066],[7.04533,45.92217],[7.04497,45.92064],[7.04394,45.92036],[6.99582,45.85822],[6.94097,45.83551],[6.84376,45.82387],[6.83102,45.81711],[6.82614,45.80353],[6.82787,45.73217],[6.83174,45.72082],[6.8414,45.71373],[6.90729,45.69124],[6.92419,45.66935],[6.94247,45.66172],[6.97131,45.66528],[7.00597,45.64945],[7.01151,45.63652],[6.9978,45.60877],[6.99643,45.59465],[7.0158,45.52354],[7.02774,45.5102],[7.1072,45.47877],[7.1228,45.44924],[7.13304,45.44001],[7.1856,45.41894],[7.19515,45.40409],[7.17075,45.35069],[7.14232,45.32298],[7.13649,45.30576],[7.14458,45.25048],[7.08417,45.20279],[6.99279,45.19823],[6.98106,45.19368],[6.90009,45.12689],[6.85843,45.11699],[6.78283,45.14228],[6.77056,45.14242],[6.67751,45.11356],[6.6653,45.10289],[6.66501,45.08667],[6.68237,45.04558],[6.69602,45.03395],[6.75744,45.01884],[6.78375,44.9146],[6.7942,44.90161],[6.86698,44.86519],[6.8798,44.86346],[6.93633,44.87461],[7.01795,44.84402],[7.03453,44.82282],[7.03711,44.75009],[7.0496,44.73226],[7.07224,44.72311],[7.08651,44.6968],[7.08666,44.68085],[7.07671,44.67134],[6.99007,44.67203],[6.97413,44.66431],[6.97056,44.64696],[6.97819,44.61784],[6.94659,44.57124],[6.88235,44.53479],[6.87233,44.5195],[6.87892,44.50245],[6.95894,44.43129],[6.95872,44.42908],[6.92167,44.41436],[6.91223,44.40659],[6.90907,44.39477],[6.90972,44.38195],[6.91637,44.36804],[6.99909,44.29414],[7.01181,44.256],[7.01983,44.24558],[7.03259,44.2424],[7.07312,44.2461],[7.1651,44.22112],[7.24533,44.18544],[7.26053,44.16682],[7.27537,44.15947],[7.33878,44.1574],[7.36278,44.13834],[7.37776,44.13416],[7.56283,44.15792],[7.5642,44.15836],[7.56478,44.15817],[7.60548,44.1634],[7.6162,44.16827],[7.63989,44.18928],[7.68608,44.1861],[7.69422,44.17795],[7.68937,44.13869],[7.69445,44.12276],[7.72786,44.08615],[7.72403,44.05704],[7.68603,44.02371],[7.68077,44.0164],[7.66016,43.9672],[7.59624,43.94466],[7.58419,43.93287],[7.56858,43.89159],[7.5271,43.87434],[7.51649,43.86397],[7.51594,43.84915],[7.53622,43.79234],[9.8,43.1],[9.63227,41.43244],[9.36968,41.35052],[9.27311,41.29196],[8.94186,41.27688],[5.8,41.64],[3.17358,42.41768],[3.16081,42.42757],[3.0944,42.41457],[3.03402,42.45331],[3.02214,42.45645],[2.87822,42.4487],[2.87019,42.44653],[2.78424,42.40256],[2.7413,42.41128],[2.72928,42.40998],[2.69331,42.39417],[2.68378,42.3854],[2.68162,42.37263],[2.68585,42.34679],[2.66719,42.33008],[2.58106,42.34418],[2.56777,42.34173],[2.5338,42.32197],[2.47795,42.32986],[2.41933,42.37658],[2.41222,42.38021],[2.26719,42.42055],[2.25973,42.42117],[2.20694,42.41558],[2.20653,42.41526],[2.20526,42.41541],[2.16028,42.41065],[2.14881,42.40545],[2.09393,42.35474],[2.00861,42.33818],[1.965,42.36473],[1.93076,42.42442],[1.92089,42.43302],[1.88467,42.44761],[1.88459,42.44762],[1.88444,42.4477],[1.82774,42.47056],[1.72567,42.48452],[1.71561,42.50125],[1.7272,42.56103],[1.72479,42.57499],[1.71011,42.59992],[1.69377,42.60975],[1.60283,42.61382],[1.56069,42.6392],[1.54636,42.64166],[1.50444,42.6331],[1.4921,42.62502],[1.47238,42.59703],[1.43792,42.59264],[1.41936,42.60643],[1.38032,42.67415],[1.37335,42.68127],[1.33313,42.70563],[1.32364,42.7085],[1.23221,42.71248],[1.16554,42.69928],[1.08546,42.76635],[1.07564,42.77079],[0.95937,42.78852],[0.95073,42.78794],[0.92265,42.7797],[0.84606,42.8157],[0.71511,42.8464],[0.70017,42.84402],[0.69117,42.83186],[0.67409,42.76479],[0.67474,42.75286],[0.69192,42.70684],[0.669,42.67901],[0.43024,42.67863],[0.3715,42.70308],[0.35954,42.70415],[0.34912,42.69817],[0.32567,42.67274],[0.29571,42.66388],[0.24594,42.70175],[0.23972,42.70494],[0.18967,42.72039],[0.17919,42.72075],[-0.01993,42.67389],[-0.06726,42.6848],[-0.16949,42.77157],[-0.29987,42.82697],[-0.31683,42.82635],[-0.39208,42.78766],[-0.44354,42.78453],[-0.48842,42.80255],[-0.50868,42.79935],[-0.54499,42.76906],[-0.56721,42.76937],[-0.67446,42.86392],[-0.68094,42.86775],[-0.73372,42.88666],[-0.7476,42.93879],[-0.75711,42.95107],[-0.77253,42.95284],[-0.82114,42.93865],[-0.94508,42.94192],[-1.02313,42.98206],[-1.10852,43.00409],[-1.1156,43.00461],[-1.14775,43.00124],[-1.15845,43.01452],[-1.16736,43.02083],[-1.21622,43.0381],[-1.22612,43.03898],[-1.26236,43.03303],[-1.30643,43.05531],[-1.31992,43.05696],[-1.33135,43.0496],[-1.3542,43.0197],[-1.43868,43.03371],[-1.4775,43.06889],[-1.48311,43.08561],[-1.47641,43.10248],[-1.43479,43.13087],[-1.42732,43.1404],[-1.39411,43.22935],[-1.39531,43.24596],[-1.40868,43.25591],[-1.52629,43.28099],[-1.54626,43.2737],[-1.57149,43.2412],[-1.61053,43.24223],[-1.65,43.29323],[-1.66953,43.30065],[-1.73359,43.28856],[-1.75606,43.31966],[-1.76297,43.32565],[-1.79156,43.34067],[-1.80099,43.37017],[-1.78509,43.39037],[-1.7835,43.39686],[-2.7,43.9]]],terms_url:"https://wiki.openstreetmap.org/wiki/WikiProject_Cadastre_Fran%C3%A7ais/Conditions_d%27utilisation",terms_text:"cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2019",description:"French land registry",icon:"https://svn.openstreetmap.org/applications/editors/josm/plugins/cadastre-fr/images/cadastre_small.png"},{id:"lu.geoportail.opendata.cadastre",name:"Cadastre geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/cadastre/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png",zoomExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,50.17631]]],terms_url:"https://data.public.lu/en/datasets/plan-cadastral-numerise-pcn-webservices-wms-et-wmts",terms_text:"Administration du Cadastre et de la Topographie",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"cajueiro_al",name:"Cajueiro AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Cajueiro&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.10753,-9.43884],[-36.10752,-9.43421],[-36.10767,-9.42959],[-36.10779,-9.42361],[-36.10769,-9.41927],[-36.10781,-9.41391],[-36.10803,-9.41094],[-36.1081,-9.40965],[-36.10811,-9.40747],[-36.10816,-9.40693],[-36.10819,-9.40418],[-36.10811,-9.40176],[-36.10817,-9.40002],[-36.10827,-9.39952],[-36.10827,-9.39646],[-36.10833,-9.39475],[-36.10832,-9.39273],[-36.10836,-9.3904],[-36.10841,-9.38447],[-36.10847,-9.38165],[-36.10846,-9.37767],[-36.10835,-9.37573],[-36.10845,-9.37432],[-36.10849,-9.37234],[-36.10845,-9.3697],[-36.10867,-9.36278],[-36.10863,-9.36102],[-36.10873,-9.35928],[-36.10874,-9.35736],[-36.10855,-9.35479],[-36.1087,-9.3523],[-36.10871,-9.34996],[-36.10873,-9.34893],[-36.11269,-9.34908],[-36.11726,-9.34912],[-36.12138,-9.34905],[-36.12806,-9.3491],[-36.13217,-9.34906],[-36.13694,-9.34915],[-36.14025,-9.34914],[-36.14134,-9.34932],[-36.14458,-9.34916],[-36.14684,-9.34914],[-36.14842,-9.34905],[-36.15276,-9.34907],[-36.154,-9.34922],[-36.15627,-9.34923],[-36.16026,-9.34921],[-36.16086,-9.34929],[-36.166,-9.34933],[-36.16938,-9.34942],[-36.17176,-9.34936],[-36.17628,-9.34945],[-36.18028,-9.34937],[-36.18227,-9.34946],[-36.18826,-9.34938],[-36.19039,-9.34945],[-36.19354,-9.34946],[-36.19552,-9.34941],[-36.19918,-9.34951],[-36.19926,-9.35146],[-36.19913,-9.35234],[-36.19912,-9.35353],[-36.19919,-9.35646],[-36.19922,-9.35771],[-36.1993,-9.35832],[-36.19933,-9.36112],[-36.19922,-9.36177],[-36.19918,-9.36258],[-36.19931,-9.364],[-36.19926,-9.36499],[-36.19922,-9.36563],[-36.19928,-9.3666],[-36.19917,-9.36796],[-36.19917,-9.36868],[-36.19922,-9.36911],[-36.19912,-9.37017],[-36.19887,-9.37149],[-36.19886,-9.37264],[-36.19902,-9.37322],[-36.19915,-9.37504],[-36.19911,-9.37688],[-36.19896,-9.37747],[-36.19899,-9.37915],[-36.19917,-9.38053],[-36.19919,-9.38124],[-36.19926,-9.38175],[-36.19928,-9.38302],[-36.19913,-9.38374],[-36.19908,-9.38592],[-36.19879,-9.38787],[-36.19881,-9.38935],[-36.19902,-9.39092],[-36.19904,-9.392],[-36.19899,-9.39348],[-36.1988,-9.39451],[-36.19867,-9.39705],[-36.19845,-9.39949],[-36.19864,-9.40313],[-36.19866,-9.40476],[-36.19865,-9.40836],[-36.19875,-9.40902],[-36.19857,-9.41058],[-36.19859,-9.41273],[-36.19874,-9.41446],[-36.19868,-9.41711],[-36.1986,-9.41902],[-36.19846,-9.41965],[-36.1985,-9.42235],[-36.19871,-9.42429],[-36.19858,-9.42697],[-36.1984,-9.42895],[-36.19857,-9.43412],[-36.19871,-9.4347],[-36.19865,-9.43595],[-36.19857,-9.43626],[-36.19859,-9.43667],[-36.19876,-9.43749],[-36.19889,-9.43905],[-36.19882,-9.43995],[-36.1785,-9.43977],[-36.17718,-9.43968],[-36.17265,-9.43967],[-36.17099,-9.43971],[-36.16396,-9.43963],[-36.15386,-9.4395],[-36.13983,-9.4393],[-36.12875,-9.43913],[-36.11497,-9.43892],[-36.10753,-9.43884]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"osm-cambodia_laos_thailand_vietnam-bilingual",name:"Cambodia, Laos, Thailand, Vietnam, Malaysia, Myanmar bilingual",type:"tms",template:"https://{switch:a,b,c,d}.tile.osm-tools.org/osm/{zoom}/{x}/{y}.png",zoomExtent:[0,20],polygon:[[[92.10238,20.81356],[93.56905,24.09755],[94.1733,23.92695],[95.19503,26.70727],[96.75509,27.52867],[97.58456,28.5806],[98.73812,27.51405],[98.74362,25.87992],[97.67794,24.75774],[97.96359,24.04238],[98.82052,24.16272],[99.52364,22.95934],[100.36959,21.50514],[101.79232,22.48305],[105.36288,23.33311],[106.81857,22.84801],[108.19735,21.36197],[107.43895,18.85398],[117.14537,7.46562],[119.6173,5.28754],[118.12315,4.05023],[117.25523,4.36249],[115.86546,4.34606],[115.50841,3.02498],[114.5526,1.5101],[113.54186,1.25748],[112.96507,1.5705],[112.24547,1.5101],[111.67418,1.01583],[110.4547,0.90049],[109.49889,1.9219],[103.22569,1.12568],[100.46263,3.23889],[97.6721,8.05888],[93.89281,15.93987],[92.10238,20.81356]]],terms_url:"http://www.osm-tools.org",terms_text:"© osm-tools.org & OpenStreetMap contributors, CC-BY-SA"},{id:"campo_alegre_al",name:"Campo Alegre AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Campo%20Alegre&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.30643,-9.82332],[-36.30603,-9.78597],[-36.30602,-9.78263],[-36.30609,-9.78168],[-36.30604,-9.78081],[-36.3059,-9.77531],[-36.30586,-9.76496],[-36.30545,-9.73336],[-36.39634,-9.73248],[-36.39627,-9.73744],[-36.39636,-9.74336],[-36.39644,-9.75535],[-36.3966,-9.75856],[-36.39665,-9.75979],[-36.39655,-9.76244],[-36.39661,-9.76489],[-36.39658,-9.76648],[-36.39661,-9.76684],[-36.39659,-9.7696],[-36.3967,-9.77896],[-36.39675,-9.78464],[-36.39684,-9.79067],[-36.39693,-9.79681],[-36.39703,-9.80298],[-36.39719,-9.82033],[-36.39722,-9.82234],[-36.39392,-9.82233],[-36.35375,-9.82279],[-36.34822,-9.82286],[-36.31697,-9.82317],[-36.31191,-9.82324],[-36.30879,-9.82327],[-36.30643,-9.82332]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"canaan_drone_red_cross_201712",name:"Canaan - American Red Cross, Dec-2017",type:"tms",template:"https://tiles.openaerialmap.org/5ac65a9f91b5310010e0d489/0/5ac65a9f91b5310010e0d48a/{zoom}/{x}/{y}.png",endDate:"2017-12-20T00:00:00.000Z",startDate:"2017-12-11T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[-72.26734,18.63561],[-72.2636,18.6373],[-72.26116,18.64141],[-72.25983,18.64588],[-72.25811,18.64742],[-72.24502,18.64795],[-72.23433,18.64807],[-72.22734,18.6482],[-72.21953,18.65438],[-72.2161,18.65446],[-72.21584,18.66222],[-72.21725,18.66739],[-72.21889,18.67019],[-72.22309,18.66958],[-72.22343,18.67312],[-72.22502,18.6732],[-72.22545,18.67609],[-72.23288,18.67597],[-72.23339,18.67877],[-72.23674,18.67857],[-72.23854,18.67975],[-72.24,18.68129],[-72.24463,18.68207],[-72.24682,18.6817],[-72.24605,18.67698],[-72.25094,18.67698],[-72.25511,18.67902],[-72.25961,18.67898],[-72.26081,18.67743],[-72.27038,18.67711],[-72.27901,18.67682],[-72.28373,18.67893],[-72.28613,18.68154],[-72.29665,18.68178],[-72.30184,18.68568],[-72.3012,18.68824],[-72.30802,18.69324],[-72.30948,18.69308],[-72.31699,18.69682],[-72.32806,18.70528],[-72.3384,18.69902],[-72.34012,18.69666],[-72.33961,18.69426],[-72.33377,18.68357],[-72.33135,18.68192],[-72.32551,18.68093],[-72.32027,18.67741],[-72.31626,18.67477],[-72.31167,18.672],[-72.308,18.66995],[-72.30534,18.66926],[-72.30068,18.66499],[-72.29796,18.66479],[-72.29609,18.66129],[-72.29315,18.65999],[-72.29519,18.65497],[-72.28414,18.64962],[-72.27804,18.64523],[-72.27487,18.64212],[-72.27352,18.64057],[-72.2706,18.63901],[-72.26734,18.63561]]],terms_url:"http://americanredcross.github.io/",terms_text:"American Red Cross",description:"Drone imagery collected December 2017 for Canaan, Haiti by American Red Cross in coordination with the Haitian Red Cross."},{id:"Geneve-SITG-2011",name:"Canton de Génève 5cm (SITG 2011)",type:"wms",template:"https://ge.ch/ags2/services/Orthophotos_2011/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",polygon:[[[6.18221,46.22618],[6.18348,46.22772],[6.18929,46.23329],[6.19196,46.23858],[6.19253,46.24239],[6.19061,46.24397],[6.19046,46.24654],[6.19256,46.25045],[6.19186,46.25262],[6.19325,46.256],[6.19287,46.25776],[6.19543,46.26181],[6.1979,46.26454],[6.20045,46.26569],[6.20917,46.26634],[6.21716,46.27388],[6.22046,46.27895],[6.2275,46.28649],[6.23433,46.28955],[6.23643,46.2932],[6.24074,46.29774],[6.23958,46.30396],[6.2413,46.30529],[6.2432,46.30453],[6.24513,46.30492],[6.24627,46.30372],[6.24983,46.3027],[6.25032,46.3014],[6.24938,46.30018],[6.25146,46.29647],[6.25063,46.29451],[6.25223,46.29382],[6.25429,46.2907],[6.25231,46.28735],[6.25032,46.2868],[6.24974,46.28574],[6.24636,46.28433],[6.24323,46.28428],[6.23985,46.28098],[6.23934,46.27627],[6.24372,46.27356],[6.25113,46.26258],[6.26244,46.2553],[6.26301,46.25457],[6.262,46.25215],[6.26736,46.24887],[6.27732,46.25211],[6.27725,46.25298],[6.2832,46.25503],[6.28231,46.25568],[6.28278,46.25677],[6.28868,46.26046],[6.29154,46.2644],[6.29457,46.26556],[6.29729,46.26489],[6.29783,46.2631],[6.29541,46.25827],[6.29663,46.2566],[6.3024,46.2558],[6.30678,46.25753],[6.311,46.25666],[6.30768,46.25184],[6.31046,46.25057],[6.31011,46.24749],[6.31156,46.24386],[6.29606,46.22501],[6.29012,46.22241],[6.27773,46.21493],[6.26707,46.21276],[6.25668,46.20926],[6.25089,46.20574],[6.25076,46.20456],[6.2495,46.20404],[6.24643,46.20454],[6.24251,46.20364],[6.23594,46.20541],[6.23347,46.20509],[6.22889,46.20172],[6.22323,46.20005],[6.22355,46.19881],[6.22257,46.19791],[6.21935,46.19765],[6.21688,46.19448],[6.21259,46.19189],[6.20727,46.19137],[6.20588,46.18908],[6.2034,46.18806],[6.20282,46.18642],[6.20035,46.18504],[6.19905,46.18296],[6.19615,46.18288],[6.1885,46.17967],[6.18751,46.17539],[6.18982,46.16584],[6.1748,46.15694],[6.1688,46.15624],[6.15829,46.15195],[6.15434,46.15141],[6.14952,46.14933],[6.14805,46.14748],[6.14832,46.14619],[6.14561,46.14417],[6.14244,46.14493],[6.13768,46.14217],[6.13692,46.14071],[6.13074,46.13946],[6.12598,46.13966],[6.12014,46.14181],[6.1077,46.14203],[6.10537,46.14313],[6.09746,46.14325],[6.09151,46.15095],[6.07476,46.14795],[6.07188,46.14908],[6.05295,46.15046],[6.04973,46.1468],[6.04862,46.14153],[6.04571,46.13916],[6.04287,46.14006],[6.04013,46.13894],[6.03783,46.13716],[6.03647,46.13381],[6.03531,46.13344],[6.03,46.13816],[6.02079,46.14024],[6.01693,46.14191],[6.01282,46.14119],[6.00814,46.14171],[6.00364,46.14088],[5.99338,46.1432],[5.98728,46.14171],[5.98464,46.14232],[5.98309,46.13712],[5.97603,46.1319],[5.97314,46.13081],[5.97037,46.13108],[5.96536,46.12882],[5.96163,46.12976],[5.9573,46.12767],[5.95575,46.12836],[5.95484,46.13214],[5.9589,46.13553],[5.96446,46.13738],[5.96517,46.13845],[5.9631,46.14241],[5.96383,46.14656],[5.97157,46.1558],[5.97884,46.16721],[5.98022,46.17354],[5.98322,46.17507],[5.98537,46.17478],[5.98754,46.17306],[5.99029,46.17955],[5.9936,46.18203],[5.98976,46.18692],[5.98287,46.18822],[5.98068,46.1904],[5.96282,46.1963],[5.96225,46.19719],[5.96465,46.20022],[5.97164,46.20302],[5.96985,46.20383],[5.96794,46.20675],[5.97227,46.21418],[5.97364,46.21563],[5.97897,46.21821],[6.00857,46.24444],[6.01422,46.24855],[6.06593,46.28345],[6.11511,46.31511],[6.12573,46.31843],[6.12972,46.31568],[6.12978,46.31407],[6.13604,46.30896],[6.14179,46.30555],[6.15393,46.30014],[6.17157,46.29507],[6.17125,46.29223],[6.17277,46.28629],[6.17018,46.28533],[6.16834,46.28109],[6.17201,46.27554],[6.1722,46.27301],[6.1691,46.26785],[6.16746,46.26217],[6.16531,46.26195],[6.16455,46.26274],[6.15943,46.25898],[6.15532,46.25216],[6.15387,46.25212],[6.15273,46.25037],[6.15311,46.2477],[6.15494,46.24591],[6.1521,46.23878],[6.15217,46.23273],[6.15034,46.22659],[6.15454,46.22191],[6.15483,46.22044],[6.15296,46.21738],[6.154,46.21355],[6.1571,46.21097],[6.16263,46.21043],[6.16387,46.2097],[6.16911,46.21191],[6.16867,46.21318],[6.17073,46.21478],[6.17471,46.21603],[6.18221,46.22618]],[[6.18834,46.34901],[6.18696,46.34862],[6.18195,46.35015],[6.17961,46.352],[6.17142,46.35444],[6.17022,46.35911],[6.17415,46.36036],[6.17272,46.36189],[6.17348,46.36288],[6.17999,46.36547],[6.1877,46.36132],[6.19447,46.36175],[6.19905,46.36086],[6.20113,46.35634],[6.20258,46.35567],[6.20791,46.35583],[6.21374,46.35379],[6.21247,46.35085],[6.20846,46.34665],[6.2086,46.33991],[6.20659,46.33792],[6.20493,46.33861],[6.20348,46.33793],[6.19181,46.34333],[6.19318,46.34787],[6.19076,46.3477],[6.18834,46.34901]],[[6.18182,46.34281],[6.18016,46.34318],[6.1752,46.34532],[6.17341,46.34398],[6.17324,46.34054],[6.1714,46.33952],[6.16588,46.34254],[6.16564,46.34339],[6.17091,46.35054],[6.17341,46.35029],[6.17458,46.35192],[6.17587,46.35205],[6.18579,46.34593],[6.18182,46.34281]]],terms_url:"http://ge.ch/sitg/donnees/conditions-d-utilisation/open-data",terms_text:"Orthophotos du SITG 2011"},{id:"CTFRIBOURG2016",name:"Canton Fribourg 2016",type:"tms",template:"https://mapproxy.osm.ch/tiles/fribourg_2016/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",zoomExtent:[1,21],polygon:[[[6.79478,46.57542],[6.79949,46.57407],[6.80256,46.57491],[6.80336,46.57687],[6.80427,46.57664],[6.80489,46.57792],[6.80794,46.57761],[6.8094,46.57885],[6.81084,46.57896],[6.81322,46.57823],[6.81153,46.58099],[6.8142,46.58396],[6.81411,46.58567],[6.8206,46.58368],[6.82371,46.57747],[6.82693,46.57796],[6.82927,46.57637],[6.83485,46.57533],[6.83744,46.57677],[6.83691,46.57748],[6.83982,46.57896],[6.84239,46.58244],[6.84532,46.58276],[6.84644,46.58394],[6.84857,46.58331],[6.85087,46.58113],[6.85262,46.58197],[6.85996,46.57987],[6.86554,46.57725],[6.86507,46.57623],[6.8679,46.57515],[6.87446,46.56497],[6.8845,46.56195],[6.88686,46.56341],[6.89214,46.5679],[6.89918,46.56671],[6.89885,46.56499],[6.89393,46.55991],[6.88822,46.55815],[6.86839,46.54164],[6.86498,46.53896],[6.86015,46.53597],[6.85563,46.54086],[6.85501,46.54144],[6.85087,46.54111],[6.8407,46.53819],[6.83032,46.53744],[6.82783,46.54298],[6.82553,46.54357],[6.81278,46.52707],[6.81088,46.52513],[6.81534,46.52139],[6.8181,46.5165],[6.82263,46.51411],[6.82429,46.51207],[6.83034,46.51246],[6.83239,46.50544],[6.83503,46.50231],[6.84126,46.49706],[6.84294,46.49632],[6.84554,46.49667],[6.84775,46.49369],[6.84891,46.49337],[6.85729,46.49305],[6.86276,46.49384],[6.86634,46.50079],[6.87244,46.50431],[6.88168,46.51257],[6.8967,46.52044],[6.89773,46.52005],[6.89711,46.51766],[6.89767,46.51483],[6.89522,46.51079],[6.89572,46.50773],[6.89974,46.51039],[6.90142,46.51233],[6.92517,46.50769],[6.92759,46.50467],[6.93363,46.50167],[6.93674,46.50096],[6.95614,46.49949],[6.97239,46.48879],[6.97581,46.4784],[6.97783,46.47289],[6.97815,46.46833],[6.97906,46.46107],[6.98016,46.45896],[6.99212,46.44891],[6.98361,46.43873],[6.98394,46.43799],[6.98746,46.43794],[7.01786,46.44707],[7.02103,46.45729],[7.06583,46.48904],[7.0724,46.4864],[7.10037,46.48699],[7.12279,46.49869],[7.1264,46.50317],[7.13096,46.50466],[7.13624,46.50861],[7.13704,46.51308],[7.14005,46.51688],[7.14044,46.51988],[7.14318,46.52183],[7.1437,46.52475],[7.1453,46.52701],[7.14835,46.52846],[7.15834,46.52681],[7.16346,46.52855],[7.16709,46.53101],[7.18234,46.53837],[7.19218,46.54656],[7.20081,46.54169],[7.20108,46.543],[7.20765,46.53291],[7.21417,46.53762],[7.21811,46.54211],[7.22171,46.54481],[7.22311,46.5476],[7.22543,46.54923],[7.2322,46.55123],[7.23614,46.554],[7.24047,46.55424],[7.24705,46.55623],[7.25574,46.56029],[7.26385,46.56752],[7.2681,46.57369],[7.28136,46.58411],[7.2992,46.5791],[7.30805,46.58132],[7.31254,46.58917],[7.3207,46.59183],[7.31479,46.60042],[7.3162,46.60937],[7.31826,46.61615],[7.3178,46.61856],[7.31213,46.6217],[7.31327,46.63662],[7.32284,46.63731],[7.32684,46.63873],[7.32975,46.64171],[7.32787,46.64616],[7.321,46.65465],[7.32345,46.65526],[7.32914,46.65459],[7.33116,46.65522],[7.33403,46.65471],[7.34549,46.6553],[7.34756,46.65307],[7.35063,46.65164],[7.35079,46.64799],[7.35456,46.64669],[7.3558,46.64533],[7.35528,46.64193],[7.35714,46.63927],[7.35877,46.64418],[7.36209,46.64683],[7.36229,46.64791],[7.36608,46.64898],[7.37747,46.65636],[7.36933,46.65564],[7.36953,46.65748],[7.37103,46.65907],[7.37083,46.66085],[7.37187,46.66283],[7.37122,46.66375],[7.37252,46.66757],[7.37108,46.66942],[7.37649,46.67503],[7.37293,46.68012],[7.37777,46.68357],[7.37587,46.68645],[7.376,46.6878],[7.38027,46.69018],[7.37693,46.69272],[7.3686,46.69265],[7.3649,46.69505],[7.36261,46.69928],[7.3598,46.69802],[7.34598,46.69895],[7.34604,46.7019],[7.34939,46.70555],[7.35037,46.70874],[7.35021,46.71119],[7.34903,46.71249],[7.34065,46.71464],[7.33277,46.71491],[7.32868,46.71641],[7.31011,46.71815],[7.30785,46.71717],[7.30002,46.72247],[7.29683,46.72737],[7.29685,46.73565],[7.29834,46.74013],[7.30304,46.74517],[7.30454,46.74816],[7.30486,46.75026],[7.30335,46.7514],[7.30309,46.75261],[7.30359,46.75919],[7.29987,46.76375],[7.29881,46.76513],[7.29307,46.77136],[7.29532,46.77537],[7.29639,46.77729],[7.30081,46.77905],[7.30053,46.78064],[7.30113,46.78134],[7.30447,46.78321],[7.30447,46.78415],[7.30207,46.78638],[7.30351,46.78887],[7.30201,46.79079],[7.30159,46.79283],[7.30732,46.79872],[7.31044,46.80823],[7.31537,46.81246],[7.32028,46.8149],[7.32047,46.81564],[7.32072,46.82011],[7.31981,46.82515],[7.32891,46.829],[7.3302,46.82968],[7.33123,46.83177],[7.33103,46.8328],[7.32926,46.83563],[7.32333,46.84041],[7.30755,46.84704],[7.30775,46.84808],[7.30613,46.84999],[7.31207,46.85557],[7.31351,46.85936],[7.31739,46.8606],[7.32087,46.86154],[7.32576,46.85681],[7.323,46.85476],[7.32603,46.85163],[7.33181,46.8512],[7.33536,46.85043],[7.33678,46.84979],[7.33821,46.84946],[7.34726,46.85375],[7.34934,46.85331],[7.35167,46.85502],[7.35444,46.85875],[7.35772,46.86065],[7.35925,46.86311],[7.35794,46.86513],[7.35838,46.8688],[7.35738,46.8701],[7.35386,46.87129],[7.35253,46.87555],[7.35339,46.88676],[7.34843,46.88934],[7.32573,46.89373],[7.30935,46.89152],[7.29618,46.89377],[7.28938,46.89377],[7.28639,46.89269],[7.28245,46.8898],[7.2802,46.8896],[7.27259,46.89249],[7.26634,46.89361],[7.25931,46.89797],[7.24433,46.90037],[7.24314,46.89792],[7.23633,46.89809],[7.23203,46.90029],[7.2309,46.9024],[7.23032,46.90394],[7.22351,46.90276],[7.21755,46.89735],[7.21244,46.90173],[7.2088,46.9026],[7.20781,46.90913],[7.20578,46.91477],[7.20692,46.92481],[7.2111,46.92527],[7.21854,46.92434],[7.2342,46.92939],[7.23411,46.93669],[7.23477,46.93827],[7.2302,46.93995],[7.2282,46.93881],[7.22555,46.93633],[7.2174,46.93307],[7.2093,46.93334],[7.20823,46.93323],[7.2058,46.94023],[7.2055,46.94112],[7.20951,46.94188],[7.21027,46.94302],[7.21044,46.94569],[7.21011,46.94781],[7.20885,46.95435],[7.21102,46.95652],[7.20838,46.95768],[7.20742,46.95967],[7.19764,46.96065],[7.19459,46.96135],[7.19463,46.9629],[7.19552,46.96416],[7.19633,46.96365],[7.19794,46.96445],[7.1993,46.9638],[7.20646,46.96413],[7.20745,46.96751],[7.21422,46.96692],[7.21467,46.97133],[7.21739,46.97147],[7.21686,46.97271],[7.22247,46.97454],[7.22163,46.97556],[7.22821,46.97836],[7.23569,46.98456],[7.23486,46.98675],[7.22594,46.9924],[7.22625,46.99868],[7.22575,46.99915],[7.21779,47.00641],[7.21299,47.0068],[7.09058,46.978],[7.03295,46.98265],[6.73785,46.81195],[6.73908,46.71021],[6.81908,46.65533],[6.82741,46.65982],[6.82089,46.65179],[6.81729,46.64923],[6.81851,46.6478],[6.81458,46.64747],[6.81344,46.64953],[6.81194,46.6492],[6.81081,46.65038],[6.80674,46.65059],[6.80203,46.64889],[6.79891,46.64914],[6.79879,46.64781],[6.80367,46.64567],[6.80325,46.6448],[6.8038,46.64451],[6.80321,46.64376],[6.80171,46.64421],[6.79895,46.63959],[6.79692,46.63314],[6.79838,46.63016],[6.80043,46.62991],[6.80065,46.62843],[6.80172,46.62854],[6.80228,46.62775],[6.80197,46.62507],[6.80355,46.62124],[6.80244,46.61877],[6.80296,46.61615],[6.80185,46.61555],[6.80389,46.60903],[6.80239,46.60142],[6.79833,46.59986],[6.8002,46.59362],[6.80124,46.5925],[6.79848,46.58616],[6.79948,46.58559],[6.79894,46.58205],[6.79611,46.57932],[6.79626,46.57728],[6.79478,46.57542]]],terms_text:"Canton Fribourg 2016 'orthophoto technique'",description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"Canvec",name:"Canvec - English",type:"wms",template:"https://maps.geogratis.gc.ca/wms/canvec_en?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=canvec&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-141.0678,60.2442],[-139.3842,60.10331],[-137.4746,58.82791],[-135.4766,59.65971],[-134.399,58.86279],[-132.5239,57.08342],[-130.1435,55.27452],[-130.7734,54.75597],[-132.4355,54.71514],[-134.5711,54.38827],[-141.7761,53.58405],[-128.9768,46.41459],[-124.8087,48.42976],[-123.4286,48.17889],[-123.0256,48.40444],[-123.19237,48.65504],[-122.99582,48.51065],[-122.4869,48.4098],[-122.32915,48.4528],[-122.22939,48.50649],[-122.17908,48.52965],[-122.1842,48.5669],[-121.77833,48.57593],[-121.66578,48.42791],[-121.33068,48.35714],[-121.02713,48.34977],[-121.03054,48.49406],[-120.698,48.51497],[-120.51041,48.8718],[-119.97579,48.88134],[-119.95447,48.51497],[-119.90758,48.29421],[-119.73193,48.15503],[-119.74386,48.07419],[-119.62279,48.10951],[-119.60232,48.14707],[-119.25273,48.16243],[-114.1499,48.99487],[-95.12094,48.98405],[-95.13419,49.35564],[-94.94415,49.34356],[-94.8839,49.29522],[-94.71704,48.87631],[-94.71791,48.7485],[-93.83204,48.49765],[-93.43778,48.53066],[-93.38216,48.59507],[-92.98471,48.60312],[-92.73847,48.50725],[-92.7095,48.42081],[-92.54293,48.40158],[-92.38361,48.20406],[-92.11564,48.27641],[-91.58697,48.02516],[-91.24658,48.05422],[-90.86275,48.20889],[-90.78308,48.0639],[-90.0774,48.07435],[-89.93835,47.96584],[-89.75469,47.99609],[-89.32745,47.93943],[-88.41489,48.26677],[-84.9566,46.86086],[-84.84795,46.6762],[-84.55904,46.45441],[-84.47642,46.44972],[-84.43758,46.48872],[-84.3669,46.5055],[-84.34899,46.5055],[-84.29026,46.49077],[-84.25742,46.49386],[-84.22507,46.53187],[-84.1962,46.53804],[-84.18027,46.52468],[-84.15987,46.52468],[-84.13449,46.52879],[-84.11558,46.50653],[-84.15944,46.42769],[-84.10024,46.20338],[-83.95558,46.05132],[-83.8864,46.06125],[-83.8203,46.11181],[-83.76975,46.09563],[-83.67498,46.11391],[-83.58084,46.09921],[-83.44747,45.99521],[-83.60888,45.81772],[-82.14271,43.57905],[-82.39133,43.06666],[-82.41252,43.01127],[-82.42522,42.99864],[-82.42618,42.99374],[-82.42363,42.98536],[-82.41503,42.97697],[-82.41853,42.96578],[-82.43064,42.95203],[-82.44911,42.93711],[-82.45739,42.92568],[-82.46472,42.90562],[-82.47228,42.8877],[-82.47228,42.84743],[-82.48536,42.80967],[-82.46844,42.76365],[-82.48586,42.73697],[-82.49155,42.71168],[-82.51488,42.66652],[-82.51224,42.63893],[-82.52421,42.61103],[-82.56854,42.58184],[-82.59498,42.55148],[-82.61286,42.56409],[-82.65158,42.55707],[-82.83439,42.3763],[-83.01489,42.33457],[-83.07244,42.31502],[-83.09647,42.29542],[-83.12823,42.24126],[-83.14167,42.18582],[-83.12799,42.12172],[-83.16266,42.04963],[-83.05136,41.70911],[-82.41932,41.6377],[-81.22563,42.19633],[-80.06688,42.37121],[-78.86642,42.825],[-78.90301,42.92307],[-78.92063,42.95234],[-78.93331,42.95708],[-78.96058,42.9595],[-78.98479,42.9761],[-79.01825,42.9964],[-79.01969,43.01561],[-79.00695,43.0333],[-78.99599,43.06448],[-79.07335,43.07876],[-79.07286,43.083],[-79.0652,43.0917],[-79.05623,43.10825],[-79.05982,43.11563],[-79.06764,43.11992],[-79.05411,43.12801],[-79.04112,43.13986],[-79.04465,43.16192],[-79.05101,43.17037],[-79.04758,43.19974],[-79.05511,43.25682],[-79.18688,43.44858],[-78.68836,43.62502],[-76.77647,43.61369],[-76.41665,44.08498],[-75.49023,44.70772],[-75.29544,44.82587],[-75.16845,44.88548],[-75.1275,44.8975],[-75.00499,44.95265],[-74.98159,44.97728],[-74.90496,44.98222],[-74.8313,45.01108],[-74.77954,45.00158],[-74.74562,44.98526],[-74.70475,44.99877],[-74.49079,44.99343],[-74.23203,44.98552],[-73.93713,44.99512],[-73.01809,45.0121],[-72.63177,45.0121],[-72.54779,45.00506],[-72.32259,45.00286],[-71.49404,45.01093],[-71.48648,45.06221],[-71.42303,45.12765],[-71.43112,45.14037],[-71.37175,45.22117],[-71.28959,45.28578],[-71.23613,45.24302],[-71.11683,45.22933],[-71.0531,45.29866],[-70.98936,45.31088],[-70.90246,45.22525],[-70.82473,45.22714],[-70.77626,45.40013],[-70.7119,45.3754],[-70.63387,45.37346],[-70.60302,45.41179],[-70.67659,45.56319],[-70.3752,45.73075],[-70.36334,45.82013],[-70.25417,45.87468],[-70.22569,45.94403],[-70.27316,45.99022],[-70.17586,46.33538],[-70.06195,46.4107],[-69.98891,46.69363],[-69.22424,47.44463],[-69.06999,47.41092],[-69.07473,47.24202],[-68.89684,47.17469],[-68.78685,47.21493],[-68.72415,47.23217],[-68.68583,47.24028],[-68.66044,47.23183],[-68.62162,47.24028],[-68.59425,47.24974],[-68.59226,47.27001],[-68.57385,47.28486],[-68.55941,47.2798],[-68.542,47.2798],[-68.51214,47.29195],[-68.47381,47.29229],[-68.46038,47.28149],[-68.43898,47.27777],[-68.37229,47.2825],[-68.3703,47.34796],[-68.33173,47.35822],[-68.29664,47.352],[-68.2399,47.34897],[-68.0906,47.26798],[-68.00002,47.21223],[-67.96344,47.19753],[-67.93582,47.15947],[-67.88619,47.10424],[-67.80218,47.06386],[-67.79415,45.93923],[-67.82753,45.8489],[-67.82753,45.6704],[-67.54943,45.57445],[-67.45302,45.58742],[-67.44189,45.52251],[-67.54201,45.49393],[-67.4456,45.38726],[-67.51605,45.29343],[-67.38257,45.11839],[-67.3047,45.11316],[-67.26762,45.18116],[-67.12671,45.09484],[-66.94835,44.78406],[-66.52283,43.61294],[-65.02339,42.10691],[-42.53366,47.50263],[-75.90901,77.3176],[-71.86482,78.7359],[-67.20011,80.66812],[-66.20727,80.78637],[-54.82473,83.07464],[-57.62518,85.04043],[-106.7949,85.04625],[-141.3957,79.2514],[-141.0678,60.2442]]]},{id:"Canvec_French",name:"Canvec - French",type:"wms",template:"https://maps.geogratis.gc.ca/wms/canvec_fr?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=canvec&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-141.0678,60.2442],[-139.3842,60.10331],[-137.4746,58.82791],[-135.4766,59.65971],[-134.399,58.86279],[-132.5239,57.08342],[-130.1435,55.27452],[-130.7734,54.75597],[-132.4355,54.71514],[-134.5711,54.38827],[-141.7761,53.58405],[-128.9768,46.41459],[-124.8087,48.42976],[-123.4286,48.17889],[-123.0256,48.40444],[-123.19237,48.65504],[-122.99582,48.51065],[-122.4869,48.4098],[-122.32915,48.4528],[-122.22939,48.50649],[-122.17908,48.52965],[-122.1842,48.5669],[-121.77833,48.57593],[-121.66578,48.42791],[-121.33068,48.35714],[-121.02713,48.34977],[-121.03054,48.49406],[-120.698,48.51497],[-120.51041,48.8718],[-119.97579,48.88134],[-119.95447,48.51497],[-119.90758,48.29421],[-119.73193,48.15503],[-119.74386,48.07419],[-119.62279,48.10951],[-119.60232,48.14707],[-119.25273,48.16243],[-114.1499,48.99487],[-95.12094,48.98405],[-95.13419,49.35564],[-94.94415,49.34356],[-94.8839,49.29522],[-94.71704,48.87631],[-94.71791,48.7485],[-93.83204,48.49765],[-93.43778,48.53066],[-93.38216,48.59507],[-92.98471,48.60312],[-92.73847,48.50725],[-92.7095,48.42081],[-92.54293,48.40158],[-92.38361,48.20406],[-92.11564,48.27641],[-91.58697,48.02516],[-91.24658,48.05422],[-90.86275,48.20889],[-90.78308,48.0639],[-90.0774,48.07435],[-89.93835,47.96584],[-89.75469,47.99609],[-89.32745,47.93943],[-88.41489,48.26677],[-84.9566,46.86086],[-84.84795,46.6762],[-84.55904,46.45441],[-84.47642,46.44972],[-84.43758,46.48872],[-84.3669,46.5055],[-84.34899,46.5055],[-84.29026,46.49077],[-84.25742,46.49386],[-84.22507,46.53187],[-84.1962,46.53804],[-84.18027,46.52468],[-84.15987,46.52468],[-84.13449,46.52879],[-84.11558,46.50653],[-84.15944,46.42769],[-84.10024,46.20338],[-83.95558,46.05132],[-83.8864,46.06125],[-83.8203,46.11181],[-83.76975,46.09563],[-83.67498,46.11391],[-83.58084,46.09921],[-83.44747,45.99521],[-83.60888,45.81772],[-82.14271,43.57905],[-82.39133,43.06666],[-82.41252,43.01127],[-82.42522,42.99864],[-82.42618,42.99374],[-82.42363,42.98536],[-82.41503,42.97697],[-82.41853,42.96578],[-82.43064,42.95203],[-82.44911,42.93711],[-82.45739,42.92568],[-82.46472,42.90562],[-82.47228,42.8877],[-82.47228,42.84743],[-82.48536,42.80967],[-82.46844,42.76365],[-82.48586,42.73697],[-82.49155,42.71168],[-82.51488,42.66652],[-82.51224,42.63893],[-82.52421,42.61103],[-82.56854,42.58184],[-82.59498,42.55148],[-82.61286,42.56409],[-82.65158,42.55707],[-82.83439,42.3763],[-83.01489,42.33457],[-83.07244,42.31502],[-83.09647,42.29542],[-83.12823,42.24126],[-83.14167,42.18582],[-83.12799,42.12172],[-83.16266,42.04963],[-83.05136,41.70911],[-82.41932,41.6377],[-81.22563,42.19633],[-80.06688,42.37121],[-78.86642,42.825],[-78.90301,42.92307],[-78.92063,42.95234],[-78.93331,42.95708],[-78.96058,42.9595],[-78.98479,42.9761],[-79.01825,42.9964],[-79.01969,43.01561],[-79.00695,43.0333],[-78.99599,43.06448],[-79.07335,43.07876],[-79.07286,43.083],[-79.0652,43.0917],[-79.05623,43.10825],[-79.05982,43.11563],[-79.06764,43.11992],[-79.05411,43.12801],[-79.04112,43.13986],[-79.04465,43.16192],[-79.05101,43.17037],[-79.04758,43.19974],[-79.05511,43.25682],[-79.18688,43.44858],[-78.68836,43.62502],[-76.77647,43.61369],[-76.41665,44.08498],[-75.49023,44.70772],[-75.29544,44.82587],[-75.16845,44.88548],[-75.1275,44.8975],[-75.00499,44.95265],[-74.98159,44.97728],[-74.90496,44.98222],[-74.8313,45.01108],[-74.77954,45.00158],[-74.74562,44.98526],[-74.70475,44.99877],[-74.49079,44.99343],[-74.23203,44.98552],[-73.93713,44.99512],[-73.01809,45.0121],[-72.63177,45.0121],[-72.54779,45.00506],[-72.32259,45.00286],[-71.49404,45.01093],[-71.48648,45.06221],[-71.42303,45.12765],[-71.43112,45.14037],[-71.37175,45.22117],[-71.28959,45.28578],[-71.23613,45.24302],[-71.11683,45.22933],[-71.0531,45.29866],[-70.98936,45.31088],[-70.90246,45.22525],[-70.82473,45.22714],[-70.77626,45.40013],[-70.7119,45.3754],[-70.63387,45.37346],[-70.60302,45.41179],[-70.67659,45.56319],[-70.3752,45.73075],[-70.36334,45.82013],[-70.25417,45.87468],[-70.22569,45.94403],[-70.27316,45.99022],[-70.17586,46.33538],[-70.06195,46.4107],[-69.98891,46.69363],[-69.22424,47.44463],[-69.06999,47.41092],[-69.07473,47.24202],[-68.89684,47.17469],[-68.78685,47.21493],[-68.72415,47.23217],[-68.68583,47.24028],[-68.66044,47.23183],[-68.62162,47.24028],[-68.59425,47.24974],[-68.59226,47.27001],[-68.57385,47.28486],[-68.55941,47.2798],[-68.542,47.2798],[-68.51214,47.29195],[-68.47381,47.29229],[-68.46038,47.28149],[-68.43898,47.27777],[-68.37229,47.2825],[-68.3703,47.34796],[-68.33173,47.35822],[-68.29664,47.352],[-68.2399,47.34897],[-68.0906,47.26798],[-68.00002,47.21223],[-67.96344,47.19753],[-67.93582,47.15947],[-67.88619,47.10424],[-67.80218,47.06386],[-67.79415,45.93923],[-67.82753,45.8489],[-67.82753,45.6704],[-67.54943,45.57445],[-67.45302,45.58742],[-67.44189,45.52251],[-67.54201,45.49393],[-67.4456,45.38726],[-67.51605,45.29343],[-67.38257,45.11839],[-67.3047,45.11316],[-67.26762,45.18116],[-67.12671,45.09484],[-66.94835,44.78406],[-66.52283,43.61294],[-65.02339,42.10691],[-42.53366,47.50263],[-75.90901,77.3176],[-71.86482,78.7359],[-67.20011,80.66812],[-66.20727,80.78637],[-54.82473,83.07464],[-57.62518,85.04043],[-106.7949,85.04625],[-141.3957,79.2514],[-141.0678,60.2442]]]},{id:"capela_al",name:"Capela AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Capela&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.03321,-9.45741],[-36.03322,-9.45581],[-36.03336,-9.45483],[-36.0334,-9.45291],[-36.03327,-9.45141],[-36.03336,-9.44287],[-36.0335,-9.43821],[-36.03353,-9.42881],[-36.03363,-9.42027],[-36.03389,-9.41091],[-36.03389,-9.40032],[-36.03401,-9.3888],[-36.03413,-9.38528],[-36.03428,-9.38265],[-36.03417,-9.37849],[-36.03444,-9.36688],[-36.05246,-9.3671],[-36.05791,-9.36711],[-36.0716,-9.36727],[-36.08622,-9.36731],[-36.103,-9.3675],[-36.11652,-9.36755],[-36.12515,-9.36768],[-36.12522,-9.37473],[-36.12521,-9.37721],[-36.12511,-9.38038],[-36.12514,-9.38529],[-36.12505,-9.39026],[-36.12504,-9.39477],[-36.12506,-9.40172],[-36.12499,-9.40382],[-36.1248,-9.40679],[-36.12463,-9.41123],[-36.12474,-9.4136],[-36.12456,-9.4163],[-36.12459,-9.42461],[-36.12466,-9.42691],[-36.12465,-9.42925],[-36.12457,-9.4297],[-36.12464,-9.43538],[-36.12438,-9.44109],[-36.12446,-9.44387],[-36.12452,-9.44579],[-36.12438,-9.44736],[-36.12448,-9.44856],[-36.12448,-9.45095],[-36.12436,-9.45392],[-36.12434,-9.45791],[-36.11758,-9.45783],[-36.1089,-9.45778],[-36.10419,-9.4578],[-36.10116,-9.45773],[-36.0953,-9.45773],[-36.08461,-9.45767],[-36.07361,-9.45757],[-36.05726,-9.45741],[-36.04816,-9.45747],[-36.04177,-9.45739],[-36.03767,-9.45739],[-36.03321,-9.45741]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"COS2010_v1.0",name:"Carta de Uso do Solo 2010 (WMS)",type:"wms",template:"http://mapas.dgterritorio.pt/wms-inspire/cos2010v1?language=por&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=COS2010_v1.0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2010-01-01T00:00:00.000Z",startDate:"2010-01-01T00:00:00.000Z",zoomExtent:[14,18],polygon:[[[-7.31278,36.98391],[-7.44461,37.5718],[-7.1933,37.97019],[-6.97357,38.00807],[-6.90628,38.24142],[-7.06627,38.20743],[-7.27158,38.45628],[-7.20429,38.72356],[-7.0134,38.85468],[-6.91315,39.03839],[-6.97357,39.13113],[-7.17957,39.23651],[-7.28668,39.48497],[-7.44873,39.61838],[-7.34162,39.60886],[-6.99692,39.64906],[-6.81839,40.0192],[-7.01065,40.19986],[-6.85272,40.24285],[-6.76209,40.35073],[-6.77994,40.8886],[-6.88637,41.01151],[-6.79642,41.01721],[-6.63849,41.21689],[-6.4531,41.24116],[-6.29311,41.38763],[-6.15715,41.5908],[-6.31165,41.68932],[-6.51215,41.71188],[-6.49841,41.88081],[-6.56296,41.97991],[-6.80191,42.00951],[-7.20497,42.00135],[-7.22763,41.8849],[-7.36908,41.87058],[-7.72751,41.92885],[-7.92526,41.94009],[-8.07907,41.84706],[-8.1601,41.91812],[-8.01796,42.05031],[-8.19924,42.18681],[-8.39356,42.1023],[-8.66066,42.07886],[-8.88382,41.88081],[-9.17084,41.86956],[-9.04175,41.43655],[-9.01978,40.65981],[-9.15711,40.26695],[-9.81903,39.52099],[-9.74213,38.6512],[-9.12964,37.88136],[-9.27246,36.99378],[-9.09394,36.68604],[-7.80579,36.74989],[-7.31278,36.98391]]],terms_url:"http://www.dgterritorio.pt/dados_abertos/cos/",terms_text:"Direcção-Geral do Território",icon:"http://www.igeo.pt/favicon.ico"},{id:"BDGEx_ctm_multi",name:"Cartas Topográficas do Exército Brasileiro",type:"wms",template:"https://bdgex.eb.mil.br/mapcache?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ctmmultiescalas_mercator&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[1,22],polygon:[[[-69.94793,-4.23168],[-69.45659,-1.49119],[-69.3973,-1.36508],[-69.42989,-1.22173],[-69.39523,-1.12555],[-69.44292,-1.03351],[-69.41861,-0.99827],[-69.528,-0.92514],[-69.52577,-0.86807],[-69.62491,-0.74667],[-69.56179,-0.63692],[-69.60783,-0.5008],[-69.8446,-0.33732],[-69.92054,-0.32573],[-70.04323,-0.18998],[-70.04302,0.56359],[-69.80272,0.57162],[-69.6711,0.66759],[-69.60529,0.61328],[-69.59701,0.6542],[-69.48002,0.73577],[-69.35277,0.61416],[-69.28914,0.64997],[-69.29484,0.60389],[-69.19975,0.60591],[-69.19425,0.64982],[-69.11563,0.64484],[-69.19001,0.74056],[-69.14881,0.76751],[-69.13576,0.87204],[-69.18846,0.91324],[-69.1646,0.94156],[-69.21679,0.97245],[-69.19773,0.99974],[-69.24494,1.05655],[-69.37641,1.08794],[-69.42312,1.04265],[-69.60989,1.09826],[-69.67718,1.06994],[-69.70963,1.11817],[-69.84266,1.07272],[-69.83972,1.71893],[-69.78236,1.69244],[-69.53464,1.77691],[-69.39109,1.72935],[-68.1645,1.72945],[-68.19207,1.7797],[-68.23954,1.77044],[-68.22688,1.82918],[-68.28555,1.83084],[-68.19583,2.03479],[-68.18033,1.9767],[-68.14417,1.97854],[-68.09043,1.89774],[-67.90162,1.81165],[-67.76942,2.00924],[-67.55095,2.04769],[-67.49519,2.16312],[-67.39404,2.22894],[-67.32672,2.06387],[-67.33083,1.94158],[-67.22831,1.84127],[-67.15384,1.8315],[-67.15922,1.67504],[-67.08017,1.38546],[-67.13923,1.32002],[-67.08675,1.16704],[-66.85119,1.22896],[-66.31032,0.74494],[-66.19737,0.78161],[-66.07783,0.76174],[-66.07024,0.8123],[-65.96712,0.81511],[-65.88369,0.94159],[-65.77261,0.95859],[-65.7421,1.00125],[-65.58894,1.00471],[-65.49624,0.87415],[-65.60623,0.70748],[-65.54116,0.64881],[-65.44499,0.68921],[-65.39213,0.75692],[-65.41198,0.82415],[-65.32734,0.93596],[-65.21302,0.90282],[-65.1749,0.94131],[-65.15831,1.1246],[-65.07232,1.15303],[-65.06317,1.11205],[-65.01361,1.10905],[-64.97445,1.20288],[-64.90439,1.25153],[-64.86966,1.22713],[-64.80053,1.31527],[-64.74446,1.22569],[-64.5789,1.34041],[-64.52608,1.44322],[-64.43586,1.47006],[-64.3939,1.52901],[-64.35111,1.52921],[-64.34777,1.49508],[-64.41019,1.40301],[-64.33791,1.36134],[-64.3136,1.45617],[-64.19707,1.52071],[-64.0735,1.64902],[-64.05781,1.92899],[-63.97219,1.99194],[-63.83555,1.96644],[-63.71155,2.04645],[-63.66501,2.01861],[-63.6268,2.11222],[-63.56474,2.13571],[-63.44059,2.126],[-63.36742,2.26864],[-63.37088,2.41121],[-63.42123,2.45102],[-63.46036,2.39684],[-63.56398,2.44573],[-63.76805,2.43994],[-63.84358,2.4916],[-64.01914,2.46135],[-64.0573,2.49752],[-63.98033,2.7237],[-64.07709,2.87262],[-64.07156,2.92142],[-64.12349,2.99048],[-64.15754,2.98243],[-64.14592,3.03459],[-64.22642,3.12356],[-64.19795,3.20121],[-64.2444,3.43036],[-64.17437,3.56841],[-64.281,3.70928],[-64.54357,3.85713],[-64.72239,4.11775],[-64.80203,4.17422],[-64.81123,4.27048],[-64.69522,4.25323],[-64.623,4.135],[-64.5565,4.10529],[-64.164,4.127],[-63.964,3.868],[-63.928,3.925],[-63.85,3.95],[-63.682,3.908],[-63.676,4.019],[-63.591,3.886],[-63.497,3.84],[-63.489,3.874],[-63.434,3.865],[-63.428,3.977],[-63.204,3.952],[-63.226,3.836],[-63.103,3.794],[-63.059,3.748],[-63.081,3.694],[-62.96,3.608],[-62.835,3.739],[-62.743,3.674],[-62.729,3.805],[-62.788,3.894],[-62.753,4.032],[-62.555,4.019],[-62.552,4.109],[-62.437,4.183],[-62.14308,4.07768],[-62.071,4.126],[-62.076,4.154],[-61.982,4.181],[-61.93175,4.12009],[-61.92213,4.16126],[-61.824,4.164],[-61.802,4.229],[-61.724,4.27],[-61.56,4.252],[-61.508,4.322],[-61.513,4.406],[-61.288,4.458],[-61.323,4.535],[-61.217,4.536],[-61.14559,4.48016],[-61.095,4.522],[-60.994,4.519],[-60.932,4.587],[-60.949,4.653],[-60.899,4.717],[-60.751,4.756],[-60.591,4.927],[-60.661,5.164],[-60.73197,5.21203],[-60.434,5.182],[-60.20825,5.28346],[-60.172,5.227],[-60.135,5.249],[-60.094,5.14],[-59.96984,5.06334],[-60.02524,4.7065],[-60.0705,4.61688],[-60.15725,4.57247],[-60.16114,4.51773],[-59.79503,4.46554],[-59.66948,4.37629],[-59.7319,4.28587],[-59.73069,4.18076],[-59.61818,4.13166],[-59.65406,4.06943],[-59.58417,3.96851],[-59.5153,3.94493],[-59.59279,3.88538],[-59.59631,3.79386],[-59.66555,3.78126],[-59.66842,3.70277],[-59.86728,3.57776],[-59.80205,3.50156],[-59.8408,3.43174],[-59.80488,3.35695],[-59.907,3.212],[-59.98944,2.88185],[-59.99,2.686],[-59.895,2.482],[-59.89872,2.36245],[-59.72315,2.27614],[-59.751,1.859],[-59.677,1.839],[-59.663,1.871],[-59.69,1.757],[-59.539,1.723],[-59.381,1.507],[-59.329,1.514],[-59.327,1.464],[-59.284,1.45],[-59.253,1.389],[-58.978,1.302],[-58.918,1.317],[-58.886,1.261],[-58.912,1.239],[-58.82512,1.17127],[-58.73956,1.1999],[-58.69456,1.29732],[-58.49622,1.26796],[-58.45787,1.37145],[-58.50511,1.40317],[-58.50873,1.46295],[-58.38559,1.46999],[-58.39472,1.52651],[-58.32237,1.59702],[-58.236,1.54669],[-58.16064,1.56011],[-58.12942,1.4989],[-58.00423,1.50303],[-57.99009,1.65844],[-57.85206,1.66782],[-57.77431,1.72973],[-57.70509,1.73093],[-57.65042,1.68237],[-57.5376,1.7005],[-57.50187,1.78609],[-57.43776,1.82681],[-57.43343,1.90598],[-57.36768,1.92372],[-57.36912,1.95638],[-57.30712,1.99665],[-57.22923,1.93759],[-57.08668,2.02644],[-57.01421,1.91489],[-56.91971,1.93036],[-56.79793,1.85336],[-56.72096,1.92582],[-56.62145,1.94588],[-56.57976,1.90588],[-56.45126,1.95614],[-56.24404,1.87808],[-56.1709,1.90048],[-56.11762,1.85097],[-55.95638,1.84509],[-55.90385,1.88803],[-55.93635,1.98647],[-55.9031,2.04108],[-56.00307,2.1676],[-56.05505,2.18464],[-56.04288,2.22778],[-56.13887,2.26574],[-56.09012,2.37228],[-56.02181,2.34247],[-55.97052,2.52931],[-55.76663,2.45524],[-55.71028,2.39917],[-55.49971,2.44324],[-55.38533,2.41836],[-55.32019,2.51537],[-55.23474,2.50338],[-55.1234,2.56762],[-55.10302,2.52564],[-54.95424,2.58359],[-54.86846,2.43989],[-54.68917,2.45389],[-54.68861,2.32472],[-54.54667,2.31833],[-54.53778,2.26556],[-54.46861,2.21306],[-54.24917,2.14667],[-54.18056,2.1725],[-54.11083,2.11222],[-54.06139,2.19167],[-53.94083,2.21917],[-53.93194,2.27194],[-53.88667,2.26778],[-53.745,2.37389],[-53.73389,2.31222],[-53.52972,2.24917],[-53.45861,2.2575],[-53.32833,2.35333],[-53.21667,2.25333],[-53.27899,2.18603],[-53.11861,2.2225],[-52.99472,2.17528],[-52.90972,2.19583],[-52.84722,2.28556],[-52.67528,2.37389],[-52.59444,2.47389],[-52.54028,2.57028],[-52.56417,2.63944],[-52.43944,2.87778],[-52.39583,2.90222],[-52.33187,3.16938],[-52.21472,3.26833],[-51.97104,3.70696],[-51.92148,3.72422],[-51.922,3.7792],[-51.79731,3.88888],[-51.77783,3.97406],[-51.65867,4.05276],[-51.61325,4.17437],[-51.63716,4.50834],[-51.49427,4.67426],[-51.11466,4.42286],[-50.94232,4.20165],[-50.85475,3.92491],[-50.85507,3.45573],[-50.75331,2.94057],[-50.29908,2.33079],[-49.73896,1.79143],[-48.23746,-0.07449],[-44.84728,-1.07246],[-43.54602,-2.04705],[-43.24389,-2.12403],[-42.78189,-2.33053],[-41.78084,-2.51859],[-41.5085,-2.68486],[-40.66365,-2.63829],[-40.50396,-2.57531],[-39.8907,-2.65328],[-39.15187,-3.04444],[-38.57151,-3.48047],[-38.34306,-3.54434],[-38.21421,-3.74103],[-38.12555,-3.80544],[-37.90182,-4.07265],[-37.77934,-4.18046],[-37.63401,-4.24454],[-37.51218,-4.41535],[-37.22122,-4.51045],[-37.07874,-4.71355],[-36.91716,-4.71372],[-36.62299,-4.85815],[-36.18969,-4.88505],[-35.93627,-4.83327],[-35.56471,-4.90758],[-35.33677,-4.99239],[-35.17659,-5.12497],[-34.79469,-6.33583],[-34.71587,-6.74615],[-34.62306,-6.90323],[-34.59953,-7.11133],[-34.64374,-7.98735],[-34.81497,-8.62472],[-35.0253,-9.13761],[-35.55848,-9.81261],[-35.69663,-9.90026],[-35.96401,-10.31281],[-36.06155,-10.37447],[-36.26639,-10.64593],[-36.61764,-10.81082],[-36.78725,-10.95151],[-36.99511,-11.29602],[-37.11368,-11.41261],[-37.46002,-12.10275],[-37.89668,-12.75844],[-38.22146,-13.09717],[-38.61146,-13.26537],[-38.85337,-14.65508],[-38.74388,-15.60089],[-38.66456,-15.74741],[-38.64697,-15.88327],[-38.8013,-16.24838],[-38.92933,-16.80775],[-38.53193,-17.80026],[-38.49171,-18.0046],[-38.53661,-18.09683],[-38.67053,-18.16855],[-39.35288,-18.10892],[-39.4675,-18.30359],[-39.54529,-18.78548],[-39.49227,-19.40134],[-39.63477,-19.74403],[-39.86353,-19.88681],[-40.17827,-20.75426],[-40.81442,-21.67672],[-40.76948,-21.87786],[-40.81442,-22.09702],[-41.5086,-22.52638],[-41.59666,-22.83627],[-41.79292,-23.08823],[-41.91484,-23.18527],[-43.19603,-23.26703],[-44.07735,-23.40501],[-45.13508,-24.12014],[-46.61368,-24.67512],[-47.85376,-25.47012],[-48.2801,-26.23036],[-48.34897,-26.75081],[-48.11076,-27.28208],[-48.21148,-27.85592],[-48.40713,-28.43255],[-48.68615,-28.76016],[-48.9156,-28.86305],[-49.1579,-29.02871],[-49.52748,-29.42005],[-49.82565,-29.86559],[-50.17344,-30.64282],[-50.60441,-31.24135],[-51.18785,-31.77646],[-51.74211,-32.10539],[-51.89236,-32.29596],[-52.06117,-32.38504],[-52.27087,-32.92102],[-52.45986,-33.25369],[-52.61505,-33.42291],[-53.18109,-33.86891],[-53.43053,-33.73947],[-53.43951,-33.69347],[-53.53228,-33.6888],[-53.51819,-33.15342],[-53.44438,-33.05296],[-53.24468,-32.93489],[-53.31008,-32.91875],[-53.29454,-32.89931],[-53.18496,-32.85043],[-53.14569,-32.79202],[-53.0858,-32.78835],[-53.07558,-32.74088],[-53.24992,-32.6041],[-53.39137,-32.58573],[-53.46423,-32.48446],[-53.58321,-32.45192],[-53.74599,-32.07848],[-53.83375,-32.05524],[-53.84978,-32.00064],[-53.96073,-31.95532],[-53.96972,-31.91765],[-54.10019,-31.92825],[-54.4549,-31.65295],[-54.4528,-31.59959],[-54.58676,-31.45656],[-54.8367,-31.442],[-54.88623,-31.3773],[-54.94087,-31.38068],[-55.00723,-31.26692],[-55.07446,-31.33216],[-55.24003,-31.26062],[-55.29118,-31.14226],[-55.34037,-31.13144],[-55.34981,-31.03922],[-55.42306,-31.01823],[-55.57742,-30.83309],[-55.65834,-30.864],[-55.66621,-30.95395],[-55.723,-30.943],[-55.727,-30.979],[-55.882,-31.077],[-56.00989,-31.08267],[-56.02241,-30.78565],[-56.12508,-30.73871],[-56.17074,-30.61517],[-56.26095,-30.58509],[-56.29193,-30.51967],[-56.38177,-30.49956],[-56.46126,-30.38486],[-56.54706,-30.35946],[-56.54115,-30.31291],[-56.6187,-30.30054],[-56.64628,-30.20346],[-56.77662,-30.1633],[-56.80777,-30.10301],[-57.07113,-30.08671],[-57.22081,-30.28928],[-57.31303,-30.25785],[-57.39229,-30.30474],[-57.46574,-30.26589],[-57.52431,-30.28569],[-57.56087,-30.21134],[-57.64744,-30.19483],[-57.48047,-30.12315],[-57.33713,-29.99284],[-57.294,-29.831],[-57.121,-29.765],[-56.89888,-29.53179],[-56.81905,-29.48816],[-56.76618,-29.37768],[-56.70164,-29.35913],[-56.59315,-29.12516],[-56.418,-29.075],[-56.40775,-28.9748],[-56.29995,-28.89614],[-56.29652,-28.8027],[-56.17858,-28.75922],[-56.00984,-28.60718],[-56.01249,-28.50873],[-55.88357,-28.47923],[-55.87739,-28.36159],[-55.75157,-28.37095],[-55.69433,-28.42204],[-55.67047,-28.33218],[-55.77415,-28.27414],[-55.7757,-28.24481],[-55.63167,-28.17719],[-55.60747,-28.11604],[-55.55957,-28.16523],[-55.4952,-28.07682],[-55.44611,-28.09787],[-55.368,-28.029],[-55.38299,-27.97948],[-55.343,-27.972],[-55.32706,-27.92664],[-55.26574,-27.92969],[-55.196,-27.856],[-55.133,-27.897],[-55.106,-27.846],[-55.035,-27.858],[-55.081,-27.779],[-54.936,-27.772],[-54.90617,-27.63871],[-54.85,-27.624],[-54.814,-27.533],[-54.775,-27.586],[-54.67926,-27.57394],[-54.67709,-27.508],[-54.621,-27.541],[-54.574,-27.453],[-54.5246,-27.5059],[-54.444,-27.472],[-54.47081,-27.42674],[-54.41,-27.405],[-54.35466,-27.46528],[-54.34067,-27.40311],[-54.28484,-27.44819],[-54.261,-27.397],[-54.21736,-27.38603],[-54.172,-27.254],[-54.15619,-27.29619],[-54.08872,-27.30149],[-54.01026,-27.19978],[-53.96219,-27.19698],[-53.95195,-27.15169],[-53.79879,-27.14629],[-53.80233,-27.04028],[-53.76087,-27.06543],[-53.78585,-27.02674],[-53.7473,-27.03218],[-53.7092,-26.93414],[-53.67125,-26.94222],[-53.69684,-26.86015],[-53.66059,-26.85814],[-53.75814,-26.72045],[-53.7205,-26.65099],[-53.75864,-26.64113],[-53.63739,-26.24968],[-53.742,-26.108],[-53.73409,-26.04333],[-53.83619,-25.97166],[-53.82214,-25.79377],[-53.89113,-25.62286],[-53.94895,-25.6117],[-53.95638,-25.64628],[-54.01,-25.567],[-54.07592,-25.55766],[-54.098,-25.619],[-54.099,-25.495],[-54.206,-25.541],[-54.178,-25.584],[-54.23,-25.562],[-54.25,-25.597],[-54.28,-25.556],[-54.38395,-25.59747],[-54.43288,-25.69756],[-54.4927,-25.6181],[-54.59354,-25.59275],[-54.61941,-25.45312],[-54.4295,-25.15915],[-54.43548,-24.94769],[-54.32437,-24.66059],[-54.32714,-24.47073],[-54.25877,-24.36377],[-54.34537,-24.14705],[-54.28223,-24.07336],[-54.43984,-23.90446],[-54.66978,-23.81262],[-54.70533,-23.86452],[-54.89,-23.898],[-54.924,-23.959],[-55.06223,-23.99335],[-55.107,-23.961],[-55.22907,-24.01383],[-55.30415,-23.96504],[-55.34542,-23.99458],[-55.41423,-23.9645],[-55.44167,-23.70084],[-55.47306,-23.64834],[-55.53989,-23.625],[-55.52356,-23.19733],[-55.54199,-23.1561],[-55.59635,-23.14993],[-55.66578,-22.85274],[-55.61432,-22.65521],[-55.72364,-22.55166],[-55.74302,-22.39266],[-55.78939,-22.3846],[-55.84304,-22.28725],[-56.20983,-22.27805],[-56.36485,-22.16949],[-56.39404,-22.07434],[-56.50711,-22.09561],[-56.63705,-22.26341],[-56.70344,-22.21693],[-56.72026,-22.26479],[-56.79344,-22.24238],[-56.84285,-22.30155],[-56.88343,-22.24755],[-56.9967,-22.22246],[-57.3744,-22.23204],[-57.5804,-22.17534],[-57.6106,-22.09462],[-57.70751,-22.09111],[-57.80183,-22.15072],[-57.99384,-22.09023],[-58.00946,-22.04038],[-57.91281,-21.88266],[-57.96603,-21.85045],[-57.90866,-21.77355],[-57.94714,-21.74413],[-57.88329,-21.68903],[-57.93436,-21.65037],[-57.91387,-21.59021],[-57.96795,-21.52432],[-57.8535,-21.33109],[-57.92019,-21.27655],[-57.85066,-21.22407],[-57.86834,-21.04417],[-57.81919,-20.94066],[-57.92836,-20.90036],[-57.8552,-20.83403],[-57.89863,-20.78872],[-57.96183,-20.7916],[-57.93478,-20.74565],[-57.86732,-20.73265],[-57.92414,-20.66392],[-57.98848,-20.69879],[-57.99847,-20.43551],[-58.09339,-20.35554],[-58.09596,-20.25445],[-58.16216,-20.25953],[-58.12152,-20.19246],[-58.16932,-20.1694],[-57.95347,-20.02094],[-57.90248,-20.04207],[-57.85796,-19.9703],[-58.131,-19.758],[-57.784,-19.033],[-57.694,-19.011],[-57.719,-18.899],[-57.766,-18.899],[-57.557,-18.24],[-57.453,-18.231],[-57.574,-18.131],[-57.72302,-17.83074],[-57.68472,-17.8306],[-57.70991,-17.72702],[-57.783,-17.639],[-57.73696,-17.5583],[-57.883,-17.449],[-57.996,-17.515],[-58.06,-17.45],[-58.116,-17.451],[-58.151,-17.384],[-58.263,-17.344],[-58.396,-17.181],[-58.423,-16.989],[-58.474,-16.935],[-58.47,-16.703],[-58.436,-16.592],[-58.333,-16.49],[-58.32227,-16.26559],[-58.388,-16.261],[-58.43059,-16.32264],[-60.17335,-16.26672],[-60.238,-15.473],[-60.57543,-15.09677],[-60.244,-15.096],[-60.272,-14.62],[-60.321,-14.608],[-60.492,-14.188],[-60.479,-14.097],[-60.38066,-13.9888],[-60.45062,-13.9364],[-60.45599,-13.85422],[-60.49068,-13.85782],[-60.46776,-13.79446],[-60.76755,-13.68329],[-60.87678,-13.62149],[-60.91857,-13.54334],[-61.0056,-13.552],[-61.0129,-13.48925],[-61.0938,-13.49081],[-61.10314,-13.53056],[-61.18155,-13.50557],[-61.19236,-13.53695],[-61.29954,-13.47718],[-61.46527,-13.55427],[-61.57927,-13.48711],[-61.852,-13.538],[-61.892,-13.431],[-61.96968,-13.40759],[-61.97592,-13.36695],[-62.11498,-13.25932],[-62.115,-13.163],[-62.15254,-13.15993],[-62.16703,-13.11346],[-62.19,-13.153],[-62.214,-13.111],[-62.27269,-13.15687],[-62.39178,-13.13471],[-62.453,-13.064],[-62.612,-13.041],[-62.65,-12.965],[-62.729,-13.02],[-62.779,-13.009],[-62.89672,-12.8539],[-63.01134,-12.83602],[-63.08186,-12.72323],[-63.06163,-12.68584],[-63.15726,-12.6138],[-63.24621,-12.66222],[-63.23713,-12.69043],[-63.30125,-12.68138],[-63.44052,-12.608],[-63.43627,-12.56526],[-63.50641,-12.56562],[-63.55295,-12.50598],[-63.7848,-12.42871],[-63.88957,-12.44745],[-63.89949,-12.50204],[-63.95144,-12.53179],[-64.13464,-12.47732],[-64.16781,-12.51503],[-64.17504,-12.46675],[-64.22945,-12.45419],[-64.29018,-12.50313],[-64.29452,-12.4582],[-64.41057,-12.44436],[-64.51217,-12.3551],[-64.51256,-12.22562],[-64.70406,-12.1827],[-64.70719,-12.08684],[-64.75486,-12.15762],[-64.7688,-12.09356],[-64.83747,-12.11786],[-64.80954,-12.05633],[-64.84077,-12.01027],[-65.03548,-11.99408],[-65.01398,-11.90303],[-65.0727,-11.86587],[-65.08672,-11.7082],[-65.18953,-11.72353],[-65.18216,-11.75609],[-65.2593,-11.71053],[-65.21178,-11.52857],[-65.3074,-11.49957],[-65.33276,-11.33986],[-65.29053,-11.32275],[-65.34347,-11.3082],[-65.35834,-11.26834],[-65.35938,-11.22067],[-65.31294,-11.19578],[-65.35387,-11.18419],[-65.36177,-11.14031],[-65.28269,-11.09009],[-65.30071,-11.03142],[-65.25053,-10.98506],[-65.27476,-10.87302],[-65.35376,-10.78881],[-65.34667,-10.68155],[-65.40569,-10.63935],[-65.43011,-10.48505],[-65.288,-10.219],[-65.333,-9.965],[-65.28588,-9.84413],[-65.39313,-9.68683],[-65.44394,-9.66957],[-65.4883,-9.71015],[-65.55611,-9.84498],[-65.627,-9.83804],[-65.66963,-9.78129],[-65.71023,-9.80857],[-65.68395,-9.74992],[-65.7432,-9.78296],[-65.77013,-9.73442],[-65.79437,-9.79295],[-65.79962,-9.75663],[-65.86532,-9.79533],[-65.87184,-9.75307],[-65.91976,-9.75314],[-65.98222,-9.81011],[-66.151,-9.785],[-66.426,-9.899],[-66.435,-9.866],[-66.61995,-9.89353],[-66.63701,-9.94983],[-66.8751,-10.08268],[-66.9528,-10.18886],[-66.99683,-10.20017],[-67.01537,-10.25919],[-67.17745,-10.33923],[-67.31545,-10.31932],[-67.31155,-10.37716],[-67.40717,-10.37386],[-67.44361,-10.45492],[-67.57925,-10.5028],[-67.64028,-10.59807],[-67.67631,-10.60484],[-67.70825,-10.71083],[-67.86386,-10.64067],[-68.03289,-10.65486],[-68.10456,-10.71426],[-68.10333,-10.77541],[-68.27819,-10.98926],[-68.71576,-11.14483],[-68.75767,-11.00079],[-68.9118,-11.02192],[-69.41453,-10.92575],[-69.73653,-10.97445],[-69.76903,-10.92972],[-69.93442,-10.9219],[-70.15869,-11.04096],[-70.30672,-11.06983],[-70.43675,-11.03923],[-70.53033,-10.93465],[-70.62103,-10.99982],[-70.62338,-9.82054],[-70.53663,-9.76584],[-70.59972,-9.56264],[-70.55282,-9.57093],[-70.56894,-9.53127],[-70.50506,-9.50557],[-70.49665,-9.42489],[-70.59581,-9.4425],[-70.6632,-9.52601],[-70.75067,-9.56043],[-70.79332,-9.63846],[-70.96337,-9.74891],[-70.99391,-9.81721],[-71.13974,-9.85702],[-71.22052,-9.96968],[-72.1804,-9.99967],[-72.15136,-9.79742],[-72.26296,-9.75085],[-72.25282,-9.61633],[-72.28821,-9.60316],[-72.2829,-9.53995],[-72.35688,-9.4946],[-72.51954,-9.49128],[-72.71676,-9.4122],[-73.2038,-9.40715],[-73.07352,-9.23461],[-73.0093,-9.22236],[-73.02612,-9.17786],[-72.9582,-9.14302],[-72.94091,-8.98494],[-72.99931,-8.91778],[-73.05901,-8.90561],[-73.14992,-8.6839],[-73.20907,-8.6857],[-73.28745,-8.61948],[-73.3055,-8.47197],[-73.38956,-8.46878],[-73.41286,-8.41099],[-73.53744,-8.34587],[-73.62739,-8.02187],[-73.73175,-7.9684],[-73.7725,-7.90237],[-73.76164,-7.85803],[-73.69706,-7.86527],[-73.6843,-7.77644],[-73.82217,-7.71788],[-73.99094,-7.53635],[-73.948,-7.52661],[-73.91981,-7.46568],[-73.96394,-7.34764],[-73.87014,-7.37882],[-73.7003,-7.30429],[-73.79842,-7.11306],[-73.71046,-6.84019],[-73.53639,-6.6834],[-73.39115,-6.64193],[-73.35281,-6.59327],[-73.22741,-6.58884],[-73.18797,-6.52302],[-73.13523,-6.51046],[-73.10473,-6.40666],[-73.24664,-6.14963],[-73.23821,-6.04399],[-73.1868,-6.00512],[-73.15207,-5.86796],[-73.05303,-5.79517],[-72.95912,-5.65689],[-72.95888,-5.46613],[-72.86052,-5.27117],[-72.88725,-5.16307],[-72.73986,-5.08859],[-72.72765,-5.05199],[-72.6212,-5.0518],[-72.598,-4.98386],[-72.38202,-4.87296],[-72.36895,-4.80387],[-72.12601,-4.73454],[-72.04335,-4.62384],[-72.00689,-4.64622],[-71.99464,-4.60996],[-71.94743,-4.60877],[-71.91909,-4.5298],[-71.88549,-4.53803],[-71.9073,-4.51644],[-71.76637,-4.50446],[-71.75109,-4.46887],[-71.70817,-4.51165],[-71.65479,-4.47246],[-71.65032,-4.50395],[-71.61548,-4.4687],[-71.6335,-4.51524],[-71.59625,-4.52928],[-71.53703,-4.46442],[-71.49428,-4.48701],[-71.50716,-4.43909],[-71.43438,-4.42882],[-71.42562,-4.47058],[-71.35026,-4.42728],[-71.30752,-4.46288],[-71.32091,-4.42009],[-71.27782,-4.44217],[-71.26975,-4.385],[-71.20263,-4.37987],[-71.19422,-4.42471],[-71.14478,-4.38158],[-71.11491,-4.41119],[-71.10616,-4.37764],[-70.99389,-4.38654],[-70.99595,-4.34632],[-70.9357,-4.38432],[-70.84483,-4.27905],[-70.86447,-4.25245],[-70.81677,-4.23005],[-70.8458,-4.21872],[-70.75901,-4.15944],[-70.68147,-4.20791],[-70.64256,-4.12805],[-70.62521,-4.19151],[-70.56118,-4.1775],[-70.57357,-4.21169],[-70.54796,-4.13671],[-70.51036,-4.14824],[-70.50417,-4.20098],[-70.48535,-4.16132],[-70.43435,-4.16266],[-70.43146,-4.13217],[-70.33892,-4.17997],[-70.32281,-4.14206],[-70.28769,-4.16555],[-70.29141,-4.28709],[-70.21457,-4.29749],[-70.19194,-4.36179],[-70.15508,-4.27308],[-70.11749,-4.28585],[-70.10881,-4.25454],[-70.04189,-4.29409],[-70.07948,-4.31428],[-70.02826,-4.3703],[-69.99182,-4.37482],[-69.94793,-4.23168]]],terms_text:"BDGEx",icon:"https://osmlab.github.io/editor-layer-index/sources/south-america/br/Exercito.png"},{id:"Cartoriviera-2012",name:"Cartoriviera - Orthophoto 2012",type:"tms",template:"http://osmdata.asitvd.ch/tiles/cartoriviera2012/{zoom}/{x}/{y}.png",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",zoomExtent:[14,20],polygon:[[[7.02235,46.42856],[7.0224,46.42045],[7.02176,46.41955],[7.02225,46.41954],[7.02161,46.41749],[7.02242,46.4174],[7.02242,46.41681],[7.02113,46.41443],[7.02164,46.41259],[7.0216,46.41188],[7.01918,46.41055],[7.01896,46.41004],[7.01757,46.40826],[7.01426,46.40696],[7.00948,46.40695],[7.00952,46.40451],[7.00368,46.40153],[6.97052,46.40139],[6.97056,46.39354],[6.96507,46.38333],[6.89379,46.383],[6.89327,46.39209],[6.8968,46.4],[6.89678,46.40097],[6.89395,46.401],[6.89768,46.40888],[6.89246,46.41386],[6.89237,46.41807],[6.8949,46.4193],[6.89285,46.41948],[6.89395,46.42312],[6.89225,46.42339],[6.89219,46.42802],[6.88743,46.428],[6.87652,46.43163],[6.86624,46.43633],[6.84003,46.44591],[6.83504,46.44934],[6.827,46.45204],[6.82695,46.45379],[6.81953,46.45655],[6.80361,46.45993],[6.78775,46.46253],[6.78697,46.5246],[6.82604,46.5248],[6.82609,46.52662],[6.83907,46.5267],[6.83888,46.55006],[6.90658,46.55042],[6.912,46.54301],[6.91083,46.53983],[6.90979,46.53512],[6.90931,46.53517],[6.90867,46.53373],[6.91195,46.53297],[6.91335,46.53604],[6.9268,46.53364],[6.92723,46.5349],[6.93714,46.53311],[6.93691,46.5327],[6.94028,46.53196],[6.94164,46.53477],[6.94309,46.53455],[6.94345,46.53528],[6.95641,46.53003],[6.95632,46.52733],[6.95111,46.52725],[6.95301,46.52611],[6.94341,46.52605],[6.94343,46.52546],[7.01629,46.52568],[7.02158,46.52211],[7.02196,46.47355],[7.07099,46.47368],[7.07402,46.4719],[7.07383,46.4326],[7.05947,46.43233],[7.05278,46.42879],[7.02235,46.42856]]],terms_url:"https://map.cartoriviera.ch/?baselayer_ref=orthos_2012_mobile&baselayer_opacity=100",terms_text:"Cartoriviera"},{id:"Catastro-Spain",name:"Catastro Spain",type:"wms",template:"http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=Catastro&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-17.88463,28.44606],[-17.89395,28.52255],[-18.02125,28.74819],[-18.02241,28.80384],[-17.9424,28.87261],[-17.89118,28.87371],[-17.89033,28.85151],[-17.76759,28.85378],[-17.76698,28.83122],[-17.74127,28.832],[-17.73949,28.76422],[-17.71398,28.76497],[-17.71293,28.73037],[-17.75744,28.69318],[-17.75708,28.67413],[-17.74579,28.67435],[-17.74573,28.61656],[-17.75197,28.58337],[-17.76225,28.5592],[-17.78331,28.54167],[-17.78316,28.49366],[-17.80861,28.4925],[-17.80601,28.4469],[-17.88463,28.44606]],[[-18.1661,27.78516],[-18.16349,27.69492],[-18.08898,27.69634],[-18.08734,27.67387],[-18.03641,27.67537],[-18.03501,27.63026],[-17.959,27.6324],[-17.86033,27.7926],[-17.86303,27.83688],[-17.8884,27.83649],[-17.88913,27.85905],[-17.99065,27.85675],[-18.03868,27.76558],[-18.11464,27.76379],[-18.11546,27.78636],[-18.1661,27.78516]],[[-17.36038,28.06398],[-17.36297,28.17572],[-17.33756,28.17637],[-17.33846,28.2213],[-17.18579,28.22388],[-17.08208,28.13518],[-17.08084,28.068],[-17.13154,28.06681],[-17.15633,28.02146],[-17.23211,28.02037],[-17.23199,27.99804],[-17.25768,27.99784],[-17.25785,28.01997],[-17.30867,28.01923],[-17.36038,28.06398]],[[-16.92782,28.32758],[-16.92866,28.37219],[-16.87767,28.37293],[-16.87807,28.39542],[-16.52143,28.42261],[-16.44571,28.49113],[-16.44625,28.53597],[-16.42059,28.53627],[-16.42092,28.55884],[-16.34433,28.55976],[-16.3446,28.58221],[-16.19125,28.58372],[-16.19162,28.60684],[-16.12793,28.60782],[-16.1278,28.59218],[-16.09951,28.5925],[-16.09934,28.51638],[-16.16481,28.51612],[-16.16475,28.49386],[-16.23858,28.44847],[-16.26535,28.44761],[-16.26586,28.403],[-16.31675,28.40176],[-16.31631,28.38019],[-16.34208,28.37951],[-16.34083,28.2893],[-16.41584,28.19761],[-16.4151,28.13113],[-16.51533,28.01648],[-16.61684,28.01532],[-16.61681,27.99305],[-16.71842,27.99192],[-16.7191,28.03714],[-16.7447,28.03679],[-16.74534,28.08181],[-16.7707,28.08161],[-16.8224,28.1259],[-16.82317,28.17087],[-16.8487,28.17075],[-16.85028,28.26079],[-16.87565,28.26055],[-16.87608,28.28322],[-16.90151,28.28277],[-16.90239,28.32793],[-16.92782,28.32758]],[[-15.85374,27.90089],[-15.8542,27.99018],[-15.82895,27.99066],[-15.82911,28.03558],[-15.7783,28.03632],[-15.75328,28.08143],[-15.72788,28.08157],[-15.72826,28.17186],[-15.49897,28.1728],[-15.49874,28.15041],[-15.44978,28.15075],[-15.45016,28.19614],[-15.39728,28.19614],[-15.39644,28.03836],[-15.37103,28.03802],[-15.37065,28.01532],[-15.34578,28.01532],[-15.34548,27.92544],[-15.3708,27.92524],[-15.37057,27.83521],[-15.39598,27.83474],[-15.421,27.78797],[-15.47181,27.78939],[-15.47188,27.76665],[-15.52277,27.76678],[-15.54771,27.72161],[-15.62361,27.72134],[-15.62415,27.74199],[-15.70075,27.74335],[-15.80167,27.81105],[-15.85374,27.90089]],[[-14.52156,28.04678],[-14.52244,28.11841],[-14.41575,28.11561],[-14.21688,28.22788],[-14.21537,28.33903],[-14.16417,28.45283],[-14.11151,28.4748],[-14.03358,28.72267],[-13.95652,28.74494],[-13.95617,28.76659],[-13.82902,28.76643],[-13.82896,28.78798],[-13.80007,28.78793],[-13.8013,28.71899],[-13.82757,28.71935],[-13.82786,28.6518],[-13.80258,28.6519],[-13.80339,28.53842],[-13.82885,28.53847],[-13.83151,28.39702],[-13.91582,28.22414],[-13.98564,28.22357],[-14.03696,28.17958],[-14.13871,28.17999],[-14.13866,28.15791],[-14.21537,28.15781],[-14.21472,28.11189],[-14.29132,28.04524],[-14.33197,28.03687],[-14.44578,28.04698],[-14.44666,28.0658],[-14.49628,28.06826],[-14.49593,28.04585],[-14.52156,28.04678]],[[-13.80066,28.84566],[-13.80093,28.82311],[-13.77569,28.82305],[-13.69729,28.88982],[-13.69729,28.91277],[-13.60725,28.9118],[-13.43886,29.00024],[-13.43746,29.13513],[-13.4117,29.13499],[-13.41056,29.22298],[-13.45928,29.25559],[-13.45974,29.2942],[-13.50913,29.29456],[-13.51006,29.31635],[-13.56354,29.31729],[-13.56406,29.27138],[-13.53892,29.2712],[-13.53897,29.25004],[-13.56613,29.25013],[-13.5666,29.203],[-13.51565,29.20223],[-13.51565,29.18206],[-13.5398,29.18278],[-13.54089,29.13753],[-13.65782,29.13685],[-13.71322,29.09351],[-13.76634,29.09345],[-13.85025,29.01659],[-13.85182,28.98343],[-13.85244,28.91486],[-13.90131,28.89245],[-13.9024,28.84698],[-13.80066,28.84566]],[[1.64799,38.99907],[1.73217,38.99936],[1.73147,39.04417],[1.64895,39.04319],[1.64816,39.12764],[1.39486,39.12657],[1.39544,39.08642],[1.22811,39.08526],[1.22911,39.0029],[1.14487,39.0018],[1.14528,38.832],[1.31136,38.83316],[1.31219,38.79065],[1.39469,38.79162],[1.39519,38.75296],[1.31128,38.75193],[1.31259,38.62388],[1.6489,38.62511],[1.64807,38.71115],[1.58456,38.71012],[1.58116,38.70054],[1.54915,38.70028],[1.51972,38.70921],[1.50355,38.72532],[1.48133,38.91551],[1.55189,38.92544],[1.56673,38.95666],[1.64874,38.95833],[1.64799,38.99907]],[[2.54507,39.41667],[2.43933,39.41611],[2.43871,39.48469],[2.43902,39.49934],[2.31223,39.49934],[2.31192,39.54179],[2.22907,39.541],[2.22835,39.62606],[2.34601,39.62709],[2.92704,39.96016],[3.14566,39.96005],[3.14608,40.00198],[3.23139,40.00198],[3.23129,39.83292],[3.14823,39.83316],[3.14844,39.79357],[3.48148,39.79318],[3.48035,39.5959],[3.31506,39.47846],[3.31462,39.37855],[3.08302,39.24994],[2.97986,39.25015],[2.97904,39.3335],[2.72874,39.33342],[2.72885,39.45814],[2.64569,39.45774],[2.64538,39.49966],[2.54528,39.49942],[2.54507,39.41667]],[[3.81204,40.04344],[3.72908,40.0438],[3.72862,39.95842],[3.81266,39.9576],[3.81228,39.91644],[3.9609,39.91598],[4.19381,39.79131],[4.31503,39.79058],[4.31599,39.83293],[4.39874,39.83204],[4.39737,39.91858],[4.3158,39.91933],[4.31619,40.0434],[4.2319,40.04436],[4.23248,40.08478],[4.14915,40.08611],[4.14906,40.12552],[4.0628,40.12722],[4.06242,40.08499],[3.81287,40.08529],[3.81204,40.04344]],[[-8.89106,41.82289],[-9.1092,42.57511],[-9.03655,42.73066],[-9.08834,42.72696],[-9.14661,42.77503],[-9.21855,42.90163],[-9.2761,42.86051],[-9.30991,42.93113],[-9.27898,42.9822],[-9.30991,43.06004],[-9.25236,43.10417],[-9.2315,43.17032],[-9.14733,43.21018],[-9.06748,43.19916],[-9.03367,43.24267],[-8.99842,43.24477],[-8.99986,43.29558],[-8.93727,43.30553],[-8.92936,43.32699],[-8.8639,43.32908],[-8.87613,43.37407],[-8.82217,43.37354],[-8.78548,43.31914],[-8.70635,43.305],[-8.60996,43.3296],[-8.55097,43.32332],[-8.52435,43.3364],[-8.52507,43.36465],[-8.45745,43.39184],[-8.36105,43.41118],[-8.36033,43.46342],[-8.33444,43.57974],[-8.27761,43.57088],[-8.06467,43.72392],[-7.99921,43.7234],[-7.9172,43.78264],[-7.85605,43.79146],[-7.83591,43.73743],[-7.66284,43.80982],[-7.31889,43.67827],[-7.19975,43.58308],[-6.24882,43.6075],[-6.12293,43.57901],[-5.85204,43.6799],[-5.60363,43.57087],[-5.28553,43.56191],[-5.17875,43.49916],[-4.90899,43.48367],[-4.61562,43.4192],[-4.18399,43.42492],[-3.80295,43.51954],[-3.74,43.48693],[-3.56128,43.54236],[-3.1083,43.38163],[-2.93857,43.46246],[-2.74524,43.47551],[-2.30462,43.31706],[-1.9854,43.3563],[-1.85528,43.39725],[-1.7698,43.39644],[-1.77005,43.37605],[-1.71005,43.37569],[-1.71135,43.33125],[-1.72259,43.31318],[-1.68904,43.31291],[-1.68811,43.33413],[-1.64467,43.33372],[-1.64498,43.31332],[-1.60299,43.31295],[-1.60344,43.29266],[-1.56359,43.29212],[-1.56305,43.31338],[-1.47799,43.31284],[-1.36677,43.27614],[-1.35688,43.23815],[-1.37037,43.1713],[-1.44231,43.08336],[-1.41983,43.06036],[-1.37307,43.05117],[-1.36407,43.11159],[-1.30203,43.13522],[-1.23549,43.13325],[-1.27955,43.07744],[-1.19232,43.06496],[-1.00619,43.00778],[-0.94234,42.9749],[-0.7562,42.98213],[-0.71484,42.96108],[-0.69685,42.90314],[-0.55118,42.82207],[-0.50442,42.84845],[-0.42889,42.82009],[-0.31648,42.86558],[-0.14563,42.81086],[-0.03143,42.71249],[0.18618,42.7541],[0.30218,42.71777],[0.36422,42.74287],[0.44875,42.71447],[0.62769,42.7224],[0.64118,42.85767],[0.71492,42.88272],[0.9676,42.81811],[1.10878,42.79898],[1.17532,42.73429],[1.36326,42.74155],[1.41137,42.70939],[1.48061,42.71034],[1.4813,42.50107],[1.64436,42.50203],[1.64328,42.54245],[1.73041,42.54342],[1.73164,42.50118],[2.06386,42.50164],[2.06456,42.45902],[2.39693,42.45994],[2.39768,42.41784],[2.48048,42.41797],[2.48098,42.37594],[2.64479,42.37626],[2.64448,42.45924],[2.81133,42.45961],[2.81126,42.50104],[3.06388,42.50085],[3.06388,42.45915],[3.23078,42.45934],[3.23049,42.37644],[3.31415,42.37604],[3.31412,42.33399],[3.39785,42.33404],[3.39739,42.29009],[3.31389,42.29084],[3.31397,42.20702],[3.14759,42.2073],[3.14759,42.12606],[3.23055,42.126],[3.24668,41.95294],[3.19452,41.85589],[3.06054,41.76474],[2.78358,41.63718],[2.26293,41.42716],[2.16492,41.29893],[1.86008,41.22322],[1.3763,41.11627],[1.17937,41.04646],[1.08585,41.04849],[0.75854,40.81956],[0.9114,40.73376],[0.87813,40.67514],[0.66502,40.53587],[0.55801,40.55022],[0.43392,40.37576],[0.26756,40.19192],[0.16415,40.06472],[0.07513,40.01447],[0.01039,39.89522],[-0.09392,39.81169],[-0.18474,39.63117],[-0.29085,39.50363],[-0.28636,39.33343],[-0.18564,39.17746],[-0.21352,39.15585],[-0.11101,38.97222],[0.00949,38.88268],[0.12189,38.87218],[0.23429,38.79864],[0.25587,38.72642],[0.09581,38.61338],[-0.0022,38.60706],[-0.05705,38.52691],[-0.27197,38.47624],[-0.37987,38.39312],[-0.38347,38.33813],[-0.45091,38.33108],[-0.50487,38.28309],[-0.48238,38.19481],[-0.42933,38.16583],[-0.45451,38.14886],[-0.584,38.17219],[-0.61367,38.11986],[-0.63705,37.96122],[-0.68111,37.94562],[-0.73237,37.88107],[-0.72158,37.78306],[-0.68831,37.734],[-0.66415,37.62315],[-0.71939,37.58784],[-0.91963,37.53758],[-1.11071,37.51641],[-1.33832,37.52867],[-1.44089,37.39037],[-1.6767,37.27652],[-1.85408,36.91229],[-2.06835,36.69291],[-2.21588,36.66192],[-2.37219,36.78018],[-2.68129,36.65911],[-2.92015,36.66756],[-3.09402,36.71263],[-3.46108,36.65488],[-3.72804,36.69291],[-4.37435,36.66333],[-4.65712,36.44042],[-4.9188,36.45313],[-5.16995,36.35135],[-5.28411,36.19702],[-5.26809,36.12418],[-5.35248,36.12247],[-5.35161,36.04014],[-5.43658,36.03889],[-5.43532,36.00344],[-5.68886,36.00365],[-5.68996,36.04053],[-5.85506,36.03856],[-5.85668,36.12421],[-5.93848,36.12215],[-5.94003,36.16556],[-5.99834,36.1645],[-6.03573,36.1781],[-6.07752,36.22241],[-6.15061,36.28646],[-6.23154,36.37701],[-6.33585,36.53106],[-6.32146,36.58163],[-6.40419,36.6235],[-6.47433,36.74897],[-6.41588,36.79939],[-6.49052,36.91738],[-6.62989,37.0194],[-6.87448,37.10838],[-7.04264,37.18507],[-7.26474,37.18435],[-7.37535,37.15354],[-7.40832,37.16822],[-7.42029,37.21183],[-7.42492,37.23505],[-7.43805,37.2452],[-7.44597,37.33261],[-7.4481,37.39094],[-7.46963,37.40758],[-7.4647,37.45305],[-7.50197,37.51641],[-7.51916,37.52292],[-7.52196,37.57237],[-7.45013,37.66958],[-7.4249,37.75992],[-7.31666,37.83997],[-7.26833,37.98895],[-7.15368,38.01552],[-7.11771,38.05536],[-7.0143,38.02438],[-6.99632,38.10756],[-6.96147,38.20125],[-7.08062,38.15708],[-7.34027,38.44024],[-7.26383,38.73807],[-7.04352,38.87297],[-7.06151,38.90796],[-6.96934,39.01983],[-7.00081,39.08879],[-7.15368,39.09577],[-7.15255,39.16029],[-7.24472,39.19689],[-7.25596,39.28133],[-7.33689,39.35351],[-7.3279,39.45599],[-7.51449,39.58865],[-7.55271,39.67954],[-7.05027,39.67522],[-6.99519,39.81954],[-6.92213,39.87909],[-6.88616,40.02299],[-7.04128,40.13479],[-7.01767,40.26615],[-6.8086,40.34501],[-6.86818,40.44516],[-6.85356,40.60664],[-6.83783,40.87576],[-6.9536,41.03704],[-6.80186,41.03959],[-6.76814,41.13871],[-6.64112,41.26556],[-6.56244,41.26303],[-6.21737,41.5791],[-6.31628,41.64465],[-6.51523,41.64129],[-6.58717,41.68832],[-6.54783,41.85597],[-6.62988,41.91121],[-7.13345,41.94048],[-7.16829,41.87188],[-7.42569,41.78477],[-7.95398,41.84593],[-8.13045,41.78058],[-8.25185,41.90786],[-8.12933,42.03488],[-8.24848,42.1008],[-8.36762,42.05575],[-8.60704,42.03405],[-8.89106,41.82289]]]},{id:"Chorzow-buildings",name:"Chorzów: Buildings",type:"wms",template:"http://e-odgik.chorzow.eu/services/wms/wms_funkcje_bud/MapServer/WMSServer?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=3,2,1,8,7,6&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[18.94562,50.31836],[18.94349,50.32385],[18.95466,50.32599],[18.96426,50.33307],[18.96521,50.33777],[18.98692,50.33621],[18.98468,50.32501],[18.99777,50.32204],[18.99686,50.31716],[18.98774,50.31736],[18.98695,50.30989],[18.99736,50.30031],[18.99744,50.29722],[19.00546,50.29548],[19.0073,50.28342],[19.00574,50.27871],[18.99236,50.27091],[18.96792,50.28661],[18.96215,50.27972],[18.96169,50.27337],[18.95824,50.27291],[18.95492,50.26193],[18.96014,50.24927],[18.95672,50.2452],[18.95555,50.23891],[18.94132,50.243],[18.93475,50.25314],[18.93324,50.26032],[18.93262,50.26588],[18.9296,50.26774],[18.92976,50.27131],[18.92669,50.27289],[18.92632,50.27623],[18.93071,50.27619],[18.93437,50.28729],[18.92383,50.29533],[18.92635,50.29986],[18.91905,50.30212],[18.91955,50.30576],[18.92463,50.31192],[18.9262,50.31883],[18.94562,50.31836]]],terms_text:"Urząd Miasta Chorzowa"},{id:"South_Africa-CapeTown-Aerial-2013",name:"City of Cape Town 2013 Aerial",type:"tms",template:"https://{switch:a,b,c}.coct.aerial.openstreetmap.org.za/layer/za_coct_aerial_2013/{zoom}/{x}/{y}.jpg",endDate:"2015-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[1,21],polygon:[[[18.44866,-33.89362],[18.44859,-33.90264],[18.4702,-33.90277],[18.48139,-33.84724],[18.44925,-33.80107],[18.42815,-33.73564],[18.43914,-33.71772],[18.40719,-33.65899],[18.33224,-33.57752],[18.33245,-33.55045],[18.354,-33.55059],[18.35425,-33.5236],[18.36524,-33.52366],[18.36503,-33.5148],[18.37601,-33.51477],[18.37605,-33.5058],[18.42966,-33.50594],[18.4297,-33.48785],[18.44049,-33.48789],[18.4406,-33.46988],[18.49437,-33.4701],[18.49433,-33.47916],[18.51583,-33.47917],[18.51574,-33.48819],[18.52647,-33.4883],[18.52632,-33.52435],[18.54793,-33.52443],[18.54795,-33.51539],[18.56937,-33.5155],[18.56937,-33.52448],[18.58012,-33.52453],[18.58007,-33.5426],[18.59078,-33.5426],[18.59074,-33.56064],[18.57995,-33.56053],[18.57988,-33.56962],[18.5907,-33.56962],[18.59065,-33.57868],[18.62301,-33.57873],[18.62292,-33.58773],[18.66597,-33.58789],[18.66593,-33.61493],[18.67672,-33.61497],[18.67658,-33.65103],[18.6873,-33.65102],[18.68734,-33.66004],[18.69807,-33.66009],[18.69807,-33.66907],[18.75204,-33.66925],[18.75208,-33.64219],[18.77364,-33.64225],[18.77371,-33.63319],[18.82746,-33.6333],[18.82752,-33.6603],[18.81667,-33.66029],[18.8166,-33.67832],[18.80581,-33.67831],[18.80581,-33.70539],[18.8274,-33.70544],[18.82733,-33.72347],[18.83812,-33.72343],[18.83804,-33.74139],[18.81652,-33.74137],[18.81637,-33.79551],[18.80559,-33.79551],[18.80551,-33.81357],[18.79476,-33.81355],[18.79472,-33.83154],[18.77311,-33.83152],[18.77313,-33.84052],[18.76236,-33.84052],[18.76227,-33.90359],[18.75146,-33.90352],[18.75108,-33.98478],[18.76191,-33.9848],[18.76178,-34.02988],[18.7726,-34.0299],[18.77258,-34.03891],[18.79403,-34.03894],[18.79388,-34.0407],[18.79845,-34.04119],[18.80324,-34.04118],[18.80341,-34.03892],[18.81594,-34.03897],[18.81634,-34.02993],[18.83798,-34.03165],[18.838,-34.03],[18.84842,-34.03001],[18.84847,-34.02185],[18.85993,-34.02347],[18.85986,-34.02101],[18.86827,-34.02208],[18.86819,-34.02117],[18.88546,-34.02343],[18.88518,-34.02132],[18.90252,-34.02103],[18.90258,-34.012],[18.91342,-34.012],[18.91348,-33.99396],[18.94588,-33.99403],[18.94586,-34.0031],[18.96743,-34.003],[18.96747,-34.01208],[18.97822,-34.01208],[18.97833,-34.02114],[18.98914,-34.02114],[18.98916,-34.03913],[19.00002,-34.03913],[19.00002,-34.05718],[19.01084,-34.05725],[19.01079,-34.08414],[19,-34.08413],[19.00002,-34.0932],[18.98915,-34.09317],[18.98918,-34.1022],[18.97832,-34.10218],[18.97832,-34.11123],[18.9675,-34.11121],[18.96749,-34.12925],[18.9566,-34.12924],[18.95656,-34.13824],[18.96742,-34.13831],[18.96742,-34.14732],[18.98918,-34.1473],[18.98918,-34.1653],[18.97827,-34.16529],[18.97832,-34.17429],[18.96742,-34.17427],[18.96746,-34.1833],[18.95656,-34.18332],[18.95656,-34.19236],[18.94574,-34.19232],[18.9457,-34.20132],[18.93487,-34.20137],[18.93489,-34.21933],[18.90236,-34.21935],[18.90176,-34.23626],[18.88784,-34.23735],[18.88942,-34.25541],[18.88059,-34.25534],[18.87927,-34.26443],[18.86969,-34.26441],[18.86971,-34.27344],[18.83714,-34.27342],[18.83712,-34.26438],[18.84802,-34.2644],[18.84803,-34.23739],[18.81549,-34.21028],[18.81565,-34.17413],[18.85488,-34.15627],[18.76176,-34.08405],[18.65337,-34.07748],[18.47974,-34.11012],[18.44637,-34.13423],[18.44445,-34.16409],[18.436,-34.16405],[18.43597,-34.18202],[18.44681,-34.18211],[18.44673,-34.19111],[18.46593,-34.19121],[18.48662,-34.24539],[18.47889,-34.25437],[18.486,-34.25437],[18.46771,-34.29941],[18.48922,-34.34458],[18.50011,-34.34458],[18.49992,-34.36262],[18.46743,-34.36251],[18.46737,-34.35349],[18.3916,-34.31707],[18.39177,-34.29002],[18.37016,-34.28087],[18.37068,-34.21789],[18.34923,-34.18162],[18.32747,-34.18149],[18.32767,-34.16346],[18.31187,-34.15438],[18.3114,-34.14353],[18.32367,-34.13469],[18.34993,-34.10421],[18.33932,-34.08828],[18.36125,-34.05972],[18.35505,-34.05538],[18.34275,-34.06433],[18.32,-34.06443],[18.29607,-34.04513],[18.30682,-34.02526],[18.32877,-34.0192],[18.32892,-34.00125],[18.33974,-34.00127],[18.3398,-33.98663],[18.36287,-33.97351],[18.36381,-33.92925],[18.37262,-33.92927],[18.37284,-33.91776],[18.39773,-33.89335],[18.44866,-33.89362]]],terms_url:"https://www.capetown.gov.za",terms_text:"City of Cape Town Aerial - OPENSTREETMAP USE ONLY",description:"OpenStreetMap use only. City of Cape Town Aerial ortho-photography of the municipal area. 12cm ground sample distance"},{id:"South_Africa-CapeTown-Aerial",name:"City of Cape Town 2015 Aerial",type:"tms",template:"https://{switch:a,b,c}.coct.aerial.openstreetmap.org.za/layer/za_coct_aerial_2015/{zoom}/{x}/{y}.jpg",endDate:"2016-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[1,21],polygon:[[[18.44866,-33.89362],[18.44859,-33.90264],[18.4702,-33.90277],[18.48139,-33.84724],[18.44925,-33.80107],[18.42815,-33.73564],[18.43914,-33.71772],[18.40719,-33.65899],[18.33224,-33.57752],[18.33245,-33.55045],[18.354,-33.55059],[18.35425,-33.5236],[18.36524,-33.52366],[18.36503,-33.5148],[18.37601,-33.51477],[18.37605,-33.5058],[18.42966,-33.50594],[18.4297,-33.48785],[18.44049,-33.48789],[18.4406,-33.46988],[18.49437,-33.4701],[18.49433,-33.47916],[18.51583,-33.47917],[18.51574,-33.48819],[18.52647,-33.4883],[18.52632,-33.52435],[18.54793,-33.52443],[18.54795,-33.51539],[18.56937,-33.5155],[18.56937,-33.52448],[18.58012,-33.52453],[18.58007,-33.5426],[18.59078,-33.5426],[18.59074,-33.56064],[18.57995,-33.56053],[18.57988,-33.56962],[18.5907,-33.56962],[18.59065,-33.57868],[18.62301,-33.57873],[18.62292,-33.58773],[18.66597,-33.58789],[18.66593,-33.61493],[18.67672,-33.61497],[18.67658,-33.65103],[18.6873,-33.65102],[18.68734,-33.66004],[18.69807,-33.66009],[18.69807,-33.66907],[18.75204,-33.66925],[18.75208,-33.64219],[18.77364,-33.64225],[18.77371,-33.63319],[18.82746,-33.6333],[18.82752,-33.6603],[18.81667,-33.66029],[18.8166,-33.67832],[18.80581,-33.67831],[18.80581,-33.70539],[18.8274,-33.70544],[18.82733,-33.72347],[18.83812,-33.72343],[18.83804,-33.74139],[18.81652,-33.74137],[18.81637,-33.79551],[18.80559,-33.79551],[18.80551,-33.81357],[18.79476,-33.81355],[18.79472,-33.83154],[18.77311,-33.83152],[18.77313,-33.84052],[18.76236,-33.84052],[18.76227,-33.90359],[18.75146,-33.90352],[18.75108,-33.98478],[18.76191,-33.9848],[18.76178,-34.02988],[18.7726,-34.0299],[18.77258,-34.03891],[18.79403,-34.03894],[18.79388,-34.0407],[18.79845,-34.04119],[18.80324,-34.04118],[18.80341,-34.03892],[18.81594,-34.03897],[18.81634,-34.02993],[18.83798,-34.03165],[18.838,-34.03],[18.84842,-34.03001],[18.84847,-34.02185],[18.85993,-34.02347],[18.85986,-34.02101],[18.86827,-34.02208],[18.86819,-34.02117],[18.88546,-34.02343],[18.88518,-34.02132],[18.90252,-34.02103],[18.90258,-34.012],[18.91342,-34.012],[18.91348,-33.99396],[18.94588,-33.99403],[18.94586,-34.0031],[18.96743,-34.003],[18.96747,-34.01208],[18.97822,-34.01208],[18.97833,-34.02114],[18.98914,-34.02114],[18.98916,-34.03913],[19.00002,-34.03913],[19.00002,-34.05718],[19.01084,-34.05725],[19.01079,-34.08414],[19,-34.08413],[19.00002,-34.0932],[18.98915,-34.09317],[18.98918,-34.1022],[18.97832,-34.10218],[18.97832,-34.11123],[18.9675,-34.11121],[18.96749,-34.12925],[18.9566,-34.12924],[18.95656,-34.13824],[18.96742,-34.13831],[18.96742,-34.14732],[18.98918,-34.1473],[18.98918,-34.1653],[18.97827,-34.16529],[18.97832,-34.17429],[18.96742,-34.17427],[18.96746,-34.1833],[18.95656,-34.18332],[18.95656,-34.19236],[18.94574,-34.19232],[18.9457,-34.20132],[18.93487,-34.20137],[18.93489,-34.21933],[18.90236,-34.21935],[18.90176,-34.23626],[18.88784,-34.23735],[18.88942,-34.25541],[18.88059,-34.25534],[18.87927,-34.26443],[18.86969,-34.26441],[18.86971,-34.27344],[18.83714,-34.27342],[18.83712,-34.26438],[18.84802,-34.2644],[18.84803,-34.23739],[18.81549,-34.21028],[18.81565,-34.17413],[18.85488,-34.15627],[18.76176,-34.08405],[18.65337,-34.07748],[18.47974,-34.11012],[18.44637,-34.13423],[18.44445,-34.16409],[18.436,-34.16405],[18.43597,-34.18202],[18.44681,-34.18211],[18.44673,-34.19111],[18.46593,-34.19121],[18.48662,-34.24539],[18.47889,-34.25437],[18.486,-34.25437],[18.46771,-34.29941],[18.48922,-34.34458],[18.50011,-34.34458],[18.49992,-34.36262],[18.46743,-34.36251],[18.46737,-34.35349],[18.3916,-34.31707],[18.39177,-34.29002],[18.37016,-34.28087],[18.37068,-34.21789],[18.34923,-34.18162],[18.32747,-34.18149],[18.32767,-34.16346],[18.31187,-34.15438],[18.3114,-34.14353],[18.32367,-34.13469],[18.34993,-34.10421],[18.33932,-34.08828],[18.36125,-34.05972],[18.35505,-34.05538],[18.34275,-34.06433],[18.32,-34.06443],[18.29607,-34.04513],[18.30682,-34.02526],[18.32877,-34.0192],[18.32892,-34.00125],[18.33974,-34.00127],[18.3398,-33.98663],[18.36287,-33.97351],[18.36381,-33.92925],[18.37262,-33.92927],[18.37284,-33.91776],[18.39773,-33.89335],[18.44866,-33.89362]]],terms_url:"https://www.capetown.gov.za",terms_text:"City of Cape Town Aerial - OPENSTREETMAP USE ONLY",best:true,description:"OpenStreetMap use only. City of Cape Town Aerial ortho-photography of the municipal area. 8cm ground sample distance"},{id:"City_of_Melbourne_May_2018",name:"City of Melbourne",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/v4/openstreetmapau.gdbhzo3g/{zoom}/{x}/{y}.jpg?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcGF1IiwiYSI6ImNqbWl3bXZ6aDA0MTkzd21xdnV1d2k0azEifQ.HYkMOqH_E2fYd1b0oXRe6w",endDate:"2018-05-01T00:00:00.000Z",startDate:"2018-05-01T00:00:00.000Z",zoomExtent:[10,22],polygon:[[[144.9146,-37.79929],[144.9139,-37.79888],[144.91276,-37.79858],[144.91138,-37.79876],[144.90975,-37.79976],[144.90604,-37.80641],[144.90428,-37.81261],[144.9042,-37.81421],[144.90561,-37.82089],[144.90426,-37.82245],[144.89902,-37.82728],[144.89686,-37.83007],[144.89598,-37.83355],[144.89602,-37.83873],[144.89703,-37.84192],[144.90113,-37.84692],[144.9052,-37.85019],[144.90684,-37.85056],[144.90802,-37.8502],[144.9084,-37.84948],[144.90701,-37.84771],[144.90763,-37.84693],[144.90448,-37.84165],[144.90529,-37.84139],[144.90806,-37.8458],[144.91181,-37.8502],[144.91274,-37.85039],[144.91548,-37.84892],[144.91553,-37.84814],[144.91396,-37.84594],[144.91619,-37.84451],[144.91396,-37.84131],[144.91634,-37.83985],[144.91651,-37.83841],[144.91508,-37.83441],[144.91829,-37.83307],[144.91947,-37.83258],[144.92102,-37.83087],[144.92186,-37.83002],[144.92297,-37.8295],[144.92937,-37.82816],[144.93529,-37.82702],[144.94112,-37.82692],[144.94181,-37.82679],[144.94585,-37.8275],[144.94707,-37.82794],[144.94784,-37.82779],[144.95786,-37.82953],[144.95921,-37.82941],[144.9613,-37.82902],[144.96254,-37.82972],[144.96477,-37.83184],[144.96565,-37.83229],[144.96621,-37.83231],[144.97033,-37.83121],[144.97052,-37.83228],[144.97106,-37.83307],[144.97346,-37.83507],[144.97428,-37.83595],[144.97943,-37.85002],[144.97968,-37.85081],[144.98061,-37.85117],[144.98425,-37.85151],[144.98483,-37.85139],[144.98537,-37.85085],[144.98923,-37.83109],[144.98891,-37.83038],[144.99226,-37.81041],[144.99243,-37.80983],[144.99187,-37.80895],[144.97449,-37.80714],[144.97683,-37.79327],[144.97674,-37.7928],[144.97642,-37.79232],[144.97589,-37.79219],[144.96977,-37.79146],[144.97076,-37.78566],[144.97041,-37.785],[144.9699,-37.78477],[144.96488,-37.7842],[144.96511,-37.78252],[144.96507,-37.78198],[144.96421,-37.78142],[144.96398,-37.78082],[144.96389,-37.77964],[144.96355,-37.7785],[144.96267,-37.77779],[144.96136,-37.77724],[144.93919,-37.77456],[144.93836,-37.77458],[144.93801,-37.77485],[144.93728,-37.77601],[144.93658,-37.77692],[144.93613,-37.77728],[144.93598,-37.77791],[144.93778,-37.78142],[144.93827,-37.78421],[144.93911,-37.78654],[144.93885,-37.78672],[144.93881,-37.7873],[144.93773,-37.78801],[144.93216,-37.7874],[144.93123,-37.78783],[144.93076,-37.78786],[144.93003,-37.78735],[144.92181,-37.78642],[144.91488,-37.77938],[144.91428,-37.77865],[144.9137,-37.77853],[144.91293,-37.77855],[144.90819,-37.78135],[144.90722,-37.78206],[144.90572,-37.7845],[144.90529,-37.78637],[144.90428,-37.78657],[144.90375,-37.78718],[144.90319,-37.78827],[144.90201,-37.78883],[144.90143,-37.78964],[144.90188,-37.79103],[144.90257,-37.79198],[144.90415,-37.79288],[144.90645,-37.79383],[144.90814,-37.79456],[144.91046,-37.79519],[144.9127,-37.79605],[144.91429,-37.79695],[144.91525,-37.79783],[144.91539,-37.79815],[144.91531,-37.79848],[144.91518,-37.79872],[144.9148,-37.79914],[144.9146,-37.79929]]],terms_url:"https://data.melbourne.vic.gov.au/Property-Planning/2018-Aerial-Imagery-True-Ortho-/qa5h-sfgh",terms_text:"City of Melbourne",best:true,icon:"https://www.melbourne.vic.gov.au/_catalogs/masterpage/android-icon.png"},{id:"Zuerich-aerial_2011",name:"City of Zürich Orthophoto 2011",type:"wms",template:"https://www.gis.stadt-zuerich.ch/maps/services/wms/WMS-ZH-STZH-OGD/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Luftbild_2011&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[8.44624,47.44143],[8.63178,47.43968],[8.62895,47.31377],[8.44381,47.31555],[8.44624,47.44143]]],terms_text:"Stadt Zürich Open Government Data"},{id:"Zuerich-overview",name:"City of Zürich Overview map (Steets, buildings, house numbers)",type:"wms",template:"https://www.gis.stadt-zuerich.ch/maps/services/wms/WMS-ZH-STZH-OGD/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Uebersichtsplan&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,21],polygon:[[[8.45788,47.44582],[8.57392,47.44477],[8.57362,47.43124],[8.60266,47.43096],[8.6023,47.41746],[8.6318,47.41716],[8.6295,47.33628],[8.57162,47.33678],[8.57152,47.32292],[8.54236,47.3236],[8.54212,47.31013],[8.48418,47.31062],[8.48478,47.33762],[8.45582,47.33787],[8.45609,47.35135],[8.42713,47.35161],[8.42864,47.43259],[8.45745,47.43231],[8.45788,47.44582]]],terms_text:"Stadt Zürich Open Government Data"},{id:"Czech_CUZK-KM",name:"Czech CUZK:KM",type:"wms",template:"https://wms.cuzk.cz/wms.asp?service=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS={proj}&LAYERS=parcelni_cisla_i,obrazy_parcel_i,RST_KMD_I,hranice_parcel_i,DEF_BUDOVY,RST_KN_I,dalsi_p_mapy_i,prehledka_kat_prac,prehledka_kat_uz,prehledka_kraju-linie&FORMAT=image/png&transparent=TRUE&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[15.00637,49.01774],[15.15599,49.00138],[15.1909,48.94246],[15.31059,48.98829],[15.40535,48.9752],[15.54,48.91624],[15.71456,48.86706],[15.83425,48.88018],[15.9689,48.81782],[16.0886,48.74553],[16.39781,48.74553],[16.48758,48.81454],[16.6721,48.7784],[16.68208,48.73566],[16.90152,48.71263],[16.9464,48.6237],[17.11597,48.83752],[17.21072,48.88018],[17.40523,48.81782],[17.48004,48.85393],[17.52991,48.81782],[17.70446,48.86706],[17.81418,48.9359],[17.884,48.9359],[17.94385,49.02101],[18.06354,49.03409],[18.1184,49.09944],[18.1982,49.30473],[18.38771,49.33399],[18.57723,49.50917],[18.75677,49.49946],[18.84654,49.52536],[18.87646,49.57066],[18.79666,49.69341],[18.64206,49.70954],[18.5872,49.83515],[18.61214,49.88338],[18.56226,49.93477],[18.51239,49.90587],[18.36277,49.95403],[18.32786,49.92193],[18.26303,49.97328],[18.1184,50.00534],[18.06354,50.07581],[17.91392,49.97969],[17.77927,50.03098],[17.71444,50.12379],[17.60472,50.16534],[17.75932,50.21962],[17.73438,50.34391],[17.63963,50.28021],[17.38029,50.28021],[17.35037,50.34391],[17.28055,50.33754],[17.18579,50.40752],[16.90152,50.46152],[16.86661,50.41388],[16.96635,50.31844],[17.03617,50.23238],[16.83668,50.21962],[16.712,50.1046],[16.58233,50.15895],[16.56238,50.23876],[16.43272,50.33754],[16.35292,50.39163],[16.27811,50.39163],[16.20829,50.44565],[16.39781,50.53449],[16.44768,50.59785],[16.35292,50.6706],[16.23821,50.67692],[16.21827,50.63266],[16.1285,50.68324],[16.0487,50.60734],[15.98885,50.7022],[15.87415,50.68324],[15.82926,50.76533],[15.72952,50.74324],[15.45023,50.81577],[15.39039,50.77479],[15.38041,50.85987],[15.29563,50.88504],[15.29563,50.98876],[15.17095,51.02014],[14.99141,51.00131],[15.00637,50.88819],[14.84179,50.8756],[14.7969,50.82522],[14.63233,50.85672],[14.66225,50.93536],[14.57248,50.92278],[14.61238,50.98562],[14.49767,51.04837],[14.41788,51.02328],[14.30816,51.06717],[14.2533,51.00445],[14.40291,50.93221],[14.37299,50.89763],[14.24332,50.90706],[14.20841,50.84412],[14.03386,50.81262],[13.979,50.82522],[13.90419,50.79686],[13.87427,50.74009],[13.53514,50.7243],[13.53015,50.65796],[13.4703,50.61367],[13.39051,50.66428],[13.32567,50.58835],[13.25086,50.61051],[13.196,50.50595],[13.05137,50.52181],[12.96659,50.4107],[12.82695,50.47105],[12.70227,50.41388],[12.50777,50.40116],[12.34319,50.25471],[12.32324,50.18451],[12.24843,50.27384],[12.17362,50.33118],[12.09881,50.33436],[12.11876,50.25152],[12.22349,50.16534],[12.20354,50.12379],[12.50278,49.97328],[12.47784,49.93798],[12.54766,49.91551],[12.46787,49.80298],[12.40802,49.76111],[12.48283,49.68696],[12.5327,49.68696],[12.51774,49.62885],[12.60751,49.54155],[12.67234,49.43788],[12.81199,49.34699],[12.94664,49.34374],[13.23091,49.12882],[13.32567,49.10597],[13.43539,49.0439],[13.41544,48.99484],[13.50022,48.94901],[13.56506,48.98829],[13.68475,48.88346],[13.7446,48.90313],[13.82439,48.77511],[13.8992,48.77511],[14.05879,48.67642],[14.04383,48.63029],[14.14358,48.59072],[14.37299,48.56103],[14.48271,48.65007],[14.57747,48.60721],[14.62734,48.63359],[14.70713,48.58083],[14.74703,48.70276],[14.81187,48.73895],[14.81685,48.79483],[14.98642,48.76525],[15.00637,49.01774]]],overlay:true},{id:"Czech_CUZK-KM-tms",name:"Czech CUZK:KM tiles proxy",type:"tms",template:"https://osm-{switch:a,b,c}.zby.cz/tiles_cuzk.php/{zoom}/{x}/{y}.png",zoomExtent:[13,18],polygon:[[[15.00637,49.01774],[15.15599,49.00138],[15.1909,48.94246],[15.31059,48.98829],[15.40535,48.9752],[15.54,48.91624],[15.71456,48.86706],[15.83425,48.88018],[15.9689,48.81782],[16.0886,48.74553],[16.39781,48.74553],[16.48758,48.81454],[16.6721,48.7784],[16.68208,48.73566],[16.90152,48.71263],[16.9464,48.6237],[17.11597,48.83752],[17.21072,48.88018],[17.40523,48.81782],[17.48004,48.85393],[17.52991,48.81782],[17.70446,48.86706],[17.81418,48.9359],[17.884,48.9359],[17.94385,49.02101],[18.06354,49.03409],[18.1184,49.09944],[18.1982,49.30473],[18.38771,49.33399],[18.57723,49.50917],[18.75677,49.49946],[18.84654,49.52536],[18.87646,49.57066],[18.79666,49.69341],[18.64206,49.70954],[18.5872,49.83515],[18.61214,49.88338],[18.56226,49.93477],[18.51239,49.90587],[18.36277,49.95403],[18.32786,49.92193],[18.26303,49.97328],[18.1184,50.00534],[18.06354,50.07581],[17.91392,49.97969],[17.77927,50.03098],[17.71444,50.12379],[17.60472,50.16534],[17.75932,50.21962],[17.73438,50.34391],[17.63963,50.28021],[17.38029,50.28021],[17.35037,50.34391],[17.28055,50.33754],[17.18579,50.40752],[16.90152,50.46152],[16.86661,50.41388],[16.96635,50.31844],[17.03617,50.23238],[16.83668,50.21962],[16.712,50.1046],[16.58233,50.15895],[16.56238,50.23876],[16.43272,50.33754],[16.35292,50.39163],[16.27811,50.39163],[16.20829,50.44565],[16.39781,50.53449],[16.44768,50.59785],[16.35292,50.6706],[16.23821,50.67692],[16.21827,50.63266],[16.1285,50.68324],[16.0487,50.60734],[15.98885,50.7022],[15.87415,50.68324],[15.82926,50.76533],[15.72952,50.74324],[15.45023,50.81577],[15.39039,50.77479],[15.38041,50.85987],[15.29563,50.88504],[15.29563,50.98876],[15.17095,51.02014],[14.99141,51.00131],[15.00637,50.88819],[14.84179,50.8756],[14.7969,50.82522],[14.63233,50.85672],[14.66225,50.93536],[14.57248,50.92278],[14.61238,50.98562],[14.49767,51.04837],[14.41788,51.02328],[14.30816,51.06717],[14.2533,51.00445],[14.40291,50.93221],[14.37299,50.89763],[14.24332,50.90706],[14.20841,50.84412],[14.03386,50.81262],[13.979,50.82522],[13.90419,50.79686],[13.87427,50.74009],[13.53514,50.7243],[13.53015,50.65796],[13.4703,50.61367],[13.39051,50.66428],[13.32567,50.58835],[13.25086,50.61051],[13.196,50.50595],[13.05137,50.52181],[12.96659,50.4107],[12.82695,50.47105],[12.70227,50.41388],[12.50777,50.40116],[12.34319,50.25471],[12.32324,50.18451],[12.24843,50.27384],[12.17362,50.33118],[12.09881,50.33436],[12.11876,50.25152],[12.22349,50.16534],[12.20354,50.12379],[12.50278,49.97328],[12.47784,49.93798],[12.54766,49.91551],[12.46787,49.80298],[12.40802,49.76111],[12.48283,49.68696],[12.5327,49.68696],[12.51774,49.62885],[12.60751,49.54155],[12.67234,49.43788],[12.81199,49.34699],[12.94664,49.34374],[13.23091,49.12882],[13.32567,49.10597],[13.43539,49.0439],[13.41544,48.99484],[13.50022,48.94901],[13.56506,48.98829],[13.68475,48.88346],[13.7446,48.90313],[13.82439,48.77511],[13.8992,48.77511],[14.05879,48.67642],[14.04383,48.63029],[14.14358,48.59072],[14.37299,48.56103],[14.48271,48.65007],[14.57747,48.60721],[14.62734,48.63359],[14.70713,48.58083],[14.74703,48.70276],[14.81187,48.73895],[14.81685,48.79483],[14.98642,48.76525],[15.00637,49.01774]]],overlay:true},{id:"Czech_pLPIS",name:"Czech pLPIS",type:"wms",template:"https://eagri.cz/public/app/wms/plpis.fcgi?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=LPIS_FB4,LPIS_FB4_KOD&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&TRANSPARENT=true",projection:"EPSG:4326",polygon:[[[15.00637,49.01774],[15.15599,49.00138],[15.1909,48.94246],[15.31059,48.98829],[15.40535,48.9752],[15.54,48.91624],[15.71456,48.86706],[15.83425,48.88018],[15.9689,48.81782],[16.0886,48.74553],[16.39781,48.74553],[16.48758,48.81454],[16.6721,48.7784],[16.68208,48.73566],[16.90152,48.71263],[16.9464,48.6237],[17.11597,48.83752],[17.21072,48.88018],[17.40523,48.81782],[17.48004,48.85393],[17.52991,48.81782],[17.70446,48.86706],[17.81418,48.9359],[17.884,48.9359],[17.94385,49.02101],[18.06354,49.03409],[18.1184,49.09944],[18.1982,49.30473],[18.38771,49.33399],[18.57723,49.50917],[18.75677,49.49946],[18.84654,49.52536],[18.87646,49.57066],[18.79666,49.69341],[18.64206,49.70954],[18.5872,49.83515],[18.61214,49.88338],[18.56226,49.93477],[18.51239,49.90587],[18.36277,49.95403],[18.32786,49.92193],[18.26303,49.97328],[18.1184,50.00534],[18.06354,50.07581],[17.91392,49.97969],[17.77927,50.03098],[17.71444,50.12379],[17.60472,50.16534],[17.75932,50.21962],[17.73438,50.34391],[17.63963,50.28021],[17.38029,50.28021],[17.35037,50.34391],[17.28055,50.33754],[17.18579,50.40752],[16.90152,50.46152],[16.86661,50.41388],[16.96635,50.31844],[17.03617,50.23238],[16.83668,50.21962],[16.712,50.1046],[16.58233,50.15895],[16.56238,50.23876],[16.43272,50.33754],[16.35292,50.39163],[16.27811,50.39163],[16.20829,50.44565],[16.39781,50.53449],[16.44768,50.59785],[16.35292,50.6706],[16.23821,50.67692],[16.21827,50.63266],[16.1285,50.68324],[16.0487,50.60734],[15.98885,50.7022],[15.87415,50.68324],[15.82926,50.76533],[15.72952,50.74324],[15.45023,50.81577],[15.39039,50.77479],[15.38041,50.85987],[15.29563,50.88504],[15.29563,50.98876],[15.17095,51.02014],[14.99141,51.00131],[15.00637,50.88819],[14.84179,50.8756],[14.7969,50.82522],[14.63233,50.85672],[14.66225,50.93536],[14.57248,50.92278],[14.61238,50.98562],[14.49767,51.04837],[14.41788,51.02328],[14.30816,51.06717],[14.2533,51.00445],[14.40291,50.93221],[14.37299,50.89763],[14.24332,50.90706],[14.20841,50.84412],[14.03386,50.81262],[13.979,50.82522],[13.90419,50.79686],[13.87427,50.74009],[13.53514,50.7243],[13.53015,50.65796],[13.4703,50.61367],[13.39051,50.66428],[13.32567,50.58835],[13.25086,50.61051],[13.196,50.50595],[13.05137,50.52181],[12.96659,50.4107],[12.82695,50.47105],[12.70227,50.41388],[12.50777,50.40116],[12.34319,50.25471],[12.32324,50.18451],[12.24843,50.27384],[12.17362,50.33118],[12.09881,50.33436],[12.11876,50.25152],[12.22349,50.16534],[12.20354,50.12379],[12.50278,49.97328],[12.47784,49.93798],[12.54766,49.91551],[12.46787,49.80298],[12.40802,49.76111],[12.48283,49.68696],[12.5327,49.68696],[12.51774,49.62885],[12.60751,49.54155],[12.67234,49.43788],[12.81199,49.34699],[12.94664,49.34374],[13.23091,49.12882],[13.32567,49.10597],[13.43539,49.0439],[13.41544,48.99484],[13.50022,48.94901],[13.56506,48.98829],[13.68475,48.88346],[13.7446,48.90313],[13.82439,48.77511],[13.8992,48.77511],[14.05879,48.67642],[14.04383,48.63029],[14.14358,48.59072],[14.37299,48.56103],[14.48271,48.65007],[14.57747,48.60721],[14.62734,48.63359],[14.70713,48.58083],[14.74703,48.70276],[14.81187,48.73895],[14.81685,48.79483],[14.98642,48.76525],[15.00637,49.01774]]]},{id:"Czech_RUIAN-budovy",name:"Czech RUIAN budovy",type:"tms",template:"https://tile.poloha.net/budovy/{zoom}/{x}/{y}.png",zoomExtent:[12,20],polygon:[[[15.00637,49.01774],[15.15599,49.00138],[15.1909,48.94246],[15.31059,48.98829],[15.40535,48.9752],[15.54,48.91624],[15.71456,48.86706],[15.83425,48.88018],[15.9689,48.81782],[16.0886,48.74553],[16.39781,48.74553],[16.48758,48.81454],[16.6721,48.7784],[16.68208,48.73566],[16.90152,48.71263],[16.9464,48.6237],[17.11597,48.83752],[17.21072,48.88018],[17.40523,48.81782],[17.48004,48.85393],[17.52991,48.81782],[17.70446,48.86706],[17.81418,48.9359],[17.884,48.9359],[17.94385,49.02101],[18.06354,49.03409],[18.1184,49.09944],[18.1982,49.30473],[18.38771,49.33399],[18.57723,49.50917],[18.75677,49.49946],[18.84654,49.52536],[18.87646,49.57066],[18.79666,49.69341],[18.64206,49.70954],[18.5872,49.83515],[18.61214,49.88338],[18.56226,49.93477],[18.51239,49.90587],[18.36277,49.95403],[18.32786,49.92193],[18.26303,49.97328],[18.1184,50.00534],[18.06354,50.07581],[17.91392,49.97969],[17.77927,50.03098],[17.71444,50.12379],[17.60472,50.16534],[17.75932,50.21962],[17.73438,50.34391],[17.63963,50.28021],[17.38029,50.28021],[17.35037,50.34391],[17.28055,50.33754],[17.18579,50.40752],[16.90152,50.46152],[16.86661,50.41388],[16.96635,50.31844],[17.03617,50.23238],[16.83668,50.21962],[16.712,50.1046],[16.58233,50.15895],[16.56238,50.23876],[16.43272,50.33754],[16.35292,50.39163],[16.27811,50.39163],[16.20829,50.44565],[16.39781,50.53449],[16.44768,50.59785],[16.35292,50.6706],[16.23821,50.67692],[16.21827,50.63266],[16.1285,50.68324],[16.0487,50.60734],[15.98885,50.7022],[15.87415,50.68324],[15.82926,50.76533],[15.72952,50.74324],[15.45023,50.81577],[15.39039,50.77479],[15.38041,50.85987],[15.29563,50.88504],[15.29563,50.98876],[15.17095,51.02014],[14.99141,51.00131],[15.00637,50.88819],[14.84179,50.8756],[14.7969,50.82522],[14.63233,50.85672],[14.66225,50.93536],[14.57248,50.92278],[14.61238,50.98562],[14.49767,51.04837],[14.41788,51.02328],[14.30816,51.06717],[14.2533,51.00445],[14.40291,50.93221],[14.37299,50.89763],[14.24332,50.90706],[14.20841,50.84412],[14.03386,50.81262],[13.979,50.82522],[13.90419,50.79686],[13.87427,50.74009],[13.53514,50.7243],[13.53015,50.65796],[13.4703,50.61367],[13.39051,50.66428],[13.32567,50.58835],[13.25086,50.61051],[13.196,50.50595],[13.05137,50.52181],[12.96659,50.4107],[12.82695,50.47105],[12.70227,50.41388],[12.50777,50.40116],[12.34319,50.25471],[12.32324,50.18451],[12.24843,50.27384],[12.17362,50.33118],[12.09881,50.33436],[12.11876,50.25152],[12.22349,50.16534],[12.20354,50.12379],[12.50278,49.97328],[12.47784,49.93798],[12.54766,49.91551],[12.46787,49.80298],[12.40802,49.76111],[12.48283,49.68696],[12.5327,49.68696],[12.51774,49.62885],[12.60751,49.54155],[12.67234,49.43788],[12.81199,49.34699],[12.94664,49.34374],[13.23091,49.12882],[13.32567,49.10597],[13.43539,49.0439],[13.41544,48.99484],[13.50022,48.94901],[13.56506,48.98829],[13.68475,48.88346],[13.7446,48.90313],[13.82439,48.77511],[13.8992,48.77511],[14.05879,48.67642],[14.04383,48.63029],[14.14358,48.59072],[14.37299,48.56103],[14.48271,48.65007],[14.57747,48.60721],[14.62734,48.63359],[14.70713,48.58083],[14.74703,48.70276],[14.81187,48.73895],[14.81685,48.79483],[14.98642,48.76525],[15.00637,49.01774]]],terms_url:"https://poloha.net/",terms_text:"Czech RUIAN"},{id:"Czech_RUIAN-parcely",name:"Czech RUIAN parcely",type:"tms",template:"https://tile.poloha.net/parcely/{zoom}/{x}/{y}.png",zoomExtent:[12,20],polygon:[[[15.00637,49.01774],[15.15599,49.00138],[15.1909,48.94246],[15.31059,48.98829],[15.40535,48.9752],[15.54,48.91624],[15.71456,48.86706],[15.83425,48.88018],[15.9689,48.81782],[16.0886,48.74553],[16.39781,48.74553],[16.48758,48.81454],[16.6721,48.7784],[16.68208,48.73566],[16.90152,48.71263],[16.9464,48.6237],[17.11597,48.83752],[17.21072,48.88018],[17.40523,48.81782],[17.48004,48.85393],[17.52991,48.81782],[17.70446,48.86706],[17.81418,48.9359],[17.884,48.9359],[17.94385,49.02101],[18.06354,49.03409],[18.1184,49.09944],[18.1982,49.30473],[18.38771,49.33399],[18.57723,49.50917],[18.75677,49.49946],[18.84654,49.52536],[18.87646,49.57066],[18.79666,49.69341],[18.64206,49.70954],[18.5872,49.83515],[18.61214,49.88338],[18.56226,49.93477],[18.51239,49.90587],[18.36277,49.95403],[18.32786,49.92193],[18.26303,49.97328],[18.1184,50.00534],[18.06354,50.07581],[17.91392,49.97969],[17.77927,50.03098],[17.71444,50.12379],[17.60472,50.16534],[17.75932,50.21962],[17.73438,50.34391],[17.63963,50.28021],[17.38029,50.28021],[17.35037,50.34391],[17.28055,50.33754],[17.18579,50.40752],[16.90152,50.46152],[16.86661,50.41388],[16.96635,50.31844],[17.03617,50.23238],[16.83668,50.21962],[16.712,50.1046],[16.58233,50.15895],[16.56238,50.23876],[16.43272,50.33754],[16.35292,50.39163],[16.27811,50.39163],[16.20829,50.44565],[16.39781,50.53449],[16.44768,50.59785],[16.35292,50.6706],[16.23821,50.67692],[16.21827,50.63266],[16.1285,50.68324],[16.0487,50.60734],[15.98885,50.7022],[15.87415,50.68324],[15.82926,50.76533],[15.72952,50.74324],[15.45023,50.81577],[15.39039,50.77479],[15.38041,50.85987],[15.29563,50.88504],[15.29563,50.98876],[15.17095,51.02014],[14.99141,51.00131],[15.00637,50.88819],[14.84179,50.8756],[14.7969,50.82522],[14.63233,50.85672],[14.66225,50.93536],[14.57248,50.92278],[14.61238,50.98562],[14.49767,51.04837],[14.41788,51.02328],[14.30816,51.06717],[14.2533,51.00445],[14.40291,50.93221],[14.37299,50.89763],[14.24332,50.90706],[14.20841,50.84412],[14.03386,50.81262],[13.979,50.82522],[13.90419,50.79686],[13.87427,50.74009],[13.53514,50.7243],[13.53015,50.65796],[13.4703,50.61367],[13.39051,50.66428],[13.32567,50.58835],[13.25086,50.61051],[13.196,50.50595],[13.05137,50.52181],[12.96659,50.4107],[12.82695,50.47105],[12.70227,50.41388],[12.50777,50.40116],[12.34319,50.25471],[12.32324,50.18451],[12.24843,50.27384],[12.17362,50.33118],[12.09881,50.33436],[12.11876,50.25152],[12.22349,50.16534],[12.20354,50.12379],[12.50278,49.97328],[12.47784,49.93798],[12.54766,49.91551],[12.46787,49.80298],[12.40802,49.76111],[12.48283,49.68696],[12.5327,49.68696],[12.51774,49.62885],[12.60751,49.54155],[12.67234,49.43788],[12.81199,49.34699],[12.94664,49.34374],[13.23091,49.12882],[13.32567,49.10597],[13.43539,49.0439],[13.41544,48.99484],[13.50022,48.94901],[13.56506,48.98829],[13.68475,48.88346],[13.7446,48.90313],[13.82439,48.77511],[13.8992,48.77511],[14.05879,48.67642],[14.04383,48.63029],[14.14358,48.59072],[14.37299,48.56103],[14.48271,48.65007],[14.57747,48.60721],[14.62734,48.63359],[14.70713,48.58083],[14.74703,48.70276],[14.81187,48.73895],[14.81685,48.79483],[14.98642,48.76525],[15.00637,49.01774]]],terms_url:"https://poloha.net/",terms_text:"Czech RUIAN"},{id:"Czestochowa-buildings",name:"Częstochowa: Buildings",type:"wms",template:"http://geoportal.czestochowa.um.gov.pl/isdp/scripts/isdp.dll/wms?FORMAT=image/png&transparent=true&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ieg_budynek&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[19.08183,50.8554],[19.0888,50.86563],[19.11082,50.86616],[19.10961,50.86092],[19.11709,50.85933],[19.11531,50.86283],[19.11997,50.86327],[19.1227,50.85452],[19.12938,50.85519],[19.12566,50.86165],[19.13364,50.86147],[19.14318,50.86815],[19.1498,50.87916],[19.16507,50.8794],[19.16816,50.88501],[19.17265,50.88477],[19.18346,50.87706],[19.18084,50.86562],[19.18711,50.84712],[19.19973,50.84395],[19.19637,50.83678],[19.19358,50.83357],[19.19454,50.83145],[19.20696,50.82985],[19.20838,50.82484],[19.21831,50.82571],[19.22564,50.82475],[19.23075,50.82509],[19.2308,50.82666],[19.23351,50.82683],[19.23303,50.82335],[19.21868,50.80115],[19.21753,50.79272],[19.22592,50.78822],[19.20889,50.77561],[19.19891,50.76355],[19.19521,50.75182],[19.19074,50.75211],[19.18245,50.7545],[19.16504,50.7535],[19.16417,50.75586],[19.14559,50.75805],[19.14282,50.75543],[19.13021,50.75786],[19.127,50.75314],[19.1216,50.75363],[19.12066,50.74981],[19.10348,50.75228],[19.09598,50.75201],[19.0956,50.74912],[19.09351,50.7488],[19.09285,50.75027],[19.08442,50.74986],[19.08473,50.74349],[19.08382,50.73741],[19.07878,50.73668],[19.07503,50.73465],[19.07284,50.73708],[19.07153,50.74042],[19.0685,50.74339],[19.06632,50.74233],[19.06392,50.74554],[19.06595,50.7466],[19.06548,50.7496],[19.06202,50.75041],[19.06018,50.74455],[19.04257,50.74466],[19.0333,50.74827],[19.01869,50.76252],[19.01554,50.77044],[19.01101,50.7718],[19.01353,50.77766],[19.01159,50.78077],[19.01081,50.78759],[19.01362,50.79262],[19.01972,50.79555],[19.01896,50.80703],[19.03439,50.80116],[19.03453,50.804],[19.02593,50.80731],[19.02308,50.81499],[19.03154,50.81614],[19.02909,50.82435],[19.03787,50.82584],[19.03921,50.84083],[19.04676,50.84934],[19.05993,50.8532],[19.06209,50.8596],[19.06492,50.86134],[19.08183,50.8554]]],terms_text:"Urząd Miasta Częstochowy"},{id:"DCGIS-County-Imagery-2017-Fall-Leaf-Off-6-Inch",name:"Dakota County GIS 2017 Fall Leaf-Off 6-Inch",type:"wms",template:"https://gisimg.co.dakota.mn.us/arcgis/services/AerialPhotography/2017AirPhotoLeafOff6Inch/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=2017AirPhotoLeafOff6Inch:None&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",zoomExtent:[5,20],polygon:[[[-93.32967,44.79107],[-93.32964,44.63037],[-93.28189,44.63074],[-93.28169,44.47194],[-93.28176,44.47137],[-93.0395,44.47103],[-93.03924,44.51125],[-92.91932,44.51049],[-92.91899,44.54325],[-92.79268,44.54324],[-92.7926,44.62971],[-92.73207,44.62948],[-92.73122,44.71411],[-92.80342,44.74652],[-92.82767,44.75056],[-92.85209,44.74695],[-92.85959,44.75359],[-92.87724,44.77283],[-92.88149,44.77492],[-92.9049,44.77408],[-92.92808,44.78111],[-92.93969,44.77563],[-92.94843,44.76786],[-92.95859,44.76724],[-92.98604,44.77501],[-92.99291,44.77517],[-93.00306,44.77206],[-93.01685,44.77635],[-93.02153,44.79431],[-93.00523,44.81541],[-93.0119,44.83657],[-93.00859,44.85652],[-93.01041,44.86586],[-93.02074,44.89279],[-93.0309,44.8967],[-93.04083,44.90391],[-93.04445,44.91514],[-93.04725,44.9195],[-93.04724,44.92318],[-93.12863,44.92335],[-93.12882,44.91965],[-93.13257,44.91243],[-93.1641,44.89048],[-93.18289,44.8872],[-93.20075,44.86486],[-93.20325,44.85263],[-93.22179,44.83825],[-93.25188,44.81146],[-93.28177,44.80611],[-93.30453,44.7945],[-93.32645,44.79245],[-93.32961,44.79107],[-93.32967,44.79107]]],terms_url:"https://dakotacounty.us",terms_text:"Dakota County GIS",icon:"https://www.co.dakota.mn.us//SiteAssets/DakotaCountyLogo_W.png"},{id:"Duna_2013",name:"Danube flood orthophoto 2013",type:"tms",template:"http://e.tile.openstreetmap.hu/dunai-arviz-2013/{zoom}/{x}/{y}.jpg",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[10,20],polygon:[[[19.07732,47.69597],[19.07799,47.69598],[19.09462,47.69446],[19.08056,47.59587],[19.07434,47.58909],[19.07952,47.58883],[19.07717,47.57241],[19.05779,47.57209],[19.07732,47.69597]]],terms_url:"http://fototerkep.hu",terms_text:"Fotótérkép.hu",description:"Riverbank of Danube at Budapest, Szentendre and Szigetmonostor"},{id:"Delaware2012Orthophotography",name:"Delaware 2012 Orthophotography",type:"wms",template:"https://firstmap.delaware.gov/arcgis/services/DE_Imagery/DE_Imagery_2012/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",polygon:[[[-75.01771,38.45189],[-75.74174,38.44996],[-75.807,39.73907],[-75.75559,39.80106],[-75.64692,39.85638],[-75.47115,39.84646],[-75.37726,39.81478],[-75.48746,39.67181],[-75.50901,39.43446],[-75.39327,39.27784],[-75.30707,39.01667],[-75.19317,38.82219],[-75.05341,38.80876],[-75.01771,38.45189]]],terms_url:"https://firstmap.delaware.gov/arcgis/rest/services/DE_Imagery/DE_Imagery_2012/ImageServer",terms_text:"Digital Aerial Solutions, LLC",description:"This data set consists of 0.3-meter pixel resolution (approximately 1-foot), 4-band true color and near infrared (R, G, B, IR) orthoimages covering New Castle, Kent and Sussex Counties in Delaware."},{id:"Delaware2017Orthophotography",name:"Delaware 2017 Orthophotography",type:"wms",template:"https://firstmap.delaware.gov/arcgis/services/DE_Imagery/DE_Imagery_2017/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",polygon:[[[-75.01771,38.45189],[-75.74174,38.44996],[-75.807,39.73907],[-75.75559,39.80106],[-75.64692,39.85638],[-75.47115,39.84646],[-75.37726,39.81478],[-75.48746,39.67181],[-75.50901,39.43446],[-75.39327,39.27784],[-75.30707,39.01667],[-75.19317,38.82219],[-75.05341,38.80876],[-75.01771,38.45189]]],terms_url:"https://firstmap.delaware.gov/arcgis/rest/services/DE_Imagery/DE_Imagery_2017/ImageServer",terms_text:"Digital Aerial Solutions, LLC",description:"This data set consists of 0.3-meter pixel resolution (approximately 1-foot), 4-band true color and near infrared (R, G, B, IR) orthoimages covering New Castle, Kent and Sussex Counties in Delaware."},{id:"delmiro_gouveia",name:"Delmiro Gouveia AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Delmiro%20Gouveia&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.94962,-9.42957],[-37.94834,-9.33972],[-38.03903,-9.33834],[-38.04034,-9.42846],[-37.94962,-9.42957]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"der-es",name:"DER-ES",type:"wms",template:"http://portal.der.es.gov.br/geoserver/wms?SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=deres-ext:TRECHOINFO&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-40.94577,-21.31404],[-40.6231,-20.86278],[-40.38882,-20.65177],[-40.22209,-20.29831],[-39.80383,-19.66412],[-39.69603,-19.42573],[-39.67304,-19.30437],[-39.70538,-18.61384],[-39.65292,-18.33096],[-40.22281,-17.97587],[-40.34282,-17.9198],[-40.45278,-17.91502],[-40.46499,-17.92049],[-40.48368,-17.90408],[-40.50164,-17.90681],[-40.51602,-17.88903],[-40.53326,-17.88903],[-40.54548,-17.90134],[-40.58932,-17.91502],[-40.58932,-17.93211],[-40.61519,-17.93416],[-40.62956,-17.9868],[-40.64609,-17.9868],[-40.65903,-18.00731],[-40.68777,-18.00594],[-40.70574,-18.01756],[-40.71365,-18.00184],[-40.72155,-17.99774],[-40.75102,-18.00252],[-40.76754,-17.99842],[-40.76754,-17.98133],[-40.80923,-17.94852],[-40.82432,-17.96014],[-40.83151,-17.94989],[-40.86528,-17.9827],[-40.88397,-17.96766],[-40.90912,-17.98475],[-40.77761,-18.10775],[-40.77832,-18.15146],[-40.79054,-18.15351],[-40.8351,-18.14531],[-40.89547,-18.10365],[-40.93283,-18.12755],[-40.95583,-18.1255],[-40.95296,-18.14463],[-40.96014,-18.15009],[-40.96374,-18.14326],[-40.97955,-18.13643],[-40.99248,-18.15009],[-40.99105,-18.16307],[-41.00901,-18.16307],[-41.05788,-18.1658],[-41.05788,-18.17536],[-41.09597,-18.19243],[-41.09597,-18.2054],[-41.1089,-18.21291],[-41.09812,-18.22997],[-41.10531,-18.2327],[-41.09884,-18.25591],[-41.12903,-18.27502],[-41.16137,-18.30572],[-41.15059,-18.37394],[-41.16424,-18.37939],[-41.16424,-18.4019],[-41.15059,-18.40735],[-41.15849,-18.41144],[-41.17358,-18.41144],[-41.18868,-18.44485],[-41.02123,-18.46667],[-41.04638,-18.60362],[-41.03776,-18.61452],[-41.05788,-18.62678],[-41.0471,-18.64857],[-41.03488,-18.65402],[-40.99895,-18.67716],[-40.94505,-18.69418],[-40.94433,-18.76973],[-40.92134,-18.81055],[-40.93715,-18.82347],[-40.94721,-18.82143],[-40.97092,-18.83572],[-41.08375,-18.83232],[-41.10675,-18.83572],[-41.11753,-18.80783],[-41.13118,-18.79286],[-41.23611,-18.7949],[-41.2512,-18.81667],[-41.2476,-18.85544],[-41.2203,-18.87992],[-41.20808,-18.87992],[-41.20664,-18.86632],[-41.16424,-18.867],[-41.15634,-18.88876],[-41.12903,-18.9044],[-41.12112,-18.92412],[-41.0392,-18.98665],[-41.07585,-19.00567],[-41.06507,-19.06342],[-40.96877,-19.12726],[-40.96158,-19.15102],[-40.92996,-19.206],[-40.94649,-19.22296],[-40.94793,-19.24264],[-40.92565,-19.26299],[-40.94936,-19.2786],[-40.92277,-19.31048],[-40.94361,-19.35252],[-40.93427,-19.381],[-40.95727,-19.39184],[-40.9738,-19.42641],[-40.95439,-19.46165],[-40.97883,-19.50298],[-41.01332,-19.50298],[-41.04638,-19.48333],[-41.05429,-19.48401],[-41.04135,-19.56664],[-41.09238,-19.58966],[-41.14627,-19.656],[-41.16496,-19.65871],[-41.17933,-19.6939],[-41.19658,-19.74599],[-41.16999,-19.80618],[-41.18939,-19.82375],[-41.18868,-19.88526],[-41.21239,-19.89743],[-41.22964,-19.90216],[-41.24689,-19.93324],[-41.25479,-19.92919],[-41.26988,-19.93797],[-41.30653,-19.93392],[-41.31516,-19.96972],[-41.3245,-19.97647],[-41.313,-20.01226],[-41.33672,-20.05548],[-41.34822,-20.08653],[-41.3554,-20.12094],[-41.37768,-20.15805],[-41.38702,-20.18638],[-41.41074,-20.19448],[-41.4208,-20.20257],[-41.7636,-20.2046],[-41.78516,-20.28483],[-41.85055,-20.3246],[-41.86349,-20.37513],[-41.85127,-20.38187],[-41.84337,-20.40949],[-41.80887,-20.42498],[-41.80672,-20.47211],[-41.83115,-20.47885],[-41.81103,-20.54212],[-41.83115,-20.55086],[-41.86205,-20.61814],[-41.82109,-20.64437],[-41.85343,-20.68068],[-41.87139,-20.72102],[-41.8678,-20.73849],[-41.88002,-20.73984],[-41.88289,-20.76739],[-41.85415,-20.77478],[-41.83331,-20.7983],[-41.80887,-20.80905],[-41.78444,-20.80569],[-41.75138,-20.82382],[-41.74707,-20.87487],[-41.72335,-20.87554],[-41.74132,-20.92723],[-41.72335,-20.97757],[-41.74347,-21.09763],[-41.7291,-21.12579],[-41.594,-21.16332],[-41.57244,-21.18678],[-41.49051,-21.18879],[-41.48332,-21.20085],[-41.43948,-21.22095],[-41.41289,-21.20956],[-41.34965,-21.21291],[-41.27994,-21.2464],[-41.24473,-21.23234],[-41.17718,-21.25511],[-41.09238,-21.2243],[-41.04854,-21.25913],[-41.01548,-21.25578],[-41.00254,-21.28726],[-40.94577,-21.31404]]],terms_url:"https://der.es.gov.br",terms_text:"Departamento de Estradas de Rodagem do Estado do Espírito Santo",overlay:true},{id:"db-inspire-2013-11",name:"Deutsche Bahn VzG lines January 2017",type:"wms",template:"https://wms.michreichert.de/vzg-strecken-2017?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=vzg_strecken,station_codes,level_crossings&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2013-11-01T00:00:00.000Z",startDate:"2013-11-01T00:00:00.000Z",polygon:[[[8.19422,48.97504],[7.97355,49.02623],[7.94677,49.06313],[7.44328,49.18928],[7.05679,49.11163],[6.94302,49.21345],[6.81633,49.16389],[6.68209,49.24061],[6.3501,49.46202],[6.35353,49.57302],[6.42632,49.67177],[6.50254,49.71885],[6.45241,50.61258],[6.03871,50.71215],[6.00369,50.753],[6.05742,50.8559],[6.0787,50.90247],[6.0727,51.06792],[6.17123,51.33853],[6.22548,51.36554],[6.15715,51.5509],[6.12763,51.91069],[6.79985,51.86661],[7.02851,52.31255],[6.72947,52.64179],[7.07486,52.75269],[7.20532,53.18442],[7.04464,53.33106],[6.5173,53.65785],[8.23529,54.99001],[11.92257,54.52963],[14.1679,54.59631],[14.46591,53.24712],[14.14318,52.83946],[14.64375,52.58613],[14.57646,52.32756],[14.74537,52.06577],[14.66847,51.7353],[14.7234,51.53927],[15.03926,51.28745],[14.98845,51.09207],[14.88922,50.93856],[14.81593,50.87729],[14.63671,50.89116],[14.59311,50.91887],[14.57217,51.01076],[14.26283,51.06473],[14.28086,50.98024],[14.22816,50.85796],[13.69532,50.72883],[13.03442,50.50085],[12.49077,50.34582],[12.32632,50.29277],[12.35379,50.21462],[12.32701,50.16363],[12.1677,50.34889],[12.07707,50.2524],[12.18195,50.21136],[12.26014,50.09069],[12.53892,49.4164],[12.88808,49.3385],[13.21287,49.12439],[13.73952,48.83688],[13.45371,48.56222],[13.40555,48.37812],[13.03648,48.25986],[12.71376,48.10856],[12.93108,47.9376],[13.00455,47.84506],[12.90671,47.73249],[13.05228,47.59329],[12.15792,47.7087],[12.20393,47.61667],[12.17783,47.59815],[11.61753,47.60093],[11.26666,47.39124],[10.9247,47.46811],[10.91578,47.55623],[10.59031,47.5567],[10.29848,47.39937],[9.78144,47.61274],[9.74024,47.52842],[9.00278,47.69137],[8.68933,47.72371],[8.63809,47.70261],[8.63079,47.69359],[8.62127,47.69177],[8.62414,47.68221],[8.61243,47.68115],[8.35382,47.61367],[8.27485,47.619],[8.23709,47.61023],[8.22808,47.60583],[8.20284,47.61555],[8.10834,47.58251],[8.08568,47.5583],[8.06714,47.56444],[8.04981,47.55645],[8.02749,47.55112],[7.98097,47.55494],[7.91917,47.54787],[7.88862,47.58888],[7.81257,47.57122],[7.79455,47.55558],[7.71404,47.54063],[7.66043,47.54485],[7.65219,47.54702],[7.63439,47.56173],[7.61499,47.55669],[7.5834,47.57048],[7.58559,47.5845],[7.59366,47.60048],[7.58761,47.608],[7.51491,47.6652],[7.5434,47.81539],[7.57671,48.02454],[7.56812,48.06012],[7.80639,48.52438],[7.79987,48.58029],[7.80665,48.60106],[8.11014,48.84977],[8.19422,48.97504]]],terms_url:"https://data.deutschebahn.com/dataset/data-streckennetz",terms_text:"Data CC-BY 4.0 Deutsche Bahn AG",overlay:true},{id:"db-inspire-2015-11",name:"Deutsche Bahn VzG lines Nov 2015",type:"wms",template:"https://wms.michreichert.de/vzg-strecken-2015?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=vzg_strecken,station_codes,level_crossings&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-11-01T00:00:00.000Z",startDate:"2015-11-01T00:00:00.000Z",polygon:[[[8.19422,48.97504],[7.97355,49.02623],[7.94677,49.06313],[7.44328,49.18928],[7.05679,49.11163],[6.94302,49.21345],[6.81633,49.16389],[6.68209,49.24061],[6.3501,49.46202],[6.35353,49.57302],[6.42632,49.67177],[6.50254,49.71885],[6.45241,50.61258],[6.03871,50.71215],[6.00369,50.753],[6.05742,50.8559],[6.0787,50.90247],[6.0727,51.06792],[6.17123,51.33853],[6.22548,51.36554],[6.15715,51.5509],[6.12763,51.91069],[6.79985,51.86661],[7.02851,52.31255],[6.72947,52.64179],[7.07486,52.75269],[7.20532,53.18442],[7.04464,53.33106],[6.5173,53.65785],[8.23529,54.99001],[11.92257,54.52963],[14.1679,54.59631],[14.46591,53.24712],[14.14318,52.83946],[14.64375,52.58613],[14.57646,52.32756],[14.74537,52.06577],[14.66847,51.7353],[14.7234,51.53927],[15.03926,51.28745],[14.98845,51.09207],[14.88922,50.93856],[14.81593,50.87729],[14.63671,50.89116],[14.59311,50.91887],[14.57217,51.01076],[14.26283,51.06473],[14.28086,50.98024],[14.22816,50.85796],[13.69532,50.72883],[13.03442,50.50085],[12.49077,50.34582],[12.32632,50.29277],[12.35379,50.21462],[12.32701,50.16363],[12.1677,50.34889],[12.07707,50.2524],[12.18195,50.21136],[12.26014,50.09069],[12.53892,49.4164],[12.88808,49.3385],[13.21287,49.12439],[13.73952,48.83688],[13.45371,48.56222],[13.40555,48.37812],[13.03648,48.25986],[12.71376,48.10856],[12.93108,47.9376],[13.00455,47.84506],[12.90671,47.73249],[13.05228,47.59329],[12.15792,47.7087],[12.20393,47.61667],[12.17783,47.59815],[11.61753,47.60093],[11.26666,47.39124],[10.9247,47.46811],[10.91578,47.55623],[10.59031,47.5567],[10.29848,47.39937],[9.78144,47.61274],[9.74024,47.52842],[9.00278,47.69137],[8.68933,47.72371],[8.63809,47.70261],[8.63079,47.69359],[8.62127,47.69177],[8.62414,47.68221],[8.61243,47.68115],[8.35382,47.61367],[8.27485,47.619],[8.23709,47.61023],[8.22808,47.60583],[8.20284,47.61555],[8.10834,47.58251],[8.08568,47.5583],[8.06714,47.56444],[8.04981,47.55645],[8.02749,47.55112],[7.98097,47.55494],[7.91917,47.54787],[7.88862,47.58888],[7.81257,47.57122],[7.79455,47.55558],[7.71404,47.54063],[7.66043,47.54485],[7.65219,47.54702],[7.63439,47.56173],[7.61499,47.55669],[7.5834,47.57048],[7.58559,47.5845],[7.59366,47.60048],[7.58761,47.608],[7.51491,47.6652],[7.5434,47.81539],[7.57671,48.02454],[7.56812,48.06012],[7.80639,48.52438],[7.79987,48.58029],[7.80665,48.60106],[8.11014,48.84977],[8.19422,48.97504]]],terms_url:"https://data.deutschebahn.com/dataset/data-streckennetz",terms_text:"Data CC-BY 4.0 Deutsche Bahn AG",overlay:true},{id:"drone-imagery-2014",name:"Drone Imagery 2014 (Haiti)",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/haiti_2014/{zoom}/{x}/{y}",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",polygon:[[[-72.3286,18.69461],[-72.33034,18.69412],[-72.33117,18.69284],[-72.33413,18.68542],[-72.33452,18.68414],[-72.33443,18.68355],[-72.33375,18.68235],[-72.32147,18.67721],[-72.32027,18.67698],[-72.31909,18.67713],[-72.3183,18.67804],[-72.31508,18.68457],[-72.31394,18.689],[-72.31553,18.68993],[-72.3286,18.69461]],[[-72.34695,18.61833],[-72.34553,18.62166],[-72.34355,18.62447],[-72.34245,18.62553],[-72.34076,18.62658],[-72.33786,18.62639],[-72.33649,18.62597],[-72.33589,18.62504],[-72.33482,18.62559],[-72.33472,18.6255],[-72.33459,18.62513],[-72.33343,18.62438],[-72.33174,18.62469],[-72.3313,18.62457],[-72.33126,18.62321],[-72.33088,18.62276],[-72.33066,18.62277],[-72.32985,18.62345],[-72.32862,18.62186],[-72.32829,18.6218],[-72.32817,18.62193],[-72.32809,18.6218],[-72.32734,18.62261],[-72.32541,18.62101],[-72.32422,18.62122],[-72.32396,18.61869],[-72.32354,18.61815],[-72.32325,18.61818],[-72.32351,18.61877],[-72.32058,18.62031],[-72.32043,18.61993],[-72.31978,18.62066],[-72.31807,18.61907],[-72.31742,18.61958],[-72.31523,18.61782],[-72.31463,18.61844],[-72.31324,18.6165],[-72.31275,18.61677],[-72.31232,18.6172],[-72.31198,18.61704],[-72.31042,18.61764],[-72.31062,18.61564],[-72.30996,18.61526],[-72.30936,18.61623],[-72.30786,18.61542],[-72.30669,18.61623],[-72.30604,18.61704],[-72.30419,18.61545],[-72.30288,18.61688],[-72.30191,18.61637],[-72.30131,18.61552],[-72.30118,18.6158],[-72.30087,18.61546],[-72.30076,18.61567],[-72.30062,18.6156],[-72.30012,18.61609],[-72.29198,18.61365],[-72.29194,18.61347],[-72.29143,18.61342],[-72.29094,18.61323],[-72.29105,18.61199],[-72.29057,18.61152],[-72.28772,18.61145],[-72.28801,18.6096],[-72.2865,18.60968],[-72.28635,18.60799],[-72.28448,18.60844],[-72.28436,18.60789],[-72.283,18.60808],[-72.283,18.60658],[-72.2828,18.60676],[-72.2816,18.60537],[-72.28106,18.60533],[-72.27973,18.60682],[-72.27805,18.60525],[-72.27793,18.6053],[-72.2778,18.60524],[-72.2772,18.60638],[-72.27589,18.60564],[-72.27544,18.60629],[-72.27385,18.60508],[-72.27341,18.60508],[-72.27241,18.60593],[-72.27099,18.60442],[-72.27047,18.60429],[-72.27038,18.60446],[-72.27024,18.60427],[-72.27011,18.60433],[-72.26862,18.60368],[-72.26778,18.6037],[-72.26751,18.60429],[-72.2655,18.60318],[-72.26539,18.60336],[-72.26515,18.60309],[-72.26471,18.603],[-72.26436,18.60331],[-72.26312,18.60193],[-72.26258,18.60188],[-72.262,18.60251],[-72.26139,18.60184],[-72.26106,18.60182],[-72.26106,18.60148],[-72.26014,18.6005],[-72.25994,18.60049],[-72.25803,18.60079],[-72.2576,18.60054],[-72.25691,18.60094],[-72.25413,18.59992],[-72.25093,18.59739],[-72.25062,18.59676],[-72.25033,18.59701],[-72.24451,18.59231],[-72.24215,18.58872],[-72.24167,18.58756],[-72.24077,18.58654],[-72.24147,18.58592],[-72.2413,18.58543],[-72.2395,18.58424],[-72.24007,18.58358],[-72.2382,18.58197],[-72.23868,18.58157],[-72.2385,18.58119],[-72.23703,18.58054],[-72.23612,18.57894],[-72.23646,18.57825],[-72.23636,18.5777],[-72.23467,18.57684],[-72.2353,18.57562],[-72.235,18.57499],[-72.23335,18.57423],[-72.23399,18.57293],[-72.23182,18.57169],[-72.23188,18.57137],[-72.23175,18.57127],[-72.23198,18.5708],[-72.23072,18.5694],[-72.23097,18.56874],[-72.23082,18.56844],[-72.23046,18.56855],[-72.23009,18.56754],[-72.22942,18.56715],[-72.22972,18.56651],[-72.22961,18.566],[-72.22908,18.56612],[-72.22848,18.56396],[-72.22818,18.56395],[-72.22733,18.56421],[-72.2265,18.56179],[-72.22623,18.56191],[-72.22436,18.55908],[-72.22471,18.55882],[-72.22357,18.55689],[-72.22379,18.55675],[-72.22325,18.55579],[-72.22387,18.55544],[-72.22382,18.55528],[-72.22458,18.55483],[-72.22453,18.55439],[-72.22625,18.55408],[-72.22705,18.55349],[-72.22692,18.55333],[-72.2271,18.55324],[-72.22687,18.55273],[-72.22592,18.55308],[-72.22465,18.55027],[-72.22483,18.5501],[-72.22457,18.54956],[-72.22327,18.55014],[-72.22261,18.54869],[-72.2208,18.54918],[-72.22051,18.54852],[-72.22034,18.54865],[-72.2201,18.54845],[-72.21952,18.54876],[-72.21862,18.54755],[-72.2174,18.5478],[-72.21714,18.54733],[-72.21694,18.54734],[-72.21583,18.54517],[-72.21505,18.54533],[-72.21477,18.54494],[-72.21442,18.54218],[-72.21421,18.54233],[-72.21293,18.5401],[-72.21199,18.5404],[-72.21188,18.54025],[-72.21145,18.53781],[-72.21085,18.53797],[-72.21028,18.53545],[-72.20993,18.53465],[-72.20942,18.53478],[-72.20942,18.53456],[-72.20851,18.53472],[-72.2057,18.53039],[-72.20444,18.52693],[-72.20438,18.52643],[-72.20418,18.52637],[-72.20399,18.52572],[-72.20263,18.5222],[-72.20182,18.5197],[-72.20148,18.51742],[-72.20301,18.51606],[-72.20503,18.51506],[-72.20767,18.51432],[-72.20936,18.5142],[-72.2095,18.51448],[-72.21082,18.51416],[-72.21095,18.51444],[-72.21189,18.51412],[-72.21266,18.51403],[-72.21277,18.51417],[-72.21462,18.51393],[-72.21697,18.51569],[-72.21731,18.51648],[-72.21787,18.51642],[-72.21818,18.51975],[-72.21798,18.51984],[-72.21909,18.52189],[-72.22031,18.52152],[-72.22096,18.52382],[-72.22209,18.52355],[-72.22251,18.52685],[-72.22229,18.52693],[-72.22271,18.52726],[-72.22289,18.52707],[-72.2231,18.52722],[-72.22404,18.52681],[-72.22551,18.52936],[-72.22596,18.5297],[-72.22642,18.52964],[-72.2265,18.53018],[-72.2275,18.53118],[-72.22673,18.53171],[-72.22885,18.53383],[-72.22811,18.53435],[-72.22981,18.53623],[-72.22912,18.5367],[-72.22935,18.53731],[-72.23059,18.53875],[-72.23222,18.54189],[-72.23215,18.5421],[-72.23258,18.54324],[-72.23311,18.54304],[-72.2342,18.54558],[-72.23436,18.5455],[-72.23554,18.54776],[-72.23571,18.54779],[-72.23601,18.54899],[-72.23839,18.55165],[-72.23747,18.55231],[-72.23951,18.55397],[-72.23918,18.55413],[-72.2407,18.55661],[-72.24014,18.5568],[-72.24079,18.55824],[-72.24063,18.55835],[-72.24067,18.55845],[-72.24117,18.55815],[-72.24161,18.55898],[-72.24216,18.55882],[-72.24242,18.56062],[-72.24262,18.56101],[-72.24294,18.56089],[-72.24399,18.56371],[-72.24466,18.56356],[-72.24475,18.56413],[-72.24536,18.56445],[-72.2449,18.56525],[-72.24518,18.56549],[-72.245,18.56581],[-72.24499,18.56607],[-72.24543,18.56633],[-72.24559,18.56618],[-72.24588,18.56662],[-72.24687,18.56727],[-72.24662,18.56749],[-72.24781,18.56897],[-72.24728,18.56938],[-72.24859,18.57137],[-72.24894,18.57159],[-72.24865,18.57222],[-72.2488,18.57219],[-72.24885,18.5723],[-72.24945,18.57197],[-72.25068,18.57411],[-72.25147,18.5737],[-72.25251,18.57598],[-72.25339,18.57551],[-72.25491,18.57848],[-72.25462,18.57863],[-72.25467,18.57878],[-72.25505,18.57894],[-72.25495,18.57913],[-72.256,18.58074],[-72.2563,18.58054],[-72.25752,18.58237],[-72.25769,18.58227],[-72.2578,18.5824],[-72.25808,18.5823],[-72.25857,18.5821],[-72.25862,18.58222],[-72.25889,18.58219],[-72.25894,18.58302],[-72.25958,18.58445],[-72.25984,18.58472],[-72.26072,18.58443],[-72.26094,18.58565],[-72.2622,18.58722],[-72.26351,18.58643],[-72.2643,18.58738],[-72.26474,18.58708],[-72.26594,18.58862],[-72.26756,18.58877],[-72.26742,18.58917],[-72.27039,18.58893],[-72.27021,18.5903],[-72.2722,18.59048],[-72.27211,18.59145],[-72.27381,18.59188],[-72.27384,18.59168],[-72.27729,18.59169],[-72.28014,18.59129],[-72.28059,18.59048],[-72.28106,18.59071],[-72.28226,18.58989],[-72.28286,18.59047],[-72.28367,18.58966],[-72.28401,18.59014],[-72.28468,18.59029],[-72.2851,18.58997],[-72.2857,18.59062],[-72.28661,18.59068],[-72.28681,18.59014],[-72.28728,18.59032],[-72.28741,18.59013],[-72.28801,18.59052],[-72.28991,18.59071],[-72.29077,18.58997],[-72.29196,18.59186],[-72.2945,18.59148],[-72.29454,18.59361],[-72.29654,18.59322],[-72.29689,18.59586],[-72.2976,18.59675],[-72.29824,18.59722],[-72.29871,18.5962],[-72.30053,18.59733],[-72.30081,18.59675],[-72.30113,18.59691],[-72.30131,18.59676],[-72.30175,18.59721],[-72.30303,18.59774],[-72.3033,18.59729],[-72.30394,18.59761],[-72.30394,18.59736],[-72.30555,18.59794],[-72.30598,18.59756],[-72.30703,18.59838],[-72.30723,18.59799],[-72.30862,18.59833],[-72.30938,18.59752],[-72.31013,18.5981],[-72.31037,18.59739],[-72.3121,18.5983],[-72.3122,18.59807],[-72.31424,18.59902],[-72.31456,18.59873],[-72.31524,18.59922],[-72.31681,18.59952],[-72.31662,18.60004],[-72.31958,18.60072],[-72.31907,18.60202],[-72.32042,18.60247],[-72.32061,18.60242],[-72.32082,18.60267],[-72.3211,18.6027],[-72.32105,18.60298],[-72.32144,18.60347],[-72.32368,18.60322],[-72.32375,18.60432],[-72.32584,18.60436],[-72.32588,18.60522],[-72.32617,18.60585],[-72.32864,18.60525],[-72.32897,18.60527],[-72.32916,18.60727],[-72.33006,18.60812],[-72.3294,18.60867],[-72.33004,18.60959],[-72.33282,18.60949],[-72.33258,18.61058],[-72.33302,18.61005],[-72.3335,18.61054],[-72.33477,18.61035],[-72.33485,18.61167],[-72.33735,18.61174],[-72.33725,18.61237],[-72.33767,18.61298],[-72.34038,18.61306],[-72.34016,18.6138],[-72.34153,18.61384],[-72.34258,18.61457],[-72.3426,18.61512],[-72.34306,18.61499],[-72.34682,18.61792],[-72.34695,18.61833]],[[-72.72363,19.09461],[-72.72302,19.09518],[-72.72206,19.0965],[-72.72169,19.09612],[-72.72164,19.0962],[-72.72132,19.09609],[-72.72073,19.0967],[-72.7198,19.09587],[-72.71965,19.09591],[-72.7197,19.09601],[-72.71955,19.09602],[-72.71911,19.09623],[-72.71906,19.09627],[-72.71904,19.09625],[-72.71888,19.09631],[-72.71886,19.09626],[-72.71817,19.09643],[-72.71776,19.09679],[-72.71756,19.09657],[-72.71693,19.09705],[-72.71713,19.09735],[-72.71495,19.0988],[-72.71479,19.09852],[-72.71483,19.09849],[-72.7148,19.0984],[-72.71455,19.09859],[-72.71449,19.09851],[-72.71413,19.09877],[-72.71413,19.09893],[-72.71419,19.09891],[-72.71417,19.09978],[-72.71324,19.09971],[-72.71287,19.09974],[-72.71295,19.09967],[-72.71278,19.09968],[-72.71278,19.09977],[-72.71282,19.09976],[-72.71285,19.09988],[-72.71266,19.09989],[-72.71266,19.09987],[-72.71245,19.09987],[-72.71182,19.09991],[-72.71178,19.10012],[-72.71157,19.10009],[-72.71147,19.10102],[-72.71042,19.10086],[-72.71039,19.10119],[-72.7103,19.1012],[-72.71031,19.10151],[-72.7097,19.10156],[-72.7097,19.10162],[-72.70917,19.10169],[-72.70917,19.1021],[-72.70828,19.10211],[-72.70809,19.10289],[-72.70788,19.10284],[-72.70798,19.10367],[-72.70724,19.1038],[-72.70731,19.10501],[-72.70723,19.10501],[-72.70736,19.10565],[-72.70637,19.10584],[-72.7062,19.10714],[-72.70588,19.10706],[-72.70591,19.10747],[-72.7053,19.10757],[-72.7054,19.10813],[-72.70568,19.10809],[-72.70568,19.10928],[-72.70591,19.11013],[-72.70589,19.11022],[-72.70574,19.11025],[-72.70574,19.11116],[-72.70538,19.11114],[-72.70557,19.11247],[-72.70499,19.11256],[-72.70537,19.11361],[-72.7047,19.11388],[-72.70496,19.11563],[-72.70418,19.11564],[-72.70442,19.11762],[-72.70371,19.11764],[-72.70371,19.1178],[-72.70352,19.11779],[-72.70339,19.12227],[-72.70264,19.12205],[-72.70253,19.12301],[-72.70289,19.12592],[-72.70308,19.12595],[-72.70316,19.12864],[-72.70234,19.12997],[-72.70206,19.1301],[-72.69987,19.1305],[-72.69325,19.13064],[-72.687,19.13075],[-72.68456,19.13073],[-72.68338,19.13056],[-72.6828,19.1297],[-72.68203,19.1283],[-72.68201,19.12715],[-72.68158,19.12714],[-72.68187,19.12508],[-72.68185,19.12507],[-72.68215,19.12414],[-72.68253,19.12295],[-72.68265,19.12243],[-72.68263,19.12185],[-72.68302,19.12185],[-72.68301,19.12132],[-72.68286,19.12133],[-72.68293,19.11947],[-72.68251,19.11946],[-72.68256,19.11803],[-72.68265,19.11751],[-72.68265,19.11703],[-72.68318,19.11704],[-72.68319,19.11685],[-72.68371,19.11687],[-72.68384,19.11684],[-72.684,19.11685],[-72.68398,19.11689],[-72.68426,19.11688],[-72.68426,19.11679],[-72.68481,19.11674],[-72.68546,19.11667],[-72.68557,19.11664],[-72.68551,19.11664],[-72.6856,19.11662],[-72.68595,19.11658],[-72.68596,19.11654],[-72.68608,19.11654],[-72.68661,19.11663],[-72.68662,19.11656],[-72.68713,19.11665],[-72.68721,19.11666],[-72.68721,19.11663],[-72.6878,19.11666],[-72.68779,19.11659],[-72.68833,19.11663],[-72.68832,19.11658],[-72.68928,19.11657],[-72.6897,19.11656],[-72.68998,19.11644],[-72.6902,19.11644],[-72.69019,19.11615],[-72.69027,19.11563],[-72.69029,19.11541],[-72.69017,19.11543],[-72.69018,19.11493],[-72.69018,19.11458],[-72.69019,19.11445],[-72.69022,19.11433],[-72.6902,19.11406],[-72.68972,19.11398],[-72.68968,19.11397],[-72.68973,19.11415],[-72.68974,19.1142],[-72.68937,19.11417],[-72.68872,19.11412],[-72.688,19.11412],[-72.68758,19.11409],[-72.68759,19.11401],[-72.68736,19.11403],[-72.68711,19.11406],[-72.68682,19.11406],[-72.68677,19.11405],[-72.68591,19.11422],[-72.68554,19.11421],[-72.68557,19.11369],[-72.68554,19.11308],[-72.68533,19.11314],[-72.6852,19.11316],[-72.68519,19.1132],[-72.68504,19.11325],[-72.68495,19.1127],[-72.68474,19.11278],[-72.68468,19.11277],[-72.68446,19.11281],[-72.68416,19.1128],[-72.6836,19.11254],[-72.68353,19.11102],[-72.68363,19.11007],[-72.68338,19.11003],[-72.68344,19.10974],[-72.68295,19.1096],[-72.68305,19.10892],[-72.68111,19.10826],[-72.68112,19.1081],[-72.67965,19.10781],[-72.67968,19.10765],[-72.67923,19.10749],[-72.67916,19.10802],[-72.67838,19.10755],[-72.67779,19.10753],[-72.67775,19.10769],[-72.67623,19.10765],[-72.67606,19.10762],[-72.67621,19.10797],[-72.67549,19.10804],[-72.67548,19.1079],[-72.67431,19.10804],[-72.67432,19.10795],[-72.67398,19.10794],[-72.67382,19.10798],[-72.6739,19.10864],[-72.67319,19.10856],[-72.67307,19.10852],[-72.67284,19.10855],[-72.67276,19.10855],[-72.67286,19.10907],[-72.67284,19.10915],[-72.67251,19.10903],[-72.67236,19.10906],[-72.6723,19.10905],[-72.67224,19.10913],[-72.67179,19.10912],[-72.67051,19.10679],[-72.6704,19.10401],[-72.67048,19.10396],[-72.67032,19.10223],[-72.67034,19.1016],[-72.67062,19.09856],[-72.67121,19.09697],[-72.67278,19.09595],[-72.67277,19.09629],[-72.67364,19.09636],[-72.6736,19.09662],[-72.67484,19.09623],[-72.67489,19.09666],[-72.67566,19.09655],[-72.67566,19.09648],[-72.67655,19.09642],[-72.67772,19.09626],[-72.67786,19.09675],[-72.67784,19.09689],[-72.67826,19.09677],[-72.67837,19.09698],[-72.67858,19.09698],[-72.67853,19.09665],[-72.67878,19.09666],[-72.67861,19.09635],[-72.67927,19.09633],[-72.67973,19.0962],[-72.68015,19.09604],[-72.68058,19.09598],[-72.68029,19.09501],[-72.68072,19.095],[-72.68066,19.09474],[-72.68048,19.09418],[-72.68037,19.09335],[-72.68064,19.09335],[-72.68064,19.09266],[-72.67973,19.09263],[-72.67972,19.09269],[-72.67943,19.09266],[-72.67966,19.09132],[-72.67977,19.09107],[-72.68249,19.0892],[-72.68272,19.08907],[-72.68506,19.0888],[-72.68508,19.08888],[-72.68616,19.08873],[-72.6862,19.08887],[-72.68718,19.08866],[-72.68717,19.0886],[-72.68849,19.08844],[-72.68852,19.08847],[-72.69006,19.0884],[-72.69018,19.08871],[-72.69227,19.08828],[-72.69229,19.08887],[-72.69218,19.08924],[-72.69222,19.08928],[-72.69277,19.08923],[-72.69279,19.08933],[-72.69335,19.08934],[-72.69289,19.0888],[-72.69274,19.0883],[-72.69496,19.08857],[-72.69571,19.08831],[-72.69579,19.08892],[-72.69625,19.08904],[-72.69649,19.08889],[-72.69849,19.08845],[-72.69849,19.08866],[-72.6988,19.08858],[-72.69885,19.08895],[-72.69884,19.08903],[-72.69926,19.08895],[-72.70023,19.08884],[-72.70023,19.08893],[-72.70088,19.08892],[-72.7014,19.08887],[-72.70128,19.08828],[-72.70257,19.08859],[-72.70282,19.08874],[-72.70309,19.08883],[-72.70293,19.08855],[-72.70341,19.08862],[-72.70557,19.08863],[-72.70552,19.08906],[-72.70665,19.08889],[-72.70666,19.08938],[-72.70902,19.08917],[-72.70898,19.0891],[-72.71116,19.08894],[-72.71121,19.0892],[-72.71281,19.08912],[-72.71286,19.0898],[-72.71502,19.08882],[-72.71569,19.08838],[-72.71573,19.08847],[-72.7161,19.08824],[-72.71598,19.08795],[-72.71653,19.0877],[-72.71653,19.08761],[-72.71579,19.08781],[-72.71676,19.08727],[-72.71671,19.08717],[-72.71815,19.08638],[-72.71795,19.08602],[-72.71954,19.08518],[-72.71954,19.08511],[-72.72217,19.08467],[-72.72327,19.08506],[-72.72622,19.08712],[-72.72763,19.0891],[-72.72752,19.08973],[-72.72548,19.09295],[-72.72482,19.09403],[-72.72399,19.09495],[-72.72363,19.09461]],[[-72.06537,19.65239],[-72.06565,19.6518],[-72.06603,19.65128],[-72.06697,19.65109],[-72.0676,19.6511],[-72.07102,19.65223],[-72.0719,19.65254],[-72.07189,19.65255],[-72.07264,19.6528],[-72.07262,19.65284],[-72.07268,19.65286],[-72.07269,19.65283],[-72.0733,19.65305],[-72.07393,19.65327],[-72.07416,19.65347],[-72.07418,19.65351],[-72.07435,19.65395],[-72.07432,19.65425],[-72.07419,19.65495],[-72.07399,19.65583],[-72.07384,19.65648],[-72.07307,19.65805],[-72.07274,19.65866],[-72.0727,19.65869],[-72.07228,19.65915],[-72.07221,19.65917],[-72.07196,19.65916],[-72.0714,19.65909],[-72.07012,19.65866],[-72.07017,19.65856],[-72.06983,19.65852],[-72.06984,19.65848],[-72.06939,19.65841],[-72.06944,19.65823],[-72.06941,19.65823],[-72.06937,19.65836],[-72.06842,19.65807],[-72.06707,19.65759],[-72.06451,19.65663],[-72.06434,19.65632],[-72.06421,19.65547],[-72.06422,19.65541],[-72.06472,19.65379],[-72.06487,19.65351],[-72.06537,19.65239]],[[-72.23222,18.69173],[-72.23182,18.69172],[-72.23115,18.69168],[-72.23128,18.69161],[-72.23072,18.69152],[-72.23068,18.69147],[-72.23135,18.69159],[-72.23157,18.69149],[-72.23162,18.69137],[-72.23165,18.69134],[-72.23165,18.69164],[-72.23222,18.69173]],[[-72.2406,18.69192],[-72.23953,18.6921],[-72.23891,18.69207],[-72.23878,18.69207],[-72.23856,18.692],[-72.23818,18.69192],[-72.23186,18.69054],[-72.22977,18.69113],[-72.21709,18.68967],[-72.21618,18.68724],[-72.21599,18.68673],[-72.21602,18.68659],[-72.2159,18.68601],[-72.21581,18.68593],[-72.21561,18.68483],[-72.21569,18.6847],[-72.21578,18.68435],[-72.21595,18.68347],[-72.21629,18.68289],[-72.2164,18.68221],[-72.21633,18.68211],[-72.21641,18.68208],[-72.21642,18.68189],[-72.21694,18.6813],[-72.21685,18.68096],[-72.21693,18.68099],[-72.21722,18.68091],[-72.21734,18.6808],[-72.21731,18.67964],[-72.21749,18.67958],[-72.21749,18.67946],[-72.21747,18.67908],[-72.21743,18.67853],[-72.21739,18.6785],[-72.21718,18.6786],[-72.2171,18.67856],[-72.21708,18.67838],[-72.21724,18.67767],[-72.21724,18.67745],[-72.21721,18.67744],[-72.21681,18.67754],[-72.21671,18.67688],[-72.21662,18.67612],[-72.21642,18.67621],[-72.21601,18.67548],[-72.21596,18.67551],[-72.21589,18.67549],[-72.21552,18.6756],[-72.2154,18.67561],[-72.21529,18.6757],[-72.21521,18.67571],[-72.21491,18.67472],[-72.21464,18.67387],[-72.21456,18.6737],[-72.21447,18.67348],[-72.21413,18.67301],[-72.21427,18.67293],[-72.21413,18.67271],[-72.21383,18.67278],[-72.21339,18.67181],[-72.21178,18.67209],[-72.21169,18.67172],[-72.21135,18.67183],[-72.21116,18.67196],[-72.21077,18.67121],[-72.21058,18.67129],[-72.20984,18.66963],[-72.20972,18.6697],[-72.20966,18.66968],[-72.20918,18.66838],[-72.20895,18.66773],[-72.2093,18.66606],[-72.20937,18.66571],[-72.20974,18.66536],[-72.21031,18.66477],[-72.21021,18.66416],[-72.21042,18.66401],[-72.2111,18.66329],[-72.21167,18.66268],[-72.21179,18.66236],[-72.21206,18.66242],[-72.21193,18.66185],[-72.21188,18.66155],[-72.21199,18.66147],[-72.21239,18.66137],[-72.21331,18.66103],[-72.21393,18.66039],[-72.21376,18.65992],[-72.21355,18.65956],[-72.21376,18.65943],[-72.21349,18.65869],[-72.21296,18.65736],[-72.21357,18.6572],[-72.21312,18.65639],[-72.21281,18.65534],[-72.21317,18.6551],[-72.21308,18.65459],[-72.21347,18.65438],[-72.21374,18.65436],[-72.21382,18.65416],[-72.2135,18.65353],[-72.21304,18.65171],[-72.21345,18.65143],[-72.21341,18.65133],[-72.21364,18.65105],[-72.21418,18.65077],[-72.21378,18.65016],[-72.21364,18.64989],[-72.21372,18.64975],[-72.21429,18.64943],[-72.21379,18.64934],[-72.21362,18.64922],[-72.21382,18.64869],[-72.21354,18.64765],[-72.21331,18.64717],[-72.21366,18.64552],[-72.21389,18.64539],[-72.21377,18.6451],[-72.214,18.64399],[-72.21412,18.64378],[-72.21437,18.64347],[-72.2158,18.64222],[-72.21601,18.64217],[-72.21761,18.64218],[-72.21778,18.64272],[-72.21798,18.64256],[-72.21816,18.64236],[-72.21821,18.6422],[-72.22119,18.64222],[-72.22125,18.6423],[-72.22135,18.64224],[-72.2215,18.64223],[-72.22293,18.64229],[-72.22299,18.64235],[-72.22311,18.64227],[-72.22717,18.64249],[-72.22828,18.64281],[-72.22811,18.6432],[-72.22848,18.64325],[-72.22919,18.64258],[-72.2304,18.64263],[-72.23711,18.64295],[-72.23719,18.64317],[-72.23807,18.64322],[-72.23828,18.64298],[-72.23988,18.64306],[-72.24332,18.6434],[-72.24367,18.64387],[-72.24518,18.64437],[-72.2456,18.64364],[-72.24562,18.64372],[-72.24574,18.64363],[-72.24723,18.64378],[-72.24853,18.64441],[-72.24918,18.64397],[-72.25155,18.64418],[-72.25382,18.64516],[-72.2546,18.64564],[-72.25517,18.64642],[-72.2554,18.64807],[-72.25531,18.64812],[-72.2552,18.64828],[-72.2555,18.64881],[-72.25586,18.64847],[-72.25603,18.64856],[-72.25625,18.64848],[-72.25685,18.64755],[-72.25965,18.64494],[-72.26253,18.64336],[-72.26304,18.64362],[-72.26388,18.64308],[-72.26486,18.64445],[-72.26525,18.64373],[-72.26533,18.64378],[-72.26576,18.64259],[-72.26652,18.64289],[-72.26641,18.64135],[-72.26714,18.64137],[-72.26737,18.6407],[-72.26824,18.64023],[-72.26853,18.6403],[-72.26901,18.63988],[-72.26908,18.63978],[-72.26948,18.63958],[-72.27214,18.63895],[-72.27383,18.63988],[-72.27375,18.64004],[-72.27476,18.64088],[-72.27501,18.64054],[-72.27622,18.64161],[-72.27639,18.64131],[-72.27652,18.64138],[-72.27845,18.643],[-72.27896,18.64273],[-72.2823,18.64457],[-72.28387,18.64607],[-72.28384,18.64611],[-72.28412,18.64641],[-72.28401,18.64647],[-72.28455,18.6471],[-72.28538,18.64803],[-72.28569,18.64785],[-72.28642,18.64857],[-72.28724,18.64936],[-72.28775,18.65003],[-72.28724,18.65028],[-72.28768,18.65089],[-72.28708,18.65122],[-72.28656,18.65188],[-72.28736,18.6532],[-72.2872,18.65332],[-72.2873,18.65355],[-72.28905,18.65383],[-72.28882,18.65459],[-72.28889,18.6546],[-72.28878,18.65512],[-72.29013,18.65481],[-72.29084,18.65766],[-72.2902,18.65767],[-72.29076,18.66015],[-72.28998,18.66022],[-72.29045,18.66151],[-72.29022,18.66161],[-72.29033,18.66256],[-72.29138,18.66227],[-72.29155,18.66276],[-72.29368,18.66243],[-72.29377,18.663],[-72.29441,18.66289],[-72.29444,18.66273],[-72.29656,18.66246],[-72.29662,18.66262],[-72.29708,18.66261],[-72.29692,18.66184],[-72.30025,18.66195],[-72.30141,18.66311],[-72.30141,18.66397],[-72.30192,18.66392],[-72.30197,18.66454],[-72.30311,18.66471],[-72.30471,18.66632],[-72.30471,18.66668],[-72.30505,18.66666],[-72.30529,18.66692],[-72.30519,18.66768],[-72.30607,18.66759],[-72.30749,18.66901],[-72.30782,18.67109],[-72.30784,18.67216],[-72.30757,18.67405],[-72.30716,18.67526],[-72.30674,18.67537],[-72.30687,18.67599],[-72.30657,18.67612],[-72.30611,18.67602],[-72.30585,18.67705],[-72.30607,18.67726],[-72.3061,18.67744],[-72.30635,18.678],[-72.30609,18.67871],[-72.30587,18.67881],[-72.3059,18.67951],[-72.30556,18.68062],[-72.30395,18.68368],[-72.30377,18.68373],[-72.30139,18.68415],[-72.29912,18.68452],[-72.29899,18.68432],[-72.29826,18.6844],[-72.29828,18.6845],[-72.29502,18.68412],[-72.29419,18.68422],[-72.29408,18.68376],[-72.29202,18.68398],[-72.29191,18.68364],[-72.29101,18.68377],[-72.29095,18.68347],[-72.29037,18.68378],[-72.29035,18.68363],[-72.28936,18.68384],[-72.28913,18.68345],[-72.28766,18.6835],[-72.2877,18.68329],[-72.28538,18.68344],[-72.2849,18.68243],[-72.28449,18.68243],[-72.28376,18.68198],[-72.28268,18.68186],[-72.2822,18.68284],[-72.28268,18.68296],[-72.28164,18.68413],[-72.28111,18.68523],[-72.28129,18.68628],[-72.28089,18.68726],[-72.28036,18.68726],[-72.28036,18.68762],[-72.2715,18.688],[-72.2715,18.68774],[-72.27171,18.6875],[-72.27193,18.68611],[-72.2713,18.68611],[-72.27115,18.68635],[-72.27115,18.68735],[-72.26903,18.68805],[-72.26661,18.68821],[-72.26315,18.68817],[-72.25798,18.6868],[-72.25503,18.68501],[-72.25415,18.68242],[-72.25408,18.68278],[-72.25266,18.68732],[-72.25106,18.68819],[-72.24828,18.68927],[-72.24695,18.68917],[-72.24718,18.68966],[-72.24628,18.68966],[-72.24632,18.68997],[-72.24527,18.69032],[-72.24487,18.69045],[-72.24361,18.69036],[-72.24351,18.69029],[-72.24321,18.6903],[-72.24318,18.69051],[-72.24324,18.69061],[-72.24325,18.691],[-72.24303,18.69122],[-72.24166,18.69171],[-72.24149,18.69178],[-72.2406,18.69192]],[[-72.27545,18.56614],[-72.27419,18.56701],[-72.27356,18.56701],[-72.27297,18.56706],[-72.27227,18.56707],[-72.27191,18.56707],[-72.27178,18.56718],[-72.2709,18.56724],[-72.27064,18.56724],[-72.26998,18.56708],[-72.26875,18.56671],[-72.2684,18.56661],[-72.26809,18.56639],[-72.26781,18.56611],[-72.26744,18.5652],[-72.26739,18.56308],[-72.26738,18.5626],[-72.26742,18.56195],[-72.26799,18.56064],[-72.26822,18.56014],[-72.26856,18.55975],[-72.26871,18.55962],[-72.2702,18.55963],[-72.27181,18.55967],[-72.27491,18.55982],[-72.27579,18.55986],[-72.27588,18.55999],[-72.2758,18.56491],[-72.27578,18.56541],[-72.27575,18.56556],[-72.27552,18.56608],[-72.27545,18.56614]],[[-72.33318,18.56014],[-72.33166,18.55959],[-72.33021,18.55904],[-72.32919,18.55866],[-72.3292,18.55861],[-72.32887,18.55838],[-72.32868,18.55826],[-72.3282,18.55827],[-72.32815,18.55828],[-72.3261,18.55752],[-72.32604,18.5575],[-72.32604,18.55745],[-72.32589,18.55732],[-72.32551,18.5573],[-72.32437,18.55688],[-72.32411,18.55678],[-72.32379,18.55662],[-72.32348,18.55633],[-72.32315,18.55628],[-72.32174,18.55556],[-72.32143,18.55541],[-72.3205,18.55488],[-72.32019,18.5547],[-72.32007,18.55453],[-72.31984,18.55412],[-72.31984,18.55385],[-72.31998,18.55322],[-72.32046,18.55124],[-72.32056,18.55083],[-72.32066,18.55047],[-72.32068,18.55039],[-72.32111,18.54857],[-72.32127,18.54791],[-72.32147,18.54719],[-72.32153,18.54699],[-72.322,18.5458],[-72.32203,18.54575],[-72.32354,18.54486],[-72.3236,18.54483],[-72.3236,18.54481],[-72.32486,18.54407],[-72.32534,18.54378],[-72.32533,18.5439],[-72.32534,18.54392],[-72.32555,18.54416],[-72.32588,18.54452],[-72.3259,18.54453],[-72.32621,18.54452],[-72.3266,18.54452],[-72.32666,18.54398],[-72.32669,18.54367],[-72.32666,18.54361],[-72.32666,18.54356],[-72.32669,18.54356],[-72.32677,18.5436],[-72.32704,18.54363],[-72.32714,18.5432],[-72.32713,18.54314],[-72.32704,18.54317],[-72.32697,18.54316],[-72.32698,18.54296],[-72.32697,18.54293],[-72.32697,18.54281],[-72.32728,18.54263],[-72.32814,18.5424],[-72.32864,18.54226],[-72.3297,18.54228],[-72.32979,18.54228],[-72.33174,18.54279],[-72.33242,18.54298],[-72.33329,18.54319],[-72.33328,18.54321],[-72.33529,18.54372],[-72.33589,18.54387],[-72.33689,18.54504],[-72.33734,18.54555],[-72.33761,18.546],[-72.33783,18.54639],[-72.33788,18.54658],[-72.33791,18.54693],[-72.33792,18.54705],[-72.33763,18.54705],[-72.33749,18.54705],[-72.33751,18.54753],[-72.33751,18.54764],[-72.33747,18.54764],[-72.33748,18.54773],[-72.33742,18.54773],[-72.33739,18.54776],[-72.33735,18.54773],[-72.33734,18.54774],[-72.33726,18.54774],[-72.33725,18.54782],[-72.33725,18.54804],[-72.33728,18.548],[-72.3373,18.54798],[-72.3373,18.54796],[-72.33737,18.54788],[-72.33739,18.54789],[-72.33741,18.5478],[-72.33744,18.5478],[-72.33755,18.5477],[-72.33752,18.54764],[-72.33773,18.54741],[-72.33775,18.54741],[-72.33775,18.54737],[-72.33789,18.54721],[-72.3389,18.54828],[-72.33902,18.54842],[-72.34008,18.55026],[-72.34014,18.55034],[-72.34028,18.55068],[-72.34041,18.55099],[-72.34029,18.55156],[-72.34021,18.55185],[-72.33985,18.55283],[-72.33973,18.55315],[-72.33927,18.55425],[-72.33914,18.55457],[-72.33915,18.55458],[-72.3391,18.5547],[-72.33896,18.55506],[-72.33847,18.55626],[-72.33842,18.55625],[-72.33844,18.55631],[-72.33832,18.55661],[-72.33822,18.55686],[-72.33821,18.55687],[-72.33816,18.55699],[-72.33815,18.55698],[-72.33807,18.557],[-72.33803,18.557],[-72.33806,18.55726],[-72.338,18.55742],[-72.33716,18.5593],[-72.33709,18.55945],[-72.33843,18.55931],[-72.33929,18.55922],[-72.33982,18.55941],[-72.33983,18.55943],[-72.34028,18.55975],[-72.34092,18.5598],[-72.34096,18.5598],[-72.34413,18.5609],[-72.3446,18.56107],[-72.34472,18.56111],[-72.34472,18.56109],[-72.34829,18.5623],[-72.34912,18.5626],[-72.35035,18.56335],[-72.35302,18.56496],[-72.35333,18.56616],[-72.35351,18.56901],[-72.35337,18.56949],[-72.35156,18.57185],[-72.35042,18.57341],[-72.35036,18.57338],[-72.34849,18.57592],[-72.34815,18.57636],[-72.34756,18.57636],[-72.34753,18.57634],[-72.34746,18.57647],[-72.34745,18.57639],[-72.34705,18.57703],[-72.34659,18.57672],[-72.34649,18.57683],[-72.34544,18.57618],[-72.34365,18.57629],[-72.34361,18.57636],[-72.34354,18.57631],[-72.34258,18.5764],[-72.34252,18.57699],[-72.3428,18.57707],[-72.343,18.57715],[-72.3429,18.57737],[-72.34338,18.5774],[-72.34321,18.57803],[-72.34324,18.57803],[-72.3432,18.57816],[-72.3444,18.57852],[-72.34395,18.57972],[-72.34414,18.57976],[-72.34377,18.58067],[-72.34424,18.58074],[-72.34398,18.58155],[-72.34388,18.58181],[-72.34392,18.5818],[-72.34371,18.5823],[-72.34375,18.58229],[-72.34371,18.58237],[-72.34283,18.58355],[-72.3424,18.58413],[-72.34238,18.58411],[-72.34234,18.58411],[-72.34209,18.58403],[-72.34207,18.58434],[-72.342,18.58433],[-72.34192,18.58474],[-72.34192,18.58477],[-72.34118,18.58575],[-72.3408,18.58627],[-72.34024,18.58655],[-72.33983,18.58675],[-72.33542,18.58843],[-72.33539,18.58845],[-72.33539,18.58843],[-72.33517,18.58851],[-72.3346,18.58806],[-72.33372,18.58896],[-72.33361,18.58917],[-72.33295,18.58941],[-72.33253,18.58912],[-72.33252,18.58916],[-72.33168,18.58889],[-72.33157,18.5891],[-72.33152,18.58918],[-72.33153,18.58917],[-72.33152,18.5892],[-72.33158,18.58929],[-72.33161,18.58934],[-72.33136,18.58951],[-72.33134,18.58953],[-72.33135,18.58954],[-72.3313,18.58963],[-72.33132,18.58976],[-72.33112,18.58977],[-72.33118,18.58983],[-72.33097,18.59017],[-72.33011,18.5905],[-72.32965,18.59068],[-72.32418,18.59182],[-72.3238,18.59189],[-72.32228,18.59068],[-72.32079,18.58947],[-72.32076,18.58801],[-72.32078,18.588],[-72.32078,18.58706],[-72.32073,18.58691],[-72.32073,18.58626],[-72.32092,18.58625],[-72.32081,18.58589],[-72.32074,18.58593],[-72.3207,18.58531],[-72.32114,18.58437],[-72.32185,18.58274],[-72.32202,18.58277],[-72.3222,18.58276],[-72.32211,18.58251],[-72.32196,18.58249],[-72.32242,18.5815],[-72.32245,18.5815],[-72.32295,18.58034],[-72.32368,18.579],[-72.32465,18.57947],[-72.32575,18.57852],[-72.32661,18.5778],[-72.32721,18.57838],[-72.32824,18.57817],[-72.32848,18.57756],[-72.32855,18.5776],[-72.32938,18.57666],[-72.32907,18.57629],[-72.32936,18.57607],[-72.32877,18.57563],[-72.32975,18.57451],[-72.32968,18.57443],[-72.32989,18.57408],[-72.32994,18.57359],[-72.3296,18.57363],[-72.32997,18.57247],[-72.33009,18.57153],[-72.33017,18.57152],[-72.33047,18.57045],[-72.3314,18.57052],[-72.33167,18.56999],[-72.33027,18.56999],[-72.33025,18.57003],[-72.33006,18.57004],[-72.3297,18.57],[-72.32981,18.56877],[-72.32877,18.56765],[-72.32858,18.56749],[-72.32877,18.56711],[-72.32912,18.5668],[-72.32897,18.56664],[-72.32938,18.56572],[-72.32946,18.56554],[-72.33052,18.56424],[-72.33056,18.56424],[-72.33056,18.5642],[-72.33105,18.56367],[-72.33112,18.56374],[-72.33111,18.56376],[-72.33117,18.56377],[-72.33131,18.56391],[-72.33153,18.5641],[-72.33154,18.56385],[-72.33161,18.56365],[-72.33168,18.56329],[-72.33169,18.56322],[-72.33171,18.56319],[-72.33181,18.5628],[-72.33187,18.5626],[-72.33299,18.56123],[-72.33318,18.561],[-72.33365,18.56064],[-72.33393,18.56042],[-72.33367,18.56033],[-72.33367,18.56027],[-72.33332,18.56011],[-72.33318,18.56014]],[[-72.31173,18.56168],[-72.31195,18.56259],[-72.31221,18.56365],[-72.31259,18.56628],[-72.31254,18.5663],[-72.31264,18.56654],[-72.31266,18.56682],[-72.3127,18.56687],[-72.31276,18.56734],[-72.31256,18.56746],[-72.31232,18.56754],[-72.31229,18.56757],[-72.31199,18.5677],[-72.31216,18.56801],[-72.31227,18.56815],[-72.31231,18.56828],[-72.31239,18.56841],[-72.31291,18.56909],[-72.31281,18.56916],[-72.31306,18.56945],[-72.31309,18.56956],[-72.31323,18.57061],[-72.31325,18.57137],[-72.31325,18.57213],[-72.31234,18.57268],[-72.31117,18.57341],[-72.30971,18.5739],[-72.30911,18.5739],[-72.30894,18.57369],[-72.3086,18.57389],[-72.30712,18.57389],[-72.307,18.57357],[-72.30666,18.57388],[-72.30605,18.57389],[-72.30581,18.57367],[-72.30555,18.57388],[-72.3007,18.57387],[-72.30059,18.57369],[-72.30044,18.57386],[-72.29691,18.57388],[-72.29518,18.57386],[-72.295,18.57371],[-72.29473,18.57341],[-72.29387,18.5722],[-72.29341,18.57156],[-72.29338,18.57142],[-72.2933,18.57075],[-72.29338,18.57008],[-72.29349,18.56992],[-72.29361,18.56978],[-72.29361,18.56985],[-72.29378,18.56959],[-72.29364,18.56957],[-72.29345,18.56951],[-72.29358,18.56919],[-72.29389,18.56859],[-72.29373,18.56847],[-72.29359,18.56827],[-72.29359,18.5681],[-72.29379,18.5679],[-72.29403,18.56774],[-72.29387,18.56762],[-72.29368,18.56743],[-72.29396,18.56457],[-72.29411,18.56426],[-72.29401,18.56418],[-72.29402,18.5638],[-72.29412,18.56283],[-72.29451,18.56209],[-72.29462,18.56196],[-72.29767,18.5617],[-72.29849,18.56192],[-72.29864,18.56184],[-72.29857,18.56174],[-72.2988,18.56157],[-72.30144,18.56133],[-72.30181,18.56176],[-72.30228,18.56125],[-72.30275,18.56122],[-72.30427,18.56126],[-72.30505,18.56147],[-72.30522,18.5613],[-72.30609,18.56132],[-72.30821,18.56138],[-72.31173,18.56168]]]},{id:"DroneImageryCanaanHaitiNovember2015",name:"Drone Imagery Canaan(Haiti) November 2015",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/haiti_canaan_nov2015/{zoom}/{x}/{y}",endDate:"2015-11-01T00:00:00.000Z",startDate:"2015-11-01T00:00:00.000Z",polygon:[[[-72.23109,18.67676],[-72.23101,18.67675],[-72.23108,18.67675],[-72.23104,18.67669],[-72.23105,18.67665],[-72.23151,18.67663],[-72.23153,18.67665],[-72.23146,18.67676],[-72.23285,18.67669],[-72.23506,18.67641],[-72.23507,18.67638],[-72.23507,18.67635],[-72.23505,18.67635],[-72.23511,18.6762],[-72.23509,18.67614],[-72.23523,18.67613],[-72.23522,18.67611],[-72.23523,18.67606],[-72.2352,18.67598],[-72.23515,18.6758],[-72.23629,18.67565],[-72.23625,18.67553],[-72.23624,18.67551],[-72.23648,18.67548],[-72.23648,18.67565],[-72.23648,18.67581],[-72.23689,18.67575],[-72.2372,18.67571],[-72.23747,18.67567],[-72.23772,18.67563],[-72.23805,18.6756],[-72.23854,18.67555],[-72.23888,18.67552],[-72.239,18.67551],[-72.23897,18.67565],[-72.23897,18.67571],[-72.23901,18.67576],[-72.239,18.67576],[-72.23902,18.67584],[-72.23905,18.67589],[-72.23929,18.67587],[-72.23981,18.67581],[-72.24059,18.67571],[-72.24142,18.67561],[-72.24177,18.67556],[-72.24179,18.67553],[-72.2421,18.67551],[-72.24272,18.67545],[-72.24276,18.67536],[-72.24278,18.67537],[-72.24279,18.67537],[-72.24299,18.67536],[-72.24334,18.67535],[-72.24339,18.67535],[-72.2434,18.67534],[-72.24372,18.67532],[-72.24424,18.67525],[-72.24443,18.67509],[-72.2474,18.67253],[-72.24731,18.67233],[-72.24681,18.67157],[-72.2469,18.67061],[-72.24652,18.67055],[-72.24661,18.66991],[-72.24669,18.66991],[-72.24688,18.66884],[-72.24707,18.66789],[-72.24709,18.66749],[-72.24728,18.66743],[-72.24716,18.66691],[-72.24717,18.66642],[-72.24703,18.66644],[-72.24701,18.66616],[-72.24971,18.66598],[-72.24947,18.66475],[-72.24989,18.66489],[-72.24989,18.66507],[-72.25113,18.66515],[-72.25102,18.66548],[-72.25111,18.66548],[-72.25111,18.66559],[-72.25219,18.66551],[-72.25387,18.66554],[-72.25387,18.66563],[-72.25551,18.66559],[-72.25638,18.66484],[-72.25719,18.66359],[-72.25763,18.66208],[-72.25768,18.65694],[-72.25779,18.64996],[-72.25713,18.64563],[-72.25696,18.64517],[-72.25564,18.64352],[-72.2493,18.64358],[-72.2482,18.64361],[-72.24637,18.64397],[-72.24629,18.64462],[-72.24454,18.64436],[-72.24442,18.64527],[-72.24311,18.6455],[-72.24326,18.64639],[-72.24286,18.64794],[-72.24272,18.64801],[-72.24282,18.6482],[-72.24257,18.64894],[-72.24109,18.64902],[-72.24109,18.64918],[-72.2405,18.64906],[-72.24036,18.6495],[-72.2403,18.64863],[-72.23753,18.64915],[-72.23664,18.64899],[-72.23666,18.64883],[-72.23582,18.64888],[-72.23488,18.64878],[-72.23487,18.64893],[-72.2338,18.649],[-72.23384,18.64932],[-72.23262,18.64927],[-72.2325,18.64824],[-72.23028,18.64837],[-72.23028,18.64821],[-72.22743,18.64815],[-72.2263,18.64775],[-72.22608,18.64845],[-72.22583,18.64841],[-72.22576,18.64828],[-72.22417,18.64849],[-72.22417,18.64805],[-72.22166,18.64804],[-72.21921,18.6485],[-72.21767,18.64995],[-72.21719,18.6509],[-72.21637,18.65422],[-72.21633,18.65888],[-72.21633,18.66198],[-72.2171,18.66448],[-72.21737,18.66441],[-72.21814,18.66454],[-72.21864,18.66568],[-72.21837,18.66588],[-72.21881,18.66817],[-72.21881,18.66893],[-72.21846,18.66888],[-72.21884,18.67018],[-72.22015,18.67173],[-72.22175,18.67311],[-72.22175,18.67288],[-72.2225,18.67317],[-72.22257,18.67357],[-72.22241,18.67368],[-72.22489,18.67588],[-72.2287,18.67693],[-72.23073,18.6768],[-72.23111,18.67678],[-72.23109,18.67676]]]},{id:"drone-imagery-2016",name:"Drone Imagery Matthew(Haiti) October 2016",type:"tms",template:"https://imagery.openstreetmap.fr/tms/1.0.0/haiti_uav_201610/{zoom}/{x}/{y}",endDate:"2016-10-01T00:00:00.000Z",startDate:"2016-10-01T00:00:00.000Z",polygon:[[[-74.11291,18.64948],[-74.10903,18.64598],[-74.10873,18.64446],[-74.1095,18.64452],[-74.1095,18.64181],[-74.10968,18.64187],[-74.11053,18.64103],[-74.10988,18.64034],[-74.11005,18.64014],[-74.11005,18.64009],[-74.11011,18.64002],[-74.10949,18.63959],[-74.1095,18.63924],[-74.10904,18.63926],[-74.10894,18.63917],[-74.10905,18.63912],[-74.10898,18.63899],[-74.10782,18.63839],[-74.10823,18.63775],[-74.10812,18.63764],[-74.10786,18.63774],[-74.10768,18.63733],[-74.10748,18.63719],[-74.10722,18.63559],[-74.10901,18.63394],[-74.11678,18.62847],[-74.11952,18.62815],[-74.12251,18.63132],[-74.12731,18.63703],[-74.12684,18.6374],[-74.12731,18.63771],[-74.12768,18.63756],[-74.13403,18.64671],[-74.13401,18.64897],[-74.13087,18.65167],[-74.13076,18.65153],[-74.13053,18.65179],[-74.13054,18.65195],[-74.12878,18.65342],[-74.1274,18.65412],[-74.12514,18.65497],[-74.11997,18.65432],[-74.11938,18.65429],[-74.11291,18.64948]],[[-74.11305,18.4922],[-74.10884,18.49216],[-74.10118,18.49095],[-74.10105,18.49057],[-74.10131,18.4902],[-74.10101,18.48996],[-74.10142,18.48933],[-74.10099,18.48931],[-74.1009,18.48886],[-74.10166,18.48725],[-74.10108,18.48713],[-74.10133,18.48664],[-74.10058,18.48654],[-74.10048,18.48552],[-74.10062,18.4849],[-74.10037,18.48478],[-74.10012,18.4827],[-74.09994,18.48123],[-74.10033,18.48114],[-74.10242,18.48116],[-74.10492,18.48149],[-74.10771,18.48189],[-74.1099,18.48226],[-74.10987,18.48243],[-74.10992,18.48246],[-74.11018,18.48232],[-74.11196,18.48261],[-74.11247,18.48278],[-74.11316,18.48382],[-74.1134,18.48521],[-74.11349,18.48709],[-74.11338,18.48704],[-74.11336,18.48717],[-74.11349,18.48727],[-74.11355,18.48931],[-74.11349,18.48949],[-74.1135,18.48951],[-74.11349,18.48952],[-74.11347,18.48951],[-74.11334,18.48957],[-74.11336,18.48962],[-74.11341,18.48958],[-74.11344,18.48959],[-74.11349,18.48956],[-74.11352,18.48957],[-74.11355,18.48956],[-74.11357,18.48998],[-74.11359,18.49067],[-74.11354,18.49108],[-74.11322,18.492],[-74.11305,18.4922]],[[-74.10198,18.24954],[-74.09767,18.24744],[-74.09419,18.2474],[-74.09338,18.24885],[-74.09638,18.25292],[-74.09934,18.25335],[-74.10198,18.24954]],[[-74.02901,18.59744],[-74.02881,18.60255],[-74.00847,18.60182],[-74.00867,18.59671],[-74.02901,18.59744]],[[-73.91991,18.07466],[-73.91468,18.07482],[-73.91535,18.07742],[-73.91478,18.08009],[-73.91997,18.08014],[-73.91924,18.07802],[-73.91999,18.07637],[-73.91991,18.07466]],[[-74.22365,18.3081],[-74.22061,18.30272],[-74.21902,18.30278],[-74.21592,18.30364],[-74.21615,18.30804],[-74.22365,18.3081]],[[-74.00508,18.17646],[-74.00072,18.17657],[-74.00186,18.18175],[-74.00269,18.18344],[-74.00653,18.18336],[-74.00715,18.18218],[-74.00649,18.18056],[-74.0052,18.17922],[-74.00508,18.17646]],[[-74.0653,18.22881],[-74.06361,18.2268],[-74.06114,18.22672],[-74.05968,18.22853],[-74.06281,18.23083],[-74.06446,18.23034],[-74.0653,18.22881]],[[-74.11371,18.47184],[-74.11002,18.47177],[-74.10959,18.47536],[-74.11341,18.47497],[-74.11371,18.47184]],[[-73.95852,18.47452],[-73.95446,18.47465],[-73.95548,18.4794],[-73.95965,18.47878],[-73.95852,18.47452]],[[-74.16719,18.27229],[-74.16196,18.27232],[-74.16175,18.27303],[-74.16255,18.27452],[-74.16372,18.27542],[-74.16341,18.27749],[-74.16404,18.27854],[-74.16756,18.27868],[-74.16742,18.27592],[-74.16775,18.27416],[-74.16719,18.27229]],[[-74.11091,18.45286],[-74.10701,18.45258],[-74.10684,18.4586],[-74.11102,18.45781],[-74.11091,18.45286]],[[-73.76854,18.18022],[-73.75773,18.18006],[-73.73559,18.19311],[-73.73567,18.20143],[-73.74563,18.20191],[-73.74468,18.22311],[-73.77121,18.22417],[-73.77129,18.20844],[-73.76915,18.2064],[-73.76854,18.18022]],[[-74.13455,18.60914],[-74.1388,18.60929],[-74.13871,18.61165],[-74.13447,18.6115],[-74.13455,18.60914]],[[-74.04228,18.20945],[-74.042,18.20484],[-74.04155,18.20239],[-74.03959,18.20051],[-74.03836,18.20028],[-74.03764,18.20242],[-74.03792,18.20562],[-74.03918,18.20932],[-74.04228,18.20945]],[[-74.08668,18.61121],[-74.08669,18.61217],[-74.09146,18.61689],[-74.09211,18.61603],[-74.09313,18.61699],[-74.09603,18.62025],[-74.09627,18.6206],[-74.0967,18.62202],[-74.09337,18.62651],[-74.09237,18.62754],[-74.08862,18.62596],[-74.08863,18.62561],[-74.08778,18.62561],[-74.08661,18.6251],[-74.08662,18.62368],[-74.08514,18.62367],[-74.08462,18.62289],[-74.08463,18.62175],[-74.08339,18.62174],[-74.08261,18.62057],[-74.08262,18.61982],[-74.07659,18.6198],[-74.07658,18.61596],[-74.07255,18.61591],[-74.07259,18.61403],[-74.07062,18.61402],[-74.06858,18.6129],[-74.06855,18.61208],[-74.06614,18.61207],[-74.06414,18.61206],[-74.0625,18.61105],[-74.06254,18.61011],[-74.05927,18.61013],[-74.0545,18.60876],[-74.05451,18.60817],[-74.05168,18.60816],[-74.04932,18.60776],[-74.04647,18.60664],[-74.04646,18.6062],[-74.04243,18.6062],[-74.04133,18.60592],[-74.03625,18.60378],[-74.03597,18.60345],[-74.03642,18.60252],[-74.03719,18.6019],[-74.04003,18.60217],[-74.05608,18.60473],[-74.05851,18.6054],[-74.05861,18.60623],[-74.0611,18.60627],[-74.06481,18.60745],[-74.06518,18.60686],[-74.06679,18.60802],[-74.0696,18.60885],[-74.07142,18.60711],[-74.07239,18.60736],[-74.07515,18.61024],[-74.07701,18.61019],[-74.07798,18.61096],[-74.07901,18.61013],[-74.08109,18.61234],[-74.08234,18.60896],[-74.08383,18.60922],[-74.08513,18.60977],[-74.08668,18.61121]],[[-74.45922,18.4663],[-74.45589,18.46471],[-74.44779,18.47],[-74.44693,18.4713],[-74.44726,18.47934],[-74.44554,18.47915],[-74.44515,18.48326],[-74.43968,18.4839],[-74.439,18.48762],[-74.44299,18.49004],[-74.44906,18.49104],[-74.45382,18.49311],[-74.45571,18.49635],[-74.45786,18.49725],[-74.46052,18.49523],[-74.46241,18.49143],[-74.46198,18.48799],[-74.45537,18.48597],[-74.45526,18.47111],[-74.45944,18.46871],[-74.45922,18.4663]],[[-74.41888,18.57551],[-74.41499,18.57331],[-74.41045,18.57648],[-74.40824,18.58233],[-74.40954,18.58894],[-74.4112,18.59195],[-74.41081,18.59689],[-74.41663,18.60063],[-74.42178,18.59671],[-74.42146,18.59416],[-74.41745,18.59419],[-74.41753,18.59067],[-74.41538,18.59002],[-74.41533,18.58382],[-74.41652,18.58382],[-74.41756,18.5814],[-74.41756,18.57967],[-74.41924,18.57754],[-74.41888,18.57551]]]},{id:"Erlangen-2011",name:"Erlangen Luftbild (2011 5,0 cm)",type:"wms",template:"https://secure.erlangen.de/arcgiser/services/Luftbilder2011/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Erlangen_ratio10_5cm_gk4.jp2&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",polygon:[[[10.92791,49.53196],[10.97194,49.52969],[10.97821,49.53568],[10.99934,49.53589],[11.03214,49.53089],[11.04425,49.54317],[11.03842,49.55239],[11.03663,49.57167],[11.04029,49.58572],[11.07287,49.58587],[11.07243,49.63486],[11.0054,49.6344],[11.00397,49.62599],[10.9748,49.62541],[10.94293,49.64563],[10.92532,49.64876],[10.91002,49.63793],[10.92235,49.60463],[10.91949,49.57823],[10.91135,49.57095],[10.91256,49.5606],[10.92907,49.55674],[10.92791,49.53196]]],terms_text:"© Stadt Erlangen | © Aerowest GmbH"},{id:"Erlangen-2013",name:"Erlangen Luftbild (2013 6,25 cm)",type:"wms",template:"https://secure.erlangen.de/arcgiser/services/Luftbilder2013/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Erlangen_ratio5_6.25cm.jp2&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",polygon:[[[10.92791,49.53196],[10.9726,49.52939],[10.97909,49.53475],[10.99934,49.53589],[11.03214,49.53089],[11.04425,49.54317],[11.03842,49.55239],[11.03743,49.57873],[11.0568,49.592],[11.05748,49.61358],[11.04681,49.61447],[11.04788,49.6187],[11.00308,49.62367],[10.98107,49.62339],[10.98069,49.62617],[10.96737,49.62781],[10.96539,49.63415],[10.94293,49.64563],[10.92532,49.64876],[10.91002,49.63793],[10.92235,49.60463],[10.91949,49.57823],[10.91135,49.57095],[10.91256,49.5606],[10.92907,49.55674],[10.92791,49.53196]]],terms_text:"© Stadt Erlangen | © Aerowest GmbH"},{id:"Erlangen-2016",name:"Erlangen Luftbild (2016 5,0 cm)",type:"tms",template:"https://osm.rrze.fau.de/protected/YgktSWTTo6HS9nKi/lbe2016/{zoom}/{x}/{y}.jpg",endDate:"2016-03-18T00:00:00.000Z",startDate:"2016-03-18T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[10.97664,49.53765],[10.99101,49.53392],[10.99389,49.53835],[11.02784,49.53254],[11.0346,49.53462],[11.03407,49.53759],[11.04318,49.54321],[11.03557,49.55303],[11.0384,49.55842],[11.03508,49.56929],[11.03791,49.58659],[11.04797,49.5902],[11.04922,49.5937],[11.05749,49.59521],[11.05623,49.59905],[11.05127,49.6003],[11.05351,49.60904],[11.04309,49.61381],[11.04076,49.61823],[11.0285,49.61735],[11.01929,49.61896],[11.0152,49.61372],[11.00581,49.61448],[11.00639,49.61931],[11.00083,49.6221],[10.9856,49.61651],[10.97837,49.61753],[10.9737,49.62495],[10.96539,49.62557],[10.96063,49.62856],[10.96382,49.63176],[10.95474,49.6379],[10.94837,49.637],[10.94185,49.64377],[10.9273,49.64837],[10.92063,49.63963],[10.91136,49.63773],[10.92429,49.60505],[10.92205,49.58004],[10.91221,49.57008],[10.91441,49.5618],[10.92353,49.55842],[10.92712,49.55976],[10.93345,49.55892],[10.93071,49.54467],[10.93067,49.53225],[10.9406,49.53325],[10.95488,49.53021],[10.97199,49.53126],[10.97664,49.53765]]],terms_text:"© Stadt Erlangen | © GEOCART GmbH"},{id:"Erlangen-2018",name:"Erlangen Luftbild (2018 5,0 cm)",type:"tms",template:"https://osm.rrze.fau.de/protected/YgktSWTTo6HS9nKi/lbe2018/{zoom}/{x}/{y}.jpg",endDate:"2018-04-09T00:00:00.000Z",startDate:"2018-04-09T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[10.85157,49.55172],[10.93037,49.55272],[10.9326,49.55818],[10.91627,49.55882],[10.91144,49.56652],[10.92281,49.60584],[10.9108,49.63751],[10.92775,49.64838],[10.94444,49.64321],[10.96487,49.63317],[10.96384,49.62711],[10.9745,49.62483],[10.9786,49.61794],[10.98478,49.61694],[10.998,49.62228],[11.00813,49.62194],[11.0071,49.61449],[11.01448,49.61394],[11.02081,49.62292],[11.05757,49.63993],[11.08136,49.62614],[11.08312,49.62034],[11.10419,49.61524],[11.11767,49.61449],[11.11997,49.60377],[11.13132,49.60348],[11.1272,49.58815],[11.10271,49.58378],[11.08898,49.59124],[11.07988,49.60837],[11.05808,49.60971],[11.06049,49.59803],[11.06512,49.59614],[11.0689,49.58879],[11.06031,49.58556],[11.04469,49.58913],[11.03851,49.58556],[11.03577,49.57276],[11.03937,49.55785],[11.04272,49.5432],[11.03465,49.5324],[10.97531,49.53467],[10.97158,49.53084],[10.94279,49.52986],[10.94273,49.50582],[10.92163,49.50566],[10.91245,49.51829],[10.88818,49.52834],[10.87518,49.51725],[10.84872,49.52291],[10.84652,49.52797],[10.84637,49.53223],[10.85157,49.55172]]],terms_text:"© Stadt Erlangen | © Hansa Luftbild AG",best:true},{id:"EsriWorldImagery",name:"Esri World Imagery",type:"tms",template:"https://{switch:services,server}.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{zoom}/{y}/{x}",zoomExtent:[0,22],terms_url:"https://wiki.openstreetmap.org/wiki/Esri",terms_text:"Terms & Feedback","default":true,description:"Esri world imagery.",icon:"https://osmlab.github.io/editor-layer-index/sources/world/EsriImageryClarity.png"},{id:"EsriWorldImageryClarity",name:"Esri World Imagery (Clarity) Beta",type:"tms",template:"https://clarity.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/MapServer/tile/{zoom}/{y}/{x}",zoomExtent:[0,22],terms_url:"https://wiki.openstreetmap.org/wiki/Esri",terms_text:"Terms & Feedback","default":true,description:"Esri archive imagery that may be clearer and more accurate than the default layer.",icon:"https://osmlab.github.io/editor-layer-index/sources/world/EsriImageryClarity.png"},{id:"maaamet.ee-pohi_vr2",name:"Estonia Basemap (Maaamet)",type:"wms",template:"https://kaart.maaamet.ee/wms/alus-geo?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=pohi_vr2&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[22.35364,58.85385],[22.09411,58.85038],[22.09179,58.8951],[22.00503,58.89371],[21.99979,58.98374],[22.34754,58.98845],[22.34535,59.03337],[22.51935,59.03538],[22.51556,59.1251],[22.69017,59.12686],[22.69212,59.08218],[22.77912,59.083],[22.78083,59.03814],[22.86808,59.03877],[22.8693,58.99399],[22.9563,58.99487],[22.95495,59.03959],[23.12895,59.04097],[23.12786,59.08582],[23.47671,59.0877],[23.47415,59.26726],[23.64924,59.26788],[23.64888,59.31281],[23.73698,59.313],[23.73649,59.3578],[23.91158,59.35787],[23.91207,59.4028],[24.176,59.4028],[24.17637,59.4478],[24.26446,59.44767],[24.26471,59.49236],[24.70605,59.49082],[24.70898,59.62553],[24.79744,59.62497],[24.79659,59.58009],[24.97327,59.57885],[24.97462,59.62386],[24.88603,59.62473],[24.88725,59.66918],[24.9762,59.66863],[24.9773,59.71346],[25.06601,59.71259],[25.0632,59.62306],[25.24037,59.62145],[25.24184,59.66647],[25.33055,59.66548],[25.32884,59.62078],[25.41755,59.61979],[25.41938,59.66468],[25.6855,59.66148],[25.68757,59.70613],[25.86511,59.70386],[25.86279,59.65901],[26.12855,59.65507],[26.12575,59.6101],[26.39114,59.60565],[26.38809,59.56099],[26.82967,59.55215],[26.82626,59.50729],[26.91423,59.50549],[26.91057,59.46051],[27.96689,59.43303],[27.9719,59.4778],[28.03669,59.4757],[28.04377,59.47223],[28.04767,59.46578],[28.05182,59.46342],[28.06915,59.46256],[28.08452,59.45939],[28.12174,59.44091],[28.13577,59.4277],[28.13711,59.42267],[28.14163,59.41901],[28.16652,59.41205],[28.17225,59.40789],[28.19275,59.4015],[28.21069,59.3836],[28.21069,59.37994],[28.20386,59.37459],[28.21057,59.37235],[28.21105,59.36937],[28.20678,59.36719],[28.20703,59.36377],[28.19971,59.36091],[28.20203,59.35731],[28.19263,59.35227],[28.19397,59.34642],[28.16969,59.33354],[28.13626,59.29244],[28.12515,59.28901],[28.11722,59.28895],[28.1099,59.29063],[28.05353,59.2902],[28.02022,59.28334],[27.99825,59.2753],[27.97983,59.27293],[27.96433,59.27268],[27.95335,59.26863],[27.9492,59.26533],[27.90564,59.24044],[27.90113,59.23488],[27.901,59.22639],[27.89783,59.21746],[27.90235,59.20728],[27.89234,59.19222],[27.88978,59.18379],[27.87648,59.17372],[27.87184,59.16841],[27.86818,59.16159],[27.84414,59.14814],[27.83206,59.14401],[27.82035,59.13362],[27.80986,59.12905],[27.80595,59.12166],[27.80534,59.1127],[27.81071,59.10819],[27.8101,59.10606],[27.80205,59.1028],[27.78887,59.0909],[27.7907,59.08112],[27.79375,59.07842],[27.79411,59.07566],[27.79277,59.0729],[27.79302,59.06927],[27.7885,59.06657],[27.78265,59.065],[27.77508,59.0581],[27.77313,59.05107],[27.77667,59.04743],[27.76983,59.03325],[27.76605,59.03155],[27.75153,59.03017],[27.74628,59.02716],[27.74567,59.01705],[27.74165,59.00951],[27.74787,58.99267],[27.74274,58.98845],[27.73213,58.9855],[27.6544,58.98783],[27.65501,58.99241],[27.39414,58.99964],[27.38974,58.95474],[27.12935,58.96135],[27.12557,58.9164],[27.03882,58.91841],[27.0271,58.7841],[27.11361,58.78183],[27.10934,58.73709],[27.19537,58.73512],[27.18731,58.64533],[27.27309,58.64305],[27.25259,58.41883],[27.53397,58.41142],[27.5552,58.36575],[27.51762,58.33265],[27.51408,58.32214],[27.49993,58.32246],[27.48687,58.18803],[27.52872,58.18687],[27.59205,58.11875],[27.63695,58.09735],[27.60938,58.05399],[27.62268,58.0058],[27.64489,58.00205],[27.65294,58.00644],[27.64781,58.01426],[27.64781,58.02086],[27.66172,58.01866],[27.66856,58.01045],[27.68393,58.00845],[27.6965,58.0045],[27.70065,57.99862],[27.69882,57.98827],[27.69125,57.98549],[27.68064,57.97449],[27.6821,57.9719],[27.68893,57.97184],[27.68588,57.95928],[27.65892,57.9554],[27.66758,57.951],[27.67161,57.94627],[27.66917,57.94174],[27.67649,57.93552],[27.68247,57.93655],[27.68613,57.92794],[27.68247,57.92437],[27.71078,57.92392],[27.72029,57.92036],[27.72054,57.91174],[27.70834,57.90616],[27.69882,57.90616],[27.70614,57.90136],[27.72896,57.90739],[27.74677,57.90169],[27.7536,57.90409],[27.75739,57.90318],[27.75592,57.89806],[27.76959,57.89566],[27.78094,57.89832],[27.799,57.89961],[27.81852,57.89579],[27.82096,57.89047],[27.81949,57.888],[27.81059,57.88612],[27.81827,57.88249],[27.81169,57.87204],[27.81583,57.87166],[27.8184,57.8651],[27.81632,57.86134],[27.79875,57.85205],[27.7946,57.84634],[27.80058,57.8442],[27.7957,57.84017],[27.78862,57.84186],[27.78411,57.83725],[27.77715,57.8325],[27.75849,57.83536],[27.74165,57.82679],[27.72383,57.83179],[27.70541,57.84192],[27.68771,57.83419],[27.66636,57.83653],[27.66026,57.83893],[27.64818,57.8377],[27.63634,57.83978],[27.62487,57.83751],[27.62207,57.83874],[27.59791,57.83328],[27.56252,57.83023],[27.5563,57.83127],[27.55227,57.82113],[27.54446,57.82204],[27.5452,57.81808],[27.55056,57.81769],[27.55667,57.81366],[27.5408,57.81288],[27.54471,57.808],[27.53726,57.80644],[27.53958,57.80144],[27.53592,57.79663],[27.53861,57.79396],[27.52921,57.78856],[27.5175,57.78876],[27.51847,57.79201],[27.50298,57.78798],[27.50005,57.78973],[27.4959,57.78869],[27.50774,57.78349],[27.51457,57.77516],[27.5081,57.77158],[27.51115,57.76416],[27.51591,57.7639],[27.52018,57.75993],[27.52811,57.75818],[27.53007,57.75368],[27.53116,57.74073],[27.548,57.7333],[27.5419,57.73037],[27.52799,57.72946],[27.5236,57.71616],[27.52762,57.70899],[27.5236,57.70802],[27.51652,57.70873],[27.51066,57.71101],[27.50859,57.70723],[27.49993,57.70495],[27.49529,57.70749],[27.48711,57.7191],[27.47357,57.71545],[27.47064,57.70802],[27.46149,57.70619],[27.44807,57.71616],[27.43086,57.70756],[27.42818,57.69902],[27.41341,57.69915],[27.41647,57.69524],[27.40744,57.69276],[27.40231,57.68493],[27.39133,57.68539],[27.39377,57.67913],[27.39145,57.67671],[27.38193,57.67332],[27.37779,57.66836],[27.38364,57.66059],[27.3801,57.65883],[27.38755,57.6555],[27.38047,57.6495],[27.38352,57.64799],[27.38157,57.64368],[27.39072,57.6431],[27.38816,57.64009],[27.40085,57.63742],[27.40317,57.62905],[27.40182,57.62376],[27.39597,57.62115],[27.39023,57.62036],[27.39084,57.6169],[27.40195,57.61775],[27.40634,57.61546],[27.40683,57.61246],[27.38572,57.60304],[27.37827,57.59513],[27.35692,57.59696],[27.3413,57.58984],[27.34179,57.58539],[27.32886,57.5797],[27.32141,57.57898],[27.3341,57.56596],[27.33178,57.56066],[27.33776,57.56007],[27.33886,57.54671],[27.34386,57.5454],[27.35472,57.52575],[27.35131,57.51632],[27.34569,57.52104],[27.32446,57.52274],[27.29664,57.53859],[27.28017,57.53643],[27.2737,57.54311],[27.26431,57.54377],[27.2637,57.54841],[27.25772,57.54979],[27.24796,57.54769],[27.2249,57.55385],[27.19329,57.54966],[27.16145,57.55922],[27.11654,57.56118],[27.10092,57.5653],[27.08506,57.57538],[27.07262,57.57734],[27.07225,57.57989],[27.0559,57.58251],[27.05285,57.58087],[27.04687,57.58048],[27.04492,57.58251],[27.0332,57.58532],[27.04126,57.58761],[27.04418,57.5967],[27.03101,57.60461],[26.99513,57.60461],[26.99233,57.61076],[26.98696,57.60867],[26.98366,57.61174],[26.97549,57.612],[26.97097,57.60448],[26.9595,57.60625],[26.9578,57.60468],[26.94596,57.60272],[26.93961,57.60932],[26.95133,57.61579],[26.94999,57.62056],[26.94059,57.61978],[26.92961,57.62376],[26.92644,57.6331],[26.90679,57.63304],[26.89971,57.63056],[26.90057,57.62918],[26.89581,57.62572],[26.88849,57.62357],[26.88898,57.62193],[26.87458,57.61906],[26.87275,57.61736],[26.86555,57.61592],[26.85786,57.60997],[26.86469,57.6084],[26.85811,57.60049],[26.85994,57.59598],[26.86433,57.59415],[26.86177,57.59108],[26.84688,57.5884],[26.83504,57.58244],[26.81589,57.58153],[26.80954,57.58473],[26.79685,57.58179],[26.79929,57.58002],[26.79295,57.57315],[26.78685,57.57525],[26.7766,57.55994],[26.76915,57.56039],[26.76354,57.56314],[26.75366,57.56249],[26.75817,57.5653],[26.76891,57.57041],[26.77379,57.57473],[26.76769,57.57754],[26.74804,57.5778],[26.75317,57.58009],[26.73816,57.58774],[26.72901,57.58016],[26.73828,57.57584],[26.73072,57.56903],[26.72388,57.57244],[26.71107,57.56596],[26.69972,57.57106],[26.69753,57.5706],[26.69741,57.56733],[26.69155,57.56615],[26.67569,57.56668],[26.67105,57.56327],[26.6719,57.55385],[26.66531,57.55287],[26.64652,57.55391],[26.64262,57.54658],[26.63444,57.54357],[26.61443,57.52909],[26.61712,57.50885],[26.60467,57.51212],[26.60479,57.51442],[26.5954,57.51376],[26.59479,57.51592],[26.58808,57.51619],[26.59015,57.52516],[26.58698,57.52621],[26.58771,57.53781],[26.58381,57.53957],[26.57978,57.53695],[26.57966,57.53375],[26.56123,57.5285],[26.56184,57.52261],[26.5666,57.51946],[26.55794,57.5137],[26.52585,57.51619],[26.49961,57.52451],[26.49095,57.54534],[26.46996,57.57551],[26.40151,57.57237],[26.34489,57.58408],[26.33476,57.5797],[26.32781,57.57963],[26.32635,57.58277],[26.3117,57.58473],[26.30853,57.59291],[26.3006,57.59343],[26.29291,57.59114],[26.28352,57.59232],[26.28217,57.5952],[26.27754,57.595],[26.27034,57.6001],[26.27022,57.60461],[26.25423,57.61383],[26.24715,57.62082],[26.24813,57.62775],[26.23947,57.63408],[26.24203,57.63539],[26.24667,57.63559],[26.23959,57.64649],[26.23239,57.6461],[26.23117,57.64904],[26.24215,57.65146],[26.2363,57.65753],[26.23032,57.65805],[26.21043,57.66601],[26.21372,57.66888],[26.21092,57.67071],[26.21018,57.67906],[26.20079,57.68102],[26.19896,57.68356],[26.19444,57.68519],[26.18541,57.68454],[26.17712,57.68761],[26.18871,57.69472],[26.19859,57.70906],[26.20567,57.71486],[26.1726,57.72867],[26.141,57.73278],[26.13563,57.73923],[26.13905,57.74548],[26.13551,57.7503],[26.10537,57.757],[26.08035,57.76547],[26.07974,57.76384],[26.07328,57.76371],[26.07047,57.7656],[26.05912,57.75987],[26.049,57.7611],[26.0435,57.76703],[26.03326,57.77054],[26.02374,57.76761],[26.01776,57.7723],[26.02459,57.77516],[26.02496,57.7816],[26.02252,57.78355],[26.02776,57.7898],[26.03081,57.79097],[26.03338,57.80105],[26.03679,57.80592],[26.03606,57.8108],[26.04851,57.82289],[26.05705,57.83842],[26.05558,57.84764],[26.03667,57.84926],[26.02008,57.84517],[26.00958,57.85731],[25.99848,57.85816],[25.96273,57.84491],[25.931,57.85244],[25.89537,57.84972],[25.8883,57.84595],[25.88085,57.84946],[25.88573,57.85277],[25.88427,57.85595],[25.87561,57.85796],[25.87475,57.86322],[25.8595,57.85614],[25.81923,57.86419],[25.78312,57.89948],[25.78629,57.90428],[25.77165,57.91206],[25.75102,57.91692],[25.73724,57.92295],[25.72833,57.92133],[25.72247,57.91245],[25.70356,57.90331],[25.67916,57.90461],[25.67549,57.91277],[25.66207,57.91511],[25.65609,57.91439],[25.64889,57.91666],[25.64987,57.91841],[25.63828,57.93059],[25.57983,57.9442],[25.59399,57.95961],[25.58935,57.96504],[25.58239,57.96783],[25.58044,57.9721],[25.57483,57.9741],[25.56556,57.96718],[25.56604,57.96258],[25.55714,57.96038],[25.55567,57.96711],[25.55079,57.97255],[25.53725,57.97139],[25.52566,57.97184],[25.5226,57.96802],[25.51638,57.96737],[25.51211,57.96977],[25.52212,57.97488],[25.51943,57.98031],[25.48539,57.97475],[25.47843,57.98006],[25.47843,57.98264],[25.44219,57.99616],[25.44817,58.00114],[25.46648,58.00515],[25.44817,58.01698],[25.40693,58.02893],[25.37155,58.02926],[25.36374,58.03171],[25.35336,58.04334],[25.34482,58.04676],[25.33604,58.05709],[25.3292,58.05858],[25.32664,58.0638],[25.31981,58.066],[25.31908,58.06929],[25.29553,58.08161],[25.28686,58.08149],[25.28113,58.07019],[25.266,58.06716],[25.26502,58.06],[25.27991,58.05063],[25.29309,58.0467],[25.30431,58.03449],[25.30114,58.01504],[25.29748,58.01459],[25.30285,58.00011],[25.29577,57.99972],[25.29736,57.99661],[25.30358,57.99396],[25.30138,57.99273],[25.29187,57.99286],[25.28308,57.98963],[25.26722,57.99454],[25.25611,57.9939],[25.25502,58.00347],[25.2455,58.00302],[25.22768,58.01782],[25.24587,58.01872],[25.23562,58.02286],[25.23635,58.02441],[25.22732,58.02435],[25.22537,58.02195],[25.21902,58.02977],[25.21658,58.04088],[25.22695,58.04799],[25.22817,58.05348],[25.22122,58.05302],[25.22146,58.05051],[25.2178,58.04908],[25.21597,58.05954],[25.21219,58.06226],[25.20523,58.06122],[25.20389,58.0651],[25.21621,58.07413],[25.21207,58.08052],[25.19962,58.08536],[25.18949,58.08007],[25.19169,58.07613],[25.1535,58.07478],[25.15154,58.07703],[25.13397,58.07974],[25.10579,58.07749],[25.10518,58.06645],[25.07662,58.06645],[25.02037,58.01769],[24.99512,58.01084],[24.94863,58.00942],[24.83234,57.97177],[24.80806,57.99066],[24.74229,57.98187],[24.74339,57.96491],[24.7329,57.96239],[24.71508,57.96271],[24.6919,57.94653],[24.67335,57.95896],[24.64468,57.95889],[24.64187,57.95423],[24.64577,57.95268],[24.62869,57.94193],[24.61612,57.94368],[24.60892,57.95125],[24.58464,57.96174],[24.57317,57.95436],[24.54792,57.94938],[24.54352,57.94478],[24.5301,57.94705],[24.5207,57.94303],[24.51839,57.93675],[24.5096,57.93442],[24.51326,57.93066],[24.4625,57.92496],[24.44579,57.90798],[24.46018,57.90662],[24.45225,57.89942],[24.46006,57.87977],[24.41138,57.86491],[24.40906,57.87191],[24.33707,57.87393],[24.33829,58.0109],[24.42272,58.01097],[24.42614,58.28002],[24.51155,58.2797],[24.51216,58.32471],[24.42638,58.32503],[24.42712,58.36972],[24.34182,58.37017],[24.34048,58.23547],[24.17014,58.23572],[24.17014,58.1908],[24.08485,58.19092],[24.0851,58.23605],[24.00066,58.23579],[23.99993,58.28092],[23.82971,58.28047],[23.82947,58.32554],[23.65864,58.32496],[23.65791,58.41493],[23.57225,58.41468],[23.57127,58.50436],[23.39935,58.50359],[23.40106,58.41391],[23.14421,58.41238],[23.14567,58.36735],[23.05989,58.36703],[23.06172,58.32221],[22.9757,58.32157],[22.97716,58.27681],[22.89187,58.27598],[22.89358,58.23103],[22.80865,58.2302],[22.81012,58.18539],[22.89529,58.1861],[22.89663,58.1413],[22.72641,58.13982],[22.72495,58.18475],[22.55522,58.18276],[22.55693,58.13744],[22.64173,58.13886],[22.64344,58.094],[22.38903,58.0909],[22.38525,58.18063],[22.29995,58.17967],[22.30679,58.04527],[22.22198,58.0436],[22.22626,57.95404],[22.14206,57.95281],[22.1445,57.90804],[22.06007,57.90681],[22.06263,57.86186],[21.97807,57.86043],[21.96831,58.04004],[22.05274,58.04134],[22.04506,58.17581],[21.96038,58.17471],[21.95781,58.21941],[21.78723,58.21638],[21.78211,58.30631],[21.69681,58.3049],[21.69401,58.34975],[21.77942,58.35122],[21.76795,58.53074],[22.02566,58.53488],[22.02797,58.49001],[22.11375,58.49167],[22.11144,58.53621],[22.19709,58.53742],[22.19453,58.5823],[22.45236,58.58573],[22.44638,58.7203],[22.36023,58.71916],[22.35364,58.85385]],[[23.47415,59.26726],[23.29868,59.26632],[23.29795,59.31138],[23.47293,59.31194],[23.47415,59.26726]],[[24.17014,58.1908],[24.25507,58.19073],[24.25458,58.14581],[24.17002,58.14588],[24.17014,58.1908]],[[24.08485,58.19092],[24.08497,58.10129],[23.99968,58.10116],[23.99993,58.05632],[23.91525,58.05612],[23.915,58.14613],[23.83032,58.146],[23.82971,58.23572],[23.91451,58.23585],[23.91476,58.19099],[24.08485,58.19092]],[[24.61854,59.53612],[24.44183,59.5368],[24.44309,59.62659],[24.62016,59.6258],[24.61854,59.53612]],[[26.40403,59.7852],[26.31501,59.78667],[26.31814,59.83152],[26.40732,59.82994],[26.40403,59.7852]],[[26.48308,59.649],[26.48647,59.69383],[26.57514,59.69202],[26.57166,59.64719],[26.48308,59.649]],[[23.15944,57.78408],[23.24346,57.78461],[23.24445,57.73971],[23.32848,57.74031],[23.32679,57.82998],[23.15845,57.82885],[23.15944,57.78408]]],terms_text:"Maa-Ameti põhikaart"},{id:"Maaamet-Estonia_Cadastre",name:"Estonia Cadastre (Maaamet)",type:"wms",template:"https://kaart.maaamet.ee/wms/alus-geo?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=of10000,TOPOYKSUS_6569,TOPOYKSUS_6573&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[22.35364,58.85385],[22.09411,58.85038],[22.09179,58.8951],[22.00503,58.89371],[21.99979,58.98374],[22.34754,58.98845],[22.34535,59.03337],[22.51935,59.03538],[22.51556,59.1251],[22.69017,59.12686],[22.69212,59.08218],[22.77912,59.083],[22.78083,59.03814],[22.86808,59.03877],[22.8693,58.99399],[22.9563,58.99487],[22.95495,59.03959],[23.12895,59.04097],[23.12786,59.08582],[23.47671,59.0877],[23.47415,59.26726],[23.64924,59.26788],[23.64888,59.31281],[23.73698,59.313],[23.73649,59.3578],[23.91158,59.35787],[23.91207,59.4028],[24.176,59.4028],[24.17637,59.4478],[24.26446,59.44767],[24.26471,59.49236],[24.70605,59.49082],[24.70898,59.62553],[24.79744,59.62497],[24.79659,59.58009],[24.97327,59.57885],[24.97462,59.62386],[24.88603,59.62473],[24.88725,59.66918],[24.9762,59.66863],[24.9773,59.71346],[25.06601,59.71259],[25.0632,59.62306],[25.24037,59.62145],[25.24184,59.66647],[25.33055,59.66548],[25.32884,59.62078],[25.41755,59.61979],[25.41938,59.66468],[25.6855,59.66148],[25.68757,59.70613],[25.86511,59.70386],[25.86279,59.65901],[26.12855,59.65507],[26.12575,59.6101],[26.39114,59.60565],[26.38809,59.56099],[26.82967,59.55215],[26.82626,59.50729],[26.91423,59.50549],[26.91057,59.46051],[27.96689,59.43303],[27.9719,59.4778],[28.03669,59.4757],[28.04377,59.47223],[28.04767,59.46578],[28.05182,59.46342],[28.06915,59.46256],[28.08452,59.45939],[28.12174,59.44091],[28.13577,59.4277],[28.13711,59.42267],[28.14163,59.41901],[28.16652,59.41205],[28.17225,59.40789],[28.19275,59.4015],[28.21069,59.3836],[28.21069,59.37994],[28.20386,59.37459],[28.21057,59.37235],[28.21105,59.36937],[28.20678,59.36719],[28.20703,59.36377],[28.19971,59.36091],[28.20203,59.35731],[28.19263,59.35227],[28.19397,59.34642],[28.16969,59.33354],[28.13626,59.29244],[28.12515,59.28901],[28.11722,59.28895],[28.1099,59.29063],[28.05353,59.2902],[28.02022,59.28334],[27.99825,59.2753],[27.97983,59.27293],[27.96433,59.27268],[27.95335,59.26863],[27.9492,59.26533],[27.90564,59.24044],[27.90113,59.23488],[27.901,59.22639],[27.89783,59.21746],[27.90235,59.20728],[27.89234,59.19222],[27.88978,59.18379],[27.87648,59.17372],[27.87184,59.16841],[27.86818,59.16159],[27.84414,59.14814],[27.83206,59.14401],[27.82035,59.13362],[27.80986,59.12905],[27.80595,59.12166],[27.80534,59.1127],[27.81071,59.10819],[27.8101,59.10606],[27.80205,59.1028],[27.78887,59.0909],[27.7907,59.08112],[27.79375,59.07842],[27.79411,59.07566],[27.79277,59.0729],[27.79302,59.06927],[27.7885,59.06657],[27.78265,59.065],[27.77508,59.0581],[27.77313,59.05107],[27.77667,59.04743],[27.76983,59.03325],[27.76605,59.03155],[27.75153,59.03017],[27.74628,59.02716],[27.74567,59.01705],[27.74165,59.00951],[27.74787,58.99267],[27.74274,58.98845],[27.73213,58.9855],[27.6544,58.98783],[27.65501,58.99241],[27.39414,58.99964],[27.38974,58.95474],[27.12935,58.96135],[27.12557,58.9164],[27.03882,58.91841],[27.0271,58.7841],[27.11361,58.78183],[27.10934,58.73709],[27.19537,58.73512],[27.18731,58.64533],[27.27309,58.64305],[27.25259,58.41883],[27.53397,58.41142],[27.5552,58.36575],[27.51762,58.33265],[27.51408,58.32214],[27.49993,58.32246],[27.48687,58.18803],[27.52872,58.18687],[27.59205,58.11875],[27.63695,58.09735],[27.60938,58.05399],[27.62268,58.0058],[27.64489,58.00205],[27.65294,58.00644],[27.64781,58.01426],[27.64781,58.02086],[27.66172,58.01866],[27.66856,58.01045],[27.68393,58.00845],[27.6965,58.0045],[27.70065,57.99862],[27.69882,57.98827],[27.69125,57.98549],[27.68064,57.97449],[27.6821,57.9719],[27.68893,57.97184],[27.68588,57.95928],[27.65892,57.9554],[27.66758,57.951],[27.67161,57.94627],[27.66917,57.94174],[27.67649,57.93552],[27.68247,57.93655],[27.68613,57.92794],[27.68247,57.92437],[27.71078,57.92392],[27.72029,57.92036],[27.72054,57.91174],[27.70834,57.90616],[27.69882,57.90616],[27.70614,57.90136],[27.72896,57.90739],[27.74677,57.90169],[27.7536,57.90409],[27.75739,57.90318],[27.75592,57.89806],[27.76959,57.89566],[27.78094,57.89832],[27.799,57.89961],[27.81852,57.89579],[27.82096,57.89047],[27.81949,57.888],[27.81059,57.88612],[27.81827,57.88249],[27.81169,57.87204],[27.81583,57.87166],[27.8184,57.8651],[27.81632,57.86134],[27.79875,57.85205],[27.7946,57.84634],[27.80058,57.8442],[27.7957,57.84017],[27.78862,57.84186],[27.78411,57.83725],[27.77715,57.8325],[27.75849,57.83536],[27.74165,57.82679],[27.72383,57.83179],[27.70541,57.84192],[27.68771,57.83419],[27.66636,57.83653],[27.66026,57.83893],[27.64818,57.8377],[27.63634,57.83978],[27.62487,57.83751],[27.62207,57.83874],[27.59791,57.83328],[27.56252,57.83023],[27.5563,57.83127],[27.55227,57.82113],[27.54446,57.82204],[27.5452,57.81808],[27.55056,57.81769],[27.55667,57.81366],[27.5408,57.81288],[27.54471,57.808],[27.53726,57.80644],[27.53958,57.80144],[27.53592,57.79663],[27.53861,57.79396],[27.52921,57.78856],[27.5175,57.78876],[27.51847,57.79201],[27.50298,57.78798],[27.50005,57.78973],[27.4959,57.78869],[27.50774,57.78349],[27.51457,57.77516],[27.5081,57.77158],[27.51115,57.76416],[27.51591,57.7639],[27.52018,57.75993],[27.52811,57.75818],[27.53007,57.75368],[27.53116,57.74073],[27.548,57.7333],[27.5419,57.73037],[27.52799,57.72946],[27.5236,57.71616],[27.52762,57.70899],[27.5236,57.70802],[27.51652,57.70873],[27.51066,57.71101],[27.50859,57.70723],[27.49993,57.70495],[27.49529,57.70749],[27.48711,57.7191],[27.47357,57.71545],[27.47064,57.70802],[27.46149,57.70619],[27.44807,57.71616],[27.43086,57.70756],[27.42818,57.69902],[27.41341,57.69915],[27.41647,57.69524],[27.40744,57.69276],[27.40231,57.68493],[27.39133,57.68539],[27.39377,57.67913],[27.39145,57.67671],[27.38193,57.67332],[27.37779,57.66836],[27.38364,57.66059],[27.3801,57.65883],[27.38755,57.6555],[27.38047,57.6495],[27.38352,57.64799],[27.38157,57.64368],[27.39072,57.6431],[27.38816,57.64009],[27.40085,57.63742],[27.40317,57.62905],[27.40182,57.62376],[27.39597,57.62115],[27.39023,57.62036],[27.39084,57.6169],[27.40195,57.61775],[27.40634,57.61546],[27.40683,57.61246],[27.38572,57.60304],[27.37827,57.59513],[27.35692,57.59696],[27.3413,57.58984],[27.34179,57.58539],[27.32886,57.5797],[27.32141,57.57898],[27.3341,57.56596],[27.33178,57.56066],[27.33776,57.56007],[27.33886,57.54671],[27.34386,57.5454],[27.35472,57.52575],[27.35131,57.51632],[27.34569,57.52104],[27.32446,57.52274],[27.29664,57.53859],[27.28017,57.53643],[27.2737,57.54311],[27.26431,57.54377],[27.2637,57.54841],[27.25772,57.54979],[27.24796,57.54769],[27.2249,57.55385],[27.19329,57.54966],[27.16145,57.55922],[27.11654,57.56118],[27.10092,57.5653],[27.08506,57.57538],[27.07262,57.57734],[27.07225,57.57989],[27.0559,57.58251],[27.05285,57.58087],[27.04687,57.58048],[27.04492,57.58251],[27.0332,57.58532],[27.04126,57.58761],[27.04418,57.5967],[27.03101,57.60461],[26.99513,57.60461],[26.99233,57.61076],[26.98696,57.60867],[26.98366,57.61174],[26.97549,57.612],[26.97097,57.60448],[26.9595,57.60625],[26.9578,57.60468],[26.94596,57.60272],[26.93961,57.60932],[26.95133,57.61579],[26.94999,57.62056],[26.94059,57.61978],[26.92961,57.62376],[26.92644,57.6331],[26.90679,57.63304],[26.89971,57.63056],[26.90057,57.62918],[26.89581,57.62572],[26.88849,57.62357],[26.88898,57.62193],[26.87458,57.61906],[26.87275,57.61736],[26.86555,57.61592],[26.85786,57.60997],[26.86469,57.6084],[26.85811,57.60049],[26.85994,57.59598],[26.86433,57.59415],[26.86177,57.59108],[26.84688,57.5884],[26.83504,57.58244],[26.81589,57.58153],[26.80954,57.58473],[26.79685,57.58179],[26.79929,57.58002],[26.79295,57.57315],[26.78685,57.57525],[26.7766,57.55994],[26.76915,57.56039],[26.76354,57.56314],[26.75366,57.56249],[26.75817,57.5653],[26.76891,57.57041],[26.77379,57.57473],[26.76769,57.57754],[26.74804,57.5778],[26.75317,57.58009],[26.73816,57.58774],[26.72901,57.58016],[26.73828,57.57584],[26.73072,57.56903],[26.72388,57.57244],[26.71107,57.56596],[26.69972,57.57106],[26.69753,57.5706],[26.69741,57.56733],[26.69155,57.56615],[26.67569,57.56668],[26.67105,57.56327],[26.6719,57.55385],[26.66531,57.55287],[26.64652,57.55391],[26.64262,57.54658],[26.63444,57.54357],[26.61443,57.52909],[26.61712,57.50885],[26.60467,57.51212],[26.60479,57.51442],[26.5954,57.51376],[26.59479,57.51592],[26.58808,57.51619],[26.59015,57.52516],[26.58698,57.52621],[26.58771,57.53781],[26.58381,57.53957],[26.57978,57.53695],[26.57966,57.53375],[26.56123,57.5285],[26.56184,57.52261],[26.5666,57.51946],[26.55794,57.5137],[26.52585,57.51619],[26.49961,57.52451],[26.49095,57.54534],[26.46996,57.57551],[26.40151,57.57237],[26.34489,57.58408],[26.33476,57.5797],[26.32781,57.57963],[26.32635,57.58277],[26.3117,57.58473],[26.30853,57.59291],[26.3006,57.59343],[26.29291,57.59114],[26.28352,57.59232],[26.28217,57.5952],[26.27754,57.595],[26.27034,57.6001],[26.27022,57.60461],[26.25423,57.61383],[26.24715,57.62082],[26.24813,57.62775],[26.23947,57.63408],[26.24203,57.63539],[26.24667,57.63559],[26.23959,57.64649],[26.23239,57.6461],[26.23117,57.64904],[26.24215,57.65146],[26.2363,57.65753],[26.23032,57.65805],[26.21043,57.66601],[26.21372,57.66888],[26.21092,57.67071],[26.21018,57.67906],[26.20079,57.68102],[26.19896,57.68356],[26.19444,57.68519],[26.18541,57.68454],[26.17712,57.68761],[26.18871,57.69472],[26.19859,57.70906],[26.20567,57.71486],[26.1726,57.72867],[26.141,57.73278],[26.13563,57.73923],[26.13905,57.74548],[26.13551,57.7503],[26.10537,57.757],[26.08035,57.76547],[26.07974,57.76384],[26.07328,57.76371],[26.07047,57.7656],[26.05912,57.75987],[26.049,57.7611],[26.0435,57.76703],[26.03326,57.77054],[26.02374,57.76761],[26.01776,57.7723],[26.02459,57.77516],[26.02496,57.7816],[26.02252,57.78355],[26.02776,57.7898],[26.03081,57.79097],[26.03338,57.80105],[26.03679,57.80592],[26.03606,57.8108],[26.04851,57.82289],[26.05705,57.83842],[26.05558,57.84764],[26.03667,57.84926],[26.02008,57.84517],[26.00958,57.85731],[25.99848,57.85816],[25.96273,57.84491],[25.931,57.85244],[25.89537,57.84972],[25.8883,57.84595],[25.88085,57.84946],[25.88573,57.85277],[25.88427,57.85595],[25.87561,57.85796],[25.87475,57.86322],[25.8595,57.85614],[25.81923,57.86419],[25.78312,57.89948],[25.78629,57.90428],[25.77165,57.91206],[25.75102,57.91692],[25.73724,57.92295],[25.72833,57.92133],[25.72247,57.91245],[25.70356,57.90331],[25.67916,57.90461],[25.67549,57.91277],[25.66207,57.91511],[25.65609,57.91439],[25.64889,57.91666],[25.64987,57.91841],[25.63828,57.93059],[25.57983,57.9442],[25.59399,57.95961],[25.58935,57.96504],[25.58239,57.96783],[25.58044,57.9721],[25.57483,57.9741],[25.56556,57.96718],[25.56604,57.96258],[25.55714,57.96038],[25.55567,57.96711],[25.55079,57.97255],[25.53725,57.97139],[25.52566,57.97184],[25.5226,57.96802],[25.51638,57.96737],[25.51211,57.96977],[25.52212,57.97488],[25.51943,57.98031],[25.48539,57.97475],[25.47843,57.98006],[25.47843,57.98264],[25.44219,57.99616],[25.44817,58.00114],[25.46648,58.00515],[25.44817,58.01698],[25.40693,58.02893],[25.37155,58.02926],[25.36374,58.03171],[25.35336,58.04334],[25.34482,58.04676],[25.33604,58.05709],[25.3292,58.05858],[25.32664,58.0638],[25.31981,58.066],[25.31908,58.06929],[25.29553,58.08161],[25.28686,58.08149],[25.28113,58.07019],[25.266,58.06716],[25.26502,58.06],[25.27991,58.05063],[25.29309,58.0467],[25.30431,58.03449],[25.30114,58.01504],[25.29748,58.01459],[25.30285,58.00011],[25.29577,57.99972],[25.29736,57.99661],[25.30358,57.99396],[25.30138,57.99273],[25.29187,57.99286],[25.28308,57.98963],[25.26722,57.99454],[25.25611,57.9939],[25.25502,58.00347],[25.2455,58.00302],[25.22768,58.01782],[25.24587,58.01872],[25.23562,58.02286],[25.23635,58.02441],[25.22732,58.02435],[25.22537,58.02195],[25.21902,58.02977],[25.21658,58.04088],[25.22695,58.04799],[25.22817,58.05348],[25.22122,58.05302],[25.22146,58.05051],[25.2178,58.04908],[25.21597,58.05954],[25.21219,58.06226],[25.20523,58.06122],[25.20389,58.0651],[25.21621,58.07413],[25.21207,58.08052],[25.19962,58.08536],[25.18949,58.08007],[25.19169,58.07613],[25.1535,58.07478],[25.15154,58.07703],[25.13397,58.07974],[25.10579,58.07749],[25.10518,58.06645],[25.07662,58.06645],[25.02037,58.01769],[24.99512,58.01084],[24.94863,58.00942],[24.83234,57.97177],[24.80806,57.99066],[24.74229,57.98187],[24.74339,57.96491],[24.7329,57.96239],[24.71508,57.96271],[24.6919,57.94653],[24.67335,57.95896],[24.64468,57.95889],[24.64187,57.95423],[24.64577,57.95268],[24.62869,57.94193],[24.61612,57.94368],[24.60892,57.95125],[24.58464,57.96174],[24.57317,57.95436],[24.54792,57.94938],[24.54352,57.94478],[24.5301,57.94705],[24.5207,57.94303],[24.51839,57.93675],[24.5096,57.93442],[24.51326,57.93066],[24.4625,57.92496],[24.44579,57.90798],[24.46018,57.90662],[24.45225,57.89942],[24.46006,57.87977],[24.41138,57.86491],[24.40906,57.87191],[24.33707,57.87393],[24.33829,58.0109],[24.42272,58.01097],[24.42614,58.28002],[24.51155,58.2797],[24.51216,58.32471],[24.42638,58.32503],[24.42712,58.36972],[24.34182,58.37017],[24.34048,58.23547],[24.17014,58.23572],[24.17014,58.1908],[24.08485,58.19092],[24.0851,58.23605],[24.00066,58.23579],[23.99993,58.28092],[23.82971,58.28047],[23.82947,58.32554],[23.65864,58.32496],[23.65791,58.41493],[23.57225,58.41468],[23.57127,58.50436],[23.39935,58.50359],[23.40106,58.41391],[23.14421,58.41238],[23.14567,58.36735],[23.05989,58.36703],[23.06172,58.32221],[22.9757,58.32157],[22.97716,58.27681],[22.89187,58.27598],[22.89358,58.23103],[22.80865,58.2302],[22.81012,58.18539],[22.89529,58.1861],[22.89663,58.1413],[22.72641,58.13982],[22.72495,58.18475],[22.55522,58.18276],[22.55693,58.13744],[22.64173,58.13886],[22.64344,58.094],[22.38903,58.0909],[22.38525,58.18063],[22.29995,58.17967],[22.30679,58.04527],[22.22198,58.0436],[22.22626,57.95404],[22.14206,57.95281],[22.1445,57.90804],[22.06007,57.90681],[22.06263,57.86186],[21.97807,57.86043],[21.96831,58.04004],[22.05274,58.04134],[22.04506,58.17581],[21.96038,58.17471],[21.95781,58.21941],[21.78723,58.21638],[21.78211,58.30631],[21.69681,58.3049],[21.69401,58.34975],[21.77942,58.35122],[21.76795,58.53074],[22.02566,58.53488],[22.02797,58.49001],[22.11375,58.49167],[22.11144,58.53621],[22.19709,58.53742],[22.19453,58.5823],[22.45236,58.58573],[22.44638,58.7203],[22.36023,58.71916],[22.35364,58.85385]],[[23.47415,59.26726],[23.29868,59.26632],[23.29795,59.31138],[23.47293,59.31194],[23.47415,59.26726]],[[24.17014,58.1908],[24.25507,58.19073],[24.25458,58.14581],[24.17002,58.14588],[24.17014,58.1908]],[[24.08485,58.19092],[24.08497,58.10129],[23.99968,58.10116],[23.99993,58.05632],[23.91525,58.05612],[23.915,58.14613],[23.83032,58.146],[23.82971,58.23572],[23.91451,58.23585],[23.91476,58.19099],[24.08485,58.19092]],[[24.61854,59.53612],[24.44183,59.5368],[24.44309,59.62659],[24.62016,59.6258],[24.61854,59.53612]],[[26.40403,59.7852],[26.31501,59.78667],[26.31814,59.83152],[26.40732,59.82994],[26.40403,59.7852]],[[26.48308,59.649],[26.48647,59.69383],[26.57514,59.69202],[26.57166,59.64719],[26.48308,59.649]],[[23.15944,57.78408],[23.24346,57.78461],[23.24445,57.73971],[23.32848,57.74031],[23.32679,57.82998],[23.15845,57.82885],[23.15944,57.78408]]],terms_text:"Maa-Ameti katastrikaart ortofoto alusel"},{id:"maaamet.ee-cir_ngr",name:"Estonia Forestry (Maaamet)",type:"wms",template:"https://kaart.maaamet.ee/wms/alus-geo?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=cir_ngr&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[22.35364,58.85385],[22.09411,58.85038],[22.09179,58.8951],[22.00503,58.89371],[21.99979,58.98374],[22.34754,58.98845],[22.34535,59.03337],[22.51935,59.03538],[22.51556,59.1251],[22.69017,59.12686],[22.69212,59.08218],[22.77912,59.083],[22.78083,59.03814],[22.86808,59.03877],[22.8693,58.99399],[22.9563,58.99487],[22.95495,59.03959],[23.12895,59.04097],[23.12786,59.08582],[23.47671,59.0877],[23.47415,59.26726],[23.64924,59.26788],[23.64888,59.31281],[23.73698,59.313],[23.73649,59.3578],[23.91158,59.35787],[23.91207,59.4028],[24.176,59.4028],[24.17637,59.4478],[24.26446,59.44767],[24.26471,59.49236],[24.70605,59.49082],[24.70898,59.62553],[24.79744,59.62497],[24.79659,59.58009],[24.97327,59.57885],[24.97462,59.62386],[24.88603,59.62473],[24.88725,59.66918],[24.9762,59.66863],[24.9773,59.71346],[25.06601,59.71259],[25.0632,59.62306],[25.24037,59.62145],[25.24184,59.66647],[25.33055,59.66548],[25.32884,59.62078],[25.41755,59.61979],[25.41938,59.66468],[25.6855,59.66148],[25.68757,59.70613],[25.86511,59.70386],[25.86279,59.65901],[26.12855,59.65507],[26.12575,59.6101],[26.39114,59.60565],[26.38809,59.56099],[26.82967,59.55215],[26.82626,59.50729],[26.91423,59.50549],[26.91057,59.46051],[27.96689,59.43303],[27.9719,59.4778],[28.03669,59.4757],[28.04377,59.47223],[28.04767,59.46578],[28.05182,59.46342],[28.06915,59.46256],[28.08452,59.45939],[28.12174,59.44091],[28.13577,59.4277],[28.13711,59.42267],[28.14163,59.41901],[28.16652,59.41205],[28.17225,59.40789],[28.19275,59.4015],[28.21069,59.3836],[28.21069,59.37994],[28.20386,59.37459],[28.21057,59.37235],[28.21105,59.36937],[28.20678,59.36719],[28.20703,59.36377],[28.19971,59.36091],[28.20203,59.35731],[28.19263,59.35227],[28.19397,59.34642],[28.16969,59.33354],[28.13626,59.29244],[28.12515,59.28901],[28.11722,59.28895],[28.1099,59.29063],[28.05353,59.2902],[28.02022,59.28334],[27.99825,59.2753],[27.97983,59.27293],[27.96433,59.27268],[27.95335,59.26863],[27.9492,59.26533],[27.90564,59.24044],[27.90113,59.23488],[27.901,59.22639],[27.89783,59.21746],[27.90235,59.20728],[27.89234,59.19222],[27.88978,59.18379],[27.87648,59.17372],[27.87184,59.16841],[27.86818,59.16159],[27.84414,59.14814],[27.83206,59.14401],[27.82035,59.13362],[27.80986,59.12905],[27.80595,59.12166],[27.80534,59.1127],[27.81071,59.10819],[27.8101,59.10606],[27.80205,59.1028],[27.78887,59.0909],[27.7907,59.08112],[27.79375,59.07842],[27.79411,59.07566],[27.79277,59.0729],[27.79302,59.06927],[27.7885,59.06657],[27.78265,59.065],[27.77508,59.0581],[27.77313,59.05107],[27.77667,59.04743],[27.76983,59.03325],[27.76605,59.03155],[27.75153,59.03017],[27.74628,59.02716],[27.74567,59.01705],[27.74165,59.00951],[27.74787,58.99267],[27.74274,58.98845],[27.73213,58.9855],[27.6544,58.98783],[27.65501,58.99241],[27.39414,58.99964],[27.38974,58.95474],[27.12935,58.96135],[27.12557,58.9164],[27.03882,58.91841],[27.0271,58.7841],[27.11361,58.78183],[27.10934,58.73709],[27.19537,58.73512],[27.18731,58.64533],[27.27309,58.64305],[27.25259,58.41883],[27.53397,58.41142],[27.5552,58.36575],[27.51762,58.33265],[27.51408,58.32214],[27.49993,58.32246],[27.48687,58.18803],[27.52872,58.18687],[27.59205,58.11875],[27.63695,58.09735],[27.60938,58.05399],[27.62268,58.0058],[27.64489,58.00205],[27.65294,58.00644],[27.64781,58.01426],[27.64781,58.02086],[27.66172,58.01866],[27.66856,58.01045],[27.68393,58.00845],[27.6965,58.0045],[27.70065,57.99862],[27.69882,57.98827],[27.69125,57.98549],[27.68064,57.97449],[27.6821,57.9719],[27.68893,57.97184],[27.68588,57.95928],[27.65892,57.9554],[27.66758,57.951],[27.67161,57.94627],[27.66917,57.94174],[27.67649,57.93552],[27.68247,57.93655],[27.68613,57.92794],[27.68247,57.92437],[27.71078,57.92392],[27.72029,57.92036],[27.72054,57.91174],[27.70834,57.90616],[27.69882,57.90616],[27.70614,57.90136],[27.72896,57.90739],[27.74677,57.90169],[27.7536,57.90409],[27.75739,57.90318],[27.75592,57.89806],[27.76959,57.89566],[27.78094,57.89832],[27.799,57.89961],[27.81852,57.89579],[27.82096,57.89047],[27.81949,57.888],[27.81059,57.88612],[27.81827,57.88249],[27.81169,57.87204],[27.81583,57.87166],[27.8184,57.8651],[27.81632,57.86134],[27.79875,57.85205],[27.7946,57.84634],[27.80058,57.8442],[27.7957,57.84017],[27.78862,57.84186],[27.78411,57.83725],[27.77715,57.8325],[27.75849,57.83536],[27.74165,57.82679],[27.72383,57.83179],[27.70541,57.84192],[27.68771,57.83419],[27.66636,57.83653],[27.66026,57.83893],[27.64818,57.8377],[27.63634,57.83978],[27.62487,57.83751],[27.62207,57.83874],[27.59791,57.83328],[27.56252,57.83023],[27.5563,57.83127],[27.55227,57.82113],[27.54446,57.82204],[27.5452,57.81808],[27.55056,57.81769],[27.55667,57.81366],[27.5408,57.81288],[27.54471,57.808],[27.53726,57.80644],[27.53958,57.80144],[27.53592,57.79663],[27.53861,57.79396],[27.52921,57.78856],[27.5175,57.78876],[27.51847,57.79201],[27.50298,57.78798],[27.50005,57.78973],[27.4959,57.78869],[27.50774,57.78349],[27.51457,57.77516],[27.5081,57.77158],[27.51115,57.76416],[27.51591,57.7639],[27.52018,57.75993],[27.52811,57.75818],[27.53007,57.75368],[27.53116,57.74073],[27.548,57.7333],[27.5419,57.73037],[27.52799,57.72946],[27.5236,57.71616],[27.52762,57.70899],[27.5236,57.70802],[27.51652,57.70873],[27.51066,57.71101],[27.50859,57.70723],[27.49993,57.70495],[27.49529,57.70749],[27.48711,57.7191],[27.47357,57.71545],[27.47064,57.70802],[27.46149,57.70619],[27.44807,57.71616],[27.43086,57.70756],[27.42818,57.69902],[27.41341,57.69915],[27.41647,57.69524],[27.40744,57.69276],[27.40231,57.68493],[27.39133,57.68539],[27.39377,57.67913],[27.39145,57.67671],[27.38193,57.67332],[27.37779,57.66836],[27.38364,57.66059],[27.3801,57.65883],[27.38755,57.6555],[27.38047,57.6495],[27.38352,57.64799],[27.38157,57.64368],[27.39072,57.6431],[27.38816,57.64009],[27.40085,57.63742],[27.40317,57.62905],[27.40182,57.62376],[27.39597,57.62115],[27.39023,57.62036],[27.39084,57.6169],[27.40195,57.61775],[27.40634,57.61546],[27.40683,57.61246],[27.38572,57.60304],[27.37827,57.59513],[27.35692,57.59696],[27.3413,57.58984],[27.34179,57.58539],[27.32886,57.5797],[27.32141,57.57898],[27.3341,57.56596],[27.33178,57.56066],[27.33776,57.56007],[27.33886,57.54671],[27.34386,57.5454],[27.35472,57.52575],[27.35131,57.51632],[27.34569,57.52104],[27.32446,57.52274],[27.29664,57.53859],[27.28017,57.53643],[27.2737,57.54311],[27.26431,57.54377],[27.2637,57.54841],[27.25772,57.54979],[27.24796,57.54769],[27.2249,57.55385],[27.19329,57.54966],[27.16145,57.55922],[27.11654,57.56118],[27.10092,57.5653],[27.08506,57.57538],[27.07262,57.57734],[27.07225,57.57989],[27.0559,57.58251],[27.05285,57.58087],[27.04687,57.58048],[27.04492,57.58251],[27.0332,57.58532],[27.04126,57.58761],[27.04418,57.5967],[27.03101,57.60461],[26.99513,57.60461],[26.99233,57.61076],[26.98696,57.60867],[26.98366,57.61174],[26.97549,57.612],[26.97097,57.60448],[26.9595,57.60625],[26.9578,57.60468],[26.94596,57.60272],[26.93961,57.60932],[26.95133,57.61579],[26.94999,57.62056],[26.94059,57.61978],[26.92961,57.62376],[26.92644,57.6331],[26.90679,57.63304],[26.89971,57.63056],[26.90057,57.62918],[26.89581,57.62572],[26.88849,57.62357],[26.88898,57.62193],[26.87458,57.61906],[26.87275,57.61736],[26.86555,57.61592],[26.85786,57.60997],[26.86469,57.6084],[26.85811,57.60049],[26.85994,57.59598],[26.86433,57.59415],[26.86177,57.59108],[26.84688,57.5884],[26.83504,57.58244],[26.81589,57.58153],[26.80954,57.58473],[26.79685,57.58179],[26.79929,57.58002],[26.79295,57.57315],[26.78685,57.57525],[26.7766,57.55994],[26.76915,57.56039],[26.76354,57.56314],[26.75366,57.56249],[26.75817,57.5653],[26.76891,57.57041],[26.77379,57.57473],[26.76769,57.57754],[26.74804,57.5778],[26.75317,57.58009],[26.73816,57.58774],[26.72901,57.58016],[26.73828,57.57584],[26.73072,57.56903],[26.72388,57.57244],[26.71107,57.56596],[26.69972,57.57106],[26.69753,57.5706],[26.69741,57.56733],[26.69155,57.56615],[26.67569,57.56668],[26.67105,57.56327],[26.6719,57.55385],[26.66531,57.55287],[26.64652,57.55391],[26.64262,57.54658],[26.63444,57.54357],[26.61443,57.52909],[26.61712,57.50885],[26.60467,57.51212],[26.60479,57.51442],[26.5954,57.51376],[26.59479,57.51592],[26.58808,57.51619],[26.59015,57.52516],[26.58698,57.52621],[26.58771,57.53781],[26.58381,57.53957],[26.57978,57.53695],[26.57966,57.53375],[26.56123,57.5285],[26.56184,57.52261],[26.5666,57.51946],[26.55794,57.5137],[26.52585,57.51619],[26.49961,57.52451],[26.49095,57.54534],[26.46996,57.57551],[26.40151,57.57237],[26.34489,57.58408],[26.33476,57.5797],[26.32781,57.57963],[26.32635,57.58277],[26.3117,57.58473],[26.30853,57.59291],[26.3006,57.59343],[26.29291,57.59114],[26.28352,57.59232],[26.28217,57.5952],[26.27754,57.595],[26.27034,57.6001],[26.27022,57.60461],[26.25423,57.61383],[26.24715,57.62082],[26.24813,57.62775],[26.23947,57.63408],[26.24203,57.63539],[26.24667,57.63559],[26.23959,57.64649],[26.23239,57.6461],[26.23117,57.64904],[26.24215,57.65146],[26.2363,57.65753],[26.23032,57.65805],[26.21043,57.66601],[26.21372,57.66888],[26.21092,57.67071],[26.21018,57.67906],[26.20079,57.68102],[26.19896,57.68356],[26.19444,57.68519],[26.18541,57.68454],[26.17712,57.68761],[26.18871,57.69472],[26.19859,57.70906],[26.20567,57.71486],[26.1726,57.72867],[26.141,57.73278],[26.13563,57.73923],[26.13905,57.74548],[26.13551,57.7503],[26.10537,57.757],[26.08035,57.76547],[26.07974,57.76384],[26.07328,57.76371],[26.07047,57.7656],[26.05912,57.75987],[26.049,57.7611],[26.0435,57.76703],[26.03326,57.77054],[26.02374,57.76761],[26.01776,57.7723],[26.02459,57.77516],[26.02496,57.7816],[26.02252,57.78355],[26.02776,57.7898],[26.03081,57.79097],[26.03338,57.80105],[26.03679,57.80592],[26.03606,57.8108],[26.04851,57.82289],[26.05705,57.83842],[26.05558,57.84764],[26.03667,57.84926],[26.02008,57.84517],[26.00958,57.85731],[25.99848,57.85816],[25.96273,57.84491],[25.931,57.85244],[25.89537,57.84972],[25.8883,57.84595],[25.88085,57.84946],[25.88573,57.85277],[25.88427,57.85595],[25.87561,57.85796],[25.87475,57.86322],[25.8595,57.85614],[25.81923,57.86419],[25.78312,57.89948],[25.78629,57.90428],[25.77165,57.91206],[25.75102,57.91692],[25.73724,57.92295],[25.72833,57.92133],[25.72247,57.91245],[25.70356,57.90331],[25.67916,57.90461],[25.67549,57.91277],[25.66207,57.91511],[25.65609,57.91439],[25.64889,57.91666],[25.64987,57.91841],[25.63828,57.93059],[25.57983,57.9442],[25.59399,57.95961],[25.58935,57.96504],[25.58239,57.96783],[25.58044,57.9721],[25.57483,57.9741],[25.56556,57.96718],[25.56604,57.96258],[25.55714,57.96038],[25.55567,57.96711],[25.55079,57.97255],[25.53725,57.97139],[25.52566,57.97184],[25.5226,57.96802],[25.51638,57.96737],[25.51211,57.96977],[25.52212,57.97488],[25.51943,57.98031],[25.48539,57.97475],[25.47843,57.98006],[25.47843,57.98264],[25.44219,57.99616],[25.44817,58.00114],[25.46648,58.00515],[25.44817,58.01698],[25.40693,58.02893],[25.37155,58.02926],[25.36374,58.03171],[25.35336,58.04334],[25.34482,58.04676],[25.33604,58.05709],[25.3292,58.05858],[25.32664,58.0638],[25.31981,58.066],[25.31908,58.06929],[25.29553,58.08161],[25.28686,58.08149],[25.28113,58.07019],[25.266,58.06716],[25.26502,58.06],[25.27991,58.05063],[25.29309,58.0467],[25.30431,58.03449],[25.30114,58.01504],[25.29748,58.01459],[25.30285,58.00011],[25.29577,57.99972],[25.29736,57.99661],[25.30358,57.99396],[25.30138,57.99273],[25.29187,57.99286],[25.28308,57.98963],[25.26722,57.99454],[25.25611,57.9939],[25.25502,58.00347],[25.2455,58.00302],[25.22768,58.01782],[25.24587,58.01872],[25.23562,58.02286],[25.23635,58.02441],[25.22732,58.02435],[25.22537,58.02195],[25.21902,58.02977],[25.21658,58.04088],[25.22695,58.04799],[25.22817,58.05348],[25.22122,58.05302],[25.22146,58.05051],[25.2178,58.04908],[25.21597,58.05954],[25.21219,58.06226],[25.20523,58.06122],[25.20389,58.0651],[25.21621,58.07413],[25.21207,58.08052],[25.19962,58.08536],[25.18949,58.08007],[25.19169,58.07613],[25.1535,58.07478],[25.15154,58.07703],[25.13397,58.07974],[25.10579,58.07749],[25.10518,58.06645],[25.07662,58.06645],[25.02037,58.01769],[24.99512,58.01084],[24.94863,58.00942],[24.83234,57.97177],[24.80806,57.99066],[24.74229,57.98187],[24.74339,57.96491],[24.7329,57.96239],[24.71508,57.96271],[24.6919,57.94653],[24.67335,57.95896],[24.64468,57.95889],[24.64187,57.95423],[24.64577,57.95268],[24.62869,57.94193],[24.61612,57.94368],[24.60892,57.95125],[24.58464,57.96174],[24.57317,57.95436],[24.54792,57.94938],[24.54352,57.94478],[24.5301,57.94705],[24.5207,57.94303],[24.51839,57.93675],[24.5096,57.93442],[24.51326,57.93066],[24.4625,57.92496],[24.44579,57.90798],[24.46018,57.90662],[24.45225,57.89942],[24.46006,57.87977],[24.41138,57.86491],[24.40906,57.87191],[24.33707,57.87393],[24.33829,58.0109],[24.42272,58.01097],[24.42614,58.28002],[24.51155,58.2797],[24.51216,58.32471],[24.42638,58.32503],[24.42712,58.36972],[24.34182,58.37017],[24.34048,58.23547],[24.17014,58.23572],[24.17014,58.1908],[24.08485,58.19092],[24.0851,58.23605],[24.00066,58.23579],[23.99993,58.28092],[23.82971,58.28047],[23.82947,58.32554],[23.65864,58.32496],[23.65791,58.41493],[23.57225,58.41468],[23.57127,58.50436],[23.39935,58.50359],[23.40106,58.41391],[23.14421,58.41238],[23.14567,58.36735],[23.05989,58.36703],[23.06172,58.32221],[22.9757,58.32157],[22.97716,58.27681],[22.89187,58.27598],[22.89358,58.23103],[22.80865,58.2302],[22.81012,58.18539],[22.89529,58.1861],[22.89663,58.1413],[22.72641,58.13982],[22.72495,58.18475],[22.55522,58.18276],[22.55693,58.13744],[22.64173,58.13886],[22.64344,58.094],[22.38903,58.0909],[22.38525,58.18063],[22.29995,58.17967],[22.30679,58.04527],[22.22198,58.0436],[22.22626,57.95404],[22.14206,57.95281],[22.1445,57.90804],[22.06007,57.90681],[22.06263,57.86186],[21.97807,57.86043],[21.96831,58.04004],[22.05274,58.04134],[22.04506,58.17581],[21.96038,58.17471],[21.95781,58.21941],[21.78723,58.21638],[21.78211,58.30631],[21.69681,58.3049],[21.69401,58.34975],[21.77942,58.35122],[21.76795,58.53074],[22.02566,58.53488],[22.02797,58.49001],[22.11375,58.49167],[22.11144,58.53621],[22.19709,58.53742],[22.19453,58.5823],[22.45236,58.58573],[22.44638,58.7203],[22.36023,58.71916],[22.35364,58.85385]],[[23.47415,59.26726],[23.29868,59.26632],[23.29795,59.31138],[23.47293,59.31194],[23.47415,59.26726]],[[24.17014,58.1908],[24.25507,58.19073],[24.25458,58.14581],[24.17002,58.14588],[24.17014,58.1908]],[[24.08485,58.19092],[24.08497,58.10129],[23.99968,58.10116],[23.99993,58.05632],[23.91525,58.05612],[23.915,58.14613],[23.83032,58.146],[23.82971,58.23572],[23.91451,58.23585],[23.91476,58.19099],[24.08485,58.19092]],[[24.61854,59.53612],[24.44183,59.5368],[24.44309,59.62659],[24.62016,59.6258],[24.61854,59.53612]],[[26.40403,59.7852],[26.31501,59.78667],[26.31814,59.83152],[26.40732,59.82994],[26.40403,59.7852]],[[26.48308,59.649],[26.48647,59.69383],[26.57514,59.69202],[26.57166,59.64719],[26.48308,59.649]],[[23.15944,57.78408],[23.24346,57.78461],[23.24445,57.73971],[23.32848,57.74031],[23.32679,57.82998],[23.15845,57.82885],[23.15944,57.78408]]],terms_text:"Maa-Ameti metsanduslik ortofoto"},{id:"maaamet.ee-reljeef",name:"Estonia Hillshading (Maaamet)",type:"wms",template:"https://kaart.maaamet.ee/wms/alus-geo?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=reljeef&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[22.35364,58.85385],[22.09411,58.85038],[22.09179,58.8951],[22.00503,58.89371],[21.99979,58.98374],[22.34754,58.98845],[22.34535,59.03337],[22.51935,59.03538],[22.51556,59.1251],[22.69017,59.12686],[22.69212,59.08218],[22.77912,59.083],[22.78083,59.03814],[22.86808,59.03877],[22.8693,58.99399],[22.9563,58.99487],[22.95495,59.03959],[23.12895,59.04097],[23.12786,59.08582],[23.47671,59.0877],[23.47415,59.26726],[23.64924,59.26788],[23.64888,59.31281],[23.73698,59.313],[23.73649,59.3578],[23.91158,59.35787],[23.91207,59.4028],[24.176,59.4028],[24.17637,59.4478],[24.26446,59.44767],[24.26471,59.49236],[24.70605,59.49082],[24.70898,59.62553],[24.79744,59.62497],[24.79659,59.58009],[24.97327,59.57885],[24.97462,59.62386],[24.88603,59.62473],[24.88725,59.66918],[24.9762,59.66863],[24.9773,59.71346],[25.06601,59.71259],[25.0632,59.62306],[25.24037,59.62145],[25.24184,59.66647],[25.33055,59.66548],[25.32884,59.62078],[25.41755,59.61979],[25.41938,59.66468],[25.6855,59.66148],[25.68757,59.70613],[25.86511,59.70386],[25.86279,59.65901],[26.12855,59.65507],[26.12575,59.6101],[26.39114,59.60565],[26.38809,59.56099],[26.82967,59.55215],[26.82626,59.50729],[26.91423,59.50549],[26.91057,59.46051],[27.96689,59.43303],[27.9719,59.4778],[28.03669,59.4757],[28.04377,59.47223],[28.04767,59.46578],[28.05182,59.46342],[28.06915,59.46256],[28.08452,59.45939],[28.12174,59.44091],[28.13577,59.4277],[28.13711,59.42267],[28.14163,59.41901],[28.16652,59.41205],[28.17225,59.40789],[28.19275,59.4015],[28.21069,59.3836],[28.21069,59.37994],[28.20386,59.37459],[28.21057,59.37235],[28.21105,59.36937],[28.20678,59.36719],[28.20703,59.36377],[28.19971,59.36091],[28.20203,59.35731],[28.19263,59.35227],[28.19397,59.34642],[28.16969,59.33354],[28.13626,59.29244],[28.12515,59.28901],[28.11722,59.28895],[28.1099,59.29063],[28.05353,59.2902],[28.02022,59.28334],[27.99825,59.2753],[27.97983,59.27293],[27.96433,59.27268],[27.95335,59.26863],[27.9492,59.26533],[27.90564,59.24044],[27.90113,59.23488],[27.901,59.22639],[27.89783,59.21746],[27.90235,59.20728],[27.89234,59.19222],[27.88978,59.18379],[27.87648,59.17372],[27.87184,59.16841],[27.86818,59.16159],[27.84414,59.14814],[27.83206,59.14401],[27.82035,59.13362],[27.80986,59.12905],[27.80595,59.12166],[27.80534,59.1127],[27.81071,59.10819],[27.8101,59.10606],[27.80205,59.1028],[27.78887,59.0909],[27.7907,59.08112],[27.79375,59.07842],[27.79411,59.07566],[27.79277,59.0729],[27.79302,59.06927],[27.7885,59.06657],[27.78265,59.065],[27.77508,59.0581],[27.77313,59.05107],[27.77667,59.04743],[27.76983,59.03325],[27.76605,59.03155],[27.75153,59.03017],[27.74628,59.02716],[27.74567,59.01705],[27.74165,59.00951],[27.74787,58.99267],[27.74274,58.98845],[27.73213,58.9855],[27.6544,58.98783],[27.65501,58.99241],[27.39414,58.99964],[27.38974,58.95474],[27.12935,58.96135],[27.12557,58.9164],[27.03882,58.91841],[27.0271,58.7841],[27.11361,58.78183],[27.10934,58.73709],[27.19537,58.73512],[27.18731,58.64533],[27.27309,58.64305],[27.25259,58.41883],[27.53397,58.41142],[27.5552,58.36575],[27.51762,58.33265],[27.51408,58.32214],[27.49993,58.32246],[27.48687,58.18803],[27.52872,58.18687],[27.59205,58.11875],[27.63695,58.09735],[27.60938,58.05399],[27.62268,58.0058],[27.64489,58.00205],[27.65294,58.00644],[27.64781,58.01426],[27.64781,58.02086],[27.66172,58.01866],[27.66856,58.01045],[27.68393,58.00845],[27.6965,58.0045],[27.70065,57.99862],[27.69882,57.98827],[27.69125,57.98549],[27.68064,57.97449],[27.6821,57.9719],[27.68893,57.97184],[27.68588,57.95928],[27.65892,57.9554],[27.66758,57.951],[27.67161,57.94627],[27.66917,57.94174],[27.67649,57.93552],[27.68247,57.93655],[27.68613,57.92794],[27.68247,57.92437],[27.71078,57.92392],[27.72029,57.92036],[27.72054,57.91174],[27.70834,57.90616],[27.69882,57.90616],[27.70614,57.90136],[27.72896,57.90739],[27.74677,57.90169],[27.7536,57.90409],[27.75739,57.90318],[27.75592,57.89806],[27.76959,57.89566],[27.78094,57.89832],[27.799,57.89961],[27.81852,57.89579],[27.82096,57.89047],[27.81949,57.888],[27.81059,57.88612],[27.81827,57.88249],[27.81169,57.87204],[27.81583,57.87166],[27.8184,57.8651],[27.81632,57.86134],[27.79875,57.85205],[27.7946,57.84634],[27.80058,57.8442],[27.7957,57.84017],[27.78862,57.84186],[27.78411,57.83725],[27.77715,57.8325],[27.75849,57.83536],[27.74165,57.82679],[27.72383,57.83179],[27.70541,57.84192],[27.68771,57.83419],[27.66636,57.83653],[27.66026,57.83893],[27.64818,57.8377],[27.63634,57.83978],[27.62487,57.83751],[27.62207,57.83874],[27.59791,57.83328],[27.56252,57.83023],[27.5563,57.83127],[27.55227,57.82113],[27.54446,57.82204],[27.5452,57.81808],[27.55056,57.81769],[27.55667,57.81366],[27.5408,57.81288],[27.54471,57.808],[27.53726,57.80644],[27.53958,57.80144],[27.53592,57.79663],[27.53861,57.79396],[27.52921,57.78856],[27.5175,57.78876],[27.51847,57.79201],[27.50298,57.78798],[27.50005,57.78973],[27.4959,57.78869],[27.50774,57.78349],[27.51457,57.77516],[27.5081,57.77158],[27.51115,57.76416],[27.51591,57.7639],[27.52018,57.75993],[27.52811,57.75818],[27.53007,57.75368],[27.53116,57.74073],[27.548,57.7333],[27.5419,57.73037],[27.52799,57.72946],[27.5236,57.71616],[27.52762,57.70899],[27.5236,57.70802],[27.51652,57.70873],[27.51066,57.71101],[27.50859,57.70723],[27.49993,57.70495],[27.49529,57.70749],[27.48711,57.7191],[27.47357,57.71545],[27.47064,57.70802],[27.46149,57.70619],[27.44807,57.71616],[27.43086,57.70756],[27.42818,57.69902],[27.41341,57.69915],[27.41647,57.69524],[27.40744,57.69276],[27.40231,57.68493],[27.39133,57.68539],[27.39377,57.67913],[27.39145,57.67671],[27.38193,57.67332],[27.37779,57.66836],[27.38364,57.66059],[27.3801,57.65883],[27.38755,57.6555],[27.38047,57.6495],[27.38352,57.64799],[27.38157,57.64368],[27.39072,57.6431],[27.38816,57.64009],[27.40085,57.63742],[27.40317,57.62905],[27.40182,57.62376],[27.39597,57.62115],[27.39023,57.62036],[27.39084,57.6169],[27.40195,57.61775],[27.40634,57.61546],[27.40683,57.61246],[27.38572,57.60304],[27.37827,57.59513],[27.35692,57.59696],[27.3413,57.58984],[27.34179,57.58539],[27.32886,57.5797],[27.32141,57.57898],[27.3341,57.56596],[27.33178,57.56066],[27.33776,57.56007],[27.33886,57.54671],[27.34386,57.5454],[27.35472,57.52575],[27.35131,57.51632],[27.34569,57.52104],[27.32446,57.52274],[27.29664,57.53859],[27.28017,57.53643],[27.2737,57.54311],[27.26431,57.54377],[27.2637,57.54841],[27.25772,57.54979],[27.24796,57.54769],[27.2249,57.55385],[27.19329,57.54966],[27.16145,57.55922],[27.11654,57.56118],[27.10092,57.5653],[27.08506,57.57538],[27.07262,57.57734],[27.07225,57.57989],[27.0559,57.58251],[27.05285,57.58087],[27.04687,57.58048],[27.04492,57.58251],[27.0332,57.58532],[27.04126,57.58761],[27.04418,57.5967],[27.03101,57.60461],[26.99513,57.60461],[26.99233,57.61076],[26.98696,57.60867],[26.98366,57.61174],[26.97549,57.612],[26.97097,57.60448],[26.9595,57.60625],[26.9578,57.60468],[26.94596,57.60272],[26.93961,57.60932],[26.95133,57.61579],[26.94999,57.62056],[26.94059,57.61978],[26.92961,57.62376],[26.92644,57.6331],[26.90679,57.63304],[26.89971,57.63056],[26.90057,57.62918],[26.89581,57.62572],[26.88849,57.62357],[26.88898,57.62193],[26.87458,57.61906],[26.87275,57.61736],[26.86555,57.61592],[26.85786,57.60997],[26.86469,57.6084],[26.85811,57.60049],[26.85994,57.59598],[26.86433,57.59415],[26.86177,57.59108],[26.84688,57.5884],[26.83504,57.58244],[26.81589,57.58153],[26.80954,57.58473],[26.79685,57.58179],[26.79929,57.58002],[26.79295,57.57315],[26.78685,57.57525],[26.7766,57.55994],[26.76915,57.56039],[26.76354,57.56314],[26.75366,57.56249],[26.75817,57.5653],[26.76891,57.57041],[26.77379,57.57473],[26.76769,57.57754],[26.74804,57.5778],[26.75317,57.58009],[26.73816,57.58774],[26.72901,57.58016],[26.73828,57.57584],[26.73072,57.56903],[26.72388,57.57244],[26.71107,57.56596],[26.69972,57.57106],[26.69753,57.5706],[26.69741,57.56733],[26.69155,57.56615],[26.67569,57.56668],[26.67105,57.56327],[26.6719,57.55385],[26.66531,57.55287],[26.64652,57.55391],[26.64262,57.54658],[26.63444,57.54357],[26.61443,57.52909],[26.61712,57.50885],[26.60467,57.51212],[26.60479,57.51442],[26.5954,57.51376],[26.59479,57.51592],[26.58808,57.51619],[26.59015,57.52516],[26.58698,57.52621],[26.58771,57.53781],[26.58381,57.53957],[26.57978,57.53695],[26.57966,57.53375],[26.56123,57.5285],[26.56184,57.52261],[26.5666,57.51946],[26.55794,57.5137],[26.52585,57.51619],[26.49961,57.52451],[26.49095,57.54534],[26.46996,57.57551],[26.40151,57.57237],[26.34489,57.58408],[26.33476,57.5797],[26.32781,57.57963],[26.32635,57.58277],[26.3117,57.58473],[26.30853,57.59291],[26.3006,57.59343],[26.29291,57.59114],[26.28352,57.59232],[26.28217,57.5952],[26.27754,57.595],[26.27034,57.6001],[26.27022,57.60461],[26.25423,57.61383],[26.24715,57.62082],[26.24813,57.62775],[26.23947,57.63408],[26.24203,57.63539],[26.24667,57.63559],[26.23959,57.64649],[26.23239,57.6461],[26.23117,57.64904],[26.24215,57.65146],[26.2363,57.65753],[26.23032,57.65805],[26.21043,57.66601],[26.21372,57.66888],[26.21092,57.67071],[26.21018,57.67906],[26.20079,57.68102],[26.19896,57.68356],[26.19444,57.68519],[26.18541,57.68454],[26.17712,57.68761],[26.18871,57.69472],[26.19859,57.70906],[26.20567,57.71486],[26.1726,57.72867],[26.141,57.73278],[26.13563,57.73923],[26.13905,57.74548],[26.13551,57.7503],[26.10537,57.757],[26.08035,57.76547],[26.07974,57.76384],[26.07328,57.76371],[26.07047,57.7656],[26.05912,57.75987],[26.049,57.7611],[26.0435,57.76703],[26.03326,57.77054],[26.02374,57.76761],[26.01776,57.7723],[26.02459,57.77516],[26.02496,57.7816],[26.02252,57.78355],[26.02776,57.7898],[26.03081,57.79097],[26.03338,57.80105],[26.03679,57.80592],[26.03606,57.8108],[26.04851,57.82289],[26.05705,57.83842],[26.05558,57.84764],[26.03667,57.84926],[26.02008,57.84517],[26.00958,57.85731],[25.99848,57.85816],[25.96273,57.84491],[25.931,57.85244],[25.89537,57.84972],[25.8883,57.84595],[25.88085,57.84946],[25.88573,57.85277],[25.88427,57.85595],[25.87561,57.85796],[25.87475,57.86322],[25.8595,57.85614],[25.81923,57.86419],[25.78312,57.89948],[25.78629,57.90428],[25.77165,57.91206],[25.75102,57.91692],[25.73724,57.92295],[25.72833,57.92133],[25.72247,57.91245],[25.70356,57.90331],[25.67916,57.90461],[25.67549,57.91277],[25.66207,57.91511],[25.65609,57.91439],[25.64889,57.91666],[25.64987,57.91841],[25.63828,57.93059],[25.57983,57.9442],[25.59399,57.95961],[25.58935,57.96504],[25.58239,57.96783],[25.58044,57.9721],[25.57483,57.9741],[25.56556,57.96718],[25.56604,57.96258],[25.55714,57.96038],[25.55567,57.96711],[25.55079,57.97255],[25.53725,57.97139],[25.52566,57.97184],[25.5226,57.96802],[25.51638,57.96737],[25.51211,57.96977],[25.52212,57.97488],[25.51943,57.98031],[25.48539,57.97475],[25.47843,57.98006],[25.47843,57.98264],[25.44219,57.99616],[25.44817,58.00114],[25.46648,58.00515],[25.44817,58.01698],[25.40693,58.02893],[25.37155,58.02926],[25.36374,58.03171],[25.35336,58.04334],[25.34482,58.04676],[25.33604,58.05709],[25.3292,58.05858],[25.32664,58.0638],[25.31981,58.066],[25.31908,58.06929],[25.29553,58.08161],[25.28686,58.08149],[25.28113,58.07019],[25.266,58.06716],[25.26502,58.06],[25.27991,58.05063],[25.29309,58.0467],[25.30431,58.03449],[25.30114,58.01504],[25.29748,58.01459],[25.30285,58.00011],[25.29577,57.99972],[25.29736,57.99661],[25.30358,57.99396],[25.30138,57.99273],[25.29187,57.99286],[25.28308,57.98963],[25.26722,57.99454],[25.25611,57.9939],[25.25502,58.00347],[25.2455,58.00302],[25.22768,58.01782],[25.24587,58.01872],[25.23562,58.02286],[25.23635,58.02441],[25.22732,58.02435],[25.22537,58.02195],[25.21902,58.02977],[25.21658,58.04088],[25.22695,58.04799],[25.22817,58.05348],[25.22122,58.05302],[25.22146,58.05051],[25.2178,58.04908],[25.21597,58.05954],[25.21219,58.06226],[25.20523,58.06122],[25.20389,58.0651],[25.21621,58.07413],[25.21207,58.08052],[25.19962,58.08536],[25.18949,58.08007],[25.19169,58.07613],[25.1535,58.07478],[25.15154,58.07703],[25.13397,58.07974],[25.10579,58.07749],[25.10518,58.06645],[25.07662,58.06645],[25.02037,58.01769],[24.99512,58.01084],[24.94863,58.00942],[24.83234,57.97177],[24.80806,57.99066],[24.74229,57.98187],[24.74339,57.96491],[24.7329,57.96239],[24.71508,57.96271],[24.6919,57.94653],[24.67335,57.95896],[24.64468,57.95889],[24.64187,57.95423],[24.64577,57.95268],[24.62869,57.94193],[24.61612,57.94368],[24.60892,57.95125],[24.58464,57.96174],[24.57317,57.95436],[24.54792,57.94938],[24.54352,57.94478],[24.5301,57.94705],[24.5207,57.94303],[24.51839,57.93675],[24.5096,57.93442],[24.51326,57.93066],[24.4625,57.92496],[24.44579,57.90798],[24.46018,57.90662],[24.45225,57.89942],[24.46006,57.87977],[24.41138,57.86491],[24.40906,57.87191],[24.33707,57.87393],[24.33829,58.0109],[24.42272,58.01097],[24.42614,58.28002],[24.51155,58.2797],[24.51216,58.32471],[24.42638,58.32503],[24.42712,58.36972],[24.34182,58.37017],[24.34048,58.23547],[24.17014,58.23572],[24.17014,58.1908],[24.08485,58.19092],[24.0851,58.23605],[24.00066,58.23579],[23.99993,58.28092],[23.82971,58.28047],[23.82947,58.32554],[23.65864,58.32496],[23.65791,58.41493],[23.57225,58.41468],[23.57127,58.50436],[23.39935,58.50359],[23.40106,58.41391],[23.14421,58.41238],[23.14567,58.36735],[23.05989,58.36703],[23.06172,58.32221],[22.9757,58.32157],[22.97716,58.27681],[22.89187,58.27598],[22.89358,58.23103],[22.80865,58.2302],[22.81012,58.18539],[22.89529,58.1861],[22.89663,58.1413],[22.72641,58.13982],[22.72495,58.18475],[22.55522,58.18276],[22.55693,58.13744],[22.64173,58.13886],[22.64344,58.094],[22.38903,58.0909],[22.38525,58.18063],[22.29995,58.17967],[22.30679,58.04527],[22.22198,58.0436],[22.22626,57.95404],[22.14206,57.95281],[22.1445,57.90804],[22.06007,57.90681],[22.06263,57.86186],[21.97807,57.86043],[21.96831,58.04004],[22.05274,58.04134],[22.04506,58.17581],[21.96038,58.17471],[21.95781,58.21941],[21.78723,58.21638],[21.78211,58.30631],[21.69681,58.3049],[21.69401,58.34975],[21.77942,58.35122],[21.76795,58.53074],[22.02566,58.53488],[22.02797,58.49001],[22.11375,58.49167],[22.11144,58.53621],[22.19709,58.53742],[22.19453,58.5823],[22.45236,58.58573],[22.44638,58.7203],[22.36023,58.71916],[22.35364,58.85385]],[[23.47415,59.26726],[23.29868,59.26632],[23.29795,59.31138],[23.47293,59.31194],[23.47415,59.26726]],[[24.17014,58.1908],[24.25507,58.19073],[24.25458,58.14581],[24.17002,58.14588],[24.17014,58.1908]],[[24.08485,58.19092],[24.08497,58.10129],[23.99968,58.10116],[23.99993,58.05632],[23.91525,58.05612],[23.915,58.14613],[23.83032,58.146],[23.82971,58.23572],[23.91451,58.23585],[23.91476,58.19099],[24.08485,58.19092]],[[24.61854,59.53612],[24.44183,59.5368],[24.44309,59.62659],[24.62016,59.6258],[24.61854,59.53612]],[[26.40403,59.7852],[26.31501,59.78667],[26.31814,59.83152],[26.40732,59.82994],[26.40403,59.7852]],[[26.48308,59.649],[26.48647,59.69383],[26.57514,59.69202],[26.57166,59.64719],[26.48308,59.649]],[[23.15944,57.78408],[23.24346,57.78461],[23.24445,57.73971],[23.32848,57.74031],[23.32679,57.82998],[23.15845,57.82885],[23.15944,57.78408]]],terms_text:"Maa-Ameti reljeefikaart"},{id:"maaamet.ee-orto",name:"Estonia Ortho (Maaamet)",type:"tms",template:"https://tiles.maaamet.ee/tm/tms/1.0.0/foto@GMC/{zoom}/{x}/{-y}.png",zoomExtent:[6,18],polygon:[[[22.35364,58.85385],[22.09411,58.85038],[22.09179,58.8951],[22.00503,58.89371],[21.99979,58.98374],[22.34754,58.98845],[22.34535,59.03337],[22.51935,59.03538],[22.51556,59.1251],[22.69017,59.12686],[22.69212,59.08218],[22.77912,59.083],[22.78083,59.03814],[22.86808,59.03877],[22.8693,58.99399],[22.9563,58.99487],[22.95495,59.03959],[23.12895,59.04097],[23.12786,59.08582],[23.47671,59.0877],[23.47415,59.26726],[23.64924,59.26788],[23.64888,59.31281],[23.73698,59.313],[23.73649,59.3578],[23.91158,59.35787],[23.91207,59.4028],[24.176,59.4028],[24.17637,59.4478],[24.26446,59.44767],[24.26471,59.49236],[24.70605,59.49082],[24.70898,59.62553],[24.79744,59.62497],[24.79659,59.58009],[24.97327,59.57885],[24.97462,59.62386],[24.88603,59.62473],[24.88725,59.66918],[24.9762,59.66863],[24.9773,59.71346],[25.06601,59.71259],[25.0632,59.62306],[25.24037,59.62145],[25.24184,59.66647],[25.33055,59.66548],[25.32884,59.62078],[25.41755,59.61979],[25.41938,59.66468],[25.6855,59.66148],[25.68757,59.70613],[25.86511,59.70386],[25.86279,59.65901],[26.12855,59.65507],[26.12575,59.6101],[26.39114,59.60565],[26.38809,59.56099],[26.82967,59.55215],[26.82626,59.50729],[26.91423,59.50549],[26.91057,59.46051],[27.96689,59.43303],[27.9719,59.4778],[28.03669,59.4757],[28.04377,59.47223],[28.04767,59.46578],[28.05182,59.46342],[28.06915,59.46256],[28.08452,59.45939],[28.12174,59.44091],[28.13577,59.4277],[28.13711,59.42267],[28.14163,59.41901],[28.16652,59.41205],[28.17225,59.40789],[28.19275,59.4015],[28.21069,59.3836],[28.21069,59.37994],[28.20386,59.37459],[28.21057,59.37235],[28.21105,59.36937],[28.20678,59.36719],[28.20703,59.36377],[28.19971,59.36091],[28.20203,59.35731],[28.19263,59.35227],[28.19397,59.34642],[28.16969,59.33354],[28.13626,59.29244],[28.12515,59.28901],[28.11722,59.28895],[28.1099,59.29063],[28.05353,59.2902],[28.02022,59.28334],[27.99825,59.2753],[27.97983,59.27293],[27.96433,59.27268],[27.95335,59.26863],[27.9492,59.26533],[27.90564,59.24044],[27.90113,59.23488],[27.901,59.22639],[27.89783,59.21746],[27.90235,59.20728],[27.89234,59.19222],[27.88978,59.18379],[27.87648,59.17372],[27.87184,59.16841],[27.86818,59.16159],[27.84414,59.14814],[27.83206,59.14401],[27.82035,59.13362],[27.80986,59.12905],[27.80595,59.12166],[27.80534,59.1127],[27.81071,59.10819],[27.8101,59.10606],[27.80205,59.1028],[27.78887,59.0909],[27.7907,59.08112],[27.79375,59.07842],[27.79411,59.07566],[27.79277,59.0729],[27.79302,59.06927],[27.7885,59.06657],[27.78265,59.065],[27.77508,59.0581],[27.77313,59.05107],[27.77667,59.04743],[27.76983,59.03325],[27.76605,59.03155],[27.75153,59.03017],[27.74628,59.02716],[27.74567,59.01705],[27.74165,59.00951],[27.74787,58.99267],[27.74274,58.98845],[27.73213,58.9855],[27.6544,58.98783],[27.65501,58.99241],[27.39414,58.99964],[27.38974,58.95474],[27.12935,58.96135],[27.12557,58.9164],[27.03882,58.91841],[27.0271,58.7841],[27.11361,58.78183],[27.10934,58.73709],[27.19537,58.73512],[27.18731,58.64533],[27.27309,58.64305],[27.25259,58.41883],[27.53397,58.41142],[27.5552,58.36575],[27.51762,58.33265],[27.51408,58.32214],[27.49993,58.32246],[27.48687,58.18803],[27.52872,58.18687],[27.59205,58.11875],[27.63695,58.09735],[27.60938,58.05399],[27.62268,58.0058],[27.64489,58.00205],[27.65294,58.00644],[27.64781,58.01426],[27.64781,58.02086],[27.66172,58.01866],[27.66856,58.01045],[27.68393,58.00845],[27.6965,58.0045],[27.70065,57.99862],[27.69882,57.98827],[27.69125,57.98549],[27.68064,57.97449],[27.6821,57.9719],[27.68893,57.97184],[27.68588,57.95928],[27.65892,57.9554],[27.66758,57.951],[27.67161,57.94627],[27.66917,57.94174],[27.67649,57.93552],[27.68247,57.93655],[27.68613,57.92794],[27.68247,57.92437],[27.71078,57.92392],[27.72029,57.92036],[27.72054,57.91174],[27.70834,57.90616],[27.69882,57.90616],[27.70614,57.90136],[27.72896,57.90739],[27.74677,57.90169],[27.7536,57.90409],[27.75739,57.90318],[27.75592,57.89806],[27.76959,57.89566],[27.78094,57.89832],[27.799,57.89961],[27.81852,57.89579],[27.82096,57.89047],[27.81949,57.888],[27.81059,57.88612],[27.81827,57.88249],[27.81169,57.87204],[27.81583,57.87166],[27.8184,57.8651],[27.81632,57.86134],[27.79875,57.85205],[27.7946,57.84634],[27.80058,57.8442],[27.7957,57.84017],[27.78862,57.84186],[27.78411,57.83725],[27.77715,57.8325],[27.75849,57.83536],[27.74165,57.82679],[27.72383,57.83179],[27.70541,57.84192],[27.68771,57.83419],[27.66636,57.83653],[27.66026,57.83893],[27.64818,57.8377],[27.63634,57.83978],[27.62487,57.83751],[27.62207,57.83874],[27.59791,57.83328],[27.56252,57.83023],[27.5563,57.83127],[27.55227,57.82113],[27.54446,57.82204],[27.5452,57.81808],[27.55056,57.81769],[27.55667,57.81366],[27.5408,57.81288],[27.54471,57.808],[27.53726,57.80644],[27.53958,57.80144],[27.53592,57.79663],[27.53861,57.79396],[27.52921,57.78856],[27.5175,57.78876],[27.51847,57.79201],[27.50298,57.78798],[27.50005,57.78973],[27.4959,57.78869],[27.50774,57.78349],[27.51457,57.77516],[27.5081,57.77158],[27.51115,57.76416],[27.51591,57.7639],[27.52018,57.75993],[27.52811,57.75818],[27.53007,57.75368],[27.53116,57.74073],[27.548,57.7333],[27.5419,57.73037],[27.52799,57.72946],[27.5236,57.71616],[27.52762,57.70899],[27.5236,57.70802],[27.51652,57.70873],[27.51066,57.71101],[27.50859,57.70723],[27.49993,57.70495],[27.49529,57.70749],[27.48711,57.7191],[27.47357,57.71545],[27.47064,57.70802],[27.46149,57.70619],[27.44807,57.71616],[27.43086,57.70756],[27.42818,57.69902],[27.41341,57.69915],[27.41647,57.69524],[27.40744,57.69276],[27.40231,57.68493],[27.39133,57.68539],[27.39377,57.67913],[27.39145,57.67671],[27.38193,57.67332],[27.37779,57.66836],[27.38364,57.66059],[27.3801,57.65883],[27.38755,57.6555],[27.38047,57.6495],[27.38352,57.64799],[27.38157,57.64368],[27.39072,57.6431],[27.38816,57.64009],[27.40085,57.63742],[27.40317,57.62905],[27.40182,57.62376],[27.39597,57.62115],[27.39023,57.62036],[27.39084,57.6169],[27.40195,57.61775],[27.40634,57.61546],[27.40683,57.61246],[27.38572,57.60304],[27.37827,57.59513],[27.35692,57.59696],[27.3413,57.58984],[27.34179,57.58539],[27.32886,57.5797],[27.32141,57.57898],[27.3341,57.56596],[27.33178,57.56066],[27.33776,57.56007],[27.33886,57.54671],[27.34386,57.5454],[27.35472,57.52575],[27.35131,57.51632],[27.34569,57.52104],[27.32446,57.52274],[27.29664,57.53859],[27.28017,57.53643],[27.2737,57.54311],[27.26431,57.54377],[27.2637,57.54841],[27.25772,57.54979],[27.24796,57.54769],[27.2249,57.55385],[27.19329,57.54966],[27.16145,57.55922],[27.11654,57.56118],[27.10092,57.5653],[27.08506,57.57538],[27.07262,57.57734],[27.07225,57.57989],[27.0559,57.58251],[27.05285,57.58087],[27.04687,57.58048],[27.04492,57.58251],[27.0332,57.58532],[27.04126,57.58761],[27.04418,57.5967],[27.03101,57.60461],[26.99513,57.60461],[26.99233,57.61076],[26.98696,57.60867],[26.98366,57.61174],[26.97549,57.612],[26.97097,57.60448],[26.9595,57.60625],[26.9578,57.60468],[26.94596,57.60272],[26.93961,57.60932],[26.95133,57.61579],[26.94999,57.62056],[26.94059,57.61978],[26.92961,57.62376],[26.92644,57.6331],[26.90679,57.63304],[26.89971,57.63056],[26.90057,57.62918],[26.89581,57.62572],[26.88849,57.62357],[26.88898,57.62193],[26.87458,57.61906],[26.87275,57.61736],[26.86555,57.61592],[26.85786,57.60997],[26.86469,57.6084],[26.85811,57.60049],[26.85994,57.59598],[26.86433,57.59415],[26.86177,57.59108],[26.84688,57.5884],[26.83504,57.58244],[26.81589,57.58153],[26.80954,57.58473],[26.79685,57.58179],[26.79929,57.58002],[26.79295,57.57315],[26.78685,57.57525],[26.7766,57.55994],[26.76915,57.56039],[26.76354,57.56314],[26.75366,57.56249],[26.75817,57.5653],[26.76891,57.57041],[26.77379,57.57473],[26.76769,57.57754],[26.74804,57.5778],[26.75317,57.58009],[26.73816,57.58774],[26.72901,57.58016],[26.73828,57.57584],[26.73072,57.56903],[26.72388,57.57244],[26.71107,57.56596],[26.69972,57.57106],[26.69753,57.5706],[26.69741,57.56733],[26.69155,57.56615],[26.67569,57.56668],[26.67105,57.56327],[26.6719,57.55385],[26.66531,57.55287],[26.64652,57.55391],[26.64262,57.54658],[26.63444,57.54357],[26.61443,57.52909],[26.61712,57.50885],[26.60467,57.51212],[26.60479,57.51442],[26.5954,57.51376],[26.59479,57.51592],[26.58808,57.51619],[26.59015,57.52516],[26.58698,57.52621],[26.58771,57.53781],[26.58381,57.53957],[26.57978,57.53695],[26.57966,57.53375],[26.56123,57.5285],[26.56184,57.52261],[26.5666,57.51946],[26.55794,57.5137],[26.52585,57.51619],[26.49961,57.52451],[26.49095,57.54534],[26.46996,57.57551],[26.40151,57.57237],[26.34489,57.58408],[26.33476,57.5797],[26.32781,57.57963],[26.32635,57.58277],[26.3117,57.58473],[26.30853,57.59291],[26.3006,57.59343],[26.29291,57.59114],[26.28352,57.59232],[26.28217,57.5952],[26.27754,57.595],[26.27034,57.6001],[26.27022,57.60461],[26.25423,57.61383],[26.24715,57.62082],[26.24813,57.62775],[26.23947,57.63408],[26.24203,57.63539],[26.24667,57.63559],[26.23959,57.64649],[26.23239,57.6461],[26.23117,57.64904],[26.24215,57.65146],[26.2363,57.65753],[26.23032,57.65805],[26.21043,57.66601],[26.21372,57.66888],[26.21092,57.67071],[26.21018,57.67906],[26.20079,57.68102],[26.19896,57.68356],[26.19444,57.68519],[26.18541,57.68454],[26.17712,57.68761],[26.18871,57.69472],[26.19859,57.70906],[26.20567,57.71486],[26.1726,57.72867],[26.141,57.73278],[26.13563,57.73923],[26.13905,57.74548],[26.13551,57.7503],[26.10537,57.757],[26.08035,57.76547],[26.07974,57.76384],[26.07328,57.76371],[26.07047,57.7656],[26.05912,57.75987],[26.049,57.7611],[26.0435,57.76703],[26.03326,57.77054],[26.02374,57.76761],[26.01776,57.7723],[26.02459,57.77516],[26.02496,57.7816],[26.02252,57.78355],[26.02776,57.7898],[26.03081,57.79097],[26.03338,57.80105],[26.03679,57.80592],[26.03606,57.8108],[26.04851,57.82289],[26.05705,57.83842],[26.05558,57.84764],[26.03667,57.84926],[26.02008,57.84517],[26.00958,57.85731],[25.99848,57.85816],[25.96273,57.84491],[25.931,57.85244],[25.89537,57.84972],[25.8883,57.84595],[25.88085,57.84946],[25.88573,57.85277],[25.88427,57.85595],[25.87561,57.85796],[25.87475,57.86322],[25.8595,57.85614],[25.81923,57.86419],[25.78312,57.89948],[25.78629,57.90428],[25.77165,57.91206],[25.75102,57.91692],[25.73724,57.92295],[25.72833,57.92133],[25.72247,57.91245],[25.70356,57.90331],[25.67916,57.90461],[25.67549,57.91277],[25.66207,57.91511],[25.65609,57.91439],[25.64889,57.91666],[25.64987,57.91841],[25.63828,57.93059],[25.57983,57.9442],[25.59399,57.95961],[25.58935,57.96504],[25.58239,57.96783],[25.58044,57.9721],[25.57483,57.9741],[25.56556,57.96718],[25.56604,57.96258],[25.55714,57.96038],[25.55567,57.96711],[25.55079,57.97255],[25.53725,57.97139],[25.52566,57.97184],[25.5226,57.96802],[25.51638,57.96737],[25.51211,57.96977],[25.52212,57.97488],[25.51943,57.98031],[25.48539,57.97475],[25.47843,57.98006],[25.47843,57.98264],[25.44219,57.99616],[25.44817,58.00114],[25.46648,58.00515],[25.44817,58.01698],[25.40693,58.02893],[25.37155,58.02926],[25.36374,58.03171],[25.35336,58.04334],[25.34482,58.04676],[25.33604,58.05709],[25.3292,58.05858],[25.32664,58.0638],[25.31981,58.066],[25.31908,58.06929],[25.29553,58.08161],[25.28686,58.08149],[25.28113,58.07019],[25.266,58.06716],[25.26502,58.06],[25.27991,58.05063],[25.29309,58.0467],[25.30431,58.03449],[25.30114,58.01504],[25.29748,58.01459],[25.30285,58.00011],[25.29577,57.99972],[25.29736,57.99661],[25.30358,57.99396],[25.30138,57.99273],[25.29187,57.99286],[25.28308,57.98963],[25.26722,57.99454],[25.25611,57.9939],[25.25502,58.00347],[25.2455,58.00302],[25.22768,58.01782],[25.24587,58.01872],[25.23562,58.02286],[25.23635,58.02441],[25.22732,58.02435],[25.22537,58.02195],[25.21902,58.02977],[25.21658,58.04088],[25.22695,58.04799],[25.22817,58.05348],[25.22122,58.05302],[25.22146,58.05051],[25.2178,58.04908],[25.21597,58.05954],[25.21219,58.06226],[25.20523,58.06122],[25.20389,58.0651],[25.21621,58.07413],[25.21207,58.08052],[25.19962,58.08536],[25.18949,58.08007],[25.19169,58.07613],[25.1535,58.07478],[25.15154,58.07703],[25.13397,58.07974],[25.10579,58.07749],[25.10518,58.06645],[25.07662,58.06645],[25.02037,58.01769],[24.99512,58.01084],[24.94863,58.00942],[24.83234,57.97177],[24.80806,57.99066],[24.74229,57.98187],[24.74339,57.96491],[24.7329,57.96239],[24.71508,57.96271],[24.6919,57.94653],[24.67335,57.95896],[24.64468,57.95889],[24.64187,57.95423],[24.64577,57.95268],[24.62869,57.94193],[24.61612,57.94368],[24.60892,57.95125],[24.58464,57.96174],[24.57317,57.95436],[24.54792,57.94938],[24.54352,57.94478],[24.5301,57.94705],[24.5207,57.94303],[24.51839,57.93675],[24.5096,57.93442],[24.51326,57.93066],[24.4625,57.92496],[24.44579,57.90798],[24.46018,57.90662],[24.45225,57.89942],[24.46006,57.87977],[24.41138,57.86491],[24.40906,57.87191],[24.33707,57.87393],[24.33829,58.0109],[24.42272,58.01097],[24.42614,58.28002],[24.51155,58.2797],[24.51216,58.32471],[24.42638,58.32503],[24.42712,58.36972],[24.34182,58.37017],[24.34048,58.23547],[24.17014,58.23572],[24.17014,58.1908],[24.08485,58.19092],[24.0851,58.23605],[24.00066,58.23579],[23.99993,58.28092],[23.82971,58.28047],[23.82947,58.32554],[23.65864,58.32496],[23.65791,58.41493],[23.57225,58.41468],[23.57127,58.50436],[23.39935,58.50359],[23.40106,58.41391],[23.14421,58.41238],[23.14567,58.36735],[23.05989,58.36703],[23.06172,58.32221],[22.9757,58.32157],[22.97716,58.27681],[22.89187,58.27598],[22.89358,58.23103],[22.80865,58.2302],[22.81012,58.18539],[22.89529,58.1861],[22.89663,58.1413],[22.72641,58.13982],[22.72495,58.18475],[22.55522,58.18276],[22.55693,58.13744],[22.64173,58.13886],[22.64344,58.094],[22.38903,58.0909],[22.38525,58.18063],[22.29995,58.17967],[22.30679,58.04527],[22.22198,58.0436],[22.22626,57.95404],[22.14206,57.95281],[22.1445,57.90804],[22.06007,57.90681],[22.06263,57.86186],[21.97807,57.86043],[21.96831,58.04004],[22.05274,58.04134],[22.04506,58.17581],[21.96038,58.17471],[21.95781,58.21941],[21.78723,58.21638],[21.78211,58.30631],[21.69681,58.3049],[21.69401,58.34975],[21.77942,58.35122],[21.76795,58.53074],[22.02566,58.53488],[22.02797,58.49001],[22.11375,58.49167],[22.11144,58.53621],[22.19709,58.53742],[22.19453,58.5823],[22.45236,58.58573],[22.44638,58.7203],[22.36023,58.71916],[22.35364,58.85385]],[[23.47415,59.26726],[23.29868,59.26632],[23.29795,59.31138],[23.47293,59.31194],[23.47415,59.26726]],[[24.17014,58.1908],[24.25507,58.19073],[24.25458,58.14581],[24.17002,58.14588],[24.17014,58.1908]],[[24.08485,58.19092],[24.08497,58.10129],[23.99968,58.10116],[23.99993,58.05632],[23.91525,58.05612],[23.915,58.14613],[23.83032,58.146],[23.82971,58.23572],[23.91451,58.23585],[23.91476,58.19099],[24.08485,58.19092]],[[24.61854,59.53612],[24.44183,59.5368],[24.44309,59.62659],[24.62016,59.6258],[24.61854,59.53612]],[[26.40403,59.7852],[26.31501,59.78667],[26.31814,59.83152],[26.40732,59.82994],[26.40403,59.7852]],[[26.48308,59.649],[26.48647,59.69383],[26.57514,59.69202],[26.57166,59.64719],[26.48308,59.649]],[[23.15944,57.78408],[23.24346,57.78461],[23.24445,57.73971],[23.32848,57.74031],[23.32679,57.82998],[23.15845,57.82885],[23.15944,57.78408]]],terms_text:"Maa-Ameti ortofoto"},{id:"estrela_de_alagoas",name:"Estrela de Alagoas",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Estrela%20de%20Alagoas&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.71382,-9.43476],[-36.71477,-9.34443],[-36.80586,-9.34498],[-36.80525,-9.43542],[-36.71382,-9.43476]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"eufar-balaton",name:"EUFAR Balaton orthophotos",type:"tms",template:"http://e.tile.openstreetmap.hu/balaton/0/{zoom}/{x}/{y}.jpg",endDate:"2010-08-31T00:00:00.000Z",startDate:"2010-08-01T00:00:00.000Z",zoomExtent:[12,19],polygon:[[[18.17918,46.98502],[18.17773,47.01816],[18.08176,47.05643],[18.10281,47.06311],[18.08152,47.09344],[18.06436,47.09049],[18.03537,47.07983],[18.03344,47.08262],[17.9582,47.05567],[17.99436,47.00449],[17.86441,46.95517],[17.80274,47.0103],[17.67184,46.97207],[17.23875,46.77079],[17.22244,46.6796],[17.47175,46.70306],[18.16735,46.94133],[18.17918,46.98502]]],terms_url:"http://www.bli.okologia.mta.hu/",terms_text:"EUFAR Balaton ortofotó 2010",best:true,description:"1940 geo-tagged photography from Balaton Limnological Institute."},{id:"Fiez-2013",name:"Fiez Orthophoto 2013",type:"tms",template:"http://osmdata.asitvd.ch/tiles/fiez2013/{zoom}/{x}/{y}.png",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[14,20],polygon:[[[6.62313,46.82339],[6.62899,46.82484],[6.62882,46.82674],[6.62531,46.83274],[6.62382,46.83317],[6.61839,46.83194],[6.62313,46.82339]]],terms_url:"http://osmdata.asitvd.ch/",terms_text:"Fiez - Orthophoto technique 2013"},{id:"fiskeridir-akvakultur",name:"Fiskeridirektoratet Aquaculture overlay",type:"wms",template:"https://ogc.fiskeridir.no/wms.ashx?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=layer_262&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[3,22],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.fiskeridir.no/Kart",terms_text:"© Fiskeridirektoratet",description:"Aquaculture/marine farms (licensed sites, may not yet have any installations)",icon:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/9c/Emblem_of_the_Norwegian_Directorate_of_Fisheries.svg/175px-Emblem_of_the_Norwegian_Directorate_of_Fisheries.svg.png",overlay:true},{id:"FOMI_2000",name:"FÖMI orthophoto 2000",type:"tms",template:"http://e.tile.openstreetmap.hu/ortofoto2000/{zoom}/{x}/{y}.jpg",endDate:"2000-01-01T00:00:00.000Z",startDate:"2000-01-01T00:00:00.000Z",zoomExtent:[0,17],polygon:[[[16.11391,46.8691],[16.17897,46.90662],[16.20004,46.94151],[16.22175,46.93554],[16.24628,46.94639],[16.25532,46.96421],[16.27647,46.96261],[16.29058,47.01398],[16.30162,46.99923],[16.34146,46.99652],[16.35052,47.01063],[16.3734,46.99859],[16.41277,47.00475],[16.43327,46.99274],[16.44781,47.00389],[16.48,46.99412],[16.5122,47.00117],[16.46356,47.03227],[16.44786,47.02275],[16.43912,47.02966],[16.44567,47.03887],[16.52032,47.0561],[16.47321,47.07362],[16.46372,47.09392],[16.5008,47.11006],[16.50004,47.12329],[16.52953,47.12874],[16.51716,47.14969],[16.45495,47.14259],[16.46487,47.16833],[16.45556,47.18756],[16.43056,47.1847],[16.4195,47.19491],[16.41892,47.21071],[16.43713,47.2097],[16.44263,47.23371],[16.43131,47.25276],[16.46715,47.25317],[16.48923,47.27989],[16.46463,47.33385],[16.4337,47.35281],[16.45851,47.36705],[16.44546,47.40702],[16.48317,47.40936],[16.49638,47.38927],[16.51709,47.41002],[16.57491,47.40542],[16.58073,47.41917],[16.66185,47.4556],[16.67064,47.47422],[16.65234,47.50034],[16.68956,47.51016],[16.71478,47.5402],[16.66354,47.56773],[16.6732,47.60495],[16.65953,47.6061],[16.65276,47.62285],[16.63142,47.62832],[16.57391,47.61967],[16.51474,47.6462],[16.49675,47.63931],[16.42546,47.66217],[16.44374,47.67421],[16.44805,47.69647],[16.4747,47.68116],[16.48722,47.69798],[16.55217,47.72255],[16.53638,47.73678],[16.54798,47.75154],[16.60952,47.76037],[16.63441,47.75908],[16.65729,47.74149],[16.72094,47.73536],[16.75341,47.68282],[16.83016,47.68106],[16.83943,47.70451],[16.86689,47.72115],[16.87668,47.68765],[17.09374,47.70777],[17.07066,47.72854],[17.0516,47.79385],[17.07495,47.8085],[17.04714,47.82856],[17.05195,47.83777],[17.01055,47.85818],[17.01639,47.86733],[17.08575,47.87462],[17.11317,47.92716],[17.09171,47.93429],[17.11838,47.96011],[17.09466,47.97088],[17.20103,48.01999],[17.24177,48.02247],[17.25795,47.99865],[17.33465,47.99312],[17.40299,47.94785],[17.45392,47.88526],[17.52674,47.86551],[17.56758,47.81513],[17.6084,47.82189],[17.70858,47.75668],[17.77987,47.73949],[17.8661,47.74575],[17.90013,47.73926],[17.94687,47.74467],[17.97087,47.75784],[18.00441,47.74634],[18.03806,47.75768],[18.29588,47.73146],[18.45407,47.76512],[18.49316,47.75276],[18.55908,47.766],[18.64609,47.75909],[18.72607,47.78904],[18.74118,47.81382],[18.792,47.82309],[18.84854,47.81672],[18.85588,47.82608],[18.82801,47.83429],[18.81357,47.85555],[18.76353,47.8716],[18.75686,47.89684],[18.77675,47.95509],[18.75525,47.97635],[18.81574,47.99344],[18.82,48.03968],[18.83327,48.04824],[18.87494,48.04707],[18.88667,48.05868],[18.90898,48.05114],[18.9439,48.05886],[18.98161,48.0536],[19.01486,48.07818],[19.05852,48.05735],[19.08436,48.07278],[19.1074,48.0656],[19.13529,48.07415],[19.24137,48.05365],[19.25578,48.07156],[19.30311,48.08871],[19.3866,48.09191],[19.40002,48.0823],[19.45405,48.10144],[19.46735,48.08393],[19.49442,48.10991],[19.49238,48.13966],[19.51282,48.15466],[19.50452,48.17344],[19.52897,48.19036],[19.52604,48.20313],[19.5775,48.21601],[19.63083,48.25007],[19.64452,48.23917],[19.66986,48.23921],[19.69122,48.20389],[19.72113,48.20147],[19.74618,48.21651],[19.78716,48.19253],[19.79873,48.19482],[19.80528,48.18373],[19.78242,48.16504],[19.79481,48.15353],[19.82133,48.16908],[19.84528,48.16274],[19.85517,48.17843],[19.86013,48.16941],[19.89875,48.16631],[19.91454,48.14686],[19.8983,48.1249],[19.93738,48.13112],[19.97439,48.166],[19.98871,48.16217],[20.02904,48.17768],[20.04945,48.1672],[20.07299,48.17961],[20.07004,48.1917],[20.13409,48.22518],[20.13319,48.25398],[20.20616,48.25098],[20.20383,48.26191],[20.22847,48.26278],[20.23495,48.27993],[20.28686,48.26164],[20.32571,48.27279],[20.33746,48.30167],[20.36566,48.31661],[20.38408,48.35118],[20.40983,48.36586],[20.40253,48.38256],[20.42053,48.40386],[20.41623,48.41854],[20.50793,48.48936],[20.50651,48.53442],[20.53747,48.52788],[20.54649,48.54429],[20.58659,48.53576],[20.65387,48.56141],[20.83636,48.58284],[20.8378,48.57421],[20.85044,48.58163],[20.84533,48.5665],[20.86815,48.55182],[20.92232,48.55945],[20.93463,48.53834],[20.95588,48.53396],[20.9562,48.52167],[20.98158,48.51777],[21.01511,48.53231],[21.06632,48.52589],[21.11745,48.49105],[21.16087,48.5215],[21.17963,48.51823],[21.22106,48.5375],[21.30549,48.52225],[21.31338,48.55084],[21.32688,48.55413],[21.31938,48.5612],[21.41545,48.55895],[21.42266,48.57882],[21.44061,48.5851],[21.51409,48.55107],[21.54202,48.5084],[21.61393,48.50942],[21.62019,48.46983],[21.66355,48.41796],[21.66456,48.39216],[21.70174,48.3807],[21.71187,48.35762],[21.81741,48.33279],[21.8352,48.33464],[21.83721,48.36325],[21.8843,48.35605],[21.88484,48.36754],[21.89788,48.36256],[21.8998,48.37022],[21.92819,48.3616],[21.92681,48.3709],[21.9492,48.37873],[21.99446,48.37732],[22.02133,48.39275],[22.0546,48.37753],[22.07649,48.38724],[22.08674,48.37156],[22.13591,48.38052],[22.13106,48.39123],[22.15277,48.39624],[22.15619,48.40931],[22.21257,48.42565],[22.23714,48.41004],[22.26549,48.40987],[22.23988,48.38701],[22.26757,48.36116],[22.31781,48.35454],[22.31329,48.32507],[22.33729,48.30791],[22.33843,48.27921],[22.38475,48.23396],[22.40064,48.2492],[22.43284,48.25252],[22.45639,48.24231],[22.4899,48.25342],[22.49722,48.23955],[22.51615,48.23797],[22.53111,48.20943],[22.57114,48.19614],[22.56164,48.18161],[22.59824,48.14476],[22.59028,48.10734],[22.67545,48.092],[22.73472,48.11985],[22.75762,48.12006],[22.77039,48.10902],[22.77232,48.12187],[22.80277,48.12211],[22.80253,48.10708],[22.82543,48.11751],[22.83644,48.08025],[22.86113,48.07503],[22.8678,48.05243],[22.88204,48.05481],[22.86597,48.01132],[22.83556,47.9906],[22.84076,47.98136],[22.87257,47.97527],[22.86973,47.96596],[22.89157,47.96724],[22.89744,47.95406],[22.84733,47.90776],[22.79281,47.89086],[22.75869,47.89414],[22.77775,47.84225],[22.71363,47.83609],[22.68019,47.78775],[22.61112,47.77175],[22.549,47.77222],[22.48121,47.81089],[22.45131,47.80339],[22.43133,47.73981],[22.35662,47.74862],[22.31777,47.76609],[22.31762,47.74337],[22.28514,47.72928],[22.26432,47.73107],[22.259,47.69791],[22.23068,47.6932],[22.17965,47.59161],[22.12892,47.5979],[22.09428,47.55836],[22.07826,47.56213],[22.05345,47.54748],[22.07122,47.53807],[22.06179,47.5288],[22.04513,47.53989],[22.03672,47.53267],[22.00719,47.48362],[22.03279,47.45084],[22.02388,47.39086],[22.01198,47.3758],[21.96274,47.38105],[21.93825,47.37253],[21.87779,47.28578],[21.88728,47.27305],[21.85349,47.23976],[21.85807,47.18736],[21.81248,47.16675],[21.79241,47.10598],[21.72683,47.09839],[21.6976,47.05792],[21.65042,47.04083],[21.68887,47.002],[21.66787,46.97123],[21.68149,46.96521],[21.6382,46.93305],[21.59845,46.92747],[21.61429,46.88673],[21.60167,46.86682],[21.52033,46.83737],[21.51861,46.80007],[21.48318,46.76502],[21.52634,46.73932],[21.52937,46.72097],[21.49233,46.68597],[21.47284,46.69591],[21.4299,46.69394],[21.43096,46.67814],[21.45467,46.66086],[21.41624,46.64262],[21.4098,46.62181],[21.3657,46.63795],[21.33005,46.63182],[21.31397,46.61767],[21.30124,46.59087],[21.32079,46.58286],[21.2743,46.54074],[21.26003,46.50216],[21.27442,46.47673],[21.29645,46.4763],[21.31743,46.45073],[21.28952,46.41548],[21.29633,46.40696],[21.22501,46.41369],[21.20642,46.40338],[21.19926,46.3479],[21.17623,46.33577],[21.1805,46.30445],[21.11554,46.30185],[21.10305,46.26246],[21.07088,46.2539],[21.06608,46.24294],[21.03662,46.24804],[21.02467,46.26653],[20.96082,46.2623],[20.94658,46.2793],[20.92507,46.27662],[20.92181,46.26181],[20.87327,46.28776],[20.77565,46.27596],[20.74905,46.25085],[20.76186,46.20456],[20.7274,46.20775],[20.73411,46.19394],[20.71405,46.16605],[20.68436,46.14478],[20.65492,46.14977],[20.63945,46.12676],[20.54505,46.17909],[20.50148,46.19033],[20.49494,46.17099],[20.45923,46.14288],[20.39751,46.15747],[20.36853,46.15286],[20.35571,46.16963],[20.29681,46.15215],[20.2549,46.11585],[20.24848,46.1301],[20.23301,46.12417],[20.18174,46.16011],[20.1365,46.14495],[20.10097,46.17728],[20.06362,46.14373],[20.03461,46.14589],[20.01581,46.17684],[19.93541,46.17642],[19.85335,46.15],[19.81797,46.12817],[19.75854,46.14798],[19.69821,46.18793],[19.68277,46.18004],[19.66151,46.19044],[19.63174,46.1693],[19.56765,46.17911],[19.5604,46.16658],[19.50266,46.14245],[19.52712,46.12103],[19.4645,46.09538],[19.46658,46.08204],[19.416,46.04605],[19.3804,46.03587],[19.36409,46.0523],[19.2819,46.0148],[19.29653,45.98812],[19.28565,45.9969],[19.14799,45.99634],[19.13384,46.0371],[19.10487,46.04017],[19.06604,46.0002],[19.07968,45.96364],[19.00598,45.95907],[19.00927,45.92366],[18.90613,45.93538],[18.87946,45.91668],[18.86471,45.92085],[18.86856,45.91134],[18.82768,45.90517],[18.822,45.91459],[18.80751,45.90361],[18.80925,45.87962],[18.79562,45.87845],[18.70489,45.91819],[18.67002,45.91084],[18.65966,45.91689],[18.66513,45.89928],[18.64128,45.88904],[18.65502,45.87424],[18.62777,45.87338],[18.61484,45.85314],[18.62367,45.83985],[18.57324,45.81376],[18.57498,45.80043],[18.55972,45.8038],[18.52235,45.78269],[18.49067,45.79472],[18.48219,45.7655],[18.45628,45.76952],[18.44508,45.76052],[18.44685,45.73713],[18.40763,45.73971],[18.39189,45.7617],[18.36423,45.77294],[18.33942,45.74716],[18.29682,45.76122],[18.24405,45.76123],[18.23073,45.77903],[18.19087,45.78788],[18.16819,45.77627],[18.12465,45.78963],[18.10681,45.77083],[18.08189,45.76452],[17.99588,45.79573],[17.93021,45.78633],[17.90668,45.79257],[17.86531,45.76701],[17.82627,45.81],[17.80898,45.8041],[17.78091,45.81749],[17.76034,45.81192],[17.74086,45.8296],[17.66329,45.83818],[17.62762,45.89794],[17.57007,45.93582],[17.43783,45.95038],[17.4259,45.92727],[17.41081,45.93997],[17.39215,45.93021],[17.38287,45.94757],[17.34762,45.94234],[17.34388,45.96053],[17.35377,45.9525],[17.39054,45.95819],[17.38742,45.96618],[17.35835,45.96427],[17.37549,45.96869],[17.37519,45.98811],[17.36357,45.99154],[17.35672,45.97358],[17.33396,45.99608],[17.33198,45.97289],[17.313,45.96653],[17.32365,45.98878],[17.29877,45.98387],[17.3042,46.00211],[17.25797,46.01103],[17.29632,46.02852],[17.25415,46.03001],[17.27096,46.05671],[17.23248,46.0592],[17.25251,46.06647],[17.23131,46.07903],[17.20199,46.07655],[17.23313,46.09896],[17.2104,46.10017],[17.21297,46.11386],[17.17593,46.10846],[17.17434,46.12876],[17.18652,46.13323],[17.1811,46.15055],[17.15623,46.15858],[17.15929,46.16968],[17.1261,46.16845],[17.12274,46.17898],[17.07525,46.18895],[17.06616,46.2023],[16.97354,46.2252],[16.97395,46.24311],[16.95041,46.24153],[16.88624,46.28146],[16.87137,46.32528],[16.88021,46.3357],[16.86154,46.34524],[16.86562,46.35565],[16.8522,46.35172],[16.84986,46.36262],[16.83529,46.36382],[16.83765,46.3748],[16.82617,46.3671],[16.79334,46.38739],[16.75921,46.37766],[16.72987,46.40149],[16.71821,46.38987],[16.67729,46.44945],[16.66318,46.4487],[16.66637,46.4583],[16.61879,46.46199],[16.60447,46.47608],[16.5236,46.50538],[16.53258,46.5314],[16.51767,46.53635],[16.50841,46.56527],[16.483,46.56604],[16.4834,46.5786],[16.44557,46.61095],[16.42486,46.61316],[16.38594,46.64425],[16.39154,46.66373],[16.41985,46.65848],[16.42863,46.69397],[16.36892,46.70401],[16.37983,46.71539],[16.37109,46.72229],[16.35706,46.71424],[16.3186,46.75414],[16.33054,46.77521],[16.31216,46.778],[16.31277,46.79731],[16.34064,46.80519],[16.35084,46.83006],[16.34033,46.84688],[16.3015,46.85951],[16.29139,46.87283],[16.23323,46.87667],[16.15609,46.85371],[16.12657,46.85691],[16.11391,46.8691]]],terms_url:"https://www.fomi.hu",terms_text:"Földmérési és Távérzékelési Intézet"},{id:"FOMI_2005",name:"FÖMI orthophoto 2005",type:"tms",template:"http://e.tile.openstreetmap.hu/ortofoto2005/{zoom}/{x}/{y}.jpg",endDate:"2005-01-01T00:00:00.000Z",startDate:"2005-01-01T00:00:00.000Z",zoomExtent:[0,17],polygon:[[[16.11391,46.8691],[16.17897,46.90662],[16.20004,46.94151],[16.22175,46.93554],[16.24628,46.94639],[16.25532,46.96421],[16.27647,46.96261],[16.29058,47.01398],[16.30162,46.99923],[16.34146,46.99652],[16.35052,47.01063],[16.3734,46.99859],[16.41277,47.00475],[16.43327,46.99274],[16.44781,47.00389],[16.48,46.99412],[16.5122,47.00117],[16.46356,47.03227],[16.44786,47.02275],[16.43912,47.02966],[16.44567,47.03887],[16.52032,47.0561],[16.47321,47.07362],[16.46372,47.09392],[16.5008,47.11006],[16.50004,47.12329],[16.52953,47.12874],[16.51716,47.14969],[16.45495,47.14259],[16.46487,47.16833],[16.45556,47.18756],[16.43056,47.1847],[16.4195,47.19491],[16.41892,47.21071],[16.43713,47.2097],[16.44263,47.23371],[16.43131,47.25276],[16.46715,47.25317],[16.48923,47.27989],[16.46463,47.33385],[16.4337,47.35281],[16.45851,47.36705],[16.44546,47.40702],[16.48317,47.40936],[16.49638,47.38927],[16.51709,47.41002],[16.57491,47.40542],[16.58073,47.41917],[16.66185,47.4556],[16.67064,47.47422],[16.65234,47.50034],[16.68956,47.51016],[16.71478,47.5402],[16.66354,47.56773],[16.6732,47.60495],[16.65953,47.6061],[16.65276,47.62285],[16.63142,47.62832],[16.57391,47.61967],[16.51474,47.6462],[16.49675,47.63931],[16.42546,47.66217],[16.44374,47.67421],[16.44805,47.69647],[16.4747,47.68116],[16.48722,47.69798],[16.55217,47.72255],[16.53638,47.73678],[16.54798,47.75154],[16.60952,47.76037],[16.63441,47.75908],[16.65729,47.74149],[16.72094,47.73536],[16.75341,47.68282],[16.83016,47.68106],[16.83943,47.70451],[16.86689,47.72115],[16.87668,47.68765],[17.09374,47.70777],[17.07066,47.72854],[17.0516,47.79385],[17.07495,47.8085],[17.04714,47.82856],[17.05195,47.83777],[17.01055,47.85818],[17.01639,47.86733],[17.08575,47.87462],[17.11317,47.92716],[17.09171,47.93429],[17.11838,47.96011],[17.09466,47.97088],[17.20103,48.01999],[17.24177,48.02247],[17.25795,47.99865],[17.33465,47.99312],[17.40299,47.94785],[17.45392,47.88526],[17.52674,47.86551],[17.56758,47.81513],[17.6084,47.82189],[17.70858,47.75668],[17.77987,47.73949],[17.8661,47.74575],[17.90013,47.73926],[17.94687,47.74467],[17.97087,47.75784],[18.00441,47.74634],[18.03806,47.75768],[18.29588,47.73146],[18.45407,47.76512],[18.49316,47.75276],[18.55908,47.766],[18.64609,47.75909],[18.72607,47.78904],[18.74118,47.81382],[18.792,47.82309],[18.84854,47.81672],[18.85588,47.82608],[18.82801,47.83429],[18.81357,47.85555],[18.76353,47.8716],[18.75686,47.89684],[18.77675,47.95509],[18.75525,47.97635],[18.81574,47.99344],[18.82,48.03968],[18.83327,48.04824],[18.87494,48.04707],[18.88667,48.05868],[18.90898,48.05114],[18.9439,48.05886],[18.98161,48.0536],[19.01486,48.07818],[19.05852,48.05735],[19.08436,48.07278],[19.1074,48.0656],[19.13529,48.07415],[19.24137,48.05365],[19.25578,48.07156],[19.30311,48.08871],[19.3866,48.09191],[19.40002,48.0823],[19.45405,48.10144],[19.46735,48.08393],[19.49442,48.10991],[19.49238,48.13966],[19.51282,48.15466],[19.50452,48.17344],[19.52897,48.19036],[19.52604,48.20313],[19.5775,48.21601],[19.63083,48.25007],[19.64452,48.23917],[19.66986,48.23921],[19.69122,48.20389],[19.72113,48.20147],[19.74618,48.21651],[19.78716,48.19253],[19.79873,48.19482],[19.80528,48.18373],[19.78242,48.16504],[19.79481,48.15353],[19.82133,48.16908],[19.84528,48.16274],[19.85517,48.17843],[19.86013,48.16941],[19.89875,48.16631],[19.91454,48.14686],[19.8983,48.1249],[19.93738,48.13112],[19.97439,48.166],[19.98871,48.16217],[20.02904,48.17768],[20.04945,48.1672],[20.07299,48.17961],[20.07004,48.1917],[20.13409,48.22518],[20.13319,48.25398],[20.20616,48.25098],[20.20383,48.26191],[20.22847,48.26278],[20.23495,48.27993],[20.28686,48.26164],[20.32571,48.27279],[20.33746,48.30167],[20.36566,48.31661],[20.38408,48.35118],[20.40983,48.36586],[20.40253,48.38256],[20.42053,48.40386],[20.41623,48.41854],[20.50793,48.48936],[20.50651,48.53442],[20.53747,48.52788],[20.54649,48.54429],[20.58659,48.53576],[20.65387,48.56141],[20.83636,48.58284],[20.8378,48.57421],[20.85044,48.58163],[20.84533,48.5665],[20.86815,48.55182],[20.92232,48.55945],[20.93463,48.53834],[20.95588,48.53396],[20.9562,48.52167],[20.98158,48.51777],[21.01511,48.53231],[21.06632,48.52589],[21.11745,48.49105],[21.16087,48.5215],[21.17963,48.51823],[21.22106,48.5375],[21.30549,48.52225],[21.31338,48.55084],[21.32688,48.55413],[21.31938,48.5612],[21.41545,48.55895],[21.42266,48.57882],[21.44061,48.5851],[21.51409,48.55107],[21.54202,48.5084],[21.61393,48.50942],[21.62019,48.46983],[21.66355,48.41796],[21.66456,48.39216],[21.70174,48.3807],[21.71187,48.35762],[21.81741,48.33279],[21.8352,48.33464],[21.83721,48.36325],[21.8843,48.35605],[21.88484,48.36754],[21.89788,48.36256],[21.8998,48.37022],[21.92819,48.3616],[21.92681,48.3709],[21.9492,48.37873],[21.99446,48.37732],[22.02133,48.39275],[22.0546,48.37753],[22.07649,48.38724],[22.08674,48.37156],[22.13591,48.38052],[22.13106,48.39123],[22.15277,48.39624],[22.15619,48.40931],[22.21257,48.42565],[22.23714,48.41004],[22.26549,48.40987],[22.23988,48.38701],[22.26757,48.36116],[22.31781,48.35454],[22.31329,48.32507],[22.33729,48.30791],[22.33843,48.27921],[22.38475,48.23396],[22.40064,48.2492],[22.43284,48.25252],[22.45639,48.24231],[22.4899,48.25342],[22.49722,48.23955],[22.51615,48.23797],[22.53111,48.20943],[22.57114,48.19614],[22.56164,48.18161],[22.59824,48.14476],[22.59028,48.10734],[22.67545,48.092],[22.73472,48.11985],[22.75762,48.12006],[22.77039,48.10902],[22.77232,48.12187],[22.80277,48.12211],[22.80253,48.10708],[22.82543,48.11751],[22.83644,48.08025],[22.86113,48.07503],[22.8678,48.05243],[22.88204,48.05481],[22.86597,48.01132],[22.83556,47.9906],[22.84076,47.98136],[22.87257,47.97527],[22.86973,47.96596],[22.89157,47.96724],[22.89744,47.95406],[22.84733,47.90776],[22.79281,47.89086],[22.75869,47.89414],[22.77775,47.84225],[22.71363,47.83609],[22.68019,47.78775],[22.61112,47.77175],[22.549,47.77222],[22.48121,47.81089],[22.45131,47.80339],[22.43133,47.73981],[22.35662,47.74862],[22.31777,47.76609],[22.31762,47.74337],[22.28514,47.72928],[22.26432,47.73107],[22.259,47.69791],[22.23068,47.6932],[22.17965,47.59161],[22.12892,47.5979],[22.09428,47.55836],[22.07826,47.56213],[22.05345,47.54748],[22.07122,47.53807],[22.06179,47.5288],[22.04513,47.53989],[22.03672,47.53267],[22.00719,47.48362],[22.03279,47.45084],[22.02388,47.39086],[22.01198,47.3758],[21.96274,47.38105],[21.93825,47.37253],[21.87779,47.28578],[21.88728,47.27305],[21.85349,47.23976],[21.85807,47.18736],[21.81248,47.16675],[21.79241,47.10598],[21.72683,47.09839],[21.6976,47.05792],[21.65042,47.04083],[21.68887,47.002],[21.66787,46.97123],[21.68149,46.96521],[21.6382,46.93305],[21.59845,46.92747],[21.61429,46.88673],[21.60167,46.86682],[21.52033,46.83737],[21.51861,46.80007],[21.48318,46.76502],[21.52634,46.73932],[21.52937,46.72097],[21.49233,46.68597],[21.47284,46.69591],[21.4299,46.69394],[21.43096,46.67814],[21.45467,46.66086],[21.41624,46.64262],[21.4098,46.62181],[21.3657,46.63795],[21.33005,46.63182],[21.31397,46.61767],[21.30124,46.59087],[21.32079,46.58286],[21.2743,46.54074],[21.26003,46.50216],[21.27442,46.47673],[21.29645,46.4763],[21.31743,46.45073],[21.28952,46.41548],[21.29633,46.40696],[21.22501,46.41369],[21.20642,46.40338],[21.19926,46.3479],[21.17623,46.33577],[21.1805,46.30445],[21.11554,46.30185],[21.10305,46.26246],[21.07088,46.2539],[21.06608,46.24294],[21.03662,46.24804],[21.02467,46.26653],[20.96082,46.2623],[20.94658,46.2793],[20.92507,46.27662],[20.92181,46.26181],[20.87327,46.28776],[20.77565,46.27596],[20.74905,46.25085],[20.76186,46.20456],[20.7274,46.20775],[20.73411,46.19394],[20.71405,46.16605],[20.68436,46.14478],[20.65492,46.14977],[20.63945,46.12676],[20.54505,46.17909],[20.50148,46.19033],[20.49494,46.17099],[20.45923,46.14288],[20.39751,46.15747],[20.36853,46.15286],[20.35571,46.16963],[20.29681,46.15215],[20.2549,46.11585],[20.24848,46.1301],[20.23301,46.12417],[20.18174,46.16011],[20.1365,46.14495],[20.10097,46.17728],[20.06362,46.14373],[20.03461,46.14589],[20.01581,46.17684],[19.93541,46.17642],[19.85335,46.15],[19.81797,46.12817],[19.75854,46.14798],[19.69821,46.18793],[19.68277,46.18004],[19.66151,46.19044],[19.63174,46.1693],[19.56765,46.17911],[19.5604,46.16658],[19.50266,46.14245],[19.52712,46.12103],[19.4645,46.09538],[19.46658,46.08204],[19.416,46.04605],[19.3804,46.03587],[19.36409,46.0523],[19.2819,46.0148],[19.29653,45.98812],[19.28565,45.9969],[19.14799,45.99634],[19.13384,46.0371],[19.10487,46.04017],[19.06604,46.0002],[19.07968,45.96364],[19.00598,45.95907],[19.00927,45.92366],[18.90613,45.93538],[18.87946,45.91668],[18.86471,45.92085],[18.86856,45.91134],[18.82768,45.90517],[18.822,45.91459],[18.80751,45.90361],[18.80925,45.87962],[18.79562,45.87845],[18.70489,45.91819],[18.67002,45.91084],[18.65966,45.91689],[18.66513,45.89928],[18.64128,45.88904],[18.65502,45.87424],[18.62777,45.87338],[18.61484,45.85314],[18.62367,45.83985],[18.57324,45.81376],[18.57498,45.80043],[18.55972,45.8038],[18.52235,45.78269],[18.49067,45.79472],[18.48219,45.7655],[18.45628,45.76952],[18.44508,45.76052],[18.44685,45.73713],[18.40763,45.73971],[18.39189,45.7617],[18.36423,45.77294],[18.33942,45.74716],[18.29682,45.76122],[18.24405,45.76123],[18.23073,45.77903],[18.19087,45.78788],[18.16819,45.77627],[18.12465,45.78963],[18.10681,45.77083],[18.08189,45.76452],[17.99588,45.79573],[17.93021,45.78633],[17.90668,45.79257],[17.86531,45.76701],[17.82627,45.81],[17.80898,45.8041],[17.78091,45.81749],[17.76034,45.81192],[17.74086,45.8296],[17.66329,45.83818],[17.62762,45.89794],[17.57007,45.93582],[17.43783,45.95038],[17.4259,45.92727],[17.41081,45.93997],[17.39215,45.93021],[17.38287,45.94757],[17.34762,45.94234],[17.34388,45.96053],[17.35377,45.9525],[17.39054,45.95819],[17.38742,45.96618],[17.35835,45.96427],[17.37549,45.96869],[17.37519,45.98811],[17.36357,45.99154],[17.35672,45.97358],[17.33396,45.99608],[17.33198,45.97289],[17.313,45.96653],[17.32365,45.98878],[17.29877,45.98387],[17.3042,46.00211],[17.25797,46.01103],[17.29632,46.02852],[17.25415,46.03001],[17.27096,46.05671],[17.23248,46.0592],[17.25251,46.06647],[17.23131,46.07903],[17.20199,46.07655],[17.23313,46.09896],[17.2104,46.10017],[17.21297,46.11386],[17.17593,46.10846],[17.17434,46.12876],[17.18652,46.13323],[17.1811,46.15055],[17.15623,46.15858],[17.15929,46.16968],[17.1261,46.16845],[17.12274,46.17898],[17.07525,46.18895],[17.06616,46.2023],[16.97354,46.2252],[16.97395,46.24311],[16.95041,46.24153],[16.88624,46.28146],[16.87137,46.32528],[16.88021,46.3357],[16.86154,46.34524],[16.86562,46.35565],[16.8522,46.35172],[16.84986,46.36262],[16.83529,46.36382],[16.83765,46.3748],[16.82617,46.3671],[16.79334,46.38739],[16.75921,46.37766],[16.72987,46.40149],[16.71821,46.38987],[16.67729,46.44945],[16.66318,46.4487],[16.66637,46.4583],[16.61879,46.46199],[16.60447,46.47608],[16.5236,46.50538],[16.53258,46.5314],[16.51767,46.53635],[16.50841,46.56527],[16.483,46.56604],[16.4834,46.5786],[16.44557,46.61095],[16.42486,46.61316],[16.38594,46.64425],[16.39154,46.66373],[16.41985,46.65848],[16.42863,46.69397],[16.36892,46.70401],[16.37983,46.71539],[16.37109,46.72229],[16.35706,46.71424],[16.3186,46.75414],[16.33054,46.77521],[16.31216,46.778],[16.31277,46.79731],[16.34064,46.80519],[16.35084,46.83006],[16.34033,46.84688],[16.3015,46.85951],[16.29139,46.87283],[16.23323,46.87667],[16.15609,46.85371],[16.12657,46.85691],[16.11391,46.8691]]],terms_url:"https://www.fomi.hu",terms_text:"Földmérési és Távérzékelési Intézet"},{id:"Freemap.sk-Car",name:"Freemap.sk Car",type:"tms",template:"https://{switch:a,b,c,d}.freemap.sk/A/{zoom}/{x}/{y}.jpeg",zoomExtent:[8,16],polygon:[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],terms_text:"Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved.",icon:"https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png"},{id:"Freemap.sk-Cyclo",name:"Freemap.sk Cyclo",type:"tms",template:"https://{switch:a,b,c,d}.freemap.sk/C/{zoom}/{x}/{y}.jpeg",zoomExtent:[8,16],polygon:[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],terms_text:"Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved.",icon:"https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png"},{id:"Freemap.sk-Hiking",name:"Freemap.sk Hiking",type:"tms",template:"https://{switch:a,b,c,d}.freemap.sk/T/{zoom}/{x}/{y}.jpeg",zoomExtent:[8,16],polygon:[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],terms_text:"Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved.",icon:"https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png"},{id:"Freemap.sk-Ski",name:"Freemap.sk Ski",type:"tms",template:"https://{switch:a,b,c,d}.freemap.sk/K/{zoom}/{x}/{y}.jpeg",zoomExtent:[8,16],polygon:[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],terms_text:"Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved.",icon:"https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png"},{id:"fta-digiroad-functional",name:"FTA Road Network",type:"wms",template:"https://extranet.liikennevirasto.fi/inspirepalvelu/beta/wms?SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=dr_tielinkki_toim_lk&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[3,20],polygon:[[[27.96569,70.0988],[27.57431,70.07728],[27.10876,69.93548],[26.70913,69.97549],[26.45507,69.94207],[25.87142,69.6671],[25.94833,69.61024],[25.83023,69.55323],[25.66955,69.20794],[25.73822,69.01797],[25.60089,68.90309],[25.45806,68.91199],[25.11749,68.80699],[25.07354,68.64355],[24.88128,68.62003],[23.97491,68.84568],[23.74969,68.8308],[23.63433,68.71645],[23.18939,68.68053],[22.52197,68.7553],[21.63894,69.28191],[21.26953,69.31783],[20.94131,69.21622],[21.08963,69.09307],[21.05941,69.04352],[20.72296,69.12491],[20.54443,69.0558],[20.84655,68.97416],[20.81634,68.91742],[21.38754,68.68461],[22.04734,68.47066],[22.80212,68.35464],[23.12072,68.13169],[23.5437,67.9633],[23.44757,67.8393],[23.48602,67.59352],[23.36517,67.46545],[23.71124,67.41592],[23.72772,67.32186],[23.54644,67.26885],[23.53128,67.16724],[23.89251,66.86863],[23.84582,66.57775],[23.61843,66.44562],[23.67171,66.20303],[23.87191,66.14551],[24.09988,65.87247],[24.1658,65.66959],[24.11636,65.39143],[21.37939,63.68037],[20.17639,63.29787],[19.08325,60.16064],[20.22033,59.44786],[22.29125,59.44507],[25.82336,59.933],[27.52075,60.23435],[27.83386,60.53229],[29.29641,61.26165],[31.20803,62.44759],[31.62826,62.90585],[31.2635,63.22106],[29.99605,63.75387],[30.28656,63.81704],[30.58319,64.0782],[30.5104,64.26428],[30.09979,64.39218],[30.02563,64.58736],[30.16845,64.63329],[30.09429,64.79518],[29.78393,64.79811],[29.65347,64.89733],[29.65759,65.05939],[29.91027,65.09527],[29.93225,65.20895],[29.72076,65.27853],[29.91577,65.63788],[30.1863,65.66223],[29.9913,66.09771],[29.07119,66.91983],[30.11077,67.63431],[29.3486,68.08099],[28.67568,68.20166],[28.46547,68.54039],[28.72375,68.72642],[28.82675,68.87341],[28.44985,68.90792],[28.95996,69.05089],[28.83324,69.10563],[28.87207,69.22132],[29.36096,69.46526],[29.15634,69.69667],[28.38455,69.83488],[28.35845,69.88312],[28.17169,69.92511],[28.00415,70.01495],[27.96569,70.0988]]],terms_url:"https://www.liikennevirasto.fi/web/en/open-data/digiroad/",terms_text:"© Liikennevirasto",description:"Digiroad national road network from the Finnish Transport Agency, functional road classes.",icon:"https://www.liikennevirasto.fi/livi-theme/images/general/liikennevirasto_logo_2x.png",overlay:true},{id:"gaza_pleiades_20140706",name:"Gaza Strip - Pléiades - 2014/07/06",type:"tms",template:"https://imagery.openstreetmap.fr/tms/1.0.0/gaza_pleiades_20140706/{zoom}/{x}/{y}",endDate:"2014-07-06T00:00:00.000Z",startDate:"2014-07-06T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[34.49022,31.59487],[34.49339,31.59263],[34.5678,31.5401],[34.5653,31.53226],[34.55613,31.52552],[34.54729,31.5121],[34.53011,31.5066],[34.5255,31.50251],[34.51369,31.50067],[34.505,31.49543],[34.4887,31.48263],[34.48532,31.48028],[34.47962,31.47778],[34.47471,31.47207],[34.4674,31.46448],[34.46576,31.46275],[34.45308,31.45139],[34.44585,31.4441],[34.44216,31.44327],[34.43798,31.44112],[34.43226,31.43458],[34.43164,31.43265],[34.4268,31.42804],[34.42211,31.42437],[34.41326,31.41862],[34.41329,31.41758],[34.41174,31.41604],[34.40918,31.41542],[34.4067,31.41295],[34.40506,31.41295],[34.40197,31.4112],[34.40134,31.40986],[34.39492,31.40391],[34.39351,31.40113],[34.38824,31.39599],[34.38037,31.38951],[34.38074,31.38791],[34.37407,31.37915],[34.37338,31.37422],[34.37159,31.37209],[34.37214,31.37093],[34.37158,31.36972],[34.3704,31.36909],[34.36827,31.36992],[34.36685,31.36914],[34.36497,31.36137],[34.37438,31.30609],[34.36708,31.29074],[34.34339,31.27846],[34.33119,31.26149],[34.31931,31.25317],[34.29093,31.24009],[34.26762,31.21894],[34.25915,31.22131],[34.231,31.26295],[34.21113,31.32157],[34.2434,31.34554],[34.29954,31.39629],[34.34172,31.43251],[34.36439,31.45715],[34.41099,31.50162],[34.42619,31.52686],[34.44463,31.54193],[34.49022,31.59487]]],terms_url:"https://wiki.openstreetmap.org/wiki/2014_Gaza_Strip",terms_text:"Copyright CNES 2014, Distribution Airbus Defence and Space"},{id:"gaza_pleiades_20140706_nir",name:"Gaza Strip - Pléiades - 2014/07/06 (NIR)",type:"tms",template:"https://imagery.openstreetmap.fr/tms/1.0.0/gaza_pleiades_20140706_nir/{zoom}/{x}/{y}",endDate:"2014-07-06T00:00:00.000Z",startDate:"2014-07-06T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[34.49022,31.59487],[34.49339,31.59263],[34.5678,31.5401],[34.5653,31.53226],[34.55613,31.52552],[34.54729,31.5121],[34.53011,31.5066],[34.5255,31.50251],[34.51369,31.50067],[34.505,31.49543],[34.4887,31.48263],[34.48532,31.48028],[34.47962,31.47778],[34.47471,31.47207],[34.4674,31.46448],[34.46576,31.46275],[34.45308,31.45139],[34.44585,31.4441],[34.44216,31.44327],[34.43798,31.44112],[34.43226,31.43458],[34.43164,31.43265],[34.4268,31.42804],[34.42211,31.42437],[34.41326,31.41862],[34.41329,31.41758],[34.41174,31.41604],[34.40918,31.41542],[34.4067,31.41295],[34.40506,31.41295],[34.40197,31.4112],[34.40134,31.40986],[34.39492,31.40391],[34.39351,31.40113],[34.38824,31.39599],[34.38037,31.38951],[34.38074,31.38791],[34.37407,31.37915],[34.37338,31.37422],[34.37159,31.37209],[34.37214,31.37093],[34.37158,31.36972],[34.3704,31.36909],[34.36827,31.36992],[34.36685,31.36914],[34.36497,31.36137],[34.37438,31.30609],[34.36708,31.29074],[34.34339,31.27846],[34.33119,31.26149],[34.31931,31.25317],[34.29093,31.24009],[34.26762,31.21894],[34.25915,31.22131],[34.231,31.26295],[34.21113,31.32157],[34.2434,31.34554],[34.29954,31.39629],[34.34172,31.43251],[34.36439,31.45715],[34.41099,31.50162],[34.42619,31.52686],[34.44463,31.54193],[34.49022,31.59487]]],terms_url:"https://wiki.openstreetmap.org/wiki/2014_Gaza_Strip",terms_text:"Copyright CNES 2014, Distribution Airbus Defence and Space"},{id:"Geobase_Hydrography",name:"Geobase Hydrography - English",type:"wms",template:"https://maps.geogratis.gc.ca/wms/hydro_network_en?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=nhn:nhn&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-141.0678,60.2442],[-139.3842,60.10331],[-137.4746,58.82791],[-135.4766,59.65971],[-134.399,58.86279],[-132.5239,57.08342],[-130.1435,55.27452],[-130.7734,54.75597],[-132.4355,54.71514],[-134.5711,54.38827],[-141.7761,53.58405],[-128.9768,46.41459],[-124.8087,48.42976],[-123.4286,48.17889],[-123.0256,48.40444],[-123.19237,48.65504],[-122.99582,48.51065],[-122.4869,48.4098],[-122.32915,48.4528],[-122.22939,48.50649],[-122.17908,48.52965],[-122.1842,48.5669],[-121.77833,48.57593],[-121.66578,48.42791],[-121.33068,48.35714],[-121.02713,48.34977],[-121.03054,48.49406],[-120.698,48.51497],[-120.51041,48.8718],[-119.97579,48.88134],[-119.95447,48.51497],[-119.90758,48.29421],[-119.73193,48.15503],[-119.74386,48.07419],[-119.62279,48.10951],[-119.60232,48.14707],[-119.25273,48.16243],[-114.1499,48.99487],[-95.12094,48.98405],[-95.13419,49.35564],[-94.94415,49.34356],[-94.8839,49.29522],[-94.71704,48.87631],[-94.71791,48.7485],[-93.83204,48.49765],[-93.43778,48.53066],[-93.38216,48.59507],[-92.98471,48.60312],[-92.73847,48.50725],[-92.7095,48.42081],[-92.54293,48.40158],[-92.38361,48.20406],[-92.11564,48.27641],[-91.58697,48.02516],[-91.24658,48.05422],[-90.86275,48.20889],[-90.78308,48.0639],[-90.0774,48.07435],[-89.93835,47.96584],[-89.75469,47.99609],[-89.32745,47.93943],[-88.41489,48.26677],[-84.9566,46.86086],[-84.84795,46.6762],[-84.55904,46.45441],[-84.47642,46.44972],[-84.43758,46.48872],[-84.3669,46.5055],[-84.34899,46.5055],[-84.29026,46.49077],[-84.25742,46.49386],[-84.22507,46.53187],[-84.1962,46.53804],[-84.18027,46.52468],[-84.15987,46.52468],[-84.13449,46.52879],[-84.11558,46.50653],[-84.15944,46.42769],[-84.10024,46.20338],[-83.95558,46.05132],[-83.8864,46.06125],[-83.8203,46.11181],[-83.76975,46.09563],[-83.67498,46.11391],[-83.58084,46.09921],[-83.44747,45.99521],[-83.60888,45.81772],[-82.14271,43.57905],[-82.39133,43.06666],[-82.41252,43.01127],[-82.42522,42.99864],[-82.42618,42.99374],[-82.42363,42.98536],[-82.41503,42.97697],[-82.41853,42.96578],[-82.43064,42.95203],[-82.44911,42.93711],[-82.45739,42.92568],[-82.46472,42.90562],[-82.47228,42.8877],[-82.47228,42.84743],[-82.48536,42.80967],[-82.46844,42.76365],[-82.48586,42.73697],[-82.49155,42.71168],[-82.51488,42.66652],[-82.51224,42.63893],[-82.52421,42.61103],[-82.56854,42.58184],[-82.59498,42.55148],[-82.61286,42.56409],[-82.65158,42.55707],[-82.83439,42.3763],[-83.01489,42.33457],[-83.07244,42.31502],[-83.09647,42.29542],[-83.12823,42.24126],[-83.14167,42.18582],[-83.12799,42.12172],[-83.16266,42.04963],[-83.05136,41.70911],[-82.41932,41.6377],[-81.22563,42.19633],[-80.06688,42.37121],[-78.86642,42.825],[-78.90301,42.92307],[-78.92063,42.95234],[-78.93331,42.95708],[-78.96058,42.9595],[-78.98479,42.9761],[-79.01825,42.9964],[-79.01969,43.01561],[-79.00695,43.0333],[-78.99599,43.06448],[-79.07335,43.07876],[-79.07286,43.083],[-79.0652,43.0917],[-79.05623,43.10825],[-79.05982,43.11563],[-79.06764,43.11992],[-79.05411,43.12801],[-79.04112,43.13986],[-79.04465,43.16192],[-79.05101,43.17037],[-79.04758,43.19974],[-79.05511,43.25682],[-79.18688,43.44858],[-78.68836,43.62502],[-76.77647,43.61369],[-76.41665,44.08498],[-75.49023,44.70772],[-75.29544,44.82587],[-75.16845,44.88548],[-75.1275,44.8975],[-75.00499,44.95265],[-74.98159,44.97728],[-74.90496,44.98222],[-74.8313,45.01108],[-74.77954,45.00158],[-74.74562,44.98526],[-74.70475,44.99877],[-74.49079,44.99343],[-74.23203,44.98552],[-73.93713,44.99512],[-73.01809,45.0121],[-72.63177,45.0121],[-72.54779,45.00506],[-72.32259,45.00286],[-71.49404,45.01093],[-71.48648,45.06221],[-71.42303,45.12765],[-71.43112,45.14037],[-71.37175,45.22117],[-71.28959,45.28578],[-71.23613,45.24302],[-71.11683,45.22933],[-71.0531,45.29866],[-70.98936,45.31088],[-70.90246,45.22525],[-70.82473,45.22714],[-70.77626,45.40013],[-70.7119,45.3754],[-70.63387,45.37346],[-70.60302,45.41179],[-70.67659,45.56319],[-70.3752,45.73075],[-70.36334,45.82013],[-70.25417,45.87468],[-70.22569,45.94403],[-70.27316,45.99022],[-70.17586,46.33538],[-70.06195,46.4107],[-69.98891,46.69363],[-69.22424,47.44463],[-69.06999,47.41092],[-69.07473,47.24202],[-68.89684,47.17469],[-68.78685,47.21493],[-68.72415,47.23217],[-68.68583,47.24028],[-68.66044,47.23183],[-68.62162,47.24028],[-68.59425,47.24974],[-68.59226,47.27001],[-68.57385,47.28486],[-68.55941,47.2798],[-68.542,47.2798],[-68.51214,47.29195],[-68.47381,47.29229],[-68.46038,47.28149],[-68.43898,47.27777],[-68.37229,47.2825],[-68.3703,47.34796],[-68.33173,47.35822],[-68.29664,47.352],[-68.2399,47.34897],[-68.0906,47.26798],[-68.00002,47.21223],[-67.96344,47.19753],[-67.93582,47.15947],[-67.88619,47.10424],[-67.80218,47.06386],[-67.79415,45.93923],[-67.82753,45.8489],[-67.82753,45.6704],[-67.54943,45.57445],[-67.45302,45.58742],[-67.44189,45.52251],[-67.54201,45.49393],[-67.4456,45.38726],[-67.51605,45.29343],[-67.38257,45.11839],[-67.3047,45.11316],[-67.26762,45.18116],[-67.12671,45.09484],[-66.94835,44.78406],[-66.52283,43.61294],[-65.02339,42.10691],[-42.53366,47.50263],[-75.90901,77.3176],[-71.86482,78.7359],[-67.20011,80.66812],[-66.20727,80.78637],[-54.82473,83.07464],[-57.62518,85.04043],[-106.7949,85.04625],[-141.3957,79.2514],[-141.0678,60.2442]]],overlay:true},{id:"Geobase_Hydrography_French",name:"Geobase Hydrography - French",type:"wms",template:"https://maps.geogratis.gc.ca/wms/hydro_network_fr?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=nhn:nhn&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-141.0678,60.2442],[-139.3842,60.10331],[-137.4746,58.82791],[-135.4766,59.65971],[-134.399,58.86279],[-132.5239,57.08342],[-130.1435,55.27452],[-130.7734,54.75597],[-132.4355,54.71514],[-134.5711,54.38827],[-141.7761,53.58405],[-128.9768,46.41459],[-124.8087,48.42976],[-123.4286,48.17889],[-123.0256,48.40444],[-123.19237,48.65504],[-122.99582,48.51065],[-122.4869,48.4098],[-122.32915,48.4528],[-122.22939,48.50649],[-122.17908,48.52965],[-122.1842,48.5669],[-121.77833,48.57593],[-121.66578,48.42791],[-121.33068,48.35714],[-121.02713,48.34977],[-121.03054,48.49406],[-120.698,48.51497],[-120.51041,48.8718],[-119.97579,48.88134],[-119.95447,48.51497],[-119.90758,48.29421],[-119.73193,48.15503],[-119.74386,48.07419],[-119.62279,48.10951],[-119.60232,48.14707],[-119.25273,48.16243],[-114.1499,48.99487],[-95.12094,48.98405],[-95.13419,49.35564],[-94.94415,49.34356],[-94.8839,49.29522],[-94.71704,48.87631],[-94.71791,48.7485],[-93.83204,48.49765],[-93.43778,48.53066],[-93.38216,48.59507],[-92.98471,48.60312],[-92.73847,48.50725],[-92.7095,48.42081],[-92.54293,48.40158],[-92.38361,48.20406],[-92.11564,48.27641],[-91.58697,48.02516],[-91.24658,48.05422],[-90.86275,48.20889],[-90.78308,48.0639],[-90.0774,48.07435],[-89.93835,47.96584],[-89.75469,47.99609],[-89.32745,47.93943],[-88.41489,48.26677],[-84.9566,46.86086],[-84.84795,46.6762],[-84.55904,46.45441],[-84.47642,46.44972],[-84.43758,46.48872],[-84.3669,46.5055],[-84.34899,46.5055],[-84.29026,46.49077],[-84.25742,46.49386],[-84.22507,46.53187],[-84.1962,46.53804],[-84.18027,46.52468],[-84.15987,46.52468],[-84.13449,46.52879],[-84.11558,46.50653],[-84.15944,46.42769],[-84.10024,46.20338],[-83.95558,46.05132],[-83.8864,46.06125],[-83.8203,46.11181],[-83.76975,46.09563],[-83.67498,46.11391],[-83.58084,46.09921],[-83.44747,45.99521],[-83.60888,45.81772],[-82.14271,43.57905],[-82.39133,43.06666],[-82.41252,43.01127],[-82.42522,42.99864],[-82.42618,42.99374],[-82.42363,42.98536],[-82.41503,42.97697],[-82.41853,42.96578],[-82.43064,42.95203],[-82.44911,42.93711],[-82.45739,42.92568],[-82.46472,42.90562],[-82.47228,42.8877],[-82.47228,42.84743],[-82.48536,42.80967],[-82.46844,42.76365],[-82.48586,42.73697],[-82.49155,42.71168],[-82.51488,42.66652],[-82.51224,42.63893],[-82.52421,42.61103],[-82.56854,42.58184],[-82.59498,42.55148],[-82.61286,42.56409],[-82.65158,42.55707],[-82.83439,42.3763],[-83.01489,42.33457],[-83.07244,42.31502],[-83.09647,42.29542],[-83.12823,42.24126],[-83.14167,42.18582],[-83.12799,42.12172],[-83.16266,42.04963],[-83.05136,41.70911],[-82.41932,41.6377],[-81.22563,42.19633],[-80.06688,42.37121],[-78.86642,42.825],[-78.90301,42.92307],[-78.92063,42.95234],[-78.93331,42.95708],[-78.96058,42.9595],[-78.98479,42.9761],[-79.01825,42.9964],[-79.01969,43.01561],[-79.00695,43.0333],[-78.99599,43.06448],[-79.07335,43.07876],[-79.07286,43.083],[-79.0652,43.0917],[-79.05623,43.10825],[-79.05982,43.11563],[-79.06764,43.11992],[-79.05411,43.12801],[-79.04112,43.13986],[-79.04465,43.16192],[-79.05101,43.17037],[-79.04758,43.19974],[-79.05511,43.25682],[-79.18688,43.44858],[-78.68836,43.62502],[-76.77647,43.61369],[-76.41665,44.08498],[-75.49023,44.70772],[-75.29544,44.82587],[-75.16845,44.88548],[-75.1275,44.8975],[-75.00499,44.95265],[-74.98159,44.97728],[-74.90496,44.98222],[-74.8313,45.01108],[-74.77954,45.00158],[-74.74562,44.98526],[-74.70475,44.99877],[-74.49079,44.99343],[-74.23203,44.98552],[-73.93713,44.99512],[-73.01809,45.0121],[-72.63177,45.0121],[-72.54779,45.00506],[-72.32259,45.00286],[-71.49404,45.01093],[-71.48648,45.06221],[-71.42303,45.12765],[-71.43112,45.14037],[-71.37175,45.22117],[-71.28959,45.28578],[-71.23613,45.24302],[-71.11683,45.22933],[-71.0531,45.29866],[-70.98936,45.31088],[-70.90246,45.22525],[-70.82473,45.22714],[-70.77626,45.40013],[-70.7119,45.3754],[-70.63387,45.37346],[-70.60302,45.41179],[-70.67659,45.56319],[-70.3752,45.73075],[-70.36334,45.82013],[-70.25417,45.87468],[-70.22569,45.94403],[-70.27316,45.99022],[-70.17586,46.33538],[-70.06195,46.4107],[-69.98891,46.69363],[-69.22424,47.44463],[-69.06999,47.41092],[-69.07473,47.24202],[-68.89684,47.17469],[-68.78685,47.21493],[-68.72415,47.23217],[-68.68583,47.24028],[-68.66044,47.23183],[-68.62162,47.24028],[-68.59425,47.24974],[-68.59226,47.27001],[-68.57385,47.28486],[-68.55941,47.2798],[-68.542,47.2798],[-68.51214,47.29195],[-68.47381,47.29229],[-68.46038,47.28149],[-68.43898,47.27777],[-68.37229,47.2825],[-68.3703,47.34796],[-68.33173,47.35822],[-68.29664,47.352],[-68.2399,47.34897],[-68.0906,47.26798],[-68.00002,47.21223],[-67.96344,47.19753],[-67.93582,47.15947],[-67.88619,47.10424],[-67.80218,47.06386],[-67.79415,45.93923],[-67.82753,45.8489],[-67.82753,45.6704],[-67.54943,45.57445],[-67.45302,45.58742],[-67.44189,45.52251],[-67.54201,45.49393],[-67.4456,45.38726],[-67.51605,45.29343],[-67.38257,45.11839],[-67.3047,45.11316],[-67.26762,45.18116],[-67.12671,45.09484],[-66.94835,44.78406],[-66.52283,43.61294],[-65.02339,42.10691],[-42.53366,47.50263],[-75.90901,77.3176],[-71.86482,78.7359],[-67.20011,80.66812],[-66.20727,80.78637],[-54.82473,83.07464],[-57.62518,85.04043],[-106.7949,85.04625],[-141.3957,79.2514],[-141.0678,60.2442]]],overlay:true},{id:"Geobase_Roads",name:"Geobase Roads - English",type:"wms",template:"https://maps.geogratis.gc.ca/wms/roads_en?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=roads&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[4,20],polygon:[[[-141.0678,60.2442],[-139.3842,60.10331],[-137.4746,58.82791],[-135.4766,59.65971],[-134.399,58.86279],[-132.5239,57.08342],[-130.1435,55.27452],[-130.7734,54.75597],[-132.4355,54.71514],[-134.5711,54.38827],[-141.7761,53.58405],[-128.9768,46.41459],[-124.8087,48.42976],[-123.4286,48.17889],[-123.0256,48.40444],[-123.19237,48.65504],[-122.99582,48.51065],[-122.4869,48.4098],[-122.32915,48.4528],[-122.22939,48.50649],[-122.17908,48.52965],[-122.1842,48.5669],[-121.77833,48.57593],[-121.66578,48.42791],[-121.33068,48.35714],[-121.02713,48.34977],[-121.03054,48.49406],[-120.698,48.51497],[-120.51041,48.8718],[-119.97579,48.88134],[-119.95447,48.51497],[-119.90758,48.29421],[-119.73193,48.15503],[-119.74386,48.07419],[-119.62279,48.10951],[-119.60232,48.14707],[-119.25273,48.16243],[-114.1499,48.99487],[-95.12094,48.98405],[-95.13419,49.35564],[-94.94415,49.34356],[-94.8839,49.29522],[-94.71704,48.87631],[-94.71791,48.7485],[-93.83204,48.49765],[-93.43778,48.53066],[-93.38216,48.59507],[-92.98471,48.60312],[-92.73847,48.50725],[-92.7095,48.42081],[-92.54293,48.40158],[-92.38361,48.20406],[-92.11564,48.27641],[-91.58697,48.02516],[-91.24658,48.05422],[-90.86275,48.20889],[-90.78308,48.0639],[-90.0774,48.07435],[-89.93835,47.96584],[-89.75469,47.99609],[-89.32745,47.93943],[-88.41489,48.26677],[-84.9566,46.86086],[-84.84795,46.6762],[-84.55904,46.45441],[-84.47642,46.44972],[-84.43758,46.48872],[-84.3669,46.5055],[-84.34899,46.5055],[-84.29026,46.49077],[-84.25742,46.49386],[-84.22507,46.53187],[-84.1962,46.53804],[-84.18027,46.52468],[-84.15987,46.52468],[-84.13449,46.52879],[-84.11558,46.50653],[-84.15944,46.42769],[-84.10024,46.20338],[-83.95558,46.05132],[-83.8864,46.06125],[-83.8203,46.11181],[-83.76975,46.09563],[-83.67498,46.11391],[-83.58084,46.09921],[-83.44747,45.99521],[-83.60888,45.81772],[-82.14271,43.57905],[-82.39133,43.06666],[-82.41252,43.01127],[-82.42522,42.99864],[-82.42618,42.99374],[-82.42363,42.98536],[-82.41503,42.97697],[-82.41853,42.96578],[-82.43064,42.95203],[-82.44911,42.93711],[-82.45739,42.92568],[-82.46472,42.90562],[-82.47228,42.8877],[-82.47228,42.84743],[-82.48536,42.80967],[-82.46844,42.76365],[-82.48586,42.73697],[-82.49155,42.71168],[-82.51488,42.66652],[-82.51224,42.63893],[-82.52421,42.61103],[-82.56854,42.58184],[-82.59498,42.55148],[-82.61286,42.56409],[-82.65158,42.55707],[-82.83439,42.3763],[-83.01489,42.33457],[-83.07244,42.31502],[-83.09647,42.29542],[-83.12823,42.24126],[-83.14167,42.18582],[-83.12799,42.12172],[-83.16266,42.04963],[-83.05136,41.70911],[-82.41932,41.6377],[-81.22563,42.19633],[-80.06688,42.37121],[-78.86642,42.825],[-78.90301,42.92307],[-78.92063,42.95234],[-78.93331,42.95708],[-78.96058,42.9595],[-78.98479,42.9761],[-79.01825,42.9964],[-79.01969,43.01561],[-79.00695,43.0333],[-78.99599,43.06448],[-79.07335,43.07876],[-79.07286,43.083],[-79.0652,43.0917],[-79.05623,43.10825],[-79.05982,43.11563],[-79.06764,43.11992],[-79.05411,43.12801],[-79.04112,43.13986],[-79.04465,43.16192],[-79.05101,43.17037],[-79.04758,43.19974],[-79.05511,43.25682],[-79.18688,43.44858],[-78.68836,43.62502],[-76.77647,43.61369],[-76.41665,44.08498],[-75.49023,44.70772],[-75.29544,44.82587],[-75.16845,44.88548],[-75.1275,44.8975],[-75.00499,44.95265],[-74.98159,44.97728],[-74.90496,44.98222],[-74.8313,45.01108],[-74.77954,45.00158],[-74.74562,44.98526],[-74.70475,44.99877],[-74.49079,44.99343],[-74.23203,44.98552],[-73.93713,44.99512],[-73.01809,45.0121],[-72.63177,45.0121],[-72.54779,45.00506],[-72.32259,45.00286],[-71.49404,45.01093],[-71.48648,45.06221],[-71.42303,45.12765],[-71.43112,45.14037],[-71.37175,45.22117],[-71.28959,45.28578],[-71.23613,45.24302],[-71.11683,45.22933],[-71.0531,45.29866],[-70.98936,45.31088],[-70.90246,45.22525],[-70.82473,45.22714],[-70.77626,45.40013],[-70.7119,45.3754],[-70.63387,45.37346],[-70.60302,45.41179],[-70.67659,45.56319],[-70.3752,45.73075],[-70.36334,45.82013],[-70.25417,45.87468],[-70.22569,45.94403],[-70.27316,45.99022],[-70.17586,46.33538],[-70.06195,46.4107],[-69.98891,46.69363],[-69.22424,47.44463],[-69.06999,47.41092],[-69.07473,47.24202],[-68.89684,47.17469],[-68.78685,47.21493],[-68.72415,47.23217],[-68.68583,47.24028],[-68.66044,47.23183],[-68.62162,47.24028],[-68.59425,47.24974],[-68.59226,47.27001],[-68.57385,47.28486],[-68.55941,47.2798],[-68.542,47.2798],[-68.51214,47.29195],[-68.47381,47.29229],[-68.46038,47.28149],[-68.43898,47.27777],[-68.37229,47.2825],[-68.3703,47.34796],[-68.33173,47.35822],[-68.29664,47.352],[-68.2399,47.34897],[-68.0906,47.26798],[-68.00002,47.21223],[-67.96344,47.19753],[-67.93582,47.15947],[-67.88619,47.10424],[-67.80218,47.06386],[-67.79415,45.93923],[-67.82753,45.8489],[-67.82753,45.6704],[-67.54943,45.57445],[-67.45302,45.58742],[-67.44189,45.52251],[-67.54201,45.49393],[-67.4456,45.38726],[-67.51605,45.29343],[-67.38257,45.11839],[-67.3047,45.11316],[-67.26762,45.18116],[-67.12671,45.09484],[-66.94835,44.78406],[-66.52283,43.61294],[-65.02339,42.10691],[-42.53366,47.50263],[-75.90901,77.3176],[-71.86482,78.7359],[-67.20011,80.66812],[-66.20727,80.78637],[-54.82473,83.07464],[-57.62518,85.04043],[-106.7949,85.04625],[-141.3957,79.2514],[-141.0678,60.2442]]]},{id:"Geobase_Roads_French",name:"Geobase Roads - French",type:"wms",template:"https://cartes.geogratis.gc.ca/wms/roads_fr?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=routes&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[4,20],polygon:[[[-141.0678,60.2442],[-139.3842,60.10331],[-137.4746,58.82791],[-135.4766,59.65971],[-134.399,58.86279],[-132.5239,57.08342],[-130.1435,55.27452],[-130.7734,54.75597],[-132.4355,54.71514],[-134.5711,54.38827],[-141.7761,53.58405],[-128.9768,46.41459],[-124.8087,48.42976],[-123.4286,48.17889],[-123.0256,48.40444],[-123.19237,48.65504],[-122.99582,48.51065],[-122.4869,48.4098],[-122.32915,48.4528],[-122.22939,48.50649],[-122.17908,48.52965],[-122.1842,48.5669],[-121.77833,48.57593],[-121.66578,48.42791],[-121.33068,48.35714],[-121.02713,48.34977],[-121.03054,48.49406],[-120.698,48.51497],[-120.51041,48.8718],[-119.97579,48.88134],[-119.95447,48.51497],[-119.90758,48.29421],[-119.73193,48.15503],[-119.74386,48.07419],[-119.62279,48.10951],[-119.60232,48.14707],[-119.25273,48.16243],[-114.1499,48.99487],[-95.12094,48.98405],[-95.13419,49.35564],[-94.94415,49.34356],[-94.8839,49.29522],[-94.71704,48.87631],[-94.71791,48.7485],[-93.83204,48.49765],[-93.43778,48.53066],[-93.38216,48.59507],[-92.98471,48.60312],[-92.73847,48.50725],[-92.7095,48.42081],[-92.54293,48.40158],[-92.38361,48.20406],[-92.11564,48.27641],[-91.58697,48.02516],[-91.24658,48.05422],[-90.86275,48.20889],[-90.78308,48.0639],[-90.0774,48.07435],[-89.93835,47.96584],[-89.75469,47.99609],[-89.32745,47.93943],[-88.41489,48.26677],[-84.9566,46.86086],[-84.84795,46.6762],[-84.55904,46.45441],[-84.47642,46.44972],[-84.43758,46.48872],[-84.3669,46.5055],[-84.34899,46.5055],[-84.29026,46.49077],[-84.25742,46.49386],[-84.22507,46.53187],[-84.1962,46.53804],[-84.18027,46.52468],[-84.15987,46.52468],[-84.13449,46.52879],[-84.11558,46.50653],[-84.15944,46.42769],[-84.10024,46.20338],[-83.95558,46.05132],[-83.8864,46.06125],[-83.8203,46.11181],[-83.76975,46.09563],[-83.67498,46.11391],[-83.58084,46.09921],[-83.44747,45.99521],[-83.60888,45.81772],[-82.14271,43.57905],[-82.39133,43.06666],[-82.41252,43.01127],[-82.42522,42.99864],[-82.42618,42.99374],[-82.42363,42.98536],[-82.41503,42.97697],[-82.41853,42.96578],[-82.43064,42.95203],[-82.44911,42.93711],[-82.45739,42.92568],[-82.46472,42.90562],[-82.47228,42.8877],[-82.47228,42.84743],[-82.48536,42.80967],[-82.46844,42.76365],[-82.48586,42.73697],[-82.49155,42.71168],[-82.51488,42.66652],[-82.51224,42.63893],[-82.52421,42.61103],[-82.56854,42.58184],[-82.59498,42.55148],[-82.61286,42.56409],[-82.65158,42.55707],[-82.83439,42.3763],[-83.01489,42.33457],[-83.07244,42.31502],[-83.09647,42.29542],[-83.12823,42.24126],[-83.14167,42.18582],[-83.12799,42.12172],[-83.16266,42.04963],[-83.05136,41.70911],[-82.41932,41.6377],[-81.22563,42.19633],[-80.06688,42.37121],[-78.86642,42.825],[-78.90301,42.92307],[-78.92063,42.95234],[-78.93331,42.95708],[-78.96058,42.9595],[-78.98479,42.9761],[-79.01825,42.9964],[-79.01969,43.01561],[-79.00695,43.0333],[-78.99599,43.06448],[-79.07335,43.07876],[-79.07286,43.083],[-79.0652,43.0917],[-79.05623,43.10825],[-79.05982,43.11563],[-79.06764,43.11992],[-79.05411,43.12801],[-79.04112,43.13986],[-79.04465,43.16192],[-79.05101,43.17037],[-79.04758,43.19974],[-79.05511,43.25682],[-79.18688,43.44858],[-78.68836,43.62502],[-76.77647,43.61369],[-76.41665,44.08498],[-75.49023,44.70772],[-75.29544,44.82587],[-75.16845,44.88548],[-75.1275,44.8975],[-75.00499,44.95265],[-74.98159,44.97728],[-74.90496,44.98222],[-74.8313,45.01108],[-74.77954,45.00158],[-74.74562,44.98526],[-74.70475,44.99877],[-74.49079,44.99343],[-74.23203,44.98552],[-73.93713,44.99512],[-73.01809,45.0121],[-72.63177,45.0121],[-72.54779,45.00506],[-72.32259,45.00286],[-71.49404,45.01093],[-71.48648,45.06221],[-71.42303,45.12765],[-71.43112,45.14037],[-71.37175,45.22117],[-71.28959,45.28578],[-71.23613,45.24302],[-71.11683,45.22933],[-71.0531,45.29866],[-70.98936,45.31088],[-70.90246,45.22525],[-70.82473,45.22714],[-70.77626,45.40013],[-70.7119,45.3754],[-70.63387,45.37346],[-70.60302,45.41179],[-70.67659,45.56319],[-70.3752,45.73075],[-70.36334,45.82013],[-70.25417,45.87468],[-70.22569,45.94403],[-70.27316,45.99022],[-70.17586,46.33538],[-70.06195,46.4107],[-69.98891,46.69363],[-69.22424,47.44463],[-69.06999,47.41092],[-69.07473,47.24202],[-68.89684,47.17469],[-68.78685,47.21493],[-68.72415,47.23217],[-68.68583,47.24028],[-68.66044,47.23183],[-68.62162,47.24028],[-68.59425,47.24974],[-68.59226,47.27001],[-68.57385,47.28486],[-68.55941,47.2798],[-68.542,47.2798],[-68.51214,47.29195],[-68.47381,47.29229],[-68.46038,47.28149],[-68.43898,47.27777],[-68.37229,47.2825],[-68.3703,47.34796],[-68.33173,47.35822],[-68.29664,47.352],[-68.2399,47.34897],[-68.0906,47.26798],[-68.00002,47.21223],[-67.96344,47.19753],[-67.93582,47.15947],[-67.88619,47.10424],[-67.80218,47.06386],[-67.79415,45.93923],[-67.82753,45.8489],[-67.82753,45.6704],[-67.54943,45.57445],[-67.45302,45.58742],[-67.44189,45.52251],[-67.54201,45.49393],[-67.4456,45.38726],[-67.51605,45.29343],[-67.38257,45.11839],[-67.3047,45.11316],[-67.26762,45.18116],[-67.12671,45.09484],[-66.94835,44.78406],[-66.52283,43.61294],[-65.02339,42.10691],[-42.53366,47.50263],[-75.90901,77.3176],[-71.86482,78.7359],[-67.20011,80.66812],[-66.20727,80.78637],[-54.82473,83.07464],[-57.62518,85.04043],[-106.7949,85.04625],[-141.3957,79.2514],[-141.0678,60.2442]]]},{id:"geoimage.at",name:"Geoimage.at MaxRes",type:"wms",template:"https://gis.bmlfuw.gv.at/wmsgw/?key=4d80de696cd562a63ce463a58a61488d&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=Luftbild_MR,Luftbild_1m,Luftbild_8m,Satellitenbild_30m&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[16.50733,46.99293],[16.28342,46.99293],[16.13584,46.8713],[15.98317,46.81909],[16.04933,46.65517],[15.86104,46.71801],[15.75926,46.69009],[15.56079,46.67962],[15.57606,46.63421],[15.47937,46.60276],[15.43357,46.65168],[15.22493,46.63421],[15.04682,46.64819],[14.99084,46.58877],[14.9603,46.62373],[14.85344,46.60276],[14.83308,46.50127],[14.75166,46.49776],[14.68041,46.43818],[14.61426,46.43818],[14.57864,46.37853],[14.44124,46.43116],[14.16135,46.42766],[14.12573,46.47674],[14.01886,46.47674],[13.91199,46.52578],[13.82548,46.50477],[13.44381,46.56078],[13.30641,46.55028],[13.1283,46.58877],[12.84332,46.61324],[12.72628,46.6412],[12.51255,46.66565],[12.35988,46.70405],[12.36497,46.77032],[12.28863,46.77729],[12.27337,46.88522],[12.20721,46.87478],[12.13088,46.90261],[12.11561,46.99987],[12.25301,47.06577],[12.2123,47.0935],[11.9833,47.04497],[11.73394,46.96168],[11.63217,47.01028],[11.54057,46.97557],[11.49986,47.00681],[11.41843,46.96515],[11.25559,46.97557],[11.1131,46.91304],[11.04185,46.76335],[10.88919,46.75986],[10.74161,46.78426],[10.70599,46.86435],[10.57877,46.83998],[10.45663,46.85043],[10.47699,46.92694],[10.38539,46.98946],[10.23272,46.86435],[10.12076,46.83302],[9.86632,46.94084],[9.90194,47.00334],[9.68312,47.05884],[9.61188,47.03804],[9.63223,47.12813],[9.58134,47.1662],[9.54063,47.26644],[9.60679,47.34926],[9.67294,47.36994],[9.64241,47.44571],[9.56608,47.48011],[9.71365,47.52824],[9.7849,47.59692],[9.83579,47.54542],[9.94774,47.53855],[10.09023,47.44915],[10.11059,47.36649],[10.2429,47.38717],[10.18692,47.2699],[10.32432,47.29751],[10.48208,47.44915],[10.43119,47.48699],[10.44137,47.59005],[10.48717,47.55229],[10.54823,47.53511],[10.59912,47.56602],[10.75688,47.53168],[10.88919,47.54542],[10.94008,47.48699],[10.99605,47.39061],[11.23523,47.44227],[11.28103,47.3975],[11.42352,47.51449],[11.57619,47.50762],[11.60672,47.59005],[11.83572,47.58662],[12.00366,47.62436],[12.20721,47.60378],[12.16141,47.69634],[12.2581,47.74427],[12.25301,47.67921],[12.43112,47.71004],[12.49219,47.63122],[12.56852,47.62779],[12.62959,47.68949],[12.77208,47.66893],[12.83315,47.54198],[12.97564,47.47323],[13.04179,47.49387],[13.0367,47.55572],[13.09777,47.64151],[13.03161,47.71004],[12.90439,47.72031],[13.00617,47.84683],[12.9451,47.93555],[12.86368,47.95941],[12.86368,48.00369],[12.75172,48.09894],[12.87386,48.21097],[12.96037,48.21097],[13.04179,48.2652],[13.18428,48.29907],[13.26061,48.2923],[13.39801,48.35659],[13.44381,48.41742],[13.43872,48.55234],[13.50997,48.58601],[13.61175,48.57255],[13.72879,48.5119],[13.78477,48.57255],[13.82039,48.62639],[13.79495,48.71713],[13.85093,48.77417],[14.05957,48.66338],[14.01377,48.63312],[14.07484,48.59274],[14.21733,48.59611],[14.3649,48.54897],[14.46668,48.64993],[14.55828,48.59611],[14.59899,48.62639],[14.72113,48.57591],[14.72113,48.6869],[14.8229,48.7272],[14.81782,48.77753],[14.96472,48.78518],[14.98936,49.01266],[15.14859,48.99503],[15.19439,48.93155],[15.30635,48.98501],[15.39286,48.98501],[15.48446,48.92821],[15.74908,48.8546],[15.84068,48.88807],[16.00862,48.78088],[16.20708,48.73391],[16.39537,48.73727],[16.49206,48.81105],[16.69053,48.77417],[16.7058,48.73391],[16.89917,48.71377],[16.97551,48.51527],[16.84828,48.45118],[16.85337,48.34644],[16.95515,48.25165],[16.99077,48.1499],[17.09255,48.13971],[17.08237,48.02412],[17.17397,48.02071],[17.08237,47.87414],[16.98568,47.86732],[17.08237,47.80925],[17.09255,47.70319],[16.74142,47.67921],[16.7058,47.75112],[16.53786,47.75454],[16.54804,47.70662],[16.42082,47.66893],[16.57348,47.6175],[16.67017,47.63122],[16.71088,47.53855],[16.66,47.44915],[16.54295,47.39406],[16.46153,47.39406],[16.49206,47.2768],[16.42591,47.19733],[16.47171,47.1489],[16.54804,47.1489],[16.47679,47.07964],[16.52768,47.05884],[16.50733,46.99293]]],terms_url:"http://geoimage.at",terms_text:"geoimage.at",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/at/GeoimageatMaxRes.png"},{id:"Geolittoral-Orthophotos2000",name:"Géolittoral - Orthophotos 2000",type:"wms",template:"http://geolittoral.din.developpement-durable.gouv.fr/wxs?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortholittorale&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2000-01-01T00:00:00.000Z",startDate:"2000-01-01T00:00:00.000Z",polygon:[[[-1.07962,46.10959],[-0.94115,46.01474],[-0.56306,45.15178],[-0.7266,45.08425],[-0.87904,45.34094],[-0.99794,45.33779],[-0.95558,44.69982],[-1.15862,44.19865],[-1.21512,44.20558],[-1.24654,44.1162],[-1.27903,44.03937],[-1.28825,44.02304],[-1.32117,43.94094],[-1.32151,43.92296],[-1.3092,43.92337],[-1.3085,43.91439],[-1.28366,43.91514],[-1.28302,43.90624],[-1.2761,43.90655],[-1.28211,43.89254],[-1.30102,43.85159],[-1.30384,43.8424],[-1.30923,43.83498],[-1.33474,43.76946],[-1.34407,43.74875],[-1.3456,43.74214],[-1.34673,43.73688],[-1.43284,43.53152],[-1.42806,43.46812],[-1.60627,43.40591],[-1.6061,43.36012],[-1.77441,43.30357],[-1.82995,43.38484],[-1.58551,43.46856],[-1.35706,44.03374],[-1.40217,44.06461],[-1.33584,44.22832],[-1.21836,44.23033],[-1.16795,44.41097],[-1.30744,44.41847],[-1.16979,45.59107],[-1.48685,46.06042],[-1.36364,46.09146],[-1.60176,46.17019],[-1.64442,46.22375],[-1.58595,46.30426],[-1.51008,46.33888],[-1.75643,46.42214],[-2.1872,46.81857],[-2.16423,46.85534],[-2.23654,46.9337],[-2.39769,46.96718],[-2.282,47.07631],[-2.12563,47.01875],[-2.09013,47.06562],[-2.18487,47.10698],[-2.2647,47.10763],[-2.24489,47.18562],[-2.56779,47.24467],[-2.66727,47.46686],[-2.74787,47.47122],[-2.75771,47.43461],[-2.89321,47.4629],[-2.90369,47.50905],[-3.03383,47.53833],[-3.07113,47.51185],[-3.01653,47.49873],[-3.12502,47.42693],[-3.18803,47.48441],[-3.22791,47.61132],[-3.2967,47.63161],[-3.2876,47.67154],[-3.34074,47.66893],[-3.38912,47.59473],[-3.55087,47.63827],[-3.53384,47.72488],[-3.76577,47.76476],[-3.77595,47.7371],[-3.91168,47.75915],[-3.8959,47.79911],[-3.97236,47.81526],[-3.99722,47.7975],[-3.97956,47.76268],[-3.8945,47.72193],[-3.9162,47.67831],[-4.10163,47.70921],[-4.08989,47.78944],[-4.03798,47.79909],[-4.04125,47.83109],[-4.08765,47.84221],[-4.14781,47.82525],[-4.14314,47.78847],[-4.35162,47.7415],[-4.47962,47.9776],[-4.98565,47.99896],[-4.96938,48.08972],[-4.63576,48.07798],[-4.60147,48.11469],[-4.385,48.10962],[-4.38955,48.14543],[-4.30925,48.15009],[-4.31268,48.17694],[-4.46369,48.18468],[-4.49748,48.1453],[-4.5921,48.14758],[-4.57537,48.22488],[-4.67101,48.2331],[-4.65434,48.31049],[-4.84243,48.3005],[-5.19867,48.44926],[-5.10346,48.51722],[-4.81465,48.39413],[-4.83515,48.54319],[-4.63387,48.66373],[-3.96692,48.77978],[-3.94939,48.74715],[-3.6502,48.75356],[-3.65853,48.82527],[-3.53931,48.85834],[-3.54444,48.90297],[-3.40954,48.91866],[-3.40755,48.87366],[-3.02769,48.9275],[-2.67861,48.58841],[-2.28475,48.71909],[-2.17543,48.65016],[-2.0137,48.73221],[-1.80953,48.73178],[-1.80392,48.66126],[-1.61161,48.68582],[-1.71645,49.24781],[-1.8026,49.32721],[-1.85748,49.3253],[-1.9262,49.65573],[-2.03908,49.67872],[-2.00445,49.76087],[-1.61759,49.68498],[-1.28373,49.76067],[-1.1492,49.63504],[-1.17134,49.55412],[-1.27353,49.55245],[-1.1328,49.3934],[-0.93059,49.40804],[-0.74827,49.35976],[-0.38935,49.34167],[-0.24704,49.29995],[-0.12454,49.29353],[0.02731,49.37619],[0.01801,49.54656],[0.12211,49.69292],[0.51713,49.86466],[1.05727,49.94904],[1.43908,50.11819],[1.53177,50.46437],[1.52549,50.85867],[1.64118,50.95919],[2.4521,51.12144],[2.59286,51.12124],[2.60683,51.05779],[1.7976,50.89906],[1.66458,50.82379],[1.70786,50.1282],[1.05936,49.85],[0.61607,49.79062],[0.24731,49.65027],[0.1709,49.53174],[0.57065,49.49622],[0.41115,49.3396],[0.19504,49.35736],[0.01718,49.25479],[-0.24453,49.26312],[-0.38408,49.30495],[-0.74091,49.32438],[-0.9954,49.37133],[-1.05453,49.25175],[-1.27704,49.29022],[-1.25966,49.43463],[-1.39141,49.53985],[-1.27535,49.62056],[-1.29775,49.65946],[-1.4905,49.57139],[-1.77517,49.63398],[-1.74601,49.48155],[-1.51294,49.24691],[-1.48261,48.72607],[-1.30574,48.72531],[-1.28323,48.59731],[-2.76114,48.43471],[-3.00174,48.67646],[-3.21062,48.72097],[-3.95404,48.56051],[-4.15643,48.60792],[-4.44475,48.55852],[-4.63683,48.48299],[-4.6319,48.44727],[-4.25022,48.43088],[-4.06141,48.21805],[-4.1757,48.05165],[-4.31904,48.0141],[-4.26781,47.89977],[-3.88484,47.98172],[-3.76375,47.86403],[-2.32727,47.52634],[-2.36911,47.3339],[-1.74067,47.33507],[-1.77062,47.20451],[-2.03678,47.21942],[-2.0968,47.15548],[-1.88786,47.01239],[-2.08797,46.83007],[-2.01214,46.83436],[-1.84079,46.69651],[-1.87318,46.65484],[-1.68859,46.50392],[-1.62117,46.51513],[-1.42428,46.41675],[-1.01761,46.35917],[-1.07962,46.10959]],[[-2.41232,46.69242],[-2.37197,46.67611],[-2.26749,46.68033],[-2.27007,46.70705],[-2.29827,46.73286],[-2.41655,46.73711],[-2.41232,46.69242]],[[-3.06018,47.40542],[-2.82587,47.29635],[-2.78787,47.33417],[-3.02436,47.44563],[-3.06018,47.40542]],[[-3.26482,47.4295],[-3.3343,47.35928],[-3.29614,47.34133],[-3.31489,47.30057],[-3.19941,47.24492],[-3.16567,47.27751],[-3.08686,47.23612],[-3.00637,47.30855],[-3.26482,47.4295]],[[-1.93966,48.86346],[-1.93993,48.91179],[-1.701,48.91105],[-1.69726,48.86173],[-1.93966,48.86346]]],terms_url:"https://wiki.openstreetmap.org/wiki/WikiProject_France/G%C3%A9oLittoral",terms_text:"Ortho littorale 2000"},{id:"Geolittoral-Sentiers",name:"Géolittoral - Sentiers",type:"wms",template:"http://geolittoral.din.developpement-durable.gouv.fr/wxs?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=n_sentier_littoral_l&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-0.98385,46.18807],[-0.89497,46.15628],[-0.93455,46.10163],[-0.84388,46.06949],[-0.88241,46.01637],[-0.53787,45.89558],[-0.63498,45.76444],[-0.86666,45.8479],[-0.76264,45.6245],[-0.69695,45.62659],[-0.69397,45.60184],[-0.68755,45.60174],[-0.688,45.50986],[-0.63799,45.50892],[-0.63978,45.44747],[-0.61574,45.44695],[-0.61619,45.38586],[-0.58544,45.38596],[-0.58529,45.32334],[-0.55379,45.32344],[-0.55275,45.19661],[-0.49094,45.19577],[-0.49184,45.13315],[-0.45661,45.13325],[-0.45512,45.07161],[-0.41611,45.07089],[-0.41621,45.02696],[-0.2907,44.98278],[-0.22,45.06771],[-0.12252,45.02563],[-0.18925,44.94591],[-0.09266,44.91019],[-0.14521,44.8392],[-0.15491,44.84238],[-0.19387,44.78678],[-0.43541,44.87317],[-0.39048,44.68413],[-0.58798,44.66014],[-0.66628,44.99129],[-0.77838,44.99263],[-0.77764,45.05389],[-0.81584,45.05321],[-0.81838,45.11962],[-0.88393,45.12051],[-0.88171,45.18081],[-0.93438,45.18185],[-0.9328,45.24484],[-1.00163,45.24439],[-1.00247,45.30827],[-1.0524,45.31013],[-1.04828,45.36911],[-1.06412,45.36911],[-1.05039,45.18252],[-1.10761,44.80787],[-1.01514,44.80113],[-1.01946,44.76914],[-0.93365,44.76149],[-0.9404,44.7018],[-0.96035,44.56434],[-1.01408,44.56765],[-1.09916,44.1456],[-1.22689,44.14022],[-1.21853,44.03249],[-1.30762,44.029],[-1.39572,43.74301],[-1.31296,43.72951],[-1.37439,43.53109],[-1.34589,43.50606],[-1.59964,43.35423],[-1.76549,43.25548],[-1.79281,43.28038],[-1.80281,43.40425],[-1.72832,43.45033],[-1.58531,43.489],[-1.33584,44.22832],[-1.30744,44.41847],[-1.22511,45.44416],[-1.48685,46.06042],[-1.60176,46.17019],[-1.64442,46.22375],[-1.75643,46.42214],[-2.03483,46.61895],[-2.3466,46.62382],[-2.46561,46.71196],[-2.3233,46.83812],[-2.45286,46.93856],[-2.31733,47.16214],[-2.92848,47.28413],[-2.96742,47.22147],[-3.35602,47.32474],[-3.18803,47.48441],[-3.22791,47.61132],[-3.38912,47.59473],[-3.9162,47.67831],[-4.10163,47.70921],[-4.14314,47.78847],[-4.37619,47.71067],[-4.47962,47.9776],[-4.98565,47.99896],[-4.96938,48.08972],[-4.60147,48.11469],[-4.5921,48.14758],[-4.67101,48.2331],[-4.84243,48.3005],[-5.19867,48.44926],[-5.10346,48.51722],[-4.83515,48.54319],[-4.63117,48.66129],[-3.96692,48.77978],[-3.94939,48.74715],[-3.67013,48.89508],[-3.54444,48.90297],[-3.40954,48.91866],[-3.33344,48.90458],[-3.02769,48.9275],[-2.80207,48.79793],[-2.69353,48.76722],[-2.45786,48.70896],[-2.28475,48.71909],[-2.17543,48.65016],[-2.0137,48.73221],[-1.80953,48.73178],[-1.7243,48.75828],[-1.70557,48.84512],[-1.90304,48.86288],[-1.91027,48.92348],[-1.68714,48.93249],[-1.74277,49.24473],[-1.85748,49.3253],[-1.9262,49.65573],[-2.03908,49.67872],[-2.00445,49.76087],[-1.61759,49.68498],[-1.28373,49.76067],[-1.1492,49.63504],[-1.18545,49.54836],[-0.96463,49.42509],[-0.74429,49.36802],[-0.39014,49.3622],[-0.24976,49.3158],[-0.13342,49.31293],[0.02731,49.37619],[0.01801,49.54656],[0.12211,49.69292],[0.51713,49.86466],[1.05727,49.94904],[1.43908,50.11819],[1.53177,50.46437],[1.52549,50.85867],[1.64118,50.95919],[2.59712,51.17355],[2.66071,51.0196],[2.07124,50.92022],[2.05937,50.94709],[1.7976,50.89906],[1.68089,50.8717],[1.65569,50.59729],[1.75357,50.5932],[1.72295,50.24702],[1.82156,50.24262],[1.80149,50.05116],[1.54565,50.06311],[1.54155,50.01267],[1.42462,50.01747],[1.42667,50.05276],[1.03838,49.84609],[0.9827,49.88916],[0.57961,49.82133],[0.42063,49.76297],[0.4281,49.75445],[0.20831,49.67269],[0.14765,49.57767],[0.13461,49.5809],[0.11117,49.54365],[0.56598,49.52045],[0.5632,49.49989],[0.63001,49.49666],[0.61478,49.37441],[0.54825,49.37851],[0.54254,49.33461],[0.45741,49.33938],[0.45843,49.34492],[0.32597,49.35456],[0.32846,49.38128],[0.28011,49.38433],[0.27689,49.36334],[0.21095,49.36658],[0.20817,49.35084],[0.14326,49.35532],[0.13769,49.3115],[0.07204,49.31532],[0.0675,49.28713],[0.00274,49.29076],[0.00508,49.25711],[-0.02027,49.26036],[-0.03492,49.1973],[-0.19448,49.21463],[-0.38966,49.12726],[-0.45369,49.18792],[-0.3561,49.23214],[-0.82088,49.28331],[-0.99778,49.30149],[-1.16728,49.24545],[-1.19515,49.28183],[-1.26768,49.24099],[-1.34114,49.2975],[-1.24768,49.35025],[-1.44583,49.60689],[-1.81105,49.61757],[-1.77479,49.44333],[-1.72775,49.46509],[-1.5339,49.29098],[-1.47909,49.29233],[-1.47608,49.24027],[-1.43557,49.20326],[-1.47225,49.1822],[-1.45091,48.75725],[-1.31155,48.76408],[-1.30533,48.70216],[-1.2584,48.70421],[-1.25229,48.64353],[-1.23519,48.64435],[-1.2269,48.56824],[-1.85218,48.53086],[-1.84908,48.4975],[-1.92326,48.49187],[-1.92813,48.44096],[-2.04272,48.43601],[-2.03889,48.48191],[-2.2895,48.46102],[-2.3021,48.52433],[-2.40863,48.51618],[-2.42035,48.56954],[-2.43084,48.57852],[-2.49083,48.54924],[-2.47353,48.53326],[-2.54978,48.49647],[-2.54005,48.48747],[-2.70681,48.40746],[-3.02979,48.69115],[-4.01034,48.53179],[-4.05342,48.64412],[-4.38281,48.57349],[-4.35482,48.5118],[-4.38853,48.50473],[-4.13495,48.44868],[-4.16411,48.38936],[-4.01832,48.35685],[-4.04733,48.29918],[-3.98814,48.2867],[-4.0214,48.21606],[-4.03634,48.21958],[-4.06623,48.16028],[-4.16675,48.18247],[-4.18331,48.14934],[-4.17232,48.1065],[-4.20111,48.10285],[-4.18643,48.04389],[-4.18806,48.04061],[-4.35686,48.02305],[-4.25657,47.93997],[-4.23363,47.93497],[-4.21371,47.97598],[-4.21854,47.97726],[-4.1806,48.05569],[-3.6172,47.93124],[-2.17991,47.58642],[-2.25449,47.44501],[-2.30182,47.4568],[-2.32043,47.42092],[-2.30372,47.41755],[-2.34753,47.33499],[-2.36219,47.33837],[-2.38079,47.3039],[-2.35852,47.29854],[-2.29962,47.29784],[-2.29742,47.3618],[-2.13199,47.35852],[-2.13478,47.39107],[-2.01565,47.39623],[-2.01404,47.38095],[-1.92862,47.38254],[-1.92891,47.37956],[-1.8322,47.38184],[-1.82986,47.34165],[-1.73608,47.34304],[-1.73418,47.305],[-1.64084,47.30639],[-1.64011,47.29427],[-1.58355,47.29566],[-1.58531,47.33708],[-1.4612,47.33966],[-1.46003,47.32924],[-1.37211,47.33221],[-1.36054,47.11239],[-1.48567,47.11149],[-1.48582,47.11877],[-1.66897,47.11688],[-1.66971,47.12864],[-1.72553,47.12764],[-1.72612,47.13761],[-1.93975,47.13263],[-1.94019,47.1422],[-1.9925,47.14309],[-1.81066,47.00588],[-1.94723,46.92078],[-1.92891,46.90677],[-1.99529,46.86461],[-1.73652,46.66839],[-1.77535,46.64386],[-1.82678,46.64174],[-1.82473,46.62071],[-1.18192,46.39987],[-0.91261,46.3048],[-0.95481,46.2489],[-0.94235,46.24424],[-0.98385,46.18807]],[[3.14769,42.40072],[3.14949,42.40015],[3.15305,42.40052],[3.15804,42.40243],[3.1877,42.42805],[3.14227,42.5248],[3.06837,42.54635],[3.04884,42.6942],[3.0799,43.03073],[3.22641,43.18727],[3.40916,43.26032],[3.52104,43.25877],[3.66429,43.37628],[3.73841,43.39054],[4.00979,43.53607],[4.17692,43.45636],[4.54355,43.43349],[4.54943,43.35401],[4.83506,43.30891],[4.97506,43.38309],[5.03219,43.31928],[5.25919,43.31928],[5.31082,43.20504],[5.35682,43.18645],[5.36882,43.16785],[5.40232,43.16211],[5.41382,43.17123],[5.40919,43.19921],[5.54232,43.18827],[5.60582,43.14797],[5.6197,43.1529],[5.63832,43.17159],[5.67157,43.1674],[5.69095,43.13411],[5.77607,43.10637],[5.7762,43.09432],[5.75407,43.08328],[5.75707,43.0725],[5.77032,43.06465],[5.85933,43.03469],[5.8877,43.06273],[5.9567,43.06109],[5.96383,43.09277],[6.00033,43.09186],[6.01745,43.06849],[6.10233,43.07415],[6.10483,43.0526],[6.0666,43.04318],[6.06722,43.03785],[6.1427,43.00923],[6.15676,42.98715],[6.19635,42.97331],[6.22221,42.9801],[6.26891,42.99651],[6.25515,43.03627],[6.2019,43.02713],[6.18378,43.09188],[6.30153,43.09909],[6.32478,43.07974],[6.37778,43.08011],[6.38866,43.13395],[6.51341,43.14608],[6.57704,43.17881],[6.62291,43.14563],[6.69779,43.19969],[6.68016,43.23357],[6.72116,43.26007],[6.72241,43.27472],[6.67054,43.29192],[6.68741,43.33113],[6.72416,43.34267],[6.75291,43.409],[6.79104,43.39674],[6.90629,43.41672],[6.96767,43.50273],[6.96617,43.52812],[7.00617,43.53845],[7.03554,43.4982],[7.06892,43.5001],[7.09079,43.51642],[7.06267,43.53672],[7.08254,43.5456],[7.1238,43.53074],[7.1558,43.5437],[7.1433,43.62284],[7.16867,43.64636],[7.2138,43.63469],[7.25417,43.68497],[7.3403,43.66744],[7.36442,43.6894],[7.35305,43.7082],[7.4163,43.71091],[7.45405,43.74506],[7.4943,43.74524],[7.57943,43.78424],[7.60552,43.78603],[7.60368,43.78898],[7.59588,43.79528],[7.59628,43.79549],[7.53853,43.84195],[7.45996,43.79988],[7.44781,43.80934],[7.32353,43.74806],[7.30822,43.76357],[6.64878,43.3885],[6.66865,43.37178],[6.51003,43.27803],[6.56584,43.22509],[6.12681,43.10527],[5.48229,43.24939],[5.47267,43.2309],[5.41567,43.24657],[5.45267,43.3451],[4.80191,43.48158],[4.76416,43.39244],[4.65716,43.42368],[4.67228,43.45608],[4.43203,43.52419],[4.41453,43.49255],[4.16102,43.56433],[4.14452,43.57067],[4.14165,43.57393],[4.18677,43.59946],[4.10565,43.68196],[3.79689,43.52165],[3.77851,43.51313],[3.76464,43.50597],[3.76201,43.50334],[3.74226,43.49328],[3.71601,43.52075],[3.26213,43.28143],[3.24638,43.29735],[3.18388,43.28052],[3.10675,43.24083],[3.15475,43.19419],[2.90625,43.19383],[2.90675,42.76189],[2.94613,42.76208],[2.9465,42.61516],[2.99238,42.61497],[2.99238,42.5125],[3.041,42.51259],[3.04121,42.50093],[3.09086,42.50082],[3.14769,42.40072]],[[6.35945,43.02321],[6.42477,43.02444],[6.45244,43.03504],[6.46985,43.05461],[6.51121,43.05765],[6.52156,43.04318],[6.48364,43.02444],[6.47179,43.00725],[6.41178,42.9918],[6.39852,42.98048],[6.35178,42.99905],[6.35945,43.02321]]],terms_url:"https://wiki.openstreetmap.org/wiki/WikiProject_France/G%C3%A9oLittoral",terms_text:"Ortho littorale 2000"},{id:"GeolittoralV2-Orthophotos",name:"Géolittoral V2 - Orthophotos 2011-2014",type:"wms",template:"http://geolittoral.din.developpement-durable.gouv.fr/wxs?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortholittorale_v2_rvb&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2014-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",polygon:[[[-0.98385,46.18807],[-0.89497,46.15628],[-0.93455,46.10163],[-0.84388,46.06949],[-0.88241,46.01637],[-0.53787,45.89558],[-0.63498,45.76444],[-0.86666,45.8479],[-0.76264,45.6245],[-0.69695,45.62659],[-0.69397,45.60184],[-0.68755,45.60174],[-0.688,45.50986],[-0.63799,45.50892],[-0.63978,45.44747],[-0.61574,45.44695],[-0.61619,45.38586],[-0.58544,45.38596],[-0.58529,45.32334],[-0.55379,45.32344],[-0.55275,45.19661],[-0.49094,45.19577],[-0.49184,45.13315],[-0.45661,45.13325],[-0.45512,45.07161],[-0.41611,45.07089],[-0.41621,45.02696],[-0.2907,44.98278],[-0.22,45.06771],[-0.12252,45.02563],[-0.18925,44.94591],[-0.09266,44.91019],[-0.14521,44.8392],[-0.15491,44.84238],[-0.19387,44.78678],[-0.43541,44.87317],[-0.39048,44.68413],[-0.58798,44.66014],[-0.66628,44.99129],[-0.77838,44.99263],[-0.77764,45.05389],[-0.81584,45.05321],[-0.81838,45.11962],[-0.88393,45.12051],[-0.88171,45.18081],[-0.93438,45.18185],[-0.9328,45.24484],[-1.00163,45.24439],[-1.00247,45.30827],[-1.0524,45.31013],[-1.04828,45.36911],[-1.06412,45.36911],[-1.05039,45.18252],[-1.10761,44.80787],[-1.01514,44.80113],[-1.01946,44.76914],[-0.93365,44.76149],[-0.9404,44.7018],[-0.96035,44.56434],[-1.01408,44.56765],[-1.09916,44.1456],[-1.22689,44.14022],[-1.21853,44.03249],[-1.30762,44.029],[-1.39572,43.74301],[-1.31296,43.72951],[-1.37439,43.53109],[-1.34589,43.50606],[-1.59964,43.35423],[-1.76549,43.25548],[-1.79281,43.28038],[-1.80281,43.40425],[-1.72832,43.45033],[-1.58531,43.489],[-1.33584,44.22832],[-1.30744,44.41847],[-1.22511,45.44416],[-1.48685,46.06042],[-1.60176,46.17019],[-1.64442,46.22375],[-1.75643,46.42214],[-2.03483,46.61895],[-2.3466,46.62382],[-2.46561,46.71196],[-2.3233,46.83812],[-2.45286,46.93856],[-2.31733,47.16214],[-2.92848,47.28413],[-2.96742,47.22147],[-3.35602,47.32474],[-3.18803,47.48441],[-3.22791,47.61132],[-3.38912,47.59473],[-3.9162,47.67831],[-4.10163,47.70921],[-4.14314,47.78847],[-4.37619,47.71067],[-4.47962,47.9776],[-4.98565,47.99896],[-4.96938,48.08972],[-4.60147,48.11469],[-4.5921,48.14758],[-4.67101,48.2331],[-4.84243,48.3005],[-5.19867,48.44926],[-5.10346,48.51722],[-4.83515,48.54319],[-4.63117,48.66129],[-3.96692,48.77978],[-3.94939,48.74715],[-3.67013,48.89508],[-3.54444,48.90297],[-3.40954,48.91866],[-3.33344,48.90458],[-3.02769,48.9275],[-2.80207,48.79793],[-2.69353,48.76722],[-2.45786,48.70896],[-2.28475,48.71909],[-2.17543,48.65016],[-2.0137,48.73221],[-1.80953,48.73178],[-1.7243,48.75828],[-1.70557,48.84512],[-1.90304,48.86288],[-1.91027,48.92348],[-1.68714,48.93249],[-1.74277,49.24473],[-1.85748,49.3253],[-1.9262,49.65573],[-2.03908,49.67872],[-2.00445,49.76087],[-1.61759,49.68498],[-1.28373,49.76067],[-1.1492,49.63504],[-1.18545,49.54836],[-0.96463,49.42509],[-0.74429,49.36802],[-0.39014,49.3622],[-0.24976,49.3158],[-0.13342,49.31293],[0.02731,49.37619],[0.01801,49.54656],[0.12211,49.69292],[0.51713,49.86466],[1.05727,49.94904],[1.43908,50.11819],[1.53177,50.46437],[1.52549,50.85867],[1.64118,50.95919],[2.59712,51.17355],[2.66071,51.0196],[2.07124,50.92022],[2.05937,50.94709],[1.7976,50.89906],[1.68089,50.8717],[1.65569,50.59729],[1.75357,50.5932],[1.72295,50.24702],[1.82156,50.24262],[1.80149,50.05116],[1.54565,50.06311],[1.54155,50.01267],[1.42462,50.01747],[1.42667,50.05276],[1.03838,49.84609],[0.9827,49.88916],[0.57961,49.82133],[0.42063,49.76297],[0.4281,49.75445],[0.20831,49.67269],[0.14765,49.57767],[0.13461,49.5809],[0.11117,49.54365],[0.56598,49.52045],[0.5632,49.49989],[0.63001,49.49666],[0.61478,49.37441],[0.54825,49.37851],[0.54254,49.33461],[0.45741,49.33938],[0.45843,49.34492],[0.32597,49.35456],[0.32846,49.38128],[0.28011,49.38433],[0.27689,49.36334],[0.21095,49.36658],[0.20817,49.35084],[0.14326,49.35532],[0.13769,49.3115],[0.07204,49.31532],[0.0675,49.28713],[0.00274,49.29076],[0.00508,49.25711],[-0.02027,49.26036],[-0.03492,49.1973],[-0.19448,49.21463],[-0.38966,49.12726],[-0.45369,49.18792],[-0.3561,49.23214],[-0.82088,49.28331],[-0.99778,49.30149],[-1.16728,49.24545],[-1.19515,49.28183],[-1.26768,49.24099],[-1.34114,49.2975],[-1.24768,49.35025],[-1.44583,49.60689],[-1.81105,49.61757],[-1.77479,49.44333],[-1.72775,49.46509],[-1.5339,49.29098],[-1.47909,49.29233],[-1.47608,49.24027],[-1.43557,49.20326],[-1.47225,49.1822],[-1.45091,48.75725],[-1.31155,48.76408],[-1.30533,48.70216],[-1.2584,48.70421],[-1.25229,48.64353],[-1.23519,48.64435],[-1.2269,48.56824],[-1.85218,48.53086],[-1.84908,48.4975],[-1.92326,48.49187],[-1.92813,48.44096],[-2.04272,48.43601],[-2.03889,48.48191],[-2.2895,48.46102],[-2.3021,48.52433],[-2.40863,48.51618],[-2.42035,48.56954],[-2.43084,48.57852],[-2.49083,48.54924],[-2.47353,48.53326],[-2.54978,48.49647],[-2.54005,48.48747],[-2.70681,48.40746],[-3.02979,48.69115],[-4.01034,48.53179],[-4.05342,48.64412],[-4.38281,48.57349],[-4.35482,48.5118],[-4.38853,48.50473],[-4.13495,48.44868],[-4.16411,48.38936],[-4.01832,48.35685],[-4.04733,48.29918],[-3.98814,48.2867],[-4.0214,48.21606],[-4.03634,48.21958],[-4.06623,48.16028],[-4.16675,48.18247],[-4.18331,48.14934],[-4.17232,48.1065],[-4.20111,48.10285],[-4.18643,48.04389],[-4.18806,48.04061],[-4.35686,48.02305],[-4.25657,47.93997],[-4.23363,47.93497],[-4.21371,47.97598],[-4.21854,47.97726],[-4.1806,48.05569],[-3.6172,47.93124],[-2.17991,47.58642],[-2.25449,47.44501],[-2.30182,47.4568],[-2.32043,47.42092],[-2.30372,47.41755],[-2.34753,47.33499],[-2.36219,47.33837],[-2.38079,47.3039],[-2.35852,47.29854],[-2.29962,47.29784],[-2.29742,47.3618],[-2.13199,47.35852],[-2.13478,47.39107],[-2.01565,47.39623],[-2.01404,47.38095],[-1.92862,47.38254],[-1.92891,47.37956],[-1.8322,47.38184],[-1.82986,47.34165],[-1.73608,47.34304],[-1.73418,47.305],[-1.64084,47.30639],[-1.64011,47.29427],[-1.58355,47.29566],[-1.58531,47.33708],[-1.4612,47.33966],[-1.46003,47.32924],[-1.37211,47.33221],[-1.36054,47.11239],[-1.48567,47.11149],[-1.48582,47.11877],[-1.66897,47.11688],[-1.66971,47.12864],[-1.72553,47.12764],[-1.72612,47.13761],[-1.93975,47.13263],[-1.94019,47.1422],[-1.9925,47.14309],[-1.81066,47.00588],[-1.94723,46.92078],[-1.92891,46.90677],[-1.99529,46.86461],[-1.73652,46.66839],[-1.77535,46.64386],[-1.82678,46.64174],[-1.82473,46.62071],[-1.18192,46.39987],[-0.91261,46.3048],[-0.95481,46.2489],[-0.94235,46.24424],[-0.98385,46.18807]],[[3.14769,42.40072],[3.14949,42.40015],[3.15305,42.40052],[3.15804,42.40243],[3.1877,42.42805],[3.14227,42.5248],[3.06837,42.54635],[3.04884,42.6942],[3.0799,43.03073],[3.22641,43.18727],[3.40916,43.26032],[3.52104,43.25877],[3.66429,43.37628],[3.73841,43.39054],[4.00979,43.53607],[4.17692,43.45636],[4.54355,43.43349],[4.54943,43.35401],[4.83506,43.30891],[4.97506,43.38309],[5.03219,43.31928],[5.25919,43.31928],[5.31082,43.20504],[5.35682,43.18645],[5.36882,43.16785],[5.40232,43.16211],[5.41382,43.17123],[5.40919,43.19921],[5.54232,43.18827],[5.60582,43.14797],[5.6197,43.1529],[5.63832,43.17159],[5.67157,43.1674],[5.69095,43.13411],[5.77607,43.10637],[5.7762,43.09432],[5.75407,43.08328],[5.75707,43.0725],[5.77032,43.06465],[5.85933,43.03469],[5.8877,43.06273],[5.9567,43.06109],[5.96383,43.09277],[6.00033,43.09186],[6.01745,43.06849],[6.10233,43.07415],[6.10483,43.0526],[6.0666,43.04318],[6.06722,43.03785],[6.1427,43.00923],[6.15676,42.98715],[6.19635,42.97331],[6.22221,42.9801],[6.26891,42.99651],[6.25515,43.03627],[6.2019,43.02713],[6.18378,43.09188],[6.30153,43.09909],[6.32478,43.07974],[6.37778,43.08011],[6.38866,43.13395],[6.51341,43.14608],[6.57704,43.17881],[6.62291,43.14563],[6.69779,43.19969],[6.68016,43.23357],[6.72116,43.26007],[6.72241,43.27472],[6.67054,43.29192],[6.68741,43.33113],[6.72416,43.34267],[6.75291,43.409],[6.79104,43.39674],[6.90629,43.41672],[6.96767,43.50273],[6.96617,43.52812],[7.00617,43.53845],[7.03554,43.4982],[7.06892,43.5001],[7.09079,43.51642],[7.06267,43.53672],[7.08254,43.5456],[7.1238,43.53074],[7.1558,43.5437],[7.1433,43.62284],[7.16867,43.64636],[7.2138,43.63469],[7.25417,43.68497],[7.3403,43.66744],[7.36442,43.6894],[7.35305,43.7082],[7.4163,43.71091],[7.45405,43.74506],[7.4943,43.74524],[7.57943,43.78424],[7.60552,43.78603],[7.60368,43.78898],[7.59588,43.79528],[7.59628,43.79549],[7.53853,43.84195],[7.45996,43.79988],[7.44781,43.80934],[7.32353,43.74806],[7.30822,43.76357],[6.64878,43.3885],[6.66865,43.37178],[6.51003,43.27803],[6.56584,43.22509],[6.12681,43.10527],[5.48229,43.24939],[5.47267,43.2309],[5.41567,43.24657],[5.45267,43.3451],[4.80191,43.48158],[4.76416,43.39244],[4.65716,43.42368],[4.67228,43.45608],[4.43203,43.52419],[4.41453,43.49255],[4.16102,43.56433],[4.14452,43.57067],[4.14165,43.57393],[4.18677,43.59946],[4.10565,43.68196],[3.79689,43.52165],[3.77851,43.51313],[3.76464,43.50597],[3.76201,43.50334],[3.74226,43.49328],[3.71601,43.52075],[3.26213,43.28143],[3.24638,43.29735],[3.18388,43.28052],[3.10675,43.24083],[3.15475,43.19419],[2.90625,43.19383],[2.90675,42.76189],[2.94613,42.76208],[2.9465,42.61516],[2.99238,42.61497],[2.99238,42.5125],[3.041,42.51259],[3.04121,42.50093],[3.09086,42.50082],[3.14769,42.40072]],[[6.35945,43.02321],[6.42477,43.02444],[6.45244,43.03504],[6.46985,43.05461],[6.51121,43.05765],[6.52156,43.04318],[6.48364,43.02444],[6.47179,43.00725],[6.41178,42.9918],[6.39852,42.98048],[6.35178,42.99905],[6.35945,43.02321]]],terms_url:"https://wiki.openstreetmap.org/wiki/WikiProject_France/G%C3%A9oLittoral",terms_text:"Ortho Littorale V2 - MEDDE"},{id:"lu.geoportail.opendata.ortho_10cm_proto_lidar",name:"geoportail.lu LIDAR prototype Nordstad 2017",type:"tms",template:"https://{switch:wmts1,wmts2}.geoportail.lu/opendata/wmts/ortho_10cm_proto_lidar/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg",endDate:"2017-04-09T00:00:00.000Z",startDate:"2017-04-09T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[6.05001,49.82175],[6.04979,49.91166],[6.18901,49.91172],[6.18897,49.82181],[6.05001,49.82175]]],terms_url:"https://act.public.lu/fr/cartographie/lidar",terms_text:"Administration du Cadastre et de la Topographie",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"Geoportal2-PL-aerial_image",name:"Geoportal 2: Orthophotomap (aerial image)",type:"wms",template:"http://mapy.geoportal.gov.pl/wss/service/img/guest/ORTO/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Raster&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}{header(User-Agent,Mozilla/5.0 (JOSM)}",projection:"EPSG:4326",zoomExtent:[0,23],polygon:[[[15.9751,54.37092],[16.31116,54.55618],[17.13919,54.78457],[18.34485,54.90227],[19.66137,54.47372],[20.28152,54.42135],[21.46639,54.34064],[22.77599,54.37698],[22.8626,54.42336],[23.29567,54.26786],[23.53472,54.09553],[23.52086,53.97752],[23.71834,53.46296],[23.92968,53.18567],[23.92968,52.68873],[23.7322,52.60675],[23.5659,52.58781],[23.20905,52.33026],[23.19519,52.23701],[23.50354,52.18606],[23.69062,52.00301],[23.59708,51.7399],[23.66291,51.38886],[23.9366,50.98278],[24.16873,50.86048],[24.01975,50.80358],[24.10983,50.66105],[24.05786,50.41884],[23.61787,50.30834],[22.68244,49.51635],[22.73788,49.20949],[22.90417,49.07804],[22.8626,48.99401],[22.60969,49.03718],[22.07615,49.20044],[21.84749,49.37219],[21.37631,49.44883],[21.10262,49.37219],[20.91207,49.3022],[20.6453,49.39023],[20.18451,49.33156],[20.11869,49.20044],[19.942,49.13021],[19.76531,49.21176],[19.74798,49.39925],[19.60247,49.41503],[19.50893,49.58154],[19.42925,49.59052],[19.23177,49.41503],[18.99618,49.38798],[18.93382,49.4916],[18.83681,49.49386],[18.80216,49.66234],[18.6428,49.70941],[18.52154,49.89947],[18.08154,50.01092],[17.88753,49.98865],[17.73855,50.06877],[17.6069,50.17096],[17.74548,50.21532],[17.71084,50.3017],[17.41635,50.26407],[16.94864,50.44533],[16.89321,50.40339],[17.00061,50.31055],[17.01793,50.22419],[16.81352,50.18649],[16.64029,50.09767],[16.43242,50.28621],[16.19683,50.42767],[16.42203,50.58852],[16.33888,50.66324],[16.22802,50.63688],[16.05479,50.61271],[15.57322,50.76415],[15.26834,50.89764],[15.24409,50.9806],[15.02929,51.0133],[15.00157,50.85829],[14.81102,50.87359],[14.95653,51.07212],[15.01889,51.29146],[14.93921,51.46015],[14.72094,51.55718],[14.75212,51.62606],[14.59968,51.84276],[14.70362,52.07334],[14.55811,52.24974],[14.51654,52.42544],[14.60315,52.58781],[14.11465,52.82083],[14.15276,52.9734],[14.35024,53.07342],[14.42299,53.26656],[14.1978,53.87348],[14.22205,53.99585],[15.9751,54.37092]]],terms_url:"https://geoportal.gov.pl/web/guest/regulamin",terms_text:"Główny Urząd Geodezji i Kartografii",best:true,icon:"https://wiki.openstreetmap.org/w/images/2/25/Geoportal-josm.png"},{id:"Geoportal2-PL-prng",name:"Geoportal 2: PRNG (geo names)",type:"wms",template:"http://mapy.geoportal.gov.pl/wss/service/pub/guest/G2_PRNG_WMS/MapServer/WMSServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=PozostaleObiektyFizjograficzne,Hydrografia,PozostaleMiejscowosci,Wies,UksztaltowanieTerenu&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}{header(User-Agent,Mozilla/5.0 (JOSM)}",projection:"EPSG:4326",polygon:[[[15.9751,54.37092],[16.31116,54.55618],[17.13919,54.78457],[18.34485,54.90227],[19.66137,54.47372],[20.28152,54.42135],[21.46639,54.34064],[22.77599,54.37698],[22.8626,54.42336],[23.29567,54.26786],[23.53472,54.09553],[23.52086,53.97752],[23.71834,53.46296],[23.92968,53.18567],[23.92968,52.68873],[23.7322,52.60675],[23.5659,52.58781],[23.20905,52.33026],[23.19519,52.23701],[23.50354,52.18606],[23.69062,52.00301],[23.59708,51.7399],[23.66291,51.38886],[23.9366,50.98278],[24.16873,50.86048],[24.01975,50.80358],[24.10983,50.66105],[24.05786,50.41884],[23.61787,50.30834],[22.68244,49.51635],[22.73788,49.20949],[22.90417,49.07804],[22.8626,48.99401],[22.60969,49.03718],[22.07615,49.20044],[21.84749,49.37219],[21.37631,49.44883],[21.10262,49.37219],[20.91207,49.3022],[20.6453,49.39023],[20.18451,49.33156],[20.11869,49.20044],[19.942,49.13021],[19.76531,49.21176],[19.74798,49.39925],[19.60247,49.41503],[19.50893,49.58154],[19.42925,49.59052],[19.23177,49.41503],[18.99618,49.38798],[18.93382,49.4916],[18.83681,49.49386],[18.80216,49.66234],[18.6428,49.70941],[18.52154,49.89947],[18.08154,50.01092],[17.88753,49.98865],[17.73855,50.06877],[17.6069,50.17096],[17.74548,50.21532],[17.71084,50.3017],[17.41635,50.26407],[16.94864,50.44533],[16.89321,50.40339],[17.00061,50.31055],[17.01793,50.22419],[16.81352,50.18649],[16.64029,50.09767],[16.43242,50.28621],[16.19683,50.42767],[16.42203,50.58852],[16.33888,50.66324],[16.22802,50.63688],[16.05479,50.61271],[15.57322,50.76415],[15.26834,50.89764],[15.24409,50.9806],[15.02929,51.0133],[15.00157,50.85829],[14.81102,50.87359],[14.95653,51.07212],[15.01889,51.29146],[14.93921,51.46015],[14.72094,51.55718],[14.75212,51.62606],[14.59968,51.84276],[14.70362,52.07334],[14.55811,52.24974],[14.51654,52.42544],[14.60315,52.58781],[14.11465,52.82083],[14.15276,52.9734],[14.35024,53.07342],[14.42299,53.26656],[14.1978,53.87348],[14.22205,53.99585],[15.9751,54.37092]]],terms_url:"http://www.codgik.gov.pl/index.php/darmowe-dane/prng.html",terms_text:"Centralny Ośrodek Dokumentacji Geodezyjnej i Kartograficznej",icon:"https://wiki.openstreetmap.org/w/images/2/25/Geoportal-josm.png",overlay:true},{id:"Geoportal-PL-aerial_image",name:"Geoportal.gov.pl (Orthophotomap)",type:"tms",template:"https://wms.misek.pl/geoportal.orto/tms/{zoom}/{x}/{y}",zoomExtent:[6,24],polygon:[[[15.9751,54.37092],[16.31116,54.55618],[17.13919,54.78457],[18.34485,54.90227],[19.66137,54.47372],[20.28152,54.42135],[21.46639,54.34064],[22.77599,54.37698],[22.8626,54.42336],[23.29567,54.26786],[23.53472,54.09553],[23.52086,53.97752],[23.71834,53.46296],[23.92968,53.18567],[23.92968,52.68873],[23.7322,52.60675],[23.5659,52.58781],[23.20905,52.33026],[23.19519,52.23701],[23.50354,52.18606],[23.69062,52.00301],[23.59708,51.7399],[23.66291,51.38886],[23.9366,50.98278],[24.16873,50.86048],[24.01975,50.80358],[24.10983,50.66105],[24.05786,50.41884],[23.61787,50.30834],[22.68244,49.51635],[22.73788,49.20949],[22.90417,49.07804],[22.8626,48.99401],[22.60969,49.03718],[22.07615,49.20044],[21.84749,49.37219],[21.37631,49.44883],[21.10262,49.37219],[20.91207,49.3022],[20.6453,49.39023],[20.18451,49.33156],[20.11869,49.20044],[19.942,49.13021],[19.76531,49.21176],[19.74798,49.39925],[19.60247,49.41503],[19.50893,49.58154],[19.42925,49.59052],[19.23177,49.41503],[18.99618,49.38798],[18.93382,49.4916],[18.83681,49.49386],[18.80216,49.66234],[18.6428,49.70941],[18.52154,49.89947],[18.08154,50.01092],[17.88753,49.98865],[17.73855,50.06877],[17.6069,50.17096],[17.74548,50.21532],[17.71084,50.3017],[17.41635,50.26407],[16.94864,50.44533],[16.89321,50.40339],[17.00061,50.31055],[17.01793,50.22419],[16.81352,50.18649],[16.64029,50.09767],[16.43242,50.28621],[16.19683,50.42767],[16.42203,50.58852],[16.33888,50.66324],[16.22802,50.63688],[16.05479,50.61271],[15.57322,50.76415],[15.26834,50.89764],[15.24409,50.9806],[15.02929,51.0133],[15.00157,50.85829],[14.81102,50.87359],[14.95653,51.07212],[15.01889,51.29146],[14.93921,51.46015],[14.72094,51.55718],[14.75212,51.62606],[14.59968,51.84276],[14.70362,52.07334],[14.55811,52.24974],[14.51654,52.42544],[14.60315,52.58781],[14.11465,52.82083],[14.15276,52.9734],[14.35024,53.07342],[14.42299,53.26656],[14.1978,53.87348],[14.22205,53.99585],[15.9751,54.37092]]],terms_text:"Copyright © Główny Urząd Geodezji i Kartografii.",best:true,icon:"https://i.imgur.com/aFlvMpM.png"},{id:"girau_do_pnciano",name:"Girau do Ponciano",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Girau%20do%20Ponciano&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.78013,-9.92939],[-36.78087,-9.83892],[-36.87233,-9.83917],[-36.87173,-9.90542],[-36.87037,-9.92989],[-36.86156,-9.92994],[-36.85566,-9.92981],[-36.85146,-9.92973],[-36.84575,-9.92977],[-36.83213,-9.92967],[-36.81456,-9.9296],[-36.78013,-9.92939]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"Gliwice-buildings",name:"Gliwice: Buildings",type:"wms",template:"http://185.60.246.14:9090/isdp/gs/ows?FORMAT=image/png&transparent=true&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=default:EGIB_budynek,default:pkt_adr&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[18.57376,50.34828],[18.58723,50.35464],[18.58421,50.3601],[18.59264,50.37522],[18.65228,50.38297],[18.67384,50.37675],[18.67672,50.36174],[18.69218,50.34467],[18.70805,50.33799],[18.74154,50.3391],[18.75145,50.33046],[18.74679,50.31236],[18.75512,50.30193],[18.76358,50.29989],[18.76539,50.26873],[18.744,50.26541],[18.73482,50.25377],[18.72775,50.22843],[18.71439,50.22835],[18.71426,50.21978],[18.67522,50.21969],[18.67607,50.22562],[18.65098,50.23169],[18.6288,50.22539],[18.61744,50.24044],[18.62699,50.24369],[18.6315,50.25487],[18.61406,50.2576],[18.60319,50.25206],[18.56536,50.24763],[18.54841,50.2492],[18.55857,50.2826],[18.5459,50.29947],[18.52896,50.33687],[18.55118,50.35332],[18.57376,50.34828]]],terms_text:"Urząd Miasta Gliwice"},{id:"GRAFCAN-Canary_Islands",name:"GRAFCAN - Canary Islands",type:"wms",template:"https://idecan1.grafcan.es/ServicioWMS/OrtoUrb?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=OU&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[-17.92917,28.89106],[-18.03334,28.79981],[-18.03743,28.73178],[-17.87811,28.43224],[-17.83113,28.41787],[-17.72696,28.56328],[-17.73105,28.67982],[-17.68407,28.73715],[-17.75352,28.86781],[-17.85768,28.86065],[-17.92917,28.89106]],[[-18.07818,27.77211],[-18.13707,27.78751],[-18.17054,27.76441],[-18.1779,27.70695],[-18.15782,27.68799],[-18.0581,27.6791],[-18.00656,27.62574],[-17.96105,27.62218],[-17.93896,27.70814],[-17.90751,27.7194],[-17.86199,27.80468],[-17.8727,27.84079],[-17.92558,27.86801],[-18.00522,27.83605],[-18.01392,27.8035],[-18.07818,27.77211]],[[-17.26878,28.23996],[-17.33403,28.21933],[-17.36331,28.1537],[-17.36666,28.08803],[-17.33069,28.04742],[-17.27296,28.00681],[-17.20017,28.00533],[-17.14412,28.02896],[-17.07803,28.0836],[-17.08723,28.1537],[-17.1826,28.2149],[-17.26878,28.23996]],[[-16.9358,28.37623],[-16.945,28.33574],[-16.71995,27.98317],[-16.62541,27.98317],[-16.52753,28.01641],[-16.39953,28.14632],[-16.33594,28.30922],[-16.33009,28.36445],[-16.10253,28.52408],[-16.09834,28.5814],[-16.14268,28.62547],[-16.33929,28.59609],[-16.43801,28.53143],[-16.53924,28.44025],[-16.83959,28.41229],[-16.9358,28.37623]],[[-15.68833,28.20585],[-15.47395,28.16437],[-15.42427,28.21046],[-15.36283,28.17244],[-15.38375,28.05598],[-15.33146,27.98444],[-15.3576,27.8042],[-15.5916,27.69777],[-15.7001,27.73365],[-15.79944,27.80305],[-15.87134,27.92439],[-15.84781,28.03637],[-15.74716,28.08943],[-15.73147,28.18396],[-15.68833,28.20585]],[[-14.50882,28.13448],[-14.41078,28.13448],[-14.24868,28.24278],[-14.23822,28.34637],[-14.03953,28.73911],[-13.89442,28.78265],[-13.78592,28.77692],[-13.82122,28.38433],[-13.91534,28.19095],[-14.18593,28.13563],[-14.30881,28.00529],[-14.54019,28.05144],[-14.50882,28.13448]],[[-13.5525,29.37727],[-13.50868,29.36824],[-13.47955,29.38728],[-13.47543,29.40963],[-13.5003,29.42807],[-13.5505,29.40712],[-13.5525,29.37727]],[[-13.3976,29.16102],[-13.42814,29.12157],[-13.44174,28.99084],[-13.53899,28.91947],[-13.70841,28.88468],[-13.77116,28.80865],[-13.90083,28.83522],[-13.90711,28.88926],[-13.85796,28.93686],[-13.85691,29.03657],[-13.67599,29.14988],[-13.56723,29.15719],[-13.55428,29.35073],[-13.39988,29.21806],[-13.3976,29.16102]],[[-13.33792,29.28667],[-13.35035,29.27436],[-13.3386,29.26533],[-13.32617,29.27765],[-13.33792,29.28667]]],terms_text:"GRAFCAN OrtoExpress Urbana 2009"},{id:"GRAFCAN_Express-Canary_Islands",name:"GRAFCAN Express - Canary Islands",type:"wms",template:"https://idecan1.grafcan.es/ServicioWMS/OrtoExpress?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=ortoexpress&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[-17.92917,28.89106],[-18.03334,28.79981],[-18.03743,28.73178],[-17.87811,28.43224],[-17.83113,28.41787],[-17.72696,28.56328],[-17.73105,28.67982],[-17.68407,28.73715],[-17.75352,28.86781],[-17.85768,28.86065],[-17.92917,28.89106]],[[-18.07818,27.77211],[-18.13707,27.78751],[-18.17054,27.76441],[-18.1779,27.70695],[-18.15782,27.68799],[-18.0581,27.6791],[-18.00656,27.62574],[-17.96105,27.62218],[-17.93896,27.70814],[-17.90751,27.7194],[-17.86199,27.80468],[-17.8727,27.84079],[-17.92558,27.86801],[-18.00522,27.83605],[-18.01392,27.8035],[-18.07818,27.77211]],[[-17.26878,28.23996],[-17.33403,28.21933],[-17.36331,28.1537],[-17.36666,28.08803],[-17.33069,28.04742],[-17.27296,28.00681],[-17.20017,28.00533],[-17.14412,28.02896],[-17.07803,28.0836],[-17.08723,28.1537],[-17.1826,28.2149],[-17.26878,28.23996]],[[-16.9358,28.37623],[-16.945,28.33574],[-16.71995,27.98317],[-16.62541,27.98317],[-16.52753,28.01641],[-16.39953,28.14632],[-16.33594,28.30922],[-16.33009,28.36445],[-16.10253,28.52408],[-16.09834,28.5814],[-16.14268,28.62547],[-16.33929,28.59609],[-16.43801,28.53143],[-16.53924,28.44025],[-16.83959,28.41229],[-16.9358,28.37623]],[[-15.68833,28.20585],[-15.47395,28.16437],[-15.42427,28.21046],[-15.36283,28.17244],[-15.38375,28.05598],[-15.33146,27.98444],[-15.3576,27.8042],[-15.5916,27.69777],[-15.7001,27.73365],[-15.79944,27.80305],[-15.87134,27.92439],[-15.84781,28.03637],[-15.74716,28.08943],[-15.73147,28.18396],[-15.68833,28.20585]],[[-14.50882,28.13448],[-14.41078,28.13448],[-14.24868,28.24278],[-14.23822,28.34637],[-14.03953,28.73911],[-13.89442,28.78265],[-13.78592,28.77692],[-13.82122,28.38433],[-13.91534,28.19095],[-14.18593,28.13563],[-14.30881,28.00529],[-14.54019,28.05144],[-14.50882,28.13448]],[[-13.5525,29.37727],[-13.50868,29.36824],[-13.47955,29.38728],[-13.47543,29.40963],[-13.5003,29.42807],[-13.5505,29.40712],[-13.5525,29.37727]],[[-13.3976,29.16102],[-13.42814,29.12157],[-13.44174,28.99084],[-13.53899,28.91947],[-13.70841,28.88468],[-13.77116,28.80865],[-13.90083,28.83522],[-13.90711,28.88926],[-13.85796,28.93686],[-13.85691,29.03657],[-13.67599,29.14988],[-13.56723,29.15719],[-13.55428,29.35073],[-13.39988,29.21806],[-13.3976,29.16102]],[[-13.33792,29.28667],[-13.35035,29.27436],[-13.3386,29.26533],[-13.32617,29.27765],[-13.33792,29.28667]]],terms_text:"GRAFCAN OrtoExpress"},{id:"GrandNancy_Orthophotographie_2012",name:"GrandNancy - Orthophoto - 2012",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/nancy_2012/{zoom}/{x}/{y}",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[6.06066,48.60554],[6.29717,48.59923],[6.30611,48.74077],[6.06896,48.7471],[6.06066,48.60554]]],terms_url:"https://wiki.openstreetmap.org/wiki/Nancy/Orthophotographie",terms_text:"GrandNancy Orthophotographie 2012"},{id:"GURS-buildings",name:"GURS: Building outlines",type:"tms",template:"https://wms.openstreetmap.de/tms/GURS-building-outlines/{zoom}/{x}/{y}.png",zoomExtent:[8,19],polygon:[[[15.17101,45.41273],[15.06731,45.4781],[14.98353,45.48726],[14.93027,45.51869],[14.91295,45.46869],[14.81398,45.45019],[14.77755,45.49724],[14.71885,45.52386],[14.68383,45.51924],[14.68367,45.57107],[14.58902,45.61966],[14.59477,45.65727],[14.51653,45.5974],[14.49636,45.52968],[14.32388,45.46048],[14.28251,45.47949],[14.26083,45.47352],[14.2367,45.49569],[14.21022,45.45962],[14.1328,45.46542],[14.06694,45.47615],[14.01187,45.50769],[13.98752,45.49945],[14.00668,45.4739],[13.99154,45.44854],[13.91789,45.44329],[13.88867,45.416],[13.81063,45.42531],[13.7856,45.45577],[13.67553,45.43241],[13.38,45.5666],[13.63822,45.64153],[13.72158,45.60472],[13.83759,45.59226],[13.89962,45.63295],[13.82754,45.67917],[13.82429,45.70266],[13.78961,45.73525],[13.66355,45.79008],[13.62279,45.78613],[13.58835,45.80154],[13.56531,45.85522],[13.62633,45.93894],[13.62975,45.97662],[13.59233,45.97929],[13.57124,45.9591],[13.52998,45.95627],[13.46729,46.00147],[13.49765,46.03741],[13.4896,46.06574],[13.58839,46.11268],[13.63712,46.14524],[13.65358,46.17505],[13.57147,46.17434],[13.54859,46.19982],[13.48189,46.21479],[13.42003,46.19662],[13.40026,46.21037],[13.40304,46.23284],[13.36653,46.30266],[13.43369,46.33243],[13.43247,46.36779],[13.56263,46.40895],[13.59357,46.44846],[13.68393,46.44947],[13.71321,46.53296],[13.79725,46.5164],[13.91305,46.53108],[14.00849,46.49169],[14.09406,46.49538],[14.12664,46.4852],[14.16569,46.44341],[14.28242,46.45347],[14.3259,46.44111],[14.43178,46.4568],[14.45113,46.43239],[14.52618,46.43623],[14.56677,46.38549],[14.58993,46.44479],[14.65658,46.45447],[14.71191,46.50954],[14.80818,46.51778],[14.81442,46.55093],[14.86094,46.61239],[14.9102,46.61569],[14.95398,46.64257],[14.98376,46.61868],[15.02973,46.65796],[15.10645,46.66965],[15.23727,46.64973],[15.41364,46.66553],[15.46237,46.64732],[15.47411,46.6226],[15.53427,46.64346],[15.53636,46.6761],[15.59201,46.69952],[15.62405,46.69039],[15.65624,46.71643],[15.767,46.70899],[15.83801,46.73237],[15.91476,46.71958],[16.02919,46.67033],[16.02955,46.68778],[15.99495,46.71178],[15.97505,46.74967],[15.98671,46.84189],[16.0553,46.85049],[16.11022,46.87912],[16.15425,46.86525],[16.23302,46.88667],[16.29431,46.8824],[16.34649,46.85476],[16.36058,46.8278],[16.34711,46.79707],[16.32245,46.79068],[16.33977,46.7799],[16.33186,46.75896],[16.38893,46.70785],[16.4383,46.69655],[16.42822,46.65301],[16.40159,46.6439],[16.51477,46.57299],[16.54136,46.53627],[16.5416,46.50887],[16.611,46.48393],[16.61889,46.46203],[16.52219,46.45842],[16.47451,46.50108],[16.36776,46.53371],[16.2582,46.489],[16.28533,46.42441],[16.3168,46.40141],[16.30574,46.36921],[16.18689,46.36804],[16.14548,46.39515],[16.06959,46.38154],[16.08614,46.34087],[16.04058,46.32708],[16.01819,46.29964],[15.80777,46.25091],[15.79649,46.21296],[15.77128,46.19937],[15.67996,46.21707],[15.65737,46.20838],[15.65639,46.18456],[15.62037,46.16163],[15.61899,46.11595],[15.63483,46.09529],[15.71869,46.06873],[15.74241,46.04578],[15.71612,45.99489],[15.71645,45.9178],[15.69237,45.90013],[15.69375,45.87111],[15.71776,45.8416],[15.6441,45.81058],[15.57467,45.83999],[15.52333,45.81155],[15.49115,45.82041],[15.47514,45.78666],[15.40343,45.78216],[15.28683,45.73391],[15.27435,45.72408],[15.29763,45.70782],[15.36329,45.72191],[15.41517,45.65443],[15.39705,45.62929],[15.31501,45.62356],[15.31503,45.60696],[15.29266,45.60163],[15.30852,45.58653],[15.31145,45.5423],[15.39496,45.48325],[15.34824,45.44665],[15.27515,45.45599],[15.22848,45.41683],[15.17101,45.41273]]],terms_url:"http://egp.gu.gov.si/",terms_text:"CC-BY ©2019 Geodetska uprava Republike Slovenije (gu.gov.si).",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/si/GURSRoadlines.png",overlay:true},{id:"GURS-roads",name:"GURS: Road lines",type:"tms",template:"https://wms.openstreetmap.de/tms/GURS-road-lines/{zoom}/{x}/{y}.png",zoomExtent:[8,19],polygon:[[[15.17101,45.41273],[15.06731,45.4781],[14.98353,45.48726],[14.93027,45.51869],[14.91295,45.46869],[14.81398,45.45019],[14.77755,45.49724],[14.71885,45.52386],[14.68383,45.51924],[14.68367,45.57107],[14.58902,45.61966],[14.59477,45.65727],[14.51653,45.5974],[14.49636,45.52968],[14.32388,45.46048],[14.28251,45.47949],[14.26083,45.47352],[14.2367,45.49569],[14.21022,45.45962],[14.1328,45.46542],[14.06694,45.47615],[14.01187,45.50769],[13.98752,45.49945],[14.00668,45.4739],[13.99154,45.44854],[13.91789,45.44329],[13.88867,45.416],[13.81063,45.42531],[13.7856,45.45577],[13.67553,45.43241],[13.38,45.5666],[13.63822,45.64153],[13.72158,45.60472],[13.83759,45.59226],[13.89962,45.63295],[13.82754,45.67917],[13.82429,45.70266],[13.78961,45.73525],[13.66355,45.79008],[13.62279,45.78613],[13.58835,45.80154],[13.56531,45.85522],[13.62633,45.93894],[13.62975,45.97662],[13.59233,45.97929],[13.57124,45.9591],[13.52998,45.95627],[13.46729,46.00147],[13.49765,46.03741],[13.4896,46.06574],[13.58839,46.11268],[13.63712,46.14524],[13.65358,46.17505],[13.57147,46.17434],[13.54859,46.19982],[13.48189,46.21479],[13.42003,46.19662],[13.40026,46.21037],[13.40304,46.23284],[13.36653,46.30266],[13.43369,46.33243],[13.43247,46.36779],[13.56263,46.40895],[13.59357,46.44846],[13.68393,46.44947],[13.71321,46.53296],[13.79725,46.5164],[13.91305,46.53108],[14.00849,46.49169],[14.09406,46.49538],[14.12664,46.4852],[14.16569,46.44341],[14.28242,46.45347],[14.3259,46.44111],[14.43178,46.4568],[14.45113,46.43239],[14.52618,46.43623],[14.56677,46.38549],[14.58993,46.44479],[14.65658,46.45447],[14.71191,46.50954],[14.80818,46.51778],[14.81442,46.55093],[14.86094,46.61239],[14.9102,46.61569],[14.95398,46.64257],[14.98376,46.61868],[15.02973,46.65796],[15.10645,46.66965],[15.23727,46.64973],[15.41364,46.66553],[15.46237,46.64732],[15.47411,46.6226],[15.53427,46.64346],[15.53636,46.6761],[15.59201,46.69952],[15.62405,46.69039],[15.65624,46.71643],[15.767,46.70899],[15.83801,46.73237],[15.91476,46.71958],[16.02919,46.67033],[16.02955,46.68778],[15.99495,46.71178],[15.97505,46.74967],[15.98671,46.84189],[16.0553,46.85049],[16.11022,46.87912],[16.15425,46.86525],[16.23302,46.88667],[16.29431,46.8824],[16.34649,46.85476],[16.36058,46.8278],[16.34711,46.79707],[16.32245,46.79068],[16.33977,46.7799],[16.33186,46.75896],[16.38893,46.70785],[16.4383,46.69655],[16.42822,46.65301],[16.40159,46.6439],[16.51477,46.57299],[16.54136,46.53627],[16.5416,46.50887],[16.611,46.48393],[16.61889,46.46203],[16.52219,46.45842],[16.47451,46.50108],[16.36776,46.53371],[16.2582,46.489],[16.28533,46.42441],[16.3168,46.40141],[16.30574,46.36921],[16.18689,46.36804],[16.14548,46.39515],[16.06959,46.38154],[16.08614,46.34087],[16.04058,46.32708],[16.01819,46.29964],[15.80777,46.25091],[15.79649,46.21296],[15.77128,46.19937],[15.67996,46.21707],[15.65737,46.20838],[15.65639,46.18456],[15.62037,46.16163],[15.61899,46.11595],[15.63483,46.09529],[15.71869,46.06873],[15.74241,46.04578],[15.71612,45.99489],[15.71645,45.9178],[15.69237,45.90013],[15.69375,45.87111],[15.71776,45.8416],[15.6441,45.81058],[15.57467,45.83999],[15.52333,45.81155],[15.49115,45.82041],[15.47514,45.78666],[15.40343,45.78216],[15.28683,45.73391],[15.27435,45.72408],[15.29763,45.70782],[15.36329,45.72191],[15.41517,45.65443],[15.39705,45.62929],[15.31501,45.62356],[15.31503,45.60696],[15.29266,45.60163],[15.30852,45.58653],[15.31145,45.5423],[15.39496,45.48325],[15.34824,45.44665],[15.27515,45.45599],[15.22848,45.41683],[15.17101,45.41273]]],terms_url:"http://egp.gu.gov.si/",terms_text:"CC-BY ©2019 Geodetska uprava Republike Slovenije (gu.gov.si).",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/si/GURSRoadlines.png",overlay:true},{id:"hamburg-20cm",name:"Hamburg (20 cm)",type:"wms",template:"https://geodienste.hamburg.de/HH_WMS_DOP20?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=1&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[8.4826,53.9356],[8.48274,53.90924],[8.5275,53.90941],[8.52792,53.93577],[8.4826,53.9356]],[[9.77232,53.54352],[9.77434,53.55433],[9.76314,53.55521],[9.73047,53.55787],[9.73465,53.56536],[9.75793,53.61828],[9.77129,53.63131],[9.7707,53.61607],[9.79634,53.6103],[9.78993,53.60386],[9.81817,53.58591],[9.83773,53.59198],[9.84498,53.59498],[9.85416,53.59805],[9.86814,53.6093],[9.86931,53.61323],[9.88505,53.62199],[9.88697,53.6252],[9.89356,53.63026],[9.89637,53.63122],[9.89688,53.63492],[9.90678,53.65231],[9.93115,53.65262],[9.94552,53.65276],[9.95024,53.65085],[9.95155,53.65065],[9.97795,53.64887],[9.98492,53.6483],[9.98739,53.65072],[9.9996,53.68153],[10.02282,53.68157],[10.04338,53.68198],[10.05148,53.67759],[10.06925,53.67955],[10.0604,53.68833],[10.071,53.69585],[10.0707,53.70996],[10.08198,53.72044],[10.11908,53.71324],[10.16939,53.73896],[10.19369,53.731],[10.1779,53.70992],[10.15694,53.70451],[10.15829,53.68944],[10.14342,53.68057],[10.14176,53.67744],[10.14473,53.67613],[10.14643,53.67588],[10.14955,53.67545],[10.17153,53.66869],[10.19885,53.64675],[10.18973,53.63838],[10.22202,53.63349],[10.18887,53.61316],[10.19236,53.59474],[10.20117,53.58392],[10.15169,53.57619],[10.15067,53.56973],[10.148,53.5639],[10.15308,53.56242],[10.15942,53.56091],[10.15189,53.5417],[10.15465,53.53657],[10.16874,53.5374],[10.16327,53.52185],[10.16611,53.52013],[10.16919,53.51965],[10.18951,53.51148],[10.21043,53.51996],[10.21828,53.49923],[10.2367,53.49629],[10.25008,53.47898],[10.26592,53.47079],[10.29043,53.45512],[10.30962,53.44309],[10.31223,53.45229],[10.32514,53.44979],[10.30799,53.43332],[10.25598,53.41623],[10.25089,53.41024],[10.24578,53.40261],[10.24155,53.39797],[10.16555,53.39933],[10.14506,53.41614],[10.10949,53.42649],[10.1068,53.42658],[10.07581,53.45436],[10.05155,53.46394],[10.03517,53.4469],[10.01449,53.44203],[10.02294,53.43228],[9.99754,53.42546],[9.98243,53.41478],[9.97873,53.4142],[9.9581,53.42708],[9.92953,53.42007],[9.92552,53.41924],[9.90667,53.41596],[9.92305,53.43631],[9.91704,53.44664],[9.90436,53.45707],[9.89493,53.45583],[9.86885,53.44462],[9.86211,53.42942],[9.84872,53.44111],[9.80663,53.46648],[9.80021,53.47372],[9.8028,53.49383],[9.78203,53.49236],[9.76885,53.5053],[9.77107,53.52185],[9.78105,53.51838],[9.77352,53.52796],[9.77232,53.54352]]],terms_url:"https://www.hamburg.de/bsw/landesbetrieb-geoinformation-und-vermessung",terms_text:"Freie und Hansestadt Hamburg, Landesbetrieb Geoinformation und Vermessung"},{id:"Hamburg-DK5",name:"Hamburg (DK5)",type:"wms",template:"https://geodienste.hamburg.de/HH_WMS_DK5?FORMAT=image/png&TRANSPARENT=false&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=1&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[8.4826,53.9356],[8.48274,53.90924],[8.5275,53.90941],[8.52792,53.93577],[8.4826,53.9356]],[[9.77232,53.54352],[9.77434,53.55433],[9.76314,53.55521],[9.73047,53.55787],[9.73465,53.56536],[9.75793,53.61828],[9.77129,53.63131],[9.7707,53.61607],[9.79634,53.6103],[9.78993,53.60386],[9.81817,53.58591],[9.83773,53.59198],[9.84498,53.59498],[9.85416,53.59805],[9.86814,53.6093],[9.86931,53.61323],[9.88505,53.62199],[9.88697,53.6252],[9.89356,53.63026],[9.89637,53.63122],[9.89688,53.63492],[9.90678,53.65231],[9.93115,53.65262],[9.94552,53.65276],[9.95024,53.65085],[9.95155,53.65065],[9.97795,53.64887],[9.98492,53.6483],[9.98739,53.65072],[9.9996,53.68153],[10.02282,53.68157],[10.04338,53.68198],[10.05148,53.67759],[10.06925,53.67955],[10.0604,53.68833],[10.071,53.69585],[10.0707,53.70996],[10.08198,53.72044],[10.11908,53.71324],[10.16939,53.73896],[10.19369,53.731],[10.1779,53.70992],[10.15694,53.70451],[10.15829,53.68944],[10.14342,53.68057],[10.14176,53.67744],[10.14473,53.67613],[10.14643,53.67588],[10.14955,53.67545],[10.17153,53.66869],[10.19885,53.64675],[10.18973,53.63838],[10.22202,53.63349],[10.18887,53.61316],[10.19236,53.59474],[10.20117,53.58392],[10.15169,53.57619],[10.15067,53.56973],[10.148,53.5639],[10.15308,53.56242],[10.15942,53.56091],[10.15189,53.5417],[10.15465,53.53657],[10.16874,53.5374],[10.16327,53.52185],[10.16611,53.52013],[10.16919,53.51965],[10.18951,53.51148],[10.21043,53.51996],[10.21828,53.49923],[10.2367,53.49629],[10.25008,53.47898],[10.26592,53.47079],[10.29043,53.45512],[10.30962,53.44309],[10.31223,53.45229],[10.32514,53.44979],[10.30799,53.43332],[10.25598,53.41623],[10.25089,53.41024],[10.24578,53.40261],[10.24155,53.39797],[10.16555,53.39933],[10.14506,53.41614],[10.10949,53.42649],[10.1068,53.42658],[10.07581,53.45436],[10.05155,53.46394],[10.03517,53.4469],[10.01449,53.44203],[10.02294,53.43228],[9.99754,53.42546],[9.98243,53.41478],[9.97873,53.4142],[9.9581,53.42708],[9.92953,53.42007],[9.92552,53.41924],[9.90667,53.41596],[9.92305,53.43631],[9.91704,53.44664],[9.90436,53.45707],[9.89493,53.45583],[9.86885,53.44462],[9.86211,53.42942],[9.84872,53.44111],[9.80663,53.46648],[9.80021,53.47372],[9.8028,53.49383],[9.78203,53.49236],[9.76885,53.5053],[9.77107,53.52185],[9.78105,53.51838],[9.77352,53.52796],[9.77232,53.54352]]],terms_url:"https://www.hamburg.de/bsw/landesbetrieb-geoinformation-und-vermessung",terms_text:"Freie und Hansestadt Hamburg, Landesbetrieb Geoinformation und Vermessung"},{id:"Hampshire-Aerial-FCIR",name:"Hampshire Aerial FCIR",type:"tms",template:"https://{switch:a,b,c}.hampshire.aerial.openstreetmap.org.uk/layer/gb_hampshire_aerial_fcir/{zoom}/{x}/{y}.png",endDate:"2014-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[8,20],polygon:[[[-1.31567,50.77809],[-1.49139,50.73027],[-1.57113,50.69041],[-1.68095,50.71748],[-1.69338,50.73484],[-1.69528,50.74065],[-1.68689,50.74999],[-1.71068,50.74812],[-1.7195,50.75261],[-1.746,50.74452],[-1.74845,50.75675],[-1.74287,50.76397],[-1.75101,50.77577],[-1.78525,50.76177],[-1.79911,50.77236],[-1.82256,50.77225],[-1.82678,50.78077],[-1.8225,50.79933],[-1.80732,50.80074],[-1.81566,50.80752],[-1.80889,50.81358],[-1.80579,50.83249],[-1.79816,50.83535],[-1.80649,50.84414],[-1.80988,50.86189],[-1.81378,50.85591],[-1.83052,50.85261],[-1.85271,50.85651],[-1.85655,50.86684],[-1.8492,50.87802],[-1.85082,50.89178],[-1.84077,50.90051],[-1.82693,50.89939],[-1.82006,50.90492],[-1.82151,50.91691],[-1.81689,50.92412],[-1.84114,50.92886],[-1.87446,50.91441],[-1.91129,50.9439],[-1.92339,50.95917],[-1.95751,50.97575],[-1.9591,50.99152],[-1.94907,50.98649],[-1.92879,51.00055],[-1.88709,51.0026],[-1.87393,51.0097],[-1.8717,50.99083],[-1.85433,51.00786],[-1.83567,51.01238],[-1.81502,50.9899],[-1.80031,50.99457],[-1.75184,50.98133],[-1.71927,50.98047],[-1.69142,50.95943],[-1.66829,50.95041],[-1.6526,50.95029],[-1.63536,50.96269],[-1.62397,50.95903],[-1.6089,50.97686],[-1.62172,50.98099],[-1.63115,50.99984],[-1.60984,51.01225],[-1.60173,51.01042],[-1.60787,51.01582],[-1.6057,51.02271],[-1.63542,51.03176],[-1.63858,51.04126],[-1.63107,51.07819],[-1.64025,51.09201],[-1.6306,51.10359],[-1.63408,51.11099],[-1.63067,51.11652],[-1.64109,51.12237],[-1.66525,51.12546],[-1.65724,51.15539],[-1.67474,51.177],[-1.67213,51.18708],[-1.69679,51.20233],[-1.69247,51.21617],[-1.65288,51.22301],[-1.63564,51.22019],[-1.62395,51.24136],[-1.61402,51.24467],[-1.60741,51.25513],[-1.57717,51.25863],[-1.54443,51.24826],[-1.5384,51.25085],[-1.53436,51.25919],[-1.54345,51.25957],[-1.54007,51.27602],[-1.54596,51.28095],[-1.53591,51.28978],[-1.52595,51.28975],[-1.53093,51.29948],[-1.53008,51.3111],[-1.53628,51.31596],[-1.52986,51.34057],[-1.51552,51.34219],[-1.49498,51.33228],[-1.43599,51.33861],[-1.44759,51.3464],[-1.4463,51.35699],[-1.43056,51.35941],[-1.41608,51.37517],[-1.34899,51.37045],[-1.31472,51.37627],[-1.27555,51.3707],[-1.25116,51.37511],[-1.24118,51.36938],[-1.22209,51.37271],[-1.17602,51.36102],[-1.14321,51.36028],[-1.11875,51.36156],[-1.12096,51.36859],[-1.11678,51.3767],[-1.08363,51.38712],[-1.04754,51.36122],[-0.9904,51.36619],[-0.97264,51.36297],[-0.92376,51.36937],[-0.87681,51.3555],[-0.86549,51.35947],[-0.82728,51.35574],[-0.81122,51.34418],[-0.78322,51.34084],[-0.76325,51.32721],[-0.76005,51.32013],[-0.74183,51.31112],[-0.72842,51.28238],[-0.72631,51.25653],[-0.73713,51.23126],[-0.74898,51.2277],[-0.77712,51.23901],[-0.80193,51.23628],[-0.80611,51.24056],[-0.82491,51.23137],[-0.82701,51.22315],[-0.84493,51.20998],[-0.82268,51.18268],[-0.83042,51.15022],[-0.81952,51.15047],[-0.80504,51.15847],[-0.79382,51.15491],[-0.78879,51.14141],[-0.77846,51.13664],[-0.77813,51.13063],[-0.76654,51.11946],[-0.74365,51.11491],[-0.74715,51.10131],[-0.75411,51.10116],[-0.75122,51.09547],[-0.75506,51.08987],[-0.75076,51.0852],[-0.7785,51.07715],[-0.78645,51.06467],[-0.79954,51.06078],[-0.82645,51.05881],[-0.83646,51.0664],[-0.84519,51.06052],[-0.8499,51.0436],[-0.89485,51.01978],[-0.89065,51.00194],[-0.90461,50.99327],[-0.91461,50.97806],[-0.91278,50.9708],[-0.93246,50.94278],[-0.92119,50.9232],[-0.93793,50.91615],[-0.95132,50.89178],[-0.92368,50.86513],[-0.92976,50.85365],[-0.92903,50.84245],[-0.94342,50.82191],[-0.9299,50.78445],[-0.93275,50.77435],[-0.95347,50.73682],[-1.31567,50.77809]]]},{id:"Hampshire-Aerial-RGB",name:"Hampshire Aerial RGB",type:"tms",template:"https://{switch:a,b,c}.hampshire.aerial.openstreetmap.org.uk/layer/gb_hampshire_aerial_rgb/{zoom}/{x}/{y}.png",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[8,20],polygon:[[[-1.31567,50.77809],[-1.49139,50.73027],[-1.57113,50.69041],[-1.68095,50.71748],[-1.69338,50.73484],[-1.69528,50.74065],[-1.68689,50.74999],[-1.71068,50.74812],[-1.7195,50.75261],[-1.746,50.74452],[-1.74845,50.75675],[-1.74287,50.76397],[-1.75101,50.77577],[-1.78525,50.76177],[-1.79911,50.77236],[-1.82256,50.77225],[-1.82678,50.78077],[-1.8225,50.79933],[-1.80732,50.80074],[-1.81566,50.80752],[-1.80889,50.81358],[-1.80579,50.83249],[-1.79816,50.83535],[-1.80649,50.84414],[-1.80988,50.86189],[-1.81378,50.85591],[-1.83052,50.85261],[-1.85271,50.85651],[-1.85655,50.86684],[-1.8492,50.87802],[-1.85082,50.89178],[-1.84077,50.90051],[-1.82693,50.89939],[-1.82006,50.90492],[-1.82151,50.91691],[-1.81689,50.92412],[-1.84114,50.92886],[-1.87446,50.91441],[-1.91129,50.9439],[-1.92339,50.95917],[-1.95751,50.97575],[-1.9591,50.99152],[-1.94907,50.98649],[-1.92879,51.00055],[-1.88709,51.0026],[-1.87393,51.0097],[-1.8717,50.99083],[-1.85433,51.00786],[-1.83567,51.01238],[-1.81502,50.9899],[-1.80031,50.99457],[-1.75184,50.98133],[-1.71927,50.98047],[-1.69142,50.95943],[-1.66829,50.95041],[-1.6526,50.95029],[-1.63536,50.96269],[-1.62397,50.95903],[-1.6089,50.97686],[-1.62172,50.98099],[-1.63115,50.99984],[-1.60984,51.01225],[-1.60173,51.01042],[-1.60787,51.01582],[-1.6057,51.02271],[-1.63542,51.03176],[-1.63858,51.04126],[-1.63107,51.07819],[-1.64025,51.09201],[-1.6306,51.10359],[-1.63408,51.11099],[-1.63067,51.11652],[-1.64109,51.12237],[-1.66525,51.12546],[-1.65724,51.15539],[-1.67474,51.177],[-1.67213,51.18708],[-1.69679,51.20233],[-1.69247,51.21617],[-1.65288,51.22301],[-1.63564,51.22019],[-1.62395,51.24136],[-1.61402,51.24467],[-1.60741,51.25513],[-1.57717,51.25863],[-1.54443,51.24826],[-1.5384,51.25085],[-1.53436,51.25919],[-1.54345,51.25957],[-1.54007,51.27602],[-1.54596,51.28095],[-1.53591,51.28978],[-1.52595,51.28975],[-1.53093,51.29948],[-1.53008,51.3111],[-1.53628,51.31596],[-1.52986,51.34057],[-1.51552,51.34219],[-1.49498,51.33228],[-1.43599,51.33861],[-1.44759,51.3464],[-1.4463,51.35699],[-1.43056,51.35941],[-1.41608,51.37517],[-1.34899,51.37045],[-1.31472,51.37627],[-1.27555,51.3707],[-1.25116,51.37511],[-1.24118,51.36938],[-1.22209,51.37271],[-1.17602,51.36102],[-1.14321,51.36028],[-1.11875,51.36156],[-1.12096,51.36859],[-1.11678,51.3767],[-1.08363,51.38712],[-1.04754,51.36122],[-0.9904,51.36619],[-0.97264,51.36297],[-0.92376,51.36937],[-0.87681,51.3555],[-0.86549,51.35947],[-0.82728,51.35574],[-0.81122,51.34418],[-0.78322,51.34084],[-0.76325,51.32721],[-0.76005,51.32013],[-0.74183,51.31112],[-0.72842,51.28238],[-0.72631,51.25653],[-0.73713,51.23126],[-0.74898,51.2277],[-0.77712,51.23901],[-0.80193,51.23628],[-0.80611,51.24056],[-0.82491,51.23137],[-0.82701,51.22315],[-0.84493,51.20998],[-0.82268,51.18268],[-0.83042,51.15022],[-0.81952,51.15047],[-0.80504,51.15847],[-0.79382,51.15491],[-0.78879,51.14141],[-0.77846,51.13664],[-0.77813,51.13063],[-0.76654,51.11946],[-0.74365,51.11491],[-0.74715,51.10131],[-0.75411,51.10116],[-0.75122,51.09547],[-0.75506,51.08987],[-0.75076,51.0852],[-0.7785,51.07715],[-0.78645,51.06467],[-0.79954,51.06078],[-0.82645,51.05881],[-0.83646,51.0664],[-0.84519,51.06052],[-0.8499,51.0436],[-0.89485,51.01978],[-0.89065,51.00194],[-0.90461,50.99327],[-0.91461,50.97806],[-0.91278,50.9708],[-0.93246,50.94278],[-0.92119,50.9232],[-0.93793,50.91615],[-0.95132,50.89178],[-0.92368,50.86513],[-0.92976,50.85365],[-0.92903,50.84245],[-0.94342,50.82191],[-0.9299,50.78445],[-0.93275,50.77435],[-0.95347,50.73682],[-1.31567,50.77809]]]},{id:"helsingborg-orto",name:"Helsingborg Orthophoto",type:"tms",template:"http://mapproxy.openstreetmap.se/tiles/1.0.0/hborg2016_EPSG3857/{zoom}/{x}/{y}.jpeg",zoomExtent:[5,20],polygon:[[[12.74345,55.94997],[12.93777,55.90804],[13.00369,55.96842],[12.79083,56.25022],[12.56698,56.1356],[12.74345,55.94997]]],terms_url:"https://helsingborg.opendatasoft.com/",terms_text:"© Helsingborg municipality",best:true,description:"Orthophotos from the municipality of Helsingborg 2016, public domain",icon:"https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/Helsingborg_vapen.svg/198px-Helsingborg_vapen.svg.png"},{id:"hri-orto",name:"Helsinki region orthophoto",type:"wms",template:"https://kartta.hsy.fi/geoserver/ows?SERVICE=WMS&FORMAT=image/jpeg&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=taustakartat_ja_aluejaot:Ortoilmakuva_2017&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,19],polygon:[[[24.26948,59.8593],[24.26674,60.22549],[24.55307,60.36703],[24.50363,60.49038],[24.76387,60.60079],[25.00625,60.54175],[24.90051,60.38197],[24.9884,60.35073],[25.06943,60.44096],[25.17517,60.45248],[25.18066,60.34122],[25.27954,60.2943],[25.19577,60.08813],[24.26948,59.8593]]],terms_url:"https://hri.fi/data/en_GB/dataset/paakaupunkiseudun-ortokuva-2017",terms_text:"© Espoon, Helsingin ja Vantaan kaupungit, Kirkkonummen ja Nurmijärven kunnat sekä HSL ja HSY",best:true,description:"Ortophotos from the municipalities of Espoo, Helsinki, Vantaa, Kirkkonummi and Nurmijärvi + HSL and HSY",icon:"https://raw.githubusercontent.com/osmlab/editor-layer-index/gh-pages/sources/europe/fi/hri_logo.png"},{id:"hu-hillshade",name:"Hillshade Hungary",type:"tms",template:"https://{switch:a,b,c}.map.turistautak.hu/tiles/shading/{zoom}/{x}/{y}.png",zoomExtent:[0,18],polygon:[[[15,45],[24,45],[24,49],[15,49],[15,45]]],terms_text:"SRTM",overlay:true},{id:"IBGE_DF_Addresses",name:"IBGE Distrito Federal",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/styles/v1/wille/cirnnxni1000jg8nfppc8g7pm/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoid2lsbGUiLCJhIjoicFNVWk5VWSJ9.hluCd0YGvYHNlFi_utWe2g",zoomExtent:[0,20],polygon:[[[-48.2444,-16.0508],[-48.2444,-15.5005],[-47.5695,-15.5005],[-47.5695,-16.0508],[-48.2444,-16.0508]]],terms_text:"IBGE",description:"Addresses data from IBGE",overlay:true},{id:"IBGE_Setores_Rurais",name:"IBGE Mapa de Setores Rurais",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/v4/tmpsantos.i00mo1kj/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJjaml5MjVyb3MwMWV0M3hxYmUzdGdwbzE4In0.q548FjhsSJzvXsGlPsFxAQ",zoomExtent:[0,14],polygon:[[[-69.94793,-4.23168],[-69.45659,-1.49119],[-69.3973,-1.36508],[-69.42989,-1.22173],[-69.39523,-1.12555],[-69.44292,-1.03351],[-69.41861,-0.99827],[-69.528,-0.92514],[-69.52577,-0.86807],[-69.62491,-0.74667],[-69.56179,-0.63692],[-69.60783,-0.5008],[-69.8446,-0.33732],[-69.92054,-0.32573],[-70.04323,-0.18998],[-70.04302,0.56359],[-69.80272,0.57162],[-69.6711,0.66759],[-69.60529,0.61328],[-69.59701,0.6542],[-69.48002,0.73577],[-69.35277,0.61416],[-69.28914,0.64997],[-69.29484,0.60389],[-69.19975,0.60591],[-69.19425,0.64982],[-69.11563,0.64484],[-69.19001,0.74056],[-69.14881,0.76751],[-69.13576,0.87204],[-69.18846,0.91324],[-69.1646,0.94156],[-69.21679,0.97245],[-69.19773,0.99974],[-69.24494,1.05655],[-69.37641,1.08794],[-69.42312,1.04265],[-69.60989,1.09826],[-69.67718,1.06994],[-69.70963,1.11817],[-69.84266,1.07272],[-69.83972,1.71893],[-69.78236,1.69244],[-69.53464,1.77691],[-69.39109,1.72935],[-68.1645,1.72945],[-68.19207,1.7797],[-68.23954,1.77044],[-68.22688,1.82918],[-68.28555,1.83084],[-68.19583,2.03479],[-68.18033,1.9767],[-68.14417,1.97854],[-68.09043,1.89774],[-67.90162,1.81165],[-67.76942,2.00924],[-67.55095,2.04769],[-67.49519,2.16312],[-67.39404,2.22894],[-67.32672,2.06387],[-67.33083,1.94158],[-67.22831,1.84127],[-67.15384,1.8315],[-67.15922,1.67504],[-67.08017,1.38546],[-67.13923,1.32002],[-67.08675,1.16704],[-66.85119,1.22896],[-66.31032,0.74494],[-66.19737,0.78161],[-66.07783,0.76174],[-66.07024,0.8123],[-65.96712,0.81511],[-65.88369,0.94159],[-65.77261,0.95859],[-65.7421,1.00125],[-65.58894,1.00471],[-65.49624,0.87415],[-65.60623,0.70748],[-65.54116,0.64881],[-65.44499,0.68921],[-65.39213,0.75692],[-65.41198,0.82415],[-65.32734,0.93596],[-65.21302,0.90282],[-65.1749,0.94131],[-65.15831,1.1246],[-65.07232,1.15303],[-65.06317,1.11205],[-65.01361,1.10905],[-64.97445,1.20288],[-64.90439,1.25153],[-64.86966,1.22713],[-64.80053,1.31527],[-64.74446,1.22569],[-64.5789,1.34041],[-64.52608,1.44322],[-64.43586,1.47006],[-64.3939,1.52901],[-64.35111,1.52921],[-64.34777,1.49508],[-64.41019,1.40301],[-64.33791,1.36134],[-64.3136,1.45617],[-64.19707,1.52071],[-64.0735,1.64902],[-64.05781,1.92899],[-63.97219,1.99194],[-63.83555,1.96644],[-63.71155,2.04645],[-63.66501,2.01861],[-63.6268,2.11222],[-63.56474,2.13571],[-63.44059,2.126],[-63.36742,2.26864],[-63.37088,2.41121],[-63.42123,2.45102],[-63.46036,2.39684],[-63.56398,2.44573],[-63.76805,2.43994],[-63.84358,2.4916],[-64.01914,2.46135],[-64.0573,2.49752],[-63.98033,2.7237],[-64.07709,2.87262],[-64.07156,2.92142],[-64.12349,2.99048],[-64.15754,2.98243],[-64.14592,3.03459],[-64.22642,3.12356],[-64.19795,3.20121],[-64.2444,3.43036],[-64.17437,3.56841],[-64.281,3.70928],[-64.54357,3.85713],[-64.72239,4.11775],[-64.80203,4.17422],[-64.81123,4.27048],[-64.69522,4.25323],[-64.623,4.135],[-64.5565,4.10529],[-64.164,4.127],[-63.964,3.868],[-63.928,3.925],[-63.85,3.95],[-63.682,3.908],[-63.676,4.019],[-63.591,3.886],[-63.497,3.84],[-63.489,3.874],[-63.434,3.865],[-63.428,3.977],[-63.204,3.952],[-63.226,3.836],[-63.103,3.794],[-63.059,3.748],[-63.081,3.694],[-62.96,3.608],[-62.835,3.739],[-62.743,3.674],[-62.729,3.805],[-62.788,3.894],[-62.753,4.032],[-62.555,4.019],[-62.552,4.109],[-62.437,4.183],[-62.14308,4.07768],[-62.071,4.126],[-62.076,4.154],[-61.982,4.181],[-61.93175,4.12009],[-61.92213,4.16126],[-61.824,4.164],[-61.802,4.229],[-61.724,4.27],[-61.56,4.252],[-61.508,4.322],[-61.513,4.406],[-61.288,4.458],[-61.323,4.535],[-61.217,4.536],[-61.14559,4.48016],[-61.095,4.522],[-60.994,4.519],[-60.932,4.587],[-60.949,4.653],[-60.899,4.717],[-60.751,4.756],[-60.591,4.927],[-60.661,5.164],[-60.73197,5.21203],[-60.434,5.182],[-60.20825,5.28346],[-60.172,5.227],[-60.135,5.249],[-60.094,5.14],[-59.96984,5.06334],[-60.02524,4.7065],[-60.0705,4.61688],[-60.15725,4.57247],[-60.16114,4.51773],[-59.79503,4.46554],[-59.66948,4.37629],[-59.7319,4.28587],[-59.73069,4.18076],[-59.61818,4.13166],[-59.65406,4.06943],[-59.58417,3.96851],[-59.5153,3.94493],[-59.59279,3.88538],[-59.59631,3.79386],[-59.66555,3.78126],[-59.66842,3.70277],[-59.86728,3.57776],[-59.80205,3.50156],[-59.8408,3.43174],[-59.80488,3.35695],[-59.907,3.212],[-59.98944,2.88185],[-59.99,2.686],[-59.895,2.482],[-59.89872,2.36245],[-59.72315,2.27614],[-59.751,1.859],[-59.677,1.839],[-59.663,1.871],[-59.69,1.757],[-59.539,1.723],[-59.381,1.507],[-59.329,1.514],[-59.327,1.464],[-59.284,1.45],[-59.253,1.389],[-58.978,1.302],[-58.918,1.317],[-58.886,1.261],[-58.912,1.239],[-58.82512,1.17127],[-58.73956,1.1999],[-58.69456,1.29732],[-58.49622,1.26796],[-58.45787,1.37145],[-58.50511,1.40317],[-58.50873,1.46295],[-58.38559,1.46999],[-58.39472,1.52651],[-58.32237,1.59702],[-58.236,1.54669],[-58.16064,1.56011],[-58.12942,1.4989],[-58.00423,1.50303],[-57.99009,1.65844],[-57.85206,1.66782],[-57.77431,1.72973],[-57.70509,1.73093],[-57.65042,1.68237],[-57.5376,1.7005],[-57.50187,1.78609],[-57.43776,1.82681],[-57.43343,1.90598],[-57.36768,1.92372],[-57.36912,1.95638],[-57.30712,1.99665],[-57.22923,1.93759],[-57.08668,2.02644],[-57.01421,1.91489],[-56.91971,1.93036],[-56.79793,1.85336],[-56.72096,1.92582],[-56.62145,1.94588],[-56.57976,1.90588],[-56.45126,1.95614],[-56.24404,1.87808],[-56.1709,1.90048],[-56.11762,1.85097],[-55.95638,1.84509],[-55.90385,1.88803],[-55.93635,1.98647],[-55.9031,2.04108],[-56.00307,2.1676],[-56.05505,2.18464],[-56.04288,2.22778],[-56.13887,2.26574],[-56.09012,2.37228],[-56.02181,2.34247],[-55.97052,2.52931],[-55.76663,2.45524],[-55.71028,2.39917],[-55.49971,2.44324],[-55.38533,2.41836],[-55.32019,2.51537],[-55.23474,2.50338],[-55.1234,2.56762],[-55.10302,2.52564],[-54.95424,2.58359],[-54.86846,2.43989],[-54.68917,2.45389],[-54.68861,2.32472],[-54.54667,2.31833],[-54.53778,2.26556],[-54.46861,2.21306],[-54.24917,2.14667],[-54.18056,2.1725],[-54.11083,2.11222],[-54.06139,2.19167],[-53.94083,2.21917],[-53.93194,2.27194],[-53.88667,2.26778],[-53.745,2.37389],[-53.73389,2.31222],[-53.52972,2.24917],[-53.45861,2.2575],[-53.32833,2.35333],[-53.21667,2.25333],[-53.27899,2.18603],[-53.11861,2.2225],[-52.99472,2.17528],[-52.90972,2.19583],[-52.84722,2.28556],[-52.67528,2.37389],[-52.59444,2.47389],[-52.54028,2.57028],[-52.56417,2.63944],[-52.43944,2.87778],[-52.39583,2.90222],[-52.33187,3.16938],[-52.21472,3.26833],[-51.97104,3.70696],[-51.92148,3.72422],[-51.922,3.7792],[-51.79731,3.88888],[-51.77783,3.97406],[-51.65867,4.05276],[-51.61325,4.17437],[-51.63716,4.50834],[-51.49427,4.67426],[-51.11466,4.42286],[-50.94232,4.20165],[-50.85475,3.92491],[-50.85507,3.45573],[-50.75331,2.94057],[-50.29908,2.33079],[-49.73896,1.79143],[-48.23746,-0.07449],[-44.84728,-1.07246],[-43.54602,-2.04705],[-43.24389,-2.12403],[-42.78189,-2.33053],[-41.78084,-2.51859],[-41.5085,-2.68486],[-40.66365,-2.63829],[-40.50396,-2.57531],[-39.8907,-2.65328],[-39.15187,-3.04444],[-38.57151,-3.48047],[-38.34306,-3.54434],[-38.21421,-3.74103],[-38.12555,-3.80544],[-37.90182,-4.07265],[-37.77934,-4.18046],[-37.63401,-4.24454],[-37.51218,-4.41535],[-37.22122,-4.51045],[-37.07874,-4.71355],[-36.91716,-4.71372],[-36.62299,-4.85815],[-36.18969,-4.88505],[-35.93627,-4.83327],[-35.56471,-4.90758],[-35.33677,-4.99239],[-35.17659,-5.12497],[-34.79469,-6.33583],[-34.71587,-6.74615],[-34.62306,-6.90323],[-34.59953,-7.11133],[-34.64374,-7.98735],[-34.81497,-8.62472],[-35.0253,-9.13761],[-35.55848,-9.81261],[-35.69663,-9.90026],[-35.96401,-10.31281],[-36.06155,-10.37447],[-36.26639,-10.64593],[-36.61764,-10.81082],[-36.78725,-10.95151],[-36.99511,-11.29602],[-37.11368,-11.41261],[-37.46002,-12.10275],[-37.89668,-12.75844],[-38.22146,-13.09717],[-38.61146,-13.26537],[-38.85337,-14.65508],[-38.74388,-15.60089],[-38.66456,-15.74741],[-38.64697,-15.88327],[-38.8013,-16.24838],[-38.92933,-16.80775],[-38.53193,-17.80026],[-38.49171,-18.0046],[-38.53661,-18.09683],[-38.67053,-18.16855],[-39.35288,-18.10892],[-39.4675,-18.30359],[-39.54529,-18.78548],[-39.49227,-19.40134],[-39.63477,-19.74403],[-39.86353,-19.88681],[-40.17827,-20.75426],[-40.81442,-21.67672],[-40.76948,-21.87786],[-40.81442,-22.09702],[-41.5086,-22.52638],[-41.59666,-22.83627],[-41.79292,-23.08823],[-41.91484,-23.18527],[-43.19603,-23.26703],[-44.07735,-23.40501],[-45.13508,-24.12014],[-46.61368,-24.67512],[-47.85376,-25.47012],[-48.2801,-26.23036],[-48.34897,-26.75081],[-48.11076,-27.28208],[-48.21148,-27.85592],[-48.40713,-28.43255],[-48.68615,-28.76016],[-48.9156,-28.86305],[-49.1579,-29.02871],[-49.52748,-29.42005],[-49.82565,-29.86559],[-50.17344,-30.64282],[-50.60441,-31.24135],[-51.18785,-31.77646],[-51.74211,-32.10539],[-51.89236,-32.29596],[-52.06117,-32.38504],[-52.27087,-32.92102],[-52.45986,-33.25369],[-52.61505,-33.42291],[-53.18109,-33.86891],[-53.43053,-33.73947],[-53.43951,-33.69347],[-53.53228,-33.6888],[-53.51819,-33.15342],[-53.44438,-33.05296],[-53.24468,-32.93489],[-53.31008,-32.91875],[-53.29454,-32.89931],[-53.18496,-32.85043],[-53.14569,-32.79202],[-53.0858,-32.78835],[-53.07558,-32.74088],[-53.24992,-32.6041],[-53.39137,-32.58573],[-53.46423,-32.48446],[-53.58321,-32.45192],[-53.74599,-32.07848],[-53.83375,-32.05524],[-53.84978,-32.00064],[-53.96073,-31.95532],[-53.96972,-31.91765],[-54.10019,-31.92825],[-54.4549,-31.65295],[-54.4528,-31.59959],[-54.58676,-31.45656],[-54.8367,-31.442],[-54.88623,-31.3773],[-54.94087,-31.38068],[-55.00723,-31.26692],[-55.07446,-31.33216],[-55.24003,-31.26062],[-55.29118,-31.14226],[-55.34037,-31.13144],[-55.34981,-31.03922],[-55.42306,-31.01823],[-55.57742,-30.83309],[-55.65834,-30.864],[-55.66621,-30.95395],[-55.723,-30.943],[-55.727,-30.979],[-55.882,-31.077],[-56.00989,-31.08267],[-56.02241,-30.78565],[-56.12508,-30.73871],[-56.17074,-30.61517],[-56.26095,-30.58509],[-56.29193,-30.51967],[-56.38177,-30.49956],[-56.46126,-30.38486],[-56.54706,-30.35946],[-56.54115,-30.31291],[-56.6187,-30.30054],[-56.64628,-30.20346],[-56.77662,-30.1633],[-56.80777,-30.10301],[-57.07113,-30.08671],[-57.22081,-30.28928],[-57.31303,-30.25785],[-57.39229,-30.30474],[-57.46574,-30.26589],[-57.52431,-30.28569],[-57.56087,-30.21134],[-57.64744,-30.19483],[-57.48047,-30.12315],[-57.33713,-29.99284],[-57.294,-29.831],[-57.121,-29.765],[-56.89888,-29.53179],[-56.81905,-29.48816],[-56.76618,-29.37768],[-56.70164,-29.35913],[-56.59315,-29.12516],[-56.418,-29.075],[-56.40775,-28.9748],[-56.29995,-28.89614],[-56.29652,-28.8027],[-56.17858,-28.75922],[-56.00984,-28.60718],[-56.01249,-28.50873],[-55.88357,-28.47923],[-55.87739,-28.36159],[-55.75157,-28.37095],[-55.69433,-28.42204],[-55.67047,-28.33218],[-55.77415,-28.27414],[-55.7757,-28.24481],[-55.63167,-28.17719],[-55.60747,-28.11604],[-55.55957,-28.16523],[-55.4952,-28.07682],[-55.44611,-28.09787],[-55.368,-28.029],[-55.38299,-27.97948],[-55.343,-27.972],[-55.32706,-27.92664],[-55.26574,-27.92969],[-55.196,-27.856],[-55.133,-27.897],[-55.106,-27.846],[-55.035,-27.858],[-55.081,-27.779],[-54.936,-27.772],[-54.90617,-27.63871],[-54.85,-27.624],[-54.814,-27.533],[-54.775,-27.586],[-54.67926,-27.57394],[-54.67709,-27.508],[-54.621,-27.541],[-54.574,-27.453],[-54.5246,-27.5059],[-54.444,-27.472],[-54.47081,-27.42674],[-54.41,-27.405],[-54.35466,-27.46528],[-54.34067,-27.40311],[-54.28484,-27.44819],[-54.261,-27.397],[-54.21736,-27.38603],[-54.172,-27.254],[-54.15619,-27.29619],[-54.08872,-27.30149],[-54.01026,-27.19978],[-53.96219,-27.19698],[-53.95195,-27.15169],[-53.79879,-27.14629],[-53.80233,-27.04028],[-53.76087,-27.06543],[-53.78585,-27.02674],[-53.7473,-27.03218],[-53.7092,-26.93414],[-53.67125,-26.94222],[-53.69684,-26.86015],[-53.66059,-26.85814],[-53.75814,-26.72045],[-53.7205,-26.65099],[-53.75864,-26.64113],[-53.63739,-26.24968],[-53.742,-26.108],[-53.73409,-26.04333],[-53.83619,-25.97166],[-53.82214,-25.79377],[-53.89113,-25.62286],[-53.94895,-25.6117],[-53.95638,-25.64628],[-54.01,-25.567],[-54.07592,-25.55766],[-54.098,-25.619],[-54.099,-25.495],[-54.206,-25.541],[-54.178,-25.584],[-54.23,-25.562],[-54.25,-25.597],[-54.28,-25.556],[-54.38395,-25.59747],[-54.43288,-25.69756],[-54.4927,-25.6181],[-54.59354,-25.59275],[-54.61941,-25.45312],[-54.4295,-25.15915],[-54.43548,-24.94769],[-54.32437,-24.66059],[-54.32714,-24.47073],[-54.25877,-24.36377],[-54.34537,-24.14705],[-54.28223,-24.07336],[-54.43984,-23.90446],[-54.66978,-23.81262],[-54.70533,-23.86452],[-54.89,-23.898],[-54.924,-23.959],[-55.06223,-23.99335],[-55.107,-23.961],[-55.22907,-24.01383],[-55.30415,-23.96504],[-55.34542,-23.99458],[-55.41423,-23.9645],[-55.44167,-23.70084],[-55.47306,-23.64834],[-55.53989,-23.625],[-55.52356,-23.19733],[-55.54199,-23.1561],[-55.59635,-23.14993],[-55.66578,-22.85274],[-55.61432,-22.65521],[-55.72364,-22.55166],[-55.74302,-22.39266],[-55.78939,-22.3846],[-55.84304,-22.28725],[-56.20983,-22.27805],[-56.36485,-22.16949],[-56.39404,-22.07434],[-56.50711,-22.09561],[-56.63705,-22.26341],[-56.70344,-22.21693],[-56.72026,-22.26479],[-56.79344,-22.24238],[-56.84285,-22.30155],[-56.88343,-22.24755],[-56.9967,-22.22246],[-57.3744,-22.23204],[-57.5804,-22.17534],[-57.6106,-22.09462],[-57.70751,-22.09111],[-57.80183,-22.15072],[-57.99384,-22.09023],[-58.00946,-22.04038],[-57.91281,-21.88266],[-57.96603,-21.85045],[-57.90866,-21.77355],[-57.94714,-21.74413],[-57.88329,-21.68903],[-57.93436,-21.65037],[-57.91387,-21.59021],[-57.96795,-21.52432],[-57.8535,-21.33109],[-57.92019,-21.27655],[-57.85066,-21.22407],[-57.86834,-21.04417],[-57.81919,-20.94066],[-57.92836,-20.90036],[-57.8552,-20.83403],[-57.89863,-20.78872],[-57.96183,-20.7916],[-57.93478,-20.74565],[-57.86732,-20.73265],[-57.92414,-20.66392],[-57.98848,-20.69879],[-57.99847,-20.43551],[-58.09339,-20.35554],[-58.09596,-20.25445],[-58.16216,-20.25953],[-58.12152,-20.19246],[-58.16932,-20.1694],[-57.95347,-20.02094],[-57.90248,-20.04207],[-57.85796,-19.9703],[-58.131,-19.758],[-57.784,-19.033],[-57.694,-19.011],[-57.719,-18.899],[-57.766,-18.899],[-57.557,-18.24],[-57.453,-18.231],[-57.574,-18.131],[-57.72302,-17.83074],[-57.68472,-17.8306],[-57.70991,-17.72702],[-57.783,-17.639],[-57.73696,-17.5583],[-57.883,-17.449],[-57.996,-17.515],[-58.06,-17.45],[-58.116,-17.451],[-58.151,-17.384],[-58.263,-17.344],[-58.396,-17.181],[-58.423,-16.989],[-58.474,-16.935],[-58.47,-16.703],[-58.436,-16.592],[-58.333,-16.49],[-58.32227,-16.26559],[-58.388,-16.261],[-58.43059,-16.32264],[-60.17335,-16.26672],[-60.238,-15.473],[-60.57543,-15.09677],[-60.244,-15.096],[-60.272,-14.62],[-60.321,-14.608],[-60.492,-14.188],[-60.479,-14.097],[-60.38066,-13.9888],[-60.45062,-13.9364],[-60.45599,-13.85422],[-60.49068,-13.85782],[-60.46776,-13.79446],[-60.76755,-13.68329],[-60.87678,-13.62149],[-60.91857,-13.54334],[-61.0056,-13.552],[-61.0129,-13.48925],[-61.0938,-13.49081],[-61.10314,-13.53056],[-61.18155,-13.50557],[-61.19236,-13.53695],[-61.29954,-13.47718],[-61.46527,-13.55427],[-61.57927,-13.48711],[-61.852,-13.538],[-61.892,-13.431],[-61.96968,-13.40759],[-61.97592,-13.36695],[-62.11498,-13.25932],[-62.115,-13.163],[-62.15254,-13.15993],[-62.16703,-13.11346],[-62.19,-13.153],[-62.214,-13.111],[-62.27269,-13.15687],[-62.39178,-13.13471],[-62.453,-13.064],[-62.612,-13.041],[-62.65,-12.965],[-62.729,-13.02],[-62.779,-13.009],[-62.89672,-12.8539],[-63.01134,-12.83602],[-63.08186,-12.72323],[-63.06163,-12.68584],[-63.15726,-12.6138],[-63.24621,-12.66222],[-63.23713,-12.69043],[-63.30125,-12.68138],[-63.44052,-12.608],[-63.43627,-12.56526],[-63.50641,-12.56562],[-63.55295,-12.50598],[-63.7848,-12.42871],[-63.88957,-12.44745],[-63.89949,-12.50204],[-63.95144,-12.53179],[-64.13464,-12.47732],[-64.16781,-12.51503],[-64.17504,-12.46675],[-64.22945,-12.45419],[-64.29018,-12.50313],[-64.29452,-12.4582],[-64.41057,-12.44436],[-64.51217,-12.3551],[-64.51256,-12.22562],[-64.70406,-12.1827],[-64.70719,-12.08684],[-64.75486,-12.15762],[-64.7688,-12.09356],[-64.83747,-12.11786],[-64.80954,-12.05633],[-64.84077,-12.01027],[-65.03548,-11.99408],[-65.01398,-11.90303],[-65.0727,-11.86587],[-65.08672,-11.7082],[-65.18953,-11.72353],[-65.18216,-11.75609],[-65.2593,-11.71053],[-65.21178,-11.52857],[-65.3074,-11.49957],[-65.33276,-11.33986],[-65.29053,-11.32275],[-65.34347,-11.3082],[-65.35834,-11.26834],[-65.35938,-11.22067],[-65.31294,-11.19578],[-65.35387,-11.18419],[-65.36177,-11.14031],[-65.28269,-11.09009],[-65.30071,-11.03142],[-65.25053,-10.98506],[-65.27476,-10.87302],[-65.35376,-10.78881],[-65.34667,-10.68155],[-65.40569,-10.63935],[-65.43011,-10.48505],[-65.288,-10.219],[-65.333,-9.965],[-65.28588,-9.84413],[-65.39313,-9.68683],[-65.44394,-9.66957],[-65.4883,-9.71015],[-65.55611,-9.84498],[-65.627,-9.83804],[-65.66963,-9.78129],[-65.71023,-9.80857],[-65.68395,-9.74992],[-65.7432,-9.78296],[-65.77013,-9.73442],[-65.79437,-9.79295],[-65.79962,-9.75663],[-65.86532,-9.79533],[-65.87184,-9.75307],[-65.91976,-9.75314],[-65.98222,-9.81011],[-66.151,-9.785],[-66.426,-9.899],[-66.435,-9.866],[-66.61995,-9.89353],[-66.63701,-9.94983],[-66.8751,-10.08268],[-66.9528,-10.18886],[-66.99683,-10.20017],[-67.01537,-10.25919],[-67.17745,-10.33923],[-67.31545,-10.31932],[-67.31155,-10.37716],[-67.40717,-10.37386],[-67.44361,-10.45492],[-67.57925,-10.5028],[-67.64028,-10.59807],[-67.67631,-10.60484],[-67.70825,-10.71083],[-67.86386,-10.64067],[-68.03289,-10.65486],[-68.10456,-10.71426],[-68.10333,-10.77541],[-68.27819,-10.98926],[-68.71576,-11.14483],[-68.75767,-11.00079],[-68.9118,-11.02192],[-69.41453,-10.92575],[-69.73653,-10.97445],[-69.76903,-10.92972],[-69.93442,-10.9219],[-70.15869,-11.04096],[-70.30672,-11.06983],[-70.43675,-11.03923],[-70.53033,-10.93465],[-70.62103,-10.99982],[-70.62338,-9.82054],[-70.53663,-9.76584],[-70.59972,-9.56264],[-70.55282,-9.57093],[-70.56894,-9.53127],[-70.50506,-9.50557],[-70.49665,-9.42489],[-70.59581,-9.4425],[-70.6632,-9.52601],[-70.75067,-9.56043],[-70.79332,-9.63846],[-70.96337,-9.74891],[-70.99391,-9.81721],[-71.13974,-9.85702],[-71.22052,-9.96968],[-72.1804,-9.99967],[-72.15136,-9.79742],[-72.26296,-9.75085],[-72.25282,-9.61633],[-72.28821,-9.60316],[-72.2829,-9.53995],[-72.35688,-9.4946],[-72.51954,-9.49128],[-72.71676,-9.4122],[-73.2038,-9.40715],[-73.07352,-9.23461],[-73.0093,-9.22236],[-73.02612,-9.17786],[-72.9582,-9.14302],[-72.94091,-8.98494],[-72.99931,-8.91778],[-73.05901,-8.90561],[-73.14992,-8.6839],[-73.20907,-8.6857],[-73.28745,-8.61948],[-73.3055,-8.47197],[-73.38956,-8.46878],[-73.41286,-8.41099],[-73.53744,-8.34587],[-73.62739,-8.02187],[-73.73175,-7.9684],[-73.7725,-7.90237],[-73.76164,-7.85803],[-73.69706,-7.86527],[-73.6843,-7.77644],[-73.82217,-7.71788],[-73.99094,-7.53635],[-73.948,-7.52661],[-73.91981,-7.46568],[-73.96394,-7.34764],[-73.87014,-7.37882],[-73.7003,-7.30429],[-73.79842,-7.11306],[-73.71046,-6.84019],[-73.53639,-6.6834],[-73.39115,-6.64193],[-73.35281,-6.59327],[-73.22741,-6.58884],[-73.18797,-6.52302],[-73.13523,-6.51046],[-73.10473,-6.40666],[-73.24664,-6.14963],[-73.23821,-6.04399],[-73.1868,-6.00512],[-73.15207,-5.86796],[-73.05303,-5.79517],[-72.95912,-5.65689],[-72.95888,-5.46613],[-72.86052,-5.27117],[-72.88725,-5.16307],[-72.73986,-5.08859],[-72.72765,-5.05199],[-72.6212,-5.0518],[-72.598,-4.98386],[-72.38202,-4.87296],[-72.36895,-4.80387],[-72.12601,-4.73454],[-72.04335,-4.62384],[-72.00689,-4.64622],[-71.99464,-4.60996],[-71.94743,-4.60877],[-71.91909,-4.5298],[-71.88549,-4.53803],[-71.9073,-4.51644],[-71.76637,-4.50446],[-71.75109,-4.46887],[-71.70817,-4.51165],[-71.65479,-4.47246],[-71.65032,-4.50395],[-71.61548,-4.4687],[-71.6335,-4.51524],[-71.59625,-4.52928],[-71.53703,-4.46442],[-71.49428,-4.48701],[-71.50716,-4.43909],[-71.43438,-4.42882],[-71.42562,-4.47058],[-71.35026,-4.42728],[-71.30752,-4.46288],[-71.32091,-4.42009],[-71.27782,-4.44217],[-71.26975,-4.385],[-71.20263,-4.37987],[-71.19422,-4.42471],[-71.14478,-4.38158],[-71.11491,-4.41119],[-71.10616,-4.37764],[-70.99389,-4.38654],[-70.99595,-4.34632],[-70.9357,-4.38432],[-70.84483,-4.27905],[-70.86447,-4.25245],[-70.81677,-4.23005],[-70.8458,-4.21872],[-70.75901,-4.15944],[-70.68147,-4.20791],[-70.64256,-4.12805],[-70.62521,-4.19151],[-70.56118,-4.1775],[-70.57357,-4.21169],[-70.54796,-4.13671],[-70.51036,-4.14824],[-70.50417,-4.20098],[-70.48535,-4.16132],[-70.43435,-4.16266],[-70.43146,-4.13217],[-70.33892,-4.17997],[-70.32281,-4.14206],[-70.28769,-4.16555],[-70.29141,-4.28709],[-70.21457,-4.29749],[-70.19194,-4.36179],[-70.15508,-4.27308],[-70.11749,-4.28585],[-70.10881,-4.25454],[-70.04189,-4.29409],[-70.07948,-4.31428],[-70.02826,-4.3703],[-69.99182,-4.37482],[-69.94793,-4.23168]],[[-34.00035,-3.76654],[-34.01797,-3.84985],[-34.00664,-3.91809],[-33.98608,-3.95952],[-33.95923,-3.99217],[-33.8921,-4.03653],[-33.81658,-4.05077],[-33.72931,-4.03151],[-33.66638,-3.9838],[-33.62736,-3.9185],[-33.61519,-3.84985],[-33.63239,-3.76864],[-33.68693,-3.69537],[-33.74987,-3.65978],[-33.81658,-3.6489],[-33.89336,-3.66397],[-33.96007,-3.70877],[-34.00035,-3.76654]],[[-32.5538,-4.00884],[-32.59937,-3.9531],[-32.64061,-3.87309],[-32.61755,-3.73712],[-32.58338,-3.70527],[-32.54228,-3.65606],[-32.4592,-3.63029],[-32.35174,-3.63887],[-32.30049,-3.67684],[-32.24749,-3.75266],[-32.23155,-3.81889],[-32.2357,-3.90247],[-32.30194,-3.9883],[-32.42898,-4.0384],[-32.5538,-4.00884]],[[-29.50321,0.79391],[-29.54097,0.8689],[-29.54727,0.92553],[-29.52367,0.99422],[-29.48958,1.06134],[-29.43136,1.10224],[-29.35899,1.1206],[-29.29238,1.11378],[-29.22158,1.0776],[-29.16285,1.00314],[-29.14501,0.92605],[-29.14764,0.88358],[-29.17176,0.8196],[-29.24885,0.74357],[-29.29448,0.72521],[-29.36371,0.71892],[-29.43556,0.73937],[-29.50321,0.79391]],[[-29.09537,-20.42649],[-29.19756,-20.33509],[-29.3343,-20.28932],[-29.46741,-20.3288],[-29.54604,-20.42958],[-29.55396,-20.52706],[-29.51696,-20.62613],[-29.40995,-20.68955],[-29.27599,-20.72578],[-29.15968,-20.66209],[-29.07188,-20.57088],[-28.9712,-20.64769],[-28.83286,-20.69814],[-28.67968,-20.62099],[-28.63549,-20.49284],[-28.63412,-20.47146],[-28.7431,-20.30094],[-28.8683,-20.27288],[-29.0031,-20.32416],[-29.09537,-20.42649]]],terms_text:"IBGE",icon:"https://osmlab.github.io/editor-layer-index/sources/south-america/br/IBGE.png"},{id:"IBGE_Setores_Urbanos",name:"IBGE Mapa de Setores Urbanos",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/v4/tmpsantos.hgda0m6h/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJjaml5MjVyb3MwMWV0M3hxYmUzdGdwbzE4In0.q548FjhsSJzvXsGlPsFxAQ",zoomExtent:[0,19],polygon:[[[-69.94793,-4.23168],[-69.45659,-1.49119],[-69.3973,-1.36508],[-69.42989,-1.22173],[-69.39523,-1.12555],[-69.44292,-1.03351],[-69.41861,-0.99827],[-69.528,-0.92514],[-69.52577,-0.86807],[-69.62491,-0.74667],[-69.56179,-0.63692],[-69.60783,-0.5008],[-69.8446,-0.33732],[-69.92054,-0.32573],[-70.04323,-0.18998],[-70.04302,0.56359],[-69.80272,0.57162],[-69.6711,0.66759],[-69.60529,0.61328],[-69.59701,0.6542],[-69.48002,0.73577],[-69.35277,0.61416],[-69.28914,0.64997],[-69.29484,0.60389],[-69.19975,0.60591],[-69.19425,0.64982],[-69.11563,0.64484],[-69.19001,0.74056],[-69.14881,0.76751],[-69.13576,0.87204],[-69.18846,0.91324],[-69.1646,0.94156],[-69.21679,0.97245],[-69.19773,0.99974],[-69.24494,1.05655],[-69.37641,1.08794],[-69.42312,1.04265],[-69.60989,1.09826],[-69.67718,1.06994],[-69.70963,1.11817],[-69.84266,1.07272],[-69.83972,1.71893],[-69.78236,1.69244],[-69.53464,1.77691],[-69.39109,1.72935],[-68.1645,1.72945],[-68.19207,1.7797],[-68.23954,1.77044],[-68.22688,1.82918],[-68.28555,1.83084],[-68.19583,2.03479],[-68.18033,1.9767],[-68.14417,1.97854],[-68.09043,1.89774],[-67.90162,1.81165],[-67.76942,2.00924],[-67.55095,2.04769],[-67.49519,2.16312],[-67.39404,2.22894],[-67.32672,2.06387],[-67.33083,1.94158],[-67.22831,1.84127],[-67.15384,1.8315],[-67.15922,1.67504],[-67.08017,1.38546],[-67.13923,1.32002],[-67.08675,1.16704],[-66.85119,1.22896],[-66.31032,0.74494],[-66.19737,0.78161],[-66.07783,0.76174],[-66.07024,0.8123],[-65.96712,0.81511],[-65.88369,0.94159],[-65.77261,0.95859],[-65.7421,1.00125],[-65.58894,1.00471],[-65.49624,0.87415],[-65.60623,0.70748],[-65.54116,0.64881],[-65.44499,0.68921],[-65.39213,0.75692],[-65.41198,0.82415],[-65.32734,0.93596],[-65.21302,0.90282],[-65.1749,0.94131],[-65.15831,1.1246],[-65.07232,1.15303],[-65.06317,1.11205],[-65.01361,1.10905],[-64.97445,1.20288],[-64.90439,1.25153],[-64.86966,1.22713],[-64.80053,1.31527],[-64.74446,1.22569],[-64.5789,1.34041],[-64.52608,1.44322],[-64.43586,1.47006],[-64.3939,1.52901],[-64.35111,1.52921],[-64.34777,1.49508],[-64.41019,1.40301],[-64.33791,1.36134],[-64.3136,1.45617],[-64.19707,1.52071],[-64.0735,1.64902],[-64.05781,1.92899],[-63.97219,1.99194],[-63.83555,1.96644],[-63.71155,2.04645],[-63.66501,2.01861],[-63.6268,2.11222],[-63.56474,2.13571],[-63.44059,2.126],[-63.36742,2.26864],[-63.37088,2.41121],[-63.42123,2.45102],[-63.46036,2.39684],[-63.56398,2.44573],[-63.76805,2.43994],[-63.84358,2.4916],[-64.01914,2.46135],[-64.0573,2.49752],[-63.98033,2.7237],[-64.07709,2.87262],[-64.07156,2.92142],[-64.12349,2.99048],[-64.15754,2.98243],[-64.14592,3.03459],[-64.22642,3.12356],[-64.19795,3.20121],[-64.2444,3.43036],[-64.17437,3.56841],[-64.281,3.70928],[-64.54357,3.85713],[-64.72239,4.11775],[-64.80203,4.17422],[-64.81123,4.27048],[-64.69522,4.25323],[-64.623,4.135],[-64.5565,4.10529],[-64.164,4.127],[-63.964,3.868],[-63.928,3.925],[-63.85,3.95],[-63.682,3.908],[-63.676,4.019],[-63.591,3.886],[-63.497,3.84],[-63.489,3.874],[-63.434,3.865],[-63.428,3.977],[-63.204,3.952],[-63.226,3.836],[-63.103,3.794],[-63.059,3.748],[-63.081,3.694],[-62.96,3.608],[-62.835,3.739],[-62.743,3.674],[-62.729,3.805],[-62.788,3.894],[-62.753,4.032],[-62.555,4.019],[-62.552,4.109],[-62.437,4.183],[-62.14308,4.07768],[-62.071,4.126],[-62.076,4.154],[-61.982,4.181],[-61.93175,4.12009],[-61.92213,4.16126],[-61.824,4.164],[-61.802,4.229],[-61.724,4.27],[-61.56,4.252],[-61.508,4.322],[-61.513,4.406],[-61.288,4.458],[-61.323,4.535],[-61.217,4.536],[-61.14559,4.48016],[-61.095,4.522],[-60.994,4.519],[-60.932,4.587],[-60.949,4.653],[-60.899,4.717],[-60.751,4.756],[-60.591,4.927],[-60.661,5.164],[-60.73197,5.21203],[-60.434,5.182],[-60.20825,5.28346],[-60.172,5.227],[-60.135,5.249],[-60.094,5.14],[-59.96984,5.06334],[-60.02524,4.7065],[-60.0705,4.61688],[-60.15725,4.57247],[-60.16114,4.51773],[-59.79503,4.46554],[-59.66948,4.37629],[-59.7319,4.28587],[-59.73069,4.18076],[-59.61818,4.13166],[-59.65406,4.06943],[-59.58417,3.96851],[-59.5153,3.94493],[-59.59279,3.88538],[-59.59631,3.79386],[-59.66555,3.78126],[-59.66842,3.70277],[-59.86728,3.57776],[-59.80205,3.50156],[-59.8408,3.43174],[-59.80488,3.35695],[-59.907,3.212],[-59.98944,2.88185],[-59.99,2.686],[-59.895,2.482],[-59.89872,2.36245],[-59.72315,2.27614],[-59.751,1.859],[-59.677,1.839],[-59.663,1.871],[-59.69,1.757],[-59.539,1.723],[-59.381,1.507],[-59.329,1.514],[-59.327,1.464],[-59.284,1.45],[-59.253,1.389],[-58.978,1.302],[-58.918,1.317],[-58.886,1.261],[-58.912,1.239],[-58.82512,1.17127],[-58.73956,1.1999],[-58.69456,1.29732],[-58.49622,1.26796],[-58.45787,1.37145],[-58.50511,1.40317],[-58.50873,1.46295],[-58.38559,1.46999],[-58.39472,1.52651],[-58.32237,1.59702],[-58.236,1.54669],[-58.16064,1.56011],[-58.12942,1.4989],[-58.00423,1.50303],[-57.99009,1.65844],[-57.85206,1.66782],[-57.77431,1.72973],[-57.70509,1.73093],[-57.65042,1.68237],[-57.5376,1.7005],[-57.50187,1.78609],[-57.43776,1.82681],[-57.43343,1.90598],[-57.36768,1.92372],[-57.36912,1.95638],[-57.30712,1.99665],[-57.22923,1.93759],[-57.08668,2.02644],[-57.01421,1.91489],[-56.91971,1.93036],[-56.79793,1.85336],[-56.72096,1.92582],[-56.62145,1.94588],[-56.57976,1.90588],[-56.45126,1.95614],[-56.24404,1.87808],[-56.1709,1.90048],[-56.11762,1.85097],[-55.95638,1.84509],[-55.90385,1.88803],[-55.93635,1.98647],[-55.9031,2.04108],[-56.00307,2.1676],[-56.05505,2.18464],[-56.04288,2.22778],[-56.13887,2.26574],[-56.09012,2.37228],[-56.02181,2.34247],[-55.97052,2.52931],[-55.76663,2.45524],[-55.71028,2.39917],[-55.49971,2.44324],[-55.38533,2.41836],[-55.32019,2.51537],[-55.23474,2.50338],[-55.1234,2.56762],[-55.10302,2.52564],[-54.95424,2.58359],[-54.86846,2.43989],[-54.68917,2.45389],[-54.68861,2.32472],[-54.54667,2.31833],[-54.53778,2.26556],[-54.46861,2.21306],[-54.24917,2.14667],[-54.18056,2.1725],[-54.11083,2.11222],[-54.06139,2.19167],[-53.94083,2.21917],[-53.93194,2.27194],[-53.88667,2.26778],[-53.745,2.37389],[-53.73389,2.31222],[-53.52972,2.24917],[-53.45861,2.2575],[-53.32833,2.35333],[-53.21667,2.25333],[-53.27899,2.18603],[-53.11861,2.2225],[-52.99472,2.17528],[-52.90972,2.19583],[-52.84722,2.28556],[-52.67528,2.37389],[-52.59444,2.47389],[-52.54028,2.57028],[-52.56417,2.63944],[-52.43944,2.87778],[-52.39583,2.90222],[-52.33187,3.16938],[-52.21472,3.26833],[-51.97104,3.70696],[-51.92148,3.72422],[-51.922,3.7792],[-51.79731,3.88888],[-51.77783,3.97406],[-51.65867,4.05276],[-51.61325,4.17437],[-51.63716,4.50834],[-51.49427,4.67426],[-51.11466,4.42286],[-50.94232,4.20165],[-50.85475,3.92491],[-50.85507,3.45573],[-50.75331,2.94057],[-50.29908,2.33079],[-49.73896,1.79143],[-48.23746,-0.07449],[-44.84728,-1.07246],[-43.54602,-2.04705],[-43.24389,-2.12403],[-42.78189,-2.33053],[-41.78084,-2.51859],[-41.5085,-2.68486],[-40.66365,-2.63829],[-40.50396,-2.57531],[-39.8907,-2.65328],[-39.15187,-3.04444],[-38.57151,-3.48047],[-38.34306,-3.54434],[-38.21421,-3.74103],[-38.12555,-3.80544],[-37.90182,-4.07265],[-37.77934,-4.18046],[-37.63401,-4.24454],[-37.51218,-4.41535],[-37.22122,-4.51045],[-37.07874,-4.71355],[-36.91716,-4.71372],[-36.62299,-4.85815],[-36.18969,-4.88505],[-35.93627,-4.83327],[-35.56471,-4.90758],[-35.33677,-4.99239],[-35.17659,-5.12497],[-34.79469,-6.33583],[-34.71587,-6.74615],[-34.62306,-6.90323],[-34.59953,-7.11133],[-34.64374,-7.98735],[-34.81497,-8.62472],[-35.0253,-9.13761],[-35.55848,-9.81261],[-35.69663,-9.90026],[-35.96401,-10.31281],[-36.06155,-10.37447],[-36.26639,-10.64593],[-36.61764,-10.81082],[-36.78725,-10.95151],[-36.99511,-11.29602],[-37.11368,-11.41261],[-37.46002,-12.10275],[-37.89668,-12.75844],[-38.22146,-13.09717],[-38.61146,-13.26537],[-38.85337,-14.65508],[-38.74388,-15.60089],[-38.66456,-15.74741],[-38.64697,-15.88327],[-38.8013,-16.24838],[-38.92933,-16.80775],[-38.53193,-17.80026],[-38.49171,-18.0046],[-38.53661,-18.09683],[-38.67053,-18.16855],[-39.35288,-18.10892],[-39.4675,-18.30359],[-39.54529,-18.78548],[-39.49227,-19.40134],[-39.63477,-19.74403],[-39.86353,-19.88681],[-40.17827,-20.75426],[-40.81442,-21.67672],[-40.76948,-21.87786],[-40.81442,-22.09702],[-41.5086,-22.52638],[-41.59666,-22.83627],[-41.79292,-23.08823],[-41.91484,-23.18527],[-43.19603,-23.26703],[-44.07735,-23.40501],[-45.13508,-24.12014],[-46.61368,-24.67512],[-47.85376,-25.47012],[-48.2801,-26.23036],[-48.34897,-26.75081],[-48.11076,-27.28208],[-48.21148,-27.85592],[-48.40713,-28.43255],[-48.68615,-28.76016],[-48.9156,-28.86305],[-49.1579,-29.02871],[-49.52748,-29.42005],[-49.82565,-29.86559],[-50.17344,-30.64282],[-50.60441,-31.24135],[-51.18785,-31.77646],[-51.74211,-32.10539],[-51.89236,-32.29596],[-52.06117,-32.38504],[-52.27087,-32.92102],[-52.45986,-33.25369],[-52.61505,-33.42291],[-53.18109,-33.86891],[-53.43053,-33.73947],[-53.43951,-33.69347],[-53.53228,-33.6888],[-53.51819,-33.15342],[-53.44438,-33.05296],[-53.24468,-32.93489],[-53.31008,-32.91875],[-53.29454,-32.89931],[-53.18496,-32.85043],[-53.14569,-32.79202],[-53.0858,-32.78835],[-53.07558,-32.74088],[-53.24992,-32.6041],[-53.39137,-32.58573],[-53.46423,-32.48446],[-53.58321,-32.45192],[-53.74599,-32.07848],[-53.83375,-32.05524],[-53.84978,-32.00064],[-53.96073,-31.95532],[-53.96972,-31.91765],[-54.10019,-31.92825],[-54.4549,-31.65295],[-54.4528,-31.59959],[-54.58676,-31.45656],[-54.8367,-31.442],[-54.88623,-31.3773],[-54.94087,-31.38068],[-55.00723,-31.26692],[-55.07446,-31.33216],[-55.24003,-31.26062],[-55.29118,-31.14226],[-55.34037,-31.13144],[-55.34981,-31.03922],[-55.42306,-31.01823],[-55.57742,-30.83309],[-55.65834,-30.864],[-55.66621,-30.95395],[-55.723,-30.943],[-55.727,-30.979],[-55.882,-31.077],[-56.00989,-31.08267],[-56.02241,-30.78565],[-56.12508,-30.73871],[-56.17074,-30.61517],[-56.26095,-30.58509],[-56.29193,-30.51967],[-56.38177,-30.49956],[-56.46126,-30.38486],[-56.54706,-30.35946],[-56.54115,-30.31291],[-56.6187,-30.30054],[-56.64628,-30.20346],[-56.77662,-30.1633],[-56.80777,-30.10301],[-57.07113,-30.08671],[-57.22081,-30.28928],[-57.31303,-30.25785],[-57.39229,-30.30474],[-57.46574,-30.26589],[-57.52431,-30.28569],[-57.56087,-30.21134],[-57.64744,-30.19483],[-57.48047,-30.12315],[-57.33713,-29.99284],[-57.294,-29.831],[-57.121,-29.765],[-56.89888,-29.53179],[-56.81905,-29.48816],[-56.76618,-29.37768],[-56.70164,-29.35913],[-56.59315,-29.12516],[-56.418,-29.075],[-56.40775,-28.9748],[-56.29995,-28.89614],[-56.29652,-28.8027],[-56.17858,-28.75922],[-56.00984,-28.60718],[-56.01249,-28.50873],[-55.88357,-28.47923],[-55.87739,-28.36159],[-55.75157,-28.37095],[-55.69433,-28.42204],[-55.67047,-28.33218],[-55.77415,-28.27414],[-55.7757,-28.24481],[-55.63167,-28.17719],[-55.60747,-28.11604],[-55.55957,-28.16523],[-55.4952,-28.07682],[-55.44611,-28.09787],[-55.368,-28.029],[-55.38299,-27.97948],[-55.343,-27.972],[-55.32706,-27.92664],[-55.26574,-27.92969],[-55.196,-27.856],[-55.133,-27.897],[-55.106,-27.846],[-55.035,-27.858],[-55.081,-27.779],[-54.936,-27.772],[-54.90617,-27.63871],[-54.85,-27.624],[-54.814,-27.533],[-54.775,-27.586],[-54.67926,-27.57394],[-54.67709,-27.508],[-54.621,-27.541],[-54.574,-27.453],[-54.5246,-27.5059],[-54.444,-27.472],[-54.47081,-27.42674],[-54.41,-27.405],[-54.35466,-27.46528],[-54.34067,-27.40311],[-54.28484,-27.44819],[-54.261,-27.397],[-54.21736,-27.38603],[-54.172,-27.254],[-54.15619,-27.29619],[-54.08872,-27.30149],[-54.01026,-27.19978],[-53.96219,-27.19698],[-53.95195,-27.15169],[-53.79879,-27.14629],[-53.80233,-27.04028],[-53.76087,-27.06543],[-53.78585,-27.02674],[-53.7473,-27.03218],[-53.7092,-26.93414],[-53.67125,-26.94222],[-53.69684,-26.86015],[-53.66059,-26.85814],[-53.75814,-26.72045],[-53.7205,-26.65099],[-53.75864,-26.64113],[-53.63739,-26.24968],[-53.742,-26.108],[-53.73409,-26.04333],[-53.83619,-25.97166],[-53.82214,-25.79377],[-53.89113,-25.62286],[-53.94895,-25.6117],[-53.95638,-25.64628],[-54.01,-25.567],[-54.07592,-25.55766],[-54.098,-25.619],[-54.099,-25.495],[-54.206,-25.541],[-54.178,-25.584],[-54.23,-25.562],[-54.25,-25.597],[-54.28,-25.556],[-54.38395,-25.59747],[-54.43288,-25.69756],[-54.4927,-25.6181],[-54.59354,-25.59275],[-54.61941,-25.45312],[-54.4295,-25.15915],[-54.43548,-24.94769],[-54.32437,-24.66059],[-54.32714,-24.47073],[-54.25877,-24.36377],[-54.34537,-24.14705],[-54.28223,-24.07336],[-54.43984,-23.90446],[-54.66978,-23.81262],[-54.70533,-23.86452],[-54.89,-23.898],[-54.924,-23.959],[-55.06223,-23.99335],[-55.107,-23.961],[-55.22907,-24.01383],[-55.30415,-23.96504],[-55.34542,-23.99458],[-55.41423,-23.9645],[-55.44167,-23.70084],[-55.47306,-23.64834],[-55.53989,-23.625],[-55.52356,-23.19733],[-55.54199,-23.1561],[-55.59635,-23.14993],[-55.66578,-22.85274],[-55.61432,-22.65521],[-55.72364,-22.55166],[-55.74302,-22.39266],[-55.78939,-22.3846],[-55.84304,-22.28725],[-56.20983,-22.27805],[-56.36485,-22.16949],[-56.39404,-22.07434],[-56.50711,-22.09561],[-56.63705,-22.26341],[-56.70344,-22.21693],[-56.72026,-22.26479],[-56.79344,-22.24238],[-56.84285,-22.30155],[-56.88343,-22.24755],[-56.9967,-22.22246],[-57.3744,-22.23204],[-57.5804,-22.17534],[-57.6106,-22.09462],[-57.70751,-22.09111],[-57.80183,-22.15072],[-57.99384,-22.09023],[-58.00946,-22.04038],[-57.91281,-21.88266],[-57.96603,-21.85045],[-57.90866,-21.77355],[-57.94714,-21.74413],[-57.88329,-21.68903],[-57.93436,-21.65037],[-57.91387,-21.59021],[-57.96795,-21.52432],[-57.8535,-21.33109],[-57.92019,-21.27655],[-57.85066,-21.22407],[-57.86834,-21.04417],[-57.81919,-20.94066],[-57.92836,-20.90036],[-57.8552,-20.83403],[-57.89863,-20.78872],[-57.96183,-20.7916],[-57.93478,-20.74565],[-57.86732,-20.73265],[-57.92414,-20.66392],[-57.98848,-20.69879],[-57.99847,-20.43551],[-58.09339,-20.35554],[-58.09596,-20.25445],[-58.16216,-20.25953],[-58.12152,-20.19246],[-58.16932,-20.1694],[-57.95347,-20.02094],[-57.90248,-20.04207],[-57.85796,-19.9703],[-58.131,-19.758],[-57.784,-19.033],[-57.694,-19.011],[-57.719,-18.899],[-57.766,-18.899],[-57.557,-18.24],[-57.453,-18.231],[-57.574,-18.131],[-57.72302,-17.83074],[-57.68472,-17.8306],[-57.70991,-17.72702],[-57.783,-17.639],[-57.73696,-17.5583],[-57.883,-17.449],[-57.996,-17.515],[-58.06,-17.45],[-58.116,-17.451],[-58.151,-17.384],[-58.263,-17.344],[-58.396,-17.181],[-58.423,-16.989],[-58.474,-16.935],[-58.47,-16.703],[-58.436,-16.592],[-58.333,-16.49],[-58.32227,-16.26559],[-58.388,-16.261],[-58.43059,-16.32264],[-60.17335,-16.26672],[-60.238,-15.473],[-60.57543,-15.09677],[-60.244,-15.096],[-60.272,-14.62],[-60.321,-14.608],[-60.492,-14.188],[-60.479,-14.097],[-60.38066,-13.9888],[-60.45062,-13.9364],[-60.45599,-13.85422],[-60.49068,-13.85782],[-60.46776,-13.79446],[-60.76755,-13.68329],[-60.87678,-13.62149],[-60.91857,-13.54334],[-61.0056,-13.552],[-61.0129,-13.48925],[-61.0938,-13.49081],[-61.10314,-13.53056],[-61.18155,-13.50557],[-61.19236,-13.53695],[-61.29954,-13.47718],[-61.46527,-13.55427],[-61.57927,-13.48711],[-61.852,-13.538],[-61.892,-13.431],[-61.96968,-13.40759],[-61.97592,-13.36695],[-62.11498,-13.25932],[-62.115,-13.163],[-62.15254,-13.15993],[-62.16703,-13.11346],[-62.19,-13.153],[-62.214,-13.111],[-62.27269,-13.15687],[-62.39178,-13.13471],[-62.453,-13.064],[-62.612,-13.041],[-62.65,-12.965],[-62.729,-13.02],[-62.779,-13.009],[-62.89672,-12.8539],[-63.01134,-12.83602],[-63.08186,-12.72323],[-63.06163,-12.68584],[-63.15726,-12.6138],[-63.24621,-12.66222],[-63.23713,-12.69043],[-63.30125,-12.68138],[-63.44052,-12.608],[-63.43627,-12.56526],[-63.50641,-12.56562],[-63.55295,-12.50598],[-63.7848,-12.42871],[-63.88957,-12.44745],[-63.89949,-12.50204],[-63.95144,-12.53179],[-64.13464,-12.47732],[-64.16781,-12.51503],[-64.17504,-12.46675],[-64.22945,-12.45419],[-64.29018,-12.50313],[-64.29452,-12.4582],[-64.41057,-12.44436],[-64.51217,-12.3551],[-64.51256,-12.22562],[-64.70406,-12.1827],[-64.70719,-12.08684],[-64.75486,-12.15762],[-64.7688,-12.09356],[-64.83747,-12.11786],[-64.80954,-12.05633],[-64.84077,-12.01027],[-65.03548,-11.99408],[-65.01398,-11.90303],[-65.0727,-11.86587],[-65.08672,-11.7082],[-65.18953,-11.72353],[-65.18216,-11.75609],[-65.2593,-11.71053],[-65.21178,-11.52857],[-65.3074,-11.49957],[-65.33276,-11.33986],[-65.29053,-11.32275],[-65.34347,-11.3082],[-65.35834,-11.26834],[-65.35938,-11.22067],[-65.31294,-11.19578],[-65.35387,-11.18419],[-65.36177,-11.14031],[-65.28269,-11.09009],[-65.30071,-11.03142],[-65.25053,-10.98506],[-65.27476,-10.87302],[-65.35376,-10.78881],[-65.34667,-10.68155],[-65.40569,-10.63935],[-65.43011,-10.48505],[-65.288,-10.219],[-65.333,-9.965],[-65.28588,-9.84413],[-65.39313,-9.68683],[-65.44394,-9.66957],[-65.4883,-9.71015],[-65.55611,-9.84498],[-65.627,-9.83804],[-65.66963,-9.78129],[-65.71023,-9.80857],[-65.68395,-9.74992],[-65.7432,-9.78296],[-65.77013,-9.73442],[-65.79437,-9.79295],[-65.79962,-9.75663],[-65.86532,-9.79533],[-65.87184,-9.75307],[-65.91976,-9.75314],[-65.98222,-9.81011],[-66.151,-9.785],[-66.426,-9.899],[-66.435,-9.866],[-66.61995,-9.89353],[-66.63701,-9.94983],[-66.8751,-10.08268],[-66.9528,-10.18886],[-66.99683,-10.20017],[-67.01537,-10.25919],[-67.17745,-10.33923],[-67.31545,-10.31932],[-67.31155,-10.37716],[-67.40717,-10.37386],[-67.44361,-10.45492],[-67.57925,-10.5028],[-67.64028,-10.59807],[-67.67631,-10.60484],[-67.70825,-10.71083],[-67.86386,-10.64067],[-68.03289,-10.65486],[-68.10456,-10.71426],[-68.10333,-10.77541],[-68.27819,-10.98926],[-68.71576,-11.14483],[-68.75767,-11.00079],[-68.9118,-11.02192],[-69.41453,-10.92575],[-69.73653,-10.97445],[-69.76903,-10.92972],[-69.93442,-10.9219],[-70.15869,-11.04096],[-70.30672,-11.06983],[-70.43675,-11.03923],[-70.53033,-10.93465],[-70.62103,-10.99982],[-70.62338,-9.82054],[-70.53663,-9.76584],[-70.59972,-9.56264],[-70.55282,-9.57093],[-70.56894,-9.53127],[-70.50506,-9.50557],[-70.49665,-9.42489],[-70.59581,-9.4425],[-70.6632,-9.52601],[-70.75067,-9.56043],[-70.79332,-9.63846],[-70.96337,-9.74891],[-70.99391,-9.81721],[-71.13974,-9.85702],[-71.22052,-9.96968],[-72.1804,-9.99967],[-72.15136,-9.79742],[-72.26296,-9.75085],[-72.25282,-9.61633],[-72.28821,-9.60316],[-72.2829,-9.53995],[-72.35688,-9.4946],[-72.51954,-9.49128],[-72.71676,-9.4122],[-73.2038,-9.40715],[-73.07352,-9.23461],[-73.0093,-9.22236],[-73.02612,-9.17786],[-72.9582,-9.14302],[-72.94091,-8.98494],[-72.99931,-8.91778],[-73.05901,-8.90561],[-73.14992,-8.6839],[-73.20907,-8.6857],[-73.28745,-8.61948],[-73.3055,-8.47197],[-73.38956,-8.46878],[-73.41286,-8.41099],[-73.53744,-8.34587],[-73.62739,-8.02187],[-73.73175,-7.9684],[-73.7725,-7.90237],[-73.76164,-7.85803],[-73.69706,-7.86527],[-73.6843,-7.77644],[-73.82217,-7.71788],[-73.99094,-7.53635],[-73.948,-7.52661],[-73.91981,-7.46568],[-73.96394,-7.34764],[-73.87014,-7.37882],[-73.7003,-7.30429],[-73.79842,-7.11306],[-73.71046,-6.84019],[-73.53639,-6.6834],[-73.39115,-6.64193],[-73.35281,-6.59327],[-73.22741,-6.58884],[-73.18797,-6.52302],[-73.13523,-6.51046],[-73.10473,-6.40666],[-73.24664,-6.14963],[-73.23821,-6.04399],[-73.1868,-6.00512],[-73.15207,-5.86796],[-73.05303,-5.79517],[-72.95912,-5.65689],[-72.95888,-5.46613],[-72.86052,-5.27117],[-72.88725,-5.16307],[-72.73986,-5.08859],[-72.72765,-5.05199],[-72.6212,-5.0518],[-72.598,-4.98386],[-72.38202,-4.87296],[-72.36895,-4.80387],[-72.12601,-4.73454],[-72.04335,-4.62384],[-72.00689,-4.64622],[-71.99464,-4.60996],[-71.94743,-4.60877],[-71.91909,-4.5298],[-71.88549,-4.53803],[-71.9073,-4.51644],[-71.76637,-4.50446],[-71.75109,-4.46887],[-71.70817,-4.51165],[-71.65479,-4.47246],[-71.65032,-4.50395],[-71.61548,-4.4687],[-71.6335,-4.51524],[-71.59625,-4.52928],[-71.53703,-4.46442],[-71.49428,-4.48701],[-71.50716,-4.43909],[-71.43438,-4.42882],[-71.42562,-4.47058],[-71.35026,-4.42728],[-71.30752,-4.46288],[-71.32091,-4.42009],[-71.27782,-4.44217],[-71.26975,-4.385],[-71.20263,-4.37987],[-71.19422,-4.42471],[-71.14478,-4.38158],[-71.11491,-4.41119],[-71.10616,-4.37764],[-70.99389,-4.38654],[-70.99595,-4.34632],[-70.9357,-4.38432],[-70.84483,-4.27905],[-70.86447,-4.25245],[-70.81677,-4.23005],[-70.8458,-4.21872],[-70.75901,-4.15944],[-70.68147,-4.20791],[-70.64256,-4.12805],[-70.62521,-4.19151],[-70.56118,-4.1775],[-70.57357,-4.21169],[-70.54796,-4.13671],[-70.51036,-4.14824],[-70.50417,-4.20098],[-70.48535,-4.16132],[-70.43435,-4.16266],[-70.43146,-4.13217],[-70.33892,-4.17997],[-70.32281,-4.14206],[-70.28769,-4.16555],[-70.29141,-4.28709],[-70.21457,-4.29749],[-70.19194,-4.36179],[-70.15508,-4.27308],[-70.11749,-4.28585],[-70.10881,-4.25454],[-70.04189,-4.29409],[-70.07948,-4.31428],[-70.02826,-4.3703],[-69.99182,-4.37482],[-69.94793,-4.23168]],[[-34.00035,-3.76654],[-34.01797,-3.84985],[-34.00664,-3.91809],[-33.98608,-3.95952],[-33.95923,-3.99217],[-33.8921,-4.03653],[-33.81658,-4.05077],[-33.72931,-4.03151],[-33.66638,-3.9838],[-33.62736,-3.9185],[-33.61519,-3.84985],[-33.63239,-3.76864],[-33.68693,-3.69537],[-33.74987,-3.65978],[-33.81658,-3.6489],[-33.89336,-3.66397],[-33.96007,-3.70877],[-34.00035,-3.76654]],[[-32.5538,-4.00884],[-32.59937,-3.9531],[-32.64061,-3.87309],[-32.61755,-3.73712],[-32.58338,-3.70527],[-32.54228,-3.65606],[-32.4592,-3.63029],[-32.35174,-3.63887],[-32.30049,-3.67684],[-32.24749,-3.75266],[-32.23155,-3.81889],[-32.2357,-3.90247],[-32.30194,-3.9883],[-32.42898,-4.0384],[-32.5538,-4.00884]],[[-29.50321,0.79391],[-29.54097,0.8689],[-29.54727,0.92553],[-29.52367,0.99422],[-29.48958,1.06134],[-29.43136,1.10224],[-29.35899,1.1206],[-29.29238,1.11378],[-29.22158,1.0776],[-29.16285,1.00314],[-29.14501,0.92605],[-29.14764,0.88358],[-29.17176,0.8196],[-29.24885,0.74357],[-29.29448,0.72521],[-29.36371,0.71892],[-29.43556,0.73937],[-29.50321,0.79391]],[[-29.09537,-20.42649],[-29.19756,-20.33509],[-29.3343,-20.28932],[-29.46741,-20.3288],[-29.54604,-20.42958],[-29.55396,-20.52706],[-29.51696,-20.62613],[-29.40995,-20.68955],[-29.27599,-20.72578],[-29.15968,-20.66209],[-29.07188,-20.57088],[-28.9712,-20.64769],[-28.83286,-20.69814],[-28.67968,-20.62099],[-28.63549,-20.49284],[-28.63412,-20.47146],[-28.7431,-20.30094],[-28.8683,-20.27288],[-29.0031,-20.32416],[-29.09537,-20.42649]]],terms_text:"IBGE",icon:"https://osmlab.github.io/editor-layer-index/sources/south-america/br/IBGE.png"},{id:"IBGE_Nomes_Ruas",name:"IBGE Nomes de Ruas",type:"tms",template:"https://api.maptiler.com/maps/b2037b15-5614-4fed-9608-9830b8dc574a/256/{zoom}/{x}/{y}.png?key=YmPoUxbTlEHlrASzv56Z",zoomExtent:[4,22],polygon:[[[-69.94793,-4.23168],[-69.45659,-1.49119],[-69.3973,-1.36508],[-69.42989,-1.22173],[-69.39523,-1.12555],[-69.44292,-1.03351],[-69.41861,-0.99827],[-69.528,-0.92514],[-69.52577,-0.86807],[-69.62491,-0.74667],[-69.56179,-0.63692],[-69.60783,-0.5008],[-69.8446,-0.33732],[-69.92054,-0.32573],[-70.04323,-0.18998],[-70.04302,0.56359],[-69.80272,0.57162],[-69.6711,0.66759],[-69.60529,0.61328],[-69.59701,0.6542],[-69.48002,0.73577],[-69.35277,0.61416],[-69.28914,0.64997],[-69.29484,0.60389],[-69.19975,0.60591],[-69.19425,0.64982],[-69.11563,0.64484],[-69.19001,0.74056],[-69.14881,0.76751],[-69.13576,0.87204],[-69.18846,0.91324],[-69.1646,0.94156],[-69.21679,0.97245],[-69.19773,0.99974],[-69.24494,1.05655],[-69.37641,1.08794],[-69.42312,1.04265],[-69.60989,1.09826],[-69.67718,1.06994],[-69.70963,1.11817],[-69.84266,1.07272],[-69.83972,1.71893],[-69.78236,1.69244],[-69.53464,1.77691],[-69.39109,1.72935],[-68.1645,1.72945],[-68.19207,1.7797],[-68.23954,1.77044],[-68.22688,1.82918],[-68.28555,1.83084],[-68.19583,2.03479],[-68.18033,1.9767],[-68.14417,1.97854],[-68.09043,1.89774],[-67.90162,1.81165],[-67.76942,2.00924],[-67.55095,2.04769],[-67.49519,2.16312],[-67.39404,2.22894],[-67.32672,2.06387],[-67.33083,1.94158],[-67.22831,1.84127],[-67.15384,1.8315],[-67.15922,1.67504],[-67.08017,1.38546],[-67.13923,1.32002],[-67.08675,1.16704],[-66.85119,1.22896],[-66.31032,0.74494],[-66.19737,0.78161],[-66.07783,0.76174],[-66.07024,0.8123],[-65.96712,0.81511],[-65.88369,0.94159],[-65.77261,0.95859],[-65.7421,1.00125],[-65.58894,1.00471],[-65.49624,0.87415],[-65.60623,0.70748],[-65.54116,0.64881],[-65.44499,0.68921],[-65.39213,0.75692],[-65.41198,0.82415],[-65.32734,0.93596],[-65.21302,0.90282],[-65.1749,0.94131],[-65.15831,1.1246],[-65.07232,1.15303],[-65.06317,1.11205],[-65.01361,1.10905],[-64.97445,1.20288],[-64.90439,1.25153],[-64.86966,1.22713],[-64.80053,1.31527],[-64.74446,1.22569],[-64.5789,1.34041],[-64.52608,1.44322],[-64.43586,1.47006],[-64.3939,1.52901],[-64.35111,1.52921],[-64.34777,1.49508],[-64.41019,1.40301],[-64.33791,1.36134],[-64.3136,1.45617],[-64.19707,1.52071],[-64.0735,1.64902],[-64.05781,1.92899],[-63.97219,1.99194],[-63.83555,1.96644],[-63.71155,2.04645],[-63.66501,2.01861],[-63.6268,2.11222],[-63.56474,2.13571],[-63.44059,2.126],[-63.36742,2.26864],[-63.37088,2.41121],[-63.42123,2.45102],[-63.46036,2.39684],[-63.56398,2.44573],[-63.76805,2.43994],[-63.84358,2.4916],[-64.01914,2.46135],[-64.0573,2.49752],[-63.98033,2.7237],[-64.07709,2.87262],[-64.07156,2.92142],[-64.12349,2.99048],[-64.15754,2.98243],[-64.14592,3.03459],[-64.22642,3.12356],[-64.19795,3.20121],[-64.2444,3.43036],[-64.17437,3.56841],[-64.281,3.70928],[-64.54357,3.85713],[-64.72239,4.11775],[-64.80203,4.17422],[-64.81123,4.27048],[-64.69522,4.25323],[-64.623,4.135],[-64.5565,4.10529],[-64.164,4.127],[-63.964,3.868],[-63.928,3.925],[-63.85,3.95],[-63.682,3.908],[-63.676,4.019],[-63.591,3.886],[-63.497,3.84],[-63.489,3.874],[-63.434,3.865],[-63.428,3.977],[-63.204,3.952],[-63.226,3.836],[-63.103,3.794],[-63.059,3.748],[-63.081,3.694],[-62.96,3.608],[-62.835,3.739],[-62.743,3.674],[-62.729,3.805],[-62.788,3.894],[-62.753,4.032],[-62.555,4.019],[-62.552,4.109],[-62.437,4.183],[-62.14308,4.07768],[-62.071,4.126],[-62.076,4.154],[-61.982,4.181],[-61.93175,4.12009],[-61.92213,4.16126],[-61.824,4.164],[-61.802,4.229],[-61.724,4.27],[-61.56,4.252],[-61.508,4.322],[-61.513,4.406],[-61.288,4.458],[-61.323,4.535],[-61.217,4.536],[-61.14559,4.48016],[-61.095,4.522],[-60.994,4.519],[-60.932,4.587],[-60.949,4.653],[-60.899,4.717],[-60.751,4.756],[-60.591,4.927],[-60.661,5.164],[-60.73197,5.21203],[-60.434,5.182],[-60.20825,5.28346],[-60.172,5.227],[-60.135,5.249],[-60.094,5.14],[-59.96984,5.06334],[-60.02524,4.7065],[-60.0705,4.61688],[-60.15725,4.57247],[-60.16114,4.51773],[-59.79503,4.46554],[-59.66948,4.37629],[-59.7319,4.28587],[-59.73069,4.18076],[-59.61818,4.13166],[-59.65406,4.06943],[-59.58417,3.96851],[-59.5153,3.94493],[-59.59279,3.88538],[-59.59631,3.79386],[-59.66555,3.78126],[-59.66842,3.70277],[-59.86728,3.57776],[-59.80205,3.50156],[-59.8408,3.43174],[-59.80488,3.35695],[-59.907,3.212],[-59.98944,2.88185],[-59.99,2.686],[-59.895,2.482],[-59.89872,2.36245],[-59.72315,2.27614],[-59.751,1.859],[-59.677,1.839],[-59.663,1.871],[-59.69,1.757],[-59.539,1.723],[-59.381,1.507],[-59.329,1.514],[-59.327,1.464],[-59.284,1.45],[-59.253,1.389],[-58.978,1.302],[-58.918,1.317],[-58.886,1.261],[-58.912,1.239],[-58.82512,1.17127],[-58.73956,1.1999],[-58.69456,1.29732],[-58.49622,1.26796],[-58.45787,1.37145],[-58.50511,1.40317],[-58.50873,1.46295],[-58.38559,1.46999],[-58.39472,1.52651],[-58.32237,1.59702],[-58.236,1.54669],[-58.16064,1.56011],[-58.12942,1.4989],[-58.00423,1.50303],[-57.99009,1.65844],[-57.85206,1.66782],[-57.77431,1.72973],[-57.70509,1.73093],[-57.65042,1.68237],[-57.5376,1.7005],[-57.50187,1.78609],[-57.43776,1.82681],[-57.43343,1.90598],[-57.36768,1.92372],[-57.36912,1.95638],[-57.30712,1.99665],[-57.22923,1.93759],[-57.08668,2.02644],[-57.01421,1.91489],[-56.91971,1.93036],[-56.79793,1.85336],[-56.72096,1.92582],[-56.62145,1.94588],[-56.57976,1.90588],[-56.45126,1.95614],[-56.24404,1.87808],[-56.1709,1.90048],[-56.11762,1.85097],[-55.95638,1.84509],[-55.90385,1.88803],[-55.93635,1.98647],[-55.9031,2.04108],[-56.00307,2.1676],[-56.05505,2.18464],[-56.04288,2.22778],[-56.13887,2.26574],[-56.09012,2.37228],[-56.02181,2.34247],[-55.97052,2.52931],[-55.76663,2.45524],[-55.71028,2.39917],[-55.49971,2.44324],[-55.38533,2.41836],[-55.32019,2.51537],[-55.23474,2.50338],[-55.1234,2.56762],[-55.10302,2.52564],[-54.95424,2.58359],[-54.86846,2.43989],[-54.68917,2.45389],[-54.68861,2.32472],[-54.54667,2.31833],[-54.53778,2.26556],[-54.46861,2.21306],[-54.24917,2.14667],[-54.18056,2.1725],[-54.11083,2.11222],[-54.06139,2.19167],[-53.94083,2.21917],[-53.93194,2.27194],[-53.88667,2.26778],[-53.745,2.37389],[-53.73389,2.31222],[-53.52972,2.24917],[-53.45861,2.2575],[-53.32833,2.35333],[-53.21667,2.25333],[-53.27899,2.18603],[-53.11861,2.2225],[-52.99472,2.17528],[-52.90972,2.19583],[-52.84722,2.28556],[-52.67528,2.37389],[-52.59444,2.47389],[-52.54028,2.57028],[-52.56417,2.63944],[-52.43944,2.87778],[-52.39583,2.90222],[-52.33187,3.16938],[-52.21472,3.26833],[-51.97104,3.70696],[-51.92148,3.72422],[-51.922,3.7792],[-51.79731,3.88888],[-51.77783,3.97406],[-51.65867,4.05276],[-51.61325,4.17437],[-51.63716,4.50834],[-51.49427,4.67426],[-51.11466,4.42286],[-50.94232,4.20165],[-50.85475,3.92491],[-50.85507,3.45573],[-50.75331,2.94057],[-50.29908,2.33079],[-49.73896,1.79143],[-48.23746,-0.07449],[-44.84728,-1.07246],[-43.54602,-2.04705],[-43.24389,-2.12403],[-42.78189,-2.33053],[-41.78084,-2.51859],[-41.5085,-2.68486],[-40.66365,-2.63829],[-40.50396,-2.57531],[-39.8907,-2.65328],[-39.15187,-3.04444],[-38.57151,-3.48047],[-38.34306,-3.54434],[-38.21421,-3.74103],[-38.12555,-3.80544],[-37.90182,-4.07265],[-37.77934,-4.18046],[-37.63401,-4.24454],[-37.51218,-4.41535],[-37.22122,-4.51045],[-37.07874,-4.71355],[-36.91716,-4.71372],[-36.62299,-4.85815],[-36.18969,-4.88505],[-35.93627,-4.83327],[-35.56471,-4.90758],[-35.33677,-4.99239],[-35.17659,-5.12497],[-34.79469,-6.33583],[-34.71587,-6.74615],[-34.62306,-6.90323],[-34.59953,-7.11133],[-34.64374,-7.98735],[-34.81497,-8.62472],[-35.0253,-9.13761],[-35.55848,-9.81261],[-35.69663,-9.90026],[-35.96401,-10.31281],[-36.06155,-10.37447],[-36.26639,-10.64593],[-36.61764,-10.81082],[-36.78725,-10.95151],[-36.99511,-11.29602],[-37.11368,-11.41261],[-37.46002,-12.10275],[-37.89668,-12.75844],[-38.22146,-13.09717],[-38.61146,-13.26537],[-38.85337,-14.65508],[-38.74388,-15.60089],[-38.66456,-15.74741],[-38.64697,-15.88327],[-38.8013,-16.24838],[-38.92933,-16.80775],[-38.53193,-17.80026],[-38.49171,-18.0046],[-38.53661,-18.09683],[-38.67053,-18.16855],[-39.35288,-18.10892],[-39.4675,-18.30359],[-39.54529,-18.78548],[-39.49227,-19.40134],[-39.63477,-19.74403],[-39.86353,-19.88681],[-40.17827,-20.75426],[-40.81442,-21.67672],[-40.76948,-21.87786],[-40.81442,-22.09702],[-41.5086,-22.52638],[-41.59666,-22.83627],[-41.79292,-23.08823],[-41.91484,-23.18527],[-43.19603,-23.26703],[-44.07735,-23.40501],[-45.13508,-24.12014],[-46.61368,-24.67512],[-47.85376,-25.47012],[-48.2801,-26.23036],[-48.34897,-26.75081],[-48.11076,-27.28208],[-48.21148,-27.85592],[-48.40713,-28.43255],[-48.68615,-28.76016],[-48.9156,-28.86305],[-49.1579,-29.02871],[-49.52748,-29.42005],[-49.82565,-29.86559],[-50.17344,-30.64282],[-50.60441,-31.24135],[-51.18785,-31.77646],[-51.74211,-32.10539],[-51.89236,-32.29596],[-52.06117,-32.38504],[-52.27087,-32.92102],[-52.45986,-33.25369],[-52.61505,-33.42291],[-53.18109,-33.86891],[-53.43053,-33.73947],[-53.43951,-33.69347],[-53.53228,-33.6888],[-53.51819,-33.15342],[-53.44438,-33.05296],[-53.24468,-32.93489],[-53.31008,-32.91875],[-53.29454,-32.89931],[-53.18496,-32.85043],[-53.14569,-32.79202],[-53.0858,-32.78835],[-53.07558,-32.74088],[-53.24992,-32.6041],[-53.39137,-32.58573],[-53.46423,-32.48446],[-53.58321,-32.45192],[-53.74599,-32.07848],[-53.83375,-32.05524],[-53.84978,-32.00064],[-53.96073,-31.95532],[-53.96972,-31.91765],[-54.10019,-31.92825],[-54.4549,-31.65295],[-54.4528,-31.59959],[-54.58676,-31.45656],[-54.8367,-31.442],[-54.88623,-31.3773],[-54.94087,-31.38068],[-55.00723,-31.26692],[-55.07446,-31.33216],[-55.24003,-31.26062],[-55.29118,-31.14226],[-55.34037,-31.13144],[-55.34981,-31.03922],[-55.42306,-31.01823],[-55.57742,-30.83309],[-55.65834,-30.864],[-55.66621,-30.95395],[-55.723,-30.943],[-55.727,-30.979],[-55.882,-31.077],[-56.00989,-31.08267],[-56.02241,-30.78565],[-56.12508,-30.73871],[-56.17074,-30.61517],[-56.26095,-30.58509],[-56.29193,-30.51967],[-56.38177,-30.49956],[-56.46126,-30.38486],[-56.54706,-30.35946],[-56.54115,-30.31291],[-56.6187,-30.30054],[-56.64628,-30.20346],[-56.77662,-30.1633],[-56.80777,-30.10301],[-57.07113,-30.08671],[-57.22081,-30.28928],[-57.31303,-30.25785],[-57.39229,-30.30474],[-57.46574,-30.26589],[-57.52431,-30.28569],[-57.56087,-30.21134],[-57.64744,-30.19483],[-57.48047,-30.12315],[-57.33713,-29.99284],[-57.294,-29.831],[-57.121,-29.765],[-56.89888,-29.53179],[-56.81905,-29.48816],[-56.76618,-29.37768],[-56.70164,-29.35913],[-56.59315,-29.12516],[-56.418,-29.075],[-56.40775,-28.9748],[-56.29995,-28.89614],[-56.29652,-28.8027],[-56.17858,-28.75922],[-56.00984,-28.60718],[-56.01249,-28.50873],[-55.88357,-28.47923],[-55.87739,-28.36159],[-55.75157,-28.37095],[-55.69433,-28.42204],[-55.67047,-28.33218],[-55.77415,-28.27414],[-55.7757,-28.24481],[-55.63167,-28.17719],[-55.60747,-28.11604],[-55.55957,-28.16523],[-55.4952,-28.07682],[-55.44611,-28.09787],[-55.368,-28.029],[-55.38299,-27.97948],[-55.343,-27.972],[-55.32706,-27.92664],[-55.26574,-27.92969],[-55.196,-27.856],[-55.133,-27.897],[-55.106,-27.846],[-55.035,-27.858],[-55.081,-27.779],[-54.936,-27.772],[-54.90617,-27.63871],[-54.85,-27.624],[-54.814,-27.533],[-54.775,-27.586],[-54.67926,-27.57394],[-54.67709,-27.508],[-54.621,-27.541],[-54.574,-27.453],[-54.5246,-27.5059],[-54.444,-27.472],[-54.47081,-27.42674],[-54.41,-27.405],[-54.35466,-27.46528],[-54.34067,-27.40311],[-54.28484,-27.44819],[-54.261,-27.397],[-54.21736,-27.38603],[-54.172,-27.254],[-54.15619,-27.29619],[-54.08872,-27.30149],[-54.01026,-27.19978],[-53.96219,-27.19698],[-53.95195,-27.15169],[-53.79879,-27.14629],[-53.80233,-27.04028],[-53.76087,-27.06543],[-53.78585,-27.02674],[-53.7473,-27.03218],[-53.7092,-26.93414],[-53.67125,-26.94222],[-53.69684,-26.86015],[-53.66059,-26.85814],[-53.75814,-26.72045],[-53.7205,-26.65099],[-53.75864,-26.64113],[-53.63739,-26.24968],[-53.742,-26.108],[-53.73409,-26.04333],[-53.83619,-25.97166],[-53.82214,-25.79377],[-53.89113,-25.62286],[-53.94895,-25.6117],[-53.95638,-25.64628],[-54.01,-25.567],[-54.07592,-25.55766],[-54.098,-25.619],[-54.099,-25.495],[-54.206,-25.541],[-54.178,-25.584],[-54.23,-25.562],[-54.25,-25.597],[-54.28,-25.556],[-54.38395,-25.59747],[-54.43288,-25.69756],[-54.4927,-25.6181],[-54.59354,-25.59275],[-54.61941,-25.45312],[-54.4295,-25.15915],[-54.43548,-24.94769],[-54.32437,-24.66059],[-54.32714,-24.47073],[-54.25877,-24.36377],[-54.34537,-24.14705],[-54.28223,-24.07336],[-54.43984,-23.90446],[-54.66978,-23.81262],[-54.70533,-23.86452],[-54.89,-23.898],[-54.924,-23.959],[-55.06223,-23.99335],[-55.107,-23.961],[-55.22907,-24.01383],[-55.30415,-23.96504],[-55.34542,-23.99458],[-55.41423,-23.9645],[-55.44167,-23.70084],[-55.47306,-23.64834],[-55.53989,-23.625],[-55.52356,-23.19733],[-55.54199,-23.1561],[-55.59635,-23.14993],[-55.66578,-22.85274],[-55.61432,-22.65521],[-55.72364,-22.55166],[-55.74302,-22.39266],[-55.78939,-22.3846],[-55.84304,-22.28725],[-56.20983,-22.27805],[-56.36485,-22.16949],[-56.39404,-22.07434],[-56.50711,-22.09561],[-56.63705,-22.26341],[-56.70344,-22.21693],[-56.72026,-22.26479],[-56.79344,-22.24238],[-56.84285,-22.30155],[-56.88343,-22.24755],[-56.9967,-22.22246],[-57.3744,-22.23204],[-57.5804,-22.17534],[-57.6106,-22.09462],[-57.70751,-22.09111],[-57.80183,-22.15072],[-57.99384,-22.09023],[-58.00946,-22.04038],[-57.91281,-21.88266],[-57.96603,-21.85045],[-57.90866,-21.77355],[-57.94714,-21.74413],[-57.88329,-21.68903],[-57.93436,-21.65037],[-57.91387,-21.59021],[-57.96795,-21.52432],[-57.8535,-21.33109],[-57.92019,-21.27655],[-57.85066,-21.22407],[-57.86834,-21.04417],[-57.81919,-20.94066],[-57.92836,-20.90036],[-57.8552,-20.83403],[-57.89863,-20.78872],[-57.96183,-20.7916],[-57.93478,-20.74565],[-57.86732,-20.73265],[-57.92414,-20.66392],[-57.98848,-20.69879],[-57.99847,-20.43551],[-58.09339,-20.35554],[-58.09596,-20.25445],[-58.16216,-20.25953],[-58.12152,-20.19246],[-58.16932,-20.1694],[-57.95347,-20.02094],[-57.90248,-20.04207],[-57.85796,-19.9703],[-58.131,-19.758],[-57.784,-19.033],[-57.694,-19.011],[-57.719,-18.899],[-57.766,-18.899],[-57.557,-18.24],[-57.453,-18.231],[-57.574,-18.131],[-57.72302,-17.83074],[-57.68472,-17.8306],[-57.70991,-17.72702],[-57.783,-17.639],[-57.73696,-17.5583],[-57.883,-17.449],[-57.996,-17.515],[-58.06,-17.45],[-58.116,-17.451],[-58.151,-17.384],[-58.263,-17.344],[-58.396,-17.181],[-58.423,-16.989],[-58.474,-16.935],[-58.47,-16.703],[-58.436,-16.592],[-58.333,-16.49],[-58.32227,-16.26559],[-58.388,-16.261],[-58.43059,-16.32264],[-60.17335,-16.26672],[-60.238,-15.473],[-60.57543,-15.09677],[-60.244,-15.096],[-60.272,-14.62],[-60.321,-14.608],[-60.492,-14.188],[-60.479,-14.097],[-60.38066,-13.9888],[-60.45062,-13.9364],[-60.45599,-13.85422],[-60.49068,-13.85782],[-60.46776,-13.79446],[-60.76755,-13.68329],[-60.87678,-13.62149],[-60.91857,-13.54334],[-61.0056,-13.552],[-61.0129,-13.48925],[-61.0938,-13.49081],[-61.10314,-13.53056],[-61.18155,-13.50557],[-61.19236,-13.53695],[-61.29954,-13.47718],[-61.46527,-13.55427],[-61.57927,-13.48711],[-61.852,-13.538],[-61.892,-13.431],[-61.96968,-13.40759],[-61.97592,-13.36695],[-62.11498,-13.25932],[-62.115,-13.163],[-62.15254,-13.15993],[-62.16703,-13.11346],[-62.19,-13.153],[-62.214,-13.111],[-62.27269,-13.15687],[-62.39178,-13.13471],[-62.453,-13.064],[-62.612,-13.041],[-62.65,-12.965],[-62.729,-13.02],[-62.779,-13.009],[-62.89672,-12.8539],[-63.01134,-12.83602],[-63.08186,-12.72323],[-63.06163,-12.68584],[-63.15726,-12.6138],[-63.24621,-12.66222],[-63.23713,-12.69043],[-63.30125,-12.68138],[-63.44052,-12.608],[-63.43627,-12.56526],[-63.50641,-12.56562],[-63.55295,-12.50598],[-63.7848,-12.42871],[-63.88957,-12.44745],[-63.89949,-12.50204],[-63.95144,-12.53179],[-64.13464,-12.47732],[-64.16781,-12.51503],[-64.17504,-12.46675],[-64.22945,-12.45419],[-64.29018,-12.50313],[-64.29452,-12.4582],[-64.41057,-12.44436],[-64.51217,-12.3551],[-64.51256,-12.22562],[-64.70406,-12.1827],[-64.70719,-12.08684],[-64.75486,-12.15762],[-64.7688,-12.09356],[-64.83747,-12.11786],[-64.80954,-12.05633],[-64.84077,-12.01027],[-65.03548,-11.99408],[-65.01398,-11.90303],[-65.0727,-11.86587],[-65.08672,-11.7082],[-65.18953,-11.72353],[-65.18216,-11.75609],[-65.2593,-11.71053],[-65.21178,-11.52857],[-65.3074,-11.49957],[-65.33276,-11.33986],[-65.29053,-11.32275],[-65.34347,-11.3082],[-65.35834,-11.26834],[-65.35938,-11.22067],[-65.31294,-11.19578],[-65.35387,-11.18419],[-65.36177,-11.14031],[-65.28269,-11.09009],[-65.30071,-11.03142],[-65.25053,-10.98506],[-65.27476,-10.87302],[-65.35376,-10.78881],[-65.34667,-10.68155],[-65.40569,-10.63935],[-65.43011,-10.48505],[-65.288,-10.219],[-65.333,-9.965],[-65.28588,-9.84413],[-65.39313,-9.68683],[-65.44394,-9.66957],[-65.4883,-9.71015],[-65.55611,-9.84498],[-65.627,-9.83804],[-65.66963,-9.78129],[-65.71023,-9.80857],[-65.68395,-9.74992],[-65.7432,-9.78296],[-65.77013,-9.73442],[-65.79437,-9.79295],[-65.79962,-9.75663],[-65.86532,-9.79533],[-65.87184,-9.75307],[-65.91976,-9.75314],[-65.98222,-9.81011],[-66.151,-9.785],[-66.426,-9.899],[-66.435,-9.866],[-66.61995,-9.89353],[-66.63701,-9.94983],[-66.8751,-10.08268],[-66.9528,-10.18886],[-66.99683,-10.20017],[-67.01537,-10.25919],[-67.17745,-10.33923],[-67.31545,-10.31932],[-67.31155,-10.37716],[-67.40717,-10.37386],[-67.44361,-10.45492],[-67.57925,-10.5028],[-67.64028,-10.59807],[-67.67631,-10.60484],[-67.70825,-10.71083],[-67.86386,-10.64067],[-68.03289,-10.65486],[-68.10456,-10.71426],[-68.10333,-10.77541],[-68.27819,-10.98926],[-68.71576,-11.14483],[-68.75767,-11.00079],[-68.9118,-11.02192],[-69.41453,-10.92575],[-69.73653,-10.97445],[-69.76903,-10.92972],[-69.93442,-10.9219],[-70.15869,-11.04096],[-70.30672,-11.06983],[-70.43675,-11.03923],[-70.53033,-10.93465],[-70.62103,-10.99982],[-70.62338,-9.82054],[-70.53663,-9.76584],[-70.59972,-9.56264],[-70.55282,-9.57093],[-70.56894,-9.53127],[-70.50506,-9.50557],[-70.49665,-9.42489],[-70.59581,-9.4425],[-70.6632,-9.52601],[-70.75067,-9.56043],[-70.79332,-9.63846],[-70.96337,-9.74891],[-70.99391,-9.81721],[-71.13974,-9.85702],[-71.22052,-9.96968],[-72.1804,-9.99967],[-72.15136,-9.79742],[-72.26296,-9.75085],[-72.25282,-9.61633],[-72.28821,-9.60316],[-72.2829,-9.53995],[-72.35688,-9.4946],[-72.51954,-9.49128],[-72.71676,-9.4122],[-73.2038,-9.40715],[-73.07352,-9.23461],[-73.0093,-9.22236],[-73.02612,-9.17786],[-72.9582,-9.14302],[-72.94091,-8.98494],[-72.99931,-8.91778],[-73.05901,-8.90561],[-73.14992,-8.6839],[-73.20907,-8.6857],[-73.28745,-8.61948],[-73.3055,-8.47197],[-73.38956,-8.46878],[-73.41286,-8.41099],[-73.53744,-8.34587],[-73.62739,-8.02187],[-73.73175,-7.9684],[-73.7725,-7.90237],[-73.76164,-7.85803],[-73.69706,-7.86527],[-73.6843,-7.77644],[-73.82217,-7.71788],[-73.99094,-7.53635],[-73.948,-7.52661],[-73.91981,-7.46568],[-73.96394,-7.34764],[-73.87014,-7.37882],[-73.7003,-7.30429],[-73.79842,-7.11306],[-73.71046,-6.84019],[-73.53639,-6.6834],[-73.39115,-6.64193],[-73.35281,-6.59327],[-73.22741,-6.58884],[-73.18797,-6.52302],[-73.13523,-6.51046],[-73.10473,-6.40666],[-73.24664,-6.14963],[-73.23821,-6.04399],[-73.1868,-6.00512],[-73.15207,-5.86796],[-73.05303,-5.79517],[-72.95912,-5.65689],[-72.95888,-5.46613],[-72.86052,-5.27117],[-72.88725,-5.16307],[-72.73986,-5.08859],[-72.72765,-5.05199],[-72.6212,-5.0518],[-72.598,-4.98386],[-72.38202,-4.87296],[-72.36895,-4.80387],[-72.12601,-4.73454],[-72.04335,-4.62384],[-72.00689,-4.64622],[-71.99464,-4.60996],[-71.94743,-4.60877],[-71.91909,-4.5298],[-71.88549,-4.53803],[-71.9073,-4.51644],[-71.76637,-4.50446],[-71.75109,-4.46887],[-71.70817,-4.51165],[-71.65479,-4.47246],[-71.65032,-4.50395],[-71.61548,-4.4687],[-71.6335,-4.51524],[-71.59625,-4.52928],[-71.53703,-4.46442],[-71.49428,-4.48701],[-71.50716,-4.43909],[-71.43438,-4.42882],[-71.42562,-4.47058],[-71.35026,-4.42728],[-71.30752,-4.46288],[-71.32091,-4.42009],[-71.27782,-4.44217],[-71.26975,-4.385],[-71.20263,-4.37987],[-71.19422,-4.42471],[-71.14478,-4.38158],[-71.11491,-4.41119],[-71.10616,-4.37764],[-70.99389,-4.38654],[-70.99595,-4.34632],[-70.9357,-4.38432],[-70.84483,-4.27905],[-70.86447,-4.25245],[-70.81677,-4.23005],[-70.8458,-4.21872],[-70.75901,-4.15944],[-70.68147,-4.20791],[-70.64256,-4.12805],[-70.62521,-4.19151],[-70.56118,-4.1775],[-70.57357,-4.21169],[-70.54796,-4.13671],[-70.51036,-4.14824],[-70.50417,-4.20098],[-70.48535,-4.16132],[-70.43435,-4.16266],[-70.43146,-4.13217],[-70.33892,-4.17997],[-70.32281,-4.14206],[-70.28769,-4.16555],[-70.29141,-4.28709],[-70.21457,-4.29749],[-70.19194,-4.36179],[-70.15508,-4.27308],[-70.11749,-4.28585],[-70.10881,-4.25454],[-70.04189,-4.29409],[-70.07948,-4.31428],[-70.02826,-4.3703],[-69.99182,-4.37482],[-69.94793,-4.23168]],[[-34.00035,-3.76654],[-34.01797,-3.84985],[-34.00664,-3.91809],[-33.98608,-3.95952],[-33.95923,-3.99217],[-33.8921,-4.03653],[-33.81658,-4.05077],[-33.72931,-4.03151],[-33.66638,-3.9838],[-33.62736,-3.9185],[-33.61519,-3.84985],[-33.63239,-3.76864],[-33.68693,-3.69537],[-33.74987,-3.65978],[-33.81658,-3.6489],[-33.89336,-3.66397],[-33.96007,-3.70877],[-34.00035,-3.76654]],[[-32.5538,-4.00884],[-32.59937,-3.9531],[-32.64061,-3.87309],[-32.61755,-3.73712],[-32.58338,-3.70527],[-32.54228,-3.65606],[-32.4592,-3.63029],[-32.35174,-3.63887],[-32.30049,-3.67684],[-32.24749,-3.75266],[-32.23155,-3.81889],[-32.2357,-3.90247],[-32.30194,-3.9883],[-32.42898,-4.0384],[-32.5538,-4.00884]],[[-29.50321,0.79391],[-29.54097,0.8689],[-29.54727,0.92553],[-29.52367,0.99422],[-29.48958,1.06134],[-29.43136,1.10224],[-29.35899,1.1206],[-29.29238,1.11378],[-29.22158,1.0776],[-29.16285,1.00314],[-29.14501,0.92605],[-29.14764,0.88358],[-29.17176,0.8196],[-29.24885,0.74357],[-29.29448,0.72521],[-29.36371,0.71892],[-29.43556,0.73937],[-29.50321,0.79391]],[[-29.09537,-20.42649],[-29.19756,-20.33509],[-29.3343,-20.28932],[-29.46741,-20.3288],[-29.54604,-20.42958],[-29.55396,-20.52706],[-29.51696,-20.62613],[-29.40995,-20.68955],[-29.27599,-20.72578],[-29.15968,-20.66209],[-29.07188,-20.57088],[-28.9712,-20.64769],[-28.83286,-20.69814],[-28.67968,-20.62099],[-28.63549,-20.49284],[-28.63412,-20.47146],[-28.7431,-20.30094],[-28.8683,-20.27288],[-29.0031,-20.32416],[-29.09537,-20.42649]]],terms_text:"IBGE, OSM Brasil",icon:"https://osmlab.github.io/editor-layer-index/sources/south-america/br/IBGE.png",overlay:true},{id:"IBGE_BC250_Aglomerado_Rural",name:"IBGE-BC250-Aglomerado Rural Isolado",type:"wms",template:"http://www.geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Aglomerado_Rural_Isolado_P&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.83894],[-66.52331,-9.98587],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BC250_Pista_Pouso",name:"IBGE-BC250-Pista de Pouso",type:"wms",template:"http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Pista_Ponto_Pouso_L&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.83894],[-66.52331,-9.98587],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BC250_Rios_Drenagem",name:"IBGE-BC250-Rios Drenagem",type:"wms",template:"http://www.geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Trecho_Drenagem_L&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.83894],[-66.52331,-9.98587],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BC250_Terra_Indegina",name:"IBGE-BC250-Terra Indigena",type:"wms",template:"http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Terra_Indigena_A&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.83894],[-66.52331,-9.98587],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BC250_Rodoviario",name:"IBGE-BC250-Trecho Rodoviario",type:"wms",template:"http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Trecho_Rodoviario_L&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image/png&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.83894],[-66.52331,-9.98587],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BC250_Uso_Sustentavel",name:"IBGE-BC250-Unidade de Uso Sistentável - APA",type:"wms",template:"http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Unidade_Uso_Sustentavel_A&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.83894],[-66.52331,-9.98587],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BC250_Villa",name:"IBGE-BC250-Villa",type:"wms",template:"http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Vila_P&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.83894],[-66.52331,-9.98587],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BCIM_Gerador_Eletrica",name:"IBGE-BCIM-Estações Geradora de Energia Elétrica",type:"wms",template:"http://www.geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BCIM_Est_Gerad_Energia_Eletrica_P&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.83894],[-66.52331,-9.98587],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BCIM_Municipio",name:"IBGE-BCIM-Município",type:"wms",template:"http://www.geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BCIM_Municipio_A&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.83894],[-66.52331,-9.98587],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"ign-topografico-tms",name:"IGN topographical map (TMS)",type:"tms",template:"https://ide.ign.gob.ar/geoservicios/rest/services/Mapas_IGN/mapa_topografico/MapServer/tile/{zoom}/{y}/{x}",zoomExtent:[1,20],polygon:[[[-55.5438,-35.77219],[-64.31743,-49.44788],[-61.52546,-55.68296],[-66.04226,-55.24192],[-66.6896,-55.17191],[-66.86233,-55.04496],[-67.23387,-54.9245],[-67.47633,-54.92785],[-67.71808,-54.91261],[-67.96138,-54.88571],[-68.18753,-54.89288],[-68.61804,-54.92151],[-68.66375,-52.66716],[-68.51023,-52.39432],[-70.01629,-52.05707],[-72.05562,-52.01749],[-72.09055,-51.93758],[-72.02273,-51.88832],[-72.49598,-51.597],[-72.3623,-51.25935],[-72.46252,-51.08654],[-72.31217,-50.90093],[-72.39293,-50.69005],[-72.49148,-50.66866],[-72.59646,-50.73916],[-72.76983,-50.68829],[-73.22154,-50.87193],[-73.22709,-50.66897],[-73.39438,-50.58008],[-73.57703,-50.15788],[-73.53993,-50.01443],[-73.61453,-49.91795],[-73.52684,-49.7716],[-73.02779,-49.70085],[-73.02788,-49.23743],[-73.16148,-49.13062],[-72.96385,-48.89084],[-72.80952,-48.90039],[-72.59462,-48.77255],[-72.63621,-48.45823],[-72.46698,-48.45706],[-72.42158,-48.31422],[-72.3428,-48.29046],[-72.37166,-48.15995],[-72.57678,-47.96054],[-72.5731,-47.72062],[-72.3839,-47.57888],[-72.38448,-47.41759],[-72.07162,-47.2755],[-72.04726,-47.14867],[-71.93566,-47.15037],[-72.00956,-47.08473],[-72.00759,-46.78833],[-71.71488,-46.64453],[-71.7985,-46.26925],[-71.97019,-46.14972],[-71.63332,-45.97063],[-71.66595,-45.89232],[-71.77408,-45.85187],[-71.8548,-45.61169],[-71.7885,-45.50505],[-71.58354,-45.45607],[-71.58236,-45.36316],[-71.40574,-45.27206],[-71.61593,-45.03146],[-72.07949,-44.93988],[-72.11766,-44.73884],[-71.47444,-44.68048],[-71.2897,-44.75036],[-71.28469,-44.60892],[-71.20209,-44.5359],[-71.40536,-44.44891],[-71.86374,-44.44274],[-71.9047,-44.10354],[-71.70007,-43.98287],[-71.78725,-43.80985],[-71.63263,-43.65888],[-71.87866,-43.56195],[-71.95542,-43.44292],[-71.91512,-43.319],[-71.80268,-43.29535],[-71.73869,-43.19234],[-71.94149,-43.11061],[-72.18001,-42.8948],[-72.18733,-42.66619],[-72.06314,-42.53751],[-72.0441,-42.41231],[-72.14365,-42.40333],[-72.20024,-42.17229],[-72.17802,-42.13207],[-72.06032,-42.10593],[-71.78041,-42.12128],[-71.83133,-41.78089],[-71.94135,-41.60926],[-71.9023,-41.06778],[-72.02097,-40.73647],[-71.91507,-40.61832],[-71.87117,-40.38959],[-71.76665,-40.35676],[-71.87961,-40.24227],[-71.8856,-40.10093],[-71.67779,-39.92156],[-71.74365,-39.86164],[-71.77001,-39.61946],[-71.68665,-39.50983],[-71.58545,-39.55159],[-71.45202,-39.31025],[-71.47673,-38.89162],[-71.25594,-38.74909],[-70.95844,-38.70272],[-70.89411,-38.57644],[-71.03346,-38.45451],[-71.08724,-38.09054],[-71.23505,-37.86541],[-71.26668,-37.68295],[-71.18031,-37.4828],[-71.27241,-37.28686],[-71.17697,-37.1077],[-71.27586,-36.9637],[-71.20495,-36.91075],[-71.2345,-36.83303],[-71.07654,-36.43571],[-70.96469,-36.43366],[-70.90086,-36.34336],[-70.77062,-36.35412],[-70.59553,-36.12118],[-70.44219,-36.14876],[-70.42788,-35.73781],[-70.50607,-35.38014],[-70.59764,-35.34459],[-70.63128,-35.23712],[-70.42629,-35.12462],[-70.32933,-34.83081],[-70.35687,-34.72532],[-70.07752,-34.38253],[-70.06901,-34.24694],[-69.87771,-34.20233],[-69.95948,-33.77235],[-69.83371,-33.34911],[-70.02502,-33.37388],[-70.14906,-33.04145],[-70.06223,-33.01233],[-70.00981,-32.90747],[-70.19517,-32.75732],[-70.19589,-32.50891],[-70.28486,-32.45564],[-70.44343,-32.05325],[-70.41077,-31.9809],[-70.29402,-31.95849],[-70.5117,-31.85844],[-70.62295,-31.59949],[-70.59941,-31.29869],[-70.5377,-31.08557],[-70.35748,-31.0002],[-70.20264,-30.32249],[-69.97775,-30.32288],[-69.847,-30.16294],[-70.01824,-30.10003],[-69.95038,-29.73744],[-70.03755,-29.35428],[-69.97565,-29.18743],[-69.85112,-29.06923],[-69.70118,-28.37779],[-69.20484,-27.90816],[-68.84844,-27.13115],[-68.76133,-27.08588],[-68.60693,-27.09636],[-68.3489,-26.92771],[-68.64137,-26.50722],[-68.60352,-26.25391],[-68.45177,-26.1377],[-68.63052,-25.43524],[-68.55582,-25.14476],[-68.44595,-25.0658],[-68.62011,-24.81717],[-68.55162,-24.58836],[-68.28078,-24.34935],[-67.32648,-24.02538],[-66.99882,-23.00044],[-67.18775,-22.81375],[-67.08088,-22.62433],[-67.03366,-22.53815],[-66.84345,-22.39746],[-66.73734,-22.22282],[-66.38248,-22.07602],[-66.28978,-21.76554],[-66.21845,-21.72575],[-65.89675,-21.88263],[-65.71368,-22.09054],[-65.61493,-22.09152],[-65.60973,-22.09505],[-65.60607,-22.09358],[-65.60256,-22.09658],[-65.60015,-22.09543],[-65.59229,-22.09511],[-65.59015,-22.09735],[-65.58691,-22.09645],[-65.58512,-22.08432],[-65.57523,-22.07312],[-65.47487,-22.08487],[-64.99026,-22.06739],[-64.59768,-22.19269],[-64.52643,-22.29504],[-64.33114,-22.68517],[-64.10381,-22.34114],[-64.10712,-22.32023],[-64.06522,-22.23093],[-64.04702,-22.23757],[-64.03654,-22.19469],[-64.0029,-22.10735],[-63.99022,-22.07925],[-63.97147,-22.07619],[-63.94118,-21.99823],[-63.70932,-21.99896],[-63.68839,-22.01037],[-63.68079,-22.03116],[-63.68507,-22.04019],[-63.68156,-22.05185],[-63.67659,-22.03287],[-63.67201,-22.02293],[-63.66821,-22.01634],[-63.67191,-22.01399],[-63.66566,-21.99839],[-62.79606,-21.98778],[-62.74618,-22.10033],[-62.18511,-22.50843],[-61.93761,-22.97376],[-61.45605,-23.36182],[-61.05842,-23.56621],[-60.95137,-23.75997],[-60.28746,-24.01906],[-60.03728,-24.00408],[-59.46607,-24.33428],[-59.12256,-24.59772],[-58.46645,-24.84584],[-58.332,-24.98132],[-58.2349,-24.91756],[-57.8565,-25.08005],[-57.76981,-25.15013],[-57.75374,-25.17277],[-57.71597,-25.26456],[-57.71837,-25.27146],[-57.71111,-25.27265],[-57.71008,-25.28146],[-57.70692,-25.2845],[-57.70438,-25.28159],[-57.70273,-25.28239],[-57.70175,-25.28459],[-57.69741,-25.28283],[-57.69281,-25.28588],[-57.69733,-25.29337],[-57.70246,-25.29847],[-57.69612,-25.30832],[-57.69763,-25.3199],[-57.69143,-25.32127],[-57.67993,-25.33318],[-57.64822,-25.3679],[-57.63902,-25.38287],[-57.61504,-25.38841],[-57.59954,-25.39704],[-57.57673,-25.42029],[-57.56698,-25.43147],[-57.55477,-25.43999],[-57.55285,-25.44705],[-57.55811,-25.45717],[-57.55763,-25.46897],[-57.56523,-25.48014],[-57.56806,-25.49501],[-57.57722,-25.50575],[-57.57566,-25.52264],[-57.5661,-25.54112],[-57.56809,-25.55797],[-57.58142,-25.57145],[-57.59952,-25.57438],[-57.60444,-25.59855],[-57.6122,-25.61963],[-57.6367,-25.61807],[-57.66569,-25.60273],[-57.67006,-25.65579],[-57.67513,-25.66052],[-57.68626,-25.66287],[-57.69808,-25.65933],[-57.71855,-25.64914],[-57.72537,-25.71924],[-57.77786,-25.77559],[-57.84986,-26.01142],[-58.08597,-26.14202],[-58.13896,-26.66834],[-58.28224,-26.80127],[-58.32056,-26.82169],[-58.3167,-26.86081],[-58.32384,-26.87074],[-58.56858,-27.20629],[-57.90834,-27.24265],[-56.99114,-27.41858],[-56.60886,-27.36586],[-56.40607,-27.52701],[-56.32355,-27.36897],[-56.09353,-27.25219],[-55.76168,-27.38106],[-55.65541,-27.30153],[-55.67524,-27.17004],[-55.59643,-27.06538],[-55.40826,-26.91763],[-55.20788,-26.89214],[-54.97304,-26.63717],[-54.8532,-26.59894],[-54.72264,-26.31238],[-54.73235,-25.98554],[-54.65309,-25.84138],[-54.71357,-25.66721],[-54.62995,-25.55106],[-54.44288,-25.5795],[-54.11451,-25.4396],[-53.80059,-25.65093],[-53.766,-25.94301],[-53.59024,-26.19274],[-53.67264,-26.61495],[-53.61669,-26.95395],[-53.76351,-27.18917],[-54.15393,-27.36033],[-54.26461,-27.49923],[-54.79439,-27.6397],[-55.0044,-27.90341],[-55.19076,-27.92946],[-55.41589,-28.14304],[-55.66542,-28.26547],[-55.61633,-28.32205],[-55.65957,-28.46539],[-55.83413,-28.42136],[-55.87339,-28.49468],[-56.13558,-28.7265],[-56.37343,-29.10817],[-56.569,-29.13892],[-56.76306,-29.48638],[-57.05958,-29.72263],[-57.24463,-29.86452],[-57.3045,-30.03966],[-57.61942,-30.20517],[-57.60863,-30.32424],[-57.82983,-30.53118],[-57.75241,-30.68756],[-57.75273,-30.91942],[-57.93419,-31.27388],[-57.99,-31.36053],[-57.98302,-31.3734],[-57.97736,-31.38022],[-57.97778,-31.38599],[-57.98203,-31.39213],[-58.00944,-31.41341],[-58.06637,-31.47395],[-57.92613,-31.57745],[-57.98622,-31.77449],[-58.12179,-31.89772],[-58.11905,-32.14059],[-58.04227,-32.29153],[-58.14327,-32.45845],[-58.0758,-33.00587],[-58.18964,-33.09402],[-58.2723,-33.1061],[-58.31012,-33.1048],[-58.35418,-33.1221],[-58.37567,-33.17644],[-58.44465,-33.5853],[-58.43016,-33.71813],[-58.42434,-33.86887],[-58.41858,-33.91742],[-58.33697,-34.00477],[-58.241,-34.16246],[-57.84696,-34.50017],[-55.5438,-35.77219]]],terms_url:"http://www.ign.gob.ar/",terms_text:"Instituto Geográfico Nacional de la República Argentina",icon:"http://www.ign.gob.ar/sites/default/files/favicon.png"},{id:"Haiti-Drone",name:"Imagerie Drone (Haiti)",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/iomhaiti/{zoom}/{x}/{y}",zoomExtent:[0,21],polygon:[[[-72.15474,19.6879],[-72.15458,19.6878],[-72.15485,19.68776],[-72.15472,19.68685],[-72.15431,19.68707],[-72.15463,19.68544],[-72.15301,19.68499],[-72.15086,19.68435],[-72.15045,19.68479],[-72.15078,19.68315],[-72.15223,19.6833],[-72.15282,19.68066],[-72.15186,19.68051],[-72.15191,19.68034],[-72.15227,19.68035],[-72.15238,19.67972],[-72.15328,19.67965],[-72.15333,19.67698],[-72.15308,19.67694],[-72.15348,19.67638],[-72.14878,19.67107],[-72.13664,19.67081],[-72.13557,19.67408],[-72.13573,19.68351],[-72.13679,19.68407],[-72.13695,19.68559],[-72.13778,19.685],[-72.13782,19.68727],[-72.13888,19.68767],[-72.13881,19.69013],[-72.13853,19.68949],[-72.13806,19.68964],[-72.13869,19.69232],[-72.13825,19.69276],[-72.13948,19.69737],[-72.14101,19.7],[-72.1437,19.70112],[-72.14851,19.70015],[-72.14772,19.70268],[-72.14874,19.7029],[-72.1616,19.70357],[-72.16578,19.698],[-72.165,19.69324],[-72.16223,19.68901],[-72.15474,19.6879]],[[-72.13106,19.67189],[-72.12598,19.67728],[-72.12554,19.67762],[-72.12169,19.67764],[-72.11497,19.6726],[-72.11527,19.66872],[-72.11982,19.66275],[-72.12278,19.66257],[-72.1249,19.6627],[-72.12858,19.66454],[-72.13081,19.66617],[-72.13167,19.66879],[-72.13156,19.671],[-72.13106,19.67189]],[[-71.84579,19.67098],[-71.84294,19.67595],[-71.841,19.67595],[-71.83802,19.67553],[-71.83787,19.6745],[-71.83905,19.67439],[-71.83901,19.67411],[-71.83984,19.67395],[-71.83891,19.67361],[-71.83802,19.67209],[-71.83801,19.67263],[-71.83767,19.67272],[-71.83763,19.67254],[-71.83544,19.67321],[-71.83533,19.673],[-71.83312,19.67346],[-71.83267,19.67168],[-71.83216,19.67209],[-71.83072,19.66949],[-71.8306,19.66976],[-71.83022,19.66989],[-71.82918,19.66721],[-71.82907,19.66721],[-71.82891,19.66679],[-71.82895,19.66662],[-71.82883,19.66635],[-71.82856,19.66648],[-71.82887,19.66725],[-71.82876,19.66741],[-71.8278,19.66782],[-71.82771,19.66786],[-71.82783,19.66796],[-71.82718,19.66812],[-71.82718,19.66809],[-71.82644,19.66839],[-71.82641,19.66832],[-71.8262,19.66843],[-71.82618,19.66836],[-71.82589,19.66842],[-71.82589,19.66866],[-71.82516,19.66875],[-71.82545,19.66916],[-71.82293,19.66957],[-71.82271,19.66967],[-71.82277,19.66976],[-71.82018,19.67099],[-71.81985,19.67045],[-71.8198,19.6706],[-71.81947,19.67076],[-71.81825,19.67134],[-71.81814,19.67114],[-71.81758,19.67143],[-71.81696,19.67077],[-71.81764,19.6719],[-71.81714,19.67204],[-71.81582,19.6718],[-71.81384,19.67119],[-71.81233,19.6707],[-71.81218,19.67043],[-71.81243,19.67015],[-71.81192,19.67001],[-71.81188,19.67058],[-71.81117,19.67035],[-71.80959,19.66985],[-71.8078,19.66928],[-71.8056,19.66861],[-71.80514,19.66689],[-71.80512,19.66523],[-71.80523,19.66198],[-71.80656,19.65239],[-71.80734,19.64829],[-71.80997,19.64683],[-71.81475,19.64545],[-71.81477,19.64556],[-71.815,19.64551],[-71.81495,19.64538],[-71.81599,19.64502],[-71.81589,19.64489],[-71.81659,19.64461],[-71.81901,19.6438],[-71.82115,19.64345],[-71.82216,19.64333],[-71.8269,19.64321],[-71.82805,19.64322],[-71.83045,19.64408],[-71.83064,19.64486],[-71.82953,19.64504],[-71.82961,19.64561],[-71.82994,19.64557],[-71.83037,19.64517],[-71.83047,19.64535],[-71.83081,19.6452],[-71.83102,19.64511],[-71.83125,19.64585],[-71.83111,19.64582],[-71.83137,19.64659],[-71.83289,19.64619],[-71.83446,19.64571],[-71.83447,19.64631],[-71.83422,19.64619],[-71.8342,19.64655],[-71.83467,19.6463],[-71.83491,19.64639],[-71.8348,19.64622],[-71.83544,19.64585],[-71.8355,19.6458],[-71.83647,19.64613],[-71.83764,19.64727],[-71.83791,19.64789],[-71.83905,19.6508],[-71.84569,19.66962],[-71.84579,19.67098]],[[-72.09888,18.54843],[-72.09907,18.54838],[-72.09991,18.54809],[-72.10234,18.54813],[-72.10252,18.54814],[-72.10229,18.54826],[-72.10229,18.54828],[-72.10256,18.54815],[-72.10272,18.54814],[-72.10343,18.54871],[-72.10354,18.5489],[-72.10352,18.54974],[-72.10349,18.54974],[-72.10351,18.55003],[-72.10285,18.55018],[-72.1029,18.55025],[-72.10287,18.55031],[-72.10352,18.55024],[-72.1035,18.55152],[-72.10338,18.55152],[-72.10308,18.55161],[-72.10348,18.55162],[-72.10342,18.55435],[-72.10243,18.5555],[-72.10149,18.55562],[-72.10062,18.55559],[-72.0979,18.55521],[-72.09688,18.55466],[-72.09652,18.55421],[-72.09661,18.55417],[-72.09651,18.55417],[-72.09654,18.55398],[-72.09644,18.55355],[-72.09628,18.55357],[-72.09621,18.5532],[-72.09599,18.55337],[-72.09564,18.55267],[-72.09556,18.55185],[-72.09685,18.55035],[-72.09729,18.55032],[-72.09699,18.5502],[-72.09888,18.54843]],[[-72.25425,18.56826],[-72.25603,18.57178],[-72.25579,18.5748],[-72.2535,18.57555],[-72.25228,18.57555],[-72.24999,18.57409],[-72.24739,18.56983],[-72.24601,18.56673],[-72.24585,18.56295],[-72.24794,18.56254],[-72.25015,18.5628],[-72.25192,18.56508],[-72.25425,18.56826]],[[-72.30315,18.53327],[-72.30313,18.53318],[-72.30483,18.53111],[-72.30974,18.53111],[-72.31643,18.53243],[-72.32341,18.53661],[-72.32614,18.53878],[-72.32619,18.54264],[-72.31705,18.55406],[-72.31309,18.55406],[-72.29875,18.54533],[-72.29886,18.54073],[-72.2963,18.54047],[-72.29546,18.53952],[-72.29619,18.53386],[-72.29719,18.53322],[-72.3007,18.53328],[-72.30227,18.53423],[-72.30285,18.53352],[-72.3031,18.53334],[-72.30318,18.5334],[-72.30358,18.53356],[-72.30308,18.53465],[-72.30371,18.53399],[-72.30453,18.53441],[-72.3044,18.53451],[-72.30627,18.53526],[-72.30631,18.53527],[-72.30612,18.53576],[-72.30612,18.53582],[-72.30637,18.53589],[-72.30627,18.53549],[-72.30667,18.53509],[-72.3062,18.53497],[-72.30589,18.53494],[-72.30554,18.53468],[-72.30549,18.53461],[-72.30556,18.53451],[-72.30467,18.53423],[-72.30476,18.53388],[-72.30433,18.53375],[-72.30426,18.53363],[-72.30315,18.53327]],[[-72.29814,18.4775],[-72.29357,18.49486],[-72.29222,18.49643],[-72.29317,18.49725],[-72.28923,18.50571],[-72.28781,18.5081],[-72.28505,18.51199],[-72.28402,18.51132],[-72.28086,18.51588],[-72.27732,18.5176],[-72.27235,18.51752],[-72.26627,18.51446],[-72.26659,18.50668],[-72.26926,18.50462],[-72.2662,18.50298],[-72.26882,18.49652],[-72.26915,18.49594],[-72.27027,18.49615],[-72.27027,18.4956],[-72.26907,18.49557],[-72.26929,18.49377],[-72.2737,18.486],[-72.27467,18.48504],[-72.27518,18.4834],[-72.27654,18.48134],[-72.27735,18.4815],[-72.2783,18.48097],[-72.27785,18.4807],[-72.2771,18.48012],[-72.279,18.47758],[-72.27972,18.47729],[-72.28064,18.47764],[-72.28137,18.47716],[-72.28084,18.47698],[-72.28128,18.47584],[-72.28232,18.47518],[-72.28516,18.4751],[-72.28499,18.47637],[-72.28544,18.47698],[-72.28628,18.47563],[-72.28693,18.47547],[-72.2866,18.47519],[-72.2866,18.475],[-72.29098,18.47473],[-72.29466,18.47494],[-72.29739,18.47684],[-72.29814,18.4775]],[[-72.34667,18.52224],[-72.34683,18.52443],[-72.34753,18.52776],[-72.34555,18.52911],[-72.34031,18.52922],[-72.33833,18.52803],[-72.3369,18.53012],[-72.33381,18.52967],[-72.32893,18.52708],[-72.32865,18.52533],[-72.32921,18.52327],[-72.33041,18.52205],[-72.33216,18.52218],[-72.33225,18.5192],[-72.33692,18.51836],[-72.3382,18.51847],[-72.33815,18.51818],[-72.3412,18.51779],[-72.34549,18.5172],[-72.34926,18.51728],[-72.35043,18.51889],[-72.35035,18.52061],[-72.34968,18.52204],[-72.34667,18.52224]],[[-72.33031,18.54865],[-72.34297,18.55081],[-72.34332,18.55306],[-72.34131,18.56143],[-72.33906,18.56136],[-72.33847,18.56383],[-72.33753,18.56543],[-72.33484,18.56506],[-72.33118,18.56383],[-72.33121,18.56162],[-72.32321,18.56069],[-72.32124,18.5596],[-72.3208,18.5587],[-72.32088,18.55788],[-72.32595,18.55803],[-72.32662,18.5582],[-72.32592,18.55775],[-72.3251,18.55738],[-72.32338,18.55226],[-72.3246,18.54785],[-72.3289,18.54837],[-72.32998,18.54895],[-72.33031,18.54865]],[[-72.32314,18.52698],[-72.32234,18.52807],[-72.32096,18.52797],[-72.32078,18.52713],[-72.32085,18.52537],[-72.32146,18.52496],[-72.32257,18.52489],[-72.32285,18.52533],[-72.32324,18.52648],[-72.32314,18.52698]],[[-72.21608,18.64578],[-72.21596,18.65538],[-72.20303,18.65583],[-72.19471,18.65534],[-72.19222,18.65456],[-72.19206,18.65213],[-72.19348,18.64776],[-72.20125,18.63852],[-72.20693,18.63882],[-72.2121,18.64241],[-72.21181,18.64306],[-72.21217,18.64269],[-72.2128,18.64276],[-72.21347,18.64313],[-72.21356,18.64375],[-72.21542,18.64439],[-72.21589,18.64503],[-72.21608,18.64578]],[[-72.28677,18.6482],[-72.2901,18.65274],[-72.28981,18.65365],[-72.29007,18.65427],[-72.29072,18.65377],[-72.29103,18.65447],[-72.29125,18.65422],[-72.29168,18.65589],[-72.29122,18.65661],[-72.29227,18.65597],[-72.29269,18.65675],[-72.29307,18.65673],[-72.29413,18.65818],[-72.29602,18.66084],[-72.29597,18.66191],[-72.29329,18.66457],[-72.29067,18.666],[-72.28959,18.66613],[-72.28959,18.66657],[-72.2877,18.66647],[-72.28758,18.66766],[-72.28312,18.66972],[-72.27965,18.66965],[-72.27843,18.66908],[-72.2784,18.66877],[-72.27774,18.66917],[-72.27744,18.66914],[-72.27701,18.66832],[-72.27656,18.66811],[-72.27654,18.66806],[-72.27523,18.66852],[-72.27493,18.66746],[-72.27464,18.66743],[-72.27347,18.66821],[-72.27323,18.66827],[-72.27268,18.66716],[-72.27191,18.66743],[-72.27188,18.66734],[-72.26881,18.66819],[-72.26883,18.66718],[-72.26908,18.66682],[-72.26881,18.66679],[-72.26811,18.66707],[-72.26763,18.66738],[-72.26756,18.66669],[-72.26686,18.66695],[-72.26559,18.66736],[-72.26545,18.66701],[-72.26475,18.66741],[-72.26299,18.66819],[-72.26285,18.66818],[-72.26265,18.66761],[-72.2623,18.66771],[-72.26248,18.66792],[-72.26248,18.66823],[-72.26231,18.66826],[-72.2621,18.66797],[-72.26228,18.66892],[-72.26015,18.6689],[-72.25427,18.66879],[-72.25054,18.66835],[-72.25044,18.66954],[-72.24779,18.66989],[-72.24152,18.66979],[-72.24142,18.67419],[-72.23892,18.67398],[-72.23872,18.67346],[-72.23837,18.67331],[-72.2387,18.67395],[-72.23755,18.6739],[-72.23742,18.67351],[-72.23774,18.67334],[-72.23751,18.67326],[-72.23684,18.67349],[-72.23644,18.67241],[-72.23551,18.6726],[-72.2354,18.67242],[-72.2353,18.6729],[-72.23455,18.67269],[-72.23431,18.67246],[-72.23424,18.67347],[-72.23341,18.67346],[-72.23329,18.6733],[-72.23274,18.67329],[-72.23271,18.6735],[-72.2277,18.67253],[-72.22653,18.67165],[-72.2268,18.67157],[-72.2275,18.67159],[-72.22749,18.67145],[-72.22729,18.67146],[-72.22728,18.6713],[-72.22721,18.67136],[-72.22618,18.67137],[-72.2256,18.67088],[-72.22551,18.66945],[-72.22611,18.66969],[-72.22618,18.66959],[-72.22598,18.66955],[-72.22578,18.66914],[-72.22533,18.66946],[-72.22497,18.66947],[-72.22458,18.66788],[-72.22355,18.6677],[-72.22359,18.66759],[-72.22246,18.66763],[-72.22237,18.66702],[-72.22233,18.66709],[-72.22192,18.66703],[-72.22081,18.6669],[-72.22081,18.66653],[-72.22087,18.66636],[-72.2206,18.66681],[-72.22039,18.66664],[-72.21843,18.66505],[-72.21829,18.6641],[-72.21835,18.66084],[-72.21872,18.66065],[-72.21869,18.6606],[-72.21873,18.66045],[-72.21898,18.66032],[-72.21878,18.6602],[-72.2187,18.66024],[-72.21858,18.66004],[-72.21861,18.66],[-72.21878,18.66013],[-72.219,18.66002],[-72.21891,18.65991],[-72.21897,18.65979],[-72.21838,18.65958],[-72.21847,18.65397],[-72.2201,18.65116],[-72.2258,18.64695],[-72.2283,18.64573],[-72.23793,18.64586],[-72.23776,18.6447],[-72.24004,18.64325],[-72.2456,18.64335],[-72.24827,18.64504],[-72.24875,18.64367],[-72.25111,18.64298],[-72.25124,18.64334],[-72.25126,18.64316],[-72.25148,18.64314],[-72.25133,18.64297],[-72.25336,18.64235],[-72.25352,18.64268],[-72.25395,18.64254],[-72.25415,18.64293],[-72.25439,18.64287],[-72.25438,18.64275],[-72.25642,18.64232],[-72.25669,18.64314],[-72.25688,18.64286],[-72.25682,18.64253],[-72.25884,18.6421],[-72.25889,18.64225],[-72.25926,18.64223],[-72.25965,18.64241],[-72.25922,18.64069],[-72.25995,18.64048],[-72.26012,18.64063],[-72.26012,18.63994],[-72.26153,18.63947],[-72.26261,18.6391],[-72.26545,18.63873],[-72.27194,18.63868],[-72.2722,18.63886],[-72.27303,18.63942],[-72.27317,18.64126],[-72.27387,18.64103],[-72.27422,18.64161],[-72.27522,18.6417],[-72.27545,18.64157],[-72.27555,18.64169],[-72.27554,18.64175],[-72.27647,18.64186],[-72.27675,18.6419],[-72.2763,18.6426],[-72.27742,18.643],[-72.27798,18.64272],[-72.27858,18.64313],[-72.27857,18.64323],[-72.2789,18.64335],[-72.27985,18.64397],[-72.28587,18.64697],[-72.28677,18.6482]],[[-72.55572,18.53059],[-72.55559,18.5367],[-72.555,18.53797],[-72.5488,18.53792],[-72.54866,18.53728],[-72.54884,18.53063],[-72.54937,18.5301],[-72.55513,18.53012],[-72.55572,18.53059]],[[-72.62353,18.50799],[-72.62344,18.50952],[-72.62261,18.51043],[-72.62049,18.51185],[-72.61834,18.51075],[-72.61622,18.50832],[-72.61626,18.50647],[-72.61866,18.50444],[-72.6204,18.5045],[-72.62283,18.507],[-72.62353,18.50799]]]},{id:"osmim-imagicode-S2A_R119_N09_20160327T050917",name:"imagico.de: Adams Bridge",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R119_N09_20160327T050917&z={zoom}&x={x}&y={-y}",endDate:"2016-03-27T00:00:00.000Z",startDate:"2016-03-27T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[79.01779,8.82757],[79.01402,9.64678],[80.17642,9.65042],[80.17728,8.8313],[79.01779,8.82757]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Supplementing incomplete coverage in other sources (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC80700162014211LGN00",name:"imagico.de: Alaska Range",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80700162014211LGN00&z={zoom}&x={x}&y={-y}",endDate:"2014-07-31T00:00:00.000Z",startDate:"2014-07-31T00:00:00.000Z",zoomExtent:[0,12],polygon:[[[-152.70873,62.30357],[-152.70839,62.58153],[-152.00835,63.54646],[-148.99432,63.5333],[-148.99432,62.30357],[-152.70873,62.30357]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Recent summer image of the Alaska Range for mapping natural features (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-aral2",name:"imagico.de: Aral Sea (high water level)",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=aral2&z={zoom}&x={x}&y={-y}",endDate:"2016-03-03T00:00:00.000Z",startDate:"2016-03-03T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[58.049,43.2623],[58.049,46.7189],[58.1014,46.8645],[61.5524,46.8629],[61.5524,46.3896],[61.4675,45.3416],[60.6317,43.2623],[58.049,43.2623]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Water and wetland extents, dams etc. - some remaining winter ice in the north (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-aral1",name:"imagico.de: Aral Sea (low water level)",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=aral1&z={zoom}&x={x}&y={-y}",endDate:"2016-09-09T00:00:00.000Z",startDate:"2016-09-09T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[58.049,43.2623],[58.049,46.7334],[58.096,46.8645],[61.5524,46.8629],[61.5524,46.3896],[61.4685,45.3544],[60.6267,43.2623],[58.049,43.2623]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Water and wetland extents, dams etc. (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R067_S40_20170417T140051",name:"imagico.de: Bahía Blanca (high tide)",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R067_S40_20170417T140051&z={zoom}&x={x}&y={-y}",endDate:"2017-04-17T00:00:00.000Z",startDate:"2017-04-17T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[-62.9988,-40.7327],[-62.9988,-37.9476],[-61.7505,-37.9474],[-61.7501,-40.7322],[-62.9988,-40.7327]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Tidal flats and islands at the coast (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R067_S40_20170127T140051",name:"imagico.de: Bahía Blanca (low tide)",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R067_S40_20170127T140051&z={zoom}&x={x}&y={-y}",endDate:"2017-01-27T00:00:00.000Z",startDate:"2017-01-27T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[-62.9988,-40.7327],[-62.9988,-37.9476],[-61.7505,-37.9474],[-61.7501,-40.7322],[-62.9988,-40.7327]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Tidal flats and islands at the coast (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC81190582014075LGN00",name:"imagico.de: Bakun Reservoir",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81190582014075LGN00&z={zoom}&x={x}&y={-y}",endDate:"2014-03-16T00:00:00.000Z",startDate:"2014-03-16T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[114.36,2.02846],[113.53448,2.03],[113.53619,3.07077],[114.76512,3.06751],[114.76254,2.08816],[114.36,2.02846]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing in older pre-2011 images (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC81250592016107LGN00",name:"imagico.de: Batam",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81250592016107LGN00&z={zoom}&x={x}&y={-y}",endDate:"2016-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[104.00155,-0.00008],[104.00137,1.45099],[104.91015,1.45116],[104.91015,-0.00008],[104.00155,-0.00008]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing Islands in OSM (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC80770232017156LGN00",name:"imagico.de: Bogoslof Island",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80770232017156LGN00&z={zoom}&x={x}&y={-y}",endDate:"2017-06-05T00:00:00.000Z",startDate:"2017-06-05T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[-168.2544,53.8749],[-168.2544,54.0213],[-167.8591,54.0213],[-167.8591,53.8749],[-168.2544,53.8749]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Recent image from after the eruption (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC81800982013291LGN00",name:"imagico.de: Bouvet Island",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81800982013291LGN00&z={zoom}&x={x}&y={-y}",endDate:"2013-10-18T00:00:00.000Z",startDate:"2013-10-18T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[3.24653,-54.47047],[3.24653,-54.37539],[3.46385,-54.37539],[3.46385,-54.47047],[3.24653,-54.47047]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",best:true,description:"For more accurate coastline and glacier mapping (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R017_S67_20170223T022551",name:"imagico.de: Bunger Hills",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R017_S67_20170223T022551&z={zoom}&x={x}&y={-y}",endDate:"2017-02-23T00:00:00.000Z",startDate:"2017-02-23T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[96.1197,-67.6542],[96.1201,-67.1899],[98.7331,-65.044],[105.1028,-65.044],[105.1028,-65.7224],[103.3017,-67.6542],[96.1197,-67.6542]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Largest ice free area at the East Antarctic coast - shows considerable amounts of non-permanent ice. (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R065_N47_20160929T102022",name:"imagico.de: Central Alps in late September 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R065_N47_20160929T102022&z={zoom}&x={x}&y={-y}",endDate:"2016-09-29T00:00:00.000Z",startDate:"2016-09-29T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[10.55906,45.95485],[7.47396,45.95533],[7.55585,46.2708],[8.0547,47.66469],[11.75245,47.66481],[11.75245,46.81334],[11.38424,45.95509],[10.55906,45.95485]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date image for glacier mapping - beware of some fresh snow at higher altitudes (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC82050982015344LGN00",name:"imagico.de: Clerke Rocks",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC82050982015344LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-12-10T00:00:00.000Z",startDate:"2015-12-10T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[-34.17701,-55.29693],[-35.19599,-55.28285],[-35.16664,-54.72097],[-34.12517,-54.73465],[-34.1401,-55.29693],[-34.17701,-55.29693]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing in other image sources (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R086_N60_20160831T213532",name:"imagico.de: Cook Inlet",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R086_N60_20160831T213532&z={zoom}&x={x}&y={-y}",endDate:"2016-08-31T00:00:00.000Z",startDate:"2016-08-31T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[-154.5102,59.4577],[-154.5097,60.6888],[-153.5403,62.1718],[-148.0423,62.1718],[-148.0445,61.5342],[-149.7291,59.4584],[-154.5102,59.4577]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Tidal flats and glaciers in surrounding mountains (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-EO1A0040712016264110KF",name:"imagico.de: Coropuna",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=EO1A0040712016264110KF&z={zoom}&x={x}&y={-y}",endDate:"2016-09-21T00:00:00.000Z",startDate:"2016-09-21T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[-72.75945,-15.68684],[-72.75945,-15.4957],[-72.74434,-15.4263],[-72.41286,-15.4263],[-72.41286,-15.65296],[-72.42411,-15.68667],[-72.75945,-15.68684]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date image for glacier mapping (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R022_N06_20151221T103009",name:"imagico.de: Cotonou",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R022_N06_20151221T103009&z={zoom}&x={x}&y={-y}",endDate:"2015-12-21T00:00:00.000Z",startDate:"2015-12-21T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[1.83975,6.2578],[1.83975,7.11427],[2.5494,7.11427],[2.5494,6.48905],[2.49781,6.25806],[1.83975,6.2578]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Patchy and partly cloudy coverage in usual sources (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R040_N01_20160311T164128",name:"imagico.de: Darwin and Wolf islands, Galapagos",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R040_N01_20160311T164128&z={zoom}&x={x}&y={-y}",endDate:"2016-03-11T00:00:00.000Z",startDate:"2016-03-11T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[-92.05216,1.3213],[-92.05216,1.72181],[-91.74849,1.72181],[-91.74849,1.3213],[-92.05216,1.3213]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Recent image, only old and poor images in other sources currently (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC80360072014245LGN00",name:"imagico.de: Eastern Devon Island coast",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80360072014245LGN00&z={zoom}&x={x}&y={-y}",endDate:"2014-09-02T00:00:00.000Z",startDate:"2014-09-02T00:00:00.000Z",zoomExtent:[0,11],polygon:[[[-84.34799,74.38946],[-84.34799,75.8903],[-79.14871,75.8903],[-79.14871,74.38946],[-84.34799,74.38946]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Coastline mostly mapped meanwhile (false color IR)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC82160152013239LGN00",name:"imagico.de: Eastern Iceland",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC82160152013239LGN00&z={zoom}&x={x}&y={-y}",endDate:"2013-08-27T00:00:00.000Z",startDate:"2013-08-27T00:00:00.000Z",zoomExtent:[0,12],polygon:[[[-13.04701,64.21109],[-15.16496,64.22408],[-15.16805,64.81573],[-13.04357,64.8036],[-13.04701,64.21109]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing islets and inaccurate coast (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-AST_L1T_00302052007154424_20150518041444_91492",name:"imagico.de: El Altar",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=AST_L1T_00302052007154424_20150518041444_91492&z={zoom}&x={x}&y={-y}",endDate:"2012-02-05T00:00:00.000Z",startDate:"2012-02-05T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[-78.532,-1.80509],[-78.532,-1.60811],[-78.33562,-1.60811],[-78.33562,-1.80509],[-78.532,-1.80509]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"2007 ASTER image offering better glacier coverage than common sources (true color with estimated blue)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R009_S61_20160109",name:"imagico.de: Elephant Island/Clarence Island",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R009_S61_20160109&z={zoom}&x={x}&y={-y}",endDate:"2016-01-09T00:00:00.000Z",startDate:"2016-01-09T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[-56.13476,-61.63472],[-56.13476,-61.19936],[-55.83264,-60.84015],[-53.72343,-60.83982],[-53.72343,-61.63472],[-56.13476,-61.63472]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Fairly clear up-to-date image for updating glacier edges (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-enderby",name:"imagico.de: Enderby Land and Kemp Coast",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=enderby&z={zoom}&x={x}&y={-y}",endDate:"2017-03-27T00:00:00.000Z",startDate:"2017-01-25T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[45.4547,-68.5091],[45.4547,-67.5724],[49.7155,-65.7176],[59.2693,-65.7176],[67.3735,-67.3449],[67.3735,-68.2581],[67.088,-68.5091],[45.4547,-68.5091]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Sentinel-2 images of Enderby Land and Kemp Coast (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC82100502015347LGN00",name:"imagico.de: Fogo, Cape Verde",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC82100502015347LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-12-13T00:00:00.000Z",startDate:"2015-12-13T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[-24.75878,14.74814],[-24.75878,15.09249],[-24.26706,15.09249],[-24.26706,14.74814],[-24.75878,14.74814]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Image from after the 2014/2015 eruption (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-greenland",name:"imagico.de: Greenland mosaic",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=greenland&z={zoom}&x={x}&y={-y}",endDate:"2015-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[0,12],polygon:[[[-43.9774,59.7171],[-44.545,59.7302],[-44.9203,59.7672],[-45.3587,59.8218],[-45.763,59.8848],[-46.0859,59.9827],[-46.3381,60.119],[-46.577,60.2652],[-46.8114,60.4418],[-47.2635,60.5314],[-47.6937,60.5549],[-48.1457,60.6192],[-48.5771,60.7015],[-48.8689,60.8506],[-49.0578,61.0555],[-49.396,61.2957],[-49.7601,61.4934],[-50.2064,61.7324],[-50.4699,61.9539],[-50.8647,62.1596],[-51.0631,62.3869],[-51.2121,62.6001],[-51.3005,62.8389],[-51.4238,62.9979],[-51.6767,63.1944],[-51.9465,63.4079],[-52.0253,63.6377],[-52.2255,63.8378],[-52.3658,64.0705],[-52.4829,64.3792],[-52.4988,64.6788],[-52.789,64.9063],[-53.2046,65.1321],[-53.6649,65.4753],[-53.9977,65.8019],[-54.1348,66.1568],[-54.1441,66.5235],[-54.2285,66.8319],[-54.4519,67.303],[-54.5141,67.7648],[-54.604,68.2021],[-54.568,68.5698],[-54.598,68.8347],[-54.7606,69.1207],[-55.0028,69.4125],[-55.2735,69.6187],[-55.3808,69.8283],[-55.3945,70.0838],[-55.3094,70.2573],[-55.4307,70.479],[-55.5501,70.6707],[-55.7654,70.861],[-56.2489,71.2343],[-56.5018,71.5429],[-56.5867,71.9015],[-56.5189,72.2355],[-56.5085,72.5258],[-56.8923,72.8144],[-57.4027,73.1054],[-57.8066,73.4566],[-58.1461,73.7696],[-58.3554,74.0972],[-58.5125,74.3783],[-58.7336,74.6328],[-59.3551,74.8869],[-60.1412,75.102],[-61.0067,75.2763],[-61.911,75.3886],[-62.4706,75.5595],[-62.9776,75.7454],[-64.1463,75.779],[-65.4481,75.7235],[-66.7068,75.6792],[-67.8379,75.6525],[-69.0456,75.6195],[-70.055,75.5344],[-71.0898,75.4705],[-72.1119,75.4476],[-74.2311,76.4102],[-74.5601,76.5328],[-74.5601,82.6959],[-14.4462,82.6959],[-14.3994,82.5997],[-13.5339,82.4379],[-12.0312,82.3426],[-10.7796,82.3196],[-10.7796,80.1902],[-11.2123,80.069],[-11.136,79.8103],[-10.7796,79.5176],[-10.7796,79.0441],[-11.2626,78.7128],[-12.2579,78.3558],[-13.2398,78.1272],[-13.7649,77.9279],[-14.1169,77.6779],[-14.7129,77.5278],[-15.5507,77.3655],[-16.0936,77.0771],[-16.0586,76.5548],[-15.838,75.9611],[-15.6879,75.4726],[-16.253,75.058],[-17.0427,74.6425],[-18.3155,74.2702],[-19.4463,73.9378],[-19.8329,73.632],[-20.2938,73.3524],[-20.7831,73.0446],[-21.01,72.6766],[-20.8774,72.2926],[-20.7672,71.8726],[-20.7765,71.4304],[-20.9411,70.9802],[-21.219,70.6126],[-21.5326,70.3001],[-21.8039,70.0911],[-22.166,69.8947],[-22.4831,69.7539],[-22.9027,69.6585],[-23.3545,69.544],[-23.9177,69.4036],[-24.1794,69.3088],[-24.6745,69.1084],[-25.1222,68.9555],[-25.6659,68.7995],[-26.0994,68.583],[-26.6316,68.4043],[-27.7638,68.2813],[-28.4575,68.0023],[-29.353,67.8135],[-30.6456,67.4911],[-31.7673,67.0005],[-32.9783,66.2596],[-33.9313,66.0156],[-34.8956,65.7403],[-35.5914,65.5208],[-36.1483,65.372],[-36.7532,65.2559],[-37.1858,65.1349],[-37.6032,64.9727],[-38.0624,64.4901],[-38.5304,64.1244],[-39.0545,63.7213],[-39.3131,63.4405],[-39.5739,62.7506],[-39.9532,62.2739],[-40.2757,61.8547],[-40.714,61.3365],[-41.2091,60.8495],[-41.821,60.5526],[-42.4368,60.3264],[-42.8643,60.0299],[-43.1131,59.9147],[-43.3282,59.83],[-43.5459,59.7695],[-43.797,59.7284],[-43.9774,59.7171]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Landsat mosaic of Greenland (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R047_S54_20160411T044330",name:"imagico.de: Heard Island coast",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R047_S54_20160411T044330&z={zoom}&x={x}&y={-y}",endDate:"2016-04-12T00:00:00.000Z",startDate:"2016-04-12T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[73.06897,-53.27059],[73.06897,-52.87549],[73.67338,-52.87673],[74.08863,-52.9495],[74.08863,-53.27059],[73.06897,-53.27059]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Recent image of Heard island with interior mostly cloud covered but mostly well visible coast (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC82280982013259LGN00",name:"imagico.de: Isla Londonderry",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC82280982013259LGN00&z={zoom}&x={x}&y={-y}",endDate:"2013-09-16T00:00:00.000Z",startDate:"2013-09-16T00:00:00.000Z",zoomExtent:[0,12],polygon:[[[-69.8568,-55.55949],[-72.26521,-55.14943],[-72.26521,-54.51089],[-72.08531,-54.17909],[-69.49116,-54.17889],[-69.4915,-55.28379],[-69.62231,-55.5591],[-69.8568,-55.55949]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"A lot of very coarse coastlines could be improved here, much snow cover though so no use for glacier mapping (false color IR)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-dms_kangerlussuaq_20151008",name:"imagico.de: Kangerlussuaq Autumn",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=dms_kangerlussuaq_20151008&z={zoom}&x={x}&y={-y}",endDate:"2015-10-08T00:00:00.000Z",startDate:"2015-10-08T00:00:00.000Z",zoomExtent:[0,17],polygon:[[[-50.6992,66.9888],[-50.721,67.0017],[-50.7341,67.0125],[-50.7396,67.0193],[-50.7396,67.0212],[-50.7158,67.0265],[-50.7017,67.0265],[-50.6829,67.0176],[-50.6686,67.0077],[-50.6638,66.998],[-50.6642,66.9946],[-50.6891,66.9888],[-50.6992,66.9888]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS image of the airport and settlement - alignment might be poor",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-dms_kangerlussuaq_20160518",name:"imagico.de: Kangerlussuaq Spring",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=dms_kangerlussuaq_20160518&z={zoom}&x={x}&y={-y}",endDate:"2016-05-18T00:00:00.000Z",startDate:"2016-05-18T00:00:00.000Z",zoomExtent:[0,18],polygon:[[[-50.7519,66.9996],[-50.7555,67.0023],[-50.7555,67.0033],[-50.6395,67.0297],[-50.6162,67.0339],[-50.6097,67.0281],[-50.6331,67.022],[-50.7323,66.9996],[-50.7519,66.9996]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS image of the airport and roads - alignment might be poor",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R021_N44_20160807T083013",name:"imagico.de: Kerch Strait",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R021_N44_20160807T083013&z={zoom}&x={x}&y={-y}",endDate:"2016-08-07T00:00:00.000Z",startDate:"2016-08-07T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[35.93259,44.96237],[35.93259,45.55926],[37.36991,45.55926],[37.36991,44.96237],[35.93259,44.96237]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"State of bridge construction in August 2016 (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R021_N44_20180429T082601",name:"imagico.de: Kerch Strait 2018",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R021_N44_20180429T082601&z={zoom}&x={x}&y={-y}",endDate:"2018-04-29T00:00:00.000Z",startDate:"2018-04-29T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[35.8787,45.0348],[35.8787,45.6095],[36.9208,45.6095],[36.9208,45.0348],[35.8787,45.0348]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Bridge and surrounding after completion in April 2018 (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-ls_polar2",name:"imagico.de: Landsat off-nadir July 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=ls_polar2&z={zoom}&x={x}&y={-y}",endDate:"2016-07-17T00:00:00.000Z",startDate:"2016-07-17T00:00:00.000Z",zoomExtent:[0,10],polygon:[[[-79.05175,81.91484],[-79.05175,83.43339],[-73.6039,83.80225],[-26.42449,83.80225],[-21.493,83.50352],[-16.88835,83.15095],[-16.88835,81.91484],[-79.05175,81.91484]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Latest images north of the regular Landsat limit (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-larsen_2018",name:"imagico.de: Larsen C ice shelf after calving",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=larsen_2018&z={zoom}&x={x}&y={-y}",endDate:"2018-01-06T00:00:00.000Z",startDate:"2018-01-06T00:00:00.000Z",zoomExtent:[0,12],polygon:[[[-62.7282,-68.9652],[-64.0489,-68.7318],[-64.0486,-68.5373],[-60.8845,-65.9399],[-59.9187,-65.9389],[-59.1088,-66.0775],[-59.1088,-68.8359],[-59.2544,-68.9652],[-62.7282,-68.9652]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"For updating the ice edge after the 2017 iceberg calving (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-AST_L1T_00311162013112731_20150618142416_109190",name:"imagico.de: Leskov Island ASTER",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=AST_L1T_00311162013112731_20150618142416_109190&z={zoom}&x={x}&y={-y}",endDate:"2013-11-16T00:00:00.000Z",startDate:"2013-11-16T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[-28.21075,-56.72108],[-28.21075,-56.62498],[-27.96956,-56.62498],[-27.96956,-56.72108],[-28.21075,-56.72108]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing in other image sources (true color with estimated blue)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC81991002015286LGN00",name:"imagico.de: Leskov Island Landsat",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81991002015286LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-10-13T00:00:00.000Z",startDate:"2015-10-13T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[-27.99293,-56.73479],[-28.22776,-56.73262],[-28.22416,-56.60075],[-27.96975,-56.60283],[-27.97319,-56.73479],[-27.99293,-56.73479]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing in other image sources (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2B_R005_S69_20180222T061749",name:"imagico.de: Lützow-Holm Bay",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2B_R005_S69_20180222T061749&z={zoom}&x={x}&y={-y}",endDate:"2018-02-22T00:00:00.000Z",startDate:"2018-02-22T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[35.124,-70.3693],[35.1241,-69.2795],[36.3864,-68.4765],[42.2208,-68.4762],[42.2208,-70.3651],[35.124,-70.3693]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date late season image or an area poorly mapped in OSM at the moment - lots of sea ice, be careful with distinguishing sea ice from ice shelves and floating glacier tongues. (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-ls_polar",name:"imagico.de: May 2013 off-nadir Landsat",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=ls_polar&z={zoom}&x={x}&y={-y}",endDate:"2013-05-17T00:00:00.000Z",startDate:"2013-05-17T00:00:00.000Z",zoomExtent:[0,10],polygon:[[[-85.76109,81.39333],[-89.83016,82.14952],[-89.83153,82.24405],[-84.99342,82.73099],[-79.95207,83.13108],[-74.55641,83.46267],[-69.35851,83.70451],[-28.20784,83.70451],[-23.06624,83.46532],[-17.96584,83.15518],[-17.96721,82.72386],[-22.78197,81.4419],[-85.76109,81.39333]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"First available image north of the regular Landsat limit, mostly with seasonal snow cover so difficult to interpret (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R042_S78_20170214T202521",name:"imagico.de: McMurdo Sound and Dry Valleys",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R042_S78_20170214T202521&z={zoom}&x={x}&y={-y}",endDate:"2017-02-14T00:00:00.000Z",startDate:"2017-02-14T00:00:00.000Z",zoomExtent:[0,12],polygon:[[[162.9125,-78.4514],[162.6595,-78.4257],[159.2712,-77.6013],[159.2712,-77.4108],[164.157,-76.477],[169.7813,-76.4764],[169.7813,-78.4514],[162.9125,-78.4514]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date late season image - not ice minimum, be careful with distinguishing sea ice from ice shelves. (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R092_S02_20160613T075613",name:"imagico.de: Mount Kenya 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R092_S02_20160613T075613&z={zoom}&x={x}&y={-y}",endDate:"2016-06-13T00:00:00.000Z",startDate:"2016-06-13T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[37.20666,-0.26685],[37.20666,-0.01193],[37.56552,-0.01193],[37.56552,-0.26685],[37.20666,-0.26685]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date image for glacier mapping (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R092_S05_20160802T075556",name:"imagico.de: Mount Kilimanjaro 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R092_S05_20160802T075556&z={zoom}&x={x}&y={-y}",endDate:"2016-08-02T00:00:00.000Z",startDate:"2016-08-02T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[37.24769,-3.22921],[37.24769,-2.96816],[37.61581,-2.96816],[37.61581,-3.22921],[37.24769,-3.22921]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date image for glacier mapping (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC80940622015159LGN00",name:"imagico.de: New Ireland",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80940622015159LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-06-08T00:00:00.000Z",startDate:"2015-06-08T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[150.38853,-2.80053],[150.38853,-2.3834],[150.83348,-2.3834],[150.83348,-2.80053],[150.38853,-2.80053]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Many missing islands in OSM (mostly mapped meanwhile) (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-northsea_s2_2016",name:"imagico.de: North Sea Coast 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=northsea_s2_2016&z={zoom}&x={x}&y={-y}",endDate:"2016-09-25T00:00:00.000Z",startDate:"2016-09-25T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[5.1562,52.8755],[5.1615,53.0325],[6.4155,55.7379],[9.8813,55.7459],[9.8813,53.2428],[9.6846,52.8877],[5.1562,52.8755]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-northsea_s2_2017",name:"imagico.de: North Sea Coast 2017",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=northsea_s2_2017&z={zoom}&x={x}&y={-y}",endDate:"2017-06-02T00:00:00.000Z",startDate:"2017-06-02T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[5.1713,53.0918],[6.477,55.8973],[9.8813,55.8973],[9.8813,53.2761],[9.7789,53.0918],[5.1713,53.0918]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-northsea_s2_2018",name:"imagico.de: North Sea Coast spring 2018",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=northsea_s2_2018&z={zoom}&x={x}&y={-y}",endDate:"2018-05-08T00:00:00.000Z",startDate:"2018-05-08T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[5.3179,53.0918],[5.322,53.4418],[6.7023,56.3572],[9.8813,56.3578],[9.8813,53.2819],[9.7758,53.0921],[5.3179,53.0918]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-caspian_2018",name:"imagico.de: Northeast Caspian Sea 2018",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=caspian_2018&z={zoom}&x={x}&y={-y}",endDate:"2018-05-16T00:00:00.000Z",startDate:"2018-05-16T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[51.0243,45.0729],[51.0243,46.569],[52.4259,46.5687],[53.6471,46.3177],[53.6474,45.0729],[51.0243,45.0729]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Coastal contruction and Kashagan oil field in Kazakhstan in May 2018 (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-ural_s2_2016",name:"imagico.de: Northern and Polar Ural mountains August 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=ural_s2_2016&z={zoom}&x={x}&y={-y}",endDate:"2016-08-12T00:00:00.000Z",startDate:"2016-08-12T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[59.19898,64.89205],[59.19898,66.91656],[60.73329,68.44289],[67.73295,68.44327],[67.73295,67.74883],[64.21647,64.91957],[59.19898,64.89205]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date late summer imagery with few clouds - caution: not all visible snow is glaciers (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-ndvina",name:"imagico.de: Northern Dvina delta at low tide",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=ndvina&z={zoom}&x={x}&y={-y}",endDate:"2015-09-13T00:00:00.000Z",startDate:"2015-09-13T00:00:00.000Z",zoomExtent:[0,12],polygon:[[[37.7291,64.1971],[37.7291,65.1161],[37.8592,65.2705],[41.3223,65.2705],[41.3223,64.3142],[41.2114,64.1973],[37.7291,64.1971]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Beaches, tidal flats and other costal forms (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-nellesmere_ast",name:"imagico.de: Northern Ellesmere Island",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=nellesmere_ast&z={zoom}&x={x}&y={-y}",endDate:"2012-07-09T00:00:00.000Z",startDate:"2012-07-09T00:00:00.000Z",zoomExtent:[0,10],polygon:[[[-81.62923,82.4597],[-83.03136,82.47986],[-83.03136,83.05876],[-72.80309,83.09567],[-65.65786,83.03232],[-65.81167,82.4597],[-81.62923,82.4597]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Assembled from July 2012 ASTER imagery (true color with estimated blue)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-nellesmere_ast_2016",name:"imagico.de: Northern Ellesmere Island July 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=nellesmere_ast_2016&z={zoom}&x={x}&y={-y}",endDate:"2012-07-15T00:00:00.000Z",startDate:"2012-07-08T00:00:00.000Z",zoomExtent:[0,10],polygon:[[[-78.89729,82.17577],[-82.64501,82.19426],[-82.64501,83.08067],[-66.58986,83.08497],[-63.78011,82.98908],[-63.78011,82.72198],[-65.0092,82.17577],[-78.89729,82.17577]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Assembled from July 2016 ASTER imagery (true color with estimated blue)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC81960222015233LGN00vis",name:"imagico.de: Northern German west coast tidalflats",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81960222015233LGN00vis&z={zoom}&x={x}&y={-y}",endDate:"2015-08-21T00:00:00.000Z",startDate:"2015-08-21T00:00:00.000Z",zoomExtent:[0,12],polygon:[[[7.63568,53.28027],[7.63568,53.6677],[8.49433,55.50246],[9.20775,55.48106],[9.20775,53.28027],[7.63568,53.28027]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC81960222015233LGN00ir",name:"imagico.de: Northern German west coast tidalflats (infrared)",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81960222015233LGN00ir&z={zoom}&x={x}&y={-y}",endDate:"2015-08-21T00:00:00.000Z",startDate:"2015-08-21T00:00:00.000Z",zoomExtent:[0,12],polygon:[[[7.63568,53.28027],[7.63568,53.66811],[8.49433,55.50246],[9.20775,55.48106],[9.20775,53.28027],[7.63568,53.28027]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (false color IR)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-ngreenland_ast",name:"imagico.de: Northern Greenland ASTER",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=ngreenland_ast&z={zoom}&x={x}&y={-y}",endDate:"2012-08-13T00:00:00.000Z",startDate:"2005-06-21T00:00:00.000Z",zoomExtent:[0,10],polygon:[[[-52.49222,82.48972],[-52.49222,82.94295],[-49.28696,83.47312],[-44.5285,83.73214],[-29.5253,83.73214],[-25.26398,83.58271],[-21.18393,83.39776],[-21.18393,82.74312],[-23.40454,82.48972],[-52.49222,82.48972]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Assembled from mostly 2012 ASTER imagery, some 2005 images mainly in the northeast (true color with estimated blue)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-EO1A1350972013086110KF",name:"imagico.de: Northwest Heard Island",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=EO1A1350972013086110KF&z={zoom}&x={x}&y={-y}",endDate:"2013-03-13T00:00:00.000Z",startDate:"2013-03-13T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[73.2279,-53.20333],[73.2279,-53.01073],[73.25949,-52.94944],[73.78992,-52.94944],[73.78992,-53.06048],[73.71783,-53.20333],[73.2279,-53.20333]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Glaciers of Northwest Heard Island (mapped meanwhile) (false color IR)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R111_N09_20160604T154554",name:"imagico.de: Panama Canal",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R111_N09_20160604T154554&z={zoom}&x={x}&y={-y}",endDate:"2016-06-07T00:00:00.000Z",startDate:"2016-06-07T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[-80.01654,8.84898],[-80.01654,9.41481],[-79.46859,9.41481],[-79.46859,8.84898],[-80.01654,8.84898]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Images of the new locks (but partly cloudy) (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-EO1A0120532016364110KF",name:"imagico.de: Panama Canal - Pacific side",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=EO1A0120532016364110KF&z={zoom}&x={x}&y={-y}",endDate:"2016-12-30T00:00:00.000Z",startDate:"2016-12-30T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[-79.62539,8.77083],[-79.68684,8.82197],[-79.68667,8.93705],[-79.65363,9.09294],[-79.26816,9.09294],[-79.32833,8.77083],[-79.62539,8.77083]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"New locks with less clouds than in the Sentinel-2 image - make sure to check image alignment (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R078_N68_20160930T081002",name:"imagico.de: Pechora Sea Coast",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R078_N68_20160930T081002&z={zoom}&x={x}&y={-y}",endDate:"2016-09-30T00:00:00.000Z",startDate:"2016-09-30T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[53.1802,67.5344],[53.1821,68.414],[54.2107,69.3367],[55.3584,70.2786],[59.004,70.2786],[60.6947,69.977],[61.9837,69.7161],[61.9823,68.9395],[59.9153,67.5344],[53.1802,67.5344]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Sentinel-2 image of the Pechora Sea coast in autumn 2016 (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC81511242016033LGN00",name:"imagico.de: Pensacola Mountains",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81511242016033LGN00&z={zoom}&x={x}&y={-y}",endDate:"2016-02-02T00:00:00.000Z",startDate:"2016-02-02T00:00:00.000Z",zoomExtent:[0,10],polygon:[[[-53.20922,-84.12525],[-60.61538,-83.78609],[-60.61538,-82.29969],[-48.72405,-82.29987],[-44.52178,-82.43683],[-44.51354,-84.12525],[-53.20922,-84.12525]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Outside regular Landsat coverage and therefore not in LIMA and Bing/Mapbox (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R136_N41_20150831T093006",name:"imagico.de: Prokletije Mountains",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R136_N41_20150831T093006&z={zoom}&x={x}&y={-y}",endDate:"2015-08-31T00:00:00.000Z",startDate:"2015-08-31T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[19.11233,42.15316],[19.08426,43.08074],[20.63299,43.09603],[20.63788,42.16779],[19.11233,42.15316]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Late summer imagery where usual sources are severely limited by clouds and snow (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-DMS_1142622_03746_20110415_17533956",name:"imagico.de: Qasigiannguit",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=DMS_1142622_03746_20110415_17533956&z={zoom}&x={x}&y={-y}",endDate:"2011-04-15T00:00:00.000Z",startDate:"2011-04-15T00:00:00.000Z",zoomExtent:[0,15],polygon:[[[-51.23857,68.79972],[-51.24334,68.85303],[-51.15167,68.85303],[-51.14038,68.80116],[-51.23857,68.79972]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS image of the settlement - alignment might be poor",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC81510432015030LGN00",name:"imagico.de: Rann of Kutch",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81510432015030LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[0,12],polygon:[[[67.9684,22.36265],[67.86231,22.38392],[67.86231,24.88693],[71.48986,24.88693],[71.48986,22.36265],[67.9684,22.36265]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Land/water distinction difficult to properly map based on Bing/Mapbox images (false color IR)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R093_N41_20150828T092005",name:"imagico.de: Rila and Pirin Mountains",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R093_N41_20150828T092005&z={zoom}&x={x}&y={-y}",endDate:"2015-08-28T00:00:00.000Z",startDate:"2015-08-28T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[23.80811,41.58488],[22.99238,41.60195],[23.01186,42.29984],[23.99402,42.28339],[23.96561,41.58488],[23.80811,41.58488]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Late summer imagery where usual sources are severely limited by clouds and snow (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC81730602015040LGN00",name:"imagico.de: Rwenzori Mountains",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81730602015040LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-02-09T00:00:00.000Z",startDate:"2015-02-09T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[29.7663,0.20689],[29.7663,0.50918],[30.0346,0.50918],[30.0346,0.20689],[29.7663,0.20689]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Recent image of most of the remaining Rwenzori Mountains glaciers (false color IR)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R078_N01_20160702T082522",name:"imagico.de: Rwenzori Mountains 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R078_N01_20160702T082522&z={zoom}&x={x}&y={-y}",endDate:"2016-07-02T00:00:00.000Z",startDate:"2016-07-02T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[29.80514,0.23586],[29.80514,0.46709],[30.02503,0.46709],[30.02503,0.23586],[29.80514,0.23586]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date image for glacier mapping (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC80611072014036LGN00",name:"imagico.de: Scott Island",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80611072014036LGN00&z={zoom}&x={x}&y={-y}",endDate:"2014-02-05T00:00:00.000Z",startDate:"2014-02-05T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[-180,-67.42635],[-180,-67.32544],[-179.82473,-67.32538],[-179.82473,-67.42635],[-180,-67.42635]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing in other image sources (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC82100972015347LGN00",name:"imagico.de: Shag Rocks",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC82100972015347LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-12-13T00:00:00.000Z",startDate:"2015-12-13T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[-42.12875,-53.7205],[-42.14626,-53.45782],[-41.67573,-53.44586],[-41.65582,-53.70872],[-42.12875,-53.7205]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing in other image sources (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC81130622013270LGN00",name:"imagico.de: Southeastern Sulawesi",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81130622013270LGN00&z={zoom}&x={x}&y={-y}",endDate:"2013-09-27T00:00:00.000Z",startDate:"2013-09-27T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[120.84382,-3.59545],[120.84382,-3.15985],[120.98184,-2.51468],[122.62618,-2.51468],[122.62618,-3.00215],[122.5007,-3.59545],[120.84382,-3.59545]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing islands and coarse coastline due to cloud cover in Bing, lakes could also use additional detail (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC80281222016035LGN00",name:"imagico.de: Southern Transantarctic Mountains",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80281222016035LGN00&z={zoom}&x={x}&y={-y}",endDate:"2016-02-04T00:00:00.000Z",startDate:"2016-02-04T00:00:00.000Z",zoomExtent:[0,10],polygon:[[[156.96951,-84.50098],[154.50858,-84.46255],[154.50858,-82.60681],[175.46774,-82.58505],[177.00583,-83.52807],[177.00583,-84.19262],[171.93839,-84.34633],[166.83798,-84.4437],[161.67029,-84.50045],[156.96951,-84.50098]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Outside regular Landsat coverage and therefore not in LIMA and Bing/Mapbox (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC81030632015286LGN00",name:"imagico.de: Sudirman Range 2015",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81030632015286LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-10-13T00:00:00.000Z",startDate:"2015-10-13T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[136.4226,-4.2853],[136.4226,-3.6447],[137.7971,-3.6447],[137.7971,-4.2853],[136.4226,-4.2853]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Older image of the Sudirman Range with no fresh snow showing glacier extent (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R088_S05_20160812T011732",name:"imagico.de: Sudirman Range 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R088_S05_20160812T011732&z={zoom}&x={x}&y={-y}",endDate:"2016-08-12T00:00:00.000Z",startDate:"2016-08-12T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[136.8044,-4.2585],[136.8044,-3.7836],[137.7701,-3.7836],[137.7701,-4.2585],[136.8044,-4.2585]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Cloud free image of the Sudirman Range but with fresh snow (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-s2sval",name:"imagico.de: Svalbard mosaic",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=s2sval&z={zoom}&x={x}&y={-y}",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",zoomExtent:[0,12],polygon:[[[16.6108,76.4137],[16.4731,76.4268],[16.3788,76.4589],[14.4124,77.1324],[14.0784,77.2536],[10.9875,78.4054],[10.631,78.5605],[10.2314,78.8392],[10.3952,79.6074],[10.516,79.7731],[10.9632,79.8707],[20.2294,80.849],[20.4702,80.8493],[25.1752,80.6817],[33.4391,80.3438],[33.7809,80.3016],[34.0395,80.239],[33.977,80.1527],[25.5722,76.5917],[25.2739,76.481],[25.1416,76.4327],[24.937,76.4176],[16.6108,76.4137]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Sentinel-2 mosaic of Svalbard (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-DMS_1142636_160xx_20110507_1822xxxx",name:"imagico.de: Thule Air Base",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=DMS_1142636_160xx_20110507_1822xxxx&z={zoom}&x={x}&y={-y}",endDate:"2011-05-07T00:00:00.000Z",startDate:"2011-05-07T00:00:00.000Z",zoomExtent:[0,15],polygon:[[[-68.93977,76.51133],[-68.93977,76.5499],[-68.76635,76.55176],[-68.50993,76.55176],[-68.50744,76.51612],[-68.67897,76.51194],[-68.93977,76.51133]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS image - alignment might be poor",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-dms_thule2_2015.09.25",name:"imagico.de: Thule Airbase DMS low altitude overflight September 2015",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=dms_thule2_2015.09.25&z={zoom}&x={x}&y={-y}",endDate:"2015-09-25T00:00:00.000Z",startDate:"2015-09-25T00:00:00.000Z",zoomExtent:[0,17],polygon:[[[-68.74292,76.52636],[-68.74446,76.5284],[-68.74807,76.54939],[-68.74615,76.56017],[-68.72276,76.56022],[-68.72017,76.55775],[-68.71853,76.52921],[-68.71978,76.52637],[-68.74292,76.52636]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS aerial images from Thule Airbase - alignment might be poor",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-dms_thule_2015.10.06",name:"imagico.de: Thule Airbase DMS overflight October 2015",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=dms_thule_2015.10.06&z={zoom}&x={x}&y={-y}",endDate:"2015-10-06T00:00:00.000Z",startDate:"2015-10-06T00:00:00.000Z",zoomExtent:[0,16],polygon:[[[-68.81924,76.5251],[-68.82651,76.54177],[-68.77345,76.5439],[-68.7021,76.54545],[-68.59177,76.5456],[-68.59183,76.52793],[-68.6597,76.5251],[-68.81924,76.5251]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS aerial images from Thule Airbase - alignment might be poor",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-dms_thule_2015.09.25",name:"imagico.de: Thule Airbase DMS overflight September 2015",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=dms_thule_2015.09.25&z={zoom}&x={x}&y={-y}",endDate:"2015-09-25T00:00:00.000Z",startDate:"2015-09-25T00:00:00.000Z",zoomExtent:[0,16],polygon:[[[-68.77771,76.50688],[-68.77662,76.57064],[-68.68115,76.57065],[-68.6763,76.55384],[-68.6762,76.53074],[-68.68523,76.50688],[-68.77771,76.50688]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS aerial images from Thule Airbase - alignment might be poor",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R094_N79_20160812T105622",name:"imagico.de: Ushakov Island August 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R094_N79_20160812T105622&z={zoom}&x={x}&y={-y}",endDate:"2016-08-12T00:00:00.000Z",startDate:"2016-08-12T00:00:00.000Z",zoomExtent:[0,12],polygon:[[[78.45886,80.72643],[78.45886,80.9099],[80.48892,80.9099],[80.48892,80.72643],[78.45886,80.72643]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date late summer imagery with few clouds (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC80910682014358LGN00",name:"imagico.de: Vanatinai",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80910682014358LGN00&z={zoom}&x={x}&y={-y}",endDate:"2014-12-24T00:00:00.000Z",startDate:"2014-12-24T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[153.06138,-11.78923],[153.06138,-11.28869],[153.10927,-11.07229],[154.41201,-11.07229],[154.41201,-11.78923],[153.06138,-11.78923]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Coarse coastline due to cloud cover in Bing/Mapbox (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC82330892016031LGN00",name:"imagico.de: Volcán Calbuco",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC82330892016031LGN00&z={zoom}&x={x}&y={-y}",endDate:"2016-01-31T00:00:00.000Z",startDate:"2016-01-31T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[-72.86696,-41.51741],[-72.86696,-41.04527],[-72.23181,-41.04527],[-71.8751,-41.10829],[-72.00007,-41.51741],[-72.86696,-41.51741]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Image from after the 2015 eruption (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R089_N52_20160623T024048",name:"imagico.de: Vostochny Cosmodrome",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R089_N52_20160623T024048&z={zoom}&x={x}&y={-y}",endDate:"2016-06-23T00:00:00.000Z",startDate:"2016-06-23T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[126.36143,51.37553],[126.34804,52.33932],[128.60762,52.3409],[128.61174,51.37553],[126.36143,51.37553]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Recent image showing newest features (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-walps_autumn_2017",name:"imagico.de: Western Alps autumn colors 2017",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=walps_autumn_2017&z={zoom}&x={x}&y={-y}",endDate:"2017-10-17T00:00:00.000Z",startDate:"2017-10-17T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[4.6412,43.2493],[4.3118,43.2653],[4.3118,44.2167],[5.2562,46.965],[5.9151,48.7177],[7.3866,48.7467],[10.088,48.7467],[10.088,48.7032],[7.7819,43.2813],[7.76,43.2653],[7.3646,43.2493],[4.6412,43.2493]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Autumn colors in the Alps, Jura and southwestern Germany  (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-LC81490352013282LGN00",name:"imagico.de: Western Karakoram",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81490352013282LGN00&z={zoom}&x={x}&y={-y}",endDate:"2013-10-09T00:00:00.000Z",startDate:"2013-10-09T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[75.98364,34.97851],[73.96164,35.36957],[74.44281,37.09391],[76.50601,36.70267],[75.98364,34.97851]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Represents approximately minimum snow cover so can be well used for glacier mapping (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"osmim-imagicode-S2A_R039_S15_20160510T145731",name:"imagico.de: Willkanuta Mountains and Quelccaya Ice Cap",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R039_S15_20160510T145731&z={zoom}&x={x}&y={-y}",endDate:"2016-05-10T00:00:00.000Z",startDate:"2016-05-10T00:00:00.000Z",zoomExtent:[0,14],polygon:[[[-71.18071,-14.49785],[-71.17976,-13.71029],[-70.55637,-13.71263],[-70.55637,-14.49785],[-71.18071,-14.49785]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Poor and outdated imagery in other sources (true color)",icon:"https://osmlab.github.io/editor-layer-index/sources/misc/osmim-imagicode-LC81800982013291LGN00.png"},{id:"IPR-orotofoto-last-tms",name:"IPR ortofoto LAST (tmsproxy)",type:"tms",template:"https://osm-{switch:a,b,c}.zby.cz/tiles_ipr_last.php/{zoom}/{x}/{y}.jpg",zoomExtent:[1,20],polygon:[[[14.81232,49.93089],[14.18755,49.87687],[14.12025,50.19882],[14.74502,50.25247],[14.81232,49.93089]]]},{id:"IPR-orotofoto-vege-tms",name:"IPR ortofoto Low-Vegetation (tmsproxy)",type:"tms",template:"https://osm-{switch:a,b,c}.zby.cz/tiles_ipr_vege.php/{zoom}/{x}/{y}.jpg",zoomExtent:[1,20],polygon:[[[14.30454,49.99538],[14.31604,49.94205],[14.35,49.94508],[14.35384,49.92726],[14.42385,49.93352],[14.42009,49.95097],[14.48865,49.95709],[14.48479,49.97501],[14.55386,49.98117],[14.55012,49.99852],[14.58455,50.00159],[14.5883,49.98424],[14.69168,49.99346],[14.67634,50.06453],[14.71279,50.06777],[14.70115,50.12158],[14.6647,50.11834],[14.661,50.13543],[14.62755,50.13246],[14.61965,50.16895],[14.58543,50.16591],[14.58163,50.18344],[14.40776,50.168],[14.41156,50.15045],[14.37765,50.14744],[14.3738,50.16524],[14.33893,50.16214],[14.34278,50.14434],[14.27368,50.1382],[14.27749,50.12058],[14.2088,50.11447],[14.21289,50.09557],[14.24656,50.09857],[14.25417,50.06336],[14.21987,50.0603],[14.2237,50.04259],[14.258,50.04565],[14.26953,49.99226],[14.30454,49.99538]]]},{id:"GSGS3906",name:"Ireland British War Office 1:25k GSGS 3906",type:"tms",template:"https://mapwarper.net/layers/tile/101/{zoom}/{x}/{y}.png",zoomExtent:[0,18],polygon:[[[-9.31139,51.43828],[-7.36131,51.99302],[-7.33934,52.13149],[-6.9658,52.06231],[-6.23796,52.1534],[-6.21049,52.52928],[-5.98253,52.80079],[-5.96056,53.67037],[-6.20775,53.67851],[-6.22423,53.95255],[-5.86442,54.12513],[-5.85893,54.20392],[-5.53483,54.23122],[-5.39476,54.44739],[-5.50188,54.70052],[-6.21873,55.38194],[-6.86418,55.2162],[-7.25145,55.46455],[-7.53435,55.30853],[-8.25395,55.26787],[-8.61101,54.97259],[-8.49016,54.89369],[-8.83897,54.68306],[-8.42699,54.52397],[-8.75108,54.31302],[-9.29765,54.38985],[-10.05296,54.37866],[-10.30015,54.05747],[-10.02275,53.79386],[-10.30565,53.55142],[-9.99803,53.24354],[-9.09166,53.19256],[-9.81676,53.1102],[-9.48167,52.96984],[-9.70415,52.68107],[-10.00627,52.63608],[-9.78929,52.52426],[-9.99803,52.32663],[-10.64348,52.1753],[-10.39629,51.9761],[-10.16832,51.64668],[-10.28642,51.57334],[-9.88542,51.57163],[-9.79204,51.44684],[-9.31139,51.43828]]],terms_url:"https://wiki.openstreetmap.org/wiki/Ireland/Background_Imagery#Trinity_College_Dublin",terms_text:"Glucksman Map Library, Trinity College Dublin",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/ie/IrelandBritishWarOffice-GSGS3906.png"},{id:"Israel_Hiking",name:"Israel Hiking",type:"tms",template:"https://israelhiking.osm.org.il/Tiles/{zoom}/{x}/{y}.png",zoomExtent:[7,16],polygon:[[[34.64563,32.92073],[34.98374,33.13352],[35.15662,33.09994],[35.31781,33.11463],[35.36541,33.06285],[35.46229,33.09994],[35.51741,33.12652],[35.5266,33.21531],[35.53893,33.25442],[35.56446,33.2969],[35.61264,33.27918],[35.67429,33.30627],[35.70785,33.34269],[35.75363,33.35091],[35.81509,33.3392],[35.91531,32.9406],[35.80834,32.772],[35.77835,32.72446],[35.59491,32.62828],[35.5729,32.36541],[35.59461,32.21856],[35.55452,32.02901],[35.57225,31.75415],[35.48771,31.41951],[35.4209,31.25116],[35.47936,31.1783],[35.42771,30.95172],[35.3321,30.77107],[35.20709,30.53307],[35.17202,30.11204],[35.07514,29.83713],[35.02336,29.64569],[34.93992,29.39946],[34.89517,29.37711],[34.84785,29.59084],[34.69667,30.10714],[34.52423,30.40912],[34.48879,30.64515],[34.07929,31.52265],[34.64563,32.92073]]],terms_url:"https://israelhiking.osm.org.il/",terms_text:"Tiles © IsraelHiking, CC BY-SA-NC 3.0. Data by OpenStreetMap under ODbL.",description:"Israel Hiking map",icon:"https://israelhiking.osm.org.il/content/favicons/favicon.ico"},{id:"Israel_MTB",name:"Israel MTB",type:"tms",template:"https://israelhiking.osm.org.il/MTBTiles/{zoom}/{x}/{y}.png",zoomExtent:[7,16],polygon:[[[34.64563,32.92073],[34.98374,33.13352],[35.15662,33.09994],[35.31781,33.11463],[35.36541,33.06285],[35.46229,33.09994],[35.51741,33.12652],[35.5266,33.21531],[35.53893,33.25442],[35.56446,33.2969],[35.61264,33.27918],[35.67429,33.30627],[35.70785,33.34269],[35.75363,33.35091],[35.81509,33.3392],[35.91531,32.9406],[35.80834,32.772],[35.77835,32.72446],[35.59491,32.62828],[35.5729,32.36541],[35.59461,32.21856],[35.55452,32.02901],[35.57225,31.75415],[35.48771,31.41951],[35.4209,31.25116],[35.47936,31.1783],[35.42771,30.95172],[35.3321,30.77107],[35.20709,30.53307],[35.17202,30.11204],[35.07514,29.83713],[35.02336,29.64569],[34.93992,29.39946],[34.89517,29.37711],[34.84785,29.59084],[34.69667,30.10714],[34.52423,30.40912],[34.48879,30.64515],[34.07929,31.52265],[34.64563,32.92073]]],terms_url:"https://israelhiking.osm.org.il/",terms_text:"Tiles © IsraelHiking, CC BY-SA-NC 3.0. Data by OpenStreetMap under ODbL.",description:"Israel MTB map",icon:"https://israelhiking.osm.org.il/content/favicons/favicon.ico"},{id:"ITACyL-Castile-and-Leon",name:"ITACyL - Castile and León",type:"wms",template:"http://orto.wms.itacyl.es/WMS?REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&LAYERS=Ortofoto_CyL&SRS={proj}&FORMAT=image/jpeg&STYLES=Default&TRANSPARENT=TRUE&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[-1.9358,41.43834],[-1.89601,41.43869],[-1.89536,41.39687],[-1.9767,41.39616],[-1.97639,41.37623],[-2.06201,41.37548],[-2.06262,41.41471],[-2.10458,41.41434],[-2.10363,41.35367],[-2.14448,41.35331],[-2.1419,41.18683],[-2.06204,41.18753],[-2.06171,41.16624],[-2.02046,41.16661],[-2.01887,41.06334],[-2.10083,41.06262],[-2.10114,41.08296],[-2.22733,41.08185],[-2.22704,41.0635],[-2.26912,41.06313],[-2.2688,41.04257],[-2.35325,41.04182],[-2.35356,41.06148],[-2.39487,41.06112],[-2.39457,41.04206],[-2.43722,41.04168],[-2.43756,41.06315],[-2.47928,41.06278],[-2.47991,41.10369],[-2.52078,41.10333],[-2.5211,41.12429],[-2.60415,41.12357],[-2.60481,41.16628],[-2.6471,41.16591],[-2.64808,41.22931],[-2.72874,41.2286],[-2.72907,41.24974],[-2.89552,41.24828],[-2.89649,41.31063],[-2.9363,41.31028],[-2.93571,41.27231],[-3.14692,41.27046],[-3.14723,41.29045],[-3.22828,41.28974],[-3.22767,41.25008],[-3.39581,41.2486],[-3.39518,41.20808],[-3.43492,41.20773],[-3.43429,41.16696],[-3.47877,41.16657],[-3.47844,41.14556],[-3.60336,41.14446],[-3.6027,41.10169],[-3.64539,41.10131],[-3.64508,41.08159],[-3.68735,41.08122],[-3.68673,41.04104],[-3.72866,41.04067],[-3.72803,40.9998],[-3.76896,40.99944],[-3.76864,40.97886],[-3.85473,40.97811],[-3.8544,40.95653],[-3.89857,40.95615],[-3.89764,40.89575],[-3.93906,40.89539],[-3.93716,40.77204],[-4.06198,40.77093],[-4.06133,40.72926],[-4.10372,40.72888],[-4.10311,40.68918],[-4.14628,40.6888],[-4.14498,40.60421],[-4.19025,40.60381],[-4.18994,40.58362],[-4.22946,40.58327],[-4.22979,40.60487],[-4.27054,40.60451],[-4.26958,40.54211],[-4.31384,40.54171],[-4.31163,40.39758],[-4.39376,40.39685],[-4.39345,40.37677],[-4.43723,40.37638],[-4.43623,40.31123],[-4.52192,40.31046],[-4.52037,40.20897],[-4.56131,40.2086],[-4.56099,40.18763],[-4.68895,40.18649],[-4.68933,40.21101],[-4.73192,40.21063],[-4.73252,40.24966],[-4.76838,40.24934],[-4.76809,40.23035],[-4.81104,40.22996],[-4.81147,40.20726],[-4.8542,40.18414],[-4.85264,40.12563],[-4.93699,40.12488],[-4.93638,40.08529],[-5.35538,40.08155],[-5.35606,40.12562],[-5.44027,40.12487],[-5.44091,40.16673],[-5.60382,40.16527],[-5.60448,40.20881],[-5.68646,40.20808],[-5.68712,40.25131],[-6.02166,40.24834],[-6.02295,40.33257],[-6.10433,40.33184],[-6.1056,40.41451],[-6.18951,40.41376],[-6.19018,40.45745],[-6.26971,40.45675],[-6.26909,40.41653],[-6.35192,40.41579],[-6.35128,40.37422],[-6.43325,40.37349],[-6.43264,40.33361],[-6.52245,40.33281],[-6.52116,40.24849],[-6.59942,40.24779],[-6.59886,40.21128],[-6.85568,40.20899],[-6.85634,40.25257],[-6.93622,40.25186],[-6.93751,40.33657],[-6.85111,40.33734],[-6.86001,40.91672],[-6.93544,40.91605],[-6.93741,41.0435],[-6.85482,41.04423],[-6.85548,41.08706],[-6.77015,41.08781],[-6.77245,41.23623],[-6.68379,41.23701],[-6.60436,41.2377],[-6.60524,41.29474],[-6.5193,41.29549],[-6.51991,41.33479],[-6.43673,41.33552],[-6.43801,41.41814],[-6.35318,41.41888],[-6.35447,41.50141],[-6.26889,41.50216],[-6.2708,41.6245],[-6.35661,41.62375],[-6.35724,41.66401],[-6.43548,41.66333],[-6.4349,41.62651],[-6.52279,41.62575],[-6.52343,41.66635],[-6.6034,41.66565],[-6.60733,41.9166],[-7.02209,41.913],[-7.02406,42.03872],[-7.1054,42.03801],[-7.10613,42.08421],[-7.0208,42.08495],[-7.02276,42.2094],[-6.93699,42.21014],[-6.93763,42.25087],[-6.8548,42.25159],[-6.85545,42.29329],[-6.77342,42.294],[-6.77403,42.33244],[-6.85325,42.33176],[-6.85523,42.4569],[-7.10341,42.45477],[-7.10811,42.75115],[-7.02199,42.75189],[-7.02241,42.77825],[-6.93976,42.77896],[-6.94199,42.91962],[-6.77302,42.92106],[-6.77363,42.95958],[-6.52329,42.96172],[-6.52391,43.00095],[-6.43893,43.00167],[-6.44024,43.08361],[-5.93782,43.08789],[-5.93708,43.04189],[-5.85421,43.0426],[-5.85357,43.00258],[-5.77236,43.00327],[-5.77363,43.08308],[-5.6027,43.08453],[-5.60202,43.04222],[-5.52161,43.04291],[-5.52226,43.08409],[-5.4376,43.08481],[-5.43827,43.12651],[-5.10444,43.12935],[-5.10573,43.2099],[-5.02386,43.2106],[-5.02451,43.25117],[-4.90017,43.25222],[-4.89941,43.20501],[-4.81126,43.20576],[-4.80966,43.10538],[-4.76975,43.10571],[-4.76937,43.08168],[-4.72945,43.08202],[-4.72881,43.04219],[-4.56322,43.0436],[-4.56353,43.06296],[-4.39599,43.06438],[-4.39566,43.04336],[-4.3537,43.04371],[-4.35266,42.97836],[-4.23013,42.9794],[-4.22913,42.91625],[-4.18774,42.9166],[-4.18706,42.87407],[-4.10552,42.87476],[-4.10486,42.83348],[-3.97801,42.83457],[-3.97733,42.79214],[-3.9375,42.79248],[-3.93781,42.81183],[-3.85397,42.81254],[-3.85427,42.83193],[-3.89573,42.83158],[-3.89607,42.85343],[-3.93821,42.85307],[-3.93889,42.89577],[-3.9806,42.89542],[-3.98093,42.91627],[-4.0222,42.91591],[-4.0229,42.96014],[-3.97851,42.96052],[-3.97946,43.01999],[-3.93883,43.02034],[-3.93918,43.04239],[-3.89704,43.04275],[-3.89738,43.06414],[-3.85424,43.06451],[-3.8549,43.10583],[-3.77086,43.10654],[-3.77116,43.12515],[-3.72819,43.12551],[-3.72853,43.14656],[-3.68713,43.14691],[-3.68778,43.18786],[-3.60365,43.18858],[-3.60331,43.16747],[-3.52278,43.16815],[-3.52243,43.14619],[-3.39669,43.14726],[-3.39699,43.16601],[-3.35444,43.16637],[-3.35479,43.18837],[-3.31268,43.18873],[-3.31299,43.20828],[-3.22993,43.20899],[-3.22959,43.18768],[-3.10343,43.18875],[-3.10274,43.14562],[-3.14546,43.14526],[-3.14516,43.1271],[-3.10617,43.12743],[-3.10445,43.01915],[-3.02075,43.01987],[-3.0201,42.97903],[-2.9811,42.97936],[-2.97977,42.8958],[-3.10476,42.89473],[-3.10276,42.76928],[-3.02199,42.76997],[-3.02168,42.74983],[-2.98024,42.75019],[-2.97988,42.7275],[-2.89613,42.72822],[-2.89679,42.76967],[-2.8534,42.77004],[-2.85405,42.81087],[-2.68577,42.81231],[-2.68544,42.79159],[-2.64523,42.79194],[-2.64489,42.77024],[-2.52005,42.7713],[-2.51936,42.72827],[-2.5607,42.72791],[-2.56038,42.7076],[-2.51944,42.70795],[-2.5181,42.62357],[-2.60404,42.62283],[-2.60439,42.64497],[-2.77154,42.64353],[-2.77188,42.66544],[-2.81176,42.6651],[-2.8121,42.68624],[-2.85469,42.68588],[-2.85337,42.60302],[-2.89413,42.60267],[-2.89379,42.58159],[-3.0619,42.58015],[-3.06031,42.47952],[-3.02191,42.47985],[-3.0199,42.3525],[-3.06255,42.35213],[-3.06029,42.20906],[-3.1012,42.20871],[-3.10086,42.18682],[-3.06175,42.18716],[-3.0611,42.14559],[-3.02029,42.14594],[-3.01963,42.10375],[-2.89602,42.10482],[-2.89501,42.04071],[-2.81222,42.04143],[-2.81353,42.1246],[-2.76871,42.12499],[-2.76905,42.14674],[-2.72695,42.14711],[-2.7266,42.12485],[-2.68706,42.12519],[-2.68605,42.06109],[-2.72804,42.06073],[-2.72739,42.0193],[-2.60343,42.02037],[-2.60376,42.04135],[-2.561,42.04173],[-2.56198,42.10411],[-2.52266,42.10445],[-2.52299,42.12577],[-2.47933,42.12615],[-2.47963,42.145],[-2.35517,42.14608],[-2.3555,42.16747],[-2.31184,42.16785],[-2.3115,42.14605],[-2.2699,42.14641],[-2.26924,42.1048],[-2.2295,42.10515],[-2.22981,42.12514],[-2.14467,42.12587],[-2.14432,42.10386],[-2.10385,42.10421],[-2.10156,41.95811],[-1.97689,41.95919],[-1.97655,41.93765],[-1.93473,41.93801],[-1.93504,41.95776],[-1.89453,41.95811],[-1.89483,41.97715],[-1.854,41.97751],[-1.85304,41.91638],[-1.81381,41.91672],[-1.81151,41.76984],[-1.7706,41.77019],[-1.76866,41.64582],[-1.85335,41.64508],[-1.85305,41.62567],[-1.89471,41.6253],[-1.89403,41.58215],[-1.97716,41.58142],[-1.97683,41.56021],[-1.9377,41.56055],[-1.9358,41.43834]]],terms_text:"ITACyL"},{id:"gsi.go.jp_airphoto",name:"Japan GSI airphoto Imagery",type:"tms",template:"http://cyberjapandata.gsi.go.jp/xyz/airphoto/{zoom}/{x}/{y}.png",zoomExtent:[14,18],polygon:[[[140.88867,45.67548],[140.71289,45.41388],[141.04248,43.80282],[139.96582,43.35714],[138.99902,42.01665],[139.04297,41.26129],[137.5708,38.58253],[132.69287,36.86204],[130.84717,34.93999],[129.74854,34.994],[129.02344,34.56086],[128.36426,33.21112],[127.90283,31.87756],[128.4082,29.89781],[125.8374,26.78485],[123.33252,25.0657],[122.58545,24.42715],[123.53027,23.44309],[125.88135,24.10665],[129.96826,26.31311],[132.1875,30.20211],[134.42871,32.43561],[136.82373,33.28462],[137.85645,34.21634],[138.64746,33.24788],[138.58154,32.00808],[139.6582,28.67131],[141.65771,29.66896],[142.0752,32.06396],[141.21826,33.37641],[141.56982,35.44277],[141.43799,36.52729],[142.82227,39.16414],[143.04199,40.89691],[145.92041,42.40723],[146.18408,43.03678],[145.74463,43.54855],[145.32715,43.67582],[145.30518,43.91372],[145.61279,44.2452],[145.41504,44.62175],[144.38232,44.52784],[142.31689,45.53714],[141.3501,45.70618],[140.88867,45.67548]]],terms_url:"http://www.gsi.go.jp/kikakuchousei/kikakuchousei40182.html",terms_text:"GSI Japan",description:"Japan GSI airphoto Imagery. Not fully orthorectified, but a bit newer and/or differently covered than GSI ortho Imagery."},{id:"finds.jp_KBN_2500",name:"Japan GSI KIBAN 2500",type:"tms",template:"http://www.finds.jp/ws/tmc/1.0.0/KBN2500FN-900913-L/{zoom}/{x}/{y}.png",zoomExtent:[15,20],polygon:[[[140.88867,45.67548],[140.71289,45.41388],[141.04248,43.80282],[139.96582,43.35714],[138.99902,42.01665],[139.04297,41.26129],[137.5708,38.58253],[132.69287,36.86204],[130.84717,34.93999],[129.74854,34.994],[129.02344,34.56086],[128.36426,33.21112],[127.90283,31.87756],[128.4082,29.89781],[125.8374,26.78485],[123.33252,25.0657],[122.58545,24.42715],[123.53027,23.44309],[125.88135,24.10665],[129.96826,26.31311],[132.1875,30.20211],[134.42871,32.43561],[136.82373,33.28462],[137.85645,34.21634],[138.64746,33.24788],[138.58154,32.00808],[139.6582,28.67131],[141.65771,29.66896],[142.0752,32.06396],[141.21826,33.37641],[141.56982,35.44277],[141.43799,36.52729],[142.82227,39.16414],[143.04199,40.89691],[145.92041,42.40723],[146.18408,43.03678],[145.74463,43.54855],[145.32715,43.67582],[145.30518,43.91372],[145.61279,44.2452],[145.41504,44.62175],[144.38232,44.52784],[142.31689,45.53714],[141.3501,45.70618],[140.88867,45.67548]]],terms_url:"http://www.finds.jp/siteinfo/c_tou.html.ja",terms_text:"GSI KIBAN 2500",description:"GSI Kiban 2500 via finds.jp. Good for tracing, but a bit older."},{id:"gsi.go.jp",name:"Japan GSI ortho Imagery",type:"tms",template:"https://cyberjapandata.gsi.go.jp/xyz/ort/{zoom}/{x}/{y}.jpg",zoomExtent:[5,19],polygon:[[[130.35021,31.45741],[130.26851,31.45817],[130.20875,31.44939],[130.1002,31.44996],[130.09237,31.3919],[130.13355,31.37528],[130.35043,31.37528],[130.35021,31.45741]],[[130.4193,31.41715],[130.417,31.41672],[130.41677,31.47525],[130.34179,31.47506],[130.34179,31.48374],[130.33362,31.48374],[130.33329,31.50044],[130.36675,31.49997],[130.36664,31.52458],[130.35019,31.52544],[130.35041,31.54986],[130.32523,31.55024],[130.32501,31.60029],[130.31661,31.63336],[130.31634,31.65084],[130.3752,31.65084],[130.31164,31.67599],[130.29194,31.69179],[130.29105,31.73235],[130.2521,31.73387],[130.24986,31.71693],[130.24427,31.71712],[130.21629,31.75804],[130.17533,31.75919],[130.17422,31.78259],[130.18384,31.79096],[130.23644,31.79096],[130.26911,31.77003],[130.36334,31.75785],[130.42668,31.70893],[130.62409,31.7076],[130.62588,31.68627],[130.61088,31.62245],[130.55582,31.50249],[130.54239,31.41715],[130.42158,31.41715],[130.4193,31.41715]],[[130.52516,31.24184],[130.54441,31.24107],[130.56858,31.21715],[130.59924,31.21657],[130.59924,31.26633],[130.57641,31.26633],[130.57351,31.31625],[130.6308,31.28393],[130.68989,31.27666],[130.66706,31.26059],[130.66594,31.21925],[130.64401,31.18135],[130.59007,31.14688],[130.54239,31.17503],[130.54239,31.1913],[130.50009,31.19207],[130.50009,31.21581],[130.52494,31.21715],[130.52516,31.24184]],[[130.74987,31.16622],[130.74965,31.24107],[130.77449,31.25887],[130.77718,31.33307],[130.75122,31.37455],[130.74898,31.41658],[130.67557,31.46852],[130.67489,31.50077],[131.40006,31.5002],[131.40834,31.45916],[131.36694,31.40932],[131.3656,31.35142],[131.31703,31.34206],[131.29957,31.36595],[131.24317,31.36633],[131.19952,31.43358],[131.14782,31.45019],[131.13394,31.45],[131.1326,31.42899],[131.10059,31.42536],[131.05091,31.41639],[131.04912,31.39155],[131.08403,31.35085],[131.11626,31.35085],[131.11783,31.33422],[130.99943,31.33365],[130.99965,31.25102],[130.87521,31.25064],[130.87454,31.16679],[130.74987,31.16622]],[[130.86625,30.47468],[130.86602,30.49937],[130.93362,30.57493],[130.93227,30.61597],[131.00636,30.61655],[131.04933,30.59112],[131.04933,30.54275],[130.99203,30.50843],[130.99114,30.47526],[130.86625,30.47468]],[[137.87486,36.37519],[138.00005,36.37494],[138.00005,36.30839],[138.04159,36.30827],[138.04191,36.29175],[138.08306,36.29162],[138.08353,36.2499],[138.13307,36.24996],[138.13354,36.16677],[138.16654,36.1667],[138.16694,36.12485],[138.04167,36.12491],[138.04144,36.04158],[137.87479,36.04152],[137.87486,36.37519]],[[138.37446,35.83393],[138.4998,35.83285],[138.4998,35.75042],[138.74936,35.7506],[138.7507,35.58332],[138.62447,35.58386],[138.62536,35.49991],[138.37491,35.49972],[138.37446,35.83393]],[[135.79179,35.64165],[135.8006,35.64923],[135.834,35.65052],[135.8916,35.62003],[135.89271,35.6091],[135.95776,35.60858],[135.9834,35.6172],[135.98435,35.641],[135.95095,35.6419],[135.95048,35.68305],[135.94225,35.69204],[135.94178,35.73239],[136.00809,35.77516],[136.03167,35.77503],[136.05018,35.75012],[136.05003,35.66646],[136.0084,35.65836],[136.00856,35.61694],[136.03404,35.60022],[136.06664,35.59996],[136.06617,35.61656],[136.1002,35.62492],[136.1002,35.69127],[136.07598,35.69166],[136.07503,35.74922],[136.08342,35.76694],[136.12441,35.76605],[136.15021,35.7004],[136.15875,35.64216],[136.17442,35.62492],[136.17553,35.58342],[136.1749,35.55813],[136.15859,35.55832],[136.15875,35.56701],[136.1165,35.56675],[136.11626,35.52555],[136.04045,35.5247],[136.01684,35.50311],[136.01661,35.48334],[135.97543,35.48334],[135.94141,35.50885],[135.94186,35.56641],[135.93358,35.57487],[135.90873,35.57514],[135.90851,35.59953],[135.83185,35.59972],[135.7928,35.62519],[135.79179,35.64165]],[[135.80916,35.47505],[135.77044,35.53345],[135.7579,35.53326],[135.74168,35.51641],[135.70072,35.51705],[135.67464,35.53363],[135.67543,35.56659],[135.6996,35.58333],[135.81654,35.58343],[135.81654,35.56804],[135.85817,35.54956],[135.85851,35.52543],[135.8509,35.5247],[135.85012,35.47514],[135.80916,35.47505]],[[135.58333,35.44132],[135.61656,35.44989],[135.64163,35.47496],[135.71639,35.47478],[135.71728,35.46703],[135.81442,35.46539],[135.86668,35.44187],[135.86679,35.40868],[135.81722,35.40822],[135.81677,35.38496],[135.77548,35.3835],[135.75835,35.40804],[135.59183,35.4084],[135.58322,35.42536],[135.58333,35.44132]],[[135.40011,35.43312],[135.42496,35.44189],[135.45803,35.45008],[135.45899,35.49164],[135.46642,35.49184],[135.46619,35.50807],[135.44181,35.51709],[135.43968,35.53293],[135.45843,35.55804],[135.52324,35.55811],[135.52498,35.5091],[135.54152,35.50008],[135.54152,35.4834],[135.57515,35.48366],[135.57491,35.49164],[135.60878,35.49171],[135.60894,35.46684],[135.59208,35.45826],[135.53305,35.45826],[135.50029,35.45008],[135.50045,35.4415],[135.50789,35.42506],[135.53337,35.42513],[135.53297,35.38346],[135.5416,35.38333],[135.54176,35.36688],[135.5086,35.35836],[135.50892,35.34216],[135.50013,35.34164],[135.50013,35.41662],[135.39987,35.41655],[135.40011,35.43312]],[[133.70822,35.45816],[133.70822,35.33319],[133.12484,35.33328],[133.12495,35.3749],[132.95877,35.37508],[132.95821,35.4578],[132.87506,35.45853],[132.87461,35.52504],[132.95015,35.52522],[132.9497,35.55819],[133.01674,35.55855],[133.01685,35.56675],[133.03352,35.56693],[133.03308,35.59205],[133.06687,35.59187],[133.06654,35.6168],[133.14135,35.61671],[133.14151,35.59181],[133.36667,35.59186],[133.36689,35.57484],[133.34216,35.57447],[133.34194,35.558],[133.33321,35.55026],[133.28363,35.55017],[133.28341,35.49178],[133.33354,35.4916],[133.33354,35.47529],[133.41714,35.47492],[133.41714,35.37516],[133.49995,35.37534],[133.49973,35.45806],[133.45854,35.45806],[133.45854,35.51629],[133.49212,35.5335],[133.54136,35.54161],[133.58343,35.54197],[133.58355,35.45843],[133.70822,35.45816]],[[133.84174,35.46646],[133.84158,35.58367],[133.975,35.58329],[133.97532,35.5086],[134.00823,35.50834],[134.0334,35.49971],[134.0421,35.47497],[134.04432,35.45834],[134.08357,35.4586],[134.08309,35.53359],[134.13326,35.54969],[134.23328,35.55999],[134.27491,35.58342],[134.33299,35.58367],[134.33521,35.49172],[134.36654,35.49224],[134.36654,35.49997],[134.41718,35.49971],[134.41592,35.5417],[134.6253,35.54157],[134.62514,35.37554],[134.70839,35.37463],[134.70823,35.33398],[134.41655,35.33359],[134.41592,35.37528],[134.39218,35.37541],[134.39155,35.35011],[134.37477,35.33346],[134.20005,35.33359],[134.19939,35.35874],[134.24997,35.39971],[134.27515,35.39962],[134.27504,35.39205],[134.35819,35.39314],[134.35852,35.3999],[134.3752,35.39999],[134.37441,35.42489],[134.33256,35.42507],[134.33278,35.41659],[134.04954,35.41659],[134.05077,35.39178],[134.0661,35.39187],[134.06711,35.39999],[134.14187,35.40017],[134.14164,35.36678],[134.18339,35.35847],[134.18372,35.33337],[133.78309,35.33364],[133.78331,35.34159],[133.82472,35.3592],[133.82505,35.38311],[133.84173,35.40838],[133.89981,35.40893],[133.89981,35.41677],[133.85829,35.41659],[133.8574,35.46646],[133.84174,35.46646]],[[133.24987,33.66667],[133.41786,33.66674],[133.52485,33.66674],[133.52493,33.79178],[133.64157,33.79185],[133.64188,33.66681],[133.75006,33.66687],[133.75029,33.62517],[133.79152,33.62498],[133.79168,33.5084],[133.73336,33.5084],[133.73328,33.51658],[133.64196,33.51671],[133.60833,33.48346],[133.52493,33.46682],[133.47492,33.41935],[133.43313,33.38321],[133.37497,33.38334],[133.37497,33.49157],[133.20817,33.49191],[133.20824,33.55827],[133.24947,33.55833],[133.24987,33.66667]],[[134.3501,33.73355],[134.4832,33.73368],[134.48336,33.66732],[134.43366,33.65033],[134.43287,33.63412],[134.35279,33.63347],[134.3501,33.73355]],[[140.31656,36.21656],[140.31671,36.44984],[140.34973,36.44994],[140.35012,36.51668],[140.47467,36.51671],[140.47483,36.59159],[140.62489,36.59204],[140.62467,36.63354],[140.64974,36.6348],[140.65041,36.71684],[140.69912,36.81554],[140.71006,36.91306],[140.70838,36.95687],[140.74956,36.95866],[140.75323,37.06176],[140.75001,37.16671],[141.00832,37.16666],[141.00837,37.0917],[140.98331,37.05828],[140.98333,36.95834],[140.90834,36.90002],[140.81672,36.89999],[140.80828,36.87498],[140.80833,36.85],[140.81655,36.85004],[140.81669,36.8415],[140.81669,36.81816],[140.79988,36.80832],[140.7834,36.79992],[140.775,36.79523],[140.77498,36.78339],[140.75836,36.775],[140.75825,36.75837],[140.75002,36.75831],[140.74689,36.71939],[140.73336,36.65048],[140.69167,36.58337],[140.65003,36.51336],[140.64998,36.38351],[140.59986,36.27483],[140.57499,36.24796],[140.57463,36.21729],[140.31656,36.21656]],[[141.2166,41.24992],[141.41662,41.24971],[141.39858,41.17052],[141.40426,41.0968],[141.39503,41.04046],[141.39858,40.97185],[141.40625,40.91003],[141.41136,40.83011],[141.41307,40.80204],[141.42245,40.74987],[141.34161,40.75084],[141.3149,40.74556],[141.29203,40.74169],[141.23322,40.7419],[141.23307,40.85837],[141.25026,40.85858],[141.24941,40.91647],[141.17412,40.9169],[141.22498,40.9948],[141.23819,41.0696],[141.2497,41.1258],[141.27143,41.15875],[141.23336,41.22995],[141.2166,41.24992]],[[141.25854,41.3166],[141.15015,41.31672],[141.1499,41.39163],[141.18877,41.39205],[141.21625,41.37916],[141.25849,41.36012],[141.25854,41.3166]],[[141.05841,45.2584],[141.03453,45.25833],[141.00874,45.25815],[141.0083,45.27495],[140.99994,45.27495],[141.00002,45.30371],[140.99999,45.30828],[140.99196,45.30846],[140.99171,45.34162],[140.98351,45.34172],[140.98336,45.34998],[140.97477,45.35008],[140.97502,45.3667],[140.96664,45.36675],[140.96685,45.39818],[140.9665,45.42499],[140.9584,45.42484],[140.95816,45.43314],[140.95012,45.4335],[140.94967,45.51651],[140.97443,45.51672],[140.97448,45.50014],[140.98307,45.50042],[140.98332,45.46697],[140.99045,45.46704],[140.99135,45.45876],[141.00019,45.45813],[141.00035,45.45002],[141.01627,45.4502],[141.01637,45.47496],[141.04992,45.47532],[141.04992,45.46676],[141.06614,45.46679],[141.0665,45.4502],[141.07463,45.44999],[141.07498,45.34178],[141.0666,45.34168],[141.06418,45.30611],[141.06644,45.30565],[141.06629,45.28484],[141.05906,45.28357],[141.05841,45.2584]],[[144.27488,42.96671],[144.27502,42.99155],[144.25861,42.99145],[144.25805,42.98314],[144.20818,42.98319],[144.20854,42.97472],[144.16684,42.97503],[144.16684,43.00496],[144.16642,43.04178],[144.07486,43.04188],[144.07493,43.10025],[144.24988,43.1],[144.24988,43.1168],[144.29179,43.11675],[144.292,43.0919],[144.4168,43.09185],[144.4168,43.1168],[144.56654,43.1168],[144.56675,42.99171],[144.50005,42.9915],[144.5002,42.92481],[144.46653,42.92501],[144.31739,42.96675],[144.27488,42.96671]],[[140.69973,42.57513],[140.70015,42.61647],[140.84451,42.61673],[140.99961,42.61669],[141.00006,42.54168],[141.24984,42.54168],[141.24994,42.58336],[141.29163,42.58332],[141.29158,42.6251],[141.37501,42.62498],[141.37501,42.66662],[141.49992,42.66666],[141.49992,42.8165],[141.47496,42.8165],[141.47511,42.83341],[141.81236,42.83357],[141.95752,42.83328],[141.94355,42.77977],[141.95762,42.77896],[141.95832,42.7502],[141.99991,42.75086],[141.9992,42.71493],[142.00031,42.67632],[142.01799,42.65076],[142.09082,42.65002],[142.09122,42.5251],[142.02472,42.5251],[141.96033,42.52495],[141.8665,42.52518],[141.8656,42.57713],[141.83577,42.58519],[141.80482,42.57417],[141.74646,42.57705],[141.73069,42.61477],[141.61707,42.61055],[141.52134,42.60331],[141.45615,42.57587],[141.3562,42.52866],[141.27523,42.48822],[141.19507,42.43791],[141.10476,42.3914],[141.05393,42.33165],[141.0254,42.29161],[140.95187,42.29146],[140.9147,42.32682],[140.89451,42.37174],[140.88426,42.42723],[140.85041,42.46096],[140.76643,42.49978],[140.76663,42.52821],[140.69973,42.57513]],[[140.75005,43.23374],[140.82762,43.2135],[140.88245,43.22531],[140.97338,43.24601],[141.02139,43.24311],[141.04213,43.20211],[141.08346,43.18205],[141.17267,43.16382],[141.25678,43.19366],[141.37528,43.33327],[141.62491,43.33335],[141.62451,43.4168],[141.79146,43.4168],[141.79197,43.83339],[142.12487,43.83332],[142.12487,43.75022],[142.16656,43.74993],[142.16656,43.83317],[142.24954,43.83325],[142.24984,43.8581],[142.27465,43.8581],[142.27465,43.87425],[142.26671,43.8749],[142.26651,43.91688],[142.24994,43.9171],[142.25001,44.5],[142.49997,44.50013],[142.49977,43.88366],[142.51674,43.88344],[142.51644,43.83346],[142.62473,43.83346],[142.62473,43.58331],[142.54176,43.58403],[142.54196,43.50008],[142.50057,43.50022],[142.50037,43.25006],[142.25054,43.25014],[142.25004,43.45838],[142.00031,43.45816],[142.00001,43.41724],[141.91703,43.41688],[141.91703,43.33342],[141.87494,43.33327],[141.87454,43.17487],[141.93351,43.17473],[141.93391,43.15868],[141.99137,43.15802],[141.99207,43.1334],[141.87524,43.13332],[141.87484,43.00012],[141.49984,43.00027],[141.50015,42.91683],[141.25021,42.91631],[141.25001,42.9999],[141.12505,43.00005],[141.12525,43.08323],[140.99988,43.0836],[141.00008,43.16638],[140.75086,43.1666],[140.75005,43.23374]],[[140.59121,41.78353],[140.58382,41.8334],[140.58453,41.87732],[140.59092,41.91613],[140.60797,41.94403],[140.57544,41.95914],[140.58439,41.99979],[140.7104,42.00011],[140.86894,42.00011],[140.91724,42.00053],[140.99041,41.91909],[141.04737,41.90693],[141.12722,41.88398],[141.17552,41.83732],[141.20194,41.81488],[141.18418,41.78321],[141.11301,41.76711],[141.05689,41.71559],[140.99382,41.69968],[140.94267,41.70414],[140.89238,41.73563],[140.84806,41.74326],[140.80018,41.75672],[140.73299,41.74634],[140.69705,41.73234],[140.6881,41.76986],[140.59121,41.78353]],[[140.2418,42.2338],[140.24159,42.25827],[140.21005,42.25797],[140.20804,42.27485],[140.26611,42.27514],[140.2651,42.29179],[140.29001,42.2912],[140.29182,42.26779],[140.33914,42.24139],[140.34145,42.21662],[140.29323,42.21662],[140.2418,42.2338]],[[140.55007,42.08447],[140.54977,42.11387],[140.58066,42.11193],[140.62636,42.12069],[140.63365,42.12136],[140.6336,42.10061],[140.60853,42.09964],[140.60848,42.08327],[140.54972,42.08312],[140.55007,42.08447]],[[140.6583,41.06668],[140.67117,40.91974],[140.84492,40.91652],[140.91726,40.91688],[140.91712,40.87597],[140.9846,40.87533],[140.98503,40.79278],[141.13391,40.79192],[141.13972,40.68034],[141.17424,40.68174],[141.18504,40.60057],[141.43351,40.60078],[141.43308,40.51757],[141.18305,40.51649],[141.18362,40.58223],[141.16714,40.59172],[141.04397,40.59237],[141.04283,40.65825],[140.98402,40.65836],[140.72646,40.65857],[140.72589,40.57521],[140.66849,40.57467],[140.60883,40.57489],[140.60925,40.48311],[140.55058,40.483],[140.54888,40.51757],[140.40028,40.51692],[140.40013,40.5832],[140.25665,40.58233],[140.24898,40.63292],[140.33251,40.63292],[140.33251,40.66687],[140.41676,40.66698],[140.41704,40.73311],[140.33194,40.73375],[140.33351,40.75851],[140.28421,40.75818],[140.28037,40.85679],[140.30254,40.98507],[140.31845,41.00019],[140.42443,41.0004],[140.42443,40.90029],[140.55044,40.89975],[140.54994,41.06668],[140.6583,41.06668]],[[140.01669,40.33381],[140.25252,40.33381],[140.25006,39.33298],[139.98341,39.3332],[140.05622,39.72433],[140.00614,39.77043],[139.94073,39.88023],[139.94158,40.01081],[139.94055,40.08509],[139.94116,40.10876],[140.01669,40.33381]],[[139.85814,39.04176],[139.87552,39.04137],[139.87703,39.00009],[139.91671,39.00001],[139.9167,38.79173],[139.75493,38.79165],[139.7502,38.79386],[139.79376,38.89687],[139.79014,38.9254],[139.83615,38.99102],[139.85814,39.04176]],[[139.37551,38.1174],[139.38053,37.95893],[139.417,37.95845],[139.417,37.87413],[139.37571,37.8746],[139.37611,37.83296],[139.29234,37.83145],[139.30007,37.78074],[139.29173,37.68357],[139.29193,37.66473],[139.22935,37.6594],[139.18113,37.61024],[139.14537,37.60769],[139.12367,37.62671],[139.09816,37.65018],[139.08831,37.6664],[138.99951,37.66656],[138.99942,37.79171],[138.81261,37.79199],[138.86834,37.84689],[138.9915,37.91333],[139.08231,37.9775],[139.27679,38.03417],[139.37551,38.1174]],[[139.96008,38.49993],[140.50033,38.50009],[140.50023,38.16654],[140.37496,38.16654],[140.37536,38.08348],[140.2504,38.08293],[140.21705,38.07407],[140.22136,38.0422],[140.2512,38.04196],[140.2504,38.00017],[140.23372,37.99962],[140.23352,37.94197],[140.20861,37.9411],[140.20841,37.90013],[140.19253,37.89965],[140.19123,37.88372],[140.15838,37.883],[140.15828,37.85811],[140.0753,37.85945],[140.0741,37.87476],[140.05019,37.87571],[140.05019,37.89252],[140.05762,37.89355],[140.05813,37.92541],[140.0741,37.92573],[140.0742,37.94197],[140.09871,37.95369],[140.09821,37.99234],[140.10182,38.00041],[140.12282,38.00081],[140.11549,38.01806],[140.08977,38.02795],[140.0747,38.04133],[140.06727,38.03492],[140.06707,37.99186],[140.01634,37.9917],[140.01584,38.066],[139.99805,38.06656],[139.99966,38.13739],[139.99956,38.17514],[139.99795,38.3337],[139.95787,38.33378],[139.95837,38.50028],[139.96008,38.49993]],[[140.70822,38.7833],[140.70837,39.15023],[141.04194,39.14957],[141.04167,39.50008],[141.00147,39.49986],[140.99893,39.91638],[141.25077,39.91692],[141.25037,39.5007],[141.16709,39.50008],[141.16699,39.45627],[141.16669,39.40273],[141.16689,39.25073],[141.20798,39.24996],[141.20898,38.87471],[141.03399,38.8751],[141.03339,38.78354],[140.86794,38.78315],[140.70822,38.7833]],[[141.3759,38.36972],[141.37476,38.49992],[141.24904,38.50025],[141.25134,38.66886],[141.52524,38.66653],[141.54981,38.63369],[141.55052,38.55563],[141.55549,38.47938],[141.56558,38.39559],[141.54626,38.37398],[141.55919,38.32429],[141.59854,38.31226],[141.59527,38.26063],[141.50762,38.23664],[141.46983,38.24479],[141.39226,38.27725],[141.41158,38.34781],[141.3759,38.36972]],[[131.04175,33.7381],[131.0413,33.70887],[130.99956,33.70858],[131.00035,33.68392],[131.04959,33.68392],[131.05014,33.64171],[131.0751,33.64201],[131.07588,33.61683],[131.10039,33.61666],[131.10084,33.60082],[131.17448,33.60007],[131.19999,33.58422],[131.20066,33.55868],[131.2405,33.55868],[131.28258,33.54207],[131.33137,33.52528],[131.41821,33.55065],[131.51625,33.55084],[131.51692,33.5667],[131.63353,33.56688],[131.63308,33.47545],[131.7423,33.47452],[131.74946,33.45939],[131.75014,33.33289],[131.60756,33.33401],[131.60801,33.37421],[131.52565,33.37458],[131.52467,33.26691],[131.5769,33.25843],[131.64942,33.28332],[131.71634,33.28388],[131.77497,33.26687],[131.78385,33.25028],[131.83291,33.25015],[131.88403,33.2745],[131.90825,33.2749],[131.90809,33.25849],[131.87517,33.20607],[131.84985,33.18276],[131.85032,33.14964],[131.87525,33.15038],[131.90777,33.14129],[131.9171,33.13332],[131.91733,33.10858],[131.9505,33.09967],[131.95019,33.08349],[131.98279,33.08336],[131.98279,33.10007],[132.00036,33.1169],[132.0252,33.1169],[132.02473,33.0998],[132.00843,33.09172],[132.00843,33.06718],[132.01745,33.06705],[132.01715,33.04988],[131.99181,33.04211],[131.92518,33.04092],[131.9255,33.025],[131.95003,33.025],[131.95045,33.01347],[131.95034,32.97482],[131.98326,32.97536],[131.98492,32.95941],[132.0261,32.95922],[132.05828,32.95862],[132.05844,32.99142],[132.07198,32.9917],[132.08297,32.98332],[132.09168,32.92635],[132.02473,32.92542],[132.02473,32.90058],[132.03349,32.88294],[132.00795,32.88357],[131.98326,32.85871],[131.99988,32.8498],[132.01715,32.8429],[132.01603,32.82654],[131.97551,32.78396],[131.93411,32.76746],[131.8992,32.76614],[131.89179,32.71661],[131.83317,32.6507],[131.78369,32.64894],[131.78415,32.58396],[131.74185,32.58283],[131.7082,32.56669],[131.70773,32.54294],[131.74159,32.50852],[131.74141,32.45129],[131.70804,32.44216],[131.70112,32.40878],[131.65787,32.39219],[131.64226,32.33355],[131.59948,32.27572],[131.57492,32.18338],[131.54184,32.08474],[131.542,32.00009],[131.49975,32.00023],[131.50038,31.74971],[131.4586,31.75011],[131.45876,31.79182],[131.24969,31.79169],[131.24969,32.16704],[131.37488,32.16717],[131.37504,32.25046],[131.49991,32.25019],[131.49991,32.33341],[131.54137,32.33341],[131.54167,32.62506],[131.66645,32.62515],[131.66633,32.66662],[131.74993,32.66652],[131.75006,32.91664],[131.5977,32.91688],[131.25044,32.91663],[131.24902,33.00042],[131.49971,33.00002],[131.49987,33.06345],[131.50018,33.13915],[131.4804,33.16631],[131.284,33.16618],[131.26706,33.20035],[131.26627,33.25039],[131.29966,33.26985],[131.29951,33.31999],[131.24427,33.34114],[131.17511,33.34154],[131.17527,33.35806],[131.07525,33.35806],[131.07572,33.33347],[131.00055,33.33321],[131.00007,33.2496],[130.91445,33.2496],[130.7497,33.25013],[130.7497,33.08374],[130.62546,33.08321],[130.62546,33.00002],[130.72796,33.00171],[130.87492,33.00018],[130.8753,32.79131],[130.96677,32.79185],[130.96709,32.85808],[130.92531,32.85781],[130.92531,32.95029],[130.96679,32.95831],[131.00012,32.91683],[131.00017,32.50007],[130.66647,32.50046],[130.66669,32.33306],[130.62506,32.33306],[130.62461,32.24943],[130.49972,32.25037],[130.50039,32.12517],[130.33275,32.12498],[130.3437,32.16133],[130.34954,32.20815],[130.42748,32.29423],[130.46637,32.40054],[130.4939,32.40073],[130.523,32.43304],[130.54941,32.44456],[130.54986,32.4659],[130.48383,32.46647],[130.47421,32.47535],[130.4751,32.50064],[130.5089,32.54197],[130.62439,32.62571],[130.62484,32.6666],[130.52569,32.66679],[130.52524,32.68337],[130.55859,32.71671],[130.55903,32.7745],[130.57493,32.78372],[130.57493,32.82172],[130.50935,32.84185],[130.50778,32.86986],[130.44155,32.89158],[130.41624,32.94258],[130.41579,32.97488],[130.37438,33.00098],[130.37528,33.08315],[130.24927,33.08372],[130.24905,33.16076],[130.15863,33.09741],[130.17775,33.07174],[130.18369,33.06684],[130.18369,33.03401],[130.19958,33.025],[130.19977,33.00001],[130.12479,33.00001],[130.12457,32.96678],[130.0409,32.9407],[130.02501,32.94164],[130.02456,32.91647],[130.12457,32.9172],[130.12457,32.86739],[130.15031,32.86683],[130.19578,32.8661],[130.23334,32.89183],[130.29198,32.89183],[130.29243,32.84991],[130.29153,32.7916],[130.2922,32.71725],[130.18343,32.65791],[130.15034,32.65002],[130.11539,32.64962],[130.11744,32.70014],[130.15903,32.71706],[130.24856,32.75867],[130.24968,32.79085],[130.1333,32.79235],[130.12569,32.76751],[130.00147,32.74963],[129.9294,32.67317],[129.80048,32.57459],[129.80003,32.54704],[129.77425,32.54749],[129.71767,32.54987],[129.71632,32.59043],[129.7499,32.67487],[129.75012,32.72459],[129.80025,32.72553],[129.74161,32.77523],[129.62411,32.8501],[129.62646,32.91787],[129.83159,32.91738],[129.87121,32.91644],[129.89269,32.94105],[129.93343,33.00827],[129.967,33.07469],[130.05809,33.12025],[130.05876,33.21693],[130.24946,33.21674],[130.2499,33.33331],[130.21566,33.3335],[130.0422,33.33331],[129.92559,33.33294],[129.90836,33.35837],[129.90791,33.38304],[129.86695,33.38285],[129.86697,33.36012],[129.83338,33.34079],[129.80093,33.34098],[129.80003,33.31592],[129.75057,33.31686],[129.75034,33.27533],[129.72572,33.27477],[129.6917,33.30807],[129.69237,33.25025],[129.87479,33.25025],[129.8759,33.21299],[129.87521,33.11856],[129.87523,33.03323],[129.80831,33.03305],[129.7499,33.05031],[129.734,33.058],[129.72658,33.08172],[129.69842,33.09982],[129.62413,33.09928],[129.62374,33.12377],[129.62501,33.24201],[129.59255,33.24108],[129.59255,33.29928],[129.54197,33.3004],[129.50012,33.31761],[129.49989,33.41686],[129.59949,33.41593],[129.66753,33.40864],[129.66775,33.43274],[129.8336,33.56656],[129.93208,33.56787],[129.93522,33.40827],[130.04131,33.3836],[130.04108,33.48428],[130.24901,33.48465],[130.25057,33.61681],[130.28504,33.63405],[130.28303,33.69151],[130.30888,33.69151],[130.32365,33.66712],[130.39225,33.69179],[130.41777,33.72484],[130.43388,33.77546],[130.39024,33.87047],[130.39113,33.92509],[130.50774,33.92621],[130.60555,33.89166],[130.66665,33.9496],[130.74991,34.00844],[130.84973,34.00825],[130.8504,34.14155],[130.88308,34.19192],[130.85801,34.27519],[130.83228,34.36706],[130.97127,34.45052],[131.08608,34.43336],[131.19307,34.44166],[131.29356,34.44092],[131.36518,34.44591],[131.37548,34.5328],[131.44934,34.55013],[131.57445,34.69176],[131.62526,34.69158],[131.78596,34.70078],[131.86989,34.77435],[131.99545,34.88146],[132.37594,35.16739],[132.74972,35.16684],[132.75084,35.08318],[132.6255,35.08337],[132.62505,34.91671],[132.3755,34.91689],[132.37527,34.83426],[132.12482,34.83298],[132.12482,34.75008],[132.00038,34.7499],[132.00038,34.5833],[131.74989,34.58326],[131.75139,34.37954],[131.75147,34.1671],[132.12497,34.16683],[132.12481,34.2914],[132.25016,34.29193],[132.24929,34.40917],[132.25016,34.49983],[132.37249,34.49996],[132.37503,34.58339],[132.49167,34.58339],[132.49182,34.70831],[132.59177,34.70824],[132.58365,34.5417],[132.84148,34.54133],[132.84193,34.66623],[133.08343,34.66678],[133.08365,34.76631],[133.20743,34.76687],[133.20787,34.66678],[133.49973,34.66642],[133.50026,34.83314],[133.7012,34.83357],[133.69941,34.87526],[133.74984,34.87535],[133.74984,34.9999],[133.8751,35.00003],[133.87518,35.12504],[133.97425,35.12517],[133.97546,35.00097],[134.0585,34.99997],[134.05816,35.07464],[134.16654,35.0748],[134.1667,35.00016],[134.75338,35.00016],[134.83324,34.99997],[134.8333,35.04176],[135.24494,35.04176],[135.37472,35.04153],[135.37535,35.0836],[135.74948,35.08335],[135.75066,35.25004],[135.87474,35.2503],[135.87529,35.33388],[136.00001,35.33356],[136.00024,35.2587],[135.98331,35.24255],[135.93361,35.20027],[135.93306,35.1667],[135.97539,35.16664],[135.97523,35.15597],[136.04993,35.15829],[136.04993,35.21663],[136.05895,35.22484],[136.12455,35.23344],[136.12536,35.25011],[136.16667,35.24997],[136.16651,35.36441],[136.16664,35.45873],[136.33347,35.45857],[136.37478,35.33382],[136.49981,35.33356],[136.49965,35.49981],[136.74991,35.58365],[137.00003,35.58344],[136.99984,35.41254],[136.99999,35.33351],[137.24995,35.33357],[137.24998,34.91665],[137.6249,34.91658],[137.62516,35.00034],[137.69186,35.00052],[137.69182,35.06711],[137.74199,35.06668],[137.74222,35.10789],[137.77489,35.10844],[137.77474,35.15015],[138.16671,35.15021],[138.16666,35.2918],[138.38224,35.29138],[138.50029,35.29187],[138.50119,35.33333],[138.38256,35.33369],[138.38319,35.44169],[138.49985,35.44208],[138.49988,35.4584],[138.66644,35.45855],[138.66704,35.37476],[138.70818,35.37519],[138.70818,35.33348],[138.8334,35.33357],[138.83329,35.40832],[139.0082,35.40836],[139.00858,35.39192],[139.1243,35.39228],[139.12498,35.41668],[139.25001,35.41667],[139.24995,35.49996],[139.12487,35.50005],[139.12492,35.5833],[138.99999,35.58333],[138.99999,35.6667],[139.1249,35.66678],[139.12504,35.8092],[139.12474,35.91713],[139.00053,35.91713],[139.00006,36.00001],[139.12492,36.00012],[139.12547,36.11894],[139.12495,36.16664],[139,36.16668],[138.99941,36.25031],[138.95831,36.25002],[138.95822,36.29127],[138.91663,36.29166],[138.91678,36.37496],[138.95845,36.37565],[138.95836,36.45832],[139.08379,36.45868],[139.08334,36.5],[139.25009,36.50012],[139.2496,36.54136],[139.37464,36.54189],[139.37505,36.62499],[139.45022,36.62528],[139.44999,36.66667],[139.66374,36.66671],[139.75002,36.66665],[139.75005,36.75003],[140,36.75001],[139.99998,36.62209],[140.00001,36.41668],[140.25001,36.41666],[140.24999,36.04158],[140.50004,36.04158],[140.49989,35.83349],[140.41632,35.83374],[140.4168,35.7919],[140.45874,35.79113],[140.45874,35.72461],[140.51666,35.72486],[140.51691,35.7417],[140.59144,35.74174],[140.5915,35.94177],[140.65002,35.94164],[140.64994,36.00837],[140.67503,36.00834],[140.71403,35.92326],[140.77327,35.83877],[140.81532,35.78508],[140.89133,35.7501],[140.89211,35.71717],[140.86632,35.67853],[140.80694,35.70622],[140.72767,35.6761],[140.68235,35.68891],[140.60194,35.63074],[140.48545,35.54409],[140.4095,35.42897],[140.40816,35.33353],[140.30722,35.33371],[140.30767,35.41748],[140.30946,35.45851],[140.20762,35.45905],[140.20829,35.37478],[140.12503,35.37478],[140.12436,35.33408],[140.29155,35.33316],[140.29245,35.20909],[140.31707,35.20836],[140.31662,35.18422],[140.35042,35.18257],[140.3431,35.13152],[140.23201,35.10096],[140.13697,35.09271],[140.05542,35.03643],[139.98865,34.98849],[139.96379,34.91688],[139.91222,34.88262],[139.82272,34.89218],[139.78337,34.93633],[139.73961,34.95322],[139.7443,34.99303],[139.81476,35.00932],[139.7963,35.05283],[139.80169,35.09108],[139.80766,35.1529],[139.80866,35.19667],[139.85153,35.24127],[139.8325,35.29189],[139.74927,35.2961],[139.76149,35.33517],[139.79232,35.35267],[139.81035,35.49933],[140.0035,35.49988],[140.03349,35.53668],[140.06639,35.58384],[139.79714,35.58311],[139.80005,35.50079],[139.77087,35.47343],[139.70992,35.44207],[139.6987,35.40282],[139.66887,35.36715],[139.68478,35.30781],[139.73549,35.2728],[139.75069,35.25934],[139.73734,35.23092],[139.74388,35.20852],[139.69714,35.18971],[139.67426,35.1702],[139.68932,35.15394],[139.68151,35.13477],[139.62355,35.12199],[139.59783,35.1285],[139.60224,35.17253],[139.58363,35.18959],[139.59033,35.24164],[139.5496,35.28403],[139.49879,35.30084],[139.42314,35.30942],[139.29131,35.30066],[139.23074,35.27778],[139.15546,35.23542],[139.15031,35.17507],[139.16665,35.13316],[139.12502,35.13298],[139.09436,35.13335],[139.05832,35.13316],[139.05671,35.00443],[139.03348,34.98385],[138.99968,34.98367],[139.00057,34.88274],[139.14136,34.88348],[139.11002,34.84602],[139.08129,34.79529],[139.01691,34.74107],[138.9999,34.64151],[138.90044,34.6097],[138.87367,34.59159],[138.80026,34.59988],[138.75773,34.65881],[138.72528,34.67575],[138.72528,34.72506],[138.83316,34.72598],[138.83383,34.74952],[138.7419,34.75106],[138.7338,34.8136],[138.74985,34.90057],[138.76065,34.93773],[138.75028,34.98313],[138.77855,35.04352],[138.87546,35.03316],[138.87703,35.04929],[138.85845,35.04984],[138.76804,35.12107],[138.68294,35.12223],[138.61873,35.09015],[138.55409,35.05201],[138.54926,34.99442],[138.49996,34.95392],[138.39142,34.91129],[138.35562,34.86759],[138.33929,34.80042],[138.27635,34.72246],[138.24467,34.66616],[138.24396,34.58503],[138.12662,34.58573],[138.01467,34.62561],[137.88184,34.65541],[137.79532,34.63718],[137.68991,34.65307],[137.57654,34.66441],[137.38135,34.64618],[137.18402,34.58409],[137.03187,34.5662],[137.00794,34.57573],[137.0254,34.61792],[137.0599,34.66613],[137.17517,34.66686],[137.30767,34.75996],[137.29894,34.77595],[137.29088,34.79231],[137.25037,34.79213],[137.21635,34.76768],[137.15816,34.74911],[137.08318,34.75076],[137.03215,34.76345],[136.94061,34.80848],[136.93456,34.77522],[136.98335,34.72575],[137.06751,34.74212],[137.06773,34.70183],[137.02454,34.70809],[137.01581,34.64937],[136.98179,34.65029],[136.82601,34.74911],[136.84884,34.82319],[136.79266,34.82521],[136.79132,35.00048],[136.75081,35.00012],[136.74991,34.95849],[136.68277,34.96069],[136.6624,34.89701],[136.59078,34.80003],[136.53863,34.72704],[136.58294,34.62506],[136.75682,34.54181],[136.85798,34.54126],[136.93945,34.54347],[136.91675,34.49231],[136.94081,34.46687],[136.94113,34.40866],[136.92404,34.35876],[136.90742,34.30209],[136.90045,34.2666],[136.84981,34.23416],[136.81693,34.1923],[136.79948,34.19254],[136.79996,34.22906],[136.74203,34.25863],[136.73325,34.28285],[136.70896,34.28334],[136.64264,34.25902],[136.5594,34.22605],[136.53564,34.22167],[136.50068,34.20864],[136.44007,34.20053],[136.38325,34.16675],[136.3334,34.14802],[136.31583,34.08487],[136.2674,34.08316],[136.12497,34.08343],[136.12449,34.16688],[136.24968,34.16688],[136.24984,34.25012],[136.37486,34.25025],[136.37468,34.33331],[136.50021,34.33302],[136.49973,34.49192],[136.45843,34.49127],[136.45811,34.5416],[136.4168,34.54186],[136.41664,34.62516],[136.37494,34.62464],[136.37469,34.68106],[136.37485,34.74974],[136.33402,34.75026],[136.33354,34.79109],[136.37485,34.79213],[136.37533,34.95858],[136.33323,34.95858],[136.33323,34.83345],[136.29239,34.83371],[136.29208,34.792],[136.24966,34.79213],[136.24998,34.70838],[136.29192,34.70851],[136.2916,34.62475],[136.12487,34.62512],[136.12498,34.66674],[136.04161,34.66655],[136.04094,34.7499],[136.00023,34.75009],[135.99991,34.65993],[135.99975,34.58387],[136.04153,34.58374],[136.04185,34.50017],[136.04989,34.49997],[136.05005,34.42503],[135.91674,34.425],[135.91667,34.35836],[135.81665,34.35837],[135.81661,34.31668],[135.74991,34.31672],[135.75007,34.29167],[135.64152,34.29176],[135.64186,34.27512],[135.53325,34.27489],[135.53348,34.25834],[135.475,34.25834],[135.47511,34.22498],[135.37507,34.22512],[135.3749,34.20814],[135.50001,34.20837],[135.50001,33.66652],[135.87502,33.66661],[135.87558,33.74983],[136.03371,33.75021],[136.01272,33.71062],[135.99681,33.67327],[135.97948,33.63389],[135.97195,33.61271],[135.95831,33.56798],[135.85332,33.50522],[135.85353,33.48302],[135.87591,33.4814],[135.86057,33.44051],[135.77718,33.42558],[135.7418,33.42534],[135.74163,33.4665],[135.68498,33.47915],[135.59008,33.49633],[135.47373,33.52819],[135.3902,33.5752],[135.37485,33.61633],[135.37533,33.64967],[135.33371,33.6498],[135.32468,33.66653],[135.45794,33.66666],[135.45842,33.74987],[135.41727,33.75],[135.41663,33.78802],[135.41743,33.83273],[135.37517,33.83326],[135.37517,33.79171],[135.3284,33.78999],[135.28777,33.75622],[135.21503,33.7698],[135.14371,33.85113],[135.12013,33.87826],[135.05776,33.87991],[135.05947,33.96479],[135.07709,34.00837],[135.11345,34.05029],[135.06515,34.06759],[135.07041,34.121],[135.15522,34.16286],[135.1163,34.18742],[135.06316,34.25849],[135.04915,34.27082],[134.99554,34.27152],[134.9955,34.29122],[134.99945,34.29894],[135.00904,34.30357],[135.1457,34.34721],[135.20804,34.35108],[135.24174,34.39165],[135.19145,34.42482],[135.25012,34.46056],[135.29487,34.42658],[135.30902,34.44119],[135.36647,34.53277],[135.39147,34.53394],[135.38308,34.63128],[135.36409,34.66669],[135.29161,34.66695],[135.29061,34.6245],[135.08349,34.62463],[135.04725,34.61643],[134.92905,34.64799],[134.826,34.69662],[134.75874,34.74267],[134.71632,34.74982],[134.52561,34.74969],[134.41657,34.70885],[134.31671,34.66669],[134.25055,34.66656],[134.24992,34.68309],[134.15797,34.68348],[134.15781,34.70013],[134.12505,34.7],[134.12474,34.58386],[134.11666,34.55845],[134.02519,34.55024],[134.02535,34.44785],[134.02788,34.41639],[134.19168,34.41678],[134.19152,34.38401],[134.28347,34.38296],[134.28347,34.33371],[134.38082,34.29415],[134.40952,34.26539],[134.43268,34.24648],[134.56265,34.25055],[134.66663,34.24963],[134.64146,34.04963],[134.70809,33.96554],[134.74006,33.92825],[134.71221,33.86773],[134.76918,33.86691],[134.76712,33.82524],[134.66742,33.7754],[134.63102,33.77487],[134.50018,33.77493],[134.49978,33.95855],[134.4582,33.95874],[134.45816,34.00006],[134.34679,33.99889],[134.06047,33.99988],[133.74955,34.00047],[133.74998,34.33337],[133.875,34.33342],[133.87494,34.41668],[133.95888,34.41683],[133.95843,34.44157],[133.85055,34.44157],[133.84966,34.46621],[133.82537,34.46704],[133.81642,34.44222],[133.84205,34.43326],[133.84194,34.41656],[133.75822,34.41715],[133.74122,34.44175],[133.6913,34.44152],[133.69085,34.45739],[133.69097,34.46639],[133.70004,34.48346],[133.61655,34.48355],[133.61689,34.45827],[133.53351,34.45887],[133.53329,34.41752],[133.4897,34.41743],[133.46642,34.43313],[133.46631,34.44992],[133.4503,34.45002],[133.45008,34.4166],[133.41713,34.41696],[133.41668,34.35786],[133.34174,34.3583],[133.30304,34.37515],[133.2748,34.35876],[133.21655,34.35],[133.16694,34.35007],[133.16662,34.36659],[133.09184,34.36659],[133.09176,34.3417],[133.05837,34.34164],[133.05829,34.32491],[132.90003,34.32517],[132.89148,34.29164],[132.7917,34.29164],[132.79133,34.28281],[132.792,34.24212],[132.77492,34.22513],[132.71629,34.22499],[132.71652,34.21655],[132.75854,34.21636],[132.775,34.20877],[132.79218,34.20095],[132.79223,34.14177],[132.74138,34.14173],[132.70838,34.16655],[132.63354,34.16665],[132.61664,34.1917],[132.59185,34.1916],[132.5749,34.1666],[132.54155,34.16674],[132.54178,34.14196],[132.42515,34.14165],[132.42503,34.16657],[132.3749,34.16663],[132.37515,34.18348],[132.40833,34.18343],[132.3752,34.2168],[132.34991,34.23331],[132.35014,34.25834],[132.35814,34.25843],[132.35819,34.27503],[132.33922,34.25834],[132.29166,34.22494],[132.24992,34.22494],[132.25003,34.2043],[132.25809,34.18324],[132.28327,34.18352],[132.28321,34.19995],[132.29183,34.20837],[132.32501,34.20847],[132.31684,34.1753],[132.25843,34.17533],[132.25843,34.14171],[132.2502,34.11675],[132.21669,34.11684],[132.21685,34.0585],[132.22491,34.05827],[132.22502,33.99163],[132.21669,33.99177],[132.21652,33.97516],[132.25037,33.97526],[132.25014,33.91622],[131.95761,33.91733],[131.95783,33.92512],[131.91755,33.92495],[131.91586,33.95863],[131.88699,33.96671],[131.87569,33.95891],[131.84973,33.92502],[131.80049,33.92439],[131.79948,33.95046],[131.7752,33.95057],[131.75058,33.9668],[131.70828,33.97508],[131.70918,33.92551],[131.68366,33.92513],[131.68321,33.95056],[131.6916,33.96717],[131.69988,33.98323],[131.68332,33.99937],[131.68354,34.01681],[131.69999,34.017],[131.70011,34.03314],[131.68209,34.03352],[131.67515,34.02581],[131.62513,34.02488],[131.59122,33.97515],[131.38721,33.97497],[131.29981,33.91685],[131.16675,33.91667],[131.1172,33.97473],[131.06078,34.02462],[131.03349,34.02557],[131.04198,34.00848],[131.04175,33.7381]],[[135.98583,35.86595],[135.93905,35.95517],[135.95723,36.1316],[136.15271,36.29666],[136.6596,36.75695],[136.65846,37.00603],[136.66642,37.33477],[136.85167,37.42328],[137.11307,37.5288],[137.31877,37.54953],[137.39151,37.50356],[137.34765,37.35791],[137.20218,37.24762],[137.09307,37.06828],[137.0223,36.83795],[137.09532,36.80133],[137.22971,36.77368],[137.35387,36.80451],[137.39706,36.90966],[137.50588,36.95883],[137.72267,37.01579],[137.95199,37.10656],[138.053,37.16975],[138.18626,37.18254],[138.28854,37.24861],[138.43501,37.34512],[138.54909,37.41229],[138.61842,37.49225],[138.73903,37.51536],[138.78378,37.5674],[138.82185,37.62796],[138.91491,37.63009],[138.924,37.6032],[139.01321,37.59757],[139.01421,37.53507],[139.03452,37.52325],[139.03793,37.45798],[139.04887,37.42358],[139.13027,37.42312],[139.23881,37.4326],[139.26282,37.33326],[139.12289,37.32784],[139.11408,37.26354],[139.11422,37.16748],[139.05555,37.16658],[138.82825,37.17133],[138.87072,37.2338],[138.89104,37.31316],[138.72965,37.33259],[138.71403,37.29474],[138.71715,37.1642],[138.53517,37.16533],[138.39907,37.16692],[138.37478,37.13261],[138.3725,36.99907],[138.08823,36.99839],[138.08596,36.91586],[137.89233,36.91768],[137.87798,36.83517],[137.66517,36.8321],[137.52111,36.83142],[137.51216,36.74222],[137.39482,36.74427],[137.37138,36.58325],[137.29367,36.58371],[137.18016,36.55028],[137.21383,36.53133],[137.26384,36.33176],[136.63321,36.33496],[136.50436,36.29227],[136.39412,36.29444],[136.38034,36.25493],[136.37778,36.17665],[136.38218,36.09507],[136.38758,36.00065],[136.2593,35.99399],[136.25532,35.90923],[136.24992,35.83337],[136.12207,35.82876],[136.11184,35.88725],[136.05984,35.91165],[136.01793,35.86676],[135.98583,35.86595]],[[140.03281,37.29986],[140.03344,37.34643],[140.03344,37.47427],[140.03407,37.48281],[139.99973,37.48356],[140.00036,37.44198],[139.94212,37.44173],[139.94197,37.35007],[139.89116,37.35007],[139.89116,37.41698],[139.81725,37.41647],[139.81266,37.57468],[139.74192,37.57556],[139.74224,37.79174],[139.81789,37.79162],[139.98296,37.79112],[139.98359,37.58334],[140.0412,37.58334],[140.04151,37.47502],[140.1591,37.47528],[140.15815,37.63311],[140.3745,37.63399],[140.37481,37.83338],[140.5,37.83525],[140.49989,37.91662],[140.53144,37.9168],[140.62489,37.9167],[140.62489,37.84641],[140.62534,37.33359],[140.57502,37.33284],[140.57486,37.25881],[140.4579,37.25855],[140.45774,37.2084],[140.2501,37.20866],[140.24994,37.29998],[140.03281,37.29986]],[[141.00075,38.16707],[140.84264,38.16752],[140.68779,38.16405],[140.70788,38.09499],[140.70868,38.03346],[140.61627,38.03362],[140.53369,38.11364],[140.5359,38.14478],[140.61948,38.14478],[140.62471,38.2048],[140.6231,38.27376],[140.63073,38.33902],[140.81255,38.33698],[141.00362,38.33398],[141.00075,38.16707]],[[129.44454,34.73675],[129.52524,34.65452],[129.35703,34.19046],[129.23088,34.06063],[129.15132,34.11616],[129.27179,34.63488],[129.44454,34.73675]]],terms_url:"http://www.gsi.go.jp/kikakuchousei/kikakuchousei40182.html",terms_text:"GSI Japan",description:"Japan GSI ortho Imagery. Usually better than bing, but a bit older."},{id:"gsi.go.jp_seamlessphoto",name:"Japan GSI seamlessphoto Imagery",type:"tms",template:"https://cyberjapandata.gsi.go.jp/xyz/seamlessphoto/{zoom}/{x}/{y}.jpg",zoomExtent:[14,18],polygon:[[[140.88867,45.67548],[140.71289,45.41388],[141.04248,43.80282],[139.96582,43.35714],[138.99902,42.01665],[139.04297,41.26129],[137.5708,38.58253],[132.69287,36.86204],[130.84717,34.93999],[129.74854,34.994],[129.02344,34.56086],[128.36426,33.21112],[127.90283,31.87756],[128.4082,29.89781],[125.8374,26.78485],[123.33252,25.0657],[122.58545,24.42715],[123.53027,23.44309],[125.88135,24.10665],[129.96826,26.31311],[132.1875,30.20211],[134.42871,32.43561],[136.82373,33.28462],[137.85645,34.21634],[138.64746,33.24788],[138.58154,32.00808],[139.6582,28.67131],[141.65771,29.66896],[142.0752,32.06396],[141.21826,33.37641],[141.56982,35.44277],[141.43799,36.52729],[142.82227,39.16414],[143.04199,40.89691],[145.92041,42.40723],[146.18408,43.03678],[145.74463,43.54855],[145.32715,43.67582],[145.30518,43.91372],[145.61279,44.2452],[145.41504,44.62175],[144.38232,44.52784],[142.31689,45.53714],[141.3501,45.70618],[140.88867,45.67548]]],terms_url:"http://www.gsi.go.jp/kikakuchousei/kikakuchousei40182.html",terms_text:"GSI Japan seamless photo",description:"Japan GSI seamlessphoto Imagery. The collection of latest imageries of GSI ortho, airphoto, post disaster and others."},{id:"gsi.go.jp_std_map",name:"Japan GSI Standard Map",type:"tms",template:"https://cyberjapandata.gsi.go.jp/xyz/std/{zoom}/{x}/{y}.png",zoomExtent:[5,18],polygon:[[[141.85547,44.64912],[140.22949,43.9691],[138.95508,41.80408],[139.48242,40.17887],[138.86719,38.30718],[136.31836,37.19533],[132.14355,35.13788],[128.93555,33.35806],[129.50684,32.4727],[129.77051,31.69078],[130.20996,30.90223],[131.2207,30.78904],[131.66016,32.32428],[132.71484,32.87959],[133.76953,33.17434],[136.75781,33.87042],[139.30664,35.06597],[140.88867,35.17381],[141.15234,36.5626],[142.11914,39.94344],[141.76758,42.68243],[141.85547,44.64912]]],terms_url:"https://maps.gsi.go.jp/help/use.html",terms_text:"GSI Japan",description:"Japan GSI Standard Map. Widely covered."},{id:"juno-gps",name:"Juno GPS traces",type:"tms",template:"https://gps-tile.junolab.net/{zoom}/{x}/{y}.png",startDate:"2019-01-01T00:00:00.000Z",zoomExtent:[0,19],polygon:[[[-74.337,40.484],[-73.572,40.484],[-73.572,40.957],[-74.337,40.957],[-74.337,40.484]]],terms_url:"https://gps-tile.junolab.net/about.html",terms_text:"© 2019 Juno",description:"Juno drivers' GPS traces from two days ago, updated daily",icon:"https://osmlab.github.io/editor-layer-index/sources/north-america/us/ny/Juno-GPS.png",overlay:true},{id:"kalmar-orto-2014",name:"Kalmar North Orthophoto 2014",type:"wms",template:"https://kartportal.kalmar.se/arcgisserver/services/Ortofoto/Kalmar_2014/ImageServer/WMSServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",zoomExtent:[9,22],polygon:[[[16.28473,56.70827],[16.38856,56.70798],[16.40843,56.7615],[16.46269,56.75672],[16.47753,56.76023],[16.48815,56.77023],[16.48754,56.79231],[16.48254,56.79547],[16.47667,56.8223],[16.4687,56.82614],[16.48584,56.86271],[16.48809,56.87369],[16.45694,56.87786],[16.46288,56.88769],[16.42696,56.88757],[16.39809,56.89604],[16.36791,56.8952],[16.36717,56.85985],[16.36431,56.84636],[16.36001,56.83657],[16.34423,56.82532],[16.32675,56.79284],[16.26114,56.74422],[16.28473,56.70827]]],terms_url:"http://data-kalmar.opendata.arcgis.com/",terms_text:"© Kalmar municipality",best:true,description:"Orthophotos for the north coast of the municipality of Kalmar 2014",icon:"https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/Kalmarvapen_1a.svg/206px-Kalmarvapen_1a.svg.png"},{id:"kalmar-orto-2016",name:"Kalmar South Orthophoto 2016",type:"wms",template:"https://kartportal.kalmar.se/arcgisserver/services/Ortofoto/Kalmar_2016/ImageServer/WMSServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",zoomExtent:[9,22],polygon:[[[16.156,56.45834],[16.11389,56.46083],[16.09246,56.46633],[16.0724,56.4662],[16.07126,56.51153],[16.08516,56.56847],[16.14417,56.63933],[16.21168,56.68491],[16.28412,56.71655],[16.25135,56.74358],[16.25045,56.75062],[16.29558,56.7512],[16.33516,56.72511],[16.38922,56.71885],[16.41137,56.67602],[16.4053,56.66294],[16.33101,56.625],[16.28048,56.613],[16.21561,56.51967],[16.156,56.45834]]],terms_url:"http://data-kalmar.opendata.arcgis.com/",terms_text:"© Kalmar municipality",best:true,description:"Orthophotos for the south coast of the municipality of Kalmar 2016",icon:"https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/Kalmarvapen_1a.svg/206px-Kalmarvapen_1a.svg.png"},{id:"kalmar-orto-2018",name:"Kalmar Urban Orthophoto 2018",type:"wms",template:"https://kartportal.kalmar.se/arcgisserver/services/Ortofoto/Kalmar_2018/ImageServer/WMSServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2018-01-01T00:00:00.000Z",startDate:"2018-01-01T00:00:00.000Z",zoomExtent:[9,22],polygon:[[[16.3416,56.81756],[16.32773,56.7973],[16.36692,56.78706],[16.37105,56.79153],[16.36978,56.80511],[16.35645,56.8133],[16.3416,56.81756]],[[16.39207,56.79339],[16.4608,56.78944],[16.48817,56.79067],[16.4833,56.76986],[16.46612,56.76711],[16.45409,56.76774],[16.43173,56.77309],[16.43178,56.77663],[16.40554,56.77214],[16.39325,56.77349],[16.39207,56.79339]],[[16.29836,56.79102],[16.28796,56.7883],[16.27727,56.78367],[16.27623,56.77952],[16.2862,56.7761],[16.3108,56.77696],[16.3118,56.78086],[16.30364,56.78883],[16.29836,56.79102]],[[16.20686,56.63637],[16.22098,56.62389],[16.2453,56.62467],[16.26751,56.62951],[16.28724,56.63831],[16.37871,56.65462],[16.38806,56.6897],[16.38664,56.72867],[16.31586,56.72879],[16.29956,56.7219],[16.29331,56.70021],[16.26799,56.66889],[16.23945,56.66991],[16.2266,56.6624],[16.21411,56.64972],[16.20686,56.63637]],[[16.15172,56.67843],[16.15712,56.69334],[16.15268,56.70297],[16.13274,56.71254],[16.10987,56.71964],[16.08638,56.7112],[16.07969,56.70056],[16.08149,56.69566],[16.09534,56.69599],[16.12877,56.67766],[16.15172,56.67843]],[[15.97369,56.62759],[16.00164,56.63215],[16.04126,56.62999],[16.05658,56.62489],[16.06201,56.61794],[16.09186,56.60378],[16.10527,56.5926],[16.09581,56.58161],[16.03481,56.60405],[16.0305,56.61252],[16.0088,56.60223],[15.98755,56.59742],[15.98449,56.57141],[15.94887,56.57264],[15.91878,56.55184],[15.90892,56.55393],[15.89921,56.56867],[15.9188,56.57287],[15.94612,56.57491],[15.96371,56.59004],[15.9496,56.59724],[15.94308,56.60903],[15.95726,56.61598],[15.97589,56.62005],[15.97369,56.62759]]],terms_url:"http://data-kalmar.opendata.arcgis.com/",terms_text:"© Kalmar municipality",best:true,description:"Orthophotos for urban areas of the municipality of Kalmar 2018",icon:"https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/Kalmarvapen_1a.svg/206px-Kalmarvapen_1a.svg.png"},{id:"Aargau-AGIS-2014",name:"Kanton Aargau 25cm (AGIS 2014)",type:"tms",template:"https://mapproxy.osm.ch/tiles/AGIS2014/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",zoomExtent:[8,19],polygon:[[[8.09602,47.57882],[8.10323,47.57879],[8.10323,47.58583],[8.10591,47.58732],[8.11019,47.58878],[8.11589,47.5893],[8.12168,47.58916],[8.12546,47.58873],[8.12959,47.58888],[8.13023,47.59122],[8.132,47.59358],[8.13506,47.59546],[8.13831,47.59698],[8.14161,47.59939],[8.14534,47.60076],[8.14961,47.60144],[8.15438,47.60127],[8.15751,47.60063],[8.16119,47.59914],[8.16255,47.59976],[8.16438,47.60148],[8.16653,47.60399],[8.17087,47.60673],[8.17608,47.60838],[8.17912,47.60868],[8.18153,47.6118],[8.18304,47.61489],[8.18498,47.6176],[8.18953,47.62151],[8.19212,47.62321],[8.22261,47.623],[8.22561,47.6212],[8.22849,47.61842],[8.22959,47.61621],[8.23008,47.61501],[8.23261,47.61686],[8.23657,47.61803],[8.24,47.61835],[8.24351,47.61783],[8.24749,47.61877],[8.25066,47.61988],[8.25708,47.6208],[8.26104,47.62069],[8.26491,47.61935],[8.26732,47.61769],[8.26902,47.61531],[8.27579,47.61702],[8.28106,47.61707],[8.28772,47.61626],[8.29421,47.61442],[8.29947,47.61221],[8.30311,47.60977],[8.30287,47.59447],[8.30438,47.59227],[8.30591,47.59109],[8.30791,47.59019],[8.31236,47.58917],[8.31655,47.58713],[8.32049,47.58436],[8.32598,47.57888],[8.32864,47.57716],[8.33219,47.57604],[8.33902,47.57577],[8.34702,47.57628],[8.35962,47.57552],[8.36475,47.57436],[8.37207,47.57377],[8.38002,47.57233],[8.38194,47.57496],[8.38387,47.57686],[8.38879,47.58027],[8.39232,47.58174],[8.39611,47.58247],[8.40013,47.58255],[8.40432,47.58158],[8.41158,47.57928],[8.418,47.57602],[8.42381,47.57452],[8.43039,47.57228],[8.43275,47.57035],[8.4336,47.56849],[8.43353,47.56669],[8.4319,47.56444],[8.4286,47.56217],[8.42575,47.56121],[8.4259,47.55854],[8.42498,47.55624],[8.42353,47.55469],[8.42296,47.5537],[8.4246,47.5517],[8.42492,47.54981],[8.42434,47.54836],[8.42539,47.54679],[8.425,47.54418],[8.4233,47.5422],[8.421,47.54106],[8.41832,47.54049],[8.41551,47.54062],[8.4139,47.53924],[8.41283,47.5372],[8.41194,47.53626],[8.41241,47.53415],[8.41185,47.53237],[8.41117,47.53158],[8.40143,47.53169],[8.40124,47.52443],[8.39936,47.5222],[8.39666,47.52082],[8.39385,47.51988],[8.39085,47.51973],[8.38877,47.52014],[8.38809,47.5146],[8.38551,47.51075],[8.38366,47.50944],[8.36776,47.50953],[8.36739,47.48709],[8.3751,47.48689],[8.37889,47.4853],[8.38196,47.48188],[8.38184,47.47521],[8.38328,47.47192],[8.38244,47.46879],[8.37943,47.46643],[8.37751,47.4659],[8.37787,47.46496],[8.38238,47.46423],[8.38671,47.46097],[8.39171,47.45743],[8.39315,47.45349],[8.39514,47.45031],[8.39418,47.44722],[8.39171,47.44535],[8.3896,47.44449],[8.38996,47.44339],[8.39111,47.4416],[8.39213,47.43924],[8.39339,47.4359],[8.39249,47.43411],[8.39369,47.43143],[8.39568,47.42854],[8.39959,47.42463],[8.39953,47.41954],[8.449,47.41897],[8.45369,47.41233],[8.45369,47.40451],[8.44858,47.39649],[8.40362,47.39685],[8.40483,47.39392],[8.4029,47.38903],[8.4035,47.38553],[8.40314,47.38304],[8.40483,47.37905],[8.40844,47.37575],[8.41379,47.37338],[8.4159,47.37016],[8.41584,47.36539],[8.4144,47.36327],[8.41494,47.35912],[8.41722,47.35573],[8.41632,47.35231],[8.41355,47.34913],[8.41367,47.34688],[8.41476,47.3448],[8.41885,47.34244],[8.42264,47.34052],[8.42469,47.33718],[8.42421,47.33163],[8.42914,47.33286],[8.4351,47.33192],[8.43763,47.33281],[8.44328,47.33506],[8.44527,47.33746],[8.45213,47.3402],[8.45761,47.33975],[8.46212,47.33649],[8.46278,47.33322],[8.46043,47.32829],[8.45797,47.32457],[8.45556,47.32005],[8.44918,47.31495],[8.44713,47.31217],[8.44021,47.30948],[8.43624,47.29817],[8.43311,47.29593],[8.42806,47.29397],[8.42318,47.29001],[8.41656,47.28789],[8.41024,47.28728],[8.4035,47.28409],[8.40188,47.2805],[8.40862,47.27593],[8.41066,47.2716],[8.40892,47.26613],[8.41235,47.2618],[8.41235,47.25873],[8.41109,47.25608],[8.41698,47.25142],[8.41885,47.2475],[8.41801,47.24305],[8.4144,47.23904],[8.41373,47.23565],[8.4106,47.23226],[8.40435,47.22797],[8.40296,47.2256],[8.40398,47.22127],[8.40856,47.21718],[8.40928,47.21326],[8.40844,47.20945],[8.41012,47.20258],[8.41319,47.19678],[8.41271,47.1924],[8.4088,47.18799],[8.40814,47.18475],[8.4091,47.1812],[8.41518,47.17915],[8.41915,47.17563],[8.42294,47.16553],[8.42294,47.15747],[8.42011,47.15325],[8.42246,47.14838],[8.42276,47.14392],[8.42053,47.13954],[8.41584,47.13524],[8.40898,47.13274],[8.40386,47.13201],[8.40116,47.13258],[8.39532,47.1327],[8.38437,47.1345],[8.37895,47.13385],[8.37245,47.13442],[8.36908,47.13659],[8.368,47.13876],[8.35656,47.14228],[8.35409,47.14564],[8.35331,47.14916],[8.3506,47.15161],[8.3503,47.15419],[8.34772,47.15669],[8.34561,47.15923],[8.34086,47.16164],[8.33935,47.16512],[8.3373,47.16896],[8.33315,47.17154],[8.33261,47.17351],[8.33062,47.17792],[8.33002,47.18717],[8.32924,47.18786],[8.32936,47.19494],[8.32292,47.19514],[8.32148,47.19854],[8.32196,47.20115],[8.31835,47.21043],[8.31413,47.21178],[8.31089,47.2153],[8.31107,47.21857],[8.31221,47.2198],[8.30884,47.22433],[8.30932,47.22646],[8.30715,47.23042],[8.30727,47.2321],[8.30595,47.23582],[8.30607,47.23949],[8.30378,47.24366],[8.30144,47.24677],[8.29554,47.24836],[8.29187,47.25293],[8.28814,47.25869],[8.28766,47.26143],[8.28627,47.26519],[8.28723,47.26805],[8.28838,47.26964],[8.2823,47.27478],[8.27718,47.27576],[8.27273,47.27531],[8.26749,47.27593],[8.26533,47.27719],[8.2616,47.27695],[8.25793,47.27781],[8.25576,47.27887],[8.25317,47.27678],[8.25034,47.27548],[8.2501,47.27348],[8.24956,47.27017],[8.24559,47.26715],[8.24095,47.26678],[8.23452,47.26727],[8.23145,47.26278],[8.2309,47.25931],[8.22663,47.24942],[8.222,47.24713],[8.21526,47.24431],[8.21363,47.24203],[8.21309,47.23602],[8.21123,47.23246],[8.21285,47.22548],[8.21117,47.22266],[8.20689,47.22053],[8.19762,47.22065],[8.19149,47.21861],[8.16976,47.21865],[8.16543,47.22315],[8.16085,47.22405],[8.15351,47.2294],[8.15171,47.2332],[8.14822,47.23647],[8.14798,47.241],[8.14635,47.24203],[8.13823,47.24166],[8.13558,47.23941],[8.12673,47.23606],[8.1218,47.23631],[8.11614,47.23872],[8.10675,47.23945],[8.10266,47.24113],[8.09983,47.24436],[8.09766,47.2493],[8.09797,47.25069],[8.09339,47.25567],[8.08852,47.2569],[8.08485,47.25583],[8.08323,47.25405],[8.07995,47.25246],[8.0769,47.25054],[8.06854,47.24284],[8.06325,47.24098],[8.05134,47.23865],[8.04857,47.23886],[8.03575,47.23747],[8.0322,47.23555],[8.02714,47.23534],[8.01139,47.23967],[8.00927,47.24116],[8.00791,47.24312],[8.00783,47.24821],[8.00857,47.25042],[8.0084,47.25769],[8.00712,47.25922],[8.00299,47.26162],[8.00052,47.26486],[7.99759,47.26789],[7.99627,47.27271],[7.99474,47.27369],[7.98993,47.27121],[7.97278,47.26907],[7.96857,47.27008],[7.96737,47.27098],[7.95861,47.27112],[7.9601,47.26748],[7.96274,47.26396],[7.96576,47.26171],[7.96699,47.25879],[7.96695,47.25001],[7.95963,47.24582],[7.95112,47.23918],[7.94469,47.236],[7.93733,47.23106],[7.93405,47.23051],[7.9298,47.23077],[7.9178,47.23305],[7.90784,47.23837],[7.89793,47.2377],[7.8695,47.23207],[7.85478,47.22719],[7.85137,47.22713],[7.83958,47.22947],[7.83584,47.22976],[7.83082,47.23259],[7.82707,47.23505],[7.82431,47.23831],[7.82129,47.24042],[7.82014,47.24264],[7.81822,47.24562],[7.81771,47.24917],[7.81822,47.25082],[7.81835,47.25371],[7.81988,47.25587],[7.82116,47.2568],[7.82112,47.25778],[7.8192,47.26058],[7.81912,47.26154],[7.81686,47.26486],[7.8175,47.26731],[7.81958,47.26982],[7.82439,47.27158],[7.82805,47.2721],[7.83592,47.27837],[7.83707,47.28342],[7.84005,47.2872],[7.84201,47.29067],[7.84588,47.29427],[7.84763,47.2982],[7.85137,47.30299],[7.8529,47.30741],[7.85571,47.31032],[7.86065,47.31254],[7.86422,47.31349],[7.87018,47.31672],[7.87631,47.31736],[7.88082,47.31716],[7.88337,47.31667],[7.88588,47.31941],[7.88886,47.32131],[7.88805,47.32443],[7.88907,47.3287],[7.8915,47.33262],[7.8978,47.34014],[7.9001,47.34156],[7.90005,47.3432],[7.90222,47.34557],[7.90635,47.34704],[7.90963,47.34735],[7.91359,47.34626],[7.91618,47.34456],[7.91699,47.34303],[7.92401,47.33899],[7.93839,47.33792],[7.94929,47.33784],[7.95431,47.33596],[7.95593,47.33317],[7.95691,47.32968],[7.95571,47.32535],[7.96993,47.32797],[7.97308,47.33017],[7.98333,47.33432],[7.98563,47.33692],[7.98954,47.33818],[7.99248,47.33827],[7.99784,47.34017],[7.99635,47.34257],[7.99601,47.34588],[7.99733,47.34859],[8.00116,47.35081],[8.00137,47.3569],[8.00261,47.3577],[8.00418,47.36044],[8.00976,47.36419],[8.01125,47.36598],[8.01746,47.36926],[8.01912,47.37157],[8.0198,47.37376],[8.02023,47.37598],[8.02172,47.37837],[8.02193,47.38093],[8.02282,47.38286],[8.02078,47.38857],[8.01606,47.38929],[8.01265,47.38897],[8.00772,47.39012],[8.00367,47.39205],[8.00163,47.39479],[8.00155,47.39998],[8.00023,47.40306],[7.99801,47.40453],[7.99261,47.40551],[7.98776,47.40637],[7.98418,47.40839],[7.98027,47.4081],[7.9732,47.41127],[7.96963,47.41383],[7.95695,47.41893],[7.95529,47.4218],[7.95593,47.42402],[7.95746,47.42621],[7.96274,47.42828],[7.97746,47.43254],[7.97567,47.43732],[7.97614,47.44138],[7.97431,47.44368],[7.95129,47.45111],[7.94861,47.4539],[7.94818,47.4566],[7.94678,47.45755],[7.94039,47.45669],[7.93588,47.45738],[7.93631,47.47625],[7.9318,47.47605],[7.92469,47.47717],[7.91571,47.47743],[7.90903,47.47947],[7.90316,47.47967],[7.90295,47.48965],[7.8969,47.4898],[7.8918,47.49405],[7.89086,47.49765],[7.8878,47.49931],[7.88631,47.5023],[7.87999,47.50397],[7.87403,47.50787],[7.86994,47.50944],[7.87006,47.51239],[7.86435,47.51245],[7.85851,47.51543],[7.8558,47.51854],[7.85625,47.52147],[7.8549,47.52474],[7.85183,47.5285],[7.84647,47.52714],[7.84148,47.52777],[7.8413,47.52406],[7.84015,47.51587],[7.83943,47.51259],[7.83688,47.51256],[7.83679,47.51049],[7.83352,47.50949],[7.83156,47.50765],[7.82981,47.50552],[7.82522,47.50354],[7.82049,47.5004],[7.81475,47.49491],[7.81181,47.49261],[7.80645,47.4914],[7.80403,47.49146],[7.80049,47.49014],[7.77977,47.49028],[7.77871,47.49304],[7.7796,47.496],[7.78386,47.5004],[7.78203,47.50368],[7.78088,47.5073],[7.78109,47.51018],[7.77977,47.51265],[7.77969,47.51529],[7.77045,47.51802],[7.75905,47.52003],[7.75266,47.52009],[7.74781,47.51957],[7.73368,47.52291],[7.72781,47.52719],[7.71985,47.52978],[7.71262,47.53095],[7.70764,47.5344],[7.70551,47.53917],[7.70696,47.54279],[7.71415,47.54627],[7.72245,47.54756],[7.749,47.54977],[7.75428,47.55339],[7.76654,47.55615],[7.77168,47.55761],[7.78007,47.55836],[7.78577,47.55982],[7.7902,47.5616],[7.79398,47.56634],[7.80492,47.57237],[7.80611,47.57989],[7.81173,47.58954],[7.81577,47.59218],[7.82211,47.59352],[7.83645,47.59163],[7.83952,47.59045],[7.84305,47.58778],[7.84875,47.58899],[7.85624,47.59189],[7.86488,47.59393],[7.87126,47.5943],[7.87726,47.59367],[7.88535,47.59424],[7.89343,47.59301],[7.90109,47.58976],[7.90833,47.58514],[7.91386,47.57923],[7.91867,47.57194],[7.91956,47.56772],[7.91875,47.56433],[7.9156,47.56008],[7.91577,47.55715],[7.91841,47.55405],[7.92126,47.55261],[7.92552,47.55227],[7.93471,47.55221],[7.9405,47.55078],[7.94326,47.54968],[7.94356,47.55052],[7.94458,47.55589],[7.94841,47.55979],[7.95394,47.56229],[7.96003,47.56333],[7.96577,47.56272],[7.97203,47.5612],[7.97833,47.56057],[7.98624,47.56094],[7.99718,47.56212],[8.0045,47.56137],[8.01114,47.55974],[8.01641,47.55701],[8.02046,47.55574],[8.0262,47.55741],[8.03799,47.55876],[8.04254,47.56028],[8.0485,47.56333],[8.05454,47.56798],[8.05931,47.56921],[8.0622,47.56895],[8.06693,47.57002],[8.07242,47.56973],[8.07739,47.56795],[8.08182,47.56436],[8.08522,47.56281],[8.08791,47.56298],[8.09259,47.56559],[8.09395,47.56809],[8.09484,47.57587],[8.09602,47.57882]]],terms_text:"AGIS OF2014",description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"Aargau-AGIS-2016",name:"Kanton Aargau 25cm (AGIS 2016)",type:"tms",template:"https://mapproxy.osm.ch/tiles/AGIS2016/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",zoomExtent:[8,19],polygon:[[[7.70438,47.55794],[7.77076,47.55772],[7.77103,47.58025],[7.80408,47.58017],[7.80433,47.60248],[7.93713,47.60217],[7.93703,47.57962],[8.00374,47.57917],[8.00338,47.55687],[8.0364,47.55665],[8.03681,47.57928],[8.10313,47.57881],[8.10387,47.60112],[8.17011,47.60086],[8.17036,47.6235],[8.30311,47.62235],[8.30305,47.59988],[8.3362,47.59927],[8.33585,47.5771],[8.36913,47.57694],[8.36943,47.59931],[8.43564,47.59877],[8.43454,47.53133],[8.40144,47.53162],[8.40096,47.50926],[8.3678,47.50959],[8.3675,47.48698],[8.40042,47.48666],[8.39939,47.41929],[8.46558,47.4187],[8.46515,47.39647],[8.43206,47.39654],[8.43125,47.3516],[8.46434,47.35128],[8.46327,47.28387],[8.42997,47.28421],[8.42714,47.12676],[8.3293,47.12753],[8.32937,47.13007],[8.32833,47.13007],[8.3285,47.14529],[8.3294,47.19502],[8.2964,47.19526],[8.29714,47.24022],[8.2641,47.24046],[8.26446,47.26297],[8.23141,47.26316],[8.23075,47.21822],[8.09886,47.21912],[8.09874,47.24135],[8.066,47.24176],[8.06552,47.2192],[7.99993,47.21952],[8.00003,47.26433],[7.96735,47.26462],[7.96675,47.21961],[7.80153,47.22029],[7.80244,47.28791],[7.83518,47.28772],[7.83543,47.31017],[7.86837,47.31017],[7.86885,47.35542],[8.00097,47.3543],[8.00156,47.39928],[7.9353,47.39976],[7.93607,47.46716],[7.90278,47.46729],[7.90303,47.48981],[7.86987,47.48998],[7.86993,47.5125],[7.83689,47.51258],[7.83665,47.4901],[7.77027,47.49026],[7.77045,47.51274],[7.70452,47.51307],[7.70438,47.55794]]],terms_text:"AGIS OF2016",description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"Aargau-AGIS-2017",name:"Kanton Aargau 25cm (AGIS 2017)",type:"tms",template:"https://mapproxy.osm.ch/tiles/AGIS2017/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",zoomExtent:[8,19],polygon:[[[7.70438,47.55794],[7.77076,47.55772],[7.77103,47.58025],[7.80408,47.58017],[7.80433,47.60248],[7.93713,47.60217],[7.93703,47.57962],[8.00374,47.57917],[8.00338,47.55687],[8.0364,47.55665],[8.03681,47.57928],[8.10313,47.57881],[8.10387,47.60112],[8.17011,47.60086],[8.17036,47.6235],[8.30311,47.62235],[8.30305,47.59988],[8.3362,47.59927],[8.33585,47.5771],[8.36913,47.57694],[8.36943,47.59931],[8.43564,47.59877],[8.43454,47.53133],[8.40144,47.53162],[8.40096,47.50926],[8.3678,47.50959],[8.3675,47.48698],[8.40042,47.48666],[8.39939,47.41929],[8.46558,47.4187],[8.46515,47.39647],[8.43206,47.39654],[8.43125,47.3516],[8.46434,47.35128],[8.46327,47.28387],[8.42997,47.28421],[8.42714,47.12676],[8.3293,47.12753],[8.32937,47.13007],[8.32833,47.13007],[8.3285,47.14529],[8.3294,47.19502],[8.2964,47.19526],[8.29714,47.24022],[8.2641,47.24046],[8.26446,47.26297],[8.23141,47.26316],[8.23075,47.21822],[8.09886,47.21912],[8.09874,47.24135],[8.066,47.24176],[8.06552,47.2192],[7.99993,47.21952],[8.00003,47.26433],[7.96735,47.26462],[7.96675,47.21961],[7.80153,47.22029],[7.80244,47.28791],[7.83518,47.28772],[7.83543,47.31017],[7.86837,47.31017],[7.86885,47.35542],[8.00097,47.3543],[8.00156,47.39928],[7.9353,47.39976],[7.93607,47.46716],[7.90278,47.46729],[7.90303,47.48981],[7.86987,47.48998],[7.86993,47.5125],[7.83689,47.51258],[7.83665,47.4901],[7.77027,47.49026],[7.77045,47.51274],[7.70452,47.51307],[7.70438,47.55794]]],terms_text:"AGIS OF2017",best:true,description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"Basel-Landschaft-2015",name:"Kanton Basel-Landschaft 10cm (2015)",type:"tms",template:"https://mapproxy.osm.ch/tiles/KTBASELLANDSCHAFT2015/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[18,21],polygon:[[[7.37028,47.41368],[7.35758,47.41508],[7.35792,47.41827],[7.35354,47.41961],[7.34488,47.42402],[7.33973,47.42971],[7.33269,47.43024],[7.32685,47.43192],[7.32528,47.43489],[7.3305,47.44176],[7.33899,47.44109],[7.34496,47.43608],[7.35266,47.43436],[7.3812,47.43208],[7.37599,47.41431],[7.37815,47.414],[7.38204,47.41331],[7.38839,47.41398],[7.41371,47.41093],[7.42074,47.4111],[7.42748,47.41448],[7.43811,47.41274],[7.4484,47.41507],[7.45558,47.42792],[7.45062,47.43534],[7.43784,47.44632],[7.42542,47.44328],[7.4209,47.44594],[7.42242,47.45072],[7.4288,47.45388],[7.43003,47.45949],[7.44577,47.46197],[7.44717,47.45696],[7.45651,47.44926],[7.49236,47.45897],[7.53068,47.46119],[7.52745,47.47391],[7.53633,47.48383],[7.53623,47.49105],[7.5326,47.49097],[7.53179,47.4974],[7.52004,47.49678],[7.51223,47.49892],[7.50935,47.50888],[7.49908,47.51628],[7.49787,47.52125],[7.50228,47.51491],[7.51746,47.51728],[7.5222,47.51409],[7.53096,47.52905],[7.51935,47.53472],[7.51075,47.52899],[7.5023,47.5284],[7.49804,47.53615],[7.50545,47.54438],[7.51676,47.54541],[7.52732,47.55278],[7.55466,47.56437],[7.56458,47.55704],[7.56124,47.55172],[7.55875,47.55235],[7.55588,47.54434],[7.56479,47.54569],[7.58726,47.5419],[7.58269,47.53247],[7.58948,47.52792],[7.59025,47.51979],[7.59478,47.51929],[7.61378,47.53925],[7.6223,47.53977],[7.62285,47.55004],[7.61774,47.55437],[7.61762,47.55865],[7.63273,47.56149],[7.63997,47.55816],[7.649,47.5483],[7.66131,47.54483],[7.66586,47.53746],[7.67467,47.53375],[7.69494,47.5325],[7.71347,47.53978],[7.71596,47.53582],[7.72362,47.53675],[7.72716,47.53293],[7.73322,47.53275],[7.73797,47.52732],[7.74902,47.52498],[7.75786,47.52605],[7.78763,47.52012],[7.79014,47.51864],[7.78887,47.50683],[7.7928,47.50068],[7.78663,47.49312],[7.79889,47.49565],[7.79816,47.4994],[7.7994,47.49748],[7.80742,47.49714],[7.81471,47.5048],[7.83198,47.51474],[7.83321,47.53382],[7.84653,47.53266],[7.85233,47.53524],[7.86257,47.52692],[7.86396,47.51931],[7.87666,47.52269],[7.87567,47.51319],[7.89399,47.50606],[7.90477,47.49218],[7.90482,47.48491],[7.93329,47.48141],[7.94702,47.48489],[7.94003,47.46202],[7.94885,47.46378],[7.95761,47.45881],[7.95785,47.45128],[7.94678,47.44319],[7.95003,47.43172],[7.96183,47.42183],[7.95657,47.41968],[7.95504,47.41561],[7.94839,47.41627],[7.93493,47.41177],[7.93672,47.40806],[7.93266,47.40527],[7.90974,47.39852],[7.89022,47.40714],[7.88333,47.4061],[7.88344,47.4012],[7.8777,47.40126],[7.86914,47.39551],[7.87943,47.38799],[7.87881,47.38351],[7.86265,47.38198],[7.84012,47.37476],[7.83055,47.36512],[7.80217,47.3611],[7.79637,47.35347],[7.79356,47.33905],[7.78529,47.33788],[7.76896,47.33891],[7.76642,47.34273],[7.75152,47.34433],[7.73415,47.35776],[7.72791,47.36886],[7.70195,47.37245],[7.6442,47.36721],[7.64176,47.38047],[7.63558,47.38059],[7.63332,47.38291],[7.63331,47.38534],[7.63725,47.38607],[7.63272,47.41003],[7.66405,47.41002],[7.6798,47.41751],[7.68658,47.43366],[7.68297,47.43872],[7.68485,47.44784],[7.69227,47.45421],[7.69883,47.45586],[7.69993,47.46191],[7.70988,47.46938],[7.69976,47.48063],[7.66833,47.48635],[7.66612,47.49687],[7.65217,47.49581],[7.64865,47.49183],[7.65539,47.49021],[7.65051,47.48826],[7.65593,47.48739],[7.64442,47.48564],[7.64097,47.48273],[7.6073,47.4894],[7.60885,47.48353],[7.60563,47.47936],[7.60815,47.47521],[7.60449,47.47045],[7.61887,47.46745],[7.62607,47.46291],[7.62217,47.46195],[7.61646,47.44523],[7.6158,47.43275],[7.59207,47.43271],[7.58121,47.42878],[7.57842,47.43491],[7.5689,47.4369],[7.5683,47.42233],[7.58074,47.4147],[7.52524,47.41163],[7.53117,47.40353],[7.51862,47.38822],[7.5113,47.38974],[7.50226,47.38481],[7.49233,47.38523],[7.47841,47.39056],[7.47747,47.40128],[7.46448,47.40251],[7.46092,47.40068],[7.45002,47.40393],[7.44951,47.39976],[7.4434,47.40231],[7.44131,47.40018],[7.44357,47.3889],[7.43732,47.38089],[7.41169,47.38057],[7.41628,47.38479],[7.41449,47.3943],[7.39894,47.39684],[7.39592,47.40338],[7.38869,47.40302],[7.38405,47.41236],[7.37968,47.41281],[7.37584,47.41401],[7.37028,47.41368]]],terms_url:"https://www.geo.bl.ch/fileadmin/user_upload/Geodaten/Nutzungsbedingungen_GBD_BL_V3p2.pdf",terms_text:"Geodaten des Kantons Basel-Landschaft 2015",best:true,description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"KTBASELSTADT2015",name:"Kanton Basel-Stadt 2015",type:"tms",template:"https://mapproxy.osm.ch/tiles/KTBASELSTADT2015/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[8,21],polygon:[[[7.492,47.4817],[7.492,47.6342],[7.784,47.6342],[7.784,47.4817],[7.492,47.4817]]],terms_text:"Kanton Basel-Stadt OF 2015",description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"KTBASELSTADT2017",name:"Kanton Basel-Stadt 2017",type:"tms",template:"https://mapproxy.osm.ch/tiles/KTBASELSTADT2017/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",zoomExtent:[8,21],polygon:[[[7.67138,47.59522],[7.67996,47.60078],[7.68451,47.60182],[7.69438,47.60171],[7.69395,47.59667],[7.68708,47.59355],[7.67884,47.58712],[7.68571,47.58538],[7.68906,47.57612],[7.69412,47.5734],[7.6924,47.56691],[7.6847,47.5617],[7.66425,47.56164],[7.64872,47.55689],[7.63035,47.55869],[7.62357,47.55666],[7.62786,47.55145],[7.62738,47.53658],[7.61833,47.53662],[7.61335,47.53262],[7.59962,47.51911],[7.58503,47.51917],[7.58409,47.52636],[7.57713,47.53163],[7.58125,47.53986],[7.5719,47.54148],[7.55387,47.54148],[7.55379,47.55122],[7.55653,47.55828],[7.5537,47.56031],[7.55379,47.57473],[7.56434,47.58122],[7.57936,47.57988],[7.58331,47.59019],[7.58563,47.59233],[7.59207,47.59239],[7.59851,47.59071],[7.60915,47.58643],[7.60923,47.5811],[7.6191,47.58046],[7.63687,47.59314],[7.63782,47.59557],[7.64168,47.59887],[7.64528,47.60026],[7.66494,47.59618],[7.67138,47.59522]]],terms_text:"Kanton Basel-Stadt OF 2017",best:true,description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"Bern-dsm-hillshade-2015",name:"Kanton Bern, Digitales Oberflaechenmodell 50cm, Relief",type:"wms",template:"https://www.geoservice.apps.be.ch/geoservice2/services/a42geo/a42geo_hoehenwms_d_fk/MapServer/WmsServer?LAYERS=GEODB.LDOM50CM_LORELIEF&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&STYLES=default&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[8,22],polygon:[[[6.82526,47.07901],[7.28497,46.74221],[7.06335,46.27329],[8.20129,46.43975],[8.44334,46.59001],[8.47595,46.76315],[8.41244,46.79841],[8.13984,46.7869],[7.96543,46.80687],[7.90089,46.8914],[7.97676,47.00414],[7.88784,47.05609],[7.90363,47.17665],[7.81952,47.29413],[7.55859,47.33231],[7.16583,47.31183],[6.82388,47.18131],[6.82526,47.07901]]],terms_text:"Digitales Oberflächenmodell LIDAR 50cm © Amt für Wald des Kantons Bern"},{id:"Bern-dtm-hillshade-2015",name:"Kanton Bern, Digitales Terrainmodell 50cm, Relief",type:"wms",template:"https://www.geoservice.apps.be.ch/geoservice2/services/a42geo/a42geo_hoehenwms_d_fk/MapServer/WmsServer?LAYERS=GEODB.LDTM50CM_LTRELIEF&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&STYLES=default&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[8,22],polygon:[[[6.82526,47.07901],[7.28497,46.74221],[7.06335,46.27329],[8.20129,46.43975],[8.44334,46.59001],[8.47595,46.76315],[8.41244,46.79841],[8.13984,46.7869],[7.96543,46.80687],[7.90089,46.8914],[7.97676,47.00414],[7.88784,47.05609],[7.90363,47.17665],[7.81952,47.29413],[7.55859,47.33231],[7.16583,47.31183],[6.82388,47.18131],[6.82526,47.07901]]],terms_text:"Digitales Terrainmodell LIDAR 50cm © Amt für Wald des Kantons Bern"},{id:"KTGL_ORTHO_2013",name:"Kanton Glarus Orthophoto 2013",type:"wms",template:"https://wms.geo.gl.ch?LAYERS=ch.gl.imagery.orthofoto2013&STYLES=default&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap",projection:"EPSG:3857",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[8,22],polygon:[[[8.99094,47.18505],[8.94836,47.13462],[8.93738,47.05609],[8.87421,47.03363],[8.9415,46.93807],[8.86597,46.84423],[8.86459,46.80852],[8.91815,46.78596],[9.04587,46.80758],[9.245,46.8968],[9.26147,46.92213],[9.25186,47.01865],[9.2189,47.04673],[9.19693,47.12154],[9.06235,47.1505],[8.99094,47.18505]]],terms_text:"Kanton Glarus, Luftbild Orthofoto 2013"},{id:"KTGL_ORTHO_2015",name:"Kanton Glarus Orthophoto 2015",type:"wms",template:"https://wms.geo.gl.ch?LAYERS=ch.gl.imagery.orthofoto2015&STYLES=default&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[8,22],polygon:[[[8.99094,47.18505],[8.94836,47.13462],[8.93738,47.05609],[8.87421,47.03363],[8.9415,46.93807],[8.86597,46.84423],[8.86459,46.80852],[8.91815,46.78596],[9.04587,46.80758],[9.245,46.8968],[9.26147,46.92213],[9.25186,47.01865],[9.2189,47.04673],[9.19693,47.12154],[9.06235,47.1505],[8.99094,47.18505]]],terms_text:"Kanton Glarus, Luftbild Orthofoto 2015"},{id:"KTGL_ORTHO_2017",name:"Kanton Glarus Orthophoto 2017",type:"wms",template:"https://wms.geo.gl.ch?LAYERS=ch.gl.imagery.orthofoto2017&STYLES=default&FORMAT=image/jpeg&CRS={proj}&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap",projection:"EPSG:3857",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",zoomExtent:[8,22],polygon:[[[8.99094,47.18505],[8.94836,47.13462],[8.93738,47.05609],[8.87421,47.03363],[8.9415,46.93807],[8.86597,46.84423],[8.86459,46.80852],[8.91815,46.78596],[9.04587,46.80758],[9.245,46.8968],[9.26147,46.92213],[9.25186,47.01865],[9.2189,47.04673],[9.19693,47.12154],[9.06235,47.1505],[8.99094,47.18505]]],terms_text:"Kanton Glarus, Luftbild Orthofoto 2017",best:true},{id:"Solothurn-sogis2014-tms",name:"Kanton Solothurn (SOGIS)",type:"tms",template:"https://mapproxy.osm.ch/tiles/sogis2014/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2017-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[15,19],polygon:[[[7.95595,47.47162],[7.98239,47.47155],[7.98239,47.45353],[7.99553,47.45353],[7.99521,47.41747],[8.0218,47.41743],[8.02155,47.39935],[8.03456,47.39926],[8.03468,47.39028],[8.04788,47.39022],[8.04769,47.37224],[8.03456,47.37232],[8.03437,47.3544],[8.02117,47.35427],[8.02072,47.32739],[7.99445,47.32747],[7.99426,47.31857],[7.96773,47.31866],[7.96767,47.30966],[7.94122,47.30978],[7.94133,47.32778],[7.91486,47.32786],[7.91467,47.30988],[7.9016,47.31005],[7.9014,47.30097],[7.87501,47.3011],[7.87501,47.29223],[7.86165,47.29212],[7.86154,47.27409],[7.84832,47.27416],[7.8483,47.26523],[7.83502,47.2652],[7.83502,47.25624],[7.79535,47.25636],[7.7953,47.24741],[7.72924,47.24756],[7.72929,47.25652],[7.71623,47.25667],[7.71618,47.26559],[7.70304,47.26559],[7.70304,47.27461],[7.68975,47.27467],[7.68989,47.28368],[7.66341,47.28371],[7.66332,47.2747],[7.61055,47.27476],[7.61041,47.24787],[7.62352,47.24777],[7.62356,47.23879],[7.64986,47.23876],[7.64999,47.22977],[7.6499,47.22083],[7.66308,47.22073],[7.6631,47.21178],[7.66297,47.20273],[7.67617,47.2027],[7.67623,47.19372],[7.68938,47.19369],[7.68924,47.17572],[7.70243,47.1756],[7.70234,47.14869],[7.66267,47.14881],[7.66281,47.13978],[7.63633,47.1399],[7.63647,47.14869],[7.5968,47.14893],[7.59684,47.13996],[7.57041,47.13999],[7.57042,47.15792],[7.55736,47.15795],[7.55732,47.14888],[7.54421,47.14895],[7.54417,47.13991],[7.53098,47.13991],[7.53095,47.13097],[7.51767,47.13097],[7.51765,47.12196],[7.51769,47.11292],[7.49131,47.11301],[7.49135,47.10403],[7.4782,47.104],[7.47813,47.07705],[7.46493,47.07708],[7.46498,47.06807],[7.42552,47.06801],[7.42543,47.08601],[7.37279,47.08598],[7.37288,47.10403],[7.3596,47.10403],[7.35955,47.131],[7.41228,47.131],[7.41223,47.14901],[7.42538,47.14901],[7.42552,47.15801],[7.3727,47.15796],[7.3727,47.18498],[7.34627,47.18492],[7.34636,47.20287],[7.33307,47.2029],[7.33307,47.22096],[7.34614,47.22096],[7.34614,47.22991],[7.37256,47.22991],[7.3727,47.2389],[7.399,47.23896],[7.39913,47.24792],[7.41228,47.24792],[7.41228,47.26592],[7.45186,47.26589],[7.45195,47.2749],[7.46505,47.27493],[7.4651,47.28385],[7.47829,47.28385],[7.47834,47.29293],[7.5046,47.29288],[7.50473,47.30183],[7.5312,47.30181],[7.53129,47.31979],[7.54448,47.31985],[7.54453,47.3288],[7.55768,47.32883],[7.55768,47.33786],[7.53125,47.33786],[7.53133,47.35586],[7.51801,47.35583],[7.5181,47.36483],[7.3988,47.36484],[7.39889,47.39182],[7.38564,47.39181],[7.38564,47.4008],[7.37234,47.4008],[7.37234,47.40978],[7.34584,47.40978],[7.34584,47.41878],[7.31925,47.41878],[7.31925,47.44578],[7.4121,47.44578],[7.4121,47.49078],[7.42535,47.49078],[7.42535,47.49981],[7.43856,47.49981],[7.43856,47.50876],[7.49177,47.50876],[7.49178,47.63468],[7.7845,47.63428],[7.78415,47.57123],[7.81074,47.57114],[7.81074,47.56216],[7.82395,47.56206],[7.82387,47.54414],[7.86368,47.54397],[7.86363,47.53498],[7.87679,47.53495],[7.87675,47.52599],[7.8901,47.52596],[7.89006,47.51695],[7.90319,47.51692],[7.9031,47.49886],[7.91649,47.49883],[7.91645,47.48976],[7.95612,47.48967],[7.95595,47.47162]]],terms_text:"Orthofoto WMS Solothurn",best:true,description:"This imagery is provided via a proxy operated by https://sosm.ch/",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/ch/KantonSolothurn-SOGIS-wms.png"},{id:"Solothurn-infrared-SOGIS",name:"Kanton Solothurn Infrarot (SOGIS)",type:"wms",template:"https://geoweb.so.ch/wms/sogis_orthofoto.wms?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Orthofoto_CIR_SO&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2017-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[15,19],polygon:[[[7.57042,47.15792],[7.55736,47.15795],[7.55732,47.14888],[7.54421,47.14895],[7.54417,47.13991],[7.53098,47.13991],[7.53093,47.12196],[7.51765,47.12196],[7.51769,47.11292],[7.49131,47.11301],[7.49135,47.10403],[7.4782,47.104],[7.47816,47.09496],[7.49144,47.09499],[7.4914,47.07702],[7.47816,47.07705],[7.4782,47.06804],[7.42552,47.06801],[7.42543,47.08601],[7.37279,47.08598],[7.37288,47.10403],[7.3596,47.10403],[7.35955,47.131],[7.41228,47.131],[7.41223,47.14901],[7.42538,47.14901],[7.42552,47.15801],[7.39913,47.15804],[7.39913,47.14901],[7.3727,47.14898],[7.3727,47.18498],[7.34627,47.18492],[7.34636,47.19391],[7.33307,47.19394],[7.33307,47.22991],[7.37256,47.22991],[7.3727,47.2389],[7.399,47.23896],[7.39913,47.24792],[7.41228,47.24792],[7.41228,47.26592],[7.45186,47.26589],[7.45195,47.2749],[7.46505,47.27493],[7.4651,47.28385],[7.47829,47.28385],[7.47834,47.29293],[7.49149,47.29289],[7.49162,47.30184],[7.5312,47.30181],[7.53129,47.31979],[7.54448,47.31985],[7.54453,47.3288],[7.55768,47.32883],[7.55768,47.33786],[7.53125,47.33786],[7.53133,47.35586],[7.51801,47.35583],[7.5181,47.36483],[7.43862,47.36492],[7.43867,47.37389],[7.42538,47.37395],[7.42543,47.40081],[7.38558,47.4009],[7.38567,47.4098],[7.35915,47.4098],[7.35915,47.41878],[7.37239,47.41884],[7.37247,47.43682],[7.38571,47.43682],[7.38571,47.44104],[7.39563,47.44016],[7.3963,47.44258],[7.40761,47.4411],[7.40793,47.44225],[7.40313,47.44246],[7.39738,47.44331],[7.39832,47.44583],[7.41214,47.44583],[7.41228,47.45478],[7.43867,47.45488],[7.4388,47.47053],[7.45007,47.46941],[7.45007,47.47223],[7.44647,47.47223],[7.44647,47.47381],[7.44293,47.4739],[7.44288,47.47553],[7.43921,47.4756],[7.43921,47.4772],[7.43557,47.47729],[7.43548,47.47899],[7.4174,47.47896],[7.41744,47.48573],[7.42099,47.48573],[7.42108,47.49082],[7.42763,47.49073],[7.42852,47.49349],[7.43099,47.49643],[7.43485,47.49889],[7.4419,47.49552],[7.44665,47.49455],[7.45011,47.49176],[7.45087,47.4907],[7.46451,47.49073],[7.46456,47.48903],[7.46819,47.489],[7.46819,47.48566],[7.47187,47.48573],[7.47192,47.48233],[7.48269,47.48239],[7.48264,47.48388],[7.48623,47.48397],[7.48637,47.48566],[7.48991,47.48566],[7.49,47.4907],[7.4997,47.49073],[7.49965,47.4914],[7.49175,47.49194],[7.49175,47.49513],[7.49822,47.49479],[7.49889,47.49585],[7.49566,47.49628],[7.49171,47.49625],[7.4918,47.49973],[7.50504,47.4997],[7.50504,47.50874],[7.5448,47.50871],[7.54474,47.45482],[7.49169,47.45469],[7.49175,47.44581],[7.46529,47.44577],[7.46522,47.40983],[7.49156,47.40979],[7.49175,47.39192],[7.50489,47.39183],[7.50489,47.40068],[7.51821,47.40077],[7.51834,47.41876],[7.55794,47.41872],[7.55813,47.44581],[7.58453,47.44572],[7.58441,47.43667],[7.61094,47.43662],[7.611,47.4637],[7.59767,47.4637],[7.59793,47.49964],[7.62433,47.49969],[7.62445,47.4906],[7.63778,47.49055],[7.63784,47.4996],[7.67757,47.49947],[7.67745,47.49047],[7.70385,47.49043],[7.70391,47.48146],[7.71711,47.48129],[7.71711,47.45452],[7.70397,47.45452],[7.70385,47.44559],[7.69046,47.44551],[7.69033,47.40957],[7.67713,47.40949],[7.67713,47.40068],[7.65066,47.40068],[7.65047,47.37365],[7.67706,47.37357],[7.67706,47.38251],[7.71667,47.38251],[7.71679,47.37344],[7.74307,47.3734],[7.74307,47.35538],[7.7562,47.35534],[7.75633,47.3464],[7.78261,47.34627],[7.78292,47.36433],[7.79612,47.36428],[7.79619,47.37327],[7.82265,47.37314],[7.82271,47.38229],[7.84912,47.38212],[7.84924,47.39106],[7.86251,47.39097],[7.86263,47.40906],[7.8759,47.40897],[7.87602,47.41803],[7.90242,47.41795],[7.90242,47.40897],[7.92889,47.4088],[7.92914,47.41782],[7.94215,47.41769],[7.94266,47.46276],[7.95592,47.46259],[7.95612,47.47164],[7.98239,47.47155],[7.98239,47.45353],[7.99553,47.45353],[7.99521,47.41747],[8.0218,47.41743],[8.02155,47.39935],[8.03456,47.39926],[8.03468,47.39028],[8.04788,47.39015],[8.04769,47.37224],[8.03456,47.37232],[8.03437,47.3544],[8.02117,47.35427],[8.02072,47.32739],[7.99445,47.32747],[7.99426,47.31857],[7.96773,47.31866],[7.96767,47.30966],[7.9412,47.30992],[7.94133,47.32778],[7.91486,47.32786],[7.91467,47.30988],[7.9016,47.31005],[7.9014,47.30097],[7.87501,47.3011],[7.87501,47.29223],[7.86165,47.29212],[7.86154,47.27409],[7.84843,47.27415],[7.8483,47.26523],[7.83502,47.2652],[7.83502,47.25624],[7.79535,47.25636],[7.7953,47.24741],[7.72924,47.24756],[7.72929,47.25652],[7.71623,47.25667],[7.71618,47.26559],[7.70304,47.26559],[7.70304,47.27461],[7.68975,47.27467],[7.68989,47.28368],[7.66341,47.28371],[7.66332,47.2747],[7.61055,47.27476],[7.61041,47.24787],[7.62352,47.24765],[7.62356,47.23879],[7.64986,47.23876],[7.64999,47.22977],[7.66305,47.22971],[7.6631,47.21178],[7.67621,47.21169],[7.67623,47.19372],[7.68938,47.19369],[7.68924,47.17572],[7.70243,47.1756],[7.70248,47.16663],[7.71567,47.16663],[7.71558,47.15769],[7.70239,47.15766],[7.70234,47.14869],[7.66267,47.14881],[7.66281,47.13978],[7.63633,47.1399],[7.63647,47.14869],[7.5968,47.14893],[7.59684,47.13996],[7.57041,47.13999],[7.57042,47.15792]]],terms_text:"Orthofoto WMS Solothurn",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/ch/KantonSolothurn-SOGIS-wms.png"},{id:"Solothurn-sogis2014-dom-wms",name:"Kanton Solothurn, DOM Relief 2014 50cm",type:"wms",template:"https://geoweb.so.ch/wms/wms_lidar?LAYERS=dom_relief2014_50cm&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",zoomExtent:[8,22],polygon:[[[7.95595,47.47162],[7.98239,47.47155],[7.98239,47.45353],[7.99553,47.45353],[7.99521,47.41747],[8.0218,47.41743],[8.02155,47.39935],[8.03456,47.39926],[8.03468,47.39028],[8.04788,47.39022],[8.04769,47.37224],[8.03456,47.37232],[8.03437,47.3544],[8.02117,47.35427],[8.02072,47.32739],[7.99445,47.32747],[7.99426,47.31857],[7.96773,47.31866],[7.96767,47.30966],[7.94122,47.30978],[7.94133,47.32778],[7.91486,47.32786],[7.91467,47.30988],[7.9016,47.31005],[7.9014,47.30097],[7.87501,47.3011],[7.87501,47.29223],[7.86165,47.29212],[7.86154,47.27409],[7.84832,47.27416],[7.8483,47.26523],[7.83502,47.2652],[7.83502,47.25624],[7.79535,47.25636],[7.7953,47.24741],[7.72924,47.24756],[7.72929,47.25652],[7.71623,47.25667],[7.71618,47.26559],[7.70304,47.26559],[7.70304,47.27461],[7.68975,47.27467],[7.68989,47.28368],[7.66341,47.28371],[7.66332,47.2747],[7.61055,47.27476],[7.61041,47.24787],[7.62352,47.24777],[7.62356,47.23879],[7.64986,47.23876],[7.64999,47.22977],[7.6499,47.22083],[7.66308,47.22073],[7.6631,47.21178],[7.66297,47.20273],[7.67617,47.2027],[7.67623,47.19372],[7.68938,47.19369],[7.68924,47.17572],[7.70243,47.1756],[7.70234,47.14869],[7.66267,47.14881],[7.66281,47.13978],[7.63633,47.1399],[7.63647,47.14869],[7.5968,47.14893],[7.59684,47.13996],[7.57041,47.13999],[7.57042,47.15792],[7.55736,47.15795],[7.55732,47.14888],[7.54421,47.14895],[7.54417,47.13991],[7.53098,47.13991],[7.53095,47.13097],[7.51767,47.13097],[7.51765,47.12196],[7.51769,47.11292],[7.49131,47.11301],[7.49135,47.10403],[7.4782,47.104],[7.47813,47.07705],[7.46493,47.07708],[7.46498,47.06807],[7.42552,47.06801],[7.42543,47.08601],[7.37279,47.08598],[7.37288,47.10403],[7.3596,47.10403],[7.35955,47.131],[7.41228,47.131],[7.41223,47.14901],[7.42538,47.14901],[7.42552,47.15801],[7.3727,47.15796],[7.3727,47.18498],[7.34627,47.18492],[7.34636,47.20287],[7.33307,47.2029],[7.33307,47.22096],[7.34614,47.22096],[7.34614,47.22991],[7.37256,47.22991],[7.3727,47.2389],[7.399,47.23896],[7.39913,47.24792],[7.41228,47.24792],[7.41228,47.26592],[7.45186,47.26589],[7.45195,47.2749],[7.46505,47.27493],[7.4651,47.28385],[7.47829,47.28385],[7.47834,47.29293],[7.5046,47.29288],[7.50473,47.30183],[7.5312,47.30181],[7.53129,47.31979],[7.54448,47.31985],[7.54453,47.3288],[7.55768,47.32883],[7.55768,47.33786],[7.53125,47.33786],[7.53133,47.35586],[7.51801,47.35583],[7.5181,47.36483],[7.3988,47.36484],[7.39889,47.39182],[7.38564,47.39181],[7.38564,47.4008],[7.37234,47.4008],[7.37234,47.40978],[7.34584,47.40978],[7.34584,47.41878],[7.31925,47.41878],[7.31925,47.44578],[7.4121,47.44578],[7.4121,47.49078],[7.42535,47.49078],[7.42535,47.49981],[7.43856,47.49981],[7.43856,47.50876],[7.49177,47.50876],[7.49178,47.63468],[7.7845,47.63428],[7.78415,47.57123],[7.81074,47.57114],[7.81074,47.56216],[7.82395,47.56206],[7.82387,47.54414],[7.86368,47.54397],[7.86363,47.53498],[7.87679,47.53495],[7.87675,47.52599],[7.8901,47.52596],[7.89006,47.51695],[7.90319,47.51692],[7.9031,47.49886],[7.91649,47.49883],[7.91645,47.48976],[7.95612,47.48967],[7.95595,47.47162]]],terms_text:"DOM Relief 2014 - Auflösung 50cm, WMS Solothurn (SOGIS)"},{id:"Solothurn-sogis2014-dtm-wms",name:"Kanton Solothurn, DTM Relief 2014 50cm",type:"wms",template:"https://geoweb.so.ch/wms/wms_lidar?LAYERS=dtm_relief2014_50cm&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",zoomExtent:[8,22],polygon:[[[7.95595,47.47162],[7.98239,47.47155],[7.98239,47.45353],[7.99553,47.45353],[7.99521,47.41747],[8.0218,47.41743],[8.02155,47.39935],[8.03456,47.39926],[8.03468,47.39028],[8.04788,47.39022],[8.04769,47.37224],[8.03456,47.37232],[8.03437,47.3544],[8.02117,47.35427],[8.02072,47.32739],[7.99445,47.32747],[7.99426,47.31857],[7.96773,47.31866],[7.96767,47.30966],[7.94122,47.30978],[7.94133,47.32778],[7.91486,47.32786],[7.91467,47.30988],[7.9016,47.31005],[7.9014,47.30097],[7.87501,47.3011],[7.87501,47.29223],[7.86165,47.29212],[7.86154,47.27409],[7.84832,47.27416],[7.8483,47.26523],[7.83502,47.2652],[7.83502,47.25624],[7.79535,47.25636],[7.7953,47.24741],[7.72924,47.24756],[7.72929,47.25652],[7.71623,47.25667],[7.71618,47.26559],[7.70304,47.26559],[7.70304,47.27461],[7.68975,47.27467],[7.68989,47.28368],[7.66341,47.28371],[7.66332,47.2747],[7.61055,47.27476],[7.61041,47.24787],[7.62352,47.24777],[7.62356,47.23879],[7.64986,47.23876],[7.64999,47.22977],[7.6499,47.22083],[7.66308,47.22073],[7.6631,47.21178],[7.66297,47.20273],[7.67617,47.2027],[7.67623,47.19372],[7.68938,47.19369],[7.68924,47.17572],[7.70243,47.1756],[7.70234,47.14869],[7.66267,47.14881],[7.66281,47.13978],[7.63633,47.1399],[7.63647,47.14869],[7.5968,47.14893],[7.59684,47.13996],[7.57041,47.13999],[7.57042,47.15792],[7.55736,47.15795],[7.55732,47.14888],[7.54421,47.14895],[7.54417,47.13991],[7.53098,47.13991],[7.53095,47.13097],[7.51767,47.13097],[7.51765,47.12196],[7.51769,47.11292],[7.49131,47.11301],[7.49135,47.10403],[7.4782,47.104],[7.47813,47.07705],[7.46493,47.07708],[7.46498,47.06807],[7.42552,47.06801],[7.42543,47.08601],[7.37279,47.08598],[7.37288,47.10403],[7.3596,47.10403],[7.35955,47.131],[7.41228,47.131],[7.41223,47.14901],[7.42538,47.14901],[7.42552,47.15801],[7.3727,47.15796],[7.3727,47.18498],[7.34627,47.18492],[7.34636,47.20287],[7.33307,47.2029],[7.33307,47.22096],[7.34614,47.22096],[7.34614,47.22991],[7.37256,47.22991],[7.3727,47.2389],[7.399,47.23896],[7.39913,47.24792],[7.41228,47.24792],[7.41228,47.26592],[7.45186,47.26589],[7.45195,47.2749],[7.46505,47.27493],[7.4651,47.28385],[7.47829,47.28385],[7.47834,47.29293],[7.5046,47.29288],[7.50473,47.30183],[7.5312,47.30181],[7.53129,47.31979],[7.54448,47.31985],[7.54453,47.3288],[7.55768,47.32883],[7.55768,47.33786],[7.53125,47.33786],[7.53133,47.35586],[7.51801,47.35583],[7.5181,47.36483],[7.3988,47.36484],[7.39889,47.39182],[7.38564,47.39181],[7.38564,47.4008],[7.37234,47.4008],[7.37234,47.40978],[7.34584,47.40978],[7.34584,47.41878],[7.31925,47.41878],[7.31925,47.44578],[7.4121,47.44578],[7.4121,47.49078],[7.42535,47.49078],[7.42535,47.49981],[7.43856,47.49981],[7.43856,47.50876],[7.49177,47.50876],[7.49178,47.63468],[7.7845,47.63428],[7.78415,47.57123],[7.81074,47.57114],[7.81074,47.56216],[7.82395,47.56206],[7.82387,47.54414],[7.86368,47.54397],[7.86363,47.53498],[7.87679,47.53495],[7.87675,47.52599],[7.8901,47.52596],[7.89006,47.51695],[7.90319,47.51692],[7.9031,47.49886],[7.91649,47.49883],[7.91645,47.48976],[7.95612,47.48967],[7.95595,47.47162]]],terms_text:"DTM Relief 2014 - Auflösung 50cm, WMS Solothurn (SOGIS)"},{id:"KTTHURGAU2017",name:"Kanton Thurgau OF 2017",type:"tms",template:"https://mapproxy.osm.ch/tiles/KTTHURGAU2017/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",zoomExtent:[8,21],polygon:[[[8.63768,47.70041],[8.78328,47.6988],[8.78304,47.68533],[8.87027,47.68427],[8.86997,47.6709],[8.89901,47.67047],[8.89867,47.65698],[8.9277,47.65661],[8.92828,47.67015],[8.95726,47.66973],[8.95774,47.68327],[9.19061,47.67994],[9.19027,47.66645],[9.21922,47.66603],[9.21899,47.65256],[9.24784,47.6521],[9.24747,47.63864],[9.3057,47.63765],[9.30526,47.6242],[9.33417,47.62371],[9.33348,47.59674],[9.39151,47.59577],[9.39114,47.58235],[9.42007,47.58176],[9.4186,47.54139],[9.44754,47.54084],[9.44717,47.5273],[9.47605,47.52681],[9.47519,47.49986],[9.50414,47.49935],[9.5031,47.47242],[9.41596,47.47392],[9.41554,47.46045],[9.3576,47.46141],[9.35818,47.47498],[9.32896,47.47534],[9.32864,47.46188],[9.18361,47.4642],[9.18411,47.47769],[9.15492,47.4781],[9.15466,47.46463],[9.06736,47.46583],[9.06718,47.45234],[9.09609,47.45193],[9.09582,47.43853],[9.06663,47.43883],[9.06642,47.42537],[9.00829,47.4262],[9.00714,47.38573],[8.97811,47.38616],[8.9774,47.35913],[8.9194,47.35989],[8.92032,47.38697],[8.89136,47.38725],[8.89286,47.44117],[8.86398,47.44149],[8.86604,47.52251],[8.80784,47.52317],[8.80894,47.56373],[8.77985,47.56403],[8.78024,47.57751],[8.72209,47.57814],[8.72337,47.63213],[8.6652,47.63273],[8.6658,47.6598],[8.63674,47.66],[8.63768,47.70041]]],terms_text:"Kanton Thurgau OF 2017",best:true,description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"Zug-2011",name:"Kanton Zug 2011",type:"wms",template:"https://services.geo.zg.ch:443/ows/Orthofotos?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=zg.orthofoto_2011_kt_zg&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",zoomExtent:[10,21],polygon:[[[8.38726,47.10908],[8.38983,47.25303],[8.42944,47.25265],[8.42894,47.22567],[8.60057,47.22407],[8.60037,47.21507],[8.61357,47.21495],[8.61338,47.20594],[8.62658,47.20582],[8.62618,47.18783],[8.63934,47.18769],[8.63914,47.1787],[8.66555,47.17844],[8.66534,47.16943],[8.7049,47.16899],[8.70427,47.14203],[8.69105,47.14215],[8.69046,47.11516],[8.67731,47.1153],[8.67706,47.10634],[8.66389,47.10647],[8.66371,47.0975],[8.65052,47.09761],[8.65031,47.08863],[8.59764,47.08915],[8.59746,47.08015],[8.49204,47.0812],[8.49245,47.09917],[8.43969,47.09967],[8.43996,47.10863],[8.38726,47.10908]]],terms_text:"GIS Kanton Zug",best:true},{id:"Zug-2018",name:"Kanton Zug Gemeinde Zug Süd 2018",type:"wms",template:"https://services.geo.zg.ch:443/ows/Orthofotos?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=zg.orthofoto_2018_kt_zg&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2018-01-01T00:00:00.000Z",startDate:"2018-01-01T00:00:00.000Z",zoomExtent:[10,21],polygon:[[[8.50052,47.11291],[8.49638,47.11761],[8.49451,47.12364],[8.49538,47.12653],[8.50462,47.13724],[8.50322,47.13933],[8.50466,47.14722],[8.51099,47.15916],[8.56415,47.15299],[8.5652,47.14929],[8.54924,47.13843],[8.55098,47.12132],[8.50052,47.11291]]],terms_text:"GIS Kanton Zug",best:true},{id:"Zug-2016",name:"Kanton Zug Nord 2016",type:"wms",template:"https://services.geo.zg.ch:443/ows/Orthofotos?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=zg.orthofoto_2016_kt_zg&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",zoomExtent:[10,21],polygon:[[[8.41093,47.16521],[8.40759,47.16918],[8.40754,47.23725],[8.419,47.23722],[8.42336,47.22958],[8.43891,47.22945],[8.48056,47.2125],[8.5294,47.22688],[8.57951,47.22275],[8.57946,47.17083],[8.57535,47.14926],[8.56428,47.14944],[8.53594,47.15205],[8.50658,47.15268],[8.50686,47.162],[8.44723,47.16256],[8.41093,47.16521]]],terms_text:"GIS Kanton Zug",best:true},{id:"OGDLidarZH-DOM",name:"Kanton Zurich, Oberflächenschummerung 50cm",type:"wms",template:"https://wms.zh.ch/OGDLidarZH?FORMAT=image/jpeg&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=dom2014hillshade&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",zoomExtent:[8,22],polygon:[[[8.71338,47.21388],[8.7137,47.22737],[8.8117,47.22626],[8.80337,47.23858],[8.80866,47.2431],[8.82448,47.24656],[8.82971,47.24539],[8.83652,47.24257],[8.84568,47.24253],[8.84837,47.24322],[8.85232,47.24034],[8.86206,47.23882],[8.86472,47.23966],[8.86863,47.23968],[8.87339,47.24125],[8.87882,47.24476],[8.88054,47.24791],[8.89878,47.24976],[8.90281,47.25094],[8.91025,47.25003],[8.92735,47.25406],[8.93644,47.25499],[8.94233,47.25849],[8.94423,47.26173],[8.94882,47.26536],[8.95094,47.2686],[8.95068,47.27108],[8.953,47.27285],[8.95411,47.27505],[8.95504,47.28251],[8.95171,47.28527],[8.94664,47.28647],[8.95258,47.28844],[8.95454,47.28982],[8.96141,47.30098],[8.97552,47.30245],[8.98006,47.30416],[8.99153,47.31893],[8.99069,47.32183],[8.98637,47.32542],[8.98548,47.32778],[8.98364,47.32931],[8.98592,47.33815],[8.98464,47.34061],[8.98079,47.34237],[8.98088,47.34835],[8.97785,47.35437],[8.9759,47.35606],[8.97002,47.35843],[8.96572,47.3589],[8.96238,47.36252],[8.95665,47.37432],[8.9521,47.37836],[8.94778,47.37971],[8.95023,47.38346],[8.95018,47.38596],[8.9488,47.38836],[8.9397,47.39403],[8.93637,47.39496],[8.93251,47.39871],[8.92801,47.40148],[8.92278,47.4038],[8.91388,47.40569],[8.91924,47.41213],[8.92049,47.41915],[8.91829,47.42323],[8.92094,47.42544],[8.92107,47.42828],[8.92571,47.42695],[8.93437,47.42796],[8.93877,47.43173],[8.93974,47.43411],[8.93889,47.43725],[8.93511,47.43973],[8.92349,47.43953],[8.91973,47.44081],[8.91322,47.44119],[8.91162,47.44347],[8.91527,47.44628],[8.91499,47.45004],[8.91196,47.45378],[8.90517,47.45791],[8.90183,47.46435],[8.89735,47.46898],[8.89581,47.47219],[8.89135,47.4738],[8.89143,47.47821],[8.90142,47.48133],[8.90428,47.48449],[8.90314,47.48928],[8.90001,47.49187],[8.89967,47.49885],[8.90357,47.50404],[8.90413,47.50745],[8.90322,47.51948],[8.90497,47.52447],[8.90365,47.52691],[8.89982,47.52965],[8.88423,47.53392],[8.87883,47.53277],[8.87061,47.53477],[8.8602,47.53488],[8.85674,47.53594],[8.84782,47.5358],[8.84614,47.54087],[8.8403,47.54654],[8.83728,47.55278],[8.84275,47.5537],[8.84648,47.5562],[8.85269,47.55645],[8.8562,47.55792],[8.85775,47.56141],[8.85728,47.56489],[8.85511,47.56721],[8.85079,47.56818],[8.84763,47.57023],[8.84538,47.57061],[8.8448,47.57309],[8.84211,47.57513],[8.83326,47.57769],[8.82962,47.57778],[8.82661,47.57662],[8.82137,47.57756],[8.81432,47.57598],[8.81234,47.5778],[8.81222,47.58473],[8.81067,47.58639],[8.80812,47.58738],[8.76818,47.59674],[8.7543,47.59729],[8.75529,47.60108],[8.75416,47.60273],[8.74883,47.60588],[8.74829,47.60874],[8.7507,47.60981],[8.75255,47.61292],[8.75575,47.61217],[8.76102,47.61335],[8.78169,47.60634],[8.78165,47.60345],[8.78467,47.59993],[8.80168,47.5966],[8.80512,47.59686],[8.80895,47.59938],[8.81074,47.60981],[8.81866,47.61372],[8.82001,47.61526],[8.82089,47.62058],[8.82015,47.62415],[8.82415,47.6256],[8.83079,47.63206],[8.83448,47.64099],[8.83182,47.64945],[8.82695,47.65206],[8.81168,47.65599],[8.81112,47.6621],[8.81192,47.66454],[8.81041,47.66752],[8.80881,47.66857],[8.80293,47.66978],[8.79299,47.66919],[8.78685,47.66978],[8.78453,47.66899],[8.78216,47.66659],[8.77921,47.65695],[8.77763,47.65563],[8.77398,47.65435],[8.76623,47.65438],[8.76108,47.65257],[8.75852,47.65033],[8.75464,47.64883],[8.7534,47.64733],[8.74839,47.64613],[8.74329,47.64749],[8.73882,47.64651],[8.72376,47.64753],[8.72063,47.64664],[8.71492,47.64885],[8.70826,47.64764],[8.70481,47.65039],[8.70053,47.65199],[8.69427,47.65307],[8.69242,47.65581],[8.68632,47.66094],[8.68485,47.66413],[8.68574,47.66799],[8.68326,47.67315],[8.68056,47.67561],[8.67521,47.6776],[8.67642,47.68177],[8.67561,47.68661],[8.67427,47.68799],[8.67227,47.68891],[8.66273,47.69029],[8.64644,47.69847],[8.63968,47.69877],[8.6355,47.69743],[8.62162,47.69554],[8.61818,47.69279],[8.61744,47.69087],[8.62007,47.68134],[8.61478,47.68308],[8.60917,47.68188],[8.60199,47.67451],[8.59954,47.66923],[8.60275,47.66132],[8.60979,47.6568],[8.6141,47.6564],[8.61574,47.65557],[8.62231,47.65104],[8.62227,47.65024],[8.62048,47.64758],[8.61939,47.65043],[8.61521,47.65452],[8.6093,47.65677],[8.60324,47.65654],[8.60069,47.65541],[8.59788,47.65276],[8.59645,47.64876],[8.59092,47.64623],[8.58937,47.6444],[8.58874,47.63936],[8.59116,47.62755],[8.59325,47.62233],[8.59838,47.61587],[8.59854,47.6145],[8.59114,47.60917],[8.58937,47.60682],[8.58796,47.60319],[8.58788,47.59909],[8.58203,47.59793],[8.57398,47.59329],[8.57146,47.58988],[8.57035,47.58633],[8.57203,47.57985],[8.56771,47.57799],[8.56506,47.57524],[8.56117,47.56407],[8.55707,47.55947],[8.55616,47.56336],[8.55206,47.56904],[8.55334,47.57146],[8.5526,47.57599],[8.55007,47.57806],[8.54666,47.57923],[8.5435,47.58228],[8.54319,47.5851],[8.54888,47.5879],[8.55175,47.58777],[8.55764,47.58963],[8.56114,47.59151],[8.56265,47.5946],[8.56668,47.59565],[8.56902,47.59748],[8.56953,47.60049],[8.57237,47.60386],[8.57308,47.60641],[8.57562,47.60676],[8.579,47.60845],[8.58076,47.61031],[8.58125,47.61203],[8.58025,47.61456],[8.57712,47.61636],[8.57525,47.61957],[8.57277,47.6211],[8.56785,47.62164],[8.56341,47.62697],[8.56105,47.62838],[8.54803,47.62998],[8.54558,47.63122],[8.54498,47.63297],[8.54288,47.63458],[8.53995,47.63565],[8.52769,47.63634],[8.52112,47.63887],[8.51478,47.6385],[8.50932,47.63559],[8.50829,47.62942],[8.50161,47.62597],[8.5007,47.62421],[8.50149,47.62154],[8.49253,47.61893],[8.48884,47.61953],[8.47669,47.61937],[8.47439,47.61838],[8.47154,47.61495],[8.47129,47.61307],[8.46785,47.61272],[8.46446,47.61109],[8.46173,47.60659],[8.45519,47.60676],[8.45061,47.60411],[8.4499,47.60164],[8.4507,47.59584],[8.45382,47.59343],[8.45428,47.5866],[8.4563,47.5848],[8.46014,47.58382],[8.46332,47.58044],[8.46881,47.5795],[8.46219,47.57653],[8.45419,47.57668],[8.43642,47.57154],[8.43161,47.57102],[8.42476,47.57231],[8.41477,47.56879],[8.41304,47.56745],[8.41034,47.56194],[8.41039,47.55972],[8.40789,47.55465],[8.40846,47.55018],[8.39964,47.54444],[8.39609,47.543],[8.39469,47.54094],[8.39495,47.53674],[8.39136,47.53568],[8.38835,47.53305],[8.38525,47.53316],[8.38113,47.53219],[8.3774,47.52969],[8.37518,47.52679],[8.37279,47.51651],[8.36579,47.51663],[8.35666,47.51348],[8.35439,47.51104],[8.35103,47.50314],[8.3524,47.49957],[8.35163,47.4973],[8.35274,47.49484],[8.3545,47.49355],[8.3557,47.48979],[8.35533,47.48525],[8.35698,47.47931],[8.35891,47.47743],[8.36187,47.47645],[8.36722,47.47654],[8.36702,47.47487],[8.36073,47.47222],[8.35903,47.46604],[8.35996,47.46381],[8.36326,47.46204],[8.3673,47.45653],[8.36975,47.45504],[8.37393,47.45472],[8.37754,47.45201],[8.37583,47.45068],[8.37441,47.44614],[8.37623,47.43818],[8.37168,47.43675],[8.36855,47.43406],[8.3681,47.43158],[8.36904,47.42863],[8.37222,47.42603],[8.38283,47.42346],[8.38371,47.42251],[8.38073,47.42207],[8.37555,47.4178],[8.37598,47.41378],[8.37441,47.40906],[8.36067,47.40664],[8.35789,47.40542],[8.35629,47.40377],[8.35661,47.39961],[8.36195,47.39516],[8.36577,47.39429],[8.37601,47.3947],[8.37743,47.39218],[8.38036,47.39048],[8.38761,47.39035],[8.38832,47.38012],[8.39034,47.37527],[8.39355,47.3719],[8.39387,47.36945],[8.39574,47.3671],[8.39902,47.36608],[8.39836,47.36408],[8.40012,47.36094],[8.40103,47.35433],[8.39728,47.34677],[8.39779,47.34475],[8.40186,47.3391],[8.40931,47.33409],[8.4061,47.32975],[8.40578,47.32667],[8.40689,47.32447],[8.41295,47.3205],[8.41611,47.31996],[8.42948,47.32227],[8.43556,47.32083],[8.43437,47.31954],[8.43155,47.31851],[8.42609,47.31375],[8.42276,47.30706],[8.42311,47.30368],[8.41745,47.3015],[8.41372,47.29824],[8.40012,47.29564],[8.39768,47.29392],[8.39518,47.29516],[8.39108,47.29552],[8.38602,47.29437],[8.38272,47.29225],[8.38198,47.29034],[8.38255,47.2881],[8.38508,47.28565],[8.38977,47.27507],[8.39563,47.271],[8.39407,47.26672],[8.39415,47.26361],[8.39756,47.25986],[8.39614,47.25481],[8.39742,47.25189],[8.40647,47.24452],[8.40826,47.24118],[8.40761,47.23957],[8.4096,47.23585],[8.41073,47.22799],[8.41248,47.22433],[8.41695,47.22014],[8.41959,47.21902],[8.42269,47.21886],[8.42977,47.22],[8.43936,47.21937],[8.45,47.21363],[8.4546,47.21334],[8.45625,47.21081],[8.4591,47.20934],[8.46447,47.20928],[8.46609,47.20862],[8.46868,47.20533],[8.47329,47.20398],[8.47693,47.20458],[8.48399,47.20392],[8.49489,47.20738],[8.504,47.20768],[8.51538,47.21152],[8.51753,47.21271],[8.51906,47.21495],[8.5306,47.21306],[8.53307,47.21325],[8.5415,47.21778],[8.54456,47.21707],[8.55407,47.21726],[8.55858,47.21517],[8.56984,47.2139],[8.57491,47.21255],[8.57749,47.20771],[8.58044,47.2064],[8.58408,47.20603],[8.59012,47.20714],[8.58965,47.2046],[8.59074,47.20195],[8.59358,47.1986],[8.59581,47.19753],[8.60168,47.19722],[8.60653,47.1992],[8.60725,47.19885],[8.61097,47.19387],[8.61128,47.19059],[8.61391,47.18838],[8.61522,47.18515],[8.61938,47.18045],[8.61976,47.17918],[8.61721,47.17359],[8.6196,47.1698],[8.62292,47.16821],[8.6339,47.16715],[8.63561,47.16578],[8.63965,47.16459],[8.64287,47.16443],[8.65216,47.16598],[8.65425,47.16552],[8.6549,47.15967],[8.65649,47.15783],[8.65882,47.15658],[8.66853,47.15492],[8.67847,47.15558],[8.68241,47.15759],[8.69361,47.15898],[8.69804,47.16134],[8.69886,47.16303],[8.6977,47.17033],[8.69599,47.17232],[8.68919,47.17566],[8.6872,47.17959],[8.6879,47.18229],[8.69186,47.18485],[8.69824,47.19205],[8.70323,47.19326],[8.70852,47.19602],[8.71423,47.19693],[8.71692,47.19893],[8.74212,47.2071],[8.74218,47.21355],[8.71338,47.21388]]],terms_text:"Geographisches Informationssystem des Kantons Zürich (GIS-ZH), Oberflächenschummerung"},{id:"OGDOrthoZH2016",name:"Kanton Zurich, Orthofoto ZH Frühjahr 2015/16 RGB 10cm",type:"wms",template:"https://wms.zh.ch/OGDOrthoZH?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=ortho_w_15&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2016-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[8,22],polygon:[[[8.71338,47.21388],[8.7137,47.22737],[8.8117,47.22626],[8.80337,47.23858],[8.80866,47.2431],[8.82448,47.24656],[8.82971,47.24539],[8.83652,47.24257],[8.84568,47.24253],[8.84837,47.24322],[8.85232,47.24034],[8.86206,47.23882],[8.86472,47.23966],[8.86863,47.23968],[8.87339,47.24125],[8.87882,47.24476],[8.88054,47.24791],[8.89878,47.24976],[8.90281,47.25094],[8.91025,47.25003],[8.92735,47.25406],[8.93644,47.25499],[8.94233,47.25849],[8.94423,47.26173],[8.94882,47.26536],[8.95094,47.2686],[8.95068,47.27108],[8.953,47.27285],[8.95411,47.27505],[8.95504,47.28251],[8.95171,47.28527],[8.94664,47.28647],[8.95258,47.28844],[8.95454,47.28982],[8.96141,47.30098],[8.97552,47.30245],[8.98006,47.30416],[8.99153,47.31893],[8.99069,47.32183],[8.98637,47.32542],[8.98548,47.32778],[8.98364,47.32931],[8.98592,47.33815],[8.98464,47.34061],[8.98079,47.34237],[8.98088,47.34835],[8.97785,47.35437],[8.9759,47.35606],[8.97002,47.35843],[8.96572,47.3589],[8.96238,47.36252],[8.95665,47.37432],[8.9521,47.37836],[8.94778,47.37971],[8.95023,47.38346],[8.95018,47.38596],[8.9488,47.38836],[8.9397,47.39403],[8.93637,47.39496],[8.93251,47.39871],[8.92801,47.40148],[8.92278,47.4038],[8.91388,47.40569],[8.91924,47.41213],[8.92049,47.41915],[8.91829,47.42323],[8.92094,47.42544],[8.92107,47.42828],[8.92571,47.42695],[8.93437,47.42796],[8.93877,47.43173],[8.93974,47.43411],[8.93889,47.43725],[8.93511,47.43973],[8.92349,47.43953],[8.91973,47.44081],[8.91322,47.44119],[8.91162,47.44347],[8.91527,47.44628],[8.91499,47.45004],[8.91196,47.45378],[8.90517,47.45791],[8.90183,47.46435],[8.89735,47.46898],[8.89581,47.47219],[8.89135,47.4738],[8.89143,47.47821],[8.90142,47.48133],[8.90428,47.48449],[8.90314,47.48928],[8.90001,47.49187],[8.89967,47.49885],[8.90357,47.50404],[8.90413,47.50745],[8.90322,47.51948],[8.90497,47.52447],[8.90365,47.52691],[8.89982,47.52965],[8.88423,47.53392],[8.87883,47.53277],[8.87061,47.53477],[8.8602,47.53488],[8.85674,47.53594],[8.84782,47.5358],[8.84614,47.54087],[8.8403,47.54654],[8.83728,47.55278],[8.84275,47.5537],[8.84648,47.5562],[8.85269,47.55645],[8.8562,47.55792],[8.85775,47.56141],[8.85728,47.56489],[8.85511,47.56721],[8.85079,47.56818],[8.84763,47.57023],[8.84538,47.57061],[8.8448,47.57309],[8.84211,47.57513],[8.83326,47.57769],[8.82962,47.57778],[8.82661,47.57662],[8.82137,47.57756],[8.81432,47.57598],[8.81234,47.5778],[8.81222,47.58473],[8.81067,47.58639],[8.80812,47.58738],[8.76818,47.59674],[8.7543,47.59729],[8.75529,47.60108],[8.75416,47.60273],[8.74883,47.60588],[8.74829,47.60874],[8.7507,47.60981],[8.75255,47.61292],[8.75575,47.61217],[8.76102,47.61335],[8.78169,47.60634],[8.78165,47.60345],[8.78467,47.59993],[8.80168,47.5966],[8.80512,47.59686],[8.80895,47.59938],[8.81074,47.60981],[8.81866,47.61372],[8.82001,47.61526],[8.82089,47.62058],[8.82015,47.62415],[8.82415,47.6256],[8.83079,47.63206],[8.83448,47.64099],[8.83182,47.64945],[8.82695,47.65206],[8.81168,47.65599],[8.81112,47.6621],[8.81192,47.66454],[8.81041,47.66752],[8.80881,47.66857],[8.80293,47.66978],[8.79299,47.66919],[8.78685,47.66978],[8.78453,47.66899],[8.78216,47.66659],[8.77921,47.65695],[8.77763,47.65563],[8.77398,47.65435],[8.76623,47.65438],[8.76108,47.65257],[8.75852,47.65033],[8.75464,47.64883],[8.7534,47.64733],[8.74839,47.64613],[8.74329,47.64749],[8.73882,47.64651],[8.72376,47.64753],[8.72063,47.64664],[8.71492,47.64885],[8.70826,47.64764],[8.70481,47.65039],[8.70053,47.65199],[8.69427,47.65307],[8.69242,47.65581],[8.68632,47.66094],[8.68485,47.66413],[8.68574,47.66799],[8.68326,47.67315],[8.68056,47.67561],[8.67521,47.6776],[8.67642,47.68177],[8.67561,47.68661],[8.67427,47.68799],[8.67227,47.68891],[8.66273,47.69029],[8.64644,47.69847],[8.63968,47.69877],[8.6355,47.69743],[8.62162,47.69554],[8.61818,47.69279],[8.61744,47.69087],[8.62007,47.68134],[8.61478,47.68308],[8.60917,47.68188],[8.60199,47.67451],[8.59954,47.66923],[8.60275,47.66132],[8.60979,47.6568],[8.6141,47.6564],[8.61574,47.65557],[8.62231,47.65104],[8.62227,47.65024],[8.62048,47.64758],[8.61939,47.65043],[8.61521,47.65452],[8.6093,47.65677],[8.60324,47.65654],[8.60069,47.65541],[8.59788,47.65276],[8.59645,47.64876],[8.59092,47.64623],[8.58937,47.6444],[8.58874,47.63936],[8.59116,47.62755],[8.59325,47.62233],[8.59838,47.61587],[8.59854,47.6145],[8.59114,47.60917],[8.58937,47.60682],[8.58796,47.60319],[8.58788,47.59909],[8.58203,47.59793],[8.57398,47.59329],[8.57146,47.58988],[8.57035,47.58633],[8.57203,47.57985],[8.56771,47.57799],[8.56506,47.57524],[8.56117,47.56407],[8.55707,47.55947],[8.55616,47.56336],[8.55206,47.56904],[8.55334,47.57146],[8.5526,47.57599],[8.55007,47.57806],[8.54666,47.57923],[8.5435,47.58228],[8.54319,47.5851],[8.54888,47.5879],[8.55175,47.58777],[8.55764,47.58963],[8.56114,47.59151],[8.56265,47.5946],[8.56668,47.59565],[8.56902,47.59748],[8.56953,47.60049],[8.57237,47.60386],[8.57308,47.60641],[8.57562,47.60676],[8.579,47.60845],[8.58076,47.61031],[8.58125,47.61203],[8.58025,47.61456],[8.57712,47.61636],[8.57525,47.61957],[8.57277,47.6211],[8.56785,47.62164],[8.56341,47.62697],[8.56105,47.62838],[8.54803,47.62998],[8.54558,47.63122],[8.54498,47.63297],[8.54288,47.63458],[8.53995,47.63565],[8.52769,47.63634],[8.52112,47.63887],[8.51478,47.6385],[8.50932,47.63559],[8.50829,47.62942],[8.50161,47.62597],[8.5007,47.62421],[8.50149,47.62154],[8.49253,47.61893],[8.48884,47.61953],[8.47669,47.61937],[8.47439,47.61838],[8.47154,47.61495],[8.47129,47.61307],[8.46785,47.61272],[8.46446,47.61109],[8.46173,47.60659],[8.45519,47.60676],[8.45061,47.60411],[8.4499,47.60164],[8.4507,47.59584],[8.45382,47.59343],[8.45428,47.5866],[8.4563,47.5848],[8.46014,47.58382],[8.46332,47.58044],[8.46881,47.5795],[8.46219,47.57653],[8.45419,47.57668],[8.43642,47.57154],[8.43161,47.57102],[8.42476,47.57231],[8.41477,47.56879],[8.41304,47.56745],[8.41034,47.56194],[8.41039,47.55972],[8.40789,47.55465],[8.40846,47.55018],[8.39964,47.54444],[8.39609,47.543],[8.39469,47.54094],[8.39495,47.53674],[8.39136,47.53568],[8.38835,47.53305],[8.38525,47.53316],[8.38113,47.53219],[8.3774,47.52969],[8.37518,47.52679],[8.37279,47.51651],[8.36579,47.51663],[8.35666,47.51348],[8.35439,47.51104],[8.35103,47.50314],[8.3524,47.49957],[8.35163,47.4973],[8.35274,47.49484],[8.3545,47.49355],[8.3557,47.48979],[8.35533,47.48525],[8.35698,47.47931],[8.35891,47.47743],[8.36187,47.47645],[8.36722,47.47654],[8.36702,47.47487],[8.36073,47.47222],[8.35903,47.46604],[8.35996,47.46381],[8.36326,47.46204],[8.3673,47.45653],[8.36975,47.45504],[8.37393,47.45472],[8.37754,47.45201],[8.37583,47.45068],[8.37441,47.44614],[8.37623,47.43818],[8.37168,47.43675],[8.36855,47.43406],[8.3681,47.43158],[8.36904,47.42863],[8.37222,47.42603],[8.38283,47.42346],[8.38371,47.42251],[8.38073,47.42207],[8.37555,47.4178],[8.37598,47.41378],[8.37441,47.40906],[8.36067,47.40664],[8.35789,47.40542],[8.35629,47.40377],[8.35661,47.39961],[8.36195,47.39516],[8.36577,47.39429],[8.37601,47.3947],[8.37743,47.39218],[8.38036,47.39048],[8.38761,47.39035],[8.38832,47.38012],[8.39034,47.37527],[8.39355,47.3719],[8.39387,47.36945],[8.39574,47.3671],[8.39902,47.36608],[8.39836,47.36408],[8.40012,47.36094],[8.40103,47.35433],[8.39728,47.34677],[8.39779,47.34475],[8.40186,47.3391],[8.40931,47.33409],[8.4061,47.32975],[8.40578,47.32667],[8.40689,47.32447],[8.41295,47.3205],[8.41611,47.31996],[8.42948,47.32227],[8.43556,47.32083],[8.43437,47.31954],[8.43155,47.31851],[8.42609,47.31375],[8.42276,47.30706],[8.42311,47.30368],[8.41745,47.3015],[8.41372,47.29824],[8.40012,47.29564],[8.39768,47.29392],[8.39518,47.29516],[8.39108,47.29552],[8.38602,47.29437],[8.38272,47.29225],[8.38198,47.29034],[8.38255,47.2881],[8.38508,47.28565],[8.38977,47.27507],[8.39563,47.271],[8.39407,47.26672],[8.39415,47.26361],[8.39756,47.25986],[8.39614,47.25481],[8.39742,47.25189],[8.40647,47.24452],[8.40826,47.24118],[8.40761,47.23957],[8.4096,47.23585],[8.41073,47.22799],[8.41248,47.22433],[8.41695,47.22014],[8.41959,47.21902],[8.42269,47.21886],[8.42977,47.22],[8.43936,47.21937],[8.45,47.21363],[8.4546,47.21334],[8.45625,47.21081],[8.4591,47.20934],[8.46447,47.20928],[8.46609,47.20862],[8.46868,47.20533],[8.47329,47.20398],[8.47693,47.20458],[8.48399,47.20392],[8.49489,47.20738],[8.504,47.20768],[8.51538,47.21152],[8.51753,47.21271],[8.51906,47.21495],[8.5306,47.21306],[8.53307,47.21325],[8.5415,47.21778],[8.54456,47.21707],[8.55407,47.21726],[8.55858,47.21517],[8.56984,47.2139],[8.57491,47.21255],[8.57749,47.20771],[8.58044,47.2064],[8.58408,47.20603],[8.59012,47.20714],[8.58965,47.2046],[8.59074,47.20195],[8.59358,47.1986],[8.59581,47.19753],[8.60168,47.19722],[8.60653,47.1992],[8.60725,47.19885],[8.61097,47.19387],[8.61128,47.19059],[8.61391,47.18838],[8.61522,47.18515],[8.61938,47.18045],[8.61976,47.17918],[8.61721,47.17359],[8.6196,47.1698],[8.62292,47.16821],[8.6339,47.16715],[8.63561,47.16578],[8.63965,47.16459],[8.64287,47.16443],[8.65216,47.16598],[8.65425,47.16552],[8.6549,47.15967],[8.65649,47.15783],[8.65882,47.15658],[8.66853,47.15492],[8.67847,47.15558],[8.68241,47.15759],[8.69361,47.15898],[8.69804,47.16134],[8.69886,47.16303],[8.6977,47.17033],[8.69599,47.17232],[8.68919,47.17566],[8.6872,47.17959],[8.6879,47.18229],[8.69186,47.18485],[8.69824,47.19205],[8.70323,47.19326],[8.70852,47.19602],[8.71423,47.19693],[8.71692,47.19893],[8.74212,47.2071],[8.74218,47.21355],[8.71338,47.21388]]],terms_text:"Geographisches Informationssystem des Kantons Zürich (GIS-ZH), Orthofoto ZH Frühjahr 2015/16 RGB"},{id:"OGDOrthoZH2015",name:"Kanton Zurich, Orthofoto ZH Sommer 2014/15 RGB 10cm",type:"wms",template:"https://wms.zh.ch/OGDOrthoZH?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=ortho_s_14&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",zoomExtent:[8,22],polygon:[[[8.71338,47.21388],[8.7137,47.22737],[8.8117,47.22626],[8.80337,47.23858],[8.80866,47.2431],[8.82448,47.24656],[8.82971,47.24539],[8.83652,47.24257],[8.84568,47.24253],[8.84837,47.24322],[8.85232,47.24034],[8.86206,47.23882],[8.86472,47.23966],[8.86863,47.23968],[8.87339,47.24125],[8.87882,47.24476],[8.88054,47.24791],[8.89878,47.24976],[8.90281,47.25094],[8.91025,47.25003],[8.92735,47.25406],[8.93644,47.25499],[8.94233,47.25849],[8.94423,47.26173],[8.94882,47.26536],[8.95094,47.2686],[8.95068,47.27108],[8.953,47.27285],[8.95411,47.27505],[8.95504,47.28251],[8.95171,47.28527],[8.94664,47.28647],[8.95258,47.28844],[8.95454,47.28982],[8.96141,47.30098],[8.97552,47.30245],[8.98006,47.30416],[8.99153,47.31893],[8.99069,47.32183],[8.98637,47.32542],[8.98548,47.32778],[8.98364,47.32931],[8.98592,47.33815],[8.98464,47.34061],[8.98079,47.34237],[8.98088,47.34835],[8.97785,47.35437],[8.9759,47.35606],[8.97002,47.35843],[8.96572,47.3589],[8.96238,47.36252],[8.95665,47.37432],[8.9521,47.37836],[8.94778,47.37971],[8.95023,47.38346],[8.95018,47.38596],[8.9488,47.38836],[8.9397,47.39403],[8.93637,47.39496],[8.93251,47.39871],[8.92801,47.40148],[8.92278,47.4038],[8.91388,47.40569],[8.91924,47.41213],[8.92049,47.41915],[8.91829,47.42323],[8.92094,47.42544],[8.92107,47.42828],[8.92571,47.42695],[8.93437,47.42796],[8.93877,47.43173],[8.93974,47.43411],[8.93889,47.43725],[8.93511,47.43973],[8.92349,47.43953],[8.91973,47.44081],[8.91322,47.44119],[8.91162,47.44347],[8.91527,47.44628],[8.91499,47.45004],[8.91196,47.45378],[8.90517,47.45791],[8.90183,47.46435],[8.89735,47.46898],[8.89581,47.47219],[8.89135,47.4738],[8.89143,47.47821],[8.90142,47.48133],[8.90428,47.48449],[8.90314,47.48928],[8.90001,47.49187],[8.89967,47.49885],[8.90357,47.50404],[8.90413,47.50745],[8.90322,47.51948],[8.90497,47.52447],[8.90365,47.52691],[8.89982,47.52965],[8.88423,47.53392],[8.87883,47.53277],[8.87061,47.53477],[8.8602,47.53488],[8.85674,47.53594],[8.84782,47.5358],[8.84614,47.54087],[8.8403,47.54654],[8.83728,47.55278],[8.84275,47.5537],[8.84648,47.5562],[8.85269,47.55645],[8.8562,47.55792],[8.85775,47.56141],[8.85728,47.56489],[8.85511,47.56721],[8.85079,47.56818],[8.84763,47.57023],[8.84538,47.57061],[8.8448,47.57309],[8.84211,47.57513],[8.83326,47.57769],[8.82962,47.57778],[8.82661,47.57662],[8.82137,47.57756],[8.81432,47.57598],[8.81234,47.5778],[8.81222,47.58473],[8.81067,47.58639],[8.80812,47.58738],[8.76818,47.59674],[8.7543,47.59729],[8.75529,47.60108],[8.75416,47.60273],[8.74883,47.60588],[8.74829,47.60874],[8.7507,47.60981],[8.75255,47.61292],[8.75575,47.61217],[8.76102,47.61335],[8.78169,47.60634],[8.78165,47.60345],[8.78467,47.59993],[8.80168,47.5966],[8.80512,47.59686],[8.80895,47.59938],[8.81074,47.60981],[8.81866,47.61372],[8.82001,47.61526],[8.82089,47.62058],[8.82015,47.62415],[8.82415,47.6256],[8.83079,47.63206],[8.83448,47.64099],[8.83182,47.64945],[8.82695,47.65206],[8.81168,47.65599],[8.81112,47.6621],[8.81192,47.66454],[8.81041,47.66752],[8.80881,47.66857],[8.80293,47.66978],[8.79299,47.66919],[8.78685,47.66978],[8.78453,47.66899],[8.78216,47.66659],[8.77921,47.65695],[8.77763,47.65563],[8.77398,47.65435],[8.76623,47.65438],[8.76108,47.65257],[8.75852,47.65033],[8.75464,47.64883],[8.7534,47.64733],[8.74839,47.64613],[8.74329,47.64749],[8.73882,47.64651],[8.72376,47.64753],[8.72063,47.64664],[8.71492,47.64885],[8.70826,47.64764],[8.70481,47.65039],[8.70053,47.65199],[8.69427,47.65307],[8.69242,47.65581],[8.68632,47.66094],[8.68485,47.66413],[8.68574,47.66799],[8.68326,47.67315],[8.68056,47.67561],[8.67521,47.6776],[8.67642,47.68177],[8.67561,47.68661],[8.67427,47.68799],[8.67227,47.68891],[8.66273,47.69029],[8.64644,47.69847],[8.63968,47.69877],[8.6355,47.69743],[8.62162,47.69554],[8.61818,47.69279],[8.61744,47.69087],[8.62007,47.68134],[8.61478,47.68308],[8.60917,47.68188],[8.60199,47.67451],[8.59954,47.66923],[8.60275,47.66132],[8.60979,47.6568],[8.6141,47.6564],[8.61574,47.65557],[8.62231,47.65104],[8.62227,47.65024],[8.62048,47.64758],[8.61939,47.65043],[8.61521,47.65452],[8.6093,47.65677],[8.60324,47.65654],[8.60069,47.65541],[8.59788,47.65276],[8.59645,47.64876],[8.59092,47.64623],[8.58937,47.6444],[8.58874,47.63936],[8.59116,47.62755],[8.59325,47.62233],[8.59838,47.61587],[8.59854,47.6145],[8.59114,47.60917],[8.58937,47.60682],[8.58796,47.60319],[8.58788,47.59909],[8.58203,47.59793],[8.57398,47.59329],[8.57146,47.58988],[8.57035,47.58633],[8.57203,47.57985],[8.56771,47.57799],[8.56506,47.57524],[8.56117,47.56407],[8.55707,47.55947],[8.55616,47.56336],[8.55206,47.56904],[8.55334,47.57146],[8.5526,47.57599],[8.55007,47.57806],[8.54666,47.57923],[8.5435,47.58228],[8.54319,47.5851],[8.54888,47.5879],[8.55175,47.58777],[8.55764,47.58963],[8.56114,47.59151],[8.56265,47.5946],[8.56668,47.59565],[8.56902,47.59748],[8.56953,47.60049],[8.57237,47.60386],[8.57308,47.60641],[8.57562,47.60676],[8.579,47.60845],[8.58076,47.61031],[8.58125,47.61203],[8.58025,47.61456],[8.57712,47.61636],[8.57525,47.61957],[8.57277,47.6211],[8.56785,47.62164],[8.56341,47.62697],[8.56105,47.62838],[8.54803,47.62998],[8.54558,47.63122],[8.54498,47.63297],[8.54288,47.63458],[8.53995,47.63565],[8.52769,47.63634],[8.52112,47.63887],[8.51478,47.6385],[8.50932,47.63559],[8.50829,47.62942],[8.50161,47.62597],[8.5007,47.62421],[8.50149,47.62154],[8.49253,47.61893],[8.48884,47.61953],[8.47669,47.61937],[8.47439,47.61838],[8.47154,47.61495],[8.47129,47.61307],[8.46785,47.61272],[8.46446,47.61109],[8.46173,47.60659],[8.45519,47.60676],[8.45061,47.60411],[8.4499,47.60164],[8.4507,47.59584],[8.45382,47.59343],[8.45428,47.5866],[8.4563,47.5848],[8.46014,47.58382],[8.46332,47.58044],[8.46881,47.5795],[8.46219,47.57653],[8.45419,47.57668],[8.43642,47.57154],[8.43161,47.57102],[8.42476,47.57231],[8.41477,47.56879],[8.41304,47.56745],[8.41034,47.56194],[8.41039,47.55972],[8.40789,47.55465],[8.40846,47.55018],[8.39964,47.54444],[8.39609,47.543],[8.39469,47.54094],[8.39495,47.53674],[8.39136,47.53568],[8.38835,47.53305],[8.38525,47.53316],[8.38113,47.53219],[8.3774,47.52969],[8.37518,47.52679],[8.37279,47.51651],[8.36579,47.51663],[8.35666,47.51348],[8.35439,47.51104],[8.35103,47.50314],[8.3524,47.49957],[8.35163,47.4973],[8.35274,47.49484],[8.3545,47.49355],[8.3557,47.48979],[8.35533,47.48525],[8.35698,47.47931],[8.35891,47.47743],[8.36187,47.47645],[8.36722,47.47654],[8.36702,47.47487],[8.36073,47.47222],[8.35903,47.46604],[8.35996,47.46381],[8.36326,47.46204],[8.3673,47.45653],[8.36975,47.45504],[8.37393,47.45472],[8.37754,47.45201],[8.37583,47.45068],[8.37441,47.44614],[8.37623,47.43818],[8.37168,47.43675],[8.36855,47.43406],[8.3681,47.43158],[8.36904,47.42863],[8.37222,47.42603],[8.38283,47.42346],[8.38371,47.42251],[8.38073,47.42207],[8.37555,47.4178],[8.37598,47.41378],[8.37441,47.40906],[8.36067,47.40664],[8.35789,47.40542],[8.35629,47.40377],[8.35661,47.39961],[8.36195,47.39516],[8.36577,47.39429],[8.37601,47.3947],[8.37743,47.39218],[8.38036,47.39048],[8.38761,47.39035],[8.38832,47.38012],[8.39034,47.37527],[8.39355,47.3719],[8.39387,47.36945],[8.39574,47.3671],[8.39902,47.36608],[8.39836,47.36408],[8.40012,47.36094],[8.40103,47.35433],[8.39728,47.34677],[8.39779,47.34475],[8.40186,47.3391],[8.40931,47.33409],[8.4061,47.32975],[8.40578,47.32667],[8.40689,47.32447],[8.41295,47.3205],[8.41611,47.31996],[8.42948,47.32227],[8.43556,47.32083],[8.43437,47.31954],[8.43155,47.31851],[8.42609,47.31375],[8.42276,47.30706],[8.42311,47.30368],[8.41745,47.3015],[8.41372,47.29824],[8.40012,47.29564],[8.39768,47.29392],[8.39518,47.29516],[8.39108,47.29552],[8.38602,47.29437],[8.38272,47.29225],[8.38198,47.29034],[8.38255,47.2881],[8.38508,47.28565],[8.38977,47.27507],[8.39563,47.271],[8.39407,47.26672],[8.39415,47.26361],[8.39756,47.25986],[8.39614,47.25481],[8.39742,47.25189],[8.40647,47.24452],[8.40826,47.24118],[8.40761,47.23957],[8.4096,47.23585],[8.41073,47.22799],[8.41248,47.22433],[8.41695,47.22014],[8.41959,47.21902],[8.42269,47.21886],[8.42977,47.22],[8.43936,47.21937],[8.45,47.21363],[8.4546,47.21334],[8.45625,47.21081],[8.4591,47.20934],[8.46447,47.20928],[8.46609,47.20862],[8.46868,47.20533],[8.47329,47.20398],[8.47693,47.20458],[8.48399,47.20392],[8.49489,47.20738],[8.504,47.20768],[8.51538,47.21152],[8.51753,47.21271],[8.51906,47.21495],[8.5306,47.21306],[8.53307,47.21325],[8.5415,47.21778],[8.54456,47.21707],[8.55407,47.21726],[8.55858,47.21517],[8.56984,47.2139],[8.57491,47.21255],[8.57749,47.20771],[8.58044,47.2064],[8.58408,47.20603],[8.59012,47.20714],[8.58965,47.2046],[8.59074,47.20195],[8.59358,47.1986],[8.59581,47.19753],[8.60168,47.19722],[8.60653,47.1992],[8.60725,47.19885],[8.61097,47.19387],[8.61128,47.19059],[8.61391,47.18838],[8.61522,47.18515],[8.61938,47.18045],[8.61976,47.17918],[8.61721,47.17359],[8.6196,47.1698],[8.62292,47.16821],[8.6339,47.16715],[8.63561,47.16578],[8.63965,47.16459],[8.64287,47.16443],[8.65216,47.16598],[8.65425,47.16552],[8.6549,47.15967],[8.65649,47.15783],[8.65882,47.15658],[8.66853,47.15492],[8.67847,47.15558],[8.68241,47.15759],[8.69361,47.15898],[8.69804,47.16134],[8.69886,47.16303],[8.6977,47.17033],[8.69599,47.17232],[8.68919,47.17566],[8.6872,47.17959],[8.6879,47.18229],[8.69186,47.18485],[8.69824,47.19205],[8.70323,47.19326],[8.70852,47.19602],[8.71423,47.19693],[8.71692,47.19893],[8.74212,47.2071],[8.74218,47.21355],[8.71338,47.21388]]],terms_text:"Geographisches Informationssystem des Kantons Zürich (GIS-ZH), Orthofoto ZH Sommer 2014/15 RGB"},{id:"OGDOrthoZH2018",name:"Kanton Zurich, Orthofoto ZH Sommer 2018 RGB 10cm",type:"wms",template:"https://wms.zh.ch/OGDOrthoZH?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=ortho&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2018-01-01T00:00:00.000Z",startDate:"2018-01-01T00:00:00.000Z",zoomExtent:[8,22],polygon:[[[8.71338,47.21388],[8.7137,47.22737],[8.8117,47.22626],[8.80337,47.23858],[8.80866,47.2431],[8.82448,47.24656],[8.82971,47.24539],[8.83652,47.24257],[8.84568,47.24253],[8.84837,47.24322],[8.85232,47.24034],[8.86206,47.23882],[8.86472,47.23966],[8.86863,47.23968],[8.87339,47.24125],[8.87882,47.24476],[8.88054,47.24791],[8.89878,47.24976],[8.90281,47.25094],[8.91025,47.25003],[8.92735,47.25406],[8.93644,47.25499],[8.94233,47.25849],[8.94423,47.26173],[8.94882,47.26536],[8.95094,47.2686],[8.95068,47.27108],[8.953,47.27285],[8.95411,47.27505],[8.95504,47.28251],[8.95171,47.28527],[8.94664,47.28647],[8.95258,47.28844],[8.95454,47.28982],[8.96141,47.30098],[8.97552,47.30245],[8.98006,47.30416],[8.99153,47.31893],[8.99069,47.32183],[8.98637,47.32542],[8.98548,47.32778],[8.98364,47.32931],[8.98592,47.33815],[8.98464,47.34061],[8.98079,47.34237],[8.98088,47.34835],[8.97785,47.35437],[8.9759,47.35606],[8.97002,47.35843],[8.96572,47.3589],[8.96238,47.36252],[8.95665,47.37432],[8.9521,47.37836],[8.94778,47.37971],[8.95023,47.38346],[8.95018,47.38596],[8.9488,47.38836],[8.9397,47.39403],[8.93637,47.39496],[8.93251,47.39871],[8.92801,47.40148],[8.92278,47.4038],[8.91388,47.40569],[8.91924,47.41213],[8.92049,47.41915],[8.91829,47.42323],[8.92094,47.42544],[8.92107,47.42828],[8.92571,47.42695],[8.93437,47.42796],[8.93877,47.43173],[8.93974,47.43411],[8.93889,47.43725],[8.93511,47.43973],[8.92349,47.43953],[8.91973,47.44081],[8.91322,47.44119],[8.91162,47.44347],[8.91527,47.44628],[8.91499,47.45004],[8.91196,47.45378],[8.90517,47.45791],[8.90183,47.46435],[8.89735,47.46898],[8.89581,47.47219],[8.89135,47.4738],[8.89143,47.47821],[8.90142,47.48133],[8.90428,47.48449],[8.90314,47.48928],[8.90001,47.49187],[8.89967,47.49885],[8.90357,47.50404],[8.90413,47.50745],[8.90322,47.51948],[8.90497,47.52447],[8.90365,47.52691],[8.89982,47.52965],[8.88423,47.53392],[8.87883,47.53277],[8.87061,47.53477],[8.8602,47.53488],[8.85674,47.53594],[8.84782,47.5358],[8.84614,47.54087],[8.8403,47.54654],[8.83728,47.55278],[8.84275,47.5537],[8.84648,47.5562],[8.85269,47.55645],[8.8562,47.55792],[8.85775,47.56141],[8.85728,47.56489],[8.85511,47.56721],[8.85079,47.56818],[8.84763,47.57023],[8.84538,47.57061],[8.8448,47.57309],[8.84211,47.57513],[8.83326,47.57769],[8.82962,47.57778],[8.82661,47.57662],[8.82137,47.57756],[8.81432,47.57598],[8.81234,47.5778],[8.81222,47.58473],[8.81067,47.58639],[8.80812,47.58738],[8.76818,47.59674],[8.7543,47.59729],[8.75529,47.60108],[8.75416,47.60273],[8.74883,47.60588],[8.74829,47.60874],[8.7507,47.60981],[8.75255,47.61292],[8.75575,47.61217],[8.76102,47.61335],[8.78169,47.60634],[8.78165,47.60345],[8.78467,47.59993],[8.80168,47.5966],[8.80512,47.59686],[8.80895,47.59938],[8.81074,47.60981],[8.81866,47.61372],[8.82001,47.61526],[8.82089,47.62058],[8.82015,47.62415],[8.82415,47.6256],[8.83079,47.63206],[8.83448,47.64099],[8.83182,47.64945],[8.82695,47.65206],[8.81168,47.65599],[8.81112,47.6621],[8.81192,47.66454],[8.81041,47.66752],[8.80881,47.66857],[8.80293,47.66978],[8.79299,47.66919],[8.78685,47.66978],[8.78453,47.66899],[8.78216,47.66659],[8.77921,47.65695],[8.77763,47.65563],[8.77398,47.65435],[8.76623,47.65438],[8.76108,47.65257],[8.75852,47.65033],[8.75464,47.64883],[8.7534,47.64733],[8.74839,47.64613],[8.74329,47.64749],[8.73882,47.64651],[8.72376,47.64753],[8.72063,47.64664],[8.71492,47.64885],[8.70826,47.64764],[8.70481,47.65039],[8.70053,47.65199],[8.69427,47.65307],[8.69242,47.65581],[8.68632,47.66094],[8.68485,47.66413],[8.68574,47.66799],[8.68326,47.67315],[8.68056,47.67561],[8.67521,47.6776],[8.67642,47.68177],[8.67561,47.68661],[8.67427,47.68799],[8.67227,47.68891],[8.66273,47.69029],[8.64644,47.69847],[8.63968,47.69877],[8.6355,47.69743],[8.62162,47.69554],[8.61818,47.69279],[8.61744,47.69087],[8.62007,47.68134],[8.61478,47.68308],[8.60917,47.68188],[8.60199,47.67451],[8.59954,47.66923],[8.60275,47.66132],[8.60979,47.6568],[8.6141,47.6564],[8.61574,47.65557],[8.62231,47.65104],[8.62227,47.65024],[8.62048,47.64758],[8.61939,47.65043],[8.61521,47.65452],[8.6093,47.65677],[8.60324,47.65654],[8.60069,47.65541],[8.59788,47.65276],[8.59645,47.64876],[8.59092,47.64623],[8.58937,47.6444],[8.58874,47.63936],[8.59116,47.62755],[8.59325,47.62233],[8.59838,47.61587],[8.59854,47.6145],[8.59114,47.60917],[8.58937,47.60682],[8.58796,47.60319],[8.58788,47.59909],[8.58203,47.59793],[8.57398,47.59329],[8.57146,47.58988],[8.57035,47.58633],[8.57203,47.57985],[8.56771,47.57799],[8.56506,47.57524],[8.56117,47.56407],[8.55707,47.55947],[8.55616,47.56336],[8.55206,47.56904],[8.55334,47.57146],[8.5526,47.57599],[8.55007,47.57806],[8.54666,47.57923],[8.5435,47.58228],[8.54319,47.5851],[8.54888,47.5879],[8.55175,47.58777],[8.55764,47.58963],[8.56114,47.59151],[8.56265,47.5946],[8.56668,47.59565],[8.56902,47.59748],[8.56953,47.60049],[8.57237,47.60386],[8.57308,47.60641],[8.57562,47.60676],[8.579,47.60845],[8.58076,47.61031],[8.58125,47.61203],[8.58025,47.61456],[8.57712,47.61636],[8.57525,47.61957],[8.57277,47.6211],[8.56785,47.62164],[8.56341,47.62697],[8.56105,47.62838],[8.54803,47.62998],[8.54558,47.63122],[8.54498,47.63297],[8.54288,47.63458],[8.53995,47.63565],[8.52769,47.63634],[8.52112,47.63887],[8.51478,47.6385],[8.50932,47.63559],[8.50829,47.62942],[8.50161,47.62597],[8.5007,47.62421],[8.50149,47.62154],[8.49253,47.61893],[8.48884,47.61953],[8.47669,47.61937],[8.47439,47.61838],[8.47154,47.61495],[8.47129,47.61307],[8.46785,47.61272],[8.46446,47.61109],[8.46173,47.60659],[8.45519,47.60676],[8.45061,47.60411],[8.4499,47.60164],[8.4507,47.59584],[8.45382,47.59343],[8.45428,47.5866],[8.4563,47.5848],[8.46014,47.58382],[8.46332,47.58044],[8.46881,47.5795],[8.46219,47.57653],[8.45419,47.57668],[8.43642,47.57154],[8.43161,47.57102],[8.42476,47.57231],[8.41477,47.56879],[8.41304,47.56745],[8.41034,47.56194],[8.41039,47.55972],[8.40789,47.55465],[8.40846,47.55018],[8.39964,47.54444],[8.39609,47.543],[8.39469,47.54094],[8.39495,47.53674],[8.39136,47.53568],[8.38835,47.53305],[8.38525,47.53316],[8.38113,47.53219],[8.3774,47.52969],[8.37518,47.52679],[8.37279,47.51651],[8.36579,47.51663],[8.35666,47.51348],[8.35439,47.51104],[8.35103,47.50314],[8.3524,47.49957],[8.35163,47.4973],[8.35274,47.49484],[8.3545,47.49355],[8.3557,47.48979],[8.35533,47.48525],[8.35698,47.47931],[8.35891,47.47743],[8.36187,47.47645],[8.36722,47.47654],[8.36702,47.47487],[8.36073,47.47222],[8.35903,47.46604],[8.35996,47.46381],[8.36326,47.46204],[8.3673,47.45653],[8.36975,47.45504],[8.37393,47.45472],[8.37754,47.45201],[8.37583,47.45068],[8.37441,47.44614],[8.37623,47.43818],[8.37168,47.43675],[8.36855,47.43406],[8.3681,47.43158],[8.36904,47.42863],[8.37222,47.42603],[8.38283,47.42346],[8.38371,47.42251],[8.38073,47.42207],[8.37555,47.4178],[8.37598,47.41378],[8.37441,47.40906],[8.36067,47.40664],[8.35789,47.40542],[8.35629,47.40377],[8.35661,47.39961],[8.36195,47.39516],[8.36577,47.39429],[8.37601,47.3947],[8.37743,47.39218],[8.38036,47.39048],[8.38761,47.39035],[8.38832,47.38012],[8.39034,47.37527],[8.39355,47.3719],[8.39387,47.36945],[8.39574,47.3671],[8.39902,47.36608],[8.39836,47.36408],[8.40012,47.36094],[8.40103,47.35433],[8.39728,47.34677],[8.39779,47.34475],[8.40186,47.3391],[8.40931,47.33409],[8.4061,47.32975],[8.40578,47.32667],[8.40689,47.32447],[8.41295,47.3205],[8.41611,47.31996],[8.42948,47.32227],[8.43556,47.32083],[8.43437,47.31954],[8.43155,47.31851],[8.42609,47.31375],[8.42276,47.30706],[8.42311,47.30368],[8.41745,47.3015],[8.41372,47.29824],[8.40012,47.29564],[8.39768,47.29392],[8.39518,47.29516],[8.39108,47.29552],[8.38602,47.29437],[8.38272,47.29225],[8.38198,47.29034],[8.38255,47.2881],[8.38508,47.28565],[8.38977,47.27507],[8.39563,47.271],[8.39407,47.26672],[8.39415,47.26361],[8.39756,47.25986],[8.39614,47.25481],[8.39742,47.25189],[8.40647,47.24452],[8.40826,47.24118],[8.40761,47.23957],[8.4096,47.23585],[8.41073,47.22799],[8.41248,47.22433],[8.41695,47.22014],[8.41959,47.21902],[8.42269,47.21886],[8.42977,47.22],[8.43936,47.21937],[8.45,47.21363],[8.4546,47.21334],[8.45625,47.21081],[8.4591,47.20934],[8.46447,47.20928],[8.46609,47.20862],[8.46868,47.20533],[8.47329,47.20398],[8.47693,47.20458],[8.48399,47.20392],[8.49489,47.20738],[8.504,47.20768],[8.51538,47.21152],[8.51753,47.21271],[8.51906,47.21495],[8.5306,47.21306],[8.53307,47.21325],[8.5415,47.21778],[8.54456,47.21707],[8.55407,47.21726],[8.55858,47.21517],[8.56984,47.2139],[8.57491,47.21255],[8.57749,47.20771],[8.58044,47.2064],[8.58408,47.20603],[8.59012,47.20714],[8.58965,47.2046],[8.59074,47.20195],[8.59358,47.1986],[8.59581,47.19753],[8.60168,47.19722],[8.60653,47.1992],[8.60725,47.19885],[8.61097,47.19387],[8.61128,47.19059],[8.61391,47.18838],[8.61522,47.18515],[8.61938,47.18045],[8.61976,47.17918],[8.61721,47.17359],[8.6196,47.1698],[8.62292,47.16821],[8.6339,47.16715],[8.63561,47.16578],[8.63965,47.16459],[8.64287,47.16443],[8.65216,47.16598],[8.65425,47.16552],[8.6549,47.15967],[8.65649,47.15783],[8.65882,47.15658],[8.66853,47.15492],[8.67847,47.15558],[8.68241,47.15759],[8.69361,47.15898],[8.69804,47.16134],[8.69886,47.16303],[8.6977,47.17033],[8.69599,47.17232],[8.68919,47.17566],[8.6872,47.17959],[8.6879,47.18229],[8.69186,47.18485],[8.69824,47.19205],[8.70323,47.19326],[8.70852,47.19602],[8.71423,47.19693],[8.71692,47.19893],[8.74212,47.2071],[8.74218,47.21355],[8.71338,47.21388]]],terms_text:"Geographisches Informationssystem des Kantons Zürich (GIS-ZH), Orthofoto ZH Sommer 2018 RGB",best:true},{id:"OGDLidarZH-DTM",name:"Kanton Zurich, Terrainschummerung 50cm",type:"wms",template:"https://wms.zh.ch/OGDLidarZH?FORMAT=image/jpeg&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=dtm2014hillshade&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",zoomExtent:[8,22],polygon:[[[8.71338,47.21388],[8.7137,47.22737],[8.8117,47.22626],[8.80337,47.23858],[8.80866,47.2431],[8.82448,47.24656],[8.82971,47.24539],[8.83652,47.24257],[8.84568,47.24253],[8.84837,47.24322],[8.85232,47.24034],[8.86206,47.23882],[8.86472,47.23966],[8.86863,47.23968],[8.87339,47.24125],[8.87882,47.24476],[8.88054,47.24791],[8.89878,47.24976],[8.90281,47.25094],[8.91025,47.25003],[8.92735,47.25406],[8.93644,47.25499],[8.94233,47.25849],[8.94423,47.26173],[8.94882,47.26536],[8.95094,47.2686],[8.95068,47.27108],[8.953,47.27285],[8.95411,47.27505],[8.95504,47.28251],[8.95171,47.28527],[8.94664,47.28647],[8.95258,47.28844],[8.95454,47.28982],[8.96141,47.30098],[8.97552,47.30245],[8.98006,47.30416],[8.99153,47.31893],[8.99069,47.32183],[8.98637,47.32542],[8.98548,47.32778],[8.98364,47.32931],[8.98592,47.33815],[8.98464,47.34061],[8.98079,47.34237],[8.98088,47.34835],[8.97785,47.35437],[8.9759,47.35606],[8.97002,47.35843],[8.96572,47.3589],[8.96238,47.36252],[8.95665,47.37432],[8.9521,47.37836],[8.94778,47.37971],[8.95023,47.38346],[8.95018,47.38596],[8.9488,47.38836],[8.9397,47.39403],[8.93637,47.39496],[8.93251,47.39871],[8.92801,47.40148],[8.92278,47.4038],[8.91388,47.40569],[8.91924,47.41213],[8.92049,47.41915],[8.91829,47.42323],[8.92094,47.42544],[8.92107,47.42828],[8.92571,47.42695],[8.93437,47.42796],[8.93877,47.43173],[8.93974,47.43411],[8.93889,47.43725],[8.93511,47.43973],[8.92349,47.43953],[8.91973,47.44081],[8.91322,47.44119],[8.91162,47.44347],[8.91527,47.44628],[8.91499,47.45004],[8.91196,47.45378],[8.90517,47.45791],[8.90183,47.46435],[8.89735,47.46898],[8.89581,47.47219],[8.89135,47.4738],[8.89143,47.47821],[8.90142,47.48133],[8.90428,47.48449],[8.90314,47.48928],[8.90001,47.49187],[8.89967,47.49885],[8.90357,47.50404],[8.90413,47.50745],[8.90322,47.51948],[8.90497,47.52447],[8.90365,47.52691],[8.89982,47.52965],[8.88423,47.53392],[8.87883,47.53277],[8.87061,47.53477],[8.8602,47.53488],[8.85674,47.53594],[8.84782,47.5358],[8.84614,47.54087],[8.8403,47.54654],[8.83728,47.55278],[8.84275,47.5537],[8.84648,47.5562],[8.85269,47.55645],[8.8562,47.55792],[8.85775,47.56141],[8.85728,47.56489],[8.85511,47.56721],[8.85079,47.56818],[8.84763,47.57023],[8.84538,47.57061],[8.8448,47.57309],[8.84211,47.57513],[8.83326,47.57769],[8.82962,47.57778],[8.82661,47.57662],[8.82137,47.57756],[8.81432,47.57598],[8.81234,47.5778],[8.81222,47.58473],[8.81067,47.58639],[8.80812,47.58738],[8.76818,47.59674],[8.7543,47.59729],[8.75529,47.60108],[8.75416,47.60273],[8.74883,47.60588],[8.74829,47.60874],[8.7507,47.60981],[8.75255,47.61292],[8.75575,47.61217],[8.76102,47.61335],[8.78169,47.60634],[8.78165,47.60345],[8.78467,47.59993],[8.80168,47.5966],[8.80512,47.59686],[8.80895,47.59938],[8.81074,47.60981],[8.81866,47.61372],[8.82001,47.61526],[8.82089,47.62058],[8.82015,47.62415],[8.82415,47.6256],[8.83079,47.63206],[8.83448,47.64099],[8.83182,47.64945],[8.82695,47.65206],[8.81168,47.65599],[8.81112,47.6621],[8.81192,47.66454],[8.81041,47.66752],[8.80881,47.66857],[8.80293,47.66978],[8.79299,47.66919],[8.78685,47.66978],[8.78453,47.66899],[8.78216,47.66659],[8.77921,47.65695],[8.77763,47.65563],[8.77398,47.65435],[8.76623,47.65438],[8.76108,47.65257],[8.75852,47.65033],[8.75464,47.64883],[8.7534,47.64733],[8.74839,47.64613],[8.74329,47.64749],[8.73882,47.64651],[8.72376,47.64753],[8.72063,47.64664],[8.71492,47.64885],[8.70826,47.64764],[8.70481,47.65039],[8.70053,47.65199],[8.69427,47.65307],[8.69242,47.65581],[8.68632,47.66094],[8.68485,47.66413],[8.68574,47.66799],[8.68326,47.67315],[8.68056,47.67561],[8.67521,47.6776],[8.67642,47.68177],[8.67561,47.68661],[8.67427,47.68799],[8.67227,47.68891],[8.66273,47.69029],[8.64644,47.69847],[8.63968,47.69877],[8.6355,47.69743],[8.62162,47.69554],[8.61818,47.69279],[8.61744,47.69087],[8.62007,47.68134],[8.61478,47.68308],[8.60917,47.68188],[8.60199,47.67451],[8.59954,47.66923],[8.60275,47.66132],[8.60979,47.6568],[8.6141,47.6564],[8.61574,47.65557],[8.62231,47.65104],[8.62227,47.65024],[8.62048,47.64758],[8.61939,47.65043],[8.61521,47.65452],[8.6093,47.65677],[8.60324,47.65654],[8.60069,47.65541],[8.59788,47.65276],[8.59645,47.64876],[8.59092,47.64623],[8.58937,47.6444],[8.58874,47.63936],[8.59116,47.62755],[8.59325,47.62233],[8.59838,47.61587],[8.59854,47.6145],[8.59114,47.60917],[8.58937,47.60682],[8.58796,47.60319],[8.58788,47.59909],[8.58203,47.59793],[8.57398,47.59329],[8.57146,47.58988],[8.57035,47.58633],[8.57203,47.57985],[8.56771,47.57799],[8.56506,47.57524],[8.56117,47.56407],[8.55707,47.55947],[8.55616,47.56336],[8.55206,47.56904],[8.55334,47.57146],[8.5526,47.57599],[8.55007,47.57806],[8.54666,47.57923],[8.5435,47.58228],[8.54319,47.5851],[8.54888,47.5879],[8.55175,47.58777],[8.55764,47.58963],[8.56114,47.59151],[8.56265,47.5946],[8.56668,47.59565],[8.56902,47.59748],[8.56953,47.60049],[8.57237,47.60386],[8.57308,47.60641],[8.57562,47.60676],[8.579,47.60845],[8.58076,47.61031],[8.58125,47.61203],[8.58025,47.61456],[8.57712,47.61636],[8.57525,47.61957],[8.57277,47.6211],[8.56785,47.62164],[8.56341,47.62697],[8.56105,47.62838],[8.54803,47.62998],[8.54558,47.63122],[8.54498,47.63297],[8.54288,47.63458],[8.53995,47.63565],[8.52769,47.63634],[8.52112,47.63887],[8.51478,47.6385],[8.50932,47.63559],[8.50829,47.62942],[8.50161,47.62597],[8.5007,47.62421],[8.50149,47.62154],[8.49253,47.61893],[8.48884,47.61953],[8.47669,47.61937],[8.47439,47.61838],[8.47154,47.61495],[8.47129,47.61307],[8.46785,47.61272],[8.46446,47.61109],[8.46173,47.60659],[8.45519,47.60676],[8.45061,47.60411],[8.4499,47.60164],[8.4507,47.59584],[8.45382,47.59343],[8.45428,47.5866],[8.4563,47.5848],[8.46014,47.58382],[8.46332,47.58044],[8.46881,47.5795],[8.46219,47.57653],[8.45419,47.57668],[8.43642,47.57154],[8.43161,47.57102],[8.42476,47.57231],[8.41477,47.56879],[8.41304,47.56745],[8.41034,47.56194],[8.41039,47.55972],[8.40789,47.55465],[8.40846,47.55018],[8.39964,47.54444],[8.39609,47.543],[8.39469,47.54094],[8.39495,47.53674],[8.39136,47.53568],[8.38835,47.53305],[8.38525,47.53316],[8.38113,47.53219],[8.3774,47.52969],[8.37518,47.52679],[8.37279,47.51651],[8.36579,47.51663],[8.35666,47.51348],[8.35439,47.51104],[8.35103,47.50314],[8.3524,47.49957],[8.35163,47.4973],[8.35274,47.49484],[8.3545,47.49355],[8.3557,47.48979],[8.35533,47.48525],[8.35698,47.47931],[8.35891,47.47743],[8.36187,47.47645],[8.36722,47.47654],[8.36702,47.47487],[8.36073,47.47222],[8.35903,47.46604],[8.35996,47.46381],[8.36326,47.46204],[8.3673,47.45653],[8.36975,47.45504],[8.37393,47.45472],[8.37754,47.45201],[8.37583,47.45068],[8.37441,47.44614],[8.37623,47.43818],[8.37168,47.43675],[8.36855,47.43406],[8.3681,47.43158],[8.36904,47.42863],[8.37222,47.42603],[8.38283,47.42346],[8.38371,47.42251],[8.38073,47.42207],[8.37555,47.4178],[8.37598,47.41378],[8.37441,47.40906],[8.36067,47.40664],[8.35789,47.40542],[8.35629,47.40377],[8.35661,47.39961],[8.36195,47.39516],[8.36577,47.39429],[8.37601,47.3947],[8.37743,47.39218],[8.38036,47.39048],[8.38761,47.39035],[8.38832,47.38012],[8.39034,47.37527],[8.39355,47.3719],[8.39387,47.36945],[8.39574,47.3671],[8.39902,47.36608],[8.39836,47.36408],[8.40012,47.36094],[8.40103,47.35433],[8.39728,47.34677],[8.39779,47.34475],[8.40186,47.3391],[8.40931,47.33409],[8.4061,47.32975],[8.40578,47.32667],[8.40689,47.32447],[8.41295,47.3205],[8.41611,47.31996],[8.42948,47.32227],[8.43556,47.32083],[8.43437,47.31954],[8.43155,47.31851],[8.42609,47.31375],[8.42276,47.30706],[8.42311,47.30368],[8.41745,47.3015],[8.41372,47.29824],[8.40012,47.29564],[8.39768,47.29392],[8.39518,47.29516],[8.39108,47.29552],[8.38602,47.29437],[8.38272,47.29225],[8.38198,47.29034],[8.38255,47.2881],[8.38508,47.28565],[8.38977,47.27507],[8.39563,47.271],[8.39407,47.26672],[8.39415,47.26361],[8.39756,47.25986],[8.39614,47.25481],[8.39742,47.25189],[8.40647,47.24452],[8.40826,47.24118],[8.40761,47.23957],[8.4096,47.23585],[8.41073,47.22799],[8.41248,47.22433],[8.41695,47.22014],[8.41959,47.21902],[8.42269,47.21886],[8.42977,47.22],[8.43936,47.21937],[8.45,47.21363],[8.4546,47.21334],[8.45625,47.21081],[8.4591,47.20934],[8.46447,47.20928],[8.46609,47.20862],[8.46868,47.20533],[8.47329,47.20398],[8.47693,47.20458],[8.48399,47.20392],[8.49489,47.20738],[8.504,47.20768],[8.51538,47.21152],[8.51753,47.21271],[8.51906,47.21495],[8.5306,47.21306],[8.53307,47.21325],[8.5415,47.21778],[8.54456,47.21707],[8.55407,47.21726],[8.55858,47.21517],[8.56984,47.2139],[8.57491,47.21255],[8.57749,47.20771],[8.58044,47.2064],[8.58408,47.20603],[8.59012,47.20714],[8.58965,47.2046],[8.59074,47.20195],[8.59358,47.1986],[8.59581,47.19753],[8.60168,47.19722],[8.60653,47.1992],[8.60725,47.19885],[8.61097,47.19387],[8.61128,47.19059],[8.61391,47.18838],[8.61522,47.18515],[8.61938,47.18045],[8.61976,47.17918],[8.61721,47.17359],[8.6196,47.1698],[8.62292,47.16821],[8.6339,47.16715],[8.63561,47.16578],[8.63965,47.16459],[8.64287,47.16443],[8.65216,47.16598],[8.65425,47.16552],[8.6549,47.15967],[8.65649,47.15783],[8.65882,47.15658],[8.66853,47.15492],[8.67847,47.15558],[8.68241,47.15759],[8.69361,47.15898],[8.69804,47.16134],[8.69886,47.16303],[8.6977,47.17033],[8.69599,47.17232],[8.68919,47.17566],[8.6872,47.17959],[8.6879,47.18229],[8.69186,47.18485],[8.69824,47.19205],[8.70323,47.19326],[8.70852,47.19602],[8.71423,47.19693],[8.71692,47.19893],[8.74212,47.2071],[8.74218,47.21355],[8.71338,47.21388]]],terms_text:"Geographisches Informationssystem des Kantons Zürich (GIS-ZH), Terrainschummerung"},{id:"kartverket-abas",name:"Kartverket Administrative Boundaries overlay",type:"wms",template:"https://openwms.statkart.no/skwms1/wms.adm_enheter?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=avtaltavgrensningslinje,territorialgrense,riksgrense,fylker,kommuner&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,22],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.kartverket.no/data/Kartdata/Grenser/",terms_text:"© Kartverket",description:"Official administrative boundaries at the national, county and municipality levels",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png",overlay:true},{id:"kartverket-luftfartshindre",name:"Kartverket Aviation Obstructions overlay",type:"wms",template:"https://openwms.statkart.no/skwms1/wms.nrl?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=nrl3_wms&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[7,20],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://kartverket.no/kart/Nasjonalt-register-over-luftfartshindre/",terms_text:"© Kartverket",description:"Vertical obstructions to aircrafts, above 15m in rural areas and 30m in urban areas (e.g. masts, towers, high buildings, power lines)",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png",overlay:true},{id:"kartverket-matrikkel",name:"Kartverket Cadastral overlay",type:"wms",template:"https://wms.geonorge.no/skwms1/wms.matrikkel?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=matrikkel_WMS&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[14,20],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"http://www.seeiendom.no/",terms_text:"© Kartverket",description:"Real estate boundaries from the official land register (`matrikkelen´). Monthly update.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png",overlay:true},{id:"kartverket-hoydekurver",name:"Kartverket Contour Lines overlay",type:"wms",template:"https://openwms.statkart.no/skwms1/wms.topo4?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=hoydetall5linje,hoydetall5punkt,hoydepunkt,vannpunkt,hoydekurver_1m,hoydekurver_5m,N50Hoydekurver,N250Hoydekurver,N500Hoydekurver,N1000Hoydekurver,N2000Hoydekurver&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[9,22],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.kartverket.no/Prosjekter/Nasjonal-detaljert-hoydemodell/",terms_text:"© Kartverket",description:"Contours for Norway",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png",overlay:true},{id:"kartverket-dom-skygge",name:"Kartverket DOM Digital Surface Model",type:"wms",template:"https://wms.geonorge.no/skwms1/wms.hoyde-dom_somlos_skyggerelieff?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=las_dom_skyggerelieff_somlos&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,24],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://hoydedata.no/",terms_text:"© Kartverket",description:"Shaded relief representation of the Norwegian digital surface model (DOM), i.e. earth surface including trees, buildings and other objects on top of it.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png"},{id:"kartverket-dtm-skygge",name:"Kartverket DTM Digital Terrain Model",type:"wms",template:"https://wms.geonorge.no/skwms1/wms.hoyde-dtm_somlos_skyggerelieff?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=las_dtm_skyggerelieff_somlos&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,24],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://hoydedata.no/",terms_text:"© Kartverket",description:"Shaded relief representation of the Norwegian digital terrain model (DTM), i.e. earth surface without trees, buildings and other objects.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png"},{id:"kartverket-ok-1st",name:"Kartverket Economic Maps (historic)",type:"wms",template:"https://wms.geonorge.no/skwms1/wms.n5raster2?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=n5raster_foerstegang_metadata,n5raster_foerstegang&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[11,20],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.kartverket.no/kunnskap/historie/kartverkets-historiske-arkiv/",terms_text:"© Kartverket",description:"1st edition of historic Economic maps for Norway 1960-90s (`Økonomisk kartverk´). Available from zoom 16. Please correct local imagery offset.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png"},{id:"kartverket-friluft",name:"Kartverket Hiking Trails",type:"wms",template:"https://wms.geonorge.no/skwms1/wms.friluftsruter2?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Fotrute&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[6,24],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://kartverket.no/geodataarbeid/temadata/nasjonal-database-for-tur--og-friluftsruter/",terms_text:"© Kartverket",description:"Hiking trails from the Norwegian database `Tur- og Friluftsruter´, including DNT routes.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png",overlay:true},{id:"kartverket-fjellskygge",name:"Kartverket Hillshade overlay",type:"tms",template:"https://opencache{switch:,2,3}.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=fjellskygge&zoom={zoom}&x={x}&y={y}",zoomExtent:[9,15],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://kartkatalog.geonorge.no/metadata/kartverket/fjellskygge-cache/cca7c129-fe66-4c96-9091-40d92290dd81",terms_text:"© Kartverket",description:"Hillshade for Norway",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png",overlay:true},{id:"kartverket-historic",name:"Kartverket Historic maps",type:"wms",template:"https://wms.geonorge.no/skwms1/wms.historiskekart?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=amt1&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[5,15],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.kartverket.no/kart/historiske-kart/",terms_text:"© Kartverket",description:"Historic maps - for the time being `Amtskartserien´ 1826-1917.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png"},{id:"kartverket-topo4",name:"Kartverket N50 topo",type:"tms",template:"https://opencache{switch:,2,3}.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=topo4&zoom={zoom}&x={x}&y={y}",zoomExtent:[3,15],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://wiki.openstreetmap.org/wiki/No:Kartverket_import",terms_text:"© Kartverket",description:"Topographic map N50, equivalent to Norway 1:50.000 paper map series.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png"},{id:"kartverket-sjokart",name:"Kartverket Nautical Charts",type:"tms",template:"https://opencache{switch:,2,3}.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=sjokartraster&zoom={zoom}&x={x}&y={y}",zoomExtent:[3,20],polygon:[[[-15.01273,-60.16205],[33.3326,-60.17016],[33.32144,-73.0009],[-15.0239,-72.99613],[-15.01273,-60.16205]],[[-173.00076,-70.54952],[-125.00321,-70.54878],[-125.00167,-78.99977],[-172.99922,-79.0002],[-173.00076,-70.54952]],[[3.24857,56.08599],[2.60924,56.59428],[1.47215,58.45924],[1.77704,61.36251],[-0.49301,63.88665],[-13.73292,69.76376],[-12.43655,72.58741],[-5.11965,74.39626],[-3.60356,79.12998],[5.85587,82.34863],[34.98861,82.3401],[37.96874,78.62784],[37.99619,75.79673],[36.95796,73.68962],[32.07458,70.27336],[30.3511,69.56882],[21.46179,69.57098],[18.3032,68.36681],[14.47997,66.2558],[11.50266,63.28307],[11.50166,58.95444],[11.08246,58.96771],[10.03051,58.25173],[8.88244,57.69534],[3.24857,56.08599]]],terms_url:"https://www.kartverket.no/Kart/Sjokart/",terms_text:"© Kartverket",description:"Norwegian nautical charts (includes Spitsbergen/Svalbard and Antarctica). Raster representation of paper charts. Updated biweekly.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png"},{id:"kartverket-vegnett",name:"Kartverket Road Network",type:"wms",template:"https://openwms.statkart.no/skwms1/wms.vegnett?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=all&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[3,24],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://www.kartverket.no/data/kartdata/vegdata/",terms_text:"© Kartverket",description:"Norwegian road network from the National Road database (NVDB). Colours represent national, county, municipal, private and forest roads + footways/cycleways.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png",overlay:true},{id:"Katowice-buildings",name:"Katowice: Buildings",type:"wms",template:"http://mapserver.um.katowice.pl/services/ortowms/MapServer/WMSServer?FORMAT=image/png&transparent=true&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=4,5,6&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[18.90884,50.24006],[18.90851,50.23542],[18.94279,50.23515],[18.94399,50.27138],[18.95469,50.27485],[18.95571,50.2894],[18.96692,50.29364],[18.98752,50.2848],[18.99888,50.2847],[18.99907,50.29368],[18.98892,50.29377],[18.98934,50.30244],[19.0094,50.30196],[19.03401,50.28842],[19.05533,50.30139],[19.07901,50.30087],[19.07908,50.29297],[19.12296,50.27784],[19.12267,50.25523],[19.11079,50.2428],[19.1098,50.17946],[19.12065,50.17936],[19.11957,50.14359],[19.10777,50.14386],[19.0973,50.13916],[19.09656,50.12786],[19.06379,50.12786],[19.02985,50.14009],[19.03007,50.16177],[19.01909,50.16698],[19.00848,50.16707],[18.96329,50.1498],[18.92907,50.15008],[18.92915,50.15426],[18.91854,50.15419],[18.91878,50.20421],[18.90792,50.20429],[18.90808,50.21297],[18.88588,50.21314],[18.88639,50.24024],[18.90884,50.24006]]],terms_text:"Urząd Miasta Katowic"},{id:"Katowice-aerial_image",name:"Katowice: Orthophotomap (aerial image)",type:"wms",template:"http://mapserver.um.katowice.pl/services/ortowms/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=2&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,23],polygon:[[[18.90884,50.24006],[18.90851,50.23542],[18.94279,50.23515],[18.94399,50.27138],[18.95469,50.27485],[18.95571,50.2894],[18.96692,50.29364],[18.98752,50.2848],[18.99888,50.2847],[18.99907,50.29368],[18.98892,50.29377],[18.98934,50.30244],[19.0094,50.30196],[19.03401,50.28842],[19.05533,50.30139],[19.07901,50.30087],[19.07908,50.29297],[19.12296,50.27784],[19.12267,50.25523],[19.11079,50.2428],[19.1098,50.17946],[19.12065,50.17936],[19.11957,50.14359],[19.10777,50.14386],[19.0973,50.13916],[19.09656,50.12786],[19.06379,50.12786],[19.02985,50.14009],[19.03007,50.16177],[19.01909,50.16698],[19.00848,50.16707],[18.96329,50.1498],[18.92907,50.15008],[18.92915,50.15426],[18.91854,50.15419],[18.91878,50.20421],[18.90792,50.20429],[18.90808,50.21297],[18.88588,50.21314],[18.88639,50.24024],[18.90884,50.24006]]],terms_text:"Urząd Miasta Katowic"},{id:"kelowna_2012",name:"Kelowna 2012",type:"tms",template:"http://{switch:a,b,c,d}.tile.paulnorman.ca/kelowna2012/{zoom}/{x}/{y}.png",endDate:"2012-05-14T00:00:00.000Z",startDate:"2012-05-13T00:00:00.000Z",zoomExtent:[9,20],polygon:[[[-119.58673,49.79281],[-119.54657,49.79281],[-119.54657,49.80138],[-119.53434,49.80138],[-119.53434,49.80473],[-119.52962,49.80473],[-119.52962,49.81196],[-119.51045,49.81196],[-119.51157,49.87443],[-119.51089,49.87449],[-119.51141,49.88433],[-119.51141,49.92218],[-119.49386,49.92235],[-119.49405,49.9313],[-119.48039,49.93175],[-119.48046,49.94075],[-119.46667,49.94099],[-119.46928,49.99137],[-119.45513,49.99161],[-119.45567,50.01212],[-119.44167,50.01239],[-119.44173,50.01363],[-119.42215,50.01404],[-119.4221,50.01193],[-119.41213,50.01217],[-119.41261,50.02169],[-119.41234,50.02169],[-119.41248,50.02508],[-119.41209,50.02508],[-119.4122,50.02708],[-119.41261,50.02707],[-119.41283,50.03219],[-119.39363,50.03264],[-119.39353,50.03078],[-119.37957,50.03101],[-119.37954,50.02876],[-119.37358,50.02886],[-119.37154,49.97936],[-119.35735,49.97936],[-119.35484,49.92561],[-119.32681,49.92572],[-119.32566,49.88041],[-119.31389,49.88065],[-119.31371,49.87717],[-119.31322,49.87722],[-119.31315,49.87497],[-119.31245,49.87491],[-119.31223,49.87236],[-119.31176,49.87233],[-119.3116,49.86961],[-119.31122,49.86942],[-119.31092,49.86324],[-119.31037,49.86327],[-119.30951,49.85124],[-119.31064,49.85123],[-119.31039,49.84626],[-119.32453,49.846],[-119.3246,49.84507],[-119.3367,49.84488],[-119.33675,49.84351],[-119.33794,49.84347],[-119.3378,49.83821],[-119.33836,49.8381],[-119.33837,49.83512],[-119.33909,49.83511],[-119.3388,49.83212],[-119.33915,49.83206],[-119.33917,49.82933],[-119.33946,49.82933],[-119.33959,49.82679],[-119.35001,49.82658],[-119.34937,49.81806],[-119.4047,49.81638],[-119.40457,49.8099],[-119.41016,49.8099],[-119.41029,49.80728],[-119.43195,49.80691],[-119.43226,49.7908],[-119.44598,49.79055],[-119.44529,49.78202],[-119.49674,49.78116],[-119.49661,49.77849],[-119.54184,49.77751],[-119.54159,49.77183],[-119.55603,49.77149],[-119.55612,49.77184],[-119.57157,49.77151],[-119.57162,49.77173],[-119.58192,49.77149],[-119.58201,49.77177],[-119.5923,49.77152],[-119.59234,49.77181],[-119.60038,49.7716],[-119.60119,49.78391],[-119.58644,49.78439],[-119.58673,49.79281]]],description:"High quality aerial imagery taken for the City of Kelowna"},{id:"kelowna_roads",name:"Kelowna Roads overlay",type:"tms",template:"http://{switch:a,b,c,d}.tile.paulnorman.ca/kelowna_overlay/{zoom}/{x}/{y}.png",zoomExtent:[9,20],polygon:[[[-119.58673,49.79281],[-119.54657,49.79281],[-119.54657,49.80138],[-119.53434,49.80138],[-119.53434,49.80473],[-119.52962,49.80473],[-119.52962,49.81196],[-119.51045,49.81196],[-119.51157,49.87443],[-119.51089,49.87449],[-119.51141,49.88433],[-119.51141,49.92218],[-119.49386,49.92235],[-119.49405,49.9313],[-119.48039,49.93175],[-119.48046,49.94075],[-119.46667,49.94099],[-119.46928,49.99137],[-119.45513,49.99161],[-119.45567,50.01212],[-119.44167,50.01239],[-119.44173,50.01363],[-119.42215,50.01404],[-119.4221,50.01193],[-119.41213,50.01217],[-119.41261,50.02169],[-119.41234,50.02169],[-119.41248,50.02508],[-119.41209,50.02508],[-119.4122,50.02708],[-119.41261,50.02707],[-119.41283,50.03219],[-119.39363,50.03264],[-119.39353,50.03078],[-119.37957,50.03101],[-119.37954,50.02876],[-119.37358,50.02886],[-119.37154,49.97936],[-119.35735,49.97936],[-119.35484,49.92561],[-119.32681,49.92572],[-119.32566,49.88041],[-119.31389,49.88065],[-119.31371,49.87717],[-119.31322,49.87722],[-119.31315,49.87497],[-119.31245,49.87491],[-119.31223,49.87236],[-119.31176,49.87233],[-119.3116,49.86961],[-119.31122,49.86942],[-119.31092,49.86324],[-119.31037,49.86327],[-119.30951,49.85124],[-119.31064,49.85123],[-119.31039,49.84626],[-119.32453,49.846],[-119.3246,49.84507],[-119.3367,49.84488],[-119.33675,49.84351],[-119.33794,49.84347],[-119.3378,49.83821],[-119.33836,49.8381],[-119.33837,49.83512],[-119.33909,49.83511],[-119.3388,49.83212],[-119.33915,49.83206],[-119.33917,49.82933],[-119.33946,49.82933],[-119.33959,49.82679],[-119.35001,49.82658],[-119.34937,49.81806],[-119.4047,49.81638],[-119.40457,49.8099],[-119.41016,49.8099],[-119.41029,49.80728],[-119.43195,49.80691],[-119.43226,49.7908],[-119.44598,49.79055],[-119.44529,49.78202],[-119.49674,49.78116],[-119.49661,49.77849],[-119.54184,49.77751],[-119.54159,49.77183],[-119.55603,49.77149],[-119.55612,49.77184],[-119.57157,49.77151],[-119.57162,49.77173],[-119.58192,49.77149],[-119.58201,49.77177],[-119.5923,49.77152],[-119.59234,49.77181],[-119.60038,49.7716],[-119.60119,49.78391],[-119.58644,49.78439],[-119.58673,49.79281]]],overlay:true},{id:"kystverket-navigasjon",name:"Kystverket Navigational Aid overlay",type:"wms",template:"https://nfs.kystverket.no/arcgis/services/nfs/NFSSistOperativ/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=17,16,15,14,12,10,9,8,7,4&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[12,19],polygon:[[[3.24857,56.08599],[2.60924,56.59428],[1.47215,58.45924],[1.77704,61.36251],[-0.49301,63.88665],[-13.73292,69.76376],[-12.43655,72.58741],[-5.11965,74.39626],[-3.60356,79.12998],[5.85587,82.34863],[34.98861,82.3401],[37.96874,78.62784],[37.99619,75.79673],[36.95796,73.68962],[32.07458,70.27336],[30.3511,69.56882],[21.46179,69.57098],[18.3032,68.36681],[14.47997,66.2558],[11.50266,63.28307],[11.50166,58.95444],[11.08246,58.96771],[10.03051,58.25173],[8.88244,57.69534],[3.24857,56.08599]]],terms_url:"http://kystverket.no/Maritim-infrastruktur/Fyr-og-merker-/",terms_text:"© Kystverket",description:"Beacons, buoys, lights and fairways maintained by the Norwegian Coastal Administration",icon:"https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Coat_of_arms_of_the_Norwegian_Coastal_Administration.svg/143px-Coat_of_arms_of_the_Norwegian_Coastal_Administration.svg.png",overlay:true},{id:"landsat_233055",name:"Landsat 233055",type:"tms",template:"http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_233055/{zoom}/{x}/{y}.png",endDate:"2013-09-03T00:00:00.000Z",startDate:"2013-09-03T00:00:00.000Z",zoomExtent:[5,14],polygon:[[[-60.855,6.1765],[-60.47626,7.91883],[-62.16169,8.27787],[-62.53225,6.53755],[-60.855,6.1765]]],description:"Recent Landsat imagery"},{id:"osmse-ekonomiska",name:"Lantmäteriet Economic Map 1950–1980",type:"tms",template:"https://mapproxy.openstreetmap.se/tms/1.0.0/ek_EPSG3857/{zoom}/{x}/{-y}.jpeg",zoomExtent:[3,17],polygon:[[[12.71117,55.2666],[14.38109,55.29163],[19.65453,57.24934],[19.85228,59.75087],[17.77587,61.13794],[18.06151,62.27815],[20.97289,63.5779],[24.35668,65.60842],[23.96117,66.79191],[20.61034,66.45189],[17.13866,63.96632],[11.99706,61.03702],[12.29369,60.31607],[10.70067,58.81375],[12.71117,55.2666]]],terms_url:"https://www.lantmateriet.se",terms_text:"© Lantmäteriet",description:"Scan of \"Economic maps\" ca. 1950–1980",icon:"https://raw.githubusercontent.com/osmlab/editor-layer-index/gh-pages/sources/europe/se/lantmateriet_icon.png"},{id:"lantmateriet-orto1960",name:"Lantmäteriet Historic Orthophoto 1960",type:"wms",template:"https://api.lantmateriet.se/historiska-ortofoton/wms/v1/token/9b342b7d9f12d4ddb92277be9869d860/?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=OI.Histortho_60&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[5,19],polygon:[[[12.80182,55.19612],[14.22729,55.27286],[18.44604,56.69244],[19.74242,57.98481],[20.0061,59.5371],[19.08394,60.19308],[20.49499,63.2497],[24.25231,65.57437],[23.81835,67.92514],[23.23607,68.34655],[20.43456,69.17038],[18.08349,68.5644],[16.50145,67.88382],[14.43602,66.14275],[11.82128,63.30775],[12.20031,60.31063],[10.62377,58.5482],[12.64251,56.03062],[12.80182,55.19612]]],terms_url:"https://www.lantmateriet.se/",terms_text:"© Lantmäteriet, CC0",description:"Mosaic of Swedish orthophotos from the period 1955–1965. Older and younger pictures may occur.",icon:"https://raw.githubusercontent.com/osmlab/editor-layer-index/gh-pages/sources/europe/se/lantmateriet_icon.png"},{id:"lantmateriet-orto1975",name:"Lantmäteriet Historic Orthophoto 1975",type:"wms",template:"https://api.lantmateriet.se/historiska-ortofoton/wms/v1/token/9b342b7d9f12d4ddb92277be9869d860/?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=OI.Histortho_75&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[5,19],polygon:[[[12.80182,55.19612],[14.22729,55.27286],[18.44604,56.69244],[19.74242,57.98481],[20.0061,59.5371],[17.85131,60.87407],[14.74558,60.53889],[11.60239,59.56416],[10.51799,58.66559],[12.64251,56.03062],[12.80182,55.19612]]],terms_url:"https://www.lantmateriet.se/",terms_text:"© Lantmäteriet, CC0",description:"Mosaic of Swedish orthophotos from the period 1970–1980. Is under construction.",icon:"https://raw.githubusercontent.com/osmlab/editor-layer-index/gh-pages/sources/europe/se/lantmateriet_icon.png"},{id:"lantmateriet-topowebb",name:"Lantmäteriet Topographic Map",type:"tms",template:"https://api.lantmateriet.se/open/topowebb-ccby/v1/wmts/token/9b342b7d9f12d4ddb92277be9869d860/1.0.0/topowebb/default/3857/{zoom}/{y}/{x}.png",zoomExtent:[3,15],polygon:[[[12.80182,55.19612],[14.22729,55.27286],[18.44604,56.69244],[19.74242,57.98481],[20.0061,59.5371],[19.08394,60.19308],[20.49499,63.2497],[24.25231,65.57437],[23.81835,67.92514],[23.23607,68.34655],[20.43456,69.17038],[18.08349,68.5644],[16.50145,67.88382],[14.43602,66.14275],[11.82128,63.30775],[12.20031,60.31063],[10.62377,58.5482],[12.64251,56.03062],[12.80182,55.19612]]],terms_url:"https://www.lantmateriet.se/",terms_text:"© Lantmäteriet, CC0",description:"Topographic map of Sweden 1:50 000",icon:"https://raw.githubusercontent.com/osmlab/editor-layer-index/gh-pages/sources/europe/se/lantmateriet_icon.png"},{id:"lu.geoportail.opendata.ortholatest",name:"Latest available ortho geoportail.lu",type:"tms",template:"https://{switch:wmts1,wmts2}.geoportail.lu/opendata/wmts/ortho_latest/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg",endDate:"2017-06-22T00:00:00.000Z",startDate:"2017-06-14T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,50.17631]]],terms_url:"https://data.public.lu/en/datasets/bd-l-ortho-webservices-wms-et-wmts",terms_text:"Administration du Cadastre et de la Topographie",best:true,icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"landsat_047026",name:"Latest southwest British Columbia Landsat",type:"tms",template:"http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_047026/{zoom}/{x}/{y}.png",endDate:"2013-09-12T00:00:00.000Z",startDate:"2013-09-12T00:00:00.000Z",zoomExtent:[5,13],polygon:[[[-121.93555,47.78206],[-121.57206,48.64101],[-121.20155,49.48462],[-121.83755,49.60232],[-122.4767,49.71617],[-123.11891,49.82688],[-123.76023,49.93358],[-124.08877,49.08705],[-124.41289,48.22526],[-123.79277,48.11973],[-123.17279,48.01096],[-122.55355,47.89823],[-121.93555,47.78206]]],description:"Recent lower-resolution landsat imagery for southwest British Columbia"},{id:"Lausanne-2012",name:"Lausanne - Orthophoto technique 2012",type:"tms",template:"http://osmdata.asitvd.ch/tiles/lausanne2012/{zoom}/{x}/{y}.png",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",zoomExtent:[14,20],polygon:[[[6.66668,46.49441],[6.61637,46.49406],[6.61636,46.49836],[6.60135,46.49825],[6.60131,46.50227],[6.55923,46.50194],[6.55773,46.59687],[6.72895,46.59805],[6.7304,46.49004],[6.67702,46.48978],[6.67703,46.49011],[6.67345,46.49006],[6.67347,46.49041],[6.66672,46.49036],[6.66668,46.49441]]],terms_url:"http://carto.lausanne.ch/lausanne-gc/",terms_text:"Ville de Lausanne - Orthophoto technique 2012"},{id:"linkoping-orto",name:"Linköping Orthophoto",type:"wms",template:"http://kartan.linkoping.se/wms?servicename=wms_ortofoto&FORMAT=image/jpeg&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Kommun_2010_25cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[13,20],polygon:[[[15.36884,58.6305],[15.41279,58.65623],[15.46635,58.6339],[15.54291,58.64408],[15.54119,58.60672],[15.58376,58.6414],[15.7592,58.55267],[15.76675,58.52006],[15.91438,58.51755],[16.08089,58.37148],[15.82718,58.30588],[15.84915,58.21449],[15.65861,58.15513],[15.56763,58.19134],[15.55939,58.14661],[15.50171,58.07679],[15.37777,58.05881],[15.28713,58.1031],[15.27203,58.13483],[15.35889,58.16455],[15.32387,58.38012],[15.24971,58.40027],[15.3582,58.47288],[15.36884,58.6305]]],terms_url:"https://www.linkoping.se/open/",terms_text:"© Linköping municipality",best:true,description:"Orthophotos from the municipality of Linköping 2010, open data",icon:"https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Linköping_vapen.svg/198px-Linköping_vapen.svg.png"},{id:"LINZ_NZ_Aerial_Imagery",name:"LINZ NZ Aerial Imagery",type:"tms",template:"https://map.cazzaserver.com/linz_aerial/{zoom}/{x}/{y}.png",zoomExtent:[0,21],polygon:[[[167.25037,-47.21957],[167.24487,-47.28016],[167.50305,-47.37975],[168.25012,-47.1561],[168.74451,-46.7963],[169.32678,-46.75492],[169.78271,-46.60417],[170.42542,-46.11133],[170.80444,-45.95115],[170.95276,-45.44086],[171.30981,-44.91036],[171.40869,-44.39062],[172.56226,-43.92955],[172.90283,-43.9691],[173.16101,-43.90977],[173.25989,-43.69568],[172.97424,-43.5366],[172.76001,-43.37711],[173.15002,-43.17714],[173.70483,-42.63396],[174.36401,-41.7836],[174.32007,-41.40978],[174.84741,-41.52914],[175.07263,-41.70573],[175.50659,-41.67291],[176.2262,-41.10833],[176.83044,-40.42604],[177.17102,-39.67337],[177.03918,-39.39375],[177.44568,-39.18118],[177.60498,-39.33005],[177.97852,-39.36828],[178.33557,-38.65978],[178.70911,-37.74466],[178.62671,-37.54458],[178.3136,-37.43125],[177.62146,-37.37889],[177.03918,-37.39635],[176.56128,-37.37016],[176.33606,-37.05956],[176.00647,-36.29742],[175.67688,-36.05354],[174.67163,-35.1783],[173.19397,-34.28445],[172.67761,-34.23451],[172.38647,-34.40238],[172.47986,-34.71904],[172.98523,-35.32185],[173.56201,-36.14231],[174.30908,-37.07709],[174.55627,-38.05242],[174.47937,-38.65549],[174.32556,-38.86537],[173.79822,-38.95941],[173.60596,-39.23225],[173.69934,-39.56335],[174.58923,-39.95607],[174.98474,-40.21664],[174.98474,-40.49292],[174.72107,-40.80549],[174.14978,-40.65147],[173.28186,-40.4344],[172.58972,-40.35073],[172.08435,-40.53468],[171.76575,-40.82628],[171.57349,-41.39742],[171.28235,-41.65239],[170.87585,-42.53284],[170.354,-42.87194],[168.27759,-43.92955],[167.6239,-44.47691],[166.55273,-45.38688],[166.27258,-45.91677],[166.48132,-46.22545],[167.67883,-46.47192],[167.25037,-47.21957]]],terms_url:"https://www.linz.govt.nz/data/licensing-and-using-data/attributing-elevation-or-aerial-imagery-data",terms_text:"Sourced from LINZ CC-BY 4.0",best:true,icon:"https://koordinates.a.ssl.fastly.net/media/settings/branding/favicon-lds.ico"},{id:"LINZ_NZ_Topo50_Gridless_Maps",name:"LINZ NZ Topo50 Gridless Maps",type:"tms",template:"https://map.cazzaserver.com/linz_topo/{zoom}/{x}/{y}.png",zoomExtent:[0,21],polygon:[[[167.25037,-47.21957],[167.24487,-47.28016],[167.50305,-47.37975],[168.25012,-47.1561],[168.74451,-46.7963],[169.32678,-46.75492],[169.78271,-46.60417],[170.42542,-46.11133],[170.80444,-45.95115],[170.95276,-45.44086],[171.30981,-44.91036],[171.40869,-44.39062],[172.56226,-43.92955],[172.90283,-43.9691],[173.16101,-43.90977],[173.25989,-43.69568],[172.97424,-43.5366],[172.76001,-43.37711],[173.15002,-43.17714],[173.70483,-42.63396],[174.36401,-41.7836],[174.32007,-41.40978],[174.84741,-41.52914],[175.07263,-41.70573],[175.50659,-41.67291],[176.2262,-41.10833],[176.83044,-40.42604],[177.17102,-39.67337],[177.03918,-39.39375],[177.44568,-39.18118],[177.60498,-39.33005],[177.97852,-39.36828],[178.33557,-38.65978],[178.70911,-37.74466],[178.62671,-37.54458],[178.3136,-37.43125],[177.62146,-37.37889],[177.03918,-37.39635],[176.56128,-37.37016],[176.33606,-37.05956],[176.00647,-36.29742],[175.67688,-36.05354],[174.67163,-35.1783],[173.19397,-34.28445],[172.67761,-34.23451],[172.38647,-34.40238],[172.47986,-34.71904],[172.98523,-35.32185],[173.56201,-36.14231],[174.30908,-37.07709],[174.55627,-38.05242],[174.47937,-38.65549],[174.32556,-38.86537],[173.79822,-38.95941],[173.60596,-39.23225],[173.69934,-39.56335],[174.58923,-39.95607],[174.98474,-40.21664],[174.98474,-40.49292],[174.72107,-40.80549],[174.14978,-40.65147],[173.28186,-40.4344],[172.58972,-40.35073],[172.08435,-40.53468],[171.76575,-40.82628],[171.57349,-41.39742],[171.28235,-41.65239],[170.87585,-42.53284],[170.354,-42.87194],[168.27759,-43.92955],[167.6239,-44.47691],[166.55273,-45.38688],[166.27258,-45.91677],[166.48132,-46.22545],[167.67883,-46.47192],[167.25037,-47.21957]]],terms_url:"https://data.linz.govt.nz/layer/2343-nz-mainland-topo50-gridless-maps",terms_text:"CC BY 4.0 Land Information New Zealand",icon:"https://koordinates.a.ssl.fastly.net/media/settings/branding/favicon-lds.ico"},{id:"ORT10LT",name:"Lithuania - NŽT ORT10LT",type:"tms",template:"https://ort10lt.openmap.lt/g16/{zoom}/{x}/{y}.jpeg",endDate:"2016-01-01T00:00:00.000Z",startDate:"2010-01-01T00:00:00.000Z",zoomExtent:[4,18],polygon:[[[26.21384,55.85075],[26.38583,55.70453],[26.63036,55.68067],[26.62053,55.56892],[26.52422,55.50992],[26.55415,55.38883],[26.43993,55.34794],[26.79197,55.3212],[26.82913,55.27635],[26.74346,55.25399],[26.67648,55.15883],[26.46112,55.12856],[26.35774,55.15054],[26.22963,55.10732],[26.27138,55.07759],[26.20851,54.99741],[26.06191,54.94161],[25.85782,54.9276],[25.74298,54.81506],[25.76261,54.5769],[25.53194,54.34182],[25.67716,54.32381],[25.78573,54.23362],[25.78588,54.15506],[25.55508,54.14619],[25.51095,54.17503],[25.58967,54.22858],[25.51362,54.30785],[25.26893,54.27447],[25.0706,54.13363],[24.95737,54.17206],[24.81338,54.14486],[24.77902,54.09991],[24.87128,54.0349],[24.81957,53.99772],[24.68459,53.96211],[24.69787,54.01714],[24.62591,54.0105],[24.43426,53.90144],[24.35206,53.89679],[24.20161,53.97001],[23.96833,53.9267],[23.91302,53.96968],[23.77812,53.89892],[23.70977,53.93945],[23.53704,53.94307],[23.48224,53.98938],[23.52734,54.04735],[23.48586,54.15323],[23.38679,54.22484],[23.04212,54.31597],[23.01021,54.3828],[22.85469,54.4104],[22.792,54.36332],[22.70234,54.4529],[22.68386,54.58597],[22.74897,54.63198],[22.74297,54.72682],[22.88668,54.8135],[22.8204,54.91198],[22.6424,54.97134],[22.58924,55.07024],[22.0806,55.02448],[22.03241,55.0841],[21.91307,55.08168],[21.64919,55.18081],[21.50151,55.18682],[21.38437,55.2937],[21.27098,55.24501],[21.09836,55.25639],[20.94217,55.28245],[21.08635,55.56183],[21.03995,55.83636],[21.06403,56.06995],[21.20478,56.08117],[21.2308,56.16233],[21.5021,56.2955],[21.72359,56.31382],[21.83566,56.37162],[21.96954,56.37665],[22.0153,56.42428],[22.43727,56.4064],[22.68,56.35159],[22.91917,56.37902],[22.94668,56.41465],[23.09325,56.30464],[23.17034,56.36677],[23.30645,56.38305],[23.55717,56.33382],[23.7648,56.37332],[23.76669,56.32381],[24.019,56.32976],[24.12146,56.2489],[24.28574,56.30064],[24.45415,56.25816],[24.57947,56.28824],[24.62841,56.37533],[24.90238,56.48053],[25.12774,56.20591],[25.57714,56.18241],[25.67312,56.14937],[26.21384,55.85075]]],terms_url:"https://www.geoportal.lt",terms_text:"NŽT ORT10LT",best:true},{id:"mapbox_locator_overlay",name:"Locator Overlay",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/v4/openstreetmap.map-inh76ba2/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJjaml5MjVyb3MwMWV0M3hxYmUzdGdwbzE4In0.q548FjhsSJzvXsGlPsFxAQ",zoomExtent:[0,16],overzoom:false,terms_url:"https://www.mapbox.com/about/maps",terms_text:"Terms & Feedback","default":true,description:"Shows major features to help orient you.",overlay:true},{id:"Lodz-buildings",name:"Łódź: Buildings",type:"wms",template:"http://gis.mapa.lodz.pl/awiskts/services/WMS_publikowane/LODZ/MapServer/WMSServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Budynki,Ulice,Adresy&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[19.55046,51.68509],[19.53843,51.68518],[19.53858,51.68067],[19.50381,51.68085],[19.50351,51.68564],[19.48084,51.68589],[19.48063,51.6815],[19.43517,51.68168],[19.43517,51.67754],[19.41155,51.67791],[19.41214,51.68703],[19.37723,51.68739],[19.37723,51.69172],[19.34216,51.692],[19.34291,51.70544],[19.33132,51.70572],[19.33176,51.71474],[19.31988,51.71493],[19.32077,51.74612],[19.33206,51.74612],[19.33251,51.75513],[19.32107,51.75532],[19.32225,51.79108],[19.31052,51.79126],[19.31141,51.81387],[19.323,51.81359],[19.32389,51.82709],[19.33488,51.82718],[19.33473,51.84481],[19.39342,51.84444],[19.39342,51.84022],[19.42789,51.83985],[19.42834,51.85738],[19.4634,51.85701],[19.4634,51.86133],[19.47499,51.86133],[19.47529,51.86601],[19.52194,51.86509],[19.52238,51.85619],[19.568,51.85582],[19.56785,51.85105],[19.57944,51.85105],[19.57825,51.82397],[19.63649,51.82342],[19.63411,51.76488],[19.65759,51.7647],[19.65714,51.74676],[19.64496,51.74695],[19.64421,51.7152],[19.63337,51.7152],[19.63322,51.70167],[19.62059,51.70167],[19.62044,51.68868],[19.55032,51.68942],[19.55046,51.68509]]],terms_text:"Urząd Miasta Łodzi",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/dOrthophotomap2017(aerialimage).png"},{id:"Lodz-2015",name:"Łódź: Orthophotomap 2015 (aerial image)",type:"wms",template:"http://gis.mapa.lodz.pl/awiskts/services/Ortofotomapa/Ortofotomapa/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[19.55046,51.68509],[19.53843,51.68518],[19.53858,51.68067],[19.50381,51.68085],[19.50351,51.68564],[19.48084,51.68589],[19.48063,51.6815],[19.43517,51.68168],[19.43517,51.67754],[19.41155,51.67791],[19.41214,51.68703],[19.37723,51.68739],[19.37723,51.69172],[19.34216,51.692],[19.34291,51.70544],[19.33132,51.70572],[19.33176,51.71474],[19.31988,51.71493],[19.32077,51.74612],[19.33206,51.74612],[19.33251,51.75513],[19.32107,51.75532],[19.32225,51.79108],[19.31052,51.79126],[19.31141,51.81387],[19.323,51.81359],[19.32389,51.82709],[19.33488,51.82718],[19.33473,51.84481],[19.39342,51.84444],[19.39342,51.84022],[19.42789,51.83985],[19.42834,51.85738],[19.4634,51.85701],[19.4634,51.86133],[19.47499,51.86133],[19.47529,51.86601],[19.52194,51.86509],[19.52238,51.85619],[19.568,51.85582],[19.56785,51.85105],[19.57944,51.85105],[19.57825,51.82397],[19.63649,51.82342],[19.63411,51.76488],[19.65759,51.7647],[19.65714,51.74676],[19.64496,51.74695],[19.64421,51.7152],[19.63337,51.7152],[19.63322,51.70167],[19.62059,51.70167],[19.62044,51.68868],[19.55032,51.68942],[19.55046,51.68509]]],terms_text:"Urząd Miasta Łodzi",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/dOrthophotomap2017(aerialimage).png"},{id:"Lodz-2017",name:"Łódź: Orthophotomap 2017 (aerial image)",type:"wms",template:"https://mapa.lodz.pl/3/services/OGC/Ortofotomapa/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[19.55046,51.68509],[19.53843,51.68518],[19.53858,51.68067],[19.50381,51.68085],[19.50351,51.68564],[19.48084,51.68589],[19.48063,51.6815],[19.43517,51.68168],[19.43517,51.67754],[19.41155,51.67791],[19.41214,51.68703],[19.37723,51.68739],[19.37723,51.69172],[19.34216,51.692],[19.34291,51.70544],[19.33132,51.70572],[19.33176,51.71474],[19.31988,51.71493],[19.32077,51.74612],[19.33206,51.74612],[19.33251,51.75513],[19.32107,51.75532],[19.32225,51.79108],[19.31052,51.79126],[19.31141,51.81387],[19.323,51.81359],[19.32389,51.82709],[19.33488,51.82718],[19.33473,51.84481],[19.39342,51.84444],[19.39342,51.84022],[19.42789,51.83985],[19.42834,51.85738],[19.4634,51.85701],[19.4634,51.86133],[19.47499,51.86133],[19.47529,51.86601],[19.52194,51.86509],[19.52238,51.85619],[19.568,51.85582],[19.56785,51.85105],[19.57944,51.85105],[19.57825,51.82397],[19.63649,51.82342],[19.63411,51.76488],[19.65759,51.7647],[19.65714,51.74676],[19.64496,51.74695],[19.64421,51.7152],[19.63337,51.7152],[19.63322,51.70167],[19.62059,51.70167],[19.62044,51.68868],[19.55032,51.68942],[19.55046,51.68509]]],terms_text:"Urząd Miasta Łodzi",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/dOrthophotomap2017(aerialimage).png"},{id:"Loire_Atlantique-Orthophotos-2012",name:"Loire-Atlantique - Orthophotos 2012 - 20 cm",type:"tms",template:"http://{switch:a,b,c,d,e,f,g,h}.tiles.cg44.makina-corpus.net/ortho-2012/{zoom}/{x}/{-y}.jpg",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",zoomExtent:[0,19],polygon:[[[-1.48638,46.87691],[-1.54437,46.84873],[-1.73468,46.87246],[-1.89276,46.94234],[-1.95475,46.98084],[-2.07067,47.08521],[-2.2678,47.12656],[-2.22627,47.17124],[-2.19217,47.16914],[-2.19341,47.25546],[-2.29694,47.22769],[-2.41658,47.25336],[-2.54862,47.28575],[-2.63913,47.41678],[-2.50573,47.50812],[-2.31063,47.53021],[-2.24836,47.52384],[-2.23223,47.51499],[-2.12109,47.54674],[-2.11783,47.60126],[-2.1001,47.61123],[-2.09981,47.62005],[-2.11141,47.62873],[-2.10055,47.65141],[-2.08121,47.66578],[-1.98016,47.70751],[-1.83077,47.72419],[-1.67455,47.72544],[-1.63735,47.77463],[-1.49601,47.81752],[-1.49911,47.84166],[-1.38133,47.84415],[-1.346,47.81086],[-1.23007,47.78587],[-1.21643,47.75838],[-1.22635,47.73628],[-1.21086,47.7317],[-1.18668,47.73462],[-1.15196,47.69332],[-1.13151,47.63654],[-1.09121,47.6332],[-0.99265,47.6027],[-0.98459,47.58598],[-1.0317,47.55001],[-1.13585,47.55628],[-1.13275,47.5161],[-1.0317,47.51778],[-0.94863,47.50103],[-0.93686,47.47715],[-0.93376,47.43859],[-0.9009,47.39874],[-0.92694,47.37482],[-0.97157,47.35845],[-1.28339,47.32736],[-1.23379,47.26093],[-1.20032,47.26935],[-1.16498,47.24957],[-1.14143,47.1763],[-1.1563,47.15818],[-1.20652,47.12402],[-1.20838,47.10968],[-1.15568,47.10504],[-1.14081,47.08056],[-1.09431,47.0717],[-1.09989,47.03199],[-1.14453,47.01636],[-1.21582,47.02904],[-1.26727,47.06325],[-1.28524,47.02185],[-1.34972,47.02397],[-1.33918,46.969],[-1.3491,46.94446],[-1.45014,46.91186],[-1.47504,46.9176],[-1.48775,46.93063],[-1.49235,46.98433],[-1.48644,46.99943],[-1.49213,47.02722],[-1.52764,47.00541],[-1.52961,46.97252],[-1.50507,46.94439],[-1.50222,46.92973],[-1.51142,46.91371],[-1.48622,46.89724],[-1.48638,46.87691]]],terms_url:"http://data2.loire-atlantique.fr/licences/",terms_text:"Département de Loire-Atlantique"},{id:"Loire_Atlantique-Orthophotos-2016",name:"Loire-Atlantique - Orthophotos 2016 - 10 cm",type:"wms",template:"https://wms-vuduciel2.makina-corpus.net/geoserver/wms?SERVICE=WMS&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=cg44:ortho44-2016&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[-1.48638,46.87691],[-1.54437,46.84873],[-1.73468,46.87246],[-1.89276,46.94234],[-1.95475,46.98084],[-2.07067,47.08521],[-2.2678,47.12656],[-2.22627,47.17124],[-2.19217,47.16914],[-2.19341,47.25546],[-2.29694,47.22769],[-2.41658,47.25336],[-2.54862,47.28575],[-2.63913,47.41678],[-2.50573,47.50812],[-2.31063,47.53021],[-2.24836,47.52384],[-2.23223,47.51499],[-2.12109,47.54674],[-2.11783,47.60126],[-2.1001,47.61123],[-2.09981,47.62005],[-2.11141,47.62873],[-2.10055,47.65141],[-2.08121,47.66578],[-1.98016,47.70751],[-1.83077,47.72419],[-1.67455,47.72544],[-1.63735,47.77463],[-1.49601,47.81752],[-1.49911,47.84166],[-1.38133,47.84415],[-1.346,47.81086],[-1.23007,47.78587],[-1.21643,47.75838],[-1.22635,47.73628],[-1.21086,47.7317],[-1.18668,47.73462],[-1.15196,47.69332],[-1.13151,47.63654],[-1.09121,47.6332],[-0.99265,47.6027],[-0.98459,47.58598],[-1.0317,47.55001],[-1.13585,47.55628],[-1.13275,47.5161],[-1.0317,47.51778],[-0.94863,47.50103],[-0.93686,47.47715],[-0.93376,47.43859],[-0.9009,47.39874],[-0.92694,47.37482],[-0.97157,47.35845],[-1.28339,47.32736],[-1.23379,47.26093],[-1.20032,47.26935],[-1.16498,47.24957],[-1.14143,47.1763],[-1.1563,47.15818],[-1.20652,47.12402],[-1.20838,47.10968],[-1.15568,47.10504],[-1.14081,47.08056],[-1.09431,47.0717],[-1.09989,47.03199],[-1.14453,47.01636],[-1.21582,47.02904],[-1.26727,47.06325],[-1.28524,47.02185],[-1.34972,47.02397],[-1.33918,46.969],[-1.3491,46.94446],[-1.45014,46.91186],[-1.47504,46.9176],[-1.48775,46.93063],[-1.49235,46.98433],[-1.48644,46.99943],[-1.49213,47.02722],[-1.52764,47.00541],[-1.52961,46.97252],[-1.50507,46.94439],[-1.50222,46.92973],[-1.51142,46.91371],[-1.48622,46.89724],[-1.48638,46.87691]]],terms_url:"http://data2.loire-atlantique.fr/licences/",terms_text:"© Loire-Atlantique ouverture des données publiques"},{id:"Lombardia-Italy-CTR-DBT",name:"Lombardia - Italy (CTR DBT)",type:"wms",template:"https://www.cartografia.servizirl.it/arcgis/services/wms/ctr_wms/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Sfondo%20C.T.R.%2010000&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[8.4816,45.28938],[8.63085,45.01372],[8.78009,44.98189],[8.86775,45.02712],[9.07148,44.80063],[9.14966,44.79055],[9.19467,44.67106],[9.31549,44.65758],[9.36997,44.698],[9.37945,44.82752],[9.33207,44.91483],[9.41025,45.03716],[9.78692,45.04386],[9.78692,45.00032],[9.93853,45.002],[9.93379,45.08903],[10.00013,45.09071],[10.00013,44.99697],[10.20149,45.002],[10.20149,44.95004],[10.40523,44.9534],[10.40523,44.90476],[10.49288,44.90308],[10.49288,44.8628],[10.6516,44.85776],[10.64686,44.90308],[11.35282,44.89469],[11.35519,44.93663],[11.45706,44.93328],[11.44758,44.97351],[11.3623,45.00032],[11.35282,45.09238],[11.25806,45.09572],[11.25806,45.13752],[11.16094,45.14253],[11.16094,45.18262],[11.05196,45.19097],[11.05196,45.23436],[10.9572,45.23269],[10.9572,45.28605],[10.8577,45.28438],[10.85534,45.32271],[10.74636,45.32937],[10.75347,45.47408],[10.64686,45.48073],[10.60301,45.51074],[10.57636,45.47379],[10.53549,45.50036],[10.59116,45.53148],[10.61666,45.61304],[10.87429,45.84001],[10.82217,45.85982],[10.67529,45.85817],[10.57342,45.8103],[10.58624,46.00773],[10.5016,46.01596],[10.59325,46.11529],[10.60896,46.35583],[10.65634,46.38688],[10.64686,46.46037],[10.4147,46.57285],[10.32705,46.56797],[10.25124,46.65422],[10.07357,46.62494],[10.02382,46.53212],[10.02855,46.43588],[10.07357,46.39832],[10.12095,46.39669],[10.0783,46.32802],[10.14464,46.26582],[10.10436,46.24781],[9.97407,46.40812],[9.71111,46.3689],[9.68742,46.32312],[9.61872,46.30675],[9.55712,46.32475],[9.50264,46.39015],[9.47895,46.5256],[9.25626,46.51582],[9.22546,46.44078],[9.27284,46.34438],[9.17098,46.19044],[9.04305,46.12808],[9.062,46.09195],[8.97435,46.04593],[8.98856,46.00152],[8.93882,45.97354],[9.04068,45.8961],[9.01936,45.84827],[8.84879,46.0081],[8.89854,46.07059],[8.8251,46.11823],[8.70902,46.11659],[8.67823,46.07552],[8.7185,46.01468],[8.55504,45.90434],[8.59768,45.83836],[8.53372,45.79378],[8.6877,45.49235],[8.78009,45.41591],[8.68533,45.37931],[8.71139,45.34103],[8.69481,45.32104],[8.62848,45.37765],[8.5124,45.35768],[8.4816,45.28938]]],terms_url:"https://www.dati.gov.it/content/italian-open-data-license-v20",terms_text:"CTR DBT 10000 Regione Lombardia"},{id:"Lombardia-Italy-CTR",name:"Lombardia - Italy (CTR)",type:"wms",template:"https://www.cartografia.regione.lombardia.it/ArcGIS10/services/wms/ctr_wms/MapServer/WMSServer?STYLES=&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=0&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[8.4816,45.28938],[8.63085,45.01372],[8.78009,44.98189],[8.86775,45.02712],[9.07148,44.80063],[9.14966,44.79055],[9.19467,44.67106],[9.31549,44.65758],[9.36997,44.698],[9.37945,44.82752],[9.33207,44.91483],[9.41025,45.03716],[9.78692,45.04386],[9.78692,45.00032],[9.93853,45.002],[9.93379,45.08903],[10.00013,45.09071],[10.00013,44.99697],[10.20149,45.002],[10.20149,44.95004],[10.40523,44.9534],[10.40523,44.90476],[10.49288,44.90308],[10.49288,44.8628],[10.6516,44.85776],[10.64686,44.90308],[11.35282,44.89469],[11.35519,44.93663],[11.45706,44.93328],[11.44758,44.97351],[11.3623,45.00032],[11.35282,45.09238],[11.25806,45.09572],[11.25806,45.13752],[11.16094,45.14253],[11.16094,45.18262],[11.05196,45.19097],[11.05196,45.23436],[10.9572,45.23269],[10.9572,45.28605],[10.8577,45.28438],[10.85534,45.32271],[10.74636,45.32937],[10.75347,45.47408],[10.64686,45.48073],[10.60301,45.51074],[10.57636,45.47379],[10.53549,45.50036],[10.59116,45.53148],[10.61666,45.61304],[10.87429,45.84001],[10.82217,45.85982],[10.67529,45.85817],[10.57342,45.8103],[10.58624,46.00773],[10.5016,46.01596],[10.59325,46.11529],[10.60896,46.35583],[10.65634,46.38688],[10.64686,46.46037],[10.4147,46.57285],[10.32705,46.56797],[10.25124,46.65422],[10.07357,46.62494],[10.02382,46.53212],[10.02855,46.43588],[10.07357,46.39832],[10.12095,46.39669],[10.0783,46.32802],[10.14464,46.26582],[10.10436,46.24781],[9.97407,46.40812],[9.71111,46.3689],[9.68742,46.32312],[9.61872,46.30675],[9.55712,46.32475],[9.50264,46.39015],[9.47895,46.5256],[9.25626,46.51582],[9.22546,46.44078],[9.27284,46.34438],[9.17098,46.19044],[9.04305,46.12808],[9.062,46.09195],[8.97435,46.04593],[8.98856,46.00152],[8.93882,45.97354],[9.04068,45.8961],[9.01936,45.84827],[8.84879,46.0081],[8.89854,46.07059],[8.8251,46.11823],[8.70902,46.11659],[8.67823,46.07552],[8.7185,46.01468],[8.55504,45.90434],[8.59768,45.83836],[8.53372,45.79378],[8.6877,45.49235],[8.78009,45.41591],[8.68533,45.37931],[8.71139,45.34103],[8.69481,45.32104],[8.62848,45.37765],[8.5124,45.35768],[8.4816,45.28938]]],terms_url:"https://www.dati.gov.it/content/italian-open-data-license-v20",terms_text:"Regione Lombardia - Infrastruttura per l'informazione territoriale"},{id:"londrina2011",name:"Londrina Ortofoto 2011",type:"tms",template:"https://siglon.londrina.pr.gov.br/arcgis/rest/services/Imagens/Ortofotos_2011_Paranacidade/MapServer/WMTS/tile/1.0.0/Imagens_Ortofotos_2011_Paranacidade/default/GoogleMapsCompatible/{zoom}/{y}/{x}",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",zoomExtent:[0,19],polygon:[[[-51.10903,-23.39275],[-51.11015,-23.39112],[-51.11198,-23.3896],[-51.11358,-23.38977],[-51.121,-23.38593],[-51.12225,-23.38511],[-51.12483,-23.3835],[-51.12538,-23.38187],[-51.12482,-23.3777],[-51.12446,-23.37505],[-51.12437,-23.3723],[-51.12244,-23.37033],[-51.12302,-23.36643],[-51.12856,-23.36548],[-51.12832,-23.35884],[-51.12477,-23.35476],[-51.12703,-23.35091],[-51.12412,-23.3468],[-51.12025,-23.34781],[-51.11765,-23.33969],[-51.11265,-23.34129],[-51.1094,-23.33489],[-51.10756,-23.33409],[-51.10486,-23.33398],[-51.10253,-23.33419],[-51.09987,-23.33102],[-51.09801,-23.32936],[-51.09999,-23.32831],[-51.10323,-23.32532],[-51.10473,-23.32319],[-51.10466,-23.32129],[-51.10515,-23.31844],[-51.10636,-23.31575],[-51.10661,-23.31467],[-51.1105,-23.31167],[-51.11158,-23.30842],[-51.0995,-23.30947],[-51.0974,-23.30863],[-51.09512,-23.30745],[-51.09202,-23.30494],[-51.09036,-23.30371],[-51.09205,-23.29875],[-51.09269,-23.2975],[-51.09408,-23.29295],[-51.10074,-23.29332],[-51.10102,-23.28871],[-51.10068,-23.28837],[-51.10085,-23.28778],[-51.09938,-23.28664],[-51.09632,-23.27791],[-51.10285,-23.27302],[-51.10836,-23.27034],[-51.1131,-23.2684],[-51.1316,-23.26534],[-51.13188,-23.26201],[-51.13173,-23.25506],[-51.1329,-23.25468],[-51.13296,-23.25075],[-51.13474,-23.25127],[-51.13534,-23.25133],[-51.13517,-23.24359],[-51.13535,-23.24118],[-51.13752,-23.24219],[-51.13885,-23.2435],[-51.14109,-23.24521],[-51.14717,-23.24318],[-51.14761,-23.23828],[-51.14908,-23.23588],[-51.14977,-23.23681],[-51.15139,-23.23854],[-51.15289,-23.23884],[-51.15384,-23.23895],[-51.1582,-23.23814],[-51.16045,-23.23816],[-51.16035,-23.24658],[-51.15912,-23.24783],[-51.16131,-23.24777],[-51.16659,-23.24594],[-51.17193,-23.24582],[-51.17205,-23.24956],[-51.17424,-23.2484],[-51.17514,-23.24932],[-51.17686,-23.24816],[-51.17947,-23.25169],[-51.18135,-23.25381],[-51.18274,-23.25363],[-51.18379,-23.25326],[-51.18496,-23.2533],[-51.18627,-23.25215],[-51.18665,-23.24748],[-51.19118,-23.24914],[-51.19142,-23.25286],[-51.19369,-23.25278],[-51.19384,-23.26074],[-51.20097,-23.26055],[-51.20127,-23.2426],[-51.20994,-23.24278],[-51.2109,-23.26988],[-51.21969,-23.27222],[-51.22597,-23.27453],[-51.22934,-23.2786],[-51.23452,-23.2816],[-51.23498,-23.28325],[-51.23507,-23.28544],[-51.23371,-23.2859],[-51.23216,-23.28802],[-51.2287,-23.29229],[-51.2274,-23.2946],[-51.22679,-23.29548],[-51.2256,-23.29657],[-51.22393,-23.29721],[-51.22048,-23.30073],[-51.21864,-23.3013],[-51.21668,-23.30212],[-51.21424,-23.30441],[-51.21097,-23.30697],[-51.22328,-23.3183],[-51.22439,-23.31459],[-51.22521,-23.31289],[-51.22512,-23.31258],[-51.22521,-23.31251],[-51.22553,-23.31253],[-51.22595,-23.31239],[-51.22617,-23.31183],[-51.22936,-23.31489],[-51.22802,-23.31661],[-51.22789,-23.31902],[-51.22767,-23.32023],[-51.22723,-23.32151],[-51.22739,-23.32223],[-51.22725,-23.32285],[-51.23033,-23.32558],[-51.23046,-23.32671],[-51.22954,-23.32789],[-51.22916,-23.3305],[-51.22929,-23.33178],[-51.22681,-23.33447],[-51.22602,-23.33657],[-51.22473,-23.33839],[-51.2221,-23.34023],[-51.22257,-23.34196],[-51.22381,-23.34339],[-51.22384,-23.34531],[-51.22441,-23.347],[-51.22454,-23.34829],[-51.22404,-23.34968],[-51.22351,-23.35011],[-51.22382,-23.35077],[-51.22305,-23.35174],[-51.2226,-23.35296],[-51.22587,-23.35481],[-51.2265,-23.36706],[-51.22354,-23.36915],[-51.22367,-23.37968],[-51.22038,-23.38163],[-51.21647,-23.3817],[-51.21416,-23.37995],[-51.20928,-23.37395],[-51.20738,-23.36814],[-51.20629,-23.36723],[-51.20472,-23.36627],[-51.19823,-23.36668],[-51.19297,-23.36651],[-51.18986,-23.36544],[-51.18806,-23.36464],[-51.18718,-23.36453],[-51.1858,-23.36374],[-51.18304,-23.36359],[-51.18071,-23.36376],[-51.17907,-23.36158],[-51.17764,-23.35836],[-51.16684,-23.35626],[-51.16614,-23.35854],[-51.16476,-23.36039],[-51.16077,-23.35922],[-51.15983,-23.3666],[-51.16204,-23.36861],[-51.16276,-23.37416],[-51.15845,-23.3758],[-51.15505,-23.37631],[-51.15396,-23.37903],[-51.15299,-23.38105],[-51.15119,-23.38208],[-51.14917,-23.38251],[-51.14722,-23.38216],[-51.14518,-23.38259],[-51.1441,-23.38376],[-51.14512,-23.38808],[-51.1418,-23.3894],[-51.14031,-23.3888],[-51.14068,-23.39161],[-51.14127,-23.39354],[-51.14094,-23.39443],[-51.14046,-23.39536],[-51.13939,-23.3951],[-51.13739,-23.39315],[-51.13609,-23.3898],[-51.13429,-23.38976],[-51.13216,-23.39007],[-51.13172,-23.39286],[-51.12259,-23.38864],[-51.12228,-23.39166],[-51.11883,-23.39317],[-51.11568,-23.39335],[-51.10903,-23.39275]],[[-51.13829,-23.41601],[-51.13331,-23.41867],[-51.13209,-23.41644],[-51.13002,-23.41829],[-51.12869,-23.41901],[-51.12824,-23.42103],[-51.12696,-23.42186],[-51.12533,-23.42269],[-51.12445,-23.42097],[-51.12151,-23.42411],[-51.12063,-23.42327],[-51.11971,-23.42312],[-51.11977,-23.42157],[-51.1188,-23.42155],[-51.11643,-23.42084],[-51.11943,-23.41917],[-51.11787,-23.41678],[-51.11655,-23.41731],[-51.1157,-23.4157],[-51.11512,-23.41309],[-51.11908,-23.41111],[-51.1196,-23.4117],[-51.12052,-23.41489],[-51.12148,-23.41714],[-51.12309,-23.41863],[-51.12755,-23.41654],[-51.12803,-23.4174],[-51.1312,-23.41557],[-51.1308,-23.41477],[-51.13279,-23.41264],[-51.13522,-23.41106],[-51.13586,-23.41096],[-51.13682,-23.41119],[-51.13721,-23.41158],[-51.1373,-23.41324],[-51.13743,-23.41471],[-51.13829,-23.41601]],[[-51.18929,-23.61469],[-51.18869,-23.61385],[-51.18818,-23.61339],[-51.18731,-23.61302],[-51.18629,-23.61314],[-51.18402,-23.61396],[-51.18349,-23.61397],[-51.18183,-23.61284],[-51.1814,-23.61344],[-51.18063,-23.61314],[-51.18001,-23.61409],[-51.17866,-23.61329],[-51.18065,-23.6106],[-51.17972,-23.61018],[-51.18062,-23.60849],[-51.18212,-23.6085],[-51.18261,-23.60775],[-51.1832,-23.60804],[-51.18415,-23.60628],[-51.18511,-23.60666],[-51.18649,-23.6047],[-51.18902,-23.6061],[-51.18821,-23.60742],[-51.18919,-23.60802],[-51.1889,-23.60953],[-51.18962,-23.60993],[-51.19119,-23.61119],[-51.19015,-23.61245],[-51.19054,-23.61276],[-51.19029,-23.61378],[-51.18929,-23.61469]],[[-51.08006,-23.52984],[-51.07962,-23.52205],[-51.08468,-23.52194],[-51.08582,-23.52404],[-51.08589,-23.52704],[-51.08579,-23.52777],[-51.0853,-23.52806],[-51.08514,-23.52857],[-51.08512,-23.52982],[-51.08471,-23.53024],[-51.08343,-23.53024],[-51.0833,-23.52978],[-51.08006,-23.52984]]],terms_url:"http://siglon.londrina.pr.gov.br",terms_text:"Prefeitura do Londrinas, PR"},{id:"LPI_NSW_Administrative_Boundaries_County",name:"LPI NSW Administrative Boundaries County",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=4&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",zoomExtent:[1,21],polygon:[[[159.00339,-31.48767],[159.03789,-31.70558],[159.31098,-31.85952],[159.37278,-31.77892],[159.17443,-31.4374],[159.00339,-31.48767]],[[140.99865,-28.99893],[148.9452,-28.99487],[149.48562,-28.5615],[150.29914,-28.53373],[151.0954,-28.71792],[151.39436,-28.97978],[151.98941,-28.73557],[151.92904,-28.49836],[152.49246,-28.2353],[153.57907,-28.14156],[153.69692,-28.64983],[153.25847,-30.97354],[152.75437,-32.50849],[151.90879,-33.05535],[151.25834,-34.38081],[151.01442,-35.11568],[150.46154,-36.1203],[150.41275,-36.61786],[149.97847,-37.507],[148.20135,-36.80566],[148.07918,-36.81716],[147.88542,-36.09019],[147.69029,-36.04418],[146.82844,-36.18868],[145.23484,-35.98499],[144.84457,-36.21492],[144.51935,-36.1296],[143.20218,-35.13174],[142.47856,-34.81194],[140.9937,-34.07017],[141.0026,-34.01974],[140.99865,-28.99893]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2019",icon:"http://spatialservices.finance.nsw.gov.au/__data/assets/file/0010/210520/favicon.ico",overlay:true},{id:"LPI_NSW_Administrative_Boundaries_LGA",name:"LPI NSW Administrative Boundaries LGA",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=6&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",zoomExtent:[1,21],polygon:[[[159.00339,-31.48767],[159.03789,-31.70558],[159.31098,-31.85952],[159.37278,-31.77892],[159.17443,-31.4374],[159.00339,-31.48767]],[[140.99865,-28.99893],[148.9452,-28.99487],[149.48562,-28.5615],[150.29914,-28.53373],[151.0954,-28.71792],[151.39436,-28.97978],[151.98941,-28.73557],[151.92904,-28.49836],[152.49246,-28.2353],[153.57907,-28.14156],[153.69692,-28.64983],[153.25847,-30.97354],[152.75437,-32.50849],[151.90879,-33.05535],[151.25834,-34.38081],[151.01442,-35.11568],[150.46154,-36.1203],[150.41275,-36.61786],[149.97847,-37.507],[148.20135,-36.80566],[148.07918,-36.81716],[147.88542,-36.09019],[147.69029,-36.04418],[146.82844,-36.18868],[145.23484,-35.98499],[144.84457,-36.21492],[144.51935,-36.1296],[143.20218,-35.13174],[142.47856,-34.81194],[140.9937,-34.07017],[141.0026,-34.01974],[140.99865,-28.99893]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2019",icon:"http://spatialservices.finance.nsw.gov.au/__data/assets/file/0010/210520/favicon.ico",overlay:true},{id:"LPI_NSW_Administrative_Boundaries_NPWS_Reserve",name:"LPI NSW Administrative Boundaries NPWS Reserve",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=1&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",zoomExtent:[1,21],polygon:[[[159.00339,-31.48767],[159.03789,-31.70558],[159.31098,-31.85952],[159.37278,-31.77892],[159.17443,-31.4374],[159.00339,-31.48767]],[[140.99865,-28.99893],[148.9452,-28.99487],[149.48562,-28.5615],[150.29914,-28.53373],[151.0954,-28.71792],[151.39436,-28.97978],[151.98941,-28.73557],[151.92904,-28.49836],[152.49246,-28.2353],[153.57907,-28.14156],[153.69692,-28.64983],[153.25847,-30.97354],[152.75437,-32.50849],[151.90879,-33.05535],[151.25834,-34.38081],[151.01442,-35.11568],[150.46154,-36.1203],[150.41275,-36.61786],[149.97847,-37.507],[148.20135,-36.80566],[148.07918,-36.81716],[147.88542,-36.09019],[147.69029,-36.04418],[146.82844,-36.18868],[145.23484,-35.98499],[144.84457,-36.21492],[144.51935,-36.1296],[143.20218,-35.13174],[142.47856,-34.81194],[140.9937,-34.07017],[141.0026,-34.01974],[140.99865,-28.99893]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2019",icon:"http://spatialservices.finance.nsw.gov.au/__data/assets/file/0010/210520/favicon.ico",overlay:true},{id:"LPI_NSW_Administrative_Boundaries_Parish",name:"LPI NSW Administrative Boundaries Parish",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=3&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",zoomExtent:[1,21],polygon:[[[159.00339,-31.48767],[159.03789,-31.70558],[159.31098,-31.85952],[159.37278,-31.77892],[159.17443,-31.4374],[159.00339,-31.48767]],[[140.99865,-28.99893],[148.9452,-28.99487],[149.48562,-28.5615],[150.29914,-28.53373],[151.0954,-28.71792],[151.39436,-28.97978],[151.98941,-28.73557],[151.92904,-28.49836],[152.49246,-28.2353],[153.57907,-28.14156],[153.69692,-28.64983],[153.25847,-30.97354],[152.75437,-32.50849],[151.90879,-33.05535],[151.25834,-34.38081],[151.01442,-35.11568],[150.46154,-36.1203],[150.41275,-36.61786],[149.97847,-37.507],[148.20135,-36.80566],[148.07918,-36.81716],[147.88542,-36.09019],[147.69029,-36.04418],[146.82844,-36.18868],[145.23484,-35.98499],[144.84457,-36.21492],[144.51935,-36.1296],[143.20218,-35.13174],[142.47856,-34.81194],[140.9937,-34.07017],[141.0026,-34.01974],[140.99865,-28.99893]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2019",icon:"http://spatialservices.finance.nsw.gov.au/__data/assets/file/0010/210520/favicon.ico",overlay:true},{id:"LPI_NSW_Administrative_Boundaries_StateForest",name:"LPI NSW Administrative Boundaries State Forest",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=2&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",zoomExtent:[1,21],polygon:[[[159.00339,-31.48767],[159.03789,-31.70558],[159.31098,-31.85952],[159.37278,-31.77892],[159.17443,-31.4374],[159.00339,-31.48767]],[[140.99865,-28.99893],[148.9452,-28.99487],[149.48562,-28.5615],[150.29914,-28.53373],[151.0954,-28.71792],[151.39436,-28.97978],[151.98941,-28.73557],[151.92904,-28.49836],[152.49246,-28.2353],[153.57907,-28.14156],[153.69692,-28.64983],[153.25847,-30.97354],[152.75437,-32.50849],[151.90879,-33.05535],[151.25834,-34.38081],[151.01442,-35.11568],[150.46154,-36.1203],[150.41275,-36.61786],[149.97847,-37.507],[148.20135,-36.80566],[148.07918,-36.81716],[147.88542,-36.09019],[147.69029,-36.04418],[146.82844,-36.18868],[145.23484,-35.98499],[144.84457,-36.21492],[144.51935,-36.1296],[143.20218,-35.13174],[142.47856,-34.81194],[140.9937,-34.07017],[141.0026,-34.01974],[140.99865,-28.99893]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2019",icon:"http://spatialservices.finance.nsw.gov.au/__data/assets/file/0010/210520/favicon.ico",overlay:true},{id:"LPI_NSW_Administrative_Boundaries_Suburb",name:"LPI NSW Administrative Boundaries Suburb",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=7&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",zoomExtent:[1,21],polygon:[[[159.00339,-31.48767],[159.03789,-31.70558],[159.31098,-31.85952],[159.37278,-31.77892],[159.17443,-31.4374],[159.00339,-31.48767]],[[140.99865,-28.99893],[148.9452,-28.99487],[149.48562,-28.5615],[150.29914,-28.53373],[151.0954,-28.71792],[151.39436,-28.97978],[151.98941,-28.73557],[151.92904,-28.49836],[152.49246,-28.2353],[153.57907,-28.14156],[153.69692,-28.64983],[153.25847,-30.97354],[152.75437,-32.50849],[151.90879,-33.05535],[151.25834,-34.38081],[151.01442,-35.11568],[150.46154,-36.1203],[150.41275,-36.61786],[149.97847,-37.507],[148.20135,-36.80566],[148.07918,-36.81716],[147.88542,-36.09019],[147.69029,-36.04418],[146.82844,-36.18868],[145.23484,-35.98499],[144.84457,-36.21492],[144.51935,-36.1296],[143.20218,-35.13174],[142.47856,-34.81194],[140.9937,-34.07017],[141.0026,-34.01974],[140.99865,-28.99893]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2019",icon:"http://spatialservices.finance.nsw.gov.au/__data/assets/file/0010/210520/favicon.ico",overlay:true},{id:"NSW_LPI_BaseMap",name:"LPI NSW Base Map",type:"tms",template:"https://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Base_Map/MapServer/tile/{zoom}/{y}/{x}",zoomExtent:[1,19],polygon:[[[140.99486,-28.95297],[148.96114,-28.89977],[148.98701,-28.48623],[151.01361,-28.47865],[151.10847,-28.70329],[151.87599,-28.68312],[151.93348,-28.40788],[152.25544,-28.23327],[153.06608,-28.21047],[153.14082,-28.1091],[153.47351,-28.11648],[153.35765,-27.69361],[159.49383,-27.69925],[159.4857,-37.84741],[149.52569,-37.82815],[149.91596,-37.487],[148.04859,-36.81317],[147.9681,-36.15679],[146.71477,-36.28666],[145.30046,-36.15679],[144.53007,-36.14751],[142.8398,-35.02543],[142.35686,-34.78025],[141.97741,-34.40162],[140.99503,-34.13718],[140.99486,-28.95297]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2019",icon:"http://spatialservices.finance.nsw.gov.au/__data/assets/file/0010/210520/favicon.ico"},{id:"NSW_LPI_Imagery",name:"LPI NSW Imagery",type:"tms",template:"https://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Imagery/MapServer/tile/{zoom}/{y}/{x}",zoomExtent:[1,21],polygon:[[[140.98687,-28.98878],[148.99515,-28.97275],[148.99667,-28.49151],[151.0029,-28.49307],[151.0029,-28.72617],[151.49151,-28.73239],[151.49187,-28.71553],[151.92282,-28.71964],[151.92516,-28.48971],[151.99559,-28.48987],[151.99899,-28.11927],[152.49676,-28.12209],[152.49682,-28.11464],[153.00446,-28.11544],[153.00446,-28.1204],[153.50386,-28.11934],[153.50393,-28.12271],[153.59194,-28.12236],[153.59266,-28.17769],[153.61112,-28.17579],[153.61139,-28.18252],[153.74268,-28.21621],[153.77873,-28.71091],[152.6238,-32.58772],[152.3124,-32.63288],[151.41419,-33.57904],[150.89299,-35.26487],[150.46207,-35.77773],[150.01565,-37.51036],[149.99181,-37.51268],[149.51978,-37.51307],[149.51996,-37.52169],[149.4463,-37.53537],[149.06334,-37.5358],[148.98366,-37.52176],[148.98169,-37.5192],[148.98638,-37.2585],[148.48754,-37.26585],[148.48248,-37.00927],[147.99439,-37.01434],[147.98829,-36.53322],[147.95297,-36.52607],[147.94865,-36.0686],[147.5035,-36.07168],[147.50477,-36.2651],[146.492,-36.26613],[146.49225,-36.2565],[145.99298,-36.25343],[145.99659,-36.01881],[145.98316,-36.01871],[145.96245,-36.0219],[145.94624,-36.01209],[145.94543,-36.00603],[145.50415,-36.00136],[145.50379,-36.01091],[145.0072,-36.00362],[145.00354,-36.15204],[144.48608,-36.14231],[144.48741,-36.01375],[143.98747,-36.00241],[143.99329,-35.57238],[143.49717,-35.58371],[143.4918,-35.40656],[143.46134,-35.36749],[143.45856,-35.35559],[143.48978,-35.33965],[143.48955,-35.33221],[143.4317,-35.25706],[143.25055,-35.26066],[143.24384,-35.01327],[142.99333,-35.01772],[142.99198,-34.79619],[142.49714,-34.80323],[142.49732,-34.80076],[142.42114,-34.80176],[142.42092,-34.78383],[142.23309,-34.78592],[142.23077,-34.78075],[142.227,-34.50613],[141.99753,-34.50837],[141.9946,-34.25267],[141.49823,-34.25569],[141.49817,-34.25228],[140.99454,-34.25284],[140.98687,-28.98878]],[[159.22678,-31.74407],[159.26398,-31.74399],[159.28989,-31.77428],[159.28993,-31.79393],[159.26157,-31.79395],[159.22682,-31.75483],[159.22678,-31.74407]],[[159.03784,-31.49819],[159.04448,-31.5006],[159.04619,-31.49734],[159.04888,-31.49829],[159.04884,-31.48423],[159.06882,-31.48423],[159.06991,-31.482],[159.08317,-31.48203],[159.08203,-31.48434],[159.08205,-31.49567],[159.08564,-31.49703],[159.08383,-31.50058],[159.09007,-31.5026],[159.08682,-31.50859],[159.09433,-31.51136],[159.09174,-31.51585],[159.09537,-31.51724],[159.10276,-31.52611],[159.1161,-31.53006],[159.11422,-31.5342],[159.11875,-31.53417],[159.1193,-31.54888],[159.12618,-31.55796],[159.11841,-31.56323],[159.11553,-31.55983],[159.1115,-31.55983],[159.11154,-31.60158],[159.08954,-31.6016],[159.08626,-31.60845],[159.07954,-31.60611],[159.07714,-31.61149],[159.05943,-31.61155],[159.05296,-31.60369],[159.05893,-31.59087],[159.05891,-31.57897],[159.05541,-31.57773],[159.05735,-31.57387],[159.05585,-31.57333],[159.05038,-31.57335],[159.05035,-31.56329],[159.0463,-31.5619],[159.04847,-31.55793],[159.04237,-31.55601],[159.04533,-31.55038],[159.03783,-31.54763],[159.03802,-31.54723],[159.03487,-31.54724],[159.03487,-31.54383],[159.03244,-31.54297],[159.03461,-31.53808],[159.02754,-31.53554],[159.02964,-31.53159],[159.02305,-31.52935],[159.03784,-31.49819]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2019",best:true,icon:"http://spatialservices.finance.nsw.gov.au/__data/assets/file/0010/210520/favicon.ico"},{id:"NSW_LPI_Imagery_Dates",name:"LPI NSW Imagery Dates",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Imagery_Dates/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=0&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",zoomExtent:[0,21],polygon:[[[140.98687,-28.98878],[148.99515,-28.97275],[148.99667,-28.49151],[151.0029,-28.49307],[151.0029,-28.72617],[151.49151,-28.73239],[151.49187,-28.71553],[151.92282,-28.71964],[151.92516,-28.48971],[151.99559,-28.48987],[151.99899,-28.11927],[152.49676,-28.12209],[152.49682,-28.11464],[153.00446,-28.11544],[153.00446,-28.1204],[153.50386,-28.11934],[153.50393,-28.12271],[153.59194,-28.12236],[153.59266,-28.17769],[153.61112,-28.17579],[153.61139,-28.18252],[153.74268,-28.21621],[153.77873,-28.71091],[152.6238,-32.58772],[152.3124,-32.63288],[151.41419,-33.57904],[150.89299,-35.26487],[150.46207,-35.77773],[150.01565,-37.51036],[149.99181,-37.51268],[149.51978,-37.51307],[149.51996,-37.52169],[149.4463,-37.53537],[149.06334,-37.5358],[148.98366,-37.52176],[148.98169,-37.5192],[148.98638,-37.2585],[148.48754,-37.26585],[148.48248,-37.00927],[147.99439,-37.01434],[147.98829,-36.53322],[147.95297,-36.52607],[147.94865,-36.0686],[147.5035,-36.07168],[147.50477,-36.2651],[146.492,-36.26613],[146.49225,-36.2565],[145.99298,-36.25343],[145.99659,-36.01881],[145.98316,-36.01871],[145.96245,-36.0219],[145.94624,-36.01209],[145.94543,-36.00603],[145.50415,-36.00136],[145.50379,-36.01091],[145.0072,-36.00362],[145.00354,-36.15204],[144.48608,-36.14231],[144.48741,-36.01375],[143.98747,-36.00241],[143.99329,-35.57238],[143.49717,-35.58371],[143.4918,-35.40656],[143.46134,-35.36749],[143.45856,-35.35559],[143.48978,-35.33965],[143.48955,-35.33221],[143.4317,-35.25706],[143.25055,-35.26066],[143.24384,-35.01327],[142.99333,-35.01772],[142.99198,-34.79619],[142.49714,-34.80323],[142.49732,-34.80076],[142.42114,-34.80176],[142.42092,-34.78383],[142.23309,-34.78592],[142.23077,-34.78075],[142.227,-34.50613],[141.99753,-34.50837],[141.9946,-34.25267],[141.49823,-34.25569],[141.49817,-34.25228],[140.99454,-34.25284],[140.98687,-28.98878]],[[159.22678,-31.74407],[159.26398,-31.74399],[159.28989,-31.77428],[159.28993,-31.79393],[159.26157,-31.79395],[159.22682,-31.75483],[159.22678,-31.74407]],[[159.03784,-31.49819],[159.04448,-31.5006],[159.04619,-31.49734],[159.04888,-31.49829],[159.04884,-31.48423],[159.06882,-31.48423],[159.06991,-31.482],[159.08317,-31.48203],[159.08203,-31.48434],[159.08205,-31.49567],[159.08564,-31.49703],[159.08383,-31.50058],[159.09007,-31.5026],[159.08682,-31.50859],[159.09433,-31.51136],[159.09174,-31.51585],[159.09537,-31.51724],[159.10276,-31.52611],[159.1161,-31.53006],[159.11422,-31.5342],[159.11875,-31.53417],[159.1193,-31.54888],[159.12618,-31.55796],[159.11841,-31.56323],[159.11553,-31.55983],[159.1115,-31.55983],[159.11154,-31.60158],[159.08954,-31.6016],[159.08626,-31.60845],[159.07954,-31.60611],[159.07714,-31.61149],[159.05943,-31.61155],[159.05296,-31.60369],[159.05893,-31.59087],[159.05891,-31.57897],[159.05541,-31.57773],[159.05735,-31.57387],[159.05585,-31.57333],[159.05038,-31.57335],[159.05035,-31.56329],[159.0463,-31.5619],[159.04847,-31.55793],[159.04237,-31.55601],[159.04533,-31.55038],[159.03783,-31.54763],[159.03802,-31.54723],[159.03487,-31.54724],[159.03487,-31.54383],[159.03244,-31.54297],[159.03461,-31.53808],[159.02754,-31.53554],[159.02964,-31.53159],[159.02305,-31.52935],[159.03784,-31.49819]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2019",icon:"http://spatialservices.finance.nsw.gov.au/__data/assets/file/0010/210520/favicon.ico",overlay:true},{id:"NSW_LPI_TopographicMap",name:"LPI NSW Topographic Map",type:"tms",template:"https://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Topo_Map/MapServer/tile/{zoom}/{y}/{x}",zoomExtent:[1,16],polygon:[[[140.99884,-28.99924],[148.95024,-28.99937],[148.94988,-28.96653],[148.99983,-28.96653],[149.00009,-28.81658],[149.10007,-28.81658],[149.0997,-28.74885],[148.99985,-28.74974],[148.99982,-28.50003],[151.00005,-28.50052],[151.00059,-28.73258],[151.02395,-28.73274],[151.02413,-28.74188],[151.03293,-28.74188],[151.03383,-28.75054],[151.99998,-28.74953],[151.99998,-28.71645],[152.0334,-28.71661],[152.03322,-28.6832],[152.00007,-28.68335],[151.99988,-28.64163],[151.98299,-28.64139],[151.98317,-28.62491],[151.93313,-28.62475],[151.93341,-28.50007],[151.99989,-28.50023],[151.99986,-28.37496],[152.24997,-28.37507],[152.24994,-28.25001],[152.99972,-28.24986],[152.9999,-28.28324],[153.1165,-28.2834],[153.11659,-28.24986],[153.16663,-28.25001],[153.16672,-28.23316],[153.24999,-28.23324],[153.25003,-28.12497],[153.62496,-28.12508],[153.62484,-28.49991],[153.7498,-28.49999],[153.74959,-28.7498],[153.62481,-28.75011],[153.62497,-28.99993],[153.49977,-29.00006],[153.49984,-29.49951],[153.3748,-29.50005],[153.37541,-29.87503],[153.49991,-29.87514],[153.49991,-30.00009],[153.24989,-29.99976],[153.25002,-30.19177],[153.27482,-30.19162],[153.27482,-30.21685],[153.21661,-30.21661],[153.21661,-30.25006],[153.25002,-30.25006],[153.24975,-30.37519],[153.12436,-30.37497],[153.12465,-30.62504],[153.03317,-30.62505],[153.03339,-30.87508],[153.12492,-30.87503],[153.12493,-31.12505],[153.00824,-31.12497],[153.00829,-31.24998],[153,-31.25],[152.99994,-31.62499],[152.87494,-31.62505],[152.87496,-31.74995],[152.78329,-31.75],[152.7832,-31.87486],[152.74991,-31.87501],[152.75004,-32.00002],[152.6249,-31.99994],[152.62491,-32.5],[152.49998,-32.49996],[152.50003,-32.56664],[152.41667,-32.56634],[152.41676,-32.625],[152.34985,-32.62499],[152.34985,-32.63323],[152.28308,-32.63322],[152.28326,-32.62498],[152.24948,-32.62498],[152.24981,-32.87491],[151.87457,-32.87504],[151.87485,-33.00001],[151.74977,-33.00015],[151.75047,-33.25004],[151.62524,-33.24974],[151.62508,-33.37516],[151.49958,-33.37514],[151.50031,-33.62494],[151.37415,-33.62437],[151.37279,-34.00196],[151.24778,-34.00112],[151.24778,-34.24931],[150.99573,-34.25015],[151.00081,-34.62483],[150.87174,-34.6265],[150.87276,-35.12427],[150.76706,-35.12344],[150.76909,-35.24638],[150.62579,-35.2497],[150.62803,-35.37515],[150.49997,-35.37515],[150.49591,-35.6275],[150.37192,-35.62503],[150.37497,-35.7538],[150.26724,-35.75132],[150.2652,-35.87412],[150.24792,-35.87083],[150.24589,-36.37488],[150.12292,-36.37488],[150.12597,-36.62243],[150.02535,-36.62407],[150.0284,-36.74713],[149.99283,-36.74958],[150.00401,-37.12245],[150.05889,-37.12731],[150.05686,-37.37809],[149.99791,-37.37324],[149.99994,-37.48301],[149.98774,-37.48462],[149.98571,-37.508],[148.06846,-36.80624],[147.99306,-36.138],[147.81483,-36.00556],[147.38939,-36.01137],[147.38221,-36.13103],[146.99725,-36.12755],[146.98863,-36.25283],[146.49564,-36.24471],[146.50426,-36.12639],[145.00118,-36.00795],[145.01541,-36.25421],[144.50725,-36.24765],[144.49912,-36.0211],[143.99654,-35.98105],[143.33826,-35.23318],[142.40976,-34.76694],[142.03614,-34.37588],[140.99652,-34.13858],[140.99884,-28.99924]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2019",icon:"http://spatialservices.finance.nsw.gov.au/__data/assets/file/0010/210520/favicon.ico"},{id:"orthophoto_lyon_2012",name:"Lyon Orthophoto 2012-03 10cm",type:"wms",template:"https://download.data.grandlyon.com/wms/grandlyon?language=fre&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=1830_5150_10cm_CC46,1830_5155_10cm_CC46,1830_5160_10cm_CC46,1830_5165_10cm_CC46,1830_5170_10cm_CC46,1830_5175_10cm_CC46,1830_5180_10cm_CC46,1830_5185_10cm_CC46,1830_5190_10cm_CC46,1835_5150_10cm_CC46,1835_5155_10cm_CC46,1835_5160_10cm_CC46,1835_5165_10cm_CC46,1835_5170_10cm_CC46,1835_5175_10cm_CC46,1835_5180_10cm_CC46,1835_5185_10cm_CC46,1835_5190_10cm_CC46,1840_5150_10cm_CC46,1840_5155_10cm_CC46,1840_5160_10cm_CC46,1840_5165_10cm_CC46,1840_5170_10cm_CC46,1840_5175_10cm_CC46,1840_5180_10cm_CC46,1840_5185_10cm_CC46,1840_5190_10cm_CC46,1845_5150_10cm_CC46,1845_5155_10cm_CC46,1845_5160_10cm_CC46,1845_5165_10cm_CC46,1845_5170_10cm_CC46,1845_5175_10cm_CC46,1845_5180_10cm_CC46,1845_5185_10cm_CC46,1845_5190_10cm_CC46,1850_5155_10cm_CC46,1850_5160_10cm_CC46,1850_5165_10cm_CC46,1850_5170_10cm_CC46,1850_5175_10cm_CC46,1850_5180_10cm_CC46,1850_5185_10cm_CC46,1855_5155_10cm_CC46,1855_5165_10cm_CC46,1855_5170_10cm_CC46,1855_5175_10cm_CC46,1855_5180_10cm_CC46,1855_5185_10cm_CC46,1860_5155_10cm_CC46,1860_5160_10cm_CC46,1860_5165_10cm_CC46,1860_5170_10cm_CC46,1860_5175_10cm_CC46,1860_5180_10cm_CC46,1860_5185_10cm_CC46,1865_5155_10cm_CC46,1865_5160_10cm_CC46,1865_5165_10cm_CC46,1865_5170_10cm_CC46&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2012-03-01T00:00:00.000Z",startDate:"2012-03-01T00:00:00.000Z",polygon:[[[4.69049,45.54652],[4.83131,45.54652],[4.83131,45.57131],[4.88344,45.57131],[4.88344,45.59745],[5.16622,45.59745],[5.16622,45.74533],[5.10793,45.74533],[5.10793,45.88145],[4.90698,45.88145],[4.90698,45.92107],[4.84377,45.92107],[4.84377,45.94011],[4.71543,45.94011],[4.71543,45.87018],[4.67458,45.87018],[4.67458,45.7178],[4.69567,45.7178],[4.69049,45.54652]]],terms_url:"https://data.grandlyon.com/imagerie/orthophotographie-2012-du-grand-lyon",terms_text:"Grand Lyon Smart Data DSIT"},{id:"orthophoto_lyon",name:"Lyon Orthophoto 8cm",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/lyon/{zoom}/{x}/{y}",endDate:"2018-01-01T00:00:00.000Z",startDate:"2015-05-01T00:00:00.000Z",zoomExtent:[2,22],polygon:[[[4.66489,45.54688],[4.88253,45.54348],[4.88435,45.59745],[5.16623,45.59242],[5.17217,45.74532],[5.10793,45.74653],[5.11305,45.88145],[4.90698,45.88508],[4.90822,45.92106],[4.84377,45.92212],[4.84497,45.9581],[4.67729,45.96069],[4.66489,45.54688]]],terms_url:"https://data.grandlyon.com/imagerie/orthophotographie-2015-du-grand-lyon/",terms_text:"Métropole de Lyon DINSI",best:true},{id:"MainRoadsWA_Road_Hierarchy",name:"Main Roads WA Road Hierarchy",type:"wms",template:"https://services.slip.wa.gov.au/public/services/SLIP_Public_Services/Transport/MapServer/WMSServer?LAYERS=8&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fpng&SRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}",projection:"EPSG:3857",zoomExtent:[0,21],polygon:[[[129.00009,-31.68764],[128.99872,-14.58225],[127.08984,-12.29707],[124.76074,-12.98315],[121.24512,-15.70766],[119.0918,-17.60214],[115.53223,-18.85431],[112.41211,-20.46819],[111.24756,-22.83695],[111.00586,-25.62172],[111.64307,-29.66896],[111.68701,-32.3614],[112.14844,-34.47034],[113.35693,-36.10238],[116.98242,-36.70366],[119.44336,-36.94989],[122.27783,-36.61553],[125.99121,-35.40696],[127.59521,-34.57895],[128.86963,-33.59632],[129.00009,-31.68764]]],terms_url:"https://catalogue.data.wa.gov.au/dataset/clss-road-hierarchy",terms_text:"Main Roads Western Australia",overlay:true},{id:"mainzlatestaerialimagery",name:"Mainz latest aerial imagery",type:"wms",template:"https://geodaten.mainz.de/map/service?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho_2018&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[12,22],polygon:[[[8.10355,49.865],[8.38356,49.865],[8.38356,50.0466],[8.10355,50.0466],[8.10355,49.865]]],terms_url:"https://www.mainz.de/vv/oe/100140100000035141.php#tab-infos",terms_text:"Vermessung und Geoinformation Mainz",icon:"https://www.mainz.de/configuration.inc.php.media/27432/Logo-72px.png"},{id:"major_isidoro",name:"Major Isidoro AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Major%20Isidoro&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.94048,-9.57588],[-36.94106,-9.48536],[-37.03215,-9.48606],[-37.03164,-9.57639],[-36.94048,-9.57588]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"Mapbox",name:"Mapbox Satellite",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/v4/mapbox.satellite/{zoom}/{x}/{y}@2x.jpg?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJjaml5MjVyb3MwMWV0M3hxYmUzdGdwbzE4In0.q548FjhsSJzvXsGlPsFxAQ",tileSize:512,zoomExtent:[0,22],terms_url:"https://www.mapbox.com/about/maps",terms_text:"Terms & Feedback","default":true,description:"Satellite and aerial imagery.",icon:"https://osmlab.github.io/editor-layer-index/sources/world/MapBoxSatellite.png"},{id:"Maps4BW-LGL_BW",name:"Maps4BW (LGL-BW, www.lgl-bw.de)",type:"wms",template:"https://owsproxy.lgl-bw.de/owsproxy/ows/WMS_Maps4BW?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=webatlasde&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[9.06954,49.57679],[9.10577,49.57952],[9.16079,49.58263],[9.24212,49.58402],[9.27192,49.63515],[9.30454,49.65561],[9.36753,49.65893],[9.38253,49.64341],[9.41191,49.66033],[9.39602,49.67143],[9.41828,49.69706],[9.40378,49.71957],[9.37769,49.70357],[9.35828,49.70334],[9.29438,49.73958],[9.31467,49.76859],[9.42435,49.79099],[9.50417,49.78962],[9.51808,49.78214],[9.65623,49.79286],[9.65317,49.73944],[9.63435,49.70076],[9.67054,49.69515],[9.67721,49.71846],[9.71079,49.72918],[9.8014,49.73429],[9.83728,49.70237],[9.87656,49.61362],[9.83362,49.55607],[9.84954,49.54793],[9.87463,49.5836],[9.91419,49.58955],[9.93066,49.56097],[9.92482,49.48951],[10.01787,49.48673],[10.03352,49.52978],[10.06372,49.55129],[10.09052,49.54218],[10.12792,49.51192],[10.11027,49.49272],[10.16753,49.38589],[10.12627,49.3809],[10.14385,49.32772],[10.16061,49.27043],[10.13569,49.26189],[10.14311,49.20387],[10.25161,49.15031],[10.26279,49.12959],[10.26869,49.05202],[10.36527,49.02557],[10.45894,48.93581],[10.46208,48.83947],[10.42886,48.74973],[10.46648,48.73627],[10.49761,48.68581],[10.45007,48.66277],[10.3553,48.65068],[10.32297,48.68241],[10.26028,48.67842],[10.32542,48.60763],[10.31448,48.52323],[10.17973,48.45977],[10.12892,48.45301],[10.10938,48.47445],[10.06355,48.45381],[10.03918,48.45125],[10.04492,48.43158],[10.0152,48.40323],[9.98709,48.38565],[9.97328,48.37944],[9.97549,48.36558],[9.99071,48.3734],[10.00265,48.3632],[9.99992,48.35572],[10.06698,48.28172],[10.08111,48.2253],[10.11306,48.12632],[10.13966,48.11307],[10.14695,48.07455],[10.13763,48.01938],[10.11725,47.9755],[10.11359,47.93422],[10.10709,47.86711],[10.14174,47.80956],[10.0732,47.78686],[10.11825,47.76126],[10.14213,47.70165],[10.13262,47.67678],[10.07445,47.63472],[10.06303,47.66923],[10.00359,47.67526],[9.95808,47.64376],[9.84481,47.67533],[9.83488,47.66042],[9.74926,47.60206],[9.70817,47.60007],[9.65788,47.60599],[9.64742,47.58931],[9.61389,47.57809],[9.56602,47.53274],[9.51199,47.53246],[9.25717,47.65752],[9.18684,47.65697],[9.17591,47.65379],[9.17028,47.65474],[9.15555,47.666],[9.1494,47.66713],[9.13947,47.66367],[9.02005,47.68616],[8.94127,47.65569],[8.89825,47.64821],[8.88263,47.65327],[8.87474,47.6545],[8.87235,47.66971],[8.84949,47.68089],[8.84993,47.70233],[8.81816,47.71242],[8.80108,47.72811],[8.77231,47.71606],[8.81295,47.6959],[8.79373,47.67216],[8.7533,47.68997],[8.72575,47.6917],[8.71002,47.68829],[8.68937,47.69318],[8.67046,47.68235],[8.65783,47.68883],[8.66161,47.71454],[8.70596,47.71584],[8.70932,47.73275],[8.73033,47.75527],[8.72003,47.76273],[8.68871,47.75314],[8.67898,47.78306],[8.64981,47.79435],[8.65592,47.76948],[8.63132,47.75749],[8.61918,47.76216],[8.61351,47.78451],[8.61686,47.79705],[8.568,47.79977],[8.57611,47.79015],[8.57847,47.78102],[8.56315,47.77654],[8.48889,47.76458],[8.45742,47.74126],[8.4623,47.72909],[8.44929,47.71663],[8.41471,47.69991],[8.4273,47.68562],[8.41061,47.6743],[8.46839,47.6568],[8.52474,47.64677],[8.5269,47.66373],[8.56441,47.67261],[8.57853,47.66373],[8.60454,47.6751],[8.63333,47.65212],[8.62386,47.63922],[8.60395,47.63193],[8.61281,47.61327],[8.57951,47.59306],[8.5602,47.59867],[8.56765,47.61442],[8.53394,47.62984],[8.51208,47.61641],[8.46581,47.60137],[8.46631,47.58666],[8.48985,47.59139],[8.5,47.58062],[8.43414,47.5629],[8.39882,47.57559],[8.38525,47.56408],[8.32701,47.56893],[8.29483,47.59077],[8.2948,47.60497],[8.26293,47.60823],[8.22435,47.60446],[8.18644,47.60508],[8.16904,47.59394],[8.13615,47.58246],[8.10503,47.56795],[8.09873,47.55933],[8.08261,47.55624],[8.07095,47.56299],[8.0274,47.54931],[7.94632,47.54209],[7.90966,47.54825],[7.90676,47.5603],[7.88681,47.58765],[7.83987,47.58122],[7.79648,47.55517],[7.69208,47.53137],[7.66583,47.53403],[7.63159,47.56044],[7.63879,47.56619],[7.68607,47.57205],[7.65278,47.59418],[7.62247,47.57767],[7.60473,47.57822],[7.58771,47.59015],[7.52156,47.65161],[7.50399,47.70235],[7.52096,47.77685],[7.55712,47.84839],[7.54946,47.8792],[7.57461,47.93028],[7.61318,47.96804],[7.6119,47.9871],[7.56124,48.03836],[7.57491,48.1258],[7.59534,48.15977],[7.63305,48.19717],[7.66275,48.22473],[7.68466,48.30305],[7.76346,48.49158],[7.80046,48.5126],[7.79958,48.5878],[7.83409,48.64439],[7.91211,48.68899],[7.96723,48.75716],[8.02069,48.78879],[8.04302,48.7956],[8.08647,48.81306],[8.13644,48.89782],[8.19706,48.96021],[8.28161,48.9949],[8.29967,49.02597],[8.31243,49.05996],[8.38654,49.23497],[8.46083,49.28407],[8.48783,49.29326],[8.47577,49.3079],[8.44839,49.31693],[8.45152,49.33135],[8.46288,49.3869],[8.49407,49.40186],[8.49762,49.41583],[8.50721,49.43414],[8.49834,49.44187],[8.47977,49.44391],[8.46414,49.44151],[8.44696,49.44516],[8.43947,49.45214],[8.44407,49.46085],[8.45992,49.46498],[8.46312,49.47135],[8.4554,49.48107],[8.44184,49.49297],[8.41194,49.55852],[8.42193,49.5843],[8.44117,49.59081],[8.45482,49.59157],[8.47738,49.5874],[8.56161,49.52237],[8.61486,49.54175],[8.59165,49.59179],[8.58706,49.61156],[8.65189,49.6209],[8.69494,49.62762],[8.70105,49.59869],[8.68726,49.57096],[8.72597,49.53085],[8.78493,49.51775],[8.81467,49.53187],[8.88863,49.51091],[8.90168,49.50363],[8.90315,49.486],[8.87995,49.46561],[8.83117,49.42147],[8.80845,49.40981],[8.82075,49.39647],[8.83009,49.41316],[8.85107,49.39663],[8.90247,49.44632],[8.93863,49.48179],[8.95154,49.50562],[8.98498,49.51153],[9.03553,49.50079],[9.05731,49.532],[9.10023,49.52728],[9.11009,49.51213],[9.12424,49.51722],[9.11286,49.53337],[9.08284,49.54211],[9.06694,49.56433],[9.06954,49.57679]]],terms_url:"https://www.lgl-bw.de/",terms_text:"Datengrundlage: LGL, www.lgl-bw.de"},{id:"mar_vermelho_al",name:"Mar Vermelho AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Mar%20Vermelho&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.34201,-9.49289],[-36.3422,-9.47533],[-36.34275,-9.4029],[-36.34473,-9.4029],[-36.34537,-9.40279],[-36.34702,-9.40293],[-36.3508,-9.40291],[-36.359,-9.40307],[-36.36109,-9.403],[-36.36289,-9.40307],[-36.3659,-9.40305],[-36.36713,-9.40301],[-36.37571,-9.40307],[-36.38049,-9.40308],[-36.38663,-9.4032],[-36.38852,-9.40312],[-36.39286,-9.40325],[-36.39656,-9.40322],[-36.40309,-9.40327],[-36.41973,-9.40338],[-36.43368,-9.4034],[-36.43355,-9.41685],[-36.43344,-9.42386],[-36.43338,-9.43753],[-36.43329,-9.45012],[-36.433,-9.49359],[-36.40839,-9.4935],[-36.40442,-9.49354],[-36.40008,-9.49351],[-36.39787,-9.49342],[-36.39168,-9.49328],[-36.38757,-9.49331],[-36.38536,-9.49341],[-36.37673,-9.49331],[-36.37427,-9.49319],[-36.36707,-9.49299],[-36.36502,-9.493],[-36.36043,-9.49299],[-36.35955,-9.49295],[-36.35895,-9.49304],[-36.35703,-9.49294],[-36.35665,-9.493],[-36.3526,-9.493],[-36.34767,-9.49297],[-36.34201,-9.49289]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"MassGIS-L3-Parcels",name:"MassGIS L3 Parcels",type:"tms",template:"https://tiles.arcgis.com/tiles/hGdibHYSPO59RG1h/arcgis/rest/services/MassGIS_Level3_Parcels/MapServer/tile/{zoom}/{y}/{x}",zoomExtent:[15,20],polygon:[[[-72.13569,42.03025],[-72.53156,42.03458],[-72.57278,42.03022],[-72.58216,42.02474],[-72.60717,42.02515],[-72.60797,42.03108],[-72.64019,42.03205],[-72.69933,42.03696],[-72.75714,42.03635],[-72.75868,42.02439],[-72.76572,42.02276],[-72.76673,42.00327],[-72.81705,41.99769],[-72.81378,42.03674],[-73.03678,42.03929],[-73.43281,42.05059],[-73.49688,42.04968],[-73.50814,42.08626],[-73.26496,42.74594],[-72.6872,42.73348],[-71.97286,42.71307],[-71.69663,42.70572],[-71.29464,42.69704],[-71.27894,42.71136],[-71.26787,42.72603],[-71.25526,42.73659],[-71.24598,42.74231],[-71.23732,42.74491],[-71.22391,42.74643],[-71.18181,42.73732],[-71.18617,42.79088],[-71.16667,42.80891],[-71.13277,42.82145],[-71.06442,42.80626],[-71.05395,42.83337],[-71.04483,42.84869],[-71.03128,42.85924],[-70.96702,42.86887],[-70.94967,42.87588],[-70.92973,42.88504],[-70.91465,42.88661],[-70.90348,42.88671],[-70.88566,42.88288],[-70.84776,42.86088],[-70.82963,42.86875],[-70.81567,42.87204],[-70.45842,42.67694],[-70.8759,42.35302],[-69.88713,42.0519],[-69.89537,41.21643],[-70.81959,41.23192],[-71.09996,41.43386],[-71.12047,41.49717],[-71.13131,41.59231],[-71.14059,41.6051],[-71.14047,41.62389],[-71.13569,41.6284],[-71.13291,41.6601],[-71.17605,41.6681],[-71.17588,41.67154],[-71.1954,41.67514],[-71.26139,41.7523],[-71.32885,41.7811],[-71.33407,41.79455],[-71.34156,41.79817],[-71.33914,41.80842],[-71.3472,41.8231],[-71.3449,41.828],[-71.3352,41.8355],[-71.3422,41.8448],[-71.33392,41.86229],[-71.34086,41.87872],[-71.33865,41.89865],[-71.38174,41.8932],[-71.38127,42.01885],[-71.49744,42.01725],[-71.52888,42.01499],[-71.79925,42.00807],[-71.80067,42.02351],[-72.0635,42.02735],[-72.13569,42.03025]]],overlay:true},{id:"Maxar-Premium",name:"Maxar Premium Imagery (Beta)",type:"tms",template:"https://earthwatch.digitalglobe.com/earthservice/tmsaccess/tms/1.0.0/DigitalGlobe:ImageryTileService@EPSG:3857@jpg/{zoom}/{x}/{-y}.jpg?connectId=91e57457-aa2d-41ad-a42b-3b63a123f54a",zoomExtent:[0,22],terms_url:"https://wiki.openstreetmap.org/wiki/DigitalGlobe",terms_text:"Terms & Feedback","default":true,description:"Maxar Premium is a mosaic composed of Maxar basemap with select regions filled with +Vivid or custom area of interest imagery, 50cm resolution or better, and refreshed more frequently with ongoing updates.",icon:"https://osmlab.github.io/editor-layer-index/sources/world/Maxar.png"},{id:"Maxar-Standard",name:"Maxar Standard Imagery (Beta)",type:"tms",template:"https://earthwatch.digitalglobe.com/earthservice/tmsaccess/tms/1.0.0/DigitalGlobe:ImageryTileService@EPSG:3857@jpg/{zoom}/{x}/{-y}.jpg?connectId=d9c5e3ef-6300-4cec-9562-c1f27da6b2d9",zoomExtent:[0,22],terms_url:"https://wiki.openstreetmap.org/wiki/DigitalGlobe",terms_text:"Terms & Feedback","default":true,description:"Maxar Standard is a curated set of imagery covering 86% of the earth’s landmass, with 30-60cm resolution where available, backfilled by Landsat. Average age is 2.31 years, with some areas updated 2x per year.",icon:"https://osmlab.github.io/editor-layer-index/sources/world/Maxar.png"},{id:"geodata.md.gov-MD_SixInchImagery",name:"MD Latest 6 Inch Aerial Imagery",type:"wms",template:"https://geodata.md.gov/imap/services/Imagery/MD_SixInchImagery/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=MD_SixInchImagery&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2016-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[-76.23413,37.92037],[-76.59805,38.15832],[-76.94,38.27053],[-77.03819,38.41379],[-77.23526,38.33627],[-77.31216,38.41056],[-77.26273,38.56642],[-77.043,38.71338],[-77.04987,38.7937],[-76.92627,38.8925],[-77.04094,38.9845],[-77.12162,38.92523],[-77.15012,38.95514],[-77.25243,38.97543],[-77.25929,39.02425],[-77.34581,39.05492],[-77.46185,39.07038],[-77.53738,39.13965],[-77.47421,39.22481],[-77.57275,39.30428],[-77.72347,39.32899],[-77.77702,39.46323],[-77.86148,39.51622],[-77.84088,39.60886],[-77.95624,39.59299],[-78.16635,39.69556],[-78.27003,39.62156],[-78.3387,39.64007],[-78.46641,39.52364],[-78.6628,39.54006],[-78.79875,39.60622],[-78.9814,39.4468],[-79.06723,39.47649],[-79.48505,39.19954],[-79.48557,39.72158],[-75.78836,39.72181],[-75.69099,38.46058],[-75.04924,38.45816],[-75.04984,38.40222],[-75.08151,38.32321],[-75.09773,38.30907],[-75.187,38.09755],[-75.23798,38.0224],[-75.61821,37.98967],[-75.86369,37.90953],[-76.23413,37.92037]]],terms_url:"http://imap.maryland.gov/Pages/imagery-products.aspx",terms_text:"DoIT, MD iMap, MDP",description:"Six Inch resolution aerial imagery for the State of Maryland"},{id:"geodata.md.gov-MD_ThreeInchImagery",name:"MD Three Inch Aerial Imagery",type:"wms",template:"https://geodata.md.gov/imap/services/Imagery/MD_ThreeInchImagery/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=MD_ThreeInchImagery&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,20],polygon:[[[-76.46299,38.9808],[-76.46326,38.94779],[-76.49499,38.9369],[-76.51617,38.93697],[-76.54763,38.9591],[-76.54745,38.98667],[-76.51559,39.00306],[-76.4839,39.00292],[-76.46299,38.9808]],[[-76.09548,38.84133],[-76.0428,38.8409],[-76.04289,38.8298],[-76.03229,38.8297],[-76.03277,38.79667],[-76.02545,38.79664],[-76.02541,38.77462],[-76.03308,38.77472],[-76.03366,38.73073],[-76.05462,38.73094],[-76.0548,38.72005],[-76.10753,38.72043],[-76.10714,38.75338],[-76.11754,38.75346],[-76.11701,38.79731],[-76.09601,38.79715],[-76.09548,38.84133]],[[-77.23397,39.16838],[-77.25516,39.14647],[-77.25496,39.11343],[-77.18093,39.05337],[-77.14907,39.0477],[-77.12798,39.04779],[-77.10683,39.05325],[-77.10688,39.0917],[-77.11775,39.10827],[-77.16011,39.12485],[-77.15975,39.15214],[-77.17048,39.16302],[-77.21284,39.17272],[-77.23397,39.16838]]],terms_url:"http://imap.maryland.gov/Pages/imagery-products.aspx",terms_text:"DoIT, MD iMap, MDP",description:"Three Inch Resolution Imagery for the cities of Rockville, Gaithersburg and Annapolis"},{id:"geodata.md.gov-MD_ColorBasemap",name:"MD Transportation Basemap",type:"wms",template:"https://geodata.md.gov/imap/services/Transportation/MD_ColorBasemap/MapServer/WmsServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=MD_ColorBasemap&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-76.23413,37.92037],[-76.59805,38.15832],[-76.94,38.27053],[-77.03819,38.41379],[-77.23526,38.33627],[-77.31216,38.41056],[-77.26273,38.56642],[-77.043,38.71338],[-77.04987,38.7937],[-76.92627,38.8925],[-77.04094,38.9845],[-77.12162,38.92523],[-77.15012,38.95514],[-77.25243,38.97543],[-77.25929,39.02425],[-77.34581,39.05492],[-77.46185,39.07038],[-77.53738,39.13965],[-77.47421,39.22481],[-77.57275,39.30428],[-77.72347,39.32899],[-77.77702,39.46323],[-77.86148,39.51622],[-77.84088,39.60886],[-77.95624,39.59299],[-78.16635,39.69556],[-78.27003,39.62156],[-78.3387,39.64007],[-78.46641,39.52364],[-78.6628,39.54006],[-78.79875,39.60622],[-78.9814,39.4468],[-79.06723,39.47649],[-79.48505,39.19954],[-79.48557,39.72158],[-75.78836,39.72181],[-75.69099,38.46058],[-75.04924,38.45816],[-75.04984,38.40222],[-75.08151,38.32321],[-75.09773,38.30907],[-75.187,38.09755],[-75.23798,38.0224],[-75.61821,37.98967],[-75.86369,37.90953],[-76.23413,37.92037]]],terms_url:"http://imap.maryland.gov/Pages/imagery-products.aspx",terms_text:"DoIT, MD iMap, MDP",description:"Maryland State Highway Administration road features and additional Maryland focused landmarks"},{id:"MCGIS-County-NAIP-Imagery-2015",name:"Mesa County GIS NAIP 2015",type:"wms",template:"https://mcgis.mesacounty.us/image/services/Mosaic_Datasets/MesaCounty_2015/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[-109.06765,39.37875],[-107.37012,39.37962],[-107.36995,39.18422],[-107.49574,39.18416],[-107.49568,39.12133],[-107.62081,39.12126],[-107.62076,39.05974],[-107.68231,39.05971],[-107.68226,38.99652],[-107.81774,38.99645],[-107.81779,39.05859],[-107.86948,39.05856],[-107.86943,38.99769],[-108.05698,38.99759],[-108.05688,38.87126],[-108.18204,38.8712],[-108.18198,38.8081],[-108.37142,38.808],[-108.3711,38.43452],[-109.06685,38.43416],[-109.06765,39.37875]]],terms_url:"http://gis.mesacounty.us/",terms_text:"Mesa County GIS",icon:"https://gis.mesacounty.us/globalassets/images/county-logos/mesa-county-logo.png"},{id:"MCGIS-County-NAIP-Imagery-2017",name:"Mesa County GIS NAIP 2017",type:"wms",template:"https://mcgis.mesacounty.us/image/services/Mosaic_Datasets/NAIP_2017/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2017-10-24T00:00:00.000Z",startDate:"2017-08-26T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[-109.06765,39.37875],[-107.37012,39.37962],[-107.36995,39.18422],[-107.49574,39.18416],[-107.49568,39.12133],[-107.62081,39.12126],[-107.62076,39.05974],[-107.68231,39.05971],[-107.68226,38.99652],[-107.81774,38.99645],[-107.81779,39.05859],[-107.86948,39.05856],[-107.86943,38.99769],[-108.05698,38.99759],[-108.05688,38.87126],[-108.18204,38.8712],[-108.18198,38.8081],[-108.37142,38.808],[-108.3711,38.43452],[-109.06685,38.43416],[-109.06765,39.37875]]],terms_url:"http://gis.mesacounty.us/",terms_text:"Mesa County GIS",icon:"https://gis.mesacounty.us/globalassets/images/county-logos/mesa-county-logo.png"},{id:"MCGIS-County-Valleywide-Imagery-2018",name:"Mesa County GIS Valleywide 2018",type:"wms",template:"https://mcgis.mesacounty.us/image/services/Mosaic_Datasets/City_Color_2018/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2018-01-01T00:00:00.000Z",startDate:"2018-01-01T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[-108.93915,39.23931],[-108.86841,39.23846],[-108.86843,39.23734],[-108.81245,39.23666],[-108.81274,39.22256],[-108.79405,39.22234],[-108.79432,39.20857],[-108.70096,39.20745],[-108.70123,39.1939],[-108.60764,39.19277],[-108.60791,39.17906],[-108.58915,39.17884],[-108.58943,39.1649],[-108.53332,39.16422],[-108.53361,39.14993],[-108.51461,39.14971],[-108.51489,39.13611],[-108.44076,39.13522],[-108.44104,39.12109],[-108.42192,39.12086],[-108.42201,39.1163],[-108.3984,39.11602],[-108.39798,39.13708],[-108.32446,39.13619],[-108.32416,39.15107],[-108.30718,39.15087],[-108.3066,39.18],[-108.28866,39.17979],[-108.28807,39.20939],[-108.26868,39.20916],[-108.26957,39.16484],[-108.2864,39.16505],[-108.28699,39.13571],[-108.30312,39.13591],[-108.3038,39.10194],[-108.32335,39.10218],[-108.32328,39.10574],[-108.32914,39.10581],[-108.32943,39.09121],[-108.34736,39.09142],[-108.34764,39.07715],[-108.36637,39.07738],[-108.36666,39.06268],[-108.38569,39.06291],[-108.38599,39.04799],[-108.42216,39.04843],[-108.42245,39.03377],[-108.44051,39.03399],[-108.44137,38.99101],[-108.42193,38.99077],[-108.42252,38.96127],[-108.44162,38.9615],[-108.44133,38.97595],[-108.46034,38.97618],[-108.46006,38.99024],[-108.47877,38.99047],[-108.47848,39.00485],[-108.51515,39.0053],[-108.51519,39.00287],[-108.51825,39.00291],[-108.51821,39.00517],[-108.53414,39.00536],[-108.53397,39.0139],[-108.54342,39.01401],[-108.54336,39.01733],[-108.5455,39.01735],[-108.54548,39.01855],[-108.65864,39.01991],[-108.65778,39.06287],[-108.67867,39.06313],[-108.67837,39.07793],[-108.69699,39.07816],[-108.69671,39.09203],[-108.71557,39.09225],[-108.71529,39.10619],[-108.7388,39.10648],[-108.73853,39.12033],[-108.75744,39.12056],[-108.75686,39.14927],[-108.79422,39.14972],[-108.79393,39.16386],[-108.83224,39.16432],[-108.83196,39.17845],[-108.85061,39.17868],[-108.85033,39.19302],[-108.86938,39.19325],[-108.86906,39.20925],[-108.90237,39.20965],[-108.90208,39.22384],[-108.93946,39.22429],[-108.93915,39.23931]]],terms_url:"http://gis.mesacounty.us/",terms_text:"Mesa County GIS",icon:"https://gis.mesacounty.us/globalassets/images/county-logos/mesa-county-logo.png"},{id:"Metropole_Ruhr_RVR-DOP10",name:"Metropole Ruhr: Luftbilder (10 cm)",type:"wms",template:"https://geodaten.metropoleruhr.de/dop/dop?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=DOP&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[6.51691,51.81714],[6.52258,51.81469],[6.52281,51.81041],[6.52834,51.81053],[6.53991,51.80134],[6.5511,51.799],[6.56818,51.78992],[6.57476,51.79606],[6.58457,51.79369],[6.59102,51.8024],[6.60911,51.80019],[6.61081,51.79423],[6.63264,51.79981],[6.65946,51.7892],[6.66837,51.77738],[6.7138,51.78084],[6.70876,51.77131],[6.72131,51.76899],[6.7475,51.77035],[6.74862,51.77551],[6.75824,51.77656],[6.7698,51.76649],[6.77219,51.74596],[6.78862,51.74884],[6.79861,51.74217],[6.81927,51.74341],[6.81956,51.73741],[6.82683,51.72983],[6.8403,51.73694],[6.84995,51.73712],[6.85551,51.73636],[6.8586,51.72956],[6.9103,51.74592],[6.90861,51.75275],[6.91511,51.76144],[6.9157,51.7786],[6.93527,51.7738],[6.95606,51.77245],[6.97559,51.79936],[6.98794,51.80129],[6.99485,51.80141],[6.99497,51.79884],[7.02118,51.80014],[7.0244,51.7899],[7.03141,51.78745],[7.0316,51.78317],[7.03847,51.78414],[7.05392,51.77839],[7.06079,51.77936],[7.0609,51.77679],[7.07333,51.777],[7.07867,51.78137],[7.11433,51.78795],[7.13435,51.80542],[7.1616,51.81528],[7.16419,51.8196],[7.19177,51.82174],[7.2141,51.81694],[7.22121,51.81191],[7.23658,51.80785],[7.23668,51.80528],[7.24916,51.80461],[7.2535,51.79953],[7.26179,51.79966],[7.26485,51.79198],[7.26245,51.78252],[7.27229,51.77838],[7.26002,51.77391],[7.26012,51.77134],[7.2688,51.76118],[7.27577,51.75957],[7.27889,51.75019],[7.31079,51.74636],[7.3151,51.74214],[7.31519,51.73957],[7.31102,51.74036],[7.3125,51.73781],[7.32081,51.73707],[7.31169,51.72237],[7.29963,51.71277],[7.2985,51.70589],[7.31069,51.71207],[7.30825,51.70346],[7.32762,51.70202],[7.33057,51.69692],[7.34427,51.69969],[7.34599,51.69028],[7.33919,51.68761],[7.35589,51.68356],[7.35877,51.68017],[7.3781,51.67959],[7.39086,51.66947],[7.40617,51.6654],[7.41031,51.66545],[7.4101,51.67145],[7.43089,51.6683],[7.43892,51.67527],[7.44854,51.67625],[7.44933,51.69341],[7.44094,51.69673],[7.43792,51.7044],[7.42406,51.70593],[7.42245,51.71277],[7.43451,51.72321],[7.44825,51.72511],[7.46718,51.7365],[7.47273,51.73572],[7.4771,51.72892],[7.4826,51.72985],[7.47877,51.72037],[7.48435,51.71872],[7.48449,51.71444],[7.49119,51.72053],[7.49947,51.72063],[7.50214,51.72324],[7.51738,51.72172],[7.51788,51.70629],[7.53035,51.70473],[7.52922,51.69701],[7.53349,51.69277],[7.54458,51.6912],[7.5378,51.68768],[7.54477,51.6852],[7.5528,51.69301],[7.56651,51.69575],[7.56642,51.69832],[7.58706,51.70029],[7.59379,51.70551],[7.6048,51.7065],[7.60743,51.71082],[7.6143,51.71176],[7.61419,51.71518],[7.62663,51.71447],[7.62814,51.7102],[7.64321,51.71381],[7.6531,51.70621],[7.65428,51.71308],[7.668,51.71581],[7.66915,51.72353],[7.68832,51.72889],[7.69283,51.71608],[7.7012,51.71275],[7.71352,51.71631],[7.71481,51.71976],[7.71899,51.71809],[7.71749,51.72236],[7.72163,51.7224],[7.72555,51.73016],[7.73659,51.73028],[7.73638,51.73799],[7.75154,51.73901],[7.7699,51.72378],[7.77119,51.72722],[7.78908,51.72912],[7.79037,51.73256],[7.80282,51.73183],[7.80137,51.73439],[7.80825,51.73531],[7.81228,51.73964],[7.82058,51.73887],[7.82457,51.74491],[7.83287,51.74413],[7.83314,51.73385],[7.83739,51.72961],[7.85815,51.72724],[7.85822,51.72467],[7.86374,51.72472],[7.87187,51.7308],[7.87745,51.72828],[7.88038,51.72145],[7.88875,51.7181],[7.88912,51.70267],[7.90148,51.70536],[7.90568,51.70283],[7.91249,51.70632],[7.92768,51.7056],[7.92912,51.70305],[7.94014,51.704],[7.93746,51.70055],[7.94296,51.70146],[7.96108,51.69305],[7.97631,51.69061],[7.97779,51.68633],[7.9875,51.68385],[7.98761,51.67871],[7.99732,51.67622],[7.9974,51.67279],[7.98365,51.67096],[7.96286,51.67592],[7.95466,51.67242],[7.95366,51.65612],[7.94689,51.65092],[7.94984,51.64237],[7.94443,51.63804],[7.93477,51.6388],[7.93224,51.62935],[7.92406,51.62585],[7.92414,51.62242],[7.91195,51.61374],[7.91632,51.60349],[7.91378,51.59489],[7.87529,51.59282],[7.86837,51.59446],[7.85742,51.59179],[7.85889,51.58837],[7.82749,51.57863],[7.84327,51.55307],[7.83262,51.53925],[7.83277,51.53325],[7.84115,51.52819],[7.8345,51.51955],[7.83755,51.50758],[7.83212,51.50496],[7.83912,51.49988],[7.83923,51.4956],[7.84474,51.49479],[7.8506,51.48028],[7.83418,51.4784],[7.82198,51.47228],[7.80819,51.47471],[7.79876,51.46776],[7.78906,51.47109],[7.76169,51.46823],[7.74785,51.47237],[7.7425,51.46717],[7.73567,51.46623],[7.72864,51.47216],[7.69838,51.4744],[7.67525,51.46728],[7.65606,51.46621],[7.65347,51.46103],[7.63843,51.45914],[7.63589,51.45226],[7.62083,51.45122],[7.61407,51.44772],[7.61977,51.44092],[7.62525,51.44099],[7.62127,51.43666],[7.62825,51.43245],[7.62561,51.42899],[7.63125,51.42391],[7.61633,51.41859],[7.62183,51.4178],[7.62196,51.41352],[7.63313,51.40679],[7.61322,51.38512],[7.60485,51.39017],[7.60609,51.39447],[7.59647,51.39521],[7.58704,51.38995],[7.59,51.38313],[7.58465,51.37878],[7.58644,51.36509],[7.59234,51.35144],[7.59934,51.34638],[7.59257,51.34373],[7.59407,51.33946],[7.58186,51.33588],[7.58334,51.33247],[7.57655,51.33067],[7.57816,51.32298],[7.58373,51.31962],[7.57837,51.31612],[7.58134,51.30844],[7.58547,51.30763],[7.58305,51.29732],[7.56826,51.28942],[7.56582,51.27996],[7.55089,51.27635],[7.54977,51.26862],[7.52923,51.27008],[7.52797,51.26663],[7.51302,51.26387],[7.51049,51.25784],[7.50371,51.25604],[7.50385,51.25175],[7.49563,51.2525],[7.49438,51.24906],[7.49708,51.24995],[7.50271,51.24488],[7.50143,51.24229],[7.48262,51.23262],[7.469,51.23158],[7.46505,51.22724],[7.45129,51.23049],[7.44191,51.22522],[7.44478,51.22098],[7.43534,51.21742],[7.43816,51.21489],[7.43413,51.21312],[7.42995,51.21563],[7.42962,51.22506],[7.42408,51.22756],[7.41182,51.22653],[7.41342,51.2197],[7.39824,51.22463],[7.39521,51.23317],[7.40319,51.23928],[7.3934,51.246],[7.38793,51.24593],[7.38672,51.24162],[7.37853,51.24151],[7.37289,51.24657],[7.35526,51.2429],[7.35405,51.23859],[7.34849,51.24109],[7.339,51.23924],[7.33872,51.24695],[7.32904,51.25024],[7.3238,51.24417],[7.31284,51.24487],[7.31027,51.24054],[7.30481,51.24046],[7.29643,51.24549],[7.29764,51.24979],[7.28262,51.24957],[7.27541,51.25975],[7.2715,51.25455],[7.26734,51.25621],[7.26578,51.26133],[7.27623,51.27434],[7.26764,51.2845],[7.25531,51.28518],[7.26537,51.30847],[7.26521,51.31276],[7.25974,51.31268],[7.26511,51.31533],[7.26365,51.31788],[7.23393,51.308],[7.22973,51.31051],[7.2271,51.3079],[7.22296,51.3087],[7.22309,51.30527],[7.20682,51.30159],[7.20026,51.29463],[7.18792,51.2953],[7.18232,51.29864],[7.16869,51.29757],[7.18065,51.30633],[7.16674,51.31211],[7.16924,51.31815],[7.16503,51.32066],[7.1662,51.32582],[7.15645,51.32996],[7.15351,51.33505],[7.14807,51.33411],[7.14927,51.33842],[7.14513,51.33921],[7.15292,51.34962],[7.14882,51.34956],[7.14731,51.35296],[7.15665,51.35911],[7.15911,51.36601],[7.15189,51.37532],[7.14634,51.37695],[7.13957,51.37513],[7.13802,51.37939],[7.13262,51.37759],[7.127,51.38093],[7.12163,51.37827],[7.12153,51.38084],[7.11742,51.38078],[7.11626,51.37561],[7.11215,51.37555],[7.11205,51.37812],[7.1039,51.37627],[7.09853,51.37361],[7.10004,51.37021],[7.0919,51.36836],[7.08765,51.37172],[7.08088,51.3699],[7.07796,51.37414],[7.0552,51.36176],[7.04973,51.36167],[7.04404,51.36671],[7.03604,51.36144],[7.01944,51.36544],[7.01,51.36185],[7.00745,51.35752],[6.98689,51.35803],[6.98301,51.35282],[6.97743,51.35529],[6.97621,51.35184],[6.96545,51.34737],[6.95033,51.34882],[6.94748,51.35134],[6.9257,51.34839],[6.92422,51.35093],[6.92825,51.35272],[6.92137,51.35346],[6.92391,51.35779],[6.90565,51.36775],[6.90022,51.3668],[6.8904,51.37176],[6.87848,51.36297],[6.86745,51.36449],[6.85115,51.36162],[6.84552,51.36495],[6.84991,51.35903],[6.83385,51.35101],[6.82295,51.34995],[6.81731,51.35328],[6.81615,51.34897],[6.80939,51.34713],[6.80649,51.3505],[6.7941,51.35198],[6.79314,51.34339],[6.77673,51.34308],[6.7475,51.35281],[6.73831,51.34492],[6.72749,51.34214],[6.71287,51.33328],[6.69193,51.34144],[6.66428,51.3469],[6.65435,51.35356],[6.65789,51.36477],[6.67409,51.36938],[6.67794,51.3746],[6.67511,51.37626],[6.6684,51.37356],[6.67309,51.38908],[6.66081,51.38798],[6.65693,51.38362],[6.64602,51.38254],[6.64443,51.3868],[6.63626,51.38577],[6.63586,51.39348],[6.611,51.39726],[6.59479,51.39265],[6.57148,51.39302],[6.56618,51.38948],[6.55797,51.38931],[6.55496,51.39439],[6.54679,51.39337],[6.54505,51.40019],[6.53816,51.4009],[6.52939,51.41101],[6.52596,51.42379],[6.5149,51.42527],[6.51453,51.43213],[6.51987,51.43481],[6.52092,51.44084],[6.51119,51.4432],[6.50821,51.44743],[6.50273,51.44731],[6.50198,51.46101],[6.50709,51.46798],[6.49868,51.47123],[6.49698,51.4772],[6.49012,51.47705],[6.48714,51.48127],[6.4818,51.47859],[6.47608,51.48275],[6.47404,51.49471],[6.46699,51.49799],[6.46245,51.50561],[6.45407,51.508],[6.45497,51.51659],[6.44796,51.51901],[6.45326,51.52255],[6.44876,51.52931],[6.45562,51.52946],[6.47816,51.51966],[6.47499,51.52731],[6.48673,51.53871],[6.46262,51.55191],[6.49612,51.56806],[6.46176,51.56732],[6.42276,51.5759],[6.41912,51.56725],[6.40847,51.56101],[6.38918,51.56144],[6.37657,51.56545],[6.36951,51.56872],[6.36916,51.57471],[6.37726,51.57747],[6.37284,51.58251],[6.37372,51.59111],[6.35235,51.60349],[6.33482,51.59709],[6.32362,51.60026],[6.32067,51.60363],[6.33275,51.60905],[6.33392,51.6125],[6.30035,51.62117],[6.30143,51.62633],[6.29113,51.63725],[6.29225,51.64156],[6.29903,51.64343],[6.32563,51.63632],[6.32819,51.63981],[6.35403,51.64554],[6.35313,51.66095],[6.36553,51.66123],[6.36262,51.66374],[6.37069,51.66735],[6.38091,51.6813],[6.38062,51.68643],[6.37195,51.6931],[6.35808,51.6945],[6.35482,51.703],[6.3682,51.71016],[6.37642,51.7112],[6.38041,51.71387],[6.37731,51.7198],[6.38829,51.7209],[6.38789,51.72775],[6.40932,51.73937],[6.41055,51.74197],[6.40346,51.74524],[6.40597,51.74959],[6.40178,51.75035],[6.40287,51.75552],[6.41405,51.75319],[6.42134,51.7465],[6.42188,51.73708],[6.40877,51.72478],[6.40921,51.71708],[6.4164,51.71209],[6.44839,51.70765],[6.46246,51.70281],[6.47677,51.71855],[6.48908,51.72053],[6.48418,51.73414],[6.48942,51.7394],[6.48908,51.74539],[6.48171,51.75381],[6.53363,51.76434],[6.52478,51.77444],[6.50784,51.78094],[6.4898,51.80714],[6.48961,51.81056],[6.51162,51.81274],[6.51691,51.81714]]],terms_url:"https://www.metropoleruhr.de/regionalverband-ruhr.html",terms_text:"Datengrundlage: Regionalverband Ruhr"},{id:"miljodirektoratet-vern",name:"Miljødirektoratet Protected Areas overlay",type:"wms",template:"https://kart.miljodirektoratet.no/arcgis/services/vern/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=naturvern_klasser_omrade&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,22],polygon:[[[-10.95725,71.60964],[-6.16765,71.62095],[-6.13756,70.30991],[-10.92717,70.29784],[-10.95725,71.60964]],[[16.81947,74.9482],[21.25771,74.94213],[21.23712,73.8918],[16.79889,73.89828],[16.81947,74.9482]],[[4.04288,79.93593],[20.65421,81.54417],[36.6503,80.40108],[26.76265,75.8129],[13.88667,75.79135],[4.04288,79.93593]],[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://kart.naturbase.no",terms_text:"© Miljødirektoratet",description:"Norwegian national parks, nature reserves and other protected areas and objects from Naturbase, including Svalbard/Spitsbergen",icon:"http://www.miljodirektoratet.no/Framework/favicon-32.png",overlay:true},{id:"miljodirektoratet-friluftsomrader",name:"Miljødirektoratet Public Recreation Areas overlay",type:"wms",template:"https://kart.miljodirektoratet.no/arcgis/services/friluftsliv_statlig_sikra/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=friluftsliv_statlig_sikra&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,22],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"http://www.miljostatus.no/tema/friluftsliv/statlig-sikra-friluftlivsomrader/",terms_text:"© Miljødirektoratet",description:"Public recreation areas with State ownership (\"friluftsområder\").",icon:"http://www.miljodirektoratet.no/Framework/favicon-32.png",overlay:true},{id:"minador_do_negrao",name:"Minador do Negrão",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Minador%20do%20Negrao&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.8196,-9.35174],[-36.82017,-9.26142],[-36.82465,-9.26133],[-36.83064,-9.26147],[-36.83673,-9.2615],[-36.84228,-9.26148],[-36.84562,-9.2616],[-36.85564,-9.2616],[-36.86214,-9.26159],[-36.8659,-9.26147],[-36.86724,-9.2615],[-36.86952,-9.26149],[-36.87127,-9.26157],[-36.87476,-9.26153],[-36.87816,-9.26163],[-36.88321,-9.2617],[-36.88565,-9.26167],[-36.88857,-9.26148],[-36.89217,-9.26151],[-36.89383,-9.26163],[-36.8974,-9.26175],[-36.91122,-9.26183],[-36.9111,-9.26651],[-36.91112,-9.28542],[-36.91121,-9.29066],[-36.91118,-9.29368],[-36.91099,-9.29929],[-36.91091,-9.30729],[-36.9109,-9.3123],[-36.91083,-9.31597],[-36.91084,-9.32013],[-36.91098,-9.32395],[-36.91099,-9.32587],[-36.91079,-9.32964],[-36.91079,-9.33523],[-36.91074,-9.33944],[-36.91092,-9.34311],[-36.91084,-9.34471],[-36.91066,-9.35229],[-36.89277,-9.35225],[-36.87735,-9.35212],[-36.86463,-9.35203],[-36.85761,-9.35194],[-36.84344,-9.35191],[-36.83115,-9.3518],[-36.8196,-9.35174]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"mml-tausta",name:"MML Background Map",type:"tms",template:"http://tiles.kartat.kapsi.fi/taustakartta/{zoom}/{x}/{y}.jpg",zoomExtent:[2,19],polygon:[[[27.96569,70.0988],[27.57431,70.07728],[27.10876,69.93548],[26.70913,69.97549],[26.45507,69.94207],[25.87142,69.6671],[25.94833,69.61024],[25.83023,69.55323],[25.66955,69.20794],[25.73822,69.01797],[25.60089,68.90309],[25.45806,68.91199],[25.11749,68.80699],[25.07354,68.64355],[24.88128,68.62003],[23.97491,68.84568],[23.74969,68.8308],[23.63433,68.71645],[23.18939,68.68053],[22.52197,68.7553],[21.63894,69.28191],[21.26953,69.31783],[20.94131,69.21622],[21.08963,69.09307],[21.05941,69.04352],[20.72296,69.12491],[20.54443,69.0558],[20.84655,68.97416],[20.81634,68.91742],[21.38754,68.68461],[22.04734,68.47066],[22.80212,68.35464],[23.12072,68.13169],[23.5437,67.9633],[23.44757,67.8393],[23.48602,67.59352],[23.36517,67.46545],[23.71124,67.41592],[23.72772,67.32186],[23.54644,67.26885],[23.53128,67.16724],[23.89251,66.86863],[23.84582,66.57775],[23.61843,66.44562],[23.67171,66.20303],[23.87191,66.14551],[24.09988,65.87247],[24.1658,65.66959],[24.11636,65.39143],[21.37939,63.68037],[20.17639,63.29787],[19.08325,60.16064],[20.22033,59.44786],[22.29125,59.44507],[25.82336,59.933],[27.52075,60.23435],[27.83386,60.53229],[29.29641,61.26165],[31.20803,62.44759],[31.62826,62.90585],[31.2635,63.22106],[29.99605,63.75387],[30.28656,63.81704],[30.58319,64.0782],[30.5104,64.26428],[30.09979,64.39218],[30.02563,64.58736],[30.16845,64.63329],[30.09429,64.79518],[29.78393,64.79811],[29.65347,64.89733],[29.65759,65.05939],[29.91027,65.09527],[29.93225,65.20895],[29.72076,65.27853],[29.91577,65.63788],[30.1863,65.66223],[29.9913,66.09771],[29.07119,66.91983],[30.11077,67.63431],[29.3486,68.08099],[28.67568,68.20166],[28.46547,68.54039],[28.72375,68.72642],[28.82675,68.87341],[28.44985,68.90792],[28.95996,69.05089],[28.83324,69.10563],[28.87207,69.22132],[29.36096,69.46526],[29.15634,69.69667],[28.38455,69.83488],[28.35845,69.88312],[28.17169,69.92511],[28.00415,70.01495],[27.96569,70.0988]]],terms_url:"https://www.maanmittauslaitos.fi/en/",terms_text:"© Maanmittauslaitos",description:"Background map from the National Land Survey of Finland",icon:"https://www.maanmittauslaitos.fi/apple-touch-icon.png"},{id:"mml-orto",name:"MML Orthophoto",type:"tms",template:"http://tiles.kartat.kapsi.fi/ortokuva/{zoom}/{x}/{y}.jpg",zoomExtent:[2,19],polygon:[[[27.96569,70.0988],[27.57431,70.07728],[27.10876,69.93548],[26.70913,69.97549],[26.45507,69.94207],[25.87142,69.6671],[25.94833,69.61024],[25.83023,69.55323],[25.66955,69.20794],[25.73822,69.01797],[25.60089,68.90309],[25.45806,68.91199],[25.11749,68.80699],[25.07354,68.64355],[24.88128,68.62003],[23.97491,68.84568],[23.74969,68.8308],[23.63433,68.71645],[23.18939,68.68053],[22.52197,68.7553],[21.63894,69.28191],[21.26953,69.31783],[20.94131,69.21622],[21.08963,69.09307],[21.05941,69.04352],[20.72296,69.12491],[20.54443,69.0558],[20.84655,68.97416],[20.81634,68.91742],[21.38754,68.68461],[22.04734,68.47066],[22.80212,68.35464],[23.12072,68.13169],[23.5437,67.9633],[23.44757,67.8393],[23.48602,67.59352],[23.36517,67.46545],[23.71124,67.41592],[23.72772,67.32186],[23.54644,67.26885],[23.53128,67.16724],[23.89251,66.86863],[23.84582,66.57775],[23.61843,66.44562],[23.67171,66.20303],[23.87191,66.14551],[24.09988,65.87247],[24.1658,65.66959],[24.11636,65.39143],[21.37939,63.68037],[20.17639,63.29787],[19.08325,60.16064],[20.22033,59.44786],[22.29125,59.44507],[25.82336,59.933],[27.52075,60.23435],[27.83386,60.53229],[29.29641,61.26165],[31.20803,62.44759],[31.62826,62.90585],[31.2635,63.22106],[29.99605,63.75387],[30.28656,63.81704],[30.58319,64.0782],[30.5104,64.26428],[30.09979,64.39218],[30.02563,64.58736],[30.16845,64.63329],[30.09429,64.79518],[29.78393,64.79811],[29.65347,64.89733],[29.65759,65.05939],[29.91027,65.09527],[29.93225,65.20895],[29.72076,65.27853],[29.91577,65.63788],[30.1863,65.66223],[29.9913,66.09771],[29.07119,66.91983],[30.11077,67.63431],[29.3486,68.08099],[28.67568,68.20166],[28.46547,68.54039],[28.72375,68.72642],[28.82675,68.87341],[28.44985,68.90792],[28.95996,69.05089],[28.83324,69.10563],[28.87207,69.22132],[29.36096,69.46526],[29.15634,69.69667],[28.38455,69.83488],[28.35845,69.88312],[28.17169,69.92511],[28.00415,70.01495],[27.96569,70.0988]]],terms_url:"https://www.maanmittauslaitos.fi/en/",terms_text:"© Maanmittauslaitos",best:true,description:"Ortophotos from the National Land Survey of Finland",icon:"https://www.maanmittauslaitos.fi/apple-touch-icon.png"},{id:"mml-topo",name:"MML Topographic Map",type:"tms",template:"http://tiles.kartat.kapsi.fi/peruskartta/{zoom}/{x}/{y}.jpg",zoomExtent:[2,19],polygon:[[[27.96569,70.0988],[27.57431,70.07728],[27.10876,69.93548],[26.70913,69.97549],[26.45507,69.94207],[25.87142,69.6671],[25.94833,69.61024],[25.83023,69.55323],[25.66955,69.20794],[25.73822,69.01797],[25.60089,68.90309],[25.45806,68.91199],[25.11749,68.80699],[25.07354,68.64355],[24.88128,68.62003],[23.97491,68.84568],[23.74969,68.8308],[23.63433,68.71645],[23.18939,68.68053],[22.52197,68.7553],[21.63894,69.28191],[21.26953,69.31783],[20.94131,69.21622],[21.08963,69.09307],[21.05941,69.04352],[20.72296,69.12491],[20.54443,69.0558],[20.84655,68.97416],[20.81634,68.91742],[21.38754,68.68461],[22.04734,68.47066],[22.80212,68.35464],[23.12072,68.13169],[23.5437,67.9633],[23.44757,67.8393],[23.48602,67.59352],[23.36517,67.46545],[23.71124,67.41592],[23.72772,67.32186],[23.54644,67.26885],[23.53128,67.16724],[23.89251,66.86863],[23.84582,66.57775],[23.61843,66.44562],[23.67171,66.20303],[23.87191,66.14551],[24.09988,65.87247],[24.1658,65.66959],[24.11636,65.39143],[21.37939,63.68037],[20.17639,63.29787],[19.08325,60.16064],[20.22033,59.44786],[22.29125,59.44507],[25.82336,59.933],[27.52075,60.23435],[27.83386,60.53229],[29.29641,61.26165],[31.20803,62.44759],[31.62826,62.90585],[31.2635,63.22106],[29.99605,63.75387],[30.28656,63.81704],[30.58319,64.0782],[30.5104,64.26428],[30.09979,64.39218],[30.02563,64.58736],[30.16845,64.63329],[30.09429,64.79518],[29.78393,64.79811],[29.65347,64.89733],[29.65759,65.05939],[29.91027,65.09527],[29.93225,65.20895],[29.72076,65.27853],[29.91577,65.63788],[30.1863,65.66223],[29.9913,66.09771],[29.07119,66.91983],[30.11077,67.63431],[29.3486,68.08099],[28.67568,68.20166],[28.46547,68.54039],[28.72375,68.72642],[28.82675,68.87341],[28.44985,68.90792],[28.95996,69.05089],[28.83324,69.10563],[28.87207,69.22132],[29.36096,69.46526],[29.15634,69.69667],[28.38455,69.83488],[28.35845,69.88312],[28.17169,69.92511],[28.00415,70.01495],[27.96569,70.0988]]],terms_url:"https://www.maanmittauslaitos.fi/en/",terms_text:"© Maanmittauslaitos",description:"Topographic map from the National Land Survey of Finland",icon:"https://www.maanmittauslaitos.fi/apple-touch-icon.png"},{id:"mtbmap-no",name:"MTBmap.no",type:"tms",template:"https://mtbmap.no/tiles/osm/mtbmap/{zoom}/{x}/{y}.jpg",tileSize:512,zoomExtent:[3,14],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.mtbmap.no/",terms_text:"© MTBmap.no",description:"Norwegian mountain biking map from OSM (max zoom 14-16, varies per region)",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/no/MTBmapno.png"},{id:"Mulhouse_2018",name:"Mulhouse - 2018",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/mulhouse_2018/{zoom}/{x}/{y}",endDate:"2018-01-01T00:00:00.000Z",startDate:"2018-01-01T00:00:00.000Z",zoomExtent:[0,23],polygon:[[[7.53731,47.78041],[7.57439,47.84128],[7.57301,47.85602],[7.55035,47.86201],[7.53525,47.84588],[7.5016,47.85141],[7.45972,47.84174],[7.4556,47.83252],[7.4453,47.83114],[7.43088,47.84128],[7.41549,47.83831],[7.39174,47.84727],[7.38007,47.83851],[7.33475,47.83989],[7.34024,47.89563],[7.31758,47.91082],[7.28737,47.89977],[7.28462,47.88412],[7.24686,47.88228],[7.23724,47.87629],[7.23312,47.86431],[7.2139,47.86524],[7.183,47.85786],[7.17613,47.84819],[7.21115,47.82284],[7.18986,47.81085],[7.19948,47.78179],[7.16789,47.77025],[7.183,47.73517],[7.17682,47.72362],[7.19467,47.69451],[7.21802,47.68527],[7.24548,47.68527],[7.25166,47.69497],[7.2448,47.70376],[7.2551,47.71392],[7.27844,47.713],[7.27982,47.70237],[7.26814,47.69405],[7.26883,47.68434],[7.28531,47.67094],[7.30247,47.66308],[7.32376,47.65984],[7.33337,47.66724],[7.3732,47.65383],[7.39242,47.65475],[7.40822,47.6603],[7.39723,47.67648],[7.42744,47.68666],[7.47551,47.69821],[7.5222,47.69636],[7.55104,47.71531],[7.56134,47.73517],[7.53731,47.78041]]],terms_url:"https://data.mulhouse-alsace.fr/explore/dataset/m2a_orthophotographie-2018/information/",terms_text:"Mulhouse Alsace Agglomération 2018"},{id:"MunichLatestAerialImagery",name:"Munich latest aerial imagery 60cm",type:"wms",template:"https://ogc.muenchen.de/wms/opendata_luftbild?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=bgl0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[11,22],polygon:[[[11.48878,48.053],[11.55589,48.05323],[11.55583,48.06224],[11.56915,48.06229],[11.56908,48.07128],[11.64986,48.07155],[11.64993,48.06256],[11.70326,48.06274],[11.70313,48.08074],[11.71673,48.08079],[11.71667,48.08968],[11.7299,48.08972],[11.72963,48.12566],[11.74313,48.1257],[11.74292,48.15276],[11.72943,48.15271],[11.72936,48.16152],[11.71612,48.16147],[11.71592,48.18859],[11.7027,48.18855],[11.70263,48.19752],[11.67558,48.19743],[11.67537,48.22446],[11.66176,48.22441],[11.66169,48.23355],[11.64863,48.2335],[11.64857,48.24246],[11.54064,48.2421],[11.54058,48.25093],[11.52735,48.25088],[11.52728,48.26001],[11.47335,48.25983],[11.47356,48.23291],[11.46014,48.23287],[11.46021,48.22373],[11.43336,48.22364],[11.43343,48.21439],[11.3798,48.21421],[11.37987,48.20518],[11.36607,48.20514],[11.36621,48.18741],[11.35259,48.18737],[11.35266,48.17817],[11.33946,48.17813],[11.33973,48.14216],[11.36684,48.14225],[11.36697,48.12443],[11.38083,48.12448],[11.3809,48.11558],[11.44769,48.1158],[11.44804,48.07087],[11.46186,48.07091],[11.46193,48.06193],[11.48872,48.06202],[11.48878,48.053]]],terms_url:"http://www.geodatenservice-muenchen.de/",terms_text:"Datenquelle: dl-de/by-2-0: Landeshauptstadt München – Kommunalreferat – GeodatenService – www.geodatenservice-muenchen.de",icon:"https://www.muenchen.de/media/css/images/favicon_114x114.png"},{id:"openlabs-geoportal-public-transport",name:"Municipality of Tirana - Public Transport (Open Labs GeoPortal) (overlay)",type:"tms",template:"https://geoportal.openlabs.cc/mapcache/tms/1.0.0/public-transport@GoogleMapsCompatibleExtended/{zoom}/{x}/{-y}.png",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[19.73762,41.30154],[19.88628,41.27213],[19.86877,41.38582],[19.68338,41.3732],[19.73762,41.30154]]],terms_url:"https://geoportal.openlabs.cc/",terms_text:"Data provided by the Muncipality of Tirana hosted by Open Labs",description:"Bus stops & lines provided by the Muncipality of Tirana hosted by Open Labs",overlay:true},{id:"openlabs-geoportal-tirana",name:"Municipality of Tirana (Open Labs GeoPortal)",type:"tms",template:"https://geoportal.openlabs.cc/mapcache/tms/1.0.0/tirana@GoogleMapsCompatibleExtended/{zoom}/{x}/{-y}.png",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[19.70226,41.1404],[19.77573,41.11868],[19.86431,41.12126],[20.24986,41.3495],[20.03082,41.41184],[19.92577,41.5204],[19.88869,41.50755],[19.88937,41.42265],[19.81659,41.46177],[19.7335,41.43037],[19.74174,41.37887],[19.65797,41.37475],[19.57214,41.24322],[19.61815,41.22567],[19.67171,41.22722],[19.70226,41.1404]]],terms_url:"https://geoportal.openlabs.cc",terms_text:"Data provided by the Muncipality of Tirana hosted by Open Labs",description:"Streets & Builings provided by the Muncipality of Tirana hosted by Open Labs"},{id:"USDA-NAIP",name:"National Agriculture Imagery Program",type:"wms",template:"https://gis.apfo.usda.gov/arcgis/services/NAIP/USDA_CONUS_PRIME/ImageServer/WMSServer?FORMAT=image/jpeg&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[12,20],polygon:[[[-123.25493,48.7529],[-123.25493,48.55923],[-123.19222,48.55923],[-123.19222,48.43484],[-122.94196,48.43484],[-122.94196,48.37208],[-122.88062,48.37208],[-122.88062,48.30948],[-122.81676,48.30948],[-122.81676,48.19046],[-123.00411,48.19046],[-123.00411,48.12759],[-123.05842,48.12759],[-123.05842,48.19051],[-123.25411,48.19051],[-123.25411,48.1275],[-123.37066,48.1275],[-123.37066,48.19084],[-124.05826,48.19084],[-124.05826,48.25344],[-124.18152,48.25344],[-124.18152,48.31647],[-124.43191,48.31647],[-124.43191,48.37826],[-124.55646,48.37826],[-124.55646,48.44083],[-124.75551,48.44083],[-124.75551,48.1915],[-124.81853,48.1915],[-124.81853,48.12284],[-124.7553,48.12284],[-124.7553,47.55353],[-124.38121,47.55353],[-124.38121,47.12187],[-124.19289,47.12187],[-124.19289,43.75694],[-124.44434,43.75694],[-124.44434,43.14256],[-124.63989,43.14256],[-124.63989,42.61945],[-124.44385,42.61945],[-124.44385,39.80807],[-123.88157,39.80807],[-123.88157,39.11028],[-123.75805,39.11028],[-123.75805,38.49688],[-123.27028,38.49688],[-123.27028,37.93319],[-122.81481,37.93319],[-122.81481,37.80196],[-122.56643,37.80196],[-122.56643,36.93196],[-121.8784,36.93196],[-121.8784,36.68976],[-122.00347,36.68976],[-122.00347,36.43411],[-121.94142,36.43411],[-121.94142,35.92976],[-121.5041,35.92976],[-121.5041,35.81003],[-121.37903,35.81003],[-121.37903,35.42392],[-120.94265,35.42392],[-120.94265,35.18497],[-120.8172,35.18497],[-120.8172,35.12199],[-120.69184,35.12199],[-120.69184,34.49668],[-120.50459,34.49668],[-120.50459,34.43397],[-120.00788,34.43397],[-120.00788,34.36826],[-119.52835,34.36826],[-119.52835,34.05764],[-119.0061,34.05764],[-119.0061,33.99753],[-118.50463,33.99753],[-118.50463,33.86946],[-118.44132,33.86946],[-118.44132,33.68653],[-118.06691,33.68653],[-118.06691,33.30638],[-117.503,33.30638],[-117.503,33.05003],[-117.31882,33.05003],[-117.31882,32.62059],[-117.1917,32.62059],[-117.1917,32.49746],[-116.7465,32.49746],[-116.7465,32.56092],[-115.99701,32.56092],[-115.99701,32.62649],[-114.88081,32.62649],[-114.88081,32.43408],[-114.62945,32.43408],[-114.62945,32.37316],[-114.44474,32.37316],[-114.44474,32.30754],[-114.25576,32.30754],[-114.25576,32.24446],[-114.06803,32.24446],[-114.06803,32.18291],[-113.81665,32.18291],[-113.81665,32.12076],[-113.63074,32.12076],[-113.63074,32.05651],[-113.44175,32.05651],[-113.44175,31.99844],[-113.2546,31.99844],[-113.2546,31.93254],[-113.06807,31.93254],[-113.06807,31.87181],[-112.81611,31.87181],[-112.81611,31.81042],[-112.63088,31.81042],[-112.63088,31.74647],[-112.44189,31.74647],[-112.44189,31.6856],[-112.25719,31.6856],[-112.25719,31.62104],[-112.00338,31.62104],[-112.00338,31.55958],[-111.81562,31.55958],[-111.81562,31.49702],[-111.62786,31.49702],[-111.62786,31.43399],[-111.4419,31.43399],[-111.4419,31.37339],[-111.25597,31.37339],[-111.25597,31.31132],[-108.18458,31.31132],[-108.18458,31.74595],[-106.50651,31.74595],[-106.50651,31.68423],[-106.37973,31.68423],[-106.37973,31.62175],[-106.31743,31.62175],[-106.31743,31.49682],[-106.25518,31.49682],[-106.25518,31.43449],[-106.19247,31.43449],[-106.19247,31.37213],[-106.00392,31.37213],[-106.00392,31.30933],[-105.94166,31.30933],[-105.94166,31.24575],[-105.87982,31.24575],[-105.87982,31.18362],[-105.81623,31.18362],[-105.81623,31.12072],[-105.69212,31.12072],[-105.69212,31.05848],[-105.63029,31.05848],[-105.63029,30.93283],[-105.50444,30.93283],[-105.50444,30.87159],[-105.4413,30.87159],[-105.4413,30.80846],[-105.37815,30.80846],[-105.37815,30.74718],[-105.19047,30.74718],[-105.19047,30.68432],[-105.12862,30.68432],[-105.12862,30.61997],[-105.00365,30.61997],[-105.00365,30.55891],[-104.9418,30.55891],[-104.9418,30.49632],[-104.8782,30.49632],[-104.8782,30.30983],[-104.81553,30.30983],[-104.81553,30.24783],[-104.75361,30.24783],[-104.75361,29.93539],[-104.69095,29.93539],[-104.69095,29.80902],[-104.62913,29.80902],[-104.62913,29.68436],[-104.56599,29.68436],[-104.56599,29.62235],[-104.50372,29.62235],[-104.50372,29.55954],[-104.44101,29.55954],[-104.44101,29.49748],[-104.25376,29.49748],[-104.25376,29.37167],[-104.1292,29.37167],[-104.1292,29.30916],[-104.06887,29.30916],[-104.06887,29.24673],[-103.81873,29.24673],[-103.81873,29.18431],[-103.75574,29.18431],[-103.75574,29.12232],[-103.56675,29.12232],[-103.56675,29.05981],[-103.50498,29.05981],[-103.50498,28.99675],[-103.31658,28.99675],[-103.31658,28.93469],[-103.05976,28.93469],[-103.05976,29.0593],[-102.99797,29.0593],[-102.99797,29.12129],[-102.93314,29.12129],[-102.93314,29.18486],[-102.8096,29.18486],[-102.8096,29.25262],[-102.87013,29.25262],[-102.87013,29.3081],[-102.80967,29.3081],[-102.80967,29.37155],[-102.74757,29.37155],[-102.74757,29.55819],[-102.68455,29.55819],[-102.68455,29.68477],[-102.49678,29.68477],[-102.49678,29.74577],[-102.30866,29.74577],[-102.30866,29.80866],[-102.19093,29.80866],[-102.19093,29.74601],[-101.50499,29.74601],[-101.50499,29.68468],[-101.38058,29.68468],[-101.38058,29.55945],[-101.31751,29.55945],[-101.31751,29.49589],[-101.19101,29.49589],[-101.19101,29.43261],[-101.0675,29.43261],[-101.0675,29.30881],[-100.94189,29.30881],[-100.94189,29.24562],[-100.81673,29.24562],[-100.81673,29.11904],[-100.75227,29.11904],[-100.75227,29.05782],[-100.69254,29.05782],[-100.69254,28.87204],[-100.62902,28.87204],[-100.62902,28.80954],[-100.56799,28.80954],[-100.56799,28.62255],[-100.50404,28.62255],[-100.50404,28.55838],[-100.44218,28.55838],[-100.44218,28.49683],[-100.37943,28.49683],[-100.37943,28.30929],[-100.31719,28.30929],[-100.31719,28.18357],[-100.25448,28.18357],[-100.25448,28.12139],[-100.12823,28.12139],[-100.12823,28.05921],[-100.06595,28.05921],[-100.06595,27.99661],[-100.00239,27.99661],[-100.00239,27.93322],[-99.94265,27.93322],[-99.94265,27.74547],[-99.81685,27.74547],[-99.81685,27.68343],[-99.75413,27.68343],[-99.75413,27.62215],[-99.62916,27.62215],[-99.62916,27.5589],[-99.56728,27.5589],[-99.56728,27.43538],[-99.50418,27.43538],[-99.50418,27.3774],[-99.56718,27.3774],[-99.56718,27.24637],[-99.50498,27.24637],[-99.50498,26.99656],[-99.44274,26.99656],[-99.44274,26.8728],[-99.38006,26.8728],[-99.38006,26.80682],[-99.31907,26.80682],[-99.31907,26.74736],[-99.25375,26.74736],[-99.25375,26.62101],[-99.19106,26.62101],[-99.19106,26.49567],[-99.13006,26.49567],[-99.13006,26.37138],[-99.00295,26.37138],[-99.00295,26.30938],[-98.81657,26.30938],[-98.81657,26.24578],[-98.69201,26.24578],[-98.69201,26.18371],[-98.44409,26.18371],[-98.44409,26.12172],[-98.38232,26.12172],[-98.38232,26.05965],[-98.25327,26.05965],[-98.25327,25.99869],[-98.01091,25.99869],[-98.01091,25.99323],[-97.69323,25.99323],[-97.69323,25.93341],[-97.63139,25.93341],[-97.63139,25.86959],[-97.50468,25.86959],[-97.50468,25.80735],[-97.30834,25.80735],[-97.30834,25.87312],[-97.24563,25.87312],[-97.24563,25.93537],[-97.11389,25.93537],[-97.11389,27.68092],[-97.0571,27.68092],[-97.0571,27.81082],[-95.58108,27.81082],[-95.58108,28.74688],[-94.27104,28.74688],[-94.27104,29.55941],[-92.50299,29.55941],[-92.50299,29.49748],[-91.87762,29.49748],[-91.87762,29.3727],[-91.37842,29.3727],[-91.37842,29.24683],[-91.3154,29.24683],[-91.3154,29.18443],[-91.12947,29.18443],[-91.12947,29.12326],[-91.00526,29.12326],[-91.00526,28.99684],[-89.45002,28.99684],[-89.45002,28.86774],[-88.81043,28.86774],[-88.81043,30.18419],[-85.87915,30.18419],[-85.87915,29.5455],[-84.83681,29.5455],[-84.83681,29.62252],[-84.74828,29.62252],[-84.74828,29.68362],[-84.68589,29.68362],[-84.68589,29.74684],[-83.6297,29.74684],[-83.6297,29.43244],[-83.31749,29.43244],[-83.31749,29.05794],[-82.87966,29.05794],[-82.87966,27.74535],[-82.81828,27.74535],[-82.81828,26.92909],[-82.37968,26.92909],[-82.37968,26.36942],[-81.87771,26.36942],[-81.87771,25.80597],[-81.50369,25.80597],[-81.50369,25.74748],[-81.44055,25.74748],[-81.44055,25.68515],[-81.31559,25.68515],[-81.31559,25.5601],[-81.25385,25.5601],[-81.25385,25.43424],[-81.1902,25.43424],[-81.1902,25.12343],[-81.12881,25.12343],[-81.12881,25.06194],[-81.06492,25.06194],[-81.06492,24.81578],[-81.62895,24.81578],[-81.62895,24.75384],[-81.69072,24.75384],[-81.69072,24.68994],[-81.81732,24.68994],[-81.81732,24.62792],[-82.191,24.62792],[-82.191,24.49629],[-81.62166,24.49629],[-81.62166,24.55948],[-81.37201,24.55948],[-81.37201,24.62207],[-81.05933,24.62207],[-81.05933,24.68483],[-80.93471,24.68483],[-80.93471,24.74748],[-80.74711,24.74748],[-80.74711,24.81006],[-80.36299,24.81006],[-80.36299,25.11759],[-80.12234,25.11759],[-80.12234,25.74724],[-80.05885,25.74724],[-80.05885,26.37083],[-79.99584,26.37083],[-79.99584,26.9398],[-80.05873,26.9398],[-80.05873,27.12775],[-80.12263,27.12775],[-80.12263,27.25343],[-80.1847,27.25343],[-80.1847,27.37812],[-80.24617,27.37812],[-80.24617,27.56587],[-80.30948,27.56587],[-80.30948,27.75303],[-80.37215,27.75303],[-80.37215,27.87745],[-80.43515,27.87745],[-80.43515,28.00334],[-80.49661,28.00334],[-80.49661,28.12773],[-80.55872,28.12773],[-80.55872,28.37235],[-80.49663,28.37235],[-80.49663,29.51603],[-81.12136,29.51603],[-81.12136,31.6847],[-80.60187,31.6847],[-80.60187,32.24753],[-79.4921,32.24753],[-79.4921,32.99703],[-79.11165,32.99703],[-79.11165,33.37295],[-78.61536,33.37295],[-78.61536,33.80976],[-77.9317,33.80976],[-77.9317,33.87182],[-77.86923,33.87182],[-77.86923,34.05525],[-77.68264,34.05525],[-77.68264,34.29746],[-77.24535,34.29746],[-77.24535,34.55986],[-76.49733,34.55986],[-76.49733,34.6228],[-76.43376,34.6228],[-76.43376,34.68493],[-76.37321,34.68493],[-76.37321,34.74677],[-76.30594,34.74677],[-76.30594,34.80855],[-76.2468,34.80855],[-76.2468,34.87284],[-76.18259,34.87284],[-76.18259,34.93353],[-76.12081,34.93353],[-76.12081,34.99524],[-75.9979,34.99524],[-75.9979,35.05782],[-75.87034,35.05782],[-75.87034,35.12191],[-75.74622,35.12191],[-75.74622,35.18189],[-75.49297,35.18189],[-75.49297,35.3083],[-75.43257,35.3083],[-75.43257,35.75425],[-75.49699,35.75425],[-75.49699,37.81056],[-75.3083,37.81056],[-75.3083,37.87201],[-75.2456,37.87201],[-75.2456,37.99548],[-75.18288,37.99548],[-75.18288,38.05851],[-75.11848,38.05851],[-75.11848,38.24691],[-75.05921,38.24691],[-75.05921,38.37043],[-74.99481,38.37043],[-74.99481,38.87184],[-74.48783,38.87184],[-74.48783,39.30894],[-74.17663,39.30894],[-74.17663,39.62247],[-74.0567,39.62247],[-74.0567,39.93318],[-73.9959,39.93318],[-73.9959,40.18549],[-73.93416,40.18549],[-73.93416,40.49595],[-73.8723,40.49595],[-73.8723,40.55271],[-71.80745,40.55271],[-71.80745,41.3088],[-70.88251,41.3088],[-70.88251,41.18498],[-70.74619,41.18498],[-70.74619,41.30919],[-70.43376,41.30919],[-70.43376,41.49639],[-69.93343,41.49639],[-69.93343,41.62308],[-69.86986,41.62308],[-69.86986,41.87769],[-69.93579,41.87769],[-69.93579,42.00323],[-69.99758,42.00323],[-69.99758,42.06502],[-70.06061,42.06502],[-70.06061,42.12943],[-70.55729,42.12943],[-70.55729,43.24871],[-70.49741,43.24871],[-70.49741,43.30922],[-70.37042,43.30922],[-70.37042,43.37196],[-70.30857,43.37196],[-70.30857,43.49699],[-70.18392,43.49699],[-70.18392,43.62235],[-70.05758,43.62235],[-70.05758,43.68502],[-69.74552,43.68502],[-69.74552,43.74766],[-69.24728,43.74766],[-69.24728,43.8107],[-69.05607,43.8107],[-69.05607,43.87172],[-68.99505,43.87172],[-68.99505,43.9982],[-68.49637,43.9982],[-68.49637,44.05974],[-68.3081,44.05974],[-68.3081,44.12214],[-68.18518,44.12214],[-68.18518,44.30814],[-67.9956,44.30814],[-67.9956,44.37275],[-67.8103,44.37275],[-67.8103,44.43518],[-67.49653,44.43518],[-67.49653,44.49688],[-67.37102,44.49688],[-67.37102,44.56006],[-67.18488,44.56006],[-67.18488,44.62133],[-67.12212,44.62133],[-67.12212,44.68679],[-67.05936,44.68679],[-67.05936,44.74737],[-66.93111,44.74737],[-66.93111,44.94066],[-66.99468,44.94066],[-66.99468,45.00245],[-67.05958,45.00245],[-67.05958,45.12734],[-67.1202,45.12734],[-67.1202,45.19101],[-67.24698,45.19101],[-67.24698,45.25344],[-67.31775,45.25344],[-67.31775,45.18984],[-67.37075,45.18984],[-67.37075,45.2534],[-67.43269,45.2534],[-67.43269,45.30834],[-67.37086,45.30834],[-67.37086,45.4397],[-67.43056,45.4397],[-67.43056,45.49501],[-67.37099,45.49501],[-67.37099,45.62645],[-67.6215,45.62645],[-67.6215,45.68961],[-67.68383,45.68961],[-67.68383,45.75326],[-67.74621,45.75326],[-67.74621,47.12682],[-67.87001,47.12682],[-67.87001,47.19003],[-67.93238,47.19003],[-67.93238,47.25397],[-67.99594,47.25397],[-67.99594,47.31497],[-68.12067,47.31497],[-68.12067,47.37808],[-68.44232,47.37808],[-68.44232,47.31661],[-68.63143,47.31661],[-68.63143,47.25447],[-68.9978,47.25447],[-68.9978,47.43989],[-69.06072,47.43989],[-69.06072,47.50476],[-69.25381,47.50476],[-69.25381,47.43981],[-69.31793,47.43981],[-69.31793,47.3786],[-69.44385,47.3786],[-69.44385,47.31563],[-69.50382,47.31563],[-69.50382,47.25258],[-69.56678,47.25258],[-69.56678,47.19109],[-69.63035,47.19109],[-69.63035,47.1287],[-69.69331,47.1287],[-69.69331,47.06543],[-69.75571,47.06543],[-69.75571,47.00428],[-69.81804,47.00428],[-69.81804,46.94153],[-69.8804,46.94153],[-69.8804,46.87925],[-69.94217,46.87925],[-69.94217,46.81774],[-70.00631,46.81774],[-70.00631,46.69203],[-70.07043,46.69203],[-70.07043,46.44259],[-70.19459,46.44259],[-70.19459,46.37859],[-70.2562,46.37859],[-70.2562,46.31526],[-70.32037,46.31526],[-70.32037,46.06512],[-70.3815,46.06512],[-70.3815,45.93552],[-70.32016,45.93552],[-70.32016,45.87948],[-70.44931,45.87948],[-70.44931,45.75387],[-70.507,45.75387],[-70.507,45.69169],[-70.63166,45.69169],[-70.63166,45.62916],[-70.75755,45.62916],[-70.75755,45.44147],[-70.88099,45.44147],[-70.88099,45.37806],[-71.13328,45.37806],[-71.13328,45.31515],[-71.38303,45.31515],[-71.38303,45.25342],[-71.50764,45.25342],[-71.50764,45.06557],[-73.94189,45.06557],[-73.94189,45.00312],[-74.74697,45.00312],[-74.74697,45.0649],[-74.8801,45.0649],[-74.8801,45.0029],[-75.06625,45.0029],[-75.06625,44.94152],[-75.25394,44.94152],[-75.25394,44.8776],[-75.37896,44.8776],[-75.37896,44.81535],[-75.44313,44.81535],[-75.44313,44.75361],[-75.56666,44.75361],[-75.56666,44.69099],[-75.62902,44.69099],[-75.62902,44.6285],[-75.75405,44.6285],[-75.75405,44.56638],[-75.81731,44.56638],[-75.81731,44.50289],[-75.87995,44.50289],[-75.87995,44.37849],[-76.13003,44.37849],[-76.13003,44.31592],[-76.1927,44.31592],[-76.1927,44.25344],[-76.31826,44.25344],[-76.31826,44.19167],[-76.3793,44.19167],[-76.3793,44.06537],[-76.44276,44.06537],[-76.44276,43.99638],[-76.31703,43.99638],[-76.31703,43.94146],[-76.50766,43.94146],[-76.50766,43.87233],[-76.383,43.87233],[-76.383,43.80919],[-76.25341,43.80919],[-76.25341,43.56652],[-76.50648,43.56652],[-76.50648,43.50339],[-76.63312,43.50339],[-76.63312,43.44323],[-76.69511,43.44323],[-76.69511,43.37869],[-76.81778,43.37869],[-76.81778,43.31807],[-77.682,43.31807],[-77.682,43.37894],[-78.05659,43.37894],[-78.05659,43.43969],[-78.43897,43.43969],[-78.43897,43.37944],[-78.88034,43.37944],[-78.88034,43.31497],[-79.12989,43.31497],[-79.12989,43.24293],[-79.06696,43.24293],[-79.06696,43.12999],[-79.12989,43.12999],[-79.12989,43.05773],[-79.07126,43.05773],[-79.07126,42.92949],[-78.94326,42.92949],[-78.94326,42.75422],[-79.06944,42.75422],[-79.06944,42.69416],[-79.13344,42.69416],[-79.13344,42.6297],[-79.19475,42.6297],[-79.19475,42.56635],[-79.37868,42.56635],[-79.37868,42.50334],[-79.4443,42.50334],[-79.4443,42.44106],[-79.56799,42.44106],[-79.56799,42.37753],[-79.69062,42.37753],[-79.69062,42.31711],[-79.81646,42.31711],[-79.81646,42.25345],[-80.00524,42.25345],[-80.00524,42.19092],[-80.19168,42.19092],[-80.19168,42.12726],[-80.3168,42.12726],[-80.3168,42.06699],[-80.50632,42.06699],[-80.50632,42.00343],[-80.69305,42.00343],[-80.69305,41.94151],[-80.94404,41.94151],[-80.94404,41.87812],[-81.19427,41.87812],[-81.19427,41.81665],[-81.31901,41.81665],[-81.31901,41.75455],[-81.44184,41.75455],[-81.44184,41.69096],[-81.50535,41.69096],[-81.50535,41.63016],[-82.74701,41.63016],[-82.74701,41.75369],[-82.88391,41.75369],[-82.88391,41.56561],[-82.99572,41.56561],[-82.99572,41.62704],[-83.12578,41.62704],[-83.12578,41.68784],[-83.24747,41.68784],[-83.24747,41.75369],[-83.37373,41.75369],[-83.37373,41.80928],[-83.3106,41.80928],[-83.3106,41.87161],[-83.24747,41.87161],[-83.24747,41.93614],[-83.18434,41.93614],[-83.18434,41.99609],[-83.12077,41.99609],[-83.12077,42.24648],[-83.05892,42.24648],[-83.05892,42.30896],[-82.86853,42.30896],[-82.86853,42.37177],[-82.80722,42.37177],[-82.80722,42.55855],[-82.75537,42.55855],[-82.75537,42.49549],[-82.5599,42.49549],[-82.5599,42.55855],[-82.49678,42.55855],[-82.49678,42.68336],[-82.43289,42.68336],[-82.43289,42.93422],[-82.37006,42.93422],[-82.37006,43.06481],[-82.43289,43.06481],[-82.43289,43.19176],[-82.49475,43.19176],[-82.49475,43.50346],[-82.55713,43.50346],[-82.55713,43.81609],[-82.61979,43.81609],[-82.61979,43.94221],[-82.68395,43.94221],[-82.68395,44.00226],[-82.74653,44.00226],[-82.74653,44.06705],[-82.87087,44.06705],[-82.87087,44.12919],[-83.00852,44.12919],[-83.00852,44.06648],[-83.13361,44.06648],[-83.13361,44.00539],[-83.24145,44.00539],[-83.24145,44.9962],[-83.18061,44.9962],[-83.18061,45.0673],[-83.24552,45.0673],[-83.24552,45.12874],[-83.30659,45.12874],[-83.30659,45.25515],[-83.37061,45.25515],[-83.37061,45.31659],[-83.43256,45.31659],[-83.43256,45.37921],[-83.61784,45.37921],[-83.61784,45.44197],[-83.80843,45.44197],[-83.80843,45.50362],[-84.05507,45.50362],[-84.05507,45.56479],[-84.12352,45.56479],[-84.12352,45.62878],[-84.18075,45.62878],[-84.18075,45.69147],[-84.31116,45.69147],[-84.31116,45.93371],[-83.821,45.93371],[-83.821,45.87251],[-83.49681,45.87251],[-83.49681,45.93371],[-83.43381,45.93371],[-83.43381,46.00169],[-83.49627,46.00169],[-83.49627,46.06682],[-83.56,46.06682],[-83.56,46.12616],[-83.99546,46.12616],[-83.99546,46.19317],[-84.05918,46.19317],[-84.05918,46.3815],[-84.11526,46.3815],[-84.11526,46.49536],[-84.05918,46.49536],[-84.05918,46.56827],[-84.25795,46.56827],[-84.25795,46.50512],[-84.30719,46.50512],[-84.30719,46.56827],[-84.44154,46.56827],[-84.44154,46.50453],[-84.99657,46.50453],[-84.99657,46.68429],[-84.92982,46.68429],[-84.92982,46.81808],[-85.31659,46.81808],[-85.31659,46.75358],[-87.55626,46.75358],[-87.55626,47.44074],[-87.68254,47.44074],[-87.68254,47.50356],[-88.25607,47.50356],[-88.25607,47.44337],[-88.44174,47.44337],[-88.44174,47.37899],[-88.50683,47.37899],[-88.50683,47.31539],[-88.63128,47.31539],[-88.63128,47.25398],[-88.75696,47.25398],[-88.75696,47.19347],[-88.88383,47.19347],[-88.88383,47.12847],[-88.94342,47.12847],[-88.94342,47.06621],[-89.07087,47.06621],[-89.07087,47.00268],[-89.25656,47.00268],[-89.25656,46.94108],[-90.36777,46.94108],[-90.36777,47.68448],[-90.307,47.68448],[-90.307,47.74602],[-89.99486,47.74602],[-89.99486,47.80827],[-89.80486,47.80827],[-89.80486,47.87006],[-89.67977,47.87006],[-89.67977,47.93396],[-89.49338,47.93396],[-89.49338,47.9958],[-89.42847,47.9958],[-89.42847,48.06564],[-89.99327,48.06564],[-89.99327,48.1283],[-90.74559,48.1283],[-90.74559,48.18931],[-90.80873,48.18931],[-90.80873,48.25221],[-91.06776,48.25221],[-91.06776,48.19167],[-91.19462,48.19167],[-91.19462,48.1279],[-91.68142,48.1279],[-91.68142,48.2526],[-91.93219,48.2526],[-91.93219,48.31425],[-91.99297,48.31425],[-91.99297,48.37808],[-92.31894,48.37808],[-92.31894,48.25291],[-92.37322,48.25291],[-92.37322,48.31534],[-92.43223,48.31534],[-92.43223,48.44114],[-92.49772,48.44114],[-92.49772,48.50178],[-92.56794,48.50178],[-92.56794,48.43958],[-92.62105,48.43958],[-92.62105,48.56508],[-92.80868,48.56508],[-92.80868,48.62869],[-92.80868,48.62674],[-92.93318,48.62674],[-92.93318,48.69221],[-93.00517,48.69221],[-93.00517,48.6283],[-93.12259,48.6283],[-93.12259,48.69221],[-93.31908,48.69221],[-93.31908,48.62674],[-93.50495,48.62674],[-93.50495,48.56352],[-93.74746,48.56352],[-93.74746,48.62674],[-93.81355,48.62674],[-93.81355,48.68988],[-94.24531,48.68988],[-94.24531,48.75543],[-94.61832,48.75543],[-94.61832,48.94104],[-94.6809,48.94104],[-94.6809,49.00297],[-94.74415,49.00297],[-94.74415,49.25361],[-94.80841,49.25361],[-94.80841,49.37841],[-95.11924,49.37841],[-95.11924,49.44253],[-95.19343,49.44253],[-95.19343,49.00353],[-96.87069,49.00353],[-96.87069,49.06561],[-99.00493,49.06561],[-99.00493,49.00507],[-109.36993,49.00507],[-109.36993,49.06682],[-109.50587,49.06682],[-109.50587,49.00507],[-114.183,49.00507],[-114.183,49.06873],[-114.75787,49.06873],[-114.75787,49.00507],[-115.43373,49.00507],[-115.43373,49.06714],[-116.50627,49.06714],[-116.50627,49.00507],[-117.30895,49.00507],[-117.30895,49.06598],[-119.88295,49.06598],[-119.88295,49.00507],[-120.12086,49.00507],[-120.12086,49.06784],[-121.44516,49.06784],[-121.44516,49.00507],[-121.93118,49.00507],[-121.93118,49.06561],[-122.81748,49.06561],[-122.81748,49.00291],[-122.87952,49.00291],[-122.87952,48.9347],[-122.81746,48.9347],[-122.81746,48.8102],[-122.75389,48.8102],[-122.75389,48.75338],[-122.87129,48.75338],[-122.87129,48.81539],[-123.00554,48.81539],[-123.00554,48.75295],[-123.12969,48.75295],[-123.12969,48.69022],[-123.18382,48.69022],[-123.18382,48.7529],[-123.25493,48.7529]],[[-122.93417,37.75215],[-122.93475,37.6842],[-123.0679,37.6849],[-123.06737,37.74753],[-123.12926,37.74785],[-123.12869,37.81569],[-123.05907,37.81532],[-123.05959,37.75281],[-122.93417,37.75215]],[[-71.62995,41.25409],[-71.49665,41.25414],[-71.49656,41.12297],[-71.62986,41.12291],[-71.62995,41.25409]],[[-70.31843,41.37752],[-70.31834,41.24482],[-70.19066,41.24487],[-70.19062,41.1886],[-69.9336,41.1887],[-69.93373,41.37919],[-69.99507,41.37917],[-69.99511,41.44316],[-70.07078,41.44313],[-70.0707,41.31449],[-70.24617,41.31443],[-70.24621,41.37755],[-70.31843,41.37752]],[[-68.94034,43.94041],[-68.68569,43.9405],[-68.68565,43.87218],[-68.74654,43.87216],[-68.7465,43.81025],[-68.80908,43.81023],[-68.80903,43.74673],[-68.87731,43.7467],[-68.87735,43.81178],[-68.94025,43.81176],[-68.94034,43.94041]],[[-123.12915,49.06451],[-122.99542,49.06451],[-122.99542,48.93432],[-123.12915,48.93432],[-123.12915,49.06451]],[[-82.94071,24.75359],[-82.87194,24.75359],[-82.87194,24.69057],[-82.74462,24.69057],[-82.74462,24.62146],[-82.8088,24.62146],[-82.8088,24.55949],[-82.94071,24.55949],[-82.94071,24.75359]]],description:"The most recent year of DOQQs from the National Agriculture Imagery Program (NAIP) for each state in the contiguous United States.",icon:"https://osmlab.github.io/editor-layer-index/sources/north-america/us/USDA.png"},{id:"NC-US",name:"NC Latest Orthoimagery",type:"wms",template:"https://services.nconemap.gov/secure/services/Imagery/Orthoimagery_Latest/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2014-01-01T00:00:00.000Z",startDate:"2010-01-01T00:00:00.000Z",polygon:[[[-81.6792,36.5974],[-80.25359,36.54793],[-75.8409,36.5671],[-75.4323,35.6441],[-75.50475,35.18806],[-75.70525,35.17684],[-76.14745,34.94077],[-76.53472,34.55487],[-76.69676,34.66789],[-77.27904,34.53224],[-77.68828,34.26482],[-77.9435,33.8269],[-78.21288,33.89402],[-78.5301,33.8304],[-79.6693,34.7916],[-80.8122,34.8085],[-80.84685,34.96329],[-80.95122,35.05552],[-81.06383,35.01729],[-81.07482,35.13417],[-82.3632,35.1805],[-82.9989,34.9919],[-84.3333,34.9767],[-84.27184,35.28229],[-84.09056,35.27332],[-83.91478,35.53301],[-83.55498,35.5911],[-83.2556,35.73392],[-82.98644,35.81414],[-82.92327,35.96767],[-82.67882,36.0854],[-82.60192,36.08984],[-82.536,35.96989],[-82.35472,36.14752],[-82.04436,36.14309],[-81.90428,36.33803],[-81.74224,36.37342],[-81.6792,36.5974]]],description:"Most recent true color imagery for the state of North Carolina. The imagery has a pixel resolution of 6 inches and is comprised of imagery flown in 2010, 2012, 2013, and 2014"},{id:"landsat-niger-2012_10",name:"Niger Delta Oct 2012 Landsat",type:"tms",template:"http://{switch:a,b,c,d}.imagery.paulnorman.ca/tiles/niger_oct_2012_321/{zoom}/{x}/{y}.png",endDate:"2012-10-01T00:00:00.000Z",startDate:"2012-10-01T00:00:00.000Z",zoomExtent:[1,13],polygon:[[[-6.92922,13.78574],[-5.13295,13.51884],[-5.07802,13.74039],[-3.60036,13.52418],[-3.54543,13.74039],[-2.06227,13.52685],[-1.3564,16.58454],[-3.17464,16.85285],[-3.22408,16.62665],[-4.72371,16.85022],[-4.76766,16.63455],[-6.27553,16.84759],[-6.92922,13.78574]]]},{id:"img.nj.gov-Infrared2015",name:"NJ 2015 Aerial Imagery (Infrared)",type:"wms",template:"https://img.nj.gov/imagerywms/Infrared2015?FORMAT=image/png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS={proj}&WIDTH={width}&HEIGHT={height}&LAYERS=Infrared2015&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-05-03T00:00:00.000Z",startDate:"2015-03-29T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[-74.86599,40.08543],[-74.93534,40.07256],[-75.05653,40.00868],[-75.14236,39.95791],[-75.14456,39.88322],[-75.18515,39.88042],[-75.24499,39.85486],[-75.33339,39.8495],[-75.41531,39.80156],[-75.45131,39.78304],[-75.57744,39.62346],[-75.54245,39.56827],[-75.57847,39.48183],[-74.91678,38.84647],[-74.31702,39.38739],[-74.06708,39.75155],[-73.92141,40.49222],[-74.2382,40.49378],[-74.23859,40.54916],[-74.20211,40.54924],[-74.20228,40.57648],[-74.18406,40.57609],[-74.18436,40.63146],[-74.07587,40.63078],[-74.07532,40.64457],[-74.02124,40.65811],[-74.02081,40.69919],[-74.00265,40.69929],[-74.00247,40.74037],[-73.98434,40.74026],[-73.98402,40.78145],[-73.96591,40.78158],[-73.96597,40.80868],[-73.94777,40.80861],[-73.94769,40.82232],[-73.92966,40.82225],[-73.92906,40.86355],[-73.91104,40.86329],[-73.91061,40.91838],[-73.8923,40.91831],[-73.89215,40.95961],[-73.87413,40.95942],[-73.87386,40.99251],[-74.70601,41.36513],[-74.75716,41.34769],[-74.79801,41.32268],[-74.84024,41.27864],[-74.90547,41.17038],[-74.98152,41.1126],[-75.03902,41.03819],[-75.13515,40.99441],[-75.13773,40.97309],[-75.05705,40.86757],[-75.06846,40.85037],[-75.09687,40.85096],[-75.10099,40.83927],[-75.09018,40.82238],[-75.1367,40.77729],[-75.1724,40.78067],[-75.19833,40.75389],[-75.20506,40.69131],[-75.20373,40.61832],[-75.19764,40.57367],[-75.16777,40.55907],[-75.10237,40.56702],[-75.06906,40.5365],[-75.07421,40.45505],[-75.06134,40.4165],[-75.02684,40.40252],[-74.9671,40.3952],[-74.94461,40.33817],[-74.86839,40.29157],[-74.84402,40.24796],[-74.77552,40.21428],[-74.76334,40.19172],[-74.72918,40.16392],[-74.72609,40.14949],[-74.78805,40.12468],[-74.8229,40.13033],[-74.86599,40.08543]]],terms_url:"https://njgin.state.nj.us/NJ_NJGINExplorer/ShowMetadata.jsp?docId=188471FF-2803-4145-A5AD-605DE86D3B4D",terms_text:"NJ Office of Information Technology (NJOIT), Office of Geographic Information Systems (OGIS)",description:"Digital orthophotography of New Jersey, Near Infrared, 1 foot resolution"},{id:"img.nj.gov-Natural2015",name:"NJ 2015 Aerial Imagery (Natural Color)",type:"wms",template:"https://img.nj.gov/imagerywms/Natural2015?FORMAT=image/png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS={proj}&WIDTH={width}&HEIGHT={height}&LAYERS=Natural2015&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-05-03T00:00:00.000Z",startDate:"2015-03-29T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[-74.86599,40.08543],[-74.93534,40.07256],[-75.05653,40.00868],[-75.14236,39.95791],[-75.14456,39.88322],[-75.18515,39.88042],[-75.24499,39.85486],[-75.33339,39.8495],[-75.41531,39.80156],[-75.45131,39.78304],[-75.57744,39.62346],[-75.54245,39.56827],[-75.57847,39.48183],[-74.91678,38.84647],[-74.31702,39.38739],[-74.06708,39.75155],[-73.92141,40.49222],[-74.2382,40.49378],[-74.23859,40.54916],[-74.20211,40.54924],[-74.20228,40.57648],[-74.18406,40.57609],[-74.18436,40.63146],[-74.07587,40.63078],[-74.07532,40.64457],[-74.02124,40.65811],[-74.02081,40.69919],[-74.00265,40.69929],[-74.00247,40.74037],[-73.98434,40.74026],[-73.98402,40.78145],[-73.96591,40.78158],[-73.96597,40.80868],[-73.94777,40.80861],[-73.94769,40.82232],[-73.92966,40.82225],[-73.92906,40.86355],[-73.91104,40.86329],[-73.91061,40.91838],[-73.8923,40.91831],[-73.89215,40.95961],[-73.87413,40.95942],[-73.87386,40.99251],[-74.70601,41.36513],[-74.75716,41.34769],[-74.79801,41.32268],[-74.84024,41.27864],[-74.90547,41.17038],[-74.98152,41.1126],[-75.03902,41.03819],[-75.13515,40.99441],[-75.13773,40.97309],[-75.05705,40.86757],[-75.06846,40.85037],[-75.09687,40.85096],[-75.10099,40.83927],[-75.09018,40.82238],[-75.1367,40.77729],[-75.1724,40.78067],[-75.19833,40.75389],[-75.20506,40.69131],[-75.20373,40.61832],[-75.19764,40.57367],[-75.16777,40.55907],[-75.10237,40.56702],[-75.06906,40.5365],[-75.07421,40.45505],[-75.06134,40.4165],[-75.02684,40.40252],[-74.9671,40.3952],[-74.94461,40.33817],[-74.86839,40.29157],[-74.84402,40.24796],[-74.77552,40.21428],[-74.76334,40.19172],[-74.72918,40.16392],[-74.72609,40.14949],[-74.78805,40.12468],[-74.8229,40.13033],[-74.86599,40.08543]]],terms_url:"https://njgin.state.nj.us/NJ_NJGINExplorer/ShowMetadata.jsp?docId=188471FF-2803-4145-A5AD-605DE86D3B4D",terms_text:"NJ Office of Information Technology (NJOIT), Office of Geographic Information Systems (OGIS)",description:"Digital orthophotography of New Jersey, Natural Color, 1 foot resolution"},{id:"NLSC-EMAP5",name:"NLSC General Map with Contour line",type:"tms",template:"https://wmts.nlsc.gov.tw/wmts/EMAP5_OPENDATA/default/EPSG:3857/{zoom}/{y}/{x}",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[0,15],polygon:[[[121.2237,25.76997],[122.2251,26.60305],[122.9312,22.57058],[120.6771,20.72799],[118.2509,23.26265],[118.3036,23.30751],[118.1978,24.34453],[118.1036,24.36172],[118.2283,24.49486],[118.4416,24.55302],[118.6024,24.46068],[120.0474,25.38843],[119.8935,25.78169],[119.787,26.2048],[120.4578,26.53253],[121.2237,25.76997]]],terms_url:"https://maps.nlsc.gov.tw",terms_text:"© National Land Surveying and Mapping Center, Taiwan OGDL 1.0",description:"The emap from Taiwan National Land Surveying and Mapping Center",icon:"https://osmlab.github.io/editor-layer-index/sources/asia/tw/Taiwane-MapOpenData.png"},{id:"IBGE_Salvador_Streets",name:"Nomes de Ruas IBGE Salvador-BA",type:"tms",template:"https://api.mapbox.com/styles/v1/wille/cj8lp78dn62wl2rquim47qo0g/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoid2lsbGUiLCJhIjoicFNVWk5VWSJ9.hluCd0YGvYHNlFi_utWe2g",zoomExtent:[0,20],polygon:[[[-38.48974,-12.81113],[-38.54485,-13.01392],[-38.47755,-13.03466],[-38.33473,-12.94685],[-38.30006,-12.90669],[-38.33954,-12.90435],[-38.35482,-12.83021],[-38.38091,-12.82184],[-38.40717,-12.86754],[-38.46537,-12.81599],[-38.48974,-12.81113]]],description:"Streets geometry and names of Salvador, Bahia. Source: Faces de Logradouro - IBGE.",overlay:true},{id:"kelkkareitit",name:"Nordic snowmobile overlay",type:"tms",template:"https://tiles.kelkkareitit.fi/kelkkareitit/{zoom}/{x}/{y}.png",zoomExtent:[3,18],polygon:[[[27.53173,60.21799],[31.35496,62.51233],[31.63513,62.90773],[30.09154,64.91889],[30.21239,65.87473],[29.13573,66.90422],[30.19041,67.67609],[28.70726,68.42748],[29.02587,68.9505],[31.04735,69.53452],[31.78344,70.44784],[28.32274,71.32192],[23.76342,71.29023],[17.1826,69.99806],[12.10691,68.01581],[9.97556,64.85828],[4.13084,61.95963],[4.57029,59.00664],[6.21826,57.95859],[8.14086,57.8506],[10.41502,58.75682],[12.63702,56.0383],[12.7716,55.25095],[14.2932,55.19769],[18.58886,56.84297],[20.69823,59.3444],[27.53173,60.21799]]],terms_url:"https://kelkkareitit.fi/",terms_text:"© Kelkkareitit.fi",description:"Kelkkareitit.fi snowmobile trails from OSM (Nordic coverage)",icon:"https://kelkkareitit.fi/img/favicon.png",overlay:true},{id:"geovekst-nib",name:"Norway Orthophoto",type:"tms",template:"https://waapi.webatlas.no/maptiles/tiles/webatlas-orto-newup/wa_grid/{zoom}/{x}/{y}.jpeg?api_key=b8e36d51-119a-423b-b156-d744d54123d5",zoomExtent:[0,21],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://www.norgeibilder.no",terms_text:"© Geovekst",best:true,description:"Norwegian orthophotos (max zoom 21), courtesy of Geovekst and Norkart.",icon:"https://register.geonorge.no/data/organizations/_L_norgeibilder96x96.png"},{id:"geovekst-nib2",name:"Norway Orthophoto (more recent, less zoom)",type:"tms",template:"https://opencache{switch:,2,3}.statkart.no/gatekeeper/gk/gk.open_nib_web_mercator_wmts_v2?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=Nibcache_web_mercator_v2&STYLE=default&FORMAT=image/jpgpng&tileMatrixSet=default028mm&tileMatrix={zoom}&tileRow={y}&tileCol={x}",zoomExtent:[0,19],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://www.norgeibilder.no",terms_text:"© Geovekst",best:true,description:"Most recent Norwegian orthophotos (max zoom 19), courtesy of Geovekst and Kartverket.",icon:"https://register.geonorge.no/data/organizations/_L_norgeibilder96x96.png"},{id:"npd-offshore",name:"NPD Offshore Installations overlay",type:"wms",template:"http://gis.npd.no/ogc/factmaps/2_0?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=fclFixed,pplAll,fldByStatus&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[6,20],polygon:[[[8.51989,57.6454],[3.25195,56.08737],[2.61185,56.59434],[1.96321,57.90482],[1.48178,58.42936],[1.98303,60.31063],[1.78802,61.35659],[-0.49061,63.88725],[1.36226,67.01603],[14.99771,74.50082],[36.99371,74.50155],[36.99989,73.68633],[32.06909,70.27429],[23.97215,70.47356],[16.25974,68.58447],[12.12888,64.81157],[5.38328,61.92862],[5.7678,58.85355],[8.51989,57.6454]]],terms_url:"http://www.npd.no/no/Kart/Faktakart/",terms_text:"© Oljedirektoratet",description:"Production platforms and oil/natural gas fields on the Norwegian continental shelf",icon:"https://register.geonorge.no/data/organizations/870917732_od_liten.png",overlay:true},{id:"nve-snoskred",name:"NVE Avalanche Danger Areas overlay",type:"wms",template:"https://gis3.nve.no/map/services/SkredSnoAktR/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Snoskred-Aktsomhetsomrader&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[5,13],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.nve.no/flaum-og-skred/kartlegging/aktsemdkart/aktsomhetskart-for-snoskred/",terms_text:"© NVE",description:"Potential snowslide areas, computed from theoretical height model. Valid for drops higher than 20-50 meters. Dark red=trigger area.",icon:"https://www.nve.no/Content/Images/nve-logo.png",overlay:true},{id:"nve-nettanlegg",name:"NVE Electricity Network overlay",type:"wms",template:"https://gis3.nve.no/map/services/Nettanlegg1/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Sentralnett,Regionalnett,Distribusjonsnett,Sjokabler,Master og stolper,Transformatorstasjoner&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[6,22],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.nve.no/karttjenester/",terms_text:"© NVE",description:"Power lines (high voltage network) including transformers, submarine cables and pylons. Local distribution network is not included.",icon:"https://www.nve.no/Content/Images/nve-logo.png",overlay:true},{id:"nve-vannkraft",name:"NVE Hydropower Plants overlay",type:"wms",template:"https://gis3.nve.no/map/services/Vannkraft1/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Vannkraftverk,Vannvei,Dam&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[6,22],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.nve.no/karttjenester/",terms_text:"© NVE",description:"Hydropower plants including waterways (tunnel, canal, pipeline) and dams",icon:"https://www.nve.no/Content/Images/nve-logo.png",overlay:true},{id:"nve-vindkraft",name:"NVE Wind Power Plants overlay",type:"wms",template:"https://gis3.nve.no/map/services/Vindkraft2/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Vindkraft_konsesjon_gitt_ikke_utbygd,Vindkraft_under_bygging,Vindkraft_utbygd,Vindkraftomrade,Vindturbin&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[6,22],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.nve.no/karttjenester/",terms_text:"© NVE",description:"Wind power turbines, farms and concession areas (blue: planned, light green: construction, dark green: built).",icon:"https://www.nve.no/Content/Images/nve-logo.png",overlay:true},{id:"orthos.dhses.ny.gov_latest",name:"NYS Orthos Online",type:"wms",template:"https://orthos.dhses.ny.gov/arcgis/services/Latest/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0,1,2,3,4&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2018-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[0,19],polygon:[[[-74.91231,45.03606],[-73.47788,45.02996],[-73.33846,45.03098],[-73.31978,45.00558],[-73.32265,44.98525],[-73.34852,44.9283],[-73.36721,44.8397],[-73.34277,44.81727],[-73.34565,44.77647],[-73.37296,44.73463],[-73.37008,44.67946],[-73.39739,44.64471],[-73.39308,44.60276],[-73.39739,44.54543],[-73.34996,44.51264],[-73.34565,44.49521],[-73.37871,44.4706],[-73.30828,44.43572],[-73.30397,44.41827],[-73.33271,44.33917],[-73.30828,44.27128],[-73.30828,44.25172],[-73.38014,44.14868],[-73.40458,44.04133],[-73.3399,43.79596],[-73.28097,43.64222],[-73.2091,43.54957],[-73.21342,43.51206],[-73.24647,42.67557],[-73.45919,42.14284],[-73.47069,42.03938],[-73.48794,41.73764],[-73.49944,41.64319],[-73.47788,41.62708],[-73.43189,41.57979],[-73.42614,41.56366],[-73.42685,41.45926],[-73.43979,41.40322],[-73.44985,41.38328],[-73.43835,41.37033],[-73.42757,41.35901],[-73.41751,41.3439],[-73.41895,41.27642],[-73.43045,41.24455],[-73.46566,41.19752],[-73.52962,41.14505],[-73.55477,41.13368],[-73.61586,41.13531],[-73.62664,41.10878],[-73.62736,41.05407],[-73.63958,40.99118],[-73.61873,40.98195],[-73.59933,40.96568],[-73.59933,40.93474],[-73.63455,40.91682],[-73.68054,40.89183],[-73.69851,40.87988],[-73.68629,40.87064],[-73.66257,40.87934],[-73.63814,40.90541],[-73.59789,40.91193],[-73.57562,40.9179],[-73.52675,40.92388],[-73.50159,40.94288],[-73.4901,40.95374],[-73.41751,40.96079],[-73.38374,40.96133],[-73.33702,40.95591],[-73.30828,40.93637],[-73.27091,40.92659],[-73.2091,40.91953],[-73.18682,40.92714],[-73.16814,40.93148],[-73.16598,40.95971],[-73.16886,40.97002],[-73.12933,40.98195],[-73.10777,40.98195],[-73.06681,40.9749],[-72.8584,40.97436],[-72.71826,40.98195],[-72.65574,41.00528],[-72.64424,41.00473],[-72.62628,40.99226],[-72.54148,41.03889],[-72.4768,41.06328],[-72.45811,41.08928],[-72.41859,41.09308],[-72.36612,41.13856],[-72.36037,41.1418],[-72.32229,41.15479],[-72.29067,41.16399],[-72.21449,41.18238],[-72.20083,41.19157],[-72.04848,41.25914],[-72.02548,41.2937],[-71.93924,41.30774],[-71.92343,41.30666],[-71.90259,41.2991],[-71.90187,41.28939],[-71.99458,41.24509],[-72.10453,41.19806],[-72.18287,41.16723],[-72.18934,41.16237],[-72.25186,41.12232],[-72.30432,41.10445],[-72.31582,41.09524],[-72.27917,41.08441],[-72.2727,41.08062],[-72.26839,41.04973],[-72.21736,41.04811],[-72.19652,41.04215],[-72.18646,41.05298],[-72.17137,41.0584],[-72.14981,41.05895],[-72.15628,41.09633],[-72.15268,41.1077],[-72.14909,41.14667],[-72.134,41.14505],[-72.07076,41.10553],[-72.07435,41.05678],[-72.08657,41.03185],[-72.10957,41.0069],[-72.08729,41.01287],[-72.06213,41.02534],[-72.04561,41.03239],[-72.01902,41.03293],[-72.00895,41.04215],[-72.00177,41.05136],[-71.96368,41.07737],[-71.922,41.08874],[-71.88966,41.08766],[-71.85588,41.08062],[-71.84582,41.07466],[-71.85588,41.05298],[-71.89038,41.03727],[-71.91625,41.03022],[-71.99099,41.00365],[-72.07938,40.97273],[-72.31941,40.88205],[-72.4423,40.8402],[-72.62771,40.7869],[-72.76569,40.75043],[-72.88499,40.71286],[-72.95973,40.68671],[-73.03735,40.66],[-73.08118,40.64855],[-73.22994,40.61637],[-73.32193,40.6131],[-73.35211,40.61855],[-73.55477,40.56944],[-73.75959,40.57708],[-73.88248,40.54815],[-73.9335,40.53449],[-73.945,40.53395],[-73.94572,40.56289],[-74.08227,40.56234],[-74.08011,40.54924],[-74.12251,40.52084],[-74.15772,40.51373],[-74.18719,40.50117],[-74.22887,40.48696],[-74.26121,40.48532],[-74.2763,40.4957],[-74.27918,40.54378],[-74.26983,40.56671],[-74.25834,40.57217],[-74.22528,40.57217],[-74.226,40.58309],[-74.25115,40.59564],[-74.25259,40.62237],[-74.24324,40.64091],[-74.2339,40.64909],[-74.20228,40.654],[-74.12538,40.65673],[-74.11532,40.69107],[-74.09951,40.68998],[-74.07795,40.71068],[-74.06286,40.7183],[-74.05208,40.7439],[-74.02549,40.79288],[-73.98094,40.86901],[-73.96225,40.92551],[-73.94931,40.96459],[-73.94644,40.99877],[-73.98165,41.01612],[-74.04561,41.04323],[-74.18072,41.09524],[-74.30792,41.14938],[-74.44087,41.21537],[-74.52783,41.25914],[-74.61335,41.30234],[-74.65791,41.31098],[-74.70246,41.33581],[-74.76714,41.38975],[-74.79661,41.41023],[-74.85338,41.42263],[-74.90728,41.43179],[-74.99783,41.47111],[-75.04167,41.52708],[-75.08479,41.59323],[-75.08407,41.61848],[-75.07329,41.66467],[-75.08766,41.70278],[-75.08766,41.71351],[-75.12144,41.76177],[-75.11928,41.79232],[-75.13078,41.81696],[-75.18755,41.83838],[-75.25295,41.84962],[-75.28745,41.85497],[-75.29823,41.88227],[-75.30613,41.9304],[-75.34063,41.94003],[-75.3665,41.9566],[-75.37225,41.97744],[-75.58066,41.97957],[-75.58137,41.92399],[-75.78906,41.92666],[-75.78691,41.98278],[-79.77687,41.98118],[-79.7819,42.20994],[-79.77184,42.28017],[-79.72153,42.29824],[-79.57349,42.36731],[-79.42976,42.46599],[-79.3737,42.49991],[-79.25728,42.54546],[-79.18973,42.5624],[-79.16529,42.56981],[-79.12074,42.62483],[-79.0963,42.64598],[-79.06899,42.6967],[-79.03162,42.71043],[-78.98851,42.72311],[-78.88358,42.77693],[-78.88646,42.8149],[-78.93964,42.88655],[-78.93964,42.93603],[-79.04887,42.96969],[-79.04743,43.05167],[-79.09343,43.05272],[-79.09199,43.09262],[-79.08624,43.26556],[-79.06468,43.27602],[-78.84909,43.33041],[-78.72979,43.35237],[-78.63924,43.37013],[-78.54869,43.37953],[-78.47826,43.38789],[-77.95508,43.38476],[-77.73158,43.34714],[-77.71146,43.34034],[-77.66259,43.31159],[-77.61516,43.28387],[-77.55336,43.253],[-77.5282,43.25509],[-77.45634,43.27864],[-77.42256,43.28492],[-77.16385,43.29433],[-77.0503,43.29381],[-76.94178,43.29329],[-76.91447,43.30793],[-76.85051,43.3163],[-76.80236,43.32832],[-76.75996,43.35184],[-76.64785,43.42809],[-76.54509,43.48026],[-76.51993,43.49486],[-76.44304,43.52717],[-76.4222,43.53811],[-76.28206,43.53863],[-76.23822,43.55686],[-76.24038,43.74147],[-76.30649,43.82915],[-76.31152,43.8675],[-76.34602,43.8618],[-76.40064,43.86128],[-76.47178,43.88408],[-76.46675,43.90893],[-76.4186,43.93119],[-76.37189,43.93223],[-76.36974,43.90272],[-76.33308,43.92964],[-76.27847,43.92964],[-76.27847,43.90427],[-76.26697,43.89599],[-76.23607,43.91204],[-76.19295,43.93326],[-76.19007,43.95086],[-76.21523,43.96017],[-76.25044,43.94982],[-76.31224,43.94775],[-76.30578,43.9762],[-76.33093,44.00464],[-76.39561,44.0248],[-76.39848,44.06251],[-76.37548,44.06457],[-76.3762,44.0909],[-76.47107,44.09297],[-76.46604,44.10948],[-76.44232,44.1296],[-76.39848,44.13218],[-76.39776,44.20435],[-76.3762,44.21671],[-76.23966,44.21929],[-76.23966,44.22804],[-76.21738,44.22856],[-76.21523,44.3479],[-76.11893,44.37103],[-76.04634,44.39157],[-75.93423,44.43418],[-75.83721,44.50341],[-75.76822,44.55823],[-75.69923,44.60379],[-75.63168,44.64829],[-75.56772,44.70501],[-75.50448,44.74586],[-75.45274,44.78157],[-75.31763,44.8723],[-75.15378,44.93745],[-75.09054,44.97305],[-74.97411,45.02793],[-74.91985,45.03682],[-74.91231,45.03606]]],terms_url:"https://gis.ny.gov/gateway/orthoprogram/index.cfm",terms_text:"New York State Statewide Digital Orthoimagery Program",description:"New York State High Resolution Digital Orthoimagery, 1 foot resolution",icon:"https://osmlab.github.io/editor-layer-index/sources/north-america/us/ny/NYS_Orthos_Online.png"},{id:"olho_dagua_do_casado",name:"Olho d'Agua do Casado AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Olho%20Dagua%20do%20Casado&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.7822,-9.54444],[-37.7826,-9.45388],[-37.81147,-9.45412],[-37.81735,-9.45451],[-37.82057,-9.45416],[-37.87394,-9.45428],[-37.87358,-9.54475],[-37.7822,-9.54444]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"osmbe-nl",name:"OpenStreetMap (Belgian Style - Dutch)",type:"tms",template:"https://tile.openstreetmap.be/osmbe-nl/{zoom}/{x}/{y}.png",zoomExtent:[0,18],polygon:[[[5.47007,49.49196],[5.44409,49.51409],[5.46213,49.53677],[5.43766,49.54766],[5.42566,49.59145],[5.40775,49.60448],[5.35207,49.62396],[5.34232,49.61192],[5.30544,49.60645],[5.3026,49.63608],[5.32535,49.6575],[5.27025,49.68827],[5.24458,49.67985],[5.16215,49.6918],[5.16164,49.71172],[5.12622,49.70442],[5.09058,49.75946],[5.06262,49.75724],[5.01261,49.77534],[4.9921,49.79533],[4.95485,49.79586],[4.94404,49.78583],[4.90589,49.78055],[4.84827,49.78972],[4.86599,49.81918],[4.84266,49.86913],[4.85659,49.86973],[4.87961,49.91078],[4.84433,49.94482],[4.78844,49.95381],[4.78535,49.97018],[4.79004,49.98569],[4.81194,49.99563],[4.81579,50.02853],[4.83599,50.04069],[4.82339,50.04664],[4.81641,50.06702],[4.83456,50.06856],[4.83709,50.09442],[4.84472,50.10023],[4.85447,50.1029],[4.866,50.09623],[4.86587,50.12038],[4.8776,50.13223],[4.89443,50.13779],[4.88043,50.1403],[4.87725,50.15205],[4.8529,50.15168],[4.83169,50.1526],[4.82334,50.15923],[4.78067,50.14092],[4.76486,50.13634],[4.75217,50.11158],[4.71293,50.09598],[4.70278,50.09336],[4.68851,50.06595],[4.70309,50.05587],[4.68731,50.01802],[4.69495,49.99662],[4.69461,49.99504],[4.63074,49.98584],[4.58965,49.98336],[4.55981,49.96757],[4.54315,49.9679],[4.52365,49.94973],[4.51156,49.94579],[4.47953,49.94584],[4.44588,49.93656],[4.40593,49.94785],[4.39149,49.94697],[4.38072,49.95088],[4.34921,49.95202],[4.3137,49.96541],[4.19616,49.9536],[4.19304,49.95746],[4.19582,49.96629],[4.13704,49.97691],[4.15996,49.99544],[4.13683,50.00786],[4.13272,50.01973],[4.16174,50.05032],[4.17458,50.04772],[4.22857,50.06873],[4.19529,50.10571],[4.19766,50.12037],[4.19566,50.13394],[4.15448,50.12716],[4.13656,50.12909],[4.12568,50.13511],[4.13677,50.15213],[4.14989,50.1647],[4.14686,50.17314],[4.15567,50.19785],[4.14799,50.21344],[4.15979,50.21579],[4.19179,50.24106],[4.21836,50.25492],[4.20676,50.27068],[4.17487,50.27492],[4.16567,50.28779],[4.155,50.27742],[4.16937,50.26848],[4.16851,50.25626],[4.13426,50.25572],[4.13228,50.26754],[4.12086,50.27276],[4.12139,50.29732],[4.10928,50.30112],[4.0977,50.31201],[4.08017,50.30809],[4.07339,50.31754],[4.03817,50.33987],[4.02738,50.35491],[3.98611,50.34137],[3.96482,50.34012],[3.96355,50.34742],[3.90223,50.3257],[3.88419,50.32554],[3.88429,50.33511],[3.85645,50.34099],[3.84244,50.35243],[3.81321,50.34251],[3.80551,50.35098],[3.74124,50.34624],[3.73556,50.32532],[3.73175,50.30705],[3.70911,50.3021],[3.68231,50.31988],[3.66397,50.34724],[3.65542,50.37075],[3.66788,50.38597],[3.67276,50.40227],[3.66777,50.42262],[3.66743,50.43635],[3.65685,50.4464],[3.66129,50.45399],[3.64419,50.4618],[3.6099,50.4935],[3.58162,50.48917],[3.56897,50.4982],[3.49868,50.48577],[3.49448,50.49918],[3.51582,50.52075],[3.4742,50.53204],[3.44739,50.50415],[3.43663,50.5083],[3.42736,50.50327],[3.37405,50.48993],[3.35949,50.50325],[3.32767,50.50732],[3.31872,50.51788],[3.30319,50.51966],[3.28718,50.52552],[3.27549,50.53872],[3.27524,50.59381],[3.25497,50.62115],[3.24349,50.64031],[3.23893,50.65864],[3.24019,50.67023],[3.26029,50.67692],[3.25131,50.69091],[3.25881,50.69312],[3.24518,50.71225],[3.23779,50.71086],[3.22148,50.70958],[3.20498,50.71072],[3.18953,50.72603],[3.19445,50.7316],[3.14457,50.78871],[3.12547,50.78553],[3.11348,50.79278],[3.10455,50.78042],[3.08585,50.77064],[3.05758,50.77987],[3.04064,50.77484],[3.03691,50.77003],[3.02927,50.76813],[3.01945,50.77263],[2.99536,50.76043],[2.96822,50.74763],[2.9557,50.75181],[2.93962,50.74441],[2.94602,50.73167],[2.9349,50.72822],[2.92939,50.70786],[2.92206,50.70224],[2.91184,50.70267],[2.91281,50.69463],[2.90742,50.69209],[2.90017,50.69202],[2.88533,50.70547],[2.87992,50.70199],[2.86855,50.70242],[2.84646,50.72043],[2.81843,50.71386],[2.78869,50.72508],[2.77811,50.74686],[2.76469,50.75397],[2.75409,50.76251],[2.75922,50.77052],[2.73745,50.77967],[2.7236,50.79079],[2.71636,50.8123],[2.6788,50.81207],[2.67057,50.81562],[2.63543,50.80987],[2.61055,50.84419],[2.59427,50.84743],[2.60628,50.86565],[2.60151,50.90993],[2.58525,50.91825],[2.62479,50.94743],[2.62148,50.95406],[2.60263,50.98638],[2.56946,51.00113],[2.55892,51.06596],[2.34072,51.31453],[3.01078,51.59839],[3.32658,51.43728],[3.37581,51.3584],[3.38739,51.33392],[3.36094,51.31523],[3.3789,51.30251],[3.36832,51.29778],[3.38177,51.28732],[3.38342,51.27485],[3.38922,51.27329],[3.41852,51.25984],[3.43471,51.24621],[3.45031,51.24219],[3.527,51.24651],[3.51433,51.28799],[3.54179,51.29123],[3.56145,51.29637],[3.57559,51.29428],[3.58905,51.30652],[3.63839,51.29078],[3.6582,51.29056],[3.69139,51.28043],[3.71763,51.27428],[3.77605,51.26777],[3.79652,51.25635],[3.79031,51.24163],[3.78934,51.22711],[3.79294,51.21546],[3.85827,51.21334],[3.88901,51.22423],[3.89467,51.21743],[3.88782,51.20283],[3.91256,51.20837],[3.91482,51.21509],[3.9281,51.22508],[3.93751,51.2174],[3.95603,51.22117],[4.01551,51.24825],[4.0551,51.24402],[4.1651,51.2938],[4.23804,51.35274],[4.21772,51.36206],[4.21546,51.37487],[4.33535,51.37775],[4.34197,51.36012],[4.38556,51.35574],[4.39906,51.35785],[4.42462,51.3668],[4.42309,51.37577],[4.38147,51.41805],[4.39426,51.44251],[4.37771,51.44595],[4.38055,51.45075],[4.4768,51.47912],[4.53739,51.48358],[4.54967,51.47364],[4.53097,51.44965],[4.53758,51.42456],[4.57427,51.43404],[4.6431,51.42478],[4.64951,51.42741],[4.66744,51.42777],[4.66465,51.44625],[4.69115,51.45283],[4.70175,51.46691],[4.72792,51.48435],[4.74476,51.48977],[4.74945,51.49905],[4.75827,51.50302],[4.7766,51.50625],[4.81666,51.49552],[4.82318,51.48441],[4.84355,51.48177],[4.83884,51.46588],[4.84529,51.45817],[4.82521,51.44674],[4.83103,51.42488],[4.88072,51.4166],[4.91431,51.45952],[4.95767,51.4548],[4.94134,51.42928],[4.93775,51.40655],[4.96007,51.42194],[4.99955,51.44324],[5.00816,51.47134],[5.01937,51.48074],[5.03235,51.48827],[5.04093,51.4876],[5.04722,51.47217],[5.08032,51.47226],[5.10643,51.43135],[5.0727,51.39365],[5.11662,51.36118],[5.13225,51.3472],[5.13581,51.31594],[5.15592,51.31278],[5.20039,51.32325],[5.24326,51.3057],[5.22742,51.26844],[5.238,51.26255],[5.26216,51.26778],[5.335,51.26474],[5.34493,51.27681],[5.41551,51.2639],[5.44065,51.28246],[5.48215,51.30064],[5.51628,51.29599],[5.55816,51.26613],[5.56283,51.22287],[5.65253,51.19899],[5.65947,51.19052],[5.71011,51.18671],[5.74598,51.19455],[5.76873,51.18843],[5.78118,51.18082],[5.78447,51.15925],[5.82594,51.16827],[5.85709,51.14477],[5.83976,51.12993],[5.81435,51.11524],[5.83555,51.10842],[5.8338,51.09577],[5.82291,51.09124],[5.8119,51.0943],[5.79816,51.09023],[5.80612,51.07955],[5.80458,51.05888],[5.77731,51.05804],[5.76027,51.03223],[5.77383,51.02859],[5.77829,51.02399],[5.76759,51.00526],[5.76846,50.9985],[5.76419,50.99502],[5.74816,50.98087],[5.72174,50.96128],[5.73469,50.95683],[5.7426,50.96113],[5.74604,50.96209],[5.75617,50.95898],[5.76011,50.95227],[5.73223,50.9221],[5.72625,50.9059],[5.70051,50.90955],[5.69711,50.8958],[5.68051,50.88068],[5.64516,50.86533],[5.64337,50.84974],[5.64049,50.84701],[5.64576,50.83961],[5.64567,50.83789],[5.65094,50.83431],[5.65568,50.82591],[5.70296,50.80821],[5.69338,50.79687],[5.70259,50.78396],[5.69204,50.75629],[5.7218,50.76538],[5.73762,50.75842],[5.73912,50.76522],[5.76476,50.7837],[5.77748,50.78344],[5.78519,50.7684],[5.7927,50.77138],[5.80759,50.75681],[5.84525,50.76609],[5.84901,50.75975],[5.88667,50.77108],[5.89689,50.75501],[5.95896,50.76308],[6.02001,50.75521],[6.04208,50.74557],[6.03953,50.7295],[6.11623,50.72364],[6.1491,50.68465],[6.16312,50.67169],[6.17755,50.65576],[6.18715,50.6505],[6.18348,50.6457],[6.18205,50.63583],[6.26822,50.62829],[6.27251,50.62033],[6.24102,50.58657],[6.22795,50.58535],[6.18304,50.55597],[6.1833,50.54646],[6.19789,50.53715],[6.22586,50.49832],[6.26954,50.50961],[6.35349,50.49244],[6.34706,50.46422],[6.37423,50.45989],[6.3825,50.43975],[6.37408,50.40637],[6.35129,50.38206],[6.40305,50.34866],[6.41162,50.32769],[6.40783,50.31893],[6.38558,50.31658],[6.36388,50.30021],[6.32792,50.3186],[6.31289,50.31636],[6.29335,50.2909],[6.29547,50.27422],[6.28111,50.26236],[6.23624,50.25692],[6.21151,50.24816],[6.1981,50.23275],[6.18166,50.23125],[6.1789,50.22147],[6.19337,50.20761],[6.19683,50.17988],[6.15231,50.16841],[6.15923,50.14002],[6.13978,50.12527],[6.10856,50.1326],[6.11273,50.16093],[6.10156,50.16551],[6.08452,50.16697],[6.0821,50.15275],[6.06344,50.14834],[6.03055,50.15829],[6.02136,50.17685],[5.96932,50.16795],[5.96515,50.12813],[5.90347,50.11172],[5.89064,50.07554],[5.86237,50.06368],[5.8749,50.04624],[5.86392,50.02594],[5.82586,50.00934],[5.82665,50.00135],[5.8448,49.99123],[5.83952,49.9756],[5.80883,49.95773],[5.78215,49.957],[5.76822,49.91307],[5.74481,49.89975],[5.78087,49.88794],[5.78897,49.87213],[5.77636,49.86265],[5.75667,49.8703],[5.76191,49.85693],[5.75803,49.84287],[5.74291,49.83555],[5.75151,49.81985],[5.75473,49.79514],[5.7909,49.79765],[5.8179,49.75977],[5.83544,49.74713],[5.82702,49.72616],[5.86996,49.72777],[5.88817,49.70952],[5.86372,49.68213],[5.91262,49.66488],[5.90382,49.65192],[5.90876,49.63876],[5.89899,49.63401],[5.89117,49.63469],[5.87663,49.60771],[5.84953,49.59399],[5.87403,49.58991],[5.8736,49.57435],[5.84053,49.55222],[5.82582,49.54931],[5.81858,49.5461],[5.79504,49.55029],[5.77149,49.55832],[5.76226,49.554],[5.76126,49.53952],[5.74792,49.53452],[5.73009,49.53954],[5.6987,49.53744],[5.66008,49.55039],[5.64371,49.54565],[5.6228,49.5283],[5.62589,49.51698],[5.61175,49.50102],[5.59116,49.51734],[5.55638,49.52373],[5.54257,49.5105],[5.47007,49.49196]]],terms_url:"https://openstreetmap.org/",terms_text:"© OpenStreetMap contributors, CC-BY-SA; Tiles courtesy of GEO-6",icon:"https://osmlab.github.io/editor-layer-index/sources/world/OpenStreetMap-GPS.png"},{id:"osmbe-fr",name:"OpenStreetMap (Belgian Style - French)",type:"tms",template:"https://tile.openstreetmap.be/osmbe-fr/{zoom}/{x}/{y}.png",zoomExtent:[0,18],polygon:[[[5.47007,49.49196],[5.44409,49.51409],[5.46213,49.53677],[5.43766,49.54766],[5.42566,49.59145],[5.40775,49.60448],[5.35207,49.62396],[5.34232,49.61192],[5.30544,49.60645],[5.3026,49.63608],[5.32535,49.6575],[5.27025,49.68827],[5.24458,49.67985],[5.16215,49.6918],[5.16164,49.71172],[5.12622,49.70442],[5.09058,49.75946],[5.06262,49.75724],[5.01261,49.77534],[4.9921,49.79533],[4.95485,49.79586],[4.94404,49.78583],[4.90589,49.78055],[4.84827,49.78972],[4.86599,49.81918],[4.84266,49.86913],[4.85659,49.86973],[4.87961,49.91078],[4.84433,49.94482],[4.78844,49.95381],[4.78535,49.97018],[4.79004,49.98569],[4.81194,49.99563],[4.81579,50.02853],[4.83599,50.04069],[4.82339,50.04664],[4.81641,50.06702],[4.83456,50.06856],[4.83709,50.09442],[4.84472,50.10023],[4.85447,50.1029],[4.866,50.09623],[4.86587,50.12038],[4.8776,50.13223],[4.89443,50.13779],[4.88043,50.1403],[4.87725,50.15205],[4.8529,50.15168],[4.83169,50.1526],[4.82334,50.15923],[4.78067,50.14092],[4.76486,50.13634],[4.75217,50.11158],[4.71293,50.09598],[4.70278,50.09336],[4.68851,50.06595],[4.70309,50.05587],[4.68731,50.01802],[4.69495,49.99662],[4.69461,49.99504],[4.63074,49.98584],[4.58965,49.98336],[4.55981,49.96757],[4.54315,49.9679],[4.52365,49.94973],[4.51156,49.94579],[4.47953,49.94584],[4.44588,49.93656],[4.40593,49.94785],[4.39149,49.94697],[4.38072,49.95088],[4.34921,49.95202],[4.3137,49.96541],[4.19616,49.9536],[4.19304,49.95746],[4.19582,49.96629],[4.13704,49.97691],[4.15996,49.99544],[4.13683,50.00786],[4.13272,50.01973],[4.16174,50.05032],[4.17458,50.04772],[4.22857,50.06873],[4.19529,50.10571],[4.19766,50.12037],[4.19566,50.13394],[4.15448,50.12716],[4.13656,50.12909],[4.12568,50.13511],[4.13677,50.15213],[4.14989,50.1647],[4.14686,50.17314],[4.15567,50.19785],[4.14799,50.21344],[4.15979,50.21579],[4.19179,50.24106],[4.21836,50.25492],[4.20676,50.27068],[4.17487,50.27492],[4.16567,50.28779],[4.155,50.27742],[4.16937,50.26848],[4.16851,50.25626],[4.13426,50.25572],[4.13228,50.26754],[4.12086,50.27276],[4.12139,50.29732],[4.10928,50.30112],[4.0977,50.31201],[4.08017,50.30809],[4.07339,50.31754],[4.03817,50.33987],[4.02738,50.35491],[3.98611,50.34137],[3.96482,50.34012],[3.96355,50.34742],[3.90223,50.3257],[3.88419,50.32554],[3.88429,50.33511],[3.85645,50.34099],[3.84244,50.35243],[3.81321,50.34251],[3.80551,50.35098],[3.74124,50.34624],[3.73556,50.32532],[3.73175,50.30705],[3.70911,50.3021],[3.68231,50.31988],[3.66397,50.34724],[3.65542,50.37075],[3.66788,50.38597],[3.67276,50.40227],[3.66777,50.42262],[3.66743,50.43635],[3.65685,50.4464],[3.66129,50.45399],[3.64419,50.4618],[3.6099,50.4935],[3.58162,50.48917],[3.56897,50.4982],[3.49868,50.48577],[3.49448,50.49918],[3.51582,50.52075],[3.4742,50.53204],[3.44739,50.50415],[3.43663,50.5083],[3.42736,50.50327],[3.37405,50.48993],[3.35949,50.50325],[3.32767,50.50732],[3.31872,50.51788],[3.30319,50.51966],[3.28718,50.52552],[3.27549,50.53872],[3.27524,50.59381],[3.25497,50.62115],[3.24349,50.64031],[3.23893,50.65864],[3.24019,50.67023],[3.26029,50.67692],[3.25131,50.69091],[3.25881,50.69312],[3.24518,50.71225],[3.23779,50.71086],[3.22148,50.70958],[3.20498,50.71072],[3.18953,50.72603],[3.19445,50.7316],[3.14457,50.78871],[3.12547,50.78553],[3.11348,50.79278],[3.10455,50.78042],[3.08585,50.77064],[3.05758,50.77987],[3.04064,50.77484],[3.03691,50.77003],[3.02927,50.76813],[3.01945,50.77263],[2.99536,50.76043],[2.96822,50.74763],[2.9557,50.75181],[2.93962,50.74441],[2.94602,50.73167],[2.9349,50.72822],[2.92939,50.70786],[2.92206,50.70224],[2.91184,50.70267],[2.91281,50.69463],[2.90742,50.69209],[2.90017,50.69202],[2.88533,50.70547],[2.87992,50.70199],[2.86855,50.70242],[2.84646,50.72043],[2.81843,50.71386],[2.78869,50.72508],[2.77811,50.74686],[2.76469,50.75397],[2.75409,50.76251],[2.75922,50.77052],[2.73745,50.77967],[2.7236,50.79079],[2.71636,50.8123],[2.6788,50.81207],[2.67057,50.81562],[2.63543,50.80987],[2.61055,50.84419],[2.59427,50.84743],[2.60628,50.86565],[2.60151,50.90993],[2.58525,50.91825],[2.62479,50.94743],[2.62148,50.95406],[2.60263,50.98638],[2.56946,51.00113],[2.55892,51.06596],[2.34072,51.31453],[3.01078,51.59839],[3.32658,51.43728],[3.37581,51.3584],[3.38739,51.33392],[3.36094,51.31523],[3.3789,51.30251],[3.36832,51.29778],[3.38177,51.28732],[3.38342,51.27485],[3.38922,51.27329],[3.41852,51.25984],[3.43471,51.24621],[3.45031,51.24219],[3.527,51.24651],[3.51433,51.28799],[3.54179,51.29123],[3.56145,51.29637],[3.57559,51.29428],[3.58905,51.30652],[3.63839,51.29078],[3.6582,51.29056],[3.69139,51.28043],[3.71763,51.27428],[3.77605,51.26777],[3.79652,51.25635],[3.79031,51.24163],[3.78934,51.22711],[3.79294,51.21546],[3.85827,51.21334],[3.88901,51.22423],[3.89467,51.21743],[3.88782,51.20283],[3.91256,51.20837],[3.91482,51.21509],[3.9281,51.22508],[3.93751,51.2174],[3.95603,51.22117],[4.01551,51.24825],[4.0551,51.24402],[4.1651,51.2938],[4.23804,51.35274],[4.21772,51.36206],[4.21546,51.37487],[4.33535,51.37775],[4.34197,51.36012],[4.38556,51.35574],[4.39906,51.35785],[4.42462,51.3668],[4.42309,51.37577],[4.38147,51.41805],[4.39426,51.44251],[4.37771,51.44595],[4.38055,51.45075],[4.4768,51.47912],[4.53739,51.48358],[4.54967,51.47364],[4.53097,51.44965],[4.53758,51.42456],[4.57427,51.43404],[4.6431,51.42478],[4.64951,51.42741],[4.66744,51.42777],[4.66465,51.44625],[4.69115,51.45283],[4.70175,51.46691],[4.72792,51.48435],[4.74476,51.48977],[4.74945,51.49905],[4.75827,51.50302],[4.7766,51.50625],[4.81666,51.49552],[4.82318,51.48441],[4.84355,51.48177],[4.83884,51.46588],[4.84529,51.45817],[4.82521,51.44674],[4.83103,51.42488],[4.88072,51.4166],[4.91431,51.45952],[4.95767,51.4548],[4.94134,51.42928],[4.93775,51.40655],[4.96007,51.42194],[4.99955,51.44324],[5.00816,51.47134],[5.01937,51.48074],[5.03235,51.48827],[5.04093,51.4876],[5.04722,51.47217],[5.08032,51.47226],[5.10643,51.43135],[5.0727,51.39365],[5.11662,51.36118],[5.13225,51.3472],[5.13581,51.31594],[5.15592,51.31278],[5.20039,51.32325],[5.24326,51.3057],[5.22742,51.26844],[5.238,51.26255],[5.26216,51.26778],[5.335,51.26474],[5.34493,51.27681],[5.41551,51.2639],[5.44065,51.28246],[5.48215,51.30064],[5.51628,51.29599],[5.55816,51.26613],[5.56283,51.22287],[5.65253,51.19899],[5.65947,51.19052],[5.71011,51.18671],[5.74598,51.19455],[5.76873,51.18843],[5.78118,51.18082],[5.78447,51.15925],[5.82594,51.16827],[5.85709,51.14477],[5.83976,51.12993],[5.81435,51.11524],[5.83555,51.10842],[5.8338,51.09577],[5.82291,51.09124],[5.8119,51.0943],[5.79816,51.09023],[5.80612,51.07955],[5.80458,51.05888],[5.77731,51.05804],[5.76027,51.03223],[5.77383,51.02859],[5.77829,51.02399],[5.76759,51.00526],[5.76846,50.9985],[5.76419,50.99502],[5.74816,50.98087],[5.72174,50.96128],[5.73469,50.95683],[5.7426,50.96113],[5.74604,50.96209],[5.75617,50.95898],[5.76011,50.95227],[5.73223,50.9221],[5.72625,50.9059],[5.70051,50.90955],[5.69711,50.8958],[5.68051,50.88068],[5.64516,50.86533],[5.64337,50.84974],[5.64049,50.84701],[5.64576,50.83961],[5.64567,50.83789],[5.65094,50.83431],[5.65568,50.82591],[5.70296,50.80821],[5.69338,50.79687],[5.70259,50.78396],[5.69204,50.75629],[5.7218,50.76538],[5.73762,50.75842],[5.73912,50.76522],[5.76476,50.7837],[5.77748,50.78344],[5.78519,50.7684],[5.7927,50.77138],[5.80759,50.75681],[5.84525,50.76609],[5.84901,50.75975],[5.88667,50.77108],[5.89689,50.75501],[5.95896,50.76308],[6.02001,50.75521],[6.04208,50.74557],[6.03953,50.7295],[6.11623,50.72364],[6.1491,50.68465],[6.16312,50.67169],[6.17755,50.65576],[6.18715,50.6505],[6.18348,50.6457],[6.18205,50.63583],[6.26822,50.62829],[6.27251,50.62033],[6.24102,50.58657],[6.22795,50.58535],[6.18304,50.55597],[6.1833,50.54646],[6.19789,50.53715],[6.22586,50.49832],[6.26954,50.50961],[6.35349,50.49244],[6.34706,50.46422],[6.37423,50.45989],[6.3825,50.43975],[6.37408,50.40637],[6.35129,50.38206],[6.40305,50.34866],[6.41162,50.32769],[6.40783,50.31893],[6.38558,50.31658],[6.36388,50.30021],[6.32792,50.3186],[6.31289,50.31636],[6.29335,50.2909],[6.29547,50.27422],[6.28111,50.26236],[6.23624,50.25692],[6.21151,50.24816],[6.1981,50.23275],[6.18166,50.23125],[6.1789,50.22147],[6.19337,50.20761],[6.19683,50.17988],[6.15231,50.16841],[6.15923,50.14002],[6.13978,50.12527],[6.10856,50.1326],[6.11273,50.16093],[6.10156,50.16551],[6.08452,50.16697],[6.0821,50.15275],[6.06344,50.14834],[6.03055,50.15829],[6.02136,50.17685],[5.96932,50.16795],[5.96515,50.12813],[5.90347,50.11172],[5.89064,50.07554],[5.86237,50.06368],[5.8749,50.04624],[5.86392,50.02594],[5.82586,50.00934],[5.82665,50.00135],[5.8448,49.99123],[5.83952,49.9756],[5.80883,49.95773],[5.78215,49.957],[5.76822,49.91307],[5.74481,49.89975],[5.78087,49.88794],[5.78897,49.87213],[5.77636,49.86265],[5.75667,49.8703],[5.76191,49.85693],[5.75803,49.84287],[5.74291,49.83555],[5.75151,49.81985],[5.75473,49.79514],[5.7909,49.79765],[5.8179,49.75977],[5.83544,49.74713],[5.82702,49.72616],[5.86996,49.72777],[5.88817,49.70952],[5.86372,49.68213],[5.91262,49.66488],[5.90382,49.65192],[5.90876,49.63876],[5.89899,49.63401],[5.89117,49.63469],[5.87663,49.60771],[5.84953,49.59399],[5.87403,49.58991],[5.8736,49.57435],[5.84053,49.55222],[5.82582,49.54931],[5.81858,49.5461],[5.79504,49.55029],[5.77149,49.55832],[5.76226,49.554],[5.76126,49.53952],[5.74792,49.53452],[5.73009,49.53954],[5.6987,49.53744],[5.66008,49.55039],[5.64371,49.54565],[5.6228,49.5283],[5.62589,49.51698],[5.61175,49.50102],[5.59116,49.51734],[5.55638,49.52373],[5.54257,49.5105],[5.47007,49.49196]]],terms_url:"https://openstreetmap.org/",terms_text:"© OpenStreetMap contributors, CC-BY-SA; Tiles courtesy of GEO-6",icon:"https://osmlab.github.io/editor-layer-index/sources/world/OpenStreetMap-GPS.png"},{id:"MAPNIK",name:"OpenStreetMap (Standard)",type:"tms",template:"https://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png",zoomExtent:[0,19],terms_url:"https://www.openstreetmap.org",terms_text:"© OpenStreetMap contributors, CC-BY-SA","default":true,description:"The default OpenStreetMap layer.",icon:"https://osmlab.github.io/editor-layer-index/sources/world/OpenStreetMap-GPS.png"},{id:"osm-gps",name:"OpenStreetMap GPS traces",type:"tms",template:"https://{switch:a,b,c}.gps-tile.openstreetmap.org/lines/{zoom}/{x}/{y}.png",zoomExtent:[0,20],terms_url:"https://www.openstreetmap.org/copyright",terms_text:"© OpenStreetMap contributors",terms_html:"<span style='display: inline-block; padding: 0 8px; background-color: rgba(0,0,0,0.5);'><span style='color: #eee;'>GPS Direction:</span> <span style='font-size: 15px; padding-left: 2px; font-weight: bold;'> <span style='color: #0ee;'>&larr;</span> <span style='color: #96f;'>&darr;</span> <span style='color: #6e0;'>&uarr;</span> <span style='color: #f63;'>&rarr;</span> </span></span> © <a href='https://www.openstreetmap.org/copyright'>OpenStreetMap contributors</a>.",description:"Public GPS traces uploaded to OpenStreetMap.",icon:"https://osmlab.github.io/editor-layer-index/sources/world/OpenStreetMap-GPS.png",overlay:true},{id:"osm-hu-ortho",name:"openstreetmap.hu orthophotos",type:"tms",template:"http://adam.openstreetmap.hu/mapproxy/tiles/1.0.0/openstreetmap.hu.orthophotos/mercator/{zoom}/{x}/{y}.png",zoomExtent:[0,21],polygon:[[[18.8577,47.44553],[18.86169,47.44883],[18.86491,47.44704],[18.8609,47.44373],[18.8577,47.44553]],[[18.80614,47.59304],[18.81376,47.5974],[18.82295,47.59011],[18.81533,47.58574],[18.80614,47.59304]],[[17.66691,46.92167],[17.66369,46.93033],[17.67207,46.93178],[17.67529,46.92312],[17.66691,46.92167]],[[17.6725,46.93546],[17.67529,46.92708],[17.68409,46.92845],[17.68129,46.93683],[17.6725,46.93546]],[[17.82155,46.96075],[17.82507,46.9547],[17.83347,46.95701],[17.82995,46.96304],[17.82155,46.96075]],[[18.62796,47.19818],[18.63943,47.20324],[18.64953,47.1926],[18.63806,47.18753],[18.62796,47.19818]],[[17.51223,46.8789],[17.51406,46.88166],[17.5214,46.87939],[17.51957,46.87662],[17.51223,46.8789]],[[17.67724,46.91844],[17.68718,46.92344],[17.70594,46.90603],[17.69249,46.89926],[17.68144,46.90951],[17.68275,46.90595],[17.68198,46.90582],[17.68667,46.89926],[17.67947,46.89686],[17.67405,46.90445],[17.67131,46.90398],[17.66666,46.91662],[17.67724,46.91844]],[[18.80776,47.55615],[18.81638,47.55969],[18.81351,47.56305],[18.80473,47.55949],[18.80776,47.55615]],[[18.98706,47.46989],[18.97962,47.47042],[18.98056,47.47648],[18.988,47.47595],[18.98706,47.46989]],[[18.98356,47.41149],[19.00839,47.42511],[19.01568,47.41932],[18.9907,47.40518],[18.98356,47.41149]],[[19.02652,47.87563],[19.03163,47.87613],[19.03305,47.86957],[19.02793,47.86907],[19.02652,47.87563]],[[18.00803,46.86674],[18.01095,46.86028],[18.01323,46.86064],[18.01626,46.8536],[18.01682,46.85371],[18.01852,46.84948],[18.02021,46.84631],[18.02961,46.84829],[18.02742,46.85392],[18.03388,46.85534],[18.03056,46.86395],[18.03367,46.86456],[18.03058,46.87154],[18.00803,46.86674]],[[17.99509,46.87632],[17.98585,46.87595],[17.98535,46.88397],[17.98599,46.88412],[17.98531,46.88537],[17.95829,46.87876],[17.96077,46.87351],[17.92868,46.86631],[17.92467,46.87372],[17.93136,46.87535],[17.92995,46.87822],[17.9553,46.88415],[17.9946,46.89341],[17.99786,46.88671],[17.98771,46.88443],[17.98774,46.88411],[17.99415,46.88442],[17.99509,46.87632]],[[18.86533,47.42808],[18.87291,47.42455],[18.87701,47.42871],[18.86799,47.43238],[18.86774,47.43208],[18.86517,47.43317],[18.86477,47.4327],[18.86441,47.43285],[18.86288,47.43108],[18.86328,47.43092],[18.86288,47.43046],[18.86516,47.42947],[18.86448,47.42875],[18.86553,47.42829],[18.86533,47.42808]],[[19.16232,47.59776],[19.16893,47.59033],[19.17815,47.59512],[19.17291,47.60068],[19.16232,47.59776]],[[18.13162,47.02619],[18.14103,47.02111],[18.13923,47.01957],[18.15704,47.01044],[18.16271,47.00242],[18.16463,46.99571],[18.16639,46.9959],[18.16702,46.99363],[18.17101,46.99454],[18.1722,46.99571],[18.16977,47.00416],[18.17656,47.00709],[18.1761,47.00771],[18.17639,47.00781],[18.17057,47.01414],[18.1748,47.01815],[18.17782,47.01428],[18.18518,47.01746],[18.17933,47.0239],[18.17589,47.02268],[18.17277,47.02434],[18.17219,47.02377],[18.17159,47.02407],[18.16938,47.0221],[18.16216,47.02596],[18.16485,47.02832],[18.16245,47.02947],[18.16323,47.03025],[18.1521,47.03554],[18.15156,47.03498],[18.1503,47.03563],[18.14513,47.03112],[18.14337,47.0322],[18.1454,47.03419],[18.14441,47.03467],[18.14522,47.03539],[18.14168,47.03697],[18.13111,47.02745],[18.13226,47.0269],[18.13162,47.02619]],[[17.79852,46.81745],[17.79178,46.81585],[17.79601,46.80664],[17.7948,46.80598],[17.79693,46.80056],[17.80109,46.79993],[17.80736,46.80225],[17.79852,46.81745]],[[17.7788,46.81461],[17.78446,46.80714],[17.79083,46.80925],[17.7853,46.81683],[17.7788,46.81461]]],terms_text:"openstreetmap.hu"},{id:"OpenTopoMap",name:"OpenTopoMap",type:"tms",template:"https://{switch:a,b,c}.tile.opentopomap.org/{zoom}/{x}/{y}.png",zoomExtent:[3,17],terms_url:"https://tile.opentopomap.org/about#verwendung",terms_text:"Kartendaten: © OpenStreetMap-Mitwirkende, SRTM | Kartendarstellung: © OpenTopoMap (CC-BY-SA)",icon:"https://osmlab.github.io/editor-layer-index/sources/world/OpenTopoMap.png"},{id:"lu.geoportail.opendata.ortho2010",name:"Ortho 2010 geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2010/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg",endDate:"2010-07-02T00:00:00.000Z",startDate:"2010-06-24T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,50.17631]]],terms_url:"https://data.public.lu/en/datasets/bd-l-ortho-webservices-wms-et-wmts",terms_text:"Administration du Cadastre et de la Topographie",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"lu.geoportail.opendata.ortho2013",name:"Ortho 2013 geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2013/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg",endDate:"2013-07-20T00:00:00.000Z",startDate:"2013-07-19T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,50.17631]]],terms_url:"https://data.public.lu/en/datasets/bd-l-ortho-webservices-wms-et-wmts",terms_text:"Administration du Cadastre et de la Topographie",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"lu.geoportail.opendata.ortho2016",name:"Ortho 2016 geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2016/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg",endDate:"2016-08-16T00:00:00.000Z",startDate:"2013-08-30T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,50.17631]]],terms_url:"https://data.public.lu/en/datasets/bd-l-ortho-webservices-wms-et-wmts",terms_text:"Administration du Cadastre et de la Topographie",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"lu.geoportail.opendata.ortho2017",name:"Ortho 2017 geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2017/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg",endDate:"2017-06-22T00:00:00.000Z",startDate:"2017-06-14T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,50.17631]]],terms_url:"https://data.public.lu/en/datasets/bd-l-ortho-webservices-wms-et-wmts",terms_text:"Administration du Cadastre et de la Topographie",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"ORTOFOTO_V1",name:"Orthophoto 1st cycle (1994-1999) - Latvia",type:"wms",template:"https://services.lgia.gov.lv/arcfree/services/Ortofoto_v1/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[27.66415,55.75354],[27.68475,55.93319],[28.26703,56.1908],[28.23682,56.49827],[27.82757,56.94886],[27.90997,57.37037],[27.58313,57.56387],[26.93219,57.63598],[26.5202,57.58596],[26.0368,57.87192],[25.1991,58.10487],[24.31744,57.90258],[24.31744,57.19669],[23.93567,56.9788],[23.55115,56.98479],[23.23804,57.10283],[23.14465,57.37333],[22.60632,57.60215],[22.60083,57.76953],[21.66699,57.56681],[21.40057,57.29625],[21.38409,57.0177],[21.04626,56.80026],[20.99133,56.36615],[21.0545,56.0392],[21.28796,56.05608],[21.29895,56.1908],[22.11743,56.41936],[24.44379,56.24425],[24.81183,56.3996],[25.15515,56.1694],[25.58087,56.12962],[26.53668,55.66146],[26.91296,55.66766],[27.0805,55.80991],[27.66415,55.75354]]],terms_text:"Latvijas Ģeotelpiskās informācijas aģentūras brīvais WMS serviss 1994 - 1999.gada Latvijas ortofotokarte"},{id:"ORTOS_DGRF_2004_06",name:"Ortofotos DGRF 2004-2006 (WMS)",type:"wms",template:"http://mapas.dgterritorio.pt:8888/wms/produtos?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Ortos&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2006-01-01T00:00:00.000Z",startDate:"2004-01-01T00:00:00.000Z",zoomExtent:[14,19],polygon:[[[-7.31278,36.98391],[-7.44461,37.5718],[-7.1933,37.97019],[-6.97357,38.00807],[-6.90628,38.24142],[-7.06627,38.20743],[-7.27158,38.45628],[-7.20429,38.72356],[-7.0134,38.85468],[-6.91315,39.03839],[-6.97357,39.13113],[-7.17957,39.23651],[-7.28668,39.48497],[-7.44873,39.61838],[-7.34162,39.60886],[-6.99692,39.64906],[-6.81839,40.0192],[-7.01065,40.19986],[-6.85272,40.24285],[-6.76209,40.35073],[-6.77994,40.8886],[-6.88637,41.01151],[-6.79642,41.01721],[-6.63849,41.21689],[-6.4531,41.24116],[-6.29311,41.38763],[-6.15715,41.5908],[-6.31165,41.68932],[-6.51215,41.71188],[-6.49841,41.88081],[-6.56296,41.97991],[-6.80191,42.00951],[-7.20497,42.00135],[-7.22763,41.8849],[-7.36908,41.87058],[-7.72751,41.92885],[-7.92526,41.94009],[-8.07907,41.84706],[-8.1601,41.91812],[-8.01796,42.05031],[-8.19924,42.18681],[-8.39356,42.1023],[-8.66066,42.07886],[-8.88382,41.88081],[-9.17084,41.86956],[-9.04175,41.43655],[-9.01978,40.65981],[-9.15711,40.26695],[-9.81903,39.52099],[-9.74213,38.6512],[-9.12964,37.88136],[-9.27246,36.99378],[-9.09394,36.68604],[-7.80579,36.74989],[-7.31278,36.98391]]],terms_url:"http://www.dgterritorio.pt/dados_abertos/ortofotos/",terms_text:"Direcção-Geral do Território",icon:"http://www.igeo.pt/favicon.ico"},{id:"ORTOS_DGT_2014_15",name:"Ortofotos Litoral DGT 2014-2015 (WMS)",type:"wms",template:"http://ows.dgterritorio.pt/wss/service/ortos2014-2015-wms/guest?language=por&FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Ortoimagens_2014-2015_Litoral&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",zoomExtent:[1,20],polygon:[[[-7.38968,37.19205],[-7.52426,37.18002],[-7.89505,36.98171],[-8.15186,37.10886],[-8.65036,37.14062],[-8.95111,37.03545],[-8.78632,37.34833],[-8.76434,37.55111],[-8.7561,38.38258],[-8.47664,38.33466],[-8.47183,38.40141],[-8.66066,38.46596],[-8.66959,38.60882],[-9.142,38.53689],[-8.81104,38.67372],[-8.79318,38.85468],[-8.95935,38.9829],[-9.18732,38.84934],[-9.2395,38.72838],[-9.37821,38.74659],[-9.38233,39.07891],[-9.29169,39.2514],[-9.31915,39.33642],[-9.17084,39.38526],[-9.06372,39.48815],[-9.02252,39.69662],[-8.78632,40.14529],[-8.86322,40.2093],[-8.72589,40.53155],[-8.64075,40.50858],[-8.62427,40.63063],[-8.53089,40.6004],[-8.535,40.71292],[-8.61466,40.89275],[-8.61878,41.10419],[-8.53089,41.16728],[-8.66959,41.21689],[-8.72315,41.41081],[-8.76984,41.65958],[-8.66547,41.73955],[-8.81104,41.72316],[-8.81104,41.85217],[-8.74649,41.9125],[-8.83576,41.93089],[-8.91815,41.84501],[-8.89343,41.70778],[-8.82065,41.50755],[-8.73139,41.16315],[-8.67508,41.069],[-8.68469,40.90729],[-8.93326,40.17573],[-8.88107,40.12219],[-9.11453,39.64694],[-9.11865,39.5623],[-9.3013,39.40543],[-9.43039,39.37571],[-9.34799,39.23864],[-9.45099,39.04799],[-9.45786,38.89317],[-9.53201,38.78835],[-9.50043,38.68551],[-9.28894,38.663],[-9.19418,38.54172],[-9.25324,38.38473],[-9.03488,38.42347],[-8.92502,38.46757],[-8.81241,38.35997],[-8.7973,38.14968],[-8.91953,37.95286],[-8.84262,37.8651],[-8.83988,37.40617],[-9.02664,37.01023],[-8.92914,36.97513],[-8.61466,37.099],[-8.15048,37.05956],[-7.8923,36.93672],[-7.48993,37.15156],[-7.39105,37.15813],[-7.38968,37.19205]]],terms_url:"http://www.dgterritorio.pt/",terms_text:"Direcção-Geral do Território",icon:"http://www.igeo.pt/favicon.ico"},{id:"OS-historic-25k-OSM_Limited",name:"OS 1:25k historic (OSM)",type:"tms",template:"https://ooc.openstreetmap.org/os1/{zoom}/{x}/{y}.jpg",zoomExtent:[6,17],polygon:[[[-6.45854,49.90441],[-6.3872,49.98411],[-6.22968,49.98962],[-6.21713,49.86801],[-6.45512,49.85918],[-6.45854,49.90441]],[[-1.44951,60.86341],[-0.71671,60.85451],[-0.73497,60.43598],[-0.69388,60.41682],[-0.72584,60.39427],[-0.73954,60.04847],[-0.92674,60.04619],[-0.93815,59.82662],[-1.45865,59.8312],[-1.44552,60.0536],[-1.46321,60.0536],[-1.46435,60.063],[-1.57165,60.06385],[-1.56936,60.179],[-1.64356,60.1807],[-1.64356,60.18922],[-1.82162,60.1895],[-1.82048,60.36155],[-1.8416,60.36973],[-1.82162,60.38328],[-1.81799,60.59343],[-1.45317,60.59343],[-1.44951,60.86341]],[[-4.90892,54.42421],[-4.2826,54.44299],[-4.25354,54.02977],[-4.87664,54.02218],[-4.90892,54.42421]],[[-5.86674,59.14446],[-5.776,59.14709],[-5.772,59.10141],[-5.86218,59.09906],[-5.86674,59.14446]],[[-1.70659,59.57036],[-1.55792,59.56935],[-1.55649,59.49657],[-1.70545,59.49758],[-1.70659,59.57036]],[[-7.68658,58.2941],[-7.53306,58.3007],[-7.52564,58.26469],[-7.67973,58.25779],[-7.68658,58.2941]],[[-4.53383,59.03599],[-4.48132,59.03716],[-4.47961,59.01866],[-4.53326,59.01807],[-4.53383,59.03599]],[[-8.67107,57.87699],[-8.46732,57.88973],[-8.44678,57.7907],[-8.65109,57.77792],[-8.67107,57.87699]],[[-5.23955,50.35306],[-5.79201,50.33849],[-5.76005,49.9317],[-4.65514,49.95815],[-4.67797,50.28601],[-4.24422,50.28017],[-4.24878,50.20425],[-3.38129,50.20425],[-3.42238,50.51882],[-3.11648,50.52463],[-3.12105,50.65796],[-2.67364,50.66195],[-2.59535,50.63943],[-2.5905,50.57284],[-2.47912,50.57335],[-2.47589,50.50667],[-2.39679,50.50564],[-2.40164,50.57233],[-1.04003,50.57182],[-1.03357,50.70593],[-0.5493,50.70388],[-0.54607,50.78866],[-0.09247,50.7856],[-0.08763,50.71819],[0.47897,50.71206],[0.48704,50.81825],[0.97615,50.80499],[0.99229,51.01263],[1.44912,51.00044],[1.47818,51.40904],[1.02296,51.42716],[1.03588,51.76409],[1.61054,51.7501],[1.64606,52.156],[1.72677,52.15402],[1.74937,52.44818],[1.78707,52.48116],[1.7591,52.52251],[1.79335,52.96027],[0.37981,52.99585],[0.38952,53.25112],[0.34786,53.25112],[0.32389,53.28219],[0.34615,53.65385],[0.12849,53.65755],[0.11658,53.66747],[0.13506,54.06557],[-0.06098,54.06591],[-0.04142,54.47094],[-0.56627,54.47718],[-0.55921,54.65651],[-1.16656,54.66235],[-1.16374,54.84261],[-1.33162,54.84391],[-1.32571,55.24708],[-1.52945,55.24871],[-1.52418,55.65401],[-1.76388,55.65401],[-1.77337,55.97191],[-2.16079,55.9683],[-2.15433,56.06214],[-2.45781,56.05853],[-2.41906,56.64172],[-2.09622,56.64172],[-2.0833,57.00213],[-1.92834,57.01268],[-1.9181,57.35909],[-1.75022,57.36257],[-1.76959,57.76086],[-3.69376,57.75742],[-3.70667,57.98064],[-3.5969,57.97721],[-3.60336,58.12073],[-3.02223,58.13096],[-3.02869,58.54108],[-2.8479,58.53097],[-2.86081,58.84305],[-2.67962,58.8415],[-2.68419,58.88517],[-2.63397,58.90522],[-2.67962,58.93351],[-2.68876,59.02292],[-2.36687,59.02292],[-2.37029,59.26529],[-2.3429,59.2822],[-2.37144,59.29969],[-2.37372,59.37071],[-2.3429,59.38582],[-2.37258,59.40035],[-2.37144,59.42591],[-3.07342,59.42301],[-3.07114,59.34336],[-3.1031,59.33114],[-3.07456,59.31367],[-3.07228,59.2326],[-3.38503,59.14842],[-3.37476,58.93528],[-3.56538,58.93233],[-3.55483,58.69759],[-5.28086,58.66677],[-5.25342,58.35141],[-5.50685,58.34379],[-5.47618,58.03236],[-5.8975,58.02124],[-5.8523,57.61718],[-6.13963,57.61372],[-6.15416,57.74232],[-6.29137,57.73801],[-6.33657,58.13988],[-6.11219,58.14669],[-6.14738,58.51063],[-6.29348,58.54162],[-6.84137,58.29773],[-7.00574,58.29293],[-7.10162,58.20644],[-7.25731,58.17931],[-7.25311,58.10049],[-7.40707,58.09056],[-7.39135,57.79114],[-7.79099,57.77332],[-7.76242,57.54442],[-7.6985,57.14532],[-7.79438,57.13045],[-7.71676,56.73686],[-7.01221,56.76544],[-6.97992,56.54539],[-7.06386,56.54539],[-7.04449,56.35626],[-6.50068,56.38129],[-6.44914,55.97936],[-6.56329,55.96915],[-6.53937,55.70301],[-6.55955,55.69073],[-6.53453,55.67617],[-6.52162,55.57044],[-5.89126,55.59234],[-5.85601,55.23207],[-5.22936,55.2516],[-5.18371,54.62541],[-3.6656,54.65184],[-3.64962,54.432],[-3.54004,54.43067],[-3.53091,54.02902],[-3.06977,54.03036],[-3.06757,53.82214],[-3.08049,53.77399],[-3.06192,53.74775],[-3.06112,53.6737],[-3.21447,53.67084],[-3.20577,53.42262],[-3.27996,53.35522],[-3.28967,53.36084],[-3.33275,53.36493],[-3.37613,53.35403],[-4.0889,53.34331],[-4.09455,53.4612],[-4.69741,53.44486],[-4.68828,53.33186],[-4.72024,53.28958],[-4.68371,53.24862],[-4.67687,53.15426],[-4.84808,53.14468],[-4.81783,52.74403],[-4.25458,52.75589],[-4.22888,52.25488],[-4.26076,52.25364],[-4.27246,52.24326],[-4.81363,52.23009],[-4.80792,52.11389],[-5.38891,52.09917],[-5.37179,51.91297],[-5.42087,51.91015],[-5.41402,51.84532],[-5.36836,51.84744],[-5.34668,51.55953],[-4.77368,51.57585],[-4.76569,51.48851],[-4.19154,51.49704],[-4.18698,51.43447],[-3.61512,51.44443],[-3.61055,51.37465],[-3.14941,51.37893],[-3.14941,51.29193],[-4.30387,51.27459],[-4.28612,51.05087],[-4.85433,51.03666],[-4.83722,50.72128],[-5.26183,50.70827],[-5.23955,50.35306]],[[-2.15027,60.17132],[-2.00302,60.16961],[-2.00131,60.0997],[-2.14855,60.10112],[-2.15027,60.17132]],[[-6.2086,59.11635],[-6.12299,59.11664],[-6.12185,59.0715],[-6.20974,59.0715],[-6.2086,59.11635]],[[-4.41596,59.0889],[-4.4212,59.07708],[-4.39719,59.07791],[-4.39134,59.08973],[-4.41596,59.0889]]]},{id:"OS-New_Popular_Edition-historic",name:"OS New Popular Edition historic",type:"tms",template:"https://ooc.openstreetmap.org/npe/{zoom}/{x}/{y}.png",zoomExtent:[6,15],polygon:[[[-3.68466,55.23744],[-3.65106,54.42892],[-3.54463,54.43072],[-3.52815,54.02593],[-3.07016,54.03137],[-3.06123,53.6717],[-3.21298,53.67048],[-3.20371,53.35568],[-4.10424,53.34297],[-4.11042,53.46005],[-4.71124,53.44799],[-4.69339,53.15171],[-4.84307,53.1476],[-4.81595,52.74378],[-4.25342,52.75541],[-4.22733,52.24378],[-4.81303,52.23117],[-4.80754,52.11452],[-5.38913,52.09892],[-5.3493,51.56085],[-4.77252,51.57622],[-4.76772,51.48652],[-4.19299,51.49806],[-4.18956,51.43518],[-3.61278,51.44502],[-3.61072,51.37307],[-3.15067,51.37864],[-3.14723,51.28984],[-4.29462,51.2718],[-4.28363,51.04744],[-4.85423,51.03406],[-4.83707,50.76556],[-5.2621,50.75427],[-5.23395,50.34984],[-5.79562,50.33319],[-5.76228,49.92913],[-4.64717,49.96094],[-4.66914,50.2753],[-4.25166,50.2832],[-4.24617,50.19361],[-3.40159,50.20679],[-3.41395,50.52041],[-3.13105,50.52391],[-3.1338,50.66078],[-2.66963,50.66252],[-2.66688,50.5719],[-1.04228,50.56929],[-1.04502,50.70429],[-0.54652,50.69994],[-0.54103,50.79031],[-0.08784,50.78424],[-0.08887,50.72211],[0.47693,50.70907],[0.48242,50.81939],[0.98024,50.8068],[0.99328,51.01333],[1.44784,51.00036],[1.47805,51.40478],[1.018,51.41634],[1.04272,51.76742],[1.6195,51.75084],[1.65246,52.15456],[1.72662,52.15245],[1.79529,52.9594],[0.60396,52.99123],[0.60327,52.97222],[0.38148,52.97883],[0.39625,53.24796],[0.31934,53.24961],[0.34269,53.65319],[0.11609,53.65726],[0.13738,54.06181],[-0.06243,54.06584],[-0.04183,54.46924],[-0.56781,54.47722],[-0.56163,54.65715],[-1.18098,54.66271],[-1.17755,54.84183],[-1.33342,54.84381],[-1.32655,55.24743],[-1.53117,55.24821],[-1.52636,55.6528],[-1.76394,55.6528],[-1.76257,55.96765],[-2.40321,55.96727],[-2.39772,55.56243],[-2.16151,55.56282],[-2.15808,55.2486],[-2.92158,55.24571],[-3.68466,55.23744]]]},{id:"OS-OpenData_Locator",name:"OS OpenData Locator",type:"tms",template:"http://tiles.itoworld.com/os_locator/{zoom}/{x}/{y}.png",zoomExtent:[0,22],polygon:[[[-0.88639,61.11666],[-9.24009,57.92465],[-6.61235,55.46835],[-6.1039,55.40191],[-5.61358,55.06607],[-5.40088,54.90562],[-5.29371,54.77201],[-5.11832,54.5911],[-4.92368,54.38599],[-4.94067,53.59884],[-5.44172,52.27725],[-6.03376,51.6012],[-7.54473,49.33762],[-2.59721,50.2588],[0.65674,50.64047],[1.32419,50.83256],[1.87586,51.19234],[2.05883,52.88863],[-1.61452,56.47933],[-1.21085,57.64972],[-1.69525,59.08903],[0.21543,60.43058],[-0.88639,61.11666]]],overlay:true},{id:"OS-OpenData_StreetView",name:"OS OpenData StreetView",type:"tms",template:"https://{switch:a,b,c}.os.openstreetmap.org/sv/{zoom}/{x}/{y}.png",zoomExtent:[1,18],polygon:[[[-5.82929,50.02297],[-5.82929,50.25482],[-5.37336,50.25482],[-5.37336,50.35306],[-5.1756,50.35306],[-5.1756,50.59254],[-4.99707,50.59254],[-4.99707,50.69356],[-4.79657,50.69356],[-4.79657,50.78221],[-4.69495,50.78221],[-4.69495,50.96074],[-4.60431,50.96074],[-4.60431,51.06921],[-4.37922,51.06921],[-4.37922,51.25218],[-3.90393,51.25218],[-3.90393,51.2917],[-3.71717,51.2917],[-3.71717,51.2453],[-3.14862,51.2453],[-3.14862,51.36207],[-3.74463,51.36207],[-3.74463,51.43404],[-3.82978,51.43404],[-3.82978,51.52982],[-4.08521,51.52982],[-4.08521,51.49393],[-4.37922,51.49393],[-4.37922,51.54272],[-5.14442,51.54272],[-5.14442,51.6296],[-5.73871,51.6296],[-5.73871,51.77404],[-5.50954,51.77404],[-5.50954,51.98026],[-5.1988,51.98026],[-5.1988,52.09734],[-4.88806,52.09734],[-4.88806,52.18316],[-4.49575,52.18316],[-4.49575,52.29257],[-4.30154,52.29257],[-4.30154,52.36853],[-4.18112,52.36853],[-4.18112,52.79337],[-4.44137,52.79337],[-4.44137,52.73696],[-4.85698,52.73696],[-4.85698,52.93173],[-4.7288,52.93173],[-4.7288,53.50386],[-4.15782,53.50386],[-4.15782,53.41135],[-3.31105,53.41135],[-3.31105,53.50386],[-3.23337,53.50386],[-3.23337,54.01592],[-3.39262,54.01592],[-3.39262,54.1981],[-3.55964,54.1981],[-3.55964,54.43373],[-3.7189,54.43373],[-3.7189,54.7219],[-4.30154,54.7219],[-4.30154,54.61407],[-5.04731,54.61407],[-5.04731,54.75329],[-5.22987,54.75329],[-5.22987,55.21908],[-5.65326,55.21908],[-5.65326,55.25009],[-5.89796,55.25009],[-5.89796,55.48225],[-6.59332,55.48225],[-6.59332,56.30134],[-7.17277,56.30134],[-7.17277,56.56018],[-6.81717,56.56018],[-6.81717,56.69917],[-6.53153,56.69917],[-6.53153,56.9067],[-6.81168,56.9067],[-6.81168,57.37166],[-6.8721,57.37166],[-6.8721,57.55189],[-7.09732,57.55189],[-7.09732,57.24111],[-7.17423,57.24111],[-7.17423,56.9067],[-7.37198,56.9067],[-7.37198,56.80759],[-7.5203,56.80759],[-7.5203,56.71425],[-7.83068,56.71425],[-7.83068,56.89946],[-7.64941,56.89946],[-7.64941,57.47396],[-7.83068,57.47396],[-7.83068,57.79156],[-7.47362,57.79156],[-7.47362,58.08606],[-7.18798,58.08606],[-7.18798,58.3672],[-6.80346,58.3672],[-6.80346,58.41558],[-6.63866,58.41558],[-6.63866,58.46733],[-6.51781,58.46733],[-6.51781,58.56256],[-6.05362,58.56256],[-6.05362,58.15688],[-6.14701,58.15688],[-6.14701,58.11059],[-6.27998,58.11059],[-6.27998,57.71227],[-6.15913,57.71227],[-6.15913,57.66676],[-5.93391,57.66676],[-5.93391,57.88925],[-5.80643,57.88925],[-5.80643,57.96218],[-5.61417,57.96218],[-5.61417,58.09112],[-5.49082,58.09112],[-5.49082,58.37333],[-5.31991,58.37333],[-5.31991,58.75015],[-3.572,58.75015],[-3.572,59.20918],[-3.19445,59.20918],[-3.19445,59.47592],[-2.24358,59.47592],[-2.24358,59.13887],[-2.4611,59.13887],[-2.4611,58.81859],[-2.74077,58.81859],[-2.74077,58.58047],[-2.91167,58.58047],[-2.91167,58.11575],[-3.48654,58.11575],[-3.48654,57.74039],[-1.71532,57.74039],[-1.71532,57.22256],[-1.97945,57.22256],[-1.97945,56.87607],[-2.1659,56.87607],[-2.1659,56.63332],[-2.36011,56.63332],[-2.36011,56.04775],[-1.97945,56.04775],[-1.97945,55.86509],[-1.4745,55.86509],[-1.4745,55.24999],[-1.3222,55.24999],[-1.3222,54.82217],[-1.055,54.82217],[-1.055,54.67466],[-0.66188,54.67466],[-0.66188,54.55275],[-0.32476,54.55275],[-0.32476,54.28652],[0.00928,54.28652],[0.00928,53.79385],[0.2082,53.79385],[0.2082,53.52177],[0.41635,53.52177],[0.41635,53.02989],[1.42734,53.02989],[1.42734,52.92021],[1.83339,52.92021],[1.83339,52.04249],[1.52355,52.04249],[1.52355,51.82613],[1.2697,51.82613],[1.2697,51.69675],[1.11665,51.69675],[1.11665,51.44035],[1.52355,51.44035],[1.52355,51.33318],[1.45076,51.33318],[1.45076,51.02076],[1.06999,51.02076],[1.06999,50.90084],[0.77881,50.90084],[0.77881,50.72984],[-0.7256,50.72984],[-0.7256,50.70384],[-1.00744,50.70384],[-1.00744,50.57363],[-2.36253,50.57363],[-2.36253,50.48464],[-2.49878,50.48464],[-2.49878,50.57363],[-3.40964,50.57363],[-3.40964,50.20578],[-3.69224,50.20578],[-3.69224,50.13477],[-5.00547,50.13477],[-5.00547,49.94745],[-5.28395,49.94745],[-5.28395,50.02297],[-5.82929,50.02297]],[[-6.45807,49.86736],[-6.45807,49.94999],[-6.39788,49.94999],[-6.39788,50.00538],[-6.17996,50.00538],[-6.17996,49.91686],[-6.25402,49.91686],[-6.25402,49.86736],[-6.45807,49.86736]],[[-5.83432,49.93216],[-5.83432,49.97546],[-5.76833,49.97546],[-5.76833,49.93216],[-5.83432,49.93216]],[[-1.94838,60.68857],[-1.94838,60.30588],[-1.75431,60.30588],[-1.75431,60.12844],[-1.57549,60.12844],[-1.57549,59.79792],[-1.0317,59.79792],[-1.0317,60.03545],[-0.66269,60.03545],[-0.66269,60.91039],[-1.10344,60.91039],[-1.10344,60.804],[-1.35063,60.804],[-1.35063,60.68857],[-1.94838,60.68857]],[[-2.20338,60.19686],[-2.20338,60.09294],[-1.9864,60.09294],[-1.9864,60.19686],[-2.20338,60.19686]],[[-1.75431,59.56983],[-1.75431,59.46394],[-1.53733,59.46394],[-1.53733,59.56983],[-1.75431,59.56983]],[[-4.5586,59.13705],[-4.5586,58.95691],[-4.2867,58.95691],[-4.2867,59.13705],[-4.5586,59.13705]],[[-6.27877,59.20257],[-6.27877,59.02278],[-5.66506,59.02278],[-5.66506,59.20257],[-6.27877,59.20257]],[[-8.71635,57.94406],[-8.71635,57.73059],[-8.35929,57.73059],[-8.35929,57.94406],[-8.71635,57.94406]],[[-7.6077,50.4021],[-7.6077,50.26887],[-7.39072,50.26887],[-7.39072,50.4021],[-7.6077,50.4021]],[[-7.73043,58.35799],[-7.73043,58.24831],[-7.51345,58.24831],[-7.51345,58.35799],[-7.73043,58.35799]]]},{id:"OS-Scottish_Popular-historic",name:"OS Scottish Popular historic",type:"tms",template:"https://ooc.openstreetmap.org/npescotland/{zoom}/{x}/{y}.jpg",zoomExtent:[6,15],polygon:[[[-6.37546,57.1045],[-6.12998,57.11183],[-6.12586,56.94143],[-6.26045,56.93892],[-6.26045,56.83765],[-6.24259,56.65806],[-6.3552,56.65655],[-6.37649,56.79029],[-7.02812,56.76396],[-6.99636,56.54246],[-7.04391,56.53937],[-7.03206,56.44201],[-6.98331,56.44353],[-6.97593,56.36063],[-6.45271,56.37964],[-6.44035,56.2013],[-6.19315,56.21199],[-6.18354,56.12483],[-6.36379,56.11641],[-6.36173,55.98258],[-6.48944,55.97912],[-6.47777,55.84134],[-6.55467,55.8371],[-6.53545,55.66049],[-6.45442,55.66087],[-6.44412,55.57285],[-6.19985,55.57266],[-5.96845,55.58857],[-5.98562,55.7686],[-5.90665,55.77169],[-5.88949,55.59284],[-5.80983,55.594],[-5.79335,55.41395],[-5.827,55.41395],[-5.80915,55.24247],[-5.61826,55.24873],[-5.62101,55.26713],[-5.46239,55.27026],[-5.48642,55.514],[-5.43836,55.51516],[-5.42943,55.42681],[-5.24129,55.43071],[-5.19464,54.80351],[-5.07105,54.80668],[-5.05221,54.62471],[-4.3223,54.65173],[-4.33123,54.7319],[-4.06786,54.73697],[-4.06786,54.76471],[-3.55699,54.77342],[-3.55837,54.83754],[-2.42098,54.84671],[-2.42647,55.25265],[-2.03097,55.25265],[-2.01449,55.56606],[-1.76455,55.56606],[-1.76455,55.9724],[-2.35026,55.96548],[-2.5796,56.06527],[-2.58234,56.37071],[-2.65032,56.36919],[-2.65581,56.50585],[-2.48965,56.50509],[-2.42785,56.55356],[-2.42373,56.73026],[-2.1628,56.73177],[-2.17104,56.99301],[-2.00075,56.99301],[-1.98479,57.3159],[-1.83476,57.31553],[-1.83441,57.36074],[-1.75167,57.36111],[-1.74893,57.63046],[-1.83613,57.63009],[-1.83544,57.70171],[-2.00436,57.70207],[-2.00367,57.71968],[-3.22281,57.71418],[-3.22629,57.76157],[-3.51331,57.77622],[-3.50914,57.71051],[-3.84766,57.70611],[-3.85182,57.76853],[-3.79925,57.76989],[-3.80474,57.88578],[-3.85556,57.88651],[-3.85937,57.97558],[-3.79513,57.97656],[-3.79483,58.03052],[-3.69733,58.03161],[-3.69458,58.06722],[-3.52391,58.07437],[-3.52978,58.16007],[-3.35774,58.16286],[-3.3483,58.28742],[-3.07638,58.29121],[-3.03004,58.43744],[-3.01768,58.65814],[-2.85837,58.66028],[-2.86524,58.7943],[-2.75812,58.79715],[-2.76636,58.87461],[-2.6208,58.88668],[-2.62766,58.97527],[-2.54114,58.97668],[-2.54217,59.0841],[-2.52363,59.08375],[-2.52913,59.1574],[-2.43849,59.15705],[-2.4378,59.246],[-2.36914,59.24705],[-2.3688,59.40748],[-2.52947,59.40748],[-2.52741,59.33436],[-2.70319,59.33576],[-2.70525,59.40608],[-3.12891,59.40433],[-3.12411,59.15951],[-3.40288,59.1574],[-3.39464,58.9689],[-3.4276,58.96961],[-3.42572,58.88526],[-3.45215,58.87071],[-3.51017,58.86911],[-3.50708,58.78826],[-3.38555,58.79004],[-3.3828,58.6999],[-3.4494,58.69847],[-3.45078,58.65385],[-3.50159,58.65421],[-3.5009,58.62705],[-3.72612,58.62383],[-3.72475,58.60595],[-4.6476,58.5895],[-4.65996,58.67171],[-5.10697,58.66135],[-5.09804,58.58091],[-5.23743,58.57769],[-5.22455,58.26305],[-5.4127,58.25818],[-5.39965,58.12245],[-5.53286,58.11991],[-5.52393,57.99494],[-5.55346,57.99422],[-5.54728,57.93995],[-5.85696,57.93157],[-5.83181,57.73361],[-5.86374,57.73224],[-5.85773,57.66096],[-6.19624,57.64975],[-6.20242,57.72353],[-6.41666,57.7162],[-6.42421,57.75945],[-6.4764,57.75725],[-6.46884,57.71326],[-6.53339,57.71216],[-6.52721,57.6391],[-6.692,57.63395],[-6.68102,57.54341],[-6.78195,57.53826],[-6.75311,57.31608],[-6.50592,57.32498],[-6.49768,57.28084],[-6.4812,57.27824],[-6.47159,57.19203],[-6.38644,57.19352],[-6.37546,57.1045]],[[-7.65043,56.77461],[-7.40667,56.79304],[-7.41972,56.88281],[-7.38676,56.90268],[-7.25836,56.91056],[-7.24806,57.07141],[-7.11485,57.077],[-7.16772,57.43466],[-7.0352,57.44094],[-7.05236,57.69026],[-6.86834,57.6976],[-6.87315,57.71631],[-6.70286,57.72217],[-6.71591,57.81117],[-6.53188,57.81958],[-6.53875,57.88133],[-6.22015,57.89265],[-6.24143,58.09935],[-6.12676,58.10152],[-6.17758,58.53105],[-6.46734,58.52029],[-6.4591,58.45102],[-6.63145,58.44455],[-6.6239,58.39169],[-6.79212,58.38485],[-6.78869,58.34956],[-6.90885,58.34415],[-6.89718,58.25503],[-7.20136,58.24166],[-7.14094,57.83201],[-7.37509,57.82104],[-7.36822,57.69503],[-7.6573,57.68292],[-7.67652,57.80715],[-7.79257,57.80202],[-7.77327,57.67734],[-7.70756,57.68024],[-7.69376,57.59088],[-7.75947,57.58797],[-7.74587,57.49965],[-7.51241,57.5085],[-7.47911,57.29468],[-7.52855,57.2932],[-7.51276,57.05871],[-7.61163,57.05386],[-7.59859,56.87493],[-7.66725,56.87268],[-7.65043,56.77461]],[[-1.46238,59.82831],[-1.21519,59.83107],[-1.21519,59.96194],[-1.10533,59.96056],[-1.0986,60.09498],[-0.97632,60.09346],[-0.96352,60.3476],[-0.74028,60.34484],[-0.7147,60.84722],[-1.08215,60.85901],[-1.08455,60.76944],[-1.21296,60.77011],[-1.21579,60.68079],[-1.23364,60.68113],[-1.23467,60.5909],[-1.27132,60.59191],[-1.27338,60.64581],[-1.45466,60.64648],[-1.45397,60.59224],[-1.6373,60.59292],[-1.63954,60.3507],[-1.73172,60.35095],[-1.73172,60.18067],[-1.64177,60.17931],[-1.64177,60.1448],[-1.46393,60.14344],[-1.46238,59.82831]],[[-6.21496,56.97437],[-6.22525,57.06445],[-6.29117,57.06184],[-6.29237,57.08062],[-6.62162,57.06943],[-6.61338,57.00629],[-6.46163,57.01302],[-6.4582,56.96776],[-6.21496,56.97437]],[[-2.12774,60.10855],[-2.12803,60.16207],[-2.00203,60.16224],[-2.00174,60.10872],[-2.12774,60.10855]],[[-6.68977,56.95804],[-6.69228,56.9759],[-6.65984,56.97726],[-6.65733,56.9594],[-6.68977,56.95804]],[[-7.66365,58.25846],[-7.66844,58.28502],[-7.54896,58.29098],[-7.54417,58.26442],[-7.66365,58.25846]],[[-8.65104,57.78885],[-8.66674,57.875],[-8.48272,57.88449],[-8.46702,57.79836],[-8.65104,57.78885]]]},{id:"OSIP_1ft",name:"OSIP 1ft Imagery Most Current Available",type:"wms",template:"https://geo1.oit.ohio.gov/arcgis/services/OSIP/osip_best_avail_1ft/ImageServer/WMSServer?FORMAT=image/jpeg&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2014-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",zoomExtent:[8,20],polygon:[[[-83.1356,41.75081],[-83.08101,41.7511],[-83.0796,41.62936],[-82.95011,41.54404],[-82.89032,41.54404],[-82.89032,41.69462],[-82.8494,41.7463],[-82.76758,41.73925],[-82.75184,41.63584],[-82.64799,41.62408],[-82.68575,41.50634],[-82.49063,41.40492],[-82.0217,41.53462],[-81.72901,41.52048],[-81.39541,41.7369],[-81.10587,41.84484],[-80.50161,41.99939],[-80.51105,40.62127],[-80.6275,40.59021],[-80.58344,40.49933],[-80.58973,40.2812],[-80.85095,39.625],[-81.19399,39.37974],[-81.38912,39.31159],[-81.45521,39.38704],[-81.515,39.35054],[-81.54333,39.26288],[-81.72586,39.19461],[-81.73216,38.9258],[-81.9021,38.85477],[-81.95875,38.89397],[-81.9084,38.93315],[-82.02799,38.99922],[-82.11611,38.92336],[-82.12555,38.8278],[-82.19794,38.78856],[-82.16647,38.72475],[-82.16017,38.58712],[-82.26718,38.57236],[-82.29865,38.43198],[-82.57875,38.39745],[-82.73925,38.53545],[-82.8494,38.56006],[-82.91235,38.73212],[-83.00676,38.71002],[-83.14524,38.59942],[-83.30575,38.58466],[-83.39387,38.64368],[-83.46625,38.64614],[-83.54178,38.69283],[-83.65193,38.61172],[-83.74635,38.63385],[-83.9635,38.76403],[-84.08624,38.75421],[-84.22157,38.7812],[-84.34117,38.99922],[-84.49223,39.07255],[-84.64015,39.05545],[-84.74086,39.11164],[-84.84471,39.08477],[-84.82898,41.70637],[-83.44737,41.76038],[-83.13438,41.64959],[-83.1356,41.75081]]],terms_url:"https://ogrip.oit.ohio.gov/ProjectsInitiatives/StatewideImagery.aspx",terms_text:"Ohio Statewide Imagery Program",description:"Most recent available 1-foot orthoimagery from the Ohio Statewide Imagery Program."},{id:"OSIP_6in",name:"OSIP 6in Imagery Most Current Available",type:"wms",template:"https://geo1.oit.ohio.gov/arcgis/services/OSIP/OSIP_6in_best_avail/ImageServer/WMSServer?FORMAT=image/jpeg&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2018-01-01T00:00:00.000Z",startDate:"2010-01-01T00:00:00.000Z",zoomExtent:[8,20],polygon:[[[-83.1356,41.75081],[-83.08101,41.7511],[-83.0796,41.62936],[-82.95011,41.54404],[-82.89032,41.54404],[-82.89032,41.69462],[-82.8494,41.7463],[-82.76758,41.73925],[-82.75184,41.63584],[-82.64799,41.62408],[-82.68575,41.50634],[-82.49063,41.40492],[-82.0217,41.53462],[-81.72901,41.52048],[-81.39541,41.7369],[-81.10587,41.84484],[-80.50161,41.99939],[-80.51105,40.62127],[-80.6275,40.59021],[-80.58344,40.49933],[-80.58973,40.2812],[-80.85095,39.625],[-81.19399,39.37974],[-81.38912,39.31159],[-81.45521,39.38704],[-81.515,39.35054],[-81.54333,39.26288],[-81.72586,39.19461],[-81.73216,38.9258],[-81.9021,38.85477],[-81.95875,38.89397],[-81.9084,38.93315],[-82.02799,38.99922],[-82.11611,38.92336],[-82.12555,38.8278],[-82.19794,38.78856],[-82.16647,38.72475],[-82.16017,38.58712],[-82.26718,38.57236],[-82.29865,38.43198],[-82.57875,38.39745],[-82.73925,38.53545],[-82.8494,38.56006],[-82.91235,38.73212],[-83.00676,38.71002],[-83.14524,38.59942],[-83.30575,38.58466],[-83.39387,38.64368],[-83.46625,38.64614],[-83.54178,38.69283],[-83.65193,38.61172],[-83.74635,38.63385],[-83.9635,38.76403],[-84.08624,38.75421],[-84.22157,38.7812],[-84.34117,38.99922],[-84.49223,39.07255],[-84.64015,39.05545],[-84.74086,39.11164],[-84.84471,39.08477],[-84.82898,41.70637],[-83.44737,41.76038],[-83.13438,41.64959],[-83.1356,41.75081]]],terms_url:"https://ogrip.oit.ohio.gov/ProjectsInitiatives/StatewideImagery.aspx",terms_text:"Ohio Statewide Imagery Program",description:"Most recent available 6-inch orthoimagery from the Ohio Statewide Imagery Program."},{id:"osm-hr-knin-2007",name:"osm-hr: Knin-2007 Aerial imagery",type:"tms",template:"https://tms.osm-hr.org/knin-2007/{zoom}/{x}/{-y}.png",endDate:"2007-01-01T00:00:00.000Z",startDate:"2007-01-01T00:00:00.000Z",zoomExtent:[0,19],polygon:[[[16.21712,44.08054],[16.22916,44.08041],[16.22938,44.06055],[16.2303,44.05757],[16.23715,44.04213],[16.23715,44.03615],[16.23041,44.03599],[16.22494,44.03627],[16.2243,44.03599],[16.22404,44.03504],[16.21608,44.02178],[16.21286,44.01661],[16.20391,44.01672],[16.19269,44.02601],[16.18003,44.03662],[16.18011,44.03772],[16.21129,44.06685],[16.21712,44.08054]]],icon:"https://osmlab.github.io/editor-layer-index/sources/europe/hr/osm-hr.png"},{id:"osm-hr-zagreb-2012",name:"osm-hr: Zagreb 2012 Aerial imagery",type:"tms",template:"https://tms.osm-hr.org/zagreb-2012/{zoom}/{x}/{-y}.png",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",zoomExtent:[0,19],polygon:[[[16.15334,45.96857],[16.17462,45.94041],[16.17599,45.91796],[16.18595,45.90793],[16.18423,45.89789],[16.19728,45.8924],[16.22578,45.86085],[16.22097,45.85248],[16.22938,45.84638],[16.22921,45.84148],[16.24088,45.83645],[16.21719,45.83885],[16.20655,45.82784],[16.19865,45.77638],[16.1602,45.79554],[16.12827,45.80224],[16.13033,45.79434],[16.12278,45.78716],[16.10081,45.7862],[16.07677,45.77303],[16.0572,45.75746],[16.03901,45.76082],[16.03695,45.7577],[16.03935,45.75411],[16.02699,45.75507],[16.01772,45.74453],[16.01772,45.71936],[15.98785,45.71601],[15.96554,45.69131],[15.96725,45.67236],[15.95077,45.65125],[15.95077,45.63589],[15.94768,45.62989],[15.94288,45.63109],[15.93395,45.62172],[15.92606,45.61932],[15.92125,45.6138],[15.90031,45.62244],[15.90717,45.63229],[15.89619,45.63565],[15.87421,45.65557],[15.83885,45.66517],[15.81722,45.67044],[15.8131,45.67716],[15.77568,45.68915],[15.77396,45.7081],[15.78941,45.73398],[15.79285,45.73159],[15.80898,45.7383],[15.81001,45.73063],[15.82237,45.72344],[15.83473,45.72871],[15.85155,45.71673],[15.87078,45.73159],[15.84434,45.73159],[15.84469,45.76465],[15.83834,45.76764],[15.81276,45.76764],[15.80555,45.77543],[15.80538,45.80403],[15.8325,45.80391],[15.82993,45.80762],[15.83319,45.81062],[15.82289,45.82581],[15.82186,45.83837],[15.82975,45.84136],[15.84074,45.83992],[15.8452,45.84112],[15.84434,45.84459],[15.84984,45.84805],[15.85052,45.85236],[15.85979,45.85511],[15.86031,45.85308],[15.86477,45.85272],[15.87301,45.85451],[15.87378,45.85755],[15.87328,45.86081],[15.87816,45.8621],[15.87782,45.86563],[15.88263,45.8618],[15.88649,45.86306],[15.88529,45.86545],[15.89026,45.87603],[15.89709,45.88143],[15.9082,45.88642],[15.92125,45.88953],[15.9288,45.88762],[15.93876,45.89359],[15.92194,45.89431],[15.91988,45.89789],[15.92983,45.90339],[15.94768,45.90434],[15.95352,45.90554],[15.95524,45.91223],[15.97412,45.91271],[15.99918,45.92369],[16.00811,45.9299],[16.02802,45.93324],[16.03043,45.93611],[16.04313,45.93969],[16.05206,45.93563],[16.05171,45.94447],[16.06476,45.94661],[16.06579,45.95115],[16.0778,45.95569],[16.09325,45.95903],[16.09497,45.95449],[16.10767,45.95688],[16.11317,45.96165],[16.11282,45.96762],[16.12038,45.96905],[16.13205,45.96475],[16.1372,45.96523],[16.13823,45.96786],[16.15334,45.96857]]],icon:"https://osmlab.github.io/editor-layer-index/sources/europe/hr/osm-hr.png"},{id:"osmie_barony",name:"OSMIE Baronies",type:"tms",template:"https://tile.openstreetmap.ie/barony/{zoom}/{x}/{y}.png",zoomExtent:[7,20],polygon:[[[-6.32987,52.38838],[-6.16508,52.58073],[-5.9893,52.9811],[-6.05796,53.31713],[-5.9838,53.50704],[-6.24473,53.86326],[-6.35459,53.91182],[-6.31614,53.98133],[-6.13487,53.97002],[-5.61851,54.23574],[-5.3878,54.44708],[-5.53886,54.67641],[-6.07444,55.21277],[-6.21452,55.33168],[-6.78306,55.17828],[-6.9506,55.25505],[-7.17582,55.35355],[-7.22526,55.45024],[-7.50816,55.28791],[-7.63999,55.28009],[-8.02451,55.2206],[-8.25797,55.27853],[-8.28269,55.172],[-8.58482,55.01168],[-8.38432,54.86021],[-8.69743,54.78901],[-8.85124,54.67641],[-8.46946,54.57942],[-8.17008,54.62397],[-8.33763,54.4854],[-8.68644,54.36556],[-8.62876,54.27625],[-9.04075,54.3051],[-9.13688,54.23614],[-9.2852,54.33834],[-9.90043,54.32233],[-10.15037,54.2245],[-10.27397,53.94578],[-9.98832,53.85678],[-10.3289,53.60982],[-10.22727,53.39418],[-9.78233,53.21857],[-8.96934,53.26952],[-9.04624,53.1762],[-9.2852,53.15644],[-9.40879,52.99433],[-9.57084,52.75562],[-9.97321,52.54316],[-9.70405,52.57071],[-9.69444,52.4855],[-9.97733,52.41854],[-9.87296,52.33387],[-9.92378,52.2381],[-10.06523,52.34478],[-10.15586,52.30113],[-10.65849,52.07212],[-9.90318,52.12274],[-10.45799,51.88772],[-10.39344,51.82411],[-10.56098,51.76635],[-10.32478,51.79014],[-10.25749,51.70937],[-9.80705,51.81816],[-10.28289,51.57045],[-9.89631,51.60032],[-9.51454,51.70256],[-9.83177,51.55082],[-9.83039,51.43368],[-9.43351,51.50468],[-9.53788,51.41741],[-8.63151,51.59179],[-7.70316,51.95209],[-7.46421,52.12105],[-6.33537,52.17667],[-6.32987,52.38838]],[[-9.89082,53.14368],[-9.51042,53.03605],[-9.45274,53.08557],[-9.82902,53.18279],[-9.89082,53.14368]]],icon:"https://www.townlands.ie/static/logo_small.png"},{id:"osmie_cps",name:"OSMIE Civil Parishes",type:"tms",template:"https://tile.openstreetmap.ie/civilparish/{zoom}/{x}/{y}.png",zoomExtent:[7,20],polygon:[[[-6.32987,52.38838],[-6.16508,52.58073],[-5.9893,52.9811],[-6.05796,53.31713],[-5.9838,53.50704],[-6.24473,53.86326],[-6.35459,53.91182],[-6.31614,53.98133],[-6.13487,53.97002],[-5.61851,54.23574],[-5.3878,54.44708],[-5.53886,54.67641],[-6.07444,55.21277],[-6.21452,55.33168],[-6.78306,55.17828],[-6.9506,55.25505],[-7.17582,55.35355],[-7.22526,55.45024],[-7.50816,55.28791],[-7.63999,55.28009],[-8.02451,55.2206],[-8.25797,55.27853],[-8.28269,55.172],[-8.58482,55.01168],[-8.38432,54.86021],[-8.69743,54.78901],[-8.85124,54.67641],[-8.46946,54.57942],[-8.17008,54.62397],[-8.33763,54.4854],[-8.68644,54.36556],[-8.62876,54.27625],[-9.04075,54.3051],[-9.13688,54.23614],[-9.2852,54.33834],[-9.90043,54.32233],[-10.15037,54.2245],[-10.27397,53.94578],[-9.98832,53.85678],[-10.3289,53.60982],[-10.22727,53.39418],[-9.78233,53.21857],[-8.96934,53.26952],[-9.04624,53.1762],[-9.2852,53.15644],[-9.40879,52.99433],[-9.57084,52.75562],[-9.97321,52.54316],[-9.70405,52.57071],[-9.69444,52.4855],[-9.97733,52.41854],[-9.87296,52.33387],[-9.92378,52.2381],[-10.06523,52.34478],[-10.15586,52.30113],[-10.65849,52.07212],[-9.90318,52.12274],[-10.45799,51.88772],[-10.39344,51.82411],[-10.56098,51.76635],[-10.32478,51.79014],[-10.25749,51.70937],[-9.80705,51.81816],[-10.28289,51.57045],[-9.89631,51.60032],[-9.51454,51.70256],[-9.83177,51.55082],[-9.83039,51.43368],[-9.43351,51.50468],[-9.53788,51.41741],[-8.63151,51.59179],[-7.70316,51.95209],[-7.46421,52.12105],[-6.33537,52.17667],[-6.32987,52.38838]],[[-9.89082,53.14368],[-9.51042,53.03605],[-9.45274,53.08557],[-9.82902,53.18279],[-9.89082,53.14368]]],icon:"https://www.townlands.ie/static/logo_small.png"},{id:"osmie_dail_ea",name:"OSMIE Dail Election Areas",type:"tms",template:"https://tile.openstreetmap.ie/dail_ea/{zoom}/{x}/{y}.png",zoomExtent:[7,20],polygon:[[[-6.32987,52.38838],[-6.16508,52.58073],[-5.9893,52.9811],[-6.05796,53.31713],[-5.9838,53.50704],[-6.24473,53.86326],[-6.35459,53.91182],[-6.31614,53.98133],[-6.13487,53.97002],[-5.61851,54.23574],[-5.3878,54.44708],[-5.53886,54.67641],[-6.07444,55.21277],[-6.21452,55.33168],[-6.78306,55.17828],[-6.9506,55.25505],[-7.17582,55.35355],[-7.22526,55.45024],[-7.50816,55.28791],[-7.63999,55.28009],[-8.02451,55.2206],[-8.25797,55.27853],[-8.28269,55.172],[-8.58482,55.01168],[-8.38432,54.86021],[-8.69743,54.78901],[-8.85124,54.67641],[-8.46946,54.57942],[-8.17008,54.62397],[-8.33763,54.4854],[-8.68644,54.36556],[-8.62876,54.27625],[-9.04075,54.3051],[-9.13688,54.23614],[-9.2852,54.33834],[-9.90043,54.32233],[-10.15037,54.2245],[-10.27397,53.94578],[-9.98832,53.85678],[-10.3289,53.60982],[-10.22727,53.39418],[-9.78233,53.21857],[-8.96934,53.26952],[-9.04624,53.1762],[-9.2852,53.15644],[-9.40879,52.99433],[-9.57084,52.75562],[-9.97321,52.54316],[-9.70405,52.57071],[-9.69444,52.4855],[-9.97733,52.41854],[-9.87296,52.33387],[-9.92378,52.2381],[-10.06523,52.34478],[-10.15586,52.30113],[-10.65849,52.07212],[-9.90318,52.12274],[-10.45799,51.88772],[-10.39344,51.82411],[-10.56098,51.76635],[-10.32478,51.79014],[-10.25749,51.70937],[-9.80705,51.81816],[-10.28289,51.57045],[-9.89631,51.60032],[-9.51454,51.70256],[-9.83177,51.55082],[-9.83039,51.43368],[-9.43351,51.50468],[-9.53788,51.41741],[-8.63151,51.59179],[-7.70316,51.95209],[-7.46421,52.12105],[-6.33537,52.17667],[-6.32987,52.38838]],[[-9.89082,53.14368],[-9.51042,53.03605],[-9.45274,53.08557],[-9.82902,53.18279],[-9.89082,53.14368]]],icon:"https://www.townlands.ie/static/logo_small.png"},{id:"osmie_eds",name:"OSMIE EDs",type:"tms",template:"https://tile.openstreetmap.ie/ed/{zoom}/{x}/{y}.png",zoomExtent:[7,20],polygon:[[[-6.32987,52.38838],[-6.16508,52.58073],[-5.9893,52.9811],[-6.05796,53.31713],[-5.9838,53.50704],[-6.24473,53.86326],[-6.35459,53.91182],[-6.31614,53.98133],[-6.13487,53.97002],[-5.61851,54.23574],[-5.3878,54.44708],[-5.53886,54.67641],[-6.07444,55.21277],[-6.21452,55.33168],[-6.78306,55.17828],[-6.9506,55.25505],[-7.17582,55.35355],[-7.22526,55.45024],[-7.50816,55.28791],[-7.63999,55.28009],[-8.02451,55.2206],[-8.25797,55.27853],[-8.28269,55.172],[-8.58482,55.01168],[-8.38432,54.86021],[-8.69743,54.78901],[-8.85124,54.67641],[-8.46946,54.57942],[-8.17008,54.62397],[-8.33763,54.4854],[-8.68644,54.36556],[-8.62876,54.27625],[-9.04075,54.3051],[-9.13688,54.23614],[-9.2852,54.33834],[-9.90043,54.32233],[-10.15037,54.2245],[-10.27397,53.94578],[-9.98832,53.85678],[-10.3289,53.60982],[-10.22727,53.39418],[-9.78233,53.21857],[-8.96934,53.26952],[-9.04624,53.1762],[-9.2852,53.15644],[-9.40879,52.99433],[-9.57084,52.75562],[-9.97321,52.54316],[-9.70405,52.57071],[-9.69444,52.4855],[-9.97733,52.41854],[-9.87296,52.33387],[-9.92378,52.2381],[-10.06523,52.34478],[-10.15586,52.30113],[-10.65849,52.07212],[-9.90318,52.12274],[-10.45799,51.88772],[-10.39344,51.82411],[-10.56098,51.76635],[-10.32478,51.79014],[-10.25749,51.70937],[-9.80705,51.81816],[-10.28289,51.57045],[-9.89631,51.60032],[-9.51454,51.70256],[-9.83177,51.55082],[-9.83039,51.43368],[-9.43351,51.50468],[-9.53788,51.41741],[-8.63151,51.59179],[-7.70316,51.95209],[-7.46421,52.12105],[-6.33537,52.17667],[-6.32987,52.38838]],[[-9.89082,53.14368],[-9.51042,53.03605],[-9.45274,53.08557],[-9.82902,53.18279],[-9.89082,53.14368]]],icon:"https://www.townlands.ie/static/logo_small.png"},{id:"osmie_local_ea",name:"OSMIE Local Election Areas",type:"tms",template:"https://tile.openstreetmap.ie/local_ea/{zoom}/{x}/{y}.png",zoomExtent:[7,20],polygon:[[[-6.32987,52.38838],[-6.16508,52.58073],[-5.9893,52.9811],[-6.05796,53.31713],[-5.9838,53.50704],[-6.24473,53.86326],[-6.35459,53.91182],[-6.31614,53.98133],[-6.13487,53.97002],[-5.61851,54.23574],[-5.3878,54.44708],[-5.53886,54.67641],[-6.07444,55.21277],[-6.21452,55.33168],[-6.78306,55.17828],[-6.9506,55.25505],[-7.17582,55.35355],[-7.22526,55.45024],[-7.50816,55.28791],[-7.63999,55.28009],[-8.02451,55.2206],[-8.25797,55.27853],[-8.28269,55.172],[-8.58482,55.01168],[-8.38432,54.86021],[-8.69743,54.78901],[-8.85124,54.67641],[-8.46946,54.57942],[-8.17008,54.62397],[-8.33763,54.4854],[-8.68644,54.36556],[-8.62876,54.27625],[-9.04075,54.3051],[-9.13688,54.23614],[-9.2852,54.33834],[-9.90043,54.32233],[-10.15037,54.2245],[-10.27397,53.94578],[-9.98832,53.85678],[-10.3289,53.60982],[-10.22727,53.39418],[-9.78233,53.21857],[-8.96934,53.26952],[-9.04624,53.1762],[-9.2852,53.15644],[-9.40879,52.99433],[-9.57084,52.75562],[-9.97321,52.54316],[-9.70405,52.57071],[-9.69444,52.4855],[-9.97733,52.41854],[-9.87296,52.33387],[-9.92378,52.2381],[-10.06523,52.34478],[-10.15586,52.30113],[-10.65849,52.07212],[-9.90318,52.12274],[-10.45799,51.88772],[-10.39344,51.82411],[-10.56098,51.76635],[-10.32478,51.79014],[-10.25749,51.70937],[-9.80705,51.81816],[-10.28289,51.57045],[-9.89631,51.60032],[-9.51454,51.70256],[-9.83177,51.55082],[-9.83039,51.43368],[-9.43351,51.50468],[-9.53788,51.41741],[-8.63151,51.59179],[-7.70316,51.95209],[-7.46421,52.12105],[-6.33537,52.17667],[-6.32987,52.38838]],[[-9.89082,53.14368],[-9.51042,53.03605],[-9.45274,53.08557],[-9.82902,53.18279],[-9.89082,53.14368]]],icon:"https://www.townlands.ie/static/logo_small.png"},{id:"osmie_tie_not_counties",name:"OSMIE T.ie Land not in Counties",type:"tms",template:"https://www.townlands.ie/tiles/not_counties/{zoom}/{x}/{y}.png",zoomExtent:[2,19],polygon:[[[-6.32987,52.38838],[-6.16508,52.58073],[-5.9893,52.9811],[-6.05796,53.31713],[-5.9838,53.50704],[-6.24473,53.86326],[-6.35459,53.91182],[-6.31614,53.98133],[-6.13487,53.97002],[-5.61851,54.23574],[-5.3878,54.44708],[-5.53886,54.67641],[-6.07444,55.21277],[-6.21452,55.33168],[-6.78306,55.17828],[-6.9506,55.25505],[-7.17582,55.35355],[-7.22526,55.45024],[-7.50816,55.28791],[-7.63999,55.28009],[-8.02451,55.2206],[-8.25797,55.27853],[-8.28269,55.172],[-8.58482,55.01168],[-8.38432,54.86021],[-8.69743,54.78901],[-8.85124,54.67641],[-8.46946,54.57942],[-8.17008,54.62397],[-8.33763,54.4854],[-8.68644,54.36556],[-8.62876,54.27625],[-9.04075,54.3051],[-9.13688,54.23614],[-9.2852,54.33834],[-9.90043,54.32233],[-10.15037,54.2245],[-10.27397,53.94578],[-9.98832,53.85678],[-10.3289,53.60982],[-10.22727,53.39418],[-9.78233,53.21857],[-8.96934,53.26952],[-9.04624,53.1762],[-9.2852,53.15644],[-9.40879,52.99433],[-9.57084,52.75562],[-9.97321,52.54316],[-9.70405,52.57071],[-9.69444,52.4855],[-9.97733,52.41854],[-9.87296,52.33387],[-9.92378,52.2381],[-10.06523,52.34478],[-10.15586,52.30113],[-10.65849,52.07212],[-9.90318,52.12274],[-10.45799,51.88772],[-10.39344,51.82411],[-10.56098,51.76635],[-10.32478,51.79014],[-10.25749,51.70937],[-9.80705,51.81816],[-10.28289,51.57045],[-9.89631,51.60032],[-9.51454,51.70256],[-9.83177,51.55082],[-9.83039,51.43368],[-9.43351,51.50468],[-9.53788,51.41741],[-8.63151,51.59179],[-7.70316,51.95209],[-7.46421,52.12105],[-6.33537,52.17667],[-6.32987,52.38838]],[[-9.89082,53.14368],[-9.51042,53.03605],[-9.45274,53.08557],[-9.82902,53.18279],[-9.89082,53.14368]]],icon:"https://www.townlands.ie/static/logo_small.png"},{id:"osmie_tds",name:"OSMIE Townlands",type:"tms",template:"https://tile.openstreetmap.ie/townland/{zoom}/{x}/{y}.png",zoomExtent:[7,20],polygon:[[[-6.32987,52.38838],[-6.16508,52.58073],[-5.9893,52.9811],[-6.05796,53.31713],[-5.9838,53.50704],[-6.24473,53.86326],[-6.35459,53.91182],[-6.31614,53.98133],[-6.13487,53.97002],[-5.61851,54.23574],[-5.3878,54.44708],[-5.53886,54.67641],[-6.07444,55.21277],[-6.21452,55.33168],[-6.78306,55.17828],[-6.9506,55.25505],[-7.17582,55.35355],[-7.22526,55.45024],[-7.50816,55.28791],[-7.63999,55.28009],[-8.02451,55.2206],[-8.25797,55.27853],[-8.28269,55.172],[-8.58482,55.01168],[-8.38432,54.86021],[-8.69743,54.78901],[-8.85124,54.67641],[-8.46946,54.57942],[-8.17008,54.62397],[-8.33763,54.4854],[-8.68644,54.36556],[-8.62876,54.27625],[-9.04075,54.3051],[-9.13688,54.23614],[-9.2852,54.33834],[-9.90043,54.32233],[-10.15037,54.2245],[-10.27397,53.94578],[-9.98832,53.85678],[-10.3289,53.60982],[-10.22727,53.39418],[-9.78233,53.21857],[-8.96934,53.26952],[-9.04624,53.1762],[-9.2852,53.15644],[-9.40879,52.99433],[-9.57084,52.75562],[-9.97321,52.54316],[-9.70405,52.57071],[-9.69444,52.4855],[-9.97733,52.41854],[-9.87296,52.33387],[-9.92378,52.2381],[-10.06523,52.34478],[-10.15586,52.30113],[-10.65849,52.07212],[-9.90318,52.12274],[-10.45799,51.88772],[-10.39344,51.82411],[-10.56098,51.76635],[-10.32478,51.79014],[-10.25749,51.70937],[-9.80705,51.81816],[-10.28289,51.57045],[-9.89631,51.60032],[-9.51454,51.70256],[-9.83177,51.55082],[-9.83039,51.43368],[-9.43351,51.50468],[-9.53788,51.41741],[-8.63151,51.59179],[-7.70316,51.95209],[-7.46421,52.12105],[-6.33537,52.17667],[-6.32987,52.38838]],[[-9.89082,53.14368],[-9.51042,53.03605],[-9.45274,53.08557],[-9.82902,53.18279],[-9.89082,53.14368]]],icon:"https://www.townlands.ie/static/logo_small.png"},{id:"al_palestina",name:"Palestina AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Palestina&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.28907,-9.71916],[-37.28904,-9.71114],[-37.28911,-9.7022],[-37.28915,-9.69175],[-37.28919,-9.68886],[-37.28927,-9.68069],[-37.28926,-9.67732],[-37.28936,-9.66999],[-37.28936,-9.66599],[-37.28931,-9.66133],[-37.28941,-9.65526],[-37.28946,-9.64556],[-37.2895,-9.63489],[-37.28954,-9.62926],[-37.2964,-9.62885],[-37.31188,-9.62897],[-37.32762,-9.62914],[-37.33181,-9.62919],[-37.34338,-9.62917],[-37.35876,-9.62923],[-37.37175,-9.6293],[-37.37839,-9.62913],[-37.38051,-9.62922],[-37.38061,-9.63143],[-37.38054,-9.63785],[-37.38043,-9.63895],[-37.38053,-9.64147],[-37.38051,-9.64876],[-37.3805,-9.6543],[-37.38043,-9.656],[-37.38024,-9.66028],[-37.38022,-9.66551],[-37.38019,-9.67054],[-37.38016,-9.67896],[-37.38013,-9.68781],[-37.38009,-9.70116],[-37.38003,-9.71053],[-37.3801,-9.71743],[-37.38005,-9.71959],[-37.37932,-9.71954],[-37.37392,-9.71956],[-37.36582,-9.71945],[-37.35849,-9.71946],[-37.35334,-9.71938],[-37.34414,-9.71937],[-37.33423,-9.71923],[-37.32933,-9.71927],[-37.3218,-9.71924],[-37.31983,-9.71927],[-37.31094,-9.7192],[-37.29589,-9.71921],[-37.28907,-9.71916]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"palmeira_dos_indios",name:"Palmeira dos Indios AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Palmeira%20dos%20Indios&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.58664,-9.46124],[-36.58665,-9.45851],[-36.58619,-9.41968],[-36.58604,-9.41452],[-36.58596,-9.40593],[-36.58585,-9.39509],[-36.58579,-9.39163],[-36.58565,-9.38983],[-36.58549,-9.38249],[-36.58529,-9.37965],[-36.58511,-9.37744],[-36.58503,-9.37059],[-36.5889,-9.37058],[-36.59064,-9.37065],[-36.59389,-9.3706],[-36.60037,-9.37073],[-36.61046,-9.37049],[-36.62288,-9.37021],[-36.63377,-9.37002],[-36.63835,-9.36986],[-36.64743,-9.36997],[-36.65141,-9.36994],[-36.65534,-9.36972],[-36.65647,-9.36974],[-36.66111,-9.37024],[-36.66276,-9.37026],[-36.66704,-9.36973],[-36.67052,-9.36966],[-36.67325,-9.36966],[-36.67602,-9.36987],[-36.67593,-9.3726],[-36.67597,-9.37679],[-36.67639,-9.38138],[-36.67654,-9.38464],[-36.67663,-9.39265],[-36.67675,-9.39829],[-36.67689,-9.40875],[-36.67707,-9.41887],[-36.67717,-9.43179],[-36.67724,-9.43395],[-36.67718,-9.43753],[-36.67728,-9.44311],[-36.6773,-9.44933],[-36.67741,-9.45528],[-36.6774,-9.45938],[-36.67735,-9.46017],[-36.67568,-9.46021],[-36.66625,-9.4603],[-36.66224,-9.4603],[-36.65736,-9.46042],[-36.6504,-9.46047],[-36.63543,-9.46065],[-36.61979,-9.46083],[-36.61433,-9.46083],[-36.61029,-9.46097],[-36.60647,-9.46097],[-36.60186,-9.46099],[-36.59426,-9.46112],[-36.58664,-9.46124]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"Pangasinan_Bulacan_HiRes",name:"Pangasinán/Bulacan (Philippines HiRes)",type:"tms",template:"https://gravitystorm.dev.openstreetmap.org/imagery/philippines/{zoom}/{x}/{y}.png",zoomExtent:[12,19],polygon:[[[120.33659,15.98577],[120.44599,15.984],[120.44613,15.97446],[120.47646,15.97459],[120.59425,15.94683],[120.59806,16.09079],[120.59654,16.198],[120.36854,16.21853],[120.34758,16.04231],[120.33659,15.98577]],[[120.8268,15.3658],[121.2684,15.2602],[121.2699,14.7025],[120.695,14.8423],[120.8268,15.3658]]]},{id:"pao_de_acucar",name:"Pão de Açucar AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Pao%20de%20Acucar&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.39003,-9.78589],[-37.39019,-9.7762],[-37.38993,-9.76575],[-37.38991,-9.75256],[-37.39015,-9.74102],[-37.39003,-9.73201],[-37.39012,-9.72254],[-37.39015,-9.71289],[-37.39019,-9.70341],[-37.3902,-9.69548],[-37.40377,-9.6955],[-37.41728,-9.6956],[-37.43224,-9.69569],[-37.44319,-9.69573],[-37.44723,-9.69582],[-37.45682,-9.69585],[-37.47062,-9.69591],[-37.47373,-9.69591],[-37.47586,-9.69604],[-37.48128,-9.69605],[-37.48131,-9.6989],[-37.48122,-9.70087],[-37.48121,-9.70239],[-37.48135,-9.70545],[-37.48138,-9.71046],[-37.48134,-9.71617],[-37.4812,-9.71875],[-37.48125,-9.72035],[-37.48136,-9.72134],[-37.48134,-9.7241],[-37.4813,-9.72506],[-37.48103,-9.72732],[-37.48102,-9.73088],[-37.48127,-9.73462],[-37.48131,-9.73638],[-37.48131,-9.73893],[-37.48131,-9.74388],[-37.4813,-9.74989],[-37.48122,-9.75315],[-37.48102,-9.75855],[-37.48084,-9.7642],[-37.48085,-9.76526],[-37.48094,-9.76675],[-37.48093,-9.76881],[-37.48084,-9.7721],[-37.48087,-9.77486],[-37.48076,-9.77993],[-37.48081,-9.7863],[-37.46382,-9.78623],[-37.45353,-9.7862],[-37.43979,-9.78611],[-37.42998,-9.78607],[-37.4208,-9.786],[-37.40853,-9.78596],[-37.39545,-9.78593],[-37.39003,-9.78589]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"PCN-Italy-2006",name:"PCN 2006 - Italy",type:"wms",template:"http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/raster/ortofoto_colore_06.map&FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=OI.ORTOIMMAGINI.2006.33,OI.ORTOIMMAGINI.2006.32&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2006-01-01T00:00:00.000Z",startDate:"2006-01-01T00:00:00.000Z",polygon:[[[7.54795,43.73118],[8.10697,43.86701],[8.73593,44.38944],[10.18338,43.85116],[9.55016,43.13605],[10.27725,42.27515],[11.69748,42.08118],[12.90059,40.84897],[14.97466,40.20869],[16.04773,38.8953],[13.1086,38.74113],[11.77717,37.93605],[14.40624,36.74299],[15.13467,36.59364],[15.42867,37.027],[15.21993,37.43376],[15.4836,37.92936],[16.01644,37.8036],[17.21669,38.87425],[17.21669,39.40468],[16.55477,39.78775],[17.05464,40.45144],[18.32906,39.70539],[18.68773,40.0587],[18.04964,40.67064],[16.00545,41.52122],[16.38448,41.85964],[15.51837,42.1537],[14.57997,42.2461],[13.56099,43.65128],[12.57889,44.0867],[12.28795,44.62204],[12.56398,44.97092],[12.34151,45.17458],[12.41696,45.40557],[13.09252,45.62826],[13.69549,45.70806],[13.78445,45.5825],[13.9191,45.6322],[13.8235,45.7176],[13.59784,45.8072],[13.64307,45.98326],[13.52963,45.96588],[13.47474,46.00546],[13.66472,46.17392],[13.47587,46.22725],[13.42218,46.20758],[13.37671,46.29668],[13.59777,46.44137],[13.68684,46.43881],[13.7148,46.5222],[12.9151,46.60953],[12.38708,46.71529],[12.27591,46.88651],[12.17486,46.90895],[12.11675,47.01241],[12.21781,47.03996],[12.19254,47.09331],[11.74789,46.98484],[11.33355,46.99862],[11.10618,46.92966],[11.00764,46.76896],[10.72974,46.78972],[10.75753,46.82258],[10.66405,46.87614],[10.47197,46.85698],[10.38659,46.67847],[10.49375,46.62049],[10.46136,46.53164],[10.25309,46.57432],[10.23674,46.63484],[10.10307,46.61003],[10.03715,46.44479],[10.165,46.41051],[10.10506,46.3372],[10.17862,46.25626],[10.07055,46.21668],[9.95249,46.38045],[9.73086,46.35071],[9.71273,46.29266],[9.57015,46.2958],[9.46117,46.37481],[9.45936,46.50873],[9.40487,46.46621],[9.36128,46.5081],[9.28136,46.49685],[9.24503,46.23616],[8.95601,45.96503],[9.09065,45.89906],[9.0298,45.82127],[8.90992,45.8333],[8.9408,45.86682],[8.88904,45.95465],[8.78551,45.99063],[8.85617,46.0748],[8.62242,46.12112],[8.45032,46.26869],[8.42464,46.46367],[8.08814,46.26692],[8.15493,46.1834],[8.11383,46.11577],[8.02906,46.10331],[7.98881,45.99867],[7.9049,45.99945],[7.85949,45.91485],[7.56343,45.97421],[7.10685,45.85653],[7.04151,45.92435],[6.95315,45.85163],[6.80785,45.83265],[6.80785,45.71864],[6.98948,45.63869],[7.00037,45.509],[7.18019,45.40071],[7.10572,45.32924],[7.13115,45.25386],[6.85144,45.13226],[6.7697,45.16044],[6.62803,45.11175],[6.66981,45.02324],[6.74791,45.01939],[6.75518,44.89915],[7.02217,44.82519],[7.07484,44.68073],[6.95133,44.66264],[6.85507,44.53072],[6.94504,44.43112],[6.88784,44.42043],[6.89171,44.36637],[7.00764,44.23736],[7.36364,44.11882],[7.68694,44.17487],[7.72508,44.07578],[7.49355,43.86551],[7.54795,43.73118]],[[8.17134,39.14848],[8.62453,38.75119],[9.09831,39.03764],[9.03102,39.13144],[9.26585,39.18575],[9.64076,39.0227],[9.89894,40.67991],[9.50068,41.39257],[8.30317,40.91071],[8.41304,41.16139],[8.21254,41.13864],[8.07521,40.59862],[8.36154,40.35],[8.27914,39.98585],[8.38283,39.6536],[8.17134,39.14848]],[[12.51489,35.53423],[12.64054,35.5306],[12.63861,35.48641],[12.51296,35.49005],[12.51489,35.53423]],[[11.91218,36.85688],[12.08179,36.85523],[12.07958,36.70974],[11.90998,36.71139],[11.91218,36.85688]],[[12.84019,35.88131],[12.89186,35.88145],[12.89198,35.85003],[12.84031,35.84989],[12.84019,35.88131]]]},{id:"PCN-Lazio_Umbria-2008",name:"PCN 2008 - IT Lazio+Umbria",type:"wms",template:"http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/raster/ortofoto_colore_08.map&FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=OI.ORTOIMMAGINI.2008.33&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2008-01-01T00:00:00.000Z",startDate:"2008-01-01T00:00:00.000Z",polygon:[[[12.33149,41.64637],[12.41178,41.64791],[12.41499,41.54635],[12.49574,41.54789],[12.4985,41.49619],[12.57948,41.49843],[12.58062,41.42932],[12.60632,41.4288],[12.60746,41.39663],[12.8293,41.39818],[12.83159,41.34688],[12.9128,41.34843],[12.9151,41.29726],[12.99585,41.2983],[12.99791,41.19636],[13.1679,41.19808],[13.16721,41.24692],[13.41337,41.24829],[13.4152,41.19705],[13.8341,41.19808],[13.83341,41.2476],[13.91737,41.24847],[13.91668,41.39749],[14.0011,41.39784],[13.99996,41.49774],[14.08415,41.49826],[14.08346,41.65014],[14.00087,41.6498],[13.99973,41.75051],[13.83433,41.74965],[13.83364,41.80047],[13.75151,41.79978],[13.7499,41.84987],[13.41841,41.8497],[13.41681,41.95027],[13.33445,41.94959],[13.3333,42.00041],[13.25141,41.99973],[13.25003,42.05051],[13.08509,42.04966],[13.08394,42.097],[13.33399,42.09819],[13.33376,42.1472],[13.41772,42.14822],[13.41635,42.25052],[13.33399,42.24984],[13.33353,42.30094],[13.25141,42.29992],[13.25003,42.54699],[13.41795,42.54817],[13.41589,42.75065],[13.33468,42.74947],[13.33307,42.90056],[13.16836,42.89938],[13.16721,42.95079],[12.96419,42.95012],[12.96258,43.0003],[12.91877,42.9998],[12.91601,43.25078],[12.83526,43.24994],[12.83228,43.50107],[12.66321,43.4994],[12.66482,43.45112],[12.58567,43.44996],[12.58246,43.5508],[12.50171,43.5498],[12.49987,43.65131],[12.16242,43.64915],[12.16494,43.60132],[12.07891,43.5995],[12.0819,43.45196],[11.99541,43.44913],[11.99862,43.34661],[12.07891,43.34795],[12.08075,43.30189],[11.9961,43.29955],[11.99862,43.20214],[11.91237,43.19929],[11.91466,43.15212],[11.83207,43.14944],[11.8323,43.09653],[11.91099,43.09837],[11.91466,42.90191],[11.82909,42.89922],[11.83139,42.85231],[11.74582,42.84945],[11.74811,42.65236],[11.6731,42.64966],[11.67493,42.6105],[11.49485,42.59936],[11.49852,42.49593],[11.57812,42.49796],[11.58156,42.45244],[11.41226,42.44872],[11.41524,42.34656],[11.49599,42.34792],[11.49921,42.29636],[11.57835,42.29822],[11.58225,42.24628],[11.66185,42.24832],[11.66621,42.09649],[11.74536,42.09819],[11.74903,41.99666],[11.91443,41.99922],[11.91535,41.98626],[11.99403,41.98745],[11.99862,41.89685],[12.07868,41.89907],[12.08144,41.84594],[12.16311,41.84799],[12.16563,41.6964],[12.3292,41.69863],[12.33149,41.64637]]]},{id:"PCN-Italy-2012",name:"PCN 2012 - Italy",type:"wms",template:"http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/raster/ortofoto_colore_12.map&FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=OI.ORTOIMMAGINI.2012&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",polygon:[[[7.54795,43.73118],[8.10697,43.86701],[8.73593,44.38944],[10.18338,43.85116],[9.55016,43.13605],[10.27725,42.27515],[11.69748,42.08118],[12.90059,40.84897],[14.97466,40.20869],[16.04773,38.8953],[13.1086,38.74113],[11.77717,37.93605],[14.40624,36.74299],[15.13467,36.59364],[15.42867,37.027],[15.21993,37.43376],[15.4836,37.92936],[16.01644,37.8036],[17.21669,38.87425],[17.21669,39.40468],[16.55477,39.78775],[17.05464,40.45144],[18.32906,39.70539],[18.68773,40.0587],[18.04964,40.67064],[16.00545,41.52122],[16.38448,41.85964],[15.51837,42.1537],[14.57997,42.2461],[13.56099,43.65128],[12.57889,44.0867],[12.28795,44.62204],[12.56398,44.97092],[12.34151,45.17458],[12.41696,45.40557],[13.09252,45.62826],[13.69549,45.70806],[13.78445,45.5825],[13.9191,45.6322],[13.8235,45.7176],[13.59784,45.8072],[13.64307,45.98326],[13.52963,45.96588],[13.47474,46.00546],[13.66472,46.17392],[13.47587,46.22725],[13.42218,46.20758],[13.37671,46.29668],[13.59777,46.44137],[13.68684,46.43881],[13.7148,46.5222],[12.9151,46.60953],[12.38708,46.71529],[12.27591,46.88651],[12.17486,46.90895],[12.11675,47.01241],[12.21781,47.03996],[12.19254,47.09331],[11.74789,46.98484],[11.33355,46.99862],[11.10618,46.92966],[11.00764,46.76896],[10.72974,46.78972],[10.75753,46.82258],[10.66405,46.87614],[10.47197,46.85698],[10.38659,46.67847],[10.49375,46.62049],[10.46136,46.53164],[10.25309,46.57432],[10.23674,46.63484],[10.10307,46.61003],[10.03715,46.44479],[10.165,46.41051],[10.10506,46.3372],[10.17862,46.25626],[10.07055,46.21668],[9.95249,46.38045],[9.73086,46.35071],[9.71273,46.29266],[9.57015,46.2958],[9.46117,46.37481],[9.45936,46.50873],[9.40487,46.46621],[9.36128,46.5081],[9.28136,46.49685],[9.24503,46.23616],[8.95601,45.96503],[9.09065,45.89906],[9.0298,45.82127],[8.90992,45.8333],[8.9408,45.86682],[8.88904,45.95465],[8.78551,45.99063],[8.85617,46.0748],[8.62242,46.12112],[8.45032,46.26869],[8.42464,46.46367],[8.08814,46.26692],[8.15493,46.1834],[8.11383,46.11577],[8.02906,46.10331],[7.98881,45.99867],[7.9049,45.99945],[7.85949,45.91485],[7.56343,45.97421],[7.10685,45.85653],[7.04151,45.92435],[6.95315,45.85163],[6.80785,45.83265],[6.80785,45.71864],[6.98948,45.63869],[7.00037,45.509],[7.18019,45.40071],[7.10572,45.32924],[7.13115,45.25386],[6.85144,45.13226],[6.7697,45.16044],[6.62803,45.11175],[6.66981,45.02324],[6.74791,45.01939],[6.75518,44.89915],[7.02217,44.82519],[7.07484,44.68073],[6.95133,44.66264],[6.85507,44.53072],[6.94504,44.43112],[6.88784,44.42043],[6.89171,44.36637],[7.00764,44.23736],[7.36364,44.11882],[7.68694,44.17487],[7.72508,44.07578],[7.49355,43.86551],[7.54795,43.73118]],[[8.17134,39.14848],[8.62453,38.75119],[9.09831,39.03764],[9.03102,39.13144],[9.26585,39.18575],[9.64076,39.0227],[9.89894,40.67991],[9.50068,41.39257],[8.30317,40.91071],[8.41304,41.16139],[8.21254,41.13864],[8.07521,40.59862],[8.36154,40.35],[8.27914,39.98585],[8.38283,39.6536],[8.17134,39.14848]],[[12.51489,35.53423],[12.64054,35.5306],[12.63861,35.48641],[12.51296,35.49005],[12.51489,35.53423]],[[11.91218,36.85688],[12.08179,36.85523],[12.07958,36.70974],[11.90998,36.71139],[11.91218,36.85688]],[[12.84019,35.88131],[12.89186,35.88145],[12.89198,35.85003],[12.84031,35.84989],[12.84019,35.88131]]]},{id:"Actueel_ortho25_WMS",name:"PDOK aerial imagery Beeldmateriaal.nl 25cm latest",type:"tms",template:"https://geodata.nationaalgeoregister.nl/luchtfoto/rgb/wmts?FORMAT=image/jpeg&SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=Actueel_ortho25&STYLE=&FORMAT=image/jpeg&tileMatrixSet=OGC:1.0:GoogleMapsCompatible&tileMatrix={zoom}&tileRow={y}&tileCol={x}",zoomExtent:[0,19],polygon:[[[3.14377,51.35984],[3.1575,51.24113],[3.33878,51.11544],[3.91281,51.05851],[4.65714,51.28067],[4.89334,51.26348],[5.17899,51.12579],[5.38498,51.13096],[5.54428,51.05678],[5.42069,50.85956],[5.46738,50.70326],[5.65689,50.61926],[6.14853,50.62143],[6.30234,50.85782],[6.29959,50.95438],[6.26389,51.01835],[6.37238,51.09259],[6.40122,51.20114],[6.37375,51.25102],[6.44516,51.31587],[6.42044,51.5496],[6.34354,51.67922],[6.79672,51.76429],[7.04666,51.91024],[7.07138,52.04559],[7.27188,52.17041],[7.30759,52.38551],[7.20596,52.53195],[7.28287,52.61458],[7.29935,52.77853],[7.44217,52.97827],[7.43393,53.28314],[7.04392,53.55159],[6.78299,53.63635],[6.23917,53.54016],[5.6871,53.51241],[5.17349,53.43885],[4.81644,53.23384],[4.65164,53.06583],[4.54178,52.48598],[4.32205,52.19568],[4.08104,52.01369],[4.02199,52.01623],[3.93684,51.96379],[3.95195,51.88079],[3.84483,51.84942],[3.62373,51.70752],[3.65532,51.66069],[3.63335,51.62746],[3.54683,51.62234],[3.39577,51.56091],[3.38203,51.51735],[3.49876,51.43267],[3.32985,51.38556],[3.14377,51.35984]]],terms_url:"https://www.nationaalgeoregister.nl/geonetwork/srv/dut/catalog.search#/search?facet.q=license%2FCC-BY&isChild=%27false%27&resultType=details&any_OR_title_OR_keyword=luchtfoto&fast=index&_content_type=json&from=1&to=20&sortBy=relevance",terms_text:"Kadaster / Beeldmateriaal.nl, CC BY 4.0",best:true,description:"Nationwide data set 25cm resolution color aerial imagery of the most recent year.",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/nl/PDOK-Luchtfoto-Beeldmateriaal-25cm-latest.png"},{id:"al_piranhas",name:"Piranhas AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Piranhas&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.71918,-9.65236],[-37.71918,-9.63874],[-37.71914,-9.6321],[-37.71924,-9.62114],[-37.71929,-9.61023],[-37.71934,-9.59988],[-37.7194,-9.58891],[-37.71945,-9.57802],[-37.71944,-9.57173],[-37.71952,-9.56684],[-37.71956,-9.56225],[-37.71998,-9.56218],[-37.72258,-9.56195],[-37.72818,-9.56203],[-37.73254,-9.562],[-37.74107,-9.56206],[-37.74845,-9.56202],[-37.75926,-9.56216],[-37.76972,-9.56227],[-37.78036,-9.56244],[-37.78537,-9.56236],[-37.78907,-9.56233],[-37.79562,-9.56245],[-37.79771,-9.56237],[-37.81006,-9.56243],[-37.81061,-9.56241],[-37.81053,-9.56531],[-37.81049,-9.57629],[-37.81046,-9.58742],[-37.81038,-9.59757],[-37.81031,-9.61798],[-37.81018,-9.65197],[-37.81018,-9.6523],[-37.81024,-9.65259],[-37.80664,-9.65245],[-37.80206,-9.65253],[-37.79597,-9.65237],[-37.79179,-9.65252],[-37.78815,-9.65246],[-37.78723,-9.65242],[-37.78035,-9.65241],[-37.77865,-9.65223],[-37.77625,-9.6523],[-37.77475,-9.65219],[-37.77234,-9.65223],[-37.7696,-9.65245],[-37.76623,-9.65251],[-37.76345,-9.65246],[-37.7604,-9.6525],[-37.75102,-9.65237],[-37.75012,-9.65249],[-37.74155,-9.65248],[-37.7403,-9.65239],[-37.73785,-9.65246],[-37.73443,-9.65238],[-37.73106,-9.65243],[-37.72651,-9.65237],[-37.72195,-9.65225],[-37.71992,-9.65228],[-37.71918,-9.65236]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"PNOA-Spain-TMS",name:"PNOA Spain",type:"tms",template:"https://www.ign.es/wmts/pnoa-ma?request=GetTile&service=WMTS&VERSION=1.0.0&Layer=OI.OrthoimageCoverage&Style=default&Format=image/png&TileMatrixSet=GoogleMapsCompatible&TileMatrix={zoom}&TileRow={y}&TileCol={x}",zoomExtent:[0,20],polygon:[[[-17.88463,28.44606],[-17.89395,28.52255],[-18.02125,28.74819],[-18.02241,28.80384],[-17.9424,28.87261],[-17.89118,28.87371],[-17.89033,28.85151],[-17.76759,28.85378],[-17.76698,28.83122],[-17.74127,28.832],[-17.73949,28.76422],[-17.71398,28.76497],[-17.71293,28.73037],[-17.75744,28.69318],[-17.75708,28.67413],[-17.74579,28.67435],[-17.74573,28.61656],[-17.75197,28.58337],[-17.76225,28.5592],[-17.78331,28.54167],[-17.78316,28.49366],[-17.80861,28.4925],[-17.80601,28.4469],[-17.88463,28.44606]],[[-18.1661,27.78516],[-18.16349,27.69492],[-18.08898,27.69634],[-18.08734,27.67387],[-18.03641,27.67537],[-18.03501,27.63026],[-17.959,27.6324],[-17.86033,27.7926],[-17.86303,27.83688],[-17.8884,27.83649],[-17.88913,27.85905],[-17.99065,27.85675],[-18.03868,27.76558],[-18.11464,27.76379],[-18.11546,27.78636],[-18.1661,27.78516]],[[-17.36038,28.06398],[-17.36297,28.17572],[-17.33756,28.17637],[-17.33846,28.2213],[-17.18579,28.22388],[-17.08208,28.13518],[-17.08084,28.068],[-17.13154,28.06681],[-17.15633,28.02146],[-17.23211,28.02037],[-17.23199,27.99804],[-17.25768,27.99784],[-17.25785,28.01997],[-17.30867,28.01923],[-17.36038,28.06398]],[[-16.92782,28.32758],[-16.92866,28.37219],[-16.87767,28.37293],[-16.87807,28.39542],[-16.52143,28.42261],[-16.44571,28.49113],[-16.44625,28.53597],[-16.42059,28.53627],[-16.42092,28.55884],[-16.34433,28.55976],[-16.3446,28.58221],[-16.19125,28.58372],[-16.19162,28.60684],[-16.12793,28.60782],[-16.1278,28.59218],[-16.09951,28.5925],[-16.09934,28.51638],[-16.16481,28.51612],[-16.16475,28.49386],[-16.23858,28.44847],[-16.26535,28.44761],[-16.26586,28.403],[-16.31675,28.40176],[-16.31631,28.38019],[-16.34208,28.37951],[-16.34083,28.2893],[-16.41584,28.19761],[-16.4151,28.13113],[-16.51533,28.01648],[-16.61684,28.01532],[-16.61681,27.99305],[-16.71842,27.99192],[-16.7191,28.03714],[-16.7447,28.03679],[-16.74534,28.08181],[-16.7707,28.08161],[-16.8224,28.1259],[-16.82317,28.17087],[-16.8487,28.17075],[-16.85028,28.26079],[-16.87565,28.26055],[-16.87608,28.28322],[-16.90151,28.28277],[-16.90239,28.32793],[-16.92782,28.32758]],[[-15.85374,27.90089],[-15.8542,27.99018],[-15.82895,27.99066],[-15.82911,28.03558],[-15.7783,28.03632],[-15.75328,28.08143],[-15.72788,28.08157],[-15.72826,28.17186],[-15.49897,28.1728],[-15.49874,28.15041],[-15.44978,28.15075],[-15.45016,28.19614],[-15.39728,28.19614],[-15.39644,28.03836],[-15.37103,28.03802],[-15.37065,28.01532],[-15.34578,28.01532],[-15.34548,27.92544],[-15.3708,27.92524],[-15.37057,27.83521],[-15.39598,27.83474],[-15.421,27.78797],[-15.47181,27.78939],[-15.47188,27.76665],[-15.52277,27.76678],[-15.54771,27.72161],[-15.62361,27.72134],[-15.62415,27.74199],[-15.70075,27.74335],[-15.80167,27.81105],[-15.85374,27.90089]],[[-14.52156,28.04678],[-14.52244,28.11841],[-14.41575,28.11561],[-14.21688,28.22788],[-14.21537,28.33903],[-14.16417,28.45283],[-14.11151,28.4748],[-14.03358,28.72267],[-13.95652,28.74494],[-13.95617,28.76659],[-13.82902,28.76643],[-13.82896,28.78798],[-13.80007,28.78793],[-13.8013,28.71899],[-13.82757,28.71935],[-13.82786,28.6518],[-13.80258,28.6519],[-13.80339,28.53842],[-13.82885,28.53847],[-13.83151,28.39702],[-13.91582,28.22414],[-13.98564,28.22357],[-14.03696,28.17958],[-14.13871,28.17999],[-14.13866,28.15791],[-14.21537,28.15781],[-14.21472,28.11189],[-14.29132,28.04524],[-14.33197,28.03687],[-14.44578,28.04698],[-14.44666,28.0658],[-14.49628,28.06826],[-14.49593,28.04585],[-14.52156,28.04678]],[[-13.80066,28.84566],[-13.80093,28.82311],[-13.77569,28.82305],[-13.69729,28.88982],[-13.69729,28.91277],[-13.60725,28.9118],[-13.43886,29.00024],[-13.43746,29.13513],[-13.4117,29.13499],[-13.41056,29.22298],[-13.45928,29.25559],[-13.45974,29.2942],[-13.50913,29.29456],[-13.51006,29.31635],[-13.56354,29.31729],[-13.56406,29.27138],[-13.53892,29.2712],[-13.53897,29.25004],[-13.56613,29.25013],[-13.5666,29.203],[-13.51565,29.20223],[-13.51565,29.18206],[-13.5398,29.18278],[-13.54089,29.13753],[-13.65782,29.13685],[-13.71322,29.09351],[-13.76634,29.09345],[-13.85025,29.01659],[-13.85182,28.98343],[-13.85244,28.91486],[-13.90131,28.89245],[-13.9024,28.84698],[-13.80066,28.84566]],[[1.64799,38.99907],[1.73217,38.99936],[1.73147,39.04417],[1.64895,39.04319],[1.64816,39.12764],[1.39486,39.12657],[1.39544,39.08642],[1.22811,39.08526],[1.22911,39.0029],[1.14487,39.0018],[1.14528,38.832],[1.31136,38.83316],[1.31219,38.79065],[1.39469,38.79162],[1.39519,38.75296],[1.31128,38.75193],[1.31259,38.62388],[1.6489,38.62511],[1.64807,38.71115],[1.58456,38.71012],[1.58116,38.70054],[1.54915,38.70028],[1.51972,38.70921],[1.50355,38.72532],[1.48133,38.91551],[1.55189,38.92544],[1.56673,38.95666],[1.64874,38.95833],[1.64799,38.99907]],[[2.54507,39.41667],[2.43933,39.41611],[2.43871,39.48469],[2.43902,39.49934],[2.31223,39.49934],[2.31192,39.54179],[2.22907,39.541],[2.22835,39.62606],[2.34601,39.62709],[2.92704,39.96016],[3.14566,39.96005],[3.14608,40.00198],[3.23139,40.00198],[3.23129,39.83292],[3.14823,39.83316],[3.14844,39.79357],[3.48148,39.79318],[3.48035,39.5959],[3.31506,39.47846],[3.31462,39.37855],[3.08302,39.24994],[2.97986,39.25015],[2.97904,39.3335],[2.72874,39.33342],[2.72885,39.45814],[2.64569,39.45774],[2.64538,39.49966],[2.54528,39.49942],[2.54507,39.41667]],[[3.81204,40.04344],[3.72908,40.0438],[3.72862,39.95842],[3.81266,39.9576],[3.81228,39.91644],[3.9609,39.91598],[4.19381,39.79131],[4.31503,39.79058],[4.31599,39.83293],[4.39874,39.83204],[4.39737,39.91858],[4.3158,39.91933],[4.31619,40.0434],[4.2319,40.04436],[4.23248,40.08478],[4.14915,40.08611],[4.14906,40.12552],[4.0628,40.12722],[4.06242,40.08499],[3.81287,40.08529],[3.81204,40.04344]],[[-8.89106,41.82289],[-9.1092,42.57511],[-9.03655,42.73066],[-9.08834,42.72696],[-9.14661,42.77503],[-9.21855,42.90163],[-9.2761,42.86051],[-9.30991,42.93113],[-9.27898,42.9822],[-9.30991,43.06004],[-9.25236,43.10417],[-9.2315,43.17032],[-9.14733,43.21018],[-9.06748,43.19916],[-9.03367,43.24267],[-8.99842,43.24477],[-8.99986,43.29558],[-8.93727,43.30553],[-8.92936,43.32699],[-8.8639,43.32908],[-8.87613,43.37407],[-8.82217,43.37354],[-8.78548,43.31914],[-8.70635,43.305],[-8.60996,43.3296],[-8.55097,43.32332],[-8.52435,43.3364],[-8.52507,43.36465],[-8.45745,43.39184],[-8.36105,43.41118],[-8.36033,43.46342],[-8.33444,43.57974],[-8.27761,43.57088],[-8.06467,43.72392],[-7.99921,43.7234],[-7.9172,43.78264],[-7.85605,43.79146],[-7.83591,43.73743],[-7.66284,43.80982],[-7.31889,43.67827],[-7.19975,43.58308],[-6.24882,43.6075],[-6.12293,43.57901],[-5.85204,43.6799],[-5.60363,43.57087],[-5.28553,43.56191],[-5.17875,43.49916],[-4.90899,43.48367],[-4.61562,43.4192],[-4.18399,43.42492],[-3.80295,43.51954],[-3.74,43.48693],[-3.56128,43.54236],[-3.1083,43.38163],[-2.93857,43.46246],[-2.74524,43.47551],[-2.30462,43.31706],[-1.9854,43.3563],[-1.85528,43.39725],[-1.7698,43.39644],[-1.77005,43.37605],[-1.71005,43.37569],[-1.71135,43.33125],[-1.72259,43.31318],[-1.68904,43.31291],[-1.68811,43.33413],[-1.64467,43.33372],[-1.64498,43.31332],[-1.60299,43.31295],[-1.60344,43.29266],[-1.56359,43.29212],[-1.56305,43.31338],[-1.47799,43.31284],[-1.36677,43.27614],[-1.35688,43.23815],[-1.37037,43.1713],[-1.44231,43.08336],[-1.41983,43.06036],[-1.37307,43.05117],[-1.36407,43.11159],[-1.30203,43.13522],[-1.23549,43.13325],[-1.27955,43.07744],[-1.19232,43.06496],[-1.00619,43.00778],[-0.94234,42.9749],[-0.7562,42.98213],[-0.71484,42.96108],[-0.69685,42.90314],[-0.55118,42.82207],[-0.50442,42.84845],[-0.42889,42.82009],[-0.31648,42.86558],[-0.14563,42.81086],[-0.03143,42.71249],[0.18618,42.7541],[0.30218,42.71777],[0.36422,42.74287],[0.44875,42.71447],[0.62769,42.7224],[0.64118,42.85767],[0.71492,42.88272],[0.9676,42.81811],[1.10878,42.79898],[1.17532,42.73429],[1.36326,42.74155],[1.41137,42.70939],[1.48061,42.71034],[1.4813,42.50107],[1.64436,42.50203],[1.64328,42.54245],[1.73041,42.54342],[1.73164,42.50118],[2.06386,42.50164],[2.06456,42.45902],[2.39693,42.45994],[2.39768,42.41784],[2.48048,42.41797],[2.48098,42.37594],[2.64479,42.37626],[2.64448,42.45924],[2.81133,42.45961],[2.81126,42.50104],[3.06388,42.50085],[3.06388,42.45915],[3.23078,42.45934],[3.23049,42.37644],[3.31415,42.37604],[3.31412,42.33399],[3.39785,42.33404],[3.39739,42.29009],[3.31389,42.29084],[3.31397,42.20702],[3.14759,42.2073],[3.14759,42.12606],[3.23055,42.126],[3.24668,41.95294],[3.19452,41.85589],[3.06054,41.76474],[2.78358,41.63718],[2.26293,41.42716],[2.16492,41.29893],[1.86008,41.22322],[1.3763,41.11627],[1.17937,41.04646],[1.08585,41.04849],[0.75854,40.81956],[0.9114,40.73376],[0.87813,40.67514],[0.66502,40.53587],[0.55801,40.55022],[0.43392,40.37576],[0.26756,40.19192],[0.16415,40.06472],[0.07513,40.01447],[0.01039,39.89522],[-0.09392,39.81169],[-0.18474,39.63117],[-0.29085,39.50363],[-0.28636,39.33343],[-0.18564,39.17746],[-0.21352,39.15585],[-0.11101,38.97222],[0.00949,38.88268],[0.12189,38.87218],[0.23429,38.79864],[0.25587,38.72642],[0.09581,38.61338],[-0.0022,38.60706],[-0.05705,38.52691],[-0.27197,38.47624],[-0.37987,38.39312],[-0.38347,38.33813],[-0.45091,38.33108],[-0.50487,38.28309],[-0.48238,38.19481],[-0.42933,38.16583],[-0.45451,38.14886],[-0.584,38.17219],[-0.61367,38.11986],[-0.63705,37.96122],[-0.68111,37.94562],[-0.73237,37.88107],[-0.72158,37.78306],[-0.68831,37.734],[-0.66415,37.62315],[-0.71939,37.58784],[-0.91963,37.53758],[-1.11071,37.51641],[-1.33832,37.52867],[-1.44089,37.39037],[-1.6767,37.27652],[-1.85408,36.91229],[-2.06835,36.69291],[-2.21588,36.66192],[-2.37219,36.78018],[-2.68129,36.65911],[-2.92015,36.66756],[-3.09402,36.71263],[-3.46108,36.65488],[-3.72804,36.69291],[-4.37435,36.66333],[-4.65712,36.44042],[-4.9188,36.45313],[-5.16995,36.35135],[-5.28411,36.19702],[-5.26809,36.12418],[-5.35248,36.12247],[-5.35161,36.04014],[-5.43658,36.03889],[-5.43532,36.00344],[-5.68886,36.00365],[-5.68996,36.04053],[-5.85506,36.03856],[-5.85668,36.12421],[-5.93848,36.12215],[-5.94003,36.16556],[-5.99834,36.1645],[-6.03573,36.1781],[-6.07752,36.22241],[-6.15061,36.28646],[-6.23154,36.37701],[-6.33585,36.53106],[-6.32146,36.58163],[-6.40419,36.6235],[-6.47433,36.74897],[-6.41588,36.79939],[-6.49052,36.91738],[-6.62989,37.0194],[-6.87448,37.10838],[-7.04264,37.18507],[-7.26474,37.18435],[-7.37535,37.15354],[-7.40832,37.16822],[-7.42029,37.21183],[-7.42492,37.23505],[-7.43805,37.2452],[-7.44597,37.33261],[-7.4481,37.39094],[-7.46963,37.40758],[-7.4647,37.45305],[-7.50197,37.51641],[-7.51916,37.52292],[-7.52196,37.57237],[-7.45013,37.66958],[-7.4249,37.75992],[-7.31666,37.83997],[-7.26833,37.98895],[-7.15368,38.01552],[-7.11771,38.05536],[-7.0143,38.02438],[-6.99632,38.10756],[-6.96147,38.20125],[-7.08062,38.15708],[-7.34027,38.44024],[-7.26383,38.73807],[-7.04352,38.87297],[-7.06151,38.90796],[-6.96934,39.01983],[-7.00081,39.08879],[-7.15368,39.09577],[-7.15255,39.16029],[-7.24472,39.19689],[-7.25596,39.28133],[-7.33689,39.35351],[-7.3279,39.45599],[-7.51449,39.58865],[-7.55271,39.67954],[-7.05027,39.67522],[-6.99519,39.81954],[-6.92213,39.87909],[-6.88616,40.02299],[-7.04128,40.13479],[-7.01767,40.26615],[-6.8086,40.34501],[-6.86818,40.44516],[-6.85356,40.60664],[-6.83783,40.87576],[-6.9536,41.03704],[-6.80186,41.03959],[-6.76814,41.13871],[-6.64112,41.26556],[-6.56244,41.26303],[-6.21737,41.5791],[-6.31628,41.64465],[-6.51523,41.64129],[-6.58717,41.68832],[-6.54783,41.85597],[-6.62988,41.91121],[-7.13345,41.94048],[-7.16829,41.87188],[-7.42569,41.78477],[-7.95398,41.84593],[-8.13045,41.78058],[-8.25185,41.90786],[-8.12933,42.03488],[-8.24848,42.1008],[-8.36762,42.05575],[-8.60704,42.03405],[-8.89106,41.82289]]],terms_text:"PNOA",best:true},{id:"poco_das_trincheiras",name:"Poço das Trincheiras AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Poco%20das%20Trincheiras&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.23942,-9.35157],[-37.23947,-9.34387],[-37.23942,-9.33792],[-37.23954,-9.33022],[-37.23973,-9.32791],[-37.23974,-9.3228],[-37.23964,-9.32085],[-37.23971,-9.31864],[-37.2398,-9.31706],[-37.23982,-9.31561],[-37.24053,-9.30933],[-37.24051,-9.30004],[-37.24008,-9.29687],[-37.23998,-9.29546],[-37.23992,-9.29319],[-37.23989,-9.28978],[-37.23995,-9.28818],[-37.24008,-9.28641],[-37.24036,-9.28212],[-37.24038,-9.27897],[-37.24051,-9.27557],[-37.24004,-9.26979],[-37.24018,-9.26721],[-37.24018,-9.26612],[-37.23995,-9.26455],[-37.23983,-9.26151],[-37.24333,-9.26136],[-37.24936,-9.26146],[-37.26445,-9.26161],[-37.28016,-9.26172],[-37.28294,-9.26171],[-37.29581,-9.26178],[-37.30685,-9.26178],[-37.31419,-9.26189],[-37.32437,-9.26192],[-37.33078,-9.26175],[-37.33057,-9.27275],[-37.33048,-9.28007],[-37.33054,-9.28117],[-37.33069,-9.28427],[-37.3307,-9.28535],[-37.33064,-9.28617],[-37.33071,-9.28717],[-37.33064,-9.28769],[-37.33062,-9.29027],[-37.33043,-9.29308],[-37.33038,-9.29655],[-37.33034,-9.30591],[-37.3304,-9.31203],[-37.33038,-9.32194],[-37.33041,-9.3342],[-37.33035,-9.34185],[-37.3303,-9.34783],[-37.33035,-9.35202],[-37.31509,-9.35194],[-37.30011,-9.3519],[-37.29531,-9.35183],[-37.28899,-9.35171],[-37.28497,-9.35182],[-37.27851,-9.35173],[-37.27431,-9.35181],[-37.27115,-9.3517],[-37.26351,-9.35168],[-37.26046,-9.35164],[-37.25402,-9.35177],[-37.24705,-9.35163],[-37.23942,-9.35157]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"e-mapa.net-buildings",name:"polska.e-mapa.net: Buildings",type:"wms",template:"http://integracja02.gugik.gov.pl/cgi-bin/KrajowaIntegracjaEwidencjiGruntow?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=budynki&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,19],polygon:[[[15.9751,54.37092],[16.31116,54.55618],[17.13919,54.78457],[18.34485,54.90227],[19.66137,54.47372],[20.28152,54.42135],[21.46639,54.34064],[22.77599,54.37698],[22.8626,54.42336],[23.29567,54.26786],[23.53472,54.09553],[23.52086,53.97752],[23.71834,53.46296],[23.92968,53.18567],[23.92968,52.68873],[23.7322,52.60675],[23.5659,52.58781],[23.20905,52.33026],[23.19519,52.23701],[23.50354,52.18606],[23.69062,52.00301],[23.59708,51.7399],[23.66291,51.38886],[23.9366,50.98278],[24.16873,50.86048],[24.01975,50.80358],[24.10983,50.66105],[24.05786,50.41884],[23.61787,50.30834],[22.68244,49.51635],[22.73788,49.20949],[22.90417,49.07804],[22.8626,48.99401],[22.60969,49.03718],[22.07615,49.20044],[21.84749,49.37219],[21.37631,49.44883],[21.10262,49.37219],[20.91207,49.3022],[20.6453,49.39023],[20.18451,49.33156],[20.11869,49.20044],[19.942,49.13021],[19.76531,49.21176],[19.74798,49.39925],[19.60247,49.41503],[19.50893,49.58154],[19.42925,49.59052],[19.23177,49.41503],[18.99618,49.38798],[18.93382,49.4916],[18.83681,49.49386],[18.80216,49.66234],[18.6428,49.70941],[18.52154,49.89947],[18.08154,50.01092],[17.88753,49.98865],[17.73855,50.06877],[17.6069,50.17096],[17.74548,50.21532],[17.71084,50.3017],[17.41635,50.26407],[16.94864,50.44533],[16.89321,50.40339],[17.00061,50.31055],[17.01793,50.22419],[16.81352,50.18649],[16.64029,50.09767],[16.43242,50.28621],[16.19683,50.42767],[16.42203,50.58852],[16.33888,50.66324],[16.22802,50.63688],[16.05479,50.61271],[15.57322,50.76415],[15.26834,50.89764],[15.24409,50.9806],[15.02929,51.0133],[15.00157,50.85829],[14.81102,50.87359],[14.95653,51.07212],[15.01889,51.29146],[14.93921,51.46015],[14.72094,51.55718],[14.75212,51.62606],[14.59968,51.84276],[14.70362,52.07334],[14.55811,52.24974],[14.51654,52.42544],[14.60315,52.58781],[14.11465,52.82083],[14.15276,52.9734],[14.35024,53.07342],[14.42299,53.26656],[14.1978,53.87348],[14.22205,53.99585],[15.9751,54.37092]]],terms_url:"https://polska.e-mapa.net/",terms_text:"polska.e-mapa.net - Geoportal otwartych danych przestrzennych",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/polskae-mapanetBuildings.png"},{id:"debicki-buildings",name:"Powiat dębicki: Buildings",type:"wms",template:"https://debica.geoportal2.pl/map/wms/wms.php?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=budynki,adresy,EBU,EBT,S&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,19],polygon:[[[21.53768,50.01085],[21.51944,50.05423],[21.58099,50.1233],[21.48804,50.18059],[21.13725,50.14835],[21.13939,50.12721],[21.18058,50.12101],[21.14315,50.05965],[21.15356,49.92854],[21.27892,49.92554],[21.22448,49.8861],[21.22362,49.84258],[21.35177,49.8349],[21.36368,49.86838],[21.41585,49.82003],[21.47943,49.8398],[21.52679,49.88911],[21.47689,50.00135],[21.53768,50.01085]]],terms_text:"Powiat dębicki",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/PowiatrzeszowskiBuildings.png"},{id:"lancucki-buildings",name:"Powiat łańcucki: Buildings",type:"wms",template:"https://lancut.geoportal2.pl/map/wms/wms.php?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=EBT,budynki,adresy&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,19],polygon:[[[22.17224,50.10121],[22.12574,50.1079],[22.0823,50.17206],[22.13591,50.1867],[22.173,50.18117],[22.18418,50.22914],[22.235,50.24718],[22.3856,50.16031],[22.40346,50.13331],[22.45275,50.12745],[22.45275,50.10676],[22.41768,50.08997],[22.38364,50.08915],[22.38542,50.05393],[22.35315,50.05067],[22.3562,50.00627],[22.31478,49.99451],[22.32139,49.94614],[22.29979,49.92455],[22.24161,49.92847],[22.20901,49.93728],[22.22382,49.96085],[22.16683,50.00412],[22.1387,50.00251],[22.12015,50.04626],[22.17224,50.10121]]],terms_text:"Powiat łańcucki",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/PowiatrzeszowskiBuildings.png"},{id:"lubaczowski-buildings",name:"Powiat lubaczowski: Buildings",type:"wms",template:"https://lubaczow.geoportal2.pl/map/wms/wms.php?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=S,EBT,adresy,budynki_ewid&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,19],polygon:[[[23.29224,50.09693],[23.55763,50.25704],[23.51394,50.26643],[23.522,50.29892],[23.40991,50.3083],[23.44482,50.35653],[23.38072,50.3699],[23.38829,50.4058],[23.35821,50.41105],[23.2527,50.36601],[23.19379,50.40529],[23.01962,50.2928],[22.84161,50.30574],[22.83572,50.27037],[22.82426,50.26923],[22.79651,50.20933],[22.86603,50.18949],[22.87414,50.13786],[22.93233,50.1678],[22.88954,50.11501],[22.95351,50.07178],[23.05556,50.04967],[22.99884,49.99028],[23.14951,49.97563],[23.29224,50.09693]]],terms_text:"Powiat lubaczowski",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/PowiatrzeszowskiBuildings.png"},{id:"poznanski-buildings",name:"Powiat poznański: Buildings",type:"wms",template:"http://wms.podgik.poznan.pl/cgi-bin/poznan?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=budynki&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[16.9585,52.46312],[17.03946,52.33605],[16.84291,52.36501],[16.78596,52.46566],[16.70022,52.53819],[16.6415,52.5288],[16.44898,52.36793],[16.47775,52.2696],[16.5659,52.26813],[16.58375,52.17007],[17.08099,52.14981],[17.37124,52.34522],[17.39853,52.44037],[17.35338,52.53949],[17.13689,52.57783],[17.13126,52.6419],[17.01608,52.68366],[16.9158,52.65079],[16.85814,52.58191],[16.7367,52.57459],[16.70022,52.53824],[16.78598,52.46567],[16.9585,52.46312]]],terms_text:"PODGIK Poznań",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/PowiatpoznaskiOrthophotomap(aerialimage).png"},{id:"sropczyce-buildings",name:"Powiat ropczycko-sędziszowski: Buildings",type:"wms",template:"https://spropczyce.geoportal2.pl/map/wms/wms.php?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=budynki&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,19],polygon:[[[21.60041,50.21025],[21.74199,50.16538],[21.792,50.17829],[21.81459,50.15264],[21.78741,50.10859],[21.82597,50.09149],[21.82552,50.02925],[21.78666,49.97585],[21.70632,49.96022],[21.683,49.92431],[21.60062,49.91793],[21.54249,49.8862],[21.5188,49.89119],[21.45315,49.99268],[21.50364,50.0198],[21.49298,50.07161],[21.55535,50.11909],[21.50429,50.16559],[21.59816,50.17866],[21.60041,50.21025]]],terms_text:"Powiat ropczycko-sędziszowski",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/PowiatrzeszowskiBuildings.png"},{id:"rzeszowski-buildings",name:"Powiat rzeszowski: Buildings",type:"wms",template:"https://powiatrzeszowski.geoportal2.pl/map/wms/wms.php?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=budynki,EBT,EBU&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,19],polygon:[[[22.18219,50.17339],[22.09834,50.17176],[22.18016,50.09784],[22.13779,50.00695],[22.09444,50.00841],[22.02839,50.06668],[21.9354,50.06636],[21.98164,49.94977],[22.05278,50.0097],[22.1771,50.00555],[22.23319,49.96829],[22.31144,49.87008],[22.34961,49.72826],[21.99951,49.82808],[21.84961,49.95739],[21.7495,49.96981],[21.78503,50.14212],[21.93307,50.24748],[22.08291,50.26471],[21.98553,50.31545],[22.0901,50.37369],[22.19821,50.35265],[22.2536,50.2647],[22.18219,50.17339]]],terms_text:"Powiat rzeszowski",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/PowiatrzeszowskiBuildings.png"},{id:"rzeszowski-aerial",name:"Powiat rzeszowski: Orthophotomap (aerial image)",type:"wms",template:"https://powiatrzeszowski.geoportal2.pl/map/wms/wms.php?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortofotomapa&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,19],polygon:[[[22.18219,50.17339],[22.09834,50.17176],[22.18016,50.09784],[22.13779,50.00695],[22.09444,50.00841],[22.02839,50.06668],[21.9354,50.06636],[21.98164,49.94977],[22.05278,50.0097],[22.1771,50.00555],[22.23319,49.96829],[22.31144,49.87008],[22.34961,49.72826],[21.99951,49.82808],[21.84961,49.95739],[21.7495,49.96981],[21.78503,50.14212],[21.93307,50.24748],[22.08291,50.26471],[21.98553,50.31545],[22.0901,50.37369],[22.19821,50.35265],[22.2536,50.2647],[22.18219,50.17339]]],terms_text:"Powiat rzeszowski",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/PowiatrzeszowskiBuildings.png"},{id:"stalowowolski-buildings",name:"Powiat stalowowolski: Buildings",type:"wms",template:"https://stalowawola.geoportal2.pl/map/wms/wms.php?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=EBT,adresy,budynki,centroidy&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,19],polygon:[[[22.017,50.35811],[22.09292,50.44916],[22.06785,50.51434],[22.09722,50.54302],[22.16347,50.52686],[22.23795,50.5503],[22.26768,50.60465],[22.22757,50.6653],[22.16235,50.66969],[22.20843,50.75403],[22.16239,50.80039],[22.0546,50.82234],[21.94394,50.77639],[21.86228,50.80439],[21.83413,50.75035],[21.87465,50.70066],[21.84046,50.65749],[21.97582,50.53164],[21.84797,50.47196],[21.88045,50.3913],[22.017,50.35811]]],terms_text:"Powiat stalowowolski",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/PowiatrzeszowskiBuildings.png"},{id:"poznan-buildings",name:"Poznań: Buildings",type:"wms",template:"http://wms2.geopoz.poznan.pl:8080/geoserver/sip/wms?SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=budynki_ewidencyjne_sql&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2018-01-01T00:00:00.000Z",startDate:"2018-01-01T00:00:00.000Z",zoomExtent:[0,23],polygon:[[[16.72794,52.48838],[16.86925,52.48982],[16.86879,52.50779],[16.93948,52.50845],[16.93926,52.51743],[16.98639,52.51784],[16.98784,52.45494],[17.03491,52.45534],[17.0353,52.43736],[17.08235,52.43774],[17.0831,52.4018],[17.0596,52.40161],[17.06129,52.32075],[17.01438,52.32035],[17.01518,52.28441],[16.96829,52.28401],[16.96787,52.30198],[16.89752,52.30134],[16.89662,52.33728],[16.80273,52.33638],[16.80176,52.37232],[16.77828,52.3721],[16.77603,52.45294],[16.72897,52.45244],[16.72794,52.48838]]],terms_text:"Zarząd Geodezji i Katastru Miejskiego GEOPOZ"},{id:"poznan-ortofotomapa2014",name:"Poznań: Orthophotomap 2014 (aerial image)",type:"wms",template:"http://wms1.geopoz.poznan.pl:6080/arcgis/services/sip/ortofotomapa_2014/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortofotomapa_2014_image&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",zoomExtent:[0,23],polygon:[[[16.72794,52.48838],[16.86925,52.48982],[16.86879,52.50779],[16.93948,52.50845],[16.93926,52.51743],[16.98639,52.51784],[16.98784,52.45494],[17.03491,52.45534],[17.0353,52.43736],[17.08235,52.43774],[17.0831,52.4018],[17.0596,52.40161],[17.06129,52.32075],[17.01438,52.32035],[17.01518,52.28441],[16.96829,52.28401],[16.96787,52.30198],[16.89752,52.30134],[16.89662,52.33728],[16.80273,52.33638],[16.80176,52.37232],[16.77828,52.3721],[16.77603,52.45294],[16.72897,52.45244],[16.72794,52.48838]]],terms_text:"Zarząd Geodezji i Katastru Miejskiego GEOPOZ"},{id:"poznan-ortofotomapa2016",name:"Poznań: Orthophotomap 2016 (aerial image)",type:"wms",template:"http://wms1.geopoz.poznan.pl:6080/arcgis/services/sip/ortofotomapy/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortofotomapa_2016_image&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",zoomExtent:[0,23],polygon:[[[16.72794,52.48838],[16.86925,52.48982],[16.86879,52.50779],[16.93948,52.50845],[16.93926,52.51743],[16.98639,52.51784],[16.98784,52.45494],[17.03491,52.45534],[17.0353,52.43736],[17.08235,52.43774],[17.0831,52.4018],[17.0596,52.40161],[17.06129,52.32075],[17.01438,52.32035],[17.01518,52.28441],[16.96829,52.28401],[16.96787,52.30198],[16.89752,52.30134],[16.89662,52.33728],[16.80273,52.33638],[16.80176,52.37232],[16.77828,52.3721],[16.77603,52.45294],[16.72897,52.45244],[16.72794,52.48838]]],terms_text:"Zarząd Geodezji i Katastru Miejskiego GEOPOZ"},{id:"PrahaIPRlatestorthophoto",name:"Praha IPR latest orthophoto",type:"wms",template:"http://giswa1.mag.mepnet.cz/arcgis/services/MAP/letecke_snimky_posledni_snimkovani_cache/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[1,20],polygon:[[[14.81232,49.93089],[14.18755,49.87687],[14.12025,50.19882],[14.74502,50.25247],[14.81232,49.93089]]]},{id:"PrahaIPRlow-vegetationorthophoto",name:"Praha IPR low-vegetation orthophoto",type:"wms",template:"http://giswa1.mag.mepnet.cz/arcgis/services/MAP/mimovegetacni_snimkovani_cache/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[1,20],polygon:[[[14.30454,49.99538],[14.31604,49.94205],[14.35,49.94508],[14.35384,49.92726],[14.42385,49.93352],[14.42009,49.95097],[14.48865,49.95709],[14.48479,49.97501],[14.55386,49.98117],[14.55012,49.99852],[14.58455,50.00159],[14.5883,49.98424],[14.69168,49.99346],[14.67634,50.06453],[14.71279,50.06777],[14.70115,50.12158],[14.6647,50.11834],[14.661,50.13543],[14.62755,50.13246],[14.61965,50.16895],[14.58543,50.16591],[14.58163,50.18344],[14.40776,50.168],[14.41156,50.15045],[14.37765,50.14744],[14.3738,50.16524],[14.33893,50.16214],[14.34278,50.14434],[14.27368,50.1382],[14.27749,50.12058],[14.2088,50.11447],[14.21289,50.09557],[14.24656,50.09857],[14.25417,50.06336],[14.21987,50.0603],[14.2237,50.04259],[14.258,50.04565],[14.26953,49.99226],[14.30454,49.99538]]]},{id:"przemysl-buildings",name:"Przemyśl: Buildings",type:"wms",template:"http://przemysl.geoportal2.pl/map/wms/wms.php?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=adresy,budynki&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,19],polygon:[[[22.72268,49.76885],[22.73002,49.76787],[22.73097,49.77612],[22.72027,49.77662],[22.71787,49.78062],[22.73104,49.78553],[22.7244,49.79043],[22.73458,49.80441],[22.73167,49.81429],[22.7261,49.8165],[22.72762,49.82124],[22.74395,49.8187],[22.75952,49.80939],[22.79042,49.81462],[22.81169,49.80571],[22.79738,49.80146],[22.80384,49.79247],[22.83118,49.79664],[22.85752,49.78561],[22.84549,49.76746],[22.82485,49.77105],[22.82004,49.75674],[22.77358,49.74439],[22.73838,49.75895],[22.72205,49.74644],[22.71065,49.76288],[22.72268,49.76885]]],terms_text:"Miasto Przemyśl",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/PowiatrzeszowskiBuildings.png"},{id:"przemysl-aerial",name:"Przemyśl: Ortophotomap (aerial image)",type:"wms",template:"http://przemysl.geoportal2.pl/map/wms/wms.php?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortofotomapa&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,23],polygon:[[[22.72268,49.76885],[22.73002,49.76787],[22.73097,49.77612],[22.72027,49.77662],[22.71787,49.78062],[22.73104,49.78553],[22.7244,49.79043],[22.73458,49.80441],[22.73167,49.81429],[22.7261,49.8165],[22.72762,49.82124],[22.74395,49.8187],[22.75952,49.80939],[22.79042,49.81462],[22.81169,49.80571],[22.79738,49.80146],[22.80384,49.79247],[22.83118,49.79664],[22.85752,49.78561],[22.84549,49.76746],[22.82485,49.77105],[22.82004,49.75674],[22.77358,49.74439],[22.73838,49.75895],[22.72205,49.74644],[22.71065,49.76288],[22.72268,49.76885]]],terms_text:"Miasto Przemyśl",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/pl/PowiatrzeszowskiBuildings.png"},{id:"RABA-KGZ-3000",name:"RABA-KGZ: Slovenia built-up areas",type:"tms",template:"https://wms.openstreetmap.de/tms/RABA3000/{zoom}/{x}/{y}.png",zoomExtent:[8,19],polygon:[[[15.17101,45.41273],[15.06731,45.4781],[14.98353,45.48726],[14.93027,45.51869],[14.91295,45.46869],[14.81398,45.45019],[14.77755,45.49724],[14.71885,45.52386],[14.68383,45.51924],[14.68367,45.57107],[14.58902,45.61966],[14.59477,45.65727],[14.51653,45.5974],[14.49636,45.52968],[14.32388,45.46048],[14.28251,45.47949],[14.26083,45.47352],[14.2367,45.49569],[14.21022,45.45962],[14.1328,45.46542],[14.06694,45.47615],[14.01187,45.50769],[13.98752,45.49945],[14.00668,45.4739],[13.99154,45.44854],[13.91789,45.44329],[13.88867,45.416],[13.81063,45.42531],[13.7856,45.45577],[13.67553,45.43241],[13.38,45.5666],[13.63822,45.64153],[13.72158,45.60472],[13.83759,45.59226],[13.89962,45.63295],[13.82754,45.67917],[13.82429,45.70266],[13.78961,45.73525],[13.66355,45.79008],[13.62279,45.78613],[13.58835,45.80154],[13.56531,45.85522],[13.62633,45.93894],[13.62975,45.97662],[13.59233,45.97929],[13.57124,45.9591],[13.52998,45.95627],[13.46729,46.00147],[13.49765,46.03741],[13.4896,46.06574],[13.58839,46.11268],[13.63712,46.14524],[13.65358,46.17505],[13.57147,46.17434],[13.54859,46.19982],[13.48189,46.21479],[13.42003,46.19662],[13.40026,46.21037],[13.40304,46.23284],[13.36653,46.30266],[13.43369,46.33243],[13.43247,46.36779],[13.56263,46.40895],[13.59357,46.44846],[13.68393,46.44947],[13.71321,46.53296],[13.79725,46.5164],[13.91305,46.53108],[14.00849,46.49169],[14.09406,46.49538],[14.12664,46.4852],[14.16569,46.44341],[14.28242,46.45347],[14.3259,46.44111],[14.43178,46.4568],[14.45113,46.43239],[14.52618,46.43623],[14.56677,46.38549],[14.58993,46.44479],[14.65658,46.45447],[14.71191,46.50954],[14.80818,46.51778],[14.81442,46.55093],[14.86094,46.61239],[14.9102,46.61569],[14.95398,46.64257],[14.98376,46.61868],[15.02973,46.65796],[15.10645,46.66965],[15.23727,46.64973],[15.41364,46.66553],[15.46237,46.64732],[15.47411,46.6226],[15.53427,46.64346],[15.53636,46.6761],[15.59201,46.69952],[15.62405,46.69039],[15.65624,46.71643],[15.767,46.70899],[15.83801,46.73237],[15.91476,46.71958],[16.02919,46.67033],[16.02955,46.68778],[15.99495,46.71178],[15.97505,46.74967],[15.98671,46.84189],[16.0553,46.85049],[16.11022,46.87912],[16.15425,46.86525],[16.23302,46.88667],[16.29431,46.8824],[16.34649,46.85476],[16.36058,46.8278],[16.34711,46.79707],[16.32245,46.79068],[16.33977,46.7799],[16.33186,46.75896],[16.38893,46.70785],[16.4383,46.69655],[16.42822,46.65301],[16.40159,46.6439],[16.51477,46.57299],[16.54136,46.53627],[16.5416,46.50887],[16.611,46.48393],[16.61889,46.46203],[16.52219,46.45842],[16.47451,46.50108],[16.36776,46.53371],[16.2582,46.489],[16.28533,46.42441],[16.3168,46.40141],[16.30574,46.36921],[16.18689,46.36804],[16.14548,46.39515],[16.06959,46.38154],[16.08614,46.34087],[16.04058,46.32708],[16.01819,46.29964],[15.80777,46.25091],[15.79649,46.21296],[15.77128,46.19937],[15.67996,46.21707],[15.65737,46.20838],[15.65639,46.18456],[15.62037,46.16163],[15.61899,46.11595],[15.63483,46.09529],[15.71869,46.06873],[15.74241,46.04578],[15.71612,45.99489],[15.71645,45.9178],[15.69237,45.90013],[15.69375,45.87111],[15.71776,45.8416],[15.6441,45.81058],[15.57467,45.83999],[15.52333,45.81155],[15.49115,45.82041],[15.47514,45.78666],[15.40343,45.78216],[15.28683,45.73391],[15.27435,45.72408],[15.29763,45.70782],[15.36329,45.72191],[15.41517,45.65443],[15.39705,45.62929],[15.31501,45.62356],[15.31503,45.60696],[15.29266,45.60163],[15.30852,45.58653],[15.31145,45.5423],[15.39496,45.48325],[15.34824,45.44665],[15.27515,45.45599],[15.22848,45.41683],[15.17101,45.41273]]],terms_url:"https://wiki.openstreetmap.org/wiki/Slovenia_Landcover_Import_-_RABA-KGZ",terms_text:"Copyright ©2019 Ministrstvo za kmetijstvo, gozdarstvo in prehrano (mkgp.gov.si). Some rights reserved.",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/si/RABA-KGZSloveniafarmlanduse.png"},{id:"RABA-KGZ",name:"RABA-KGZ: Slovenia farmland use",type:"tms",template:"https://wms.openstreetmap.de/tms/RABA/{zoom}/{x}/{y}.png",zoomExtent:[8,19],polygon:[[[15.17101,45.41273],[15.06731,45.4781],[14.98353,45.48726],[14.93027,45.51869],[14.91295,45.46869],[14.81398,45.45019],[14.77755,45.49724],[14.71885,45.52386],[14.68383,45.51924],[14.68367,45.57107],[14.58902,45.61966],[14.59477,45.65727],[14.51653,45.5974],[14.49636,45.52968],[14.32388,45.46048],[14.28251,45.47949],[14.26083,45.47352],[14.2367,45.49569],[14.21022,45.45962],[14.1328,45.46542],[14.06694,45.47615],[14.01187,45.50769],[13.98752,45.49945],[14.00668,45.4739],[13.99154,45.44854],[13.91789,45.44329],[13.88867,45.416],[13.81063,45.42531],[13.7856,45.45577],[13.67553,45.43241],[13.38,45.5666],[13.63822,45.64153],[13.72158,45.60472],[13.83759,45.59226],[13.89962,45.63295],[13.82754,45.67917],[13.82429,45.70266],[13.78961,45.73525],[13.66355,45.79008],[13.62279,45.78613],[13.58835,45.80154],[13.56531,45.85522],[13.62633,45.93894],[13.62975,45.97662],[13.59233,45.97929],[13.57124,45.9591],[13.52998,45.95627],[13.46729,46.00147],[13.49765,46.03741],[13.4896,46.06574],[13.58839,46.11268],[13.63712,46.14524],[13.65358,46.17505],[13.57147,46.17434],[13.54859,46.19982],[13.48189,46.21479],[13.42003,46.19662],[13.40026,46.21037],[13.40304,46.23284],[13.36653,46.30266],[13.43369,46.33243],[13.43247,46.36779],[13.56263,46.40895],[13.59357,46.44846],[13.68393,46.44947],[13.71321,46.53296],[13.79725,46.5164],[13.91305,46.53108],[14.00849,46.49169],[14.09406,46.49538],[14.12664,46.4852],[14.16569,46.44341],[14.28242,46.45347],[14.3259,46.44111],[14.43178,46.4568],[14.45113,46.43239],[14.52618,46.43623],[14.56677,46.38549],[14.58993,46.44479],[14.65658,46.45447],[14.71191,46.50954],[14.80818,46.51778],[14.81442,46.55093],[14.86094,46.61239],[14.9102,46.61569],[14.95398,46.64257],[14.98376,46.61868],[15.02973,46.65796],[15.10645,46.66965],[15.23727,46.64973],[15.41364,46.66553],[15.46237,46.64732],[15.47411,46.6226],[15.53427,46.64346],[15.53636,46.6761],[15.59201,46.69952],[15.62405,46.69039],[15.65624,46.71643],[15.767,46.70899],[15.83801,46.73237],[15.91476,46.71958],[16.02919,46.67033],[16.02955,46.68778],[15.99495,46.71178],[15.97505,46.74967],[15.98671,46.84189],[16.0553,46.85049],[16.11022,46.87912],[16.15425,46.86525],[16.23302,46.88667],[16.29431,46.8824],[16.34649,46.85476],[16.36058,46.8278],[16.34711,46.79707],[16.32245,46.79068],[16.33977,46.7799],[16.33186,46.75896],[16.38893,46.70785],[16.4383,46.69655],[16.42822,46.65301],[16.40159,46.6439],[16.51477,46.57299],[16.54136,46.53627],[16.5416,46.50887],[16.611,46.48393],[16.61889,46.46203],[16.52219,46.45842],[16.47451,46.50108],[16.36776,46.53371],[16.2582,46.489],[16.28533,46.42441],[16.3168,46.40141],[16.30574,46.36921],[16.18689,46.36804],[16.14548,46.39515],[16.06959,46.38154],[16.08614,46.34087],[16.04058,46.32708],[16.01819,46.29964],[15.80777,46.25091],[15.79649,46.21296],[15.77128,46.19937],[15.67996,46.21707],[15.65737,46.20838],[15.65639,46.18456],[15.62037,46.16163],[15.61899,46.11595],[15.63483,46.09529],[15.71869,46.06873],[15.74241,46.04578],[15.71612,45.99489],[15.71645,45.9178],[15.69237,45.90013],[15.69375,45.87111],[15.71776,45.8416],[15.6441,45.81058],[15.57467,45.83999],[15.52333,45.81155],[15.49115,45.82041],[15.47514,45.78666],[15.40343,45.78216],[15.28683,45.73391],[15.27435,45.72408],[15.29763,45.70782],[15.36329,45.72191],[15.41517,45.65443],[15.39705,45.62929],[15.31501,45.62356],[15.31503,45.60696],[15.29266,45.60163],[15.30852,45.58653],[15.31145,45.5423],[15.39496,45.48325],[15.34824,45.44665],[15.27515,45.45599],[15.22848,45.41683],[15.17101,45.41273]]],terms_url:"https://wiki.openstreetmap.org/wiki/Slovenia_Landcover_Import_-_RABA-KGZ",terms_text:"Copyright ©2019 Ministrstvo za kmetijstvo, gozdarstvo in prehrano (mkgp.gov.si). Some rights reserved.",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/si/RABA-KGZSloveniafarmlanduse.png"},{id:"riksantikvaren-kulturminner",name:"Riksantikvaren Heritage Sites overlay",type:"wms",template:"https://kart.ra.no/arcgis/services/Distribusjon/Kulturminner/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=3,6&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[13,22],polygon:[[[-10.95725,71.60964],[-6.16765,71.62095],[-6.13756,70.30991],[-10.92717,70.29784],[-10.95725,71.60964]],[[16.81947,74.9482],[21.25771,74.94213],[21.23712,73.8918],[16.79889,73.89828],[16.81947,74.9482]],[[4.04288,79.93593],[20.65421,81.54417],[36.6503,80.40108],[26.76265,75.8129],[13.88667,75.79135],[4.04288,79.93593]],[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.riksantikvaren.no/Veiledning/Data-og-tjenester/Karttjenester",terms_text:"© Riksantikvaren",description:"Archeological and architectural monuments/sites and cultural environments protected by law (''enkeltminner'') from the Norwegian Directorate for Cultural Heritage",icon:"https://www.riksantikvaren.no/extension/riksantikvaren/design/internetsite/images/logo_na.png",overlay:true},{id:"rio2013",name:"Rio Mosaic 2013",type:"wms",template:"http://geo.rio.rj.gov.br/ArcGIS/services/Imagens/Mosaico_2013/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=1&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",polygon:[[[-43.17709,-22.96971],[-43.14586,-22.96959],[-43.14605,-22.92719],[-43.15625,-22.92731],[-43.15647,-22.87557],[-43.17739,-22.87494],[-43.17742,-22.88553],[-43.19804,-22.88571],[-43.19804,-22.85429],[-43.21875,-22.85444],[-43.21901,-22.83365],[-43.22937,-22.83365],[-43.22934,-22.82371],[-43.19869,-22.82353],[-43.19856,-22.83413],[-43.18826,-22.83398],[-43.18804,-22.84448],[-43.16667,-22.84442],[-43.16683,-22.83404],[-43.15638,-22.83407],[-43.15654,-22.81336],[-43.10436,-22.81306],[-43.10446,-22.80288],[-43.09387,-22.80276],[-43.0941,-22.73998],[-43.13599,-22.73992],[-43.13569,-22.75067],[-43.12573,-22.75055],[-43.12556,-22.77118],[-43.14595,-22.77109],[-43.14612,-22.76055],[-43.17771,-22.76088],[-43.17758,-22.77115],[-43.18807,-22.7713],[-43.18807,-22.78166],[-43.25067,-22.78163],[-43.25057,-22.79198],[-43.28054,-22.79282],[-43.30343,-22.79312],[-43.33353,-22.79297],[-43.33347,-22.80258],[-43.38574,-22.8024],[-43.38542,-22.81255],[-43.41691,-22.81285],[-43.41675,-22.82341],[-43.42717,-22.82335],[-43.4274,-22.83374],[-43.45844,-22.83362],[-43.45864,-22.81276],[-43.48984,-22.813],[-43.48994,-22.7965],[-43.50208,-22.79746],[-43.51543,-22.79737],[-43.52078,-22.79591],[-43.54169,-22.79603],[-43.54179,-22.80234],[-43.54653,-22.80246],[-43.54666,-22.81189],[-43.55251,-22.81279],[-43.56991,-22.81294],[-43.56998,-22.8197],[-43.57361,-22.82326],[-43.58348,-22.82329],[-43.58352,-22.83347],[-43.59391,-22.83374],[-43.59394,-22.85468],[-43.66099,-22.85459],[-43.66099,-22.85983],[-43.70852,-22.86019],[-43.70836,-22.86503],[-43.72206,-22.86488],[-43.72213,-22.86847],[-43.75015,-22.86859],[-43.75009,-22.8753],[-43.76038,-22.87527],[-43.75992,-22.8785],[-43.75976,-22.88457],[-43.76132,-22.88586],[-43.78129,-22.8858],[-43.78126,-22.89591],[-43.80213,-22.89621],[-43.80135,-22.91137],[-43.80119,-22.92758],[-43.79213,-22.92776],[-43.7922,-22.93822],[-43.78191,-22.93799],[-43.78184,-22.94869],[-43.75067,-22.94845],[-43.7506,-22.95909],[-43.72986,-22.95886],[-43.72966,-22.97984],[-43.70904,-22.97966],[-43.70891,-22.99033],[-43.69846,-22.99006],[-43.69836,-23.00065],[-43.66735,-23.00044],[-43.66726,-23.01117],[-43.63125,-23.00937],[-43.63131,-23.02079],[-43.63586,-23.02091],[-43.63602,-23.03164],[-43.67771,-23.03164],[-43.67765,-23.04233],[-43.67086,-23.0423],[-43.67109,-23.0631],[-43.64599,-23.06304],[-43.64605,-23.05276],[-43.60475,-23.05255],[-43.60452,-23.06307],[-43.58381,-23.06289],[-43.58368,-23.08404],[-43.54186,-23.08383],[-43.54195,-23.06319],[-43.52147,-23.06301],[-43.5213,-23.07352],[-43.50043,-23.07337],[-43.50043,-23.04218],[-43.45877,-23.04221],[-43.4587,-23.03194],[-43.43782,-23.03182],[-43.43776,-23.02154],[-43.3235,-23.02121],[-43.3233,-23.04212],[-43.31291,-23.04195],[-43.31275,-23.05267],[-43.30239,-23.05258],[-43.30236,-23.04227],[-43.29194,-23.04215],[-43.29197,-23.03194],[-43.27109,-23.03182],[-43.27119,-23.01093],[-43.26061,-23.01087],[-43.26067,-23.00059],[-43.25057,-23.00047],[-43.25054,-23.01126],[-43.23989,-23.01102],[-43.23986,-23.00062],[-43.21908,-23.0005],[-43.21904,-22.99021],[-43.20901,-22.99009],[-43.20862,-23.08389],[-43.18768,-23.08377],[-43.18761,-23.07334],[-43.13582,-23.07337],[-43.13589,-23.05249],[-43.17732,-23.05255],[-43.17709,-22.96971]]],terms_url:"https://pgeo3.rio.rj.gov.br/arcgis/rest/services/Imagens/Mosaico_2013_UTM/MapServer",terms_text:"Instituto Pereira Passos - Prefeitura da Cidade do Rio de Janeiro."},{id:"rio2015",name:"Rio Mosaic 2015",type:"wms",template:"https://pgeo3.rio.rj.gov.br/arcgis/services/Imagens/Mosaico_2015_UTM/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[0,13],polygon:[[[-42.30363,-22.43698],[-44.10842,-22.06579],[-44.5313,-23.7863],[-42.70469,-24.16178],[-42.30363,-22.43698]]],terms_url:"https://pgeo3.rio.rj.gov.br/arcgis/rest/services/Imagens/Mosaico_2015_UTM/MapServer",terms_text:"Instituto Pereira Passos - Prefeitura da Cidade do Rio de Janeiro."},{id:"route500",name:"Route 500",type:"tms",template:"https://{switch:a,b,c}.tile.openstreetmap.fr/route500/{zoom}/{x}/{y}.png",zoomExtent:[12,20],polygon:[[[-2.7,43.9],[-6.3,48.98],[-2.25,50.09],[1.31,50.88],[2.35816,51.32937],[2.5488,51.09759],[2.57048,51.07409],[2.58741,51.01763],[2.59845,51.0051],[2.61558,50.99749],[2.63986,50.95766],[2.64225,50.94578],[2.62452,50.9256],[2.61962,50.91067],[2.62396,50.86071],[2.62781,50.85054],[2.63786,50.83696],[2.6511,50.82906],[2.73267,50.81738],[2.79995,50.73795],[2.81655,50.73092],[2.85265,50.73335],[2.89072,50.7162],[2.90492,50.71536],[2.9161,50.72418],[2.93508,50.75592],[3.00718,50.78377],[3.08218,50.78749],[3.09244,50.79092],[3.11412,50.80566],[3.14877,50.80195],[3.2154,50.73111],[3.22149,50.7267],[3.27051,50.70375],[3.27545,50.67757],[3.26576,50.6604],[3.26588,50.64054],[3.28922,50.60028],[3.29219,50.55037],[3.3056,50.53267],[3.37551,50.50839],[3.3898,50.50884],[3.4748,50.54445],[3.52173,50.53459],[3.53266,50.51873],[3.54779,50.51012],[3.61523,50.50558],[3.67378,50.45642],[3.68415,50.35277],[3.6901,50.34044],[3.70258,50.33482],[3.71576,50.33854],[3.74935,50.36279],[3.84109,50.36558],[3.90189,50.3436],[3.91317,50.34291],[4.02672,50.36904],[4.13761,50.29984],[4.14388,50.29727],[4.21444,50.28167],[4.22904,50.26664],[4.23078,50.25233],[4.17084,50.18579],[4.16601,50.16888],[4.1764,50.1547],[4.21195,50.13602],[4.24074,50.07102],[4.23193,50.05551],[4.18164,50.03436],[4.17177,50.02537],[4.16976,50.01217],[4.1765,50.00065],[4.20633,49.97546],[4.22164,49.97089],[4.30877,49.98145],[4.44542,49.9523],[4.45469,49.95251],[4.6581,50.00609],[4.66936,50.01392],[4.67293,50.02716],[4.66924,50.06972],[4.69517,50.10472],[4.83123,50.17941],[4.8815,50.16436],[4.90479,50.14451],[4.90426,50.12639],[4.88076,50.0815],[4.86277,50.0745],[4.85104,50.06216],[4.84331,50.03884],[4.84331,50.03883],[4.8433,50.03881],[4.82678,49.989],[4.82662,49.97692],[4.83343,49.96696],[4.89654,49.91753],[4.89755,49.89424],[4.87913,49.86942],[4.87625,49.85111],[4.88924,49.81266],[4.89769,49.80204],[4.91098,49.79926],[4.99534,49.81116],[5.01867,49.79272],[5.02686,49.78886],[5.09944,49.77323],[5.13458,49.73462],[5.1412,49.72984],[5.18761,49.70906],[5.19602,49.70732],[5.28157,49.70836],[5.33363,49.67308],[5.344,49.65049],[5.3544,49.64041],[5.43141,49.60791],[5.48205,49.52815],[5.49294,49.51979],[5.50666,49.52042],[5.55401,49.54025],[5.59311,49.53424],[5.6076,49.53761],[5.641,49.56095],[5.70676,49.55267],[5.71578,49.55361],[5.77526,49.57414],[5.8399,49.55321],[5.86126,49.52038],[5.876,49.5114],[5.97516,49.50129],[5.99801,49.47317],[6.01627,49.46597],[6.08635,49.47562],[6.09319,49.47787],[6.17397,49.52187],[6.24643,49.52511],[6.334,49.48235],[6.34423,49.48037],[6.43515,49.487],[6.5451,49.44384],[6.60639,49.37868],[6.60497,49.33739],[6.61627,49.31869],[6.67013,49.29269],[6.72996,49.22917],[6.74328,49.19086],[6.76026,49.17752],[6.80904,49.17284],[6.82473,49.17826],[6.83093,49.19366],[6.82982,49.21802],[6.85119,49.23136],[6.88453,49.2239],[6.89322,49.22389],[6.93753,49.23369],[7.04055,49.19794],[7.0463,49.17503],[7.05478,49.16313],[7.06908,49.16018],[7.10494,49.16634],[7.14315,49.14159],[7.1535,49.13839],[7.28683,49.13488],[7.29893,49.13856],[7.36095,49.18259],[7.45012,49.19517],[7.50113,49.17672],[7.54379,49.10572],[7.5579,49.09626],[7.6296,49.08527],[7.64722,49.06722],[7.6612,49.06119],[7.75401,49.05963],[7.76073,49.06067],[7.80291,49.07489],[7.85525,49.05329],[7.8673,49.05227],[7.93826,49.06832],[8.08069,49.00688],[8.2225,48.98787],[8.23704,48.97683],[8.23589,48.95817],[8.20888,48.94863],[8.20089,48.94339],[8.15824,48.89753],[8.10087,48.7993],[7.99071,48.74478],[7.98534,48.7409],[7.90422,48.65865],[7.85605,48.63606],[7.8484,48.62977],[7.81842,48.58883],[7.81456,48.57704],[7.81449,48.50968],[7.78547,48.48337],[7.78055,48.47652],[7.74506,48.39484],[7.74357,48.38427],[7.75159,48.32322],[7.71085,48.29841],[7.70241,48.28803],[7.67661,48.21555],[7.59605,48.11698],[7.59165,48.10648],[7.58522,48.04694],[7.59127,48.03035],[7.62437,47.99865],[7.63205,47.97081],[7.57554,47.87436],[7.5728,47.86435],[7.57267,47.83631],[7.54581,47.78793],[7.54418,47.77232],[7.55758,47.72899],[7.53526,47.6989],[7.53136,47.68564],[7.537,47.67302],[7.60016,47.60822],[7.58967,47.56755],[7.55424,47.55128],[7.54511,47.54283],[7.51256,47.48439],[7.38747,47.42111],[7.32653,47.4273],[7.24435,47.40939],[7.16708,47.4335],[7.15212,47.47612],[7.14279,47.48707],[7.12853,47.48893],[7.0801,47.47718],[7.03557,47.48695],[7.02102,47.48458],[7.01205,47.47287],[7.003,47.44095],[6.9551,47.40808],[6.94716,47.39698],[6.94818,47.38337],[6.95769,47.37359],[6.97126,47.37218],[7.018,47.38386],[7.05623,47.37035],[7.07007,47.35005],[7.05958,47.32257],[6.97424,47.27856],[6.96347,47.26233],[6.96134,47.23479],[6.89443,47.19393],[6.88913,47.18922],[6.85545,47.14636],[6.76907,47.10751],[6.76011,47.09953],[6.72561,47.0418],[6.62355,46.9811],[6.4812,46.9445],[6.46892,46.93522],[6.46686,46.91997],[6.47548,46.88771],[6.4535,46.8239],[6.45644,46.80534],[6.46722,46.79104],[6.46098,46.76887],[6.15817,46.59343],[6.14872,46.58069],[6.15152,46.56508],[6.16549,46.54399],[6.15811,46.52456],[6.10174,46.46979],[6.09572,46.45418],[6.09704,46.43317],[6.10829,46.41643],[6.16622,46.38839],[6.17817,46.36922],[6.13748,46.31297],[6.13371,46.30227],[6.13038,46.23737],[6.1103,46.22344],[6.08865,46.23081],[6.07717,46.23123],[6.01857,46.21601],[6.00681,46.20752],[6.00388,46.19332],[6.00787,46.16977],[6.01783,46.15564],[6.03509,46.15456],[6.05564,46.16288],[6.12468,46.15415],[6.13778,46.15702],[6.24026,46.22094],[6.24906,46.23299],[6.24707,46.24777],[6.21148,46.31057],[6.21219,46.32485],[6.23946,46.36705],[6.31648,46.41557],[6.41083,46.42495],[6.41748,46.42682],[6.50498,46.46871],[6.63047,46.47435],[6.74665,46.45695],[6.82244,46.42925],[6.81832,46.38181],[6.80484,46.36179],[6.80189,46.34639],[6.81095,46.33359],[6.86491,46.30038],[6.87504,46.28007],[6.86092,46.2439],[6.82698,46.21188],[6.82075,46.19862],[6.81863,46.16592],[6.82259,46.15261],[6.83427,46.14509],[6.90382,46.12971],[6.90491,46.09595],[6.90932,46.08406],[6.92001,46.07721],[6.94898,46.0699],[7.01556,46.00883],[7.05191,45.93066],[7.04533,45.92217],[7.04497,45.92064],[7.04394,45.92036],[6.99582,45.85822],[6.94097,45.83551],[6.84376,45.82387],[6.83102,45.81711],[6.82614,45.80353],[6.82787,45.73217],[6.83174,45.72082],[6.8414,45.71373],[6.90729,45.69124],[6.92419,45.66935],[6.94247,45.66172],[6.97131,45.66528],[7.00597,45.64945],[7.01151,45.63652],[6.9978,45.60877],[6.99643,45.59465],[7.0158,45.52354],[7.02774,45.5102],[7.1072,45.47877],[7.1228,45.44924],[7.13304,45.44001],[7.1856,45.41894],[7.19515,45.40409],[7.17075,45.35069],[7.14232,45.32298],[7.13649,45.30576],[7.14458,45.25048],[7.08417,45.20279],[6.99279,45.19823],[6.98106,45.19368],[6.90009,45.12689],[6.85843,45.11699],[6.78283,45.14228],[6.77056,45.14242],[6.67751,45.11356],[6.6653,45.10289],[6.66501,45.08667],[6.68237,45.04558],[6.69602,45.03395],[6.75744,45.01884],[6.78375,44.9146],[6.7942,44.90161],[6.86698,44.86519],[6.8798,44.86346],[6.93633,44.87461],[7.01795,44.84402],[7.03453,44.82282],[7.03711,44.75009],[7.0496,44.73226],[7.07224,44.72311],[7.08651,44.6968],[7.08666,44.68085],[7.07671,44.67134],[6.99007,44.67203],[6.97413,44.66431],[6.97056,44.64696],[6.97819,44.61784],[6.94659,44.57124],[6.88235,44.53479],[6.87233,44.5195],[6.87892,44.50245],[6.95894,44.43129],[6.95872,44.42908],[6.92167,44.41436],[6.91223,44.40659],[6.90907,44.39477],[6.90972,44.38195],[6.91637,44.36804],[6.99909,44.29414],[7.01181,44.256],[7.01983,44.24558],[7.03259,44.2424],[7.07312,44.2461],[7.1651,44.22112],[7.24533,44.18544],[7.26053,44.16682],[7.27537,44.15947],[7.33878,44.1574],[7.36278,44.13834],[7.37776,44.13416],[7.56283,44.15792],[7.5642,44.15836],[7.56478,44.15817],[7.60548,44.1634],[7.6162,44.16827],[7.63989,44.18928],[7.68608,44.1861],[7.69422,44.17795],[7.68937,44.13869],[7.69445,44.12276],[7.72786,44.08615],[7.72403,44.05704],[7.68603,44.02371],[7.68077,44.0164],[7.66016,43.9672],[7.59624,43.94466],[7.58419,43.93287],[7.56858,43.89159],[7.5271,43.87434],[7.51649,43.86397],[7.51594,43.84915],[7.53622,43.79234],[9.8,43.1],[9.63227,41.43244],[9.36968,41.35052],[9.27311,41.29196],[8.94186,41.27688],[5.8,41.64],[3.17358,42.41768],[3.16081,42.42757],[3.0944,42.41457],[3.03402,42.45331],[3.02214,42.45645],[2.87822,42.4487],[2.87019,42.44653],[2.78424,42.40256],[2.7413,42.41128],[2.72928,42.40998],[2.69331,42.39417],[2.68378,42.3854],[2.68162,42.37263],[2.68585,42.34679],[2.66719,42.33008],[2.58106,42.34418],[2.56777,42.34173],[2.5338,42.32197],[2.47795,42.32986],[2.41933,42.37658],[2.41222,42.38021],[2.26719,42.42055],[2.25973,42.42117],[2.20694,42.41558],[2.20653,42.41526],[2.20526,42.41541],[2.16028,42.41065],[2.14881,42.40545],[2.09393,42.35474],[2.00861,42.33818],[1.965,42.36473],[1.93076,42.42442],[1.92089,42.43302],[1.88467,42.44761],[1.88459,42.44762],[1.88444,42.4477],[1.82774,42.47056],[1.72567,42.48452],[1.71561,42.50125],[1.7272,42.56103],[1.72479,42.57499],[1.71011,42.59992],[1.69377,42.60975],[1.60283,42.61382],[1.56069,42.6392],[1.54636,42.64166],[1.50444,42.6331],[1.4921,42.62502],[1.47238,42.59703],[1.43792,42.59264],[1.41936,42.60643],[1.38032,42.67415],[1.37335,42.68127],[1.33313,42.70563],[1.32364,42.7085],[1.23221,42.71248],[1.16554,42.69928],[1.08546,42.76635],[1.07564,42.77079],[0.95937,42.78852],[0.95073,42.78794],[0.92265,42.7797],[0.84606,42.8157],[0.71511,42.8464],[0.70017,42.84402],[0.69117,42.83186],[0.67409,42.76479],[0.67474,42.75286],[0.69192,42.70684],[0.669,42.67901],[0.43024,42.67863],[0.3715,42.70308],[0.35954,42.70415],[0.34912,42.69817],[0.32567,42.67274],[0.29571,42.66388],[0.24594,42.70175],[0.23972,42.70494],[0.18967,42.72039],[0.17919,42.72075],[-0.01993,42.67389],[-0.06726,42.6848],[-0.16949,42.77157],[-0.29987,42.82697],[-0.31683,42.82635],[-0.39208,42.78766],[-0.44354,42.78453],[-0.48842,42.80255],[-0.50868,42.79935],[-0.54499,42.76906],[-0.56721,42.76937],[-0.67446,42.86392],[-0.68094,42.86775],[-0.73372,42.88666],[-0.7476,42.93879],[-0.75711,42.95107],[-0.77253,42.95284],[-0.82114,42.93865],[-0.94508,42.94192],[-1.02313,42.98206],[-1.10852,43.00409],[-1.1156,43.00461],[-1.14775,43.00124],[-1.15845,43.01452],[-1.16736,43.02083],[-1.21622,43.0381],[-1.22612,43.03898],[-1.26236,43.03303],[-1.30643,43.05531],[-1.31992,43.05696],[-1.33135,43.0496],[-1.3542,43.0197],[-1.43868,43.03371],[-1.4775,43.06889],[-1.48311,43.08561],[-1.47641,43.10248],[-1.43479,43.13087],[-1.42732,43.1404],[-1.39411,43.22935],[-1.39531,43.24596],[-1.40868,43.25591],[-1.52629,43.28099],[-1.54626,43.2737],[-1.57149,43.2412],[-1.61053,43.24223],[-1.65,43.29323],[-1.66953,43.30065],[-1.73359,43.28856],[-1.75606,43.31966],[-1.76297,43.32565],[-1.79156,43.34067],[-1.80099,43.37017],[-1.78509,43.39037],[-1.7835,43.39686],[-2.7,43.9]]],terms_url:"https://wiki.openstreetmap.org/wiki/FR:Servers/tile.openstreetmap.fr#Route500.E2.84.A2.C2.A9.C2.AE",terms_text:"Tiles © cquest@Openstreetmap France, data © IGN, LO/OL",description:"Routes du réseau classé (autoroutes, nationales, départementales)",overlay:true},{id:"Ruda_Slaska-aerial_image",name:"Ruda Śląska: Orthophotomap (aerial image)",type:"wms",template:"https://rudaslaska.geoportal2.pl/map/wmsorto/wms.php?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortofotomapa&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,23],polygon:[[[18.84294,50.32508],[18.84008,50.33091],[18.85132,50.33437],[18.86262,50.3305],[18.88693,50.333],[18.89493,50.3319],[18.90045,50.32562],[18.89713,50.31146],[18.89312,50.31149],[18.89114,50.30778],[18.8972,50.2999],[18.89073,50.29586],[18.90211,50.29204],[18.90706,50.28637],[18.90853,50.27823],[18.93583,50.27379],[18.94106,50.25859],[18.93848,50.25317],[18.95086,50.24267],[18.96531,50.24084],[18.94611,50.22907],[18.89932,50.22516],[18.90251,50.21749],[18.89075,50.21557],[18.89292,50.20913],[18.86474,50.20512],[18.85673,50.22078],[18.85258,50.22331],[18.84619,50.21761],[18.83341,50.21715],[18.83533,50.22307],[18.83051,50.23099],[18.82411,50.23055],[18.81641,50.23709],[18.81619,50.24125],[18.80635,50.24596],[18.80344,50.24293],[18.78831,50.24456],[18.79552,50.2768],[18.81681,50.27732],[18.81919,50.28794],[18.83893,50.29795],[18.83849,50.3004],[18.82699,50.30342],[18.82691,50.32073],[18.83007,50.32371],[18.84294,50.32508]]],terms_text:"Urząd Miasta Ruda Śląska"},{id:"Rzeszow-buildings",name:"Rzeszów: Buildings",type:"wms",template:"http://wms.erzeszow.pl/?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=komunikacja,budynki,adresy&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,19],polygon:[[[22.09538,50.08157],[22.0947,50.05584],[22.08892,50.05589],[22.08874,50.03671],[22.09505,50.03682],[22.09435,49.98723],[22.0609,49.98754],[22.0605,49.96525],[22.04757,49.96509],[22.04724,49.95792],[22.03139,49.95845],[22.0312,49.9574],[22.0014,49.95833],[22.00019,49.9375],[22.0014,49.93746],[22.00029,49.92047],[21.96799,49.92088],[21.969,49.93683],[21.95393,49.93706],[21.95441,49.94373],[21.94192,49.94378],[21.94253,49.96646],[21.93676,49.9665],[21.93776,49.97828],[21.92898,49.97858],[21.92951,49.98858],[21.91606,49.9888],[21.9165,50.01192],[21.90572,50.01195],[21.90653,50.04136],[21.87425,50.04183],[21.87546,50.06072],[21.90465,50.06083],[21.90672,50.0835],[22.09538,50.08157]]],terms_text:"Urząd Miasta Rzeszowa"},{id:"Rzeszow-aerial_image",name:"Rzeszów: Orthophotomap (aerial image)",type:"wms",template:"http://wms.erzeszow.pl/?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=rastry&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,23],polygon:[[[22.09538,50.08157],[22.0947,50.05584],[22.08892,50.05589],[22.08874,50.03671],[22.09505,50.03682],[22.09435,49.98723],[22.0609,49.98754],[22.0605,49.96525],[22.04757,49.96509],[22.04724,49.95792],[22.03139,49.95845],[22.0312,49.9574],[22.0014,49.95833],[22.00019,49.9375],[22.0014,49.93746],[22.00029,49.92047],[21.96799,49.92088],[21.969,49.93683],[21.95393,49.93706],[21.95441,49.94373],[21.94192,49.94378],[21.94253,49.96646],[21.93676,49.9665],[21.93776,49.97828],[21.92898,49.97858],[21.92951,49.98858],[21.91606,49.9888],[21.9165,50.01192],[21.90572,50.01195],[21.90653,50.04136],[21.87425,50.04183],[21.87546,50.06072],[21.90465,50.06083],[21.90672,50.0835],[22.09538,50.08157]]],terms_text:"Urząd Miasta Rzeszowa"},{id:"SanJuanMetroAreaUSACEOrthophotos",name:"San Juan Metro Area: 2013 USACE Orthophotos",type:"tms",template:"http://imagery-pr-usace-2013.s3-website-us-east-1.amazonaws.com/tiles/{zoom}/{x}/{y}.jpg",endDate:"2013-03-15T00:00:00.000Z",startDate:"2013-03-13T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[-66.15007,18.35002],[-66.03337,18.35002],[-66.03328,18.45634],[-66.05464,18.45636],[-66.05463,18.46542],[-66.08303,18.46544],[-66.08302,18.47451],[-66.13034,18.47455],[-66.13034,18.4796],[-66.13983,18.47961],[-66.13984,18.46557],[-66.14995,18.46558],[-66.15007,18.35002]]]},{id:"santana_do_ipanema",name:"Santana do Ipanema AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Santana%20do%20Ipanema&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.20224,-9.41356],[-37.20188,-9.37768],[-37.20208,-9.37455],[-37.20192,-9.36733],[-37.20169,-9.36045],[-37.20172,-9.35501],[-37.20195,-9.35101],[-37.20191,-9.34773],[-37.20175,-9.33835],[-37.2017,-9.33505],[-37.20171,-9.33301],[-37.20142,-9.32833],[-37.20121,-9.32469],[-37.20117,-9.32351],[-37.21425,-9.32346],[-37.21537,-9.3234],[-37.22078,-9.32328],[-37.23727,-9.32313],[-37.25181,-9.32293],[-37.2656,-9.32276],[-37.2803,-9.32259],[-37.29191,-9.32245],[-37.29205,-9.33522],[-37.29304,-9.4122],[-37.28357,-9.41235],[-37.27789,-9.4125],[-37.2716,-9.41249],[-37.26506,-9.41262],[-37.26165,-9.41274],[-37.25499,-9.41276],[-37.24991,-9.41296],[-37.24616,-9.41297],[-37.24108,-9.41303],[-37.23461,-9.41321],[-37.2284,-9.41325],[-37.22165,-9.41335],[-37.21686,-9.41346],[-37.21292,-9.41343],[-37.20224,-9.41356]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"Sao_miguel_dos_campos",name:"São Miguel dos Campos AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Sao_miguel_dos_campos&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.1415,-9.83171],[-36.05047,-9.83246],[-36.04959,-9.74246],[-36.14059,-9.74166],[-36.1415,-9.83171]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"GEOSN-DOP-2005",name:"Saxony historical aerial imagery 2005",type:"wms",template:"https://geodienste.sachsen.de/wms_geosn_dop-2005/guest?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=dop_2005&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2005-01-01T00:00:00.000Z",startDate:"2005-01-01T00:00:00.000Z",polygon:[[[13.86571,50.71509],[13.86683,50.73012],[13.90116,50.73012],[13.90184,50.74446],[13.91043,50.74446],[13.91043,50.77378],[13.95266,50.77486],[13.95197,50.78897],[13.99969,50.78941],[13.999,50.79831],[14.16715,50.79762],[14.1747,50.8462],[14.32851,50.84534],[14.33503,50.87643],[14.41674,50.876],[14.41674,50.95025],[14.33263,50.95133],[14.3364,50.99802],[14.58188,50.99608],[14.57742,50.94895],[14.54068,50.95003],[14.54446,50.89831],[14.60557,50.89116],[14.60454,50.83439],[14.6605,50.83352],[14.65673,50.79578],[14.83422,50.79469],[14.84727,50.89138],[14.9204,50.88943],[14.9331,50.99478],[14.99902,50.99673],[15.00142,51.09709],[15.04159,51.09709],[15.04228,51.35317],[14.99696,51.35317],[15.00314,51.49959],[14.91593,51.50301],[14.91662,51.55043],[14.74908,51.55129],[14.75114,51.60121],[14.41056,51.59993],[14.41125,51.55129],[14.07891,51.54915],[14.07479,51.49831],[13.99446,51.50002],[13.99446,51.39817],[13.53921,51.39989],[13.53852,51.42516],[13.50041,51.42505],[13.50179,51.44945],[13.41596,51.45094],[13.41699,51.50013],[13.3315,51.50055],[13.33047,51.44966],[13.24945,51.44987],[13.25116,51.60036],[13.16773,51.60057],[13.16739,51.65023],[13.08328,51.65066],[13.08362,51.69941],[12.66202,51.70027],[12.66065,51.64832],[12.4162,51.65045],[12.41345,51.60057],[12.16146,51.60015],[12.16146,51.50109],[12.07631,51.50023],[12.07974,51.39625],[12.16008,51.39753],[12.16214,51.34995],[12.07906,51.35253],[12.07906,51.24562],[12.16214,51.24691],[12.16352,51.0958],[12.24317,51.09709],[12.2454,51.04813],[12.49688,51.04883],[12.49894,50.89966],[12.33346,50.89923],[12.32797,50.84984],[12.20712,50.8494],[12.20506,50.69829],[12.24694,50.69744],[12.24694,50.65023],[11.91529,50.64849],[11.91598,50.59839],[11.83221,50.59817],[11.83255,50.39922],[11.91495,50.39922],[11.91461,50.34886],[11.99486,50.34659],[11.99838,50.29897],[12.16506,50.29912],[12.16549,50.24904],[12.23673,50.24871],[12.24823,50.24212],[12.24772,50.14904],[12.33149,50.14893],[12.33852,50.19335],[12.33286,50.23927],[12.3538,50.23619],[12.35998,50.24926],[12.41457,50.24948],[12.41594,50.29906],[12.49851,50.29874],[12.49834,50.34948],[12.58142,50.34915],[12.58125,50.39896],[12.69489,50.39962],[12.70622,50.39426],[12.71257,50.39875],[13.0813,50.39907],[13.0813,50.4992],[13.24816,50.49898],[13.24884,50.54809],[13.33124,50.54918],[13.33056,50.59911],[13.50908,50.59759],[13.50462,50.62656],[13.5393,50.62635],[13.53827,50.65481],[13.54633,50.65547],[13.54599,50.66983],[13.5544,50.67027],[13.55457,50.68908],[13.54736,50.68887],[13.54582,50.69969],[13.63886,50.69947],[13.63955,50.71425],[13.86571,50.71509]]],terms_url:"https://geoportal.sachsen.de/cps/metadaten_portal.html?id=3f38c3f3-03db-4a2a-b6da-2704b9a1d5f0",terms_text:"Staatsbetrieb Geobasisinformation und Vermessung Sachsen",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/de/SaxonyWebAtlasSN.png"},{id:"GEOSN-DOP-2012_2014",name:"Saxony historical aerial imagery 2012-2014",type:"wms",template:"https://geodienste.sachsen.de/wms_geosn_dop_2012_2014/guest?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=dop_2012_2014_rgb&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",polygon:[[[13.86571,50.71509],[13.86683,50.73012],[13.90116,50.73012],[13.90184,50.74446],[13.91043,50.74446],[13.91043,50.77378],[13.95266,50.77486],[13.95197,50.78897],[13.99969,50.78941],[13.999,50.79831],[14.16715,50.79762],[14.1747,50.8462],[14.32851,50.84534],[14.33503,50.87643],[14.41674,50.876],[14.41674,50.95025],[14.33263,50.95133],[14.3364,50.99802],[14.58188,50.99608],[14.57742,50.94895],[14.54068,50.95003],[14.54446,50.89831],[14.60557,50.89116],[14.60454,50.83439],[14.6605,50.83352],[14.65673,50.79578],[14.83422,50.79469],[14.84727,50.89138],[14.9204,50.88943],[14.9331,50.99478],[14.99902,50.99673],[15.00142,51.09709],[15.04159,51.09709],[15.04228,51.35317],[14.99696,51.35317],[15.00314,51.49959],[14.91593,51.50301],[14.91662,51.55043],[14.74908,51.55129],[14.75114,51.60121],[14.41056,51.59993],[14.41125,51.55129],[14.07891,51.54915],[14.07479,51.49831],[13.99446,51.50002],[13.99446,51.39817],[13.53921,51.39989],[13.53852,51.42516],[13.50041,51.42505],[13.50179,51.44945],[13.41596,51.45094],[13.41699,51.50013],[13.3315,51.50055],[13.33047,51.44966],[13.24945,51.44987],[13.25116,51.60036],[13.16773,51.60057],[13.16739,51.65023],[13.08328,51.65066],[13.08362,51.69941],[12.66202,51.70027],[12.66065,51.64832],[12.4162,51.65045],[12.41345,51.60057],[12.16146,51.60015],[12.16146,51.50109],[12.07631,51.50023],[12.07974,51.39625],[12.16008,51.39753],[12.16214,51.34995],[12.07906,51.35253],[12.07906,51.24562],[12.16214,51.24691],[12.16352,51.0958],[12.24317,51.09709],[12.2454,51.04813],[12.49688,51.04883],[12.49894,50.89966],[12.33346,50.89923],[12.32797,50.84984],[12.20712,50.8494],[12.20506,50.69829],[12.24694,50.69744],[12.24694,50.65023],[11.91529,50.64849],[11.91598,50.59839],[11.83221,50.59817],[11.83255,50.39922],[11.91495,50.39922],[11.91461,50.34886],[11.99486,50.34659],[11.99838,50.29897],[12.16506,50.29912],[12.16549,50.24904],[12.23673,50.24871],[12.24823,50.24212],[12.24772,50.14904],[12.33149,50.14893],[12.33852,50.19335],[12.33286,50.23927],[12.3538,50.23619],[12.35998,50.24926],[12.41457,50.24948],[12.41594,50.29906],[12.49851,50.29874],[12.49834,50.34948],[12.58142,50.34915],[12.58125,50.39896],[12.69489,50.39962],[12.70622,50.39426],[12.71257,50.39875],[13.0813,50.39907],[13.0813,50.4992],[13.24816,50.49898],[13.24884,50.54809],[13.33124,50.54918],[13.33056,50.59911],[13.50908,50.59759],[13.50462,50.62656],[13.5393,50.62635],[13.53827,50.65481],[13.54633,50.65547],[13.54599,50.66983],[13.5544,50.67027],[13.55457,50.68908],[13.54736,50.68887],[13.54582,50.69969],[13.63886,50.69947],[13.63955,50.71425],[13.86571,50.71509]]],terms_url:"https://geoportal.sachsen.de/cps/metadaten_portal.html?id=8c276e3c-88af-462f-8128-6900bc7dd4f8",terms_text:"Staatsbetrieb Geobasisinformation und Vermessung Sachsen",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/de/SaxonyWebAtlasSN.png"},{id:"GEOSN-DOP-RGB",name:"Saxony latest aerial imagery",type:"wms",template:"https://geodienste.sachsen.de/wms_geosn_dop-rgb/guest?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=sn_dop_020&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[13.54901,50.69792],[13.84251,50.71126],[13.93239,50.74504],[14.04614,50.79389],[14.25257,50.85953],[14.40002,50.88966],[14.42671,50.9357],[14.35649,50.97197],[14.32559,50.99319],[14.27504,50.99054],[14.31577,51.04266],[14.41547,51.01263],[14.51939,51.0038],[14.5882,50.9817],[14.54467,50.91977],[14.57977,50.90649],[14.64718,50.92243],[14.64437,50.90915],[14.60505,50.85687],[14.7202,50.81785],[14.81008,50.81341],[14.85642,50.89055],[14.91259,50.94721],[14.99685,51.08679],[15.05303,51.24793],[15.05583,51.29274],[14.99264,51.34452],[14.98843,51.398],[14.97719,51.45754],[14.90979,51.49603],[14.73986,51.5371],[14.73986,51.59122],[14.70054,51.60605],[14.67948,51.5982],[14.68369,51.57813],[14.67386,51.55806],[14.61769,51.55718],[14.58399,51.59035],[14.51939,51.56941],[14.43513,51.5598],[14.327,51.52574],[14.13461,51.55544],[14.0672,51.49952],[14.02788,51.47854],[14.04333,51.45229],[13.99558,51.39274],[13.95767,51.40588],[13.88886,51.38836],[13.72455,51.37434],[13.55463,51.39274],[13.40437,51.45929],[13.35241,51.43916],[13.3159,51.44354],[13.28641,51.41815],[13.22602,51.40063],[13.21339,51.46104],[13.219,51.52661],[13.17406,51.5982],[13.00274,51.67751],[12.90584,51.65312],[12.90303,51.66619],[12.85388,51.69318],[12.76401,51.65922],[12.68817,51.67054],[12.64324,51.62959],[12.57723,51.63046],[12.42557,51.61041],[12.23037,51.57028],[12.17701,51.53011],[12.13909,51.46017],[12.16718,51.41727],[12.1742,51.33487],[12.13207,51.3182],[12.18684,51.21364],[12.15875,51.18812],[12.22054,51.09296],[12.49017,51.05414],[12.52106,50.99319],[12.60532,50.97286],[12.62639,50.91889],[12.50281,50.91092],[12.23739,50.81874],[12.21352,50.72993],[12.28654,50.665],[12.21773,50.6463],[12.13347,50.6276],[12.05343,50.56342],[12.01972,50.64719],[11.85963,50.54825],[11.87649,50.50808],[11.92704,50.5054],[11.93687,50.48664],[11.87087,50.44194],[11.93406,50.39989],[11.96917,50.33987],[12.12083,50.29773],[12.17279,50.3067],[12.18543,50.26094],[12.21212,50.25375],[12.25705,50.21603],[12.28233,50.15668],[12.35535,50.15848],[12.35535,50.22142],[12.41433,50.28158],[12.51123,50.34705],[12.53791,50.38735],[12.67835,50.40257],[12.71205,50.38646],[12.7289,50.39631],[12.75699,50.42584],[12.78648,50.43389],[12.81737,50.41779],[12.84686,50.43657],[12.94797,50.38735],[13.00976,50.41421],[13.04627,50.44999],[13.0561,50.48753],[13.21479,50.49289],[13.27517,50.56609],[13.34118,50.56877],[13.39173,50.61334],[13.47739,50.58571],[13.54761,50.63473],[13.56867,50.67212],[13.54901,50.69792]]],terms_url:"https://geoportal.sachsen.de/cps/metadaten_portal.html?id=cd01c334-7e32-482f-bd43-af286707178a",terms_text:"Staatsbetrieb Geobasisinformation und Vermessung Sachsen",best:true,icon:"https://osmlab.github.io/editor-layer-index/sources/europe/de/SaxonyWebAtlasSN.png"},{id:"GEOSN-DOP-CIR",name:"Saxony latest aerial imagery infrared",type:"wms",template:"https://geodienste.sachsen.de/wms_geosn_dop-cir/guest?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=sn_dop_020_cir&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[13.54901,50.69792],[13.84251,50.71126],[13.93239,50.74504],[14.04614,50.79389],[14.25257,50.85953],[14.40002,50.88966],[14.42671,50.9357],[14.35649,50.97197],[14.32559,50.99319],[14.27504,50.99054],[14.31577,51.04266],[14.41547,51.01263],[14.51939,51.0038],[14.5882,50.9817],[14.54467,50.91977],[14.57977,50.90649],[14.64718,50.92243],[14.64437,50.90915],[14.60505,50.85687],[14.7202,50.81785],[14.81008,50.81341],[14.85642,50.89055],[14.91259,50.94721],[14.99685,51.08679],[15.05303,51.24793],[15.05583,51.29274],[14.99264,51.34452],[14.98843,51.398],[14.97719,51.45754],[14.90979,51.49603],[14.73986,51.5371],[14.73986,51.59122],[14.70054,51.60605],[14.67948,51.5982],[14.68369,51.57813],[14.67386,51.55806],[14.61769,51.55718],[14.58399,51.59035],[14.51939,51.56941],[14.43513,51.5598],[14.327,51.52574],[14.13461,51.55544],[14.0672,51.49952],[14.02788,51.47854],[14.04333,51.45229],[13.99558,51.39274],[13.95767,51.40588],[13.88886,51.38836],[13.72455,51.37434],[13.55463,51.39274],[13.40437,51.45929],[13.35241,51.43916],[13.3159,51.44354],[13.28641,51.41815],[13.22602,51.40063],[13.21339,51.46104],[13.219,51.52661],[13.17406,51.5982],[13.00274,51.67751],[12.90584,51.65312],[12.90303,51.66619],[12.85388,51.69318],[12.76401,51.65922],[12.68817,51.67054],[12.64324,51.62959],[12.57723,51.63046],[12.42557,51.61041],[12.23037,51.57028],[12.17701,51.53011],[12.13909,51.46017],[12.16718,51.41727],[12.1742,51.33487],[12.13207,51.3182],[12.18684,51.21364],[12.15875,51.18812],[12.22054,51.09296],[12.49017,51.05414],[12.52106,50.99319],[12.60532,50.97286],[12.62639,50.91889],[12.50281,50.91092],[12.23739,50.81874],[12.21352,50.72993],[12.28654,50.665],[12.21773,50.6463],[12.13347,50.6276],[12.05343,50.56342],[12.01972,50.64719],[11.85963,50.54825],[11.87649,50.50808],[11.92704,50.5054],[11.93687,50.48664],[11.87087,50.44194],[11.93406,50.39989],[11.96917,50.33987],[12.12083,50.29773],[12.17279,50.3067],[12.18543,50.26094],[12.21212,50.25375],[12.25705,50.21603],[12.28233,50.15668],[12.35535,50.15848],[12.35535,50.22142],[12.41433,50.28158],[12.51123,50.34705],[12.53791,50.38735],[12.67835,50.40257],[12.71205,50.38646],[12.7289,50.39631],[12.75699,50.42584],[12.78648,50.43389],[12.81737,50.41779],[12.84686,50.43657],[12.94797,50.38735],[13.00976,50.41421],[13.04627,50.44999],[13.0561,50.48753],[13.21479,50.49289],[13.27517,50.56609],[13.34118,50.56877],[13.39173,50.61334],[13.47739,50.58571],[13.54761,50.63473],[13.56867,50.67212],[13.54901,50.69792]]],terms_url:"https://geoportal.sachsen.de/cps/metadaten_portal.html?id=ba87bbed-4cb5-4539-a9f5-f863de752f52",terms_text:"Staatsbetrieb Geobasisinformation und Vermessung Sachsen",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/de/SaxonyWebAtlasSN.png"},{id:"GEOSN-DTK",name:"Saxony topographic map",type:"wms",template:"https://geodienste.sachsen.de/wms_geosn_dtk-pg-color/guest?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=sn_dtk_pg_color&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[13.54901,50.69792],[13.84251,50.71126],[13.93239,50.74504],[14.04614,50.79389],[14.25257,50.85953],[14.40002,50.88966],[14.42671,50.9357],[14.35649,50.97197],[14.32559,50.99319],[14.27504,50.99054],[14.31577,51.04266],[14.41547,51.01263],[14.51939,51.0038],[14.5882,50.9817],[14.54467,50.91977],[14.57977,50.90649],[14.64718,50.92243],[14.64437,50.90915],[14.60505,50.85687],[14.7202,50.81785],[14.81008,50.81341],[14.85642,50.89055],[14.91259,50.94721],[14.99685,51.08679],[15.05303,51.24793],[15.05583,51.29274],[14.99264,51.34452],[14.98843,51.398],[14.97719,51.45754],[14.90979,51.49603],[14.73986,51.5371],[14.73986,51.59122],[14.70054,51.60605],[14.67948,51.5982],[14.68369,51.57813],[14.67386,51.55806],[14.61769,51.55718],[14.58399,51.59035],[14.51939,51.56941],[14.43513,51.5598],[14.327,51.52574],[14.13461,51.55544],[14.0672,51.49952],[14.02788,51.47854],[14.04333,51.45229],[13.99558,51.39274],[13.95767,51.40588],[13.88886,51.38836],[13.72455,51.37434],[13.55463,51.39274],[13.40437,51.45929],[13.35241,51.43916],[13.3159,51.44354],[13.28641,51.41815],[13.22602,51.40063],[13.21339,51.46104],[13.219,51.52661],[13.17406,51.5982],[13.00274,51.67751],[12.90584,51.65312],[12.90303,51.66619],[12.85388,51.69318],[12.76401,51.65922],[12.68817,51.67054],[12.64324,51.62959],[12.57723,51.63046],[12.42557,51.61041],[12.23037,51.57028],[12.17701,51.53011],[12.13909,51.46017],[12.16718,51.41727],[12.1742,51.33487],[12.13207,51.3182],[12.18684,51.21364],[12.15875,51.18812],[12.22054,51.09296],[12.49017,51.05414],[12.52106,50.99319],[12.60532,50.97286],[12.62639,50.91889],[12.50281,50.91092],[12.23739,50.81874],[12.21352,50.72993],[12.28654,50.665],[12.21773,50.6463],[12.13347,50.6276],[12.05343,50.56342],[12.01972,50.64719],[11.85963,50.54825],[11.87649,50.50808],[11.92704,50.5054],[11.93687,50.48664],[11.87087,50.44194],[11.93406,50.39989],[11.96917,50.33987],[12.12083,50.29773],[12.17279,50.3067],[12.18543,50.26094],[12.21212,50.25375],[12.25705,50.21603],[12.28233,50.15668],[12.35535,50.15848],[12.35535,50.22142],[12.41433,50.28158],[12.51123,50.34705],[12.53791,50.38735],[12.67835,50.40257],[12.71205,50.38646],[12.7289,50.39631],[12.75699,50.42584],[12.78648,50.43389],[12.81737,50.41779],[12.84686,50.43657],[12.94797,50.38735],[13.00976,50.41421],[13.04627,50.44999],[13.0561,50.48753],[13.21479,50.49289],[13.27517,50.56609],[13.34118,50.56877],[13.39173,50.61334],[13.47739,50.58571],[13.54761,50.63473],[13.56867,50.67212],[13.54901,50.69792]]],terms_url:"https://geoportal.sachsen.de/cps/metadaten_portal.html?id=d6d24c6d-94ea-447d-8a0c-40afdedeb5c6",terms_text:"Staatsbetrieb Geobasisinformation und Vermessung Sachsen",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/de/SaxonyWebAtlasSN.png"},{id:"GEOSN-WebAtlas",name:"Saxony WebAtlasSN",type:"wms",template:"https://geodienste.sachsen.de/wms_geosn_webatlas-sn/guest?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Vegetation,Siedlung,Gewaesser,Verkehr,Administrative_Einheiten,Beschriftung&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[13.54901,50.69792],[13.84251,50.71126],[13.93239,50.74504],[14.04614,50.79389],[14.25257,50.85953],[14.40002,50.88966],[14.42671,50.9357],[14.35649,50.97197],[14.32559,50.99319],[14.27504,50.99054],[14.31577,51.04266],[14.41547,51.01263],[14.51939,51.0038],[14.5882,50.9817],[14.54467,50.91977],[14.57977,50.90649],[14.64718,50.92243],[14.64437,50.90915],[14.60505,50.85687],[14.7202,50.81785],[14.81008,50.81341],[14.85642,50.89055],[14.91259,50.94721],[14.99685,51.08679],[15.05303,51.24793],[15.05583,51.29274],[14.99264,51.34452],[14.98843,51.398],[14.97719,51.45754],[14.90979,51.49603],[14.73986,51.5371],[14.73986,51.59122],[14.70054,51.60605],[14.67948,51.5982],[14.68369,51.57813],[14.67386,51.55806],[14.61769,51.55718],[14.58399,51.59035],[14.51939,51.56941],[14.43513,51.5598],[14.327,51.52574],[14.13461,51.55544],[14.0672,51.49952],[14.02788,51.47854],[14.04333,51.45229],[13.99558,51.39274],[13.95767,51.40588],[13.88886,51.38836],[13.72455,51.37434],[13.55463,51.39274],[13.40437,51.45929],[13.35241,51.43916],[13.3159,51.44354],[13.28641,51.41815],[13.22602,51.40063],[13.21339,51.46104],[13.219,51.52661],[13.17406,51.5982],[13.00274,51.67751],[12.90584,51.65312],[12.90303,51.66619],[12.85388,51.69318],[12.76401,51.65922],[12.68817,51.67054],[12.64324,51.62959],[12.57723,51.63046],[12.42557,51.61041],[12.23037,51.57028],[12.17701,51.53011],[12.13909,51.46017],[12.16718,51.41727],[12.1742,51.33487],[12.13207,51.3182],[12.18684,51.21364],[12.15875,51.18812],[12.22054,51.09296],[12.49017,51.05414],[12.52106,50.99319],[12.60532,50.97286],[12.62639,50.91889],[12.50281,50.91092],[12.23739,50.81874],[12.21352,50.72993],[12.28654,50.665],[12.21773,50.6463],[12.13347,50.6276],[12.05343,50.56342],[12.01972,50.64719],[11.85963,50.54825],[11.87649,50.50808],[11.92704,50.5054],[11.93687,50.48664],[11.87087,50.44194],[11.93406,50.39989],[11.96917,50.33987],[12.12083,50.29773],[12.17279,50.3067],[12.18543,50.26094],[12.21212,50.25375],[12.25705,50.21603],[12.28233,50.15668],[12.35535,50.15848],[12.35535,50.22142],[12.41433,50.28158],[12.51123,50.34705],[12.53791,50.38735],[12.67835,50.40257],[12.71205,50.38646],[12.7289,50.39631],[12.75699,50.42584],[12.78648,50.43389],[12.81737,50.41779],[12.84686,50.43657],[12.94797,50.38735],[13.00976,50.41421],[13.04627,50.44999],[13.0561,50.48753],[13.21479,50.49289],[13.27517,50.56609],[13.34118,50.56877],[13.39173,50.61334],[13.47739,50.58571],[13.54761,50.63473],[13.56867,50.67212],[13.54901,50.69792]]],terms_url:"https://geoportal.sachsen.de/cps/metadaten_portal.html?id=475a9197-620f-4dcb-b8aa-7f71b626443f",terms_text:"Staatsbetrieb Geobasisinformation und Vermessung Sachsen",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/de/SaxonyWebAtlasSN.png"},{id:"Geodatastyrelsen_Denmark",name:"SDFE aerial imagery",type:"tms",template:"https://osmtools.septima.dk/mapproxy/tiles/1.0.0/kortforsyningen_ortoforaar/EPSG3857/{zoom}/{x}/{y}.jpeg",zoomExtent:[0,21],polygon:[[[8.37439,54.95517],[8.36838,55.40421],[8.2104,55.40398],[8.20873,55.49373],[8.05027,55.49247],[8.01851,56.75014],[8.18192,56.75099],[8.17633,57.02089],[8.34133,57.02199],[8.33925,57.11196],[8.50544,57.11232],[8.50339,57.20205],[9.33163,57.20276],[9.33191,57.29248],[9.49789,57.29196],[9.49886,57.38206],[9.66497,57.38116],[9.66873,57.56056],[9.8352,57.55963],[9.83749,57.64933],[10.17257,57.64628],[10.17542,57.73678],[10.51183,57.73303],[10.51521,57.82289],[10.68349,57.82077],[10.67516,57.6412],[10.5077,57.64331],[10.504,57.55351],[10.67104,57.55141],[10.65078,57.10245],[10.48577,57.10451],[10.47862,56.92491],[10.3144,56.92676],[10.31123,56.83693],[10.47503,56.83509],[10.4649,56.56567],[10.95242,56.55898],[10.94792,56.46922],[11.10993,56.46647],[11.10526,56.37683],[10.94299,56.37953],[10.93412,56.19948],[10.77197,56.20202],[10.76948,56.11201],[10.60797,56.11503],[10.44667,56.11672],[10.28659,56.11868],[10.28315,56.02819],[10.44393,56.02704],[10.44177,55.75792],[10.4335,55.66935],[10.74381,55.66469],[10.74381,55.57123],[10.8969,55.57123],[10.90518,55.39539],[11.06137,55.38128],[11.0593,55.11241],[11.04586,55.03186],[11.20308,55.02475],[11.20308,55.11714],[11.0593,55.11241],[11.06137,55.38128],[11.07896,55.57123],[10.8969,55.57123],[10.92587,55.66702],[10.74381,55.66469],[10.75623,55.75792],[10.44177,55.75792],[10.44393,56.02704],[10.44667,56.11672],[10.60797,56.11503],[10.60521,56.02475],[10.92587,56.02012],[10.91971,55.93094],[11.08028,55.92792],[11.08581,56.01783],[11.7265,56.00506],[11.732,56.09521],[12.05403,56.08713],[12.06085,56.17626],[12.70235,56.15944],[12.66111,55.71143],[12.97923,55.7014],[12.96129,55.52173],[12.32687,55.54121],[12.32061,55.45137],[12.47782,55.44707],[12.47024,55.35705],[12.62697,55.35238],[12.62009,55.26326],[12.46273,55.26722],[12.45529,55.17782],[12.2987,55.18223],[12.28973,55.09236],[12.60486,55.08329],[12.5872,54.90363],[12.27666,54.9119],[12.26102,54.73316],[12.10707,54.73782],[12.08586,54.46817],[11.7795,54.47536],[11.78374,54.56548],[11.16585,54.57822],[11.17064,54.66865],[10.86172,54.6734],[10.86512,54.76347],[10.77136,54.76439],[10.77073,54.73728],[10.75514,54.73758],[10.7544,54.71957],[10.73891,54.71976],[10.73844,54.71085],[10.70745,54.7113],[10.70411,54.67567],[10.5511,54.67817],[10.55472,54.76702],[10.2424,54.77059],[10.24598,54.86047],[10.09023,54.86221],[10.08737,54.77239],[9.15558,54.77696],[9.15628,54.86754],[8.5322,54.86638],[8.53143,54.95516],[8.37439,54.95517]],[[11.45777,56.81955],[11.78492,56.81274],[11.77167,56.63328],[11.44596,56.64011],[11.45777,56.81955]],[[11.32747,57.3613],[11.31618,57.1818],[11.15087,57.18473],[11.14566,57.09496],[10.81577,57.10017],[10.82906,57.36953],[11.32747,57.3613]],[[11.58433,56.27779],[11.57829,56.18804],[11.73923,56.18458],[11.74564,56.27432],[11.58433,56.27779]],[[14.68259,55.36394],[14.83952,55.35652],[14.82638,55.26713],[15.13934,55.25174],[15.1532,55.34108],[15.30992,55.33306],[15.29572,55.24374],[15.13934,55.25174],[15.12556,55.16238],[15.28158,55.15442],[15.25356,54.97576],[14.63175,55.00625],[14.68259,55.36394]]],terms_url:"https://download.kortforsyningen.dk/content/vilkaar-og-betingelser",terms_text:"Geodatastyrelsen og Danske Kommuner",best:true,icon:"https://osmlab.github.io/editor-layer-index/sources/europe/dk/SDFESkrmkort.png"},{id:"Geodatastyrelsen_Cadastral_Parcels_INSPIRE_View",name:"SDFE Cadastral Parcels INSPIRE View",type:"wms",template:"https://kortforsyningen.kms.dk/cp_inspire?login=OpenStreetMapDK2015&password=Gall4Peters&FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=CP.CadastralParcel&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,20],polygon:[[[8.37439,54.95517],[8.36838,55.40421],[8.2104,55.40398],[8.20873,55.49373],[8.05027,55.49247],[8.01851,56.75014],[8.18192,56.75099],[8.17633,57.02089],[8.34133,57.02199],[8.33925,57.11196],[8.50544,57.11232],[8.50339,57.20205],[9.33163,57.20276],[9.33191,57.29248],[9.49789,57.29196],[9.49886,57.38206],[9.66497,57.38116],[9.66873,57.56056],[9.8352,57.55963],[9.83749,57.64933],[10.17257,57.64628],[10.17542,57.73678],[10.51183,57.73303],[10.51521,57.82289],[10.68349,57.82077],[10.67516,57.6412],[10.5077,57.64331],[10.504,57.55351],[10.67104,57.55141],[10.65078,57.10245],[10.48577,57.10451],[10.47862,56.92491],[10.3144,56.92676],[10.31123,56.83693],[10.47503,56.83509],[10.4649,56.56567],[10.95242,56.55898],[10.94792,56.46922],[11.10993,56.46647],[11.10526,56.37683],[10.94299,56.37953],[10.93412,56.19948],[10.77197,56.20202],[10.76948,56.11201],[10.60797,56.11503],[10.44667,56.11672],[10.28659,56.11868],[10.28315,56.02819],[10.44393,56.02704],[10.44177,55.75792],[10.4335,55.66935],[10.74381,55.66469],[10.74381,55.57123],[10.8969,55.57123],[10.90518,55.39539],[11.06137,55.38128],[11.0593,55.11241],[11.04586,55.03186],[11.20308,55.02475],[11.20308,55.11714],[11.0593,55.11241],[11.06137,55.38128],[11.07896,55.57123],[10.8969,55.57123],[10.92587,55.66702],[10.74381,55.66469],[10.75623,55.75792],[10.44177,55.75792],[10.44393,56.02704],[10.44667,56.11672],[10.60797,56.11503],[10.60521,56.02475],[10.92587,56.02012],[10.91971,55.93094],[11.08028,55.92792],[11.08581,56.01783],[11.7265,56.00506],[11.732,56.09521],[12.05403,56.08713],[12.06085,56.17626],[12.70235,56.15944],[12.66111,55.71143],[12.97923,55.7014],[12.96129,55.52173],[12.32687,55.54121],[12.32061,55.45137],[12.47782,55.44707],[12.47024,55.35705],[12.62697,55.35238],[12.62009,55.26326],[12.46273,55.26722],[12.45529,55.17782],[12.2987,55.18223],[12.28973,55.09236],[12.60486,55.08329],[12.5872,54.90363],[12.27666,54.9119],[12.26102,54.73316],[12.10707,54.73782],[12.08586,54.46817],[11.7795,54.47536],[11.78374,54.56548],[11.16585,54.57822],[11.17064,54.66865],[10.86172,54.6734],[10.86512,54.76347],[10.77136,54.76439],[10.77073,54.73728],[10.75514,54.73758],[10.7544,54.71957],[10.73891,54.71976],[10.73844,54.71085],[10.70745,54.7113],[10.70411,54.67567],[10.5511,54.67817],[10.55472,54.76702],[10.2424,54.77059],[10.24598,54.86047],[10.09023,54.86221],[10.08737,54.77239],[9.15558,54.77696],[9.15628,54.86754],[8.5322,54.86638],[8.53143,54.95516],[8.37439,54.95517]],[[11.45777,56.81955],[11.78492,56.81274],[11.77167,56.63328],[11.44596,56.64011],[11.45777,56.81955]],[[11.32747,57.3613],[11.31618,57.1818],[11.15087,57.18473],[11.14566,57.09496],[10.81577,57.10017],[10.82906,57.36953],[11.32747,57.3613]],[[11.58433,56.27779],[11.57829,56.18804],[11.73923,56.18458],[11.74564,56.27432],[11.58433,56.27779]],[[14.68259,55.36394],[14.83952,55.35652],[14.82638,55.26713],[15.13934,55.25174],[15.1532,55.34108],[15.30992,55.33306],[15.29572,55.24374],[15.13934,55.25174],[15.12556,55.16238],[15.28158,55.15442],[15.25356,54.97576],[14.63175,55.00625],[14.68259,55.36394]]],terms_text:"Geodatastyrelsen og Danske Kommuner",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/dk/SDFESkrmkort.png"},{id:"Geodatastyrelsen_DTK_Kort25",name:"SDFE DTK Kort25",type:"wms",template:"https://kortforsyningen.kms.dk/topo25?FORMAT=image/png&VERSION=1.1.1&login=OpenStreetMapDK2015&password=Gall4Peters&SERVICE=WMS&REQUEST=GetMap&Layers=topo25_klassisk&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,19],polygon:[[[8.37439,54.95517],[8.36838,55.40421],[8.2104,55.40398],[8.20873,55.49373],[8.05027,55.49247],[8.01851,56.75014],[8.18192,56.75099],[8.17633,57.02089],[8.34133,57.02199],[8.33925,57.11196],[8.50544,57.11232],[8.50339,57.20205],[9.33163,57.20276],[9.33191,57.29248],[9.49789,57.29196],[9.49886,57.38206],[9.66497,57.38116],[9.66873,57.56056],[9.8352,57.55963],[9.83749,57.64933],[10.17257,57.64628],[10.17542,57.73678],[10.51183,57.73303],[10.51521,57.82289],[10.68349,57.82077],[10.67516,57.6412],[10.5077,57.64331],[10.504,57.55351],[10.67104,57.55141],[10.65078,57.10245],[10.48577,57.10451],[10.47862,56.92491],[10.3144,56.92676],[10.31123,56.83693],[10.47503,56.83509],[10.4649,56.56567],[10.95242,56.55898],[10.94792,56.46922],[11.10993,56.46647],[11.10526,56.37683],[10.94299,56.37953],[10.93412,56.19948],[10.77197,56.20202],[10.76948,56.11201],[10.60797,56.11503],[10.44667,56.11672],[10.28659,56.11868],[10.28315,56.02819],[10.44393,56.02704],[10.44177,55.75792],[10.4335,55.66935],[10.74381,55.66469],[10.74381,55.57123],[10.8969,55.57123],[10.90518,55.39539],[11.06137,55.38128],[11.0593,55.11241],[11.04586,55.03186],[11.20308,55.02475],[11.20308,55.11714],[11.0593,55.11241],[11.06137,55.38128],[11.07896,55.57123],[10.8969,55.57123],[10.92587,55.66702],[10.74381,55.66469],[10.75623,55.75792],[10.44177,55.75792],[10.44393,56.02704],[10.44667,56.11672],[10.60797,56.11503],[10.60521,56.02475],[10.92587,56.02012],[10.91971,55.93094],[11.08028,55.92792],[11.08581,56.01783],[11.7265,56.00506],[11.732,56.09521],[12.05403,56.08713],[12.06085,56.17626],[12.70235,56.15944],[12.66111,55.71143],[12.97923,55.7014],[12.96129,55.52173],[12.32687,55.54121],[12.32061,55.45137],[12.47782,55.44707],[12.47024,55.35705],[12.62697,55.35238],[12.62009,55.26326],[12.46273,55.26722],[12.45529,55.17782],[12.2987,55.18223],[12.28973,55.09236],[12.60486,55.08329],[12.5872,54.90363],[12.27666,54.9119],[12.26102,54.73316],[12.10707,54.73782],[12.08586,54.46817],[11.7795,54.47536],[11.78374,54.56548],[11.16585,54.57822],[11.17064,54.66865],[10.86172,54.6734],[10.86512,54.76347],[10.77136,54.76439],[10.77073,54.73728],[10.75514,54.73758],[10.7544,54.71957],[10.73891,54.71976],[10.73844,54.71085],[10.70745,54.7113],[10.70411,54.67567],[10.5511,54.67817],[10.55472,54.76702],[10.2424,54.77059],[10.24598,54.86047],[10.09023,54.86221],[10.08737,54.77239],[9.15558,54.77696],[9.15628,54.86754],[8.5322,54.86638],[8.53143,54.95516],[8.37439,54.95517]],[[11.45777,56.81955],[11.78492,56.81274],[11.77167,56.63328],[11.44596,56.64011],[11.45777,56.81955]],[[11.32747,57.3613],[11.31618,57.1818],[11.15087,57.18473],[11.14566,57.09496],[10.81577,57.10017],[10.82906,57.36953],[11.32747,57.3613]],[[11.58433,56.27779],[11.57829,56.18804],[11.73923,56.18458],[11.74564,56.27432],[11.58433,56.27779]],[[14.68259,55.36394],[14.83952,55.35652],[14.82638,55.26713],[15.13934,55.25174],[15.1532,55.34108],[15.30992,55.33306],[15.29572,55.24374],[15.13934,55.25174],[15.12556,55.16238],[15.28158,55.15442],[15.25356,54.97576],[14.63175,55.00625],[14.68259,55.36394]]],terms_text:"Geodatastyrelsen og Danske Kommuner",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/dk/SDFESkrmkort.png"},{id:"Geodatastyrelsen_Skaermkort",name:"SDFE Skærmkort",type:"wms",template:"https://kortforsyningen.kms.dk/topo_skaermkort?FORMAT=image/png&VERSION=1.1.1&login=OpenStreetMapDK2015&password=Gall4Peters&SERVICE=WMS&REQUEST=GetMap&Layers=dtk_skaermkort&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,19],polygon:[[[8.37439,54.95517],[8.36838,55.40421],[8.2104,55.40398],[8.20873,55.49373],[8.05027,55.49247],[8.01851,56.75014],[8.18192,56.75099],[8.17633,57.02089],[8.34133,57.02199],[8.33925,57.11196],[8.50544,57.11232],[8.50339,57.20205],[9.33163,57.20276],[9.33191,57.29248],[9.49789,57.29196],[9.49886,57.38206],[9.66497,57.38116],[9.66873,57.56056],[9.8352,57.55963],[9.83749,57.64933],[10.17257,57.64628],[10.17542,57.73678],[10.51183,57.73303],[10.51521,57.82289],[10.68349,57.82077],[10.67516,57.6412],[10.5077,57.64331],[10.504,57.55351],[10.67104,57.55141],[10.65078,57.10245],[10.48577,57.10451],[10.47862,56.92491],[10.3144,56.92676],[10.31123,56.83693],[10.47503,56.83509],[10.4649,56.56567],[10.95242,56.55898],[10.94792,56.46922],[11.10993,56.46647],[11.10526,56.37683],[10.94299,56.37953],[10.93412,56.19948],[10.77197,56.20202],[10.76948,56.11201],[10.60797,56.11503],[10.44667,56.11672],[10.28659,56.11868],[10.28315,56.02819],[10.44393,56.02704],[10.44177,55.75792],[10.4335,55.66935],[10.74381,55.66469],[10.74381,55.57123],[10.8969,55.57123],[10.90518,55.39539],[11.06137,55.38128],[11.0593,55.11241],[11.04586,55.03186],[11.20308,55.02475],[11.20308,55.11714],[11.0593,55.11241],[11.06137,55.38128],[11.07896,55.57123],[10.8969,55.57123],[10.92587,55.66702],[10.74381,55.66469],[10.75623,55.75792],[10.44177,55.75792],[10.44393,56.02704],[10.44667,56.11672],[10.60797,56.11503],[10.60521,56.02475],[10.92587,56.02012],[10.91971,55.93094],[11.08028,55.92792],[11.08581,56.01783],[11.7265,56.00506],[11.732,56.09521],[12.05403,56.08713],[12.06085,56.17626],[12.70235,56.15944],[12.66111,55.71143],[12.97923,55.7014],[12.96129,55.52173],[12.32687,55.54121],[12.32061,55.45137],[12.47782,55.44707],[12.47024,55.35705],[12.62697,55.35238],[12.62009,55.26326],[12.46273,55.26722],[12.45529,55.17782],[12.2987,55.18223],[12.28973,55.09236],[12.60486,55.08329],[12.5872,54.90363],[12.27666,54.9119],[12.26102,54.73316],[12.10707,54.73782],[12.08586,54.46817],[11.7795,54.47536],[11.78374,54.56548],[11.16585,54.57822],[11.17064,54.66865],[10.86172,54.6734],[10.86512,54.76347],[10.77136,54.76439],[10.77073,54.73728],[10.75514,54.73758],[10.7544,54.71957],[10.73891,54.71976],[10.73844,54.71085],[10.70745,54.7113],[10.70411,54.67567],[10.5511,54.67817],[10.55472,54.76702],[10.2424,54.77059],[10.24598,54.86047],[10.09023,54.86221],[10.08737,54.77239],[9.15558,54.77696],[9.15628,54.86754],[8.5322,54.86638],[8.53143,54.95516],[8.37439,54.95517]],[[11.45777,56.81955],[11.78492,56.81274],[11.77167,56.63328],[11.44596,56.64011],[11.45777,56.81955]],[[11.32747,57.3613],[11.31618,57.1818],[11.15087,57.18473],[11.14566,57.09496],[10.81577,57.10017],[10.82906,57.36953],[11.32747,57.3613]],[[11.58433,56.27779],[11.57829,56.18804],[11.73923,56.18458],[11.74564,56.27432],[11.58433,56.27779]],[[14.68259,55.36394],[14.83952,55.35652],[14.82638,55.26713],[15.13934,55.25174],[15.1532,55.34108],[15.30992,55.33306],[15.29572,55.24374],[15.13934,55.25174],[15.12556,55.16238],[15.28158,55.15442],[15.25356,54.97576],[14.63175,55.00625],[14.68259,55.36394]]],terms_text:"Geodatastyrelsen og Danske Kommuner",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/dk/SDFESkrmkort.png"},{id:"SDFE_Overflade_Skyggekort_40cm",name:"SDFE Surface Shadow Map (40 cm)",type:"wms",template:"https://kortforsyningen.kms.dk/dhm?login=OpenStreetMapDK2015&password=Gall4Peters&FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=dhm_overflade_skyggekort&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,20],polygon:[[[8.37439,54.95517],[8.36838,55.40421],[8.2104,55.40398],[8.20873,55.49373],[8.05027,55.49247],[8.01851,56.75014],[8.18192,56.75099],[8.17633,57.02089],[8.34133,57.02199],[8.33925,57.11196],[8.50544,57.11232],[8.50339,57.20205],[9.33163,57.20276],[9.33191,57.29248],[9.49789,57.29196],[9.49886,57.38206],[9.66497,57.38116],[9.66873,57.56056],[9.8352,57.55963],[9.83749,57.64933],[10.17257,57.64628],[10.17542,57.73678],[10.51183,57.73303],[10.51521,57.82289],[10.68349,57.82077],[10.67516,57.6412],[10.5077,57.64331],[10.504,57.55351],[10.67104,57.55141],[10.65078,57.10245],[10.48577,57.10451],[10.47862,56.92491],[10.3144,56.92676],[10.31123,56.83693],[10.47503,56.83509],[10.4649,56.56567],[10.95242,56.55898],[10.94792,56.46922],[11.10993,56.46647],[11.10526,56.37683],[10.94299,56.37953],[10.93412,56.19948],[10.77197,56.20202],[10.76948,56.11201],[10.60797,56.11503],[10.44667,56.11672],[10.28659,56.11868],[10.28315,56.02819],[10.44393,56.02704],[10.44177,55.75792],[10.4335,55.66935],[10.74381,55.66469],[10.74381,55.57123],[10.8969,55.57123],[10.90518,55.39539],[11.06137,55.38128],[11.0593,55.11241],[11.04586,55.03186],[11.20308,55.02475],[11.20308,55.11714],[11.0593,55.11241],[11.06137,55.38128],[11.07896,55.57123],[10.8969,55.57123],[10.92587,55.66702],[10.74381,55.66469],[10.75623,55.75792],[10.44177,55.75792],[10.44393,56.02704],[10.44667,56.11672],[10.60797,56.11503],[10.60521,56.02475],[10.92587,56.02012],[10.91971,55.93094],[11.08028,55.92792],[11.08581,56.01783],[11.7265,56.00506],[11.732,56.09521],[12.05403,56.08713],[12.06085,56.17626],[12.70235,56.15944],[12.66111,55.71143],[12.97923,55.7014],[12.96129,55.52173],[12.32687,55.54121],[12.32061,55.45137],[12.47782,55.44707],[12.47024,55.35705],[12.62697,55.35238],[12.62009,55.26326],[12.46273,55.26722],[12.45529,55.17782],[12.2987,55.18223],[12.28973,55.09236],[12.60486,55.08329],[12.5872,54.90363],[12.27666,54.9119],[12.26102,54.73316],[12.10707,54.73782],[12.08586,54.46817],[11.7795,54.47536],[11.78374,54.56548],[11.16585,54.57822],[11.17064,54.66865],[10.86172,54.6734],[10.86512,54.76347],[10.77136,54.76439],[10.77073,54.73728],[10.75514,54.73758],[10.7544,54.71957],[10.73891,54.71976],[10.73844,54.71085],[10.70745,54.7113],[10.70411,54.67567],[10.5511,54.67817],[10.55472,54.76702],[10.2424,54.77059],[10.24598,54.86047],[10.09023,54.86221],[10.08737,54.77239],[9.15558,54.77696],[9.15628,54.86754],[8.5322,54.86638],[8.53143,54.95516],[8.37439,54.95517]],[[11.45777,56.81955],[11.78492,56.81274],[11.77167,56.63328],[11.44596,56.64011],[11.45777,56.81955]],[[11.32747,57.3613],[11.31618,57.1818],[11.15087,57.18473],[11.14566,57.09496],[10.81577,57.10017],[10.82906,57.36953],[11.32747,57.3613]],[[11.58433,56.27779],[11.57829,56.18804],[11.73923,56.18458],[11.74564,56.27432],[11.58433,56.27779]],[[14.68259,55.36394],[14.83952,55.35652],[14.82638,55.26713],[15.13934,55.25174],[15.1532,55.34108],[15.30992,55.33306],[15.29572,55.24374],[15.13934,55.25174],[15.12556,55.16238],[15.28158,55.15442],[15.25356,54.97576],[14.63175,55.00625],[14.68259,55.36394]]],terms_text:"Geodatastyrelsen og Danske Kommuner",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/dk/SDFESkrmkort.png"},{id:"SDFE_Terraen_Skyggekort_40cm",name:"SDFE Terrain Shadow Map (40 cm)",type:"wms",template:"https://kortforsyningen.kms.dk/dhm?login=OpenStreetMapDK2015&password=Gall4Peters&FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=dhm_terraen_skyggekort&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,20],polygon:[[[8.37439,54.95517],[8.36838,55.40421],[8.2104,55.40398],[8.20873,55.49373],[8.05027,55.49247],[8.01851,56.75014],[8.18192,56.75099],[8.17633,57.02089],[8.34133,57.02199],[8.33925,57.11196],[8.50544,57.11232],[8.50339,57.20205],[9.33163,57.20276],[9.33191,57.29248],[9.49789,57.29196],[9.49886,57.38206],[9.66497,57.38116],[9.66873,57.56056],[9.8352,57.55963],[9.83749,57.64933],[10.17257,57.64628],[10.17542,57.73678],[10.51183,57.73303],[10.51521,57.82289],[10.68349,57.82077],[10.67516,57.6412],[10.5077,57.64331],[10.504,57.55351],[10.67104,57.55141],[10.65078,57.10245],[10.48577,57.10451],[10.47862,56.92491],[10.3144,56.92676],[10.31123,56.83693],[10.47503,56.83509],[10.4649,56.56567],[10.95242,56.55898],[10.94792,56.46922],[11.10993,56.46647],[11.10526,56.37683],[10.94299,56.37953],[10.93412,56.19948],[10.77197,56.20202],[10.76948,56.11201],[10.60797,56.11503],[10.44667,56.11672],[10.28659,56.11868],[10.28315,56.02819],[10.44393,56.02704],[10.44177,55.75792],[10.4335,55.66935],[10.74381,55.66469],[10.74381,55.57123],[10.8969,55.57123],[10.90518,55.39539],[11.06137,55.38128],[11.0593,55.11241],[11.04586,55.03186],[11.20308,55.02475],[11.20308,55.11714],[11.0593,55.11241],[11.06137,55.38128],[11.07896,55.57123],[10.8969,55.57123],[10.92587,55.66702],[10.74381,55.66469],[10.75623,55.75792],[10.44177,55.75792],[10.44393,56.02704],[10.44667,56.11672],[10.60797,56.11503],[10.60521,56.02475],[10.92587,56.02012],[10.91971,55.93094],[11.08028,55.92792],[11.08581,56.01783],[11.7265,56.00506],[11.732,56.09521],[12.05403,56.08713],[12.06085,56.17626],[12.70235,56.15944],[12.66111,55.71143],[12.97923,55.7014],[12.96129,55.52173],[12.32687,55.54121],[12.32061,55.45137],[12.47782,55.44707],[12.47024,55.35705],[12.62697,55.35238],[12.62009,55.26326],[12.46273,55.26722],[12.45529,55.17782],[12.2987,55.18223],[12.28973,55.09236],[12.60486,55.08329],[12.5872,54.90363],[12.27666,54.9119],[12.26102,54.73316],[12.10707,54.73782],[12.08586,54.46817],[11.7795,54.47536],[11.78374,54.56548],[11.16585,54.57822],[11.17064,54.66865],[10.86172,54.6734],[10.86512,54.76347],[10.77136,54.76439],[10.77073,54.73728],[10.75514,54.73758],[10.7544,54.71957],[10.73891,54.71976],[10.73844,54.71085],[10.70745,54.7113],[10.70411,54.67567],[10.5511,54.67817],[10.55472,54.76702],[10.2424,54.77059],[10.24598,54.86047],[10.09023,54.86221],[10.08737,54.77239],[9.15558,54.77696],[9.15628,54.86754],[8.5322,54.86638],[8.53143,54.95516],[8.37439,54.95517]],[[11.45777,56.81955],[11.78492,56.81274],[11.77167,56.63328],[11.44596,56.64011],[11.45777,56.81955]],[[11.32747,57.3613],[11.31618,57.1818],[11.15087,57.18473],[11.14566,57.09496],[10.81577,57.10017],[10.82906,57.36953],[11.32747,57.3613]],[[11.58433,56.27779],[11.57829,56.18804],[11.73923,56.18458],[11.74564,56.27432],[11.58433,56.27779]],[[14.68259,55.36394],[14.83952,55.35652],[14.82638,55.26713],[15.13934,55.25174],[15.1532,55.34108],[15.30992,55.33306],[15.29572,55.24374],[15.13934,55.25174],[15.12556,55.16238],[15.28158,55.15442],[15.25356,54.97576],[14.63175,55.00625],[14.68259,55.36394]]],terms_text:"Geodatastyrelsen og Danske Kommuner",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/dk/SDFESkrmkort.png"},{id:"Sicily-ATA2007",name:"Sicily - Italy",type:"wms",template:"http://map.sitr.regione.sicilia.it/ArcGIS/services/WGS84_F33/Ortofoto_ATA20072008_f33/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=0&STYLES=default&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[15.71165,38.25894],[15.23718,38.81938],[14.27124,38.55246],[13.15063,38.75408],[11.96411,37.97451],[12.52441,37.54022],[11.87897,36.79609],[12.49695,35.47409],[12.68921,35.46962],[14.57336,36.66401],[15.29709,36.62875],[15.39854,37.42171],[15.71165,38.25894]]]},{id:"Siemianowice_Slaskie-buildings",name:"Siemianowice Śląskie: Buildings",type:"wms",template:"https://siemianowice.geoportal2.pl/map/wms/wms.php?FORMAT=image/png&transparent=true&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=budynki,drogi,adresy,ulice&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,19],polygon:[[[19.03103,50.33933],[19.0316,50.35413],[19.0656,50.35373],[19.06529,50.34219],[19.06118,50.33749],[19.06069,50.31967],[19.05603,50.31975],[19.05562,50.30155],[19.06432,50.3015],[19.06366,50.27175],[19.04379,50.27179],[19.04375,50.27478],[19.0213,50.27505],[19.02156,50.28398],[19.01027,50.28856],[18.98791,50.28871],[18.98822,50.3022],[18.98143,50.30226],[18.98213,50.33977],[19.03103,50.33933]]],terms_text:"Urząd Miasta Siemianowice Śląskie"},{id:"Siemianowice_Slaskie-aerial_image",name:"Siemianowice Śląskie: Orthophotomap (aerial image)",type:"wms",template:"https://siemianowice.geoportal2.pl/map/wms/wms.php?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortofotomapa&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",zoomExtent:[0,23],polygon:[[[19.03103,50.33933],[19.0316,50.35413],[19.0656,50.35373],[19.06529,50.34219],[19.06118,50.33749],[19.06069,50.31967],[19.05603,50.31975],[19.05562,50.30155],[19.06432,50.3015],[19.06366,50.27175],[19.04379,50.27179],[19.04375,50.27478],[19.0213,50.27505],[19.02156,50.28398],[19.01027,50.28856],[18.98791,50.28871],[18.98822,50.3022],[18.98143,50.30226],[18.98213,50.33977],[19.03103,50.33933]]],terms_text:"Urząd Miasta Siemianowice Śląskie"},{id:"sc2012",name:"SIG Santa Catarina OrtoRGB 2012",type:"wms",template:"http://sigsc.sc.gov.br/sigserver/SIGSC/wms?SERVICE=WMS&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=OrtoRGB-Landsat-2012&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",polygon:[[[-48.62488,-26.91624],[-48.62416,-26.83409],[-48.56163,-26.83412],[-48.56165,-26.74919],[-48.62675,-26.74918],[-48.62715,-26.73276],[-48.64126,-26.733],[-48.64174,-26.70912],[-48.62414,-26.70913],[-48.62418,-26.50079],[-48.57099,-26.50077],[-48.57155,-26.47415],[-48.55418,-26.47381],[-48.5545,-26.45736],[-48.56155,-26.45747],[-48.56161,-26.41746],[-48.4991,-26.41747],[-48.49909,-26.25081],[-48.43664,-26.25079],[-48.43661,-26.20752],[-48.4601,-26.20751],[-48.46195,-26.1242],[-48.56161,-26.12419],[-48.56163,-25.95753],[-48.62411,-25.95753],[-48.62411,-25.94507],[-48.68838,-25.94607],[-48.6884,-25.95752],[-49.25089,-25.95752],[-49.2509,-25.9992],[-49.31339,-25.9992],[-49.31338,-26.0825],[-49.37591,-26.0825],[-49.37591,-26.12419],[-49.50093,-26.12418],[-49.50092,-26.16586],[-49.68661,-26.16585],[-49.68661,-26.12417],[-49.74907,-26.08246],[-49.74908,-26.04084],[-49.8116,-26.04085],[-49.81159,-25.99918],[-49.93657,-25.99915],[-49.93661,-25.98244],[-50.00091,-25.98288],[-50.00094,-25.99915],[-50.31338,-25.99916],[-50.31342,-26.04083],[-50.37411,-26.04084],[-50.3741,-25.9992],[-50.49914,-25.99918],[-50.49911,-25.98414],[-50.62593,-25.98452],[-50.62595,-26.04084],[-50.6884,-26.04161],[-50.68845,-26.12416],[-50.75094,-26.12414],[-50.75095,-26.20752],[-51.12595,-26.20747],[-51.12595,-26.24913],[-51.18848,-26.24918],[-51.31344,-26.33245],[-51.31347,-26.62414],[-51.4366,-26.62415],[-51.43659,-26.56476],[-51.62409,-26.5641],[-51.62411,-26.5408],[-51.99907,-26.5408],[-52.06158,-26.49911],[-52.06158,-26.45747],[-52.12408,-26.45749],[-52.12406,-26.41579],[-52.37407,-26.4158],[-52.37409,-26.39133],[-52.56156,-26.3894],[-52.56158,-26.37415],[-52.62408,-26.37417],[-52.62409,-26.33247],[-53.12408,-26.33247],[-53.1241,-26.31707],[-53.1618,-26.3165],[-53.16136,-26.29082],[-53.18656,-26.29083],[-53.24907,-26.24911],[-53.24906,-26.23919],[-53.31159,-26.23824],[-53.3741,-26.22882],[-53.43845,-26.22777],[-53.43843,-26.24914],[-53.5616,-26.24916],[-53.56159,-26.23983],[-53.65501,-26.23814],[-53.65623,-26.29263],[-53.67011,-26.31684],[-53.68846,-26.33242],[-53.70322,-26.3741],[-53.70929,-26.38449],[-53.7098,-26.39568],[-53.70619,-26.40722],[-53.70721,-26.45927],[-53.71438,-26.46168],[-53.71476,-26.48118],[-53.73047,-26.49913],[-53.73146,-26.54081],[-53.75096,-26.5408],[-53.75095,-26.62417],[-53.7602,-26.62414],[-53.76125,-26.6675],[-53.75098,-26.66751],[-53.75096,-26.74298],[-53.72737,-26.7434],[-53.72133,-26.74905],[-53.72141,-26.75093],[-53.74571,-26.75943],[-53.74612,-26.77704],[-53.71948,-26.77755],[-53.72084,-26.83416],[-53.70047,-26.83414],[-53.70277,-26.93108],[-53.71168,-26.93091],[-53.71224,-26.95557],[-53.751,-26.95479],[-53.75092,-26.99915],[-53.76467,-26.99915],[-53.8037,-27.03751],[-53.80454,-27.07258],[-53.80809,-27.07249],[-53.80862,-27.09613],[-53.8269,-27.09577],[-53.82762,-27.12414],[-53.84644,-27.12413],[-53.84765,-27.17014],[-53.83506,-27.18932],[-53.83536,-27.20054],[-53.68847,-27.20284],[-53.68849,-27.22789],[-53.43654,-27.23246],[-53.43655,-27.16751],[-53.37598,-27.16751],[-53.37601,-27.23352],[-53.24905,-27.23564],[-53.24905,-27.20922],[-53.06344,-27.20918],[-53.06345,-27.2334],[-52.81348,-27.23685],[-52.81346,-27.27653],[-52.75096,-27.27732],[-52.75096,-27.29249],[-52.4385,-27.29252],[-52.43848,-27.32689],[-52.37603,-27.32753],[-52.37599,-27.3342],[-52.25098,-27.33418],[-52.25099,-27.34669],[-52.18655,-27.34728],[-52.18657,-27.33419],[-52.12598,-27.3342],[-52.12599,-27.36413],[-52.02979,-27.36489],[-52.03036,-27.42442],[-51.97534,-27.42479],[-51.97603,-27.50088],[-51.93845,-27.50085],[-51.93845,-27.54252],[-51.68846,-27.54247],[-51.68847,-27.55742],[-51.59903,-27.5579],[-51.59923,-27.59481],[-51.56351,-27.59498],[-51.56348,-27.62586],[-51.50088,-27.62586],[-51.50095,-27.66754],[-51.43937,-27.6675],[-51.43954,-27.70932],[-51.37597,-27.7095],[-51.37601,-27.75089],[-51.31349,-27.7509],[-51.31346,-27.79253],[-51.18847,-27.79251],[-51.18848,-27.87586],[-51.12598,-27.87586],[-51.12597,-27.91752],[-51.06348,-27.9175],[-51.06347,-27.95919],[-51.00095,-28.00086],[-50.9385,-28.00086],[-50.93849,-28.16755],[-50.81346,-28.16752],[-50.81345,-28.29253],[-50.75096,-28.29251],[-50.68845,-28.33418],[-50.68849,-28.41754],[-50.626,-28.41752],[-50.56352,-28.44094],[-50.43848,-28.44051],[-50.43847,-28.45917],[-50.37597,-28.45921],[-50.37598,-28.47554],[-50.18844,-28.47454],[-50.18849,-28.51143],[-50.12398,-28.51104],[-50.12402,-28.50086],[-49.87597,-28.50085],[-49.87601,-28.5142],[-49.81347,-28.51369],[-49.81347,-28.58255],[-49.83003,-28.58251],[-49.82951,-28.62597],[-49.8759,-28.66572],[-50.001,-28.74915],[-50.001,-29.04083],[-50.03319,-29.04081],[-50.03219,-29.14711],[-50.12602,-29.14774],[-50.12598,-29.16579],[-50.13613,-29.16581],[-50.1885,-29.19623],[-50.1885,-29.31905],[-50.1422,-29.31873],[-50.14208,-29.33422],[-50.126,-29.33418],[-50.12599,-29.36238],[-49.99906,-29.36153],[-49.99904,-29.24031],[-49.93848,-29.23986],[-49.93851,-29.25087],[-49.87601,-29.25087],[-49.876,-29.30098],[-49.82262,-29.30052],[-49.82227,-29.33419],[-49.81347,-29.33422],[-49.81354,-29.3411],[-49.68654,-29.33991],[-49.68651,-29.29255],[-49.62399,-29.29252],[-49.62398,-29.25085],[-49.56149,-29.25083],[-49.56145,-29.16749],[-49.49901,-29.16746],[-49.49902,-29.08419],[-49.4365,-29.08418],[-49.43651,-29.04251],[-49.37405,-29.04248],[-49.37402,-28.9592],[-49.31153,-28.95917],[-49.31152,-28.91749],[-49.24898,-28.9175],[-49.24897,-28.87582],[-49.18655,-28.87585],[-49.18653,-28.83414],[-49.12402,-28.83418],[-49.12401,-28.7925],[-49.06149,-28.79247],[-49.06146,-28.75084],[-48.99903,-28.75085],[-48.99903,-28.70919],[-48.93658,-28.70918],[-48.93658,-28.66752],[-48.87405,-28.66751],[-48.87404,-28.62585],[-48.74912,-28.62585],[-48.74912,-28.54254],[-48.68656,-28.54253],[-48.68658,-28.33417],[-48.62408,-28.33416],[-48.62406,-28.08418],[-48.5616,-28.08418],[-48.56159,-27.95919],[-48.49905,-27.95916],[-48.49904,-27.91581],[-48.56157,-27.9158],[-48.5616,-27.87584],[-48.49902,-27.87586],[-48.49902,-27.83422],[-48.43657,-27.83418],[-48.43661,-27.62583],[-48.37406,-27.62585],[-48.37405,-27.50086],[-48.31157,-27.50086],[-48.31153,-27.24913],[-48.43657,-27.24913],[-48.43654,-27.20916],[-48.37402,-27.2092],[-48.37405,-27.1658],[-48.43656,-27.1658],[-48.43656,-27.12415],[-48.49906,-27.12413],[-48.49907,-27.08667],[-48.50022,-27.08666],[-48.50031,-27.08247],[-48.5616,-27.08248],[-48.56159,-27.04252],[-48.49906,-27.04252],[-48.49906,-26.99913],[-48.56156,-26.99913],[-48.56157,-26.91579],[-48.62488,-26.91624]]],terms_url:"http://sigsc.sds.sc.gov.br/download/termo_sigsc.pdf",terms_text:"Sistema de Informações Geográficas - Governo de Santa Catarina"},{id:"SIGIP-2012",name:"SIGIP - Orthophoto 2012",type:"tms",template:"http://osmdata.asitvd.ch/tiles/sigip2012/{zoom}/{x}/{y}.png",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",zoomExtent:[14,20],polygon:[[[6.71057,46.54396],[6.72968,46.54408],[6.72995,46.52605],[6.71085,46.52596],[6.71113,46.50796],[6.6922,46.50788],[6.6923,46.49883],[6.63531,46.49847],[6.63488,46.52547],[6.65381,46.52558],[6.65361,46.54358],[6.69163,46.54384],[6.69155,46.55284],[6.71047,46.55293],[6.71057,46.54396]]],terms_url:"https://www.sigip.ch/",terms_text:"SIGIP"},{id:"Slovakia-Historic-Maps",name:"Slovakia Historic Maps",type:"tms",template:"http://tms.freemap.sk/historicke/{zoom}/{x}/{y}.png",zoomExtent:[0,12],polygon:[[[16.81969,47.49272],[16.81969,49.50303],[22.83883,49.50303],[22.83883,47.49272],[16.81969,47.49272]]],icon:"https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png"},{id:"skoterleder",name:"Snowmobile map Sweden",type:"tms",template:"https://tiles.skoterleder.org/tiles/{zoom}/{x}/{y}.png",zoomExtent:[5,14],polygon:[[[12.80182,55.19612],[14.22729,55.27286],[18.44604,56.69244],[19.74242,57.98481],[20.0061,59.5371],[19.08394,60.19308],[20.49499,63.2497],[23.87328,65.21069],[30.14647,65.19226],[30.19042,67.62596],[29.43236,69.62651],[27.93822,70.14037],[20.73119,69.2756],[18.08349,68.5644],[16.50145,67.88382],[14.43602,66.14275],[11.82128,63.30775],[12.20031,60.31063],[10.62377,58.5482],[12.64251,56.03062],[12.80182,55.19612]]],terms_url:"https://skoterleder.org/",terms_text:"© Skoterleder.org",description:"Snowmobile trails",icon:"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8f/Sweden_road_sign_D9.svg/200px-Sweden_road_sign_D9.svg.png"},{id:"Soskut_Pusztazamor_Tarnok_Diosd_orto_2017",name:"Sóskút, Pusztazámor, Tárnok, Diósd ortophoto 2017",type:"tms",template:"http://adam.openstreetmap.hu/mapproxy/tiles/1.0.0/Soskut-Tarnok-Pusztazamor-Diosd/mercator/{zoom}/{x}/{y}.png",endDate:"2017-03-01T00:00:00.000Z",startDate:"2017-03-01T00:00:00.000Z",zoomExtent:[11,20],polygon:[[[18.79273,47.37079],[18.79194,47.37048],[18.79139,47.37063],[18.79011,47.37176],[18.78916,47.37345],[18.78722,47.37566],[18.78603,47.37765],[18.78498,47.37905],[18.7837,47.38032],[18.78267,47.38195],[18.7814,47.38368],[18.77934,47.38713],[18.77666,47.3894],[18.76472,47.3967],[18.7617,47.39966],[18.75631,47.40328],[18.75837,47.40653],[18.7588,47.40776],[18.762,47.41217],[18.76304,47.41315],[18.76593,47.41471],[18.77041,47.41766],[18.77247,47.41809],[18.77248,47.4203],[18.8086,47.44041],[18.81742,47.43539],[18.82092,47.43572],[18.82804,47.43755],[18.83021,47.43526],[18.83585,47.43754],[18.84049,47.43346],[18.84765,47.43572],[18.851,47.43281],[18.869,47.43961],[18.87361,47.43597],[18.87499,47.43342],[18.87386,47.43248],[18.87604,47.42797],[18.8605,47.423],[18.86621,47.41798],[18.87243,47.41086],[18.8663,47.40773],[18.86964,47.40471],[18.86777,47.40207],[18.86509,47.40052],[18.87081,47.39838],[18.86772,47.39699],[18.86992,47.39655],[18.87649,47.39478],[18.87749,47.39495],[18.87867,47.39462],[18.88358,47.38996],[18.88291,47.38967],[18.88539,47.3853],[18.87748,47.38339],[18.88181,47.37605],[18.87914,47.37393],[18.88638,47.36923],[18.88206,47.36773],[18.87973,47.36641],[18.8747,47.36252],[18.87282,47.36137],[18.87028,47.36063],[18.86688,47.35853],[18.86234,47.35637],[18.85567,47.35199],[18.84874,47.34728],[18.83192,47.33841],[18.82497,47.34258],[18.8162,47.34925],[18.81079,47.35357],[18.80823,47.356],[18.80645,47.35854],[18.80708,47.35902],[18.80635,47.36021],[18.80465,47.36175],[18.80381,47.36335],[18.80055,47.36545],[18.79988,47.36617],[18.79416,47.36975],[18.79273,47.37079]],[[18.91871,47.40938],[18.91826,47.40998],[18.92067,47.41156],[18.9251,47.41372],[18.93473,47.41917],[18.94063,47.42241],[18.94982,47.41938],[18.95155,47.4175],[18.9569,47.41923],[18.9577,47.41878],[18.95755,47.41435],[18.96211,47.40507],[18.96266,47.40118],[18.96316,47.39903],[18.95446,47.39673],[18.95276,47.39526],[18.95202,47.39362],[18.95119,47.39356],[18.94692,47.39799],[18.94411,47.39845],[18.94161,47.39869],[18.93735,47.39633],[18.93617,47.39683],[18.93122,47.4],[18.9312,47.40023],[18.92924,47.40205],[18.92561,47.40605],[18.92466,47.40635],[18.92293,47.40926],[18.91871,47.40938]]],terms_url:"http://fototerkep.hu",terms_text:"Fototerkep.hu",best:true,description:"5 cm resolution bald image of 4 settlement"},{id:"South_Africa-CD_NGI-Aerial",name:"South Africa CD:NGI Aerial",type:"tms",template:"http://{switch:a,b,c}.aerial.openstreetmap.org.za/ngi-aerial/{zoom}/{x}/{y}.jpg",zoomExtent:[1,22],polygon:[[[17.83968,-32.79834],[17.88935,-32.69728],[18.00364,-32.69822],[18.09917,-32.74853],[18.28987,-32.55266],[18.29302,-32.04871],[18.10545,-31.6455],[17.85293,-31.3444],[17.548,-30.90217],[17.40445,-30.63747],[17.24937,-30.39917],[16.9937,-29.65436],[16.7988,-29.19437],[16.54941,-28.84159],[16.44987,-28.69188],[16.4491,-28.55158],[16.60026,-28.48257],[16.75141,-28.4487],[16.74622,-28.2459],[16.88551,-28.04729],[16.99295,-28.0244],[17.05297,-28.02571],[17.10076,-28.03388],[17.20115,-28.09305],[17.20263,-28.23284],[17.24746,-28.23382],[17.2508,-28.19889],[17.35119,-28.19759],[17.35156,-28.24427],[17.40158,-28.24524],[17.41491,-28.34898],[17.40083,-28.548],[17.4527,-28.54897],[17.45121,-28.64951],[17.49836,-28.68721],[17.60282,-28.683],[17.64997,-28.69679],[17.65259,-28.73815],[17.80139,-28.73815],[17.99943,-28.75606],[18.00027,-28.79562],[18.15745,-28.87181],[18.50638,-28.87181],[18.61536,-28.82959],[18.90875,-28.82775],[19.1047,-28.94885],[19.19691,-28.93785],[19.24301,-28.85162],[19.23149,-28.80296],[19.25873,-28.70099],[19.44315,-28.69732],[19.55003,-28.49583],[19.69673,-28.49399],[19.69882,-28.44794],[19.85076,-28.44333],[19.84971,-28.40278],[19.99536,-28.39909],[19.98937,-24.74979],[20.29167,-24.91923],[20.47246,-25.15017],[20.65324,-25.45294],[20.73326,-25.6802],[20.8281,-25.89635],[20.84292,-26.21585],[20.65028,-26.48409],[20.65324,-26.82049],[21.08891,-26.84693],[21.67277,-26.839],[21.7765,-26.66963],[21.97211,-26.64314],[22.28034,-26.32747],[22.57078,-26.1334],[22.77528,-25.67752],[23.00052,-25.27619],[23.46583,-25.27351],[23.88372,-25.59737],[24.2364,-25.6134],[24.60391,-25.78966],[25.1107,-25.73894],[25.50784,-25.68554],[25.64418,-25.48238],[25.84193,-24.78054],[25.84664,-24.75385],[26.39285,-24.63329],[26.47391,-24.56533],[26.509,-24.48424],[26.58619,-24.40758],[26.73006,-24.30145],[26.85674,-24.24995],[26.85744,-24.10269],[26.92155,-23.8991],[26.93183,-23.84619],[26.97148,-23.69943],[27.00061,-23.63676],[27.0578,-23.60526],[27.13605,-23.52034],[27.33396,-23.39738],[27.51441,-23.35939],[27.59581,-23.20855],[27.80986,-23.0995],[27.88285,-23.06205],[27.93829,-22.94965],[28.04076,-22.82551],[28.20568,-22.65529],[28.33972,-22.56394],[28.49061,-22.5607],[28.61088,-22.54002],[28.82818,-22.45502],[28.92853,-22.42323],[28.95941,-22.30901],[29.01626,-22.20834],[29.23241,-22.16935],[29.35312,-22.18429],[29.6549,-22.11864],[29.77771,-22.1362],[29.9293,-22.18494],[30.11668,-22.28303],[30.25634,-22.29148],[30.30336,-22.33952],[30.50618,-22.30576],[30.83743,-22.28498],[31.00586,-22.30771],[31.18342,-22.32329],[31.29306,-22.36746],[31.56806,-23.19034],[31.55683,-23.44308],[31.69311,-23.61752],[31.71197,-23.74114],[31.77747,-23.88006],[31.88863,-23.94811],[31.91444,-24.17467],[31.99483,-24.30409],[32.01667,-24.4406],[32.00773,-24.65366],[32.01964,-24.91407],[32.03552,-25.08498],[32.01964,-25.38214],[31.99285,-25.44938],[31.99979,-25.51657],[32.00575,-25.6079],[32.00575,-25.66248],[31.93627,-25.84037],[31.98094,-25.95465],[31.86878,-26.00373],[31.41621,-25.72777],[31.32291,-25.74386],[31.25046,-25.82965],[31.1393,-25.91627],[31.11647,-25.99124],[30.96561,-26.26658],[30.89217,-26.32797],[30.85346,-26.40356],[30.82269,-26.44888],[30.80226,-26.52407],[30.80384,-26.80821],[30.90209,-26.78075],[30.91003,-26.84895],[30.98249,-26.90826],[30.97653,-27.00292],[31.00344,-27.04416],[31.15433,-27.19804],[31.50156,-27.31112],[31.97002,-27.31112],[31.97002,-27.12047],[31.97697,-27.05066],[32.00025,-26.79839],[32.10698,-26.79846],[32.31145,-26.84795],[32.89999,-26.85161],[32.88609,-26.9817],[32.70943,-27.47854],[32.62407,-27.77751],[32.5814,-28.07479],[32.53872,-28.2288],[32.42756,-28.50216],[32.36404,-28.59457],[32.07026,-28.84698],[31.98788,-28.90695],[31.77648,-28.96949],[31.46385,-29.28593],[31.35963,-29.38543],[31.16808,-29.63074],[31.06486,-29.78935],[31.05345,-29.84705],[31.06699,-29.86403],[31.04555,-29.9502],[30.95186,-30.00339],[30.86518,-30.10241],[30.72447,-30.3925],[30.35563,-30.93089],[30.09724,-31.24583],[29.86731,-31.43043],[29.74094,-31.50147],[29.48131,-31.69787],[28.89432,-32.28989],[28.54971,-32.58946],[28.14365,-32.83207],[28.07487,-32.94169],[27.84509,-33.08287],[27.3758,-33.38607],[26.88054,-33.6459],[26.59169,-33.74808],[26.45273,-33.79358],[26.20675,-33.75489],[26.00779,-33.7224],[25.80555,-33.75243],[25.75111,-33.80065],[25.65291,-33.85436],[25.65291,-33.94698],[25.71958,-34.00401],[25.72028,-34.05112],[25.55089,-34.06315],[25.35046,-34.05026],[25.28106,-34.00203],[25.04763,-33.99946],[24.95472,-34.00436],[24.94966,-34.10104],[24.87704,-34.15065],[24.87629,-34.20053],[24.85326,-34.21896],[24.76453,-34.20179],[24.50014,-34.20033],[24.34867,-34.11638],[24.19888,-34.1019],[23.99634,-34.05144],[23.80175,-34.05243],[23.74936,-34.01119],[23.49735,-34.00901],[23.41552,-34.04346],[23.41543,-34.11404],[22.90009,-34.0993],[22.84124,-34.05479],[22.64703,-34.05026],[22.64598,-34.00728],[22.57002,-34.00641],[22.50505,-34.06459],[22.252,-34.06459],[22.22213,-34.10147],[22.16212,-34.1057],[22.17124,-34.15218],[22.15769,-34.21809],[22.00156,-34.21722],[21.9497,-34.322],[21.86115,-34.40071],[21.56147,-34.40201],[21.5468,-34.36612],[21.50174,-34.36699],[21.5007,-34.40201],[21.41949,-34.44652],[21.19787,-34.44782],[21.09882,-34.39913],[21.00337,-34.37539],[20.89319,-34.39971],[20.89766,-34.4854],[20.74468,-34.48281],[20.5042,-34.48626],[20.25272,-34.70148],[20.08035,-34.83619],[19.99233,-34.83791],[19.89907,-34.82758],[19.89383,-34.7936],[19.5973,-34.79618],[19.39297,-34.64202],[19.28771,-34.64048],[19.28614,-34.59866],[19.34744,-34.52445],[19.32853,-34.45344],[19.098,-34.44998],[19.07256,-34.38024],[19.00235,-34.35256],[18.95206,-34.39494],[18.7975,-34.39364],[18.79842,-34.10164],[18.50175,-34.10153],[18.49995,-34.36169],[18.44773,-34.362],[18.44799,-34.35227],[18.39744,-34.3514],[18.39717,-34.3023],[18.35657,-34.30056],[18.34793,-34.20204],[18.29721,-34.19503],[18.29511,-33.99371],[18.33745,-33.99141],[18.34766,-33.84924],[18.34793,-33.78155],[18.41247,-33.74488],[18.36155,-33.65016],[18.2992,-33.58559],[18.21668,-33.44887],[18.13899,-33.39741],[17.94735,-33.16026],[17.88552,-33.05757],[17.84859,-32.96685],[17.83968,-32.85073],[17.83968,-32.79834]]],best:true},{id:"South-Tyrol-Orthofoto2011",name:"South Tyrol Orthofoto 2011",type:"tms",template:"https://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_OF_2011_EPSG3857&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",zoomExtent:[0,18],polygon:[[[10.38615,46.68821],[10.39201,46.69016],[10.40215,46.70624],[10.41274,46.70821],[10.41622,46.71479],[10.4168,46.71847],[10.39934,46.73435],[10.43464,46.75356],[10.44107,46.75413],[10.44011,46.77149],[10.42123,46.78861],[10.42845,46.79755],[10.43851,46.79869],[10.44925,46.80462],[10.45602,46.81635],[10.45438,46.82221],[10.4583,46.82478],[10.45513,46.83059],[10.45906,46.83548],[10.46483,46.83624],[10.46229,46.8413],[10.46987,46.84933],[10.46819,46.8553],[10.47838,46.86013],[10.48372,46.85543],[10.49628,46.85305],[10.49931,46.84857],[10.52124,46.84653],[10.5527,46.8511],[10.55795,46.84695],[10.55264,46.8408],[10.55536,46.84087],[10.58883,46.85125],[10.59502,46.85829],[10.60936,46.8597],[10.62441,46.86558],[10.64858,46.86655],[10.66787,46.87651],[10.67297,46.87138],[10.69112,46.86861],[10.69786,46.86339],[10.69508,46.85308],[10.70594,46.84786],[10.71763,46.84795],[10.72333,46.83892],[10.75621,46.83383],[10.76481,46.82409],[10.76387,46.81971],[10.75239,46.81387],[10.74506,46.80223],[10.7276,46.79709],[10.73122,46.78925],[10.75722,46.78624],[10.77744,46.79149],[10.78678,46.79735],[10.81439,46.77662],[10.82479,46.77472],[10.83129,46.78138],[10.84112,46.78282],[10.85354,46.77506],[10.86845,46.77313],[10.86993,46.7669],[10.88294,46.76393],[10.88962,46.76529],[10.8951,46.77092],[10.90527,46.76911],[10.92299,46.7764],[10.92821,46.77408],[10.94388,46.77648],[10.97522,46.77361],[10.97932,46.77014],[10.99475,46.76804],[11.01397,46.77317],[11.02328,46.76715],[11.0346,46.79428],[11.04234,46.801],[11.03792,46.80562],[11.05633,46.80928],[11.07279,46.82092],[11.08171,46.82252],[11.0762,46.83384],[11.06887,46.83793],[11.07303,46.84345],[11.06988,46.85348],[11.08742,46.87927],[11.09961,46.88922],[11.09538,46.89178],[11.09795,46.89844],[11.0946,46.91247],[11.10792,46.91706],[11.10804,46.92632],[11.11418,46.93234],[11.13851,46.92865],[11.16322,46.94091],[11.16642,46.94479],[11.16114,46.94979],[11.1637,46.96677],[11.17598,46.96367],[11.18658,46.97062],[11.19527,46.97152],[11.20418,46.96877],[11.20688,46.96403],[11.22047,46.97025],[11.24139,46.9708],[11.24865,46.97517],[11.25582,46.97535],[11.26272,46.98169],[11.27662,46.98168],[11.28762,46.98699],[11.30709,46.98525],[11.3205,46.99345],[11.33765,46.98606],[11.34516,46.99169],[11.35932,46.99154],[11.37697,46.98025],[11.38324,46.97168],[11.40465,46.96609],[11.43929,46.97601],[11.45134,46.99294],[11.46803,46.99582],[11.46859,47.003],[11.47831,47.01201],[11.50238,47.01073],[11.50313,47.00808],[11.51366,47.00595],[11.51679,47.00091],[11.53381,46.99233],[11.53846,46.98519],[11.55297,46.99149],[11.57663,46.99657],[11.58,47.00277],[11.58879,47.00641],[11.59901,47.00657],[11.60944,47.01207],[11.62697,47.01437],[11.63629,47.00383],[11.66542,46.99304],[11.6885,46.99658],[11.71226,46.99416],[11.72897,46.97322],[11.74698,46.97013],[11.76411,46.97412],[11.78106,46.99342],[11.81526,46.991],[11.83564,46.99417],[11.84396,47.0025],[11.85192,47.0014],[11.86722,47.01252],[11.87393,47.01136],[11.8794,47.01714],[11.89137,47.01728],[11.91627,47.03422],[11.9329,47.03864],[11.94688,47.03464],[11.95457,47.04374],[11.96773,47.04158],[11.97912,47.0511],[11.98587,47.04815],[11.99534,47.05064],[12.02037,47.04821],[12.02968,47.05127],[12.03353,47.0583],[12.04276,47.06228],[12.07543,47.0605],[12.08035,47.06951],[12.09308,47.07791],[12.10329,47.07931],[12.11867,47.07445],[12.13561,47.08171],[12.15125,47.08049],[12.15997,47.08267],[12.18589,47.09322],[12.2278,47.08302],[12.24228,47.06892],[12.23786,47.0644],[12.21821,47.05795],[12.2182,47.04483],[12.20552,47.02595],[12.18048,47.02414],[12.16423,47.01782],[12.14786,47.02357],[12.12723,47.01218],[12.12285,47.00662],[12.1322,46.99339],[12.12974,46.98593],[12.13977,46.982],[12.13808,46.96514],[12.13328,46.96292],[12.13882,46.95764],[12.15927,46.95133],[12.1702,46.93758],[12.15414,46.91654],[12.14675,46.91413],[12.16205,46.908],[12.16959,46.91121],[12.19154,46.90682],[12.20106,46.8965],[12.2022,46.88806],[12.21663,46.87517],[12.22147,46.88084],[12.23125,46.88146],[12.2345,46.88919],[12.24162,46.89192],[12.27486,46.88512],[12.27979,46.87921],[12.27736,46.87319],[12.29326,46.86566],[12.2912,46.85704],[12.29733,46.84455],[12.30833,46.84137],[12.30726,46.83271],[12.285,46.81503],[12.29383,46.8027],[12.28905,46.79948],[12.28889,46.79427],[12.28232,46.79153],[12.28539,46.7839],[12.30943,46.78603],[12.35837,46.77583],[12.37036,46.74163],[12.38475,46.71745],[12.40283,46.70811],[12.41103,46.70701],[12.41522,46.70163],[12.42862,46.6997],[12.42943,46.69567],[12.44268,46.68979],[12.47501,46.68756],[12.4795,46.67969],[12.43473,46.66714],[12.40648,46.64167],[12.38115,46.64183],[12.37944,46.63733],[12.3915,46.62765],[12.38577,46.62154],[12.35939,46.61829],[12.34465,46.62376],[12.34034,46.63022],[12.33578,46.62732],[12.3172,46.62876],[12.31785,46.62355],[12.30802,46.61811],[12.28413,46.61623],[12.26982,46.62003],[12.25931,46.62809],[12.24502,46.62326],[12.24198,46.61586],[12.21241,46.60918],[12.20444,46.59836],[12.19228,46.59321],[12.19261,46.62059],[12.1818,46.6192],[12.17117,46.63275],[12.16062,46.63574],[12.1511,46.63215],[12.1436,46.6327],[12.13739,46.64122],[12.12342,46.64475],[12.10949,46.65204],[12.10609,46.65783],[12.09345,46.66123],[12.08826,46.66638],[12.07985,46.66686],[12.07038,46.67386],[12.07173,46.66064],[12.06686,46.65364],[12.07479,46.64329],[12.06837,46.63997],[12.06495,46.62121],[12.05448,46.61778],[12.05318,46.60989],[12.04613,46.60716],[12.05043,46.60016],[12.04763,46.58357],[12.03665,46.57668],[12.0266,46.55871],[12.02189,46.55791],[11.99941,46.53208],[11.99411,46.53345],[11.98704,46.54417],[11.96633,46.54363],[11.95094,46.53869],[11.94719,46.52879],[11.94147,46.52689],[11.93294,46.52631],[11.9121,46.532],[11.8904,46.52175],[11.85192,46.51682],[11.82849,46.50783],[11.82334,46.51315],[11.82391,46.52141],[11.81086,46.53146],[11.79385,46.52023],[11.79189,46.51322],[11.76157,46.50503],[11.74317,46.50391],[11.73202,46.50877],[11.71935,46.50916],[11.71524,46.51245],[11.69889,46.50218],[11.6672,46.49647],[11.64515,46.49743],[11.63849,46.50051],[11.63495,46.49486],[11.64297,46.49346],[11.65174,46.48271],[11.64536,46.47189],[11.64179,46.47439],[11.62679,46.4708],[11.62987,46.46377],[11.61882,46.44325],[11.62143,46.42539],[11.60161,46.39731],[11.60307,46.38924],[11.5932,46.38265],[11.56489,46.38018],[11.55878,46.35076],[11.55249,46.34418],[11.54423,46.34483],[11.53837,46.35015],[11.52445,46.35502],[11.47969,46.36277],[11.48052,46.3551],[11.46322,46.34922],[11.45556,46.33396],[11.42105,46.32441],[11.40517,46.32387],[11.39865,46.31426],[11.39994,46.30709],[11.39569,46.3083],[11.38188,46.30052],[11.36088,46.29906],[11.36078,46.29682],[11.38256,46.29177],[11.3871,46.28143],[11.39609,46.27423],[11.39862,46.264],[11.38756,46.26029],[11.37347,46.2629],[11.36836,46.26135],[11.35783,46.26481],[11.35495,46.27564],[11.33912,46.28306],[11.33379,46.29049],[11.33471,46.2962],[11.3129,46.28256],[11.31737,46.27303],[11.30645,46.25786],[11.29124,46.2604],[11.24743,46.22933],[11.20622,46.2187],[11.18267,46.22496],[11.17077,46.23806],[11.17994,46.24434],[11.18351,46.25269],[11.18935,46.25354],[11.19448,46.2461],[11.20029,46.25566],[11.16604,46.26129],[11.14885,46.27904],[11.13725,46.28336],[11.14293,46.28934],[11.15847,46.29059],[11.16439,46.2986],[11.1761,46.30346],[11.1847,46.32104],[11.18894,46.32151],[11.18696,46.32673],[11.1942,46.33016],[11.20204,46.34212],[11.19001,46.35984],[11.19263,46.36578],[11.20393,46.36765],[11.19792,46.37232],[11.21275,46.39804],[11.21345,46.40675],[11.20565,46.4166],[11.21026,46.4206],[11.20347,46.42682],[11.21416,46.43556],[11.21634,46.44255],[11.20903,46.45293],[11.21419,46.45807],[11.21736,46.45731],[11.21886,46.46199],[11.21626,46.47277],[11.20939,46.481],[11.20876,46.49346],[11.19608,46.50241],[11.1924,46.501],[11.18686,46.50734],[11.18002,46.49823],[11.17014,46.49635],[11.16095,46.4878],[11.12934,46.48058],[11.1103,46.49643],[11.10449,46.4948],[11.08812,46.50128],[11.08173,46.53021],[11.05915,46.51508],[11.03795,46.51357],[11.05006,46.50784],[11.05773,46.49235],[11.06278,46.4894],[11.06894,46.46619],[11.07625,46.45487],[11.0778,46.44569],[11.07301,46.44042],[11.05394,46.44849],[11.0414,46.44569],[11.02817,46.46116],[11.00952,46.46917],[11.00462,46.47607],[10.98695,46.48289],[10.96543,46.48103],[10.95791,46.46983],[10.93819,46.46578],[10.9325,46.45831],[10.93332,46.4528],[10.91305,46.44284],[10.89161,46.44366],[10.88324,46.44995],[10.88093,46.44579],[10.87162,46.4438],[10.86174,46.43509],[10.85113,46.43817],[10.80034,46.44185],[10.78906,46.45164],[10.77835,46.47112],[10.76934,46.47609],[10.76463,46.4848],[10.75906,46.48547],[10.74422,46.48333],[10.71753,46.46022],[10.69667,46.4573],[10.68293,46.44846],[10.66821,46.45122],[10.63303,46.44309],[10.61439,46.45098],[10.60128,46.46139],[10.59995,46.46766],[10.57672,46.47237],[10.55875,46.48187],[10.54986,46.49123],[10.53685,46.49062],[10.52657,46.49425],[10.49366,46.49719],[10.48141,46.49337],[10.45714,46.5096],[10.45124,46.53083],[10.45814,46.54215],[10.47056,46.54377],[10.46954,46.54856],[10.47617,46.55749],[10.47321,46.56701],[10.48305,46.5777],[10.48575,46.58921],[10.48221,46.59199],[10.48576,46.59805],[10.48291,46.60512],[10.49055,46.61394],[10.44632,46.63989],[10.40935,46.63389],[10.40011,46.63648],[10.39873,46.6455],[10.38946,46.65862],[10.39057,46.67089],[10.3803,46.68399],[10.38615,46.68821]]],terms_url:"https://geoservices.buergernetz.bz.it/geokatalog",terms_text:"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0"},{id:"South-Tyrol-Orthofoto2011-20cm",name:"South Tyrol Orthofoto 2011 (highres)",type:"wms",template:"https://geoservices.buergernetz.bz.it/geoserver/ows?SERVICE=WMS&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=P_BZ_OF_2011_EPSG3857,P_BZ_OF_2011_20cm_EPSG3857&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",polygon:[[[10.38615,46.68821],[10.39201,46.69016],[10.40215,46.70624],[10.41274,46.70821],[10.41622,46.71479],[10.4168,46.71847],[10.39934,46.73435],[10.43464,46.75356],[10.44107,46.75413],[10.44011,46.77149],[10.42123,46.78861],[10.42845,46.79755],[10.43851,46.79869],[10.44925,46.80462],[10.45602,46.81635],[10.45438,46.82221],[10.4583,46.82478],[10.45513,46.83059],[10.45906,46.83548],[10.46483,46.83624],[10.46229,46.8413],[10.46987,46.84933],[10.46819,46.8553],[10.47838,46.86013],[10.48372,46.85543],[10.49628,46.85305],[10.49931,46.84857],[10.52124,46.84653],[10.5527,46.8511],[10.55795,46.84695],[10.55264,46.8408],[10.55536,46.84087],[10.58883,46.85125],[10.59502,46.85829],[10.60936,46.8597],[10.62441,46.86558],[10.64858,46.86655],[10.66787,46.87651],[10.67297,46.87138],[10.69112,46.86861],[10.69786,46.86339],[10.69508,46.85308],[10.70594,46.84786],[10.71763,46.84795],[10.72333,46.83892],[10.75621,46.83383],[10.76481,46.82409],[10.76387,46.81971],[10.75239,46.81387],[10.74506,46.80223],[10.7276,46.79709],[10.73122,46.78925],[10.75722,46.78624],[10.77744,46.79149],[10.78678,46.79735],[10.81439,46.77662],[10.82479,46.77472],[10.83129,46.78138],[10.84112,46.78282],[10.85354,46.77506],[10.86845,46.77313],[10.86993,46.7669],[10.88294,46.76393],[10.88962,46.76529],[10.8951,46.77092],[10.90527,46.76911],[10.92299,46.7764],[10.92821,46.77408],[10.94388,46.77648],[10.97522,46.77361],[10.97932,46.77014],[10.99475,46.76804],[11.01397,46.77317],[11.02328,46.76715],[11.0346,46.79428],[11.04234,46.801],[11.03792,46.80562],[11.05633,46.80928],[11.07279,46.82092],[11.08171,46.82252],[11.0762,46.83384],[11.06887,46.83793],[11.07303,46.84345],[11.06988,46.85348],[11.08742,46.87927],[11.09961,46.88922],[11.09538,46.89178],[11.09795,46.89844],[11.0946,46.91247],[11.10792,46.91706],[11.10804,46.92632],[11.11418,46.93234],[11.13851,46.92865],[11.16322,46.94091],[11.16642,46.94479],[11.16114,46.94979],[11.1637,46.96677],[11.17598,46.96367],[11.18658,46.97062],[11.19527,46.97152],[11.20418,46.96877],[11.20688,46.96403],[11.22047,46.97025],[11.24139,46.9708],[11.24865,46.97517],[11.25582,46.97535],[11.26272,46.98169],[11.27662,46.98168],[11.28762,46.98699],[11.30709,46.98525],[11.3205,46.99345],[11.33765,46.98606],[11.34516,46.99169],[11.35932,46.99154],[11.37697,46.98025],[11.38324,46.97168],[11.40465,46.96609],[11.43929,46.97601],[11.45134,46.99294],[11.46803,46.99582],[11.46859,47.003],[11.47831,47.01201],[11.50238,47.01073],[11.50313,47.00808],[11.51366,47.00595],[11.51679,47.00091],[11.53381,46.99233],[11.53846,46.98519],[11.55297,46.99149],[11.57663,46.99657],[11.58,47.00277],[11.58879,47.00641],[11.59901,47.00657],[11.60944,47.01207],[11.62697,47.01437],[11.63629,47.00383],[11.66542,46.99304],[11.6885,46.99658],[11.71226,46.99416],[11.72897,46.97322],[11.74698,46.97013],[11.76411,46.97412],[11.78106,46.99342],[11.81526,46.991],[11.83564,46.99417],[11.84396,47.0025],[11.85192,47.0014],[11.86722,47.01252],[11.87393,47.01136],[11.8794,47.01714],[11.89137,47.01728],[11.91627,47.03422],[11.9329,47.03864],[11.94688,47.03464],[11.95457,47.04374],[11.96773,47.04158],[11.97912,47.0511],[11.98587,47.04815],[11.99534,47.05064],[12.02037,47.04821],[12.02968,47.05127],[12.03353,47.0583],[12.04276,47.06228],[12.07543,47.0605],[12.08035,47.06951],[12.09308,47.07791],[12.10329,47.07931],[12.11867,47.07445],[12.13561,47.08171],[12.15125,47.08049],[12.15997,47.08267],[12.18589,47.09322],[12.2278,47.08302],[12.24228,47.06892],[12.23786,47.0644],[12.21821,47.05795],[12.2182,47.04483],[12.20552,47.02595],[12.18048,47.02414],[12.16423,47.01782],[12.14786,47.02357],[12.12723,47.01218],[12.12285,47.00662],[12.1322,46.99339],[12.12974,46.98593],[12.13977,46.982],[12.13808,46.96514],[12.13328,46.96292],[12.13882,46.95764],[12.15927,46.95133],[12.1702,46.93758],[12.15414,46.91654],[12.14675,46.91413],[12.16205,46.908],[12.16959,46.91121],[12.19154,46.90682],[12.20106,46.8965],[12.2022,46.88806],[12.21663,46.87517],[12.22147,46.88084],[12.23125,46.88146],[12.2345,46.88919],[12.24162,46.89192],[12.27486,46.88512],[12.27979,46.87921],[12.27736,46.87319],[12.29326,46.86566],[12.2912,46.85704],[12.29733,46.84455],[12.30833,46.84137],[12.30726,46.83271],[12.285,46.81503],[12.29383,46.8027],[12.28905,46.79948],[12.28889,46.79427],[12.28232,46.79153],[12.28539,46.7839],[12.30943,46.78603],[12.35837,46.77583],[12.37036,46.74163],[12.38475,46.71745],[12.40283,46.70811],[12.41103,46.70701],[12.41522,46.70163],[12.42862,46.6997],[12.42943,46.69567],[12.44268,46.68979],[12.47501,46.68756],[12.4795,46.67969],[12.43473,46.66714],[12.40648,46.64167],[12.38115,46.64183],[12.37944,46.63733],[12.3915,46.62765],[12.38577,46.62154],[12.35939,46.61829],[12.34465,46.62376],[12.34034,46.63022],[12.33578,46.62732],[12.3172,46.62876],[12.31785,46.62355],[12.30802,46.61811],[12.28413,46.61623],[12.26982,46.62003],[12.25931,46.62809],[12.24502,46.62326],[12.24198,46.61586],[12.21241,46.60918],[12.20444,46.59836],[12.19228,46.59321],[12.19261,46.62059],[12.1818,46.6192],[12.17117,46.63275],[12.16062,46.63574],[12.1511,46.63215],[12.1436,46.6327],[12.13739,46.64122],[12.12342,46.64475],[12.10949,46.65204],[12.10609,46.65783],[12.09345,46.66123],[12.08826,46.66638],[12.07985,46.66686],[12.07038,46.67386],[12.07173,46.66064],[12.06686,46.65364],[12.07479,46.64329],[12.06837,46.63997],[12.06495,46.62121],[12.05448,46.61778],[12.05318,46.60989],[12.04613,46.60716],[12.05043,46.60016],[12.04763,46.58357],[12.03665,46.57668],[12.0266,46.55871],[12.02189,46.55791],[11.99941,46.53208],[11.99411,46.53345],[11.98704,46.54417],[11.96633,46.54363],[11.95094,46.53869],[11.94719,46.52879],[11.94147,46.52689],[11.93294,46.52631],[11.9121,46.532],[11.8904,46.52175],[11.85192,46.51682],[11.82849,46.50783],[11.82334,46.51315],[11.82391,46.52141],[11.81086,46.53146],[11.79385,46.52023],[11.79189,46.51322],[11.76157,46.50503],[11.74317,46.50391],[11.73202,46.50877],[11.71935,46.50916],[11.71524,46.51245],[11.69889,46.50218],[11.6672,46.49647],[11.64515,46.49743],[11.63849,46.50051],[11.63495,46.49486],[11.64297,46.49346],[11.65174,46.48271],[11.64536,46.47189],[11.64179,46.47439],[11.62679,46.4708],[11.62987,46.46377],[11.61882,46.44325],[11.62143,46.42539],[11.60161,46.39731],[11.60307,46.38924],[11.5932,46.38265],[11.56489,46.38018],[11.55878,46.35076],[11.55249,46.34418],[11.54423,46.34483],[11.53837,46.35015],[11.52445,46.35502],[11.47969,46.36277],[11.48052,46.3551],[11.46322,46.34922],[11.45556,46.33396],[11.42105,46.32441],[11.40517,46.32387],[11.39865,46.31426],[11.39994,46.30709],[11.39569,46.3083],[11.38188,46.30052],[11.36088,46.29906],[11.36078,46.29682],[11.38256,46.29177],[11.3871,46.28143],[11.39609,46.27423],[11.39862,46.264],[11.38756,46.26029],[11.37347,46.2629],[11.36836,46.26135],[11.35783,46.26481],[11.35495,46.27564],[11.33912,46.28306],[11.33379,46.29049],[11.33471,46.2962],[11.3129,46.28256],[11.31737,46.27303],[11.30645,46.25786],[11.29124,46.2604],[11.24743,46.22933],[11.20622,46.2187],[11.18267,46.22496],[11.17077,46.23806],[11.17994,46.24434],[11.18351,46.25269],[11.18935,46.25354],[11.19448,46.2461],[11.20029,46.25566],[11.16604,46.26129],[11.14885,46.27904],[11.13725,46.28336],[11.14293,46.28934],[11.15847,46.29059],[11.16439,46.2986],[11.1761,46.30346],[11.1847,46.32104],[11.18894,46.32151],[11.18696,46.32673],[11.1942,46.33016],[11.20204,46.34212],[11.19001,46.35984],[11.19263,46.36578],[11.20393,46.36765],[11.19792,46.37232],[11.21275,46.39804],[11.21345,46.40675],[11.20565,46.4166],[11.21026,46.4206],[11.20347,46.42682],[11.21416,46.43556],[11.21634,46.44255],[11.20903,46.45293],[11.21419,46.45807],[11.21736,46.45731],[11.21886,46.46199],[11.21626,46.47277],[11.20939,46.481],[11.20876,46.49346],[11.19608,46.50241],[11.1924,46.501],[11.18686,46.50734],[11.18002,46.49823],[11.17014,46.49635],[11.16095,46.4878],[11.12934,46.48058],[11.1103,46.49643],[11.10449,46.4948],[11.08812,46.50128],[11.08173,46.53021],[11.05915,46.51508],[11.03795,46.51357],[11.05006,46.50784],[11.05773,46.49235],[11.06278,46.4894],[11.06894,46.46619],[11.07625,46.45487],[11.0778,46.44569],[11.07301,46.44042],[11.05394,46.44849],[11.0414,46.44569],[11.02817,46.46116],[11.00952,46.46917],[11.00462,46.47607],[10.98695,46.48289],[10.96543,46.48103],[10.95791,46.46983],[10.93819,46.46578],[10.9325,46.45831],[10.93332,46.4528],[10.91305,46.44284],[10.89161,46.44366],[10.88324,46.44995],[10.88093,46.44579],[10.87162,46.4438],[10.86174,46.43509],[10.85113,46.43817],[10.80034,46.44185],[10.78906,46.45164],[10.77835,46.47112],[10.76934,46.47609],[10.76463,46.4848],[10.75906,46.48547],[10.74422,46.48333],[10.71753,46.46022],[10.69667,46.4573],[10.68293,46.44846],[10.66821,46.45122],[10.63303,46.44309],[10.61439,46.45098],[10.60128,46.46139],[10.59995,46.46766],[10.57672,46.47237],[10.55875,46.48187],[10.54986,46.49123],[10.53685,46.49062],[10.52657,46.49425],[10.49366,46.49719],[10.48141,46.49337],[10.45714,46.5096],[10.45124,46.53083],[10.45814,46.54215],[10.47056,46.54377],[10.46954,46.54856],[10.47617,46.55749],[10.47321,46.56701],[10.48305,46.5777],[10.48575,46.58921],[10.48221,46.59199],[10.48576,46.59805],[10.48291,46.60512],[10.49055,46.61394],[10.44632,46.63989],[10.40935,46.63389],[10.40011,46.63648],[10.39873,46.6455],[10.38946,46.65862],[10.39057,46.67089],[10.3803,46.68399],[10.38615,46.68821]]],terms_url:"https://geoservices.buergernetz.bz.it/geokatalog",terms_text:"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0",description:"Orthophoto of South Tyrol from 2011 with up to 20cm resolution (larger valleys)"},{id:"South-Tyrol-Orthofoto2014",name:"South Tyrol Orthofoto 2014",type:"tms",template:"https://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_OF_2014_EPSG3857&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",zoomExtent:[0,18],polygon:[[[11.71495,46.51227],[11.69889,46.50218],[11.6672,46.49647],[11.64515,46.49743],[11.63849,46.50051],[11.63495,46.49486],[11.64297,46.49346],[11.65174,46.48271],[11.64536,46.47189],[11.64179,46.47439],[11.62679,46.4708],[11.62987,46.46377],[11.61882,46.44325],[11.61936,46.43957],[11.62508,46.43957],[11.62508,46.44797],[11.63349,46.44587],[11.63769,46.45846],[11.64399,46.45846],[11.6608,46.44587],[11.66711,46.44587],[11.66711,46.47525],[11.69442,46.47735],[11.69652,46.48575],[11.70913,46.49624],[11.70913,46.50254],[11.71333,46.50254],[11.71495,46.51227]],[[11.61435,46.41535],[11.60161,46.39731],[11.60307,46.38924],[11.5932,46.38265],[11.56489,46.38018],[11.55878,46.35076],[11.55249,46.34418],[11.54423,46.34483],[11.53837,46.35015],[11.52445,46.35502],[11.47969,46.36277],[11.48052,46.3551],[11.46322,46.34922],[11.45556,46.33396],[11.42105,46.32441],[11.40517,46.32387],[11.39865,46.31426],[11.39994,46.30709],[11.39569,46.3083],[11.38188,46.30052],[11.36088,46.29906],[11.36078,46.29682],[11.38256,46.29177],[11.3871,46.28143],[11.39609,46.27423],[11.39862,46.264],[11.38756,46.26029],[11.37347,46.2629],[11.36836,46.26135],[11.35783,46.26481],[11.35495,46.27564],[11.33912,46.28306],[11.33379,46.29049],[11.33471,46.2962],[11.3129,46.28256],[11.31737,46.27303],[11.30645,46.25786],[11.29124,46.2604],[11.24743,46.22933],[11.20622,46.2187],[11.18267,46.22496],[11.17077,46.23806],[11.17994,46.24434],[11.18351,46.25269],[11.18935,46.25354],[11.19448,46.2461],[11.20029,46.25566],[11.16604,46.26129],[11.14885,46.27904],[11.13725,46.28336],[11.14293,46.28934],[11.15847,46.29059],[11.16439,46.2986],[11.1761,46.30346],[11.1847,46.32104],[11.18894,46.32151],[11.18696,46.32673],[11.1942,46.33016],[11.20204,46.34212],[11.19001,46.35984],[11.19263,46.36578],[11.20393,46.36765],[11.19792,46.37232],[11.21275,46.39804],[11.21345,46.40675],[11.20644,46.4156],[11.20485,46.3997],[11.17754,46.3997],[11.17543,46.3871],[11.16703,46.38081],[11.16703,46.36821],[11.16283,46.36821],[11.16283,46.29895],[11.12501,46.29895],[11.12291,46.25488],[11.13131,46.25278],[11.12711,46.24858],[11.16283,46.24858],[11.16283,46.215],[11.24898,46.2129],[11.25108,46.2234],[11.2889,46.2234],[11.2889,46.24019],[11.3015,46.25278],[11.30991,46.25278],[11.31201,46.24858],[11.33722,46.25068],[11.34143,46.26747],[11.34563,46.26747],[11.34773,46.25698],[11.35613,46.24858],[11.41707,46.25278],[11.41917,46.32414],[11.49271,46.32204],[11.48851,46.33044],[11.49901,46.32834],[11.50111,46.34723],[11.52423,46.34723],[11.53894,46.34513],[11.53894,46.32834],[11.55995,46.32414],[11.58306,46.34932],[11.58306,46.37241],[11.60407,46.37241],[11.60617,46.38291],[11.61458,46.38291],[11.62508,46.3934],[11.62508,46.41229],[11.61435,46.41535]],[[11.20663,46.41745],[11.21026,46.4206],[11.20347,46.42682],[11.21416,46.43556],[11.21634,46.44255],[11.20903,46.45293],[11.21419,46.45807],[11.21736,46.45731],[11.21886,46.46199],[11.21626,46.47277],[11.20939,46.481],[11.20876,46.49346],[11.19608,46.50241],[11.1924,46.501],[11.18686,46.50734],[11.18002,46.49823],[11.17014,46.49635],[11.16095,46.4878],[11.12934,46.48058],[11.1103,46.49643],[11.10449,46.4948],[11.08812,46.50128],[11.08173,46.53021],[11.05915,46.51508],[11.03795,46.51357],[11.05006,46.50784],[11.05773,46.49235],[11.06278,46.4894],[11.06894,46.46619],[11.07625,46.45487],[11.0778,46.44569],[11.07301,46.44042],[11.05394,46.44849],[11.0414,46.44569],[11.02817,46.46116],[11.00952,46.46917],[11.00462,46.47607],[10.98695,46.48289],[10.96543,46.48103],[10.96285,46.47718],[10.96952,46.45217],[10.98423,46.45217],[10.98843,46.44587],[10.99894,46.44587],[11.01154,46.42068],[11.04096,46.42068],[11.08088,46.43537],[11.08298,46.47525],[11.15232,46.47525],[11.18804,46.48365],[11.19014,46.47525],[11.20695,46.47315],[11.20485,46.44587],[11.19855,46.44167],[11.19435,46.42698],[11.19014,46.42698],[11.19014,46.42068],[11.20695,46.42068],[11.20663,46.41745]],[[10.47433,46.55501],[10.47617,46.55749],[10.47321,46.56701],[10.48305,46.5777],[10.48575,46.58921],[10.48221,46.59199],[10.48576,46.59805],[10.48291,46.60512],[10.49055,46.61394],[10.46952,46.62628],[10.47785,46.61797],[10.47785,46.59069],[10.47365,46.59069],[10.47155,46.5676],[10.46314,46.55501],[10.47433,46.55501]],[[10.46925,46.62643],[10.44632,46.63989],[10.40935,46.63389],[10.40011,46.63648],[10.39873,46.6455],[10.38946,46.65862],[10.39057,46.67089],[10.3803,46.68399],[10.38615,46.68821],[10.39201,46.69016],[10.40215,46.70624],[10.41274,46.70821],[10.41622,46.71479],[10.4168,46.71847],[10.39934,46.73435],[10.43464,46.75356],[10.44107,46.75413],[10.44011,46.77149],[10.42123,46.78861],[10.42845,46.79755],[10.43626,46.79843],[10.43373,46.81106],[10.42532,46.80686],[10.42532,46.79847],[10.42112,46.79847],[10.41692,46.78587],[10.41692,46.75229],[10.3938,46.7376],[10.3896,46.72081],[10.3854,46.72081],[10.3791,46.69353],[10.3791,46.66834],[10.3833,46.66414],[10.3812,46.64735],[10.3896,46.64525],[10.3938,46.63056],[10.42532,46.62846],[10.44843,46.63476],[10.46925,46.62643]]],terms_url:"https://geoservices.buergernetz.bz.it/geokatalog/",terms_text:"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0"},{id:"South-Tyrol-Orthofoto-2014-2015",name:"South Tyrol Orthofoto 2014/2015",type:"tms",template:"https://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_OF_2014_2015_EPSG3857&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg",endDate:"2015-11-01T00:00:00.000Z",startDate:"2014-07-01T00:00:00.000Z",zoomExtent:[0,18],polygon:[[[10.38615,46.68821],[10.39201,46.69016],[10.40215,46.70624],[10.41274,46.70821],[10.41622,46.71479],[10.4168,46.71847],[10.39934,46.73435],[10.43464,46.75356],[10.44107,46.75413],[10.44011,46.77149],[10.42123,46.78861],[10.42845,46.79755],[10.43851,46.79869],[10.44925,46.80462],[10.45602,46.81635],[10.45438,46.82221],[10.4583,46.82478],[10.45513,46.83059],[10.45906,46.83548],[10.46483,46.83624],[10.46229,46.8413],[10.46987,46.84933],[10.46819,46.8553],[10.47838,46.86013],[10.48372,46.85543],[10.49628,46.85305],[10.49931,46.84857],[10.52124,46.84653],[10.5527,46.8511],[10.55795,46.84695],[10.55264,46.8408],[10.55536,46.84087],[10.58883,46.85125],[10.59502,46.85829],[10.60936,46.8597],[10.62441,46.86558],[10.64858,46.86655],[10.66787,46.87651],[10.67297,46.87138],[10.69112,46.86861],[10.69786,46.86339],[10.69508,46.85308],[10.70594,46.84786],[10.71763,46.84795],[10.72333,46.83892],[10.75621,46.83383],[10.76481,46.82409],[10.76387,46.81971],[10.75239,46.81387],[10.74506,46.80223],[10.7276,46.79709],[10.73122,46.78925],[10.75722,46.78624],[10.77744,46.79149],[10.78678,46.79735],[10.81439,46.77662],[10.82479,46.77472],[10.83129,46.78138],[10.84112,46.78282],[10.85354,46.77506],[10.86845,46.77313],[10.86993,46.7669],[10.88294,46.76393],[10.88962,46.76529],[10.8951,46.77092],[10.90527,46.76911],[10.92299,46.7764],[10.92821,46.77408],[10.94388,46.77648],[10.97522,46.77361],[10.97932,46.77014],[10.99475,46.76804],[11.01397,46.77317],[11.02328,46.76715],[11.0346,46.79428],[11.04234,46.801],[11.03792,46.80562],[11.05633,46.80928],[11.07279,46.82092],[11.08171,46.82252],[11.0762,46.83384],[11.06887,46.83793],[11.07303,46.84345],[11.06988,46.85348],[11.08742,46.87927],[11.09961,46.88922],[11.09538,46.89178],[11.09795,46.89844],[11.0946,46.91247],[11.10792,46.91706],[11.10804,46.92632],[11.11418,46.93234],[11.13851,46.92865],[11.16322,46.94091],[11.16642,46.94479],[11.16114,46.94979],[11.1637,46.96677],[11.17598,46.96367],[11.18658,46.97062],[11.19527,46.97152],[11.20418,46.96877],[11.20688,46.96403],[11.22047,46.97025],[11.24139,46.9708],[11.24865,46.97517],[11.25582,46.97535],[11.26272,46.98169],[11.27662,46.98168],[11.28762,46.98699],[11.30709,46.98525],[11.3205,46.99345],[11.33765,46.98606],[11.34516,46.99169],[11.35932,46.99154],[11.37697,46.98025],[11.38324,46.97168],[11.40465,46.96609],[11.43929,46.97601],[11.45134,46.99294],[11.46803,46.99582],[11.46859,47.003],[11.47831,47.01201],[11.50238,47.01073],[11.50313,47.00808],[11.51366,47.00595],[11.51679,47.00091],[11.53381,46.99233],[11.53846,46.98519],[11.55297,46.99149],[11.57663,46.99657],[11.58,47.00277],[11.58879,47.00641],[11.59901,47.00657],[11.60944,47.01207],[11.62697,47.01437],[11.63629,47.00383],[11.66542,46.99304],[11.6885,46.99658],[11.71226,46.99416],[11.72897,46.97322],[11.74698,46.97013],[11.76411,46.97412],[11.78106,46.99342],[11.81526,46.991],[11.83564,46.99417],[11.84396,47.0025],[11.85192,47.0014],[11.86722,47.01252],[11.87393,47.01136],[11.8794,47.01714],[11.89137,47.01728],[11.91627,47.03422],[11.9329,47.03864],[11.94688,47.03464],[11.95457,47.04374],[11.96773,47.04158],[11.97912,47.0511],[11.98587,47.04815],[11.99534,47.05064],[12.02037,47.04821],[12.02968,47.05127],[12.03353,47.0583],[12.04276,47.06228],[12.07543,47.0605],[12.08035,47.06951],[12.09308,47.07791],[12.10329,47.07931],[12.11867,47.07445],[12.13561,47.08171],[12.15125,47.08049],[12.15997,47.08267],[12.18589,47.09322],[12.2278,47.08302],[12.24228,47.06892],[12.23786,47.0644],[12.21821,47.05795],[12.2182,47.04483],[12.20552,47.02595],[12.18048,47.02414],[12.16423,47.01782],[12.14786,47.02357],[12.12723,47.01218],[12.12285,47.00662],[12.1322,46.99339],[12.12974,46.98593],[12.13977,46.982],[12.13808,46.96514],[12.13328,46.96292],[12.13882,46.95764],[12.15927,46.95133],[12.1702,46.93758],[12.15414,46.91654],[12.14675,46.91413],[12.16205,46.908],[12.16959,46.91121],[12.19154,46.90682],[12.20106,46.8965],[12.2022,46.88806],[12.21663,46.87517],[12.22147,46.88084],[12.23125,46.88146],[12.2345,46.88919],[12.24162,46.89192],[12.27486,46.88512],[12.27979,46.87921],[12.27736,46.87319],[12.29326,46.86566],[12.2912,46.85704],[12.29733,46.84455],[12.30833,46.84137],[12.30726,46.83271],[12.285,46.81503],[12.29383,46.8027],[12.28905,46.79948],[12.28889,46.79427],[12.28232,46.79153],[12.28539,46.7839],[12.30943,46.78603],[12.35837,46.77583],[12.37036,46.74163],[12.38475,46.71745],[12.40283,46.70811],[12.41103,46.70701],[12.41522,46.70163],[12.42862,46.6997],[12.42943,46.69567],[12.44268,46.68979],[12.47501,46.68756],[12.4795,46.67969],[12.43473,46.66714],[12.40648,46.64167],[12.38115,46.64183],[12.37944,46.63733],[12.3915,46.62765],[12.38577,46.62154],[12.35939,46.61829],[12.34465,46.62376],[12.34034,46.63022],[12.33578,46.62732],[12.3172,46.62876],[12.31785,46.62355],[12.30802,46.61811],[12.28413,46.61623],[12.26982,46.62003],[12.25931,46.62809],[12.24502,46.62326],[12.24198,46.61586],[12.21241,46.60918],[12.20444,46.59836],[12.19228,46.59321],[12.19261,46.62059],[12.1818,46.6192],[12.17117,46.63275],[12.16062,46.63574],[12.1511,46.63215],[12.1436,46.6327],[12.13739,46.64122],[12.12342,46.64475],[12.10949,46.65204],[12.10609,46.65783],[12.09345,46.66123],[12.08826,46.66638],[12.07985,46.66686],[12.07038,46.67386],[12.07173,46.66064],[12.06686,46.65364],[12.07479,46.64329],[12.06837,46.63997],[12.06495,46.62121],[12.05448,46.61778],[12.05318,46.60989],[12.04613,46.60716],[12.05043,46.60016],[12.04763,46.58357],[12.03665,46.57668],[12.0266,46.55871],[12.02189,46.55791],[11.99941,46.53208],[11.99411,46.53345],[11.98704,46.54417],[11.96633,46.54363],[11.95094,46.53869],[11.94719,46.52879],[11.94147,46.52689],[11.93294,46.52631],[11.9121,46.532],[11.8904,46.52175],[11.85192,46.51682],[11.82849,46.50783],[11.82334,46.51315],[11.82391,46.52141],[11.81086,46.53146],[11.79385,46.52023],[11.79189,46.51322],[11.76157,46.50503],[11.74317,46.50391],[11.73202,46.50877],[11.71935,46.50916],[11.71524,46.51245],[11.69889,46.50218],[11.6672,46.49647],[11.64515,46.49743],[11.63849,46.50051],[11.63495,46.49486],[11.64297,46.49346],[11.65174,46.48271],[11.64536,46.47189],[11.64179,46.47439],[11.62679,46.4708],[11.62987,46.46377],[11.61882,46.44325],[11.62143,46.42539],[11.60161,46.39731],[11.60307,46.38924],[11.5932,46.38265],[11.56489,46.38018],[11.55878,46.35076],[11.55249,46.34418],[11.54423,46.34483],[11.53837,46.35015],[11.52445,46.35502],[11.47969,46.36277],[11.48052,46.3551],[11.46322,46.34922],[11.45556,46.33396],[11.42105,46.32441],[11.40517,46.32387],[11.39865,46.31426],[11.39994,46.30709],[11.39569,46.3083],[11.38188,46.30052],[11.36088,46.29906],[11.36078,46.29682],[11.38256,46.29177],[11.3871,46.28143],[11.39609,46.27423],[11.39862,46.264],[11.38756,46.26029],[11.37347,46.2629],[11.36836,46.26135],[11.35783,46.26481],[11.35495,46.27564],[11.33912,46.28306],[11.33379,46.29049],[11.33471,46.2962],[11.3129,46.28256],[11.31737,46.27303],[11.30645,46.25786],[11.29124,46.2604],[11.24743,46.22933],[11.20622,46.2187],[11.18267,46.22496],[11.17077,46.23806],[11.17994,46.24434],[11.18351,46.25269],[11.18935,46.25354],[11.19448,46.2461],[11.20029,46.25566],[11.16604,46.26129],[11.14885,46.27904],[11.13725,46.28336],[11.14293,46.28934],[11.15847,46.29059],[11.16439,46.2986],[11.1761,46.30346],[11.1847,46.32104],[11.18894,46.32151],[11.18696,46.32673],[11.1942,46.33016],[11.20204,46.34212],[11.19001,46.35984],[11.19263,46.36578],[11.20393,46.36765],[11.19792,46.37232],[11.21275,46.39804],[11.21345,46.40675],[11.20565,46.4166],[11.21026,46.4206],[11.20347,46.42682],[11.21416,46.43556],[11.21634,46.44255],[11.20903,46.45293],[11.21419,46.45807],[11.21736,46.45731],[11.21886,46.46199],[11.21626,46.47277],[11.20939,46.481],[11.20876,46.49346],[11.19608,46.50241],[11.1924,46.501],[11.18686,46.50734],[11.18002,46.49823],[11.17014,46.49635],[11.16095,46.4878],[11.12934,46.48058],[11.1103,46.49643],[11.10449,46.4948],[11.08812,46.50128],[11.08173,46.53021],[11.05915,46.51508],[11.03795,46.51357],[11.05006,46.50784],[11.05773,46.49235],[11.06278,46.4894],[11.06894,46.46619],[11.07625,46.45487],[11.0778,46.44569],[11.07301,46.44042],[11.05394,46.44849],[11.0414,46.44569],[11.02817,46.46116],[11.00952,46.46917],[11.00462,46.47607],[10.98695,46.48289],[10.96543,46.48103],[10.95791,46.46983],[10.93819,46.46578],[10.9325,46.45831],[10.93332,46.4528],[10.91305,46.44284],[10.89161,46.44366],[10.88324,46.44995],[10.88093,46.44579],[10.87162,46.4438],[10.86174,46.43509],[10.85113,46.43817],[10.80034,46.44185],[10.78906,46.45164],[10.77835,46.47112],[10.76934,46.47609],[10.76463,46.4848],[10.75906,46.48547],[10.74422,46.48333],[10.71753,46.46022],[10.69667,46.4573],[10.68293,46.44846],[10.66821,46.45122],[10.63303,46.44309],[10.61439,46.45098],[10.60128,46.46139],[10.59995,46.46766],[10.57672,46.47237],[10.55875,46.48187],[10.54986,46.49123],[10.53685,46.49062],[10.52657,46.49425],[10.49366,46.49719],[10.48141,46.49337],[10.45714,46.5096],[10.45124,46.53083],[10.45814,46.54215],[10.47056,46.54377],[10.46954,46.54856],[10.47617,46.55749],[10.47321,46.56701],[10.48305,46.5777],[10.48575,46.58921],[10.48221,46.59199],[10.48576,46.59805],[10.48291,46.60512],[10.49055,46.61394],[10.44632,46.63989],[10.40935,46.63389],[10.40011,46.63648],[10.39873,46.6455],[10.38946,46.65862],[10.39057,46.67089],[10.3803,46.68399],[10.38615,46.68821]]],terms_url:"https://geoservices.buergernetz.bz.it/geokatalog",terms_text:"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 4.0",best:true},{id:"South-Tyrol-Topomap",name:"South Tyrol Topomap",type:"tms",template:"https://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_BASEMAP_TOPO&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg",zoomExtent:[0,20],polygon:[[[10.38615,46.68821],[10.39201,46.69016],[10.40215,46.70624],[10.41274,46.70821],[10.41622,46.71479],[10.4168,46.71847],[10.39934,46.73435],[10.43464,46.75356],[10.44107,46.75413],[10.44011,46.77149],[10.42123,46.78861],[10.42845,46.79755],[10.43851,46.79869],[10.44925,46.80462],[10.45602,46.81635],[10.45438,46.82221],[10.4583,46.82478],[10.45513,46.83059],[10.45906,46.83548],[10.46483,46.83624],[10.46229,46.8413],[10.46987,46.84933],[10.46819,46.8553],[10.47838,46.86013],[10.48372,46.85543],[10.49628,46.85305],[10.49931,46.84857],[10.52124,46.84653],[10.5527,46.8511],[10.55795,46.84695],[10.55264,46.8408],[10.55536,46.84087],[10.58883,46.85125],[10.59502,46.85829],[10.60936,46.8597],[10.62441,46.86558],[10.64858,46.86655],[10.66787,46.87651],[10.67297,46.87138],[10.69112,46.86861],[10.69786,46.86339],[10.69508,46.85308],[10.70594,46.84786],[10.71763,46.84795],[10.72333,46.83892],[10.75621,46.83383],[10.76481,46.82409],[10.76387,46.81971],[10.75239,46.81387],[10.74506,46.80223],[10.7276,46.79709],[10.73122,46.78925],[10.75722,46.78624],[10.77744,46.79149],[10.78678,46.79735],[10.81439,46.77662],[10.82479,46.77472],[10.83129,46.78138],[10.84112,46.78282],[10.85354,46.77506],[10.86845,46.77313],[10.86993,46.7669],[10.88294,46.76393],[10.88962,46.76529],[10.8951,46.77092],[10.90527,46.76911],[10.92299,46.7764],[10.92821,46.77408],[10.94388,46.77648],[10.97522,46.77361],[10.97932,46.77014],[10.99475,46.76804],[11.01397,46.77317],[11.02328,46.76715],[11.0346,46.79428],[11.04234,46.801],[11.03792,46.80562],[11.05633,46.80928],[11.07279,46.82092],[11.08171,46.82252],[11.0762,46.83384],[11.06887,46.83793],[11.07303,46.84345],[11.06988,46.85348],[11.08742,46.87927],[11.09961,46.88922],[11.09538,46.89178],[11.09795,46.89844],[11.0946,46.91247],[11.10792,46.91706],[11.10804,46.92632],[11.11418,46.93234],[11.13851,46.92865],[11.16322,46.94091],[11.16642,46.94479],[11.16114,46.94979],[11.1637,46.96677],[11.17598,46.96367],[11.18658,46.97062],[11.19527,46.97152],[11.20418,46.96877],[11.20688,46.96403],[11.22047,46.97025],[11.24139,46.9708],[11.24865,46.97517],[11.25582,46.97535],[11.26272,46.98169],[11.27662,46.98168],[11.28762,46.98699],[11.30709,46.98525],[11.3205,46.99345],[11.33765,46.98606],[11.34516,46.99169],[11.35932,46.99154],[11.37697,46.98025],[11.38324,46.97168],[11.40465,46.96609],[11.43929,46.97601],[11.45134,46.99294],[11.46803,46.99582],[11.46859,47.003],[11.47831,47.01201],[11.50238,47.01073],[11.50313,47.00808],[11.51366,47.00595],[11.51679,47.00091],[11.53381,46.99233],[11.53846,46.98519],[11.55297,46.99149],[11.57663,46.99657],[11.58,47.00277],[11.58879,47.00641],[11.59901,47.00657],[11.60944,47.01207],[11.62697,47.01437],[11.63629,47.00383],[11.66542,46.99304],[11.6885,46.99658],[11.71226,46.99416],[11.72897,46.97322],[11.74698,46.97013],[11.76411,46.97412],[11.78106,46.99342],[11.81526,46.991],[11.83564,46.99417],[11.84396,47.0025],[11.85192,47.0014],[11.86722,47.01252],[11.87393,47.01136],[11.8794,47.01714],[11.89137,47.01728],[11.91627,47.03422],[11.9329,47.03864],[11.94688,47.03464],[11.95457,47.04374],[11.96773,47.04158],[11.97912,47.0511],[11.98587,47.04815],[11.99534,47.05064],[12.02037,47.04821],[12.02968,47.05127],[12.03353,47.0583],[12.04276,47.06228],[12.07543,47.0605],[12.08035,47.06951],[12.09308,47.07791],[12.10329,47.07931],[12.11867,47.07445],[12.13561,47.08171],[12.15125,47.08049],[12.15997,47.08267],[12.18589,47.09322],[12.2278,47.08302],[12.24228,47.06892],[12.23786,47.0644],[12.21821,47.05795],[12.2182,47.04483],[12.20552,47.02595],[12.18048,47.02414],[12.16423,47.01782],[12.14786,47.02357],[12.12723,47.01218],[12.12285,47.00662],[12.1322,46.99339],[12.12974,46.98593],[12.13977,46.982],[12.13808,46.96514],[12.13328,46.96292],[12.13882,46.95764],[12.15927,46.95133],[12.1702,46.93758],[12.15414,46.91654],[12.14675,46.91413],[12.16205,46.908],[12.16959,46.91121],[12.19154,46.90682],[12.20106,46.8965],[12.2022,46.88806],[12.21663,46.87517],[12.22147,46.88084],[12.23125,46.88146],[12.2345,46.88919],[12.24162,46.89192],[12.27486,46.88512],[12.27979,46.87921],[12.27736,46.87319],[12.29326,46.86566],[12.2912,46.85704],[12.29733,46.84455],[12.30833,46.84137],[12.30726,46.83271],[12.285,46.81503],[12.29383,46.8027],[12.28905,46.79948],[12.28889,46.79427],[12.28232,46.79153],[12.28539,46.7839],[12.30943,46.78603],[12.35837,46.77583],[12.37036,46.74163],[12.38475,46.71745],[12.40283,46.70811],[12.41103,46.70701],[12.41522,46.70163],[12.42862,46.6997],[12.42943,46.69567],[12.44268,46.68979],[12.47501,46.68756],[12.4795,46.67969],[12.43473,46.66714],[12.40648,46.64167],[12.38115,46.64183],[12.37944,46.63733],[12.3915,46.62765],[12.38577,46.62154],[12.35939,46.61829],[12.34465,46.62376],[12.34034,46.63022],[12.33578,46.62732],[12.3172,46.62876],[12.31785,46.62355],[12.30802,46.61811],[12.28413,46.61623],[12.26982,46.62003],[12.25931,46.62809],[12.24502,46.62326],[12.24198,46.61586],[12.21241,46.60918],[12.20444,46.59836],[12.19228,46.59321],[12.19261,46.62059],[12.1818,46.6192],[12.17117,46.63275],[12.16062,46.63574],[12.1511,46.63215],[12.1436,46.6327],[12.13739,46.64122],[12.12342,46.64475],[12.10949,46.65204],[12.10609,46.65783],[12.09345,46.66123],[12.08826,46.66638],[12.07985,46.66686],[12.07038,46.67386],[12.07173,46.66064],[12.06686,46.65364],[12.07479,46.64329],[12.06837,46.63997],[12.06495,46.62121],[12.05448,46.61778],[12.05318,46.60989],[12.04613,46.60716],[12.05043,46.60016],[12.04763,46.58357],[12.03665,46.57668],[12.0266,46.55871],[12.02189,46.55791],[11.99941,46.53208],[11.99411,46.53345],[11.98704,46.54417],[11.96633,46.54363],[11.95094,46.53869],[11.94719,46.52879],[11.94147,46.52689],[11.93294,46.52631],[11.9121,46.532],[11.8904,46.52175],[11.85192,46.51682],[11.82849,46.50783],[11.82334,46.51315],[11.82391,46.52141],[11.81086,46.53146],[11.79385,46.52023],[11.79189,46.51322],[11.76157,46.50503],[11.74317,46.50391],[11.73202,46.50877],[11.71935,46.50916],[11.71524,46.51245],[11.69889,46.50218],[11.6672,46.49647],[11.64515,46.49743],[11.63849,46.50051],[11.63495,46.49486],[11.64297,46.49346],[11.65174,46.48271],[11.64536,46.47189],[11.64179,46.47439],[11.62679,46.4708],[11.62987,46.46377],[11.61882,46.44325],[11.62143,46.42539],[11.60161,46.39731],[11.60307,46.38924],[11.5932,46.38265],[11.56489,46.38018],[11.55878,46.35076],[11.55249,46.34418],[11.54423,46.34483],[11.53837,46.35015],[11.52445,46.35502],[11.47969,46.36277],[11.48052,46.3551],[11.46322,46.34922],[11.45556,46.33396],[11.42105,46.32441],[11.40517,46.32387],[11.39865,46.31426],[11.39994,46.30709],[11.39569,46.3083],[11.38188,46.30052],[11.36088,46.29906],[11.36078,46.29682],[11.38256,46.29177],[11.3871,46.28143],[11.39609,46.27423],[11.39862,46.264],[11.38756,46.26029],[11.37347,46.2629],[11.36836,46.26135],[11.35783,46.26481],[11.35495,46.27564],[11.33912,46.28306],[11.33379,46.29049],[11.33471,46.2962],[11.3129,46.28256],[11.31737,46.27303],[11.30645,46.25786],[11.29124,46.2604],[11.24743,46.22933],[11.20622,46.2187],[11.18267,46.22496],[11.17077,46.23806],[11.17994,46.24434],[11.18351,46.25269],[11.18935,46.25354],[11.19448,46.2461],[11.20029,46.25566],[11.16604,46.26129],[11.14885,46.27904],[11.13725,46.28336],[11.14293,46.28934],[11.15847,46.29059],[11.16439,46.2986],[11.1761,46.30346],[11.1847,46.32104],[11.18894,46.32151],[11.18696,46.32673],[11.1942,46.33016],[11.20204,46.34212],[11.19001,46.35984],[11.19263,46.36578],[11.20393,46.36765],[11.19792,46.37232],[11.21275,46.39804],[11.21345,46.40675],[11.20565,46.4166],[11.21026,46.4206],[11.20347,46.42682],[11.21416,46.43556],[11.21634,46.44255],[11.20903,46.45293],[11.21419,46.45807],[11.21736,46.45731],[11.21886,46.46199],[11.21626,46.47277],[11.20939,46.481],[11.20876,46.49346],[11.19608,46.50241],[11.1924,46.501],[11.18686,46.50734],[11.18002,46.49823],[11.17014,46.49635],[11.16095,46.4878],[11.12934,46.48058],[11.1103,46.49643],[11.10449,46.4948],[11.08812,46.50128],[11.08173,46.53021],[11.05915,46.51508],[11.03795,46.51357],[11.05006,46.50784],[11.05773,46.49235],[11.06278,46.4894],[11.06894,46.46619],[11.07625,46.45487],[11.0778,46.44569],[11.07301,46.44042],[11.05394,46.44849],[11.0414,46.44569],[11.02817,46.46116],[11.00952,46.46917],[11.00462,46.47607],[10.98695,46.48289],[10.96543,46.48103],[10.95791,46.46983],[10.93819,46.46578],[10.9325,46.45831],[10.93332,46.4528],[10.91305,46.44284],[10.89161,46.44366],[10.88324,46.44995],[10.88093,46.44579],[10.87162,46.4438],[10.86174,46.43509],[10.85113,46.43817],[10.80034,46.44185],[10.78906,46.45164],[10.77835,46.47112],[10.76934,46.47609],[10.76463,46.4848],[10.75906,46.48547],[10.74422,46.48333],[10.71753,46.46022],[10.69667,46.4573],[10.68293,46.44846],[10.66821,46.45122],[10.63303,46.44309],[10.61439,46.45098],[10.60128,46.46139],[10.59995,46.46766],[10.57672,46.47237],[10.55875,46.48187],[10.54986,46.49123],[10.53685,46.49062],[10.52657,46.49425],[10.49366,46.49719],[10.48141,46.49337],[10.45714,46.5096],[10.45124,46.53083],[10.45814,46.54215],[10.47056,46.54377],[10.46954,46.54856],[10.47617,46.55749],[10.47321,46.56701],[10.48305,46.5777],[10.48575,46.58921],[10.48221,46.59199],[10.48576,46.59805],[10.48291,46.60512],[10.49055,46.61394],[10.44632,46.63989],[10.40935,46.63389],[10.40011,46.63648],[10.39873,46.6455],[10.38946,46.65862],[10.39057,46.67089],[10.3803,46.68399],[10.38615,46.68821]]],terms_url:"https://geoservices.buergernetz.bz.it/geokatalog",terms_text:"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano",description:"Topographical basemap of South Tyrol"},{id:"SPW2009",name:"SPW(allonie) 2009-2010 aerial imagery",type:"wms",template:"https://geoservices.wallonie.be/arcgis/services/IMAGERIE/ORTHO_2009_2010/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2010-01-01T00:00:00.000Z",startDate:"2009-01-01T00:00:00.000Z",polygon:[[[5.78257,49.87573],[5.73919,49.83362],[5.75516,49.79146],[5.78839,49.79665],[5.91064,49.66249],[5.84857,49.59723],[5.87102,49.57599],[5.81857,49.54638],[5.66079,49.55362],[5.61108,49.50603],[5.55603,49.52928],[5.47051,49.49737],[5.45708,49.56703],[5.37522,49.62333],[5.31486,49.61137],[5.33243,49.65263],[5.26851,49.69657],[5.16628,49.69303],[4.99753,49.80006],[4.85164,49.79345],[4.84754,49.86806],[4.89013,49.90893],[4.79117,49.958],[4.87762,50.15374],[4.82418,50.16932],[4.70207,50.09556],[4.69441,49.99625],[4.44551,49.93722],[4.30589,49.96829],[4.19746,49.9546],[4.1352,50.01508],[4.22825,50.07842],[4.19682,50.13519],[4.12714,50.1355],[4.2052,50.27347],[4.16262,50.28896],[4.13538,50.25784],[4.02795,50.3584],[3.88574,50.32701],[3.84578,50.35323],[3.74546,50.35005],[3.70994,50.30316],[3.65756,50.37076],[3.65552,50.4617],[3.60586,50.49632],[3.4993,50.48921],[3.51992,50.52362],[3.47439,50.53368],[3.37698,50.49109],[3.28634,50.52793],[3.26104,50.70131],[3.20602,50.71139],[3.17839,50.75609],[3.30562,50.75466],[3.36077,50.70962],[3.45439,50.77072],[3.64047,50.72242],[3.67752,50.77062],[3.75857,50.78045],[3.77568,50.74789],[3.8798,50.75146],[3.9097,50.69245],[4.05868,50.69439],[4.14853,50.72834],[4.2467,50.6894],[4.46355,50.75511],[4.52399,50.72724],[4.59727,50.76359],[4.63445,50.74272],[4.64309,50.79755],[4.76014,50.80544],[4.92545,50.74275],[5.00339,50.76594],[5.07039,50.70649],[5.16508,50.6957],[5.16984,50.72257],[5.30912,50.71802],[5.35029,50.74629],[5.47863,50.72352],[5.68786,50.81193],[5.68225,50.75651],[5.7707,50.75132],[5.81963,50.71396],[5.88333,50.70992],[5.89217,50.75518],[5.96561,50.76107],[6.04045,50.74546],[6.03959,50.71833],[6.11066,50.72299],[6.18169,50.62383],[6.26953,50.62519],[6.17812,50.54153],[6.22658,50.49432],[6.35036,50.48854],[6.34298,50.38033],[6.40542,50.32331],[6.30647,50.32019],[6.27889,50.26734],[6.17377,50.23165],[6.19232,50.18203],[6.147,50.17775],[6.13779,50.12985],[6.10245,50.17055],[5.96368,50.17263],[5.96133,50.13136],[5.89532,50.11216],[5.81968,50.01329],[5.83578,49.97892],[5.77502,49.9608],[5.73577,49.89684],[5.78257,49.87573]],[[2.99943,50.81035],[2.93719,50.79361],[2.96,50.7735],[2.92247,50.75729],[2.84203,50.75153],[2.86315,50.70826],[2.91065,50.69409],[2.94001,50.74543],[3.02932,50.77896],[2.99943,50.81035]]],icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/SPW(allonie)2009-2010aerialimagery.png"},{id:"SPW2012",name:"SPW(allonie) 2012-2013 aerial imagery",type:"wms",template:"https://geoservices.wallonie.be/arcgis/services/IMAGERIE/ORTHO_2012_2013/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2013-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",polygon:[[[5.78257,49.87573],[5.73919,49.83362],[5.75516,49.79146],[5.78839,49.79665],[5.91064,49.66249],[5.84857,49.59723],[5.87102,49.57599],[5.81857,49.54638],[5.66079,49.55362],[5.61108,49.50603],[5.55603,49.52928],[5.47051,49.49737],[5.45708,49.56703],[5.37522,49.62333],[5.31486,49.61137],[5.33243,49.65263],[5.26851,49.69657],[5.16628,49.69303],[4.99753,49.80006],[4.85164,49.79345],[4.84754,49.86806],[4.89013,49.90893],[4.79117,49.958],[4.87762,50.15374],[4.82418,50.16932],[4.70207,50.09556],[4.69441,49.99625],[4.44551,49.93722],[4.30589,49.96829],[4.19746,49.9546],[4.1352,50.01508],[4.22825,50.07842],[4.19682,50.13519],[4.12714,50.1355],[4.2052,50.27347],[4.16262,50.28896],[4.13538,50.25784],[4.02795,50.3584],[3.88574,50.32701],[3.84578,50.35323],[3.74546,50.35005],[3.70994,50.30316],[3.65756,50.37076],[3.65552,50.4617],[3.60586,50.49632],[3.4993,50.48921],[3.51992,50.52362],[3.47439,50.53368],[3.37698,50.49109],[3.28634,50.52793],[3.26104,50.70131],[3.20602,50.71139],[3.17839,50.75609],[3.30562,50.75466],[3.36077,50.70962],[3.45439,50.77072],[3.64047,50.72242],[3.67752,50.77062],[3.75857,50.78045],[3.77568,50.74789],[3.8798,50.75146],[3.9097,50.69245],[4.05868,50.69439],[4.14853,50.72834],[4.2467,50.6894],[4.46355,50.75511],[4.52399,50.72724],[4.59727,50.76359],[4.63445,50.74272],[4.64309,50.79755],[4.76014,50.80544],[4.92545,50.74275],[5.00339,50.76594],[5.07039,50.70649],[5.16508,50.6957],[5.16984,50.72257],[5.30912,50.71802],[5.35029,50.74629],[5.47863,50.72352],[5.68786,50.81193],[5.68225,50.75651],[5.7707,50.75132],[5.81963,50.71396],[5.88333,50.70992],[5.89217,50.75518],[5.96561,50.76107],[6.04045,50.74546],[6.03959,50.71833],[6.11066,50.72299],[6.18169,50.62383],[6.26953,50.62519],[6.17812,50.54153],[6.22658,50.49432],[6.35036,50.48854],[6.34298,50.38033],[6.40542,50.32331],[6.30647,50.32019],[6.27889,50.26734],[6.17377,50.23165],[6.19232,50.18203],[6.147,50.17775],[6.13779,50.12985],[6.10245,50.17055],[5.96368,50.17263],[5.96133,50.13136],[5.89532,50.11216],[5.81968,50.01329],[5.83578,49.97892],[5.77502,49.9608],[5.73577,49.89684],[5.78257,49.87573]],[[2.99943,50.81035],[2.93719,50.79361],[2.96,50.7735],[2.92247,50.75729],[2.84203,50.75153],[2.86315,50.70826],[2.91065,50.69409],[2.94001,50.74543],[3.02932,50.77896],[2.99943,50.81035]]],icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/SPW(allonie)2009-2010aerialimagery.png"},{id:"SPW2015",name:"SPW(allonie) 2015 aerial imagery",type:"wms",template:"https://geoservices.wallonie.be/arcgis/services/IMAGERIE/ORTHO_2015/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",polygon:[[[5.78257,49.87573],[5.73919,49.83362],[5.75516,49.79146],[5.78839,49.79665],[5.91064,49.66249],[5.84857,49.59723],[5.87102,49.57599],[5.81857,49.54638],[5.66079,49.55362],[5.61108,49.50603],[5.55603,49.52928],[5.47051,49.49737],[5.45708,49.56703],[5.37522,49.62333],[5.31486,49.61137],[5.33243,49.65263],[5.26851,49.69657],[5.16628,49.69303],[4.99753,49.80006],[4.85164,49.79345],[4.84754,49.86806],[4.89013,49.90893],[4.79117,49.958],[4.87762,50.15374],[4.82418,50.16932],[4.70207,50.09556],[4.69441,49.99625],[4.44551,49.93722],[4.30589,49.96829],[4.19746,49.9546],[4.1352,50.01508],[4.22825,50.07842],[4.19682,50.13519],[4.12714,50.1355],[4.2052,50.27347],[4.16262,50.28896],[4.13538,50.25784],[4.02795,50.3584],[3.88574,50.32701],[3.84578,50.35323],[3.74546,50.35005],[3.70994,50.30316],[3.65756,50.37076],[3.65552,50.4617],[3.60586,50.49632],[3.4993,50.48921],[3.51992,50.52362],[3.47439,50.53368],[3.37698,50.49109],[3.28634,50.52793],[3.26104,50.70131],[3.20602,50.71139],[3.17839,50.75609],[3.30562,50.75466],[3.36077,50.70962],[3.45439,50.77072],[3.64047,50.72242],[3.67752,50.77062],[3.75857,50.78045],[3.77568,50.74789],[3.8798,50.75146],[3.9097,50.69245],[4.05868,50.69439],[4.14853,50.72834],[4.2467,50.6894],[4.46355,50.75511],[4.52399,50.72724],[4.59727,50.76359],[4.63445,50.74272],[4.64309,50.79755],[4.76014,50.80544],[4.92545,50.74275],[5.00339,50.76594],[5.07039,50.70649],[5.16508,50.6957],[5.16984,50.72257],[5.30912,50.71802],[5.35029,50.74629],[5.47863,50.72352],[5.68786,50.81193],[5.68225,50.75651],[5.7707,50.75132],[5.81963,50.71396],[5.88333,50.70992],[5.89217,50.75518],[5.96561,50.76107],[6.04045,50.74546],[6.03959,50.71833],[6.11066,50.72299],[6.18169,50.62383],[6.26953,50.62519],[6.17812,50.54153],[6.22658,50.49432],[6.35036,50.48854],[6.34298,50.38033],[6.40542,50.32331],[6.30647,50.32019],[6.27889,50.26734],[6.17377,50.23165],[6.19232,50.18203],[6.147,50.17775],[6.13779,50.12985],[6.10245,50.17055],[5.96368,50.17263],[5.96133,50.13136],[5.89532,50.11216],[5.81968,50.01329],[5.83578,49.97892],[5.77502,49.9608],[5.73577,49.89684],[5.78257,49.87573]],[[2.99943,50.81035],[2.93719,50.79361],[2.96,50.7735],[2.92247,50.75729],[2.84203,50.75153],[2.86315,50.70826],[2.91065,50.69409],[2.94001,50.74543],[3.02932,50.77896],[2.99943,50.81035]]],icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/SPW(allonie)2009-2010aerialimagery.png"},{id:"SPW2016",name:"SPW(allonie) 2016 aerial imagery",type:"wms",template:"https://geoservices.wallonie.be/arcgis/services/IMAGERIE/ORTHO_2016/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",polygon:[[[5.78257,49.87573],[5.73919,49.83362],[5.75516,49.79146],[5.78839,49.79665],[5.91064,49.66249],[5.84857,49.59723],[5.87102,49.57599],[5.81857,49.54638],[5.66079,49.55362],[5.61108,49.50603],[5.55603,49.52928],[5.47051,49.49737],[5.45708,49.56703],[5.37522,49.62333],[5.31486,49.61137],[5.33243,49.65263],[5.26851,49.69657],[5.16628,49.69303],[4.99753,49.80006],[4.85164,49.79345],[4.84754,49.86806],[4.89013,49.90893],[4.79117,49.958],[4.87762,50.15374],[4.82418,50.16932],[4.70207,50.09556],[4.69441,49.99625],[4.44551,49.93722],[4.30589,49.96829],[4.19746,49.9546],[4.1352,50.01508],[4.22825,50.07842],[4.19682,50.13519],[4.12714,50.1355],[4.2052,50.27347],[4.16262,50.28896],[4.13538,50.25784],[4.02795,50.3584],[3.88574,50.32701],[3.84578,50.35323],[3.74546,50.35005],[3.70994,50.30316],[3.65756,50.37076],[3.65552,50.4617],[3.60586,50.49632],[3.4993,50.48921],[3.51992,50.52362],[3.47439,50.53368],[3.37698,50.49109],[3.28634,50.52793],[3.26104,50.70131],[3.20602,50.71139],[3.17839,50.75609],[3.30562,50.75466],[3.36077,50.70962],[3.45439,50.77072],[3.64047,50.72242],[3.67752,50.77062],[3.75857,50.78045],[3.77568,50.74789],[3.8798,50.75146],[3.9097,50.69245],[4.05868,50.69439],[4.14853,50.72834],[4.2467,50.6894],[4.46355,50.75511],[4.52399,50.72724],[4.59727,50.76359],[4.63445,50.74272],[4.64309,50.79755],[4.76014,50.80544],[4.92545,50.74275],[5.00339,50.76594],[5.07039,50.70649],[5.16508,50.6957],[5.16984,50.72257],[5.30912,50.71802],[5.35029,50.74629],[5.47863,50.72352],[5.68786,50.81193],[5.68225,50.75651],[5.7707,50.75132],[5.81963,50.71396],[5.88333,50.70992],[5.89217,50.75518],[5.96561,50.76107],[6.04045,50.74546],[6.03959,50.71833],[6.11066,50.72299],[6.18169,50.62383],[6.26953,50.62519],[6.17812,50.54153],[6.22658,50.49432],[6.35036,50.48854],[6.34298,50.38033],[6.40542,50.32331],[6.30647,50.32019],[6.27889,50.26734],[6.17377,50.23165],[6.19232,50.18203],[6.147,50.17775],[6.13779,50.12985],[6.10245,50.17055],[5.96368,50.17263],[5.96133,50.13136],[5.89532,50.11216],[5.81968,50.01329],[5.83578,49.97892],[5.77502,49.9608],[5.73577,49.89684],[5.78257,49.87573]],[[2.99943,50.81035],[2.93719,50.79361],[2.96,50.7735],[2.92247,50.75729],[2.84203,50.75153],[2.86315,50.70826],[2.91065,50.69409],[2.94001,50.74543],[3.02932,50.77896],[2.99943,50.81035]]],icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/SPW(allonie)2009-2010aerialimagery.png"},{id:"SPW_ORTHO_LAST",name:"SPW(allonie) most recent aerial imagery",type:"wms",template:"https://geoservices.wallonie.be/arcgis/services/IMAGERIE/ORTHO_LAST/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[5.78257,49.87573],[5.73919,49.83362],[5.75516,49.79146],[5.78839,49.79665],[5.91064,49.66249],[5.84857,49.59723],[5.87102,49.57599],[5.81857,49.54638],[5.66079,49.55362],[5.61108,49.50603],[5.55603,49.52928],[5.47051,49.49737],[5.45708,49.56703],[5.37522,49.62333],[5.31486,49.61137],[5.33243,49.65263],[5.26851,49.69657],[5.16628,49.69303],[4.99753,49.80006],[4.85164,49.79345],[4.84754,49.86806],[4.89013,49.90893],[4.79117,49.958],[4.87762,50.15374],[4.82418,50.16932],[4.70207,50.09556],[4.69441,49.99625],[4.44551,49.93722],[4.30589,49.96829],[4.19746,49.9546],[4.1352,50.01508],[4.22825,50.07842],[4.19682,50.13519],[4.12714,50.1355],[4.2052,50.27347],[4.16262,50.28896],[4.13538,50.25784],[4.02795,50.3584],[3.88574,50.32701],[3.84578,50.35323],[3.74546,50.35005],[3.70994,50.30316],[3.65756,50.37076],[3.65552,50.4617],[3.60586,50.49632],[3.4993,50.48921],[3.51992,50.52362],[3.47439,50.53368],[3.37698,50.49109],[3.28634,50.52793],[3.26104,50.70131],[3.20602,50.71139],[3.17839,50.75609],[3.30562,50.75466],[3.36077,50.70962],[3.45439,50.77072],[3.64047,50.72242],[3.67752,50.77062],[3.75857,50.78045],[3.77568,50.74789],[3.8798,50.75146],[3.9097,50.69245],[4.05868,50.69439],[4.14853,50.72834],[4.2467,50.6894],[4.46355,50.75511],[4.52399,50.72724],[4.59727,50.76359],[4.63445,50.74272],[4.64309,50.79755],[4.76014,50.80544],[4.92545,50.74275],[5.00339,50.76594],[5.07039,50.70649],[5.16508,50.6957],[5.16984,50.72257],[5.30912,50.71802],[5.35029,50.74629],[5.47863,50.72352],[5.68786,50.81193],[5.68225,50.75651],[5.7707,50.75132],[5.81963,50.71396],[5.88333,50.70992],[5.89217,50.75518],[5.96561,50.76107],[6.04045,50.74546],[6.03959,50.71833],[6.11066,50.72299],[6.18169,50.62383],[6.26953,50.62519],[6.17812,50.54153],[6.22658,50.49432],[6.35036,50.48854],[6.34298,50.38033],[6.40542,50.32331],[6.30647,50.32019],[6.27889,50.26734],[6.17377,50.23165],[6.19232,50.18203],[6.147,50.17775],[6.13779,50.12985],[6.10245,50.17055],[5.96368,50.17263],[5.96133,50.13136],[5.89532,50.11216],[5.81968,50.01329],[5.83578,49.97892],[5.77502,49.9608],[5.73577,49.89684],[5.78257,49.87573]],[[2.99943,50.81035],[2.93719,50.79361],[2.96,50.7735],[2.92247,50.75729],[2.84203,50.75153],[2.86315,50.70826],[2.91065,50.69409],[2.94001,50.74543],[3.02932,50.77896],[2.99943,50.81035]]],best:true,icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/SPW(allonie)2009-2010aerialimagery.png"},{id:"SPW_PICC",name:"SPW(allonie) PICC numerical imagery",type:"wms",template:"https://geoservices.wallonie.be/arcgis/services/TOPOGRAPHIE/PICC_VDIFF/MapServer/WmsServer?SERVICE=WMS&VERSION=1.1.1&FORMAT=image/png8&TRANSPARENT=FALSE&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&LAYERS=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29",projection:"EPSG:3857",polygon:[[[5.78257,49.87573],[5.73919,49.83362],[5.75516,49.79146],[5.78839,49.79665],[5.91064,49.66249],[5.84857,49.59723],[5.87102,49.57599],[5.81857,49.54638],[5.66079,49.55362],[5.61108,49.50603],[5.55603,49.52928],[5.47051,49.49737],[5.45708,49.56703],[5.37522,49.62333],[5.31486,49.61137],[5.33243,49.65263],[5.26851,49.69657],[5.16628,49.69303],[4.99753,49.80006],[4.85164,49.79345],[4.84754,49.86806],[4.89013,49.90893],[4.79117,49.958],[4.87762,50.15374],[4.82418,50.16932],[4.70207,50.09556],[4.69441,49.99625],[4.44551,49.93722],[4.30589,49.96829],[4.19746,49.9546],[4.1352,50.01508],[4.22825,50.07842],[4.19682,50.13519],[4.12714,50.1355],[4.2052,50.27347],[4.16262,50.28896],[4.13538,50.25784],[4.02795,50.3584],[3.88574,50.32701],[3.84578,50.35323],[3.74546,50.35005],[3.70994,50.30316],[3.65756,50.37076],[3.65552,50.4617],[3.60586,50.49632],[3.4993,50.48921],[3.51992,50.52362],[3.47439,50.53368],[3.37698,50.49109],[3.28634,50.52793],[3.26104,50.70131],[3.20602,50.71139],[3.17839,50.75609],[3.30562,50.75466],[3.36077,50.70962],[3.45439,50.77072],[3.64047,50.72242],[3.67752,50.77062],[3.75857,50.78045],[3.77568,50.74789],[3.8798,50.75146],[3.9097,50.69245],[4.05868,50.69439],[4.14853,50.72834],[4.2467,50.6894],[4.46355,50.75511],[4.52399,50.72724],[4.59727,50.76359],[4.63445,50.74272],[4.64309,50.79755],[4.76014,50.80544],[4.92545,50.74275],[5.00339,50.76594],[5.07039,50.70649],[5.16508,50.6957],[5.16984,50.72257],[5.30912,50.71802],[5.35029,50.74629],[5.47863,50.72352],[5.68786,50.81193],[5.68225,50.75651],[5.7707,50.75132],[5.81963,50.71396],[5.88333,50.70992],[5.89217,50.75518],[5.96561,50.76107],[6.04045,50.74546],[6.03959,50.71833],[6.11066,50.72299],[6.18169,50.62383],[6.26953,50.62519],[6.17812,50.54153],[6.22658,50.49432],[6.35036,50.48854],[6.34298,50.38033],[6.40542,50.32331],[6.30647,50.32019],[6.27889,50.26734],[6.17377,50.23165],[6.19232,50.18203],[6.147,50.17775],[6.13779,50.12985],[6.10245,50.17055],[5.96368,50.17263],[5.96133,50.13136],[5.89532,50.11216],[5.81968,50.01329],[5.83578,49.97892],[5.77502,49.9608],[5.73577,49.89684],[5.78257,49.87573]],[[2.99943,50.81035],[2.93719,50.79361],[2.96,50.7735],[2.92247,50.75729],[2.84203,50.75153],[2.86315,50.70826],[2.91065,50.69409],[2.94001,50.74543],[3.02932,50.77896],[2.99943,50.81035]]],icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/SPW(allonie)2009-2010aerialimagery.png"},{id:"SPWrelief2014",name:"SPW(allonie) shaded relief",type:"wms",template:"https://geoservices.wallonie.be/arcgis/services/RELIEF/WALLONIE_MNT_2013_2014_HILLSHADE/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2014-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",polygon:[[[5.78257,49.87573],[5.73919,49.83362],[5.75516,49.79146],[5.78839,49.79665],[5.91064,49.66249],[5.84857,49.59723],[5.87102,49.57599],[5.81857,49.54638],[5.66079,49.55362],[5.61108,49.50603],[5.55603,49.52928],[5.47051,49.49737],[5.45708,49.56703],[5.37522,49.62333],[5.31486,49.61137],[5.33243,49.65263],[5.26851,49.69657],[5.16628,49.69303],[4.99753,49.80006],[4.85164,49.79345],[4.84754,49.86806],[4.89013,49.90893],[4.79117,49.958],[4.87762,50.15374],[4.82418,50.16932],[4.70207,50.09556],[4.69441,49.99625],[4.44551,49.93722],[4.30589,49.96829],[4.19746,49.9546],[4.1352,50.01508],[4.22825,50.07842],[4.19682,50.13519],[4.12714,50.1355],[4.2052,50.27347],[4.16262,50.28896],[4.13538,50.25784],[4.02795,50.3584],[3.88574,50.32701],[3.84578,50.35323],[3.74546,50.35005],[3.70994,50.30316],[3.65756,50.37076],[3.65552,50.4617],[3.60586,50.49632],[3.4993,50.48921],[3.51992,50.52362],[3.47439,50.53368],[3.37698,50.49109],[3.28634,50.52793],[3.26104,50.70131],[3.20602,50.71139],[3.17839,50.75609],[3.30562,50.75466],[3.36077,50.70962],[3.45439,50.77072],[3.64047,50.72242],[3.67752,50.77062],[3.75857,50.78045],[3.77568,50.74789],[3.8798,50.75146],[3.9097,50.69245],[4.05868,50.69439],[4.14853,50.72834],[4.2467,50.6894],[4.46355,50.75511],[4.52399,50.72724],[4.59727,50.76359],[4.63445,50.74272],[4.64309,50.79755],[4.76014,50.80544],[4.92545,50.74275],[5.00339,50.76594],[5.07039,50.70649],[5.16508,50.6957],[5.16984,50.72257],[5.30912,50.71802],[5.35029,50.74629],[5.47863,50.72352],[5.68786,50.81193],[5.68225,50.75651],[5.7707,50.75132],[5.81963,50.71396],[5.88333,50.70992],[5.89217,50.75518],[5.96561,50.76107],[6.04045,50.74546],[6.03959,50.71833],[6.11066,50.72299],[6.18169,50.62383],[6.26953,50.62519],[6.17812,50.54153],[6.22658,50.49432],[6.35036,50.48854],[6.34298,50.38033],[6.40542,50.32331],[6.30647,50.32019],[6.27889,50.26734],[6.17377,50.23165],[6.19232,50.18203],[6.147,50.17775],[6.13779,50.12985],[6.10245,50.17055],[5.96368,50.17263],[5.96133,50.13136],[5.89532,50.11216],[5.81968,50.01329],[5.83578,49.97892],[5.77502,49.9608],[5.73577,49.89684],[5.78257,49.87573]],[[2.99943,50.81035],[2.93719,50.79361],[2.96,50.7735],[2.92247,50.75729],[2.84203,50.75153],[2.86315,50.70826],[2.91065,50.69409],[2.94001,50.74543],[3.02932,50.77896],[2.99943,50.81035]]],icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/SPW(allonie)2009-2010aerialimagery.png"},{id:"ssb-sentrum",name:"SSB City Centres overlay",type:"wms",template:"https://ogc.ssb.no/wms.ashx?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=layer_193&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,22],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.ssb.no/arealsentrum/",terms_text:"© SSB",description:"Downtown areas with significant commercial and service activities.",icon:"http://www.fosterhjemsforening.no/wp-content/uploads/2015/06/SSB_logo1.png",overlay:true},{id:"ssb-tettsteder",name:"SSB Urban Areas overlay",type:"wms",template:"https://ogc.ssb.no/wms.ashx?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=layer_198&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[0,22],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"https://www.ssb.no/beftett",terms_text:"© SSB",description:"Human settlements of at least 200 people with less than 200 meters between households",icon:"http://www.fosterhjemsforening.no/wp-content/uploads/2015/06/SSB_logo1.png",overlay:true},{id:"Bern-bern2016-tms",name:"Stadt Bern 10cm (2016)",type:"tms",template:"https://mapproxy.osm.ch/tiles/bern2016/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",zoomExtent:[8,21],polygon:[[[7.29431,46.92376],[7.29827,46.92747],[7.30616,46.93095],[7.30433,46.93623],[7.30686,46.94037],[7.32464,46.94328],[7.32845,46.94641],[7.34141,46.94608],[7.34385,46.94737],[7.34346,46.94879],[7.35136,46.94855],[7.35056,46.95021],[7.35309,46.95193],[7.3582,46.95118],[7.3685,46.95662],[7.37151,46.96073],[7.37503,46.95983],[7.37851,46.96147],[7.38062,46.96547],[7.38321,46.9663],[7.3938,46.96693],[7.40005,46.96918],[7.40829,46.96869],[7.42817,46.9738],[7.43271,46.97269],[7.43536,46.96843],[7.43785,46.96843],[7.44125,46.97679],[7.44569,46.97479],[7.44838,46.97564],[7.4477,46.97901],[7.44405,46.97807],[7.44127,46.97982],[7.45067,46.99015],[7.45221,46.98968],[7.45465,46.97782],[7.46804,46.97583],[7.47079,46.97],[7.47019,46.96741],[7.47816,46.97118],[7.48452,46.97016],[7.48613,46.9679],[7.48579,46.96468],[7.47847,46.9629],[7.48029,46.96068],[7.47893,46.95878],[7.47978,46.9566],[7.47701,46.95446],[7.48405,46.94999],[7.48339,46.9452],[7.49556,46.93962],[7.49351,46.93766],[7.4908,46.93876],[7.4895,46.93687],[7.47667,46.93695],[7.47811,46.93625],[7.4747,46.93392],[7.47535,46.93299],[7.4691,46.92924],[7.47077,46.9255],[7.45857,46.93484],[7.44764,46.93043],[7.43542,46.93497],[7.4338,46.93312],[7.43764,46.93074],[7.41469,46.93682],[7.41384,46.93157],[7.40708,46.93038],[7.40806,46.92563],[7.40213,46.9242],[7.40148,46.92119],[7.38757,46.93045],[7.38231,46.92728],[7.38002,46.92989],[7.38087,46.93241],[7.37487,46.93143],[7.37489,46.93271],[7.36807,46.93239],[7.36831,46.93043],[7.36041,46.92859],[7.36056,46.9272],[7.33878,46.92454],[7.33937,46.91967],[7.32746,46.91903],[7.32692,46.9236],[7.32437,46.92519],[7.30823,46.92229],[7.29431,46.92376]]],terms_text:"Orthophoto 2016, Vermessungsamt Stadt Bern",best:true,description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"Bern-2012",name:"Stadt Bern 10cm/25cm (2012)",type:"tms",template:"https://mapproxy.osm.ch/tiles/bern2012/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",zoomExtent:[14,19],polygon:[[[7.3807,47.00952],[7.38073,47.02301],[7.43853,47.02303],[7.43865,47.01408],[7.45174,47.014],[7.45172,47.00503],[7.54111,47.005],[7.54111,46.99873],[7.54378,46.99871],[7.54375,46.98696],[7.55682,46.987],[7.55685,46.96003],[7.51744,46.96001],[7.51744,46.95108],[7.53051,46.95106],[7.53051,46.92407],[7.51741,46.92405],[7.51738,46.91505],[7.53042,46.91507],[7.53048,46.9061],[7.54358,46.90602],[7.54358,46.87905],[7.55659,46.87903],[7.55662,46.8611],[7.54349,46.86104],[7.5434,46.85212],[7.49095,46.85212],[7.49107,46.87907],[7.47794,46.87909],[7.47797,46.89707],[7.45168,46.89713],[7.45171,46.88808],[7.43855,46.88814],[7.43858,46.87015],[7.41233,46.87015],[7.41236,46.87907],[7.39917,46.87911],[7.3992,46.86108],[7.38613,46.86114],[7.3861,46.85218],[7.373,46.85216],[7.37303,46.86112],[7.34677,46.8611],[7.3468,46.88808],[7.25488,46.88796],[7.25485,46.90596],[7.24172,46.90592],[7.24169,46.91497],[7.22856,46.91493],[7.22833,46.96887],[7.24146,46.96891],[7.24149,46.98688],[7.26769,46.98694],[7.26777,46.99593],[7.28078,46.99595],[7.2809,47.0094],[7.3807,47.00952]]],terms_text:"Orthophoto 2012, Vermessungsamt Stadt Bern",description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"Uster-2008",name:"Stadt Uster Orthophoto 2008 10cm",type:"tms",template:"https://mapproxy.osm.ch/tiles/uster/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2008-01-01T00:00:00.000Z",startDate:"2008-01-01T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[8.68,47.32],[8.74,47.32],[8.74,47.365],[8.68,47.365],[8.68,47.32]]],terms_text:"Stadt Uster Vermessung Orthophoto 2008",description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"Zuerich-zh_luftbild2011-tms",name:"Stadt Zürich Luftbild 2011",type:"tms",template:"https://mapproxy.osm.ch/tiles/zh_luftbild2011/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",zoomExtent:[0,21],polygon:[[[8.44624,47.44143],[8.63178,47.43968],[8.62895,47.31377],[8.44381,47.31555],[8.44624,47.44143]]],terms_text:"Stadt Zürich Luftbild 2011",description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"Zuerich-city_map",name:"Stadtplan Zürich",type:"tms",template:"https://mapproxy.osm.ch/tiles/zh_stadtplan/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",zoomExtent:[0,21],polygon:[[[8.56681,47.34713],[8.56665,47.34706],[8.56563,47.34684],[8.56575,47.34666],[8.56509,47.34645],[8.54207,47.33502],[8.54073,47.33376],[8.5403,47.33396],[8.54019,47.33372],[8.54042,47.33358],[8.5388,47.33208],[8.53642,47.33076],[8.53622,47.33018],[8.53345,47.32992],[8.5318,47.3295],[8.53145,47.32846],[8.53102,47.32789],[8.52974,47.32777],[8.52969,47.32687],[8.52899,47.32698],[8.52813,47.32685],[8.52802,47.32635],[8.52755,47.32639],[8.52762,47.32616],[8.52579,47.32619],[8.52563,47.32575],[8.52426,47.32608],[8.5242,47.32486],[8.52372,47.32416],[8.52304,47.32433],[8.52193,47.32436],[8.52194,47.32394],[8.51932,47.32401],[8.51868,47.32386],[8.51768,47.3232],[8.51642,47.32308],[8.5156,47.32315],[8.51472,47.32272],[8.51295,47.3229],[8.51162,47.32222],[8.50957,47.32202],[8.5095,47.32165],[8.50788,47.32203],[8.50735,47.32173],[8.50529,47.32144],[8.50476,47.32121],[8.5043,47.32074],[8.50317,47.32022],[8.50241,47.32053],[8.50227,47.32082],[8.50152,47.32129],[8.50102,47.32198],[8.50095,47.32259],[8.5006,47.32278],[8.50078,47.3237],[8.50066,47.32451],[8.50098,47.32595],[8.5015,47.3265],[8.50159,47.32732],[8.50188,47.32765],[8.50132,47.32883],[8.5014,47.32903],[8.50069,47.32979],[8.50087,47.33053],[8.50063,47.3311],[8.50112,47.33183],[8.50075,47.33202],[8.50078,47.33224],[8.50106,47.3326],[8.50191,47.33303],[8.5022,47.33364],[8.50177,47.33412],[8.50152,47.33504],[8.50199,47.33666],[8.50161,47.33728],[8.49877,47.33968],[8.49808,47.34169],[8.49702,47.34247],[8.49709,47.34326],[8.49798,47.34365],[8.4981,47.34387],[8.49817,47.34453],[8.49773,47.34521],[8.49636,47.34648],[8.4951,47.34691],[8.49467,47.3476],[8.49285,47.34828],[8.49206,47.3495],[8.49145,47.34964],[8.49128,47.34983],[8.49089,47.35067],[8.49,47.35056],[8.48813,47.352],[8.48691,47.35203],[8.4868,47.3522],[8.48728,47.35311],[8.4871,47.3534],[8.48501,47.35469],[8.48463,47.35536],[8.48463,47.3567],[8.48426,47.35737],[8.48321,47.35814],[8.48272,47.35907],[8.48205,47.35954],[8.47879,47.36078],[8.47698,47.36029],[8.47365,47.36081],[8.47275,47.36079],[8.47169,47.36132],[8.47053,47.36166],[8.46951,47.36438],[8.4664,47.36574],[8.46583,47.3661],[8.46545,47.36664],[8.46485,47.36681],[8.46427,47.36728],[8.46418,47.36838],[8.4649,47.36897],[8.46482,47.36911],[8.46938,47.37136],[8.47042,47.3726],[8.47022,47.37395],[8.46868,47.37382],[8.46761,47.37357],[8.46544,47.37444],[8.46288,47.37603],[8.45995,47.3775],[8.45638,47.37801],[8.45116,47.37817],[8.45047,47.37836],[8.44847,47.37967],[8.44801,47.38025],[8.45174,47.38062],[8.45371,47.38027],[8.45614,47.38072],[8.45669,47.38094],[8.45673,47.38244],[8.45745,47.38222],[8.45843,47.38231],[8.45841,47.38263],[8.45745,47.38325],[8.45767,47.3834],[8.45756,47.38371],[8.45807,47.38388],[8.46004,47.38594],[8.46088,47.38704],[8.46121,47.38795],[8.46104,47.38803],[8.46381,47.39053],[8.46518,47.39132],[8.46556,47.39113],[8.46618,47.39113],[8.46727,47.39065],[8.46697,47.39131],[8.46739,47.3929],[8.4671,47.39334],[8.46607,47.39378],[8.4651,47.39453],[8.46484,47.39481],[8.46488,47.39508],[8.46535,47.39492],[8.46854,47.39461],[8.47018,47.39401],[8.47066,47.39439],[8.47191,47.39388],[8.47208,47.39408],[8.47152,47.3943],[8.47151,47.3949],[8.4721,47.39517],[8.47301,47.39506],[8.47349,47.396],[8.46516,47.39829],[8.46568,47.39922],[8.46759,47.39873],[8.46806,47.39957],[8.46615,47.40006],[8.4677,47.403],[8.4699,47.40298],[8.47551,47.40381],[8.47815,47.40387],[8.47819,47.40508],[8.47738,47.40517],[8.47705,47.40619],[8.47729,47.40914],[8.47703,47.40935],[8.47543,47.40971],[8.47583,47.41077],[8.47605,47.41072],[8.47628,47.41102],[8.47665,47.41097],[8.47725,47.41194],[8.47488,47.41241],[8.47394,47.41222],[8.47303,47.41146],[8.47268,47.41058],[8.47101,47.41094],[8.47113,47.41137],[8.47085,47.41167],[8.47044,47.41159],[8.47031,47.41253],[8.46876,47.41225],[8.46801,47.41334],[8.46863,47.41363],[8.46857,47.41408],[8.46955,47.41484],[8.47007,47.41557],[8.46913,47.41649],[8.46913,47.41693],[8.46962,47.41752],[8.47158,47.41763],[8.4772,47.41974],[8.47688,47.42016],[8.47783,47.42212],[8.47895,47.42172],[8.47937,47.42113],[8.47972,47.42141],[8.48131,47.42134],[8.48171,47.423],[8.48294,47.42266],[8.48292,47.42222],[8.48609,47.42155],[8.48658,47.42164],[8.48683,47.42186],[8.48796,47.42201],[8.48851,47.42271],[8.49019,47.42234],[8.491,47.4239],[8.49006,47.42435],[8.49007,47.42532],[8.49027,47.42536],[8.49017,47.42578],[8.48552,47.42712],[8.48481,47.42784],[8.48466,47.42873],[8.48437,47.42896],[8.48445,47.42979],[8.48579,47.43103],[8.49562,47.43281],[8.50027,47.43442],[8.50207,47.43467],[8.50364,47.43402],[8.50997,47.43213],[8.51155,47.43116],[8.51274,47.43085],[8.516,47.43174],[8.51628,47.43175],[8.51681,47.43133],[8.51872,47.4319],[8.51979,47.43167],[8.52463,47.43126],[8.52549,47.43316],[8.5303,47.43207],[8.53063,47.43266],[8.533,47.43228],[8.53374,47.43251],[8.53467,47.432],[8.53521,47.43188],[8.53606,47.43187],[8.5374,47.4314],[8.53964,47.43126],[8.5401,47.4311],[8.54033,47.43186],[8.54363,47.43143],[8.54284,47.43289],[8.54311,47.43288],[8.54451,47.4325],[8.54459,47.43262],[8.54607,47.43207],[8.54858,47.43142],[8.55009,47.43128],[8.55098,47.43102],[8.55199,47.43104],[8.55535,47.43066],[8.5561,47.42803],[8.55684,47.42624],[8.55783,47.42554],[8.55697,47.4249],[8.55736,47.42472],[8.5569,47.42424],[8.55723,47.4241],[8.55419,47.4208],[8.56082,47.41817],[8.56129,47.41829],[8.56235,47.41632],[8.56282,47.41643],[8.56323,47.41565],[8.56622,47.41632],[8.56692,47.41629],[8.56735,47.41649],[8.5678,47.41684],[8.56875,47.41855],[8.56903,47.41871],[8.5696,47.41868],[8.56944,47.41926],[8.57223,47.41893],[8.57367,47.42004],[8.57378,47.4178],[8.57342,47.41711],[8.57386,47.41438],[8.57384,47.41324],[8.57331,47.41257],[8.5726,47.41207],[8.573,47.41144],[8.58806,47.40797],[8.58894,47.40756],[8.59312,47.40704],[8.59728,47.40631],[8.59722,47.406],[8.59608,47.40612],[8.59378,47.40222],[8.59622,47.40154],[8.5948,47.39918],[8.59725,47.39851],[8.59644,47.39715],[8.59637,47.39663],[8.59623,47.39646],[8.59453,47.39712],[8.59392,47.39647],[8.59335,47.39614],[8.59208,47.39691],[8.59172,47.39681],[8.59148,47.397],[8.58828,47.3958],[8.58905,47.39501],[8.58995,47.39478],[8.58818,47.39351],[8.58752,47.39321],[8.58747,47.39297],[8.58619,47.3928],[8.58442,47.39195],[8.58369,47.39008],[8.58305,47.38905],[8.58316,47.38831],[8.58437,47.38834],[8.58432,47.38894],[8.58492,47.39011],[8.58528,47.3904],[8.58696,47.39017],[8.5869,47.38977],[8.58765,47.38905],[8.58698,47.38793],[8.59181,47.38638],[8.59307,47.38565],[8.59299,47.38523],[8.59354,47.38522],[8.59274,47.38417],[8.59082,47.38476],[8.59013,47.38381],[8.58966,47.384],[8.58956,47.38373],[8.59217,47.38311],[8.59151,47.38244],[8.59384,47.38081],[8.59407,47.38061],[8.59406,47.38029],[8.59556,47.3796],[8.59574,47.37927],[8.59721,47.37849],[8.59674,47.37782],[8.59702,47.37716],[8.5976,47.37661],[8.59705,47.37589],[8.59778,47.37557],[8.59828,47.3751],[8.59855,47.37473],[8.59813,47.37447],[8.6002,47.37331],[8.60053,47.3734],[8.60096,47.37312],[8.60194,47.37198],[8.60192,47.37171],[8.60324,47.37131],[8.60607,47.36871],[8.60745,47.36816],[8.60812,47.36761],[8.61067,47.3673],[8.612,47.36684],[8.61308,47.36776],[8.61344,47.36779],[8.61366,47.36802],[8.61549,47.3677],[8.61645,47.36841],[8.61665,47.36828],[8.61764,47.36681],[8.61709,47.36626],[8.61682,47.36535],[8.61565,47.36466],[8.61495,47.36458],[8.61557,47.36342],[8.61566,47.36273],[8.61482,47.36263],[8.6147,47.36151],[8.61929,47.36121],[8.61996,47.36104],[8.62174,47.36007],[8.62257,47.35983],[8.62187,47.35946],[8.62133,47.35746],[8.62351,47.35592],[8.62352,47.35561],[8.62544,47.35466],[8.62416,47.35397],[8.62245,47.35364],[8.62209,47.35334],[8.61989,47.35367],[8.61976,47.35385],[8.61844,47.35382],[8.61839,47.35425],[8.61708,47.35414],[8.61569,47.35442],[8.6152,47.3541],[8.61386,47.35402],[8.61255,47.35437],[8.61156,47.35394],[8.61107,47.35352],[8.61042,47.35337],[8.60946,47.35352],[8.60776,47.35333],[8.60607,47.35363],[8.60506,47.35359],[8.6038,47.353],[8.60305,47.35219],[8.6032,47.35207],[8.60294,47.35175],[8.603,47.35076],[8.60262,47.35073],[8.6016,47.35073],[8.60104,47.35105],[8.60026,47.35112],[8.5996,47.35145],[8.59859,47.35145],[8.59824,47.35165],[8.59689,47.3514],[8.59666,47.35161],[8.59596,47.35169],[8.59564,47.3519],[8.59494,47.35161],[8.59454,47.35175],[8.5939,47.35161],[8.5935,47.35211],[8.59229,47.3523],[8.59189,47.35278],[8.59118,47.35321],[8.59047,47.35271],[8.59014,47.35286],[8.58846,47.35289],[8.58797,47.35307],[8.58748,47.35267],[8.5863,47.35288],[8.58591,47.35231],[8.5853,47.35201],[8.58462,47.35141],[8.58417,47.35129],[8.58438,47.35116],[8.58398,47.35085],[8.58348,47.35104],[8.58335,47.35087],[8.58221,47.35101],[8.58246,47.35062],[8.57851,47.34873],[8.57827,47.34888],[8.57786,47.34865],[8.57686,47.34878],[8.57688,47.34859],[8.57625,47.34839],[8.57308,47.34751],[8.573,47.34765],[8.57214,47.34744],[8.57163,47.34728],[8.5717,47.34712],[8.57029,47.34672],[8.56968,47.3476],[8.56741,47.34674],[8.56681,47.34713]]],terms_text:"Stadt Zürich Open Government Data",description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"stamen-terrain-background",name:"Stamen Terrain",type:"tms",template:"https://stamen-tiles-{switch:a,b,c,d}.a.ssl.fastly.net/terrain-background/{zoom}/{x}/{y}.jpg",zoomExtent:[4,18],terms_url:"http://maps.stamen.com/#terrain",terms_text:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL",icon:"https://stamen.com/wp-content/uploads/2016/07/stamen_compass_rose_small-01.png"},{id:"stockholm-orto",name:"Stockholm Orthophoto",type:"wms",template:"https://openmap.stockholm.se/bios/wms/app/baggis/web/WMS_STHLM_ORTOFOTO_2016?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=p_1002630&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[5,21],polygon:[[[17.8755,59.2625],[17.94411,59.27307],[18.09551,59.22603],[18.19582,59.22786],[18.20297,59.24886],[18.12538,59.30779],[18.1786,59.32566],[18.09876,59.3721],[18.04264,59.37816],[18.00796,59.34334],[17.93655,59.37641],[17.97483,59.40246],[17.90882,59.4417],[17.8854,59.43792],[17.88918,59.41382],[17.84077,59.38568],[17.81708,59.40054],[17.77725,59.39984],[17.75622,59.3916],[17.79899,59.36204],[17.94993,59.31121],[17.85622,59.28412],[17.8755,59.2625]]],terms_url:"http://dataportalen.stockholm.se/dataportalen/",terms_text:"© Stockholm municipality, CC0",best:true,description:"Orthophotos from the municipality of Stockholm 2016, CC0 license",icon:"https://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Stockholm_vapen_bra.svg/196px-Stockholm_vapen_bra.svg.png"},{id:"Surrey-Air_Survey",name:"Surrey Air Survey",type:"tms",template:"https://{switch:a,b,c}.surrey.aerial.openstreetmap.org.uk/layer/gb_surrey_aerial/{zoom}/{x}/{y}.png",endDate:"2009-01-01T00:00:00.000Z",startDate:"2007-01-01T00:00:00.000Z",zoomExtent:[8,21],polygon:[[[-0.75248,51.08219],[-0.75952,51.08563],[-0.80143,51.14579],[-0.83989,51.14407],[-0.83577,51.18024],[-0.85295,51.20113],[-0.85227,51.20962],[-0.84952,51.2179],[-0.82669,51.24037],[-0.8121,51.24692],[-0.77365,51.24596],[-0.75442,51.23811],[-0.75408,51.23392],[-0.74464,51.23338],[-0.74307,51.28472],[-0.7515,51.30695],[-0.76644,51.3121],[-0.78206,51.32702],[-0.78154,51.33881],[-0.73743,51.37205],[-0.71923,51.37697],[-0.67958,51.3848],[-0.68078,51.39015],[-0.65314,51.39176],[-0.63014,51.39058],[-0.62911,51.39701],[-0.62344,51.39776],[-0.61314,51.42956],[-0.60025,51.44591],[-0.58671,51.44454],[-0.57624,51.4532],[-0.56268,51.45235],[-0.54774,51.447],[-0.53727,51.44486],[-0.5371,51.45267],[-0.54396,51.45459],[-0.54053,51.46989],[-0.53092,51.47609],[-0.50912,51.47448],[-0.5086,51.46957],[-0.49006,51.46828],[-0.45264,51.46069],[-0.44869,51.44293],[-0.44148,51.44186],[-0.44183,51.43694],[-0.41127,51.43801],[-0.40149,51.42795],[-0.38071,51.42624],[-0.38054,51.41617],[-0.34913,51.41382],[-0.3275,51.40375],[-0.30398,51.39904],[-0.30192,51.37547],[-0.30948,51.36969],[-0.31119,51.35297],[-0.29557,51.35415],[-0.29231,51.36733],[-0.2851,51.36808],[-0.27875,51.37719],[-0.26553,51.38372],[-0.24115,51.3848],[-0.21231,51.36283],[-0.21077,51.34986],[-0.19086,51.35029],[-0.15429,51.33388],[-0.14966,51.30577],[-0.10743,51.29665],[-0.08872,51.30996],[-0.08786,51.32208],[-0.0652,51.32154],[-0.06417,51.32648],[-0.05198,51.32637],[-0.05284,51.33463],[-0.03308,51.34309],[0.00192,51.33763],[0.01188,51.3282],[0.01393,51.29944],[0.02029,51.29944],[0.02406,51.30727],[0.03316,51.30867],[0.04552,51.30545],[0.05239,51.28774],[0.06166,51.25778],[0.06406,51.24155],[0.04621,51.21263],[0.04071,51.21091],[0.04483,51.19898],[0.04947,51.19973],[0.05582,51.19446],[0.06114,51.17907],[0.06234,51.15421],[0.05771,51.14171],[0.02046,51.13654],[-0.0446,51.13364],[-0.1567,51.13525],[-0.15721,51.129],[-0.22879,51.11834],[-0.24733,51.11834],[-0.25008,51.12114],[-0.29935,51.1137],[-0.32218,51.11198],[-0.32235,51.10584],[-0.3596,51.10196],[-0.35891,51.11133],[-0.38638,51.11176],[-0.3869,51.10625],[-0.4281,51.09472],[-0.48568,51.09516],[-0.48713,51.08723],[-0.52974,51.08654],[-0.53023,51.07899],[-0.61046,51.07655],[-0.60997,51.08067],[-0.6578,51.07922],[-0.65828,51.07434],[-0.68365,51.07075],[-0.6998,51.07083],[-0.72966,51.07449],[-0.75248,51.08219]]]},{id:"Swietochlowice-2008",name:"Świętochłowice: Orthophotomap 2008 (aerial image)",type:"wms",template:"https://swietochlowice.geoportal2.pl/map/wms/wms.php?SERVICE=WMS&REQUEST=GetMap&VERSION=1.1.1&LAYERS=ortofotomapa2008&STYLES=&FORMAT=image/jpeg&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&SRS={proj}",projection:"EPSG:4326",endDate:"2008-01-01T00:00:00.000Z",startDate:"2008-01-01T00:00:00.000Z",zoomExtent:[0,23],polygon:[[[18.92818,50.32151],[18.93028,50.31766],[18.93402,50.31392],[18.93193,50.31119],[18.92556,50.30575],[18.92429,50.30354],[18.92964,50.30206],[18.93083,50.3004],[18.9283,50.2961],[18.93573,50.29356],[18.93885,50.28965],[18.9371,50.28727],[18.93966,50.28206],[18.93402,50.27553],[18.92953,50.27543],[18.93037,50.27338],[18.93413,50.27104],[18.93239,50.26883],[18.92716,50.26926],[18.90447,50.27371],[18.89758,50.27612],[18.89569,50.28028],[18.89783,50.28566],[18.89712,50.2878],[18.88292,50.29258],[18.88031,50.29473],[18.88311,50.29894],[18.88819,50.30164],[18.88326,50.30717],[18.88444,50.31183],[18.89149,50.31809],[18.89306,50.32558],[18.89568,50.32704],[18.92818,50.32151]]],terms_text:"Urząd Miasta Świętochłowice"},{id:"Swietochlowice-2009",name:"Świętochłowice: Orthophotomap 2009 (aerial image)",type:"wms",template:"https://swietochlowice.geoportal2.pl/map/wms/wms.php?SERVICE=WMS&REQUEST=GetMap&VERSION=1.1.1&LAYERS=ortofotomapa2009&STYLES=&FORMAT=image/jpeg&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&SRS={proj}",projection:"EPSG:4326",endDate:"2009-01-01T00:00:00.000Z",startDate:"2009-01-01T00:00:00.000Z",zoomExtent:[0,23],polygon:[[[18.92818,50.32151],[18.93028,50.31766],[18.93402,50.31392],[18.93193,50.31119],[18.92556,50.30575],[18.92429,50.30354],[18.92964,50.30206],[18.93083,50.3004],[18.9283,50.2961],[18.93573,50.29356],[18.93885,50.28965],[18.9371,50.28727],[18.93966,50.28206],[18.93402,50.27553],[18.92953,50.27543],[18.93037,50.27338],[18.93413,50.27104],[18.93239,50.26883],[18.92716,50.26926],[18.90447,50.27371],[18.89758,50.27612],[18.89569,50.28028],[18.89783,50.28566],[18.89712,50.2878],[18.88292,50.29258],[18.88031,50.29473],[18.88311,50.29894],[18.88819,50.30164],[18.88326,50.30717],[18.88444,50.31183],[18.89149,50.31809],[18.89306,50.32558],[18.89568,50.32704],[18.92818,50.32151]]],terms_text:"Urząd Miasta Świętochłowice"},{id:"Swietochlowice-2012",name:"Świętochłowice: Orthophotomap 2012 (aerial image)",type:"wms",template:"https://swietochlowice.geoportal2.pl/map/wms/wms.php?SERVICE=WMS&REQUEST=GetMap&VERSION=1.1.1&LAYERS=ortofotomapa2012&STYLES=&FORMAT=image/jpeg&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&SRS={proj}",projection:"EPSG:4326",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",zoomExtent:[0,23],polygon:[[[18.92818,50.32151],[18.93028,50.31766],[18.93402,50.31392],[18.93193,50.31119],[18.92556,50.30575],[18.92429,50.30354],[18.92964,50.30206],[18.93083,50.3004],[18.9283,50.2961],[18.93573,50.29356],[18.93885,50.28965],[18.9371,50.28727],[18.93966,50.28206],[18.93402,50.27553],[18.92953,50.27543],[18.93037,50.27338],[18.93413,50.27104],[18.93239,50.26883],[18.92716,50.26926],[18.90447,50.27371],[18.89758,50.27612],[18.89569,50.28028],[18.89783,50.28566],[18.89712,50.2878],[18.88292,50.29258],[18.88031,50.29473],[18.88311,50.29894],[18.88819,50.30164],[18.88326,50.30717],[18.88444,50.31183],[18.89149,50.31809],[18.89306,50.32558],[18.89568,50.32704],[18.92818,50.32151]]],terms_text:"Urząd Miasta Świętochłowice"},{id:"Szeged_2011",name:"Szeged orthophoto 2011",type:"tms",template:"http://e.tile.openstreetmap.hu/szeged-2011-10cm/{zoom}/{x}/{y}.png",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",zoomExtent:[10,22],polygon:[[[20.14599,46.22811],[20.13323,46.22904],[20.12584,46.22987],[20.12233,46.23099],[20.12085,46.23175],[20.11897,46.23351],[20.11312,46.24136],[20.11203,46.2433],[20.11157,46.245],[20.11119,46.24709],[20.11129,46.24877],[20.11159,46.25097],[20.11222,46.2528],[20.11299,46.25427],[20.11354,46.25535],[20.11477,46.2568],[20.13523,46.27685],[20.13664,46.27751],[20.13789,46.27803],[20.13939,46.27835],[20.14088,46.27846],[20.16115,46.27816],[20.16211,46.27816],[20.16359,46.2777],[20.16618,46.27615],[20.16878,46.27386],[20.16961,46.27144],[20.16959,46.27045],[20.17009,46.27044],[20.17399,46.26433],[20.17662,46.25829],[20.1948,46.25492],[20.18587,46.24481],[20.18466,46.24531],[20.17804,46.23831],[20.17818,46.23771],[20.17953,46.2371],[20.17257,46.23002],[20.16983,46.23504],[20.16877,46.23629],[20.16703,46.23785],[20.16594,46.23873],[20.16544,46.239],[20.16548,46.239],[20.16352,46.24014],[20.16021,46.2412],[20.15927,46.24153],[20.15927,46.24158],[20.15835,46.24185],[20.15495,46.24229],[20.15108,46.23515],[20.14938,46.23246],[20.14599,46.22811]]],terms_url:"http://www.geo.u-szeged.hu",terms_text:"SZTE TFGT - University of Szeged",best:true,description:"Inner part of Szeged"},{id:"TW_NLSC_WMS_EMAP6",name:"Taiwan e-Map Open Data",type:"tms",template:"https://wmts.nlsc.gov.tw/wmts/EMAP6_OPENDATA/default/GoogleMapsCompatible/{zoom}/{y}/{x}",zoomExtent:[0,15],polygon:[[[121.2237,25.76997],[122.2251,26.60305],[122.9312,22.57058],[120.6771,20.72799],[118.2509,23.26265],[118.3036,23.30751],[118.1978,24.34453],[118.1036,24.36172],[118.2283,24.49486],[118.4416,24.55302],[118.6024,24.46068],[120.0474,25.38843],[119.8935,25.78169],[119.787,26.2048],[120.4578,26.53253],[121.2237,25.76997]]],terms_url:"https://maps.nlsc.gov.tw/",terms_text:"© National Land Surveying and Mapping Center, Taiwan OGDL 1.0",icon:"https://osmlab.github.io/editor-layer-index/sources/asia/tw/Taiwane-MapOpenData.png"},{id:"TW_NLSC_WMS_LANDSECT",name:"Taiwan Land-Section Data",type:"wms",template:"https://wms.nlsc.gov.tw/wms?VERSION=1.1.1&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=LANDSECT&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[121.2237,25.76997],[122.2251,26.60305],[122.9312,22.57058],[120.6771,20.72799],[118.2509,23.26265],[118.3036,23.30751],[118.1978,24.34453],[118.1036,24.36172],[118.2283,24.49486],[118.4416,24.55302],[118.6024,24.46068],[120.0474,25.38843],[119.8935,25.78169],[119.787,26.2048],[120.4578,26.53253],[121.2237,25.76997]]],terms_url:"https://maps.nlsc.gov.tw/",terms_text:"© National Land Surveying and Mapping Center, Taiwan OGDL 1.0",icon:"https://osmlab.github.io/editor-layer-index/sources/asia/tw/Taiwane-MapOpenData.png"},{id:"TW_NLSC_WMS_Village",name:"Taiwan Village Boundaries",type:"wms",template:"https://wms.nlsc.gov.tw/wms?VERSION=1.1.1&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Village&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[121.2237,25.76997],[122.2251,26.60305],[122.9312,22.57058],[120.6771,20.72799],[118.2509,23.26265],[118.3036,23.30751],[118.1978,24.34453],[118.1036,24.36172],[118.2283,24.49486],[118.4416,24.55302],[118.6024,24.46068],[120.0474,25.38843],[119.8935,25.78169],[119.787,26.2048],[120.4578,26.53253],[121.2237,25.76997]]],terms_url:"https://maps.nlsc.gov.tw/",terms_text:"© National Land Surveying and Mapping Center, Taiwan OGDL 1.0",icon:"https://osmlab.github.io/editor-layer-index/sources/asia/tw/Taiwane-MapOpenData.png"},{id:"TEClines",name:"TEC bus lines",type:"wms",template:"https://geodata.tec-wl.be/arcgis/services/Lignes/MapServer/WMSServer?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[5.40236,49.50688],[5.81984,49.54253],[6.1714,49.62089],[5.85829,49.68846],[5.7704,49.85343],[5.894,50.11832],[6.15492,50.13593],[6.39662,50.36775],[6.28126,50.46576],[6.11372,50.7933],[5.72646,50.77941],[5.70998,50.85229],[5.61385,50.80024],[5.46278,50.79677],[5.21284,50.70119],[4.94917,50.80371],[4.75966,50.80718],[4.72121,50.88869],[4.60585,50.77941],[4.48775,50.85749],[4.36964,50.85056],[4.15266,50.72728],[3.59236,50.76725],[3.29848,50.76377],[3.04579,50.80024],[2.86177,50.72728],[2.89748,50.68553],[3.0815,50.76725],[3.19685,50.68031],[3.28749,50.52691],[3.67201,50.47625],[3.68574,50.31692],[3.99062,50.27305],[4.14992,50.17465],[4.24055,50.08661],[4.15266,49.99842],[4.18562,49.96486],[4.55366,49.94542],[4.69923,50.03372],[4.81184,50.0919],[4.84206,50.01607],[4.86677,49.90475],[4.85854,49.80382],[5.08925,49.7648],[5.34743,49.60843],[5.40236,49.50688]]],icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/TECbusstops.png",overlay:true},{id:"TECstops",name:"TEC bus stops",type:"wms",template:"https://geodata.tec-wl.be/arcgis/services/Poteaux/MapServer/WMSServer?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[5.40236,49.50688],[5.81984,49.54253],[6.1714,49.62089],[5.85829,49.68846],[5.7704,49.85343],[5.894,50.11832],[6.15492,50.13593],[6.39662,50.36775],[6.28126,50.46576],[6.11372,50.7933],[5.72646,50.77941],[5.70998,50.85229],[5.61385,50.80024],[5.46278,50.79677],[5.21284,50.70119],[4.94917,50.80371],[4.75966,50.80718],[4.72121,50.88869],[4.60585,50.77941],[4.48775,50.85749],[4.36964,50.85056],[4.15266,50.72728],[3.59236,50.76725],[3.29848,50.76377],[3.04579,50.80024],[2.86177,50.72728],[2.89748,50.68553],[3.0815,50.76725],[3.19685,50.68031],[3.28749,50.52691],[3.67201,50.47625],[3.68574,50.31692],[3.99062,50.27305],[4.14992,50.17465],[4.24055,50.08661],[4.15266,49.99842],[4.18562,49.96486],[4.55366,49.94542],[4.69923,50.03372],[4.81184,50.0919],[4.84206,50.01607],[4.86677,49.90475],[4.85854,49.80382],[5.08925,49.7648],[5.34743,49.60843],[5.40236,49.50688]]],icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/TECbusstops.png",overlay:true},{id:"teotonio_vilela",name:"Teotonio Vilela AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Teotonio%20Vilela&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.31164,-9.95468],[-36.31158,-9.94382],[-36.31145,-9.93197],[-36.31127,-9.92436],[-36.31123,-9.91848],[-36.31119,-9.91637],[-36.31141,-9.91324],[-36.3111,-9.90922],[-36.31108,-9.90318],[-36.31099,-9.89379],[-36.31089,-9.8842],[-36.31078,-9.87412],[-36.31068,-9.86457],[-36.3318,-9.86432],[-36.34001,-9.86437],[-36.3478,-9.86425],[-36.35917,-9.8642],[-36.37047,-9.86404],[-36.38448,-9.86386],[-36.40164,-9.86364],[-36.40221,-9.9225],[-36.40249,-9.93177],[-36.40259,-9.94183],[-36.40248,-9.94804],[-36.40266,-9.9537],[-36.3855,-9.95384],[-36.38283,-9.95392],[-36.37096,-9.95399],[-36.36232,-9.95423],[-36.34747,-9.95422],[-36.33287,-9.95446],[-36.3291,-9.95456],[-36.32089,-9.95459],[-36.31164,-9.95468]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"tnris.org",name:"Texas Orthophoto",type:"tms",template:"https://txgi.tnris.org/login/path/ecology-fiona-poem-romeo/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=texas&STYLE=&FORMAT=image/png&tileMatrixSet=0to20&tileMatrix=0to20:{zoom}&tileRow={y}&tileCol={x}",startDate:"2012-01-01T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[-99.99854,34.56018],[-95.55655,33.99257],[-93.89679,33.61039],[-93.98468,32.04103],[-93.41614,31.02505],[-93.74531,29.57268],[-96.50492,28.23159],[-97.36942,26.95467],[-97.04867,25.8053],[-99.07342,26.32559],[-100.76599,29.02532],[-102.33154,29.84339],[-103.13355,28.88112],[-104.28879,29.28831],[-104.72698,29.94816],[-104.72697,30.23535],[-106.5345,31.78457],[-106.75767,31.78457],[-106.75766,32.04386],[-106.61848,32.04385],[-103.11949,32.04376],[-103.09544,36.50046],[-103.05798,36.54269],[-100.00042,36.54222],[-99.99854,34.56018]]],terms_url:"https://tnris.org/maps-and-data/online-mapping-services",terms_text:"Texas Natural Resources Information System"},{id:"US-TIGER-Roads-2017",name:"TIGER Roads 2017",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/styles/v1/openstreetmapus/cj8dftc3q1ecn2tnx9qhwyj0c/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcHVzIiwiYSI6ImNpcnF4Ym43dDBoOXZmYW04bWhlNWdrY2EifQ.4SFexuTUuKkZeerO3dgtmw",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[-124.76179,48.41301],[-124.60595,45.90245],[-124.99343,40.05576],[-122.53697,36.85661],[-119.97759,33.00641],[-117.67593,32.46302],[-114.86123,32.47999],[-111.00893,31.33601],[-108.19927,31.326],[-108.18711,31.77551],[-106.53072,31.78209],[-106.48421,31.74645],[-106.42932,31.75206],[-106.28689,31.56133],[-106.20525,31.4467],[-105.02053,30.5361],[-104.58819,29.69979],[-103.25189,28.89087],[-102.71736,29.39206],[-102.1514,29.74757],[-101.25529,29.48105],[-100.00624,28.00822],[-99.23511,26.4476],[-98.01091,25.9928],[-97.43502,25.8266],[-96.95553,25.98216],[-96.80617,27.79782],[-95.55633,28.58761],[-93.74053,29.47421],[-90.90285,28.85645],[-88.01567,28.99443],[-88.01625,30.00389],[-86.02775,30.00475],[-84.01879,28.99618],[-81.9972,25.98268],[-81.99666,25.01349],[-84.01656,25.01258],[-84.01601,24.00527],[-80.02,24.0071],[-79.89011,26.85507],[-80.02453,32.01613],[-75.41474,35.05319],[-74.02112,39.57279],[-72.00202,40.99125],[-69.87974,40.99205],[-69.84893,43.26199],[-66.94528,44.71049],[-67.75966,47.099],[-69.25051,47.51223],[-70.46149,46.21766],[-71.41227,45.25488],[-72.02225,45.00598],[-75.07988,44.98029],[-76.90231,43.80246],[-78.76239,43.62496],[-79.15798,43.44626],[-79.00601,42.80053],[-82.66248,41.68895],[-82.17616,43.58854],[-83.2814,46.13885],[-87.50645,48.01427],[-88.34922,48.29633],[-89.43531,47.98378],[-93.99811,49.00671],[-95.11054,49.412],[-96.01312,49.00605],[-123.32289,49.00429],[-123.22752,48.18499],[-124.76179,48.41301]],[[-160.57876,22.50629],[-160.57822,21.49846],[-158.74706,21.24398],[-157.50832,20.9958],[-155.99619,18.77902],[-154.62178,18.7587],[-154.68902,19.88057],[-156.29276,21.22259],[-157.50474,21.9985],[-159.00937,22.50702],[-160.57876,22.50629]],[[-167.1572,68.722],[-164.8554,67.0255],[-168.0022,66.0018],[-169.0087,66.0015],[-169.0075,64.9988],[-172.5143,63.8767],[-173.8197,59.7401],[-178.0001,52.2446],[-177.9993,51.2554],[-171.4689,51.8215],[-162.4025,53.9567],[-159.0076,55.0025],[-158.0191,55.0028],[-151.9963,55.9992],[-151.5003,57.9988],[-151.5013,58.992],[-138.516,58.9953],[-138.515,57.9986],[-133.9948,54.0032],[-130.0044,54.0043],[-130.0071,57.0001],[-131.9759,56.9995],[-135.123,59.7566],[-138.0072,59.9918],[-139.1716,60.4127],[-140.9874,61.0119],[-140.9684,69.9535],[-156.1769,71.5633],[-160.4136,70.7398],[-163.0218,69.9707],[-164.9717,68.9947],[-167.1572,68.722]],[[-68.2,17.8],[-64.32,17.38],[-64.64,18.36],[-65.33,18.57],[-67.9,18.67],[-68.2,17.8]],[[146.2,15.4],[145.7,15.6],[144.2,13.2],[144.8,12.9],[146.2,15.4]],[[179.99,52.2],[172,53.5],[172,52.5],[179.99,51],[179.99,52.2]]],description:"Yellow = Public domain map data from the US Census. Red = Data not found in OpenStreetMap",icon:"https://osmlab.github.io/editor-layer-index/sources/north-america/us/TIGER2017RoadsOverlay.png",overlay:true},{id:"US-TIGER-Roads-2018",name:"TIGER Roads 2018",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/styles/v1/openstreetmapus/cjo1wbulo3ub82ro1c9onlzmh/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcHVzIiwiYSI6ImNpcnF4Ym43dDBoOXZmYW04bWhlNWdrY2EifQ.4SFexuTUuKkZeerO3dgtmw",endDate:"2018-01-01T00:00:00.000Z",startDate:"2018-01-01T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[-124.76179,48.41301],[-124.60595,45.90245],[-124.99343,40.05576],[-122.53697,36.85661],[-119.97759,33.00641],[-117.67593,32.46302],[-114.86123,32.47999],[-111.00893,31.33601],[-108.19927,31.326],[-108.18711,31.77551],[-106.53072,31.78209],[-106.48421,31.74645],[-106.42932,31.75206],[-106.28689,31.56133],[-106.20525,31.4467],[-105.02053,30.5361],[-104.58819,29.69979],[-103.25189,28.89087],[-102.71736,29.39206],[-102.1514,29.74757],[-101.25529,29.48105],[-100.00624,28.00822],[-99.23511,26.4476],[-98.01091,25.9928],[-97.43502,25.8266],[-96.95553,25.98216],[-96.80617,27.79782],[-95.55633,28.58761],[-93.74053,29.47421],[-90.90285,28.85645],[-88.01567,28.99443],[-88.01625,30.00389],[-86.02775,30.00475],[-84.01879,28.99618],[-81.9972,25.98268],[-81.99666,25.01349],[-84.01656,25.01258],[-84.01601,24.00527],[-80.02,24.0071],[-79.89011,26.85507],[-80.02453,32.01613],[-75.41474,35.05319],[-74.02112,39.57279],[-72.00202,40.99125],[-69.87974,40.99205],[-69.84893,43.26199],[-66.94528,44.71049],[-67.75966,47.099],[-69.25051,47.51223],[-70.46149,46.21766],[-71.41227,45.25488],[-72.02225,45.00598],[-75.07988,44.98029],[-76.90231,43.80246],[-78.76239,43.62496],[-79.15798,43.44626],[-79.00601,42.80053],[-82.66248,41.68895],[-82.17616,43.58854],[-83.2814,46.13885],[-87.50645,48.01427],[-88.34922,48.29633],[-89.43531,47.98378],[-93.99811,49.00671],[-95.11054,49.412],[-96.01312,49.00605],[-123.32289,49.00429],[-123.22752,48.18499],[-124.76179,48.41301]],[[-160.57876,22.50629],[-160.57822,21.49846],[-158.74706,21.24398],[-157.50832,20.9958],[-155.99619,18.77902],[-154.62178,18.7587],[-154.68902,19.88057],[-156.29276,21.22259],[-157.50474,21.9985],[-159.00937,22.50702],[-160.57876,22.50629]],[[-167.1572,68.722],[-164.8554,67.0255],[-168.0022,66.0018],[-169.0087,66.0015],[-169.0075,64.9988],[-172.5143,63.8767],[-173.8197,59.7401],[-178.0001,52.2446],[-177.9993,51.2554],[-171.4689,51.8215],[-162.4025,53.9567],[-159.0076,55.0025],[-158.0191,55.0028],[-151.9963,55.9992],[-151.5003,57.9988],[-151.5013,58.992],[-138.516,58.9953],[-138.515,57.9986],[-133.9948,54.0032],[-130.0044,54.0043],[-130.0071,57.0001],[-131.9759,56.9995],[-135.123,59.7566],[-138.0072,59.9918],[-139.1716,60.4127],[-140.9874,61.0119],[-140.9684,69.9535],[-156.1769,71.5633],[-160.4136,70.7398],[-163.0218,69.9707],[-164.9717,68.9947],[-167.1572,68.722]],[[-68.2,17.8],[-64.32,17.38],[-64.64,18.36],[-65.33,18.57],[-67.9,18.67],[-68.2,17.8]],[[146.2,15.4],[145.7,15.6],[144.2,13.2],[144.8,12.9],[146.2,15.4]],[[179.99,52.2],[172,53.5],[172,52.5],[179.99,51],[179.99,52.2]]],description:"Yellow = Public domain map data from the US Census. Red = Data not found in OpenStreetMap",icon:"https://osmlab.github.io/editor-layer-index/sources/north-america/us/TIGER2017RoadsOverlay.png",overlay:true},{id:"tirol.gv.at-contourlines",name:"Tiris: contour lines",type:"wms",template:"https://gis.tirol.gv.at/arcgis/services/Service_Public/terrain/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Hoehenschichtlinien_20m&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[15,22],polygon:[[[10.43998,47.59768],[10.47886,47.59925],[10.50277,47.58656],[10.4838,47.55979],[10.51312,47.5435],[10.57177,47.54582],[10.57004,47.56212],[10.60109,47.58074],[10.63904,47.5691],[10.70804,47.57027],[10.71149,47.54932],[10.76841,47.55048],[10.78566,47.52603],[10.89605,47.55048],[10.93572,47.5237],[10.934,47.50506],[10.89088,47.49573],[10.95125,47.49107],[10.9547,47.46776],[11.003,47.43276],[10.99092,47.40825],[11.10304,47.40475],[11.11511,47.41993],[11.20998,47.4456],[11.26863,47.44093],[11.26691,47.41059],[11.29451,47.4421],[11.33073,47.46076],[11.38248,47.45843],[11.3704,47.47592],[11.4394,47.53069],[11.467,47.51787],[11.57394,47.5237],[11.57567,47.55863],[11.59809,47.59121],[11.63431,47.60633],[11.66881,47.5947],[11.793,47.60284],[11.83958,47.59238],[11.84993,47.61098],[12.00689,47.63656],[12.03622,47.62494],[12.07761,47.62726],[12.10866,47.61912],[12.19491,47.62261],[12.15351,47.68768],[12.15868,47.7167],[12.18111,47.71206],[12.21906,47.72482],[12.24148,47.75382],[12.27253,47.7515],[12.2846,47.73178],[12.26563,47.69581],[12.33635,47.7109],[12.37602,47.69581],[12.44329,47.70277],[12.45364,47.69232],[12.45364,47.6749],[12.51057,47.63191],[12.53126,47.64586],[12.58991,47.63424],[12.57956,47.61098],[12.66581,47.5947],[12.67961,47.57492],[12.64511,47.55048],[12.66753,47.53185],[12.68478,47.50389],[12.71238,47.48175],[12.66753,47.45609],[12.64166,47.45959],[12.65028,47.44326],[12.62096,47.40709],[12.57439,47.38607],[12.55024,47.39658],[12.49159,47.37205],[12.50884,47.35102],[12.48814,47.32063],[12.43467,47.32297],[12.41397,47.30426],[12.36395,47.30894],[12.3122,47.32764],[12.2708,47.29841],[12.17766,47.29373],[12.14833,47.28437],[12.11729,47.29958],[12.09831,47.27501],[12.12591,47.25042],[12.09659,47.19771],[12.11039,47.14846],[12.14143,47.10974],[12.13799,47.08977],[12.15006,47.07568],[12.00517,47.04395],[11.92065,47.02985],[11.83095,46.99103],[11.78783,46.98633],[11.77403,46.9675],[11.73091,46.96514],[11.70676,46.98986],[11.64294,46.99456],[11.61189,47.00515],[11.53254,46.97809],[11.49287,47.00868],[11.44457,46.9675],[11.4049,46.96161],[11.34453,46.98633],[11.20309,46.9569],[11.17549,46.96161],[11.17721,46.94395],[11.14616,46.92275],[11.12546,46.92275],[11.10822,46.90389],[11.11511,46.88857],[11.08234,46.85319],[11.09614,46.8237],[11.05129,46.80245],[11.02369,46.76229],[10.91848,46.77056],[10.88398,46.75756],[10.84085,46.77292],[10.82361,46.76938],[10.79083,46.78946],[10.75633,46.77883],[10.72529,46.79064],[10.74771,46.82724],[10.69424,46.84494],[10.67354,46.86971],[10.60799,46.85319],[10.55452,46.82724],[10.52002,46.83904],[10.46827,46.83668],[10.45103,46.8815],[10.47517,46.93217],[10.41308,46.95572],[10.3941,46.98868],[10.3665,46.98044],[10.33891,46.94748],[10.32856,46.91803],[10.29751,46.91332],[10.25956,46.9251],[10.23886,46.86263],[10.16642,46.83904],[10.13537,46.8473],[10.13192,46.87207],[10.10604,46.88621],[10.09224,46.92746],[10.12502,46.95219],[10.14572,47.00044],[10.11294,47.02514],[10.15262,47.04983],[10.13019,47.06276],[10.13364,47.09095],[10.15952,47.12617],[10.20091,47.1426],[10.19229,47.20005],[10.20954,47.21294],[10.18711,47.23989],[10.20091,47.25628],[10.16814,47.2633],[10.16814,47.28086],[10.20264,47.29139],[10.24404,47.28905],[10.33373,47.32063],[10.38893,47.39074],[10.4148,47.39424],[10.4562,47.43626],[10.44758,47.48175],[10.41998,47.50506],[10.4424,47.55514],[10.41308,47.57143],[10.43998,47.59768]],[[12.4019,47.16019],[12.35705,47.13908],[12.35015,47.11208],[12.31048,47.10739],[12.25528,47.07215],[12.21388,47.05923],[12.20008,47.02632],[12.14488,47.03102],[12.11556,47.0075],[12.13626,46.95926],[12.16731,46.9357],[12.14316,46.91096],[12.18973,46.90036],[12.21733,46.86617],[12.25528,46.88386],[12.27425,46.88268],[12.2984,46.83432],[12.27598,46.82016],[12.27943,46.77765],[12.35015,46.77174],[12.3812,46.715],[12.44329,46.68425],[12.51402,46.67004],[12.56576,46.64873],[12.62958,46.65347],[12.70203,46.65347],[12.70375,46.69844],[12.72963,46.70081],[12.72273,46.73747],[12.80207,46.74929],[12.85382,46.74456],[12.90384,46.77174],[12.92799,46.75992],[12.95732,46.77647],[12.97974,46.79772],[12.89522,46.83314],[12.89522,46.84848],[12.8452,46.86381],[12.84692,46.91568],[12.7969,46.93099],[12.78828,46.94748],[12.7486,46.96867],[12.73653,46.99691],[12.78138,47.0416],[12.7624,47.051],[12.7141,47.04513],[12.71065,47.07803],[12.62268,47.12617],[12.56921,47.14142],[12.55196,47.13321],[12.52609,47.15433],[12.48297,47.16488],[12.46054,47.14846],[12.43467,47.15785],[12.41915,47.14377],[12.4019,47.16019]]],terms_url:"https://tiris.tirol.gv.at",terms_text:"tiris.tirol.gv.at",icon:"https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif",overlay:true},{id:"tirol.gv.at-DGM",name:"Tiris: DGM (Terrain model)",type:"wms",template:"https://gis.tirol.gv.at/arcgis/services/Service_Public/terrain/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Image_Schummerung_Gelaendemodell&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[10.43998,47.59768],[10.47886,47.59925],[10.50277,47.58656],[10.4838,47.55979],[10.51312,47.5435],[10.57177,47.54582],[10.57004,47.56212],[10.60109,47.58074],[10.63904,47.5691],[10.70804,47.57027],[10.71149,47.54932],[10.76841,47.55048],[10.78566,47.52603],[10.89605,47.55048],[10.93572,47.5237],[10.934,47.50506],[10.89088,47.49573],[10.95125,47.49107],[10.9547,47.46776],[11.003,47.43276],[10.99092,47.40825],[11.10304,47.40475],[11.11511,47.41993],[11.20998,47.4456],[11.26863,47.44093],[11.26691,47.41059],[11.29451,47.4421],[11.33073,47.46076],[11.38248,47.45843],[11.3704,47.47592],[11.4394,47.53069],[11.467,47.51787],[11.57394,47.5237],[11.57567,47.55863],[11.59809,47.59121],[11.63431,47.60633],[11.66881,47.5947],[11.793,47.60284],[11.83958,47.59238],[11.84993,47.61098],[12.00689,47.63656],[12.03622,47.62494],[12.07761,47.62726],[12.10866,47.61912],[12.19491,47.62261],[12.15351,47.68768],[12.15868,47.7167],[12.18111,47.71206],[12.21906,47.72482],[12.24148,47.75382],[12.27253,47.7515],[12.2846,47.73178],[12.26563,47.69581],[12.33635,47.7109],[12.37602,47.69581],[12.44329,47.70277],[12.45364,47.69232],[12.45364,47.6749],[12.51057,47.63191],[12.53126,47.64586],[12.58991,47.63424],[12.57956,47.61098],[12.66581,47.5947],[12.67961,47.57492],[12.64511,47.55048],[12.66753,47.53185],[12.68478,47.50389],[12.71238,47.48175],[12.66753,47.45609],[12.64166,47.45959],[12.65028,47.44326],[12.62096,47.40709],[12.57439,47.38607],[12.55024,47.39658],[12.49159,47.37205],[12.50884,47.35102],[12.48814,47.32063],[12.43467,47.32297],[12.41397,47.30426],[12.36395,47.30894],[12.3122,47.32764],[12.2708,47.29841],[12.17766,47.29373],[12.14833,47.28437],[12.11729,47.29958],[12.09831,47.27501],[12.12591,47.25042],[12.09659,47.19771],[12.11039,47.14846],[12.14143,47.10974],[12.13799,47.08977],[12.15006,47.07568],[12.00517,47.04395],[11.92065,47.02985],[11.83095,46.99103],[11.78783,46.98633],[11.77403,46.9675],[11.73091,46.96514],[11.70676,46.98986],[11.64294,46.99456],[11.61189,47.00515],[11.53254,46.97809],[11.49287,47.00868],[11.44457,46.9675],[11.4049,46.96161],[11.34453,46.98633],[11.20309,46.9569],[11.17549,46.96161],[11.17721,46.94395],[11.14616,46.92275],[11.12546,46.92275],[11.10822,46.90389],[11.11511,46.88857],[11.08234,46.85319],[11.09614,46.8237],[11.05129,46.80245],[11.02369,46.76229],[10.91848,46.77056],[10.88398,46.75756],[10.84085,46.77292],[10.82361,46.76938],[10.79083,46.78946],[10.75633,46.77883],[10.72529,46.79064],[10.74771,46.82724],[10.69424,46.84494],[10.67354,46.86971],[10.60799,46.85319],[10.55452,46.82724],[10.52002,46.83904],[10.46827,46.83668],[10.45103,46.8815],[10.47517,46.93217],[10.41308,46.95572],[10.3941,46.98868],[10.3665,46.98044],[10.33891,46.94748],[10.32856,46.91803],[10.29751,46.91332],[10.25956,46.9251],[10.23886,46.86263],[10.16642,46.83904],[10.13537,46.8473],[10.13192,46.87207],[10.10604,46.88621],[10.09224,46.92746],[10.12502,46.95219],[10.14572,47.00044],[10.11294,47.02514],[10.15262,47.04983],[10.13019,47.06276],[10.13364,47.09095],[10.15952,47.12617],[10.20091,47.1426],[10.19229,47.20005],[10.20954,47.21294],[10.18711,47.23989],[10.20091,47.25628],[10.16814,47.2633],[10.16814,47.28086],[10.20264,47.29139],[10.24404,47.28905],[10.33373,47.32063],[10.38893,47.39074],[10.4148,47.39424],[10.4562,47.43626],[10.44758,47.48175],[10.41998,47.50506],[10.4424,47.55514],[10.41308,47.57143],[10.43998,47.59768]],[[12.4019,47.16019],[12.35705,47.13908],[12.35015,47.11208],[12.31048,47.10739],[12.25528,47.07215],[12.21388,47.05923],[12.20008,47.02632],[12.14488,47.03102],[12.11556,47.0075],[12.13626,46.95926],[12.16731,46.9357],[12.14316,46.91096],[12.18973,46.90036],[12.21733,46.86617],[12.25528,46.88386],[12.27425,46.88268],[12.2984,46.83432],[12.27598,46.82016],[12.27943,46.77765],[12.35015,46.77174],[12.3812,46.715],[12.44329,46.68425],[12.51402,46.67004],[12.56576,46.64873],[12.62958,46.65347],[12.70203,46.65347],[12.70375,46.69844],[12.72963,46.70081],[12.72273,46.73747],[12.80207,46.74929],[12.85382,46.74456],[12.90384,46.77174],[12.92799,46.75992],[12.95732,46.77647],[12.97974,46.79772],[12.89522,46.83314],[12.89522,46.84848],[12.8452,46.86381],[12.84692,46.91568],[12.7969,46.93099],[12.78828,46.94748],[12.7486,46.96867],[12.73653,46.99691],[12.78138,47.0416],[12.7624,47.051],[12.7141,47.04513],[12.71065,47.07803],[12.62268,47.12617],[12.56921,47.14142],[12.55196,47.13321],[12.52609,47.15433],[12.48297,47.16488],[12.46054,47.14846],[12.43467,47.15785],[12.41915,47.14377],[12.4019,47.16019]]],terms_url:"https://tiris.tirol.gv.at",terms_text:"tiris.tirol.gv.at",icon:"https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif"},{id:"tirol.gv.at-DOM",name:"Tiris: DOM (Surface model)",type:"wms",template:"https://gis.tirol.gv.at/arcgis/services/Service_Public/terrain/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Image_Schummerung_Oberflaechenmodell&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[10.43998,47.59768],[10.47886,47.59925],[10.50277,47.58656],[10.4838,47.55979],[10.51312,47.5435],[10.57177,47.54582],[10.57004,47.56212],[10.60109,47.58074],[10.63904,47.5691],[10.70804,47.57027],[10.71149,47.54932],[10.76841,47.55048],[10.78566,47.52603],[10.89605,47.55048],[10.93572,47.5237],[10.934,47.50506],[10.89088,47.49573],[10.95125,47.49107],[10.9547,47.46776],[11.003,47.43276],[10.99092,47.40825],[11.10304,47.40475],[11.11511,47.41993],[11.20998,47.4456],[11.26863,47.44093],[11.26691,47.41059],[11.29451,47.4421],[11.33073,47.46076],[11.38248,47.45843],[11.3704,47.47592],[11.4394,47.53069],[11.467,47.51787],[11.57394,47.5237],[11.57567,47.55863],[11.59809,47.59121],[11.63431,47.60633],[11.66881,47.5947],[11.793,47.60284],[11.83958,47.59238],[11.84993,47.61098],[12.00689,47.63656],[12.03622,47.62494],[12.07761,47.62726],[12.10866,47.61912],[12.19491,47.62261],[12.15351,47.68768],[12.15868,47.7167],[12.18111,47.71206],[12.21906,47.72482],[12.24148,47.75382],[12.27253,47.7515],[12.2846,47.73178],[12.26563,47.69581],[12.33635,47.7109],[12.37602,47.69581],[12.44329,47.70277],[12.45364,47.69232],[12.45364,47.6749],[12.51057,47.63191],[12.53126,47.64586],[12.58991,47.63424],[12.57956,47.61098],[12.66581,47.5947],[12.67961,47.57492],[12.64511,47.55048],[12.66753,47.53185],[12.68478,47.50389],[12.71238,47.48175],[12.66753,47.45609],[12.64166,47.45959],[12.65028,47.44326],[12.62096,47.40709],[12.57439,47.38607],[12.55024,47.39658],[12.49159,47.37205],[12.50884,47.35102],[12.48814,47.32063],[12.43467,47.32297],[12.41397,47.30426],[12.36395,47.30894],[12.3122,47.32764],[12.2708,47.29841],[12.17766,47.29373],[12.14833,47.28437],[12.11729,47.29958],[12.09831,47.27501],[12.12591,47.25042],[12.09659,47.19771],[12.11039,47.14846],[12.14143,47.10974],[12.13799,47.08977],[12.15006,47.07568],[12.00517,47.04395],[11.92065,47.02985],[11.83095,46.99103],[11.78783,46.98633],[11.77403,46.9675],[11.73091,46.96514],[11.70676,46.98986],[11.64294,46.99456],[11.61189,47.00515],[11.53254,46.97809],[11.49287,47.00868],[11.44457,46.9675],[11.4049,46.96161],[11.34453,46.98633],[11.20309,46.9569],[11.17549,46.96161],[11.17721,46.94395],[11.14616,46.92275],[11.12546,46.92275],[11.10822,46.90389],[11.11511,46.88857],[11.08234,46.85319],[11.09614,46.8237],[11.05129,46.80245],[11.02369,46.76229],[10.91848,46.77056],[10.88398,46.75756],[10.84085,46.77292],[10.82361,46.76938],[10.79083,46.78946],[10.75633,46.77883],[10.72529,46.79064],[10.74771,46.82724],[10.69424,46.84494],[10.67354,46.86971],[10.60799,46.85319],[10.55452,46.82724],[10.52002,46.83904],[10.46827,46.83668],[10.45103,46.8815],[10.47517,46.93217],[10.41308,46.95572],[10.3941,46.98868],[10.3665,46.98044],[10.33891,46.94748],[10.32856,46.91803],[10.29751,46.91332],[10.25956,46.9251],[10.23886,46.86263],[10.16642,46.83904],[10.13537,46.8473],[10.13192,46.87207],[10.10604,46.88621],[10.09224,46.92746],[10.12502,46.95219],[10.14572,47.00044],[10.11294,47.02514],[10.15262,47.04983],[10.13019,47.06276],[10.13364,47.09095],[10.15952,47.12617],[10.20091,47.1426],[10.19229,47.20005],[10.20954,47.21294],[10.18711,47.23989],[10.20091,47.25628],[10.16814,47.2633],[10.16814,47.28086],[10.20264,47.29139],[10.24404,47.28905],[10.33373,47.32063],[10.38893,47.39074],[10.4148,47.39424],[10.4562,47.43626],[10.44758,47.48175],[10.41998,47.50506],[10.4424,47.55514],[10.41308,47.57143],[10.43998,47.59768]],[[12.4019,47.16019],[12.35705,47.13908],[12.35015,47.11208],[12.31048,47.10739],[12.25528,47.07215],[12.21388,47.05923],[12.20008,47.02632],[12.14488,47.03102],[12.11556,47.0075],[12.13626,46.95926],[12.16731,46.9357],[12.14316,46.91096],[12.18973,46.90036],[12.21733,46.86617],[12.25528,46.88386],[12.27425,46.88268],[12.2984,46.83432],[12.27598,46.82016],[12.27943,46.77765],[12.35015,46.77174],[12.3812,46.715],[12.44329,46.68425],[12.51402,46.67004],[12.56576,46.64873],[12.62958,46.65347],[12.70203,46.65347],[12.70375,46.69844],[12.72963,46.70081],[12.72273,46.73747],[12.80207,46.74929],[12.85382,46.74456],[12.90384,46.77174],[12.92799,46.75992],[12.95732,46.77647],[12.97974,46.79772],[12.89522,46.83314],[12.89522,46.84848],[12.8452,46.86381],[12.84692,46.91568],[12.7969,46.93099],[12.78828,46.94748],[12.7486,46.96867],[12.73653,46.99691],[12.78138,47.0416],[12.7624,47.051],[12.7141,47.04513],[12.71065,47.07803],[12.62268,47.12617],[12.56921,47.14142],[12.55196,47.13321],[12.52609,47.15433],[12.48297,47.16488],[12.46054,47.14846],[12.43467,47.15785],[12.41915,47.14377],[12.4019,47.16019]]],terms_url:"https://tiris.tirol.gv.at",terms_text:"tiris.tirol.gv.at",icon:"https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif"},{id:"tirol.gv.at-orthofoto",name:"Tiris: orthophoto",type:"wms",template:"https://gis.tirol.gv.at/arcgis/services/Service_Public/orthofoto/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Image_Aktuell_RGB&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[10.43998,47.59768],[10.47886,47.59925],[10.50277,47.58656],[10.4838,47.55979],[10.51312,47.5435],[10.57177,47.54582],[10.57004,47.56212],[10.60109,47.58074],[10.63904,47.5691],[10.70804,47.57027],[10.71149,47.54932],[10.76841,47.55048],[10.78566,47.52603],[10.89605,47.55048],[10.93572,47.5237],[10.934,47.50506],[10.89088,47.49573],[10.95125,47.49107],[10.9547,47.46776],[11.003,47.43276],[10.99092,47.40825],[11.10304,47.40475],[11.11511,47.41993],[11.20998,47.4456],[11.26863,47.44093],[11.26691,47.41059],[11.29451,47.4421],[11.33073,47.46076],[11.38248,47.45843],[11.3704,47.47592],[11.4394,47.53069],[11.467,47.51787],[11.57394,47.5237],[11.57567,47.55863],[11.59809,47.59121],[11.63431,47.60633],[11.66881,47.5947],[11.793,47.60284],[11.83958,47.59238],[11.84993,47.61098],[12.00689,47.63656],[12.03622,47.62494],[12.07761,47.62726],[12.10866,47.61912],[12.19491,47.62261],[12.15351,47.68768],[12.15868,47.7167],[12.18111,47.71206],[12.21906,47.72482],[12.24148,47.75382],[12.27253,47.7515],[12.2846,47.73178],[12.26563,47.69581],[12.33635,47.7109],[12.37602,47.69581],[12.44329,47.70277],[12.45364,47.69232],[12.45364,47.6749],[12.51057,47.63191],[12.53126,47.64586],[12.58991,47.63424],[12.57956,47.61098],[12.66581,47.5947],[12.67961,47.57492],[12.64511,47.55048],[12.66753,47.53185],[12.68478,47.50389],[12.71238,47.48175],[12.66753,47.45609],[12.64166,47.45959],[12.65028,47.44326],[12.62096,47.40709],[12.57439,47.38607],[12.55024,47.39658],[12.49159,47.37205],[12.50884,47.35102],[12.48814,47.32063],[12.43467,47.32297],[12.41397,47.30426],[12.36395,47.30894],[12.3122,47.32764],[12.2708,47.29841],[12.17766,47.29373],[12.14833,47.28437],[12.11729,47.29958],[12.09831,47.27501],[12.12591,47.25042],[12.09659,47.19771],[12.11039,47.14846],[12.14143,47.10974],[12.13799,47.08977],[12.15006,47.07568],[12.00517,47.04395],[11.92065,47.02985],[11.83095,46.99103],[11.78783,46.98633],[11.77403,46.9675],[11.73091,46.96514],[11.70676,46.98986],[11.64294,46.99456],[11.61189,47.00515],[11.53254,46.97809],[11.49287,47.00868],[11.44457,46.9675],[11.4049,46.96161],[11.34453,46.98633],[11.20309,46.9569],[11.17549,46.96161],[11.17721,46.94395],[11.14616,46.92275],[11.12546,46.92275],[11.10822,46.90389],[11.11511,46.88857],[11.08234,46.85319],[11.09614,46.8237],[11.05129,46.80245],[11.02369,46.76229],[10.91848,46.77056],[10.88398,46.75756],[10.84085,46.77292],[10.82361,46.76938],[10.79083,46.78946],[10.75633,46.77883],[10.72529,46.79064],[10.74771,46.82724],[10.69424,46.84494],[10.67354,46.86971],[10.60799,46.85319],[10.55452,46.82724],[10.52002,46.83904],[10.46827,46.83668],[10.45103,46.8815],[10.47517,46.93217],[10.41308,46.95572],[10.3941,46.98868],[10.3665,46.98044],[10.33891,46.94748],[10.32856,46.91803],[10.29751,46.91332],[10.25956,46.9251],[10.23886,46.86263],[10.16642,46.83904],[10.13537,46.8473],[10.13192,46.87207],[10.10604,46.88621],[10.09224,46.92746],[10.12502,46.95219],[10.14572,47.00044],[10.11294,47.02514],[10.15262,47.04983],[10.13019,47.06276],[10.13364,47.09095],[10.15952,47.12617],[10.20091,47.1426],[10.19229,47.20005],[10.20954,47.21294],[10.18711,47.23989],[10.20091,47.25628],[10.16814,47.2633],[10.16814,47.28086],[10.20264,47.29139],[10.24404,47.28905],[10.33373,47.32063],[10.38893,47.39074],[10.4148,47.39424],[10.4562,47.43626],[10.44758,47.48175],[10.41998,47.50506],[10.4424,47.55514],[10.41308,47.57143],[10.43998,47.59768]],[[12.4019,47.16019],[12.35705,47.13908],[12.35015,47.11208],[12.31048,47.10739],[12.25528,47.07215],[12.21388,47.05923],[12.20008,47.02632],[12.14488,47.03102],[12.11556,47.0075],[12.13626,46.95926],[12.16731,46.9357],[12.14316,46.91096],[12.18973,46.90036],[12.21733,46.86617],[12.25528,46.88386],[12.27425,46.88268],[12.2984,46.83432],[12.27598,46.82016],[12.27943,46.77765],[12.35015,46.77174],[12.3812,46.715],[12.44329,46.68425],[12.51402,46.67004],[12.56576,46.64873],[12.62958,46.65347],[12.70203,46.65347],[12.70375,46.69844],[12.72963,46.70081],[12.72273,46.73747],[12.80207,46.74929],[12.85382,46.74456],[12.90384,46.77174],[12.92799,46.75992],[12.95732,46.77647],[12.97974,46.79772],[12.89522,46.83314],[12.89522,46.84848],[12.8452,46.86381],[12.84692,46.91568],[12.7969,46.93099],[12.78828,46.94748],[12.7486,46.96867],[12.73653,46.99691],[12.78138,47.0416],[12.7624,47.051],[12.7141,47.04513],[12.71065,47.07803],[12.62268,47.12617],[12.56921,47.14142],[12.55196,47.13321],[12.52609,47.15433],[12.48297,47.16488],[12.46054,47.14846],[12.43467,47.15785],[12.41915,47.14377],[12.4019,47.16019]]],terms_url:"https://tiris.tirol.gv.at",terms_text:"tiris.tirol.gv.at",icon:"https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif"},{id:"tirol.gv.at-orthofoto-cir",name:"Tiris: orthophoto infrared",type:"wms",template:"https://gis.tirol.gv.at/arcgis/services/Service_Public/orthofoto/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Image_Aktuell_CIR&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[10.43998,47.59768],[10.47886,47.59925],[10.50277,47.58656],[10.4838,47.55979],[10.51312,47.5435],[10.57177,47.54582],[10.57004,47.56212],[10.60109,47.58074],[10.63904,47.5691],[10.70804,47.57027],[10.71149,47.54932],[10.76841,47.55048],[10.78566,47.52603],[10.89605,47.55048],[10.93572,47.5237],[10.934,47.50506],[10.89088,47.49573],[10.95125,47.49107],[10.9547,47.46776],[11.003,47.43276],[10.99092,47.40825],[11.10304,47.40475],[11.11511,47.41993],[11.20998,47.4456],[11.26863,47.44093],[11.26691,47.41059],[11.29451,47.4421],[11.33073,47.46076],[11.38248,47.45843],[11.3704,47.47592],[11.4394,47.53069],[11.467,47.51787],[11.57394,47.5237],[11.57567,47.55863],[11.59809,47.59121],[11.63431,47.60633],[11.66881,47.5947],[11.793,47.60284],[11.83958,47.59238],[11.84993,47.61098],[12.00689,47.63656],[12.03622,47.62494],[12.07761,47.62726],[12.10866,47.61912],[12.19491,47.62261],[12.15351,47.68768],[12.15868,47.7167],[12.18111,47.71206],[12.21906,47.72482],[12.24148,47.75382],[12.27253,47.7515],[12.2846,47.73178],[12.26563,47.69581],[12.33635,47.7109],[12.37602,47.69581],[12.44329,47.70277],[12.45364,47.69232],[12.45364,47.6749],[12.51057,47.63191],[12.53126,47.64586],[12.58991,47.63424],[12.57956,47.61098],[12.66581,47.5947],[12.67961,47.57492],[12.64511,47.55048],[12.66753,47.53185],[12.68478,47.50389],[12.71238,47.48175],[12.66753,47.45609],[12.64166,47.45959],[12.65028,47.44326],[12.62096,47.40709],[12.57439,47.38607],[12.55024,47.39658],[12.49159,47.37205],[12.50884,47.35102],[12.48814,47.32063],[12.43467,47.32297],[12.41397,47.30426],[12.36395,47.30894],[12.3122,47.32764],[12.2708,47.29841],[12.17766,47.29373],[12.14833,47.28437],[12.11729,47.29958],[12.09831,47.27501],[12.12591,47.25042],[12.09659,47.19771],[12.11039,47.14846],[12.14143,47.10974],[12.13799,47.08977],[12.15006,47.07568],[12.00517,47.04395],[11.92065,47.02985],[11.83095,46.99103],[11.78783,46.98633],[11.77403,46.9675],[11.73091,46.96514],[11.70676,46.98986],[11.64294,46.99456],[11.61189,47.00515],[11.53254,46.97809],[11.49287,47.00868],[11.44457,46.9675],[11.4049,46.96161],[11.34453,46.98633],[11.20309,46.9569],[11.17549,46.96161],[11.17721,46.94395],[11.14616,46.92275],[11.12546,46.92275],[11.10822,46.90389],[11.11511,46.88857],[11.08234,46.85319],[11.09614,46.8237],[11.05129,46.80245],[11.02369,46.76229],[10.91848,46.77056],[10.88398,46.75756],[10.84085,46.77292],[10.82361,46.76938],[10.79083,46.78946],[10.75633,46.77883],[10.72529,46.79064],[10.74771,46.82724],[10.69424,46.84494],[10.67354,46.86971],[10.60799,46.85319],[10.55452,46.82724],[10.52002,46.83904],[10.46827,46.83668],[10.45103,46.8815],[10.47517,46.93217],[10.41308,46.95572],[10.3941,46.98868],[10.3665,46.98044],[10.33891,46.94748],[10.32856,46.91803],[10.29751,46.91332],[10.25956,46.9251],[10.23886,46.86263],[10.16642,46.83904],[10.13537,46.8473],[10.13192,46.87207],[10.10604,46.88621],[10.09224,46.92746],[10.12502,46.95219],[10.14572,47.00044],[10.11294,47.02514],[10.15262,47.04983],[10.13019,47.06276],[10.13364,47.09095],[10.15952,47.12617],[10.20091,47.1426],[10.19229,47.20005],[10.20954,47.21294],[10.18711,47.23989],[10.20091,47.25628],[10.16814,47.2633],[10.16814,47.28086],[10.20264,47.29139],[10.24404,47.28905],[10.33373,47.32063],[10.38893,47.39074],[10.4148,47.39424],[10.4562,47.43626],[10.44758,47.48175],[10.41998,47.50506],[10.4424,47.55514],[10.41308,47.57143],[10.43998,47.59768]],[[12.4019,47.16019],[12.35705,47.13908],[12.35015,47.11208],[12.31048,47.10739],[12.25528,47.07215],[12.21388,47.05923],[12.20008,47.02632],[12.14488,47.03102],[12.11556,47.0075],[12.13626,46.95926],[12.16731,46.9357],[12.14316,46.91096],[12.18973,46.90036],[12.21733,46.86617],[12.25528,46.88386],[12.27425,46.88268],[12.2984,46.83432],[12.27598,46.82016],[12.27943,46.77765],[12.35015,46.77174],[12.3812,46.715],[12.44329,46.68425],[12.51402,46.67004],[12.56576,46.64873],[12.62958,46.65347],[12.70203,46.65347],[12.70375,46.69844],[12.72963,46.70081],[12.72273,46.73747],[12.80207,46.74929],[12.85382,46.74456],[12.90384,46.77174],[12.92799,46.75992],[12.95732,46.77647],[12.97974,46.79772],[12.89522,46.83314],[12.89522,46.84848],[12.8452,46.86381],[12.84692,46.91568],[12.7969,46.93099],[12.78828,46.94748],[12.7486,46.96867],[12.73653,46.99691],[12.78138,47.0416],[12.7624,47.051],[12.7141,47.04513],[12.71065,47.07803],[12.62268,47.12617],[12.56921,47.14142],[12.55196,47.13321],[12.52609,47.15433],[12.48297,47.16488],[12.46054,47.14846],[12.43467,47.15785],[12.41915,47.14377],[12.4019,47.16019]]],terms_url:"https://tiris.tirol.gv.at",terms_text:"tiris.tirol.gv.at",icon:"https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif"},{id:"lu.geoportail.opendata.topo",name:"Topographical Map geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/topo/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png",endDate:"2010-07-20T00:00:00.000Z",startDate:"2013-07-19T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,50.17631]]],terms_url:"https://data.public.lu/en/datasets/cartes-topographiques-services-wms-et-wmts",terms_text:"Administration du Cadastre et de la Topographie",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"Torokbalint-orthophoto-2013",name:"Törökbálint orthophoto 2013",type:"wms",template:"https://terkep.torokbalint.hu/mapproxy/service?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ORTO_2013_5CM_2013SZEPT_TAKARASSAL_512_512&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&TRANSPARENT=true",projection:"EPSG:3857",endDate:"2013-09-01T00:00:00.000Z",startDate:"2013-09-01T00:00:00.000Z",polygon:[[[18.91731,47.40854],[18.91691,47.40849],[18.91606,47.40885],[18.91565,47.40905],[18.91458,47.40938],[18.91385,47.4097],[18.91376,47.40976],[18.91314,47.41038],[18.9122,47.41098],[18.91041,47.41175],[18.90932,47.41258],[18.90841,47.41317],[18.90676,47.41443],[18.90481,47.41568],[18.90362,47.41597],[18.90317,47.41616],[18.90062,47.41742],[18.90042,47.41755],[18.89968,47.41797],[18.89888,47.41818],[18.89814,47.41835],[18.89752,47.41855],[18.89666,47.41901],[18.8958,47.41954],[18.89421,47.4205],[18.89055,47.42209],[18.88743,47.42332],[18.88554,47.42424],[18.88436,47.42476],[18.88189,47.42553],[18.88085,47.42598],[18.8801,47.42629],[18.87956,47.42649],[18.87741,47.42738],[18.87602,47.42789],[18.87508,47.42836],[18.87281,47.42934],[18.87164,47.42968],[18.8714,47.43001],[18.87259,47.4323],[18.87273,47.43278],[18.87274,47.43324],[18.87244,47.43482],[18.87206,47.43526],[18.86891,47.43712],[18.86561,47.4375],[18.86466,47.43774],[18.86404,47.43809],[18.86378,47.43791],[18.8634,47.43784],[18.863,47.43798],[18.85195,47.44715],[18.85217,47.44847],[18.8593,47.45387],[18.85839,47.45512],[18.85777,47.45568],[18.85718,47.456],[18.8572,47.45636],[18.86015,47.45839],[18.86194,47.4595],[18.86099,47.46071],[18.85979,47.46201],[18.85929,47.46236],[18.85859,47.46272],[18.85713,47.46333],[18.85634,47.4636],[18.85628,47.46403],[18.85719,47.46528],[18.85663,47.46551],[18.85653,47.4658],[18.85693,47.46656],[18.85836,47.46953],[18.85826,47.4698],[18.85827,47.46991],[18.85838,47.47019],[18.85844,47.47027],[18.85852,47.47033],[18.85862,47.47036],[18.85873,47.47038],[18.8589,47.47036],[18.86146,47.46973],[18.86277,47.46929],[18.86617,47.46785],[18.86794,47.46656],[18.86997,47.46524],[18.8708,47.46457],[18.87268,47.46333],[18.87536,47.46113],[18.87687,47.45927],[18.88943,47.45987],[18.89024,47.45988],[18.90371,47.45534],[18.90427,47.4552],[18.90493,47.45506],[18.90542,47.4551],[18.90567,47.45505],[18.90629,47.45477],[18.90648,47.45453],[18.9066,47.45447],[18.90678,47.45439],[18.90811,47.45399],[18.90837,47.45395],[18.9089,47.45384],[18.90954,47.4537],[18.91326,47.45317],[18.91353,47.4532],[18.91372,47.45317],[18.91386,47.45307],[18.91431,47.45294],[18.91598,47.453],[18.91807,47.45317],[18.91846,47.453],[18.91903,47.45161],[18.92173,47.4508],[18.92246,47.45069],[18.92418,47.45025],[18.92756,47.44989],[18.92972,47.44951],[18.93221,47.44922],[18.93347,47.44932],[18.93921,47.44935],[18.94229,47.44903],[18.94549,47.4489],[18.94826,47.4487],[18.95003,47.44824],[18.9547,47.44722],[18.95749,47.44692],[18.95802,47.44715],[18.95844,47.44708],[18.95877,47.44666],[18.96145,47.4393],[18.96368,47.4358],[18.96598,47.43288],[18.96899,47.4297],[18.9701,47.42704],[18.97009,47.42679],[18.96695,47.4246],[18.95735,47.41842],[18.95676,47.4184],[18.95606,47.41813],[18.95385,47.41739],[18.95144,47.41665],[18.95131,47.41664],[18.9327,47.41703],[18.93257,47.41696],[18.93201,47.41674],[18.93149,47.4164],[18.93114,47.41612],[18.92123,47.41091],[18.91957,47.40987],[18.91927,47.40961],[18.91731,47.40854]]],terms_url:"http://www.torokbalint.hu",terms_text:"Törökbálint",description:"5 cm resolution bald image"},{id:"Torokbalint-orthophoto-2015",name:"Törökbálint orthophoto 2015",type:"wms",template:"https://terkep.torokbalint.hu/mapproxy/service?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=TBORTO_2015_20160218&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&TRANSPARENT=true",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",polygon:[[[18.91731,47.40854],[18.91691,47.40849],[18.91606,47.40885],[18.91565,47.40905],[18.91458,47.40938],[18.91385,47.4097],[18.91376,47.40976],[18.91314,47.41038],[18.9122,47.41098],[18.91041,47.41175],[18.90932,47.41258],[18.90841,47.41317],[18.90676,47.41443],[18.90481,47.41568],[18.90362,47.41597],[18.90317,47.41616],[18.90062,47.41742],[18.90042,47.41755],[18.89968,47.41797],[18.89888,47.41818],[18.89814,47.41835],[18.89752,47.41855],[18.89666,47.41901],[18.8958,47.41954],[18.89421,47.4205],[18.89055,47.42209],[18.88743,47.42332],[18.88554,47.42424],[18.88436,47.42476],[18.88189,47.42553],[18.88085,47.42598],[18.8801,47.42629],[18.87956,47.42649],[18.87741,47.42738],[18.87602,47.42789],[18.87508,47.42836],[18.87281,47.42934],[18.87164,47.42968],[18.8714,47.43001],[18.87259,47.4323],[18.87273,47.43278],[18.87274,47.43324],[18.87244,47.43482],[18.87206,47.43526],[18.86891,47.43712],[18.86561,47.4375],[18.86466,47.43774],[18.86404,47.43809],[18.86378,47.43791],[18.8634,47.43784],[18.863,47.43798],[18.85195,47.44715],[18.85217,47.44847],[18.8593,47.45387],[18.85839,47.45512],[18.85777,47.45568],[18.85718,47.456],[18.8572,47.45636],[18.86015,47.45839],[18.86194,47.4595],[18.86099,47.46071],[18.85979,47.46201],[18.85929,47.46236],[18.85859,47.46272],[18.85713,47.46333],[18.85634,47.4636],[18.85628,47.46403],[18.85719,47.46528],[18.85663,47.46551],[18.85653,47.4658],[18.85693,47.46656],[18.85836,47.46953],[18.85826,47.4698],[18.85827,47.46991],[18.85838,47.47019],[18.85844,47.47027],[18.85852,47.47033],[18.85862,47.47036],[18.85873,47.47038],[18.8589,47.47036],[18.86146,47.46973],[18.86277,47.46929],[18.86617,47.46785],[18.86794,47.46656],[18.86997,47.46524],[18.8708,47.46457],[18.87268,47.46333],[18.87536,47.46113],[18.87687,47.45927],[18.88943,47.45987],[18.89024,47.45988],[18.90371,47.45534],[18.90427,47.4552],[18.90493,47.45506],[18.90542,47.4551],[18.90567,47.45505],[18.90629,47.45477],[18.90648,47.45453],[18.9066,47.45447],[18.90678,47.45439],[18.90811,47.45399],[18.90837,47.45395],[18.9089,47.45384],[18.90954,47.4537],[18.91326,47.45317],[18.91353,47.4532],[18.91372,47.45317],[18.91386,47.45307],[18.91431,47.45294],[18.91598,47.453],[18.91807,47.45317],[18.91846,47.453],[18.91903,47.45161],[18.92173,47.4508],[18.92246,47.45069],[18.92418,47.45025],[18.92756,47.44989],[18.92972,47.44951],[18.93221,47.44922],[18.93347,47.44932],[18.93921,47.44935],[18.94229,47.44903],[18.94549,47.4489],[18.94826,47.4487],[18.95003,47.44824],[18.9547,47.44722],[18.95749,47.44692],[18.95802,47.44715],[18.95844,47.44708],[18.95877,47.44666],[18.96145,47.4393],[18.96368,47.4358],[18.96598,47.43288],[18.96899,47.4297],[18.9701,47.42704],[18.97009,47.42679],[18.96695,47.4246],[18.95735,47.41842],[18.95676,47.4184],[18.95606,47.41813],[18.95385,47.41739],[18.95144,47.41665],[18.95131,47.41664],[18.9327,47.41703],[18.93257,47.41696],[18.93201,47.41674],[18.93149,47.4164],[18.93114,47.41612],[18.92123,47.41091],[18.91957,47.40987],[18.91927,47.40961],[18.91731,47.40854]]],terms_url:"http://www.torokbalint.hu/",terms_text:"Törökbálint",best:true,description:"5 cm resolution bald image"},{id:"Toulouse-Orthophotoplan-2007",name:"Toulouse - Orthophotoplan 2007",type:"wms",template:"https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2007&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2007-01-01T00:00:00.000Z",startDate:"2007-01-01T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[1.192,43.63288],[1.20154,43.63297],[1.20111,43.65549],[1.2228,43.6557],[1.22262,43.66534],[1.22753,43.66538],[1.22754,43.66564],[1.23376,43.66569],[1.23376,43.66502],[1.23512,43.66503],[1.23509,43.66707],[1.24436,43.66716],[1.24416,43.67439],[1.2494,43.67443],[1.2494,43.67466],[1.25557,43.67472],[1.25557,43.67445],[1.25695,43.67447],[1.25688,43.67853],[1.28749,43.67883],[1.28708,43.70132],[1.30882,43.70146],[1.30865,43.71277],[1.33033,43.71295],[1.33002,43.73052],[1.33671,43.73058],[1.33673,43.73122],[1.37343,43.73105],[1.37358,43.72458],[1.46045,43.72529],[1.46078,43.7028],[1.48249,43.70295],[1.48298,43.66921],[1.50468,43.66936],[1.50484,43.65812],[1.52655,43.65827],[1.52669,43.64703],[1.54837,43.64716],[1.54854,43.63594],[1.57022,43.63608],[1.57051,43.61358],[1.54882,43.61343],[1.5491,43.59095],[1.57077,43.59107],[1.57094,43.57983],[1.57937,43.57989],[1.57948,43.57377],[1.58091,43.57378],[1.58109,43.55738],[1.57123,43.55731],[1.57165,43.52355],[1.39848,43.52226],[1.39865,43.51101],[1.3121,43.51025],[1.3119,43.52152],[1.29026,43.52131],[1.28986,43.54382],[1.31152,43.54401],[1.31133,43.55526],[1.30369,43.55519],[1.30361,43.55951],[1.29554,43.55943],[1.29554,43.55955],[1.28956,43.55945],[1.28929,43.57754],[1.26757,43.57736],[1.2674,43.58861],[1.25355,43.5885],[1.25338,43.59563],[1.2518,43.59563],[1.2518,43.59494],[1.23504,43.59478],[1.23504,43.5946],[1.22396,43.5946],[1.22394,43.59947],[1.21397,43.5993],[1.21388,43.60464],[1.20206,43.60448],[1.20195,43.61048],[1.19243,43.61037],[1.192,43.63288]]],terms_url:"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",terms_text:"ToulouseMetropole"},{id:"Toulouse-Orthophotoplan-2011",name:"Toulouse - Orthophotoplan 2011",type:"wms",template:"https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2011&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[1.11351,43.68676],[1.13518,43.68708],[1.13489,43.69835],[1.17829,43.69903],[1.17799,43.71028],[1.19966,43.71061],[1.19934,43.72187],[1.24274,43.72253],[1.24243,43.73375],[1.26415,43.73409],[1.26383,43.74536],[1.28553,43.74565],[1.28525,43.75693],[1.30692,43.75723],[1.30664,43.76848],[1.32834,43.76879],[1.32808,43.78003],[1.43673,43.78158],[1.43731,43.7591],[1.45901,43.75937],[1.45933,43.74815],[1.48103,43.7484],[1.48133,43.73718],[1.50303,43.73741],[1.50359,43.71497],[1.52531,43.71518],[1.52561,43.70401],[1.54727,43.70426],[1.54757,43.69304],[1.5692,43.69329],[1.56957,43.68203],[1.5912,43.68227],[1.59174,43.6598],[1.61342,43.66003],[1.61372,43.64883],[1.63538,43.64908],[1.63841,43.51407],[1.29216,43.50947],[1.29186,43.5207],[1.27021,43.5204],[1.26988,43.53164],[1.24823,43.53133],[1.2476,43.55378],[1.22596,43.55349],[1.22568,43.56472],[1.20398,43.56442],[1.20331,43.5869],[1.18162,43.58656],[1.18102,43.60904],[1.15928,43.60869],[1.15896,43.61995],[1.13726,43.61962],[1.13659,43.64209],[1.11491,43.64176],[1.11351,43.68676]]],terms_url:"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",terms_text:"ToulouseMetropole"},{id:"Toulouse-Orthophotoplan-2013",name:"Toulouse - Orthophotoplan 2013",type:"wms",template:"https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2013&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[1.11351,43.68676],[1.13518,43.68708],[1.13489,43.69835],[1.17829,43.69903],[1.17799,43.71028],[1.19966,43.71061],[1.19934,43.72187],[1.24274,43.72253],[1.24243,43.73375],[1.26415,43.73409],[1.26383,43.74536],[1.28553,43.74565],[1.28525,43.75693],[1.30692,43.75723],[1.30664,43.76848],[1.32834,43.76879],[1.32808,43.78003],[1.43673,43.78158],[1.43731,43.7591],[1.45901,43.75937],[1.45933,43.74815],[1.48103,43.7484],[1.48133,43.73718],[1.50303,43.73741],[1.50359,43.71497],[1.52531,43.71518],[1.52561,43.70401],[1.54727,43.70426],[1.54757,43.69304],[1.5692,43.69329],[1.56957,43.68203],[1.5912,43.68227],[1.59174,43.6598],[1.61342,43.66003],[1.61372,43.64883],[1.63538,43.64908],[1.63841,43.51407],[1.29216,43.50947],[1.29186,43.5207],[1.27021,43.5204],[1.26988,43.53164],[1.24823,43.53133],[1.2476,43.55378],[1.22596,43.55349],[1.22568,43.56472],[1.20398,43.56442],[1.20331,43.5869],[1.18162,43.58656],[1.18102,43.60904],[1.15928,43.60869],[1.15896,43.61995],[1.13726,43.61962],[1.13659,43.64209],[1.11491,43.64176],[1.11351,43.68676]]],terms_url:"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",terms_text:"ToulouseMetropole"},{id:"Toulouse-Orthophotoplan-2015",name:"Toulouse - Orthophotoplan 2015",type:"wms",template:"https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2015&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[1.11351,43.68676],[1.13518,43.68708],[1.13489,43.69835],[1.17829,43.69903],[1.17799,43.71028],[1.19966,43.71061],[1.19934,43.72187],[1.24274,43.72253],[1.24243,43.73375],[1.26415,43.73409],[1.26383,43.74536],[1.28553,43.74565],[1.28525,43.75693],[1.30692,43.75723],[1.30664,43.76848],[1.32834,43.76879],[1.32808,43.78003],[1.43673,43.78158],[1.43731,43.7591],[1.45901,43.75937],[1.45933,43.74815],[1.48103,43.7484],[1.48133,43.73718],[1.50303,43.73741],[1.50359,43.71497],[1.52531,43.71518],[1.52561,43.70401],[1.54727,43.70426],[1.54757,43.69304],[1.5692,43.69329],[1.56957,43.68203],[1.5912,43.68227],[1.59174,43.6598],[1.61342,43.66003],[1.61372,43.64883],[1.63538,43.64908],[1.63841,43.51407],[1.29216,43.50947],[1.29186,43.5207],[1.27021,43.5204],[1.26988,43.53164],[1.24823,43.53133],[1.2476,43.55378],[1.22596,43.55349],[1.22568,43.56472],[1.20398,43.56442],[1.20331,43.5869],[1.18162,43.58656],[1.18102,43.60904],[1.15928,43.60869],[1.15896,43.61995],[1.13726,43.61962],[1.13659,43.64209],[1.11491,43.64176],[1.11351,43.68676]]],terms_url:"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",terms_text:"ToulouseMetropole"},{id:"Toulouse-Orthophotoplan-2017",name:"Toulouse - Orthophotoplan 2017",type:"wms",template:"https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2017&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[1.11351,43.68676],[1.13518,43.68708],[1.13489,43.69835],[1.17829,43.69903],[1.17799,43.71028],[1.19966,43.71061],[1.19934,43.72187],[1.24274,43.72253],[1.24243,43.73375],[1.26415,43.73409],[1.26383,43.74536],[1.28553,43.74565],[1.28525,43.75693],[1.30692,43.75723],[1.30664,43.76848],[1.32834,43.76879],[1.32808,43.78003],[1.43673,43.78158],[1.43731,43.7591],[1.45901,43.75937],[1.45933,43.74815],[1.48103,43.7484],[1.48133,43.73718],[1.50303,43.73741],[1.50359,43.71497],[1.52531,43.71518],[1.52561,43.70401],[1.54727,43.70426],[1.54757,43.69304],[1.5692,43.69329],[1.56957,43.68203],[1.5912,43.68227],[1.59174,43.6598],[1.61342,43.66003],[1.61372,43.64883],[1.63538,43.64908],[1.63841,43.51407],[1.29216,43.50947],[1.29186,43.5207],[1.27021,43.5204],[1.26988,43.53164],[1.24823,43.53133],[1.2476,43.55378],[1.22596,43.55349],[1.22568,43.56472],[1.20398,43.56442],[1.20331,43.5869],[1.18162,43.58656],[1.18102,43.60904],[1.15928,43.60869],[1.15896,43.61995],[1.13726,43.61962],[1.13659,43.64209],[1.11491,43.64176],[1.11351,43.68676]]],terms_url:"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",terms_text:"ToulouseMetropole",best:true},{id:"Tours-Orthophoto-2008_2010",name:"Tours - Orthophotos 2008-2010",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/tours/{zoom}/{x}/{y}",endDate:"2011-01-01T00:00:00.000Z",startDate:"2008-01-01T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[0.54575,47.46526],[0.54585,47.46082],[0.53922,47.4607],[0.53935,47.45624],[0.5328,47.4561],[0.5329,47.45157],[0.52619,47.4514],[0.52659,47.44249],[0.50009,47.44207],[0.50024,47.43758],[0.4936,47.43743],[0.4937,47.43293],[0.46061,47.43246],[0.46072,47.42798],[0.4541,47.42781],[0.45493,47.40539],[0.46154,47.40545],[0.46191,47.39649],[0.46843,47.3966],[0.46913,47.37864],[0.47571,47.37876],[0.47621,47.3652],[0.48283,47.36535],[0.48296,47.36083],[0.47635,47.36074],[0.47665,47.35173],[0.47005,47.35162],[0.4702,47.34713],[0.46375,47.34701],[0.45714,47.34241],[0.45729,47.33791],[0.45067,47.33781],[0.45084,47.33331],[0.44422,47.3332],[0.44438,47.32871],[0.43114,47.3285],[0.43163,47.315],[0.43824,47.31511],[0.43838,47.31062],[0.47145,47.31114],[0.47131,47.31566],[0.47789,47.31575],[0.47807,47.31128],[0.48468,47.31136],[0.48486,47.30687],[0.49144,47.30698],[0.49174,47.29797],[0.48516,47.29787],[0.48543,47.28887],[0.47885,47.28877],[0.47916,47.27978],[0.48578,47.2799],[0.48591,47.27539],[0.49254,47.2755],[0.49267,47.27101],[0.4993,47.27111],[0.49943,47.26661],[0.51927,47.26692],[0.51942,47.26242],[0.52602,47.26252],[0.52587,47.26702],[0.5457,47.26734],[0.54555,47.27183],[0.55877,47.27204],[0.55863,47.27652],[0.56523,47.27663],[0.56508,47.28112],[0.57168,47.28123],[0.57152,47.28572],[0.57814,47.28583],[0.57799,47.29033],[0.5846,47.29043],[0.58431,47.29942],[0.5975,47.29961],[0.59766,47.29514],[0.65716,47.296],[0.6573,47.29151],[0.6705,47.29172],[0.67035,47.29621],[0.68362,47.29637],[0.68343,47.30089],[0.69006,47.30096],[0.68992,47.30547],[0.7362,47.30612],[0.73608,47.31061],[0.7559,47.31089],[0.75577,47.31539],[0.76238,47.31547],[0.76223,47.31999],[0.77549,47.32015],[0.77497,47.33882],[0.77458,47.35163],[0.76804,47.35159],[0.76759,47.36053],[0.77424,47.36062],[0.77335,47.39213],[0.76674,47.39202],[0.76644,47.40108],[0.77306,47.40111],[0.77289,47.41013],[0.76618,47.41002],[0.76603,47.4145],[0.75276,47.4143],[0.75298,47.40981],[0.74624,47.4097],[0.74594,47.42322],[0.73923,47.42315],[0.73887,47.43661],[0.73233,47.43652],[0.73219,47.44106],[0.7255,47.44098],[0.72542,47.44535],[0.73188,47.44548],[0.73185,47.45011],[0.73845,47.45023],[0.73831,47.45463],[0.74494,47.45474],[0.74432,47.4772],[0.73107,47.47697],[0.7309,47.48154],[0.71762,47.48126],[0.71779,47.47684],[0.69777,47.4765],[0.69805,47.47198],[0.69145,47.47189],[0.69173,47.46302],[0.6851,47.46293],[0.68494,47.46735],[0.67826,47.46733],[0.67798,47.47622],[0.67141,47.47616],[0.67104,47.4882],[0.65773,47.48797],[0.65782,47.48504],[0.65119,47.48483],[0.65147,47.47586],[0.64482,47.47572],[0.64493,47.47126],[0.6118,47.47075],[0.61188,47.46631],[0.60528,47.46612],[0.60542,47.46166],[0.59888,47.46155],[0.59902,47.45709],[0.57249,47.45669],[0.57218,47.46565],[0.54575,47.46526]]],terms_url:"https://wiki.openstreetmap.org/wiki/Tours/Orthophoto",terms_text:"Orthophoto Tour(s) Plus 2008"},{id:"Tours-Orthophoto-2013",name:"Tours - Orthophotos 2013",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/tours_2013/{zoom}/{x}/{y}",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",zoomExtent:[0,22],polygon:[[[0.77512,47.32983],[0.77427,47.35617],[0.77053,47.35611],[0.77024,47.36512],[0.77398,47.36517],[0.7728,47.40148],[0.7904,47.40147],[0.78988,47.4103],[0.79117,47.41047],[0.79108,47.41942],[0.79392,47.41942],[0.79319,47.43733],[0.79834,47.43742],[0.79808,47.45544],[0.80044,47.45541],[0.80138,47.46426],[0.80074,47.46899],[0.79396,47.47331],[0.78405,47.47323],[0.78387,47.47871],[0.77606,47.47859],[0.77585,47.48204],[0.77066,47.48219],[0.77044,47.4859],[0.76096,47.49092],[0.75718,47.49092],[0.73753,47.50336],[0.7259,47.50588],[0.71113,47.50576],[0.70418,47.50408],[0.69109,47.50038],[0.69045,47.49718],[0.67757,47.49683],[0.67757,47.49353],[0.66427,47.49301],[0.6635,47.48953],[0.65088,47.48958],[0.65133,47.48032],[0.64734,47.4803],[0.64747,47.47852],[0.64474,47.47846],[0.64479,47.47575],[0.64238,47.47578],[0.64225,47.47302],[0.63835,47.47294],[0.63792,47.47131],[0.60513,47.47079],[0.60513,47.46632],[0.59852,47.46603],[0.59878,47.46156],[0.592,47.46156],[0.59226,47.45976],[0.58084,47.45971],[0.58007,47.46145],[0.57234,47.46139],[0.57222,47.46512],[0.55874,47.46489],[0.5466,47.46052],[0.53269,47.45355],[0.52677,47.45315],[0.52677,47.45152],[0.52231,47.45123],[0.52256,47.44804],[0.51977,47.44776],[0.52007,47.44247],[0.4975,47.4416],[0.49716,47.44049],[0.49355,47.44015],[0.49355,47.43573],[0.47943,47.43575],[0.46171,47.42819],[0.45643,47.42088],[0.45489,47.41229],[0.45506,47.40218],[0.46149,47.40193],[0.46167,47.39641],[0.46879,47.39602],[0.47016,47.35173],[0.45677,47.3515],[0.45729,47.34254],[0.43085,47.34196],[0.43196,47.30602],[0.47154,47.3067],[0.47257,47.28004],[0.48527,47.28004],[0.48578,47.27084],[0.49935,47.27107],[0.49917,47.26245],[0.55273,47.26304],[0.55222,47.27201],[0.56561,47.27224],[0.56526,47.28156],[0.59118,47.28156],[0.59067,47.29099],[0.66912,47.29169],[0.6832,47.29564],[0.6832,47.30077],[0.69658,47.30123],[0.69641,47.3024],[0.71006,47.30245],[0.72293,47.30589],[0.72285,47.31043],[0.74165,47.31084],[0.75426,47.31392],[0.7625,47.31815],[0.76207,47.32013],[0.76619,47.32009],[0.76956,47.32207],[0.77233,47.32508],[0.77336,47.3267],[0.77512,47.32983]]],terms_url:"https://wiki.openstreetmap.org/wiki/Tours/Orthophoto",terms_text:"Orthophoto Tour(s)plus 2013"},{id:"trafikverket-baninfo",name:"Trafikverket Railway Network",type:"wms",template:"https://geo-baninfo.trafikverket.se/mapservice/wms.axd/BanInfo?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Spar_Huvud_och_sidospar&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[7,20],polygon:[[[12.80182,55.19612],[14.22729,55.27286],[18.44604,56.69244],[19.74242,57.98481],[20.0061,59.5371],[19.08394,60.19308],[20.49499,63.2497],[24.25231,65.57437],[23.81835,67.92514],[23.23607,68.34655],[20.43456,69.17038],[18.08349,68.5644],[16.50145,67.88382],[14.43602,66.14275],[11.82128,63.30775],[12.20031,60.31063],[10.62377,58.5482],[12.64251,56.03062],[12.80182,55.19612]]],terms_url:"https://www.trafikverket.se",terms_text:"© Trafikverket, CC0",description:"Swedish railway network, including sidings",icon:"https://api.trafikinfo.trafikverket.se/img/apple-touch-icon-144-precomposed.png",overlay:true},{id:"trafikverket-vagnat",name:"Trafikverket Road Network",type:"wms",template:"https://geo-netinfo.trafikverket.se/mapservice/wms.axd/NetInfo?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Vagtrafiknat,Funkvagklass,Farjeled&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[13,20],polygon:[[[12.80182,55.19612],[14.22729,55.27286],[18.44604,56.69244],[19.74242,57.98481],[20.0061,59.5371],[19.08394,60.19308],[20.49499,63.2497],[24.25231,65.57437],[23.81835,67.92514],[23.23607,68.34655],[20.43456,69.17038],[18.08349,68.5644],[16.50145,67.88382],[14.43602,66.14275],[11.82128,63.30775],[12.20031,60.31063],[10.62377,58.5482],[12.64251,56.03062],[12.80182,55.19612]]],terms_url:"https://www.trafikverket.se",terms_text:"© Trafikverket, CC0",description:"Swedish NVDB road network",icon:"https://api.trafikinfo.trafikverket.se/img/apple-touch-icon-144-precomposed.png",overlay:true},{id:"trafikverket-vagnat-extra",name:"Trafikverket Road Network extra",type:"wms",template:"https://geo-netinfo.trafikverket.se/mapservice/wms.axd/NetInfo?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Vagnummer,Vaghinder,Rastplats,Rastficka,Hallplats,Farthinder,BroTunnel,ATK_Matplats&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",zoomExtent:[3,20],polygon:[[[12.80182,55.19612],[14.22729,55.27286],[18.44604,56.69244],[19.74242,57.98481],[20.0061,59.5371],[19.08394,60.19308],[20.49499,63.2497],[24.25231,65.57437],[23.81835,67.92514],[23.23607,68.34655],[20.43456,69.17038],[18.08349,68.5644],[16.50145,67.88382],[14.43602,66.14275],[11.82128,63.30775],[12.20031,60.31063],[10.62377,58.5482],[12.64251,56.03062],[12.80182,55.19612]]],terms_url:"https://www.trafikverket.se",terms_text:"© Trafikverket, CC0",description:"Swedish NVDB extra details: Highway reference, traffic calming, rest area, bus stop, bridge, tunnel, speed camera",icon:"https://api.trafikinfo.trafikverket.se/img/apple-touch-icon-144-precomposed.png",overlay:true},{id:"trafikverket-vagnat-navn",name:"Trafikverket Street Names",type:"tms",template:"https://mapproxy.openstreetmap.se/tiles/1.0.0/nvdb_names/EPSG3857/{zoom}/{x}/{y}.png",zoomExtent:[15,19],polygon:[[[12.80182,55.19612],[14.22729,55.27286],[18.44604,56.69244],[19.74242,57.98481],[20.0061,59.5371],[19.08394,60.19308],[20.49499,63.2497],[24.25231,65.57437],[23.81835,67.92514],[23.23607,68.34655],[20.43456,69.17038],[18.08349,68.5644],[16.50145,67.88382],[14.43602,66.14275],[11.82128,63.30775],[12.20031,60.31063],[10.62377,58.5482],[12.64251,56.03062],[12.80182,55.19612]]],terms_url:"https://www.trafikverket.se",terms_text:"© Trafikverket, CC0",description:"Swedish NVDB street names",icon:"https://api.trafikinfo.trafikverket.se/img/apple-touch-icon-144-precomposed.png",overlay:true},{id:"US_Forest_Service_roads_overlay",name:"U.S. Forest Roads Overlay",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/styles/v1/glassman/cjf4qjmps0tgv2qpahj977mvz/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1IjoiZ2xhc3NtYW4iLCJhIjoiRjk3dWdwYyJ9.Tg_fMJWxygeKBgVTrZHmGA",zoomExtent:[0,20],polygon:[[[-124.76179,48.41301],[-124.60595,45.90245],[-124.99343,40.05576],[-122.53697,36.85661],[-119.97759,33.00641],[-117.67593,32.46302],[-114.86123,32.47999],[-111.00893,31.33601],[-108.19927,31.326],[-108.18711,31.77551],[-106.53072,31.78209],[-106.48421,31.74645],[-106.42932,31.75206],[-106.28689,31.56133],[-106.20525,31.4467],[-105.02053,30.5361],[-104.58819,29.69979],[-103.25189,28.89087],[-102.71736,29.39206],[-102.1514,29.74757],[-101.25529,29.48105],[-100.00624,28.00822],[-99.23511,26.4476],[-98.01091,25.9928],[-97.43502,25.8266],[-96.95553,25.98216],[-96.80617,27.79782],[-95.55633,28.58761],[-93.74053,29.47421],[-90.90285,28.85645],[-88.01567,28.99443],[-88.01625,30.00389],[-86.02775,30.00475],[-84.01879,28.99618],[-81.9972,25.98268],[-81.99666,25.01349],[-84.01656,25.01258],[-84.01601,24.00527],[-80.02,24.0071],[-79.89011,26.85507],[-80.02453,32.01613],[-75.41474,35.05319],[-74.02112,39.57279],[-72.00202,40.99125],[-69.87974,40.99205],[-69.84893,43.26199],[-66.94528,44.71049],[-67.75966,47.099],[-69.25051,47.51223],[-70.46149,46.21766],[-71.41227,45.25488],[-72.02225,45.00598],[-75.07988,44.98029],[-76.90231,43.80246],[-78.76239,43.62496],[-79.15798,43.44626],[-79.00601,42.80053],[-82.66248,41.68895],[-82.17616,43.58854],[-83.2814,46.13885],[-87.50645,48.01427],[-88.34922,48.29633],[-89.43531,47.98378],[-93.99811,49.00671],[-95.11054,49.412],[-96.01312,49.00605],[-123.32289,49.00429],[-123.22752,48.18499],[-124.76179,48.41301]],[[-160.57876,22.50629],[-160.57822,21.49846],[-158.74706,21.24398],[-157.50832,20.9958],[-155.99619,18.77902],[-154.62178,18.7587],[-154.68902,19.88057],[-156.29276,21.22259],[-157.50474,21.9985],[-159.00937,22.50702],[-160.57876,22.50629]],[[-167.15715,68.72197],[-164.8554,67.02551],[-168.0022,66.00175],[-169.00874,66.00155],[-169.00754,64.99877],[-172.51433,63.87673],[-173.8197,59.74014],[-162.50181,58.00058],[-160.0159,58.00124],[-160.01497,57.00003],[-160.50548,56.9999],[-165.80926,54.82485],[-178.0001,52.24465],[-177.9993,51.25543],[-171.46891,51.82153],[-162.40251,53.95666],[-159.00757,55.0025],[-158.01907,55.00278],[-151.99632,55.99919],[-151.50034,57.99879],[-151.50129,58.99198],[-138.516,58.99532],[-138.51505,57.99864],[-133.99482,54.00317],[-130.00444,54.00434],[-130.00708,57.00005],[-131.97588,56.99952],[-135.12299,59.7566],[-138.00718,59.9918],[-139.17159,60.41272],[-140.9874,61.01186],[-140.9684,69.95351],[-156.17689,71.56333],[-160.41363,70.73977],[-163.02183,69.97074],[-164.9717,68.99469],[-167.15715,68.72197]]],description:"Highway: Green casing = unclassified. Brown casing = track. Surface: gravel = light brown fill, Asphalt = black, paved = gray, ground =white, concrete = blue, grass = green. Seasonal = white bars",icon:"https://osmlab.github.io/editor-layer-index/sources/north-america/us/USForestService-overlay.png",overlay:true},{id:"US_Forest_Service_roads",name:"U.S. Forest Service roads",type:"tms",template:"https://osm.cycle.travel/forest/{zoom}/{x}/{y}.png",zoomExtent:[0,19],polygon:[[[-124.76179,48.41301],[-124.60595,45.90245],[-124.99343,40.05576],[-122.53697,36.85661],[-119.97759,33.00641],[-117.67593,32.46302],[-114.86123,32.47999],[-111.00893,31.33601],[-108.19927,31.326],[-108.18711,31.77551],[-106.53072,31.78209],[-106.48421,31.74645],[-106.42932,31.75206],[-106.28689,31.56133],[-106.20525,31.4467],[-105.02053,30.5361],[-104.58819,29.69979],[-103.25189,28.89087],[-102.71736,29.39206],[-102.1514,29.74757],[-101.25529,29.48105],[-100.00624,28.00822],[-99.23511,26.4476],[-98.01091,25.9928],[-97.43502,25.8266],[-96.95553,25.98216],[-96.80617,27.79782],[-95.55633,28.58761],[-93.74053,29.47421],[-90.90285,28.85645],[-88.01567,28.99443],[-88.01625,30.00389],[-86.02775,30.00475],[-84.01879,28.99618],[-81.9972,25.98268],[-81.99666,25.01349],[-84.01656,25.01258],[-84.01601,24.00527],[-80.02,24.0071],[-79.89011,26.85507],[-80.02453,32.01613],[-75.41474,35.05319],[-74.02112,39.57279],[-72.00202,40.99125],[-69.87974,40.99205],[-69.84893,43.26199],[-66.94528,44.71049],[-67.75966,47.099],[-69.25051,47.51223],[-70.46149,46.21766],[-71.41227,45.25488],[-72.02225,45.00598],[-75.07988,44.98029],[-76.90231,43.80246],[-78.76239,43.62496],[-79.15798,43.44626],[-79.00601,42.80053],[-82.66248,41.68895],[-82.17616,43.58854],[-83.2814,46.13885],[-87.50645,48.01427],[-88.34922,48.29633],[-89.43531,47.98378],[-93.99811,49.00671],[-95.11054,49.412],[-96.01312,49.00605],[-123.32289,49.00429],[-123.22752,48.18499],[-124.76179,48.41301]],[[-160.57876,22.50629],[-160.57822,21.49846],[-158.74706,21.24398],[-157.50832,20.9958],[-155.99619,18.77902],[-154.62178,18.7587],[-154.68902,19.88057],[-156.29276,21.22259],[-157.50474,21.9985],[-159.00937,22.50702],[-160.57876,22.50629]],[[-167.15715,68.72197],[-164.8554,67.02551],[-168.0022,66.00175],[-169.00874,66.00155],[-169.00754,64.99877],[-172.51433,63.87673],[-173.8197,59.74014],[-162.50181,58.00058],[-160.0159,58.00124],[-160.01497,57.00003],[-160.50548,56.9999],[-165.80926,54.82485],[-178.0001,52.24465],[-177.9993,51.25543],[-171.46891,51.82153],[-162.40251,53.95666],[-159.00757,55.0025],[-158.01907,55.00278],[-151.99632,55.99919],[-151.50034,57.99879],[-151.50129,58.99198],[-138.516,58.99532],[-138.51505,57.99864],[-133.99482,54.00317],[-130.00444,54.00434],[-130.00708,57.00005],[-131.97588,56.99952],[-135.12299,59.7566],[-138.00718,59.9918],[-139.17159,60.41272],[-140.9874,61.01186],[-140.9684,69.95351],[-156.17689,71.56333],[-160.41363,70.73977],[-163.02183,69.97074],[-164.9717,68.99469],[-167.15715,68.72197]]]},{id:"Zuerich-zh_uebersichtsplan-tms",name:"Übersichtsplan Zürich",type:"tms",template:"https://mapproxy.osm.ch/tiles/zh_uebersichtsplan/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",zoomExtent:[0,21],polygon:[[[8.45788,47.44582],[8.57392,47.44477],[8.57362,47.43124],[8.60266,47.43096],[8.60231,47.41746],[8.6318,47.41716],[8.6295,47.33628],[8.57162,47.33679],[8.57152,47.32292],[8.54236,47.3236],[8.54212,47.31013],[8.48418,47.31062],[8.48478,47.33762],[8.45582,47.33787],[8.45609,47.35135],[8.42713,47.35161],[8.42864,47.43259],[8.45745,47.43231],[8.45788,47.44582]]],terms_text:"Stadt Zürich Open Government Data",description:"This imagery is provided via a proxy operated by https://sosm.ch/"},{id:"UkraineKyiv2014DZK",name:"Ukraine - Kyiv 2014 (DZK)",type:"tms",template:"http://map.land.gov.ua/map/ortho_kiev/{zoom}/{x}/{-y}.jpg",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",zoomExtent:[0,16],polygon:[[[30.30752,50.57184],[30.33155,50.57402],[30.37687,50.57925],[30.42288,50.58143],[30.4318,50.58579],[30.44416,50.58797],[30.45515,50.58754],[30.46545,50.58449],[30.46819,50.57751],[30.49085,50.57489],[30.51351,50.57489],[30.52519,50.57402],[30.55608,50.55221],[30.58424,50.53869],[30.5966,50.53781],[30.60896,50.5365],[30.64329,50.5352],[30.65496,50.53563],[30.65496,50.54305],[30.66045,50.54916],[30.66801,50.55439],[30.67762,50.55876],[30.68792,50.56137],[30.70783,50.55614],[30.71127,50.56356],[30.71127,50.57838],[30.72157,50.58231],[30.71882,50.58972],[30.72981,50.59103],[30.74011,50.58841],[30.76208,50.58536],[30.77306,50.58274],[30.78336,50.57795],[30.80259,50.57141],[30.81014,50.56617],[30.82182,50.55439],[30.82525,50.53956],[30.81701,50.53432],[30.79504,50.52909],[30.78474,50.52559],[30.76276,50.51992],[30.76208,50.5125],[30.75315,50.50769],[30.74354,50.50376],[30.73805,50.49721],[30.74629,50.49197],[30.75521,50.48847],[30.74835,50.48236],[30.75178,50.47537],[30.75315,50.46794],[30.74835,50.46138],[30.75178,50.45439],[30.78886,50.43646],[30.7971,50.43165],[30.80328,50.41765],[30.8225,50.40846],[30.82044,50.40102],[30.82319,50.39358],[30.81289,50.39095],[30.80122,50.39139],[30.78954,50.39314],[30.77787,50.3927],[30.77856,50.3857],[30.77169,50.38001],[30.76208,50.37519],[30.75109,50.37256],[30.73873,50.37256],[30.72775,50.37475],[30.71813,50.37957],[30.71539,50.36512],[30.71127,50.35855],[30.70577,50.35241],[30.69753,50.34716],[30.68586,50.34453],[30.65084,50.34058],[30.63848,50.34014],[30.62681,50.33795],[30.62887,50.3305],[30.64947,50.29279],[30.66663,50.28314],[30.67144,50.27656],[30.6632,50.27085],[30.65153,50.26997],[30.64535,50.27612],[30.63368,50.27787],[30.62132,50.27656],[30.61857,50.2691],[30.62956,50.25637],[30.6378,50.25154],[30.64535,50.23792],[30.64398,50.2309],[30.63917,50.22387],[30.62956,50.21992],[30.6069,50.2164],[30.59591,50.2186],[30.59042,50.23353],[30.5863,50.241],[30.57531,50.25505],[30.56501,50.25944],[30.5657,50.2669],[30.56432,50.29718],[30.56638,50.30463],[30.5657,50.31209],[30.55677,50.31691],[30.54441,50.31735],[30.52587,50.32699],[30.51489,50.3305],[30.50253,50.33182],[30.48055,50.33664],[30.47163,50.34146],[30.46957,50.34935],[30.47025,50.35679],[30.46201,50.36205],[30.4524,50.35679],[30.44004,50.35548],[30.43661,50.36512],[30.43111,50.37212],[30.43661,50.37826],[30.43455,50.3857],[30.40914,50.39883],[30.39678,50.40014],[30.3906,50.40671],[30.37069,50.41546],[30.36314,50.42159],[30.3597,50.42902],[30.3597,50.43646],[30.35696,50.44389],[30.3446,50.44477],[30.32056,50.44258],[30.29585,50.44477],[30.28349,50.44477],[30.27799,50.43864],[30.27525,50.43165],[30.26563,50.42771],[30.25396,50.42902],[30.24572,50.42377],[30.23542,50.42771],[30.2416,50.43427],[30.2416,50.44214],[30.23679,50.4487],[30.23885,50.45613],[30.24297,50.46313],[30.24915,50.46968],[30.25671,50.47493],[30.26083,50.48192],[30.26563,50.48847],[30.26907,50.49983],[30.26151,50.50595],[30.26357,50.51381],[30.26975,50.51992],[30.28898,50.52821],[30.29722,50.53345],[30.30271,50.54],[30.30203,50.54741],[30.30477,50.55483],[30.32743,50.55221],[30.33086,50.55919],[30.32262,50.56486],[30.31233,50.56835],[30.30752,50.57184]]],description:"Works only from within Ukraine or with an Ukrainian proxy server."},{id:"Ukraine-orto10000-2012",name:"Ukraine - Orthophotomaps 2012",type:"tms",template:"http://212.26.144.110/tile2/orto_10000/{zoom}/{x}/{-y}.jpg",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",zoomExtent:[0,16],polygon:[[[23.6193,51.65491],[24.09803,51.64047],[24.39723,51.89353],[25.19178,51.95913],[26.12263,51.92224],[26.49829,51.80933],[27.09005,51.77026],[27.62861,51.62603],[28.02422,51.59093],[28.28021,51.68172],[28.37662,51.5806],[28.82542,51.5682],[29.19111,51.64253],[29.41718,51.4399],[29.67316,51.51238],[29.82276,51.47512],[30.21837,51.50824],[30.54417,51.30709],[30.63726,51.38599],[30.51425,51.63634],[30.983,52.09005],[31.2822,52.07984],[31.48832,52.13497],[32.11,52.05531],[32.31279,52.11864],[32.43912,52.32434],[32.93114,52.28368],[33.29683,52.39337],[33.75561,52.35277],[34.35734,51.78055],[34.14457,51.76409],[34.05813,51.67965],[34.22103,51.47098],[34.25095,51.30085],[34.7197,51.19056],[35.11199,51.21139],[35.1818,51.08626],[35.38792,51.03402],[35.40787,50.62878],[35.62063,50.38563],[36.06944,50.4513],[36.21571,50.41106],[36.31212,50.28802],[36.4717,50.32624],[36.59138,50.2519],[37.46571,50.45977],[37.735,50.11353],[38.05747,49.9384],[38.19377,49.95765],[38.19045,50.07514],[38.35002,50.08154],[38.41651,49.98972],[38.73899,49.97476],[39.00827,49.83344],[39.14457,49.89987],[39.27755,49.78195],[39.54018,49.74544],[39.79949,49.58406],[40.18845,49.6013],[40.0588,49.50424],[40.20508,49.24666],[39.93247,49.06185],[39.71638,49.01608],[40.08872,48.85448],[39.79617,48.78443],[39.69311,48.65283],[39.86266,48.5693],[39.99231,48.31348],[39.83274,47.92287],[39.74297,47.83144],[39.57675,47.81135],[38.86532,47.85153],[38.77555,47.68618],[38.38327,47.60106],[38.30348,47.52704],[38.30016,47.23891],[38.13393,47.05577],[37.5455,47.05124],[37.31279,46.87654],[37.20973,46.92651],[36.96039,46.83107],[36.7443,46.61685],[36.72436,46.7719],[36.4451,46.72407],[36.10601,46.4728],[36.20574,46.66022],[35.92316,46.64424],[35.43114,46.39948],[35.10202,45.97138],[35.0455,45.75145],[35.47436,45.33],[35.86,45.53297],[35.9963,45.43274],[36.11598,45.51899],[36.66452,45.4514],[36.65454,45.34168],[36.50494,45.31363],[36.47502,45.24111],[36.48832,45.04884],[35.81013,44.98539],[35.5076,45.11222],[35.42782,44.93364],[35.12196,44.76394],[34.67649,44.75686],[33.985,44.37078],[33.68912,44.38504],[33.38327,44.50608],[33.35002,44.589],[33.55282,44.93128],[33.42981,45.1263],[33.19377,45.14271],[32.83141,45.33935],[32.60534,45.30896],[32.44577,45.3557],[32.50893,45.47005],[32.87795,45.68181],[33.57941,45.90665],[33.58938,46.02681],[33.25694,46.07065],[33.02422,45.97138],[31.61133,46.19506],[31.27555,46.61457],[30.87662,46.56887],[30.43446,45.98756],[29.69643,45.55159],[29.79284,45.46306],[29.73965,45.15913],[29.47369,45.41407],[29.18114,45.38373],[28.74896,45.22004],[28.56611,45.23409],[28.29018,45.33],[28.23367,45.49103],[28.31678,45.56789],[28.483,45.54228],[28.47303,45.73753],[28.95175,46.03143],[29.02489,46.18125],[28.9318,46.49569],[29.18779,46.57116],[29.59337,46.45448],[29.81944,46.46593],[29.95574,46.68759],[29.8959,46.8197],[29.56013,46.96963],[29.54683,47.29982],[29.14789,47.50234],[29.23101,47.77562],[29.17117,47.934],[28.86864,47.99411],[28.63593,48.16513],[28.44311,48.06525],[28.36332,48.17178],[28.25694,48.15404],[27.735,48.43494],[27.55547,48.45258],[26.92383,48.34884],[26.36532,48.17178],[26.1193,47.97408],[25.3846,47.91618],[24.91585,47.70408],[24.52024,47.94291],[24.18446,47.90058],[23.58274,48.00523],[23.43646,47.96963],[23.15388,48.10522],[23.07077,47.98743],[22.858,47.9585],[22.76824,48.09856],[22.58539,48.103],[22.51558,48.2161],[22.11332,48.4217],[22.49896,49.06621],[22.58872,49.11193],[22.87795,49.04006],[22.7217,49.18151],[22.71837,49.64652],[23.24364,50.105],[24.04484,50.49785],[24.05813,50.68779],[23.9451,50.81399],[24.10135,50.85388],[23.62928,51.29462],[23.6193,51.65491]]],description:"Works only from within Ukraine or with an Ukrainian proxy server."},{id:"uniao_dos_palmares",name:"União dos Palmares AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Uniao%20dos%20Palmares&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-35.97725,-9.20752],[-35.9772,-9.19398],[-35.97694,-9.19053],[-35.97678,-9.18607],[-35.97702,-9.18208],[-35.97704,-9.17968],[-35.97682,-9.17734],[-35.97664,-9.17517],[-35.97701,-9.17518],[-35.97696,-9.1707],[-35.97674,-9.17066],[-35.97661,-9.16645],[-35.97618,-9.16222],[-35.9761,-9.16026],[-35.97661,-9.16026],[-35.97672,-9.14608],[-35.97654,-9.14122],[-35.97666,-9.1332],[-35.97653,-9.12184],[-35.97648,-9.11748],[-35.98618,-9.11755],[-35.98947,-9.11733],[-36.00561,-9.11733],[-36.01859,-9.11736],[-36.04601,-9.11722],[-36.06734,-9.11698],[-36.06756,-9.16134],[-36.06771,-9.16405],[-36.06745,-9.16408],[-36.06756,-9.16657],[-36.06777,-9.16654],[-36.06798,-9.20701],[-36.0498,-9.20711],[-36.04671,-9.20698],[-36.02941,-9.20709],[-36.01355,-9.20718],[-35.99318,-9.20733],[-35.97725,-9.20752]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"URBIS2009",name:"URBIS 2009 aerial imagery",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=Urbis:Ortho2009&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",endDate:"2009-01-01T00:00:00.000Z",startDate:"2009-01-01T00:00:00.000Z",polygon:[[[4.37973,50.76382],[4.38917,50.76377],[4.43028,50.77517],[4.435,50.775],[4.46427,50.78645],[4.4817,50.79134],[4.48238,50.79617],[4.45921,50.80626],[4.45947,50.81661],[4.47972,50.82036],[4.46959,50.83537],[4.46899,50.84573],[4.46238,50.85396],[4.44968,50.85591],[4.44599,50.85992],[4.4253,50.86615],[4.43183,50.87628],[4.44007,50.87845],[4.43106,50.89014],[4.43595,50.89502],[4.4296,50.90103],[4.41655,50.90757],[4.41543,50.91342],[4.39578,50.91407],[4.38462,50.91093],[4.38119,50.90319],[4.3726,50.90032],[4.36213,50.9033],[4.34857,50.90341],[4.34025,50.90411],[4.32892,50.90249],[4.31647,50.89605],[4.30634,50.89274],[4.29004,50.88982],[4.29149,50.88495],[4.29553,50.88262],[4.29561,50.88094],[4.28274,50.87227],[4.27699,50.86713],[4.27802,50.85911],[4.28042,50.85721],[4.28094,50.84215],[4.27193,50.84036],[4.25467,50.83695],[4.25107,50.83288],[4.25227,50.82697],[4.24343,50.82182],[4.24403,50.81548],[4.25519,50.8151],[4.25802,50.80935],[4.27218,50.81011],[4.27579,50.80696],[4.2854,50.80506],[4.28901,50.80691],[4.29802,50.80593],[4.30282,50.79709],[4.31458,50.79454],[4.31621,50.78624],[4.32952,50.77381],[4.34205,50.77164],[4.34522,50.77337],[4.37853,50.76811],[4.37973,50.76382]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/URBIS2015aerialimagery.png"},{id:"URBIS2012",name:"URBIS 2012 aerial imagery",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=Urbis:Ortho2012&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",polygon:[[[4.37973,50.76382],[4.38917,50.76377],[4.43028,50.77517],[4.435,50.775],[4.46427,50.78645],[4.4817,50.79134],[4.48238,50.79617],[4.45921,50.80626],[4.45947,50.81661],[4.47972,50.82036],[4.46959,50.83537],[4.46899,50.84573],[4.46238,50.85396],[4.44968,50.85591],[4.44599,50.85992],[4.4253,50.86615],[4.43183,50.87628],[4.44007,50.87845],[4.43106,50.89014],[4.43595,50.89502],[4.4296,50.90103],[4.41655,50.90757],[4.41543,50.91342],[4.39578,50.91407],[4.38462,50.91093],[4.38119,50.90319],[4.3726,50.90032],[4.36213,50.9033],[4.34857,50.90341],[4.34025,50.90411],[4.32892,50.90249],[4.31647,50.89605],[4.30634,50.89274],[4.29004,50.88982],[4.29149,50.88495],[4.29553,50.88262],[4.29561,50.88094],[4.28274,50.87227],[4.27699,50.86713],[4.27802,50.85911],[4.28042,50.85721],[4.28094,50.84215],[4.27193,50.84036],[4.25467,50.83695],[4.25107,50.83288],[4.25227,50.82697],[4.24343,50.82182],[4.24403,50.81548],[4.25519,50.8151],[4.25802,50.80935],[4.27218,50.81011],[4.27579,50.80696],[4.2854,50.80506],[4.28901,50.80691],[4.29802,50.80593],[4.30282,50.79709],[4.31458,50.79454],[4.31621,50.78624],[4.32952,50.77381],[4.34205,50.77164],[4.34522,50.77337],[4.37853,50.76811],[4.37973,50.76382]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/URBIS2015aerialimagery.png"},{id:"URBIS2014",name:"URBIS 2014 aerial imagery",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=Urbis:Ortho2014&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",polygon:[[[4.4001,50.76373],[4.43093,50.77254],[4.43586,50.77237],[4.46549,50.78373],[4.48189,50.78835],[4.48269,50.79849],[4.46363,50.80686],[4.46407,50.81546],[4.48204,50.81699],[4.48103,50.82343],[4.47465,50.83505],[4.47403,50.84587],[4.46712,50.85447],[4.45257,50.85797],[4.45017,50.86151],[4.42968,50.86764],[4.43423,50.87384],[4.44147,50.87513],[4.44381,50.88004],[4.43534,50.88977],[4.43968,50.89475],[4.43287,50.90363],[4.42096,50.90917],[4.42023,50.91387],[4.38315,50.91381],[4.37879,50.90637],[4.37334,50.90289],[4.36241,50.906],[4.34824,50.90611],[4.33955,50.90685],[4.32771,50.90515],[4.31471,50.89842],[4.30413,50.89498],[4.2871,50.89192],[4.28725,50.88532],[4.29293,50.88265],[4.27948,50.8736],[4.27347,50.86822],[4.27364,50.85871],[4.27688,50.85575],[4.27644,50.84376],[4.26664,50.8405],[4.25488,50.83992],[4.24755,50.83453],[4.24799,50.82866],[4.24357,50.82599],[4.24376,50.81356],[4.25233,50.81268],[4.25649,50.80711],[4.27025,50.8073],[4.27222,50.80537],[4.28414,50.80241],[4.28885,50.80434],[4.29544,50.8043],[4.30046,50.79506],[4.31076,50.79299],[4.31444,50.78372],[4.32628,50.77221],[4.34194,50.76891],[4.34474,50.77029],[4.37535,50.76577],[4.3755,50.76381],[4.4001,50.76373]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/URBIS2015aerialimagery.png"},{id:"URBIS2015",name:"URBIS 2015 aerial imagery",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=Urbis:Ortho2015&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",polygon:[[[4.37973,50.76382],[4.38917,50.76377],[4.43028,50.77517],[4.435,50.775],[4.46427,50.78645],[4.4817,50.79134],[4.48238,50.79617],[4.45921,50.80626],[4.45947,50.81661],[4.47972,50.82036],[4.46959,50.83537],[4.46899,50.84573],[4.46238,50.85396],[4.44968,50.85591],[4.44599,50.85992],[4.4253,50.86615],[4.43183,50.87628],[4.44007,50.87845],[4.43106,50.89014],[4.43595,50.89502],[4.4296,50.90103],[4.41655,50.90757],[4.41543,50.91342],[4.39578,50.91407],[4.38462,50.91093],[4.38119,50.90319],[4.3726,50.90032],[4.36213,50.9033],[4.34857,50.90341],[4.34025,50.90411],[4.32892,50.90249],[4.31647,50.89605],[4.30634,50.89274],[4.29004,50.88982],[4.29149,50.88495],[4.29553,50.88262],[4.29561,50.88094],[4.28274,50.87227],[4.27699,50.86713],[4.27802,50.85911],[4.28042,50.85721],[4.28094,50.84215],[4.27193,50.84036],[4.25467,50.83695],[4.25107,50.83288],[4.25227,50.82697],[4.24343,50.82182],[4.24403,50.81548],[4.25519,50.8151],[4.25802,50.80935],[4.27218,50.81011],[4.27579,50.80696],[4.2854,50.80506],[4.28901,50.80691],[4.29802,50.80593],[4.30282,50.79709],[4.31458,50.79454],[4.31621,50.78624],[4.32952,50.77381],[4.34205,50.77164],[4.34522,50.77337],[4.37853,50.76811],[4.37973,50.76382]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/URBIS2015aerialimagery.png"},{id:"UrbISOrtho2016",name:"UrbIS-Ortho 2016",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=Urbis:Ortho2016&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",polygon:[[[4.37973,50.76382],[4.38917,50.76377],[4.43028,50.77517],[4.435,50.775],[4.46427,50.78645],[4.4817,50.79134],[4.48238,50.79617],[4.45921,50.80626],[4.45947,50.81661],[4.47972,50.82036],[4.46959,50.83537],[4.46899,50.84573],[4.46238,50.85396],[4.44968,50.85591],[4.44599,50.85992],[4.4253,50.86615],[4.43183,50.87628],[4.44007,50.87845],[4.43106,50.89014],[4.43595,50.89502],[4.4296,50.90103],[4.41655,50.90757],[4.41543,50.91342],[4.39578,50.91407],[4.38462,50.91093],[4.38119,50.90319],[4.3726,50.90032],[4.36213,50.9033],[4.34857,50.90341],[4.34025,50.90411],[4.32892,50.90249],[4.31647,50.89605],[4.30634,50.89274],[4.29004,50.88982],[4.29149,50.88495],[4.29553,50.88262],[4.29561,50.88094],[4.28274,50.87227],[4.27699,50.86713],[4.27802,50.85911],[4.28042,50.85721],[4.28094,50.84215],[4.27193,50.84036],[4.25467,50.83695],[4.25107,50.83288],[4.25227,50.82697],[4.24343,50.82182],[4.24403,50.81548],[4.25519,50.8151],[4.25802,50.80935],[4.27218,50.81011],[4.27579,50.80696],[4.2854,50.80506],[4.28901,50.80691],[4.29802,50.80593],[4.30282,50.79709],[4.31458,50.79454],[4.31621,50.78624],[4.32952,50.77381],[4.34205,50.77164],[4.34522,50.77337],[4.37853,50.76811],[4.37973,50.76382]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/URBIS2015aerialimagery.png"},{id:"UrbISOrtho2017",name:"UrbIS-Ortho 2017",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=Urbis:Ortho2017&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",polygon:[[[4.37973,50.76382],[4.38917,50.76377],[4.43028,50.77517],[4.435,50.775],[4.46427,50.78645],[4.4817,50.79134],[4.48238,50.79617],[4.45921,50.80626],[4.45947,50.81661],[4.47972,50.82036],[4.46959,50.83537],[4.46899,50.84573],[4.46238,50.85396],[4.44968,50.85591],[4.44599,50.85992],[4.4253,50.86615],[4.43183,50.87628],[4.44007,50.87845],[4.43106,50.89014],[4.43595,50.89502],[4.4296,50.90103],[4.41655,50.90757],[4.41543,50.91342],[4.39578,50.91407],[4.38462,50.91093],[4.38119,50.90319],[4.3726,50.90032],[4.36213,50.9033],[4.34857,50.90341],[4.34025,50.90411],[4.32892,50.90249],[4.31647,50.89605],[4.30634,50.89274],[4.29004,50.88982],[4.29149,50.88495],[4.29553,50.88262],[4.29561,50.88094],[4.28274,50.87227],[4.27699,50.86713],[4.27802,50.85911],[4.28042,50.85721],[4.28094,50.84215],[4.27193,50.84036],[4.25467,50.83695],[4.25107,50.83288],[4.25227,50.82697],[4.24343,50.82182],[4.24403,50.81548],[4.25519,50.8151],[4.25802,50.80935],[4.27218,50.81011],[4.27579,50.80696],[4.2854,50.80506],[4.28901,50.80691],[4.29802,50.80593],[4.30282,50.79709],[4.31458,50.79454],[4.31621,50.78624],[4.32952,50.77381],[4.34205,50.77164],[4.34522,50.77337],[4.37853,50.76811],[4.37973,50.76382]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/URBIS2015aerialimagery.png"},{id:"UrbISOrtho2018",name:"UrbIS-Ortho 2018",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=Urbis:Ortho2018&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",endDate:"2018-01-01T00:00:00.000Z",startDate:"2018-01-01T00:00:00.000Z",polygon:[[[4.37973,50.76382],[4.38917,50.76377],[4.43028,50.77517],[4.435,50.775],[4.46427,50.78645],[4.4817,50.79134],[4.48238,50.79617],[4.45921,50.80626],[4.45947,50.81661],[4.47972,50.82036],[4.46959,50.83537],[4.46899,50.84573],[4.46238,50.85396],[4.44968,50.85591],[4.44599,50.85992],[4.4253,50.86615],[4.43183,50.87628],[4.44007,50.87845],[4.43106,50.89014],[4.43595,50.89502],[4.4296,50.90103],[4.41655,50.90757],[4.41543,50.91342],[4.39578,50.91407],[4.38462,50.91093],[4.38119,50.90319],[4.3726,50.90032],[4.36213,50.9033],[4.34857,50.90341],[4.34025,50.90411],[4.32892,50.90249],[4.31647,50.89605],[4.30634,50.89274],[4.29004,50.88982],[4.29149,50.88495],[4.29553,50.88262],[4.29561,50.88094],[4.28274,50.87227],[4.27699,50.86713],[4.27802,50.85911],[4.28042,50.85721],[4.28094,50.84215],[4.27193,50.84036],[4.25467,50.83695],[4.25107,50.83288],[4.25227,50.82697],[4.24343,50.82182],[4.24403,50.81548],[4.25519,50.8151],[4.25802,50.80935],[4.27218,50.81011],[4.27579,50.80696],[4.2854,50.80506],[4.28901,50.80691],[4.29802,50.80593],[4.30282,50.79709],[4.31458,50.79454],[4.31621,50.78624],[4.32952,50.77381],[4.34205,50.77164],[4.34522,50.77337],[4.37853,50.76811],[4.37973,50.76382]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",best:true,icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/URBIS2015aerialimagery.png"},{id:"UrbisAdmFR",name:"UrbisAdm FR",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=urbisFR&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[4.4347,50.77647],[4.45427,50.78367],[4.4635,50.78798],[4.48273,50.79313],[4.44715,50.80821],[4.44831,50.81147],[4.45788,50.81646],[4.45466,50.81838],[4.4768,50.82036],[4.46552,50.83549],[4.46835,50.83744],[4.46037,50.85218],[4.44578,50.85522],[4.44466,50.85809],[4.43891,50.86042],[4.43719,50.85868],[4.42612,50.86296],[4.42037,50.86789],[4.42973,50.87764],[4.43736,50.87867],[4.42681,50.89026],[4.43307,50.89464],[4.42277,50.90298],[4.41187,50.90753],[4.41376,50.91159],[4.4032,50.91381],[4.38758,50.9098],[4.37771,50.89713],[4.36303,50.90119],[4.34183,50.9026],[4.33093,50.90119],[4.31651,50.89389],[4.3057,50.8908],[4.29334,50.88847],[4.29428,50.88658],[4.29737,50.8849],[4.29918,50.87975],[4.28587,50.87201],[4.27858,50.86556],[4.28064,50.85944],[4.28999,50.85625],[4.28304,50.85354],[4.28793,50.84833],[4.28291,50.8479],[4.28158,50.83785],[4.27399,50.8392],[4.27184,50.8363],[4.25793,50.83571],[4.2545,50.83289],[4.25523,50.82839],[4.2509,50.82419],[4.24382,50.81928],[4.2566,50.81743],[4.25995,50.81106],[4.27274,50.81212],[4.2757,50.81087],[4.27708,50.80835],[4.28454,50.80732],[4.29274,50.80911],[4.2951,50.80881],[4.30162,50.81299],[4.3066,50.81239],[4.30205,50.80445],[4.30501,50.7987],[4.31527,50.79661],[4.31845,50.79403],[4.3193,50.78722],[4.32201,50.7832],[4.33089,50.7758],[4.3408,50.77354],[4.34677,50.77574],[4.3551,50.77354],[4.36527,50.77284],[4.38243,50.76917],[4.38303,50.76375],[4.43312,50.77802],[4.4347,50.77647]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/URBIS2015aerialimagery.png"},{id:"UrbisAdmNL",name:"UrbisAdm NL",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=urbisNL&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[4.4347,50.77647],[4.45427,50.78367],[4.4635,50.78798],[4.48273,50.79313],[4.44715,50.80821],[4.44831,50.81147],[4.45788,50.81646],[4.45466,50.81838],[4.4768,50.82036],[4.46552,50.83549],[4.46835,50.83744],[4.46037,50.85218],[4.44578,50.85522],[4.44466,50.85809],[4.43891,50.86042],[4.43719,50.85868],[4.42612,50.86296],[4.42037,50.86789],[4.42973,50.87764],[4.43736,50.87867],[4.42681,50.89026],[4.43307,50.89464],[4.42277,50.90298],[4.41187,50.90753],[4.41376,50.91159],[4.4032,50.91381],[4.38758,50.9098],[4.37771,50.89713],[4.36303,50.90119],[4.34183,50.9026],[4.33093,50.90119],[4.31651,50.89389],[4.3057,50.8908],[4.29334,50.88847],[4.29428,50.88658],[4.29737,50.8849],[4.29918,50.87975],[4.28587,50.87201],[4.27858,50.86556],[4.28064,50.85944],[4.28999,50.85625],[4.28304,50.85354],[4.28793,50.84833],[4.28291,50.8479],[4.28158,50.83785],[4.27399,50.8392],[4.27184,50.8363],[4.25793,50.83571],[4.2545,50.83289],[4.25523,50.82839],[4.2509,50.82419],[4.24382,50.81928],[4.2566,50.81743],[4.25995,50.81106],[4.27274,50.81212],[4.2757,50.81087],[4.27708,50.80835],[4.28454,50.80732],[4.29274,50.80911],[4.2951,50.80881],[4.30162,50.81299],[4.3066,50.81239],[4.30205,50.80445],[4.30501,50.7987],[4.31527,50.79661],[4.31845,50.79403],[4.3193,50.78722],[4.32201,50.7832],[4.33089,50.7758],[4.3408,50.77354],[4.34677,50.77574],[4.3551,50.77354],[4.36527,50.77284],[4.38243,50.76917],[4.38303,50.76375],[4.43312,50.77802],[4.4347,50.77647]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/URBIS2015aerialimagery.png"},{id:"URBISfr2013",name:"URBISfr numerical imagery (2013)",type:"wms",template:"https://gis.irisnet.be/arcgis/rest/services/basemap/urbisFR/MapServer/export?f=image&format=png8&transparent=False&SRS={proj}&bboxSR=3857&imageSR=3857&bbox={bbox}&size={width},{height}",projection:"EPSG:3857",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",polygon:[[[4.4347,50.77647],[4.45427,50.78367],[4.4635,50.78798],[4.48273,50.79313],[4.44715,50.80821],[4.44831,50.81147],[4.45788,50.81646],[4.45466,50.81838],[4.4768,50.82036],[4.46552,50.83549],[4.46835,50.83744],[4.46037,50.85218],[4.44578,50.85522],[4.44466,50.85809],[4.43891,50.86042],[4.43719,50.85868],[4.42612,50.86296],[4.42037,50.86789],[4.42973,50.87764],[4.43736,50.87867],[4.42681,50.89026],[4.43307,50.89464],[4.42277,50.90298],[4.41187,50.90753],[4.41376,50.91159],[4.4032,50.91381],[4.38758,50.9098],[4.37771,50.89713],[4.36303,50.90119],[4.34183,50.9026],[4.33093,50.90119],[4.31651,50.89389],[4.3057,50.8908],[4.29334,50.88847],[4.29428,50.88658],[4.29737,50.8849],[4.29918,50.87975],[4.28587,50.87201],[4.27858,50.86556],[4.28064,50.85944],[4.28999,50.85625],[4.28304,50.85354],[4.28793,50.84833],[4.28291,50.8479],[4.28158,50.83785],[4.27399,50.8392],[4.27184,50.8363],[4.25793,50.83571],[4.2545,50.83289],[4.25523,50.82839],[4.2509,50.82419],[4.24382,50.81928],[4.2566,50.81743],[4.25995,50.81106],[4.27274,50.81212],[4.2757,50.81087],[4.27708,50.80835],[4.28454,50.80732],[4.29274,50.80911],[4.2951,50.80881],[4.30162,50.81299],[4.3066,50.81239],[4.30205,50.80445],[4.30501,50.7987],[4.31527,50.79661],[4.31845,50.79403],[4.3193,50.78722],[4.32201,50.7832],[4.33089,50.7758],[4.3408,50.77354],[4.34677,50.77574],[4.3551,50.77354],[4.36527,50.77284],[4.38243,50.76917],[4.38303,50.76375],[4.43312,50.77802],[4.4347,50.77647]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/URBIS2015aerialimagery.png"},{id:"URBISnl2013",name:"URBISnl numerical imagery (2013)",type:"wms",template:"https://gis.irisnet.be/arcgis/rest/services/basemap/urbisNL/MapServer/export?f=image&format=png8&transparent=False&SRS={proj}&bboxSR=3857&imageSR=3857&bbox={bbox}&size={width},{height}",projection:"EPSG:3857",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",polygon:[[[4.4347,50.77647],[4.45427,50.78367],[4.4635,50.78798],[4.48273,50.79313],[4.44715,50.80821],[4.44831,50.81147],[4.45788,50.81646],[4.45466,50.81838],[4.4768,50.82036],[4.46552,50.83549],[4.46835,50.83744],[4.46037,50.85218],[4.44578,50.85522],[4.44466,50.85809],[4.43891,50.86042],[4.43719,50.85868],[4.42612,50.86296],[4.42037,50.86789],[4.42973,50.87764],[4.43736,50.87867],[4.42681,50.89026],[4.43307,50.89464],[4.42277,50.90298],[4.41187,50.90753],[4.41376,50.91159],[4.4032,50.91381],[4.38758,50.9098],[4.37771,50.89713],[4.36303,50.90119],[4.34183,50.9026],[4.33093,50.90119],[4.31651,50.89389],[4.3057,50.8908],[4.29334,50.88847],[4.29428,50.88658],[4.29737,50.8849],[4.29918,50.87975],[4.28587,50.87201],[4.27858,50.86556],[4.28064,50.85944],[4.28999,50.85625],[4.28304,50.85354],[4.28793,50.84833],[4.28291,50.8479],[4.28158,50.83785],[4.27399,50.8392],[4.27184,50.8363],[4.25793,50.83571],[4.2545,50.83289],[4.25523,50.82839],[4.2509,50.82419],[4.24382,50.81928],[4.2566,50.81743],[4.25995,50.81106],[4.27274,50.81212],[4.2757,50.81087],[4.27708,50.80835],[4.28454,50.80732],[4.29274,50.80911],[4.2951,50.80881],[4.30162,50.81299],[4.3066,50.81239],[4.30205,50.80445],[4.30501,50.7987],[4.31527,50.79661],[4.31845,50.79403],[4.3193,50.78722],[4.32201,50.7832],[4.33089,50.7758],[4.3408,50.77354],[4.34677,50.77574],[4.3551,50.77354],[4.36527,50.77284],[4.38243,50.76917],[4.38303,50.76375],[4.43312,50.77802],[4.4347,50.77647]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/be/URBIS2015aerialimagery.png"},{id:"USGS-Imagery",name:"USGS Imagery",type:"tms",template:"https://ags-proxy.openstreetmap.us/tiles/{zoom}/{x}/{y}?url=https%3A%2F%2Fbasemap.nationalmap.gov%2Farcgis%2Frest%2Fservices%2FUSGSImageryOnly%2FMapServer",zoomExtent:[12,20],polygon:[[[-123.25493,48.7529],[-123.25493,48.55923],[-123.19222,48.55923],[-123.19222,48.43484],[-122.94196,48.43484],[-122.94196,48.37208],[-122.88062,48.37208],[-122.88062,48.30948],[-122.81676,48.30948],[-122.81676,48.19046],[-123.00411,48.19046],[-123.00411,48.12759],[-123.05842,48.12759],[-123.05842,48.19051],[-123.25411,48.19051],[-123.25411,48.1275],[-123.37066,48.1275],[-123.37066,48.19084],[-124.05826,48.19084],[-124.05826,48.25344],[-124.18152,48.25344],[-124.18152,48.31647],[-124.43191,48.31647],[-124.43191,48.37826],[-124.55646,48.37826],[-124.55646,48.44083],[-124.75551,48.44083],[-124.75551,48.1915],[-124.81853,48.1915],[-124.81853,48.12284],[-124.7553,48.12284],[-124.7553,47.55353],[-124.38121,47.55353],[-124.38121,47.12187],[-124.19289,47.12187],[-124.19289,43.75694],[-124.44434,43.75694],[-124.44434,43.14256],[-124.63989,43.14256],[-124.63989,42.61945],[-124.44385,42.61945],[-124.44385,39.80807],[-123.88157,39.80807],[-123.88157,39.11028],[-123.75805,39.11028],[-123.75805,38.49688],[-123.27028,38.49688],[-123.27028,37.93319],[-122.81481,37.93319],[-122.81481,37.80196],[-122.56643,37.80196],[-122.56643,36.93196],[-121.8784,36.93196],[-121.8784,36.68976],[-122.00347,36.68976],[-122.00347,36.43411],[-121.94142,36.43411],[-121.94142,35.92976],[-121.5041,35.92976],[-121.5041,35.81003],[-121.37903,35.81003],[-121.37903,35.42392],[-120.94265,35.42392],[-120.94265,35.18497],[-120.8172,35.18497],[-120.8172,35.12199],[-120.69184,35.12199],[-120.69184,34.49668],[-120.50459,34.49668],[-120.50459,34.43397],[-120.00788,34.43397],[-120.00788,34.36826],[-119.52835,34.36826],[-119.52835,34.05764],[-119.0061,34.05764],[-119.0061,33.99753],[-118.50463,33.99753],[-118.50463,33.86946],[-118.44132,33.86946],[-118.44132,33.68653],[-118.06691,33.68653],[-118.06691,33.30638],[-117.503,33.30638],[-117.503,33.05003],[-117.31882,33.05003],[-117.31882,32.62059],[-117.1917,32.62059],[-117.1917,32.49746],[-116.7465,32.49746],[-116.7465,32.56092],[-115.99701,32.56092],[-115.99701,32.62649],[-114.88081,32.62649],[-114.88081,32.43408],[-114.62945,32.43408],[-114.62945,32.37316],[-114.44474,32.37316],[-114.44474,32.30754],[-114.25576,32.30754],[-114.25576,32.24446],[-114.06803,32.24446],[-114.06803,32.18291],[-113.81665,32.18291],[-113.81665,32.12076],[-113.63074,32.12076],[-113.63074,32.05651],[-113.44175,32.05651],[-113.44175,31.99844],[-113.2546,31.99844],[-113.2546,31.93254],[-113.06807,31.93254],[-113.06807,31.87181],[-112.81611,31.87181],[-112.81611,31.81042],[-112.63088,31.81042],[-112.63088,31.74647],[-112.44189,31.74647],[-112.44189,31.6856],[-112.25719,31.6856],[-112.25719,31.62104],[-112.00338,31.62104],[-112.00338,31.55958],[-111.81562,31.55958],[-111.81562,31.49702],[-111.62786,31.49702],[-111.62786,31.43399],[-111.4419,31.43399],[-111.4419,31.37339],[-111.25597,31.37339],[-111.25597,31.31132],[-108.18458,31.31132],[-108.18458,31.74595],[-106.50651,31.74595],[-106.50651,31.68423],[-106.37973,31.68423],[-106.37973,31.62175],[-106.31743,31.62175],[-106.31743,31.49682],[-106.25518,31.49682],[-106.25518,31.43449],[-106.19247,31.43449],[-106.19247,31.37213],[-106.00392,31.37213],[-106.00392,31.30933],[-105.94166,31.30933],[-105.94166,31.24575],[-105.87982,31.24575],[-105.87982,31.18362],[-105.81623,31.18362],[-105.81623,31.12072],[-105.69212,31.12072],[-105.69212,31.05848],[-105.63029,31.05848],[-105.63029,30.93283],[-105.50444,30.93283],[-105.50444,30.87159],[-105.4413,30.87159],[-105.4413,30.80846],[-105.37815,30.80846],[-105.37815,30.74718],[-105.19047,30.74718],[-105.19047,30.68432],[-105.12862,30.68432],[-105.12862,30.61997],[-105.00365,30.61997],[-105.00365,30.55891],[-104.9418,30.55891],[-104.9418,30.49632],[-104.8782,30.49632],[-104.8782,30.30983],[-104.81553,30.30983],[-104.81553,30.24783],[-104.75361,30.24783],[-104.75361,29.93539],[-104.69095,29.93539],[-104.69095,29.80902],[-104.62913,29.80902],[-104.62913,29.68436],[-104.56599,29.68436],[-104.56599,29.62235],[-104.50372,29.62235],[-104.50372,29.55954],[-104.44101,29.55954],[-104.44101,29.49748],[-104.25376,29.49748],[-104.25376,29.37167],[-104.1292,29.37167],[-104.1292,29.30916],[-104.06887,29.30916],[-104.06887,29.24673],[-103.81873,29.24673],[-103.81873,29.18431],[-103.75574,29.18431],[-103.75574,29.12232],[-103.56675,29.12232],[-103.56675,29.05981],[-103.50498,29.05981],[-103.50498,28.99675],[-103.31658,28.99675],[-103.31658,28.93469],[-103.05976,28.93469],[-103.05976,29.0593],[-102.99797,29.0593],[-102.99797,29.12129],[-102.93314,29.12129],[-102.93314,29.18486],[-102.8096,29.18486],[-102.8096,29.25262],[-102.87013,29.25262],[-102.87013,29.3081],[-102.80967,29.3081],[-102.80967,29.37155],[-102.74757,29.37155],[-102.74757,29.55819],[-102.68455,29.55819],[-102.68455,29.68477],[-102.49678,29.68477],[-102.49678,29.74577],[-102.30866,29.74577],[-102.30866,29.80866],[-102.19093,29.80866],[-102.19093,29.74601],[-101.50499,29.74601],[-101.50499,29.68468],[-101.38058,29.68468],[-101.38058,29.55945],[-101.31751,29.55945],[-101.31751,29.49589],[-101.19101,29.49589],[-101.19101,29.43261],[-101.0675,29.43261],[-101.0675,29.30881],[-100.94189,29.30881],[-100.94189,29.24562],[-100.81673,29.24562],[-100.81673,29.11904],[-100.75227,29.11904],[-100.75227,29.05782],[-100.69254,29.05782],[-100.69254,28.87204],[-100.62902,28.87204],[-100.62902,28.80954],[-100.56799,28.80954],[-100.56799,28.62255],[-100.50404,28.62255],[-100.50404,28.55838],[-100.44218,28.55838],[-100.44218,28.49683],[-100.37943,28.49683],[-100.37943,28.30929],[-100.31719,28.30929],[-100.31719,28.18357],[-100.25448,28.18357],[-100.25448,28.12139],[-100.12823,28.12139],[-100.12823,28.05921],[-100.06595,28.05921],[-100.06595,27.99661],[-100.00239,27.99661],[-100.00239,27.93322],[-99.94265,27.93322],[-99.94265,27.74547],[-99.81685,27.74547],[-99.81685,27.68343],[-99.75413,27.68343],[-99.75413,27.62215],[-99.62916,27.62215],[-99.62916,27.5589],[-99.56728,27.5589],[-99.56728,27.43538],[-99.50418,27.43538],[-99.50418,27.3774],[-99.56718,27.3774],[-99.56718,27.24637],[-99.50498,27.24637],[-99.50498,26.99656],[-99.44274,26.99656],[-99.44274,26.8728],[-99.38006,26.8728],[-99.38006,26.80682],[-99.31907,26.80682],[-99.31907,26.74736],[-99.25375,26.74736],[-99.25375,26.62101],[-99.19106,26.62101],[-99.19106,26.49567],[-99.13006,26.49567],[-99.13006,26.37138],[-99.00295,26.37138],[-99.00295,26.30938],[-98.81657,26.30938],[-98.81657,26.24578],[-98.69201,26.24578],[-98.69201,26.18371],[-98.44409,26.18371],[-98.44409,26.12172],[-98.38232,26.12172],[-98.38232,26.05965],[-98.25327,26.05965],[-98.25327,25.99869],[-98.01091,25.99869],[-98.01091,25.99323],[-97.69323,25.99323],[-97.69323,25.93341],[-97.63139,25.93341],[-97.63139,25.86959],[-97.50468,25.86959],[-97.50468,25.80735],[-97.30834,25.80735],[-97.30834,25.87312],[-97.24563,25.87312],[-97.24563,25.93537],[-97.11389,25.93537],[-97.11389,27.68092],[-97.0571,27.68092],[-97.0571,27.81082],[-95.58108,27.81082],[-95.58108,28.74688],[-94.27104,28.74688],[-94.27104,29.55941],[-92.50299,29.55941],[-92.50299,29.49748],[-91.87762,29.49748],[-91.87762,29.3727],[-91.37842,29.3727],[-91.37842,29.24683],[-91.3154,29.24683],[-91.3154,29.18443],[-91.12947,29.18443],[-91.12947,29.12326],[-91.00526,29.12326],[-91.00526,28.99684],[-89.45002,28.99684],[-89.45002,28.86774],[-88.81043,28.86774],[-88.81043,30.18419],[-85.87915,30.18419],[-85.87915,29.5455],[-84.83681,29.5455],[-84.83681,29.62252],[-84.74828,29.62252],[-84.74828,29.68362],[-84.68589,29.68362],[-84.68589,29.74684],[-83.6297,29.74684],[-83.6297,29.43244],[-83.31749,29.43244],[-83.31749,29.05794],[-82.87966,29.05794],[-82.87966,27.74535],[-82.81828,27.74535],[-82.81828,26.92909],[-82.37968,26.92909],[-82.37968,26.36942],[-81.87771,26.36942],[-81.87771,25.80597],[-81.50369,25.80597],[-81.50369,25.74748],[-81.44055,25.74748],[-81.44055,25.68515],[-81.31559,25.68515],[-81.31559,25.5601],[-81.25385,25.5601],[-81.25385,25.43424],[-81.1902,25.43424],[-81.1902,25.12343],[-81.12881,25.12343],[-81.12881,25.06194],[-81.06492,25.06194],[-81.06492,24.81578],[-81.62895,24.81578],[-81.62895,24.75384],[-81.69072,24.75384],[-81.69072,24.68994],[-81.81732,24.68994],[-81.81732,24.62792],[-82.191,24.62792],[-82.191,24.49629],[-81.62166,24.49629],[-81.62166,24.55948],[-81.37201,24.55948],[-81.37201,24.62207],[-81.05933,24.62207],[-81.05933,24.68483],[-80.93471,24.68483],[-80.93471,24.74748],[-80.74711,24.74748],[-80.74711,24.81006],[-80.36299,24.81006],[-80.36299,25.11759],[-80.12234,25.11759],[-80.12234,25.74724],[-80.05885,25.74724],[-80.05885,26.37083],[-79.99584,26.37083],[-79.99584,26.9398],[-80.05873,26.9398],[-80.05873,27.12775],[-80.12263,27.12775],[-80.12263,27.25343],[-80.1847,27.25343],[-80.1847,27.37812],[-80.24617,27.37812],[-80.24617,27.56587],[-80.30948,27.56587],[-80.30948,27.75303],[-80.37215,27.75303],[-80.37215,27.87745],[-80.43515,27.87745],[-80.43515,28.00334],[-80.49661,28.00334],[-80.49661,28.12773],[-80.55872,28.12773],[-80.55872,28.37235],[-80.49663,28.37235],[-80.49663,29.51603],[-81.12136,29.51603],[-81.12136,31.6847],[-80.60187,31.6847],[-80.60187,32.24753],[-79.4921,32.24753],[-79.4921,32.99703],[-79.11165,32.99703],[-79.11165,33.37295],[-78.61536,33.37295],[-78.61536,33.80976],[-77.9317,33.80976],[-77.9317,33.87182],[-77.86923,33.87182],[-77.86923,34.05525],[-77.68264,34.05525],[-77.68264,34.29746],[-77.24535,34.29746],[-77.24535,34.55986],[-76.49733,34.55986],[-76.49733,34.6228],[-76.43376,34.6228],[-76.43376,34.68493],[-76.37321,34.68493],[-76.37321,34.74677],[-76.30594,34.74677],[-76.30594,34.80855],[-76.2468,34.80855],[-76.2468,34.87284],[-76.18259,34.87284],[-76.18259,34.93353],[-76.12081,34.93353],[-76.12081,34.99524],[-75.9979,34.99524],[-75.9979,35.05782],[-75.87034,35.05782],[-75.87034,35.12191],[-75.74622,35.12191],[-75.74622,35.18189],[-75.49297,35.18189],[-75.49297,35.3083],[-75.43257,35.3083],[-75.43257,35.75425],[-75.49699,35.75425],[-75.49699,37.81056],[-75.3083,37.81056],[-75.3083,37.87201],[-75.2456,37.87201],[-75.2456,37.99548],[-75.18288,37.99548],[-75.18288,38.05851],[-75.11848,38.05851],[-75.11848,38.24691],[-75.05921,38.24691],[-75.05921,38.37043],[-74.99481,38.37043],[-74.99481,38.87184],[-74.48783,38.87184],[-74.48783,39.30894],[-74.17663,39.30894],[-74.17663,39.62247],[-74.0567,39.62247],[-74.0567,39.93318],[-73.9959,39.93318],[-73.9959,40.18549],[-73.93416,40.18549],[-73.93416,40.49595],[-73.8723,40.49595],[-73.8723,40.55271],[-71.80745,40.55271],[-71.80745,41.3088],[-70.88251,41.3088],[-70.88251,41.18498],[-70.74619,41.18498],[-70.74619,41.30919],[-70.43376,41.30919],[-70.43376,41.49639],[-69.93343,41.49639],[-69.93343,41.62308],[-69.86986,41.62308],[-69.86986,41.87769],[-69.93579,41.87769],[-69.93579,42.00323],[-69.99758,42.00323],[-69.99758,42.06502],[-70.06061,42.06502],[-70.06061,42.12943],[-70.55729,42.12943],[-70.55729,43.24871],[-70.49741,43.24871],[-70.49741,43.30922],[-70.37042,43.30922],[-70.37042,43.37196],[-70.30857,43.37196],[-70.30857,43.49699],[-70.18392,43.49699],[-70.18392,43.62235],[-70.05758,43.62235],[-70.05758,43.68502],[-69.74552,43.68502],[-69.74552,43.74766],[-69.24728,43.74766],[-69.24728,43.8107],[-69.05607,43.8107],[-69.05607,43.87172],[-68.99505,43.87172],[-68.99505,43.9982],[-68.49637,43.9982],[-68.49637,44.05974],[-68.3081,44.05974],[-68.3081,44.12214],[-68.18518,44.12214],[-68.18518,44.30814],[-67.9956,44.30814],[-67.9956,44.37275],[-67.8103,44.37275],[-67.8103,44.43518],[-67.49653,44.43518],[-67.49653,44.49688],[-67.37102,44.49688],[-67.37102,44.56006],[-67.18488,44.56006],[-67.18488,44.62133],[-67.12212,44.62133],[-67.12212,44.68679],[-67.05936,44.68679],[-67.05936,44.74737],[-66.93111,44.74737],[-66.93111,44.94066],[-66.99468,44.94066],[-66.99468,45.00245],[-67.05958,45.00245],[-67.05958,45.12734],[-67.1202,45.12734],[-67.1202,45.19101],[-67.24698,45.19101],[-67.24698,45.25344],[-67.31775,45.25344],[-67.31775,45.18984],[-67.37075,45.18984],[-67.37075,45.2534],[-67.43269,45.2534],[-67.43269,45.30834],[-67.37086,45.30834],[-67.37086,45.4397],[-67.43056,45.4397],[-67.43056,45.49501],[-67.37099,45.49501],[-67.37099,45.62645],[-67.6215,45.62645],[-67.6215,45.68961],[-67.68383,45.68961],[-67.68383,45.75326],[-67.74621,45.75326],[-67.74621,47.12682],[-67.87001,47.12682],[-67.87001,47.19003],[-67.93238,47.19003],[-67.93238,47.25397],[-67.99594,47.25397],[-67.99594,47.31497],[-68.12067,47.31497],[-68.12067,47.37808],[-68.44232,47.37808],[-68.44232,47.31661],[-68.63143,47.31661],[-68.63143,47.25447],[-68.9978,47.25447],[-68.9978,47.43989],[-69.06072,47.43989],[-69.06072,47.50476],[-69.25381,47.50476],[-69.25381,47.43981],[-69.31793,47.43981],[-69.31793,47.3786],[-69.44385,47.3786],[-69.44385,47.31563],[-69.50382,47.31563],[-69.50382,47.25258],[-69.56678,47.25258],[-69.56678,47.19109],[-69.63035,47.19109],[-69.63035,47.1287],[-69.69331,47.1287],[-69.69331,47.06543],[-69.75571,47.06543],[-69.75571,47.00428],[-69.81804,47.00428],[-69.81804,46.94153],[-69.8804,46.94153],[-69.8804,46.87925],[-69.94217,46.87925],[-69.94217,46.81774],[-70.00631,46.81774],[-70.00631,46.69203],[-70.07043,46.69203],[-70.07043,46.44259],[-70.19459,46.44259],[-70.19459,46.37859],[-70.2562,46.37859],[-70.2562,46.31526],[-70.32037,46.31526],[-70.32037,46.06512],[-70.3815,46.06512],[-70.3815,45.93552],[-70.32016,45.93552],[-70.32016,45.87948],[-70.44931,45.87948],[-70.44931,45.75387],[-70.507,45.75387],[-70.507,45.69169],[-70.63166,45.69169],[-70.63166,45.62916],[-70.75755,45.62916],[-70.75755,45.44147],[-70.88099,45.44147],[-70.88099,45.37806],[-71.13328,45.37806],[-71.13328,45.31515],[-71.38303,45.31515],[-71.38303,45.25342],[-71.50764,45.25342],[-71.50764,45.06557],[-73.94189,45.06557],[-73.94189,45.00312],[-74.74697,45.00312],[-74.74697,45.0649],[-74.8801,45.0649],[-74.8801,45.0029],[-75.06625,45.0029],[-75.06625,44.94152],[-75.25394,44.94152],[-75.25394,44.8776],[-75.37896,44.8776],[-75.37896,44.81535],[-75.44313,44.81535],[-75.44313,44.75361],[-75.56666,44.75361],[-75.56666,44.69099],[-75.62902,44.69099],[-75.62902,44.6285],[-75.75405,44.6285],[-75.75405,44.56638],[-75.81731,44.56638],[-75.81731,44.50289],[-75.87995,44.50289],[-75.87995,44.37849],[-76.13003,44.37849],[-76.13003,44.31592],[-76.1927,44.31592],[-76.1927,44.25344],[-76.31826,44.25344],[-76.31826,44.19167],[-76.3793,44.19167],[-76.3793,44.06537],[-76.44276,44.06537],[-76.44276,43.99638],[-76.31703,43.99638],[-76.31703,43.94146],[-76.50766,43.94146],[-76.50766,43.87233],[-76.383,43.87233],[-76.383,43.80919],[-76.25341,43.80919],[-76.25341,43.56652],[-76.50648,43.56652],[-76.50648,43.50339],[-76.63312,43.50339],[-76.63312,43.44323],[-76.69511,43.44323],[-76.69511,43.37869],[-76.81778,43.37869],[-76.81778,43.31807],[-77.682,43.31807],[-77.682,43.37894],[-78.05659,43.37894],[-78.05659,43.43969],[-78.43897,43.43969],[-78.43897,43.37944],[-78.88034,43.37944],[-78.88034,43.31497],[-79.12989,43.31497],[-79.12989,43.24293],[-79.06696,43.24293],[-79.06696,43.12999],[-79.12989,43.12999],[-79.12989,43.05773],[-79.07126,43.05773],[-79.07126,42.92949],[-78.94326,42.92949],[-78.94326,42.75422],[-79.06944,42.75422],[-79.06944,42.69416],[-79.13344,42.69416],[-79.13344,42.6297],[-79.19475,42.6297],[-79.19475,42.56635],[-79.37868,42.56635],[-79.37868,42.50334],[-79.4443,42.50334],[-79.4443,42.44106],[-79.56799,42.44106],[-79.56799,42.37753],[-79.69062,42.37753],[-79.69062,42.31711],[-79.81646,42.31711],[-79.81646,42.25345],[-80.00524,42.25345],[-80.00524,42.19092],[-80.19168,42.19092],[-80.19168,42.12726],[-80.3168,42.12726],[-80.3168,42.06699],[-80.50632,42.06699],[-80.50632,42.00343],[-80.69305,42.00343],[-80.69305,41.94151],[-80.94404,41.94151],[-80.94404,41.87812],[-81.19427,41.87812],[-81.19427,41.81665],[-81.31901,41.81665],[-81.31901,41.75455],[-81.44184,41.75455],[-81.44184,41.69096],[-81.50535,41.69096],[-81.50535,41.63016],[-82.74701,41.63016],[-82.74701,41.75369],[-82.88391,41.75369],[-82.88391,41.56561],[-82.99572,41.56561],[-82.99572,41.62704],[-83.12578,41.62704],[-83.12578,41.68784],[-83.24747,41.68784],[-83.24747,41.75369],[-83.37373,41.75369],[-83.37373,41.80928],[-83.3106,41.80928],[-83.3106,41.87161],[-83.24747,41.87161],[-83.24747,41.93614],[-83.18434,41.93614],[-83.18434,41.99609],[-83.12077,41.99609],[-83.12077,42.24648],[-83.05892,42.24648],[-83.05892,42.30896],[-82.86853,42.30896],[-82.86853,42.37177],[-82.80722,42.37177],[-82.80722,42.55855],[-82.75537,42.55855],[-82.75537,42.49549],[-82.5599,42.49549],[-82.5599,42.55855],[-82.49678,42.55855],[-82.49678,42.68336],[-82.43289,42.68336],[-82.43289,42.93422],[-82.37006,42.93422],[-82.37006,43.06481],[-82.43289,43.06481],[-82.43289,43.19176],[-82.49475,43.19176],[-82.49475,43.50346],[-82.55713,43.50346],[-82.55713,43.81609],[-82.61979,43.81609],[-82.61979,43.94221],[-82.68395,43.94221],[-82.68395,44.00226],[-82.74653,44.00226],[-82.74653,44.06705],[-82.87087,44.06705],[-82.87087,44.12919],[-83.00852,44.12919],[-83.00852,44.06648],[-83.13361,44.06648],[-83.13361,44.00539],[-83.24145,44.00539],[-83.24145,44.9962],[-83.18061,44.9962],[-83.18061,45.0673],[-83.24552,45.0673],[-83.24552,45.12874],[-83.30659,45.12874],[-83.30659,45.25515],[-83.37061,45.25515],[-83.37061,45.31659],[-83.43256,45.31659],[-83.43256,45.37921],[-83.61784,45.37921],[-83.61784,45.44197],[-83.80843,45.44197],[-83.80843,45.50362],[-84.05507,45.50362],[-84.05507,45.56479],[-84.12352,45.56479],[-84.12352,45.62878],[-84.18075,45.62878],[-84.18075,45.69147],[-84.31116,45.69147],[-84.31116,45.93371],[-83.821,45.93371],[-83.821,45.87251],[-83.49681,45.87251],[-83.49681,45.93371],[-83.43381,45.93371],[-83.43381,46.00169],[-83.49627,46.00169],[-83.49627,46.06682],[-83.56,46.06682],[-83.56,46.12616],[-83.99546,46.12616],[-83.99546,46.19317],[-84.05918,46.19317],[-84.05918,46.3815],[-84.11526,46.3815],[-84.11526,46.49536],[-84.05918,46.49536],[-84.05918,46.56827],[-84.25795,46.56827],[-84.25795,46.50512],[-84.30719,46.50512],[-84.30719,46.56827],[-84.44154,46.56827],[-84.44154,46.50453],[-84.99657,46.50453],[-84.99657,46.68429],[-84.92982,46.68429],[-84.92982,46.81808],[-85.31659,46.81808],[-85.31659,46.75358],[-87.55626,46.75358],[-87.55626,47.44074],[-87.68254,47.44074],[-87.68254,47.50356],[-88.25607,47.50356],[-88.25607,47.44337],[-88.44174,47.44337],[-88.44174,47.37899],[-88.50683,47.37899],[-88.50683,47.31539],[-88.63128,47.31539],[-88.63128,47.25398],[-88.75696,47.25398],[-88.75696,47.19347],[-88.88383,47.19347],[-88.88383,47.12847],[-88.94342,47.12847],[-88.94342,47.06621],[-89.07087,47.06621],[-89.07087,47.00268],[-89.25656,47.00268],[-89.25656,46.94108],[-90.36777,46.94108],[-90.36777,47.68448],[-90.307,47.68448],[-90.307,47.74602],[-89.99486,47.74602],[-89.99486,47.80827],[-89.80486,47.80827],[-89.80486,47.87006],[-89.67977,47.87006],[-89.67977,47.93396],[-89.49338,47.93396],[-89.49338,47.9958],[-89.42847,47.9958],[-89.42847,48.06564],[-89.99327,48.06564],[-89.99327,48.1283],[-90.74559,48.1283],[-90.74559,48.18931],[-90.80873,48.18931],[-90.80873,48.25221],[-91.06776,48.25221],[-91.06776,48.19167],[-91.19462,48.19167],[-91.19462,48.1279],[-91.68142,48.1279],[-91.68142,48.2526],[-91.93219,48.2526],[-91.93219,48.31425],[-91.99297,48.31425],[-91.99297,48.37808],[-92.31894,48.37808],[-92.31894,48.25291],[-92.37322,48.25291],[-92.37322,48.31534],[-92.43223,48.31534],[-92.43223,48.44114],[-92.49772,48.44114],[-92.49772,48.50178],[-92.56794,48.50178],[-92.56794,48.43958],[-92.62105,48.43958],[-92.62105,48.56508],[-92.80868,48.56508],[-92.80868,48.62869],[-92.80868,48.62674],[-92.93318,48.62674],[-92.93318,48.69221],[-93.00517,48.69221],[-93.00517,48.6283],[-93.12259,48.6283],[-93.12259,48.69221],[-93.31908,48.69221],[-93.31908,48.62674],[-93.50495,48.62674],[-93.50495,48.56352],[-93.74746,48.56352],[-93.74746,48.62674],[-93.81355,48.62674],[-93.81355,48.68988],[-94.24531,48.68988],[-94.24531,48.75543],[-94.61832,48.75543],[-94.61832,48.94104],[-94.6809,48.94104],[-94.6809,49.00297],[-94.74415,49.00297],[-94.74415,49.25361],[-94.80841,49.25361],[-94.80841,49.37841],[-95.11924,49.37841],[-95.11924,49.44253],[-95.19343,49.44253],[-95.19343,49.00353],[-96.87069,49.00353],[-96.87069,49.06561],[-99.00493,49.06561],[-99.00493,49.00507],[-109.36993,49.00507],[-109.36993,49.06682],[-109.50587,49.06682],[-109.50587,49.00507],[-114.183,49.00507],[-114.183,49.06873],[-114.75787,49.06873],[-114.75787,49.00507],[-115.43373,49.00507],[-115.43373,49.06714],[-116.50627,49.06714],[-116.50627,49.00507],[-117.30895,49.00507],[-117.30895,49.06598],[-119.88295,49.06598],[-119.88295,49.00507],[-120.12086,49.00507],[-120.12086,49.06784],[-121.44516,49.06784],[-121.44516,49.00507],[-121.93118,49.00507],[-121.93118,49.06561],[-122.81748,49.06561],[-122.81748,49.00291],[-122.87952,49.00291],[-122.87952,48.9347],[-122.81746,48.9347],[-122.81746,48.8102],[-122.75389,48.8102],[-122.75389,48.75338],[-122.87129,48.75338],[-122.87129,48.81539],[-123.00554,48.81539],[-123.00554,48.75295],[-123.12969,48.75295],[-123.12969,48.69022],[-123.18382,48.69022],[-123.18382,48.7529],[-123.25493,48.7529]],[[-122.93417,37.75215],[-122.93475,37.6842],[-123.0679,37.6849],[-123.06737,37.74753],[-123.12926,37.74785],[-123.12869,37.81569],[-123.05907,37.81532],[-123.05959,37.75281],[-122.93417,37.75215]],[[-71.62995,41.25409],[-71.49665,41.25414],[-71.49656,41.12297],[-71.62986,41.12291],[-71.62995,41.25409]],[[-70.31843,41.37752],[-70.31834,41.24482],[-70.19066,41.24487],[-70.19062,41.1886],[-69.9336,41.1887],[-69.93373,41.37919],[-69.99507,41.37917],[-69.99511,41.44316],[-70.07078,41.44313],[-70.0707,41.31449],[-70.24617,41.31443],[-70.24621,41.37755],[-70.31843,41.37752]],[[-68.94034,43.94041],[-68.68569,43.9405],[-68.68565,43.87218],[-68.74654,43.87216],[-68.7465,43.81025],[-68.80908,43.81023],[-68.80903,43.74673],[-68.87731,43.7467],[-68.87735,43.81178],[-68.94025,43.81176],[-68.94034,43.94041]],[[-123.12915,49.06451],[-122.99542,49.06451],[-122.99542,48.93432],[-123.12915,48.93432],[-123.12915,49.06451]],[[-82.94071,24.75359],[-82.87194,24.75359],[-82.87194,24.69057],[-82.74462,24.69057],[-82.74462,24.62146],[-82.8088,24.62146],[-82.8088,24.55949],[-82.94071,24.55949],[-82.94071,24.75359]]],description:"Public domain aerial imagery, mostly NAIP",icon:"https://osmlab.github.io/editor-layer-index/sources/north-america/us/USGSTopographicMaps.png"},{id:"USGS-Scanned_Topographic",name:"USGS Topographic Maps",type:"tms",template:"https://caltopo.s3.amazonaws.com/topo/{zoom}/{x}/{y}.png",zoomExtent:[0,16],polygon:[[[-55.99594,52.00107],[-112.02896,52.00107],[-112.03995,56.01308],[-120.00494,56.00592],[-120.01712,60.01202],[-132.00197,60.00239],[-132.01208,63.00193],[-133.96883,63.0005],[-133.9724,63.99225],[-141.04429,63.98726],[-141.06879,69.92046],[-156.24893,71.51583],[-160.44571,70.83527],[-167.08145,68.42906],[-164.08218,67.03914],[-169.01504,65.68269],[-166.57608,64.50778],[-161.82999,64.05006],[-165.08194,63.2603],[-168.02628,59.78623],[-162.53311,59.73089],[-162.35733,58.55905],[-157.83096,58.31753],[-158.00674,57.52404],[-168.22403,53.51022],[-166.55411,53.14277],[-158.77579,54.88541],[-158.6824,55.74964],[-156.55106,56.00848],[-156.15555,56.77466],[-154.70535,56.14337],[-152.07413,57.37035],[-151.62918,58.22653],[-152.00821,58.98056],[-145.9877,60.24741],[-140.38467,59.48634],[-136.53946,57.8061],[-133.79288,54.83483],[-133.33145,53.14277],[-131.46378,51.69838],[-128.52493,51.74602],[-129.79385,50.90159],[-124.56436,47.49786],[-124.03702,45.48627],[-124.6962,42.90428],[-124.49844,40.34146],[-122.80655,37.53929],[-119.99405,33.37085],[-117.24747,32.5412],[-111.13907,31.1977],[-106.70059,31.23529],[-103.20694,28.64618],[-101.84463,29.8158],[-99.20792,26.28744],[-96.79092,25.75432],[-96.92276,27.96911],[-93.47305,29.68226],[-88.94669,28.87732],[-88.6171,30.17736],[-86.2001,30.36713],[-84.96963,29.43379],[-84.09073,30.06333],[-82.97012,28.95426],[-82.97012,27.26824],[-81.25626,25.07956],[-82.09122,24.56105],[-80.06973,24.76073],[-79.85001,27.11188],[-81.27823,30.70777],[-78.99307,33.20554],[-75.03799,35.5983],[-75.85098,37.24252],[-73.74161,40.4586],[-69.89639,41.60224],[-70.68741,43.17629],[-66.93008,44.69516],[-66.53458,43.08007],[-64.20547,43.35229],[-59.50333,45.73221],[-59.51431,46.24762],[-60.0032,46.25901],[-59.99222,47.24506],[-59.00894,47.2376],[-58.99796,47.50267],[-56.51504,47.50267],[-56.52603,46.7477],[-53.99918,46.7477],[-53.9772,46.48358],[-52.49405,46.46354],[-52.50504,48.75361],[-52.99667,48.75451],[-53.01315,49.99551],[-55.00168,50.0061],[-55.03738,53.74721],[-56.00418,53.73421],[-55.99594,52.00107]],[[-59.50127,43.74954],[-60.5024,43.74954],[-60.5024,44],[-59.9984,44],[-59.9984,44.2494],[-59.50127,44.2494],[-59.50127,43.74954]],[[-155.95024,20.49523],[-157.32675,20.49153],[-157.32903,21.23181],[-155.95251,21.23549],[-155.95024,20.49523]],[[-157.64488,21.24845],[-158.28534,21.24674],[-158.2869,21.74996],[-157.64643,21.75167],[-157.64488,21.24845]],[[-156.12602,20.3247],[-154.74617,20.32841],[-154.74174,18.87578],[-156.1216,18.87203],[-156.12602,20.3247]],[[-159.29077,22.24504],[-159.2893,21.76857],[-160.28917,21.76591],[-160.29064,22.24239],[-159.29077,22.24504]]],terms_url:"https://caltopo.com",terms_text:"© Caltopo",icon:"https://osmlab.github.io/editor-layer-index/sources/north-america/us/USGSTopographicMaps.png"},{id:"USSR-Latvia",name:"USSR - Latvia",type:"wms",template:"http://www.gisnet.lv/cgi-bin/topo?FORMAT=image/jpeg&VERSION=1.1.1&service=WMS&REQUEST=GetMap&LAYERS=DTO,DTC,DIVDPTC,PD,VS,DS,PS,M&SRS={proj}&WIDTH={width}&height={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[26.63086,57.56889],[25.16968,58.04882],[22.54395,57.76866],[21.54419,57.53352],[21.01685,56.81892],[21.01685,56.03523],[22.03857,56.38958],[24.71924,56.33481],[26.75171,55.66519],[28.19092,56.13943],[27.78442,57.40946],[26.63086,57.56889]]]},{id:"sjcgis.org-General_Basemap_WM",name:"Vector Streetmap for San Juan County WA",type:"tms",template:"https://sjcgis.org/arcgis/rest/services/Basemaps/General_Basemap_WM/MapServer/tile/{zoom}/{y}/{x}",zoomExtent:[0,19],polygon:[[[-123.27402,48.69297],[-123.00773,48.76726],[-123.00762,48.83158],[-122.7835,48.75842],[-122.6934,48.65852],[-122.76745,48.60361],[-122.74484,48.38708],[-123.24822,48.28353],[-123.11452,48.42261],[-123.21904,48.54857],[-123.27402,48.69297]]],best:true,description:"Public domain street and address data from the San Juan County, WA. Updated at least quarterly."},{id:"vicosa_al",name:"Viçosa AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?LAYERS=Vicosa&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.198,-9.42067],[-36.19777,-9.41789],[-36.1978,-9.41528],[-36.19801,-9.41074],[-36.19789,-9.40857],[-36.19793,-9.40637],[-36.19797,-9.40561],[-36.19793,-9.40405],[-36.19799,-9.40312],[-36.19827,-9.40028],[-36.19829,-9.39496],[-36.19789,-9.39169],[-36.19844,-9.38932],[-36.19837,-9.3862],[-36.19794,-9.38167],[-36.19801,-9.37972],[-36.19834,-9.37867],[-36.19832,-9.37698],[-36.19817,-9.37586],[-36.19852,-9.37139],[-36.19822,-9.36239],[-36.19862,-9.35319],[-36.19849,-9.35097],[-36.19857,-9.34852],[-36.1988,-9.34668],[-36.1986,-9.34349],[-36.19877,-9.34084],[-36.19895,-9.33301],[-36.19877,-9.33039],[-36.28958,-9.33114],[-36.28938,-9.33319],[-36.2895,-9.33538],[-36.28925,-9.34124],[-36.28945,-9.34291],[-36.28928,-9.34521],[-36.28897,-9.37311],[-36.28915,-9.37481],[-36.28892,-9.37708],[-36.2889,-9.38541],[-36.28872,-9.38633],[-36.28872,-9.39343],[-36.28887,-9.39558],[-36.28877,-9.40129],[-36.28862,-9.40652],[-36.28872,-9.40715],[-36.28877,-9.42133],[-36.198,-9.42067]]],terms_url:"http://www.seplag.al.gov.br",terms_text:"Secretaria de Estado do Planejamento, Gestão e Patrimônio"},{id:"wien.gv.at-labels",name:"Vienna: Beschriftungen (annotations)",type:"tms",template:"https://maps.wien.gv.at/wmts/beschriftung/normal/google3857/{zoom}/{y}/{x}.png",zoomExtent:[12,19],polygon:[[[16.54475,48.17286],[16.54103,48.17657],[16.54978,48.17675],[16.54665,48.17162],[16.55629,48.16171],[16.55567,48.16446],[16.56161,48.16037],[16.57306,48.16319],[16.57603,48.13522],[16.54301,48.14333],[16.51377,48.15893],[16.4777,48.15744],[16.45536,48.13951],[16.43313,48.13788],[16.43701,48.11994],[16.42291,48.12306],[16.4083,48.11791],[16.40511,48.12198],[16.3246,48.13779],[16.31181,48.11945],[16.29806,48.12896],[16.2711,48.13385],[16.23607,48.13001],[16.2189,48.12377],[16.2181,48.12807],[16.23861,48.13205],[16.23843,48.13716],[16.22081,48.13555],[16.20986,48.14762],[16.22321,48.15318],[16.19798,48.15454],[16.19619,48.16396],[16.18183,48.17112],[16.19981,48.18616],[16.20739,48.20235],[16.20194,48.20479],[16.20962,48.20963],[16.1976,48.21479],[16.19778,48.22288],[16.18517,48.2232],[16.19911,48.22858],[16.19251,48.23671],[16.20677,48.26483],[16.24105,48.24837],[16.24154,48.23832],[16.25662,48.23988],[16.27043,48.25193],[16.26406,48.25492],[16.28556,48.25832],[16.29412,48.26395],[16.28617,48.2667],[16.28901,48.27051],[16.32741,48.27721],[16.34813,48.29048],[16.35351,48.28369],[16.3706,48.2817],[16.36714,48.28685],[16.37787,48.28832],[16.37557,48.29592],[16.37982,48.30201],[16.38536,48.30146],[16.38043,48.31507],[16.39518,48.32257],[16.39412,48.31926],[16.40287,48.31676],[16.41682,48.32253],[16.43803,48.31628],[16.44041,48.29192],[16.47547,48.27501],[16.48123,48.27343],[16.4835,48.27971],[16.48132,48.29351],[16.49645,48.29249],[16.51491,48.28554],[16.5067,48.2736],[16.51285,48.26784],[16.53263,48.2621],[16.54697,48.263],[16.53941,48.24284],[16.55274,48.239],[16.53627,48.20044],[16.54184,48.18206],[16.53631,48.17755],[16.54475,48.17286]]],terms_url:"https://data.wien.gv.at",terms_text:"Stadt Wien",icon:"https://www.wien.gv.at/layout-a/logo/wappen-klein.gif",overlay:true},{id:"wien.gv.at-gp",name:"Vienna: Mehrzweckkarte (general purpose)",type:"tms",template:"https://maps.wien.gv.at/wmts/fmzk/pastell/google3857/{zoom}/{y}/{x}.jpeg",zoomExtent:[10,19],polygon:[[[16.54475,48.17286],[16.54103,48.17657],[16.54978,48.17675],[16.54665,48.17162],[16.55629,48.16171],[16.55567,48.16446],[16.56161,48.16037],[16.57306,48.16319],[16.57603,48.13522],[16.54301,48.14333],[16.51377,48.15893],[16.4777,48.15744],[16.45536,48.13951],[16.43313,48.13788],[16.43701,48.11994],[16.42291,48.12306],[16.4083,48.11791],[16.40511,48.12198],[16.3246,48.13779],[16.31181,48.11945],[16.29806,48.12896],[16.2711,48.13385],[16.23607,48.13001],[16.2189,48.12377],[16.2181,48.12807],[16.23861,48.13205],[16.23843,48.13716],[16.22081,48.13555],[16.20986,48.14762],[16.22321,48.15318],[16.19798,48.15454],[16.19619,48.16396],[16.18183,48.17112],[16.19981,48.18616],[16.20739,48.20235],[16.20194,48.20479],[16.20962,48.20963],[16.1976,48.21479],[16.19778,48.22288],[16.18517,48.2232],[16.19911,48.22858],[16.19251,48.23671],[16.20677,48.26483],[16.24105,48.24837],[16.24154,48.23832],[16.25662,48.23988],[16.27043,48.25193],[16.26406,48.25492],[16.28556,48.25832],[16.29412,48.26395],[16.28617,48.2667],[16.28901,48.27051],[16.32741,48.27721],[16.34813,48.29048],[16.35351,48.28369],[16.3706,48.2817],[16.36714,48.28685],[16.37787,48.28832],[16.37557,48.29592],[16.37982,48.30201],[16.38536,48.30146],[16.38043,48.31507],[16.39518,48.32257],[16.39412,48.31926],[16.40287,48.31676],[16.41682,48.32253],[16.43803,48.31628],[16.44041,48.29192],[16.47547,48.27501],[16.48123,48.27343],[16.4835,48.27971],[16.48132,48.29351],[16.49645,48.29249],[16.51491,48.28554],[16.5067,48.2736],[16.51285,48.26784],[16.53263,48.2621],[16.54697,48.263],[16.53941,48.24284],[16.55274,48.239],[16.53627,48.20044],[16.54184,48.18206],[16.53631,48.17755],[16.54475,48.17286]]],terms_url:"https://data.wien.gv.at",terms_text:"Stadt Wien",icon:"https://www.wien.gv.at/layout-a/logo/wappen-klein.gif"},{id:"wien.gv.at-aerial_image",name:"Vienna: Orthofoto (aerial image)",type:"tms",template:"https://maps.wien.gv.at/wmts/lb/farbe/google3857/{zoom}/{y}/{x}.jpeg",zoomExtent:[10,19],polygon:[[[16.14995,48.10832],[16.14989,48.33315],[16.61873,48.33296],[16.61749,48.10813],[16.46644,48.10819],[16.46644,48.10744],[16.18104,48.10756],[16.18104,48.10831],[16.14995,48.10832]]],terms_url:"https://data.wien.gv.at",terms_text:"Stadt Wien",icon:"https://www.wien.gv.at/layout-a/logo/wappen-klein.gif"},{id:"Ville_de_Nyon-HD-2010",name:"Ville de Nyon - Orthophoto 2010 HD 5cm/pi",type:"tms",template:"http://osmdata.asitvd.ch/tiles/nyon2010/{zoom}/{x}/{y}.png",endDate:"2010-01-01T00:00:00.000Z",startDate:"2010-01-01T00:00:00.000Z",zoomExtent:[14,20],polygon:[[[6.24859,46.38252],[6.24848,46.38715],[6.24378,46.38944],[6.24182,46.39109],[6.2414,46.39159],[6.23919,46.39222],[6.23973,46.39373],[6.2379,46.3946],[6.23713,46.39698],[6.23071,46.40107],[6.22789,46.39903],[6.22326,46.40219],[6.22066,46.40189],[6.21582,46.40462],[6.21393,46.40698],[6.20989,46.40563],[6.20928,46.40528],[6.20985,46.40434],[6.20501,46.40332],[6.20527,46.40104],[6.20906,46.40131],[6.20951,46.4013],[6.2149,46.4008],[6.21154,46.39808],[6.21057,46.3968],[6.20954,46.39449],[6.21229,46.39243],[6.21374,46.39168],[6.21639,46.39079],[6.21296,46.38736],[6.21532,46.38514],[6.21403,46.38424],[6.2126,46.38232],[6.21211,46.38102],[6.21212,46.37992],[6.21231,46.37901],[6.21318,46.37697],[6.21454,46.37494],[6.21359,46.37463],[6.21365,46.37276],[6.22133,46.3699],[6.22752,46.36555],[6.22752,46.36541],[6.23738,46.37356],[6.24404,46.37842],[6.24859,46.38252]]],terms_url:"http://www.nyon.ch/fr/officiel/services-offices/informatique-et-population-776-3911",terms_text:"Ville de Nyon"},{id:"VGIN-BuildingFootprints_WM",name:"Virginia Building Footprints",type:"tms",template:"http://tileify-ags.herokuapp.com/tiles/{zoom}/{x}/{y}?url=https%3A%2F%2Fgismaps.vita.virginia.gov%2Farcgis%2Frest%2Fservices%2FVA_Base_layers%2FVA_Building_Footprints%2FMapServer&transparent=true&layers=show%3A20",endDate:"2018-06-01T00:00:00.000Z",startDate:"2015-05-01T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[-83.64853,36.6023],[-79.9118,36.55819],[-75.90179,36.56701],[-75.8606,36.985],[-75.19867,38.0178],[-76.15448,37.99183],[-76.25336,37.92253],[-76.62689,38.1648],[-76.90704,38.22524],[-77.05536,38.42132],[-77.19818,38.37396],[-77.28333,38.3675],[-77.31628,38.45789],[-77.25586,38.58253],[-77.15698,38.61043],[-77.11853,38.68337],[-77.0636,38.69409],[-77.05811,38.82259],[-77.07458,38.88462],[-77.20367,38.99357],[-77.3822,39.07038],[-77.47833,39.09809],[-77.53876,39.16627],[-77.4646,39.23651],[-77.59918,39.30455],[-77.74475,39.33005],[-77.84637,39.14284],[-78.36273,39.45528],[-78.3847,39.36616],[-78.36548,39.32792],[-78.4671,39.19182],[-78.60168,39.03199],[-78.69232,38.94659],[-78.89282,38.76479],[-78.99719,38.8504],[-79.13727,38.68551],[-79.31854,38.42993],[-79.5108,38.46004],[-79.56299,38.54817],[-79.65637,38.58253],[-79.71954,38.50519],[-79.70856,38.44068],[-79.94476,38.16911],[-80.00519,38.0243],[-80.21942,37.83148],[-80.32379,37.67513],[-80.22766,37.62511],[-80.36224,37.56417],[-80.32928,37.52498],[-80.49408,37.42907],[-80.53253,37.48794],[-80.78522,37.37889],[-80.86487,37.43561],[-80.9198,37.39635],[-80.88135,37.36143],[-81.02692,37.28935],[-81.26038,37.25219],[-81.37024,37.34396],[-81.47736,37.26312],[-81.55426,37.22595],[-81.71906,37.20189],[-81.98273,37.42689],[-81.96899,37.55329],[-82.40845,37.26531],[-82.74078,37.13186],[-82.73529,37.05299],[-82.90283,36.985],[-82.87811,36.90818],[-83.02643,36.85765],[-83.07587,36.85765],[-83.16101,36.74989],[-83.44666,36.69265],[-83.61145,36.64418],[-83.63892,36.63592],[-83.69385,36.61222],[-83.70003,36.6023],[-83.64853,36.6023]]],terms_url:"https://vgin.maps.arcgis.com/home/item.html?id=bcd049dfcdc342a7a08ec81644eeb339",terms_text:"Virginia Geographic Information Network (VGIN)",description:"Virginia Building Footprint Map Service",overlay:true},{id:"VGIN-Imagery_WM",name:"Virginia Imagery Service - Most Recent",type:"tms",template:"http://tileify-ags.herokuapp.com/tiles/{zoom}/{x}/{y}?url=https%3A%2F%2Fgismaps.vita.virginia.gov%2Farcgis%2Frest%2Fservices%2FMostRecentImagery%2FMostRecentImagery_WGS%2FMapServer&transparent=true&layers=show%3A0",endDate:"2018-08-01T00:00:00.000Z",startDate:"2013-04-01T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[-83.64853,36.6023],[-79.9118,36.55819],[-75.90179,36.56701],[-75.8606,36.985],[-75.19867,38.0178],[-76.15448,37.99183],[-76.25336,37.92253],[-76.62689,38.1648],[-76.90704,38.22524],[-77.05536,38.42132],[-77.19818,38.37396],[-77.28333,38.3675],[-77.31628,38.45789],[-77.25586,38.58253],[-77.15698,38.61043],[-77.11853,38.68337],[-77.0636,38.69409],[-77.05811,38.82259],[-77.07458,38.88462],[-77.20367,38.99357],[-77.3822,39.07038],[-77.47833,39.09809],[-77.53876,39.16627],[-77.4646,39.23651],[-77.59918,39.30455],[-77.74475,39.33005],[-77.84637,39.14284],[-78.36273,39.45528],[-78.3847,39.36616],[-78.36548,39.32792],[-78.4671,39.19182],[-78.60168,39.03199],[-78.69232,38.94659],[-78.89282,38.76479],[-78.99719,38.8504],[-79.13727,38.68551],[-79.31854,38.42993],[-79.5108,38.46004],[-79.56299,38.54817],[-79.65637,38.58253],[-79.71954,38.50519],[-79.70856,38.44068],[-79.94476,38.16911],[-80.00519,38.0243],[-80.21942,37.83148],[-80.32379,37.67513],[-80.22766,37.62511],[-80.36224,37.56417],[-80.32928,37.52498],[-80.49408,37.42907],[-80.53253,37.48794],[-80.78522,37.37889],[-80.86487,37.43561],[-80.9198,37.39635],[-80.88135,37.36143],[-81.02692,37.28935],[-81.26038,37.25219],[-81.37024,37.34396],[-81.47736,37.26312],[-81.55426,37.22595],[-81.71906,37.20189],[-81.98273,37.42689],[-81.96899,37.55329],[-82.40845,37.26531],[-82.74078,37.13186],[-82.73529,37.05299],[-82.90283,36.985],[-82.87811,36.90818],[-83.02643,36.85765],[-83.07587,36.85765],[-83.16101,36.74989],[-83.44666,36.69265],[-83.61145,36.64418],[-83.63892,36.63592],[-83.69385,36.61222],[-83.70003,36.6023],[-83.64853,36.6023]]],terms_url:"https://vgin.maps.arcgis.com/home/item.html?id=36386a7e7dae4032a33cb0b83a1711f1",terms_text:"Virginia Geographic Information Network (VGIN)",description:"The most recently available VBMP orthoimagery for all of Virginia."},{id:"VGIN-PropertyLines_WM",name:"Virginia Property Lines",type:"tms",template:"http://tileify-ags.herokuapp.com/tiles/{zoom}/{x}/{y}?url=http%3A%2F%2Fgismaps.vita.virginia.gov%2Farcgis%2Frest%2Fservices%2FVA_Base_layers%2FVA_Parcels%2FMapServer&transparent=true",endDate:"2018-06-01T00:00:00.000Z",startDate:"2015-05-01T00:00:00.000Z",zoomExtent:[0,20],polygon:[[[-83.64853,36.6023],[-79.9118,36.55819],[-75.90179,36.56701],[-75.8606,36.985],[-75.19867,38.0178],[-76.15448,37.99183],[-76.25336,37.92253],[-76.62689,38.1648],[-76.90704,38.22524],[-77.05536,38.42132],[-77.19818,38.37396],[-77.28333,38.3675],[-77.31628,38.45789],[-77.25586,38.58253],[-77.15698,38.61043],[-77.11853,38.68337],[-77.0636,38.69409],[-77.05811,38.82259],[-77.07458,38.88462],[-77.20367,38.99357],[-77.3822,39.07038],[-77.47833,39.09809],[-77.53876,39.16627],[-77.4646,39.23651],[-77.59918,39.30455],[-77.74475,39.33005],[-77.84637,39.14284],[-78.36273,39.45528],[-78.3847,39.36616],[-78.36548,39.32792],[-78.4671,39.19182],[-78.60168,39.03199],[-78.69232,38.94659],[-78.89282,38.76479],[-78.99719,38.8504],[-79.13727,38.68551],[-79.31854,38.42993],[-79.5108,38.46004],[-79.56299,38.54817],[-79.65637,38.58253],[-79.71954,38.50519],[-79.70856,38.44068],[-79.94476,38.16911],[-80.00519,38.0243],[-80.21942,37.83148],[-80.32379,37.67513],[-80.22766,37.62511],[-80.36224,37.56417],[-80.32928,37.52498],[-80.49408,37.42907],[-80.53253,37.48794],[-80.78522,37.37889],[-80.86487,37.43561],[-80.9198,37.39635],[-80.88135,37.36143],[-81.02692,37.28935],[-81.26038,37.25219],[-81.37024,37.34396],[-81.47736,37.26312],[-81.55426,37.22595],[-81.71906,37.20189],[-81.98273,37.42689],[-81.96899,37.55329],[-82.40845,37.26531],[-82.74078,37.13186],[-82.73529,37.05299],[-82.90283,36.985],[-82.87811,36.90818],[-83.02643,36.85765],[-83.07587,36.85765],[-83.16101,36.74989],[-83.44666,36.69265],[-83.61145,36.64418],[-83.63892,36.63592],[-83.69385,36.61222],[-83.70003,36.6023],[-83.64853,36.6023]]],terms_url:"https://vgin.maps.arcgis.com/home/item.html?id=f1dccaf1f42e40cbba791feae2e23690",terms_text:"Virginia Geographic Information Network (VGIN)",description:"A statewide Parcel service showing property ownership outlines where available",overlay:true},{id:"vogis.cnv.at-DGM",name:"VoGIS: DGM (Terrain model)",type:"wms",template:"http://vogis.cnv.at/mapserver/mapserv?map=i_hoehen_und_gelaende_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=schummerung_50cm_terrain&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[9.96805,47.54631],[9.96809,47.54627],[9.97125,47.54425],[9.96484,47.53803],[9.9684,47.52802],[9.96526,47.52089],[9.99569,47.50278],[9.98736,47.49847],[10.00076,47.48211],[10.02301,47.48411],[10.03743,47.48918],[10.04477,47.48762],[10.05413,47.47589],[10.05347,47.46686],[10.06468,47.46364],[10.06999,47.45595],[10.08057,47.45536],[10.08857,47.46029],[10.09164,47.45893],[10.09385,47.44046],[10.10559,47.42872],[10.09374,47.41688],[10.07418,47.41472],[10.06914,47.41018],[10.08624,47.39952],[10.08284,47.39381],[10.09984,47.35476],[10.11934,47.37561],[10.14169,47.36718],[10.16587,47.36887],[10.16958,47.3713],[10.1694,47.38583],[10.1813,47.38725],[10.18185,47.39243],[10.19508,47.38935],[10.19988,47.38334],[10.21259,47.38039],[10.22705,47.38889],[10.23619,47.38192],[10.23168,47.37897],[10.23716,47.37357],[10.21699,47.35436],[10.2171,47.34988],[10.20424,47.33675],[10.20742,47.33232],[10.19951,47.32646],[10.21113,47.31898],[10.21597,47.31106],[10.21236,47.31122],[10.19913,47.29754],[10.18964,47.29394],[10.17961,47.29603],[10.17208,47.27908],[10.17404,47.27025],[10.17834,47.27011],[10.17449,47.2637],[10.21884,47.25533],[10.22343,47.24983],[10.21087,47.2478],[10.19776,47.23666],[10.20791,47.2328],[10.21428,47.21684],[10.21269,47.20432],[10.19963,47.19539],[10.19951,47.18525],[10.21151,47.17124],[10.2092,47.16537],[10.20851,47.15948],[10.21321,47.1577],[10.2222,47.15323],[10.22166,47.14925],[10.21481,47.14352],[10.20333,47.14215],[10.20887,47.13164],[10.18629,47.12886],[10.18652,47.11946],[10.17288,47.12033],[10.16299,47.11361],[10.15766,47.11426],[10.15442,47.10578],[10.13243,47.08122],[10.13459,47.06392],[10.15085,47.06184],[10.15693,47.04883],[10.14418,47.03355],[10.12326,47.02209],[10.13284,47.01204],[10.15447,47.00545],[10.15961,46.99882],[10.15442,46.99299],[10.16001,46.984],[10.14463,46.98301],[10.13492,46.96584],[10.13501,46.95483],[10.12684,46.9435],[10.09772,46.92676],[10.09954,46.91712],[10.10921,46.90834],[10.10908,46.89431],[10.12497,46.88014],[10.14147,46.87468],[10.13967,46.86217],[10.14506,46.8511],[10.13941,46.84738],[10.12309,46.84848],[10.11912,46.84417],[10.10518,46.8409],[10.09195,46.85143],[10.09265,46.85818],[10.08712,46.86128],[10.05488,46.8617],[10.0509,46.86442],[10.05192,46.87405],[10.03891,46.88611],[10.03221,46.88802],[10.01782,46.90161],[10.00494,46.89889],[9.98243,46.9062],[9.97793,46.91603],[9.96657,46.91222],[9.95907,46.91602],[9.94612,46.91235],[9.93758,46.91324],[9.92153,46.91882],[9.91231,46.92606],[9.90632,46.9253],[9.89449,46.93164],[9.87613,46.93463],[9.88071,46.94011],[9.87657,46.94071],[9.87488,46.95039],[9.87872,46.95707],[9.87073,46.96321],[9.88482,46.98546],[9.8923,46.99036],[9.88878,47.00072],[9.8707,47.00965],[9.87115,47.01306],[9.88035,47.01722],[9.87779,47.02055],[9.85974,47.02321],[9.85273,47.01641],[9.83612,47.01253],[9.82353,47.01986],[9.80756,47.02356],[9.78491,47.03849],[9.74808,47.03692],[9.74185,47.04268],[9.71821,47.04337],[9.70701,47.04805],[9.7076,47.05381],[9.69756,47.05239],[9.68392,47.05765],[9.68184,47.0621],[9.67743,47.06141],[9.65821,47.05818],[9.64506,47.05978],[9.64158,47.05598],[9.63654,47.0517],[9.62633,47.05133],[9.60705,47.06077],[9.6134,47.0695],[9.61153,47.0794],[9.61869,47.07817],[9.62339,47.08258],[9.63346,47.08344],[9.63564,47.09553],[9.62858,47.10756],[9.62083,47.11032],[9.63503,47.12813],[9.62467,47.13265],[9.62258,47.14135],[9.62587,47.1459],[9.62059,47.15164],[9.6089,47.14775],[9.59679,47.16294],[9.57946,47.17116],[9.56456,47.17029],[9.57302,47.1756],[9.57259,47.19079],[9.58032,47.19578],[9.58477,47.20532],[9.5687,47.21968],[9.55851,47.22416],[9.55176,47.22377],[9.56679,47.24288],[9.53073,47.27058],[9.54619,47.28005],[9.55634,47.29829],[9.58805,47.3173],[9.59966,47.3455],[9.61073,47.35571],[9.62446,47.36615],[9.65876,47.36946],[9.67255,47.38021],[9.67311,47.39194],[9.65162,47.40463],[9.64551,47.4312],[9.64512,47.4378],[9.65799,47.44779],[9.65898,47.4522],[9.62234,47.45747],[9.60904,47.47054],[9.60292,47.46198],[9.59514,47.46331],[9.58217,47.48276],[9.5622,47.49592],[9.55057,47.53718],[9.5827,47.53592],[9.60465,47.52952],[9.73478,47.53396],[9.73517,47.54661],[9.74164,47.55499],[9.7471,47.55569],[9.74337,47.55867],[9.75207,47.56747],[9.74806,47.57052],[9.75632,47.57262],[9.75633,47.57963],[9.76197,47.58096],[9.76553,47.58912],[9.76933,47.58739],[9.77697,47.59544],[9.79151,47.59352],[9.79999,47.59611],[9.81414,47.58807],[9.82381,47.5871],[9.82728,47.57997],[9.82079,47.57076],[9.82562,47.55922],[9.8171,47.55333],[9.81579,47.54767],[9.85023,47.54164],[9.85839,47.53388],[9.87451,47.52854],[9.87804,47.53876],[9.87515,47.54343],[9.88125,47.54814],[9.8891,47.54399],[9.89935,47.54475],[9.90666,47.54217],[9.91358,47.53255],[9.92189,47.52964],[9.93352,47.53265],[9.94108,47.53822],[9.9637,47.53472],[9.95883,47.54313],[9.96318,47.54229],[9.96805,47.54631]]],terms_url:"https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm",terms_text:"Datenquelle: Land Vorarlberg – data.vorarlberg.gv.at",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/at/VoGISFlchenwidmungsplan.png"},{id:"vogis.cnv.at-DOM",name:"VoGIS: DOM (Surface model)",type:"wms",template:"http://vogis.cnv.at/mapserver/mapserv?map=i_hoehen_und_gelaende_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=schummerung_50cm_surface&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[9.96805,47.54631],[9.96809,47.54627],[9.97125,47.54425],[9.96484,47.53803],[9.9684,47.52802],[9.96526,47.52089],[9.99569,47.50278],[9.98736,47.49847],[10.00076,47.48211],[10.02301,47.48411],[10.03743,47.48918],[10.04477,47.48762],[10.05413,47.47589],[10.05347,47.46686],[10.06468,47.46364],[10.06999,47.45595],[10.08057,47.45536],[10.08857,47.46029],[10.09164,47.45893],[10.09385,47.44046],[10.10559,47.42872],[10.09374,47.41688],[10.07418,47.41472],[10.06914,47.41018],[10.08624,47.39952],[10.08284,47.39381],[10.09984,47.35476],[10.11934,47.37561],[10.14169,47.36718],[10.16587,47.36887],[10.16958,47.3713],[10.1694,47.38583],[10.1813,47.38725],[10.18185,47.39243],[10.19508,47.38935],[10.19988,47.38334],[10.21259,47.38039],[10.22705,47.38889],[10.23619,47.38192],[10.23168,47.37897],[10.23716,47.37357],[10.21699,47.35436],[10.2171,47.34988],[10.20424,47.33675],[10.20742,47.33232],[10.19951,47.32646],[10.21113,47.31898],[10.21597,47.31106],[10.21236,47.31122],[10.19913,47.29754],[10.18964,47.29394],[10.17961,47.29603],[10.17208,47.27908],[10.17404,47.27025],[10.17834,47.27011],[10.17449,47.2637],[10.21884,47.25533],[10.22343,47.24983],[10.21087,47.2478],[10.19776,47.23666],[10.20791,47.2328],[10.21428,47.21684],[10.21269,47.20432],[10.19963,47.19539],[10.19951,47.18525],[10.21151,47.17124],[10.2092,47.16537],[10.20851,47.15948],[10.21321,47.1577],[10.2222,47.15323],[10.22166,47.14925],[10.21481,47.14352],[10.20333,47.14215],[10.20887,47.13164],[10.18629,47.12886],[10.18652,47.11946],[10.17288,47.12033],[10.16299,47.11361],[10.15766,47.11426],[10.15442,47.10578],[10.13243,47.08122],[10.13459,47.06392],[10.15085,47.06184],[10.15693,47.04883],[10.14418,47.03355],[10.12326,47.02209],[10.13284,47.01204],[10.15447,47.00545],[10.15961,46.99882],[10.15442,46.99299],[10.16001,46.984],[10.14463,46.98301],[10.13492,46.96584],[10.13501,46.95483],[10.12684,46.9435],[10.09772,46.92676],[10.09954,46.91712],[10.10921,46.90834],[10.10908,46.89431],[10.12497,46.88014],[10.14147,46.87468],[10.13967,46.86217],[10.14506,46.8511],[10.13941,46.84738],[10.12309,46.84848],[10.11912,46.84417],[10.10518,46.8409],[10.09195,46.85143],[10.09265,46.85818],[10.08712,46.86128],[10.05488,46.8617],[10.0509,46.86442],[10.05192,46.87405],[10.03891,46.88611],[10.03221,46.88802],[10.01782,46.90161],[10.00494,46.89889],[9.98243,46.9062],[9.97793,46.91603],[9.96657,46.91222],[9.95907,46.91602],[9.94612,46.91235],[9.93758,46.91324],[9.92153,46.91882],[9.91231,46.92606],[9.90632,46.9253],[9.89449,46.93164],[9.87613,46.93463],[9.88071,46.94011],[9.87657,46.94071],[9.87488,46.95039],[9.87872,46.95707],[9.87073,46.96321],[9.88482,46.98546],[9.8923,46.99036],[9.88878,47.00072],[9.8707,47.00965],[9.87115,47.01306],[9.88035,47.01722],[9.87779,47.02055],[9.85974,47.02321],[9.85273,47.01641],[9.83612,47.01253],[9.82353,47.01986],[9.80756,47.02356],[9.78491,47.03849],[9.74808,47.03692],[9.74185,47.04268],[9.71821,47.04337],[9.70701,47.04805],[9.7076,47.05381],[9.69756,47.05239],[9.68392,47.05765],[9.68184,47.0621],[9.67743,47.06141],[9.65821,47.05818],[9.64506,47.05978],[9.64158,47.05598],[9.63654,47.0517],[9.62633,47.05133],[9.60705,47.06077],[9.6134,47.0695],[9.61153,47.0794],[9.61869,47.07817],[9.62339,47.08258],[9.63346,47.08344],[9.63564,47.09553],[9.62858,47.10756],[9.62083,47.11032],[9.63503,47.12813],[9.62467,47.13265],[9.62258,47.14135],[9.62587,47.1459],[9.62059,47.15164],[9.6089,47.14775],[9.59679,47.16294],[9.57946,47.17116],[9.56456,47.17029],[9.57302,47.1756],[9.57259,47.19079],[9.58032,47.19578],[9.58477,47.20532],[9.5687,47.21968],[9.55851,47.22416],[9.55176,47.22377],[9.56679,47.24288],[9.53073,47.27058],[9.54619,47.28005],[9.55634,47.29829],[9.58805,47.3173],[9.59966,47.3455],[9.61073,47.35571],[9.62446,47.36615],[9.65876,47.36946],[9.67255,47.38021],[9.67311,47.39194],[9.65162,47.40463],[9.64551,47.4312],[9.64512,47.4378],[9.65799,47.44779],[9.65898,47.4522],[9.62234,47.45747],[9.60904,47.47054],[9.60292,47.46198],[9.59514,47.46331],[9.58217,47.48276],[9.5622,47.49592],[9.55057,47.53718],[9.5827,47.53592],[9.60465,47.52952],[9.73478,47.53396],[9.73517,47.54661],[9.74164,47.55499],[9.7471,47.55569],[9.74337,47.55867],[9.75207,47.56747],[9.74806,47.57052],[9.75632,47.57262],[9.75633,47.57963],[9.76197,47.58096],[9.76553,47.58912],[9.76933,47.58739],[9.77697,47.59544],[9.79151,47.59352],[9.79999,47.59611],[9.81414,47.58807],[9.82381,47.5871],[9.82728,47.57997],[9.82079,47.57076],[9.82562,47.55922],[9.8171,47.55333],[9.81579,47.54767],[9.85023,47.54164],[9.85839,47.53388],[9.87451,47.52854],[9.87804,47.53876],[9.87515,47.54343],[9.88125,47.54814],[9.8891,47.54399],[9.89935,47.54475],[9.90666,47.54217],[9.91358,47.53255],[9.92189,47.52964],[9.93352,47.53265],[9.94108,47.53822],[9.9637,47.53472],[9.95883,47.54313],[9.96318,47.54229],[9.96805,47.54631]]],terms_url:"https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm",terms_text:"Datenquelle: Land Vorarlberg – data.vorarlberg.gv.at",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/at/VoGISFlchenwidmungsplan.png"},{id:"vogis.cnv.at-ef2012_12cm",name:"VoGIS: Echtfarbenbild 2012 (12cm)",type:"wms",template:"http://vogis.cnv.at/mapserver/mapserv?map=i_luftbilder_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ef2012_12cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",polygon:[[[9.54367,47.48479],[9.61451,47.45058],[9.61359,47.38272],[9.44246,47.24798],[9.44614,47.096],[9.42866,47.08911],[9.42498,47.01513],[9.85281,47.00196],[9.85741,46.89896],[9.9669,46.88952],[10.04511,46.8499],[10.15828,46.83353],[10.1592,46.89204],[10.14718,46.89248],[10.15115,46.94331],[10.16317,46.94287],[10.1647,46.96238],[10.17852,46.96681],[10.17576,47.10351],[10.22912,47.10226],[10.22084,47.24361],[10.26133,47.41261],[10.12423,47.40576],[10.09387,47.47795],[10.00462,47.50717],[9.98622,47.56121],[9.84361,47.56245],[9.84085,47.60714],[9.53999,47.60652],[9.54367,47.48479]]],terms_url:"https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm",terms_text:"Datenquelle: Land Vorarlberg – data.vorarlberg.gv.at",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/at/VoGISFlchenwidmungsplan.png"},{id:"vogis.cnv.at-ef2015_10cm",name:"VoGIS: Echtfarbenbild 2015 (10cm)",type:"wms",template:"http://vogis.cnv.at/mapserver/mapserv?map=i_luftbilder_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ef2015_10cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",polygon:[[[9.54367,47.48479],[9.61451,47.45058],[9.61359,47.38272],[9.44246,47.24798],[9.44614,47.096],[9.42866,47.08911],[9.42498,47.01513],[9.85281,47.00196],[9.85741,46.89896],[9.9669,46.88952],[10.04511,46.8499],[10.15828,46.83353],[10.1592,46.89204],[10.14718,46.89248],[10.15115,46.94331],[10.16317,46.94287],[10.1647,46.96238],[10.17852,46.96681],[10.17576,47.10351],[10.22912,47.10226],[10.22084,47.24361],[10.26133,47.41261],[10.12423,47.40576],[10.09387,47.47795],[10.00462,47.50717],[9.98622,47.56121],[9.84361,47.56245],[9.84085,47.60714],[9.53999,47.60652],[9.54367,47.48479]]],terms_url:"https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm",terms_text:"Datenquelle: Land Vorarlberg – data.vorarlberg.gv.at",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/at/VoGISFlchenwidmungsplan.png"},{id:"vogis.cnv.at-ef2018_10cm",name:"VoGIS: Echtfarbenbild 2018 (10cm)",type:"wms",template:"http://vogis.cnv.at/mapserver/mapserv?map=i_luftbilder_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ef2018_10cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2018-01-01T00:00:00.000Z",startDate:"2018-01-01T00:00:00.000Z",polygon:[[[9.54367,47.48479],[9.61451,47.45058],[9.61359,47.38272],[9.44246,47.24798],[9.44614,47.096],[9.42866,47.08911],[9.42498,47.01513],[9.85281,47.00196],[9.85741,46.89896],[9.9669,46.88952],[10.04511,46.8499],[10.15828,46.83353],[10.1592,46.89204],[10.14718,46.89248],[10.15115,46.94331],[10.16317,46.94287],[10.1647,46.96238],[10.17852,46.96681],[10.17576,47.10351],[10.22912,47.10226],[10.22084,47.24361],[10.26133,47.41261],[10.12423,47.40576],[10.09387,47.47795],[10.00462,47.50717],[9.98622,47.56121],[9.84361,47.56245],[9.84085,47.60714],[9.53999,47.60652],[9.54367,47.48479]]],terms_url:"https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm",terms_text:"Datenquelle: Land Vorarlberg – data.vorarlberg.gv.at",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/at/VoGISFlchenwidmungsplan.png"},{id:"vogis.cnv.at-wi2015_20cm",name:"VoGIS: Echtfarbenbild Winter 2015 (20cm)",type:"wms",template:"http://vogis.cnv.at/mapserver/mapserv?map=i_luftbilder_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=wi2015_20cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",polygon:[[[10.17039,46.82979],[10.17108,46.93644],[10.18413,46.94113],[10.1855,47.10157],[10.23906,47.10437],[10.24283,47.15611],[10.25691,47.18704],[10.24558,47.27597],[10.25313,47.32347],[10.26893,47.32626],[10.26446,47.41102],[10.13194,47.4087],[10.13434,47.46107],[10.11752,47.46153],[10.11889,47.47337],[10.08731,47.47429],[10.08491,47.50724],[10.06843,47.507],[10.0674,47.5215],[10.02345,47.52428],[10.00079,47.57943],[9.84904,47.57757],[9.85042,47.61462],[9.72751,47.61277],[9.7203,47.59089],[9.70347,47.58915],[9.70313,47.54491],[9.68219,47.54491],[9.68047,47.55348],[9.56391,47.54931],[9.56202,47.53958],[9.55172,47.53958],[9.55172,47.53402],[9.52168,47.53471],[9.52701,47.30497],[9.50503,47.30264],[9.50091,47.23368],[9.52357,47.23228],[9.52426,47.16557],[9.54486,47.16405],[9.54383,47.15448],[9.57232,47.15401],[9.57026,47.12809],[9.59018,47.12867],[9.59189,47.10029],[9.57232,47.10017],[9.57713,47.02861],[9.72407,47.03048],[9.72304,47.01749],[9.77454,47.01562],[9.77626,47.00555],[9.79274,47.00391],[9.7948,46.99127],[9.83874,46.99314],[9.84012,46.90349],[9.89024,46.90725],[9.88543,46.88707],[9.95925,46.89141],[9.962,46.87675],[10.0001,46.87862],[9.99667,46.85715],[10.01864,46.85656],[10.02345,46.83073],[10.17039,46.82979]]],terms_url:"https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm",terms_text:"Datenquelle: Land Vorarlberg – data.vorarlberg.gv.at",icon:"https://osmlab.github.io/editor-layer-index/sources/europe/at/VoGISFlchenwidmungsplan.png"},{id:"wroclaw-orto2015",name:"Wrocław: Orthophotomap 2015 (aerial image)",type:"wms",template:"http://gis1.um.wroc.pl/arcgis/services/ogc/OGC_ortofoto_2015/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",zoomExtent:[0,23],polygon:[[[17.14217,51.12846],[17.15659,51.1499],[17.15933,51.16056],[17.15899,51.17886],[17.14371,51.18155],[17.13024,51.18128],[17.12466,51.17396],[17.11436,51.17746],[17.0778,51.17746],[17.07642,51.1766],[17.07548,51.16825],[17.06698,51.16745],[17.04698,51.17493],[17.03376,51.17729],[17.02741,51.17729],[17.02733,51.18246],[17.02252,51.18816],[17.01299,51.18816],[17.0093,51.18499],[17.00312,51.18504],[17.00261,51.20016],[16.99162,51.20559],[16.97008,51.20763],[16.96424,51.20989],[16.95394,51.20968],[16.94656,51.20586],[16.9233,51.2001],[16.90811,51.21043],[16.89927,51.21027],[16.89292,51.2071],[16.88322,51.2071],[16.88073,51.20489],[16.88047,51.19666],[16.88322,51.19048],[16.87403,51.18719],[16.87026,51.18203],[16.85455,51.18031],[16.8421,51.18488],[16.82434,51.18467],[16.82056,51.17875],[16.82099,51.16373],[16.82502,51.15647],[16.80915,51.15194],[16.80657,51.14613],[16.80648,51.1366],[16.80769,51.13595],[16.81687,51.13601],[16.8161,51.13337],[16.81636,51.12459],[16.82932,51.12329],[16.83266,51.11834],[16.82923,51.11386],[16.82923,51.10993],[16.83215,51.10869],[16.84949,51.10826],[16.85661,51.09899],[16.87901,51.09252],[16.88862,51.09258],[16.89197,51.09667],[16.92107,51.09662],[16.9209,51.09263],[16.91661,51.0812],[16.91686,51.07942],[16.93514,51.07948],[16.93849,51.0736],[16.95248,51.06686],[16.95068,51.05806],[16.95454,51.05369],[16.96188,51.0473],[16.96879,51.04568],[16.98072,51.04584],[16.98424,51.05197],[16.99969,51.04668],[17.00776,51.04422],[17.01973,51.04169],[17.03286,51.0419],[17.03415,51.04673],[17.04509,51.04339],[17.06363,51.04339],[17.07037,51.05286],[17.08363,51.04428],[17.095,51.04368],[17.10633,51.04376],[17.10835,51.04684],[17.10822,51.05377],[17.10226,51.05868],[17.11136,51.0716],[17.12341,51.07179],[17.12299,51.07856],[17.15088,51.07861],[17.17277,51.09344],[17.17277,51.09956],[17.17697,51.10303],[17.17676,51.1092],[17.16363,51.1203],[17.14217,51.12846]]],terms_text:"Urząd Miasta Wrocław",icon:"https://i.imgur.com/PRqROXB.png"},{id:"Zabrze-2011",name:"Zabrze: Orthophotomap 2011 (aerial image)",type:"wms",template:"http://siot.um.zabrze.pl/arcgis/services/UMZ_Ortofoto_2011/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",zoomExtent:[0,23],polygon:[[[18.74396,50.2753],[18.75586,50.27523],[18.75578,50.27633],[18.74516,50.28105],[18.74609,50.28886],[18.75084,50.28948],[18.74832,50.2957],[18.73379,50.29618],[18.73208,50.31571],[18.73613,50.31646],[18.73882,50.32763],[18.73725,50.33016],[18.73121,50.33169],[18.73054,50.3344],[18.73422,50.3371],[18.73428,50.34097],[18.73866,50.34308],[18.75419,50.34182],[18.75982,50.34624],[18.75438,50.34744],[18.75119,50.34979],[18.74603,50.36876],[18.75705,50.3692],[18.7639,50.36754],[18.77263,50.37628],[18.78436,50.37077],[18.78713,50.37295],[18.79821,50.37048],[18.80466,50.37561],[18.80165,50.37718],[18.80164,50.38222],[18.80509,50.38317],[18.81527,50.38167],[18.81446,50.37515],[18.82183,50.36883],[18.81737,50.36802],[18.82104,50.35843],[18.8159,50.35336],[18.81687,50.35076],[18.82294,50.35156],[18.83281,50.34962],[18.83474,50.3443],[18.84615,50.34448],[18.86293,50.32852],[18.8607,50.32776],[18.85088,50.33191],[18.84578,50.32923],[18.84891,50.32352],[18.83179,50.32028],[18.83192,50.30483],[18.84451,50.30286],[18.84429,50.29627],[18.82282,50.28615],[18.82845,50.28482],[18.82745,50.27972],[18.82322,50.27994],[18.8214,50.27414],[18.81392,50.27309],[18.79981,50.27351],[18.7987,50.2613],[18.7923,50.24641],[18.78261,50.24583],[18.76416,50.25145],[18.75396,50.25669],[18.75004,50.26402],[18.73991,50.26738],[18.73421,50.27084],[18.74396,50.2753]]],terms_text:"Urząd Miasta Zabrza"}];
+
+       var presets = {aerialway:{fields:["name","aerialway"],moreFields:["layer"],geometry:["point","vertex","line"],tags:{aerialway:"*"},searchable:false,name:"Aerialway"},aeroway:{icon:"maki-airport",fields:["aeroway"],geometry:["point","vertex","line","area"],tags:{aeroway:"*"},searchable:false,name:"Aeroway"},amenity:{fields:["amenity"],geometry:["point","vertex","line","area"],tags:{amenity:"*"},searchable:false,name:"Amenity"},attraction:{icon:"maki-star",fields:["name","attraction","operator","opening_hours"],moreFields:["opening_hours","fee","payment_multi","address","website","phone","email","fax"],geometry:["point","vertex","line","area"],tags:{attraction:"*"},searchable:false,name:"Attraction"},boundary:{fields:["boundary"],geometry:["line"],tags:{boundary:"*"},searchable:false,name:"Boundary"},building_point:{icon:"maki-home",fields:["{building}"],moreFields:["{building}"],geometry:["point"],tags:{building:"*"},matchScore:0.6,searchable:false,terms:[],name:"Building"},embankment:{geometry:["line"],tags:{embankment:"yes"},name:"Embankment",matchScore:0.2,searchable:false},emergency:{fields:["emergency_combo"],geometry:["point","vertex","area"],tags:{emergency:"*"},searchable:false,name:"Emergency Feature"},ford_line:{geometry:["line"],tags:{ford:"*"},name:"Ford",searchable:false},highway:{fields:["name","highway"],geometry:["point","vertex","line","area"],tags:{highway:"*"},searchable:false,name:"Highway"},indoor:{fields:["level","indoor_type"],geometry:["point","vertex","line","area"],tags:{indoor:"*"},matchScore:0.8,searchable:false,name:"Indoor Feature"},landuse:{fields:["name","landuse"],geometry:["area"],tags:{landuse:"*"},matchScore:0.9,searchable:false,name:"Land Use"},leisure:{icon:"maki-pitch",fields:["name","leisure"],geometry:["point","vertex","line","area"],tags:{leisure:"*"},searchable:false,name:"Leisure"},man_made:{icon:"temaki-storage_tank",fields:["name","man_made"],moreFields:["material"],geometry:["point","vertex","line","area"],tags:{man_made:"*"},matchScore:0.95,searchable:false,name:"Man Made"},natural:{icon:"maki-natural",fields:["name","natural"],geometry:["point","vertex","line","area"],tags:{natural:"*"},searchable:false,name:"Natural"},place:{fields:["name","place"],geometry:["point","vertex","area"],tags:{place:"*"},searchable:false,name:"Place"},playground:{icon:"maki-playground",fields:["playground"],geometry:["point","vertex","line","area"],tags:{playground:"*"},searchable:false,name:"Playground Equipment"},power:{geometry:["point","vertex","line","area"],tags:{power:"*"},fields:["power"],moreFields:["material"],searchable:false,name:"Power"},railway:{fields:["railway"],geometry:["point","vertex","line","area"],tags:{railway:"*"},searchable:false,name:"Railway"},seamark:{icon:"maki-harbor",fields:["seamark/type"],geometry:["point","vertex","line","area"],tags:{"seamark:type":"*"},searchable:false,name:"Seamark"},tourism:{icon:"maki-attraction",fields:["name","tourism"],geometry:["point","vertex","line","area"],tags:{tourism:"*"},searchable:false,name:"Tourism"},waterway:{fields:["name","waterway"],geometry:["point","vertex","line","area"],tags:{waterway:"*"},searchable:false,name:"Waterway"},"addr/interpolation":{fields:["addr/interpolation"],geometry:["line"],tags:{"addr:interpolation":"*"},name:"Address Interpolation",searchable:false,matchScore:0.2},address:{fields:["address"],geometry:["point","vertex","area"],tags:{"addr:*":"*"},addTags:{},removeTags:{},reference:{key:"addr"},name:"Address",matchScore:0.15},"advertising/billboard":{fields:["direction","lit"],geometry:["point","vertex","line"],tags:{advertising:"billboard"},name:"Billboard"},"advertising/column":{icon:"temaki-storage_tank",fields:["lit"],geometry:["point","area"],tags:{advertising:"column"},name:"Advertising Column"},"aerialway/station":{icon:"maki-aerialway",geometry:["point","vertex","area"],fields:["aerialway/access","aerialway/summer/access","elevation","building_area"],tags:{aerialway:"station"},matchScore:0.95,name:"Aerialway Station",searchable:false,replacement:"public_transport/station_aerialway"},"aerialway/cable_car":{icon:"fas-tram",geometry:["line"],terms:["tramway","ropeway"],fields:["name","aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/heating"],tags:{aerialway:"cable_car"},name:"Cable Car"},"aerialway/chair_lift":{icon:"temaki-chairlift",geometry:["line"],fields:["name","oneway_yes","aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/bubble","aerialway/heating"],tags:{aerialway:"chair_lift"},name:"Chair Lift"},"aerialway/drag_lift":{geometry:["line"],fields:["name","aerialway/capacity","aerialway/duration"],tags:{aerialway:"drag_lift"},name:"Drag Lift"},"aerialway/gondola":{icon:"maki-aerialway",geometry:["line"],fields:["name","oneway","aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/bubble","aerialway/heating"],tags:{aerialway:"gondola"},name:"Gondola"},"aerialway/goods":{geometry:["line"],fields:["name","aerialway/capacity","aerialway/duration"],tags:{aerialway:"goods"},name:"Goods Aerialway"},"aerialway/j-bar":{geometry:["line"],fields:["name","aerialway/capacity","aerialway/duration"],terms:["jbar"],tags:{aerialway:"j-bar"},name:"J-bar Lift"},"aerialway/magic_carpet":{geometry:["line"],fields:["name","aerialway/capacity","aerialway/duration","aerialway/heating"],tags:{aerialway:"magic_carpet"},name:"Magic Carpet Lift"},"aerialway/mixed_lift":{geometry:["line"],fields:["name","oneway_yes","aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/bubble","aerialway/heating"],tags:{aerialway:"mixed_lift"},name:"Mixed Lift"},"aerialway/platter":{geometry:["line"],terms:["button lift","poma lift"],fields:["name","aerialway/capacity","aerialway/duration"],tags:{aerialway:"platter"},name:"Platter Lift"},"aerialway/pylon":{geometry:["point","vertex"],fields:["ref"],tags:{aerialway:"pylon"},name:"Aerialway Pylon"},"aerialway/rope_tow":{geometry:["line"],terms:["handle tow","bugel lift"],fields:["name","oneway_yes","aerialway/capacity","aerialway/duration"],tags:{aerialway:"rope_tow"},name:"Rope Tow Lift"},"aerialway/t-bar":{geometry:["line"],fields:["name","aerialway/capacity","aerialway/duration"],terms:["tbar"],tags:{aerialway:"t-bar"},name:"T-bar Lift"},"aerialway/zip_line":{geometry:["line"],fields:["name","oneway_yes","aerialway/duration","maxweight","access_simple"],terms:["aerial runway","canopy","flying fox","foefie slide","gravity propelled aerial ropeslide","Tyrolean traverse","zip wire","zip-line","zipline","zipwire"],tags:{aerialway:"zip_line"},name:"Zip Line"},"aeroway/aerodrome":{icon:"maki-airport",geometry:["point","area"],fields:["name","iata","icao","operator","internet_access","internet_access/fee","internet_access/ssid"],terms:["aerodrome","aeroway","airplane","airport","jet","plane"],tags:{aeroway:"aerodrome"},matchScore:0.9,name:"Airport"},"aeroway/apron":{icon:"maki-airport",geometry:["area"],terms:["ramp"],fields:["ref","surface"],tags:{aeroway:"apron"},name:"Apron"},"aeroway/gate":{icon:"maki-airport",geometry:["point"],fields:["ref_aeroway_gate"],tags:{aeroway:"gate"},name:"Airport Gate"},"aeroway/hangar":{icon:"fas-warehouse",geometry:["area"],fields:["name","building_area"],tags:{aeroway:"hangar"},addTags:{building:"hangar",aeroway:"hangar"},name:"Hangar"},"aeroway/helipad":{icon:"maki-heliport",geometry:["point","area"],fields:["name","ref","operator","surface","lit"],moreFields:["access_simple","address","fee","opening_hours"],terms:["helicopter","helipad","heliport"],tags:{aeroway:"helipad"},name:"Helipad"},"aeroway/holding_position":{icon:"maki-airport",geometry:["vertex"],fields:["ref"],tags:{aeroway:"holding_position"},name:"Aircraft Holding Position"},"aeroway/jet_bridge":{icon:"temaki-pedestrian",geometry:["line"],fields:["ref_aeroway_gate","width","access_simple","wheelchair"],moreFields:["manufacturer"],terms:["aerobridge","air jetty","airbridge","finger","gangway","jet way","jetway","passenger boarding bridge","PBB","portal","skybridge","terminal gate connector"],tags:{aeroway:"jet_bridge"},addTags:{aeroway:"jet_bridge",highway:"corridor"},matchScore:1.05,name:"Jet Bridge"},"aeroway/parking_position":{icon:"maki-airport",geometry:["vertex","point","line"],fields:["ref"],tags:{aeroway:"parking_position"},name:"Aircraft Parking Position"},"aeroway/runway":{icon:"fas-plane-departure",geometry:["line","area"],terms:["landing strip"],fields:["ref_runway","surface","length","width"],tags:{aeroway:"runway"},name:"Runway"},"aeroway/taxiway":{icon:"fas-plane",geometry:["line"],fields:["ref_taxiway","surface"],tags:{aeroway:"taxiway"},name:"Taxiway"},"aeroway/terminal":{icon:"maki-airport",geometry:["point","area"],terms:["airport","aerodrome"],fields:["name","operator","building_area"],moreFields:["wheelchair","smoking"],tags:{aeroway:"terminal"},name:"Airport Terminal"},"aeroway/windsock":{icon:"fas-wind",geometry:["point","vertex"],fields:["ref","lit","height"],moreFields:["manufacturer"],tags:{aeroway:"windsock"},name:"Windsock"},"allotments/plot":{geometry:["area"],fields:["name","ref"],tags:{allotments:"plot"},reference:{key:"allotments",value:"plot"},name:"Community Garden Plot"},"amenity/bus_station":{icon:"maki-bus",fields:["name","building_area","operator","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{amenity:"bus_station"},name:"Bus Station / Terminal",searchable:false,replacement:"public_transport/station_bus"},"amenity/coworking_space":{icon:"maki-commercial",fields:["name","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{amenity:"coworking_space"},name:"Coworking Space",searchable:false},"amenity/embassy":{icon:"maki-embassy",fields:["name","country","address","building_area"],moreFields:["website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{amenity:"embassy"},searchable:false,name:"Embassy"},"amenity/ferry_terminal":{icon:"maki-ferry",fields:["name","network","operator","address","building_area"],geometry:["point","vertex","area"],terms:[],tags:{amenity:"ferry_terminal"},matchScore:0.95,name:"Ferry Station / Terminal",searchable:false,replacement:"public_transport/station_ferry"},"amenity/nursing_home":{icon:"maki-wheelchair",fields:["name","operator","address","building_area","social_facility","social_facility_for","opening_hours","wheelchair"],geometry:["point","area"],tags:{amenity:"nursing_home"},reference:{key:"social_facility",value:"nursing_home"},name:"Nursing Home",searchable:false},"amenity/recycling":{icon:"maki-recycling",fields:["recycling_type","recycling_accepts","collection_times"],geometry:["point","area"],terms:["bin","can","bottle","glass","garbage","rubbish","scrap","trash"],tags:{amenity:"recycling"},name:"Recycling",searchable:false},"amenity/register_office":{icon:"maki-town-hall",fields:["name","address","building_area","opening_hours","operator"],geometry:["point","area"],tags:{amenity:"register_office"},reference:{key:"government",value:"register_office"},name:"Register Office",searchable:false},"amenity/scrapyard":{icon:"maki-car",fields:["name","operator","address","opening_hours"],geometry:["point","area"],tags:{amenity:"scrapyard"},reference:{key:"industrial",value:"scrap_yard"},name:"Scrap Yard",searchable:false},"amenity/swimming_pool":{icon:"fas-swimmer",geometry:["point","vertex","area"],tags:{amenity:"swimming_pool"},reference:{key:"leisure",value:"swimming_pool"},name:"Swimming Pool",searchable:false},"amenity/animal_boarding":{icon:"maki-veterinary",fields:["name","operator","address","building_area","opening_hours","animal_boarding"],moreFields:["payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["boarding","cat","cattery","dog","horse","kennel","kitten","pet","pet boarding","pet care","pet hotel","puppy","reptile"],tags:{amenity:"animal_boarding"},name:"Animal Boarding Facility"},"amenity/animal_breeding":{icon:"maki-veterinary",fields:["name","operator","address","building_area","opening_hours","animal_breeding"],moreFields:["website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["breeding","bull","cat","cow","dog","horse","husbandry","kitten","livestock","pet breeding","puppy","reptile"],tags:{amenity:"animal_breeding"},name:"Animal Breeding Facility"},"amenity/animal_shelter":{icon:"maki-veterinary",fields:["name","operator","address","building_area","opening_hours","animal_shelter"],moreFields:["website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["adoption","aspca","cat","dog","horse","kitten","pet care","pet rescue","puppy","raptor","reptile","rescue","spca","pound"],tags:{amenity:"animal_shelter"},name:"Animal Shelter"},"amenity/arts_centre":{icon:"maki-theatre",fields:["name","address","building_area","opening_hours","website"],moreFields:["email","fax","fee","internet_access","internet_access/fee","internet_access/ssid","payment_multi","phone","website","wheelchair"],geometry:["point","area"],terms:[],tags:{amenity:"arts_centre"},name:"Arts Center"},"amenity/atm":{icon:"maki-bank",fields:["operator","network","cash_in","currency_multi","drive_through"],moreFields:["brand","covered","height","indoor","lit","manufacturer","name","opening_hours","wheelchair"],geometry:["point","vertex"],terms:["money","cash","machine"],tags:{amenity:"atm"},name:"ATM"},"amenity/bank":{icon:"maki-bank",fields:["name","operator","address","building_area","atm","drive_through"],moreFields:["air_conditioning","currency_multi","email","fax","internet_access","internet_access/fee","internet_access/ssid","opening_hours","phone","website","wheelchair"],geometry:["point","area"],terms:["credit union","check","deposit","fund","investment","repository","reserve","safe","savings","stock","treasury","trust","vault"],tags:{amenity:"bank"},name:"Bank"},"amenity/bar":{icon:"maki-bar",fields:["name","address","building_area","outdoor_seating","brewery"],moreFields:["air_conditioning","email","fax","internet_access","internet_access/fee","internet_access/ssid","microbrewery","opening_hours","payment_multi","phone","smoking","website","wheelchair"],geometry:["point","area"],terms:["dive","beer","bier","booze"],tags:{amenity:"bar"},name:"Bar"},"amenity/bar/lgbtq":{icon:"maki-bar",geometry:["point","area"],terms:["gay bar","lesbian bar","lgbtq bar","lgbt bar","lgb bar"],tags:{amenity:"bar",lgbtq:"primary"},name:"LGBTQ+ Bar"},"amenity/bbq":{icon:"maki-bbq",fields:["covered","fuel","access_simple"],moreFields:["lit"],geometry:["point"],terms:["bbq","grill"],tags:{amenity:"bbq"},name:"Barbecue/Grill"},"amenity/bench":{icon:"temaki-bench",fields:["backrest","material","seats","colour"],moreFields:["access_simple","height","inscription","lit","manufacturer","operator"],geometry:["point","vertex","line"],terms:["seat","chair"],tags:{amenity:"bench"},name:"Bench"},"amenity/bicycle_parking":{icon:"maki-bicycle",fields:["bicycle_parking","capacity","operator","operator/type","covered","access_simple","fee","payment_multi_fee"],moreFields:["colour","indoor","lit"],geometry:["point","vertex","area"],terms:["bike"],tags:{amenity:"bicycle_parking"},name:"Bicycle Parking"},"amenity/bicycle_parking/building":{icon:"maki-bicycle",fields:["{amenity/bicycle_parking}","opening_hours","building_area"],geometry:["point","vertex","area"],tags:{amenity:"bicycle_parking",bicycle_parking:"building"},reference:{key:"bicycle_parking"},terms:["Multi-Storey Bicycle Park","Multi-Storey Bike Park","Bike Parking Station"],name:"Bicycle Parking Garage"},"amenity/bicycle_parking/lockers":{icon:"maki-bicycle",geometry:["point","vertex","area"],tags:{amenity:"bicycle_parking",bicycle_parking:"lockers"},reference:{key:"bicycle_parking"},terms:["Bike Lockers"],name:"Bicycle Lockers"},"amenity/bicycle_parking/shed":{icon:"maki-bicycle",fields:["{amenity/bicycle_parking}","building_area"],geometry:["point","vertex","area"],tags:{amenity:"bicycle_parking",bicycle_parking:"shed"},reference:{key:"bicycle_parking"},terms:["Bike Shed"],name:"Bicycle Shed"},"amenity/bicycle_rental":{icon:"maki-bicycle",fields:["capacity","network","operator","operator/type","fee","payment_multi_fee"],moreFields:["address","email","covered","fax","opening_hours","phone","website","wheelchair"],geometry:["point","vertex","area"],terms:["bike","bicycle","bikeshare","bike share","bicycle share","hub","dock"],tags:{amenity:"bicycle_rental"},name:"Bicycle Rental"},"amenity/bicycle_repair_station":{icon:"maki-bicycle",fields:["operator","brand","opening_hours","fee","payment_multi_fee","service/bicycle"],moreFields:["colour","covered","indoor","manufacturer"],geometry:["point","vertex"],terms:["bike","repair","chain","pump","tools","stand","multitool"],tags:{amenity:"bicycle_repair_station"},name:"Bicycle Repair Tool Stand"},"amenity/biergarten":{icon:"fas-beer",fields:["name","address","building","outdoor_seating","brewery"],moreFields:["{amenity/bar}"],geometry:["point","area"],tags:{amenity:"biergarten"},terms:["beer","bier","booze"],name:"Biergarten"},"amenity/boat_rental":{icon:"temaki-boating",fields:["name","operator","operator/type","fee","payment_multi_fee"],moreFields:["address","website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{amenity:"boat_rental"},name:"Boat Rental"},"amenity/bureau_de_change":{icon:"maki-bank",fields:["name","operator","payment_multi","currency_multi","address","building_area"],moreFields:["opening_hours","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["bureau de change","money changer"],tags:{amenity:"bureau_de_change"},name:"Currency Exchange"},"amenity/cafe":{icon:"maki-cafe",fields:["name","cuisine","address","building_area","outdoor_seating","internet_access","internet_access/fee"],moreFields:["air_conditioning","bar","capacity","delivery","diet_multi","email","fax","internet_access/ssid","opening_hours","payment_multi","phone","reservation","smoking","takeaway","website","wheelchair"],geometry:["point","area"],terms:["bistro","coffee","tea"],tags:{amenity:"cafe"},name:"Cafe"},"amenity/car_pooling":{icon:"maki-car",fields:["name","operator","operator/type","capacity","address","opening_hours","lit"],moreFields:["website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{amenity:"car_pooling"},name:"Car Pooling"},"amenity/car_rental":{icon:"maki-car-rental",fields:["name","operator","address","opening_hours","payment_multi"],moreFields:["brand","website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{amenity:"car_rental"},name:"Car Rental"},"amenity/car_sharing":{icon:"maki-car",fields:["name","operator","operator/type","capacity","address","payment_multi","supervised"],moreFields:["lit","website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{amenity:"car_sharing"},name:"Car Sharing"},"amenity/car_wash":{icon:"temaki-car_wash",fields:["name","operator","address","building_area","opening_hours","payment_multi","self_service"],moreFields:["website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{amenity:"car_wash"},name:"Car Wash"},"amenity/casino":{icon:"maki-casino",fields:["name","operator","address","building_area","opening_hours","smoking"],moreFields:["air_conditioning","email","fax","internet_access","internet_access/fee","internet_access/ssid","payment_multi","phone","website","wheelchair"],geometry:["point","area"],terms:["gambling","roulette","craps","poker","blackjack"],tags:{amenity:"casino"},name:"Casino"},"amenity/charging_station":{icon:"fas-charging-station",fields:["name","operator","capacity","access_simple","fee","payment_multi_fee"],moreFields:["brand","covered","manufacturer"],geometry:["point"],tags:{amenity:"charging_station"},terms:["EV","Electric Vehicle","Supercharger"],name:"Charging Station"},"amenity/childcare":{icon:"fas-child",fields:["name","operator","operator/type","address","building_area","opening_hours"],moreFields:["payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["daycare","orphanage","playgroup"],tags:{amenity:"childcare"},name:"Nursery/Childcare"},"amenity/cinema":{icon:"maki-cinema",fields:["name","address","screen","building_area","opening_hours","payment_multi"],moreFields:["air_conditioning","email","fax","phone","website","wheelchair"],geometry:["point","area"],terms:["drive-in","film","flick","movie","theater","picture","show","screen"],tags:{amenity:"cinema"},name:"Cinema"},"amenity/clinic":{icon:"maki-doctor",fields:["name","operator","operator/type","healthcare/speciality","address","building_area","opening_hours"],moreFields:["air_conditioning","payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["medical","urgentcare"],tags:{amenity:"clinic"},addTags:{amenity:"clinic",healthcare:"clinic"},reference:{key:"amenity",value:"clinic"},name:"Clinic"},"amenity/clinic/abortion":{icon:"maki-hospital",geometry:["point","area"],terms:[],tags:{amenity:"clinic",healthcare:"clinic","healthcare:speciality":"abortion"},reference:{key:"amenity",value:"clinic"},name:"Abortion Clinic"},"amenity/clinic/fertility":{icon:"maki-hospital",geometry:["point","area"],terms:["egg","fertility","reproductive","sperm","ovulation"],tags:{amenity:"clinic",healthcare:"clinic","healthcare:speciality":"fertility"},reference:{key:"amenity",value:"clinic"},name:"Fertility Clinic"},"amenity/clock":{icon:"temaki-clock",fields:["name","support","display","visibility","date","faces"],moreFields:["covered","height","indoor","lit","manufacturer"],geometry:["point","vertex"],terms:["time"],tags:{amenity:"clock"},name:"Clock"},"amenity/clock/sundial":{icon:"temaki-clock",fields:["name","support","visibility","inscription"],moreFields:[],geometry:["point","vertex"],terms:["gnomon","shadow"],tags:{amenity:"clock",display:"sundial"},reference:{key:"display",value:"sundial"},name:"Sundial"},"amenity/college":{icon:"maki-college",fields:["name","operator","operator/type","address","website","internet_access","internet_access/fee"],moreFields:["religion","denomination","internet_access/ssid","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["university","undergraduate school"],tags:{amenity:"college"},name:"College Grounds"},"amenity/community_centre":{icon:"maki-town-hall",fields:["name","operator","address","building_area"],moreFields:["air_conditioning","email","fax","phone","polling_station","website","wheelchair"],geometry:["point","area"],terms:["event","hall"],tags:{amenity:"community_centre"},name:"Community Center"},"amenity/community_centre/lgbtq":{icon:"maki-town-hall",geometry:["point","area"],terms:["lgbtq event","lgbtq hall","lgbt event","lgbt hall","lgb event","lgb hall"],tags:{amenity:"community_centre",lgbtq:"primary"},name:"LGBTQ+ Community Center"},"amenity/compressed_air":{icon:"maki-car",fields:["operator","access_simple","fee","payment_multi_fee","covered","lit"],moreFields:["brand","manufacturer"],geometry:["point","area"],tags:{amenity:"compressed_air"},name:"Compressed Air"},"amenity/conference_centre":{icon:"fas-user-tie",fields:["name","operator","building_area","address","website","internet_access"],moreFields:["air_conditioning","email","fax","internet_access/fee","internet_access/ssid","phone","smoking","wheelchair"],geometry:["point","area"],tags:{amenity:"conference_centre"},terms:["auditorium","conference","exhibition","exposition","lecture"],name:"Convention Center"},"amenity/courthouse":{icon:"fas-gavel",fields:["name","operator","address","building_area"],moreFields:["email","fax","phone","polling_station","smoking","website","wheelchair"],geometry:["point","area"],tags:{amenity:"courthouse"},name:"Courthouse"},"amenity/crematorium":{icon:"maki-cemetery",fields:["name","website","phone","opening_hours","wheelchair"],moreFields:["address","website","phone","email","fax","wheelchair"],geometry:["area","point"],tags:{amenity:"crematorium"},terms:["cemetery","funeral"],name:"Crematorium"},"amenity/dentist":{icon:"maki-dentist",fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],moreFields:["payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["tooth","teeth"],tags:{amenity:"dentist"},addTags:{amenity:"dentist",healthcare:"dentist"},reference:{key:"amenity",value:"dentist"},name:"Dentist"},"amenity/dive_centre":{icon:"temaki-scuba_diving",fields:["name","operator","address","building_area","opening_hours","scuba_diving"],moreFields:["payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["diving","scuba"],tags:{amenity:"dive_centre"},name:"Dive Center"},"amenity/doctors":{icon:"maki-doctor",fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],moreFields:["payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["medic*","physician"],tags:{amenity:"doctors"},addTags:{amenity:"doctors",healthcare:"doctor"},reference:{key:"amenity",value:"doctors"},name:"Doctor"},"amenity/dojo":{icon:"maki-pitch",fields:["name","sport","address","building_area","opening_hours"],moreFields:["payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["martial arts","dojang"],tags:{amenity:"dojo"},name:"Dojo / Martial Arts Academy"},"amenity/dressing_room":{icon:"maki-clothing-store",fields:["operator","access_simple","gender","wheelchair","building_area"],moreFields:["fee","opening_hours","payment_multi_fee","ref"],geometry:["point","area"],terms:["changeroom","dressing room","fitting room","locker room"],tags:{amenity:"dressing_room"},name:"Changing Room"},"amenity/drinking_water":{icon:"maki-drinking-water",fields:["operator","access_simple","fee","payment_multi_fee","wheelchair"],moreFields:["covered","indoor","lit"],geometry:["point"],tags:{amenity:"drinking_water"},terms:["potable water source","water fountain","drinking fountain","bubbler","water tap"],name:"Drinking Water"},"amenity/driving_school":{icon:"maki-car",fields:["name","operator","operator/type","address","building_area","opening_hours"],moreFields:["payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{amenity:"driving_school"},name:"Driving School"},"amenity/events_venue":{icon:"fas-users",fields:["name","operator","building_area","address","website","internet_access"],moreFields:["air_conditioning","email","fax","internet_access/fee","internet_access/ssid","phone","smoking","wheelchair"],geometry:["point","area"],tags:{amenity:"events_venue"},terms:["banquet hall","baptism","Bar Mitzvah","Bat Mitzvah","birthdays","celebrations","conferences","confirmation","meetings","parties","party","quinceañera","reunions","weddings"],name:"Events Venue"},"amenity/fast_food":{icon:"maki-fast-food",fields:["name","cuisine","operator","address","building_area","drive_through"],moreFields:["air_conditioning","opening_hours","diet_multi","takeaway","delivery","smoking","capacity","outdoor_seating","internet_access","internet_access/fee","internet_access/ssid","payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{amenity:"fast_food"},terms:["restaurant","takeaway"],name:"Fast Food"},"amenity/fast_food/ice_cream":{icon:"fas-ice-cream",geometry:["point","area"],tags:{amenity:"fast_food",cuisine:"ice_cream"},reference:{key:"cuisine",value:"ice_cream"},name:"Ice Cream Fast Food",searchable:false},"amenity/fast_food/burger":{icon:"maki-fast-food",geometry:["point","area"],terms:["breakfast","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"fast_food",cuisine:"burger"},reference:{key:"cuisine",value:"burger"},name:"Burger Fast Food"},"amenity/fast_food/chicken":{icon:"fas-drumstick-bite",geometry:["point","area"],terms:["breakfast","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"fast_food",cuisine:"chicken"},reference:{key:"cuisine",value:"chicken"},name:"Chicken Fast Food"},"amenity/fast_food/donut":{icon:"temaki-donut",geometry:["point","area"],terms:["breakfast","brunch","cafe","canteen","coffee","dine","diner","donut","doughnut","dining","eat","lunch","table"],tags:{amenity:"fast_food",cuisine:"donut"},reference:{key:"cuisine",value:"donut"},name:"Donut Fast Food"},"amenity/fast_food/fish_and_chips":{icon:"fas-fish",geometry:["point","area"],terms:["breakfast","cafe","café","dine","dining","dinner","drive-in","eat","grill","lunch","table","french fries"],tags:{amenity:"fast_food",cuisine:"fish_and_chips"},reference:{key:"cuisine",value:"fish_and_chips"},name:"Fish & Chips Fast Food"},"amenity/fast_food/kebab":{icon:"maki-restaurant",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"fast_food",cuisine:"kebab"},reference:{key:"cuisine",value:"kebab"},name:"Kebab Fast Food"},"amenity/fast_food/mexican":{icon:"fas-pepper-hot",geometry:["point","area"],terms:["breakfast","dine","dining","dinner","drive-in","eat","grill","lunch","table","tacos","burritos","enchiladas","fajitas","nachos","tortillas","salsa","tamales","quesadillas"],tags:{amenity:"fast_food",cuisine:"mexican"},reference:{key:"cuisine",value:"mexican"},name:"Mexican Fast Food"},"amenity/fast_food/pizza":{icon:"maki-restaurant-pizza",geometry:["point","area"],terms:["dine","dining","dinner","drive-in","eat","lunch","table","deep dish","thin crust","slice"],tags:{amenity:"fast_food",cuisine:"pizza"},reference:{key:"cuisine",value:"pizza"},name:"Pizza Fast Food"},"amenity/fast_food/sandwich":{icon:"temaki-sandwich",geometry:["point","area"],terms:["breakfast","cafe","café","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"fast_food",cuisine:"sandwich"},reference:{key:"cuisine",value:"sandwich"},name:"Sandwich Fast Food"},"amenity/fire_station":{icon:"maki-fire-station",fields:["name","operator","address","building_area"],moreFields:["email","fax","phone","polling_station","smoking","website","wheelchair"],geometry:["point","area"],terms:[],tags:{amenity:"fire_station"},name:"Fire Station"},"amenity/food_court":{icon:"maki-restaurant",fields:["name","operator","address","building_area","opening_hours"],moreFields:["smoking","outdoor_seating","capacity","internet_access","internet_access/fee","internet_access/ssid","diet_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["fast food","restaurant","food"],tags:{amenity:"food_court"},name:"Food Court"},"amenity/fountain":{icon:"temaki-fountain",fields:["name","operator","height","lit"],moreFields:["covered","indoor","manufacturer"],geometry:["point","area"],tags:{amenity:"fountain"},name:"Fountain"},"amenity/fuel":{icon:"maki-fuel",fields:["name","brand","operator","address","fuel_multi","self_service"],moreFields:["opening_hours","payment_multi","building","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["petrol","fuel","gasoline","propane","diesel","lng","cng","biodiesel"],tags:{amenity:"fuel"},name:"Gas Station"},"amenity/grave_yard":{icon:"maki-cemetery",fields:["religion","address"],moreFields:["website","phone","email","fax"],geometry:["point","area"],tags:{amenity:"grave_yard"},name:"Graveyard"},"amenity/grit_bin":{icon:"fas-box",fields:["operator","access_simple","material","collection_times"],moreFields:["colour","height","lit"],geometry:["point","vertex"],tags:{amenity:"grit_bin"},terms:["salt","sand"],name:"Grit Bin"},"amenity/hospital":{icon:"maki-hospital",fields:["name","operator","operator/type","healthcare/speciality","address","emergency"],moreFields:["internet_access","internet_access/fee","internet_access/ssid","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["clinic","doctor","emergency room","health","infirmary","institution","sanatorium","sanitarium","sick","surgery","ward"],tags:{amenity:"hospital"},addTags:{amenity:"hospital",healthcare:"hospital"},reference:{key:"amenity",value:"hospital"},name:"Hospital Grounds"},"amenity/hunting_stand":{icon:"temaki-binoculars",fields:["access_simple"],geometry:["point","vertex","area"],terms:["game","gun","lookout","rifle","shoot*","wild","watch"],tags:{amenity:"hunting_stand"},name:"Hunting Stand"},"amenity/ice_cream":{icon:"fas-ice-cream",fields:["name","address","building_area","opening_hours","outdoor_seating"],moreFields:["takeaway","delivery","drive_through","internet_access","internet_access/fee","internet_access/ssid","diet_multi","payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["gelato","sorbet","sherbet","frozen","yogurt"],tags:{amenity:"ice_cream"},name:"Ice Cream Shop"},"amenity/internet_cafe":{icon:"temaki-antenna",fields:["name","operator","operator/type","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],moreFields:["air_conditioning","email","fax","opening_hours","outdoor_seating","payment_multi","phone","smoking","website","wheelchair"],geometry:["point","area"],terms:["cybercafe","taxiphone","teleboutique","coffee","cafe","net","lanhouse"],tags:{amenity:"internet_cafe"},name:"Internet Cafe"},"amenity/karaoke":{icon:"maki-karaoke",fields:["name","operator","address","building_area","opening_hours","website"],moreFields:["air_conditioning","email","fax","payment_multi","phone","smoking","wheelchair"],geometry:["point","area"],terms:["karaoke club","karaoke room","karaoke television","KTV"],tags:{amenity:"karaoke_box"},name:"Karaoke Box"},"amenity/kindergarten":{icon:"maki-school",fields:["name","operator","address","phone","preschool"],moreFields:["email","fax","opening_hours","payment_multi","website","wheelchair"],geometry:["point","area"],terms:["kindergarden","pre-school"],tags:{amenity:"kindergarten"},name:"Preschool/Kindergarten Grounds"},"amenity/language_school":{icon:"maki-school",fields:["name","operator","operator/type","address","building_area","opening_hours","language_multi"],moreFields:["email","fax","internet_access","internet_access/fee","internet_access/ssid","payment_multi","phone","website","wheelchair"],geometry:["point","area"],terms:["esl"],tags:{amenity:"language_school"},name:"Language School"},"amenity/library":{icon:"maki-library",fields:["name","operator","operator/type","building_area","address","ref/isil","internet_access","internet_access/fee","internet_access/ssid"],moreFields:["access_simple","air_conditioning","email","fax","opening_hours","payment_multi","phone","polling_station","website","wheelchair"],geometry:["point","area"],terms:["book"],tags:{amenity:"library"},name:"Library"},"amenity/love_hotel":{icon:"maki-heart",fields:["name","operator","address","building_area","rooms","internet_access","internet_access/fee"],moreFields:["smoking","payment_multi","internet_access/ssid","website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{amenity:"love_hotel"},name:"Love Hotel"},"amenity/marketplace":{icon:"maki-shop",fields:["name","operator","address","building","opening_hours"],moreFields:["website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{amenity:"marketplace"},name:"Marketplace"},"amenity/monastery":{icon:"maki-place-of-worship",fields:["name","religion","denomination","address","building_area"],moreFields:["website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["abbey","basilica","bethel","cathedral","chancel","chantry","chapel","church","fold","house of God","house of prayer","house of worship","minster","mission","monastery","mosque","oratory","parish","sacellum","sanctuary","shrine","synagogue","tabernacle","temple"],tags:{amenity:"monastery"},name:"Monastery Grounds"},"amenity/money_transfer":{icon:"maki-bank",fields:["name","brand","address","building_area","payment_multi","currency_multi"],moreFields:["opening_hours","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["money order","check","bill","currency","finance","wire transfer","cable","person to person","cash to cash","exchange"],tags:{amenity:"money_transfer"},name:"Money Transfer Station"},"amenity/motorcycle_parking":{icon:"fas-motorcycle",fields:["capacity","operator","covered","access_simple"],geometry:["point","vertex","area"],tags:{amenity:"motorcycle_parking"},name:"Motorcycle Parking"},"amenity/music_school":{icon:"maki-school",fields:["name","operator","address","building_area","opening_hours"],moreFields:["payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["school of music"],tags:{amenity:"music_school"},name:"Music School"},"amenity/nightclub":{icon:"maki-bar",fields:["name","operator","address","building_area","opening_hours","smoking"],moreFields:["air_conditioning","payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{amenity:"nightclub"},terms:["disco*","night club","dancing","dance club"],name:"Nightclub"},"amenity/nightclub/lgbtq":{icon:"maki-bar",geometry:["point","area"],tags:{amenity:"nightclub",lgbtq:"primary"},terms:["gay nightclub","lesbian nightclub","lgbtq nightclub","lgbt nightclub","lgb nightclub"],name:"LGBTQ+ Nightclub"},"amenity/parking_entrance":{icon:"maki-entrance-alt1",fields:["access_simple","ref"],geometry:["vertex"],tags:{amenity:"parking_entrance"},name:"Parking Garage Entrance/Exit"},"amenity/parking_space":{fields:["capacity"],geometry:["point","vertex","area"],terms:[],tags:{amenity:"parking_space"},matchScore:0.95,name:"Parking Space"},"amenity/parking":{icon:"maki-car",fields:["operator","operator/type","parking","capacity","access_simple","fee","payment_multi_fee","surface"],moreFields:["address","covered","email","fax","maxstay","name","opening_hours","park_ride","phone","ref","supervised","website","wheelchair"],geometry:["point","vertex","area"],tags:{amenity:"parking"},terms:["automobile parking","car lot","car parking","rv parking","truck parking","vehicle parking"],name:"Parking Lot"},"amenity/parking/multi-storey":{icon:"maki-car",fields:["name","{amenity/parking}","building"],moreFields:["{amenity/parking}","levels","height"],geometry:["area"],tags:{amenity:"parking",parking:"multi-storey"},addTags:{building:"parking",amenity:"parking",parking:"multi-storey"},reference:{key:"parking",value:"multi-storey"},terms:["car","indoor parking","multistorey car park","parkade","parking building","parking deck","parking garage","parking ramp","parking structure"],matchScore:1.05,name:"Multilevel Parking Garage"},"amenity/parking/park_ride":{icon:"maki-car",geometry:["point","vertex","area"],tags:{amenity:"parking",park_ride:"yes"},reference:{key:"park_ride",value:"yes"},terms:["commuter parking lot","incentive parking lot","metro parking lot","park and pool lot","park and ride lot","P+R","public transport parking lot","public transit parking lot","train parking lot"],name:"Park & Ride Lot"},"amenity/parking/underground":{icon:"maki-car",fields:["{amenity/parking}","layer"],geometry:["point","vertex","area"],tags:{amenity:"parking",parking:"underground"},addTags:{amenity:"parking",parking:"underground",layer:"-1"},reference:{key:"parking",value:"underground"},terms:["automobile parking","car lot","car parking","rv parking","subsurface parking","truck parking","vehicle parking"],matchScore:1.05,name:"Underground Parking"},"amenity/payment_centre":{icon:"maki-bank",fields:["name","brand","address","building_area","opening_hours","payment_multi"],moreFields:["currency_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["check","tax pay","bill pay","currency","finance","cash","money"],tags:{amenity:"payment_centre"},name:"Payment Center"},"amenity/payment_terminal":{icon:"far-credit-card",fields:["name","brand","address","opening_hours","payment_multi"],moreFields:["currency_multi","wheelchair"],geometry:["point"],terms:["interactive kiosk","ekiosk","atm","bill pay","tax pay","phone pay","finance","cash","money transfer","card"],tags:{amenity:"payment_terminal"},name:"Payment Terminal"},"amenity/pharmacy":{icon:"maki-pharmacy",fields:["name","operator","address","building_area","drive_through","dispensing"],moreFields:["opening_hours","payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{amenity:"pharmacy"},addTags:{amenity:"pharmacy",healthcare:"pharmacy"},reference:{key:"amenity",value:"pharmacy"},terms:["apothecary","drug store","drugstore","med*","prescription"],name:"Pharmacy Counter"},"amenity/photo_booth":{icon:"fas-person-booth",fields:["name","operator","payment_multi","wheelchair"],moreFields:["brand","indoor"],geometry:["point","area"],terms:["photobooth","photo","booth","kiosk","camera"],tags:{amenity:"photo_booth"},name:"Photo Booth"},"amenity/place_of_worship":{icon:"maki-place-of-worship",fields:["name","religion","denomination","address","building_area","service_times"],moreFields:["air_conditioning","email","fax","internet_access","internet_access/ssid","opening_hours","phone","polling_station","website","wheelchair"],geometry:["point","area"],terms:["abbey","basilica","bethel","cathedral","chancel","chantry","chapel","church","fold","house of God","house of prayer","house of worship","minster","mission","mosque","oratory","parish","sacellum","sanctuary","shrine","synagogue","tabernacle","temple"],tags:{amenity:"place_of_worship"},name:"Place of Worship"},"amenity/place_of_worship/buddhist":{icon:"maki-religious-buddhist",fields:["name","religion","denomination","{amenity/place_of_worship}"],geometry:["point","area"],terms:["stupa","vihara","monastery","temple","pagoda","zendo","dojo"],tags:{amenity:"place_of_worship",religion:"buddhist"},reference:{key:"amenity",value:"place_of_worship"},name:"Buddhist Temple"},"amenity/place_of_worship/christian":{icon:"maki-religious-christian",fields:["name","religion","denomination","{amenity/place_of_worship}"],geometry:["point","area"],terms:["christian","abbey","basilica","bethel","cathedral","chancel","chantry","chapel","fold","house of God","house of prayer","house of worship","minster","mission","oratory","parish","sacellum","sanctuary","shrine","tabernacle","temple"],tags:{amenity:"place_of_worship",religion:"christian"},reference:{key:"amenity",value:"place_of_worship"},name:"Christian Church"},"amenity/place_of_worship/christian/jehovahs_witness":{icon:"maki-place-of-worship",geometry:["point","area"],terms:["christian","church","house of God","house of prayer","house of worship"],tags:{amenity:"place_of_worship",religion:"christian",denomination:"jehovahs_witness"},reference:{key:"denomination",value:"jehovahs_witness"},name:"Kingdom Hall of Jehovah's Witnesses"},"amenity/place_of_worship/christian/la_luz_del_mundo":{icon:"maki-place-of-worship",geometry:["point","area"],terms:["christian","church","house of God","house of prayer","house of worship","the light of the world church"],tags:{amenity:"place_of_worship",religion:"christian",denomination:"la_luz_del_mundo"},reference:{key:"denomination",value:"la_luz_del_mundo"},name:"La Luz del Mundo Temple"},"amenity/place_of_worship/christian/quaker":{icon:"maki-place-of-worship",geometry:["point","area"],terms:["christian","church","house of God","house of prayer","house of worship"],tags:{amenity:"place_of_worship",religion:"christian",denomination:"quaker"},reference:{key:"denomination",value:"quaker"},name:"Quaker Friends Meeting House"},"amenity/place_of_worship/hindu":{icon:"temaki-hinduism",fields:["name","religion","denomination","{amenity/place_of_worship}"],geometry:["point","area"],terms:["kovil","devasthana","mandir","kshetram","alayam","shrine","temple"],tags:{amenity:"place_of_worship",religion:"hindu"},reference:{key:"amenity",value:"place_of_worship"},name:"Hindu Temple"},"amenity/place_of_worship/jewish":{icon:"maki-religious-jewish",fields:["name","religion","denomination","{amenity/place_of_worship}"],geometry:["point","area"],terms:["jewish"],tags:{amenity:"place_of_worship",religion:"jewish"},reference:{key:"amenity",value:"place_of_worship"},name:"Jewish Synagogue"},"amenity/place_of_worship/muslim":{icon:"maki-religious-muslim",fields:["name","religion","denomination","{amenity/place_of_worship}"],geometry:["point","area"],terms:["islam","islamic center","muslim"],tags:{amenity:"place_of_worship",religion:"muslim"},reference:{key:"amenity",value:"place_of_worship"},name:"Muslim Mosque"},"amenity/place_of_worship/shinto":{icon:"temaki-shinto",fields:["name","religion","denomination","{amenity/place_of_worship}"],geometry:["point","area"],terms:["kami","torii"],tags:{amenity:"place_of_worship",religion:"shinto"},reference:{key:"amenity",value:"place_of_worship"},name:"Shinto Shrine"},"amenity/place_of_worship/sikh":{icon:"temaki-sikhism",fields:["name","religion","denomination","{amenity/place_of_worship}"],geometry:["point","area"],terms:["gurudwara","temple"],tags:{amenity:"place_of_worship",religion:"sikh"},reference:{key:"amenity",value:"place_of_worship"},name:"Sikh Temple"},"amenity/place_of_worship/taoist":{icon:"temaki-taoism",fields:["name","religion","denomination","{amenity/place_of_worship}"],geometry:["point","area"],terms:["daoist","monastery","temple"],tags:{amenity:"place_of_worship",religion:"taoist"},reference:{key:"amenity",value:"place_of_worship"},name:"Taoist Temple"},"amenity/planetarium":{icon:"maki-globe",fields:["name","operator","address","building_area","opening_hours"],moreFields:["air_conditioning","fee","payment_multi_fee","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["museum","astronomy","observatory"],tags:{amenity:"planetarium"},name:"Planetarium"},"amenity/police":{icon:"maki-police",fields:["name","operator","address","building_area","opening_hours"],moreFields:["email","fax","phone","polling_station","website","wheelchair"],geometry:["point","area"],terms:["badge","constable","constabulary","cop","detective","fed","law","enforcement","officer","patrol"],tags:{amenity:"police"},name:"Police"},"amenity/polling_station":{icon:"fas-vote-yea",fields:["name","ref","operator","address","opening_hours","building_area"],moreFields:["air_conditioning","email","fax","internet_access","internet_access/fee","internet_access/ssid","phone","website","wheelchair"],geometry:["point","area"],terms:["ballot box","ballot drop","democracy","elections","polling place","vote","voting booth","voting machine"],tags:{amenity:"polling_station"},addTags:{amenity:"polling_station",polling_station:"yes"},name:"Permanent Polling Place"},"amenity/post_box":{icon:"temaki-post_box",fields:["operator","collection_times","drive_through","ref"],moreFields:["access_simple","brand","covered","height","indoor","manufacturer","wheelchair"],geometry:["point","vertex"],tags:{amenity:"post_box"},terms:["letter drop","mail box","package drop","post box","postal box"],name:"Mailbox"},"amenity/post_office":{icon:"maki-post",fields:["name","operator","address","building_area","opening_hours"],moreFields:["email","fax","internet_access","internet_access/fee","internet_access/ssid","payment_multi","phone","polling_station","website","wheelchair"],geometry:["point","area"],terms:["letter","mail"],tags:{amenity:"post_office"},name:"Post Office"},"amenity/prep_school":{icon:"temaki-school",fields:["name","operator","address","building_area","opening_hours"],moreFields:["payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["academic","ACT","SAT","homework","math","reading","test prep","tutoring","writing"],tags:{amenity:"prep_school"},name:"Test Prep / Tutoring School"},"amenity/prison":{icon:"maki-prison",fields:["name","operator","operator/type","address"],moreFields:["website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["cell","jail","correction"],tags:{amenity:"prison"},name:"Prison Grounds"},"amenity/pub":{icon:"maki-beer",fields:["name","address","building_area","opening_hours","smoking","brewery"],moreFields:["air_conditioning","diet_multi","email","fax","internet_access","internet_access/fee","internet_access/ssid","microbrewery","outdoor_seating","payment_multi","phone","website","wheelchair"],geometry:["point","area"],tags:{amenity:"pub"},terms:["alcohol","drink","dive","beer","bier","booze"],name:"Pub"},"amenity/pub/lgbtq":{icon:"maki-beer",geometry:["point","area"],tags:{amenity:"pub",lgbtq:"primary"},terms:["gay pub","lesbian pub","lgbtq pub","lgbt pub","lgb pub"],name:"LGBTQ+ Pub"},"amenity/pub/microbrewery":{icon:"maki-beer",geometry:["point","area"],tags:{amenity:"pub",microbrewery:"yes"},reference:{key:"microbrewery"},terms:["alcohol","drink","dive","beer","bier","booze","craft brewery","microbrewery","small batch brewery"],name:"Brewpub"},"amenity/public_bath":{icon:"maki-water",fields:["name","bath/type","bath/open_air","bath/sand_bath","address","building_area","fee"],moreFields:["email","fax","internet_access","internet_access/fee","internet_access/ssid","opening_hours","payment_multi_fee","phone","website","wheelchair"],geometry:["point","area"],tags:{amenity:"public_bath"},terms:["onsen","foot bath","hot springs"],name:"Public Bath"},"amenity/public_bookcase":{icon:"maki-library",fields:["name","public_bookcase/type","operator","opening_hours","capacity","website","lit"],moreFields:["wheelchair","location","address","access_simple","brand","email","phone"],geometry:["point","area"],terms:["library","bookcrossing"],tags:{amenity:"public_bookcase"},name:"Public Bookcase"},"amenity/ranger_station":{icon:"maki-ranger-station",fields:["name","operator","address","building_area","opening_hours"],moreFields:["email","fax","internet_access","internet_access/fee","internet_access/ssid","phone","website","wheelchair"],geometry:["point","area"],terms:["visitor center","visitor centre","permit center","permit centre","backcountry office","warden office","warden center"],tags:{amenity:"ranger_station"},name:"Ranger Station"},"amenity/recycling_centre":{icon:"maki-recycling",fields:["name","operator","operator/type","address","building","opening_hours","recycling_accepts"],moreFields:["fee","payment_multi_fee","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["bottle","can","dump","glass","garbage","rubbish","scrap","trash"],tags:{amenity:"recycling",recycling_type:"centre"},reference:{key:"recycling_type",value:"*"},name:"Recycling Center"},"amenity/recycling_container":{icon:"maki-recycling",fields:["operator","recycling_accepts","collection_times","material","colour"],moreFields:["covered","indoor","manufacturer"],geometry:["point","area"],terms:["bin","can","bottle","glass","garbage","rubbish","scrap","trash"],tags:{amenity:"recycling",recycling_type:"container"},reference:{key:"amenity",value:"recycling"},name:"Recycling Container"},"amenity/restaurant":{icon:"maki-restaurant",fields:["name","cuisine","address","building_area","opening_hours","phone"],moreFields:["air_conditioning","bar","brewery","capacity","delivery","diet_multi","email","fax","internet_access","internet_access/fee","internet_access/ssid","microbrewery","outdoor_seating","reservation","smoking","stars","takeaway","website","wheelchair"],geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","coffee","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"restaurant"},name:"Restaurant"},"amenity/restaurant/american":{icon:"maki-restaurant",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","coffee","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"restaurant",cuisine:"american"},reference:{key:"cuisine",value:"american"},name:"American Restaurant"},"amenity/restaurant/asian":{icon:"maki-restaurant-noodle",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"restaurant",cuisine:"asian"},reference:{key:"cuisine",value:"asian"},name:"Asian Restaurant"},"amenity/restaurant/chinese":{icon:"maki-restaurant-noodle",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"restaurant",cuisine:"chinese"},reference:{key:"cuisine",value:"chinese"},name:"Chinese Restaurant"},"amenity/restaurant/french":{icon:"maki-restaurant",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"restaurant",cuisine:"french"},reference:{key:"cuisine",value:"french"},name:"French Restaurant"},"amenity/restaurant/german":{icon:"maki-restaurant",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"restaurant",cuisine:"german"},reference:{key:"cuisine",value:"german"},name:"German Restaurant"},"amenity/restaurant/greek":{icon:"maki-restaurant",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table","gyros","pitas","olives"],tags:{amenity:"restaurant",cuisine:"greek"},reference:{key:"cuisine",value:"greek"},name:"Greek Restaurant"},"amenity/restaurant/indian":{icon:"maki-restaurant",geometry:["point","area"],terms:["bar","breakfast","dine","dining","dinner","drive-in","eat","grill","lunch","table","curry"],tags:{amenity:"restaurant",cuisine:"indian"},reference:{key:"cuisine",value:"indian"},name:"Indian Restaurant"},"amenity/restaurant/italian":{icon:"maki-restaurant",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table","pasta","pizza"],tags:{amenity:"restaurant",cuisine:"italian"},reference:{key:"cuisine",value:"italian"},name:"Italian Restaurant"},"amenity/restaurant/japanese":{icon:"maki-restaurant-noodle",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"restaurant",cuisine:"japanese"},reference:{key:"cuisine",value:"japanese"},name:"Japanese Restaurant"},"amenity/restaurant/mexican":{icon:"fas-pepper-hot",geometry:["point","area"],terms:["bar","breakfast","dine","dining","dinner","drive-in","eat","grill","lunch","table","tacos","burritos","enchiladas","fajitas","nachos","tortillas","salsa","tamales","quesadillas"],tags:{amenity:"restaurant",cuisine:"mexican"},reference:{key:"cuisine",value:"mexican"},name:"Mexican Restaurant"},"amenity/restaurant/noodle":{icon:"maki-restaurant-noodle",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table","ramen noodles","soup","soba noodles","cellophane noodles","rice noodles"],tags:{amenity:"restaurant",cuisine:"noodle"},reference:{key:"cuisine",value:"noodle"},name:"Noodle Restaurant"},"amenity/restaurant/pizza":{icon:"maki-restaurant-pizza",geometry:["point","area"],terms:["bar","dine","dining","dinner","drive-in","eat","lunch","table","deep dish","thin crust","slice"],tags:{amenity:"restaurant",cuisine:"pizza"},reference:{key:"cuisine",value:"pizza"},name:"Pizza Restaurant"},"amenity/restaurant/seafood":{icon:"maki-restaurant-seafood",geometry:["point","area"],terms:["bar","breakfast","cafe","café","dine","dining","dinner","drive-in","eat","grill","lunch","table","fish","shellfish","molluscs","crustaceans","clams","oysters","lobsters","crab","shrimp","squid","octopus"],tags:{amenity:"restaurant",cuisine:"seafood"},reference:{key:"cuisine",value:"seafood"},name:"Seafood Restaurant"},"amenity/restaurant/steakhouse":{icon:"maki-slaughterhouse",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table","steak house","chop house","beef"],tags:{amenity:"restaurant",cuisine:"steak_house"},reference:{key:"cuisine",value:"steak_house"},name:"Steakhouse"},"amenity/restaurant/sushi":{icon:"fas-fish",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"restaurant",cuisine:"sushi"},reference:{key:"cuisine",value:"sushi"},name:"Sushi Restaurant"},"amenity/restaurant/thai":{icon:"maki-restaurant-noodle",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"restaurant",cuisine:"thai"},reference:{key:"cuisine",value:"thai"},name:"Thai Restaurant"},"amenity/restaurant/turkish":{icon:"maki-restaurant",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"restaurant",cuisine:"turkish"},reference:{key:"cuisine",value:"turkish"},name:"Turkish Restaurant"},"amenity/restaurant/vietnamese":{icon:"maki-restaurant-noodle",geometry:["point","area"],terms:["bar","breakfast","cafe","café","canteen","dine","dining","dinner","drive-in","eat","grill","lunch","table"],tags:{amenity:"restaurant",cuisine:"vietnamese"},reference:{key:"cuisine",value:"vietnamese"},name:"Vietnamese Restaurant"},"amenity/sanitary_dump_station":{icon:"temaki-storage_tank",fields:["operator","access_simple","fee","payment_multi_fee","water_point"],moreFields:["opening_hours"],geometry:["point","vertex","area"],terms:["Motor Home","Camper","Sanitary","Dump Station","Elsan","CDP","CTDP","Chemical Toilet"],tags:{amenity:"sanitary_dump_station"},name:"RV Toilet Disposal"},"amenity/school":{icon:"maki-school",fields:["name","operator","operator/type","address","religion","denomination","website"],moreFields:["email","fax","fee","internet_access","internet_access/ssid","phone","polling_station","wheelchair"],geometry:["point","area"],terms:["academy","elementary school","middle school","high school"],tags:{amenity:"school"},name:"School Grounds"},"amenity/shelter":{icon:"maki-shelter",fields:["name","shelter_type","building_area","bench","bin"],moreFields:["lit","wheelchair"],geometry:["point","vertex","area"],terms:["lean-to","gazebo","picnic"],tags:{amenity:"shelter"},name:"Shelter"},"amenity/shelter/gazebo":{icon:"maki-shelter",fields:["name","building_area","bench","lit"],geometry:["point","area"],tags:{amenity:"shelter",shelter_type:"gazebo"},name:"Gazebo"},"amenity/shelter/lean_to":{icon:"maki-shelter",fields:["name","operator","building_area"],geometry:["point","area"],tags:{amenity:"shelter",shelter_type:"lean_to"},name:"Lean-To"},"amenity/shelter/picnic_shelter":{icon:"maki-shelter",fields:["name","shelter_type","building_area","lit","bin"],geometry:["point","area"],tags:{amenity:"shelter",shelter_type:"picnic_shelter"},reference:{key:"shelter_type",value:"picnic_shelter"},terms:["pavilion"],name:"Picnic Shelter"},"amenity/shelter/public_transport":{icon:"maki-shelter",fields:["name","shelter_type","building_area","bench","lit"],geometry:["point","area"],terms:["bus stop","metro stop","public transit shelter","public transport shelter","tram stop shelter","waiting"],tags:{amenity:"shelter",shelter_type:"public_transport"},reference:{key:"shelter_type",value:"public_transport"},name:"Transit Shelter"},"amenity/shower":{icon:"fas-shower",fields:["opening_hours","access_simple","fee","payment_multi_fee","supervised","building_area","wheelchair"],moreFields:["address","operator","gender"],geometry:["point","vertex","area"],terms:["rain closet"],tags:{amenity:"shower"},name:"Shower"},"amenity/smoking_area":{icon:"fas-smoking",fields:["name","shelter","bin","bench","opening_hours"],moreFields:["lit","wheelchair","covered"],geometry:["point","vertex","area"],terms:[],tags:{amenity:"smoking_area"},name:"Smoking Area"},"amenity/social_centre":{icon:"fas-handshake",fields:["name","brand","operator","operator/type","address","building_area"],moreFields:["air_conditioning","email","fax","internet_access","internet_access/fee","internet_access/ssid","phone","polling_station","website","wheelchair"],geometry:["point","area"],terms:["event","fraternal","fraternity","hall","organization","professional","society","sorority","union","vetern"],tags:{amenity:"social_centre"},name:"Social Center"},"amenity/social_facility":{icon:"temaki-social_facility",fields:["name","operator","operator/type","address","building_area","social_facility","social_facility_for"],moreFields:["email","fax","internet_access","internet_access/fee","internet_access/ssid","opening_hours","phone","website","wheelchair"],geometry:["point","area"],terms:[],tags:{amenity:"social_facility"},name:"Social Facility"},"amenity/social_facility/ambulatory_care":{icon:"maki-wheelchair",geometry:["point","area"],tags:{amenity:"social_facility",social_facility:"ambulatory_care"},reference:{key:"social_facility",value:"ambulatory_care"},name:"Ambulatory Care"},"amenity/social_facility/food_bank":{icon:"temaki-social_facility",geometry:["point","area"],terms:[],tags:{amenity:"social_facility",social_facility:"food_bank"},reference:{key:"social_facility",value:"food_bank"},name:"Food Bank"},"amenity/social_facility/group_home":{icon:"maki-wheelchair",fields:["{amenity/social_facility}","wheelchair"],geometry:["point","area"],terms:["old","senior","living","care home","assisted living"],tags:{amenity:"social_facility",social_facility:"group_home","social_facility:for":"senior"},reference:{key:"social_facility",value:"group_home"},name:"Elderly Group Home"},"amenity/social_facility/homeless_shelter":{icon:"temaki-social_facility",geometry:["point","area"],terms:["houseless","unhoused","displaced"],tags:{amenity:"social_facility",social_facility:"shelter","social_facility:for":"homeless"},reference:{key:"social_facility",value:"shelter"},name:"Homeless Shelter"},"amenity/social_facility/nursing_home":{icon:"maki-wheelchair",fields:["{amenity/social_facility}","wheelchair"],geometry:["point","area"],terms:["elderly","living","nursing","old","senior","assisted living"],tags:{amenity:"social_facility",social_facility:"nursing_home","social_facility:for":"senior"},reference:{key:"social_facility",value:"nursing_home"},name:"Nursing Home"},"amenity/studio":{icon:"fas-microphone",fields:["name","studio","address","building_area"],moreFields:["internet_access","internet_access/fee","internet_access/ssid","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["recording","radio","television"],tags:{amenity:"studio"},name:"Studio"},"amenity/taxi":{icon:"fas-taxi",fields:["name","operator","capacity","address"],moreFields:["access_simple","brand","opening_hours","wheelchair"],geometry:["point","vertex","area"],terms:["cab"],tags:{amenity:"taxi"},name:"Taxi Stand"},"amenity/telephone":{icon:"maki-telephone",fields:["operator","phone","fee","payment_multi_fee","booth"],moreFields:["covered","indoor","lit","wheelchair"],geometry:["point","vertex"],tags:{amenity:"telephone"},terms:["phone"],name:"Telephone"},"amenity/theatre":{icon:"maki-theatre",fields:["name","operator","address","building_area"],moreFields:["air_conditioning","internet_access","internet_access/fee","internet_access/ssid","payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["theatre","performance","play","musical"],tags:{amenity:"theatre"},name:"Theater"},"amenity/theatre/type/amphi":{icon:"maki-theatre",fields:["name","operator","address","lit"],geometry:["point","area"],terms:["open air","outdoor","greek","ampi"],tags:{amenity:"theatre","theatre:type":"amphi"},name:"Amphitheatre"},"amenity/toilets":{icon:"maki-toilet",fields:["toilets/disposal","access_simple","gender","diaper","wheelchair","building_area"],moreFields:["fee","opening_hours","operator","payment_multi_fee","toilets/handwashing","toilets/position"],geometry:["point","vertex","area"],terms:["bathroom","restroom","outhouse","privy","head","lavatory","latrine","water closet","WC","W.C."],tags:{amenity:"toilets"},name:"Toilets"},"amenity/toilets/disposal/flush":{icon:"fas-toilet",fields:["toilets/disposal","{amenity/toilets}"],moreFields:["{amenity/toilets}"],geometry:["point","vertex","area"],terms:["bathroom","head","lavatory","privy","restroom","water closet","WC","W.C."],tags:{amenity:"toilets","toilets:disposal":"flush"},reference:{key:"toilets:disposal",value:"flush"},name:"Flush Toilets"},"amenity/toilets/disposal/pitlatrine":{icon:"tnp-2009541",fields:["toilets/disposal","{amenity/toilets}","toilets/handwashing"],moreFields:["{amenity/toilets}"],geometry:["point","vertex","area"],terms:["head","lavatory","long drop","outhouse","pit toilet","privy"],tags:{amenity:"toilets","toilets:disposal":"pitlatrine"},reference:{key:"toilets:disposal",value:"pitlatrine"},name:"Pit Latrine"},"amenity/townhall":{icon:"maki-town-hall",fields:["name","operator","address","building_area"],moreFields:["email","fax","phone","polling_station","smoking","website","wheelchair"],geometry:["point","area"],terms:["village","city","government","courthouse","municipal"],tags:{amenity:"townhall"},name:"Town Hall"},"amenity/toy_library":{icon:"fas-chess-knight",fields:["operator","address","building_area","opening_hours"],moreFields:["website","wheelchair"],geometry:["point","area"],terms:["game","toy"],tags:{amenity:"toy_library"},name:"Toy Library"},"amenity/university":{icon:"maki-college",fields:["{amenity/college}"],moreFields:["{amenity/college}"],geometry:["point","area"],terms:["college","graduate school","PhD program","master's degree program"],tags:{amenity:"university"},name:"University Grounds"},"amenity/vehicle_inspection":{icon:"maki-car",fields:["name","operator","address","building_area","opening_hours"],moreFields:["email","fax","payment_multi","phone","website","wheelchair"],geometry:["point","area"],terms:["car inspection"],tags:{amenity:"vehicle_inspection"},name:"Vehicle Inspection"},"amenity/vending_machine":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],moreFields:["brand","covered","height","indoor","manufacturer"],geometry:["point"],terms:[],tags:{amenity:"vending_machine"},matchScore:0.9,name:"Vending Machine"},"amenity/vending_machine/cigarettes":{icon:"temaki-vending_machine",geometry:["point"],terms:["cigarette"],tags:{amenity:"vending_machine",vending:"cigarettes"},reference:{key:"vending",value:"cigarettes"},name:"Cigarette Vending Machine"},"amenity/vending_machine/coffee":{icon:"temaki-vending_machine",geometry:["point"],terms:["coffee"],tags:{amenity:"vending_machine",vending:"coffee"},reference:{key:"vending",value:"coffee"},name:"Coffee Vending Machine"},"amenity/vending_machine/condoms":{icon:"temaki-vending_machine",geometry:["point"],terms:["condom"],tags:{amenity:"vending_machine",vending:"condoms"},reference:{key:"vending",value:"condoms"},name:"Condom Vending Machine"},"amenity/vending_machine/drinks":{icon:"temaki-vending_machine",geometry:["point"],terms:["drink","soda","beverage","juice","pop"],tags:{amenity:"vending_machine",vending:"drinks"},reference:{key:"vending",value:"drinks"},name:"Drink Vending Machine"},"amenity/vending_machine/electronics":{icon:"temaki-vending_machine",geometry:["point"],terms:["cable","charger","earbud","headphone","phone","tablet"],tags:{amenity:"vending_machine",vending:"electronics"},reference:{key:"vending",value:"electronics"},name:"Electronics Vending Machine"},"amenity/vending_machine/elongated_coin":{icon:"temaki-vending_machine",geometry:["point"],terms:["coin","crush","elongated","flatten","penny","souvenir"],tags:{amenity:"vending_machine",vending:"elongated_coin"},reference:{key:"vending",value:"elongated_coin"},name:"Flat Coin Vending Machine"},"amenity/vending_machine/excrement_bags":{icon:"temaki-vending_machine",fields:["{amenity/vending_machine}"],geometry:["point"],terms:["excrement bags","poop","waste","dog","animal"],tags:{amenity:"vending_machine",vending:"excrement_bags"},reference:{key:"vending",value:"excrement_bags"},name:"Excrement Bag Dispenser"},"amenity/vending_machine/feminine_hygiene":{icon:"temaki-vending_machine",geometry:["point"],terms:["condom","tampon","pad","woman","women","menstrual hygiene products","personal care"],tags:{amenity:"vending_machine",vending:"feminine_hygiene"},reference:{key:"vending",value:"feminine_hygiene"},name:"Feminine Hygiene Vending Machine"},"amenity/vending_machine/food":{icon:"temaki-vending_machine",geometry:["point"],terms:["food"],tags:{amenity:"vending_machine",vending:"food"},reference:{key:"vending",value:"food"},name:"Food Vending Machine"},"amenity/vending_machine/fuel":{icon:"maki-fuel",geometry:["point"],terms:["petrol","fuel","gasoline","propane","diesel","lng","cng","biodiesel"],tags:{amenity:"vending_machine",vending:"fuel"},reference:{key:"vending",value:"fuel"},name:"Gas Pump",matchScore:0.5},"amenity/vending_machine/ice_cream":{icon:"temaki-vending_machine",geometry:["point"],terms:["chocolate","ice cream","frozen","popsicle","vanilla"],tags:{amenity:"vending_machine",vending:"ice_cream"},reference:{key:"vending",value:"ice_cream"},name:"Ice Cream Vending Machine"},"amenity/vending_machine/newspapers":{icon:"far-newspaper",fields:["vending","operator","fee","payment_multi_fee","currency_multi"],geometry:["point"],terms:["newspaper"],tags:{amenity:"vending_machine",vending:"newspapers"},reference:{key:"vending",value:"newspapers"},name:"Newspaper Vending Machine"},"amenity/vending_machine/parcel_pickup_dropoff":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["mail","parcel","pickup"],tags:{amenity:"vending_machine",vending:"parcel_pickup;parcel_mail_in"},reference:{key:"vending",value:"parcel_pickup;parcel_mail_in"},name:"Parcel Pickup/Dropoff Locker"},"amenity/vending_machine/parcel_pickup":{icon:"temaki-vending_machine",fields:["vending","operator"],geometry:["point"],terms:["amazon","locker","mail","parcel","pickup"],tags:{amenity:"vending_machine",vending:"parcel_pickup"},reference:{key:"vending",value:"parcel_pickup"},name:"Parcel Pickup Locker"},"amenity/vending_machine/parking_tickets":{icon:"temaki-vending_machine",geometry:["point"],terms:["parking","ticket"],tags:{amenity:"vending_machine",vending:"parking_tickets"},reference:{key:"vending",value:"parking_tickets"},matchScore:0.94,name:"Parking Ticket Vending Machine"},"amenity/vending_machine/public_transport_tickets":{icon:"temaki-vending_machine",geometry:["point"],terms:["bus","train","ferry","rail","ticket","transportation"],tags:{amenity:"vending_machine",vending:"public_transport_tickets"},reference:{key:"vending",value:"public_transport_tickets"},name:"Transit Ticket Vending Machine"},"amenity/vending_machine/stamps":{icon:"temaki-vending_machine",geometry:["point"],terms:["mail","postage","stamp"],tags:{amenity:"vending_machine",vending:"stamps"},reference:{key:"vending",value:"stamps"},name:"Postage Vending Machine"},"amenity/vending_machine/sweets":{icon:"temaki-vending_machine",geometry:["point"],terms:["candy","gum","chip","pretzel","cookie","cracker"],tags:{amenity:"vending_machine",vending:"sweets"},reference:{key:"vending",value:"sweets"},name:"Snack Vending Machine"},"amenity/veterinary":{icon:"temaki-veterinary_care",fields:["name","operator","address","building_area","opening_hours"],moreFields:["fee","payment_multi_fee","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["pet clinic","veterinarian","animal hospital","pet doctor"],tags:{amenity:"veterinary"},name:"Veterinary"},"amenity/waste_basket":{icon:"maki-waste-basket",fields:["operator","collection_times","material","colour"],moreFields:["covered","indoor","manufacturer"],geometry:["point","vertex"],tags:{amenity:"waste_basket"},terms:["bin","garbage","rubbish","litter","trash"],name:"Waste Basket"},"amenity/waste_disposal":{icon:"fas-dumpster",fields:["operator","collection_times","access_simple"],moreFields:["brand","colour","height","manufacturer","material"],geometry:["point","vertex","area"],tags:{amenity:"waste_disposal"},terms:["garbage","rubbish","litter","trash"],name:"Garbage Dumpster"},"amenity/waste_transfer_station":{icon:"maki-waste-basket",fields:["name","operator","operator/type","address","opening_hours","fee","payment_multi_fee"],moreFields:["email","fax","phone","website","wheelchair"],geometry:["point","area"],terms:["dump","garbage","recycling","rubbish","scrap","trash"],tags:{amenity:"waste_transfer_station"},name:"Waste Transfer Station"},"amenity/waste/dog_excrement":{icon:"maki-waste-basket",fields:["collection_times"],geometry:["point","vertex","area"],tags:{amenity:"waste_basket",waste:"dog_excrement"},reference:{key:"waste",value:"dog_excrement"},terms:["bin","garbage","rubbish","litter","trash","poo","dog"],name:"Dog Excrement Bin"},"amenity/water_point":{icon:"maki-drinking-water",fields:["operator","fee","payment_multi_fee","opening_hours"],geometry:["area","vertex","point"],tags:{amenity:"water_point"},name:"RV Drinking Water"},"amenity/watering_place":{icon:"maki-drinking-water",fields:["operator","fee","payment_multi_fee","opening_hours"],geometry:["area","vertex","point"],tags:{amenity:"watering_place"},name:"Animal Watering Place"},area:{fields:["name"],geometry:["area"],tags:{area:"yes"},terms:["polygon"],name:"Area",matchScore:0.1},"area/highway":{fields:["name","area/highway","surface"],geometry:["area"],terms:["area:highway","edge of pavement","highway area","highway shape","pavement","road shape","street area"],tags:{"area:highway":"*"},name:"Road Surface"},"attraction/amusement_ride":{icon:"maki-amusement-park",geometry:["point","area"],terms:["theme park","carnival ride"],tags:{attraction:"amusement_ride"},name:"Amusement Ride"},"attraction/animal":{icon:"maki-zoo",fields:["name","operator"],geometry:["point","area"],terms:["amphibian","animal park","aquarium","bear","bird","fish","insect","lion","mammal","monkey","penguin","reptile","safari","theme park","tiger","zoo"],tags:{attraction:"animal"},name:"Animal Enclosure"},"attraction/big_wheel":{icon:"maki-amusement-park",fields:["{attraction}","height"],geometry:["point"],terms:["ferris wheel","theme park","amusement ride"],tags:{attraction:"big_wheel"},name:"Big Wheel"},"attraction/bumper_car":{icon:"maki-car",geometry:["point","area"],terms:["theme park","dodgem cars","autoscooter"],tags:{attraction:"bumper_car"},name:"Bumper Car"},"attraction/bungee_jumping":{icon:"maki-pitch",fields:["{attraction}","height"],geometry:["point","area"],terms:["theme park","bungy jumping","jumping platform"],tags:{attraction:"bungee_jumping"},name:"Bungee Jumping"},"attraction/carousel":{icon:"temaki-amusement_park",fields:["{attraction}","building_area"],geometry:["point","area"],terms:["theme park","roundabout","merry-go-round","galloper","jumper","horseabout","flying horses"],tags:{attraction:"carousel"},name:"Carousel"},"attraction/dark_ride":{icon:"maki-rail-metro",fields:["{attraction}","building_area"],geometry:["point","line","area"],terms:["theme park","ghost train"],tags:{attraction:"dark_ride"},name:"Dark Ride"},"attraction/drop_tower":{icon:"temaki-tower",fields:["{attraction}","height"],geometry:["point","area"],terms:["theme park","amusement ride","gondola","tower","big drop"],tags:{attraction:"drop_tower"},name:"Drop Tower"},"attraction/maze":{icon:"maki-amusement-park",geometry:["point","area"],terms:["theme park","amusement ride","labyrinth"],tags:{attraction:"maze"},name:"Maze"},"attraction/pirate_ship":{icon:"maki-danger",geometry:["point"],terms:["theme park","carnival ride","amusement ride"],tags:{attraction:"pirate_ship"},name:"Pirate Ship"},"attraction/river_rafting":{icon:"maki-ferry",geometry:["point","line"],terms:["theme park","aquatic park","water park","rafting simulator","river rafting ride","river rapids ride"],tags:{attraction:"river_rafting"},name:"River Rafting"},"attraction/roller_coaster":{icon:"maki-amusement-park",geometry:["point","area"],terms:["theme park","amusement ride"],tags:{attraction:"roller_coaster"},name:"Roller Coaster"},"attraction/summer_toboggan":{icon:"temaki-sledding",geometry:["line"],terms:["alpine slide","mountain coaster"],tags:{attraction:"summer_toboggan"},name:"Summer Toboggan"},"attraction/train":{icon:"maki-rail",fields:["{attraction}","fee"],geometry:["point","line"],terms:["theme park","rackless train","road train","Tschu-Tschu train","dotto train","park train"],tags:{attraction:"train"},name:"Tourist Train"},"attraction/water_slide":{icon:"fas-swimmer",fields:["{attraction}","height"],geometry:["line","area"],terms:["theme park","aquatic park","water park","flumes","water chutes","hydroslides"],tags:{attraction:"water_slide"},name:"Water Slide"},barrier:{icon:"maki-roadblock",geometry:["point","vertex","line","area"],tags:{barrier:"*"},fields:["barrier"],name:"Barrier",matchScore:0.4},"barrier/entrance":{icon:"maki-entrance-alt1",geometry:["vertex"],tags:{barrier:"entrance"},name:"Entrance",searchable:false},"barrier/block":{icon:"maki-roadblock",fields:["access","material"],geometry:["point","vertex"],tags:{barrier:"block"},name:"Block"},"barrier/bollard":{icon:"maki-roadblock",fields:["access","material"],geometry:["point","vertex","line"],tags:{barrier:"bollard"},name:"Bollard"},"barrier/border_control":{icon:"maki-roadblock",fields:["access","building_area"],moreFields:["address","website","phone","email","fax"],geometry:["vertex","area"],tags:{barrier:"border_control"},name:"Border Control"},"barrier/cattle_grid":{icon:"maki-barrier",geometry:["vertex"],tags:{barrier:"cattle_grid"},name:"Cattle Grid"},"barrier/chain":{icon:"maki-barrier",fields:["access"],geometry:["vertex","line"],tags:{barrier:"chain"},name:"Chain"},"barrier/city_wall":{icon:"temaki-wall",fields:["height","material"],geometry:["line","area"],tags:{barrier:"city_wall"},name:"City Wall"},"barrier/cycle_barrier":{icon:"maki-roadblock",fields:["access"],geometry:["vertex"],tags:{barrier:"cycle_barrier"},name:"Cycle Barrier"},"barrier/ditch":{icon:"maki-roadblock",geometry:["line","area"],tags:{barrier:"ditch"},name:"Trench",matchScore:0.25},"barrier/fence":{icon:"maki-fence",fields:["fence_type","height","material"],geometry:["line"],tags:{barrier:"fence"},name:"Fence",matchScore:0.25},"barrier/fence/railing":{icon:"temaki-railing",geometry:["line"],tags:{barrier:"fence",fence_type:"railing"},terms:["railing","handrail","guard rail"],name:"Railing",matchScore:0.5},"barrier/gate":{icon:"maki-barrier",fields:["access","opening_hours"],geometry:["vertex","line"],tags:{barrier:"gate"},name:"Gate"},"barrier/guard_rail":{icon:"temaki-guard_rail",fields:["material"],geometry:["line"],tags:{barrier:"guard_rail"},name:"Guard Rail",terms:["guardrail","traffic barrier","crash barrier","median barrier","roadside barrier","Armco barrier"],matchScore:0.75},"barrier/hedge":{fields:["height"],geometry:["line","area"],tags:{barrier:"hedge"},name:"Hedge",matchScore:0.25},"barrier/height_restrictor":{icon:"temaki-car_wash",fields:["maxheight"],geometry:["vertex"],tags:{barrier:"height_restrictor"},name:"Height Restrictor"},"barrier/kerb":{icon:"temaki-kerb-raised",fields:["kerb","tactile_paving","wheelchair"],moreFields:["material"],geometry:["vertex","line"],tags:{barrier:"kerb"},matchScore:0.8,name:"Curb"},"barrier/kerb/flush":{icon:"temaki-kerb-flush",fields:["kerb","{barrier/kerb}"],geometry:["vertex","line"],tags:{kerb:"flush"},addTags:{barrier:"kerb",kerb:"flush"},reference:{key:"kerb",value:"flush"},terms:["even curb","level curb","tactile curb"],matchScore:0.85,name:"Flush Curb"},"barrier/kerb/lowered":{icon:"temaki-kerb-lowered",fields:["kerb","{barrier/kerb}","kerb/height"],geometry:["vertex","line"],tags:{kerb:"lowered"},addTags:{barrier:"kerb",kerb:"lowered"},reference:{key:"kerb",value:"lowered"},terms:["curb cut","curb ramp","kerb ramp","dropped kerb","pram ramp"],matchScore:0.85,name:"Lowered Curb"},"barrier/kerb/raised":{icon:"temaki-kerb-raised",fields:["kerb","{barrier/kerb}","kerb/height"],geometry:["vertex","line"],tags:{kerb:"raised"},addTags:{barrier:"kerb",kerb:"raised"},reference:{key:"kerb",value:"raised"},terms:[],matchScore:0.85,name:"Raised Curb"},"barrier/kerb/rolled":{icon:"temaki-kerb-rolled",fields:["kerb","{barrier/kerb}","kerb/height"],geometry:["vertex","line"],tags:{kerb:"rolled"},addTags:{barrier:"kerb",kerb:"rolled"},reference:{key:"kerb",value:"rolled"},terms:["gutter"],matchScore:0.85,name:"Rolled Curb"},"barrier/kissing_gate":{icon:"maki-barrier",fields:["access"],geometry:["vertex"],tags:{barrier:"kissing_gate"},name:"Kissing Gate"},"barrier/lift_gate":{icon:"maki-roadblock",fields:["access"],geometry:["vertex","line"],tags:{barrier:"lift_gate"},name:"Lift Gate"},"barrier/retaining_wall":{icon:"temaki-wall",fields:["height","material"],geometry:["line","area"],tags:{barrier:"retaining_wall"},name:"Retaining Wall"},"barrier/sally_port":{icon:"fas-dungeon",geometry:["vertex"],tags:{barrier:"sally_port"},terms:["Postern","castle side gate"],name:"Sally Port"},"barrier/stile":{icon:"maki-roadblock",fields:["access"],geometry:["vertex"],tags:{barrier:"stile"},name:"Stile"},"barrier/toll_booth":{icon:"maki-roadblock",fields:["access","building_area","payment_multi","currency_multi"],moreFields:["address","email","fax","opening_hours","phone","website"],geometry:["vertex","area"],tags:{barrier:"toll_booth"},name:"Toll Booth"},"barrier/turnstile":{icon:"maki-roadblock",fields:["access"],geometry:["vertex"],terms:["baffle gate","turnstyle"],tags:{barrier:"turnstile"},name:"Turnstile"},"barrier/wall":{icon:"temaki-wall",fields:["wall","height","material"],geometry:["line","area"],tags:{barrier:"wall"},name:"Wall",matchScore:0.25},"boundary/administrative":{fields:["name","admin_level"],geometry:["line"],tags:{boundary:"administrative"},name:"Administrative Boundary",matchScore:0.5},"bridge/support":{icon:"fas-archway",fields:["bridge/support","height","layer","material"],moreFields:["colour","seamark/type"],geometry:["point","vertex","area"],tags:{"bridge:support":"*"},name:"Bridge Support"},"bridge/support/pier":{icon:"fas-archway",fields:["bridge/support","{bridge/support}"],geometry:["point","vertex","area"],tags:{"bridge:support":"pier"},name:"Bridge Pier"},building_part:{icon:"maki-building",fields:["levels","height","building/material","roof/colour"],moreFields:["layer"],geometry:["area"],tags:{"building:part":"*"},matchScore:0.5,terms:["roof","simple 3D buildings"],name:"Building Part"},building:{icon:"maki-home",fields:["name","building","levels","height","address"],moreFields:["architect","building/levels/underground","building/material","layer","operator","roof/colour","smoking","wheelchair"],geometry:["area"],tags:{building:"*"},matchScore:0.6,terms:[],name:"Building"},"building/bunker":{geometry:["area"],tags:{building:"bunker"},matchScore:0.5,name:"Bunker",searchable:false},"building/entrance":{icon:"maki-entrance-alt1",fields:[],moreFields:[],geometry:["vertex"],tags:{building:"entrance"},name:"Entrance/Exit",searchable:false},"building/train_station":{icon:"maki-building",geometry:["point","vertex","area"],tags:{building:"train_station"},matchScore:0.5,name:"Train Station Building",searchable:false},"building/apartments":{icon:"maki-building",geometry:["area"],tags:{building:"apartments"},matchScore:0.5,name:"Apartment Building"},"building/barn":{icon:"maki-farm",geometry:["area"],tags:{building:"barn"},matchScore:0.5,name:"Barn"},"building/boathouse":{icon:"maki-harbor",geometry:["area"],tags:{building:"boathouse"},matchScore:0.5,terms:[],name:"Boathouse"},"building/bungalow":{icon:"maki-home",geometry:["area"],tags:{building:"bungalow"},terms:["home","detached"],matchScore:0.5,name:"Bungalow"},"building/cabin":{icon:"maki-home",geometry:["area"],tags:{building:"cabin"},matchScore:0.5,name:"Cabin"},"building/carport":{icon:"fas-warehouse",fields:["{building}","capacity"],geometry:["area"],tags:{building:"carport"},matchScore:0.5,terms:["covered parking space","garage","car","porch"],name:"Carport"},"building/cathedral":{icon:"maki-place-of-worship",geometry:["area"],tags:{building:"cathedral"},matchScore:0.5,name:"Cathedral Building"},"building/chapel":{icon:"maki-place-of-worship",geometry:["area"],tags:{building:"chapel"},matchScore:0.5,name:"Chapel Building"},"building/church":{icon:"maki-place-of-worship",geometry:["area"],tags:{building:"church"},matchScore:0.5,name:"Church Building"},"building/civic":{icon:"maki-building",fields:["{building}","smoking"],moreFields:["{building}","polling_station"],geometry:["area"],tags:{building:"civic"},matchScore:0.5,name:"Civic Building"},"building/college":{icon:"maki-building",moreFields:["{building}","polling_station"],geometry:["area"],terms:["university"],tags:{building:"college"},matchScore:0.5,name:"College Building"},"building/commercial":{icon:"maki-suitcase",fields:["{building}","smoking"],geometry:["area"],tags:{building:"commercial"},matchScore:0.5,name:"Commercial Building"},"building/construction":{icon:"maki-building",geometry:["area"],tags:{building:"construction"},matchScore:0.5,name:"Building Under Construction"},"building/detached":{icon:"maki-home",geometry:["area"],tags:{building:"detached"},terms:["home","single","family","residence","dwelling"],matchScore:0.5,name:"Detached House"},"building/dormitory":{icon:"maki-building",fields:["{building}","smoking"],geometry:["area"],tags:{building:"dormitory"},matchScore:0.5,name:"Dormitory"},"building/farm_auxiliary":{icon:"maki-farm",geometry:["area"],tags:{building:"farm_auxiliary"},matchScore:0.5,name:"Farm Building"},"building/farm":{icon:"maki-farm",geometry:["area"],tags:{building:"farm"},matchScore:0.5,name:"Farm House"},"building/garage":{icon:"fas-warehouse",fields:["{building}","capacity"],geometry:["area"],tags:{building:"garage"},matchScore:0.5,name:"Garage"},"building/garages":{icon:"fas-warehouse",fields:["{building}","capacity"],geometry:["area"],tags:{building:"garages"},matchScore:0.5,name:"Garages"},"building/grandstand":{icon:"maki-building",geometry:["area"],tags:{building:"grandstand"},terms:["tribune","stand","stands","bleachers"],matchScore:0.5,name:"Grandstand"},"building/greenhouse":{icon:"maki-garden-centre",geometry:["area"],tags:{building:"greenhouse"},matchScore:0.5,name:"Greenhouse"},"building/hangar":{icon:"fas-warehouse",fields:["name"],geometry:["area"],tags:{building:"hangar"},matchScore:0.5,name:"Hangar Building"},"building/hospital":{icon:"maki-building",geometry:["area"],tags:{building:"hospital"},matchScore:0.5,name:"Hospital Building"},"building/hotel":{icon:"maki-building",fields:["{building}","smoking"],geometry:["area"],tags:{building:"hotel"},matchScore:0.5,name:"Hotel Building"},"building/house":{icon:"maki-home",geometry:["area"],tags:{building:"house"},terms:["home","family","residence","dwelling"],matchScore:0.5,name:"House"},"building/houseboat":{icon:"maki-home",geometry:["area"],tags:{building:"houseboat"},terms:["home","family","residence","dwelling"],matchScore:0.5,name:"Houseboat"},"building/hut":{icon:"maki-home",geometry:["area"],tags:{building:"hut"},matchScore:0.5,name:"Hut"},"building/industrial":{icon:"maki-industry",geometry:["area"],tags:{building:"industrial"},matchScore:0.5,name:"Industrial Building"},"building/kindergarten":{icon:"maki-building",geometry:["area"],terms:["kindergarden","pre-school"],tags:{building:"kindergarten"},matchScore:0.5,name:"Preschool/Kindergarten Building"},"building/mosque":{icon:"maki-place-of-worship",geometry:["area"],tags:{building:"mosque"},matchScore:0.5,name:"Mosque Building"},"building/pavilion":{icon:"maki-building",fields:["{building}","smoking"],geometry:["area"],terms:["sports"],tags:{building:"pavilion"},matchScore:0.5,name:"Pavilion Building"},"building/public":{icon:"maki-building",fields:["{building}","smoking"],moreFields:["{building}","polling_station"],geometry:["area"],tags:{building:"public"},matchScore:0.5,name:"Public Building"},"building/residential":{icon:"maki-residential-community",geometry:["area"],tags:{building:"residential"},matchScore:0.5,name:"Residential Building"},"building/retail":{icon:"maki-commercial",fields:["{building}","smoking"],geometry:["area"],tags:{building:"retail"},matchScore:0.5,name:"Retail Building"},"building/roof":{icon:"maki-shelter",fields:["{building}","layer"],geometry:["area"],tags:{building:"roof"},matchScore:0.5,name:"Roof"},"building/ruins":{icon:"temaki-ruins",geometry:["area"],tags:{building:"ruins"},matchScore:0.5,name:"Building Ruins"},"building/school":{icon:"maki-building",moreFields:["{building}","polling_station"],geometry:["area"],terms:["academy","elementary school","middle school","high school"],tags:{building:"school"},matchScore:0.5,name:"School Building"},"building/semidetached_house":{icon:"maki-home",geometry:["area"],tags:{building:"semidetached_house"},terms:["home","double","duplex","twin","family","residence","dwelling"],matchScore:0.5,name:"Semi-Detached House"},"building/service":{icon:"maki-home",geometry:["area"],tags:{building:"service"},matchScore:0.5,name:"Service Building"},"building/shed":{icon:"maki-home",geometry:["area"],tags:{building:"shed"},matchScore:0.5,name:"Shed"},"building/stable":{icon:"maki-horse-riding",geometry:["area"],tags:{building:"stable"},matchScore:0.5,name:"Stable"},"building/stadium":{icon:"maki-stadium",fields:["{building}","smoking"],geometry:["area"],tags:{building:"stadium"},matchScore:0.5,name:"Stadium Building"},"building/static_caravan":{icon:"maki-home",geometry:["area"],tags:{building:"static_caravan"},matchScore:0.5,name:"Static Mobile Home"},"building/temple":{icon:"maki-place-of-worship",geometry:["area"],tags:{building:"temple"},matchScore:0.5,name:"Temple Building"},"building/terrace":{icon:"maki-building",geometry:["area"],tags:{building:"terrace"},terms:["home","terrace","brownstone","family","residence","dwelling"],matchScore:0.5,name:"Row Houses"},"building/transportation":{icon:"maki-building",fields:["{building}","smoking"],geometry:["area"],tags:{building:"transportation"},matchScore:0.5,name:"Transportation Building"},"building/university":{icon:"maki-building",moreFields:["{building}","polling_station"],geometry:["area"],terms:["college"],tags:{building:"university"},matchScore:0.5,name:"University Building"},"building/warehouse":{icon:"maki-warehouse",geometry:["area"],tags:{building:"warehouse"},matchScore:0.5,name:"Warehouse"},club:{icon:"fas-handshake",fields:["name","club","operator","address","building_area","opening_hours"],moreFields:["access_simple","building/levels_building","height_building","email","fax","internet_access","internet_access/fee","internet_access/ssid","phone","website","wheelchair"],geometry:["point","area"],tags:{club:"*"},terms:["social"],name:"Club"},"club/sport":{icon:"maki-pitch",fields:["name","sport","{club}"],geometry:["point","area"],tags:{club:"sport"},terms:["athletics club","sporting club","sports association","sports society"],name:"Sports Club"},craft:{icon:"temaki-tools",fields:["name","craft","operator","address","building_area","opening_hours"],moreFields:["air_conditioning","building/levels_building","height_building","email","fax","internet_access","internet_access/fee","internet_access/ssid","phone","product","website","wheelchair"],geometry:["point","area"],tags:{craft:"*"},terms:[],name:"Craft"},"craft/jeweler":{icon:"maki-marker-stroked",geometry:["point","area"],tags:{craft:"jeweler"},reference:{key:"shop",value:"jewelry"},name:"Jeweler",searchable:false,replacement:"shop/jewelry"},"craft/locksmith":{icon:"maki-marker-stroked",geometry:["point","area"],tags:{craft:"locksmith"},reference:{key:"shop",value:"locksmith"},name:"Locksmith",searchable:false},"craft/optician":{icon:"maki-marker-stroked",geometry:["point","area"],tags:{craft:"optician"},reference:{key:"shop",value:"optician"},name:"Optician",searchable:false,replacement:"shop/optician"},"craft/tailor":{icon:"maki-clothing-store",geometry:["point","area"],terms:["clothes","suit"],tags:{craft:"tailor"},reference:{key:"shop",value:"tailor"},name:"Tailor",searchable:false},"craft/agricultural_engines":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"agricultural_engines"},name:"Argricultural Engines Mechanic"},"craft/basket_maker":{icon:"maki-art-gallery",geometry:["point","area"],tags:{craft:"basket_maker"},name:"Basket Maker"},"craft/beekeeper":{icon:"maki-farm",geometry:["point","area"],tags:{craft:"beekeeper"},name:"Beekeeper"},"craft/blacksmith":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"blacksmith"},name:"Blacksmith"},"craft/boatbuilder":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"boatbuilder"},matchScore:0.4,name:"Boat Builder"},"craft/bookbinder":{icon:"maki-library",geometry:["point","area"],terms:["book repair"],tags:{craft:"bookbinder"},name:"Bookbinder"},"craft/brewery":{icon:"temaki-storage_tank",fields:["{craft}","product"],geometry:["point","area"],terms:["alcohol","beer","beverage","bier","booze","cider"],tags:{craft:"brewery"},name:"Brewery"},"craft/carpenter":{icon:"temaki-tools",geometry:["point","area"],terms:["woodworker"],tags:{craft:"carpenter"},name:"Carpenter"},"craft/carpet_layer":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"carpet_layer"},name:"Carpet Layer"},"craft/caterer":{icon:"maki-restaurant",fields:["name","cuisine","{craft}"],geometry:["point","area"],tags:{craft:"caterer"},name:"Caterer"},"craft/chimney_sweeper":{icon:"temaki-chimney",geometry:["point","area"],tags:{craft:"chimney_sweeper"},name:"Chimney Sweeper"},"craft/clockmaker":{icon:"temaki-clock",geometry:["point","area"],tags:{craft:"clockmaker"},name:"Clockmaker"},"craft/confectionery":{icon:"maki-confectionery",geometry:["point","area"],terms:["sweet","candy"],tags:{craft:"confectionery"},name:"Candy Maker"},"craft/distillery":{icon:"temaki-storage_tank",fields:["{craft}","product"],geometry:["point","area"],terms:["alcohol","beverage","bourbon","booze","brandy","gin","hooch","liquor","mezcal","moonshine","rum","scotch","spirits","still","tequila","vodka","whiskey","whisky"],tags:{craft:"distillery"},name:"Distillery"},"craft/dressmaker":{icon:"maki-clothing-store",geometry:["point","area"],terms:["seamstress"],tags:{craft:"dressmaker"},name:"Dressmaker"},"craft/electrician":{icon:"temaki-power",geometry:["point","area"],terms:["power","wire"],tags:{craft:"electrician"},name:"Electrician"},"craft/electronics_repair":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"electronics_repair"},name:"Electronics Repair Shop"},"craft/floorer":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"floorer"},name:"Floorer"},"craft/gardener":{icon:"maki-garden-centre",geometry:["point","area"],terms:["landscaper","grounds keeper"],tags:{craft:"gardener"},name:"Gardener"},"craft/glaziery":{icon:"temaki-window",geometry:["point","area"],terms:["glass","stained-glass","window"],tags:{craft:"glaziery"},name:"Glaziery"},"craft/handicraft":{icon:"maki-art-gallery",geometry:["point","area"],tags:{craft:"handicraft"},name:"Handicraft"},"craft/hvac":{icon:"temaki-tools",geometry:["point","area"],terms:["heat*","vent*","air conditioning"],tags:{craft:"hvac"},name:"HVAC"},"craft/insulator":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"insulation"},name:"Insulator"},"craft/joiner":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"joiner"},terms:["furniture"],name:"Joiner"},"craft/key_cutter":{icon:"fas-key",geometry:["point","area"],tags:{craft:"key_cutter"},name:"Key Cutter"},"craft/metal_construction":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"metal_construction"},name:"Metal Construction"},"craft/painter":{icon:"fas-paint-roller",geometry:["point","area"],tags:{craft:"painter"},name:"Painter"},"craft/parquet_layer":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"parquet_layer"},name:"Parquet Layer"},"craft/photographer":{icon:"maki-attraction",geometry:["point","area"],tags:{craft:"photographer"},name:"Photographer"},"craft/photographic_laboratory":{icon:"fas-film",geometry:["point","area"],terms:["film"],tags:{craft:"photographic_laboratory"},name:"Photographic Laboratory"},"craft/plasterer":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"plasterer"},name:"Plasterer"},"craft/plumber":{icon:"temaki-plumber",geometry:["point","area"],terms:["pipe"],tags:{craft:"plumber"},name:"Plumber"},"craft/pottery":{icon:"maki-art-gallery",geometry:["point","area"],terms:["ceramic"],tags:{craft:"pottery"},name:"Pottery"},"craft/rigger":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"rigger"},name:"Rigger"},"craft/roofer":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"roofer"},name:"Roofer"},"craft/saddler":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"saddler"},name:"Saddler"},"craft/sailmaker":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"sailmaker"},name:"Sailmaker"},"craft/sawmill":{icon:"maki-logging",geometry:["point","area"],terms:["lumber"],tags:{craft:"sawmill"},name:"Sawmill"},"craft/scaffolder":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"scaffolder"},name:"Scaffolder"},"craft/sculptor":{icon:"maki-art-gallery",geometry:["point","area"],tags:{craft:"sculptor"},name:"Sculptor"},"craft/shoemaker":{icon:"maki-shoe",geometry:["point","area"],terms:["cobbler"],tags:{craft:"shoemaker"},name:"Shoemaker"},"craft/signmaker":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"signmaker"},name:"Signmaker"},"craft/stonemason":{icon:"temaki-tools",geometry:["point","area"],terms:["masonry"],tags:{craft:"stonemason"},name:"Stonemason"},"craft/tiler":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"tiler"},name:"Tiler"},"craft/tinsmith":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"tinsmith"},name:"Tinsmith"},"craft/upholsterer":{icon:"temaki-tools",geometry:["point","area"],tags:{craft:"upholsterer"},name:"Upholsterer"},"craft/watchmaker":{icon:"maki-watch",geometry:["point","area"],tags:{craft:"watchmaker"},name:"Watchmaker"},"craft/window_construction":{icon:"temaki-window",geometry:["point","area"],terms:["glass"],tags:{craft:"window_construction"},name:"Window Construction"},"craft/winery":{icon:"maki-alcohol-shop",geometry:["point","area"],tags:{craft:"winery"},name:"Winery"},"emergency/designated":{fields:["emergency_combo"],geometry:["line"],tags:{emergency:"designated"},terms:[],name:"Emergency Access Designated",searchable:false,matchScore:0.01},"emergency/destination":{fields:["emergency_combo"],geometry:["line"],tags:{emergency:"destination"},terms:[],name:"Emergency Access Destination",searchable:false,matchScore:0.01},"emergency/no":{fields:["emergency_combo"],geometry:["line"],tags:{emergency:"no"},terms:[],name:"Emergency Access No",searchable:false,matchScore:0.01},"emergency/official":{fields:["emergency_combo"],geometry:["line"],tags:{emergency:"official"},terms:[],name:"Emergency Access Official",searchable:false,matchScore:0.01},"emergency/private":{fields:["emergency_combo"],geometry:["line"],tags:{emergency:"private"},terms:[],name:"Emergency Access Private",searchable:false,matchScore:0.01},"emergency/yes":{fields:["emergency_combo"],geometry:["line"],tags:{emergency:"yes"},terms:[],name:"Emergency Access Yes",searchable:false,matchScore:0.01},"emergency/ambulance_station":{icon:"fas-ambulance",fields:["name","operator","building_area","address"],moreFields:["website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["EMS","EMT","rescue"],tags:{emergency:"ambulance_station"},name:"Ambulance Station"},"emergency/defibrillator":{icon:"maki-defibrillator",fields:["indoor","ref","operator"],geometry:["point","vertex"],terms:["AED"],tags:{emergency:"defibrillator"},name:"Defibrillator"},"emergency/fire_alarm":{icon:"fas-bell",fields:["indoor","ref","operator"],geometry:["point","vertex"],tags:{emergency:"fire_alarm_box"},name:"Fire Alarm Call Box"},"emergency/fire_extinguisher":{icon:"fas-fire-extinguisher",fields:["indoor","ref","operator"],geometry:["point","vertex"],tags:{emergency:"fire_extinguisher"},name:"Fire Extinguisher"},"emergency/fire_hose":{icon:"fas-fire-extinguisher",fields:["indoor","ref","operator"],geometry:["point","vertex"],tags:{emergency:"fire_hose"},name:"Fire Hose"},"emergency/fire_hydrant":{icon:"temaki-fire_hydrant",fields:["ref","fire_hydrant/type","colour","water_source","couplings"],moreFields:["fire_hydrant/pressure","fire_hydrant/diameter","water_volume","survey/date"],geometry:["point","vertex"],terms:["fire plug","fire water well","hydrant"],tags:{emergency:"fire_hydrant"},name:"Fire Hydrant"},"emergency/first_aid_kit":{icon:"fas-medkit",fields:["indoor","ref","operator"],geometry:["point","vertex"],terms:["bandage","first aid","med","med kit","medic*","medkit"],tags:{emergency:"first_aid_kit"},name:"First Aid Kit"},"emergency/life_ring":{icon:"fas-life-ring",fields:["ref","operator"],geometry:["point","vertex"],terms:["life buoy","kisby ring","kisbie ring","perry buoy"],tags:{emergency:"life_ring"},name:"Life Ring"},"emergency/lifeguard":{icon:"fas-life-ring",fields:["ref","operator","building_area","opening_hours"],geometry:["point","area"],terms:["CPR","rescue"],tags:{emergency:"lifeguard"},name:"Lifeguard"},"emergency/phone":{icon:"maki-emergency-phone",fields:["ref","operator","covered","indoor","booth"],geometry:["point","vertex"],tags:{emergency:"phone"},name:"Emergency Phone"},"emergency/siren":{icon:"fas-volume-up",fields:["siren/purpose","siren/type","ref","operator"],geometry:["point","vertex"],terms:["air raid","loud","noise","storm","tornado","warning"],tags:{emergency:"siren"},name:"Siren"},"emergency/water_tank":{icon:"maki-water",fields:["name","ref","operator"],geometry:["point","vertex"],terms:["water tank","cistern","reservoir"],tags:{emergency:"water_tank"},name:"Emergency Water Tank"},entrance:{icon:"maki-entrance-alt1",geometry:["vertex"],terms:["entrance","exit","door"],tags:{entrance:"*"},fields:["entrance","door","access_simple","address"],matchScore:0.8,name:"Entrance/Exit"},ford:{icon:"temaki-pedestrian",fields:["name","access","seasonal"],geometry:["vertex"],tags:{ford:"yes"},name:"Ford"},"golf/bunker":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"bunker",natural:"sand"},terms:["hazard","bunker"],reference:{key:"golf",value:"bunker"},name:"Sand Trap"},"golf/cartpath":{icon:"temaki-golf_cart",fields:["{golf/path}","maxspeed"],geometry:["line"],tags:{golf:"cartpath"},addTags:{golf:"cartpath",golf_cart:"designated",highway:"service"},reference:{key:"golf",value:"cartpath"},name:"Golf Cartpath"},"golf/driving_range":{icon:"maki-golf",fields:["name","capacity"],geometry:["area"],tags:{golf:"driving_range",landuse:"grass"},reference:{key:"golf",value:"driving_range"},name:"Driving Range"},"golf/fairway":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"fairway",landuse:"grass"},reference:{key:"golf",value:"fairway"},name:"Fairway"},"golf/green":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"green",landuse:"grass",leisure:"pitch",sport:"golf"},reference:{key:"golf",value:"green"},name:"Putting Green"},"golf/hole":{icon:"maki-golf",fields:["name","ref_golf_hole","par","handicap"],geometry:["line"],tags:{golf:"hole"},name:"Golf Hole"},"golf/lateral_water_hazard":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"lateral_water_hazard",natural:"water"},reference:{key:"golf",value:"lateral_water_hazard"},name:"Lateral Water Hazard"},"golf/path":{icon:"maki-golf",fields:["name","surface","width","structure","incline"],geometry:["line"],tags:{golf:"path"},addTags:{golf:"path",highway:"path",foot:"designated"},reference:{key:"golf",value:"path"},name:"Golf Walking Path"},"golf/rough":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"rough",landuse:"grass"},reference:{key:"golf",value:"rough"},name:"Rough"},"golf/tee":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"tee",landuse:"grass"},terms:["teeing ground"],reference:{key:"golf",value:"tee"},name:"Tee Box"},"golf/water_hazard":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"water_hazard",natural:"water"},reference:{key:"golf",value:"water_hazard"},name:"Water Hazard"},healthcare:{icon:"maki-hospital",fields:["name","healthcare","operator","healthcare/speciality","address","building_area"],moreFields:["building/levels_building","height_building","opening_hours","payment_multi","brand","website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{healthcare:"*"},terms:["clinic","doctor","disease","health","institution","sick","surgery","wellness"],name:"Healthcare Facility"},"healthcare/alternative":{icon:"maki-hospital",geometry:["point","area"],terms:["acupuncture","anthroposophical","applied kinesiology","aromatherapy","ayurveda","herbalism","homeopathy","hydrotherapy","hypnosis","naturopathy","osteopathy","reflexology","reiki","shiatsu","traditional","tuina","unani"],tags:{healthcare:"alternative"},name:"Alternative Medicine"},"healthcare/alternative/chiropractic":{icon:"maki-hospital",geometry:["point","area"],terms:["back","pain","spine"],tags:{healthcare:"alternative","healthcare:speciality":"chiropractic"},name:"Chiropractor"},"healthcare/audiologist":{icon:"maki-hospital",geometry:["point","area"],terms:["ear","hearing","sound"],tags:{healthcare:"audiologist"},name:"Audiologist"},"healthcare/birthing_center":{icon:"fas-baby",geometry:["point","area"],terms:["baby","childbirth","delivery","labour","labor","pregnancy"],tags:{healthcare:"birthing_center"},name:"Birthing Center"},"healthcare/blood_donation":{icon:"maki-blood-bank",fields:["{healthcare}","blood_components"],geometry:["point","area"],terms:["blood bank","blood donation","blood transfusion","apheresis","plasmapheresis","plateletpheresis","stem cell donation"],tags:{healthcare:"blood_donation"},name:"Blood Donor Center"},"healthcare/counselling":{icon:"fas-comments",geometry:["point","area"],tags:{healthcare:"counselling"},name:"Counselling Center"},"healthcare/hospice":{icon:"maki-hospital",geometry:["point","area"],terms:["terminal","illness"],tags:{healthcare:"hospice"},name:"Hospice"},"healthcare/laboratory":{icon:"fas-vial",fields:["name","operator","website","ref","address","opening_hours"],geometry:["point","area"],terms:["medical_laboratory","medical_lab","blood_check"],tags:{healthcare:"laboratory"},name:"Medical Laboratory"},"healthcare/midwife":{icon:"fas-baby",geometry:["point","area"],terms:["baby","childbirth","delivery","labour","labor","pregnancy"],tags:{healthcare:"midwife"},name:"Midwife"},"healthcare/occupational_therapist":{icon:"maki-hospital",geometry:["point","area"],terms:["therapist","therapy"],tags:{healthcare:"occupational_therapist"},name:"Occupational Therapist"},"healthcare/optometrist":{icon:"fas-eye",geometry:["point","area"],terms:["eye","glasses","lasik","lenses","vision"],tags:{healthcare:"optometrist"},name:"Optometrist"},"healthcare/physiotherapist":{icon:"temaki-physiotherapist",geometry:["point","area"],terms:["physical","therapist","therapy"],tags:{healthcare:"physiotherapist"},name:"Physiotherapist"},"healthcare/podiatrist":{icon:"maki-hospital",geometry:["point","area"],terms:["foot","feet","nails"],tags:{healthcare:"podiatrist"},name:"Podiatrist"},"healthcare/psychotherapist":{icon:"maki-hospital",geometry:["point","area"],terms:["anxiety","counselor","depression","mental health","mind","suicide","therapist","therapy"],tags:{healthcare:"psychotherapist"},name:"Psychotherapist"},"healthcare/rehabilitation":{icon:"maki-hospital",geometry:["point","area"],terms:["rehab","therapist","therapy"],tags:{healthcare:"rehabilitation"},name:"Rehabilitation Facility"},"healthcare/speech_therapist":{icon:"fas-comment",geometry:["point","area"],terms:["speech","therapist","therapy","voice"],tags:{healthcare:"speech_therapist"},name:"Speech Therapist"},"highway/bus_stop":{icon:"maki-bus",fields:["name","network","operator","bench","shelter"],geometry:["point","vertex"],tags:{highway:"bus_stop"},matchScore:0.95,name:"Bus Stop",searchable:false,replacement:"public_transport/platform/bus_point"},"highway/crossing":{fields:["crossing"],geometry:["vertex"],tags:{highway:"crossing"},searchable:false,matchScore:0.95,name:"Crossing"},"highway/bridleway":{fields:["name","surface","width","structure","access","incline","horse_scale"],moreFields:["covered","dog","lit","maxweight_bridge","smoothness","wheelchair"],icon:"maki-horse-riding",geometry:["line"],tags:{highway:"bridleway"},terms:["bridleway","equestrian","horse","trail"],name:"Bridle Path"},"highway/bus_guideway":{icon:"maki-bus",fields:["name","operator","oneway","structure","covered"],moreFields:["trolley_wire"],geometry:["line"],tags:{highway:"bus_guideway"},addTags:{highway:"bus_guideway",access:"no",bus:"designated"},terms:[],name:"Bus Guideway"},"highway/construction":{icon:"maki-barrier",fields:["name","opening_date","check_date","note","oneway","structure","access"],geometry:["line"],tags:{highway:"construction",access:"no"},terms:["closed","closure","construction"],name:"Road Closed"},"highway/corridor":{icon:"temaki-pedestrian",fields:["name","width","level","access_simple","wheelchair"],moreFields:["covered","indoor","maxheight"],geometry:["line"],tags:{highway:"corridor"},addTags:{highway:"corridor",indoor:"yes"},terms:["gallery","hall","hallway","indoor","passage","passageway"],name:"Indoor Corridor"},"highway/crossing/zebra-raised":{icon:"temaki-pedestrian",fields:["crossing","tactile_paving"],geometry:["vertex"],tags:{highway:"crossing",crossing:"zebra",traffic_calming:"table"},reference:{key:"traffic_calming",value:"table"},terms:["zebra crossing","marked crossing","crosswalk","flat top","hump","speed","slow"],name:"Marked Crosswalk (Raised)",searchable:false},"highway/crossing/zebra":{icon:"temaki-pedestrian",fields:["crossing","tactile_paving"],geometry:["vertex"],tags:{highway:"crossing",crossing:"zebra"},reference:{key:"highway",value:"crossing"},terms:["zebra crossing","marked crossing","crosswalk"],name:"Marked Crosswalk",searchable:false},"highway/crossing/marked-raised":{icon:"temaki-pedestrian",fields:["crossing","tactile_paving"],geometry:["vertex"],tags:{highway:"crossing",crossing:"marked",traffic_calming:"table"},addTags:{highway:"crossing",crossing:"marked",traffic_calming:"table"},reference:{key:"traffic_calming",value:"table"},terms:["zebra crossing","marked crossing","crosswalk","flat top","hump","speed","slow"],name:"Marked Crosswalk (Raised)"},"highway/crossing/marked":{icon:"temaki-pedestrian",fields:["crossing","tactile_paving"],geometry:["vertex"],tags:{highway:"crossing",crossing:"marked"},addTags:{highway:"crossing",crossing:"marked"},reference:{key:"highway",value:"crossing"},terms:["zebra crossing","marked crossing","crosswalk"],name:"Marked Crosswalk"},"highway/crossing/unmarked-raised":{icon:"temaki-pedestrian",fields:["crossing","tactile_paving"],geometry:["vertex"],tags:{highway:"crossing",crossing:"unmarked",traffic_calming:"table"},reference:{key:"traffic_calming",value:"table"},terms:["flat top","hump","speed","slow"],name:"Unmarked Crossing (Raised)"},"highway/crossing/unmarked":{icon:"temaki-pedestrian",fields:["crossing","tactile_paving"],geometry:["vertex"],tags:{highway:"crossing",crossing:"unmarked"},addTags:{highway:"crossing",crossing:"unmarked"},reference:{key:"crossing",value:"unmarked"},terms:[],name:"Unmarked Crossing"},"highway/cycleway":{icon:"maki-bicycle",fields:["name","oneway","surface","width","structure","access","incline"],moreFields:["covered","dog","lit","maxspeed","maxweight_bridge","smoothness","wheelchair"],geometry:["line"],tags:{highway:"cycleway"},terms:["bike path","bicyle path"],matchScore:0.9,name:"Cycle Path"},"highway/cycleway/crossing":{icon:"maki-bicycle",fields:["crossing","access","surface","tactile_paving"],geometry:["line"],tags:{cycleway:"crossing"},addTags:{highway:"cycleway",cycleway:"crossing"},reference:{key:"cycleway",value:"crossing"},searchable:false,matchScore:0.95,name:"Cycle Crossing"},"highway/cycleway/bicycle_foot":{icon:"maki-bicycle",geometry:["line"],tags:{highway:"cycleway",foot:"designated"},addTags:{highway:"cycleway",foot:"designated",bicycle:"designated"},terms:["bicycle and foot path","bike and pedestrian path","green way","greenway","mixed-use trail","multi-use trail","segregated trail","rail trail"],matchScore:0.95,name:"Cycle & Foot Path"},"highway/cycleway/crossing/marked":{icon:"maki-bicycle",fields:["crossing","access","surface","tactile_paving"],geometry:["line"],tags:{cycleway:"crossing",crossing:"marked"},addTags:{highway:"cycleway",cycleway:"crossing",crossing:"marked"},reference:{key:"cycleway",value:"crossing"},terms:["cycle crosswalk","cycle path crossing","cycleway crossing","bicycle crossing","bike crossing"],name:"Marked Cycle Crossing"},"highway/cycleway/crossing/unmarked":{icon:"maki-bicycle",fields:["crossing","access","surface","tactile_paving"],geometry:["line"],tags:{cycleway:"crossing",crossing:"unmarked"},addTags:{highway:"cycleway",cycleway:"crossing",crossing:"unmarked"},reference:{key:"cycleway",value:"crossing"},terms:["cycle path crossing","cycleway crossing","bicycle crossing","bike crossing"],name:"Unmarked Cycle Crossing"},"highway/elevator":{icon:"temaki-elevator",fields:["access_simple","opening_hours","maxweight","ref","wheelchair"],moreFields:["maxheight"],geometry:["vertex"],tags:{highway:"elevator"},terms:["lift"],name:"Elevator"},"highway/emergency_bay":{icon:"maki-car",geometry:["vertex"],tags:{highway:"emergency_bay"},terms:["Highway Emergency Bay"],name:"Emergency Stopping Place"},"highway/footway":{icon:"temaki-pedestrian",fields:["name","surface","width","structure","access","incline"],moreFields:["covered","dog","lit","maxweight_bridge","smoothness","wheelchair"],geometry:["line"],terms:["hike","hiking","promenade","trackway","trail","walk"],tags:{highway:"footway"},matchScore:0.9,name:"Foot Path"},"highway/footway/crossing":{fields:["crossing","access","surface","tactile_paving"],geometry:["line"],tags:{footway:"crossing"},addTags:{highway:"footway",footway:"crossing"},reference:{key:"footway",value:"crossing"},matchScore:0.95,searchable:false,name:"Pedestrian Crossing"},"highway/footway/zebra-raised":{icon:"temaki-pedestrian",fields:["crossing","access","surface","tactile_paving"],geometry:["line"],tags:{highway:"footway",footway:"crossing",crossing:"zebra",traffic_calming:"table"},reference:{key:"traffic_calming",value:"table"},terms:["zebra crossing","marked crossing","crosswalk","flat top","hump","speed","slow"],name:"Marked Crosswalk (Raised)",searchable:false},"highway/footway/zebra":{icon:"temaki-pedestrian",fields:["crossing","access","surface","tactile_paving"],geometry:["line"],tags:{highway:"footway",footway:"crossing",crossing:"zebra"},reference:{key:"footway",value:"crossing"},terms:["zebra crossing","marked crossing","crosswalk"],name:"Marked Crosswalk",searchable:false},"highway/footway/conveying":{icon:"temaki-pedestrian",fields:["name","conveying","access_simple","lit","width","wheelchair"],geometry:["line"],terms:["moving sidewalk","autwalk","skywalk","travolator","travelator","travellator","conveyor"],tags:{highway:"footway",conveying:"*"},name:"Moving Walkway"},"highway/footway/marked-raised":{icon:"temaki-pedestrian",fields:["crossing","access","surface","tactile_paving"],geometry:["line"],tags:{footway:"crossing",crossing:"marked",traffic_calming:"table"},addTags:{highway:"footway",footway:"crossing",crossing:"marked",traffic_calming:"table"},reference:{key:"traffic_calming",value:"table"},terms:["zebra crossing","marked crossing","crosswalk","flat top","hump","speed","slow"],name:"Marked Crosswalk (Raised)"},"highway/footway/marked":{icon:"temaki-pedestrian",fields:["crossing","access","surface","tactile_paving"],geometry:["line"],tags:{footway:"crossing",crossing:"marked"},addTags:{highway:"footway",footway:"crossing",crossing:"marked"},reference:{key:"footway",value:"crossing"},terms:["marked foot path crossing","marked crossing","marked pedestrian crosswalk","zebra crossing"],name:"Marked Crosswalk"},"highway/footway/sidewalk":{icon:"temaki-pedestrian",geometry:["line"],tags:{footway:"sidewalk"},addTags:{highway:"footway",footway:"sidewalk"},reference:{key:"footway",value:"sidewalk"},terms:["pavement","sidepath"],name:"Sidewalk"},"highway/footway/unmarked-raised":{icon:"temaki-pedestrian",fields:["crossing","access","surface","tactile_paving"],geometry:["line"],tags:{footway:"crossing",crossing:"unmarked",traffic_calming:"table"},addTags:{highway:"footway",footway:"crossing",crossing:"unmarked",traffic_calming:"table"},reference:{key:"traffic_calming",value:"table"},terms:["flat top","hump","speed","slow"],name:"Unmarked Crossing (Raised)"},"highway/footway/unmarked":{icon:"temaki-pedestrian",fields:["crossing","access","surface","tactile_paving"],geometry:["line"],tags:{footway:"crossing",crossing:"unmarked"},addTags:{highway:"footway",footway:"crossing",crossing:"unmarked"},reference:{key:"footway",value:"crossing"},terms:["unmarked foot path crossing","unmarked crosswalk","unmarked pedestrian crossing"],name:"Unmarked Crossing"},"highway/give_way":{icon:"temaki-yield",fields:["direction_vertex"],geometry:["vertex"],tags:{highway:"give_way"},terms:["give way","yield","sign"],name:"Yield Sign"},"highway/living_street":{icon:"iD-highway-living-street",fields:["name","oneway","maxspeed","lanes","surface","structure","access"],moreFields:["covered","cycleway","flood_prone","junction_line","lit","maxheight","maxweight_bridge","oneway/bicycle","smoothness","trolley_wire"],geometry:["line"],tags:{highway:"living_street"},name:"Living Street"},"highway/milestone":{icon:"temaki-milestone",geometry:["point","vertex"],fields:["distance","direction_vertex"],tags:{highway:"milestone"},terms:["mile marker","mile post","mile stone","mileage marker","milemarker","milepost"],name:"Highway Milestone"},"highway/mini_roundabout":{icon:"maki-circle-stroked",geometry:["vertex"],terms:["traffic circle"],tags:{highway:"mini_roundabout"},fields:["direction_clock"],name:"Mini-Roundabout"},"highway/motorway_junction":{icon:"temaki-junction",fields:["ref_highway_junction","name"],geometry:["vertex"],tags:{highway:"motorway_junction"},terms:["exit"],name:"Motorway Junction / Exit"},"highway/motorway_link":{icon:"iD-highway-motorway-link",fields:["destination_oneway","destination/ref_oneway","junction/ref_oneway","oneway","maxspeed","lanes","surface","structure","access"],moreFields:["covered","destination/symbol_oneway","incline","junction_line","lit","maxheight","maxspeed/advisory","maxweight_bridge","name","ref_road_number","smoothness","toll"],geometry:["line"],tags:{highway:"motorway_link"},addTags:{highway:"motorway_link",oneway:"yes"},terms:["exit","ramp","road","street","on ramp","off ramp"],name:"Motorway Link"},"highway/motorway":{icon:"iD-highway-motorway",fields:["name","ref_road_number","oneway_yes","maxspeed","lanes","surface","structure","access"],moreFields:["covered","incline","junction_line","lit","maxheight","maxweight_bridge","minspeed","smoothness","toll"],geometry:["line"],tags:{highway:"motorway"},terms:["autobahn","expressway","freeway","highway","interstate","parkway","road","street","thruway","turnpike"],name:"Motorway"},"highway/passing_place":{icon:"maki-circle-stroked",geometry:["vertex"],tags:{highway:"passing_place"},terms:["turnout, pullout"],name:"Passing Place"},"highway/path":{icon:"iD-other-line",fields:["name","surface","width","structure","access","incline"],moreFields:["wheelchair","lit","smoothness","trail_visibility","sac_scale","maxweight_bridge","mtb/scale","mtb/scale/uphill","mtb/scale/imba","horse_scale","covered","ref","dog"],geometry:["line"],terms:["hike","hiking","trackway","trail","walk"],tags:{highway:"path"},name:"Path"},"highway/pedestrian_area":{icon:"temaki-pedestrian",fields:["name","surface","lit","width","structure","access"],geometry:["area"],tags:{highway:"pedestrian",area:"yes"},terms:["center","centre","plaza","quad","square","walkway"],name:"Pedestrian Area"},"highway/pedestrian_line":{icon:"temaki-pedestrian",fields:["name","surface","lit","width","oneway","structure","access"],moreFields:["covered","incline","maxweight_bridge","smoothness"],geometry:["line"],tags:{highway:"pedestrian"},terms:["center","centre","plaza","quad","square","walkway"],name:"Pedestrian Street"},"highway/primary_link":{icon:"iD-highway-primary-link",fields:["destination_oneway","destination/ref_oneway","oneway","maxspeed","lanes","surface","structure","access"],moreFields:["covered","cycleway","destination/symbol_oneway","flood_prone","incline","junction/ref_oneway","junction_line","lit","maxheight","maxspeed/advisory","maxweight_bridge","name","oneway/bicycle","ref_road_number","smoothness","toll","trolley_wire"],geometry:["line"],tags:{highway:"primary_link"},terms:["on ramp","off ramp","ramp","road","street"],name:"Primary Link"},"highway/primary":{icon:"iD-highway-primary",fields:["name","oneway","maxspeed","lanes","surface","structure","ref_road_number","access"],moreFields:["covered","cycleway","flood_prone","incline","junction_line","lit","maxheight","maxspeed/advisory","maxweight_bridge","oneway/bicycle","smoothness","toll","trolley_wire"],geometry:["line"],tags:{highway:"primary"},terms:["road","street"],name:"Primary Road"},"highway/raceway":{icon:"fas-flag-checkered",fields:["name","oneway","surface","sport_racing_motor","lit","width","lanes","structure"],geometry:["point","line","area"],tags:{highway:"raceway"},addTags:{highway:"raceway",sport:"motor"},terms:["auto*","formula one","kart","motocross","nascar","race*","track"],name:"Racetrack (Motorsport)"},"highway/residential":{icon:"iD-highway-residential",fields:["name","oneway","maxspeed","lanes","surface","structure","access"],moreFields:["covered","cycleway","flood_prone","incline","junction_line","lit","oneway/bicycle","maxheight","maxspeed/advisory","maxweight_bridge","smoothness","trolley_wire"],geometry:["line"],tags:{highway:"residential"},terms:["road","street"],name:"Residential Road"},"highway/rest_area":{icon:"maki-car",fields:["name","operator","opening_hours"],moreFields:["address","website","phone","email","fax","wheelchair"],geometry:["point","vertex","area"],tags:{highway:"rest_area"},terms:["rest stop"],name:"Rest Area"},"highway/road":{icon:"iD-other-line",fields:["highway","{highway/residential}"],moreFields:["{highway/residential}"],geometry:["line"],tags:{highway:"road"},terms:["road","street"],name:"Unknown Road"},"highway/secondary_link":{icon:"iD-highway-secondary-link",fields:["{highway/primary_link}"],moreFields:["{highway/primary_link}"],geometry:["line"],tags:{highway:"secondary_link"},terms:["on ramp","off ramp","ramp","road","street"],name:"Secondary Link"},"highway/secondary":{icon:"iD-highway-secondary",fields:["{highway/primary}"],moreFields:["{highway/primary}"],geometry:["line"],tags:{highway:"secondary"},terms:["road","street"],name:"Secondary Road"},"highway/service":{icon:"iD-highway-service",fields:["name","service","oneway","maxspeed","surface","covered","structure","access"],moreFields:["flood_prone","incline","lanes","lit","maxheight","maxspeed/advisory","maxweight_bridge","oneway/bicycle","trolley_wire"],geometry:["line"],tags:{highway:"service"},terms:["road","street"],matchScore:0.9,name:"Service Road"},"highway/service/alley":{icon:"iD-highway-service",geometry:["line"],tags:{service:"alley"},addTags:{highway:"service",service:"alley"},reference:{key:"service",value:"alley"},name:"Alley"},"highway/service/drive-through":{icon:"iD-highway-service",geometry:["line"],tags:{service:"drive-through"},addTags:{highway:"service",service:"drive-through"},reference:{key:"service",value:"drive-through"},name:"Drive-Through"},"highway/service/driveway":{icon:"iD-highway-service",geometry:["line"],tags:{service:"driveway"},addTags:{highway:"service",service:"driveway"},reference:{key:"service",value:"driveway"},name:"Driveway"},"highway/service/emergency_access":{icon:"iD-highway-service",geometry:["line"],tags:{service:"emergency_access"},addTags:{highway:"service",service:"emergency_access"},reference:{key:"service",value:"emergency_access"},name:"Emergency Access"},"highway/service/parking_aisle":{icon:"iD-highway-service",geometry:["line"],tags:{service:"parking_aisle"},addTags:{highway:"service",service:"parking_aisle"},reference:{key:"service",value:"parking_aisle"},name:"Parking Aisle"},"highway/services":{icon:"maki-car",fields:["{highway/rest_area}"],moreFields:["{highway/rest_area}"],geometry:["point","vertex","area"],tags:{highway:"services"},terms:["services","travel plaza","service station"],name:"Service Area"},"highway/speed_camera":{icon:"temaki-security_camera",geometry:["point","vertex"],fields:["direction","ref","maxspeed"],tags:{highway:"speed_camera"},terms:[],name:"Speed Camera"},"highway/steps":{icon:"iD-highway-steps",fields:["incline_steps","handrail","step_count","surface","lit","width"],moreFields:["covered","dog","indoor"],geometry:["line"],tags:{highway:"steps"},terms:["stairs","staircase","stairway"],name:"Steps"},"highway/steps/conveying":{icon:"maki-entrance",fields:["name","incline_steps","conveying","access_simple","lit","width","handrail","step_count"],geometry:["line"],terms:["moving staircase","moving stairway","people mover"],tags:{highway:"steps",conveying:"*"},name:"Escalator"},"highway/stop":{icon:"temaki-stop",fields:["stop","direction_vertex"],geometry:["vertex"],tags:{highway:"stop"},terms:["stop","halt","sign"],name:"Stop Sign"},"highway/street_lamp":{icon:"temaki-bulb",geometry:["point","vertex"],tags:{highway:"street_lamp"},fields:["lamp_type","direction","ref"],terms:["streetlight","street light","lamp","light","gaslight"],name:"Street Lamp"},"highway/tertiary_link":{icon:"iD-highway-tertiary-link",fields:["{highway/primary_link}"],moreFields:["{highway/primary_link}"],geometry:["line"],tags:{highway:"tertiary_link"},terms:["on ramp","off ramp","ramp","road","street"],name:"Tertiary Link"},"highway/tertiary":{icon:"iD-highway-tertiary",fields:["{highway/primary}"],moreFields:["{highway/primary}"],geometry:["line"],tags:{highway:"tertiary"},terms:["road","street"],name:"Tertiary Road"},"highway/track":{icon:"fas-truck-monster",fields:["name","tracktype","surface","width","structure","access","incline","smoothness"],moreFields:["covered","flood_prone","horse_scale","maxweight_bridge","mtb/scale","mtb/scale/uphill","mtb/scale/imba"],geometry:["line"],tags:{highway:"track"},terms:["woods road","forest road","logging road","fire road","farm road","agricultural road","ranch road","carriage road","primitive","unmaintained","rut","offroad","4wd","4x4","four wheel drive","atv","quad","jeep","double track","two track"],name:"Unmaintained Track Road"},"highway/traffic_mirror":{icon:"maki-circle-stroked",geometry:["point","vertex"],fields:["direction"],tags:{highway:"traffic_mirror"},terms:["blind spot","convex","corner","curved","roadside","round","safety","sphere","visibility"],name:"Traffic Mirror"},"highway/traffic_signals":{icon:"temaki-traffic_signals",geometry:["vertex"],tags:{highway:"traffic_signals"},fields:["traffic_signals","traffic_signals/direction"],terms:["light","stoplight","traffic light"],name:"Traffic Signals"},"highway/trailhead":{icon:"fas-hiking",fields:["name","operator","elevation","address","access_simple","fee","payment_multi_fee"],moreFields:["opening_hours"],geometry:["vertex"],tags:{highway:"trailhead"},terms:["hiking","mile zero","mountain biking","mountaineering","trail endpoint","trail start","staging area","trekking"],name:"Trailhead"},"highway/trunk_link":{icon:"iD-highway-trunk-link",fields:["{highway/motorway_link}"],moreFields:["{highway/motorway_link}"],geometry:["line"],tags:{highway:"trunk_link"},terms:["on ramp","off ramp","ramp","road","street"],name:"Trunk Link"},"highway/trunk":{icon:"iD-highway-trunk",fields:["name","ref_road_number","oneway","maxspeed","lanes","surface","structure","access"],moreFields:["covered","incline","junction_line","lit","maxheight","minspeed","maxweight_bridge","smoothness","toll"],geometry:["line"],tags:{highway:"trunk"},terms:["road","street"],name:"Trunk Road"},"highway/turning_circle":{icon:"maki-circle-stroked",geometry:["vertex"],tags:{highway:"turning_circle"},terms:["cul-de-sac"],name:"Turning Circle"},"highway/turning_loop":{icon:"maki-circle",geometry:["vertex"],tags:{highway:"turning_loop"},terms:["cul-de-sac"],name:"Turning Loop (Island)"},"highway/unclassified":{icon:"iD-highway-unclassified",fields:["{highway/residential}"],moreFields:["{highway/residential}"],geometry:["line"],tags:{highway:"unclassified"},terms:["road","street"],name:"Minor/Unclassified Road"},historic:{icon:"temaki-ruins",fields:["historic","inscription"],geometry:["point","vertex","line","area"],tags:{historic:"*"},name:"Historic Site"},"historic/archaeological_site":{icon:"temaki-ruins",fields:["name","site_type","historic/civilization","inscription","access_simple"],geometry:["point","vertex","area"],tags:{historic:"archaeological_site"},name:"Archaeological Site"},"historic/boundary_stone":{icon:"temaki-milestone",fields:["name","inscription"],moreFields:["material"],geometry:["point","vertex"],tags:{historic:"boundary_stone"},name:"Boundary Stone"},"historic/castle":{icon:"maki-castle",fields:["name","castle_type","building_area","historic/civilization","access_simple","start_date"],geometry:["point","area"],tags:{historic:"castle"},name:"Castle"},"historic/castle/fortress":{icon:"maki-castle",fields:["name","building_area","access_simple","start_date"],geometry:["point","area"],reference:{key:"castle_type",value:"fortress"},tags:{historic:"castle",castle_type:"fortress"},terms:["citadel","military"],name:"Historic Fortress"},"historic/castle/palace":{icon:"fas-crown",fields:["name","building_area","access_simple","start_date"],geometry:["point","area"],reference:{key:"castle_type",value:"palace"},tags:{historic:"castle",castle_type:"palace"},terms:["Royal Residence","royal","king","queen"],name:"Palace"},"historic/castle/stately":{icon:"fas-crown",fields:["name","building_area","access_simple","start_date"],geometry:["point","area"],reference:{key:"castle_type",value:"stately"},tags:{historic:"castle",castle_type:"stately"},terms:["Historic Country House","Stately Home","nobility","gentry","representative"],name:"Château"},"historic/city_gate":{icon:"maki-castle",fields:["name","building_area","historic/civilization","start_date"],geometry:["point","area"],tags:{historic:"city_gate"},terms:["Town Gate"],name:"City Gate"},"historic/fort":{icon:"maki-castle",fields:["name","building_area","access_simple","start_date"],geometry:["point","area"],tags:{historic:"fort"},terms:["military"],name:"Historic Fort"},"historic/manor":{icon:"maki-castle",fields:["name","building_area","access_simple","start_date"],geometry:["point","area"],tags:{historic:"manor"},terms:["Mansion","gentry","nobility","estate"],name:"Manor House"},"historic/memorial":{icon:"maki-monument",fields:["name","memorial","inscription","material"],moreFields:["website"],geometry:["point","vertex","area"],terms:["dedicatory","epitaph","remember","remembrance","memory","monument","stolperstein"],tags:{historic:"memorial"},name:"Memorial"},"historic/memorial/plaque":{icon:"maki-monument",fields:["{historic/memorial}","direction"],geometry:["point","vertex"],terms:["dedicatory","epitaph","historical marker","remember","remembrance","memory"],tags:{historic:"memorial",memorial:"plaque"},reference:{key:"memorial",value:"plaque"},name:"Commemorative Plaque"},"historic/monument":{icon:"maki-monument",fields:["name","inscription","access_simple"],moreFields:["material"],geometry:["point","vertex","area"],tags:{historic:"monument"},name:"Monument"},"historic/ruins":{icon:"temaki-ruins",fields:["name","historic/civilization","inscription","access_simple"],geometry:["point","vertex","area"],tags:{historic:"ruins"},name:"Ruins"},"historic/tomb":{icon:"maki-cemetery",fields:["name","tomb","building_area","inscription","access_simple"],geometry:["point","area"],tags:{historic:"tomb"},name:"Tomb"},"historic/wayside_cross":{icon:"maki-religious-christian",fields:["name","inscription"],moreFields:["material"],geometry:["point","vertex","area"],tags:{historic:"wayside_cross"},name:"Wayside Cross"},"historic/wayside_shrine":{icon:"maki-landmark",fields:["name","religion","denomination","inscription","access_simple"],geometry:["point","vertex","area"],tags:{historic:"wayside_shrine"},name:"Wayside Shrine"},"historic/wreck":{icon:"temaki-ruins",fields:["name","access_simple","seamark/wreck/category","historic/wreck/date_sunk","historic/wreck/visible_at_low_tide","historic/wreck/visible_at_high_tide"],moreFields:["seamark/type"],geometry:["point","area"],tags:{historic:"wreck"},addTags:{historic:"wreck","seamark:type":"wreck"},terms:["hull","mast","maritime","remains","ship","boat"],name:"Shipwreck"},"indoor/corridor_line":{fields:["level","name"],geometry:["line"],tags:{indoor:"corridor"},searchable:false,matchScore:1.1,name:"Indoor Corridor",replacement:"highway/corridor"},"indoor/area":{fields:["level","name","ref_room_number","height"],geometry:["area"],tags:{indoor:"area"},terms:["indoor space"],matchScore:0.8,name:"Indoor Area"},"indoor/corridor":{icon:"temaki-pedestrian",fields:["level","name","ref","height"],geometry:["area"],tags:{indoor:"corridor"},terms:["concourse","foyer","hallway","passageway"],matchScore:0.8,name:"Indoor Corridor"},"indoor/door":{icon:"maki-entrance-alt1",fields:["level","ref","door_type","access_simple","width","height"],moreFields:["wheelchair"],geometry:["vertex"],tags:{indoor:"door"},addTags:{indoor:"door",door:"yes"},removeTags:{indoor:"door",door:"*"},terms:["doorframe","doorway","portal","room access","threshold"],name:"Indoor Door"},"indoor/room":{fields:["level","name","ref_room_number","room","height"],geometry:["area"],tags:{indoor:"room"},terms:["antechamber","anteroom","atrium","cell","chamber","concourse","foyer","indoor room","lobby","vestibule"],matchScore:0.8,name:"Room"},"indoor/wall":{icon:"temaki-wall",fields:["level","height"],geometry:["line"],tags:{indoor:"wall"},terms:["indoor barrier","room divider","room partition"],name:"Indoor Wall"},"internet_access/wlan":{icon:"fas-wifi",geometry:["point","area"],fields:["internet_access/fee","internet_access/ssid"],terms:["wi-fi","wifi","hotspot"],tags:{internet_access:"wlan"},matchScore:0.25,name:"Wi-Fi Hotspot"},junction:{icon:"temaki-junction",fields:["name"],geometry:["vertex","area"],tags:{junction:"yes"},name:"Junction"},"junction/circular":{geometry:["vertex","line"],fields:["name"],tags:{junction:"circular"},name:"Traffic Circle",searchable:false},"junction/jughandle":{geometry:["line"],fields:["name"],tags:{junction:"jughandle"},name:"Jughandle",searchable:false},"junction/roundabout":{geometry:["vertex","line"],fields:["name"],tags:{junction:"roundabout"},name:"Roundabout",searchable:false},"landuse/basin":{icon:"maki-water",fields:["name","basin","intermittent_yes"],geometry:["area"],tags:{landuse:"basin"},name:"Basin",searchable:false},"landuse/farm":{icon:"maki-farm",fields:["name","operator","crop"],geometry:["point","area"],tags:{landuse:"farm"},name:"Farmland",searchable:false},"landuse/pond":{icon:"maki-water",fields:["name","intermittent"],geometry:["area"],tags:{landuse:"pond"},name:"Pond",searchable:false},"landuse/reservoir":{icon:"maki-water",fields:["name","intermittent"],geometry:["area"],tags:{landuse:"reservoir"},name:"Reservoir",searchable:false},"landuse/allotments":{icon:"maki-garden-centre",geometry:["area"],fields:["name"],moreFields:["address","website","phone","email","fax"],tags:{landuse:"allotments"},terms:["allotment","garden"],name:"Community Garden"},"landuse/aquaculture":{icon:"maki-aquarium",fields:["name","operator","produce"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"aquaculture"},terms:["fish farm","crustacean","algae","aquafarming","shrimp farm","oyster farm","mariculture","algaculture"],name:"Aquaculture"},"landuse/brownfield":{geometry:["area"],fields:["name"],tags:{landuse:"brownfield"},terms:[],matchScore:0.9,name:"Brownfield"},"landuse/cemetery":{icon:"maki-cemetery",fields:["name","religion","denomination"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"cemetery"},terms:[],name:"Cemetery"},"landuse/churchyard":{icon:"maki-religious-christian",fields:["name","religion","denomination"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"churchyard"},terms:[],name:"Churchyard"},"landuse/commercial":{icon:"maki-suitcase",fields:["name"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"commercial"},terms:[],matchScore:0.9,name:"Commercial Area"},"landuse/construction":{icon:"temaki-tools",fields:["name","construction","operator","opening_date","check_date","note"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"construction"},terms:[],name:"Construction"},"landuse/farmland":{icon:"fas-tractor",fields:["name","operator","crop","produce"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"farmland"},terms:["crop","grow","plant"],name:"Farmland"},"landuse/farmyard":{icon:"maki-farm",fields:["name","operator","crop"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"farmyard"},terms:["crop","grow","plant"],name:"Farmyard"},"landuse/forest":{icon:"maki-park-alt1",fields:["name","leaf_type","leaf_cycle","produce"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"forest"},terms:["cut","forest","forestry","lumber","silviculture","tree"],name:"Managed Forest"},"landuse/garages":{icon:"fas-warehouse",geometry:["area"],fields:["name"],moreFields:["address","website","phone","email","fax"],tags:{landuse:"garages"},terms:[],name:"Garage Landuse"},"landuse/grass":{geometry:["area"],tags:{landuse:"grass"},terms:[],name:"Grass"},"landuse/greenfield":{geometry:["area"],fields:["name"],tags:{landuse:"greenfield"},terms:[],matchScore:0.9,name:"Greenfield"},"landuse/greenhouse_horticulture":{icon:"maki-garden",fields:["name","operator"],moreFields:["address","website","phone","email","fax"],geometry:["area"],terms:["flower","greenhouse","horticulture","grow","vivero"],tags:{landuse:"greenhouse_horticulture"},matchScore:0.9,name:"Greenhouse Horticulture"},"landuse/harbour":{icon:"maki-harbor",fields:["name","operator"],moreFields:["address","website","phone","email","fax"],geometry:["area"],terms:["boat"],tags:{landuse:"harbour"},name:"Harbor"},"landuse/industrial":{icon:"maki-industry",fields:["name","industrial"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"industrial"},terms:[],matchScore:0.9,name:"Industrial Area"},"landuse/industrial/scrap_yard":{icon:"maki-car",fields:["name","operator","address","opening_hours"],geometry:["point","area"],tags:{industrial:"scrap_yard"},addTags:{landuse:"industrial",industrial:"scrap_yard"},reference:{key:"industrial",value:"scrap_yard"},terms:["car","junk","metal","salvage","scrap","u-pull-it","vehicle","wreck","yard"],name:"Scrap Yard"},"landuse/industrial/slaughterhouse":{icon:"maki-slaughterhouse",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{industrial:"slaughterhouse"},addTags:{landuse:"industrial",industrial:"slaughterhouse"},reference:{key:"industrial",value:"slaughterhouse"},terms:["abattoir","beef","butchery","calf","chicken","cow","killing house","meat","pig","pork","poultry","shambles","stockyard"],name:"Slaughterhouse"},"landuse/landfill":{geometry:["area"],fields:["name"],moreFields:["address","website","phone","email","fax"],tags:{landuse:"landfill"},terms:["dump"],name:"Landfill"},"landuse/meadow":{icon:"maki-garden",geometry:["area"],fields:["name"],tags:{landuse:"meadow"},terms:["grazing","hay field","pasture"],name:"Meadow"},"landuse/military":{icon:"temaki-military",fields:["name"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"military"},terms:[],matchScore:0.9,name:"Military Area"},"landuse/military/airfield":{icon:"tnp-2009265",fields:["name","iata","icao"],geometry:["point","area"],tags:{military:"airfield"},addTags:{aeroway:"aerodrome",landuse:"military",military:"airfield"},reference:{key:"military",value:"airfield"},terms:["aerodrome","aeroway","air force","airplane","airport","army","base","bomb","fight","force","guard","heli*","jet","marine","navy","plane","troop","war"],name:"Military Airfield"},"landuse/military/barracks":{icon:"temaki-military",fields:["name","building_area"],geometry:["point","area"],tags:{military:"barracks"},addTags:{landuse:"military",military:"barracks"},terms:["air force","army","base","fight","force","guard","marine","navy","troop","war"],name:"Barracks"},"landuse/military/danger_area":{icon:"maki-danger",fields:["name"],geometry:["point","vertex","area"],tags:{military:"danger_area"},addTags:{landuse:"military",military:"danger_area"},terms:["air force","army","base","blast","bomb","explo*","force","guard","mine","marine","navy","troop","war"],name:"Danger Area"},"landuse/military/naval_base":{icon:"temaki-military",fields:["name"],geometry:["point","area"],tags:{military:"naval_base"},addTags:{landuse:"military",military:"naval_base"},terms:["base","fight","force","guard","marine","navy","ship","sub","troop","war"],name:"Naval Base"},"landuse/military/obstacle_course":{icon:"temaki-military",geometry:["point","area"],tags:{military:"obstacle_course"},addTags:{landuse:"military",military:"obstacle_course"},terms:["army","base","force","guard","marine","navy","troop","war"],name:"Obstacle Course"},"landuse/military/range":{icon:"temaki-military",fields:["name"],geometry:["point","area"],tags:{military:"range"},addTags:{landuse:"military",military:"range"},terms:["air force","army","base","fight","fire","force","guard","gun","marine","navy","rifle","shoot*","snip*","train","troop","war"],name:"Military Range"},"landuse/military/training_area":{icon:"temaki-military",fields:["name"],geometry:["point","area"],tags:{military:"training_area"},addTags:{landuse:"military",military:"training_area"},terms:["air force","army","base","fight","fire","force","guard","gun","marine","navy","rifle","shoot*","snip*","train","troop","war"],name:"Training Area"},"landuse/orchard":{icon:"maki-park",fields:["name","operator","trees"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"orchard"},terms:["fruit"],name:"Orchard"},"landuse/plant_nursery":{icon:"maki-garden",fields:["name","operator","plant"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"plant_nursery"},terms:["flower","garden","grow","vivero"],name:"Plant Nursery"},"landuse/quarry":{geometry:["area"],fields:["name","operator","resource"],moreFields:["address","website","phone","email","fax"],tags:{landuse:"quarry"},terms:[],name:"Quarry"},"landuse/railway":{icon:"maki-rail",fields:["operator"],geometry:["area"],tags:{landuse:"railway"},terms:["rail","train","track"],name:"Railway Corridor"},"landuse/recreation_ground":{icon:"maki-pitch",geometry:["area"],fields:["name"],moreFields:["address","website","phone","email","fax"],tags:{landuse:"recreation_ground"},terms:["playing fields"],name:"Recreation Ground"},"landuse/religious":{icon:"maki-place-of-worship",geometry:["area"],fields:["name","religion","denomination"],moreFields:["address","website","phone","email","fax"],tags:{landuse:"religious"},terms:[],name:"Religious Area"},"landuse/residential":{icon:"maki-building",geometry:["area"],tags:{landuse:"residential"},terms:[],matchScore:0.9,name:"Residential Area"},"landuse/residential/apartments":{icon:"maki-building",fields:["name","operator","address"],geometry:["point","area"],tags:{residential:"apartments"},addTags:{landuse:"residential",residential:"apartments"},reference:{key:"residential",value:"apartments"},terms:["flat","residence","tenement"],name:"Apartment Complex"},"landuse/retail":{icon:"maki-commercial",geometry:["area"],fields:["name"],moreFields:["address","website","phone","email","fax"],tags:{landuse:"retail"},matchScore:0.9,name:"Retail Area"},"landuse/vineyard":{fields:["name","operator","grape_variety"],moreFields:["address","website","phone","email","fax"],geometry:["area"],tags:{landuse:"vineyard"},addTags:{landuse:"vineyard",crop:"grape"},removeTags:{landuse:"vineyard",crop:"grape",grape_variety:"*"},terms:["grape","wine"],name:"Vineyard"},"landuse/winter_sports":{icon:"fas-skiing",geometry:["area"],fields:["name","operator"],moreFields:["address","access_simple","opening_hours"],tags:{landuse:"winter_sports"},terms:["piste area","ski area","ski hill","ski mountain","ski resort","snow board area","snowboard area"],name:"Winter Sports Area"},"leisure/adult_gaming_centre":{icon:"temaki-casino",fields:["{amenity/casino}"],moreFields:["{amenity/casino}"],geometry:["point","area"],terms:["gambling","slot machine"],tags:{leisure:"adult_gaming_centre"},name:"Adult Gaming Center"},"leisure/amusement_arcade":{icon:"maki-gaming",fields:["name","operator","address","building_area"],moreFields:["air_conditioning","opening_hours","payment_multi","smoking","website","phone","email","fax"],geometry:["point","area"],terms:["pay-to-play games","video games","driving simulators","pinball machines"],tags:{leisure:"amusement_arcade"},name:"Amusement Arcade"},"leisure/bandstand":{icon:"maki-music",fields:["name","building_area","operator"],moreFields:["website"],geometry:["point","area"],tags:{leisure:"bandstand"},name:"Bandstand"},"leisure/beach_resort":{icon:"maki-beach",fields:["name","address","opening_hours","fee","payment_multi_fee"],moreFields:["smoking","website","phone","email","fax"],geometry:["point","area"],tags:{leisure:"beach_resort"},name:"Beach Resort"},"leisure/bird_hide":{icon:"temaki-binoculars",fields:["name","building_area","address","opening_hours"],moreFields:["website"],geometry:["point","area"],tags:{leisure:"bird_hide"},terms:["machan","ornithology"],name:"Bird Hide"},"leisure/bleachers":{geometry:["point","area"],tags:{leisure:"bleachers"},terms:["crowd","bench","sports","stand","stands","seat","seating"],name:"Bleachers"},"leisure/bowling_alley":{icon:"temaki-bowling",fields:["name","operator","address","building_area"],moreFields:["air_conditioning","opening_hours","payment_multi","smoking","website","phone","email","fax"],geometry:["point","area"],terms:["bowling center"],tags:{leisure:"bowling_alley"},name:"Bowling Alley"},"leisure/common":{icon:"temaki-pedestrian",fields:["name"],moreFields:["website"],geometry:["point","area"],terms:["open space"],tags:{leisure:"common"},name:"Common"},"leisure/dance":{icon:"maki-music",fields:["name","operator","address","building_area","dance/style"],moreFields:["opening_hours","payment_multi","website","phone","email","fax"],geometry:["point","area"],terms:["ballroom","jive","swing","tango","waltz"],tags:{leisure:"dance"},name:"Dance Hall"},"leisure/dancing_school":{icon:"maki-music",fields:["name","operator","address","building_area","dance/style"],moreFields:["opening_hours","payment_multi","website","phone","email","fax"],geometry:["point","area"],terms:["jive","swing","tango","waltz","dance teaching"],tags:{leisure:"dance","dance:teaching":"yes"},reference:{key:"leisure",value:"dance"},name:"Dance School"},"leisure/disc_golf_course":{icon:"temaki-disc_golf_basket",fields:["name","operator","access_simple","fee","payment_multi_fee","opening_hours"],moreFields:["address","dog","email","fax","lit","phone","website","wheelchair"],geometry:["point","area"],tags:{leisure:"disc_golf_course"},addTags:{leisure:"disc_golf_course",sport:"disc_golf"},terms:["disk golf","frisbee golf","flying disc golf","frolf","ultimate"],name:"Disc Golf Course"},"leisure/dog_park":{icon:"maki-dog-park",fields:["name"],moreFields:["website","phone","email","fax"],geometry:["point","area"],terms:[],tags:{leisure:"dog_park"},name:"Dog Park"},"leisure/escape_game":{icon:"fas-puzzle-piece",fields:["name","address","building_area","opening_hours","website","fee","payment_multi_fee","internet_access","internet_access/fee","internet_access/ssid"],moreFields:["air_conditioning","email","fax","phone","smoking","wheelchair"],geometry:["point","area"],terms:["escape game","escape the room","puzzle room","quest room"],tags:{leisure:"escape_game"},name:"Escape Room"},"leisure/firepit":{icon:"maki-fire-station",fields:["access_simple"],geometry:["point","area"],tags:{leisure:"firepit"},terms:["fireplace","campfire"],name:"Firepit"},"leisure/fishing":{icon:"fas-fish",fields:["name","access_simple","fishing"],geometry:["vertex","point","area"],tags:{leisure:"fishing"},terms:["angler"],name:"Fishing Spot"},"leisure/fitness_centre":{icon:"fas-dumbbell",fields:["name","sport","address","building_area"],moreFields:["opening_hours","fee","payment_multi","website","phone","email","fax"],geometry:["point","area"],tags:{leisure:"fitness_centre"},terms:["health","gym","leisure","studio"],name:"Gym / Fitness Center"},"leisure/fitness_centre/yoga":{icon:"maki-pitch",geometry:["point","area"],terms:["studio","asanas","modern yoga","meditation"],tags:{leisure:"fitness_centre",sport:"yoga"},reference:{key:"sport",value:"yoga"},name:"Yoga Studio"},"leisure/fitness_station":{icon:"maki-pitch",fields:["fitness_station","ref"],moreFields:["opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station"},addTags:{leisure:"fitness_station",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["exercise","fitness","gym","trim trail"],name:"Outdoor Fitness Station"},"leisure/fitness_station/balance_beam":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"balance_beam"},addTags:{leisure:"fitness_station",fitness_station:"balance_beam",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["balance","exercise","fitness","gym","trim trail"],name:"Exercise Balance Beam"},"leisure/fitness_station/box":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"box"},addTags:{leisure:"fitness_station",fitness_station:"box",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["box","exercise","fitness","gym","jump","trim trail"],name:"Exercise Box"},"leisure/fitness_station/horizontal_bar":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"horizontal_bar"},addTags:{leisure:"fitness_station",fitness_station:"horizontal_bar",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["bar","chinup","chin up","exercise","fitness","gym","pullup","pull up","trim trail"],name:"Exercise Horizontal Bar"},"leisure/fitness_station/horizontal_ladder":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"horizontal_ladder"},addTags:{leisure:"fitness_station",fitness_station:"horizontal_ladder",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["bar","chinup","chin up","exercise","fitness","gym","ladder","monkey bars","pullup","pull up","trim trail"],name:"Exercise Monkey Bars"},"leisure/fitness_station/hyperextension":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"hyperextension"},addTags:{leisure:"fitness_station",fitness_station:"hyperextension",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["back","exercise","extension","fitness","gym","roman chair","trim trail"],name:"Hyperextension Station"},"leisure/fitness_station/parallel_bars":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"parallel_bars"},addTags:{leisure:"fitness_station",fitness_station:"parallel_bars",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["bar","dip","exercise","fitness","gym","trim trail"],name:"Parallel Bars"},"leisure/fitness_station/push-up":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"push-up"},addTags:{leisure:"fitness_station",fitness_station:"push-up",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["bar","exercise","fitness","gym","pushup","push up","trim trail"],name:"Push-Up Station"},"leisure/fitness_station/rings":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"rings"},addTags:{leisure:"fitness_station",fitness_station:"rings",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["exercise","fitness","gym","muscle up","pullup","pull up","trim trail"],name:"Exercise Rings"},"leisure/fitness_station/sign":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"sign"},addTags:{leisure:"fitness_station",fitness_station:"sign",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["exercise","fitness","gym","trim trail"],name:"Exercise Instruction Sign"},"leisure/fitness_station/sit-up":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"sit-up"},addTags:{leisure:"fitness_station",fitness_station:"sit-up",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["crunch","exercise","fitness","gym","situp","sit up","trim trail"],name:"Sit-Up Station"},"leisure/fitness_station/stairs":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"stairs"},addTags:{leisure:"fitness_station",fitness_station:"stairs",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["exercise","fitness","gym","steps","trim trail"],name:"Exercise Stairs"},"leisure/garden":{icon:"maki-garden",fields:["name","operator","access_simple","fee","payment_multi_fee"],moreFields:["website","phone","email","fax"],geometry:["point","vertex","area"],tags:{leisure:"garden"},name:"Garden"},"leisure/golf_course":{icon:"maki-golf",fields:["name","operator","address","opening_hours"],moreFields:["payment_multi","website","phone","email","fax"],geometry:["point","area"],terms:["links"],tags:{leisure:"golf_course"},name:"Golf Course"},"leisure/hackerspace":{icon:"fas-code",fields:["name","address","building_area","opening_hours","website","fee","payment_multi_fee","internet_access","internet_access/fee","internet_access/ssid"],moreFields:["air_conditioning","email","fax","phone","smoking","wheelchair"],geometry:["point","area"],terms:["makerspace","hackspace","hacklab"],tags:{leisure:"hackerspace"},name:"Hackerspace"},"leisure/horse_riding":{icon:"maki-horse-riding",fields:["name","access_simple","operator","address","building"],moreFields:["opening_hours","payment_multi","website","phone","email","fax"],geometry:["point","area"],terms:["equestrian","stable"],tags:{leisure:"horse_riding"},name:"Horseback Riding Facility"},"leisure/ice_rink":{icon:"fas-skating",fields:["name","seasonal","sport_ice","operator","address","building"],moreFields:["opening_hours","payment_multi","website","phone","email","fax"],geometry:["point","area"],terms:["hockey","skating","curling"],tags:{leisure:"ice_rink"},name:"Ice Rink"},"leisure/marina":{icon:"tnp-2009223",fields:["name","operator","capacity","fee","payment_multi_fee","sanitary_dump_station","power_supply"],moreFields:["address","internet_access","internet_access/fee","internet_access/ssid","seamark/type","website","phone","email","fax"],geometry:["point","vertex","area"],terms:["boat"],tags:{leisure:"marina"},name:"Marina"},"leisure/miniature_golf":{icon:"maki-golf",fields:["name","operator","address","opening_hours","fee","payment_multi_fee"],moreFields:["website","phone","email","fax"],geometry:["point","area"],terms:["crazy golf","mini golf","putt-putt"],tags:{leisure:"miniature_golf"},name:"Miniature Golf"},"leisure/nature_reserve":{icon:"maki-park",geometry:["point","area"],fields:["name","operator","address","opening_hours"],moreFields:["dog","website","phone","email","fax"],tags:{leisure:"nature_reserve"},terms:["protected","wildlife"],name:"Nature Reserve"},"leisure/outdoor_seating":{icon:"maki-picnic-site",geometry:["point","area"],fields:["name","operator"],terms:["al fresco","beer garden","dining","cafe","restaurant","pub","bar","patio"],tags:{leisure:"outdoor_seating"},name:"Outdoor Seating Area"},"leisure/park":{icon:"maki-park",fields:["name","operator","address","opening_hours"],moreFields:["dog","smoking","website","phone","email","fax"],geometry:["point","area"],terms:["esplanade","estate","forest","garden","grass","green","grounds","lawn","lot","meadow","parkland","place","playground","plaza","pleasure garden","recreation area","square","tract","village green","woodland"],tags:{leisure:"park"},name:"Park"},"leisure/picnic_table":{icon:"maki-picnic-site",fields:["material","lit","bench"],geometry:["point"],tags:{leisure:"picnic_table"},terms:["bench"],name:"Picnic Table"},"leisure/picnic_table/chess":{icon:"fas-chess-pawn",geometry:["point"],tags:{leisure:"picnic_table",sport:"chess"},reference:{key:"sport",value:"chess"},terms:["bench","chess board","checkerboard","checkers","chequerboard","game table"],name:"Chess Table"},"leisure/pitch":{icon:"maki-pitch",fields:["name","sport","access_simple","surface","lit"],moreFields:["covered","fee","indoor","payment_multi_fee"],geometry:["point","area"],tags:{leisure:"pitch"},terms:["field"],name:"Sport Pitch"},"leisure/pitch/american_football":{icon:"maki-american-football",geometry:["point","area"],tags:{leisure:"pitch",sport:"american_football"},reference:{key:"sport",value:"american_football"},terms:["football","gridiron"],name:"American Football Field"},"leisure/pitch/australian_football":{icon:"maki-american-football",geometry:["point","area"],tags:{leisure:"pitch",sport:"australian_football"},reference:{key:"sport",value:"australian_football"},terms:["Aussie","AFL","football"],name:"Australian Football Field"},"leisure/pitch/badminton":{icon:"maki-tennis",fields:["{leisure/pitch}","access_simple"],geometry:["point","area"],tags:{leisure:"pitch",sport:"badminton"},reference:{key:"sport",value:"badminton"},terms:[],name:"Badminton Court"},"leisure/pitch/baseball":{icon:"maki-baseball",geometry:["point","area"],tags:{leisure:"pitch",sport:"baseball"},reference:{key:"sport",value:"baseball"},terms:[],name:"Baseball Field"},"leisure/pitch/basketball":{icon:"maki-basketball",fields:["name","surface","hoops","lit","access_simple"],geometry:["point","area"],tags:{leisure:"pitch",sport:"basketball"},reference:{key:"sport",value:"basketball"},terms:[],name:"Basketball Court"},"leisure/pitch/beachvolleyball":{icon:"maki-volleyball",geometry:["point","area"],tags:{leisure:"pitch",sport:"beachvolleyball"},addTags:{leisure:"pitch",sport:"beachvolleyball",surface:"sand"},reference:{key:"sport",value:"beachvolleyball"},terms:["volleyball"],name:"Beach Volleyball Court"},"leisure/pitch/boules":{icon:"maki-pitch",fields:["name","boules","{leisure/pitch}"],geometry:["point","area"],tags:{leisure:"pitch",sport:"boules"},reference:{key:"sport",value:"boules"},terms:["bocce","lyonnaise","pétanque"],name:"Boules/Bocce Court"},"leisure/pitch/bowls":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"pitch",sport:"bowls"},reference:{key:"sport",value:"bowls"},terms:[],name:"Bowling Green"},"leisure/pitch/cricket":{icon:"maki-cricket",geometry:["point","area"],tags:{leisure:"pitch",sport:"cricket"},reference:{key:"sport",value:"cricket"},terms:[],name:"Cricket Field"},"leisure/pitch/equestrian":{icon:"maki-horse-riding",fields:["{leisure/pitch}","building"],geometry:["point","area"],tags:{leisure:"pitch",sport:"equestrian"},reference:{key:"sport",value:"equestrian"},terms:["dressage","equestrian","horse","horseback","riding"],name:"Riding Arena"},"leisure/pitch/field_hockey":{icon:"maki-pitch",geometry:["point","area"],tags:{leisure:"pitch",sport:"field_hockey"},reference:{key:"sport",value:"field_hockey"},terms:["landhockey"],name:"Field Hockey Pitch"},"leisure/pitch/horseshoes":{icon:"temaki-horseshoes",geometry:["point","area"],tags:{leisure:"pitch",sport:"horseshoes"},reference:{key:"sport",value:"horseshoes"},terms:["horse shoes"],name:"Horseshoes Pit"},"leisure/pitch/netball":{icon:"maki-volleyball",geometry:["point","area"],tags:{leisure:"pitch",sport:"netball"},reference:{key:"sport",value:"netball"},terms:[],name:"Netball Court"},"leisure/pitch/rugby_league":{icon:"maki-american-football",geometry:["point","area"],tags:{leisure:"pitch",sport:"rugby_league"},reference:{key:"sport",value:"rugby_league"},terms:[],name:"Rugby League Field"},"leisure/pitch/rugby_union":{icon:"maki-american-football",geometry:["point","area"],tags:{leisure:"pitch",sport:"rugby_union"},reference:{key:"sport",value:"rugby_union"},terms:[],name:"Rugby Union Field"},"leisure/pitch/shuffleboard":{icon:"temaki-shuffleboard",geometry:["point","area"],tags:{leisure:"pitch",sport:"shuffleboard"},reference:{key:"sport",value:"shuffleboard"},terms:["deck shuffleboard","floor shuffleboard"],name:"Shuffleboard Court"},"leisure/pitch/skateboard":{icon:"maki-skateboard",geometry:["point","area"],tags:{leisure:"pitch",sport:"skateboard"},reference:{key:"sport",value:"skateboard"},terms:[],name:"Skate Park"},"leisure/pitch/soccer":{icon:"maki-soccer",geometry:["point","area"],tags:{leisure:"pitch",sport:"soccer"},reference:{key:"sport",value:"soccer"},terms:["football"],name:"Soccer Field"},"leisure/pitch/softball":{icon:"maki-baseball",geometry:["point","area"],tags:{leisure:"pitch",sport:"softball"},reference:{key:"sport",value:"softball"},terms:["softball","diamond"],name:"Softball Field"},"leisure/pitch/table_tennis":{icon:"maki-tennis",fields:["name","lit","access_simple"],geometry:["point","area"],tags:{leisure:"pitch",sport:"table_tennis"},reference:{key:"sport",value:"table_tennis"},terms:["table tennis","ping pong"],name:"Ping Pong Table"},"leisure/pitch/tennis":{icon:"maki-tennis",fields:["{leisure/pitch}","access_simple"],geometry:["point","area"],tags:{leisure:"pitch",sport:"tennis"},reference:{key:"sport",value:"tennis"},terms:[],name:"Tennis Court"},"leisure/pitch/volleyball":{icon:"maki-volleyball",geometry:["point","area"],tags:{leisure:"pitch",sport:"volleyball"},reference:{key:"sport",value:"volleyball"},terms:[],name:"Volleyball Court"},"leisure/playground":{icon:"maki-playground",fields:["name","operator","surface","playground/max_age","playground/min_age","access_simple"],geometry:["point","area"],terms:["jungle gym","play area"],tags:{leisure:"playground"},name:"Playground"},"leisure/resort":{icon:"maki-lodging",fields:["name","operator","resort","address","opening_hours"],moreFields:["access_simple","email","fax","internet_access","internet_access/fee","internet_access/ssid","payment_multi","phone","website"],geometry:["point","area"],tags:{leisure:"resort"},terms:["recreation center","sanatorium","ski and snowboard resort","vacation resort","winter sports resort"],name:"Resort"},"leisure/sauna":{icon:"fas-thermometer-three-quarters",fields:["name","operator","address","opening_hours","access_simple","fee","payment_multi_fee"],moreFields:["website","phone","email","fax"],geometry:["point","area"],tags:{leisure:"sauna"},name:"Sauna"},"leisure/slipway_point":{icon:"maki-slipway",fields:["{leisure/slipway}"],moreFields:["{leisure/slipway}"],geometry:["point","vertex"],terms:["boat launch","boat ramp","boat landing"],tags:{leisure:"slipway"},name:"Slipway"},"leisure/slipway":{icon:"maki-slipway",fields:["name","surface","access_simple","fee","payment_multi_fee","lanes"],moreFields:["lit","opening_hours","seamark/type","width"],geometry:["line"],terms:["boat launch","boat ramp","boat landing"],tags:{leisure:"slipway"},addTags:{leisure:"slipway",highway:"service",service:"slipway"},matchScore:1.1,name:"Slipway"},"leisure/sports_centre":{icon:"maki-pitch",fields:["name","sport","building","address","fee","payment_multi_fee"],moreFields:["opening_hours","website","phone","email","fax"],geometry:["point","area"],tags:{leisure:"sports_centre"},terms:[],name:"Sports Center / Complex"},"leisure/sports_centre/climbing":{icon:"temaki-abseiling",geometry:["point","area"],terms:["abseiling","artificial climbing wall","belaying","bouldering","rock climbing facility","indoor rock wall","rappeling","rock gym","ropes"],tags:{leisure:"sports_centre",sport:"climbing"},reference:{key:"sport",value:"climbing"},name:"Climbing Gym"},"leisure/sports_centre/swimming":{icon:"fas-swimmer",geometry:["point","area"],terms:["dive","water"],tags:{leisure:"sports_centre",sport:"swimming"},reference:{key:"sport",value:"swimming"},name:"Swimming Pool Facility"},"leisure/stadium":{icon:"maki-pitch",fields:["name","sport","address"],moreFields:["website","phone","email","fax"],geometry:["point","area"],tags:{leisure:"stadium"},name:"Stadium"},"leisure/swimming_area":{icon:"fas-swimmer",fields:["name","access_simple","supervised","fee","payment_multi_fee","lit"],moreFields:["opening_hours","operator"],geometry:["area"],terms:["dive","water","aquatics"],tags:{leisure:"swimming_area"},name:"Natural Swimming Area"},"leisure/swimming_pool":{icon:"fas-swimming-pool",fields:["name","access_simple","lit","location_pool","length","swimming_pool"],moreFields:["address","opening_hours","operator"],geometry:["point","area"],terms:["dive","water","aquatics"],tags:{leisure:"swimming_pool"},name:"Swimming Pool"},"leisure/track":{icon:"iD-other-line",fields:["surface","sport_racing_nonmotor","lit","width","lanes"],moreFields:["access","covered","indoor"],geometry:["point","line","area"],tags:{leisure:"track"},terms:["cycle","dog","greyhound","horse","race*","track"],name:"Racetrack (Non-Motorsport)"},"leisure/track/cycling_point":{icon:"maki-bicycle",fields:["{leisure/track/cycling}"],geometry:["point"],tags:{leisure:"track",sport:"cycling"},terms:["bicycle track","bicycling track","cycle racetrack","velodrome"],name:"Cycling Track"},"leisure/track/cycling":{icon:"maki-bicycle",fields:["name","surface","sport_racing_nonmotor","lit","width","lanes"],geometry:["line","area"],tags:{leisure:"track",sport:"cycling"},terms:["bicycle track","bicycling track","cycle racetrack","velodrome"],name:"Cycling Track"},"leisure/track/horse_racing_point":{icon:"maki-horse-riding",fields:["{leisure/track/horse_racing}"],geometry:["point"],tags:{leisure:"track",sport:"horse_racing"},terms:["equestrian race track","horse race betting","horseracing","horsetrack","horse racetrack"],name:"Horse Racing Track"},"leisure/track/horse_racing":{icon:"maki-horse-riding",fields:["name","surface","sport_racing_nonmotor","lit","width","lanes"],geometry:["line","area"],tags:{leisure:"track",sport:"horse_racing"},terms:["equestrian race track","horse race betting","horseracing","horsetrack","horse racetrack"],name:"Horse Racing Track"},"leisure/track/running_point":{icon:"maki-pitch",fields:["{leisure/track/running}"],geometry:["point"],tags:{leisure:"track",sport:"running"},terms:["athletics track","decathlon","foot race","long distance running","marathon","middle distance running","racetrack","running","sprint","track","walking"],name:"Running Track"},"leisure/track/running":{icon:"maki-pitch",fields:["name","surface","sport_racing_nonmotor","lit","width","lanes"],geometry:["line","area"],tags:{leisure:"track",sport:"running"},terms:["athletics track","decathlon","foot race","long distance running","marathon","middle distance running","racetrack","running","sprint","track","walking"],name:"Running Track"},"leisure/water_park":{icon:"fas-swimmer",fields:["name","operator","address"],moreFields:["payment_multi","brand","website","phone","email","fax"],geometry:["point","area"],terms:["swim","pool","dive"],tags:{leisure:"water_park"},name:"Water Park"},line:{fields:["name"],geometry:["line"],tags:{},terms:["polyline"],name:"Line",matchScore:0.1},"man_made/adit":{icon:"maki-triangle",geometry:["point","area"],fields:["name","operator","resource","direction"],terms:["cave","horizontal mine entrance","tunnel","underground"],tags:{man_made:"adit"},name:"Adit"},"man_made/antenna":{icon:"temaki-antenna",fields:["communication_multi","operator","manufacturer","height"],geometry:["point"],terms:["broadcast","cell phone","cell","communication","mobile phone","radio","television","transmission","tv"],tags:{man_made:"antenna"},name:"Antenna"},"man_made/beacon":{icon:"maki-communications-tower",fields:["name","height"],moreFields:["seamark/type"],geometry:["point","area"],tags:{man_made:"beacon"},name:"Beacon",matchScore:0.5},"man_made/beehive":{icon:"fas-archive",geometry:["point","area"],fields:["ref","operator","seasonal","height","colour"],moreFields:["manufacturer"],terms:["apiary","beekeeper","farm","honey","pollination"],tags:{man_made:"beehive"},name:"Beehive"},"man_made/breakwater":{fields:["material","seamark/type"],geometry:["line","area"],tags:{man_made:"breakwater"},name:"Breakwater"},"man_made/bridge":{icon:"maki-bridge",fields:["name","bridge","layer","maxweight"],moreFields:["manufacturer","material","seamark/type"],geometry:["area"],tags:{man_made:"bridge"},addTags:{man_made:"bridge",layer:"1"},removeTags:{man_made:"bridge",layer:"*"},reference:{key:"man_made",value:"bridge"},name:"Bridge",matchScore:0.85},"man_made/bunker_silo":{icon:"temaki-silo",fields:["content"],geometry:["point","area"],terms:["Silage","Storage"],tags:{man_made:"bunker_silo"},name:"Bunker Silo"},"man_made/cairn":{icon:"temaki-cairn",geometry:["point","area"],terms:["rock pile","stone stack","stone pile","càrn"],tags:{man_made:"cairn"},name:"Cairn"},"man_made/chimney":{icon:"temaki-chimney",fields:["operator","material","height"],geometry:["point","area"],tags:{man_made:"chimney"},name:"Chimney"},"man_made/clearcut":{icon:"maki-logging",geometry:["area"],tags:{man_made:"clearcut"},terms:["cut","forest","lumber","tree","wood"],name:"Clearcut Forest"},"man_made/crane":{icon:"temaki-crane",fields:["operator","manufacturer","height","crane/type"],geometry:["point","line","vertex","area"],tags:{man_made:"crane"},name:"Crane"},"man_made/cross":{icon:"maki-religious-christian",fields:["name","material","height","elevation","inscription","direction"],geometry:["point","vertex"],tags:{man_made:"cross"},name:"Summit Cross"},"man_made/cutline":{icon:"maki-logging",geometry:["line"],tags:{man_made:"cutline"},name:"Cut line"},"man_made/dyke":{geometry:["line"],tags:{man_made:"dyke"},terms:["Dike","Dyke","Floodbank","Stopbank"],name:"Levee"},"man_made/embankment":{geometry:["line"],tags:{man_made:"embankment"},name:"Embankment"},"man_made/flagpole":{icon:"maki-embassy",fields:["operator","flag/type","country","lit","height"],moreFields:["manufacturer","material"],geometry:["point","vertex"],tags:{man_made:"flagpole"},name:"Flagpole"},"man_made/gasometer":{icon:"temaki-storage_tank",fields:["content","building_area"],geometry:["point","area"],terms:["gas holder"],tags:{man_made:"gasometer"},name:"Gasometer"},"man_made/groyne":{fields:["material","seamark/type"],geometry:["line","area"],tags:{man_made:"groyne"},name:"Groyne"},"man_made/lighthouse":{icon:"maki-lighthouse",fields:["name","operator","building_area","height"],moreFields:["address","email","fax","phone","seamark/type","website"],geometry:["point","area"],tags:{man_made:"lighthouse"},addTags:{man_made:"lighthouse","seamark:type":"light_major"},removeTags:{man_made:"lighthouse","seamark:type":"*"},name:"Lighthouse"},"man_made/mast":{icon:"maki-communications-tower",fields:["tower/type","tower/construction","height"],moreFields:["manufacturer","material","communication_multi"],geometry:["point"],terms:["antenna","broadcast tower","cell phone tower","cell tower","communication mast","communication tower","guyed tower","mobile phone tower","radio mast","radio tower","television tower","transmission mast","transmission tower","tv tower"],tags:{man_made:"mast"},name:"Mast"},"man_made/mast/communication":{icon:"maki-communications-tower",fields:["{man_made/mast}","communication_multi"],geometry:["point"],terms:["antenna","broadcast tower","cell phone tower","cell tower","communication mast","communication tower","guyed tower","mobile phone tower","radio mast","radio tower","television tower","transmission mast","transmission tower","tv tower"],tags:{man_made:"mast","tower:type":"communication"},reference:{key:"tower:type",value:"communication"},name:"Communication Mast"},"man_made/mast/communication/mobile_phone":{icon:"maki-communications-tower",geometry:["point"],terms:["antenna","cell mast","cell phone mast","cell phone tower","cell tower","communication mast","communication tower","guyed tower","mobile phone tower","transmission mast","transmission tower"],tags:{man_made:"mast","tower:type":"communication","communication:mobile_phone":"yes"},reference:{key:"communication:mobile_phone",value:"yes"},name:"Mobile Phone Mast"},"man_made/mast/communication/radio":{icon:"maki-communications-tower",geometry:["point"],terms:["antenna","broadcast tower","communication mast","communication tower","guyed tower","radio mast","radio tower","transmission mast","transmission tower"],tags:{man_made:"mast","tower:type":"communication","communication:radio":"yes"},reference:{key:"communication:radio",value:"yes"},name:"Radio Broadcast Mast"},"man_made/mast/communication/television":{icon:"maki-communications-tower",geometry:["point"],terms:["antenna","broadcast tower","communication mast","communication tower","guyed tower","television mast","television tower","transmission mast","transmission tower","tv mast","tv tower"],tags:{man_made:"mast","tower:type":"communication","communication:television":"yes"},reference:{key:"communication:television",value:"yes"},name:"Television Broadcast Mast"},"man_made/mineshaft":{icon:"maki-triangle",geometry:["point","area"],fields:["name","operator","resource"],terms:["cave","mine shaft","tunnel","underground","vertical mine entrance"],tags:{man_made:"mineshaft"},name:"Mineshaft"},"man_made/monitoring_station":{icon:"temaki-antenna",geometry:["point","vertex","area"],fields:["monitoring_multi","operator","manufacturer"],terms:["weather","earthquake","seismology","air","gps"],tags:{man_made:"monitoring_station"},name:"Monitoring Station"},"man_made/observatory":{fields:["name","operator","address","access_simple","building_area"],moreFields:["website","phone","email","fax"],geometry:["point","area"],terms:["astronomical","meteorological"],tags:{man_made:"observatory"},name:"Observatory"},"man_made/petroleum_well":{icon:"temaki-storage_tank",geometry:["point"],terms:["drilling rig","oil derrick","oil drill","oil horse","oil rig","oil pump","petroleum well","pumpjack"],tags:{man_made:"petroleum_well"},name:"Oil Well"},"man_made/pier":{icon:"temaki-pedestrian",fields:["name","surface","floating","width","access","lit"],moreFields:["access","fishing","incline","{highway/footway}"],geometry:["line","area"],terms:["berth","dock","jetty","landing","promenade","wharf"],tags:{man_made:"pier"},name:"Pier"},"man_made/pier/floating":{icon:"temaki-pedestrian",geometry:["line","area"],terms:["berth","dock","jetty","landing","promenade","wharf"],tags:{man_made:"pier",floating:"yes"},addTags:{highway:"footway",man_made:"pier",floating:"yes"},name:"Floating Pier"},"man_made/pipeline":{icon:"iD-pipeline-line",fields:["operator","location","substance","layer","diameter"],geometry:["line"],terms:["oil","natural gas","water","sewer","sewage"],tags:{man_made:"pipeline"},name:"Pipeline"},"man_made/pipeline/underground":{icon:"iD-pipeline-line",geometry:["line"],terms:["oil","natural gas","water","sewer","sewage"],tags:{man_made:"pipeline",location:"underground"},addTags:{man_made:"pipeline",location:"underground",layer:"-1"},name:"Underground Pipeline"},"man_made/pipeline/valve":{geometry:["vertex"],fields:["ref","operator","valve","location","diameter"],moreFields:["colour","manufacturer","material"],terms:["oil","natural gas","water","sewer","sewage"],tags:{man_made:"pipeline",pipeline:"valve"},name:"Pipeline Valve"},"man_made/pumping_station":{icon:"maki-water",geometry:["point","area"],tags:{man_made:"pumping_station"},name:"Pumping Station"},"man_made/silo":{icon:"temaki-silo",fields:["crop","building_area"],geometry:["point","area"],terms:["grain","corn","wheat"],tags:{man_made:"silo"},name:"Silo"},"man_made/storage_tank":{icon:"temaki-storage_tank",fields:["content","operator","material","building_area","height","capacity"],moreFields:["layer","location","manufacturer"],geometry:["point","area"],terms:["water","oil","gas","petrol"],tags:{man_made:"storage_tank"},name:"Storage Tank"},"man_made/storage_tank/water":{icon:"temaki-storage_tank",geometry:["point","area"],terms:["cistern","water tower"],tags:{man_made:"storage_tank",content:"water"},name:"Water Tank"},"man_made/street_cabinet":{icon:"fas-door-closed",geometry:["point","area"],fields:["ref","operator","street_cabinet","height","colour"],terms:["cable tv","monitoring box","technical box","telecommunications","traffic signal controls"],tags:{man_made:"street_cabinet"},name:"Street Cabinet"},"man_made/surveillance":{icon:"temaki-security_camera",geometry:["point","vertex"],fields:["surveillance","surveillance/type","surveillance/zone","direction"],terms:["anpr","alpr","camera","car plate recognition","cctv","guard","license plate recognition","monitoring","number plate recognition","security","video","webcam"],tags:{man_made:"surveillance"},name:"Surveillance"},"man_made/surveillance/camera":{icon:"temaki-security_camera",geometry:["point","vertex"],fields:["surveillance","surveillance/type","camera/type","camera/mount","camera/direction","surveillance/zone","contact/webcam"],moreFields:["manufacturer"],terms:["anpr","alpr","camera","car plate recognition","cctv","guard","license plate recognition","monitoring","number plate recognition","security","video","webcam"],tags:{man_made:"surveillance","surveillance:type":"camera"},name:"Surveillance Camera"},"man_made/survey_point":{icon:"maki-monument",fields:["ref"],geometry:["point","vertex"],terms:["trig point","triangulation pillar","trigonometrical station"],tags:{man_made:"survey_point"},name:"Survey Point"},"man_made/torii":{icon:"temaki-shinto",fields:["height","material","colour","lit"],moreFields:["name","operator","ref"],geometry:["point","vertex","line"],terms:["Japanese gate","Shinto shrine"],tags:{man_made:"torii"},name:"Torii"},"man_made/tower":{icon:"temaki-tower",fields:["tower/type","tower/construction","height","building_area"],moreFields:["architect"],geometry:["point","area"],tags:{man_made:"tower"},name:"Tower"},"man_made/tower/bell_tower":{icon:"fas-bell",moreFields:["{man_made/tower}","opening_hours"],geometry:["point","area"],terms:["belfry","bell gable","campanile","church tower","klockstapel"],tags:{man_made:"tower","tower:type":"bell_tower"},reference:{key:"tower:type",value:"bell_tower"},name:"Bell Tower"},"man_made/tower/communication":{icon:"temaki-tower",fields:["{man_made/tower}","communication_multi"],geometry:["point","area"],terms:["antenna","broadcast tower","cell phone tower","cell tower","communication mast","communication tower","guyed tower","mobile phone tower","radio mast","radio tower","television tower","transmission mast","transmission tower","tv tower"],tags:{man_made:"tower","tower:type":"communication"},reference:{key:"tower:type",value:"communication"},name:"Communication Tower"},"man_made/tower/defensive":{icon:"maki-castle",geometry:["point","area"],tags:{man_made:"tower","tower:type":"defensive"},reference:{key:"tower:type",value:"defensive"},terms:["Defensive Tower","Castle Tower"],name:"Fortified Tower"},"man_made/tower/minaret":{icon:"temaki-tower",geometry:["point","area"],terms:["Islam","mosque","Muezzin","Muslim"],tags:{man_made:"tower","tower:type":"minaret"},reference:{key:"tower:type",value:"minaret"},name:"Minaret"},"man_made/tower/observation":{icon:"temaki-tower",moreFields:["{man_made/tower}","opening_hours"],geometry:["point","area"],terms:["lookout tower","fire tower"],tags:{man_made:"tower","tower:type":"observation"},reference:{key:"tower:type",value:"observation"},name:"Observation Tower"},"man_made/tunnel":{icon:"tnp-2009642",fields:["name","tunnel","layer","width","length","height"],geometry:["area"],tags:{man_made:"tunnel"},addTags:{man_made:"tunnel",layer:"-1"},removeTags:{man_made:"tunnel",layer:"*"},reference:{key:"man_made",value:"tunnel"},terms:["bore","dig","shaft","underground passage","underpass"],name:"Tunnel"},"man_made/wastewater_plant":{icon:"maki-water",fields:["name","operator","address"],moreFields:["website","phone","email","fax"],geometry:["point","area"],terms:["sewage*","water treatment plant","reclamation plant"],tags:{man_made:"wastewater_plant"},name:"Wastewater Plant"},"man_made/water_tower":{icon:"maki-water",fields:["operator","height"],geometry:["point","area"],tags:{man_made:"water_tower"},name:"Water Tower"},"man_made/water_well":{icon:"maki-water",fields:["operator"],geometry:["point","area"],tags:{man_made:"water_well"},name:"Water Well"},"man_made/water_works":{icon:"maki-water",fields:["name","operator","address"],geometry:["point","area"],tags:{man_made:"water_works"},name:"Water Works"},"man_made/watermill":{icon:"maki-watermill",fields:["building_area"],geometry:["point","area"],terms:["water","wheel","mill"],tags:{man_made:"watermill"},name:"Watermill"},"man_made/windmill":{icon:"maki-windmill",fields:["building_area"],geometry:["point","area"],terms:["wind","wheel","mill"],tags:{man_made:"windmill"},name:"Windmill"},"man_made/works":{icon:"maki-industry",fields:["name","operator","address","building_area","product"],moreFields:["website","phone","email","fax"],geometry:["point","area"],terms:["assembly","build","brewery","car","plant","plastic","processing","manufacture","refinery"],tags:{man_made:"works"},name:"Factory"},manhole:{icon:"maki-circle-stroked",fields:["manhole","operator","label","ref"],geometry:["point","vertex"],tags:{manhole:"*"},addTags:{man_made:"manhole",manhole:"*"},terms:["cover","hole","sewer","sewage","telecom"],name:"Manhole"},"manhole/drain":{icon:"maki-water",fields:["operator","ref"],geometry:["point","vertex"],tags:{manhole:"drain"},addTags:{man_made:"manhole",manhole:"drain"},terms:["cover","drain","hole","rain","sewer","sewage","storm"],name:"Storm Drain"},"manhole/telecom":{icon:"maki-circle-stroked",fields:["operator","ref"],geometry:["point","vertex"],tags:{manhole:"telecom"},addTags:{man_made:"manhole",manhole:"telecom"},terms:["cover","phone","hole","telecom","telephone","bt"],name:"Telecom Manhole"},"military/bunker":{icon:"temaki-military",fields:["name","bunker_type","building_area"],geometry:["point","area"],tags:{military:"bunker"},addTags:{building:"bunker",military:"bunker"},terms:["air force","army","base","fight","force","guard","marine","navy","troop","war"],name:"Military Bunker"},"military/checkpoint":{icon:"maki-barrier",fields:["name"],geometry:["point","vertex","area"],tags:{military:"checkpoint"},terms:["air force","army","base","force","guard","marine","navy","troop","war"],name:"Checkpoint"},"military/nuclear_explosion_site":{icon:"maki-danger",fields:["name"],geometry:["point","vertex","area"],tags:{military:"nuclear_explosion_site"},terms:["atom","blast","bomb","detonat*","nuke","site","test"],name:"Nuclear Explosion Site"},"military/office":{icon:"temaki-military",fields:["name","building_area"],geometry:["point","area"],tags:{military:"office"},terms:["air force","army","base","enlist","fight","force","guard","marine","navy","recruit","troop","war"],name:"Military Office"},"military/trench":{icon:"temaki-military",fields:["name","trench"],geometry:["point","line"],tags:{military:"trench"},terms:["dugout","firestep","fox hole","infantry trench","war trench"],name:"Military Trench"},"natural/bare_rock":{geometry:["area"],tags:{natural:"bare_rock"},terms:["rock"],name:"Bare Rock"},"natural/bay":{icon:"temaki-beach",geometry:["point","line","area"],fields:["name"],tags:{natural:"bay"},terms:[],name:"Bay"},"natural/beach":{icon:"temaki-beach",fields:["surface"],geometry:["point","area"],tags:{natural:"beach"},terms:["shore"],name:"Beach"},"natural/cape":{icon:"temaki-beach",fields:["name","elevation","description"],geometry:["point"],tags:{natural:"cape"},terms:["bay","coastline","erosion","headland","promontory"],name:"Cape"},"natural/cave_entrance":{icon:"maki-triangle",geometry:["point","area"],fields:["name","elevation","access_simple","direction","fee","payment_multi_fee"],tags:{natural:"cave_entrance"},terms:["cavern","hollow","grotto","shelter","cavity"],name:"Cave Entrance"},"natural/cliff":{icon:"maki-triangle",fields:["name","height"],geometry:["point","vertex","line","area"],tags:{natural:"cliff"},terms:["crag","escarpment","rock face","scarp"],name:"Cliff"},"natural/coastline":{geometry:["line"],tags:{natural:"coastline"},terms:["shore"],name:"Coastline"},"natural/fell":{geometry:["area"],tags:{natural:"fell"},terms:[],name:"Fell"},"natural/glacier":{icon:"temaki-snow",geometry:["area"],tags:{natural:"glacier"},terms:["ice","snow"],name:"Glacier"},"natural/grassland":{geometry:["area"],tags:{natural:"grassland"},terms:["prairie","savanna"],name:"Grassland"},"natural/heath":{geometry:["area"],tags:{natural:"heath"},terms:[],name:"Heath"},"natural/mud":{geometry:["area"],tags:{natural:"mud"},terms:["wetland"],name:"Mud"},"natural/peak":{icon:"maki-mountain",fields:["name","elevation"],geometry:["point","vertex"],tags:{natural:"peak"},terms:["acme","aiguille","alp","climax","crest","crown","hill","mount","mountain","pinnacle","summit","tip","top"],name:"Peak"},"natural/reef":{icon:"temaki-beach",geometry:["point","area"],tags:{natural:"reef"},terms:["barrier","coral","ocean","sand","shoal"],name:"Reef"},"natural/ridge":{geometry:["line"],tags:{natural:"ridge"},terms:["crest"],name:"Ridge"},"natural/rock":{icon:"temaki-boulder2",fields:["name"],geometry:["point","area"],tags:{natural:"rock"},terms:["boulder","stone","rock"],name:"Attached Rock / Boulder"},"natural/saddle":{icon:"maki-triangle-stroked",fields:["elevation"],geometry:["point","vertex"],tags:{natural:"saddle"},terms:["pass","mountain pass","top"],name:"Saddle"},"natural/sand":{geometry:["area"],tags:{natural:"sand"},terms:["desert"],name:"Sand"},"natural/scree":{geometry:["area"],tags:{natural:"scree"},terms:["loose rocks"],name:"Scree"},"natural/scrub":{geometry:["area"],tags:{natural:"scrub"},terms:["bush","shrubs"],name:"Scrub"},"natural/shingle":{geometry:["area"],tags:{natural:"shingle"},terms:["beach","gravel","pebbles","riverbed","rounded rock fragments"],name:"Shingle"},"natural/spring":{icon:"maki-water",fields:["name","intermittent"],geometry:["point","vertex"],tags:{natural:"spring"},terms:[],name:"Spring"},"natural/stone":{icon:"temaki-boulder1",fields:["name"],geometry:["point","area"],tags:{natural:"stone"},terms:["boulder","stone","rock"],name:"Unattached Stone / Boulder"},"natural/tree_row":{icon:"maki-park",fields:["leaf_type","leaf_cycle","denotation"],geometry:["line"],tags:{natural:"tree_row"},terms:[],name:"Tree Row"},"natural/tree":{icon:"maki-park",fields:["leaf_type_singular","leaf_cycle_singular","denotation","diameter"],geometry:["point","vertex"],tags:{natural:"tree"},terms:[],name:"Tree"},"natural/valley":{icon:"maki-triangle-stroked",fields:["name","elevation","description"],geometry:["vertex","point","line"],tags:{natural:"valley"},terms:["canyon","dale","dell","dene","depression","glen","gorge","gully","gulley","gultch","hollow","ravine","rift","vale"],name:"Valley"},"natural/volcano":{icon:"maki-volcano",fields:["name","elevation","volcano/status","volcano/type"],geometry:["point","vertex"],tags:{natural:"volcano"},terms:["mountain","crater"],name:"Volcano"},"natural/water":{icon:"maki-water",fields:["name","water","intermittent"],moreFields:["fishing","salt","tidal"],geometry:["area"],tags:{natural:"water"},name:"Water"},"natural/water/basin":{icon:"maki-water",fields:["name","basin","intermittent_yes"],geometry:["area"],tags:{natural:"water",water:"basin"},reference:{key:"water",value:"basin"},terms:["detention","drain","overflow","rain","retention"],name:"Basin"},"natural/water/canal":{icon:"iD-waterway-canal",fields:["{natural/water}","salt"],geometry:["area"],tags:{natural:"water",water:"canal"},reference:{key:"water",value:"canal"},name:"Canal"},"natural/water/lake":{icon:"maki-water",fields:["{natural/water}","salt","tidal"],geometry:["area"],tags:{natural:"water",water:"lake"},reference:{key:"water",value:"lake"},terms:["lakelet","loch","mere"],name:"Lake"},"natural/water/moat":{icon:"maki-water",fields:["{natural/water}","salt"],geometry:["area"],tags:{natural:"water",water:"moat"},name:"Moat"},"natural/water/pond":{icon:"maki-water",fields:["{natural/water}","salt"],geometry:["area"],tags:{natural:"water",water:"pond"},reference:{key:"water",value:"pond"},terms:["lakelet","millpond","tarn","pool","mere"],name:"Pond"},"natural/water/reservoir":{icon:"maki-water",geometry:["area"],tags:{natural:"water",water:"reservoir"},reference:{key:"water",value:"reservoir"},name:"Reservoir"},"natural/water/river":{icon:"iD-waterway-river",fields:["{natural/water}","tidal"],geometry:["area"],tags:{natural:"water",water:"river"},reference:{key:"water",value:"river"},terms:["beck","branch","brook","course","creek","estuary","rill","riverbank","rivulet","run","runnel","stream","tributary","watercourse"],name:"River"},"natural/water/stream":{icon:"iD-waterway-stream",fields:["{natural/water}"],geometry:["area"],tags:{natural:"water",water:"stream"},reference:{key:"water",value:"stream"},terms:["beck","branch","brook","burn","course","creek","current","drift","flood","flow","freshet","race","rill","rindle","rivulet","run","runnel","rush","spate","spritz","surge","tide","torrent","tributary","watercourse"],name:"Stream"},"natural/water/wastewater":{icon:"maki-water",geometry:["area"],tags:{natural:"water",water:"wastewater"},reference:{key:"water",value:"wastewater"},terms:["excrement","shit","sewage","wastewater","Settling Basin","Clarifier Basin"],name:"Wastewater Basin"},"natural/wetland":{icon:"maki-wetland",fields:["wetland","salt","tidal"],geometry:["point","area"],tags:{natural:"wetland"},terms:["bog","fen","marsh","mire","moor","muskeg","peatland","quagmire","reedbed","saltmarsh","swamp","tidalflat","wet meadow"],name:"Wetland"},"natural/wood":{icon:"maki-park-alt1",fields:["name","leaf_type","leaf_cycle"],geometry:["point","area"],tags:{natural:"wood"},terms:["tree"],name:"Wood"},"noexit/yes":{icon:"maki-barrier",geometry:["vertex"],terms:["no exit","road end","dead end"],tags:{noexit:"yes"},reference:{key:"noexit",value:"*"},name:"No Exit"},office:{icon:"maki-suitcase",fields:["name","office","address","building_area","opening_hours"],moreFields:["air_conditioning","building/levels_building","height_building","email","fax","internet_access","internet_access/fee","internet_access/ssid","operator","phone","smoking","website","wheelchair"],geometry:["point","vertex","area"],tags:{office:"*"},terms:[],name:"Office"},"office/administrative":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"administrative"},terms:[],searchable:false,name:"Administrative Office"},"office/physician":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"physician"},searchable:false,name:"Physician"},"office/travel_agent":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"travel_agent"},reference:{key:"shop",value:"travel_agency"},terms:[],name:"Travel Agency",searchable:false},"office/accountant":{icon:"temaki-accounting",geometry:["point","area"],tags:{office:"accountant"},terms:[],name:"Accountant Office"},"office/adoption_agency":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"adoption_agency"},terms:[],name:"Adoption Agency"},"office/advertising_agency":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"advertising_agency"},terms:["ad","ad agency","advert agency","advertising","marketing"],name:"Advertising Agency"},"office/architect":{icon:"fas-drafting-compass",geometry:["point","area"],tags:{office:"architect"},terms:[],name:"Architect Office"},"office/association":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"association"},terms:["association","non-profit","nonprofit","organization","society"],name:"Nonprofit Organization Office"},"office/bail_bond_agent":{icon:"maki-bank",moreFields:["{office}","currency_multi","payment_multi"],geometry:["point","area"],tags:{office:"bail_bond_agent"},terms:["bail bond dealer","bail bond man","bail bondsman","bail bondsperson"],name:"Bail Bond Agent"},"office/charity":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"charity"},terms:["charitable organization"],name:"Charity Office"},"office/company":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"company"},terms:[],name:"Corporate Office"},"office/coworking":{icon:"maki-suitcase",fields:["{office}","internet_access"],moreFields:["internet_access/fee","internet_access/ssid"],geometry:["point","area"],terms:["coworking","office"],tags:{office:"coworking"},reference:{key:"amenity",value:"coworking_space"},name:"Coworking Space"},"office/diplomatic":{icon:"maki-embassy",fields:["name","diplomatic","country","target","diplomatic/services","{office}"],geometry:["point","area"],tags:{office:"diplomatic"},terms:[],name:"Diplomatic Office"},"office/diplomatic/consulate":{icon:"maki-embassy",fields:["name","consulate","{office/diplomatic}"],geometry:["point","area"],tags:{office:"diplomatic",diplomatic:"consulate"},reference:{key:"diplomatic",value:"consulate"},terms:[],name:"Consulate"},"office/diplomatic/embassy":{icon:"maki-embassy",fields:["name","embassy","{office/diplomatic}"],geometry:["point","area"],tags:{office:"diplomatic",diplomatic:"embassy"},reference:{key:"diplomatic",value:"embassy"},terms:[],name:"Embassy"},"office/diplomatic/liaison":{icon:"maki-embassy",fields:["name","liaison","{office/diplomatic}"],geometry:["point","area"],tags:{office:"diplomatic",diplomatic:"liaison"},reference:{key:"diplomatic",value:"liaison"},terms:[],name:"Liaison Office"},"office/educational_institution":{icon:"maki-school",geometry:["point","area"],tags:{office:"educational_institution"},terms:[],name:"Educational Institution"},"office/employment_agency":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"employment_agency"},terms:["job"],name:"Employment Agency"},"office/energy_supplier":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"energy_supplier"},terms:["electricity","energy company","energy utility","gas utility"],name:"Energy Supplier Office"},"office/estate_agent":{icon:"temaki-real_estate_agency",geometry:["point","area"],tags:{office:"estate_agent"},terms:["real estate"],name:"Real Estate Office"},"office/financial_advisor":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"financial_advisor"},terms:["401k","inheritance","savings","stocks","retirement","wealth management"],name:"Financial Advisor"},"office/financial":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"financial"},terms:[],name:"Financial Office"},"office/forestry":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"forestry"},terms:["forest","ranger"],name:"Forestry Office"},"office/foundation":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"foundation"},terms:[],name:"Foundation Office"},"office/government":{icon:"maki-town-hall",fields:["name","government","{office}"],geometry:["point","area"],tags:{office:"government"},terms:[],name:"Government Office"},"office/government/register_office":{icon:"maki-town-hall",fields:["{office}","operator"],geometry:["point","area"],terms:["clerk","marriage","death","birth","certificate"],tags:{office:"government",government:"register_office"},reference:{key:"government",value:"register_office"},name:"Register Office"},"office/government/tax":{icon:"maki-town-hall",fields:["{office}","operator"],geometry:["point","area"],terms:["fiscal authorities","revenue office","tax office"],tags:{office:"government",government:"tax"},reference:{key:"government",value:"tax"},name:"Tax and Revenue Office"},"office/guide":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"guide"},terms:["dive guide","mountain guide","tour guide"],name:"Tour Guide Office"},"office/insurance":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"insurance"},terms:[],name:"Insurance Office"},"office/it":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"it"},terms:["computer","information","software","technology"],name:"Information Technology Office"},"office/lawyer":{icon:"fas-balance-scale",geometry:["point","area"],tags:{office:"lawyer"},terms:[],name:"Law Office"},"office/lawyer/notary":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"lawyer",lawyer:"notary"},reference:{key:"office",value:"notary"},searchable:false,name:"Notary Office"},"office/moving_company":{icon:"fas-people-carry",geometry:["point","area"],tags:{office:"moving_company"},terms:["relocation"],name:"Moving Company Office"},"office/newspaper":{icon:"fas-newspaper",geometry:["point","area"],tags:{office:"newspaper"},terms:[],name:"Newspaper Office"},"office/ngo":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"ngo"},terms:["ngo","non government","non-government","organization","organisation"],name:"NGO Office"},"office/notary":{icon:"fas-stamp",geometry:["point","area"],tags:{office:"notary"},terms:["clerk","deeds","estate","signature","wills"],name:"Notary Office"},"office/political_party":{icon:"maki-town-hall",geometry:["point","area"],tags:{office:"political_party"},terms:[],name:"Political Party"},"office/private_investigator":{icon:"fas-user-secret",geometry:["point","area"],tags:{office:"private_investigator"},terms:["PI","private eye","private detective"],name:"Private Investigator Office"},"office/quango":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"quango"},terms:["ngo","non government","non-government","organization","organisation","quasi autonomous","quasi-autonomous"],name:"Quasi-NGO Office"},"office/religion":{icon:"maki-suitcase",fields:["{office}","religion","denomination"],geometry:["point","area"],tags:{office:"religion"},terms:[],name:"Religious Office"},"office/research":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"research"},terms:[],name:"Research Office"},"office/surveyor":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"surveyor"},terms:[],name:"Surveyor Office"},"office/tax_advisor":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"tax_advisor"},terms:["tax","tax consultant"],name:"Tax Advisor Office"},"office/telecommunication":{icon:"maki-telephone",geometry:["point","area"],tags:{office:"telecommunication"},terms:["communication","internet service provider","isp","network","telephone","voice"],name:"Telecom Office"},"office/therapist":{icon:"maki-suitcase",geometry:["point","area"],tags:{office:"therapist"},terms:["therapy"],name:"Therapist Office"},"office/water_utility":{icon:"maki-suitcase",fields:["{office}","operator"],geometry:["point","area"],tags:{office:"water_utility"},terms:["water board","utility"],name:"Water Utility Office"},"piste/downhill":{icon:"fas-skiing",fields:["name","piste/type","piste/difficulty_downhill","piste/grooming_downhill","oneway","lit"],geometry:["line","area"],terms:["ski","alpine","snowboard","downhill","piste"],tags:{"piste:type":"downhill"},name:"Downhill Piste/Ski Run"},"piste/downhill/halfpipe":{icon:"fas-snowboarding",geometry:["line","area"],terms:["ski","alpine","halfpipe","half pipe","snowboard","downhill","piste"],tags:{"piste:type":"downhill",man_made:"piste:halfpipe"},name:"Halfpipe"},"piste/hike":{icon:"temaki-snow_shoeing",fields:["name","piste/type","piste/difficulty","piste/grooming_hike","oneway","lit"],geometry:["line","area"],terms:["hike","winter hiking","snowshoe","snowshoeing","piste","ski"],tags:{"piste:type":"hike"},name:"Snowshoeing or Winter Hiking Trail"},"piste/ice_skate":{icon:"fas-skating",fields:["name","piste/type","sport_ice","oneway","lit"],geometry:["line","area"],terms:["ice","skating","ski","piste"],tags:{"piste:type":"ice_skate"},name:"Ice Skating Piste"},"piste/nordic":{icon:"fas-skiing-nordic",fields:["name","piste/type","piste/difficulty_nordic","piste/grooming_nordic","oneway","lit"],geometry:["line","area"],terms:["ski","nordic","crosscountry","skating","piste"],tags:{"piste:type":"nordic"},name:"Nordic or Crosscountry Piste/Ski Trail"},"piste/piste":{icon:"fas-skiing",fields:["name","piste/type","piste/difficulty","piste/grooming","oneway","lit"],geometry:["line","area"],terms:["ski","nordic","crosscountry","downhill","alpine","snowboard","skitour","ski touring","sled","luge","sleigh","sledge","ski-joring","husky","horse","winter hiking","snowshoe","snowshoeing","ice","skating"],tags:{"piste:type":"*"},name:"Winter Sport Trails"},"piste/skitour":{icon:"fas-skiing-nordic",fields:["name","piste/type","piste/difficulty_skitour","piste/grooming","oneway","lit"],geometry:["line","area"],terms:["ski","skitour","crosscountry","ski touring","piste"],tags:{"piste:type":"skitour"},name:"Ski Touring Trail"},"piste/sled":{icon:"temaki-sledding",fields:["name","piste/type","piste/difficulty","piste/grooming","oneway","lit"],geometry:["line","area"],terms:["ski","sled","luge","sleigh","sledge","piste"],tags:{"piste:type":"sled"},name:"Sled Piste"},"piste/sleigh":{icon:"fas-sleigh",fields:["name","piste/type","piste/difficulty","piste/grooming","oneway","lit"],geometry:["line","area"],terms:["ski","piste","sled","luge","sleigh","sledge","ski-joring","husky","horse"],tags:{"piste:type":"sleigh"},name:"Sleigh Piste"},"place/farm":{icon:"maki-farm",geometry:["point","area"],fields:["name"],tags:{place:"farm"},name:"Farm",searchable:false},"place/city_block":{icon:"maki-triangle-stroked",fields:["name"],moreFields:["website"],geometry:["point","area"],tags:{place:"city_block"},name:"City Block"},"place/city":{icon:"maki-city",fields:["name","population"],moreFields:["website"],geometry:["point","area"],tags:{place:"city"},name:"City"},"place/hamlet":{icon:"maki-triangle-stroked",fields:["name","population"],moreFields:["website"],geometry:["point","area"],tags:{place:"hamlet"},name:"Hamlet"},"place/island":{icon:"maki-mountain",geometry:["point","area"],fields:["name"],terms:["archipelago","atoll","bar","cay","isle","islet","key","reef"],tags:{place:"island"},name:"Island"},"place/islet":{icon:"maki-mountain",geometry:["point","area"],fields:["name"],terms:["archipelago","atoll","bar","cay","isle","islet","key","reef"],tags:{place:"islet"},name:"Islet"},"place/isolated_dwelling":{icon:"maki-home",geometry:["point","area"],fields:["name"],tags:{place:"isolated_dwelling"},name:"Isolated Dwelling"},"place/locality":{icon:"maki-triangle-stroked",geometry:["point","area"],moreFields:["website"],fields:["name"],tags:{place:"locality"},name:"Locality"},"place/neighbourhood":{icon:"maki-triangle-stroked",fields:["name","population"],moreFields:["website"],geometry:["point","area"],tags:{place:"neighbourhood"},terms:["neighbourhood"],name:"Neighborhood"},"place/plot":{icon:"maki-triangle-stroked",fields:["name"],geometry:["point","area"],tags:{place:"plot"},terms:["tract","land","lot","parcel"],name:"Plot"},"place/quarter":{icon:"maki-triangle-stroked",fields:["name","population"],moreFields:["website"],geometry:["point","area"],tags:{place:"quarter"},terms:["boro","borough","quarter"],name:"Sub-Borough / Quarter"},"place/square":{icon:"temaki-pedestrian",geometry:["point","area"],fields:["name"],moreFields:["website"],tags:{place:"square"},name:"Square"},"place/suburb":{icon:"maki-triangle-stroked",fields:["name","population"],moreFields:["website"],geometry:["point","area"],tags:{place:"suburb"},terms:["boro","borough","quarter"],name:"Borough / Suburb"},"place/town":{icon:"maki-town",fields:["name","population"],moreFields:["website"],geometry:["point","area"],tags:{place:"town"},name:"Town"},"place/village":{icon:"maki-village",fields:["name","population"],moreFields:["website"],geometry:["point","area"],tags:{place:"village"},name:"Village"},"playground/balance_beam":{icon:"maki-playground",geometry:["point","line"],tags:{playground:"balancebeam"},name:"Play Balance Beam"},"playground/basket_spinner":{icon:"maki-playground",geometry:["point"],terms:["basket rotator"],tags:{playground:"basketrotator"},name:"Basket Spinner"},"playground/basket_swing":{icon:"maki-playground",geometry:["point"],tags:{playground:"basketswing"},name:"Basket Swing"},"playground/climbing_frame":{icon:"maki-playground",geometry:["point","area"],tags:{playground:"climbingframe"},name:"Climbing Frame"},"playground/cushion":{icon:"maki-playground",geometry:["point","area"],tags:{playground:"cushion"},name:"Bouncy Cushion"},"playground/horizontal_bar":{icon:"maki-pitch",fields:["height"],geometry:["point"],terms:["high bar"],tags:{playground:"horizontal_bar"},name:"Play Horizontal Bar"},"playground/rocker":{icon:"maki-playground",geometry:["point"],tags:{playground:"springy"},name:"Spring Rider",terms:["spring rocker","springy rocker"]},"playground/roundabout":{icon:"maki-stadium",fields:["bench"],geometry:["point","area"],tags:{playground:"roundabout"},name:"Play Roundabout",terms:["merry-go-round"]},"playground/sandpit":{icon:"maki-playground",geometry:["point","area"],tags:{playground:"sandpit"},name:"Sandpit"},"playground/seesaw":{icon:"maki-playground",geometry:["point"],tags:{playground:"seesaw"},name:"Seesaw"},"playground/slide":{icon:"maki-playground",geometry:["point","line"],tags:{playground:"slide"},name:"Slide"},"playground/structure":{icon:"maki-pitch",geometry:["point","area"],tags:{playground:"structure"},name:"Play Structure"},"playground/swing":{icon:"maki-playground",fields:["capacity","playground/baby","wheelchair"],geometry:["point"],tags:{playground:"swing"},name:"Swing"},"playground/zipwire":{icon:"maki-playground",geometry:["point","line"],tags:{playground:"zipwire"},name:"Zip Wire"},point:{fields:["name"],geometry:["vertex","point"],tags:{},terms:["node","other","vertex","vertices"],name:"Point",matchScore:0.1},polling_station:{icon:"fas-vote-yea",fields:["name","ref","operator","address","opening_hours","building_area"],moreFields:["air_conditioning","email","fax","internet_access","internet_access/fee","internet_access/ssid","phone","website","wheelchair"],geometry:["point","area"],terms:["ballot box","ballot drop","democracy","elections","polling place","vote","voting booth","voting machine"],tags:{polling_station:"*"},matchScore:0.75,name:"Temporary Polling Place"},"power/sub_station":{icon:"temaki-power",fields:["substation","operator","building","ref"],geometry:["point","area"],tags:{power:"sub_station"},reference:{key:"power",value:"substation"},name:"Substation",searchable:false},"power/cable/underground":{fields:["name","operator","voltage","ref","layer"],geometry:["line"],tags:{power:"cable",location:"underground"},addTags:{power:"cable",location:"underground",layer:"-1"},name:"Underground Power Cable"},"power/generator":{icon:"temaki-power",fields:["operator","generator/source","generator/method","generator/type","generator/output/electricity","ref"],moreFields:["manufacturer"],geometry:["point","vertex","area"],terms:["hydro","solar","turbine","wind"],tags:{power:"generator"},name:"Power Generator"},"power/generator/method/photovoltaic":{icon:"fas-solar-panel",fields:["operator","generator/output/electricity","ref"],moreFields:["manufacturer"],geometry:["point","vertex","area"],terms:["photovoltaic module","PV module","sunlight"],tags:{power:"generator","generator:method":"photovoltaic"},addTags:{power:"generator","generator:source":"solar","generator:method":"photovoltaic","generator:type":"solar_photovoltaic_panel","generator:output:electricity":"yes"},reference:{key:"generator:method",value:"photovoltaic"},name:"Solar Panel"},"power/generator/source/hydro":{icon:"temaki-power",fields:["operator","generator/method","generator/type","generator/output/electricity","ref"],moreFields:["height","manufacturer"],geometry:["point","vertex","area"],terms:["dam","generator","francis turbine","hydroelectricity","kaplan turbine","pelton turbine"],tags:{power:"generator","generator:source":"hydro"},addTags:{power:"generator","generator:source":"hydro","generator:output:electricity":"yes"},reference:{key:"generator:source",value:"hydro"},name:"Water Turbine"},"power/generator/source/nuclear":{icon:"temaki-radiation",fields:["operator","generator/source","generator/method","generator/type","generator/output/electricity","ref"],moreFields:["manufacturer"],geometry:["point","vertex","area"],terms:["fission","generator","nuclear","nuke","reactor"],tags:{power:"generator","generator:source":"nuclear","generator:method":"fission"},reference:{key:"generator:source",value:"nuclear"},name:"Nuclear Reactor"},"power/generator/source/wind":{icon:"temaki-wind_turbine",fields:["operator","generator/type","generator/output/electricity","height","ref"],moreFields:["manufacturer"],geometry:["point","vertex","area"],terms:["generator","turbine","windmill","wind"],tags:{power:"generator","generator:source":"wind","generator:method":"wind_turbine"},reference:{key:"generator:source",value:"wind"},name:"Wind Turbine"},"power/line":{icon:"iD-power-line",fields:["name","operator","voltage","ref","layer"],geometry:["line"],terms:["electric power transmission line","high voltage line","high tension line"],tags:{power:"line"},name:"Power Line"},"power/minor_line":{icon:"iD-power-line",fields:["name","operator","voltage","ref","layer"],geometry:["line"],tags:{power:"minor_line"},name:"Minor Power Line"},"power/plant":{icon:"maki-industry",fields:["name","operator","address","plant/output/electricity","start_date"],geometry:["area"],tags:{power:"plant"},addTags:{power:"plant",landuse:"industrial"},terms:["coal","gas","generat*","hydro","nuclear","power","station"],name:"Power Station Grounds"},"power/pole":{fields:["ref","material","operator","manufacturer"],geometry:["point","vertex"],tags:{power:"pole"},name:"Power Pole"},"power/substation":{icon:"temaki-power",fields:["substation","operator","building","ref"],geometry:["point","area"],tags:{power:"substation"},name:"Substation"},"power/switch":{icon:"temaki-power",fields:["switch","operator","location","cables","voltage","ref"],geometry:["point","vertex"],tags:{power:"switch"},name:"Power Switch"},"power/tower":{fields:["design","ref","material","operator","manufacturer"],geometry:["point","vertex"],terms:["power"],tags:{power:"tower"},matchScore:1.05,name:"High-Voltage Tower"},"power/transformer":{icon:"temaki-power",fields:["ref","operator","transformer","location","rating","devices","phases"],moreFields:["frequency","manufacturer","voltage/primary","voltage/secondary","voltage/tertiary","windings","windings/configuration"],geometry:["point","vertex","area"],tags:{power:"transformer"},name:"Transformer"},"public_transport/platform_point":{icon:"maki-rail",fields:["name","network","operator","departures_board","shelter"],moreFields:["bench","bin","lit","wheelchair"],geometry:["point"],tags:{public_transport:"platform"},terms:["platform","public transit","public transportation","transit","transportation"],name:"Transit Stop / Platform",matchScore:0.2},"public_transport/platform":{icon:"temaki-pedestrian",fields:["ref_platform","network","operator","departures_board","surface"],moreFields:["access","covered","indoor","layer","lit","wheelchair"],geometry:["line","area"],tags:{public_transport:"platform"},terms:["platform","public transit","public transportation","transit","transportation"],name:"Transit Platform",matchScore:0.2},"public_transport/platform/aerialway_point":{icon:"maki-aerialway",fields:["{public_transport/platform_point}"],moreFields:["{public_transport/platform_point}"],geometry:["point"],tags:{public_transport:"platform",aerialway:"yes"},reference:{key:"public_transport",value:"platform"},terms:["aerialway","cable car","platform","public transit","public transportation","transit","transportation"],searchable:false,name:"Aerialway Stop / Platform"},"public_transport/platform/ferry_point":{icon:"maki-ferry",fields:["{public_transport/platform_point}"],moreFields:["{public_transport/platform_point}"],geometry:["point"],tags:{public_transport:"platform",ferry:"yes"},reference:{key:"public_transport",value:"platform"},terms:["boat","dock","ferry","pier","platform","public transit","public transportation","transit","transportation"],searchable:false,name:"Ferry Stop / Platform"},"public_transport/platform/light_rail_point":{icon:"temaki-light_rail",fields:["{public_transport/platform_point}"],moreFields:["{public_transport/platform_point}"],geometry:["point"],tags:{public_transport:"platform",light_rail:"yes"},reference:{key:"railway",value:"platform"},terms:["electric","light rail","platform","public transit","public transportation","rail","track","tram","trolley","transit","transportation"],searchable:false,name:"Light Rail Stop / Platform"},"public_transport/platform/monorail_point":{icon:"temaki-monorail",fields:["{public_transport/platform_point}"],moreFields:["{public_transport/platform_point}"],geometry:["point"],tags:{public_transport:"platform",monorail:"yes"},reference:{key:"railway",value:"platform"},terms:["monorail","platform","public transit","public transportation","rail","transit","transportation"],searchable:false,name:"Monorail Stop / Platform"},"public_transport/platform/subway_point":{icon:"temaki-subway",fields:["{public_transport/platform_point}"],moreFields:["{public_transport/platform_point}"],geometry:["point"],tags:{public_transport:"platform",subway:"yes"},reference:{key:"railway",value:"platform"},terms:["metro","platform","public transit","public transportation","rail","subway","track","transit","transportation","underground"],searchable:false,name:"Subway Stop / Platform"},"public_transport/platform/train_point":{icon:"maki-rail",fields:["{public_transport/platform_point}"],moreFields:["{public_transport/platform_point}"],geometry:["point"],tags:{public_transport:"platform",train:"yes"},reference:{key:"railway",value:"platform"},terms:["platform","public transit","public transportation","rail","track","train","transit","transportation"],searchable:false,name:"Train Stop / Platform"},"public_transport/platform/tram_point":{icon:"temaki-tram",fields:["{public_transport/platform_point}"],moreFields:["{public_transport/platform_point}"],geometry:["point"],tags:{public_transport:"platform",tram:"yes"},reference:{key:"public_transport",value:"platform"},terms:["electric","light rail","platform","public transit","public transportation","rail","streetcar","track","tram","trolley","transit","transportation"],searchable:false,name:"Tram Stop / Platform"},"public_transport/platform/aerialway":{icon:"temaki-pedestrian",fields:["{public_transport/platform}"],moreFields:["{public_transport/platform}"],geometry:["line","area"],tags:{public_transport:"platform",aerialway:"yes"},reference:{key:"public_transport",value:"platform"},terms:["aerialway","cable car","platform","public transit","public transportation","transit","transportation"],name:"Aerialway Platform"},"public_transport/platform/bus_point":{icon:"maki-bus",fields:["{public_transport/platform_point}"],moreFields:["{public_transport/platform_point}"],geometry:["point","vertex"],tags:{public_transport:"platform",bus:"yes"},addTags:{public_transport:"platform",bus:"yes",highway:"bus_stop"},reference:{key:"public_transport",value:"platform"},terms:["bus","platform","public transit","public transportation","transit","transportation"],name:"Bus Stop"},"public_transport/platform/bus":{icon:"temaki-pedestrian",fields:["{public_transport/platform}"],moreFields:["{public_transport/platform}"],geometry:["line","area"],tags:{public_transport:"platform",bus:"yes"},reference:{key:"public_transport",value:"platform"},terms:["bus","platform","public transit","public transportation","transit","transportation"],name:"Bus Platform"},"public_transport/platform/ferry":{icon:"temaki-pedestrian",fields:["{public_transport/platform}"],moreFields:["{public_transport/platform}"],geometry:["line","area"],tags:{public_transport:"platform",ferry:"yes"},reference:{key:"public_transport",value:"platform"},terms:["boat","dock","ferry","pier","platform","public transit","public transportation","transit","transportation"],name:"Ferry Platform"},"public_transport/platform/light_rail":{icon:"temaki-pedestrian",fields:["{public_transport/platform}"],moreFields:["{public_transport/platform}"],geometry:["line","area"],tags:{public_transport:"platform",light_rail:"yes"},addTags:{public_transport:"platform",light_rail:"yes",railway:"platform"},reference:{key:"railway",value:"platform"},terms:["electric","light rail","platform","public transit","public transportation","rail","track","tram","trolley","transit","transportation"],name:"Light Rail Platform"},"public_transport/platform/monorail":{icon:"temaki-pedestrian",fields:["{public_transport/platform}"],moreFields:["{public_transport/platform}"],geometry:["line","area"],tags:{public_transport:"platform",monorail:"yes"},addTags:{public_transport:"platform",monorail:"yes",railway:"platform"},reference:{key:"railway",value:"platform"},terms:["monorail","platform","public transit","public transportation","rail","transit","transportation"],name:"Monorail Platform"},"public_transport/platform/subway":{icon:"temaki-pedestrian",fields:["{public_transport/platform}"],moreFields:["{public_transport/platform}"],geometry:["line","area"],tags:{public_transport:"platform",subway:"yes"},addTags:{public_transport:"platform",subway:"yes",railway:"platform"},reference:{key:"railway",value:"platform"},terms:["metro","platform","public transit","public transportation","rail","subway","track","transit","transportation","underground"],name:"Subway Platform"},"public_transport/platform/train":{icon:"temaki-pedestrian",fields:["{public_transport/platform}"],moreFields:["{public_transport/platform}"],geometry:["line","area"],tags:{public_transport:"platform",train:"yes"},addTags:{public_transport:"platform",train:"yes",railway:"platform"},reference:{key:"railway",value:"platform"},terms:["platform","public transit","public transportation","rail","track","train","transit","transportation"],name:"Train Platform"},"public_transport/platform/tram":{icon:"temaki-pedestrian",fields:["{public_transport/platform}"],moreFields:["{public_transport/platform}"],geometry:["line","area"],tags:{public_transport:"platform",tram:"yes"},addTags:{public_transport:"platform",tram:"yes",railway:"platform"},reference:{key:"public_transport",value:"platform"},terms:["electric","light rail","platform","public transit","public transportation","rail","streetcar","track","tram","trolley","transit","transportation"],name:"Tram Platform"},"public_transport/platform/trolleybus_point":{icon:"temaki-trolleybus",fields:["{public_transport/platform_point}"],moreFields:["{public_transport/platform_point}"],geometry:["point","vertex"],tags:{public_transport:"platform",trolleybus:"yes"},addTags:{public_transport:"platform",trolleybus:"yes",highway:"bus_stop"},reference:{key:"public_transport",value:"platform"},terms:["bus","electric","platform","public transit","public transportation","streetcar","trackless","tram","trolley","transit","transportation"],name:"Trolleybus Stop"},"public_transport/platform/trolleybus":{icon:"temaki-pedestrian",fields:["{public_transport/platform}"],moreFields:["{public_transport/platform}"],geometry:["line","area"],tags:{public_transport:"platform",trolleybus:"yes"},reference:{key:"public_transport",value:"platform"},terms:["bus","electric","platform","public transit","public transportation","streetcar","trackless","tram","trolley","transit","transportation"],name:"Trolleybus Platform"},"public_transport/station_aerialway":{icon:"maki-aerialway",fields:["{public_transport/station}","aerialway/access","aerialway/summer/access"],moreFields:["{public_transport/station}"],geometry:["point","vertex","area"],tags:{public_transport:"station",aerialway:"yes"},reference:{key:"aerialway",value:"station"},terms:["aerialway","cable car","public transit","public transportation","station","terminal","transit","transportation"],name:"Aerialway Station"},"public_transport/station_bus":{icon:"maki-bus",fields:["{public_transport/station}"],moreFields:["{public_transport/station}"],geometry:["point","area"],tags:{public_transport:"station",bus:"yes"},addTags:{public_transport:"station",bus:"yes",amenity:"bus_station"},reference:{key:"amenity",value:"bus_station"},terms:["bus","public transit","public transportation","station","terminal","transit","transportation"],name:"Bus Station / Terminal"},"public_transport/station_ferry":{icon:"maki-ferry",fields:["{public_transport/station}"],moreFields:["{public_transport/station}"],geometry:["vertex","point","area"],tags:{public_transport:"station",ferry:"yes"},addTags:{public_transport:"station",ferry:"yes",amenity:"ferry_terminal"},reference:{key:"amenity",value:"ferry_terminal"},terms:["boat","dock","ferry","pier","public transit","public transportation","station","terminal","transit","transportation"],name:"Ferry Station / Terminal"},"public_transport/station_light_rail":{icon:"temaki-light_rail",fields:["{public_transport/station}"],moreFields:["{public_transport/station}"],geometry:["point","area"],tags:{public_transport:"station",light_rail:"yes"},addTags:{public_transport:"station",light_rail:"yes",railway:"station",station:"light_rail"},reference:{key:"station",value:"light_rail"},terms:["electric","light rail","public transit","public transportation","rail","station","terminal","track","tram","trolley","transit","transportation"],name:"Light Rail Station"},"public_transport/station_monorail":{icon:"temaki-monorail",fields:["{public_transport/station}"],moreFields:["{public_transport/station}"],geometry:["point","area"],tags:{public_transport:"station",monorail:"yes"},addTags:{public_transport:"station",monorail:"yes",railway:"station"},reference:{key:"railway",value:"station"},terms:["monorail","public transit","public transportation","rail","station","terminal","transit","transportation"],name:"Monorail Station"},"public_transport/station_subway":{icon:"temaki-subway",fields:["{public_transport/station}"],moreFields:["{public_transport/station}"],geometry:["point","area"],tags:{public_transport:"station",subway:"yes"},addTags:{public_transport:"station",subway:"yes",railway:"station",station:"subway"},reference:{key:"station",value:"subway"},terms:["metro","public transit","public transportation","rail","station","subway","terminal","track","transit","transportation","underground"],name:"Subway Station"},"public_transport/station_train_halt":{icon:"maki-rail",fields:["{public_transport/station}"],moreFields:["{public_transport/station}"],geometry:["point","area"],tags:{public_transport:"station",train:"yes",railway:"halt"},reference:{key:"railway",value:"halt"},terms:["halt","public transit","public transportation","rail","station","track","train","transit","transportation","whistle stop"],name:"Train Station (Halt / Request)"},"public_transport/station_train":{icon:"maki-rail",fields:["{public_transport/station}"],moreFields:["{public_transport/station}"],geometry:["vertex","point","area"],tags:{public_transport:"station",train:"yes"},addTags:{public_transport:"station",train:"yes",railway:"station"},reference:{key:"railway",value:"station"},terms:["public transit","public transportation","rail","station","terminal","track","train","transit","transportation"],name:"Train Station"},"public_transport/station_tram":{icon:"temaki-tram",fields:["{public_transport/station}"],moreFields:["{public_transport/station}"],geometry:["point","area"],tags:{public_transport:"station",tram:"yes"},reference:{key:"public_transport",value:"station"},terms:["electric","light rail","public transit","public transportation","rail","station","streetcar","terminal","track","tram","trolley","transit","transportation"],name:"Tram Station"},"public_transport/station_trolleybus":{icon:"temaki-trolleybus",fields:["{public_transport/station}"],moreFields:["{public_transport/station}"],geometry:["point","area"],tags:{public_transport:"station",trolleybus:"yes"},addTags:{public_transport:"station",trolleybus:"yes",amenity:"bus_station"},reference:{key:"amenity",value:"bus_station"},terms:["bus","electric","public transit","public transportation","station","streetcar","terminal","trackless","tram","trolley","transit","transportation"],name:"Trolleybus Station / Terminal"},"public_transport/station":{icon:"maki-rail",fields:["name","network","operator","address","building_area","internet_access"],moreFields:["air_conditioning","internet_access/fee","internet_access/ssid","website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{public_transport:"station"},terms:["public transit","public transportation","station","terminal","transit","transportation"],name:"Transit Station",matchScore:0.2},"public_transport/stop_area":{icon:"iD-relation",fields:["name","ref","network","operator"],geometry:["relation"],tags:{type:"public_transport",public_transport:"stop_area"},reference:{key:"public_transport",value:"stop_area"},name:"Transit Stop Area"},"public_transport/stop_position_aerialway":{icon:"maki-aerialway",fields:["{public_transport/stop_position}"],moreFields:["{public_transport/stop_position}"],geometry:["vertex"],tags:{public_transport:"stop_position",aerialway:"yes"},reference:{key:"public_transport",value:"stop_position"},terms:["aerialway","cable car","public transit","public transportation","transit","transportation"],name:"Aerialway Stopping Location"},"public_transport/stop_position_bus":{icon:"maki-bus",fields:["{public_transport/stop_position}"],moreFields:["{public_transport/stop_position}"],geometry:["vertex"],tags:{public_transport:"stop_position",bus:"yes"},reference:{key:"public_transport",value:"stop_position"},terms:["bus","public transit","public transportation","transit","transportation"],name:"Bus Stopping Location"},"public_transport/stop_position_ferry":{icon:"maki-ferry",fields:["{public_transport/stop_position}"],moreFields:["{public_transport/stop_position}"],geometry:["vertex"],tags:{public_transport:"stop_position",ferry:"yes"},reference:{key:"public_transport",value:"stop_position"},terms:["boat","dock","ferry","pier","public transit","public transportation","transit","transportation"],name:"Ferry Stopping Location"},"public_transport/stop_position_light_rail":{icon:"temaki-light_rail",fields:["{public_transport/stop_position}"],moreFields:["{public_transport/stop_position}"],geometry:["vertex"],tags:{public_transport:"stop_position",light_rail:"yes"},addTags:{public_transport:"stop_position",light_rail:"yes",railway:"stop"},reference:{key:"railway",value:"stop"},terms:["electric","light rail","public transit","public transportation","rail","track","tram","trolley","transit","transportation"],name:"Light Rail Stopping Location"},"public_transport/stop_position_monorail":{icon:"temaki-monorail",fields:["{public_transport/stop_position}"],moreFields:["{public_transport/stop_position}"],geometry:["vertex"],tags:{public_transport:"stop_position",monorail:"yes"},addTags:{public_transport:"stop_position",monorail:"yes",railway:"stop"},reference:{key:"railway",value:"stop"},terms:["monorail","public transit","public transportation","rail","transit","transportation"],name:"Monorail Stopping Location"},"public_transport/stop_position_subway":{icon:"temaki-subway",fields:["{public_transport/stop_position}"],moreFields:["{public_transport/stop_position}"],geometry:["vertex"],tags:{public_transport:"stop_position",subway:"yes"},addTags:{public_transport:"stop_position",subway:"yes",railway:"stop"},reference:{key:"railway",value:"stop"},terms:["metro","public transit","public transportation","rail","subway","track","transit","transportation","underground"],name:"Subway Stopping Location"},"public_transport/stop_position_train":{icon:"maki-rail",fields:["{public_transport/stop_position}"],moreFields:["{public_transport/stop_position}"],geometry:["vertex"],tags:{public_transport:"stop_position",train:"yes"},addTags:{public_transport:"stop_position",train:"yes",railway:"stop"},reference:{key:"railway",value:"stop"},terms:["public transit","public transportation","rail","track","train","transit","transportation"],name:"Train Stopping Location"},"public_transport/stop_position_tram":{icon:"temaki-tram",fields:["{public_transport/stop_position}"],moreFields:["{public_transport/stop_position}"],geometry:["vertex"],tags:{public_transport:"stop_position",tram:"yes"},addTags:{public_transport:"stop_position",tram:"yes",railway:"tram_stop"},reference:{key:"public_transport",value:"stop_position"},terms:["electric","light rail","public transit","public transportation","rail","streetcar","track","tram","trolley","transit","transportation"],name:"Tram Stopping Location"},"public_transport/stop_position_trolleybus":{icon:"temaki-trolleybus",fields:["{public_transport/stop_position}"],moreFields:["{public_transport/stop_position}"],geometry:["vertex"],tags:{public_transport:"stop_position",trolleybus:"yes"},reference:{key:"public_transport",value:"stop_position"},terms:["bus","electric","public transit","public transportation","streetcar","trackless","tram","trolley","transit","transportation"],name:"Trolleybus Stopping Location"},"public_transport/stop_position":{icon:"maki-bus",fields:["name","ref_stop_position","network","operator"],geometry:["vertex"],tags:{public_transport:"stop_position"},terms:["public transit","public transportation","transit","transportation"],name:"Transit Stopping Location",matchScore:0.2},"railway/halt":{icon:"maki-rail",geometry:["point","vertex"],tags:{railway:"halt"},terms:["break","interrupt","rest","wait","interruption"],name:"Train Station (Halt / Request)",searchable:false},"railway/platform":{icon:"temaki-pedestrian",fields:["name","ref_platform","surface","lit","shelter"],geometry:["line","area"],tags:{railway:"platform"},name:"Train Platform",searchable:false,replacement:"public_transport/platform/train"},"railway/station":{icon:"maki-rail",fields:["name","network","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","vertex","area"],tags:{railway:"station"},terms:["train station","station"],matchScore:0.95,name:"Train Station",searchable:false,replacement:"public_transport/station_train"},"railway/tram_stop":{icon:"temaki-tram",fields:["name","network","operator"],geometry:["vertex"],tags:{railway:"tram_stop"},terms:["light rail","streetcar","tram","trolley"],name:"Tram Stopping Position",searchable:false},"railway/abandoned":{icon:"iD-railway-abandoned",fields:["name","structure","service_rail","usage_rail"],moreFields:["covered"],geometry:["line"],tags:{railway:"abandoned"},terms:[],matchScore:0.85,name:"Abandoned Railway"},"railway/buffer_stop":{icon:"temaki-buffer_stop",geometry:["vertex"],tags:{railway:"buffer_stop"},terms:["stop","halt","buffer"],name:"Buffer Stop"},"railway/construction":{icon:"iD-railway-rail",fields:["name","opening_date","check_date","note","structure","gauge","electrified"],moreFields:["covered","frequency_electrified","highspeed","maxspeed","service_rail","usage_rail","voltage_electrified"],geometry:["line"],tags:{railway:"construction"},name:"Railway Under Construction"},"railway/crossing":{icon:"temaki-pedestrian",geometry:["vertex"],tags:{railway:"crossing"},terms:["crossing","pedestrian crossing","railroad crossing","level crossing","grade crossing","path through railroad","train crossing"],name:"Railway Crossing (Path)"},"railway/derail":{icon:"maki-roadblock",geometry:["vertex"],tags:{railway:"derail"},terms:["derailer"],name:"Railway Derailer"},"railway/disused":{icon:"iD-railway-disused",fields:["operator","structure","service_rail","usage_rail"],moreFields:["covered"],geometry:["line"],tags:{railway:"disused"},terms:[],name:"Disused Railway"},"railway/funicular":{icon:"iD-railway-rail",fields:["name","operator","structure","gauge","service_rail"],moreFields:["covered"],geometry:["line"],terms:["venicular","cliff railway","cable car","cable railway","funicular railway"],tags:{railway:"funicular"},name:"Funicular"},"railway/level_crossing":{icon:"maki-cross",geometry:["vertex"],tags:{railway:"level_crossing"},terms:["crossing","railroad crossing","level crossing","grade crossing","road through railroad","train crossing"],name:"Railway Crossing (Road)"},"railway/light_rail":{icon:"temaki-light_rail",fields:["{railway/rail}"],moreFields:["covered","frequency_electrified","maxspeed","voltage_electrified"],geometry:["line"],tags:{railway:"light_rail"},terms:["light rail","streetcar","trolley"],name:"Light Rail"},"railway/milestone":{icon:"temaki-milestone",geometry:["point","vertex"],fields:["railway/position","direction_vertex"],tags:{railway:"milestone"},terms:["milestone","marker"],name:"Railway Milestone"},"railway/miniature":{icon:"iD-railway-rail",fields:["name","structure","gauge","electrified","service_rail"],moreFields:["covered","frequency_electrified","maxspeed","voltage_electrified"],geometry:["line"],tags:{railway:"miniature"},terms:["rideable miniature railway","narrow gauge railway","minimum gauge railway"],name:"Miniature Railway"},"railway/monorail":{icon:"temaki-monorail",fields:["name","operator","structure","electrified","service_rail","usage_rail"],moreFields:["covered","frequency_electrified","maxspeed","voltage_electrified"],geometry:["line"],tags:{railway:"monorail"},terms:[],name:"Monorail"},"railway/narrow_gauge":{icon:"iD-railway-rail",fields:["{railway/rail}"],moreFields:["covered","frequency_electrified","maxspeed","voltage_electrified"],geometry:["line"],tags:{railway:"narrow_gauge"},terms:["narrow gauge railway","narrow gauge railroad"],name:"Narrow Gauge Rail"},"railway/rail":{icon:"iD-railway-rail",fields:["name","operator","structure","gauge","electrified","service_rail","usage_rail"],moreFields:["covered","frequency_electrified","highspeed","maxspeed","voltage_electrified"],geometry:["line"],tags:{railway:"rail"},terms:["rail line","railroad track","train track"],name:"Rail"},"railway/rail/highspeed":{icon:"iD-railway-rail",geometry:["line"],tags:{railway:"rail",highspeed:"yes"},reference:{key:"highspeed"},terms:["bullet train","fast rail","high speed rail","highspeed rail","HSR"],name:"High-Speed Rail"},"railway/signal":{icon:"temaki-railway_signals",geometry:["point","vertex"],fields:["railway/position","railway/signal/direction","ref"],tags:{railway:"signal"},terms:["signal","lights"],name:"Railway Signal"},"railway/subway_entrance":{icon:"maki-entrance",geometry:["point","vertex"],fields:["name"],tags:{railway:"subway_entrance"},terms:["metro","transit"],name:"Subway Entrance"},"railway/subway":{icon:"temaki-subway",fields:["{railway/rail}"],moreFields:["covered","frequency_electrified","maxspeed","voltage_electrified"],geometry:["line"],tags:{railway:"subway"},terms:["metro","transit"],name:"Subway"},"railway/switch":{icon:"temaki-junction",geometry:["vertex"],tags:{railway:"switch"},terms:["switch","points"],name:"Railway Switch"},"railway/train_wash":{icon:"maki-rail",geometry:["point","vertex","area"],fields:["operator","building_area"],tags:{railway:"wash"},terms:["wash","clean"],name:"Train Wash"},"railway/tram":{icon:"temaki-tram",fields:["{railway/rail}"],moreFields:["covered","frequency_electrified","maxspeed","voltage_electrified"],geometry:["line"],tags:{railway:"tram"},terms:["light rail","streetcar","tram","trolley"],name:"Tram"},relation:{icon:"iD-relation",fields:["name","relation"],geometry:["relation"],tags:{},name:"Relation"},"route/ferry":{icon:"maki-ferry",geometry:["line"],fields:["name","operator","duration","access","toll","to","from"],moreFields:["dog","interval","maxheight","maxweight","network","opening_hours","ref_route","wheelchair"],tags:{route:"ferry"},terms:["boat","merchant vessel","ship","water bus","water shuttle","water taxi"],name:"Ferry Route"},"seamark/beacon_isolated_danger":{fields:["ref","operator","seamark/beacon_isolated_danger/shape","seamark/type"],geometry:["point","vertex"],terms:["beacon isolated danger","isolated danger beacon","iala"],tags:{"seamark:type":"beacon_isolated_danger"},name:"Danger Beacon"},"seamark/beacon_lateral":{fields:["ref","operator","seamark/beacon_lateral/colour","seamark/beacon_lateral/category","seamark/beacon_lateral/shape","seamark/beacon_lateral/system","seamark/type"],geometry:["point","vertex"],terms:["lateral beacon","beacon lateral","cevni","channel marker","iala","lateral mark"],tags:{"seamark:type":"beacon_lateral"},name:"Channel Beacon"},"seamark/buoy_lateral":{fields:["ref","operator","seamark/buoy_lateral/colour","seamark/buoy_lateral/category","seamark/buoy_lateral/shape","seamark/buoy_lateral/system","seamark/type"],geometry:["point","vertex"],terms:["lateral buoy","buoy lateral","cevni","channel marker","iala","lateral mark"],tags:{"seamark:type":"buoy_lateral"},name:"Channel Buoy"},"seamark/buoy_lateral/green":{geometry:["point","vertex"],terms:["lateral buoy","buoy lateral","cevni","channel marker","iala","lateral mark"],tags:{"seamark:type":"buoy_lateral","seamark:buoy_lateral:colour":"green"},name:"Green Buoy"},"seamark/buoy_lateral/red":{geometry:["point","vertex"],terms:["lateral buoy","buoy lateral","cevni","channel marker","iala","lateral mark"],tags:{"seamark:type":"buoy_lateral","seamark:buoy_lateral:colour":"red"},name:"Red Buoy"},"seamark/mooring":{fields:["ref","operator","seamark/mooring/category","seamark/type"],geometry:["point"],terms:["dolphin","pile","bollard","buoy","post"],tags:{"seamark:type":"mooring"},name:"Mooring"},shop:{icon:"maki-shop",fields:["name","shop","operator","address","building_area","opening_hours","payment_multi"],moreFields:["air_conditioning","brand","building/levels_building","height_building","currency_multi","email","fax","internet_access","internet_access/fee","internet_access/ssid","phone","second_hand","website","wheelchair"],geometry:["point","area"],tags:{shop:"*"},terms:[],name:"Shop"},"shop/boutique":{icon:"maki-shop",fields:["name","clothes","{shop}"],geometry:["point","area"],tags:{shop:"boutique"},searchable:false,name:"Boutique"},"shop/fashion":{icon:"maki-shop",fields:["name","clothes","{shop}"],geometry:["point","area"],tags:{shop:"fashion"},searchable:false,name:"Fashion Store"},"shop/fishmonger":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"fishmonger"},reference:{key:"shop",value:"seafood"},name:"Fishmonger",searchable:false},"shop/furnace":{icon:"maki-shop",geometry:["point","area"],terms:["oven","stove"],tags:{shop:"furnace"},name:"Furnace Store",searchable:false},"shop/vacant":{icon:"maki-shop",fields:["name","address","building_area"],geometry:["point","area"],tags:{shop:"vacant"},name:"Vacant Shop",searchable:false},"shop/agrarian":{icon:"fas-tractor",fields:["{shop}","agrarian"],geometry:["point","area"],terms:["agricultural inputs","agricultural machines","seeds","pesticides","fertilizer","agricultural tools"],tags:{shop:"agrarian"},name:"Farm Supply Shop"},"shop/alcohol":{icon:"fas-wine-bottle",fields:["{shop}","drive_through"],geometry:["point","area"],terms:["alcohol","beer","booze","wine"],tags:{shop:"alcohol"},name:"Liquor Store"},"shop/anime":{icon:"fas-dragon",geometry:["point","area"],tags:{shop:"anime"},terms:["manga","japan","cosplay","figurine","dakimakura"],name:"Anime Shop"},"shop/antiques":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"antiques"},name:"Antiques Shop"},"shop/appliance":{icon:"maki-shop",geometry:["point","area"],terms:["air conditioner","appliance","dishwasher","dryer","freezer","fridge","grill","kitchen","oven","refrigerator","stove","washer","washing machine"],tags:{shop:"appliance"},name:"Appliance Store"},"shop/art":{icon:"maki-shop",geometry:["point","area"],terms:["art*","exhibit*","gallery"],tags:{shop:"art"},name:"Art Store"},"shop/baby_goods":{icon:"fas-baby-carriage",geometry:["point","area"],tags:{shop:"baby_goods"},name:"Baby Goods Store"},"shop/bag":{icon:"fas-suitcase-rolling",geometry:["point","area"],terms:["handbag","purse"],tags:{shop:"bag"},name:"Bag/Luggage Store"},"shop/bakery":{icon:"maki-bakery",geometry:["point","area"],tags:{shop:"bakery"},terms:["bread","cakes","rolls"],name:"Bakery"},"shop/bathroom_furnishing":{icon:"fas-bath",geometry:["point","area"],tags:{shop:"bathroom_furnishing"},name:"Bathroom Furnishing Store"},"shop/beauty":{icon:"maki-shop",fields:["{shop}","beauty"],geometry:["point","area"],terms:["spa","salon","tanning"],tags:{shop:"beauty"},name:"Beauty Shop"},"shop/beauty/nails":{icon:"maki-shop",geometry:["point","area"],terms:["manicure","pedicure"],tags:{shop:"beauty",beauty:"nails"},reference:{key:"shop",value:"beauty"},name:"Nail Salon"},"shop/beauty/tanning":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"beauty",beauty:"tanning"},reference:{key:"leisure",value:"tanning_salon"},name:"Tanning Salon"},"shop/bed":{icon:"maki-lodging",geometry:["point","area"],tags:{shop:"bed"},name:"Bedding/Mattress Store"},"shop/beverages":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"beverages"},terms:["drinks"],name:"Beverage Store"},"shop/bicycle":{icon:"maki-bicycle",fields:["{shop}","service/bicycle"],geometry:["point","area"],terms:["bike","repair","tricycle","unicycle"],tags:{shop:"bicycle"},name:"Bicycle Shop"},"shop/boat":{icon:"temaki-boating",geometry:["point","area"],terms:["fishing boat","jetski","motorboat","rowboat","sailboat","vessel","watercraft"],tags:{shop:"boat"},name:"Boat Store"},"shop/bookmaker":{icon:"maki-shop",geometry:["point","area"],terms:["betting","bookie"],tags:{shop:"bookmaker"},name:"Bookmaker"},"shop/books":{icon:"fas-book",fields:["{shop}","internet_access"],moreFields:["{shop}","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{shop:"books"},name:"Book Store"},"shop/butcher":{icon:"fas-bacon",geometry:["point","area"],terms:["chicken","beef","lamb","meat","pork"],tags:{shop:"butcher"},name:"Butcher"},"shop/candles":{icon:"fas-burn",geometry:["point","area"],tags:{shop:"candles"},terms:["wax"],name:"Candle Shop"},"shop/cannabis":{icon:"fas-cannabis",geometry:["point","area"],terms:["420","marijuana","pot","reefer","weed"],tags:{shop:"cannabis"},name:"Cannabis Shop"},"shop/car_parts":{icon:"fas-car-battery",geometry:["point","area"],terms:["automobile","automotive"],tags:{shop:"car_parts"},name:"Car Parts Store"},"shop/car_repair":{icon:"maki-car-repair",fields:["{shop}","service/vehicle"],geometry:["point","area"],terms:["automobile","automotive","garage","service"],tags:{shop:"car_repair"},name:"Car Repair Shop"},"shop/car":{icon:"maki-car",fields:["name","brand","{shop}","second_hand","service/vehicle"],geometry:["point","area"],terms:["automobile","automotive"],tags:{shop:"car"},name:"Car Dealership"},"shop/caravan":{icon:"temaki-rv_park",fields:["name","brand","{shop}","second_hand","service/vehicle"],geometry:["point","area"],tags:{shop:"caravan"},terms:["auto","camper","recreational vehicle"],name:"RV Dealership"},"shop/carpet":{icon:"maki-shop",geometry:["point","area"],terms:["rug"],tags:{shop:"carpet"},name:"Carpet Store"},"shop/catalogue":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"catalogue"},name:"Catalog Shop"},"shop/charity":{icon:"maki-shop",fields:["{shop}","second_hand"],geometry:["point","area"],terms:["thrift","op shop","nonprofit"],tags:{shop:"charity"},name:"Charity Store"},"shop/cheese":{icon:"fas-cheese",geometry:["point","area"],tags:{shop:"cheese"},name:"Cheese Store"},"shop/chemist":{icon:"fas-shopping-basket",geometry:["point","area"],tags:{shop:"chemist"},terms:["apothecary","beauty","drug store","drugstore","gift","hair","med*","pharmacy","prescription","tooth"],name:"Drugstore"},"shop/chocolate":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"chocolate"},terms:["cocoa"],name:"Chocolate Store"},"shop/clothes":{icon:"maki-clothing-store",fields:["name","clothes","{shop}"],geometry:["point","area"],tags:{shop:"clothes"},terms:["blouses","boutique","bras","clothes","dresses","fashion","pants","shirts","shorts","skirts","slacks","socks","suits","underwear"],name:"Clothing Store"},"shop/clothes/underwear":{icon:"maki-clothing-store",geometry:["point","area"],tags:{shop:"clothes",clothes:"underwear"},reference:{key:"clothes",value:"underwear"},terms:["boutique","bras","brassieres","briefs","boxers","fashion","lingerie","panties","slips","socks","stockings","underclothes","undergarments","underpants","undies"],name:"Underwear Store"},"shop/coffee":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"coffee"},name:"Coffee Store"},"shop/computer":{icon:"fas-laptop",geometry:["point","area"],tags:{shop:"computer"},terms:["desktop","laptop","hardware","operating system","software"],name:"Computer Store"},"shop/confectionery":{icon:"maki-confectionery",geometry:["point","area"],terms:["sweet"],tags:{shop:"confectionery"},name:"Candy Store"},"shop/convenience":{icon:"fas-shopping-basket",geometry:["point","area"],tags:{shop:"convenience"},name:"Convenience Store"},"shop/copyshop":{icon:"fas-print",geometry:["point","area"],tags:{shop:"copyshop"},terms:["print","scan"],name:"Copy Store"},"shop/cosmetics":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"cosmetics"},terms:["make-up","makeup"],name:"Cosmetics Store"},"shop/country_store":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"country_store"},name:"Country Store"},"shop/craft":{icon:"fas-palette",geometry:["point","area"],tags:{shop:"craft"},terms:["art*","paint*","frame"],name:"Arts and Crafts Store"},"shop/curtain":{icon:"maki-shop",geometry:["point","area"],terms:["drape*","window"],tags:{shop:"curtain"},name:"Curtain Store"},"shop/dairy":{icon:"fas-cheese",geometry:["point","area"],terms:["milk","egg","cheese"],tags:{shop:"dairy"},name:"Dairy Store"},"shop/deli":{icon:"maki-restaurant",geometry:["point","area"],terms:["lunch","meat","sandwich"],tags:{shop:"deli"},name:"Deli"},"shop/department_store":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"department_store"},name:"Department Store"},"shop/doityourself":{icon:"temaki-tools",geometry:["point","area"],tags:{shop:"doityourself"},name:"DIY Store"},"shop/dry_cleaning":{icon:"temaki-clothes_hanger",geometry:["point","area"],tags:{shop:"dry_cleaning"},name:"Dry Cleaner"},"shop/e-cigarette":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"e-cigarette"},terms:["electronic","vape","vaping","vapor"],name:"E-Cigarette Shop"},"shop/electronics":{icon:"fas-plug",geometry:["point","area"],terms:["appliance","audio","blueray","camera","computer","dvd","home theater","radio","speaker","tv","video"],tags:{shop:"electronics"},name:"Electronics Store"},"shop/erotic":{icon:"maki-shop",geometry:["point","area"],terms:["sex","porn"],tags:{shop:"erotic"},name:"Erotic Store"},"shop/erotic/lgbtq":{icon:"maki-shop",geometry:["point","area"],terms:["sex","porn"],tags:{shop:"erotic",lgbtq:"primary"},name:"LGBTQ+ Erotic Store"},"shop/fabric":{icon:"fas-tape",geometry:["point","area"],terms:["sew"],tags:{shop:"fabric"},name:"Fabric Store"},"shop/farm":{icon:"maki-shop",geometry:["point","area"],terms:["farm shop","farm stand"],tags:{shop:"farm"},name:"Produce Stand"},"shop/fashion_accessories":{icon:"maki-shop",fields:["name","clothes","{shop}"],geometry:["point","area"],tags:{shop:"fashion_accessories"},terms:["bag","cologne","fragrance","hat","jewellery","purfume","purse","scarf","sunglasses","umbrella","wallet","watch"],name:"Fashion Accessories Store"},"shop/fireplace":{icon:"maki-shop",geometry:["point","area"],terms:["fireplace","stove","masonry heater"],tags:{shop:"fireplace"},name:"Fireplace Store"},"shop/fishing":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"fishing"},terms:["bait","fishing line","flies","fly","lure","reel","rod","tackle"],name:"Fishing Shop"},"shop/florist":{icon:"maki-florist",geometry:["point","area"],terms:["flower"],tags:{shop:"florist"},name:"Florist"},"shop/frame":{icon:"fas-vector-square",geometry:["point","area"],tags:{shop:"frame"},terms:["art*","paint*","photo*","frame"],name:"Framing Shop"},"shop/frozen_food":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"frozen_food"},name:"Frozen Food"},"shop/fuel":{icon:"maki-shop",fields:["{shop}","fuel_multi"],geometry:["point","area"],tags:{shop:"fuel"},name:"Fuel Shop",matchScore:0.5},"shop/funeral_directors":{icon:"maki-cemetery",fields:["{shop}","religion","denomination"],geometry:["point","area"],terms:["undertaker","memorial home"],tags:{shop:"funeral_directors"},name:"Funeral Home"},"shop/furniture":{icon:"fas-couch",geometry:["point","area"],terms:["chair","sofa","table"],tags:{shop:"furniture"},name:"Furniture Store"},"shop/games":{icon:"fas-dice",geometry:["point","area"],tags:{shop:"games"},terms:["board game","card game","dice game","game shop","live action role-playing game","miniatures wargame","strategy game"],name:"Tabletop Game Store"},"shop/garden_centre":{icon:"maki-garden-centre",geometry:["point","area"],terms:["landscape","mulch","shrub","tree"],tags:{shop:"garden_centre"},name:"Garden Center"},"shop/gas":{icon:"maki-shop",geometry:["point","area"],terms:["cng","lpg","natural gas","propane","refill","tank"],tags:{shop:"gas"},name:"Bottled Gas Shop"},"shop/general":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"general"},terms:["Village Shop"],name:"General Store"},"shop/gift":{icon:"maki-gift",geometry:["point","area"],terms:["souvenir"],tags:{shop:"gift"},name:"Gift Shop"},"shop/greengrocer":{icon:"fas-carrot",geometry:["point","area"],terms:["fruit","produce","vegetable"],tags:{shop:"greengrocer"},name:"Greengrocer"},"shop/hairdresser_supply":{icon:"maki-shop",geometry:["point","area"],terms:["barber","shampoo","conditioner"],tags:{shop:"hairdresser_supply"},name:"Hairdresser Supply Store"},"shop/hairdresser":{icon:"temaki-beauty_salon",geometry:["point","area"],terms:["barber"],tags:{shop:"hairdresser"},name:"Hairdresser"},"shop/hardware":{icon:"temaki-tools",geometry:["point","area"],tags:{shop:"hardware"},name:"Hardware Store"},"shop/health_food":{icon:"maki-shop",geometry:["point","area"],terms:["wholefood","vitamins","vegetarian","vegan"],tags:{shop:"health_food"},name:"Health Food Shop"},"shop/hearing_aids":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"hearing_aids"},name:"Hearing Aids Store"},"shop/herbalist":{icon:"fas-leaf",geometry:["point","area"],tags:{shop:"herbalist"},name:"Herbalist"},"shop/hifi":{icon:"temaki-speaker",geometry:["point","area"],terms:["audio","hi-fi","high fidelity","stereo","video"],tags:{shop:"hifi"},name:"Hifi Store"},"shop/hobby":{icon:"fas-dragon",geometry:["point","area"],tags:{shop:"hobby"},terms:["manga","figurine","model"],name:"Hobby Shop"},"shop/houseware":{icon:"fas-blender",geometry:["point","area"],terms:["home","household","kitchenware"],tags:{shop:"houseware"},name:"Houseware Store"},"shop/hunting":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"hunting"},terms:["arrows","bows","bullets","crossbows","rifles","traps"],name:"Hunting Shop"},"shop/interior_decoration":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"interior_decoration"},name:"Interior Decoration Store"},"shop/jewelry":{icon:"maki-jewelry-store",geometry:["point","area"],terms:["bracelet","diamond","earrings","gem","gold","jeweler","jewellery","jeweller","necklace","pins","ring","silver"],tags:{shop:"jewelry"},name:"Jewelry Store"},"shop/kiosk":{icon:"maki-shop",fields:["{shop}","levels"],geometry:["point","area"],tags:{shop:"kiosk"},name:"Kiosk"},"shop/kitchen":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"kitchen"},terms:["cabinets","countertops","sinks"],name:"Kitchen Design Store"},"shop/laundry":{icon:"maki-laundry",fields:["{shop}","self_service"],geometry:["point","area"],tags:{shop:"laundry"},name:"Laundry"},"shop/laundry/self_service":{icon:"maki-laundry",geometry:["point","area"],tags:{shop:"laundry",self_service:"yes"},terms:["Coin Laundry","Laundromat","Coin Wash","Launderette","Washateria"],name:"Self-Service Laundry"},"shop/leather":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"leather"},name:"Leather Store"},"shop/lighting":{icon:"far-lightbulb",geometry:["point","area"],terms:["fluorescent lighting","lamps","LEDs","light fixtures","lightbulbs"],tags:{shop:"lighting"},name:"Lighting Store"},"shop/locksmith":{icon:"fas-key",geometry:["point","area"],terms:["key","lockpick"],tags:{shop:"locksmith"},name:"Locksmith"},"shop/lottery":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"lottery"},name:"Lottery Shop"},"shop/mall":{icon:"maki-shop",geometry:["point","area"],terms:["shopping"],tags:{shop:"mall"},name:"Mall"},"shop/massage":{icon:"temaki-spa",geometry:["point","area"],tags:{shop:"massage"},name:"Massage Shop"},"shop/medical_supply":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"medical_supply"},name:"Medical Supply Store"},"shop/military_surplus":{icon:"temaki-military",geometry:["point","area"],terms:["armor","army-navy store","army surplus","navy surplus","tactical gear","war surplus shop","weapons"],tags:{shop:"military_surplus"},name:"Military Surplus Store"},"shop/mobile_phone":{icon:"fas-mobile-alt",geometry:["point","area"],tags:{shop:"mobile_phone"},name:"Mobile Phone Store"},"shop/money_lender":{icon:"maki-bank",fields:["{shop}","currency_multi"],geometry:["point","area"],tags:{shop:"money_lender"},name:"Money Lender"},"shop/motorcycle_repair":{icon:"fas-motorcycle",fields:["{shop}","service/vehicle"],geometry:["point","area"],terms:["auto","bike","garage","motorcycle","repair","service"],tags:{shop:"motorcycle_repair"},name:"Motorcycle Repair Shop"},"shop/motorcycle":{icon:"fas-motorcycle",fields:["name","brand","{shop}"],geometry:["point","area"],terms:["bike"],tags:{shop:"motorcycle"},name:"Motorcycle Dealership"},"shop/music":{icon:"fas-compact-disc",geometry:["point","area"],terms:["tape casettes","CDs","compact discs","vinyl records"],tags:{shop:"music"},name:"Music Store"},"shop/musical_instrument":{icon:"fas-guitar",geometry:["point","area"],terms:["guitar"],tags:{shop:"musical_instrument"},name:"Musical Instrument Store"},"shop/newsagent":{icon:"fas-newspaper",geometry:["point","area"],tags:{shop:"newsagent"},name:"Newspaper/Magazine Shop"},"shop/nutrition_supplements":{icon:"maki-shop",geometry:["point","area"],terms:["health","supplement","vitamin"],tags:{shop:"nutrition_supplements"},name:"Nutrition Supplements Store"},"shop/optician":{icon:"maki-optician",geometry:["point","area"],terms:["eye","glasses"],tags:{shop:"optician"},name:"Optician"},"shop/organic":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"supermarket",organic:"only"},name:"Organic Goods Store"},"shop/outdoor":{icon:"temaki-compass",fields:["{shop}","clothes"],geometry:["point","area"],terms:["camping","climbing","hiking","outfitter","outdoor equipment","outdoor supplies"],tags:{shop:"outdoor"},name:"Outdoors Store"},"shop/outpost":{icon:"maki-shop",geometry:["point","area"],terms:["online","pick up","pickup"],tags:{shop:"outpost"},name:"Online Retailer Outpost"},"shop/paint":{icon:"fas-paint-roller",geometry:["point","area"],tags:{shop:"paint"},name:"Paint Store"},"shop/party":{icon:"temaki-balloon",geometry:["point","area"],terms:["balloons","costumes","decorations","invitations"],tags:{shop:"party"},name:"Party Supply Store"},"shop/pastry":{icon:"maki-bakery",geometry:["point","area"],tags:{shop:"pastry"},terms:["patisserie","cake shop","cakery"],name:"Pastry Shop"},"shop/pawnbroker":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"pawnbroker"},name:"Pawn Shop"},"shop/perfumery":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"perfumery"},terms:["cologne","fragrance","purfume"],name:"Perfume Store"},"shop/pet_grooming":{icon:"maki-dog-park",geometry:["point","area"],terms:["cat","dog"],tags:{shop:"pet_grooming"},name:"Pet Grooming Store"},"shop/pet":{icon:"maki-dog-park",geometry:["point","area"],terms:["animal","cat","dog","fish","kitten","puppy","reptile"],tags:{shop:"pet"},name:"Pet Store"},"shop/photo":{icon:"fas-camera-retro",geometry:["point","area"],terms:["camera","film"],tags:{shop:"photo"},name:"Photography Store"},"shop/printer_ink":{icon:"maki-shop",geometry:["point","area"],terms:["copier ink","fax ink","ink cartridges","toner"],tags:{shop:"printer_ink"},name:"Printer Ink Store"},"shop/pyrotechnics":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"pyrotechnics"},terms:["fireworks"],name:"Fireworks Store"},"shop/radiotechnics":{icon:"fas-microchip",geometry:["point","area"],tags:{shop:"radiotechnics"},terms:["antenna","transistor"],name:"Radio/Electronic Component Store"},"shop/religion":{icon:"maki-shop",fields:["{shop}","religion","denomination"],geometry:["point","area"],tags:{shop:"religion"},name:"Religious Store"},"shop/scuba_diving":{icon:"temaki-scuba_diving",fields:["{shop}","scuba_diving"],geometry:["point","area"],terms:["diving","scuba"],tags:{shop:"scuba_diving"},name:"Scuba Diving Shop"},"shop/seafood":{icon:"maki-shop",geometry:["point","area"],terms:["fishmonger"],tags:{shop:"seafood"},name:"Seafood Shop"},"shop/second_hand":{icon:"maki-shop",fields:["{shop}","second_hand"],geometry:["point","area"],terms:["secondhand","second hand","resale","thrift","used"],tags:{shop:"second_hand"},name:"Consignment/Thrift Store"},"shop/sewing":{icon:"maki-shop",geometry:["point","area"],terms:["haberdashery"],tags:{shop:"sewing"},name:"Sewing Supply Shop"},"shop/shoes":{icon:"maki-shoe",geometry:["point","area"],tags:{shop:"shoes"},terms:["boots","cleats","clogs","heels","loafers","oxfords","sneakers"],name:"Shoe Store"},"shop/sports":{icon:"fas-futbol",fields:["name","operator","sport","{shop}"],geometry:["point","area"],tags:{shop:"sports"},terms:["athletics"],name:"Sporting Goods Store"},"shop/stationery":{icon:"fas-paperclip",geometry:["point","area"],terms:["card","paper"],tags:{shop:"stationery"},name:"Stationery Store"},"shop/storage_rental":{icon:"fas-warehouse",geometry:["point","area"],tags:{shop:"storage_rental"},terms:["garages"],name:"Storage Rental"},"shop/supermarket":{icon:"maki-grocery",moreFields:["diet_multi","{shop}"],geometry:["point","area"],terms:["grocery","store","shop"],tags:{shop:"supermarket"},name:"Supermarket"},"shop/swimming_pool":{icon:"fas-swimmer",geometry:["point","area"],terms:["hot tub equipment store","hot tub maintenance store","hot tub supply store","pool shop","pool store","swimming pool equipment store","swimming pool installation store","swimming pool maintenance store","swimming pool supply shop"],tags:{shop:"swimming_pool"},name:"Pool Supply Store"},"shop/tailor":{icon:"maki-clothing-store",geometry:["point","area"],terms:["clothes","suit"],tags:{shop:"tailor"},name:"Tailor"},"shop/tattoo":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"tattoo"},terms:["ink"],name:"Tattoo Parlor"},"shop/tea":{icon:"maki-teahouse",geometry:["point","area"],tags:{shop:"tea"},name:"Tea Store"},"shop/ticket":{icon:"fas-ticket-alt",geometry:["point","area"],tags:{shop:"ticket"},terms:["box office"],name:"Ticket Seller"},"shop/tiles":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"tiles"},name:"Tile Shop"},"shop/tobacco":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"tobacco"},terms:["cigarettes","cigars"],name:"Tobacco Shop"},"shop/toys":{icon:"fas-space-shuttle",geometry:["point","area"],tags:{shop:"toys"},terms:["games"],name:"Toy Store"},"shop/trade":{icon:"maki-shop",fields:["name","trade","{shop}"],geometry:["point","area"],tags:{shop:"trade"},name:"Trade Shop"},"shop/travel_agency":{icon:"fas-suitcase",geometry:["point","area"],tags:{shop:"travel_agency"},name:"Travel Agency"},"shop/tyres":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"tyres"},name:"Tire Store"},"shop/vacuum_cleaner":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"vacuum_cleaner"},name:"Vacuum Cleaner Store"},"shop/variety_store":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"variety_store"},name:"Variety Store"},"shop/video_games":{icon:"maki-gaming",geometry:["point","area"],tags:{shop:"video_games"},name:"Video Game Store"},"shop/video":{icon:"temaki-movie_rental",geometry:["point","area"],terms:["DVD","VHS","video casette"],tags:{shop:"video"},name:"Video Store"},"shop/watches":{icon:"maki-watch",geometry:["point","area"],tags:{shop:"watches"},name:"Watches Shop"},"shop/water_sports":{icon:"maki-shop",geometry:["point","area"],tags:{shop:"water_sports"},name:"Watersport/Swim Shop"},"shop/water":{icon:"tnp-2009234",geometry:["point","area"],tags:{shop:"water"},name:"Drinking Water Shop"},"shop/weapons":{icon:"maki-shop",geometry:["point","area"],terms:["ammo","gun","knife","knives"],tags:{shop:"weapons"},name:"Weapon Shop"},"shop/wholesale":{icon:"maki-warehouse",fields:["{shop}","wholesale"],geometry:["point","area"],terms:["warehouse club","cash and carry"],tags:{shop:"wholesale"},name:"Wholesale Store"},"shop/window_blind":{icon:"temaki-window",geometry:["point","area"],tags:{shop:"window_blind"},name:"Window Blind Store"},"shop/wine":{icon:"maki-alcohol-shop",geometry:["point","area"],tags:{shop:"wine"},name:"Wine Shop"},tactile_paving:{icon:"temaki-blind",fields:["colour","description"],geometry:["vertex","point","line","area"],tags:{tactile_paving:"*"},matchScore:0.25,terms:["blind path","detectable warning surfaces","tactile ground surface indicators","tactile walking surface indicators","truncated domes","visually impaired path"],name:"Tactile Paving"},"telecom/data_center":{icon:"fas-server",fields:["name","ref","operator","building_area"],moreFields:["address","phone","website"],geometry:["point","area"],tags:{telecom:"data_center"},terms:["computer systems storage","information technology","server farm","the cloud","telecommunications"],name:"Data Center"},"tourism/alpine_hut":{icon:"maki-lodging",fields:["name","operator","address","building_area","internet_access","internet_access/fee","fee","payment_multi_fee"],moreFields:["email","fax","internet_access/ssid","phone","reservation","website","wheelchair"],geometry:["point","area"],terms:["climbing hut"],tags:{tourism:"alpine_hut"},name:"Alpine Hut"},"tourism/apartment":{icon:"maki-lodging",fields:["name","operator","address","building_area","rooms","internet_access","internet_access/fee"],moreFields:["building/levels_building","height_building","email","fax","internet_access/ssid","payment_multi","phone","reservation","smoking","website","wheelchair"],geometry:["point","area"],tags:{tourism:"apartment"},name:"Guest Apartment / Condo"},"tourism/aquarium":{icon:"maki-aquarium",fields:["name","operator","address","building_area","opening_hours"],moreFields:["fee","internet_access","internet_access/fee","internet_access/ssid","payment_multi_fee","smoking","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["fish","sea","water"],tags:{tourism:"aquarium"},name:"Aquarium"},"tourism/artwork":{icon:"maki-art-gallery",fields:["name","artwork_type","artist"],moreFields:["material","website"],geometry:["point","vertex","line","area"],tags:{tourism:"artwork"},terms:["mural","sculpture","statue"],name:"Artwork"},"tourism/artwork/bust":{icon:"fas-user-alt",fields:["name","artist","material"],geometry:["point","vertex"],tags:{tourism:"artwork",artwork_type:"bust"},reference:{key:"artwork_type"},terms:["figure"],name:"Bust"},"tourism/artwork/graffiti":{icon:"maki-art-gallery",fields:["name","artist"],geometry:["point","vertex","line","area"],tags:{tourism:"artwork",artwork_type:"graffiti"},reference:{key:"artwork_type"},terms:["Street Artwork","Guerilla Artwork","Graffiti Artwork"],name:"Graffiti"},"tourism/artwork/installation":{icon:"maki-art-gallery",fields:["name","artist"],geometry:["point","vertex","line","area"],tags:{tourism:"artwork",artwork_type:"installation"},reference:{key:"artwork_type"},terms:["interactive art","intervention art","modern art"],name:"Art Installation"},"tourism/artwork/mural":{icon:"maki-art-gallery",fields:["name","artist"],geometry:["point","vertex","line","area"],tags:{tourism:"artwork",artwork_type:"mural"},reference:{key:"artwork_type",value:"mural"},terms:["fresco","wall painting"],name:"Mural"},"tourism/artwork/sculpture":{icon:"maki-art-gallery",fields:["name","artist","material"],geometry:["point","vertex","line","area"],tags:{tourism:"artwork",artwork_type:"sculpture"},reference:{key:"artwork_type",value:"sculpture"},terms:["statue","figure","carving"],name:"Sculpture"},"tourism/artwork/statue":{icon:"fas-female",fields:["name","artist","material"],geometry:["point","vertex","line","area"],tags:{tourism:"artwork",artwork_type:"statue"},reference:{key:"artwork_type",value:"statue"},terms:["sculpture","figure","carving"],name:"Statue"},"tourism/attraction":{icon:"maki-star",fields:["name","operator","address"],geometry:["point","vertex","line","area"],tags:{tourism:"attraction"},matchScore:0.75,name:"Tourist Attraction"},"tourism/camp_pitch":{icon:"maki-campsite",fields:["name","ref"],geometry:["point","area"],terms:["tent","rv"],tags:{tourism:"camp_pitch"},name:"Camp Pitch"},"tourism/camp_site":{icon:"maki-campsite",fields:["name","operator","address","access_simple","capacity","fee","payment_multi_fee","internet_access","internet_access/fee"],moreFields:["email","fax","internet_access/ssid","phone","power_supply","reservation","sanitary_dump_station","website","wheelchair"],geometry:["point","vertex","area"],terms:["tent","rv"],tags:{tourism:"camp_site"},name:"Campground"},"tourism/caravan_site":{icon:"temaki-rv_park",fields:["name","address","capacity","sanitary_dump_station","power_supply","internet_access","internet_access/fee"],moreFields:["operator","fee","payment_multi_fee","internet_access/ssid","smoking","website","phone","email","fax","wheelchair","reservation"],geometry:["point","vertex","area"],terms:["Motor Home","Camper"],tags:{tourism:"caravan_site"},name:"RV Park"},"tourism/chalet":{icon:"maki-lodging",fields:["name","operator","address","building_area","internet_access","internet_access/fee"],moreFields:["air_conditioning","building/levels_building","height_building","smoking","payment_multi","internet_access/ssid","website","phone","email","fax","wheelchair","reservation"],geometry:["point","area"],terms:["holiday","holiday cottage","holiday home","vacation","vacation home"],tags:{tourism:"chalet"},name:"Holiday Cottage"},"tourism/gallery":{icon:"maki-art-gallery",fields:["name","operator","address","building_area","opening_hours"],moreFields:["internet_access","internet_access/fee","internet_access/ssid","payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["art*","exhibit*","paint*","photo*","sculpt*"],tags:{tourism:"gallery"},name:"Art Gallery"},"tourism/guest_house":{icon:"maki-lodging",fields:["name","operator","guest_house","address","building_area","rooms","internet_access","internet_access/fee"],moreFields:["air_conditioning","building/levels_building","height_building","smoking","payment_multi","internet_access/ssid","website","phone","email","fax","wheelchair","reservation"],geometry:["point","area"],tags:{tourism:"guest_house"},terms:["B&B","Bed and Breakfast"],name:"Guest House"},"tourism/hostel":{icon:"maki-lodging",fields:["{tourism/guest_house}"],moreFields:["{tourism/guest_house}"],geometry:["point","area"],tags:{tourism:"hostel"},name:"Hostel"},"tourism/hotel":{icon:"fas-concierge-bell",fields:["{tourism/motel}"],moreFields:["{tourism/motel}","stars","bar"],geometry:["point","area"],tags:{tourism:"hotel"},name:"Hotel"},"tourism/information":{icon:"maki-information",fields:["information","operator","address","building_area"],geometry:["point","vertex","area"],tags:{tourism:"information"},name:"Information"},"tourism/information/board":{icon:"maki-information",fields:["name","operator","board_type","direction"],geometry:["point","vertex"],tags:{tourism:"information",information:"board"},reference:{key:"information",value:"board"},name:"Information Board"},"tourism/information/guidepost":{icon:"fas-map-signs",fields:["name","elevation","operator","ref"],moreFields:["material"],geometry:["point","vertex"],terms:["signpost"],tags:{tourism:"information",information:"guidepost"},reference:{key:"information",value:"guidepost"},name:"Guidepost"},"tourism/information/map":{icon:"fas-map",fields:["operator","map_type","map_size","direction"],geometry:["point","vertex"],tags:{tourism:"information",information:"map"},reference:{key:"information",value:"map"},name:"Map"},"tourism/information/office":{icon:"maki-information",fields:["name","operator","address","building_area","internet_access","internet_access/fee"],moreFields:["building/levels_building","height_building","email","fax","internet_access/ssid","phone","website","wheelchair"],geometry:["point","vertex","area"],tags:{tourism:"information",information:"office"},reference:{key:"information",value:"office"},name:"Tourist Information Office"},"tourism/information/route_marker":{icon:"maki-information",fields:["ref","operator","colour","material","elevation"],geometry:["point","vertex"],terms:["cairn","painted blaze","route flag","route marker","stone pile","trail blaze","trail post","way marker"],tags:{tourism:"information",information:"route_marker"},reference:{key:"information",value:"route_marker"},name:"Trail Marker"},"tourism/information/terminal":{icon:"maki-information",fields:["operator"],geometry:["point","vertex"],tags:{tourism:"information",information:"terminal"},reference:{key:"information",value:"terminal"},name:"Information Terminal"},"tourism/motel":{icon:"maki-lodging",fields:["name","brand","address","building_area","rooms","internet_access","internet_access/fee"],moreFields:["air_conditioning","building/levels_building","height_building","email","fax","internet_access/ssid","operator","payment_multi","phone","reservation","smoking","website","wheelchair"],geometry:["point","area"],tags:{tourism:"motel"},name:"Motel"},"tourism/museum":{icon:"temaki-museum",fields:["name","operator","operator/type","address","building_area","opening_hours"],moreFields:["air_conditioning","building/levels_building","height_building","fee","internet_access","internet_access/fee","internet_access/ssid","payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["art*","exhibit*","gallery","foundation","hall","institution","paint*","photo*","sculpt*"],tags:{tourism:"museum"},name:"Museum"},"tourism/picnic_site":{icon:"maki-picnic-site",fields:["name","operator","address","access_simple","capacity"],moreFields:["internet_access","internet_access/fee","internet_access/ssid","smoking","fee","payment_multi_fee","phone","reservation","website","wheelchair"],geometry:["point","vertex","area"],terms:["camp"],tags:{tourism:"picnic_site"},name:"Picnic Site"},"tourism/theme_park":{icon:"maki-amusement-park",fields:["name","operator","address","opening_hours"],moreFields:["internet_access","internet_access/fee","internet_access/ssid","payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],tags:{tourism:"theme_park"},name:"Theme Park"},"tourism/trail_riding_station":{icon:"maki-horse-riding",fields:["name","horse_stables","horse_riding","horse_dressage"],moreFields:["internet_access","internet_access/fee","internet_access/ssid","address","opening_hours","website","phone","email","fax"],geometry:["point","area"],tags:{tourism:"trail_riding_station"},name:"Trail Riding Station",matchScore:2},"tourism/viewpoint":{icon:"temaki-binoculars",geometry:["point","vertex"],fields:["direction"],tags:{tourism:"viewpoint"},name:"Viewpoint"},"tourism/wilderness_hut":{icon:"maki-lodging",fields:["name","operator","address","building_area","fee","payment_multi_fee","fireplace"],moreFields:["internet_access","internet_access/fee","internet_access/ssid","reservation","wheelchair"],geometry:["point","area"],terms:["wilderness hut","backcountry hut","bothy"],tags:{tourism:"wilderness_hut"},name:"Wilderness Hut"},"tourism/zoo":{icon:"temaki-zoo",fields:["name","operator","address","opening_hours","fee"],moreFields:["internet_access","internet_access/fee","internet_access/ssid","payment_multi","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["animal"],tags:{tourism:"zoo"},name:"Zoo"},"tourism/zoo/petting":{icon:"fas-horse",geometry:["point","area"],tags:{tourism:"zoo",zoo:"petting_zoo"},reference:{key:"zoo",value:"petting_zoo"},terms:["Children's Zoo","Children's Farm","Petting Farm","farm animals"],name:"Petting Zoo"},"tourism/zoo/safari":{icon:"temaki-zoo",geometry:["point","area"],tags:{tourism:"zoo",zoo:"safari_park"},reference:{key:"zoo",value:"safari_park"},terms:["Drive-Through Zoo","Drive-In Zoo"],name:"Safari Park"},"tourism/zoo/wildlife":{icon:"fas-frog",geometry:["point","area"],tags:{tourism:"zoo",zoo:"wildlife_park"},reference:{key:"zoo",value:"wildlife_park"},terms:["indigenous animals"],name:"Wildlife Park"},traffic_calming:{icon:"temaki-diamond",fields:["traffic_calming","surface","direction_vertex"],geometry:["vertex","line","area"],tags:{traffic_calming:"*"},terms:["bump","hump","slow","speed"],name:"Traffic Calming"},"traffic_calming/bump":{icon:"temaki-diamond",fields:["surface","direction_vertex"],geometry:["vertex","line"],terms:["hump","speed","slow"],tags:{traffic_calming:"bump"},name:"Speed Bump"},"traffic_calming/chicane":{icon:"temaki-diamond",fields:["surface","direction_vertex"],geometry:["vertex","line","area"],terms:["driveway link","speed","slow"],tags:{traffic_calming:"chicane"},name:"Traffic Chicane"},"traffic_calming/choker":{icon:"temaki-diamond",fields:["surface","direction_vertex"],geometry:["vertex","line","area"],terms:["speed","slow"],tags:{traffic_calming:"choker"},name:"Traffic Choker"},"traffic_calming/cushion":{icon:"temaki-diamond",fields:["surface","direction_vertex"],geometry:["vertex","line"],terms:["bump","hump","speed","slow"],tags:{traffic_calming:"cushion"},name:"Speed Cushion"},"traffic_calming/dip":{icon:"temaki-diamond",fields:["surface","direction_vertex"],geometry:["vertex","line"],terms:["speed","slow"],tags:{traffic_calming:"dip"},name:"Dip"},"traffic_calming/hump":{icon:"temaki-diamond",fields:["surface","direction_vertex"],geometry:["vertex","line"],terms:["bump","speed","slow"],tags:{traffic_calming:"hump"},name:"Speed Hump"},"traffic_calming/island":{icon:"temaki-diamond",fields:["surface"],geometry:["vertex","line","area"],terms:["circle","roundabout","slow"],tags:{traffic_calming:"island"},name:"Traffic Island"},"traffic_calming/rumble_strip":{icon:"temaki-diamond",fields:["direction_vertex"],geometry:["vertex","line"],terms:["audible lines","sleeper lines","growlers"],tags:{traffic_calming:"rumble_strip"},name:"Rumble Strip"},"traffic_calming/table":{icon:"temaki-diamond",fields:["surface","direction_vertex"],geometry:["vertex"],tags:{traffic_calming:"table"},terms:["flat top","hump","speed","slow"],name:"Speed Table"},traffic_sign_vertex:{icon:"maki-square-stroked",fields:["traffic_sign","traffic_sign/direction"],geometry:["vertex"],tags:{traffic_sign:"*"},terms:["road","highway"],name:"Traffic Sign"},traffic_sign:{icon:"fas-directions",fields:["traffic_sign","direction"],geometry:["point"],tags:{traffic_sign:"*"},terms:["road","highway"],name:"Traffic Sign"},"traffic_sign/city_limit_vertex":{icon:"maki-square-stroked",fields:["traffic_sign","traffic_sign/direction","name"],geometry:["vertex"],tags:{traffic_sign:"city_limit"},terms:["town","village","hamlet","boundary","edge","border","road","highway"],name:"City Limit Sign"},"traffic_sign/city_limit":{icon:"maki-square-stroked",fields:["traffic_sign","direction","name"],geometry:["point"],tags:{traffic_sign:"city_limit"},terms:["town","village","hamlet","boundary","edge","border","road","highway"],name:"City Limit Sign"},"traffic_sign/maxspeed_vertex":{icon:"maki-square-stroked",fields:["traffic_sign","traffic_sign/direction","maxspeed"],geometry:["vertex"],tags:{traffic_sign:"maxspeed"},terms:["max speed","maximum speed","road","highway"],name:"Speed Limit Sign"},"traffic_sign/maxspeed":{icon:"maki-square-stroked",fields:["traffic_sign","direction","maxspeed"],geometry:["point"],tags:{traffic_sign:"maxspeed"},terms:["max speed","maximum speed","road","highway"],name:"Speed Limit Sign"},"type/multipolygon":{icon:"iD-multipolygon",geometry:["area","relation"],tags:{type:"multipolygon"},removeTags:{},name:"Multipolygon",searchable:false,matchScore:0.1},"type/boundary":{icon:"iD-boundary",fields:["name","boundary"],geometry:["relation"],tags:{type:"boundary"},name:"Boundary"},"type/boundary/administrative":{icon:"iD-boundary",fields:["name","admin_level"],geometry:["relation"],tags:{type:"boundary",boundary:"administrative"},reference:{key:"boundary",value:"administrative"},name:"Administrative Boundary"},"type/enforcement":{icon:"iD-relation",fields:["name","enforcement"],geometry:["relation"],tags:{type:"enforcement"},name:"Enforcement"},"type/public_transport/stop_area_group":{icon:"iD-relation",fields:["name","ref","network","operator"],geometry:["relation"],tags:{type:"public_transport",public_transport:"stop_area_group"},reference:{key:"public_transport",value:"stop_area_group"},name:"Transit Stop Area Group"},"type/restriction":{icon:"iD-restriction",fields:["restriction","except"],geometry:["relation"],tags:{type:"restriction"},name:"Restriction"},"type/restriction/no_left_turn":{icon:"iD-restriction-no-left-turn",geometry:["relation"],tags:{type:"restriction",restriction:"no_left_turn"},name:"No Left Turn"},"type/restriction/no_right_turn":{icon:"iD-restriction-no-right-turn",geometry:["relation"],tags:{type:"restriction",restriction:"no_right_turn"},name:"No Right Turn"},"type/restriction/no_straight_on":{icon:"iD-restriction-no-straight-on",geometry:["relation"],tags:{type:"restriction",restriction:"no_straight_on"},name:"No Straight On"},"type/restriction/no_u_turn":{icon:"iD-restriction-no-u-turn",geometry:["relation"],tags:{type:"restriction",restriction:"no_u_turn"},name:"No U-turn"},"type/restriction/only_left_turn":{icon:"iD-restriction-only-left-turn",geometry:["relation"],tags:{type:"restriction",restriction:"only_left_turn"},name:"Only Left Turn"},"type/restriction/only_right_turn":{icon:"iD-restriction-only-right-turn",geometry:["relation"],tags:{type:"restriction",restriction:"only_right_turn"},name:"Only Right Turn"},"type/restriction/only_straight_on":{icon:"iD-restriction-only-straight-on",geometry:["relation"],tags:{type:"restriction",restriction:"only_straight_on"},name:"Only Straight On"},"type/restriction/only_u_turn":{icon:"iD-restriction-only-u-turn",geometry:["relation"],tags:{type:"restriction",restriction:"only_u_turn"},name:"Only U-turn"},"type/route_master":{icon:"iD-route-master",fields:["name","route_master","ref","operator","network"],moreFields:["colour","interval","opening_hours","wheelchair"],geometry:["relation"],tags:{type:"route_master"},name:"Route Master"},"type/route":{icon:"iD-route",fields:["name","route","ref_route","operator","network"],geometry:["relation"],tags:{type:"route"},name:"Route"},"type/route/bicycle":{icon:"maki-bicycle",fields:["name","ref_route","network_bicycle","cycle_network","to","from"],geometry:["relation"],tags:{type:"route",route:"bicycle"},name:"Cycle Route"},"type/route/bus":{icon:"maki-bus",fields:["{type/route/train}"],moreFields:["{type/route/train}"],geometry:["relation"],tags:{type:"route",route:"bus"},name:"Bus Route"},"type/route/detour":{icon:"iD-route-detour",fields:["name","ref_route","to","from"],geometry:["relation"],tags:{type:"route",route:"detour"},name:"Detour Route"},"type/route/ferry":{icon:"maki-ferry",fields:["{route/ferry}"],moreFields:["{route/ferry}"],geometry:["relation"],tags:{type:"route",route:"ferry"},name:"Ferry Route"},"type/route/foot":{icon:"temaki-pedestrian",fields:["name","ref_route","operator","network_foot","to","from"],geometry:["relation"],tags:{type:"route",route:"foot"},name:"Foot Route"},"type/route/hiking":{icon:"fas-hiking",fields:["name","ref_route","operator","network_foot","description","distance","to","from"],geometry:["relation"],tags:{type:"route",route:"hiking"},name:"Hiking Route"},"type/route/horse":{icon:"maki-horse-riding",fields:["name","ref_route","operator","network_horse","description","distance","to","from"],geometry:["relation"],tags:{type:"route",route:"horse"},name:"Riding Route"},"type/route/light_rail":{icon:"temaki-light_rail",fields:["{type/route/train}"],moreFields:["{type/route/train}"],geometry:["relation"],tags:{type:"route",route:"light_rail"},name:"Light Rail Route"},"type/route/monorail":{icon:"temaki-monorail",fields:["{type/route/train}"],moreFields:["{type/route/train}"],geometry:["relation"],tags:{type:"route",route:"monorail"},name:"Monorail Route"},"type/route/pipeline":{icon:"iD-pipeline-line",fields:["name","ref_route","operator","to","from"],geometry:["relation"],tags:{type:"route",route:"pipeline"},name:"Pipeline Route"},"type/route/piste":{icon:"fas-skiing",fields:["name","piste/type","colour","ref_route","operator","to","from"],geometry:["relation"],tags:{type:"route",route:"piste"},name:"Piste/Ski Route"},"type/route/power":{icon:"iD-power-line",fields:["name","ref_route","operator","to","from"],geometry:["relation"],tags:{type:"route",route:"power"},name:"Power Route"},"type/route/road":{icon:"iD-highway-unclassified",fields:["name","ref_route","network_road","to","from"],geometry:["relation"],tags:{type:"route",route:"road"},name:"Road Route"},"type/route/subway":{icon:"temaki-subway",fields:["{type/route/train}"],moreFields:["{type/route/train}"],geometry:["relation"],tags:{type:"route",route:"subway"},name:"Subway Route"},"type/route/train":{icon:"iD-railway-rail",fields:["name","ref_route","operator","network","to","from"],moreFields:["colour","interval","opening_hours","duration","wheelchair"],geometry:["relation"],tags:{type:"route",route:"train"},name:"Train Route"},"type/route/tram":{icon:"temaki-tram",fields:["{type/route/train}"],moreFields:["{type/route/train}"],geometry:["relation"],tags:{type:"route",route:"tram"},name:"Tram Route"},"type/site":{icon:"iD-relation",fields:["name","site"],geometry:["relation"],tags:{type:"site"},name:"Site"},"type/waterway":{icon:"iD-waterway-stream",fields:["name","waterway","ref"],geometry:["relation"],tags:{type:"waterway"},name:"Waterway"},"waterway/riverbank":{icon:"maki-water",geometry:["area"],tags:{waterway:"riverbank"},name:"Riverbank",searchable:false},"waterway/boatyard":{icon:"maki-harbor",fields:["name","operator"],moreFields:["address","website","phone","email","fax","wheelchair"],geometry:["area","vertex","point"],tags:{waterway:"boatyard"},name:"Boatyard"},"waterway/canal":{icon:"iD-waterway-canal",fields:["name","structure_waterway","width","intermittent","lock"],moreFields:["fishing","salt","tidal"],geometry:["line"],tags:{waterway:"canal"},name:"Canal"},"waterway/canal/lock":{icon:"iD-waterway-canal",fields:["name","width","lock"],moreFields:["intermittent","salt","tidal"],geometry:["line"],tags:{waterway:"canal",lock:"yes"},name:"Canal Lock"},"waterway/dam":{icon:"maki-dam",geometry:["point","vertex","line","area"],fields:["name","operator","height","material"],moreFields:["seamark/type","website"],tags:{waterway:"dam"},name:"Dam"},"waterway/ditch":{icon:"iD-waterway-ditch",fields:["{waterway/drain}"],moreFields:["{waterway/drain}"],geometry:["line"],tags:{waterway:"ditch"},name:"Ditch"},"waterway/dock":{icon:"maki-harbor",fields:["name","dock","operator"],geometry:["area","vertex","point"],terms:["boat","ship","vessel","marine"],tags:{waterway:"dock"},name:"Wet Dock / Dry Dock"},"waterway/drain":{icon:"iD-waterway-ditch",fields:["structure_waterway","intermittent"],moreFields:["covered"],geometry:["line"],tags:{waterway:"drain"},name:"Drain"},"waterway/fuel":{icon:"maki-fuel",fields:["name","operator","address","opening_hours","fuel_multi"],moreFields:["payment_multi","brand","seamark/type","building","website","phone","email","fax","wheelchair"],geometry:["point","area"],terms:["petrol","gas","diesel","boat"],tags:{waterway:"fuel"},name:"Marine Fuel Station"},"waterway/lock_gate":{icon:"maki-dam",geometry:["vertex","line"],fields:["name","ref","height","material"],tags:{waterway:"lock_gate"},addTags:{waterway:"lock_gate","seamark:type":"gate"},terms:["canal"],name:"Lock Gate"},"waterway/milestone":{icon:"temaki-milestone",fields:["distance","direction_vertex"],moreFields:["seamark/type"],geometry:["point","vertex"],tags:{waterway:"milestone"},terms:["milestone","marker"],name:"Waterway Milestone"},"waterway/river":{icon:"iD-waterway-river",fields:["name","structure_waterway","width","intermittent","tidal"],moreFields:["covered","fishing","salt"],geometry:["line"],terms:["beck","branch","brook","course","creek","estuary","rill","rivulet","run","runnel","stream","tributary","watercourse"],tags:{waterway:"river"},name:"River"},"waterway/sanitary_dump_station":{icon:"temaki-storage_tank",fields:["name","operator","access_simple","fee","payment_multi_fee","water_point"],moreFields:["opening_hours","seamark/type"],geometry:["point","vertex","area"],terms:["Boat","Watercraft","Sanitary","Dump Station","Pumpout","Pump out","Elsan","CDP","CTDP","Chemical Toilet"],tags:{waterway:"sanitary_dump_station"},name:"Marine Toilet Disposal"},"waterway/stream_intermittent":{icon:"iD-waterway-stream",fields:["{waterway/stream}"],moreFields:["{waterway/stream}"],geometry:["line"],terms:["arroyo","beck","branch","brook","burn","course","creek","drift","flood","flow","gully","run","runnel","rush","spate","spritz","tributary","wadi","wash","watercourse"],tags:{waterway:"stream",intermittent:"yes"},reference:{key:"waterway",value:"stream"},name:"Intermittent Stream"},"waterway/stream":{icon:"iD-waterway-stream",fields:["name","structure_waterway","width","intermittent"],moreFields:["covered","fishing","salt","tidal"],geometry:["line"],terms:["beck","branch","brook","burn","course","creek","current","drift","flood","flow","freshet","race","rill","rindle","rivulet","run","runnel","rush","spate","spritz","surge","tide","torrent","tributary","watercourse"],tags:{waterway:"stream"},name:"Stream"},"waterway/water_point":{icon:"maki-drinking-water",geometry:["area","vertex","point"],tags:{waterway:"water_point"},name:"Marine Drinking Water"},"waterway/waterfall":{icon:"maki-waterfall",fields:["name","height","width","intermittent"],geometry:["vertex"],terms:["fall"],tags:{waterway:"waterfall"},name:"Waterfall"},"waterway/weir":{icon:"maki-dam",fields:["name","operator","height","material"],moreFields:["seamark/type"],geometry:["vertex","line"],terms:["low-head dam","low-rise dam","wier"],tags:{waterway:"weir"},name:"Weir"},"amenity/bank/ABANCA":{name:"ABANCA",icon:"maki-bank",imageURL:"https://graph.facebook.com/SomosAbanca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9598744",amenity:"bank"},addTags:{amenity:"bank",brand:"ABANCA","brand:wikidata":"Q9598744","brand:wikipedia":"es:Abanca",name:"ABANCA",official_name:"ABANCA Corporación Bancaria"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ABN AMRO":{name:"ABN AMRO",icon:"maki-bank",imageURL:"https://graph.facebook.com/abnamro/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q287471",amenity:"bank"},addTags:{amenity:"bank",brand:"ABN AMRO","brand:wikidata":"Q287471","brand:wikipedia":"en:ABN AMRO",name:"ABN AMRO",official_name:"ABN AMRO Bank N.V."},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ABSA":{name:"ABSA",icon:"maki-bank",imageURL:"https://graph.facebook.com/AbsaSouthAfrica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q331688",amenity:"bank"},addTags:{amenity:"bank",brand:"ABSA","brand:wikidata":"Q331688","brand:wikipedia":"en:ABSA Group Limited",name:"ABSA"},countryCodes:["za"],terms:[],matchScore:2,suggestion:true},"amenity/bank/AIB":{name:"AIB",icon:"maki-bank",imageURL:"https://graph.facebook.com/aib/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1642179",amenity:"bank"},addTags:{amenity:"bank",brand:"AIB","brand:wikidata":"Q1642179","brand:wikipedia":"en:Allied Irish Banks",name:"AIB",official_name:"Allied Irish Banks"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ANZ":{name:"ANZ",icon:"maki-bank",imageURL:"https://graph.facebook.com/ANZAustralia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q714641",amenity:"bank"},addTags:{amenity:"bank",brand:"ANZ","brand:wikidata":"Q714641","brand:wikipedia":"en:Australia and New Zealand Banking Group",name:"ANZ",official_name:"Australia and New Zealand Banking Group Limited"},countryCodes:["au","nz"],terms:["anz bank"],matchScore:2,suggestion:true},"amenity/bank/ASB Bank":{name:"ASB Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/ASBBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q297214",amenity:"bank"},addTags:{amenity:"bank",brand:"ASB Bank","brand:wikidata":"Q297214","brand:wikipedia":"en:ASB Bank",name:"ASB Bank"},countryCodes:["nz"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ATB Financial":{name:"ATB Financial",icon:"maki-bank",imageURL:"https://graph.facebook.com/ATBFinancial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q298762",amenity:"bank"},addTags:{amenity:"bank",brand:"ATB Financial","brand:wikidata":"Q298762","brand:wikipedia":"en:ATB Financial",name:"ATB Financial",official_name:"Alberta Treasury Branches"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/bank/AXA":{name:"AXA",icon:"maki-bank",imageURL:"https://graph.facebook.com/axainsurance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q160054",amenity:"bank"},addTags:{amenity:"bank",brand:"AXA","brand:wikidata":"Q160054","brand:wikipedia":"en:AXA",name:"AXA"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Access Bank":{name:"Access Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/AccessBankPlc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4672418",amenity:"bank"},addTags:{amenity:"bank",brand:"Access Bank","brand:wikidata":"Q4672418","brand:wikipedia":"en:Access Bank plc",name:"Access Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Addiko Bank":{name:"Addiko Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/addiko.ba/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q27926559",amenity:"bank"},addTags:{amenity:"bank",brand:"Addiko Bank","brand:wikidata":"Q27926559","brand:wikipedia":"en:Addiko Bank",name:"Addiko Bank"},countryCodes:["ba","hr","me","rs","si"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Affinity Credit Union":{name:"Affinity Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/affinitycu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4688969",amenity:"bank"},addTags:{amenity:"bank",brand:"Affinity Credit Union","brand:wikidata":"Q4688969","brand:wikipedia":"en:Affinity Credit Union",name:"Affinity Credit Union"},countryCodes:["ca"],terms:["affinity"],matchScore:2,suggestion:true},"amenity/bank/Agrani Bank Limited অগ্রণী ব্যাংক লিমিটেড":{name:"Agrani Bank Limited অগ্রণী ব্যাংক লিমিটেড",icon:"maki-bank",imageURL:"https://graph.facebook.com/AgraniBankLimited/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q517050",amenity:"bank"},addTags:{amenity:"bank",brand:"Agrani Bank Limited অগ্রণী ব্যাংক লিমিটেড","brand:wikidata":"Q517050","brand:wikipedia":"en:Agrani Bank",name:"Agrani Bank Limited অগ্রণী ব্যাংক লিমিটেড","name:en":"Agrani Bank Limited"},countryCodes:["bd"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Agribank (USA)":{name:"Agribank (USA)",icon:"maki-bank",imageURL:"https://graph.facebook.com/63806221089/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4693829",amenity:"bank"},addTags:{amenity:"bank",brand:"Agribank","brand:wikidata":"Q4693829","brand:wikipedia":"en:AgriBank",name:"Agribank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Agribank (Vietnam)":{name:"Agribank (Vietnam)",icon:"maki-bank",imageURL:"https://graph.facebook.com/AgribankVN/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1924723",amenity:"bank"},addTags:{amenity:"bank",brand:"Agribank","brand:wikidata":"Q1924723","brand:wikipedia":"vn:Ngân hàng Nông nghiệp và Phát triển Nông thôn Việt Nam",name:"Agribank",official_name:"Ngân hàng Nông nghiệp và Phát triển Nông thôn Việt Nam","official_name:en":"Vietnam Bank for Agriculture and Rural Development"},countryCodes:["vn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Agribank (Zimbabwe)":{name:"Agribank (Zimbabwe)",icon:"maki-bank",imageURL:"https://graph.facebook.com/agribankzim/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4693887",amenity:"bank"},addTags:{amenity:"bank",brand:"Agribank","brand:wikidata":"Q4693887","brand:wikipedia":"en:Agricultural Development Bank of Zimbabwe",name:"Agribank"},countryCodes:["zw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Akbank":{name:"Akbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/Akbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q416624",amenity:"bank"},addTags:{amenity:"bank",brand:"Akbank","brand:wikidata":"Q416624","brand:wikipedia":"en:Akbank",name:"Akbank"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Aktia":{name:"Aktia",icon:"maki-bank",imageURL:"https://graph.facebook.com/aktia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11850417",amenity:"bank"},addTags:{amenity:"bank",brand:"Aktia","brand:wikidata":"Q11850417","brand:wikipedia":"fi:Aktia",name:"Aktia"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Alior Bank":{name:"Alior Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/AliorBankSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9148395",amenity:"bank"},addTags:{amenity:"bank",brand:"Alior Bank","brand:wikidata":"Q9148395","brand:wikipedia":"pl:Alior Bank",name:"Alior Bank"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Allahabad Bank":{name:"Allahabad Bank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/991552653015502848/xDR-OAbM_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q2018840",amenity:"bank"},addTags:{amenity:"bank",brand:"Allahabad Bank","brand:wikidata":"Q2018840","brand:wikipedia":"en:Allahabad Bank",name:"Allahabad Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Allied Bank (Pakistan)":{name:"Allied Bank (Pakistan)",icon:"maki-bank",imageURL:"https://graph.facebook.com/alliedbankpk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4732553",amenity:"bank"},addTags:{amenity:"bank",brand:"Allied Bank","brand:wikidata":"Q4732553","brand:wikipedia":"en:Allied Bank Limited",name:"Allied Bank"},countryCodes:["pk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Allied Bank (defunct bank in Philipiness)":{name:"Allied Bank (defunct bank in Philipiness)",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q4732555",amenity:"bank"},addTags:{amenity:"bank",brand:"Allied Bank","brand:wikidata":"Q4732555","brand:wikipedia":"en:Allied Banking Corporation",name:"Allied Bank"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Alpha Bank":{name:"Alpha Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/125297404838251/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q747394",amenity:"bank"},addTags:{amenity:"bank",brand:"Alpha Bank","brand:wikidata":"Q747394","brand:wikipedia":"en:Alpha Bank",name:"Alpha Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Alterna Savings":{name:"Alterna Savings",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1149323517273563136/tFR7tzyC_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q4736322",amenity:"bank"},addTags:{amenity:"bank",brand:"Alterna Savings","brand:wikidata":"Q4736322","brand:wikipedia":"en:Alterna Savings",name:"Alterna Savings"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/bank/America First Credit Union":{name:"America First Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/americafirstcu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4742758",amenity:"bank"},addTags:{amenity:"bank",brand:"America First Credit Union","brand:wikidata":"Q4742758","brand:wikipedia":"en:America First Credit Union",name:"America First Credit Union",short_name:"AFCU"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Andhra Bank":{name:"Andhra Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/official.andhrabank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2003476",amenity:"bank"},addTags:{amenity:"bank",brand:"Andhra Bank","brand:wikidata":"Q2003476","brand:wikipedia":"en:Andhra Bank",name:"Andhra Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Antonveneta":{name:"Antonveneta",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q3633689",amenity:"bank"},addTags:{amenity:"bank",brand:"Antonveneta","brand:wikidata":"Q3633689","brand:wikipedia":"en:Banca Antonveneta",name:"Antonveneta"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Apple Bank":{name:"Apple Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/AppleBankfan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4781125",amenity:"bank"},addTags:{amenity:"bank",brand:"Apple Bank","brand:wikidata":"Q4781125","brand:wikipedia":"en:Apple Bank for Savings",name:"Apple Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Argenta":{name:"Argenta",icon:"maki-bank",imageURL:"https://graph.facebook.com/argenta/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q932856",amenity:"bank"},addTags:{amenity:"bank",brand:"Argenta","brand:wikidata":"Q932856","brand:wikipedia":"en:Argenta (bank)",name:"Argenta"},countryCodes:["be","lu","nl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Arvest Bank":{name:"Arvest Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/ArvestBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4802393",amenity:"bank"},addTags:{amenity:"bank",brand:"Arvest Bank","brand:wikidata":"Q4802393","brand:wikipedia":"en:Arvest Bank",name:"Arvest Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Asia United Bank":{name:"Asia United Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/AUB.Official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4806482",amenity:"bank"},addTags:{amenity:"bank",brand:"Asia United Bank","brand:wikidata":"Q4806482","brand:wikipedia":"en:Asia United Bank",name:"Asia United Bank"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Askari Bank":{name:"Askari Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/askaribankpakistan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4807137",amenity:"bank"},addTags:{amenity:"bank",brand:"Askari Bank","brand:wikidata":"Q4807137","brand:wikipedia":"en:Askari Bank",name:"Askari Bank"},countryCodes:["pk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Associated Bank":{name:"Associated Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/associatedbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4809155",amenity:"bank"},addTags:{amenity:"bank",brand:"Associated Bank","brand:wikidata":"Q4809155","brand:wikipedia":"en:Associated Banc-Corp",name:"Associated Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Attijariwafa Bank":{name:"Attijariwafa Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/AttijariWB/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q758052",amenity:"bank"},addTags:{amenity:"bank",brand:"Attijariwafa Bank","brand:wikidata":"Q758052","brand:wikipedia":"en:Attijariwafa Bank",name:"Attijariwafa Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Axis Bank":{name:"Axis Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/axisbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2003549",amenity:"bank"},addTags:{amenity:"bank",brand:"Axis Bank","brand:wikidata":"Q2003549","brand:wikipedia":"en:Axis Bank",name:"Axis Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BAC":{name:"BAC",icon:"maki-bank",imageURL:"https://graph.facebook.com/BACCredomaticSV/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5715556",amenity:"bank"},addTags:{amenity:"bank",brand:"BAC","brand:wikidata":"Q5715556","brand:wikipedia":"en:Banco de América Central",name:"BAC",official_name:"Banco de America Central"},terms:[],matchScore:2,suggestion:true},"amenity/bank/BAWAG PSK":{name:"BAWAG PSK",icon:"maki-bank",imageURL:"https://graph.facebook.com/bawag.psk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q379938",amenity:"bank"},addTags:{amenity:"bank",brand:"BAWAG PSK","brand:wikidata":"Q379938","brand:wikipedia":"en:BAWAG P.S.K.",name:"BAWAG PSK"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BB&T":{name:"BB&T",icon:"maki-bank",imageURL:"https://graph.facebook.com/BBTBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q795486",amenity:"bank"},addTags:{amenity:"bank",brand:"BB&T","brand:wikidata":"Q795486","brand:wikipedia":"en:BB&T",name:"BB&T",official_name:"Branch Banking and Trust Company"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BBBank":{name:"BBBank",icon:"maki-bank",imageURL:"https://graph.facebook.com/BBBank.de/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q795504",amenity:"bank"},addTags:{amenity:"bank",brand:"BBBank","brand:wikidata":"Q795504","brand:wikipedia":"en:BBBank",name:"BBBank"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BBVA":{name:"BBVA",icon:"maki-bank",imageURL:"https://graph.facebook.com/GrupoBBVA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806189",amenity:"bank"},addTags:{amenity:"bank",brand:"BBVA","brand:wikidata":"Q806189","brand:wikipedia":"en:Banco Bilbao Vizcaya Argentaria",name:"BBVA",official_name:"Banco Bilbao Vizcaya Argentaria"},terms:[],matchScore:2,suggestion:true},"amenity/bank/BBVA Bancomer":{name:"BBVA Bancomer",icon:"maki-bank",imageURL:"https://graph.facebook.com/BBVASeguros.mx/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2876794",amenity:"bank"},addTags:{amenity:"bank",brand:"BBVA Bancomer","brand:wikidata":"Q2876794","brand:wikipedia":"en:BBVA Bancomer",name:"BBVA Bancomer"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BBVA Compass":{name:"BBVA Compass",icon:"maki-bank",imageURL:"https://graph.facebook.com/bbvaintheusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4835088",amenity:"bank"},addTags:{amenity:"bank",brand:"BBVA Compass","brand:wikidata":"Q4835088","brand:wikipedia":"en:BBVA Compass",name:"BBVA Compass",official_name:"BBVA Compass Bancshares"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BBVA Continental":{name:"BBVA Continental",icon:"maki-bank",imageURL:"https://graph.facebook.com/BBVAenPeru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4835089",amenity:"bank"},addTags:{amenity:"bank",brand:"BBVA Continental","brand:wikidata":"Q4835089","brand:wikipedia":"en:BBVA Continental",name:"BBVA Continental"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BBVA Francés":{name:"BBVA Francés",icon:"maki-bank",imageURL:"https://graph.facebook.com/bbva.argentina/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2876788",amenity:"bank"},addTags:{amenity:"bank",brand:"BBVA Francés","brand:en":"BBVA France","brand:fr":"BBVA France","brand:wikidata":"Q2876788","brand:wikipedia":"en:BBVA Francés",name:"BBVA Francés","name:en":"BBVA France","name:fr":"BBVA Francés"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BCA":{name:"BCA",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/608231074435440640/GlPmkzgL_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q806626",amenity:"bank"},addTags:{amenity:"bank",brand:"BCA","brand:wikidata":"Q806626","brand:wikipedia":"id:Bank Central Asia",name:"BCA",official_name:"Bank Central Asia"},terms:["bank bca"],matchScore:2,suggestion:true},"amenity/bank/BCI":{name:"BCI",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoBci/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2882083",amenity:"bank"},addTags:{amenity:"bank",brand:"BCI","brand:wikidata":"Q2882083","brand:wikipedia":"es:Banco de Crédito e Inversiones",name:"BCI",official_name:"Banco de Crédito e Inversiones","official_name:en":"Bank of Credit and Investments","official_name:es":"Banco de Crédito e Inversiones"},terms:["banco bci"],matchScore:2,suggestion:true},"amenity/bank/BCP (Bolivia)":{name:"BCP (Bolivia)",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancodeCreditoBolivia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16826675",amenity:"bank"},addTags:{amenity:"bank",brand:"BCP","brand:wikidata":"Q16826675","brand:wikipedia":"es:Banco de Crédito de Bolivia",name:"BCP",official_name:"Banco de Crédito de Bolivia","official_name:en":"Credit Bank of Bolivia","official_name:es":"Banco de Crédito de Bolivia"},countryCodes:["bo"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BCP (France)":{name:"BCP (France)",icon:"maki-bank",imageURL:"https://graph.facebook.com/MaisMillennium/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q118581",amenity:"bank"},addTags:{amenity:"bank",brand:"BCP","brand:wikidata":"Q118581","brand:wikipedia":"pt:Banco Comercial Português",name:"BCP"},countryCodes:["fr"],terms:["banque bcp","bcp"],matchScore:2,suggestion:true},"amenity/bank/BCP (Luxembourg)":{name:"BCP (Luxembourg)",icon:"maki-bank",imageURL:"https://graph.facebook.com/MaisMillennium/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q118581",amenity:"bank"},addTags:{amenity:"bank",brand:"BCP","brand:wikidata":"Q118581","brand:wikipedia":"pt:Banco Comercial Português",name:"BCP"},countryCodes:["lu"],terms:["banque bcp","bcp"],matchScore:2,suggestion:true},"amenity/bank/BCP (Peru)":{name:"BCP (Peru)",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancodecreditobcp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854124",amenity:"bank"},addTags:{amenity:"bank",brand:"BCP","brand:wikidata":"Q4854124","brand:wikipedia":"es:Banco de Crédito del Perú",name:"BCP"},countryCodes:["pe"],terms:["banco de crédito del perú"],matchScore:2,suggestion:true},"amenity/bank/BCR (Banca Comercială Română)":{name:"BCR (Banca Comercială Română)",icon:"maki-bank",imageURL:"https://graph.facebook.com/BCRRomania/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806149",amenity:"bank"},addTags:{amenity:"bank",brand:"BCR","brand:wikidata":"Q806149","brand:wikipedia":"en:Banca Comercială Română",name:"BCR",official_name:"Banca Comercială Română","official_name:en":"Romanian Commercial Bank","official_name:ro":"Banca Comercială Română"},countryCodes:["ro"],terms:["banca comercială română"],matchScore:2,suggestion:true},"amenity/bank/BCR (Costa Rica)":{name:"BCR (Costa Rica)",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoBCR/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6951632",amenity:"bank"},addTags:{amenity:"bank",brand:"BCR","brand:wikidata":"Q6951632","brand:wikipedia":"es:Banco de Costa Rica",name:"BCR",official_name:"Banco de Costa Rica","official_name:en":"Bank of Costa Rica","official_name:es":"Banco de Costa Rica"},countryCodes:["cr"],terms:["banco de costa rica"],matchScore:2,suggestion:true},"amenity/bank/BDO":{name:"BDO",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoBCR/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854129",amenity:"bank"},addTags:{amenity:"bank",brand:"BDO","brand:wikidata":"Q4854129","brand:wikipedia":"en:Banco de Oro",name:"BDO",official_name:"Banco de Oro","official_name:en":"Gold Bank","official_name:es":"Banco de Oro"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BGŻ BNP Paribas":{name:"BGŻ BNP Paribas",icon:"maki-bank",imageURL:"https://graph.facebook.com/BNPParibasBankPolska/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q20744004",amenity:"bank"},addTags:{amenity:"bank",brand:"BGŻ BNP Paribas","brand:wikidata":"Q20744004","brand:wikipedia":"pl:BNP Paribas Bank Polska",name:"BGŻ BNP Paribas"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BIAT":{name:"BIAT",icon:"maki-bank",imageURL:"https://graph.facebook.com/BanqueInternationaleArabedeTunisie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q690739",amenity:"bank"},addTags:{amenity:"bank",brand:"BIAT","brand:wikidata":"Q690739","brand:wikipedia":"en:Banque Internationale Arabe de Tunisie",name:"BIAT"},countryCodes:["tn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BMCE Bank":{name:"BMCE Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/BMCEBankOfAfrica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2300433",amenity:"bank"},addTags:{amenity:"bank",brand:"BMCE Bank","brand:wikidata":"Q2300433","brand:wikipedia":"ar:البنك المغربي للتجارة الخارجية",name:"BMCE Bank"},countryCodes:["ma"],terms:["bmce"],matchScore:2,suggestion:true},"amenity/bank/BMCI":{name:"BMCI",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/793836106156507137/6hm9zrfV_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q2883409",amenity:"bank"},addTags:{amenity:"bank",brand:"BMCI","brand:wikidata":"Q2883409","brand:wikipedia":"ar:البنك المغربي للتجارة والصناعة",name:"BMCI"},countryCodes:["ma"],terms:["bmci bank"],matchScore:2,suggestion:true},"amenity/bank/BMN":{name:"BMN",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBMN%20nuevo%20logo.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q3754900",amenity:"bank"},addTags:{amenity:"bank",brand:"BMN","brand:wikidata":"Q3754900","brand:wikipedia":"es:Banco Mare Nostrum",name:"BMN",official_name:"Banco Mare Nostrum"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BMO Harris Bank (USA)":{name:"BMO Harris Bank (USA)",icon:"maki-bank",imageURL:"https://graph.facebook.com/bmoharrisbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4835981",amenity:"bank"},addTags:{amenity:"bank",brand:"BMO Harris Bank","brand:wikidata":"Q4835981","brand:wikipedia":"en:BMO Harris Bank",name:"BMO Harris Bank"},countryCodes:["us"],terms:["BMO","BMO Bank of Montreal","BMO Harris Bank","Bank of Montreal","Harris Bank"],matchScore:2,suggestion:true},"amenity/bank/BMO (Canada)":{name:"BMO (Canada)",icon:"maki-bank",imageURL:"https://graph.facebook.com/BMOcommunity/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806693",amenity:"bank"},addTags:{amenity:"bank",brand:"BMO","brand:wikidata":"Q806693","brand:wikipedia":"en:Bank of Montreal",name:"BMO",official_name:"Bank of Montreal"},countryCodes:["ca"],terms:["BMO","BMO Bank of Montreal","BMO Banque de Montréal","Bank of Montreal","Banque de Montréal"],matchScore:2,suggestion:true},"amenity/bank/BNA (Algeria)":{name:"BNA (Algeria)",icon:"maki-bank",imageURL:"https://graph.facebook.com/bnalgerie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2883410",amenity:"bank"},addTags:{amenity:"bank",brand:"BNA","brand:wikidata":"Q2883410","brand:wikipedia":"fr:Banque nationale d'Algérie",name:"BNA",official_name:"Banque nationale d'Algérie","official_name:en":"National Bank of Algeria","official_name:fr":"Banque nationale d'Algérie"},countryCodes:["dz"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BNA (Tunisia)":{name:"BNA (Tunisia)",icon:"maki-bank",imageURL:"https://graph.facebook.com/BanqueNationaleAgricole/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2883413",amenity:"bank"},addTags:{amenity:"bank",brand:"BNA","brand:wikidata":"Q2883413","brand:wikipedia":"fr:Banque nationale agricole",name:"BNA"},countryCodes:["tn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BNI":{name:"BNI",icon:"maki-bank",imageURL:"https://graph.facebook.com/BNI/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2882611",amenity:"bank"},addTags:{amenity:"bank",brand:"BNI","brand:wikidata":"Q2882611","brand:wikipedia":"id:Bank Negara Indonesia",name:"BNI",official_name:"Bank Negara Indonesia","official_name:en":"State Bank of Indonesia","official_name:id":"Bank Negara Indonesia"},terms:["bank bni"],matchScore:2,suggestion:true},"amenity/bank/BNL":{name:"BNL",icon:"maki-bank",imageURL:"https://graph.facebook.com/BNLBNPParibas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2201225",amenity:"bank"},addTags:{amenity:"bank",brand:"BNL","brand:wikidata":"Q2201225","brand:wikipedia":"en:Banca Nazionale del Lavoro",name:"BNL",official_name:"Banca Nazionale del Lavoro","official_name:en":"National Labor Bank","official_name:it":"Banca Nazionale del Lavoro"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BNP Paribas":{name:"BNP Paribas",icon:"maki-bank",imageURL:"https://graph.facebook.com/mabanque.bnpparibas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q499707",amenity:"bank"},addTags:{amenity:"bank",brand:"BNP Paribas","brand:wikidata":"Q499707","brand:wikipedia":"en:BNP Paribas",name:"BNP Paribas"},terms:[],matchScore:2,suggestion:true},"amenity/bank/BNP Paribas Fortis":{name:"BNP Paribas Fortis",icon:"maki-bank",imageURL:"https://graph.facebook.com/BNPParibasFortisBelgique/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q796827",amenity:"bank"},addTags:{amenity:"bank",brand:"BNP Paribas Fortis","brand:wikidata":"Q796827","brand:wikipedia":"en:BNP Paribas Fortis",name:"BNP Paribas Fortis"},countryCodes:["be"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BOC":{name:"BOC",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankofchina.cn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q790068",amenity:"bank"},addTags:{amenity:"bank",brand:"BOC","brand:wikidata":"Q790068","brand:wikipedia":"en:Bank of China",name:"BOC",official_name:"Bank of China"},terms:[],matchScore:2,suggestion:true},"amenity/bank/BOQ":{name:"BOQ",icon:"maki-bank",imageURL:"https://graph.facebook.com/BOQOnline/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4856173",amenity:"bank"},addTags:{amenity:"bank",brand:"BOQ","brand:wikidata":"Q4856173","brand:wikipedia":"en:Bank of Queensland",name:"BOQ",official_name:"Bank of Queensland"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BPI":{name:"BPI",icon:"maki-bank",imageURL:"https://graph.facebook.com/bpi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2501256",amenity:"bank"},addTags:{amenity:"bank",brand:"BPI","brand:wikidata":"Q2501256","brand:wikipedia":"en:Bank of the Philippine Islands",name:"BPI",official_name:"Bank of the Philippine Islands"},terms:["bpi family savings bank"],matchScore:2,suggestion:true},"amenity/bank/BRD":{name:"BRD",icon:"maki-bank",imageURL:"https://graph.facebook.com/BRDGroupeSocieteGenerale/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q796927",amenity:"bank"},addTags:{amenity:"bank",brand:"BRD","brand:wikidata":"Q796927","brand:wikipedia":"ro:BRD - Groupe Société Générale",name:"BRD"},countryCodes:["ro"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BRED":{name:"BRED",icon:"maki-bank",imageURL:"https://graph.facebook.com/BRED.Banque.Populaire/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2877455",amenity:"bank"},addTags:{amenity:"bank",brand:"BRED","brand:wikidata":"Q2877455","brand:wikipedia":"fr:BRED Banque populaire",name:"BRED",official_name:"Banque régionale d'escompte et de dépôts","official_name:en":"Regional Discount and Deposit Bank","official_name:fr":"Banque régionale d'escompte et de dépôts"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BRI":{name:"BRI",icon:"maki-bank",imageURL:"https://graph.facebook.com/BRIofficialpage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q623042",amenity:"bank"},addTags:{amenity:"bank",brand:"BRI","brand:wikidata":"Q623042","brand:wikipedia":"id:Bank Rakyat Indonesia",name:"BRI",official_name:"Bank Rakyat Indonesia","official_name:en":"People's Bank of Indonesia","official_name:id":"Bank Rakyat Indonesia"},countryCodes:["id"],terms:["bank bri"],matchScore:2,suggestion:true},"amenity/bank/BTN":{name:"BTN",icon:"maki-bank",imageURL:"https://graph.facebook.com/www.btn.co.id/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12474534",amenity:"bank"},addTags:{amenity:"bank",brand:"BTN","brand:en":"BTN","brand:id":"BTN","brand:wikidata":"Q12474534","brand:wikipedia":"id:Bank Tabungan Negara",name:"BTN","name:en":"BTN","name:id":"BTN",official_name:"Bank Tabungan Negara","official_name:en":"State Savings Bank","official_name:id":"Bank Tabungan Negara"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"amenity/bank/BW-Bank":{name:"BW-Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/LBBW.Stuttgart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q798891",amenity:"bank"},addTags:{amenity:"bank",brand:"BW-Bank","brand:de":"BW-Bank","brand:en":"BW-Bank","brand:wikidata":"Q798891","brand:wikipedia":"de:Baden-Württembergische Bank",name:"BW-Bank","name:de":"BW-Bank","name:en":"BW-Bank"},countryCodes:["de"],terms:["baden-württembergische bank"],matchScore:2,suggestion:true},"amenity/bank/Banamex":{name:"Banamex",icon:"maki-bank",imageURL:"https://graph.facebook.com/Citibanamex/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q749474",amenity:"bank"},addTags:{amenity:"bank",brand:"Banamex","brand:wikidata":"Q749474","brand:wikipedia":"en:Grupo Financiero Banamex",name:"Banamex",official_name:"Grupo Financiero Banamex","official_name:en":"Banamex Financial Group","official_name:es":"Grupo Financiero Banamex"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banca Intesa":{name:"Banca Intesa",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancaintesa.rs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q647092",amenity:"bank"},addTags:{amenity:"bank",brand:"Banca Intesa","brand:wikidata":"Q647092","brand:wikipedia":"en:Banca Intesa",name:"Banca Intesa","name:en":"Intesa Bank","name:it":"Banca Intesa"},countryCodes:["it","rs"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banca March":{name:"Banca March",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/529243270367309824/JFWCTY94_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q578252",amenity:"bank"},addTags:{amenity:"bank",brand:"Banca March","brand:wikidata":"Q578252","brand:wikipedia":"en:Banca March",name:"Banca March"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banca Popolare di Milano":{name:"Banca Popolare di Milano",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoBPM/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806154",amenity:"bank"},addTags:{amenity:"bank",brand:"Banca Popolare di Milano","brand:en":"Popular Bank of Milan","brand:it":"Banca Popolare di Milano","brand:wikidata":"Q806154","brand:wikipedia":"en:Banca Popolare di Milano",name:"Banca Popolare di Milano","name:en":"Popular Bank of Milan","name:it":"Banca Popolare di Milano"},countryCodes:["it"],terms:["bpm"],matchScore:2,suggestion:true},"amenity/bank/Banca Popolare di Novara":{name:"Banca Popolare di Novara",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q3633742",amenity:"bank"},addTags:{amenity:"bank",brand:"Banca Popolare di Novara","brand:en":"Popular Bank of Novara","brand:it":"Banca Popolare di Novara","brand:wikidata":"Q3633742","brand:wikipedia":"en:Banca Popolare di Novara",name:"Banca Popolare di Novara","name:en":"Popular Bank of Novara","name:it":"Banca Popolare di Novara"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banca Popolare di Sondrio":{name:"Banca Popolare di Sondrio",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q686176",amenity:"bank"},addTags:{amenity:"bank",brand:"Banca Popolare di Sondrio","brand:en":"Popular Bank of Sandrio","brand:it":"Banca Popolare di Sondrio","brand:wikidata":"Q686176","brand:wikipedia":"en:Banca Popolare di Sondrio",name:"Banca Popolare di Sondrio","name:en":"Popular Bank of Sandrio","name:it":"Banca Popolare di Sondrio"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banca Popolare di Verona":{name:"Banca Popolare di Verona",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q3167468",amenity:"bank"},addTags:{amenity:"bank",brand:"Banca Popolare di Verona","brand:en":"Popular Bank of Verona","brand:it":"Banca Popolare di Verona","brand:wikidata":"Q3167468","brand:wikipedia":"en:Banca Popolare di Verona",name:"Banca Popolare di Verona","name:en":"Popular Bank of Verona","name:it":"Banca Popolare di Verona"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banca Popolare di Vicenza":{name:"Banca Popolare di Vicenza",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q3127200",amenity:"bank"},addTags:{amenity:"bank",brand:"Banca Popolare di Vicenza","brand:en":"Popular Bank of Vicenza","brand:it":"Banca Popolare di Vicenza","brand:wikidata":"Q3127200","brand:wikipedia":"en:Banca Popolare di Vicenza",name:"Banca Popolare di Vicenza","name:en":"Popular Bank of Vicena","name:it":"Banca Popolare di Vicenza"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banca Românească":{name:"Banca Românească",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancaRomaneascaOficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854052",amenity:"bank"},addTags:{amenity:"bank",brand:"Banca Românească","brand:en":"Romanian Bank","brand:ro":"Banca Românească","brand:wikidata":"Q4854052","brand:wikipedia":"ro:Banca Românească",name:"Banca Românească","name:en":"Popular Bank of Vicena","name:ro":"Banca Românească"},countryCodes:["ro"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banca Sella":{name:"Banca Sella",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancasella/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3633749",amenity:"bank"},addTags:{amenity:"bank",brand:"Banca Sella","brand:en":"Sella Bank","brand:it":"Banca Sella","brand:wikidata":"Q3633749","brand:wikipedia":"en:Banca Sella Group",name:"Banca Sella","name:en":"Sella Bank","name:it":"Banca Sella"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banca Transilvania":{name:"Banca Transilvania",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancaTransilvania/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806161",amenity:"bank"},addTags:{amenity:"bank",brand:"Banca Transilvania","brand:en":"Transilvania Bank","brand:ro":"Banca Transilvania","brand:wikidata":"Q806161","brand:wikipedia":"en:Banca Transilvania",name:"Banca Transilvania","name:en":"Transilvania Bank","name:ro":"Banca Transilvania"},countryCodes:["ro"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bancaribe":{name:"Bancaribe",icon:"maki-bank",imageURL:"https://graph.facebook.com/Bancaribe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5717827",amenity:"bank"},addTags:{amenity:"bank",brand:"Bancaribe","brand:wikidata":"Q5717827","brand:wikipedia":"en:Bancaribe",name:"Bancaribe"},countryCodes:["ve"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco AV Villas":{name:"Banco AV Villas",icon:"maki-bank",imageURL:"https://graph.facebook.com/AVVillas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854068",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco AV Villas","brand:en":"Bank of Villas","brand:es":"Banco AV Villas","brand:wikidata":"Q4854068","brand:wikipedia":"en:Banco AV Villas",name:"Banco AV Villas","name:en":"Bank of Villas","name:es":"Banco AV Villas"},countryCodes:["co"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Agrario":{name:"Banco Agrario",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancoagrario/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q20013358",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Agrario","brand:en":"Agrarian Bank","brand:wikidata":"Q20013358","brand:wikipedia":"es:Banco Agrario de Colombia",name:"Banco Agrario","name:en":"Agrarian Bank","name:es":"Banco Agrario",official_name:"Banco Agrario de Colombia","official_name:en":"Agrarian Bank of Colombia","official_name:es":"Banco Agrario de Colombia"},countryCodes:["co"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Azteca":{name:"Banco Azteca",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoAzteca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854076",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Azteca","brand:en":"Aztec Bank","brand:es":"Banco Azteca","brand:wikidata":"Q4854076","brand:wikipedia":"en:Banco Azteca",name:"Banco Azteca","name:en":"Aztec Bank","name:es":"Banco Azteca"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco BPM":{name:"Banco BPM",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoBPM/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q27331643",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco BPM","brand:en":"BPM Bank","brand:es":"Banco BPM","brand:wikidata":"Q27331643","brand:wikipedia":"en:Banco BPM",name:"Banco BPM","name:en":"BPM Bank","name:es":"Banco BPM"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Caja Social":{name:"Banco Caja Social",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoCajaSocial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5717869",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Caja Social","brand:en":"Social Housing Bank","brand:es":"Banco Caja Social","brand:wikidata":"Q5717869","brand:wikipedia":"es:Banco Caja Social",name:"Banco Caja Social","name:en":"Social Housing Bank","name:es":"Banco Caja Social"},countryCodes:["co"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Ciudad":{name:"Banco Ciudad",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancociudad/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4856204",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Ciudad","brand:en":"City Bank","brand:es":"Banco Ciudad","brand:wikidata":"Q4856204","brand:wikipedia":"en:Bank of the City of Buenos Aires",name:"Banco Ciudad","name:en":"City Bank","name:es":"Banco Ciudad",official_name:"Banco Ciudad de Buenos Aires","official_name:en":"Bank of the City of Buenos Aires","official_name:es":"Banco Ciudad de Buenos Aires"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Continental (Paraguay)":{name:"Banco Continental (Paraguay)",icon:"maki-bank",imageURL:"https://graph.facebook.com/bcontinentalpy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62054564",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Continental","brand:en":"Continental Bank","brand:es":"Banco Continental","brand:wikidata":"Q62054564",name:"Banco Continental","name:en":"Continental Bank","name:es":"Banco Continental"},countryCodes:["py"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Continental (Peru)":{name:"Banco Continental (Peru)",icon:"maki-bank",imageURL:"https://graph.facebook.com/BBVAenPeru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4835089",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Continental","brand:en":"Continental Bank","brand:es":"Banco Continental","brand:wikidata":"Q4835089","brand:wikipedia":"en:BBVA Continental",name:"Banco Continental","name:en":"Continental Bank","name:es":"Banco Continental"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Estado":{name:"Banco Estado",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoEstado/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5718188",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Estado","brand:en":"State Bank","brand:es":"Banco Estado","brand:wikidata":"Q5718188","brand:wikipedia":"es:Banco del Estado de Chile",name:"Banco Estado","name:en":"State Bank","name:es":"Banco Estado",official_name:"Banco del Estado de Chile","official_name:en":"Bank of the State of Chile","official_name:es":"Banco del Estado de Chile"},countryCodes:["cl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Falabella":{name:"Banco Falabella",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancofalabella/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854088",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Falabella","brand:en":"Falabella Bank","brand:es":"Banco Falabella","brand:wikidata":"Q4854088","brand:wikipedia":"en:Banco Falabella",name:"Banco Falabella","name:en":"Falabella Bank","name:es":"Banco Falabella"},countryCodes:["cl","co","pe"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Fassil":{name:"Banco Fassil",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancofassil/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62118592",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Fassil","brand:en":"Fassil Bank","brand:es":"Banco Fassil","brand:wikidata":"Q62118592",name:"Banco Fassil","name:en":"Fassil Bank","name:es":"Banco Fassil"},countryCodes:["bo"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco G&T Continental":{name:"Banco G&T Continental",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoGTC/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5717949",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco G&T Continental","brand:en":"G&T Continental Bank","brand:es":"Banco G&T Continental","brand:wikidata":"Q5717949","brand:wikipedia":"es:Banco GYT Continental, S.A.",name:"Banco G&T Continental","name:en":"G&T Continental Bank","name:es":"Banco G&T Continental"},countryCodes:["gt","sv"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco General":{name:"Banco General",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancogeneral/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q27618271",amenity:"bank"},addTags:{amenity:"bank",brand:"BW-Bank","brand:en":"BW-Bank","brand:es":"BW-Bank","brand:wikidata":"Q27618271","brand:wikipedia":"es:Banco General (Panamá)",name:"Banco General","name:en":"General Bank","name:es":"Banco General"},countryCodes:["cr","pa"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Industrial":{name:"Banco Industrial",icon:"maki-bank",imageURL:"https://graph.facebook.com/bindARG/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16489444",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Industrial","brand:en":"Industrial Bank","brand:es":"Banco Industrial","brand:wikidata":"Q16489444","brand:wikipedia":"es:Banco Industrial",name:"Banco Industrial","name:en":"Industrial Bank","name:es":"Banco Industrial"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Internacional (Chile)":{name:"Banco Internacional (Chile)",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/438324350148571136/fCNvpo-F_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q56605586",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Internacional","brand:en":"International Bank","brand:es":"Banco Internacional","brand:wikidata":"Q56605586","brand:wikipedia":"es:Banco Internacional (Chile)",name:"Banco Internacional","name:en":"International Bank","name:es":"Banco Internacional"},countryCodes:["cl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Internacional (Ecuador)":{name:"Banco Internacional (Ecuador)",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/986297558493487104/4Y3z4QEF_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q806187",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Internacional","brand:en":"International Bank","brand:es":"Banco Internacional","brand:wikidata":"Q806187","brand:wikipedia":"es:Banco Internacional",name:"Banco Internacional","name:en":"International Bank","name:es":"Banco Internacional"},countryCodes:["ec"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Metropolitano":{name:"Banco Metropolitano",icon:"maki-bank",imageURL:"https://graph.facebook.com/BanmetCuba/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62118612",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Metropolitano","brand:en":"Metroplitan Bank","brand:es":"Banco Metropolitano","brand:wikidata":"Q62118612",name:"Banco Metropolitano","name:en":"Metropolitan Bank","name:es":"Banco Metropolitano"},countryCodes:["cu"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Nacional":{name:"Banco Nacional",icon:"maki-bank",imageURL:"https://graph.facebook.com/bnmascerca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2917708",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Nacional de Costa Rica","brand:en":"National Bank of Costa Rica","brand:es":"Banco Nacional de Costa Rica","brand:wikidata":"Q2917708","brand:wikipedia":"es:Banco Nacional de Costa Rica",name:"Banco Nacional","name:en":"National Bank","name:es":"Banco Nacional",official_name:"Banco Nacional de Costa Rica","official_name:en":"National Bank of Costa Rica","official_name:es":"Banco Nacional de Costa Rica",short_name:"BNCR"},countryCodes:["cr","pa"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Nación":{name:"Banco Nación",icon:"maki-bank",imageURL:"https://graph.facebook.com/banconacion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2883376",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Nación","brand:en":"Nation Bank","brand:es":"Banco Nación","brand:wikidata":"Q2883376","brand:wikipedia":"en:Banco de la Nación Argentina",name:"Banco Nación","name:en":"Nation Bank","name:es":"Banco Nación",official_name:"Banco de la Nación Argentina","official_name:en":"Bank of the Argentine Nation","official_name:es":"Banco de la Nación Argentina"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Pastor":{name:"Banco Pastor",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%20pastor168x78.gif%3Bpv91c0cc0e0080a771.gif&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q806193",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Pastor","brand:en":"Shepherd Bank","brand:es":"Banco Pastor","brand:wikidata":"Q806193","brand:wikipedia":"en:Banco Pastor",name:"Banco Pastor","name:en":"Shepherd Bank","name:es":"Banco Pastor",official_name:"Banco Popular Pastor","official_name:en":"Popular Shepherd Bank","official_name:es":"Banco Popular Pastor"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Pichincha":{name:"Banco Pichincha",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoPichinchaEcuador/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854135",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Pichincha","brand:en":"Pichincha Bank","brand:es":"Banco Pichincha","brand:wikidata":"Q4854135","brand:wikipedia":"en:Banco Pichincha",name:"Banco Pichincha","name:en":"Pichincha Bank","name:es":"Banco Pichincha"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Popular de Ahorro":{name:"Banco Popular de Ahorro",icon:"maki-bank",imageURL:"https://graph.facebook.com/bpa.cu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62118626",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Popular de Ahorro","brand:en":"Popular Saving Bank","brand:es":"Banco Popular de Ahorro","brand:wikidata":"Q62118626",name:"Banco Popular de Ahorro","name:en":"Popular Saving Bank","name:es":"Banco Popular de Ahorro"},countryCodes:["cu"],terms:["bpa"],matchScore:2,suggestion:true},"amenity/bank/Banco Provincia":{name:"Banco Provincia",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancoprovincia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4856209",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Provincia","brand:en":"Province Bank","brand:es":"Banco Provincia","brand:wikidata":"Q4856209","brand:wikipedia":"es:Banco de la Provincia de Buenos Aires",name:"Banco Provincia","name:en":"Province Bank","name:es":"Banco Provincia",official_name:"Banco de la Provincia de Buenos Aires","official_name:en":"Bank of the Province of Buenos Aires","official_name:es":"Banco de la Provincia de Buenos Aires"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Sabadell":{name:"Banco Sabadell",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancosabadell/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q762330",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Sabadell","brand:en":"Sabadell Bank","brand:es":"Banco Sabadell","brand:wikidata":"Q762330","brand:wikipedia":"es:Banco Sabadell",name:"Banco Sabadell","name:en":"Sabadell Bank","name:es":"Banco Sabadell"},countryCodes:["es"],terms:["banc sabadell","sabadell"],matchScore:2,suggestion:true},"amenity/bank/Banco Santa Fe":{name:"Banco Santa Fe",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoSantaFe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6046871",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Santa Fe","brand:en":"Santa Fe Bank","brand:es":"Banco Santa Fe","brand:wikidata":"Q6046871","brand:wikipedia":"es:Nuevo Banco de Santa Fe",name:"Banco Santa Fe","name:en":"Santa Fe Bank","name:es":"Banco Santa Fe",official_name:"Nuevo Banco de Santa Fe","official_name:en":"New Bank of Santa Fe","official_name:es":"Nuevo Banco de Santa Fe"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Santander":{name:"Banco Santander",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancosantander/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6496310",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Santander","brand:en":"Santander Bank","brand:es":"Banco Santander","brand:wikidata":"Q6496310","brand:wikipedia":"es:Banco Santander",name:"Banco Santander","name:en":"Santander Bank","name:es":"Banco Santander",official_name:"Santander Group"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Sol (Angola)":{name:"Banco Sol (Angola)",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancosolangola/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62118744",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Sol","brand:en":"Sol Bank","brand:pt":"Banco Sol","brand:wikidata":"Q62118744",name:"Banco Sol","name:en":"Sol Bank","name:pt":"Banco Sol"},countryCodes:["ao"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco Sol (Bolivia)":{name:"Banco Sol (Bolivia)",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoSolidarioBolivia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62118746",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco Sol","brand:en":"Sol Bank","brand:pt":"Banco Sol","brand:wikidata":"Q62118746",name:"Banco Sol","name:en":"Sol Bank","name:pt":"Banco Sol"},countryCodes:["bo"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco de Bogotá":{name:"Banco de Bogotá",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancodeBogota/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854122",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco de Bogotá","brand:en":"Bank of Bogota","brand:es":"Banco de Bogotá","brand:wikidata":"Q4854122","brand:wikipedia":"es:Banco de Bogotá",name:"Banco de Bogotá","name:en":"Bank of Bogota","name:es":"Banco de Bogotá"},countryCodes:["co"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco de Chile":{name:"Banco de Chile",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancochile.cl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2882085",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco de Chile","brand:en":"Bank of Chile","brand:es":"Banco de Chile","brand:wikidata":"Q2882085","brand:wikipedia":"es:Banco de Chile",name:"Banco de Chile","name:en":"Bank of Chile","name:es":"Banco de Chile"},countryCodes:["cl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco de Desarrollo Banrural":{name:"Banco de Desarrollo Banrural",icon:"maki-bank",imageURL:"https://graph.facebook.com/BanruralHonduras/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5719130",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco de Desarrollo Banrural","brand:en":"Bank of Banrural Development","brand:es":"Banco de Desarrollo Banrural","brand:wikidata":"Q5719130","brand:wikipedia":"es:Banrural",name:"Banco de Desarrollo Banrural","name:en":"Bank of Banrural Development","name:es":"Banco de Desarrollo Banrural"},countryCodes:["gt"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco de Fomento Angola (BFA)":{name:"Banco de Fomento Angola (BFA)",icon:"maki-bank",imageURL:"https://graph.facebook.com/Banco.BFA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806197",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco de Fomento Angola (BFA)","brand:en":"Angola Development Bank (BFA)","brand:es":"Banco de Fomento Angola (BFA)","brand:wikidata":"Q806197","brand:wikipedia":"de:Banco de Fomento Angola",name:"Banco de Fomento Angola (BFA)","name:en":"Angola Development Bank (BFA)","name:es":"Banco de Fomento Angola (BFA)"},countryCodes:["ao"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco de Occidente":{name:"Banco de Occidente",icon:"maki-bank",imageURL:"https://graph.facebook.com/BcoOccidente/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854127",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco de Occidente","brand:wikidata":"Q4854127","brand:wikipedia":"es:Banco de Occidente (Colombia)",name:"Banco de Occidente"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco de Venezuela":{name:"Banco de Venezuela",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancodeVenezuelaOficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q517093",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco de Venezuela","brand:wikidata":"Q517093","brand:wikipedia":"es:Banco de Venezuela",name:"Banco de Venezuela"},countryCodes:["ve"],terms:["de venezuela"],matchScore:2,suggestion:true},"amenity/bank/Banco de la Nación (Argentina)":{name:"Banco de la Nación (Argentina)",icon:"maki-bank",imageURL:"https://graph.facebook.com/banconacion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2883376",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco de la Nación","brand:wikidata":"Q2883376","brand:wikipedia":"en:Banco de la Nación Argentina",name:"Banco de la Nación"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco de la Nación (Peru)":{name:"Banco de la Nación (Peru)",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancodelaNacion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4856206",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco de la Nación","brand:wikidata":"Q4856206","brand:wikipedia":"en:Bank of the Nation (Peru)",name:"Banco de la Nación"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco del Austro":{name:"Banco del Austro",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancodelaustro/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62122344",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco del Austro","brand:wikidata":"Q62122344",name:"Banco del Austro"},countryCodes:["ec"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco di Napoli":{name:"Banco di Napoli",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q3633835",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco di Napoli","brand:wikidata":"Q3633835","brand:wikipedia":"en:Banco di Napoli",name:"Banco di Napoli"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco di Sardegna":{name:"Banco di Sardegna",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q806205",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco di Sardegna","brand:wikidata":"Q806205","brand:wikipedia":"en:Banco di Sardegna",name:"Banco di Sardegna"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco do Brasil":{name:"Banco do Brasil",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancodobrasil/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q610817",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco do Brasil","brand:wikidata":"Q610817","brand:wikipedia":"en:Banco do Brasil",name:"Banco do Brasil"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banco do Nordeste":{name:"Banco do Nordeste",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancodonordeste/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854137",amenity:"bank"},addTags:{amenity:"bank",brand:"Banco do Nordeste","brand:wikidata":"Q4854137","brand:wikipedia":"en:Banco do Nordeste",name:"Banco do Nordeste"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bancolombia":{name:"Bancolombia",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancolombia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806206",amenity:"bank"},addTags:{amenity:"bank",brand:"Bancolombia","brand:wikidata":"Q806206","brand:wikipedia":"en:Bancolombia",name:"Bancolombia"},countryCodes:["co"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bancomer":{name:"Bancomer",icon:"maki-bank",imageURL:"https://graph.facebook.com/BBVASeguros.mx/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2876794",amenity:"bank"},addTags:{amenity:"bank",brand:"Bancomer","brand:wikidata":"Q2876794","brand:wikipedia":"en:BBVA Bancomer",name:"Bancomer"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bancpost":{name:"Bancpost",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q4854143",amenity:"bank"},addTags:{amenity:"bank",brand:"Bancpost","brand:wikidata":"Q4854143","brand:wikipedia":"ro:Bancpost",name:"Bancpost"},countryCodes:["ro"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banesco":{name:"Banesco",icon:"maki-bank",imageURL:"https://graph.facebook.com/BanescoBancoUniversal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854841",amenity:"bank"},addTags:{amenity:"bank",brand:"Banesco","brand:wikidata":"Q4854841","brand:wikipedia":"en:Banesco",name:"Banesco"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Bangkok Bank":{name:"Bangkok Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/371998329537690/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806483",amenity:"bank"},addTags:{amenity:"bank",brand:"Bangkok Bank","brand:wikidata":"Q806483","brand:wikipedia":"en:Bangkok Bank",name:"Bangkok Bank"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank Al Habib":{name:"Bank Al Habib",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankalhabiblimited/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4034833",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank Al Habib","brand:wikidata":"Q4034833","brand:wikipedia":"ur:بينک الحبيب لمیٹڈ",name:"Bank Al Habib"},countryCodes:["pk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank Alfalah":{name:"Bank Alfalah",icon:"maki-bank",imageURL:"https://graph.facebook.com/BankAlfalahOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4855895",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank Alfalah","brand:wikidata":"Q4855895","brand:wikipedia":"en:Bank Alfalah",name:"Bank Alfalah"},countryCodes:["pk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank Austria":{name:"Bank Austria",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/941602537043525632/UALD6dxn_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q697619",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank Austria","brand:wikidata":"Q697619","brand:wikipedia":"en:Bank Austria",name:"Bank Austria"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank Danamon":{name:"Bank Danamon",icon:"maki-bank",imageURL:"https://graph.facebook.com/DanamonIndonesia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4855913",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank Danamon","brand:wikidata":"Q4855913","brand:wikipedia":"en:Bank Danamon",name:"Bank Danamon"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank Mandiri":{name:"Bank Mandiri",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankmandiricare/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806639",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank Mandiri","brand:wikidata":"Q806639","brand:wikipedia":"en:Bank Mandiri",name:"Bank Mandiri"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank Mandiri Syariah":{name:"Bank Mandiri Syariah",icon:"maki-bank",imageURL:"https://graph.facebook.com/syariahmandiri/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12474533",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank Mandiri Syariah","brand:wikidata":"Q12474533","brand:wikipedia":"id:Bank Syariah Mandiri",name:"Bank Mandiri Syariah"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank Mega":{name:"Bank Mega",icon:"maki-bank",imageURL:"https://graph.facebook.com/BankMegaID/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12474504",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank Mega","brand:wikidata":"Q12474504","brand:wikipedia":"id:Bank Mega",name:"Bank Mega"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank Muamalat":{name:"Bank Muamalat",icon:"maki-bank",imageURL:"https://graph.facebook.com/BankMuamalatIndonesia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4855949",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank Muamalat","brand:wikidata":"Q4855949","brand:wikipedia":"en:Bank Muamalat",name:"Bank Muamalat"},countryCodes:["id","my"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank Pekao":{name:"Bank Pekao",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankpekaosa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806642",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank Pekao","brand:wikidata":"Q806642","brand:wikipedia":"pl:Bank Polska Kasa Opieki",name:"Bank Pekao"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank Rakyat":{name:"Bank Rakyat",icon:"maki-bank",imageURL:"https://graph.facebook.com/myBANKRAKYAT/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4855964",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank Rakyat","brand:wikidata":"Q4855964","brand:wikipedia":"ms:Bank Rakyat",name:"Bank Rakyat"},countryCodes:["my"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank of Africa":{name:"Bank of Africa",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankofafrica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2882627",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank of Africa","brand:wikidata":"Q2882627","brand:wikipedia":"en:Bank of Africa Group",name:"Bank of Africa",short_name:"BOA"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank of America":{name:"Bank of America",icon:"maki-bank",imageURL:"https://graph.facebook.com/BankofAmerica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q487907",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank of America","brand:wikidata":"Q487907","brand:wikipedia":"en:Bank of America",name:"Bank of America"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank of Baroda":{name:"Bank of Baroda",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankofbaroda/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2003797",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank of Baroda","brand:wikidata":"Q2003797","brand:wikipedia":"en:Bank of Baroda",name:"Bank of Baroda"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank of Ceylon":{name:"Bank of Ceylon",icon:"maki-bank",imageURL:"https://graph.facebook.com/BANKOFCEYLON/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2882652",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank of Ceylon","brand:wikidata":"Q2882652","brand:wikipedia":"en:Bank of Ceylon",name:"Bank of Ceylon"},countryCodes:["lk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank of Commerce":{name:"Bank of Commerce",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q4856092",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank of Commerce","brand:wikidata":"Q4856092","brand:wikipedia":"en:Bank of Commerce",name:"Bank of Commerce"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank of Cyprus":{name:"Bank of Cyprus",icon:"maki-bank",imageURL:"https://graph.facebook.com/BankofCyprusOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806678",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank of Cyprus","brand:wikidata":"Q806678","brand:wikipedia":"en:Bank of Cyprus",name:"Bank of Cyprus"},countryCodes:["cy","gr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank of India":{name:"Bank of India",icon:"maki-bank",imageURL:"https://graph.facebook.com/BankOfIndia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2004439",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank of India","brand:wikidata":"Q2004439","brand:wikipedia":"en:Bank of India",name:"Bank of India"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank of Ireland":{name:"Bank of Ireland",icon:"maki-bank",imageURL:"https://graph.facebook.com/BankofIreland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806689",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank of Ireland","brand:wikidata":"Q806689","brand:wikipedia":"en:Bank of Ireland",name:"Bank of Ireland"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank of Maharashtra":{name:"Bank of Maharashtra",icon:"maki-bank",imageURL:"https://graph.facebook.com/BOM1685/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2004304",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank of Maharashtra","brand:wikidata":"Q2004304","brand:wikipedia":"en:Bank of Maharashtra",name:"Bank of Maharashtra"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank of New Zealand":{name:"Bank of New Zealand",icon:"maki-bank",imageURL:"https://graph.facebook.com/BNZBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806687",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank of New Zealand","brand:wikidata":"Q806687","brand:wikipedia":"en:Bank of New Zealand",name:"Bank of New Zealand"},countryCodes:["nz"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank of Scotland":{name:"Bank of Scotland",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankofscotland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q627381",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank of Scotland","brand:wikidata":"Q627381","brand:wikipedia":"en:Bank of Scotland",name:"Bank of Scotland"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bank of the West":{name:"Bank of the West",icon:"maki-bank",imageURL:"https://graph.facebook.com/BankoftheWest/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2881919",amenity:"bank"},addTags:{amenity:"bank",brand:"Bank of the West","brand:wikidata":"Q2881919","brand:wikipedia":"en:Bank of the West",name:"Bank of the West"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bankia":{name:"Bankia",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankia.es/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806807",amenity:"bank"},addTags:{amenity:"bank",brand:"Bankia","brand:wikidata":"Q806807","brand:wikipedia":"en:Bankia",name:"Bankia"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bankinter":{name:"Bankinter",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankinter/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806808",amenity:"bank"},addTags:{amenity:"bank",brand:"Bankinter","brand:wikidata":"Q806808","brand:wikipedia":"es:Bankinter",name:"Bankinter"},countryCodes:["es","pt"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bankwest":{name:"Bankwest",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankwest/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4856817",amenity:"bank"},addTags:{amenity:"bank",brand:"Bankwest","brand:wikidata":"Q4856817","brand:wikipedia":"en:Bankwest",name:"Bankwest"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banner Bank":{name:"Banner Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/bannerbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4856910",amenity:"bank"},addTags:{amenity:"bank",brand:"Banner Bank","brand:wikidata":"Q4856910","brand:wikipedia":"en:Banner Bank",name:"Banner Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banorte":{name:"Banorte",icon:"maki-bank",imageURL:"https://graph.facebook.com/banorte/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806914",amenity:"bank"},addTags:{amenity:"bank",brand:"Banorte","brand:wikidata":"Q806914","brand:wikipedia":"en:Banorte",name:"Banorte"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banque Atlantique":{name:"Banque Atlantique",icon:"maki-bank",imageURL:"https://graph.facebook.com/BqAtlantiqueOfficiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2882890",amenity:"bank"},addTags:{amenity:"bank",brand:"Banque Atlantique","brand:wikidata":"Q2882890","brand:wikipedia":"en:Atlantic Bank Group",name:"Banque Atlantique"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Banque Laurentienne":{name:"Banque Laurentienne",icon:"maki-bank",imageURL:"https://graph.facebook.com/BLaurentienne/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1360087",amenity:"bank"},addTags:{amenity:"bank",brand:"Banque Laurentienne","brand:wikidata":"Q1360087","brand:wikipedia":"en:Laurentian Bank of Canada",name:"Banque Laurentienne"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banque Nationale (Canada)":{name:"Banque Nationale (Canada)",icon:"maki-bank",imageURL:"https://graph.facebook.com/banquenationale/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q634298",amenity:"bank"},addTags:{amenity:"bank",brand:"Banque Nationale","brand:wikidata":"Q634298","brand:wikipedia":"en:National Bank of Canada",name:"Banque Nationale"},countryCodes:["ca"],terms:["banque nationale du canada","national bank of canada"],matchScore:2,suggestion:true},"amenity/bank/Banque Populaire":{name:"Banque Populaire",icon:"maki-bank",imageURL:"https://graph.facebook.com/PopulaireEtDigitale/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2883441",amenity:"bank"},addTags:{amenity:"bank",brand:"Banque Populaire","brand:wikidata":"Q2883441","brand:wikipedia":"en:Banque Populaire du Maroc",name:"Banque Populaire"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Banrisul":{name:"Banrisul",icon:"maki-bank",imageURL:"https://graph.facebook.com/banrisul/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4857098",amenity:"bank"},addTags:{amenity:"bank",brand:"Banrisul","brand:wikidata":"Q4857098","brand:wikipedia":"en:Banrisul",name:"Banrisul"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Banrural":{name:"Banrural",icon:"maki-bank",imageURL:"https://graph.facebook.com/BanruralHonduras/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5719130",amenity:"bank"},addTags:{amenity:"bank",brand:"Banrural","brand:wikidata":"Q5719130","brand:wikipedia":"es:Banrural",name:"Banrural"},countryCodes:["gt","hn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Barclays":{name:"Barclays",icon:"maki-bank",imageURL:"https://graph.facebook.com/BarclaysUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q245343",amenity:"bank"},addTags:{amenity:"bank",brand:"Barclays","brand:wikidata":"Q245343","brand:wikipedia":"en:Barclays",name:"Barclays"},terms:["barclays bank"],matchScore:2,suggestion:true},"amenity/bank/Bcc":{name:"Bcc",icon:"maki-bank",imageURL:"https://graph.facebook.com/BCCRomaOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25060394",amenity:"bank"},addTags:{amenity:"bank",brand:"Bcc","brand:wikidata":"Q25060394","brand:wikipedia":"en:Banca di Credito Cooperativo di Roma",name:"Bcc"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Belfius":{name:"Belfius",icon:"maki-bank",imageURL:"https://graph.facebook.com/belfius/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1956014",amenity:"bank"},addTags:{amenity:"bank",brand:"Belfius","brand:wikidata":"Q1956014","brand:wikipedia":"en:Belfius",name:"Belfius"},countryCodes:["be"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bendigo Bank":{name:"Bendigo Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/BendigoBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4887077",amenity:"bank"},addTags:{amenity:"bank",brand:"Bendigo Bank","brand:wikidata":"Q4887077","brand:wikipedia":"en:Bendigo and Adelaide Bank",name:"Bendigo Bank"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Berliner Volksbank":{name:"Berliner Volksbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/BerlinerVolksbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q821855",amenity:"bank"},addTags:{amenity:"bank",brand:"Berliner Volksbank","brand:wikidata":"Q821855","brand:wikipedia":"de:Berliner Volksbank",name:"Berliner Volksbank"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bicentenario":{name:"Bicentenario",icon:"maki-bank",imageURL:"https://graph.facebook.com/BicentenarioBU/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5728123",amenity:"bank"},addTags:{amenity:"bank",brand:"Bicentenario","brand:wikidata":"Q5728123","brand:wikipedia":"es:Bicentenario Banco Universal",name:"Bicentenario"},countryCodes:["ve"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Bicici":{name:"Bicici",icon:"maki-bank",imageURL:"https://graph.facebook.com/BICICIGroupeBNPParibas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1667302",amenity:"bank"},addTags:{amenity:"bank",brand:"Bicici","brand:wikidata":"Q1667302","brand:wikipedia":"fr:Banque internationale pour le commerce et l'industrie de la Côte d'Ivoire",name:"Bicici"},countryCodes:["ci"],terms:["agence bicici"],matchScore:2,suggestion:true},"amenity/bank/Bradesco":{name:"Bradesco",icon:"maki-bank",imageURL:"https://graph.facebook.com/bradesco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806181",amenity:"bank"},addTags:{amenity:"bank",brand:"Bradesco","brand:wikidata":"Q806181","brand:wikipedia":"en:Banco Bradesco",name:"Bradesco"},countryCodes:["br"],terms:["banco bradesco"],matchScore:2,suggestion:true},"amenity/bank/Budapest Bank":{name:"Budapest Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/budapestbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q27493463",amenity:"bank"},addTags:{amenity:"bank",brand:"Budapest Bank","brand:wikidata":"Q27493463","brand:wikipedia":"en:Budapest Bank",name:"Budapest Bank"},countryCodes:["hu"],terms:[],matchScore:2,suggestion:true},"amenity/bank/CBAO":{name:"CBAO",icon:"maki-bank",imageURL:"https://graph.facebook.com/161410284020244/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q532104",amenity:"bank"},addTags:{amenity:"bank",brand:"CBAO","brand:wikidata":"Q532104","brand:wikipedia":"fr:CBAO Groupe Attijariwafa bank",name:"CBAO"},countryCodes:["sn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/CEC Bank":{name:"CEC Bank",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q1023306",amenity:"bank"},addTags:{amenity:"bank",brand:"CEC Bank","brand:wikidata":"Q1023306","brand:wikipedia":"en:CEC Bank",name:"CEC Bank"},countryCodes:["ro"],terms:[],matchScore:2,suggestion:true},"amenity/bank/CIB Bank":{name:"CIB Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/with.cib.hu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q839566",amenity:"bank"},addTags:{amenity:"bank",brand:"CIB Bank","brand:wikidata":"Q839566","brand:wikipedia":"en:CIB Bank",name:"CIB Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/CIBC":{name:"CIBC",icon:"maki-bank",imageURL:"https://graph.facebook.com/CIBC/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q666694",amenity:"bank"},addTags:{amenity:"bank",brand:"CIBC","brand:wikidata":"Q666694","brand:wikipedia":"en:Canadian Imperial Bank of Commerce",name:"CIBC"},countryCodes:["ca"],terms:["cibc banking centre"],matchScore:2,suggestion:true},"amenity/bank/CIC":{name:"CIC",icon:"maki-bank",imageURL:"https://graph.facebook.com/cic/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q746525",amenity:"bank"},addTags:{amenity:"bank",brand:"CIC","brand:wikidata":"Q746525","brand:wikipedia":"en:Crédit Industriel et Commercial",name:"CIC"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/CIH Bank":{name:"CIH Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/cihbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3006220",amenity:"bank"},addTags:{amenity:"bank",brand:"CIH Bank","brand:wikidata":"Q3006220","brand:wikipedia":"en:CIH Bank",name:"CIH Bank"},countryCodes:["ma"],terms:[],matchScore:2,suggestion:true},"amenity/bank/CIMB Bank":{name:"CIMB Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/CIMBMalaysia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3045976",amenity:"bank"},addTags:{amenity:"bank",brand:"CIMB Bank","brand:wikidata":"Q3045976","brand:wikipedia":"en:CIMB",name:"CIMB Bank"},countryCodes:["my"],terms:[],matchScore:2,suggestion:true},"amenity/bank/CIMB Niaga":{name:"CIMB Niaga",icon:"maki-bank",imageURL:"https://graph.facebook.com/CIMBIndonesia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5011747",amenity:"bank"},addTags:{amenity:"bank",brand:"CIMB Niaga","brand:wikidata":"Q5011747","brand:wikipedia":"en:CIMB Niaga",name:"CIMB Niaga"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"amenity/bank/CNEP":{name:"CNEP",icon:"maki-bank",imageURL:"https://graph.facebook.com/CNEPOfficielle/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2931752",amenity:"bank"},addTags:{amenity:"bank",brand:"CNEP","brand:wikidata":"Q2931752","brand:wikipedia":"fr:CNEP-Banque",name:"CNEP"},countryCodes:["dz"],terms:[],matchScore:2,suggestion:true},"amenity/bank/CRDB Bank":{name:"CRDB Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/crdbbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5013848",amenity:"bank"},addTags:{amenity:"bank",brand:"CRDB Bank","brand:wikidata":"Q5013848","brand:wikipedia":"en:CRDB Bank",name:"CRDB Bank"},countryCodes:["tz"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Caisse Desjardins":{name:"Caisse Desjardins",icon:"maki-bank",imageURL:"https://graph.facebook.com/desjardins/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2933350",amenity:"bank"},addTags:{amenity:"bank",brand:"Caisse Desjardins","brand:wikidata":"Q2933350","brand:wikipedia":"en:Desjardins Group",name:"Caisse Desjardins"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Caisse d'Épargne":{name:"Caisse d'Épargne",icon:"maki-bank",imageURL:"https://graph.facebook.com/Caisse.Epargne/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1547738",amenity:"bank"},addTags:{amenity:"bank",brand:"Caisse d'Épargne","brand:wikidata":"Q1547738","brand:wikipedia":"en:Groupe Caisse d'Épargne",name:"Caisse d'Épargne"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Caixa Econômica Federal (Brazil)":{name:"Caixa Econômica Federal (Brazil)",icon:"maki-bank",imageURL:"https://graph.facebook.com/caixa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q835283",amenity:"bank"},addTags:{amenity:"bank",brand:"Caixa Econômica Federal","brand:wikidata":"Q835283","brand:wikipedia":"pt:Caixa Econômica Federal",name:"Caixa Econômica Federal"},countryCodes:["br"],terms:["caixa","caixabank"],matchScore:2,suggestion:true},"amenity/bank/Caixa Geral de Depósitos":{name:"Caixa Geral de Depósitos",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FCaixa%20Geral%20de%20Dep%C3%B3sitos%20logo.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1026044",amenity:"bank"},addTags:{amenity:"bank",brand:"Caixa Geral de Depósitos","brand:wikidata":"Q1026044","brand:wikipedia":"pt:Caixa Geral de Depósitos",name:"Caixa Geral de Depósitos"},countryCodes:["es","fr","pt"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Caixabank (Spain)":{name:"Caixabank (Spain)",icon:"maki-bank",imageURL:"https://graph.facebook.com/CaixaBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q847225",amenity:"bank"},addTags:{amenity:"bank",brand:"Caixabank","brand:wikidata":"Q847225","brand:wikipedia":"en:CaixaBank",name:"Caixabank"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Caja Duero":{name:"Caja Duero",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q3821055",amenity:"bank"},addTags:{amenity:"bank",brand:"Caja Duero","brand:wikidata":"Q3821055","brand:wikipedia":"es:Caja Duero",name:"Caja Duero"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Caja España":{name:"Caja España",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q966985",amenity:"bank"},addTags:{amenity:"bank",brand:"Caja España","brand:wikidata":"Q966985","brand:wikipedia":"es:Caja España",name:"Caja España"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Caja Rural":{name:"Caja Rural",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FCaja%20Rural.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q3649971",amenity:"bank"},addTags:{amenity:"bank",brand:"Caja Rural","brand:wikidata":"Q3649971","brand:wikipedia":"es:Caja Rural",name:"Caja Rural"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Caja Rural de Jaén":{name:"Caja Rural de Jaén",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FCaja%20Rural.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q18720350",amenity:"bank"},addTags:{amenity:"bank",brand:"Caja Rural de Jaén","brand:wikidata":"Q18720350","brand:wikipedia":"es:Caja Rural de Jaén",name:"Caja Rural de Jaén"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/CajaSur":{name:"CajaSur",icon:"maki-bank",imageURL:"https://graph.facebook.com/Cajasur/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3751637",amenity:"bank"},addTags:{amenity:"bank",brand:"CajaSur","brand:wikidata":"Q3751637","brand:wikipedia":"en:CajaSur",name:"CajaSur"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Cajamar":{name:"Cajamar",icon:"maki-bank",imageURL:"https://graph.facebook.com/cajamar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8254971",amenity:"bank"},addTags:{amenity:"bank",brand:"Cajamar","brand:wikidata":"Q8254971","brand:wikipedia":"es:Cajamar",name:"Cajamar"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/California Coast Credit Union":{name:"California Coast Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/CalCoastCU/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25025281",amenity:"bank"},addTags:{amenity:"bank",brand:"California Coast Credit Union","brand:wikidata":"Q25025281","brand:wikipedia":"en:California Coast Credit Union",name:"California Coast Credit Union"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Canara Bank":{name:"Canara Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/canarabank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2003777",amenity:"bank"},addTags:{amenity:"bank",brand:"Canara Bank","brand:wikidata":"Q2003777","brand:wikipedia":"en:Canara Bank",name:"Canara Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Capital Bank":{name:"Capital Bank",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5035481",amenity:"bank"},addTags:{amenity:"bank",brand:"Capital Bank","brand:wikidata":"Q5035481","brand:wikipedia":"en:Capital Bank Financial",name:"Capital Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Capital One":{name:"Capital One",icon:"maki-bank",imageURL:"https://graph.facebook.com/capitalone/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1034654",amenity:"bank"},addTags:{amenity:"bank",brand:"Capital One","brand:wikidata":"Q1034654","brand:wikipedia":"en:Capital One",name:"Capital One"},countryCodes:["us"],terms:["capital one bank"],matchScore:2,suggestion:true},"amenity/bank/Carige":{name:"Carige",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/608212417395499008/oUMlcP6e_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q3633695",amenity:"bank"},addTags:{amenity:"bank",brand:"Carige","brand:wikidata":"Q3633695","brand:wikipedia":"en:Banca Carige",name:"Carige"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Cariparma":{name:"Cariparma",icon:"maki-bank",imageURL:"https://graph.facebook.com/CreditAgricoleItalia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2938832",amenity:"bank"},addTags:{amenity:"bank",brand:"Cariparma","brand:wikidata":"Q2938832","brand:wikipedia":"en:Crédit Agricole Italia",name:"Cariparma"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Carisbo":{name:"Carisbo",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q3661937",amenity:"bank"},addTags:{amenity:"bank",brand:"Carisbo","brand:wikidata":"Q3661937","brand:wikipedia":"en:Cassa di Risparmio in Bologna",name:"Carisbo"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Cassa di Risparmio del Veneto":{name:"Cassa di Risparmio del Veneto",icon:"maki-bank",imageURL:"https://graph.facebook.com/CassadiRisparmiodelVeneto/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3661909",amenity:"bank"},addTags:{amenity:"bank",brand:"Cassa di Risparmio del Veneto","brand:wikidata":"Q3661909","brand:wikipedia":"en:Cassa di Risparmio del Veneto",name:"Cassa di Risparmio del Veneto"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/CatalunyaCaixa":{name:"CatalunyaCaixa",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%20cx%20original.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q3750952",amenity:"bank"},addTags:{amenity:"bank",brand:"CatalunyaCaixa","brand:wikidata":"Q3750952","brand:wikipedia":"en:CatalunyaCaixa",name:"CatalunyaCaixa"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Cathay Bank":{name:"Cathay Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/cathaybank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4189507",amenity:"bank"},addTags:{amenity:"bank",brand:"Cathay Bank","brand:wikidata":"Q4189507","brand:wikipedia":"en:Cathay Bank",name:"Cathay Bank"},countryCodes:["cn","tw","us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Central Bank of India":{name:"Central Bank of India",icon:"maki-bank",imageURL:"https://graph.facebook.com/CentralBankofIndia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2007090",amenity:"bank"},addTags:{amenity:"bank",brand:"Central Bank of India","brand:wikidata":"Q2007090","brand:wikipedia":"en:Central Bank of India",name:"Central Bank of India"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Chase":{name:"Chase",icon:"maki-bank",imageURL:"https://graph.facebook.com/chase/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q524629",amenity:"bank"},addTags:{amenity:"bank",brand:"Chase","brand:wikidata":"Q524629","brand:wikipedia":"en:Chase Bank",name:"Chase"},terms:["chase bank"],matchScore:2,suggestion:true},"amenity/bank/China Bank":{name:"China Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/chinabank.ph/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5100080",amenity:"bank"},addTags:{amenity:"bank",brand:"China Bank","brand:wikidata":"Q5100080","brand:wikipedia":"en:Chinabank",name:"China Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/China Bank Savings":{name:"China Bank Savings",icon:"maki-bank",imageURL:"https://graph.facebook.com/cbschinabanksavings/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18387359",amenity:"bank"},addTags:{amenity:"bank",brand:"China Bank Savings","brand:wikidata":"Q18387359","brand:wikipedia":"en:China Bank Savings",name:"China Bank Savings"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/bank/China Construction Bank":{name:"China Construction Bank",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FChina%20Construction%20Bank%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q26299",amenity:"bank"},addTags:{amenity:"bank",brand:"China Construction Bank","brand:wikidata":"Q26299","brand:wikipedia":"en:China Construction Bank",name:"China Construction Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Citibank":{name:"Citibank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1145693638959226881/A09fvJzn_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q857063",amenity:"bank"},addTags:{amenity:"bank",brand:"Citibank","brand:wikidata":"Q857063","brand:wikipedia":"en:Citibank",name:"Citibank",short_name:"Citi"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Citizens Bank (Eastern USA)":{name:"Citizens Bank (Eastern USA)",icon:"maki-bank",imageURL:"https://graph.facebook.com/citizensbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5122694",amenity:"bank"},addTags:{amenity:"bank",brand:"Citizens Bank","brand:wikidata":"Q5122694","brand:wikipedia":"en:Citizens Financial Group",name:"Citizens Bank",short_name:"Citizens"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Citizens Bank (Kentucky)":{name:"Citizens Bank (Kentucky)",icon:"maki-bank",imageURL:"https://graph.facebook.com/citizensbankofkentucky/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5122711",amenity:"bank"},addTags:{alt_name:"Citizens Bank of Kentucky",amenity:"bank",brand:"Citizens Bank","brand:wikidata":"Q5122711","brand:wikipedia":"en:Citizens National Bank (Eastern Kentucky)",name:"Citizens Bank",official_name:"Citizens National Bank",short_name:"Citizens"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Citizens Bank (Nepal)":{name:"Citizens Bank (Nepal)",icon:"maki-bank",imageURL:"https://graph.facebook.com/ctznbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q13186934",amenity:"bank"},addTags:{amenity:"bank",brand:"Citizens Bank International","brand:wikidata":"Q13186934","brand:wikipedia":"en:Citizens Bank International",name:"Citizens Bank",official_name:"Citizens Bank International Ltd.",short_name:"Citizens"},countryCodes:["np"],terms:[],matchScore:2,suggestion:true},"amenity/bank/City National Bank (California)":{name:"City National Bank (California)",icon:"maki-bank",imageURL:"https://graph.facebook.com/CityNationalBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5123314",amenity:"bank"},addTags:{amenity:"bank",brand:"City National Bank","brand:wikidata":"Q5123314","brand:wikipedia":"en:City National Bank (California)",name:"City National Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/City National Bank (Florida)":{name:"City National Bank (Florida)",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1098260637703172096/um-tzWqP_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q16958644",amenity:"bank"},addTags:{amenity:"bank",brand:"City National Bank","brand:wikidata":"Q16958644","brand:wikipedia":"en:City National Bank of Florida",name:"City National Bank",official_name:"City National Bank of Florida"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Clydesdale Bank":{name:"Clydesdale Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/clydesdalebank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q971680",amenity:"bank"},addTags:{amenity:"bank",brand:"Clydesdale Bank","brand:wikidata":"Q971680","brand:wikipedia":"en:Clydesdale Bank",name:"Clydesdale Bank"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Coast Capital Savings":{name:"Coast Capital Savings",icon:"maki-bank",imageURL:"https://graph.facebook.com/coastcapitalsavings/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5138088",amenity:"bank"},addTags:{amenity:"bank",brand:"Coast Capital Savings","brand:wikidata":"Q5138088","brand:wikipedia":"en:Coast Capital Savings",name:"Coast Capital Savings",official_name:"Coast Capital Savings Federal Credit Union"},countryCodes:["ca"],terms:["coast capital","coast capital savings credit union"],matchScore:2,suggestion:true},"amenity/bank/Columbia Bank (New Jersey)":{name:"Columbia Bank (New Jersey)",icon:"maki-bank",imageURL:"https://graph.facebook.com/columbiabank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62084096",amenity:"bank"},addTags:{amenity:"bank",brand:"Columbia Bank","brand:wikidata":"Q62084096",name:"Columbia Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Columbia Bank (Washington)":{name:"Columbia Bank (Washington)",icon:"maki-bank",imageURL:"https://graph.facebook.com/columbiastatebank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62084089",amenity:"bank"},addTags:{amenity:"bank",brand:"Columbia Bank","brand:wikidata":"Q62084089",name:"Columbia Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Comerica Bank":{name:"Comerica Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/comerica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1114148",amenity:"bank"},addTags:{amenity:"bank",brand:"Comerica Bank","brand:wikidata":"Q1114148","brand:wikipedia":"en:Comerica",name:"Comerica Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Commercial Bank of Ceylon PLC":{name:"Commercial Bank of Ceylon PLC",icon:"maki-bank",imageURL:"https://graph.facebook.com/combanksl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5152468",amenity:"bank"},addTags:{amenity:"bank",brand:"Commercial Bank of Ceylon PLC","brand:wikidata":"Q5152468","brand:wikipedia":"en:Commercial Bank of Ceylon",name:"Commercial Bank of Ceylon PLC"},countryCodes:["lk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Commerzbank":{name:"Commerzbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/commerzbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q157617",amenity:"bank"},addTags:{amenity:"bank",brand:"Commerzbank","brand:wikidata":"Q157617","brand:wikipedia":"en:Commerzbank",name:"Commerzbank"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Commonwealth Bank":{name:"Commonwealth Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/commonwealthbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q285328",amenity:"bank"},addTags:{amenity:"bank",brand:"Commonwealth Bank","brand:wikidata":"Q285328","brand:wikipedia":"en:Commonwealth Bank",name:"Commonwealth Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Community Bank":{name:"Community Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/communitybankna/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5154635",amenity:"bank"},addTags:{amenity:"bank",brand:"Community Bank","brand:wikidata":"Q5154635","brand:wikipedia":"en:Community Bank, N.A.",name:"Community Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Corporation Bank":{name:"Corporation Bank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1041960346926440448/31ZynavT_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q2003387",amenity:"bank"},addTags:{amenity:"bank",brand:"Corporation Bank","brand:wikidata":"Q2003387","brand:wikipedia":"en:Corporation Bank",name:"Corporation Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Credem":{name:"Credem",icon:"maki-bank",imageURL:"https://graph.facebook.com/credem/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3696881",amenity:"bank"},addTags:{amenity:"bank",brand:"Credem","brand:wikidata":"Q3696881","brand:wikipedia":"en:Credito Emiliano",name:"Credem"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Credicoop":{name:"Credicoop",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancocredicoopcl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854086",amenity:"bank"},addTags:{amenity:"bank",brand:"Credicoop","brand:wikidata":"Q4854086","brand:wikipedia":"en:Banco Credicoop",name:"Credicoop"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Credit Suisse":{name:"Credit Suisse",icon:"maki-bank",imageURL:"https://graph.facebook.com/creditsuisse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q372657",amenity:"bank"},addTags:{amenity:"bank",brand:"Credit Suisse","brand:wikidata":"Q372657","brand:wikipedia":"en:Credit Suisse",name:"Credit Suisse"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Credito Valtellinese":{name:"Credito Valtellinese",icon:"maki-bank",imageURL:"https://graph.facebook.com/Creval/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3696888",amenity:"bank"},addTags:{amenity:"bank",brand:"Credito Valtellinese","brand:wikidata":"Q3696888","brand:wikipedia":"en:Credito Valtellinese",name:"Credito Valtellinese"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Crelan":{name:"Crelan",icon:"maki-bank",imageURL:"https://graph.facebook.com/Crelan.Banque/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q389872",amenity:"bank"},addTags:{amenity:"bank",brand:"Crelan","brand:wikidata":"Q389872","brand:wikipedia":"en:Crelan",name:"Crelan"},countryCodes:["be"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Crédit Agricole":{name:"Crédit Agricole",icon:"maki-bank",imageURL:"https://graph.facebook.com/CreditAgricole/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q590952",amenity:"bank"},addTags:{amenity:"bank",brand:"Crédit Agricole","brand:wikidata":"Q590952","brand:wikipedia":"fr:Crédit agricole",name:"Crédit Agricole"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Crédit Maritime":{name:"Crédit Maritime",icon:"maki-bank",imageURL:"https://graph.facebook.com/CreditMaritimeGrandOuest/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17176866",amenity:"bank"},addTags:{amenity:"bank",brand:"Crédit Maritime","brand:wikidata":"Q17176866","brand:wikipedia":"fr:Crédit maritime",name:"Crédit Maritime"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Crédit Mutuel":{name:"Crédit Mutuel",icon:"maki-bank",imageURL:"https://graph.facebook.com/creditmutuel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q642627",amenity:"bank"},addTags:{amenity:"bank",brand:"Crédit Mutuel","brand:wikidata":"Q642627","brand:wikipedia":"en:Crédit Mutuel",name:"Crédit Mutuel"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Crédit Mutuel de Bretagne":{name:"Crédit Mutuel de Bretagne",icon:"maki-bank",imageURL:"https://graph.facebook.com/GroupeArkea/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3006236",amenity:"bank"},addTags:{amenity:"bank",brand:"Crédit Mutuel de Bretagne","brand:wikidata":"Q3006236","brand:wikipedia":"fr:Crédit mutuel Arkéa",name:"Crédit Mutuel de Bretagne"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Crédit du Nord":{name:"Crédit du Nord",icon:"maki-bank",imageURL:"https://graph.facebook.com/creditdunord/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3006209",amenity:"bank"},addTags:{amenity:"bank",brand:"Crédit du Nord","brand:wikidata":"Q3006209","brand:wikipedia":"en:Crédit du Nord",name:"Crédit du Nord"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Crédito Agrícola":{name:"Crédito Agrícola",icon:"maki-bank",imageURL:"https://graph.facebook.com/grupocreditoagricola/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10262017",amenity:"bank"},addTags:{amenity:"bank",brand:"Crédito Agrícola","brand:wikidata":"Q10262017","brand:wikipedia":"pt:Crédito Agrícola",name:"Crédito Agrícola"},countryCodes:["pt"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Danske Bank":{name:"Danske Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/DanskeBankDanmark/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1636974",amenity:"bank"},addTags:{amenity:"bank",brand:"Danske Bank","brand:wikidata":"Q1636974","brand:wikipedia":"en:Danske Bank",name:"Danske Bank"},countryCodes:["dk","fi","gb","lt","no","se"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Davivienda":{name:"Davivienda",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoDavivienda/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5242054",amenity:"bank"},addTags:{amenity:"bank",brand:"Davivienda","brand:wikidata":"Q5242054","brand:wikipedia":"en:Davivienda",name:"Davivienda"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Denizbank":{name:"Denizbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/DenizBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1115064",amenity:"bank"},addTags:{amenity:"bank",brand:"Denizbank","brand:wikidata":"Q1115064","brand:wikipedia":"en:DenizBank",name:"Denizbank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Desjardins":{name:"Desjardins",icon:"maki-bank",imageURL:"https://graph.facebook.com/desjardins/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2933350",amenity:"bank"},addTags:{amenity:"bank",brand:"Desjardins","brand:wikidata":"Q2933350","brand:wikipedia":"en:Desjardins Group",name:"Desjardins"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Deutsche Bank":{name:"Deutsche Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/DeutscheBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q66048",amenity:"bank"},addTags:{amenity:"bank",brand:"Deutsche Bank","brand:wikidata":"Q66048","brand:wikipedia":"en:Deutsche Bank",name:"Deutsche Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Dollar Bank":{name:"Dollar Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/dollarbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5289205",amenity:"bank"},addTags:{amenity:"bank",brand:"Dollar Bank","brand:wikidata":"Q5289205","brand:wikipedia":"en:Dollar Bank",name:"Dollar Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Dubai Islamic Bank":{name:"Dubai Islamic Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/dib.uae/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5310570",amenity:"bank"},addTags:{amenity:"bank",brand:"Dubai Islamic Bank","brand:wikidata":"Q5310570","brand:wikipedia":"en:Dubai Islamic Bank",name:"Dubai Islamic Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/EastWest Unibank":{name:"EastWest Unibank",icon:"maki-bank",imageURL:"https://graph.facebook.com/EastWestBanker/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5327595",amenity:"bank"},addTags:{amenity:"bank",brand:"EastWest Unibank","brand:wikidata":"Q5327595","brand:wikipedia":"en:EastWest Bank",name:"EastWest Unibank"},countryCodes:["ph"],terms:["eastwest bank"],matchScore:2,suggestion:true},"amenity/bank/Ecobank":{name:"Ecobank",icon:"maki-bank",imageURL:"https://graph.facebook.com/EcobankGroup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q930225",amenity:"bank"},addTags:{amenity:"bank",brand:"Ecobank","brand:wikidata":"Q930225","brand:wikipedia":"en:Ecobank",name:"Ecobank"},terms:["agence ecobank"],matchScore:2,suggestion:true},"amenity/bank/Emigrant Savings Bank":{name:"Emigrant Savings Bank",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5371104",amenity:"bank"},addTags:{amenity:"bank",brand:"Emigrant Savings Bank","brand:wikidata":"Q5371104","brand:wikipedia":"en:Emigrant Savings Bank",name:"Emigrant Savings Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Emirates NBD":{name:"Emirates NBD",icon:"maki-bank",imageURL:"https://graph.facebook.com/EmiratesNBD/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5372575",amenity:"bank"},addTags:{amenity:"bank",brand:"Emirates NBD","brand:wikidata":"Q5372575","brand:wikipedia":"en:Emirates NBD",name:"Emirates NBD"},countryCodes:["ae"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Equity Bank (Congo)":{name:"Equity Bank (Congo)",icon:"maki-bank",imageURL:"https://graph.facebook.com/www.equitybank.cd/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q21178738",amenity:"bank"},addTags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q21178738","brand:wikipedia":"en:Equity Bank Congo",name:"Equity Bank"},countryCodes:["cd"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Equity Bank (Kenya)":{name:"Equity Bank (Kenya)",icon:"maki-bank",imageURL:"https://graph.facebook.com/KeEquityBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5384664",amenity:"bank"},addTags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q5384664","brand:wikipedia":"en:Equity Bank Kenya Limited",name:"Equity Bank"},countryCodes:["ke"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Equity Bank (Rwanda)":{name:"Equity Bank (Rwanda)",icon:"maki-bank",imageURL:"https://graph.facebook.com/RwEquityBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5384665",amenity:"bank"},addTags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q5384665","brand:wikipedia":"en:Equity Bank Rwanda Limited",name:"Equity Bank"},countryCodes:["rw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Equity Bank (South Sudan)":{name:"Equity Bank (South Sudan)",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5384666",amenity:"bank"},addTags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q5384666","brand:wikipedia":"en:Equity Bank South Sudan Limited",name:"Equity Bank"},countryCodes:["ss"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Equity Bank (Tanzania)":{name:"Equity Bank (Tanzania)",icon:"maki-bank",imageURL:"https://graph.facebook.com/TzEquityBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5384667",amenity:"bank"},addTags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q5384667","brand:wikipedia":"en:Equity Bank Tanzania Limited",name:"Equity Bank"},countryCodes:["tz"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Equity Bank (USA)":{name:"Equity Bank (USA)",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/624655695741366272/12-izccG_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q62260414",amenity:"bank"},addTags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q62260414","brand:wikipedia":"en:Equity Bank USA",name:"Equity Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Equity Bank (Uganda)":{name:"Equity Bank (Uganda)",icon:"maki-bank",imageURL:"https://graph.facebook.com/UgEquityBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5384668",amenity:"bank"},addTags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q5384668","brand:wikipedia":"en:Equity Bank Uganda Limited",name:"Equity Bank"},countryCodes:["ug"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Erste Bank":{name:"Erste Bank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1008639007046107136/-MtFGuJT_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q696867",amenity:"bank"},addTags:{amenity:"bank",brand:"Erste Bank","brand:wikidata":"Q696867","brand:wikipedia":"de:Erste Bank",name:"Erste Bank"},countryCodes:["at","hr","hu"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Eurobank (Greece)":{name:"Eurobank (Greece)",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/928963286518910976/KZD7wKh9_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q951850",amenity:"bank"},addTags:{amenity:"bank",brand:"Eurobank","brand:wikidata":"Q951850","brand:wikipedia":"el:Eurobank",name:"Eurobank"},countryCodes:["gr"],terms:["eurobank ergasias"],matchScore:2,suggestion:true},"amenity/bank/Eurobank (Poland)":{name:"Eurobank (Poland)",icon:"maki-bank",imageURL:"https://graph.facebook.com/eurobanksa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9256201",amenity:"bank"},addTags:{amenity:"bank",brand:"Eurobank","brand:wikidata":"Q9256201","brand:wikipedia":"pl:Euro Bank",name:"Eurobank"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Eurobank (Serbia)":{name:"Eurobank (Serbia)",icon:"maki-bank",imageURL:"https://graph.facebook.com/EurobankSrbija/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5411684",amenity:"bank"},addTags:{amenity:"bank",brand:"Eurobank","brand:wikidata":"Q5411684","brand:wikipedia":"sr:Eurobanka",name:"Eurobank"},countryCodes:["rs"],terms:[],matchScore:2,suggestion:true},"amenity/bank/FNB (South Africa)":{name:"FNB (South Africa)",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q3072956",amenity:"bank"},addTags:{amenity:"bank",brand:"FNB","brand:wikidata":"Q3072956","brand:wikipedia":"en:First National Bank (South Africa)",name:"FNB",official_name:"First National Bank"},countryCodes:["bw","mz","na","us","za","zm"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Faysal Bank":{name:"Faysal Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/faysalbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5439099",amenity:"bank"},addTags:{amenity:"bank",brand:"Faysal Bank","brand:wikidata":"Q5439099","brand:wikipedia":"en:Faysal Bank",name:"Faysal Bank"},countryCodes:["pk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Federal Bank":{name:"Federal Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/federalbankltd/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2044983",amenity:"bank"},addTags:{amenity:"bank",brand:"Federal Bank","brand:wikidata":"Q2044983","brand:wikipedia":"en:Federal Bank",name:"Federal Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Fidelity Bank (Ghana)":{name:"Fidelity Bank (Ghana)",icon:"maki-bank",imageURL:"https://graph.facebook.com/fidelitybankgh/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5446778",amenity:"bank"},addTags:{amenity:"bank",brand:"Fidelity Bank","brand:wikidata":"Q5446778","brand:wikipedia":"en:Fidelity Bank Ghana",name:"Fidelity Bank"},countryCodes:["gh"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Fidelity Bank (Nigeria)":{name:"Fidelity Bank (Nigeria)",icon:"maki-bank",imageURL:"https://graph.facebook.com/FidelityBankplc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5446777",amenity:"bank"},addTags:{amenity:"bank",brand:"Fidelity Bank","brand:wikidata":"Q5446777","brand:wikipedia":"en:Fidelity Bank Nigeria",name:"Fidelity Bank"},countryCodes:["ng"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Fidelity Bank (USA)":{name:"Fidelity Bank (USA)",icon:"maki-bank",imageURL:"https://graph.facebook.com/fidelityinvestments/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1411292",amenity:"bank"},addTags:{amenity:"bank",brand:"Fidelity Bank","brand:wikidata":"Q1411292","brand:wikipedia":"en:Fidelity Investments",name:"Fidelity Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Fifth Third Bank":{name:"Fifth Third Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/FifthThirdBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1411810",amenity:"bank"},addTags:{amenity:"bank",brand:"Fifth Third Bank","brand:wikidata":"Q1411810","brand:wikipedia":"en:Fifth Third Bank",name:"Fifth Third Bank",short_name:"5/3 Bank"},countryCodes:["us"],terms:["5/3"],matchScore:2,suggestion:true},"amenity/bank/Finansbank":{name:"Finansbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/qnbfinansbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1416237",amenity:"bank"},addTags:{amenity:"bank",brand:"Finansbank","brand:wikidata":"Q1416237","brand:wikipedia":"en:Finansbank",name:"Finansbank"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/First Bank (North and South Carolina)":{name:"First Bank (North and South Carolina)",icon:"maki-bank",imageURL:"https://graph.facebook.com/localfirstbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5452332",amenity:"bank"},addTags:{amenity:"bank",brand:"First Bank","brand:wikidata":"Q5452332","brand:wikipedia":"en:First Bancorp",name:"First Bank"},countryCodes:["us"],terms:["1st bancorp","1st bank","first bancorp"],matchScore:2,suggestion:true},"amenity/bank/First Bank (Puerto Rico)":{name:"First Bank (Puerto Rico)",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FFirst%20BanCorp%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q5452333",amenity:"bank"},addTags:{amenity:"bank",brand:"First Bank","brand:wikidata":"Q5452333","brand:wikipedia":"en:First BanCorp",name:"First Bank"},countryCodes:["us"],terms:["1st bancorp","1st bank","first bancorp"],matchScore:2,suggestion:true},"amenity/bank/First Bank (Western USA)":{name:"First Bank (Western USA)",icon:"maki-bank",imageURL:"https://graph.facebook.com/efirstbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5452217",amenity:"bank"},addTags:{amenity:"bank",brand:"First Bank","brand:wikidata":"Q5452217","brand:wikipedia":"en:FirstBank Holding Co",name:"First Bank",short_name:"1STBank"},countryCodes:["us"],terms:["1st bank"],matchScore:2,suggestion:true},"amenity/bank/First Citizens Bank (Trinidad and Tobago)":{name:"First Citizens Bank (Trinidad and Tobago)",icon:"maki-bank",imageURL:"https://graph.facebook.com/FirstCitizens/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5452734",amenity:"bank"},addTags:{amenity:"bank",brand:"First Citizens Bank","brand:wikidata":"Q5452734","brand:wikipedia":"en:First Citizens Bank (Trinidad and Tobago)",name:"First Citizens Bank"},countryCodes:["bb","tt"],terms:["1st citizens bank"],matchScore:2,suggestion:true},"amenity/bank/First Citizens Bank (USA)":{name:"First Citizens Bank (USA)",icon:"maki-bank",imageURL:"https://graph.facebook.com/firstcitizensbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5452733",amenity:"bank"},addTags:{amenity:"bank",brand:"First Citizens Bank","brand:wikidata":"Q5452733","brand:wikipedia":"en:First Citizens BancShares",name:"First Citizens Bank"},countryCodes:["us"],terms:["1st citizens bank"],matchScore:2,suggestion:true},"amenity/bank/First Financial Bank":{name:"First Financial Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/FirstFinancialBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5453009",amenity:"bank"},addTags:{amenity:"bank",brand:"First Financial Bank","brand:wikidata":"Q5453009","brand:wikipedia":"en:First Financial Bank (Ohio)",name:"First Financial Bank"},countryCodes:["us"],terms:["1st financial bank"],matchScore:2,suggestion:true},"amenity/bank/First Interstate Bank":{name:"First Interstate Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/FirstInterstateBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5453107",amenity:"bank"},addTags:{amenity:"bank",brand:"First Interstate BancSystem","brand:wikidata":"Q5453107","brand:wikipedia":"en:First Interstate BancSystem",name:"First Interstate Bank"},countryCodes:["us"],terms:["1st interstate","1st interstate bancsystem","1st interstate bank","first interstate","first interstate bancsystem"],matchScore:2,suggestion:true},"amenity/bank/First Midwest Bank":{name:"First Midwest Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/FirstMidwest/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5453331",amenity:"bank"},addTags:{amenity:"bank",brand:"First Midwest Bank","brand:wikidata":"Q5453331","brand:wikipedia":"en:First Midwest Bank",name:"First Midwest Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/First National Bank (USA)":{name:"First National Bank (USA)",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5426765",amenity:"bank"},addTags:{amenity:"bank",brand:"First National Bank","brand:wikidata":"Q5426765","brand:wikipedia":"en:F.N.B. Corporation",name:"First National Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/First West Credit Union":{name:"First West Credit Union",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/2620760877/6gtc0ga7q8q9srd7tjvg_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q5454073",amenity:"bank"},addTags:{alt_name:"First West",amenity:"bank",brand:"First West Credit Union","brand:wikidata":"Q5454073","brand:wikipedia":"en:First West Credit Union",name:"First West Credit Union"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Frost Bank":{name:"Frost Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/FrostBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5506152",amenity:"bank"},addTags:{amenity:"bank",brand:"Frost Bank","brand:wikidata":"Q5506152","brand:wikipedia":"en:Frost Bank",name:"Frost Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Fulton Bank":{name:"Fulton Bank",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q16976594",amenity:"bank"},addTags:{amenity:"bank",brand:"Fulton Bank","brand:wikidata":"Q16976594",name:"Fulton Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/GCB Bank":{name:"GCB Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/gcbbanklimited/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1521346",amenity:"bank"},addTags:{amenity:"bank",brand:"GCB Bank","brand:wikidata":"Q1521346","brand:wikipedia":"en:GCB Bank",name:"GCB Bank"},countryCodes:["gh"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Galicia":{name:"Galicia",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancogalicia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5717952",amenity:"bank"},addTags:{amenity:"bank",brand:"Galicia","brand:wikidata":"Q5717952","brand:wikipedia":"es:Banco Galicia",name:"Galicia"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Garanti":{name:"Garanti",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%20garanti%20bbva.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q322962",amenity:"bank"},addTags:{amenity:"bank",brand:"Garanti","brand:wikidata":"Q322962","brand:wikipedia":"en:Garanti Bank",name:"Garanti"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Garanti Bankası":{name:"Garanti Bankası",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%20garanti%20bbva.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q322962",amenity:"bank"},addTags:{amenity:"bank",brand:"Garanti Bankası","brand:wikidata":"Q322962","brand:wikipedia":"en:Garanti Bank",name:"Garanti Bankası"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Getin Bank":{name:"Getin Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/GetinBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9267646",amenity:"bank"},addTags:{amenity:"bank",brand:"Getin Bank","brand:wikidata":"Q9267646","brand:wikipedia":"pl:Getin Bank",name:"Getin Bank"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Golden 1 Credit Union":{name:"Golden 1 Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/golden1cu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7736976",amenity:"bank"},addTags:{amenity:"bank",brand:"Golden 1 Credit Union","brand:wikidata":"Q7736976","brand:wikipedia":"en:Golden 1 Credit Union",name:"Golden 1 Credit Union"},countryCodes:["us"],terms:["golden 1","golden one","golden one credit union","the golden 1 credit union","the golden one credit union"],matchScore:2,suggestion:true},"amenity/bank/Great Western Bank":{name:"Great Western Bank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1126552175327567874/X3D9CTSp_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q5600185",amenity:"bank"},addTags:{amenity:"bank",brand:"Great Western Bank","brand:wikidata":"Q5600185","brand:wikipedia":"en:Great Western Bank (1907–present)",name:"Great Western Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Groupama":{name:"Groupama",icon:"maki-bank",imageURL:"https://graph.facebook.com/groupama/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3083531",amenity:"bank"},addTags:{amenity:"bank",brand:"Groupama","brand:wikidata":"Q3083531","brand:wikipedia":"en:Groupama",name:"Groupama"},terms:[],matchScore:2,suggestion:true},"amenity/bank/HBL Bank":{name:"HBL Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/HBLBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1566843",amenity:"bank"},addTags:{amenity:"bank",brand:"HBL Bank","brand:wikidata":"Q1566843","brand:wikipedia":"ur:ایچ بی ایل پاکستان",name:"HBL Bank"},countryCodes:["pk"],terms:["hbl"],matchScore:2,suggestion:true},"amenity/bank/HDFC Bank":{name:"HDFC Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/HDFC.bank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q631047",amenity:"bank"},addTags:{amenity:"bank",brand:"HDFC Bank","brand:wikidata":"Q631047","brand:wikipedia":"en:HDFC Bank",name:"HDFC Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/HNB":{name:"HNB",icon:"maki-bank",imageURL:"https://graph.facebook.com/HNBPLC/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3532080",amenity:"bank"},addTags:{amenity:"bank",brand:"HNB","brand:wikidata":"Q3532080","brand:wikipedia":"en:Hatton National Bank",name:"HNB"},terms:[],matchScore:2,suggestion:true},"amenity/bank/HSBC UK (UK)":{name:"HSBC UK (UK)",icon:"maki-bank",imageURL:"https://graph.facebook.com/hsbcuk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64767453",amenity:"bank"},addTags:{amenity:"bank",brand:"HSBC UK","brand:wikidata":"Q64767453",name:"HSBC UK"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bank/HSBC (Global)":{name:"HSBC (Global)",icon:"maki-bank",imageURL:"https://graph.facebook.com/HSBC/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q190464",amenity:"bank"},addTags:{amenity:"bank",brand:"HSBC","brand:wikidata":"Q190464","brand:wikipedia":"en:HSBC",name:"HSBC"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Halifax":{name:"Halifax",icon:"maki-bank",imageURL:"https://graph.facebook.com/halifax/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3310164",amenity:"bank"},addTags:{amenity:"bank",brand:"Halifax","brand:wikidata":"Q3310164","brand:wikipedia":"en:Halifax (bank)",name:"Halifax"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Halkbank":{name:"Halkbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/HalkbankBeograd/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3593818",amenity:"bank"},addTags:{amenity:"bank",brand:"Halkbank","brand:wikidata":"Q3593818","brand:wikipedia":"en:Halkbank a.d.",name:"Halkbank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Handelsbanken":{name:"Handelsbanken",icon:"maki-bank",imageURL:"https://graph.facebook.com/Handelsbanken/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1421630",amenity:"bank"},addTags:{amenity:"bank",brand:"Handelsbanken","brand:wikidata":"Q1421630","brand:wikipedia":"en:Handelsbanken",name:"Handelsbanken"},countryCodes:["dk","fi","gb","no","se"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Heritage Bank":{name:"Heritage Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/heritage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5738690",amenity:"bank"},addTags:{amenity:"bank",brand:"Heritage Bank","brand:wikidata":"Q5738690","brand:wikipedia":"en:Heritage Bank",name:"Heritage Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Hong Leong Bank":{name:"Hong Leong Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/HLBMalaysia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4383943",amenity:"bank"},addTags:{amenity:"bank",brand:"Hong Leong Bank","brand:wikidata":"Q4383943","brand:wikipedia":"en:Hong Leong Bank",name:"Hong Leong Bank"},countryCodes:["my"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Hrvatska poštanska banka":{name:"Hrvatska poštanska banka",icon:"maki-bank",imageURL:"https://graph.facebook.com/mojpunnovcanik/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5923981",amenity:"bank"},addTags:{amenity:"bank",brand:"Hrvatska poštanska banka","brand:wikidata":"Q5923981","brand:wikipedia":"en:Hrvatska poštanska banka",name:"Hrvatska poštanska banka"},countryCodes:["hr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Huntington Bank":{name:"Huntington Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/HuntingtonBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q798819",amenity:"bank"},addTags:{amenity:"bank",brand:"Huntington Bank","brand:wikidata":"Q798819","brand:wikipedia":"en:Huntington Bancshares",name:"Huntington Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/HypoVereinsbank":{name:"HypoVereinsbank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/950681154906095618/sFON4jIk_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q220189",amenity:"bank"},addTags:{amenity:"bank",brand:"HypoVereinsbank","brand:wikidata":"Q220189","brand:wikipedia":"en:HypoVereinsbank",name:"HypoVereinsbank"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ICBC":{name:"ICBC",icon:"maki-bank",imageURL:"https://graph.facebook.com/icbcglobal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q26463",amenity:"bank"},addTags:{amenity:"bank",brand:"ICBC","brand:wikidata":"Q26463","brand:wikipedia":"en:Industrial and Commercial Bank of China",name:"ICBC"},terms:[],matchScore:2,suggestion:true},"amenity/bank/ICICI Bank":{name:"ICICI Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/icicibank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1653258",amenity:"bank"},addTags:{amenity:"bank",brand:"ICICI Bank","brand:wikidata":"Q1653258","brand:wikipedia":"en:ICICI Bank",name:"ICICI Bank"},countryCodes:["ca","gb","in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/IDBI Bank":{name:"IDBI Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/IDBIBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3633485",amenity:"bank"},addTags:{amenity:"bank",brand:"IDBI Bank","brand:wikidata":"Q3633485","brand:wikipedia":"en:IDBI Bank",name:"IDBI Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ING":{name:"ING",icon:"maki-bank",imageURL:"https://graph.facebook.com/ING/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q645708",amenity:"bank"},addTags:{amenity:"bank",brand:"ING","brand:wikidata":"Q645708","brand:wikipedia":"en:ING Group",name:"ING"},terms:["ing bank"],matchScore:2,suggestion:true},"amenity/bank/ING Bank Śląski":{name:"ING Bank Śląski",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/735066633992065024/1b4aJQUq_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q1410383",amenity:"bank"},addTags:{amenity:"bank",brand:"ING Bank Śląski","brand:wikidata":"Q1410383","brand:wikipedia":"pl:ING Bank Śląski",name:"ING Bank Śląski"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Ibercaja":{name:"Ibercaja",icon:"maki-bank",imageURL:"https://graph.facebook.com/Ibercaja/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5907815",amenity:"bank"},addTags:{amenity:"bank",brand:"Ibercaja","brand:wikidata":"Q5907815","brand:wikipedia":"es:Ibercaja",name:"Ibercaja"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Indian Bank":{name:"Indian Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/MyIndianBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2003789",amenity:"bank"},addTags:{amenity:"bank",brand:"Indian Bank","brand:wikidata":"Q2003789","brand:wikipedia":"en:Indian Bank",name:"Indian Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Indian Overseas Bank":{name:"Indian Overseas Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankiob/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2003611",amenity:"bank"},addTags:{amenity:"bank",brand:"Indian Overseas Bank","brand:wikidata":"Q2003611","brand:wikipedia":"en:Indian Overseas Bank",name:"Indian Overseas Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Interbank":{name:"Interbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/InterbankPeru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2835558",amenity:"bank"},addTags:{amenity:"bank",brand:"Interbank","brand:wikidata":"Q2835558","brand:wikipedia":"es:Banco Interbank",name:"Interbank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Intesa Sanpaolo":{name:"Intesa Sanpaolo",icon:"maki-bank",imageURL:"https://graph.facebook.com/intesasanpaolo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1343118",amenity:"bank"},addTags:{amenity:"bank",brand:"Intesa Sanpaolo","brand:wikidata":"Q1343118","brand:wikipedia":"it:Intesa Sanpaolo",name:"Intesa Sanpaolo"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Investors Bank":{name:"Investors Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/Investorsbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15109896",amenity:"bank"},addTags:{amenity:"bank",brand:"Investors Bank","brand:wikidata":"Q15109896","brand:wikipedia":"en:Investors Bank",name:"Investors Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Itaú (Brazil)":{name:"Itaú (Brazil)",icon:"maki-bank",imageURL:"https://graph.facebook.com/itau/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1424293",amenity:"bank"},addTags:{amenity:"bank",brand:"Itaú Unibanco","brand:wikidata":"Q1424293","brand:wikipedia":"pt:Itaú Unibanco",name:"Itaú"},countryCodes:["br"],terms:["banco itau"],matchScore:2,suggestion:true},"amenity/bank/Itaú (Chile)":{name:"Itaú (Chile)",icon:"maki-bank",imageURL:"https://graph.facebook.com/corpbanca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2423252",amenity:"bank"},addTags:{amenity:"bank",brand:"Itaú Corpbanca","brand:wikidata":"Q2423252","brand:wikipedia":"en:Itaú Corpbanca",name:"Itaú"},countryCodes:["cl"],terms:["banco itau"],matchScore:2,suggestion:true},"amenity/bank/JS Bank":{name:"JS Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/JSBankLtd/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6108986",amenity:"bank"},addTags:{amenity:"bank",brand:"JS Bank","brand:wikidata":"Q6108986","brand:wikipedia":"en:JS Bank",name:"JS Bank"},countryCodes:["pk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Janata Bank Limited জনতা ব্যাংক লিমিটেড":{name:"Janata Bank Limited জনতা ব্যাংক লিমিটেড",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q3347028",amenity:"bank"},addTags:{amenity:"bank",brand:"জনতা ব্যাংক লিমিটেড","brand:bn":"জনতা ব্যাংক লিমিটেড","brand:en":"Janata Bank Limited","brand:wikidata":"Q3347028","brand:wikipedia":"en:Janata Bank",name:"জনতা ব্যাংক লিমিটেড","name:bn":"জনতা ব্যাংক লিমিটেড","name:en":"Janata Bank Limited"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Jyske Bank":{name:"Jyske Bank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1062308131567517702/0I4wgGmc_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q136672",amenity:"bank"},addTags:{amenity:"bank",brand:"Jyske Bank","brand:wikidata":"Q136672","brand:wikipedia":"en:Jyske Bank",name:"Jyske Bank"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/K&H Bank":{name:"K&H Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/dontsokosan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6393834",amenity:"bank"},addTags:{amenity:"bank",brand:"K&H Bank","brand:wikidata":"Q6393834","brand:wikipedia":"en:K&H Bank",name:"K&H Bank"},countryCodes:["hu"],terms:[],matchScore:2,suggestion:true},"amenity/bank/KBC":{name:"KBC",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/117198928/KBC_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q941020",amenity:"bank"},addTags:{amenity:"bank",brand:"KBC","brand:wikidata":"Q941020","brand:wikipedia":"en:KBC Bank",name:"KBC"},countryCodes:["be","ie"],terms:[],matchScore:2,suggestion:true},"amenity/bank/KBZ Bank":{name:"KBZ Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/KanbawzaBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6360949",amenity:"bank"},addTags:{amenity:"bank",brand:"KBZ Bank","brand:wikidata":"Q6360949","brand:wikipedia":"en:Kanbawza Bank",name:"KBZ Bank"},countryCodes:["mm"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Karnataka Bank":{name:"Karnataka Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/KarnatakaBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2042632",amenity:"bank"},addTags:{amenity:"bank",brand:"Karnataka Bank","brand:wikidata":"Q2042632","brand:wikipedia":"en:Karnataka Bank",name:"Karnataka Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Kasa Stefczyka":{name:"Kasa Stefczyka",icon:"maki-bank",imageURL:"https://graph.facebook.com/kasastefczykapl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57624461",amenity:"bank"},addTags:{amenity:"bank",brand:"Kasa Stefczyka","brand:wikidata":"Q57624461",name:"Kasa Stefczyka"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/KeyBank":{name:"KeyBank",icon:"maki-bank",imageURL:"https://graph.facebook.com/keybank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1740314",amenity:"bank"},addTags:{amenity:"bank",brand:"KeyBank","brand:wikidata":"Q1740314","brand:wikipedia":"en:KeyBank",name:"KeyBank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Komerční banka":{name:"Komerční banka",icon:"maki-bank",imageURL:"https://graph.facebook.com/komercni.banka/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1541079",amenity:"bank"},addTags:{amenity:"bank",brand:"Komerční banka","brand:wikidata":"Q1541079","brand:wikipedia":"en:Komerční banka",name:"Komerční banka"},countryCodes:["cz"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Kotak Mahindra Bank":{name:"Kotak Mahindra Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/KotakBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2040404",amenity:"bank"},addTags:{amenity:"bank",brand:"Kotak Mahindra Bank","brand:wikidata":"Q2040404","brand:wikipedia":"en:Kotak Mahindra Bank",name:"Kotak Mahindra Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Kutxabank":{name:"Kutxabank",icon:"maki-bank",imageURL:"https://graph.facebook.com/Kutxabank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5139377",amenity:"bank"},addTags:{amenity:"bank",brand:"Kutxabank","brand:wikidata":"Q5139377","brand:wikipedia":"en:Kutxabank",name:"Kutxabank"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Kuveyt Türk":{name:"Kuveyt Türk",icon:"maki-bank",imageURL:"https://graph.facebook.com/KuveytTurk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6036058",amenity:"bank"},addTags:{amenity:"bank",brand:"Kuveyt Türk","brand:wikidata":"Q6036058","brand:wikipedia":"tr:Kuveyt Türk",name:"Kuveyt Türk"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/LCL":{name:"LCL",icon:"maki-bank",imageURL:"https://graph.facebook.com/LCL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q779722",amenity:"bank"},addTags:{amenity:"bank",brand:"LCL","brand:wikidata":"Q779722","brand:wikipedia":"en:Crédit Lyonnais",name:"LCL"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/LCNB":{name:"LCNB",icon:"maki-bank",imageURL:"https://graph.facebook.com/LCNBNATBANK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65095575",amenity:"bank"},addTags:{alt_name:"Lebanon Citizens National Bank",amenity:"bank",brand:"LCNB","brand:wikidata":"Q65095575",name:"LCNB",official_name:"LCNB National Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/La Banque Postale":{name:"La Banque Postale",icon:"maki-bank",imageURL:"https://graph.facebook.com/labanquepostale/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3206431",amenity:"bank"},addTags:{amenity:"bank",brand:"La Banque Postale","brand:wikidata":"Q3206431","brand:wikipedia":"en:La Banque postale",name:"La Banque Postale"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/La Caixa":{name:"La Caixa",icon:"maki-bank",imageURL:"https://graph.facebook.com/fundlacaixa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q287753",amenity:"bank"},addTags:{amenity:"bank",brand:"La Caixa","brand:wikidata":"Q287753","brand:wikipedia":"en:La Caixa",name:"La Caixa"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Laboral Kutxa":{name:"Laboral Kutxa",icon:"maki-bank",imageURL:"https://graph.facebook.com/laboralkutxa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12052386",amenity:"bank"},addTags:{amenity:"bank",brand:"Laboral Kutxa","brand:wikidata":"Q12052386","brand:wikipedia":"en:Laboral Kutxa",name:"Laboral Kutxa"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Lake Michigan Credit Union":{name:"Lake Michigan Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/LakeMichiganCreditUnion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6476906",amenity:"bank"},addTags:{amenity:"bank",brand:"Lake Michigan Credit Union","brand:wikidata":"Q6476906","brand:wikipedia":"en:Lake Michigan Credit Union",name:"Lake Michigan Credit Union",short_name:"LMCU"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Landbank":{name:"Landbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/landbankofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6483872",amenity:"bank"},addTags:{amenity:"bank",brand:"Landbank","brand:wikidata":"Q6483872","brand:wikipedia":"en:Land Bank of the Philippines",name:"Landbank"},countryCodes:["ph"],terms:["bangko sa lupa ng pilipinas","land bank of the philippines","lbp"],matchScore:2,suggestion:true},"amenity/bank/Leeds Building Society":{name:"Leeds Building Society",icon:"maki-bank",imageURL:"https://graph.facebook.com/LeedsBS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6515848",amenity:"bank"},addTags:{amenity:"bank",brand:"Leeds Building Society","brand:wikidata":"Q6515848","brand:wikipedia":"en:Leeds Building Society",name:"Leeds Building Society"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Liberbank":{name:"Liberbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/liberbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2891018",amenity:"bank"},addTags:{amenity:"bank",brand:"Liberbank","brand:wikidata":"Q2891018","brand:wikipedia":"en:Liberbank",name:"Liberbank"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Lloyds Bank":{name:"Lloyds Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/lloydsbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1152847",amenity:"bank"},addTags:{amenity:"bank",brand:"Lloyds Bank","brand:wikidata":"Q1152847","brand:wikipedia":"en:Lloyds Bank",name:"Lloyds Bank"},countryCodes:["gb","im"],terms:["lloyds","lloyds tsb"],matchScore:2,suggestion:true},"amenity/bank/M&T Bank":{name:"M&T Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/MandTBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3272257",amenity:"bank"},addTags:{amenity:"bank",brand:"M&T Bank","brand:wikidata":"Q3272257","brand:wikipedia":"en:M&T Bank",name:"M&T Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/MCB":{name:"MCB",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q15982510",amenity:"bank"},addTags:{amenity:"bank",brand:"MCB","brand:wikidata":"Q15982510","brand:wikipedia":"ur:ایم سی بی بینک لمیٹڈ",name:"MCB"},terms:["mcb bank"],matchScore:2,suggestion:true},"amenity/bank/MONETA Money Bank":{name:"MONETA Money Bank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/726534904452931588/E4dnojuF_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q24282966",amenity:"bank"},addTags:{amenity:"bank",brand:"MONETA Money Bank","brand:wikidata":"Q24282966","brand:wikipedia":"cs:Moneta Money Bank",name:"MONETA Money Bank"},countryCodes:["cz"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Macro":{name:"Macro",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancomacro/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2335199",amenity:"bank"},addTags:{amenity:"bank",brand:"Macro","brand:wikidata":"Q2335199","brand:wikipedia":"en:Banco Macro",name:"Macro"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Maybank":{name:"Maybank",icon:"maki-bank",imageURL:"https://graph.facebook.com/Maybank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1364018",amenity:"bank"},addTags:{amenity:"bank",brand:"Maybank","brand:wikidata":"Q1364018","brand:wikipedia":"en:Maybank",name:"Maybank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Meezan Bank":{name:"Meezan Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/MeezanBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6807934",amenity:"bank"},addTags:{amenity:"bank",brand:"Meezan Bank","brand:wikidata":"Q6807934","brand:wikipedia":"en:Meezan Bank",name:"Meezan Bank"},countryCodes:["pk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Mercantil":{name:"Mercantil",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q6818004",amenity:"bank"},addTags:{amenity:"bank",brand:"Mercantil","brand:wikidata":"Q6818004","brand:wikipedia":"en:Mercantil Servicios Financieros",name:"Mercantil"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Meridian Credit Union":{name:"Meridian Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/MeridianCreditUnion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6819303",amenity:"bank"},addTags:{alt_name:"Meridian",amenity:"bank",brand:"Meridian Credit Union","brand:wikidata":"Q6819303","brand:wikipedia":"en:Meridian Credit Union",name:"Meridian Credit Union"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Metro Bank (UK)":{name:"Metro Bank (UK)",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/864061345330855936/lBp9CKv7_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q6824499",amenity:"bank"},addTags:{amenity:"bank",brand:"Metro Bank","brand:wikidata":"Q6824499","brand:wikipedia":"en:Metro Bank (United Kingdom)",name:"Metro Bank"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Metrobank (Philippines)":{name:"Metrobank (Philippines)",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1140117795809550338/ySSJStq-_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q1925799",amenity:"bank"},addTags:{amenity:"bank",brand:"Metrobank","brand:wikidata":"Q1925799","brand:wikipedia":"en:Metrobank (Philippines)",name:"Metrobank"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Mibanco":{name:"Mibanco",icon:"maki-bank",imageURL:"https://graph.facebook.com/MibancoOficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5558589",amenity:"bank"},addTags:{amenity:"bank",brand:"Mibanco","brand:wikidata":"Q5558589","brand:wikipedia":"es:MiBanco",name:"Mibanco"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/bank/MidFirst Bank":{name:"MidFirst Bank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1096428932889362432/-d2Y2wF4_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q17081131",amenity:"bank"},addTags:{amenity:"bank",brand:"MidFirst Bank","brand:wikidata":"Q17081131","brand:wikipedia":"en:MidFirst Bank",name:"MidFirst Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Millennium Bank":{name:"Millennium Bank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/684026097688817664/fg1i7QVc_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q4855947",amenity:"bank"},addTags:{amenity:"bank",brand:"Millennium Bank","brand:wikidata":"Q4855947","brand:wikipedia":"pl:Bank Millennium",name:"Millennium Bank"},countryCodes:["pl"],terms:["bank millennium"],matchScore:2,suggestion:true},"amenity/bank/Millennium bcp":{name:"Millennium bcp",icon:"maki-bank",imageURL:"https://graph.facebook.com/MaisMillennium/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q118581",amenity:"bank"},addTags:{amenity:"bank",brand:"Millennium bcp","brand:wikidata":"Q118581","brand:wikipedia":"pt:Banco Comercial Português",name:"Millennium bcp",official_name:"Banco Comercial Português","official_name:en":"Portuguese Commercial Bank","official_name:es":"Banco Comercial Português"},countryCodes:["pt"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Mission Federal Credit Union":{name:"Mission Federal Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/missionfedcu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18345955",amenity:"bank"},addTags:{amenity:"bank",brand:"Mission Federal Credit Union","brand:wikidata":"Q18345955","brand:wikipedia":"en:Mission Federal Credit Union",name:"Mission Federal Credit Union"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Monte dei Paschi di Siena":{name:"Monte dei Paschi di Siena",icon:"maki-bank",imageURL:"https://graph.facebook.com/bancamps/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q46730",amenity:"bank"},addTags:{amenity:"bank",brand:"Monte dei Paschi di Siena","brand:wikidata":"Q46730","brand:wikipedia":"en:Banca Monte dei Paschi di Siena",name:"Monte dei Paschi di Siena"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Montepio":{name:"Montepio",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/303285168/logo_Montepio_259x248_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q1946091",amenity:"bank"},addTags:{amenity:"bank",brand:"Montepio","brand:wikidata":"Q1946091","brand:wikipedia":"en:Montepio (bank)",name:"Montepio"},countryCodes:["pt"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Mountain America Credit Union":{name:"Mountain America Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/MountainAmerica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6924862",amenity:"bank"},addTags:{amenity:"bank",brand:"Mountain America Credit Union","brand:wikidata":"Q6924862","brand:wikipedia":"en:Mountain America Credit Union",name:"Mountain America Credit Union"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/NAB":{name:"NAB",icon:"maki-bank",imageURL:"https://graph.facebook.com/NAB/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1430985",amenity:"bank"},addTags:{amenity:"bank",brand:"NAB","brand:wikidata":"Q1430985","brand:wikipedia":"en:National Australia Bank",name:"NAB"},terms:[],matchScore:2,suggestion:true},"amenity/bank/NSB":{name:"NSB",icon:"maki-bank",imageURL:"https://graph.facebook.com/NSBSLOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12500189",amenity:"bank"},addTags:{amenity:"bank",brand:"NSB","brand:wikidata":"Q12500189","brand:wikipedia":"en:National Savings Bank (Sri Lanka)",name:"NSB"},countryCodes:["lk"],terms:["national savings bank"],matchScore:2,suggestion:true},"amenity/bank/NatWest":{name:"NatWest",icon:"maki-bank",imageURL:"https://graph.facebook.com/NatWest/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2740021",amenity:"bank"},addTags:{amenity:"bank",brand:"NatWest","brand:wikidata":"Q2740021","brand:wikipedia":"en:NatWest",name:"NatWest"},countryCodes:["gb","gg"],terms:[],matchScore:2,suggestion:true},"amenity/bank/National Bank":{name:"National Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/banquenationale/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q634298",amenity:"bank"},addTags:{amenity:"bank",brand:"National Bank","brand:wikidata":"Q634298","brand:wikipedia":"en:National Bank of Canada",name:"National Bank",official_name:"National Bank of Canada"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Nationwide":{name:"Nationwide",icon:"maki-bank",imageURL:"https://graph.facebook.com/NationwideBuildingSociety/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q846735",amenity:"bank"},addTags:{amenity:"bank",brand:"Nationwide","brand:wikidata":"Q846735","brand:wikipedia":"en:Nationwide Building Society",name:"Nationwide"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Navy Federal Credit Union":{name:"Navy Federal Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/NavyFederal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6982632",amenity:"bank"},addTags:{amenity:"bank",brand:"Navy Federal Credit Union","brand:wikidata":"Q6982632","brand:wikipedia":"en:Navy Federal Credit Union",name:"Navy Federal Credit Union"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Nedbank":{name:"Nedbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/Nedbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2751701",amenity:"bank"},addTags:{amenity:"bank",brand:"Nedbank","brand:wikidata":"Q2751701","brand:wikipedia":"en:Nedbank",name:"Nedbank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Nordea":{name:"Nordea",icon:"maki-bank",imageURL:"https://graph.facebook.com/Nordea/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1123823",amenity:"bank"},addTags:{amenity:"bank",brand:"Nordea","brand:wikidata":"Q1123823","brand:wikipedia":"en:Nordea",name:"Nordea"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Novo Banco":{name:"Novo Banco",icon:"maki-bank",imageURL:"https://graph.facebook.com/planetanovobanco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17488861",amenity:"bank"},addTags:{amenity:"bank",brand:"Novo Banco","brand:wikidata":"Q17488861","brand:wikipedia":"en:Novo Banco",name:"Novo Banco"},countryCodes:["es","pt"],terms:[],matchScore:2,suggestion:true},"amenity/bank/OLB":{name:"OLB",icon:"maki-bank",imageURL:"https://graph.facebook.com/OLB.Bank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q879591",amenity:"bank"},addTags:{amenity:"bank",brand:"OLB","brand:wikidata":"Q879591","brand:wikipedia":"en:Oldenburgische Landesbank",name:"OLB"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/bank/OTP":{name:"OTP",icon:"maki-bank",imageURL:"https://graph.facebook.com/otpbank.hu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q912778",amenity:"bank"},addTags:{amenity:"bank",brand:"OTP","brand:wikidata":"Q912778","brand:wikipedia":"en:OTP Bank",name:"OTP"},terms:["otp bank"],matchScore:2,suggestion:true},"amenity/bank/Oberbank":{name:"Oberbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/oberbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2009139",amenity:"bank"},addTags:{amenity:"bank",brand:"Oberbank","brand:wikidata":"Q2009139","brand:wikipedia":"de:Oberbank",name:"Oberbank"},countryCodes:["at","cz","de","hu"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Occidental de Descuento":{name:"Occidental de Descuento",icon:"maki-bank",imageURL:"https://graph.facebook.com/1086400904717496/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854108",amenity:"bank"},addTags:{amenity:"bank",brand:"Occidental de Descuento","brand:wikidata":"Q4854108","brand:wikipedia":"en:Banco Occidental de Descuento",name:"Occidental de Descuento"},countryCodes:["ve"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Oldenburgische Landesbank":{name:"Oldenburgische Landesbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/OLB.Bank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q879591",amenity:"bank"},addTags:{amenity:"bank",brand:"Oldenburgische Landesbank","brand:wikidata":"Q879591","brand:wikipedia":"en:Oldenburgische Landesbank",name:"Oldenburgische Landesbank"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/bank/One Network Bank":{name:"One Network Bank",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q7093019",amenity:"bank"},addTags:{amenity:"bank",brand:"One Network Bank","brand:wikidata":"Q7093019","brand:wikipedia":"en:One Network Bank",name:"One Network Bank"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Oriental":{name:"Oriental",icon:"maki-bank",imageURL:"https://graph.facebook.com/OrientalBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64887002",amenity:"bank"},addTags:{alt_name:"Oriental Bank",amenity:"bank",brand:"Oriental","brand:wikidata":"Q64887002",name:"Oriental"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Oriental Bank of Commerce":{name:"Oriental Bank of Commerce",icon:"maki-bank",imageURL:"https://graph.facebook.com/OBCIndOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q367008",amenity:"bank"},addTags:{amenity:"bank",brand:"Oriental Bank of Commerce","brand:wikidata":"Q367008","brand:wikipedia":"en:Oriental Bank of Commerce",name:"Oriental Bank of Commerce"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Osuuspankki":{name:"Osuuspankki",icon:"maki-bank",imageURL:"https://graph.facebook.com/OP.fi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4045597",amenity:"bank"},addTags:{amenity:"bank",brand:"Osuuspankki","brand:wikidata":"Q4045597","brand:wikipedia":"fi:OP (finanssiryhmä)",name:"Osuuspankki"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"amenity/bank/PBZ":{name:"PBZ",icon:"maki-bank",imageURL:"https://graph.facebook.com/privrednabankazagreb/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7246343",amenity:"bank"},addTags:{amenity:"bank",brand:"PBZ","brand:wikidata":"Q7246343","brand:wikipedia":"en:Privredna banka Zagreb",name:"PBZ"},countryCodes:["hr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/PKO BP":{name:"PKO BP",icon:"maki-bank",imageURL:"https://graph.facebook.com/PKOBankPolski/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q578832",amenity:"bank"},addTags:{amenity:"bank",brand:"PKO BP","brand:wikidata":"Q578832","brand:wikipedia":"pl:Powszechna Kasa Oszczędności Bank Polski",name:"PKO BP"},countryCodes:["pl"],terms:["pko bank polski"],matchScore:2,suggestion:true},"amenity/bank/PNB":{name:"PNB",icon:"maki-bank",imageURL:"https://graph.facebook.com/PNBph/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1657971",amenity:"bank"},addTags:{amenity:"bank",brand:"PNB","brand:wikidata":"Q1657971","brand:wikipedia":"en:Philippine National Bank",name:"PNB",official_name:"Philippine National Bank"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/bank/PNC Bank":{name:"PNC Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/pncbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q38928",amenity:"bank"},addTags:{amenity:"bank",brand:"PNC Bank","brand:wikidata":"Q38928","brand:wikipedia":"en:PNC Financial Services",name:"PNC Bank"},countryCodes:["us"],terms:["pnc"],matchScore:2,suggestion:true},"amenity/bank/PSBank":{name:"PSBank",icon:"maki-bank",imageURL:"https://graph.facebook.com/psbankofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7185203",amenity:"bank"},addTags:{amenity:"bank",brand:"PSBank","brand:wikidata":"Q7185203","brand:wikipedia":"en:Philippine Savings Bank",name:"PSBank"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Panin Bank":{name:"Panin Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/paninbankfanpage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12502751",amenity:"bank"},addTags:{amenity:"bank",brand:"Panin Bank","brand:wikidata":"Q12502751","brand:wikipedia":"id:Panin Bank",name:"Panin Bank"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Patagonia":{name:"Patagonia",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoPatagonia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2882078",amenity:"bank"},addTags:{amenity:"bank",brand:"Patagonia","brand:wikidata":"Q2882078","brand:wikipedia":"en:Banco Patagonia",name:"Patagonia"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Pekao SA":{name:"Pekao SA",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankpekaosa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806642",amenity:"bank"},addTags:{amenity:"bank",brand:"Pekao SA","brand:wikidata":"Q806642","brand:wikipedia":"pl:Bank Polska Kasa Opieki",name:"Pekao SA"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/PenFed Credit Union":{name:"PenFed Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/PenFed/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3374885",amenity:"bank"},addTags:{alt_name:"Pentagon Federal Credit Union",amenity:"bank",brand:"PenFed Credit Union","brand:wikidata":"Q3374885","brand:wikipedia":"en:Pentagon Federal Credit Union",name:"PenFed Credit Union",short_name:"PenFed"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/People's United Bank":{name:"People's United Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/peoplesunited/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7165802",amenity:"bank"},addTags:{amenity:"bank",brand:"People's United Bank","brand:wikidata":"Q7165802","brand:wikipedia":"en:People's United Financial",name:"People's United Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Peoples Bank (Ohio)":{name:"Peoples Bank (Ohio)",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/473816917182930946/kWDoDGQx_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q65716607",amenity:"bank"},addTags:{amenity:"bank",brand:"Peoples Bank","brand:wikidata":"Q65716607",name:"Peoples Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Peoples Bank (Washington)":{name:"Peoples Bank (Washington)",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q7166050",amenity:"bank"},addTags:{amenity:"bank",brand:"Peoples Bank","brand:wikidata":"Q7166050","brand:wikipedia":"en:Peoples Bank",name:"Peoples Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Piraeus Bank":{name:"Piraeus Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/piraeusbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3312",amenity:"bank"},addTags:{amenity:"bank",brand:"Piraeus Bank","brand:wikidata":"Q3312","brand:wikipedia":"en:Piraeus Bank",name:"Piraeus Bank"},countryCodes:["bg","cy","gr","ro","ua"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Popular":{name:"Popular",icon:"maki-bank",imageURL:"https://graph.facebook.com/PopularVI/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7229656",amenity:"bank"},addTags:{alt_name:"Banco Popular","alt_name:en":"Popular Bank","alt_name:es":"Banco Popular",amenity:"bank",brand:"Popular","brand:en":"Popular","brand:es":"Popular","brand:wikidata":"Q7229656","brand:wikipedia":"en:Popular, Inc.",name:"Popular","name:en":"Popular","name:es":"Popular",official_name:"Banco Popular de Puerto Rico","official_name:es":"Banco Popular de Puerto Rico",short_name:"BPPR"},countryCodes:["us"],terms:["popular bank"],matchScore:2,suggestion:true},"amenity/bank/Postbank (Bulgaria)":{name:"Postbank (Bulgaria)",icon:"maki-bank",imageURL:"https://graph.facebook.com/PostbankBG/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7234083",amenity:"bank"},addTags:{amenity:"bank",brand:"Postbank","brand:wikidata":"Q7234083","brand:wikipedia":"en:Bulgarian Postbank",name:"Postbank"},countryCodes:["bg"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Postbank (Germany)":{name:"Postbank (Germany)",icon:"maki-bank",imageURL:"https://graph.facebook.com/postbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q708835",amenity:"bank"},addTags:{amenity:"bank",brand:"Postbank","brand:wikidata":"Q708835","brand:wikipedia":"en:Deutsche Postbank",name:"Postbank"},countryCodes:["de"],terms:["postbank finanzcenter"],matchScore:2,suggestion:true},"amenity/bank/Prima banka":{name:"Prima banka",icon:"maki-bank",imageURL:"https://graph.facebook.com/primabankaslovensko/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q13538661",amenity:"bank"},addTags:{amenity:"bank",brand:"Prima banka","brand:wikidata":"Q13538661","brand:wikipedia":"sk:Prima banka Slovensko",name:"Prima banka"},countryCodes:["sk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Provincial":{name:"Provincial",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1151125571289718786/INihTiHa_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q4835087",amenity:"bank"},addTags:{amenity:"bank",brand:"Provincial","brand:wikidata":"Q4835087","brand:wikipedia":"es:BBVA Provincial",name:"Provincial"},countryCodes:["ve"],terms:["bbva provincial"],matchScore:2,suggestion:true},"amenity/bank/Public Bank (Malaysia)":{name:"Public Bank (Malaysia)",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q3046561",amenity:"bank"},addTags:{amenity:"bank",brand:"Public Bank","brand:wikidata":"Q3046561","brand:wikipedia":"en:Public Bank Berhad",name:"Public Bank"},terms:["public bank berhad"],matchScore:2,suggestion:true},"amenity/bank/Punjab National Bank":{name:"Punjab National Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/pnbindia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2743499",amenity:"bank"},addTags:{amenity:"bank",brand:"Punjab National Bank","brand:wikidata":"Q2743499","brand:wikipedia":"en:Punjab National Bank",name:"Punjab National Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/RBC":{name:"RBC",icon:"maki-bank",imageURL:"https://graph.facebook.com/rbc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q735261",amenity:"bank"},addTags:{amenity:"bank",brand:"RBC","brand:wikidata":"Q735261","brand:wikipedia":"en:Royal Bank of Canada",name:"RBC",official_name:"Royal Bank of Canada"},terms:["rbc financial group","rbc royal bank","royal bank"],matchScore:2,suggestion:true},"amenity/bank/RBS":{name:"RBS",icon:"maki-bank",imageURL:"https://graph.facebook.com/royalbankofscotland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q160126",amenity:"bank"},addTags:{amenity:"bank",brand:"RBS","brand:wikidata":"Q160126","brand:wikipedia":"en:Royal Bank of Scotland",name:"RBS",official_name:"Royal Bank of Scotland"},countryCodes:["gb","je","ro"],terms:[],matchScore:2,suggestion:true},"amenity/bank/RCBC":{name:"RCBC",icon:"maki-bank",imageURL:"https://graph.facebook.com/RCBCGroup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7339070",amenity:"bank"},addTags:{amenity:"bank",brand:"RCBC","brand:wikidata":"Q7339070","brand:wikipedia":"en:Rizal Commercial Banking Corporation",name:"RCBC",official_name:"Rizal Commercial Banking Corporation"},countryCodes:["ph"],terms:["rcbc savings bank"],matchScore:2,suggestion:true},"amenity/bank/Rabobank":{name:"Rabobank",icon:"maki-bank",imageURL:"https://graph.facebook.com/rabobank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q252004",amenity:"bank"},addTags:{amenity:"bank",brand:"Rabobank","brand:wikidata":"Q252004","brand:wikipedia":"en:Rabobank",name:"Rabobank"},countryCodes:["au","id","nl","nz","us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Raiffeisen Polbank":{name:"Raiffeisen Polbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/BNPParibasBankPolska/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9303218",amenity:"bank"},addTags:{amenity:"bank",brand:"Raiffeisen Polbank","brand:wikidata":"Q9303218","brand:wikipedia":"pl:Raiffeisen Bank Polska",name:"Raiffeisen Polbank"},countryCodes:["de","pl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Raiffeisenbank":{name:"Raiffeisenbank",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q24282825",amenity:"bank"},addTags:{amenity:"bank",brand:"Raiffeisenbank","brand:wikidata":"Q24282825","brand:wikipedia":"cs:Raiffeisenbank",name:"Raiffeisenbank"},terms:["raiffeisen","raiffeisenkasse"],matchScore:2,suggestion:true},"amenity/bank/Regions Bank":{name:"Regions Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/RegionsBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q917131",amenity:"bank"},addTags:{amenity:"bank",brand:"Regions Bank","brand:wikidata":"Q917131","brand:wikipedia":"en:Regions Financial Corporation",name:"Regions Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Republic Bank (Eastern Caribbean)":{name:"Republic Bank (Eastern Caribbean)",icon:"maki-bank",imageURL:"https://graph.facebook.com/republicbanktnt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7314386",amenity:"bank"},addTags:{amenity:"bank",brand:"Republic Bank","brand:wikidata":"Q7314386","brand:wikipedia":"en:Republic Bank",name:"Republic Bank"},countryCodes:["bb","gd","gy","tt"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Republic Bank (USA)":{name:"Republic Bank (USA)",icon:"maki-bank",imageURL:"https://graph.facebook.com/republicbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7314387",amenity:"bank"},addTags:{amenity:"bank",brand:"Republic Bank","brand:wikidata":"Q7314387","brand:wikipedia":"en:Republic Bank & Trust Company",name:"Republic Bank",official_name:"Republic Bank & Trust Company"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/República":{name:"República",icon:"maki-bank",imageURL:"https://graph.facebook.com/BROU.uy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4077337",amenity:"bank"},addTags:{amenity:"bank",brand:"República","brand:wikidata":"Q4077337","brand:wikipedia":"en:Banco de la República Oriental del Uruguay",name:"República"},countryCodes:["uy"],terms:[],matchScore:2,suggestion:true},"amenity/bank/S-Pankki":{name:"S-Pankki",icon:"maki-bank",imageURL:"https://graph.facebook.com/kauppapankki/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7387053",amenity:"bank"},addTags:{amenity:"bank",brand:"S-Pankki","brand:wikidata":"Q7387053","brand:wikipedia":"fi:S-Pankki",name:"S-Pankki"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"amenity/bank/SC제일은행":{name:"SC제일은행",icon:"maki-bank",imageURL:"https://graph.facebook.com/StandardCharteredKR/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q625531",amenity:"bank"},addTags:{amenity:"bank",brand:"SC제일은행","brand:ko":"SC제일은행","brand:wikidata":"Q625531","brand:wikipedia":"en:Standard Chartered Korea",name:"SC제일은행","name:ko":"SC제일은행"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/SEB":{name:"SEB",icon:"maki-bank",imageURL:"https://graph.facebook.com/sebsverige/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q975655",amenity:"bank"},addTags:{amenity:"bank",brand:"SEB","brand:wikidata":"Q975655","brand:wikipedia":"en:SEB Group",name:"SEB"},countryCodes:["de","ee","lt","lv","se"],terms:[],matchScore:2,suggestion:true},"amenity/bank/SGBCI":{name:"SGBCI",icon:"maki-bank",imageURL:"https://graph.facebook.com/societegenerale.cotedivoire/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3488360",amenity:"bank"},addTags:{amenity:"bank",brand:"SGBCI","brand:wikidata":"Q3488360","brand:wikipedia":"fr:Société générale de banques en Côte d'Ivoire",name:"SGBCI"},countryCodes:["ci"],terms:["agence sgbci"],matchScore:2,suggestion:true},"amenity/bank/SNS Bank":{name:"SNS Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/devolksbanknl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1857899",amenity:"bank"},addTags:{amenity:"bank",brand:"SNS Bank","brand:wikidata":"Q1857899","brand:wikipedia":"en:De Volksbank",name:"SNS Bank"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Sampath Bank":{name:"Sampath Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/Sampathbankplc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7410095",amenity:"bank"},addTags:{amenity:"bank",brand:"Sampath Bank","brand:wikidata":"Q7410095","brand:wikipedia":"en:Sampath Bank",name:"Sampath Bank"},countryCodes:["lk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/San Diego County Credit Union":{name:"San Diego County Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/SDCCU/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7413628",amenity:"bank"},addTags:{amenity:"bank",brand:"San Diego County Credit Union","brand:wikidata":"Q7413628","brand:wikipedia":"en:San Diego County Credit Union",name:"San Diego County Credit Union",short_name:"SDCCU"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Santander":{name:"Santander",icon:"maki-bank",imageURL:"https://graph.facebook.com/SantanderBankUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5835668",amenity:"bank"},addTags:{amenity:"bank",brand:"Santander","brand:wikidata":"Q5835668","brand:wikipedia":"en:Santander Bank",name:"Santander"},terms:["santander consumer bank"],matchScore:2,suggestion:true},"amenity/bank/Santander Río":{name:"Santander Río",icon:"maki-bank",imageURL:"https://graph.facebook.com/Santander.Ar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3385268",amenity:"bank"},addTags:{amenity:"bank",brand:"Santander Río","brand:wikidata":"Q3385268","brand:wikipedia":"es:Banco Santander Río",name:"Santander Río"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Santander Totta":{name:"Santander Totta",icon:"maki-bank",imageURL:"https://graph.facebook.com/santanderpt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4854116",amenity:"bank"},addTags:{amenity:"bank",brand:"Santander Totta","brand:wikidata":"Q4854116","brand:wikipedia":"pt:Banco Santander Portugal",name:"Santander Totta"},countryCodes:["pt"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Sberbank":{name:"Sberbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/sberbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q205012",amenity:"bank"},addTags:{amenity:"bank",brand:"Sberbank","brand:wikidata":"Q205012","brand:wikipedia":"en:Sberbank of Russia",name:"Sberbank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Scotiabank (Québec)":{name:"Scotiabank (Québec)",icon:"maki-bank",imageURL:"https://graph.facebook.com/scotiabank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q451476",amenity:"bank"},addTags:{amenity:"bank",brand:"Banque Scotia","brand:wikidata":"Q451476","brand:wikipedia":"fr:Banque Scotia",name:"Banque Scotia"},countryCodes:["ca"],terms:["Scotia"],matchScore:2,suggestion:true},"amenity/bank/Scotiabank (non-Québec)":{name:"Scotiabank (non-Québec)",icon:"maki-bank",imageURL:"https://graph.facebook.com/scotiabank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q451476",amenity:"bank"},addTags:{amenity:"bank",brand:"Scotiabank","brand:wikidata":"Q451476","brand:wikipedia":"en:Scotiabank",name:"Scotiabank"},terms:["Scotia"],matchScore:2,suggestion:true},"amenity/bank/Security Bank":{name:"Security Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/SecurityBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7444945",amenity:"bank"},addTags:{amenity:"bank",brand:"Security Bank","brand:wikidata":"Q7444945","brand:wikipedia":"en:Security Bank",name:"Security Bank"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Security Service Federal Credit Union":{name:"Security Service Federal Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/ssfcu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7444993",amenity:"bank"},addTags:{amenity:"bank",brand:"Security Service Federal Credit Union","brand:wikidata":"Q7444993","brand:wikipedia":"en:Security Service Federal Credit Union",name:"Security Service Federal Credit Union",short_name:"SSFCU"},countryCodes:["us"],terms:["security service fcu"],matchScore:2,suggestion:true},"amenity/bank/Service Credit Union":{name:"Service Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/ServiceCreditUnion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7455675",amenity:"bank"},addTags:{amenity:"bank",brand:"Service Credit Union","brand:wikidata":"Q7455675","brand:wikipedia":"en:Service Credit Union",name:"Service Credit Union"},countryCodes:["de","us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Servus Credit Union":{name:"Servus Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/ServusCU/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2274396",amenity:"bank"},addTags:{alt_name:"Servus",amenity:"bank",brand:"Servus Credit Union","brand:wikidata":"Q2274396","brand:wikipedia":"en:Servus Credit Union",name:"Servus Credit Union"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Seylan Bank":{name:"Seylan Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/SeylanBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3532083",amenity:"bank"},addTags:{amenity:"bank",brand:"Seylan Bank","brand:wikidata":"Q3532083","brand:wikipedia":"en:Seylan Bank",name:"Seylan Bank"},countryCodes:["lk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Siam Commercial Bank":{name:"Siam Commercial Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/scb.thailand/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2038986",amenity:"bank"},addTags:{amenity:"bank",brand:"Siam Commercial Bank","brand:wikidata":"Q2038986","brand:wikipedia":"en:Siam Commercial Bank",name:"Siam Commercial Bank"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Sicoob":{name:"Sicoob",icon:"maki-bank",imageURL:"https://graph.facebook.com/sicooboficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28679754",amenity:"bank"},addTags:{amenity:"bank",brand:"Sicoob","brand:wikidata":"Q28679754","brand:wikipedia":"pt:Sistema de Cooperativas de Crédito do Brasil",name:"Sicoob"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Sicredi":{name:"Sicredi",icon:"maki-bank",imageURL:"https://graph.facebook.com/Sicredi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3483060",amenity:"bank"},addTags:{amenity:"bank",brand:"Sicredi","brand:wikidata":"Q3483060","brand:wikipedia":"pt:Sistema de Crédito Cooperativo",name:"Sicredi"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Simmons Bank":{name:"Simmons Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/simmonsbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28402389",amenity:"bank"},addTags:{amenity:"bank",brand:"Simmons Bank","brand:wikidata":"Q28402389","brand:wikipedia":"en:Simmons Bank",name:"Simmons Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Slovenská sporiteľňa":{name:"Slovenská sporiteľňa",icon:"maki-bank",imageURL:"https://graph.facebook.com/SlovenskaSporitelna/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7541907",amenity:"bank"},addTags:{amenity:"bank",brand:"Slovenská sporiteľňa","brand:wikidata":"Q7541907","brand:wikipedia":"en:Slovenská sporiteľňa",name:"Slovenská sporiteľňa"},countryCodes:["sk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Société Générale":{name:"Société Générale",icon:"maki-bank",imageURL:"https://graph.facebook.com/societegenerale/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q270363",amenity:"bank"},addTags:{amenity:"bank",brand:"Société Générale","brand:wikidata":"Q270363","brand:wikipedia":"en:Société Générale",name:"Société Générale"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Société Marseillaise de Crédit":{name:"Société Marseillaise de Crédit",icon:"maki-bank",imageURL:"https://graph.facebook.com/societemarseillaisedecredit/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3488479",amenity:"bank"},addTags:{amenity:"bank",brand:"Société Marseillaise de Crédit","brand:wikidata":"Q3488479","brand:wikipedia":"fr:Société marseillaise de crédit",name:"Société Marseillaise de Crédit"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Sonali Bank":{name:"Sonali Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/sb.ltd.bd/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3350382",amenity:"bank"},addTags:{amenity:"bank",brand:"Sonali Bank","brand:wikidata":"Q3350382","brand:wikipedia":"en:Sonali Bank",name:"Sonali Bank"},countryCodes:["bd"],terms:["sonali bank limited","sonali bank limited সোনালী ব্যাংক লিমিটেড"],matchScore:2,suggestion:true},"amenity/bank/South Indian Bank":{name:"South Indian Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/thesouthindianbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2044973",amenity:"bank"},addTags:{amenity:"bank",brand:"South Indian Bank","brand:wikidata":"Q2044973","brand:wikipedia":"en:South Indian Bank",name:"South Indian Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/South State Bank":{name:"South State Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/SouthStateBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q55633597",amenity:"bank"},addTags:{amenity:"bank",brand:"South State Bank","brand:wikidata":"Q55633597","brand:wikipedia":"en:South State Bank",name:"South State Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Sparda-Bank":{name:"Sparda-Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/SpardaVerband/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2307136",amenity:"bank"},addTags:{amenity:"bank",brand:"Sparda-Bank","brand:wikidata":"Q2307136","brand:wikipedia":"en:Sparda-Bank",name:"Sparda-Bank"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Stanbic Bank":{name:"Stanbic Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/StanbicBankGhana/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7597999",amenity:"bank"},addTags:{amenity:"bank",brand:"Stanbic Bank","brand:wikidata":"Q7597999","brand:wikipedia":"en:Stanbic Bank",name:"Stanbic Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Standard Bank":{name:"Standard Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/standardbankgrp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1576610",amenity:"bank"},addTags:{amenity:"bank",brand:"Standard Bank","brand:wikidata":"Q1576610","brand:wikipedia":"en:Standard Bank",name:"Standard Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Standard Chartered":{name:"Standard Chartered",icon:"maki-bank",imageURL:"https://graph.facebook.com/StandardChartered/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q548278",amenity:"bank"},addTags:{amenity:"bank",brand:"Standard Chartered","brand:wikidata":"Q548278","brand:wikipedia":"en:Standard Chartered",name:"Standard Chartered"},terms:["standard chartered bank"],matchScore:2,suggestion:true},"amenity/bank/State Bank of India":{name:"State Bank of India",icon:"maki-bank",imageURL:"https://graph.facebook.com/StateBankOfIndia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1340361",amenity:"bank"},addTags:{amenity:"bank",brand:"State Bank of India","brand:wikidata":"Q1340361","brand:wikipedia":"en:State Bank of India",name:"State Bank of India"},terms:[],matchScore:2,suggestion:true},"amenity/bank/State Employees Credit Union":{name:"State Employees Credit Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/stateemployeescreditunion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7603196",amenity:"bank"},addTags:{amenity:"bank",brand:"State Employees Credit Union","brand:wikidata":"Q7603196","brand:wikipedia":"en:State Employees Credit Union",name:"State Employees Credit Union",short_name:"SECU"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Summit Bank":{name:"Summit Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/SummitBankPK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7637775",amenity:"bank"},addTags:{amenity:"bank",brand:"Summit Bank","brand:wikidata":"Q7637775","brand:wikipedia":"en:Summit Bank",name:"Summit Bank"},countryCodes:["pk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/SunTrust":{name:"SunTrust",icon:"maki-bank",imageURL:"https://graph.facebook.com/suntrust/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q181507",amenity:"bank"},addTags:{amenity:"bank",brand:"SunTrust","brand:wikidata":"Q181507","brand:wikipedia":"en:SunTrust Banks",name:"SunTrust"},countryCodes:["us"],terms:["suntrust bank"],matchScore:2,suggestion:true},"amenity/bank/Suncorp":{name:"Suncorp",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q24189567",amenity:"bank"},addTags:{amenity:"bank",brand:"Suncorp","brand:wikidata":"Q24189567","brand:wikipedia":"en:Suncorp Bank",name:"Suncorp"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Supervielle":{name:"Supervielle",icon:"maki-bank",imageURL:"https://graph.facebook.com/BancoSupervielle/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5718035",amenity:"bank"},addTags:{amenity:"bank",brand:"Supervielle","brand:wikidata":"Q5718035","brand:wikipedia":"es:Banco Supervielle",name:"Supervielle"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Swedbank":{name:"Swedbank",icon:"maki-bank",imageURL:"https://graph.facebook.com/swedbanksverige/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1145493",amenity:"bank"},addTags:{amenity:"bank",brand:"Swedbank","brand:wikidata":"Q1145493","brand:wikipedia":"en:Swedbank",name:"Swedbank"},countryCodes:["ee","lt","lv","se"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Syndicate Bank":{name:"Syndicate Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/syndicatebank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2004088",amenity:"bank"},addTags:{amenity:"bank",brand:"Syndicate Bank","brand:wikidata":"Q2004088","brand:wikipedia":"en:Syndicate Bank",name:"Syndicate Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/TCF Bank":{name:"TCF Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/TCFbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7669687",amenity:"bank"},addTags:{amenity:"bank",brand:"TCF Bank","brand:wikidata":"Q7669687","brand:wikipedia":"en:TCF Bank",name:"TCF Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/TD Bank":{name:"TD Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/TDBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7669891",amenity:"bank"},addTags:{amenity:"bank",brand:"TD Bank","brand:wikidata":"Q7669891","brand:wikipedia":"en:TD Bank, N.A.",name:"TD Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/TD Canada Trust":{name:"TD Canada Trust",icon:"maki-bank",imageURL:"https://graph.facebook.com/TDBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1080670",amenity:"bank"},addTags:{amenity:"bank",brand:"TD Canada Trust","brand:wikidata":"Q1080670","brand:wikipedia":"en:TD Canada Trust",name:"TD Canada Trust"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/bank/TEB":{name:"TEB",icon:"maki-bank",imageURL:"https://graph.facebook.com/teb/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7862447",amenity:"bank"},addTags:{amenity:"bank",brand:"TEB","brand:wikidata":"Q7862447","brand:wikipedia":"en:Türk Ekonomi Bankası",name:"TEB"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/TSB":{name:"TSB",icon:"maki-bank",imageURL:"https://graph.facebook.com/TSBbankUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7671560",amenity:"bank"},addTags:{amenity:"bank",brand:"TSB","brand:wikidata":"Q7671560","brand:wikipedia":"en:TSB Bank (United Kingdom)",name:"TSB"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Takarékszövetkezet":{name:"Takarékszövetkezet",icon:"maki-bank",imageURL:"https://graph.facebook.com/takarekcsoport/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q30324674",amenity:"bank"},addTags:{amenity:"bank",brand:"Takarékszövetkezet","brand:wikidata":"Q30324674","brand:wikipedia":"en:TakarékBank",name:"Takarékszövetkezet"},countryCodes:["hu"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Tangerine":{name:"Tangerine",icon:"maki-bank",imageURL:"https://graph.facebook.com/TangerineBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15238797",amenity:"bank"},addTags:{amenity:"bank",brand:"Tangerine","brand:wikidata":"Q15238797","brand:wikipedia":"en:Tangerine Bank",name:"Tangerine"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Targobank":{name:"Targobank",icon:"maki-bank",imageURL:"https://graph.facebook.com/targobank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1455437",amenity:"bank"},addTags:{amenity:"bank",brand:"Targobank","brand:wikidata":"Q1455437","brand:wikipedia":"en:Targobank",name:"Targobank"},countryCodes:["de","es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Tatra banka":{name:"Tatra banka",icon:"maki-bank",imageURL:"https://graph.facebook.com/tatrabanka/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1718069",amenity:"bank"},addTags:{amenity:"bank",brand:"Tatra banka","brand:wikidata":"Q1718069","brand:wikipedia":"en:Tatra banka",name:"Tatra banka"},countryCodes:["sk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Türkiye İş Bankası":{name:"Türkiye İş Bankası",icon:"maki-bank",imageURL:"https://graph.facebook.com/isbankasi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q909613",amenity:"bank"},addTags:{amenity:"bank",brand:"Türkiye İş Bankası","brand:wikidata":"Q909613","brand:wikipedia":"en:Türkiye İş Bankası",name:"Türkiye İş Bankası"},terms:[],matchScore:2,suggestion:true},"amenity/bank/U.S. Bank":{name:"U.S. Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/usbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q739084",amenity:"bank"},addTags:{amenity:"bank",brand:"U.S. Bank","brand:wikidata":"Q739084","brand:wikipedia":"en:U.S. Bancorp",name:"U.S. Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/UBA":{name:"UBA",icon:"maki-bank",imageURL:"https://graph.facebook.com/ubagroup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q513457",amenity:"bank"},addTags:{amenity:"bank",brand:"UBA","brand:wikidata":"Q513457","brand:wikipedia":"en:United Bank for Africa",name:"UBA"},terms:[],matchScore:2,suggestion:true},"amenity/bank/UBI Banca":{name:"UBI Banca",icon:"maki-bank",imageURL:"https://graph.facebook.com/UBIBanca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1476162",amenity:"bank"},addTags:{amenity:"bank",brand:"UBI Banca","brand:wikidata":"Q1476162","brand:wikipedia":"en:UBI Banca",name:"UBI Banca"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/UBL":{name:"UBL",icon:"maki-bank",imageURL:"https://graph.facebook.com/UBLUnitedBankLtd/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7887504",amenity:"bank"},addTags:{amenity:"bank",brand:"UBL","brand:en":"United Bank Limited Pakistan","brand:wikidata":"Q7887504","brand:wikipedia":"ur:یونائیٹڈ بینک (پاکستان)",name:"UBL","name:en":"United Bank Limited Pakistan"},countryCodes:["pk"],terms:["ubl bank"],matchScore:2,suggestion:true},"amenity/bank/UBS":{name:"UBS",icon:"maki-bank",imageURL:"https://graph.facebook.com/UBSglobal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q193199",amenity:"bank"},addTags:{amenity:"bank",brand:"UBS","brand:wikidata":"Q193199","brand:wikipedia":"en:UBS",name:"UBS"},terms:[],matchScore:2,suggestion:true},"amenity/bank/UCO Bank":{name:"UCO Bank",icon:"maki-bank",imageURL:"https://graph.facebook.com/official.ucobank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2005310",amenity:"bank"},addTags:{amenity:"bank",brand:"UCO Bank","brand:wikidata":"Q2005310","brand:wikipedia":"en:UCO Bank",name:"UCO Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/UCPB":{name:"UCPB",icon:"maki-bank",imageURL:"https://graph.facebook.com/UCPB.Connect/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7887615",amenity:"bank"},addTags:{amenity:"bank",brand:"UCPB","brand:wikidata":"Q7887615","brand:wikipedia":"en:United Coconut Planters Bank",name:"UCPB"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/bank/UIB":{name:"UIB",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q18636687",amenity:"bank"},addTags:{amenity:"bank",brand:"UIB","brand:wikidata":"Q18636687","brand:wikipedia":"en:United Industrial Bank",name:"UIB"},terms:[],matchScore:2,suggestion:true},"amenity/bank/UNI":{name:"UNI",icon:"maki-bank",imageURL:"https://graph.facebook.com/unicooperation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2933348",amenity:"bank"},addTags:{amenity:"bank",brand:"UNI","brand:wikidata":"Q2933348","brand:wikipedia":"fr:UNI Coopération financière",name:"UNI",official_name:"UNI Coopération financière"},countryCodes:["ca"],terms:["caisse populaire","caisse populaire acadienne"],matchScore:2,suggestion:true},"amenity/bank/UOB":{name:"UOB",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FUOB%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2064074",amenity:"bank"},addTags:{amenity:"bank",brand:"UOB","brand:wikidata":"Q2064074","brand:wikipedia":"en:United Overseas Bank",name:"UOB"},terms:[],matchScore:2,suggestion:true},"amenity/bank/USAA":{name:"USAA",icon:"maki-bank",imageURL:"https://graph.facebook.com/USAA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7865722",amenity:"bank"},addTags:{amenity:"bank",brand:"USAA","brand:wikidata":"Q7865722","brand:wikipedia":"en:USAA",name:"USAA",official_name:"United Services Automobile Association"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Ulster Bank":{name:"Ulster Bank",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q2613366",amenity:"bank"},addTags:{amenity:"bank",brand:"Ulster Bank","brand:wikidata":"Q2613366","brand:wikipedia":"en:Ulster Bank",name:"Ulster Bank"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Umpqua Bank":{name:"Umpqua Bank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1151175725711364096/6S_1o7Fj_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7881772",amenity:"bank"},addTags:{amenity:"bank",brand:"Umpqua Bank","brand:wikidata":"Q7881772","brand:wikipedia":"en:Umpqua Holdings Corporation",name:"Umpqua Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/UniCredit Bank":{name:"UniCredit Bank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/938454142338596864/uYxN76cQ_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q45568",amenity:"bank"},addTags:{amenity:"bank",brand:"UniCredit Bank","brand:wikidata":"Q45568","brand:wikipedia":"en:UniCredit",name:"UniCredit Bank"},terms:["unicredit","unicredit banca"],matchScore:2,suggestion:true},"amenity/bank/Unicaja Banco":{name:"Unicaja Banco",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1054637020713234432/c1iwfyOm_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q2543704",amenity:"bank"},addTags:{amenity:"bank",brand:"Unicaja Banco","brand:wikidata":"Q2543704","brand:wikipedia":"en:Unicaja",name:"Unicaja Banco",short_name:"Unicaja"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Union Bank of India":{name:"Union Bank of India",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FUnion%20Bank%20of%20India%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2004078",amenity:"bank"},addTags:{amenity:"bank",brand:"Union Bank of India","brand:wikidata":"Q2004078","brand:wikipedia":"en:Union Bank of India",name:"Union Bank of India"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Union Bank (USA)":{name:"Union Bank (USA)",icon:"maki-bank",imageURL:"https://graph.facebook.com/unionbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1442804",amenity:"bank"},addTags:{alt_name:"UnionBank",amenity:"bank",brand:"Union Bank","brand:wikidata":"Q1442804","brand:wikipedia":"en:MUFG Union Bank",name:"Union Bank"},countryCodes:["us"],terms:["mufg union bank","union bank of california"],matchScore:2,suggestion:true},"amenity/bank/UnionBank (Philippines)":{name:"UnionBank (Philippines)",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FUnionBankPH.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q7885403",amenity:"bank"},addTags:{amenity:"bank",brand:"UnionBank","brand:wikidata":"Q7885403","brand:wikipedia":"en:Union Bank of the Philippines",name:"UnionBank"},countryCodes:["ph"],terms:["union bank of the philippines"],matchScore:2,suggestion:true},"amenity/bank/United Bank (Connecticut)":{name:"United Bank (Connecticut)",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankatunited/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64825157",amenity:"bank"},addTags:{amenity:"bank",brand:"United Bank","brand:wikidata":"Q64825157",name:"United Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/United Bank (WestVirginia)":{name:"United Bank (WestVirginia)",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FUnited%20Bank%20(West%20Virginia)%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q16920636",amenity:"bank"},addTags:{amenity:"bank",brand:"United Bank","brand:wikidata":"Q16920636","brand:wikipedia":"en:United Bank (West Virginia)",name:"United Bank"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Vakıfbank":{name:"Vakıfbank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1116607604568940545/27IKknhk_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q1148521",amenity:"bank"},addTags:{amenity:"bank",brand:"Vakıfbank","brand:wikidata":"Q1148521","brand:wikipedia":"en:VakıfBank",name:"Vakıfbank"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Vancity":{name:"Vancity",icon:"maki-bank",imageURL:"https://graph.facebook.com/Vancity/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7914085",amenity:"bank"},addTags:{amenity:"bank",brand:"Vancity","brand:wikidata":"Q7914085","brand:wikipedia":"en:Vancity",name:"Vancity",official_name:"Vancouver City Savings Credit Union"},countryCodes:["ca"],terms:["vancouver city savings"],matchScore:2,suggestion:true},"amenity/bank/Veneto Banca":{name:"Veneto Banca",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q3127221",amenity:"bank"},addTags:{amenity:"bank",brand:"Veneto Banca","brand:wikidata":"Q3127221","brand:wikipedia":"en:Veneto Banca",name:"Veneto Banca"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Vijaya Bank":{name:"Vijaya Bank",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q2003171",amenity:"bank"},addTags:{amenity:"bank",brand:"Vijaya Bank","brand:wikidata":"Q2003171","brand:wikipedia":"en:Vijaya Bank",name:"Vijaya Bank"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Volksbank Köln Bonn eG":{name:"Volksbank Köln Bonn eG",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q41680844",amenity:"bank"},addTags:{amenity:"bank",brand:"Volksbank Köln Bonn eG","brand:wikidata":"Q41680844","brand:wikipedia":"de:Volksbank Köln Bonn",name:"Volksbank Köln Bonn eG"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/bank/VÚB":{name:"VÚB",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FVUB.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q12778981",amenity:"bank"},addTags:{amenity:"bank",brand:"VÚB","brand:wikidata":"Q12778981","brand:wikipedia":"en:Všeobecná úverová banka",name:"VÚB"},countryCodes:["sk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Washington Federal":{name:"Washington Federal",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FWashington%20Federal%20Logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q7971859",amenity:"bank"},addTags:{amenity:"bank",brand:"Washington Federal","brand:wikidata":"Q7971859","brand:wikipedia":"en:Washington Federal",name:"Washington Federal"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Wells Fargo":{name:"Wells Fargo",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1088877344624758784/OH8VFkEY_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q744149",amenity:"bank"},addTags:{amenity:"bank",brand:"Wells Fargo","brand:wikidata":"Q744149","brand:wikipedia":"en:Wells Fargo",name:"Wells Fargo"},countryCodes:["us"],terms:["wells fargo bank"],matchScore:2,suggestion:true},"amenity/bank/WesBanco":{name:"WesBanco",icon:"maki-bank",imageURL:"https://graph.facebook.com/WesBanco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7983629",amenity:"bank"},addTags:{amenity:"bank",brand:"WesBanco","brand:wikidata":"Q7983629","brand:wikipedia":"en:WesBanco",name:"WesBanco"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Western Union":{name:"Western Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/WesternUnion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q861042",amenity:"bank"},addTags:{amenity:"bank",brand:"Western Union","brand:wikidata":"Q861042","brand:wikipedia":"en:Western Union",name:"Western Union"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Westpac":{name:"Westpac",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1135693176243597312/mE_lUXFY_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q2031726",amenity:"bank"},addTags:{amenity:"bank",brand:"Westpac","brand:wikidata":"Q2031726","brand:wikipedia":"en:Westpac",name:"Westpac"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Yapı Kredi":{name:"Yapı Kredi",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q8049138",amenity:"bank"},addTags:{amenity:"bank",brand:"Yapı Kredi","brand:wikidata":"Q8049138","brand:wikipedia":"en:Yapı ve Kredi Bankası",name:"Yapı Kredi"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Yorkshire Bank":{name:"Yorkshire Bank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/875682560315097088/YOR4LIIO_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q8055678",amenity:"bank"},addTags:{amenity:"bank",brand:"Yorkshire Bank","brand:wikidata":"Q8055678","brand:wikipedia":"en:Yorkshire Bank",name:"Yorkshire Bank"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Yorkshire Building Society":{name:"Yorkshire Building Society",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1145614834526040065/R06gfLHu_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q12073381",amenity:"bank"},addTags:{amenity:"bank",brand:"Yorkshire Building Society","brand:wikidata":"Q12073381","brand:wikipedia":"en:Yorkshire Building Society",name:"Yorkshire Building Society"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Zagrebačka banka":{name:"Zagrebačka banka",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FZagreba%C4%8Dka-banka-Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q140381",amenity:"bank"},addTags:{amenity:"bank",brand:"Zagrebačka banka","brand:wikidata":"Q140381","brand:wikipedia":"en:Zagrebačka banka",name:"Zagrebačka banka"},countryCodes:["hr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Zenith Bank":{name:"Zenith Bank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/880350862647980032/mvRee-i3_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q5978240",amenity:"bank"},addTags:{amenity:"bank",brand:"Zenith Bank","brand:wikidata":"Q5978240","brand:wikipedia":"en:Zenith Bank",name:"Zenith Bank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Ziraat Bankası":{name:"Ziraat Bankası",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/796327044867100672/6kVcx5hR_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q696003",amenity:"bank"},addTags:{amenity:"bank",brand:"Ziraat Bankası","brand:wikidata":"Q696003","brand:wikipedia":"en:Ziraat Bankası",name:"Ziraat Bankası"},terms:[],matchScore:2,suggestion:true},"amenity/bank/mBank":{name:"mBank",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/978550505856225280/lx2kkb1A_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q1160928",amenity:"bank"},addTags:{amenity:"bank",brand:"mBank","brand:wikidata":"Q1160928","brand:wikipedia":"en:MBank",name:"mBank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/st.george":{name:"st.george",icon:"maki-bank",imageURL:"https://graph.facebook.com/stgeorgebankaus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1606050",amenity:"bank"},addTags:{amenity:"bank",brand:"st.george","brand:wikidata":"Q1606050","brand:wikipedia":"en:St.George Bank",name:"st.george"},countryCodes:["au"],terms:["st.george bank"],matchScore:2,suggestion:true},"amenity/bank/Ålandsbanken":{name:"Ålandsbanken",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FAlandsbanken-logotype.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q4349236",amenity:"bank"},addTags:{amenity:"bank",brand:"Ålandsbanken","brand:wikidata":"Q4349236","brand:wikipedia":"sv:Ålandsbanken",name:"Ålandsbanken"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ČSOB":{name:"ČSOB",icon:"maki-bank",imageURL:"https://graph.facebook.com/csob/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q340135",amenity:"bank"},addTags:{amenity:"bank",brand:"ČSOB","brand:wikidata":"Q340135","brand:wikipedia":"en:Československá obchodní banka",name:"ČSOB"},countryCodes:["cz","sk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Česká spořitelna":{name:"Česká spořitelna",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1129037135598804996/t6sH0DmI_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q341100",amenity:"bank"},addTags:{amenity:"bank",brand:"Česká spořitelna","brand:wikidata":"Q341100","brand:wikipedia":"en:Česká spořitelna",name:"Česká spořitelna"},countryCodes:["cz"],terms:[],matchScore:2,suggestion:true},"amenity/bank/İş Bankası":{name:"İş Bankası",icon:"maki-bank",imageURL:"https://graph.facebook.com/isbankasi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q909613",amenity:"bank"},addTags:{amenity:"bank",brand:"İş Bankası","brand:wikidata":"Q909613","brand:wikipedia":"en:Türkiye İş Bankası",name:"İş Bankası"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Εθνική Τράπεζα":{name:"Εθνική Τράπεζα",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/889398220853522432/S7AkARZ9_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q1816028",amenity:"bank"},addTags:{amenity:"bank",brand:"Εθνική Τράπεζα","brand:el":"Εθνική Τράπεζα","brand:en":"National Bank of Greece","brand:wikidata":"Q1816028","brand:wikipedia":"en:National Bank of Greece",name:"Εθνική Τράπεζα","name:el":"Εθνική Τράπεζα","name:en":"National Bank of Greece"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Τράπεζα Πειραιώς":{name:"Τράπεζα Πειραιώς",icon:"maki-bank",imageURL:"https://graph.facebook.com/piraeusbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3312",amenity:"bank"},addTags:{amenity:"bank",brand:"Τράπεζα Πειραιώς","brand:el":"Τράπεζα Πειραιώς","brand:en":"Piraeus Bank","brand:wikidata":"Q3312","brand:wikipedia":"en:Piraeus Bank",name:"Τράπεζα Πειραιώς","name:el":"Τράπεζα Πειραιώς","name:en":"Piraeus Bank"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/А-Банк":{name:"А-Банк",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q28705400",amenity:"bank"},addTags:{amenity:"bank",brand:"А-Банк","brand:wikidata":"Q28705400","brand:wikipedia":"uk:А-Банк",name:"А-Банк"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Авангард":{name:"Авангард",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankavangard/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62122617",amenity:"bank"},addTags:{amenity:"bank",brand:"Авангард","brand:wikidata":"Q62122617",name:"Авангард"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Альфа-Банк":{name:"Альфа-Банк",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1126053531507621888/L60raYv6_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q1377835",amenity:"bank"},addTags:{amenity:"bank",brand:"Альфа-Банк","brand:en":"Alfa-Bank","brand:ru":"Альфа-Банк","brand:wikidata":"Q1377835","brand:wikipedia":"ru:Альфа-банк",name:"Альфа-Банк","name:en":"Alfa-Bank","name:ru":"Альфа-Банк"},countryCodes:["by","kz","ru","ua"],terms:[],matchScore:2,suggestion:true},"amenity/bank/БПС-Сбербанк":{name:"БПС-Сбербанк",icon:"maki-bank",imageURL:"https://graph.facebook.com/sberbank.bps/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2074915",amenity:"bank"},addTags:{amenity:"bank",brand:"БПС-Сбербанк","brand:wikidata":"Q2074915","brand:wikipedia":"be:БПС-Сбербанк",name:"БПС-Сбербанк"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Банк Дабрабыт":{name:"Банк Дабрабыт",icon:"maki-bank",imageURL:"https://graph.facebook.com/bank.dabrabyt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63981850",amenity:"bank"},addTags:{amenity:"bank",brand:"Банк Дабрабыт","brand:wikidata":"Q63981850",name:"Банк Дабрабыт"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Банка ДСК":{name:"Банка ДСК",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5206146",amenity:"bank"},addTags:{amenity:"bank",brand:"Банка ДСК","brand:bg":"Банка ДСК","brand:en":"DSK Bank","brand:wikidata":"Q5206146","brand:wikipedia":"en:DSK Bank",name:"Банка ДСК","name:bg":"Банка ДСК","name:en":"DSK Bank"},countryCodes:["bg"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Белагропромбанк":{name:"Белагропромбанк",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/818408470319865857/4hE0A76d_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q1991373",amenity:"bank"},addTags:{amenity:"bank",brand:"Белагропромбанк","brand:en":"Belagroprom Bank","brand:wikidata":"Q1991373","brand:wikipedia":"be:Белаграпрамбанк",name:"Белагропромбанк","name:en":"Belagroprom Bank"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Беларусбанк":{name:"Беларусбанк",icon:"maki-bank",imageURL:"https://graph.facebook.com/asb.belarusbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1997334",amenity:"bank"},addTags:{amenity:"bank",brand:"Беларусбанк","brand:en":"Belarusbank","brand:wikidata":"Q1997334","brand:wikipedia":"en:Belarusbank",name:"Беларусбанк","name:en":"Belarusbank"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Белинвестбанк":{name:"Белинвестбанк",icon:"maki-bank",imageURL:"https://graph.facebook.com/belinvestbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4081940",amenity:"bank"},addTags:{amenity:"bank",brand:"Белинвестбанк","brand:wikidata":"Q4081940","brand:wikipedia":"ru:Белинвестбанк",name:"Белинвестбанк"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Бинбанк":{name:"Бинбанк",icon:"maki-bank",imageURL:"https://graph.facebook.com/binbank.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4086829",amenity:"bank"},addTags:{amenity:"bank",brand:"Бинбанк","brand:en":"B&N Bank","brand:wikidata":"Q4086829","brand:wikipedia":"en:B&N Bank",name:"Бинбанк","name:en":"B&N Bank"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ВТБ":{name:"ВТБ",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1054295031916453888/lvi_M_Cc_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q1549389",amenity:"bank"},addTags:{amenity:"bank",brand:"ВТБ","brand:en":"VTB Bank","brand:wikidata":"Q1549389","brand:wikipedia":"en:VTB Bank",name:"ВТБ","name:en":"VTB Bank"},countryCodes:["ru","ua"],terms:["втб банк москвы"],matchScore:2,suggestion:true},"amenity/bank/Возрождение":{name:"Возрождение",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q4114952",amenity:"bank"},addTags:{amenity:"bank",brand:"Возрождение","brand:wikidata":"Q4114952","brand:wikipedia":"ru:Возрождение (банк)",name:"Возрождение"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Газпромбанк":{name:"Газпромбанк",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FGazprombank.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1924338",amenity:"bank"},addTags:{amenity:"bank",brand:"Газпромбанк","brand:en":"Gazprombank","brand:wikidata":"Q1924338","brand:wikipedia":"en:Gazprombank",name:"Газпромбанк","name:en":"Gazprombank"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Генбанк":{name:"Генбанк",icon:"maki-bank",imageURL:"https://graph.facebook.com/GENBANK.Crimea/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62122630",amenity:"bank"},addTags:{amenity:"bank",brand:"Генбанк","brand:wikidata":"Q62122630",name:"Генбанк"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Казкоммерцбанк":{name:"Казкоммерцбанк",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FQazkom%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1168179",amenity:"bank"},addTags:{amenity:"bank",brand:"Казкоммерцбанк","brand:en":"Kazkommertsbank","brand:wikidata":"Q1168179","brand:wikipedia":"en:Kazkommertsbank",name:"Казкоммерцбанк","name:en":"Kazkommertsbank"},countryCodes:["kz"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Московский индустриальный банк":{name:"Московский индустриальный банк",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q4304145",amenity:"bank"},addTags:{amenity:"bank",brand:"Московский индустриальный банк","brand:en":"Moscow Industrial Bank","brand:wikidata":"Q4304145","brand:wikipedia":"ru:Московский индустриальный банк",name:"Московский индустриальный банк","name:en":"Moscow Industrial Bank"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Мособлбанк":{name:"Мособлбанк",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q4304446",amenity:"bank"},addTags:{amenity:"bank",brand:"Мособлбанк","brand:en":"Mosobl Bank","brand:wikidata":"Q4304446","brand:wikipedia":"ru:Мособлбанк",name:"Мособлбанк","name:en":"Mosobl Bank"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Народный банк":{name:"Народный банк",icon:"maki-bank",imageURL:"https://graph.facebook.com/halykbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1046186",amenity:"bank"},addTags:{amenity:"bank",brand:"Народный банк","brand:wikidata":"Q1046186","brand:wikipedia":"kk:Қазақстан Халық банкі",name:"Народный банк"},countryCodes:["kg","kz","uz"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ОТП Банк":{name:"ОТП Банк",icon:"maki-bank",imageURL:"https://graph.facebook.com/otpbank.hu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q912778",amenity:"bank"},addTags:{amenity:"bank",brand:"ОТП Банк","brand:en":"OTP Bank","brand:wikidata":"Q912778","brand:wikipedia":"en:OTP Bank",name:"ОТП Банк","name:en":"OTP Bank"},countryCodes:["ru","ua"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Обединена Българска Банка":{name:"Обединена Българска Банка",icon:"maki-bank",imageURL:"https://graph.facebook.com/UnitedBulgarianBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7887555",amenity:"bank"},addTags:{amenity:"bank",brand:"Обединена Българска Банка","brand:en":"United Bulgarian Bank","brand:wikidata":"Q7887555","brand:wikipedia":"en:United Bulgarian Bank",name:"Обединена Българска Банка","name:en":"United Bulgarian Bank"},countryCodes:["bg"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Открытие":{name:"Открытие",icon:"maki-bank",imageURL:"https://graph.facebook.com/otkritie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4327204",amenity:"bank"},addTags:{amenity:"bank",brand:"Открытие","brand:wikidata":"Q4327204","brand:wikipedia":"ru:Банк «Финансовая корпорация Открытие»",name:"Открытие"},countryCodes:["ru"],terms:["банк открытие"],matchScore:2,suggestion:true},"amenity/bank/Ощадбанк":{name:"Ощадбанк",icon:"maki-bank",imageURL:"https://graph.facebook.com/oschadbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4340839",amenity:"bank"},addTags:{amenity:"bank",brand:"Ощадбанк","brand:en":"State Savings Bank of Ukraine","brand:wikidata":"Q4340839","brand:wikipedia":"uk:Ощадбанк",name:"Ощадбанк","name:en":"State Savings Bank of Ukraine"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ПУМБ":{name:"ПУМБ",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1085114991370485762/D3vO4DSe_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q4341156",amenity:"bank"},addTags:{amenity:"bank",brand:"ПУМБ","brand:en":"First Ukrainian International Bank","brand:wikidata":"Q4341156","brand:wikipedia":"en:First Ukrainian International Bank",name:"ПУМБ","name:en":"First Ukrainian International Bank"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Почта Банк":{name:"Почта Банк",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1054324676284112896/8hNCP82s_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q24930461",amenity:"bank"},addTags:{amenity:"bank",brand:"Почта Банк","brand:en":"Post Bank","brand:wikidata":"Q24930461","brand:wikipedia":"en:Post Bank (Russia)",name:"Почта Банк","name:en":"Post Bank"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Пощенска банка":{name:"Пощенска банка",icon:"maki-bank",imageURL:"https://graph.facebook.com/PostbankBG/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7234083",amenity:"bank"},addTags:{amenity:"bank",brand:"Пощенска банка","brand:wikidata":"Q7234083","brand:wikipedia":"bg:Пощенска банка",name:"Пощенска банка","name:en":"Postbank"},countryCodes:["bg"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ПриватБанк":{name:"ПриватБанк",icon:"maki-bank",imageURL:"https://graph.facebook.com/privatbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1515015",amenity:"bank"},addTags:{amenity:"bank",brand:"ПриватБанк","brand:en":"PrivatBank","brand:wikidata":"Q1515015","brand:wikipedia":"uk:ПриватБанк",name:"ПриватБанк","name:en":"PrivatBank"},terms:[],matchScore:2,suggestion:true},"amenity/bank/Приднестровский Сбербанк":{name:"Приднестровский Сбербанк",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q4378147",amenity:"bank"},addTags:{amenity:"bank",brand:"Приднестровский Сбербанк","brand:en":"Pridnestrovian Savings Bank","brand:ru":"Приднестровский Сбербанк","brand:wikidata":"Q4378147","brand:wikipedia":"ru:Приднестровский Сбербанк",name:"Приднестровский Сбербанк","name:en":"Pridnestrovian Savings Bank","name:ru":"Приднестровский Сбербанк"},countryCodes:["md"],terms:["приднестровский cбербанк"],matchScore:2,suggestion:true},"amenity/bank/Приорбанк":{name:"Приорбанк",icon:"maki-bank",imageURL:"https://graph.facebook.com/Priorbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3919658",amenity:"bank"},addTags:{amenity:"bank",brand:"Приорбанк","brand:en":"PriorBank","brand:wikidata":"Q3919658","brand:wikipedia":"be:Пріорбанк",name:"Приорбанк","name:en":"PriorBank"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Промсвязьбанк":{name:"Промсвязьбанк",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1141277923082723328/OXpPm2xv_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q649100",amenity:"bank"},addTags:{amenity:"bank",brand:"Промсвязьбанк","brand:en":"Promsvyazbank","brand:wikidata":"Q649100","brand:wikipedia":"en:Promsvyazbank",name:"Промсвязьбанк","name:en":"Promsvyazbank"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/РНКБ":{name:"РНКБ",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1089811715519365120/cq5jOtOD_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q16912944",amenity:"bank"},addTags:{amenity:"bank",brand:"РНКБ","brand:wikidata":"Q16912944","brand:wikipedia":"en:Russian National Commercial Bank",name:"РНКБ"},countryCodes:["ru","ua"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Райффайзен":{name:"Райффайзен",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1136158344052379648/wQYX1AVH_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q4389244",amenity:"bank"},addTags:{amenity:"bank",brand:"Райффайзен","brand:en":"Raiffeisenbank","brand:wikidata":"Q4389244","brand:wikipedia":"en:Raiffeisenbank (Russia)",name:"Райффайзен","name:en":"Raiffeisenbank"},countryCodes:["ru","ua"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Райффайзен Банк Аваль":{name:"Райффайзен Банк Аваль",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/880303932081352704/d66pHime_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q4389243",amenity:"bank"},addTags:{amenity:"bank",brand:"Райффайзен Банк Аваль","brand:en":"Raiffeisen Bank Aval","brand:wikidata":"Q4389243","brand:wikipedia":"en:Raiffeisen Bank Aval",name:"Райффайзен Банк Аваль","name:en":"Raiffeisen Bank Aval"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Росбанк":{name:"Росбанк",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1061886098891292672/qw4qUcW2_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q1119857",amenity:"bank"},addTags:{amenity:"bank",brand:"Росбанк","brand:en":"Rosbank","brand:wikidata":"Q1119857","brand:wikipedia":"en:Rosbank",name:"Росбанк","name:en":"Rosbank"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Россельхозбанк":{name:"Россельхозбанк",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/952899724914446336/9itJSe9x_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q3920226",amenity:"bank"},addTags:{amenity:"bank",brand:"Россельхозбанк","brand:en":"Rosselkhozbank","brand:wikidata":"Q3920226","brand:wikipedia":"en:Russian Agricultural Bank",name:"Россельхозбанк","name:en":"Rosselkhozbank"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Русский Стандарт":{name:"Русский Стандарт",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1153224562890432512/yI6eOKN__bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q4400854",amenity:"bank"},addTags:{amenity:"bank",brand:"Русский Стандарт","brand:en":"Russian Standard Bank","brand:wikidata":"Q4400854","brand:wikipedia":"en:Russian Standard Bank",name:"Русский Стандарт","name:en":"Russian Standard Bank"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Сбербанк":{name:"Сбербанк",icon:"maki-bank",imageURL:"https://graph.facebook.com/sberbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q205012",amenity:"bank"},addTags:{amenity:"bank",brand:"Сбербанк","brand:en":"Sberbank","brand:ru":"Сбербанк","brand:wikidata":"Q205012","brand:wikipedia":"en:Sberbank of Russia",name:"Сбербанк","name:en":"Sberbank","name:ru":"Сбербанк"},countryCodes:["kz","ru"],terms:["cбербанк","cбербанк россии","сбербанк россии"],matchScore:2,suggestion:true},"amenity/bank/Совкомбанк":{name:"Совкомбанк",icon:"maki-bank",imageURL:"https://graph.facebook.com/sovcombank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4426566",amenity:"bank"},addTags:{amenity:"bank",brand:"Совкомбанк","brand:en":"Sovcom Bank","brand:wikidata":"Q4426566","brand:wikipedia":"ru:Совкомбанк",name:"Совкомбанк","name:en":"Sovcom Bank"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/УкрСиббанк":{name:"УкрСиббанк",icon:"maki-bank",imageURL:"https://graph.facebook.com/UKRSIBBANK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1976290",amenity:"bank"},addTags:{amenity:"bank",brand:"УкрСиббанк","brand:en":"UkrSibbank","brand:wikidata":"Q1976290","brand:wikipedia":"en:UkrSibbank",name:"УкрСиббанк","name:en":"UkrSibbank"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Укргазбанк":{name:"Укргазбанк",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FUkrgasbank%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q4470692",amenity:"bank"},addTags:{amenity:"bank",brand:"Укргазбанк","brand:en":"Ukrgasbank","brand:wikidata":"Q4470692","brand:wikipedia":"ru:Укргазбанк",name:"Укргазбанк","name:en":"Ukrgasbank"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Укрсоцбанк":{name:"Укрсоцбанк",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q3547885",amenity:"bank"},addTags:{amenity:"bank",brand:"Укрсоцбанк","brand:en":"Ukrsotsbank","brand:wikidata":"Q3547885","brand:wikipedia":"en:Ukrsotsbank",name:"Укрсоцбанк","name:en":"Ukrsotsbank"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Уралсиб":{name:"Уралсиб",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q4476693",amenity:"bank"},addTags:{amenity:"bank",brand:"Уралсиб","brand:en":"Uralsib bank","brand:wikidata":"Q4476693","brand:wikipedia":"ru:Уралсиб (банк)",name:"Уралсиб","name:en":"Uralsib bank"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Хаан банк":{name:"Хаан банк",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q25632240",amenity:"bank"},addTags:{amenity:"bank",brand:"Хаан банк","brand:wikidata":"Q25632240","brand:wikipedia":"mn:ХААН банк",name:"Хаан банк"},countryCodes:["mn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/Хоум Кредит":{name:"Хоум Кредит",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1058027651502366720/Pi8dYujA_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q4500466",amenity:"bank"},addTags:{amenity:"bank",brand:"Хоум Кредит","brand:en":"Home Credit & Finance Bank","brand:wikidata":"Q4500466","brand:wikipedia":"en:Home Credit & Finance Bank",name:"Хоум Кредит","name:en":"Home Credit & Finance Bank"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/bank/בנק אגוד":{name:"בנק אגוד",icon:"maki-bank",imageURL:"https://graph.facebook.com/igudbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2903265",amenity:"bank"},addTags:{"alt_name:en":"Bank Igud",amenity:"bank",brand:"בנק אגוד","brand:en":"Union Bank of Israel","brand:he":"בנק אגוד","brand:wikidata":"Q2903265","brand:wikipedia":"en:Union Bank of Israel",name:"בנק אגוד","name:en":"Union Bank of Israel","name:he":"בנק אגוד"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/bank/בנק אוצר החייל":{name:"בנק אוצר החייל",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FOtsarLogoHE.gif&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2900674",amenity:"bank"},addTags:{amenity:"bank",brand:"בנק אוצר החייל","brand:en":"Bank Otsar Ha-Hayal","brand:he":"בנק אוצר החייל","brand:wikidata":"Q2900674","brand:wikipedia":"en:Bank Otsar Ha-Hayal",name:"בנק אוצר החייל","name:en":"Bank Otsar Ha-Hayal","name:he":"בנק אוצר החייל"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/bank/בנק דיסקונט":{name:"בנק דיסקונט",icon:"maki-bank",imageURL:"https://graph.facebook.com/discountbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q250362",amenity:"bank"},addTags:{amenity:"bank",brand:"בנק דיסקונט לישראל","brand:en":"Israel Discount Bank","brand:he":"בנק דיסקונט לישראל","brand:wikidata":"Q250362","brand:wikipedia":"en:Israel Discount Bank",name:"בנק דיסקונט","name:en":"Bank Discount","name:he":"בנק דיסקונט"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/bank/בנק הפועלים":{name:"בנק הפועלים",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/950970103667052544/Ymilo1Mp_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q2666775",amenity:"bank"},addTags:{amenity:"bank",brand:"בנק הפועלים","brand:en":"Bank Hapoalim","brand:he":"בנק הפועלים","brand:wikidata":"Q2666775","brand:wikipedia":"en:Bank Hapoalim",name:"בנק הפועלים","name:en":"Bank Hapoalim","name:he":"בנק הפועלים"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/bank/בנק יהד":{name:"בנק יהד",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q7187611",amenity:"bank"},addTags:{amenity:"bank",brand:"בנק יהד","brand:en":"Bank Yahav","brand:he":"בנק יהד","brand:wikidata":"Q7187611","brand:wikipedia":"he:בנק יהב",name:"בנק יהד","name:en":"Bank Yahav","name:he":"בנק יהד"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/bank/בנק ירושלים":{name:"בנק ירושלים",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q2900227",amenity:"bank"},addTags:{amenity:"bank",brand:"בנק ירושלים","brand:en":"Bank of Jerusalem","brand:he":"בנק ירושלים","brand:wikidata":"Q2900227","brand:wikipedia":"en:Bank of Jerusalem",name:"בנק ירושלים","name:en":"Bank of Jerusalem","name:he":"בנק ירושלים"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/bank/בנק לאומי":{name:"בנק לאומי",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q806641",amenity:"bank"},addTags:{amenity:"bank",brand:"בנק לאומי","brand:en":"Bank Leumi","brand:he":"בנק לאומי","brand:wikidata":"Q806641","brand:wikipedia":"en:Bank Leumi",name:"בנק לאומי","name:en":"Bank Leumi","name:he":"בנק לאומי"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/bank/בנק מסד":{name:"בנק מסד",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q7187667",amenity:"bank"},addTags:{amenity:"bank",brand:"בנק מסד","brand:en":"Bank Massad","brand:he":"בנק מסד","brand:wikidata":"Q7187667","brand:wikipedia":"en:Bank Massad",name:"בנק מסד","name:en":"Bank Massad","name:he":"בנק מסד"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/bank/הבנק הבינלאומי":{name:"הבנק הבינלאומי",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FHaBank%20Hbinleumi%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2777497",amenity:"bank"},addTags:{amenity:"bank",brand:"הבנק הבינלאומי","brand:en":"First International Bank of Israel","brand:he":"הבנק הבינלאומי","brand:wikidata":"Q2777497","brand:wikipedia":"en:First International Bank of Israel",name:"הבנק הבינלאומי","name:en":"First International Bank of Israel","name:he":"הבנק הבינלאומי"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/bank/מזרחי טפחות":{name:"מזרחי טפחות",icon:"maki-bank",imageURL:"https://graph.facebook.com/bank.mizrahi.tefahot/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2777129",amenity:"bank"},addTags:{amenity:"bank",brand:"מזרחי טפחות","brand:en":"Mizrahi-Tefahot","brand:he":"מזרחי טפחות","brand:wikidata":"Q2777129","brand:wikipedia":"en:Bank Mizrahi-Tefahot",name:"בנק מזרחי טפחות","name:en":"Bank Mizrahi-Tefahot","name:he":"בנק מזרחי טפחות"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک آینده":{name:"بانک آینده",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5938144",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک آینده","brand:en":"Ayandeh Bank","brand:wikidata":"Q5938144","brand:wikipedia":"en:Ayandeh Bank",name:"بانک آینده","name:en":"Ayandeh Bank"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک اقتصاد نوین":{name:"بانک اقتصاد نوین",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5323768",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک اقتصاد نوین","brand:en":"EN Bank","brand:wikidata":"Q5323768","brand:wikipedia":"en:EN Bank",name:"بانک اقتصاد نوین","name:en":"EN Bank"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک انصار":{name:"بانک انصار",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5862675",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک انصار","brand:wikidata":"Q5862675","brand:wikipedia":"fa:بانک انصار",name:"بانک انصار"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک ایران زمین":{name:"بانک ایران زمین",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5934423",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک ایران زمین","brand:wikidata":"Q5934423","brand:wikipedia":"en:Iran Zamin Bank",name:"بانک ایران زمین"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک تجارت":{name:"بانک تجارت",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q7695198",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک تجارت","brand:wikidata":"Q7695198","brand:wikipedia":"en:Tejarat Bank",name:"بانک تجارت"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک توسعه تعاون":{name:"بانک توسعه تعاون",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5684450",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک توسعه تعاون","brand:wikidata":"Q5684450","brand:wikipedia":"fa:بانک توسعه تعاون",name:"بانک توسعه تعاون"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک رفاه":{name:"بانک رفاه",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FRefah-Bank-Logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q7307083",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک رفاه","brand:en":"Refah Bank","brand:wikidata":"Q7307083","brand:wikipedia":"en:Refah Bank",name:"بانک رفاه","name:en":"Refah Bank"},countryCodes:["ir"],terms:["بانک رفاه کارگران"],matchScore:2,suggestion:true},"amenity/bank/بانک سامان":{name:"بانک سامان",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q4117676",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک سامان","brand:en":"Saman Bank","brand:wikidata":"Q4117676","brand:wikipedia":"en:Saman Bank",name:"بانک سامان","name:en":"Saman Bank"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک سرمایه":{name:"بانک سرمایه",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q7424291",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک سرمایه","brand:en":"Sarmayeh Bank","brand:wikidata":"Q7424291","brand:wikipedia":"en:Sarmayeh Bank",name:"بانک سرمایه","name:en":"Sarmayeh Bank"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک سپه":{name:"بانک سپه",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q2882624",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک سپه","brand:en":"Bank Sepah","brand:wikidata":"Q2882624","brand:wikipedia":"en:Bank Sepah",name:"بانک سپه","name:en":"Bank Sepah"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک سینا":{name:"بانک سینا",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q10860246",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک سینا","brand:en":"Sina Bank","brand:wikidata":"Q10860246","brand:wikipedia":"en:Sina Bank",name:"بانک سینا","name:en":"Sina Bank"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک شهر":{name:"بانک شهر",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5941033",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک شهر","brand:en":"Shahr Bank","brand:wikidata":"Q5941033","brand:wikipedia":"fa:بانک شهر",name:"بانک شهر","name:en":"Shahr Bank"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک صادرات":{name:"بانک صادرات",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBank%20Saderat%20Iran%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2882608",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک صادرات","brand:en":"Bank Saderat Iran","brand:wikidata":"Q2882608","brand:wikipedia":"en:Bank Saderat Iran",name:"بانک صادرات","name:en":"Bank Saderat Iran"},countryCodes:["ir"],terms:["بانک صادرات ایران","صادرات"],matchScore:2,suggestion:true},"amenity/bank/بانک قوامین":{name:"بانک قوامین",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q10860253",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک قوامین","brand:en":"Ghavamin Bank","brand:wikidata":"Q10860253","brand:wikipedia":"en:Ghavamin Bank",name:"بانک قوامین","name:en":"Ghavamin Bank"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک مسکن":{name:"بانک مسکن",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBank%20maskan.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q4855942",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک مسکن","brand:en":"Bank Maskan","brand:wikidata":"Q4855942","brand:wikipedia":"en:Bank Maskan",name:"بانک مسکن","name:en":"Bank Maskan"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک ملت":{name:"بانک ملت",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q4855944",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک ملت","brand:en":"Bank Mellat","brand:wikidata":"Q4855944","brand:wikipedia":"en:Bank Mellat",name:"بانک ملت","name:en":"Bank Mellat"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک ملی":{name:"بانک ملی",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q806640",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک ملی","brand:en":"Bank Melli Iran","brand:wikidata":"Q806640","brand:wikipedia":"en:Bank Melli Iran",name:"بانک ملی","name:en":"Bank Melli Iran"},countryCodes:["ir"],terms:["بانک ملی ایران","ملی"],matchScore:2,suggestion:true},"amenity/bank/بانک مهر اقتصاد":{name:"بانک مهر اقتصاد",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5942921",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک مهر اقتصاد","brand:wikidata":"Q5942921","brand:wikipedia":"fa:بانک مهر اقتصاد",name:"بانک مهر اقتصاد","name:en":"Mehr Eqtesad Bank"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک پارسیان":{name:"بانک پارسیان",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q2410404",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک پارسیان","brand:en":"Parsian Bank","brand:wikidata":"Q2410404","brand:wikipedia":"en:Parsian Bank",name:"بانک پارسیان","name:en":"Parsian Bank"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک پاسارگاد":{name:"بانک پاسارگاد",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q4855962",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک پاسارگاد","brand:en":"Bank Pasargad","brand:wikidata":"Q4855962","brand:wikipedia":"en:Bank Pasargad",name:"بانک پاسارگاد","name:en":"Bank Pasargad"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/بانک کشاورزی":{name:"بانک کشاورزی",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q6395007",amenity:"bank"},addTags:{amenity:"bank",brand:"بانک کشاورزی","brand:en":"Bank Keshavarzi Iran","brand:wikidata":"Q6395007","brand:wikipedia":"en:Bank Keshavarzi Iran",name:"بانک کشاورزی","name:en":"Bank Keshavarzi Iran"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/پست بانک":{name:"پست بانک",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q7233625",amenity:"bank"},addTags:{amenity:"bank",brand:"پست بانک","brand:en":"Post Bank of Iran","brand:wikidata":"Q7233625","brand:wikipedia":"en:Post Bank of Iran",name:"پست بانک","name:en":"Post Bank of Iran"},countryCodes:["ir"],terms:[],matchScore:2,suggestion:true},"amenity/bank/অগ্রণী ব্যাংক লিমিটেড":{name:"অগ্রণী ব্যাংক লিমিটেড",icon:"maki-bank",imageURL:"https://graph.facebook.com/AgraniBankLimited/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q517050",amenity:"bank"},addTags:{amenity:"bank",brand:"অগ্রণী ব্যাংক লিমিটেড","brand:wikidata":"Q517050","brand:wikipedia":"en:Agrani Bank",name:"অগ্রণী ব্যাংক লিমিটেড","name:en":"Agrani Bank"},countryCodes:["bd"],terms:[],matchScore:2,suggestion:true},"amenity/bank/গ্রামীণ ব্যাংক":{name:"গ্রামীণ ব্যাংক",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q188567",amenity:"bank"},addTags:{amenity:"bank",brand:"গ্রামীণ ব্যাংক","brand:wikidata":"Q188567","brand:wikipedia":"en:Grameen Bank",name:"গ্রামীণ ব্যাংক","name:en":"Grameen Bank"},countryCodes:["bd"],terms:[],matchScore:2,suggestion:true},"amenity/bank/বাংলাদেশ কৃষি ব্যাংক":{name:"বাংলাদেশ কৃষি ব্যাংক",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q16345932",amenity:"bank"},addTags:{amenity:"bank",brand:"বাংলাদেশ কৃষি ব্যাংক","brand:wikidata":"Q16345932","brand:wikipedia":"en:Bangladesh Krishi Bank",name:"বাংলাদেশ কৃষি ব্যাংক","name:en":"Bangladesh Krishi Bank"},countryCodes:["bd"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ธนาคารกรุงเทพ":{name:"ธนาคารกรุงเทพ",icon:"maki-bank",imageURL:"https://graph.facebook.com/371998329537690/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806483",amenity:"bank"},addTags:{amenity:"bank",brand:"ธนาคารกรุงเทพ","brand:en":"Bangkok Bank","brand:th":"ธนาคารกรุงเทพ","brand:wikidata":"Q806483","brand:wikipedia":"en:Bangkok Bank",name:"ธนาคารกรุงเทพ","name:en":"Bangkok Bank","name:th":"ธนาคารกรุงเทพ"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ธนาคารกรุงไทย":{name:"ธนาคารกรุงไทย",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1100959964040814599/Wv9V7iMd_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q962865",amenity:"bank"},addTags:{amenity:"bank",brand:"ธนาคารกรุงไทย","brand:en":"Krung Thai Bank","brand:th":"ธนาคารกรุงไทย","brand:wikidata":"Q962865","brand:wikipedia":"en:Krung Thai Bank",name:"ธนาคารกรุงไทย","name:en":"Krung Thai Bank","name:th":"ธนาคารกรุงไทย"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ธนาคารกสิกรไทย":{name:"ธนาคารกสิกรไทย",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1146600752816648192/7TphMSUQ_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q276557",amenity:"bank"},addTags:{amenity:"bank",brand:"ธนาคารกสิกรไทย","brand:en":"en:Kasikornbank","brand:th":"ธนาคารกสิกรไทย","brand:wikidata":"Q276557","brand:wikipedia":"en:Kasikornbank",name:"ธนาคารกสิกรไทย","name:en":"en:Kasikornbank","name:th":"ธนาคารกสิกรไทย"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ธนาคารออมสิน":{name:"ธนาคารออมสิน",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q6579041",amenity:"bank"},addTags:{amenity:"bank",brand:"ธนาคารออมสิน","brand:en":"Government Savings Bank","brand:th":"ธนาคารออมสิน","brand:wikidata":"Q6579041","brand:wikipedia":"en:Government Savings Bank (Thailand)",name:"ธนาคารออมสิน","name:en":"Government Savings Bank","name:th":"ธนาคารออมสิน"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ธนาคารไทยพาณิชย์":{name:"ธนาคารไทยพาณิชย์",icon:"maki-bank",imageURL:"https://graph.facebook.com/scb.thailand/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2038986",amenity:"bank"},addTags:{amenity:"bank",brand:"ธนาคารไทยพาณิชย์","brand:en":"Siam Commercial Bank","brand:th":"ธนาคารไทยพาณิชย์","brand:wikidata":"Q2038986","brand:wikipedia":"en:Siam Commercial Bank",name:"ธนาคารไทยพาณิชย์","name:en":"Siam Commercial Bank","name:th":"ธนาคารไทยพาณิชย์"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/bank/みずほ銀行":{name:"みずほ銀行",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/902036508672106496/L8rp7WY6_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q2882956",amenity:"bank"},addTags:{amenity:"bank",brand:"みずほ銀行","brand:en":"Mizuho Bank","brand:ja":"みずほ銀行","brand:wikidata":"Q2882956","brand:wikipedia":"en:Mizuho Bank",name:"みずほ銀行","name:en":"Mizuho Bank","name:ja":"みずほ銀行"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/ゆうちょ銀行":{name:"ゆうちょ銀行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FJapan%20Post%20Bank%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q907103",amenity:"bank"},addTags:{amenity:"bank",brand:"ゆうちょ銀行","brand:en":"Japan Post Bank","brand:ja":"ゆうちょ銀行","brand:wikidata":"Q907103","brand:wikipedia":"ja:ゆうちょ銀行",name:"ゆうちょ銀行","name:en":"Japan Post Bank","name:ja":"ゆうちょ銀行"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/りそな銀行":{name:"りそな銀行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FResona%20Bank%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q11281447",amenity:"bank"},addTags:{amenity:"bank",brand:"りそな銀行","brand:en":"Resona Bank","brand:ja":"りそな銀行","brand:wikidata":"Q11281447","brand:wikipedia":"ja:りそな銀行",name:"りそな銀行","name:en":"Resona Bank","name:ja":"りそな銀行"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/三井住友銀行":{name:"三井住友銀行",icon:"maki-bank",imageURL:"https://graph.facebook.com/smbc.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2660418",amenity:"bank"},addTags:{amenity:"bank",brand:"三井住友銀行","brand:en":"Sumitomo Mitsui Banking Corporation","brand:wikidata":"Q2660418","brand:wikipedia":"en:Sumitomo Mitsui Banking Corporation",name:"三井住友銀行","name:en":"Sumitomo Mitsui Banking Corporation"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/三菱東京UFJ銀行":{name:"三菱東京UFJ銀行",icon:"maki-bank",imageURL:"https://graph.facebook.com/bk.mufg.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q988284",amenity:"bank"},addTags:{amenity:"bank",brand:"三菱東京UFJ銀行","brand:en":"MUFG Bank","brand:wikidata":"Q988284","brand:wikipedia":"en:MUFG Bank",name:"三菱東京UFJ銀行","name:en":"MUFG Bank"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/上海商業儲蓄銀行":{name:"上海商業儲蓄銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q4207208",amenity:"bank"},addTags:{amenity:"bank",brand:"上海商業儲蓄銀行","brand:en":"Shanghai Commercial and Savings Bank","brand:wikidata":"Q4207208","brand:wikipedia":"en:Shanghai Commercial and Savings Bank",name:"上海商業儲蓄銀行","name:en":"Shanghai Commercial and Savings Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/东亚银行":{name:"东亚银行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBank%20of%20East%20Asia%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q806679",amenity:"bank"},addTags:{amenity:"bank",brand:"东亚银行","brand:wikidata":"Q806679","brand:wikipedia":"en:Bank of East Asia",name:"东亚银行","name:en":"Bank of East Asia"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/中信银行":{name:"中信银行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q38960",amenity:"bank"},addTags:{amenity:"bank",brand:"中信银行","brand:en":"China CITIC Bank","brand:wikidata":"Q38960","brand:wikipedia":"en:China CITIC Bank",name:"中信银行"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/中国农业银行":{name:"中国农业银行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FAgricultural%20Bank%20of%20China%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q26298",amenity:"bank"},addTags:{amenity:"bank",brand:"中国农业银行","brand:en":"Agricultural Bank of China","brand:wikidata":"Q26298","brand:wikipedia":"en:Agricultural Bank of China",name:"中国农业银行","name:en":"Agricultural Bank of China"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/中国工商银行":{name:"中国工商银行",icon:"maki-bank",imageURL:"https://graph.facebook.com/icbcglobal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q26463",amenity:"bank"},addTags:{amenity:"bank",brand:"中国工商银行","brand:en":"Industrial and Commercial Bank of China","brand:wikidata":"Q26463","brand:wikipedia":"en:Industrial and Commercial Bank of China",name:"中国工商银行","name:en":"Industrial and Commercial Bank of China"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/中国建设银行":{name:"中国建设银行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FChina%20Construction%20Bank%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q26299",amenity:"bank"},addTags:{amenity:"bank",brand:"中国建设银行","brand:en":"China Construction Bank","brand:wikidata":"Q26299","brand:wikipedia":"en:China Construction Bank",name:"中国建设银行","name:en":"China Construction Bank"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/中国民生银行":{name:"中国民生银行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q911543",amenity:"bank"},addTags:{amenity:"bank",brand:"中国民生银行","brand:en":"China Minsheng Bank","brand:wikidata":"Q911543","brand:wikipedia":"en:China Minsheng Bank",name:"中国民生银行","name:en":"China Minsheng Bank"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/中国邮政储蓄银行":{name:"中国邮政储蓄银行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FPostal%20Savings%20Bank%20of%20China%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q986744",amenity:"bank"},addTags:{amenity:"bank",brand:"中国邮政储蓄银行","brand:en":"Postal Savings Bank of China","brand:wikidata":"Q986744","brand:wikipedia":"en:Postal Savings Bank of China",name:"中国邮政储蓄银行","name:en":"Postal Savings Bank of China"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/中国银行":{name:"中国银行",icon:"maki-bank",imageURL:"https://graph.facebook.com/bankofchina.cn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q790068",amenity:"bank"},addTags:{amenity:"bank",brand:"中国银行","brand:en":"Bank of China","brand:wikidata":"Q790068","brand:wikipedia":"en:Bank of China",name:"中国银行","name:en":"Bank of China"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/中國信託商業銀行":{name:"中國信託商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5100191",amenity:"bank"},addTags:{amenity:"bank",brand:"中國信託商業銀行","brand:en":"CTBC Bank","brand:wikidata":"Q5100191","brand:wikipedia":"en:CTBC Bank",name:"中國信託商業銀行","name:en":"CTBC Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/交通银行":{name:"交通银行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBank%20of%20Communications%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q806680",amenity:"bank"},addTags:{amenity:"bank",brand:"交通银行","brand:en":"Bank of Communications","brand:wikidata":"Q806680","brand:wikipedia":"en:Bank of Communications",name:"交通银行","name:en":"Bank of Communications"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/京城商業銀行":{name:"京城商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q10883132",amenity:"bank"},addTags:{amenity:"bank",brand:"京城商業銀行","brand:wikidata":"Q10883132","brand:wikipedia":"zh:京城商業銀行",name:"京城商業銀行"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/京都中央信用金庫":{name:"京都中央信用金庫",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q11374844",amenity:"bank"},addTags:{amenity:"bank",brand:"京都中央信用金庫","brand:en":"Kyoto Chuo Shinkin Bank","brand:wikidata":"Q11374844","brand:wikipedia":"ja:京都中央信用金庫",name:"京都中央信用金庫","name:en":"Kyoto Chuo Shinkin Bank"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/京都銀行":{name:"京都銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q11375713",amenity:"bank"},addTags:{amenity:"bank",brand:"京都銀行","brand:en":"Bank of Kyoto","brand:wikidata":"Q11375713","brand:wikipedia":"en:Bank of Kyoto",name:"京都銀行","name:en":"Bank of Kyoto"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/元大商業銀行":{name:"元大商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q10889602",amenity:"bank"},addTags:{amenity:"bank",brand:"元大商業銀行","brand:en":"Yuanta Commercial Bank","brand:wikidata":"Q10889602","brand:wikipedia":"zh:元大商業銀行",name:"元大商業銀行","name:en":"Yuanta Commercial Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/兆豐國際商業銀行":{name:"兆豐國際商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q709757",amenity:"bank"},addTags:{amenity:"bank",brand:"兆豐國際商業銀行","brand:en":"Mega International Commercial Bank","brand:wikidata":"Q709757","brand:wikipedia":"en:Mega International Commercial Bank",name:"兆豐國際商業銀行","name:en":"Mega International Commercial Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/农业银行":{name:"农业银行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FAgricultural%20Bank%20of%20China%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q26298",amenity:"bank"},addTags:{amenity:"bank",brand:"农业银行","brand:wikidata":"Q26298","brand:wikipedia":"zh:中国农业银行",name:"农业银行"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/北洋銀行":{name:"北洋銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q11402354",amenity:"bank"},addTags:{amenity:"bank",brand:"北洋銀行","brand:en":"North Pacific Bank","brand:wikidata":"Q11402354","brand:wikipedia":"ja:北洋銀行",name:"北洋銀行","name:en":"North Pacific Bank"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/北海道銀行":{name:"北海道銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q5878076",amenity:"bank"},addTags:{amenity:"bank",brand:"北海道銀行","brand:en":"Hokkaido Bank","brand:wikidata":"Q5878076","brand:wikipedia":"en:Hokkaido Bank",name:"北海道銀行","name:en":"Hokkaido Bank"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/台中商業銀行":{name:"台中商業銀行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FTcbbank%20headoffice.JPG&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q6136958",amenity:"bank"},addTags:{amenity:"bank",brand:"台中商業銀行","brand:en":"Taichung Bank","brand:wikidata":"Q6136958","brand:wikipedia":"en:Taichung Bank",name:"台中商業銀行","name:en":"Taichung Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/台北富邦商業銀行":{name:"台北富邦商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q697293",amenity:"bank"},addTags:{amenity:"bank",brand:"台北富邦商業銀行","brand:en":"Taipei Fubon Bank","brand:wikidata":"Q697293","brand:wikipedia":"en:Taipei Fubon Bank",name:"台北富邦商業銀行","name:en":"Taipei Fubon Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/台新國際商業銀行":{name:"台新國際商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q7676420",amenity:"bank"},addTags:{amenity:"bank",brand:"台新國際商業銀行","brand:en":"Taishin International Bank","brand:wikidata":"Q7676420","brand:wikipedia":"en:Taishin International Bank",name:"台新國際商業銀行","name:en":"Taishin International Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/合作金庫商業銀行":{name:"合作金庫商業銀行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FDepartment%20of%20Business%2C%20Taiwan%20Cooperative%20Bank%2020171216.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q701540",amenity:"bank"},addTags:{amenity:"bank",brand:"合作金庫商業銀行","brand:en":"Taiwan Cooperative Bank","brand:wikidata":"Q701540","brand:wikipedia":"en:Taiwan Cooperative Bank",name:"合作金庫商業銀行","name:en":"Taiwan Cooperative Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/國泰世華商業銀行":{name:"國泰世華商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q702656",amenity:"bank"},addTags:{amenity:"bank",brand:"國泰世華商業銀行","brand:en":"Cathay United Bank","brand:wikidata":"Q702656","brand:wikipedia":"en:Cathay United Bank",name:"國泰世華商業銀行","name:en":"Cathay United Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/大眾商業銀行":{name:"大眾商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q10937047",amenity:"bank"},addTags:{amenity:"bank",brand:"大眾商業銀行","brand:en":"Ta Chong Commercial Bank","brand:wikidata":"Q10937047","brand:wikipedia":"zh:大眾商業銀行",name:"大眾商業銀行","name:en":"Ta Chong Commercial Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/安泰商業銀行":{name:"安泰商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q10946952",amenity:"bank"},addTags:{amenity:"bank",brand:"安泰商業銀行","brand:en":"Entie Commercial Bank","brand:wikidata":"Q10946952","brand:wikipedia":"zh:安泰商業銀行",name:"安泰商業銀行","name:en":"Entie Commercial Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/工商银行":{name:"工商银行",icon:"maki-bank",imageURL:"https://graph.facebook.com/icbcglobal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q26463",amenity:"bank"},addTags:{amenity:"bank",brand:"工商银行","brand:en":"Industrial and Commercial Bank of China","brand:wikidata":"Q26463","brand:wikipedia":"en:Industrial and Commercial Bank of China",name:"工商银行","name:en":"Industrial and Commercial Bank of China"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/常陽銀行":{name:"常陽銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q6297774",amenity:"bank"},addTags:{amenity:"bank",brand:"常陽銀行","brand:wikidata":"Q6297774","brand:wikipedia":"en:Joyo Bank",name:"常陽銀行"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/建设银行":{name:"建设银行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FChina%20Construction%20Bank%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q26299",amenity:"bank"},addTags:{amenity:"bank",brand:"建设银行","brand:wikidata":"Q26299","brand:wikipedia":"zh:中国建设银行",name:"建设银行"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/彰化商業銀行":{name:"彰化商業銀行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FCentral%20Branch%2C%20Chang%20Hwa%20Bank%2020101213.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q5071627",amenity:"bank"},addTags:{amenity:"bank",brand:"彰化商業銀行","brand:en":"Chang Hwa Bank","brand:wikidata":"Q5071627","brand:wikipedia":"en:Chang Hwa Bank",name:"彰化商業銀行","name:en":"Chang Hwa Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/招商银行":{name:"招商银行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q1073327",amenity:"bank"},addTags:{amenity:"bank",brand:"招商银行","brand:en":"China Merchants Bank","brand:wikidata":"Q1073327","brand:wikipedia":"en:China Merchants Bank",name:"招商银行","name:en":"China Merchants Bank"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/bank/日本銀行":{name:"日本銀行",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/1695643374/medama_moji_en_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q333101",amenity:"bank"},addTags:{amenity:"bank",brand:"日本銀行","brand:en":"Bank of Japan","brand:wikidata":"Q333101","brand:wikipedia":"ja:日本銀行",name:"日本銀行","name:en":"Bank of Japan"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/東亞銀行":{name:"東亞銀行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBank%20of%20East%20Asia%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q806679",amenity:"bank"},addTags:{amenity:"bank",brand:"東亞銀行","brand:en":"Bank of East Asia","brand:wikidata":"Q806679","brand:wikipedia":"zh:東亞銀行","brand:zh-Hans":"东亚银行","brand:zh-Hant":"東亞銀行",name:"東亞銀行 BEA","name:en":"Bank of East Asia","name:zh-Hans":"东亚银行","name:zh-Hant":"東亞銀行"},countryCodes:["hk"],terms:[],matchScore:2,suggestion:true},"amenity/bank/板信商業銀行":{name:"板信商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q11104946",amenity:"bank"},addTags:{amenity:"bank",brand:"板信商業銀行","brand:en":"Bank of Panshin","brand:wikidata":"Q11104946","brand:wikipedia":"zh:板信商業銀行",name:"板信商業銀行","name:en":"Bank of Panshin"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/横浜銀行":{name:"横浜銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q2744340",amenity:"bank"},addTags:{amenity:"bank",brand:"横浜銀行","brand:en":"Bank of Yokohama","brand:wikidata":"Q2744340","brand:wikipedia":"en:Bank of Yokohama",name:"横浜銀行","name:en":"Bank of Yokohama"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/永豐商業銀行":{name:"永豐商業銀行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBank%20SinoPac%20logo%2020121103.gif&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q4855976",amenity:"bank"},addTags:{amenity:"bank",brand:"永豐商業銀行","brand:en":"Bank SinoPac","brand:wikidata":"Q4855976","brand:wikipedia":"en:Bank SinoPac",name:"永豐商業銀行","name:en":"Bank SinoPac"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/渣打國際商業銀行":{name:"渣打國際商業銀行",icon:"maki-bank",imageURL:"https://graph.facebook.com/StandardCharteredTW/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62267023",amenity:"bank"},addTags:{amenity:"bank",brand:"渣打國際商業銀行","brand:wikidata":"Q62267023",name:"渣打國際商業銀行"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/玉山商業銀行":{name:"玉山商業銀行",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FE.SUN%20Bank.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q5321663",amenity:"bank"},addTags:{amenity:"bank",brand:"玉山商業銀行","brand:en":"E.SUN Commercial Bank","brand:wikidata":"Q5321663","brand:wikipedia":"en:E.SUN Commercial Bank",name:"玉山商業銀行","name:en":"E.SUN Commercial Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/第一商業銀行":{name:"第一商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q11602128",amenity:"bank"},addTags:{amenity:"bank",brand:"第一商業銀行","brand:en":"First Commercial Bank","brand:wikidata":"Q11602128","brand:wikipedia":"zh:第一商業銀行",name:"第一商業銀行","name:en":"First Commercial Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/聯邦商業銀行":{name:"聯邦商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q15927195",amenity:"bank"},addTags:{amenity:"bank",brand:"聯邦商業銀行","brand:en":"Union Bank of Taiwan","brand:wikidata":"Q15927195","brand:wikipedia":"zh:聯邦商業銀行",name:"聯邦商業銀行","name:en":"Union Bank of Taiwan"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/臺灣中小企業銀行":{name:"臺灣中小企業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q15913812",amenity:"bank"},addTags:{amenity:"bank",brand:"臺灣中小企業銀行","brand:en":"Taiwan Business Bank","brand:wikidata":"Q15913812","brand:wikipedia":"zh:臺灣中小企業銀行",name:"臺灣中小企業銀行","name:en":"Taiwan Business Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/臺灣土地銀行":{name:"臺灣土地銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q717592",amenity:"bank"},addTags:{amenity:"bank",brand:"臺灣土地銀行","brand:en":"Land Bank of Taiwan","brand:wikidata":"Q717592","brand:wikipedia":"en:Land Bank of Taiwan",name:"臺灣土地銀行","name:en":"Land Bank of Taiwan"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/臺灣新光商業銀行":{name:"臺灣新光商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q15909616",amenity:"bank"},addTags:{amenity:"bank",brand:"臺灣新光商業銀行","brand:en":"Shin Kong Commercial Bank","brand:wikidata":"Q15909616","brand:wikipedia":"zh:臺灣新光商業銀行",name:"臺灣新光商業銀行","name:en":"Shin Kong Commercial Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/臺灣銀行":{name:"臺灣銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q706533",amenity:"bank"},addTags:{amenity:"bank",brand:"臺灣銀行","brand:en":"Bank of Taiwan","brand:wikidata":"Q706533","brand:wikipedia":"en:Bank of Taiwan",name:"臺灣銀行","name:en":"Bank of Taiwan"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/華南商業銀行":{name:"華南商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q11620043",amenity:"bank"},addTags:{amenity:"bank",brand:"華南商業銀行","brand:en":"Hua Nan Commercial Bank","brand:wikidata":"Q11620043","brand:wikipedia":"zh:華南銀行",name:"華南商業銀行","name:en":"Hua Nan Commercial Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/遠東國際商業銀行":{name:"遠東國際商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q15911143",amenity:"bank"},addTags:{amenity:"bank",brand:"遠東國際商業銀行","brand:en":"Far Eastern International Bank","brand:wikidata":"Q15911143","brand:wikipedia":"zh:遠東國際商業銀行",name:"遠東國際商業銀行","name:en":"Far Eastern International Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/陽信商業銀行":{name:"陽信商業銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q11658759",amenity:"bank"},addTags:{amenity:"bank",brand:"陽信商業銀行","brand:en":"Sunny Commercial Bank","brand:wikidata":"Q11658759","brand:wikipedia":"zh:陽信商業銀行",name:"陽信商業銀行","name:en":"Sunny Commercial Bank"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/bank/静岡銀行":{name:"静岡銀行",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q7499501",amenity:"bank"},addTags:{amenity:"bank",brand:"静岡銀行","brand:en":"Shizuoka Bank","brand:wikidata":"Q7499501","brand:wikipedia":"en:Shizuoka Bank",name:"静岡銀行","name:en":"Shizuoka Bank"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/bank/국민은행":{name:"국민은행",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FKB%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q496606",amenity:"bank"},addTags:{amenity:"bank",brand:"국민은행","brand:en":"KB Kookmin Bank","brand:ko":"국민은행","brand:wikidata":"Q496606","brand:wikipedia":"en:KB Financial Group Inc",name:"국민은행","name:en":"KB Kookmin Bank","name:ko":"국민은행"},countryCodes:["kr"],terms:["국민은행 (gungmin bank)"],matchScore:2,suggestion:true},"amenity/bank/기업은행":{name:"기업은행",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q483855",amenity:"bank"},addTags:{amenity:"bank",brand:"기업은행","brand:en":"Industrial Bank of Korea","brand:ko":"기업은행","brand:wikidata":"Q483855","brand:wikipedia":"en:Industrial Bank of Korea",name:"기업은행","name:en":"Industrial Bank of Korea","name:ko":"기업은행"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/농협":{name:"농협",icon:"maki-bank",imageURL:"https://graph.facebook.com/nhnonghyupbank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15283673",amenity:"bank"},addTags:{amenity:"bank",brand:"농협","brand:en":"NH","brand:ko":"농협","brand:wikidata":"Q15283673","brand:wikipedia":"ko:NH농협은행",name:"농협","name:en":"NH","name:ko":"농협"},countryCodes:["kr"],terms:["nh농협은행"],matchScore:2,suggestion:true},"amenity/bank/새마을금고":{name:"새마을금고",icon:"maki-bank",imageURL:"https://graph.facebook.com/kfcc.kr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12600614",amenity:"bank"},addTags:{amenity:"bank",brand:"새마을금고","brand:ko":"새마을금고","brand:wikidata":"Q12600614","brand:wikipedia":"ko:새마을금고",name:"새마을금고","name:ko":"새마을금고"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"amenity/bank/신한은행":{name:"신한은행",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q487230",amenity:"bank"},addTags:{amenity:"bank",brand:"신한은행","brand:en":"Sinhan Bank","brand:ko":"신한은행","brand:wikidata":"Q487230","brand:wikipedia":"en:Shinhan Bank",name:"신한은행","name:en":"Sinhan Bank","name:ko":"신한은행"},countryCodes:["kr"],terms:["신한은행 (sinhan bank)"],matchScore:2,suggestion:true},"amenity/bank/우리은행":{name:"우리은행",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/2838394455/1686ad262e3d37918e0830b9479d6aea_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q494369",amenity:"bank"},addTags:{amenity:"bank",brand:"우리은행","brand:en":"Woori Bank","brand:ko":"우리은행","brand:wikidata":"Q494369","brand:wikipedia":"en:Woori Bank",name:"우리은행","name:en":"Woori Bank","name:ko":"우리은행"},countryCodes:["kr"],terms:["우리은행 (uri bank)"],matchScore:2,suggestion:true},"amenity/bank/하나은행":{name:"하나은행",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/894461767065128960/SK5wN3DO_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q484047",amenity:"bank"},addTags:{amenity:"bank",brand:"하나은행","brand:en":"Korea Exchange Bank","brand:ko":"하나은행","brand:wikidata":"Q484047","brand:wikipedia":"en:Korea Exchange Bank",name:"하나은행","name:en":"Korea Exchange Bank","name:ko":"하나은행"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"amenity/bar/All Bar One":{name:"All Bar One",icon:"maki-bar",imageURL:"https://pbs.twimg.com/profile_images/717013484467306497/vjG-lkGe_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q4728624",amenity:"bar"},addTags:{amenity:"bar",brand:"All Bar One","brand:wikidata":"Q4728624","brand:wikipedia":"en:All Bar One",name:"All Bar One"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bar/Revolución de Cuba":{name:"Revolución de Cuba",icon:"maki-bar",imageURL:"https://pbs.twimg.com/profile_images/1001476884482396160/3NEm7OnI_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q64024691",amenity:"bar"},addTags:{amenity:"bar",brand:"Revolución de Cuba","brand:wikidata":"Q64024691",name:"Revolución de Cuba"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bar/Revolution":{name:"Revolution",icon:"maki-bar",imageURL:"https://graph.facebook.com/revolutionbars/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64024398",amenity:"bar"},addTags:{amenity:"bar",brand:"Revolution","brand:wikidata":"Q64024398",name:"Revolution"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/bicycle_rental/Call a Bike":{name:"Call a Bike",icon:"maki-bicycle",imageURL:"https://graph.facebook.com/callabikesharing/picture?type=large",geometry:["point","vertex","area"],tags:{"brand:wikidata":"Q1060525",amenity:"bicycle_rental"},addTags:{amenity:"bicycle_rental",brand:"Call a Bike","brand:wikidata":"Q1060525","brand:wikipedia":"en:Call a Bike",name:"Call a Bike"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/bicycle_rental/Grid":{name:"Grid",icon:"maki-bicycle",imageURL:"https://graph.facebook.com/Gridbikes/picture?type=large",geometry:["point","vertex","area"],tags:{"brand:wikidata":"Q62104168",amenity:"bicycle_rental"},addTags:{amenity:"bicycle_rental",brand:"Grid","brand:wikidata":"Q62104168",name:"Grid"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/bicycle_rental/MiBici":{name:"MiBici",icon:"maki-bicycle",imageURL:"https://graph.facebook.com/MiBiciPublica/picture?type=large",geometry:["point","vertex","area"],tags:{"brand:wikidata":"Q60966987",amenity:"bicycle_rental"},addTags:{amenity:"bicycle_rental",brand:"MiBici","brand:wikidata":"Q60966987","brand:wikipedia":"es:MiBici",name:"MiBici"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"amenity/bicycle_rental/Swapfiets":{name:"Swapfiets",icon:"maki-bicycle",imageURL:"https://graph.facebook.com/Swapfiets/picture?type=large",geometry:["point","vertex","area"],tags:{"brand:wikidata":"Q62104374",amenity:"bicycle_rental"},addTags:{amenity:"bicycle_rental",brand:"Swapfiets","brand:wikidata":"Q62104374",name:"Swapfiets"},countryCodes:["be","de","dk","nl"],terms:[],matchScore:2,suggestion:true},"amenity/bicycle_rental/metropolradruhr":{name:"metropolradruhr",icon:"maki-bicycle",imageURL:"https://graph.facebook.com/nextbike/picture?type=large",geometry:["point","vertex","area"],tags:{"brand:wikidata":"Q62104274",amenity:"bicycle_rental"},addTags:{amenity:"bicycle_rental",brand:"metropolradruhr","brand:wikidata":"Q62104274",name:"metropolradruhr"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/bicycle_rental/nextbike":{name:"nextbike",icon:"maki-bicycle",imageURL:"https://graph.facebook.com/nextbike/picture?type=large",geometry:["point","vertex","area"],tags:{"brand:wikidata":"Q2351279",amenity:"bicycle_rental"},addTags:{amenity:"bicycle_rental",brand:"nextbike","brand:wikidata":"Q2351279","brand:wikipedia":"de:Nextbike",name:"nextbike"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"amenity/bureau_de_change/CADECA":{name:"CADECA",icon:"maki-bank",imageURL:"https://graph.facebook.com/CadecaCasasdeCambioOficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62122716",amenity:"bureau_de_change"},addTags:{amenity:"bureau_de_change",brand:"CADECA","brand:wikidata":"Q62122716",name:"CADECA"},countryCodes:["cu"],terms:[],matchScore:2,suggestion:true},"amenity/bureau_de_change/Travelex":{name:"Travelex",icon:"maki-bank",imageURL:"https://graph.facebook.com/TravelexUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2337964",amenity:"bureau_de_change"},addTags:{amenity:"bureau_de_change",brand:"Travelex","brand:wikidata":"Q2337964","brand:wikipedia":"en:Travelex",name:"Travelex"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/85°C":{name:"85°C",icon:"maki-cafe",imageURL:"https://graph.facebook.com/85CBakeryCafe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4644852",amenity:"cafe"},addTags:{alt_name:"85C",amenity:"cafe",brand:"85°C","brand:wikidata":"Q4644852","brand:wikipedia":"en:85C Bakery Cafe",cuisine:"coffee_shop;chinese",name:"85°C",takeaway:"yes"},countryCodes:["au","us"],terms:["85 cafe","85 degrees","85 degrees c","85 degrees celsius","85c bakery cafe","85c daily cafe","85oc"],matchScore:2,suggestion:true},"amenity/cafe/85度C":{name:"85度C",icon:"maki-cafe",imageURL:"https://graph.facebook.com/85CBakeryCafe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4644852",amenity:"cafe"},addTags:{amenity:"cafe",brand:"85度C","brand:en":"85C Bakery Cafe","brand:wikidata":"Q4644852","brand:wikipedia":"en:85C Bakery Cafe",cuisine:"coffee_shop",name:"85度C","name:en":"85C Bakery Cafe",takeaway:"yes"},countryCodes:["cn","tw"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Aroma Espresso Bar":{name:"Aroma Espresso Bar",icon:"maki-cafe",imageURL:"https://graph.facebook.com/Israel.Aroma/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2909872",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Aroma Espresso Bar","brand:wikidata":"Q2909872","brand:wikipedia":"en:Aroma Espresso Bar",cuisine:"coffee_shop",name:"Aroma Espresso Bar",takeaway:"yes"},countryCodes:["ca","kz","ro","ua","us"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Barista":{name:"Barista",icon:"maki-cafe",imageURL:"https://graph.facebook.com/BaristaCoffeeCompany/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q644735",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Barista","brand:wikidata":"Q644735","brand:wikipedia":"en:Barista (company)",cuisine:"coffee_shop",name:"Barista",takeaway:"yes"},countryCodes:["in","lk","mv","np"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Beck's Coffe Shop":{name:"Beck's Coffe Shop",icon:"maki-cafe",imageURL:"https://pbs.twimg.com/profile_images/773289632230322180/YtO0yEVy_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q11191008",amenity:"cafe"},addTags:{alt_name:"ベックス・コーヒーショップ",amenity:"cafe",brand:"Beck's Coffe Shop","brand:wikidata":"Q11191008","brand:wikipedia":"ja:Beck's Coffe Shop",cuisine:"coffee_shop",name:"Beck's Coffe Shop",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Biggby Coffee":{name:"Biggby Coffee",icon:"maki-cafe",imageURL:"https://graph.facebook.com/BiggbyCoffee.Bhappy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4906876",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Biggby Coffee","brand:wikidata":"Q4906876","brand:wikipedia":"en:Biggby Coffee",cuisine:"coffee_shop",name:"Biggby Coffee",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Black Rock Coffee":{name:"Black Rock Coffee",icon:"maki-cafe",imageURL:"https://pbs.twimg.com/profile_images/705857382715293696/SEQJftR7_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q64225934",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Black Rock Coffee","brand:wikidata":"Q64225934",cuisine:"coffee_shop",name:"Black Rock Coffee",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Bonafide":{name:"Bonafide",icon:"maki-cafe",imageURL:"https://graph.facebook.com/BonafideArgentina/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62122746",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Bonafide","brand:wikidata":"Q62122746",cuisine:"coffee_shop",name:"Bonafide",takeaway:"yes"},countryCodes:["ar","cl"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Bridgehead":{name:"Bridgehead",icon:"maki-cafe",imageURL:"https://pbs.twimg.com/profile_images/1112740662041030656/nX5CaG2O_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q4966509",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Bridgehead","brand:wikidata":"Q4966509","brand:wikipedia":"en:Bridgehead Coffee",cuisine:"coffee_shop",name:"Timothy's",takeaway:"yes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Cafe Coffee Day":{name:"Cafe Coffee Day",icon:"maki-cafe",imageURL:"https://graph.facebook.com/cafecoffeeday/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5017235",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Cafe Coffee Day","brand:wikidata":"Q5017235","brand:wikipedia":"en:Café Coffee Day",cuisine:"coffee_shop",name:"Cafe Coffee Day",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/Caffè Nero":{name:"Caffè Nero",icon:"maki-cafe",imageURL:"https://graph.facebook.com/caffenerous/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q675808",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Caffè Nero","brand:wikidata":"Q675808","brand:wikipedia":"en:Caffè Nero",cuisine:"coffee_shop",name:"Caffè Nero",takeaway:"yes"},countryCodes:["gb","ie","tr","us"],terms:["cafe nero"],matchScore:2,suggestion:true},"amenity/cafe/Café Amazon":{name:"Café Amazon",icon:"maki-cafe",imageURL:"https://graph.facebook.com/cafeamazonofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q43247503",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Café Amazon","brand:wikidata":"Q43247503","brand:wikipedia":"en:Café Amazon",cuisine:"coffee_shop",name:"Café Amazon",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/Café Dépôt":{name:"Café Dépôt",icon:"maki-cafe",imageURL:"https://graph.facebook.com/cafedepot.ca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64924449",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Café Dépôt","brand:wikidata":"Q64924449",cuisine:"coffee_shop;cake;bagel;bistro",name:"Café Dépôt",takeaway:"yes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Café Martínez":{name:"Café Martínez",icon:"maki-cafe",imageURL:"https://graph.facebook.com/CafeMartinezSitioOficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16540032",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Café Martínez","brand:wikidata":"Q16540032","brand:wikipedia":"es:Café Martínez",cuisine:"coffee_shop",name:"Café Martínez",takeaway:"yes"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Caribou Coffee":{name:"Caribou Coffee",icon:"maki-cafe",imageURL:"https://graph.facebook.com/cariboucoffee/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5039494",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Caribou Coffee","brand:wikidata":"Q5039494","brand:wikipedia":"en:Caribou Coffee",cuisine:"coffee_shop",name:"Caribou Coffee",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/Chatime":{name:"Chatime",icon:"maki-cafe",imageURL:"https://graph.facebook.com/ChatimeCanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16829306",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Chatime","brand:en":"Chatime","brand:wikidata":"Q16829306","brand:wikipedia":"en:Chatime","brand:zh":"日出茶太",cuisine:"bubble_tea",name:"Chatime","name:en":"Chatime","name:zh":"日出茶太",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/CoCo":{name:"CoCo",icon:"maki-cafe",geometry:["point","area"],tags:{"brand:wikidata":"Q64827025",amenity:"cafe"},addTags:{amenity:"cafe",brand:"CoCo","brand:wikidata":"Q64827025",cuisine:"bubble_tea",name:"Coco",takeaway:"yes"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Coffee Fellows":{name:"Coffee Fellows",icon:"maki-cafe",imageURL:"https://graph.facebook.com/CoffeeFellowsDeutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23461429",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Coffee Fellows","brand:wikidata":"Q23461429","brand:wikipedia":"en:Coffee Fellows",cuisine:"coffee_shop",name:"Coffee Fellows",takeaway:"yes"},countryCodes:["de","lu","nl"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Coffee House (Finland)":{name:"Coffee House (Finland)",icon:"maki-cafe",imageURL:"https://graph.facebook.com/raflaamo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11855430",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Coffee House","brand:wikidata":"Q11855430","brand:wikipedia":"fi:Coffee House",cuisine:"coffee_shop",name:"Coffee House",takeaway:"yes"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Coffee Island":{name:"Coffee Island",icon:"maki-cafe",imageURL:"https://graph.facebook.com/CoffeeIslandUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60867333",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Coffee Island","brand:wikidata":"Q60867333","brand:wikipedia":"en:Coffee Island",cuisine:"coffee_shop",name:"Coffee Island",takeaway:"yes"},countryCodes:["cy","gr"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Coffee Time":{name:"Coffee Time",icon:"maki-cafe",imageURL:"https://graph.facebook.com/CoffeeTimeCanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5140932",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Coffee Time","brand:wikidata":"Q5140932","brand:wikipedia":"en:Coffee Time",cuisine:"coffee_shop",name:"Coffee Time",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/Cofix":{name:"Cofix",icon:"maki-cafe",imageURL:"https://graph.facebook.com/Cofix.co.il/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16132717",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Cofix","brand:en":"Cofix","brand:he":"קפויקס","brand:wikidata":"Q16132717","brand:wikipedia":"he:קופיקס",cuisine:"coffee_shop",name:"Cofix","name:en":"Cofix","name:he":"קופיקס",takeaway:"yes"},countryCodes:["il","ru"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Cofizz":{name:"Cofizz",icon:"maki-cafe",geometry:["point","area"],tags:{"brand:wikidata":"Q64606270",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Cofizz","brand:en":"Cofizz","brand:he":"קופיז","brand:wikidata":"Q64606270",cuisine:"coffee_shop",name:"Cofizz","name:en":"Cofizz","name:he":"קופיז",takeaway:"yes"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Costa":{name:"Costa",icon:"maki-cafe",imageURL:"https://graph.facebook.com/costacoffee/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q608845",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Costa","brand:wikidata":"Q608845","brand:wikipedia":"en:Costa Coffee",cuisine:"coffee_shop",name:"Costa",takeaway:"yes"},terms:["costa coffee"],matchScore:2,suggestion:true},"amenity/cafe/Country Style":{name:"Country Style",icon:"maki-cafe",imageURL:"https://graph.facebook.com/CountryStyleCDN/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5177435",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Country Style","brand:wikidata":"Q5177435","brand:wikipedia":"en:Country Style",cuisine:"coffee_shop",name:"Country Style",takeaway:"yes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Cộng Cà Phê":{name:"Cộng Cà Phê",icon:"maki-cafe",imageURL:"https://graph.facebook.com/congcaphe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63864181",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Cộng Cà Phê","brand:wikidata":"Q63864181",cuisine:"coffee_shop;vietnamese",name:"Cộng Cà Phê","name:vi":"Cộng Cà Phê",takeaway:"yes"},countryCodes:["kr","vn"],terms:["cong"],matchScore:2,suggestion:true},"amenity/cafe/Dutch Bros. Coffee":{name:"Dutch Bros. Coffee",icon:"maki-cafe",imageURL:"https://graph.facebook.com/dutchbros/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5317253",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Dutch Bros. Coffee","brand:wikidata":"Q5317253","brand:wikipedia":"en:Dutch Bros. Coffee",cuisine:"coffee_shop",name:"Dutch Bros. Coffee",takeaway:"only"},countryCodes:["us"],terms:["dutch bros","dutch brothers"],matchScore:2,suggestion:true},"amenity/cafe/Espresso House":{name:"Espresso House",icon:"maki-cafe",imageURL:"https://graph.facebook.com/EspressoHouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10489162",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Espresso House","brand:wikidata":"Q10489162","brand:wikipedia":"en:Espresso House",cuisine:"coffee_shop",name:"Espresso House",takeaway:"yes"},countryCodes:["dk","fi","no","se"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Fran's Café":{name:"Fran's Café",icon:"maki-cafe",imageURL:"https://graph.facebook.com/franscafeoficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62075645",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Fran's Café","brand:website":"http://www.franscafe.com.br","brand:wikidata":"Q62075645",cuisine:"coffee_shop",name:"Fran's Café",takeaway:"yes"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Gong Cha (Vietnam)":{name:"Gong Cha (Vietnam)",icon:"maki-cafe",imageURL:"https://graph.facebook.com/GongChaTaiwan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5581670",amenity:"cafe"},addTags:{"alt_name:vi":"Cống Trà",amenity:"cafe",brand:"Gong Cha","brand:vi":"Gong Cha","brand:wikidata":"Q5581670","brand:wikipedia":"vi:Gong Cha","brand:zh":"貢茶",cuisine:"bubble_tea",name:"Gong Cha","name:vi":"Gong Cha","name:zh":"貢茶",takeaway:"yes"},countryCodes:["vn"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Gong Cha (worldwide)":{name:"Gong Cha (worldwide)",icon:"maki-cafe",imageURL:"https://graph.facebook.com/GongChaTaiwan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5581670",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Gong Cha","brand:wikidata":"Q5581670","brand:wikipedia":"en:Gong Cha","brand:zh":"貢茶",cuisine:"bubble_tea",int_name:"Gong Cha",name:"Gong Cha","name:zh":"貢茶",takeaway:"yes"},countryCodes:["au","bn","ca","mm","mo","my","nz","ph","sg","us"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Havanna":{name:"Havanna",icon:"maki-cafe",imageURL:"https://graph.facebook.com/HavannaUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2900869",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Havanna","brand:wikidata":"Q2900869","brand:wikipedia":"es:Havanna",cuisine:"coffee_shop",name:"Havanna",takeaway:"yes"},countryCodes:["ar","pe"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Highlands Coffee":{name:"Highlands Coffee",icon:"maki-cafe",imageURL:"https://graph.facebook.com/highlandscoffeevietnam/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5759361",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Highlands Coffee","brand:wikidata":"Q5759361","brand:wikipedia":"vi:Highlands Coffee",cuisine:"coffee_shop;vietnamese",name:"Highlands Coffee","name:en":"Highlands Coffee",takeaway:"yes"},countryCodes:["vn"],terms:["highlands"],matchScore:2,suggestion:true},"amenity/cafe/Insomnia":{name:"Insomnia",icon:"maki-cafe",imageURL:"https://graph.facebook.com/InsomniaCoffeeCo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6038271",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Insomnia","brand:wikidata":"Q6038271","brand:wikipedia":"en:Insomnia Coffee Company",cuisine:"coffee_shop",name:"Insomnia",takeaway:"yes"},countryCodes:["ie"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Joe & The Juice":{name:"Joe & The Juice",icon:"maki-cafe",imageURL:"https://graph.facebook.com/joeandthejuice/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q26221514",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Joe & The Juice","brand:wikidata":"Q26221514","brand:wikipedia":"en:Joe & The Juice",cuisine:"coffee_shop",name:"Joe & The Juice",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/La Colombe Coffee Roasters":{name:"La Colombe Coffee Roasters",icon:"maki-cafe",imageURL:"https://graph.facebook.com/lacolombecoffee/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23461663",amenity:"cafe"},addTags:{amenity:"cafe",brand:"La Colombe Coffee Roasters","brand:wikidata":"Q23461663","brand:wikipedia":"en:La Colombe Coffee Roasters",cuisine:"coffee_shop",name:"La Colombe Coffee Roasters",short_name:"La Colombe",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Le Pain Quotidien":{name:"Le Pain Quotidien",icon:"maki-cafe",imageURL:"https://graph.facebook.com/lepainquotidienusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2046903",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Le Pain Quotidien","brand:wikidata":"Q2046903","brand:wikipedia":"en:Le Pain Quotidien",cuisine:"coffee_shop",name:"Le Pain Quotidien",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/Mado":{name:"Mado",icon:"maki-cafe",imageURL:"https://graph.facebook.com/MADOglobal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17116336",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Mado","brand:wikidata":"Q17116336","brand:wikipedia":"en:Mado (food company)",cuisine:"coffee_shop",name:"Mado",takeaway:"yes"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/McCafé":{name:"McCafé",icon:"maki-cafe",imageURL:"https://graph.facebook.com/276517512552782/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3114287",amenity:"cafe"},addTags:{amenity:"cafe",brand:"McCafé","brand:wikidata":"Q3114287","brand:wikipedia":"en:McCafé",cuisine:"coffee_shop",name:"McCafé",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/Patisserie Valerie":{name:"Patisserie Valerie",icon:"maki-cafe",imageURL:"https://graph.facebook.com/patisserievalerie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q22101966",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Patisserie Valerie","brand:wikidata":"Q22101966","brand:wikipedia":"en:Patisserie Valerie",cuisine:"coffee_shop",name:"Patisserie Valerie",takeaway:"yes"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Peet's Coffee":{name:"Peet's Coffee",icon:"maki-cafe",imageURL:"https://graph.facebook.com/peets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1094101",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Peet's Coffee","brand:wikidata":"Q1094101","brand:wikipedia":"en:Peet's Coffee",cuisine:"coffee_shop",name:"Peet's Coffee",takeaway:"yes"},countryCodes:["us"],terms:["peets","peets coffee & tea"],matchScore:2,suggestion:true},"amenity/cafe/Prime":{name:"Prime",icon:"maki-cafe",imageURL:"https://graph.facebook.com/PRIMENATURALFOOD/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62122839",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Prime","brand:wikidata":"Q62122839",cuisine:"coffee_shop",name:"Prime",takeaway:"yes"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Pronto":{name:"Pronto",icon:"maki-cafe",imageURL:"https://pbs.twimg.com/profile_images/1002458417733120000/lQc9dDWQ_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q11336224",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Pronto","brand:wikidata":"Q11336224","brand:wikipedia":"ja:プロントコーポレーション",cuisine:"coffee_shop",name:"Pronto","name:ja":"プロント",takeaway:"yes"},countryCodes:["jp"],terms:["プロント"],matchScore:2,suggestion:true},"amenity/cafe/Pumpkin":{name:"Pumpkin",icon:"maki-cafe",geometry:["point","area"],tags:{"brand:wikidata":"Q27825961",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Pumpkin","brand:wikidata":"Q27825961","brand:wikipedia":"en:Pumpkin Café Shop",cuisine:"coffee_shop",name:"Pumpkin",takeaway:"yes"},countryCodes:["gb"],terms:["pumpkin cafe","pumpkin cafe shop"],matchScore:2,suggestion:true},"amenity/cafe/Quickly":{name:"Quickly",icon:"maki-cafe",imageURL:"https://graph.facebook.com/quicklyphilippines/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3771463",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Quickly","brand:en":"Quickly","brand:wikidata":"Q3771463","brand:wikipedia":"en:Quickly","brand:zh":"快可立",cuisine:"bubble_tea",name:"Quickly","name:en":"Quickly","name:zh":"快可立",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/Second Cup":{name:"Second Cup",icon:"maki-cafe",imageURL:"https://graph.facebook.com/SecondCup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q862180",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Second Cup","brand:wikidata":"Q862180","brand:wikipedia":"en:Second Cup",cuisine:"coffee_shop",name:"Second Cup",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/Segafredo":{name:"Segafredo",icon:"maki-cafe",imageURL:"https://graph.facebook.com/SegafredoZanettiItalia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q21282762",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Segafredo","brand:wikidata":"Q21282762","brand:wikipedia":"it:Segafredo Zanetti",cuisine:"coffee_shop",name:"Segafredo",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/Sharetea":{name:"Sharetea",icon:"maki-cafe",geometry:["point","area"],tags:{"brand:wikidata":"Q64827032",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Sharetea","brand:wikidata":"Q64827032",cuisine:"bubble_tea",name:"Sharetea","name:en":"Sharetea","name:zh":"歇腳亭",takeaway:"yes"},countryCodes:["au","us"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Starbucks":{name:"Starbucks",icon:"maki-cafe",imageURL:"https://graph.facebook.com/Starbucks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q37158",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Starbucks","brand:wikidata":"Q37158","brand:wikipedia":"en:Starbucks",cuisine:"coffee_shop",name:"Starbucks",official_name:"Starbucks Coffee",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/The Coffee Bean & Tea Leaf":{name:"The Coffee Bean & Tea Leaf",icon:"maki-cafe",imageURL:"https://graph.facebook.com/thecoffeebean/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1141384",amenity:"cafe"},addTags:{amenity:"cafe",brand:"The Coffee Bean & Tea Leaf","brand:wikidata":"Q1141384","brand:wikipedia":"en:The Coffee Bean & Tea Leaf",cuisine:"coffee_shop",name:"The Coffee Bean & Tea Leaf",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/The Coffee Club":{name:"The Coffee Club",icon:"maki-cafe",imageURL:"https://graph.facebook.com/tccau/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7726599",amenity:"cafe"},addTags:{amenity:"cafe",brand:"The Coffee Club","brand:wikidata":"Q7726599","brand:wikipedia":"en:The Coffee Club",cuisine:"coffee_shop",name:"The Coffee Club",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/The Coffee House (Vietnam)":{name:"The Coffee House (Vietnam)",icon:"maki-cafe",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FThe%20Coffee%20House%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q60775742",amenity:"cafe"},addTags:{amenity:"cafe",brand:"The Coffee House","brand:wikidata":"Q60775742","brand:wikipedia":"en:The Coffee House (coffeehouse chain)",cuisine:"coffee_shop;vietnamese",name:"The Coffee House","name:en":"The Coffee House",takeaway:"yes"},countryCodes:["vn"],terms:["coffee house"],matchScore:2,suggestion:true},"amenity/cafe/The Human Bean":{name:"The Human Bean",icon:"maki-cafe",imageURL:"https://graph.facebook.com/HumanBeanNoCo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7740821",amenity:"cafe"},addTags:{amenity:"cafe",brand:"The Human Bean","brand:wikidata":"Q7740821","brand:wikipedia":"en:The Human Bean",cuisine:"coffee_shop",name:"The Human Bean",takeaway:"yes"},countryCodes:["us"],terms:["human bean"],matchScore:2,suggestion:true},"amenity/cafe/Tim Hortons":{name:"Tim Hortons",icon:"maki-cafe",imageURL:"https://graph.facebook.com/TimHortonsUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q175106",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Tim Hortons","brand:wikidata":"Q175106","brand:wikipedia":"en:Tim Hortons",cuisine:"coffee_shop",name:"Tim Hortons",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/Timothy's":{name:"Timothy's",icon:"maki-cafe",imageURL:"https://graph.facebook.com/TimothysCafes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7807011",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Timothy's","brand:wikidata":"Q7807011","brand:wikipedia":"en:Timothy's World Coffee",cuisine:"coffee_shop",name:"Timothy's",takeaway:"yes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Traveler's Coffee":{name:"Traveler's Coffee",icon:"maki-cafe",imageURL:"https://graph.facebook.com/TravelersCoffeeMoscow/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4051716",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Traveler's Coffee","brand:wikidata":"Q4051716","brand:wikipedia":"ru:Traveler’s Coffee",cuisine:"coffee_shop",name:"Traveler's Coffee",takeaway:"yes"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Trung Nguyên Coffee":{name:"Trung Nguyên Coffee",icon:"maki-cafe",imageURL:"https://graph.facebook.com/trungnguyenlegend/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3541154",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Trung Nguyên","brand:wikidata":"Q3541154","brand:wikipedia":"vi:Trung Nguyên (công ty)",cuisine:"coffee_shop;vietnamese",name:"Trung Nguyên Coffee","name:en":"Trung Nguyen Coffee","name:vi":"Cà phê Trung Nguyên",takeaway:"yes"},countryCodes:["vn"],terms:["trung nguyen"],matchScore:2,suggestion:true},"amenity/cafe/Wayne's Coffee":{name:"Wayne's Coffee",icon:"maki-cafe",imageURL:"https://graph.facebook.com/WaynesCoffeeInternational/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2637272",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Wayne's Coffee","brand:wikidata":"Q2637272","brand:wikipedia":"en:Wayne's Coffee",cuisine:"coffee_shop",name:"Wayne's Coffee",takeaway:"yes"},countryCodes:["fi","no","se"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Wild Bean Cafe":{name:"Wild Bean Cafe",icon:"maki-cafe",geometry:["point","area"],tags:{"brand:wikidata":"Q61804826",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Wild Bean Cafe","brand:wikidata":"Q61804826",cuisine:"coffee_shop",name:"Wild Bean Cafe",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/cafe/Даблби":{name:"Даблби",icon:"maki-cafe",imageURL:"https://graph.facebook.com/DoubleBCoffeeTea/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62501686",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Даблби","brand:en":"Double B","brand:wikidata":"Q62501686",cuisine:"coffee_shop",name:"Даблби","name:en":"Double B",takeaway:"yes"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Старбакс":{name:"Старбакс",icon:"maki-cafe",imageURL:"https://graph.facebook.com/Starbucks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q37158",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Старбакс","brand:en":"Starbucks","brand:wikidata":"Q37158","brand:wikipedia":"en:Starbucks",cuisine:"coffee_shop",name:"Старбакс","name:en":"Starbucks",takeaway:"yes"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/Шоколадница":{name:"Шоколадница",icon:"maki-cafe",imageURL:"https://graph.facebook.com/shoko.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q30891188",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Шоколадница","brand:en":"Chocolate","brand:wikidata":"Q30891188","brand:wikipedia":"ru:Шоколадница (сеть кофеен)",cuisine:"coffee_shop",name:"Шоколадница","name:en":"Chocolate",takeaway:"yes"},countryCodes:["ru"],terms:["шоколад"],matchScore:2,suggestion:true},"amenity/cafe/Штолле":{name:"Штолле",icon:"maki-cafe",imageURL:"https://graph.facebook.com/stollerussia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62502236",amenity:"cafe"},addTags:{amenity:"cafe",brand:"Штолле","brand:en":"Stolle","brand:wikidata":"Q62502236",cuisine:"coffee_shop",name:"Штолле","name:en":"Stolle",takeaway:"yes"},countryCodes:["by","ru","ua"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/ארומה":{name:"ארומה",icon:"maki-cafe",imageURL:"https://graph.facebook.com/Israel.Aroma/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2909872",amenity:"cafe"},addTags:{amenity:"cafe",brand:"ארומה","brand:en":"Aroma Espresso Bar","brand:he":"ארומה","brand:wikidata":"Q2909872","brand:wikipedia":"en:Aroma Espresso Bar",cuisine:"coffee_shop",name:"ארומה","name:en":"Aroma Espresso Bar","name:he":"ארומה",takeaway:"yes"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/לנדוור":{name:"לנדוור",icon:"maki-cafe",imageURL:"https://graph.facebook.com/cafelandwer/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6485288",amenity:"cafe"},addTags:{amenity:"cafe",brand:"קפה לנדוור","brand:en":"Landwer Coffee","brand:he":"קפה לנדוור","brand:wikidata":"Q6485288","brand:wikipedia":"he:קפה לנדוור",cuisine:"coffee_shop",name:"לנדוור","name:en":"Landwer","name:he":"לנדוור",takeaway:"yes"},countryCodes:["il"],terms:["קפה לדנוור"],matchScore:2,suggestion:true},"amenity/cafe/סי קפה":{name:"סי קפה",icon:"maki-cafe",imageURL:"https://graph.facebook.com/242590255775924/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64606227",amenity:"cafe"},addTags:{alt_name:"סי אספרסו","alt_name:en":"Si Espresso","alt_name:he":"סי אספרסו",amenity:"cafe",brand:"סי קפה","brand:en":"Si Cafe","brand:he":"סי קפה","brand:wikidata":"Q64606227",cuisine:"coffee_shop",name:"סי קפה","name:en":"Si Cafe","name:he":"סי קפה",takeaway:"yes"},countryCodes:["il"],terms:["si cafe","si espresso"],matchScore:2,suggestion:true},"amenity/cafe/קפה ג'ו":{name:"קפה ג'ו",icon:"maki-cafe",imageURL:"https://graph.facebook.com/cafejoe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6774425",amenity:"cafe"},addTags:{alt_name:"קפה Joe",amenity:"cafe",brand:"קפה ג'ו","brand:en":"Cafe Joe","brand:he":"קפה ג'ו","brand:wikidata":"Q6774425","brand:wikipedia":"he:קפה ג'ו",cuisine:"coffee_shop",name:"קפה ג'ו","name:en":"Cafe Joe","name:he":"קפה ג'ו",takeaway:"yes"},countryCodes:["il"],terms:["ג'ו קפה"],matchScore:2,suggestion:true},"amenity/cafe/קפה גרג":{name:"קפה גרג",icon:"maki-cafe",imageURL:"https://graph.facebook.com/gregcafe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q43295499",amenity:"cafe"},addTags:{amenity:"cafe",brand:"קפה גרג","brand:en":"Greg Cafe","brand:he":"קפה גרג","brand:wikidata":"Q43295499","brand:wikipedia":"he:קפה גרג",cuisine:"coffee_shop",name:"קפה גרג","name:en":"Greg Cafe","name:he":"קפה גרג",takeaway:"yes"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/קפה נמרוד":{name:"קפה נמרוד",icon:"maki-cafe",imageURL:"https://graph.facebook.com/cafenimrod/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64606192",amenity:"cafe"},addTags:{amenity:"cafe",brand:"קפה נמרוד","brand:en":"Cafe Nimrod","brand:he":"קפה נמרוד","brand:wikidata":"Q64606192",cuisine:"coffee_shop",name:"קפה נמרוד","name:en":"Cafe Nimrod","name:he":"קפה נמרוד",takeaway:"yes"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/קפה קפה":{name:"קפה קפה",icon:"maki-cafe",imageURL:"https://graph.facebook.com/cafe.cafe.il/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5017233",amenity:"cafe"},addTags:{amenity:"cafe",brand:"קפה קפה","brand:en":"Cafe Cafe","brand:he":"קפה קפה","brand:wikidata":"Q5017233","brand:wikipedia":"he:קפה קפה",cuisine:"coffee_shop",name:"קפה קפה","name:en":"Cafe Cafe","name:he":"קפה קפה",takeaway:"yes"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/רולדין":{name:"רולדין",icon:"maki-cafe",geometry:["point","area"],tags:{"brand:wikidata":"Q18390972",amenity:"cafe"},addTags:{amenity:"cafe",brand:"רולדין","brand:en":"Roladin","brand:he":"רולדין","brand:wikidata":"Q18390972","brand:wikipedia":"he:רולדין",cuisine:"coffee_shop",name:"רולדין","name:en":"Roladin","name:he":"רולדין",takeaway:"yes"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/คาเฟ่ อเมซอน":{name:"คาเฟ่ อเมซอน",icon:"maki-cafe",imageURL:"https://graph.facebook.com/cafeamazonofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q43247503",amenity:"cafe"},addTags:{amenity:"cafe",brand:"คาเฟ่ อเมซอน","brand:en":"Café Amazon","brand:th":"คาเฟ่ อเมซอน","brand:wikidata":"Q43247503","brand:wikipedia":"en:Café Amazon",cuisine:"coffee_shop",name:"คาเฟ่ อเมซอน","name:en":"Café Amazon","name:th":"คาเฟ่ อเมซอน",takeaway:"yes"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/エクセルシオール カフェ":{name:"エクセルシオール カフェ",icon:"maki-cafe",geometry:["point","area"],tags:{"brand:wikidata":"Q11289828",amenity:"cafe"},addTags:{amenity:"cafe",brand:"エクセルシオール カフェ","brand:en":"EXCELSIOR CAFFÉ","brand:ja":"エクセルシオール カフェ","brand:wikidata":"Q11289828","brand:wikipedia":"ja:エクセルシオール カフェ",cuisine:"coffee_shop",name:"エクセルシオール カフェ","name:ja":"エクセルシオール カフェ",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/カフェ・ド・クリエ":{name:"カフェ・ド・クリエ",icon:"maki-cafe",imageURL:"https://graph.facebook.com/pokkacreate/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17219077",amenity:"cafe"},addTags:{amenity:"cafe",brand:"カフェ・ド・クリエ","brand:en":"Cafe de CRIE","brand:ja":"カフェ・ド・クリエ","brand:wikidata":"Q17219077","brand:wikipedia":"ja:ポッカクリエイト",cuisine:"coffee_shop",name:"カフェ・ド・クリエ","name:en":"Cafe de CRIE","name:ja":"カフェ・ド・クリエ",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/カフェ・ベローチェ":{name:"カフェ・ベローチェ",icon:"maki-cafe",imageURL:"https://graph.facebook.com/ChatnoirCo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11294597",amenity:"cafe"},addTags:{amenity:"cafe",brand:"カフェ・ベローチェ","brand:en":"CAFFÈ VELOCE","brand:ja":"カフェ・ベローチェ","brand:wikidata":"Q11294597","brand:wikipedia":"ja:カフェ・ベローチェ",cuisine:"coffee_shop",name:"カフェ・ベローチェ","name:en":"CAFFÈ VELOCE","name:ja":"カフェ・ベローチェ",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/コメダ珈琲店":{name:"コメダ珈琲店",icon:"maki-cafe",imageURL:"https://graph.facebook.com/komeda.coffee/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11302679",amenity:"cafe"},addTags:{amenity:"cafe",brand:"コメダ珈琲店","brand:en":"Komeda Coffee Shop","brand:ja":"コメダ珈琲店","brand:wikidata":"Q11302679","brand:wikipedia":"ja:コメダ",cuisine:"coffee_shop",name:"コメダ珈琲店","name:en":"Komeda Coffee Shop","name:ja":"コメダ珈琲店",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/サンマルクカフェ":{name:"サンマルクカフェ",icon:"maki-cafe",imageURL:"https://graph.facebook.com/saintmarccafephilippines/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11305989",amenity:"cafe"},addTags:{"alt_name:en":"Saint Marc Café",amenity:"cafe",brand:"サンマルクカフェ","brand:en":"ST.MARC CAFÉ","brand:ja":"サンマルクカフェ","brand:wikidata":"Q11305989","brand:wikipedia":"ja:サンマルクホールディングス",cuisine:"coffee_shop",name:"サンマルクカフェ","name:en":"ST.MARC CAFÉ","name:ja":"サンマルクカフェ",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/スターバックス":{name:"スターバックス",icon:"maki-cafe",imageURL:"https://graph.facebook.com/Starbucks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q37158",amenity:"cafe"},addTags:{amenity:"cafe",brand:"スターバックス","brand:en":"Starbucks","brand:ja":"スターバックス","brand:wikidata":"Q37158","brand:wikipedia":"ja:スターバックス",cuisine:"coffee_shop",name:"スターバックス","name:en":"Starbucks","name:ja":"スターバックス",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/タリーズコーヒー":{name:"タリーズコーヒー",icon:"maki-cafe",imageURL:"https://graph.facebook.com/TullysCoffeeShops/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3541983",amenity:"cafe"},addTags:{amenity:"cafe",brand:"タリーズコーヒー","brand:en":"Tully's Coffee","brand:ja":"タリーズコーヒー","brand:wikidata":"Q3541983","brand:wikipedia":"en:Tully's Coffee",cuisine:"coffee_shop",name:"タリーズコーヒー","name:en":"Tully's Coffee","name:ja":"タリーズコーヒー",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/ドトールコーヒーショップ":{name:"ドトールコーヒーショップ",icon:"maki-cafe",imageURL:"https://graph.facebook.com/Fun.Doutor.Fan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11322732",amenity:"cafe"},addTags:{amenity:"cafe",brand:"ドトールコーヒーショップ","brand:en":"Doutor","brand:ja":"ドトールコーヒーショップ","brand:wikidata":"Q11322732","brand:wikipedia":"ja:ドトールコーヒーショップ",cuisine:"coffee_shop",name:"ドトールコーヒーショップ","name:en":"Doutor Coffee Shop","name:ja":"ドトールコーヒーショップ",takeaway:"yes"},countryCodes:["jp"],terms:["ドトールコーヒー"],matchScore:2,suggestion:true},"amenity/cafe/快可立":{name:"快可立",icon:"maki-cafe",imageURL:"https://graph.facebook.com/quicklyphilippines/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3771463",amenity:"cafe"},addTags:{amenity:"cafe",brand:"快可立","brand:en":"Quickly","brand:wikidata":"Q3771463","brand:wikipedia":"zh:快可立","brand:zh":"快可立",cuisine:"bubble_tea",name:"快可立","name:en":"Quickly","name:zh":"快可立",takeaway:"yes"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/日出茶太":{name:"日出茶太",icon:"maki-cafe",imageURL:"https://graph.facebook.com/ChatimeCanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16829306",amenity:"cafe"},addTags:{amenity:"cafe",brand:"日出茶太","brand:en":"Chatime","brand:wikidata":"Q16829306","brand:wikipedia":"zh:日出茶太","brand:zh":"日出茶太",cuisine:"bubble_tea",name:"日出茶太","name:en":"Chatime","name:zh":"日出茶太",takeaway:"yes"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/星巴克":{name:"星巴克",icon:"maki-cafe",imageURL:"https://graph.facebook.com/Starbucks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q37158",amenity:"cafe"},addTags:{amenity:"cafe",brand:"星巴克","brand:en":"Starbucks","brand:wikidata":"Q37158","brand:wikipedia":"zh:星巴克","brand:zh":"星巴克",cuisine:"coffee_shop",name:"星巴克","name:en":"Starbucks","name:zh":"星巴克",takeaway:"yes"},countryCodes:["cn","tw"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/珈琲館":{name:"珈琲館",icon:"maki-cafe",imageURL:"https://graph.facebook.com/kohikancorporation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11573290",amenity:"cafe"},addTags:{amenity:"cafe",brand:"珈琲館","brand:en":"Kohikan","brand:ja":"珈琲館","brand:wikidata":"Q11573290","brand:wikipedia":"ja:珈琲館",cuisine:"coffee_shop",name:"珈琲館","name:en":"Kohikan","name:ja":"珈琲館",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/貢茶 Gong Cha":{name:"貢茶 Gong Cha",icon:"maki-cafe",imageURL:"https://graph.facebook.com/GongChaTaiwan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5581670",amenity:"cafe"},addTags:{amenity:"cafe",brand:"貢茶 Gong Cha","brand:en":"Gong Cha","brand:wikidata":"Q5581670","brand:wikipedia":"zh:貢茶 (連鎖店)","brand:zh":"貢茶",cuisine:"bubble_tea",name:"貢茶 Gong Cha","name:en":"Gong Cha","name:zh":"貢茶",takeaway:"yes"},countryCodes:["hk"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/貢茶 (Japan)":{name:"貢茶 (Japan)",icon:"maki-cafe",imageURL:"https://graph.facebook.com/GongChaTaiwan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5581670",amenity:"cafe"},addTags:{amenity:"cafe",brand:"貢茶","brand:ja":"貢茶","brand:wikidata":"Q5581670","brand:wikipedia":"ja:貢茶","brand:zh":"貢茶",cuisine:"bubble_tea",int_name:"Gong Cha",name:"貢茶","name:ja":"貢茶","name:zh":"貢茶",takeaway:"yes"},countryCodes:["ja"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/貢茶 (Taiwan)":{name:"貢茶 (Taiwan)",icon:"maki-cafe",imageURL:"https://graph.facebook.com/GongChaTaiwan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5581670",amenity:"cafe"},addTags:{amenity:"cafe",brand:"貢茶","brand:wikidata":"Q5581670","brand:wikipedia":"zh:貢茶 (連鎖店)",cuisine:"bubble_tea",int_name:"Gong Cha",name:"貢茶","name:zh":"貢茶",takeaway:"yes"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/贡茶 (China)":{name:"贡茶 (China)",icon:"maki-cafe",imageURL:"https://graph.facebook.com/GongChaTaiwan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5581670",amenity:"cafe"},addTags:{amenity:"cafe",brand:"贡茶","brand:wikidata":"Q5581670","brand:wikipedia":"zh:贡茶 (连锁店)","brand:zh-Hans":"贡茶","brand:zh-Hant":"貢茶",cuisine:"bubble_tea",int_name:"Gong Cha",name:"贡茶","name:zh-Hans":"贡茶","name:zh-Hant":"貢茶",takeaway:"yes"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/공차":{name:"공차",icon:"maki-cafe",imageURL:"https://graph.facebook.com/GongChaTaiwan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5581670",amenity:"cafe"},addTags:{amenity:"cafe",brand:"공차","brand:ko":"공차","brand:wikidata":"Q5581670","brand:wikipedia":"ko:공차","brand:zh":"貢茶",cuisine:"bubble_tea",int_name:"Gong Cha",name:"공차","name:ko":"공차","name:zh":"貢茶",takeaway:"yes"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"amenity/cafe/스타벅스":{name:"스타벅스",icon:"maki-cafe",imageURL:"https://graph.facebook.com/Starbucks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q37158",amenity:"cafe"},addTags:{amenity:"cafe",brand:"스타벅스","brand:en":"Starbucks","brand:ko":"스타벅스","brand:wikidata":"Q37158","brand:wikipedia":"ko:스타벅스",cuisine:"coffee_shop",name:"스타벅스","name:en":"Starbucks","name:ko":"스타벅스",takeaway:"yes"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"amenity/car_rental/Alamo":{name:"Alamo",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/AlamoRentACar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1429287",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"Alamo","brand:wikidata":"Q1429287","brand:wikipedia":"en:Alamo Rent a Car",name:"Alamo"},terms:[],matchScore:2,suggestion:true},"amenity/car_rental/Avis":{name:"Avis",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/avis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q791136",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"Avis","brand:wikidata":"Q791136","brand:wikipedia":"en:Avis Car Rental",name:"Avis"},terms:["avis car rental"],matchScore:2,suggestion:true},"amenity/car_rental/Budget":{name:"Budget",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/Budget/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1001437",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"Budget","brand:wikidata":"Q1001437","brand:wikipedia":"en:Budget Rent a Car",name:"Budget",official_name:"Budget Rent a Car"},terms:["budget car rental"],matchScore:2,suggestion:true},"amenity/car_rental/Dollar":{name:"Dollar",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/DollarCarRental/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1235661",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"Dollar","brand:wikidata":"Q1235661","brand:wikipedia":"en:Dollar Rent A Car",name:"Dollar",official_name:"Dollar Rent A Car"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/car_rental/Enterprise":{name:"Enterprise",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/Enterprise/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17085454",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"Enterprise","brand:wikidata":"Q17085454","brand:wikipedia":"en:Enterprise Rent-A-Car",name:"Enterprise",official_name:"Enterprise Rent-A-Car"},terms:["enterprise car rental"],matchScore:2,suggestion:true},"amenity/car_rental/Europcar":{name:"Europcar",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/europcar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1376256",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"Europcar","brand:wikidata":"Q1376256","brand:wikipedia":"en:Europcar",name:"Europcar"},terms:[],matchScore:2,suggestion:true},"amenity/car_rental/Hertz":{name:"Hertz",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/hertz/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1543874",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"Hertz","brand:wikidata":"Q1543874","brand:wikipedia":"en:The Hertz Corporation",name:"Hertz"},terms:["hertz car rental"],matchScore:2,suggestion:true},"amenity/car_rental/Localiza":{name:"Localiza",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/localizahertz/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10319490",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"Localiza","brand:wikidata":"Q10319490","brand:wikipedia":"en:Localiza",name:"Localiza"},terms:[],matchScore:2,suggestion:true},"amenity/car_rental/National":{name:"National",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/NationalCarRental/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1424142",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"National","brand:wikidata":"Q1424142","brand:wikipedia":"en:National Car Rental",name:"National",official_name:"National Car Rental"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"amenity/car_rental/Sixt":{name:"Sixt",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/sixt.rentacar.usa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q705664",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"Sixt","brand:wikidata":"Q705664","brand:wikipedia":"en:Sixt",name:"Sixt"},terms:[],matchScore:2,suggestion:true},"amenity/car_rental/Thrifty":{name:"Thrifty",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/ThriftyCarRental/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2429546",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"Thrifty","brand:wikidata":"Q2429546","brand:wikipedia":"en:Thrifty Car Rental",name:"Thrifty"},terms:["thrifty car rental"],matchScore:2,suggestion:true},"amenity/car_rental/U-Haul":{name:"U-Haul",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/uhaul/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7862902",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"U-Haul","brand:wikidata":"Q7862902","brand:wikipedia":"en:U-Haul",name:"U-Haul"},countryCodes:["ca","us"],terms:["uhaul neighborhood dealer"],matchScore:2,suggestion:true},"amenity/car_rental/オリックスレンタカー":{name:"オリックスレンタカー",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/227957351080226/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11123021",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"オリックスレンタカー","brand:en":"ORIX Car Rental","brand:ja":"オリックスレンタカー","brand:wikidata":"Q11123021","brand:wikipedia":"ja:オリックスレンタカー",name:"オリックスレンタカー","name:en":"ORIX Car Rental","name:ja":"オリックスレンタカー"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/car_rental/トヨタレンタカー":{name:"トヨタレンタカー",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/rentacarjapan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11321580",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"トヨタレンタカー","brand:en":"Toyota Rental Car","brand:ja":"トヨタレンタカー","brand:wikidata":"Q11321580","brand:wikipedia":"ja:トヨタレンタリース",name:"トヨタレンタカー","name:en":"Toyota Rental Car","name:ja":"トヨタレンタカー"},countryCodes:["jp"],terms:["トヨタレンタリース"],matchScore:2,suggestion:true},"amenity/car_rental/ニッポンレンタカー":{name:"ニッポンレンタカー",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/115494788561573/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11086533",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"ニッポンレンタカー","brand:en":"Nippon Car Rental","brand:ja":"ニッポンレンタカー","brand:wikidata":"Q11086533","brand:wikipedia":"ja:ニッポンレンタカー",name:"ニッポンレンタカー","name:en":"Nippon Car Rental","name:ja":"ニッポンレンタカー"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/car_rental/日産レンタカー":{name:"日産レンタカー",icon:"maki-car-rental",imageURL:"https://graph.facebook.com/231926140196841/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11086838",amenity:"car_rental"},addTags:{amenity:"car_rental",brand:"日産レンタカー","brand:en":"Nissan Car Rental","brand:ja":"日産レンタカー","brand:wikidata":"Q11086838","brand:wikipedia":"ja:日産レンタカー",name:"日産レンタカー","name:en":"Nissan Car Rental","name:ja":"日産レンタカー"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/car_sharing/Bluely":{name:"Bluely",icon:"maki-car",imageURL:"https://graph.facebook.com/bluely.eu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16039715",amenity:"car_sharing"},addTags:{amenity:"car_sharing",brand:"Bluely","brand:wikidata":"Q16039715","brand:wikipedia":"fr:Bluely",name:"Bluely"},countryCodes:["fr"],terms:["station bluely"],matchScore:2,suggestion:true},"amenity/car_sharing/Enterprise Car Club":{name:"Enterprise Car Club",icon:"maki-car",imageURL:"https://graph.facebook.com/EnterpriseCarClub/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5123055",amenity:"car_sharing"},addTags:{amenity:"car_sharing",brand:"Enterprise Car Club","brand:wikidata":"Q5123055","brand:wikipedia":"en:Enterprise Car Club",name:"Enterprise Car Club"},countryCodes:["gb"],terms:["city car club"],matchScore:2,suggestion:true},"amenity/car_sharing/Greenwheels":{name:"Greenwheels",icon:"maki-car",imageURL:"https://graph.facebook.com/Greenwheels.nl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q316782",amenity:"car_sharing"},addTags:{amenity:"car_sharing",brand:"Greenwheels","brand:wikidata":"Q316782","brand:wikipedia":"en:Greenwheels",name:"Greenwheels"},countryCodes:["de","nl"],terms:[],matchScore:2,suggestion:true},"amenity/car_sharing/Zipcar":{name:"Zipcar",icon:"maki-car",imageURL:"https://graph.facebook.com/zipcar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1069924",amenity:"car_sharing"},addTags:{amenity:"car_sharing",brand:"Zipcar","brand:wikidata":"Q1069924","brand:wikipedia":"en:Zipcar",name:"Zipcar"},terms:[],matchScore:2,suggestion:true},"amenity/car_sharing/stadtmobil":{name:"stadtmobil",icon:"maki-car",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FStadtmobil%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2327629",amenity:"car_sharing"},addTags:{amenity:"car_sharing",brand:"stadtmobil","brand:wikidata":"Q2327629","brand:wikipedia":"en:Stadtmobil",name:"stadtmobil"},countryCodes:["de"],terms:["stadtmobil carsharing-station"],matchScore:2,suggestion:true},"amenity/car_sharing/teilAuto":{name:"teilAuto",icon:"maki-car",imageURL:"https://graph.facebook.com/teilauto/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2400658",amenity:"car_sharing"},addTags:{amenity:"car_sharing",brand:"teilAuto","brand:wikidata":"Q2400658","brand:wikipedia":"de:TeilAuto",name:"teilAuto"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/charging_station/Blink":{name:"Blink",icon:"fas-charging-station",imageURL:"https://abs.twimg.com/sticky/default_profile_images/default_profile_bigger.png",geometry:["point"],tags:{"brand:wikidata":"Q62065645",amenity:"charging_station"},addTags:{amenity:"charging_station",brand:"Blink","brand:wikidata":"Q62065645",name:"Blink"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/charging_station/ChargePoint":{name:"ChargePoint",icon:"fas-charging-station",imageURL:"https://graph.facebook.com/ChargePoint/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q5176149",amenity:"charging_station"},addTags:{amenity:"charging_station",brand:"ChargePoint","brand:wikidata":"Q5176149","brand:wikipedia":"en:ChargePoint",name:"ChargePoint"},terms:[],matchScore:2,suggestion:true},"amenity/charging_station/Circuit électrique":{name:"Circuit électrique",icon:"fas-charging-station",imageURL:"https://graph.facebook.com/lecircuitelectrique/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q64969699",amenity:"charging_station"},addTags:{amenity:"charging_station",brand:"Circuit électrique","brand:wikidata":"Q64969699",name:"Circuit électrique"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/charging_station/E-WALD":{name:"E-WALD",icon:"fas-charging-station",imageURL:"https://graph.facebook.com/E.WALD.emobility/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q61804335",amenity:"charging_station"},addTags:{amenity:"charging_station",brand:"E-WALD","brand:wikidata":"Q61804335",name:"E-WALD"},countryCodes:["de"],terms:["e-wald ladestation"],matchScore:2,suggestion:true},"amenity/charging_station/Enel":{name:"Enel",icon:"fas-charging-station",imageURL:"https://graph.facebook.com/enelsharing/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q651222",amenity:"charging_station"},addTags:{amenity:"charging_station",brand:"Enel","brand:wikidata":"Q651222","brand:wikipedia":"en:Enel",name:"Enel"},countryCodes:["it"],terms:["enel - stazione di ricarica"],matchScore:2,suggestion:true},"amenity/charging_station/FLO":{name:"FLO",icon:"fas-charging-station",imageURL:"https://graph.facebook.com/flonetwork/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q64971203",amenity:"charging_station"},addTags:{amenity:"charging_station",brand:"FLO","brand:wikidata":"Q64971203",name:"FLO"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/charging_station/Source London":{name:"Source London",icon:"fas-charging-station",imageURL:"https://graph.facebook.com/SourceLondon/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q7565133",amenity:"charging_station"},addTags:{amenity:"charging_station",brand:"Source London","brand:wikidata":"Q7565133","brand:wikipedia":"en:Source London",name:"Source London"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/charging_station/Tesla Supercharger":{name:"Tesla Supercharger",icon:"fas-charging-station",imageURL:"https://pbs.twimg.com/profile_images/489192650474414080/4RxZxsud_bigger.png",geometry:["point"],tags:{"brand:wikidata":"Q17089620",amenity:"charging_station"},addTags:{amenity:"charging_station",brand:"Tesla Supercharger","brand:wikidata":"Q17089620","brand:wikipedia":"en:Tesla Supercharger",name:"Tesla Supercharger"},terms:[],matchScore:2,suggestion:true},"amenity/charging_station/eVgo":{name:"eVgo",icon:"fas-charging-station",imageURL:"https://pbs.twimg.com/profile_images/1072541771777888256/E1Ma7jGm_bigger.jpg",geometry:["point"],tags:{"brand:wikidata":"Q61803820",amenity:"charging_station"},addTags:{amenity:"charging_station",brand:"eVgo","brand:wikidata":"Q61803820",name:"eVgo"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/childcare/Kids 'R' Kids":{name:"Kids 'R' Kids",icon:"fas-child",imageURL:"https://graph.facebook.com/kidsrkidscorporate/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65560342",amenity:"childcare"},addTags:{after_school:"yes",amenity:"childcare",brand:"Kids 'R' Kids","brand:wikidata":"Q65560342",grades:"PK",name:"Kids 'R' Kids",nursery:"yes",official_name:"Kids 'R' Kids Learning Academies",preschool:"yes"},countryCodes:["us"],terms:["kids are kids"],matchScore:2,suggestion:true},"amenity/childcare/YMCA Child Care":{name:"YMCA Child Care",icon:"fas-child",imageURL:"https://graph.facebook.com/YMCA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q157169",amenity:"childcare"},addTags:{amenity:"childcare",brand:"YMCA","brand:wikidata":"Q157169","brand:wikipedia":"en:YMCA",name:"YMCA Child Care"},countryCodes:["us"],terms:["ymca","ymca child care center"],matchScore:2,suggestion:true},"amenity/cinema/109シネマズ":{name:"109シネマズ",icon:"maki-cinema",imageURL:"https://graph.facebook.com/438297009664571/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10854269",amenity:"cinema"},addTags:{amenity:"cinema",brand:"109シネマズ","brand:en":"109 Cinemas","brand:ja":"109シネマズ","brand:wikidata":"Q10854269","brand:wikipedia":"ja:109シネマズ",name:"109シネマズ","name:en":"109 Cinemas","name:ja":"109シネマズ"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/AMC":{name:"AMC",icon:"maki-cinema",imageURL:"https://graph.facebook.com/amctheatres/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q294721",amenity:"cinema"},addTags:{amenity:"cinema",brand:"AMC","brand:wikidata":"Q294721","brand:wikipedia":"en:AMC Theatres",name:"AMC"},countryCodes:["us"],terms:["amc cinema","amc cinemas","amc theater","amc theaters","amc theatre","amc theatres"],matchScore:2,suggestion:true},"amenity/cinema/B&B Theatres":{name:"B&B Theatres",icon:"maki-cinema",imageURL:"https://pbs.twimg.com/profile_images/796752289859969025/6La-tnNc_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q4833576",amenity:"cinema"},addTags:{amenity:"cinema",brand:"B&B Theatres","brand:wikidata":"Q4833576","brand:wikipedia":"en:B&B Theatres",name:"B&B Theatres",short_name:"B&B"},countryCodes:["us"],terms:["b&b theaters"],matchScore:2,suggestion:true},"amenity/cinema/Caribbean Cinemas":{name:"Caribbean Cinemas",icon:"maki-cinema",imageURL:"https://graph.facebook.com/caribbeancinemas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5039364",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Caribbean Cinemas","brand:wikidata":"Q5039364","brand:wikipedia":"en:Caribbean Cinemas",name:"Caribbean Cinemas"},countryCodes:["ag","do","fr","gy","kn","lc","nl","pa","tt","us"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Century Theatres":{name:"Century Theatres",icon:"maki-cinema",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FCentury%20Theater.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2946307",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Century Theatres","brand:wikidata":"Q2946307","brand:wikipedia":"en:Century Theatres",name:"Century Theatres",short_name:"Century"},countryCodes:["us"],terms:["century theater","century theaters","century theatre"],matchScore:2,suggestion:true},"amenity/cinema/CineStar":{name:"CineStar",icon:"maki-cinema",imageURL:"https://graph.facebook.com/CineStarDE/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q321889",amenity:"cinema"},addTags:{amenity:"cinema",brand:"CineStar","brand:wikidata":"Q321889","brand:wikipedia":"de:Cinestar",name:"CineStar"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Cinema City":{name:"Cinema City",icon:"maki-cinema",imageURL:"https://graph.facebook.com/CinemaCityPoland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q543651",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Cinema City","brand:wikidata":"Q543651","brand:wikipedia":"en:Cinema City International",name:"Cinema City"},countryCodes:["cz","hu","pl","ro"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Cinemark":{name:"Cinemark",icon:"maki-cinema",imageURL:"https://graph.facebook.com/cinemarkoficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q707530",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Cinemark","brand:wikidata":"Q707530","brand:wikipedia":"en:Cinemark Theatres",name:"Cinemark"},terms:[],matchScore:2,suggestion:true},"amenity/cinema/Cinemaxx (Europe)":{name:"Cinemaxx (Europe)",icon:"maki-cinema",imageURL:"https://graph.facebook.com/cinemaxx/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q881860",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Cinemaxx","brand:wikidata":"Q881860","brand:wikipedia":"de:CinemaxX",name:"Cinemaxx"},countryCodes:["de","dk"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Cinemaxx (Indonesia)":{name:"Cinemaxx (Indonesia)",icon:"maki-cinema",imageURL:"https://graph.facebook.com/cinemaxxtheater/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19942740",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Cinemaxx","brand:wikidata":"Q19942740","brand:wikipedia":"id:Cinemaxx",name:"Cinemaxx"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Cinemex":{name:"Cinemex",icon:"maki-cinema",imageURL:"https://graph.facebook.com/Cinemex/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3333072",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Cinemex","brand:wikidata":"Q3333072","brand:wikipedia":"en:Cinemex",name:"Cinemex"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Cineplanet":{name:"Cineplanet",icon:"maki-cinema",imageURL:"https://graph.facebook.com/cineplanet/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5769680",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Cineplanet","brand:wikidata":"Q5769680","brand:wikipedia":"es:Cineplanet",name:"Cineplanet"},countryCodes:["cl","pe"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Cineplexx":{name:"Cineplexx",icon:"maki-cinema",imageURL:"https://graph.facebook.com/cineplexxAT/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q873340",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Cineplexx","brand:wikidata":"Q873340","brand:wikipedia":"en:Cineplexx Cinemas",name:"Cineplexx"},countryCodes:["at","si"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Cinepolis":{name:"Cinepolis",icon:"maki-cinema",imageURL:"https://graph.facebook.com/cinepolisbrasil/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5686673",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Cinepolis","brand:wikidata":"Q5686673","brand:wikipedia":"en:Cinépolis",name:"Cinepolis"},terms:[],matchScore:2,suggestion:true},"amenity/cinema/Cineworld":{name:"Cineworld",icon:"maki-cinema",imageURL:"https://graph.facebook.com/cineworld/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5120901",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Cineworld","brand:wikidata":"Q5120901","brand:wikipedia":"en:Cineworld",name:"Cineworld"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Event":{name:"Event",icon:"maki-cinema",imageURL:"https://graph.facebook.com/EventCinemas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5416698",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Event","brand:wikidata":"Q5416698","brand:wikipedia":"en:Event Cinemas",name:"Event",official_name:"Event Cinemas"},countryCodes:["au","nz"],terms:["event cinema"],matchScore:2,suggestion:true},"amenity/cinema/Harkins Theatres":{name:"Harkins Theatres",icon:"maki-cinema",imageURL:"https://graph.facebook.com/harkinstheatres/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5658199",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Harkins Theatres","brand:wikidata":"Q5658199","brand:wikipedia":"en:Harkins Theatres",name:"Harkins Theatres",short_name:"Harkins"},countryCodes:["us"],terms:["harkins theater","harkins theaters","harkins theatre"],matchScore:2,suggestion:true},"amenity/cinema/Hoyts":{name:"Hoyts",icon:"maki-cinema",imageURL:"https://graph.facebook.com/hoytsaustralia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5922976",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Hoyts","brand:wikidata":"Q5922976","brand:wikipedia":"en:Hoyts",name:"Hoyts"},countryCodes:["au","nz"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Landmark Theatres":{name:"Landmark Theatres",icon:"maki-cinema",imageURL:"https://graph.facebook.com/LandmarkTheatres/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6484805",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Landmark Theatres","brand:wikidata":"Q6484805","brand:wikipedia":"en:Landmark Theatres",name:"Landmark Theatres",short_name:"Landmark"},countryCodes:["us"],terms:["landmark theater","landmark theaters","landmark theatre"],matchScore:2,suggestion:true},"amenity/cinema/MOVIX":{name:"MOVIX",icon:"maki-cinema",geometry:["point","area"],tags:{"brand:wikidata":"Q11532184",amenity:"cinema"},addTags:{amenity:"cinema",brand:"MOVIX","brand:wikidata":"Q11532184","brand:wikipedia":"ja:松竹マルチプレックスシアターズ",name:"MOVIX",official_name:"松竹マルチプレックスシアターズ","official_name:en":"Shochiku Multiplex Theatres"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Marcus Cinema":{name:"Marcus Cinema",icon:"maki-cinema",imageURL:"https://graph.facebook.com/marcustheatres/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64083352",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Marcus Cinema","brand:wikidata":"Q64083352",name:"Marcus Cinema",short_name:"Marcus"},countryCodes:["us"],terms:["marcus cinemas","marcus theater","marcus theaters","marcus theatre","marcus theatres"],matchScore:2,suggestion:true},"amenity/cinema/Movie Tavern":{name:"Movie Tavern",icon:"maki-cinema",imageURL:"https://graph.facebook.com/movietavern/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64083534",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Movie Tavern","brand:wikidata":"Q64083534",name:"Movie Tavern"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Multikino":{name:"Multikino",icon:"maki-cinema",imageURL:"https://graph.facebook.com/MultikinoPolska/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1144802",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Multikino","brand:wikidata":"Q1144802","brand:wikipedia":"pl:Multikino",name:"Multikino"},countryCodes:["lt","lv","pl"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/Odeon":{name:"Odeon",icon:"maki-cinema",imageURL:"https://graph.facebook.com/ODEON/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6127470",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Odeon","brand:wikidata":"Q6127470","brand:wikipedia":"en:Odeon Cinemas",name:"Odeon"},countryCodes:["gb","gr","ie","it"],terms:["odeon cinema"],matchScore:2,suggestion:true},"amenity/cinema/Regal Cinemas":{name:"Regal Cinemas",icon:"maki-cinema",imageURL:"https://graph.facebook.com/RegalMovies/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q835638",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Regal Cinemas","brand:wikidata":"Q835638","brand:wikipedia":"en:Regal Cinemas",name:"Regal Cinemas",short_name:"Regal"},countryCodes:["us"],terms:["regal cinema"],matchScore:2,suggestion:true},"amenity/cinema/Showcase Cinemas":{name:"Showcase Cinemas",icon:"maki-cinema",imageURL:"https://graph.facebook.com/ShowcaseUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7503170",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Showcase Cinemas","brand:wikidata":"Q7503170","brand:wikipedia":"en:Showcase Cinemas",name:"Showcase Cinemas",short_name:"Showcase"},countryCodes:["ar","gb","us"],terms:["showcase cinema"],matchScore:2,suggestion:true},"amenity/cinema/TOHOシネマズ":{name:"TOHOシネマズ",icon:"maki-cinema",imageURL:"https://graph.facebook.com/tohocinemasmagagine/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11235261",amenity:"cinema"},addTags:{amenity:"cinema",brand:"TOHOシネマズ","brand:en":"TOHO CINEMAS","brand:ja":"TOHOシネマズ","brand:wikidata":"Q11235261","brand:wikipedia":"ja:TOHOシネマズ",name:"TOHOシネマズ","name:en":"Toho Cinemas","name:ja":"TOHOシネマズ",short_name:"TOHO"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/The Space Cinema":{name:"The Space Cinema",icon:"maki-cinema",imageURL:"https://graph.facebook.com/TheSpaceCinema/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3989406",amenity:"cinema"},addTags:{amenity:"cinema",brand:"The Space Cinema","brand:wikidata":"Q3989406","brand:wikipedia":"it:The Space Cinema",name:"The Space Cinema"},countryCodes:["it"],terms:["the space"],matchScore:2,suggestion:true},"amenity/cinema/Vue (IrelandAndUK)":{name:"Vue (IrelandAndUK)",icon:"maki-cinema",imageURL:"https://graph.facebook.com/VueCinemas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2535134",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Vue","brand:wikidata":"Q2535134","brand:wikipedia":"en:Vue Cinemas",name:"Vue"},countryCodes:["gb","ie"],terms:["vue cinema","vue cinemas"],matchScore:2,suggestion:true},"amenity/cinema/Vue (Netherlands)":{name:"Vue (Netherlands)",icon:"maki-cinema",imageURL:"https://graph.facebook.com/vuecinemasnl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2421690",amenity:"cinema"},addTags:{amenity:"cinema",brand:"Vue","brand:wikidata":"Q2421690","brand:wikipedia":"nl:Vue (bioscoopketen)",name:"Vue"},countryCodes:["nl"],terms:["vue cinema"],matchScore:2,suggestion:true},"amenity/cinema/イオンシネマ":{name:"イオンシネマ",icon:"maki-cinema",imageURL:"https://graph.facebook.com/aeoncinema/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17192792",amenity:"cinema"},addTags:{amenity:"cinema",brand:"イオンシネマ","brand:en":"AEON Cinema","brand:ja":"イオンシネマ","brand:wikidata":"Q17192792","brand:wikipedia":"ja:イオンエンターテイメント",name:"イオンシネマ","name:en":"AEON Cinema","name:ja":"イオンシネマ"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/cinema/ユナイテッド・シネマ":{name:"ユナイテッド・シネマ",icon:"maki-cinema",imageURL:"https://graph.facebook.com/unitedcinemasgroup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11345629",amenity:"cinema"},addTags:{amenity:"cinema",brand:"ユナイテッド・シネマ","brand:en":"United Cinemas","brand:ja":"ユナイテッド・シネマ","brand:wikidata":"Q11345629","brand:wikipedia":"ja:ユナイテッド・シネマ",name:"ユナイテッド・シネマ","name:en":"United Cinemas","name:ja":"ユナイテッド・シネマ"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/clinic/CityMD":{name:"CityMD",icon:"maki-doctor",imageURL:"https://graph.facebook.com/CityMD/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q22295471",amenity:"clinic"},addTags:{amenity:"clinic",brand:"CityMD","brand:wikidata":"Q22295471","brand:wikipedia":"en:CityMD",healthcare:"clinic",name:"CityMD"},reference:{key:"amenity",value:"clinic"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/clinic/DaVita Dialysis":{name:"DaVita Dialysis",icon:"maki-doctor",imageURL:"https://graph.facebook.com/davitakidneycare/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5207184",amenity:"clinic"},addTags:{amenity:"clinic",brand:"DaVita Dialysis","brand:wikidata":"Q5207184",healthcare:"dialysis","healthcare:speciality":"dialysis",name:"DaVita Dialysis"},reference:{key:"amenity",value:"clinic"},countryCodes:["us"],terms:["davita","davita kidney care"],matchScore:2,suggestion:true},"amenity/clinic/Dialysis Clinic":{name:"Dialysis Clinic",icon:"maki-doctor",imageURL:"https://graph.facebook.com/DialysisClinicInc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5270633",amenity:"clinic"},addTags:{amenity:"clinic",brand:"Dialysis Clinic","brand:wikidata":"Q5270633","brand:wikipedia":"en:Dialysis Clinic, Inc.",healthcare:"dialysis","healthcare:speciality":"dialysis",name:"Dialysis Clinic",short_name:"DCI"},reference:{key:"amenity",value:"clinic"},countryCodes:["us"],terms:["dialysis clinic inc"],matchScore:2,suggestion:true},"amenity/clinic/Fresenius Kidney Care":{name:"Fresenius Kidney Care",icon:"maki-doctor",imageURL:"https://graph.facebook.com/freseniuskidneycare/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q650259",amenity:"clinic"},addTags:{amenity:"clinic",brand:"Fresenius Kidney Care","brand:wikidata":"Q650259","brand:wikipedia":"en:Fresenius Medical Care",healthcare:"dialysis","healthcare:speciality":"dialysis",name:"Fresenius Kidney Care"},reference:{key:"amenity",value:"clinic"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/clinic/Fresenius Medical Care":{name:"Fresenius Medical Care",icon:"maki-doctor",imageURL:"https://graph.facebook.com/freseniuskidneycare/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q650259",amenity:"clinic"},addTags:{amenity:"clinic",brand:"Fresenius Medical Care","brand:wikidata":"Q650259","brand:wikipedia":"en:Fresenius Medical Care",healthcare:"dialysis","healthcare:speciality":"dialysis",name:"Fresenius Medical Care"},reference:{key:"amenity",value:"clinic"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/clinic/Planned Parenthood":{name:"Planned Parenthood",icon:"maki-doctor",imageURL:"https://graph.facebook.com/PlannedParenthood/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2553262",amenity:"clinic"},addTags:{amenity:"clinic",brand:"Planned Parenthood","brand:wikidata":"Q2553262",healthcare:"counselling","healthcare:counselling":"antenatal;sexual",name:"Planned Parenthood"},reference:{key:"amenity",value:"clinic"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/clinic/Satellite Healthcare":{name:"Satellite Healthcare",icon:"maki-doctor",imageURL:"https://graph.facebook.com/satellitehealthcare/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q50039787",amenity:"clinic"},addTags:{amenity:"clinic",brand:"Satellite Healthcare","brand:wikidata":"Q50039787",healthcare:"dialysis","healthcare:speciality":"dialysis",name:"Satellite Healthcare"},reference:{key:"amenity",value:"clinic"},countryCodes:["us"],terms:["satellite","satellite dialysis"],matchScore:2,suggestion:true},"amenity/clinic/Terveystalo":{name:"Terveystalo",icon:"maki-doctor",imageURL:"https://graph.facebook.com/Terveystalo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11897034",amenity:"clinic"},addTags:{amenity:"clinic",brand:"Terveystalo","brand:wikidata":"Q11897034","brand:wikipedia":"fi:Terveystalo",healthcare:"clinic",name:"Terveystalo"},reference:{key:"amenity",value:"clinic"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"amenity/clinic/VA Clinic":{name:"VA Clinic",icon:"maki-doctor",imageURL:"https://graph.facebook.com/VeteransHealth/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6580225",amenity:"clinic"},addTags:{amenity:"clinic",brand:"VA","brand:wikidata":"Q6580225","brand:wikipedia":"en:Veterans Health Administration",healthcare:"clinic","healthcare:for":"veterans",name:"VA Clinic",short_name:"VA"},reference:{key:"amenity",value:"clinic"},countryCodes:["us"],terms:["department of veterans affairs clinic","veterans administration","veterans administration clinic","veterans affairs","veterans affairs clinic"],matchScore:2,suggestion:true},"amenity/dentist/Aspen Dental":{name:"Aspen Dental",icon:"maki-dentist",imageURL:"https://graph.facebook.com/AspenDental/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4807808",amenity:"dentist"},addTags:{amenity:"dentist",brand:"Aspen Dental","brand:wikidata":"Q4807808","brand:wikipedia":"en:Aspen Dental",healthcare:"dentist",name:"Aspen Dental"},reference:{key:"amenity",value:"dentist"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/dentist/Comfort Dental":{name:"Comfort Dental",icon:"maki-dentist",imageURL:"https://graph.facebook.com/comfortdental/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q22079521",amenity:"dentist"},addTags:{amenity:"dentist",brand:"Comfort Dental","brand:wikidata":"Q22079521","brand:wikipedia":"en:Comfort Dental",healthcare:"dentist",name:"Comfort Dental"},reference:{key:"amenity",value:"dentist"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/dentist/Kool Smiles":{name:"Kool Smiles",icon:"maki-dentist",imageURL:"https://graph.facebook.com/MyKoolSmiles/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6430587",amenity:"dentist"},addTags:{amenity:"dentist",brand:"Kool Smiles","brand:wikidata":"Q6430587","brand:wikipedia":"en:Kool Smiles",healthcare:"dentist",name:"Kool Smiles"},reference:{key:"amenity",value:"dentist"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/dentist/Western Dental":{name:"Western Dental",icon:"maki-dentist",imageURL:"https://graph.facebook.com/WesternDental/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64211989",amenity:"dentist"},addTags:{alt_name:"Western Dental & Orthodontics",amenity:"dentist",brand:"Western Dental","brand:wikidata":"Q64211989","brand:wikipedia":"en:Western Dental",healthcare:"dentist",name:"Western Dental"},reference:{key:"amenity",value:"dentist"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/doctors/MinuteClinic":{name:"MinuteClinic",icon:"maki-doctor",imageURL:"https://graph.facebook.com/minuteclinic/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6871141",amenity:"doctors"},addTags:{amenity:"doctors",brand:"MinuteClinic","brand:wikidata":"Q6871141","brand:wikipedia":"en:MinuteClinic",healthcare:"doctor","healthcare:speciality":"community",name:"MinuteClinic"},reference:{key:"amenity",value:"doctors"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/doctors/RediClinic":{name:"RediClinic",icon:"maki-doctor",imageURL:"https://graph.facebook.com/RediClinic/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64138408",amenity:"doctors"},addTags:{amenity:"doctors",brand:"RediClinic","brand:wikidata":"Q64138408",healthcare:"doctor","healthcare:speciality":"community",name:"RediClinic"},reference:{key:"amenity",value:"doctors"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/doctors/The Little Clinic":{name:"The Little Clinic",icon:"maki-doctor",imageURL:"https://graph.facebook.com/thelittleclinic/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64138262",amenity:"doctors"},addTags:{amenity:"doctors",brand:"The Little Clinic","brand:wikidata":"Q64138262",healthcare:"doctor","healthcare:speciality":"community",name:"The Little Clinic"},reference:{key:"amenity",value:"doctors"},countryCodes:["us"],terms:["little clinic"],matchScore:2,suggestion:true},"amenity/doctors/Walgreens Healthcare Clinic":{name:"Walgreens Healthcare Clinic",icon:"maki-doctor",imageURL:"https://graph.facebook.com/walgreens/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1591889",amenity:"doctors"},addTags:{amenity:"doctors",brand:"Walgreens","brand:wikidata":"Q1591889",healthcare:"doctor","healthcare:speciality":"community",name:"Walgreens Healthcare Clinic"},reference:{key:"amenity",value:"doctors"},countryCodes:["us"],terms:["healthcare clinic","takecare","takecare clinic","walgreens"],matchScore:2,suggestion:true},"amenity/fast_food/burger/A&W (Canada)":{name:"A&W (Canada)",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/405801939456462/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2818848",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"A&W","brand:wikidata":"Q2818848","brand:wikipedia":"en:A&W (Canada)",cuisine:"burger",name:"A&W",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/A&W (USA)":{name:"A&W (USA)",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/awrestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q277641",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"A&W","brand:wikidata":"Q277641","brand:wikipedia":"en:A&W Restaurants",cuisine:"burger",name:"A&W",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Andok's":{name:"Andok's",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/andokslitsonmanok/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62267166",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Andok's","brand:wikidata":"Q62267166",cuisine:"chicken",name:"Andok's",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Angel's Burger":{name:"Angel's Burger",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/angburgerngbayan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62267228",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Angel's Burger","brand:wikidata":"Q62267228",cuisine:"burger",name:"Angel's Burger",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Arby's":{name:"Arby's",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/arbys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q630866",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Arby's","brand:wikidata":"Q630866","brand:wikipedia":"en:Arby's",cuisine:"sandwich",name:"Arby's",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["ca","tr","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Au Bon Pain":{name:"Au Bon Pain",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/aubonpain/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4818942",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Au Bon Pain","brand:wikidata":"Q4818942","brand:wikipedia":"en:Au Bon Pain",cuisine:"sandwich",name:"Au Bon Pain",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["in","th","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Auntie Anne's":{name:"Auntie Anne's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/auntieannespretzels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4822010",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Auntie Anne's","brand:wikidata":"Q4822010","brand:wikipedia":"en:Auntie Anne's",cuisine:"pretzel",name:"Auntie Anne's",takeaway:"yes"},countryCodes:["us"],terms:["auntie annes pretzels"],matchScore:2,suggestion:true},"amenity/fast_food/burger/Back Yard Burgers":{name:"Back Yard Burgers",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/backyardburgers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2878376",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Back Yard Burgers","brand:wikidata":"Q2878376","brand:wikipedia":"en:Back Yard Burgers",cuisine:"burger",name:"Back Yard Burgers",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Baja Fresh":{name:"Baja Fresh",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/bajafresh/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2880019",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Baja Fresh","brand:wikidata":"Q2880019","brand:wikipedia":"en:Baja Fresh",cuisine:"mexican",name:"Baja Fresh",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Barburrito":{name:"Barburrito",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/BarburritoUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16983668",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Barburrito","brand:wikidata":"Q16983668","brand:wikipedia":"en:Barburrito",cuisine:"mexican",name:"Barburrito",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Bembos":{name:"Bembos",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/bembos/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q466971",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Bembos","brand:wikidata":"Q466971","brand:wikipedia":"en:Bembos",cuisine:"burger",name:"Bembos",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Blimpie":{name:"Blimpie",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/Blimpie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4926479",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Blimpie","brand:wikidata":"Q4926479","brand:wikipedia":"en:Blimpie",cuisine:"sandwich",name:"Blimpie",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Bob's":{name:"Bob's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/bobsbrasil/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1392113",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Bob's","brand:wikidata":"Q1392113","brand:wikipedia":"en:Bob's",cuisine:"burger",name:"Bob's",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["ao","br","cl","pt"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Bojangles'":{name:"Bojangles'",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/Bojangles1977/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q891163",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Bojangles'","brand:wikidata":"Q891163","brand:wikipedia":"en:Bojangles' Famous Chicken 'n Biscuits",cuisine:"chicken",name:"Bojangles'",official_name:"Bojangles' Famous Chicken 'n Biscuits",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Booster Juice":{name:"Booster Juice",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/boosterjuice/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4943796",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Booster Juice","brand:wikidata":"Q4943796","brand:wikipedia":"en:Booster Juice",cuisine:"juice",name:"Booster Juice",takeaway:"yes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Boston Market":{name:"Boston Market",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/BostonMarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q603617",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Boston Market","brand:wikidata":"Q603617","brand:wikipedia":"en:Boston Market",cuisine:"american",name:"Boston Market",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/ice_cream/Braum's":{name:"Braum's",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/BraumsIceCreamandDairyStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4958263",amenity:"fast_food",cuisine:"ice_cream"},addTags:{amenity:"fast_food",brand:"Braum's","brand:wikidata":"Q4958263","brand:wikipedia":"en:Braum's",cuisine:"ice_cream",name:"Braum's",shop:"dairy",takeaway:"yes"},reference:{key:"cuisine",value:"ice_cream"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Bruegger's Bagels":{name:"Bruegger's Bagels",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/Brueggers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4978656",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Bruegger's Bagels","brand:wikidata":"Q4978656","brand:wikipedia":"en:Bruegger's",cuisine:"bagel",name:"Bruegger's Bagels",short_name:"Bruegger's",takeaway:"yes"},countryCodes:["us"],terms:["breuger's","breugger's","bruger's","brugger's"],matchScore:2,suggestion:true},"amenity/fast_food/burger/Burger King":{name:"Burger King",icon:"maki-fast-food",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBurger%20King%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q177054",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Burger King","brand:wikidata":"Q177054","brand:wikipedia":"en:Burger King",cuisine:"burger",name:"Burger King",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:["burguer king"],matchScore:2,suggestion:true},"amenity/fast_food/burger/Burger Machine":{name:"Burger Machine",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/burgermachineofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4998549",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Burger Machine","brand:wikidata":"Q4998549","brand:wikipedia":"en:Burger Machine",cuisine:"burger",name:"Burger Machine",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/BurgerFi":{name:"BurgerFi",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/BurgerFi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q39045496",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"BurgerFi","brand:wikidata":"Q39045496","brand:wikipedia":"en:BurgerFi",cuisine:"burger",name:"BurgerFi",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Burgerim":{name:"Burgerim",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/iBurgerim/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64760354",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Burgerim","brand:en":"Burgerim","brand:he":"בורגרים","brand:wikidata":"Q64760354",cuisine:"burger",name:"Burgerim","name:en":"Burgerim","name:he":"בורגרים",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Burgers Bar":{name:"Burgers Bar",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/BurgersBarIL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64760337",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Burgers Bar","brand:en":"Burgers Bar","brand:he":"בורגרס בר","brand:wikidata":"Q64760337",cuisine:"burger","diet:kosher":"yes",name:"Burgers Bar","name:en":"Burgers Bar","name:he":"בורגרס בר",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Burgerville":{name:"Burgerville",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/burgerville/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4998570",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Burgerville","brand:wikidata":"Q4998570","brand:wikipedia":"en:Burgerville",cuisine:"burger",name:"Burgerville",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Captain D's":{name:"Captain D's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/CaptainDs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5036616",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Captain D's","brand:wikidata":"Q5036616","brand:wikipedia":"en:Captain D's",cuisine:"seafood",name:"Captain D's",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Carl's Jr.":{name:"Carl's Jr.",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/carlsjr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1043486",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Carl's Jr.","brand:wikidata":"Q1043486","brand:wikipedia":"en:Carl's Jr.",cuisine:"burger",name:"Carl's Jr.",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Charleys Philly Steaks":{name:"Charleys Philly Steaks",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/CharleysPhillySteaks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1066777",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Charleys Philly Steaks","brand:wikidata":"Q1066777","brand:wikipedia":"en:Charleys Philly Steaks",cuisine:"sandwich",name:"Charleys Philly Steaks",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:["charleys"],matchScore:2,suggestion:true},"amenity/fast_food/burger/Checkers":{name:"Checkers",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/checkersrallys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63919315",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Checkers","brand:wikidata":"Q63919315",cuisine:"burger",name:"Checkers",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Chester's":{name:"Chester's",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/ChestersIntl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5093401",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Chester's","brand:wikidata":"Q5093401","brand:wikipedia":"en:Chester's International",cuisine:"chicken",name:"Chester's",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["us"],terms:["chesters chicken"],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Chick-fil-A":{name:"Chick-fil-A",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/ChickfilA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q491516",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Chick-fil-A","brand:wikidata":"Q491516","brand:wikipedia":"en:Chick-fil-A",cuisine:"chicken",name:"Chick-fil-A",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Chicken Express":{name:"Chicken Express",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/chickenexpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5096235",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Chicken Express","brand:wikidata":"Q5096235","brand:wikipedia":"en:Chicken Express",cuisine:"chicken",name:"Chicken Express",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["gb","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/China Wok":{name:"China Wok",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/ChinaWokPeru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5766542",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"China Wok","brand:wikidata":"Q5766542","brand:wikipedia":"es:China Wok",cuisine:"chinese",name:"China Wok",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Chipotle":{name:"Chipotle",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/chipotle/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q465751",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Chipotle","brand:wikidata":"Q465751","brand:wikipedia":"en:Chipotle Mexican Grill",cuisine:"mexican",name:"Chipotle",official_name:"Chipotle Mexican Grill",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Chopt":{name:"Chopt",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/choptsalad/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17509305",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Chopt","brand:wikidata":"Q17509305","brand:wikipedia":"en:Chopt",cuisine:"salad",name:"Chopt",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Chowking":{name:"Chowking",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/chowkingph/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1076816",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Chowking","brand:wikidata":"Q1076816","brand:wikipedia":"en:Chowking",cuisine:"asian",name:"Chowking",takeaway:"yes"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Church's Chicken":{name:"Church's Chicken",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/churchschicken/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1089932",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Church's Chicken","brand:wikidata":"Q1089932","brand:wikipedia":"en:Church's Chicken",cuisine:"chicken",name:"Church's Chicken",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Cinnabon":{name:"Cinnabon",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/Cinnabon/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1092539",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Cinnabon","brand:website":"https://www.cinnabon.com/","brand:wikidata":"Q1092539","brand:wikipedia":"en:Cinnabon",cuisine:"dessert",name:"Cinnabon",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/CoCo壱番屋":{name:"CoCo壱番屋",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/cocoichicurry/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5986105",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"CoCo壱番屋","brand:en":"CoCo Ichibanya","brand:ja":"CoCo壱番屋","brand:wikidata":"Q5986105","brand:wikipedia":"en:Ichibanya",cuisine:"japanese",name:"CoCo壱番屋","name:en":"CoCo Ichibanya","name:ja":"CoCo壱番屋",takeaway:"yes"},countryCodes:["cn","jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Cook Out":{name:"Cook Out",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/CookOut/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5166992",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Cook Out","brand:wikidata":"Q5166992","brand:wikipedia":"en:Cook Out (restaurant)",cuisine:"american",name:"Cook Out",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Così":{name:"Così",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/getcosi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5175243",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Così","brand:wikidata":"Q5175243","brand:wikipedia":"en:Così (restaurant)",cuisine:"sandwich",name:"Così",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Cultures":{name:"Cultures",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/culturesrestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64876898",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Cultures","brand:wikidata":"Q64876898",cuisine:"sandwich",name:"Cultures",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Culver's":{name:"Culver's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/culvers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1143589",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Culver's","brand:wikidata":"Q1143589","brand:wikipedia":"en:Culver's",cuisine:"burger",name:"Culver's",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/ice_cream/DQ Grill & Chill":{name:"DQ Grill & Chill",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/dairyqueen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1141226",amenity:"fast_food",cuisine:"ice_cream;burger"},addTags:{amenity:"fast_food",brand:"DQ Grill & Chill","brand:wikidata":"Q1141226","brand:wikipedia":"en:Dairy Queen",cuisine:"ice_cream;burger",name:"DQ Grill & Chill",takeaway:"yes"},reference:{key:"cuisine",value:"ice_cream"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/ice_cream/Dairy Queen":{name:"Dairy Queen",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/dairyqueen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1141226",amenity:"fast_food",cuisine:"ice_cream;burger"},addTags:{amenity:"fast_food",brand:"Dairy Queen","brand:wikidata":"Q1141226","brand:wikipedia":"en:Dairy Queen",cuisine:"ice_cream;burger",name:"Dairy Queen",takeaway:"yes"},reference:{key:"cuisine",value:"ice_cream"},terms:["dq"],matchScore:2,suggestion:true},"amenity/fast_food/donut/Daylight Donuts":{name:"Daylight Donuts",icon:"temaki-donut",imageURL:"https://graph.facebook.com/DaylightDonutFlourCo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q48970508",amenity:"fast_food",cuisine:"donut"},addTags:{amenity:"fast_food",brand:"Daylight Donuts","brand:wikidata":"Q48970508","brand:wikipedia":"en:Daylight Donuts",cuisine:"donut",name:"Daylight Donuts",takeaway:"yes"},reference:{key:"cuisine",value:"donut"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Del Taco":{name:"Del Taco",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/deltaco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1183818",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Del Taco","brand:wikidata":"Q1183818","brand:wikipedia":"en:Del Taco",cuisine:"mexican",name:"Del Taco",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Dig Inn":{name:"Dig Inn",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/diginnmarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28226241",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Dig Inn","brand:wikidata":"Q28226241","brand:wikipedia":"en:Dig Inn",cuisine:"regional",name:"Dig Inn",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Domino's Pizza":{name:"Domino's Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/Dominos/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q839466",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Domino's Pizza","brand:wikidata":"Q839466","brand:wikipedia":"en:Domino's Pizza",cuisine:"pizza",name:"Domino's Pizza",short_name:"Domino's",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/donut/Dunkin' Donuts":{name:"Dunkin' Donuts",icon:"temaki-donut",imageURL:"https://graph.facebook.com/DunkinUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q847743",amenity:"fast_food",cuisine:"donut;coffee"},addTags:{amenity:"fast_food",brand:"Dunkin' Donuts","brand:wikidata":"Q847743","brand:wikipedia":"en:Dunkin' Donuts",cuisine:"donut;coffee",name:"Dunkin' Donuts",takeaway:"yes"},reference:{key:"cuisine",value:"donut"},terms:["dunkin doughnuts"],matchScore:2,suggestion:true},"amenity/fast_food/Einstein Bros. Bagels":{name:"Einstein Bros. Bagels",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/einsteinbros/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5349788",amenity:"fast_food"},addTags:{alt_name:"Einstein Brothers Bagels",amenity:"fast_food",brand:"Einstein Bros. Bagels","brand:wikidata":"Q5349788","brand:wikipedia":"en:Einstein Bros. Bagels",cuisine:"bagel",name:"Einstein Bros. Bagels",takeaway:"yes"},countryCodes:["us"],terms:["einstein bros","einstein brothers"],matchScore:2,suggestion:true},"amenity/fast_food/mexican/El Pollo Loco":{name:"El Pollo Loco",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/ElPolloLoco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2353849",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"El Pollo Loco","brand:wikidata":"Q2353849","brand:wikipedia":"en:El Pollo Loco",cuisine:"mexican",name:"El Pollo Loco",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["mx","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Everest":{name:"Everest",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/everest.gr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62273299",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Everest","brand:wikidata":"Q62273299",cuisine:"burger",name:"Everest",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Extreme Pita":{name:"Extreme Pita",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/TheExtremePita/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5422367",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Extreme Pita","brand:wikidata":"Q5422367","brand:wikipedia":"en:Extreme Pita",cuisine:"pita",name:"Extreme Pita",takeaway:"yes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Fazoli's":{name:"Fazoli's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/Fazolis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1399195",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Fazoli's","brand:wikidata":"Q1399195","brand:wikipedia":"en:Fazoli's",cuisine:"italian",name:"Fazoli's",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Firehouse Subs":{name:"Firehouse Subs",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/firehousesubs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5451873",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Firehouse Subs","brand:wikidata":"Q5451873","brand:wikipedia":"en:Firehouse Subs",cuisine:"sandwich",name:"Firehouse Subs",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Five Guys":{name:"Five Guys",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/fiveguys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1131810",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Five Guys","brand:wikidata":"Q1131810","brand:wikipedia":"en:Five Guys",cuisine:"burger",name:"Five Guys",official_name:"Five Guys Burgers and Fries",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/ice_cream/Freddy's":{name:"Freddy's",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/FreddysUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5496837",amenity:"fast_food",cuisine:"ice_cream;burger"},addTags:{amenity:"fast_food",brand:"Freddy's","brand:wikidata":"Q5496837","brand:wikipedia":"en:Freddy's Frozen Custard & Steakburgers",cuisine:"ice_cream;burger",name:"Freddy's",official_name:"Freddys Frozen Custard & Steakburgers",takeaway:"yes"},reference:{key:"cuisine",value:"ice_cream"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Freebirds":{name:"Freebirds",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/freebirdsworldburrito/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5500367",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Freebirds","brand:wikidata":"Q5500367","brand:wikipedia":"en:Freebirds World Burrito",cuisine:"mexican",name:"Freebirds",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Gabriel Pizza":{name:"Gabriel Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/gabrielpizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5515791",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Gabriel Pizza","brand:wikidata":"Q5515791","brand:wikipedia":"en:Gabriel Pizza",cuisine:"pizza",name:"Gabriel Pizza",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Gino's Pizza":{name:"Gino's Pizza",icon:"maki-restaurant-pizza",imageURL:"https://pbs.twimg.com/profile_images/1240550288/TwitterProfile_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q5563205",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Gino's Pizza","brand:wikidata":"Q5563205","brand:wikipedia":"en:Gino's Pizza and Spaghetti",cuisine:"pizza",name:"Gino's Pizza",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Gold Star Chili":{name:"Gold Star Chili",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/goldstarchili/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16994254",amenity:"fast_food"},addTags:{alt_name:"Gold Star",amenity:"fast_food",brand:"Gold Star Chili","brand:wikidata":"Q16994254","brand:wikipedia":"en:Gold Star Chili",cuisine:"chili",name:"Gold Star Chili",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Golden Krust Caribbean Bakery & Grill":{name:"Golden Krust Caribbean Bakery & Grill",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/GoldenKrust/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5579615",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Golden Krust Caribbean Bakery & Grill","brand:wikidata":"Q5579615","brand:wikipedia":"en:Golden Krust Caribbean Bakery & Grill",cuisine:"caribbean",name:"Golden Krust",takeaway:"yes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Great American Cookies":{name:"Great American Cookies",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/greatamericancookies/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5598629",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Great American Cookies","brand:wikidata":"Q5598629","brand:wikipedia":"en:Great American Cookies",cuisine:"cookies",name:"Great American Cookies",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Greenwich":{name:"Greenwich",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/GreenwichPizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2691308",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Greenwich","brand:wikidata":"Q2691308","brand:wikipedia":"en:Greenwich Pizza",cuisine:"pizza",name:"Greenwich",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Habib's":{name:"Habib's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/habibsoficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2504930",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Habib's","brand:wikidata":"Q2504930","brand:wikipedia":"en:Habib's",cuisine:"middle_eastern",name:"Habib's",takeaway:"yes"},countryCodes:["br","mx"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Hallo Pizza":{name:"Hallo Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/Hallo.Pizza.Deutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1571798",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Hallo Pizza","brand:wikidata":"Q1571798","brand:wikipedia":"de:Hallo Pizza",cuisine:"pizza",name:"Hallo Pizza",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Hardee's":{name:"Hardee's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/hardees/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1585088",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Hardee's","brand:wikidata":"Q1585088","brand:wikipedia":"en:Hardee's",cuisine:"burger",name:"Hardee's",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Harvey's":{name:"Harvey's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/HarveysCanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1466184",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Harvey's","brand:wikidata":"Q1466184","brand:wikipedia":"en:Harvey's",cuisine:"burger",name:"Harvey's",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Herfy":{name:"Herfy",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/herfyfscksa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5738371",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Herfy","brand:ar":"هرفي","brand:en":"Herfy","brand:wikidata":"Q5738371","brand:wikipedia":"en:Herfy",cuisine:"burger",name:"Herfy","name:ar":"هرفي","name:en":"Herfy",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["ae","bd","bh","kw","sa"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Hesburger":{name:"Hesburger",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/hesburger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1276832",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Hesburger","brand:wikidata":"Q1276832","brand:wikipedia":"en:Hesburger",cuisine:"burger",name:"Hesburger",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Hot Dog on a Stick":{name:"Hot Dog on a Stick",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/HotDogonaStick/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5909922",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Hot Dog on a Stick","brand:wikidata":"Q5909922","brand:wikipedia":"en:Hot Dog on a Stick",cuisine:"hot_dog",name:"Hot Dog on a Stick",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Hot Head Burritos":{name:"Hot Head Burritos",icon:"fas-pepper-hot",imageURL:"https://pbs.twimg.com/profile_images/956274820035022853/SBuliAdo_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q5910008",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Hot Head Burritos","brand:wikidata":"Q5910008","brand:wikipedia":"en:Hot Head Burritos",cuisine:"mexican",name:"Hot Head Burritos",short_name:"Hot Head",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Hungry Howie's":{name:"Hungry Howie's",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/hungryhowies/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16985303",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Hungry Howie's","brand:wikidata":"Q16985303","brand:wikipedia":"en:Hungry Howie's Pizza",cuisine:"pizza",name:"Hungry Howie's",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:["hungry howies pizza"],matchScore:2,suggestion:true},"amenity/fast_food/burger/Hungry Jacks":{name:"Hungry Jacks",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/HungryJacks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3036373",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Hungry Jacks","brand:wikidata":"Q3036373","brand:wikipedia":"en:Hungry Jack's",cuisine:"burger",name:"Hungry Jacks",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/In-N-Out Burger":{name:"In-N-Out Burger",icon:"maki-fast-food",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FInNOut.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1205312",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"In-N-Out Burger","brand:wikidata":"Q1205312","brand:wikipedia":"en:In-N-Out Burger",cuisine:"burger",name:"In-N-Out Burger",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Jack in the Box":{name:"Jack in the Box",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/jackinthebox/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1538507",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Jack in the Box","brand:wikidata":"Q1538507","brand:wikipedia":"en:Jack in the Box",cuisine:"burger",name:"Jack in the Box",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Jamba Juice":{name:"Jamba Juice",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/jambajuice/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3088784",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Jamba Juice","brand:wikidata":"Q3088784","brand:wikipedia":"en:Jamba Juice",cuisine:"juice",name:"Jamba Juice",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Jersey Mike's Subs":{name:"Jersey Mike's Subs",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/jerseymikes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6184897",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Jersey Mike's Subs","brand:wikidata":"Q6184897","brand:wikipedia":"en:Jersey Mike's Subs",cuisine:"sandwich",name:"Jersey Mike's Subs",short_name:"Jersey Mike's",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Jimmy John's":{name:"Jimmy John's",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/jimmyjohns/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1689380",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Jimmy John's","brand:wikidata":"Q1689380","brand:wikipedia":"en:Jimmy John's",cuisine:"sandwich",name:"Jimmy John's",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Jimmy the Greek":{name:"Jimmy the Greek",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/gimmejimmy.jtg/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17077817",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Jimmy the Greek","brand:wikidata":"Q17077817","brand:wikipedia":"en:Jimmy the Greek (restaurant)",cuisine:"greek",name:"Jimmy the Greek",takeaway:"yes"},countryCodes:["ae","ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Jollibee":{name:"Jollibee",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/JollibeePhilippines/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q37614",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Jollibee","brand:wikidata":"Q37614","brand:wikipedia":"en:Jollibee",cuisine:"burger",name:"Jollibee",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Just Salad":{name:"Just Salad",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/justsalad/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23091823",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Just Salad","brand:wikidata":"Q23091823","brand:wikipedia":"en:Just Salad",cuisine:"salad",name:"Just Salad",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/KFC":{name:"KFC",icon:"fas-drumstick-bite",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FKFC%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q524757",amenity:"fast_food",cuisine:"chicken"},addTags:{alt_name:"Kentucky Fried Chicken",amenity:"fast_food",brand:"KFC","brand:wikidata":"Q524757","brand:wikipedia":"en:KFC",cuisine:"chicken",name:"KFC",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Kernels Popcorn":{name:"Kernels Popcorn",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/kernelspopcorn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64876684",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Kernels Popcorn","brand:wikidata":"Q64876684",cuisine:"popcorn",name:"Kernels Popcorn",takeaway:"yes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Kochlöffel":{name:"Kochlöffel",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/Kochloeffel.Deutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q315539",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Kochlöffel","brand:wikidata":"Q315539","brand:wikipedia":"en:Kochlöffel",cuisine:"burger",name:"Kochlöffel",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["de","tr"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Kotipizza":{name:"Kotipizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/kotipizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1628625",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Kotipizza","brand:wikidata":"Q1628625","brand:wikipedia":"en:Kotipizza",cuisine:"pizza",name:"Kotipizza",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/donut/Krispy Kreme":{name:"Krispy Kreme",icon:"temaki-donut",imageURL:"https://graph.facebook.com/KrispyKreme/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1192805",amenity:"fast_food",cuisine:"donut"},addTags:{amenity:"fast_food",brand:"Krispy Kreme","brand:wikidata":"Q1192805","brand:wikipedia":"en:Krispy Kreme",cuisine:"donut",name:"Krispy Kreme",takeaway:"yes"},reference:{key:"cuisine",value:"donut"},terms:["krispy kreme doughnuts"],matchScore:2,suggestion:true},"amenity/fast_food/burger/Krystal":{name:"Krystal",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/Krystal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q472195",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Krystal","brand:wikidata":"Q472195","brand:wikipedia":"en:Krystal (restaurant)",cuisine:"burger",name:"Krystal",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/L&L Drive-Inn (Hawaii)":{name:"L&L Drive-Inn (Hawaii)",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/hawaiianbarbecue/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6455441",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"L&L Drive-Inn","brand:wikidata":"Q6455441","brand:wikipedia":"en:L&L Hawaiian Barbecue",cuisine:"hawaiian",name:"L&L Drive-Inn",takeaway:"yes"},countryCodes:["us"],terms:["l&l","l&l drive-in"],matchScore:2,suggestion:true},"amenity/fast_food/L&L Hawaiian Barbecue":{name:"L&L Hawaiian Barbecue",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/hawaiianbarbecue/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6455441",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"L&L Hawaiian Barbecue","brand:wikidata":"Q6455441","brand:wikipedia":"en:L&L Hawaiian Barbecue",cuisine:"hawaiian",name:"L&L Hawaiian Barbecue",takeaway:"yes"},countryCodes:["us"],terms:["l&l","l&l hawaiian bbq"],matchScore:2,suggestion:true},"amenity/fast_food/burger/La Belle Province":{name:"La Belle Province",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/restolbp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3206579",amenity:"fast_food",cuisine:"burger;sandwich"},addTags:{amenity:"fast_food",brand:"La Belle Province","brand:wikidata":"Q3206579","brand:wikipedia":"fr:La Belle Province (restaurant)",cuisine:"burger;sandwich",name:"La Belle Province",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Lee's Sandwiches":{name:"Lee's Sandwiches",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/LeesSandwiches/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6512823",amenity:"fast_food",cuisine:"vietnamese;sandwich"},addTags:{amenity:"fast_food",brand:"Lee's Sandwiches","brand:wikidata":"Q6512823","brand:wikipedia":"en:Lee's Sandwiches",cuisine:"vietnamese;sandwich",name:"Lee's Sandwiches",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Little Caesars":{name:"Little Caesars",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/LittleCaesars/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1393809",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Little Caesars","brand:wikidata":"Q1393809","brand:wikipedia":"en:Little Caesars",cuisine:"pizza",name:"Little Caesars",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},terms:["little caesars pizza","little ceasars","little ceasars pizza"],matchScore:2,suggestion:true},"amenity/fast_food/Long John Silver's":{name:"Long John Silver's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/LongJohnSilvers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1535221",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Long John Silver's","brand:wikidata":"Q1535221","brand:wikipedia":"en:Long John Silver's",cuisine:"seafood",name:"Long John Silver's",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Lotteria":{name:"Lotteria",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/ilovelotteria/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q249525",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Lotteria","brand:wikidata":"Q249525","brand:wikipedia":"en:Lotteria",cuisine:"burger",name:"Lotteria",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/MOD Pizza":{name:"MOD Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/MODPizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19903469",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"MOD Pizza","brand:wikidata":"Q19903469","brand:wikipedia":"en:MOD Pizza",cuisine:"pizza",name:"MOD Pizza",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Manchu Wok":{name:"Manchu Wok",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/ManchuWOKRestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6747622",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Manchu Wok","brand:wikidata":"Q6747622","brand:wikipedia":"en:Manchu Wok",cuisine:"chinese",name:"Manchu Wok",takeaway:"yes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Mang Inasal":{name:"Mang Inasal",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/MangInasalPhilippines/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6748573",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Mang Inasal","brand:wikidata":"Q6748573","brand:wikipedia":"en:Mang Inasal",cuisine:"barbecue",name:"Mang Inasal",takeaway:"yes"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Manhattan Bagel":{name:"Manhattan Bagel",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/ManhattanBagel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64517333",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Manhattan Bagel","brand:wikidata":"Q64517333",cuisine:"bagel",name:"Manhattan Bagel",takeaway:"yes"},countryCodes:["us"],terms:["manhattan bagels"],matchScore:2,suggestion:true},"amenity/fast_food/burger/Max":{name:"Max",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/maxburgers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1912172",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Max","brand:wikidata":"Q1912172","brand:wikipedia":"en:Max Hamburgers",cuisine:"burger",name:"Max",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/McDonald's":{name:"McDonald's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/mcdonalds/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q38076",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"McDonald's","brand:wikidata":"Q38076","brand:wikipedia":"en:McDonald's",cuisine:"burger",name:"McDonald's",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Meson Sandwiches":{name:"Meson Sandwiches",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/elmesonsandwiches/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5351585",amenity:"fast_food",cuisine:"sandwich"},addTags:{alt_name:"El Meson Sandwiches",amenity:"fast_food",brand:"Meson Sandwiches","brand:wikidata":"Q5351585","brand:wikipedia":"en:El Meson Sandwiches",cuisine:"sandwich",name:"Meson Sandwiches",short_name:"Meson",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:["el meson"],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Mighty Taco":{name:"Mighty Taco",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/MyMightyTaco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6844210",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Mighty Taco","brand:wikidata":"Q6844210","brand:wikipedia":"en:Mighty Taco",cuisine:"mexican",name:"Mighty Taco",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Minute Burger":{name:"Minute Burger",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/MinuteBurger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62273503",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Minute Burger","brand:wikidata":"Q62273503",cuisine:"burger",name:"Minute Burger",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Moe's Southwest Grill":{name:"Moe's Southwest Grill",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/MoesSouthwestGrill/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6889938",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Moe's Southwest Grill","brand:wikidata":"Q6889938","brand:wikipedia":"en:Moe's Southwest Grill",cuisine:"mexican",name:"Moe's Southwest Grill",short_name:"Moe's",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Mr. Sub":{name:"Mr. Sub",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/mrsub/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6929225",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Mr. Sub","brand:wikidata":"Q6929225","brand:wikipedia":"en:Mr. Sub",cuisine:"sandwich",name:"Mr. Sub",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Mucho Burrito":{name:"Mucho Burrito",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/MuchoBurritoHQ/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65148332",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Mucho Burrito","brand:wikidata":"Q65148332",cuisine:"mexican",name:"Mucho Burrito",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/New York Fries":{name:"New York Fries",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/NewYorkFries/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7013558",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"New York Fries","brand:wikidata":"Q7013558","brand:wikipedia":"en:New York Fries",cuisine:"fries",name:"New York Fries",takeaway:"yes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/New York Pizza":{name:"New York Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/newyorkpizza.nl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2639128",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"New York Pizza","brand:wikidata":"Q2639128","brand:wikipedia":"nl:New York Pizza",cuisine:"pizza",name:"New York Pizza",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Noah's Bagels":{name:"Noah's Bagels",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/NoahsBagels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64517373",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Noah's Bagels","brand:wikidata":"Q64517373",cuisine:"bagel",name:"Noah's Bagels",official_name:"Noah's New York Bagels",takeaway:"yes"},countryCodes:["us"],terms:["noahs ny bagels"],matchScore:2,suggestion:true},"amenity/fast_food/Nordsee":{name:"Nordsee",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/NORDSEEDeutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q74866",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Nordsee","brand:wikidata":"Q74866","brand:wikipedia":"en:Nordsee",cuisine:"seafood",name:"Nordsee",takeaway:"yes"},countryCodes:["at","ch","de"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Num Pang":{name:"Num Pang",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/NumPangKitchen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62079702",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Num Pang","brand:wikidata":"Q62079702","brand:wikipedia":"en:Num Pang",cuisine:"cambodian, sandwich",name:"Num Pang",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/O'Tacos":{name:"O'Tacos",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/Otacos.France/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28494040",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"O'Tacos","brand:wikidata":"Q28494040","brand:wikipedia":"en:O'Tacos",cuisine:"mexican",name:"O'Tacos",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["be","fr"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Oporto":{name:"Oporto",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/Oportos/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4412342",amenity:"fast_food",cuisine:"burger;chicken"},addTags:{amenity:"fast_food",brand:"Oporto","brand:wikidata":"Q4412342","brand:wikipedia":"en:Oporto (restaurant)",cuisine:"burger;chicken",name:"Oporto",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Orange Julius":{name:"Orange Julius",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/OrangeJulius/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3355059",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Orange Julius","brand:wikidata":"Q3355059","brand:wikipedia":"en:Orange Julius",cuisine:"juice",name:"Orange Julius",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Pal's":{name:"Pal's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/Palsweb/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7126094",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Pal's","brand:wikidata":"Q7126094","brand:wikipedia":"en:Pal's",cuisine:"burger",name:"Pal's",official_name:"Pal's Sudden Service",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Panago":{name:"Panago",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/panago/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17111672",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Panago","brand:wikidata":"Q17111672","brand:wikipedia":"en:Panago",cuisine:"pizza",name:"Panago",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Panda Express":{name:"Panda Express",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/PandaExpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1358690",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Panda Express","brand:wikidata":"Q1358690","brand:wikipedia":"en:Panda Express",cuisine:"chinese",name:"Panda Express",takeaway:"yes"},terms:["panda"],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Panera Bread":{name:"Panera Bread",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/panerabread/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7130852",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Panera Bread","brand:wikidata":"Q7130852","brand:wikipedia":"en:Panera Bread",cuisine:"sandwich",name:"Panera Bread",short_name:"Panera",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Papa John's":{name:"Papa John's",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/papajohns/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2759586",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Papa John's","brand:wikidata":"Q2759586","brand:wikipedia":"en:Papa John's Pizza",cuisine:"pizza",name:"Papa John's",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},terms:["papa john","papa john pizza","papa johns pizza"],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Papa Murphy's":{name:"Papa Murphy's",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/papamurphyspizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7132349",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Papa Murphy's","brand:wikidata":"Q7132349","brand:wikipedia":"en:Papa Murphy's",cuisine:"pizza",name:"Papa Murphy's",official_name:"Papa Murphy's Take 'N' Bake Pizza",takeaway:"only"},reference:{key:"cuisine",value:"pizza"},countryCodes:["ca","us"],terms:["papa murphy","papa murphy pizza","papa murphys pizza"],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Penn Station":{name:"Penn Station",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/pennstation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7163311",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Penn Station","brand:wikidata":"Q7163311","brand:wikipedia":"en:Penn Station (restaurant)",cuisine:"sandwich",name:"Penn Station",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Philly Pretzel Factory":{name:"Philly Pretzel Factory",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/PhillyPretzel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60097339",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Philly Pretzel Factory","brand:wikidata":"Q60097339",cuisine:"pretzel",name:"Philly Pretzel Factory",takeaway:"yes"},countryCodes:["us"],terms:["philadelphia pretzel factory","philadelphia soft pretzel factory","philly soft pretzel factory"],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Pinulito":{name:"Pinulito",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/elsabordenuestragente/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62273613",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Pinulito","brand:wikidata":"Q62273613",cuisine:"chicken",name:"Pinulito",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["gt"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Pita Pit":{name:"Pita Pit",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/pitapitusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7757289",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Pita Pit","brand:wikidata":"Q7757289","brand:wikipedia":"en:Pita Pit",cuisine:"pita",name:"Pita Pit",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Pizza Hut Delivery":{name:"Pizza Hut Delivery",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/pizzahutus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q191615",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Pizza Hut","brand:wikidata":"Q191615","brand:wikipedia":"en:Pizza Hut",cuisine:"pizza",name:"Pizza Hut Delivery",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Pizza Hut Express":{name:"Pizza Hut Express",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/pizzahutus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q191615",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Pizza Hut","brand:wikidata":"Q191615","brand:wikipedia":"en:Pizza Hut",cuisine:"pizza",name:"Pizza Hut Express",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Pizza Nova":{name:"Pizza Nova",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/PizzaNova/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7199971",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Pizza Nova","brand:wikidata":"Q7199971","brand:wikipedia":"en:Pizza Nova",cuisine:"pizza",name:"Pizza Nova",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Pizza Pizza":{name:"Pizza Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/PizzaPizzaCanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1194143",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Pizza Pizza","brand:wikidata":"Q1194143","brand:wikipedia":"en:Pizza Pizza",cuisine:"pizza",name:"Pizza Pizza",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Pizza Schmizza":{name:"Pizza Schmizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/schmizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7199979",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Pizza Schmizza","brand:wikidata":"Q7199979","brand:wikipedia":"en:Pizza Schmizza",cuisine:"pizza",name:"Pizza Schmizza",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Pollo Campero":{name:"Pollo Campero",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/CamperoUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q942741",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Pollo Campero","brand:wikidata":"Q942741","brand:wikipedia":"en:Pollo Campero",cuisine:"chicken",name:"Pollo Campero",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Pollo Granjero (Costa Rica)":{name:"Pollo Granjero (Costa Rica)",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/PolloGranjeroCostaRica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62273665",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Pollo Granjero","brand:wikidata":"Q62273665",cuisine:"chicken",name:"Pollo Granjero",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["cr"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Pollo Granjero (Guatemala)":{name:"Pollo Granjero (Guatemala)",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/PolloGranjeroGuatemala/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62273652",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Pollo Granjero","brand:wikidata":"Q62273652",cuisine:"chicken",name:"Pollo Granjero",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["gt"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Pollo Tropical":{name:"Pollo Tropical",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/PolloTropical/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3395356",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Pollo Tropical","brand:wikidata":"Q3395356","brand:wikipedia":"en:Pollo Tropical",cuisine:"chicken",name:"Pollo Tropical",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Popeyes":{name:"Popeyes",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/PopeyesLouisianaKitchen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1330910",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Popeyes","brand:wikidata":"Q1330910","brand:wikipedia":"en:Popeyes",cuisine:"chicken",name:"Popeyes",official_name:"Popeyes Louisiana Kitchen",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Potbelly":{name:"Potbelly",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/potbellysandwichshop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7234777",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Potbelly","brand:wikidata":"Q7234777","brand:wikipedia":"en:Potbelly Sandwich Shop",cuisine:"sandwich",name:"Potbelly",official_name:"Potbelly Sandwich Works",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:["potbelly sandwich shop"],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Pret A Manger":{name:"Pret A Manger",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/pretamangerusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2109109",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Pret A Manger","brand:wikidata":"Q2109109","brand:wikipedia":"en:Pret a Manger",cuisine:"sandwich",name:"Pret A Manger",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["gb","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Pretzelmaker":{name:"Pretzelmaker",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/pretzelmaker/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7242321",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Pretzelmaker","brand:wikidata":"Q7242321","brand:wikipedia":"en:Pretzelmaker",cuisine:"pretzel",name:"Pretzelmaker",takeaway:"yes"},countryCodes:["us"],terms:["pretzel time"],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Qdoba":{name:"Qdoba",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/qdoba/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1363885",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Qdoba","brand:wikidata":"Q1363885","brand:wikipedia":"en:Qdoba",cuisine:"mexican",name:"Qdoba",official_name:"Qdoba Mexican Grill",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Quick":{name:"Quick",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/QuickBelgium/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q286494",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Quick","brand:wikidata":"Q286494","brand:wikipedia":"en:Quick (restaurant)",cuisine:"burger",name:"Quick",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["be","fr","lu"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Quiznos":{name:"Quiznos",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/Quiznos/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1936229",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Quiznos","brand:wikidata":"Q1936229","brand:wikipedia":"en:Quiznos",cuisine:"sandwich",name:"Quiznos",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},terms:["quiznos sub","quiznos subs"],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Raising Cane's":{name:"Raising Cane's",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/RaisingCanesChickenFingers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7285144",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Raising Cane's","brand:wikidata":"Q7285144","brand:wikipedia":"en:Raising Cane's Chicken Fingers",cuisine:"chicken",name:"Raising Cane's",official_name:"Raising Cane's Chicken Fingers",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Rally's":{name:"Rally's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/checkersrallys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63919323",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Rally's","brand:wikidata":"Q63919323",cuisine:"burger",name:"Rally's",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Red Rooster":{name:"Red Rooster",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/RedRoosterAU/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q376466",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Red Rooster","brand:wikidata":"Q376466","brand:wikipedia":"en:Red Rooster",cuisine:"chicken",name:"Red Rooster",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Roy Rogers":{name:"Roy Rogers",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/RoyRogersRestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7373311",amenity:"fast_food",cuisine:"burger;sandwich;chicken"},addTags:{amenity:"fast_food",brand:"Roy Rogers","brand:wikidata":"Q7373311","brand:wikipedia":"en:Roy Rogers Restaurants",cuisine:"burger;sandwich;chicken",name:"Roy Rogers",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Rubio's":{name:"Rubio's",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/rubios/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7376154",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Rubio's","brand:wikidata":"Q7376154","brand:wikipedia":"en:Rubio's Coastal Grill",cuisine:"mexican",name:"Rubio's",official_name:"Rubio's Coastal Grill",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:["rubios fresh mexican grill"],matchScore:2,suggestion:true},"amenity/fast_food/burger/SUSU & Sons":{name:"SUSU & Sons",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/susuandsons/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64760081",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"SUSU & Sons","brand:en":"SUSU & Sons","brand:he":"סוסו אנד סאנס","brand:wikidata":"Q64760081",cuisine:"burger",name:"SUSU & Sons","name:en":"SUSU & Sons","name:he":"סוסו אנד סאנס",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["il"],terms:["סוסו ובניו"],matchScore:2,suggestion:true},"amenity/fast_food/Sarku Japan":{name:"Sarku Japan",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/SarkuJapanColombia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7424243",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Sarku Japan","brand:wikidata":"Q7424243",cuisine:"japanese",name:"Sarku Japan",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Sbarro":{name:"Sbarro",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/Sbarro/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2589409",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Sbarro","brand:wikidata":"Q2589409","brand:wikipedia":"en:Sbarro",cuisine:"pizza",name:"Sbarro",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},terms:["Sbarro Pizzeria"],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Schlotzsky's":{name:"Schlotzsky's",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/Schlotzskys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2244796",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Schlotzsky's","brand:wikidata":"Q2244796","brand:wikipedia":"en:Schlotzsky's",cuisine:"sandwich",name:"Schlotzsky's",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:["schlotzskys deli"],matchScore:2,suggestion:true},"amenity/fast_food/burger/Shake Shack":{name:"Shake Shack",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/shakeshack/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1058722",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Shake Shack","brand:wikidata":"Q1058722","brand:wikipedia":"en:Shake Shack",cuisine:"burger",name:"Shake Shack",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["gb","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Sibylla":{name:"Sibylla",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/sibyllasverige/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q488643",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Sibylla","brand:wikidata":"Q488643","brand:wikipedia":"en:Sibylla (fast food)",cuisine:"burger",name:"Sibylla",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["fi","se"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Smashburger":{name:"Smashburger",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/smashburger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17061332",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Smashburger","brand:wikidata":"Q17061332","brand:wikipedia":"en:Smashburger",cuisine:"burger",name:"Smashburger",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Smoothie King":{name:"Smoothie King",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/SmoothieKing/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5491421",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Smoothie King","brand:wikidata":"Q5491421","brand:wikipedia":"en:Smoothie King",cuisine:"juice",name:"Smoothie King",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Sonic":{name:"Sonic",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/sonicdrivein/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7561808",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Sonic","brand:wikidata":"Q7561808","brand:wikipedia":"en:Sonic Drive-In",cuisine:"burger",drive_in:"yes",name:"Sonic",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:["sonic drive in"],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Specialty's":{name:"Specialty's",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/specialtys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64339210",amenity:"fast_food",cuisine:"sandwich;bakery"},addTags:{amenity:"fast_food",brand:"Specialty's","brand:wikidata":"Q64339210",cuisine:"sandwich;bakery",name:"Specialty's",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/St-Hubert Express":{name:"St-Hubert Express",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/sthubert/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3495225",amenity:"fast_food",cuisine:"chicken;barbecue"},addTags:{amenity:"fast_food",brand:"St-Hubert","brand:wikidata":"Q3495225","brand:wikipedia":"en:St-Hubert",cuisine:"chicken;barbecue",name:"St-Hubert Express",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Steak Escape":{name:"Steak Escape",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/steakescape/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7605235",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Steak Escape","brand:wikidata":"Q7605235","brand:wikipedia":"en:Steak Escape",cuisine:"sandwich",name:"Steak Escape",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Steers":{name:"Steers",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/OfficialSteers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q56599145",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Steers","brand:wikidata":"Q56599145","brand:wikipedia":"en:Steers",cuisine:"burger",name:"Steers",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Subway":{name:"Subway",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/subway/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q244457",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Subway","brand:wikidata":"Q244457","brand:wikipedia":"en:Subway (restaurant)",cuisine:"sandwich",name:"Subway",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},terms:["subway sandwiches"],matchScore:2,suggestion:true},"amenity/fast_food/burger/Supermac's":{name:"Supermac's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/supermacsofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7643750",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Supermac's","brand:wikidata":"Q7643750","brand:wikipedia":"en:Supermac's",cuisine:"burger",name:"Supermac's",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Sushi Shop":{name:"Sushi Shop",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/sushishopboutique/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64840990",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Sushi Shop","brand:wikidata":"Q64840990",cuisine:"sushi",name:"Sushi Shop",takeaway:"yes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/TCBY":{name:"TCBY",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/tcby/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7669631",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"TCBY","brand:wikidata":"Q7669631","brand:wikipedia":"en:TCBY",cuisine:"frozen_yogurt",name:"TCBY",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Taco Bell":{name:"Taco Bell",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/tacobell/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q752941",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Taco Bell","brand:wikidata":"Q752941","brand:wikipedia":"en:Taco Bell",cuisine:"tex-mex",name:"Taco Bell",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Taco Bueno":{name:"Taco Bueno",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/buenoheadquarters/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7673958",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Taco Bueno","brand:wikidata":"Q7673958","brand:wikipedia":"en:Taco Bueno",cuisine:"mexican",name:"Taco Bueno",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Taco Cabana":{name:"Taco Cabana",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/TacoCabana/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12070488",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Taco Cabana","brand:wikidata":"Q12070488","brand:wikipedia":"en:Taco Cabana",cuisine:"mexican",name:"Taco Cabana",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Taco Del Mar":{name:"Taco Del Mar",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/tacodelmarcorp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7673972",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Taco Del Mar","brand:wikidata":"Q7673972","brand:wikipedia":"en:Taco del Mar",cuisine:"mexican",name:"Taco Del Mar",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Taco John's":{name:"Taco John's",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/tacojohns/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7673962",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Taco John's","brand:wikidata":"Q7673962","brand:wikipedia":"en:Taco John's",cuisine:"mexican",name:"Taco John's",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/mexican/Taco Time":{name:"Taco Time",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/tacotime/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7673969",amenity:"fast_food",cuisine:"mexican"},addTags:{amenity:"fast_food",brand:"Taco Time","brand:wikidata":"Q7673969","brand:wikipedia":"en:Taco Time",cuisine:"mexican",name:"Taco Time",takeaway:"yes"},reference:{key:"cuisine",value:"mexican"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Ted's Hot Dogs":{name:"Ted's Hot Dogs",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/TedsHotDogs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7692930",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Ted's Hot Dogs","brand:wikidata":"Q7692930","brand:wikipedia":"en:Ted's Hot Dogs",cuisine:"sausage",name:"Ted's Hot Dogs",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Telepizza":{name:"Telepizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/telepizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2699863",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Telepizza","brand:wikidata":"Q2699863","brand:wikipedia":"en:Telepizza",cuisine:"pizza",name:"Telepizza",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Teriyaki Experience":{name:"Teriyaki Experience",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/TeriyakiExperience/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7702453",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Teriyaki Experience","brand:wikidata":"Q7702453",cuisine:"japanese",name:"Teriyaki Experience",takeaway:"yes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Thai Express (Singapore)":{name:"Thai Express (Singapore)",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/ThaiExpressSG/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7709119",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Thai Express","brand:wikidata":"Q7709119","brand:wikipedia":"en:Thai Express",cuisine:"thai",name:"Thai Express",takeaway:"yes"},countryCodes:["sg"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Thaï Express (North America)":{name:"Thaï Express (North America)",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/EatThaiExpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7711610",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Thaï Express","brand:wikidata":"Q7711610","brand:wikipedia":"en:Thaï Express",cuisine:"thai",name:"Thaï Express",takeaway:"yes"},countryCodes:["ca","us"],terms:["thai express"],matchScore:2,suggestion:true},"amenity/fast_food/burger/The Habit Burger Grill":{name:"The Habit Burger Grill",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/habitburger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18158741",amenity:"fast_food",cuisine:"burger"},addTags:{alt_name:"Habit Burger Grill",amenity:"fast_food",brand:"The Habit Burger Grill","brand:wikidata":"Q18158741","brand:wikipedia":"en:The Habit Burger Grill",cuisine:"burger",name:"The Habit Burger Grill",short_name:"Habit Burger",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:["the habit burger"],matchScore:2,suggestion:true},"amenity/fast_food/pizza/The Pizza Company":{name:"The Pizza Company",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/thepizzacompany/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2413520",amenity:"fast_food",cuisine:"pizza"},addTags:{alt_name:"Pizza Company",amenity:"fast_food",brand:"The Pizza Company","brand:wikidata":"Q2413520","brand:wikipedia":"en:The Pizza Company",cuisine:"pizza",name:"The Pizza Company",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Togo's":{name:"Togo's",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/togossandwiches/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3530375",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Togo's","brand:wikidata":"Q3530375","brand:wikipedia":"en:Togo's",cuisine:"sandwich",name:"Togo's",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Tropical Smoothie Cafe":{name:"Tropical Smoothie Cafe",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/tropicalsmoothiecafe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7845817",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Tropical Smoothie Cafe","brand:wikidata":"Q7845817","brand:wikipedia":"en:Tropical Smoothie Cafe",cuisine:"juice",name:"Tropical Smoothie Cafe",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Valentine":{name:"Valentine",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/valentineqc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3553635",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Valentine","brand:wikidata":"Q3553635","brand:wikipedia":"en:Groupe Valentine Inc.",cuisine:"burger",name:"Valentine",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Veggie Grill":{name:"Veggie Grill",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/veggiegrill/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18636427",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Veggie Grill","brand:wikidata":"Q18636427","brand:wikipedia":"en:Veggie Grill",cuisine:"american","diet:vegan":"only",name:"Veggie Grill",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Villa Madina":{name:"Villa Madina",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/villamadinarestaurant/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64876884",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Villa Madina","brand:wikidata":"Q64876884",cuisine:"mediterranean",name:"Villa Madina",takeaway:"yes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Wahoo's Fish Taco":{name:"Wahoo's Fish Taco",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/WahoosFishTaco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7959827",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Wahoo's Fish Taco","brand:wikidata":"Q7959827","brand:wikipedia":"en:Wahoo's Fish Taco",cuisine:"seafood",name:"Wahoo's Fish Taco",short_name:"Wahoo's",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Wendy's":{name:"Wendy's",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/wendys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q550258",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Wendy's","brand:wikidata":"Q550258","brand:wikipedia":"en:Wendy's",cuisine:"burger",name:"Wendy's",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Whataburger":{name:"Whataburger",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/whataburger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q376627",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Whataburger","brand:wikidata":"Q376627","brand:wikipedia":"en:Whataburger",cuisine:"burger",name:"Whataburger",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Which Wich?":{name:"Which Wich?",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/whichwich/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7993556",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Which Wich?","brand:wikidata":"Q7993556","brand:wikipedia":"en:Which Wich?",cuisine:"sandwich",name:"Which Wich?",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["ae","gb","gt","mx","om","qa","sa","us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/White Castle":{name:"White Castle",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/WhiteCastle/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1244034",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"White Castle","brand:wikidata":"Q1244034","brand:wikipedia":"en:White Castle (restaurant)",cuisine:"burger",name:"White Castle",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Wienerschnitzel":{name:"Wienerschnitzel",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/Wienerschnitzel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q324679",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Wienerschnitzel","brand:wikidata":"Q324679","brand:wikipedia":"en:Wienerschnitzel",cuisine:"hot_dog",name:"Wienerschnitzel",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Wimpy":{name:"Wimpy",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/wimpyrestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2811992",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Wimpy","brand:wikidata":"Q2811992","brand:wikipedia":"en:Wimpy (restaurant)",cuisine:"burger",name:"Wimpy",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Xi'an Famous Foods":{name:"Xi'an Famous Foods",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/xianfoods/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8044020",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Xi'an Famous Foods","brand:wikidata":"Q8044020","brand:wikipedia":"en:Xi'an Famous Foods",cuisine:"chinese",name:"Xi'an Famous Foods",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/Zaxby's":{name:"Zaxby's",icon:"fas-drumstick-bite",imageURL:"https://graph.facebook.com/Zaxbys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8067525",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"Zaxby's","brand:wikidata":"Q8067525","brand:wikipedia":"en:Zaxby's",cuisine:"chicken",name:"Zaxby's",official_name:"Zaxby's Chicken Fingers & Buffalo Wings",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Zoës Kitchen":{name:"Zoës Kitchen",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/ZoesKitchen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8074747",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Zoës Kitchen","brand:wikidata":"Q8074747","brand:wikipedia":"en:Zoës Kitchen",cuisine:"mediterranean",name:"Zoës Kitchen",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/immergrün":{name:"immergrün",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/mein.immergruen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62589254",amenity:"fast_food",cuisine:"sandwich;salad;juice"},addTags:{amenity:"fast_food",brand:"immergrün","brand:wikidata":"Q62589254",cuisine:"sandwich;salad;juice",name:"immergün",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["de"],terms:["immergün"],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Γρηγόρης":{name:"Γρηγόρης",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/gregorys.gr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62273834",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"Γρηγόρης","brand:el":"Γρηγόρης","brand:en":"Gregorys","brand:wikidata":"Q62273834",cuisine:"sandwich",name:"Γρηγόρης","name:el":"Γρηγόρης","name:en":"Gregorys",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Бургер Кинг":{name:"Бургер Кинг",icon:"maki-fast-food",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBurger%20King%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q177054",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Бургер Кинг","brand:en":"Burger King","brand:ru":"Бургер Кинг","brand:wikidata":"Q177054","brand:wikipedia":"en:Burger King",cuisine:"burger",name:"Бургер Кинг","name:en":"Burger King","name:ru":"Бургер Кинг",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["by","kz","ru"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Домино'c Пицца":{name:"Домино'c Пицца",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/Dominos/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q839466",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Домино'c Пицца","brand:en":"Domino's Pizza","brand:ru":"Домино'c Пицца","brand:wikidata":"Q839466","brand:wikipedia":"ru:Domino’s Pizza",name:"Домино'c Пицца","name:en":"Domino's Pizza","name:ru":"Домино'c Пицца",short_name:"Домино'c","short_name:en":"Domino's","short_name:ru":"Домино'c",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Крошка Картошка":{name:"Крошка Картошка",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/kartoshka.moscow/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4241838",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Крошка Картошка","brand:en":"Kroshka Kartoshka","brand:ru":"Крошка Картошка","brand:wikidata":"Q4241838","brand:wikipedia":"ru:Крошка Картошка",cuisine:"potato",name:"Крошка Картошка","name:en":"Kroshka Kartoshka","name:ru":"Крошка Картошка",takeaway:"yes"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Макдоналдс":{name:"Макдоналдс",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/mcdonalds/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q38076",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Макдоналдс","brand:en":"McDonald's","brand:ru":"Макдоналдс","brand:wikidata":"Q38076","brand:wikipedia":"en:McDonald's",cuisine:"burger",name:"Макдоналдс","name:en":"McDonald's","name:ru":"Макдоналдс",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/Папа Джонс":{name:"Папа Джонс",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/papajohns/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2759586",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"Папа Джонс","brand:en":"Papa John's","brand:ru":"Папа Джонс","brand:wikidata":"Q2759586","brand:wikipedia":"ru:Papa John’s",cuisine:"pizza",name:"Папа Джонс","name:en":"Papa John's","name:ru":"Папа Джонс",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["by","ru"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/Робин Сдобин":{name:"Робин Сдобин",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/robinsdobin/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62273880",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"Робин Сдобин","brand:en":"Robins Dobin","brand:ru":"Робин Сдобин","brand:wikidata":"Q62273880",cuisine:"burger",name:"Робин Сдобин","name:en":"Robins Dobin","name:ru":"Робин Сдобин",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/Русский Аппетит":{name:"Русский Аппетит",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/1502979646622576/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62086063",amenity:"fast_food",cuisine:"sandwich;salad;regional"},addTags:{amenity:"fast_food",brand:"Русский Аппетит","brand:en":"Russkiy Appetit","brand:ru":"Русский Аппетит","brand:wikidata":"Q62086063",cuisine:"sandwich;salad;regional",name:"Русский Аппетит","name:en":"Russkiy Appetit","name:ru":"Русский Аппетит",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Стардог!s":{name:"Стардог!s",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/StardogsOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4439856",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Стардог!s","brand:en":"Stardog!s","brand:ru":"Стардог!s","brand:wikidata":"Q4439856","brand:wikipedia":"ru:Стардогс",cuisine:"sausage",name:"Стардог!s","name:en":"Stardog!s","name:ru":"Стардог!s",takeaway:"yes"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Суши Wok":{name:"Суши Wok",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/sushiwokofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25444754",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Суши Wok","brand:en":"Sushi Wok","brand:ru":"Суши Wok","brand:wikidata":"Q25444754","brand:wikipedia":"uk:Суши Wok (мережа магазинів)",cuisine:"asian",name:"Суши Wok","name:en":"Sushi Wok","name:ru":"Суши Wok",takeaway:"yes"},countryCodes:["ru","ua"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/Теремок":{name:"Теремок",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/teremok/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4455593",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"Теремок","brand:en":"Teremok","brand:ru":"Теремок","brand:wikidata":"Q4455593","brand:wikipedia":"ru:Теремок (сеть быстрого питания)",cuisine:"crepe;russian",name:"Теремок","name:en":"Teremok","name:ru":"Теремок",takeaway:"yes"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/אגדיר":{name:"אגדיר",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/agadirburger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64760070",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"אגדיר","brand:en":"Agadir","brand:he":"אגדיר","brand:wikidata":"Q64760070",cuisine:"burger",name:"אגדיר","name:en":"Agadir","name:he":"אגדיר",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/מקדונלד'ס":{name:"מקדונלד'ס",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/McDonalds/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12061542",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"מקדונלד'ס","brand:en":"McDonald's","brand:he":"מקדונלד'ס","brand:wikidata":"Q12061542","brand:wikipedia":"en:McDonald's Israel",cuisine:"burger",name:"מקדונלד'ס","name:en":"McDonald's","name:he":"מקדונלד'ס",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/עד העצם אקספרס":{name:"עד העצם אקספרס",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/adhatzemexpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64760165",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"עד העצם אקספרס","brand:en":"Ad Haetzem Express","brand:he":"עד העצם אקספרס","brand:wikidata":"Q64760165",cuisine:"burger",name:"עד העצם אקספרס","name:en":"Ad Haetzem Express","name:he":"עד העצם אקספרס",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/دجاج كنتاكي":{name:"دجاج كنتاكي",icon:"fas-drumstick-bite",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FKFC%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q524757",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"دجاج كنتاكي","brand:ar":"دجاج كنتاكي","brand:en":"KFC","brand:wikidata":"Q524757","brand:wikipedia":"ar:دجاج كنتاكي",cuisine:"chicken",name:"دجاج كنتاكي","name:ar":"دجاج كنتاكي","name:en":"KFC",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/ماكدونالدز":{name:"ماكدونالدز",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/mcdonalds/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q38076",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"ماكدونالدز","brand:ar":"ماكدونالدز","brand:en":"McDonald's","brand:wikidata":"Q38076","brand:wikipedia":"ar:ماكدونالدز",cuisine:"burger",name:"ماكدونالدز","name:ar":"ماكدونالدز","name:en":"McDonald's",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/هرفي":{name:"هرفي",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/herfyfscksa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5738371",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"هرفي","brand:ar":"هرفي","brand:en":"Herfy","brand:wikidata":"Q5738371","brand:wikipedia":"ar:هرفي",cuisine:"burger",name:"هرفي","name:ar":"هرفي","name:en":"Herfy",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["ae","bh","kw","sa"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/かっぱ寿司":{name:"かっぱ寿司",icon:"maki-fast-food",imageURL:"https://abs.twimg.com/sticky/default_profile_images/default_profile_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q11263916",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"かっぱ寿司","brand:en":"Kappazushi","brand:ja":"かっぱ寿司","brand:wikidata":"Q11263916","brand:wikipedia":"ja:かっぱ寿司",cuisine:"sushi",name:"かっぱ寿司","name:en":"Kappazushi","name:ja":"かっぱ寿司",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/かつや":{name:"かつや",icon:"maki-fast-food",imageURL:"https://pbs.twimg.com/profile_images/1125940338793693184/GAXNsHP4_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q2855257",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"かつや","brand:en":"Katsuya","brand:ja":"かつや","brand:wikidata":"Q2855257","brand:wikipedia":"ja:かつや",cuisine:"fried_food",name:"かつや","name:en":"Katsuya","name:ja":"かつや","name:ko":"카쯔야","name:zh":"吉豚屋",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/くら寿司":{name:"くら寿司",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/Kurasushi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6445491",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"くら寿司","brand:en":"Kurazushi","brand:ja":"くら寿司","brand:wikidata":"Q6445491","brand:wikipedia":"ja:くら寿司",cuisine:"sushi",name:"くら寿司","name:en":"Kurazushi","name:ja":"くら寿司",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/すき家":{name:"すき家",icon:"maki-fast-food",imageURL:"https://pbs.twimg.com/profile_images/1074928090885672960/nTgKn0jh_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q6137375",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"すき家","brand:en":"Sukiya","brand:ja":"すき家","brand:wikidata":"Q6137375","brand:wikipedia":"ja:すき家",cuisine:"beef_bowl",name:"すき家","name:en":"Sukiya","name:ja":"すき家",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/てんや":{name:"てんや",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/TWtenya/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11319830",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"てんや","brand:en":"Tenya","brand:ja":"てんや","brand:wikidata":"Q11319830","brand:wikipedia":"jp:テンコーポレーション",cuisine:"fries",name:"てんや","name:en":"Tenya","name:ja":"てんや",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/なか卯":{name:"なか卯",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/107330239328355/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11274132",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"なか卯","brand:en":"Nakau","brand:ja":"なか卯","brand:wikidata":"Q11274132","brand:wikipedia":"ja:なか卯",cuisine:"udon",name:"なか卯","name:en":"Nakau","name:ja":"なか卯",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/はま寿司":{name:"はま寿司",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/1743876322501841/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17220385",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"はま寿司","brand:en":"Hamazushi","brand:ja":"はま寿司","brand:wikidata":"Q17220385","brand:wikipedia":"ja:はま寿司",cuisine:"sushi",name:"はま寿司","name:en":"Hamazushi","name:ja":"はま寿司",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/ほっかほっか亭":{name:"ほっかほっか亭",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/516896005176524/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5878035",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"ほっかほっか亭","brand:en":"Hokka Hokka Tei","brand:ja":"ほっかほっか亭","brand:wikidata":"Q5878035","brand:wikipedia":"ja:ほっかほっか亭",cuisine:"japanese",name:"ほっかほっか亭","name:en":"Hokka Hokka Tei","name:ja":"ほっかほっか亭",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/ほっともっと":{name:"ほっともっと",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/hottomotto/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10850949",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"ほっともっと","brand:en":"Hotto Motto","brand:ja":"ほっともっと","brand:wikidata":"Q10850949","brand:wikipedia":"ja:ほっともっと",cuisine:"japanese",name:"ほっともっと","name:en":"Hotto Motto","name:ja":"ほっともっと",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/ゆで太郎":{name:"ゆで太郎",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/273267212711878/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11280824",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"ゆで太郎","brand:en":"Yudetaro","brand:ja":"ゆで太郎","brand:wikidata":"Q11280824","brand:wikipedia":"ja:ゆで太郎",cuisine:"noodle",name:"ゆで太郎","name:en":"Yudetaro","name:ja":"ゆで太郎",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/ウェンディーズ":{name:"ウェンディーズ",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/wendys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q550258",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"ウェンディーズ","brand:en":"Wendy's","brand:ja":"ウェンディーズ","brand:wikidata":"Q550258","brand:wikipedia":"en:Wendy's",cuisine:"burger",name:"ウェンディーズ","name:en":"Wendy's","name:ja":"ウェンディーズ",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/オリジン弁当":{name:"オリジン弁当",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/152356971456128/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11292632",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"オリジン弁当","brand:en":"Origin Bentō","brand:ja":"オリジン弁当","brand:wikidata":"Q11292632","brand:wikipedia":"ja:オリジン東秀",cuisine:"japanese",name:"オリジン弁当","name:en":"Origin Bentō","name:ja":"オリジン弁当",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/ケンタッキーフライドチキン":{name:"ケンタッキーフライドチキン",icon:"fas-drumstick-bite",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FKFC%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q524757",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"ケンタッキーフライドチキン","brand:en":"KFC","brand:ja":"ケンタッキーフライドチキン","brand:wikidata":"Q524757","brand:wikipedia":"ja:KFCコーポレーション",cuisine:"chicken",name:"ケンタッキーフライドチキン","name:en":"KFC","name:ja":"ケンタッキーフライドチキン",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/sandwich/サブウェイ":{name:"サブウェイ",icon:"temaki-sandwich",imageURL:"https://graph.facebook.com/subway/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q244457",amenity:"fast_food",cuisine:"sandwich"},addTags:{amenity:"fast_food",brand:"サブウェイ","brand:en":"Subway","brand:ja":"サブウェイ","brand:wikidata":"Q244457","brand:wikipedia":"ja:サブウェイ",cuisine:"sandwich",name:"サブウェイ","name:en":"Subway","name:ja":"サブウェイ",takeaway:"yes"},reference:{key:"cuisine",value:"sandwich"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/スシロー":{name:"スシロー",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/akindosushiro/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11257037",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"スシロー","brand:en":"Sushiro","brand:ja":"スシロー","brand:wikidata":"Q11257037","brand:wikipedia":"ja:あきんどスシロー",cuisine:"sushi",name:"スシロー","name:en":"Sushiro","name:ja":"スシロー","name:zh":"壽司郎",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/ドミノ・ピザ":{name:"ドミノ・ピザ",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/Dominos/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q839466",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"ドミノ・ピザ","brand:en":"Domino's Pizza","brand:ja":"ドミノ・ピザ","brand:wikidata":"Q839466","brand:wikipedia":"ja:ドミノ・ピザ",cuisine:"pizza",name:"ドミノ・ピザ","name:en":"Domino's Pizza","name:ja":"ドミノ・ピザ",short_name:"ドミノ","short_name:en":"Domino's","short_name:ja":"ドミノ",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/バーガーキング":{name:"バーガーキング",icon:"maki-fast-food",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBurger%20King%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q177054",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"バーガーキング","brand:en":"Burger King","brand:ja":"バーガーキング","brand:wikidata":"Q177054","brand:wikipedia":"en:Burger King",cuisine:"burger",name:"バーガーキング","name:en":"Burger King","name:ja":"バーガーキング",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/ピザハット":{name:"ピザハット",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/pizzahutus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q191615",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"ピザハット","brand:en":"Pizza Hut","brand:ja":"ピザハット","brand:wikidata":"Q191615","brand:wikipedia":"ja:ピザハット",cuisine:"pizza",name:"ピザハット","name:en":"Pizza Hut","name:ja":"ピザハット",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/ピザ・カリフォルニア":{name:"ピザ・カリフォルニア",icon:"maki-restaurant-pizza",geometry:["point","area"],tags:{"brand:wikidata":"Q75324",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"ピザ・カリフォルニア","brand:en":"Pizza California","brand:ja":"ピザ・カリフォルニア","brand:wikidata":"Q75324","brand:wikipedia":"ja:ピザ・カリフォルニア",cuisine:"pizza",name:"ピザ・カリフォルニア","name:en":"Pizza California","name:ja":"ピザ・カリフォルニア",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/ピザーラ":{name:"ピザーラ",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/pizzala.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7199948",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"ピザーラ","brand:en":"Pizza-La","brand:ja":"ピザーラ","brand:wikidata":"Q7199948","brand:wikipedia":"ja:ピザーラ",cuisine:"pizza",name:"ピザーラ","name:en":"Pizza-La","name:ja":"ピザーラ",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/pizza/ファーストキッチン":{name:"ファーストキッチン",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/firstkitchen.offical/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5453133",amenity:"fast_food",cuisine:"pizza"},addTags:{amenity:"fast_food",brand:"ファーストキッチン","brand:en":"First Kitchen","brand:ja":"ファーストキッチン","brand:wikidata":"Q5453133","brand:wikipedia":"ja:ファーストキッチン",cuisine:"pizza",name:"ファーストキッチン","name:en":"First Kitchen","name:ja":"ファーストキッチン",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/フレッシュネスバーガー":{name:"フレッシュネスバーガー",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/freshness.burger.official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5503087",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"フレッシュネスバーガー","brand:en":"Freshness Burger","brand:ja":"フレッシュネスバーガー","brand:wikidata":"Q5503087","brand:wikipedia":"ja:フレッシュネスバーガー",cuisine:"burger",name:"フレッシュネスバーガー","name:en":"Freshness Burger","name:ja":"フレッシュネスバーガー",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/マクドナルド":{name:"マクドナルド",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/mcdonalds/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q38076",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"マクドナルド","brand:en":"McDonald's","brand:ja":"マクドナルド","brand:wikidata":"Q38076","brand:wikipedia":"ja:マクドナルド",cuisine:"burger",name:"マクドナルド","name:en":"McDonald's","name:ja":"マクドナルド",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/donut/ミスタードーナツ":{name:"ミスタードーナツ",icon:"temaki-donut",imageURL:"https://graph.facebook.com/misdo.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1065819",amenity:"fast_food",cuisine:"donut"},addTags:{amenity:"fast_food",brand:"ミスタードーナツ","brand:en":"Mister Donut","brand:ja":"ミスタードーナツ","brand:wikidata":"Q1065819","brand:wikipedia":"en:Mister Donut",cuisine:"donut",name:"ミスタードーナツ","name:en":"Mister Donut","name:ja":"ミスタードーナツ",takeaway:"yes"},reference:{key:"cuisine",value:"donut"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/モスバーガー":{name:"モスバーガー",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/mosburger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1204169",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"モスバーガー","brand:en":"MOS Burger","brand:ja":"モスバーガー","brand:wikidata":"Q1204169","brand:wikipedia":"ja:モスバーガー",cuisine:"burger",name:"モスバーガー","name:en":"MOS Burger","name:ja":"モスバーガー",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/ラーメン二郎":{name:"ラーメン二郎",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/jirolian/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11347765",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"ラーメン二郎","brand:en":"Ramen Jiro","brand:ja":"ラーメン二郎","brand:wikidata":"Q11347765","brand:wikipedia":"ja:ラーメン二郎",cuisine:"ramen",name:"ラーメン二郎","name:en":"Ramen Jiro","name:ja":"ラーメン二郎",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/ロッテリア":{name:"ロッテリア",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/ilovelotteria/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q249525",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"ロッテリア","brand:en":"Lotteria","brand:ja":"ロッテリア","brand:wikidata":"Q249525","brand:wikipedia":"ja:ロッテリア",cuisine:"burger",name:"ロッテリア","name:en":"Lotteria","name:ja":"ロッテリア",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/吉野家":{name:"吉野家",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/tw.yoshinoya/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q776272",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"吉野家","brand:en":"Yoshinoya","brand:ja":"吉野家","brand:wikidata":"Q776272","brand:wikipedia":"ja:吉野家",cuisine:"beef_bowl",name:"吉野家","name:en":"Yoshinoya","name:ja":"吉野家",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/富士そば":{name:"富士そば",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/fujisoba/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11414722",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"富士そば","brand:en":"Fuji Soba","brand:ja":"富士そば","brand:wikidata":"Q11414722","brand:wikipedia":"ja:名代富士そば",cuisine:"soba",name:"富士そば","name:en":"Fuji Soba","name:ja":"富士そば",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/幸楽苑":{name:"幸楽苑",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/Kourakuen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11484003",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"幸楽苑","brand:en":"Kourakuen","brand:ja":"幸楽苑","brand:wikidata":"Q11484003","brand:wikipedia":"ja:幸楽苑",cuisine:"ramen",name:"幸楽苑","name:en":"Kourakuen","name:ja":"幸楽苑",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/摩斯漢堡":{name:"摩斯漢堡",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/mosburger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1204169",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"摩斯漢堡","brand:en":"MOS Burger","brand:wikidata":"Q1204169","brand:wikipedia":"zh:摩斯漢堡","brand:zh":"摩斯漢堡",cuisine:"burger",name:"摩斯漢堡","name:en":"MOS Burger","name:zh":"摩斯漢堡",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["cn","hk","mo","sg","tw"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/日高屋":{name:"日高屋",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/hidakayavietnam/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11326050",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"日高屋","brand:en":"Hidakaya","brand:wikidata":"Q11326050","brand:wikipedia":"ja:ハイデイ日高",cuisine:"noodle",name:"日高屋","name:en":"Hidakaya",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/松屋":{name:"松屋",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/matsuyafoods.matsuya/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q848773",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"松屋","brand:en":"Matsuya","brand:ja":"松屋","brand:wikidata":"Q848773","brand:wikipedia":"ja:松屋フーズ",cuisine:"japanese",name:"松屋","name:en":"Matsuya","name:ja":"松屋",official_name:"松屋フーズ","official_name:en":"Matsuya Foods","official_name:ja":"松屋フーズ",takeaway:"yes"},countryCodes:["cn","hk","jp","mo","sg","tw"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/箱根そば":{name:"箱根そば",icon:"maki-fast-food",geometry:["point","area"],tags:{"brand:wikidata":"Q11603345",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"箱根そば","brand:en":"Hakone Soba","brand:ja":"箱根そば","brand:wikidata":"Q11603345","brand:wikipedia":"ja:箱根そば",cuisine:"soba",name:"箱根そば","name:en":"Hakone Soba","name:ja":"箱根そば",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/築地銀だこ":{name:"築地銀だこ",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/GindacoUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11603490",amenity:"fast_food"},addTags:{amenity:"fast_food",brand:"築地銀だこ","brand:en":"Gindaco","brand:ja":"築地銀だこ","brand:wikidata":"Q11603490","brand:wikipedia":"ja:築地銀だこ",cuisine:"takoyaki",name:"築地銀だこ","name:en":"Gindaco","name:ja":"築地銀だこ",takeaway:"yes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/chicken/肯德基":{name:"肯德基",icon:"fas-drumstick-bite",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FKFC%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q524757",amenity:"fast_food",cuisine:"chicken"},addTags:{amenity:"fast_food",brand:"肯德基","brand:en":"KFC","brand:wikidata":"Q524757","brand:wikipedia":"zh:肯德基",cuisine:"chicken",name:"肯德基","name:en":"KFC",takeaway:"yes"},reference:{key:"cuisine",value:"chicken"},countryCodes:["cn","hk","mo","sg","tw"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/麥當勞":{name:"麥當勞",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/mcdonalds/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q38076",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"麥當勞","brand:en":"McDonald's","brand:wikidata":"Q38076","brand:wikipedia":"zh:麥當勞","brand:zh":"麥當勞","brand:zh-Hant":"麥當勞",cuisine:"burger",name:"麥當勞","name:en":"McDonald's","name:zh":"麥當勞","name:zh-Hant":"麥當勞",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["hk","mo","tw"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/麦当劳":{name:"麦当劳",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/mcdonalds/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q38076",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"麦当劳","brand:en":"McDonald's","brand:wikidata":"Q38076","brand:wikipedia":"zh:麦当劳","brand:zh":"麦当劳","brand:zh-Hans":"麦当劳",cuisine:"burger",name:"麦当劳","name:en":"McDonald's","name:zh":"麦当劳","name:zh-Hans":"麦当劳",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["cn","sg"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/롯데리아":{name:"롯데리아",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/ilovelotteria/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q249525",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"롯데리아","brand:en":"Lotteria","brand:ko":"롯데리아","brand:wikidata":"Q249525","brand:wikipedia":"ko:롯데리아",cuisine:"burger",name:"롯데리아","name:en":"Lotteria","name:ko":"롯데리아",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/맘스터치":{name:"맘스터치",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/momstouchmain/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23044856",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"맘스터치","brand:ko":"맘스터치","brand:wikidata":"Q23044856","brand:wikipedia":"en:Mom's Touch",cuisine:"burger",name:"맘스터치","name:ko":"맘스터치",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"amenity/fast_food/burger/맥도날드":{name:"맥도날드",icon:"maki-fast-food",imageURL:"https://graph.facebook.com/mcdonalds/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q38076",amenity:"fast_food",cuisine:"burger"},addTags:{amenity:"fast_food",brand:"맥도날드","brand:en":"McDonald's","brand:ko":"맥도날드","brand:wikidata":"Q38076","brand:wikipedia":"ko:맥도날드",cuisine:"burger",name:"맥도날드","name:en":"McDonald's","name:ko":"맥도날드",takeaway:"yes"},reference:{key:"cuisine",value:"burger"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/1-2-3":{name:"1-2-3",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q4545742",amenity:"fuel"},addTags:{amenity:"fuel",brand:"1-2-3","brand:wikidata":"Q4545742","brand:wikipedia":"en:1-2-3 (fuel station)",name:"1-2-3"},countryCodes:["dk","pl"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/7-Eleven":{name:"7-Eleven",icon:"maki-fuel",imageURL:"https://graph.facebook.com/7ElevenMexico/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q259340",amenity:"fuel"},addTags:{amenity:"fuel",brand:"7-Eleven","brand:wikidata":"Q259340","brand:wikipedia":"en:7-Eleven",name:"7-Eleven"},terms:["7-11","seven eleven"],matchScore:2,suggestion:true},"amenity/fuel/76":{name:"76",icon:"maki-fuel",imageURL:"https://graph.facebook.com/76gas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1658320",amenity:"fuel"},addTags:{amenity:"fuel",brand:"76","brand:wikidata":"Q1658320","brand:wikipedia":"en:76 (gas station)",name:"76"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/ABC":{name:"ABC",icon:"maki-fuel",imageURL:"https://graph.facebook.com/abcasemat/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10397504",amenity:"fuel"},addTags:{amenity:"fuel",brand:"ABC","brand:wikidata":"Q10397504","brand:wikipedia":"fi:ABC-ketju",name:"ABC"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/ADNOC":{name:"ADNOC",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ADNOCDistribution/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q166729",amenity:"fuel"},addTags:{amenity:"fuel",brand:"ADNOC","brand:wikidata":"Q166729","brand:wikipedia":"en:Abu Dhabi National Oil Company",name:"ADNOC"},countryCodes:["ae"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Aegean":{name:"Aegean",icon:"maki-fuel",imageURL:"https://graph.facebook.com/AegeanOil.Official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28146598",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Aegean","brand:wikidata":"Q28146598","brand:wikipedia":"el:Aegean Oil",name:"Aegean"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Afriquia":{name:"Afriquia",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q2829178",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Afriquia","brand:wikidata":"Q2829178","brand:wikipedia":"en:Akwa Group",name:"Afriquia"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Agip":{name:"Agip",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q377915",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Agip","brand:wikidata":"Q377915","brand:wikipedia":"en:Agip",name:"Agip"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Agrola":{name:"Agrola",icon:"maki-fuel",imageURL:"https://graph.facebook.com/AGROLA.AG/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q397351",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Agrola","brand:wikidata":"Q397351","brand:wikipedia":"de:Agrola",name:"Agrola"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Aloha Petroleum":{name:"Aloha Petroleum",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q4734197",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Aloha Petroleum","brand:wikidata":"Q4734197","brand:wikipedia":"en:Aloha Petroleum",name:"Aloha Petroleum",official_name:"Aloha Petroleum Ltd"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Alon":{name:"Alon",icon:"maki-fuel",imageURL:"https://graph.facebook.com/alonbrands/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62274304",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Alon","brand:wikidata":"Q62274304",name:"Alon"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Alpet":{name:"Alpet",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ALPETtr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62131561",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Alpet","brand:wikidata":"Q62131561",name:"Alpet"},countryCodes:["al","tr"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Api":{name:"Api",icon:"maki-fuel",imageURL:"https://graph.facebook.com/TheAmericanPetroleumInstitute/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q466043",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Api","brand:wikidata":"Q466043","brand:wikipedia":"en:American Petroleum Institute",name:"Api"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Aral":{name:"Aral",icon:"maki-fuel",imageURL:"https://graph.facebook.com/araldeutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q565734",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Aral","brand:wikidata":"Q565734","brand:wikipedia":"en:Aral AG",name:"Aral"},countryCodes:["de"],terms:["aral tankstelle"],matchScore:2,suggestion:true},"amenity/fuel/Arco":{name:"Arco",icon:"maki-fuel",imageURL:"https://graph.facebook.com/arco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q304769",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Arco","brand:wikidata":"Q304769","brand:wikipedia":"en:ARCO",name:"Arco"},countryCodes:["mx","us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Asda":{name:"Asda",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Asda/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q297410",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Asda","brand:wikidata":"Q297410","brand:wikipedia":"en:Asda",name:"Asda"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Atem":{name:"Atem",icon:"maki-fuel",imageURL:"https://graph.facebook.com/postosatem/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62332255",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Atem","brand:wikidata":"Q62332255",name:"Atem"},countryCodes:["br"],terms:["posto atem"],matchScore:2,suggestion:true},"amenity/fuel/Auchan":{name:"Auchan",icon:"maki-fuel",imageURL:"https://graph.facebook.com/auchan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q758603",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Auchan","brand:wikidata":"Q758603","brand:wikipedia":"en:Auchan",name:"Auchan"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Avanti":{name:"Avanti",icon:"maki-fuel",imageURL:"https://graph.facebook.com/OMV/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q168238",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Avanti","brand:wikidata":"Q168238","brand:wikipedia":"en:OMV",name:"Avanti"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Avia":{name:"Avia",icon:"maki-fuel",imageURL:"https://pbs.twimg.com/profile_images/1069532667018993664/9AUsuTdx_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q300147",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Avia","brand:wikidata":"Q300147","brand:wikipedia":"de:Avia International",name:"Avia"},terms:["station avia"],matchScore:2,suggestion:true},"amenity/fuel/Avin":{name:"Avin",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q19903165",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Avin","brand:wikidata":"Q19903165","brand:wikipedia":"en:Avin International",name:"Avin"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Axion":{name:"Axion",icon:"maki-fuel",imageURL:"https://graph.facebook.com/AXIONenergyOficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62131749",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Axion","brand:wikidata":"Q62131749",name:"Axion"},countryCodes:["ar","py","uy"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Aytemiz":{name:"Aytemiz",icon:"maki-fuel",imageURL:"https://graph.facebook.com/AytemizOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62274352",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Aytemiz","brand:wikidata":"Q62274352",name:"Aytemiz"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/BEBECO":{name:"BEBECO",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q62274373",amenity:"fuel"},addTags:{amenity:"fuel",brand:"BEBECO","brand:wikidata":"Q62274373",name:"BEBECO"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/BHPetrol":{name:"BHPetrol",icon:"maki-fuel",imageURL:"https://graph.facebook.com/BHP.Petrol/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62274381",amenity:"fuel"},addTags:{amenity:"fuel",brand:"BHPetrol","brand:wikidata":"Q62274381",name:"BHPetrol"},countryCodes:["my"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/BP":{name:"BP",icon:"maki-fuel",imageURL:"https://graph.facebook.com/bp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q152057",amenity:"fuel"},addTags:{amenity:"fuel",brand:"BP","brand:wikidata":"Q152057","brand:wikipedia":"en:BP",name:"BP"},terms:["BP Gas Station"],matchScore:2,suggestion:true},"amenity/fuel/BR":{name:"BR",icon:"maki-fuel",imageURL:"https://graph.facebook.com/postospetrobras/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4836468",amenity:"fuel"},addTags:{amenity:"fuel",brand:"BR","brand:wikidata":"Q4836468","brand:wikipedia":"pt:Petrobras Distribuidora",name:"BR"},countryCodes:["br"],terms:["br petrobras","petrobras","posto br"],matchScore:2,suggestion:true},"amenity/fuel/Bangchak":{name:"Bangchak",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Bangchak/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6579719",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Bangchak","brand:wikidata":"Q6579719","brand:wikipedia":"zh:曼差石油股份",name:"Bangchak"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Bharat Petroleum":{name:"Bharat Petroleum",icon:"maki-fuel",imageURL:"https://graph.facebook.com/BharatPetroleumcorporation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q854826",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Bharat Petroleum","brand:wikidata":"Q854826","brand:wikipedia":"en:Bharat Petroleum",name:"Bharat Petroleum"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Biomax":{name:"Biomax",icon:"maki-fuel",imageURL:"https://graph.facebook.com/BiomaxColombia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62274413",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Biomax","brand:wikidata":"Q62274413",name:"Biomax"},countryCodes:["co"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Bliska":{name:"Bliska",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q4016378",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Bliska","brand:wikidata":"Q4016378","brand:wikipedia":"pl:Bliska",name:"Bliska"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/CAMPSA":{name:"CAMPSA",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q1031623",amenity:"fuel"},addTags:{amenity:"fuel",brand:"CAMPSA","brand:wikidata":"Q1031623","brand:wikipedia":"en:Campsa",name:"CAMPSA"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/CEPSA":{name:"CEPSA",icon:"maki-fuel",imageURL:"https://graph.facebook.com/CEPSAespana/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q608819",amenity:"fuel"},addTags:{amenity:"fuel",brand:"CEPSA","brand:wikidata":"Q608819","brand:wikipedia":"en:Cepsa",name:"CEPSA"},countryCodes:["es","pt"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Caltex":{name:"Caltex",icon:"maki-fuel",imageURL:"https://pbs.twimg.com/profile_images/582354948345634816/nzfEGDG1_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q277470",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Caltex","brand:wikidata":"Q277470","brand:wikipedia":"en:Caltex",name:"Caltex"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Canadian Tire Gas+":{name:"Canadian Tire Gas+",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Canadiantire/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1032400",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Canadian Tire","brand:wikidata":"Q1032400","brand:wikipedia":"en:Canadian Tire",name:"Canadian Tire"},terms:["canadian tire","canadian tire gas bar"],matchScore:2,suggestion:true},"amenity/fuel/Carrefour":{name:"Carrefour",icon:"maki-fuel",imageURL:"https://graph.facebook.com/carrefour/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q217599",amenity:"fuel"},addTags:{brand:"Carrefour","brand:wikidata":"Q217599","brand:wikipedia":"fr:Carrefour (enseigne)",name:"Carrefour"},terms:["carrefour market"],matchScore:2,suggestion:true},"amenity/fuel/Casey's General Store":{name:"Casey's General Store",icon:"maki-fuel",imageURL:"https://graph.facebook.com/caseys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2940968",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Casey's General Store","brand:wikidata":"Q2940968","brand:wikipedia":"en:Casey's General Stores",name:"Casey's General Store"},terms:["caseys"],matchScore:2,suggestion:true},"amenity/fuel/Cenex":{name:"Cenex",icon:"maki-fuel",imageURL:"https://graph.facebook.com/CenexStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5011381",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Cenex","brand:wikidata":"Q5011381","brand:wikipedia":"en:CHS Inc.",name:"Cenex"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Ceypetco":{name:"Ceypetco",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q5065795",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Ceypetco","brand:wikidata":"Q5065795","brand:wikipedia":"en:Ceylon Petroleum Corporation",name:"Ceypetco"},countryCodes:["lk"],terms:["lanka filling station"],matchScore:2,suggestion:true},"amenity/fuel/Chevron":{name:"Chevron",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Chevron/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q319642",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Chevron","brand:wikidata":"Q319642","brand:wikipedia":"en:Chevron Corporation",name:"Chevron"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Circle K":{name:"Circle K",icon:"maki-fuel",imageURL:"https://graph.facebook.com/circlekireland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3268010",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Circle K","brand:wikidata":"Q3268010","brand:wikipedia":"en:Circle K",name:"Circle K"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Citgo":{name:"Citgo",icon:"maki-fuel",imageURL:"https://graph.facebook.com/CITGOPetroleumCorporation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2974437",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Citgo","brand:wikidata":"Q2974437","brand:wikipedia":"en:Citgo",name:"Citgo"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Clark":{name:"Clark",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ClarkCrownBrands/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5127157",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Clark","brand:wikidata":"Q5127157","brand:wikipedia":"en:Clark Brands",name:"Clark"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Co-op (Canada)":{name:"Co-op (Canada)",icon:"maki-fuel",imageURL:"https://graph.facebook.com/CoopCRS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5440676",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Federated Co-operatives","brand:wikidata":"Q5440676","brand:wikipedia":"en:Federated Co-operatives",name:"Co-op"},countryCodes:["ca"],terms:["coop"],matchScore:2,suggestion:true},"amenity/fuel/Coles Express":{name:"Coles Express",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ColesExpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5144653",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Coles Express","brand:wikidata":"Q5144653","brand:wikipedia":"en:Coles Express",name:"Coles Express"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Conoco":{name:"Conoco",icon:"maki-fuel",imageURL:"https://graph.facebook.com/conoco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1126518",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Conoco","brand:wikidata":"Q1126518","brand:wikipedia":"en:Conoco",name:"Conoco"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Copec":{name:"Copec",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q11681461",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Copec","brand:wikidata":"Q11681461","brand:wikipedia":"en:Empresas Copec",name:"Copec"},countryCodes:["cl"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Copetrol":{name:"Copetrol",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Copetrol/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62274431",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Copetrol","brand:wikidata":"Q62274431",name:"Copetrol"},countryCodes:["py"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Cosmo":{name:"Cosmo",icon:"maki-fuel",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FCosmo%20Oil%20company%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2498318",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Cosmo","brand:wikidata":"Q2498318","brand:wikipedia":"en:Cosmo Oil Company",name:"Cosmo"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Costco Gasoline":{name:"Costco Gasoline",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Costco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q715583",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Costco Gasoline","brand:wikidata":"Q715583","brand:wikipedia":"en:Costco",name:"Costco Gasoline"},countryCodes:["au","ca","mx","us"],terms:["costco","costco gas","costco wholesale"],matchScore:2,suggestion:true},"amenity/fuel/Couche-Tard":{name:"Couche-Tard",icon:"maki-fuel",imageURL:"https://graph.facebook.com/CoucheTardQc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2836957",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Couche-Tard","brand:wikidata":"Q2836957","brand:wikipedia":"en:Alimentation Couche-Tard",name:"Couche-Tard"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Crevier":{name:"Crevier",icon:"maki-fuel",imageURL:"https://graph.facebook.com/GroupeCrevier/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61743451",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Crevier","brand:wikidata":"Q61743451",name:"Crevier"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Crodux":{name:"Crodux",icon:"maki-fuel",imageURL:"https://graph.facebook.com/croduxhr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62274622",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Crodux","brand:wikidata":"Q62274622",name:"Crodux"},countryCodes:["hr"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Cumberland Farms":{name:"Cumberland Farms",icon:"maki-fuel",imageURL:"https://graph.facebook.com/CumberlandFarms/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1143685",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Cumberland Farms","brand:wikidata":"Q1143685","brand:wikipedia":"en:Cumberland Farms",name:"Cumberland Farms"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Delta (Panama & Costa Rica)":{name:"Delta (Panama & Costa Rica)",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PetroleosDelta/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62274638",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Delta","brand:wikidata":"Q62274638",name:"Delta"},countryCodes:["cr","us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Delta (USA)":{name:"Delta (USA)",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q62274661",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Delta","brand:wikidata":"Q62274661",name:"Delta"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Diamond Shamrock":{name:"Diamond Shamrock",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q16973722",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Diamond Shamrock","brand:wikidata":"Q16973722","brand:wikipedia":"en:Diamond Shamrock",name:"Diamond Shamrock"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Domo":{name:"Domo",icon:"maki-fuel",imageURL:"https://pbs.twimg.com/profile_images/924850916536107008/9ZCP6jwR_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q5291326",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Domo","brand:wikidata":"Q5291326","brand:wikipedia":"en:Domo Gasoline",name:"Domo"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/EKO (Canada)":{name:"EKO (Canada)",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q3045934",amenity:"fuel"},addTags:{amenity:"fuel",brand:"EKO","brand:wikidata":"Q3045934","brand:wikipedia":"fr:EKO",name:"EKO"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/EKO (Greece)":{name:"EKO (Greece)",icon:"maki-fuel",imageURL:"https://graph.facebook.com/HELPEgroup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q903198",amenity:"fuel"},addTags:{amenity:"fuel",brand:"EKO","brand:wikidata":"Q903198","brand:wikipedia":"el:Ελληνικά Πετρέλαια",name:"EKO"},countryCodes:["bg","cy","gr","me","mk","rs"],terms:["εκο"],matchScore:2,suggestion:true},"amenity/fuel/ENEOS":{name:"ENEOS",icon:"maki-fuel",imageURL:"https://graph.facebook.com/eneos.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1640290",amenity:"fuel"},addTags:{amenity:"fuel",brand:"ENEOS","brand:wikidata":"Q1640290","brand:wikipedia":"en:JXTG Nippon Oil & Energy",name:"ENEOS"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Elan":{name:"Elan",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q57980752",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Elan","brand:wikidata":"Q57980752",name:"Elan"},countryCodes:["de","fr","nl"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Engen":{name:"Engen",icon:"maki-fuel",imageURL:"https://pbs.twimg.com/profile_images/1014490248112373760/rL8smOvY_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q3054251",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Engen","brand:wikidata":"Q3054251","brand:wikipedia":"en:Engen Petroleum",name:"Engen"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Eni":{name:"Eni",icon:"maki-fuel",imageURL:"https://pbs.twimg.com/profile_images/875644564459012097/fsDlSI7T_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q565594",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Eni","brand:wikidata":"Q565594","brand:wikipedia":"en:Eni",name:"Eni"},countryCodes:["at","ch","fr","it"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Erg":{name:"Erg",icon:"maki-fuel",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FERG%20logo2018.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q739503",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Erg","brand:wikidata":"Q739503","brand:wikipedia":"it:ERG (azienda)",name:"Erg"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Esso":{name:"Esso",icon:"maki-fuel",imageURL:"https://graph.facebook.com/EssoGB/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q867662",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Esso","brand:wikidata":"Q867662","brand:wikipedia":"en:Esso",name:"Esso"},terms:["station esso"],matchScore:2,suggestion:true},"amenity/fuel/Esso Express":{name:"Esso Express",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q2350336",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Esso Express","brand:wikidata":"Q2350336","brand:wikipedia":"nl:Esso Express",name:"Esso Express"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Exxon":{name:"Exxon",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ExxonandMobilStations/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4781944",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Exxon","brand:wikidata":"Q4781944","brand:wikipedia":"en:Exxon",name:"Exxon"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/F24":{name:"F24",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q12310853",amenity:"fuel"},addTags:{amenity:"fuel",brand:"F24","brand:wikidata":"Q12310853","brand:wikipedia":"da:F24",name:"F24"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Fas Gas":{name:"Fas Gas",icon:"maki-fuel",imageURL:"https://graph.facebook.com/FasGasPlusCorporate/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61743505",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Fas Gas","brand:wikidata":"Q61743505","brand:wikipedia":"en:Parkland Fuel",name:"Fas Gas"},countryCodes:["ca"],terms:["fas gas plus"],matchScore:2,suggestion:true},"amenity/fuel/Firezone":{name:"Firezone",icon:"maki-fuel",imageURL:"https://graph.facebook.com/FirezoneNL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q14628080",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Firezone","brand:wikidata":"Q14628080","brand:wikipedia":"nl:Firezone",name:"Firezone"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Flying J":{name:"Flying J",icon:"maki-fuel",imageURL:"https://graph.facebook.com/pilottravelcenters/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64130592",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Flying J","brand:wikidata":"Q64130592",name:"Flying J"},countryCodes:["ca","us"],terms:["flying j travel plaza"],matchScore:2,suggestion:true},"amenity/fuel/Flying V":{name:"Flying V",icon:"maki-fuel",imageURL:"https://graph.facebook.com/OfficialFlyingV/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62275048",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Flying V","brand:wikidata":"Q62275048",name:"Flying V"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Freie Tankstelle":{name:"Freie Tankstelle",icon:"maki-fuel",imageURL:"https://graph.facebook.com/768624663275807/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1009104",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Freie Tankstelle","brand:wikidata":"Q1009104","brand:wikipedia":"de:Bundesverband freier Tankstellen",name:"Freie Tankstelle"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/GALP":{name:"GALP",icon:"maki-fuel",imageURL:"https://graph.facebook.com/468503569977955/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1492739",amenity:"fuel"},addTags:{amenity:"fuel",brand:"GALP","brand:wikidata":"Q1492739","brand:wikipedia":"en:Galp Energia",name:"GALP"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Gazel":{name:"Gazel",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q62529885",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Gazel","brand:wikidata":"Q62529885",name:"Gazel"},countryCodes:["co","mx","pe"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Gazprom":{name:"Gazprom",icon:"maki-fuel",imageURL:"https://graph.facebook.com/GazpromNewsEn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q102673",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Gazprom","brand:wikidata":"Q102673","brand:wikipedia":"en:Gazprom",name:"Gazprom"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/GetGo":{name:"GetGo",icon:"maki-fuel",imageURL:"https://graph.facebook.com/GiantEagleGetGo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5553766",amenity:"fuel"},addTags:{amenity:"fuel",brand:"GetGo","brand:wikidata":"Q5553766","brand:wikipedia":"en:GetGo",name:"GetGo"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Glusco":{name:"Glusco",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Glusco.Ukraine/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62284719",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Glusco","brand:wikidata":"Q62284719",name:"Glusco"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Goil":{name:"Goil",icon:"maki-fuel",imageURL:"https://graph.facebook.com/GOIL.Official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5555383",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Goil","brand:wikidata":"Q5555383","brand:wikipedia":"en:Ghana Oil Company",name:"Goil"},countryCodes:["gh"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Gulf":{name:"Gulf",icon:"maki-fuel",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FGulf%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1296860",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Gulf","brand:wikidata":"Q1296860","brand:wikipedia":"en:Gulf Oil",name:"Gulf"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Gull":{name:"Gull",icon:"maki-fuel",imageURL:"https://graph.facebook.com/GullNZ/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5617739",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Gull","brand:wikidata":"Q5617739","brand:wikipedia":"en:Gull Petroleum",name:"Gull"},countryCodes:["au","nz"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/H-E-B Fuel":{name:"H-E-B Fuel",icon:"maki-fuel",imageURL:"https://graph.facebook.com/HEB/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q830621",amenity:"fuel"},addTags:{amenity:"fuel",brand:"H-E-B Fuel","brand:wikidata":"Q830621","brand:wikipedia":"en:H-E-B",name:"H-E-B Fuel"},countryCodes:["us"],terms:["h-e-b gas"],matchScore:2,suggestion:true},"amenity/fuel/HEM":{name:"HEM",icon:"maki-fuel",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FTamoil.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1563517",amenity:"fuel"},addTags:{amenity:"fuel",brand:"HEM","brand:wikidata":"Q1563517","brand:wikipedia":"de:Deutsche Tamoil",name:"HEM"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/HP":{name:"HP",icon:"maki-fuel",imageURL:"https://graph.facebook.com/hpcl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1619375",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Hindustan Petroleum","brand:wikidata":"Q1619375","brand:wikipedia":"en:Hindustan Petroleum",name:"HP",official_name:"Hindustan Petroleum"},countryCodes:["in"],terms:["hp petrol pump"],matchScore:2,suggestion:true},"amenity/fuel/Harnois":{name:"Harnois",icon:"maki-fuel",imageURL:"https://graph.facebook.com/harnoisenergies/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61743558",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Harnois","brand:wikidata":"Q61743558",name:"Harnois"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Hess":{name:"Hess",icon:"maki-fuel",imageURL:"https://graph.facebook.com/HessCorporation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1615684",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Hess","brand:wikidata":"Q1615684","brand:wikipedia":"en:Hess Corporation",name:"Hess"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Hofer":{name:"Hofer",icon:"maki-fuel",imageURL:"https://graph.facebook.com/HOFER.AT/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15815751",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Hofer","brand:wikidata":"Q15815751","brand:wikipedia":"de:Hofer KG",name:"Hofer"},countryCodes:["at","si"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Holiday":{name:"Holiday",icon:"maki-fuel",imageURL:"https://graph.facebook.com/holidaystations/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5880490",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Holiday","brand:wikidata":"Q5880490","brand:wikipedia":"en:Holiday Stationstores",name:"Holiday"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Husky":{name:"Husky",icon:"maki-fuel",imageURL:"https://graph.facebook.com/huskyenergy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q702049",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Husky","brand:wikidata":"Q702049","brand:wikipedia":"en:Husky Energy",name:"Husky"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/IES":{name:"IES",icon:"maki-fuel",imageURL:"https://pbs.twimg.com/profile_images/512948242925891586/WqYuXs0m_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q62287387",amenity:"fuel"},addTags:{amenity:"fuel",brand:"IES","brand:wikidata":"Q62287387",name:"IES"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/IP":{name:"IP",icon:"maki-fuel",imageURL:"https://graph.facebook.com/IPperlitalia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q646807",amenity:"fuel"},addTags:{amenity:"fuel",brand:"IP","brand:wikidata":"Q646807","brand:wikipedia":"en:Anonima Petroli Italiana",name:"IP"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Indian Oil":{name:"Indian Oil",icon:"maki-fuel",imageURL:"https://graph.facebook.com/IndianOilCorpLimited/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1289348",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Indian Oil","brand:wikidata":"Q1289348","brand:wikipedia":"en:Indian Oil Corporation",name:"Indian Oil"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Ingo":{name:"Ingo",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ingosverige/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17048617",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Ingo","brand:wikidata":"Q17048617","brand:wikipedia":"en:Ingo (brand)",name:"Ingo"},countryCodes:["dk","se"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Intermarché":{name:"Intermarché",icon:"maki-fuel",imageURL:"https://graph.facebook.com/tousuniscontrelaviechere/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3153200",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Intermarché","brand:wikidata":"Q3153200","brand:wikipedia":"fr:Intermarché",name:"Intermarché"},terms:["intermarché super"],matchScore:2,suggestion:true},"amenity/fuel/Ipiranga":{name:"Ipiranga",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ipirangaoficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2081136",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Ipiranga","brand:wikidata":"Q2081136","brand:wikipedia":"pt:Ipiranga (empresa)",name:"Ipiranga"},countryCodes:["br"],terms:["posto ipiranga"],matchScore:2,suggestion:true},"amenity/fuel/Irving":{name:"Irving",icon:"maki-fuel",imageURL:"https://graph.facebook.com/irvingoil/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1673286",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Irving","brand:wikidata":"Q1673286","brand:wikipedia":"en:Irving Oil",name:"Irving"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/JA-SS":{name:"JA-SS",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q11225213",amenity:"fuel"},addTags:{amenity:"fuel",brand:"JA-SS","brand:wikidata":"Q11225213","brand:wikipedia":"ja:JA-SS",name:"JA-SS"},countryCodes:["jp"],terms:["ja"],matchScore:2,suggestion:true},"amenity/fuel/Jet":{name:"Jet",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q568940",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Jet","brand:wikidata":"Q568940","brand:wikipedia":"en:Jet (brand)",name:"Jet"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Jetti":{name:"Jetti",icon:"maki-fuel",imageURL:"https://graph.facebook.com/drivewithjetti/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62288720",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Jetti","brand:wikidata":"Q62288720",name:"Jetti"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Kangaroo Express":{name:"Kangaroo Express",icon:"maki-fuel",imageURL:"https://graph.facebook.com/KangarooExpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61747408",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Kangaroo Express","brand:wikidata":"Q61747408",name:"Kangaroo Express",short_name:"Kangaroo"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Kobil":{name:"Kobil",icon:"maki-fuel",imageURL:"https://graph.facebook.com/kenolkobil/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q22906119",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Kobil","brand:wikidata":"Q22906119","brand:wikipedia":"en:KenolKobil",name:"Kobil"},countryCodes:["bi","et","ke","rw","tz","ug","zm"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Kroger":{name:"Kroger",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Kroger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q153417",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Kroger","brand:wikidata":"Q153417","brand:wikipedia":"en:Kroger",name:"Kroger"},terms:["kroger fuel"],matchScore:2,suggestion:true},"amenity/fuel/Kum & Go":{name:"Kum & Go",icon:"maki-fuel",imageURL:"https://graph.facebook.com/kumandgo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6443340",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Kum & Go","brand:wikidata":"Q6443340","brand:wikipedia":"en:Kum & Go",name:"Kum & Go"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Kwik Trip":{name:"Kwik Trip",icon:"maki-fuel",imageURL:"https://graph.facebook.com/KwikTrip/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6450420",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Kwik Trip","brand:wikidata":"Q6450420","brand:wikipedia":"en:Kwik Trip",name:"Kwik Trip"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Lotos":{name:"Lotos",icon:"maki-fuel",imageURL:"https://graph.facebook.com/GrupaLOTOS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1256909",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Lotos","brand:wikidata":"Q1256909","brand:wikipedia":"pl:Grupa Lotos",name:"Lotos"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Lotos Optima":{name:"Lotos Optima",icon:"maki-fuel",imageURL:"https://graph.facebook.com/GrupaLOTOS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1256909",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Lotos Optima","brand:wikidata":"Q1256909","brand:wikipedia":"pl:Grupa Lotos",name:"Lotos Optima"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Love's":{name:"Love's",icon:"maki-fuel",imageURL:"https://graph.facebook.com/lovestravelstops/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1872496",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Love's","brand:wikidata":"Q1872496","brand:wikipedia":"en:Love's Travel Stops & Country Stores",name:"Love's"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Lukoil":{name:"Lukoil",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Lukoil.en/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q329347",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Lukoil","brand:wikidata":"Q329347","brand:wikipedia":"en:Lukoil",name:"Lukoil"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/MEROIL":{name:"MEROIL",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q62292559",amenity:"fuel"},addTags:{amenity:"fuel",brand:"MEROIL","brand:wikidata":"Q62292559",name:"MEROIL"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/MOL":{name:"MOL",icon:"maki-fuel",imageURL:"https://graph.facebook.com/molcesko/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q549181",amenity:"fuel"},addTags:{amenity:"fuel",brand:"MOL","brand:wikidata":"Q549181","brand:wikipedia":"en:MOL (company)",name:"MOL"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/MRS":{name:"MRS",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q56274919",amenity:"fuel"},addTags:{amenity:"fuel",brand:"MRS","brand:wikidata":"Q56274919","brand:wikipedia":"en:MRS Oil Nigeria Plc",name:"MRS"},countryCodes:["ng"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Mac's":{name:"Mac's",icon:"maki-fuel",imageURL:"https://pbs.twimg.com/profile_images/918945400538714112/bRGd_5pv_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q4043527",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Mac's","brand:wikidata":"Q4043527","brand:wikipedia":"en:Mac's Convenience Stores",name:"Mac's"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/MacEwen":{name:"MacEwen",icon:"maki-fuel",imageURL:"https://graph.facebook.com/MacEwenServiceStation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61740335",amenity:"fuel"},addTags:{amenity:"fuel",brand:"MacEwen","brand:wikidata":"Q61740335",name:"MacEwen"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Marathon":{name:"Marathon",icon:"maki-fuel",imageURL:"https://graph.facebook.com/MarathonPetroleumCorporation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q458363",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Marathon","brand:wikidata":"Q458363","brand:wikipedia":"en:Marathon Petroleum",name:"Marathon"},terms:["Marathon Gas"],matchScore:2,suggestion:true},"amenity/fuel/Maverik":{name:"Maverik",icon:"maki-fuel",imageURL:"https://graph.facebook.com/maverikadventure/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64149010",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Maverik","brand:wikidata":"Q64149010","brand:wikipedia":"en:Maverik, Inc.",name:"Maverik"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Maxol":{name:"Maxol",icon:"maki-fuel",imageURL:"https://pbs.twimg.com/profile_images/684702839143317504/DqCgzXbW_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q3302837",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Maxol","brand:wikidata":"Q3302837","brand:wikipedia":"en:Maxol",name:"Maxol"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Metano":{name:"Metano",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q62294765",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Metano","brand:wikidata":"Q62294765",name:"Metano"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Migrol":{name:"Migrol",icon:"maki-fuel",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%20Migrol.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1747771",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Migrol","brand:wikidata":"Q1747771","brand:wikipedia":"de:Migrol",name:"Migrol"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Mobil":{name:"Mobil",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ExxonandMobilStations/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3088656",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Mobil","brand:wikidata":"Q3088656","brand:wikipedia":"en:Mobil",name:"Mobil"},terms:["mobile"],matchScore:2,suggestion:true},"amenity/fuel/Moil":{name:"Moil",icon:"maki-fuel",imageURL:"https://graph.facebook.com/milanpetrol/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62296914",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Moil","brand:wikidata":"Q62296914",name:"Moil"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Morrisons":{name:"Morrisons",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Morrisons/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q922344",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Morrisons","brand:wikidata":"Q922344","brand:wikipedia":"en:Morrisons",name:"Morrisons"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Moya":{name:"Moya",icon:"maki-fuel",imageURL:"https://graph.facebook.com/moyastacja/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62297700",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Moya","brand:wikidata":"Q62297700",name:"Moya"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Murphy USA":{name:"Murphy USA",icon:"maki-fuel",imageURL:"https://graph.facebook.com/MurphyUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19604459",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Murphy USA","brand:wikidata":"Q19604459","brand:wikipedia":"en:Murphy USA",name:"Murphy USA"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/NP":{name:"NP",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q7842382",amenity:"fuel"},addTags:{amenity:"fuel",brand:"NP","brand:wikidata":"Q7842382","brand:wikipedia":"en:Trinidad & Tobago National Petroleum Marketing Company Limited",name:"NP"},countryCodes:["tt"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Neste":{name:"Neste",icon:"maki-fuel",imageURL:"https://graph.facebook.com/NesteUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q616376",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Neste","brand:wikidata":"Q616376","brand:wikipedia":"en:Neste",name:"Neste"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/OIL!":{name:"OIL!",icon:"maki-fuel",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%20OIL!.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2007561",amenity:"fuel"},addTags:{amenity:"fuel",brand:"OIL!","brand:wikidata":"Q2007561","brand:wikipedia":"de:OIL! Tankstellen",name:"OIL!"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/OK":{name:"OK",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q12329785",amenity:"fuel"},addTags:{amenity:"fuel",brand:"OK","brand:wikidata":"Q12329785","brand:wikipedia":"da:OK a.m.b.a.",name:"OK"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/OKQ8":{name:"OKQ8",icon:"maki-fuel",imageURL:"https://graph.facebook.com/OKQ8/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1634762",amenity:"fuel"},addTags:{amenity:"fuel",brand:"OKQ8","brand:wikidata":"Q1634762","brand:wikipedia":"en:Kuwait Petroleum Corporation",name:"OKQ8"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/OMV":{name:"OMV",icon:"maki-fuel",imageURL:"https://graph.facebook.com/OMV/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q168238",amenity:"fuel"},addTags:{amenity:"fuel",brand:"OMV","brand:wikidata":"Q168238","brand:wikipedia":"en:OMV",name:"OMV"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Oilibya":{name:"Oilibya",icon:"maki-fuel",imageURL:"https://graph.facebook.com/OilibyaMisr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7081491",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Oilibya","brand:wikidata":"Q7081491","brand:wikipedia":"en:Oilibya",name:"Oilibya","name:ar":"أويليبيا"},terms:["oilibia","oilibiya","oillibia","oilliby","oillibya","oillybia","oilybia","olibya","olybia"],matchScore:2,suggestion:true},"amenity/fuel/Opet":{name:"Opet",icon:"maki-fuel",imageURL:"https://graph.facebook.com/opet/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7072824",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Opet","brand:wikidata":"Q7072824","brand:wikipedia":"en:Opet",name:"Opet"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Orlen":{name:"Orlen",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ORLENOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q971649",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Orlen","brand:wikidata":"Q971649","brand:wikipedia":"en:PKN Orlen",name:"Orlen"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Oxxo":{name:"Oxxo",icon:"maki-fuel",imageURL:"https://graph.facebook.com/OXXOTiendas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1342538",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Oxxo","brand:wikidata":"Q1342538","brand:wikipedia":"es:Oxxo",name:"Oxxo"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/PSO":{name:"PSO",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PSOCL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2741455",amenity:"fuel"},addTags:{amenity:"fuel",brand:"PSO","brand:wikidata":"Q2741455","brand:wikipedia":"en:Pakistan State Oil",name:"PSO"},countryCodes:["pk"],terms:["pso petrol pump"],matchScore:2,suggestion:true},"amenity/fuel/PT":{name:"PT",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ptstation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62298612",amenity:"fuel"},addTags:{amenity:"fuel",brand:"PT","brand:wikidata":"Q62298612",name:"PT"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/PTT":{name:"PTT",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PTTNews/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1810389",amenity:"fuel"},addTags:{amenity:"fuel",brand:"PTT","brand:wikidata":"Q1810389","brand:wikipedia":"en:PTT Public Company Limited",name:"PTT"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/PV Oil":{name:"PV Oil",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q2089536",amenity:"fuel"},addTags:{amenity:"fuel",brand:"PV Oil","brand:wikidata":"Q2089536","brand:wikipedia":"en:Petrovietnam",name:"PV Oil"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Pacific Pride":{name:"Pacific Pride",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PacificPrideUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7122637",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Pacific Pride","brand:wikidata":"Q7122637","brand:wikipedia":"en:Pacific Pride",name:"Pacific Pride"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Pecsa":{name:"Pecsa",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PecsaPeru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62299262",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Pecsa","brand:wikidata":"Q62299262",name:"Pecsa"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Pemex":{name:"Pemex",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Pemex/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q871308",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Pemex","brand:wikidata":"Q871308","brand:wikipedia":"en:Pemex",name:"Pemex"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Pertamina":{name:"Pertamina",icon:"maki-fuel",imageURL:"https://graph.facebook.com/pertamina/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1641044",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Pertamina","brand:wikidata":"Q1641044","brand:wikipedia":"en:Pertamina",name:"Pertamina"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Petro":{name:"Petro",icon:"maki-fuel",imageURL:"https://graph.facebook.com/TravelCentersOfAmerica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64051305",amenity:"fuel"},addTags:{alt_name:"Petro Stopping Centers",amenity:"fuel",brand:"Petro","brand:wikidata":"Q64051305",name:"Petro"},countryCodes:["ca","us"],terms:["petro stopping center"],matchScore:2,suggestion:true},"amenity/fuel/Petro-Canada":{name:"Petro-Canada",icon:"maki-fuel",imageURL:"https://graph.facebook.com/petrocanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1208279",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Petro-Canada","brand:wikidata":"Q1208279","brand:wikipedia":"en:Petro-Canada",name:"Petro-Canada"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Petro-T":{name:"Petro-T",icon:"maki-fuel",imageURL:"https://graph.facebook.com/115786179112919/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61743540",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Petro-T","brand:wikidata":"Q61743540",name:"Petro-T"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/PetroPerú":{name:"PetroPerú",icon:"maki-fuel",imageURL:"https://graph.facebook.com/petroperu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2506390",amenity:"fuel"},addTags:{amenity:"fuel",brand:"PetroPerú","brand:wikidata":"Q2506390","brand:wikipedia":"es:Petroperú",name:"PetroPerú"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Petrochina":{name:"Petrochina",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PetroChina.Ltd/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q503182",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Petrochina","brand:wikidata":"Q503182","brand:wikipedia":"en:PetroChina",name:"Petrochina"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Petroecuador":{name:"Petroecuador",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PetroecuadorEP/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1812822",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Petroecuador","brand:wikidata":"Q1812822","brand:wikipedia":"en:Petroecuador",name:"Petroecuador"},countryCodes:["ec"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Petrol Ofisi":{name:"Petrol Ofisi",icon:"maki-fuel",imageURL:"https://graph.facebook.com/petrolofisi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1278087",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Petrol Ofisi","brand:wikidata":"Q1278087","brand:wikipedia":"en:Petrol Ofisi",name:"Petrol Ofisi"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Petrolimex":{name:"Petrolimex",icon:"maki-fuel",imageURL:"https://graph.facebook.com/tapdoanxangdauvietnam/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10831598",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Petrolimex","brand:wikidata":"Q10831598","brand:wikipedia":"en:Petrolimex",name:"Petrolimex"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Petrolina":{name:"Petrolina",icon:"maki-fuel",imageURL:"https://graph.facebook.com/petrolinaholdings/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17013948",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Petrolina","brand:wikidata":"Q17013948","brand:wikipedia":"en:Petrolina (company)",name:"Petrolina"},countryCodes:["cy"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Petrom":{name:"Petrom",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PetromRo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1755034",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Petrom","brand:wikidata":"Q1755034","brand:wikipedia":"en:Petrom",name:"Petrom"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Petron":{name:"Petron",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PetronCorporation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7179011",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Petron","brand:wikidata":"Q7179011","brand:wikipedia":"en:Petron Corporation",name:"Petron"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Petronas":{name:"Petronas",icon:"maki-fuel",imageURL:"https://graph.facebook.com/petronas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q221692",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Petronas","brand:wikidata":"Q221692","brand:wikipedia":"en:Petronas",name:"Petronas"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Petronor":{name:"Petronor",icon:"maki-fuel",imageURL:"https://graph.facebook.com/info.petronor/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1726547",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Petronor","brand:wikidata":"Q1726547","brand:wikipedia":"es:Petronor",name:"Petronor"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Phillips 66":{name:"Phillips 66",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Phillips66Co/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1656230",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Phillips 66","brand:wikidata":"Q1656230","brand:wikipedia":"en:Phillips 66",name:"Phillips 66"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Phoenix":{name:"Phoenix",icon:"maki-fuel",imageURL:"https://graph.facebook.com/phoenixfuels.ph/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7186949",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Phoenix","brand:wikidata":"Q7186949","brand:wikipedia":"en:Phoenix Petroleum",name:"Phoenix"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Pilot":{name:"Pilot",icon:"maki-fuel",imageURL:"https://graph.facebook.com/pilottravelcenters/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64128179",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Pilot","brand:wikidata":"Q64128179",name:"Pilot"},countryCodes:["ca","us"],terms:["pilot travel centers"],matchScore:2,suggestion:true},"amenity/fuel/Pioneer":{name:"Pioneer",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PioneerEnergy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7196684",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Pioneer","brand:wikidata":"Q7196684","brand:wikipedia":"en:Pioneer Energy",name:"Pioneer"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Preem":{name:"Preem",icon:"maki-fuel",imageURL:"https://graph.facebook.com/preem/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q598835",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Preem","brand:wikidata":"Q598835","brand:wikipedia":"en:Preem",name:"Preem"},countryCodes:["pl","se"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Primax (Ecuador)":{name:"Primax (Ecuador)",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PrimaxEcuador/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62332857",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Primax","brand:wikidata":"Q62332857",name:"Primax"},countryCodes:["ec"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Primax (Peru)":{name:"Primax (Peru)",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PrimaxPeru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62332638",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Primax","brand:wikidata":"Q62332638",name:"Primax"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Prio":{name:"Prio",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PrioEnergy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62530421",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Prio","brand:wikidata":"Q62530421",name:"Prio"},countryCodes:["pt"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Puma":{name:"Puma",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PumaEnergy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7259769",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Puma","brand:wikidata":"Q7259769","brand:wikipedia":"en:Puma Energy",name:"Puma"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Q1":{name:"Q1",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Q1EnergieAG/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62086498",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Q1","brand:wikidata":"Q62086498",name:"Q1"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Q8":{name:"Q8",icon:"maki-fuel",imageURL:"https://graph.facebook.com/OKQ8/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1634762",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Q8","brand:wikidata":"Q1634762","brand:wikipedia":"en:Kuwait Petroleum Corporation",name:"Q8"},countryCodes:["be","dk","es","it","lu","nl","pt"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Q8 Easy":{name:"Q8 Easy",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Q8italia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1806948",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Q8 Easy","brand:wikidata":"Q1806948","brand:wikipedia":"nl:Q8 Easy",name:"Q8 Easy"},countryCodes:["be","it"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Qstar":{name:"Qstar",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q10647961",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Qstar","brand:wikidata":"Q10647961","brand:wikipedia":"sv:Qstar",name:"Qstar"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/QuikTrip":{name:"QuikTrip",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Quiktrip/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7271953",amenity:"fuel"},addTags:{amenity:"fuel",brand:"QuikTrip","brand:wikidata":"Q7271953","brand:wikipedia":"en:QuikTrip",name:"QuikTrip"},terms:["qt"],matchScore:2,suggestion:true},"amenity/fuel/RaceTrac":{name:"RaceTrac",icon:"maki-fuel",imageURL:"https://graph.facebook.com/RaceTrac/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q735942",amenity:"fuel"},addTags:{amenity:"fuel",brand:"RaceTrac","brand:wikidata":"Q735942","brand:wikipedia":"en:RaceTrac",name:"RaceTrac"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Repsol":{name:"Repsol",icon:"maki-fuel",imageURL:"https://graph.facebook.com/repsol/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q174747",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Repsol","brand:wikidata":"Q174747","brand:wikipedia":"es:Repsol",name:"Repsol"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Revoil":{name:"Revoil",icon:"maki-fuel",imageURL:"https://graph.facebook.com/revoil/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62530755",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Revoil","brand:wikidata":"Q62530755",name:"Revoil"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Rompetrol":{name:"Rompetrol",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Rompetrol.Romania/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1788862",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Rompetrol","brand:wikidata":"Q1788862","brand:wikipedia":"en:Rompetrol",name:"Rompetrol"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Royal Farms":{name:"Royal Farms",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Royalfarmsstores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7374169",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Royal Farms","brand:wikidata":"Q7374169","brand:wikipedia":"en:Royal Farms",name:"Royal Farms"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Rubis":{name:"Rubis",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q3446514",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Rubis","brand:wikidata":"Q3446514","brand:wikipedia":"en:Rubis (company)",name:"Rubis"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Safeway":{name:"Safeway",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Safeway/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1508234",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Safeway","brand:wikidata":"Q1508234","brand:wikipedia":"en:Safeway Inc.",name:"Safeway"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Sainsbury's":{name:"Sainsbury's",icon:"maki-fuel",imageURL:"https://graph.facebook.com/sainsburys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q152096",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Sainsbury's","brand:wikidata":"Q152096","brand:wikipedia":"en:Sainsbury's",name:"Sainsbury's"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Sam's Club":{name:"Sam's Club",icon:"maki-fuel",imageURL:"https://graph.facebook.com/samsclub/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1972120",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Sam's Club","brand:wikidata":"Q1972120","brand:wikipedia":"en:Sam's Club",name:"Sam's Club"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Sasol":{name:"Sasol",icon:"maki-fuel",imageURL:"https://graph.facebook.com/SasolSACareers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q905998",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Sasol","brand:wikidata":"Q905998","brand:wikipedia":"en:Sasol",name:"Sasol"},countryCodes:["za"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Sea Oil":{name:"Sea Oil",icon:"maki-fuel",imageURL:"https://graph.facebook.com/SEAOIL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7389549",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Sea Oil","brand:wikidata":"Q7389549","brand:wikipedia":"en:Seaoil Philippines",name:"Sea Oil"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Sheetz":{name:"Sheetz",icon:"maki-fuel",imageURL:"https://graph.facebook.com/sheetz/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7492551",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Sheetz","brand:wikidata":"Q7492551","brand:wikipedia":"en:Sheetz",name:"Sheetz"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Shell":{name:"Shell",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Shell/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q154950",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Shell","brand:wikidata":"Q154950","brand:wikipedia":"en:Royal Dutch Shell",name:"Shell"},terms:["posto shell","shell gas station","shell petrol station","shell station","station shell"],matchScore:2,suggestion:true},"amenity/fuel/Shell Express":{name:"Shell Express",icon:"maki-fuel",imageURL:"https://graph.facebook.com/shell/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2289188",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Shell Express","brand:wikidata":"Q2289188","brand:wikipedia":"nl:Shell Express",name:"Shell Express"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Sinclair":{name:"Sinclair",icon:"maki-fuel",imageURL:"https://graph.facebook.com/SinclairOilCorp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1290900",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Sinclair","brand:wikidata":"Q1290900","brand:wikipedia":"en:Sinclair Oil Corporation",name:"Sinclair"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Sinopec":{name:"Sinopec",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Sinopec/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q831445",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Sinopec","brand:wikidata":"Q831445","brand:wikipedia":"en:Sinopec","brand:zh":"中国石化",name:"Sinopec","name:zh":"中国石化"},countryCodes:["cn"],terms:["sinopec fuel"],matchScore:2,suggestion:true},"amenity/fuel/Slovnaft":{name:"Slovnaft",icon:"maki-fuel",imageURL:"https://graph.facebook.com/MySlovnaft/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1587563",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Slovnaft","brand:wikidata":"Q1587563","brand:wikipedia":"en:Slovnaft",name:"Slovnaft"},countryCodes:["cz","pl","sk"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Socar":{name:"Socar",icon:"maki-fuel",imageURL:"https://graph.facebook.com/SOCARofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1622293",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Socar","brand:wikidata":"Q1622293","brand:wikipedia":"en:SOCAR",name:"Socar"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Sokimex":{name:"Sokimex",icon:"maki-fuel",imageURL:"https://graph.facebook.com/SokimexGroup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1149575",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Sokimex","brand:wikidata":"Q1149575","brand:wikipedia":"en:Sokimex",name:"Sokimex"},countryCodes:["kh"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Speedway":{name:"Speedway",icon:"maki-fuel",imageURL:"https://graph.facebook.com/SpeedwayStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7575683",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Speedway","brand:wikidata":"Q7575683","brand:wikipedia":"en:Speedway LLC",name:"Speedway"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Sprint":{name:"Sprint",icon:"maki-fuel",imageURL:"https://graph.facebook.com/SprintTankstelle/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57588452",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Sprint","brand:wikidata":"Q57588452",name:"Sprint"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/St1":{name:"St1",icon:"maki-fuel",imageURL:"https://graph.facebook.com/st1suomi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7592214",amenity:"fuel"},addTags:{amenity:"fuel",brand:"St1","brand:wikidata":"Q7592214","brand:wikipedia":"en:St1",name:"St1"},countryCodes:["fi","se"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Star":{name:"Star",icon:"maki-fuel",imageURL:"https://graph.facebook.com/123909017686285/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2031095",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Star","brand:wikidata":"Q2031095","brand:wikipedia":"de:Orlen Deutschland",name:"Star"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Station Service E. Leclerc":{name:"Station Service E. Leclerc",icon:"maki-fuel",imageURL:"https://graph.facebook.com/E.Leclerc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1273376",amenity:"fuel"},addTags:{amenity:"fuel",brand:"E.Leclerc","brand:wikidata":"Q1273376","brand:wikipedia":"fr:E.Leclerc",name:"Station Service E. Leclerc"},terms:["e. leclerc"],matchScore:2,suggestion:true},"amenity/fuel/Statoil":{name:"Statoil",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Equinor/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1776022",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Statoil","brand:wikidata":"Q1776022","brand:wikipedia":"en:Equinor",name:"Statoil"},countryCodes:["dk","ee","ie","pl","ru","se"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Stewart's":{name:"Stewart's",icon:"maki-fuel",imageURL:"https://graph.facebook.com/YourStewarts/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7615690",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Stewart's","brand:wikidata":"Q7615690","brand:wikipedia":"en:Stewart's Shops",name:"Stewart's"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Sunoco":{name:"Sunoco",icon:"maki-fuel",imageURL:"https://graph.facebook.com/GoSunoco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1423218",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Sunoco","brand:wikidata":"Q1423218","brand:wikipedia":"en:Sunoco",name:"Sunoco"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Super U":{name:"Super U",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ULesCommercants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2529029",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Super U","brand:wikidata":"Q2529029","brand:wikipedia":"en:Système U",name:"Super U"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/TA":{name:"TA",icon:"maki-fuel",imageURL:"https://graph.facebook.com/TravelCentersOfAmerica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7835892",amenity:"fuel"},addTags:{amenity:"fuel",brand:"TA","brand:wikidata":"Q7835892","brand:wikipedia":"en:TravelCenters of America",name:"TA"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Tamoil":{name:"Tamoil",icon:"maki-fuel",imageURL:"https://graph.facebook.com/TamoilNederland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q706793",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Tamoil","brand:wikidata":"Q706793","brand:wikipedia":"en:Tamoil",name:"Tamoil"},countryCodes:["ch","de","es","fr","it","nl"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Tango":{name:"Tango",icon:"maki-fuel",imageURL:"https://graph.facebook.com/TangoTankstations/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2423920",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Tango","brand:wikidata":"Q2423920","brand:wikipedia":"nl:Tango CV",name:"Tango"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Tanka":{name:"Tanka",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q10690640",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Tanka","brand:wikidata":"Q10690640","brand:wikipedia":"sv:Tanka (bensinstationskedja)",name:"Tanka"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Teboil":{name:"Teboil",icon:"maki-fuel",imageURL:"https://graph.facebook.com/teboil.fi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7692079",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Teboil","brand:wikidata":"Q7692079","brand:wikipedia":"en:Teboil",name:"Teboil"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Tela":{name:"Tela",icon:"maki-fuel",imageURL:"https://graph.facebook.com/TelaCompany/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62534875",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Tela","brand:wikidata":"Q62534875",name:"Tela"},countryCodes:["kh"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Tempo":{name:"Tempo",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q62535175",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Tempo","brand:wikidata":"Q62535175",name:"Tempo"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Terpel":{name:"Terpel",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Terpel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7703003",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Terpel","brand:wikidata":"Q7703003","brand:wikipedia":"en:Terpel",name:"Terpel"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Tesco":{name:"Tesco",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q17145596",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Tesco","brand:wikidata":"Q17145596","brand:wikipedia":"en:Tesco Corporation",name:"Tesco"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Texaco":{name:"Texaco",icon:"maki-fuel",imageURL:"https://graph.facebook.com/TexacoWithTechron/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q775060",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Texaco","brand:wikidata":"Q775060","brand:wikipedia":"en:Texaco",name:"Texaco"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Tinq":{name:"Tinq",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q2132028",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Tinq","brand:wikidata":"Q2132028","brand:wikipedia":"nl:Tinq",name:"Tinq"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Topaz":{name:"Topaz",icon:"maki-fuel",imageURL:"https://pbs.twimg.com/profile_images/1039514449244114945/evpJUxKM_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7824764",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Topaz","brand:wikidata":"Q7824764","brand:wikipedia":"en:Topaz Energy",name:"Topaz"},countryCodes:["ie"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Total":{name:"Total",icon:"maki-fuel",imageURL:"https://graph.facebook.com/TotalUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q154037",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Total","brand:wikidata":"Q154037","brand:wikipedia":"fr:Total (entreprise)",name:"Total"},terms:["station total"],matchScore:2,suggestion:true},"amenity/fuel/Total Access":{name:"Total Access",icon:"maki-fuel",imageURL:"https://graph.facebook.com/TotalUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q154037",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Total Access","brand:wikidata":"Q154037","brand:wikipedia":"fr:Total (entreprise)",name:"Total Access"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/TotalErg":{name:"TotalErg",icon:"maki-fuel",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FTotalerg%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q3995933",amenity:"fuel"},addTags:{amenity:"fuel",brand:"TotalErg","brand:wikidata":"Q3995933","brand:wikipedia":"it:TotalErg",name:"TotalErg"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Turkey Hill":{name:"Turkey Hill",icon:"maki-fuel",imageURL:"https://graph.facebook.com/turkeyhillmm/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q42376970",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Turkey Hill","brand:wikidata":"Q42376970","brand:wikipedia":"en:Turkey Hill Minit Markets",name:"Turkey Hill"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Turmöl":{name:"Turmöl",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Turmoel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1473279",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Turmöl","brand:wikidata":"Q1473279","brand:wikipedia":"de:Turmöl",name:"Turmöl"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/UDF Fuel":{name:"UDF Fuel",icon:"maki-fuel",imageURL:"https://graph.facebook.com/UnitedDairyFarmers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7887677",amenity:"fuel"},addTags:{amenity:"fuel",brand:"United Dairy Farmers","brand:wikidata":"Q7887677","brand:wikipedia":"en:United Dairy Farmers",name:"UDF Fuel",short_name:"UDF"},countryCodes:["us"],terms:["udf fuels","united dairy farmers"],matchScore:2,suggestion:true},"amenity/fuel/Ultramar":{name:"Ultramar",icon:"maki-fuel",imageURL:"https://graph.facebook.com/190502784374269/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3548078",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Ultramar","brand:wikidata":"Q3548078","brand:wikipedia":"en:Ultramar",name:"Ultramar"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/United":{name:"United",icon:"maki-fuel",imageURL:"https://graph.facebook.com/unitedpetroleum/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28224393",amenity:"fuel"},addTags:{amenity:"fuel",brand:"United","brand:wikidata":"Q28224393","brand:wikipedia":"en:United Petroleum",name:"United"},terms:["united petroleum"],matchScore:2,suggestion:true},"amenity/fuel/Uno":{name:"Uno",icon:"maki-fuel",imageURL:"https://graph.facebook.com/UnoGasolineras/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62535574",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Uno","brand:wikidata":"Q62535574",name:"Uno"},countryCodes:["bz","cr","gt","hn","ni","sv"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Uno-X":{name:"Uno-X",icon:"maki-fuel",imageURL:"https://graph.facebook.com/unoxdanmark/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3362746",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Uno-X","brand:wikidata":"Q3362746","brand:wikipedia":"en:Uno-X",name:"Uno-X"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Valero":{name:"Valero",icon:"maki-fuel",imageURL:"https://graph.facebook.com/valeroenergy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1283291",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Valero","brand:wikidata":"Q1283291","brand:wikipedia":"en:Valero Energy",name:"Valero"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Viada":{name:"Viada",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ViadaLietuva/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12663942",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Viada","brand:wikidata":"Q12663942","brand:wikipedia":"en:Lukoil Baltija",name:"Viada"},countryCodes:["lt","lv"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Vito":{name:"Vito",icon:"maki-fuel",imageURL:"https://graph.facebook.com/VITOCORSICA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62536473",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Vito","brand:wikidata":"Q62536473",name:"Vito"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/WOG":{name:"WOG",icon:"maki-fuel",imageURL:"https://graph.facebook.com/azsWOG/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12072939",amenity:"fuel"},addTags:{amenity:"fuel",brand:"WOG","brand:wikidata":"Q12072939","brand:wikipedia":"en:WOG (gas stations)",name:"WOG"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Walmart":{name:"Walmart",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Walmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62606411",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Walmart","brand:wikidata":"Q62606411","brand:wikipedia":"en:Walmart",name:"Walmart"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Wawa":{name:"Wawa",icon:"maki-fuel",imageURL:"https://graph.facebook.com/wawa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5936320",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Wawa","brand:wikidata":"Q5936320","brand:wikipedia":"en:Wawa (company)",name:"Wawa"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Westfalen":{name:"Westfalen",icon:"maki-fuel",imageURL:"https://graph.facebook.com/WestfalenAG/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1411209",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Westfalen","brand:wikidata":"Q1411209","brand:wikipedia":"en:Westfalen AG",name:"Westfalen"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Woolworths Petrol":{name:"Woolworths Petrol",icon:"maki-fuel",imageURL:"https://graph.facebook.com/woolworths/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5023980",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Caltex","brand:wikidata":"Q5023980","brand:wikipedia":"en:Caltex Woolworths",name:"Woolworths Petrol"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/XTR":{name:"XTR",icon:"maki-fuel",imageURL:"https://pbs.twimg.com/profile_images/1849683826/XTRASlogo_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q62537250",amenity:"fuel"},addTags:{amenity:"fuel",brand:"XTR","brand:wikidata":"Q62537250",name:"XTR"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/YPF":{name:"YPF",icon:"maki-fuel",imageURL:"https://graph.facebook.com/YPFoficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2006989",amenity:"fuel"},addTags:{amenity:"fuel",brand:"YPF","brand:wikidata":"Q2006989","brand:wikipedia":"en:YPF",name:"YPF"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Z":{name:"Z",icon:"maki-fuel",imageURL:"https://graph.facebook.com/zenergynz/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8063337",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Z","brand:wikidata":"Q8063337","brand:wikipedia":"en:Z Energy",name:"Z"},countryCodes:["nz"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/bft":{name:"bft",icon:"maki-fuel",imageURL:"https://graph.facebook.com/768624663275807/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1009104",amenity:"fuel"},addTags:{amenity:"fuel",brand:"bft","brand:wikidata":"Q1009104","brand:wikipedia":"de:Bundesverband freier Tankstellen",name:"bft"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/din-X":{name:"din-X",icon:"maki-fuel",imageURL:"https://graph.facebook.com/bensinbolagettvartom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10472858",amenity:"fuel"},addTags:{amenity:"fuel",brand:"din-X","brand:wikidata":"Q10472858","brand:wikipedia":"sv:Din-X",name:"din-X"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Авіас":{name:"Авіас",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q12122687",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Авіас","brand:wikidata":"Q12122687","brand:wikipedia":"uk:Мережа АЗС Приват",name:"Авіас"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/БРСМ-Нафта":{name:"БРСМ-Нафта",icon:"maki-fuel",imageURL:"https://graph.facebook.com/BRSM.NAFTA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q56356523",amenity:"fuel"},addTags:{amenity:"fuel",brand:"БРСМ-Нафта","brand:wikidata":"Q56356523","brand:wikipedia":"uk:БРСМ-Нафта",name:"БРСМ-Нафта"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Башнефть":{name:"Башнефть",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Bashneft/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q809985",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Башнефть","brand:en":"Bashneft","brand:wikidata":"Q809985","brand:wikipedia":"en:Bashneft",name:"Башнефть","name:en":"Bashneft"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Белоруснефть":{name:"Белоруснефть",icon:"maki-fuel",imageURL:"https://graph.facebook.com/belorusneft/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4082693",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Белоруснефть","brand:wikidata":"Q4082693","brand:wikipedia":"ru:Белоруснефть",name:"Белоруснефть"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Газпромнефть":{name:"Газпромнефть",icon:"maki-fuel",imageURL:"https://graph.facebook.com/gazprom.neft/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1461799",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Газпромнефть","brand:wikidata":"Q1461799","brand:wikipedia":"en:Gazprom Neft",name:"Газпромнефть"},countryCodes:["by","kg","kz","ru","tj"],terms:["газпром"],matchScore:2,suggestion:true},"amenity/fuel/Гелиос":{name:"Гелиос",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q62286471",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Гелиос","brand:en":"Helios","brand:wikidata":"Q62286471",name:"Гелиос","name:en":"Helios"},countryCodes:["kz"],terms:["helios"],matchScore:2,suggestion:true},"amenity/fuel/ЕКА":{name:"ЕКА",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q62543029",amenity:"fuel"},addTags:{amenity:"fuel",brand:"ЕКА","brand:wikidata":"Q62543029",name:"ЕКА"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/КЛО":{name:"КЛО",icon:"maki-fuel",imageURL:"https://graph.facebook.com/klo.oil/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60966526",amenity:"fuel"},addTags:{amenity:"fuel",brand:"КЛО","brand:en":"Klo","brand:wikidata":"Q60966526","brand:wikipedia":"ru:КЛО (сеть АЗС)",name:"КЛО","name:en":"Klo"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/КазМунайГаз":{name:"КазМунайГаз",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q1417227",amenity:"fuel"},addTags:{amenity:"fuel",brand:"КазМунайГаз","brand:wikidata":"Q1417227","brand:wikipedia":"en:KazMunayGas",name:"КазМунайГаз"},countryCodes:["kz"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Лукойл":{name:"Лукойл",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Lukoil.en/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q329347",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Лукойл","brand:wikidata":"Q329347","brand:wikipedia":"ru:Лукойл",name:"Лукойл"},terms:["лукоил"],matchScore:2,suggestion:true},"amenity/fuel/Макпетрол":{name:"Макпетрол",icon:"maki-fuel",imageURL:"https://graph.facebook.com/makpetrol.ultra/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1886438",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Макпетрол","brand:wikidata":"Q1886438","brand:wikipedia":"en:Makpetrol",name:"Макпетрол"},countryCodes:["mk"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/НК Альянс":{name:"НК Альянс",icon:"maki-fuel",imageURL:"https://graph.facebook.com/AllianceOilUkraine/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4063700",amenity:"fuel"},addTags:{amenity:"fuel",brand:"НК Альянс","brand:en":"Alliance Oil","brand:ru":"НК Альянс","brand:wikidata":"Q4063700","brand:wikipedia":"ru:Альянс (компания)",name:"НК Альянс","name:en":"Alliance Oil","name:ru":"НК Альянс"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Нефтьмагистраль":{name:"Нефтьмагистраль",icon:"maki-fuel",imageURL:"https://graph.facebook.com/neftm.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62544323",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Нефтьмагистраль","brand:en":"Neftmagistral","brand:wikidata":"Q62544323",name:"Нефтьмагистраль","name:en":"Neftmagistral"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/ОККО":{name:"ОККО",icon:"maki-fuel",imageURL:"https://graph.facebook.com/okkoua/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7072617",amenity:"fuel"},addTags:{amenity:"fuel",brand:"ОККО","brand:en":"OKKO","brand:wikidata":"Q7072617","brand:wikipedia":"en:OKKO",name:"ОККО","name:en":"OKKO"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/ОМВ":{name:"ОМВ",icon:"maki-fuel",imageURL:"https://graph.facebook.com/OMV/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q168238",amenity:"fuel"},addTags:{amenity:"fuel",brand:"ОМВ","brand:wikidata":"Q168238","brand:wikipedia":"en:OMV",name:"ОМВ"},countryCodes:["bg","rs"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/ПТК":{name:"ПТК",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ptk.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4360193",amenity:"fuel"},addTags:{amenity:"fuel",brand:"ПТК","brand:en":"The Petersburg Fuel Company","brand:wikidata":"Q4360193","brand:wikipedia":"en:Petersburg Fuel Company",name:"ПТК","name:en":"The Petersburg Fuel Company"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Петрол":{name:"Петрол",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PetrolAD/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q24315",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Петрол","brand:en":"Petrol AD","brand:wikidata":"Q24315","brand:wikipedia":"en:Petrol AD",name:"Петрол","name:en":"Petrol AD"},countryCodes:["bg"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Роснефть":{name:"Роснефть",icon:"maki-fuel",imageURL:"https://graph.facebook.com/RosneftRu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1141123",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Роснефть","brand:en":"Rosneft","brand:wikidata":"Q1141123","brand:wikipedia":"en:Rosneft",name:"Роснефть","name:en":"Rosneft"},terms:[],matchScore:2,suggestion:true},"amenity/fuel/Сургутнефтегаз":{name:"Сургутнефтегаз",icon:"maki-fuel",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FSng2.gif&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q680776",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Сургутнефтегаз","brand:en":"Surgutneftegas","brand:wikidata":"Q680776","brand:wikipedia":"en:Surgutneftegas",name:"Сургутнефтегаз","name:en":"Surgutneftegas"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/ТНК":{name:"ТНК",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q2298901",amenity:"fuel"},addTags:{amenity:"fuel",brand:"ТНК","brand:wikidata":"Q2298901","brand:wikipedia":"en:TNK-BP",name:"ТНК"},countryCodes:["ru","ua"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Татнефть":{name:"Татнефть",icon:"maki-fuel",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FTatneft%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1616858",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Татнефть","brand:en":"Tatneft","brand:wikidata":"Q1616858","brand:wikipedia":"en:Tatneft",name:"Татнефть","name:en":"Tatneft"},countryCodes:["ru","ua"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/Укрнафта":{name:"Укрнафта",icon:"maki-fuel",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FUkrnafta.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2447961",amenity:"fuel"},addTags:{amenity:"fuel",brand:"Укрнафта","brand:en":"Ukrnafta","brand:wikidata":"Q2447961","brand:wikipedia":"en:Ukrnafta",name:"Укрнафта","name:en":"Ukrnafta"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/דור אלון":{name:"דור אלון",icon:"maki-fuel",imageURL:"https://graph.facebook.com/dor.alon.il/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16130352",amenity:"fuel"},addTags:{amenity:"fuel",brand:"דור אלון","brand:en":"Dor Alon","brand:he":"דור אלון","brand:wikidata":"Q16130352","brand:wikipedia":"he:דור אלון אנרגיה בישראל (1988)",name:"דור אלון","name:en":"Dor Alon","name:he":"דור אלון"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/סונול":{name:"סונול",icon:"maki-fuel",imageURL:"https://graph.facebook.com/sonolsogood/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3701622",amenity:"fuel"},addTags:{amenity:"fuel",brand:"סונול","brand:en":"Sonol","brand:he":"סונול","brand:wikidata":"Q3701622","brand:wikipedia":"en:Sonol",name:"סונול","name:en":"Sonol","name:he":"סונול"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/פז":{name:"פז",icon:"maki-fuel",imageURL:"https://graph.facebook.com/YellowPaz/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2211731",amenity:"fuel"},addTags:{amenity:"fuel",brand:"פז","brand:en":"Paz","brand:he":"פז","brand:wikidata":"Q2211731","brand:wikipedia":"en:Paz Oil Company",name:"פז","name:en":"Paz","name:he":"פז"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/ادنوك":{name:"ادنوك",icon:"maki-fuel",imageURL:"https://graph.facebook.com/ADNOCDistribution/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q166729",amenity:"fuel"},addTags:{amenity:"fuel",brand:"ادنوك","brand:ar":"ادنوك","brand:en":"ADNOC","brand:wikidata":"Q166729","brand:wikipedia":"en:Abu Dhabi National Oil Company",name:"ادنوك","name:ar":"ادنوك","name:en":"ADNOC"},countryCodes:["ae"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/บางจาก":{name:"บางจาก",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Bangchak/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6579719",amenity:"fuel"},addTags:{amenity:"fuel",brand:"บางจาก","brand:en":"Bangchak","brand:th":"บางจาก","brand:wikidata":"Q6579719","brand:wikipedia":"th:บางจาก คอร์ปอเรชัน",name:"บางจาก","name:en":"Bangchak","name:th":"บางจาก"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/ป.ต.ท.":{name:"ป.ต.ท.",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PTTNews/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1810389",amenity:"fuel"},addTags:{amenity:"fuel",brand:"ป.ต.ท.","brand:en":"PTT","brand:th":"ป.ต.ท.","brand:wikidata":"Q1810389","brand:wikipedia":"th:ปตท.",name:"ป.ต.ท.","name:en":"PTT","name:th":"ป.ต.ท."},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/เชลล์":{name:"เชลล์",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Shell/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q154950",amenity:"fuel"},addTags:{amenity:"fuel",brand:"เชลล์","brand:en":"Shell","brand:th":"เชลล์","brand:wikidata":"Q154950","brand:wikipedia":"en:Royal Dutch Shell",name:"เชลล์","name:en":"Shell","name:th":"เชลล์"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/เอสโซ่":{name:"เอสโซ่",icon:"maki-fuel",imageURL:"https://graph.facebook.com/EssoGB/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q867662",amenity:"fuel"},addTags:{amenity:"fuel",brand:"เอสโซ่","brand:en":"Esso","brand:th":"เอสโซ่","brand:wikidata":"Q867662","brand:wikipedia":"en:Esso",name:"เอสโซ่","name:en":"Esso","name:th":"เอสโซ่"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/エッソ":{name:"エッソ",icon:"maki-fuel",imageURL:"https://graph.facebook.com/EssoGB/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q867662",amenity:"fuel"},addTags:{amenity:"fuel",brand:"エッソ","brand:en":"Esso","brand:ja":"エッソ","brand:wikidata":"Q867662","brand:wikipedia":"en:Esso",name:"エッソ","name:en":"Esso","name:ja":"エッソ"},countryCodes:["jp"],terms:["エッソ石油"],matchScore:2,suggestion:true},"amenity/fuel/エネオス":{name:"エネオス",icon:"maki-fuel",imageURL:"https://graph.facebook.com/eneos.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1640290",amenity:"fuel"},addTags:{amenity:"fuel",brand:"エネオス","brand:en":"JXTG Nippon Oil & Energy","brand:ja":"エネオス","brand:wikidata":"Q1640290","brand:wikipedia":"en:JXTG Nippon Oil & Energy",name:"エネオス","name:en":"JXTG Nippon Oil & Energy","name:ja":"エネオス"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/コスモ石油":{name:"コスモ石油",icon:"maki-fuel",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FCosmo%20Oil%20company%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2498318",amenity:"fuel"},addTags:{amenity:"fuel",brand:"コスモ石油","brand:en":"Cosmo Oil Company","brand:ja":"コスモ石油","brand:wikidata":"Q2498318","brand:wikipedia":"en:Cosmo Oil Company",name:"コスモ石油","name:en":"Cosmo Oil Company","name:ja":"コスモ石油"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/ゼネラル":{name:"ゼネラル",icon:"maki-fuel",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FTonenGeneral.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q11528048",amenity:"fuel"},addTags:{amenity:"fuel",brand:"ゼネラル","brand:en":"Tonen General","brand:ja":"ゼネラル","brand:wikidata":"Q11528048","brand:wikipedia":"ja:東燃ゼネラル石油",name:"ゼネラル","name:en":"Tonen General","name:ja":"ゼネラル"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/中国石化":{name:"中国石化",icon:"maki-fuel",imageURL:"https://graph.facebook.com/Sinopec/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q831445",amenity:"fuel"},addTags:{amenity:"fuel",brand:"中国石化","brand:en":"Sinopec","brand:wikidata":"Q831445","brand:wikipedia":"en:Sinopec",name:"中国石化","name:en":"Sinopec"},countryCodes:["cn"],terms:["中国石化 Sinopec"],matchScore:2,suggestion:true},"amenity/fuel/中国石油":{name:"中国石油",icon:"maki-fuel",imageURL:"https://graph.facebook.com/PetroChina.Ltd/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q503182",amenity:"fuel"},addTags:{amenity:"fuel",brand:"中国石油","brand:en":"PetroChina","brand:wikidata":"Q503182","brand:wikipedia":"en:PetroChina",name:"中国石油","name:en":"PetroChina"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/出光":{name:"出光",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q2216770",amenity:"fuel"},addTags:{amenity:"fuel",brand:"出光","brand:en":"Idemitsu Kosan","brand:wikidata":"Q2216770","brand:wikipedia":"en:Idemitsu Kosan",name:"出光","name:en":"Idemitsu Kosan"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/fuel/台灣中油":{name:"台灣中油",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q21527177",amenity:"fuel"},addTags:{amenity:"fuel",brand:"台灣中油","brand:en":"CPC Corporation, Taiwan","brand:wikidata":"Q21527177","brand:wikipedia":"en:CPC Corporation, Taiwan",name:"台灣中油","name:en":"CPC Corporation, Taiwan"},countryCodes:["tw"],terms:["中油"],matchScore:2,suggestion:true},"amenity/fuel/昭和シェル":{name:"昭和シェル",icon:"maki-fuel",geometry:["point","area"],tags:{"brand:wikidata":"Q277115",amenity:"fuel"},addTags:{amenity:"fuel",brand:"昭和シェル","brand:en":"Showa Shell Sekiyu","brand:ja":"昭和シェル","brand:wikidata":"Q277115","brand:wikipedia":"en:Showa Shell Sekiyu",name:"昭和シェル","name:en":"Showa Shell Sekiyu","name:ja":"昭和シェル"},countryCodes:["jp"],terms:["昭和シェル石油"],matchScore:2,suggestion:true},"amenity/hospital/VA Medical Center":{name:"VA Medical Center",icon:"maki-hospital",imageURL:"https://graph.facebook.com/VeteransHealth/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6580225",amenity:"hospital"},addTags:{amenity:"hospital",brand:"VA","brand:wikidata":"Q6580225","brand:wikipedia":"en:Veterans Health Administration",healthcare:"hospital","healthcare:for":"veterans",name:"VA Medical Center",short_name:"VA"},reference:{key:"amenity",value:"hospital"},countryCodes:["us"],terms:["department of veterans affairs medical center","veterans administration","veterans administration hospital","veterans administration medical center","veterans affairs","veterans affairs hospital","veterans affairs medical center"],matchScore:2,suggestion:true},"amenity/ice_cream/Baskin-Robbins":{name:"Baskin-Robbins",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/baskinrobbinsUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q584601",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Baskin-Robbins","brand:wikidata":"Q584601","brand:wikipedia":"en:Baskin-Robbins",cuisine:"ice_cream",name:"Baskin-Robbins"},terms:[],matchScore:2,suggestion:true},"amenity/ice_cream/Ben & Jerry's":{name:"Ben & Jerry's",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/BenandJerryAustralia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q816412",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Ben & Jerry's","brand:wikidata":"Q816412","brand:wikipedia":"en:Ben & Jerry's",cuisine:"ice_cream",name:"Ben & Jerry's"},terms:[],matchScore:2,suggestion:true},"amenity/ice_cream/Bruster's Ice Cream":{name:"Bruster's Ice Cream",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/BrustersRealIceCream/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4979810",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Bruster's Ice Cream","brand:wikidata":"Q4979810","brand:wikipedia":"en:Bruster's Ice Cream",cuisine:"ice_cream",name:"Bruster's Ice Cream"},countryCodes:["us"],terms:["brusters"],matchScore:2,suggestion:true},"amenity/ice_cream/Cold Stone Creamery":{name:"Cold Stone Creamery",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/coldstonecreamery/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1094923",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Cold Stone Creamery","brand:wikidata":"Q1094923","brand:wikipedia":"en:Cold Stone Creamery",cuisine:"ice_cream",name:"Cold Stone Creamery"},countryCodes:["ng","us"],terms:["cold stone"],matchScore:2,suggestion:true},"amenity/ice_cream/D'Onofrio":{name:"D'Onofrio",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/DonofrioDOficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5203166",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"D'Onofrio","brand:wikidata":"Q5203166","brand:wikipedia":"es:D'Onofrio",cuisine:"ice_cream",name:"D'Onofrio"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/ice_cream/Freddo":{name:"Freddo",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/FreddoUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28823999",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Freddo","brand:wikidata":"Q28823999","brand:wikipedia":"es:Freddo",cuisine:"ice_cream",name:"Freddo"},terms:[],matchScore:2,suggestion:true},"amenity/ice_cream/Graeter's":{name:"Graeter's",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/Graeters/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5592430",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Graeter's","brand:wikidata":"Q5592430","brand:wikipedia":"en:Graeter's",cuisine:"ice_cream",name:"Graeter's",takeaway:"yes"},countryCodes:["us"],terms:["greaters"],matchScore:2,suggestion:true},"amenity/ice_cream/Grido":{name:"Grido",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/GridoHelados/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5885724",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Grido","brand:wikidata":"Q5885724","brand:wikipedia":"es:Grido Helado",cuisine:"ice_cream",name:"Grido"},countryCodes:["ar"],terms:["grido helado"],matchScore:2,suggestion:true},"amenity/ice_cream/Häagen-Dazs":{name:"Häagen-Dazs",icon:"fas-ice-cream",imageURL:"https://pbs.twimg.com/profile_images/827598241403371520/qHkQxKH3_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q1143333",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Häagen-Dazs","brand:wikidata":"Q1143333","brand:wikipedia":"en:Häagen-Dazs",name:"Häagen-Dazs"},terms:[],matchScore:2,suggestion:true},"amenity/ice_cream/La Michoacana":{name:"La Michoacana",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/LaMichoacana.sv/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17118857",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"La Michoacana","brand:wikidata":"Q17118857","brand:wikipedia":"en:Paletería La Michoacana",name:"La Michoacana"},countryCodes:["mx"],terms:["paleteria la michoacana"],matchScore:2,suggestion:true},"amenity/ice_cream/Marble Slab Creamery":{name:"Marble Slab Creamery",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/marbleslabcreamery/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17020087",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Marble Slab Creamery","brand:wikidata":"Q17020087","brand:wikipedia":"en:Marble Slab Creamery",cuisine:"ice_cream",name:"Marble Slab Creamery"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/ice_cream/Menchie's":{name:"Menchie's",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/MyMenchies/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6816528",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Menchie's","brand:wikidata":"Q6816528","brand:wikipedia":"en:Menchie's Frozen Yogurt",cuisine:"frozen_yogurt",name:"Menchie's"},countryCodes:["ae","bh","bs","ca","cn","gb","in","jp","kw","qa","sa","us"],terms:["menchie's frozen yoghurt","menchie's frozen yogurt"],matchScore:2,suggestion:true},"amenity/ice_cream/Pinkberry":{name:"Pinkberry",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/pinkberry/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2904053",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Pinkberry","brand:wikidata":"Q2904053","brand:wikipedia":"en:Pinkberry",cuisine:"frozen_yogurt",name:"Pinkberry",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/ice_cream/Ralph's Italian Ices":{name:"Ralph's Italian Ices",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/RalphsFamous/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62576909",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Ralph's Italian Ices","brand:wikidata":"Q62576909",cuisine:"ice_cream",name:"Ralph's Italian Ices",official_name:"Ralph's Famous Italian Ices"},countryCodes:["us"],terms:["ralphs famous italian ices and ice cream","ralphs italian ice","ralphs italian ices and ice cream"],matchScore:2,suggestion:true},"amenity/ice_cream/Rita's Italian Ice":{name:"Rita's Italian Ice",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/RitasItalianIceCompany/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7336456",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Rita's Italian Ice","brand:wikidata":"Q7336456","brand:wikipedia":"en:Rita's Italian Ice",cuisine:"ice_cream",name:"Rita's Italian Ice"},countryCodes:["us"],terms:["ritas","ritas water ice"],matchScore:2,suggestion:true},"amenity/ice_cream/Yogen Früz":{name:"Yogen Früz",icon:"fas-ice-cream",imageURL:"https://pbs.twimg.com/profile_images/717339887498878977/ZDfPSjfD_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q8054358",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Yogen Früz","brand:wikidata":"Q8054358","brand:wikipedia":"en:Yogen Früz",cuisine:"frozen_yogurt",name:"Yogen Früz",takeaway:"yes"},terms:[],matchScore:2,suggestion:true},"amenity/ice_cream/Yogurtland":{name:"Yogurtland",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/yogurtland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8054428",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"Yogurtland","brand:wikidata":"Q8054428","brand:wikipedia":"en:Yogurtland",cuisine:"frozen_yogurt",name:"Yogurtland",takeaway:"yes"},countryCodes:["ae","au","sg","th","us","ve"],terms:[],matchScore:2,suggestion:true},"amenity/ice_cream/sweetFrog":{name:"sweetFrog",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/sweetfrogfroyo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16952110",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"sweetFrog","brand:wikidata":"Q16952110","brand:wikipedia":"en:Sweet Frog",cuisine:"frozen_yogurt",name:"sweetFrog"},countryCodes:["us"],terms:["sweetfrog frozen yogurt","sweetfrog premium frozen yogurt"],matchScore:2,suggestion:true},"amenity/ice_cream/サーティワンアイスクリーム":{name:"サーティワンアイスクリーム",icon:"fas-ice-cream",imageURL:"https://graph.facebook.com/baskinrobbinsUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q584601",amenity:"ice_cream"},addTags:{amenity:"ice_cream",brand:"バスキン・ロビンス","brand:en":"Baskin-Robbins","brand:ja":"バスキン・ロビンス","brand:wikidata":"Q584601","brand:wikipedia":"ja:バスキン・ロビンス",cuisine:"ice_cream",name:"サーティワンアイスクリーム","name:en":"Baskin-Robbins","name:ja":"サーティワンアイスクリーム"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/kindergarten/Children's Learning Adventure":{name:"Children's Learning Adventure",icon:"maki-school",imageURL:"https://graph.facebook.com/Childrenslearningadventure/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64821213",amenity:"kindergarten"},addTags:{after_school:"yes",amenity:"kindergarten",brand:"Children's Learning Adventure","brand:wikidata":"Q64821213","brand:wikipedia":"en:Children's Learning Adventure",fee:"yes","isced:level":"0",name:"Children's Learning Adventure",nursery:"yes",preschool:"yes",short_name:"CLA"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/kindergarten/Childtime":{name:"Childtime",icon:"maki-school",imageURL:"https://graph.facebook.com/Childtime/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64877793",amenity:"kindergarten"},addTags:{amenity:"kindergarten",brand:"Childtime","brand:wikidata":"Q64877793",fee:"yes","isced:level":"0",name:"Childtime",nursery:"yes",preschool:"yes"},countryCodes:["us"],terms:["childtime learning center","childtime learning centers"],matchScore:2,suggestion:true},"amenity/kindergarten/KinderCare":{name:"KinderCare",icon:"maki-school",imageURL:"https://graph.facebook.com/kindercare/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6410551",amenity:"kindergarten"},addTags:{after_school:"yes",alt_name:"KinderCare Learning Center",amenity:"kindergarten",brand:"KinderCare","brand:wikidata":"Q6410551","brand:wikipedia":"en:KinderCare Learning Centers",fee:"yes","isced:level":"0",max_age:"12",min_age:"6 weeks",name:"KinderCare",nursery:"yes",preschool:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/kindergarten/La Petite Academy":{name:"La Petite Academy",icon:"maki-school",imageURL:"https://graph.facebook.com/LaPetiteAcademy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64877784",amenity:"kindergarten"},addTags:{amenity:"kindergarten",brand:"La Petite Academy","brand:wikidata":"Q64877784",fee:"yes","isced:level":"0",name:"La Petite Academy",nursery:"yes",preschool:"yes"},countryCodes:["us"],terms:["la petite"],matchScore:2,suggestion:true},"amenity/kindergarten/New Horizon Academy":{name:"New Horizon Academy",icon:"maki-school",imageURL:"https://pbs.twimg.com/profile_images/778681004206592001/ZQF3Eurh_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q64821306",amenity:"kindergarten"},addTags:{after_school:"yes",amenity:"kindergarten",brand:"New Horizon Academy","brand:wikidata":"Q64821306",fee:"yes","isced:level":"0",name:"New Horizon Academy",nursery:"yes",preschool:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/kindergarten/Primrose School":{name:"Primrose School",icon:"maki-school",imageURL:"https://graph.facebook.com/PrimroseSchools/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7243677",amenity:"kindergarten"},addTags:{after_school:"yes",alt_name:"Primrose Schools",amenity:"kindergarten",brand:"Primrose School","brand:wikidata":"Q7243677",fee:"yes","isced:level":"0",max_age:"12",min_age:"6 weeks",name:"Primrose School",nursery:"yes",preschool:"yes"},countryCodes:["us"],terms:["primrose"],matchScore:2,suggestion:true},"amenity/kindergarten/The Children's Courtyard":{name:"The Children's Courtyard",icon:"maki-school",imageURL:"https://graph.facebook.com/ChildrensCourtyard/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64877852",amenity:"kindergarten"},addTags:{amenity:"kindergarten",brand:"The Children's Courtyard","brand:wikidata":"Q64877852",fee:"yes","isced:level":"0",name:"The Children's Courtyard",nursery:"yes",preschool:"yes"},countryCodes:["us"],terms:["children's courtyard"],matchScore:2,suggestion:true},"amenity/kindergarten/The Goddard School":{name:"The Goddard School",icon:"maki-school",imageURL:"https://graph.facebook.com/goddardschool/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5576260",amenity:"kindergarten"},addTags:{after_school:"yes",alt_name:"Goddard School",amenity:"kindergarten",brand:"The Goddard School","brand:wikidata":"Q5576260",fee:"yes","isced:level":"0",min_age:"6 weeks",name:"The Goddard School",nursery:"yes",preschool:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/kindergarten/Tutor Time":{name:"Tutor Time",icon:"maki-school",imageURL:"https://graph.facebook.com/TutorTime/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64877826",amenity:"kindergarten"},addTags:{amenity:"kindergarten",brand:"Tutor Time","brand:wikidata":"Q64877826",fee:"yes","isced:level":"0",name:"Tutor Time",nursery:"yes",preschool:"yes"},countryCodes:["us"],terms:["tutor time child care","tutor time child care learning center","tutor time learning center","tutor time learning centers"],matchScore:2,suggestion:true},"amenity/language_school/AEON":{name:"AEON",icon:"maki-school",imageURL:"https://graph.facebook.com/AEONCorporation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4687898",amenity:"language_school"},addTags:{amenity:"language_school",brand:"AEON","brand:en":"Aeon","brand:ja":"AEON","brand:ja-Hira":"イーオン","brand:ja-Latn":"AEON","brand:wikidata":"Q4687898","brand:wikipedia":"ja:イーオン","language:en":"main",name:"AEON","name:en":"Aeon","name:ja":"AEON","name:ja-Hira":"イーオン","name:ja-Latn":"AEON"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/language_school/Berlitz":{name:"Berlitz",icon:"maki-school",imageURL:"https://graph.facebook.com/BerlitzUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q821960",amenity:"language_school"},addTags:{amenity:"language_school",brand:"Berlitz","brand:wikidata":"Q821960","brand:wikipedia":"en:Berlitz Corporation",name:"Berlitz"},terms:[],matchScore:2,suggestion:true},"amenity/language_school/ECC外語学院":{name:"ECC外語学院",icon:"maki-school",imageURL:"https://graph.facebook.com/ecc.co.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5322655",amenity:"language_school"},addTags:{amenity:"language_school",brand:"ECC外語学院","brand:en":"ECC Foreign Language Institute","brand:ja":"ECC外語学院","brand:ja-Hira":"イーシーシーがいごがくいん","brand:ja-Latn":"ECC Gaigo Gakuin","brand:wikidata":"Q5322655","brand:wikipedia":"ja:ECC総合教育機関","language:en":"main",name:"ECC外語学院","name:en":"ECC Foreign Language Institute","name:ja":"ECC外語学院","name:ja-Hira":"イーシーシーがいごがくいん","name:ja-Latn":"ECC Gaigo Gakuin",short_name:"ECC","short_name:en":"ECC","short_name:ja":"ECC","short_name:ja-Hira":"イーシーシー","short_name:ja-Latn":"ECC"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/language_school/ELS":{name:"ELS",icon:"maki-school",imageURL:"https://graph.facebook.com/els/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5323325",amenity:"language_school"},addTags:{amenity:"language_school",brand:"ELS","brand:en":"ELS","brand:wikidata":"Q5323325","brand:wikipedia":"en:ELS Language Centers","language:en":"main",name:"ELS","name:en":"ELS",official_name:"ELS Language Centers","official_name:en":"ELS Language Centers"},countryCodes:["ca","in","my","pa","sa","tr","us","vn"],terms:[],matchScore:2,suggestion:true},"amenity/language_school/GABA":{name:"GABA",icon:"maki-school",imageURL:"https://graph.facebook.com/gaba.corp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5515241",amenity:"language_school"},addTags:{amenity:"language_school",brand:"GABA","brand:en":"Gaba","brand:ja":"GABA","brand:ja-Kana":"ガバ","brand:ja-Latn":"GABA","brand:wikidata":"Q5515241","brand:wikipedia":"ja:GABA (企業)","language:en":"main",name:"GABA","name:en":"Gaba","name:ja":"GABA","name:ja-Kana":"ガバ","name:ja-Latn":"GABA"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/language_school/NOVA":{name:"NOVA",icon:"maki-school",imageURL:"https://graph.facebook.com/nova.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7064000",amenity:"language_school"},addTags:{amenity:"language_school",brand:"NOVA","brand:en":"Nova","brand:ja":"NOVA","brand:ja-Hira":"ノヴァ","brand:ja-Latn":"NOVA","brand:wikidata":"Q7064000","brand:wikipedia":"ja:NOVA","language:en":"main",name:"NOVA","name:en":"Nova","name:ja":"NOVA","name:ja-Hira":"ノヴァ","name:ja-Latn":"NOVA"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/language_school/Shane English School":{name:"Shane English School",icon:"maki-school",imageURL:"https://graph.facebook.com/ShaneEnglishSchool/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17054332",amenity:"language_school"},addTags:{amenity:"language_school",brand:"Shane English School","brand:en":"Shane English School","brand:ja":"シェーン英会話","brand:ja-Latn":"Shēn Eikaiwa","brand:wikidata":"Q17054332","brand:wikipedia":"en:Shane English School","language:en":"main",name:"Shane English School","name:en":"Shane English School","name:ja":"シェーン英会話","name:ja-Latn":"Shēn Eikaiwa"},countryCodes:["cn","dz","gb","hk","id","kr","pl","th","tw","vn"],terms:[],matchScore:2,suggestion:true},"amenity/language_school/シェーン英会話":{name:"シェーン英会話",icon:"maki-school",imageURL:"https://graph.facebook.com/ShaneEnglishSchool/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17054332",amenity:"language_school"},addTags:{amenity:"language_school",brand:"シェーン英会話","brand:en":"Shane English School","brand:ja":"シェーン英会話","brand:ja-Latn":"Shēn Eikaiwa","brand:wikidata":"Q17054332","brand:wikipedia":"ja:シェーン英会話スクール","language:en":"main",name:"シェーン英会話","name:en":"Shane English School","name:ja":"シェーン英会話","name:ja-Latn":"Shēn Eikaiwa"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/language_school/セイハ英語学院":{name:"セイハ英語学院",icon:"maki-school",geometry:["point","area"],tags:{"brand:wikidata":"Q7446694",amenity:"language_school"},addTags:{amenity:"language_school",brand:"セイハ英語学院","brand:en":"Seiha English Academy","brand:ja":"セイハ英語学院","brand:ja-Hani":"セイハえいごがくいん","brand:ja-Latn":"Seiha Eigo Gakuin","brand:wikidata":"Q7446694","language:en":"main",name:"セイハ英語学院","name:en":"Seiha English Academy","name:ja":"セイハ英語学院","name:ja-Hani":"セイハえいごがくいん","name:ja-Latn":"Seiha Eigo Gakuin"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/language_school/ベルリッツ":{name:"ベルリッツ",icon:"maki-school",imageURL:"https://graph.facebook.com/BerlitzJapan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4892545",amenity:"language_school"},addTags:{amenity:"language_school",brand:"ベルリッツ","brand:en":"Berlitz","brand:ja":"ベルリッツ","brand:ja-Hira":"ベルリッツ","brand:wikidata":"Q4892545","brand:wikipedia":"ja:ベルリッツ・ジャパン",name:"ベルリッツ","name:en":"Berlitz","name:ja":"ベルリッツ","name:ja-Hira":"ベルリッツ"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/language_school/ペッピーキッズクラブ":{name:"ペッピーキッズクラブ",icon:"maki-school",geometry:["point","area"],tags:{"brand:wikidata":"Q7166471",amenity:"language_school"},addTags:{amenity:"language_school",brand:"ペッピーキッズクラブ","brand:en":"Peppy Kids Club","brand:ja":"ペッピーキッズクラブ","brand:ja-Latn":"Peppi Kizzu Kurabu","brand:wikidata":"Q7166471","brand:wikipedia":"ja:ペッピーキッズクラブ","language:en":"main",name:"ペッピーキッズクラブ","name:en":"Peppy Kids Club","name:ja":"ペッピーキッズクラブ","name:ja-Latn":"Peppi Kizzu Kurabu"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/money_transfer/Express Union":{name:"Express Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/ExpressUnionFinance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3062276",amenity:"money_transfer"},addTags:{amenity:"money_transfer",brand:"Express Union","brand:wikidata":"Q3062276","brand:wikipedia":"fr:Express Union",name:"Express Union"},countryCodes:["td"],terms:[],matchScore:2,suggestion:true},"amenity/money_transfer/Hoa Phát":{name:"Hoa Phát",icon:"maki-bank",imageURL:"https://pbs.twimg.com/profile_images/692515699349135364/P4MUVfcJ_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q65116775",amenity:"money_transfer"},addTags:{amenity:"money_transfer",brand:"Hoa Phát","brand:wikidata":"Q65116775",name:"Hoa Phát","name:vi":"Hoa Phát"},countryCodes:["us"],terms:["hoa phat goi tien","hoa phat gui tien"],matchScore:2,suggestion:true},"amenity/money_transfer/MoneyGram":{name:"MoneyGram",icon:"maki-bank",imageURL:"https://graph.facebook.com/moneygram/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1944412",amenity:"money_transfer"},addTags:{amenity:"money_transfer",brand:"MoneyGram","brand:wikidata":"Q1944412","brand:wikipedia":"en:MoneyGram",name:"MoneyGram"},countryCodes:["de","fr","gr"],terms:[],matchScore:2,suggestion:true},"amenity/money_transfer/Orange Money":{name:"Orange Money",icon:"maki-bank",imageURL:"https://graph.facebook.com/orange/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16668220",amenity:"money_transfer"},addTags:{amenity:"money_transfer",brand:"Orange Money","brand:wikidata":"Q16668220","brand:wikipedia":"en:Orange Money",name:"Orange Money"},countryCodes:["ml"],terms:[],matchScore:2,suggestion:true},"amenity/money_transfer/Western Union":{name:"Western Union",icon:"maki-bank",imageURL:"https://graph.facebook.com/WesternUnion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q861042",amenity:"money_transfer"},addTags:{amenity:"money_transfer",brand:"Western Union","brand:wikidata":"Q861042","brand:wikipedia":"en:Western Union",name:"Western Union"},terms:[],matchScore:2,suggestion:true},"amenity/parking/Parking Company of America":{name:"Parking Company of America",icon:"maki-car",imageURL:"https://graph.facebook.com/parkingcompanyofamerica/picture?type=large",geometry:["point","vertex","area"],tags:{"brand:wikidata":"Q65491376",amenity:"parking"},addTags:{amenity:"parking",brand:"Parking Company of America","brand:wikidata":"Q65491376",fee:"yes",name:"Parking Company of America",short_name:"PCA"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/parking/SP+":{name:"SP+",icon:"maki-car",imageURL:"https://graph.facebook.com/sppluscorp/picture?type=large",geometry:["point","vertex","area"],tags:{"brand:wikidata":"Q7598289",amenity:"parking"},addTags:{alt_name:"SP Plus",amenity:"parking",brand:"SP+","brand:wikidata":"Q7598289","brand:wikipedia":"en:SP Plus Corporation",fee:"yes",name:"SP+"},countryCodes:["ca","us"],terms:["central parking","central parking system","standard parking"],matchScore:2,suggestion:true},"amenity/payment_centre/Abitab":{name:"Abitab",icon:"maki-bank",imageURL:"https://graph.facebook.com/Abitaboficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16488129",amenity:"payment_centre"},addTags:{amenity:"payment_centre",brand:"Abitab","brand:wikidata":"Q16488129","brand:wikipedia":"es:Abitab",name:"Abitab"},countryCodes:["uy"],terms:[],matchScore:2,suggestion:true},"amenity/payment_centre/Rapipago":{name:"Rapipago",icon:"maki-bank",imageURL:"https://graph.facebook.com/Rapipago/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6100413",amenity:"payment_centre"},addTags:{amenity:"payment_centre",brand:"Rapipago","brand:wikidata":"Q6100413","brand:wikipedia":"es:Rapipago",name:"Rapipago"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/payment_terminal/Qiwi":{name:"Qiwi",icon:"far-credit-card",imageURL:"https://graph.facebook.com/qiwirussia/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q4047736",amenity:"payment_terminal"},addTags:{amenity:"payment_terminal",brand:"Qiwi","brand:wikidata":"Q4047736","brand:wikipedia":"en:Qiwi",name:"Qiwi"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/payment_terminal/ПриватБанк":{name:"ПриватБанк",icon:"far-credit-card",imageURL:"https://graph.facebook.com/privatbank/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q1515015",amenity:"payment_terminal"},addTags:{amenity:"payment_terminal",brand:"ПриватБанк","brand:wikidata":"Q1515015","brand:wikipedia":"en:PrivatBank",name:"ПриватБанк"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/payment_terminal/Элекснет":{name:"Элекснет",icon:"far-credit-card",imageURL:"https://graph.facebook.com/elecsnet/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q4530795",amenity:"payment_terminal"},addTags:{amenity:"payment_terminal",brand:"Элекснет","brand:wikidata":"Q4530795","brand:wikipedia":"ru:Элекснет",name:"Элекснет"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/36,6":{name:"36,6",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/apteka366/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q226889",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"36,6","brand:wikidata":"Q226889","brand:wikipedia":"ru:36,6 (аптечная сеть)",healthcare:"pharmacy",name:"36,6"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ru"],terms:["аптека 36,6"],matchScore:2,suggestion:true},"amenity/pharmacy/Amcal":{name:"Amcal",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/AmcalAustralia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63367373",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Amcal","brand:wikidata":"Q63367373",healthcare:"pharmacy",name:"Amcal"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["au"],terms:["amcal pharmacy"],matchScore:2,suggestion:true},"amenity/pharmacy/Apollo Pharmacy":{name:"Apollo Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/ApolloPharmacy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62562612",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Apollo Pharmacy","brand:wikidata":"Q62562612",healthcare:"pharmacy",name:"Apollo Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Apotek Hjärtat":{name:"Apotek Hjärtat",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/apotekhjartat/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10416114",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Apotek Hjärtat","brand:wikidata":"Q10416114","brand:wikipedia":"sv:Apotek Hjärtat",healthcare:"pharmacy",name:"Apotek Hjärtat"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Bartell Drugs":{name:"Bartell Drugs",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/BartellDrugs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4865152",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Bartell Drugs","brand:wikidata":"Q4865152","brand:wikipedia":"en:Bartell Drugs",healthcare:"pharmacy",name:"Bartell Drugs"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Benavides":{name:"Benavides",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/FarmaciasBenavides/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5435613",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Benavides","brand:wikidata":"Q5435613","brand:wikipedia":"en:Farmacias Benavides",healthcare:"pharmacy",name:"Benavides"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Benu":{name:"Benu",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/PharmaciesBENUSwitzerland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62562792",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Benu","brand:wikidata":"Q62562792",healthcare:"pharmacy",name:"Benu"},reference:{key:"amenity",value:"pharmacy"},terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Blooms The Chemist":{name:"Blooms The Chemist",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/BloomsTheChemistPharmacy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63367543",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Blooms The Chemist","brand:wikidata":"Q63367543",healthcare:"pharmacy",name:"Blooms The Chemist",shop:"chemist"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Boots":{name:"Boots",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/bootsuk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6123139",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Boots","brand:wikidata":"Q6123139","brand:wikipedia":"en:Boots UK",healthcare:"pharmacy",name:"Boots"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["gb"],terms:["boots pharmacy"],matchScore:2,suggestion:true},"amenity/pharmacy/Boticas y Salud":{name:"Boticas y Salud",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/844038768993601/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62563126",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Boticas y Salud","brand:wikidata":"Q62563126",healthcare:"pharmacy",name:"Boticas y Salud"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Brookshire Brothers Pharmacy":{name:"Brookshire Brothers Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/BrookshireBros/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4975084",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Brookshire Brothers Pharmacy","brand:wikidata":"Q4975084","brand:wikipedia":"en:Brookshire Brothers",healthcare:"pharmacy",name:"Brookshire Brothers Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/CVS Pharmacy":{name:"CVS Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/CVS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2078880",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"CVS Pharmacy","brand:wikidata":"Q2078880","brand:wikipedia":"en:CVS Pharmacy",healthcare:"pharmacy",name:"CVS Pharmacy",short_name:"CVS"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Camelia":{name:"Camelia",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/camelia.vaistine/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15867413",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Camelia","brand:wikidata":"Q15867413","brand:wikipedia":"lt:Nemuno vaistinė",healthcare:"pharmacy",name:"Camelia"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["lt"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Catena":{name:"Catena",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/FarmaciaCatena/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q24035728",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Catena","brand:wikidata":"Q24035728","brand:wikipedia":"ro:Farmacia Catena",healthcare:"pharmacy",name:"Catena"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ro"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Chemist King Discount Pharmacy":{name:"Chemist King Discount Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/ChemistKingDiscountPharmacy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63367667",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Chemist King Discount Pharmacy","brand:wikidata":"Q63367667",healthcare:"pharmacy",name:"Chemist King Discount Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["au"],terms:["chemist king","chemist king discount pharmacies"],matchScore:2,suggestion:true},"amenity/pharmacy/Chemist Warehouse":{name:"Chemist Warehouse",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/ChemistWarehouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q48782120",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Chemist Warehouse","brand:wikidata":"Q48782120","brand:wikipedia":"en:Chemist Warehouse",healthcare:"pharmacy",name:"Chemist Warehouse"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["au","nz"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Clicks":{name:"Clicks",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/ClicksSouthAfrica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62563622",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Clicks","brand:wikidata":"Q62563622",healthcare:"pharmacy",name:"Clicks"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["za"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Costco Pharmacy":{name:"Costco Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/Costco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q715583",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Costco Pharmacy","brand:wikidata":"Q715583","brand:wikipedia":"en:Costco",healthcare:"pharmacy",name:"Costco Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Cruz Azul":{name:"Cruz Azul",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/CruzAzul.Farmacias/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62108219",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Cruz Azul","brand:wikidata":"Q62108219",healthcare:"pharmacy",name:"Cruz Azul"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ec"],terms:["farmacias cruz azul"],matchScore:2,suggestion:true},"amenity/pharmacy/Cruz Verde":{name:"Cruz Verde",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/FarmaciasCruzVerde1/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5856071",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Cruz Verde","brand:wikidata":"Q5856071","brand:wikipedia":"es:Farmacias Cruz Verde",healthcare:"pharmacy",name:"Cruz Verde"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["cl"],terms:["farmacias cruz verde"],matchScore:2,suggestion:true},"amenity/pharmacy/Day Lewis Pharmacy":{name:"Day Lewis Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/DayLewisPharmacy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62563772",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Day Lewis Pharmacy","brand:wikidata":"Q62563772",healthcare:"pharmacy",name:"Day Lewis Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Dbam o Zdrowie":{name:"Dbam o Zdrowie",icon:"maki-pharmacy",imageURL:"https://pbs.twimg.com/profile_images/725613555530133504/f2lYAu0M_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q62563833",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Dbam o Zdrowie","brand:wikidata":"Q62563833",healthcare:"pharmacy",name:"Dbam o Zdrowie"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Dr. Max":{name:"Dr. Max",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/lekarnadrmax/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q56317371",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Dr. Max","brand:wikidata":"Q56317371","brand:wikipedia":"fr:Dr.Max",healthcare:"pharmacy",name:"Dr. Max"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["cz","pl","sk"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Droga Raia":{name:"Droga Raia",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/DrogaRaia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10357101",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Droga Raia","brand:wikidata":"Q10357101","brand:wikipedia":"pt:RaiaDrogasil",healthcare:"pharmacy",name:"Droga Raia"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Drogaria São Paulo":{name:"Drogaria São Paulo",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/DrogariaSaoPaulo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5308184",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Drogaria São Paulo","brand:wikidata":"Q5308184","brand:wikipedia":"en:Grupo DPSP",healthcare:"pharmacy",name:"Drogaria São Paulo"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Drogasil":{name:"Drogasil",icon:"maki-pharmacy",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FDrogazil.logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q5308185",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Drogasil","brand:wikidata":"Q5308185","brand:wikipedia":"pt:Drogasil",healthcare:"pharmacy",name:"Drogasil",wheelchair:"yes"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Duane Reade":{name:"Duane Reade",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/duanereade/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5310380",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Duane Reade","brand:wikidata":"Q5310380","brand:wikipedia":"en:Duane Reade",healthcare:"pharmacy",name:"Duane Reade"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Eurovaistinė":{name:"Eurovaistinė",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q267205",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Eurovaistinė","brand:wikidata":"Q267205","brand:wikipedia":"en:Euroapotheca",healthcare:"pharmacy",name:"Eurovaistinė"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["lt"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Extrafarma":{name:"Extrafarma",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/Extrafarma/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q20055480",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Extrafarma","brand:wikidata":"Q20055480","brand:wikipedia":"pt:Extrafarma",healthcare:"pharmacy",name:"Extrafarma"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Familiprix":{name:"Familiprix",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/Familiprix/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3064881",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Familiprix","brand:wikidata":"Q3064881","brand:wikipedia":"en:Familiprix",healthcare:"pharmacy",name:"Familiprix"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Farmacenter (Colombia)":{name:"Farmacenter (Colombia)",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/FarmacenterCo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62563928",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Farmacenter","brand:wikidata":"Q62563928",healthcare:"pharmacy",name:"Farmacenter"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["co"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Farmacia Benavides":{name:"Farmacia Benavides",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/FarmaciasBenavides/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5435613",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Farmacia Benavides","brand:wikidata":"Q5435613","brand:wikipedia":"en:Farmacias Benavides",healthcare:"pharmacy",name:"Farmacia Benavides"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Farmacia Guadalajara":{name:"Farmacia Guadalajara",icon:"maki-pharmacy",imageURL:"https://pbs.twimg.com/profile_images/1748872266/avatar_Twitter_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q5435609",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Farmacia Guadalajara","brand:wikidata":"Q5435609","brand:wikipedia":"en:Farmacias Guadalajara",healthcare:"pharmacy",name:"Farmacia Guadalajara"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["mx"],terms:["farmacias guadalajara"],matchScore:2,suggestion:true},"amenity/pharmacy/Farmacias Ahumada":{name:"Farmacias Ahumada",icon:"maki-pharmacy",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FFarmacias%20ahumada.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q5856069",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Farmacias Ahumada","brand:wikidata":"Q5856069","brand:wikipedia":"es:Farmacias Ahumada",healthcare:"pharmacy",name:"Farmacias Ahumada"},reference:{key:"amenity",value:"pharmacy"},terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Farmacias Económicas (Ecuador)":{name:"Farmacias Económicas (Ecuador)",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/FarmaciasEconomicasEc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62108380",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Farmacias Económicas","brand:wikidata":"Q62108380",healthcare:"pharmacy",name:"Farmacias Económicas"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ec"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Farmacias Económicas (El Salvador)":{name:"Farmacias Económicas (El Salvador)",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/FarmaciasEconomicas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62108397",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Farmacias Económicas","brand:wikidata":"Q62108397",healthcare:"pharmacy",name:"Farmacias Económicas"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["sv"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Farmacias Similares":{name:"Farmacias Similares",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/DrSimiChile/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62564610",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Farmacias Similares","brand:wikidata":"Q62564610",healthcare:"pharmacy",name:"Farmacias Similares"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["cl","gt","mx"],terms:["similares"],matchScore:2,suggestion:true},"amenity/pharmacy/Farmacias del Ahorro":{name:"Farmacias del Ahorro",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/FAhorro/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62086647",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Farmacias del Ahorro","brand:wikidata":"Q62086647",healthcare:"pharmacy",name:"Farmacias del Ahorro"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["mx"],terms:["farmacia del ahorro"],matchScore:2,suggestion:true},"amenity/pharmacy/Farmacias del Dr. Simi":{name:"Farmacias del Dr. Simi",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/DrSimiChile/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62564610",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Farmacias del Dr. Simi","brand:wikidata":"Q62564610",healthcare:"pharmacy",name:"Farmacias del Dr. Simi"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["cl","gt","mx"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Farmacity":{name:"Farmacity",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/Farmacity/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5856076",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Farmacity","brand:wikidata":"Q5856076","brand:wikipedia":"es:Farmacity",healthcare:"pharmacy",name:"Farmacity"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ra"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Farmahorro":{name:"Farmahorro",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/FarmahorroVe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q20015002",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Farmahorro","brand:wikidata":"Q20015002","brand:wikipedia":"es:Farmahorro",healthcare:"pharmacy",name:"Farmahorro"},reference:{key:"amenity",value:"pharmacy"},terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Farmatodo":{name:"Farmatodo",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/farmatodovenezuela/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5856092",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Farmatodo","brand:wikidata":"Q5856092","brand:wikipedia":"es:Farmatodo",healthcare:"pharmacy",name:"Farmatodo"},reference:{key:"amenity",value:"pharmacy"},terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Felicia":{name:"Felicia",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/farmaciafelicia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62564805",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Felicia","brand:wikidata":"Q62564805",healthcare:"pharmacy",name:"Felicia"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["md"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Fybeca":{name:"Fybeca",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/fybeca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62564822",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Fybeca","brand:wikidata":"Q62564822",healthcare:"pharmacy",name:"Fybeca"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ec"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Generika":{name:"Generika",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/GenerikaDrugstorePH/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62564876",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Generika","brand:wikidata":"Q62564876",healthcare:"pharmacy",name:"Generika"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ph"],terms:["generika drugstore"],matchScore:2,suggestion:true},"amenity/pharmacy/Gintarinė vaistinė":{name:"Gintarinė vaistinė",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/Gintarine.Vaistine/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15857801",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Gintarinė vaistinė","brand:wikidata":"Q15857801","brand:wikipedia":"lt:Gintarinė vaistinė",healthcare:"pharmacy",name:"Gintarinė vaistinė"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["lt"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Guardian (Asia)":{name:"Guardian (Asia)",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/Guardianmy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63371124",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Guardian","brand:wikidata":"Q63371124",healthcare:"pharmacy",name:"Guardian"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["bn","id","kh","my","sg","vn"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Guardian (Australia)":{name:"Guardian (Australia)",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/GuardianAustralia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63367814",amenity:"pharmacy"},addTags:{brand:"Guardian","brand:wikidata":"Q63367814",healthcare:"pharmacy",name:"Guardian"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["au"],terms:["guardian pharmacies","guardian pharmacy"],matchScore:2,suggestion:true},"amenity/pharmacy/Guardian (Canada)":{name:"Guardian (Canada)",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q65553864",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Guardian","brand:wikidata":"Q65553864",healthcare:"pharmacy",name:"Guardian"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/H-E-B Pharmacy":{name:"H-E-B Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/HEB/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q830621",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"H-E-B Pharmacy","brand:wikidata":"Q830621","brand:wikipedia":"en:H-E-B",healthcare:"pharmacy",name:"H-E-B Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Health Mart":{name:"Health Mart",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/HealthMart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5690597",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Health Mart","brand:wikidata":"Q5690597","brand:wikipedia":"en:Health Mart",healthcare:"pharmacy",name:"Health Mart"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:["health mart pharmacy"],matchScore:2,suggestion:true},"amenity/pharmacy/Hy-Vee Pharmacy":{name:"Hy-Vee Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/HyVee/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1639719",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Hy-Vee Pharmacy","brand:wikidata":"Q1639719","brand:wikipedia":"en:Hy-Vee",healthcare:"pharmacy",name:"Hy-Vee Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/I.D.A.":{name:"I.D.A.",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q65553883",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"I.D.A.","brand:wikidata":"Q65553883",healthcare:"pharmacy",name:"I.D.A."},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Inkafarma":{name:"Inkafarma",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/inkafarmaperu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10997748",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Inkafarma","brand:wikidata":"Q10997748","brand:wikipedia":"es:Inkafarma",healthcare:"pharmacy",name:"Inkafarma"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Jean Coutu":{name:"Jean Coutu",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/JeanCoutu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3117457",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Jean Coutu","brand:wikidata":"Q3117457","brand:wikipedia":"en:Jean Coutu Group",healthcare:"pharmacy",name:"Jean Coutu"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Kimia Farma":{name:"Kimia Farma",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/KimiaFarmaCare/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11264892",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Kimia Farma","brand:wikidata":"Q11264892","brand:wikipedia":"en:Kimia Farma",healthcare:"pharmacy",name:"Kimia Farma"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Kinney Drugs":{name:"Kinney Drugs",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/kinneydrugs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6414090",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Kinney Drugs","brand:wikidata":"Q6414090","brand:wikipedia":"en:Kinney Drugs",healthcare:"pharmacy",name:"Kinney Drugs"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Lloyds Pharmacy":{name:"Lloyds Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/lloydspharmacy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6662870",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Lloyds Pharmacy","brand:wikidata":"Q6662870","brand:wikipedia":"en:LloydsPharmacy",healthcare:"pharmacy",name:"Lloyds Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["be","gb","ie","im"],terms:["lloyds"],matchScore:2,suggestion:true},"amenity/pharmacy/London Drugs":{name:"London Drugs",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/LondonDrugs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3258955",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"London Drugs","brand:wikidata":"Q3258955","brand:wikipedia":"en:London Drugs",healthcare:"pharmacy",name:"London Drugs"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Longs Drugs (Hawaii)":{name:"Longs Drugs (Hawaii)",icon:"maki-pharmacy",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLongs%20Drugs%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q16931196",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Longs Drugs","brand:wikidata":"Q16931196","brand:wikipedia":"en:Longs Drugs",healthcare:"pharmacy",name:"Longs Drugs",short_name:"Longs"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Mannings":{name:"Mannings",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/manningshongkong/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q13646560",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Mannings","brand:wikidata":"Q13646560","brand:wikipedia":"en:Mannings",healthcare:"pharmacy",name:"Mannings"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["cn","hk","mo"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Marc's Pharmacy":{name:"Marc's Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/MarcsStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17080259",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Marc's","brand:wikidata":"Q17080259","brand:wikipedia":"en:Marc's",healthcare:"pharmacy",name:"Marc's Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/MedPlus":{name:"MedPlus",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q65684234",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"MedPlus","brand:wikidata":"Q65684234","brand:wikipedia":"en:MedPlus",healthcare:"pharmacy",name:"MedPlus"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Mercury Drug":{name:"Mercury Drug",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/mercurydrugph/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6818610",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Mercury Drug","brand:wikidata":"Q6818610","brand:wikipedia":"en:Mercury Drug",healthcare:"pharmacy",name:"Mercury Drug"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Mifarma":{name:"Mifarma",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/MifarmaPeru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62564998",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Mifarma","brand:wikidata":"Q62564998",healthcare:"pharmacy",name:"Mifarma"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Multipharma":{name:"Multipharma",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/Multipharma.be/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62565018",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Multipharma","brand:wikidata":"Q62565018",healthcare:"pharmacy",name:"Multipharma"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["be"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Mēness aptieka":{name:"Mēness aptieka",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/MenessAptieka/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57583051",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Mēness aptieka","brand:wikidata":"Q57583051",healthcare:"pharmacy",name:"Mēness aptieka"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["lv"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Pague Menos":{name:"Pague Menos",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/farmaciaspaguemenos/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7124466",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Pague Menos","brand:wikidata":"Q7124466","brand:wikipedia":"pt:Pague Menos",healthcare:"pharmacy",name:"Pague Menos"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["br"],terms:["farmácia pague menos"],matchScore:2,suggestion:true},"amenity/pharmacy/PharmaChoice":{name:"PharmaChoice",icon:"maki-pharmacy",imageURL:"https://pbs.twimg.com/profile_images/875423108513091584/kcsmBdjL_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7180716",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"PharmaChoice","brand:wikidata":"Q7180716","brand:wikipedia":"en:PharmaChoice",healthcare:"pharmacy",name:"PharmaChoice"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/PharmaSave (Australia)":{name:"PharmaSave (Australia)",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/PharmasaveBrentfordSquare/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63367906",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"PharmaSave","brand:wikidata":"Q63367906",healthcare:"pharmacy",name:"PharmaSave"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Pharmacie Principale":{name:"Pharmacie Principale",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/PharmaciePrincipale/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1547749",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Pharmacie Principale","brand:wikidata":"Q1547749","brand:wikipedia":"fr:Groupe PP Holding",healthcare:"pharmacy",name:"Pharmacie Principale"},reference:{key:"amenity",value:"pharmacy"},terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Pharmacy 4 Less":{name:"Pharmacy 4 Less",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/pharmacy4less/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63367608",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Pharmacy 4 Less","brand:wikidata":"Q63367608",healthcare:"pharmacy",name:"Pharmacy 4 Less"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Pharmaprix":{name:"Pharmaprix",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/shoppersdrugmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1820137",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Pharmaprix","brand:wikidata":"Q1820137","brand:wikipedia":"en:Shoppers Drug Mart",healthcare:"pharmacy",name:"Pharmaprix"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Pharmasave (Canada)":{name:"Pharmasave (Canada)",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/PharmasaveAtlantic/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17093822",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Pharmasave","brand:wikidata":"Q17093822","brand:wikipedia":"en:Pharmasave",healthcare:"pharmacy",name:"Pharmasave"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Priceline Pharmacy":{name:"Priceline Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/PricelineAustralia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7242652",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Priceline Pharmacy","brand:wikidata":"Q7242652","brand:wikipedia":"en:Priceline (Australia)",healthcare:"pharmacy",name:"Priceline Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["au"],terms:["priceline"],matchScore:2,suggestion:true},"amenity/pharmacy/Punto Farma (Colombia)":{name:"Punto Farma (Colombia)",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q62595271",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Punto Farma","brand:wikidata":"Q62595271",healthcare:"pharmacy",name:"Punto Farma"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["co"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Punto Farma (Honduras)":{name:"Punto Farma (Honduras)",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/FarmaciasPuntoFarma/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62595229",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Punto Farma","brand:wikidata":"Q62595229",healthcare:"pharmacy",name:"Punto Farma"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["hn"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Punto Farma (Paraguay)":{name:"Punto Farma (Paraguay)",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/Puntofarmapy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62595220",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Punto Farma","brand:wikidata":"Q62595220",healthcare:"pharmacy",name:"Punto Farma"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["py"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Remedy'sRx":{name:"Remedy'sRx",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q65553833",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Remedy'sRx","brand:wikidata":"Q65553833",healthcare:"pharmacy",name:"Remedy'sRx"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Rexall":{name:"Rexall",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/Rexall/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7319360",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Rexall","brand:wikidata":"Q7319360","brand:wikipedia":"en:Rexall",healthcare:"pharmacy",name:"Rexall"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Rite Aid":{name:"Rite Aid",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/riteaid/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3433273",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Rite Aid","brand:wikidata":"Q3433273","brand:wikipedia":"en:Rite Aid",healthcare:"pharmacy",name:"Rite Aid"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:["rite aid pharmacy"],matchScore:2,suggestion:true},"amenity/pharmacy/Rose Pharmacy":{name:"Rose Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/RosePharmacyInc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62663208",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Rose Pharmacy","brand:wikidata":"Q62663208",healthcare:"pharmacy",name:"Rose Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Rowlands Pharmacy":{name:"Rowlands Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/RowlandsPharmacy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62663235",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Rowlands Pharmacy","brand:wikidata":"Q62663235",healthcare:"pharmacy",name:"Rowlands Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/SalcoBrand":{name:"SalcoBrand",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/Salcobrand/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2877054",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"SalcoBrand","brand:wikidata":"Q2877054","brand:wikipedia":"es:Farmacias Salcobrand",healthcare:"pharmacy",name:"SalcoBrand"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["cl"],terms:["farmacias salcobrand"],matchScore:2,suggestion:true},"amenity/pharmacy/Sana Sana":{name:"Sana Sana",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/FarmaciasSanaSanaEc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62564499",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Sana Sana","brand:wikidata":"Q62564499",healthcare:"pharmacy",name:"Sana Sana"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ec"],terms:["farmacias sana sana"],matchScore:2,suggestion:true},"amenity/pharmacy/Sensiblu":{name:"Sensiblu",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/Sensiblu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12740640",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Sensiblu","brand:wikidata":"Q12740640","brand:wikipedia":"ro:Sensiblu",healthcare:"pharmacy",name:"Sensiblu"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ro"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Shoppers Drug Mart":{name:"Shoppers Drug Mart",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/shoppersdrugmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1820137",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Shoppers Drug Mart","brand:wikidata":"Q1820137","brand:wikipedia":"en:Shoppers Drug Mart",healthcare:"pharmacy",name:"Shoppers Drug Mart"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/South Star Drug":{name:"South Star Drug",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/southstardrugph/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7568544",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"South Star Drug","brand:wikidata":"Q7568544","brand:wikipedia":"en:South Star Drug",healthcare:"pharmacy",name:"South Star Drug"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Superdrug":{name:"Superdrug",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/Superdrug/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7643261",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Superdrug","brand:wikidata":"Q7643261","brand:wikipedia":"en:Superdrug",healthcare:"pharmacy",name:"Superdrug"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/São João":{name:"São João",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/farmaciassaojoao/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62663306",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"São João","brand:wikidata":"Q62663306",healthcare:"pharmacy",name:"São João"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/TGP":{name:"TGP",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/tgpthegenericspharmacy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61948677",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"The Generics Pharmacy","brand:wikidata":"Q61948677",healthcare:"pharmacy",name:"TGP",official_name:"The Generics Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/TerryWhite Chemmart":{name:"TerryWhite Chemmart",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/terrywhitechemmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q24089773",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"TerryWhite Chemmart","brand:wikidata":"Q24089773","brand:wikipedia":"en:Terry White Chemmart",healthcare:"pharmacy",name:"TerryWhite Chemmart"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["au"],terms:["terrywhite","terrywhite chemist","terrywhite chemists"],matchScore:2,suggestion:true},"amenity/pharmacy/UFS":{name:"UFS",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/ufsdispensaries/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63367573",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"UFS","brand:wikidata":"Q63367573",healthcare:"pharmacy",name:"UFS"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["au"],terms:["ufs dispensaries"],matchScore:2,suggestion:true},"amenity/pharmacy/Unichem Pharmacy":{name:"Unichem Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/UnichemNZ/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62663379",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Unichem Pharmacy","brand:wikidata":"Q62663379",healthcare:"pharmacy",name:"Unichem Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["nz"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Uniprix":{name:"Uniprix",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/uniprix/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q683265",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Uniprix","brand:wikidata":"Q683265","brand:wikipedia":"en:Uniprix",healthcare:"pharmacy",name:"Uniprix"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Walgreens":{name:"Walgreens",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/walgreens/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1591889",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Walgreens","brand:wikidata":"Q1591889","brand:wikipedia":"en:Walgreens",healthcare:"pharmacy",name:"Walgreens"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["us"],terms:["walgreens pharmacy"],matchScore:2,suggestion:true},"amenity/pharmacy/Walmart Pharmacy":{name:"Walmart Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/walmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q483551",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Walmart","brand:wikidata":"Q483551","brand:wikipedia":"en:Walmart",healthcare:"pharmacy",name:"Walmart Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Watsons":{name:"Watsons",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/WatsonsPH/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7974785",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Watsons","brand:wikidata":"Q7974785","brand:wikipedia":"en:Watsons",healthcare:"pharmacy",name:"Watsons"},reference:{key:"amenity",value:"pharmacy"},terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Well Pharmacy":{name:"Well Pharmacy",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/PharmacyWell/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7726524",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Well Pharmacy","brand:wikidata":"Q7726524","brand:wikipedia":"en:Well Pharmacy",healthcare:"pharmacy",name:"Well Pharmacy"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["gb"],terms:["well"],matchScore:2,suggestion:true},"amenity/pharmacy/Ziko Apteka":{name:"Ziko Apteka",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/ZikoUrodaiZdrowie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63432892",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Ziko Apteka","brand:wikidata":"Q63432892",healthcare:"pharmacy",name:"Ziko Apteka",short_name:"Ziko"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/А5":{name:"А5",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/apteka5/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62663476",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"А5","brand:wikidata":"Q62663476",healthcare:"pharmacy",name:"А5"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Бережная аптека":{name:"Бережная аптека",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/BereznayaApteka/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62664194",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Бережная аптека","brand:wikidata":"Q62664194",healthcare:"pharmacy",name:"Бережная аптека"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/Ригла":{name:"Ригла",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/rigla.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4394431",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"Ригла","brand:wikidata":"Q4394431","brand:wikipedia":"ru:Ригла",healthcare:"pharmacy",name:"Ригла"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/סופר-פארם":{name:"סופר-פארם",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/super.pharm.co.il/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q13220217",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"סופר-פארם","brand:he":"סופר-פארם","brand:wikidata":"Q13220217","brand:wikipedia":"en:Super-Pharm",healthcare:"pharmacy",name:"סופר-פארם","name:he":"סופר-פארם"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/くすりの福太郎":{name:"くすりの福太郎",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/kusurinofukutaro/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17214460",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"くすりの福太郎","brand:en":"Kusurino FUKUTARO","brand:ja":"くすりの福太郎","brand:wikidata":"Q17214460","brand:wikipedia":"ja:くすりの福太郎",healthcare:"pharmacy",name:"くすりの福太郎","name:en":"Kusurino Fukutaro","name:ja":"くすりの福太郎"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/ウェルパーク":{name:"ウェルパーク",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q11288610",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"ウェルパーク","brand:ja":"ウェルパーク","brand:wikidata":"Q11288610","brand:wikipedia":"ja:ウェルパーク",healthcare:"pharmacy",name:"ウェルパーク","name:en":"Welpark","name:ja":"ウェルパーク"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/ウエルシア":{name:"ウエルシア",icon:"maki-pharmacy",imageURL:"https://graph.facebook.com/WelciaBHG.SG/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11288684",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"ウエルシア","brand:en":"Welcia","brand:ja":"ウエルシア","brand:wikidata":"Q11288684","brand:wikipedia":"ja:ウエルシアホールディングス",healthcare:"pharmacy",name:"ウエルシア","name:en":"Welcia","name:ja":"ウエルシア"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/ウエルシア薬局":{name:"ウエルシア薬局",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q11288687",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"ウエルシア薬局","brand:en":"Welcia Yakkyoku","brand:ja":"ウエルシア薬局","brand:wikidata":"Q11288687","brand:wikipedia":"ja:ウエルシア薬局",healthcare:"pharmacy",name:"ウエルシア薬局","name:en":"Welcia Yakkyoku","name:ja":"ウエルシア薬局"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/カワチ薬品":{name:"カワチ薬品",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q11295397",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"カワチ薬品","brand:en":"Cawachi","brand:ja":"カワチ薬品","brand:wikidata":"Q11295397","brand:wikipedia":"ja:カワチ薬品",healthcare:"pharmacy",name:"カワチ薬品","name:en":"Cawachi","name:ja":"カワチ薬品"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/キリン堂":{name:"キリン堂",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q11297751",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"キリン堂","brand:en":"Kirindo","brand:ja":"キリン堂","brand:wikidata":"Q11297751","brand:wikipedia":"ja:キリン堂",healthcare:"pharmacy",name:"キリン堂","name:en":"Kirindo","name:ja":"キリン堂"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/クリエイト":{name:"クリエイト",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q11299163",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"クリエイト","brand:en":"Create","brand:ja":"クリエイト","brand:wikidata":"Q11299163","brand:wikipedia":"ja:クリエイトSDホールディングス",healthcare:"pharmacy",name:"クリエイト","name:en":"Create","name:ja":"クリエイト"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/ココカラファイン":{name:"ココカラファイン",icon:"maki-pharmacy",imageURL:"https://pbs.twimg.com/profile_images/1050257672753229825/lhBcsYat_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q11301948",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"ココカラファイン","brand:ja":"ココカラファイン","brand:wikidata":"Q11301948","brand:wikipedia":"ja:ココカラファイン",healthcare:"pharmacy",name:"ココカラファイン","name:en":"Cocokara Fine","name:ja":"ココカラファイン"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/サンドラッグ":{name:"サンドラッグ",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q11305867",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"サンドラッグ","brand:ja":"サンドラッグ","brand:wikidata":"Q11305867","brand:wikipedia":"ja:サンドラッグ",healthcare:"pharmacy",name:"サンドラッグ","name:en":"Sundrug","name:ja":"サンドラッグ"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/スギ薬局":{name:"スギ薬局",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q11311460",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"スギ薬局","brand:en":"Sugi Pharmacy","brand:ja":"スギ薬局","brand:wikidata":"Q11311460","brand:wikipedia":"ja:スギ薬局",healthcare:"pharmacy",name:"スギ薬局","name:en":"Sugi Pharmacy","name:ja":"スギ薬局"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/セイジョー":{name:"セイジョー",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q11314133",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"セイジョー","brand:en":"Seijo","brand:ja":"セイジョー","brand:wikidata":"Q11314133","brand:wikipedia":"ja:セイジョー",healthcare:"pharmacy",name:"セイジョー","name:en":"Seijo","name:ja":"セイジョー"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/ダイコクドラッグ":{name:"ダイコクドラッグ",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q11316754",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"ダイコクドラッグ","brand:en":"Daikoku Drug","brand:ja":"ダイコクドラッグ","brand:wikidata":"Q11316754","brand:wikipedia":"ja:ダイコク",healthcare:"pharmacy",name:"ダイコクドラッグ","name:en":"Daikoku Drug","name:ja":"ダイコクドラッグ"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/ツルハドラッグ":{name:"ツルハドラッグ",icon:"maki-pharmacy",imageURL:"https://pbs.twimg.com/profile_images/1061863510546640898/j9crJ6gs_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q11318826",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"ツルハドラッグ","brand:en":"Tsuruha","brand:ja":"ツルハドラッグ","brand:wikidata":"Q11318826","brand:wikipedia":"ja:ツルハ",healthcare:"pharmacy",name:"ツルハドラッグ","name:en":"Tsuruha","name:ja":"ツルハドラッグ"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/pharmacy/トモズ":{name:"トモズ",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q7820097",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"トモズ","brand:en":"Tomod's","brand:ja":"トモズ","brand:wikidata":"Q7820097","brand:wikipedia":"ja:トモズ",healthcare:"pharmacy",name:"トモズ","name:en":"Tomod's","name:ja":"トモズ"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:["トモズエキスプレス"],matchScore:2,suggestion:true},"amenity/pharmacy/マツモトキヨシ":{name:"マツモトキヨシ",icon:"maki-pharmacy",geometry:["point","area"],tags:{"brand:wikidata":"Q8014776",amenity:"pharmacy"},addTags:{amenity:"pharmacy",brand:"マツモトキヨシ","brand:en":"Matsukiyo","brand:ja":"マツモトキヨシ","brand:wikidata":"Q8014776","brand:wikipedia":"ja:マツモトキヨシ",healthcare:"pharmacy",name:"マツモトキヨシ","name:en":"Matsukiyo","name:ja":"マツモトキヨシ"},reference:{key:"amenity",value:"pharmacy"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/post_box/Canada Post":{name:"Canada Post",icon:"temaki-post_box",imageURL:"https://graph.facebook.com/canadapost/picture?type=large",geometry:["point","vertex"],tags:{"brand:wikidata":"Q1032001",amenity:"post_box"},addTags:{amenity:"post_box",brand:"Canada Post","brand:wikidata":"Q1032001","brand:wikipedia":"en:Canada Post",name:"Canada Post"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/post_box/Deutsche Post":{name:"Deutsche Post",icon:"temaki-post_box",imageURL:"https://graph.facebook.com/deutschepost/picture?type=large",geometry:["point","vertex"],tags:{"brand:wikidata":"Q157645",amenity:"post_box"},addTags:{amenity:"post_box",brand:"Deutsche Post","brand:wikidata":"Q157645","brand:wikipedia":"en:Deutsche Post",name:"Deutsche Post"},countryCodes:["de"],terms:["deutsche post ag"],matchScore:2,suggestion:true},"amenity/post_box/FedEx":{name:"FedEx",icon:"temaki-post_box",imageURL:"https://graph.facebook.com/FedEx/picture?type=large",geometry:["point","vertex"],tags:{"brand:wikidata":"Q459477",amenity:"post_box"},addTags:{amenity:"post_box",brand:"FedEx","brand:wikidata":"Q459477","brand:wikipedia":"en:FedEx",name:"FedEx"},terms:[],matchScore:2,suggestion:true},"amenity/post_box/UPS":{name:"UPS",icon:"temaki-post_box",imageURL:"https://graph.facebook.com/ups/picture?type=large",geometry:["point","vertex"],tags:{"brand:wikidata":"Q155026",amenity:"post_box"},addTags:{amenity:"post_box",brand:"UPS","brand:wikidata":"Q155026","brand:wikipedia":"en:United Parcel Service",name:"UPS"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/post_box/USPS":{name:"USPS",icon:"temaki-post_box",imageURL:"https://graph.facebook.com/USPS/picture?type=large",geometry:["point","vertex"],tags:{"brand:wikidata":"Q668687",amenity:"post_box"},addTags:{amenity:"post_box",brand:"USPS","brand:wikidata":"Q668687","brand:wikipedia":"en:United States Postal Service",name:"USPS"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Australia Post":{name:"Australia Post",icon:"maki-post",imageURL:"https://graph.facebook.com/australiapost/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1142936",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Australia Post","brand:wikidata":"Q1142936","brand:wikipedia":"en:Australia Post",name:"Australia Post"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/CTT":{name:"CTT",icon:"maki-post",imageURL:"https://graph.facebook.com/109452512407680/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q909429",amenity:"post_office"},addTags:{amenity:"post_office",brand:"CTT","brand:wikidata":"Q909429","brand:wikipedia":"en:CTT (Macau)",name:"CTT"},countryCodes:["mo"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Canada Post":{name:"Canada Post",icon:"maki-post",imageURL:"https://graph.facebook.com/canadapost/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1032001",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Canada Post","brand:wikidata":"Q1032001","brand:wikipedia":"en:Canada Post",name:"Canada Post"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Correios":{name:"Correios",icon:"maki-post",imageURL:"https://graph.facebook.com/correios/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3375004",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Correios","brand:wikidata":"Q3375004","brand:wikipedia":"en:Correios",name:"Correios"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Correo Argentino":{name:"Correo Argentino",icon:"maki-post",imageURL:"https://graph.facebook.com/CorreoOficialSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4036566",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Correo Argentino","brand:wikidata":"Q4036566","brand:wikipedia":"en:Correo Argentino",name:"Correo Argentino"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Correos de Chile":{name:"Correos de Chile",icon:"maki-post",imageURL:"https://graph.facebook.com/correoschile/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5172893",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Correos de Chile","brand:wikidata":"Q5172893","brand:wikipedia":"en:Correos de Chile",name:"Correos de Chile"},countryCodes:["cl"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Correos de Costa Rica":{name:"Correos de Costa Rica",icon:"maki-post",imageURL:"https://graph.facebook.com/CorreosdeCostaRica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5172894",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Correos de Costa Rica","brand:wikidata":"Q5172894","brand:wikipedia":"en:Correos de Costa Rica",name:"Correos de Costa Rica"},countryCodes:["cr"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Correos de México":{name:"Correos de México",icon:"maki-post",imageURL:"https://graph.facebook.com/CorreosdeMexico.Mexpost/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5172898",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Correos de México","brand:wikidata":"Q5172898","brand:wikipedia":"en:Correos de México",name:"Correos de México"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/DHL":{name:"DHL",icon:"maki-post",imageURL:"https://graph.facebook.com/dhl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q489815",amenity:"post_office"},addTags:{amenity:"post_office",brand:"DHL","brand:wikidata":"Q489815","brand:wikipedia":"en:DHL Express",name:"DHL"},terms:["dhl paketshop"],matchScore:2,suggestion:true},"amenity/post_office/DPD Paketshop":{name:"DPD Paketshop",icon:"maki-post",imageURL:"https://graph.facebook.com/350375105088695/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q541030",amenity:"post_office"},addTags:{amenity:"post_office",brand:"DPD Paketshop","brand:wikidata":"Q541030","brand:wikipedia":"en:DPDgroup",name:"DPD Paketshop"},countryCodes:["at","de","pl"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Deutsche Post":{name:"Deutsche Post",icon:"maki-post",imageURL:"https://graph.facebook.com/deutschepost/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q157645",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Deutsche Post","brand:wikidata":"Q157645","brand:wikipedia":"en:Deutsche Post",name:"Deutsche Post"},countryCodes:["de"],terms:["deutsche post ag","deutsche post filiale"],matchScore:2,suggestion:true},"amenity/post_office/Fancourier":{name:"Fancourier",icon:"maki-post",imageURL:"https://graph.facebook.com/FANCourier/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12727984",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Fancourier","brand:wikidata":"Q12727984","brand:wikipedia":"ro:FAN Courier Express",name:"Fancourier"},countryCodes:["ro"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/FedEx":{name:"FedEx",icon:"maki-post",imageURL:"https://graph.facebook.com/FedEx/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q459477",amenity:"post_office"},addTags:{amenity:"post_office",brand:"FedEx","brand:wikidata":"Q459477","brand:wikipedia":"en:FedEx",name:"FedEx"},terms:[],matchScore:2,suggestion:true},"amenity/post_office/Hermes Paketshop":{name:"Hermes Paketshop",icon:"maki-post",imageURL:"https://graph.facebook.com/Hermesparcels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1613532",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Hermes Paketshop","brand:wikidata":"Q1613532","brand:wikipedia":"en:Hermes Group",name:"Hermes Paketshop"},countryCodes:["de"],terms:["hermes"],matchScore:2,suggestion:true},"amenity/post_office/LBC":{name:"LBC",icon:"maki-post",imageURL:"https://graph.facebook.com/LBCexpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17075584",amenity:"post_office"},addTags:{amenity:"post_office",brand:"LBC","brand:wikidata":"Q17075584","brand:wikipedia":"en:LBC Express",name:"LBC"},countryCodes:["ph"],terms:["lbc express"],matchScore:2,suggestion:true},"amenity/post_office/La Poste":{name:"La Poste",icon:"maki-post",imageURL:"https://graph.facebook.com/laposte/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q373724",amenity:"post_office"},addTags:{amenity:"post_office",brand:"La Poste","brand:wikidata":"Q373724","brand:wikipedia":"fr:La Poste (entreprise française)",name:"La Poste"},terms:[],matchScore:2,suggestion:true},"amenity/post_office/MRW":{name:"MRW",icon:"maki-post",imageURL:"https://graph.facebook.com/mrwespana/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23767821",amenity:"post_office"},addTags:{amenity:"post_office",brand:"MRW","brand:wikidata":"Q23767821","brand:wikipedia":"es:MRW",name:"MRW"},terms:[],matchScore:2,suggestion:true},"amenity/post_office/Oficina de Correos":{name:"Oficina de Correos",icon:"maki-post",imageURL:"https://graph.facebook.com/correos.es/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q776605",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Oficina de Correos","brand:wikidata":"Q776605","brand:wikipedia":"es:Correos (España)",name:"Oficina de Correos"},terms:["correos"],matchScore:2,suggestion:true},"amenity/post_office/Poczta Polska":{name:"Poczta Polska",icon:"maki-post",imageURL:"https://graph.facebook.com/pocztapolska/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q168833",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Poczta Polska","brand:wikidata":"Q168833","brand:wikipedia":"pl:Poczta Polska",name:"Poczta Polska"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/PostalAnnex":{name:"PostalAnnex",icon:"maki-post",imageURL:"https://graph.facebook.com/PostalAnnex/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61960357",amenity:"post_office"},addTags:{amenity:"post_office",brand:"PostalAnnex","brand:wikidata":"Q61960357",name:"PostalAnnex"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Poste Italiane":{name:"Poste Italiane",icon:"maki-post",imageURL:"https://graph.facebook.com/PosteItaliane/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q495026",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Poste Italiane","brand:wikidata":"Q495026","brand:wikipedia":"en:Poste italiane",name:"Poste Italiane"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Serpost":{name:"Serpost",icon:"maki-post",imageURL:"https://graph.facebook.com/428188863953059/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19521863",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Serpost","brand:wikidata":"Q19521863","brand:wikipedia":"es:Servicios Postales del Perú",name:"Serpost"},countryCodes:["pe"],terms:["servicios postales del perú"],matchScore:2,suggestion:true},"amenity/post_office/Slovenská pošta":{name:"Slovenská pošta",icon:"maki-post",imageURL:"https://graph.facebook.com/slovenskaposta/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1191849",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Slovenská pošta","brand:wikidata":"Q1191849","brand:wikipedia":"en:Slovenská pošta",name:"Slovenská pošta"},countryCodes:["sk"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/The UPS Store":{name:"The UPS Store",icon:"maki-post",imageURL:"https://graph.facebook.com/theupsstore/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7771029",amenity:"post_office"},addTags:{amenity:"post_office",brand:"The UPS Store","brand:wikidata":"Q7771029","brand:wikipedia":"en:The UPS Store",name:"The UPS Store",short_name:"UPS"},countryCodes:["ca","us"],terms:["ups store"],matchScore:2,suggestion:true},"amenity/post_office/United States Post Office":{name:"United States Post Office",icon:"maki-post",imageURL:"https://graph.facebook.com/USPS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q668687",amenity:"post_office"},addTags:{amenity:"post_office",brand:"United States Post Office","brand:wikidata":"Q668687","brand:wikipedia":"en:United States Postal Service",name:"United States Post Office"},countryCodes:["us"],terms:["united states postal service","us post office","us postal service","usps"],matchScore:2,suggestion:true},"amenity/post_office/ΕΛΤΑ":{name:"ΕΛΤΑ",icon:"maki-post",imageURL:"https://graph.facebook.com/HellenicPostELTA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1275135",amenity:"post_office"},addTags:{amenity:"post_office",brand:"ΕΛΤΑ","brand:wikidata":"Q1275135","brand:wikipedia":"el:Ελληνικά Ταχυδρομεία",name:"ΕΛΤΑ"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Белпошта":{name:"Белпошта",icon:"maki-post",imageURL:"https://graph.facebook.com/belpost.by/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2662336",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Белпошта","brand:be":"Белпошта","brand:en":"Belposhta","brand:ru":"Белпочта","brand:wikidata":"Q2662336","brand:wikipedia":"be:Белпошта",name:"Белпошта","name:be":"Белпошта","name:en":"Belposhta","name:ru":"Белпочта"},countryCodes:["by"],terms:["белпочта"],matchScore:2,suggestion:true},"amenity/post_office/Казпочта":{name:"Казпочта",icon:"maki-post",imageURL:"https://graph.facebook.com/Kazpost/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q746263",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Казпочта","brand:wikidata":"Q746263","brand:wikipedia":"ru:Казпочта",name:"Казпочта"},countryCodes:["kz"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Нова Пошта":{name:"Нова Пошта",icon:"maki-post",imageURL:"https://graph.facebook.com/nova.poshta.official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12133863",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Нова Пошта","brand:wikidata":"Q12133863","brand:wikipedia":"uk:Нова пошта",name:"Нова Пошта"},countryCodes:["ua"],terms:["Нова Пошта №1","Нова Пошта №2","Нова Пошта №3","Нова Пошта №4"],matchScore:2,suggestion:true},"amenity/post_office/Почта России":{name:"Почта России",icon:"maki-post",imageURL:"https://graph.facebook.com/ruspost/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1502763",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Почта России","brand:wikidata":"Q1502763","brand:wikipedia":"ru:Почта России",name:"Почта России"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/СДЭК":{name:"СДЭК",icon:"maki-post",imageURL:"https://graph.facebook.com/edostavka/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28665980",amenity:"post_office"},addTags:{amenity:"post_office",brand:"СДЭК","brand:wikidata":"Q28665980","brand:wikipedia":"ru:СДЭК",name:"СДЭК"},countryCodes:["ru","ua"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/Укрпошта":{name:"Укрпошта",icon:"maki-post",imageURL:"https://graph.facebook.com/ukrposhta/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2470783",amenity:"post_office"},addTags:{amenity:"post_office",brand:"Укрпошта","brand:wikidata":"Q2470783","brand:wikipedia":"en:Ukrposhta",name:"Укрпошта"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"amenity/post_office/中国邮政":{name:"中国邮政",icon:"maki-post",geometry:["point","area"],tags:{"brand:wikidata":"Q1066476",amenity:"post_office"},addTags:{amenity:"post_office",brand:"中国邮政","brand:en":"China Post","brand:wikidata":"Q1066476","brand:wikipedia":"en:China Post",name:"中国邮政","name:en":"China Post"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"amenity/prep_school/Huntington Learning Center":{name:"Huntington Learning Center",icon:"temaki-school",imageURL:"https://graph.facebook.com/HuntingtonHelps/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5945399",amenity:"prep_school"},addTags:{amenity:"prep_school",brand:"Huntington Learning Center","brand:wikidata":"Q5945399","brand:wikipedia":"en:Huntington Learning Center",name:"Huntington Learning Center"},countryCodes:["us"],terms:["huntington"],matchScore:2,suggestion:true},"amenity/prep_school/KUMON (Japan)":{name:"KUMON (Japan)",icon:"temaki-school",imageURL:"https://graph.facebook.com/kumon/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q142054",amenity:"prep_school"},addTags:{amenity:"prep_school",brand:"KUMON","brand:wikidata":"Q142054","brand:wikipedia":"ja:日本公文教育研究会",name:"KUMON","name:ja":"公文","name:ja-Hira":"くもん","name:ja-Latn":"KUMON"},countryCodes:["jp"],terms:["くもん","公文"],matchScore:2,suggestion:true},"amenity/prep_school/Kumon (International)":{name:"Kumon (International)",icon:"temaki-school",imageURL:"https://graph.facebook.com/kumon/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q142054",amenity:"prep_school"},addTags:{amenity:"prep_school",brand:"Kumon","brand:wikidata":"Q142054","brand:wikipedia":"en:Kumon",name:"Kumon"},terms:["kumon learning center"],matchScore:2,suggestion:true},"amenity/prep_school/Mathnasium":{name:"Mathnasium",icon:"temaki-school",imageURL:"https://graph.facebook.com/mathnasium/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6787302",amenity:"prep_school"},addTags:{amenity:"prep_school",brand:"Mathnasium","brand:wikidata":"Q6787302","brand:wikipedia":"en:Mathnasium",name:"Mathnasium"},countryCodes:["us"],terms:["mathnasium learning center"],matchScore:2,suggestion:true},"amenity/prep_school/Russian School of Mathematics":{name:"Russian School of Mathematics",icon:"temaki-school",imageURL:"https://graph.facebook.com/RussianMath/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7382122",amenity:"prep_school"},addTags:{amenity:"prep_school",brand:"Russian School of Mathematics","brand:wikidata":"Q7382122","brand:wikipedia":"en:Russian School of Mathematics",name:"Russian School of Mathematics"},countryCodes:["us"],terms:["rsm","russian school of math"],matchScore:2,suggestion:true},"amenity/prep_school/Sylvan":{name:"Sylvan",icon:"temaki-school",imageURL:"https://graph.facebook.com/SylvanLearning/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7660663",amenity:"prep_school"},addTags:{alt_name:"Sylvan Learning Center",amenity:"prep_school",brand:"Sylvan","brand:wikidata":"Q7660663","brand:wikipedia":"en:Sylvan Learning",name:"Sylvan"},countryCodes:["us"],terms:["sylvan learning"],matchScore:2,suggestion:true},"amenity/prep_school/栄光ゼミナール":{name:"栄光ゼミナール",icon:"temaki-school",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FEikoh%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q11535632",amenity:"prep_school"},addTags:{amenity:"prep_school",brand:"栄光ゼミナール","brand:ja":"栄光ゼミナール","brand:ja-Hira":"えいこうゼミナール","brand:ja-Latn":"Eikō Zemināru","brand:wikidata":"Q11535632","brand:wikipedia":"ja:栄光ゼミナール",name:"栄光ゼミナール","name:en":"Eikoh Seminar","name:ja":"栄光ゼミナール","name:ja-Hira":"えいこうゼミナール","name:ja-Latn":"Eikō Zemināru"},countryCodes:["jp"],terms:["eikoh"],matchScore:2,suggestion:true},"amenity/public_bookcase/Little Free Library":{name:"Little Free Library",icon:"maki-library",imageURL:"https://graph.facebook.com/LittleFreeLibrary/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6650101",amenity:"public_bookcase"},addTags:{amenity:"public_bookcase",brand:"Little Free Library","brand:wikidata":"Q6650101","brand:wikipedia":"en:Little Free Library",name:"Little Free Library"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/100 Montaditos":{name:"100 Montaditos",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/100MontaditosSpain/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8355805",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"100 Montaditos","brand:wikidata":"Q8355805","brand:wikipedia":"en:Cervecería 100 Montaditos",cuisine:"sandwich",name:"100 Montaditos"},countryCodes:["es","it","pt"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/3 Brewers (On)":{name:"3 Brewers (On)",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/3Brasseursca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3230326",amenity:"restaurant",cuisine:"burger;pizza;seafood"},addTags:{amenity:"restaurant",brand:"3 Brasseurs","brand:wikidata":"Q3230326","brand:wikipedia":"fr:Les 3 Brasseurs",cuisine:"burger;pizza;seafood",name:"3 Brewers","name:fr":"3 Brasseurs",official_name:"Les 3 Brasseurs"},reference:{key:"cuisine",value:"pizza"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/ASK Italian":{name:"ASK Italian",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/ASKItalian/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4807056",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"ASK Italian","brand:wikidata":"Q4807056","brand:wikipedia":"en:ASK Italian",cuisine:"italian",name:"ASK Italian"},reference:{key:"cuisine",value:"italian"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Applebee's":{name:"Applebee's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/Applebeesmundoe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q621532",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Applebee's Neighborhood Grill & Bar","brand:wikidata":"Q621532","brand:wikipedia":"en:Applebee's",cuisine:"american",name:"Applebee's",official_name:"Applebee's Neighborhood Grill & Bar"},reference:{key:"cuisine",value:"american"},terms:["applebees bar and grill","applebees grill and bar","applebees neighborhood bar and grill"],matchScore:2,suggestion:true},"amenity/restaurant/Autogrill":{name:"Autogrill",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/AutogrillOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q786790",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Autogrill","brand:wikidata":"Q786790","brand:wikipedia":"en:Autogrill",name:"Autogrill"},countryCodes:["at","es","fr","it"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/BBB":{name:"BBB",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/BurgusBurgerBar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64760094",amenity:"restaurant"},addTags:{alt_name:"Burgus Burger Bar","alt_name:en":"Burgus Burger Bar",amenity:"restaurant",brand:"Burgus Burger Bar","brand:en":"Burgus Burger Bar","brand:wikidata":"Q64760094",cuisine:"burger",name:"BBB","name:en":"BBB"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/BJ's":{name:"BJ's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/BJsRestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4835755",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"BJ's","brand:wikidata":"Q4835755","brand:wikipedia":"en:BJ's Restaurants",cuisine:"american",name:"BJ's",official_name:"BJ's Restaurant & Brewhouse"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/Bella Italia":{name:"Bella Italia",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/bellaitalia.co.uk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4883362",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"Bella Italia","brand:wikidata":"Q4883362","brand:wikipedia":"en:Bella Italia",cuisine:"italian",name:"Bella Italia"},reference:{key:"cuisine",value:"italian"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/Benihana":{name:"Benihana",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/Benihana/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4887996",amenity:"restaurant",cuisine:"japanese;teppanyaki;steak"},addTags:{amenity:"restaurant",brand:"Benihana","brand:wikidata":"Q4887996","brand:wikipedia":"en:Benihana",cuisine:"japanese;teppanyaki;steak",name:"Benihana"},reference:{key:"cuisine",value:"japanese"},countryCodes:["aw","br","ca","pa","sv","us"],terms:["benihana of tokyo"],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Bertucci's":{name:"Bertucci's",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/Bertuccis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4895917",amenity:"restaurant",cuisine:"pizza;italian"},addTags:{amenity:"restaurant",brand:"Bertucci's","brand:wikidata":"Q4895917","brand:wikipedia":"en:Bertucci's",cuisine:"pizza;italian",name:"Bertucci's"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Big Boy":{name:"Big Boy",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/bigboyrestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4386779",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Big Boy","brand:wikidata":"Q4386779","brand:wikipedia":"en:Big Boy Restaurants",cuisine:"burger",name:"Big Boy",official_name:"Big Boy Restaurant & Bakery"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Black":{name:"Black",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/blackbarnburger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64760158",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Black Bar Burger","brand:en":"Black Bar Burger","brand:he":"בלאק בורגר","brand:wikidata":"Q64760158",cuisine:"burger",name:"Black","name:en":"Black","name:he":"בלאק"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Black Bear Diner":{name:"Black Bear Diner",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/BlackBearDiner/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4920343",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Black Bear Diner","brand:wikidata":"Q4920343","brand:wikipedia":"en:Black Bear Diner",cuisine:"american",name:"Black Bear Diner"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Blaze Pizza":{name:"Blaze Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/BlazePizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23016666",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Blaze Pizza","brand:wikidata":"Q23016666","brand:wikipedia":"en:Blaze Pizza",cuisine:"pizza",name:"Blaze Pizza"},reference:{key:"cuisine",value:"pizza"},countryCodes:["bh","ca","kw","sa","us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Bob Evans":{name:"Bob Evans",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/bobevans/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4932386",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Bob Evans","brand:wikidata":"Q4932386","brand:wikipedia":"en:Bob Evans Restaurants",cuisine:"american",name:"Bob Evans"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Bonanza Steakhouse":{name:"Bonanza Steakhouse",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/ponbonsteakhouses/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64045992",amenity:"restaurant",cuisine:"american;steak;buffet"},addTags:{amenity:"restaurant",brand:"Bonanza Steakhouse","brand:wikidata":"Q64045992",cuisine:"american;steak;buffet",name:"Bonanza Steakhouse"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:["bonanza"],matchScore:2,suggestion:true},"amenity/restaurant/seafood/Bonefish Grill":{name:"Bonefish Grill",icon:"maki-restaurant-seafood",imageURL:"https://graph.facebook.com/bonefishgrill/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4941599",amenity:"restaurant",cuisine:"seafood"},addTags:{amenity:"restaurant",brand:"Bonefish Grill","brand:wikidata":"Q4941599","brand:wikipedia":"en:Bonefish Grill",cuisine:"seafood",name:"Bonefish Grill"},reference:{key:"cuisine",value:"seafood"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Boston Pizza":{name:"Boston Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/BostonPizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q894578",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Boston Pizza","brand:wikidata":"Q894578","brand:wikipedia":"en:Boston Pizza",cuisine:"pizza",name:"Boston Pizza"},reference:{key:"cuisine",value:"pizza"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/Bravo":{name:"Bravo",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/bravoitalian/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64055574",amenity:"restaurant",cuisine:"italian"},addTags:{alt_name:"Bravo Cucina Italiana",amenity:"restaurant",brand:"Bravo","brand:wikidata":"Q64055574",cuisine:"italian",name:"Bravo"},reference:{key:"cuisine",value:"italian"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/Brio":{name:"Brio",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/brioitalian/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64055835",amenity:"restaurant",cuisine:"italian"},addTags:{alt_name:"Brio Tuscan Grille",amenity:"restaurant",brand:"Brio","brand:wikidata":"Q64055835",cuisine:"italian",name:"Brio"},reference:{key:"cuisine",value:"italian"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/Buca di Beppo":{name:"Buca di Beppo",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/bucadibeppo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4982340",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"Buca di Beppo","brand:wikidata":"Q4982340","brand:wikipedia":"en:Buca di Beppo",cuisine:"italian",name:"Buca di Beppo"},reference:{key:"cuisine",value:"italian"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Buffalo Grill":{name:"Buffalo Grill",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/buffalogrill/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q944655",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Buffalo Grill","brand:wikidata":"Q944655","brand:wikipedia":"en:Buffalo Grill",cuisine:"steak_house",name:"Buffalo Grill"},countryCodes:["es","fr"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Buffalo Wild Wings":{name:"Buffalo Wild Wings",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/BuffaloWildWings/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q509255",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Buffalo Wild Wings","brand:wikidata":"Q509255","brand:wikipedia":"en:Buffalo Wild Wings",cuisine:"wings",name:"Buffalo Wild Wings"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Buffalo Wings & Rings":{name:"Buffalo Wings & Rings",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/wingsandrings/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4985900",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Buffalo Wings & Rings","brand:wikidata":"Q4985900","brand:wikipedia":"en:Buffalo Wings & Rings",cuisine:"wings",name:"Buffalo Wings & Rings",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/mexican/Cafe Rio":{name:"Cafe Rio",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/CafeRio/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5017108",amenity:"restaurant",cuisine:"mexican"},addTags:{amenity:"restaurant",brand:"Cafe Rio","brand:wikidata":"Q5017108","brand:wikipedia":"en:Cafe Rio",cuisine:"mexican",name:"Cafe Rio"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/California Pizza Kitchen":{name:"California Pizza Kitchen",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/californiapizzakitchen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15109854",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"California Pizza Kitchen","brand:wikidata":"Q15109854","brand:wikipedia":"en:California Pizza Kitchen",cuisine:"pizza",name:"California Pizza Kitchen"},reference:{key:"cuisine",value:"pizza"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/Carluccio's":{name:"Carluccio's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/carluccios/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25111797",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"Carluccio's","brand:wikidata":"Q25111797","brand:wikipedia":"en:Carluccio's Ltd",cuisine:"italian",name:"Carluccio's"},reference:{key:"cuisine",value:"italian"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/Carrabba's Italian Grill":{name:"Carrabba's Italian Grill",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/Carrabbas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5045999",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"Carrabba's Italian Grill","brand:wikidata":"Q5045999","brand:wikipedia":"en:Carrabba's Italian Grill",cuisine:"italian",name:"Carrabba's Italian Grill"},reference:{key:"cuisine",value:"italian"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Cheddar's":{name:"Cheddar's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/CheddarsScratchKitchen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5089187",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Cheddar's","brand:wikidata":"Q5089187","brand:wikipedia":"en:Cheddar's Scratch Kitchen",cuisine:"american",name:"Cheddar's",official_name:"Cheddar's Scratch Kitchen"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Cheeburger Cheeburger":{name:"Cheeburger Cheeburger",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/136947372998541/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5089247",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Cheeburger Cheeburger","brand:wikidata":"Q5089247","brand:wikipedia":"en:Cheeburger Cheeburger",cuisine:"burger",name:"Cheeburger Cheeburger"},countryCodes:["ca","sa","us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/mexican/Chevys":{name:"Chevys",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/ChevysFreshMex/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5094466",amenity:"restaurant",cuisine:"mexican"},addTags:{amenity:"restaurant",brand:"Chevys Fresh Mex","brand:wikidata":"Q5094466","brand:wikipedia":"en:Chevys Fresh Mex",cuisine:"mexican",name:"Chevys",official_name:"Chevys Fresh Mex"},reference:{key:"cuisine",value:"mexican"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Chili's":{name:"Chili's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/Chilis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1072948",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Chili's","brand:wikidata":"Q1072948","brand:wikipedia":"en:Chili's",cuisine:"tex-mex",name:"Chili's",official_name:"Chili's Grill & Bar"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Chiquito":{name:"Chiquito",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/chiquito.restaurant/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5101775",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Chiquito","brand:wikidata":"Q5101775","brand:wikipedia":"en:Chiquito (restaurant)",cuisine:"tex-mex",name:"Chiquito"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Chuck E. Cheese's":{name:"Chuck E. Cheese's",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/ChuckECheese/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2438391",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Chuck E. Cheese's","brand:wikidata":"Q2438391","brand:wikipedia":"en:Chuck E. Cheese's",cuisine:"pizza",name:"Chuck E. Cheese's"},reference:{key:"cuisine",value:"pizza"},countryCodes:["ca","us"],terms:["chuck e cheese"],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Cici's Pizza":{name:"Cici's Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/Cicis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2972189",amenity:"restaurant",cuisine:"pizza;buffet"},addTags:{amenity:"restaurant",brand:"Cici's Pizza","brand:wikidata":"Q2972189","brand:wikipedia":"en:Cicis",cuisine:"pizza;buffet",name:"Cici's Pizza"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Claim Jumper":{name:"Claim Jumper",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/ClaimJumperRestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5125081",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Claim Jumper","brand:wikidata":"Q5125081","brand:wikipedia":"en:Claim Jumper",cuisine:"american",name:"Claim Jumper"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Coast to Coast":{name:"Coast to Coast",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/coasttocoastrestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q22000729",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Coast to Coast","brand:wikidata":"Q22000729","brand:wikipedia":"en:Coast to Coast (restaurant)",cuisine:"american",name:"Coast to Coast"},reference:{key:"cuisine",value:"american"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Cora":{name:"Cora",icon:"maki-restaurant",imageURL:"https://pbs.twimg.com/profile_images/948562746962071553/e99P1Xiq_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q2996960",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Cora","brand:wikidata":"Q2996960","brand:wikipedia":"en:Cora (restaurant)",cuisine:"breakfast",name:"Cora"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Cosmo":{name:"Cosmo",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/CosmoRestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5174239",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Cosmo","brand:wikidata":"Q5174239","brand:wikipedia":"en:Cosmo (restaurant)",name:"Cosmo"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Country Pride":{name:"Country Pride",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/CountryPrideRestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64051992",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Country Pride","brand:wikidata":"Q64051992",cuisine:"american",name:"Country Pride"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:["country pride restaurant"],matchScore:2,suggestion:true},"amenity/restaurant/french/Courtepaille":{name:"Courtepaille",icon:"maki-restaurant",geometry:["point","area"],tags:{"brand:wikidata":"Q3116688",amenity:"restaurant",cuisine:"french"},addTags:{amenity:"restaurant",brand:"Courtepaille","brand:wikidata":"Q3116688","brand:wikipedia":"fr:Grill Courtepaille",cuisine:"french",name:"Courtepaille"},reference:{key:"cuisine",value:"french"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Cracker Barrel":{name:"Cracker Barrel",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/crackerbarrel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4492609",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Cracker Barrel","brand:wikidata":"Q4492609","brand:wikipedia":"en:Cracker Barrel",cuisine:"american",name:"Cracker Barrel",official_name:"Cracker Barrel Old Country Store"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Dave & Buster's":{name:"Dave & Buster's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/daveandbusters/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5228205",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Dave & Buster's","brand:wikidata":"Q5228205","brand:wikipedia":"en:Dave & Buster's",cuisine:"american",name:"Dave & Buster's"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Denny's":{name:"Denny's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/dennys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1189695",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Denny's","brand:wikidata":"Q1189695","brand:wikipedia":"en:Denny's",cuisine:"american",name:"Denny's"},reference:{key:"cuisine",value:"american"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Dickey's Barbecue Pit":{name:"Dickey's Barbecue Pit",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/dickeysbarbecuepit/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19880747",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Dickey's Barbecue Pit","brand:wikidata":"Q19880747","brand:wikipedia":"en:Dickey's Barbecue Pit",cuisine:"barbecue",name:"Dickey's Barbecue Pit"},countryCodes:["us"],terms:["dickeys barbecue"],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Donatos Pizza":{name:"Donatos Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/DonatosPizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1240741",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Donatos Pizza","brand:wikidata":"Q1240741","brand:wikipedia":"en:Donatos Pizza",cuisine:"pizza",name:"Donatos Pizza",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:["donatos"],matchScore:2,suggestion:true},"amenity/restaurant/italian/East Side Mario's":{name:"East Side Mario's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/eastsidemarios/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5329375",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"East Side Mario's","brand:wikidata":"Q5329375","brand:wikipedia":"en:East Side Mario's",cuisine:"italian",name:"East Side Mario's"},reference:{key:"cuisine",value:"italian"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Eat'n Park":{name:"Eat'n Park",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/EatnParkRestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5331211",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Eat'n Park","brand:wikidata":"Q5331211","brand:wikipedia":"en:Eat'n Park",cuisine:"american",name:"Eat'n Park"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Famous Dave's":{name:"Famous Dave's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/famousdaves/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5433448",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Famous Dave's","brand:wikidata":"Q5433448","brand:wikipedia":"en:Famous Dave's",cuisine:"barbecue",name:"Famous Dave's"},countryCodes:["us"],terms:["famous daves bbq"],matchScore:2,suggestion:true},"amenity/restaurant/american/First Watch":{name:"First Watch",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/FirstWatch/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5454064",amenity:"restaurant",cuisine:"american;breakfast"},addTags:{amenity:"restaurant",brand:"First Watch","brand:wikidata":"Q5454064","brand:wikipedia":"en:First Watch (restaurant chain)",cuisine:"american;breakfast",name:"First Watch"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/french/Flunch":{name:"Flunch",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/flunch/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q629326",amenity:"restaurant",cuisine:"french"},addTags:{amenity:"restaurant",brand:"Flunch","brand:wikidata":"Q629326","brand:wikipedia":"en:Flunch",cuisine:"french",name:"Flunch"},reference:{key:"cuisine",value:"french"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Foster's Hollywood":{name:"Foster's Hollywood",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/fostershollywood/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5864366",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Foster's Hollywood","brand:wikidata":"Q5864366","brand:wikipedia":"en:Foster's Hollywood",cuisine:"american",name:"Foster's Hollywood"},reference:{key:"cuisine",value:"american"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/Frankie & Benny's":{name:"Frankie & Benny's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/frankiebennys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5490892",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"Frankie & Benny's","brand:wikidata":"Q5490892","brand:wikipedia":"en:Frankie & Benny's",cuisine:"italian",name:"Frankie & Benny's"},reference:{key:"cuisine",value:"italian"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Freshii":{name:"Freshii",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/freshii/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5503051",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Freshii","brand:wikidata":"Q5503051","brand:wikipedia":"en:Freshii",cuisine:"salad",name:"Freshii"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Friendly's":{name:"Friendly's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/friendlys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1464513",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Friendly's","brand:wikidata":"Q1464513","brand:wikipedia":"en:Friendly's",cuisine:"american",name:"Friendly's"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Frisch's Big Boy":{name:"Frisch's Big Boy",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/frischsbigboy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5504660",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Frisch's Big Boy","brand:wikidata":"Q5504660","brand:wikipedia":"en:Frisch's",cuisine:"burger",name:"Frisch's Big Boy",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Fuddruckers":{name:"Fuddruckers",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/fuddruckers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5507056",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Fuddruckers","brand:wikidata":"Q5507056","brand:wikipedia":"en:Fuddruckers",cuisine:"burger",name:"Fuddruckers"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Gatti's Pizza":{name:"Gatti's Pizza",icon:"maki-restaurant-pizza",imageURL:"https://pbs.twimg.com/profile_images/1034520805923684352/wc5SE5R6_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q5527509",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Gatti's Pizza","brand:wikidata":"Q5527509","brand:wikipedia":"en:Gatti's Pizza",cuisine:"pizza",name:"Gatti's Pizza"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Giordano's Pizzeria":{name:"Giordano's Pizzeria",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/giordanospizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5563393",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Giordano's Pizzeria","brand:wikidata":"Q5563393","brand:wikipedia":"en:Giordano's Pizzeria",cuisine:"pizza",name:"Giordano's Pizzeria"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Godfather's Pizza":{name:"Godfather's Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/godfatherspizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5576353",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Godfather's Pizza","brand:wikidata":"Q5576353","brand:wikipedia":"en:Godfather's Pizza",cuisine:"pizza",name:"Godfather's Pizza"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Golden Corral":{name:"Golden Corral",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/goldencorral/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4039560",amenity:"restaurant",cuisine:"american;buffet"},addTags:{amenity:"restaurant",brand:"Golden Corral","brand:wikidata":"Q4039560","brand:wikipedia":"en:Golden Corral",cuisine:"american;buffet",name:"Golden Corral"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:["golden corral buffet","golden corral buffet and grill"],matchScore:2,suggestion:true},"amenity/restaurant/Gourmet Burger Kitchen":{name:"Gourmet Burger Kitchen",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/gourmetburgerkitchen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5588445",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Gourmet Burger Kitchen","brand:wikidata":"Q5588445","brand:wikipedia":"en:Gourmet Burger Kitchen",cuisine:"burger",name:"Gourmet Burger Kitchen"},countryCodes:["gb","gr","ie"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Grotto Pizza":{name:"Grotto Pizza",icon:"maki-restaurant-pizza",imageURL:"https://pbs.twimg.com/profile_images/3122105126/6f68644cf2b9b86b935ad99ee57fffad_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q20709024",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Grotto Pizza","brand:wikidata":"Q20709024","brand:wikipedia":"en:Grotto Pizza",cuisine:"pizza",name:"Grotto Pizza"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Handmade Burger Co.":{name:"Handmade Burger Co.",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/handmadeburgercompany/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q56154673",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Handmade Burger Co.","brand:wikidata":"Q56154673",cuisine:"burger",name:"Handmade Burger Co."},countryCodes:["gb"],terms:["Handmade Burger Company"],matchScore:2,suggestion:true},"amenity/restaurant/Hans im Glück":{name:"Hans im Glück",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/hansimglueck.burgergrill/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q22569868",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Hans im Glück","brand:wikidata":"Q22569868","brand:wikipedia":"de:Hans im Glück (Restaurantkette)",cuisine:"burger",name:"Hans im Glück"},countryCodes:["at","ch","de","sg"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Happy's Pizza":{name:"Happy's Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/EatHappysPizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5652393",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Happy's Pizza","brand:wikidata":"Q5652393","brand:wikipedia":"en:Happy's Pizza",cuisine:"pizza",name:"Happy's Pizza"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Hard Rock Cafe":{name:"Hard Rock Cafe",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/hardrock/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q918151",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Hard Rock Cafe","brand:wikidata":"Q918151","brand:wikipedia":"en:Hard Rock Cafe",cuisine:"american",name:"Hard Rock Cafe"},reference:{key:"cuisine",value:"american"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Harvester":{name:"Harvester",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/harvesterrestaurant/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5676915",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Harvester","brand:wikidata":"Q5676915","brand:wikipedia":"en:Harvester (restaurant)",cuisine:"american",name:"Harvester"},reference:{key:"cuisine",value:"american"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Hippopotamus":{name:"Hippopotamus",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/Hippopotamus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3136174",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Hippopotamus","brand:wikidata":"Q3136174","brand:wikipedia":"fr:Hippopotamus (restaurant)",cuisine:"steak_house",name:"Hippopotamus"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Hooters":{name:"Hooters",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/hooters/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1025921",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Hooters","brand:wikidata":"Q1025921","brand:wikipedia":"en:Hooters",cuisine:"burger",name:"Hooters"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Huddle House":{name:"Huddle House",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/HuddleHouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5928324",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Huddle House","brand:wikidata":"Q5928324","brand:wikipedia":"en:Huddle House",cuisine:"american",name:"Huddle House"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Husky House":{name:"Husky House",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/huskyenergy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q702049",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Husky","brand:wikidata":"Q702049","brand:wikipedia":"en:Husky Energy",cuisine:"diner",name:"Husky House"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/IHOP":{name:"IHOP",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/IHOP/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1185675",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"IHOP","brand:wikidata":"Q1185675","brand:wikipedia":"en:IHOP",cuisine:"breakfast;pancake",name:"IHOP"},terms:["international house of pancakes"],matchScore:2,suggestion:true},"amenity/restaurant/italian/IL Патио":{name:"IL Патио",icon:"maki-restaurant",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FRosInter.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q4397763",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"IL Патио","brand:wikidata":"Q4397763","brand:wikipedia":"en:Росинтер",cuisine:"italian",name:"IL Патио"},reference:{key:"cuisine",value:"italian"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Iron Skillet":{name:"Iron Skillet",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/IronSkilletRestaurant/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64052855",amenity:"restaurant",cuisine:"american;buffet"},addTags:{amenity:"restaurant",brand:"Iron Skillet","brand:wikidata":"Q64052855",cuisine:"american;buffet",name:"Iron Skillet"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:["iron skillet restaurant"],matchScore:2,suggestion:true},"amenity/restaurant/american/Jack Astor's":{name:"Jack Astor's",icon:"maki-restaurant",imageURL:"https://pbs.twimg.com/profile_images/1003974042351792130/-v3NNNEb_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q6111066",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Jack Astor's","brand:wikidata":"Q6111066","brand:wikipedia":"en:Jack Astor's Bar and Grill",cuisine:"american",name:"Jack Astor's"},reference:{key:"cuisine",value:"american"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Jason's Deli":{name:"Jason's Deli",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/JasonsDeli/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16997641",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Jason's Deli","brand:wikidata":"Q16997641","brand:wikipedia":"en:Jason's Deli",cuisine:"sandwich",name:"Jason's Deli"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Jet's Pizza":{name:"Jet's Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/JetsPizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16997713",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Jet's Pizza","brand:wikidata":"Q16997713","brand:wikipedia":"en:Jet's Pizza",cuisine:"pizza",name:"Jet's Pizza"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/seafood/Joe's Crab Shack":{name:"Joe's Crab Shack",icon:"maki-restaurant-seafood",imageURL:"https://graph.facebook.com/joescrabshack/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6208210",amenity:"restaurant",cuisine:"seafood"},addTags:{amenity:"restaurant",brand:"Joe's Crab Shack","brand:wikidata":"Q6208210","brand:wikipedia":"en:Joe's Crab Shack",cuisine:"seafood",name:"Joe's Crab Shack"},reference:{key:"cuisine",value:"seafood"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/Johnny Carino's":{name:"Johnny Carino's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/carinositalian/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5039637",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"Johnny Carino's","brand:wikidata":"Q5039637","brand:wikipedia":"en:Carino's Italian",cuisine:"italian",name:"Johnny Carino's"},reference:{key:"cuisine",value:"italian"},countryCodes:["us"],terms:["carinios"],matchScore:2,suggestion:true},"amenity/restaurant/Johnny Rockets":{name:"Johnny Rockets",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/johnnyrockets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1051593",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Johnny Rockets","brand:wikidata":"Q1051593","brand:wikipedia":"en:Johnny Rockets",cuisine:"burger",name:"Johnny Rockets"},terms:["johnny rocket"],matchScore:2,suggestion:true},"amenity/restaurant/american/Kelsey's":{name:"Kelsey's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/KelseysRestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6386459",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Kelsey's","brand:wikidata":"Q6386459","brand:wikipedia":"en:Kelseys Original Roadhouse",cuisine:"american",name:"Kelsey's"},reference:{key:"cuisine",value:"american"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Kudu":{name:"Kudu",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/KuduRestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6441777",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Kudu","brand:wikidata":"Q6441777","brand:wikipedia":"en:Kudu (restaurant)",cuisine:"sandwich",name:"Kudu"},countryCodes:["sa"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/La Boucherie":{name:"La Boucherie",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/restaurantlaboucherie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q21427479",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"La Boucherie","brand:wikidata":"Q21427479","brand:wikipedia":"fr:La Boucherie (restaurant)",cuisine:"steak_house",name:"La Boucherie"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/La Cage":{name:"La Cage",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/lacagebrasseriesportive/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3206980",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"La Cage","brand:wikidata":"Q3206980","brand:wikipedia":"fr:La Cage aux Sports",cuisine:"burger;chicken;sandwich;fish;pasta",name:"La Cage"},countryCodes:["ca"],terms:["La Cage aux Sports"],matchScore:2,suggestion:true},"amenity/restaurant/pizza/LaRosa's Pizzeria":{name:"LaRosa's Pizzeria",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/LaRosasPizzeria/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6460833",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"LaRosa's Pizzeria","brand:wikidata":"Q6460833","brand:wikipedia":"en:LaRosa's Pizzeria",cuisine:"pizza",name:"LaRosa's Pizzeria",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/seafood/Legal Sea Foods":{name:"Legal Sea Foods",icon:"maki-restaurant-seafood",imageURL:"https://graph.facebook.com/LegalSeaFoods/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6517417",amenity:"restaurant",cuisine:"seafood"},addTags:{amenity:"restaurant",brand:"Legal Sea Foods","brand:wikidata":"Q6517417","brand:wikipedia":"en:Legal Sea Foods",cuisine:"seafood",name:"Legal Sea Foods"},reference:{key:"cuisine",value:"seafood"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Les 3 Brasseurs (Qc,Br,Fr)":{name:"Les 3 Brasseurs (Qc,Br,Fr)",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/3Brasseursca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3230326",amenity:"restaurant",cuisine:"burger;pizza;seafood"},addTags:{amenity:"restaurant",brand:"3 Brasseurs","brand:wikidata":"Q3230326","brand:wikipedia":"fr:Les 3 Brasseurs",cuisine:"burger;pizza;seafood",name:"3 Brasseurs","name:en":"3 Brewers",official_name:"Les 3 Brasseurs"},reference:{key:"cuisine",value:"pizza"},countryCodes:["br","ca","fr"],terms:["3 Brasseurs"],matchScore:2,suggestion:true},"amenity/restaurant/american/Logan's Roadhouse":{name:"Logan's Roadhouse",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/Logans.Roadhouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6666872",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Logan's Roadhouse","brand:wikidata":"Q6666872","brand:wikipedia":"en:Logan's Roadhouse",cuisine:"american",name:"Logan's Roadhouse"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/LongHorn Steakhouse":{name:"LongHorn Steakhouse",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/longhornsteakhouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3259007",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"LongHorn Steakhouse","brand:wikidata":"Q3259007","brand:wikipedia":"en:LongHorn Steakhouse",cuisine:"steak_house",name:"LongHorn Steakhouse"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Lou Malnati's Pizzeria":{name:"Lou Malnati's Pizzeria",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/loumalnatis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6685628",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Lou Malnati's Pizzeria","brand:wikidata":"Q6685628","brand:wikipedia":"en:Lou Malnati's Pizzeria",cuisine:"pizza",name:"Lou Malnati's Pizzeria"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Loving Hut":{name:"Loving Hut",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/LovingHutUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3491655",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Loving Hut","brand:wikidata":"Q3491655","brand:wikipedia":"en:Loving Hut",cuisine:"international","diet:vegan":"only","diet:vegetarian":"only",name:"Loving Hut"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Léon de Bruxelles":{name:"Léon de Bruxelles",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/leondebruxellesofficiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q21041507",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Léon de Bruxelles","brand:wikidata":"Q21041507","brand:wikipedia":"en:Léon de Bruxelles",cuisine:"friture",name:"Léon de Bruxelles"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/thai/MK Restaurants":{name:"MK Restaurants",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/mkrestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62075359",amenity:"restaurant",cuisine:"thai"},addTags:{amenity:"restaurant",brand:"MK Restaurants","brand:wikidata":"Q62075359",cuisine:"thai",name:"MK Restaurants"},reference:{key:"cuisine",value:"thai"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Marco's Pizza":{name:"Marco's Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/MarcosPizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6757382",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Marco's Pizza","brand:wikidata":"Q6757382","brand:wikipedia":"en:Marco's Pizza",cuisine:"pizza",name:"Marco's Pizza"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Marie Callender's":{name:"Marie Callender's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/MarieCallenders/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6762784",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Marie Callender's","brand:wikidata":"Q6762784","brand:wikipedia":"en:Marie Callender's",cuisine:"american",name:"Marie Callender's"},reference:{key:"cuisine",value:"american"},countryCodes:["mx","us"],terms:["marie calendar","marie calendar's","marie callendar's"],matchScore:2,suggestion:true},"amenity/restaurant/asian/Max's Restaurant":{name:"Max's Restaurant",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/MaxsRestaurantNA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6794477",amenity:"restaurant",cuisine:"asian"},addTags:{amenity:"restaurant",brand:"Max's Restaurant","brand:wikidata":"Q6794477","brand:wikipedia":"en:Max's Restaurant",cuisine:"asian",name:"Max's Restaurant"},reference:{key:"cuisine",value:"asian"},countryCodes:["ph"],terms:["Max's"],matchScore:2,suggestion:true},"amenity/restaurant/McAlister's Deli":{name:"McAlister's Deli",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/mcalistersdeli/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17020829",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"McAlister's Deli","brand:wikidata":"Q17020829","brand:wikipedia":"en:McAlister's Deli",cuisine:"sandwich",name:"McAlister's Deli"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/seafood/McCormick & Schmick's":{name:"McCormick & Schmick's",icon:"maki-restaurant-seafood",imageURL:"https://graph.facebook.com/mccormickandschmicks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6800562",amenity:"restaurant",cuisine:"seafood;steak"},addTags:{amenity:"restaurant",brand:"McCormick & Schmick's","brand:wikidata":"Q6800562","brand:wikipedia":"en:McCormick & Schmick's",cuisine:"seafood;steak",name:"McCormick & Schmick's"},reference:{key:"cuisine",value:"seafood"},countryCodes:["us"],terms:["mccormick and schmick","mccormick and schmicks grill"],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Mellow Mushroom":{name:"Mellow Mushroom",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/mellowmushroom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17021360",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Mellow Mushroom","brand:wikidata":"Q17021360","brand:wikipedia":"en:Mellow Mushroom",cuisine:"pizza",name:"Mellow Mushroom"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Mikes":{name:"Mikes",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/MikesRestaurant.PageOfficielle/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3313615",amenity:"restaurant",cuisine:"pizza;pasta;sandwich"},addTags:{amenity:"restaurant",brand:"Mikes","brand:wikidata":"Q3313615","brand:wikipedia":"fr:Mikes",cuisine:"pizza;pasta;sandwich",name:"Mikes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/french/Mimi's Cafe":{name:"Mimi's Cafe",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/mimiscafe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17022081",amenity:"restaurant",cuisine:"french"},addTags:{amenity:"restaurant",brand:"Mimi's Cafe","brand:wikidata":"Q17022081","brand:wikipedia":"en:Mimi's Cafe",cuisine:"french",name:"Mimi's Cafe"},reference:{key:"cuisine",value:"french"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Montana's":{name:"Montana's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/montanasBBQ/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17022490",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Montana's","brand:wikidata":"Q17022490","brand:wikipedia":"en:Montana's BBQ & Bar",cuisine:"barbecue",name:"Montana's",official_name:"Montana's BBQ & Bar"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Morton's The Steakhouse":{name:"Morton's The Steakhouse",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/mortons/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17022759",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Morton's The Steakhouse","brand:wikidata":"Q17022759","brand:wikipedia":"en:Morton's The Steakhouse",cuisine:"steak_house",name:"Morton's The Steakhouse"},countryCodes:["us"],terms:["mortons"],matchScore:2,suggestion:true},"amenity/restaurant/Moses":{name:"Moses",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/MosesIsrael/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64760150",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Moses","brand:en":"Moses","brand:he":"מוזס","brand:wikidata":"Q64760150",cuisine:"burger",name:"Moses","name:en":"Moses","name:he":"מוזס"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Mountain Mike's":{name:"Mountain Mike's",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/mountainmikes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6925120",amenity:"restaurant",cuisine:"pizza"},addTags:{alt_name:"Mountain Mike's Pizza",amenity:"restaurant",brand:"Mountain Mike's","brand:wikidata":"Q6925120","brand:wikipedia":"en:Mountain Mike's Pizza",cuisine:"pizza",name:"Mountain Mike's",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Nando's":{name:"Nando's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/NandosUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3472954",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Nando's","brand:wikidata":"Q3472954","brand:wikipedia":"en:Nando's",cuisine:"chicken;portuguese",name:"Nando's"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Noodles & Company":{name:"Noodles & Company",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/noodlesandcompany/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7049673",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Noodles & Company","brand:wikidata":"Q7049673","brand:wikipedia":"en:Noodles & Company",cuisine:"pasta",name:"Noodles & Company"},countryCodes:["us"],terms:["noodles and co","noodles co","noodles company"],matchScore:2,suggestion:true},"amenity/restaurant/american/O'Charley's":{name:"O'Charley's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/ocharleysfans/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7071703",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"O'Charley's","brand:wikidata":"Q7071703","brand:wikipedia":"en:O'Charley's",cuisine:"american",name:"O'Charley's"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/seafood/Ocean Basket":{name:"Ocean Basket",icon:"maki-restaurant-seafood",imageURL:"https://graph.facebook.com/daoceanbasket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62075311",amenity:"restaurant",cuisine:"seafood"},addTags:{amenity:"restaurant",brand:"Ocean Basket","brand:wikidata":"Q62075311",cuisine:"seafood",name:"Ocean Basket"},reference:{key:"cuisine",value:"seafood"},countryCodes:["za"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Old Chicago":{name:"Old Chicago",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/OldChicago/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64411347",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Old Chicago","brand:wikidata":"Q64411347",cuisine:"pizza",name:"Old Chicago",official_name:"Old Chicago Pizza & Taproom"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Old Wild West":{name:"Old Wild West",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/OWWofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25402475",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Old Wild West","brand:wikidata":"Q25402475","brand:wikipedia":"it:Old Wild West",cuisine:"american",name:"Old Wild West"},reference:{key:"cuisine",value:"american"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/Olive Garden":{name:"Olive Garden",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/OliveGarden/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3045312",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"Olive Garden","brand:wikidata":"Q3045312","brand:wikipedia":"en:Olive Garden",cuisine:"italian",name:"Olive Garden"},reference:{key:"cuisine",value:"italian"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/On The Border":{name:"On The Border",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/OnTheBorderMexicanGrillandCantina/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7091305",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"On The Border","brand:wikidata":"Q7091305","brand:wikipedia":"en:On the Border Mexican Grill & Cantina",cuisine:"tex-mex",name:"On The Border",official_name:"On The Border Mexican Grill & Cantina"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Outback Steakhouse":{name:"Outback Steakhouse",icon:"maki-restaurant",imageURL:"https://pbs.twimg.com/profile_images/778575984958267392/MGtDYhwg_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q1064893",amenity:"restaurant",cuisine:"american;steak"},addTags:{amenity:"restaurant",brand:"Outback Steakhouse","brand:wikidata":"Q1064893","brand:wikipedia":"en:Outback Steakhouse",cuisine:"american;steak",name:"Outback Steakhouse"},reference:{key:"cuisine",value:"american"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/asian/P.F. Chang's":{name:"P.F. Chang's",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/pfchangs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5360181",amenity:"restaurant",cuisine:"asian"},addTags:{amenity:"restaurant",brand:"P.F. Chang's","brand:wikidata":"Q5360181","brand:wikipedia":"en:P. F. Chang's China Bistro",cuisine:"asian",name:"P.F. Chang's",official_name:"P.F. Chang's China Bistro"},reference:{key:"cuisine",value:"asian"},countryCodes:["mx","us"],terms:["pf chang"],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Papa Gino's":{name:"Papa Gino's",icon:"maki-restaurant-pizza",imageURL:"https://pbs.twimg.com/profile_images/645764802531454976/5QHfmIzP_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7132333",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Papa Gino's","brand:wikidata":"Q7132333","brand:wikipedia":"en:Papa Gino's",cuisine:"pizza",name:"Papa Gino's"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Pardos Chicken":{name:"Pardos Chicken",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/pardoschicken/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17624435",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Pardos Chicken","brand:wikidata":"Q17624435","brand:wikipedia":"en:Pardos chicken",cuisine:"peruvian",name:"Pardos Chicken"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/asian/Pei Wei":{name:"Pei Wei",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/peiwei/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7160898",amenity:"restaurant",cuisine:"asian"},addTags:{amenity:"restaurant",brand:"Pei Wei","brand:wikidata":"Q7160898","brand:wikipedia":"en:Pei Wei Asian Diner",cuisine:"asian",name:"Pei Wei"},reference:{key:"cuisine",value:"asian"},countryCodes:["us"],terms:["pei wei asian diner"],matchScore:2,suggestion:true},"amenity/restaurant/american/Perkins":{name:"Perkins",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/eatatperkins/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7169056",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Perkins","brand:wikidata":"Q7169056","brand:wikipedia":"en:Perkins Restaurant and Bakery",cuisine:"american",name:"Perkins",official_name:"Perkins Restaurant and Bakery"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/vietnamese/Phở 24":{name:"Phở 24",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/pho24.24giavitinhte/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63863118",amenity:"restaurant",cuisine:"vietnamese;noodle"},addTags:{amenity:"restaurant",brand:"Phở 24","brand:wikidata":"Q63863118",cuisine:"vietnamese;noodle",name:"Phở 24","name:en":"Pho 24","name:vi":"Phở 24"},reference:{key:"cuisine",value:"vietnamese"},countryCodes:["vn"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/vietnamese/Phở Hòa":{name:"Phở Hòa",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/phohoanoodlesoup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q55629932",amenity:"restaurant",cuisine:"vietnamese;noodle"},addTags:{alt_name:"Phở Hoà","alt_name:en":"Pho Hoa","alt_name:vi":"Phở Hoà",amenity:"restaurant",brand:"Phở Hòa","brand:wikidata":"Q55629932","brand:wikipedia":"en:Phở Hòa",cuisine:"vietnamese;noodle",name:"Phở Hòa","name:vi":"Phở Hòa"},reference:{key:"cuisine",value:"vietnamese"},countryCodes:["ca","id","kr","ms","ph","tw","us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Pieology Pizzeria":{name:"Pieology Pizzeria",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/pieology/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60746053",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Pieology Pizzeria","brand:wikidata":"Q60746053","brand:wikipedia":"en:Pieology",cuisine:"pizza",name:"Pieology Pizzeria"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:["pieology"],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Pizza Factory":{name:"Pizza Factory",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/pizzafactoryinc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q39054369",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Pizza Factory","brand:wikidata":"Q39054369","brand:wikipedia":"en:Pizza Factory",cuisine:"pizza",name:"Pizza Factory"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Pizza Hut":{name:"Pizza Hut",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/pizzahutus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q191615",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Pizza Hut","brand:wikidata":"Q191615","brand:wikipedia":"en:Pizza Hut",cuisine:"pizza",name:"Pizza Hut"},reference:{key:"cuisine",value:"pizza"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Pizza Ranch":{name:"Pizza Ranch",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/PizzaRanchRestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7199978",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Pizza Ranch","brand:wikidata":"Q7199978","brand:wikipedia":"en:Pizza Ranch",cuisine:"pizza",name:"Pizza Ranch"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/PizzaExpress":{name:"PizzaExpress",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/pizzaexpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q662845",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"PizzaExpress","brand:wikidata":"Q662845","brand:wikipedia":"en:PizzaExpress",cuisine:"pizza",name:"PizzaExpress"},reference:{key:"cuisine",value:"pizza"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/french/Poivre Rouge":{name:"Poivre Rouge",icon:"maki-restaurant",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%20Restaumarch%C3%A9.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q7316076",amenity:"restaurant",cuisine:"french"},addTags:{amenity:"restaurant",brand:"Poivre Rouge","brand:wikidata":"Q7316076","brand:wikipedia":"fr:Poivre Rouge (restauration)",cuisine:"french",name:"Poivre Rouge"},reference:{key:"cuisine",value:"french"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Ponderosa Steakhouse":{name:"Ponderosa Steakhouse",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/ponbonsteakhouses/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64038204",amenity:"restaurant",cuisine:"american;steak;buffet"},addTags:{amenity:"restaurant",brand:"Ponderosa Steakhouse","brand:wikidata":"Q64038204",cuisine:"american;steak;buffet",name:"Ponderosa Steakhouse"},reference:{key:"cuisine",value:"american"},countryCodes:["ae","eg","qa","tw","us"],terms:["ponderosa"],matchScore:2,suggestion:true},"amenity/restaurant/italian/Prezzo":{name:"Prezzo",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/loveprezzo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7242489",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"Prezzo","brand:wikidata":"Q7242489","brand:wikipedia":"en:Prezzo (restaurant)",cuisine:"italian",name:"Prezzo"},reference:{key:"cuisine",value:"italian"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Quaker Steak & Lube":{name:"Quaker Steak & Lube",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/TheOfficialQSL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7268570",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Quaker Steak & Lube","brand:wikidata":"Q7268570","brand:wikipedia":"en:Quaker Steak & Lube",cuisine:"wings",name:"Quaker Steak & Lube"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/seafood/Red Lobster":{name:"Red Lobster",icon:"maki-restaurant-seafood",imageURL:"https://graph.facebook.com/redlobster/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q846301",amenity:"restaurant",cuisine:"seafood"},addTags:{amenity:"restaurant",brand:"Red Lobster","brand:wikidata":"Q846301","brand:wikipedia":"en:Red Lobster",cuisine:"seafood",name:"Red Lobster"},reference:{key:"cuisine",value:"seafood"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Red Robin":{name:"Red Robin",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/RedRobin/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7304886",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Red Robin","brand:wikidata":"Q7304886","brand:wikipedia":"en:Red Robin",cuisine:"burger",name:"Red Robin",official_name:"Red Robin Gourmet Burgers and Brews"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/Romano's Macaroni Grill":{name:"Romano's Macaroni Grill",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/RomanosMacaroniGrill/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7362714",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"Romano's Macaroni Grill","brand:wikidata":"Q7362714","brand:wikipedia":"en:Romano's Macaroni Grill",cuisine:"italian",name:"Romano's Macaroni Grill"},reference:{key:"cuisine",value:"italian"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Round Table Pizza":{name:"Round Table Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/RoundTablePizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7371139",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Round Table Pizza","brand:wikidata":"Q7371139","brand:wikipedia":"en:Round Table Pizza",cuisine:"pizza",name:"Round Table Pizza"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:["round table"],matchScore:2,suggestion:true},"amenity/restaurant/american/Ruby Tuesday":{name:"Ruby Tuesday",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/rubytuesday/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7376400",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Ruby Tuesday","brand:wikidata":"Q7376400","brand:wikipedia":"en:Ruby Tuesday (restaurant)",cuisine:"american",name:"Ruby Tuesday"},reference:{key:"cuisine",value:"american"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Ruth's Chris Steak House":{name:"Ruth's Chris Steak House",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/RuthsChrisSteakHouseNational/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7382829",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Ruth's Chris Steak House","brand:wikidata":"Q7382829","brand:wikipedia":"en:Ruth's Chris Steak House",cuisine:"american",name:"Ruth's Chris Steak House"},reference:{key:"cuisine",value:"american"},countryCodes:["ca","mx","us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Saltgrass Steak House":{name:"Saltgrass Steak House",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/saltgrass/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7406113",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Saltgrass Steak House","brand:wikidata":"Q7406113","brand:wikipedia":"en:Saltgrass Steak House",cuisine:"steak_house",name:"Saltgrass Steak House"},countryCodes:["us"],terms:["saltgrass"],matchScore:2,suggestion:true},"amenity/restaurant/Scores":{name:"Scores",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/RestaurantScores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3476059",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Scores","brand:wikidata":"Q3476059","brand:wikipedia":"fr:Scores",cuisine:"chicken;barbecue",name:"Scores"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Shakey's":{name:"Shakey's",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/shakeyspizzaparlorusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6134929",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Shakey's","brand:wikidata":"Q6134929","brand:wikipedia":"en:Shakey's Pizza",cuisine:"pizza",name:"Shakey's"},reference:{key:"cuisine",value:"pizza"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Shari's":{name:"Shari's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/SharisPies/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7489612",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Shari's","brand:wikidata":"Q7489612","brand:wikipedia":"en:Shari's Cafe & Pies",cuisine:"american",name:"Shari's"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Shoney's":{name:"Shoney's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/shoneys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7500392",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Shoney's","brand:wikidata":"Q7500392","brand:wikipedia":"en:Shoney's",cuisine:"american",name:"Shoney's"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Sizzler":{name:"Sizzler",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/sizzler/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1848822",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Sizzler","brand:wikidata":"Q1848822","brand:wikipedia":"en:Sizzler",cuisine:"steak_house",name:"Sizzler"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Skyline Chili":{name:"Skyline Chili",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/SkylineChili/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q151224",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Skyline Chili","brand:wikidata":"Q151224","brand:wikipedia":"en:Skyline Chili",cuisine:"chili",name:"Skyline Chili",takeaway:"yes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Smitty's":{name:"Smitty's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/SmittysRestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7545728",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Smitty's","brand:wikidata":"Q7545728","brand:wikipedia":"en:Smitty's",cuisine:"pancake",name:"Smitty's"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Snappy Tomato Pizza":{name:"Snappy Tomato Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/SnappyTomatoPizza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7547352",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Snappy Tomato Pizza","brand:wikidata":"Q7547352","brand:wikipedia":"en:Snappy Tomato Pizza",cuisine:"pizza",name:"Snappy Tomato Pizza",takeaway:"yes"},reference:{key:"cuisine",value:"pizza"},countryCodes:["gb","us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Spur":{name:"Spur",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/SpurSteakRanches/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7581546",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Spur","brand:wikidata":"Q7581546","brand:wikipedia":"en:Spur Steak Ranches",cuisine:"steak_house",name:"Spur"},countryCodes:["za"],terms:["spur steak ranches"],matchScore:2,suggestion:true},"amenity/restaurant/St-Hubert":{name:"St-Hubert",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/sthubert/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3495225",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"St-Hubert","brand:wikidata":"Q3495225","brand:wikipedia":"en:St-Hubert",cuisine:"chicken;barbecue",name:"St-Hubert"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/St. Louis Bar & Grill":{name:"St. Louis Bar & Grill",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/stlouisbarandgrill/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65567668",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"St. Louis Bar & Grill","brand:wikidata":"Q65567668",cuisine:"chicken",name:"St. Louis Bar & Grill"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Steak 'n Shake":{name:"Steak 'n Shake",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/steaknshake/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7605233",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Steak 'n Shake","brand:wikidata":"Q7605233","brand:wikipedia":"en:Steak 'n Shake",cuisine:"burger",name:"Steak 'n Shake"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Sunset Grill":{name:"Sunset Grill",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/SunsetGrillBreakfast/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62112489",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Sunset Grill","brand:wikidata":"Q62112489","brand:wikipedia":"en:Sunset Grill (Canadian restaurant chain)",cuisine:"american",name:"Sunset Grill"},reference:{key:"cuisine",value:"american"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Swiss Chalet":{name:"Swiss Chalet",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/SwissChalet/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2372909",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Swiss Chalet","brand:wikidata":"Q2372909","brand:wikipedia":"en:Swiss Chalet",cuisine:"chicken",name:"Swiss Chalet"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/TGI Friday's":{name:"TGI Friday's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/TGIFridays/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1524184",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"TGI Friday's","brand:wikidata":"Q1524184","brand:wikipedia":"en:TGI Fridays",cuisine:"american",name:"TGI Friday's"},reference:{key:"cuisine",value:"american"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Texas Roadhouse":{name:"Texas Roadhouse",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/texasroadhouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7707945",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Texas Roadhouse","brand:wikidata":"Q7707945","brand:wikipedia":"en:Texas Roadhouse",cuisine:"steak_house",name:"Texas Roadhouse"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/The Cheesecake Factory":{name:"The Cheesecake Factory",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/thecheesecakefactory/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1045842",amenity:"restaurant",cuisine:"american"},addTags:{alt_name:"Cheesecake Factory",amenity:"restaurant",brand:"The Cheesecake Factory","brand:wikidata":"Q1045842","brand:wikipedia":"en:The Cheesecake Factory",cuisine:"american",name:"The Cheesecake Factory"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/The Keg":{name:"The Keg",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/thekegsteakhouseandbar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7744066",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"The Keg","brand:wikidata":"Q7744066","brand:wikipedia":"en:The Keg",cuisine:"steak_house",name:"The Keg"},countryCodes:["ca","us"],terms:["keg"],matchScore:2,suggestion:true},"amenity/restaurant/The Melting Pot":{name:"The Melting Pot",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/themeltingpotrestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7750948",amenity:"restaurant"},addTags:{alt_name:"Melting Pot",amenity:"restaurant",brand:"The Melting Pot","brand:wikidata":"Q7750948","brand:wikipedia":"en:The Melting Pot (restaurant)",cuisine:"fondue",name:"The Melting Pot"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Toby Carvery":{name:"Toby Carvery",icon:"maki-restaurant",imageURL:"https://pbs.twimg.com/profile_images/1091279321795309573/A5J8Nhws_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7811777",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Toby Carvery","brand:wikidata":"Q7811777","brand:wikipedia":"en:Toby Carvery",cuisine:"british",name:"Toby Carvery"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/mexican/Toks":{name:"Toks",icon:"fas-pepper-hot",imageURL:"https://graph.facebook.com/ToksMx/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q48835586",amenity:"restaurant",cuisine:"mexican"},addTags:{amenity:"restaurant",brand:"Toks","brand:wikidata":"Q48835586","brand:wikipedia":"en:Toks",cuisine:"mexican",name:"Toks"},reference:{key:"cuisine",value:"mexican"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Tony Roma's":{name:"Tony Roma's",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/TonyRomas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2213883",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Tony Roma's","brand:wikidata":"Q2213883","brand:wikipedia":"en:Tony Roma's",cuisine:"barbecue",name:"Tony Roma's"},terms:["tony roma"],matchScore:2,suggestion:true},"amenity/restaurant/pizza/Toppers Pizza":{name:"Toppers Pizza",icon:"maki-restaurant-pizza",imageURL:"https://graph.facebook.com/ToppersRocks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7825113",amenity:"restaurant",cuisine:"pizza"},addTags:{amenity:"restaurant",brand:"Toppers Pizza","brand:wikidata":"Q7825113","brand:wikipedia":"en:Toppers Pizza",cuisine:"pizza",name:"Toppers Pizza"},reference:{key:"cuisine",value:"pizza"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/Vapiano":{name:"Vapiano",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/Vapiano/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q506252",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"Vapiano","brand:wikidata":"Q506252","brand:wikipedia":"en:Vapiano",cuisine:"italian",name:"Vapiano"},reference:{key:"cuisine",value:"italian"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Village Inn":{name:"Village Inn",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/villageinnrestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7930659",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Village Inn","brand:wikidata":"Q7930659","brand:wikipedia":"en:Village Inn",cuisine:"american",name:"Village Inn"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Vips":{name:"Vips",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/VIPSMX/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q48783378",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Vips","brand:wikidata":"Q48783378","brand:wikipedia":"es:Vips",name:"Vips"},countryCodes:["es","mx"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Waffle House":{name:"Waffle House",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/WaffleHouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1701206",amenity:"restaurant",cuisine:"american"},addTags:{amenity:"restaurant",brand:"Waffle House","brand:wikidata":"Q1701206","brand:wikipedia":"en:Waffle House",cuisine:"american",name:"Waffle House",opening_hours:"24/7"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/asian/Wagamama":{name:"Wagamama",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/wagamama.spain/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q503715",amenity:"restaurant",cuisine:"asian"},addTags:{amenity:"restaurant",brand:"Wagamama","brand:wikidata":"Q503715","brand:wikipedia":"en:Wagamama",cuisine:"asian",name:"Wagamama"},reference:{key:"cuisine",value:"asian"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/Wasabi":{name:"Wasabi",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/WasabiUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23891278",amenity:"restaurant",cuisine:"japanese"},addTags:{amenity:"restaurant",brand:"Wasabi","brand:wikidata":"Q23891278","brand:wikipedia":"en:Wasabi (restaurant)",cuisine:"japanese",name:"Wasabi"},reference:{key:"cuisine",value:"japanese"},terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Western Sizzlin'":{name:"Western Sizzlin'",icon:"maki-restaurant",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FWestern%20Sizzlin'%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q7988295",amenity:"restaurant",cuisine:"american;steak"},addTags:{amenity:"restaurant",brand:"Western Sizzlin'","brand:wikidata":"Q7988295","brand:wikipedia":"en:Western Sizzlin'",cuisine:"american;steak",name:"Western Sizzlin'"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:["western sizzling"],matchScore:2,suggestion:true},"amenity/restaurant/White Spot":{name:"White Spot",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/whitespot/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7995414",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"White Spot","brand:wikidata":"Q7995414","brand:wikipedia":"en:White Spot",cuisine:"burger",name:"White Spot"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Wild Wing":{name:"Wild Wing",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/WildWingRestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8000869",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Wild Wing","brand:wikidata":"Q8000869","brand:wikipedia":"en:Wild Wing Restaurants",cuisine:"chicken",name:"Wild Wing"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/Wingstop":{name:"Wingstop",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/Wingstop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8025339",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"Wingstop","brand:wikidata":"Q8025339","brand:wikipedia":"en:Wingstop",cuisine:"wings",name:"Wingstop"},countryCodes:["mx","us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/sushi/YO! Sushi":{name:"YO! Sushi",icon:"fas-fish",imageURL:"https://graph.facebook.com/YOSushi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3105441",amenity:"restaurant",cuisine:"sushi"},addTags:{amenity:"restaurant",brand:"YO! Sushi","brand:wikidata":"Q3105441","brand:wikipedia":"en:YO! Sushi",cuisine:"sushi",name:"YO! Sushi"},reference:{key:"cuisine",value:"sushi"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/american/Yard House":{name:"Yard House",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/yardhouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q21189156",amenity:"restaurant",cuisine:"american"},addTags:{alcohol:"yes",amenity:"restaurant",brand:"Yard House","brand:wikidata":"Q21189156","brand:wikipedia":"en:Yard House",cuisine:"american",name:"Yard House"},reference:{key:"cuisine",value:"american"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/Zizzi":{name:"Zizzi",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/wearezizzi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8072944",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"Zizzi","brand:wikidata":"Q8072944","brand:wikipedia":"en:Zizzi",cuisine:"italian",name:"Zizzi"},reference:{key:"cuisine",value:"italian"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/sushi/Планета Суши":{name:"Планета Суши",icon:"fas-fish",imageURL:"https://graph.facebook.com/sushiplanet.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62739250",amenity:"restaurant",cuisine:"sushi"},addTags:{amenity:"restaurant",brand:"Планета Суши","brand:wikidata":"Q62739250",cuisine:"sushi",name:"Планета Суши","name:en":"Planet Sushi"},reference:{key:"cuisine",value:"sushi"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/Тануки":{name:"Тануки",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/tanuki.official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62758690",amenity:"restaurant",cuisine:"japanese"},addTags:{amenity:"restaurant",brand:"Тануки","brand:wikidata":"Q62758690",cuisine:"japanese",name:"Тануки","name:en":"Tanuki","name:ru":"Тануки"},reference:{key:"cuisine",value:"japanese"},countryCodes:["kz","ru","ua"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/בורגר סאלון":{name:"בורגר סאלון",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/BurgerSaloon/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64760057",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"בורגר סאלון","brand:en":"Burger Saloon","brand:he":"בורגר סאלון","brand:wikidata":"Q64760057",cuisine:"burger",name:"בורגר סאלון","name:en":"Burger Saloon","name:he":"בורגר סאלון"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/いきなり!ステーキ":{name:"いきなり!ステーキ",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/ikinari.steak/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q21652405",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"いきなり!ステーキ","brand:en":"Ikinari Steak","brand:ja":"いきなり!ステーキ","brand:wikidata":"Q21652405","brand:wikipedia":"ja:いきなり!ステーキ",cuisine:"steak_house",name:"いきなり!ステーキ","name:en":"Ikinari Steak","name:ja":"いきなり!ステーキ"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/はなまるうどん":{name:"はなまるうどん",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/hanamaruudon.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11275674",amenity:"restaurant",cuisine:"japanese;udon"},addTags:{amenity:"restaurant",brand:"はなまるうどん","brand:en":"Hanamarūdon","brand:ja":"はなまるうどん","brand:wikidata":"Q11275674","brand:wikipedia":"ja:はなまるうどん",cuisine:"japanese;udon",name:"はなまるうどん","name:en":"Hanamarūdon","name:ja":"はなまるうどん"},reference:{key:"cuisine",value:"japanese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/びっくりドンキー":{name:"びっくりドンキー",icon:"maki-restaurant",geometry:["point","area"],tags:{"brand:wikidata":"Q11276815",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"びっくりドンキー","brand:en":"Bikkuri Donkey","brand:ja":"びっくりドンキー","brand:wikidata":"Q11276815","brand:wikipedia":"ja:びっくりドンキー",cuisine:"burger",name:"びっくりドンキー","name:en":"Bikkuri Donkey","name:ja":"びっくりドンキー"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/やよい軒":{name:"やよい軒",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/yayoiphilippines/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11280577",amenity:"restaurant",cuisine:"japanese"},addTags:{amenity:"restaurant",brand:"やよい軒","brand:en":"Yayoiken","brand:ja":"やよい軒","brand:wikidata":"Q11280577","brand:wikipedia":"ja:やよい軒",cuisine:"japanese",name:"やよい軒","name:en":"Yayoiken","name:ja":"やよい軒"},reference:{key:"cuisine",value:"japanese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/カプリチョーザ":{name:"カプリチョーザ",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/capricciosa.restaurant/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11294660",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"カプリチョーザ","brand:en":"Capricciosa","brand:ja":"カプリチョーザ","brand:wikidata":"Q11294660","brand:wikipedia":"ja:カプリチョーザ",cuisine:"italian",name:"カプリチョーザ","name:en":"Capricciosa","name:ja":"カプリチョーザ"},reference:{key:"cuisine",value:"italian"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/ココス":{name:"ココス",icon:"maki-restaurant-noodle",imageURL:"https://pbs.twimg.com/profile_images/875584429069959169/5l38DoS7_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q11301951",amenity:"restaurant",cuisine:"western;japanese"},addTags:{amenity:"restaurant",brand:"ココス","brand:en":"Coco's","brand:ja":"ココス","brand:wikidata":"Q11301951","brand:wikipedia":"ja:ココスジャパン",cuisine:"western;japanese",name:"ココス","name:en":"Coco's","name:ja":"ココス"},reference:{key:"cuisine",value:"japanese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/サイゼリヤ":{name:"サイゼリヤ",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/Saizeriya4Fun/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q886564",amenity:"restaurant",cuisine:"italian"},addTags:{amenity:"restaurant",brand:"サイゼリヤ","brand:en":"Saizeriya","brand:ja":"サイゼリヤ","brand:wikidata":"Q886564","brand:wikipedia":"en:Saizeriya",cuisine:"italian",name:"サイゼリヤ","name:en":"Saizeriya","name:ja":"サイゼリヤ"},reference:{key:"cuisine",value:"italian"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/ジョイフル":{name:"ジョイフル",icon:"maki-restaurant",geometry:["point","area"],tags:{"brand:wikidata":"Q11310517",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"ジョイフル","brand:en":"Joyfull","brand:ja":"ジョイフル","brand:wikidata":"Q11310517","brand:wikipedia":"ja:ジョイフル",cuisine:"western",name:"ジョイフル","name:en":"Joyfull","name:ja":"ジョイフル"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/italian/ジョナサン":{name:"ジョナサン",icon:"maki-restaurant",imageURL:"https://pbs.twimg.com/profile_images/1098912743497711618/uM80VkgK_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q11310628",amenity:"restaurant",cuisine:"italian;japanese"},addTags:{amenity:"restaurant",brand:"ジョナサン","brand:en":"Jonathan's","brand:ja":"ジョナサン","brand:wikidata":"Q11310628","brand:wikipedia":"ja:ジョナサン (ファミリーレストラン)",cuisine:"italian;japanese",name:"ジョナサン","name:en":"Jonathan's","name:ja":"ジョナサン"},reference:{key:"cuisine",value:"italian"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/ジョリーパスタ":{name:"ジョリーパスタ",icon:"maki-restaurant",geometry:["point","area"],tags:{"brand:wikidata":"Q10852718",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"ジョリーパスタ","brand:en":"Jolly-Pasta","brand:ja":"ジョリーパスタ","brand:wikidata":"Q10852718","brand:wikipedia":"ja:ジョリーパスタ",cuisine:"pasta",name:"ジョリーパスタ","name:en":"Jolly-Pasta","name:ja":"ジョリーパスタ"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/ステーキガスト":{name:"ステーキガスト",icon:"maki-restaurant",geometry:["point","area"],tags:{"brand:wikidata":"Q11253593",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"ステーキガスト","brand:en":"Skylark","brand:ja":"ステーキガスト","brand:wikidata":"Q11253593","brand:wikipedia":"ja:すかいらーく",cuisine:"steak",name:"ステーキガスト","name:en":"Skylark","name:ja":"ステーキガスト"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/デニーズ":{name:"デニーズ",icon:"maki-restaurant-noodle",geometry:["point","area"],tags:{"brand:wikidata":"Q11320661",amenity:"restaurant",cuisine:"western;japanese"},addTags:{amenity:"restaurant",brand:"デニーズ","brand:en":"Denny's","brand:ja":"デニーズ","brand:wikidata":"Q11320661","brand:wikipedia":"ja:デニーズ (日本)",cuisine:"western;japanese",name:"デニーズ","name:en":"Denny's","name:ja":"デニーズ"},reference:{key:"cuisine",value:"japanese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/chinese/バーミヤン":{name:"バーミヤン",icon:"maki-restaurant-noodle",imageURL:"https://pbs.twimg.com/profile_images/1098907474789163010/uXiRaQ9S_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q11328598",amenity:"restaurant",cuisine:"chinese"},addTags:{amenity:"restaurant",brand:"バーミヤン","brand:en":"Bamiyan","brand:ja":"バーミヤン","brand:wikidata":"Q11328598","brand:wikipedia":"ja:バーミヤン (レストランチェーン)",cuisine:"chinese",name:"バーミヤン","name:en":"Bamiyan","name:ja":"バーミヤン"},reference:{key:"cuisine",value:"chinese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/ビッグボーイ":{name:"ビッグボーイ",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/bigboyrestaurants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4386779",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"ビッグボーイ","brand:en":"Big Boy Restaurants","brand:ja":"ビッグボーイ","brand:wikidata":"Q4386779","brand:wikipedia":"en:Big Boy Restaurants",cuisine:"burger",name:"ビッグボーイ","name:en":"Big Boy Restaurants","name:ja":"ビッグボーイ"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/リンガーハット":{name:"リンガーハット",icon:"maki-restaurant-noodle",geometry:["point","area"],tags:{"brand:wikidata":"Q7334856",amenity:"restaurant",cuisine:"japanese"},addTags:{amenity:"restaurant",brand:"リンガーハット","brand:en":"Ringer Hut","brand:ja":"リンガーハット","brand:wikidata":"Q7334856","brand:wikipedia":"en:Ringer Hut",cuisine:"japanese",name:"リンガーハット","name:en":"Ringer Hut","name:ja":"リンガーハット"},reference:{key:"cuisine",value:"japanese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/ロイヤルホスト":{name:"ロイヤルホスト",icon:"maki-restaurant-noodle",geometry:["point","area"],tags:{"brand:wikidata":"Q11120884",amenity:"restaurant",cuisine:"japanese;italian;french"},addTags:{amenity:"restaurant",brand:"ロイヤルホスト","brand:en":"Royal Host","brand:ja":"ロイヤルホスト","brand:wikidata":"Q11120884","brand:wikipedia":"ja:ロイヤルホスト",cuisine:"japanese;italian;french",name:"ロイヤルホスト","name:en":"Royal Host","name:ja":"ロイヤルホスト"},reference:{key:"cuisine",value:"japanese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/noodle/丸亀製麺":{name:"丸亀製麺",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/marugame/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10877253",amenity:"restaurant",cuisine:"noodle"},addTags:{amenity:"restaurant",brand:"丸亀製麺","brand:en":"Marugame Seimen","brand:ja":"丸亀製麺","brand:wikidata":"Q10877253","brand:wikipedia":"ja:丸亀製麺",cuisine:"noodle",name:"丸亀製麺","name:en":"Marugame Seimen","name:ja":"丸亀製麺"},reference:{key:"cuisine",value:"noodle"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/八方雲集":{name:"八方雲集",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/8wayTW/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28417381",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"八方雲集","brand:en":"Eight Way","brand:wikidata":"Q28417381","brand:wikipedia":"zh:八方雲集","brand:zh":"八方雲集",name:"八方雲集","name:en":"Eight Way","name:zh":"八方雲集"},countryCodes:["cn","tw"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/和食さと":{name:"和食さと",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/satorsgroup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11304897",amenity:"restaurant",cuisine:"japanese"},addTags:{amenity:"restaurant",brand:"和食さと","brand:en":"Washoku Sato","brand:ja":"和食さと","brand:wikidata":"Q11304897","brand:wikipedia":"ja:SRSホールディングス",cuisine:"japanese",name:"和食さと","name:en":"Washoku Sato","name:ja":"和食さと"},reference:{key:"cuisine",value:"japanese"},countryCodes:["jp"],terms:["さと"],matchScore:2,suggestion:true},"amenity/restaurant/japanese/夢庵":{name:"夢庵",icon:"maki-restaurant-noodle",geometry:["point","area"],tags:{"brand:wikidata":"Q11253593",amenity:"restaurant",cuisine:"japanese"},addTags:{amenity:"restaurant",brand:"夢庵","brand:en":"Yumean","brand:ja":"夢庵","brand:wikidata":"Q11253593","brand:wikipedia":"ja:すかいらーく",cuisine:"japanese",name:"夢庵","name:en":"Yumean","name:ja":"夢庵"},reference:{key:"cuisine",value:"japanese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/大戸屋":{name:"大戸屋",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/ootoya/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11435522",amenity:"restaurant",cuisine:"japanese"},addTags:{amenity:"restaurant",brand:"大戸屋","brand:en":"Ootoya","brand:ja":"大戸屋","brand:wikidata":"Q11435522","brand:wikipedia":"ja:大戸屋ホールディングス",cuisine:"japanese",name:"大戸屋","name:en":"Ootoya","name:ja":"大戸屋"},reference:{key:"cuisine",value:"japanese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/大阪王将":{name:"大阪王将",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/osakaohsho/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q48743717",amenity:"restaurant",cuisine:"japanese;chinese"},addTags:{amenity:"restaurant",brand:"大阪王将","brand:en":"Osaka Ohsho","brand:ja":"大阪王将","brand:wikidata":"Q48743717","brand:wikipedia":"ja:大阪王将",cuisine:"japanese;chinese",name:"大阪王将","name:en":"Osaka Ohsho","name:ja":"大阪王将"},reference:{key:"cuisine",value:"japanese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/天下一品":{name:"天下一品",icon:"maki-restaurant",geometry:["point","area"],tags:{"brand:wikidata":"Q11442172",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"天下一品","brand:en":"Tenkaippin","brand:wikidata":"Q11442172","brand:wikipedia":"en:Tenkaippin",cuisine:"ramen",name:"天下一品","name:en":"Tenkaippin"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/安楽亭":{name:"安楽亭",icon:"maki-restaurant",geometry:["point","area"],tags:{"brand:wikidata":"Q11450866",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"安楽亭","brand:en":"Anrakutei","brand:wikidata":"Q11450866","brand:wikipedia":"ja:安楽亭",cuisine:"barbecue",name:"安楽亭","name:en":"Anrakutei"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/木曽路":{name:"木曽路",icon:"maki-restaurant-noodle",geometry:["point","area"],tags:{"brand:wikidata":"Q11518589",amenity:"restaurant",cuisine:"japanese"},addTags:{amenity:"restaurant",brand:"木曽路","brand:en":"Kisoji","brand:jp":"木曽路","brand:wikidata":"Q11518589","brand:wikipedia":"ja:木曽路 (企業)",cuisine:"japanese",name:"木曽路","name:en":"Kisoji","name:jp":"木曽路"},reference:{key:"cuisine",value:"japanese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/chinese/永和豆漿":{name:"永和豆漿",icon:"maki-restaurant-noodle",geometry:["point","area"],tags:{"brand:wikidata":"Q11131335",amenity:"restaurant",cuisine:"chinese;breakfast"},addTags:{amenity:"restaurant",brand:"永和豆漿","brand:en":"Yonghe Soy Milk","brand:wikidata":"Q11131335","brand:wikipedia":"zh:永和豆漿",cuisine:"chinese;breakfast",name:"永和豆漿","name:en":"Yonghe Soy Milk"},reference:{key:"cuisine",value:"chinese"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/牛角":{name:"牛角",icon:"maki-restaurant",geometry:["point","area"],tags:{"brand:wikidata":"Q11349387",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"牛角","brand:en":"Gyū-Kaku","brand:wikidata":"Q11349387","brand:wikipedia":"en:Gyu-Kaku",cuisine:"barbecue",name:"牛角","name:en":"Gyū-Kaku"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/japanese/華屋与兵衛":{name:"華屋与兵衛",icon:"maki-restaurant-noodle",geometry:["point","area"],tags:{"brand:wikidata":"Q11620063",amenity:"restaurant",cuisine:"japanese"},addTags:{amenity:"restaurant",brand:"華屋与兵衛","brand:en":"Hanaya Yohei","brand:ja":"華屋与兵衛","brand:wikidata":"Q11620063","brand:wikipedia":"ja:華屋与兵衛 (レストラン)",cuisine:"japanese",name:"華屋与兵衛","name:en":"Hanaya Yohei","name:ja":"華屋与兵衛"},reference:{key:"cuisine",value:"japanese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/chinese/餃子の王将":{name:"餃子の王将",icon:"maki-restaurant-noodle",imageURL:"https://graph.facebook.com/ohshosaiyo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11666805",amenity:"restaurant",cuisine:"chinese;gyoza"},addTags:{amenity:"restaurant",brand:"餃子の王将","brand:en":"Gyoza no Ohsho","brand:ja":"餃子の王将","brand:wikidata":"Q11666805","brand:wikipedia":"en:Gyoza no Ohsho",cuisine:"chinese;gyoza",name:"餃子の王将","name:en":"Gyoza no Ohsho","name:ja":"餃子の王将"},reference:{key:"cuisine",value:"chinese"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/restaurant/빕스":{name:"빕스",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/ivips/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12599540",amenity:"restaurant"},addTags:{amenity:"restaurant",brand:"빕스","brand:en":"VIPS","brand:ko":"빕스","brand:wikidata":"Q12599540","brand:wikipedia":"en:VIPS (restaurant)",name:"빕스","name:en":"VIPS","name:ko":"빕스"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"amenity/school/Imagine Schools":{name:"Imagine Schools",icon:"maki-school",imageURL:"https://pbs.twimg.com/profile_images/378800000441414844/d5dd1489ee04654b0efb3f99873bea51_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q6002737",amenity:"school"},addTags:{amenity:"school",brand:"Imagine Schools","brand:wikidata":"Q6002737","brand:wikipedia":"en:Imagine Schools",name:"Imagine Schools","operator:type":"private_non_profit"},countryCodes:["us"],terms:["imagine","imagine school"],matchScore:2,suggestion:true},"amenity/school/KIPP":{name:"KIPP",icon:"maki-school",imageURL:"https://graph.facebook.com/KIPPFoundation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6423304",amenity:"school"},addTags:{amenity:"school",brand:"KIPP","brand:wikidata":"Q6423304","brand:wikipedia":"en:KIPP (organization)",name:"KIPP",official_name:"Knowledge Is Power Program","operator:type":"private_non_profit"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/school/Success Academy":{name:"Success Academy",icon:"maki-school",imageURL:"https://graph.facebook.com/SuccessAcademies/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q14707388",amenity:"school"},addTags:{amenity:"school",brand:"Success Academy","brand:wikidata":"Q14707388","brand:wikipedia":"en:Success Academy Charter Schools",name:"Success Academy","operator:type":"private_non_profit"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/social_centre/American Legion Hall":{name:"American Legion Hall",icon:"fas-handshake",imageURL:"https://graph.facebook.com/americanlegionhq/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q468865",amenity:"social_centre"},addTags:{amenity:"social_centre",brand:"American Legion","brand:wikidata":"Q468865","brand:wikipedia":"en:American Legion",name:"American Legion Hall","social_centre:for":"veterans"},countryCodes:["us"],terms:["american legion"],matchScore:2,suggestion:true},"amenity/social_centre/Eagles Lodge":{name:"Eagles Lodge",icon:"fas-handshake",imageURL:"https://graph.facebook.com/foegrandaerie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5493810",amenity:"social_centre"},addTags:{alt_name:"Aeries Lodge",amenity:"social_centre",brand:"Fraternal Order of Eagles","brand:wikidata":"Q5493810","brand:wikipedia":"en:Fraternal Order of Eagles",name:"Eagles Lodge",official_name:"Fraternal Order of Eagles"},countryCodes:["us"],terms:["aeries","eagles","foe"],matchScore:2,suggestion:true},"amenity/social_centre/Elks Lodge":{name:"Elks Lodge",icon:"fas-handshake",imageURL:"https://graph.facebook.com/107605905935671/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2895789",amenity:"social_centre"},addTags:{amenity:"social_centre",brand:"Benevolent and Protective Order of Elks","brand:wikidata":"Q2895789","brand:wikipedia":"en:Benevolent and Protective Order of Elks",name:"Elks Lodge",official_name:"Benevolent and Protective Order of Elks"},countryCodes:["us"],terms:["bpoe","elks"],matchScore:2,suggestion:true},"amenity/social_centre/Moose Lodge":{name:"Moose Lodge",icon:"fas-handshake",imageURL:"https://graph.facebook.com/heardofmoose/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6908585",amenity:"social_centre"},addTags:{amenity:"social_centre",brand:"Loyal Order of Moose","brand:wikidata":"Q6908585","brand:wikipedia":"en:Loyal Order of Moose",name:"Moose Lodge",official_name:"Loyal Order of Moose"},countryCodes:["bm","ca","us"],terms:["moose"],matchScore:2,suggestion:true},"amenity/social_centre/Odd Fellows Hall":{name:"Odd Fellows Hall",icon:"fas-handshake",imageURL:"https://graph.facebook.com/IOOFSGL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1425508",amenity:"social_centre"},addTags:{amenity:"social_centre",brand:"Independent Order of Odd Fellows","brand:wikidata":"Q1425508","brand:wikipedia":"en:Independent Order of Odd Fellows",name:"Odd Fellows Hall",official_name:"Independent Order of Odd Fellows"},terms:["ioof","odd fellow","odd fellows"],matchScore:2,suggestion:true},"amenity/social_centre/VFW Post":{name:"VFW Post",icon:"fas-handshake",imageURL:"https://graph.facebook.com/VFWFans/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3556413",amenity:"social_centre"},addTags:{amenity:"social_centre",brand:"Veterans of Foreign Wars of the United States","brand:wikidata":"Q3556413","brand:wikipedia":"en:Veterans of Foreign Wars",name:"VFW Post","name:en":"VFW Post",official_name:"Veterans of Foreign Wars of the United States","social_centre:for":"veterans"},countryCodes:["de","jp","kr","ph","th","us"],terms:["vfw"],matchScore:2,suggestion:true},"amenity/social_facility/Vet Center":{name:"Vet Center",icon:"temaki-social_facility",imageURL:"https://graph.facebook.com/VeteransHealth/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6580225",amenity:"social_facility"},addTags:{amenity:"social_facility",brand:"VA","brand:wikidata":"Q6580225","brand:wikipedia":"en:Veterans Health Administration",healthcare:"counselling","healthcare:counselling":"psychiatry","healthcare:for":"veterans",name:"Vet Center",social_facility:"healthcare;outreach","social_facility:for":"veterans"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/university/DeVry University":{name:"DeVry University",icon:"maki-college",imageURL:"https://graph.facebook.com/DEVRYUNIVERSITY/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3298441",amenity:"university"},addTags:{amenity:"university",brand:"DeVry University","brand:wikidata":"Q3298441","brand:wikipedia":"en:DeVry University",name:"DeVry University",short_name:"DeVry"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/university/Strayer University":{name:"Strayer University",icon:"maki-college",imageURL:"https://graph.facebook.com/StrayerUniversity/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7622587",amenity:"university"},addTags:{amenity:"university",brand:"Strayer University","brand:wikidata":"Q7622587","brand:wikipedia":"en:Strayer University",name:"Strayer University",short_name:"Strayer"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/university/University of Phoenix":{name:"University of Phoenix",icon:"maki-college",imageURL:"https://graph.facebook.com/universityofphoenix/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1889100",amenity:"university"},addTags:{amenity:"university",brand:"University of Phoenix","brand:wikidata":"Q1889100","brand:wikipedia":"en:University of Phoenix",name:"University of Phoenix",short_name:"UOPX"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/vehicle_inspection/Autosur":{name:"Autosur",icon:"maki-car",imageURL:"https://graph.facebook.com/autosurfrance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64224807",amenity:"vehicle_inspection"},addTags:{amenity:"vehicle_inspection",brand:"Autosur","brand:wikidata":"Q64224807",name:"Autosur"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/vehicle_inspection/Autovision":{name:"Autovision",icon:"maki-car",imageURL:"https://graph.facebook.com/AutovisionFrance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64224842",amenity:"vehicle_inspection"},addTags:{amenity:"vehicle_inspection",brand:"Autovision","brand:wikidata":"Q64224842",name:"Autovision"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/vehicle_inspection/Dekra":{name:"Dekra",icon:"maki-car",imageURL:"https://pbs.twimg.com/profile_images/3238634623/8ccb79c10c4bfb652432961fe776c6c3_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q383711",amenity:"vehicle_inspection"},addTags:{amenity:"vehicle_inspection",brand:"Dekra","brand:wikidata":"Q383711","brand:wikipedia":"en:Dekra",name:"Dekra",official_name:"Dekra Automotive"},countryCodes:["de","fr"],terms:[],matchScore:2,suggestion:true},"amenity/vehicle_inspection/Sécuritest":{name:"Sécuritest",icon:"maki-car",imageURL:"https://graph.facebook.com/218871841874062/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64224992",amenity:"vehicle_inspection"},addTags:{amenity:"vehicle_inspection",brand:"Sécuritest","brand:wikidata":"Q64224992",name:"Sécuritest"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/parcel_pickup/Amazon Locker":{name:"Amazon Locker",icon:"temaki-vending_machine",imageURL:"https://graph.facebook.com/amazon/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q16974764",amenity:"vending_machine",vending:"parcel_pickup"},addTags:{amenity:"vending_machine",brand:"Amazon Locker","brand:wikidata":"Q16974764","brand:wikipedia":"en:Amazon Locker",name:"Amazon Locker",vending:"parcel_pickup"},reference:{key:"vending",value:"parcel_pickup"},countryCodes:["de","us"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/AmeriGas":{name:"AmeriGas",icon:"temaki-vending_machine",imageURL:"https://graph.facebook.com/AmeriGas/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q23130318",amenity:"vending_machine"},addTags:{amenity:"vending_machine",brand:"AmeriGas","brand:wikidata":"Q23130318","fuel:lpg":"yes",name:"AmeriGas",vending:"gas"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/public_transport_tickets/Automat ŚKUP":{name:"Automat ŚKUP",icon:"temaki-vending_machine",geometry:["point"],tags:{"brand:wikidata":"Q24945427",amenity:"vending_machine",vending:"public_transport_tickets"},addTags:{amenity:"vending_machine",brand:"Automat ŚKUP","brand:wikidata":"Q24945427","brand:wikipedia":"pl:Śląska Karta Usług Publicznych",name:"Automat ŚKUP",vending:"public_transport_tickets"},reference:{key:"vending",value:"public_transport_tickets"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/public_transport_tickets/BKK-automata":{name:"BKK-automata",icon:"temaki-vending_machine",imageURL:"https://graph.facebook.com/bkkbudapest/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q608917",amenity:"vending_machine",vending:"public_transport_tickets"},addTags:{amenity:"vending_machine",brand:"BKK-automata","brand:wikidata":"Q608917","brand:wikipedia":"hu:Budapesti Közlekedési Központ",name:"BKK-automata",vending:"public_transport_tickets"},reference:{key:"vending",value:"public_transport_tickets"},countryCodes:["hu"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/Blue Rhino":{name:"Blue Rhino",icon:"temaki-vending_machine",imageURL:"https://graph.facebook.com/BlueRhino/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q65681213",amenity:"vending_machine"},addTags:{amenity:"vending_machine",brand:"Blue Rhino","brand:wikidata":"Q65681213","fuel:lpg":"yes",name:"Blue Rhino",vending:"gas"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/CVS Pharmacy":{name:"CVS Pharmacy",icon:"temaki-vending_machine",imageURL:"https://graph.facebook.com/CVS/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q2078880",amenity:"vending_machine"},addTags:{amenity:"vending_machine",brand:"CVS Pharmacy","brand:wikidata":"Q2078880","brand:wikipedia":"en:CVS Pharmacy",name:"CVS Pharmacy",short_name:"CVS",vending:"chemist"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/parcel_pickup_dropoff/DHL Packstation":{name:"DHL Packstation",icon:"temaki-vending_machine",geometry:["point"],tags:{"brand:wikidata":"Q1766703",amenity:"vending_machine",vending:"parcel_pickup;parcel_mail_in"},addTags:{amenity:"vending_machine",brand:"Packstation","brand:wikidata":"Q1766703","brand:wikipedia":"en:Packstation",name:"DHL Packstation",vending:"parcel_pickup;parcel_mail_in"},reference:{key:"vending",value:"parcel_pickup;parcel_mail_in"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/DHL Paketbox":{name:"DHL Paketbox",icon:"temaki-vending_machine",geometry:["point"],tags:{"brand:wikidata":"Q2046604",amenity:"vending_machine"},addTags:{amenity:"vending_machine",brand:"Paketbox","brand:wikidata":"Q2046604","brand:wikipedia":"de:Paketbox",name:"DHL Paketbox",vending:"parcel_mail_in"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/excrement_bags/Dog-Station":{name:"Dog-Station",icon:"temaki-vending_machine",geometry:["point"],tags:{"brand:wikidata":"Q63720061",amenity:"vending_machine",vending:"excrement_bags"},addTags:{amenity:"vending_machine",brand:"Dog-Station","brand:wikidata":"Q63720061",name:"Dog-Station",vending:"excrement_bags"},reference:{key:"vending",value:"excrement_bags"},countryCodes:["at","de","dk"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/Home City Ice":{name:"Home City Ice",icon:"temaki-vending_machine",imageURL:"https://graph.facebook.com/HomeCityIceJobs/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q5888287",amenity:"vending_machine"},addTags:{amenity:"vending_machine",brand:"Home City Ice","brand:wikidata":"Q5888287",name:"Home City Ice",vending:"ice_cubes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/public_transport_tickets/KKM":{name:"KKM",icon:"temaki-vending_machine",geometry:["point"],tags:{"brand:wikidata":"Q57515549",amenity:"vending_machine",vending:"public_transport_tickets"},addTags:{amenity:"vending_machine",brand:"KKM","brand:wikidata":"Q57515549",name:"KKM",vending:"public_transport_tickets"},reference:{key:"vending",value:"public_transport_tickets"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/parcel_pickup_dropoff/Paczkomat InPost":{name:"Paczkomat InPost",icon:"temaki-vending_machine",imageURL:"https://graph.facebook.com/paczkomaty/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q3182097",amenity:"vending_machine",vending:"parcel_pickup;parcel_mail_in"},addTags:{amenity:"vending_machine",brand:"InPost","brand:wikidata":"Q3182097","brand:wikipedia":"pl:InPost",name:"Paczkomat InPost",vending:"parcel_pickup;parcel_mail_in"},reference:{key:"vending",value:"parcel_pickup;parcel_mail_in"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/parking_tickets/ParkPlus (Calgary)":{name:"ParkPlus (Calgary)",icon:"temaki-vending_machine",imageURL:"https://graph.facebook.com/CalgaryParkingAuthority/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q63719595",amenity:"vending_machine",vending:"parking_tickets"},addTags:{amenity:"vending_machine",brand:"ParkPlus","brand:wikidata":"Q63719595",name:"ParkPlus",vending:"parking_tickets"},reference:{key:"vending",value:"parking_tickets"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/Redbox":{name:"Redbox",icon:"temaki-vending_machine",imageURL:"https://graph.facebook.com/redbox/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q7305489",amenity:"vending_machine"},addTags:{amenity:"vending_machine",brand:"Redbox","brand:wikidata":"Q7305489","brand:wikipedia":"en:Redbox",name:"Redbox",vending:"movies"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/Reddy Ice":{name:"Reddy Ice",icon:"temaki-vending_machine",imageURL:"https://graph.facebook.com/RealReddyIce/picture?type=large",geometry:["point"],tags:{"brand:wikidata":"Q7305666",amenity:"vending_machine"},addTags:{amenity:"vending_machine",brand:"Reddy Ice","brand:wikidata":"Q7305666",name:"Reddy Ice",vending:"ice_cubes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/excrement_bags/Robidog":{name:"Robidog",icon:"temaki-vending_machine",geometry:["point"],tags:{"brand:wikidata":"Q2159689",amenity:"vending_machine",vending:"excrement_bags"},addTags:{amenity:"vending_machine",brand:"Robidog","brand:wikidata":"Q2159689","brand:wikipedia":"de:Robidog",name:"Robidog",vending:"excrement_bags"},reference:{key:"vending",value:"excrement_bags"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/parcel_pickup_dropoff/Smartpost":{name:"Smartpost",icon:"temaki-vending_machine",geometry:["point"],tags:{"brand:wikidata":"Q7543889",amenity:"vending_machine",vending:"parcel_pickup;parcel_mail_in"},addTags:{amenity:"vending_machine",brand:"Smartpost","brand:wikidata":"Q7543889","brand:wikipedia":"fi:SmartPOST",name:"Smartpost",vending:"parcel_pickup;parcel_mail_in"},reference:{key:"vending",value:"parcel_pickup;parcel_mail_in"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/cigarettes/Tobaccoland":{name:"Tobaccoland",icon:"temaki-vending_machine",geometry:["point"],tags:{"brand:wikidata":"Q1439872",amenity:"vending_machine",vending:"cigarettes"},addTags:{amenity:"vending_machine",brand:"Tobaccoland","brand:wikidata":"Q1439872","brand:wikipedia":"de:Tobaccoland Automatengesellschaft",name:"Tobaccoland",vending:"cigarettes"},reference:{key:"vending",value:"cigarettes"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/drinks/コカ・コーラ":{name:"コカ・コーラ",icon:"temaki-vending_machine",imageURL:"https://pbs.twimg.com/profile_images/1149007644918784001/b5PBpHkK_bigger.jpg",geometry:["point"],tags:{"brand:wikidata":"Q2813",amenity:"vending_machine",vending:"drinks"},addTags:{amenity:"vending_machine",brand:"コカ・コーラ","brand:en":"Coca-Cola","brand:ja":"コカ・コーラ","brand:wikidata":"Q2813","brand:wikipedia":"ja:コカ・コーラ",drink:"cola",name:"コカ・コーラ","name:en":"Coca-Cola","name:ja":"コカ・コーラ",vending:"drinks"},reference:{key:"vending",value:"drinks"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"amenity/vending_machine/ポッカサッポロ":{name:"ポッカサッポロ",icon:"temaki-vending_machine",imageURL:"https://pbs.twimg.com/profile_images/937822527543377920/j8-XeRV8_bigger.jpg",geometry:["point"],tags:{"brand:wikidata":"Q7208665",amenity:"vending_machine"},addTags:{amenity:"vending_machine",brand:"ポッカサッポロ","brand:en":"Pokka Sapporo","brand:ja":"ポッカサッポロ","brand:wikidata":"Q7208665","brand:wikipedia":"ja:ポッカサッポロフード&ビバレッジ",name:"ポッカサッポロ","name:en":"Pokka Sapporo","name:ja":"ポッカサッポロ",vending:"water;food"},countryCodes:["jp"],terms:["pokka sapporo"],matchScore:2,suggestion:true},"amenity/veterinary/Banfield Pet Hospital":{name:"Banfield Pet Hospital",icon:"temaki-veterinary_care",imageURL:"https://graph.facebook.com/BanfieldPetHospital/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2882416",amenity:"veterinary"},addTags:{amenity:"veterinary",brand:"Banfield Pet Hospital","brand:wikidata":"Q2882416","brand:wikipedia":"en:Banfield Pet Hospital",name:"Banfield Pet Hospital"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"amenity/veterinary/VCA Animal Hospital":{name:"VCA Animal Hospital",icon:"temaki-veterinary_care",imageURL:"https://graph.facebook.com/VCAAnimalHospitals/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7906620",amenity:"veterinary"},addTags:{amenity:"veterinary",brand:"VCA Animal Hospital","brand:wikidata":"Q7906620","brand:wikipedia":"en:VCA Animal Hospitals",name:"VCA Animal Hospital"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"craft/signmaker/Fastsigns":{name:"Fastsigns",icon:"temaki-tools",imageURL:"https://graph.facebook.com/FASTSIGNS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5437127",craft:"signmaker"},addTags:{brand:"Fastsigns","brand:wikidata":"Q5437127","brand:wikipedia":"en:Fastsigns",craft:"signmaker",name:"Fastsigns"},countryCodes:["ae","ca","cl","gb","ky","mx","sa","us"],terms:[],matchScore:2,suggestion:true},"healthcare/blood_donation/Australian Red Cross Blood Service":{name:"Australian Red Cross Blood Service",icon:"maki-blood-bank",imageURL:"https://graph.facebook.com/AustralianRedCross/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4824610",healthcare:"blood_donation"},addTags:{brand:"Australian Red Cross","brand:wikidata":"Q4824610","brand:wikipedia":"en:Australian Red Cross","donation:compensation":"no",healthcare:"blood_donation",name:"Australian Red Cross Blood Service",short_name:"Blood Service"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"amenity/clinic/ZoomCare":{name:"ZoomCare",icon:"maki-doctor",imageURL:"https://graph.facebook.com/ZOOMCare/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64120374",amenity:"clinic"},addTags:{amenity:"clinic",brand:"ZoomCare","brand:wikidata":"Q64120374","brand:wikipedia":"en:ZoomCare",healthcare:"clinic",name:"ZoomCare",urgent_care:"yes"},reference:{key:"amenity",value:"clinic"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"healthcare/counselling/Jenny Craig":{name:"Jenny Craig",icon:"fas-comments",imageURL:"https://graph.facebook.com/jennycraig/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6179221",healthcare:"counselling"},addTags:{brand:"Jenny Craig","brand:wikidata":"Q6179221","brand:wikipedia":"en:Jenny Craig, Inc.",healthcare:"counselling","healthcare:counselling":"dietitian","healthcare:speciality":"weight_loss",name:"Jenny Craig"},countryCodes:["au","ca","nz","us"],terms:[],matchScore:2,suggestion:true},"healthcare/counselling/WW Studio":{name:"WW Studio",icon:"fas-comments",imageURL:"https://graph.facebook.com/WW/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1929466",healthcare:"counselling"},addTags:{alt_name:"Weight Watchers",brand:"WW Studio","brand:wikidata":"Q1929466","brand:wikipedia":"en:WW International",healthcare:"counselling","healthcare:counselling":"dietitian","healthcare:speciality":"weight_loss",name:"WW Studio"},terms:["ww"],matchScore:2,suggestion:true},"landuse/residential/Avalon":{name:"Avalon",icon:"maki-building",imageURL:"https://pbs.twimg.com/profile_images/859879308940193792/us4WbKaN_bigger.jpg",geometry:["area"],tags:{"brand:wikidata":"Q64665938",landuse:"residential"},addTags:{brand:"Avalon","brand:wikidata":"Q64665938",landuse:"residential",name:"Avalon",residential:"apartments"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"leisure/escape_game/Escapology":{name:"Escapology",icon:"fas-puzzle-piece",imageURL:"https://graph.facebook.com/EscapologySanDiego/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64137163",leisure:"escape_game"},addTags:{brand:"Escapology","brand:wikidata":"Q64137163",leisure:"escape_game",name:"Escapology"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/24 Hour Fitness":{name:"24 Hour Fitness",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/24HourFitness/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4631849",leisure:"fitness_centre"},addTags:{brand:"24 Hour Fitness","brand:wikidata":"Q4631849","brand:wikipedia":"en:24 Hour Fitness",leisure:"fitness_centre",name:"24 Hour Fitness"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Anytime Fitness":{name:"Anytime Fitness",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/anytimefitness/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4778364",leisure:"fitness_centre"},addTags:{brand:"Anytime Fitness","brand:wikidata":"Q4778364","brand:wikipedia":"en:Anytime Fitness",leisure:"fitness_centre",name:"Anytime Fitness"},terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Basic-Fit":{name:"Basic-Fit",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/BasicFitEspana/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q40165577",leisure:"fitness_centre"},addTags:{brand:"Basic-Fit","brand:wikidata":"Q40165577","brand:wikipedia":"nl:Basic-Fit",leisure:"fitness_centre",name:"Basic-Fit"},countryCodes:["be","es","fr","lu","nl"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Clever fit":{name:"Clever fit",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/cleverfit/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q27909675",leisure:"fitness_centre"},addTags:{brand:"Clever fit","brand:wikidata":"Q27909675","brand:wikipedia":"de:Clever fit",leisure:"fitness_centre",name:"Clever fit"},countryCodes:["at","ch","de"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/CorePower Yoga":{name:"CorePower Yoga",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/CorePowerYoga/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q21015663",leisure:"fitness_centre"},addTags:{brand:"CorePower Yoga","brand:wikidata":"Q21015663","brand:wikipedia":"en:CorePower Yoga",leisure:"fitness_centre",name:"CorePower Yoga",sport:"yoga"},countryCodes:["us"],terms:["corepower"],matchScore:2,suggestion:true},"leisure/fitness_centre/Crunch Fitness":{name:"Crunch Fitness",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/CRUNCH/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5190093",leisure:"fitness_centre"},addTags:{brand:"Crunch Fitness","brand:wikidata":"Q5190093","brand:wikipedia":"en:Crunch Fitness",leisure:"fitness_centre",name:"Crunch Fitness"},countryCodes:["au","ca","us"],terms:["crunch"],matchScore:2,suggestion:true},"leisure/fitness_centre/Curves":{name:"Curves",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/Curves/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5196080",leisure:"fitness_centre"},addTags:{brand:"Curves","brand:wikidata":"Q5196080","brand:wikipedia":"en:Curves International",leisure:"fitness_centre",name:"Curves"},terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/F45 Training":{name:"F45 Training",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/F45FunctionalTraining/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64390973",leisure:"fitness_centre"},addTags:{brand:"F45 Training","brand:wikidata":"Q64390973",leisure:"fitness_centre",name:"F45 Training"},terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Fit4Less  (Canada)":{name:"Fit4Less  (Canada)",icon:"fas-dumbbell",imageURL:"https://pbs.twimg.com/profile_images/1002267809248768000/7GDwAjgc_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q64821050",leisure:"fitness_centre"},addTags:{brand:"Fit4Less","brand:wikidata":"Q64821050",leisure:"fitness_centre",name:"Fit4Less"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Fit4less  (UK)":{name:"Fit4less  (UK)",icon:"fas-dumbbell",imageURL:"https://pbs.twimg.com/profile_images/570920453774917632/3SpVGgNU_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q64821053",leisure:"fitness_centre"},addTags:{brand:"Fit4less","brand:wikidata":"Q64821053",leisure:"fitness_centre",name:"Fit4less"},countryCodes:["uk"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Fitness First":{name:"Fitness First",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/FitnessFirstGER/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q127120",leisure:"fitness_centre"},addTags:{brand:"Fitness First","brand:wikidata":"Q127120","brand:wikipedia":"en:Fitness First",leisure:"fitness_centre",name:"Fitness First"},countryCodes:["ae","au","de","gb","ph","th"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Fitness24Seven":{name:"Fitness24Seven",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/Fitness24SevenSweden/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61112447",leisure:"fitness_centre"},addTags:{brand:"Fitness24Seven","brand:wikidata":"Q61112447","brand:wikipedia":"sv:Fitness24Seven",leisure:"fitness_centre",name:"Fitness24Seven"},countryCodes:["fi","se"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Gold's Gym":{name:"Gold's Gym",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/goldsgym/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1536234",leisure:"fitness_centre"},addTags:{brand:"Gold's Gym","brand:wikidata":"Q1536234","brand:wikipedia":"en:Gold's Gym",leisure:"fitness_centre",name:"Gold's Gym"},countryCodes:["ae","in","ph","us"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/GoodLife Fitness":{name:"GoodLife Fitness",icon:"fas-dumbbell",geometry:["point","area"],tags:{"brand:wikidata":"Q3110654",leisure:"fitness_centre"},addTags:{brand:"GoodLife Fitness","brand:wikidata":"Q3110654","brand:wikipedia":"en:GoodLife Fitness",leisure:"fitness_centre",name:"GoodLife Fitness"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Jazzercise":{name:"Jazzercise",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/Jazzerciseinc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6168434",leisure:"fitness_centre"},addTags:{brand:"Jazzercise","brand:wikidata":"Q6168434","brand:wikipedia":"en:Jazzercise",leisure:"fitness_centre",name:"Jazzercise"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/LA Fitness":{name:"LA Fitness",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/LAFitness/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6457180",leisure:"fitness_centre"},addTags:{brand:"LA Fitness","brand:wikidata":"Q6457180","brand:wikipedia":"en:LA Fitness",leisure:"fitness_centre",name:"LA Fitness"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Life Time":{name:"Life Time",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/LifeTime.Life/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6545004",leisure:"fitness_centre"},addTags:{brand:"Life Time","brand:wikidata":"Q6545004","brand:wikipedia":"en:Life Time Fitness",leisure:"fitness_centre",name:"Life Time"},countryCodes:["ca","us"],terms:["life time athletic","life time fitness"],matchScore:2,suggestion:true},"leisure/fitness_centre/McFit":{name:"McFit",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/mcfit.DE/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q871302",leisure:"fitness_centre"},addTags:{brand:"McFit","brand:wikidata":"Q871302","brand:wikipedia":"en:McFit",leisure:"fitness_centre",name:"McFit"},countryCodes:["at","de","es","it","pl"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Orangetheory Fitness":{name:"Orangetheory Fitness",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/OrangeTheoryFitness/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25005163",leisure:"fitness_centre"},addTags:{brand:"Orangetheory Fitness","brand:wikidata":"Q25005163","brand:wikipedia":"en:Orangetheory Fitness",leisure:"fitness_centre",name:"Orangetheory Fitness"},countryCodes:["ca","es","us"],terms:["orangetheory"],matchScore:2,suggestion:true},"leisure/fitness_centre/Planet Fitness":{name:"Planet Fitness",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/planetfitness/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7201095",leisure:"fitness_centre"},addTags:{brand:"Planet Fitness","brand:wikidata":"Q7201095","brand:wikipedia":"en:Planet Fitness",leisure:"fitness_centre",name:"Planet Fitness"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/PureGym":{name:"PureGym",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/puregym/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18345898",leisure:"fitness_centre"},addTags:{brand:"PureGym","brand:wikidata":"Q18345898","brand:wikipedia":"en:PureGym",leisure:"fitness_centre",name:"PureGym"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Retro Fitness":{name:"Retro Fitness",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/RetroFitness/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61994955",leisure:"fitness_centre"},addTags:{brand:"Retro Fitness","brand:wikidata":"Q61994955",leisure:"fitness_centre",name:"Retro Fitness"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"leisure/fitness_centre/Snap Fitness":{name:"Snap Fitness",icon:"fas-dumbbell",imageURL:"https://graph.facebook.com/SnapFitness247/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7547254",leisure:"fitness_centre"},addTags:{brand:"Snap Fitness","brand:wikidata":"Q7547254","brand:wikipedia":"en:Snap Fitness",leisure:"fitness_centre",name:"Snap Fitness"},terms:[],matchScore:2,suggestion:true},"leisure/playground/McDonald's PlayPlace":{name:"McDonald's PlayPlace",icon:"maki-playground",imageURL:"https://graph.facebook.com/mcdonalds/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q38076",leisure:"playground"},addTags:{access:"customers",brand:"McDonald's","brand:wikidata":"Q38076","brand:wikipedia":"en:McDonald's",leisure:"playground",name:"McDonald's PlayPlace"},terms:["mcdonald's"],matchScore:2,suggestion:true},"leisure/sports_centre/YMCA":{name:"YMCA",icon:"maki-pitch",imageURL:"https://graph.facebook.com/YMCA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q157169",leisure:"sports_centre"},addTags:{brand:"YMCA","brand:wikidata":"Q157169","brand:wikipedia":"en:YMCA",leisure:"sports_centre",name:"YMCA"},terms:[],matchScore:2,suggestion:true},"leisure/sports_centre/iFLY":{name:"iFLY",icon:"maki-pitch",imageURL:"https://graph.facebook.com/iFLYUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64767105",leisure:"sports_centre"},addTags:{brand:"iFLY","brand:wikidata":"Q64767105",leisure:"sports_centre",name:"iFLY",sport:"indoor_skydiving"},terms:[],matchScore:2,suggestion:true},"shop/beauty/tanning/Palm Beach Tan":{name:"Palm Beach Tan",icon:"maki-shop",imageURL:"https://graph.facebook.com/PBTOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64027086",shop:"beauty",beauty:"tanning"},addTags:{beauty:"tanning",brand:"Palm Beach Tan","brand:wikidata":"Q64027086","brand:wikipedia":"en:Palm Beach Tan",leisure:"tanning_salon",name:"Palm Beach Tan",shop:"beauty"},reference:{key:"leisure",value:"tanning_salon"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"office/bail_bond_agent/Aladdin Bail Bonds":{name:"Aladdin Bail Bonds",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FAladdin%20Bail%20Bonds%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q64166257",office:"bail_bond_agent"},addTags:{brand:"Aladdin Bail Bonds","brand:wikidata":"Q64166257","brand:wikipedia":"en:Aladdin Bail Bonds",name:"Aladdin Bail Bonds",office:"bail_bond_agent",opening_hours:"24/7"},countryCodes:["us"],terms:["aladdin","aladin bail bonds","alladin bail bonds"],matchScore:2,suggestion:true},"office/coworking/Awfis":{name:"Awfis",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/myawfis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60747757",office:"coworking"},addTags:{brand:"Awfis","brand:wikidata":"Q60747757","brand:wikipedia":"en:Awfis",fee:"yes",name:"Awfis",office:"coworking"},reference:{key:"amenity",value:"coworking_space"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"office/coworking/Ucommune (China)":{name:"Ucommune (China)",icon:"maki-suitcase",geometry:["point","area"],tags:{"brand:wikidata":"Q60785187",office:"coworking"},addTags:{brand:"优客工场","brand:en":"Ucommune","brand:wikidata":"Q60785187","brand:wikipedia":"en:Ucommune","brand:zh":"优客工场","brand:zh-Hans":"优客工场",fee:"yes",name:"优客工场","name:en":"Ucommune","name:zh":"优客工场","name:zh-Hans":"优客工场",office:"coworking"},reference:{key:"amenity",value:"coworking_space"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"office/coworking/Ucommune (Hong Kong)":{name:"Ucommune (Hong Kong)",icon:"maki-suitcase",geometry:["point","area"],tags:{"brand:wikidata":"Q60785187",office:"coworking"},addTags:{brand:"優客工場 Ucommune","brand:en":"Ucommune","brand:wikidata":"Q60785187","brand:wikipedia":"en:Ucommune","brand:zh":"優客工場","brand:zh-Hans":"优客工场","brand:zh-Hant":"優客工場",fee:"yes",name:"優客工場 Ucommune","name:en":"Ucommune","name:zh":"優客工場","name:zh-Hans":"优客工场","name:zh-Hant":"優客工場",office:"coworking"},reference:{key:"amenity",value:"coworking_space"},countryCodes:["hk"],terms:[],matchScore:2,suggestion:true},"office/coworking/Ucommune (Singapore)":{name:"Ucommune (Singapore)",icon:"maki-suitcase",geometry:["point","area"],tags:{"brand:wikidata":"Q60785187",office:"coworking"},addTags:{brand:"Ucommune","brand:en":"Ucommune","brand:wikidata":"Q60785187","brand:wikipedia":"en:Ucommune","brand:zh":"优客工场","brand:zh-Hans":"优客工场",fee:"yes",name:"Ucommune","name:en":"Ucommune","name:zh":"优客工场","name:zh-Hans":"优客工场",office:"coworking"},reference:{key:"amenity",value:"coworking_space"},countryCodes:["sg"],terms:[],matchScore:2,suggestion:true},"office/coworking/Ucommune (Taiwan)":{name:"Ucommune (Taiwan)",icon:"maki-suitcase",geometry:["point","area"],tags:{"brand:wikidata":"Q60785187",office:"coworking"},addTags:{brand:"優客工場","brand:en":"Ucommune","brand:wikidata":"Q60785187","brand:wikipedia":"en:Ucommune","brand:zh":"優客工場","brand:zh-Hans":"优客工场","brand:zh-Hant":"優客工場",fee:"yes",name:"優客工場","name:en":"Ucommune","name:zh":"優客工場","name:zh-Hans":"优客工场","name:zh-Hant":"優客工場",office:"coworking"},reference:{key:"amenity",value:"coworking_space"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"office/coworking/WeWork":{name:"WeWork",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/wework/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19995004",office:"coworking"},addTags:{brand:"WeWork","brand:wikidata":"Q19995004","brand:wikipedia":"en:WeWork",fee:"yes",name:"WeWork",office:"coworking"},reference:{key:"amenity",value:"coworking_space"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"office/employment_agency/Adecco":{name:"Adecco",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/adeccogroupDE/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q353494",office:"employment_agency"},addTags:{brand:"Adecco","brand:wikidata":"Q353494","brand:wikipedia":"en:The Adecco Group",name:"Adecco",office:"employment_agency"},terms:[],matchScore:2,suggestion:true},"office/employment_agency/Manpower":{name:"Manpower",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/ManpowerGroup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1472539",office:"employment_agency"},addTags:{brand:"Manpower","brand:wikidata":"Q1472539","brand:wikipedia":"en:ManpowerGroup",name:"Manpower",office:"employment_agency"},terms:[],matchScore:2,suggestion:true},"office/employment_agency/Pôle Emploi":{name:"Pôle Emploi",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/poleemploi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8901192",office:"employment_agency"},addTags:{brand:"Pôle Emploi","brand:wikidata":"Q8901192","brand:wikipedia":"en:Pôle emploi",name:"Pôle Emploi",office:"employment_agency"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"office/employment_agency/Randstad":{name:"Randstad",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/Randstad/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q267840",office:"employment_agency"},addTags:{brand:"Randstad","brand:wikidata":"Q267840","brand:wikipedia":"en:Randstad Holding",name:"Randstad",office:"employment_agency"},terms:[],matchScore:2,suggestion:true},"office/estate_agent/Century 21":{name:"Century 21",icon:"temaki-real_estate_agency",imageURL:"https://graph.facebook.com/century21/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1054480",office:"estate_agent"},addTags:{brand:"Century 21","brand:wikidata":"Q1054480","brand:wikipedia":"en:Century 21 (real estate)",name:"Century 21",office:"estate_agent"},terms:["century 21 real estate"],matchScore:2,suggestion:true},"office/estate_agent/Coldwell Banker":{name:"Coldwell Banker",icon:"temaki-real_estate_agency",imageURL:"https://graph.facebook.com/coldwellbanker/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q738853",office:"estate_agent"},addTags:{brand:"Coldwell Banker","brand:wikidata":"Q738853","brand:wikipedia":"en:Coldwell Banker",name:"Coldwell Banker",office:"estate_agent"},terms:["coldwell banker real estate"],matchScore:2,suggestion:true},"office/estate_agent/Engel & Völkers":{name:"Engel & Völkers",icon:"temaki-real_estate_agency",imageURL:"https://graph.facebook.com/engelvoelkershq/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1341765",office:"estate_agent"},addTags:{brand:"Engel & Völkers","brand:wikidata":"Q1341765","brand:wikipedia":"en:Engel & Völkers",name:"Engel & Völkers",office:"estate_agent"},terms:[],matchScore:2,suggestion:true},"office/estate_agent/Foncia":{name:"Foncia",icon:"temaki-real_estate_agency",imageURL:"https://graph.facebook.com/Foncia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1435638",office:"estate_agent"},addTags:{brand:"Foncia","brand:wikidata":"Q1435638","brand:wikipedia":"fr:Foncia",name:"Foncia",office:"estate_agent"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"office/estate_agent/Guy Hoquet":{name:"Guy Hoquet",icon:"temaki-real_estate_agency",imageURL:"https://graph.facebook.com/GuyHoquetImmobilier/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25383970",office:"estate_agent"},addTags:{brand:"Guy Hoquet","brand:wikidata":"Q25383970","brand:wikipedia":"fr:Guy Hoquet l'immobilier",name:"Guy Hoquet",office:"estate_agent"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"office/estate_agent/Orpi":{name:"Orpi",icon:"temaki-real_estate_agency",imageURL:"https://graph.facebook.com/OrpiFrance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3356080",office:"estate_agent"},addTags:{brand:"Orpi","brand:wikidata":"Q3356080","brand:wikipedia":"fr:Organisation régionale des professionnels de l'immobilier",name:"Orpi",office:"estate_agent"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"office/estate_agent/REMAX":{name:"RE/MAX",icon:"temaki-real_estate_agency",imageURL:"https://graph.facebook.com/remax/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q965845",office:"estate_agent"},addTags:{brand:"RE/MAX","brand:wikidata":"Q965845","brand:wikipedia":"en:RE/MAX",name:"RE/MAX",office:"estate_agent"},terms:[],matchScore:2,suggestion:true},"office/estate_agent/Royal LePage":{name:"Royal LePage",icon:"temaki-real_estate_agency",imageURL:"https://graph.facebook.com/royallepage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7374385",office:"estate_agent"},addTags:{brand:"Royal LePage","brand:wikidata":"Q7374385","brand:wikipedia":"en:Royal LePage",name:"Royal LePage",office:"estate_agent"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"office/estate_agent/Square Habitat":{name:"Square Habitat",icon:"temaki-real_estate_agency",geometry:["point","area"],tags:{"brand:wikidata":"Q64027038",office:"estate_agent"},addTags:{brand:"Square Habitat","brand:wikidata":"Q64027038","brand:wikipedia":"fr:Square Habitat",name:"Square Habitat",office:"estate_agent"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"office/financial_advisor/Edward Jones":{name:"Edward Jones",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/edwardjones/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5343830",office:"financial_advisor"},addTags:{alt_name:"Edward Jones Investments",brand:"Edward Jones","brand:wikidata":"Q5343830","brand:wikipedia":"en:Edward Jones Investments",name:"Edward Jones",office:"financial_advisor"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"office/insurance/AAA Insurance":{name:"AAA Insurance",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/AAAFanPage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q463436",office:"insurance"},addTags:{brand:"American Automobile Association","brand:wikidata":"Q463436","brand:wikipedia":"en:American Automobile Association",name:"AAA Insurance",office:"insurance",short_name:"AAA"},countryCodes:["us"],terms:["american automobile association"],matchScore:2,suggestion:true},"office/insurance/AOK":{name:"AOK",icon:"maki-suitcase",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FAllgemeine%20Ortskrankenkasse%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q835141",office:"insurance"},addTags:{brand:"AOK","brand:wikidata":"Q835141","brand:wikipedia":"de:Allgemeine Ortskrankenkasse",name:"AOK",office:"insurance"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"office/insurance/AXA":{name:"AXA",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/axainsurance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q160054",office:"insurance"},addTags:{brand:"AXA","brand:wikidata":"Q160054","brand:wikipedia":"en:AXA",name:"AXA",office:"insurance"},terms:[],matchScore:2,suggestion:true},"office/insurance/Allianz":{name:"Allianz",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/allianz/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q487292",office:"insurance"},addTags:{brand:"Allianz","brand:wikidata":"Q487292","brand:wikipedia":"en:Allianz",name:"Allianz",office:"insurance"},terms:[],matchScore:2,suggestion:true},"office/insurance/Allstate":{name:"Allstate",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/Allstate/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2645636",office:"insurance"},addTags:{brand:"Allstate","brand:wikidata":"Q2645636","brand:wikipedia":"en:Allstate",name:"Allstate",office:"insurance"},countryCodes:["us"],terms:["allstate insurance"],matchScore:2,suggestion:true},"office/insurance/American Family Insurance":{name:"American Family Insurance",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/amfam/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4743730",office:"insurance"},addTags:{brand:"American Family Insurance","brand:wikidata":"Q4743730","brand:wikipedia":"en:American Family Insurance",name:"American Family Insurance",office:"insurance"},countryCodes:["us"],terms:["american family","amfam"],matchScore:2,suggestion:true},"office/insurance/Aviva":{name:"Aviva",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/Aviva/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q791179",office:"insurance"},addTags:{brand:"Aviva","brand:wikidata":"Q791179","brand:wikipedia":"en:Aviva",name:"Aviva",office:"insurance"},countryCodes:["fr","ie","pl"],terms:[],matchScore:2,suggestion:true},"office/insurance/DEVK":{name:"DEVK",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/devk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1153049",office:"insurance"},addTags:{brand:"DEVK","brand:wikidata":"Q1153049","brand:wikipedia":"de:DEVK",name:"DEVK",office:"insurance"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"office/insurance/Debeka":{name:"Debeka",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/Debeka/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1181452",office:"insurance"},addTags:{brand:"Debeka","brand:wikidata":"Q1181452","brand:wikipedia":"de:Debeka",name:"Debeka",office:"insurance"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"office/insurance/Erie Insurance":{name:"Erie Insurance",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/erieinsurance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5388314",office:"insurance"},addTags:{brand:"Erie Insurance","brand:wikidata":"Q5388314","brand:wikipedia":"en:Erie Insurance Group",name:"Erie Insurance",office:"insurance"},countryCodes:["us"],terms:["erie"],matchScore:2,suggestion:true},"office/insurance/Farmers Insurance":{name:"Farmers Insurance",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/FarmersInsurance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1396863",office:"insurance"},addTags:{brand:"Farmers Insurance","brand:wikidata":"Q1396863","brand:wikipedia":"en:Farmers Insurance Group",name:"Farmers Insurance",office:"insurance"},countryCodes:["us"],terms:["farmers"],matchScore:2,suggestion:true},"office/insurance/GEICO":{name:"GEICO",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/geico/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1498689",office:"insurance"},addTags:{brand:"GEICO","brand:wikidata":"Q1498689","brand:wikipedia":"en:GEICO",name:"GEICO",office:"insurance"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"office/insurance/Generali":{name:"Generali",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/GENERALIes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q670482",office:"insurance"},addTags:{brand:"Generali","brand:wikidata":"Q670482","brand:wikipedia":"it:Assicurazioni Generali",name:"Generali",office:"insurance"},terms:[],matchScore:2,suggestion:true},"office/insurance/Grange Insurance":{name:"Grange Insurance",icon:"maki-suitcase",imageURL:"https://pbs.twimg.com/profile_images/476391605457260545/J37LFSJc_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q17183481",office:"insurance"},addTags:{brand:"Grange Insurance","brand:wikidata":"Q17183481","brand:wikipedia":"en:Grange Insurance",name:"Grange Insurance",office:"insurance"},countryCodes:["us"],terms:["grange"],matchScore:2,suggestion:true},"office/insurance/Groupama":{name:"Groupama",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/groupama/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3083531",office:"insurance"},addTags:{brand:"Groupama","brand:wikidata":"Q3083531","brand:wikipedia":"fr:Groupama",name:"Groupama",office:"insurance",official_name:"Groupe des Assurances Mutuelles Agricoles"},terms:[],matchScore:2,suggestion:true},"office/insurance/Knappschaft":{name:"Knappschaft",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/KNAPPSCHAFT/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1313465",office:"insurance"},addTags:{brand:"Knappschaft","brand:wikidata":"Q1313465","brand:wikipedia":"de:Knappschaft (Krankenkasse)",name:"Knappschaft",office:"insurance"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"office/insurance/MAAF":{name:"MAAF",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/maafassurances/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3331028",office:"insurance"},addTags:{brand:"MAAF","brand:wikidata":"Q3331028","brand:wikipedia":"fr:Mutuelle d'assurance des artisans de France",name:"MAAF",office:"insurance"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"office/insurance/MMA":{name:"MMA",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/MMA.Assurances/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3331046",office:"insurance"},addTags:{brand:"MMA","brand:wikidata":"Q3331046","brand:wikipedia":"fr:MMA (assurance)",name:"MMA",office:"insurance",official_name:"Mutuelles du Mans Assurances"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"office/insurance/Macif":{name:"Macif",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/lEssentielparMacif/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3331021",office:"insurance"},addTags:{brand:"Macif","brand:wikidata":"Q3331021","brand:wikipedia":"fr:Mutuelle assurance des commerçants et industriels de France et des cadres et des salariés de l'industrie et du commerce",name:"Macif",office:"insurance"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"office/insurance/Maif":{name:"Maif",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/MAIFassureur/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3331029",office:"insurance"},addTags:{brand:"Maif","brand:wikidata":"Q3331029","brand:wikipedia":"fr:Maif",name:"Maif",office:"insurance",official_name:"Mutuelle d'assurance des instituteurs de France"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"office/insurance/Mapfre":{name:"Mapfre",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/mapfreinsurance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q544532",office:"insurance"},addTags:{brand:"Mapfre","brand:wikidata":"Q544532","brand:wikipedia":"en:Mapfre",name:"Mapfre",office:"insurance"},terms:[],matchScore:2,suggestion:true},"office/insurance/Matmut":{name:"Matmut",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/MatmutAssurances/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3299185",office:"insurance"},addTags:{brand:"Matmut","brand:wikidata":"Q3299185","brand:wikipedia":"fr:Matmut",name:"Matmut",office:"insurance"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"office/insurance/Nationwide":{name:"Nationwide",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/nationwide/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6979886",office:"insurance"},addTags:{brand:"Nationwide","brand:wikidata":"Q6979886","brand:wikipedia":"en:Nationwide Mutual Insurance Company",name:"Nationwide",office:"insurance"},countryCodes:["us"],terms:["nationwide insurance"],matchScore:2,suggestion:true},"office/insurance/PZU":{name:"PZU",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/grupapzu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1807170",office:"insurance"},addTags:{brand:"PZU","brand:wikidata":"Q1807170","brand:wikipedia":"pl:Powszechny Zakład Ubezpieczeń",name:"PZU",office:"insurance"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"office/insurance/Progressive":{name:"Progressive",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/progressive/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7248721",office:"insurance"},addTags:{brand:"Progressive","brand:wikidata":"Q7248721","brand:wikipedia":"en:Progressive Corporation",name:"Progressive",office:"insurance"},countryCodes:["us"],terms:["progressive insurance"],matchScore:2,suggestion:true},"office/insurance/State Farm":{name:"State Farm",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/statefarm/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2007336",office:"insurance"},addTags:{brand:"State Farm","brand:wikidata":"Q2007336","brand:wikipedia":"en:State Farm",name:"State Farm",office:"insurance"},countryCodes:["us"],terms:["state farm insurance"],matchScore:2,suggestion:true},"office/insurance/Swinton":{name:"Swinton",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/SwintonInsurance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7658785",office:"insurance"},addTags:{brand:"Swinton","brand:wikidata":"Q7658785",name:"Swinton",office:"insurance"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"office/insurance/Techniker Krankenkasse":{name:"Techniker Krankenkasse",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/DieTechniker/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q607531",office:"insurance"},addTags:{brand:"Techniker Krankenkasse","brand:wikidata":"Q607531","brand:wikipedia":"de:Techniker Krankenkasse",name:"Techniker Krankenkasse",office:"insurance"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"office/insurance/The Co-operators":{name:"The Co-operators",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/TheCooperatorsInsurance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3520320",office:"insurance"},addTags:{brand:"The Co-operators","brand:wikidata":"Q3520320","brand:wikipedia":"en:The Co-operators",name:"The Co-operators",office:"insurance"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"office/insurance/Росгосстрах":{name:"Росгосстрах",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/RGS.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4397745",office:"insurance"},addTags:{brand:"Росгосстрах","brand:wikidata":"Q4397745","brand:wikipedia":"en:Rosgosstrakh",name:"Росгосстрах",office:"insurance"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"office/tax_advisor/Block Advisors":{name:"Block Advisors",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/BlockAdvisors/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64166231",office:"tax_advisor"},addTags:{brand:"Block Advisors","brand:wikidata":"Q64166231",name:"Block Advisors",office:"tax_advisor"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"office/tax_advisor/H&R Block":{name:"H&R Block",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/hrblock/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5627799",office:"tax_advisor"},addTags:{brand:"H&R Block","brand:wikidata":"Q5627799","brand:wikipedia":"en:H&R Block",name:"H&R Block",office:"tax_advisor"},countryCodes:["au","ca","in","us"],terms:[],matchScore:2,suggestion:true},"office/tax_advisor/Jackson Hewitt":{name:"Jackson Hewitt",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/jacksonhewitt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6117132",office:"tax_advisor"},addTags:{brand:"Jackson Hewitt","brand:wikidata":"Q6117132","brand:wikipedia":"en:Jackson Hewitt",name:"Jackson Hewitt",office:"tax_advisor",official_name:"Jackson Hewitt Tax Service"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"office/tax_advisor/Liberty Tax":{name:"Liberty Tax",icon:"maki-suitcase",imageURL:"https://graph.facebook.com/libertytax/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6541978",office:"tax_advisor"},addTags:{alt_name:"Liberty Tax Service",brand:"Liberty Tax","brand:wikidata":"Q6541978","brand:wikipedia":"en:Liberty Tax Service",name:"Liberty Tax",office:"tax_advisor"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"office/telecommunication/Ooredoo":{name:"Ooredoo",icon:"maki-telephone",imageURL:"https://graph.facebook.com/ooredooqatar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q919935",office:"telecommunication"},addTags:{brand:"Ooredoo","brand:wikidata":"Q919935","brand:wikipedia":"en:Ooredoo",name:"Ooredoo",office:"telecommunication"},terms:[],matchScore:2,suggestion:true},"office/telecommunication/Velcom":{name:"Velcom",icon:"maki-telephone",imageURL:"https://graph.facebook.com/velcomlikes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1888809",office:"telecommunication"},addTags:{brand:"Velcom","brand:wikidata":"Q1888809","brand:wikipedia":"en:Velcom",name:"Velcom",office:"telecommunication"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"office/telecommunication/Ростелеком":{name:"Ростелеком",icon:"maki-telephone",imageURL:"https://graph.facebook.com/288785311160831/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1477012",office:"telecommunication"},addTags:{brand:"Ростелеком","brand:wikidata":"Q1477012","brand:wikipedia":"en:Rostelecom",name:"Ростелеком",office:"telecommunication"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"office/telecommunication/Укртелеком":{name:"Укртелеком",icon:"maki-telephone",imageURL:"https://graph.facebook.com/Ukrtelecom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1505321",office:"telecommunication"},addTags:{brand:"Укртелеком","brand:wikidata":"Q1505321","brand:wikipedia":"en:Ukrtelecom",name:"Укртелеком",office:"telecommunication"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/agrarian/Granngården":{name:"Granngården",icon:"fas-tractor",imageURL:"https://graph.facebook.com/granngarden/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10508136",shop:"agrarian"},addTags:{brand:"Granngården","brand:wikidata":"Q10508136","brand:wikipedia":"sv:Granngården AB",name:"Granngården",shop:"agrarian"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/agrarian/Southern States":{name:"Southern States",icon:"fas-tractor",imageURL:"https://graph.facebook.com/SouthernStatesCoop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7570508",shop:"agrarian"},addTags:{agrarian:"seed;feed;tools",brand:"Southern States","brand:wikidata":"Q7570508","brand:wikipedia":"en:Southern States Cooperative",name:"Southern States",official_name:"Southern States Cooperative",shop:"agrarian"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Alko":{name:"Alko",icon:"fas-wine-bottle",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FAlko.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1849187",shop:"alcohol"},addTags:{brand:"Alko","brand:wikidata":"Q1849187","brand:wikipedia":"en:Alko",name:"Alko",shop:"alcohol"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/BC Liquor Store":{name:"BC Liquor Store",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/1302250656/winesplash-icon_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q43079557",shop:"alcohol"},addTags:{brand:"BC Liquor Store","brand:wikidata":"Q43079557","brand:wikipedia":"en:BC Liquor Stores",name:"BC Liquor Store",shop:"alcohol"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/BWS":{name:"BWS",icon:"fas-wine-bottle",geometry:["point","area"],tags:{"brand:wikidata":"Q4836848",shop:"alcohol"},addTags:{brand:"BWS","brand:wikidata":"Q4836848","brand:wikipedia":"en:BWS (liquor retailer)",name:"BWS",shop:"alcohol"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Bargain Booze":{name:"Bargain Booze",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/998956835796205568/21tNi907_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q16971315",shop:"alcohol"},addTags:{brand:"Bargain Booze","brand:wikidata":"Q16971315","brand:wikipedia":"en:Bargain Booze",name:"Bargain Booze",shop:"alcohol"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/BevMo!":{name:"BevMo!",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/1128010188038893568/TCOuuRrD_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q4899308",shop:"alcohol"},addTags:{brand:"BevMo!","brand:wikidata":"Q4899308","brand:wikipedia":"en:BevMo!",name:"BevMo!",shop:"alcohol"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Dan Murphy's":{name:"Dan Murphy's",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/465419847128473601/ybOMjW8-_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q5214075",shop:"alcohol"},addTags:{brand:"Dan Murphy's","brand:wikidata":"Q5214075","brand:wikipedia":"en:Dan Murphy's",name:"Dan Murphy's",shop:"alcohol"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Fine Wine & Good Spirits":{name:"Fine Wine & Good Spirits",icon:"fas-wine-bottle",imageURL:"https://graph.facebook.com/PAWineSpirits/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64514776",shop:"alcohol"},addTags:{brand:"Fine Wine & Good Spirits","brand:wikidata":"Q64514776",name:"Fine Wine & Good Spirits",shop:"alcohol"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Gall & Gall":{name:"Gall & Gall",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/652468758515068928/dzFqRsLG_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q13639185",shop:"alcohol"},addTags:{brand:"Gall & Gall","brand:wikidata":"Q13639185","brand:wikipedia":"nl:Gall & Gall",name:"Gall & Gall",shop:"alcohol"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/LCBO":{name:"LCBO",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/481885343986102272/mGMV-t--_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q845263",shop:"alcohol"},addTags:{brand:"LCBO","brand:wikidata":"Q845263","brand:wikipedia":"en:Liquor Control Board of Ontario",name:"LCBO",shop:"alcohol"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Liquorland":{name:"Liquorland",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/378800000468322180/92219ed513322ff2f4d6d416dc477704_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q2283837",shop:"alcohol"},addTags:{brand:"Liquorland","brand:wikidata":"Q2283837","brand:wikipedia":"en:Liquorland",name:"Liquorland",shop:"alcohol"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Majestic":{name:"Majestic",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/1139531853759729665/3J0irT72_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q6737725",shop:"alcohol"},addTags:{brand:"Majestic","brand:wikidata":"Q6737725",name:"Majestic",shop:"alcohol"},countryCodes:["gb"],terms:["majestic wine","majestic wine warehouse"],matchScore:2,suggestion:true},"shop/alcohol/Nicolas":{name:"Nicolas",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/842779196082573314/AtkEMQlh_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q3340012",shop:"alcohol"},addTags:{brand:"Nicolas","brand:wikidata":"Q3340012","brand:wikipedia":"en:Nicolas (wine retailer)",name:"Nicolas",shop:"alcohol"},countryCodes:["be","fr","gb"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Oddbins":{name:"Oddbins",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/547781884533436416/xshXfITG_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q7077472",shop:"alcohol"},addTags:{brand:"Oddbins","brand:wikidata":"Q7077472",name:"Oddbins",shop:"alcohol"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/SAQ":{name:"SAQ",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/1064657571133308928/zhzEYvxp_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q3488077",shop:"alcohol"},addTags:{brand:"SAQ","brand:wikidata":"Q3488077","brand:wikipedia":"en:Société des alcools du Québec",name:"SAQ",shop:"alcohol"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/SAQ Express":{name:"SAQ Express",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/1064657571133308928/zhzEYvxp_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q3488077",shop:"alcohol"},addTags:{brand:"SAQ Express","brand:wikidata":"Q3488077","brand:wikipedia":"en:Société des alcools du Québec",name:"SAQ Express",shop:"alcohol"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/SAQ Sélection":{name:"SAQ Sélection",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/1064657571133308928/zhzEYvxp_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q3488077",shop:"alcohol"},addTags:{brand:"SAQ Sélection","brand:wikidata":"Q3488077","brand:wikipedia":"en:Société des alcools du Québec",name:"SAQ Sélection",shop:"alcohol"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Spec's":{name:"Spec's",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/1147150560644272129/jeg6tzSF_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q7574415",shop:"alcohol"},addTags:{brand:"Spec's","brand:wikidata":"Q7574415","brand:wikipedia":"en:Spec's Wine, Spirits & Finer Foods",name:"Spec's",shop:"alcohol"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Systembolaget":{name:"Systembolaget",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/456046476032872449/mg3NXDpc_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q1476113",shop:"alcohol"},addTags:{brand:"Systembolaget","brand:wikidata":"Q1476113","brand:wikipedia":"en:Systembolaget",name:"Systembolaget",shop:"alcohol"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/The Beer Store":{name:"The Beer Store",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/1112700310441676800/Gyk3rZl6_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q16243674",shop:"alcohol"},addTags:{brand:"The Beer Store","brand:wikidata":"Q16243674","brand:wikipedia":"en:The Beer Store",name:"The Beer Store",shop:"alcohol"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Total Wine":{name:"Total Wine",icon:"fas-wine-bottle",imageURL:"https://pbs.twimg.com/profile_images/3095579292/69f5115c869a3b0f73bfb7ad25ba2a37_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q7828084",shop:"alcohol"},addTags:{brand:"Total Wine","brand:wikidata":"Q7828084","brand:wikipedia":"en:Total Wine & More",name:"Total Wine",official_name:"Total Wine & More",shop:"alcohol"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Virginia ABC":{name:"Virginia ABC",icon:"fas-wine-bottle",imageURL:"https://graph.facebook.com/VirginiaABC/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7934236",shop:"alcohol"},addTags:{brand:"Virginia ABC","brand:wikidata":"Q7934236","brand:wikipedia":"en:Virginia Alcoholic Beverage Control Authority",name:"Virginia ABC",shop:"alcohol"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Бристоль":{name:"Бристоль",icon:"fas-wine-bottle",imageURL:"https://graph.facebook.com/bristolretail/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q59155583",shop:"alcohol"},addTags:{brand:"Бристоль","brand:wikidata":"Q59155583","brand:wikipedia":"ru:Бристоль (сеть магазинов)",name:"Бристоль",shop:"alcohol"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/alcohol/Красное & Белое":{name:"Красное & Белое",icon:"fas-wine-bottle",imageURL:"https://graph.facebook.com/krasnoe.beloe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q24933790",shop:"alcohol"},addTags:{brand:"Красное & Белое","brand:en":"Red&White","brand:wikidata":"Q24933790","brand:wikipedia":"en:Krasnoe & Beloe",name:"Красное & Белое","name:en":"Red&White",shop:"alcohol"},countryCodes:["ru"],terms:["красное и белое"],matchScore:2,suggestion:true},"shop/alcohol/カクヤス":{name:"カクヤス",icon:"fas-wine-bottle",geometry:["point","area"],tags:{"brand:wikidata":"Q11293990",shop:"alcohol"},addTags:{brand:"カクヤス","brand:en":"Kakuyasu","brand:ja":"カクヤス","brand:wikidata":"Q11293990","brand:wikipedia":"ja:カクヤス",name:"カクヤス","name:en":"Kakuyasu","name:ja":"カクヤス",shop:"alcohol"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/art/YellowKorner":{name:"YellowKorner",icon:"maki-shop",imageURL:"https://graph.facebook.com/YellowKorner/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3572115",shop:"art"},addTags:{brand:"YellowKorner","brand:wikidata":"Q3572115","brand:wikipedia":"fr:YellowKorner",name:"YellowKorner",shop:"art"},terms:[],matchScore:2,suggestion:true},"shop/baby_goods/Aubert":{name:"Aubert",icon:"fas-baby-carriage",imageURL:"https://graph.facebook.com/Aubert/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62964657",shop:"baby_goods"},addTags:{brand:"Aubert","brand:wikidata":"Q62964657",name:"Aubert",shop:"baby_goods"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/baby_goods/Babies R Us":{name:"Babies R Us",icon:"fas-baby-carriage",imageURL:"https://graph.facebook.com/babiesrus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17232036",shop:"baby_goods"},addTags:{brand:"Babies R Us","brand:wikidata":"Q17232036",name:"Babies R Us",shop:"baby_goods"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/baby_goods/BabyOne":{name:"BabyOne",icon:"fas-baby-carriage",imageURL:"https://graph.facebook.com/BabyOne/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57540408",shop:"baby_goods"},addTags:{brand:"BabyOne","brand:wikidata":"Q57540408",name:"BabyOne",shop:"baby_goods"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/baby_goods/Buy Buy Baby":{name:"Buy Buy Baby",icon:"fas-baby-carriage",imageURL:"https://graph.facebook.com/buybuyBABY/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5003352",shop:"baby_goods"},addTags:{brand:"Buy Buy Baby","brand:wikidata":"Q5003352","brand:wikipedia":"en:Buy Buy Baby",name:"Buy Buy Baby",shop:"baby_goods"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/baby_goods/Mothercare":{name:"Mothercare",icon:"fas-baby-carriage",imageURL:"https://graph.facebook.com/mothercareuk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q136738",shop:"baby_goods"},addTags:{brand:"Mothercare","brand:wikidata":"Q136738","brand:wikipedia":"en:Mothercare",name:"Mothercare",shop:"baby_goods"},terms:[],matchScore:2,suggestion:true},"shop/baby_goods/西松屋":{name:"西松屋",icon:"fas-baby-carriage",imageURL:"https://graph.facebook.com/nishimatsuya.official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11628761",shop:"baby_goods"},addTags:{brand:"西松屋","brand:en":"Nishimatsuya Chain","brand:ja":"西松屋","brand:wikidata":"Q11628761","brand:wikipedia":"ja:西松屋",name:"西松屋","name:en":"Nishimatsuya Chain","name:ja":"西松屋",shop:"baby_goods"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/bag/Carpisa":{name:"Carpisa",icon:"fas-suitcase-rolling",imageURL:"https://graph.facebook.com/CarpisaOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28035409",shop:"bag"},addTags:{brand:"Carpisa","brand:wikidata":"Q28035409","brand:wikipedia":"en:Carpisa",name:"Carpisa",shop:"bag"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/bag/Coach":{name:"Coach",icon:"fas-suitcase-rolling",imageURL:"https://graph.facebook.com/coach/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q727697",shop:"bag"},addTags:{brand:"Coach","brand:wikidata":"Q727697","brand:wikipedia":"en:Coach New York",name:"Coach",shop:"bag"},countryCodes:["ca","us"],terms:["coach new york","coach ny"],matchScore:2,suggestion:true},"shop/bag/Kipling":{name:"Kipling",icon:"fas-suitcase-rolling",imageURL:"https://graph.facebook.com/KiplingU.S.A/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6414641",shop:"bag"},addTags:{brand:"Kipling","brand:wikidata":"Q6414641","brand:wikipedia":"en:Kipling (brand)",name:"Kipling",shop:"bag"},countryCodes:["be","gb"],terms:[],matchScore:2,suggestion:true},"shop/bag/Samsonite":{name:"Samsonite",icon:"fas-suitcase-rolling",imageURL:"https://pbs.twimg.com/profile_images/1117861430366175232/3u8m-kIE_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q1203426",shop:"bag"},addTags:{brand:"Samsonite","brand:wikidata":"Q1203426","brand:wikipedia":"en:Samsonite",name:"Samsonite",shop:"bag"},terms:[],matchScore:2,suggestion:true},"shop/bag/Tumi":{name:"Tumi",icon:"fas-suitcase-rolling",imageURL:"https://graph.facebook.com/TumiTravel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4465402",shop:"bag"},addTags:{brand:"Tumi","brand:wikidata":"Q4465402","brand:wikipedia":"en:Tumi Inc.",name:"Tumi",shop:"bag"},terms:[],matchScore:2,suggestion:true},"shop/bag/Vera Bradley":{name:"Vera Bradley",icon:"fas-suitcase-rolling",imageURL:"https://graph.facebook.com/VeraBradley/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7920749",shop:"bag"},addTags:{brand:"Vera Bradley","brand:wikidata":"Q7920749","brand:wikipedia":"en:Vera Bradley",name:"Vera Bradley",shop:"bag"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Anker":{name:"Anker",icon:"maki-bakery",imageURL:"https://graph.facebook.com/Ankerbrot/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q557116",shop:"bakery"},addTags:{brand:"Anker","brand:wikidata":"Q557116","brand:wikipedia":"de:Ankerbrot",name:"Anker",shop:"bakery"},countryCodes:["at","sk"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Awiteks":{name:"Awiteks",icon:"maki-bakery",imageURL:"https://graph.facebook.com/awiteks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62054190",shop:"bakery"},addTags:{brand:"Awiteks","brand:wikidata":"Q62054190",name:"Awiteks",shop:"bakery"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Backwerk":{name:"Backwerk",icon:"maki-bakery",imageURL:"https://graph.facebook.com/155997891116938/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q798298",shop:"bakery"},addTags:{brand:"BackWerk","brand:wikidata":"Q798298","brand:wikipedia":"de:BackWerk",name:"Backwerk",shop:"bakery"},countryCodes:["at","ch","de","gb","nl"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Bakers Delight":{name:"Bakers Delight",icon:"maki-bakery",imageURL:"https://graph.facebook.com/bakersdelight/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4849261",shop:"bakery"},addTags:{brand:"Bakers Delight","brand:wikidata":"Q4849261","brand:wikipedia":"en:Bakers Delight",name:"Bakers Delight",shop:"bakery"},countryCodes:["au","ca","nz","us"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Bakker Bart":{name:"Bakker Bart",icon:"maki-bakery",imageURL:"https://graph.facebook.com/bakkerbartNL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2177445",shop:"bakery"},addTags:{brand:"Bakker Bart","brand:wikidata":"Q2177445","brand:wikipedia":"nl:Bakker Bart",name:"Bakker Bart",shop:"bakery"},countryCodes:["be","nl"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Banette":{name:"Banette",icon:"maki-bakery",imageURL:"https://graph.facebook.com/293934294060419/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2882405",shop:"bakery"},addTags:{brand:"Banette","brand:wikidata":"Q2882405","brand:wikipedia":"fr:Banette (entreprise)",name:"Banette",shop:"bakery"},terms:[],matchScore:2,suggestion:true},"shop/bakery/Birds":{name:"Birds",icon:"maki-bakery",imageURL:"https://graph.facebook.com/birdsbakeryderby/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63001935",shop:"bakery"},addTags:{brand:"Birds","brand:wikidata":"Q63001935","brand:wikipedia":"en:Birds Bakery",name:"Birds",official_name:"Birds Bakery",shop:"bakery"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Breadtop":{name:"Breadtop",icon:"maki-bakery",imageURL:"https://graph.facebook.com/we.love.breadtop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4959217",shop:"bakery"},addTags:{brand:"Breadtop","brand:wikidata":"Q4959217","brand:wikipedia":"en:Breadtop",cuisine:"chinese",name:"Breadtop",shop:"bakery"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Bäckerei Fuchs":{name:"Bäckerei Fuchs",icon:"maki-bakery",imageURL:"https://graph.facebook.com/baeckereifuchs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q42825993",shop:"bakery"},addTags:{brand:"Bäckerei Fuchs","brand:wikidata":"Q42825993","brand:wikipedia":"de:Harald Fuchs Bäckerei – Konditorei",name:"Bäckerei Fuchs",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/COBS Bread":{name:"COBS Bread",icon:"maki-bakery",imageURL:"https://graph.facebook.com/bakersdelight/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4849261",shop:"bakery"},addTags:{brand:"COBS Bread","brand:wikidata":"Q4849261","brand:wikipedia":"en:Bakers Delight",name:"COBS Bread",shop:"bakery"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Cadera":{name:"Cadera",icon:"maki-bakery",imageURL:"https://graph.facebook.com/Cadera1853/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62086410",shop:"bakery"},addTags:{brand:"Cadera","brand:wikidata":"Q62086410",name:"Cadera",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Cooplands":{name:"Cooplands",icon:"maki-bakery",imageURL:"https://graph.facebook.com/Cooplands/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5167971",shop:"bakery"},addTags:{brand:"Cooplands","brand:wikidata":"Q5167971","brand:wikipedia":"en:Cooplands",name:"Cooplands",shop:"bakery"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Dat Backhus":{name:"Dat Backhus",icon:"maki-bakery",imageURL:"https://graph.facebook.com/datbackhus.hamburg/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62093175",shop:"bakery"},addTags:{brand:"Dat Backhus","brand:wikidata":"Q62093175",name:"Dat Backhus",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Der Beck":{name:"Der Beck",icon:"maki-bakery",imageURL:"https://graph.facebook.com/derbeck.baeckerei/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1192443",shop:"bakery"},addTags:{brand:"Der Beck","brand:wikidata":"Q1192443","brand:wikipedia":"en:Der Beck",name:"Der Beck",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Ditsch":{name:"Ditsch",icon:"maki-bakery",imageURL:"https://graph.facebook.com/ditsch/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q911573",shop:"bakery"},addTags:{brand:"Ditsch","brand:wikidata":"Q911573","brand:wikipedia":"en:Ditsch",name:"Ditsch",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Fornetti":{name:"Fornetti",icon:"maki-bakery",imageURL:"https://graph.facebook.com/fornetti.magyarorszag/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1003020",shop:"bakery"},addTags:{brand:"Fornetti","brand:wikidata":"Q1003020","brand:wikipedia":"en:Fornetti",name:"Fornetti",shop:"bakery"},terms:[],matchScore:2,suggestion:true},"shop/bakery/Goldilocks":{name:"Goldilocks",icon:"maki-bakery",imageURL:"https://graph.facebook.com/GoldilocksPH/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5580198",shop:"bakery"},addTags:{brand:"Goldilocks","brand:wikidata":"Q5580198","brand:wikipedia":"en:Goldilocks Bakeshop",name:"Goldilocks",shop:"bakery"},countryCodes:["ca","ph","th","us"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Greggs":{name:"Greggs",icon:"maki-bakery",imageURL:"https://graph.facebook.com/greggsofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3403981",shop:"bakery"},addTags:{brand:"Greggs","brand:wikidata":"Q3403981","brand:wikipedia":"en:Greggs",name:"Greggs",shop:"bakery"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Hofpfisterei":{name:"Hofpfisterei",icon:"maki-bakery",imageURL:"https://graph.facebook.com/hofpfisterei/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1623217",shop:"bakery"},addTags:{brand:"Hofpfisterei","brand:wikidata":"Q1623217","brand:wikipedia":"en:Hofpfisterei",name:"Hofpfisterei",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Ihle":{name:"Ihle",icon:"maki-bakery",imageURL:"https://graph.facebook.com/1845011368873218/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1626371",shop:"bakery"},addTags:{brand:"Ihle","brand:wikidata":"Q1626371","brand:wikipedia":"de:Landbäckerei Ihle",name:"Ihle",shop:"bakery"},countryCodes:["de"],terms:["landbäckerei ihle"],matchScore:2,suggestion:true},"shop/bakery/K&U Bäckerei":{name:"K&U Bäckerei",icon:"maki-bakery",imageURL:"https://graph.facebook.com/KU.Backkultur/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1719433",shop:"bakery"},addTags:{brand:"K&U Bäckerei","brand:wikidata":"Q1719433","brand:wikipedia":"de:K & U Bäckerei",name:"K&U Bäckerei",shop:"bakery"},countryCodes:["de"],terms:["k&u"],matchScore:2,suggestion:true},"shop/bakery/Kamps":{name:"Kamps",icon:"maki-bakery",imageURL:"https://graph.facebook.com/417008548362119/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1723381",shop:"bakery"},addTags:{brand:"Kamps","brand:wikidata":"Q1723381","brand:wikipedia":"de:Kamps (Unternehmen)",name:"Kamps",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/La Mie Câline":{name:"La Mie Câline",icon:"maki-bakery",imageURL:"https://graph.facebook.com/lamiecalinefrance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3210704",shop:"bakery"},addTags:{brand:"La Mie Câline","brand:wikidata":"Q3210704","brand:wikipedia":"fr:La Mie câline",name:"La Mie Câline",shop:"bakery"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Le Crobag":{name:"Le Crobag",icon:"maki-bakery",imageURL:"https://graph.facebook.com/lecrobag/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1558025",shop:"bakery"},addTags:{brand:"Le Crobag","brand:wikidata":"Q1558025","brand:wikipedia":"de:Le Crobag",name:"Le Crobag",shop:"bakery"},countryCodes:["at","de","pl","ru"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Lila Bäcker":{name:"Lila Bäcker",icon:"maki-bakery",imageURL:"https://pbs.twimg.com/profile_images/1145260042/logo_up_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q57516591",shop:"bakery"},addTags:{brand:"Lila Bäcker","brand:wikidata":"Q57516591",name:"Lila Bäcker",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Löwenbäcker Schaper":{name:"Löwenbäcker Schaper",icon:"maki-bakery",imageURL:"https://graph.facebook.com/LoewenbaeckerSchaper/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62075965",shop:"bakery"},addTags:{brand:"Löwenbäcker Schaper","brand:wikidata":"Q62075965",name:"Löwenbäcker Schaper",shop:"bakery"},countryCodes:["de"],terms:["schaper"],matchScore:2,suggestion:true},"shop/bakery/Marie Blachère":{name:"Marie Blachère",icon:"maki-bakery",imageURL:"https://graph.facebook.com/marieblachereusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62082410",shop:"bakery"},addTags:{brand:"Marie Blachère","brand:wikidata":"Q62082410",name:"Marie Blachère",shop:"bakery"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Mlinar":{name:"Mlinar",icon:"maki-bakery",imageURL:"https://graph.facebook.com/MlinarHrvatska/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62082464",shop:"bakery"},addTags:{brand:"Mlinar","brand:wikidata":"Q62082464",name:"Mlinar",shop:"bakery"},countryCodes:["ba","hr","sl"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Musmanni":{name:"Musmanni",icon:"maki-bakery",geometry:["point","area"],tags:{"brand:wikidata":"Q19382082",shop:"bakery"},addTags:{brand:"Musmanni","brand:wikidata":"Q19382082","brand:wikipedia":"no:Musmanni",name:"Musmanni",shop:"bakery"},countryCodes:["cr"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Nothing Bundt Cakes":{name:"Nothing Bundt Cakes",icon:"maki-bakery",imageURL:"https://graph.facebook.com/nothingbundtcakes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62082526",shop:"bakery"},addTags:{brand:"Nothing Bundt Cakes","brand:wikidata":"Q62082526",name:"Nothing Bundt Cakes",shop:"bakery"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Paris Baguette (worldwide)":{name:"Paris Baguette (worldwide)",icon:"maki-bakery",imageURL:"https://graph.facebook.com/parisbaguetteus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62605260",shop:"bakery"},addTags:{brand:"Paris Baguette","brand:wikidata":"Q62605260",name:"Paris Baguette",shop:"bakery"},countryCodes:["sg","us","vn"],terms:["paris baguette cafe"],matchScore:2,suggestion:true},"shop/bakery/Paul":{name:"Paul",icon:"maki-bakery",imageURL:"https://pbs.twimg.com/profile_images/1104154254699364353/69J1OrZ1_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q3370417",shop:"bakery"},addTags:{brand:"Paul","brand:wikidata":"Q3370417","brand:wikipedia":"en:Paul (bakery)",name:"Paul",shop:"bakery"},terms:[],matchScore:2,suggestion:true},"shop/bakery/Red Ribbon":{name:"Red Ribbon",icon:"maki-bakery",imageURL:"https://graph.facebook.com/redribbonbakeshop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7304789",shop:"bakery"},addTags:{brand:"Red Ribbon","brand:wikidata":"Q7304789","brand:wikipedia":"en:Red Ribbon Bakeshop",name:"Red Ribbon",shop:"bakery"},countryCodes:["ph","us"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Ronde des Pains":{name:"Ronde des Pains",icon:"maki-bakery",geometry:["point","area"],tags:{"brand:wikidata":"Q3441707",shop:"bakery"},addTags:{brand:"Ronde des Pains","brand:wikidata":"Q3441707","brand:wikipedia":"fr:Ronde des Pains",name:"Ronde des Pains",shop:"bakery"},countryCodes:["be","fr"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Schäfer's":{name:"Schäfer's",icon:"maki-bakery",imageURL:"https://graph.facebook.com/149823855088841/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1464562",shop:"bakery"},addTags:{brand:"Schäfer's","brand:wikidata":"Q1464562","brand:wikipedia":"de:Schäfers Brot",name:"Schäfer's",shop:"bakery"},countryCodes:["de"],terms:["schäfer"],matchScore:2,suggestion:true},"shop/bakery/Sehne":{name:"Sehne",icon:"maki-bakery",imageURL:"https://graph.facebook.com/150057125031868/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1314761",shop:"bakery"},addTags:{brand:"Sehne","brand:wikidata":"Q1314761","brand:wikipedia":"de:Sehne Backwaren",name:"Sehne",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Steinecke":{name:"Steinecke",icon:"maki-bakery",imageURL:"https://graph.facebook.com/brotmeisterei.steinecke/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57516278",shop:"bakery"},addTags:{brand:"Steinecke","brand:wikidata":"Q57516278","brand:wikipedia":"de:Meisterbäckerei Steinecke",name:"Steinecke",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Sternenbäck":{name:"Sternenbäck",icon:"maki-bakery",imageURL:"https://graph.facebook.com/sternenbaeck/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62595021",shop:"bakery"},addTags:{brand:"Sternenbäck","brand:wikidata":"Q62595021",name:"Sternenbäck",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Ströck":{name:"Ströck",icon:"maki-bakery",imageURL:"https://graph.facebook.com/Stroeck/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2357607",shop:"bakery"},addTags:{brand:"Ströck","brand:wikidata":"Q2357607","brand:wikipedia":"de:Ströck-Brot",name:"Ströck",shop:"bakery"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"shop/bakery/Wiener Feinbäcker":{name:"Wiener Feinbäcker",icon:"maki-bakery",imageURL:"https://graph.facebook.com/248217405252147/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15854357",shop:"bakery"},addTags:{brand:"Wiener Feinbäcker","brand:wikidata":"Q15854357","brand:wikipedia":"de:Wiener Feinbäckerei Heberer",name:"Wiener Feinbäcker",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/von Allwörden":{name:"von Allwörden",icon:"maki-bakery",imageURL:"https://graph.facebook.com/allwoerden/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60411349",shop:"bakery"},addTags:{brand:"von Allwörden","brand:wikidata":"Q60411349","brand:wikipedia":"nds:Heinrich von Allwörden GmbH",name:"von Allwörden",shop:"bakery"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/bakery/サンジェルマン":{name:"サンジェルマン",icon:"maki-bakery",geometry:["point","area"],tags:{"brand:wikidata":"Q11305612",shop:"bakery"},addTags:{brand:"サンジェルマン","brand:en":"Saint-Germain","brand:ja":"サンジェルマン","brand:wikidata":"Q11305612","brand:wikipedia":"ja:サンジェルマン (製パン)",name:"サンジェルマン","name:en":"Saint-Germain","name:ja":"サンジェルマン",shop:"bakery"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/bakery/ヴィ・ド・フランス":{name:"ヴィ・ド・フランス",icon:"maki-bakery",geometry:["point","area"],tags:{"brand:wikidata":"Q7928249",shop:"bakery"},addTags:{brand:"ヴィ・ド・フランス","brand:en":"Vie de France","brand:ja":"ヴィ・ド・フランス","brand:wikidata":"Q7928249","brand:wikipedia":"ja:ヴィ・ド・フランス",name:"ヴィ・ド・フランス","name:en":"Vie de France","name:ja":"ヴィ・ド・フランス",shop:"bakery"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/bakery/巴黎贝甜 (China)":{name:"巴黎贝甜 (China)",icon:"maki-bakery",imageURL:"https://graph.facebook.com/parisbaguetteus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62605260",shop:"bakery"},addTags:{brand:"巴黎贝甜","brand:en":"Paris Baguette","brand:wikidata":"Q62605260","brand:zh":"巴黎贝甜",name:"巴黎贝甜","name:en":"Paris Baguette","name:zh":"巴黎贝甜",shop:"bakery"},countryCodes:["cn"],terms:["paris baguette","paris baguette cafe","巴黎貝甜"],matchScore:2,suggestion:true},"shop/bakery/뚜레쥬르":{name:"뚜레쥬르",icon:"maki-bakery",imageURL:"https://graph.facebook.com/TousLesJoursUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3535609",shop:"bakery"},addTags:{brand:"뚜레쥬르","brand:en":"Tous Les Jours","brand:ko":"뚜레쥬르","brand:wikidata":"Q3535609","brand:wikipedia":"ko:뚜레쥬르",name:"뚜레쥬르","name:en":"Tous Les Jours","name:ko":"뚜레쥬르",shop:"bakery"},countryCodes:["kr"],terms:["뚜레주르"],matchScore:2,suggestion:true},"shop/bakery/파리바게뜨 (South Korea)":{name:"파리바게뜨 (South Korea)",icon:"maki-bakery",imageURL:"https://graph.facebook.com/parisbaguetteus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62605260",shop:"bakery"},addTags:{"alt_name:ko":"파리바게트",brand:"파리바게뜨","brand:en":"Paris Baguette","brand:ko":"파리바게뜨","brand:wikidata":"Q62605260",name:"파리바게뜨","name:en":"Paris Baguette","name:ko":"파리바게뜨",shop:"bakery"},countryCodes:["kr"],terms:["paris baguette","paris baguette cafe","파리바게트"],matchScore:2,suggestion:true},"shop/beauty/Benefit Brow Bar":{name:"Benefit Brow Bar",icon:"maki-shop",imageURL:"https://graph.facebook.com/benefitcosmetics/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2895769",shop:"beauty"},addTags:{beauty:"eyebrow;eyelash;waxing",brand:"Benefit","brand:wikidata":"Q2895769","brand:wikipedia":"en:Benefit Cosmetics",name:"Benefit Brow Bar",shop:"beauty"},countryCodes:["us"],terms:["benefit","ulta brow bar"],matchScore:2,suggestion:true},"shop/beauty/European Wax Center":{name:"European Wax Center",icon:"maki-shop",imageURL:"https://graph.facebook.com/EuropeanWax/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5413426",shop:"beauty"},addTags:{beauty:"waxing",brand:"European Wax Center","brand:wikidata":"Q5413426","brand:wikipedia":"en:European Wax Center",name:"European Wax Center",shop:"beauty"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/beauty/Indigo Sun":{name:"Indigo Sun",icon:"maki-shop",imageURL:"https://graph.facebook.com/indigosunretail/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63436906",shop:"beauty"},addTags:{beauty:"tanning",brand:"Indigo Sun","brand:wikidata":"Q63436906",name:"Indigo Sun",shop:"beauty"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/beauty/Sola Salons":{name:"Sola Salons",icon:"maki-shop",imageURL:"https://graph.facebook.com/solasalons/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64337426",shop:"beauty"},addTags:{beauty:"hair;nails;skin_care;massage",brand:"Sola Salons","brand:wikidata":"Q64337426",name:"Sola Salons",shop:"beauty"},countryCodes:["us"],terms:["sola","sola salon studios"],matchScore:2,suggestion:true},"shop/beauty/The Skin Bar at Ulta Beauty":{name:"The Skin Bar at Ulta Beauty",icon:"maki-shop",imageURL:"https://graph.facebook.com/UltaBeauty/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7880076",shop:"beauty"},addTags:{alt_name:"Ulta Skin Bar",beauty:"skin_care",brand:"Ulta Beauty","brand:wikidata":"Q7880076","brand:wikipedia":"en:Ulta Beauty",name:"The Skin Bar at Ulta Beauty",shop:"beauty"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/beauty/Yves Rocher":{name:"Yves Rocher",icon:"maki-shop",imageURL:"https://graph.facebook.com/YvesRocherUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28496595",shop:"beauty"},addTags:{beauty:"cosmetics",brand:"Yves Rocher","brand:wikidata":"Q28496595","brand:wikipedia":"en:Yves Rocher (company)",name:"Yves Rocher",shop:"beauty"},terms:[],matchScore:2,suggestion:true},"shop/bed/Casper":{name:"Casper",icon:"maki-lodging",imageURL:"https://graph.facebook.com/224110981099062/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q20539294",shop:"bed"},addTags:{brand:"Casper","brand:wikidata":"Q20539294","brand:wikipedia":"en:Casper Sleep",name:"Casper",shop:"bed"},terms:[],matchScore:2,suggestion:true},"shop/bed/Dreams":{name:"Dreams",icon:"maki-lodging",imageURL:"https://graph.facebook.com/dreamsbeds/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5306688",shop:"bed"},addTags:{brand:"Dreams","brand:wikidata":"Q5306688","brand:wikipedia":"en:Dreams (bed retailer)",name:"Dreams",shop:"bed"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/bed/Matratzen Concord":{name:"Matratzen Concord",icon:"maki-lodging",imageURL:"https://graph.facebook.com/MatratzenConcord/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18629057",shop:"bed"},addTags:{brand:"Matratzen Concord","brand:wikidata":"Q18629057","brand:wikipedia":"de:Matratzen Concord",name:"Matratzen Concord",shop:"bed"},countryCodes:["at","ch","de"],terms:[],matchScore:2,suggestion:true},"shop/bed/Mattress Firm":{name:"Mattress Firm",icon:"maki-lodging",imageURL:"https://graph.facebook.com/MattressFirm/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6791878",shop:"bed"},addTags:{brand:"Mattress Firm","brand:wikidata":"Q6791878","brand:wikipedia":"en:Mattress Firm",name:"Mattress Firm",shop:"bed"},countryCodes:["us"],terms:["sleepys"],matchScore:2,suggestion:true},"shop/bed/Mattress Warehouse":{name:"Mattress Warehouse",icon:"maki-lodging",imageURL:"https://graph.facebook.com/mattresswhse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61995079",shop:"bed"},addTags:{brand:"Mattress Warehouse","brand:wikidata":"Q61995079",name:"Mattress Warehouse",shop:"bed"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/bed/Sleep Country":{name:"Sleep Country",icon:"maki-lodging",imageURL:"https://graph.facebook.com/SleepCountryCanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7539684",shop:"bed"},addTags:{brand:"Sleep Country","brand:wikidata":"Q7539684","brand:wikipedia":"en:Sleep Country Canada",name:"Sleep Country",shop:"bed"},countryCodes:["ca"],terms:["Sleep Country Canada"],matchScore:2,suggestion:true},"shop/bed/Sleep Number":{name:"Sleep Number",icon:"maki-lodging",imageURL:"https://graph.facebook.com/SleepNumber/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7447640",shop:"bed"},addTags:{brand:"Sleep Number","brand:wikidata":"Q7447640","brand:wikipedia":"en:Sleep Number",name:"Sleep Number",shop:"bed"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/beverages/Dursty":{name:"Dursty",icon:"maki-shop",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FDursty%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1267518",shop:"beverages"},addTags:{brand:"Dursty","brand:wikidata":"Q1267518","brand:wikipedia":"de:Dursty Getränkemärkte",name:"Dursty",shop:"beverages"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/beverages/Edeka Getränkemarkt":{name:"Edeka Getränkemarkt",icon:"maki-shop",geometry:["point","area"],tags:{"brand:wikidata":"Q57450576",shop:"beverages"},addTags:{brand:"Edeka Getränkemarkt","brand:wikidata":"Q57450576",name:"Edeka Getränkemarkt",shop:"beverages"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/beverages/Fristo":{name:"Fristo",icon:"maki-shop",geometry:["point","area"],tags:{"brand:wikidata":"Q1465151",shop:"beverages"},addTags:{brand:"Fristo","brand:wikidata":"Q1465151","brand:wikipedia":"de:Fristo",name:"Fristo",shop:"beverages"},countryCodes:["at","de"],terms:["fristo getränkemarkt"],matchScore:2,suggestion:true},"shop/beverages/Getränke Hoffmann":{name:"Getränke Hoffmann",icon:"maki-shop",imageURL:"https://graph.facebook.com/getraenkehoffmann/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19284021",shop:"beverages"},addTags:{brand:"Getränke Hoffmann","brand:wikidata":"Q19284021","brand:wikipedia":"de:Getränke Hoffmann",name:"Getränke Hoffmann",shop:"beverages"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/beverages/Getränkeland":{name:"Getränkeland",icon:"maki-shop",imageURL:"https://graph.facebook.com/Getraenkeland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62594849",shop:"beverages"},addTags:{brand:"Getränkeland","brand:wikidata":"Q62594849",name:"Getränkeland",shop:"beverages"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/beverages/Hol'ab":{name:"Hol'ab",icon:"maki-shop",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%20hol%20ab.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q57557270",shop:"beverages"},addTags:{brand:"Hol'ab","brand:wikidata":"Q57557270",name:"Hol'ab",shop:"beverages"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/beverages/Orterer Getränkemarkt":{name:"Orterer Getränkemarkt",icon:"maki-shop",geometry:["point","area"],tags:{"brand:wikidata":"Q23787118",shop:"beverages"},addTags:{brand:"Orterer Getränkemarkt","brand:wikidata":"Q23787118","brand:wikipedia":"de:Orterer Gruppe",name:"Orterer Getränkemarkt",shop:"beverages"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/beverages/Rewe Getränkemarkt":{name:"Rewe Getränkemarkt",icon:"maki-shop",geometry:["point","area"],tags:{"brand:wikidata":"Q57519344",shop:"beverages"},addTags:{brand:"Rewe Getränkemarkt","brand:wikidata":"Q57519344",name:"Rewe Getränkemarkt",shop:"beverages"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/beverages/Trinkgut":{name:"Trinkgut",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/339373337/twitter_icon_trinkgut_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q2453627",shop:"beverages"},addTags:{brand:"Trinkgut","brand:wikidata":"Q2453627","brand:wikipedia":"de:Trinkgut",name:"Trinkgut",shop:"beverages"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/beverages/清心福全":{name:"清心福全",icon:"maki-shop",imageURL:"https://graph.facebook.com/chingshin1987/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10391229",shop:"beverages"},addTags:{brand:"清心福全","brand:en":"Ching Shin","brand:wikidata":"Q10391229","brand:wikipedia":"zh:清心福全冷飲站","brand:zh":"清心福全",name:"清心福全","name:en":"Ching Shin","name:zh":"清心福全",shop:"beverages"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"shop/bicycle/Evans Cycles":{name:"Evans Cycles",icon:"maki-bicycle",imageURL:"https://graph.facebook.com/evanscycles/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5415901",shop:"bicycle"},addTags:{brand:"Evans Cycles","brand:wikidata":"Q5415901","brand:wikipedia":"en:Evans Cycles",name:"Evans Cycles",shop:"bicycle"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/bicycle/Fri BikeShop":{name:"Fri BikeShop",icon:"maki-bicycle",imageURL:"https://graph.facebook.com/Cykelbutikken/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q26721030",shop:"bicycle"},addTags:{brand:"Fri BikeShop","brand:wikidata":"Q26721030",name:"Fri BikeShop",shop:"bicycle"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"shop/bicycle/Giant":{name:"Giant",icon:"maki-bicycle",imageURL:"https://graph.facebook.com/giantbicycles/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q703557",shop:"bicycle"},addTags:{brand:"Giant","brand:wikidata":"Q703557","brand:wikipedia":"en:Giant Bicycles",name:"Giant",shop:"bicycle"},terms:[],matchScore:2,suggestion:true},"shop/bicycle/Trek":{name:"Trek",icon:"maki-bicycle",imageURL:"https://graph.facebook.com/TrekBicycle/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1067617",shop:"bicycle"},addTags:{alt_name:"Trek Bicycle Store",brand:"Trek","brand:wikidata":"Q1067617","brand:wikipedia":"en:Trek Bicycle Corporation",name:"Trek",shop:"bicycle"},terms:["treck","trek bicycle"],matchScore:2,suggestion:true},"shop/bicycle/サイクルベースあさひ":{name:"サイクルベースあさひ",icon:"maki-bicycle",imageURL:"https://graph.facebook.com/cbasahi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11257202",shop:"bicycle"},addTags:{brand:"サイクルベースあさひ","brand:en":"Cycle Base Asahi","brand:ja":"サイクルベースあさひ","brand:wikidata":"Q11257202","brand:wikipedia":"ja:あさひ (企業)",name:"サイクルベースあさひ","name:en":"Cycle Base Asahi","name:ja":"サイクルベースあさひ",shop:"bicycle"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/bookmaker/Betfred":{name:"Betfred",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/1034363254758359041/dxetDfNN_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q4897425",shop:"bookmaker"},addTags:{brand:"Betfred","brand:wikidata":"Q4897425","brand:wikipedia":"en:Betfred",name:"Betfred",shop:"bookmaker"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/bookmaker/Coral":{name:"Coral",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/1000461740772134913/T9-zMXmF_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q54621344",shop:"bookmaker"},addTags:{brand:"Coral","brand:wikidata":"Q54621344","brand:wikipedia":"en:Coral (bookmaker)",name:"Coral",shop:"bookmaker"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/bookmaker/Fortuna":{name:"Fortuna",icon:"maki-shop",imageURL:"https://graph.facebook.com/703606549739592/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25857973",shop:"bookmaker"},addTags:{brand:"Fortuna","brand:wikidata":"Q25857973","brand:wikipedia":"en:Fortuna Entertainment Group",name:"Fortuna",shop:"bookmaker"},countryCodes:["cz","hr","pl","ro","sk"],terms:[],matchScore:2,suggestion:true},"shop/bookmaker/Ladbrokes":{name:"Ladbrokes",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/1148531433947967488/3zGk1STM_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q1799875",shop:"bookmaker"},addTags:{brand:"Ladbrokes","brand:wikidata":"Q1799875","brand:wikipedia":"en:Ladbrokes Coral",name:"Ladbrokes",shop:"bookmaker"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/bookmaker/Paddy Power":{name:"Paddy Power",icon:"maki-shop",imageURL:"https://graph.facebook.com/2039606582931195/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3888718",shop:"bookmaker"},addTags:{brand:"Paddy Power","brand:wikidata":"Q3888718","brand:wikipedia":"en:Paddy Power",name:"Paddy Power",shop:"bookmaker"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/bookmaker/Tipico":{name:"Tipico",icon:"maki-shop",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FTipico%20Unternehmenslogo.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q15851003",shop:"bookmaker"},addTags:{brand:"Tipico","brand:wikidata":"Q15851003","brand:wikipedia":"en:Tipico",name:"Tipico",shop:"bookmaker"},countryCodes:["at","co","de","gi","hr","mt"],terms:[],matchScore:2,suggestion:true},"shop/bookmaker/William Hill":{name:"William Hill",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/797028677733253120/bW9oFXT-_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q4053147",shop:"bookmaker"},addTags:{brand:"William Hill","brand:wikidata":"Q4053147","brand:wikipedia":"en:William Hill (bookmaker)",name:"William Hill",shop:"bookmaker"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/bookmaker/ΟΠΑΠ":{name:"ΟΠΑΠ",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/1024247841135452160/UlceXxkv_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q2007823",shop:"bookmaker"},addTags:{brand:"ΟΠΑΠ","brand:el":"ΟΠΑΠ","brand:en":"OPAP","brand:wikidata":"Q2007823","brand:wikipedia":"en:OPAP",name:"ΟΠΑΠ","name:el":"ΟΠΑΠ","name:en":"OPAP",shop:"bookmaker"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"shop/bookmaker/Лига ставок":{name:"Лига ставок",icon:"maki-shop",imageURL:"https://graph.facebook.com/ligastavok05/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6545804",shop:"bookmaker"},addTags:{brand:"Лига ставок","brand:en":"Liga Stavok","brand:ru":"Лига ставок","brand:wikidata":"Q6545804","brand:wikipedia":"ru:Лига Ставок",name:"Лига ставок","name:en":"Liga Stavok","name:ru":"Лига ставок",shop:"bookmaker"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/bookmaker/Фонбет":{name:"Фонбет",icon:"maki-shop",imageURL:"https://graph.facebook.com/fonbetrussia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q49137910",shop:"bookmaker"},addTags:{brand:"Фонбет","brand:en":"Fonbet","brand:ru":"Фонбет","brand:wikidata":"Q49137910","brand:wikipedia":"ru:Фонбет",name:"Фонбет","name:en":"Fonbet","name:ru":"Фонбет",shop:"bookmaker"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/books/Akademibokhandeln":{name:"Akademibokhandeln",icon:"fas-book",imageURL:"https://graph.facebook.com/Akademibokhandeln/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10403918",shop:"books"},addTags:{brand:"Akademibokhandeln","brand:wikidata":"Q10403918","brand:wikipedia":"sv:Akademibokhandeln",name:"Akademibokhandeln",shop:"books"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/books/Akateeminen Kirjakauppa":{name:"Akateeminen Kirjakauppa",icon:"fas-book",imageURL:"https://graph.facebook.com/AkateeminenCOM/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10403942",shop:"books"},addTags:{brand:"Akateeminen Kirjakauppa","brand:wikidata":"Q10403942","brand:wikipedia":"fi:Akateeminen Kirjakauppa",name:"Akateeminen Kirjakauppa",shop:"books"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/books/Barnes & Noble":{name:"Barnes & Noble",icon:"fas-book",imageURL:"https://graph.facebook.com/barnesandnoble/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q795454",shop:"books"},addTags:{brand:"Barnes & Noble","brand:wikidata":"Q795454","brand:wikipedia":"en:Barnes & Noble",name:"Barnes & Noble",shop:"books"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/books/Books-A-Million":{name:"Books-A-Million",icon:"fas-book",imageURL:"https://graph.facebook.com/booksamillion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4943266",shop:"books"},addTags:{brand:"Books-A-Million","brand:wikidata":"Q4943266","brand:wikipedia":"en:Books-A-Million",name:"Books-A-Million",shop:"books"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/books/Bruna":{name:"Bruna",icon:"fas-book",imageURL:"https://graph.facebook.com/Brunawinkels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3317555",shop:"books"},addTags:{brand:"Bruna","brand:wikidata":"Q3317555","brand:wikipedia":"en:Bruna (company)",name:"Bruna",shop:"books"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/books/Chapters":{name:"Chapters",icon:"fas-book",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FChapters%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q5073540",shop:"books"},addTags:{brand:"Chapters","brand:wikidata":"Q5073540","brand:wikipedia":"en:Chapters (bookstore)",name:"Chapters",shop:"books"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/books/Cultura":{name:"Cultura",icon:"fas-book",imageURL:"https://graph.facebook.com/culturafr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3007154",shop:"books"},addTags:{brand:"Cultura","brand:wikidata":"Q3007154","brand:wikipedia":"fr:Cultura",name:"Cultura",shop:"books"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/books/Empik":{name:"Empik",icon:"fas-book",imageURL:"https://graph.facebook.com/empikcom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3045978",shop:"books"},addTags:{brand:"Empik","brand:wikidata":"Q3045978","brand:wikipedia":"pl:Empik",name:"Empik",shop:"books"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/books/Fnac":{name:"Fnac",icon:"fas-book",imageURL:"https://graph.facebook.com/Fnac/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q676585",shop:"books"},addTags:{brand:"Fnac","brand:wikidata":"Q676585","brand:wikipedia":"en:Fnac",name:"Fnac",shop:"books"},countryCodes:["be","ch","es","fr","nl","pt"],terms:[],matchScore:2,suggestion:true},"shop/books/Half Price Books":{name:"Half Price Books",icon:"fas-book",imageURL:"https://graph.facebook.com/halfpricebooks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5641744",shop:"books"},addTags:{brand:"Half Price Books","brand:wikidata":"Q5641744","brand:wikipedia":"en:Half Price Books",name:"Half Price Books",shop:"books"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/books/Hugendubel":{name:"Hugendubel",icon:"fas-book",imageURL:"https://graph.facebook.com/hugendubelbuchhandlungen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1634142",shop:"books"},addTags:{brand:"Hugendubel","brand:wikidata":"Q1634142","brand:wikipedia":"en:Hugendubel",name:"Hugendubel",shop:"books"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/books/Indigo":{name:"Indigo",icon:"fas-book",imageURL:"https://graph.facebook.com/ChaptersIndigo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2477358",shop:"books"},addTags:{alt_name:"!ndigo",brand:"Indigo","brand:wikidata":"Q2477358","brand:wikipedia":"en:Indigo Books and Music",name:"Indigo",shop:"books"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/books/Mondadori":{name:"Mondadori",icon:"fas-book",imageURL:"https://graph.facebook.com/GruppoMondadori/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q85355",shop:"books"},addTags:{brand:"Mondadori","brand:wikidata":"Q85355","brand:wikipedia":"en:Arnoldo Mondadori Editore",name:"Mondadori",shop:"books"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/books/National Book Store":{name:"National Book Store",icon:"fas-book",imageURL:"https://graph.facebook.com/nbsalert/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6971094",shop:"books"},addTags:{brand:"National Book Store","brand:wikidata":"Q6971094","brand:wikipedia":"en:National Book Store",name:"National Book Store",shop:"books"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"shop/books/Standaard Boekhandel":{name:"Standaard Boekhandel",icon:"fas-book",imageURL:"https://graph.facebook.com/standaardboekhandel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3496554",shop:"books"},addTags:{brand:"Standaard Boekhandel","brand:wikidata":"Q3496554","brand:wikipedia":"nl:Standaard Boekhandel",name:"Standaard Boekhandel",shop:"books"},countryCodes:["be"],terms:[],matchScore:2,suggestion:true},"shop/books/Suomalainen Kirjakauppa":{name:"Suomalainen Kirjakauppa",icon:"fas-book",geometry:["point","area"],tags:{"brand:wikidata":"Q7641808",shop:"books"},addTags:{brand:"Suomalainen Kirjakauppa","brand:wikidata":"Q7641808","brand:wikipedia":"fi:Suomalainen Kirjakauppa",name:"Suomalainen Kirjakauppa",shop:"books"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/books/TSUTAYA":{name:"TSUTAYA",icon:"fas-book",imageURL:"https://graph.facebook.com/TSUTAYA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5193457",shop:"books"},addTags:{brand:"TSUTAYA","brand:wikidata":"Q5193457","brand:wikipedia":"ja:カルチュア・コンビニエンス・クラブ",name:"TSUTAYA",shop:"books"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/books/Thalia":{name:"Thalia",icon:"fas-book",imageURL:"https://graph.facebook.com/thalia.de/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2408854",shop:"books"},addTags:{brand:"Thalia","brand:wikidata":"Q2408854","brand:wikipedia":"de:Thalia Bücher",name:"Thalia",shop:"books"},countryCodes:["at","ch","de"],terms:[],matchScore:2,suggestion:true},"shop/books/The Works":{name:"The Works",icon:"fas-book",imageURL:"https://graph.facebook.com/TheWorksStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7775853",shop:"books"},addTags:{brand:"The Works","brand:wikidata":"Q7775853","brand:wikipedia":"en:The Works (retailer)",name:"The Works",shop:"books"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/books/Waterstones":{name:"Waterstones",icon:"fas-book",imageURL:"https://graph.facebook.com/waterstones/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q151779",shop:"books"},addTags:{brand:"Waterstones","brand:wikidata":"Q151779","brand:wikipedia":"en:Waterstones",name:"Waterstones",shop:"books"},countryCodes:["be","gb","ie","je","nl"],terms:[],matchScore:2,suggestion:true},"shop/books/Weltbild":{name:"Weltbild",icon:"fas-book",imageURL:"https://graph.facebook.com/weltbild/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q883522",shop:"books"},addTags:{brand:"Weltbild","brand:wikidata":"Q883522","brand:wikipedia":"en:Weltbild Publishing Group",name:"Weltbild",shop:"books"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/books/Буквоед":{name:"Буквоед",icon:"fas-book",imageURL:"https://graph.facebook.com/SuperBookvoed/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4098549",shop:"books"},addTags:{brand:"Буквоед","brand:wikidata":"Q4098549","brand:wikipedia":"ru:Буквоед",name:"Буквоед",shop:"books"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/books/Дом книги":{name:"Дом книги",icon:"fas-book",imageURL:"https://graph.facebook.com/spbdk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q48950742",shop:"books"},addTags:{brand:"Дом книги","brand:wikidata":"Q48950742","brand:wikipedia":"ru:Московский дом книги",name:"Дом книги",shop:"books"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/books/Читай-город":{name:"Читай-город",icon:"fas-book",imageURL:"https://graph.facebook.com/chitaigorod/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4516645",shop:"books"},addTags:{brand:"Читай-город","brand:wikidata":"Q4516645","brand:wikipedia":"ru:Читай-город",name:"Читай-город",shop:"books"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/books/סטימצקי":{name:"סטימצקי",icon:"fas-book",imageURL:"https://graph.facebook.com/SteimatzkyMadaf.HaSfarim/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2903995",shop:"books"},addTags:{brand:"סטימצקי","brand:en":"Steimatzky","brand:he":"סטימצקי","brand:wikidata":"Q2903995","brand:wikipedia":"he:סטימצקי",name:"סטימצקי","name:en":"Steimatzky","name:he":"סטימצקי",shop:"books"},countryCodes:["il"],terms:[],matchScore:2,suggestion:true},"shop/books/צומת ספרים":{name:"צומת ספרים",icon:"fas-book",imageURL:"https://graph.facebook.com/tzometsfarim/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6743833",shop:"books"},addTags:{brand:"צומת ספרים","brand:en":"Tzomet Sfarim","brand:he":"צומת ספרים","brand:wikidata":"Q6743833","brand:wikipedia":"he:צומת ספרים",name:"צומת ספרים","name:en":"Tzomet Sfarm","name:he":"צומת ספרים",shop:"books"},countryCodes:["il"],terms:["Zomet Sfarim"],matchScore:2,suggestion:true},"shop/books/あおい書店":{name:"あおい書店",icon:"fas-book",imageURL:"https://graph.facebook.com/aoi.bookstore/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11256783",shop:"books"},addTags:{brand:"あおい書店","brand:en":"AOI","brand:ja":"あおい書店","brand:wikidata":"Q11256783","brand:wikipedia":"ja:あおい書店",name:"あおい書店","name:en":"AOI","name:ja":"あおい書店",shop:"books"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/books/ブックオフ":{name:"ブックオフ",icon:"fas-book",imageURL:"https://graph.facebook.com/bookoffcorporation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q893011",shop:"books"},addTags:{brand:"ブックオフ","brand:en":"Book Off","brand:ja":"ブックオフ","brand:wikidata":"Q893011","brand:wikipedia":"en:Book Off",name:"ブックオフ","name:en":"Book Off","name:ja":"ブックオフ",shop:"books"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/books/メロンブックス":{name:"メロンブックス",icon:"fas-book",imageURL:"https://pbs.twimg.com/profile_images/877364475304714240/Ael4G2BP_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q10851653",shop:"books"},addTags:{brand:"メロンブックス","brand:en":"Melonbooks","brand:ja":"メロンブックス","brand:wikidata":"Q10851653","brand:wikipedia":"ja:メロンブックス",name:"メロンブックス","name:en":"Melonbooks","name:ja":"メロンブックス",shop:"books"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/books/リブロ":{name:"リブロ",icon:"fas-book",imageURL:"https://graph.facebook.com/libroryubo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6542768",shop:"books"},addTags:{brand:"リブロ","brand:en":"LIBRO","brand:ja":"リブロ","brand:wikidata":"Q6542768","brand:wikipedia":"ja:リブロ",name:"リブロ","name:en":"Libro","name:ja":"リブロ",shop:"books"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/books/三省堂書店":{name:"三省堂書店",icon:"fas-book",imageURL:"https://graph.facebook.com/books.sanseido/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10866539",shop:"books"},addTags:{brand:"三省堂書店","brand:en":"Books Sanseido","brand:ja":"三省堂書店","brand:wikidata":"Q10866539","brand:wikipedia":"ja:三省堂書店",name:"三省堂書店","name:en":"Books Sanseido","name:ja":"三省堂書店",shop:"books"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/books/文教堂":{name:"文教堂",icon:"fas-book",geometry:["point","area"],tags:{"brand:wikidata":"Q11499974",shop:"books"},addTags:{brand:"文教堂","brand:en":"Bunkyodo","brand:ja":"文教堂","brand:wikidata":"Q11499974","brand:wikipedia":"ja:文教堂",name:"文教堂","name:en":"Bunkyodo","name:ja":"文教堂",shop:"books"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/books/新华书店":{name:"新华书店",icon:"fas-book",geometry:["point","area"],tags:{"brand:wikidata":"Q6124193",shop:"books"},addTags:{brand:"新华书店","brand:en":"Xinhua Bookstore","brand:wikidata":"Q6124193","brand:wikipedia":"en:Xinhua Bookstore","brand:zh":"新华书店",name:"新华书店","name:en":"Xinhua Bookstore","name:zh":"新华书店",shop:"books"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"shop/books/未来屋書店":{name:"未来屋書店",icon:"fas-book",imageURL:"https://graph.facebook.com/miraiyashoten/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11519563",shop:"books"},addTags:{brand:"未来屋書店","brand:en":"Miraiya Shoten","brand:ja":"未来屋書店","brand:wikidata":"Q11519563","brand:wikipedia":"ja:未来屋書店",name:"未来屋書店","name:en":"Miraiya Shoten","name:ja":"未来屋書店",shop:"books"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/butcher/Coqivoire":{name:"Coqivoire",icon:"fas-bacon",imageURL:"https://graph.facebook.com/COQIVOIRE/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60183284",shop:"butcher"},addTags:{brand:"Coqivoire","brand:wikidata":"Q60183284",butcher:"poultry",name:"Coqivoire",shop:"butcher"},countryCodes:["ci"],terms:[],matchScore:2,suggestion:true},"shop/butcher/Foani":{name:"Foani",icon:"fas-bacon",imageURL:"https://graph.facebook.com/foaniservices/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60183335",shop:"butcher"},addTags:{brand:"Foani","brand:wikidata":"Q60183335",butcher:"poultry",name:"Foani",shop:"butcher"},countryCodes:["ci"],terms:[],matchScore:2,suggestion:true},"shop/butcher/M&M Food Market":{name:"M&M Food Market",icon:"fas-bacon",imageURL:"https://pbs.twimg.com/profile_images/705793072836288513/-hlwSo1Q_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q6711827",shop:"butcher"},addTags:{brand:"M&M Food Market","brand:wikidata":"Q6711827","brand:wikipedia":"en:M&M Food Market",name:"M&M Food Market",shop:"butcher"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/butcher/Vinzenzmurr":{name:"Vinzenzmurr",icon:"fas-bacon",imageURL:"https://graph.facebook.com/vinzenzmurrtraditionsmetzgerei/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2527361",shop:"butcher"},addTags:{brand:"Vinzenzmurr","brand:wikidata":"Q2527361","brand:wikipedia":"de:Vinzenzmurr",name:"Vinzenzmurr",shop:"butcher"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/butcher/Великолукский мясокомбинат":{name:"Великолукский мясокомбинат",icon:"fas-bacon",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2F%D0%92%D0%B5%D0%BB%D0%B8%D0%BA%D0%BE%D0%BB%D1%83%D0%BA%D1%81%D0%BA%D0%B8%D0%B9%20%D0%BC%D1%8F%D1%81%D0%BE%D0%BA%D0%BE%D0%BC%D0%B1%D0%B8%D0%BD%D0%B0%D1%82.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q18401767",shop:"butcher"},addTags:{brand:"Великолукский мясокомбинат","brand:wikidata":"Q18401767","brand:wikipedia":"ru:Великолукский мясокомбинат",name:"Великолукский мясокомбинат",shop:"butcher"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/butcher/Родинна ковбаска":{name:"Родинна ковбаска",icon:"fas-bacon",imageURL:"https://graph.facebook.com/rodunnakovbaska/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q30969660",shop:"butcher"},addTags:{brand:"Родинна ковбаска","brand:en":"Rodynna-kovbaska","brand:wikidata":"Q30969660","brand:wikipedia":"uk:ТзОВ «Барком»",name:"Родинна ковбаска","name:en":"Rodynna-kovbaska",shop:"butcher"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/butcher/肉のハナマサ":{name:"肉のハナマサ",icon:"fas-bacon",imageURL:"https://graph.facebook.com/hanamasaresto/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11326564",shop:"butcher"},addTags:{brand:"ハナマサ","brand:en":"Hanamasa","brand:ja":"ハナマサ","brand:wikidata":"Q11326564","brand:wikipedia":"ja:ハナマサ",butcher:"beef",name:"肉のハナマサ","name:en":"Hanamasa Meat","name:ja":"肉のハナマサ",shop:"butcher"},countryCodes:["jp"],terms:["ハナマサ"],matchScore:2,suggestion:true},"shop/candles/Yankee Candle":{name:"Yankee Candle",icon:"fas-burn",imageURL:"https://graph.facebook.com/Yankeecandle/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8048733",shop:"candles"},addTags:{brand:"Yankee Candle","brand:wikidata":"Q8048733","brand:wikipedia":"en:Yankee Candle",name:"Yankee Candle",shop:"candles"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"shop/car_parts/Advance Auto Parts":{name:"Advance Auto Parts",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/advanceautoparts/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4686051",shop:"car_parts"},addTags:{brand:"Advance Auto Parts","brand:wikidata":"Q4686051","brand:wikipedia":"en:Advance Auto Parts",name:"Advance Auto Parts",shop:"car_parts"},countryCodes:["ca","us","vi"],terms:[],matchScore:2,suggestion:true},"shop/car_parts/Auto Plus":{name:"Auto Plus",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/AutoPlusUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65121114",shop:"car_parts"},addTags:{brand:"Auto Plus","brand:wikidata":"Q65121114",name:"Auto Plus",official_name:"Auto Plus Auto Parts",shop:"car_parts"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/car_parts/AutoZone":{name:"AutoZone",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/autozone/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4826087",shop:"car_parts"},addTags:{brand:"AutoZone","brand:wikidata":"Q4826087","brand:wikipedia":"en:AutoZone",name:"AutoZone",shop:"car_parts"},countryCodes:["br","mx","us"],terms:[],matchScore:2,suggestion:true},"shop/car_parts/Halfords":{name:"Halfords",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/HalfordsUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3398786",shop:"car_parts"},addTags:{brand:"Halfords","brand:wikidata":"Q3398786","brand:wikipedia":"en:Halfords",name:"Halfords","service:bicycle:retail":"yes",shop:"car_parts"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/car_parts/KOI Auto Parts":{name:"KOI Auto Parts",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/KOIAutoParts/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6334934",shop:"car_parts"},addTags:{brand:"KOI Auto Parts","brand:wikidata":"Q6334934","brand:wikipedia":"en:KOI Auto Parts",name:"KOI Auto Parts",shop:"car_parts",short_name:"KOI"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/car_parts/NAPA Auto Parts":{name:"NAPA Auto Parts",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/NAPAAUTOPARTS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6970842",shop:"car_parts"},addTags:{brand:"NAPA Auto Parts","brand:wikidata":"Q6970842","brand:wikipedia":"en:National Automotive Parts Association",name:"NAPA Auto Parts",shop:"car_parts"},countryCodes:["ca","mx","us"],terms:["napa"],matchScore:2,suggestion:true},"shop/car_parts/O'Reilly Auto Parts":{name:"O'Reilly Auto Parts",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/oreillyautoparts/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7071951",shop:"car_parts"},addTags:{brand:"O'Reilly Auto Parts","brand:wikidata":"Q7071951","brand:wikipedia":"en:O'Reilly Auto Parts",name:"O'Reilly Auto Parts",shop:"car_parts"},countryCodes:["us"],terms:["o'reilly"],matchScore:2,suggestion:true},"shop/car_parts/Repco":{name:"Repco",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/RepcoAusCareers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q173425",shop:"car_parts"},addTags:{brand:"Repco","brand:wikidata":"Q173425","brand:wikipedia":"en:Repco",name:"Repco",shop:"car_parts"},countryCodes:["au","nz"],terms:[],matchScore:2,suggestion:true},"shop/car_parts/Supercheap Auto":{name:"Supercheap Auto",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/scauto/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7643119",shop:"car_parts"},addTags:{brand:"Supercheap Auto","brand:wikidata":"Q7643119","brand:wikipedia":"en:Supercheap Auto",name:"Supercheap Auto",shop:"car_parts"},countryCodes:["au","nz"],terms:[],matchScore:2,suggestion:true},"shop/car_parts/Автомир":{name:"Автомир",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/avtomir.cars/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4056321",shop:"car_parts"},addTags:{brand:"Автомир","brand:wikidata":"Q4056321","brand:wikipedia":"ru:Автомир (автодилер)",name:"Автомир",shop:"car_parts"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/car_parts/イエローハット":{name:"イエローハット",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/YellowHatUAE/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11285915",shop:"car_parts"},addTags:{brand:"イエローハット","brand:en":"Yellow Hat","brand:ja":"イエローハット","brand:wikidata":"Q11285915","brand:wikipedia":"ja:イエローハット",name:"イエローハット","name:en":"Yellow Hat","name:ja":"イエローハット",shop:"car_parts"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/car_parts/オートバックス":{name:"オートバックス",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/autobacs.seven/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7886426",shop:"car_parts"},addTags:{brand:"オートバックス","brand:en":"Autobacs","brand:ja":"オートバックス","brand:wikidata":"Q7886426","brand:wikipedia":"ja:オートバックスセブン",name:"オートバックス","name:en":"Autobacs","name:ja":"オートバックス",shop:"car_parts"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/car_parts/タイヤ館":{name:"タイヤ館",icon:"fas-car-battery",imageURL:"https://graph.facebook.com/1627235540828842/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11315808",shop:"car_parts"},addTags:{brand:"タイヤ館","brand:en":"Taiyakan","brand:ja":"タイヤ館","brand:wikidata":"Q11315808","brand:wikipedia":"ja:タイヤ館",name:"タイヤ館","name:en":"Taiyakan","name:ja":"タイヤ館",shop:"car_parts"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/A.T.U":{name:"A.T.U",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/ATU/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q784721",shop:"car_repair"},addTags:{brand:"A.T.U","brand:wikidata":"Q784721","brand:wikipedia":"de:Auto-Teile-Unger",name:"A.T.U",shop:"car_repair"},countryCodes:["at","de"],terms:["auto-teile-unger"],matchScore:2,suggestion:true},"shop/car_repair/AAMCO":{name:"AAMCO",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/AAMCO/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4649902",shop:"car_repair"},addTags:{brand:"AAMCO","brand:wikidata":"Q4649902","brand:wikipedia":"en:AAMCO Transmissions",name:"AAMCO","service:vehicle:transmission":"yes",shop:"car_repair"},countryCodes:["ca","us"],terms:["aamco transmissions","aamco transmissions and total car care"],matchScore:2,suggestion:true},"shop/car_repair/ATS Euromaster":{name:"ATS Euromaster",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/ATSEUROMASTER/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4654920",shop:"car_repair"},addTags:{brand:"ATS Euromaster","brand:wikidata":"Q4654920","brand:wikipedia":"en:ATS Euromaster",name:"ATS Euromaster",shop:"car_repair"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/BestDrive":{name:"BestDrive",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/BestDriveFrance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63057183",shop:"car_repair"},addTags:{brand:"BestDrive","brand:wikidata":"Q63057183",name:"BestDrive",shop:"car_repair"},countryCodes:["cz","fr","sk"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Bosch Car Service":{name:"Bosch Car Service",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/BoschGlobal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q234021",shop:"car_repair"},addTags:{brand:"Bosch Car Service","brand:wikidata":"Q234021","brand:wikipedia":"en:Robert Bosch GmbH",name:"Bosch Car Service",shop:"car_repair"},terms:["bosch service"],matchScore:2,suggestion:true},"shop/car_repair/Brakes Plus":{name:"Brakes Plus",icon:"maki-car-repair",imageURL:"https://pbs.twimg.com/profile_images/1152245094897950720/l4DNap9o_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q62075246",shop:"car_repair"},addTags:{brand:"Brakes Plus","brand:wikidata":"Q62075246",name:"Brakes Plus",shop:"car_repair"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Car-X":{name:"Car-X",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/CarxAuto/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63859189",shop:"car_repair"},addTags:{brand:"Car-X","brand:wikidata":"Q63859189",name:"Car-X",shop:"car_repair"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Carglass":{name:"Carglass",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/CarglassSweden/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1035997",shop:"car_repair"},addTags:{brand:"Carglass","brand:wikidata":"Q1035997","brand:wikipedia":"de:Carglass",name:"Carglass",shop:"car_repair"},terms:[],matchScore:2,suggestion:true},"shop/car_repair/Carstar":{name:"Carstar",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/CARSTAR/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64187891",shop:"car_repair"},addTags:{brand:"Carstar","brand:wikidata":"Q64187891",name:"Carstar","service:vehicle:body_repair":"yes",shop:"car_repair"},countryCodes:["ca","us"],terms:["carstar auto body repair experts"],matchScore:2,suggestion:true},"shop/car_repair/Citroën":{name:"Citroën",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/Citroen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6746",shop:"car_repair"},addTags:{brand:"Citroën","brand:wikidata":"Q6746","brand:wikipedia":"fr:Citroën",name:"Citroën",shop:"car_repair"},terms:[],matchScore:2,suggestion:true},"shop/car_repair/Euromaster":{name:"Euromaster",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/ATSEUROMASTER/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3060668",shop:"car_repair"},addTags:{brand:"Euromaster","brand:wikidata":"Q3060668","brand:wikipedia":"de:Euromaster",name:"Euromaster",shop:"car_repair"},countryCodes:["ch","de","es","fi","fr","nl","pt"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Feu Vert":{name:"Feu Vert",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/FeuVert/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3070922",shop:"car_repair"},addTags:{brand:"Feu Vert","brand:wikidata":"Q3070922","brand:wikipedia":"fr:Feu vert (entreprise)",name:"Feu Vert",shop:"car_repair"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Firestone":{name:"Firestone",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/FirestoneTires/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q420837",shop:"car_repair"},addTags:{brand:"Firestone","brand:wikidata":"Q420837","brand:wikipedia":"en:Firestone Tire and Rubber Company",name:"Firestone",official_name:"Firestone Complete Auto Care",shop:"car_repair"},countryCodes:["ca","cl","us"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Ford":{name:"Ford",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/ford/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q44294",shop:"car_repair"},addTags:{brand:"Ford","brand:wikidata":"Q44294","brand:wikipedia":"en:Ford Motor Company",name:"Ford",shop:"car_repair"},terms:[],matchScore:2,suggestion:true},"shop/car_repair/Goodyear":{name:"Goodyear",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/GoodyearNorthAmerica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q620875",shop:"car_repair"},addTags:{brand:"Goodyear","brand:wikidata":"Q620875","brand:wikipedia":"en:Goodyear Tire and Rubber Company",name:"Goodyear",shop:"car_repair"},countryCodes:["au","ca","cl","pe","us"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Grease Monkey":{name:"Grease Monkey",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/greasemonkeyintl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5598563",shop:"car_repair"},addTags:{brand:"Grease Monkey","brand:wikidata":"Q5598563","brand:wikipedia":"en:Grease Monkey (business)",name:"Grease Monkey",shop:"car_repair"},countryCodes:["cn","us"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Halfords Autocentre":{name:"Halfords Autocentre",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/HalfordsAutocentres/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5641894",shop:"car_repair"},addTags:{brand:"Halfords Auocentre","brand:wikidata":"Q5641894","brand:wikipedia":"en:Halfords Autocentre",name:"Halfords Autocentre",shop:"car_repair"},countryCodes:["gb"],terms:["halfords"],matchScore:2,suggestion:true},"shop/car_repair/Jiffy Lube":{name:"Jiffy Lube",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/jiffylube/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6192247",shop:"car_repair"},addTags:{brand:"Jiffy Lube","brand:wikidata":"Q6192247","brand:wikipedia":"en:Jiffy Lube",name:"Jiffy Lube",shop:"car_repair"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Kwik Fit":{name:"Kwik Fit",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/KwikFit/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q958053",shop:"car_repair"},addTags:{brand:"Kwik Fit","brand:wikidata":"Q958053","brand:wikipedia":"en:Kwik Fit",name:"Kwik Fit",shop:"car_repair"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/MAACO":{name:"MAACO",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/MAACOUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6714015",shop:"car_repair"},addTags:{brand:"MAACO","brand:wikidata":"Q6714015","brand:wikipedia":"en:MAACO",name:"MAACO","service:vehicle:body_repair":"yes","service:vehicle:painting":"yes",shop:"car_repair"},countryCodes:["ca","us"],terms:["maaco collision repair & auto painting"],matchScore:2,suggestion:true},"shop/car_repair/Meineke":{name:"Meineke",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/meinekecarcareusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6810159",shop:"car_repair"},addTags:{brand:"Meineke","brand:wikidata":"Q6810159","brand:wikipedia":"en:Meineke Car Care Centers",name:"Meineke",official_name:"Meineke Car Care Center",shop:"car_repair"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Mekonomen":{name:"Mekonomen",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/MekonomenSverige/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10580079",shop:"car_repair"},addTags:{brand:"Mekonomen","brand:wikidata":"Q10580079","brand:wikipedia":"sv:Mekonomen",name:"Mekonomen",shop:"car_repair"},countryCodes:["dk","no","se"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Midas":{name:"Midas",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/Midas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3312613",shop:"car_repair"},addTags:{brand:"Midas","brand:wikidata":"Q3312613","brand:wikipedia":"en:Midas (automotive service)",name:"Midas",shop:"car_repair"},terms:[],matchScore:2,suggestion:true},"shop/car_repair/Monro Muffler Brake":{name:"Monro Muffler Brake",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/MonroAutoServiceTire/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6902090",shop:"car_repair"},addTags:{brand:"Monro Muffler Brake","brand:wikidata":"Q6902090","brand:wikipedia":"en:Monro Muffler Brake",name:"Monro Muffler Brake",shop:"car_repair"},countryCodes:["us"],terms:["monro"],matchScore:2,suggestion:true},"shop/car_repair/Mr. Lube":{name:"Mr. Lube",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/MrLubeCanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17104067",shop:"car_repair"},addTags:{brand:"Mr. Lube","brand:wikidata":"Q17104067","brand:wikipedia":"en:Mr. Lube",name:"Mr. Lube",shop:"car_repair"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Norauto":{name:"Norauto",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/Norautofr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3317698",shop:"car_repair"},addTags:{brand:"Norauto","brand:wikidata":"Q3317698","brand:wikipedia":"en:Mobivia Groupe",name:"Norauto",shop:"car_repair"},countryCodes:["ar","es","fr","hu","it","pl","pt","ro"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Pep Boys":{name:"Pep Boys",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/pepboysauto/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3375007",shop:"car_repair"},addTags:{brand:"Pep Boys","brand:wikidata":"Q3375007","brand:wikipedia":"en:Pep Boys",name:"Pep Boys",shop:"car_repair"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Peugeot":{name:"Peugeot",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/Peugeot/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6742",shop:"car_repair"},addTags:{brand:"Peugeot","brand:wikidata":"Q6742","brand:wikipedia":"en:Peugeot",name:"Peugeot",shop:"car_repair"},terms:[],matchScore:2,suggestion:true},"shop/car_repair/Point S":{name:"Point S",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/points.france/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3393358",shop:"car_repair"},addTags:{brand:"Point S","brand:wikidata":"Q3393358","brand:wikipedia":"fr:Point S",name:"Point S",shop:"car_repair"},terms:[],matchScore:2,suggestion:true},"shop/car_repair/Renault":{name:"Renault",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/Renault/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6686",shop:"car_repair"},addTags:{brand:"Renault","brand:wikidata":"Q6686","brand:wikipedia":"en:Renault",name:"Renault",shop:"car_repair"},terms:["garage renault"],matchScore:2,suggestion:true},"shop/car_repair/Roady":{name:"Roady",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/RoadyFrance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3434112",shop:"car_repair"},addTags:{brand:"Roady","brand:wikidata":"Q3434112","brand:wikipedia":"en:Roady (Mousquetaires)",name:"Roady",shop:"car_repair"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Safelite AutoGlass":{name:"Safelite AutoGlass",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/safelite/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28797369",shop:"car_repair"},addTags:{brand:"Safelite AutoGlass","brand:wikidata":"Q28797369","brand:wikipedia":"en:Safelite",name:"Safelite AutoGlass",shop:"car_repair"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Sears Auto Center":{name:"Sears Auto Center",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/sears/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6499202",shop:"car_repair"},addTags:{brand:"Sears Auto Center","brand:wikidata":"Q6499202","brand:wikipedia":"en:Sears",name:"Sears Auto Center",shop:"car_repair"},countryCodes:["mx","us"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Speedy":{name:"Speedy",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/vadoncchezSpeedy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3492969",shop:"car_repair"},addTags:{brand:"Speedy","brand:wikidata":"Q3492969","brand:wikipedia":"fr:Speedy (entreprise)",name:"Speedy",shop:"car_repair"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Speedy Auto Service":{name:"Speedy Auto Service",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/SpeedyAutoServiceCanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q22318193",shop:"car_repair"},addTags:{brand:"Speedy Auto Service","brand:wikidata":"Q22318193",name:"Speedy Auto Service",shop:"car_repair"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/Toyota":{name:"Toyota",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/toyota/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q53268",shop:"car_repair"},addTags:{brand:"Toyota","brand:wikidata":"Q53268","brand:wikipedia":"en:Toyota",name:"Toyota",shop:"car_repair"},terms:[],matchScore:2,suggestion:true},"shop/car_repair/Tuffy":{name:"Tuffy",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/Tuffy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17125314",shop:"car_repair"},addTags:{brand:"Tuffy","brand:wikidata":"Q17125314","brand:wikipedia":"en:Tuffy Auto Service Centers",name:"Tuffy",shop:"car_repair"},countryCodes:["us"],terms:["tuffy auto service","tuffy auto service center","tuffy auto service centers","tuffy service","tuffy service center","tuffy service centers","tuffy tire and auto service","tuffy tire and auto service center","tuffy tire and auto service centers"],matchScore:2,suggestion:true},"shop/car_repair/Valvoline":{name:"Valvoline",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/viocofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7912852",shop:"car_repair"},addTags:{brand:"Valvoline","brand:wikidata":"Q7912852","brand:wikipedia":"en:Valvoline Instant Oil Change",name:"Valvoline",official_name:"Valvoline Instant Oil Change",shop:"car_repair"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/car_repair/ÖAMTC":{name:"ÖAMTC",icon:"maki-car-repair",imageURL:"https://graph.facebook.com/OEAMTC/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q306057",shop:"car_repair"},addTags:{brand:"ÖAMTC","brand:wikidata":"Q306057","brand:wikipedia":"de:Österreichischer Automobil-, Motorrad- und Touring Club",name:"ÖAMTC",shop:"car_repair"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"shop/car/Audi":{name:"Audi",icon:"maki-car",imageURL:"https://graph.facebook.com/audi.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23317",shop:"car"},addTags:{brand:"Audi","brand:wikidata":"Q23317","brand:wikipedia":"en:Audi",name:"Audi",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/BMW":{name:"BMW",icon:"maki-car",imageURL:"https://graph.facebook.com/BMWGroup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q26678",shop:"car"},addTags:{brand:"BMW","brand:wikidata":"Q26678","brand:wikipedia":"en:BMW",name:"BMW",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Cadillac":{name:"Cadillac",icon:"maki-car",imageURL:"https://graph.facebook.com/cadillac/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q27436",shop:"car"},addTags:{brand:"Cadillac","brand:wikidata":"Q27436","brand:wikipedia":"en:Cadillac",name:"Cadillac",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/CarMax":{name:"CarMax",icon:"maki-car",imageURL:"https://pbs.twimg.com/profile_images/458970501172301826/63JNVTLh_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q5037190",shop:"car"},addTags:{brand:"CarMax","brand:wikidata":"Q5037190","brand:wikipedia":"en:CarMax",name:"CarMax",second_hand:"only",shop:"car"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/car/Chevrolet":{name:"Chevrolet",icon:"maki-car",imageURL:"https://graph.facebook.com/chevrolet/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q29570",shop:"car"},addTags:{brand:"Chevrolet","brand:wikidata":"Q29570","brand:wikipedia":"en:Chevrolet",name:"Chevrolet",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Citroën":{name:"Citroën",icon:"maki-car",imageURL:"https://graph.facebook.com/Citroen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6746",shop:"car"},addTags:{brand:"Citroën","brand:wikidata":"Q6746","brand:wikipedia":"fr:Citroën",name:"Citroën",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Dacia":{name:"Dacia",icon:"maki-car",imageURL:"https://graph.facebook.com/Dacia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q27460",shop:"car"},addTags:{brand:"Dacia","brand:wikidata":"Q27460","brand:wikipedia":"en:Automobile Dacia",name:"Dacia",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Fiat":{name:"Fiat",icon:"maki-car",imageURL:"https://graph.facebook.com/Fiat/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q27597",shop:"car"},addTags:{brand:"Fiat","brand:wikidata":"Q27597","brand:wikipedia":"en:Fiat Automobiles",name:"Fiat",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Ford":{name:"Ford",icon:"maki-car",imageURL:"https://graph.facebook.com/ford/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q44294",shop:"car"},addTags:{brand:"Ford","brand:wikidata":"Q44294","brand:wikipedia":"en:Ford Motor Company",name:"Ford",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Honda":{name:"Honda",icon:"maki-car",imageURL:"https://graph.facebook.com/HondaJP/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9584",shop:"car"},addTags:{brand:"Honda","brand:wikidata":"Q9584","brand:wikipedia":"en:Honda",name:"Honda",shop:"car"},terms:["honda cars"],matchScore:2,suggestion:true},"shop/car/Hyundai":{name:"Hyundai",icon:"maki-car",imageURL:"https://graph.facebook.com/Hyundai/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q55931",shop:"car"},addTags:{brand:"Hyundai","brand:wikidata":"Q55931","brand:wikipedia":"en:Hyundai Motor Company",name:"Hyundai",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Isuzu":{name:"Isuzu",icon:"maki-car",imageURL:"https://graph.facebook.com/isuzumex/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q29803",shop:"car"},addTags:{brand:"Isuzu","brand:wikidata":"Q29803","brand:wikipedia":"en:Isuzu Motors",name:"Isuzu",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Jaguar":{name:"Jaguar",icon:"maki-car",imageURL:"https://graph.facebook.com/landroverusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q26742231",shop:"car"},addTags:{brand:"Jaguar","brand:wikidata":"Q26742231",name:"Jaguar",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Kia":{name:"Kia",icon:"maki-car",imageURL:"https://graph.facebook.com/Kiamotorsworldwide/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q35349",shop:"car"},addTags:{brand:"Kia","brand:wikidata":"Q35349","brand:wikipedia":"en:Kia Motors",name:"Kia",shop:"car"},terms:["kia motors"],matchScore:2,suggestion:true},"shop/car/Land Rover":{name:"Land Rover",icon:"maki-car",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%20of%20Land%20Rover%2C%20a%20British%20marque.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q35907",shop:"car"},addTags:{brand:"Land Rover","brand:wikidata":"Q35907","brand:wikipedia":"en:Land Rover",name:"Land Rover",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Lexus":{name:"Lexus",icon:"maki-car",imageURL:"https://graph.facebook.com/lexus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q35919",shop:"car"},addTags:{brand:"Lexus","brand:wikidata":"Q35919","brand:wikipedia":"en:Lexus",name:"Lexus",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Lincoln":{name:"Lincoln",icon:"maki-car",imageURL:"https://graph.facebook.com/Lincoln/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q216796",shop:"car"},addTags:{brand:"Lincoln","brand:wikidata":"Q216796","brand:wikipedia":"en:Lincoln Motor Company",name:"Lincoln",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Mazda":{name:"Mazda",icon:"maki-car",imageURL:"https://graph.facebook.com/Mazda.Japan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q35996",shop:"car"},addTags:{brand:"Mazda","brand:wikidata":"Q35996","brand:wikipedia":"en:Mazda",name:"Mazda",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Mercedes-Benz":{name:"Mercedes-Benz",icon:"maki-car",imageURL:"https://graph.facebook.com/MercedesBenz/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q36008",shop:"car"},addTags:{brand:"Mercedes-Benz","brand:wikidata":"Q36008","brand:wikipedia":"en:Mercedes-Benz",name:"Mercedes-Benz",shop:"car"},terms:["mercedes"],matchScore:2,suggestion:true},"shop/car/Mitsubishi":{name:"Mitsubishi",icon:"maki-car",imageURL:"https://graph.facebook.com/MitsubishiMotors.en/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q36033",shop:"car"},addTags:{brand:"Mitsubishi","brand:wikidata":"Q36033","brand:wikipedia":"en:Mitsubishi Motors",name:"Mitsubishi",shop:"car"},terms:["mitsubishi motors"],matchScore:2,suggestion:true},"shop/car/Netz":{name:"Netz",icon:"maki-car",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FToyota-Dealer-Netz.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q11325416",shop:"car"},addTags:{brand:"Netz","brand:wikidata":"Q11325416","brand:wikipedia":"ja:ネッツ店",name:"Netz",shop:"car"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/car/Nissan":{name:"Nissan",icon:"maki-car",imageURL:"https://graph.facebook.com/NissanJP/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q20165",shop:"car"},addTags:{brand:"Nissan","brand:wikidata":"Q20165","brand:wikipedia":"ja:日産自動車",name:"Nissan",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Opel":{name:"Opel",icon:"maki-car",imageURL:"https://graph.facebook.com/Opel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q40966",shop:"car"},addTags:{brand:"Opel","brand:wikidata":"Q40966","brand:wikipedia":"en:Opel",name:"Opel",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Peugeot":{name:"Peugeot",icon:"maki-car",imageURL:"https://graph.facebook.com/Peugeot/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6742",shop:"car"},addTags:{brand:"Peugeot","brand:wikidata":"Q6742","brand:wikipedia":"en:Peugeot",name:"Peugeot",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Porsche":{name:"Porsche",icon:"maki-car",imageURL:"https://graph.facebook.com/porsche/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q40993",shop:"car"},addTags:{brand:"Porsche","brand:wikidata":"Q40993","brand:wikipedia":"en:Porsche",name:"Porsche",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Renault":{name:"Renault",icon:"maki-car",imageURL:"https://graph.facebook.com/Renault/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6686",shop:"car"},addTags:{brand:"Renault","brand:wikidata":"Q6686","brand:wikipedia":"en:Renault",name:"Renault",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Seat":{name:"Seat",icon:"maki-car",imageURL:"https://graph.facebook.com/SEAT.Official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q188217",shop:"car"},addTags:{brand:"Seat","brand:wikidata":"Q188217","brand:wikipedia":"en:SEAT",name:"Seat",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Skoda":{name:"Skoda",icon:"maki-car",imageURL:"https://graph.facebook.com/skoda/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q29637",shop:"car"},addTags:{brand:"Skoda","brand:wikidata":"Q29637","brand:wikipedia":"en:Škoda Auto",name:"Skoda",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Subaru":{name:"Subaru",icon:"maki-car",imageURL:"https://graph.facebook.com/SUBARU.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q172741",shop:"car"},addTags:{brand:"Subaru","brand:wikidata":"Q172741","brand:wikipedia":"en:Subaru",name:"Subaru",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Suzuki":{name:"Suzuki",icon:"maki-car",imageURL:"https://graph.facebook.com/SuzukiGlobalOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q181642",shop:"car"},addTags:{brand:"Suzuki","brand:wikidata":"Q181642","brand:wikipedia":"en:Suzuki",name:"Suzuki",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Tesla":{name:"Tesla",icon:"maki-car",imageURL:"https://pbs.twimg.com/profile_images/489192650474414080/4RxZxsud_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q478214",shop:"car"},addTags:{brand:"Tesla","brand:wikidata":"Q478214","brand:wikipedia":"en:Tesla, Inc.",name:"Tesla",shop:"car"},terms:["tesla motors"],matchScore:2,suggestion:true},"shop/car/Toyota":{name:"Toyota",icon:"maki-car",imageURL:"https://graph.facebook.com/toyota/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q53268",shop:"car"},addTags:{brand:"Toyota","brand:wikidata":"Q53268","brand:wikipedia":"en:Toyota",name:"Toyota",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Volkswagen":{name:"Volkswagen",icon:"maki-car",imageURL:"https://graph.facebook.com/VW/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q246",shop:"car"},addTags:{brand:"Volkswagen","brand:wikidata":"Q246","brand:wikipedia":"en:Volkswagen",name:"Volkswagen",shop:"car"},terms:["vw"],matchScore:2,suggestion:true},"shop/car/Volvo":{name:"Volvo",icon:"maki-car",imageURL:"https://graph.facebook.com/volvocars/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q215293",shop:"car"},addTags:{brand:"Volvo","brand:wikidata":"Q215293","brand:wikipedia":"en:Volvo Cars",name:"Volvo",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/Автомир":{name:"Автомир",icon:"maki-car",imageURL:"https://graph.facebook.com/avtomir.cars/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4056321",shop:"car"},addTags:{brand:"Автомир","brand:wikidata":"Q4056321","brand:wikipedia":"ru:Автомир (автодилер)",name:"Автомир","name:en":"Autoworld","name:ru":"Автомир",shop:"car"},terms:[],matchScore:2,suggestion:true},"shop/car/ダイハツ":{name:"ダイハツ",icon:"maki-car",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FDaihatsu%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q27511",shop:"car"},addTags:{brand:"ダイハツ","brand:en":"Daihatsu","brand:ja":"ダイハツ","brand:wikidata":"Q27511","brand:wikipedia":"ja:ダイハツ工業",name:"ダイハツ","name:en":"Daihatsu","name:ja":"ダイハツ",shop:"car"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/car/ホンダ":{name:"ホンダ",icon:"maki-car",imageURL:"https://graph.facebook.com/HondaJP/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9584",shop:"car"},addTags:{brand:"ホンダ","brand:en":"Honda","brand:ja":"ホンダ","brand:wikidata":"Q9584","brand:wikipedia":"ja:本田技研工業",name:"ホンダ","name:en":"Honda","name:ja":"ホンダ",shop:"car"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/carpet/Carpetright":{name:"Carpetright",icon:"maki-shop",imageURL:"https://graph.facebook.com/carpetright/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5045782",shop:"carpet"},addTags:{brand:"Carpetright","brand:wikidata":"Q5045782","brand:wikipedia":"en:Carpetright",name:"Carpetright",shop:"carpet"},countryCodes:["be","gb","ie","nl"],terms:[],matchScore:2,suggestion:true},"shop/catalogue/Argos":{name:"Argos",icon:"maki-shop",imageURL:"https://graph.facebook.com/argos/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4789707",shop:"catalogue"},addTags:{brand:"Argos","brand:wikidata":"Q4789707","brand:wikipedia":"en:Argos (retailer)",name:"Argos",shop:"catalogue"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/charity/Age UK":{name:"Age UK",icon:"maki-shop",imageURL:"https://graph.facebook.com/ageuk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4691850",shop:"charity"},addTags:{brand:"Age UK","brand:wikidata":"Q4691850","brand:wikipedia":"en:Age UK",name:"Age UK",shop:"charity"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/charity/Barnardo's":{name:"Barnardo's",icon:"maki-shop",imageURL:"https://graph.facebook.com/barnardos/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2884670",shop:"charity"},addTags:{brand:"Barnardo's","brand:wikidata":"Q2884670","brand:wikipedia":"en:Barnardo's",name:"Barnardo's",shop:"charity"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/charity/British Heart Foundation":{name:"British Heart Foundation",icon:"maki-shop",imageURL:"https://graph.facebook.com/bhf/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4970039",shop:"charity"},addTags:{brand:"British Heart Foundation","brand:wikidata":"Q4970039","brand:wikipedia":"en:British Heart Foundation",name:"British Heart Foundation",shop:"charity"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/charity/British Red Cross":{name:"British Red Cross",icon:"maki-shop",imageURL:"https://graph.facebook.com/britishredcross/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4970966",shop:"charity"},addTags:{brand:"British Red Cross","brand:wikidata":"Q4970966","brand:wikipedia":"en:British Red Cross",name:"British Red Cross",shop:"charity"},countryCodes:["gb","gg","im"],terms:[],matchScore:2,suggestion:true},"shop/charity/Cancer Research UK":{name:"Cancer Research UK",icon:"maki-shop",imageURL:"https://graph.facebook.com/cancerresearchuk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q326079",shop:"charity"},addTags:{brand:"Cancer Research UK","brand:wikidata":"Q326079","brand:wikipedia":"en:Cancer Research UK",name:"Cancer Research UK",shop:"charity"},countryCodes:["gb","gg"],terms:[],matchScore:2,suggestion:true},"shop/charity/Goodwill":{name:"Goodwill",icon:"maki-shop",imageURL:"https://graph.facebook.com/GoodwillIntl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5583655",shop:"charity"},addTags:{brand:"Goodwill","brand:wikidata":"Q5583655","brand:wikipedia":"en:Goodwill Industries",name:"Goodwill",shop:"charity"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/charity/Mind":{name:"Mind",icon:"maki-shop",imageURL:"https://graph.facebook.com/mindforbettermentalhealth/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3314763",shop:"charity"},addTags:{brand:"Mind","brand:wikidata":"Q3314763","brand:wikipedia":"en:Mind (charity)",name:"Mind",shop:"charity"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/charity/Myrorna":{name:"Myrorna",icon:"maki-shop",imageURL:"https://graph.facebook.com/Myrorna/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10592609",shop:"charity"},addTags:{brand:"Myrorna","brand:wikidata":"Q10592609","brand:wikipedia":"sv:Myrorna",name:"Myrorna",shop:"charity"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/charity/Oxfam":{name:"Oxfam",icon:"maki-shop",imageURL:"https://graph.facebook.com/oxfamGB/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q267941",shop:"charity"},addTags:{brand:"Oxfam","brand:wikidata":"Q267941","brand:wikipedia":"en:Oxfam",name:"Oxfam",shop:"charity"},countryCodes:["be","de","gb","ie","im"],terms:[],matchScore:2,suggestion:true},"shop/charity/RSPCA":{name:"RSPCA",icon:"maki-shop",imageURL:"https://graph.facebook.com/RSPCA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q584819",shop:"charity"},addTags:{brand:"RSPCA","brand:wikidata":"Q584819","brand:wikipedia":"en:Royal Society for the Prevention of Cruelty to Animals",name:"RSPCA",shop:"charity"},countryCodes:["au","gb"],terms:[],matchScore:2,suggestion:true},"shop/charity/Scope":{name:"Scope",icon:"maki-shop",imageURL:"https://graph.facebook.com/Scope/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7434435",shop:"charity"},addTags:{brand:"Scope","brand:wikidata":"Q7434435","brand:wikipedia":"en:Scope (charity)",name:"Scope",shop:"charity"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/charity/Sue Ryder":{name:"Sue Ryder",icon:"maki-shop",imageURL:"https://graph.facebook.com/SueRyderNational/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7634271",shop:"charity"},addTags:{brand:"Sue Ryder","brand:wikidata":"Q7634271","brand:wikipedia":"en:Sue Ryder (charity)",name:"Sue Ryder",shop:"charity"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/charity/The Salvation Army":{name:"The Salvation Army",icon:"maki-shop",imageURL:"https://graph.facebook.com/SalvationArmyUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q188307",shop:"charity"},addTags:{brand:"The Salvation Army","brand:wikidata":"Q188307","brand:wikipedia":"en:The Salvation Army",name:"The Salvation Army",shop:"charity"},countryCodes:["au","ca","gb","us"],terms:["salvation army"],matchScore:2,suggestion:true},"shop/chemist/Bipa":{name:"Bipa",icon:"fas-shopping-basket",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBipa%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q864933",shop:"chemist"},addTags:{brand:"Bipa","brand:wikidata":"Q864933","brand:wikipedia":"de:Bipa",name:"Bipa",shop:"chemist"},countryCodes:["at","hr"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Boots":{name:"Boots",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/bootsuk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6123139",shop:"chemist"},addTags:{brand:"Boots","brand:wikidata":"Q6123139",name:"Boots",shop:"chemist"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Budnikowsky":{name:"Budnikowsky",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/BUDNI/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1001516",shop:"chemist"},addTags:{brand:"Budnikowsky","brand:wikidata":"Q1001516","brand:wikipedia":"de:Budnikowsky",name:"Budnikowsky",shop:"chemist"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/chemist/CVS Pharmacy":{name:"CVS Pharmacy",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/CVS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2078880",shop:"chemist"},addTags:{brand:"CVS Pharmacy","brand:wikidata":"Q2078880","brand:wikipedia":"en:CVS Pharmacy",name:"CVS Pharmacy",shop:"chemist",short_name:"CVS"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Drogeria Natura":{name:"Drogeria Natura",icon:"fas-shopping-basket",imageURL:"https://pbs.twimg.com/profile_images/707518851785871360/aCEmonjR_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q9212032",shop:"chemist"},addTags:{brand:"Drogeria Natura","brand:wikidata":"Q9212032","brand:wikipedia":"pl:Drogerie Natura",name:"Drogeria Natura",shop:"chemist"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Etos":{name:"Etos",icon:"fas-shopping-basket",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FEtos%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2609459",shop:"chemist"},addTags:{brand:"Etos","brand:wikidata":"Q2609459","brand:wikipedia":"en:Etos",name:"Etos",shop:"chemist"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Kruidvat":{name:"Kruidvat",icon:"fas-shopping-basket",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FKruidvat%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2226366",shop:"chemist"},addTags:{brand:"Kruidvat","brand:wikidata":"Q2226366","brand:wikipedia":"en:Kruidvat",name:"Kruidvat",shop:"chemist"},countryCodes:["be","fr","nl"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Matas":{name:"Matas",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q6786143",shop:"chemist"},addTags:{brand:"Matas","brand:wikidata":"Q6786143","brand:wikipedia":"en:Matas (drug store)",name:"Matas",shop:"chemist"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Müller":{name:"Müller",icon:"fas-shopping-basket",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%20Drogerie%20Mueller.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1958759",shop:"chemist"},addTags:{brand:"Müller","brand:wikidata":"Q1958759","brand:wikipedia":"en:Müller (German trade company)",name:"Müller",shop:"chemist"},countryCodes:["at","ch","de","es","hr","hu"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Rite Aid":{name:"Rite Aid",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/riteaid/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3433273",shop:"chemist"},addTags:{brand:"Rite Aid","brand:wikidata":"Q3433273","brand:wikipedia":"en:Rite Aid",name:"Rite Aid",shop:"chemist"},terms:[],matchScore:2,suggestion:true},"shop/chemist/Rossmann":{name:"Rossmann",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/rossmann.gmbh/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q316004",shop:"chemist"},addTags:{brand:"Rossmann","brand:wikidata":"Q316004","brand:wikipedia":"de:Dirk Rossmann GmbH",name:"Rossmann",shop:"chemist"},countryCodes:["cz","de","hu","pl"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Savers":{name:"Savers",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/SaversHB/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7428189",shop:"chemist"},addTags:{brand:"Savers","brand:wikidata":"Q7428189",name:"Savers",official_name:"Savers Health & Beauty",shop:"chemist"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Superdrug":{name:"Superdrug",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/Superdrug/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7643261",shop:"chemist"},addTags:{brand:"Superdrug","brand:wikidata":"Q7643261",name:"Superdrug",shop:"chemist"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Teta":{name:"Teta",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q20860823",shop:"chemist"},addTags:{brand:"Teta","brand:wikidata":"Q20860823","brand:wikipedia":"cs:Teta drogerie",name:"Teta",shop:"chemist"},countryCodes:["cz","sk"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Trekpleister":{name:"Trekpleister",icon:"fas-shopping-basket",imageURL:"https://pbs.twimg.com/profile_images/1141970592448602112/ubBPZHWI_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q2551576",shop:"chemist"},addTags:{brand:"Trekpleister","brand:wikidata":"Q2551576","brand:wikipedia":"nl:Trekpleister (drogisterij)",name:"Trekpleister",shop:"chemist"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/chemist/Walgreens":{name:"Walgreens",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/walgreens/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1591889",shop:"chemist"},addTags:{brand:"Walgreens","brand:wikidata":"Q1591889","brand:wikipedia":"en:Walgreens",name:"Walgreens",shop:"chemist"},countryCodes:["us"],terms:["walgreens pharmacy"],matchScore:2,suggestion:true},"shop/chemist/Watsons":{name:"Watsons",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/WatsonsPH/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7974785",shop:"chemist"},addTags:{brand:"Watsons","brand:wikidata":"Q7974785","brand:wikipedia":"en:Watsons",name:"Watsons",shop:"chemist"},terms:[],matchScore:2,suggestion:true},"shop/chemist/dm":{name:"dm",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/dm.Deutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q266572",shop:"chemist"},addTags:{brand:"dm","brand:wikidata":"Q266572","brand:wikipedia":"en:Dm-drogerie markt",name:"dm",shop:"chemist"},countryCodes:["at","ba","bg","cz","de","hr","hu","it","mk","ro","rs","si","sk"],terms:["dm drogerie markt"],matchScore:2,suggestion:true},"shop/chemist/屈臣氏":{name:"屈臣氏",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/WatsonsPH/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7974785",shop:"chemist"},addTags:{brand:"屈臣氏","brand:wikidata":"Q7974785","brand:wikipedia":"zh:屈臣氏",name:"屈臣氏",shop:"chemist"},countryCodes:["cn","hk","tw"],terms:[],matchScore:2,suggestion:true},"shop/chemist/康是美":{name:"康是美",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q11063876",shop:"chemist"},addTags:{brand:"康是美","brand:wikidata":"Q11063876","brand:wikipedia":"zh:康是美藥妝店",name:"康是美",shop:"chemist"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"shop/chocolate/Cacau Show":{name:"Cacau Show",icon:"maki-shop",imageURL:"https://graph.facebook.com/CacauShow/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9671713",shop:"chocolate"},addTags:{brand:"Cacau Show","brand:wikidata":"Q9671713","brand:wikipedia":"en:Cacau Show",name:"Cacau Show",shop:"chocolate"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"shop/chocolate/Gertrude Hawk Chocolates":{name:"Gertrude Hawk Chocolates",icon:"maki-shop",imageURL:"https://graph.facebook.com/gertrudehawkchocolates/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5553326",shop:"chocolate"},addTags:{brand:"Gertrude Hawk Chocolates","brand:wikidata":"Q5553326","brand:wikipedia":"en:Gertrude Hawk Chocolates",name:"Gertrude Hawk Chocolates",shop:"chocolate",short_name:"Gertrude Hawk"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/chocolate/Godiva Chocolatier":{name:"Godiva Chocolatier",icon:"maki-shop",imageURL:"https://graph.facebook.com/Godiva/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q931084",shop:"chocolate"},addTags:{brand:"Godiva Chocolatier","brand:wikidata":"Q931084","brand:wikipedia":"en:Godiva Chocolatier",name:"Godiva Chocolatier",shop:"chocolate",short_name:"Godiva"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/chocolate/Jeff de Bruges":{name:"Jeff de Bruges",icon:"maki-shop",imageURL:"https://graph.facebook.com/JeffdeBrugesofficiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3176626",shop:"chocolate"},addTags:{brand:"Jeff de Bruges","brand:wikidata":"Q3176626","brand:wikipedia":"fr:Jeff de Bruges",name:"Jeff de Bruges",shop:"chocolate"},countryCodes:["ca","cz","fr","gb"],terms:[],matchScore:2,suggestion:true},"shop/chocolate/Laura Secord":{name:"Laura Secord",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/771761705336639488/0S9UP_QL_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q6499418",shop:"chocolate"},addTags:{brand:"Laura Secord","brand:wikidata":"Q6499418","brand:wikipedia":"en:Laura Secord Chocolates",name:"Laura Secord",shop:"chocolate"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/chocolate/Leonidas":{name:"Leonidas",icon:"maki-shop",imageURL:"https://graph.facebook.com/Leonidas.Official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q80335",shop:"chocolate"},addTags:{brand:"Leonidas","brand:wikidata":"Q80335","brand:wikipedia":"en:Leonidas (chocolate maker)",name:"Leonidas",shop:"chocolate"},countryCodes:["be","cz","fr","gb","gr","nl"],terms:[],matchScore:2,suggestion:true},"shop/chocolate/Lindt":{name:"Lindt",icon:"maki-shop",imageURL:"https://graph.facebook.com/lindtchocolateusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q152822",shop:"chocolate"},addTags:{brand:"Lindt","brand:wikidata":"Q152822","brand:wikipedia":"en:Lindt & Sprüngli",name:"Lindt",shop:"chocolate"},terms:[],matchScore:2,suggestion:true},"shop/chocolate/Purdys Chocolatier":{name:"Purdys Chocolatier",icon:"maki-shop",imageURL:"https://graph.facebook.com/PurdysChocolatier/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7261007",shop:"chocolate"},addTags:{brand:"Purdys Chocolatier","brand:wikidata":"Q7261007","brand:wikipedia":"en:Purdy's Chocolates",name:"Purdys Chocolatier",shop:"chocolate"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/clothes/AOKI":{name:"AOKI",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/aokistyle/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11189480",shop:"clothes"},addTags:{brand:"AOKI","brand:wikidata":"Q11189480","brand:wikipedia":"ja:AOKIホールディングス",clothes:"men",name:"AOKI","name:ja":"アオキ",shop:"clothes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Abercrombie & Fitch":{name:"Abercrombie & Fitch",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/abercrombieofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q319344",shop:"clothes"},addTags:{brand:"Abercrombie & Fitch","brand:wikidata":"Q319344","brand:wikipedia":"en:Abercrombie & Fitch",clothes:"men;women",name:"Abercrombie & Fitch",shop:"clothes"},countryCodes:["de","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Accessorize":{name:"Accessorize",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/AccessorizeUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65007482",shop:"clothes"},addTags:{brand:"Accessorize","brand:wikidata":"Q65007482",name:"Accessorize",shop:"clothes"},countryCodes:["gb","it","ru"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Ackermans":{name:"Ackermans",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/AckermansSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4674255",shop:"clothes"},addTags:{brand:"Ackermans","brand:wikidata":"Q4674255","brand:wikipedia":"en:Ackermans",name:"Ackermans",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Aeropostale":{name:"Aeropostale",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Aeropostale/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q794565",shop:"clothes"},addTags:{brand:"Aeropostale","brand:wikidata":"Q794565","brand:wikipedia":"en:Aéropostale (clothing)",clothes:"men;women",name:"Aeropostale",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/AllSaints":{name:"AllSaints",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/926445027907293185/xgAk5nhG_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q4728473",shop:"clothes"},addTags:{brand:"AllSaints","brand:wikidata":"Q4728473","brand:wikipedia":"en:AllSaints",name:"AllSaints",shop:"clothes"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/clothes/American Eagle Outfitters":{name:"American Eagle Outfitters",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/americaneagle/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2842931",shop:"clothes"},addTags:{brand:"American Eagle Outfitters","brand:wikidata":"Q2842931","brand:wikipedia":"en:American Eagle Outfitters",clothes:"men;women",name:"American Eagle Outfitters",shop:"clothes",short_name:"American Eagle"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Ann Taylor":{name:"Ann Taylor",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/AnnTaylor/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4766699",shop:"clothes"},addTags:{brand:"Ann Taylor","brand:wikidata":"Q4766699","brand:wikipedia":"en:Ann Inc.",clothes:"women",name:"Ann Taylor",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Anthropologie":{name:"Anthropologie",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Anthropologie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4773903",shop:"clothes"},addTags:{brand:"Anthropologie","brand:wikidata":"Q4773903","brand:wikipedia":"en:Anthropologie",clothes:"women",name:"Anthropologie",shop:"clothes"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Arc'teryx":{name:"Arc'teryx",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/arcteryx/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3271455",shop:"clothes"},addTags:{brand:"Arc'teryx","brand:wikidata":"Q3271455","brand:wikipedia":"en:Arc'teryx",clothes:"men;women",name:"Arc'teryx",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Ardene":{name:"Ardene",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Ardene/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2860764",shop:"clothes"},addTags:{brand:"Ardene","brand:wikidata":"Q2860764","brand:wikipedia":"en:Ardene",name:"Ardene",shop:"clothes"},countryCodes:["ca","sn"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Aritzia":{name:"Aritzia",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/aritzia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4791147",shop:"clothes"},addTags:{brand:"Aritzia","brand:wikidata":"Q4791147","brand:wikipedia":"en:Aritzia",clothes:"women",name:"Aritzia",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Armand Thiery":{name:"Armand Thiery",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/ARMANDTHIERY/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2861975",shop:"clothes"},addTags:{brand:"Armand Thiery","brand:wikidata":"Q2861975","brand:wikipedia":"fr:Armand Thiery",name:"Armand Thiery",shop:"clothes"},countryCodes:["be","fr"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Armani Exchange":{name:"Armani Exchange",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/armaniexchange/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q56045740",shop:"clothes"},addTags:{brand:"Armani Exchange","brand:wikidata":"Q56045740",clothes:"men;women",name:"Armani Exchange",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Baby Gap":{name:"Baby Gap",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/GapJapan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q420822",shop:"clothes"},addTags:{brand:"Gap","brand:wikidata":"Q420822","brand:wikipedia":"en:Gap Inc.",name:"Baby Gap",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Banana Republic":{name:"Banana Republic",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/BananaRepublic/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q806085",shop:"clothes"},addTags:{brand:"Banana Republic","brand:wikidata":"Q806085","brand:wikipedia":"en:Banana Republic",clothes:"men;women",name:"Banana Republic",shop:"clothes"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Bershka":{name:"Bershka",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/bershka/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q827258",shop:"clothes"},addTags:{brand:"Bershka","brand:wikidata":"Q827258","brand:wikipedia":"en:Bershka",name:"Bershka",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Betty Barclay":{name:"Betty Barclay",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Barclay.Betty/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q850250",shop:"clothes"},addTags:{brand:"Betty Barclay","brand:wikidata":"Q850250","brand:wikipedia":"de:Betty Barclay",name:"Betty Barclay",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Big Star":{name:"Big Star",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/bigstareurope/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9171569",shop:"clothes"},addTags:{brand:"Big Star","brand:wikidata":"Q9171569","brand:wikipedia":"pl:Big Star Limited",name:"Big Star",shop:"clothes"},countryCodes:["by","pl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Billabong":{name:"Billabong",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/993897138152091648/RkssuGQ7_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q862718",shop:"clothes"},addTags:{brand:"Billabong","brand:wikidata":"Q862718","brand:wikipedia":"en:Billabong (clothing)",clothes:"men;women",name:"Billabong",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Bluenotes":{name:"Bluenotes",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/1148268137449775111/rhL9wC1e_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q4930395",shop:"clothes"},addTags:{brand:"Bluenotes","brand:wikidata":"Q4930395","brand:wikipedia":"en:Bluenotes",name:"Bluenotes",shop:"clothes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Bonita":{name:"Bonita",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/BONITAfashion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q892598",shop:"clothes"},addTags:{brand:"Bonita","brand:wikidata":"Q892598","brand:wikipedia":"de:Bonita (Unternehmen)",name:"Bonita",shop:"clothes"},countryCodes:["at","ch","de","nl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Bonobo":{name:"Bonobo",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/bonoboplanet/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63682093",shop:"clothes"},addTags:{brand:"Bonobo","brand:wikidata":"Q63682093",clothes:"men;women",name:"Bonobo",shop:"clothes"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Bonobos":{name:"Bonobos",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/bonobos/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4942546",shop:"clothes"},addTags:{brand:"Bonobos","brand:wikidata":"Q4942546","brand:wikipedia":"en:Bonobos (apparel)",clothes:"men",name:"Bonobos",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Brice":{name:"Brice",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/833583108603658240/v7HkRIsd_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q2925067",shop:"clothes"},addTags:{brand:"Brice","brand:wikidata":"Q2925067","brand:wikipedia":"fr:Brice (enseigne)",name:"Brice",shop:"clothes"},countryCodes:["be","fr"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Brooks Brothers":{name:"Brooks Brothers",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/BrooksBrothers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q929722",shop:"clothes"},addTags:{brand:"Brooks Brothers","brand:wikidata":"Q929722","brand:wikipedia":"en:Brooks Brothers",name:"Brooks Brothers",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Brunello Cucinelli":{name:"Brunello Cucinelli",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/BrunelloCucinelli/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3645582",shop:"clothes"},addTags:{brand:"Brunello Cucinelli","brand:wikidata":"Q3645582","brand:wikipedia":"en:Brunello Cucinelli",name:"Brunello Cucinelli",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Buckle":{name:"Buckle",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/bucklestore/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4983306",shop:"clothes"},addTags:{brand:"Buckle","brand:wikidata":"Q4983306","brand:wikipedia":"en:Buckle (clothing retailer)",clothes:"men;women",name:"Buckle",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Buffalo Exchange":{name:"Buffalo Exchange",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/buffaloexchange/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4985721",shop:"clothes"},addTags:{brand:"Buffalo Exchange","brand:wikidata":"Q4985721","brand:wikipedia":"en:Buffalo Exchange",name:"Buffalo Exchange",second_hand:"only",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Burberry":{name:"Burberry",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Burberry/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q390107",shop:"clothes"},addTags:{brand:"Burberry","brand:wikidata":"Q390107","brand:wikipedia":"en:Burberry",clothes:"men;women",name:"Burberry",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Burlington Coat Factory":{name:"Burlington Coat Factory",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/BurlingtonStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4999220",shop:"clothes"},addTags:{brand:"Burlington Coat Factory","brand:wikidata":"Q4999220","brand:wikipedia":"en:Burlington (department store)",name:"Burlington Coat Factory",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Burton":{name:"Burton",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/BurtonMenswear/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5000795",shop:"clothes"},addTags:{brand:"Burton","brand:wikidata":"Q5000795","brand:wikipedia":"en:Burton (retailer)",name:"Burton",shop:"clothes"},countryCodes:["fr","gb"],terms:[],matchScore:2,suggestion:true},"shop/clothes/C&A":{name:"C&A",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/ca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q701338",shop:"clothes"},addTags:{brand:"C&A","brand:wikidata":"Q701338","brand:wikipedia":"en:C&A",name:"C&A",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/COS":{name:"COS",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/cos/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60772401",shop:"clothes"},addTags:{brand:"COS","brand:wikidata":"Q60772401","brand:wikipedia":"en:COS (clothing)",name:"COS",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Cache Cache":{name:"Cache Cache",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/CacheCacheFrance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63064086",shop:"clothes"},addTags:{brand:"Cache Cache","brand:wikidata":"Q63064086",name:"Cache Cache",shop:"clothes"},countryCodes:["fr","it","lu"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Calvin Klein":{name:"Calvin Klein",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/CalvinKlein/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1068628",shop:"clothes"},addTags:{brand:"Calvin Klein","brand:wikidata":"Q1068628","brand:wikipedia":"en:Calvin Klein (company)",name:"Calvin Klein",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Calzedonia":{name:"Calzedonia",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/calzedonia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1027874",shop:"clothes"},addTags:{brand:"Calzedonia","brand:wikidata":"Q1027874","brand:wikipedia":"en:Calzedonia",name:"Calzedonia",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Camaïeu":{name:"Camaïeu",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/camaieu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2934647",shop:"clothes"},addTags:{brand:"Camaïeu","brand:wikidata":"Q2934647","brand:wikipedia":"en:Camaïeu (company)",name:"Camaïeu",shop:"clothes"},countryCodes:["be","cz","fr","it","pl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Camp David":{name:"Camp David",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/CAMPDAVID.OFFICIAL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q50540636",shop:"clothes"},addTags:{brand:"Camp David","brand:wikidata":"Q50540636","brand:wikipedia":"en:Camp David (fashion)",name:"Camp David",shop:"clothes"},countryCodes:["at","de","ee","sk"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Canada Goose":{name:"Canada Goose",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/canadagoose/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2988422",shop:"clothes"},addTags:{brand:"Canada Goose","brand:wikidata":"Q2988422","brand:wikipedia":"en:Canada Goose",name:"Canada Goose",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Carhartt":{name:"Carhartt",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Carhartt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q527877",shop:"clothes"},addTags:{brand:"Carhartt","brand:wikidata":"Q527877","brand:wikipedia":"en:Carhartt",clothes:"workwear",name:"Carhartt",shop:"clothes"},countryCodes:["gb","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Caroll":{name:"Caroll",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/carollparis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63063871",shop:"clothes"},addTags:{brand:"Caroll","brand:wikidata":"Q63063871",name:"Caroll",shop:"clothes"},countryCodes:["ch","fr"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Carter's":{name:"Carter's",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/carters/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5047083",shop:"clothes"},addTags:{brand:"Carter's","brand:wikidata":"Q5047083","brand:wikipedia":"en:Carter's",clothes:"children",name:"Carter's",shop:"clothes"},terms:["carters babies and kids"],matchScore:2,suggestion:true},"shop/clothes/Catherines":{name:"Catherines",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/CatherinesPlusSizes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64026208",shop:"clothes"},addTags:{brand:"Catherines","brand:wikidata":"Q64026208",clothes:"oversize;women",name:"Catherines",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Cato":{name:"Cato",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/CatoFashions/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16956136",shop:"clothes"},addTags:{brand:"Cato","brand:wikidata":"Q16956136","brand:wikipedia":"en:Cato Corporation",clothes:"women",name:"Cato",official_name:"Cato Fashions",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Celio":{name:"Celio",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/celioOFFICIAL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2672003",shop:"clothes"},addTags:{brand:"Celio","brand:wikidata":"Q2672003","brand:wikipedia":"en:Celio (retailer)",name:"Celio",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Chanel":{name:"Chanel",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/chanel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q218115",shop:"clothes"},addTags:{brand:"Chanel","brand:wikidata":"Q218115","brand:wikipedia":"en:Chanel",name:"Chanel",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Charles Vögele":{name:"Charles Vögele",icon:"maki-clothing-store",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FCharles%20Voegele%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1066326",shop:"clothes"},addTags:{brand:"Charles Vögele","brand:wikidata":"Q1066326","brand:wikipedia":"de:Charles Vögele Holding",name:"Charles Vögele",shop:"clothes",short_name:"Vögele"},countryCodes:["at","be","ch","de","hu","nl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Charlotte Russe":{name:"Charlotte Russe",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/CharlotteRusse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5086126",shop:"clothes"},addTags:{brand:"Charlotte Russe","brand:wikidata":"Q5086126","brand:wikipedia":"en:Charlotte Russe (clothing retailer)",name:"Charlotte Russe",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Charming Charlie":{name:"Charming Charlie",icon:"maki-clothing-store",geometry:["point","area"],tags:{"brand:wikidata":"Q16829286",shop:"clothes"},addTags:{brand:"Charming Charlie","brand:wikidata":"Q16829286","brand:wikipedia":"en:Charming Charlie",clothes:"women",name:"Charming Charlie",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Chico's":{name:"Chico's",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/LoveChicos/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5096393",shop:"clothes"},addTags:{brand:"Chico's","brand:wikidata":"Q5096393","brand:wikipedia":"en:Chico's (clothing retailer)",name:"Chico's",shop:"clothes"},countryCodes:["ar","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Christopher & Banks":{name:"Christopher & Banks",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/ChristopherandBanks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5111816",shop:"clothes"},addTags:{brand:"Christopher & Banks","brand:wikidata":"Q5111816","brand:wikipedia":"en:Christopher & Banks",name:"Christopher & Banks",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Club Monaco":{name:"Club Monaco",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/clubmonaco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2979949",shop:"clothes"},addTags:{brand:"Club Monaco","brand:wikidata":"Q2979949","brand:wikipedia":"en:Club Monaco",name:"Club Monaco",shop:"clothes"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Colin's":{name:"Colin's",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/ColinsLook/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28729658",shop:"clothes"},addTags:{brand:"Colin's","brand:wikidata":"Q28729658",name:"Colin's",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Columbia":{name:"Columbia",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/ColumbiaSportswear/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1112588",shop:"clothes"},addTags:{brand:"Columbia","brand:wikidata":"Q1112588","brand:wikipedia":"en:Columbia Sportswear",name:"Columbia",official_name:"Columbia Sportswear",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Cropp":{name:"Cropp",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/CroppGlobal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9196793",shop:"clothes"},addTags:{brand:"Cropp","brand:wikidata":"Q9196793","brand:wikipedia":"pl:Cropp",name:"Cropp",shop:"clothes"},countryCodes:["cs","hu","pl","ro","ru","sk","ua"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Cubus":{name:"Cubus",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/cubusnorge/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3439593",shop:"clothes"},addTags:{brand:"Cubus","brand:wikidata":"Q3439593","brand:wikipedia":"no:Cubus",name:"Cubus",shop:"clothes"},countryCodes:["de","fi","lv","no","pl","se"],terms:[],matchScore:2,suggestion:true},"shop/clothes/DXL Men's Apparel":{name:"DXL Men's Apparel",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/DestinationXL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61981830",shop:"clothes"},addTags:{brand:"DXL Men's Apparel","brand:wikidata":"Q61981830",clothes:"oversize;men",name:"DXL Men's Apparel",shop:"clothes",short_name:"DXL"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Damart":{name:"Damart",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/damartbelgium/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3012602",shop:"clothes"},addTags:{brand:"Damart","brand:wikidata":"Q3012602","brand:wikipedia":"en:Damart",name:"Damart",shop:"clothes"},countryCodes:["be","fr","lu"],terms:[],matchScore:2,suggestion:true},"shop/clothes/David's Bridal":{name:"David's Bridal",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/davidsbridal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5230388",shop:"clothes"},addTags:{brand:"David's Bridal","brand:wikidata":"Q5230388","brand:wikipedia":"en:David's Bridal",clothes:"wedding",name:"David's Bridal",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Desigual":{name:"Desigual",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/desigual6/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q83750",shop:"clothes"},addTags:{brand:"Desigual","brand:wikidata":"Q83750","brand:wikipedia":"en:Desigual",name:"Desigual",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Devred":{name:"Devred",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Devred1902.Officiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3025542",shop:"clothes"},addTags:{brand:"Devred","brand:wikidata":"Q3025542","brand:wikipedia":"fr:Devred 1902",name:"Devred",shop:"clothes"},countryCodes:["be","fr","ma"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Diesel":{name:"Diesel",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Diesel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q158285",shop:"clothes"},addTags:{brand:"Diesel","brand:wikidata":"Q158285","brand:wikipedia":"en:Diesel (brand)",name:"Diesel",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Dior":{name:"Dior",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Dior/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q542767",shop:"clothes"},addTags:{brand:"Dior","brand:wikidata":"Q542767","brand:wikipedia":"en:Christian Dior (fashion house)",name:"Dior",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Diverse":{name:"Diverse",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/DiverseSystem/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11694298",shop:"clothes"},addTags:{brand:"Diverse","brand:wikidata":"Q11694298","brand:wikipedia":"pl:Diverse",name:"Diverse",shop:"clothes"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Dolce & Gabbana":{name:"Dolce & Gabbana",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/DolceGabbana/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q214480",shop:"clothes"},addTags:{brand:"Dolce & Gabbana","brand:wikidata":"Q214480","brand:wikipedia":"en:Dolce & Gabbana",name:"Dolce & Gabbana",shop:"clothes"},terms:["d and g","dg","dolce and gabana","dolce and gabanna","dolce and gabbanna","dolce y gabana","dolce y gabanna","dolce y gabbana","dolce y gabbanna"],matchScore:2,suggestion:true},"shop/clothes/Dorothy Perkins":{name:"Dorothy Perkins",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/dorothyperkins/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5298588",shop:"clothes"},addTags:{brand:"Dorothy Perkins","brand:wikidata":"Q5298588","brand:wikipedia":"en:Dorothy Perkins",name:"Dorothy Perkins",shop:"clothes"},countryCodes:["gb","gg","ie","im"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Dress Barn":{name:"Dress Barn",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/dressbarn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5307031",shop:"clothes"},addTags:{brand:"Dress Barn","brand:wikidata":"Q5307031","brand:wikipedia":"en:Ascena Retail Group",name:"Dress Barn",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Dressmann":{name:"Dressmann",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/dressmann.no/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3357081",shop:"clothes"},addTags:{brand:"Dressmann","brand:wikidata":"Q3357081","brand:wikipedia":"en:Dressmann",name:"Dressmann",shop:"clothes"},countryCodes:["at","fi","no","se"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Dynamite":{name:"Dynamite",icon:"maki-clothing-store",geometry:["point","area"],tags:{"brand:wikidata":"Q3117385",shop:"clothes"},addTags:{brand:"Dynamite","brand:wikidata":"Q3117385","brand:wikipedia":"en:Groupe Dynamite",clothes:"women",name:"Dynamite",shop:"clothes"},countryCodes:["ca","jo","ku","sa","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Eddie Bauer":{name:"Eddie Bauer",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/EddieBauer/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q842174",shop:"clothes"},addTags:{brand:"Eddie Bauer","brand:wikidata":"Q842174","brand:wikipedia":"en:Eddie Bauer",name:"Eddie Bauer",shop:"clothes"},countryCodes:["ca","jp","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Edinburgh Woollen Mill":{name:"Edinburgh Woollen Mill",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/edinburghwoollenmill/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16834657",shop:"clothes"},addTags:{brand:"Edinburgh Woollen Mill","brand:wikidata":"Q16834657",name:"Edinburgh Woollen Mill",shop:"clothes"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Engbers":{name:"Engbers",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/engbers.maennermode/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1290088",shop:"clothes"},addTags:{brand:"Engbers","brand:wikidata":"Q1290088","brand:wikipedia":"de:Engbers",name:"Engbers",shop:"clothes"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Ermenegildo Zegna":{name:"Ermenegildo Zegna",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/ermenegildozegna/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1355904",shop:"clothes"},addTags:{brand:"Ermenegildo Zegna","brand:wikidata":"Q1355904","brand:wikipedia":"en:Ermenegildo Zegna",clothes:"men",name:"Ermenegildo Zegna",shop:"clothes",short_name:"Zegna"},countryCodes:["ch","it"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Ernsting's family":{name:"Ernsting's family",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Ernstingsfamily/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1361016",shop:"clothes"},addTags:{brand:"Ernsting's family","brand:wikidata":"Q1361016","brand:wikipedia":"de:Ernsting’s family",name:"Ernsting's family",shop:"clothes"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Esprit":{name:"Esprit",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/esprit/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q532746",shop:"clothes"},addTags:{brand:"Esprit","brand:wikidata":"Q532746","brand:wikipedia":"en:Esprit Holdings",name:"Esprit",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Etam":{name:"Etam",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/etam/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3059202",shop:"clothes"},addTags:{brand:"Etam","brand:wikidata":"Q3059202","brand:wikipedia":"en:Etam Développement",name:"Etam",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Express":{name:"Express",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/express/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1384784",shop:"clothes"},addTags:{brand:"Express","brand:wikidata":"Q1384784","brand:wikipedia":"en:Express, Inc.",name:"Express",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Fairweather":{name:"Fairweather",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/870307662935805961/8fyPNSUX_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q64861806",shop:"clothes"},addTags:{brand:"Fairweather","brand:wikidata":"Q64861806",clothes:"women",name:"Fairweather",shop:"clothes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Fat Face":{name:"Fat Face",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/fatfaceusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5437186",shop:"clothes"},addTags:{brand:"Fat Face","brand:wikidata":"Q5437186","brand:wikipedia":"en:Fat Face",name:"Fat Face",shop:"clothes"},countryCodes:["gb","gg","ie"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Fendi":{name:"Fendi",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Fendi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q926575",shop:"clothes"},addTags:{brand:"Fendi","brand:wikidata":"Q926575","brand:wikipedia":"en:Fendi",name:"Fendi",shop:"clothes"},countryCodes:["fr","it"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Forever 21":{name:"Forever 21",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Forever21/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1060537",shop:"clothes"},addTags:{brand:"Forever 21","brand:wikidata":"Q1060537","brand:wikipedia":"en:Forever 21",name:"Forever 21",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Free People":{name:"Free People",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/FreePeople/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5499945",shop:"clothes"},addTags:{brand:"Free People","brand:wikidata":"Q5499945","brand:wikipedia":"en:Free People",name:"Free People",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/GU":{name:"GU",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/g.u.japan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5512642",shop:"clothes"},addTags:{brand:"GU","brand:wikidata":"Q5512642","brand:wikipedia":"en:GU (retailer)",name:"GU",shop:"clothes"},countryCodes:["cl","jp","tw"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Gabe's":{name:"Gabe's",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/GabesStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5515554",shop:"clothes"},addTags:{brand:"Gabe's","brand:wikidata":"Q5515554","brand:wikipedia":"en:Gabe's",name:"Gabe's",shop:"clothes"},countryCodes:["us"],terms:["gabriel brothers"],matchScore:2,suggestion:true},"shop/clothes/Gant":{name:"Gant",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/gant/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1493667",shop:"clothes"},addTags:{brand:"Gant","brand:wikidata":"Q1493667","brand:wikipedia":"en:Gant (retailer)",name:"Gant",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Gap":{name:"Gap",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/GapJapan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q420822",shop:"clothes"},addTags:{brand:"Gap","brand:wikidata":"Q420822","brand:wikipedia":"en:Gap Inc.",name:"Gap",shop:"clothes"},terms:["the gap"],matchScore:2,suggestion:true},"shop/clothes/Gap Kids":{name:"Gap Kids",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/GapJapan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q420822",shop:"clothes"},addTags:{brand:"Gap","brand:wikidata":"Q420822","brand:wikipedia":"en:Gap Inc.",name:"Gap Kids",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Garage":{name:"Garage",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/1146854016837722112/LnnLsWgk_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q5521860",shop:"clothes"},addTags:{brand:"Garage","brand:wikidata":"Q5521860","brand:wikipedia":"en:Garage (clothing retailer)",clothes:"women",name:"Garage",shop:"clothes"},countryCodes:["am","ca","jo","om","qa","sa","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Gerry Weber":{name:"Gerry Weber",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/gerryweber.global/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q873447",shop:"clothes"},addTags:{brand:"Gerry Weber","brand:wikidata":"Q873447","brand:wikipedia":"en:Gerry Weber",name:"Gerry Weber",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Gina Laura":{name:"Gina Laura",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/ginalaura.mode/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2700576",shop:"clothes"},addTags:{brand:"Gina Laura","brand:wikidata":"Q2700576","brand:wikipedia":"de:Gina Laura",name:"Gina Laura",shop:"clothes"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Gloria Jeans":{name:"Gloria Jeans",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/gloriajeanscorp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4139985",shop:"clothes"},addTags:{brand:"Gloria Jeans","brand:wikidata":"Q4139985","brand:wikipedia":"ru:Глория Джинс",name:"Gloria Jeans",shop:"clothes"},countryCodes:["ru","ua"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Gucci":{name:"Gucci",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/GUCCI/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q178516",shop:"clothes"},addTags:{brand:"Gucci","brand:wikidata":"Q178516","brand:wikipedia":"en:Gucci",name:"Gucci",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Guess":{name:"Guess",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/GUESS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2470307",shop:"clothes"},addTags:{brand:"Guess","brand:wikidata":"Q2470307","brand:wikipedia":"en:Guess (clothing)",name:"Guess",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Gymboree":{name:"Gymboree",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Gymboree/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4039771",shop:"clothes"},addTags:{brand:"Gymboree","brand:wikidata":"Q4039771","brand:wikipedia":"en:Gymboree",name:"Gymboree",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Gémo":{name:"Gémo",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Gemo.Officiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3122954",shop:"clothes"},addTags:{brand:"Gémo","brand:wikidata":"Q3122954","brand:wikipedia":"fr:Gémo",name:"Gémo",shop:"clothes"},countryCodes:["be","ch","fr"],terms:[],matchScore:2,suggestion:true},"shop/clothes/H&M":{name:"H&M",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/hmhongkong/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q188326",shop:"clothes"},addTags:{brand:"H&M","brand:wikidata":"Q188326","brand:wikipedia":"en:H&M",name:"H&M",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Haggar":{name:"Haggar",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/1013286424693518336/6XVpnzF7_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q5638669",shop:"clothes"},addTags:{alt_name:"Haggar Clothing Co.",brand:"Haggar","brand:wikidata":"Q5638669","brand:wikipedia":"en:Haggar Clothing",name:"Haggar",shop:"clothes"},countryCodes:["us"],terms:["haggar clothing"],matchScore:2,suggestion:true},"shop/clothes/Hallhuber":{name:"Hallhuber",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/hallhuberfashion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1571714",shop:"clothes"},addTags:{brand:"Hallhuber","brand:wikidata":"Q1571714","brand:wikipedia":"de:Hallhuber (Bekleidungshaus)",name:"Hallhuber",shop:"clothes"},countryCodes:["at","ch","de","lu","nl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Hanna Andersson":{name:"Hanna Andersson",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/ShopHannaAndersson/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17460802",shop:"clothes"},addTags:{brand:"Hanna Andersson","brand:wikidata":"Q17460802","brand:wikipedia":"en:Hanna Andersson",clothes:"baby;children;women",name:"Hanna Andersson",shop:"clothes"},countryCodes:["us"],terms:["hanna anderssen"],matchScore:2,suggestion:true},"shop/clothes/Hermès":{name:"Hermès",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/hermesusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q843887",shop:"clothes"},addTags:{brand:"Hermès","brand:wikidata":"Q843887","brand:wikipedia":"en:Hermès",name:"Hermès",shop:"clothes"},countryCodes:["ch","fr"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Hollister":{name:"Hollister",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/hollister/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1257477",shop:"clothes"},addTags:{brand:"Hollister","brand:wikidata":"Q1257477","brand:wikipedia":"en:Hollister Co.",name:"Hollister",official_name:"Hollister Co.",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Hot Topic":{name:"Hot Topic",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/hottopic/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9294032",shop:"clothes"},addTags:{brand:"Hot Topic","brand:wikidata":"Q9294032","brand:wikipedia":"en:Hot Topic",name:"Hot Topic",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Hugo Boss":{name:"Hugo Boss",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/hugoboss/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q491627",shop:"clothes"},addTags:{brand:"Hugo Boss","brand:wikidata":"Q491627","brand:wikipedia":"en:Hugo Boss",name:"Hugo Boss",shop:"clothes",short_name:"Boss"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Hunkemöller":{name:"Hunkemöller",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/hunkemoller/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2604175",shop:"clothes"},addTags:{brand:"Hunkemöller","brand:wikidata":"Q2604175","brand:wikipedia":"en:Hunkemöller",name:"Hunkemöller",shop:"clothes"},countryCodes:["at","be","de","dk","es","lu","nl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Indochino":{name:"Indochino",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/indochino/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64448127",shop:"clothes"},addTags:{brand:"Indochino","brand:wikidata":"Q64448127","brand:wikipedia":"en:Indochino",clothes:"suits",name:"Indochino",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Intimissimi":{name:"Intimissimi",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/intimissimi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q305404",shop:"clothes"},addTags:{brand:"Intimissimi","brand:wikidata":"Q305404","brand:wikipedia":"en:Intimissimi",clothes:"underwear",name:"Intimissimi",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/J.Crew":{name:"J.Crew",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/jcrew/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5370765",shop:"clothes"},addTags:{brand:"J.Crew","brand:wikidata":"Q5370765","brand:wikipedia":"en:J.Crew",clothes:"men;women;children",name:"J.Crew",shop:"clothes"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/J.Jill":{name:"J.Jill",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/JJillStyle/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64448268",shop:"clothes"},addTags:{brand:"J.Jill","brand:wikidata":"Q64448268","brand:wikipedia":"en:J.Jill",clothes:"women",name:"J.Jill",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/JBC":{name:"JBC",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/jbcfashion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2671470",shop:"clothes"},addTags:{brand:"JBC","brand:wikidata":"Q2671470","brand:wikipedia":"nl:JBC",name:"JBC",shop:"clothes"},countryCodes:["be","lu"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Jack & Jones":{name:"Jack & Jones",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/jackandjonesUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6077665",shop:"clothes"},addTags:{brand:"Jack & Jones","brand:wikidata":"Q6077665","brand:wikipedia":"en:Jack & Jones",name:"Jack & Jones",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Jack Wills":{name:"Jack Wills",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/jackwills/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6115814",shop:"clothes"},addTags:{brand:"Jack Wills","brand:wikidata":"Q6115814","brand:wikipedia":"en:Jack Wills",name:"Jack Wills",shop:"clothes"},countryCodes:["ae","gb","hk","ie","kw","lb","mo","sg","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Janie & Jack":{name:"Janie & Jack",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/janieandjack/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64449634",shop:"clothes"},addTags:{brand:"Janie & Jack","brand:wikidata":"Q64449634","brand:wikipedia":"en:Janie & Jack",clothes:"children",name:"Janie & Jack",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Jeans Fritz":{name:"Jeans Fritz",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/JeansFritz/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1686071",shop:"clothes"},addTags:{brand:"Jeans Fritz","brand:wikidata":"Q1686071","brand:wikipedia":"de:Jeans Fritz",name:"Jeans Fritz",shop:"clothes"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Jennyfer":{name:"Jennyfer",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/brand.jennyfer/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3177174",shop:"clothes"},addTags:{brand:"Jennyfer","brand:wikidata":"Q3177174","brand:wikipedia":"fr:Jennyfer",name:"Jennyfer",shop:"clothes"},countryCodes:["fr","it","lu"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Jet":{name:"Jet",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/JetGoodForLife/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61995123",shop:"clothes"},addTags:{brand:"Jet","brand:wikidata":"Q61995123",name:"Jet",shop:"clothes"},countryCodes:["za"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Jigsaw":{name:"Jigsaw",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/InsideJigsaw/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6192383",shop:"clothes"},addTags:{brand:"Jigsaw","brand:wikidata":"Q6192383","brand:wikipedia":"en:Jigsaw (clothing retailer)",name:"Jigsaw",shop:"clothes"},countryCodes:["au","gb","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/JoS. A. Bank":{name:"JoS. A. Bank",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Jos.A.Bank.Clothiers.Inc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6204078",shop:"clothes"},addTags:{brand:"JoS. A. Bank","brand:wikidata":"Q6204078","brand:wikipedia":"en:JoS. A. Bank Clothiers",name:"JoS. A. Bank",official_name:"Jos. A. Bank Clothiers",shop:"clothes"},countryCodes:["us"],terms:["joseph a bank"],matchScore:2,suggestion:true},"shop/clothes/Joules":{name:"Joules",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Joules/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25351738",shop:"clothes"},addTags:{brand:"Joules","brand:wikidata":"Q25351738","brand:wikipedia":"en:Joules (clothing)",name:"Joules",shop:"clothes"},countryCodes:["gb","gg","ie"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Jules":{name:"Jules",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Julescom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3188386",shop:"clothes"},addTags:{brand:"Jules","brand:wikidata":"Q3188386","brand:wikipedia":"fr:Jules (enseigne)",clothes:"men",name:"Jules",shop:"clothes"},countryCodes:["be","fr","it"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Justice":{name:"Justice",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Justice/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7857512",shop:"clothes"},addTags:{brand:"Justice","brand:wikidata":"Q7857512","brand:wikipedia":"en:Tween Brands",name:"Justice",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/KappAhl":{name:"KappAhl",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/kappahl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4349016",shop:"clothes"},addTags:{brand:"KappAhl","brand:wikidata":"Q4349016","brand:wikipedia":"sv:Kappahl",name:"KappAhl",shop:"clothes"},countryCodes:["fi","no","pl","se"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Kate Spade New York":{name:"Kate Spade New York",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/katespadeny/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6375797",shop:"clothes"},addTags:{brand:"Kate Spade New York","brand:wikidata":"Q6375797","brand:wikipedia":"en:Kate Spade New York",name:"Kate Spade New York",shop:"clothes",short_name:"Kate Spade"},countryCodes:["ca","us"],terms:["kate spade ny"],matchScore:2,suggestion:true},"shop/clothes/KiK":{name:"KiK",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/kik/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q883965",shop:"clothes"},addTags:{brand:"KiK","brand:wikidata":"Q883965","brand:wikipedia":"en:KiK",name:"KiK",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Kiabi":{name:"Kiabi",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Kiabi.official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3196299",shop:"clothes"},addTags:{brand:"Kiabi","brand:wikidata":"Q3196299","brand:wikipedia":"fr:Kiabi",name:"Kiabi",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/LC Waikiki":{name:"LC Waikiki",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/lcwaikiki/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3205965",shop:"clothes"},addTags:{brand:"LC Waikiki","brand:wikidata":"Q3205965","brand:wikipedia":"fr:LC Waikiki",name:"LC Waikiki",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/La Senza":{name:"La Senza",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/lasenza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3212802",shop:"clothes"},addTags:{brand:"La Senza","brand:wikidata":"Q3212802","brand:wikipedia":"en:La Senza",name:"La Senza",shop:"clothes"},countryCodes:["ca","gb"],terms:[],matchScore:2,suggestion:true},"shop/clothes/La Vie en Rose":{name:"La Vie en Rose",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/540241105199980544/QfhC9PHl_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q4950452",shop:"clothes"},addTags:{brand:"La Vie en Rose","brand:wikidata":"Q4950452","brand:wikipedia":"en:Boutique La Vie en Rose",clothes:"underwear;women",name:"La Vie en Rose",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Lacoste":{name:"Lacoste",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Lacoste/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q309031",shop:"clothes"},addTags:{brand:"Lacoste","brand:wikidata":"Q309031","brand:wikipedia":"en:Lacoste",name:"Lacoste",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Lane Bryant":{name:"Lane Bryant",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/LaneBryant/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6485350",shop:"clothes"},addTags:{brand:"Lane Bryant","brand:wikidata":"Q6485350","brand:wikipedia":"en:Lane Bryant",clothes:"oversize;women",name:"Lane Bryant",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Laura":{name:"Laura",icon:"maki-clothing-store",geometry:["point","area"],tags:{"brand:wikidata":"Q6498590",shop:"clothes"},addTags:{brand:"Laura","brand:wikidata":"Q6498590","brand:wikipedia":"en:Laura (clothing retailer)",clothes:"women",name:"Laura",shop:"clothes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Le Château":{name:"Le Château",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/984791052736434176/OKpgwHyj_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q6506731",shop:"clothes"},addTags:{brand:"Le Château","brand:wikidata":"Q6506731","brand:wikipedia":"en:Le Château",name:"Le Château",shop:"clothes"},countryCodes:["ae","ca","sa"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Levi's":{name:"Levi's",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Levis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q127962",shop:"clothes"},addTags:{brand:"Levi's","brand:wikidata":"Q127962","brand:wikipedia":"en:Levi Strauss & Co.",clothes:"denim;men;women",name:"Levi's",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Lids":{name:"Lids",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Lids/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19841609",shop:"clothes"},addTags:{brand:"Lids","brand:wikidata":"Q19841609","brand:wikipedia":"en:Lids (store)",clothes:"hats",name:"Lids",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Lindex":{name:"Lindex",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/lindex/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1786717",shop:"clothes"},addTags:{brand:"Lindex","brand:wikidata":"Q1786717","brand:wikipedia":"en:Lindex",name:"Lindex",shop:"clothes"},countryCodes:["cz","ee","fi","no","se","sk"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Loft":{name:"Loft",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/LOFT/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62075137",shop:"clothes"},addTags:{brand:"Loft","brand:wikidata":"Q62075137",clothes:"women",name:"Loft",shop:"clothes"},terms:["ann taylor loft"],matchScore:2,suggestion:true},"shop/clothes/Loro Piana":{name:"Loro Piana",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/LoroPiana/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1686544",shop:"clothes"},addTags:{brand:"Loro Piana","brand:wikidata":"Q1686544","brand:wikipedia":"en:Loro Piana",name:"Loro Piana",shop:"clothes"},countryCodes:["fr","it"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Louis Vuitton":{name:"Louis Vuitton",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/LouisVuitton/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q191485",shop:"clothes"},addTags:{brand:"Louis Vuitton","brand:wikidata":"Q191485","brand:wikipedia":"en:Louis Vuitton",name:"Louis Vuitton",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Lowes":{name:"Lowes",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/842174325243305984/dylLS9xr_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q6693996",shop:"clothes"},addTags:{brand:"Lowes","brand:wikidata":"Q6693996","brand:wikipedia":"en:Lowes Menswear",name:"Lowes",shop:"clothes"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Lucky Brand":{name:"Lucky Brand",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/luckybrand/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6697865",shop:"clothes"},addTags:{brand:"Lucky Brand","brand:wikidata":"Q6697865","brand:wikipedia":"en:Lucky Brand Jeans",name:"Lucky Brand",shop:"clothes"},countryCodes:["ca","us"],terms:["lucky brand jeans"],matchScore:2,suggestion:true},"shop/clothes/Lululemon":{name:"Lululemon",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/lululemon/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6702957",shop:"clothes"},addTags:{brand:"Lululemon","brand:wikidata":"Q6702957","brand:wikipedia":"en:Lululemon Athletica",clothes:"men;women",name:"Lululemon",official_name:"Lululemon Athletica",shop:"clothes"},countryCodes:["au","ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/M&Co":{name:"M&Co",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/mandcofashion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6711808",shop:"clothes"},addTags:{brand:"M&Co","brand:wikidata":"Q6711808","brand:wikipedia":"en:M&Co.",name:"M&Co",shop:"clothes"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Madewell":{name:"Madewell",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/madewell/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64026213",shop:"clothes"},addTags:{brand:"Madewell","brand:wikidata":"Q64026213",clothes:"men;women",name:"Madewell",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Mango":{name:"Mango",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/mango.com/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q136503",shop:"clothes"},addTags:{brand:"Mango","brand:wikidata":"Q136503","brand:wikipedia":"en:Mango (retailer)",name:"Mango",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Marc O'Polo":{name:"Marc O'Polo",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/marcopoloru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1892752",shop:"clothes"},addTags:{brand:"Marc O'Polo","brand:wikidata":"Q1892752","brand:wikipedia":"en:Marc O'Polo",name:"Marc O'Polo",shop:"clothes"},countryCodes:["at","be","ch","de","nl","pl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Marimekko":{name:"Marimekko",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/marimekkodesignhouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q534903",shop:"clothes"},addTags:{brand:"Marimekko","brand:wikidata":"Q534903","brand:wikipedia":"fi:Marimekko",name:"Marimekko",shop:"clothes"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Mark's":{name:"Mark's",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/MarksClothing/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6766373",shop:"clothes"},addTags:{brand:"Mark's","brand:wikidata":"Q6766373","brand:wikipedia":"en:Mark's",name:"Mark's",shop:"clothes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Massimo Dutti":{name:"Massimo Dutti",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/MassimoDuttiOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q788231",shop:"clothes"},addTags:{brand:"Massimo Dutti","brand:wikidata":"Q788231","brand:wikipedia":"en:Massimo Dutti",name:"Massimo Dutti",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Matalan":{name:"Matalan",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/shopmatalan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12061509",shop:"clothes"},addTags:{brand:"Matalan","brand:wikidata":"Q12061509","brand:wikipedia":"en:Matalan",name:"Matalan",shop:"clothes"},countryCodes:["ae","gb"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Maurices":{name:"Maurices",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/maurices/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6793571",shop:"clothes"},addTags:{brand:"Maurices","brand:wikidata":"Q6793571","brand:wikipedia":"en:Maurices",name:"Maurices",shop:"clothes"},countryCodes:["ca","fr","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Max Mara":{name:"Max Mara",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/maxmara/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1151774",shop:"clothes"},addTags:{brand:"Max Mara","brand:wikidata":"Q1151774","brand:wikipedia":"en:Max Mara",name:"Max Mara",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Melanie Lyne":{name:"Melanie Lyne",icon:"maki-clothing-store",geometry:["point","area"],tags:{"brand:wikidata":"Q64861470",shop:"clothes"},addTags:{brand:"Melanie Lyne","brand:wikidata":"Q64861470",clothes:"women",name:"Melanie Lyne",shop:"clothes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Men's Wearhouse":{name:"Men's Wearhouse",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/MensWearhouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57405513",shop:"clothes"},addTags:{brand:"Men's Wearhouse","brand:wikidata":"Q57405513","brand:wikipedia":"en:Men's Wearhouse",clothes:"suits",name:"Men's Wearhouse",shop:"clothes"},countryCodes:["us"],terms:["mens warehouse"],matchScore:2,suggestion:true},"shop/clothes/Mexx":{name:"Mexx",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Mexx/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1837290",shop:"clothes"},addTags:{brand:"Mexx","brand:wikidata":"Q1837290","brand:wikipedia":"en:Mexx",name:"Mexx",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Michael Kors":{name:"Michael Kors",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/MichaelKors/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19572998",shop:"clothes"},addTags:{brand:"Michael Kors","brand:wikidata":"Q19572998","brand:wikipedia":"en:Capri Holdings",name:"Michael Kors",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Monsoon":{name:"Monsoon",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/MonsoonUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65007501",shop:"clothes"},addTags:{brand:"Monsoon","brand:wikidata":"Q65007501",name:"Monsoon",shop:"clothes"},countryCodes:["gb","gg","ie"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Moores":{name:"Moores",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/471700618038345729/gZ8q6UVv_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q6908309",shop:"clothes"},addTags:{brand:"Moores","brand:wikidata":"Q6908309","brand:wikipedia":"en:Moores",clothes:"men",name:"Moores",shop:"clothes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Mr Price":{name:"Mr Price",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/MRPFASHION/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6929120",shop:"clothes"},addTags:{brand:"Mr Price","brand:wikidata":"Q6929120","brand:wikipedia":"en:Mr. Price",name:"Mr Price",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/NKD":{name:"NKD",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/nkd.friends/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q927272",shop:"clothes"},addTags:{brand:"NKD","brand:wikidata":"Q927272","brand:wikipedia":"de:NKD",name:"NKD",shop:"clothes"},countryCodes:["at","de","it","si"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Naf Naf":{name:"Naf Naf",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/nafnaf.com/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3334188",shop:"clothes"},addTags:{brand:"Naf Naf","brand:wikidata":"Q3334188","brand:wikipedia":"fr:Naf Naf",name:"Naf Naf",shop:"clothes"},countryCodes:["ch","fr"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Nautica":{name:"Nautica",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Nautica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6981479",shop:"clothes"},addTags:{brand:"Nautica","brand:wikidata":"Q6981479","brand:wikipedia":"en:Nautica (clothing company)",name:"Nautica",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/New Look":{name:"New Look",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/newlook/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12063852",shop:"clothes"},addTags:{brand:"New Look","brand:wikidata":"Q12063852","brand:wikipedia":"en:New Look (company)",name:"New Look",shop:"clothes"},countryCodes:["be","de","fr","gb","ie","pl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/New York & Company":{name:"New York & Company",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/NewYorkandCompany/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7012977",shop:"clothes"},addTags:{brand:"New York & Company","brand:wikidata":"Q7012977","brand:wikipedia":"en:New York & Company",name:"New York & Company",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/New Yorker":{name:"New Yorker",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/NewYorker.Fashion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q706421",shop:"clothes"},addTags:{brand:"New Yorker","brand:wikidata":"Q706421","brand:wikipedia":"en:New Yorker (clothing)",name:"New Yorker",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Next":{name:"Next",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/nextofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q246655",shop:"clothes"},addTags:{brand:"Next","brand:wikidata":"Q246655","brand:wikipedia":"en:Next plc",name:"Next",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Nike":{name:"Nike",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/nike/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q483915",shop:"clothes"},addTags:{brand:"Nike","brand:wikidata":"Q483915","brand:wikipedia":"en:Nike, Inc.",name:"Nike",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Nordstrom Rack":{name:"Nordstrom Rack",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/NordstromRack/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q21463374",shop:"clothes"},addTags:{brand:"Nordstrom Rack","brand:wikidata":"Q21463374","brand:wikipedia":"en:Nordstrom Rack",name:"Nordstrom Rack",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/OVS":{name:"OVS",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/OVSGlobalPage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2042514",shop:"clothes"},addTags:{brand:"OVS","brand:wikidata":"Q2042514","brand:wikipedia":"en:OVS (company)",name:"OVS",shop:"clothes"},countryCodes:["at","ch","fr","it","si"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Oasis":{name:"Oasis",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/oasisfashions/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64532852",shop:"clothes"},addTags:{brand:"Oasis","brand:wikidata":"Q64532852",name:"Oasis",shop:"clothes"},countryCodes:["es","gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Okaïdi":{name:"Okaïdi",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/OkaidiWorld/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3350027",shop:"clothes"},addTags:{brand:"Okaïdi","brand:wikidata":"Q3350027","brand:wikipedia":"fr:Okaïdi",name:"Okaïdi",shop:"clothes"},countryCodes:["be","ch","es","fr","it","pl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Old Navy":{name:"Old Navy",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/oldnavy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2735242",shop:"clothes"},addTags:{brand:"Old Navy","brand:wikidata":"Q2735242","brand:wikipedia":"en:Old Navy",name:"Old Navy",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Only":{name:"Only",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/ONLY/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61799370",shop:"clothes"},addTags:{brand:"Only","brand:wikidata":"Q61799370",name:"Only",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Orchestra":{name:"Orchestra",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/orchestraUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28042940",shop:"clothes"},addTags:{brand:"Orchestra","brand:wikidata":"Q28042940","brand:wikipedia":"fr:Orchestra Prémaman",name:"Orchestra",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Orsay":{name:"Orsay",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/orsay/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q883245",shop:"clothes"},addTags:{brand:"Orsay","brand:wikidata":"Q883245","brand:wikipedia":"de:Orsay (Modeunternehmen)",name:"Orsay",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Outfit":{name:"Outfit",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/OutfitFashionUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7112061",shop:"clothes"},addTags:{brand:"Outfit","brand:wikidata":"Q7112061","brand:wikipedia":"en:Outfit (retailer)",name:"Outfit",shop:"clothes"},countryCodes:["de","gb"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Oysho":{name:"Oysho",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/OYSHO/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3327046",shop:"clothes"},addTags:{brand:"Oysho","brand:wikidata":"Q3327046","brand:wikipedia":"en:Oysho",name:"Oysho",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/PacSun":{name:"PacSun",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/pacsun/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7121857",shop:"clothes"},addTags:{brand:"PacSun","brand:wikidata":"Q7121857","brand:wikipedia":"en:PacSun",name:"PacSun",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Palmers":{name:"Palmers",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/palmers.official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1509985",shop:"clothes"},addTags:{brand:"Palmers","brand:wikidata":"Q1509985","brand:wikipedia":"de:Palmers",name:"Palmers",shop:"clothes"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Peacocks":{name:"Peacocks",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/peacocksclothing/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7157762",shop:"clothes"},addTags:{brand:"Peacocks","brand:wikidata":"Q7157762","brand:wikipedia":"en:Peacocks (clothing)",name:"Peacocks",shop:"clothes"},countryCodes:["cy","gb"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Peek & Cloppenburg":{name:"Peek & Cloppenburg",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/peekcloppenburg/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2066959",shop:"clothes"},addTags:{brand:"Peek & Cloppenburg","brand:wikidata":"Q2066959","brand:wikipedia":"en:Peek & Cloppenburg",name:"Peek & Cloppenburg",shop:"clothes"},countryCodes:["at","be","de","nl","pl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Pep":{name:"Pep",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/PEPSocial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7166182",shop:"clothes"},addTags:{brand:"Pep","brand:wikidata":"Q7166182","brand:wikipedia":"en:Pep (store)",name:"Pep",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Pepco":{name:"Pepco",icon:"maki-clothing-store",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%20of%20the%20Potomac%20Electric%20Power%20Company.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q11815580",shop:"clothes"},addTags:{brand:"Pepco","brand:wikidata":"Q11815580","brand:wikipedia":"pl:Pepco",name:"Pepco",shop:"clothes"},countryCodes:["cz","hu","pl","ro","sk"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Petit Bateau":{name:"Petit Bateau",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/petitbateauus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3377090",shop:"clothes"},addTags:{brand:"Petit Bateau","brand:wikidata":"Q3377090","brand:wikipedia":"en:Petit Bateau",name:"Petit Bateau",shop:"clothes"},countryCodes:["be","de","fr","gb","it","lu"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Phase Eight":{name:"Phase Eight",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/phaseeight/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17020730",shop:"clothes"},addTags:{brand:"Phase Eight","brand:wikidata":"Q17020730","brand:wikipedia":"en:Phase Eight",name:"Phase Eight",shop:"clothes"},countryCodes:["ch","de","gb"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Pierre Cardin":{name:"Pierre Cardin",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/PIERRECARDINOFFICIAL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q22921009",shop:"clothes"},addTags:{brand:"Pierre Cardin","brand:wikidata":"Q22921009",name:"Pierre Cardin",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Pimkie":{name:"Pimkie",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Pimkie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1758066",shop:"clothes"},addTags:{brand:"Pimkie","brand:wikidata":"Q1758066","brand:wikipedia":"en:Pimkie",name:"Pimkie",shop:"clothes"},countryCodes:["at","be","de","es","fr","it"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Pink":{name:"Pink",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/vspink/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q20716793",shop:"clothes"},addTags:{brand:"Pink","brand:wikidata":"Q20716793","brand:wikipedia":"en:Pink (Victoria's Secret)",clothes:"underwear;women",name:"Pink",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Plato's Closet":{name:"Plato's Closet",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/platoscloset/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61779112",shop:"clothes"},addTags:{brand:"Plato's Closet","brand:wikidata":"Q61779112",name:"Plato's Closet",second_hand:"only",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Polo Ralph Lauren":{name:"Polo Ralph Lauren",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/RalphLauren/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1641437",shop:"clothes"},addTags:{brand:"Polo Ralph Lauren","brand:wikidata":"Q1641437","brand:wikipedia":"en:Ralph Lauren Corporation",name:"Polo Ralph Lauren",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Primark":{name:"Primark",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Primark/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q137023",shop:"clothes"},addTags:{brand:"Primark","brand:wikidata":"Q137023","brand:wikipedia":"en:Primark",name:"Primark",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Promod":{name:"Promod",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Promod/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3407429",shop:"clothes"},addTags:{brand:"Promod","brand:wikidata":"Q3407429","brand:wikipedia":"en:Promod",name:"Promod",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Pull & Bear":{name:"Pull & Bear",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/pullandbear/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q691029",shop:"clothes"},addTags:{brand:"Pull & Bear","brand:wikidata":"Q691029","brand:wikipedia":"en:Pull&Bear",name:"Pull & Bear",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Puma":{name:"Puma",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/PUMA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q157064",shop:"clothes"},addTags:{brand:"Puma","brand:wikidata":"Q157064","brand:wikipedia":"en:Puma (brand)",name:"Puma",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Rainbow":{name:"Rainbow",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/RainbowApparel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7284708",shop:"clothes"},addTags:{brand:"Rainbow","brand:wikidata":"Q7284708","brand:wikipedia":"en:Rainbow Shops",name:"Rainbow",shop:"clothes"},countryCodes:["de","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Reebok":{name:"Reebok",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/ReebokUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q466183",shop:"clothes"},addTags:{brand:"Reebok","brand:wikidata":"Q466183","brand:wikipedia":"en:Reebok",name:"Reebok",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Reitmans":{name:"Reitmans",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/reitmans/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7310506",shop:"clothes"},addTags:{brand:"Reitmans","brand:wikidata":"Q7310506","brand:wikipedia":"en:Reitmans",name:"Reitmans",shop:"clothes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Reserved":{name:"Reserved",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Reserved/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q21809354",shop:"clothes"},addTags:{brand:"Reserved","brand:wikidata":"Q21809354","brand:wikipedia":"en:Reserved",name:"Reserved",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/River Island":{name:"River Island",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/riverisland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2670328",shop:"clothes"},addTags:{brand:"River Island","brand:wikidata":"Q2670328","brand:wikipedia":"en:River Island",name:"River Island",shop:"clothes"},countryCodes:["gb","ie","im","nl","pl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Robert Graham":{name:"Robert Graham",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/robertgrahamnyc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18390679",shop:"clothes"},addTags:{brand:"Robert Graham","brand:wikidata":"Q18390679","brand:wikipedia":"en:Robert Graham (fashion brand)",clothes:"men",name:"Robert Graham",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Ross":{name:"Ross",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/RossDressforLess/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3442791",shop:"clothes"},addTags:{brand:"Ross","brand:wikidata":"Q3442791","brand:wikipedia":"en:Ross Stores",name:"Ross",official_name:"Ross Dress for Less",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Saint Laurent":{name:"Saint Laurent",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/ysl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2282172",shop:"clothes"},addTags:{alt_name:"Yves Saint Laurent",brand:"Saint Laurent","brand:wikidata":"Q2282172","brand:wikipedia":"en:Yves Saint Laurent (brand)",name:"Saint Laurent",shop:"clothes",short_name:"YSL"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Sela":{name:"Sela",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/sela.shop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62075111",shop:"clothes"},addTags:{brand:"Sela","brand:wikidata":"Q62075111",name:"Sela",shop:"clothes"},countryCodes:["kg","ru"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Sergent Major":{name:"Sergent Major",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/sergent.major.officiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62521738",shop:"clothes"},addTags:{brand:"Sergent Major","brand:wikidata":"Q62521738","brand:wikipedia":"fr:Sergent Major (entreprise)",clothes:"babies;children",name:"Sergent Major",shop:"clothes"},countryCodes:["be","de","es","fr","gb","it"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Sisley":{name:"Sisley",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Sisley/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12054325",shop:"clothes"},addTags:{brand:"Sisley","brand:wikidata":"Q12054325","brand:wikipedia":"cs:Sisley",name:"Sisley",shop:"clothes"},countryCodes:["at","ch","de","hr","it","ru"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Slaters":{name:"Slaters",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Slaters1973/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7538912",shop:"clothes"},addTags:{brand:"Slaters","brand:wikidata":"Q7538912",clothes:"suits",name:"Slaters",shop:"clothes"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Spanx":{name:"Spanx",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/SPANX/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1932886",shop:"clothes"},addTags:{brand:"Spanx","brand:wikidata":"Q1932886","brand:wikipedia":"en:Spanx",clothes:"underwear",name:"Spanx",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Springfield":{name:"Springfield",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Springfield/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q958209",shop:"clothes"},addTags:{brand:"Springfield","brand:wikidata":"Q958209","brand:wikipedia":"es:Springfield (cadena de tiendas)",name:"Springfield",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Stefanel":{name:"Stefanel",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Stefanel.Official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2338087",shop:"clothes"},addTags:{brand:"Stefanel","brand:wikidata":"Q2338087","brand:wikipedia":"ro:Stefanel (companie)",name:"Stefanel",shop:"clothes"},countryCodes:["at","de","fr","it"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Stitches":{name:"Stitches",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/659104617792434176/FTrSM8oi_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7617652",shop:"clothes"},addTags:{brand:"Stitches","brand:wikidata":"Q7617652","brand:wikipedia":"en:Stitches (store)",name:"Stitches",shop:"clothes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Stradivarius":{name:"Stradivarius",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/stradivas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3322945",shop:"clothes"},addTags:{brand:"Stradivarius","brand:wikidata":"Q3322945","brand:wikipedia":"en:Stradivarius (clothing brand)",name:"Stradivarius",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Street One":{name:"Street One",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/MyStreetOne/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61997265",shop:"clothes"},addTags:{brand:"Street One","brand:wikidata":"Q61997265",name:"Street One",shop:"clothes"},countryCodes:["at","be","bg","ch","cz","de","dk","es","fi","fr","hr","hu","ie","it","lt","lu","lv","nl","no","pl","ro","se","si","sk"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Suburbia":{name:"Suburbia",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/moda.suburbia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6134992",shop:"clothes"},addTags:{brand:"Suburbia","brand:wikidata":"Q6134992","brand:wikipedia":"en:Suburbia (department store)",name:"Suburbia",shop:"clothes"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Superdry":{name:"Superdry",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/SuperdryUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1684445",shop:"clothes"},addTags:{brand:"Superdry","brand:wikidata":"Q1684445","brand:wikipedia":"en:Superdry",name:"Superdry",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Suzy Shier":{name:"Suzy Shier",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/743172502814285828/rKuPz3Ms_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q65464976",shop:"clothes"},addTags:{brand:"Suzy Shier","brand:wikidata":"Q65464976",clothes:"women",name:"Suzy Shier",shop:"clothes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/clothes/TJ Maxx":{name:"TJ Maxx",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/tjmaxx/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10860683",shop:"clothes"},addTags:{brand:"TJ Maxx","brand:wikidata":"Q10860683","brand:wikipedia":"en:TJ Maxx",name:"TJ Maxx",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/TK Maxx":{name:"TK Maxx",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/tkmaxx/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23823668",shop:"clothes"},addTags:{brand:"TK Maxx","brand:wikidata":"Q23823668","brand:wikipedia":"en:TK Maxx",name:"TK Maxx",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Takko":{name:"Takko",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/TakkoFashion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1371302",shop:"clothes"},addTags:{brand:"Takko","brand:wikidata":"Q1371302","brand:wikipedia":"de:Takko",name:"Takko",shop:"clothes"},countryCodes:["at","cz","de","hu","nl"],terms:["takko fashion"],matchScore:2,suggestion:true},"shop/clothes/Talbots":{name:"Talbots",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/TALBOTS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7679064",shop:"clothes"},addTags:{brand:"Talbots","brand:wikidata":"Q7679064","brand:wikipedia":"en:Talbots",name:"Talbots",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Tally Weijl":{name:"Tally Weijl",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/TALLYWEiJL.official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q689695",shop:"clothes"},addTags:{brand:"Tally Weijl","brand:wikidata":"Q689695","brand:wikipedia":"en:Tally Weijl",name:"Tally Weijl",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Tati":{name:"Tati",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Tati/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3516026",shop:"clothes"},addTags:{brand:"Tati","brand:wikidata":"Q3516026","brand:wikipedia":"fr:Tati (entreprise)",name:"Tati",shop:"clothes"},countryCodes:["dz","fr"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Tezenis":{name:"Tezenis",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/tezenis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28056374",shop:"clothes"},addTags:{brand:"Tezenis","brand:wikidata":"Q28056374",name:"Tezenis",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/The Children's Place":{name:"The Children's Place",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/childrensplace/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3520257",shop:"clothes"},addTags:{alt_name:"Children's Place",brand:"The Children's Place","brand:wikidata":"Q3520257","brand:wikipedia":"en:The Children's Place",name:"The Children's Place",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/The North Face":{name:"The North Face",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/thenorthface/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q152784",shop:"clothes"},addTags:{alt_name:"North Face",brand:"The North Face","brand:wikidata":"Q152784","brand:wikipedia":"en:The North Face",name:"The North Face",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/The Sting":{name:"The Sting",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/thesting.official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2518794",shop:"clothes"},addTags:{brand:"The Sting","brand:wikidata":"Q2518794","brand:wikipedia":"nl:The Sting Companies",name:"The Sting",shop:"clothes"},countryCodes:["be","de","gb","nl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/The Walking Company":{name:"The Walking Company",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/TheWalkingCompany/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q30716262",shop:"clothes"},addTags:{alt_name:"Walking Company",brand:"The Walking Company","brand:wikidata":"Q30716262","brand:wikipedia":"en:The Walking Company",name:"The Walking Company",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Tillys":{name:"Tillys",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/780828141644230657/2yanagO1_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7802889",shop:"clothes"},addTags:{brand:"Tillys","brand:wikidata":"Q7802889","brand:wikipedia":"en:Tillys",clothes:"children;men;women",name:"Tillys",shop:"clothes"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Timberland":{name:"Timberland",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/timberland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1539185",shop:"clothes"},addTags:{brand:"Timberland","brand:wikidata":"Q1539185","brand:wikipedia":"en:The Timberland Company",name:"Timberland",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Tip Top Tailors":{name:"Tip Top Tailors",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/1092442171238699013/-Zx_BPzB_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7808781",shop:"clothes"},addTags:{brand:"Tip Top Tailors","brand:wikidata":"Q7808781","brand:wikipedia":"en:Tip Top Tailors",clothes:"men",name:"Tip Top Tailors",shop:"clothes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Tom Tailor":{name:"Tom Tailor",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/tomtailor/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q571206",shop:"clothes"},addTags:{brand:"Tom Tailor","brand:wikidata":"Q571206","brand:wikipedia":"en:Tom Tailor",name:"Tom Tailor",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Tommy Bahama":{name:"Tommy Bahama",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/tommybahama/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3531299",shop:"clothes"},addTags:{brand:"Tommy Bahama","brand:wikidata":"Q3531299","brand:wikipedia":"en:Tommy Bahama",name:"Tommy Bahama",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Tommy Hilfiger":{name:"Tommy Hilfiger",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/tommyhilfiger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q634881",shop:"clothes"},addTags:{brand:"Tommy Hilfiger","brand:wikidata":"Q634881","brand:wikipedia":"en:Tommy Hilfiger (company)",name:"Tommy Hilfiger",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Topshop":{name:"Topshop",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/227518370711659/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1893576",shop:"clothes"},addTags:{brand:"Topshop","brand:wikidata":"Q1893576","brand:wikipedia":"en:Topshop",name:"Topshop",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Torrid":{name:"Torrid",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Torrid/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7827120",shop:"clothes"},addTags:{brand:"Torrid","brand:wikidata":"Q7827120","brand:wikipedia":"en:Torrid (clothing retailer)",name:"Torrid",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Tory Burch":{name:"Tory Burch",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/toryburch/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19988222",shop:"clothes"},addTags:{brand:"Tory Burch","brand:wikidata":"Q19988222","brand:wikipedia":"en:Tory Burch (company)",name:"Tory Burch",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Triumph":{name:"Triumph",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/TriumphInternationalUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q671216",shop:"clothes"},addTags:{brand:"Triumph","brand:wikidata":"Q671216","brand:wikipedia":"en:Triumph International",name:"Triumph",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Truworths":{name:"Truworths",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/TruworthsFashion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q24233998",shop:"clothes"},addTags:{brand:"Truworths","brand:wikidata":"Q24233998","brand:wikipedia":"en:Truworths",name:"Truworths",shop:"clothes"},countryCodes:["za"],terms:[],matchScore:2,suggestion:true},"shop/clothes/UNTUCKit":{name:"UNTUCKit",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/UNTUCKit/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28207006",shop:"clothes"},addTags:{brand:"UNTUCKit","brand:wikidata":"Q28207006","brand:wikipedia":"en:Untuckit",name:"UNTUCKit",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/USC":{name:"USC",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/uscfashion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7866331",shop:"clothes"},addTags:{brand:"USC","brand:wikidata":"Q7866331","brand:wikipedia":"en:USC (clothing retailer)",name:"USC",shop:"clothes"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Ulla Popken":{name:"Ulla Popken",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/ulla.popken/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2475146",shop:"clothes"},addTags:{brand:"Ulla Popken","brand:wikidata":"Q2475146","brand:wikipedia":"en:Ulla Popken",name:"Ulla Popken",shop:"clothes"},countryCodes:["at","be","ch","de","fr","nl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Under Armour":{name:"Under Armour",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/UnderArmour/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2031485",shop:"clothes"},addTags:{brand:"Under Armour","brand:wikidata":"Q2031485","brand:wikipedia":"en:Under Armour",clothes:"men;women",name:"Under Armour",shop:"clothes"},terms:["under armor"],matchScore:2,suggestion:true},"shop/clothes/Uniqlo":{name:"Uniqlo",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/uniqlo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q26070",shop:"clothes"},addTags:{brand:"Uniqlo","brand:wikidata":"Q26070","brand:wikipedia":"en:Uniqlo",name:"Uniqlo",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/United Colors of Benetton":{name:"United Colors of Benetton",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/BenettonUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q817139",shop:"clothes"},addTags:{brand:"United Colors of Benetton","brand:wikidata":"Q817139","brand:wikipedia":"en:Benetton Group",name:"United Colors of Benetton",shop:"clothes",short_name:"Benetton"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Urban Outfitters":{name:"Urban Outfitters",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/urbanoutfitters/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3552193",shop:"clothes"},addTags:{brand:"Urban Outfitters","brand:wikidata":"Q3552193","brand:wikipedia":"en:Urban Outfitters",name:"Urban Outfitters",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Vero Moda":{name:"Vero Moda",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/bestsellercom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q594721",shop:"clothes"},addTags:{brand:"Vero Moda","brand:wikidata":"Q594721","brand:wikipedia":"en:Bestseller (company)",name:"Vero Moda",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Victoria's Secret":{name:"Victoria's Secret",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/victoriassecret/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q332477",shop:"clothes"},addTags:{brand:"Victoria's Secret","brand:wikidata":"Q332477","brand:wikipedia":"en:Victoria's Secret",clothes:"underwear;women",name:"Victoria's Secret",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Vilebrequin":{name:"Vilebrequin",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/VILEBREQUIN/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3558391",shop:"clothes"},addTags:{brand:"Vilebrequin","brand:wikidata":"Q3558391","brand:wikipedia":"en:Vilebrequin",clothes:"swimwear",name:"Vilebrequin",shop:"clothes"},countryCodes:["fr","it"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Vineyard Vines":{name:"Vineyard Vines",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/vineyardvines/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7932495",shop:"clothes"},addTags:{brand:"Vineyard Vines","brand:wikidata":"Q7932495","brand:wikipedia":"en:Vineyard Vines",name:"Vineyard Vines",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Volcom":{name:"Volcom",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Volcom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2021416",shop:"clothes"},addTags:{brand:"Volcom","brand:wikidata":"Q2021416","brand:wikipedia":"en:Volcom",name:"Volcom",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/WE":{name:"WE",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/weeurope/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1987861",shop:"clothes"},addTags:{brand:"WE","brand:wikidata":"Q1987861","brand:wikipedia":"en:WE (clothing)",name:"WE",shop:"clothes"},countryCodes:["be","ch","de","nl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Wacoal":{name:"Wacoal",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/wacoal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q909522",shop:"clothes"},addTags:{brand:"Wacoal","brand:wikidata":"Q909522","brand:wikipedia":"en:Wacoal",clothes:"underwear",name:"Wacoal",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/West 49":{name:"West 49",icon:"maki-clothing-store",imageURL:"https://pbs.twimg.com/profile_images/925811570889842689/M0Y4yIjA_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7984218",shop:"clothes"},addTags:{brand:"West 49","brand:wikidata":"Q7984218","brand:wikipedia":"en:West 49",name:"West 49",shop:"clothes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/clothes/White House Black Market":{name:"White House Black Market",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/WhiteHouseBlackMarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7994858",shop:"clothes"},addTags:{brand:"White House Black Market","brand:wikidata":"Q7994858","brand:wikipedia":"en:White House Black Market",name:"White House Black Market",shop:"clothes"},countryCodes:["ca","us"],terms:["white house | black market"],matchScore:2,suggestion:true},"shop/clothes/White Stuff":{name:"White Stuff",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/WhiteStuffUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7995442",shop:"clothes"},addTags:{brand:"White Stuff","brand:wikidata":"Q7995442","brand:wikipedia":"en:White Stuff Clothing",name:"White Stuff",shop:"clothes"},countryCodes:["de","dk","gb","gg"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Wibra":{name:"Wibra",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/WibraBelgie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q943405",shop:"clothes"},addTags:{brand:"Wibra","brand:wikidata":"Q943405","brand:wikipedia":"en:Wibra",name:"Wibra",shop:"clothes"},countryCodes:["be","nl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Wilsons Leather":{name:"Wilsons Leather",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/wilsonsleather/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8023296",shop:"clothes"},addTags:{brand:"Wilsons Leather","brand:wikidata":"Q8023296","brand:wikipedia":"en:Wilsons Leather",clothes:"men;women",name:"Wilsons Leather",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Winners":{name:"Winners",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Winners/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q845257",shop:"clothes"},addTags:{brand:"Winners","brand:wikidata":"Q845257","brand:wikipedia":"en:Winners",name:"Winners",shop:"clothes"},countryCodes:["ca","es"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Wolford":{name:"Wolford",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/WolfordFashion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q431607",shop:"clothes"},addTags:{brand:"Wolford","brand:wikidata":"Q431607","brand:wikipedia":"en:Wolford",name:"Wolford",shop:"clothes"},countryCodes:["at","de","fr","gb","it","nl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Woolworths":{name:"Woolworths",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/WoolworthsSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8033997",shop:"clothes"},addTags:{brand:"Woolworths","brand:wikidata":"Q8033997","brand:wikipedia":"en:Woolworths Holdings Limited",name:"Woolworths",shop:"clothes"},countryCodes:["za"],terms:[],matchScore:2,suggestion:true},"shop/clothes/XXI Forever":{name:"XXI Forever",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/Forever21/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1060537",shop:"clothes"},addTags:{brand:"Forever 21","brand:wikidata":"Q1060537","brand:wikipedia":"en:Forever 21",name:"XXI Forever",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Yamamay":{name:"Yamamay",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/YamamayOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2599214",shop:"clothes"},addTags:{brand:"Yamamay","brand:wikidata":"Q2599214","brand:wikipedia":"it:Yamamay",name:"Yamamay",shop:"clothes"},countryCodes:["es","it"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Zara":{name:"Zara",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/zara/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q147662",shop:"clothes"},addTags:{brand:"Zara","brand:wikidata":"Q147662","brand:wikipedia":"en:Zara (retailer)",name:"Zara",shop:"clothes"},terms:[],matchScore:2,suggestion:true},"shop/clothes/Zeeman":{name:"Zeeman",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/zeemantextielsupers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q184399",shop:"clothes"},addTags:{brand:"Zeeman","brand:wikidata":"Q184399","brand:wikipedia":"en:Zeeman (store)",name:"Zeeman",shop:"clothes"},countryCodes:["be","de","fr","lu","nl"],terms:[],matchScore:2,suggestion:true},"shop/clothes/Zumiez":{name:"Zumiez",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/zumiez/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8075252",shop:"clothes"},addTags:{brand:"Zumiez","brand:wikidata":"Q8075252","brand:wikipedia":"en:Zumiez",name:"Zumiez",shop:"clothes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/mister*lady":{name:"mister*lady",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/misterlady.community/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18640136",shop:"clothes"},addTags:{brand:"mister*lady","brand:wikidata":"Q18640136","brand:wikipedia":"de:Mister*lady",name:"mister*lady",shop:"clothes"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/clothes/rue21":{name:"rue21",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/rue21/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7377762",shop:"clothes"},addTags:{brand:"rue21","brand:wikidata":"Q7377762","brand:wikipedia":"en:Rue21",name:"rue21",shop:"clothes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/clothes/s.Oliver":{name:"s.Oliver",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/s.OliverGlobal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q265056",shop:"clothes"},addTags:{brand:"s.Oliver","brand:wikidata":"Q265056","brand:wikipedia":"en:S.Oliver",name:"s.Oliver",shop:"clothes"},countryCodes:["at","be","de","fr","hr"],terms:[],matchScore:2,suggestion:true},"shop/clothes/しまむら":{name:"しまむら",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/shimamuragroup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7758173",shop:"clothes"},addTags:{brand:"しまむら","brand:en":"Shimamura","brand:ja":"しまむら","brand:wikidata":"Q7758173","brand:wikipedia":"ja:しまむら",name:"しまむら","name:en":"Shimamura","name:ja":"しまむら",shop:"clothes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/clothes/はるやま":{name:"はるやま",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/haruyama.co.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11275918",shop:"clothes"},addTags:{brand:"はるやま","brand:en":"Haruyama","brand:ja":"はるやま","brand:wikidata":"Q11275918","brand:wikipedia":"ja:はるやま商事",name:"はるやま","name:en":"Haruyama","name:ja":"はるやま",shop:"clothes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/clothes/ユニクロ":{name:"ユニクロ",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/uniqlo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q26070",shop:"clothes"},addTags:{brand:"ユニクロ","brand:en":"UNIQLO","brand:ja":"ユニクロ","brand:wikidata":"Q26070","brand:wikipedia":"en:Uniqlo",name:"ユニクロ","name:en":"UNIQLO","name:ja":"ユニクロ",shop:"clothes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/clothes/ライトオン":{name:"ライトオン",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/righton.co.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11346416",shop:"clothes"},addTags:{brand:"ライトオン","brand:en":"Right-on","brand:ja":"ライトオン","brand:wikidata":"Q11346416","brand:wikipedia":"ja:ライトオン",name:"ライトオン","name:en":"Right-on","name:ja":"ライトオン",shop:"clothes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/clothes/ワークマン":{name:"ワークマン",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/306869439836144/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11351660",shop:"clothes"},addTags:{brand:"ワークマン","brand:en":"Workman","brand:ja":"ワークマン","brand:wikidata":"Q11351660","brand:wikipedia":"ja:ワークマン",name:"ワークマン","name:en":"Workman","name:ja":"ワークマン",shop:"clothes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/clothes/洋服の青山":{name:"洋服の青山",icon:"maki-clothing-store",imageURL:"https://graph.facebook.com/AoyamaOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11661241",shop:"clothes"},addTags:{brand:"洋服の青山","brand:en":"Aoyama Tailor","brand:ja":"洋服の青山","brand:wikidata":"Q11661241","brand:wikipedia":"ja:青山商事",name:"洋服の青山","name:en":"Aoyama Tailor","name:ja":"洋服の青山",shop:"clothes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/coffee/Nespresso":{name:"Nespresso",icon:"maki-shop",imageURL:"https://graph.facebook.com/nespresso/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q301301",shop:"coffee"},addTags:{brand:"Nespresso","brand:wikidata":"Q301301","brand:wikipedia":"en:Nespresso",name:"Nespresso",shop:"coffee"},terms:[],matchScore:2,suggestion:true},"shop/coffee/Tchibo":{name:"Tchibo",icon:"maki-shop",imageURL:"https://graph.facebook.com/tchibo.de/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q564213",shop:"coffee"},addTags:{brand:"Tchibo","brand:wikidata":"Q564213","brand:wikipedia":"de:Tchibo",name:"Tchibo",shop:"coffee"},countryCodes:["at","ch","cz","de","pl","sk"],terms:[],matchScore:2,suggestion:true},"shop/computer/DNS":{name:"DNS",icon:"fas-laptop",imageURL:"https://graph.facebook.com/dnsshop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4036922",shop:"computer"},addTags:{alt_name:"ДНС",brand:"DNS","brand:en":"DNS","brand:ru":"ДНС","brand:wikidata":"Q4036922","brand:wikipedia":"ru:DNS (компания)",name:"DNS","name:en":"DNS","name:ru":"ДНС",shop:"computer"},countryCodes:["ru","ua"],terms:[],matchScore:2,suggestion:true},"shop/computer/PC World":{name:"PC World",icon:"fas-laptop",imageURL:"https://graph.facebook.com/curryspcworld/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7118727",shop:"computer"},addTags:{brand:"PC World","brand:wikidata":"Q7118727","brand:wikipedia":"en:PC World (retailer)",name:"PC World",shop:"computer"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/confectionery/Adyar Ananda Bhavan":{name:"Adyar Ananda Bhavan",icon:"maki-confectionery",imageURL:"https://graph.facebook.com/a2b.officialpage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15178238",shop:"confectionery"},addTags:{brand:"Adyar Ananda Bhavan","brand:wikidata":"Q15178238","brand:wikipedia":"en:Adyar Ananda Bhavan",name:"Adyar Ananda Bhavan",shop:"confectionery"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"shop/confectionery/Hemmakvall":{name:"Hemmakvall",icon:"maki-confectionery",imageURL:"https://graph.facebook.com/hemmakvall/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10521791",shop:"confectionery"},addTags:{brand:"Hemmakväll","brand:wikidata":"Q10521791","brand:wikipedia":"sv:Hemmakväll",name:"Hemmakväll",shop:"confectionery"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/confectionery/Hotel Chocolat":{name:"Hotel Chocolat",icon:"maki-confectionery",imageURL:"https://graph.facebook.com/HotelChocolat/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5911369",shop:"confectionery"},addTags:{brand:"Hotel Chocolat","brand:wikidata":"Q5911369",name:"Hotel Chocolat",shop:"confectionery"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/confectionery/Hussel":{name:"Hussel",icon:"maki-confectionery",imageURL:"https://graph.facebook.com/HusselConfiserie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17123688",shop:"confectionery"},addTags:{brand:"Hussel","brand:wikidata":"Q17123688","brand:wikipedia":"de:Hussel",name:"Hussel",shop:"confectionery"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/confectionery/Jamin":{name:"Jamin",icon:"maki-confectionery",imageURL:"https://graph.facebook.com/jaminonline/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2291848",shop:"confectionery"},addTags:{brand:"Jamin","brand:wikidata":"Q2291848","brand:wikipedia":"nl:Jamin",name:"Jamin",shop:"confectionery"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/confectionery/Kilwins":{name:"Kilwins",icon:"maki-confectionery",imageURL:"https://graph.facebook.com/KilwinsChocolatesFudgeandIceCream/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q38250832",shop:"confectionery"},addTags:{brand:"Kilwins","brand:wikidata":"Q38250832","brand:wikipedia":"en:Kilwins",cuisine:"chocolate;ice_cream;popcorn",name:"Kilwins",shop:"confectionery"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/confectionery/Rocky Mountain Chocolate Factory":{name:"Rocky Mountain Chocolate Factory",icon:"maki-confectionery",imageURL:"https://graph.facebook.com/myrmcf/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7355878",shop:"confectionery"},addTags:{brand:"Rocky Mountain Chocolate Factory","brand:wikidata":"Q7355878","brand:wikipedia":"en:Rocky Mountain Chocolate Factory",name:"Rocky Mountain Chocolate Factory",shop:"confectionery"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/confectionery/See's Candies":{name:"See's Candies",icon:"maki-confectionery",imageURL:"https://graph.facebook.com/Sees.Candies/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2103510",shop:"confectionery"},addTags:{brand:"See's Candies","brand:wikidata":"Q2103510","brand:wikipedia":"en:See's Candies",name:"See's Candies",shop:"confectionery"},countryCodes:["us"],terms:["sees candy"],matchScore:2,suggestion:true},"shop/confectionery/Thorntons":{name:"Thorntons",icon:"maki-confectionery",imageURL:"https://graph.facebook.com/Thorntons.Official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q683102",shop:"confectionery"},addTags:{brand:"Thorntons","brand:wikidata":"Q683102","brand:wikipedia":"en:Thorntons",name:"Thorntons",shop:"confectionery"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/confectionery/Вацак":{name:"Вацак",icon:"maki-confectionery",imageURL:"https://graph.facebook.com/Vatsak.KD/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q30966576",shop:"confectionery"},addTags:{brand:"Вацак","brand:wikidata":"Q30966576","brand:wikipedia":"uk:Кондитерський Дім «Вацак»",name:"Вацак",shop:"confectionery"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/confectionery/シャトレーゼ":{name:"シャトレーゼ",icon:"maki-confectionery",imageURL:"https://graph.facebook.com/chateraise.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11307696",shop:"confectionery"},addTags:{brand:"シャトレーゼ","brand:en":"Chateraise","brand:ja":"シャトレーゼ","brand:wikidata":"Q11307696","brand:wikipedia":"ja:シャトレーゼ",name:"シャトレーゼ","name:en":"Chateraise","name:ja":"シャトレーゼ",shop:"confectionery"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/1st Stop":{name:"1st Stop",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q65706152",shop:"convenience"},addTags:{brand:"1st Stop","brand:wikidata":"Q65706152",name:"1st Stop",shop:"convenience"},countryCodes:["us"],terms:["first stop"],matchScore:2,suggestion:true},"shop/convenience/7-Eleven":{name:"7-Eleven",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/7ElevenMexico/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q259340",shop:"convenience"},addTags:{brand:"7-Eleven","brand:wikidata":"Q259340","brand:wikipedia":"en:7-Eleven",name:"7-Eleven",shop:"convenience"},terms:["7-11","seven eleven"],matchScore:2,suggestion:true},"shop/convenience/76":{name:"76",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/76gas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1658320",shop:"convenience"},addTags:{brand:"76","brand:wikidata":"Q1658320","brand:wikipedia":"en:76 (gas station)",name:"76",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/8 à Huit":{name:"8 à Huit",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/fashion8a8/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2818601",shop:"convenience"},addTags:{brand:"8 à Huit","brand:wikidata":"Q2818601","brand:wikipedia":"fr:8 à Huit",name:"8 à Huit",shop:"convenience"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/convenience/99 Speedmart":{name:"99 Speedmart",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/99speedmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62075061",shop:"convenience"},addTags:{brand:"99 Speedmart","brand:wikidata":"Q62075061",name:"99 Speedmart",shop:"convenience"},countryCodes:["br","my","us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/ABC (Hawaii)":{name:"ABC (Hawaii)",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/abcstores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4650251",shop:"convenience"},addTags:{brand:"ABC","brand:wikidata":"Q4650251","brand:wikipedia":"en:ABC Stores (Hawaii)",name:"ABC",shop:"convenience"},countryCodes:["us"],terms:["abc stores"],matchScore:2,suggestion:true},"shop/convenience/Aibė":{name:"Aibė",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q1022952",shop:"convenience"},addTags:{brand:"Aibė","brand:wikidata":"Q1022952","brand:wikipedia":"de:Aibė",name:"Aibė",shop:"convenience"},countryCodes:["lt"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Albert Heijn to go":{name:"Albert Heijn to go",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/albertheijn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1653985",shop:"convenience"},addTags:{brand:"Albert Heijn to go","brand:wikidata":"Q1653985","brand:wikipedia":"en:Albert Heijn",name:"Albert Heijn to go",shop:"convenience"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Alepa":{name:"Alepa",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q4716167",shop:"convenience"},addTags:{brand:"Alepa","brand:wikidata":"Q4716167","brand:wikipedia":"fi:Alepa",name:"Alepa",shop:"convenience"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Alfamart":{name:"Alfamart",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/alfamartku/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23745600",shop:"convenience"},addTags:{brand:"Alfamart","brand:wikidata":"Q23745600","brand:wikipedia":"id:Alfamart",name:"Alfamart",shop:"convenience"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Alfamidi":{name:"Alfamidi",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/alfamidiku/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12471462",shop:"convenience"},addTags:{brand:"Alfamidi","brand:wikidata":"Q12471462","brand:wikipedia":"id:Alfamidi",name:"Alfamidi",shop:"convenience"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Aral":{name:"Aral",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/araldeutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q565734",shop:"convenience"},addTags:{brand:"Aral","brand:wikidata":"Q565734","brand:wikipedia":"en:Aral AG",name:"Aral",shop:"convenience"},countryCodes:["de"],terms:["aral tankstelle"],matchScore:2,suggestion:true},"shop/convenience/BP Shop":{name:"BP Shop",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/bp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q152057",shop:"convenience"},addTags:{brand:"BP Shop","brand:wikidata":"Q152057","brand:wikipedia":"en:BP",name:"BP Shop",shop:"convenience"},countryCodes:["au","ch","fr","gb","us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Best-one":{name:"Best-one",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q4896532",shop:"convenience"},addTags:{brand:"Best-one","brand:wikidata":"Q4896532","brand:wikipedia":"en:Best-one",name:"Best-one",shop:"convenience"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Buc-ee's":{name:"Buc-ee's",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/bucees/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4982335",shop:"convenience"},addTags:{brand:"Buc-ee's","brand:wikidata":"Q4982335","brand:wikipedia":"en:Buc-ee's",name:"Buc-ee's",shop:"convenience"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Budgens":{name:"Budgens",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/DiscoverBudgens/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4985016",shop:"convenience"},addTags:{brand:"Budgens","brand:wikidata":"Q4985016","brand:wikipedia":"en:Budgens",name:"Budgens",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/CBA":{name:"CBA",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/cbaboltok/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q779845",shop:"convenience"},addTags:{brand:"CBA","brand:wikidata":"Q779845","brand:wikipedia":"en:CBA (food retail)",name:"CBA",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/COOP Jednota":{name:"COOP Jednota",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/COOPJednota/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q41629254",shop:"convenience"},addTags:{brand:"COOP Jednota","brand:wikidata":"Q41629254","brand:wikipedia":"sk:COOP Jednota Slovensko",name:"COOP Jednota",shop:"convenience"},countryCodes:["cz","sk"],terms:["jednota"],matchScore:2,suggestion:true},"shop/convenience/Carrefour Express":{name:"Carrefour Express",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/expresshoria/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2940190",shop:"convenience"},addTags:{brand:"Carrefour Express","brand:wikidata":"Q2940190","brand:wikipedia":"fr:Carrefour Express",name:"Carrefour Express",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Casey's General Store":{name:"Casey's General Store",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/caseys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2940968",shop:"convenience"},addTags:{brand:"Casey's General Store","brand:wikidata":"Q2940968","brand:wikipedia":"en:Casey's General Stores",name:"Casey's General Store",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Centra":{name:"Centra",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/CentraIreland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q747678",shop:"convenience"},addTags:{brand:"Centra","brand:wikidata":"Q747678","brand:wikipedia":"en:Centra",name:"Centra",shop:"convenience"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Chata Polska":{name:"Chata Polska",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/chatapolskasklepy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61994406",shop:"convenience"},addTags:{brand:"Chata Polska","brand:wikidata":"Q61994406",name:"Chata Polska",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Cheers":{name:"Cheers",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q64154066",shop:"convenience"},addTags:{brand:"Cheers","brand:wikidata":"Q64154066",name:"Cheers",opening_hours:"24/7",shop:"convenience"},countryCodes:["sg","vn"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Chevron":{name:"Chevron",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/Chevron/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q319642",shop:"convenience"},addTags:{brand:"Chevron","brand:wikidata":"Q319642","brand:wikipedia":"en:Chevron Corporation",name:"Chevron",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Circle K":{name:"Circle K",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/circlekireland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3268010",shop:"convenience"},addTags:{brand:"Circle K","brand:wikidata":"Q3268010","brand:wikipedia":"en:Circle K",name:"Circle K",shop:"convenience"},terms:["ok","ok-mart"],matchScore:2,suggestion:true},"shop/convenience/Citgo":{name:"Citgo",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/CITGOPetroleumCorporation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2974437",shop:"convenience"},addTags:{brand:"Citgo","brand:wikidata":"Q2974437","brand:wikipedia":"en:Citgo",name:"Citgo",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Clark's Pump-N-Shop":{name:"Clark's Pump-N-Shop",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/clarkspumpnshop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65118218",shop:"convenience"},addTags:{brand:"Clark's Pump-N-Shop","brand:wikidata":"Q65118218",name:"Clark's Pump-N-Shop",shop:"convenience"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Co-op (Canada)":{name:"Co-op (Canada)",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/CoopCRS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5440676",shop:"convenience"},addTags:{brand:"Federated Co-operatives","brand:wikidata":"Q5440676","brand:wikipedia":"en:Federated Co-operatives",name:"Co-op",shop:"convenience"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Coles Express":{name:"Coles Express",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/ColesExpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5144653",shop:"convenience"},addTags:{brand:"Coles Express","brand:wikidata":"Q5144653","brand:wikipedia":"en:Coles Express",name:"Coles Express",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Coop Pronto":{name:"Coop Pronto",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/209094172456220/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1129777",shop:"convenience"},addTags:{brand:"Coop Pronto","brand:wikidata":"Q1129777","brand:wikipedia":"de:Coop Mineraloel",name:"Coop Pronto",shop:"convenience"},countryCodes:["ch","li"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Coop (Schweiz)":{name:"Coop (Schweiz)",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/coop.ch/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q432564",shop:"convenience"},addTags:{brand:"Coop","brand:wikidata":"Q432564","brand:wikipedia":"de:Coop (Schweiz)",name:"Coop",shop:"convenience"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Costcutter":{name:"Costcutter",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/costcutter/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5175072",shop:"convenience"},addTags:{brand:"Costcutter","brand:wikidata":"Q5175072","brand:wikipedia":"en:Costcutter",name:"Costcutter",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Couche-Tard":{name:"Couche-Tard",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/CoucheTardQc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2836957",shop:"convenience"},addTags:{brand:"Couche-Tard","brand:wikidata":"Q2836957","brand:wikipedia":"en:Alimentation Couche-Tard",name:"Couche-Tard",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Cumberland Farms":{name:"Cumberland Farms",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/CumberlandFarms/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1143685",shop:"convenience"},addTags:{brand:"Cumberland Farms","brand:wikidata":"Q1143685","brand:wikipedia":"en:Cumberland Farms",name:"Cumberland Farms",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Daisy Mart":{name:"Daisy Mart",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/DaisyMart.Kamel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61994934",shop:"convenience"},addTags:{brand:"Daisy Mart","brand:wikidata":"Q61994934",name:"Daisy Mart",shop:"convenience"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Delikatesy Centrum":{name:"Delikatesy Centrum",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/Delikatesypl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11693824",shop:"convenience"},addTags:{brand:"Delikatesy Centrum","brand:wikidata":"Q11693824","brand:wikipedia":"pl:Delikatesy Centrum",name:"Delikatesy Centrum",shop:"convenience"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/convenience/ExtraMile":{name:"ExtraMile",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/ExtraMileExtras/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64224605",shop:"convenience"},addTags:{brand:"ExtraMile","brand:wikidata":"Q64224605",name:"ExtraMile",shop:"convenience"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/FamilyMart":{name:"FamilyMart",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/familymart.japan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1191685",shop:"convenience"},addTags:{brand:"FamilyMart","brand:wikidata":"Q1191685","brand:wikipedia":"en:FamilyMart",name:"FamilyMart",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Four Square":{name:"Four Square",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/FourSquareNZ/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5475558",shop:"convenience"},addTags:{brand:"Four Square","brand:wikidata":"Q5475558","brand:wikipedia":"en:Four Square (supermarket)",name:"Four Square",shop:"convenience"},countryCodes:["nz"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Franprix":{name:"Franprix",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/franprix/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2420096",shop:"convenience"},addTags:{brand:"Franprix","brand:wikidata":"Q2420096","brand:wikipedia":"fr:Franprix",name:"Franprix",shop:"convenience"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Freshmarket":{name:"Freshmarket",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/sklepyfreshmarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16546326",shop:"convenience"},addTags:{brand:"Freshmarket","brand:wikidata":"Q16546326","brand:wikipedia":"pl:Freshmarket",name:"Freshmarket",shop:"convenience"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/convenience/GS25":{name:"GS25",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/funGS25/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q624041",shop:"convenience"},addTags:{brand:"GS25","brand:wikidata":"Q624041","brand:wikipedia":"ko:GS25",name:"GS25",shop:"convenience"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Groszek":{name:"Groszek",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/Sklepy.Groszek/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9280965",shop:"convenience"},addTags:{brand:"Groszek","brand:wikidata":"Q9280965","brand:wikipedia":"pl:Groszek (sieć sklepów)",name:"Groszek",shop:"convenience"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Hasty Market":{name:"Hasty Market",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/607684929288087/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q58022603",shop:"convenience"},addTags:{brand:"Hasty Market","brand:wikidata":"Q58022603",name:"Hasty Market",shop:"convenience"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Hudson":{name:"Hudson",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q5928787",shop:"convenience"},addTags:{brand:"Hudson","brand:wikidata":"Q5928787","brand:wikipedia":"en:Hudson Group",name:"Hudson",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Husky":{name:"Husky",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/huskyenergy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q702049",shop:"convenience"},addTags:{brand:"Husky","brand:wikidata":"Q702049","brand:wikipedia":"en:Husky Energy",name:"Husky",shop:"convenience"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Indomaret":{name:"Indomaret",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/IndomaretMudahdanHemat/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4262825",shop:"convenience"},addTags:{brand:"Indomaret","brand:wikidata":"Q4262825","brand:wikipedia":"en:Indomaret",name:"Indomaret",shop:"convenience"},countryCodes:["id"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Intermarché Contact":{name:"Intermarché Contact",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/tousuniscontrelaviechere/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3153200",shop:"convenience"},addTags:{brand:"Intermarché Contact","brand:wikidata":"Q3153200","brand:wikipedia":"fr:Intermarché",name:"Intermarché Contact",shop:"convenience"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Jacksons":{name:"Jacksons",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/JacksonsFoodStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64617393",shop:"convenience"},addTags:{brand:"Jacksons","brand:wikidata":"Q64617393",name:"Jacksons",shop:"convenience"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Joker":{name:"Joker",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/JokerNorge/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q716328",shop:"convenience"},addTags:{brand:"Joker","brand:wikidata":"Q716328","brand:wikipedia":"en:Joker (store)",name:"Joker",shop:"convenience"},countryCodes:["no"],terms:[],matchScore:2,suggestion:true},"shop/convenience/K-Market":{name:"K-Market",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/KMarketSuomi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11868562",shop:"convenience"},addTags:{brand:"K-Market","brand:wikidata":"Q11868562","brand:wikipedia":"fi:K-Market",name:"K-Market",shop:"convenience"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Kangaroo Express":{name:"Kangaroo Express",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/KangarooExpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61747408",shop:"convenience"},addTags:{brand:"Kangaroo Express","brand:wikidata":"Q61747408",name:"Kangaroo Express",shop:"convenience",short_name:"Kangaroo"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Konzum (Balkans)":{name:"Konzum (Balkans)",icon:"fas-shopping-basket",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FKonzum%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q518563",shop:"convenience"},addTags:{brand:"Konzum","brand:wikidata":"Q518563","brand:wikipedia":"hr:Konzum",name:"Konzum",shop:"convenience"},countryCodes:["ba","hr","rs"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Kum & Go":{name:"Kum & Go",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/kumandgo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6443340",shop:"convenience"},addTags:{brand:"Kum & Go","brand:wikidata":"Q6443340","brand:wikipedia":"en:Kum & Go",name:"Kum & Go",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Kwik Shop":{name:"Kwik Shop",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/kwikshopstores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6450417",shop:"convenience"},addTags:{brand:"Kwik Shop","brand:wikidata":"Q6450417","brand:wikipedia":"en:Kwik Shop",name:"Kwik Shop",shop:"convenience"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Kwik Trip":{name:"Kwik Trip",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/KwikTrip/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6450420",shop:"convenience"},addTags:{brand:"Kwik Trip","brand:wikidata":"Q6450420","brand:wikipedia":"en:Kwik Trip",name:"Kwik Trip",shop:"convenience"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Lawson":{name:"Lawson",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/lawson.fanpage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1557223",shop:"convenience"},addTags:{brand:"Lawson","brand:wikidata":"Q1557223","brand:wikipedia":"en:Lawson (store)",name:"Lawson",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Lewiatan":{name:"Lewiatan",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/psh.lewiatan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11755396",shop:"convenience"},addTags:{brand:"Lewiatan","brand:wikidata":"Q11755396","brand:wikipedia":"pl:Lewiatan (sieć handlowa)",name:"Lewiatan",shop:"convenience"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Lifestyle Express":{name:"Lifestyle Express",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q61994869",shop:"convenience"},addTags:{brand:"Lifestyle Express","brand:wikidata":"Q61994869",name:"Lifestyle Express",shop:"convenience"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Loaf 'N Jug":{name:"Loaf 'N Jug",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/loafnjugstores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6663398",shop:"convenience"},addTags:{brand:"Loaf 'N Jug","brand:wikidata":"Q6663398","brand:wikipedia":"en:Loaf 'N Jug",name:"Loaf 'N Jug",shop:"convenience"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Mace":{name:"Mace",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/maces.stores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17089386",shop:"convenience"},addTags:{brand:"Mace","brand:wikidata":"Q17089386","brand:wikipedia":"en:Mace (shop)",name:"Mace",shop:"convenience"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Marathon":{name:"Marathon",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/MarathonPetroleumCorporation/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q458363",shop:"convenience"},addTags:{brand:"Marathon","brand:wikidata":"Q458363","brand:wikipedia":"en:Marathon Petroleum",name:"Marathon",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Małpka Express":{name:"Małpka Express",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/malpkaexpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18431946",shop:"convenience"},addTags:{brand:"Małpka Express","brand:wikidata":"Q18431946","brand:wikipedia":"pl:Małpka Express",name:"Małpka Express",shop:"convenience"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/convenience/McColl's":{name:"McColl's",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/YourMcColls/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16997477",shop:"convenience"},addTags:{brand:"McColl's","brand:wikidata":"Q16997477","brand:wikipedia":"en:McColl's",name:"McColl's",shop:"convenience"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Migrolino":{name:"Migrolino",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/migrolino/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q56745088",shop:"convenience"},addTags:{brand:"Migrolino","brand:wikidata":"Q56745088","brand:wikipedia":"de:Migrolino",name:"Migrolino",shop:"convenience"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Ministop":{name:"Ministop",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/374173965530/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1038929",shop:"convenience"},addTags:{brand:"Ministop","brand:wikidata":"Q1038929","brand:wikipedia":"en:Ministop",name:"Ministop",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Minit Mart":{name:"Minit Mart",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/MinitMartOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18154470",shop:"convenience"},addTags:{brand:"Minit Mart","brand:wikidata":"Q18154470","brand:wikipedia":"en:Minit Mart Foods Inc.",name:"Minit Mart",shop:"convenience"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Mobil Mart":{name:"Mobil Mart",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/ExxonandMobilStations/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3088656",shop:"convenience"},addTags:{brand:"Mobil Mart","brand:wikidata":"Q3088656","brand:wikipedia":"en:Mobil",name:"Mobil Mart",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Nasz Sklep":{name:"Nasz Sklep",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q62070369",shop:"convenience"},addTags:{brand:"Nasz Sklep","brand:wikidata":"Q62070369",name:"Nasz Sklep",shop:"convenience"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Neste K":{name:"Neste K",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q42901270",shop:"convenience"},addTags:{brand:"Neste K","brand:wikidata":"Q42901270","brand:wikipedia":"fi:Neste K",name:"Neste K",shop:"convenience"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/convenience/NewDays":{name:"NewDays",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q11234763",shop:"convenience"},addTags:{alt_name:"ニューデイズ",brand:"NewDays","brand:wikidata":"Q11234763","brand:wikipedia":"ja:NewDays",name:"NewDays",shop:"convenience"},countryCodes:["jp"],terms:["newdays ミニ"],matchScore:2,suggestion:true},"shop/convenience/Nisa":{name:"Nisa",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/nisalocally/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16999069",shop:"convenience"},addTags:{brand:"Nisa","brand:wikidata":"Q16999069","brand:wikipedia":"en:Nisa (retailer)",name:"Nisa",shop:"convenience"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Nisa Local":{name:"Nisa Local",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/nisalocally/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16999069",shop:"convenience"},addTags:{brand:"Nisa Local","brand:wikidata":"Q16999069","brand:wikipedia":"en:Nisa (retailer)",name:"Nisa Local",shop:"convenience"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/convenience/OK便利商店":{name:"OK便利商店",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/circlekireland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3268010",shop:"convenience"},addTags:{brand:"OK便利商店","brand:en":"Circle K","brand:wikidata":"Q3268010","brand:wikipedia":"zh:OK便利店",name:"OK便利商店","name:en":"Circle K",shop:"convenience"},countryCodes:["cn","tw"],terms:["ok便利店 circle k"],matchScore:2,suggestion:true},"shop/convenience/On the Run":{name:"On the Run",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/OntheRunUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16931259",shop:"convenience"},addTags:{brand:"On the Run","brand:wikidata":"Q16931259","brand:wikipedia":"en:On the Run (convenience store)",name:"On the Run",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Oxxo":{name:"Oxxo",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/OXXOTiendas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1342538",shop:"convenience"},addTags:{brand:"Oxxo","brand:wikidata":"Q1342538","brand:wikipedia":"es:Oxxo",name:"Oxxo",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Petro-Canada":{name:"Petro-Canada",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/petrocanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1208279",shop:"convenience"},addTags:{brand:"Petro-Canada","brand:wikidata":"Q1208279","brand:wikipedia":"en:Petro-Canada",name:"Petro-Canada",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Plaid Pantry":{name:"Plaid Pantry",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/plaidpantryOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7200591",shop:"convenience"},addTags:{brand:"Plaid Pantry","brand:wikidata":"Q7200591","brand:wikipedia":"en:Plaid Pantry",name:"Plaid Pantry",shop:"convenience"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Premier":{name:"Premier",icon:"fas-shopping-basket",imageURL:"https://pbs.twimg.com/profile_images/552086468839997441/Ok2vWsQl_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q7240340",shop:"convenience"},addTags:{brand:"Premier","brand:wikidata":"Q7240340","brand:wikipedia":"en:Premier Stores",name:"Premier",shop:"convenience"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Proxi":{name:"Proxi",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q3408522",shop:"convenience"},addTags:{brand:"Proxi","brand:wikidata":"Q3408522","brand:wikipedia":"fr:Proxi",name:"Proxi",shop:"convenience"},countryCodes:["ch","fr"],terms:[],matchScore:2,suggestion:true},"shop/convenience/RaceTrac":{name:"RaceTrac",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/RaceTrac/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q735942",shop:"convenience"},addTags:{brand:"RaceTrac","brand:wikidata":"Q735942","brand:wikipedia":"en:RaceTrac",name:"RaceTrac",shop:"convenience"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Royal Farms":{name:"Royal Farms",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/Royalfarmsstores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7374169",shop:"convenience"},addTags:{brand:"Royal Farms","brand:wikidata":"Q7374169","brand:wikipedia":"en:Royal Farms",name:"Royal Farms",shop:"convenience"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Rutter's":{name:"Rutter's",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/rutters/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7383544",shop:"convenience"},addTags:{brand:"Rutter's","brand:wikidata":"Q7383544","brand:wikipedia":"en:Rutter's",name:"Rutter's",shop:"convenience"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Sainsbury's Local":{name:"Sainsbury's Local",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/sainsburys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q13218434",shop:"convenience"},addTags:{brand:"Sainsbury's Local","brand:wikidata":"Q13218434","brand:wikipedia":"en:Sainsbury's Local",name:"Sainsbury's Local",shop:"convenience"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Sale":{name:"Sale",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q11892046",shop:"convenience"},addTags:{brand:"Sale","brand:wikidata":"Q11892046","brand:wikipedia":"fi:Sale",name:"Sale",shop:"convenience"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Sheetz":{name:"Sheetz",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/sheetz/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7492551",shop:"convenience"},addTags:{brand:"Sheetz","brand:wikidata":"Q7492551","brand:wikipedia":"en:Sheetz",name:"Sheetz",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Shell":{name:"Shell",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/Shell/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q154950",shop:"convenience"},addTags:{brand:"Shell","brand:wikidata":"Q154950","brand:wikipedia":"en:Royal Dutch Shell",name:"Shell",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Shell Select":{name:"Shell Select",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/Shell/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q154950",shop:"convenience"},addTags:{brand:"Shell Select","brand:wikidata":"Q154950","brand:wikipedia":"en:Royal Dutch Shell",name:"Shell Select",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Siwa":{name:"Siwa",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q11893827",shop:"convenience"},addTags:{brand:"Siwa","brand:wikidata":"Q11893827","brand:wikipedia":"fi:Siwa",name:"Siwa",shop:"convenience"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Spar":{name:"Spar",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/SPARintheUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q610492",shop:"convenience"},addTags:{brand:"Spar","brand:wikidata":"Q610492","brand:wikipedia":"en:Spar (retailer)",name:"Spar",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Spar Express":{name:"Spar Express",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/SPARintheUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q610492",shop:"convenience"},addTags:{brand:"Spar","brand:wikidata":"Q610492","brand:wikipedia":"en:Spar (retailer)",name:"Spar Express",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Speedway":{name:"Speedway",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/SpeedwayStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7575683",shop:"convenience"},addTags:{brand:"Speedway","brand:wikidata":"Q7575683","brand:wikipedia":"en:Speedway LLC",name:"Speedway",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Społem":{name:"Społem",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/SpolemSpoldzielczoscSpozywcow/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11826043",shop:"convenience"},addTags:{brand:"Społem","brand:wikidata":"Q11826043","brand:wikipedia":"pl:Powszechna Spółdzielnia Spożywców „Społem”",name:"Społem",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Star Mart":{name:"Star Mart",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q61994857",shop:"convenience"},addTags:{brand:"Star Mart","brand:wikidata":"Q61994857",name:"Star Mart",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Stripes":{name:"Stripes",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/stripesstores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7624135",shop:"convenience"},addTags:{brand:"Stripes","brand:wikidata":"Q7624135","brand:wikipedia":"en:Stripes Convenience Stores",name:"Stripes",shop:"convenience"},countryCodes:["cl","us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Tesco":{name:"Tesco",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/tesco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q487494",shop:"convenience"},addTags:{brand:"Tesco","brand:wikidata":"Q487494","brand:wikipedia":"en:Tesco",name:"Tesco",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Tesco Express":{name:"Tesco Express",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/tesco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q487494",shop:"convenience"},addTags:{brand:"Tesco Express","brand:wikidata":"Q487494","brand:wikipedia":"en:Tesco",name:"Tesco Express",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/The Co-operative Food (UK)":{name:"The Co-operative Food (UK)",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/coopukfood/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3277439",shop:"convenience"},addTags:{brand:"The Co-operative Food","brand:wikidata":"Q3277439","brand:wikipedia":"en:Co-op Food",name:"The Co-operative Food",shop:"convenience"},countryCodes:["gb"],terms:["coop","coop food","cooperative food","the cooperative"],matchScore:2,suggestion:true},"shop/convenience/Tiger Mart":{name:"Tiger Mart",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q57643977",shop:"convenience"},addTags:{brand:"Tiger Mart","brand:wikidata":"Q57643977",name:"Tiger Mart",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Turkey Hill":{name:"Turkey Hill",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/turkeyhillmm/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q42376970",shop:"convenience"},addTags:{brand:"Turkey Hill","brand:wikidata":"Q42376970","brand:wikipedia":"en:Turkey Hill Minit Markets",name:"Turkey Hill",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/United Dairy Farmers":{name:"United Dairy Farmers",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/UnitedDairyFarmers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7887677",shop:"convenience"},addTags:{amenity:"ice_cream",brand:"United Dairy Farmers","brand:wikidata":"Q7887677","brand:wikipedia":"en:United Dairy Farmers",name:"United Dairy Farmers",shop:"convenience",short_name:"UDF"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Utile":{name:"Utile",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/ULesCommercants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2529029",shop:"convenience"},addTags:{brand:"Utile","brand:wikidata":"Q2529029","brand:wikipedia":"en:Système U",name:"Utile",shop:"convenience"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/convenience/VinMart+":{name:"VinMart+",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/sieuthivinmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60245505",shop:"convenience"},addTags:{brand:"VinMart","brand:wikidata":"Q60245505","brand:wikipedia":"vi:VinMart",name:"VinMart+",shop:"convenience"},countryCodes:["vn"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Vival":{name:"Vival",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q7937525",shop:"convenience"},addTags:{brand:"Vival","brand:wikidata":"Q7937525","brand:wikipedia":"en:Vival (shop)",name:"Vival",shop:"convenience"},countryCodes:["fr","pe"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Wawa":{name:"Wawa",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/wawa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5936320",shop:"convenience"},addTags:{brand:"Wawa","brand:wikidata":"Q5936320","brand:wikipedia":"en:Wawa (company)",name:"Wawa",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Weltladen":{name:"Weltladen",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q1640782",shop:"convenience"},addTags:{brand:"Weltladen","brand:wikidata":"Q1640782","brand:wikipedia":"de:Weltladen",name:"Weltladen",shop:"convenience"},countryCodes:["at","ch","de"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Woolworths Petrol":{name:"Woolworths Petrol",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/woolworths/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5023980",shop:"convenience"},addTags:{brand:"Caltex","brand:wikidata":"Q5023980","brand:wikipedia":"en:Caltex Woolworths",name:"Woolworths Petrol",shop:"convenience"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/convenience/abc (Poland)":{name:"abc (Poland)",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q11683985",shop:"convenience"},addTags:{brand:"abc","brand:wikidata":"Q11683985","brand:wikipedia":"pl:Abc (sieć handlowa)",name:"abc",shop:"convenience"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/convenience/ampm":{name:"ampm",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/ampm/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q306960",shop:"convenience"},addTags:{brand:"ampm","brand:wikidata":"Q306960","brand:wikipedia":"en:Ampm",name:"ampm",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/miniピアゴ":{name:"miniピアゴ",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q11188499",shop:"convenience"},addTags:{brand:"miniピアゴ","brand:en":"mini Piago","brand:ja":"miniピアゴ","brand:wikidata":"Q11188499","brand:wikipedia":"ja:Miniピアゴ",name:"miniピアゴ","name:en":"mini Piago","name:ja":"miniピアゴ",shop:"convenience"},countryCodes:["jp"],terms:["ミニピアゴ"],matchScore:2,suggestion:true},"shop/convenience/Żabka":{name:"Żabka",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/zabkapolska/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2589061",shop:"convenience"},addTags:{brand:"Żabka","brand:wikidata":"Q2589061","brand:wikipedia":"pl:Żabka (sieć sklepów)",name:"Żabka",shop:"convenience"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/convenience/ВкусВилл":{name:"ВкусВилл",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/vkusvill.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57271676",shop:"convenience"},addTags:{brand:"ВкусВилл","brand:wikidata":"Q57271676","brand:wikipedia":"ru:Вкусвилл",name:"ВкусВилл",shop:"convenience"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Гроздь":{name:"Гроздь",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/grozdmag/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q21638412",shop:"convenience"},addTags:{brand:"Гроздь","brand:wikidata":"Q21638412","brand:wikipedia":"ru:Гроздь (сеть магазинов)",name:"Гроздь",shop:"convenience"},terms:[],matchScore:2,suggestion:true},"shop/convenience/Доброном":{name:"Доброном",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/Eurooptby/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2565040",shop:"convenience"},addTags:{brand:"Доброном","brand:wikidata":"Q2565040","brand:wikipedia":"be:Eurotorg",name:"Доброном",shop:"convenience"},countryCodes:["by","ru"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Евроопт Market":{name:"Евроопт Market",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q65455869",shop:"convenience"},addTags:{brand:"Евроопт Market","brand:wikidata":"Q65455869",name:"Евроопт Market",shop:"convenience"},countryCodes:["by"],terms:["Евроопт Маркет"],matchScore:2,suggestion:true},"shop/convenience/Евроопт Минимаркет":{name:"Евроопт Минимаркет",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q65455911",shop:"convenience"},addTags:{brand:"Евроопт Минимаркет","brand:wikidata":"Q65455911",name:"Евроопт Минимаркет",shop:"convenience"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Копейка":{name:"Копейка",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q1783878",shop:"convenience"},addTags:{brand:"Копейка","brand:en":"Kopeyka","brand:wikidata":"Q1783878","brand:wikipedia":"en:Kopeyka (supermarket)",name:"Копейка","name:en":"Kopeyka",shop:"convenience"},countryCodes:["by","ru","ua"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Магнит":{name:"Магнит",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/magnitretail/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q940518",shop:"convenience"},addTags:{brand:"Магнит","brand:en":"Magnit","brand:wikidata":"Q940518","brand:wikipedia":"ru:Магнит (сеть магазинов)",name:"Магнит","name:en":"Magnit",shop:"convenience"},terms:["магнит у дома"],matchScore:2,suggestion:true},"shop/convenience/Мария-Ра":{name:"Мария-Ра",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/mariarashop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4281631",shop:"convenience"},addTags:{brand:"Мария-Ра","brand:wikidata":"Q4281631","brand:wikipedia":"ru:Мария-Ра",name:"Мария-Ра",shop:"convenience"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/convenience/Сельпо":{name:"Сельпо",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/silpo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4419434",shop:"convenience"},addTags:{brand:"Сельпо","brand:wikidata":"Q4419434","brand:wikipedia":"ru:Сильпо",name:"Сельпо",shop:"convenience"},countryCodes:["kz","ru"],terms:[],matchScore:2,suggestion:true},"shop/convenience/アンスリー":{name:"アンスリー",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q17192555",shop:"convenience"},addTags:{brand:"アンスリー","brand:en":"Ansuri","brand:ja":"アンスリー","brand:wikidata":"Q17192555","brand:wikipedia":"ja:アンスリー",name:"アンスリー","name:en":"Ansuri","name:ja":"アンスリー",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/サンクス":{name:"サンクス",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q16141064",shop:"convenience"},addTags:{brand:"サンクス","brand:en":"Sunkus","brand:ja":"サンクス","brand:wikidata":"Q16141064","brand:wikipedia":"ja:サークルKサンクス",name:"サンクス","name:en":"Sunkus","name:ja":"サンクス",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/サークルK":{name:"サークルK",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/circlekireland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3268010",shop:"convenience"},addTags:{brand:"サークルK","brand:en":"Circle K","brand:ja":"サークルK","brand:wikidata":"Q3268010","brand:wikipedia":"en:Circle K",name:"サークルK","name:en":"Circle K","name:ja":"サークルK",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/スリーエフ":{name:"スリーエフ",icon:"fas-shopping-basket",imageURL:"https://pbs.twimg.com/profile_images/875645560073539585/X1oFVQef_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q11313419",shop:"convenience"},addTags:{brand:"スリーエフ","brand:en":"Three F","brand:ja":"スリーエフ","brand:wikidata":"Q11313419","brand:wikipedia":"ja:スリーエフ",name:"スリーエフ","name:en":"Three F","name:ja":"スリーエフ",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/セイコーマート":{name:"セイコーマート",icon:"fas-shopping-basket",imageURL:"https://pbs.twimg.com/profile_images/1019751731402379264/OudcSFFt_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q11314123",shop:"convenience"},addTags:{brand:"セイコーマート","brand:en":"Seicomart","brand:ja":"セイコーマート","brand:wikidata":"Q11314123","brand:wikipedia":"ja:セイコーマート",name:"セイコーマート","name:en":"Seicomart","name:ja":"セイコーマート",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/セブン-イレブン":{name:"セブン-イレブン",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/7ElevenMexico/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q259340",shop:"convenience"},addTags:{brand:"セブン-イレブン","brand:en":"7-Eleven","brand:ja":"セブン-イレブン","brand:wikidata":"Q259340","brand:wikipedia":"en:7-Eleven",name:"セブン-イレブン","name:en":"7-Eleven","name:ja":"セブン-イレブン","official_name:en":"Seven-Eleven",shop:"convenience"},countryCodes:["jp"],terms:["セブンイレブン(7-11)","セブンイレブン(seven-eleven)"],matchScore:2,suggestion:true},"shop/convenience/セーブオン":{name:"セーブオン",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q11314868",shop:"convenience"},addTags:{brand:"セーブオン","brand:en":"Save On","brand:ja":"セーブオン","brand:wikidata":"Q11314868","brand:wikipedia":"ja:セーブオン",name:"セーブオン","name:en":"Save On","name:ja":"セーブオン",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/デイリーヤマザキ":{name:"デイリーヤマザキ",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q5209392",shop:"convenience"},addTags:{brand:"デイリーヤマザキ","brand:en":"Daily Yamazaki","brand:ja":"デイリーヤマザキ","brand:wikidata":"Q5209392","brand:wikipedia":"en:Daily Yamazaki",name:"デイリーヤマザキ","name:en":"Daily Yamazaki","name:ja":"デイリーヤマザキ",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/ナチュラルローソン":{name:"ナチュラルローソン",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q11323850",shop:"convenience"},addTags:{brand:"ナチュラルローソン","brand:en":"NATURAL LAWSON","brand:ja":"ナチュラルローソン","brand:wikidata":"Q11323850","brand:wikipedia":"ja:ナチュラルローソン",name:"ナチュラルローソン","name:en":"Natural Lawson","name:ja":"ナチュラルローソン",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/ファミリーマート":{name:"ファミリーマート",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/familymart.japan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1191685",shop:"convenience"},addTags:{brand:"ファミリーマート","brand:en":"FamilyMart","brand:ja":"ファミリーマート","brand:wikidata":"Q1191685","brand:wikipedia":"en:FamilyMart",name:"ファミリーマート","name:en":"FamilyMart","name:ja":"ファミリーマート",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/ポプラ":{name:"ポプラ",icon:"fas-shopping-basket",imageURL:"https://pbs.twimg.com/profile_images/826586791058644992/chXkmxnQ_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7229380",shop:"convenience"},addTags:{brand:"ポプラ","brand:en":"Poplar","brand:ja":"ポプラ","brand:wikidata":"Q7229380","brand:wikipedia":"ja:ポプラ (コンビニエンスストア)",name:"ポプラ","name:en":"Poplar","name:ja":"ポプラ",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/ミニストップ":{name:"ミニストップ",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/374173965530/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1038929",shop:"convenience"},addTags:{brand:"ミニストップ","brand:en":"Ministop","brand:ja":"ミニストップ","brand:wikidata":"Q1038929","brand:wikipedia":"ja:ミニストップ",name:"ミニストップ","name:en":"Ministop","name:ja":"ミニストップ",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/ヤマザキショップ":{name:"ヤマザキショップ",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q11345131",shop:"convenience"},addTags:{brand:"ヤマザキショップ","brand:ja":"ヤマザキショップ","brand:wikidata":"Q11345131","brand:wikipedia":"ja:ヤマザキショップ",name:"ヤマザキショップ","name:en":"Yamazaki Shop","name:ja":"ヤマザキショップ",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/ローソン":{name:"ローソン",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/lawson.fanpage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1557223",shop:"convenience"},addTags:{brand:"ローソン","brand:en":"LAWSON","brand:ja":"ローソン","brand:wikidata":"Q1557223","brand:wikipedia":"ja:ローソン",name:"ローソン","name:en":"Lawson","name:ja":"ローソン",shop:"convenience"},countryCodes:["jp"],terms:["ローソン"],matchScore:2,suggestion:true},"shop/convenience/ローソンストア100":{name:"ローソンストア100",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q11350960",shop:"convenience"},addTags:{brand:"ローソンストア100","brand:en":"LAWSON STORE 100","brand:ja":"ローソンストア100","brand:wikidata":"Q11350960","brand:wikipedia":"ja:ローソンストア100",name:"ローソンストア100","name:en":"Lawson Store 100","name:ja":"ローソンストア100",shop:"convenience"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/convenience/ローソン・スリーエフ":{name:"ローソン・スリーエフ",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q24866804",shop:"convenience"},addTags:{brand:"ローソン・スリーエフ","brand:en":"LAWSON・Three F","brand:ja":"ローソン・スリーエフ","brand:wikidata":"Q24866804","brand:wikipedia":"ja:ローソン・スリーエフ",name:"ローソン・スリーエフ","name:en":"Lawson・Three F","name:ja":"ローソン・スリーエフ",shop:"convenience"},countryCodes:["jp"],terms:["lawson+スリーエフ","ローソン・スリーエフ"],matchScore:2,suggestion:true},"shop/convenience/全家":{name:"全家",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/familymart.japan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1191685",shop:"convenience"},addTags:{brand:"全家","brand:en":"FamilyMart","brand:wikidata":"Q1191685","brand:wikipedia":"en:FamilyMart",name:"全家","name:en":"FamilyMart",shop:"convenience"},countryCodes:["cn","tw"],terms:[],matchScore:2,suggestion:true},"shop/convenience/全家便利商店":{name:"全家便利商店",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q10891564",shop:"convenience"},addTags:{brand:"全家便利商店","brand:wikidata":"Q10891564","brand:wikipedia":"zh:全家便利商店",name:"全家便利商店",shop:"convenience"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"shop/convenience/萊爾富":{name:"萊爾富",icon:"fas-shopping-basket",geometry:["point","area"],tags:{"brand:wikidata":"Q11326216",shop:"convenience"},addTags:{brand:"萊爾富","brand:wikidata":"Q11326216","brand:wikipedia":"zh:萊爾富",name:"萊爾富",shop:"convenience"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"shop/convenience/세븐일레븐":{name:"세븐일레븐",icon:"fas-shopping-basket",imageURL:"https://graph.facebook.com/7ElevenMexico/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q259340",shop:"convenience"},addTags:{brand:"세븐일레븐","brand:en":"7-Eleven","brand:ko":"세븐일레븐","brand:wikidata":"Q259340","brand:wikipedia":"en:7-Eleven",name:"세븐일레븐","name:en":"7-Eleven","name:ko":"세븐일레븐",shop:"convenience"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"shop/copyshop/FedEx Office":{name:"FedEx Office",icon:"fas-print",imageURL:"https://graph.facebook.com/FedExOffice/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q474379",shop:"copyshop"},addTags:{brand:"FedEx Office","brand:wikidata":"Q474379","brand:wikipedia":"en:FedEx Office",name:"FedEx Office",shop:"copyshop"},countryCodes:["us"],terms:["fedex office print and ship center"],matchScore:2,suggestion:true},"shop/copyshop/Minuteman Press":{name:"Minuteman Press",icon:"fas-print",imageURL:"https://graph.facebook.com/MinutemanPressFranchise/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64866081",shop:"copyshop"},addTags:{brand:"Minuteman Press","brand:wikidata":"Q64866081",name:"Minuteman Press",shop:"copyshop"},terms:[],matchScore:2,suggestion:true},"shop/copyshop/Sir Speedy":{name:"Sir Speedy",icon:"fas-print",imageURL:"https://graph.facebook.com/SirSpeedyCorporate/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17088225",shop:"copyshop"},addTags:{brand:"Sir Speedy","brand:wikidata":"Q17088225","brand:wikipedia":"en:Sir Speedy",name:"Sir Speedy",shop:"copyshop"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/cosmetics/Aveda":{name:"Aveda",icon:"maki-shop",imageURL:"https://graph.facebook.com/Aveda/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4827965",shop:"cosmetics"},addTags:{brand:"Aveda","brand:wikidata":"Q4827965","brand:wikipedia":"en:Aveda",name:"Aveda",shop:"cosmetics"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/cosmetics/Bath & Body Works":{name:"Bath & Body Works",icon:"maki-shop",imageURL:"https://graph.facebook.com/bathandbodyworks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q810773",shop:"cosmetics"},addTags:{brand:"Bath & Body Works","brand:wikidata":"Q810773","brand:wikipedia":"en:Bath & Body Works",name:"Bath & Body Works",shop:"cosmetics"},terms:[],matchScore:2,suggestion:true},"shop/cosmetics/KIKO Milano":{name:"KIKO Milano",icon:"maki-shop",imageURL:"https://graph.facebook.com/KikoMilanoGlobal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3812045",shop:"cosmetics"},addTags:{brand:"KIKO Milano","brand:wikidata":"Q3812045","brand:wikipedia":"it:KIKO",name:"KIKO Milano",shop:"cosmetics"},countryCodes:["be","fr","gb","nl"],terms:["kiko"],matchScore:2,suggestion:true},"shop/cosmetics/Kiehl's":{name:"Kiehl's",icon:"maki-shop",imageURL:"https://graph.facebook.com/KiehlsUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3196447",shop:"cosmetics"},addTags:{brand:"Kiehl's","brand:wikidata":"Q3196447","brand:wikipedia":"en:Kiehl's",name:"Kiehl's",shop:"cosmetics"},countryCodes:["ca","us"],terms:["kiehl's since 1851"],matchScore:2,suggestion:true},"shop/cosmetics/L'Occitane":{name:"L'Occitane",icon:"maki-shop",imageURL:"https://graph.facebook.com/loccitaneusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1880676",shop:"cosmetics"},addTags:{brand:"L'Occitane","brand:wikidata":"Q1880676","brand:wikipedia":"en:L'Occitane en Provence",name:"L'Occitane",shop:"cosmetics"},terms:["l'occitane en provence"],matchScore:2,suggestion:true},"shop/cosmetics/Lush":{name:"Lush",icon:"maki-shop",imageURL:"https://graph.facebook.com/LUSHJAPAN/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1585448",shop:"cosmetics"},addTags:{brand:"Lush","brand:wikidata":"Q1585448","brand:wikipedia":"en:Lush (company)",name:"Lush",shop:"cosmetics"},terms:[],matchScore:2,suggestion:true},"shop/cosmetics/MAC Cosmetics":{name:"MAC Cosmetics",icon:"maki-shop",imageURL:"https://graph.facebook.com/MACcosmetics/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2624442",shop:"cosmetics"},addTags:{brand:"MAC Cosmetics","brand:wikidata":"Q2624442","brand:wikipedia":"en:MAC Cosmetics",name:"MAC Cosmetics",shop:"cosmetics",short_name:"M·A·C"},countryCodes:["ca","de","us"],terms:[],matchScore:2,suggestion:true},"shop/cosmetics/Nocibé":{name:"Nocibé",icon:"maki-shop",imageURL:"https://graph.facebook.com/nocibe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3342592",shop:"cosmetics"},addTags:{brand:"Nocibé","brand:wikidata":"Q3342592","brand:wikipedia":"fr:Nocibé",name:"Nocibé",shop:"cosmetics"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/cosmetics/Origins":{name:"Origins",icon:"maki-shop",imageURL:"https://graph.facebook.com/Origins/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6643229",shop:"cosmetics"},addTags:{brand:"Origins","brand:wikidata":"Q6643229","brand:wikipedia":"en:Origins (cosmetics)",name:"Origins",shop:"cosmetics"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/cosmetics/Saje":{name:"Saje",icon:"maki-shop",imageURL:"https://graph.facebook.com/SajeWellness/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q44631749",shop:"cosmetics"},addTags:{brand:"Saje","brand:wikidata":"Q44631749","brand:wikipedia":"en:Saje Natural Wellness",name:"Saje",shop:"cosmetics"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/cosmetics/Sephora":{name:"Sephora",icon:"maki-shop",imageURL:"https://graph.facebook.com/sephora/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2408041",shop:"cosmetics"},addTags:{brand:"Sephora","brand:wikidata":"Q2408041","brand:wikipedia":"en:Sephora",name:"Sephora",shop:"cosmetics"},terms:[],matchScore:2,suggestion:true},"shop/cosmetics/The Body Shop":{name:"The Body Shop",icon:"maki-shop",imageURL:"https://graph.facebook.com/TheBodyShopUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q837851",shop:"cosmetics"},addTags:{brand:"The Body Shop","brand:wikidata":"Q837851","brand:wikipedia":"en:The Body Shop",name:"The Body Shop",shop:"cosmetics"},terms:[],matchScore:2,suggestion:true},"shop/cosmetics/Ulta Beauty":{name:"Ulta Beauty",icon:"maki-shop",imageURL:"https://graph.facebook.com/UltaBeauty/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7880076",shop:"cosmetics"},addTags:{brand:"Ulta Beauty","brand:wikidata":"Q7880076","brand:wikipedia":"en:Ulta Beauty",name:"Ulta Beauty",shop:"cosmetics"},countryCodes:["us"],terms:["ulta"],matchScore:2,suggestion:true},"shop/cosmetics/Л'Этуаль":{name:"Л'Этуаль",icon:"maki-shop",imageURL:"https://graph.facebook.com/letoile.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18400706",shop:"cosmetics"},addTags:{brand:"Л'Этуаль","brand:wikidata":"Q18400706","brand:wikipedia":"ru:Л’Этуаль",name:"Л'Этуаль",shop:"cosmetics"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/cosmetics/Магнит Косметик":{name:"Магнит Косметик",icon:"maki-shop",imageURL:"https://graph.facebook.com/magnitretail/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q940518",shop:"cosmetics"},addTags:{brand:"Магнит Косметик","brand:en":"Magnit Cosmetics","brand:wikidata":"Q940518","brand:wikipedia":"ru:Магнит (сеть магазинов)",name:"Магнит Косметик","name:en":"Magnit Cosmetics",shop:"cosmetics"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/country_store/Atwoods":{name:"Atwoods",icon:"maki-shop",imageURL:"https://graph.facebook.com/Atwoods.Ranch.and.Home.Stores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4818874",shop:"country_store"},addTags:{brand:"Atwoods","brand:wikidata":"Q4818874","brand:wikipedia":"en:Atwoods",name:"Atwoods",shop:"country_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/country_store/Blain's Farm & Fleet":{name:"Blain's Farm & Fleet",icon:"maki-shop",imageURL:"https://graph.facebook.com/BlainsFarmandFleet/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4923906",shop:"country_store"},addTags:{brand:"Blain's Farm & Fleet","brand:wikidata":"Q4923906","brand:wikipedia":"en:Blain's Farm & Fleet",name:"Blain's Farm & Fleet",shop:"country_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/country_store/Bomgaars":{name:"Bomgaars",icon:"maki-shop",imageURL:"https://graph.facebook.com/BomgaarsSupply.Corporate/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q22059070",shop:"country_store"},addTags:{brand:"Bomgaars","brand:wikidata":"Q22059070","brand:wikipedia":"en:Bomgaars",name:"Bomgaars",shop:"country_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/country_store/Fleet Farm":{name:"Fleet Farm",icon:"maki-shop",imageURL:"https://graph.facebook.com/fleetfarm/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6859973",shop:"country_store"},addTags:{brand:"Fleet Farm","brand:wikidata":"Q6859973","brand:wikipedia":"en:Fleet Farm",name:"Fleet Farm",shop:"country_store"},countryCodes:["us"],terms:["mills fleet farm"],matchScore:2,suggestion:true},"shop/country_store/Grange Co-op":{name:"Grange Co-op",icon:"maki-shop",imageURL:"https://graph.facebook.com/grangecoop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5595639",shop:"country_store"},addTags:{brand:"Grange Co-op","brand:wikidata":"Q5595639","brand:wikipedia":"en:Grange Cooperative",name:"Grange Co-op",shop:"country_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/country_store/Home of Economy":{name:"Home of Economy",icon:"maki-shop",imageURL:"https://graph.facebook.com/Homeofeconomy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5889100",shop:"country_store"},addTags:{brand:"Home of Economy","brand:wikidata":"Q5889100","brand:wikipedia":"en:Home of Economy",name:"Home of Economy",shop:"country_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/country_store/Norbys Farm Fleet":{name:"Norbys Farm Fleet",icon:"maki-shop",imageURL:"https://graph.facebook.com/norbysfarmfleet/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7050461",shop:"country_store"},addTags:{brand:"Norbys Farm Fleet","brand:wikidata":"Q7050461","brand:wikipedia":"en:Norby's Farm Fleet",name:"Norbys Farm Fleet",shop:"country_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/country_store/Orscheln Farm & Home":{name:"Orscheln Farm & Home",icon:"maki-shop",imageURL:"https://graph.facebook.com/orschelnfarmandhome/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q22060331",shop:"country_store"},addTags:{brand:"Orscheln Farm & Home","brand:wikidata":"Q22060331","brand:wikipedia":"en:Orscheln Farm & Home",name:"Orscheln Farm & Home",shop:"country_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/country_store/Peavey Mart":{name:"Peavey Mart",icon:"maki-shop",imageURL:"https://graph.facebook.com/PeaveyMart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7158483",shop:"country_store"},addTags:{brand:"Peavey Mart","brand:wikidata":"Q7158483","brand:wikipedia":"en:Peavey Mart",name:"Peavey Mart",shop:"country_store"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/country_store/Rural King":{name:"Rural King",icon:"maki-shop",imageURL:"https://graph.facebook.com/RuralKing/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7380525",shop:"country_store"},addTags:{brand:"Rural King","brand:wikidata":"Q7380525","brand:wikipedia":"en:Rural King",name:"Rural King",shop:"country_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/country_store/TSC Stores":{name:"TSC Stores",icon:"maki-shop",imageURL:"https://graph.facebook.com/TSCStoresCanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62720230",shop:"country_store"},addTags:{brand:"TSC Stores","brand:wikidata":"Q62720230",name:"TSC Stores",shop:"country_store"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/country_store/Theisen's":{name:"Theisen's",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/743446346414227456/6V3KBxMe_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7777850",shop:"country_store"},addTags:{brand:"Theisen's","brand:wikidata":"Q7777850","brand:wikipedia":"en:Theisen's",name:"Theisen's",shop:"country_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/country_store/Tractor Supply Company":{name:"Tractor Supply Company",icon:"maki-shop",imageURL:"https://graph.facebook.com/TractorSupplyCo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15109925",shop:"country_store"},addTags:{brand:"Tractor Supply Company","brand:wikidata":"Q15109925","brand:wikipedia":"en:Tractor Supply Company",name:"Tractor Supply Company",shop:"country_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/country_store/Wynnstay":{name:"Wynnstay",icon:"maki-shop",imageURL:"https://graph.facebook.com/WynnstayCountryStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63016351",shop:"country_store"},addTags:{brand:"Wynnstay","brand:wikidata":"Q63016351",name:"Wynnstay",shop:"country_store"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/craft/A.C. Moore":{name:"A.C. Moore",icon:"fas-palette",imageURL:"https://graph.facebook.com/acmoore/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4647066",shop:"craft"},addTags:{brand:"A.C. Moore","brand:wikidata":"Q4647066","brand:wikipedia":"en:A.C. Moore",name:"A.C. Moore",shop:"craft"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/craft/Hobby Lobby":{name:"Hobby Lobby",icon:"fas-palette",imageURL:"https://graph.facebook.com/HobbyLobby/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5874938",shop:"craft"},addTags:{brand:"Hobby Lobby","brand:wikidata":"Q5874938","brand:wikipedia":"en:Hobby Lobby",name:"Hobby Lobby",shop:"craft"},countryCodes:["in","us"],terms:[],matchScore:2,suggestion:true},"shop/craft/Hobbycraft":{name:"Hobbycraft",icon:"fas-palette",imageURL:"https://graph.facebook.com/HobbycraftUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16984508",shop:"craft"},addTags:{brand:"Hobbycraft","brand:wikidata":"Q16984508","brand:wikipedia":"en:Hobbycraft",name:"Hobbycraft",shop:"craft"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/craft/Jo-Ann":{name:"Jo-Ann",icon:"fas-palette",imageURL:"https://graph.facebook.com/JoAnn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6203968",shop:"craft"},addTags:{brand:"Jo-Ann","brand:wikidata":"Q6203968","brand:wikipedia":"en:Jo-Ann Stores",name:"Jo-Ann",shop:"craft"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/craft/Michaels":{name:"Michaels",icon:"fas-palette",imageURL:"https://graph.facebook.com/Michaels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6835667",shop:"craft"},addTags:{brand:"Michaels","brand:wikidata":"Q6835667",name:"Michaels",shop:"craft"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/craft/Woodcraft":{name:"Woodcraft",icon:"fas-palette",imageURL:"https://graph.facebook.com/WoodcraftWoodworking/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q22026341",shop:"craft"},addTags:{brand:"Woodcraft","brand:wikidata":"Q22026341","brand:wikipedia":"en:Woodcraft Supply",name:"Woodcraft",shop:"craft"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/deli/ほっともっと":{name:"ほっともっと",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/hottomotto/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10850949",shop:"deli"},addTags:{brand:"ほっともっと","brand:en":"Hotto Motto","brand:ja":"ほっともっと","brand:wikidata":"Q10850949","brand:wikipedia":"ja:ほっともっと",name:"ほっともっと","name:en":"Hotto Motto","name:ja":"ほっともっと",shop:"deli"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/deli/京樽":{name:"京樽",icon:"maki-restaurant",imageURL:"https://graph.facebook.com/kyotaru.sushi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11374503",shop:"deli"},addTags:{brand:"京樽","brand:en":"Kyotaru","brand:ja":"京樽","brand:wikidata":"Q11374503","brand:wikipedia":"ja:京樽",name:"京樽","name:en":"Kyotaru","name:ja":"京樽",shop:"deli"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Barneys New York":{name:"Barneys New York",icon:"maki-shop",imageURL:"https://graph.facebook.com/BarneysNY/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q59465",shop:"department_store"},addTags:{brand:"Barneys New York","brand:wikidata":"Q59465","brand:wikipedia":"en:Barneys New York",name:"Barneys New York",shop:"department_store"},countryCodes:["us"],terms:["barneys"],matchScore:2,suggestion:true},"shop/department_store/Bealls (Florida-based)":{name:"Bealls (Florida-based)",icon:"maki-shop",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBealls%20inc%20logob.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q4876153",shop:"department_store"},addTags:{brand:"Bealls","brand:wikidata":"Q4876153","brand:wikipedia":"en:Bealls (Florida)",name:"Bealls",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Bealls (Texas-based )":{name:"Bealls (Texas-based )",icon:"maki-shop",geometry:["point","area"],tags:{"brand:wikidata":"Q4876156",shop:"department_store"},addTags:{brand:"Bealls","brand:wikidata":"Q4876156","brand:wikipedia":"en:Bealls (Texas)",name:"Bealls",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Belk":{name:"Belk",icon:"maki-shop",imageURL:"https://graph.facebook.com/Belk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q127428",shop:"department_store"},addTags:{brand:"Belk","brand:wikidata":"Q127428","brand:wikipedia":"en:Belk",name:"Belk",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Bi-Mart":{name:"Bi-Mart",icon:"maki-shop",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBi-Mart.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q4902331",shop:"department_store"},addTags:{brand:"Bi-Mart","brand:wikidata":"Q4902331","brand:wikipedia":"en:Bi-Mart",name:"Bi-Mart",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Big Lots":{name:"Big Lots",icon:"maki-shop",imageURL:"https://graph.facebook.com/biglots/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4905973",shop:"department_store"},addTags:{brand:"Big Lots","brand:wikidata":"Q4905973","brand:wikipedia":"en:Big Lots",name:"Big Lots",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Big W":{name:"Big W",icon:"maki-shop",imageURL:"https://graph.facebook.com/BIGWaustralia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4906646",shop:"department_store"},addTags:{brand:"Big W","brand:wikidata":"Q4906646","brand:wikipedia":"en:Big W",name:"Big W",shop:"department_store"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Bloomingdale's":{name:"Bloomingdale's",icon:"maki-shop",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBloomingdale's%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q283383",shop:"department_store"},addTags:{brand:"Bloomingdale's","brand:wikidata":"Q283383","brand:wikipedia":"en:Bloomingdale's",name:"Bloomingdale's",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Canadian Tire":{name:"Canadian Tire",icon:"maki-shop",imageURL:"https://graph.facebook.com/Canadiantire/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1032400",shop:"department_store"},addTags:{brand:"Canadian Tire","brand:wikidata":"Q1032400","brand:wikipedia":"en:Canadian Tire",name:"Canadian Tire",shop:"department_store"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Casas Bahia":{name:"Casas Bahia",icon:"maki-shop",imageURL:"https://graph.facebook.com/CasasBahia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5048048",shop:"department_store"},addTags:{brand:"Casas Bahia","brand:wikidata":"Q5048048","brand:wikipedia":"en:Casas Bahia",name:"Casas Bahia",shop:"department_store"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Century 21":{name:"Century 21",icon:"maki-shop",imageURL:"https://graph.facebook.com/century21stores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5063125",shop:"department_store"},addTags:{brand:"Century 21","brand:wikidata":"Q5063125","brand:wikipedia":"en:Century 21 (department store)",name:"Century 21",shop:"department_store"},countryCodes:["us"],terms:["c21"],matchScore:2,suggestion:true},"shop/department_store/Coppel":{name:"Coppel",icon:"maki-shop",imageURL:"https://graph.facebook.com/tiendascoppel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2497795",shop:"department_store"},addTags:{brand:"Coppel","brand:wikidata":"Q2497795","brand:wikipedia":"en:Coppel",name:"Coppel",shop:"department_store"},terms:[],matchScore:2,suggestion:true},"shop/department_store/David Jones":{name:"David Jones",icon:"maki-shop",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FDavid%20Jones%20Limited%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q5235753",shop:"department_store"},addTags:{brand:"David Jones","brand:wikidata":"Q5235753","brand:wikipedia":"en:David Jones Limited",name:"David Jones",shop:"department_store"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Debenhams":{name:"Debenhams",icon:"maki-shop",imageURL:"https://graph.facebook.com/Debenhams/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1181484",shop:"department_store"},addTags:{brand:"Debenhams","brand:wikidata":"Q1181484","brand:wikipedia":"en:Debenhams",name:"Debenhams",shop:"department_store"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Dillard's":{name:"Dillard's",icon:"maki-shop",imageURL:"https://graph.facebook.com/Dillards/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q844805",shop:"department_store"},addTags:{brand:"Dillard's","brand:wikidata":"Q844805","brand:wikipedia":"en:Dillard's",name:"Dillard's",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/El Corte Inglés":{name:"El Corte Inglés",icon:"maki-shop",imageURL:"https://graph.facebook.com/elcorteingles/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q623133",shop:"department_store"},addTags:{brand:"El Corte Inglés","brand:wikidata":"Q623133","brand:wikipedia":"en:El Corte Inglés",name:"El Corte Inglés",shop:"department_store"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Falabella":{name:"Falabella",icon:"maki-shop",imageURL:"https://graph.facebook.com/falabellachile/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5135229",shop:"department_store"},addTags:{brand:"Falabella","brand:wikidata":"Q5135229","brand:wikipedia":"en:Falabella (retail store)",name:"Falabella",shop:"department_store"},terms:["saga falabella"],matchScore:2,suggestion:true},"shop/department_store/Galeria Kaufhof":{name:"Galeria Kaufhof",icon:"maki-shop",imageURL:"https://graph.facebook.com/GaleriaKarstadtKaufhof/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q322598",shop:"department_store"},addTags:{brand:"Galeria Kaufhof","brand:wikidata":"Q322598","brand:wikipedia":"en:Galeria Kaufhof",name:"Galeria Kaufhof",shop:"department_store"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Giant Tiger":{name:"Giant Tiger",icon:"maki-shop",imageURL:"https://graph.facebook.com/GiantTiger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5558429",shop:"department_store"},addTags:{brand:"Giant Tiger","brand:wikidata":"Q5558429","brand:wikipedia":"en:Giant Tiger",name:"Giant Tiger",shop:"department_store"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Gordmans":{name:"Gordmans",icon:"maki-shop",imageURL:"https://graph.facebook.com/gordmans/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5584725",shop:"department_store"},addTags:{brand:"Gordmans","brand:wikidata":"Q5584725","brand:wikipedia":"en:Gordmans",name:"Gordmans",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/HEMA":{name:"HEMA",icon:"maki-shop",imageURL:"https://graph.facebook.com/hema/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q903805",shop:"department_store"},addTags:{brand:"HEMA","brand:wikidata":"Q903805","brand:wikipedia":"en:HEMA (store)",name:"HEMA",shop:"department_store"},countryCodes:["be","de","nl"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Harvey Norman":{name:"Harvey Norman",icon:"maki-shop",imageURL:"https://graph.facebook.com/HarveyNormanAU/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4040441",shop:"department_store"},addTags:{brand:"Harvey Norman","brand:wikidata":"Q4040441","brand:wikipedia":"en:Harvey Norman",name:"Harvey Norman",shop:"department_store"},countryCodes:["au","nz"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Havan":{name:"Havan",icon:"maki-shop",imageURL:"https://graph.facebook.com/Havanoficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61968827",shop:"department_store"},addTags:{brand:"Havan","brand:wikidata":"Q61968827",name:"Havan",shop:"department_store"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Hudson's Bay":{name:"Hudson's Bay",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/1101488235371479041/QIHGzj4I_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q641129",shop:"department_store"},addTags:{alt_name:"The Bay",brand:"Hudson's Bay","brand:wikidata":"Q641129","brand:wikipedia":"en:Hudson's Bay (retailer)",name:"Hudson's Bay",shop:"department_store"},countryCodes:["ca","nl"],terms:[],matchScore:2,suggestion:true},"shop/department_store/JCPenney":{name:"JCPenney",icon:"maki-shop",imageURL:"https://graph.facebook.com/jcp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q920037",shop:"department_store"},addTags:{brand:"JCPenney","brand:wikidata":"Q920037","brand:wikipedia":"en:J. C. Penney",name:"JCPenney",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/John Lewis":{name:"John Lewis",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/1148531679776202752/7LP87JDn_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q1918981",shop:"department_store"},addTags:{brand:"John Lewis","brand:wikidata":"Q1918981","brand:wikipedia":"en:John Lewis & Partners",name:"John Lewis",shop:"department_store"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Karstadt":{name:"Karstadt",icon:"maki-shop",imageURL:"https://graph.facebook.com/karstadt1881/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q182910",shop:"department_store"},addTags:{brand:"Karstadt","brand:wikidata":"Q182910","brand:wikipedia":"en:Karstadt",name:"Karstadt",shop:"department_store"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Kmart (Australia)":{name:"Kmart (Australia)",icon:"maki-shop",imageURL:"https://graph.facebook.com/KmartAustralia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6421682",shop:"department_store"},addTags:{brand:"Kmart","brand:wikidata":"Q6421682","brand:wikipedia":"en:Kmart Australia",name:"Kmart",shop:"department_store"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Kmart (USA)":{name:"Kmart (USA)",icon:"maki-shop",imageURL:"https://graph.facebook.com/kmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1753080",shop:"department_store"},addTags:{brand:"Kmart","brand:wikidata":"Q1753080","brand:wikipedia":"en:Kmart",name:"Kmart",shop:"department_store"},countryCodes:["us"],terms:["k-mart"],matchScore:2,suggestion:true},"shop/department_store/Kohl's":{name:"Kohl's",icon:"maki-shop",imageURL:"https://graph.facebook.com/kohls/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q967265",shop:"department_store"},addTags:{brand:"Kohl's","brand:wikidata":"Q967265","brand:wikipedia":"en:Kohl's",name:"Kohl's",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Lojas Americanas":{name:"Lojas Americanas",icon:"maki-shop",imageURL:"https://graph.facebook.com/lojasamericanas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3064093",shop:"department_store"},addTags:{brand:"Lojas Americanas","brand:wikidata":"Q3064093","brand:wikipedia":"en:Lojas Americanas",name:"Lojas Americanas",shop:"department_store"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Lord & Taylor":{name:"Lord & Taylor",icon:"maki-shop",imageURL:"https://graph.facebook.com/lordandtaylor/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2749082",shop:"department_store"},addTags:{brand:"Lord & Taylor","brand:wikidata":"Q2749082","brand:wikipedia":"en:Lord & Taylor",name:"Lord & Taylor",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Lotte Department Store":{name:"Lotte Department Store",icon:"maki-shop",imageURL:"https://graph.facebook.com/LOTTEshopping/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q489905",shop:"department_store"},addTags:{brand:"Lotte Department Store","brand:wikidata":"Q489905","brand:wikipedia":"en:Lotte Department Store",name:"Lotte Department Store",shop:"department_store"},terms:["lotte"],matchScore:2,suggestion:true},"shop/department_store/Macy's":{name:"Macy's",icon:"maki-shop",imageURL:"https://graph.facebook.com/Macys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q629269",shop:"department_store"},addTags:{brand:"Macy's","brand:wikidata":"Q629269","brand:wikipedia":"en:Macy's",name:"Macy's",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Marks & Spencer":{name:"Marks & Spencer",icon:"maki-shop",imageURL:"https://graph.facebook.com/marksandspencerrussia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q714491",shop:"department_store"},addTags:{brand:"Marks & Spencer","brand:wikidata":"Q714491","brand:wikipedia":"en:Marks & Spencer",name:"Marks & Spencer",shop:"department_store"},countryCodes:["gb","gr","ie"],terms:["m and s"],matchScore:2,suggestion:true},"shop/department_store/Marshalls":{name:"Marshalls",icon:"maki-shop",imageURL:"https://graph.facebook.com/Marshalls/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15903261",shop:"department_store"},addTags:{brand:"Marshalls","brand:wikidata":"Q15903261","brand:wikipedia":"en:Marshalls",name:"Marshalls",shop:"department_store"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Muji":{name:"Muji",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/2779266335/6fbe4ceb685984dbe3a149bd94043e80_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q708789",shop:"department_store"},addTags:{brand:"Muji","brand:en":"Muji","brand:ja":"無印良品","brand:wikidata":"Q708789","brand:wikipedia":"en:Muji",name:"Muji","name:en":"Muji","name:ja":"無印良品",shop:"department_store"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Myer":{name:"Myer",icon:"maki-shop",imageURL:"https://graph.facebook.com/myer/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1110323",shop:"department_store"},addTags:{brand:"Myer","brand:wikidata":"Q1110323","brand:wikipedia":"en:Myer",name:"Myer",shop:"department_store"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Neiman Marcus":{name:"Neiman Marcus",icon:"maki-shop",imageURL:"https://graph.facebook.com/neimanmarcus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q743497",shop:"department_store"},addTags:{brand:"Neiman Marcus","brand:wikidata":"Q743497","brand:wikipedia":"en:Neiman Marcus",name:"Neiman Marcus",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Nordstrom":{name:"Nordstrom",icon:"maki-shop",imageURL:"https://graph.facebook.com/Nordstrom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q174310",shop:"department_store"},addTags:{brand:"Nordstrom","brand:wikidata":"Q174310","brand:wikipedia":"en:Nordstrom",name:"Nordstrom",shop:"department_store"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Oechsle":{name:"Oechsle",icon:"maki-shop",imageURL:"https://graph.facebook.com/tiendasoechsle/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6049096",shop:"department_store"},addTags:{brand:"Oechsle","brand:wikidata":"Q6049096","brand:wikipedia":"es:Oechsle",name:"Oechsle",shop:"department_store"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"shop/department_store/París":{name:"París",icon:"maki-shop",imageURL:"https://graph.facebook.com/TiendasParis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q20812805",shop:"department_store"},addTags:{brand:"París","brand:wikidata":"Q20812805","brand:wikipedia":"en:París (retail store)",name:"París",shop:"department_store"},countryCodes:["cl","pe"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Printemps":{name:"Printemps",icon:"maki-shop",imageURL:"https://graph.facebook.com/Printemps/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1535260",shop:"department_store"},addTags:{brand:"Printemps","brand:wikidata":"Q1535260","brand:wikipedia":"fr:Printemps (grands magasins)",name:"Printemps",shop:"department_store"},countryCodes:["ad","cn","fr","jp","sa"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Ripley":{name:"Ripley",icon:"maki-shop",imageURL:"https://graph.facebook.com/ripleychile/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3433040",shop:"department_store"},addTags:{brand:"Ripley","brand:wikidata":"Q3433040","brand:wikipedia":"en:Ripley S.A.",name:"Ripley",shop:"department_store"},countryCodes:["cl","pe"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Saks Fifth Avenue":{name:"Saks Fifth Avenue",icon:"maki-shop",imageURL:"https://graph.facebook.com/saks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2723882",shop:"department_store"},addTags:{brand:"Saks Fifth Avenue","brand:wikidata":"Q2723882","brand:wikipedia":"en:Saks Fifth Avenue",name:"Saks Fifth Avenue",shop:"department_store"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Saks Off 5th":{name:"Saks Off 5th",icon:"maki-shop",imageURL:"https://graph.facebook.com/saks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2723882",shop:"department_store"},addTags:{brand:"Saks Off 5th","brand:wikidata":"Q2723882","brand:wikipedia":"en:Saks Fifth Avenue",name:"Saks Off 5th",shop:"department_store"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Sears":{name:"Sears",icon:"maki-shop",imageURL:"https://graph.facebook.com/sears/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6499202",shop:"department_store"},addTags:{brand:"Sears","brand:wikidata":"Q6499202","brand:wikipedia":"en:Sears",name:"Sears",shop:"department_store"},countryCodes:["mx","us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Shopko":{name:"Shopko",icon:"maki-shop",imageURL:"https://graph.facebook.com/ShopkoOptical/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7501155",shop:"department_store"},addTags:{brand:"Shopko","brand:wikidata":"Q7501155","brand:wikipedia":"en:Shopko",name:"Shopko",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Stein Mart":{name:"Stein Mart",icon:"maki-shop",imageURL:"https://graph.facebook.com/SteinMart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7606770",shop:"department_store"},addTags:{brand:"Stein Mart","brand:wikidata":"Q7606770","brand:wikipedia":"en:Stein Mart",name:"Stein Mart",shop:"department_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Stockmann":{name:"Stockmann",icon:"maki-shop",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FStockmann%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1543093",shop:"department_store"},addTags:{brand:"Stockmann","brand:wikidata":"Q1543093","brand:wikipedia":"fi:Stockmann",name:"Stockmann",shop:"department_store"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Target (Australia)":{name:"Target (Australia)",icon:"maki-shop",imageURL:"https://graph.facebook.com/targetaus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7685854",shop:"department_store"},addTags:{brand:"Target","brand:wikidata":"Q7685854","brand:wikipedia":"en:Target Australia",name:"Target",shop:"department_store"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Target (USA)":{name:"Target (USA)",icon:"maki-shop",imageURL:"https://graph.facebook.com/target/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1046951",shop:"department_store"},addTags:{brand:"Target","brand:wikidata":"Q1046951","brand:wikipedia":"en:Target Corporation",name:"Target",shop:"department_store"},countryCodes:["us"],terms:["Super Target"],matchScore:2,suggestion:true},"shop/department_store/The Warehouse":{name:"The Warehouse",icon:"maki-shop",imageURL:"https://graph.facebook.com/TheWarehouseNZ/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3566291",shop:"department_store"},addTags:{brand:"The Warehouse","brand:wikidata":"Q3566291","brand:wikipedia":"en:The Warehouse Group",name:"The Warehouse",shop:"department_store"},countryCodes:["nz"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Walmart":{name:"Walmart",icon:"maki-shop",imageURL:"https://graph.facebook.com/walmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q483551",shop:"department_store"},addTags:{brand:"Walmart","brand:wikidata":"Q483551","brand:wikipedia":"en:Walmart",name:"Walmart",shop:"department_store"},terms:[],matchScore:2,suggestion:true},"shop/department_store/Woolworth":{name:"Woolworth",icon:"maki-shop",imageURL:"https://graph.facebook.com/WoolworthDeutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q183538",shop:"department_store"},addTags:{brand:"Woolworth","brand:wikidata":"Q183538","brand:wikipedia":"de:Woolworth Deutschland",name:"Woolworth",shop:"department_store"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/department_store/Åhléns":{name:"Åhléns",icon:"maki-shop",imageURL:"https://graph.facebook.com/ahlens/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q270851",shop:"department_store"},addTags:{brand:"Åhléns","brand:wikidata":"Q270851","brand:wikipedia":"sv:Åhléns",name:"Åhléns",shop:"department_store"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/department_store/東急ハンズ":{name:"東急ハンズ",icon:"maki-shop",imageURL:"https://graph.facebook.com/TokyuHandsInc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q859212",shop:"department_store"},addTags:{brand:"東急ハンズ","brand:en":"Tokyu Hands","brand:ja":"東急ハンズ","brand:wikidata":"Q859212","brand:wikipedia":"ja:東急ハンズ",name:"東急ハンズ","name:en":"Tokyu Hands","name:ja":"東急ハンズ",shop:"department_store"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/department_store/無印良品":{name:"無印良品",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/2779266335/6fbe4ceb685984dbe3a149bd94043e80_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q708789",shop:"department_store"},addTags:{brand:"無印良品","brand:en":"Muji","brand:ja":"無印良品","brand:wikidata":"Q708789","brand:wikipedia":"ja:無印良品",name:"無印良品","name:en":"Muji","name:ja":"無印良品",shop:"department_store"},countryCodes:["jp","tw"],terms:[],matchScore:2,suggestion:true},"shop/department_store/롯데백화점":{name:"롯데백화점",icon:"maki-shop",imageURL:"https://graph.facebook.com/LOTTEshopping/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q489905",shop:"department_store"},addTags:{brand:"롯데백화점","brand:ko":"롯데백화점","brand:wikidata":"Q489905","brand:wikipedia":"ko:롯데백화점",name:"롯데백화점","name:en":"Lotte Department Store","name:ko":"롯데백화점",shop:"department_store"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Ace Hardware":{name:"Ace Hardware",icon:"temaki-tools",imageURL:"https://graph.facebook.com/acehardware/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4672981",shop:"doityourself"},addTags:{brand:"Ace Hardware","brand:wikidata":"Q4672981","brand:wikipedia":"en:Ace Hardware",name:"Ace Hardware",shop:"doityourself"},terms:[],matchScore:2,suggestion:true},"shop/doityourself/B&Q":{name:"B&Q",icon:"temaki-tools",imageURL:"https://graph.facebook.com/bandq/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q707602",shop:"doityourself"},addTags:{brand:"B&Q","brand:wikidata":"Q707602","brand:wikipedia":"en:B&Q",name:"B&Q",shop:"doityourself"},terms:[],matchScore:2,suggestion:true},"shop/doityourself/Bauhaus":{name:"Bauhaus",icon:"temaki-tools",imageURL:"https://graph.facebook.com/137379942944322/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q672043",shop:"doityourself"},addTags:{brand:"Bauhaus","brand:wikidata":"Q672043","brand:wikipedia":"en:Bauhaus (company)",name:"Bauhaus",shop:"doityourself"},terms:[],matchScore:2,suggestion:true},"shop/doityourself/Biltema":{name:"Biltema",icon:"temaki-tools",imageURL:"https://graph.facebook.com/BiltemaSverige/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3355552",shop:"doityourself"},addTags:{brand:"Biltema","brand:wikidata":"Q3355552","brand:wikipedia":"en:Biltema",name:"Biltema",shop:"doityourself"},countryCodes:["dk","fi","no","se"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Brico":{name:"Brico",icon:"temaki-tools",imageURL:"https://graph.facebook.com/brico.be/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2510786",shop:"doityourself"},addTags:{brand:"Brico","brand:wikidata":"Q2510786","brand:wikipedia":"en:Brico",name:"Brico",shop:"doityourself"},countryCodes:["be","fr","it"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Brico Dépôt":{name:"Brico Dépôt",icon:"temaki-tools",imageURL:"https://graph.facebook.com/BricoDepotFrance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2889702",shop:"doityourself"},addTags:{brand:"Brico Dépôt","brand:wikidata":"Q2889702","brand:wikipedia":"en:Brico Dépôt",name:"Brico Dépôt",shop:"doityourself"},countryCodes:["fr","ro"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Bricoman":{name:"Bricoman",icon:"temaki-tools",imageURL:"https://graph.facebook.com/BricomanFrance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2925142",shop:"doityourself"},addTags:{brand:"Bricoman","brand:wikidata":"Q2925142","brand:wikipedia":"it:Bricoman",name:"Bricoman",shop:"doityourself"},countryCodes:["fr","it","pl"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Bricomarché":{name:"Bricomarché",icon:"temaki-tools",imageURL:"https://graph.facebook.com/Bricomarche/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2925147",shop:"doityourself"},addTags:{brand:"Bricomarché","brand:wikidata":"Q2925147","brand:wikipedia":"en:Bricomarché",name:"Bricomarché",shop:"doityourself"},countryCodes:["fr","pl","pt"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Bricorama":{name:"Bricorama",icon:"temaki-tools",imageURL:"https://graph.facebook.com/BricoramaFR/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2925146",shop:"doityourself"},addTags:{brand:"Bricorama","brand:wikidata":"Q2925146","brand:wikipedia":"en:Bricorama",name:"Bricorama",shop:"doityourself"},countryCodes:["es","fr"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Bunnings Warehouse":{name:"Bunnings Warehouse",icon:"temaki-tools",imageURL:"https://pbs.twimg.com/profile_images/1405732718/hammer_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q4997829",shop:"doityourself"},addTags:{brand:"Bunnings Warehouse","brand:wikidata":"Q4997829","brand:wikipedia":"en:Bunnings Warehouse",name:"Bunnings Warehouse",shop:"doityourself"},countryCodes:["au","nz"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Castorama":{name:"Castorama",icon:"temaki-tools",imageURL:"https://graph.facebook.com/castorama/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q966971",shop:"doityourself"},addTags:{brand:"Castorama","brand:wikidata":"Q966971","brand:wikipedia":"en:Castorama",name:"Castorama",shop:"doityourself"},terms:[],matchScore:2,suggestion:true},"shop/doityourself/Clas Ohlson":{name:"Clas Ohlson",icon:"temaki-tools",imageURL:"https://graph.facebook.com/clasohlsonsverige/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3356220",shop:"doityourself"},addTags:{brand:"Clas Ohlson","brand:wikidata":"Q3356220","brand:wikipedia":"en:Clas Ohlson",name:"Clas Ohlson",shop:"doityourself"},countryCodes:["fi","no","se"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Easy":{name:"Easy",icon:"temaki-tools",imageURL:"https://graph.facebook.com/EasyHomecenter/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5331091",shop:"doityourself"},addTags:{brand:"Easy","brand:wikidata":"Q5331091","brand:wikipedia":"en:Easy (store)",name:"Easy",shop:"doityourself"},terms:[],matchScore:2,suggestion:true},"shop/doityourself/Gamma":{name:"Gamma",icon:"temaki-tools",imageURL:"https://graph.facebook.com/gamma.be/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2294120",shop:"doityourself"},addTags:{brand:"Gamma","brand:wikidata":"Q2294120","brand:wikipedia":"en:Gamma (store)",name:"Gamma",shop:"doityourself"},countryCodes:["be","nl"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Globus Baumarkt":{name:"Globus Baumarkt",icon:"temaki-tools",imageURL:"https://graph.facebook.com/Globus.de/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q457503",shop:"doityourself"},addTags:{brand:"Globus Baumarkt","brand:wikidata":"Q457503","brand:wikipedia":"de:Globus Holding",name:"Globus Baumarkt",shop:"doityourself"},countryCodes:["de","lu"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Hagebaumarkt":{name:"Hagebaumarkt",icon:"temaki-tools",imageURL:"https://graph.facebook.com/hagebau/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1568279",shop:"doityourself"},addTags:{brand:"Hagebaumarkt","brand:wikidata":"Q1568279","brand:wikipedia":"de:Hagebau",name:"Hagebaumarkt",shop:"doityourself"},countryCodes:["at","be","ch","de","es","fr","lu","nl"],terms:["hagebau"],matchScore:2,suggestion:true},"shop/doityourself/Hammer":{name:"Hammer",icon:"temaki-tools",imageURL:"https://graph.facebook.com/hammerzuhause/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q52159668",shop:"doityourself"},addTags:{brand:"Hammer","brand:wikidata":"Q52159668","brand:wikipedia":"de:Hammer (Fachmarktkette)",name:"Hammer",shop:"doityourself"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Hellweg":{name:"Hellweg",icon:"temaki-tools",imageURL:"https://graph.facebook.com/Hellweg.de/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1603084",shop:"doityourself"},addTags:{brand:"Hellweg","brand:wikidata":"Q1603084","brand:wikipedia":"de:Hellweg (Baumarkt)",name:"Hellweg",shop:"doityourself"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Home Building Centre (Canada)":{name:"Home Building Centre (Canada)",icon:"temaki-tools",imageURL:"https://graph.facebook.com/homehardwarestores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3139611",shop:"doityourself"},addTags:{brand:"Home Hardware","brand:wikidata":"Q3139611","brand:wikipedia":"en:Home Hardware",name:"Home Building Centre",shop:"doityourself"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Home Hardware Building Centre (Canada)":{name:"Home Hardware Building Centre (Canada)",icon:"temaki-tools",imageURL:"https://graph.facebook.com/homehardwarestores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3139611",shop:"doityourself"},addTags:{brand:"Home Hardware","brand:wikidata":"Q3139611","brand:wikipedia":"en:Home Hardware",name:"Home Hardware Building Centre",shop:"doityourself"},countryCodes:["ca"],terms:["home hardware"],matchScore:2,suggestion:true},"shop/doityourself/Home Timber & Hardware (Australia)":{name:"Home Timber & Hardware (Australia)",icon:"temaki-tools",geometry:["point","area"],tags:{"brand:wikidata":"Q17006984",shop:"doityourself"},addTags:{alt_name:"Home Hardware",brand:"Home Timber & Hardware","brand:wikidata":"Q17006984","brand:wikipedia":"en:Home Timber & Hardware",name:"Home Timber & Hardware",shop:"doityourself",short_name:"Home"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Homebase":{name:"Homebase",icon:"temaki-tools",imageURL:"https://graph.facebook.com/homebase/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9293447",shop:"doityourself"},addTags:{brand:"Homebase","brand:wikidata":"Q9293447","brand:wikipedia":"en:Homebase",name:"Homebase",shop:"doityourself"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Hornbach":{name:"Hornbach",icon:"temaki-tools",imageURL:"https://graph.facebook.com/hornbach.de/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q685926",shop:"doityourself"},addTags:{brand:"Hornbach","brand:wikidata":"Q685926","brand:wikipedia":"en:Hornbach (retailer)",name:"Hornbach",shop:"doityourself"},terms:[],matchScore:2,suggestion:true},"shop/doityourself/Hubo":{name:"Hubo",icon:"temaki-tools",imageURL:"https://graph.facebook.com/hubo.be/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3142153",shop:"doityourself"},addTags:{brand:"Hubo","brand:wikidata":"Q3142153","brand:wikipedia":"en:Hubo Belgium",name:"Hubo",shop:"doityourself"},countryCodes:["be","nl"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Jewson":{name:"Jewson",icon:"temaki-tools",imageURL:"https://graph.facebook.com/jewsonuk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6190226",shop:"doityourself"},addTags:{brand:"Jewson","brand:wikidata":"Q6190226","brand:wikipedia":"en:Jewson",name:"Jewson",shop:"doityourself"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Karwei":{name:"Karwei",icon:"temaki-tools",imageURL:"https://graph.facebook.com/karwei/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2097480",shop:"doityourself"},addTags:{brand:"Karwei","brand:wikidata":"Q2097480","brand:wikipedia":"en:Karwei",name:"Karwei",shop:"doityourself"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Leroy Merlin":{name:"Leroy Merlin",icon:"temaki-tools",imageURL:"https://graph.facebook.com/leroymerlin/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q889624",shop:"doityourself"},addTags:{brand:"Leroy Merlin","brand:wikidata":"Q889624","brand:wikipedia":"en:Leroy Merlin",name:"Leroy Merlin",shop:"doityourself"},terms:[],matchScore:2,suggestion:true},"shop/doityourself/Lowe's":{name:"Lowe's",icon:"temaki-tools",imageURL:"https://graph.facebook.com/lowes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1373493",shop:"doityourself"},addTags:{brand:"Lowe's","brand:wikidata":"Q1373493","brand:wikipedia":"en:Lowe's",name:"Lowe's",shop:"doityourself"},countryCodes:["ca","mx","us"],terms:["lowes home improvement"],matchScore:2,suggestion:true},"shop/doityourself/Menards":{name:"Menards",icon:"temaki-tools",imageURL:"https://graph.facebook.com/MenardsHomeImprovement/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1639897",shop:"doityourself"},addTags:{brand:"Menards","brand:wikidata":"Q1639897","brand:wikipedia":"en:Menards",name:"Menards",shop:"doityourself"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Mitre 10":{name:"Mitre 10",icon:"temaki-tools",imageURL:"https://graph.facebook.com/224109081130110/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6882393",shop:"doityourself"},addTags:{brand:"Mitre 10","brand:wikidata":"Q6882393","brand:wikipedia":"en:Mitre 10",name:"Mitre 10",shop:"doityourself"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Mr.Bricolage":{name:"Mr.Bricolage",icon:"temaki-tools",imageURL:"https://graph.facebook.com/mr.bricolagefrance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3141657",shop:"doityourself"},addTags:{brand:"Mr.Bricolage","brand:wikidata":"Q3141657","brand:wikipedia":"fr:Mr Bricolage",name:"Mr.Bricolage",shop:"doityourself"},countryCodes:["be","fr"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/OBI":{name:"OBI",icon:"temaki-tools",imageURL:"https://graph.facebook.com/obirussia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q300518",shop:"doityourself"},addTags:{brand:"OBI","brand:wikidata":"Q300518","brand:wikipedia":"en:Obi (store)",name:"OBI",shop:"doityourself"},terms:[],matchScore:2,suggestion:true},"shop/doityourself/Praktiker":{name:"Praktiker",icon:"temaki-tools",imageURL:"https://graph.facebook.com/984505914908905/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q680214",shop:"doityourself"},addTags:{brand:"Praktiker","brand:wikidata":"Q680214","brand:wikipedia":"en:Praktiker",name:"Praktiker",shop:"doityourself"},countryCodes:["bg","gr","hu","ro"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Praxis":{name:"Praxis",icon:"temaki-tools",imageURL:"https://graph.facebook.com/praxis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2741995",shop:"doityourself"},addTags:{brand:"Praxis","brand:wikidata":"Q2741995","brand:wikipedia":"nl:Praxis (winkel)",name:"Praxis",shop:"doityourself"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Promart":{name:"Promart",icon:"temaki-tools",imageURL:"https://graph.facebook.com/PROMARTHomecenter/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17626095",shop:"doityourself"},addTags:{brand:"Promart","brand:wikidata":"Q17626095","brand:wikipedia":"en:Promart",name:"Promart",shop:"doityourself"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Rona":{name:"Rona",icon:"temaki-tools",imageURL:"https://graph.facebook.com/ronainc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3415283",shop:"doityourself"},addTags:{brand:"Rona","brand:wikidata":"Q3415283","brand:wikipedia":"en:Rona, Inc.",name:"Rona",shop:"doityourself"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Screwfix":{name:"Screwfix",icon:"temaki-tools",imageURL:"https://graph.facebook.com/Screwfix/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7439115",shop:"doityourself"},addTags:{brand:"Screwfix","brand:wikidata":"Q7439115","brand:wikipedia":"en:Screwfix",name:"Screwfix",shop:"doityourself"},countryCodes:["de","gb"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Sodimac":{name:"Sodimac",icon:"temaki-tools",imageURL:"https://graph.facebook.com/homecenter/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7553274",shop:"doityourself"},addTags:{brand:"Sodimac","brand:wikidata":"Q7553274","brand:wikipedia":"es:Sodimac",name:"Sodimac",shop:"doityourself"},terms:["sodimac constructor"],matchScore:2,suggestion:true},"shop/doityourself/Tekzen":{name:"Tekzen",icon:"temaki-tools",imageURL:"https://graph.facebook.com/tekzenturkiye/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25475379",shop:"doityourself"},addTags:{brand:"Tekzen","brand:wikidata":"Q25475379","brand:wikipedia":"tr:Tekzen",name:"Tekzen",shop:"doityourself"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/The Home Depot":{name:"The Home Depot",icon:"temaki-tools",imageURL:"https://graph.facebook.com/homedepot/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q864407",shop:"doityourself"},addTags:{alt_name:"Home Depot",brand:"The Home Depot","brand:wikidata":"Q864407","brand:wikipedia":"en:The Home Depot",name:"The Home Depot",shop:"doityourself"},countryCodes:["ca","mx","us"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Toolstation":{name:"Toolstation",icon:"temaki-tools",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FToolstation-Logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q7824103",shop:"doityourself"},addTags:{brand:"Toolstation","brand:wikidata":"Q7824103","brand:wikipedia":"en:Toolstation",name:"Toolstation",shop:"doityourself"},countryCodes:["fr","gb","nl"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Toom Baumarkt":{name:"Toom Baumarkt",icon:"temaki-tools",imageURL:"https://graph.facebook.com/192246064148765/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2442970",shop:"doityourself"},addTags:{brand:"Toom Baumarkt","brand:wikidata":"Q2442970","brand:wikipedia":"de:Toom Baumarkt",name:"Toom Baumarkt",shop:"doityourself"},countryCodes:["de"],terms:["toom"],matchScore:2,suggestion:true},"shop/doityourself/Travis Perkins":{name:"Travis Perkins",icon:"temaki-tools",imageURL:"https://graph.facebook.com/TravisPerkinsPlcUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2450664",shop:"doityourself"},addTags:{brand:"Travis Perkins","brand:wikidata":"Q2450664","brand:wikipedia":"en:Travis Perkins",name:"Travis Perkins",shop:"doityourself"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Weldom":{name:"Weldom",icon:"temaki-tools",imageURL:"https://graph.facebook.com/Weldom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16683226",shop:"doityourself"},addTags:{brand:"Weldom","brand:wikidata":"Q16683226","brand:wikipedia":"fr:Weldom",name:"Weldom",shop:"doityourself"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Wickes":{name:"Wickes",icon:"temaki-tools",imageURL:"https://graph.facebook.com/Wickes.co.uk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7998350",shop:"doityourself"},addTags:{brand:"Wickes","brand:wikidata":"Q7998350","brand:wikipedia":"en:Wickes",name:"Wickes",shop:"doityourself"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/jem & fix":{name:"jem & fix",icon:"temaki-tools",imageURL:"https://graph.facebook.com/jemogfix/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12319200",shop:"doityourself"},addTags:{brand:"jem & fix","brand:wikidata":"Q12319200","brand:wikipedia":"da:Jem & fix",name:"jem & fix",shop:"doityourself"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/Леруа Мерлен":{name:"Леруа Мерлен",icon:"temaki-tools",imageURL:"https://graph.facebook.com/leroymerlin/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q889624",shop:"doityourself"},addTags:{brand:"Леруа Мерлен","brand:en":"Leroy Merlin","brand:wikidata":"Q889624","brand:wikipedia":"en:Leroy Merlin",name:"Леруа Мерлен","name:en":"Leroy Merlin",shop:"doityourself"},countryCodes:["ru","ua"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/カインズホーム":{name:"カインズホーム",icon:"temaki-tools",imageURL:"https://graph.facebook.com/cainzfun/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11293852",shop:"doityourself"},addTags:{brand:"カインズホーム","brand:en":"Cainz Home","brand:ja":"カインズホーム","brand:wikidata":"Q11293852","brand:wikipedia":"ja:カインズ",name:"カインズホーム","name:en":"Cainz Home","name:ja":"カインズホーム",shop:"doityourself"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/コメリ":{name:"コメリ",icon:"temaki-tools",imageURL:"https://graph.facebook.com/saiengardenclub/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11302690",shop:"doityourself"},addTags:{brand:"コメリ","brand:ja":"コメリ","brand:wikidata":"Q11302690","brand:wikipedia":"ja:コメリ",name:"コメリ","name:en":"Komeri","name:ja":"コメリ",shop:"doityourself"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/doityourself/コーナン":{name:"コーナン",icon:"temaki-tools",imageURL:"https://graph.facebook.com/kohnan.official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11303403",shop:"doityourself"},addTags:{brand:"コーナン","brand:ja":"コーナン","brand:wikidata":"Q11303403","brand:wikipedia":"ja:コーナン",name:"コーナン","name:en":"Kohnan","name:ja":"コーナン",shop:"doityourself"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/dry_cleaning/5àsec":{name:"5àsec",icon:"temaki-clothes_hanger",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%205%C3%A0sec.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2817899",shop:"dry_cleaning"},addTags:{brand:"5àsec","brand:wikidata":"Q2817899","brand:wikipedia":"fr:5àsec",name:"5àsec",shop:"dry_cleaning"},terms:[],matchScore:2,suggestion:true},"shop/dry_cleaning/Martinizing Dry Cleaning":{name:"Martinizing Dry Cleaning",icon:"temaki-clothes_hanger",imageURL:"https://graph.facebook.com/MartinizingDryClean/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6777169",shop:"dry_cleaning"},addTags:{brand:"Martinizing Dry Cleaning","brand:wikidata":"Q6777169","brand:wikipedia":"en:Martinizing Dry Cleaning",name:"Martinizing Dry Cleaning",shop:"dry_cleaning"},terms:[],matchScore:2,suggestion:true},"shop/dry_cleaning/Диана":{name:"Диана",icon:"temaki-clothes_hanger",imageURL:"https://graph.facebook.com/diana.dryclean/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62105088",shop:"dry_cleaning"},addTags:{brand:"Диана","brand:wikidata":"Q62105088",name:"Диана",shop:"dry_cleaning"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/dry_cleaning/タカケンサンシャイン":{name:"タカケンサンシャイン",icon:"temaki-clothes_hanger",geometry:["point","area"],tags:{"brand:wikidata":"Q11315914",shop:"dry_cleaning"},addTags:{brand:"タカケンサンシャイン","brand:en":"Takaken Sunshine","brand:ja":"タカケンサンシャイン","brand:wikidata":"Q11315914","brand:wikipedia":"ja:タカケンサンシャイン",name:"タカケンサンシャイン","name:en":"Takaken Sunshine","name:ja":"タカケンサンシャイン",shop:"dry_cleaning"},countryCodes:["jp"],terms:["タカケンクリーング"],matchScore:2,suggestion:true},"shop/dry_cleaning/ホワイト急便":{name:"ホワイト急便",icon:"temaki-clothes_hanger",imageURL:"https://graph.facebook.com/974471789387794/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11505557",shop:"dry_cleaning"},addTags:{brand:"ホワイト急便","brand:en":"White Kyuubin","brand:ja":"ホワイト急便","brand:wikidata":"Q11505557","brand:wikipedia":"ja:日本さわやかグループ",name:"ホワイト急便","name:en":"White Kyuubin","name:ja":"ホワイト急便",shop:"dry_cleaning"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/dry_cleaning/白洋舎":{name:"白洋舎",icon:"temaki-clothes_hanger",imageURL:"https://graph.facebook.com/hakuyosha.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11579995",shop:"dry_cleaning"},addTags:{brand:"白洋舎","brand:en":"Hakuyosha","brand:wikidata":"Q11579995","brand:wikipedia":"ja:白洋舎",name:"白洋舎","name:en":"Hakuyosha",shop:"dry_cleaning"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Apple Store":{name:"Apple Store",icon:"fas-plug",imageURL:"https://graph.facebook.com/apple/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q421253",shop:"electronics"},addTags:{brand:"Apple Store","brand:wikidata":"Q421253","brand:wikipedia":"en:Apple Store",name:"Apple Store",shop:"electronics"},terms:["apple"],matchScore:2,suggestion:true},"shop/electronics/Batteries Plus Bulbs":{name:"Batteries Plus Bulbs",icon:"fas-plug",imageURL:"https://graph.facebook.com/BatteriesPlus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17005157",shop:"electronics"},addTags:{brand:"Batteries Plus Bulbs","brand:wikidata":"Q17005157","brand:wikipedia":"en:Batteries Plus Bulbs",name:"Batteries Plus Bulbs",shop:"electronics"},countryCodes:["us"],terms:["batteries plus"],matchScore:2,suggestion:true},"shop/electronics/Best Buy":{name:"Best Buy",icon:"fas-plug",imageURL:"https://graph.facebook.com/bestbuy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q533415",shop:"electronics"},addTags:{brand:"Best Buy","brand:wikidata":"Q533415","brand:wikipedia":"en:Best Buy",name:"Best Buy",shop:"electronics"},terms:[],matchScore:2,suggestion:true},"shop/electronics/Boulanger":{name:"Boulanger",icon:"fas-plug",imageURL:"https://graph.facebook.com/Boulanger.Electromenager.Multimedia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2921695",shop:"electronics"},addTags:{brand:"Boulanger","brand:wikidata":"Q2921695","brand:wikipedia":"fr:Boulanger (entreprise)",name:"Boulanger",shop:"electronics"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/electronics/CeX":{name:"CeX",icon:"fas-plug",imageURL:"https://graph.facebook.com/CeX/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5055676",shop:"electronics"},addTags:{brand:"CeX","brand:wikidata":"Q5055676","brand:wikipedia":"en:CeX (company)",name:"CeX",shop:"electronics"},countryCodes:["au","es","gb","ie","in","it","mx","nl","pl","pt"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Currys":{name:"Currys",icon:"fas-plug",imageURL:"https://graph.facebook.com/curryspcworld/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3246464",shop:"electronics"},addTags:{brand:"Currys","brand:wikidata":"Q3246464","brand:wikipedia":"en:Currys",name:"Currys",shop:"electronics"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Currys PC World":{name:"Currys PC World",icon:"fas-plug",imageURL:"https://graph.facebook.com/curryspcworld/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7118727",shop:"electronics"},addTags:{brand:"Currys PC World","brand:wikidata":"Q7118727","brand:wikipedia":"en:PC World (retailer)",name:"Currys PC World",shop:"electronics"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Darty":{name:"Darty",icon:"fas-plug",imageURL:"https://graph.facebook.com/darty/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3117381",shop:"electronics"},addTags:{brand:"Darty","brand:wikidata":"Q3117381","brand:wikipedia":"en:Groupe Fnac Darty",name:"Darty",shop:"electronics"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Elektra":{name:"Elektra",icon:"fas-plug",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FMural%20Elektra.JPG&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1142753",shop:"electronics"},addTags:{brand:"Elektra","brand:wikidata":"Q1142753","brand:wikipedia":"es:Grupo Elektra",name:"Elektra",shop:"electronics"},countryCodes:["gt","hn","pa","pe","sv"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Elgiganten":{name:"Elgiganten",icon:"fas-plug",imageURL:"https://graph.facebook.com/elgiganten.dk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17050121",shop:"electronics"},addTags:{brand:"Elgiganten","brand:wikidata":"Q17050121","brand:wikipedia":"en:Elgiganten",name:"Elgiganten",shop:"electronics"},countryCodes:["dk","se"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Euronics":{name:"Euronics",icon:"fas-plug",imageURL:"https://graph.facebook.com/EuronicsItalia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q184860",shop:"electronics"},addTags:{brand:"Euronics","brand:wikidata":"Q184860","brand:wikipedia":"en:Euronics",name:"Euronics",shop:"electronics"},terms:[],matchScore:2,suggestion:true},"shop/electronics/Expert":{name:"Expert",icon:"fas-plug",imageURL:"https://graph.facebook.com/expert.de/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q680990",shop:"electronics"},addTags:{brand:"Expert","brand:wikidata":"Q680990","brand:wikipedia":"en:Expert (company)",name:"Expert",shop:"electronics"},terms:[],matchScore:2,suggestion:true},"shop/electronics/Gigantti":{name:"Gigantti",icon:"fas-plug",geometry:["point","area"],tags:{"brand:wikidata":"Q42512186",shop:"electronics"},addTags:{brand:"Gigantti","brand:wikidata":"Q42512186","brand:wikipedia":"fi:Gigantti (tavarataloketju)",name:"Gigantti",shop:"electronics"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Hartlauer":{name:"Hartlauer",icon:"fas-plug",imageURL:"https://graph.facebook.com/loewennews/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1587223",shop:"electronics"},addTags:{brand:"Hartlauer","brand:wikidata":"Q1587223","brand:wikipedia":"de:Hartlauer",name:"Hartlauer",shop:"electronics"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Interdiscount":{name:"Interdiscount",icon:"fas-plug",imageURL:"https://graph.facebook.com/interdiscount/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1665980",shop:"electronics"},addTags:{brand:"Interdiscount","brand:wikidata":"Q1665980","brand:wikipedia":"de:Interdiscount",name:"Interdiscount",shop:"electronics"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"shop/electronics/JB Hi-Fi":{name:"JB Hi-Fi",icon:"fas-plug",imageURL:"https://graph.facebook.com/JBHiFi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3310113",shop:"electronics"},addTags:{brand:"JB Hi-Fi","brand:wikidata":"Q3310113","brand:wikipedia":"en:JB Hi-Fi",name:"JB Hi-Fi",shop:"electronics"},countryCodes:["au","nz"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Jaycar":{name:"Jaycar",icon:"fas-plug",geometry:["point","area"],tags:{"brand:wikidata":"Q6167713",shop:"electronics"},addTags:{brand:"Jaycar","brand:wikidata":"Q6167713","brand:wikipedia":"en:Jaycar",name:"Jaycar",shop:"electronics"},countryCodes:["au","nz"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Kjell & Company":{name:"Kjell & Company",icon:"fas-plug",imageURL:"https://graph.facebook.com/kjellcoSverige/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6419332",shop:"electronics"},addTags:{brand:"Kjell & Company","brand:wikidata":"Q6419332","brand:wikipedia":"en:Kjell & Company",name:"Kjell & Company",shop:"electronics"},countryCodes:["no","se"],terms:["kjell och company"],matchScore:2,suggestion:true},"shop/electronics/Komputronik":{name:"Komputronik",icon:"fas-plug",imageURL:"https://graph.facebook.com/komputronik/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11742085",shop:"electronics"},addTags:{brand:"Komputronik","brand:wikidata":"Q11742085","brand:wikipedia":"pl:Komputronik",name:"Komputronik",shop:"electronics"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/electronics/La Curacao":{name:"La Curacao",icon:"fas-plug",imageURL:"https://graph.facebook.com/CuracaoUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5194599",shop:"electronics"},addTags:{brand:"La Curacao","brand:wikidata":"Q5194599","brand:wikipedia":"en:Curacao (retail store)",name:"La Curacao",shop:"electronics"},terms:[],matchScore:2,suggestion:true},"shop/electronics/Maplin":{name:"Maplin",icon:"fas-plug",imageURL:"https://graph.facebook.com/Maplin/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6754124",shop:"electronics"},addTags:{brand:"Maplin","brand:wikidata":"Q6754124","brand:wikipedia":"en:Maplin (retailer)",name:"Maplin",shop:"electronics"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Media Expert":{name:"Media Expert",icon:"fas-plug",imageURL:"https://graph.facebook.com/mediaexpert/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11776794",shop:"electronics"},addTags:{brand:"Media Expert","brand:wikidata":"Q11776794","brand:wikipedia":"pl:Media Expert",name:"Media Expert",shop:"electronics"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Media Markt":{name:"Media Markt",icon:"fas-plug",imageURL:"https://graph.facebook.com/mediamarkt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2381223",shop:"electronics"},addTags:{brand:"Media Markt","brand:wikidata":"Q2381223","brand:wikipedia":"en:Media Markt",name:"Media Markt",shop:"electronics"},terms:[],matchScore:2,suggestion:true},"shop/electronics/Medimax":{name:"Medimax",icon:"fas-plug",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FMEDIMAX%20Logo-cmyk%20mit%20Claim.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q62872450",shop:"electronics"},addTags:{brand:"Medimax","brand:wikidata":"Q62872450",name:"Medimax",shop:"electronics"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Musimundo":{name:"Musimundo",icon:"fas-plug",imageURL:"https://graph.facebook.com/musimundo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6034719",shop:"electronics"},addTags:{brand:"Musimundo","brand:wikidata":"Q6034719","brand:wikipedia":"es:Musimundo",name:"Musimundo",shop:"electronics"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Neonet":{name:"Neonet",icon:"fas-plug",imageURL:"https://graph.facebook.com/Neonetpl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11790622",shop:"electronics"},addTags:{brand:"Neonet","brand:wikidata":"Q11790622","brand:wikipedia":"pl:Neonet",name:"Neonet",shop:"electronics"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/electronics/RTV Euro AGD":{name:"RTV Euro AGD",icon:"fas-plug",imageURL:"https://graph.facebook.com/rtveuroagd/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7277895",shop:"electronics"},addTags:{brand:"RTV Euro AGD","brand:wikidata":"Q7277895","brand:wikipedia":"pl:RTV Euro AGD",name:"RTV Euro AGD",shop:"electronics"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/electronics/RadioShack":{name:"RadioShack",icon:"fas-plug",imageURL:"https://graph.facebook.com/RadioShack/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1195490",shop:"electronics"},addTags:{brand:"RadioShack","brand:wikidata":"Q1195490","brand:wikipedia":"en:RadioShack",name:"RadioShack",shop:"electronics"},terms:[],matchScore:2,suggestion:true},"shop/electronics/Samsung":{name:"Samsung",icon:"fas-plug",imageURL:"https://graph.facebook.com/SamsungNewsroom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q20718",shop:"electronics"},addTags:{brand:"Samsung","brand:wikidata":"Q20718","brand:wikipedia":"en:Samsung Electronics",name:"Samsung",shop:"electronics"},terms:[],matchScore:2,suggestion:true},"shop/electronics/Saturn":{name:"Saturn",icon:"fas-plug",imageURL:"https://graph.facebook.com/SaturnDE/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2543504",shop:"electronics"},addTags:{brand:"Saturn","brand:wikidata":"Q2543504","brand:wikipedia":"en:Saturn (retailer)",name:"Saturn",shop:"electronics"},countryCodes:["at","de","lu","pl"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Sony":{name:"Sony",icon:"fas-plug",imageURL:"https://graph.facebook.com/sony.jpn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q41187",shop:"electronics"},addTags:{brand:"Sony","brand:wikidata":"Q41187","brand:wikipedia":"en:Sony",name:"Sony",shop:"electronics"},terms:[],matchScore:2,suggestion:true},"shop/electronics/Teknikmagasinet":{name:"Teknikmagasinet",icon:"fas-plug",imageURL:"https://graph.facebook.com/TeknikmagasinetNorge/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3357520",shop:"electronics"},addTags:{brand:"Teknikmagasinet","brand:wikidata":"Q3357520","brand:wikipedia":"en:Teknikmagasinet",name:"Teknikmagasinet",shop:"electronics"},countryCodes:["fi","no","se"],terms:[],matchScore:2,suggestion:true},"shop/electronics/The Good Guys":{name:"The Good Guys",icon:"fas-plug",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FThe%20Good%20Guys%20Logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q7737217",shop:"electronics"},addTags:{brand:"The Good Guys","brand:wikidata":"Q7737217","brand:wikipedia":"en:The Good Guys (Australian company)",name:"The Good Guys",shop:"electronics"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/electronics/The Source":{name:"The Source",icon:"fas-plug",imageURL:"https://graph.facebook.com/thesourcecanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3212934",shop:"electronics"},addTags:{brand:"The Source","brand:wikidata":"Q3212934","brand:wikipedia":"en:The Source (retailer)",name:"The Source",shop:"electronics"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Unieuro":{name:"Unieuro",icon:"fas-plug",imageURL:"https://graph.facebook.com/unieuro/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4004687",shop:"electronics"},addTags:{brand:"Unieuro","brand:wikidata":"Q4004687","brand:wikipedia":"en:Unieuro",name:"Unieuro",shop:"electronics"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Worten":{name:"Worten",icon:"fas-plug",imageURL:"https://graph.facebook.com/WortenES/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10394039",shop:"electronics"},addTags:{brand:"Worten","brand:wikidata":"Q10394039","brand:wikipedia":"pt:Worten",name:"Worten",shop:"electronics"},countryCodes:["es","pt"],terms:[],matchScore:2,suggestion:true},"shop/electronics/b8ta":{name:"b8ta",icon:"fas-plug",imageURL:"https://graph.facebook.com/b8ta/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q55604609",shop:"electronics"},addTags:{brand:"b8ta","brand:wikidata":"Q55604609","brand:wikipedia":"en:B8ta",name:"b8ta",shop:"electronics"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/electronics/М.Видео":{name:"М.Видео",icon:"fas-plug",imageURL:"https://graph.facebook.com/mvideo.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6558800",shop:"electronics"},addTags:{brand:"М.Видео","brand:en":"M.video","brand:wikidata":"Q6558800","brand:wikipedia":"en:M.video",name:"М.Видео","name:en":"M.video",shop:"electronics"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Фокстрот":{name:"Фокстрот",icon:"fas-plug",imageURL:"https://graph.facebook.com/foxtrotinfo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16721578",shop:"electronics"},addTags:{brand:"Фокстрот","brand:wikidata":"Q16721578","brand:wikipedia":"uk:Фокстрот (торгова мережа)",name:"Фокстрот",shop:"electronics"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/electronics/Эльдорадо":{name:"Эльдорадо",icon:"fas-plug",imageURL:"https://graph.facebook.com/Eldorado.Stores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4531492",shop:"electronics"},addTags:{brand:"Эльдорадо","brand:wikidata":"Q4531492","brand:wikipedia":"ru:Эльдорадо (сеть магазинов)",name:"Эльдорадо",shop:"electronics"},countryCodes:["ru","ua"],terms:[],matchScore:2,suggestion:true},"shop/electronics/エディオン":{name:"エディオン",icon:"fas-plug",imageURL:"https://graph.facebook.com/edion.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11290252",shop:"electronics"},addTags:{brand:"エディオン","brand:en":"EDION","brand:ja":"エディオン","brand:wikidata":"Q11290252","brand:wikipedia":"ja:エディオン",name:"エディオン","name:en":"EDION","name:ja":"エディオン",shop:"electronics"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/electronics/ケーズデンキ":{name:"ケーズデンキ",icon:"fas-plug",imageURL:"https://graph.facebook.com/ksdenki20180125/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6322472",shop:"electronics"},addTags:{brand:"ケーズデンキ","brand:en":"K's Denki","brand:ja":"ケーズデンキ","brand:wikidata":"Q6322472","brand:wikipedia":"ja:ケーズホールディングス",name:"ケーズデンキ","name:en":"K's Denki","name:ja":"ケーズデンキ",shop:"electronics"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/electronics/コジマ":{name:"コジマ",icon:"fas-plug",imageURL:"https://graph.facebook.com/kojima.official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11302052",shop:"electronics"},addTags:{brand:"コジマ","brand:en":"Kojima","brand:ja":"コジマ","brand:wikidata":"Q11302052","brand:wikipedia":"ja:コジマ",name:"コジマ","name:en":"Kojima","name:ja":"コジマ",shop:"electronics"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/electronics/ソフマップ":{name:"ソフマップ",icon:"fas-plug",imageURL:"https://pbs.twimg.com/profile_images/1073173217404043266/fIyrfOW-_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7553789",shop:"electronics"},addTags:{brand:"ソフマップ","brand:en":"Sofmap","brand:ja":"ソフマップ","brand:wikidata":"Q7553789","brand:wikipedia":"ja:ソフマップ",name:"ソフマップ","name:en":"Sofmap","name:ja":"ソフマップ",shop:"electronics"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/electronics/ビックカメラ":{name:"ビックカメラ",icon:"fas-plug",imageURL:"https://graph.facebook.com/biccamera.page/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4903531",shop:"electronics"},addTags:{brand:"ビックカメラ","brand:en":"Bic Camera","brand:ja":"ビックカメラ","brand:wikidata":"Q4903531","brand:wikipedia":"ja:ビックカメラ",name:"ビックカメラ","name:en":"Bic Camera","name:ja":"ビックカメラ",shop:"electronics"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/electronics/ヤマダ電機":{name:"ヤマダ電機",icon:"fas-plug",imageURL:"https://graph.facebook.com/YAMADA.DENKI/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1096390",shop:"electronics"},addTags:{brand:"ヤマダ電機","brand:en":"Yamada Denki","brand:ja":"ヤマダ電機","brand:wikidata":"Q1096390","brand:wikipedia":"en:Yamada Denki",name:"ヤマダ電機","name:en":"Yamada Denki","name:ja":"ヤマダ電機",shop:"electronics"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/electronics/ヨドバシカメラ":{name:"ヨドバシカメラ",icon:"fas-plug",imageURL:"https://pbs.twimg.com/profile_images/875976284915892225/JAIY0yvm_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q168467",shop:"electronics"},addTags:{brand:"ヨドバシカメラ","brand:en":"Yodobashi Camera","brand:ja":"ヨドバシカメラ","brand:wikidata":"Q168467","brand:wikipedia":"ja:ヨドバシカメラ",name:"ヨドバシカメラ","name:en":"Yodobashi Camera","name:ja":"ヨドバシカメラ",shop:"electronics"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/electronics/全國電子":{name:"全國電子",icon:"fas-plug",imageURL:"https://graph.facebook.com/elifemall.com.tw/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10891540",shop:"electronics"},addTags:{brand:"全國電子","brand:en":"E-life Mall","brand:wikidata":"Q10891540","brand:wikipedia":"zh:全國電子",name:"全國電子","name:en":"E-life Mall",shop:"electronics"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"shop/electronics/燦坤3C":{name:"燦坤3C",icon:"fas-plug",imageURL:"https://graph.facebook.com/tkec520/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11569285",shop:"electronics"},addTags:{brand:"燦坤3C","brand:en":"Tsannkuen 3C","brand:wikidata":"Q11569285","brand:wikipedia":"zh:燦坤",name:"燦坤3C","name:en":"Tsannkuen 3C",shop:"electronics"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"shop/erotic/Ann Summers":{name:"Ann Summers",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/1104069397008789504/jN1FCnL5_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q579524",shop:"erotic"},addTags:{brand:"Ann Summers","brand:wikidata":"Q579524","brand:wikipedia":"en:Ann Summers",name:"Ann Summers",shop:"erotic"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/erotic/Orion":{name:"Orion",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/807193082244505600/DWoJxqGu_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q1609577",shop:"erotic"},addTags:{brand:"Orion","brand:wikidata":"Q1609577","brand:wikipedia":"de:Orion (Erotik)",name:"Orion",shop:"erotic"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/fabric/Mondial Tissus":{name:"Mondial Tissus",icon:"fas-tape",imageURL:"https://graph.facebook.com/MondialTissus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17635288",shop:"fabric"},addTags:{brand:"Mondial Tissus","brand:wikidata":"Q17635288","brand:wikipedia":"fr:Mondial Tissus",name:"Mondial Tissus",shop:"fabric"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/fashion_accessories/Brighton Collectibles":{name:"Brighton Collectibles",icon:"maki-shop",imageURL:"https://graph.facebook.com/BrightonCollectibles/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4967623",shop:"fashion_accessories"},addTags:{brand:"Brighton Collectibles","brand:wikidata":"Q4967623","brand:wikipedia":"en:Brighton Collectibles",name:"Brighton Collectibles",shop:"fashion_accessories"},countryCodes:["us"],terms:["brighton"],matchScore:2,suggestion:true},"shop/fashion_accessories/Bvlgari":{name:"Bvlgari",icon:"maki-shop",imageURL:"https://graph.facebook.com/Bulgari/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q752515",shop:"fashion_accessories"},addTags:{brand:"Bulgari","brand:wikidata":"Q752515","brand:wikipedia":"en:Bulgari",name:"Bvlgari",shop:"fashion_accessories"},terms:["bulgari"],matchScore:2,suggestion:true},"shop/fashion_accessories/Claire's":{name:"Claire's",icon:"maki-shop",imageURL:"https://graph.facebook.com/claires/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2974996",shop:"fashion_accessories"},addTags:{brand:"Claire's","brand:wikidata":"Q2974996","brand:wikipedia":"en:Claire's",name:"Claire's",shop:"fashion_accessories"},terms:[],matchScore:2,suggestion:true},"shop/fashion_accessories/Jimmy Choo":{name:"Jimmy Choo",icon:"maki-shop",imageURL:"https://graph.facebook.com/JimmyChoo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5213855",shop:"fashion_accessories"},addTags:{brand:"Jimmy Choo","brand:wikidata":"Q5213855","brand:wikipedia":"en:Jimmy Choo Ltd",name:"Jimmy Choo",shop:"fashion_accessories"},terms:[],matchScore:2,suggestion:true},"shop/fashion_accessories/Prada":{name:"Prada",icon:"maki-shop",imageURL:"https://graph.facebook.com/Prada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q193136",shop:"fashion_accessories"},addTags:{brand:"Prada","brand:wikidata":"Q193136","brand:wikipedia":"en:Prada",name:"Prada",shop:"fashion_accessories"},terms:[],matchScore:2,suggestion:true},"shop/fashion_accessories/Salvatore Ferragamo":{name:"Salvatore Ferragamo",icon:"maki-shop",imageURL:"https://graph.facebook.com/SalvatoreFerragamo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3946053",shop:"fashion_accessories"},addTags:{brand:"Salvatore Ferragamo","brand:wikidata":"Q3946053","brand:wikipedia":"en:Salvatore Ferragamo S.p.A.",name:"Salvatore Ferragamo",shop:"fashion_accessories"},terms:[],matchScore:2,suggestion:true},"shop/fashion_accessories/Van Cleef & Arpels":{name:"Van Cleef & Arpels",icon:"maki-shop",imageURL:"https://graph.facebook.com/vancleef.arpels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2708181",shop:"fashion_accessories"},addTags:{brand:"Van Cleef & Arpels","brand:wikidata":"Q2708181","brand:wikipedia":"en:Van Cleef & Arpels",name:"Van Cleef & Arpels",shop:"fashion_accessories"},terms:["van cleef & arples"],matchScore:2,suggestion:true},"shop/florist/Blume 2000":{name:"Blume 2000",icon:"maki-florist",imageURL:"https://graph.facebook.com/Blume2000.de/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q886166",shop:"florist"},addTags:{brand:"Blume 2000","brand:wikidata":"Q886166","brand:wikipedia":"de:Blume 2000",name:"Blume 2000",shop:"florist"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/florist/Blumen Risse":{name:"Blumen Risse",icon:"maki-florist",imageURL:"https://graph.facebook.com/BlumenRisse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q886177",shop:"florist"},addTags:{brand:"Blumen Risse","brand:wikidata":"Q886177","brand:wikipedia":"de:Blumen Risse",name:"Blumen Risse",shop:"florist"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/florist/Interflora":{name:"Interflora",icon:"maki-florist",imageURL:"https://graph.facebook.com/Interflora.France/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q692179",shop:"florist"},addTags:{brand:"Interflora","brand:wikidata":"Q692179","brand:wikipedia":"en:Interflora",name:"Interflora",shop:"florist"},countryCodes:["fr","gb","no","se"],terms:[],matchScore:2,suggestion:true},"shop/florist/Monceau Fleurs":{name:"Monceau Fleurs",icon:"maki-florist",imageURL:"https://graph.facebook.com/Monceau.Fleurs.France/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17629431",shop:"florist"},addTags:{brand:"Monceau Fleurs","brand:wikidata":"Q17629431","brand:wikipedia":"fr:Emova Group",name:"Monceau Fleurs",shop:"florist"},countryCodes:["be","fr"],terms:[],matchScore:2,suggestion:true},"shop/frame/Aaron Brothers":{name:"Aaron Brothers",icon:"fas-vector-square",geometry:["point","area"],tags:{"brand:wikidata":"Q64979251",shop:"frame"},addTags:{brand:"Aaron Brothers","brand:wikidata":"Q64979251",name:"Aaron Brothers",shop:"frame"},countryCodes:["us"],terms:["aaron brothers art & framing","aaron brothers custom framing"],matchScore:2,suggestion:true},"shop/frozen_food/Dream Dinners":{name:"Dream Dinners",icon:"maki-shop",imageURL:"https://graph.facebook.com/DreamDinners/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5306355",shop:"frozen_food"},addTags:{brand:"Dream Dinners","brand:wikidata":"Q5306355","brand:wikipedia":"en:Dream Dinners",name:"Dream Dinners",opening_hours:"\"by appointment\"",shop:"frozen_food"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/frozen_food/Iceland":{name:"Iceland",icon:"maki-shop",imageURL:"https://graph.facebook.com/icelandfoods/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q721810",shop:"frozen_food"},addTags:{brand:"Iceland","brand:wikidata":"Q721810","brand:wikipedia":"en:Iceland (supermarket)",name:"Iceland",shop:"frozen_food"},terms:[],matchScore:2,suggestion:true},"shop/frozen_food/Picard":{name:"Picard",icon:"maki-shop",imageURL:"https://graph.facebook.com/picardsurgeles/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3382454",shop:"frozen_food"},addTags:{brand:"Picard","brand:wikidata":"Q3382454","brand:wikipedia":"en:Picard Surgelés",name:"Picard",shop:"frozen_food"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/funeral_directors/PFG":{name:"PFG",icon:"maki-cemetery",geometry:["point","area"],tags:{"brand:wikidata":"Q3396087",shop:"funeral_directors"},addTags:{brand:"PFG","brand:wikidata":"Q3396087","brand:wikipedia":"fr:Pompes funèbres générales",name:"PFG",official_name:"Pompes Funèbres Générales",shop:"funeral_directors"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/funeral_directors/Roblot":{name:"Roblot",icon:"maki-cemetery",geometry:["point","area"],tags:{"brand:wikidata":"Q63247414",shop:"funeral_directors"},addTags:{brand:"Roblot","brand:wikidata":"Q63247414",name:"Roblot",shop:"funeral_directors"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/funeral_directors/Roc-Eclerc":{name:"Roc-Eclerc",icon:"maki-cemetery",imageURL:"https://graph.facebook.com/grouperoceclerc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62558102",shop:"funeral_directors"},addTags:{brand:"Roc-Eclerc","brand:wikidata":"Q62558102",name:"Roc-Eclerc",shop:"funeral_directors"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/funeral_directors/The Co-operative Funeralcare":{name:"The Co-operative Funeralcare",icon:"maki-cemetery",imageURL:"https://pbs.twimg.com/profile_images/1034361261193134080/1PfqKyVV_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7726521",shop:"funeral_directors"},addTags:{brand:"The Co-operative Funeralcare","brand:wikidata":"Q7726521","brand:wikipedia":"en:Co-op Funeralcare",name:"The Co-operative Funeralcare",shop:"funeral_directors"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Aaron's":{name:"Aaron's",icon:"fas-couch",imageURL:"https://graph.facebook.com/aaronsinc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10397787",shop:"furniture"},addTags:{brand:"Aaron's","brand:wikidata":"Q10397787","brand:wikipedia":"en:Aaron's, Inc.",name:"Aaron's",shop:"furniture"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/American Signature Furniture":{name:"American Signature Furniture",icon:"fas-couch",imageURL:"https://graph.facebook.com/AmericanSignatureFurnitureUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63859411",shop:"furniture"},addTags:{brand:"American Signature Furniture","brand:wikidata":"Q63859411",name:"American Signature Furniture",shop:"furniture"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Arhaus":{name:"Arhaus",icon:"fas-couch",imageURL:"https://graph.facebook.com/44947264751/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q35689887",shop:"furniture"},addTags:{brand:"Arhaus","brand:wikidata":"Q35689887","brand:wikipedia":"en:Arhaus",name:"Arhaus",shop:"furniture"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Ashley HomeStore":{name:"Ashley HomeStore",icon:"fas-couch",imageURL:"https://graph.facebook.com/AshleyHomeStore/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4805437",shop:"furniture"},addTags:{alt_name:"Ashley Furniture",brand:"Ashley HomeStore","brand:wikidata":"Q4805437","brand:wikipedia":"en:Ashley HomeStore",name:"Ashley HomeStore",shop:"furniture"},countryCodes:["ca","us"],terms:["ashley furniture homestore"],matchScore:2,suggestion:true},"shop/furniture/Asko":{name:"Asko",icon:"fas-couch",geometry:["point","area"],tags:{"brand:wikidata":"Q11853132",shop:"furniture"},addTags:{brand:"Asko","brand:wikidata":"Q11853132","brand:wikipedia":"fi:Asko",name:"Asko",shop:"furniture"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Askona":{name:"Askona",icon:"fas-couch",imageURL:"https://graph.facebook.com/AskonaRu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4071319",shop:"furniture"},addTags:{brand:"Askona","brand:wikidata":"Q4071319","brand:wikipedia":"ru:Аскона (компания)",name:"Askona",shop:"furniture"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Black Red White":{name:"Black Red White",icon:"fas-couch",imageURL:"https://graph.facebook.com/BlackRedWhitePL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4921546",shop:"furniture"},addTags:{brand:"Black Red White","brand:wikidata":"Q4921546","brand:wikipedia":"en:Black Red White",name:"Black Red White",shop:"furniture"},terms:[],matchScore:2,suggestion:true},"shop/furniture/BoConcept":{name:"BoConcept",icon:"fas-couch",imageURL:"https://graph.facebook.com/boconceptusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11338915",shop:"furniture"},addTags:{brand:"BoConcept","brand:wikidata":"Q11338915","brand:wikipedia":"en:BoConcept",name:"BoConcept",shop:"furniture"},terms:[],matchScore:2,suggestion:true},"shop/furniture/Bob's Discount Furniture":{name:"Bob's Discount Furniture",icon:"fas-couch",imageURL:"https://graph.facebook.com/mybobs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4931582",shop:"furniture"},addTags:{brand:"Bob's Discount Furniture","brand:wikidata":"Q4931582","brand:wikipedia":"en:Bob's Discount Furniture",name:"Bob's Discount Furniture",shop:"furniture"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Bodzio":{name:"Bodzio",icon:"fas-couch",imageURL:"https://graph.facebook.com/FabrykaMebliBodzio/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q20034845",shop:"furniture"},addTags:{brand:"Bodzio","brand:wikidata":"Q20034845","brand:wikipedia":"pl:Fabryka Mebli Bodzio",name:"Bodzio",shop:"furniture"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/furniture/But":{name:"But",icon:"fas-couch",imageURL:"https://graph.facebook.com/but/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18720442",shop:"furniture"},addTags:{brand:"But","brand:wikidata":"Q18720442","brand:wikipedia":"en:BUT (retailer)",name:"But",shop:"furniture"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Cabinets To Go":{name:"Cabinets To Go",icon:"fas-couch",imageURL:"https://graph.facebook.com/CabinetsToGo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25245346",shop:"furniture"},addTags:{brand:"Cabinets To Go","brand:wikidata":"Q25245346","brand:wikipedia":"en:Cabinets To Go",name:"Cabinets To Go",shop:"furniture"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Conforama":{name:"Conforama",icon:"fas-couch",imageURL:"https://graph.facebook.com/Conforama/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q541134",shop:"furniture"},addTags:{brand:"Conforama","brand:wikidata":"Q541134","brand:wikipedia":"en:Conforama",name:"Conforama",shop:"furniture"},countryCodes:["ch","es","fr","it"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Crate & Barrel":{name:"Crate & Barrel",icon:"fas-couch",imageURL:"https://graph.facebook.com/crateandbarrel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5182604",shop:"furniture"},addTags:{brand:"Crate & Barrel","brand:wikidata":"Q5182604","brand:wikipedia":"en:Crate & Barrel",name:"Crate & Barrel",shop:"furniture"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/DFS":{name:"DFS",icon:"fas-couch",imageURL:"https://graph.facebook.com/DFSUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5204927",shop:"furniture"},addTags:{brand:"DFS","brand:wikidata":"Q5204927","brand:wikipedia":"en:DFS Furniture",name:"DFS",shop:"furniture"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Dänisches Bettenlager":{name:"Dänisches Bettenlager",icon:"fas-couch",imageURL:"https://graph.facebook.com/JYSK.dk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q138913",shop:"furniture"},addTags:{brand:"Dänisches Bettenlager","brand:wikidata":"Q138913","brand:wikipedia":"en:Jysk (store)",name:"Dänisches Bettenlager",shop:"furniture"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Ethan Allen":{name:"Ethan Allen",icon:"fas-couch",imageURL:"https://graph.facebook.com/ethanallendesign/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5402870",shop:"furniture"},addTags:{brand:"Ethan Allen","brand:wikidata":"Q5402870","brand:wikipedia":"en:Ethan Allen (furniture company)",name:"Ethan Allen",shop:"furniture"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Fly":{name:"Fly",icon:"fas-couch",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FFly-Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1389184",shop:"furniture"},addTags:{brand:"Fly","brand:wikidata":"Q1389184","brand:wikipedia":"fr:Fly (entreprise)",name:"Fly",shop:"furniture"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Freedom":{name:"Freedom",icon:"fas-couch",imageURL:"https://graph.facebook.com/freedomAU/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5500546",shop:"furniture"},addTags:{brand:"Freedom","brand:wikidata":"Q5500546","brand:wikipedia":"en:Freedom Furniture",name:"Freedom",shop:"furniture"},countryCodes:["au"],terms:["freedom furniture"],matchScore:2,suggestion:true},"shop/furniture/HSL":{name:"HSL",icon:"fas-couch",imageURL:"https://graph.facebook.com/hslchairs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64284324",shop:"furniture"},addTags:{brand:"HSL","brand:wikidata":"Q64284324",name:"HSL",official_name:"High Seat Limited",shop:"furniture"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Harveys":{name:"Harveys",icon:"fas-couch",imageURL:"https://graph.facebook.com/harveysfurniture/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5677754",shop:"furniture"},addTags:{brand:"Harveys","brand:wikidata":"Q5677754","brand:wikipedia":"en:Harveys Furniture",name:"Harveys",shop:"furniture"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Havertys":{name:"Havertys",icon:"fas-couch",imageURL:"https://pbs.twimg.com/profile_images/672434576397062144/tX39o3Bz_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q5683881",shop:"furniture"},addTags:{brand:"Havertys","brand:wikidata":"Q5683881","brand:wikipedia":"en:Havertys",name:"Havertys",shop:"furniture"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/IKEA":{name:"IKEA",icon:"fas-couch",imageURL:"https://graph.facebook.com/IKEA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q54078",shop:"furniture"},addTags:{brand:"IKEA","brand:wikidata":"Q54078","brand:wikipedia":"en:IKEA",name:"IKEA",shop:"furniture"},terms:[],matchScore:2,suggestion:true},"shop/furniture/Isku":{name:"Isku",icon:"fas-couch",imageURL:"https://graph.facebook.com/iskuinteriorofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11865127",shop:"furniture"},addTags:{brand:"Isku","brand:wikidata":"Q11865127","brand:wikipedia":"fi:Isku (yritys)",name:"Isku",shop:"furniture"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/furniture/JYSK":{name:"JYSK",icon:"fas-couch",imageURL:"https://graph.facebook.com/JYSK.dk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q138913",shop:"furniture"},addTags:{brand:"JYSK","brand:wikidata":"Q138913","brand:wikipedia":"en:Jysk (store)",name:"JYSK",shop:"furniture"},terms:[],matchScore:2,suggestion:true},"shop/furniture/Jerome’s Furniture":{name:"Jerome’s Furniture",icon:"fas-couch",imageURL:"https://graph.facebook.com/JeromesFurniture/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16997693",shop:"furniture"},addTags:{brand:"Jerome’s Furniture","brand:wikidata":"Q16997693","brand:wikipedia":"en:Jerome's",name:"Jerome’s Furniture",shop:"furniture",short_name:"Jerome’s"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Kwantum":{name:"Kwantum",icon:"fas-couch",imageURL:"https://graph.facebook.com/KwantumNL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2262591",shop:"furniture"},addTags:{brand:"Kwantum","brand:wikidata":"Q2262591","brand:wikipedia":"nl:Kwantum (winkelketen)",name:"Kwantum",shop:"furniture"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/furniture/La-Z-Boy":{name:"La-Z-Boy",icon:"fas-couch",imageURL:"https://graph.facebook.com/lazboy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6391583",shop:"furniture"},addTags:{brand:"La-Z-Boy","brand:wikidata":"Q6391583","brand:wikipedia":"en:La-Z-Boy",name:"La-Z-Boy",shop:"furniture"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Leen Bakker":{name:"Leen Bakker",icon:"fas-couch",imageURL:"https://graph.facebook.com/leenbakker/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3333662",shop:"furniture"},addTags:{brand:"Leen Bakker","brand:wikidata":"Q3333662","brand:wikipedia":"nl:Leen Bakker",name:"Leen Bakker",shop:"furniture"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/furniture/LoveSac":{name:"LoveSac",icon:"fas-couch",imageURL:"https://graph.facebook.com/LoveSac/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6690181",shop:"furniture"},addTags:{brand:"LoveSac","brand:wikidata":"Q6690181","brand:wikipedia":"en:LoveSac",name:"LoveSac",shop:"furniture"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Maisons du Monde":{name:"Maisons du Monde",icon:"fas-couch",imageURL:"https://graph.facebook.com/maisonsdumondeus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3280364",shop:"furniture"},addTags:{brand:"Maisons du Monde","brand:wikidata":"Q3280364","brand:wikipedia":"fr:Maisons du Monde",name:"Maisons du Monde",shop:"furniture"},countryCodes:["be","ch","de","es","fr","gb","it","lu"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Möbelix":{name:"Möbelix",icon:"fas-couch",imageURL:"https://graph.facebook.com/moebelix.at/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q877547",shop:"furniture"},addTags:{brand:"Möbelix","brand:wikidata":"Q877547","brand:wikipedia":"hu:Möbelix",name:"Möbelix",shop:"furniture"},countryCodes:["at","cz","hu","sk"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Pottery Barn":{name:"Pottery Barn",icon:"fas-couch",imageURL:"https://graph.facebook.com/potterybarn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3400126",shop:"furniture"},addTags:{brand:"Pottery Barn","brand:wikidata":"Q3400126","brand:wikipedia":"en:Pottery Barn",name:"Pottery Barn",shop:"furniture"},countryCodes:["au","ca","mx","ph","us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Raymour & Flanigan":{name:"Raymour & Flanigan",icon:"fas-couch",imageURL:"https://graph.facebook.com/raymourandflanigan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7299290",shop:"furniture"},addTags:{brand:"Raymour & Flanigan","brand:wikidata":"Q7299290","brand:wikipedia":"en:Raymour & Flanigan",name:"Raymour & Flanigan",shop:"furniture"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Rent-A-Center":{name:"Rent-A-Center",icon:"fas-couch",imageURL:"https://graph.facebook.com/RentACenter/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7313497",shop:"furniture"},addTags:{brand:"Rent-A-Center","brand:wikidata":"Q7313497","brand:wikipedia":"en:Rent-A-Center",name:"Rent-A-Center",shop:"furniture"},countryCodes:["mx","us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Restoration Hardware":{name:"Restoration Hardware",icon:"fas-couch",imageURL:"https://graph.facebook.com/791504884230356/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7316207",shop:"furniture"},addTags:{brand:"Restoration Hardware","brand:wikidata":"Q7316207","brand:wikipedia":"en:Restoration Hardware",name:"Restoration Hardware",shop:"furniture"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Roller":{name:"Roller",icon:"fas-couch",imageURL:"https://graph.facebook.com/ROLLER.Clever.einrichten/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1621286",shop:"furniture"},addTags:{brand:"Roller","brand:wikidata":"Q1621286","brand:wikipedia":"de:Roller (Möbelhaus)",name:"Roller",shop:"furniture"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Rooms To Go":{name:"Rooms To Go",icon:"fas-couch",imageURL:"https://graph.facebook.com/roomstogo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7366329",shop:"furniture"},addTags:{brand:"Rooms To Go","brand:wikidata":"Q7366329","brand:wikipedia":"en:Rooms To Go",name:"Rooms To Go",shop:"furniture"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/ScS":{name:"ScS",icon:"fas-couch",imageURL:"https://graph.facebook.com/scssofas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19654399",shop:"furniture"},addTags:{brand:"ScS","brand:wikidata":"Q19654399","brand:wikipedia":"en:ScS",name:"ScS",shop:"furniture"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/furniture/The Brick":{name:"The Brick",icon:"fas-couch",imageURL:"https://graph.facebook.com/TheBrick/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7720000",shop:"furniture"},addTags:{brand:"The Brick","brand:wikidata":"Q7720000","brand:wikipedia":"en:The Brick",name:"The Brick",shop:"furniture"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Urban Barn":{name:"Urban Barn",icon:"fas-couch",imageURL:"https://graph.facebook.com/urbanbarn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62515207",shop:"furniture"},addTags:{brand:"Urban Barn","brand:wikidata":"Q62515207",name:"Urban Barn",shop:"furniture"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/furniture/Value City Furniture":{name:"Value City Furniture",icon:"fas-couch",imageURL:"https://graph.facebook.com/ValueCityFurnitureUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63859417",shop:"furniture"},addTags:{brand:"Value City Furniture","brand:wikidata":"Q63859417",name:"Value City Furniture",shop:"furniture"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/furniture/İstikbal":{name:"İstikbal",icon:"fas-couch",imageURL:"https://graph.facebook.com/istikbal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6031999",shop:"furniture"},addTags:{brand:"İstikbal","brand:wikidata":"Q6031999","brand:wikipedia":"tr:İstikbal",name:"İstikbal",shop:"furniture"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"shop/furniture/ニトリ":{name:"ニトリ",icon:"fas-couch",imageURL:"https://graph.facebook.com/nitori.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10801453",shop:"furniture"},addTags:{brand:"ニトリ","brand:en":"Nitori","brand:ja":"ニトリ","brand:wikidata":"Q10801453","brand:wikipedia":"en:Nitori",name:"ニトリ","name:en":"Nitori","name:ja":"ニトリ",shop:"furniture"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/games/Games Workshop":{name:"Games Workshop",icon:"fas-dice",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FGames%20Workshop%20Logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q587270",shop:"games"},addTags:{brand:"Games Workshop","brand:wikidata":"Q587270","brand:wikipedia":"en:Games Workshop",name:"Games Workshop",shop:"games"},countryCodes:["de","fr","gb","nl","us"],terms:[],matchScore:2,suggestion:true},"shop/garden_centre/Dehner":{name:"Dehner",icon:"maki-garden-centre",imageURL:"https://graph.facebook.com/dehner/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1183029",shop:"garden_centre"},addTags:{brand:"Dehner","brand:wikidata":"Q1183029","brand:wikipedia":"de:Dehner",name:"Dehner",shop:"garden_centre"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/garden_centre/Gamm Vert":{name:"Gamm Vert",icon:"maki-garden-centre",imageURL:"https://graph.facebook.com/gammvert.officiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3095006",shop:"garden_centre"},addTags:{brand:"Gamm Vert","brand:wikidata":"Q3095006","brand:wikipedia":"fr:Gamm Vert",name:"Gamm Vert",shop:"garden_centre"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/garden_centre/Jardiland":{name:"Jardiland",icon:"maki-garden-centre",imageURL:"https://graph.facebook.com/Jardiland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3162276",shop:"garden_centre"},addTags:{brand:"Jardiland","brand:wikidata":"Q3162276","brand:wikipedia":"fr:Jardiland",name:"Jardiland",shop:"garden_centre"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/garden_centre/Point Vert":{name:"Point Vert",icon:"maki-garden-centre",imageURL:"https://graph.facebook.com/444739795728913/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16661975",shop:"garden_centre"},addTags:{brand:"Point Vert","brand:wikidata":"Q16661975","brand:wikipedia":"fr:Magasin vert",name:"Point Vert",shop:"garden_centre"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/garden_centre/Truffaut":{name:"Truffaut",icon:"maki-garden-centre",imageURL:"https://graph.facebook.com/truffautfr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3162640",shop:"garden_centre"},addTags:{brand:"Truffaut","brand:wikidata":"Q3162640","brand:wikipedia":"fr:Jardineries Truffaut",name:"Truffaut",shop:"garden_centre"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/gas/Airgas":{name:"Airgas",icon:"maki-shop",imageURL:"https://graph.facebook.com/airgasusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q80635",shop:"gas"},addTags:{brand:"Airgas","brand:wikidata":"Q80635","brand:wikipedia":"en:Airgas",name:"Airgas",shop:"gas"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/gas/AmeriGas":{name:"AmeriGas",icon:"maki-shop",imageURL:"https://graph.facebook.com/AmeriGas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23130318",shop:"gas"},addTags:{brand:"AmeriGas","brand:wikidata":"Q23130318","fuel:lpg":"yes",name:"AmeriGas",shop:"gas"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/gas/Ferrellgas":{name:"Ferrellgas",icon:"maki-shop",imageURL:"https://graph.facebook.com/Ferrellgas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5445299",shop:"gas"},addTags:{brand:"Ferrellgas","brand:wikidata":"Q5445299","fuel:lpg":"yes",name:"Ferrellgas",shop:"gas"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/gift/American Greetings":{name:"American Greetings",icon:"maki-gift",imageURL:"https://graph.facebook.com/AmericanGreetings/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q464767",shop:"gift"},addTags:{brand:"American Greetings","brand:wikidata":"Q464767","brand:wikipedia":"en:American Greetings",name:"American Greetings",shop:"gift"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/gift/Card Factory":{name:"Card Factory",icon:"maki-gift",imageURL:"https://graph.facebook.com/cardfactoryplc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5038192",shop:"gift"},addTags:{brand:"Card Factory","brand:wikidata":"Q5038192","brand:wikipedia":"en:Card Factory",name:"Card Factory",shop:"gift"},countryCodes:["gb","im"],terms:[],matchScore:2,suggestion:true},"shop/gift/Carlton Cards":{name:"Carlton Cards",icon:"maki-gift",imageURL:"https://graph.facebook.com/Carltoncards.ca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5042968",shop:"gift"},addTags:{brand:"Carlton Cards","brand:wikidata":"Q5042968","brand:wikipedia":"en:Carlton Cards",name:"Carlton Cards",shop:"gift"},countryCodes:["ca"],terms:["carlton"],matchScore:2,suggestion:true},"shop/gift/Clintons":{name:"Clintons",icon:"maki-gift",imageURL:"https://graph.facebook.com/ClintonsUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5134299",shop:"gift"},addTags:{brand:"Clintons","brand:wikidata":"Q5134299","brand:wikipedia":"en:Clintons",name:"Clintons",shop:"gift"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/gift/Cracker Barrel":{name:"Cracker Barrel",icon:"maki-gift",imageURL:"https://graph.facebook.com/crackerbarrel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4492609",shop:"gift"},addTags:{brand:"Cracker Barrel","brand:wikidata":"Q4492609","brand:wikipedia":"en:Cracker Barrel",name:"Cracker Barrel",official_name:"Cracker Barrel Old Country Store",shop:"gift"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/gift/Disney Store":{name:"Disney Store",icon:"maki-gift",imageURL:"https://graph.facebook.com/shopdisney/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1047009",shop:"gift"},addTags:{brand:"Disney Store","brand:wikidata":"Q1047009","brand:wikipedia":"en:Disney Store",name:"Disney Store",shop:"gift"},countryCodes:["ca","fr","us"],terms:["the disney store"],matchScore:2,suggestion:true},"shop/gift/Edible Arrangements":{name:"Edible Arrangements",icon:"maki-gift",imageURL:"https://graph.facebook.com/ediblearrangements/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5337996",shop:"gift"},addTags:{brand:"Edible Arrangements","brand:wikidata":"Q5337996","brand:wikipedia":"en:Edible Arrangements",name:"Edible Arrangements",shop:"gift"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/gift/Hallmark":{name:"Hallmark",icon:"maki-gift",imageURL:"https://graph.facebook.com/Hallmark/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1521910",shop:"gift"},addTags:{brand:"Hallmark","brand:wikidata":"Q1521910","brand:wikipedia":"en:Hallmark Cards",name:"Hallmark",shop:"gift"},countryCodes:["ca","gb","us"],terms:["hallmark gold crown"],matchScore:2,suggestion:true},"shop/gift/Nanu-Nana":{name:"Nanu-Nana",icon:"maki-gift",imageURL:"https://graph.facebook.com/NanuNanaDE/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1720245",shop:"gift"},addTags:{brand:"Nanu-Nana","brand:wikidata":"Q1720245","brand:wikipedia":"de:Nanu-Nana",name:"Nanu-Nana",shop:"gift"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/gift/Papyrus":{name:"Papyrus",icon:"maki-gift",imageURL:"https://graph.facebook.com/papyrus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28222692",shop:"gift"},addTags:{brand:"Papyrus","brand:wikidata":"Q28222692","brand:wikipedia":"en:Papyrus (company)",name:"Papyrus",shop:"gift"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/gift/Showcase":{name:"Showcase",icon:"maki-gift",geometry:["point","area"],tags:{"brand:wikidata":"Q7503163",shop:"gift"},addTags:{brand:"Showcase","brand:wikidata":"Q7503163","brand:wikipedia":"en:Showcase (retailer)",name:"Showcase",shop:"gift"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/gift/Spencer's":{name:"Spencer's",icon:"maki-gift",imageURL:"https://graph.facebook.com/spencers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7576055",shop:"gift"},addTags:{brand:"Spencer Gifts","brand:wikidata":"Q7576055","brand:wikipedia":"en:Spencer Gifts",name:"Spencer's",official_name:"Spencer Gifts",shop:"gift"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/gift/Things Remembered":{name:"Things Remembered",icon:"maki-gift",imageURL:"https://graph.facebook.com/thingsremembered/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q54958287",shop:"gift"},addTags:{brand:"Things Remembered","brand:wikidata":"Q54958287","brand:wikipedia":"en:Things Remembered",name:"Things Remembered",shop:"gift"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/greengrocer/Produce Junction":{name:"Produce Junction",icon:"fas-carrot",imageURL:"https://graph.facebook.com/ProduceJunction/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60583541",shop:"greengrocer"},addTags:{brand:"Produce Junction","brand:wikidata":"Q60583541",name:"Produce Junction",shop:"greengrocer"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser_supply/Sally Beauty Supply":{name:"Sally Beauty Supply",icon:"maki-shop",imageURL:"https://graph.facebook.com/sallybeauty/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7405065",shop:"hairdresser_supply"},addTags:{brand:"Sally Beauty Supply","brand:wikidata":"Q7405065","brand:wikipedia":"en:Sally Beauty Holdings",name:"Sally Beauty Supply",shop:"hairdresser_supply"},countryCodes:["ca","mx","us"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Camille Albane":{name:"Camille Albane",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/CamilleAlbane.Paris/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62965183",shop:"hairdresser"},addTags:{brand:"Camille Albane","brand:wikidata":"Q62965183",name:"Camille Albane",shop:"hairdresser"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Cost Cutters":{name:"Cost Cutters",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/CostCutters/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62029366",shop:"hairdresser"},addTags:{brand:"Cost Cutters","brand:wikidata":"Q62029366",name:"Cost Cutters",shop:"hairdresser"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Dessange":{name:"Dessange",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/DESSANGE.Paris/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62979914",shop:"hairdresser"},addTags:{brand:"Dessange","brand:wikidata":"Q62979914",name:"Dessange",shop:"hairdresser"},terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Fantastic Sams":{name:"Fantastic Sams",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/fantasticsamscutandcolor/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5434222",shop:"hairdresser"},addTags:{brand:"Fantastic Sams","brand:wikidata":"Q5434222","brand:wikipedia":"en:Fantastic Sams",name:"Fantastic Sams",shop:"hairdresser"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/First Choice Haircutters":{name:"First Choice Haircutters",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/SignatureStyleSalons/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5452622",shop:"hairdresser"},addTags:{brand:"First Choice Haircutters","brand:wikidata":"Q5452622","brand:wikipedia":"en:First Choice Haircutters",name:"First Choice Haircutters",shop:"hairdresser"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Franck Provost":{name:"Franck Provost",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/franck.provost.paris/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62805922",shop:"hairdresser"},addTags:{brand:"Franck Provost","brand:wikidata":"Q62805922","brand:wikipedia":"fr:Franck Provost (Salons de coiffure)",name:"Franck Provost",shop:"hairdresser"},countryCodes:["be","fr","pl"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Great Clips":{name:"Great Clips",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/GreatClips/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5598967",shop:"hairdresser"},addTags:{brand:"Great Clips","brand:wikidata":"Q5598967","brand:wikipedia":"en:Great Clips",name:"Great Clips",shop:"hairdresser"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Hair Cuttery":{name:"Hair Cuttery",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/haircuttery/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5639484",shop:"hairdresser"},addTags:{brand:"Hair Cuttery","brand:wikidata":"Q5639484","brand:wikipedia":"en:Hair Cuttery",name:"Hair Cuttery",shop:"hairdresser"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Hair Express":{name:"Hair Express",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/hairexpressfriseur/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57550814",shop:"hairdresser"},addTags:{brand:"Hair Express","brand:wikidata":"Q57550814",name:"Hair Express",shop:"hairdresser"},countryCodes:["de","us"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Hairkiller":{name:"Hairkiller",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/hairkillerDetmold/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q58305998",shop:"hairdresser"},addTags:{brand:"Hairkiller","brand:wikidata":"Q58305998",name:"Hairkiller",shop:"hairdresser"},countryCodes:["at","de","lu"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Jean Louis David":{name:"Jean Louis David",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/jean.louis.david.officiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64445174",shop:"hairdresser"},addTags:{brand:"Jean Louis David","brand:wikidata":"Q64445174",name:"Jean Louis David",shop:"hairdresser"},countryCodes:["es","fr","it","pl"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Klier":{name:"Klier",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/frisoerklier/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1465159",shop:"hairdresser"},addTags:{brand:"Klier","brand:wikidata":"Q1465159","brand:wikipedia":"de:Frisör Klier",name:"Klier",shop:"hairdresser"},countryCodes:["at","cz","de","sk"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Klipp":{name:"Klipp",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/klipp.frisoer/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1737304",shop:"hairdresser"},addTags:{brand:"Klipp","brand:wikidata":"Q1737304","brand:wikipedia":"de:Klipp Frisör",name:"Klipp",shop:"hairdresser"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Mastercuts":{name:"Mastercuts",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/MasterCuts/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64026258",shop:"hairdresser"},addTags:{brand:"Mastercuts","brand:wikidata":"Q64026258",name:"Mastercuts",shop:"hairdresser"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Saint Algue":{name:"Saint Algue",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/saint.algue.officiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62973210",shop:"hairdresser"},addTags:{brand:"Saint Algue","brand:wikidata":"Q62973210",name:"Saint Algue",shop:"hairdresser"},terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Sport Clips":{name:"Sport Clips",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/SportClipsHaircuts/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7579310",shop:"hairdresser"},addTags:{brand:"Sport Clips","brand:wikidata":"Q7579310",name:"Sport Clips",shop:"hairdresser"},countryCodes:["ca","us"],terms:["sport clips haircuts","sports clips"],matchScore:2,suggestion:true},"shop/hairdresser/Super Cut":{name:"Super Cut",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/supercut.friseur/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64139077",shop:"hairdresser"},addTags:{brand:"Super Cut","brand:wikidata":"Q64139077",name:"Super Cut",shop:"hairdresser"},terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Supercuts":{name:"Supercuts",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/Supercuts/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7643239",shop:"hairdresser"},addTags:{brand:"Supercuts","brand:wikidata":"Q7643239","brand:wikipedia":"en:Supercuts",name:"Supercuts",shop:"hairdresser"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Tchip":{name:"Tchip",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/TCHIP.Coiffure.Officiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62871250",shop:"hairdresser"},addTags:{brand:"Tchip","brand:wikidata":"Q62871250",name:"Tchip",shop:"hairdresser"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/The Salon at Ulta Beauty":{name:"The Salon at Ulta Beauty",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/UltaBeauty/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7880076",shop:"hairdresser"},addTags:{alt_name:"Ulta Salon",brand:"Ulta Beauty","brand:wikidata":"Q7880076","brand:wikipedia":"en:Ulta Beauty",name:"The Salon at Ulta Beauty",shop:"hairdresser"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Toni & Guy":{name:"Toni & Guy",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/toniandguyworld/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q324784",shop:"hairdresser"},addTags:{brand:"Toni & Guy","brand:wikidata":"Q324784","brand:wikipedia":"en:Toni & Guy",name:"Toni & Guy",shop:"hairdresser"},terms:[],matchScore:2,suggestion:true},"shop/hairdresser/Top Hair":{name:"Top Hair",icon:"temaki-beauty_salon",imageURL:"https://graph.facebook.com/Mein.Friseur.Top.Hair/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62523343",shop:"hairdresser"},addTags:{brand:"Top Hair","brand:wikidata":"Q62523343",name:"Top Hair",shop:"hairdresser"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/hardware/220 вольт":{name:"220 вольт",icon:"temaki-tools",imageURL:"https://graph.facebook.com/likevolt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18635304",shop:"hardware"},addTags:{brand:"220 вольт","brand:en":"220 Volt","brand:ru":"220 вольт","brand:wikidata":"Q18635304","brand:wikipedia":"ru:220 Вольт (компания)",name:"220 вольт","name:en":"220 Volt","name:ru":"220 вольт",shop:"hardware"},countryCodes:["by","ru","ua"],terms:[],matchScore:2,suggestion:true},"shop/hardware/Harbor Freight Tools":{name:"Harbor Freight Tools",icon:"temaki-tools",imageURL:"https://pbs.twimg.com/profile_images/1145780174190858241/HTbFX01b_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q5654601",shop:"hardware"},addTags:{brand:"Harbor Freight Tools","brand:wikidata":"Q5654601","brand:wikipedia":"en:Harbor Freight Tools",name:"Harbor Freight Tools",shop:"hardware"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/hardware/Home Hardware":{name:"Home Hardware",icon:"temaki-tools",imageURL:"https://graph.facebook.com/homehardwarestores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3139611",shop:"hardware"},addTags:{brand:"Home Hardware","brand:wikidata":"Q3139611","brand:wikipedia":"en:Home Hardware",name:"Home Hardware",shop:"hardware"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/hardware/K-Rauta":{name:"K-Rauta",icon:"temaki-tools",imageURL:"https://graph.facebook.com/KRautaSuomi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4206187",shop:"hardware"},addTags:{brand:"K-Rauta","brand:wikidata":"Q4206187","brand:wikipedia":"fi:K-Rauta",name:"K-Rauta",shop:"hardware"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/hardware/Kodin Terra":{name:"Kodin Terra",icon:"temaki-tools",imageURL:"https://graph.facebook.com/KodinTerraPori/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11872038",shop:"hardware"},addTags:{brand:"Kodin Terra","brand:wikidata":"Q11872038","brand:wikipedia":"fi:Kodin Terra",name:"Kodin Terra",shop:"hardware"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/hardware/True Value":{name:"True Value",icon:"temaki-tools",imageURL:"https://graph.facebook.com/TrueValue/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7847545",shop:"hardware"},addTags:{brand:"True Value","brand:wikidata":"Q7847545","brand:wikipedia":"en:True Value",name:"True Value",shop:"hardware"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/hardware/Würth":{name:"Würth",icon:"temaki-tools",imageURL:"https://graph.facebook.com/Wuerth.Group/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q679750",shop:"hardware"},addTags:{brand:"Würth","brand:wikidata":"Q679750","brand:wikipedia":"de:Würth-Gruppe",name:"Würth",shop:"hardware"},countryCodes:["be","de","fi","fr","it","no"],terms:[],matchScore:2,suggestion:true},"shop/hardware/Мосхозторг":{name:"Мосхозторг",icon:"temaki-tools",imageURL:"https://graph.facebook.com/MosHozTorg/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62499092",shop:"hardware"},addTags:{brand:"Мосхозторг","brand:wikidata":"Q62499092",name:"Мосхозторг",shop:"hardware"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/health_food/Holland & Barrett":{name:"Holland & Barrett",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/1146032750463504384/jGVlI8rw_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q5880870",shop:"health_food"},addTags:{brand:"Holland & Barrett","brand:wikidata":"Q5880870","brand:wikipedia":"en:Holland & Barrett",name:"Holland & Barrett",shop:"health_food"},countryCodes:["gb","ie","nl"],terms:[],matchScore:2,suggestion:true},"shop/hearing_aids/Amplifon":{name:"Amplifon",icon:"maki-shop",imageURL:"https://graph.facebook.com/AmplifonGroupCareers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q477222",shop:"hearing_aids"},addTags:{brand:"Amplifon","brand:wikidata":"Q477222","brand:wikipedia":"en:Amplifon",name:"Amplifon",shop:"hearing_aids"},terms:[],matchScore:2,suggestion:true},"shop/hearing_aids/Audika":{name:"Audika",icon:"maki-shop",imageURL:"https://graph.facebook.com/audikafrance/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2870745",shop:"hearing_aids"},addTags:{brand:"Audika","brand:wikidata":"Q2870745","brand:wikipedia":"fr:Audika",name:"Audika",shop:"hearing_aids"},countryCodes:["ch","fr"],terms:[],matchScore:2,suggestion:true},"shop/hearing_aids/Geers":{name:"Geers",icon:"maki-shop",imageURL:"https://graph.facebook.com/geers.hoerakustik/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1497707",shop:"hearing_aids"},addTags:{brand:"Geers","brand:wikidata":"Q1497707","brand:wikipedia":"de:Geers Hörakustik",name:"Geers",shop:"hearing_aids"},countryCodes:["de","pl"],terms:[],matchScore:2,suggestion:true},"shop/hearing_aids/Kind Hörgeräte":{name:"Kind Hörgeräte",icon:"maki-shop",imageURL:"https://graph.facebook.com/kindhoergeraete/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q43598590",shop:"hearing_aids"},addTags:{brand:"Kind Hörgeräte","brand:wikidata":"Q43598590","brand:wikipedia":"de:Kind Hörgeräte",name:"Kind Hörgeräte",shop:"hearing_aids"},countryCodes:["de"],terms:["kind"],matchScore:2,suggestion:true},"shop/hearing_aids/Miracle-Ear":{name:"Miracle-Ear",icon:"maki-shop",imageURL:"https://graph.facebook.com/miracleear/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17108572",shop:"hearing_aids"},addTags:{brand:"Miracle-Ear","brand:wikidata":"Q17108572","brand:wikipedia":"en:Miracle-Ear",name:"Miracle-Ear",shop:"hearing_aids"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/hearing_aids/Neuroth":{name:"Neuroth",icon:"maki-shop",imageURL:"https://graph.facebook.com/NeurothAG/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15836645",shop:"hearing_aids"},addTags:{brand:"Neuroth","brand:wikidata":"Q15836645","brand:wikipedia":"de:Neuroth AG",name:"Neuroth",shop:"hearing_aids"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/hifi/Bang & Olufsen":{name:"Bang & Olufsen",icon:"temaki-speaker",imageURL:"https://graph.facebook.com/bangolufsenusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q790020",shop:"hifi"},addTags:{brand:"Bang & Olufsen","brand:wikidata":"Q790020","brand:wikipedia":"en:Bang & Olufsen",name:"Bang & Olufsen",shop:"hifi"},terms:[],matchScore:2,suggestion:true},"shop/hifi/Bose":{name:"Bose",icon:"temaki-speaker",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBose%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q328568",shop:"hifi"},addTags:{brand:"Bose","brand:wikidata":"Q328568","brand:wikipedia":"en:Bose Corporation",name:"Bose",shop:"hifi"},terms:[],matchScore:2,suggestion:true},"shop/hobby/アニメイト":{name:"アニメイト",icon:"fas-dragon",imageURL:"https://pbs.twimg.com/profile_images/1098862296787382272/pLo1nSbN_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q1041890",shop:"hobby"},addTags:{brand:"アニメイト","brand:en":"Animate","brand:ja":"アニメイト","brand:wikidata":"Q1041890","brand:wikipedia":"ja:アニメイト",name:"アニメイト","name:en":"Animate","name:ja":"アニメイト",shop:"hobby"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/houseware/At Home":{name:"At Home",icon:"fas-blender",imageURL:"https://graph.facebook.com/AtHomeStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5522290",shop:"houseware"},addTags:{brand:"At Home (store)","brand:wikidata":"Q5522290",name:"At Home",shop:"houseware"},countryCodes:["us"],terms:["garden ridge"],matchScore:2,suggestion:true},"shop/houseware/Bed Bath & Beyond":{name:"Bed Bath & Beyond",icon:"fas-blender",imageURL:"https://graph.facebook.com/BedBathAndBeyond/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q813782",shop:"houseware"},addTags:{brand:"Bed Bath & Beyond","brand:wikidata":"Q813782","brand:wikipedia":"en:Bed Bath & Beyond",name:"Bed Bath & Beyond",shop:"houseware"},countryCodes:["ca","mx","nz","us"],terms:[],matchScore:2,suggestion:true},"shop/houseware/Blokker":{name:"Blokker",icon:"fas-blender",imageURL:"https://graph.facebook.com/BlokkerNL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q884934",shop:"houseware"},addTags:{brand:"Blokker","brand:wikidata":"Q884934","brand:wikipedia":"en:Blokker Holding",name:"Blokker",shop:"houseware"},countryCodes:["be","nl"],terms:[],matchScore:2,suggestion:true},"shop/houseware/Cervera":{name:"Cervera",icon:"fas-blender",imageURL:"https://graph.facebook.com/CerveraAB/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10447179",shop:"houseware"},addTags:{brand:"Cervera","brand:wikidata":"Q10447179","brand:wikipedia":"sv:Cervera (företag)",name:"Cervera",shop:"houseware"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/houseware/HomeGoods":{name:"HomeGoods",icon:"fas-blender",imageURL:"https://graph.facebook.com/Homegoods/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5887941",shop:"houseware"},addTags:{brand:"HomeGoods","brand:wikidata":"Q5887941","brand:wikipedia":"en:HomeGoods",name:"HomeGoods",shop:"houseware"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/houseware/Kitchen Collection":{name:"Kitchen Collection",icon:"fas-blender",imageURL:"https://graph.facebook.com/KitchenCollectionStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64149036",shop:"houseware"},addTags:{brand:"Kitchen Collection","brand:wikidata":"Q64149036",name:"Kitchen Collection",shop:"houseware"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/houseware/Lagerhaus":{name:"Lagerhaus",icon:"fas-blender",imageURL:"https://graph.facebook.com/lagerhaus.se/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10553211",shop:"houseware"},addTags:{brand:"Lagerhaus","brand:wikidata":"Q10553211","brand:wikipedia":"sv:Lagerhaus",name:"Lagerhaus",shop:"houseware"},terms:[],matchScore:2,suggestion:true},"shop/houseware/Le Creuset":{name:"Le Creuset",icon:"fas-blender",imageURL:"https://graph.facebook.com/lecreuset/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q555861",shop:"houseware"},addTags:{brand:"Le Creuset","brand:wikidata":"Q555861","brand:wikipedia":"en:Le Creuset",name:"Le Creuset",shop:"houseware"},terms:[],matchScore:2,suggestion:true},"shop/houseware/Marskramer":{name:"Marskramer",icon:"fas-blender",imageURL:"https://graph.facebook.com/marskramer.nl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2305917",shop:"houseware"},addTags:{brand:"Marskramer","brand:wikidata":"Q2305917","brand:wikipedia":"nl:Marskramer (warenhuis)",name:"Marskramer",shop:"houseware"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/houseware/Old Time Pottery":{name:"Old Time Pottery",icon:"fas-blender",imageURL:"https://graph.facebook.com/oldtimepottery/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7085222",shop:"houseware"},addTags:{brand:"Old Time Pottery","brand:website":"http://www.oldtimepottery.com","brand:wikidata":"Q7085222","brand:wikipedia":"en:Old Time Pottery",name:"Old Time Pottery",shop:"houseware"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/houseware/Sur La Table":{name:"Sur La Table",icon:"fas-blender",imageURL:"https://graph.facebook.com/SurLaTable/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7645220",shop:"houseware"},addTags:{brand:"Sur La Table","brand:wikidata":"Q7645220","brand:wikipedia":"en:Sur La Table",name:"Sur La Table",shop:"houseware"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/houseware/The Container Store":{name:"The Container Store",icon:"fas-blender",imageURL:"https://graph.facebook.com/containerstore/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7727445",shop:"houseware"},addTags:{brand:"The Container Store","brand:wikidata":"Q7727445","brand:wikipedia":"en:The Container Store",name:"The Container Store",shop:"houseware"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/houseware/Tuesday Morning":{name:"Tuesday Morning",icon:"fas-blender",imageURL:"https://graph.facebook.com/TuesdayMorning/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7851426",shop:"houseware"},addTags:{brand:"Tuesday Morning","brand:wikidata":"Q7851426","brand:wikipedia":"en:Tuesday Morning",name:"Tuesday Morning",shop:"houseware"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/houseware/WMF":{name:"WMF",icon:"fas-blender",imageURL:"https://graph.facebook.com/WMF/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q451423",shop:"houseware"},addTags:{brand:"WMF","brand:wikidata":"Q451423","brand:wikipedia":"en:WMF Group",name:"WMF",shop:"houseware"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/houseware/Williams-Sonoma":{name:"Williams-Sonoma",icon:"fas-blender",imageURL:"https://graph.facebook.com/WilliamsSonoma/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2581220",shop:"houseware"},addTags:{brand:"Williams-Sonoma","brand:wikidata":"Q2581220","brand:wikipedia":"en:Williams-Sonoma",name:"Williams-Sonoma",shop:"houseware"},countryCodes:["ca","us"],terms:["william sonoma"],matchScore:2,suggestion:true},"shop/houseware/World Market":{name:"World Market",icon:"fas-blender",imageURL:"https://graph.facebook.com/worldmarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5174750",shop:"interior_decoration"},addTags:{brand:"World Market","brand:wikidata":"Q5174750","brand:wikipedia":"en:Cost Plus World Market",name:"World Market",official_name:"Cost Plus World Market",shop:"interior_decoration"},countryCodes:["us"],terms:["cost plus"],matchScore:2,suggestion:true},"shop/houseware/Xenos":{name:"Xenos",icon:"fas-blender",imageURL:"https://graph.facebook.com/XenosNL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16547960",shop:"houseware"},addTags:{brand:"Xenos","brand:wikidata":"Q16547960","brand:wikipedia":"nl:Xenos",name:"Xenos",shop:"houseware"},countryCodes:["de","nl"],terms:[],matchScore:2,suggestion:true},"shop/interior_decoration/Centrakor":{name:"Centrakor",icon:"maki-shop",imageURL:"https://graph.facebook.com/Centrakor/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64079345",shop:"interior_decoration"},addTags:{brand:"Centrakor","brand:wikidata":"Q64079345",name:"Centrakor",shop:"interior_decoration"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/interior_decoration/Depot":{name:"Depot",icon:"maki-shop",imageURL:"https://graph.facebook.com/DEPOTonline/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1191740",shop:"interior_decoration"},addTags:{brand:"Depot","brand:wikidata":"Q1191740","brand:wikipedia":"de:Gries Deco Holding",name:"Depot",shop:"interior_decoration"},countryCodes:["at","ch","de"],terms:[],matchScore:2,suggestion:true},"shop/interior_decoration/Fired Earth":{name:"Fired Earth",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/895948506082537472/9N7fI-vd_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q20594569",shop:"interior_decoration"},addTags:{brand:"Fired Earth","brand:wikidata":"Q20594569",name:"Fired Earth",shop:"interior_decoration"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/interior_decoration/Hemtex":{name:"Hemtex",icon:"maki-shop",imageURL:"https://graph.facebook.com/hemtex/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10521868",shop:"interior_decoration"},addTags:{brand:"Hemtex","brand:wikidata":"Q10521868","brand:wikipedia":"sv:Hemtex",name:"Hemtex",shop:"interior_decoration"},countryCodes:["ee","fi","se"],terms:[],matchScore:2,suggestion:true},"shop/interior_decoration/HomeSense":{name:"HomeSense",icon:"maki-shop",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FHomeSense%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q16844433",shop:"interior_decoration"},addTags:{brand:"HomeSense","brand:wikidata":"Q16844433","brand:wikipedia":"en:HomeSense",name:"HomeSense",shop:"interior_decoration"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/interior_decoration/Kirkland's":{name:"Kirkland's",icon:"maki-shop",imageURL:"https://graph.facebook.com/Kirklands/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6415714",shop:"interior_decoration"},addTags:{brand:"Kirkland's","brand:wikidata":"Q6415714","brand:wikipedia":"en:Kirkland's",name:"Kirkland's",shop:"interior_decoration"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/interior_decoration/Pier 1 Imports":{name:"Pier 1 Imports",icon:"maki-shop",imageURL:"https://graph.facebook.com/pier1/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7191691",shop:"interior_decoration"},addTags:{brand:"Pier 1 Imports","brand:wikidata":"Q7191691","brand:wikipedia":"en:Pier 1 Imports",name:"Pier 1 Imports",shop:"interior_decoration"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/interior_decoration/Ten Thousand Villages":{name:"Ten Thousand Villages",icon:"maki-shop",imageURL:"https://graph.facebook.com/TenThousandVillages/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2403252",shop:"interior_decoration"},addTags:{brand:"Ten Thousand Villages","brand:wikidata":"Q2403252","brand:wikipedia":"en:Ten Thousand Villages",fair_trade:"only",name:"Ten Thousand Villages",shop:"interior_decoration"},countryCodes:["ca","us"],terms:["10 thousand villages","10,000 villages"],matchScore:2,suggestion:true},"shop/jewelry/Alex and Ani":{name:"Alex and Ani",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/alexandaniusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16198810",shop:"jewelry"},addTags:{brand:"Alex and Ani","brand:wikidata":"Q16198810","brand:wikipedia":"en:Alex and Ani",name:"Alex and Ani",shop:"jewelry"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Apart":{name:"Apart",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/BizuteriaApart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11686561",shop:"jewelry"},addTags:{brand:"Apart","brand:wikidata":"Q11686561","brand:wikipedia":"pl:Apart",name:"Apart",shop:"jewelry"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Bijou Brigitte":{name:"Bijou Brigitte",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/bijoubrigitte/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q599545",shop:"jewelry"},addTags:{brand:"Bijou Brigitte","brand:wikidata":"Q599545","brand:wikipedia":"de:Bijou Brigitte",name:"Bijou Brigitte",shop:"jewelry"},terms:[],matchScore:2,suggestion:true},"shop/jewelry/Cartier":{name:"Cartier",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/cartier.usa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q538587",shop:"jewelry"},addTags:{brand:"Cartier","brand:wikidata":"Q538587","brand:wikipedia":"en:Cartier (jeweler)",name:"Cartier",shop:"jewelry"},terms:[],matchScore:2,suggestion:true},"shop/jewelry/Christ":{name:"Christ",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/juwelierchrist/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1077957",shop:"jewelry"},addTags:{brand:"Christ","brand:wikidata":"Q1077957","brand:wikipedia":"de:Christ (Juwelier)",name:"Christ",shop:"jewelry"},countryCodes:["ch","de","nl"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/David Yurman":{name:"David Yurman",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/DavidYurman/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5241390",shop:"jewelry"},addTags:{brand:"David Yurman","brand:wikidata":"Q5241390","brand:wikipedia":"en:David Yurman",name:"David Yurman",shop:"jewelry"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Ernest Jones":{name:"Ernest Jones",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/ernestjonesjewellers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5393358",shop:"jewelry"},addTags:{brand:"Ernest Jones","brand:wikidata":"Q5393358","brand:wikipedia":"en:Ernest Jones (retailer)",name:"Ernest Jones",shop:"jewelry"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Guldfynd":{name:"Guldfynd",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/Guldfynd/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q49099223",shop:"jewelry"},addTags:{brand:"Guldfynd","brand:wikidata":"Q49099223","brand:wikipedia":"sv:Guldfynd",name:"Guldfynd",shop:"jewelry"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/H.Samuel":{name:"H.Samuel",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/HSamuelTheJeweller/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5628558",shop:"jewelry"},addTags:{brand:"H.Samuel","brand:wikidata":"Q5628558","brand:wikipedia":"en:H. Samuel",name:"H.Samuel",shop:"jewelry"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Histoire d'Or":{name:"Histoire d'Or",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/HistoiredOr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62529245",shop:"jewelry"},addTags:{brand:"Histoire d'Or","brand:wikidata":"Q62529245",name:"Histoire d'Or",shop:"jewelry"},countryCodes:["be","fr","it","nl"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/James Avery Jewelry":{name:"James Avery Jewelry",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/JamesAvery/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6129024",shop:"jewelry"},addTags:{brand:"James Avery Jewelry","brand:wikidata":"Q6129024","brand:wikipedia":"en:James Avery Artisan Jewelry",name:"James Avery Jewelry",shop:"jewelry"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Jared":{name:"Jared",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/JaredTheGalleriaOfJewelry/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62029282",shop:"jewelry"},addTags:{brand:"Jared","brand:wikidata":"Q62029282",name:"Jared",shop:"jewelry"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Julien d'Orcel":{name:"Julien d'Orcel",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/juliendorcel.bijouteries/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62497463",shop:"jewelry"},addTags:{brand:"Julien d'Orcel","brand:wikidata":"Q62497463",name:"Julien d'Orcel",shop:"jewelry"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Kay Jewelers":{name:"Kay Jewelers",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/KayJewelers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62029290",shop:"jewelry"},addTags:{brand:"Kay Jewelers","brand:wikidata":"Q62029290",name:"Kay Jewelers",shop:"jewelry"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Michael Hill":{name:"Michael Hill",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/MichaelHillJ/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3308250",shop:"jewelry"},addTags:{brand:"Michael Hill","brand:wikidata":"Q3308250","brand:wikipedia":"en:Michael Hill Jeweller",name:"Michael Hill",shop:"jewelry"},countryCodes:["au","ca","nz","us"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/PNJ":{name:"PNJ",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/PNJ.COM.VN/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61129183",shop:"jewelry"},addTags:{brand:"PNJ","brand:wikidata":"Q61129183","brand:wikipedia":"vi:PNJ",name:"PNJ",shop:"jewelry"},countryCodes:["vn"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Pandora":{name:"Pandora",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/PANDORA.Japan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2241604",shop:"jewelry"},addTags:{brand:"Pandora","brand:wikidata":"Q2241604","brand:wikipedia":"en:Pandora (jewelry)",name:"Pandora",shop:"jewelry"},terms:[],matchScore:2,suggestion:true},"shop/jewelry/Peoples Jewellers":{name:"Peoples Jewellers",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/Peoples/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64995558",shop:"jewelry"},addTags:{brand:"Peoples Jewellers","brand:wikidata":"Q64995558",name:"Peoples Jewellers",shop:"jewelry"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Swarovski":{name:"Swarovski",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/SWAROVSKI.NorthAmerica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q611115",shop:"jewelry"},addTags:{brand:"Swarovski","brand:wikidata":"Q611115","brand:wikipedia":"en:Swarovski",name:"Swarovski",shop:"jewelry"},terms:[],matchScore:2,suggestion:true},"shop/jewelry/Tiffany & Company":{name:"Tiffany & Company",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/Tiffany/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1066858",shop:"jewelry"},addTags:{brand:"Tiffany & Company","brand:wikidata":"Q1066858","brand:wikipedia":"en:Tiffany & Co.",name:"Tiffany & Company",official_name:"Tiffany & Co.",shop:"jewelry"},countryCodes:["us"],terms:["tiffany","tiffany's"],matchScore:2,suggestion:true},"shop/jewelry/Warren James":{name:"Warren James",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/warrenjamesjewellers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19604616",shop:"jewelry"},addTags:{brand:"Warren James","brand:wikidata":"Q19604616","brand:wikipedia":"en:Warren James Jewellers",name:"Warren James",shop:"jewelry"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Zales":{name:"Zales",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/Zales/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8065305",shop:"jewelry"},addTags:{brand:"Zales","brand:wikidata":"Q8065305","brand:wikipedia":"en:Zale Corporation",name:"Zales",shop:"jewelry"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/jewelry/Адамас":{name:"Адамас",icon:"maki-jewelry-store",imageURL:"https://graph.facebook.com/adamas.club/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62393709",shop:"jewelry"},addTags:{brand:"Адамас","brand:en":"Adamas","brand:ru":"Адамас","brand:wikidata":"Q62393709",name:"Адамас","name:en":"Adamas","name:ru":"Адамас",shop:"jewelry"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/kiosk/Lietuvos spauda":{name:"Lietuvos spauda",icon:"maki-shop",imageURL:"https://graph.facebook.com/narvesen.no/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6514414",shop:"kiosk"},addTags:{brand:"Lietuvos spauda","brand:wikidata":"Q6514414","brand:wikipedia":"lt:Lietuvos spauda",name:"Lietuvos spauda",shop:"kiosk"},countryCodes:["lt"],terms:[],matchScore:2,suggestion:true},"shop/kiosk/Narvesen":{name:"Narvesen",icon:"maki-shop",imageURL:"https://graph.facebook.com/narvesen.no/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6514414",shop:"kiosk"},addTags:{brand:"Narvesen","brand:wikidata":"Q6514414","brand:wikipedia":"en:Narvesen",name:"Narvesen",shop:"kiosk"},countryCodes:["lt","lv","no"],terms:[],matchScore:2,suggestion:true},"shop/kiosk/Pressbyrån":{name:"Pressbyrån",icon:"maki-shop",imageURL:"https://graph.facebook.com/Pressbyran/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2489072",shop:"kiosk"},addTags:{brand:"Pressbyrån","brand:wikidata":"Q2489072","brand:wikipedia":"en:Pressbyrån",name:"Pressbyrån",shop:"kiosk"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/kiosk/R-Kioski":{name:"R-Kioski",icon:"maki-shop",imageURL:"https://graph.facebook.com/rkioski/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1571400",shop:"kiosk"},addTags:{brand:"R-Kioski","brand:wikidata":"Q1571400","brand:wikipedia":"en:R-kioski",name:"R-Kioski",shop:"kiosk"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/kiosk/Ruch":{name:"Ruch",icon:"maki-shop",imageURL:"https://graph.facebook.com/ruch/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1260314",shop:"kiosk"},addTags:{brand:"Ruch","brand:wikidata":"Q1260314","brand:wikipedia":"pl:Ruch (przedsiębiorstwo)",name:"Ruch",shop:"kiosk"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/kiosk/Tisak":{name:"Tisak",icon:"maki-shop",imageURL:"https://graph.facebook.com/tisakmedia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12643627",shop:"kiosk"},addTags:{brand:"Tisak","brand:wikidata":"Q12643627","brand:wikipedia":"hr:Tisak (tvrtka)",name:"Tisak",shop:"kiosk"},countryCodes:["hr"],terms:[],matchScore:2,suggestion:true},"shop/kiosk/k kiosk":{name:"k kiosk",icon:"maki-shop",imageURL:"https://graph.facebook.com/kkiosk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60381703",shop:"kiosk"},addTags:{brand:"k kiosk","brand:wikidata":"Q60381703","brand:wikipedia":"it:K Kiosk",name:"k kiosk",shop:"kiosk"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"shop/kiosk/キヨスク":{name:"キヨスク",icon:"maki-shop",geometry:["point","area"],tags:{"brand:wikidata":"Q1334796",shop:"kiosk"},addTags:{brand:"キヨスク","brand:en":"KIOSK","brand:ja":"キヨスク","brand:wikidata":"Q1334796","brand:wikipedia":"ja:キヨスク",name:"キヨスク","name:en":"KIOSK","name:ja":"キヨスク",shop:"kiosk"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/kitchen/Cuisinella":{name:"Cuisinella",icon:"maki-shop",imageURL:"https://graph.facebook.com/CuisinellaFR/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3007012",shop:"kitchen"},addTags:{brand:"Cuisinella","brand:wikidata":"Q3007012","brand:wikipedia":"fr:Cuisinella",name:"Cuisinella",shop:"kitchen"},countryCodes:["fr","tn"],terms:[],matchScore:2,suggestion:true},"shop/kitchen/Magnet":{name:"Magnet",icon:"maki-shop",imageURL:"https://graph.facebook.com/MagnetKitchens/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6731427",shop:"kitchen"},addTags:{brand:"Magnet","brand:wikidata":"Q6731427",name:"Magnet",shop:"kitchen"},countryCodes:["gb"],terms:["magnet kitchens"],matchScore:2,suggestion:true},"shop/kitchen/Mobalpa":{name:"Mobalpa",icon:"maki-shop",imageURL:"https://graph.facebook.com/Mobalpa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3317571",shop:"kitchen"},addTags:{brand:"Mobalpa","brand:wikidata":"Q3317571","brand:wikipedia":"fr:Mobalpa",name:"Mobalpa",shop:"kitchen"},countryCodes:["be","fr","gb"],terms:[],matchScore:2,suggestion:true},"shop/kitchen/Schmidt":{name:"Schmidt",icon:"maki-shop",imageURL:"https://graph.facebook.com/Schmidt.HomeDesign/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3487620",shop:"kitchen"},addTags:{brand:"Schmidt","brand:wikidata":"Q3487620","brand:wikipedia":"de:Schmidt Groupe",name:"Schmidt",shop:"kitchen"},countryCodes:["be","es","fr","gb"],terms:[],matchScore:2,suggestion:true},"shop/kitchen/SoCoo'c":{name:"SoCoo'c",icon:"maki-shop",imageURL:"https://graph.facebook.com/SoCooc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62783840",shop:"kitchen"},addTags:{brand:"SoCoo'c","brand:wikidata":"Q62783840","brand:wikipedia":"fr:SoCoo'c",name:"SoCoo'c",shop:"kitchen"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/massage/Massage Envy":{name:"Massage Envy",icon:"temaki-spa",imageURL:"https://graph.facebook.com/MassageEnvy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q22922899",shop:"massage"},addTags:{brand:"Massage Envy","brand:wikidata":"Q22922899","brand:wikipedia":"en:Massage Envy",name:"Massage Envy",shop:"massage"},countryCodes:["us"],terms:["massage envy spa"],matchScore:2,suggestion:true},"shop/massage/Massage Heights":{name:"Massage Heights",icon:"temaki-spa",imageURL:"https://graph.facebook.com/MassageHeights/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64573956",shop:"massage"},addTags:{brand:"Massage Heights","brand:wikidata":"Q64573956",name:"Massage Heights",shop:"massage"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/medical_supply/Pofam-Poznań":{name:"Pofam-Poznań",icon:"maki-shop",imageURL:"https://graph.facebook.com/381601628634155/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62057457",shop:"medical_supply"},addTags:{brand:"Pofam-Poznań","brand:wikidata":"Q62057457",name:"Pofam-Poznań",shop:"medical_supply"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/medical_supply/Ортека":{name:"Ортека",icon:"maki-shop",imageURL:"https://graph.facebook.com/orteka.rus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62393660",shop:"medical_supply"},addTags:{brand:"Ортека","brand:wikidata":"Q62393660",name:"Ортека",shop:"medical_supply"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/3 Store":{name:"3 Store",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/ThreeUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q407009",shop:"mobile_phone"},addTags:{brand:"3 Store","brand:wikidata":"Q407009","brand:wikipedia":"en:3 (telecommunications)",name:"3 Store",shop:"mobile_phone"},countryCodes:["gb","it"],terms:["3","three","three store"],matchScore:2,suggestion:true},"shop/mobile_phone/AT&T":{name:"AT&T",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/ATT/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q298594",shop:"mobile_phone"},addTags:{brand:"AT&T","brand:wikidata":"Q298594","brand:wikipedia":"en:AT&T Mobility",name:"AT&T",shop:"mobile_phone"},countryCodes:["mx","us"],terms:["att mobile","att mobility","att wireless"],matchScore:2,suggestion:true},"shop/mobile_phone/Bell":{name:"Bell",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/BellCanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2894594",shop:"mobile_phone"},addTags:{brand:"Bell","brand:wikidata":"Q2894594","brand:wikipedia":"en:Bell Mobility",name:"Bell",shop:"mobile_phone"},countryCodes:["ca"],terms:["bell mobile","bell mobility","bell wireless"],matchScore:2,suggestion:true},"shop/mobile_phone/Best Buy Mobile":{name:"Best Buy Mobile",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/bestbuy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q533415",shop:"mobile_phone"},addTags:{brand:"Best Buy Mobile","brand:wikidata":"Q533415","brand:wikipedia":"en:Best Buy",name:"Best Buy Mobile",shop:"mobile_phone"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Bitė":{name:"Bitė",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/bitelietuva/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q796010",shop:"mobile_phone"},addTags:{brand:"Bitė","brand:wikidata":"Q796010","brand:wikipedia":"lt:Bitės grupė",name:"Bitė",shop:"mobile_phone"},countryCodes:["lt"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Boost Mobile":{name:"Boost Mobile",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/boostmobile/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4943790",shop:"mobile_phone"},addTags:{brand:"Boost Mobile","brand:wikidata":"Q4943790","brand:wikipedia":"en:Boost Mobile",name:"Boost Mobile",shop:"mobile_phone"},countryCodes:["us"],terms:["boost"],matchScore:2,suggestion:true},"shop/mobile_phone/Carphone Warehouse":{name:"Carphone Warehouse",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/carphonewarehouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q118046",shop:"mobile_phone"},addTags:{brand:"Carphone Warehouse","brand:wikidata":"Q118046","brand:wikipedia":"en:Carphone Warehouse",name:"Carphone Warehouse",shop:"mobile_phone"},countryCodes:["by","gb","ie"],terms:["the carphone warehouse"],matchScore:2,suggestion:true},"shop/mobile_phone/Chatr":{name:"Chatr",icon:"fas-mobile-alt",imageURL:"https://pbs.twimg.com/profile_images/705052150091681792/Rt-nwXo7_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q5087766",shop:"mobile_phone"},addTags:{brand:"Chatr","brand:wikidata":"Q5087766","brand:wikipedia":"en:Chatr",name:"Chatr",shop:"mobile_phone"},countryCodes:["ca"],terms:["Chatr Mobile"],matchScore:2,suggestion:true},"shop/mobile_phone/Claro":{name:"Claro",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/ClaroCol/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1770208",shop:"mobile_phone"},addTags:{brand:"Claro","brand:wikidata":"Q1770208","brand:wikipedia":"en:Claro (company)",name:"Claro",shop:"mobile_phone"},terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Cricket Wireless":{name:"Cricket Wireless",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/cricketwireless/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5184987",shop:"mobile_phone"},addTags:{brand:"Cricket Wireless","brand:wikidata":"Q5184987","brand:wikipedia":"en:Cricket Wireless",name:"Cricket Wireless",shop:"mobile_phone"},countryCodes:["us"],terms:["cricket"],matchScore:2,suggestion:true},"shop/mobile_phone/Digicel":{name:"Digicel",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/digicel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2117506",shop:"mobile_phone"},addTags:{brand:"Digicel","brand:wikidata":"Q2117506","brand:wikipedia":"en:Digicel",name:"Digicel",shop:"mobile_phone"},terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/EE":{name:"EE",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/ee/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5322942",shop:"mobile_phone"},addTags:{brand:"EE","brand:wikidata":"Q5322942","brand:wikipedia":"en:EE Limited",name:"EE",shop:"mobile_phone"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Entel":{name:"Entel",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/entelsa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q450420",shop:"mobile_phone"},addTags:{brand:"Entel","brand:wikidata":"Q450420","brand:wikipedia":"en:Entel (Chile)",name:"Entel",shop:"mobile_phone"},countryCodes:["cl","pe"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Fido":{name:"Fido",icon:"fas-mobile-alt",geometry:["point","area"],tags:{"brand:wikidata":"Q3071471",shop:"mobile_phone"},addTags:{brand:"Fido","brand:wikidata":"Q3071471","brand:wikipedia":"en:Fido Solutions",name:"Fido",shop:"mobile_phone"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Freedom Mobile":{name:"Freedom Mobile",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/frdmmobile/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8023931",shop:"mobile_phone"},addTags:{brand:"Freedom Mobile","brand:wikidata":"Q8023931","brand:wikipedia":"en:Freedom Mobile",name:"Freedom Mobile",shop:"mobile_phone"},countryCodes:["ca"],terms:["freedom","wind mobile"],matchScore:2,suggestion:true},"shop/mobile_phone/Koodo":{name:"Koodo",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/Koodo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6430529",shop:"mobile_phone"},addTags:{brand:"Koodo","brand:wikidata":"Q6430529","brand:wikipedia":"en:Koodo Mobile",name:"Koodo",shop:"mobile_phone"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/MTN":{name:"MTN",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/MTN/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1813361",shop:"mobile_phone"},addTags:{brand:"MTN","brand:wikidata":"Q1813361","brand:wikipedia":"en:MTN Group",name:"MTN",shop:"mobile_phone"},terms:["agence mtn"],matchScore:2,suggestion:true},"shop/mobile_phone/MetroPCS":{name:"MetroPCS",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/MetroByTMobile/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1925685",shop:"mobile_phone"},addTags:{brand:"MetroPCS","brand:wikidata":"Q1925685","brand:wikipedia":"en:Metro by T-Mobile",name:"MetroPCS",shop:"mobile_phone"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Mobilcom Debitel":{name:"Mobilcom Debitel",icon:"fas-mobile-alt",geometry:["point","area"],tags:{"brand:wikidata":"Q344744",shop:"mobile_phone"},addTags:{brand:"Mobilcom Debitel","brand:wikidata":"Q344744","brand:wikipedia":"en:Debitel",name:"Mobilcom Debitel",shop:"mobile_phone"},countryCodes:["de","ir"],terms:["debitel"],matchScore:2,suggestion:true},"shop/mobile_phone/Moov":{name:"Moov",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/moovcotedivoire/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3323637",shop:"mobile_phone"},addTags:{brand:"Moov","brand:wikidata":"Q3323637","brand:wikipedia":"fr:Moov Côte d'Ivoire",name:"Moov",shop:"mobile_phone"},countryCodes:["ci","tg"],terms:["agence moov"],matchScore:2,suggestion:true},"shop/mobile_phone/Movistar":{name:"Movistar",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/movistar.es/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q967735",shop:"mobile_phone"},addTags:{brand:"Movistar","brand:wikidata":"Q967735","brand:wikipedia":"en:Movistar",name:"Movistar",shop:"mobile_phone"},terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/O2":{name:"O2",icon:"fas-mobile-alt",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FO2.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1759255",shop:"mobile_phone"},addTags:{brand:"O2","brand:wikidata":"Q1759255","brand:wikipedia":"en:Telefónica Europe",name:"O2",shop:"mobile_phone"},countryCodes:["cz","de","gb","ie","sk"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Optie1":{name:"Optie1",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/Optie1/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62393564",shop:"mobile_phone"},addTags:{brand:"Optie1","brand:wikidata":"Q62393564",name:"Optie1",shop:"mobile_phone"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Orange":{name:"Orange",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/orange/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1431486",shop:"mobile_phone"},addTags:{brand:"Orange","brand:wikidata":"Q1431486","brand:wikipedia":"fr:Orange (entreprise)",name:"Orange",shop:"mobile_phone"},terms:["agence orange"],matchScore:2,suggestion:true},"shop/mobile_phone/Personal":{name:"Personal",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/personalargentina/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10933021",shop:"mobile_phone"},addTags:{brand:"Personal","brand:wikidata":"Q10933021","brand:wikipedia":"es:Personal (Argentina)",name:"Personal",shop:"mobile_phone"},countryCodes:["ar","py"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Phone House":{name:"Phone House",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/carphonewarehouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q118046",shop:"mobile_phone"},addTags:{brand:"Phone House","brand:wikidata":"Q118046","brand:wikipedia":"en:Carphone Warehouse",name:"Phone House",shop:"mobile_phone"},countryCodes:["de","es","fr","nl","pt"],terms:["the phone house"],matchScore:2,suggestion:true},"shop/mobile_phone/Play":{name:"Play",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/Play/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7202998",shop:"mobile_phone"},addTags:{brand:"Play","brand:wikidata":"Q7202998","brand:wikipedia":"pl:Play (sieć telefonii komórkowej)",name:"Play",shop:"mobile_phone"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Plus":{name:"Plus",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/plus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7205598",shop:"mobile_phone"},addTags:{brand:"Plus","brand:wikidata":"Q7205598","brand:wikipedia":"pl:Plus (sieć telefonii komórkowej)",name:"Plus",shop:"mobile_phone"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Rogers":{name:"Rogers",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/Rogers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3439663",shop:"mobile_phone"},addTags:{brand:"Rogers","brand:wikidata":"Q3439663","brand:wikipedia":"en:Rogers Wireless",name:"Rogers",shop:"mobile_phone"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/SFR":{name:"SFR",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/SFR/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q218765",shop:"mobile_phone"},addTags:{brand:"SFR","brand:wikidata":"Q218765","brand:wikipedia":"en:SFR",name:"SFR",shop:"mobile_phone"},countryCodes:["fr","lu"],terms:["espace sfr"],matchScore:2,suggestion:true},"shop/mobile_phone/Sprint":{name:"Sprint",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/sprint/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q301965",shop:"mobile_phone"},addTags:{brand:"Sprint","brand:wikidata":"Q301965","brand:wikipedia":"en:Sprint Corporation",name:"Sprint",shop:"mobile_phone"},terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/T-Mobile":{name:"T-Mobile",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/TMobile/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q327634",shop:"mobile_phone"},addTags:{brand:"T-Mobile","brand:wikidata":"Q327634","brand:wikipedia":"en:T-Mobile",name:"T-Mobile",shop:"mobile_phone"},terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/TIM":{name:"TIM",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/TimOfficialPage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q144617",shop:"mobile_phone"},addTags:{brand:"TIM","brand:wikidata":"Q144617","brand:wikipedia":"en:Telecom Italia",name:"TIM",shop:"mobile_phone"},countryCodes:["br","it"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Tbooth Wireless":{name:"Tbooth Wireless",icon:"fas-mobile-alt",imageURL:"https://pbs.twimg.com/profile_images/910995518846672896/-zraayKF_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7690597",shop:"mobile_phone"},addTags:{brand:"Tbooth Wireless","brand:wikidata":"Q7690597",name:"Tbooth Wireless",shop:"mobile_phone"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Telcel":{name:"Telcel",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/Telcel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3517255",shop:"mobile_phone"},addTags:{brand:"Telcel","brand:wikidata":"Q3517255","brand:wikipedia":"en:Telcel",name:"Telcel",shop:"mobile_phone"},countryCodes:["cu","mx"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Tele2":{name:"Tele2",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/WeAreTele2/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q309865",shop:"mobile_phone"},addTags:{brand:"Tele2","brand:wikidata":"Q309865","brand:wikipedia":"en:Tele2",name:"Tele2",shop:"mobile_phone"},terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Telekom":{name:"Telekom",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/deutschetelekom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9396",shop:"mobile_phone"},addTags:{brand:"Telekom","brand:wikidata":"Q9396","brand:wikipedia":"en:Deutsche Telekom",name:"Telekom",shop:"mobile_phone"},countryCodes:["de","hu","ro","si","sk"],terms:["telekom shop"],matchScore:2,suggestion:true},"shop/mobile_phone/Telenor":{name:"Telenor",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/telenorgroup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q845632",shop:"mobile_phone"},addTags:{brand:"Telenor","brand:wikidata":"Q845632","brand:wikipedia":"en:Telenor",name:"Telenor",shop:"mobile_phone"},terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Telstra":{name:"Telstra",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/Telstra/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q721162",shop:"mobile_phone"},addTags:{brand:"Telstra","brand:wikidata":"Q721162","brand:wikipedia":"en:Telstra",name:"Telstra",shop:"mobile_phone"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Telus":{name:"Telus",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/telus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q165858",shop:"mobile_phone"},addTags:{brand:"Telus","brand:wikidata":"Q165858","brand:wikipedia":"en:Telus",name:"Telus",shop:"mobile_phone"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Turkcell":{name:"Turkcell",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/Turkcell/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q283852",shop:"mobile_phone"},addTags:{brand:"Turkcell","brand:wikidata":"Q283852","brand:wikipedia":"en:Turkcell",name:"Turkcell",shop:"mobile_phone"},countryCodes:["cy","tr"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/U.S. Cellular":{name:"U.S. Cellular",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/USCellular/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2466256",shop:"mobile_phone"},addTags:{brand:"U.S. Cellular","brand:wikidata":"Q2466256","brand:wikipedia":"en:U.S. Cellular",name:"U.S. Cellular",shop:"mobile_phone"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Verizon Wireless":{name:"Verizon Wireless",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/verizon/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q919641",shop:"mobile_phone"},addTags:{brand:"Verizon Wireless","brand:wikidata":"Q919641","brand:wikipedia":"en:Verizon Wireless",name:"Verizon Wireless",shop:"mobile_phone"},countryCodes:["us"],terms:["verizon"],matchScore:2,suggestion:true},"shop/mobile_phone/Vidéotron":{name:"Vidéotron",icon:"fas-mobile-alt",imageURL:"https://pbs.twimg.com/profile_images/885158241101127683/Fy8FCpmg_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q2396830",shop:"mobile_phone"},addTags:{brand:"Vidéotron","brand:wikidata":"Q2396830","brand:wikipedia":"en:Vidéotron",name:"Vidéotron",shop:"mobile_phone"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Virgin Mobile (Canada)":{name:"Virgin Mobile (Canada)",icon:"fas-mobile-alt",imageURL:"https://pbs.twimg.com/profile_images/764098127641149440/uYi5SNMU_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q3560641",shop:"mobile_phone"},addTags:{brand:"Virgin Mobile","brand:wikidata":"Q3560641","brand:wikipedia":"en:Virgin Mobile Canada",name:"Virgin Mobile",shop:"mobile_phone"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Vodafone":{name:"Vodafone",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/vodafoneUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q122141",shop:"mobile_phone"},addTags:{brand:"Vodafone","brand:wikidata":"Q122141","brand:wikipedia":"en:Vodafone",name:"Vodafone",shop:"mobile_phone"},terms:["vodafone shop"],matchScore:2,suggestion:true},"shop/mobile_phone/WIFI_ETECSA":{name:"WIFI_ETECSA",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/etecsa.cu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q490323",shop:"mobile_phone"},addTags:{brand:"WIFI_ETECSA","brand:wikidata":"Q490323","brand:wikipedia":"es:Empresa de Telecomunicaciones de Cuba",name:"WIFI_ETECSA",shop:"mobile_phone"},countryCodes:["cu"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/WOW! Mobile Boutique":{name:"WOW! Mobile Boutique",icon:"fas-mobile-alt",imageURL:"https://pbs.twimg.com/profile_images/860473723475906561/A2bVMfab_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q64847598",shop:"mobile_phone"},addTags:{brand:"WOW! Mobile Boutique","brand:wikidata":"Q64847598",name:"WOW! Mobile Boutique",shop:"mobile_phone"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Wind":{name:"Wind",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/Wind/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q650467",shop:"mobile_phone"},addTags:{brand:"Wind","brand:wikidata":"Q650467","brand:wikipedia":"en:WIND (Italy)",name:"Wind",shop:"mobile_phone"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/WirelessWave":{name:"WirelessWave",icon:"fas-mobile-alt",imageURL:"https://pbs.twimg.com/profile_images/565650686931529728/xv5f4DIL_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q8026815",shop:"mobile_phone"},addTags:{brand:"WirelessWave","brand:wikidata":"Q8026815",name:"WirelessWave",shop:"mobile_phone"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Yoigo":{name:"Yoigo",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/Yoigo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2630989",shop:"mobile_phone"},addTags:{brand:"Yoigo","brand:wikidata":"Q2630989","brand:wikipedia":"en:Yoigo",name:"Yoigo",shop:"mobile_phone"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/auショップ":{name:"auショップ",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/aubyKDDI/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q307110",shop:"mobile_phone"},addTags:{brand:"au","brand:ja":"au","brand:wikidata":"Q307110","brand:wikipedia":"ja:Au (携帯電話)",name:"auショップ","name:en":"au","name:ja":"auショップ",shop:"mobile_phone"},countryCodes:["jp"],terms:["au"],matchScore:2,suggestion:true},"shop/mobile_phone/Алло":{name:"Алло",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/allo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18683057",shop:"mobile_phone"},addTags:{brand:"Алло","brand:wikidata":"Q18683057","brand:wikipedia":"uk:Алло (торгова мережа)",name:"Алло",shop:"mobile_phone"},countryCodes:["md","ua"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Билайн":{name:"Билайн",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/Beelinerus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q402880",shop:"mobile_phone"},addTags:{brand:"Билайн","brand:en":"Beeline","brand:wikidata":"Q402880","brand:wikipedia":"en:Beeline (brand)",name:"Билайн","name:en":"Beeline",shop:"mobile_phone"},countryCodes:["kg","kz","ru"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Евросеть":{name:"Евросеть",icon:"fas-mobile-alt",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FEuroset.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q65310",shop:"mobile_phone"},addTags:{brand:"Евросеть","brand:en":"Euroset","brand:wikidata":"Q65310","brand:wikipedia":"en:Euroset",name:"Евросеть","name:en":"Euroset",shop:"mobile_phone"},countryCodes:["by","kz","ru","ua"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Київстар":{name:"Київстар",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/kyivstar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2288463",shop:"mobile_phone"},addTags:{brand:"Київстар","brand:en":"Kyivstar","brand:wikidata":"Q2288463","brand:wikipedia":"en:Kyivstar",name:"Київстар","name:en":"Kyivstar",shop:"mobile_phone"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/МТС":{name:"МТС",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/mts/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1368919",shop:"mobile_phone"},addTags:{brand:"МТС","brand:en":"MTS","brand:wikidata":"Q1368919","brand:wikipedia":"en:MTS (network provider)",name:"МТС","name:en":"MTS",shop:"mobile_phone"},countryCodes:["by","ru","ua"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Мегафон":{name:"Мегафон",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/MegaFon.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1720713",shop:"mobile_phone"},addTags:{brand:"Мегафон","brand:en":"MegaFon","brand:wikidata":"Q1720713","brand:wikipedia":"en:MegaFon",name:"Мегафон","name:en":"MegaFon",shop:"mobile_phone"},countryCodes:["ru","tj"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Связной":{name:"Связной",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/svyaznoy.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65371",shop:"mobile_phone"},addTags:{brand:"Связной","brand:en":"Svyaznoy","brand:wikidata":"Q65371","brand:wikipedia":"en:Svyaznoy",name:"Связной","name:en":"Svyaznoy",shop:"mobile_phone"},countryCodes:["by","ru","uz"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/Теле2":{name:"Теле2",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/WeAreTele2/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q309865",shop:"mobile_phone"},addTags:{brand:"Теле2","brand:en":"Tele2","brand:wikidata":"Q309865","brand:wikipedia":"en:Tele2",name:"Теле2","name:en":"Tele2",shop:"mobile_phone"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/ソフトバンク":{name:"ソフトバンク",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/SoftBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7553832",shop:"mobile_phone"},addTags:{brand:"ソフトバンク","brand:en":"SoftBank Telecom","brand:ja":"ソフトバンク","brand:wikidata":"Q7553832","brand:wikipedia":"en:SoftBank Telecom",name:"ソフトバンク","name:en":"SoftBank Telecom","name:ja":"ソフトバンク",shop:"mobile_phone"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/ソフトバンクショップ":{name:"ソフトバンクショップ",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/SoftBank/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11315281",shop:"mobile_phone"},addTags:{brand:"ソフトバンクショップ","brand:en":"SoftBankShop","brand:ja":"ソフトバンクショップ","brand:wikidata":"Q11315281","brand:wikipedia":"ja:ソフトバンクショップ",name:"ソフトバンクショップ","name:en":"SoftBankShop","name:ja":"ソフトバンクショップ",shop:"mobile_phone"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/mobile_phone/ドコモショップ":{name:"ドコモショップ",icon:"fas-mobile-alt",imageURL:"https://graph.facebook.com/docomo.official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q853958",shop:"mobile_phone"},addTags:{brand:"ドコモショップ","brand:en":"DoCoMo Shop","brand:ja":"ドコモショップ","brand:wikidata":"Q853958","brand:wikipedia":"ja:NTTドコモ",name:"ドコモショップ","name:en":"DoCoMo Shop","name:ja":"ドコモショップ",shop:"mobile_phone"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/money_lender/ACE Cash Express":{name:"ACE Cash Express",icon:"maki-bank",imageURL:"https://graph.facebook.com/acecashexpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q24260962",shop:"money_lender"},addTags:{brand:"ACE Cash Express","brand:wikidata":"Q24260962",name:"ACE Cash Express",shop:"money_lender"},countryCodes:["us"],terms:["ace"],matchScore:2,suggestion:true},"shop/money_lender/Advance America":{name:"Advance America",icon:"maki-bank",imageURL:"https://graph.facebook.com/AdvanceAmerica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4686044",shop:"money_lender"},addTags:{brand:"Advance America","brand:wikidata":"Q4686044",name:"Advance America",shop:"money_lender"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/money_lender/California Check Cashing Stores":{name:"California Check Cashing Stores",icon:"maki-bank",geometry:["point","area"],tags:{"brand:wikidata":"Q64390932",shop:"money_lender"},addTags:{brand:"California Check Cashing Stores","brand:wikidata":"Q64390932",name:"California Check Cashing Stores",shop:"money_lender"},countryCodes:["us"],terms:["california check cashing"],matchScore:2,suggestion:true},"shop/money_lender/Cash Store":{name:"Cash Store",icon:"maki-bank",imageURL:"https://graph.facebook.com/cashstore/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61943411",shop:"money_lender"},addTags:{brand:"Cash Store","brand:wikidata":"Q61943411",name:"Cash Store",shop:"money_lender"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/money_lender/Check Into Cash":{name:"Check Into Cash",icon:"maki-bank",imageURL:"https://graph.facebook.com/checkintocash/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16961246",shop:"money_lender"},addTags:{brand:"Check Into Cash","brand:wikidata":"Q16961246","brand:wikipedia":"en:Check Into Cash",name:"Check Into Cash",shop:"money_lender"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/money_lender/CheckSmart":{name:"CheckSmart",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FCheckSmart%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q65640213",shop:"money_lender"},addTags:{alt_name:"Check$mart",brand:"CheckSmart","brand:wikidata":"Q65640213",name:"CheckSmart",shop:"money_lender"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/money_lender/First Virginia":{name:"First Virginia",icon:"maki-bank",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FFirst%20Virginia%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q65640051",shop:"money_lender"},addTags:{brand:"First Virginia","brand:wikidata":"Q65640051",name:"First Virginia",shop:"money_lender"},countryCodes:["us"],terms:["1st virginia"],matchScore:2,suggestion:true},"shop/money_lender/Money Mart":{name:"Money Mart",icon:"maki-bank",imageURL:"https://graph.facebook.com/moneymartusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6899166",shop:"money_lender"},addTags:{brand:"Money Mart","brand:wikidata":"Q6899166","brand:wikipedia":"en:Money Mart",name:"Money Mart",shop:"money_lender"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/motorcycle/Harley-Davidson":{name:"Harley-Davidson",icon:"fas-motorcycle",imageURL:"https://graph.facebook.com/harley-davidson/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q192814",shop:"motorcycle"},addTags:{brand:"Harley-Davidson","brand:wikidata":"Q192814","brand:wikipedia":"en:Harley-Davidson",name:"Harley-Davidson",shop:"motorcycle"},terms:[],matchScore:2,suggestion:true},"shop/motorcycle/Honda":{name:"Honda",icon:"fas-motorcycle",imageURL:"https://graph.facebook.com/HondaJP/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9584",shop:"motorcycle"},addTags:{brand:"Honda","brand:wikidata":"Q9584","brand:wikipedia":"en:Honda",name:"Honda",shop:"motorcycle"},terms:[],matchScore:2,suggestion:true},"shop/motorcycle/Kawasaki":{name:"Kawasaki",icon:"fas-motorcycle",imageURL:"https://graph.facebook.com/kawasaki/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6379855",shop:"motorcycle"},addTags:{brand:"Kawasaki","brand:wikidata":"Q6379855","brand:wikipedia":"en:Kawasaki motorcycles",name:"Kawasaki",shop:"motorcycle"},terms:[],matchScore:2,suggestion:true},"shop/motorcycle/Motortrade":{name:"Motortrade",icon:"fas-motorcycle",imageURL:"https://graph.facebook.com/MotortradePh/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q48803162",shop:"motorcycle"},addTags:{brand:"Motortrade","brand:wikidata":"Q48803162","brand:wikipedia":"en:Motortrade",name:"Motortrade",shop:"motorcycle"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"shop/motorcycle/Suzuki":{name:"Suzuki",icon:"fas-motorcycle",imageURL:"https://graph.facebook.com/SuzukiGlobalOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q181642",shop:"motorcycle"},addTags:{brand:"Suzuki","brand:wikidata":"Q181642","brand:wikipedia":"en:Suzuki",name:"Suzuki",shop:"motorcycle"},terms:[],matchScore:2,suggestion:true},"shop/motorcycle/Yamaha":{name:"Yamaha",icon:"fas-motorcycle",imageURL:"https://graph.facebook.com/yamahamotorusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q158888",shop:"motorcycle"},addTags:{brand:"Yamaha","brand:wikidata":"Q158888","brand:wikipedia":"en:Yamaha Motor Company",name:"Yamaha",shop:"motorcycle"},terms:[],matchScore:2,suggestion:true},"shop/music/FYE":{name:"FYE",icon:"fas-compact-disc",imageURL:"https://graph.facebook.com/FYE/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5424141",shop:"music"},addTags:{brand:"FYE","brand:wikidata":"Q5424141","brand:wikipedia":"en:FYE (retailer)",name:"FYE",shop:"music"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/music/HMV":{name:"HMV",icon:"fas-compact-disc",imageURL:"https://graph.facebook.com/hmv/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10854572",shop:"music"},addTags:{brand:"HMV","brand:wikidata":"Q10854572","brand:wikipedia":"en:HMV",name:"HMV",shop:"music"},countryCodes:["ca","gb"],terms:[],matchScore:2,suggestion:true},"shop/music/Sunrise Records":{name:"Sunrise Records",icon:"fas-compact-disc",imageURL:"https://pbs.twimg.com/profile_images/1058023773964824576/fkO9j6IA_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q30600373",shop:"music"},addTags:{brand:"Sunrise Records","brand:wikidata":"Q30600373","brand:wikipedia":"en:Sunrise Records (retailer)",name:"Sunrise Records",shop:"music"},countryCodes:["ca","gb"],terms:[],matchScore:2,suggestion:true},"shop/music/TSUTAYA":{name:"TSUTAYA",icon:"fas-compact-disc",imageURL:"https://graph.facebook.com/TSUTAYA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5193457",shop:"music"},addTags:{brand:"TSUTAYA","brand:wikidata":"Q5193457","brand:wikipedia":"ja:カルチュア・コンビニエンス・クラブ",name:"TSUTAYA",shop:"music"},terms:[],matchScore:2,suggestion:true},"shop/musical_instrument/Guitar Center":{name:"Guitar Center",icon:"fas-guitar",imageURL:"https://graph.facebook.com/GuitarCenter/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3622794",shop:"musical_instrument"},addTags:{brand:"Guitar Center","brand:wikidata":"Q3622794","brand:wikipedia":"en:Guitar Center",name:"Guitar Center",shop:"musical_instrument"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/musical_instrument/Long & McQuade":{name:"Long & McQuade",icon:"fas-guitar",imageURL:"https://pbs.twimg.com/profile_images/1073318422383980546/VOZePCnz_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q6672180",shop:"musical_instrument"},addTags:{brand:"Long & McQuade","brand:wikidata":"Q6672180","brand:wikipedia":"en:Long & McQuade",name:"Long & McQuade",shop:"musical_instrument"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/newsagent/Cigo":{name:"Cigo",icon:"fas-newspaper",imageURL:"https://graph.facebook.com/cigo.nl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62391977",shop:"newsagent"},addTags:{brand:"Cigo","brand:wikidata":"Q62391977",name:"Cigo",shop:"newsagent"},countryCodes:["de","nl"],terms:[],matchScore:2,suggestion:true},"shop/newsagent/Kolporter":{name:"Kolporter",icon:"fas-newspaper",imageURL:"https://graph.facebook.com/kolporterpl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6427874",shop:"kiosk"},addTags:{brand:"Kolporter","brand:wikidata":"Q6427874","brand:wikipedia":"pl:Kolporter (przedsiębiorstwo)",name:"Kolporter",shop:"kiosk"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/newsagent/Maison de la Presse":{name:"Maison de la Presse",icon:"fas-newspaper",imageURL:"https://graph.facebook.com/260230084083052/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62085960",shop:"newsagent"},addTags:{brand:"Maison de la Presse","brand:wikidata":"Q62085960",name:"Maison de la Presse",shop:"newsagent"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/newsagent/Martin's":{name:"Martin's",icon:"fas-newspaper",imageURL:"https://graph.facebook.com/YourMcColls/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16997477",shop:"newsagent"},addTags:{brand:"Martin's","brand:wikidata":"Q16997477","brand:wikipedia":"en:McColl's",name:"Martin's",shop:"newsagent"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/newsagent/Primera":{name:"Primera",icon:"fas-newspaper",imageURL:"https://graph.facebook.com/Primera.nl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2176149",shop:"newsagent"},addTags:{brand:"Primera","brand:wikidata":"Q2176149","brand:wikipedia":"nl:Primera (winkelketen)",name:"Primera",shop:"newsagent"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/newsagent/Relay":{name:"Relay",icon:"fas-newspaper",imageURL:"https://pbs.twimg.com/profile_images/1024284754911416320/NcQ5ml-K_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q3424298",shop:"newsagent"},addTags:{brand:"Relay","brand:wikidata":"Q3424298","brand:wikipedia":"en:Relay (shop)",name:"Relay",shop:"newsagent"},terms:[],matchScore:2,suggestion:true},"shop/newsagent/WHSmith":{name:"WHSmith",icon:"fas-newspaper",imageURL:"https://graph.facebook.com/WHSmithuk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1548712",shop:"newsagent"},addTags:{brand:"WHSmith","brand:wikidata":"Q1548712","brand:wikipedia":"en:WHSmith",name:"WHSmith",shop:"newsagent"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/newsagent/k kiosk":{name:"k kiosk",icon:"fas-newspaper",imageURL:"https://graph.facebook.com/kkiosk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60381703",shop:"newsagent"},addTags:{brand:"k kiosk","brand:wikidata":"Q60381703","brand:wikipedia":"it:K Kiosk",name:"k kiosk",shop:"newsagent"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"shop/newsagent/Белсоюзпечать":{name:"Белсоюзпечать",icon:"fas-newspaper",geometry:["point","area"],tags:{"brand:wikidata":"Q4430611",shop:"newsagent"},addTags:{brand:"Белсоюзпечать","brand:wikidata":"Q4430611","brand:wikipedia":"ru:Союзпечать",name:"Белсоюзпечать",shop:"newsagent"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"shop/newsagent/Витебскоблсоюзпечать":{name:"Витебскоблсоюзпечать",icon:"fas-newspaper",geometry:["point","area"],tags:{"brand:wikidata":"Q4430611",shop:"newsagent"},addTags:{brand:"Витебскоблсоюзпечать","brand:wikidata":"Q4430611","brand:wikipedia":"ru:Союзпечать",name:"Витебскоблсоюзпечать",shop:"newsagent"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"shop/newsagent/Первая полоса":{name:"Первая полоса",icon:"fas-newspaper",geometry:["point","area"],tags:{"brand:wikidata":"Q62736412",shop:"newsagent"},addTags:{brand:"Первая полоса","brand:wikidata":"Q62736412",name:"Первая полоса",shop:"newsagent"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/newsagent/Союзпечать":{name:"Союзпечать",icon:"fas-newspaper",geometry:["point","area"],tags:{"brand:wikidata":"Q4430611",shop:"newsagent"},addTags:{brand:"Союзпечать","brand:wikidata":"Q4430611","brand:wikipedia":"ru:Союзпечать",name:"Союзпечать",shop:"newsagent"},countryCodes:["by","kz","ru","ua"],terms:[],matchScore:2,suggestion:true},"shop/newsagent/読売新聞":{name:"読売新聞",icon:"fas-newspaper",imageURL:"https://pbs.twimg.com/profile_images/1091035339232227328/elp0X_L6_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q645218",shop:"newsagent"},addTags:{brand:"読売新聞","brand:en":"Yomiuri Shimbun","brand:wikidata":"Q645218","brand:wikipedia":"en:Yomiuri Shimbun",name:"読売新聞","name:en":"Yomiuri Shimbun",shop:"newsagent"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/nutrition_supplements/GNC":{name:"GNC",icon:"maki-shop",imageURL:"https://graph.facebook.com/GNCLiveWell/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4808595",shop:"nutrition_supplements"},addTags:{brand:"GNC","brand:wikidata":"Q4808595","brand:wikipedia":"en:GNC (store)",name:"GNC",shop:"nutrition_supplements"},terms:["gnc live well"],matchScore:2,suggestion:true},"shop/nutrition_supplements/The Vitamin Shoppe":{name:"The Vitamin Shoppe",icon:"maki-shop",imageURL:"https://graph.facebook.com/THEVITAMINSHOPPE/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7772938",shop:"nutrition_supplements"},addTags:{brand:"The Vitamin Shoppe","brand:wikidata":"Q7772938","brand:wikipedia":"en:The Vitamin Shoppe",name:"The Vitamin Shoppe",shop:"nutrition_supplements"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/nutrition_supplements/Vitamin World":{name:"Vitamin World",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/1083747378878914561/lXRtQg0T_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7936979",shop:"nutrition_supplements"},addTags:{brand:"Vitamin World","brand:wikidata":"Q7936979","brand:wikipedia":"en:Vitamin World",name:"Vitamin World",shop:"nutrition_supplements"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/optician/Alain Afflelou":{name:"Alain Afflelou",icon:"maki-optician",imageURL:"https://graph.facebook.com/AlainAfflelouOptico/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2829511",shop:"optician"},addTags:{brand:"Alain Afflelou","brand:wikidata":"Q2829511","brand:wikipedia":"fr:Alain Afflelou (entreprise)",name:"Alain Afflelou",shop:"optician"},countryCodes:["be","ch","es","fr","pt"],terms:[],matchScore:2,suggestion:true},"shop/optician/America's Best Contacts & Eyeglasses":{name:"America's Best Contacts & Eyeglasses",icon:"maki-optician",imageURL:"https://graph.facebook.com/AmericasBestContactsandEyeglasses/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4742504",shop:"optician"},addTags:{brand:"America's Best Contacts & Eyeglasses","brand:wikidata":"Q4742504","brand:wikipedia":"en:America's Best Contacts & Eyeglasses",name:"America's Best Contacts & Eyeglasses",shop:"optician",short_name:"America's Best"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/optician/Apollo-Optik":{name:"Apollo-Optik",icon:"maki-optician",imageURL:"https://graph.facebook.com/ApolloOptik/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q618940",shop:"optician"},addTags:{brand:"Apollo-Optik","brand:wikidata":"Q618940","brand:wikipedia":"de:Apollo-Optik",name:"Apollo-Optik",shop:"optician",short_name:"Apollo"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/optician/Atol":{name:"Atol",icon:"maki-optician",imageURL:"https://graph.facebook.com/opticiensatol/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2869542",shop:"optician"},addTags:{brand:"Atol","brand:wikidata":"Q2869542","brand:wikipedia":"fr:Atol (opticien)",name:"Atol",shop:"optician"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/optician/Boots Opticians":{name:"Boots Opticians",icon:"maki-optician",imageURL:"https://graph.facebook.com/BootsUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4944037",shop:"optician"},addTags:{brand:"Boots Opticians","brand:wikidata":"Q4944037","brand:wikipedia":"en:Boots Opticians",name:"Boots Opticians",shop:"optician",short_name:"Boots"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/optician/Clarkson Eyecare":{name:"Clarkson Eyecare",icon:"maki-optician",geometry:["point","area"],tags:{"brand:wikidata":"Q64027001",shop:"optician"},addTags:{brand:"Clarkson Eyecare","brand:wikidata":"Q64027001",healthcare:"optometrist",name:"Clarkson Eyecare",shop:"optician",short_name:"Clarkson"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/optician/Cohen's Fashion Optical":{name:"Cohen's Fashion Optical",icon:"maki-optician",imageURL:"https://graph.facebook.com/cohensoptical/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5141313",shop:"optician"},addTags:{brand:"Cohen's Fashion Optical","brand:wikidata":"Q5141313","brand:wikipedia":"en:Cohen's Fashion Optical",healthcare:"optometrist",name:"Cohen's Fashion Optical",shop:"optician",short_name:"Cohen's"},countryCodes:["us"],terms:["cohen's optical"],matchScore:2,suggestion:true},"shop/optician/Eye Wish":{name:"Eye Wish",icon:"maki-optician",imageURL:"https://graph.facebook.com/EyeWishOpticiens/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62391641",shop:"optician"},addTags:{brand:"Eye Wish","brand:wikidata":"Q62391641",name:"Eye Wish",shop:"optician"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/optician/Fielmann":{name:"Fielmann",icon:"maki-optician",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2F160506%20Fielmann%20LogoNEU%20pos%20wiki.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q457822",shop:"optician"},addTags:{brand:"Fielmann","brand:wikidata":"Q457822","brand:wikipedia":"en:Fielmann",name:"Fielmann",shop:"optician"},terms:[],matchScore:2,suggestion:true},"shop/optician/General Óptica":{name:"General Óptica",icon:"maki-optician",imageURL:"https://graph.facebook.com/generaloptica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62391672",shop:"optician"},addTags:{brand:"General Óptica","brand:wikidata":"Q62391672",name:"General Óptica",shop:"optician"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/optician/Grand Optical":{name:"Grand Optical",icon:"maki-optician",imageURL:"https://graph.facebook.com/grandoptical/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3113677",shop:"optician"},addTags:{brand:"Grand Optical","brand:wikidata":"Q3113677","brand:wikipedia":"fr:Grand Optical",name:"Grand Optical",shop:"optician"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/optician/Générale d'Optique":{name:"Générale d'Optique",icon:"maki-optician",imageURL:"https://graph.facebook.com/generaledoptique/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62391701",shop:"optician"},addTags:{brand:"Générale d'Optique","brand:wikidata":"Q62391701",name:"Générale d'Optique",shop:"optician"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/optician/Hakim Optical":{name:"Hakim Optical",icon:"maki-optician",imageURL:"https://graph.facebook.com/HakimOptical/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28232761",shop:"optician"},addTags:{brand:"Hakim Optical","brand:wikidata":"Q28232761","brand:wikipedia":"en:Hakim Optical",name:"Hakim Optical",shop:"optician"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/optician/Hans Anders":{name:"Hans Anders",icon:"maki-optician",imageURL:"https://graph.facebook.com/hansanders.nl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1884976",shop:"optician"},addTags:{brand:"Hans Anders","brand:wikidata":"Q1884976","brand:wikipedia":"nl:Hans Anders",name:"Hans Anders",shop:"optician"},countryCodes:["be","fr","nl"],terms:[],matchScore:2,suggestion:true},"shop/optician/Instrumentarium":{name:"Instrumentarium",icon:"maki-optician",imageURL:"https://graph.facebook.com/instru.fi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11864937",shop:"optician"},addTags:{brand:"Instrumentarium","brand:wikidata":"Q11864937","brand:wikipedia":"fi:Instrumentarium",name:"Instrumentarium",shop:"optician"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/optician/Krys":{name:"Krys",icon:"maki-optician",imageURL:"https://graph.facebook.com/Krys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3119538",shop:"optician"},addTags:{brand:"Krys","brand:wikidata":"Q3119538","brand:wikipedia":"fr:Krys Group",name:"Krys",shop:"optician"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/optician/LensCrafters":{name:"LensCrafters",icon:"maki-optician",imageURL:"https://graph.facebook.com/LensCrafters/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6523209",shop:"optician"},addTags:{brand:"LensCrafters","brand:wikidata":"Q6523209","brand:wikipedia":"en:LensCrafters",name:"LensCrafters",shop:"optician"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/optician/Les Opticiens Mutualistes":{name:"Les Opticiens Mutualistes",icon:"maki-optician",imageURL:"https://graph.facebook.com/lesopticiensmutualistes.officiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18414551",shop:"optician"},addTags:{brand:"Les Opticiens Mutualistes","brand:wikidata":"Q18414551","brand:wikipedia":"fr:Les Opticiens Mutualistes",name:"Les Opticiens Mutualistes",shop:"optician"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/optician/Lissac":{name:"Lissac",icon:"maki-optician",imageURL:"https://graph.facebook.com/lissac.opticien/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63102559",shop:"optician"},addTags:{brand:"Lissac","brand:wikidata":"Q63102559",name:"Lissac",shop:"optician"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/optician/Multiópticas (Portugal)":{name:"Multiópticas (Portugal)",icon:"maki-optician",imageURL:"https://graph.facebook.com/MultiOpticasPortugal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62391722",shop:"optician"},addTags:{brand:"Multiópticas","brand:wikidata":"Q62391722",name:"Multiópticas",shop:"optician"},countryCodes:["pt"],terms:[],matchScore:2,suggestion:true},"shop/optician/Multiópticas (Spain)":{name:"Multiópticas (Spain)",icon:"maki-optician",imageURL:"https://graph.facebook.com/Multiopticas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62391719",shop:"optician"},addTags:{brand:"Multiópticas","brand:wikidata":"Q62391719",name:"Multiópticas",shop:"optician"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/optician/Oakley":{name:"Oakley",icon:"maki-optician",imageURL:"https://graph.facebook.com/Oakley/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q161906",shop:"optician"},addTags:{brand:"Oakley","brand:wikidata":"Q161906","brand:wikipedia":"en:Oakley, Inc.",name:"Oakley",shop:"optician"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/optician/Oliver Peoples":{name:"Oliver Peoples",icon:"maki-optician",imageURL:"https://graph.facebook.com/oliverpeoples/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7087746",shop:"optician"},addTags:{brand:"Oliver Peoples","brand:wikidata":"Q7087746","brand:wikipedia":"en:Oliver Peoples",name:"Oliver Peoples",shop:"optician"},terms:[],matchScore:2,suggestion:true},"shop/optician/Optic 2000":{name:"Optic 2000",icon:"maki-optician",imageURL:"https://graph.facebook.com/optic2000/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3354445",shop:"optician"},addTags:{brand:"Optic 2000","brand:wikidata":"Q3354445","brand:wikipedia":"fr:Optic 2000",name:"Optic 2000",shop:"optician"},countryCodes:["ch","fr"],terms:[],matchScore:2,suggestion:true},"shop/optician/Optical Center":{name:"Optical Center",icon:"maki-optician",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogo%20opticalcenter.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q3354448",shop:"optician"},addTags:{brand:"Optical Center","brand:wikidata":"Q3354448","brand:wikipedia":"fr:Optical Center",name:"Optical Center",shop:"optician"},terms:[],matchScore:2,suggestion:true},"shop/optician/Opticalia":{name:"Opticalia",icon:"maki-optician",imageURL:"https://graph.facebook.com/OPTICALIAGRUPO/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62082114",shop:"optician"},addTags:{brand:"Opticalia","brand:wikidata":"Q62082114",name:"Opticalia",shop:"optician"},terms:[],matchScore:2,suggestion:true},"shop/optician/Pearle Vision":{name:"Pearle Vision",icon:"maki-optician",imageURL:"https://graph.facebook.com/pearlevision/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2231148",shop:"optician"},addTags:{brand:"Pearle Vision","brand:wikidata":"Q2231148","brand:wikipedia":"en:Pearle Vision",name:"Pearle Vision",shop:"optician",short_name:"Pearle"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/optician/Silmäasema":{name:"Silmäasema",icon:"maki-optician",imageURL:"https://graph.facebook.com/silmaasema/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15994200",shop:"optician"},addTags:{brand:"Silmäasema","brand:wikidata":"Q15994200","brand:wikipedia":"fi:Silmäasema",name:"Silmäasema",shop:"optician"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/optician/Specsavers":{name:"Specsavers",icon:"maki-optician",imageURL:"https://graph.facebook.com/Specsavers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2000610",shop:"optician"},addTags:{brand:"Specsavers","brand:wikidata":"Q2000610","brand:wikipedia":"en:Specsavers",name:"Specsavers",shop:"optician"},terms:[],matchScore:2,suggestion:true},"shop/optician/Sunglass Hut":{name:"Sunglass Hut",icon:"maki-optician",imageURL:"https://graph.facebook.com/SunglassHut/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q136311",shop:"optician"},addTags:{brand:"Sunglass Hut","brand:wikidata":"Q136311","brand:wikipedia":"en:Sunglass Hut",name:"Sunglass Hut",shop:"optician"},terms:[],matchScore:2,suggestion:true},"shop/optician/Synoptik":{name:"Synoptik",icon:"maki-optician",imageURL:"https://graph.facebook.com/synoptiksverige/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10687541",shop:"optician"},addTags:{brand:"Synoptik","brand:wikidata":"Q10687541","brand:wikipedia":"sv:Synoptik",name:"Synoptik",shop:"optician"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/optician/Synsam":{name:"Synsam",icon:"maki-optician",imageURL:"https://graph.facebook.com/synsam.se/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12004589",shop:"optician"},addTags:{brand:"Synsam","brand:wikidata":"Q12004589","brand:wikipedia":"sv:Synsam",name:"Synsam",shop:"optician"},countryCodes:["fi","no","se"],terms:[],matchScore:2,suggestion:true},"shop/optician/Target Optical":{name:"Target Optical",icon:"maki-optician",geometry:["point","area"],tags:{"brand:wikidata":"Q19903688",shop:"optician"},addTags:{brand:"Target Optical","brand:wikidata":"Q19903688","brand:wikipedia":"en:Target Optical",name:"Target Optical",shop:"optician"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/optician/Vision Express":{name:"Vision Express",icon:"maki-optician",imageURL:"https://graph.facebook.com/visionexpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7936150",shop:"optician"},addTags:{brand:"Vision Express","brand:wikidata":"Q7936150","brand:wikipedia":"en:Vision Express",name:"Vision Express",shop:"optician"},terms:[],matchScore:2,suggestion:true},"shop/optician/Visionworks":{name:"Visionworks",icon:"maki-optician",imageURL:"https://graph.facebook.com/Visionworks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5422607",shop:"optician"},addTags:{brand:"Visionworks","brand:wikidata":"Q5422607","brand:wikipedia":"en:Visionworks",name:"Visionworks",shop:"optician"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/optician/Warby Parker":{name:"Warby Parker",icon:"maki-optician",imageURL:"https://graph.facebook.com/warbyparker/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7968882",shop:"optician"},addTags:{brand:"Warby Parker","brand:wikidata":"Q7968882","brand:wikipedia":"en:Warby Parker",name:"Warby Parker",shop:"optician"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/optician/แว่นท็อปเจริญ":{name:"แว่นท็อปเจริญ",icon:"maki-optician",imageURL:"https://graph.facebook.com/TopCharoenOpticalOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62391732",shop:"optician"},addTags:{brand:"แว่นท็อปเจริญ","brand:th":"แว่นท็อปเจริญ","brand:wikidata":"Q62391732",name:"แว่นท็อปเจริญ","name:th":"แว่นท็อปเจริญ",shop:"optician"},countryCodes:["th"],terms:[],matchScore:2,suggestion:true},"shop/optician/メガネスーパー":{name:"メガネスーパー",icon:"maki-optician",imageURL:"https://graph.facebook.com/meganesuper/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11343504",shop:"optician"},addTags:{brand:"メガネスーパー","brand:ja":"メガネスーパー","brand:wikidata":"Q11343504","brand:wikipedia":"ja:メガネスーパー",name:"メガネスーパー","name:en":"Meganesuper","name:ja":"メガネスーパー",shop:"optician"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/optician/寶島眼鏡":{name:"寶島眼鏡",icon:"maki-optician",imageURL:"https://graph.facebook.com/formosafans/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62391741",shop:"optician"},addTags:{brand:"寶島眼鏡","brand:wikidata":"Q62391741",name:"寶島眼鏡",shop:"optician"},countryCodes:["zh"],terms:[],matchScore:2,suggestion:true},"shop/optician/眼鏡市場":{name:"眼鏡市場",icon:"maki-optician",imageURL:"https://graph.facebook.com/meganeichiba.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11343506",shop:"optician"},addTags:{brand:"眼鏡市場","brand:en":"Megane Ichiba","brand:wikidata":"Q11343506","brand:wikipedia":"ja:メガネトップ",name:"眼鏡市場","name:en":"Megane Ichiba",shop:"optician"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/outdoor/Bass Pro Shops":{name:"Bass Pro Shops",icon:"temaki-compass",imageURL:"https://graph.facebook.com/bassproshops/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4867953",shop:"outdoor"},addTags:{brand:"Bass Pro Shops","brand:wikidata":"Q4867953","brand:wikipedia":"en:Bass Pro Shops",name:"Bass Pro Shops",shop:"outdoor"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/outdoor/Blacks":{name:"Blacks",icon:"temaki-compass",imageURL:"https://graph.facebook.com/blacksonline/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64822933",shop:"outdoor"},addTags:{brand:"Blacks","brand:wikidata":"Q64822933",name:"Blacks",shop:"outdoor"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/outdoor/Cabela's":{name:"Cabela's",icon:"temaki-compass",imageURL:"https://graph.facebook.com/Cabelas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2793714",shop:"outdoor"},addTags:{brand:"Cabela's","brand:wikidata":"Q2793714","brand:wikipedia":"en:Cabela's",name:"Cabela's",shop:"outdoor"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/outdoor/Gander Outdoors":{name:"Gander Outdoors",icon:"temaki-compass",imageURL:"https://graph.facebook.com/GanderOutdoors/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64357426",shop:"outdoor"},addTags:{brand:"Gander Outdoors","brand:wikidata":"Q64357426","brand:wikipedia":"en:Gander Outdoors",name:"Gander Outdoors",shop:"outdoor"},countryCodes:["us"],terms:["gander mountain"],matchScore:2,suggestion:true},"shop/outdoor/Jack Wolfskin":{name:"Jack Wolfskin",icon:"temaki-compass",imageURL:"https://graph.facebook.com/JACKWOLFSKINofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q536133",shop:"outdoor"},addTags:{brand:"Jack Wolfskin","brand:wikidata":"Q536133","brand:wikipedia":"en:Jack Wolfskin",name:"Jack Wolfskin",shop:"outdoor"},countryCodes:["ch","de","fr"],terms:[],matchScore:2,suggestion:true},"shop/outdoor/Kathmandu":{name:"Kathmandu",icon:"temaki-compass",imageURL:"https://graph.facebook.com/kathmandu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1736294",shop:"outdoor"},addTags:{brand:"Kathmandu","brand:wikidata":"Q1736294","brand:wikipedia":"en:Kathmandu (company)",name:"Kathmandu",shop:"outdoor"},countryCodes:["au","nz"],terms:[],matchScore:2,suggestion:true},"shop/outdoor/Millets":{name:"Millets",icon:"temaki-compass",imageURL:"https://graph.facebook.com/milletsonlinefans/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64822903",shop:"outdoor"},addTags:{brand:"Millets","brand:wikidata":"Q64822903",name:"Millets",shop:"outdoor"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/outdoor/Mountain Warehouse":{name:"Mountain Warehouse",icon:"temaki-compass",imageURL:"https://graph.facebook.com/MountainWarehouse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6925414",shop:"outdoor"},addTags:{brand:"Mountain Warehouse","brand:wikidata":"Q6925414","brand:wikipedia":"en:Mountain Warehouse",name:"Mountain Warehouse",shop:"outdoor"},countryCodes:["gb","pl"],terms:[],matchScore:2,suggestion:true},"shop/outdoor/REI":{name:"REI",icon:"temaki-compass",imageURL:"https://graph.facebook.com/9062006483/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3414933",shop:"outdoor"},addTags:{brand:"REI","brand:wikidata":"Q3414933","brand:wikipedia":"en:Recreational Equipment, Inc.",name:"REI",official_name:"Recreational Equipment, Inc.",shop:"outdoor"},countryCodes:["id","us"],terms:[],matchScore:2,suggestion:true},"shop/outdoor/Sportsman's Warehouse":{name:"Sportsman's Warehouse",icon:"temaki-compass",imageURL:"https://graph.facebook.com/sportsmanswh/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7579979",shop:"outdoor"},addTags:{brand:"Sportsman's Warehouse","brand:wikidata":"Q7579979","brand:wikipedia":"en:Sportsman's Warehouse",name:"Sportsman's Warehouse",shop:"outdoor"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/outdoor/Trespass":{name:"Trespass",icon:"temaki-compass",imageURL:"https://graph.facebook.com/trespass/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17035733",shop:"outdoor"},addTags:{brand:"Trespass","brand:wikidata":"Q17035733","brand:wikipedia":"en:Trespass (clothing)",name:"Trespass",shop:"outdoor"},countryCodes:["fr","gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/outpost/Wildberries":{name:"Wildberries",icon:"maki-shop",imageURL:"https://graph.facebook.com/wildberries.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q24933714",shop:"outpost"},addTags:{brand:"Wildberries","brand:wikidata":"Q24933714","brand:wikipedia":"ru:Wildberries",name:"Wildberries",shop:"outpost"},countryCodes:["by","ru"],terms:[],matchScore:2,suggestion:true},"shop/paint/Benjamin Moore":{name:"Benjamin Moore",icon:"fas-paint-roller",imageURL:"https://graph.facebook.com/benjaminmoorepaints/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4889038",shop:"paint"},addTags:{brand:"Benjamin Moore","brand:wikidata":"Q4889038","brand:wikipedia":"en:Benjamin Moore & Co.",name:"Benjamin Moore",shop:"paint"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/paint/Comex":{name:"Comex",icon:"fas-paint-roller",imageURL:"https://graph.facebook.com/Comex/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5151654",shop:"paint"},addTags:{brand:"Comex","brand:wikidata":"Q5151654","brand:wikipedia":"en:Comex Group",name:"Comex",shop:"paint"},terms:[],matchScore:2,suggestion:true},"shop/paint/Jotun":{name:"Jotun",icon:"fas-paint-roller",imageURL:"https://graph.facebook.com/JotunGroup/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1778870",shop:"paint"},addTags:{brand:"Jotun","brand:wikidata":"Q1778870","brand:wikipedia":"en:Jotun (company)",name:"Jotun",shop:"paint"},terms:[],matchScore:2,suggestion:true},"shop/paint/National Paints":{name:"National Paints",icon:"fas-paint-roller",imageURL:"https://graph.facebook.com/NationalPaints/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62073521",shop:"paint"},addTags:{brand:"National Paints","brand:wikidata":"Q62073521",name:"National Paints",shop:"paint"},countryCodes:["ae","qa"],terms:[],matchScore:2,suggestion:true},"shop/paint/Sherwin-Williams":{name:"Sherwin-Williams",icon:"fas-paint-roller",imageURL:"https://graph.facebook.com/SherwinWilliamsforYourHome/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q48881",shop:"paint"},addTags:{brand:"Sherwin-Williams","brand:wikidata":"Q48881","brand:wikipedia":"en:Sherwin-Williams",name:"Sherwin-Williams",shop:"paint"},terms:["sherwin williams paint store","sherwin williams paints"],matchScore:2,suggestion:true},"shop/party/Party City":{name:"Party City",icon:"temaki-balloon",imageURL:"https://graph.facebook.com/PartyCity/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7140896",shop:"party"},addTags:{brand:"Party City","brand:wikidata":"Q7140896","brand:wikipedia":"en:Party City",name:"Party City",shop:"party"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/pastry/Cookies by Design":{name:"Cookies by Design",icon:"maki-bakery",imageURL:"https://graph.facebook.com/CookiesbyDesignHQ/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5167112",shop:"pastry"},addTags:{brand:"Cookies by Design","brand:wikidata":"Q5167112",craft:"bakery",name:"Cookies by Design",shop:"pastry"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/pastry/Smallcakes":{name:"Smallcakes",icon:"maki-bakery",imageURL:"https://graph.facebook.com/SmallcakesKC/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62384749",shop:"pastry"},addTags:{brand:"Smallcakes","brand:wikidata":"Q62384749",name:"Smallcakes",shop:"pastry"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/pawnbroker/Cash Converters":{name:"Cash Converters",icon:"maki-shop",imageURL:"https://graph.facebook.com/CashConvertersUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5048645",shop:"pawnbroker"},addTags:{brand:"Cash Converters","brand:wikidata":"Q5048645","brand:wikipedia":"en:Cash Converters",name:"Cash Converters",shop:"pawnbroker"},terms:[],matchScore:2,suggestion:true},"shop/pawnbroker/Cebuana Lhuillier":{name:"Cebuana Lhuillier",icon:"maki-shop",imageURL:"https://graph.facebook.com/cebuanalhuillierpawnshop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17064661",shop:"pawnbroker"},addTags:{brand:"Cebuana Lhuillier","brand:wikidata":"Q17064661","brand:wikipedia":"en:Cebuana Lhuillier",name:"Cebuana Lhuillier",shop:"pawnbroker",short_name:"Cebuana"},countryCodes:["ph"],terms:["agencia cebuana","m lhuillier"],matchScore:2,suggestion:true},"shop/pawnbroker/Palawan Pawnshop":{name:"Palawan Pawnshop",icon:"maki-shop",imageURL:"https://graph.facebook.com/palawan.pawnshop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62391488",shop:"pawnbroker"},addTags:{brand:"Palawan Pawnshop","brand:wikidata":"Q62391488",name:"Palawan Pawnshop",shop:"pawnbroker"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"shop/pawnbroker/Villarica Pawnshop":{name:"Villarica Pawnshop",icon:"maki-shop",imageURL:"https://graph.facebook.com/155765647803482/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62391438",shop:"pawnbroker"},addTags:{brand:"Villarica Pawnshop","brand:wikidata":"Q62391438",name:"Villarica Pawnshop",shop:"pawnbroker"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"shop/perfumery/Douglas":{name:"Douglas",icon:"maki-shop",imageURL:"https://graph.facebook.com/DouglasDeutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2052213",shop:"perfumery"},addTags:{brand:"Douglas","brand:wikidata":"Q2052213","brand:wikipedia":"de:Parfümerie Douglas",name:"Douglas",shop:"perfumery"},countryCodes:["at","ch","de","es","it","nl","pl"],terms:[],matchScore:2,suggestion:true},"shop/perfumery/FAnn":{name:"FAnn",icon:"maki-shop",imageURL:"https://graph.facebook.com/FAnn.cz/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62391353",shop:"perfumery"},addTags:{brand:"FAnn","brand:wikidata":"Q62391353",name:"FAnn",shop:"perfumery"},countryCodes:["cz","sk"],terms:[],matchScore:2,suggestion:true},"shop/perfumery/ICI PARIS XL":{name:"ICI PARIS XL",icon:"maki-shop",imageURL:"https://graph.facebook.com/iciparisxlbe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q769749",shop:"perfumery"},addTags:{brand:"ICI PARIS XL","brand:wikidata":"Q769749","brand:wikipedia":"en:ICI Paris XL",name:"ICI PARIS XL",shop:"perfumery"},countryCodes:["be","lu","nl"],terms:[],matchScore:2,suggestion:true},"shop/perfumery/Marionnaud":{name:"Marionnaud",icon:"maki-shop",imageURL:"https://graph.facebook.com/Marionnaud.France/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1129073",shop:"perfumery"},addTags:{brand:"Marionnaud","brand:wikidata":"Q1129073","brand:wikipedia":"fr:Marionnaud",name:"Marionnaud",shop:"perfumery"},countryCodes:["at","ch","es","fr","it","sk"],terms:[],matchScore:2,suggestion:true},"shop/perfumery/O Boticário":{name:"O Boticário",icon:"maki-shop",imageURL:"https://graph.facebook.com/oboticario/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7073219",shop:"perfumery"},addTags:{brand:"O Boticário","brand:wikidata":"Q7073219","brand:wikipedia":"en:O Boticário",name:"O Boticário",shop:"perfumery"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"shop/pet/Das Futterhaus":{name:"Das Futterhaus",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/futterhaus.deutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1167914",shop:"pet"},addTags:{brand:"Das Futterhaus","brand:wikidata":"Q1167914","brand:wikipedia":"de:Das Futterhaus",name:"Das Futterhaus",shop:"pet"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/pet/Faunatar":{name:"Faunatar",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/Faunatar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11859415",shop:"pet"},addTags:{brand:"Faunatar","brand:wikidata":"Q11859415","brand:wikipedia":"fi:Faunatar",name:"Faunatar",shop:"pet"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/pet/Fressnapf":{name:"Fressnapf",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/Fressnapf/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q875796",shop:"pet"},addTags:{brand:"Fressnapf","brand:wikidata":"Q875796","brand:wikipedia":"en:Fressnapf",name:"Fressnapf",shop:"pet"},countryCodes:["at","ch","de","hu","lu"],terms:[],matchScore:2,suggestion:true},"shop/pet/Global Pet Foods":{name:"Global Pet Foods",icon:"maki-dog-park",imageURL:"https://pbs.twimg.com/profile_images/879147372143661056/QsqRYNnI_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q57985699",shop:"pet"},addTags:{brand:"Global Pet Foods","brand:wikidata":"Q57985699",name:"Global Pet Foods",shop:"pet"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/pet/Maxi Zoo":{name:"Maxi Zoo",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/Fressnapf/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q875796",shop:"pet"},addTags:{brand:"Maxi Zoo","brand:wikidata":"Q875796","brand:wikipedia":"en:Fressnapf",name:"Maxi Zoo",shop:"pet"},countryCodes:["be","ch","dk","fr","ie","it","pl"],terms:[],matchScore:2,suggestion:true},"shop/pet/Mud Bay":{name:"Mud Bay",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/mudbay/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q30324179",shop:"pet"},addTags:{brand:"Mud Bay","brand:wikidata":"Q30324179","brand:wikipedia":"en:Mud Bay pet store",name:"Mud Bay",shop:"pet"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/pet/Musti ja Mirri":{name:"Musti ja Mirri",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/mustijamirri/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11883558",shop:"pet"},addTags:{brand:"Musti ja Mirri","brand:wikidata":"Q11883558","brand:wikipedia":"fi:Musti ja Mirri",name:"Musti ja Mirri",shop:"pet"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/pet/Pet Food Express":{name:"Pet Food Express",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/petfoodexpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7171541",shop:"pet"},addTags:{brand:"Pet Food Express","brand:wikidata":"Q7171541","brand:wikipedia":"en:Pet Food Express",name:"Pet Food Express",shop:"pet"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/pet/Pet Supermarket":{name:"Pet Supermarket",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/PetSupermarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61968363",shop:"pet"},addTags:{brand:"Pet Supermarket","brand:wikidata":"Q61968363",name:"Pet Supermarket",shop:"pet"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/pet/Pet Supplies Plus":{name:"Pet Supplies Plus",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/petsuppliesplus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7171563",shop:"pet"},addTags:{brand:"Pet Supplies Plus","brand:wikidata":"Q7171563","brand:wikipedia":"en:Pet Supplies Plus",name:"Pet Supplies Plus",shop:"pet"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/pet/Pet Valu":{name:"Pet Valu",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/PetValuUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q58009635",shop:"pet"},addTags:{brand:"Pet Valu","brand:wikidata":"Q58009635",name:"Pet Valu",shop:"pet"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/pet/PetSmart":{name:"PetSmart",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/PetSmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3307147",shop:"pet"},addTags:{brand:"PetSmart","brand:wikidata":"Q3307147","brand:wikipedia":"en:PetSmart",name:"PetSmart",shop:"pet"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/pet/Petco":{name:"Petco",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/Petco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7171798",shop:"pet"},addTags:{brand:"Petco","brand:wikidata":"Q7171798","brand:wikipedia":"en:Petco",name:"Petco",shop:"pet"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/pet/Petland":{name:"Petland",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/PetlandUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17111474",shop:"pet"},addTags:{brand:"Petland","brand:wikidata":"Q17111474","brand:wikipedia":"en:Petland",name:"Petland",shop:"pet"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/pet/Petland Discounts":{name:"Petland Discounts",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/petlanddiscount/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7178463",shop:"pet"},addTags:{brand:"Petland Discounts","brand:wikidata":"Q7178463","brand:wikipedia":"en:Petland Discounts",name:"Petland Discounts",shop:"pet"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/pet/Pets at Home":{name:"Pets at Home",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/petsathomeUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7179258",shop:"pet"},addTags:{brand:"Pets at Home","brand:wikidata":"Q7179258","brand:wikipedia":"en:Pets at Home",name:"Pets at Home",shop:"pet"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/pet/Unleashed":{name:"Unleashed",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/Petco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62122874",shop:"pet"},addTags:{alt_name:"Unleashed by Petco",brand:"Unleashed","brand:wikidata":"Q62122874",name:"Unleashed",shop:"pet"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/pet/Wild Birds Unlimited":{name:"Wild Birds Unlimited",icon:"maki-dog-park",imageURL:"https://pbs.twimg.com/profile_images/466209950788636672/DHjpTthh_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q8000542",shop:"pet"},addTags:{brand:"Wild Birds Unlimited","brand:wikidata":"Q8000542","brand:wikipedia":"en:Wild Birds Unlimited",name:"Wild Birds Unlimited",shop:"pet"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/pet/Бетховен":{name:"Бетховен",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/zoobethowenclub/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62390798",shop:"pet"},addTags:{brand:"Бетховен","brand:wikidata":"Q62390798",name:"Бетховен",shop:"pet"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/pet/Четыре лапы":{name:"Четыре лапы",icon:"maki-dog-park",imageURL:"https://graph.facebook.com/4laps/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62390783",shop:"pet"},addTags:{brand:"Четыре лапы","brand:wikidata":"Q62390783",name:"Четыре лапы",shop:"pet"},countryCodes:["kz","ru"],terms:[],matchScore:2,suggestion:true},"shop/photo/Kodak Express":{name:"Kodak Express",icon:"fas-camera-retro",imageURL:"https://graph.facebook.com/kodakexpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6425126",shop:"photo"},addTags:{brand:"Kodak Express","brand:wikidata":"Q6425126","brand:wikipedia":"en:Kodak Express",name:"Kodak Express",shop:"photo"},terms:["kodak"],matchScore:2,suggestion:true},"shop/printer_ink/Cartridge World":{name:"Cartridge World",icon:"maki-shop",imageURL:"https://graph.facebook.com/CartridgeWorldNewsUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5047439",shop:"printer_ink"},addTags:{brand:"Cartridge World","brand:wikidata":"Q5047439",name:"Cartridge World",shop:"printer_ink"},terms:[],matchScore:2,suggestion:true},"shop/second_hand/Value Village":{name:"Value Village",icon:"maki-shop",imageURL:"https://graph.facebook.com/savers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7428188",shop:"second_hand"},addTags:{brand:"Value Village","brand:wikidata":"Q7428188","brand:wikipedia":"en:Savers",name:"Value Village",shop:"second_hand"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/ABCマート":{name:"ABCマート",icon:"maki-shoe",imageURL:"https://graph.facebook.com/172547912801644/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11188787",shop:"shoes"},addTags:{brand:"ABCマート","brand:ja":"ABCマート","brand:wikidata":"Q11188787","brand:wikipedia":"en:ABC-Mart",name:"ABCマート","name:ja":"ABCマート",shop:"shoes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Aldo":{name:"Aldo",icon:"maki-shoe",imageURL:"https://graph.facebook.com/ALDO/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2832297",shop:"shoes"},addTags:{brand:"Aldo","brand:wikidata":"Q2832297","brand:wikipedia":"en:Aldo Group",name:"Aldo",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Allen Edmonds":{name:"Allen Edmonds",icon:"maki-shoe",imageURL:"https://graph.facebook.com/allenedmonds/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4731627",shop:"shoes"},addTags:{brand:"Allen Edmonds","brand:wikidata":"Q4731627","brand:wikipedia":"en:Allen Edmonds",name:"Allen Edmonds",shop:"shoes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/André":{name:"André",icon:"maki-shoe",imageURL:"https://graph.facebook.com/AndreChaussures/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2847114",shop:"shoes"},addTags:{brand:"André","brand:wikidata":"Q2847114","brand:wikipedia":"fr:André (chaussure)",name:"André",shop:"shoes"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Bata":{name:"Bata",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Bata/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q688082",shop:"shoes"},addTags:{brand:"Bata","brand:wikidata":"Q688082","brand:wikipedia":"en:Bata (company)",name:"Bata",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Besson Chaussures":{name:"Besson Chaussures",icon:"maki-shoe",imageURL:"https://graph.facebook.com/besson.chaussures/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2899930",shop:"shoes"},addTags:{brand:"Besson Chaussures","brand:wikidata":"Q2899930","brand:wikipedia":"fr:Besson Chaussures",name:"Besson Chaussures",shop:"shoes"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Birkenstock":{name:"Birkenstock",icon:"maki-shoe",imageURL:"https://graph.facebook.com/birkenstock/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q648458",shop:"shoes"},addTags:{brand:"Birkenstock","brand:wikidata":"Q648458","brand:wikipedia":"en:Birkenstock",name:"Birkenstock",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Brantano":{name:"Brantano",icon:"maki-shoe",imageURL:"https://graph.facebook.com/brantano.belgie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4957616",shop:"shoes"},addTags:{brand:"Brantano","brand:wikidata":"Q4957616","brand:wikipedia":"en:Brantano Footwear",name:"Brantano",shop:"shoes"},countryCodes:["be","gb","lu"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Browns":{name:"Browns",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Brownsshoes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16954153",shop:"shoes"},addTags:{brand:"Browns","brand:wikidata":"Q16954153","brand:wikipedia":"en:Browns Shoes",name:"Browns",shop:"shoes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/shoes/CCC":{name:"CCC",icon:"maki-shoe",imageURL:"https://graph.facebook.com/CCC/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11788344",shop:"shoes"},addTags:{brand:"CCC","brand:wikidata":"Q11788344","brand:wikipedia":"de:CCC (Unternehmen)",name:"CCC",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Call It Spring":{name:"Call It Spring",icon:"maki-shoe",imageURL:"https://graph.facebook.com/CallItSpring/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7580363",shop:"shoes"},addTags:{brand:"Call It Spring","brand:wikidata":"Q7580363","brand:wikipedia":"en:Call It Spring",name:"Call It Spring",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Camper":{name:"Camper",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Camper/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1030922",shop:"shoes"},addTags:{brand:"Camper","brand:wikidata":"Q1030922","brand:wikipedia":"en:Camper (company)",name:"Camper",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Chaussea":{name:"Chaussea",icon:"maki-shoe",imageURL:"https://graph.facebook.com/chaussea.fr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62082044",shop:"shoes"},addTags:{brand:"Chaussea","brand:wikidata":"Q62082044",name:"Chaussea",shop:"shoes"},countryCodes:["be","es","fr","lu"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Clarks":{name:"Clarks",icon:"maki-shoe",imageURL:"https://graph.facebook.com/ClarksShoesUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1095857",shop:"shoes"},addTags:{brand:"Clarks","brand:wikidata":"Q1095857","brand:wikipedia":"en:C. & J. Clark",name:"Clarks",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Cole Haan":{name:"Cole Haan",icon:"maki-shoe",imageURL:"https://graph.facebook.com/colehaan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4356504",shop:"shoes"},addTags:{brand:"Cole Haan","brand:wikidata":"Q4356504","brand:wikipedia":"en:Cole Haan",name:"Cole Haan",shop:"shoes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Converse":{name:"Converse",icon:"maki-shoe",imageURL:"https://graph.facebook.com/converse/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q319515",shop:"shoes"},addTags:{brand:"Converse","brand:wikidata":"Q319515","brand:wikipedia":"en:Converse (shoe company)",name:"Converse",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Crocs":{name:"Crocs",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Crocs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q926699",shop:"shoes"},addTags:{brand:"Crocs","brand:wikidata":"Q926699","brand:wikipedia":"en:Crocs",name:"Crocs",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/DSW":{name:"DSW",icon:"maki-shoe",imageURL:"https://graph.facebook.com/designerbrands/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5206207",shop:"shoes"},addTags:{brand:"DSW","brand:wikidata":"Q5206207","brand:wikipedia":"en:Designer Brands",name:"DSW",shop:"shoes"},countryCodes:["ca","us"],terms:["designer shoe warehouse","dsw shoes"],matchScore:2,suggestion:true},"shop/shoes/Deichmann":{name:"Deichmann",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Deichmann/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q664543",shop:"shoes"},addTags:{brand:"Deichmann","brand:wikidata":"Q664543","brand:wikipedia":"en:Deichmann SE",name:"Deichmann",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Din sko":{name:"Din sko",icon:"maki-shoe",imageURL:"https://graph.facebook.com/dinsko/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10472869",shop:"shoes"},addTags:{brand:"Din sko","brand:wikidata":"Q10472869","brand:wikipedia":"sv:Din sko",name:"Din sko",shop:"shoes"},countryCodes:["no","se"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Dosenbach":{name:"Dosenbach",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Dosenbach.CH/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2677329",shop:"shoes"},addTags:{brand:"Dosenbach","brand:wikidata":"Q2677329","brand:wikipedia":"de:Dosenbach-Ochsner",name:"Dosenbach",shop:"shoes"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Dune London":{name:"Dune London",icon:"maki-shoe",imageURL:"https://graph.facebook.com/DuneLondon/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65557112",shop:"shoes"},addTags:{brand:"Dune London","brand:wikidata":"Q65557112",name:"Dune London",shop:"shoes",short_name:"Dune"},countryCodes:["ch","de","fr","gb","nl"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Ecco":{name:"Ecco",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Ecco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1280255",shop:"shoes"},addTags:{brand:"Ecco","brand:wikidata":"Q1280255","brand:wikipedia":"en:ECCO",name:"Ecco",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/FLO":{name:"FLO",icon:"maki-shoe",imageURL:"https://graph.facebook.com/FLOShoesGlobal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61994802",shop:"shoes"},addTags:{brand:"FLO","brand:wikidata":"Q61994802",name:"FLO",shop:"shoes"},countryCodes:["al","tr"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Famous Footwear":{name:"Famous Footwear",icon:"maki-shoe",imageURL:"https://graph.facebook.com/famousfootwear/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5433457",shop:"shoes"},addTags:{brand:"Famous Footwear","brand:wikidata":"Q5433457","brand:wikipedia":"en:Famous Footwear",name:"Famous Footwear",shop:"shoes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Foot Locker":{name:"Foot Locker",icon:"maki-shoe",imageURL:"https://graph.facebook.com/footlocker/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63335",shop:"shoes"},addTags:{brand:"Foot Locker","brand:wikidata":"Q63335","brand:wikipedia":"en:Foot Locker",name:"Foot Locker",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/G.H. Bass & Co.":{name:"G.H. Bass & Co.",icon:"maki-shoe",imageURL:"https://graph.facebook.com/G.H.Bass/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16993893",shop:"shoes"},addTags:{brand:"G.H. Bass & Co.","brand:wikidata":"Q16993893","brand:wikipedia":"en:G.H. Bass & Co.",name:"G.H. Bass & Co.",shop:"shoes"},countryCodes:["gb","us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Gabor":{name:"Gabor",icon:"maki-shoe",imageURL:"https://graph.facebook.com/gaborshoesag/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1488760",shop:"shoes"},addTags:{brand:"Gabor","brand:wikidata":"Q1488760","brand:wikipedia":"de:Gabor Shoes",name:"Gabor",shop:"shoes"},countryCodes:["de","it"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Geox":{name:"Geox",icon:"maki-shoe",imageURL:"https://graph.facebook.com/GEOX/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q588001",shop:"shoes"},addTags:{brand:"Geox","brand:wikidata":"Q588001","brand:wikipedia":"en:Geox",name:"Geox",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Görtz":{name:"Görtz",icon:"maki-shoe",imageURL:"https://graph.facebook.com/goertz/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1559593",shop:"shoes"},addTags:{brand:"Görtz","brand:wikidata":"Q1559593","brand:wikipedia":"de:Ludwig Görtz",name:"Görtz",shop:"shoes"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Humanic":{name:"Humanic",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Humanic/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1636668",shop:"shoes"},addTags:{brand:"Humanic","brand:wikidata":"Q1636668","brand:wikipedia":"en:Humanic",name:"Humanic",shop:"shoes"},countryCodes:["at","cz","de","hu","ro","sk"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Hush Puppies":{name:"Hush Puppies",icon:"maki-shoe",imageURL:"https://graph.facebook.com/hushpuppiesglobal/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1828588",shop:"shoes"},addTags:{brand:"Hush Puppies","brand:wikidata":"Q1828588","brand:wikipedia":"en:Hush Puppies",name:"Hush Puppies",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Johnston & Murphy":{name:"Johnston & Murphy",icon:"maki-shoe",imageURL:"https://graph.facebook.com/johnstonmurphy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6268615",shop:"shoes"},addTags:{brand:"Johnston & Murphy","brand:wikidata":"Q6268615","brand:wikipedia":"en:Johnston & Murphy",name:"Johnston & Murphy",shop:"shoes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Jones Bootmaker":{name:"Jones Bootmaker",icon:"maki-shoe",imageURL:"https://graph.facebook.com/JonesBootmaker/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6275139",shop:"shoes"},addTags:{brand:"Jones Bootmaker","brand:wikidata":"Q6275139",name:"Jones Bootmaker",shop:"shoes",short_name:"Jones"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Journeys":{name:"Journeys",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Journeys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61994838",shop:"shoes"},addTags:{brand:"Journeys","brand:wikidata":"Q61994838",name:"Journeys",shop:"shoes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Kari":{name:"Kari",icon:"maki-shoe",imageURL:"https://graph.facebook.com/shopkari/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q47155680",shop:"shoes"},addTags:{brand:"Kari","brand:wikidata":"Q47155680","brand:wikipedia":"ru:Kari (компания)",name:"Kari",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Kids Foot Locker":{name:"Kids Foot Locker",icon:"maki-shoe",imageURL:"https://graph.facebook.com/footlocker/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63335",shop:"shoes"},addTags:{brand:"Foot Locker","brand:wikidata":"Q63335","brand:wikipedia":"en:Foot Locker",name:"Kids Foot Locker",shop:"shoes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/La Halle aux Chaussures":{name:"La Halle aux Chaussures",icon:"maki-shoe",imageURL:"https://graph.facebook.com/lahalle.com/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62390731",shop:"shoes"},addTags:{brand:"La Halle aux Chaussures","brand:wikidata":"Q62390731",name:"La Halle aux Chaussures",shop:"shoes"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Lady Foot Locker":{name:"Lady Foot Locker",icon:"maki-shoe",imageURL:"https://graph.facebook.com/footlocker/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63335",shop:"shoes"},addTags:{brand:"Foot Locker","brand:wikidata":"Q63335","brand:wikipedia":"en:Foot Locker",name:"Lady Foot Locker",shop:"shoes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Mephisto":{name:"Mephisto",icon:"maki-shoe",imageURL:"https://graph.facebook.com/mephisto.usa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q822975",shop:"shoes"},addTags:{brand:"Mephisto","brand:wikidata":"Q822975","brand:wikipedia":"fr:Mephisto (chaussure)",name:"Mephisto",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Merrell":{name:"Merrell",icon:"maki-shoe",imageURL:"https://graph.facebook.com/merrell/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1921997",shop:"shoes"},addTags:{brand:"Merrell","brand:wikidata":"Q1921997","brand:wikipedia":"en:Merrell (company)",name:"Merrell",shop:"shoes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Minelli":{name:"Minelli",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Minelli/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61994831",shop:"shoes"},addTags:{brand:"Minelli","brand:wikidata":"Q61994831",name:"Minelli",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Naturalizer":{name:"Naturalizer",icon:"maki-shoe",imageURL:"https://graph.facebook.com/naturalizer/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65012038",shop:"shoes"},addTags:{brand:"Naturalizer","brand:wikidata":"Q65012038",name:"Naturalizer",shop:"shoes"},countryCodes:["ca","cn","gu","us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/New Balance":{name:"New Balance",icon:"maki-shoe",imageURL:"https://graph.facebook.com/newbalanceusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q742988",shop:"shoes"},addTags:{brand:"New Balance","brand:wikidata":"Q742988","brand:wikipedia":"en:New Balance",name:"New Balance",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Office":{name:"Office",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Officeshoes1/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7079121",shop:"shoes"},addTags:{brand:"Office","brand:wikidata":"Q7079121","brand:wikipedia":"en:Office Holdings",name:"Office",shop:"shoes"},countryCodes:["de","gb","ie","ro"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Payless ShoeSource":{name:"Payless ShoeSource",icon:"maki-shoe",imageURL:"https://graph.facebook.com/payless/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7156755",shop:"shoes"},addTags:{brand:"Payless ShoeSource","brand:wikidata":"Q7156755","brand:wikipedia":"en:Payless ShoeSource",name:"Payless ShoeSource",shop:"shoes"},terms:["payless"],matchScore:2,suggestion:true},"shop/shoes/Quick Schuh":{name:"Quick Schuh",icon:"maki-shoe",imageURL:"https://graph.facebook.com/quick.schuh/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2123069",shop:"shoes"},addTags:{brand:"Quick Schuh","brand:wikidata":"Q2123069","brand:wikipedia":"de:Quick Schuh",name:"Quick Schuh",shop:"shoes"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Rack Room Shoes":{name:"Rack Room Shoes",icon:"maki-shoe",imageURL:"https://graph.facebook.com/myrackroomshoes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17109937",shop:"shoes"},addTags:{brand:"Rack Room Shoes","brand:wikidata":"Q17109937","brand:wikipedia":"en:Rack Room Shoes",name:"Rack Room Shoes",shop:"shoes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Red Wing":{name:"Red Wing",icon:"maki-shoe",imageURL:"https://graph.facebook.com/RedWingShoes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q934096",shop:"shoes"},addTags:{brand:"Red Wing","brand:wikidata":"Q934096","brand:wikipedia":"en:Red Wing Shoes",name:"Red Wing",shop:"shoes"},countryCodes:["de","gb","nl","us"],terms:["red wing shoes"],matchScore:2,suggestion:true},"shop/shoes/Reno":{name:"Reno",icon:"maki-shoe",imageURL:"https://graph.facebook.com/RENO/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2144204",shop:"shoes"},addTags:{brand:"Reno","brand:wikidata":"Q2144204","brand:wikipedia":"de:Reno (Schuhhandel)",name:"Reno",shop:"shoes"},countryCodes:["at","ch","de","hu","sk"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Rieker":{name:"Rieker",icon:"maki-shoe",imageURL:"https://graph.facebook.com/riekerofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2152193",shop:"shoes"},addTags:{brand:"Rieker","brand:wikidata":"Q2152193","brand:wikipedia":"en:Rieker Shoes",name:"Rieker",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Rockport":{name:"Rockport",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Rockport/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4048384",shop:"shoes"},addTags:{brand:"Rockport","brand:wikidata":"Q4048384","brand:wikipedia":"en:Rockport (company)",name:"Rockport",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Salamander":{name:"Salamander",icon:"maki-shoe",imageURL:"https://graph.facebook.com/SalamanderCzech/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q878354",shop:"shoes"},addTags:{brand:"Salamander","brand:wikidata":"Q878354","brand:wikipedia":"de:Salamander (Schuhe)",name:"Salamander",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/San Marina":{name:"San Marina",icon:"maki-shoe",imageURL:"https://graph.facebook.com/sanmarina/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3471558",shop:"shoes"},addTags:{brand:"San Marina","brand:wikidata":"Q3471558","brand:wikipedia":"fr:San Marina",name:"San Marina",shop:"shoes"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Scapino":{name:"Scapino",icon:"maki-shoe",imageURL:"https://graph.facebook.com/ScapinoNL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2298792",shop:"shoes"},addTags:{brand:"Scapino","brand:wikidata":"Q2298792","brand:wikipedia":"nl:Scapino (winkelketen)",name:"Scapino",shop:"shoes"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Schuh":{name:"Schuh",icon:"maki-shoe",imageURL:"https://graph.facebook.com/schuhshoes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7432952",shop:"shoes"},addTags:{brand:"Schuh","brand:wikidata":"Q7432952","brand:wikipedia":"en:Schuh",name:"Schuh",shop:"shoes"},countryCodes:["de","gb","gg","ie"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Shoe Carnival":{name:"Shoe Carnival",icon:"maki-shoe",imageURL:"https://graph.facebook.com/ShoeCarnival/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7500007",shop:"shoes"},addTags:{brand:"Shoe Carnival","brand:wikidata":"Q7500007","brand:wikipedia":"en:Shoe Carnival",name:"Shoe Carnival",shop:"shoes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Shoe Zone":{name:"Shoe Zone",icon:"maki-shoe",imageURL:"https://graph.facebook.com/shoezone/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7500016",shop:"shoes"},addTags:{brand:"Shoe Zone","brand:wikidata":"Q7500016","brand:wikipedia":"en:Shoe Zone",name:"Shoe Zone",shop:"shoes"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Siemes Schuhcenter":{name:"Siemes Schuhcenter",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Schuhcenter.de/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2800720",shop:"shoes"},addTags:{brand:"Siemes Schuhcenter","brand:wikidata":"Q2800720","brand:wikipedia":"de:Siemes (Unternehmen)",name:"Siemes Schuhcenter",shop:"shoes"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Skechers":{name:"Skechers",icon:"maki-shoe",imageURL:"https://graph.facebook.com/SKECHERS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2945643",shop:"shoes"},addTags:{brand:"Skechers","brand:wikidata":"Q2945643","brand:wikipedia":"en:Skechers",name:"Skechers",shop:"shoes"},terms:["sketchers"],matchScore:2,suggestion:true},"shop/shoes/Soft Moc":{name:"Soft Moc",icon:"maki-shoe",imageURL:"https://graph.facebook.com/softmocshoes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65012391",shop:"shoes"},addTags:{brand:"Soft Moc","brand:wikidata":"Q65012391",name:"Soft Moc",shop:"shoes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Sperry":{name:"Sperry",icon:"maki-shoe",imageURL:"https://graph.facebook.com/sperry/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7576421",shop:"shoes"},addTags:{brand:"Sperry","brand:wikidata":"Q7576421","brand:wikipedia":"en:Sperry Top-Sider",name:"Sperry",shop:"shoes"},countryCodes:["us"],terms:["sperry top sider"],matchScore:2,suggestion:true},"shop/shoes/Steve Madden":{name:"Steve Madden",icon:"maki-shoe",imageURL:"https://graph.facebook.com/SteveMaddenShoes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25352034",shop:"shoes"},addTags:{brand:"Steve Madden","brand:wikidata":"Q25352034","brand:wikipedia":"en:Steve Madden (company)",name:"Steve Madden",shop:"shoes"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Stride Rite":{name:"Stride Rite",icon:"maki-shoe",imageURL:"https://graph.facebook.com/striderite/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2356171",shop:"shoes"},addTags:{brand:"Stride Rite","brand:wikidata":"Q2356171","brand:wikipedia":"en:Stride Rite Corporation",name:"Stride Rite",shop:"shoes"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Tamaris":{name:"Tamaris",icon:"maki-shoe",imageURL:"https://graph.facebook.com/tamarisinternational/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61994827",shop:"shoes"},addTags:{brand:"Tamaris","brand:wikidata":"Q61994827",name:"Tamaris",shop:"shoes"},countryCodes:["at","be","de","fr","nl"],terms:[],matchScore:2,suggestion:true},"shop/shoes/The Shoe Company":{name:"The Shoe Company",icon:"maki-shoe",imageURL:"https://graph.facebook.com/theshoeco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7763892",shop:"shoes"},addTags:{brand:"The Shoe Company","brand:wikidata":"Q7763892","brand:wikipedia":"en:The Shoe Company",name:"The Shoe Company",shop:"shoes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/shoes/UGG":{name:"UGG",icon:"maki-shoe",imageURL:"https://graph.facebook.com/UGG/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1138480",shop:"shoes"},addTags:{brand:"UGG","brand:wikidata":"Q1138480","brand:wikipedia":"en:UGG (brand)",name:"UGG",shop:"shoes"},countryCodes:["au","us"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Vans":{name:"Vans",icon:"maki-shoe",imageURL:"https://graph.facebook.com/VANS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1135366",shop:"shoes"},addTags:{brand:"Vans","brand:wikidata":"Q1135366","brand:wikipedia":"en:Vans",name:"Vans",shop:"shoes"},terms:[],matchScore:2,suggestion:true},"shop/shoes/Walking on a Cloud":{name:"Walking on a Cloud",icon:"maki-shoe",imageURL:"https://graph.facebook.com/walkingonacloud/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q65012662",shop:"shoes"},addTags:{brand:"Walking on a Cloud","brand:wikidata":"Q65012662",name:"Walking on a Cloud",shop:"shoes"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/shoes/vanHaren":{name:"vanHaren",icon:"maki-shoe",imageURL:"https://graph.facebook.com/vanharenschoenen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62390668",shop:"shoes"},addTags:{brand:"vanHaren","brand:wikidata":"Q62390668",name:"vanHaren",shop:"shoes"},countryCodes:["be","nl"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Éram":{name:"Éram",icon:"maki-shoe",imageURL:"https://graph.facebook.com/eram.fr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16684192",shop:"shoes"},addTags:{brand:"Éram","brand:wikidata":"Q16684192","brand:wikipedia":"fr:Éram",name:"Éram",shop:"shoes"},countryCodes:["be","fr"],terms:[],matchScore:2,suggestion:true},"shop/shoes/ЦентрОбувь":{name:"ЦентрОбувь",icon:"maki-shoe",imageURL:"https://graph.facebook.com/Centrobuv/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4504072",shop:"shoes"},addTags:{brand:"ЦентрОбувь","brand:wikidata":"Q4504072","brand:wikipedia":"ru:ЦентрОбувь",name:"ЦентрОбувь",shop:"shoes"},countryCodes:["by","ru","ua"],terms:[],matchScore:2,suggestion:true},"shop/shoes/Юничел":{name:"Юничел",icon:"maki-shoe",imageURL:"https://graph.facebook.com/unichel.shoes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62390569",shop:"shoes"},addTags:{brand:"Юничел","brand:wikidata":"Q62390569",name:"Юничел",shop:"shoes"},countryCodes:["kz","ru"],terms:[],matchScore:2,suggestion:true},"shop/shoes/つるや":{name:"つるや",icon:"maki-shoe",imageURL:"https://graph.facebook.com/tsuruya.jp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11272578",shop:"shoes"},addTags:{brand:"つるや","brand:en":"Tsuruya","brand:ja":"つるや","brand:wikidata":"Q11272578","brand:wikipedia":"ja:つるや (靴屋)",name:"つるや","name:en":"Tsuruya","name:ja":"つるや",shop:"shoes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/shoes/東京靴流通センター":{name:"東京靴流通センター",icon:"maki-shoe",imageURL:"https://graph.facebook.com/chiyodafanpage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11318515",shop:"shoes"},addTags:{brand:"東京靴流通センター","brand:en":"Tokyo Shoes Retailing Center","brand:ja":"東京靴流通センター","brand:wikidata":"Q11318515","brand:wikipedia":"ja:チヨダ",name:"東京靴流通センター","name:en":"Tokyo Shoes Retailing Center","name:ja":"東京靴流通センター",shop:"shoes"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/sports/Academy Sports + Outdoors":{name:"Academy Sports + Outdoors",icon:"fas-futbol",imageURL:"https://graph.facebook.com/Academy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4671380",shop:"sports"},addTags:{brand:"Academy Sports + Outdoors","brand:wikidata":"Q4671380","brand:wikipedia":"en:Academy Sports + Outdoors",name:"Academy Sports + Outdoors",shop:"sports"},countryCodes:["us"],terms:["academy","academy sports and outdoors"],matchScore:2,suggestion:true},"shop/sports/Adidas":{name:"Adidas",icon:"fas-futbol",imageURL:"https://graph.facebook.com/adidasUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3895",shop:"sports"},addTags:{brand:"Adidas","brand:wikidata":"Q3895","brand:wikipedia":"en:Adidas",name:"Adidas",shop:"sports"},terms:[],matchScore:2,suggestion:true},"shop/sports/Aktiesport":{name:"Aktiesport",icon:"fas-futbol",imageURL:"https://graph.facebook.com/aktiesport/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57546889",shop:"sports"},addTags:{brand:"Aktiesport","brand:wikidata":"Q57546889",name:"Aktiesport",shop:"sports"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/sports/American Golf":{name:"American Golf",icon:"fas-futbol",imageURL:"https://graph.facebook.com/americangolf/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62657494",shop:"sports"},addTags:{brand:"American Golf","brand:wikidata":"Q62657494",name:"American Golf",shop:"sports",sport:"golf"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/sports/Big 5 Sporting Goods":{name:"Big 5 Sporting Goods",icon:"fas-futbol",imageURL:"https://graph.facebook.com/Big5SportingGoods/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4904902",shop:"sports"},addTags:{brand:"Big 5 Sporting Goods","brand:wikidata":"Q4904902","brand:wikipedia":"en:Big 5 Sporting Goods",name:"Big 5 Sporting Goods",shop:"sports"},countryCodes:["us"],terms:["big 5"],matchScore:2,suggestion:true},"shop/sports/Centauro":{name:"Centauro",icon:"fas-futbol",imageURL:"https://graph.facebook.com/centauroesporte/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28679561",shop:"sports"},addTags:{brand:"Centauro","brand:wikidata":"Q28679561","brand:wikipedia":"pt:Lojas Centauro",name:"Centauro",shop:"sports"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"shop/sports/Decathlon":{name:"Decathlon",icon:"fas-futbol",imageURL:"https://graph.facebook.com/DecathlonUSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q509349",shop:"sports"},addTags:{brand:"Decathlon","brand:wikidata":"Q509349","brand:wikipedia":"en:Decathlon Group",name:"Decathlon",shop:"sports"},terms:[],matchScore:2,suggestion:true},"shop/sports/Dick's Sporting Goods":{name:"Dick's Sporting Goods",icon:"fas-futbol",imageURL:"https://graph.facebook.com/dickssportinggoods/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5272601",shop:"sports"},addTags:{brand:"Dick's Sporting Goods","brand:wikidata":"Q5272601","brand:wikipedia":"en:Dick's Sporting Goods",name:"Dick's Sporting Goods",shop:"sports"},countryCodes:["us"],terms:["dicks"],matchScore:2,suggestion:true},"shop/sports/Finish Line":{name:"Finish Line",icon:"fas-futbol",imageURL:"https://graph.facebook.com/finishline/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5450341",shop:"sports"},addTags:{brand:"Finish Line","brand:wikidata":"Q5450341","brand:wikipedia":"en:Finish Line, Inc.",name:"Finish Line",shop:"sports"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/sports/Hervis":{name:"Hervis",icon:"fas-futbol",imageURL:"https://graph.facebook.com/hervissports.at/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1614816",shop:"sports"},addTags:{brand:"Hervis","brand:wikidata":"Q1614816","brand:wikipedia":"de:Hervis",name:"Hervis",shop:"sports"},countryCodes:["at","cz","de","hr","hu","ro","si"],terms:["hervis sport","hervis sports"],matchScore:2,suggestion:true},"shop/sports/Hibbett Sports":{name:"Hibbett Sports",icon:"fas-futbol",imageURL:"https://graph.facebook.com/HibbettSports/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5750671",shop:"sports"},addTags:{brand:"Hibbett Sports","brand:wikidata":"Q5750671","brand:wikipedia":"en:Hibbett Sports",name:"Hibbett Sports",shop:"sports"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/sports/Intersport":{name:"Intersport",icon:"fas-futbol",imageURL:"https://graph.facebook.com/intersportAT/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q666888",shop:"sports"},addTags:{brand:"Intersport","brand:wikidata":"Q666888","brand:wikipedia":"en:Intersport",name:"Intersport",shop:"sports"},terms:[],matchScore:2,suggestion:true},"shop/sports/JD Sports":{name:"JD Sports",icon:"fas-futbol",imageURL:"https://graph.facebook.com/JDSportsOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6108019",shop:"sports"},addTags:{brand:"JD Sports","brand:wikidata":"Q6108019","brand:wikipedia":"en:JD Sports",name:"JD Sports",shop:"sports"},countryCodes:["de","es","fr","gb","ie","nl"],terms:["JD"],matchScore:2,suggestion:true},"shop/sports/Marathon Sports":{name:"Marathon Sports",icon:"fas-futbol",imageURL:"https://graph.facebook.com/marathonsports/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3027516",shop:"sports"},addTags:{brand:"Marathon Sports","brand:wikidata":"Q3027516","brand:wikipedia":"es:Marathon Sports",name:"Marathon Sports",shop:"sports"},countryCodes:["bo","ec","pe"],terms:[],matchScore:2,suggestion:true},"shop/sports/Martes Sport":{name:"Martes Sport",icon:"fas-futbol",imageURL:"https://graph.facebook.com/sklepmartes/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62073490",shop:"sports"},addTags:{brand:"Martes Sport","brand:wikidata":"Q62073490",name:"Martes Sport",shop:"sports"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/sports/Modell's Sporting Goods":{name:"Modell's Sporting Goods",icon:"fas-futbol",imageURL:"https://graph.facebook.com/modells/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3317844",shop:"sports"},addTags:{brand:"Modell's Sporting Goods","brand:wikidata":"Q3317844","brand:wikipedia":"en:Modell's Sporting Goods",name:"Modell's Sporting Goods",shop:"sports"},countryCodes:["us"],terms:["modells"],matchScore:2,suggestion:true},"shop/sports/Peloton":{name:"Peloton",icon:"fas-futbol",imageURL:"https://graph.facebook.com/onepeloton/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q56276186",shop:"sports"},addTags:{brand:"Peloton","brand:wikidata":"Q56276186","brand:wikipedia":"en:Peloton (company)",name:"Peloton",shop:"sports"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"shop/sports/Play It Again Sports":{name:"Play It Again Sports",icon:"fas-futbol",imageURL:"https://graph.facebook.com/playitagainsports/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7203029",shop:"sports"},addTags:{brand:"Play It Again Sports","brand:wikidata":"Q7203029","brand:wikipedia":"en:Play It Again Sports",name:"Play It Again Sports",shop:"sports"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/sports/Rebel":{name:"Rebel",icon:"fas-futbol",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FRebel%20sport%20logo%202012.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q18636397",shop:"sports"},addTags:{brand:"Rebel","brand:wikidata":"Q18636397","brand:wikipedia":"en:Rebel (company)",name:"Rebel",shop:"sports"},countryCodes:["au","nz"],terms:[],matchScore:2,suggestion:true},"shop/sports/Sport 2000":{name:"Sport 2000",icon:"fas-futbol",imageURL:"https://graph.facebook.com/SPORT2000France/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q262394",shop:"sports"},addTags:{brand:"Sport 2000","brand:wikidata":"Q262394","brand:wikipedia":"de:Sport 2000",name:"Sport 2000",shop:"sports"},countryCodes:["at","de","fr","nl"],terms:[],matchScore:2,suggestion:true},"shop/sports/Sport Chek":{name:"Sport Chek",icon:"fas-futbol",imageURL:"https://pbs.twimg.com/profile_images/1072276948317986817/J6YF-QLZ_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q3494037",shop:"sports"},addTags:{brand:"Sport Chek","brand:wikidata":"Q3494037","brand:wikipedia":"en:Sport Chek",name:"Sport Chek",shop:"sports"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/sports/Sporting Life":{name:"Sporting Life",icon:"fas-futbol",imageURL:"https://graph.facebook.com/SportingLifeCan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7579583",shop:"sports"},addTags:{brand:"Sporting Life","brand:wikidata":"Q7579583","brand:wikipedia":"en:Sporting Life (retailer)",name:"Sporting Life",shop:"sports"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/sports/Sportisimo":{name:"Sportisimo",icon:"fas-futbol",imageURL:"https://graph.facebook.com/1463426373966592/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q54974273",shop:"sports"},addTags:{brand:"Sportisimo","brand:wikidata":"Q54974273",name:"Sportisimo",shop:"sports"},countryCodes:["cz","sk"],terms:[],matchScore:2,suggestion:true},"shop/sports/Sports Authority":{name:"Sports Authority",icon:"fas-futbol",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FSports%20Authority%20logo2011.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q7579688",shop:"sports"},addTags:{brand:"Sports Authority","brand:wikidata":"Q7579688","brand:wikipedia":"en:Sports Authority",name:"Sports Authority",shop:"sports"},terms:[],matchScore:2,suggestion:true},"shop/sports/Sports Direct":{name:"Sports Direct",icon:"fas-futbol",imageURL:"https://graph.facebook.com/SportsDirect/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2913554",shop:"sports"},addTags:{brand:"Sports Direct","brand:wikidata":"Q2913554","brand:wikipedia":"en:Sports Direct",name:"Sports Direct",shop:"sports"},terms:["SportsDirect.com"],matchScore:2,suggestion:true},"shop/sports/Stadium":{name:"Stadium",icon:"fas-futbol",imageURL:"https://graph.facebook.com/stadium.finland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4993863",shop:"sports"},addTags:{brand:"Stadium","brand:wikidata":"Q4993863","brand:wikipedia":"sv:Stadium (detaljhandelskedja)",name:"Stadium",shop:"sports"},countryCodes:["de","dk","fi","se"],terms:[],matchScore:2,suggestion:true},"shop/sports/XXL":{name:"XXL",icon:"fas-futbol",imageURL:"https://graph.facebook.com/xxlnorge/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12010840",shop:"sports"},addTags:{brand:"XXL","brand:wikidata":"Q12010840","brand:wikipedia":"no:XXL",name:"XXL",shop:"sports"},countryCodes:["fi","no","se"],terms:[],matchScore:2,suggestion:true},"shop/sports/Спортмастер":{name:"Спортмастер",icon:"fas-futbol",imageURL:"https://graph.facebook.com/sportmaster.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4438176",shop:"sports"},addTags:{brand:"Спортмастер","brand:en":"Sportmaster","brand:ru":"Спортмастер","brand:wikidata":"Q4438176","brand:wikipedia":"ru:Спортмастер",name:"Спортмастер","name:en":"Sportmaster","name:ru":"Спортмастер",shop:"sports"},countryCodes:["by","kz","ru","ua"],terms:["спортмастер гипер"],matchScore:2,suggestion:true},"shop/stationery/Bureau Vallée":{name:"Bureau Vallée",icon:"fas-paperclip",imageURL:"https://graph.facebook.com/BureauVallee/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q18385014",shop:"stationery"},addTags:{brand:"Bureau Vallée","brand:wikidata":"Q18385014","brand:wikipedia":"fr:Bureau Vallée",name:"Bureau Vallée",shop:"stationery"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/stationery/McPaper":{name:"McPaper",icon:"fas-paperclip",geometry:["point","area"],tags:{"brand:wikidata":"Q1915329",shop:"stationery"},addTags:{brand:"McPaper","brand:wikidata":"Q1915329","brand:wikipedia":"de:McPaper",name:"McPaper",shop:"stationery"},countryCodes:["ch","de"],terms:[],matchScore:2,suggestion:true},"shop/stationery/Office Depot":{name:"Office Depot",icon:"fas-paperclip",imageURL:"https://graph.facebook.com/OfficeDepot/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1337797",shop:"stationery"},addTags:{brand:"Office Depot","brand:wikidata":"Q1337797","brand:wikipedia":"en:Office Depot",name:"Office Depot",shop:"stationery"},terms:[],matchScore:2,suggestion:true},"shop/stationery/OfficeMax":{name:"OfficeMax",icon:"fas-paperclip",imageURL:"https://graph.facebook.com/OfficeDepot/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7079111",shop:"stationery"},addTags:{brand:"OfficeMax","brand:wikidata":"Q7079111","brand:wikipedia":"en:OfficeMax",name:"OfficeMax",shop:"stationery"},countryCodes:["mx","nz","us"],terms:[],matchScore:2,suggestion:true},"shop/stationery/Officeworks":{name:"Officeworks",icon:"fas-paperclip",imageURL:"https://graph.facebook.com/officeworks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7079486",shop:"stationery"},addTags:{brand:"Officeworks","brand:wikidata":"Q7079486","brand:wikipedia":"en:Officeworks",name:"Officeworks",shop:"stationery"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/stationery/Pagro":{name:"Pagro",icon:"fas-paperclip",imageURL:"https://graph.facebook.com/pagro.at/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57550022",shop:"stationery"},addTags:{brand:"Pagro","brand:wikidata":"Q57550022",name:"Pagro",shop:"stationery"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"shop/stationery/Paper Source":{name:"Paper Source",icon:"fas-paperclip",imageURL:"https://graph.facebook.com/PaperSource/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25000269",shop:"stationery"},addTags:{brand:"Paper Source","brand:wikidata":"Q25000269","brand:wikipedia":"en:Paper Source",name:"Paper Source",shop:"stationery"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/stationery/Paperchase":{name:"Paperchase",icon:"fas-paperclip",imageURL:"https://graph.facebook.com/paperchase/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7132739",shop:"stationery"},addTags:{brand:"Paperchase","brand:wikidata":"Q7132739","brand:wikipedia":"en:Paperchase",name:"Paperchase",shop:"stationery"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/stationery/Ryman":{name:"Ryman",icon:"fas-paperclip",imageURL:"https://graph.facebook.com/ryman/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7385188",shop:"stationery"},addTags:{brand:"Ryman","brand:wikidata":"Q7385188","brand:wikipedia":"en:Ryman",name:"Ryman",shop:"stationery"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/stationery/Staples":{name:"Staples",icon:"fas-paperclip",imageURL:"https://graph.facebook.com/staples/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q785943",shop:"stationery"},addTags:{brand:"Staples","brand:wikidata":"Q785943","brand:wikipedia":"en:Staples Inc.",name:"Staples",shop:"stationery"},terms:[],matchScore:2,suggestion:true},"shop/stationery/Комус":{name:"Комус",icon:"fas-paperclip",imageURL:"https://graph.facebook.com/komusclub/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4230314",shop:"stationery"},addTags:{brand:"Комус","brand:en":"Komus","brand:wikidata":"Q4230314","brand:wikipedia":"en:Komus (company)",name:"Комус","name:en":"Komus",shop:"stationery"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/storage_rental/Extra Space Storage":{name:"Extra Space Storage",icon:"fas-warehouse",imageURL:"https://graph.facebook.com/extraspace/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5422162",shop:"storage_rental"},addTags:{brand:"Extra Space Storage","brand:wikidata":"Q5422162","brand:wikipedia":"en:Extra Space Storage",name:"Extra Space Storage",shop:"storage_rental"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/storage_rental/Public Storage":{name:"Public Storage",icon:"fas-warehouse",imageURL:"https://graph.facebook.com/PublicStorage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1156045",shop:"storage_rental"},addTags:{brand:"Public Storage","brand:wikidata":"Q1156045","brand:wikipedia":"en:Public Storage",name:"Public Storage",shop:"storage_rental"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/8 à Huit":{name:"8 à Huit",icon:"maki-grocery",imageURL:"https://graph.facebook.com/fashion8a8/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2818601",shop:"supermarket"},addTags:{brand:"8 à Huit","brand:wikidata":"Q2818601","brand:wikipedia":"fr:8 à Huit",name:"8 à Huit",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/99 Ranch Market":{name:"99 Ranch Market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/99RanchMarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4646307",shop:"supermarket"},addTags:{brand:"99 Ranch Market","brand:wikidata":"Q4646307","brand:wikipedia":"en:99 Ranch Market",cuisine:"asian",name:"99 Ranch Market","name:en":"99 Ranch Market","name:zh-Hans":"大华超级市场","name:zh-Hant":"大華超級市場",shop:"supermarket"},countryCodes:["us"],terms:["99 ranch","ranch 99"],matchScore:2,suggestion:true},"shop/supermarket/A&O":{name:"A&O",icon:"maki-grocery",imageURL:"https://graph.facebook.com/www.aeo.it/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3600279",shop:"supermarket"},addTags:{brand:"A&O","brand:wikidata":"Q3600279","brand:wikipedia":"it:A&O",name:"A&O",shop:"supermarket"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/A101":{name:"A101",icon:"maki-grocery",imageURL:"https://graph.facebook.com/a101iletisim/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6034496",shop:"supermarket"},addTags:{brand:"A101","brand:wikidata":"Q6034496","brand:wikipedia":"tr:A101",name:"A101",shop:"supermarket"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/AD Delhaize":{name:"AD Delhaize",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Delhaize/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1184173",shop:"supermarket"},addTags:{brand:"AD Delhaize","brand:wikidata":"Q1184173","brand:wikipedia":"fr:Delhaize",name:"AD Delhaize",shop:"supermarket"},countryCodes:["be","lu"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/ADEG":{name:"ADEG",icon:"maki-grocery",imageURL:"https://graph.facebook.com/mein.adeg/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q290211",shop:"supermarket"},addTags:{brand:"ADEG","brand:wikidata":"Q290211","brand:wikipedia":"de:ADEG Österreich",name:"ADEG",shop:"supermarket"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Acme":{name:"Acme",icon:"maki-grocery",imageURL:"https://graph.facebook.com/acmemarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q341975",shop:"supermarket"},addTags:{brand:"Acme","brand:wikidata":"Q341975","brand:wikipedia":"en:Acme Markets",name:"Acme",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Ahorramás":{name:"Ahorramás",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Ahorramas/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q58221883",shop:"supermarket"},addTags:{brand:"Ahorramás","brand:wikidata":"Q58221883",name:"Ahorramás",shop:"supermarket"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Albert":{name:"Albert",icon:"maki-grocery",imageURL:"https://graph.facebook.com/albertceskarepublika/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9144241",shop:"supermarket"},addTags:{brand:"Albert","brand:wikidata":"Q9144241","brand:wikipedia":"cs:Albert (obchodní řetězec)",name:"Albert",shop:"supermarket"},countryCodes:["cz"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Albert Heijn":{name:"Albert Heijn",icon:"maki-grocery",imageURL:"https://graph.facebook.com/albertheijn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1653985",shop:"supermarket"},addTags:{brand:"Albert Heijn","brand:wikidata":"Q1653985","brand:wikipedia":"nl:Albert Heijn (supermarkt)",name:"Albert Heijn",shop:"supermarket"},countryCodes:["be","nl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Albertsons":{name:"Albertsons",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Albertsons/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4712282",shop:"supermarket"},addTags:{brand:"Albertsons","brand:wikidata":"Q4712282","brand:wikipedia":"en:Albertsons",name:"Albertsons",shop:"supermarket"},countryCodes:["us"],terms:["albertsons supermarket"],matchScore:2,suggestion:true},"shop/supermarket/Aldi":{name:"Aldi",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ALDI.USA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q125054",shop:"supermarket"},addTags:{brand:"Aldi","brand:wikidata":"Q125054","brand:wikipedia":"en:Aldi",name:"Aldi",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Aldi Nord":{name:"Aldi Nord",icon:"maki-grocery",imageURL:"https://graph.facebook.com/154533341244676/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q41171373",shop:"supermarket"},addTags:{brand:"Aldi Nord","brand:wikidata":"Q41171373","brand:wikipedia":"en:Aldi",name:"Aldi Nord",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Aldi Süd":{name:"Aldi Süd",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ALDI.SUED/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q41171672",shop:"supermarket"},addTags:{brand:"Aldi Süd","brand:wikidata":"Q41171672","brand:wikipedia":"en:Aldi",name:"Aldi Süd",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Alfamart":{name:"Alfamart",icon:"maki-grocery",imageURL:"https://graph.facebook.com/alfamartku/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23745600",shop:"supermarket"},addTags:{brand:"Alfamart","brand:wikidata":"Q23745600","brand:wikipedia":"en:Alfamart",name:"Alfamart",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Alimerka":{name:"Alimerka",icon:"maki-grocery",imageURL:"https://graph.facebook.com/alimerka.es/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16482738",shop:"supermarket"},addTags:{brand:"Alimerka","brand:wikidata":"Q16482738","brand:wikipedia":"es:Alimerka",name:"Alimerka",shop:"supermarket"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Alnatura":{name:"Alnatura",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Alnatura/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q876811",shop:"supermarket"},addTags:{brand:"Alnatura","brand:wikidata":"Q876811","brand:wikipedia":"en:Alnatura",name:"Alnatura",organic:"only",shop:"supermarket"},countryCodes:["ch","de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Amigo":{name:"Amigo",icon:"maki-grocery",imageURL:"https://graph.facebook.com/amigopuertorico/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4746234",shop:"supermarket"},addTags:{alt_name:"Supermercados Amigo",brand:"Amigo","brand:wikidata":"Q4746234","brand:wikipedia":"en:Amigo Supermarkets",name:"Amigo",shop:"supermarket"},countryCodes:["us"],terms:["amigo puerto rico","amigo supermarket","supermercado amigo"],matchScore:2,suggestion:true},"shop/supermarket/Asda":{name:"Asda",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Asda/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q297410",shop:"supermarket"},addTags:{brand:"Asda","brand:wikidata":"Q297410","brand:wikipedia":"en:Asda",name:"Asda",shop:"supermarket"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Atacadão":{name:"Atacadão",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Atacadaosa.Oficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2868739",shop:"supermarket"},addTags:{brand:"Atacadão","brand:wikidata":"Q2868739","brand:wikipedia":"en:Atacadão",name:"Atacadão",shop:"supermarket"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Auchan":{name:"Auchan",icon:"maki-grocery",imageURL:"https://graph.facebook.com/auchan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q758603",shop:"supermarket"},addTags:{brand:"Auchan","brand:wikidata":"Q758603","brand:wikipedia":"en:Auchan",name:"Auchan",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/BI-LO":{name:"BI-LO",icon:"maki-grocery",imageURL:"https://graph.facebook.com/BILOSuperSaver/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4835620",shop:"supermarket"},addTags:{brand:"BI-LO","brand:wikidata":"Q4835620","brand:wikipedia":"en:BI-LO (United States)",name:"BI-LO",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/BM":{name:"BM",icon:"maki-grocery",imageURL:"https://graph.facebook.com/BMSupermercados/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62073462",shop:"supermarket"},addTags:{brand:"BM","brand:wikidata":"Q62073462",name:"BM",shop:"supermarket"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Biedronka":{name:"Biedronka",icon:"maki-grocery",imageURL:"https://graph.facebook.com/BiedronkaCodziennie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q857182",shop:"supermarket"},addTags:{brand:"Biedronka","brand:wikidata":"Q857182","brand:wikipedia":"pl:Biedronka (sieć handlowa)",name:"Biedronka",shop:"supermarket"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Big Bazaar":{name:"Big Bazaar",icon:"maki-grocery",imageURL:"https://graph.facebook.com/BigBazaar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3631008",shop:"supermarket"},addTags:{brand:"Big Bazaar","brand:wikidata":"Q3631008","brand:wikipedia":"en:Big Bazaar",name:"Big Bazaar",shop:"supermarket"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Big C":{name:"Big C",icon:"maki-grocery",imageURL:"https://graph.facebook.com/BigCBigService/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q858665",shop:"supermarket"},addTags:{brand:"Big C","brand:wikidata":"Q858665","brand:wikipedia":"en:Big C",name:"Big C",shop:"supermarket"},countryCodes:["th","vn"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Billa":{name:"Billa",icon:"maki-grocery",imageURL:"https://graph.facebook.com/BILLA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q537781",shop:"supermarket"},addTags:{brand:"Billa","brand:wikidata":"Q537781","brand:wikipedia":"en:Billa (supermarket)",name:"Billa",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Bim":{name:"Bim",icon:"maki-grocery",imageURL:"https://graph.facebook.com/bimturkiye/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1022075",shop:"supermarket"},addTags:{brand:"Bim","brand:wikidata":"Q1022075","brand:wikipedia":"en:Bim (company)",name:"Bim",shop:"supermarket"},countryCodes:["ma","tr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Bingo":{name:"Bingo",icon:"maki-grocery",imageURL:"https://graph.facebook.com/bingotuzla/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16842066",shop:"supermarket"},addTags:{brand:"Bingo","brand:wikidata":"Q16842066","brand:wikipedia":"bs:Bingo (kompanija)",name:"Bingo",shop:"supermarket"},countryCodes:["ba"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Bio Company":{name:"Bio Company",icon:"maki-grocery",imageURL:"https://graph.facebook.com/biocompany.de/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q864179",shop:"supermarket"},addTags:{brand:"Bio Company","brand:wikidata":"Q864179","brand:wikipedia":"de:Bio Company",name:"Bio Company",organic:"only",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Biocoop":{name:"Biocoop",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Biocoop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2904039",shop:"supermarket"},addTags:{brand:"Biocoop","brand:wikidata":"Q2904039","brand:wikipedia":"fr:Biocoop",name:"Biocoop",shop:"supermarket"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Bodega Aurrera":{name:"Bodega Aurrera",icon:"maki-grocery",imageURL:"https://graph.facebook.com/BodegaAurrera/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3365858",shop:"supermarket"},addTags:{brand:"Bodega Aurrera","brand:wikidata":"Q3365858","brand:wikipedia":"en:Bodega Aurrerá",name:"Bodega Aurrera",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Bravo":{name:"Bravo",icon:"maki-grocery",imageURL:"https://graph.facebook.com/bravo.supermarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16985159",shop:"supermarket"},addTags:{brand:"Bravo","brand:wikidata":"Q16985159","brand:wikipedia":"en:Bravo (supermarket)",name:"Bravo",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Brookshire Brothers":{name:"Brookshire Brothers",icon:"maki-grocery",imageURL:"https://graph.facebook.com/BrookshireBros/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4975084",shop:"supermarket"},addTags:{brand:"Brookshire Brothers","brand:wikidata":"Q4975084","brand:wikipedia":"en:Brookshire Brothers",name:"Brookshire Brothers",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Brookshire's":{name:"Brookshire's",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Brookshires/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4975085",shop:"supermarket"},addTags:{brand:"Brookshire's","brand:wikidata":"Q4975085","brand:wikipedia":"en:Brookshire Grocery Company",name:"Brookshire's",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Budgens":{name:"Budgens",icon:"maki-grocery",imageURL:"https://graph.facebook.com/DiscoverBudgens/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4985016",shop:"supermarket"},addTags:{brand:"Budgens","brand:wikidata":"Q4985016","brand:wikipedia":"en:Budgens",name:"Budgens",shop:"supermarket"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Bulk Barn":{name:"Bulk Barn",icon:"maki-grocery",imageURL:"https://graph.facebook.com/BulkBarnFoods/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4996466",shop:"supermarket"},addTags:{brand:"Bulk Barn","brand:wikidata":"Q4996466",name:"Bulk Barn",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Bunnpris":{name:"Bunnpris",icon:"maki-grocery",imageURL:"https://graph.facebook.com/bunnpris.no/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1774634",shop:"supermarket"},addTags:{brand:"Bunnpris","brand:wikidata":"Q1774634","brand:wikipedia":"en:Bunnpris",name:"Bunnpris",shop:"supermarket"},countryCodes:["no"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/C-Town Supermarkets":{name:"C-Town Supermarkets",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Ctown.supermarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5005929",shop:"supermarket"},addTags:{brand:"C-Town Supermarkets","brand:wikidata":"Q5005929","brand:wikipedia":"en:C-Town Supermarkets",name:"C-Town",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/CBA":{name:"CBA",icon:"maki-grocery",imageURL:"https://graph.facebook.com/cbaboltok/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q779845",shop:"supermarket"},addTags:{brand:"CBA","brand:wikidata":"Q779845","brand:wikipedia":"en:CBA (food retail)",name:"CBA",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/COOP Jednota":{name:"COOP Jednota",icon:"maki-grocery",imageURL:"https://graph.facebook.com/COOPJednota/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q41629254",shop:"supermarket"},addTags:{brand:"COOP Jednota","brand:wikidata":"Q41629254","brand:wikipedia":"sk:COOP Jednota Slovensko",name:"COOP Jednota",shop:"supermarket"},countryCodes:["cz","sk"],terms:["jednota"],matchScore:2,suggestion:true},"shop/supermarket/Caprabo":{name:"Caprabo",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Caprabo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1980781",shop:"supermarket"},addTags:{brand:"Caprabo","brand:wikidata":"Q1980781","brand:wikipedia":"en:Caprabo",name:"Caprabo",shop:"supermarket"},countryCodes:["ad","es"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Cardenas":{name:"Cardenas",icon:"maki-grocery",imageURL:"https://graph.facebook.com/CardenasMarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64149543",shop:"supermarket"},addTags:{brand:"Cardenas","brand:wikidata":"Q64149543","brand:wikipedia":"en:Cardenas (supermarket)",cuisine:"latin_american",name:"Cardenas",shop:"supermarket"},countryCodes:["us"],terms:["mi pueblo","mi pueblo food center"],matchScore:2,suggestion:true},"shop/supermarket/Cargills Food City (Sri Lanka)":{name:"Cargills Food City (Sri Lanka)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/cargillsfoodcity/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q58353955",shop:"supermarket"},addTags:{brand:"Cargills Food City","brand:wikidata":"Q58353955",name:"Cargills Food City",shop:"supermarket"},countryCodes:["lk"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Carrefour":{name:"Carrefour",icon:"maki-grocery",imageURL:"https://graph.facebook.com/carrefour/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q217599",shop:"supermarket"},addTags:{brand:"Carrefour","brand:wikidata":"Q217599","brand:wikipedia":"fr:Carrefour (enseigne)",name:"Carrefour",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Carrefour City":{name:"Carrefour City",icon:"maki-grocery",imageURL:"https://graph.facebook.com/CarrefourCity/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2940187",shop:"supermarket"},addTags:{brand:"Carrefour City","brand:wikidata":"Q2940187","brand:wikipedia":"fr:Carrefour City",name:"Carrefour City",shop:"supermarket"},countryCodes:["be","fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Carrefour Contact":{name:"Carrefour Contact",icon:"maki-grocery",imageURL:"https://graph.facebook.com/vieuxberquin59232/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2940188",shop:"supermarket"},addTags:{brand:"Carrefour Contact","brand:wikidata":"Q2940188","brand:wikipedia":"fr:Carrefour Contact",name:"Carrefour Contact",shop:"supermarket"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Carrefour Market":{name:"Carrefour Market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/carrefourmarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2689639",shop:"supermarket"},addTags:{brand:"Carrefour Market","brand:wikidata":"Q2689639","brand:wikipedia":"fr:Carrefour Market",name:"Carrefour Market",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Carulla":{name:"Carulla",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SupermercadosCarulla/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5047480",shop:"supermarket"},addTags:{brand:"Carulla","brand:wikidata":"Q5047480","brand:wikipedia":"en:Carulla",name:"Carulla",shop:"supermarket"},countryCodes:["co"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Centre Commercial E. Leclerc":{name:"Centre Commercial E. Leclerc",icon:"maki-grocery",imageURL:"https://graph.facebook.com/E.Leclerc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1273376",shop:"supermarket"},addTags:{brand:"Centre Commercial E. Leclerc","brand:wikidata":"Q1273376","brand:wikipedia":"fr:E.Leclerc",name:"Centre Commercial E. Leclerc",shop:"supermarket"},countryCodes:["fr","pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Chata Polska":{name:"Chata Polska",icon:"maki-grocery",imageURL:"https://graph.facebook.com/chatapolskasklepy/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61994406",shop:"supermarket"},addTags:{brand:"Chata Polska","brand:wikidata":"Q61994406",name:"Chata Polska",shop:"supermarket"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Checkers":{name:"Checkers",icon:"maki-grocery",imageURL:"https://graph.facebook.com/checkerssa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5089126",shop:"supermarket"},addTags:{brand:"Checkers","brand:wikidata":"Q5089126","brand:wikipedia":"en:Checkers (supermarket chain)",name:"Checkers",shop:"supermarket"},countryCodes:["bw","na","za"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Chedraui":{name:"Chedraui",icon:"maki-grocery",imageURL:"https://graph.facebook.com/CHEDRAUIOFICIAL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2961952",shop:"supermarket"},addTags:{brand:"Chedraui","brand:wikidata":"Q2961952","brand:wikipedia":"en:Chedraui",name:"Chedraui",shop:"supermarket"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/City Market":{name:"City Market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/CityMarketGrocery/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5123299",shop:"supermarket"},addTags:{brand:"City Market","brand:wikidata":"Q5123299","brand:wikipedia":"en:City Market (US grocery store chain)",name:"City Market",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Co-op (Canada)":{name:"Co-op (Canada)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/CoopCRS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5440676",shop:"supermarket"},addTags:{brand:"Federated Co-operatives","brand:wikidata":"Q5440676","brand:wikipedia":"en:Federated Co-operatives",name:"Co-op",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Coles":{name:"Coles",icon:"maki-grocery",imageURL:"https://graph.facebook.com/coles/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1108172",shop:"supermarket"},addTags:{brand:"Coles","brand:wikidata":"Q1108172","brand:wikipedia":"en:Coles Supermarkets",name:"Coles",shop:"supermarket"},countryCodes:["au","gb"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Colruyt":{name:"Colruyt",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Colruyt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2363991",shop:"supermarket"},addTags:{brand:"Colruyt","brand:wikidata":"Q2363991","brand:wikipedia":"en:Colruyt (supermarket)",name:"Colruyt",shop:"supermarket"},countryCodes:["be","fr","lu"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Combi":{name:"Combi",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Combi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1113618",shop:"supermarket"},addTags:{brand:"Combi","brand:wikidata":"Q1113618","brand:wikipedia":"de:Combi (Einkaufsmarkt)",name:"Combi",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Comercial Mexicana":{name:"Comercial Mexicana",icon:"maki-grocery",imageURL:"https://graph.facebook.com/209308192464395/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2985173",shop:"supermarket"},addTags:{brand:"Comercial Mexicana","brand:wikidata":"Q2985173","brand:wikipedia":"es:Comercial Mexicana",name:"Comercial Mexicana",shop:"supermarket"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Conad":{name:"Conad",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Conad/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q639075",shop:"supermarket"},addTags:{brand:"Conad","brand:wikidata":"Q639075","brand:wikipedia":"it:Conad",name:"Conad",shop:"supermarket"},countryCodes:["al","it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Conad City":{name:"Conad City",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ConadCityQualiano/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57543102",shop:"supermarket"},addTags:{brand:"Conad City","brand:wikidata":"Q57543102",name:"Conad City",shop:"supermarket"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Condis":{name:"Condis",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Condislife/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57417581",shop:"supermarket"},addTags:{brand:"Condis","brand:wikidata":"Q57417581",name:"Condis",shop:"supermarket"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Consum":{name:"Consum",icon:"maki-grocery",imageURL:"https://graph.facebook.com/supermercadosconsum/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8350308",shop:"supermarket"},addTags:{brand:"Consum","brand:wikidata":"Q8350308","brand:wikipedia":"es:Consum",name:"Consum",shop:"supermarket"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Continente":{name:"Continente",icon:"maki-grocery",imageURL:"https://graph.facebook.com/continenteoficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2995683",shop:"supermarket"},addTags:{brand:"Continente","brand:wikidata":"Q2995683","brand:wikipedia":"en:Continente (Supermarket)",name:"Continente",shop:"supermarket"},countryCodes:["pt"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Coop Prix":{name:"Coop Prix",icon:"maki-grocery",imageURL:"https://graph.facebook.com/coopprix/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5167705",shop:"supermarket"},addTags:{brand:"Coop Prix","brand:wikidata":"Q5167705","brand:wikipedia":"no:Coop Prix",name:"Coop Prix",shop:"supermarket"},countryCodes:["no"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Coop (Schweiz)":{name:"Coop (Schweiz)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/coop.ch/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q432564",shop:"supermarket"},addTags:{brand:"Coop","brand:wikidata":"Q432564","brand:wikipedia":"de:Coop (Schweiz)",name:"Coop",shop:"supermarket"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Cora":{name:"Cora",icon:"maki-grocery",imageURL:"https://graph.facebook.com/coraBelgium/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q686643",shop:"supermarket"},addTags:{brand:"Cora","brand:wikidata":"Q686643","brand:wikipedia":"en:Cora (hypermarket)",name:"Cora",shop:"supermarket"},countryCodes:["be","fr","lu","ro"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Costcutter":{name:"Costcutter",icon:"maki-grocery",imageURL:"https://graph.facebook.com/costcutter/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5175072",shop:"supermarket"},addTags:{brand:"Costcutter","brand:wikidata":"Q5175072","brand:wikipedia":"en:Costcutter",name:"Costcutter",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Coto":{name:"Coto",icon:"maki-grocery",imageURL:"https://graph.facebook.com/coto/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5175411",shop:"supermarket"},addTags:{brand:"Coto","brand:wikidata":"Q5175411","brand:wikipedia":"es:Coto (supermercado)",name:"Coto",shop:"supermarket"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Countdown":{name:"Countdown",icon:"maki-grocery",imageURL:"https://graph.facebook.com/countdown/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5176845",shop:"supermarket"},addTags:{brand:"Countdown","brand:wikidata":"Q5176845","brand:wikipedia":"en:Countdown (supermarket)",name:"Countdown",shop:"supermarket"},countryCodes:["nz"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Cub Foods":{name:"Cub Foods",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Cub/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5191916",shop:"supermarket"},addTags:{brand:"Cub Foods","brand:wikidata":"Q5191916","brand:wikipedia":"en:Cub Foods",name:"Cub Foods",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/D'Agostino":{name:"D'Agostino",icon:"maki-grocery",imageURL:"https://graph.facebook.com/yourdagnyc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q20656844",shop:"supermarket"},addTags:{brand:"D'Agostino","brand:wikidata":"Q20656844","brand:wikipedia":"en:D'Agostino Supermarkets",name:"D'Agostino",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/D1":{name:"D1",icon:"maki-grocery",imageURL:"https://graph.facebook.com/427264640797493/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q43403418",shop:"supermarket"},addTags:{brand:"D1","brand:wikidata":"Q43403418","brand:wikipedia":"es:Tiendas D1",name:"D1",shop:"supermarket"},countryCodes:["co"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Dagli'Brugsen":{name:"Dagli'Brugsen",icon:"maki-grocery",imageURL:"https://graph.facebook.com/DagliBrugsen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12307017",shop:"supermarket"},addTags:{brand:"Dagli'Brugsen","brand:wikidata":"Q12307017","brand:wikipedia":"en:Dagli'Brugsen",name:"Dagli'Brugsen",shop:"supermarket"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Deen":{name:"Deen",icon:"maki-grocery",imageURL:"https://graph.facebook.com/DEENSupermarkten/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q13571727",shop:"supermarket"},addTags:{brand:"Deen","brand:wikidata":"Q13571727","brand:wikipedia":"nl:Deen (supermarkt)",name:"Deen",shop:"supermarket"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Delhaize":{name:"Delhaize",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Delhaize/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1184173",shop:"supermarket"},addTags:{brand:"Delhaize","brand:wikidata":"Q1184173","brand:wikipedia":"fr:Delhaize",name:"Delhaize",shop:"supermarket"},countryCodes:["be","lu"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Delikatesy Centrum":{name:"Delikatesy Centrum",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Delikatesypl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11693824",shop:"supermarket"},addTags:{brand:"Delikatesy Centrum","brand:wikidata":"Q11693824","brand:wikipedia":"pl:Delikatesy Centrum",name:"Delikatesy Centrum",shop:"supermarket"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Denner":{name:"Denner",icon:"maki-grocery",imageURL:"https://graph.facebook.com/denner.ch/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q379911",shop:"supermarket"},addTags:{brand:"Denner","brand:wikidata":"Q379911","brand:wikipedia":"en:Denner (supermarket)",name:"Denner",shop:"supermarket"},countryCodes:["ch","li"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Despar":{name:"Despar",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SPARintheUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q610492",shop:"supermarket"},addTags:{brand:"Spar","brand:wikidata":"Q610492","brand:wikipedia":"en:Spar (retailer)",name:"Despar",shop:"supermarket"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Despensa Familiar":{name:"Despensa Familiar",icon:"maki-grocery",imageURL:"https://graph.facebook.com/DespensaFamiliarGuatemala/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61994849",shop:"supermarket"},addTags:{brand:"Despensa Familiar","brand:wikidata":"Q61994849",name:"Despensa Familiar",shop:"supermarket"},countryCodes:["gt","hn","sv"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Dia":{name:"Dia",icon:"maki-grocery",imageURL:"https://graph.facebook.com/DIAEspana/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q925132",shop:"supermarket"},addTags:{brand:"Dia","brand:wikidata":"Q925132","brand:wikipedia":"es:Supermercados DIA",name:"Dia",shop:"supermarket"},terms:["supermercado dia"],matchScore:2,suggestion:true},"shop/supermarket/Dia Market":{name:"Dia Market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/DIAEspana/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q925132",shop:"supermarket"},addTags:{brand:"Dia Market","brand:wikidata":"Q925132","brand:wikipedia":"es:Supermercados DIA",name:"Dia Market",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Dino":{name:"Dino",icon:"maki-grocery",imageURL:"https://graph.facebook.com/marketdinobieniewice/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11694239",shop:"supermarket"},addTags:{brand:"Dino","brand:wikidata":"Q11694239","brand:wikipedia":"pl:Dino Polska",name:"Dino",shop:"supermarket"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Dirk van den Broek":{name:"Dirk van den Broek",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Dirksupermarkten/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17502722",shop:"supermarket"},addTags:{brand:"Dirk van den Broek","brand:wikidata":"Q17502722","brand:wikipedia":"en:Dirk (supermarket)",name:"Dirk van den Broek",shop:"supermarket"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Disco (Argentina)":{name:"Disco (Argentina)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/DiscoArgentina/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6135978",shop:"supermarket"},addTags:{brand:"Disco","brand:wikidata":"Q6135978","brand:wikipedia":"es:Disco (supermercado de Argentina)",name:"Disco",shop:"supermarket"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Disco (Uruguay)":{name:"Disco (Uruguay)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/discouruguay/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16636819",shop:"supermarket"},addTags:{brand:"Disco","brand:wikidata":"Q16636819","brand:wikipedia":"es:Disco (supermercado de Uruguay)",name:"Disco",shop:"supermarket"},countryCodes:["uy"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Diska":{name:"Diska",icon:"maki-grocery",imageURL:"https://graph.facebook.com/diskamarkt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62390177",shop:"supermarket"},addTags:{brand:"Diska","brand:wikidata":"Q62390177",name:"Diska",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Dunnes Stores":{name:"Dunnes Stores",icon:"maki-grocery",imageURL:"https://graph.facebook.com/DunnesStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1266203",shop:"supermarket"},addTags:{brand:"Dunnes Stores","brand:wikidata":"Q1266203","brand:wikipedia":"en:Dunnes Stores",name:"Dunnes Stores",shop:"supermarket"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/E-Center":{name:"E-Center",icon:"maki-grocery",imageURL:"https://graph.facebook.com/EDEKA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q701755",shop:"supermarket"},addTags:{brand:"E-Center","brand:wikidata":"Q701755","brand:wikipedia":"en:Edeka",name:"E-Center",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/E. Leclerc":{name:"E. Leclerc",icon:"maki-grocery",imageURL:"https://graph.facebook.com/E.Leclerc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1273376",shop:"supermarket"},addTags:{brand:"E. Leclerc","brand:wikidata":"Q1273376","brand:wikipedia":"en:E.Leclerc",name:"E. Leclerc",shop:"supermarket"},countryCodes:["es","fr","pl","pt"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/E. Leclerc Drive":{name:"E. Leclerc Drive",icon:"maki-grocery",imageURL:"https://graph.facebook.com/E.Leclerc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1273376",shop:"supermarket"},addTags:{brand:"E. Leclerc Drive","brand:wikidata":"Q1273376","brand:wikipedia":"fr:E.Leclerc",name:"E. Leclerc Drive",shop:"supermarket"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/EMTÉ":{name:"EMTÉ",icon:"maki-grocery",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FEmte%20logo.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q3119122",shop:"supermarket"},addTags:{brand:"EMTÉ","brand:wikidata":"Q3119122","brand:wikipedia":"en:EMTÉ",name:"EMTÉ",shop:"supermarket"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Edeka":{name:"Edeka",icon:"maki-grocery",imageURL:"https://graph.facebook.com/EDEKA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q701755",shop:"supermarket"},addTags:{brand:"Edeka","brand:wikidata":"Q701755","brand:wikipedia":"en:Edeka",name:"Edeka",shop:"supermarket"},countryCodes:["de"],terms:["edeka neukauf"],matchScore:2,suggestion:true},"shop/supermarket/Eko":{name:"Eko",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q9251859",shop:"supermarket"},addTags:{brand:"Eko","brand:wikidata":"Q9251859","brand:wikipedia":"pl:Eko Holding",name:"Eko",shop:"supermarket"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Ekom":{name:"Ekom",icon:"maki-grocery",imageURL:"https://graph.facebook.com/1013432382051351/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62073442",shop:"supermarket"},addTags:{brand:"Ekom","brand:wikidata":"Q62073442",name:"Ekom",shop:"supermarket"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Ekono":{name:"Ekono",icon:"maki-grocery",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FLogotipo%20Ekono.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q2842729",shop:"supermarket"},addTags:{brand:"Ekono","brand:wikidata":"Q2842729","brand:wikipedia":"es:Ekono",name:"Ekono",shop:"supermarket"},countryCodes:["cl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Eroski":{name:"Eroski",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Eroski/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1361349",shop:"supermarket"},addTags:{brand:"Eroski","brand:wikidata":"Q1361349","brand:wikipedia":"en:Eroski",name:"Eroski",shop:"supermarket"},countryCodes:["es","gi"],terms:["charter","eroski center"],matchScore:2,suggestion:true},"shop/supermarket/Esselunga":{name:"Esselunga",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Esselunga/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1059636",shop:"supermarket"},addTags:{brand:"Esselunga","brand:wikidata":"Q1059636","brand:wikipedia":"en:Esselunga",name:"Esselunga",shop:"supermarket"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/EuroSpin":{name:"EuroSpin",icon:"maki-grocery",imageURL:"https://graph.facebook.com/EurospinItaliaSpa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1374674",shop:"supermarket"},addTags:{brand:"EuroSpin","brand:wikidata":"Q1374674","brand:wikipedia":"it:Eurospin",name:"EuroSpin",shop:"supermarket"},countryCodes:["it","si"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Eurospar":{name:"Eurospar",icon:"maki-grocery",imageURL:"https://graph.facebook.com/EurosparIreland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12309283",shop:"supermarket"},addTags:{brand:"Eurospar","brand:wikidata":"Q12309283","brand:wikipedia":"da:Eurospar",name:"Eurospar",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Extra":{name:"Extra",icon:"maki-grocery",imageURL:"https://graph.facebook.com/extramorkved/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11964085",shop:"supermarket"},addTags:{brand:"Extra","brand:wikidata":"Q11964085","brand:wikipedia":"no:Extra (Coop)",name:"Extra",shop:"supermarket"},terms:["coop extra"],matchScore:2,suggestion:true},"shop/supermarket/Famila":{name:"Famila",icon:"maki-grocery",imageURL:"https://graph.facebook.com/1674632829509874/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1395108",shop:"supermarket"},addTags:{brand:"Famila","brand:wikidata":"Q1395108","brand:wikipedia":"de:Famila",name:"Famila",shop:"supermarket"},countryCodes:["de","it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Fareway":{name:"Fareway",icon:"maki-grocery",imageURL:"https://graph.facebook.com/farewaystores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5434998",shop:"supermarket"},addTags:{brand:"Fareway","brand:wikidata":"Q5434998","brand:wikipedia":"en:Fareway",name:"Fareway",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Farm Boy":{name:"Farm Boy",icon:"maki-grocery",imageURL:"https://graph.facebook.com/farmboy.ca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5435469",shop:"supermarket"},addTags:{brand:"Farm Boy","brand:wikidata":"Q5435469","brand:wikipedia":"en:Farm Boy",name:"Farm Boy",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Farmfoods":{name:"Farmfoods",icon:"maki-grocery",imageURL:"https://graph.facebook.com/147382588630890/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5435841",shop:"supermarket"},addTags:{brand:"Farmfoods","brand:wikidata":"Q5435841","brand:wikipedia":"en:Farmfoods",name:"Farmfoods",shop:"supermarket"},countryCodes:["gb","sk"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Feneberg":{name:"Feneberg",icon:"maki-grocery",imageURL:"https://graph.facebook.com/FenebergLebensmittel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5345378",shop:"supermarket"},addTags:{brand:"Feneberg","brand:wikidata":"Q5345378","brand:wikipedia":"de:Feneberg Lebensmittel",name:"Feneberg",shop:"supermarket"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Food 4 Less":{name:"Food 4 Less",icon:"maki-grocery",imageURL:"https://graph.facebook.com/myfood4less/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5465282",shop:"supermarket"},addTags:{brand:"Food 4 Less","brand:wikidata":"Q5465282","brand:wikipedia":"en:Food 4 Less",name:"Food 4 Less",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Food Basics":{name:"Food Basics",icon:"maki-grocery",imageURL:"https://graph.facebook.com/foodbasics.ca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5465300",shop:"supermarket"},addTags:{brand:"Food Basics","brand:wikidata":"Q5465300","brand:wikipedia":"en:Food Basics",name:"Food Basics",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Food City (USA)":{name:"Food City (USA)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/FoodCity/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16981107",shop:"supermarket"},addTags:{brand:"Food City","brand:wikidata":"Q16981107","brand:wikipedia":"en:Food City (K-VA-T)",name:"Food City",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Food Lion":{name:"Food Lion",icon:"maki-grocery",imageURL:"https://graph.facebook.com/foodlion/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1435950",shop:"supermarket"},addTags:{brand:"Food Lion","brand:wikidata":"Q1435950","brand:wikipedia":"en:Food Lion",name:"Food Lion",shop:"supermarket"},countryCodes:["es","us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/FoodLand (USA)":{name:"FoodLand (USA)",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q5465271",shop:"supermarket"},addTags:{brand:"FoodLand","brand:wikidata":"Q5465271","brand:wikipedia":"en:FoodLand",name:"FoodLand",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/FoodMaxx":{name:"FoodMaxx",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Foodmaxx/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61894844",shop:"supermarket"},addTags:{brand:"FoodMaxx","brand:wikidata":"Q61894844",name:"FoodMaxx",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Foodland (Australia)":{name:"Foodland (Australia)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/FoodlandSupermarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5465555",shop:"supermarket"},addTags:{brand:"Foodland","brand:wikidata":"Q5465555","brand:wikipedia":"en:Foodland (South Australia)",name:"Foodland",shop:"supermarket"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Foodland (Canada)":{name:"Foodland (Canada)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/dansFoodland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5465554",shop:"supermarket"},addTags:{brand:"Foodland","brand:wikidata":"Q5465554","brand:wikipedia":"en:Foodland (Canada)",name:"Foodland",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Foodland (Hawaii)":{name:"Foodland (Hawaii)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/FoodlandHawaii/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5465560",shop:"supermarket"},addTags:{brand:"Foodland","brand:wikidata":"Q5465560","brand:wikipedia":"en:Foodland Hawaii",name:"Foodland",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Foodworks":{name:"Foodworks",icon:"maki-grocery",imageURL:"https://graph.facebook.com/foodworksaus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5465579",shop:"supermarket"},addTags:{brand:"Foodworks","brand:wikidata":"Q5465579","brand:wikipedia":"en:Foodworks",name:"Foodworks",shop:"supermarket"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Fortinos":{name:"Fortinos",icon:"maki-grocery",imageURL:"https://graph.facebook.com/fortinosgrocery/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5472662",shop:"supermarket"},addTags:{brand:"Fortinos","brand:wikidata":"Q5472662","brand:wikipedia":"en:Fortinos",name:"Fortinos",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Fred Meyer":{name:"Fred Meyer",icon:"maki-grocery",imageURL:"https://graph.facebook.com/fredmeyer/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5495932",shop:"supermarket"},addTags:{brand:"Fred Meyer","brand:wikidata":"Q5495932","brand:wikipedia":"en:Fred Meyer",name:"Fred Meyer",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Fresh":{name:"Fresh",icon:"maki-grocery",imageURL:"https://graph.facebook.com/freshobchod/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q50737403",shop:"supermarket"},addTags:{brand:"Fresh","brand:wikidata":"Q50737403","brand:wikipedia":"sk:Fresh",name:"Fresh",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Fresh Thyme":{name:"Fresh Thyme",icon:"maki-grocery",imageURL:"https://graph.facebook.com/FreshThymeFarmersMarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q64132791",shop:"supermarket"},addTags:{brand:"Fresh Thyme","brand:wikidata":"Q64132791",name:"Fresh Thyme",shop:"supermarket"},countryCodes:["us"],terms:["fresh thyme farmers market"],matchScore:2,suggestion:true},"shop/supermarket/FreshCo":{name:"FreshCo",icon:"maki-grocery",imageURL:"https://graph.facebook.com/FreshCo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5502915",shop:"supermarket"},addTags:{brand:"FreshCo","brand:wikidata":"Q5502915","brand:wikipedia":"en:FreshCo",name:"FreshCo",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Froiz":{name:"Froiz",icon:"maki-grocery",imageURL:"https://graph.facebook.com/158051157541336/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17070775",shop:"supermarket"},addTags:{brand:"Froiz","brand:wikidata":"Q17070775","brand:wikipedia":"en:Froiz",name:"Froiz",shop:"supermarket"},countryCodes:["es","pt"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Føtex":{name:"Føtex",icon:"maki-grocery",imageURL:"https://graph.facebook.com/foetexdk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1480395",shop:"supermarket"},addTags:{brand:"Føtex","brand:wikidata":"Q1480395","brand:wikipedia":"en:Føtex",name:"Føtex",shop:"supermarket"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/G20":{name:"G20",icon:"maki-grocery",imageURL:"https://graph.facebook.com/supermarchesg20/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3504731",shop:"supermarket"},addTags:{brand:"G20","brand:wikidata":"Q3504731","brand:wikipedia":"fr:Supermarchés G20",name:"G20",shop:"supermarket"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/GBarbosa":{name:"GBarbosa",icon:"maki-grocery",imageURL:"https://graph.facebook.com/oficialgbarbosa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10287817",shop:"supermarket"},addTags:{brand:"GBarbosa","brand:wikidata":"Q10287817","brand:wikipedia":"pt:GBarbosa",name:"GBarbosa",shop:"supermarket"},countryCodes:["br"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Gadis":{name:"Gadis",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Gadis.supermercados/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12389151",shop:"supermarket"},addTags:{brand:"Gadis","brand:wikidata":"Q12389151","brand:wikipedia":"gl:Gadisa",name:"Gadis",shop:"supermarket"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Giant Eagle":{name:"Giant Eagle",icon:"maki-grocery",imageURL:"https://graph.facebook.com/gianteagleinc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1522721",shop:"supermarket"},addTags:{brand:"Giant Eagle","brand:wikidata":"Q1522721","brand:wikipedia":"en:Giant Eagle",name:"Giant Eagle",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Giant (Carlisle)":{name:"Giant (Carlisle)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/giantfoodstores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5558332",shop:"supermarket"},addTags:{brand:"Giant","brand:wikidata":"Q5558332","brand:wikipedia":"en:Giant Food Stores",name:"Giant",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Giant (Landover)":{name:"Giant (Landover)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/GiantFood/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5558336",shop:"supermarket"},addTags:{brand:"Giant","brand:wikidata":"Q5558336","brand:wikipedia":"en:Giant Food (Landover)",name:"Giant",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Globus":{name:"Globus",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Globus.de/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q457503",shop:"supermarket"},addTags:{brand:"Globus","brand:wikidata":"Q457503","brand:wikipedia":"en:Globus (hypermarket)",name:"Globus",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Gordon Food Service":{name:"Gordon Food Service",icon:"maki-grocery",imageURL:"https://graph.facebook.com/GordonFoodService/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1538006",shop:"supermarket"},addTags:{brand:"Gordon Food Service","brand:wikidata":"Q1538006","brand:wikipedia":"en:Gordon Food Service",name:"Gordon Food Service",shop:"supermarket"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Grand Frais":{name:"Grand Frais",icon:"maki-grocery",imageURL:"https://graph.facebook.com/GrandFrais/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3114675",shop:"supermarket"},addTags:{brand:"Grand Frais","brand:wikidata":"Q3114675","brand:wikipedia":"fr:Grand Frais",name:"Grand Frais",shop:"supermarket"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Grocery Outlet":{name:"Grocery Outlet",icon:"maki-grocery",imageURL:"https://graph.facebook.com/GroceryOutletInc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5609934",shop:"supermarket"},addTags:{brand:"Grocery Outlet","brand:wikidata":"Q5609934","brand:wikipedia":"en:Grocery Outlet",name:"Grocery Outlet",official_name:"Grocery Outlet Bargain Market",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Groszek":{name:"Groszek",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Sklepy.Groszek/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9280965",shop:"supermarket"},addTags:{brand:"Groszek","brand:wikidata":"Q9280965","brand:wikipedia":"pl:Groszek (sieć sklepów)",name:"Groszek",shop:"supermarket"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Géant Casino":{name:"Géant Casino",icon:"maki-grocery",imageURL:"https://graph.facebook.com/geantcasino/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1380537",shop:"supermarket"},addTags:{brand:"Géant Casino","brand:wikidata":"Q1380537","brand:wikipedia":"en:Géant Casino",name:"Géant Casino",shop:"supermarket"},countryCodes:["cg","fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/H Mart":{name:"H Mart",icon:"maki-grocery",imageURL:"https://graph.facebook.com/hmartofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5636306",shop:"supermarket"},addTags:{"alt_name:ko":"H 마트",brand:"H Mart","brand:wikidata":"Q5636306","brand:wikipedia":"en:H Mart",cuisine:"asian",name:"H Mart","name:en":"H Mart","name:ko":"한아름","name:zh-Hans":"韩亚龙","name:zh-Hant":"韓亞龍",shop:"supermarket"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/H-E-B":{name:"H-E-B",icon:"maki-grocery",imageURL:"https://graph.facebook.com/HEB/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q830621",shop:"supermarket"},addTags:{brand:"H-E-B","brand:wikidata":"Q830621","brand:wikipedia":"en:H-E-B",name:"H-E-B",shop:"supermarket"},countryCodes:["mx","us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/HIT":{name:"HIT",icon:"maki-grocery",imageURL:"https://graph.facebook.com/151789788189446/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1548713",shop:"supermarket"},addTags:{brand:"HIT","brand:wikidata":"Q1548713","brand:wikipedia":"de:HIT Handelsgruppe",name:"HIT",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/HalpaHalli":{name:"HalpaHalli",icon:"maki-grocery",imageURL:"https://graph.facebook.com/HalpaHalli/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11861256",shop:"supermarket"},addTags:{brand:"HalpaHalli","brand:wikidata":"Q11861256","brand:wikipedia":"fi:HalpaHalli",name:"HalpaHalli",shop:"supermarket"},countryCodes:["ee","fi","ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Hannaford":{name:"Hannaford",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Hannaford/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5648760",shop:"supermarket"},addTags:{brand:"Hannaford","brand:wikidata":"Q5648760","brand:wikipedia":"en:Hannaford Brothers Company",name:"Hannaford",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Harris Teeter":{name:"Harris Teeter",icon:"maki-grocery",imageURL:"https://graph.facebook.com/harristeeter/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5665067",shop:"supermarket"},addTags:{brand:"Harris Teeter","brand:wikidata":"Q5665067","brand:wikipedia":"en:Harris Teeter",name:"Harris Teeter",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Hemköp":{name:"Hemköp",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Hemkop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10521746",shop:"supermarket"},addTags:{brand:"Hemköp","brand:wikidata":"Q10521746","brand:wikipedia":"sv:Hemköp",name:"Hemköp",shop:"supermarket"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Heron Foods":{name:"Heron Foods",icon:"maki-grocery",imageURL:"https://graph.facebook.com/heronfoodslimited/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5743472",shop:"supermarket"},addTags:{brand:"Heron Foods","brand:wikidata":"Q5743472","brand:wikipedia":"en:Heron Foods",name:"Heron Foods",shop:"supermarket"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Hofer":{name:"Hofer",icon:"maki-grocery",imageURL:"https://graph.facebook.com/HOFER.AT/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15815751",shop:"supermarket"},addTags:{brand:"Hofer","brand:wikidata":"Q15815751","brand:wikipedia":"de:Hofer KG",name:"Hofer",shop:"supermarket"},countryCodes:["at","si"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Hoogvliet":{name:"Hoogvliet",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Hoogvliet.supermarkten/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2770647",shop:"supermarket"},addTags:{brand:"Hoogvliet","brand:wikidata":"Q2770647","brand:wikipedia":"nl:Hoogvliet (supermarkt)",name:"Hoogvliet",shop:"supermarket"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Hy-Vee":{name:"Hy-Vee",icon:"maki-grocery",imageURL:"https://graph.facebook.com/HyVee/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1639719",shop:"supermarket"},addTags:{brand:"Hy-Vee","brand:wikidata":"Q1639719","brand:wikipedia":"en:Hy-Vee",name:"Hy-Vee",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Hyper U":{name:"Hyper U",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ULesCommercants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2529029",shop:"supermarket"},addTags:{brand:"Hyper U","brand:wikidata":"Q2529029","brand:wikipedia":"en:Système U",name:"Hyper U",shop:"supermarket"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/ICA":{name:"ICA",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ICA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1663776",shop:"supermarket"},addTags:{brand:"ICA","brand:wikidata":"Q1663776","brand:wikipedia":"sv:Ica",name:"ICA",shop:"supermarket"},countryCodes:["no","se"],terms:["ica supermarket"],matchScore:2,suggestion:true},"shop/supermarket/ICA Kvantum":{name:"ICA Kvantum",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ICA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1663776",shop:"supermarket"},addTags:{brand:"ICA Kvantum","brand:wikidata":"Q1663776","brand:wikipedia":"sv:Ica",name:"ICA Kvantum",shop:"supermarket"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/ICA Maxi":{name:"ICA Maxi",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ICA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1663776",shop:"supermarket"},addTags:{brand:"ICA Maxi","brand:wikidata":"Q1663776","brand:wikipedia":"sv:Ica",name:"ICA Maxi",shop:"supermarket"},countryCodes:["no","se"],terms:["maxi"],matchScore:2,suggestion:true},"shop/supermarket/IDEA":{name:"IDEA",icon:"maki-grocery",imageURL:"https://graph.facebook.com/IDEASrbija/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q23461622",shop:"supermarket"},addTags:{brand:"IDEA","brand:wikidata":"Q23461622","brand:wikipedia":"en:Idea (supermarkets)",name:"IDEA",shop:"supermarket"},countryCodes:["rs"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/IGA":{name:"IGA",icon:"maki-grocery",imageURL:"https://graph.facebook.com/IGACorp/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3146662",shop:"supermarket"},addTags:{brand:"IGA","brand:wikidata":"Q3146662","brand:wikipedia":"en:IGA (supermarkets)",name:"IGA",shop:"supermarket"},countryCodes:["au","ca","us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Ingles":{name:"Ingles",icon:"maki-grocery",imageURL:"https://graph.facebook.com/inglesmarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6032595",shop:"supermarket"},addTags:{brand:"Ingles","brand:wikidata":"Q6032595","brand:wikipedia":"en:Ingles",name:"Ingles",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Intermarché":{name:"Intermarché",icon:"maki-grocery",imageURL:"https://graph.facebook.com/tousuniscontrelaviechere/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3153200",shop:"supermarket"},addTags:{brand:"Intermarché","brand:wikidata":"Q3153200","brand:wikipedia":"fr:Intermarché",name:"Intermarché",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Intermarché Super":{name:"Intermarché Super",icon:"maki-grocery",imageURL:"https://graph.facebook.com/tousuniscontrelaviechere/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3153200",shop:"supermarket"},addTags:{brand:"Intermarché Super","brand:wikidata":"Q3153200","brand:wikipedia":"fr:Intermarché",name:"Intermarché Super",shop:"supermarket"},countryCodes:["be","fr","pl","pt"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Interspar":{name:"Interspar",icon:"maki-grocery",imageURL:"https://graph.facebook.com/INTERSPAR/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15820339",shop:"supermarket"},addTags:{brand:"Interspar","brand:wikidata":"Q15820339","brand:wikipedia":"de:Interspar (Österreich)",name:"Interspar",shop:"supermarket"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Irma":{name:"Irma",icon:"maki-grocery",imageURL:"https://graph.facebook.com/IrmaDanmark/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q797150",shop:"supermarket"},addTags:{brand:"Irma","brand:wikidata":"Q797150","brand:wikipedia":"en:Irma (supermarket)",name:"Irma",shop:"supermarket"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Jan Linders":{name:"Jan Linders",icon:"maki-grocery",imageURL:"https://graph.facebook.com/JanLindersSupermarkten/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2200982",shop:"supermarket"},addTags:{brand:"Jan Linders","brand:wikidata":"Q2200982","brand:wikipedia":"nl:Jan Linders Supermarkten",name:"Jan Linders",shop:"supermarket"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Jewel-Osco":{name:"Jewel-Osco",icon:"maki-grocery",imageURL:"https://graph.facebook.com/JewelOsco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3178470",shop:"supermarket"},addTags:{brand:"Jewel-Osco","brand:wikidata":"Q3178470","brand:wikipedia":"en:Jewel (supermarket)",name:"Jewel-Osco",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Jumbo":{name:"Jumbo",icon:"maki-grocery",imageURL:"https://graph.facebook.com/jumbosupermarkten/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2262314",shop:"supermarket"},addTags:{brand:"Jumbo","brand:wikidata":"Q2262314","brand:wikipedia":"en:Jumbo (supermarket)",name:"Jumbo",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/K+K":{name:"K+K",icon:"maki-grocery",imageURL:"https://graph.facebook.com/KlaasundKock/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1718009",shop:"supermarket"},addTags:{brand:"K+K","brand:wikidata":"Q1718009","brand:wikipedia":"de:K+K Klaas & Kock",name:"K+K",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/K-Citymarket":{name:"K-Citymarket",icon:"maki-grocery",imageURL:"https://graph.facebook.com/citymarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11868561",shop:"supermarket"},addTags:{brand:"K-Citymarket","brand:wikidata":"Q11868561","brand:wikipedia":"fi:K-Citymarket",name:"K-Citymarket",shop:"supermarket"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/K-Supermarket":{name:"K-Supermarket",icon:"maki-grocery",imageURL:"https://graph.facebook.com/KSupermarketketju/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5408668",shop:"supermarket"},addTags:{brand:"K-Supermarket","brand:wikidata":"Q5408668","brand:wikipedia":"fi:K-Supermarket",name:"K-Supermarket",shop:"supermarket"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Kaufland":{name:"Kaufland",icon:"maki-grocery",imageURL:"https://graph.facebook.com/132476996783723/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q685967",shop:"supermarket"},addTags:{brand:"Kaufland","brand:wikidata":"Q685967","brand:wikipedia":"en:Kaufland",name:"Kaufland",shop:"supermarket"},countryCodes:["bg","cz","de","hr","pl","ro","sk"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/King Soopers":{name:"King Soopers",icon:"maki-grocery",imageURL:"https://graph.facebook.com/kingsoopers/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6412065",shop:"supermarket"},addTags:{brand:"King Soopers","brand:wikidata":"Q6412065","brand:wikipedia":"en:King Soopers",name:"King Soopers",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Kings":{name:"Kings",icon:"maki-grocery",imageURL:"https://graph.facebook.com/KingsFoodMarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6412914",shop:"supermarket"},addTags:{brand:"Kings","brand:wikidata":"Q6412914","brand:wikipedia":"en:Kings Food Markets",name:"Kings",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Kiwi":{name:"Kiwi",icon:"maki-grocery",imageURL:"https://graph.facebook.com/kiwiminipris/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1613639",shop:"supermarket"},addTags:{brand:"Kiwi","brand:wikidata":"Q1613639","brand:wikipedia":"en:Kiwi (store)",name:"Kiwi",shop:"supermarket"},countryCodes:["dk","no"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Konzum (Balkans)":{name:"Konzum (Balkans)",icon:"maki-grocery",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FKonzum%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q518563",shop:"supermarket"},addTags:{brand:"Konzum","brand:wikidata":"Q518563","brand:wikipedia":"hr:Konzum",name:"Konzum",shop:"supermarket"},countryCodes:["ba","hr","rs"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Kroger":{name:"Kroger",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Kroger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q153417",shop:"supermarket"},addTags:{brand:"Kroger","brand:wikidata":"Q153417","brand:wikipedia":"en:Kroger",name:"Kroger",shop:"supermarket"},terms:["krogers"],matchScore:2,suggestion:true},"shop/supermarket/Kroger Marketplace":{name:"Kroger Marketplace",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Kroger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q153417",shop:"supermarket"},addTags:{brand:"Kroger Marketplace","brand:wikidata":"Q153417","brand:wikipedia":"en:Kroger",name:"Kroger Marketplace",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Kvickly":{name:"Kvickly",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Kvickly/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7061148",shop:"supermarket"},addTags:{brand:"Kvickly","brand:wikidata":"Q7061148","brand:wikipedia":"en:Kvickly",name:"Kvickly",shop:"supermarket"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/La Anónima":{name:"La Anónima",icon:"maki-grocery",imageURL:"https://graph.facebook.com/laanonimaoficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6135985",shop:"supermarket"},addTags:{brand:"La Anónima","brand:wikidata":"Q6135985","brand:wikipedia":"es:La Anónima",name:"La Anónima",shop:"supermarket"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/La Comer":{name:"La Comer",icon:"maki-grocery",imageURL:"https://graph.facebook.com/LaComerOficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q26765126",shop:"supermarket"},addTags:{brand:"La Comer","brand:wikidata":"Q26765126","brand:wikipedia":"es:La Comer",name:"La Comer",shop:"supermarket"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/La Michoacana Meat Market":{name:"La Michoacana Meat Market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/lamichoacanameatmarket.officialpage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6463872",shop:"supermarket"},addTags:{brand:"La Michoacana Meat Market","brand:en":"La Michoacana Meat Market","brand:es":"La Michoacana","brand:wikidata":"Q6463872","brand:wikipedia":"en:La Michoacana Meat Market",cuisine:"latin_american",name:"La Michoacana Meat Market","name:en":"La Michoacana Meat Market","name:es":"La Michoacana",shop:"supermarket"},countryCodes:["us"],terms:["la michoacana"],matchScore:2,suggestion:true},"shop/supermarket/La Plaza de DIA":{name:"La Plaza de DIA",icon:"maki-grocery",imageURL:"https://graph.facebook.com/LaPlazadeDIA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q58904673",shop:"supermarket"},addTags:{brand:"La Plaza de DIA","brand:wikidata":"Q58904673",name:"La Plaza de DIA",shop:"supermarket"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/La Vie Claire":{name:"La Vie Claire",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Lavieclaire/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3213589",shop:"supermarket"},addTags:{brand:"La Vie Claire","brand:wikidata":"Q3213589","brand:wikipedia":"en:La Vie Claire (company)",name:"La Vie Claire",shop:"supermarket"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Landi":{name:"Landi",icon:"maki-grocery",imageURL:"https://graph.facebook.com/landivechigen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1803010",shop:"supermarket"},addTags:{brand:"Landi","brand:wikidata":"Q1803010","brand:wikipedia":"en:Landi (Unternehmen)",name:"Landi",shop:"supermarket"},countryCodes:["ch"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Leader Price":{name:"Leader Price",icon:"maki-grocery",imageURL:"https://graph.facebook.com/leaderpriceofficiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2181426",shop:"supermarket"},addTags:{brand:"Leader Price","brand:wikidata":"Q2181426","brand:wikipedia":"en:Leader Price",name:"Leader Price",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Lewiatan":{name:"Lewiatan",icon:"maki-grocery",imageURL:"https://graph.facebook.com/psh.lewiatan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11755396",shop:"supermarket"},addTags:{brand:"Lewiatan","brand:wikidata":"Q11755396","brand:wikipedia":"pl:Lewiatan (sieć handlowa)",name:"Lewiatan",shop:"supermarket"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Lider":{name:"Lider",icon:"maki-grocery",imageURL:"https://graph.facebook.com/lidercl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6711261",shop:"supermarket"},addTags:{brand:"Lider","brand:wikidata":"Q6711261","brand:wikipedia":"es:Líder (supermercado)",name:"Lider",shop:"supermarket"},countryCodes:["cl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Lider Express":{name:"Lider Express",icon:"maki-grocery",imageURL:"https://graph.facebook.com/lidercl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6711261",shop:"supermarket"},addTags:{brand:"Lider","brand:wikidata":"Q6711261","brand:wikipedia":"es:Líder (supermercado)",name:"Lider Express",shop:"supermarket"},countryCodes:["cl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Lidl":{name:"Lidl",icon:"maki-grocery",imageURL:"https://graph.facebook.com/lidl/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q151954",shop:"supermarket"},addTags:{brand:"Lidl","brand:wikidata":"Q151954","brand:wikipedia":"en:Lidl",name:"Lidl",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Lincolnshire Co-op":{name:"Lincolnshire Co-op",icon:"maki-grocery",imageURL:"https://graph.facebook.com/lincolnshirecoop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6551231",shop:"supermarket"},addTags:{brand:"Lincolnshire Co-op","brand:wikidata":"Q6551231","brand:wikipedia":"en:Lincolnshire Co-operative",name:"Lincolnshire Co-op",shop:"supermarket"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Linella":{name:"Linella",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q61085990",shop:"supermarket"},addTags:{brand:"Linella","brand:wikidata":"Q61085990","brand:wikipedia":"ro:Linella",name:"Linella",shop:"supermarket"},countryCodes:["md"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Loblaws":{name:"Loblaws",icon:"maki-grocery",imageURL:"https://graph.facebook.com/LoblawsON/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3257626",shop:"supermarket"},addTags:{brand:"Loblaws","brand:wikidata":"Q3257626","brand:wikipedia":"en:Loblaws",name:"Loblaws",shop:"supermarket"},countryCodes:["ca"],terms:["loblaws great food"],matchScore:2,suggestion:true},"shop/supermarket/Lotte Mart":{name:"Lotte Mart",icon:"maki-grocery",imageURL:"https://graph.facebook.com/lottemart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q326715",shop:"supermarket"},addTags:{brand:"Lotte Mart","brand:wikidata":"Q326715","brand:wikipedia":"en:Lotte Mart",name:"Lotte Mart",shop:"supermarket"},countryCodes:["id","kr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Lowe's Market":{name:"Lowe's Market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/LowesSupermarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6693107",shop:"supermarket"},addTags:{brand:"Lowe's Market","brand:wikidata":"Q6693107","brand:wikipedia":"en:Lowe's Market",name:"Lowe's Market",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Lowes Foods":{name:"Lowes Foods",icon:"maki-grocery",imageURL:"https://graph.facebook.com/LowesFoodsStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6693991",shop:"supermarket"},addTags:{brand:"Lowes Foods","brand:wikidata":"Q6693991","brand:wikipedia":"en:Lowes Foods",name:"Lowes Foods",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Lucky":{name:"Lucky",icon:"maki-grocery",imageURL:"https://graph.facebook.com/LuckySupermarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6698032",shop:"supermarket"},addTags:{brand:"Lucky","brand:wikidata":"Q6698032","brand:wikipedia":"en:Lucky Stores",name:"Lucky",shop:"supermarket"},countryCodes:["us"],terms:["luckys"],matchScore:2,suggestion:true},"shop/supermarket/Lupa":{name:"Lupa",icon:"maki-grocery",imageURL:"https://graph.facebook.com/LupaSupermercados/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q58044048",shop:"supermarket"},addTags:{brand:"Lupa","brand:wikidata":"Q58044048",name:"Lupa",shop:"supermarket"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/MD":{name:"MD",icon:"maki-grocery",imageURL:"https://graph.facebook.com/mdspa.it/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3841263",shop:"supermarket"},addTags:{brand:"MD","brand:wikidata":"Q3841263","brand:wikipedia":"en:MD Discount",name:"MD",shop:"supermarket"},countryCodes:["it"],terms:["md discount"],matchScore:2,suggestion:true},"shop/supermarket/MPREIS":{name:"MPREIS",icon:"maki-grocery",imageURL:"https://graph.facebook.com/MPREIS.at/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q873491",shop:"supermarket"},addTags:{brand:"MPREIS","brand:wikidata":"Q873491","brand:wikipedia":"de:MPreis",name:"MPREIS",shop:"supermarket"},countryCodes:["at","it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Marc's":{name:"Marc's",icon:"maki-grocery",imageURL:"https://graph.facebook.com/MarcsStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17080259",shop:"supermarket"},addTags:{brand:"Marc's","brand:wikidata":"Q17080259","brand:wikipedia":"en:Marc's",name:"Marc's",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Markant":{name:"Markant",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q57523365",shop:"supermarket"},addTags:{brand:"Markant","brand:wikidata":"Q57523365",name:"Markant",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Market Basket":{name:"Market Basket",icon:"maki-grocery",imageURL:"https://graph.facebook.com/marketbasket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2079198",shop:"supermarket"},addTags:{brand:"Market Basket","brand:wikidata":"Q2079198","brand:wikipedia":"en:Market Basket (New England)",name:"Market Basket",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Marktkauf":{name:"Marktkauf",icon:"maki-grocery",imageURL:"https://graph.facebook.com/119240581466268/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1533254",shop:"supermarket"},addTags:{brand:"Marktkauf","brand:wikidata":"Q1533254","brand:wikipedia":"de:Marktkauf Holding",name:"Marktkauf",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Martin's Super Markets":{name:"Martin's Super Markets",icon:"maki-grocery",imageURL:"https://graph.facebook.com/martinssupermarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6774803",shop:"supermarket"},addTags:{brand:"Martin's Super Markets","brand:wikidata":"Q6774803","brand:wikipedia":"en:Martin's Super Markets",name:"Martin's Super Markets",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Match":{name:"Match",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SupermarchesMatch/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q513977",shop:"supermarket"},addTags:{brand:"Match","brand:wikidata":"Q513977","brand:wikipedia":"en:Match (supermarket)",name:"Match",shop:"supermarket"},countryCodes:["be","fr","hu","lu"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Maxi Dia":{name:"Maxi Dia",icon:"maki-grocery",imageURL:"https://graph.facebook.com/DIAEspana/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q925132",shop:"supermarket"},addTags:{brand:"Maxi Dia","brand:wikidata":"Q925132","brand:wikipedia":"es:Supermercados DIA",name:"Maxi Dia",shop:"supermarket"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Maxima X":{name:"Maxima X",icon:"maki-grocery",imageURL:"https://graph.facebook.com/MaximaLV/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1881222",shop:"supermarket"},addTags:{brand:"Maxima X","brand:wikidata":"Q1881222","brand:wikipedia":"en:Maxima Group",name:"Maxima X",shop:"supermarket"},countryCodes:["bg","ee","lt","lv"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Maxima XX":{name:"Maxima XX",icon:"maki-grocery",imageURL:"https://graph.facebook.com/MaximaLV/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1881222",shop:"supermarket"},addTags:{brand:"Maxima XX","brand:wikidata":"Q1881222","brand:wikipedia":"en:Maxima Group",name:"Maxima XX",shop:"supermarket"},countryCodes:["bg","ee","lt","lv","pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Maxima XXX":{name:"Maxima XXX",icon:"maki-grocery",imageURL:"https://graph.facebook.com/MaximaLV/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1881222",shop:"supermarket"},addTags:{brand:"Maxima XXX","brand:wikidata":"Q1881222","brand:wikipedia":"en:Maxima Group",name:"Maxima XXX",shop:"supermarket"},countryCodes:["bg","ee","lt","lv","pl"],terms:["maxima"],matchScore:2,suggestion:true},"shop/supermarket/Maxi (Canada)":{name:"Maxi (Canada)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/maxi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3302441",shop:"supermarket"},addTags:{brand:"Maxi","brand:wikidata":"Q3302441","brand:wikipedia":"en:Maxi (Canadian supermarket)",name:"Maxi",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Maxi (Serbia)":{name:"Maxi (Serbia)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Maxi.Srbija/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6795490",shop:"supermarket"},addTags:{brand:"Maxi","brand:wikidata":"Q6795490","brand:wikipedia":"en:Maxi (Serbian supermarket)",name:"Maxi",shop:"supermarket"},countryCodes:["rs"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Mega Image":{name:"Mega Image",icon:"maki-grocery",imageURL:"https://graph.facebook.com/MegaImageRomania/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6808085",shop:"supermarket"},addTags:{brand:"Mega Image","brand:wikidata":"Q6808085","brand:wikipedia":"en:Mega Image",name:"Mega Image",shop:"supermarket"},countryCodes:["ro"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Mego":{name:"Mego",icon:"maki-grocery",imageURL:"https://graph.facebook.com/mego.lv/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16363314",shop:"supermarket"},addTags:{brand:"Mego","brand:wikidata":"Q16363314","brand:wikipedia":"lv:Mego",name:"Mego",shop:"supermarket"},countryCodes:["lv"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Meijer":{name:"Meijer",icon:"maki-grocery",imageURL:"https://graph.facebook.com/meijer/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1917753",shop:"supermarket"},addTags:{brand:"Meijer","brand:wikidata":"Q1917753","brand:wikipedia":"en:Meijer",name:"Meijer",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Meny":{name:"Meny",icon:"maki-grocery",imageURL:"https://graph.facebook.com/meny/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10581720",shop:"supermarket"},addTags:{brand:"Meny","brand:wikidata":"Q10581720","brand:wikipedia":"en:Meny",name:"Meny",shop:"supermarket"},countryCodes:["dk","no"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Mercadona":{name:"Mercadona",icon:"maki-grocery",imageURL:"https://graph.facebook.com/mercadona/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q377705",shop:"supermarket"},addTags:{brand:"Mercadona","brand:wikidata":"Q377705","brand:wikipedia":"en:Mercadona",name:"Mercadona",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Mercator":{name:"Mercator",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q738412",shop:"supermarket"},addTags:{brand:"Mercator","brand:wikidata":"Q738412","brand:wikipedia":"en:Mercator (retail)",name:"Mercator",shop:"supermarket"},countryCodes:["ba","hz","me","rs","si"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Merkur":{name:"Merkur",icon:"maki-grocery",imageURL:"https://graph.facebook.com/merkurmarkt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1921857",shop:"supermarket"},addTags:{brand:"Merkur","brand:wikidata":"Q1921857","brand:wikipedia":"de:Merkur (Österreich)",name:"Merkur",shop:"supermarket"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Metro (Canada)":{name:"Metro (Canada)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/metro.ontario/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1145669",shop:"supermarket"},addTags:{brand:"Metro","brand:wikidata":"Q1145669","brand:wikipedia":"en:Metro Inc.",name:"Metro",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Metro (Peru)":{name:"Metro (Peru)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/metroperu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16640217",shop:"supermarket"},addTags:{brand:"Metro","brand:wikidata":"Q16640217","brand:wikipedia":"en:Tiendas Metro",name:"Metro",shop:"supermarket"},countryCodes:["pe"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Migros":{name:"Migros",icon:"maki-grocery",imageURL:"https://graph.facebook.com/migros/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q680727",shop:"supermarket"},addTags:{brand:"Migros","brand:wikidata":"Q680727","brand:wikipedia":"en:Migros",name:"Migros",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Mila":{name:"Mila",icon:"maki-grocery",imageURL:"https://graph.facebook.com/MilaDruciarniaSklep/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q48844636",shop:"supermarket"},addTags:{brand:"Mila","brand:wikidata":"Q48844636","brand:wikipedia":"pl:Mila (sieć sklepów)",name:"Mila",shop:"supermarket"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Minipreço":{name:"Minipreço",icon:"maki-grocery",imageURL:"https://graph.facebook.com/minipreco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3042224",shop:"supermarket"},addTags:{brand:"Minipreço","brand:wikidata":"Q3042224","brand:wikipedia":"en:Minipreço",name:"Minipreço",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Mix Markt":{name:"Mix Markt",icon:"maki-grocery",imageURL:"https://graph.facebook.com/mixmarkt.eu/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q327854",shop:"supermarket"},addTags:{brand:"Mix Markt","brand:wikidata":"Q327854","brand:wikipedia":"de:Mix Markt",name:"Mix Markt",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Monoprix":{name:"Monoprix",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Monoprix/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3321241",shop:"supermarket"},addTags:{brand:"Monoprix","brand:wikidata":"Q3321241","brand:wikipedia":"en:Monoprix",name:"Monoprix",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/More":{name:"More",icon:"maki-grocery",imageURL:"https://graph.facebook.com/morestore/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6910891",shop:"supermarket"},addTags:{brand:"More","brand:wikidata":"Q6910891","brand:wikipedia":"en:More (store)",name:"More",shop:"supermarket"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Morrisons":{name:"Morrisons",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Morrisons/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q922344",shop:"supermarket"},addTags:{brand:"Morrisons","brand:wikidata":"Q922344","brand:wikipedia":"en:Morrisons",name:"Morrisons",shop:"supermarket"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Nah & Frisch":{name:"Nah & Frisch",icon:"maki-grocery",imageURL:"https://graph.facebook.com/nahundfrisch.at/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1963643",shop:"supermarket"},addTags:{brand:"Nah & Frisch","brand:wikidata":"Q1963643","brand:wikipedia":"de:Nah & Frisch",name:"Nah & Frisch",shop:"supermarket"},countryCodes:["at","de"],terms:["nah und frisch"],matchScore:2,suggestion:true},"shop/supermarket/Nahkauf":{name:"Nahkauf",icon:"maki-grocery",imageURL:"https://graph.facebook.com/nahkauf/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57515238",shop:"supermarket"},addTags:{brand:"Nahkauf","brand:wikidata":"Q57515238",name:"Nahkauf",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Naturalia":{name:"Naturalia",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Naturaliamagasinsbio/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3337081",shop:"supermarket"},addTags:{brand:"Naturalia","brand:wikidata":"Q3337081","brand:wikipedia":"fr:Naturalia",name:"Naturalia",shop:"supermarket"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Netto":{name:"Netto",icon:"maki-grocery",imageURL:"https://graph.facebook.com/nettodk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q552652",shop:"supermarket"},addTags:{brand:"Netto","brand:wikidata":"Q552652","brand:wikipedia":"en:Netto (store)",name:"Netto",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Netto Marken-Discount":{name:"Netto Marken-Discount",icon:"maki-grocery",imageURL:"https://graph.facebook.com/nettomarkendiscount/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q879858",shop:"supermarket"},addTags:{brand:"Netto Marken-Discount","brand:wikidata":"Q879858","brand:wikipedia":"en:Netto Marken-Discount",name:"Netto Marken-Discount",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/New World":{name:"New World",icon:"maki-grocery",imageURL:"https://graph.facebook.com/newworld/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7012488",shop:"supermarket"},addTags:{brand:"New World","brand:wikidata":"Q7012488","brand:wikipedia":"en:New World (supermarket)",name:"New World",shop:"supermarket"},countryCodes:["nz"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/No Frills":{name:"No Frills",icon:"maki-grocery",imageURL:"https://graph.facebook.com/nofrillsCA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3342407",shop:"supermarket"},addTags:{brand:"No Frills","brand:wikidata":"Q3342407","brand:wikipedia":"en:No Frills (grocery store)",name:"No Frills",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Norfa XL":{name:"Norfa XL",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Norfalt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1998983",shop:"supermarket"},addTags:{brand:"Norfa XL","brand:wikidata":"Q1998983","brand:wikipedia":"lt:Norfa",name:"Norfa XL",shop:"supermarket"},countryCodes:["lt"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Norma":{name:"Norma",icon:"maki-grocery",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FNorma%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q450180",shop:"supermarket"},addTags:{brand:"Norma","brand:wikidata":"Q450180","brand:wikipedia":"de:Norma (Handelskette)",name:"Norma",shop:"supermarket"},countryCodes:["at","cz","de","fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Northern Store":{name:"Northern Store",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q7754361",shop:"supermarket"},addTags:{brand:"Northern Store","brand:wikidata":"Q7754361","brand:wikipedia":"en:The North West Company",name:"Northern Store",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Okay":{name:"Okay",icon:"maki-grocery",imageURL:"https://graph.facebook.com/okaycompact/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2159701",shop:"supermarket"},addTags:{brand:"Okay","brand:wikidata":"Q2159701","brand:wikipedia":"fr:OKay",name:"Okay",shop:"supermarket"},countryCodes:["be"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Olímpica":{name:"Olímpica",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SupertiendaOlimpica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q24749847",shop:"supermarket"},addTags:{brand:"Olímpica","brand:wikidata":"Q24749847","brand:wikipedia":"es:Grupo Empresarial Olímpica",name:"Olímpica",shop:"supermarket"},countryCodes:["co"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/PLUS":{name:"PLUS",icon:"maki-grocery",imageURL:"https://graph.facebook.com/PLUSsupermarkt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1978981",shop:"supermarket"},addTags:{brand:"PLUS","brand:wikidata":"Q1978981","brand:wikipedia":"nl:PLUS (Nederlandse supermarkt)",name:"PLUS",shop:"supermarket"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/POLOmarket":{name:"POLOmarket",icon:"maki-grocery",imageURL:"https://graph.facebook.com/polomarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11821937",shop:"supermarket"},addTags:{brand:"POLOmarket","brand:wikidata":"Q11821937","brand:wikipedia":"pl:Polomarket",name:"POLOmarket",shop:"supermarket"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Palí":{name:"Palí",icon:"maki-grocery",imageURL:"https://graph.facebook.com/PaliCostaRica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1064887",shop:"supermarket"},addTags:{brand:"Palí","brand:wikidata":"Q1064887","brand:wikipedia":"es:Walmart de México y Centroamérica",name:"Palí",shop:"supermarket"},countryCodes:["cr","ni"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Pam":{name:"Pam",icon:"maki-grocery",imageURL:"https://graph.facebook.com/pampanoramaufficiale/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3777398",shop:"supermarket"},addTags:{brand:"Pam","brand:wikidata":"Q3777398","brand:wikipedia":"it:Gruppo PAM",name:"Pam",shop:"supermarket"},countryCodes:["ch","it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Patel Brothers":{name:"Patel Brothers",icon:"maki-grocery",imageURL:"https://graph.facebook.com/pbrosfan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q55641396",shop:"supermarket"},addTags:{brand:"Patel Brothers","brand:wikidata":"Q55641396","brand:wikipedia":"en:Patel Brothers",cuisine:"indian",name:"Patel Brothers",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Pavilions":{name:"Pavilions",icon:"maki-grocery",imageURL:"https://graph.facebook.com/pavilions/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7155886",shop:"supermarket"},addTags:{brand:"Pavilions","brand:wikidata":"Q7155886","brand:wikipedia":"en:Pavilions (supermarket)",name:"Pavilions",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Penny":{name:"Penny",icon:"maki-grocery",imageURL:"https://graph.facebook.com/pennyoesterreich/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q284688",shop:"supermarket"},addTags:{brand:"Penny","brand:wikidata":"Q284688","brand:wikipedia":"en:Penny (supermarket)",name:"Penny",shop:"supermarket"},countryCodes:["at","cz","de","hu","it","ro"],terms:["penny market","penny markt"],matchScore:2,suggestion:true},"shop/supermarket/Pick 'n Save":{name:"Pick 'n Save",icon:"maki-grocery",imageURL:"https://graph.facebook.com/PickNSaveStores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7371288",shop:"supermarket"},addTags:{brand:"Pick 'n Save","brand:wikidata":"Q7371288","brand:wikipedia":"en:Roundy's",name:"Pick 'n Save",shop:"supermarket"},countryCodes:["us","za"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Pick n Pay":{name:"Pick n Pay",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Picknpay/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7190735",shop:"supermarket"},addTags:{brand:"Pick n Pay","brand:wikidata":"Q7190735","brand:wikipedia":"en:Pick n Pay Stores",name:"Pick n Pay",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Piggly Wiggly":{name:"Piggly Wiggly",icon:"maki-grocery",imageURL:"https://graph.facebook.com/pigglywigglystores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3388303",shop:"supermarket"},addTags:{brand:"Piggly Wiggly","brand:wikidata":"Q3388303","brand:wikipedia":"en:Piggly Wiggly",name:"Piggly Wiggly",shop:"supermarket"},countryCodes:["gb","us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Pingo Doce":{name:"Pingo Doce",icon:"maki-grocery",imageURL:"https://graph.facebook.com/pingodoce/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1575057",shop:"supermarket"},addTags:{brand:"Pingo Doce","brand:wikidata":"Q1575057","brand:wikipedia":"en:Pingo Doce",name:"Pingo Doce",shop:"supermarket"},countryCodes:["pt"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Piotr i Paweł":{name:"Piotr i Paweł",icon:"maki-grocery",imageURL:"https://graph.facebook.com/piotripawelstronaoficjalna/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2096356",shop:"supermarket"},addTags:{brand:"Piotr i Paweł","brand:wikidata":"Q2096356","brand:wikipedia":"pl:Piotr i Paweł",name:"Piotr i Paweł",shop:"supermarket"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Plaza Vea":{name:"Plaza Vea",icon:"maki-grocery",imageURL:"https://graph.facebook.com/PlazaVeaOficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7203672",shop:"supermarket"},addTags:{brand:"Plaza Vea","brand:wikidata":"Q7203672","brand:wikipedia":"en:Plaza Vea",name:"Plaza Vea",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Plodine":{name:"Plodine",icon:"maki-grocery",imageURL:"https://graph.facebook.com/PlodineHrvatska/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q58040098",shop:"supermarket"},addTags:{brand:"Plodine","brand:wikidata":"Q58040098",name:"Plodine",shop:"supermarket"},countryCodes:["hr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Poiesz":{name:"Poiesz",icon:"maki-grocery",imageURL:"https://graph.facebook.com/poieszsupermarkten/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2521700",shop:"supermarket"},addTags:{brand:"Poiesz","brand:wikidata":"Q2521700","brand:wikipedia":"nl:Poiesz Supermarkten",name:"Poiesz",shop:"supermarket"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Price Chopper (Kansas City)":{name:"Price Chopper (Kansas City)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/mypricechopper/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7242572",shop:"supermarket"},addTags:{brand:"Price Chopper","brand:wikidata":"Q7242572","brand:wikipedia":"en:Price Chopper (supermarket)",name:"Price Chopper",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Price Chopper (New York)":{name:"Price Chopper (New York)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/PriceChopper/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7242574",shop:"supermarket"},addTags:{brand:"Price Chopper","brand:wikidata":"Q7242574","brand:wikipedia":"en:Price Chopper Supermarkets",name:"Price Chopper",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Prisma":{name:"Prisma",icon:"maki-grocery",imageURL:"https://graph.facebook.com/prisma.fi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12047031",shop:"supermarket"},addTags:{brand:"Prisma","brand:wikidata":"Q12047031","brand:wikipedia":"fi:Prisma (kauppaketju)",name:"Prisma",shop:"supermarket"},countryCodes:["ee","fi","ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Prix":{name:"Prix",icon:"maki-grocery",imageURL:"https://graph.facebook.com/prixqualitaitaliana/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61994819",shop:"supermarket"},addTags:{brand:"Prix","brand:wikidata":"Q61994819",name:"Prix",shop:"supermarket"},countryCodes:["it"],terms:["prix quality"],matchScore:2,suggestion:true},"shop/supermarket/Profi":{name:"Profi",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Profi.ro/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q956664",shop:"supermarket"},addTags:{brand:"Profi","brand:wikidata":"Q956664","brand:wikipedia":"en:Profi",name:"Profi",shop:"supermarket"},countryCodes:["be","hu","ro"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Provigo":{name:"Provigo",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ProvigoleMarcheTroisRivieres/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3408306",shop:"supermarket"},addTags:{brand:"Provigo","brand:wikidata":"Q3408306","brand:wikipedia":"en:Provigo",name:"Provigo",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Proxy Delhaize":{name:"Proxy Delhaize",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Delhaize/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q14903417",shop:"supermarket"},addTags:{brand:"Proxy Delhaize","brand:wikidata":"Q14903417","brand:wikipedia":"en:Delhaize Group",name:"Proxy Delhaize",shop:"supermarket"},countryCodes:["be","lu"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Publix":{name:"Publix",icon:"maki-grocery",imageURL:"https://graph.facebook.com/publix/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q672170",shop:"supermarket"},addTags:{brand:"Publix","brand:wikidata":"Q672170","brand:wikipedia":"en:Publix",name:"Publix",shop:"supermarket"},countryCodes:["br","us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Pueblo":{name:"Pueblo",icon:"maki-grocery",imageURL:"https://graph.facebook.com/supermercadospueblo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7258464",shop:"supermarket"},addTags:{brand:"Pueblo","brand:wikidata":"Q7258464","brand:wikipedia":"en:Pueblo Supermarkets",name:"Pueblo",official_name:"Supermercados Pueblo","official_name:en":"Pueblo Supermarkets","official_name:es":"Supermercados Pueblo",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Punto Simply":{name:"Punto Simply",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SDASUPERMERCATI/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3484790",shop:"supermarket"},addTags:{brand:"Punto Simply","brand:wikidata":"Q3484790","brand:wikipedia":"it:Simply Market",name:"Punto Simply",shop:"supermarket"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Puregold":{name:"Puregold",icon:"maki-grocery",imageURL:"https://graph.facebook.com/puregold.shopping/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7261170",shop:"supermarket"},addTags:{brand:"Puregold","brand:wikidata":"Q7261170","brand:wikipedia":"en:Puregold",name:"Puregold",shop:"supermarket"},countryCodes:["ph"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Pão de Açúcar":{name:"Pão de Açúcar",icon:"maki-grocery",imageURL:"https://graph.facebook.com/paodeacucar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3411543",shop:"supermarket"},addTags:{brand:"Pão de Açúcar","brand:wikidata":"Q3411543","brand:wikipedia":"pt:Pão de Açúcar (supermercado brasileiro)",name:"Pão de Açúcar",shop:"supermarket"},countryCodes:["br","pt"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/QFC":{name:"QFC",icon:"maki-grocery",imageURL:"https://graph.facebook.com/QFC/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7265425",shop:"supermarket"},addTags:{brand:"QFC","brand:wikidata":"Q7265425","brand:wikipedia":"en:QFC",name:"QFC",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Raley's":{name:"Raley's",icon:"maki-grocery",imageURL:"https://graph.facebook.com/raleys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7286970",shop:"supermarket"},addTags:{brand:"Raley's","brand:wikidata":"Q7286970","brand:wikipedia":"en:Raley's Supermarkets",name:"Raley's",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Ralphs":{name:"Ralphs",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Ralphs/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3929820",shop:"supermarket"},addTags:{brand:"Ralphs","brand:wikidata":"Q3929820","brand:wikipedia":"en:Ralphs",name:"Ralphs",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Real":{name:"Real",icon:"maki-grocery",imageURL:"https://graph.facebook.com/real/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q698473",shop:"supermarket"},addTags:{brand:"Real","brand:wikidata":"Q698473","brand:wikipedia":"en:Real (hypermarket)",name:"Real",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Real Canadian Superstore":{name:"Real Canadian Superstore",icon:"maki-grocery",imageURL:"https://graph.facebook.com/RealCanadianSuperstore/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7300856",shop:"supermarket"},addTags:{brand:"Real Canadian Superstore","brand:wikidata":"Q7300856","brand:wikipedia":"en:Real Canadian Superstore",name:"Real Canadian Superstore",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Redner's":{name:"Redner's",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q7306166",shop:"supermarket"},addTags:{brand:"Redner's","brand:wikidata":"Q7306166","brand:wikipedia":"en:Redner's Markets",name:"Redner's",shop:"supermarket"},countryCodes:["us"],terms:["redners warehouse market"],matchScore:2,suggestion:true},"shop/supermarket/Reliance Fresh":{name:"Reliance Fresh",icon:"maki-grocery",imageURL:"https://graph.facebook.com/RelianceFreshOfficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7311014",shop:"supermarket"},addTags:{brand:"Reliance Fresh","brand:wikidata":"Q7311014","brand:wikipedia":"en:Reliance Fresh",name:"Reliance Fresh",shop:"supermarket"},countryCodes:["in"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Rema 1000":{name:"Rema 1000",icon:"maki-grocery",imageURL:"https://graph.facebook.com/REMA1000/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q28459",shop:"supermarket"},addTags:{brand:"Rema 1000","brand:wikidata":"Q28459","brand:wikipedia":"en:REMA 1000",name:"Rema 1000",shop:"supermarket"},countryCodes:["dk","no"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Rewe":{name:"Rewe",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Rewe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16968817",shop:"supermarket"},addTags:{brand:"Rewe","brand:wikidata":"Q16968817","brand:wikipedia":"en:REWE",name:"Rewe",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Rewe City":{name:"Rewe City",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Rewe/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16968817",shop:"supermarket"},addTags:{brand:"Rewe City","brand:wikidata":"Q16968817","brand:wikipedia":"en:REWE",name:"Rewe City",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Rimi":{name:"Rimi",icon:"maki-grocery",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FRimi%20logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q7334456",shop:"supermarket"},addTags:{brand:"Rimi","brand:wikidata":"Q7334456","brand:wikipedia":"en:Rimi (Norway)",name:"Rimi",shop:"supermarket"},countryCodes:["ee","lt","lv"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/S-market":{name:"S-market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/smarketkemio/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11891613",shop:"supermarket"},addTags:{brand:"S-market","brand:wikidata":"Q11891613","brand:wikipedia":"fi:S-market",name:"S-market",shop:"supermarket"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Safeway":{name:"Safeway",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Safeway/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1508234",shop:"supermarket"},addTags:{brand:"Safeway","brand:wikidata":"Q1508234","brand:wikipedia":"en:Safeway Inc.",name:"Safeway",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Sainsbury's":{name:"Sainsbury's",icon:"maki-grocery",imageURL:"https://graph.facebook.com/sainsburys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q152096",shop:"supermarket"},addTags:{brand:"Sainsbury's","brand:wikidata":"Q152096","brand:wikipedia":"en:Sainsbury's",name:"Sainsbury's",shop:"supermarket"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Santa Isabel":{name:"Santa Isabel",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SantaIsabelChile/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7419620",shop:"supermarket"},addTags:{brand:"Santa Isabel","brand:wikidata":"Q7419620","brand:wikipedia":"es:Santa Isabel (supermercado)",name:"Santa Isabel",shop:"supermarket"},countryCodes:["cl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Save-A-Lot":{name:"Save-A-Lot",icon:"maki-grocery",imageURL:"https://graph.facebook.com/savealot/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7427972",shop:"supermarket"},addTags:{brand:"Save-A-Lot","brand:wikidata":"Q7427972","brand:wikipedia":"en:Save-A-Lot",name:"Save-A-Lot",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Save-On-Foods":{name:"Save-On-Foods",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SaveOnFoods/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7427974",shop:"supermarket"},addTags:{brand:"Save-On-Foods","brand:wikidata":"Q7427974","brand:wikipedia":"en:Save-On-Foods",name:"Save-On-Foods",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Schnucks":{name:"Schnucks",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Schnucks/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7431920",shop:"supermarket"},addTags:{brand:"Schnucks","brand:wikidata":"Q7431920","brand:wikipedia":"en:Schnucks",name:"Schnucks",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Shaw's":{name:"Shaw's",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Shaws/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q578387",shop:"supermarket"},addTags:{brand:"Shaw's","brand:wikidata":"Q578387","brand:wikipedia":"en:Shaw's and Star Market",name:"Shaw's",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/ShopRite (USA)":{name:"ShopRite (USA)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/shoprite.supermarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7501097",shop:"supermarket"},addTags:{brand:"ShopRite","brand:wikidata":"Q7501097","brand:wikipedia":"en:ShopRite (United States)",name:"ShopRite",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Shoprite (Africa)":{name:"Shoprite (Africa)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ShopriteSA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1857639",shop:"supermarket"},addTags:{brand:"Shoprite","brand:wikidata":"Q1857639","brand:wikipedia":"en:Shoprite (South Africa)",name:"Shoprite",shop:"supermarket"},countryCodes:["ao","bw","cd","gh","ls","mg","mu","mw","mz","na","ng","sz","ug","za","zm"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Shoprite (Isle of Man)":{name:"Shoprite (Isle of Man)",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q7501242",shop:"supermarket"},addTags:{brand:"Shoprite","brand:wikidata":"Q7501242","brand:wikipedia":"en:Shoprite (Isle of Man)",name:"Shoprite",shop:"supermarket"},countryCodes:["im"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Sigma":{name:"Sigma",icon:"maki-grocery",imageURL:"https://graph.facebook.com/supermercatisigmaitalia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3977979",shop:"supermarket"},addTags:{brand:"Sigma","brand:wikidata":"Q3977979","brand:wikipedia":"it:Supermercati Sigma",name:"Sigma",shop:"supermarket"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Simply Market":{name:"Simply Market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SDASUPERMERCATI/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3484790",shop:"supermarket"},addTags:{brand:"Simply Market","brand:wikidata":"Q3484790","brand:wikipedia":"en:Simply Market",name:"Simply Market",shop:"supermarket"},terms:["simply"],matchScore:2,suggestion:true},"shop/supermarket/Sky":{name:"Sky",icon:"maki-grocery",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FCoop%20Deutschland%20Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1129779",shop:"supermarket"},addTags:{brand:"Sky","brand:wikidata":"Q1129779","brand:wikipedia":"de:Coop eG",name:"Sky",shop:"supermarket"},countryCodes:["de","lv","nl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Smith's":{name:"Smith's",icon:"maki-grocery",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FSmithsFoodDrug-logo.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q7544856",shop:"supermarket"},addTags:{brand:"Smith's","brand:wikidata":"Q7544856","brand:wikipedia":"en:Smith's Food and Drug",name:"Smith's",shop:"supermarket"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Sobeys":{name:"Sobeys",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Sobeys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1143340",shop:"supermarket"},addTags:{brand:"Sobeys","brand:wikidata":"Q1143340","brand:wikipedia":"en:Sobeys",name:"Sobeys",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Soriana":{name:"Soriana",icon:"maki-grocery",imageURL:"https://graph.facebook.com/sorianacom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q735562",shop:"supermarket"},addTags:{brand:"Soriana","brand:wikidata":"Q735562","brand:wikipedia":"en:Soriana",name:"Soriana",shop:"supermarket"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Spar":{name:"Spar",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SPARintheUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q610492",shop:"supermarket"},addTags:{brand:"Spar","brand:wikidata":"Q610492","brand:wikipedia":"en:Spar (retailer)",name:"Spar",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Społem":{name:"Społem",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SpolemSpoldzielczoscSpozywcow/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11826043",shop:"supermarket"},addTags:{brand:"Społem","brand:wikidata":"Q11826043","brand:wikipedia":"pl:Powszechna Spółdzielnia Spożywców „Społem”",name:"Społem",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Sprouts Farmers Market":{name:"Sprouts Farmers Market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SproutsFarmersMarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7581369",shop:"supermarket"},addTags:{brand:"Sprouts Farmers Market","brand:wikidata":"Q7581369","brand:wikipedia":"en:Sprouts Farmers Market",name:"Sprouts Farmers Market",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Stater Bros.":{name:"Stater Bros.",icon:"maki-grocery",imageURL:"https://graph.facebook.com/StaterBrosMarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7604016",shop:"supermarket"},addTags:{brand:"Stater Bros.","brand:wikidata":"Q7604016","brand:wikipedia":"en:Stater Bros.",name:"Stater Bros.",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Stokrotka":{name:"Stokrotka",icon:"maki-grocery",imageURL:"https://graph.facebook.com/sklepy.stokrotka/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9345945",shop:"supermarket"},addTags:{brand:"Stokrotka","brand:wikidata":"Q9345945","brand:wikipedia":"pl:Stokrotka (sieć handlowa)",name:"Stokrotka",shop:"supermarket"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Stop & Shop":{name:"Stop & Shop",icon:"maki-grocery",imageURL:"https://graph.facebook.com/StopandShop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3658429",shop:"supermarket"},addTags:{brand:"Stop & Shop","brand:wikidata":"Q3658429","brand:wikipedia":"en:Stop & Shop",name:"Stop & Shop",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Suma":{name:"Suma",icon:"maki-grocery",imageURL:"https://graph.facebook.com/265671900499370/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q58012362",shop:"supermarket"},addTags:{brand:"Suma","brand:wikidata":"Q58012362",name:"Suma",shop:"supermarket"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Super C":{name:"Super C",icon:"maki-grocery",imageURL:"https://graph.facebook.com/superc.ca/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3504127",shop:"supermarket"},addTags:{brand:"Super C","brand:wikidata":"Q3504127","brand:wikipedia":"en:Super C (supermarket)",name:"Super C",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Super H Mart":{name:"Super H Mart",icon:"maki-grocery",imageURL:"https://graph.facebook.com/hmartofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5636306",shop:"supermarket"},addTags:{brand:"H Mart","brand:wikidata":"Q5636306","brand:wikipedia":"en:H Mart",cuisine:"asian",name:"Super H Mart",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Super One Foods":{name:"Super One Foods",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SuperOneGrocery/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17108733",shop:"supermarket"},addTags:{brand:"Super One Foods","brand:wikidata":"Q17108733","brand:wikipedia":"en:Super One Foods",name:"Super One Foods",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Super U":{name:"Super U",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ULesCommercants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2529029",shop:"supermarket"},addTags:{brand:"Super U","brand:wikidata":"Q2529029","brand:wikipedia":"en:Système U",name:"Super U",shop:"supermarket"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/SuperBrugsen":{name:"SuperBrugsen",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SuperBrugsen/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12337746",shop:"supermarket"},addTags:{brand:"SuperBrugsen","brand:wikidata":"Q12337746","brand:wikipedia":"en:SuperBrugsen",name:"SuperBrugsen",shop:"supermarket"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/SuperValu":{name:"SuperValu",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SuperValuIreland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7642081",shop:"supermarket"},addTags:{brand:"SuperValu","brand:wikidata":"Q7642081","brand:wikipedia":"en:SuperValu (Ireland)",name:"SuperValu",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Superama":{name:"Superama",icon:"maki-grocery",imageURL:"https://pbs.twimg.com/profile_images/1145720603724455942/zkMvSg5e_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q6135762",shop:"supermarket"},addTags:{brand:"Superama","brand:wikidata":"Q6135762","brand:wikipedia":"es:Superama",name:"Superama",shop:"supermarket"},countryCodes:["mx"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Supercor":{name:"Supercor",icon:"maki-grocery",imageURL:"https://graph.facebook.com/tusupercor/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6135841",shop:"supermarket"},addTags:{brand:"Supercor","brand:wikidata":"Q6135841","brand:wikipedia":"es:Supercor",name:"Supercor",shop:"supermarket"},countryCodes:["es","pt"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Supersol":{name:"Supersol",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SupersolSupermercados/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q62073427",shop:"supermarket"},addTags:{brand:"Supersol","brand:wikidata":"Q62073427",name:"Supersol",shop:"supermarket"},countryCodes:["ar","es","ma","uy"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Superspar":{name:"Superspar",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SPARintheUK/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q610492",shop:"supermarket"},addTags:{brand:"Superspar","brand:wikidata":"Q610492","brand:wikipedia":"en:Spar (retailer)",name:"Superspar",shop:"supermarket"},countryCodes:["es","za"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/T&T Supermarket":{name:"T&T Supermarket",icon:"maki-grocery",imageURL:"https://graph.facebook.com/TTSupermarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q837893",shop:"supermarket"},addTags:{brand:"T&T Supermarket","brand:wikidata":"Q837893","brand:wikipedia":"en:T & T Supermarket",name:"T&T Supermarket",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Tegut":{name:"Tegut",icon:"maki-grocery",imageURL:"https://graph.facebook.com/tegut/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1547993",shop:"supermarket"},addTags:{brand:"Tegut","brand:wikidata":"Q1547993","brand:wikipedia":"en:Tegut",name:"Tegut",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Tesco":{name:"Tesco",icon:"maki-grocery",imageURL:"https://graph.facebook.com/tesco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q487494",shop:"supermarket"},addTags:{brand:"Tesco","brand:wikidata":"Q487494","brand:wikipedia":"en:Tesco",name:"Tesco",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Tesco Express":{name:"Tesco Express",icon:"maki-grocery",imageURL:"https://graph.facebook.com/tesco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q487494",shop:"supermarket"},addTags:{brand:"Tesco Express","brand:wikidata":"Q487494","brand:wikipedia":"en:Tesco",name:"Tesco Express",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Tesco Extra":{name:"Tesco Extra",icon:"maki-grocery",imageURL:"https://graph.facebook.com/tesco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25172225",shop:"supermarket"},addTags:{brand:"Tesco Extra","brand:wikidata":"Q25172225","brand:wikipedia":"en:Tesco Extra",name:"Tesco Extra",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Tesco Metro":{name:"Tesco Metro",icon:"maki-grocery",imageURL:"https://graph.facebook.com/tesco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57551648",shop:"supermarket"},addTags:{brand:"Tesco Metro","brand:wikidata":"Q57551648",name:"Tesco Metro",shop:"supermarket"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/The Co-operative Food (UK)":{name:"The Co-operative Food (UK)",icon:"maki-grocery",imageURL:"https://graph.facebook.com/coopukfood/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3277439",shop:"supermarket"},addTags:{brand:"The Co-operative Food","brand:wikidata":"Q3277439","brand:wikipedia":"en:Co-op Food",name:"The Co-operative Food",shop:"supermarket"},countryCodes:["gb"],terms:["coop","coop food","cooperative food","the cooperative"],matchScore:2,suggestion:true},"shop/supermarket/The Fresh Market":{name:"The Fresh Market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/TheFreshMarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7735265",shop:"supermarket"},addTags:{brand:"The Fresh Market","brand:wikidata":"Q7735265","brand:wikipedia":"en:The Fresh Market",name:"The Fresh Market",shop:"supermarket"},countryCodes:["us"],terms:["fresh market"],matchScore:2,suggestion:true},"shop/supermarket/Todis":{name:"Todis",icon:"maki-grocery",imageURL:"https://graph.facebook.com/todisbuongiornoconvenienza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3992174",shop:"supermarket"},addTags:{brand:"Todis","brand:wikidata":"Q3992174","brand:wikipedia":"it:Todis",name:"Todis",shop:"supermarket"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Tommy":{name:"Tommy",icon:"maki-grocery",imageURL:"https://graph.facebook.com/tommyprodavaonice/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12643718",shop:"supermarket"},addTags:{brand:"Tommy","brand:wikidata":"Q12643718","brand:wikipedia":"hr:Tommy",name:"Tommy",shop:"supermarket"},countryCodes:["hr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Top Market":{name:"Top Market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/topmarketpolska/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q9360044",shop:"supermarket"},addTags:{brand:"Top Market","brand:wikidata":"Q9360044","brand:wikipedia":"pl:Top Market",name:"Top Market",shop:"supermarket"},countryCodes:["pl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Tops":{name:"Tops",icon:"maki-grocery",imageURL:"https://graph.facebook.com/topsfriendlymarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7825137",shop:"supermarket"},addTags:{brand:"Tops","brand:wikidata":"Q7825137","brand:wikipedia":"en:Tops Friendly Markets",name:"Tops",official_name:"Tops Friendly Markets",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Tottus":{name:"Tottus",icon:"maki-grocery",imageURL:"https://graph.facebook.com/TottusPeru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7828510",shop:"supermarket"},addTags:{brand:"Tottus","brand:wikidata":"Q7828510","brand:wikipedia":"en:Tottus",name:"Tottus",shop:"supermarket"},countryCodes:["cl","pe"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Trader Joe's":{name:"Trader Joe's",icon:"maki-grocery",imageURL:"https://graph.facebook.com/156443021054392/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q688825",shop:"supermarket"},addTags:{brand:"Trader Joe's","brand:wikidata":"Q688825","brand:wikipedia":"en:Trader Joe's",name:"Trader Joe's",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Treff 3000":{name:"Treff 3000",icon:"maki-grocery",imageURL:"https://graph.facebook.com/EDEKA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q701755",shop:"supermarket"},addTags:{brand:"Treff 3000","brand:wikidata":"Q701755","brand:wikipedia":"de:Edeka",name:"Treff 3000",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Tuodì":{name:"Tuodì",icon:"maki-grocery",imageURL:"https://graph.facebook.com/TUODI.it/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3706995",shop:"supermarket"},addTags:{brand:"Tuodì","brand:wikidata":"Q3706995","brand:wikipedia":"it:Tuodì",name:"Tuodì",shop:"supermarket"},countryCodes:["it"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/U Express":{name:"U Express",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ULesCommercants/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2529029",shop:"supermarket"},addTags:{brand:"U Express","brand:wikidata":"Q2529029","brand:wikipedia":"en:Système U",name:"U Express",shop:"supermarket"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Unimarc":{name:"Unimarc",icon:"maki-grocery",imageURL:"https://graph.facebook.com/unimarc/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6156244",shop:"supermarket"},addTags:{brand:"Unimarc","brand:wikidata":"Q6156244","brand:wikipedia":"es:Unimarc",name:"Unimarc",shop:"supermarket"},countryCodes:["cl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Unimarkt":{name:"Unimarkt",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Unimarkt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1169599",shop:"supermarket"},addTags:{brand:"Unimarkt","brand:wikidata":"Q1169599","brand:wikipedia":"de:Unimarkt",name:"Unimarkt",shop:"supermarket"},countryCodes:["at"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Vallarta":{name:"Vallarta",icon:"maki-grocery",imageURL:"https://graph.facebook.com/vallarta.supermarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7911833",shop:"supermarket"},addTags:{brand:"Vallarta","brand:wikidata":"Q7911833","brand:wikipedia":"en:Vallarta Supermarkets",cuisine:"latin_american",name:"Vallarta","name:es":"Vallarta",official_name:"Vallarta Supermarkets",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Valu-mart":{name:"Valu-mart",icon:"maki-grocery",imageURL:"https://graph.facebook.com/valumartCA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7912687",shop:"supermarket"},addTags:{brand:"Valu-mart","brand:wikidata":"Q7912687","brand:wikipedia":"en:Valu-mart",name:"Valu-mart",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Vea":{name:"Vea",icon:"maki-grocery",imageURL:"https://pbs.twimg.com/profile_images/760081378868391936/qPOPFsTZ_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q5858167",shop:"supermarket"},addTags:{brand:"Vea","brand:wikidata":"Q5858167","brand:wikipedia":"es:Vea (supermercado)",name:"Vea",shop:"supermarket"},countryCodes:["ar"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/VinMart":{name:"VinMart",icon:"maki-grocery",imageURL:"https://graph.facebook.com/sieuthivinmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q60245505",shop:"supermarket"},addTags:{brand:"VinMart","brand:wikidata":"Q60245505","brand:wikipedia":"vi:VinMart",name:"VinMart",shop:"supermarket"},countryCodes:["vn"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Volg":{name:"Volg",icon:"maki-grocery",imageURL:"https://graph.facebook.com/1953378021650189/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2530746",shop:"supermarket"},addTags:{brand:"Volg","brand:wikidata":"Q2530746","brand:wikipedia":"de:Volg",name:"Volg",shop:"supermarket"},countryCodes:["ch","li"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Vomar":{name:"Vomar",icon:"maki-grocery",imageURL:"https://graph.facebook.com/vomarvoordeelmarkt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3202837",shop:"supermarket"},addTags:{brand:"Vomar","brand:wikidata":"Q3202837","brand:wikipedia":"nl:Vomar",name:"Vomar",shop:"supermarket"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Vons":{name:"Vons",icon:"maki-grocery",imageURL:"https://graph.facebook.com/vons/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7941609",shop:"supermarket"},addTags:{brand:"Vons","brand:wikidata":"Q7941609","brand:wikipedia":"en:Vons",name:"Vons",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Waitrose":{name:"Waitrose",icon:"maki-grocery",imageURL:"https://graph.facebook.com/waitroseandpartners/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q771734",shop:"supermarket"},addTags:{brand:"Waitrose","brand:wikidata":"Q771734","brand:wikipedia":"en:Waitrose & Partners",name:"Waitrose",shop:"supermarket"},countryCodes:["gb","je"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Walmart Neighborhood Market":{name:"Walmart Neighborhood Market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/walmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q483551",shop:"supermarket"},addTags:{brand:"Walmart","brand:wikidata":"Q483551","brand:wikipedia":"en:Walmart",name:"Walmart Neighborhood Market",shop:"supermarket"},countryCodes:["ca","mx","us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Walmart Supercenter":{name:"Walmart Supercenter",icon:"maki-grocery",imageURL:"https://graph.facebook.com/walmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q483551",shop:"supermarket"},addTags:{brand:"Walmart","brand:wikidata":"Q483551","brand:wikipedia":"en:Walmart",name:"Walmart Supercenter",shop:"supermarket"},terms:["walmart supercentre"],matchScore:2,suggestion:true},"shop/supermarket/Wasgau":{name:"Wasgau",icon:"maki-grocery",imageURL:"https://graph.facebook.com/wasgau/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2536857",shop:"supermarket"},addTags:{brand:"Wasgau","brand:wikidata":"Q2536857","brand:wikipedia":"de:Wasgau (Unternehmen)",name:"Wasgau",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Wegmans":{name:"Wegmans",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Wegmans/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11288478",shop:"supermarket"},addTags:{brand:"Wegmans","brand:wikidata":"Q11288478","brand:wikipedia":"en:Wegmans",name:"Wegmans",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Weis":{name:"Weis",icon:"maki-grocery",imageURL:"https://graph.facebook.com/WeisMarkets/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7980370",shop:"supermarket"},addTags:{brand:"Weis","brand:wikidata":"Q7980370","brand:wikipedia":"en:Weis Markets",name:"Weis",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Whole Foods Market":{name:"Whole Foods Market",icon:"maki-grocery",imageURL:"https://graph.facebook.com/WholeFoods/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1809448",shop:"supermarket"},addTags:{brand:"Whole Foods Market","brand:wikidata":"Q1809448","brand:wikipedia":"en:Whole Foods Market",name:"Whole Foods Market",shop:"supermarket"},countryCodes:["ca","gb","us"],terms:["whole foods"],matchScore:2,suggestion:true},"shop/supermarket/Willys":{name:"Willys",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Willys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10720214",shop:"supermarket"},addTags:{brand:"Willys","brand:wikidata":"Q10720214","brand:wikipedia":"sv:Willys",name:"Willys",shop:"supermarket"},countryCodes:["se"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/WinCo Foods":{name:"WinCo Foods",icon:"maki-grocery",imageURL:"https://graph.facebook.com/winco.official.page/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8023592",shop:"supermarket"},addTags:{brand:"WinCo Foods","brand:wikidata":"Q8023592","brand:wikipedia":"en:WinCo Foods",name:"WinCo Foods",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Winn-Dixie":{name:"Winn-Dixie",icon:"maki-grocery",imageURL:"https://graph.facebook.com/winndixie/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1264366",shop:"supermarket"},addTags:{brand:"Winn-Dixie","brand:wikidata":"Q1264366","brand:wikipedia":"en:Winn-Dixie",name:"Winn-Dixie",shop:"supermarket"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Woolworths":{name:"Woolworths",icon:"maki-grocery",imageURL:"https://graph.facebook.com/woolworths/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3249145",shop:"supermarket"},addTags:{brand:"Woolworths","brand:wikidata":"Q3249145","brand:wikipedia":"en:Woolworths Supermarkets",name:"Woolworths",shop:"supermarket"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Your Independent Grocer":{name:"Your Independent Grocer",icon:"maki-grocery",imageURL:"https://graph.facebook.com/YourIndependentGrocer/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8058833",shop:"supermarket"},addTags:{brand:"Your Independent Grocer","brand:wikidata":"Q8058833","brand:wikipedia":"en:Your Independent Grocer",name:"Your Independent Grocer",shop:"supermarket"},countryCodes:["ca"],terms:["independent"],matchScore:2,suggestion:true},"shop/supermarket/Zehrs":{name:"Zehrs",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ZehrsON/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8068546",shop:"supermarket"},addTags:{brand:"Zehrs","brand:wikidata":"Q8068546","brand:wikipedia":"en:Zehrs Markets",name:"Zehrs",shop:"supermarket"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/basic":{name:"basic",icon:"maki-grocery",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FBasic%20logo.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q809994",shop:"supermarket"},addTags:{brand:"basic","brand:wikidata":"Q809994","brand:wikipedia":"de:Basic AG",name:"basic",organic:"only",shop:"supermarket"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/denn's Biomarkt":{name:"denn's Biomarkt",icon:"maki-grocery",imageURL:"https://graph.facebook.com/dennsBiomarkt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q48883773",shop:"supermarket"},addTags:{brand:"denn's Biomarkt","brand:wikidata":"Q48883773","brand:wikipedia":"de:Dennree",name:"denn's Biomarkt",organic:"only",shop:"supermarket"},countryCodes:["at","de"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/fakta":{name:"fakta",icon:"maki-grocery",imageURL:"https://graph.facebook.com/fakta/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3172238",shop:"supermarket"},addTags:{brand:"fakta","brand:wikidata":"Q3172238","brand:wikipedia":"en:Fakta",name:"fakta",shop:"supermarket"},countryCodes:["dk"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Şok":{name:"Şok",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SokMarketler/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q19613992",shop:"supermarket"},addTags:{brand:"Şok","brand:wikidata":"Q19613992","brand:wikipedia":"tr:Şok (market)",name:"Şok",shop:"supermarket"},countryCodes:["tr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/ΑΒ Βασιλόπουλος":{name:"ΑΒ Βασιλόπουλος",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ab.vassilopoulos.sa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4721807",shop:"supermarket"},addTags:{brand:"ΑΒ Βασιλόπουλος","brand:el":"ΑΒ Βασιλόπουλος","brand:en":"AB Vassilopoulos","brand:wikidata":"Q4721807","brand:wikipedia":"el:Άλφα Βήτα Βασιλόπουλος",name:"ΑΒ Βασιλόπουλος","name:el":"ΑΒ Βασιλόπουλος","name:en":"AB Vassilopoulos",shop:"supermarket"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Γαλαξίας":{name:"Γαλαξίας",icon:"maki-grocery",imageURL:"https://graph.facebook.com/galaxias.sm/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5518063",shop:"supermarket"},addTags:{brand:"Γαλαξίας","brand:el":"Γαλαξίας","brand:en":"Galaxias","brand:wikidata":"Q5518063","brand:wikipedia":"el:Γαλαξίας (σούπερ μάρκετ)",name:"Γαλαξίας","name:el":"Γαλαξίας","name:en":"Galaxias",shop:"supermarket"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Μασούτης":{name:"Μασούτης",icon:"maki-grocery",imageURL:"https://graph.facebook.com/masoutis/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6783887",shop:"supermarket"},addTags:{brand:"Μασούτης","brand:el":"Μασούτης","brand:en":"Masoutis","brand:wikidata":"Q6783887","brand:wikipedia":"en:Masoutis",name:"Μασούτης","name:el":"Μασούτης","name:en":"Masoutis",shop:"supermarket"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Σκλαβενίτης":{name:"Σκλαβενίτης",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q7536037",shop:"supermarket"},addTags:{brand:"Σκλαβενίτης","brand:el":"Σκλαβενίτης","brand:en":"Sklavenitis","brand:wikidata":"Q7536037","brand:wikipedia":"el:Σκλαβενίτης",name:"Σκλαβενίτης","name:el":"Σκλαβενίτης","name:en":"Sklavenitis",shop:"supermarket"},countryCodes:["gr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Абсолют (Russia)":{name:"Абсолют (Russia)",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q62389597",shop:"supermarket"},addTags:{brand:"Абсолют","brand:wikidata":"Q62389597",name:"Абсолют",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Абсолют (Ukraine)":{name:"Абсолют (Ukraine)",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q62389546",shop:"supermarket"},addTags:{brand:"Абсолют","brand:wikidata":"Q62389546",name:"Абсолют",shop:"supermarket"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Азбука Вкуса":{name:"Азбука Вкуса",icon:"maki-grocery",imageURL:"https://graph.facebook.com/azbukavkusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4058209",shop:"supermarket"},addTags:{brand:"Азбука Вкуса","brand:en":"Azbuka Vkusa","brand:wikidata":"Q4058209","brand:wikipedia":"en:Azbuka Vkusa",name:"Азбука Вкуса","name:en":"Azbuka Vkusa",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Атак":{name:"Атак",icon:"maki-grocery",imageURL:"https://pbs.twimg.com/profile_images/1565040269/logo_schiever_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q2868738",shop:"supermarket"},addTags:{brand:"Атак","brand:en":"Atac","brand:wikidata":"Q2868738","brand:wikipedia":"ru:Atac",name:"Атак","name:en":"Atac",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Ашан":{name:"Ашан",icon:"maki-grocery",imageURL:"https://graph.facebook.com/auchan/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q758603",shop:"supermarket"},addTags:{brand:"Ашан","brand:en":"Auchan","brand:wikidata":"Q758603","brand:wikipedia":"ru:Auchan",name:"Ашан","name:en":"Auchan",shop:"supermarket"},countryCodes:["ru","ua"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Брусничка":{name:"Брусничка",icon:"maki-grocery",imageURL:"https://graph.facebook.com/freshmarket.brusnichka/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q21656645",shop:"supermarket"},addTags:{brand:"Брусничка","brand:en":"Brusnichka","brand:wikidata":"Q21656645","brand:wikipedia":"uk:Брусничка (торгова мережа)",name:"Брусничка","name:en":"Brusnichka",shop:"supermarket"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Виктория":{name:"Виктория",icon:"maki-grocery",imageURL:"https://graph.facebook.com/SupermarketVictoria/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4111046",shop:"supermarket"},addTags:{brand:"Виктория","brand:wikidata":"Q4111046","brand:wikipedia":"ru:Виктория (сеть магазинов)",name:"Виктория",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Виталюр":{name:"Виталюр",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q55663075",shop:"supermarket"},addTags:{brand:"Виталюр","brand:wikidata":"Q55663075","brand:wikipedia":"ru:Виталюр",name:"Виталюр",shop:"supermarket"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Вопак":{name:"Вопак",icon:"maki-grocery",imageURL:"https://graph.facebook.com/vopak.com.ua/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q30966107",shop:"supermarket"},addTags:{brand:"Вопак","brand:en":"Vopak","brand:wikidata":"Q30966107","brand:wikipedia":"uk:Вопак",name:"Вопак","name:en":"Vopak",shop:"supermarket"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Гроздь":{name:"Гроздь",icon:"maki-grocery",imageURL:"https://graph.facebook.com/grozdmag/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q21638412",shop:"supermarket"},addTags:{brand:"Гроздь","brand:wikidata":"Q21638412","brand:wikipedia":"ru:Гроздь (сеть магазинов)",name:"Гроздь",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Гулливер":{name:"Гулливер",icon:"maki-grocery",imageURL:"https://graph.facebook.com/gullivermarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q58003470",shop:"supermarket"},addTags:{brand:"Гулливер","brand:wikidata":"Q58003470",name:"Гулливер",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Десяточка":{name:"Десяточка",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q61876182",shop:"supermarket"},addTags:{brand:"Десяточка","brand:en":"Desyatochka","brand:wikidata":"Q61876182",name:"Десяточка",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Дикси":{name:"Дикси",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Dixyclub/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4161561",shop:"supermarket"},addTags:{brand:"Дикси","brand:en":"Dixy","brand:wikidata":"Q4161561","brand:wikipedia":"ru:Дикси (сеть магазинов)",name:"Дикси",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Евроопт":{name:"Евроопт",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Eurooptby/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2565040",shop:"supermarket"},addTags:{brand:"Евроопт","brand:en":"Euroopt","brand:ru":"Евроопт","brand:wikidata":"Q2565040","brand:wikipedia":"be:Еўрагандаль",name:"Евроопт","name:en":"Euroopt","name:ru":"Евроопт",shop:"supermarket"},countryCodes:["by"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Евроопт Hyper":{name:"Евроопт Hyper",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q65455975",shop:"supermarket"},addTags:{brand:"Евроопт Hyper","brand:wikidata":"Q65455975",name:"Евроопт Hyper",shop:"supermarket"},countryCodes:["by"],terms:["евроопт Гипер"],matchScore:2,suggestion:true},"shop/supermarket/Евроопт Super":{name:"Евроопт Super",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q65455960",shop:"supermarket"},addTags:{brand:"Евроопт Super","brand:wikidata":"Q65455960",name:"Евроопт Super",shop:"supermarket"},countryCodes:["by"],terms:["евроопт Супер"],matchScore:2,suggestion:true},"shop/supermarket/Карусель":{name:"Карусель",icon:"maki-grocery",imageURL:"https://graph.facebook.com/karuselgiper/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4216307",shop:"supermarket"},addTags:{brand:"Карусель","brand:en":"Karusel","brand:wikidata":"Q4216307","brand:wikipedia":"ru:Карусель (сеть магазинов)",name:"Карусель","name:en":"Karusel",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Кировский":{name:"Кировский",icon:"maki-grocery",imageURL:"https://graph.facebook.com/Kirovskii/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q63301903",shop:"supermarket"},addTags:{brand:"Кировский","brand:wikidata":"Q63301903",name:"Кировский",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Командор":{name:"Командор",icon:"maki-grocery",imageURL:"https://graph.facebook.com/prkomandor/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61876152",shop:"supermarket"},addTags:{brand:"Командор","brand:en":"Komandor","brand:wikidata":"Q61876152",name:"Командор",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Красный Яр":{name:"Красный Яр",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q1786753",shop:"supermarket"},addTags:{brand:"Красный Яр","brand:en":"Krasnyj Jar","brand:wikidata":"Q1786753","brand:wikipedia":"ru:Красный Яр",name:"Красный Яр",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Лента":{name:"Лента",icon:"maki-grocery",imageURL:"https://graph.facebook.com/lentacom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4258608",shop:"supermarket"},addTags:{brand:"Лента","brand:en":"Lenta","brand:wikidata":"Q4258608","brand:wikipedia":"ru:Лента (сеть магазинов)",name:"Лента","name:en":"Lenta",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Магнит":{name:"Магнит",icon:"maki-grocery",imageURL:"https://graph.facebook.com/magnitretail/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q940518",shop:"supermarket"},addTags:{brand:"Магнит","brand:en":"Magnit","brand:wikidata":"Q940518","brand:wikipedia":"ru:Магнит (сеть магазинов)",name:"Магнит","name:en":"Magnit",shop:"supermarket"},terms:[],matchScore:2,suggestion:true},"shop/supermarket/Мария-Ра":{name:"Мария-Ра",icon:"maki-grocery",imageURL:"https://graph.facebook.com/mariarashop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4281631",shop:"supermarket"},addTags:{brand:"Мария-Ра","brand:en":"Maria-ra","brand:wikidata":"Q4281631","brand:wikipedia":"ru:Мария-Ра",name:"Мария-Ра","name:en":"Maria-ra",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Монетка":{name:"Монетка",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q4301704",shop:"supermarket"},addTags:{brand:"Монетка","brand:en":"Monetka","brand:wikidata":"Q4301704","brand:wikipedia":"ru:Монетка (сеть магазинов)",name:"Монетка","name:en":"Monetka",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Народная 7Я семьЯ":{name:"Народная 7Я семьЯ",icon:"maki-grocery",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2F7Family.png&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q4032436",shop:"supermarket"},addTags:{brand:"Народная 7Я семьЯ","brand:en":"People's 7th Family","brand:wikidata":"Q4032436","brand:wikipedia":"ru:Народная 7Я семья",name:"Народная 7Я семьЯ","name:en":"People's 7th Family",shop:"supermarket"},countryCodes:["ru"],terms:["семья"],matchScore:2,suggestion:true},"shop/supermarket/Перекрёсток":{name:"Перекрёсток",icon:"maki-grocery",imageURL:"https://graph.facebook.com/perekrestok/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1684639",shop:"supermarket"},addTags:{brand:"Перекрёсток","brand:en":"Perekryostok","brand:wikidata":"Q1684639","brand:wikipedia":"en:Perekrestok (supermarket chain)",name:"Перекрёсток",shop:"supermarket"},countryCodes:["ru"],terms:["перекресток"],matchScore:2,suggestion:true},"shop/supermarket/Покупочка":{name:"Покупочка",icon:"maki-grocery",imageURL:"https://graph.facebook.com/121978851838251/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q58003270",shop:"supermarket"},addTags:{brand:"Покупочка","brand:wikidata":"Q58003270",name:"Покупочка",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Полушка":{name:"Полушка",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q4371080",shop:"supermarket"},addTags:{brand:"Полушка","brand:en":"Polushka","brand:wikidata":"Q4371080","brand:wikipedia":"ru:Полушка (сеть магазинов)",name:"Полушка","name:en":"Polushka",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Пятёрочка":{name:"Пятёрочка",icon:"maki-grocery",imageURL:"https://graph.facebook.com/pyaterochka/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1768969",shop:"supermarket"},addTags:{brand:"Пятёрочка","brand:en":"Pyaterochka","brand:wikidata":"Q1768969","brand:wikipedia":"ru:Пятёрочка",name:"Пятёрочка","name:en":"Pyaterochka",shop:"supermarket"},countryCodes:["ru"],terms:["пятерочка"],matchScore:2,suggestion:true},"shop/supermarket/Радеж":{name:"Радеж",icon:"maki-grocery",imageURL:"https://graph.facebook.com/radezhshop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4387165",shop:"supermarket"},addTags:{brand:"Радеж","brand:en":"Radezh","brand:wikidata":"Q4387165","brand:wikipedia":"ru:Радеж (торговая сеть)",name:"Радеж","name:en":"Radezh",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Рукавичка":{name:"Рукавичка",icon:"maki-grocery",imageURL:"https://graph.facebook.com/rukavychka.ua/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q20092568",shop:"supermarket"},addTags:{brand:"Рукавичка","brand:en":"Rukavychka","brand:wikidata":"Q20092568","brand:wikipedia":"uk:Рукавичка (торгова мережа)",name:"Рукавичка","name:en":"Rukavychka",shop:"supermarket"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Светофор":{name:"Светофор",icon:"maki-grocery",imageURL:"https://graph.facebook.com/svetoforkryj/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61875920",shop:"supermarket"},addTags:{brand:"Светофор","brand:en":"Svetofor","brand:wikidata":"Q61875920",name:"Светофор",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Семишагофф":{name:"Семишагофф",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q58003374",shop:"supermarket"},addTags:{brand:"Семишагофф","brand:wikidata":"Q58003374",name:"Семишагофф",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Сільпо":{name:"Сільпо",icon:"maki-grocery",imageURL:"https://graph.facebook.com/silpo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4419434",shop:"supermarket"},addTags:{brand:"Сільпо","brand:en":"Silpo","brand:wikidata":"Q4419434","brand:wikipedia":"en:Silpo",name:"Сільпо","name:en":"Silpo",shop:"supermarket"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Таврия В":{name:"Таврия В",icon:"maki-grocery",imageURL:"https://graph.facebook.com/tavriavonline/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q61823146",shop:"supermarket"},addTags:{brand:"Таврия В","brand:wikidata":"Q61823146","brand:wikipedia":"uk:Таврія В",name:"Таврия В",shop:"supermarket"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Фора":{name:"Фора",icon:"maki-grocery",imageURL:"https://graph.facebook.com/fora.ukraine/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q12165977",shop:"supermarket"},addTags:{brand:"Фора","brand:en":"Fora","brand:wikidata":"Q12165977","brand:wikipedia":"uk:Фора (мережа магазинів)",name:"Фора","name:en":"Fora",shop:"supermarket"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Фуршет":{name:"Фуршет",icon:"maki-grocery",imageURL:"https://graph.facebook.com/furshetcom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4493564",shop:"supermarket"},addTags:{brand:"Фуршет","brand:en":"Furshet","brand:wikidata":"Q4493564","brand:wikipedia":"uk:Фуршет (мережа супермаркетів)",name:"Фуршет","name:en":"Furshet",shop:"supermarket"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/Эдельвейс":{name:"Эдельвейс",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q57979368",shop:"supermarket"},addTags:{brand:"Эдельвейс","brand:en":"Edelveis","brand:wikidata":"Q57979368",name:"Эдельвейс","name:en":"Edelveis",shop:"supermarket"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/いなげや":{name:"いなげや",icon:"maki-grocery",imageURL:"https://graph.facebook.com/151131734909829/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17193392",shop:"supermarket"},addTags:{brand:"いなげや","brand:en":"Inageya","brand:ja":"いなげや","brand:wikidata":"Q17193392","brand:wikipedia":"ja:いなげや",name:"いなげや","name:en":"Inageya","name:ja":"いなげや",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/まいばすけっと":{name:"まいばすけっと",icon:"maki-grocery",imageURL:"https://graph.facebook.com/mybasket.official/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11278154",shop:"supermarket"},addTags:{brand:"まいばすけっと","brand:en":"My Basket","brand:ja":"まいばすけっと","brand:wikidata":"Q11278154","brand:wikipedia":"ja:まいばすけっと",name:"まいばすけっと","name:en":"My Basket","name:ja":"まいばすけっと",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/イオン":{name:"イオン",icon:"maki-grocery",imageURL:"https://graph.facebook.com/aeonretail.english/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11285951",shop:"supermarket"},addTags:{brand:"イオン","brand:en":"AEON","brand:ja":"イオン","brand:wikidata":"Q11285951","brand:wikipedia":"ja:イオン (店舗ブランド)",name:"イオン","name:en":"AEON","name:ja":"イオン",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/イトーヨーカドー":{name:"イトーヨーカドー",icon:"maki-grocery",imageURL:"https://graph.facebook.com/itoyokado/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3088746",shop:"supermarket"},addTags:{brand:"イトーヨーカドー","brand:en":"Ito-Yokado","brand:ja":"イトーヨーカドー","brand:wikidata":"Q3088746","brand:wikipedia":"en:Ito-Yokado",name:"イトーヨーカドー","name:en":"Ito-Yokado","name:ja":"イトーヨーカドー",shop:"supermarket"},countryCodes:["jp"],terms:["イトーヨーカ堂"],matchScore:2,suggestion:true},"shop/supermarket/カスミ":{name:"カスミ",icon:"maki-grocery",imageURL:"https://graph.facebook.com/kasumi.fanpage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11294160",shop:"supermarket"},addTags:{brand:"カスミ","brand:en":"Kasumi","brand:ja":"カスミ","brand:wikidata":"Q11294160","brand:wikipedia":"ja:カスミ",name:"カスミ","name:en":"Kasumi","name:ja":"カスミ",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/バロー":{name:"バロー",icon:"maki-grocery",imageURL:"https://graph.facebook.com/138259402886129/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11328346",shop:"supermarket"},addTags:{brand:"バロー","brand:en":"Valor","brand:ja":"バロー","brand:wikidata":"Q11328346","brand:wikipedia":"ja:バロー (チェーンストア)",name:"バロー","name:en":"Valor","name:ja":"バロー",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/マックスバリュ":{name:"マックスバリュ",icon:"maki-grocery",imageURL:"https://graph.facebook.com/158243057524643/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1960109",shop:"supermarket"},addTags:{brand:"マックスバリュ","brand:en":"Maxvalu Tokai","brand:ja":"マックスバリュ","brand:wikidata":"Q1960109","brand:wikipedia":"en:MaxValu",name:"マックスバリュ","name:en":"Maxvalu Tokai","name:ja":"マックスバリュ",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/マルエツ":{name:"マルエツ",icon:"maki-grocery",imageURL:"https://graph.facebook.com/maruetsu.rakuten/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11341197",shop:"supermarket"},addTags:{brand:"マルエツ","brand:en":"Maruetsu","brand:ja":"マルエツ","brand:wikidata":"Q11341197","brand:wikipedia":"ja:マルエツ",name:"マルエツ","name:en":"Maruetsu","name:ja":"マルエツ",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/ヤオコー":{name:"ヤオコー",icon:"maki-grocery",imageURL:"https://graph.facebook.com/yaokococoro/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11344967",shop:"supermarket"},addTags:{brand:"ヤオコー","brand:en":"Yaoko","brand:ja":"ヤオコー","brand:wikidata":"Q11344967","brand:wikipedia":"ja:ヤオコー",name:"ヤオコー","name:en":"Yaoko","name:ja":"ヤオコー",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/ヨークベニマル":{name:"ヨークベニマル",icon:"maki-grocery",imageURL:"https://graph.facebook.com/ybfan89/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11346199",shop:"supermarket"},addTags:{brand:"ヨークベニマル","brand:en":"York Benimaru","brand:ja":"ヨークベニマル","brand:wikidata":"Q11346199","brand:wikipedia":"ja:ヨークベニマル",name:"ヨークベニマル","name:en":"York Benimaru","name:ja":"ヨークベニマル",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/ヨークマート":{name:"ヨークマート",icon:"maki-grocery",imageURL:"https://graph.facebook.com/137658762945673/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11346201",shop:"supermarket"},addTags:{brand:"ヨークマート","brand:en":"YorkMart","brand:ja":"ヨークマート","brand:wikidata":"Q11346201","brand:wikipedia":"ja:ヨークマート",name:"ヨークマート","name:en":"YorkMart","name:ja":"ヨークマート",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/ライフ":{name:"ライフ",icon:"maki-grocery",imageURL:"https://graph.facebook.com/lifecorp428/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11346476",shop:"supermarket"},addTags:{brand:"ライフ","brand:en":"Life","brand:ja":"ライフ","brand:wikidata":"Q11346476","brand:wikipedia":"ja:ライフコーポレーション",name:"ライフ","name:en":"Life","name:ja":"ライフ",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/全聯":{name:"全聯",icon:"maki-grocery",imageURL:"https://graph.facebook.com/pxmartchannel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7262792",shop:"supermarket"},addTags:{brand:"全聯","brand:en":"Pxmart","brand:wikidata":"Q7262792","brand:wikipedia":"en:PX Mart",name:"全聯","name:en":"Pxmart",shop:"supermarket"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/全聯福利中心":{name:"全聯福利中心",icon:"maki-grocery",imageURL:"https://graph.facebook.com/pxmartchannel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7262792",shop:"supermarket"},addTags:{brand:"全聯福利中心","brand:en":"Pxmart","brand:wikidata":"Q7262792","brand:wikipedia":"en:PX Mart",name:"全聯福利中心","name:en":"Pxmart",shop:"supermarket"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/家乐福":{name:"家乐福",icon:"maki-grocery",imageURL:"https://graph.facebook.com/carrefour/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q217599",shop:"supermarket"},addTags:{brand:"家乐福","brand:wikidata":"Q217599","brand:wikipedia":"wuu:家乐福",name:"家乐福",shop:"supermarket"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/惠康 Wellcome":{name:"惠康 Wellcome",icon:"maki-grocery",imageURL:"https://graph.facebook.com/wellcome.supermarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q706247",shop:"supermarket"},addTags:{brand:"惠康 Wellcome","brand:en":"Wellcome","brand:wikidata":"Q706247","brand:wikipedia":"zh:惠康",name:"惠康 Wellcome","name:en":"Wellcome",shop:"supermarket"},countryCodes:["hk"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/業務スーパー":{name:"業務スーパー",icon:"maki-grocery",imageURL:"https://graph.facebook.com/gsjdf/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11590183",shop:"supermarket"},addTags:{brand:"業務スーパー","brand:en":"Gyōmu sūpā","brand:ja":"業務スーパー","brand:wikidata":"Q11590183","brand:wikipedia":"ja:神戸物産",name:"業務スーパー","name:en":"Gyōmu sūpā","name:ja":"業務スーパー",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/沃尔玛":{name:"沃尔玛",icon:"maki-grocery",imageURL:"https://graph.facebook.com/walmart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q483551",shop:"supermarket"},addTags:{brand:"沃尔玛","brand:en":"Walmart","brand:wikidata":"Q483551","brand:wikipedia":"wuu:沃尔玛",name:"沃尔玛","name:en":"Walmart",shop:"supermarket"},countryCodes:["cn"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/美廉社":{name:"美廉社",icon:"maki-grocery",imageURL:"https://graph.facebook.com/simplemart1/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15914017",shop:"supermarket"},addTags:{brand:"美廉社","brand:en":"Simple Mart","brand:wikidata":"Q15914017","brand:wikipedia":"zh:美廉社",name:"美廉社","name:en":"Simple Mart",shop:"supermarket"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/西友":{name:"西友",icon:"maki-grocery",imageURL:"https://graph.facebook.com/yourrepo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3108542",shop:"supermarket"},addTags:{brand:"西友","brand:en":"Seiyu","brand:wikidata":"Q3108542","brand:wikipedia":"en:Seiyu Group",name:"西友","name:en":"Seiyu",shop:"supermarket"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/頂好":{name:"頂好",icon:"maki-grocery",imageURL:"https://graph.facebook.com/wellcome.supermarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q706247",shop:"supermarket"},addTags:{brand:"頂好","brand:en":"Wellcome","brand:wikidata":"Q706247","brand:wikipedia":"en:Wellcome",name:"頂好","name:en":"Wellcome",shop:"supermarket"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/頂好超市":{name:"頂好超市",icon:"maki-grocery",imageURL:"https://graph.facebook.com/wellcome.supermarket/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q706247",shop:"supermarket"},addTags:{brand:"頂好超市","brand:en":"Wellcome","brand:wikidata":"Q706247","brand:wikipedia":"en:Wellcome",name:"頂好超市","name:en":"Wellcome",shop:"supermarket"},countryCodes:["tw"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/롯데마트":{name:"롯데마트",icon:"maki-grocery",imageURL:"https://graph.facebook.com/lottemart/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q326715",shop:"supermarket"},addTags:{brand:"롯데마트","brand:ko":"롯데마트","brand:wikidata":"Q326715","brand:wikipedia":"ko:롯데마트",name:"롯데마트","name:en":"Lotte Mart","name:ko":"롯데마트",shop:"supermarket"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"shop/supermarket/하나로마트":{name:"하나로마트",icon:"maki-grocery",geometry:["point","area"],tags:{"brand:wikidata":"Q12590611",shop:"supermarket"},addTags:{brand:"하나로마트","brand:en":"Hanaro Mart","brand:ko":"하나로마트","brand:wikidata":"Q12590611","brand:wikipedia":"ko:농협유통",name:"하나로마트","name:ko":"하나로마트",shop:"supermarket"},countryCodes:["kr"],terms:[],matchScore:2,suggestion:true},"shop/swimming_pool/Leslie's Pool Supplies":{name:"Leslie's Pool Supplies",icon:"fas-swimmer",imageURL:"https://graph.facebook.com/LesliesPoolSupplies/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6530568",shop:"swimming_pool"},addTags:{brand:"Leslie's Pool Supplies","brand:wikidata":"Q6530568","brand:wikipedia":"en:Leslie's Poolmart",name:"Leslie's Pool Supplies",official_name:"Leslie's Pool Supplies Service & Repair",shop:"swimming_pool"},countryCodes:["us"],terms:["leslie's swimming pool supplies"],matchScore:2,suggestion:true},"shop/tea/DavidsTea":{name:"DavidsTea",icon:"maki-teahouse",imageURL:"https://pbs.twimg.com/profile_images/1134536272062685184/YvIzsQOi_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q3019129",shop:"tea"},addTags:{brand:"DavidsTea","brand:wikidata":"Q3019129","brand:wikipedia":"en:DavidsTea",name:"DavidsTea",shop:"tea"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/tea/T2":{name:"T2",icon:"maki-teahouse",imageURL:"https://graph.facebook.com/T2Tea/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q48802134",shop:"tea"},addTags:{brand:"T2","brand:wikidata":"Q48802134","brand:wikipedia":"en:T2 (Australian company)",name:"T2",shop:"tea"},countryCodes:["au"],terms:[],matchScore:2,suggestion:true},"shop/tea/TeeGschwendner":{name:"TeeGschwendner",icon:"maki-teahouse",imageURL:"https://graph.facebook.com/TeeGschwendner/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2399969",shop:"tea"},addTags:{brand:"TeeGschwendner","brand:wikidata":"Q2399969","brand:wikipedia":"de:TeeGschwendner",name:"TeeGschwendner",shop:"tea"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/ticket/Boutique Grandes Lignes":{name:"Boutique Grandes Lignes",icon:"fas-ticket-alt",imageURL:"https://graph.facebook.com/SNCFOFFICIEL/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q13646",shop:"ticket"},addTags:{brand:"Boutique Grandes Lignes","brand:wikidata":"Q13646","brand:wikipedia":"fr:Société nationale des chemins de fer français",name:"Boutique Grandes Lignes",shop:"ticket"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/ticket/DB Reisezentrum":{name:"DB Reisezentrum",icon:"fas-ticket-alt",imageURL:"https://graph.facebook.com/348950735250586/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15842100",shop:"ticket"},addTags:{brand:"DB Reisezentrum","brand:wikidata":"Q15842100","brand:wikipedia":"de:Reisezentrum",name:"DB Reisezentrum",shop:"ticket"},countryCodes:["de"],terms:["reisezentrum"],matchScore:2,suggestion:true},"shop/ticket/Guichet Transilien":{name:"Guichet Transilien",icon:"fas-ticket-alt",imageURL:"https://pbs.twimg.com/profile_images/776102546045865984/-NPGF3eG_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q389554",shop:"ticket"},addTags:{brand:"Guichet Transilien","brand:wikidata":"Q389554","brand:wikipedia":"fr:Transilien",name:"Guichet Transilien",shop:"ticket"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/tobacco/Nemzeti Dohánybolt":{name:"Nemzeti Dohánybolt",icon:"maki-shop",geometry:["point","area"],tags:{"brand:wikidata":"Q20639040",shop:"tobacco"},addTags:{brand:"Nemzeti Dohánybolt","brand:wikidata":"Q20639040","brand:wikipedia":"en:Dohánybolt",name:"Nemzeti Dohánybolt",shop:"tobacco"},countryCodes:["hu"],terms:["dohánybolt"],matchScore:2,suggestion:true},"shop/toys/Build-A-Bear Workshop":{name:"Build-A-Bear Workshop",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/Buildabear/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1002992",shop:"toys"},addTags:{brand:"Build-A-Bear Workshop","brand:wikidata":"Q1002992","brand:wikipedia":"en:Build-A-Bear Workshop",name:"Build-A-Bear Workshop",shop:"toys"},countryCodes:["ca","gb","us"],terms:["build a bear"],matchScore:2,suggestion:true},"shop/toys/Dráčik":{name:"Dráčik",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/2185187834828492/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57653669",shop:"toys"},addTags:{brand:"Dráčik","brand:wikidata":"Q57653669",name:"Dráčik",shop:"toys"},countryCodes:["cz","sk"],terms:[],matchScore:2,suggestion:true},"shop/toys/Intertoys":{name:"Intertoys",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/Intertoys/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1891407",shop:"toys"},addTags:{brand:"Intertoys","brand:wikidata":"Q1891407","brand:wikipedia":"nl:Intertoys",name:"Intertoys",shop:"toys"},countryCodes:["be","de","nl"],terms:[],matchScore:2,suggestion:true},"shop/toys/JouéClub":{name:"JouéClub",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/JoueClubFr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3187152",shop:"toys"},addTags:{brand:"JouéClub","brand:wikidata":"Q3187152","brand:wikipedia":"fr:JouéClub",name:"JouéClub",shop:"toys"},countryCodes:["ad","fr","it","lb","ma","qa"],terms:[],matchScore:2,suggestion:true},"shop/toys/King Jouet":{name:"King Jouet",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/KingJouet/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3197009",shop:"toys"},addTags:{brand:"King Jouet","brand:en":"King Toy","brand:wikidata":"Q3197009","brand:wikipedia":"fr:King Jouet",name:"King Jouet","name:en":"King Toy",shop:"toys"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/toys/La Grande Récré":{name:"La Grande Récré",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/lagranderecre/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3209556",shop:"toys"},addTags:{brand:"La Grande Récré","brand:wikidata":"Q3209556","brand:wikipedia":"fr:La Grande Récré (magasin)",name:"La Grande Récré",shop:"toys"},countryCodes:["be","ci","es","fr","ma"],terms:[],matchScore:2,suggestion:true},"shop/toys/Lego":{name:"Lego",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/lego/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1063455",shop:"toys"},addTags:{brand:"Lego","brand:wikidata":"Q1063455","brand:wikipedia":"en:The Lego Group",name:"Lego",shop:"toys"},terms:["lego store"],matchScore:2,suggestion:true},"shop/toys/Lekia":{name:"Lekia",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/lekiasweden/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q56303274",shop:"toys"},addTags:{brand:"Lekia","brand:wikidata":"Q56303274","brand:wikipedia":"sv:Lekia",name:"Lekia",shop:"toys"},countryCodes:["no","se"],terms:[],matchScore:2,suggestion:true},"shop/toys/Maxi Toys":{name:"Maxi Toys",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/MaxiToys.FR/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16663879",shop:"toys"},addTags:{brand:"Maxi Toys","brand:wikidata":"Q16663879","brand:wikipedia":"fr:Maxi Toys",name:"Maxi Toys",shop:"toys"},countryCodes:["be","de","fr","it"],terms:[],matchScore:2,suggestion:true},"shop/toys/Smyths":{name:"Smyths",icon:"fas-space-shuttle",imageURL:"https://pbs.twimg.com/profile_images/1067119121245048834/S_SSe3Yd_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q7546779",shop:"toys"},addTags:{brand:"Smyths","brand:wikidata":"Q7546779","brand:wikipedia":"en:Smyths",name:"Smyths",shop:"toys"},countryCodes:["at","ch","de","gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/toys/The Entertainer":{name:"The Entertainer",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/TheEntertainerToyShop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7732289",shop:"toys"},addTags:{brand:"The Entertainer","brand:wikidata":"Q7732289","brand:wikipedia":"en:The Entertainer (retailer)",name:"The Entertainer",shop:"toys"},countryCodes:["gb","je"],terms:[],matchScore:2,suggestion:true},"shop/toys/Toys R Us":{name:"Toys R Us",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/toysrus/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q696334",shop:"toys"},addTags:{brand:"Toys R Us","brand:wikidata":"Q696334","brand:wikipedia":"en:Toys \"R\" Us",name:"Toys R Us",shop:"toys"},terms:[],matchScore:2,suggestion:true},"shop/toys/Детский мир":{name:"Детский мир",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/detmir/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16643324",shop:"toys"},addTags:{brand:"Детский мир","brand:en":"Detskiy Mir","brand:wikidata":"Q16643324","brand:wikipedia":"en:Detsky Mir",name:"Детский мир","name:en":"Detskiy Mir",shop:"toys"},countryCodes:["by","kg","kz","ru","ua","uz"],terms:[],matchScore:2,suggestion:true},"shop/toys/Кораблик":{name:"Кораблик",icon:"fas-space-shuttle",imageURL:"https://graph.facebook.com/korablik.ru/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57653416",shop:"toys"},addTags:{brand:"Кораблик","brand:wikidata":"Q57653416",name:"Кораблик",shop:"toys"},countryCodes:["ru"],terms:[],matchScore:2,suggestion:true},"shop/trade/84 Lumber":{name:"84 Lumber",icon:"maki-shop",imageURL:"https://graph.facebook.com/84lumber/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4644779",shop:"trade"},addTags:{brand:"84 Lumber","brand:wikidata":"Q4644779","brand:wikipedia":"en:84 Lumber",name:"84 Lumber",shop:"trade",trade:"building_supplies"},countryCodes:["us"],terms:["84","eighty-four lumber"],matchScore:2,suggestion:true},"shop/trade/Fastenal":{name:"Fastenal",icon:"maki-shop",imageURL:"https://graph.facebook.com/fastenalcompany/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3067119",shop:"trade"},addTags:{brand:"Fastenal","brand:wikidata":"Q3067119","brand:wikipedia":"en:Fastenal",name:"Fastenal",shop:"trade"},countryCodes:["ca","pa","us"],terms:[],matchScore:2,suggestion:true},"shop/trade/Grainger":{name:"Grainger",icon:"maki-shop",imageURL:"https://graph.facebook.com/grainger/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1627894",shop:"trade"},addTags:{brand:"Grainger","brand:wikidata":"Q1627894","brand:wikipedia":"en:W. W. Grainger",name:"Grainger",shop:"trade"},countryCodes:["ca","us"],terms:["granger","w. w. grainger"],matchScore:2,suggestion:true},"shop/travel_agency/American Automobile Association":{name:"American Automobile Association",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/AAAFanPage/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q463436",shop:"travel_agency"},addTags:{brand:"American Automobile Association","brand:wikidata":"Q463436","brand:wikipedia":"en:American Automobile Association",name:"American Automobile Association",shop:"travel_agency",short_name:"AAA"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/travel_agency/Coral Travel":{name:"Coral Travel",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/coraltravelofficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q58011479",shop:"travel_agency"},addTags:{brand:"Coral Travel","brand:wikidata":"Q58011479",name:"Coral Travel",shop:"travel_agency"},countryCodes:["pl","ru","ua"],terms:[],matchScore:2,suggestion:true},"shop/travel_agency/D-reizen":{name:"D-reizen",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/dreizenvakanties/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2445498",shop:"travel_agency"},addTags:{brand:"D-reizen","brand:wikidata":"Q2445498","brand:wikipedia":"nl:D-reizen",name:"D-reizen",shop:"travel_agency"},countryCodes:["nl"],terms:[],matchScore:2,suggestion:true},"shop/travel_agency/DER Reisebüro":{name:"DER Reisebüro",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/DER/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q56729186",shop:"travel_agency"},addTags:{brand:"DER Reisebüro","brand:wikidata":"Q56729186","brand:wikipedia":"de:Deutsches Reisebüro",name:"DER Reisebüro",shop:"travel_agency"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/travel_agency/Expedia CruiseShipCenters":{name:"Expedia CruiseShipCenters",icon:"fas-suitcase",imageURL:"https://pbs.twimg.com/profile_images/476431342729588736/6JpT6tus_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q5189985",shop:"travel_agency"},addTags:{brand:"Expedia CruiseShipCenters","brand:wikidata":"Q5189985","brand:wikipedia":"en:Expedia CruiseShipCenters",name:"Expedia CruiseShipCenters",shop:"travel_agency"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/travel_agency/First Reisebüro":{name:"First Reisebüro",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/TUIDeutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q573103",shop:"travel_agency"},addTags:{brand:"First Reisebüro","brand:wikidata":"Q573103","brand:wikipedia":"en:TUI Group",name:"First Reisebüro",shop:"travel_agency"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/travel_agency/Flight Centre":{name:"Flight Centre",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/flightcentreAU/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5459202",shop:"travel_agency"},addTags:{brand:"Flight Centre","brand:wikidata":"Q5459202","brand:wikipedia":"en:Flight Centre",name:"Flight Centre",shop:"travel_agency"},terms:[],matchScore:2,suggestion:true},"shop/travel_agency/Halcón Viajes":{name:"Halcón Viajes",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/halconviajes.oficial/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57591939",shop:"travel_agency"},addTags:{brand:"Halcón Viajes","brand:wikidata":"Q57591939",name:"Halcón Viajes",shop:"travel_agency"},countryCodes:["es"],terms:[],matchScore:2,suggestion:true},"shop/travel_agency/Havas Voyages":{name:"Havas Voyages",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/havas.voyages/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57628091",shop:"travel_agency"},addTags:{brand:"Havas Voyages","brand:wikidata":"Q57628091",name:"Havas Voyages",shop:"travel_agency"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/travel_agency/Liberty Travel":{name:"Liberty Travel",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/LibertyTravel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q17031665",shop:"travel_agency"},addTags:{brand:"Liberty Travel","brand:wikidata":"Q17031665","brand:wikipedia":"en:Liberty Travel",name:"Liberty Travel",shop:"travel_agency"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/travel_agency/Reiseland":{name:"Reiseland",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/reiseland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q40387610",shop:"travel_agency"},addTags:{brand:"Reiseland","brand:wikidata":"Q40387610","brand:wikipedia":"de:OTTO Reisen",name:"Reiseland",shop:"travel_agency"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/travel_agency/Selectour":{name:"Selectour",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/SelectourVoyages/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3478073",shop:"travel_agency"},addTags:{brand:"Selectour","brand:wikidata":"Q3478073","brand:wikipedia":"fr:Selectour",name:"Selectour",shop:"travel_agency"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/travel_agency/TUI (Group)":{name:"TUI (Group)",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/TUIDeutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q573103",shop:"travel_agency"},addTags:{brand:"TUI","brand:wikidata":"Q573103","brand:wikipedia":"en:TUI Group",name:"TUI",shop:"travel_agency"},terms:["tui reisecenter"],matchScore:2,suggestion:true},"shop/travel_agency/TUI (UK)":{name:"TUI (UK)",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/worldofTUI/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7795876",shop:"travel_agency"},addTags:{brand:"TUI","brand:wikidata":"Q7795876","brand:wikipedia":"en:TUI UK",name:"TUI",shop:"travel_agency"},countryCodes:["gb"],terms:["thomson"],matchScore:2,suggestion:true},"shop/travel_agency/The Co-operative Travel":{name:"The Co-operative Travel",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/cooperativetraveluk/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7726526",shop:"travel_agency"},addTags:{brand:"The Co-operative Travel","brand:wikidata":"Q7726526","brand:wikipedia":"en:The Co-operative Travel",name:"The Co-operative Travel",shop:"travel_agency"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/travel_agency/Thomas Cook":{name:"Thomas Cook",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/thomascook/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2141800",shop:"travel_agency"},addTags:{brand:"Thomas Cook","brand:wikidata":"Q2141800","brand:wikipedia":"en:Thomas Cook Group",name:"Thomas Cook",shop:"travel_agency"},terms:[],matchScore:2,suggestion:true},"shop/travel_agency/Поехали с нами":{name:"Поехали с нами",icon:"fas-suitcase",imageURL:"https://graph.facebook.com/PoehaliSNamiua/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q25439141",shop:"travel_agency"},addTags:{brand:"Поехали с нами","brand:wikidata":"Q25439141","brand:wikipedia":"uk:Поїхали з нами",name:"Поехали с нами",shop:"travel_agency"},countryCodes:["ua"],terms:[],matchScore:2,suggestion:true},"shop/tyres/Big O Tires":{name:"Big O Tires",icon:"maki-shop",imageURL:"https://graph.facebook.com/BigOTires/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4906085",shop:"tyres"},addTags:{brand:"Big O Tires","brand:wikidata":"Q4906085","brand:wikipedia":"en:Big O Tires",name:"Big O Tires",shop:"tyres"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/tyres/Bridgestone":{name:"Bridgestone",icon:"maki-shop",imageURL:"https://graph.facebook.com/BridgestoneTires/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q179433",shop:"tyres"},addTags:{brand:"Bridgestone","brand:wikidata":"Q179433","brand:wikipedia":"en:Bridgestone",name:"Bridgestone",shop:"tyres"},terms:[],matchScore:2,suggestion:true},"shop/tyres/Discount Tire":{name:"Discount Tire",icon:"maki-shop",imageURL:"https://graph.facebook.com/DiscountTire/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5281735",shop:"tyres"},addTags:{brand:"Discount Tire","brand:wikidata":"Q5281735","brand:wikipedia":"en:Discount Tire",name:"Discount Tire",shop:"tyres"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/tyres/Express Oil Change & Tire Engineers":{name:"Express Oil Change & Tire Engineers",icon:"maki-shop",imageURL:"https://graph.facebook.com/expressoil/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q39057654",shop:"tyres"},addTags:{brand:"Express Oil Change & Tire Engineers","brand:wikidata":"Q39057654","brand:wikipedia":"en:Express Oil Change & Tire Engineers",name:"Express Oil Change & Tire Engineers",shop:"tyres"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/tyres/Les Schwab Tire Center":{name:"Les Schwab Tire Center",icon:"maki-shop",imageURL:"https://graph.facebook.com/lesschwab/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6529977",shop:"tyres"},addTags:{brand:"Les Schwab Tire Center","brand:wikidata":"Q6529977","brand:wikipedia":"en:Les Schwab Tire Centers",name:"Les Schwab Tire Center",shop:"tyres"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/tyres/Michelin":{name:"Michelin",icon:"maki-shop",imageURL:"https://graph.facebook.com/MichelinSustainableMobility/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q151107",shop:"tyres"},addTags:{brand:"Michelin","brand:wikidata":"Q151107","brand:wikipedia":"en:Michelin",name:"Michelin",shop:"tyres"},terms:[],matchScore:2,suggestion:true},"shop/tyres/Tire Discounters":{name:"Tire Discounters",icon:"maki-shop",imageURL:"https://graph.facebook.com/TireDiscounters/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q29093639",shop:"tyres"},addTags:{brand:"Tire Discounters","brand:wikidata":"Q29093639","brand:wikipedia":"en:Tire Discounters",name:"Tire Discounters",shop:"tyres"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/tyres/Tires Plus":{name:"Tires Plus",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/378800000821067695/d59e0a647859aabacc690ebb962670aa_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q64015091",shop:"tyres"},addTags:{brand:"Tires Plus","brand:wikidata":"Q64015091",name:"Tires Plus",shop:"tyres"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/tyres/Vianor":{name:"Vianor",icon:"maki-shop",imageURL:"https://graph.facebook.com/VianorSuomi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q10714920",shop:"tyres"},addTags:{brand:"Vianor","brand:wikidata":"Q10714920","brand:wikipedia":"sv:Vianor",name:"Vianor",shop:"tyres"},terms:[],matchScore:2,suggestion:true},"shop/vacuum_cleaner/Oreck":{name:"Oreck",icon:"maki-shop",imageURL:"https://graph.facebook.com/oreck/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q57273844",shop:"vacuum_cleaner"},addTags:{brand:"Oreck","brand:wikidata":"Q57273844",name:"Oreck",shop:"vacuum_cleaner"},countryCodes:["us"],terms:["oreck vacuums"],matchScore:2,suggestion:true},"shop/variety_store/99 Cents Only Stores":{name:"99 Cents Only Stores",icon:"maki-shop",imageURL:"https://graph.facebook.com/99CentsOnly/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4646294",shop:"variety_store"},addTags:{brand:"99 Cents Only Stores","brand:wikidata":"Q4646294","brand:wikipedia":"en:99 Cents Only Stores",name:"99 Cents Only Stores",shop:"variety_store"},countryCodes:["us"],terms:["99 cent only stores","99 cents only"],matchScore:2,suggestion:true},"shop/variety_store/Action":{name:"Action",icon:"maki-shop",imageURL:"https://graph.facebook.com/actiondotcom/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2634111",shop:"variety_store"},addTags:{brand:"Action","brand:wikidata":"Q2634111","brand:wikipedia":"nl:Action (winkel)",name:"Action",shop:"variety_store"},countryCodes:["at","be","de","fr","nl","pl"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/B&M Bargains":{name:"B&M Bargains",icon:"maki-shop",imageURL:"https://graph.facebook.com/bmstores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4836931",shop:"variety_store"},addTags:{brand:"B&M Bargains","brand:wikidata":"Q4836931","brand:wikipedia":"en:B & M",name:"B&M Bargains",shop:"variety_store"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Big Bazar":{name:"Big Bazar",icon:"maki-shop",imageURL:"https://graph.facebook.com/bigbazarbv/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15873104",shop:"variety_store"},addTags:{brand:"Big Bazar","brand:wikidata":"Q15873104","brand:wikipedia":"nl:Big Bazar",name:"Big Bazar",shop:"variety_store"},countryCodes:["be","nl"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Daiso Japan":{name:"Daiso Japan",icon:"maki-shop",imageURL:"https://graph.facebook.com/daisojapanusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q866991",shop:"variety_store"},addTags:{brand:"Daiso","brand:wikidata":"Q866991",name:"Daiso Japan",shop:"variety_store",short_name:"Daiso"},countryCodes:["au","us"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Dollar General":{name:"Dollar General",icon:"maki-shop",imageURL:"https://graph.facebook.com/dollargeneral/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q145168",shop:"variety_store"},addTags:{brand:"Dollar General","brand:wikidata":"Q145168","brand:wikipedia":"en:Dollar General",name:"Dollar General",shop:"variety_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Dollar Tree":{name:"Dollar Tree",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/509405558898561024/27hmihjq_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q5289230",shop:"variety_store"},addTags:{brand:"Dollar Tree","brand:wikidata":"Q5289230","brand:wikipedia":"en:Dollar Tree",name:"Dollar Tree",shop:"variety_store"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Dollarama":{name:"Dollarama",icon:"maki-shop",imageURL:"https://graph.facebook.com/415845051799232/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3033947",shop:"variety_store"},addTags:{brand:"Dollarama","brand:wikidata":"Q3033947","brand:wikipedia":"en:Dollarama",name:"Dollarama",shop:"variety_store"},countryCodes:["ca"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/EuroShop":{name:"EuroShop",icon:"maki-shop",imageURL:"https://graph.facebook.com/schumeuroshop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q15846763",shop:"variety_store"},addTags:{brand:"EuroShop","brand:wikidata":"Q15846763","brand:wikipedia":"de:Schum EuroShop",name:"EuroShop",shop:"variety_store"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Family Dollar":{name:"Family Dollar",icon:"maki-shop",imageURL:"https://graph.facebook.com/familydollar/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5433101",shop:"variety_store"},addTags:{brand:"Family Dollar","brand:wikidata":"Q5433101","brand:wikipedia":"en:Family Dollar",name:"Family Dollar",shop:"variety_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Five Below":{name:"Five Below",icon:"maki-shop",imageURL:"https://graph.facebook.com/FiveBelow/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5455836",shop:"variety_store"},addTags:{brand:"Five Below","brand:wikidata":"Q5455836","brand:wikipedia":"en:Five Below",name:"Five Below",shop:"variety_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Fix Price":{name:"Fix Price",icon:"maki-shop",imageURL:"https://graph.facebook.com/fixprice.russia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4038791",shop:"variety_store"},addTags:{brand:"Fix Price","brand:wikidata":"Q4038791","brand:wikipedia":"ru:Fix Price (сеть магазинов)",name:"Fix Price",shop:"variety_store"},countryCodes:["by","ru"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Flying Tiger Copenhagen":{name:"Flying Tiger Copenhagen",icon:"maki-shop",imageURL:"https://graph.facebook.com/flyingtigercph/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2786319",shop:"variety_store"},addTags:{brand:"Flying Tiger Copenhagen","brand:wikidata":"Q2786319","brand:wikipedia":"en:Flying Tiger Copenhagen",name:"Flying Tiger Copenhagen",shop:"variety_store",short_name:"Flying Tiger"},terms:["tgr","tiger"],matchScore:2,suggestion:true},"shop/variety_store/GiFi":{name:"GiFi",icon:"maki-shop",imageURL:"https://graph.facebook.com/GiFi.Officiel/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3105439",shop:"variety_store"},addTags:{brand:"GiFi","brand:wikidata":"Q3105439","brand:wikipedia":"fr:Gifi",name:"GiFi",shop:"variety_store"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Home Bargains":{name:"Home Bargains",icon:"maki-shop",imageURL:"https://graph.facebook.com/homebargains/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5888229",shop:"variety_store"},addTags:{brand:"Home Bargains","brand:wikidata":"Q5888229","brand:wikipedia":"en:Home Bargains",name:"Home Bargains",shop:"variety_store"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Miniso":{name:"Miniso",icon:"maki-shop",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FMiniso%20international%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q20732498",shop:"variety_store"},addTags:{brand:"Miniso","brand:wikidata":"Q20732498","brand:wikipedia":"en:Miniso",name:"Miniso",shop:"variety_store"},terms:[],matchScore:2,suggestion:true},"shop/variety_store/Mäc-Geiz":{name:"Mäc-Geiz",icon:"maki-shop",imageURL:"https://graph.facebook.com/1652809328274529/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1957126",shop:"variety_store"},addTags:{brand:"Mäc-Geiz","brand:wikidata":"Q1957126","brand:wikipedia":"de:Mäc-Geiz",name:"Mäc-Geiz",shop:"variety_store"},countryCodes:["de"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/NOZ":{name:"NOZ",icon:"maki-shop",imageURL:"https://graph.facebook.com/UniversNOZ/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3345688",shop:"variety_store"},addTags:{brand:"NOZ","brand:wikidata":"Q3345688","brand:wikipedia":"fr:Noz",name:"NOZ",shop:"variety_store"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Poundland":{name:"Poundland",icon:"maki-shop",imageURL:"https://graph.facebook.com/Poundland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1434528",shop:"variety_store"},addTags:{brand:"Poundland","brand:wikidata":"Q1434528","brand:wikipedia":"en:Poundland",name:"Poundland",shop:"variety_store"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Poundstretcher":{name:"Poundstretcher",icon:"maki-shop",imageURL:"https://graph.facebook.com/Poundstretcher/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7235675",shop:"variety_store"},addTags:{brand:"Poundstretcher","brand:wikidata":"Q7235675","brand:wikipedia":"en:Poundstretcher",name:"Poundstretcher",shop:"variety_store"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Poundworld":{name:"Poundworld",icon:"maki-shop",imageURL:"https://graph.facebook.com/PoundWorld/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q16967516",shop:"variety_store"},addTags:{brand:"Poundworld","brand:wikidata":"Q16967516","brand:wikipedia":"en:Poundworld",name:"Poundworld",shop:"variety_store"},countryCodes:["gb","ie"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Roses":{name:"Roses",icon:"maki-shop",imageURL:"https://graph.facebook.com/rosesdiscountstores/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7368644",shop:"variety_store"},addTags:{brand:"Roses","brand:wikidata":"Q7368644","brand:wikipedia":"en:Roses (store)",name:"Roses",shop:"variety_store"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/TEDi":{name:"TEDi",icon:"maki-shop",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FTEDi-Logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q1364603",shop:"variety_store"},addTags:{brand:"TEDi","brand:wikidata":"Q1364603","brand:wikipedia":"de:TEDi",name:"TEDi",shop:"variety_store"},countryCodes:["at","de","es","hr","si","sk"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Tokmanni":{name:"Tokmanni",icon:"maki-shop",imageURL:"https://graph.facebook.com/Tokmanni.fi/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q13423470",shop:"variety_store"},addTags:{brand:"Tokmanni","brand:wikidata":"Q13423470","brand:wikipedia":"fi:Tokmanni",name:"Tokmanni",shop:"variety_store"},countryCodes:["fi"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/Wilko":{name:"Wilko",icon:"maki-shop",imageURL:"https://graph.facebook.com/LoveWilko/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q8002536",shop:"variety_store"},addTags:{brand:"Wilko","brand:wikidata":"Q8002536","brand:wikipedia":"en:Wilko (retailer)",name:"Wilko",shop:"variety_store"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/キャンドゥ":{name:"キャンドゥ",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/986887047209091072/PPjs7xOK_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q11297367",shop:"variety_store"},addTags:{brand:"キャンドゥ","brand:en":"CAN DO","brand:ja":"キャンドゥ","brand:wikidata":"Q11297367","brand:wikipedia":"ja:キャンドゥ",name:"キャンドゥ","name:en":"CAN DO","name:ja":"キャンドゥ",shop:"variety_store"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/セリア":{name:"セリア",icon:"maki-shop",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FSeria%20logo.svg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q11314509",shop:"variety_store"},addTags:{brand:"セリア","brand:en":"Seria","brand:ja":"セリア","brand:wikidata":"Q11314509","brand:wikipedia":"ja:セリア (100円ショップ)",name:"セリア","name:en":"Seria","name:ja":"セリア",shop:"variety_store"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/ダイソー":{name:"ダイソー",icon:"maki-shop",imageURL:"https://graph.facebook.com/daisojapanusa/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q866991",shop:"variety_store"},addTags:{brand:"ダイソー","brand:en":"Daiso","brand:ja":"ダイソー","brand:wikidata":"Q866991","brand:wikipedia":"ja:大創産業",name:"ダイソー","name:en":"Daiso","name:ja":"ダイソー",shop:"variety_store"},countryCodes:["jp"],terms:["ザ・ダイソー"],matchScore:2,suggestion:true},"shop/variety_store/ダイレックス":{name:"ダイレックス",icon:"maki-shop",geometry:["point","area"],tags:{"brand:wikidata":"Q11317051",shop:"variety_store"},addTags:{brand:"ダイレックス","brand:en":"Direx","brand:ja":"ダイレックス","brand:wikidata":"Q11317051","brand:wikipedia":"ja:ダイレックス (ディスカウントストア)",name:"ダイレックス","name:en":"Direx","name:ja":"ダイレックス",shop:"variety_store"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/トライアル":{name:"トライアル",icon:"maki-shop",geometry:["point","area"],tags:{"brand:wikidata":"Q11321723",shop:"variety_store"},addTags:{brand:"トライアル","brand:en":"Trial","brand:ja":"トライアル","brand:wikidata":"Q11321723","brand:wikipedia":"ja:トライアルカンパニー",name:"トライアル","name:en":"Trial","name:ja":"トライアル",shop:"variety_store"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/variety_store/ドン・キホーテ":{name:"ドン・キホーテ",icon:"maki-shop",imageURL:"https://pbs.twimg.com/profile_images/1098907826305421312/KCKaI33I_bigger.png",geometry:["point","area"],tags:{"brand:wikidata":"Q1185381",shop:"variety_store"},addTags:{brand:"ドン・キホーテ","brand:en":"Don Quijote","brand:ja":"ドン・キホーテ","brand:wikidata":"Q1185381","brand:wikipedia":"ja:ドン・キホーテ (企業)",name:"ドン・キホーテ","name:en":"Don Quijote","name:ja":"ドン・キホーテ",opening_hours:"24/7",shop:"variety_store",short_name:"ドンキ","short_name:en":"Donki","short_name:ja":"ドンキ"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"shop/video_games/EB Games":{name:"EB Games",icon:"maki-gaming",imageURL:"https://graph.facebook.com/ebgamescanada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4993686",shop:"video_games"},addTags:{brand:"EB Games","brand:wikidata":"Q4993686","brand:wikipedia":"en:EB Games",name:"EB Games",shop:"video_games"},countryCodes:["au","ca","nz"],terms:[],matchScore:2,suggestion:true},"shop/video_games/Game":{name:"Game",icon:"maki-gaming",imageURL:"https://pbs.twimg.com/profile_images/925661697230163968/GTdV1FP7_bigger.jpg",geometry:["point","area"],tags:{"brand:wikidata":"Q5519813",shop:"video_games"},addTags:{brand:"Game","brand:wikidata":"Q5519813","brand:wikipedia":"en:Game (retailer)",name:"Game",shop:"video_games"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"shop/video_games/GameStop":{name:"GameStop",icon:"maki-gaming",imageURL:"https://graph.facebook.com/GameStop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q202210",shop:"video_games"},addTags:{brand:"GameStop","brand:wikidata":"Q202210","brand:wikipedia":"en:GameStop",name:"GameStop",shop:"video_games"},terms:[],matchScore:2,suggestion:true},"shop/video_games/Micromania":{name:"Micromania",icon:"maki-gaming",imageURL:"https://graph.facebook.com/MicromaniaFr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3312221",shop:"video_games"},addTags:{brand:"Micromania","brand:wikidata":"Q3312221","brand:wikipedia":"en:Micromania (video game retailer)",name:"Micromania",shop:"video_games"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"shop/video/Blockbuster":{name:"Blockbuster",icon:"temaki-movie_rental",imageURL:"https://pbs.twimg.com/profile_images/378800000679852472/9ee706eca6f5d0b9fbc3a57d014ec807_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q884711",shop:"video"},addTags:{brand:"Blockbuster","brand:wikidata":"Q884711","brand:wikipedia":"en:Blockbuster LLC",name:"Blockbuster",shop:"video"},terms:[],matchScore:2,suggestion:true},"shop/video/Family Video":{name:"Family Video",icon:"temaki-movie_rental",imageURL:"https://graph.facebook.com/FamilyVideo/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5433297",shop:"video"},addTags:{brand:"Family Video","brand:wikidata":"Q5433297","brand:wikipedia":"en:Family Video",name:"Family Video",shop:"video"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/video/TSUTAYA":{name:"TSUTAYA",icon:"temaki-movie_rental",imageURL:"https://graph.facebook.com/TSUTAYA/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5193457",shop:"video"},addTags:{brand:"TSUTAYA","brand:wikidata":"Q5193457","brand:wikipedia":"ja:カルチュア・コンビニエンス・クラブ",name:"TSUTAYA",shop:"video"},terms:[],matchScore:2,suggestion:true},"shop/video/ゲオ":{name:"ゲオ",icon:"temaki-movie_rental",imageURL:"https://graph.facebook.com/geomediashop/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5533938",shop:"video"},addTags:{brand:"GEO","brand:ja":"GEO","brand:wikidata":"Q5533938","brand:wikipedia":"ja:ゲオ",name:"ゲオ","name:en":"GEO","name:ja":"ゲオ",shop:"video"},countryCodes:["jp"],terms:["geo"],matchScore:2,suggestion:true},"shop/watches/Fossil":{name:"Fossil",icon:"maki-watch",imageURL:"https://graph.facebook.com/Fossil/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q356212",shop:"watches"},addTags:{brand:"Fossil","brand:wikidata":"Q356212","brand:wikipedia":"en:Fossil Group",name:"Fossil",shop:"watches"},countryCodes:["de","us"],terms:[],matchScore:2,suggestion:true},"shop/watches/Omega":{name:"Omega",icon:"maki-watch",imageURL:"https://graph.facebook.com/omega/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q659224",shop:"watches"},addTags:{brand:"Omega","brand:wikidata":"Q659224","brand:wikipedia":"en:Omega SA",name:"Omega",shop:"watches"},countryCodes:["ch","fr"],terms:[],matchScore:2,suggestion:true},"shop/watches/Rolex":{name:"Rolex",icon:"maki-watch",imageURL:"https://commons.wikimedia.org/w/index.php?title=Special%3ARedirect%2Ffile%2FRolex%20Bienne%2004.jpg&width=100",geometry:["point","area"],tags:{"brand:wikidata":"Q62288",shop:"watches"},addTags:{brand:"Rolex","brand:wikidata":"Q62288","brand:wikipedia":"en:Rolex",name:"Rolex",shop:"watches"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/watches/Swatch":{name:"Swatch",icon:"maki-watch",imageURL:"https://graph.facebook.com/SwatchUS/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q573422",shop:"watches"},addTags:{brand:"Swatch","brand:wikidata":"Q573422","brand:wikipedia":"en:Swatch",name:"Swatch",shop:"watches"},terms:[],matchScore:2,suggestion:true},"shop/wholesale/BJ's Wholesale Club":{name:"BJ's Wholesale Club",icon:"maki-warehouse",imageURL:"https://graph.facebook.com/bjswholesaleclub/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q4835754",shop:"wholesale"},addTags:{brand:"BJ's Wholesale Club","brand:wikidata":"Q4835754","brand:wikipedia":"en:BJ's Wholesale Club",name:"BJ's Wholesale Club",shop:"wholesale"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"shop/wholesale/Costco":{name:"Costco",icon:"maki-warehouse",imageURL:"https://graph.facebook.com/Costco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q715583",shop:"wholesale"},addTags:{brand:"Costco","brand:wikidata":"Q715583","brand:wikipedia":"en:Costco",name:"Costco",shop:"wholesale"},terms:["costco wholesale"],matchScore:2,suggestion:true},"shop/wholesale/Makro":{name:"Makro",icon:"maki-warehouse",imageURL:"https://graph.facebook.com/makrohipermayorista/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q704606",shop:"wholesale"},addTags:{brand:"Makro","brand:wikidata":"Q704606","brand:wikipedia":"en:Makro",name:"Makro",shop:"wholesale"},terms:[],matchScore:2,suggestion:true},"shop/wholesale/Metro":{name:"Metro",icon:"maki-warehouse",imageURL:"https://graph.facebook.com/metro.deutschland/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q13610282",shop:"wholesale"},addTags:{brand:"Metro","brand:wikidata":"Q13610282","brand:wikipedia":"en:Metro Cash and Carry",name:"Metro",shop:"wholesale"},terms:[],matchScore:2,suggestion:true},"shop/wholesale/Sam's Club":{name:"Sam's Club",icon:"maki-warehouse",imageURL:"https://graph.facebook.com/samsclub/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1972120",shop:"wholesale"},addTags:{brand:"Sam's Club","brand:wikidata":"Q1972120","brand:wikipedia":"en:Sam's Club",name:"Sam's Club",shop:"wholesale"},terms:[],matchScore:2,suggestion:true},"shop/wholesale/コストコ":{name:"コストコ",icon:"maki-warehouse",imageURL:"https://graph.facebook.com/Costco/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q715583",shop:"wholesale"},addTags:{brand:"コストコ","brand:en":"Costco","brand:ja":"コストコ","brand:wikidata":"Q715583","brand:wikipedia":"ja:コストコ",name:"コストコ","name:en":"Costco","name:ja":"コストコ",shop:"wholesale"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/B&B Hôtel":{name:"B&B Hôtel",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/bbhotels.france/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q794939",tourism:"hotel"},addTags:{brand:"B&B Hôtel","brand:wikidata":"Q794939","brand:wikipedia":"en:B&B Hotels",name:"B&B Hôtel",tourism:"hotel"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Best Western":{name:"Best Western",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/BestWestern/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q830334",tourism:"hotel"},addTags:{brand:"Best Western","brand:wikidata":"Q830334","brand:wikipedia":"en:Best Western",name:"Best Western",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Best Western Plus":{name:"Best Western Plus",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/BestWestern/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q830334",tourism:"hotel"},addTags:{brand:"Best Western","brand:wikidata":"Q830334","brand:wikipedia":"en:Best Western",name:"Best Western Plus",tourism:"hotel"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Campanile":{name:"Campanile",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/campanile/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2412064",tourism:"hotel"},addTags:{brand:"Campanile","brand:wikidata":"Q2412064","brand:wikipedia":"fr:Campanile (chaîne d'hôtels)",name:"Campanile",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Candlewood Suites":{name:"Candlewood Suites",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/CandlewoodSuites/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5032010",tourism:"hotel"},addTags:{brand:"Candlewood Suites","brand:wikidata":"Q5032010","brand:wikipedia":"en:Candlewood Suites",name:"Candlewood Suites",tourism:"hotel"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Comfort Inn":{name:"Comfort Inn",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/choicehotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1075788",tourism:"hotel"},addTags:{brand:"Comfort Inn","brand:wikidata":"Q1075788","brand:wikipedia":"en:Choice Hotels",name:"Comfort Inn",tourism:"hotel"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Comfort Inn & Suites":{name:"Comfort Inn & Suites",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/choicehotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1075788",tourism:"hotel"},addTags:{brand:"Comfort Inn & Suites","brand:wikidata":"Q1075788","brand:wikipedia":"en:Choice Hotels",name:"Comfort Inn & Suites",tourism:"hotel"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Comfort Suites":{name:"Comfort Suites",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/choicehotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1075788",tourism:"hotel"},addTags:{brand:"Comfort Suites","brand:wikidata":"Q1075788","brand:wikipedia":"en:Choice Hotels",name:"Comfort Suites",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Country Inn & Suites":{name:"Country Inn & Suites",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/countryinn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5177332",tourism:"hotel"},addTags:{brand:"Country Inn & Suites","brand:wikidata":"Q5177332","brand:wikipedia":"en:Country Inns & Suites",name:"Country Inn & Suites",tourism:"hotel"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Courtyard by Marriott":{name:"Courtyard by Marriott",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/courtyard/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1053170",tourism:"hotel"},addTags:{brand:"Courtyard by Marriott","brand:wikidata":"Q1053170","brand:wikipedia":"en:Courtyard by Marriott",name:"Courtyard by Marriott",tourism:"hotel"},countryCodes:["ca","us"],terms:["courtyard","courtyard marriott"],matchScore:2,suggestion:true},"tourism/hotel/Crowne Plaza":{name:"Crowne Plaza",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/crowneplaza/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2746220",tourism:"hotel"},addTags:{brand:"Crowne Plaza","brand:wikidata":"Q2746220","brand:wikipedia":"en:Crowne Plaza",name:"Crowne Plaza",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Days Inn":{name:"Days Inn",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/DaysInn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1047239",tourism:"hotel"},addTags:{brand:"Days Inn","brand:wikidata":"Q1047239","brand:wikipedia":"en:Days Inn",name:"Days Inn",tourism:"hotel"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Embassy Suites":{name:"Embassy Suites",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/EmbassySuites/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5369524",tourism:"hotel"},addTags:{brand:"Embassy Suites","brand:wikidata":"Q5369524","brand:wikipedia":"en:Embassy Suites by Hilton",name:"Embassy Suites",tourism:"hotel"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Extended Stay America":{name:"Extended Stay America",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/ExtendedStayAmerica/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5421850",tourism:"hotel"},addTags:{brand:"Extended Stay America","brand:wikidata":"Q5421850","brand:wikipedia":"en:Extended Stay America",name:"Extended Stay America",tourism:"hotel"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Fairfield Inn":{name:"Fairfield Inn",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/fairfieldbymarriott/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5430314",tourism:"hotel"},addTags:{brand:"Fairfield Inn","brand:wikidata":"Q5430314","brand:wikipedia":"en:Fairfield Inn by Marriott",name:"Fairfield Inn",tourism:"hotel"},countryCodes:["ca","us"],terms:["fairfield inn and suites"],matchScore:2,suggestion:true},"tourism/hotel/Formule 1":{name:"Formule 1",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/HotelF1/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1630895",tourism:"hotel"},addTags:{brand:"Formule 1","brand:wikidata":"Q1630895","brand:wikipedia":"en:Hotel Formule 1",name:"Formule 1",tourism:"hotel"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Grand Hyatt":{name:"Grand Hyatt",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/hyatt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1425063",tourism:"hotel"},addTags:{brand:"Grand Hyatt","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Grand Hyatt",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Hampton":{name:"Hampton",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/hamptonbyhilton/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5646230",tourism:"hotel"},addTags:{alt_name:"Hampton Inn",brand:"Hampton","brand:wikidata":"Q5646230","brand:wikipedia":"en:Hampton by Hilton",name:"Hampton",tourism:"hotel"},countryCodes:["us"],terms:["hampton inn and suites"],matchScore:2,suggestion:true},"tourism/hotel/Hilton":{name:"Hilton",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/hilton/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q598884",tourism:"hotel"},addTags:{brand:"Hilton","brand:wikidata":"Q598884","brand:wikipedia":"en:Hilton Hotels & Resorts",name:"Hilton",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Hilton Garden Inn":{name:"Hilton Garden Inn",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/HiltonGardenInn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1162859",tourism:"hotel"},addTags:{brand:"Hilton Garden Inn","brand:wikidata":"Q1162859","brand:wikipedia":"en:Hilton Garden Inn",name:"Hilton Garden Inn",tourism:"hotel"},countryCodes:["ca","mx","us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Holiday Inn":{name:"Holiday Inn",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/HolidayInn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2717882",tourism:"hotel"},addTags:{brand:"Holiday Inn","brand:wikidata":"Q2717882","brand:wikipedia":"en:Holiday Inn",name:"Holiday Inn",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Holiday Inn Express":{name:"Holiday Inn Express",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/holidayinnexpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5880423",tourism:"hotel"},addTags:{brand:"Holiday Inn Express","brand:wikidata":"Q5880423","brand:wikipedia":"en:Holiday Inn Express",name:"Holiday Inn Express",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Holiday Inn Express & Suites":{name:"Holiday Inn Express & Suites",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/holidayinnexpress/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5880423",tourism:"hotel"},addTags:{brand:"Holiday Inn Express & Suites","brand:wikidata":"Q5880423","brand:wikipedia":"en:Holiday Inn Express",name:"Holiday Inn Express & Suites",tourism:"hotel"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Home2 Suites":{name:"Home2 Suites",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/Home2Suites/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5887912",tourism:"hotel"},addTags:{brand:"Home2 Suites","brand:wikidata":"Q5887912","brand:wikipedia":"en:Home2 Suites by Hilton",name:"Home2 Suites",official_name:"Home2 Suites by Hilton",tourism:"hotel"},countryCodes:["ca","mx","us"],terms:["home2"],matchScore:2,suggestion:true},"tourism/hotel/Homewood Suites":{name:"Homewood Suites",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/HomewoodSuites/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5890701",tourism:"hotel"},addTags:{brand:"Homewood Suites","brand:wikidata":"Q5890701","brand:wikipedia":"en:Homewood Suites by Hilton",name:"Homewood Suites",tourism:"hotel"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Hyatt":{name:"Hyatt",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/hyatt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1425063",tourism:"hotel"},addTags:{brand:"Hyatt","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Hyatt",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Hyatt Centric":{name:"Hyatt Centric",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/hyatt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1425063",tourism:"hotel"},addTags:{brand:"Hyatt Centric","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Hyatt Centric",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Hyatt House":{name:"Hyatt House",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/hyatt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1425063",tourism:"hotel"},addTags:{brand:"Hyatt House","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Hyatt House",tourism:"hotel"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Hyatt Place":{name:"Hyatt Place",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/hyatt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1425063",tourism:"hotel"},addTags:{brand:"Hyatt","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Hyatt Place",tourism:"hotel"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Hyatt Regency":{name:"Hyatt Regency",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/hyatt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1425063",tourism:"hotel"},addTags:{brand:"Hyatt Regency","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Hyatt Regency",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Ibis":{name:"Ibis",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/ibishotels.fr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q920166",tourism:"hotel"},addTags:{brand:"Ibis","brand:wikidata":"Q920166","brand:wikipedia":"en:Ibis (hotel)",name:"Ibis",tourism:"hotel"},terms:["hotel ibis","ibis hotel"],matchScore:2,suggestion:true},"tourism/hotel/Ibis Budget":{name:"Ibis Budget",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/ibisbudget.fr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1458135",tourism:"hotel"},addTags:{brand:"Ibis Budget","brand:wikidata":"Q1458135","brand:wikipedia":"en:Ibis Budget",name:"Ibis Budget",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Ibis Styles":{name:"Ibis Styles",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/ibisstyles.fr/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q3147425",tourism:"hotel"},addTags:{brand:"Ibis Styles","brand:wikidata":"Q3147425","brand:wikipedia":"en:Ibis Styles",name:"Ibis Styles",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Kyriad":{name:"Kyriad",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/kyriadindia/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q11751808",tourism:"hotel"},addTags:{brand:"Kyriad","brand:wikidata":"Q11751808","brand:wikipedia":"pl:Kyriad",name:"Kyriad",tourism:"hotel"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/La Quinta":{name:"La Quinta",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/laquinta/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q6464734",tourism:"hotel"},addTags:{brand:"La Quinta","brand:wikidata":"Q6464734","brand:wikipedia":"en:La Quinta Inns & Suites",name:"La Quinta",tourism:"hotel"},countryCodes:["us"],terms:["la quinta inn and suites","la quinta inns and suites"],matchScore:2,suggestion:true},"tourism/hotel/Le Méridien":{name:"Le Méridien",icon:"fas-concierge-bell",imageURL:"https://pbs.twimg.com/profile_images/444194265032163329/ioAHiave_bigger.jpeg",geometry:["point","area"],tags:{"brand:wikidata":"Q261077",tourism:"hotel"},addTags:{brand:"Le Méridien","brand:wikidata":"Q261077","brand:wikipedia":"en:Le Méridien",name:"Le Méridien",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Marriott":{name:"Marriott",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/marriottinternational/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1141173",tourism:"hotel"},addTags:{brand:"Marriott","brand:wikidata":"Q1141173","brand:wikipedia":"en:Marriott International",name:"Marriott",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Mercure":{name:"Mercure",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/MercureHotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1709809",tourism:"hotel"},addTags:{brand:"Mercure","brand:wikidata":"Q1709809","brand:wikipedia":"en:Mercure (hotel)",name:"Mercure",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Novotel":{name:"Novotel",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/Novotelhotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q420545",tourism:"hotel"},addTags:{brand:"Novotel","brand:wikidata":"Q420545","brand:wikipedia":"en:Novotel",name:"Novotel",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Park Hyatt":{name:"Park Hyatt",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/hyatt/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1425063",tourism:"hotel"},addTags:{brand:"Park Hyatt","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Park Hyatt",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Premier Inn":{name:"Premier Inn",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/premierinn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2108626",tourism:"hotel"},addTags:{brand:"Premier Inn","brand:wikidata":"Q2108626","brand:wikipedia":"en:Premier Inn",name:"Premier Inn",tourism:"hotel"},countryCodes:["gb"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Première Classe":{name:"Première Classe",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/PremiereClasseHotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5964551",tourism:"hotel"},addTags:{brand:"Première Classe","brand:wikidata":"Q5964551","brand:wikipedia":"en:Hôtel Première Classe",name:"Première Classe",tourism:"hotel"},countryCodes:["fr"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Quality Inn":{name:"Quality Inn",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/choicehotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1075788",tourism:"hotel"},addTags:{brand:"Quality Inn","brand:wikidata":"Q1075788","brand:wikipedia":"en:Choice Hotels",name:"Quality Inn",tourism:"hotel"},countryCodes:["ca","mx","us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Quality Inn & Suites":{name:"Quality Inn & Suites",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/choicehotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1075788",tourism:"hotel"},addTags:{brand:"Quality Inn & Suites","brand:wikidata":"Q1075788","brand:wikipedia":"en:Choice Hotels",name:"Quality Inn & Suites",tourism:"hotel"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Ramada":{name:"Ramada",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/ramada/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1502859",tourism:"hotel"},addTags:{brand:"Ramada","brand:wikidata":"Q1502859","brand:wikipedia":"en:Ramada",name:"Ramada",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Red Roof Inn":{name:"Red Roof Inn",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/redroofinn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7304949",tourism:"hotel"},addTags:{brand:"Red Roof Inn","brand:wikidata":"Q7304949","brand:wikipedia":"en:Red Roof Inn",name:"Red Roof Inn",tourism:"hotel"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Renaissance Hotel":{name:"Renaissance Hotel",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/RenaissanceHotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2143252",tourism:"hotel"},addTags:{brand:"Renaissance Hotels","brand:wikidata":"Q2143252","brand:wikipedia":"en:Renaissance Hotels",name:"Renaissance Hotel",tourism:"hotel"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Residence Inn":{name:"Residence Inn",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/residenceinn/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7315394",tourism:"hotel"},addTags:{brand:"Residence Inn","brand:wikidata":"Q7315394","brand:wikipedia":"en:Residence Inn by Marriott",name:"Residence Inn",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Sheraton":{name:"Sheraton",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/Sheraton/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q634831",tourism:"hotel"},addTags:{brand:"Sheraton","brand:wikidata":"Q634831","brand:wikipedia":"en:Sheraton Hotels and Resorts",name:"Sheraton",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/Sleep Inn":{name:"Sleep Inn",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/choicehotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q1075788",tourism:"hotel"},addTags:{brand:"Sleep Inn","brand:wikidata":"Q1075788","brand:wikipedia":"en:Choice Hotels",name:"Sleep Inn",tourism:"hotel"},countryCodes:["us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/Staybridge Suites":{name:"Staybridge Suites",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/StaybridgeSuites/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7605116",tourism:"hotel"},addTags:{brand:"Staybridge Suites","brand:wikidata":"Q7605116","brand:wikipedia":"en:Staybridge Suites",name:"Staybridge Suites",tourism:"hotel"},countryCodes:["ca","gb","us"],terms:[],matchScore:2,suggestion:true},"tourism/hotel/TownePlace Suites":{name:"TownePlace Suites",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/TownePlaceSuites/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7830092",tourism:"hotel"},addTags:{brand:"TownePlace Suites","brand:wikidata":"Q7830092","brand:wikipedia":"en:TownePlace Suites",name:"TownePlace Suites",official_name:"TownePlace Suites by Marriott",tourism:"hotel"},countryCodes:["ca","us"],terms:["TownePlace Marriott","TownePlace Suites Marriott"],matchScore:2,suggestion:true},"tourism/hotel/Travelodge":{name:"Travelodge",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/Travelodge/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7836087",tourism:"hotel"},addTags:{brand:"Travelodge","brand:wikidata":"Q7836087","brand:wikipedia":"en:Travelodge",name:"Travelodge",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/W Hotels":{name:"W Hotels",icon:"fas-concierge-bell",imageURL:"https://graph.facebook.com/WHotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7958488",tourism:"hotel"},addTags:{brand:"W Hotels","brand:wikidata":"Q7958488","brand:wikipedia":"en:W Hotels",name:"W Hotels",short_name:"W",tourism:"hotel"},terms:[],matchScore:2,suggestion:true},"tourism/hotel/東横イン":{name:"東横イン",icon:"fas-concierge-bell",geometry:["point","area"],tags:{"brand:wikidata":"Q1320541",tourism:"hotel"},addTags:{brand:"東横イン","brand:en":"Toyoko Inn","brand:ja":"東横イン","brand:wikidata":"Q1320541","brand:wikipedia":"en:Toyoko Inn",name:"東横イン","name:en":"Toyoko Inn","name:ja":"東横イン",tourism:"hotel"},countryCodes:["jp"],terms:[],matchScore:2,suggestion:true},"tourism/motel/Econo Lodge":{name:"Econo Lodge",icon:"maki-lodging",imageURL:"https://graph.facebook.com/choicehotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5333330",tourism:"motel"},addTags:{brand:"Econo Lodge","brand:wikidata":"Q5333330","brand:wikipedia":"en:Econo Lodge",name:"Econo Lodge",tourism:"motel"},terms:[],matchScore:2,suggestion:true},"tourism/motel/Motel 6":{name:"Motel 6",icon:"maki-lodging",imageURL:"https://graph.facebook.com/motel6/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q2188884",tourism:"motel"},addTags:{brand:"Motel 6","brand:wikidata":"Q2188884","brand:wikipedia":"en:Motel 6",name:"Motel 6",tourism:"motel"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"tourism/motel/Rodeway Inn":{name:"Rodeway Inn",icon:"maki-lodging",imageURL:"https://graph.facebook.com/choicehotels/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q7356709",tourism:"motel"},addTags:{brand:"Rodeway Inn","brand:wikidata":"Q7356709","brand:wikipedia":"en:Rodeway Inn",name:"Rodeway Inn",tourism:"motel"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true},"tourism/motel/Super 8":{name:"Super 8",icon:"maki-lodging",imageURL:"https://graph.facebook.com/Super8/picture?type=large",geometry:["point","area"],tags:{"brand:wikidata":"Q5364003",tourism:"motel"},addTags:{brand:"Super 8","brand:wikidata":"Q5364003","brand:wikipedia":"en:Super 8 Motels",name:"Super 8",tourism:"motel"},countryCodes:["ca","us"],terms:[],matchScore:2,suggestion:true}};
+
+       var defaults = {area:["category-landuse","category-building","category-water","category-natural","leisure/park","amenity/hospital","amenity/place_of_worship","amenity/cafe","amenity/restaurant","area"],line:["category-road_major","category-road_minor","category-rail","category-path","category-waterway","category-barrier","category-natural","category-utility","line"],point:["category-natural","leisure/park","amenity/hospital","amenity/place_of_worship","amenity/cafe","amenity/restaurant","amenity/fast_food","amenity/bar","amenity/bank","shop/supermarket","point"],vertex:["highway/crossing/marked","highway/crossing/unmarked","railway/level_crossing","highway/traffic_signals","highway/turning_circle","highway/turning_loop","traffic_calming","highway/mini_roundabout","highway/motorway_junction","point"],relation:["category-route","category-restriction","public_transport/stop_area","type/boundary","type/waterway","type/multipolygon","type/enforcement","type/site","relation"]};
+
+       var categories = {"category-barrier":{icon:"maki-roadblock",name:"Barrier Features",members:["barrier/fence","barrier/wall","barrier/ditch","barrier/gate","barrier/hedge","barrier/kerb","barrier"]},"category-building":{icon:"maki-building",name:"Building Features",members:["building","building/house","building/apartments","building/garage","building/retail","building/commercial","building/industrial","building/residential"]},"category-golf":{icon:"maki-golf",name:"Golf Features",members:["golf/fairway","golf/green","golf/lateral_water_hazard","golf/rough","golf/bunker","golf/tee","golf/water_hazard","golf/driving_range","golf/hole","golf/cartpath","golf/path"]},"category-landuse":{icon:"maki-landuse",name:"Land Use Features",members:["landuse/residential","landuse/industrial","landuse/commercial","landuse/retail","landuse/farmland","landuse/farmyard","landuse/forest","landuse/meadow","landuse/aquaculture","landuse/cemetery","landuse/military","landuse/religious"]},"category-natural":{icon:"maki-natural",name:"Natural Features",members:["natural/water","natural/wood","natural/scrub","natural/wetland","natural/grassland","natural/heath","natural/bare_rock","natural/beach","natural/cave_entrance","natural/glacier","natural/coastline","natural/tree_row","natural/peak","natural/cliff","natural/beach"]},"category-path":{icon:"temaki-pedestrian",name:"Paths",members:["highway/path","highway/footway","highway/footway/marked","highway/footway/sidewalk","highway/steps","highway/cycleway","highway/bridleway","highway/pedestrian_line"]},"category-rail":{icon:"iD-railway-rail",name:"Rails",members:["railway/rail","railway/disused","railway/tram","railway/subway","railway/narrow_gauge","railway/light_rail","railway/monorail","railway/funicular"]},"category-restriction":{icon:"iD-restriction",name:"Restriction Features",members:["type/restriction/no_left_turn","type/restriction/no_right_turn","type/restriction/no_straight_on","type/restriction/no_u_turn","type/restriction/only_left_turn","type/restriction/only_right_turn","type/restriction/only_straight_on","type/restriction/only_u_turn","type/restriction"]},"category-road_major":{icon:"iD-highway-unclassified",name:"Major Roads",members:["highway/motorway","highway/trunk","highway/primary","highway/secondary","highway/tertiary","highway/motorway_link","highway/trunk_link","highway/primary_link","highway/secondary_link","highway/tertiary_link"]},"category-road_minor":{icon:"iD-highway-unclassified",name:"Minor Roads",members:["highway/unclassified","highway/residential","highway/living_street","highway/service","highway/track"]},"category-road_service":{icon:"iD-highway-service",name:"Service Roads",members:["highway/service","highway/service/parking_aisle","highway/service/driveway","highway/service/alley","highway/service/emergency_access","highway/service/drive-through"]},"category-route":{icon:"iD-route",name:"Route Features",members:["type/route/road","type/route/bicycle","type/route/foot","type/route/hiking","type/route/horse","type/route/piste","type/route/bus","type/route/train","type/route/light_rail","type/route/tram","type/route/subway","type/route/ferry","type/route/power","type/route/pipeline","type/route/detour","type/route_master","type/route"]},"category-utility":{icon:"iD-power-line",name:"Utility Features",members:["power/line","power/minor_line","man_made/pipeline","power/cable/underground"]},"category-water":{icon:"maki-water",name:"Water Bodies",members:["natural/water","natural/water/pond","natural/water/basin","natural/water/lake","natural/water/reservoir"]},"category-waterway":{icon:"iD-waterway-stream",name:"Waterways",members:["waterway/stream","waterway/drain","waterway/river","waterway/canal","waterway/ditch","natural/water/stream","natural/water/river","natural/water/canal"]}};
+
+       var fields = {access_simple:{key:"access",type:"combo",label:"Allowed Access",options:["yes","permissive","private","customers","permit","no"]},access:{keys:["access","foot","motor_vehicle","bicycle","horse"],reference:{key:"access"},type:"access",label:"Allowed Access",placeholder:"Not Specified",strings:{types:{access:"All",foot:"Foot",motor_vehicle:"Motor Vehicles",bicycle:"Bicycles",horse:"Horses"},options:{yes:{title:"Allowed",description:"Access allowed by law; a right of way"},no:{title:"Prohibited",description:"Access not allowed to the general public"},permissive:{title:"Permissive",description:"Access allowed until such time as the owner revokes the permission"},"private":{title:"Private",description:"Access allowed only with permission of the owner on an individual basis"},designated:{title:"Designated",description:"Access allowed according to signs or specific local laws"},destination:{title:"Destination",description:"Access allowed only to reach a destination"},dismount:{title:"Dismount",description:"Access allowed but rider must dismount"},permit:{title:"Permit",description:"Access allowed only with a valid permit or license"}}}},"addr/interpolation":{key:"addr:interpolation",type:"combo",label:"Type",strings:{options:{all:"All",even:"Even",odd:"Odd",alphabetic:"Alphabetic"}}},address:{type:"address",keys:["addr:block_number","addr:city","addr:block_number","addr:conscriptionnumber","addr:county","addr:country","addr:county","addr:district","addr:floor","addr:hamlet","addr:housename","addr:housenumber","addr:neighbourhood","addr:place","addr:postcode","addr:province","addr:quarter","addr:state","addr:street","addr:subdistrict","addr:suburb","addr:unit"],reference:{key:"addr"},icon:"address",label:"Address",strings:{placeholders:{block_number:"Block Number","block_number!jp":"Block No.",city:"City","city!jp":"City/Town/Village/Tokyo Special Ward","city!vn":"City/Town",conscriptionnumber:"123",country:"Country",county:"County","county!jp":"District",district:"District","district!vn":"Arrondissement/Town/District",floor:"Floor",hamlet:"Hamlet",housename:"Housename",housenumber:"123","housenumber!jp":"Building No./Lot No.",neighbourhood:"Neighbourhood","neighbourhood!jp":"Chōme/Aza/Koaza",place:"Place",postcode:"Postcode",province:"Province","province!jp":"Prefecture",quarter:"Quarter","quarter!jp":"Ōaza/Machi",state:"State",street:"Street",subdistrict:"Subdistrict","subdistrict!vn":"Ward/Commune/Townlet",suburb:"Suburb","suburb!jp":"Ward",unit:"Unit"}}},admin_level:{key:"admin_level",type:"number",minValue:1,label:"Admin Level"},aerialway:{key:"aerialway",type:"typeCombo",label:"Type"},"aerialway/access":{key:"aerialway:access",type:"combo",label:"Access",strings:{options:{entry:"Entry",exit:"Exit",both:"Both"}}},"aerialway/bubble":{key:"aerialway:bubble",type:"check",label:"Bubble"},"aerialway/capacity":{key:"aerialway:capacity",type:"number",minValue:0,label:"Capacity (per hour)",placeholder:"500, 2500, 5000..."},"aerialway/duration":{key:"aerialway:duration",type:"number",minValue:0,label:"Duration (minutes)",placeholder:"1, 2, 3..."},"aerialway/heating":{key:"aerialway:heating",type:"check",label:"Heated"},"aerialway/occupancy":{key:"aerialway:occupancy",type:"number",minValue:0,label:"Occupancy",placeholder:"2, 4, 8..."},"aerialway/summer/access":{key:"aerialway:summer:access",type:"combo",label:"Access (summer)",strings:{options:{entry:"Entry",exit:"Exit",both:"Both"}}},aeroway:{key:"aeroway",type:"typeCombo",label:"Type"},agrarian:{key:"agrarian",type:"semiCombo",label:"Products"},air_conditioning:{key:"air_conditioning",type:"check",label:"Air Conditioning"},amenity:{key:"amenity",type:"typeCombo",label:"Type"},animal_boarding:{key:"animal_boarding",type:"semiCombo",label:"For Animals"},animal_breeding:{key:"animal_breeding",type:"semiCombo",label:"For Animals"},animal_shelter:{key:"animal_shelter",type:"semiCombo",label:"For Animals"},architect:{key:"architect",type:"text",label:"Architect"},"area/highway":{key:"area:highway",type:"typeCombo",label:"Type"},artist:{key:"artist_name",type:"text",label:"Artist"},artwork_type:{key:"artwork_type",type:"combo",label:"Type"},atm:{key:"atm",type:"check",label:"ATM"},attraction:{key:"attraction",type:"typeCombo",label:"Type"},backrest:{key:"backrest",type:"check",label:"Backrest"},bar:{key:"bar",type:"check",label:"Bar"},barrier:{key:"barrier",type:"typeCombo",label:"Type"},basin:{key:"basin",type:"combo",label:"Type"},"bath/open_air":{key:"bath:open_air",label:"Open Air",type:"check"},"bath/sand_bath":{key:"bath:sand_bath",label:"Sand Bath",type:"check"},"bath/type":{key:"bath:type",type:"combo",label:"Specialty",strings:{options:{onsen:"Japanese Onsen",foot_bath:"Foot Bath",hot_spring:"Hot Spring"}}},beauty:{key:"beauty",type:"combo",label:"Beauty Specialty"},bench:{key:"bench",type:"check",label:"Bench"},bicycle_parking:{key:"bicycle_parking",type:"combo",label:"Type"},bin:{key:"bin",type:"check",label:"Waste Bin"},blood_components:{key:"blood:",type:"multiCombo",label:"Blood Components",strings:{options:{whole:"whole blood",plasma:"plasma",platelets:"platelets",stemcells:"stem cell samples"}}},board_type:{key:"board_type",type:"typeCombo",label:"Type"},booth:{key:"booth",type:"combo",label:"Booth",caseSensitive:true},boules:{key:"boules",type:"typeCombo",label:"Type"},boundary:{key:"boundary",type:"combo",label:"Type"},brand:{key:"brand",type:"text",label:"Brand"},brewery:{key:"brewery",type:"semiCombo",label:"Draft Beers"},bridge:{key:"bridge",type:"typeCombo",label:"Type",placeholder:"Default"},"bridge/support":{key:"bridge:support",type:"combo",label:"Type"},building_area:{key:"building",type:"combo","default":"yes",geometry:"area",label:"Building"},building:{key:"building",type:"combo",label:"Building"},"building/levels_building":{key:"building:levels",type:"number",minValue:0,label:"Building Levels",placeholder:"2, 4, 6...",prerequisiteTag:{key:"building",valueNot:"no"}},"building/levels/underground":{key:"building:levels:underground",type:"number",minValue:0,label:"Underground Levels",placeholder:"2, 4, 6..."},"building/material":{key:"building:material",type:"combo",label:"Material"},bunker_type:{key:"bunker_type",type:"combo",label:"Type"},cables:{key:"cables",type:"number",minValue:1,label:"Cables",placeholder:"1, 2, 3..."},"camera/direction":{key:"camera:direction",type:"number",label:"Direction (Degrees Clockwise)",placeholder:"45, 90, 180, 270"},"camera/mount":{key:"camera:mount",type:"combo",label:"Camera Mount"},"camera/type":{key:"camera:type",type:"combo",label:"Camera Type",strings:{options:{fixed:"Fixed",panning:"Panning",dome:"Dome"}}},capacity:{key:"capacity",type:"number",minValue:0,label:"Capacity",placeholder:"50, 100, 200..."},cash_in:{key:"cash_in",type:"check",label:"Cash In"},castle_type:{key:"castle_type",type:"combo",label:"Type"},check_date:{key:"check_date",type:"text",label:"Last Checked Date"},clothes:{key:"clothes",type:"semiCombo",label:"Clothes"},club:{key:"club",type:"typeCombo",label:"Type"},collection_times:{key:"collection_times",type:"text",label:"Collection Times"},colour:{key:"colour",type:"text",label:"Color"},comment:{key:"comment",type:"textarea",label:"Changeset Comment",placeholder:"Brief description of your contributions (required)"},communication_multi:{key:"communication:",type:"multiCombo",label:"Communication Types"},construction:{key:"construction",type:"combo",label:"Type"},consulate:{key:"consulate",type:"combo",label:"Type"},"contact/webcam":{key:"contact:webcam",type:"url",icon:"website",label:"Webcam URL",placeholder:"http://example.com/"},content:{key:"content",type:"combo",label:"Content",options:["silage","water","oil","fuel","slurry","gas","manure","sewage"]},conveying:{key:"conveying",type:"typeCombo",label:"Movement Direction",strings:{options:{forward:"Forward",backward:"Backward",reversible:"Reversible"}}},country:{key:"country",type:"combo",label:"Country"},couplings:{key:"couplings",type:"number",minValue:1,label:"Couplings",placeholder:"1, 2, 3..."},covered:{key:"covered",type:"check",label:"Covered"},craft:{key:"craft",type:"typeCombo",label:"Type"},"crane/type":{key:"crane:type",type:"combo",label:"Crane Type",strings:{options:{portal_crane:"Portal Crane","floor-mounted_crane":"Floor-mounted Crane",travel_lift:"Travel Lift"}}},crop:{key:"crop",type:"semiCombo",label:"Crops"},crossing:{key:"crossing",type:"combo",label:"Type"},cuisine:{key:"cuisine",type:"semiCombo",label:"Cuisines"},currency_multi:{key:"currency:",type:"multiCombo",label:"Currency Types"},cutting:{key:"cutting",type:"typeCombo",label:"Type",placeholder:"Default"},cycle_network:{key:"cycle_network",type:"networkCombo",label:"Network"},cycleway:{keys:["cycleway","cycleway:left","cycleway:right"],reference:{key:"cycleway"},type:"cycleway",label:"Bike Lanes",placeholder:"none",strings:{types:{"cycleway:left":"Left side","cycleway:right":"Right side"},options:{none:{title:"None",description:"No bike lane"},lane:{title:"Standard bike lane",description:"A bike lane separated from auto traffic by a painted line"},shared_lane:{title:"Shared bike lane",description:"A bike lane with no separation from auto traffic"},track:{title:"Bike track",description:"A bike lane separated from traffic by a physical barrier"},share_busway:{title:"Bike lane shared with bus",description:"A bike lane shared with a bus lane"},opposite_lane:{title:"Opposite bike lane",description:"A bike lane that travels in the opposite direction of traffic"},opposite:{title:"Contraflow bike lane",description:"A bike lane that travels in both directions on a one-way street"}}}},"dance/style":{key:"dance:style",type:"semiCombo",label:"Dance Styles"},date:{key:"date",type:"check",label:"Date"},delivery:{key:"delivery",type:"check",label:"Delivery"},denomination:{key:"denomination",type:"combo",label:"Denomination",prerequisiteTag:{key:"religion"}},denotation:{key:"denotation",type:"combo",label:"Denotation"},departures_board:{key:"departures_board",type:"combo",label:"Departures Board",strings:{options:{yes:"Yes",timetable:"Timetable",realtime:"Realtime",no:"None"}}},description:{key:"description",type:"textarea",label:"Description",universal:true},design:{key:"design",type:"combo",label:"Design"},destination_oneway:{key:"destination",type:"semiCombo",label:"Destinations",prerequisiteTag:{key:"oneway",value:"yes"},snake_case:false},"destination/ref_oneway":{key:"destination:ref",type:"semiCombo",label:"Destination Road Numbers",prerequisiteTag:{key:"oneway",value:"yes"},snake_case:false},"destination/symbol_oneway":{key:"destination:symbol",type:"semiCombo",label:"Destination Symbols",prerequisiteTag:{key:"oneway",value:"yes"}},devices:{key:"devices",type:"number",minValue:0,label:"Devices",placeholder:"1, 2, 3..."},diameter:{key:"diameter",type:"combo",label:"Diameter",snake_case:false,placeholder:"5 mm, 10 cm, 15 in…"},diaper:{key:"diaper",type:"combo",label:"Diaper Changing Available",options:["yes","no","room","1","2","3","4","5"]},diet_multi:{key:"diet:",type:"multiCombo",label:"Diet Types"},diplomatic:{key:"diplomatic",type:"combo",label:"Type"},"diplomatic/services":{key:"diplomatic:services:",type:"multiCombo",label:"Services"},direction_cardinal:{key:"direction",type:"combo",label:"Direction",strings:{options:{N:"North",E:"East",S:"South",W:"West",NE:"Northeast",SE:"Southeast",SW:"Southwest",NW:"Northwest",NNE:"North-northeast",ENE:"East-northeast",ESE:"East-southeast",SSE:"South-southeast",SSW:"South-southwest",WSW:"West-southwest",WNW:"West-northwest",NNW:"North-northwest"}}},direction_clock:{key:"direction",type:"combo",label:"Direction",strings:{options:{clockwise:"Clockwise",anticlockwise:"Counterclockwise"}}},direction_vertex:{key:"direction",type:"combo",label:"Direction Affected",strings:{options:{forward:"Forward",backward:"Backward",both:"Both / All"}}},direction:{key:"direction",type:"number",label:"Direction (Degrees Clockwise)",placeholder:"45, 90, 180, 270"},dispensing:{key:"dispensing",type:"check",label:"Dispenses Prescriptions","default":"yes"},display:{key:"display",type:"combo",label:"Display",options:["analog","digital","sundial","unorthodox"]},distance:{key:"distance",type:"text",label:"Distance"},dock:{key:"dock",type:"combo",label:"Type"},dog:{key:"dog",type:"combo",label:"Dogs",strings:{options:{yes:"Allowed",leashed:"Leashed Only",no:"Not Allowed"}}},door_type:{key:"door",type:"typeCombo",label:"Type"},door:{key:"door",type:"combo",label:"Door"},drive_through:{key:"drive_through",type:"check",label:"Drive-Through"},duration:{key:"duration",type:"text",label:"Duration",placeholder:"00:00"},electrified:{key:"electrified",type:"combo",label:"Electrification",placeholder:"Contact Line, Electrified Rail...",strings:{options:{contact_line:"Contact Line",rail:"Electrified Rail",yes:"Yes (unspecified)",no:"No"}}},elevation:{key:"ele",type:"number",icon:"elevation",universal:true,label:"Elevation"},email:{key:"email",type:"email",placeholder:"example@example.com",label:"Email"},embankment:{key:"embankment",type:"typeCombo",label:"Type",placeholder:"Default"},embassy:{key:"embassy",type:"combo",label:"Type"},emergency_combo:{key:"emergency",type:"combo",label:"Type"},emergency:{key:"emergency",type:"check",label:"Emergency"},enforcement:{key:"enforcement",type:"combo",label:"Type"},entrance:{key:"entrance",type:"typeCombo",label:"Type"},except:{key:"except",type:"combo",label:"Exceptions"},faces:{key:"faces",type:"number",minValue:0,label:"Faces"},fax:{key:"fax",type:"tel",label:"Fax",placeholder:"+31 42 123 4567"},fee:{key:"fee",type:"check",label:"Fee"},fence_type:{key:"fence_type",type:"combo",label:"Type"},"fire_hydrant/diameter":{key:"fire_hydrant:diameter",type:"combo",label:"Diameter (mm, in, or letters)",snake_case:false},"fire_hydrant/pressure":{key:"fire_hydrant:pressure",type:"combo",label:"Pressure (bar)",snake_case:false},"fire_hydrant/type":{key:"fire_hydrant:type",type:"combo",label:"Shape",strings:{options:{pillar:"Pillar/Aboveground",underground:"Underground",wall:"Wall",pipe:"Capped Pipe"}}},fireplace:{key:"fireplace",type:"check",label:"Fireplace"},fishing:{key:"fishing",type:"combo",label:"Fishing"},fitness_station:{key:"fitness_station",type:"typeCombo",label:"Equipment Type"},fixme:{key:"fixme",type:"textarea",label:"Fix Me",universal:true},"flag/type":{key:"flag:type",type:"combo",label:"Flag Type"},floating:{key:"floating",type:"check",label:"Floating"},flood_prone:{key:"flood_prone",type:"check",label:"Flood Prone"},ford:{key:"ford",type:"typeCombo",label:"Type",placeholder:"Default"},frequency_electrified:{key:"frequency",type:"combo",label:"Operating Frequency",prerequisiteTag:{key:"electrified",valueNot:"no"}},frequency:{key:"frequency",type:"combo",label:"Operating Frequency"},from:{key:"from",type:"text",label:"From"},fuel_multi:{key:"fuel:",type:"multiCombo",label:"Fuel Types"},fuel:{key:"fuel",type:"combo",label:"Fuel"},gauge:{key:"gauge",type:"combo",label:"Gauge"},gender:{type:"radio",keys:["male","female","unisex"],label:"Gender",placeholder:"Unknown",strings:{options:{male:"Male",female:"Female",unisex:"Unisex"}}},"generator/method":{key:"generator:method",type:"combo",label:"Method"},"generator/output/electricity":{key:"generator:output:electricity",type:"typeCombo",label:"Power Output",placeholder:"50 MW, 100 MW, 200 MW...",snake_case:false},"generator/source":{key:"generator:source",type:"combo",label:"Source"},"generator/type":{key:"generator:type",type:"combo",label:"Type"},government:{key:"government",type:"typeCombo",label:"Type"},grape_variety:{key:"grape_variety",type:"semiCombo",label:"Grape Varieties"},guest_house:{key:"guest_house",type:"combo",label:"Type"},handicap:{key:"handicap",type:"number",label:"Handicap",placeholder:"1-18"},handrail:{key:"handrail",type:"check",label:"Handrail"},hashtags:{key:"hashtags",type:"semiCombo",label:"Suggested Hashtags",placeholder:"#example"},healthcare:{key:"healthcare",type:"typeCombo",label:"Type"},"healthcare/speciality":{key:"healthcare:speciality",type:"semiCombo",reference:{key:"healthcare"},label:"Specialties"},height_building:{key:"height",minValue:0,type:"number",label:"Building Height (Meters)",prerequisiteTag:{key:"building",valueNot:"no"}},height:{key:"height",minValue:0,type:"number",label:"Height (Meters)"},highspeed:{key:"highspeed",type:"check",label:"High-Speed"},highway:{key:"highway",type:"typeCombo",label:"Type"},historic:{key:"historic",type:"typeCombo",label:"Type"},"historic/civilization":{key:"historic:civilization",type:"combo",label:"Historic Civilization"},"historic/wreck/date_sunk":{key:"wreck:date_sunk",type:"text",label:"Date Sunk"},"historic/wreck/visible_at_high_tide":{key:"wreck:visible_at_high_tide",type:"check",label:"Visible At High Tide"},"historic/wreck/visible_at_low_tide":{key:"wreck:visible_at_low_tide",type:"check",label:"Visible At Low Tide"},hoops:{key:"hoops",type:"number",minValue:0,label:"Hoops",placeholder:"1, 2, 4..."},horse_dressage:{key:"sport",type:"check",label:"Dressage Riding",strings:{options:{"undefined":"No",equestrian:"Yes"}},reference:{key:"sport",value:"equestrian"}},horse_riding:{key:"leisure",type:"check",label:"Horseback Riding",strings:{options:{"undefined":"No",horse_riding:"Yes"}},reference:{key:"leisure",value:"horse_riding"}},horse_scale:{key:"horse_scale",type:"combo",label:"Horseback Riding Difficulty",placeholder:"Difficult, Dangerous...",strings:{options:{common:"Easy: No problems or difficulties. (default)",demanding:"Use with caution: Uneven way, occasional difficult passages.",difficult:"Difficult: Way narrow and exposed. May contain obstacles to step over and narrow passages.",critical:"Borderline: Passable only for experienced riders and horses. Major obstacles. Bridges should be examined carefully.",dangerous:"Dangerous: Passable only for very experienced riders and horses and only in good weather. Dismount.",impossible:"Impassable: Way or bridge not passable for horses. Too narrow, insuffient support, obstacles like ladders. Danger of life."}}},horse_stables:{key:"amenity",type:"check",label:"Riding Stable",strings:{options:{"undefined":"No",stables:"Yes"}},reference:{key:"amenity",value:"stables"}},iata:{key:"iata",type:"text",label:"IATA Airport Code"},icao:{key:"icao",type:"text",label:"ICAO Airport Code"},incline_steps:{key:"incline",type:"combo",label:"Incline",strings:{options:{up:"Up",down:"Down"}}},incline:{key:"incline",type:"combo",label:"Incline"},indoor_type:{key:"indoor",type:"typeCombo",label:"Type"},indoor:{key:"indoor",type:"check",label:"Indoor"},industrial:{key:"industrial",type:"combo",label:"Type"},information:{key:"information",type:"typeCombo",label:"Type"},inscription:{key:"inscription",type:"textarea",label:"Inscription"},intermittent_yes:{key:"intermittent",type:"check",label:"Intermittent","default":"yes"},intermittent:{key:"intermittent",type:"check",label:"Intermittent"},internet_access:{key:"internet_access",type:"combo",label:"Internet Access",strings:{options:{yes:"Yes",no:"No",wlan:"Wifi",wired:"Wired",terminal:"Terminal"}}},"internet_access/fee":{key:"internet_access:fee",type:"check",label:"Internet Access Fee",prerequisiteTag:{key:"internet_access",valueNot:"no"}},"internet_access/ssid":{key:"internet_access:ssid",type:"text",label:"Wifi Network Name",prerequisiteTag:{key:"internet_access",valueNot:"no"}},interval:{key:"interval",type:"text",label:"Interval"},junction_line:{key:"junction",type:"combo",label:"Junction",strings:{options:{roundabout:"Roundabout",circular:"Traffic Circle",jughandle:"Jughandle"}}},"junction/ref_oneway":{key:"junction:ref",type:"text",label:"Junction Number",prerequisiteTag:{key:"oneway",value:"yes"}},kerb:{key:"kerb",type:"combo",label:"Curb"},"kerb/height":{key:"kerb:height",type:"combo",snake_case:false,label:"Height"},label:{key:"label",type:"textarea",label:"Label"},lamp_type:{key:"lamp_type",type:"combo",label:"Type"},landuse:{key:"landuse",type:"typeCombo",label:"Type"},lanes:{key:"lanes",type:"number",minValue:0,label:"Lanes",placeholder:"1, 2, 3..."},language_multi:{key:"language:",type:"multiCombo",label:"Languages"},layer:{key:"layer",type:"number",label:"Layer",placeholder:"0"},leaf_cycle_singular:{key:"leaf_cycle",type:"combo",label:"Leaf Cycle",strings:{options:{evergreen:"Evergreen",deciduous:"Deciduous",semi_evergreen:"Semi-Evergreen",semi_deciduous:"Semi-Deciduous"}}},leaf_cycle:{key:"leaf_cycle",type:"combo",label:"Leaf Cycle",strings:{options:{evergreen:"Evergreen",deciduous:"Deciduous",semi_evergreen:"Semi-Evergreen",semi_deciduous:"Semi-Deciduous",mixed:"Mixed"}}},leaf_type_singular:{key:"leaf_type",type:"combo",label:"Leaf Type",strings:{options:{broadleaved:"Broadleaved",needleleaved:"Needleleaved",leafless:"Leafless"}}},leaf_type:{key:"leaf_type",type:"combo",label:"Leaf Type",strings:{options:{broadleaved:"Broadleaved",needleleaved:"Needleleaved",mixed:"Mixed",leafless:"Leafless"}}},leisure:{key:"leisure",type:"typeCombo",label:"Type"},length:{key:"length",type:"number",minValue:0,label:"Length (Meters)"},level:{key:"level",type:"combo",label:"Level",universal:true},levels:{key:"building:levels",type:"number",minValue:0,label:"Levels",placeholder:"2, 4, 6..."},liaison:{key:"liaison",type:"combo",label:"Type"},lit:{key:"lit",type:"check",label:"Lit"},location_pool:{key:"location",type:"typeCombo",label:"Location",strings:{options:{outdoor:"Outdoor",indoor:"Indoor",roof:"Rooftop"}}},location:{key:"location",type:"combo",label:"Location"},lock:{key:"lock",type:"check",label:"Lock"},man_made:{key:"man_made",type:"typeCombo",label:"Type"},manhole:{key:"manhole",type:"typeCombo",label:"Type"},manufacturer:{key:"manufacturer",type:"combo",snake_case:false,caseSensitive:true,label:"Manufacturer"},map_size:{key:"map_size",type:"typeCombo",label:"Coverage"},map_type:{key:"map_type",type:"typeCombo",label:"Type"},material:{key:"material",type:"combo",label:"Material"},maxheight:{key:"maxheight",type:"combo",label:"Max Height",placeholder:"4, 4.5, 5, 14'0\", 14'6\", 15'0\"",snake_case:false},maxspeed:{key:"maxspeed",type:"maxspeed",label:"Speed Limit",placeholder:"40, 50, 60..."},"maxspeed/advisory":{key:"maxspeed:advisory",type:"maxspeed",label:"Advisory Speed Limit",placeholder:"40, 50, 60..."},maxstay:{key:"maxstay",type:"combo",label:"Max Stay",options:["15 min","30 min","45 min","1 hr","1.5 hr","2 hr","2.5 hr","3 hr","4 hr","1 day","2 day"],snake_case:false},maxweight_bridge:{key:"maxweight",type:"combo",label:"Max Weight",snake_case:false,prerequisiteTag:{key:"bridge",valueNot:"no"}},maxweight:{key:"maxweight",type:"combo",label:"Max Weight",snake_case:false},memorial:{key:"memorial",type:"typeCombo",label:"Type"},microbrewery:{key:"microbrewery",type:"check",label:"Microbrewery"},minspeed:{key:"minspeed",type:"maxspeed",label:"Minimum Speed Limit",placeholder:"20, 30, 40..."},monitoring_multi:{key:"monitoring:",type:"multiCombo",label:"Monitoring"},"mtb/scale":{key:"mtb:scale",type:"combo",label:"Mountain Biking Difficulty",placeholder:"0, 1, 2, 3...",strings:{options:{"0":"0: Solid gravel/packed earth, no obstacles, wide curves","1":"1: Some loose surface, small obstacles, wide curves","2":"2: Much loose surface, large obstacles, easy hairpins","3":"3: Slippery surface, large obstacles, tight hairpins","4":"4: Loose surface or boulders, dangerous hairpins","5":"5: Maximum difficulty, boulder fields, landslides","6":"6: Not rideable except by the very best mountain bikers"}}},"mtb/scale/imba":{key:"mtb:scale:imba",type:"combo",label:"IMBA Trail Difficulty",placeholder:"Easy, Medium, Difficult...",strings:{options:{"0":"Easiest (white circle)","1":"Easy (green circle)","2":"Medium (blue square)","3":"Difficult (black diamond)","4":"Extremely Difficult (double black diamond)"}}},"mtb/scale/uphill":{key:"mtb:scale:uphill",type:"combo",label:"Mountain Biking Uphill Difficulty",placeholder:"0, 1, 2, 3...",strings:{options:{"0":"0: Avg. incline <10%, gravel/packed earth, no obstacles","1":"1: Avg. incline <15%, gravel/packed earth, few small objects","2":"2: Avg. incline <20%, stable surface, fistsize rocks/roots","3":"3: Avg. incline <25%, variable surface, fistsize rocks/branches","4":"4: Avg. incline <30%, poor condition, big rocks/branches","5":"5: Very steep, bike generally needs to be pushed or carried"}}},name:{key:"name",type:"localized",label:"Name",universal:true,placeholder:"Common name (if any)"},natural:{key:"natural",type:"typeCombo",label:"Natural"},network_bicycle:{key:"network",type:"combo",label:"Network Type",placeholder:"Local, Regional, National, International",strings:{options:{lcn:"Local",rcn:"Regional",ncn:"National",icn:"International"}}},network_foot:{key:"network",type:"combo",label:"Network Type",placeholder:"Local, Regional, National, International",strings:{options:{lwn:"Local",rwn:"Regional",nwn:"National",iwn:"International"}}},network_horse:{key:"network",type:"combo",label:"Network Type",placeholder:"Local, Regional, National, International",strings:{options:{lhn:"Local",rhn:"Regional",nhn:"National",ihn:"International"}}},network_road:{key:"network",type:"networkCombo",label:"Network"},network:{key:"network",type:"text",label:"Network"},note:{key:"note",type:"textarea",universal:true,icon:"note",label:"Note"},office:{key:"office",type:"typeCombo",label:"Type"},oneway_yes:{key:"oneway",type:"onewayCheck",label:"One Way",strings:{options:{"undefined":"Assumed to be Yes",yes:"Yes",no:"No",reversible:"Reversible",alternating:"Alternating"}}},oneway:{key:"oneway",type:"onewayCheck",label:"One Way",strings:{options:{"undefined":"Assumed to be No",yes:"Yes",no:"No",reversible:"Reversible",alternating:"Alternating"}}},"oneway/bicycle":{key:"oneway:bicycle",type:"check",label:"One Way (Bicycles)",prerequisiteTag:{key:"oneway"}},opening_date:{key:"opening_date",type:"text",label:"Expected Opening Date"},opening_hours:{key:"opening_hours",type:"combo",label:"Hours",placeholder:"Unknown",snake_case:false},operator:{key:"operator",type:"text",label:"Operator"},"operator/type":{key:"operator:type",type:"combo",label:"Operator Type",prerequisiteTag:{key:"operator"}},outdoor_seating:{key:"outdoor_seating",type:"check",label:"Outdoor Seating"},par:{key:"par",type:"number",minValue:1,label:"Par",placeholder:"3, 4, 5..."},park_ride:{key:"park_ride",type:"check",label:"Park and Ride"},parking:{key:"parking",type:"combo",label:"Type",strings:{options:{surface:"Surface","multi-storey":"Multilevel",underground:"Underground",sheds:"Sheds",carports:"Carports",garage_boxes:"Garage Boxes",lane:"Roadside Lane"}}},payment_multi_fee:{key:"payment:",type:"multiCombo",label:"Payment Types",prerequisiteTag:{key:"fee",valueNot:"no"}},payment_multi:{key:"payment:",type:"multiCombo",label:"Payment Types"},phases:{key:"phases",type:"number",minValue:1,label:"Phases",placeholder:"1, 2, 3..."},phone:{key:"phone",type:"tel",icon:"maki-telephone",label:"Telephone",placeholder:"+31 42 123 4567"},"piste/difficulty_downhill":{key:"piste:difficulty",type:"combo",label:"Difficulty",placeholder:"Easy, Intermediate, Advanced...",strings:{options:{novice:"Novice (instructional)",easy:"Easy (green circle)",intermediate:"Intermediate (blue square)",advanced:"Advanced (black diamond)",expert:"Expert (double black diamond)",freeride:"Freeride (off-piste)",extreme:"Extreme (climbing equipment required)"}}},"piste/difficulty_nordic":{key:"piste:difficulty",type:"combo",label:"Difficulty",placeholder:"Easy, Intermediate, Advanced...",strings:{options:{novice:"Novice - Flat, no effort needed",easy:"Easy - Soft hills, short steep section",intermediate:"Intermediate - Steep section",advanced:"Advanced - Narrow, steep or icy section, sharp turn",expert:"Expert - Dangerous terrain around"}}},"piste/difficulty_skitour":{key:"piste:difficulty",type:"combo",label:"Difficulty",placeholder:"Easy, Intermediate, Advanced...",strings:{options:{novice:"Novice - L: <30° incline",easy:"Easy - WS: 30-35° incline",intermediate:"Intermediate - ZS: 35-40° incline",advanced:"Advanced - S: 40-45° incline",expert:"Expert - SS: 45–50° incline",freeride:"Freeride - AS: 50–55° incline",extreme:"Extreme - EX: >55° incline"}}},"piste/difficulty":{key:"piste:difficulty",type:"combo",label:"Difficulty",placeholder:"Easy, Intermediate, Advanced...",strings:{options:{novice:"Novice",easy:"Easy",intermediate:"Intermediate",advanced:"Advanced",expert:"Expert",freeride:"Freeride",extreme:"Extreme"}}},"piste/grooming_downhill":{key:"piste:grooming",type:"combo",label:"Grooming",strings:{options:{classic:"Classic",mogul:"Mogul",backcountry:"Backcountry - no grooming"}}},"piste/grooming_hike":{key:"piste:grooming",type:"combo",label:"Grooming",strings:{options:{classic:"Classic - Winter Hiking",backcountry:"Backcountry - Snowshoeing"}}},"piste/grooming_nordic":{key:"piste:grooming",type:"combo",label:"Grooming",strings:{options:{classic:"Classic",backcountry:"Backcountry, no grooming","classic+skating":"Classic and Skating",scooter:"Scooter/Snowmobile",skating:"Skating"}}},"piste/grooming":{key:"piste:grooming",type:"combo",label:"Grooming",strings:{options:{classic:"Classic",mogul:"Mogul",backcountry:"Backcountry","classic+skating":"Classic and Skating",scooter:"Scooter/Snowmobile",skating:"Skating"}}},"piste/type":{key:"piste:type",type:"typeCombo",label:"Type",strings:{options:{downhill:"Downhill",nordic:"Nordic",skitour:"Skitour",sled:"Sled",hike:"Hike",sleigh:"Sleigh",ice_skate:"Ice Skate",snow_park:"Snow Park",playground:"Playground",connection:"Connection"}}},place:{key:"place",type:"typeCombo",label:"Type"},plant:{key:"plant",type:"combo",label:"Plant"},"plant/output/electricity":{key:"plant:output:electricity",type:"text",label:"Power Output",placeholder:"500 MW, 1000 MW, 2000 MW..."},playground:{key:"playground",type:"combo",label:"Type"},"playground/baby":{key:"baby",type:"check",label:"Baby Seat"},"playground/max_age":{key:"max_age",type:"number",minValue:0,label:"Maximum Age"},"playground/min_age":{key:"min_age",type:"number",minValue:0,label:"Minimum Age"},polling_station:{key:"polling_station",type:"check",label:"Polling Place"},population:{key:"population",type:"text",label:"Population"},power_supply:{key:"power_supply",type:"check",label:"Power Supply"},power:{key:"power",type:"typeCombo",label:"Type"},preschool:{key:"preschool",type:"check",label:"Preschool"},produce:{key:"produce",type:"semiCombo",label:"Produce"},product:{key:"product",type:"semiCombo",label:"Products"},"public_bookcase/type":{key:"public_bookcase:type",type:"combo",label:"Type"},railway:{key:"railway",type:"typeCombo",label:"Type"},"railway/position":{key:"railway:position",type:"text",placeholder:"Distance to one decimal (123.4)",label:"Milestone Position"},"railway/signal/direction":{key:"railway:signal:direction",type:"combo",label:"Direction Affected",strings:{options:{forward:"Forward",backward:"Backward",both:"Both / All"}}},rating:{key:"rating",type:"combo",label:"Power Rating",snake_case:false},recycling_accepts:{key:"recycling:",type:"multiCombo",label:"Accepts"},recycling_type:{key:"recycling_type",type:"combo",label:"Type",placeholder:"Container, Center",strings:{options:{container:"Container",centre:"Center"}}},ref_aeroway_gate:{key:"ref",type:"text",label:"Gate Number"},ref_golf_hole:{key:"ref",type:"text",label:"Hole Number",placeholder:"1-18"},ref_highway_junction:{key:"ref",type:"text",label:"Junction Number"},ref_platform:{key:"ref",type:"text",label:"Platform Number"},ref_road_number:{key:"ref",type:"text",label:"Road Number"},ref_room_number:{key:"ref",type:"text",label:"Room Number"},ref_route:{key:"ref",type:"text",label:"Route Number"},ref_runway:{key:"ref",type:"text",label:"Runway Number",placeholder:"e.g. 01L/19R"},ref_stop_position:{key:"ref",type:"text",label:"Stop Number"},ref_taxiway:{key:"ref",type:"text",label:"Taxiway Name",placeholder:"e.g. A5"},ref:{key:"ref",type:"text",label:"Reference Code"},"ref/isil":{key:"ref:isil",type:"text",label:"ISIL Code"},relation:{key:"type",type:"combo",label:"Type"},religion:{key:"religion",type:"combo",label:"Religion"},reservation:{key:"reservation",type:"combo",label:"Reservations",strings:{options:{yes:"Accepted",no:"Not Accepted",required:"Required",recommended:"Recommended"}}},resort:{key:"resort",type:"combo",label:"Type"},resource:{key:"resource",type:"semiCombo",label:"Resources"},restriction:{key:"restriction",type:"combo",label:"Type"},restrictions:{type:"restrictions",geometry:"vertex",icon:"iD-restrictions",reference:{rtype:"restriction"},label:"Turn Restrictions"},"roof/colour":{key:"roof:colour",type:"combo",label:"Roof Color"},room:{key:"room",type:"combo",label:"Type"},rooms:{key:"rooms",type:"number",minValue:0,label:"Rooms"},route_master:{key:"route_master",type:"combo",label:"Type"},route:{key:"route",type:"combo",label:"Type"},sac_scale:{key:"sac_scale",type:"combo",label:"Hiking Difficulty",placeholder:"Mountain Hiking, Alpine Hiking...",strings:{options:{hiking:"T1: Hiking",mountain_hiking:"T2: Mountain Hiking",demanding_mountain_hiking:"T3: Demanding Mountain Hiking",alpine_hiking:"T4: Alpine Hiking",demanding_alpine_hiking:"T5: Demanding Alpine Hiking",difficult_alpine_hiking:"T6: Difficult Alpine Hiking"}}},salt:{key:"salt",type:"check",label:"Salt"},sanitary_dump_station:{key:"sanitary_dump_station",type:"check",label:"Toilet Disposal"},screen:{key:"screen",type:"number",label:"Screens",placeholder:"1, 4, 8…",minValue:0},scuba_diving:{key:"scuba_diving:",type:"multiCombo",label:"Services",options:["repair","courses","rental","filling","air_filling","nitrox_filling","trimix_filling","oxygen_filling"]},"seamark/beacon_isolated_danger/shape":{key:"seamark:beacon_isolated_danger:shape",type:"combo",label:"Shape"},"seamark/beacon_lateral/category":{key:"seamark:beacon_lateral:category",type:"combo",label:"Category",strings:{options:{port:"Port",starboard:"Starboard",waterway_left:"Waterway Left",waterway_right:"Waterway Right",danger_left:"Danger Left",danger_right:"Danger Right"}}},"seamark/beacon_lateral/colour":{key:"seamark:beacon_lateral:colour",type:"combo",label:"Color",strings:{options:{red:"Red",green:"Green",grey:"Grey"}}},"seamark/beacon_lateral/shape":{key:"seamark:beacon_lateral:shape",type:"combo",label:"Shape"},"seamark/beacon_lateral/system":{key:"seamark:beacon_lateral:system",type:"combo",label:"System",strings:{options:{"iala-a":"IALA A","iala-b":"IALA B",cevni:"CEVNI",other:"Other"}}},"seamark/buoy_lateral/category":{key:"seamark:buoy_lateral:category",type:"combo",label:"Category",strings:{options:{port:"Port",starboard:"Starboard",channel_left:"Channel Left",channel_right:"Channel Right",waterway_left:"Waterway Left",waterway_right:"Waterway Right",danger_left:"Danger Left",danger_right:"Danger Right",preferred_channel_port:"Preferred Channel Port",preferred_channel_starboard:"Preferred Channel Starboard"}}},"seamark/buoy_lateral/colour":{key:"seamark:buoy_lateral:colour",type:"combo",label:"Color",strings:{options:{red:"Red",green:"Green","red;white;red;white":"Red-White-Red-White","green;white;green;white":"Green-White-Green-White","red;green;red":"Red-Green-Red","green;red;green":"Green-Red-Green",white:"White",yellow:"Yellow"}}},"seamark/buoy_lateral/shape":{key:"seamark:buoy_lateral:shape",type:"combo",label:"Shape"},"seamark/buoy_lateral/system":{key:"seamark:buoy_lateral:system",type:"combo",label:"System",strings:{options:{"iala-a":"IALA A","iala-b":"IALA B",cevni:"CEVNI",other:"Other"}}},"seamark/mooring/category":{key:"seamark:mooring:category",type:"combo",label:"Category"},"seamark/type":{key:"seamark:type",type:"combo",label:"Seamark"},"seamark/wreck/category":{key:"seamark:wreck:category",type:"combo",label:"Category"},seasonal:{key:"seasonal",type:"check",label:"Seasonal"},seats:{key:"seats",type:"number",minValue:0,label:"Seats",placeholder:"2, 4, 6..."},second_hand:{key:"second_hand",type:"combo",label:"Sells Used",placeholder:"Yes, No, Only",strings:{options:{yes:"Yes",no:"No",only:"Only"}}},self_service:{key:"self_service",type:"check",label:"Self-Service"},service_rail:{key:"service",type:"combo",label:"Service Type",strings:{options:{spur:"Spur",yard:"Yard",siding:"Siding",crossover:"Crossover"}}},service_times:{key:"service_times",type:"text",label:"Service Times"},service:{key:"service",type:"combo",label:"Type",options:["parking_aisle","driveway","alley","emergency_access","drive-through"]},"service/bicycle":{key:"service:bicycle:",type:"multiCombo",label:"Services"},"service/vehicle":{key:"service:vehicle:",type:"multiCombo",label:"Services"},shelter_type:{key:"shelter_type",type:"combo",label:"Type"},shelter:{key:"shelter",type:"check",label:"Shelter"},shop:{key:"shop",type:"typeCombo",label:"Type"},"siren/purpose":{key:"siren:purpose",type:"combo",label:"Purpose"},"siren/type":{key:"siren:type",type:"combo",label:"Type",strings:{options:{pneumatic:"Pneumatic",electronic:"Electronic",other:"Other"}}},site_type:{key:"site_type",type:"combo",label:"Site Type"},site:{key:"site",type:"combo",label:"Type"},smoking:{key:"smoking",type:"combo",label:"Smoking",placeholder:"No, Separated, Yes...",strings:{options:{no:"No smoking anywhere",separated:"In smoking areas, not physically isolated",isolated:"In smoking areas, physically isolated",outside:"Allowed outside",yes:"Allowed everywhere",dedicated:"Dedicated to smokers (e.g. smokers' club)"}}},smoothness:{key:"smoothness",type:"combo",label:"Smoothness",placeholder:"Thin Rollers, Wheels, Off-Road...",strings:{options:{excellent:"Thin Rollers: rollerblade, skateboard",good:"Thin Wheels: racing bike",intermediate:"Wheels: city bike, wheelchair, scooter",bad:"Robust Wheels: trekking bike, car, rickshaw",very_bad:"High Clearance: light duty off-road vehicle",horrible:"Off-Road: heavy duty off-road vehicle",very_horrible:"Specialized off-road: tractor, ATV",impassable:"Impassable / No wheeled vehicle"}}},social_facility_for:{key:"social_facility:for",type:"combo",label:"People Served"},social_facility:{key:"social_facility",type:"combo",label:"Type"},source:{key:"source",type:"semiCombo",icon:"source",universal:true,label:"Sources",snake_case:false,caseSensitive:true,options:["survey","local knowledge","gps","aerial imagery","streetlevel imagery"]},sport_ice:{key:"sport",type:"semiCombo",label:"Sports",options:["ice_skating","ice_hockey","multi","curling","ice_stock"]},sport_racing_motor:{key:"sport",type:"semiCombo",label:"Sports",options:["motor","karting","motocross"]},sport_racing_nonmotor:{key:"sport",type:"semiCombo",label:"Sports",options:["bmx","cycling","dog_racing","horse_racing","running"]},sport:{key:"sport",type:"semiCombo",label:"Sports"},stars:{key:"stars",type:"combo",label:"Stars"},start_date:{key:"start_date",type:"text",universal:true,label:"Start Date"},step_count:{key:"step_count",type:"number",minValue:0,label:"Number of Steps"},stop:{key:"stop",type:"combo",label:"Stop Type",strings:{options:{all:"All Ways",minor:"Minor Road"}}},street_cabinet:{key:"street_cabinet",type:"combo",label:"Type"},structure_waterway:{type:"structureRadio",keys:["tunnel"],label:"Structure",placeholder:"Unknown",strings:{options:{tunnel:"Tunnel"}}},structure:{type:"structureRadio",keys:["bridge","tunnel","embankment","cutting","ford"],label:"Structure",placeholder:"Unknown",strings:{options:{bridge:"Bridge",tunnel:"Tunnel",embankment:"Embankment",cutting:"Cutting",ford:"Ford"}}},studio:{key:"studio",type:"combo",label:"Type"},substance:{key:"substance",type:"combo",label:"Substance"},substation:{key:"substation",type:"typeCombo",label:"Type"},supervised:{key:"supervised",type:"check",label:"Supervised"},support:{key:"support",type:"combo",label:"Support"},surface:{key:"surface",type:"combo",label:"Surface"},surveillance:{key:"surveillance",type:"combo",label:"Surveillance Kind"},"surveillance/type":{key:"surveillance:type",type:"combo",label:"Surveillance Type",strings:{options:{camera:"Camera",guard:"Guard",ALPR:"Automatic License Plate Reader"}}},"surveillance/zone":{key:"surveillance:zone",type:"combo",label:"Surveillance Zone"},"survey/date":{key:"survey:date",type:"text",label:"Last Survey Date"},swimming_pool:{key:"swimming_pool",type:"combo",label:"Type"},"switch":{key:"switch",type:"combo",label:"Type",strings:{options:{mechanical:"Mechanical",circuit_breaker:"Circuit Breaker",disconnector:"Disconnector",earthing:"Earthing"}}},tactile_paving:{key:"tactile_paving",type:"check",label:"Tactile Paving"},takeaway:{key:"takeaway",type:"combo",label:"Takeaway",placeholder:"Yes, No, Takeaway Only...",strings:{options:{yes:"Yes",no:"No",only:"Takeaway Only"}}},target:{key:"target",type:"combo",label:"Target"},tidal:{key:"tidal",type:"check",label:"Tidal"},to:{key:"to",type:"text",label:"To"},"toilets/disposal":{key:"toilets:disposal",type:"combo",label:"Disposal",strings:{options:{flush:"Flush",pitlatrine:"Pit Latrine",chemical:"Chemical",bucket:"Bucket"}}},"toilets/handwashing":{key:"toilets:handwashing",type:"check",label:"Handwashing"},"toilets/position":{key:"toilets:position",type:"semiCombo",label:"Positions"},toll:{key:"toll",type:"check",label:"Toll"},tomb:{key:"tomb",type:"typeCombo",label:"Type"},tourism:{key:"tourism",type:"typeCombo",label:"Type"},"tower/construction":{key:"tower:construction",type:"combo",label:"Construction",placeholder:"Guyed, Lattice, Concealed, ..."},"tower/type":{key:"tower:type",type:"combo",label:"Type"},tracktype:{key:"tracktype",type:"combo",label:"Track Type",placeholder:"Solid, Mostly Solid, Soft...",strings:{options:{grade1:"Solid: paved or heavily compacted hardcore surface",grade2:"Mostly Solid: gravel/rock with some soft material mixed in",grade3:"Even mixture of hard and soft materials",grade4:"Mostly Soft: soil/sand/grass with some hard material mixed in",grade5:"Soft: soil/sand/grass"}}},trade:{key:"trade",type:"typeCombo",label:"Type"},traffic_calming:{key:"traffic_calming",type:"typeCombo",label:"Type"},traffic_sign:{key:"traffic_sign",type:"typeCombo",label:"Traffic Sign"},"traffic_sign/direction":{key:"traffic_sign:direction",type:"combo",label:"Direction Affected",strings:{options:{forward:"Forward",backward:"Backward",both:"Both / All"}}},traffic_signals:{key:"traffic_signals",type:"combo",label:"Type","default":"signal"},"traffic_signals/direction":{key:"traffic_signals:direction",type:"combo",label:"Direction Affected",strings:{options:{forward:"Forward",backward:"Backward",both:"Both / All"}}},trail_visibility:{key:"trail_visibility",type:"combo",label:"Trail Visibility",placeholder:"Excellent, Good, Bad...",strings:{options:{excellent:"Excellent: unambiguous path or markers everywhere",good:"Good: markers visible, sometimes require searching",intermediate:"Intermediate: few markers, path mostly visible",bad:"Bad: no markers, path sometimes invisible/pathless",horrible:"Horrible: often pathless, some orientation skills required",no:"No: pathless, excellent orientation skills required"}}},transformer:{key:"transformer",type:"combo",label:"Type",strings:{options:{distribution:"Distribution",generator:"Generator",converter:"Converter",traction:"Traction",auto:"Autotransformer",phase_angle_regulator:"Phase Angle Regulator",auxiliary:"Auxiliary",yes:"Unknown"}}},trees:{key:"trees",type:"semiCombo",label:"Trees"},trench:{key:"trench",type:"combo",label:"Type"},trolley_wire:{key:"trolley_wire",type:"check",label:"Overhead Trolley Wires"},tunnel:{key:"tunnel",type:"typeCombo",label:"Type",placeholder:"Default"},usage_rail:{key:"usage",type:"combo",label:"Usage Type",strings:{options:{main:"Main",branch:"Branch",industrial:"Industrial",military:"Military",test:"Test",tourism:"Tourism"}}},valve:{key:"valve",type:"combo",label:"Type"},vending:{key:"vending",type:"semiCombo",label:"Types of Goods"},visibility:{key:"visibility",type:"combo",label:"Visibility",strings:{options:{house:"Up to 5m (16ft)",street:"5 to 20m (16 to 65ft)",area:"Over 20m (65ft)"}}},"volcano/status":{key:"volcano:status",type:"combo",label:"Volcano Status",strings:{options:{active:"Active",dormant:"Dormant",extinct:"Extinct"}}},"volcano/type":{key:"volcano:type",type:"combo",label:"Volcano Type",strings:{options:{stratovolcano:"Stratovolcano",shield:"Shield",scoria:"Scoria"}}},voltage_electrified:{key:"voltage",type:"combo",label:"Voltage",prerequisiteTag:{key:"electrified",valueNot:"no"}},voltage:{key:"voltage",type:"combo",label:"Voltage"},"voltage/primary":{key:"voltage:primary",type:"combo",label:"Primary Voltage"},"voltage/secondary":{key:"voltage:secondary",type:"combo",label:"Secondary Voltage"},"voltage/tertiary":{key:"voltage:tertiary",type:"combo",label:"Tertiary Voltage"},wall:{key:"wall",type:"combo",label:"Type"},water_point:{key:"water_point",type:"check",label:"Water Point"},water_source:{key:"water_source","default":"main",type:"combo",label:"Water Source"},water_volume:{key:"water_volume",type:"number",label:"Water Reserve Volume (m³)",snake_case:false},water:{key:"water",type:"combo",label:"Type"},waterway:{key:"waterway",type:"typeCombo",label:"Type"},website:{key:"website",type:"url",icon:"website",placeholder:"https://example.com",label:"Website"},wetland:{key:"wetland",type:"combo",label:"Type"},wheelchair:{key:"wheelchair",type:"radio",options:["yes","limited","no"],icon:"maki-wheelchair",label:"Wheelchair Access"},wholesale:{key:"wholesale",type:"typeCombo",label:"Wholesale"},width:{key:"width",type:"number",minValue:0,label:"Width (Meters)"},wikidata:{key:"wikidata",keys:["wikidata","wikipedia"],type:"wikidata",icon:"wikipedia",universal:true,label:"Wikidata"},wikipedia:{key:"wikipedia",keys:["wikipedia","wikidata"],type:"wikipedia",icon:"wikipedia",universal:true,label:"Wikipedia"},windings:{key:"windings",type:"number",minValue:1,label:"Windings",placeholder:"1, 2, 3..."},"windings/configuration":{key:"windings:configuration",type:"combo",label:"Windings Configuration",strings:{options:{star:"Star / Wye",delta:"Delta","open-delta":"Open Delta",zigzag:"Zig Zag",open:"Open",scott:"Scott",leblanc:"Leblanc"}}}};
+
+       var quickselect = createCommonjsModule(function (module, exports) {
+       (function (global, factory) {
+                module.exports = factory() ;
+       }(commonjsGlobal, (function () {
+       function quickselect(arr, k, left, right, compare) {
+           quickselectStep(arr, k, left || 0, right || (arr.length - 1), compare || defaultCompare);
+       }
+
+       function quickselectStep(arr, k, left, right, compare) {
+
+           while (right > left) {
+               if (right - left > 600) {
+                   var n = right - left + 1;
+                   var m = k - left + 1;
+                   var z = Math.log(n);
+                   var s = 0.5 * Math.exp(2 * z / 3);
+                   var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);
+                   var newLeft = Math.max(left, Math.floor(k - m * s / n + sd));
+                   var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));
+                   quickselectStep(arr, k, newLeft, newRight, compare);
+               }
+
+               var t = arr[k];
+               var i = left;
+               var j = right;
+
+               swap(arr, left, k);
+               if (compare(arr[right], t) > 0) swap(arr, left, right);
+
+               while (i < j) {
+                   swap(arr, i, j);
+                   i++;
+                   j--;
+                   while (compare(arr[i], t) < 0) i++;
+                   while (compare(arr[j], t) > 0) j--;
+               }
+
+               if (compare(arr[left], t) === 0) swap(arr, left, j);
+               else {
+                   j++;
+                   swap(arr, j, right);
+               }
+
+               if (j <= k) left = j + 1;
+               if (k <= j) right = j - 1;
+           }
+       }
+
+       function swap(arr, i, j) {
+           var tmp = arr[i];
+           arr[i] = arr[j];
+           arr[j] = tmp;
+       }
+
+       function defaultCompare(a, b) {
+           return a < b ? -1 : a > b ? 1 : 0;
+       }
+
+       return quickselect;
+
+       })));
+       });
+
+       var rbush_1 = rbush;
+       var default_1 = rbush;
+
+
+
+       function rbush(maxEntries, format) {
+           if (!(this instanceof rbush)) return new rbush(maxEntries, format);
+
+           // max entries in a node is 9 by default; min node fill is 40% for best performance
+           this._maxEntries = Math.max(4, maxEntries || 9);
+           this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4));
+
+           if (format) {
+               this._initFormat(format);
+           }
+
+           this.clear();
+       }
+
+       rbush.prototype = {
+
+           all: function () {
+               return this._all(this.data, []);
+           },
+
+           search: function (bbox) {
+
+               var node = this.data,
+                   result = [],
+                   toBBox = this.toBBox;
+
+               if (!intersects$1(bbox, node)) return result;
+
+               var nodesToSearch = [],
+                   i, len, child, childBBox;
+
+               while (node) {
+                   for (i = 0, len = node.children.length; i < len; i++) {
+
+                       child = node.children[i];
+                       childBBox = node.leaf ? toBBox(child) : child;
+
+                       if (intersects$1(bbox, childBBox)) {
+                           if (node.leaf) result.push(child);
+                           else if (contains$4(bbox, childBBox)) this._all(child, result);
+                           else nodesToSearch.push(child);
+                       }
+                   }
+                   node = nodesToSearch.pop();
+               }
+
+               return result;
+           },
+
+           collides: function (bbox) {
+
+               var node = this.data,
+                   toBBox = this.toBBox;
+
+               if (!intersects$1(bbox, node)) return false;
+
+               var nodesToSearch = [],
+                   i, len, child, childBBox;
+
+               while (node) {
+                   for (i = 0, len = node.children.length; i < len; i++) {
+
+                       child = node.children[i];
+                       childBBox = node.leaf ? toBBox(child) : child;
+
+                       if (intersects$1(bbox, childBBox)) {
+                           if (node.leaf || contains$4(bbox, childBBox)) return true;
+                           nodesToSearch.push(child);
+                       }
+                   }
+                   node = nodesToSearch.pop();
+               }
+
+               return false;
+           },
+
+           load: function (data) {
+               if (!(data && data.length)) return this;
+
+               if (data.length < this._minEntries) {
+                   for (var i = 0, len = data.length; i < len; i++) {
+                       this.insert(data[i]);
+                   }
+                   return this;
+               }
+
+               // recursively build the tree with the given data from scratch using OMT algorithm
+               var node = this._build(data.slice(), 0, data.length - 1, 0);
+
+               if (!this.data.children.length) {
+                   // save as is if tree is empty
+                   this.data = node;
+
+               } else if (this.data.height === node.height) {
+                   // split root if trees have the same height
+                   this._splitRoot(this.data, node);
+
+               } else {
+                   if (this.data.height < node.height) {
+                       // swap trees if inserted one is bigger
+                       var tmpNode = this.data;
+                       this.data = node;
+                       node = tmpNode;
+                   }
+
+                   // insert the small tree into the large tree at appropriate level
+                   this._insert(node, this.data.height - node.height - 1, true);
+               }
+
+               return this;
+           },
+
+           insert: function (item) {
+               if (item) this._insert(item, this.data.height - 1);
+               return this;
+           },
+
+           clear: function () {
+               this.data = createNode([]);
+               return this;
+           },
+
+           remove: function (item, equalsFn) {
+               if (!item) return this;
+
+               var node = this.data,
+                   bbox = this.toBBox(item),
+                   path = [],
+                   indexes = [],
+                   i, parent, index, goingUp;
+
+               // depth-first iterative tree traversal
+               while (node || path.length) {
+
+                   if (!node) { // go up
+                       node = path.pop();
+                       parent = path[path.length - 1];
+                       i = indexes.pop();
+                       goingUp = true;
+                   }
+
+                   if (node.leaf) { // check current node
+                       index = findItem(item, node.children, equalsFn);
+
+                       if (index !== -1) {
+                           // item found, remove the item and condense tree upwards
+                           node.children.splice(index, 1);
+                           path.push(node);
+                           this._condense(path);
+                           return this;
+                       }
+                   }
+
+                   if (!goingUp && !node.leaf && contains$4(node, bbox)) { // go down
+                       path.push(node);
+                       indexes.push(i);
+                       i = 0;
+                       parent = node;
+                       node = node.children[0];
+
+                   } else if (parent) { // go right
+                       i++;
+                       node = parent.children[i];
+                       goingUp = false;
+
+                   } else node = null; // nothing found
+               }
+
+               return this;
+           },
+
+           toBBox: function (item) { return item; },
+
+           compareMinX: compareNodeMinX,
+           compareMinY: compareNodeMinY,
+
+           toJSON: function () { return this.data; },
+
+           fromJSON: function (data) {
+               this.data = data;
+               return this;
+           },
+
+           _all: function (node, result) {
+               var nodesToSearch = [];
+               while (node) {
+                   if (node.leaf) result.push.apply(result, node.children);
+                   else nodesToSearch.push.apply(nodesToSearch, node.children);
+
+                   node = nodesToSearch.pop();
+               }
+               return result;
+           },
+
+           _build: function (items, left, right, height) {
+
+               var N = right - left + 1,
+                   M = this._maxEntries,
+                   node;
+
+               if (N <= M) {
+                   // reached leaf level; return leaf
+                   node = createNode(items.slice(left, right + 1));
+                   calcBBox(node, this.toBBox);
+                   return node;
+               }
+
+               if (!height) {
+                   // target height of the bulk-loaded tree
+                   height = Math.ceil(Math.log(N) / Math.log(M));
+
+                   // target number of root entries to maximize storage utilization
+                   M = Math.ceil(N / Math.pow(M, height - 1));
+               }
+
+               node = createNode([]);
+               node.leaf = false;
+               node.height = height;
+
+               // split the items into M mostly square tiles
+
+               var N2 = Math.ceil(N / M),
+                   N1 = N2 * Math.ceil(Math.sqrt(M)),
+                   i, j, right2, right3;
+
+               multiSelect(items, left, right, N1, this.compareMinX);
+
+               for (i = left; i <= right; i += N1) {
+
+                   right2 = Math.min(i + N1 - 1, right);
+
+                   multiSelect(items, i, right2, N2, this.compareMinY);
+
+                   for (j = i; j <= right2; j += N2) {
+
+                       right3 = Math.min(j + N2 - 1, right2);
+
+                       // pack each entry recursively
+                       node.children.push(this._build(items, j, right3, height - 1));
+                   }
+               }
+
+               calcBBox(node, this.toBBox);
+
+               return node;
+           },
+
+           _chooseSubtree: function (bbox, node, level, path) {
+
+               var i, len, child, targetNode, area, enlargement, minArea, minEnlargement;
+
+               while (true) {
+                   path.push(node);
+
+                   if (node.leaf || path.length - 1 === level) break;
+
+                   minArea = minEnlargement = Infinity;
+
+                   for (i = 0, len = node.children.length; i < len; i++) {
+                       child = node.children[i];
+                       area = bboxArea(child);
+                       enlargement = enlargedArea(bbox, child) - area;
+
+                       // choose entry with the least area enlargement
+                       if (enlargement < minEnlargement) {
+                           minEnlargement = enlargement;
+                           minArea = area < minArea ? area : minArea;
+                           targetNode = child;
+
+                       } else if (enlargement === minEnlargement) {
+                           // otherwise choose one with the smallest area
+                           if (area < minArea) {
+                               minArea = area;
+                               targetNode = child;
+                           }
+                       }
+                   }
+
+                   node = targetNode || node.children[0];
+               }
+
+               return node;
+           },
+
+           _insert: function (item, level, isNode) {
+
+               var toBBox = this.toBBox,
+                   bbox = isNode ? item : toBBox(item),
+                   insertPath = [];
+
+               // find the best node for accommodating the item, saving all nodes along the path too
+               var node = this._chooseSubtree(bbox, this.data, level, insertPath);
+
+               // put the item into the node
+               node.children.push(item);
+               extend$1(node, bbox);
+
+               // split on node overflow; propagate upwards if necessary
+               while (level >= 0) {
+                   if (insertPath[level].children.length > this._maxEntries) {
+                       this._split(insertPath, level);
+                       level--;
+                   } else break;
+               }
+
+               // adjust bboxes along the insertion path
+               this._adjustParentBBoxes(bbox, insertPath, level);
+           },
+
+           // split overflowed node into two
+           _split: function (insertPath, level) {
+
+               var node = insertPath[level],
+                   M = node.children.length,
+                   m = this._minEntries;
+
+               this._chooseSplitAxis(node, m, M);
+
+               var splitIndex = this._chooseSplitIndex(node, m, M);
+
+               var newNode = createNode(node.children.splice(splitIndex, node.children.length - splitIndex));
+               newNode.height = node.height;
+               newNode.leaf = node.leaf;
+
+               calcBBox(node, this.toBBox);
+               calcBBox(newNode, this.toBBox);
+
+               if (level) insertPath[level - 1].children.push(newNode);
+               else this._splitRoot(node, newNode);
+           },
+
+           _splitRoot: function (node, newNode) {
+               // split root node
+               this.data = createNode([node, newNode]);
+               this.data.height = node.height + 1;
+               this.data.leaf = false;
+               calcBBox(this.data, this.toBBox);
+           },
+
+           _chooseSplitIndex: function (node, m, M) {
+
+               var i, bbox1, bbox2, overlap, area, minOverlap, minArea, index;
+
+               minOverlap = minArea = Infinity;
+
+               for (i = m; i <= M - m; i++) {
+                   bbox1 = distBBox(node, 0, i, this.toBBox);
+                   bbox2 = distBBox(node, i, M, this.toBBox);
+
+                   overlap = intersectionArea(bbox1, bbox2);
+                   area = bboxArea(bbox1) + bboxArea(bbox2);
+
+                   // choose distribution with minimum overlap
+                   if (overlap < minOverlap) {
+                       minOverlap = overlap;
+                       index = i;
+
+                       minArea = area < minArea ? area : minArea;
+
+                   } else if (overlap === minOverlap) {
+                       // otherwise choose distribution with minimum area
+                       if (area < minArea) {
+                           minArea = area;
+                           index = i;
+                       }
+                   }
+               }
+
+               return index;
+           },
+
+           // sorts node children by the best axis for split
+           _chooseSplitAxis: function (node, m, M) {
+
+               var compareMinX = node.leaf ? this.compareMinX : compareNodeMinX,
+                   compareMinY = node.leaf ? this.compareMinY : compareNodeMinY,
+                   xMargin = this._allDistMargin(node, m, M, compareMinX),
+                   yMargin = this._allDistMargin(node, m, M, compareMinY);
+
+               // if total distributions margin value is minimal for x, sort by minX,
+               // otherwise it's already sorted by minY
+               if (xMargin < yMargin) node.children.sort(compareMinX);
+           },
+
+           // total margin of all possible split distributions where each node is at least m full
+           _allDistMargin: function (node, m, M, compare) {
+
+               node.children.sort(compare);
+
+               var toBBox = this.toBBox,
+                   leftBBox = distBBox(node, 0, m, toBBox),
+                   rightBBox = distBBox(node, M - m, M, toBBox),
+                   margin = bboxMargin(leftBBox) + bboxMargin(rightBBox),
+                   i, child;
+
+               for (i = m; i < M - m; i++) {
+                   child = node.children[i];
+                   extend$1(leftBBox, node.leaf ? toBBox(child) : child);
+                   margin += bboxMargin(leftBBox);
+               }
+
+               for (i = M - m - 1; i >= m; i--) {
+                   child = node.children[i];
+                   extend$1(rightBBox, node.leaf ? toBBox(child) : child);
+                   margin += bboxMargin(rightBBox);
+               }
+
+               return margin;
+           },
+
+           _adjustParentBBoxes: function (bbox, path, level) {
+               // adjust bboxes along the given tree path
+               for (var i = level; i >= 0; i--) {
+                   extend$1(path[i], bbox);
+               }
+           },
+
+           _condense: function (path) {
+               // go through the path, removing empty nodes and updating bboxes
+               for (var i = path.length - 1, siblings; i >= 0; i--) {
+                   if (path[i].children.length === 0) {
+                       if (i > 0) {
+                           siblings = path[i - 1].children;
+                           siblings.splice(siblings.indexOf(path[i]), 1);
+
+                       } else this.clear();
+
+                   } else calcBBox(path[i], this.toBBox);
+               }
+           },
+
+           _initFormat: function (format) {
+               // data format (minX, minY, maxX, maxY accessors)
+
+               // uses eval-type function compilation instead of just accepting a toBBox function
+               // because the algorithms are very sensitive to sorting functions performance,
+               // so they should be dead simple and without inner calls
+
+               var compareArr = ['return a', ' - b', ';'];
+
+               this.compareMinX = new Function('a', 'b', compareArr.join(format[0]));
+               this.compareMinY = new Function('a', 'b', compareArr.join(format[1]));
+
+               this.toBBox = new Function('a',
+                   'return {minX: a' + format[0] +
+                   ', minY: a' + format[1] +
+                   ', maxX: a' + format[2] +
+                   ', maxY: a' + format[3] + '};');
+           }
+       };
+
+       function findItem(item, items, equalsFn) {
+           if (!equalsFn) return items.indexOf(item);
+
+           for (var i = 0; i < items.length; i++) {
+               if (equalsFn(item, items[i])) return i;
+           }
+           return -1;
+       }
+
+       // calculate node's bbox from bboxes of its children
+       function calcBBox(node, toBBox) {
+           distBBox(node, 0, node.children.length, toBBox, node);
+       }
+
+       // min bounding rectangle of node children from k to p-1
+       function distBBox(node, k, p, toBBox, destNode) {
+           if (!destNode) destNode = createNode(null);
+           destNode.minX = Infinity;
+           destNode.minY = Infinity;
+           destNode.maxX = -Infinity;
+           destNode.maxY = -Infinity;
+
+           for (var i = k, child; i < p; i++) {
+               child = node.children[i];
+               extend$1(destNode, node.leaf ? toBBox(child) : child);
+           }
+
+           return destNode;
+       }
+
+       function extend$1(a, b) {
+           a.minX = Math.min(a.minX, b.minX);
+           a.minY = Math.min(a.minY, b.minY);
+           a.maxX = Math.max(a.maxX, b.maxX);
+           a.maxY = Math.max(a.maxY, b.maxY);
+           return a;
+       }
+
+       function compareNodeMinX(a, b) { return a.minX - b.minX; }
+       function compareNodeMinY(a, b) { return a.minY - b.minY; }
+
+       function bboxArea(a)   { return (a.maxX - a.minX) * (a.maxY - a.minY); }
+       function bboxMargin(a) { return (a.maxX - a.minX) + (a.maxY - a.minY); }
+
+       function enlargedArea(a, b) {
+           return (Math.max(b.maxX, a.maxX) - Math.min(b.minX, a.minX)) *
+                  (Math.max(b.maxY, a.maxY) - Math.min(b.minY, a.minY));
+       }
+
+       function intersectionArea(a, b) {
+           var minX = Math.max(a.minX, b.minX),
+               minY = Math.max(a.minY, b.minY),
+               maxX = Math.min(a.maxX, b.maxX),
+               maxY = Math.min(a.maxY, b.maxY);
+
+           return Math.max(0, maxX - minX) *
+                  Math.max(0, maxY - minY);
+       }
+
+       function contains$4(a, b) {
+           return a.minX <= b.minX &&
+                  a.minY <= b.minY &&
+                  b.maxX <= a.maxX &&
+                  b.maxY <= a.maxY;
+       }
+
+       function intersects$1(a, b) {
+           return b.minX <= a.maxX &&
+                  b.minY <= a.maxY &&
+                  b.maxX >= a.minX &&
+                  b.maxY >= a.minY;
+       }
+
+       function createNode(children) {
+           return {
+               children: children,
+               height: 1,
+               leaf: true,
+               minX: Infinity,
+               minY: Infinity,
+               maxX: -Infinity,
+               maxY: -Infinity
+           };
+       }
+
+       // sort an array so that items come in groups of n unsorted items, with groups sorted between each other;
+       // combines selection algorithm with binary divide & conquer approach
+
+       function multiSelect(arr, left, right, n, compare) {
+           var stack = [left, right],
+               mid;
+
+           while (stack.length) {
+               right = stack.pop();
+               left = stack.pop();
+
+               if (right - left <= n) continue;
+
+               mid = left + Math.ceil((right - left) / n / 2) * n;
+               quickselect(arr, mid, left, right, compare);
+
+               stack.push(left, mid, mid, right);
+           }
+       }
+       rbush_1.default = default_1;
+
+       var lineclip_1 = lineclip;
+
+       lineclip.polyline = lineclip;
+       lineclip.polygon = polygonclip;
+
+
+       // Cohen-Sutherland line clippign algorithm, adapted to efficiently
+       // handle polylines rather than just segments
+
+       function lineclip(points, bbox, result) {
+
+           var len = points.length,
+               codeA = bitCode(points[0], bbox),
+               part = [],
+               i, a, b, codeB, lastCode;
+
+           if (!result) result = [];
+
+           for (i = 1; i < len; i++) {
+               a = points[i - 1];
+               b = points[i];
+               codeB = lastCode = bitCode(b, bbox);
+
+               while (true) {
+
+                   if (!(codeA | codeB)) { // accept
+                       part.push(a);
+
+                       if (codeB !== lastCode) { // segment went outside
+                           part.push(b);
+
+                           if (i < len - 1) { // start a new line
+                               result.push(part);
+                               part = [];
+                           }
+                       } else if (i === len - 1) {
+                           part.push(b);
+                       }
+                       break;
+
+                   } else if (codeA & codeB) { // trivial reject
+                       break;
+
+                   } else if (codeA) { // a outside, intersect with clip edge
+                       a = intersect$1(a, b, codeA, bbox);
+                       codeA = bitCode(a, bbox);
+
+                   } else { // b outside
+                       b = intersect$1(a, b, codeB, bbox);
+                       codeB = bitCode(b, bbox);
+                   }
+               }
+
+               codeA = lastCode;
+           }
+
+           if (part.length) result.push(part);
+
+           return result;
+       }
+
+       // Sutherland-Hodgeman polygon clipping algorithm
+
+       function polygonclip(points, bbox) {
+
+           var result, edge, prev, prevInside, i, p, inside;
+
+           // clip against each side of the clip rectangle
+           for (edge = 1; edge <= 8; edge *= 2) {
+               result = [];
+               prev = points[points.length - 1];
+               prevInside = !(bitCode(prev, bbox) & edge);
+
+               for (i = 0; i < points.length; i++) {
+                   p = points[i];
+                   inside = !(bitCode(p, bbox) & edge);
+
+                   // if segment goes through the clip window, add an intersection
+                   if (inside !== prevInside) result.push(intersect$1(prev, p, edge, bbox));
+
+                   if (inside) result.push(p); // add a point if it's inside
+
+                   prev = p;
+                   prevInside = inside;
+               }
+
+               points = result;
+
+               if (!points.length) break;
+           }
+
+           return result;
+       }
+
+       // intersect a segment against one of the 4 lines that make up the bbox
+
+       function intersect$1(a, b, edge, bbox) {
+           return edge & 8 ? [a[0] + (b[0] - a[0]) * (bbox[3] - a[1]) / (b[1] - a[1]), bbox[3]] : // top
+                  edge & 4 ? [a[0] + (b[0] - a[0]) * (bbox[1] - a[1]) / (b[1] - a[1]), bbox[1]] : // bottom
+                  edge & 2 ? [bbox[2], a[1] + (b[1] - a[1]) * (bbox[2] - a[0]) / (b[0] - a[0])] : // right
+                  edge & 1 ? [bbox[0], a[1] + (b[1] - a[1]) * (bbox[0] - a[0]) / (b[0] - a[0])] : // left
+                  null;
+       }
+
+       // bit code reflects the point position relative to the bbox:
+
+       //         left  mid  right
+       //    top  1001  1000  1010
+       //    mid  0001  0000  0010
+       // bottom  0101  0100  0110
+
+       function bitCode(p, bbox) {
+           var code = 0;
+
+           if (p[0] < bbox[0]) code |= 1; // left
+           else if (p[0] > bbox[2]) code |= 2; // right
+
+           if (p[1] < bbox[1]) code |= 4; // bottom
+           else if (p[1] > bbox[3]) code |= 8; // top
+
+           return code;
+       }
+
+       var whichPolygon_1 = whichPolygon;
+
+       function whichPolygon(data) {
+           var bboxes = [];
+           for (var i = 0; i < data.features.length; i++) {
+               var feature = data.features[i];
+               var coords = feature.geometry.coordinates;
+
+               if (feature.geometry.type === 'Polygon') {
+                   bboxes.push(treeItem(coords, feature.properties));
+
+               } else if (feature.geometry.type === 'MultiPolygon') {
+                   for (var j = 0; j < coords.length; j++) {
+                       bboxes.push(treeItem(coords[j], feature.properties));
+                   }
+               }
+           }
+
+           var tree = rbush_1().load(bboxes);
+
+           function query(p, multi) {
+               var output = [],
+                   result = tree.search({
+                       minX: p[0],
+                       minY: p[1],
+                       maxX: p[0],
+                       maxY: p[1]
+                   });
+               for (var i = 0; i < result.length; i++) {
+                   if (insidePolygon(result[i].coords, p)) {
+                       if (multi)
+                           output.push(result[i].props);
+                       else
+                           return result[i].props;
+                   }
+               }
+               return multi && output.length ? output : null;
+           }
+
+           query.tree = tree;
+           query.bbox = function queryBBox(bbox) {
+               var output = [];
+               var result = tree.search({
+                   minX: bbox[0],
+                   minY: bbox[1],
+                   maxX: bbox[2],
+                   maxY: bbox[3]
+               });
+               for (var i = 0; i < result.length; i++) {
+                   if (polygonIntersectsBBox(result[i].coords, bbox)) {
+                       output.push(result[i].props);
+                   }
+               }
+               return output;
+           };
+
+           return query;
+       }
+
+       function polygonIntersectsBBox(polygon, bbox) {
+           var bboxCenter = [
+               (bbox[0] + bbox[2]) / 2,
+               (bbox[1] + bbox[3]) / 2
+           ];
+           if (insidePolygon(polygon, bboxCenter)) return true;
+           for (var i = 0; i < polygon.length; i++) {
+               if (lineclip_1(polygon[i], bbox).length > 0) return true;
+           }
+           return false;
+       }
+
+       // ray casting algorithm for detecting if point is in polygon
+       function insidePolygon(rings, p) {
+           var inside = false;
+           for (var i = 0, len = rings.length; i < len; i++) {
+               var ring = rings[i];
+               for (var j = 0, len2 = ring.length, k = len2 - 1; j < len2; k = j++) {
+                   if (rayIntersect(p, ring[j], ring[k])) inside = !inside;
+               }
+           }
+           return inside;
+       }
+
+       function rayIntersect(p, p1, p2) {
+           return ((p1[1] > p[1]) !== (p2[1] > p[1])) && (p[0] < (p2[0] - p1[0]) * (p[1] - p1[1]) / (p2[1] - p1[1]) + p1[0]);
+       }
+
+       function treeItem(coords, props) {
+           var item = {
+               minX: Infinity,
+               minY: Infinity,
+               maxX: -Infinity,
+               maxY: -Infinity,
+               coords: coords,
+               props: props
+           };
+
+           for (var i = 0; i < coords[0].length; i++) {
+               var p = coords[0][i];
+               item.minX = Math.min(item.minX, p[0]);
+               item.minY = Math.min(item.minY, p[1]);
+               item.maxX = Math.max(item.maxX, p[0]);
+               item.maxY = Math.max(item.maxY, p[1]);
+           }
+           return item;
+       }
+
+       // index the osm-community-index
+       var ociFeatureCollection = Object.values(features$3).map(function(feature) {
+           // workaround for which-polygon: only supports `properties`, not `id`
+           // https://github.com/mapbox/which-polygon/pull/6
+           feature.properties = {
+               id: feature.id,
+               area: d3_geoArea(feature)   // also precompute areas
+           };
+           return feature;
+       });
+
+
+       var data = {
+           community: {
+               features: features$3,
+               resources: resources,
+               query: whichPolygon_1({
+                   type: 'FeatureCollection',
+                   features: ociFeatureCollection
+               })
+           },
+           imagery: dataImagery,  //legacy
+           presets: {
+               presets: presets,
+               defaults: defaults,
+               categories: categories,
+               fields: fields
+           }
+       };
+
+       // http://2ality.com/2015/01/es6-set-operations.html
+
+       // Difference (a \ b): create a set that contains those elements of set a that are not in set b.
+       // This operation is also sometimes called minus (-).
+       // var a = [1,2,3];
+       // var b = [4,3,2];
+       // utilArrayDifference(a, b)
+       //   [1]
+       // utilArrayDifference(b, a)
+       //   [4]
+       function utilArrayDifference(a, b) {
+           var other = new Set(b);
+           return Array.from(new Set(a))
+               .filter(function(v) { return !other.has(v); });
+       }
+
+       // Intersection (a ∩ b): create a set that contains those elements of set a that are also in set b.
+       // var a = [1,2,3];
+       // var b = [4,3,2];
+       // utilArrayIntersection(a, b)
+       //   [2,3]
+       function utilArrayIntersection(a, b) {
+           var other = new Set(b);
+           return Array.from(new Set(a))
+               .filter(function(v) { return other.has(v); });
+       }
+
+       // Union (a ∪ b): create a set that contains the elements of both set a and set b.
+       // var a = [1,2,3];
+       // var b = [4,3,2];
+       // utilArrayUnion(a, b)
+       //   [1,2,3,4]
+       function utilArrayUnion(a, b) {
+           var result = new Set(a);
+           b.forEach(function(v) { result.add(v); });
+           return Array.from(result);
+       }
+
+       // Returns an Array with all the duplicates removed
+       // var a = [1,1,2,3,3];
+       // utilArrayUniq(a)
+       //   [1,2,3]
+       function utilArrayUniq(a) {
+           return Array.from(new Set(a));
+       }
+
+
+       // Splits array into chunks of given chunk size
+       // var a = [1,2,3,4,5,6,7];
+       // utilArrayChunk(a, 3);
+       //   [[1,2,3],[4,5,6],[7]];
+       function utilArrayChunk(a, chunkSize) {
+           if (!chunkSize || chunkSize < 0) return [a.slice()];
+
+           var result = new Array(Math.ceil(a.length / chunkSize));
+           return Array.from(result, function(item, i) {
+               return a.slice(i * chunkSize, i * chunkSize + chunkSize);
+           });
+       }
+
+
+       // Flattens two level array into a single level
+       // var a = [[1,2,3],[4,5,6],[7]];
+       // utilArrayFlatten(a);
+       //   [1,2,3,4,5,6,7];
+       function utilArrayFlatten(a) {
+           return a.reduce(function(acc, val) {
+               return acc.concat(val);
+           }, []);
+       }
+
+
+       // Groups the items of the Array according to the given key
+       // `key` can be passed as a property or as a key function
+       //
+       // var pets = [
+       //     { type: 'Dog', name: 'Spot' },
+       //     { type: 'Cat', name: 'Tiger' },
+       //     { type: 'Dog', name: 'Rover' },
+       //     { type: 'Cat', name: 'Leo' }
+       // ];
+       //
+       // utilArrayGroupBy(pets, 'type')
+       //   {
+       //     'Dog': [{type: 'Dog', name: 'Spot'}, {type: 'Dog', name: 'Rover'}],
+       //     'Cat': [{type: 'Cat', name: 'Tiger'}, {type: 'Cat', name: 'Leo'}]
+       //   }
+       //
+       // utilArrayGroupBy(pets, function(item) { return item.name.length; })
+       //   {
+       //     3: [{type: 'Cat', name: 'Leo'}],
+       //     4: [{type: 'Dog', name: 'Spot'}],
+       //     5: [{type: 'Cat', name: 'Tiger'}, {type: 'Dog', name: 'Rover'}]
+       //   }
+       function utilArrayGroupBy(a, key) {
+           return a.reduce(function(acc, item) {
+               var group = (typeof key === 'function') ? key(item) : item[key];
+               (acc[group] = acc[group] || []).push(item);
+               return acc;
+           }, {});
+       }
+
+
+       // Returns an Array with all the duplicates removed
+       // where uniqueness determined by the given key
+       // `key` can be passed as a property or as a key function
+       //
+       // var pets = [
+       //     { type: 'Dog', name: 'Spot' },
+       //     { type: 'Cat', name: 'Tiger' },
+       //     { type: 'Dog', name: 'Rover' },
+       //     { type: 'Cat', name: 'Leo' }
+       // ];
+       //
+       // utilArrayUniqBy(pets, 'type')
+       //   [
+       //     { type: 'Dog', name: 'Spot' },
+       //     { type: 'Cat', name: 'Tiger' }
+       //   ]
+       //
+       // utilArrayUniqBy(pets, function(item) { return item.name.length; })
+       //   [
+       //     { type: 'Dog', name: 'Spot' },
+       //     { type: 'Cat', name: 'Tiger' },
+       //     { type: 'Cat', name: 'Leo' }
+       //   }
+       function utilArrayUniqBy(a, key) {
+           var seen = new Set();
+           return a.reduce(function(acc, item) {
+               var val = (typeof key === 'function') ? key(item) : item[key];
+               if (val && !seen.has(val)) {
+                   seen.add(val);
+                   acc.push(item);
+               }
+               return acc;
+           }, []);
+       }
+
+       var remove$1 = removeDiacritics;
+
+       var replacementList = [
+         {
+           base: ' ',
+           chars: "\u00A0",
+         }, {
+           base: '0',
+           chars: "\u07C0",
+         }, {
+           base: 'A',
+           chars: "\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F",
+         }, {
+           base: 'AA',
+           chars: "\uA732",
+         }, {
+           base: 'AE',
+           chars: "\u00C6\u01FC\u01E2",
+         }, {
+           base: 'AO',
+           chars: "\uA734",
+         }, {
+           base: 'AU',
+           chars: "\uA736",
+         }, {
+           base: 'AV',
+           chars: "\uA738\uA73A",
+         }, {
+           base: 'AY',
+           chars: "\uA73C",
+         }, {
+           base: 'B',
+           chars: "\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0181",
+         }, {
+           base: 'C',
+           chars: "\u24b8\uff23\uA73E\u1E08\u0106\u0043\u0108\u010A\u010C\u00C7\u0187\u023B",
+         }, {
+           base: 'D',
+           chars: "\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018A\u0189\u1D05\uA779",
+         }, {
+           base: 'Dh',
+           chars: "\u00D0",
+         }, {
+           base: 'DZ',
+           chars: "\u01F1\u01C4",
+         }, {
+           base: 'Dz',
+           chars: "\u01F2\u01C5",
+         }, {
+           base: 'E',
+           chars: "\u025B\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E\u1D07",
+         }, {
+           base: 'F',
+           chars: "\uA77C\u24BB\uFF26\u1E1E\u0191\uA77B",
+         }, {
+           base: 'G',
+           chars: "\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E\u0262",
+         }, {
+           base: 'H',
+           chars: "\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D",
+         }, {
+           base: 'I',
+           chars: "\u24BE\uFF29\xCC\xCD\xCE\u0128\u012A\u012C\u0130\xCF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197",
+         }, {
+           base: 'J',
+           chars: "\u24BF\uFF2A\u0134\u0248\u0237",
+         }, {
+           base: 'K',
+           chars: "\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2",
+         }, {
+           base: 'L',
+           chars: "\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780",
+         }, {
+           base: 'LJ',
+           chars: "\u01C7",
+         }, {
+           base: 'Lj',
+           chars: "\u01C8",
+         }, {
+           base: 'M',
+           chars: "\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C\u03FB",
+         }, {
+           base: 'N',
+           chars: "\uA7A4\u0220\u24C3\uFF2E\u01F8\u0143\xD1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u019D\uA790\u1D0E",
+         }, {
+           base: 'NJ',
+           chars: "\u01CA",
+         }, {
+           base: 'Nj',
+           chars: "\u01CB",
+         }, {
+           base: 'O',
+           chars: "\u24C4\uFF2F\xD2\xD3\xD4\u1ED2\u1ED0\u1ED6\u1ED4\xD5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\xD6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\xD8\u01FE\u0186\u019F\uA74A\uA74C",
+         }, {
+           base: 'OE',
+           chars: "\u0152",
+         }, {
+           base: 'OI',
+           chars: "\u01A2",
+         }, {
+           base: 'OO',
+           chars: "\uA74E",
+         }, {
+           base: 'OU',
+           chars: "\u0222",
+         }, {
+           base: 'P',
+           chars: "\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754",
+         }, {
+           base: 'Q',
+           chars: "\u24C6\uFF31\uA756\uA758\u024A",
+         }, {
+           base: 'R',
+           chars: "\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782",
+         }, {
+           base: 'S',
+           chars: "\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784",
+         }, {
+           base: 'T',
+           chars: "\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786",
+         }, {
+           base: 'Th',
+           chars: "\u00DE",
+         }, {
+           base: 'TZ',
+           chars: "\uA728",
+         }, {
+           base: 'U',
+           chars: "\u24CA\uFF35\xD9\xDA\xDB\u0168\u1E78\u016A\u1E7A\u016C\xDC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244",
+         }, {
+           base: 'V',
+           chars: "\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245",
+         }, {
+           base: 'VY',
+           chars: "\uA760",
+         }, {
+           base: 'W',
+           chars: "\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72",
+         }, {
+           base: 'X',
+           chars: "\u24CD\uFF38\u1E8A\u1E8C",
+         }, {
+           base: 'Y',
+           chars: "\u24CE\uFF39\u1EF2\xDD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE",
+         }, {
+           base: 'Z',
+           chars: "\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762",
+         }, {
+           base: 'a',
+           chars: "\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250\u0251",
+         }, {
+           base: 'aa',
+           chars: "\uA733",
+         }, {
+           base: 'ae',
+           chars: "\u00E6\u01FD\u01E3",
+         }, {
+           base: 'ao',
+           chars: "\uA735",
+         }, {
+           base: 'au',
+           chars: "\uA737",
+         }, {
+           base: 'av',
+           chars: "\uA739\uA73B",
+         }, {
+           base: 'ay',
+           chars: "\uA73D",
+         }, {
+           base: 'b',
+           chars: "\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253\u0182",
+         }, {
+           base: 'c',
+           chars: "\uFF43\u24D2\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184",
+         }, {
+           base: 'd',
+           chars: "\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\u018B\u13E7\u0501\uA7AA",
+         }, {
+           base: 'dh',
+           chars: "\u00F0",
+         }, {
+           base: 'dz',
+           chars: "\u01F3\u01C6",
+         }, {
+           base: 'e',
+           chars: "\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u01DD",
+         }, {
+           base: 'f',
+           chars: "\u24D5\uFF46\u1E1F\u0192",
+         }, {
+           base: 'ff',
+           chars: "\uFB00",
+         }, {
+           base: 'fi',
+           chars: "\uFB01",
+         }, {
+           base: 'fl',
+           chars: "\uFB02",
+         }, {
+           base: 'ffi',
+           chars: "\uFB03",
+         }, {
+           base: 'ffl',
+           chars: "\uFB04",
+         }, {
+           base: 'g',
+           chars: "\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\uA77F\u1D79",
+         }, {
+           base: 'h',
+           chars: "\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265",
+         }, {
+           base: 'hv',
+           chars: "\u0195",
+         }, {
+           base: 'i',
+           chars: "\u24D8\uFF49\xEC\xED\xEE\u0129\u012B\u012D\xEF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131",
+         }, {
+           base: 'j',
+           chars: "\u24D9\uFF4A\u0135\u01F0\u0249",
+         }, {
+           base: 'k',
+           chars: "\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3",
+         }, {
+           base: 'l',
+           chars: "\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747\u026D",
+         }, {
+           base: 'lj',
+           chars: "\u01C9",
+         }, {
+           base: 'm',
+           chars: "\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F",
+         }, {
+           base: 'n',
+           chars: "\u24DD\uFF4E\u01F9\u0144\xF1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5\u043B\u0509",
+         }, {
+           base: 'nj',
+           chars: "\u01CC",
+         }, {
+           base: 'o',
+           chars: "\u24DE\uFF4F\xF2\xF3\xF4\u1ED3\u1ED1\u1ED7\u1ED5\xF5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\xF6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\xF8\u01FF\uA74B\uA74D\u0275\u0254\u1D11",
+         }, {
+           base: 'oe',
+           chars: "\u0153",
+         }, {
+           base: 'oi',
+           chars: "\u01A3",
+         }, {
+           base: 'oo',
+           chars: "\uA74F",
+         }, {
+           base: 'ou',
+           chars: "\u0223",
+         }, {
+           base: 'p',
+           chars: "\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755\u03C1",
+         }, {
+           base: 'q',
+           chars: "\u24E0\uFF51\u024B\uA757\uA759",
+         }, {
+           base: 'r',
+           chars: "\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783",
+         }, {
+           base: 's',
+           chars: "\u24E2\uFF53\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B\u0282",
+         }, {
+           base: 'ss',
+           chars: "\xDF",
+         }, {
+           base: 't',
+           chars: "\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787",
+         }, {
+           base: 'th',
+           chars: "\u00FE",
+         }, {
+           base: 'tz',
+           chars: "\uA729",
+         }, {
+           base: 'u',
+           chars: "\u24E4\uFF55\xF9\xFA\xFB\u0169\u1E79\u016B\u1E7B\u016D\xFC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289",
+         }, {
+           base: 'v',
+           chars: "\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C",
+         }, {
+           base: 'vy',
+           chars: "\uA761",
+         }, {
+           base: 'w',
+           chars: "\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73",
+         }, {
+           base: 'x',
+           chars: "\u24E7\uFF58\u1E8B\u1E8D",
+         }, {
+           base: 'y',
+           chars: "\u24E8\uFF59\u1EF3\xFD\u0177\u1EF9\u0233\u1E8F\xFF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF",
+         }, {
+           base: 'z',
+           chars: "\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763",
+         }
+       ];
+
+       var diacriticsMap = {};
+       for (var i$1 = 0; i$1 < replacementList.length; i$1 += 1) {
+         var chars = replacementList[i$1].chars;
+         for (var j = 0; j < chars.length; j += 1) {
+           diacriticsMap[chars[j]] = replacementList[i$1].base;
+         }
+       }
+
+       function removeDiacritics(str) {
+         return str.replace(/[^\u0000-\u007e]/g, function(c) {
+           return diacriticsMap[c] || c;
+         });
+       }
+
+       var replacementList_1 = replacementList;
+       var diacriticsMap_1 = diacriticsMap;
+
+       var diacritics = {
+               remove: remove$1,
+               replacementList: replacementList_1,
+               diacriticsMap: diacriticsMap_1
+       };
+
+       var isArabic_1 = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+       var arabicBlocks = [
+           [0x0600, 0x06FF],
+           [0x0750, 0x077F],
+           [0x08A0, 0x08FF],
+           [0xFB50, 0xFDFF],
+           [0xFE70, 0xFEFF],
+           [0x10E60, 0x10E7F],
+           [0x1EC70, 0x1ECBF],
+           [0x1EE00, 0x1EEFF] // Mathematical Alphabetic symbols https://www.unicode.org/charts/PDF/U1EE00.pdf
+       ];
+       function isArabic(char) {
+           if (char.length > 1) {
+               // allow the newer chars?
+               throw new Error('isArabic works on only one-character strings');
+           }
+           var code = char.charCodeAt(0);
+           for (var i = 0; i < arabicBlocks.length; i++) {
+               var block = arabicBlocks[i];
+               if (code >= block[0] && code <= block[1]) {
+                   return true;
+               }
+           }
+           return false;
+       }
+       exports.isArabic = isArabic;
+       function isMath(char) {
+           if (char.length > 2) {
+               // allow the newer chars?
+               throw new Error('isMath works on only one-character strings');
+           }
+           var code = char.charCodeAt(0);
+           return ((code >= 0x660 && code <= 0x66C) || (code >= 0x6F0 && code <= 0x6F9));
+       }
+       exports.isMath = isMath;
+       });
+
+       unwrapExports(isArabic_1);
+       var isArabic_2 = isArabic_1.isArabic;
+       var isArabic_3 = isArabic_1.isMath;
+
+       var unicodeArabic = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+       var arabicReference = {
+           "alef": {
+               "normal": [
+                   "\u0627"
+               ],
+               "madda_above": {
+                   "normal": [
+                       "\u0627\u0653",
+                       "\u0622"
+                   ],
+                   "isolated": "\uFE81",
+                   "final": "\uFE82"
+               },
+               "hamza_above": {
+                   "normal": [
+                       "\u0627\u0654",
+                       "\u0623"
+                   ],
+                   "isolated": "\uFE83",
+                   "final": "\uFE84"
+               },
+               "hamza_below": {
+                   "normal": [
+                       "\u0627\u0655",
+                       "\u0625"
+                   ],
+                   "isolated": "\uFE87",
+                   "final": "\uFE88"
+               },
+               "wasla": {
+                   "normal": "\u0671",
+                   "isolated": "\uFB50",
+                   "final": "\uFB51"
+               },
+               "wavy_hamza_above": [
+                   "\u0672"
+               ],
+               "wavy_hamza_below": [
+                   "\u0627\u065F",
+                   "\u0673"
+               ],
+               "high_hamza": [
+                   "\u0675",
+                   "\u0627\u0674"
+               ],
+               "indic_two_above": [
+                   "\u0773"
+               ],
+               "indic_three_above": [
+                   "\u0774"
+               ],
+               "fathatan": {
+                   "normal": [
+                       "\u0627\u064B"
+                   ],
+                   "final": "\uFD3C",
+                   "isolated": "\uFD3D"
+               },
+               "isolated": "\uFE8D",
+               "final": "\uFE8E"
+           },
+           "beh": {
+               "normal": [
+                   "\u0628"
+               ],
+               "dotless": [
+                   "\u066E"
+               ],
+               "three_dots_horizontally_below": [
+                   "\u0750"
+               ],
+               "dot_below_three_dots_above": [
+                   "\u0751"
+               ],
+               "three_dots_pointing_upwards_below": [
+                   "\u0752"
+               ],
+               "three_dots_pointing_upwards_below_two_dots_above": [
+                   "\u0753"
+               ],
+               "two_dots_below_dot_above": [
+                   "\u0754"
+               ],
+               "inverted_small_v_below": [
+                   "\u0755"
+               ],
+               "small_v": [
+                   "\u0756"
+               ],
+               "small_v_below": [
+                   "\u08A0"
+               ],
+               "hamza_above": [
+                   "\u08A1"
+               ],
+               "small_meem_above": [
+                   "\u08B6"
+               ],
+               "isolated": "\uFE8F",
+               "final": "\uFE90",
+               "initial": "\uFE91",
+               "medial": "\uFE92"
+           },
+           "teh marbuta": {
+               "normal": [
+                   "\u0629"
+               ],
+               "isolated": "\uFE93",
+               "final": "\uFE94"
+           },
+           "teh": {
+               "normal": [
+                   "\u062A"
+               ],
+               "ring": [
+                   "\u067C"
+               ],
+               "three_dots_above_downwards": [
+                   "\u067D"
+               ],
+               "small_teh_above": [
+                   "\u08B8"
+               ],
+               "isolated": "\uFE95",
+               "final": "\uFE96",
+               "initial": "\uFE97",
+               "medial": "\uFE98"
+           },
+           "theh": {
+               "normal": [
+                   "\u062B"
+               ],
+               "isolated": "\uFE99",
+               "final": "\uFE9A",
+               "initial": "\uFE9B",
+               "medial": "\uFE9C"
+           },
+           "jeem": {
+               "normal": [
+                   "\u062C"
+               ],
+               "two_dots_above": [
+                   "\u08A2"
+               ],
+               "isolated": "\uFE9D",
+               "final": "\uFE9E",
+               "initial": "\uFE9F",
+               "medial": "\uFEA0"
+           },
+           "hah": {
+               "normal": [
+                   "\u062D"
+               ],
+               "hamza_above": [
+                   "\u0681"
+               ],
+               "two_dots_vertical_above": [
+                   "\u0682"
+               ],
+               "three_dots_above": [
+                   "\u0685"
+               ],
+               "two_dots_above": [
+                   "\u0757"
+               ],
+               "three_dots_pointing_upwards_below": [
+                   "\u0758"
+               ],
+               "small_tah_below": [
+                   "\u076E"
+               ],
+               "small_tah_two_dots": [
+                   "\u076F"
+               ],
+               "small_tah_above": [
+                   "\u0772"
+               ],
+               "indic_four_below": [
+                   "\u077C"
+               ],
+               "isolated": "\uFEA1",
+               "final": "\uFEA2",
+               "initial": "\uFEA3",
+               "medial": "\uFEA4"
+           },
+           "khah": {
+               "normal": [
+                   "\u062E"
+               ],
+               "isolated": "\uFEA5",
+               "final": "\uFEA6",
+               "initial": "\uFEA7",
+               "medial": "\uFEA8"
+           },
+           "dal": {
+               "normal": [
+                   "\u062F"
+               ],
+               "ring": [
+                   "\u0689"
+               ],
+               "dot_below": [
+                   "\u068A"
+               ],
+               "dot_below_small_tah": [
+                   "\u068B"
+               ],
+               "three_dots_above_downwards": [
+                   "\u068F"
+               ],
+               "four_dots_above": [
+                   "\u0690"
+               ],
+               "inverted_v": [
+                   "\u06EE"
+               ],
+               "two_dots_vertically_below_small_tah": [
+                   "\u0759"
+               ],
+               "inverted_small_v_below": [
+                   "\u075A"
+               ],
+               "three_dots_below": [
+                   "\u08AE"
+               ],
+               "isolated": "\uFEA9",
+               "final": "\uFEAA"
+           },
+           "thal": {
+               "normal": [
+                   "\u0630"
+               ],
+               "isolated": "\uFEAB",
+               "final": "\uFEAC"
+           },
+           "reh": {
+               "normal": [
+                   "\u0631"
+               ],
+               "small_v": [
+                   "\u0692"
+               ],
+               "ring": [
+                   "\u0693"
+               ],
+               "dot_below": [
+                   "\u0694"
+               ],
+               "small_v_below": [
+                   "\u0695"
+               ],
+               "dot_below_dot_above": [
+                   "\u0696"
+               ],
+               "two_dots_above": [
+                   "\u0697"
+               ],
+               "four_dots_above": [
+                   "\u0699"
+               ],
+               "inverted_v": [
+                   "\u06EF"
+               ],
+               "stroke": [
+                   "\u075B"
+               ],
+               "two_dots_vertically_above": [
+                   "\u076B"
+               ],
+               "hamza_above": [
+                   "\u076C"
+               ],
+               "small_tah_two_dots": [
+                   "\u0771"
+               ],
+               "loop": [
+                   "\u08AA"
+               ],
+               "small_noon_above": [
+                   "\u08B9"
+               ],
+               "isolated": "\uFEAD",
+               "final": "\uFEAE"
+           },
+           "zain": {
+               "normal": [
+                   "\u0632"
+               ],
+               "inverted_v_above": [
+                   "\u08B2"
+               ],
+               "isolated": "\uFEAF",
+               "final": "\uFEB0"
+           },
+           "seen": {
+               "normal": [
+                   "\u0633"
+               ],
+               "dot_below_dot_above": [
+                   "\u069A"
+               ],
+               "three_dots_below": [
+                   "\u069B"
+               ],
+               "three_dots_below_three_dots_above": [
+                   "\u069C"
+               ],
+               "four_dots_above": [
+                   "\u075C"
+               ],
+               "two_dots_vertically_above": [
+                   "\u076D"
+               ],
+               "small_tah_two_dots": [
+                   "\u0770"
+               ],
+               "indic_four_above": [
+                   "\u077D"
+               ],
+               "inverted_v": [
+                   "\u077E"
+               ],
+               "isolated": "\uFEB1",
+               "final": "\uFEB2",
+               "initial": "\uFEB3",
+               "medial": "\uFEB4"
+           },
+           "sheen": {
+               "normal": [
+                   "\u0634"
+               ],
+               "dot_below": [
+                   "\u06FA"
+               ],
+               "isolated": "\uFEB5",
+               "final": "\uFEB6",
+               "initial": "\uFEB7",
+               "medial": "\uFEB8"
+           },
+           "sad": {
+               "normal": [
+                   "\u0635"
+               ],
+               "two_dots_below": [
+                   "\u069D"
+               ],
+               "three_dots_above": [
+                   "\u069E"
+               ],
+               "three_dots_below": [
+                   "\u08AF"
+               ],
+               "isolated": "\uFEB9",
+               "final": "\uFEBA",
+               "initial": "\uFEBB",
+               "medial": "\uFEBC"
+           },
+           "dad": {
+               "normal": [
+                   "\u0636"
+               ],
+               "dot_below": [
+                   "\u06FB"
+               ],
+               "isolated": "\uFEBD",
+               "final": "\uFEBE",
+               "initial": "\uFEBF",
+               "medial": "\uFEC0"
+           },
+           "tah": {
+               "normal": [
+                   "\u0637"
+               ],
+               "three_dots_above": [
+                   "\u069F"
+               ],
+               "two_dots_above": [
+                   "\u08A3"
+               ],
+               "isolated": "\uFEC1",
+               "final": "\uFEC2",
+               "initial": "\uFEC3",
+               "medial": "\uFEC4"
+           },
+           "zah": {
+               "normal": [
+                   "\u0638"
+               ],
+               "isolated": "\uFEC5",
+               "final": "\uFEC6",
+               "initial": "\uFEC7",
+               "medial": "\uFEC8"
+           },
+           "ain": {
+               "normal": [
+                   "\u0639"
+               ],
+               "three_dots_above": [
+                   "\u06A0"
+               ],
+               "two_dots_above": [
+                   "\u075D"
+               ],
+               "three_dots_pointing_downwards_above": [
+                   "\u075E"
+               ],
+               "two_dots_vertically_above": [
+                   "\u075F"
+               ],
+               "three_dots_below": [
+                   "\u08B3"
+               ],
+               "isolated": "\uFEC9",
+               "final": "\uFECA",
+               "initial": "\uFECB",
+               "medial": "\uFECC"
+           },
+           "ghain": {
+               "normal": [
+                   "\u063A"
+               ],
+               "dot_below": [
+                   "\u06FC"
+               ],
+               "isolated": "\uFECD",
+               "final": "\uFECE",
+               "initial": "\uFECF",
+               "medial": "\uFED0"
+           },
+           "feh": {
+               "normal": [
+                   "\u0641"
+               ],
+               "dotless": [
+                   "\u06A1"
+               ],
+               "dot_moved_below": [
+                   "\u06A2"
+               ],
+               "dot_below": [
+                   "\u06A3"
+               ],
+               "three_dots_below": [
+                   "\u06A5"
+               ],
+               "two_dots_below": [
+                   "\u0760"
+               ],
+               "three_dots_pointing_upwards_below": [
+                   "\u0761"
+               ],
+               "dot_below_three_dots_above": [
+                   "\u08A4"
+               ],
+               "isolated": "\uFED1",
+               "final": "\uFED2",
+               "initial": "\uFED3",
+               "medial": "\uFED4"
+           },
+           "qaf": {
+               "normal": [
+                   "\u0642"
+               ],
+               "dotless": [
+                   "\u066F"
+               ],
+               "dot_above": [
+                   "\u06A7"
+               ],
+               "three_dots_above": [
+                   "\u06A8"
+               ],
+               "dot_below": [
+                   "\u08A5"
+               ],
+               "isolated": "\uFED5",
+               "final": "\uFED6",
+               "initial": "\uFED7",
+               "medial": "\uFED8"
+           },
+           "kaf": {
+               "normal": [
+                   "\u0643"
+               ],
+               "swash": [
+                   "\u06AA"
+               ],
+               "ring": [
+                   "\u06AB"
+               ],
+               "dot_above": [
+                   "\u06AC"
+               ],
+               "three_dots_below": [
+                   "\u06AE"
+               ],
+               "two_dots_above": [
+                   "\u077F"
+               ],
+               "dot_below": [
+                   "\u08B4"
+               ],
+               "isolated": "\uFED9",
+               "final": "\uFEDA",
+               "initial": "\uFEDB",
+               "medial": "\uFEDC"
+           },
+           "lam": {
+               "normal": [
+                   "\u0644"
+               ],
+               "small_v": [
+                   "\u06B5"
+               ],
+               "dot_above": [
+                   "\u06B6"
+               ],
+               "three_dots_above": [
+                   "\u06B7"
+               ],
+               "three_dots_below": [
+                   "\u06B8"
+               ],
+               "bar": [
+                   "\u076A"
+               ],
+               "double_bar": [
+                   "\u08A6"
+               ],
+               "isolated": "\uFEDD",
+               "final": "\uFEDE",
+               "initial": "\uFEDF",
+               "medial": "\uFEE0"
+           },
+           "meem": {
+               "normal": [
+                   "\u0645"
+               ],
+               "dot_above": [
+                   "\u0765"
+               ],
+               "dot_below": [
+                   "\u0766"
+               ],
+               "three_dots_above": [
+                   "\u08A7"
+               ],
+               "isolated": "\uFEE1",
+               "final": "\uFEE2",
+               "initial": "\uFEE3",
+               "medial": "\uFEE4"
+           },
+           "noon": {
+               "normal": [
+                   "\u0646"
+               ],
+               "dot_below": [
+                   "\u06B9"
+               ],
+               "ring": [
+                   "\u06BC"
+               ],
+               "three_dots_above": [
+                   "\u06BD"
+               ],
+               "two_dots_below": [
+                   "\u0767"
+               ],
+               "small_tah": [
+                   "\u0768"
+               ],
+               "small_v": [
+                   "\u0769"
+               ],
+               "isolated": "\uFEE5",
+               "final": "\uFEE6",
+               "initial": "\uFEE7",
+               "medial": "\uFEE8"
+           },
+           "heh": {
+               "normal": [
+                   "\u0647"
+               ],
+               "isolated": "\uFEE9",
+               "final": "\uFEEA",
+               "initial": "\uFEEB",
+               "medial": "\uFEEC"
+           },
+           "waw": {
+               "normal": [
+                   "\u0648"
+               ],
+               "hamza_above": {
+                   "normal": [
+                       "\u0624",
+                       "\u0648\u0654"
+                   ],
+                   "isolated": "\uFE85",
+                   "final": "\uFE86"
+               },
+               "high_hamza": [
+                   "\u0676",
+                   "\u0648\u0674"
+               ],
+               "ring": [
+                   "\u06C4"
+               ],
+               "two_dots_above": [
+                   "\u06CA"
+               ],
+               "dot_above": [
+                   "\u06CF"
+               ],
+               "indic_two_above": [
+                   "\u0778"
+               ],
+               "indic_three_above": [
+                   "\u0779"
+               ],
+               "dot_within": [
+                   "\u08AB"
+               ],
+               "isolated": "\uFEED",
+               "final": "\uFEEE"
+           },
+           "alef_maksura": {
+               "normal": [
+                   "\u0649"
+               ],
+               "hamza_above": [
+                   "\u0626",
+                   "\u064A\u0654"
+               ],
+               "initial": "\uFBE8",
+               "medial": "\uFBE9",
+               "isolated": "\uFEEF",
+               "final": "\uFEF0"
+           },
+           "yeh": {
+               "normal": [
+                   "\u064A"
+               ],
+               "hamza_above": {
+                   "normal": [
+                       "\u0626",
+                       "\u0649\u0654"
+                   ],
+                   "isolated": "\uFE89",
+                   "final": "\uFE8A",
+                   "initial": "\uFE8B",
+                   "medial": "\uFE8C"
+               },
+               "two_dots_below_hamza_above": [
+                   "\u08A8"
+               ],
+               "high_hamza": [
+                   "\u0678",
+                   "\u064A\u0674"
+               ],
+               "tail": [
+                   "\u06CD"
+               ],
+               "small_v": [
+                   "\u06CE"
+               ],
+               "three_dots_below": [
+                   "\u06D1"
+               ],
+               "two_dots_below_dot_above": [
+                   "\u08A9"
+               ],
+               "two_dots_below_small_noon_above": [
+                   "\u08BA"
+               ],
+               "isolated": "\uFEF1",
+               "final": "\uFEF2",
+               "initial": "\uFEF3",
+               "medial": "\uFEF4"
+           },
+           "tteh": {
+               "normal": [
+                   "\u0679"
+               ],
+               "isolated": "\uFB66",
+               "final": "\uFB67",
+               "initial": "\uFB68",
+               "medial": "\uFB69"
+           },
+           "tteheh": {
+               "normal": [
+                   "\u067A"
+               ],
+               "isolated": "\uFB5E",
+               "final": "\uFB5F",
+               "initial": "\uFB60",
+               "medial": "\uFB61"
+           },
+           "beeh": {
+               "normal": [
+                   "\u067B"
+               ],
+               "isolated": "\uFB52",
+               "final": "\uFB53",
+               "initial": "\uFB54",
+               "medial": "\uFB55"
+           },
+           "peh": {
+               "normal": [
+                   "\u067E"
+               ],
+               "small_meem_above": [
+                   "\u08B7"
+               ],
+               "isolated": "\uFB56",
+               "final": "\uFB57",
+               "initial": "\uFB58",
+               "medial": "\uFB59"
+           },
+           "teheh": {
+               "normal": [
+                   "\u067F"
+               ],
+               "isolated": "\uFB62",
+               "final": "\uFB63",
+               "initial": "\uFB64",
+               "medial": "\uFB65"
+           },
+           "beheh": {
+               "normal": [
+                   "\u0680"
+               ],
+               "isolated": "\uFB5A",
+               "final": "\uFB5B",
+               "initial": "\uFB5C",
+               "medial": "\uFB5D"
+           },
+           "nyeh": {
+               "normal": [
+                   "\u0683"
+               ],
+               "isolated": "\uFB76",
+               "final": "\uFB77",
+               "initial": "\uFB78",
+               "medial": "\uFB79"
+           },
+           "dyeh": {
+               "normal": [
+                   "\u0684"
+               ],
+               "isolated": "\uFB72",
+               "final": "\uFB73",
+               "initial": "\uFB74",
+               "medial": "\uFB75"
+           },
+           "tcheh": {
+               "normal": [
+                   "\u0686"
+               ],
+               "dot_above": [
+                   "\u06BF"
+               ],
+               "isolated": "\uFB7A",
+               "final": "\uFB7B",
+               "initial": "\uFB7C",
+               "medial": "\uFB7D"
+           },
+           "tcheheh": {
+               "normal": [
+                   "\u0687"
+               ],
+               "isolated": "\uFB7E",
+               "final": "\uFB7F",
+               "initial": "\uFB80",
+               "medial": "\uFB81"
+           },
+           "ddal": {
+               "normal": [
+                   "\u0688"
+               ],
+               "isolated": "\uFB88",
+               "final": "\uFB89"
+           },
+           "dahal": {
+               "normal": [
+                   "\u068C"
+               ],
+               "isolated": "\uFB84",
+               "final": "\uFB85"
+           },
+           "ddahal": {
+               "normal": [
+                   "\u068D"
+               ],
+               "isolated": "\uFB82",
+               "final": "\uFB83"
+           },
+           "dul": {
+               "normal": [
+                   "\u068F",
+                   "\u068E"
+               ],
+               "isolated": "\uFB86",
+               "final": "\uFB87"
+           },
+           "rreh": {
+               "normal": [
+                   "\u0691"
+               ],
+               "isolated": "\uFB8C",
+               "final": "\uFB8D"
+           },
+           "jeh": {
+               "normal": [
+                   "\u0698"
+               ],
+               "isolated": "\uFB8A",
+               "final": "\uFB8B"
+           },
+           "veh": {
+               "normal": [
+                   "\u06A4"
+               ],
+               "isolated": "\uFB6A",
+               "final": "\uFB6B",
+               "initial": "\uFB6C",
+               "medial": "\uFB6D"
+           },
+           "peheh": {
+               "normal": [
+                   "\u06A6"
+               ],
+               "isolated": "\uFB6E",
+               "final": "\uFB6F",
+               "initial": "\uFB70",
+               "medial": "\uFB71"
+           },
+           "keheh": {
+               "normal": [
+                   "\u06A9"
+               ],
+               "dot_above": [
+                   "\u0762"
+               ],
+               "three_dots_above": [
+                   "\u0763"
+               ],
+               "three_dots_pointing_upwards_below": [
+                   "\u0764"
+               ],
+               "isolated": "\uFB8E",
+               "final": "\uFB8F",
+               "initial": "\uFB90",
+               "medial": "\uFB91"
+           },
+           "ng": {
+               "normal": [
+                   "\u06AD"
+               ],
+               "isolated": "\uFBD3",
+               "final": "\uFBD4",
+               "initial": "\uFBD5",
+               "medial": "\uFBD6"
+           },
+           "gaf": {
+               "normal": [
+                   "\u06AF"
+               ],
+               "ring": [
+                   "\u06B0"
+               ],
+               "two_dots_below": [
+                   "\u06B2"
+               ],
+               "three_dots_above": [
+                   "\u06B4"
+               ],
+               "inverted_stroke": [
+                   "\u08B0"
+               ],
+               "isolated": "\uFB92",
+               "final": "\uFB93",
+               "initial": "\uFB94",
+               "medial": "\uFB95"
+           },
+           "ngoeh": {
+               "normal": [
+                   "\u06B1"
+               ],
+               "isolated": "\uFB9A",
+               "final": "\uFB9B",
+               "initial": "\uFB9C",
+               "medial": "\uFB9D"
+           },
+           "gueh": {
+               "normal": [
+                   "\u06B3"
+               ],
+               "isolated": "\uFB96",
+               "final": "\uFB97",
+               "initial": "\uFB98",
+               "medial": "\uFB99"
+           },
+           "noon ghunna": {
+               "normal": [
+                   "\u06BA"
+               ],
+               "isolated": "\uFB9E",
+               "final": "\uFB9F"
+           },
+           "rnoon": {
+               "normal": [
+                   "\u06BB"
+               ],
+               "isolated": "\uFBA0",
+               "final": "\uFBA1",
+               "initial": "\uFBA2",
+               "medial": "\uFBA3"
+           },
+           "heh doachashmee": {
+               "normal": [
+                   "\u06BE"
+               ],
+               "isolated": "\uFBAA",
+               "final": "\uFBAB",
+               "initial": "\uFBAC",
+               "medial": "\uFBAD"
+           },
+           "heh goal": {
+               "normal": [
+                   "\u06C1"
+               ],
+               "hamza_above": [
+                   "\u06C1\u0654",
+                   "\u06C2"
+               ],
+               "isolated": "\uFBA6",
+               "final": "\uFBA7",
+               "initial": "\uFBA8",
+               "medial": "\uFBA9"
+           },
+           "teh marbuta goal": {
+               "normal": [
+                   "\u06C3"
+               ]
+           },
+           "kirghiz oe": {
+               "normal": [
+                   "\u06C5"
+               ],
+               "isolated": "\uFBE0",
+               "final": "\uFBE1"
+           },
+           "oe": {
+               "normal": [
+                   "\u06C6"
+               ],
+               "isolated": "\uFBD9",
+               "final": "\uFBDA"
+           },
+           "u": {
+               "normal": [
+                   "\u06C7"
+               ],
+               "hamza_above": {
+                   "normal": [
+                       "\u0677",
+                       "\u06C7\u0674"
+                   ],
+                   "isolated": "\uFBDD"
+               },
+               "isolated": "\uFBD7",
+               "final": "\uFBD8"
+           },
+           "yu": {
+               "normal": [
+                   "\u06C8"
+               ],
+               "isolated": "\uFBDB",
+               "final": "\uFBDC"
+           },
+           "kirghiz yu": {
+               "normal": [
+                   "\u06C9"
+               ],
+               "isolated": "\uFBE2",
+               "final": "\uFBE3"
+           },
+           "ve": {
+               "normal": [
+                   "\u06CB"
+               ],
+               "isolated": "\uFBDE",
+               "final": "\uFBDF"
+           },
+           "farsi yeh": {
+               "normal": [
+                   "\u06CC"
+               ],
+               "indic_two_above": [
+                   "\u0775"
+               ],
+               "indic_three_above": [
+                   "\u0776"
+               ],
+               "indic_four_above": [
+                   "\u0777"
+               ],
+               "isolated": "\uFBFC",
+               "final": "\uFBFD",
+               "initial": "\uFBFE",
+               "medial": "\uFBFF"
+           },
+           "e": {
+               "normal": [
+                   "\u06D0"
+               ],
+               "isolated": "\uFBE4",
+               "final": "\uFBE5",
+               "initial": "\uFBE6",
+               "medial": "\uFBE7"
+           },
+           "yeh barree": {
+               "normal": [
+                   "\u06D2"
+               ],
+               "hamza_above": {
+                   "normal": [
+                       "\u06D2\u0654",
+                       "\u06D3"
+                   ],
+                   "isolated": "\uFBB0",
+                   "final": "\uFBB1"
+               },
+               "indic_two_above": [
+                   "\u077A"
+               ],
+               "indic_three_above": [
+                   "\u077B"
+               ],
+               "isolated": "\uFBAE",
+               "final": "\uFBAF"
+           },
+           "ae": {
+               "normal": [
+                   "\u06D5"
+               ],
+               "isolated": "\u06D5",
+               "final": "\uFEEA",
+               "yeh_above": {
+                   "normal": [
+                       "\u06C0",
+                       "\u06D5\u0654"
+                   ],
+                   "isolated": "\uFBA4",
+                   "final": "\uFBA5"
+               }
+           },
+           "rohingya yeh": {
+               "normal": [
+                   "\u08AC"
+               ]
+           },
+           "low alef": {
+               "normal": [
+                   "\u08AD"
+               ]
+           },
+           "straight waw": {
+               "normal": [
+                   "\u08B1"
+               ]
+           },
+           "african feh": {
+               "normal": [
+                   "\u08BB"
+               ]
+           },
+           "african qaf": {
+               "normal": [
+                   "\u08BC"
+               ]
+           },
+           "african noon": {
+               "normal": [
+                   "\u08BD"
+               ]
+           }
+       };
+       exports.default = arabicReference;
+       });
+
+       unwrapExports(unicodeArabic);
+
+       var unicodeLigatures = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+       var ligatureReference = {
+           "\u0626\u0627": {
+               "isolated": "\uFBEA",
+               "final": "\uFBEB"
+           },
+           "\u0626\u06D5": {
+               "isolated": "\uFBEC",
+               "final": "\uFBED"
+           },
+           "\u0626\u0648": {
+               "isolated": "\uFBEE",
+               "final": "\uFBEF"
+           },
+           "\u0626\u06C7": {
+               "isolated": "\uFBF0",
+               "final": "\uFBF1"
+           },
+           "\u0626\u06C6": {
+               "isolated": "\uFBF2",
+               "final": "\uFBF3"
+           },
+           "\u0626\u06C8": {
+               "isolated": "\uFBF4",
+               "final": "\uFBF5"
+           },
+           "\u0626\u06D0": {
+               "isolated": "\uFBF6",
+               "final": "\uFBF7",
+               "initial": "\uFBF8"
+           },
+           "\u0626\u0649": {
+               "uighur_kirghiz": {
+                   "isolated": "\uFBF9",
+                   "final": "\uFBFA",
+                   "initial": "\uFBFB"
+               },
+               "isolated": "\uFC03",
+               "final": "\uFC68"
+           },
+           "\u0626\u062C": {
+               "isolated": "\uFC00",
+               "initial": "\uFC97"
+           },
+           "\u0626\u062D": {
+               "isolated": "\uFC01",
+               "initial": "\uFC98"
+           },
+           "\u0626\u0645": {
+               "isolated": "\uFC02",
+               "final": "\uFC66",
+               "initial": "\uFC9A",
+               "medial": "\uFCDF"
+           },
+           "\u0626\u064A": {
+               "isolated": "\uFC04",
+               "final": "\uFC69"
+           },
+           "\u0628\u062C": {
+               "isolated": "\uFC05",
+               "initial": "\uFC9C"
+           },
+           "\u0628\u062D": {
+               "isolated": "\uFC06",
+               "initial": "\uFC9D"
+           },
+           "\u0628\u062E": {
+               "isolated": "\uFC07",
+               "initial": "\uFC9E"
+           },
+           "\u0628\u0645": {
+               "isolated": "\uFC08",
+               "final": "\uFC6C",
+               "initial": "\uFC9F",
+               "medial": "\uFCE1"
+           },
+           "\u0628\u0649": {
+               "isolated": "\uFC09",
+               "final": "\uFC6E"
+           },
+           "\u0628\u064A": {
+               "isolated": "\uFC0A",
+               "final": "\uFC6F"
+           },
+           "\u062A\u062C": {
+               "isolated": "\uFC0B",
+               "initial": "\uFCA1"
+           },
+           "\u062A\u062D": {
+               "isolated": "\uFC0C",
+               "initial": "\uFCA2"
+           },
+           "\u062A\u062E": {
+               "isolated": "\uFC0D",
+               "initial": "\uFCA3"
+           },
+           "\u062A\u0645": {
+               "isolated": "\uFC0E",
+               "final": "\uFC72",
+               "initial": "\uFCA4",
+               "medial": "\uFCE3"
+           },
+           "\u062A\u0649": {
+               "isolated": "\uFC0F",
+               "final": "\uFC74"
+           },
+           "\u062A\u064A": {
+               "isolated": "\uFC10",
+               "final": "\uFC75"
+           },
+           "\u062B\u062C": {
+               "isolated": "\uFC11"
+           },
+           "\u062B\u0645": {
+               "isolated": "\uFC12",
+               "final": "\uFC78",
+               "initial": "\uFCA6",
+               "medial": "\uFCE5"
+           },
+           "\u062B\u0649": {
+               "isolated": "\uFC13",
+               "final": "\uFC7A"
+           },
+           "\u062B\u0648": {
+               "isolated": "\uFC14"
+           },
+           "\u062C\u062D": {
+               "isolated": "\uFC15",
+               "initial": "\uFCA7"
+           },
+           "\u062C\u0645": {
+               "isolated": "\uFC16",
+               "initial": "\uFCA8"
+           },
+           "\u062D\u062C": {
+               "isolated": "\uFC17",
+               "initial": "\uFCA9"
+           },
+           "\u062D\u0645": {
+               "isolated": "\uFC18",
+               "initial": "\uFCAA"
+           },
+           "\u062E\u062C": {
+               "isolated": "\uFC19",
+               "initial": "\uFCAB"
+           },
+           "\u062E\u062D": {
+               "isolated": "\uFC1A"
+           },
+           "\u062E\u0645": {
+               "isolated": "\uFC1B",
+               "initial": "\uFCAC"
+           },
+           "\u0633\u062C": {
+               "isolated": "\uFC1C",
+               "initial": "\uFCAD",
+               "medial": "\uFD34"
+           },
+           "\u0633\u062D": {
+               "isolated": "\uFC1D",
+               "initial": "\uFCAE",
+               "medial": "\uFD35"
+           },
+           "\u0633\u062E": {
+               "isolated": "\uFC1E",
+               "initial": "\uFCAF",
+               "medial": "\uFD36"
+           },
+           "\u0633\u0645": {
+               "isolated": "\uFC1F",
+               "initial": "\uFCB0",
+               "medial": "\uFCE7"
+           },
+           "\u0635\u062D": {
+               "isolated": "\uFC20",
+               "initial": "\uFCB1"
+           },
+           "\u0635\u0645": {
+               "isolated": "\uFC21",
+               "initial": "\uFCB3"
+           },
+           "\u0636\u062C": {
+               "isolated": "\uFC22",
+               "initial": "\uFCB4"
+           },
+           "\u0636\u062D": {
+               "isolated": "\uFC23",
+               "initial": "\uFCB5"
+           },
+           "\u0636\u062E": {
+               "isolated": "\uFC24",
+               "initial": "\uFCB6"
+           },
+           "\u0636\u0645": {
+               "isolated": "\uFC25",
+               "initial": "\uFCB7"
+           },
+           "\u0637\u062D": {
+               "isolated": "\uFC26",
+               "initial": "\uFCB8"
+           },
+           "\u0637\u0645": {
+               "isolated": "\uFC27",
+               "initial": "\uFD33",
+               "medial": "\uFD3A"
+           },
+           "\u0638\u0645": {
+               "isolated": "\uFC28",
+               "initial": "\uFCB9",
+               "medial": "\uFD3B"
+           },
+           "\u0639\u062C": {
+               "isolated": "\uFC29",
+               "initial": "\uFCBA"
+           },
+           "\u0639\u0645": {
+               "isolated": "\uFC2A",
+               "initial": "\uFCBB"
+           },
+           "\u063A\u062C": {
+               "isolated": "\uFC2B",
+               "initial": "\uFCBC"
+           },
+           "\u063A\u0645": {
+               "isolated": "\uFC2C",
+               "initial": "\uFCBD"
+           },
+           "\u0641\u062C": {
+               "isolated": "\uFC2D",
+               "initial": "\uFCBE"
+           },
+           "\u0641\u062D": {
+               "isolated": "\uFC2E",
+               "initial": "\uFCBF"
+           },
+           "\u0641\u062E": {
+               "isolated": "\uFC2F",
+               "initial": "\uFCC0"
+           },
+           "\u0641\u0645": {
+               "isolated": "\uFC30",
+               "initial": "\uFCC1"
+           },
+           "\u0641\u0649": {
+               "isolated": "\uFC31",
+               "final": "\uFC7C"
+           },
+           "\u0641\u064A": {
+               "isolated": "\uFC32",
+               "final": "\uFC7D"
+           },
+           "\u0642\u062D": {
+               "isolated": "\uFC33",
+               "initial": "\uFCC2"
+           },
+           "\u0642\u0645": {
+               "isolated": "\uFC34",
+               "initial": "\uFCC3"
+           },
+           "\u0642\u0649": {
+               "isolated": "\uFC35",
+               "final": "\uFC7E"
+           },
+           "\u0642\u064A": {
+               "isolated": "\uFC36",
+               "final": "\uFC7F"
+           },
+           "\u0643\u0627": {
+               "isolated": "\uFC37",
+               "final": "\uFC80"
+           },
+           "\u0643\u062C": {
+               "isolated": "\uFC38",
+               "initial": "\uFCC4"
+           },
+           "\u0643\u062D": {
+               "isolated": "\uFC39",
+               "initial": "\uFCC5"
+           },
+           "\u0643\u062E": {
+               "isolated": "\uFC3A",
+               "initial": "\uFCC6"
+           },
+           "\u0643\u0644": {
+               "isolated": "\uFC3B",
+               "final": "\uFC81",
+               "initial": "\uFCC7",
+               "medial": "\uFCEB"
+           },
+           "\u0643\u0645": {
+               "isolated": "\uFC3C",
+               "final": "\uFC82",
+               "initial": "\uFCC8",
+               "medial": "\uFCEC"
+           },
+           "\u0643\u0649": {
+               "isolated": "\uFC3D",
+               "final": "\uFC83"
+           },
+           "\u0643\u064A": {
+               "isolated": "\uFC3E",
+               "final": "\uFC84"
+           },
+           "\u0644\u062C": {
+               "isolated": "\uFC3F",
+               "initial": "\uFCC9"
+           },
+           "\u0644\u062D": {
+               "isolated": "\uFC40",
+               "initial": "\uFCCA"
+           },
+           "\u0644\u062E": {
+               "isolated": "\uFC41",
+               "initial": "\uFCCB"
+           },
+           "\u0644\u0645": {
+               "isolated": "\uFC42",
+               "final": "\uFC85",
+               "initial": "\uFCCC",
+               "medial": "\uFCED"
+           },
+           "\u0644\u0649": {
+               "isolated": "\uFC43",
+               "final": "\uFC86"
+           },
+           "\u0644\u064A": {
+               "isolated": "\uFC44",
+               "final": "\uFC87"
+           },
+           "\u0645\u062C": {
+               "isolated": "\uFC45",
+               "initial": "\uFCCE"
+           },
+           "\u0645\u062D": {
+               "isolated": "\uFC46",
+               "initial": "\uFCCF"
+           },
+           "\u0645\u062E": {
+               "isolated": "\uFC47",
+               "initial": "\uFCD0"
+           },
+           "\u0645\u0645": {
+               "isolated": "\uFC48",
+               "final": "\uFC89",
+               "initial": "\uFCD1"
+           },
+           "\u0645\u0649": {
+               "isolated": "\uFC49"
+           },
+           "\u0645\u064A": {
+               "isolated": "\uFC4A"
+           },
+           "\u0646\u062C": {
+               "isolated": "\uFC4B",
+               "initial": "\uFCD2"
+           },
+           "\u0646\u062D": {
+               "isolated": "\uFC4C",
+               "initial": "\uFCD3"
+           },
+           "\u0646\u062E": {
+               "isolated": "\uFC4D",
+               "initial": "\uFCD4"
+           },
+           "\u0646\u0645": {
+               "isolated": "\uFC4E",
+               "final": "\uFC8C",
+               "initial": "\uFCD5",
+               "medial": "\uFCEE"
+           },
+           "\u0646\u0649": {
+               "isolated": "\uFC4F",
+               "final": "\uFC8E"
+           },
+           "\u0646\u064A": {
+               "isolated": "\uFC50",
+               "final": "\uFC8F"
+           },
+           "\u0647\u062C": {
+               "isolated": "\uFC51",
+               "initial": "\uFCD7"
+           },
+           "\u0647\u0645": {
+               "isolated": "\uFC52",
+               "initial": "\uFCD8"
+           },
+           "\u0647\u0649": {
+               "isolated": "\uFC53"
+           },
+           "\u0647\u064A": {
+               "isolated": "\uFC54"
+           },
+           "\u064A\u062C": {
+               "isolated": "\uFC55",
+               "initial": "\uFCDA"
+           },
+           "\u064A\u062D": {
+               "isolated": "\uFC56",
+               "initial": "\uFCDB"
+           },
+           "\u064A\u062E": {
+               "isolated": "\uFC57",
+               "initial": "\uFCDC"
+           },
+           "\u064A\u0645": {
+               "isolated": "\uFC58",
+               "final": "\uFC93",
+               "initial": "\uFCDD",
+               "medial": "\uFCF0"
+           },
+           "\u064A\u0649": {
+               "isolated": "\uFC59",
+               "final": "\uFC95"
+           },
+           "\u064A\u064A": {
+               "isolated": "\uFC5A",
+               "final": "\uFC96"
+           },
+           "\u0630\u0670": {
+               "isolated": "\uFC5B"
+           },
+           "\u0631\u0670": {
+               "isolated": "\uFC5C"
+           },
+           "\u0649\u0670": {
+               "isolated": "\uFC5D",
+               "final": "\uFC90"
+           },
+           "\u064C\u0651": {
+               "isolated": "\uFC5E"
+           },
+           "\u064D\u0651": {
+               "isolated": "\uFC5F"
+           },
+           "\u064E\u0651": {
+               "isolated": "\uFC60"
+           },
+           "\u064F\u0651": {
+               "isolated": "\uFC61"
+           },
+           "\u0650\u0651": {
+               "isolated": "\uFC62"
+           },
+           "\u0651\u0670": {
+               "isolated": "\uFC63"
+           },
+           "\u0626\u0631": {
+               "final": "\uFC64"
+           },
+           "\u0626\u0632": {
+               "final": "\uFC65"
+           },
+           "\u0626\u0646": {
+               "final": "\uFC67"
+           },
+           "\u0628\u0631": {
+               "final": "\uFC6A"
+           },
+           "\u0628\u0632": {
+               "final": "\uFC6B"
+           },
+           "\u0628\u0646": {
+               "final": "\uFC6D"
+           },
+           "\u062A\u0631": {
+               "final": "\uFC70"
+           },
+           "\u062A\u0632": {
+               "final": "\uFC71"
+           },
+           "\u062A\u0646": {
+               "final": "\uFC73"
+           },
+           "\u062B\u0631": {
+               "final": "\uFC76"
+           },
+           "\u062B\u0632": {
+               "final": "\uFC77"
+           },
+           "\u062B\u0646": {
+               "final": "\uFC79"
+           },
+           "\u062B\u064A": {
+               "final": "\uFC7B"
+           },
+           "\u0645\u0627": {
+               "final": "\uFC88"
+           },
+           "\u0646\u0631": {
+               "final": "\uFC8A"
+           },
+           "\u0646\u0632": {
+               "final": "\uFC8B"
+           },
+           "\u0646\u0646": {
+               "final": "\uFC8D"
+           },
+           "\u064A\u0631": {
+               "final": "\uFC91"
+           },
+           "\u064A\u0632": {
+               "final": "\uFC92"
+           },
+           "\u064A\u0646": {
+               "final": "\uFC94"
+           },
+           "\u0626\u062E": {
+               "initial": "\uFC99"
+           },
+           "\u0626\u0647": {
+               "initial": "\uFC9B",
+               "medial": "\uFCE0"
+           },
+           "\u0628\u0647": {
+               "initial": "\uFCA0",
+               "medial": "\uFCE2"
+           },
+           "\u062A\u0647": {
+               "initial": "\uFCA5",
+               "medial": "\uFCE4"
+           },
+           "\u0635\u062E": {
+               "initial": "\uFCB2"
+           },
+           "\u0644\u0647": {
+               "initial": "\uFCCD"
+           },
+           "\u0646\u0647": {
+               "initial": "\uFCD6",
+               "medial": "\uFCEF"
+           },
+           "\u0647\u0670": {
+               "initial": "\uFCD9"
+           },
+           "\u064A\u0647": {
+               "initial": "\uFCDE",
+               "medial": "\uFCF1"
+           },
+           "\u062B\u0647": {
+               "medial": "\uFCE6"
+           },
+           "\u0633\u0647": {
+               "medial": "\uFCE8",
+               "initial": "\uFD31"
+           },
+           "\u0634\u0645": {
+               "medial": "\uFCE9",
+               "isolated": "\uFD0C",
+               "final": "\uFD28",
+               "initial": "\uFD30"
+           },
+           "\u0634\u0647": {
+               "medial": "\uFCEA",
+               "initial": "\uFD32"
+           },
+           "\u0640\u064E\u0651": {
+               "medial": "\uFCF2"
+           },
+           "\u0640\u064F\u0651": {
+               "medial": "\uFCF3"
+           },
+           "\u0640\u0650\u0651": {
+               "medial": "\uFCF4"
+           },
+           "\u0637\u0649": {
+               "isolated": "\uFCF5",
+               "final": "\uFD11"
+           },
+           "\u0637\u064A": {
+               "isolated": "\uFCF6",
+               "final": "\uFD12"
+           },
+           "\u0639\u0649": {
+               "isolated": "\uFCF7",
+               "final": "\uFD13"
+           },
+           "\u0639\u064A": {
+               "isolated": "\uFCF8",
+               "final": "\uFD14"
+           },
+           "\u063A\u0649": {
+               "isolated": "\uFCF9",
+               "final": "\uFD15"
+           },
+           "\u063A\u064A": {
+               "isolated": "\uFCFA",
+               "final": "\uFD16"
+           },
+           "\u0633\u0649": {
+               "isolated": "\uFCFB"
+           },
+           "\u0633\u064A": {
+               "isolated": "\uFCFC",
+               "final": "\uFD18"
+           },
+           "\u0634\u0649": {
+               "isolated": "\uFCFD",
+               "final": "\uFD19"
+           },
+           "\u0634\u064A": {
+               "isolated": "\uFCFE",
+               "final": "\uFD1A"
+           },
+           "\u062D\u0649": {
+               "isolated": "\uFCFF",
+               "final": "\uFD1B"
+           },
+           "\u062D\u064A": {
+               "isolated": "\uFD00",
+               "final": "\uFD1C"
+           },
+           "\u062C\u0649": {
+               "isolated": "\uFD01",
+               "final": "\uFD1D"
+           },
+           "\u062C\u064A": {
+               "isolated": "\uFD02",
+               "final": "\uFD1E"
+           },
+           "\u062E\u0649": {
+               "isolated": "\uFD03",
+               "final": "\uFD1F"
+           },
+           "\u062E\u064A": {
+               "isolated": "\uFD04",
+               "final": "\uFD20"
+           },
+           "\u0635\u0649": {
+               "isolated": "\uFD05",
+               "final": "\uFD21"
+           },
+           "\u0635\u064A": {
+               "isolated": "\uFD06",
+               "final": "\uFD22"
+           },
+           "\u0636\u0649": {
+               "isolated": "\uFD07",
+               "final": "\uFD23"
+           },
+           "\u0636\u064A": {
+               "isolated": "\uFD08",
+               "final": "\uFD24"
+           },
+           "\u0634\u062C": {
+               "isolated": "\uFD09",
+               "final": "\uFD25",
+               "initial": "\uFD2D",
+               "medial": "\uFD37"
+           },
+           "\u0634\u062D": {
+               "isolated": "\uFD0A",
+               "final": "\uFD26",
+               "initial": "\uFD2E",
+               "medial": "\uFD38"
+           },
+           "\u0634\u062E": {
+               "isolated": "\uFD0B",
+               "final": "\uFD27",
+               "initial": "\uFD2F",
+               "medial": "\uFD39"
+           },
+           "\u0634\u0631": {
+               "isolated": "\uFD0D",
+               "final": "\uFD29"
+           },
+           "\u0633\u0631": {
+               "isolated": "\uFD0E",
+               "final": "\uFD2A"
+           },
+           "\u0635\u0631": {
+               "isolated": "\uFD0F",
+               "final": "\uFD2B"
+           },
+           "\u0636\u0631": {
+               "isolated": "\uFD10",
+               "final": "\uFD2C"
+           },
+           "\u0633\u0639": {
+               "final": "\uFD17"
+           },
+           "\u062A\u062C\u0645": {
+               "initial": "\uFD50"
+           },
+           "\u062A\u062D\u062C": {
+               "final": "\uFD51",
+               "initial": "\uFD52"
+           },
+           "\u062A\u062D\u0645": {
+               "initial": "\uFD53"
+           },
+           "\u062A\u062E\u0645": {
+               "initial": "\uFD54"
+           },
+           "\u062A\u0645\u062C": {
+               "initial": "\uFD55"
+           },
+           "\u062A\u0645\u062D": {
+               "initial": "\uFD56"
+           },
+           "\u062A\u0645\u062E": {
+               "initial": "\uFD57"
+           },
+           "\u062C\u0645\u062D": {
+               "final": "\uFD58",
+               "initial": "\uFD59"
+           },
+           "\u062D\u0645\u064A": {
+               "final": "\uFD5A"
+           },
+           "\u062D\u0645\u0649": {
+               "final": "\uFD5B"
+           },
+           "\u0633\u062D\u062C": {
+               "initial": "\uFD5C"
+           },
+           "\u0633\u062C\u062D": {
+               "initial": "\uFD5D"
+           },
+           "\u0633\u062C\u0649": {
+               "final": "\uFD5E"
+           },
+           "\u0633\u0645\u062D": {
+               "final": "\uFD5F",
+               "initial": "\uFD60"
+           },
+           "\u0633\u0645\u062C": {
+               "initial": "\uFD61"
+           },
+           "\u0633\u0645\u0645": {
+               "final": "\uFD62",
+               "initial": "\uFD63"
+           },
+           "\u0635\u062D\u062D": {
+               "final": "\uFD64",
+               "initial": "\uFD65"
+           },
+           "\u0635\u0645\u0645": {
+               "final": "\uFD66",
+               "initial": "\uFDC5"
+           },
+           "\u0634\u062D\u0645": {
+               "final": "\uFD67",
+               "initial": "\uFD68"
+           },
+           "\u0634\u062C\u064A": {
+               "final": "\uFD69"
+           },
+           "\u0634\u0645\u062E": {
+               "final": "\uFD6A",
+               "initial": "\uFD6B"
+           },
+           "\u0634\u0645\u0645": {
+               "final": "\uFD6C",
+               "initial": "\uFD6D"
+           },
+           "\u0636\u062D\u0649": {
+               "final": "\uFD6E"
+           },
+           "\u0636\u062E\u0645": {
+               "final": "\uFD6F",
+               "initial": "\uFD70"
+           },
+           "\u0636\u0645\u062D": {
+               "final": "\uFD71"
+           },
+           "\u0637\u0645\u062D": {
+               "initial": "\uFD72"
+           },
+           "\u0637\u0645\u0645": {
+               "initial": "\uFD73"
+           },
+           "\u0637\u0645\u064A": {
+               "final": "\uFD74"
+           },
+           "\u0639\u062C\u0645": {
+               "final": "\uFD75",
+               "initial": "\uFDC4"
+           },
+           "\u0639\u0645\u0645": {
+               "final": "\uFD76",
+               "initial": "\uFD77"
+           },
+           "\u0639\u0645\u0649": {
+               "final": "\uFD78"
+           },
+           "\u063A\u0645\u0645": {
+               "final": "\uFD79"
+           },
+           "\u063A\u0645\u064A": {
+               "final": "\uFD7A"
+           },
+           "\u063A\u0645\u0649": {
+               "final": "\uFD7B"
+           },
+           "\u0641\u062E\u0645": {
+               "final": "\uFD7C",
+               "initial": "\uFD7D"
+           },
+           "\u0642\u0645\u062D": {
+               "final": "\uFD7E",
+               "initial": "\uFDB4"
+           },
+           "\u0642\u0645\u0645": {
+               "final": "\uFD7F"
+           },
+           "\u0644\u062D\u0645": {
+               "final": "\uFD80",
+               "initial": "\uFDB5"
+           },
+           "\u0644\u062D\u064A": {
+               "final": "\uFD81"
+           },
+           "\u0644\u062D\u0649": {
+               "final": "\uFD82"
+           },
+           "\u0644\u062C\u062C": {
+               "initial": "\uFD83",
+               "final": "\uFD84"
+           },
+           "\u0644\u062E\u0645": {
+               "final": "\uFD85",
+               "initial": "\uFD86"
+           },
+           "\u0644\u0645\u062D": {
+               "final": "\uFD87",
+               "initial": "\uFD88"
+           },
+           "\u0645\u062D\u062C": {
+               "initial": "\uFD89"
+           },
+           "\u0645\u062D\u0645": {
+               "initial": "\uFD8A"
+           },
+           "\u0645\u062D\u064A": {
+               "final": "\uFD8B"
+           },
+           "\u0645\u062C\u062D": {
+               "initial": "\uFD8C"
+           },
+           "\u0645\u062C\u0645": {
+               "initial": "\uFD8D"
+           },
+           "\u0645\u062E\u062C": {
+               "initial": "\uFD8E"
+           },
+           "\u0645\u062E\u0645": {
+               "initial": "\uFD8F"
+           },
+           "\u0645\u062C\u062E": {
+               "initial": "\uFD92"
+           },
+           "\u0647\u0645\u062C": {
+               "initial": "\uFD93"
+           },
+           "\u0647\u0645\u0645": {
+               "initial": "\uFD94"
+           },
+           "\u0646\u062D\u0645": {
+               "initial": "\uFD95"
+           },
+           "\u0646\u062D\u0649": {
+               "final": "\uFD96"
+           },
+           "\u0646\u062C\u0645": {
+               "final": "\uFD97",
+               "initial": "\uFD98"
+           },
+           "\u0646\u062C\u0649": {
+               "final": "\uFD99"
+           },
+           "\u0646\u0645\u064A": {
+               "final": "\uFD9A"
+           },
+           "\u0646\u0645\u0649": {
+               "final": "\uFD9B"
+           },
+           "\u064A\u0645\u0645": {
+               "final": "\uFD9C",
+               "initial": "\uFD9D"
+           },
+           "\u0628\u062E\u064A": {
+               "final": "\uFD9E"
+           },
+           "\u062A\u062C\u064A": {
+               "final": "\uFD9F"
+           },
+           "\u062A\u062C\u0649": {
+               "final": "\uFDA0"
+           },
+           "\u062A\u062E\u064A": {
+               "final": "\uFDA1"
+           },
+           "\u062A\u062E\u0649": {
+               "final": "\uFDA2"
+           },
+           "\u062A\u0645\u064A": {
+               "final": "\uFDA3"
+           },
+           "\u062A\u0645\u0649": {
+               "final": "\uFDA4"
+           },
+           "\u062C\u0645\u064A": {
+               "final": "\uFDA5"
+           },
+           "\u062C\u062D\u0649": {
+               "final": "\uFDA6"
+           },
+           "\u062C\u0645\u0649": {
+               "final": "\uFDA7"
+           },
+           "\u0633\u062E\u0649": {
+               "final": "\uFDA8"
+           },
+           "\u0635\u062D\u064A": {
+               "final": "\uFDA9"
+           },
+           "\u0634\u062D\u064A": {
+               "final": "\uFDAA"
+           },
+           "\u0636\u062D\u064A": {
+               "final": "\uFDAB"
+           },
+           "\u0644\u062C\u064A": {
+               "final": "\uFDAC"
+           },
+           "\u0644\u0645\u064A": {
+               "final": "\uFDAD"
+           },
+           "\u064A\u062D\u064A": {
+               "final": "\uFDAE"
+           },
+           "\u064A\u062C\u064A": {
+               "final": "\uFDAF"
+           },
+           "\u064A\u0645\u064A": {
+               "final": "\uFDB0"
+           },
+           "\u0645\u0645\u064A": {
+               "final": "\uFDB1"
+           },
+           "\u0642\u0645\u064A": {
+               "final": "\uFDB2"
+           },
+           "\u0646\u062D\u064A": {
+               "final": "\uFDB3"
+           },
+           "\u0639\u0645\u064A": {
+               "final": "\uFDB6"
+           },
+           "\u0643\u0645\u064A": {
+               "final": "\uFDB7"
+           },
+           "\u0646\u062C\u062D": {
+               "initial": "\uFDB8",
+               "final": "\uFDBD"
+           },
+           "\u0645\u062E\u064A": {
+               "final": "\uFDB9"
+           },
+           "\u0644\u062C\u0645": {
+               "initial": "\uFDBA",
+               "final": "\uFDBC"
+           },
+           "\u0643\u0645\u0645": {
+               "final": "\uFDBB",
+               "initial": "\uFDC3"
+           },
+           "\u062C\u062D\u064A": {
+               "final": "\uFDBE"
+           },
+           "\u062D\u062C\u064A": {
+               "final": "\uFDBF"
+           },
+           "\u0645\u062C\u064A": {
+               "final": "\uFDC0"
+           },
+           "\u0641\u0645\u064A": {
+               "final": "\uFDC1"
+           },
+           "\u0628\u062D\u064A": {
+               "final": "\uFDC2"
+           },
+           "\u0633\u062E\u064A": {
+               "final": "\uFDC6"
+           },
+           "\u0646\u062C\u064A": {
+               "final": "\uFDC7"
+           },
+           "\u0644\u0622": {
+               "isolated": "\uFEF5",
+               "final": "\uFEF6"
+           },
+           "\u0644\u0623": {
+               "isolated": "\uFEF7",
+               "final": "\uFEF8"
+           },
+           "\u0644\u0625": {
+               "isolated": "\uFEF9",
+               "final": "\uFEFA"
+           },
+           "\u0644\u0627": {
+               "isolated": "\uFEFB",
+               "final": "\uFEFC"
+           },
+           "words": {
+               "\u0635\u0644\u06D2": "\uFDF0",
+               "\u0642\u0644\u06D2": "\uFDF1",
+               "\u0627\u0644\u0644\u0647": "\uFDF2",
+               "\u0627\u0643\u0628\u0631": "\uFDF3",
+               "\u0645\u062D\u0645\u062F": "\uFDF4",
+               "\u0635\u0644\u0639\u0645": "\uFDF5",
+               "\u0631\u0633\u0648\u0644": "\uFDF6",
+               "\u0639\u0644\u064A\u0647": "\uFDF7",
+               "\u0648\u0633\u0644\u0645": "\uFDF8",
+               "\u0635\u0644\u0649": "\uFDF9",
+               "\u0635\u0644\u0649\u0627\u0644\u0644\u0647\u0639\u0644\u064A\u0647\u0648\u0633\u0644\u0645": "\uFDFA",
+               "\u062C\u0644\u062C\u0644\u0627\u0644\u0647": "\uFDFB",
+               "\u0631\u06CC\u0627\u0644": "\uFDFC"
+           }
+       };
+       exports.default = ligatureReference;
+       });
+
+       unwrapExports(unicodeLigatures);
+
+       var reference = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+
+
+       var letterList = Object.keys(unicodeArabic.default);
+       exports.letterList = letterList;
+       var ligatureList = Object.keys(unicodeLigatures.default);
+       exports.ligatureList = ligatureList;
+       var ligatureWordList = Object.keys(unicodeLigatures.default.words);
+       exports.ligatureWordList = ligatureWordList;
+       var lams = '\u0644\u06B5\u06B6\u06B7\u06B8';
+       exports.lams = lams;
+       var alefs = '\u0627\u0622\u0623\u0625\u0671\u0672\u0673\u0675\u0773\u0774';
+       exports.alefs = alefs;
+       // for (var l = 1; l < lams.length; l++) {
+       //   console.log('-');
+       //   for (var a = 0; a < alefs.length; a++) {
+       //     console.log(a + ': ' + lams[l] + alefs[a]);
+       //   }
+       // }
+       var tashkeel = '\u0605\u0640\u0670\u0674\u06DF\u06E7\u06E8';
+       exports.tashkeel = tashkeel;
+       function addToTashkeel(start, finish) {
+           for (var i = start; i <= finish; i++) {
+               exports.tashkeel = tashkeel += String.fromCharCode(i);
+           }
+       }
+       addToTashkeel(0x0610, 0x061A);
+       addToTashkeel(0x064B, 0x065F);
+       addToTashkeel(0x06D6, 0x06DC);
+       addToTashkeel(0x06E0, 0x06E4);
+       addToTashkeel(0x06EA, 0x06ED);
+       addToTashkeel(0x08D3, 0x08E1);
+       addToTashkeel(0x08E3, 0x08FF);
+       addToTashkeel(0xFE70, 0xFE7F);
+       var lineBreakers = '\u0627\u0629\u0648\u06C0\u06CF\u06FD\u06FE\u076B\u076C\u0771\u0773\u0774\u0778\u0779\u08E2\u08B1\u08B2\u08B9';
+       exports.lineBreakers = lineBreakers;
+       function addToLineBreakers(start, finish) {
+           for (var i = start; i <= finish; i++) {
+               exports.lineBreakers = lineBreakers += String.fromCharCode(i);
+           }
+       }
+       addToLineBreakers(0x0600, 0x061F); // it's OK to include tashkeel in this range as it is ignored
+       addToLineBreakers(0x0621, 0x0625);
+       addToLineBreakers(0x062F, 0x0632);
+       addToLineBreakers(0x0660, 0x066D); // numerals, math
+       addToLineBreakers(0x0671, 0x0677);
+       addToLineBreakers(0x0688, 0x0699);
+       addToLineBreakers(0x06C3, 0x06CB);
+       addToLineBreakers(0x06D2, 0x06F9);
+       addToLineBreakers(0x0759, 0x075B);
+       addToLineBreakers(0x08AA, 0x08AE);
+       addToLineBreakers(0xFB50, 0xFDFD); // presentation forms look like they could connect, but never do
+       // Presentation Forms A includes diacritics but they are meant to stand alone
+       addToLineBreakers(0xFE80, 0xFEFC); // presentation forms look like they could connect, but never do
+       // numerals, math
+       addToLineBreakers(0x10E60, 0x10E7F);
+       addToLineBreakers(0x1EC70, 0x1ECBF);
+       addToLineBreakers(0x1EE00, 0x1EEFF);
+       });
+
+       unwrapExports(reference);
+       var reference_1 = reference.letterList;
+       var reference_2 = reference.ligatureList;
+       var reference_3 = reference.ligatureWordList;
+       var reference_4 = reference.lams;
+       var reference_5 = reference.alefs;
+       var reference_6 = reference.tashkeel;
+       var reference_7 = reference.lineBreakers;
+
+       var GlyphSplitter_1 = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+
+
+       function GlyphSplitter(word) {
+           var letters = [];
+           var lastLetter = '';
+           word.split('').forEach(function (letter) {
+               if (isArabic_1.isArabic(letter)) {
+                   if (reference.tashkeel.indexOf(letter) > -1) {
+                       letters[letters.length - 1] += letter;
+                   }
+                   else if (lastLetter.length && ((reference.lams.indexOf(lastLetter) === 0 && reference.alefs.indexOf(letter) > -1) || (reference.lams.indexOf(lastLetter) > 0 && reference.alefs.indexOf(letter) === 0))) {
+                       // valid LA forms
+                       letters[letters.length - 1] += letter;
+                   }
+                   else {
+                       letters.push(letter);
+                   }
+               }
+               else {
+                   letters.push(letter);
+               }
+               if (reference.tashkeel.indexOf(letter) === -1) {
+                   lastLetter = letter;
+               }
+           });
+           return letters;
+       }
+       exports.GlyphSplitter = GlyphSplitter;
+       });
+
+       unwrapExports(GlyphSplitter_1);
+       var GlyphSplitter_2 = GlyphSplitter_1.GlyphSplitter;
+
+       var BaselineSplitter_1 = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+
+
+       function BaselineSplitter(word) {
+           var letters = [];
+           var lastLetter = '';
+           word.split('').forEach(function (letter) {
+               if (isArabic_1.isArabic(letter) && isArabic_1.isArabic(lastLetter)) {
+                   if (lastLetter.length && reference.tashkeel.indexOf(letter) > -1) {
+                       letters[letters.length - 1] += letter;
+                   }
+                   else if (reference.lineBreakers.indexOf(lastLetter) > -1) {
+                       letters.push(letter);
+                   }
+                   else {
+                       letters[letters.length - 1] += letter;
+                   }
+               }
+               else {
+                   letters.push(letter);
+               }
+               if (reference.tashkeel.indexOf(letter) === -1) {
+                   // don't allow tashkeel to hide line break
+                   lastLetter = letter;
+               }
+           });
+           return letters;
+       }
+       exports.BaselineSplitter = BaselineSplitter;
+       });
+
+       unwrapExports(BaselineSplitter_1);
+       var BaselineSplitter_2 = BaselineSplitter_1.BaselineSplitter;
+
+       var Normalization = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+
+
+
+
+       function Normal(word, breakPresentationForm) {
+           // default is to turn initial/isolated/medial/final presentation form to generic
+           if (typeof breakPresentationForm === 'undefined') {
+               breakPresentationForm = true;
+           }
+           var returnable = '';
+           word.split('').forEach(function (letter) {
+               if (!isArabic_1.isArabic(letter)) {
+                   returnable += letter;
+                   return;
+               }
+               for (var w = 0; w < reference.letterList.length; w++) {
+                   // ok so we are checking this potential lettertron
+                   var letterForms = unicodeArabic.default[reference.letterList[w]];
+                   var versions = Object.keys(letterForms);
+                   for (var v = 0; v < versions.length; v++) {
+                       var localVersion = letterForms[versions[v]];
+                       if (typeof localVersion === 'object' && typeof localVersion.indexOf === 'undefined') {
+                           // look at this embedded object
+                           var embeddedForms = Object.keys(localVersion);
+                           for (var ef = 0; ef < embeddedForms.length; ef++) {
+                               var form = localVersion[embeddedForms[ef]];
+                               if (form === letter || (typeof form === 'object' && form.indexOf && form.indexOf(letter) > -1)) {
+                                   // match
+                                   // console.log('embedded match');
+                                   if (form === letter) {
+                                       // match exact
+                                       if (breakPresentationForm && localVersion['normal'] && ['isolated', 'initial', 'medial', 'final'].indexOf(embeddedForms[ef]) > -1) {
+                                           // replace presentation form
+                                           // console.log('keeping normal form of the letter');
+                                           if (typeof localVersion['normal'] === 'object') {
+                                               returnable += localVersion['normal'][0];
+                                           }
+                                           else {
+                                               returnable += localVersion['normal'];
+                                           }
+                                           return;
+                                       }
+                                       // console.log('keeping this letter');
+                                       returnable += letter;
+                                       return;
+                                   }
+                                   else if (typeof form === 'object' && form.indexOf && form.indexOf(letter) > -1) {
+                                       // match
+                                       returnable += form[0];
+                                       // console.log('added the first letter from the same array');
+                                       return;
+                                   }
+                               }
+                           }
+                       }
+                       else if (localVersion === letter) {
+                           // match exact
+                           if (breakPresentationForm && letterForms['normal'] && ['isolated', 'initial', 'medial', 'final'].indexOf(versions[v]) > -1) {
+                               // replace presentation form
+                               // console.log('keeping normal form of the letter');
+                               if (typeof letterForms['normal'] === 'object') {
+                                   returnable += letterForms['normal'][0];
+                               }
+                               else {
+                                   returnable += letterForms['normal'];
+                               }
+                               return;
+                           }
+                           // console.log('keeping this letter');
+                           returnable += letter;
+                           return;
+                       }
+                       else if (typeof localVersion === 'object' && localVersion.indexOf && localVersion.indexOf(letter) > -1) {
+                           // match
+                           returnable += localVersion[0];
+                           // console.log('added the first letter from the same array');
+                           return;
+                       }
+                   }
+               }
+               // try ligatures
+               for (var v2 = 0; v2 < reference.ligatureList.length; v2++) {
+                   var normalForm = reference.ligatureList[v2];
+                   if (normalForm !== 'words') {
+                       var ligForms = Object.keys(unicodeLigatures.default[normalForm]);
+                       for (var f = 0; f < ligForms.length; f++) {
+                           if (unicodeLigatures.default[normalForm][ligForms[f]] === letter) {
+                               returnable += normalForm;
+                               return;
+                           }
+                       }
+                   }
+               }
+               // try words ligatures
+               for (var v3 = 0; v3 < reference.ligatureWordList.length; v3++) {
+                   var normalForm = reference.ligatureWordList[v3];
+                   if (unicodeLigatures.default.words[normalForm] === letter) {
+                       returnable += normalForm;
+                       return;
+                   }
+               }
+               returnable += letter;
+               // console.log('kept the letter')
+           });
+           return returnable;
+       }
+       exports.Normal = Normal;
+       });
+
+       unwrapExports(Normalization);
+       var Normalization_1 = Normalization.Normal;
+
+       var CharShaper_1 = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+
+
+
+       function CharShaper(letter, form) {
+           if (!isArabic_1.isArabic(letter)) {
+               // fail not Arabic
+               throw new Error('Not Arabic');
+           }
+           if (letter === "\u0621") {
+               // hamza alone
+               return "\u0621";
+           }
+           for (var w = 0; w < reference.letterList.length; w++) {
+               // ok so we are checking this potential lettertron
+               var letterForms = unicodeArabic.default[reference.letterList[w]];
+               var versions = Object.keys(letterForms);
+               for (var v = 0; v < versions.length; v++) {
+                   var localVersion = letterForms[versions[v]];
+                   if ((localVersion === letter) ||
+                       (typeof localVersion === 'object' && localVersion.indexOf && localVersion.indexOf(letter) > -1)) {
+                       if (versions.indexOf(form) > -1) {
+                           return letterForms[form];
+                       }
+                   }
+                   else if (typeof localVersion === 'object' && typeof localVersion.indexOf === 'undefined') {
+                       // check embedded
+                       var embeddedVersions = Object.keys(localVersion);
+                       for (var ev = 0; ev < embeddedVersions.length; ev++) {
+                           if ((localVersion[embeddedVersions[ev]] === letter) ||
+                               (typeof localVersion[embeddedVersions[ev]] === 'object' && localVersion[embeddedVersions[ev]].indexOf && localVersion[embeddedVersions[ev]].indexOf(letter) > -1)) {
+                               if (embeddedVersions.indexOf(form) > -1) {
+                                   return localVersion[form];
+                               }
+                           }
+                       }
+                   }
+               }
+           }
+       }
+       exports.CharShaper = CharShaper;
+       });
+
+       unwrapExports(CharShaper_1);
+       var CharShaper_2 = CharShaper_1.CharShaper;
+
+       var WordShaper_1 = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+
+
+
+
+       function WordShaper(word) {
+           var state = 'initial';
+           var output = '';
+           for (var w = 0; w < word.length; w++) {
+               var nextLetter = ' ';
+               for (var nxw = w + 1; nxw < word.length; nxw++) {
+                   if (!isArabic_1.isArabic(word[nxw])) {
+                       break;
+                   }
+                   if (reference.tashkeel.indexOf(word[nxw]) === -1) {
+                       nextLetter = word[nxw];
+                       break;
+                   }
+               }
+               if (!isArabic_1.isArabic(word[w]) || isArabic_1.isMath(word[w])) {
+                   // space or other non-Arabic
+                   output += word[w];
+                   state = 'initial';
+               }
+               else if (reference.tashkeel.indexOf(word[w]) > -1) {
+                   // tashkeel - add without changing state
+                   output += word[w];
+               }
+               else if ((nextLetter === ' ') // last Arabic letter in this word
+                   || (reference.lineBreakers.indexOf(word[w]) > -1)) { // the current letter is known to break lines
+                   output += CharShaper_1.CharShaper(word[w], state === 'initial' ? 'isolated' : 'final');
+                   state = 'initial';
+               }
+               else if (reference.lams.indexOf(word[w]) > -1 && reference.alefs.indexOf(nextLetter) > -1) {
+                   // LA letters - advance an additional letter after this
+                   output += unicodeLigatures.default[word[w] + nextLetter][(state === 'initial' ? 'isolated' : 'final')];
+                   while (word[w] !== nextLetter) {
+                       w++;
+                   }
+                   state = 'initial';
+               }
+               else {
+                   output += CharShaper_1.CharShaper(word[w], state);
+                   state = 'medial';
+               }
+           }
+           return output;
+       }
+       exports.WordShaper = WordShaper;
+       });
+
+       unwrapExports(WordShaper_1);
+       var WordShaper_2 = WordShaper_1.WordShaper;
+
+       var ParentLetter_1 = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+
+
+
+       function ParentLetter(letter) {
+           if (!isArabic_1.isArabic(letter)) {
+               throw new Error('Not an Arabic letter');
+           }
+           for (var w = 0; w < reference.letterList.length; w++) {
+               // ok so we are checking this potential lettertron
+               var letterForms = unicodeArabic.default[reference.letterList[w]];
+               var versions = Object.keys(letterForms);
+               for (var v = 0; v < versions.length; v++) {
+                   var localVersion = letterForms[versions[v]];
+                   if (typeof localVersion === 'object' && typeof localVersion.indexOf === 'undefined') {
+                       // look at this embedded object
+                       var embeddedForms = Object.keys(localVersion);
+                       for (var ef = 0; ef < embeddedForms.length; ef++) {
+                           var form = localVersion[embeddedForms[ef]];
+                           if (form === letter || (typeof form === 'object' && form.indexOf && form.indexOf(letter) > -1)) {
+                               // match
+                               return localVersion;
+                           }
+                       }
+                   }
+                   else if (localVersion === letter || (typeof localVersion === 'object' && localVersion.indexOf && localVersion.indexOf(letter) > -1)) {
+                       // match
+                       return letterForms;
+                   }
+               }
+               return null;
+           }
+       }
+       exports.ParentLetter = ParentLetter;
+       function GrandparentLetter(letter) {
+           if (!isArabic_1.isArabic(letter)) {
+               throw new Error('Not an Arabic letter');
+           }
+           for (var w = 0; w < reference.letterList.length; w++) {
+               // ok so we are checking this potential lettertron
+               var letterForms = unicodeArabic.default[reference.letterList[w]];
+               var versions = Object.keys(letterForms);
+               for (var v = 0; v < versions.length; v++) {
+                   var localVersion = letterForms[versions[v]];
+                   if (typeof localVersion === 'object' && typeof localVersion.indexOf === 'undefined') {
+                       // look at this embedded object
+                       var embeddedForms = Object.keys(localVersion);
+                       for (var ef = 0; ef < embeddedForms.length; ef++) {
+                           var form = localVersion[embeddedForms[ef]];
+                           if (form === letter || (typeof form === 'object' && form.indexOf && form.indexOf(letter) > -1)) {
+                               // match
+                               return letterForms;
+                           }
+                       }
+                   }
+                   else if (localVersion === letter || (typeof localVersion === 'object' && localVersion.indexOf && localVersion.indexOf(letter) > -1)) {
+                       // match
+                       return letterForms;
+                   }
+               }
+               return null;
+           }
+       }
+       exports.GrandparentLetter = GrandparentLetter;
+       });
+
+       unwrapExports(ParentLetter_1);
+       var ParentLetter_2 = ParentLetter_1.ParentLetter;
+       var ParentLetter_3 = ParentLetter_1.GrandparentLetter;
+
+       var lib$1 = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+
+       exports.isArabic = isArabic_1.isArabic;
+
+       exports.GlyphSplitter = GlyphSplitter_1.GlyphSplitter;
+
+       exports.BaselineSplitter = BaselineSplitter_1.BaselineSplitter;
+
+       exports.Normal = Normalization.Normal;
+
+       exports.CharShaper = CharShaper_1.CharShaper;
+
+       exports.WordShaper = WordShaper_1.WordShaper;
+
+       exports.ParentLetter = ParentLetter_1.ParentLetter;
+       exports.GrandparentLetter = ParentLetter_1.GrandparentLetter;
+       });
+
+       unwrapExports(lib$1);
+       var lib_1 = lib$1.isArabic;
+       var lib_2 = lib$1.GlyphSplitter;
+       var lib_3 = lib$1.BaselineSplitter;
+       var lib_4 = lib$1.Normal;
+       var lib_5 = lib$1.CharShaper;
+       var lib_6 = lib$1.WordShaper;
+       var lib_7 = lib$1.ParentLetter;
+       var lib_8 = lib$1.GrandparentLetter;
+
+       // see https://github.com/openstreetmap/iD/pull/3707
+
+       var rtlRegex = /[\u0590-\u05FF\u0600-\u06FF\u0780-\u07BF]/;
+
+       function fixRTLTextForSvg(inputText) {
+           var ret = '', rtlBuffer = [];
+           var arabicRegex = /[\u0600-\u06FF]/g;
+           var arabicMath = /[\u0660-\u066C]+/g;
+           var thaanaVowel = /[\u07A6-\u07B0]/;
+           var hebrewSign = /[\u0591-\u05bd\u05bf\u05c1-\u05c5\u05c7]/;
+
+           if (!arabicRegex.test(inputText)) {
+               // Hebrew or Thaana RTL script
+               for (var n = 0; n < inputText.length; n++) {
+                   var c = inputText[n];
+                   if ((thaanaVowel.test(c) || hebrewSign.test(c)) && rtlBuffer.length) {
+                       rtlBuffer[rtlBuffer.length - 1] += c;
+                   } else if (rtlRegex.test(c)) {
+                       rtlBuffer.push(c);
+                   } else if (c === ' ' && rtlBuffer.length) {
+                       // whitespace within RTL text
+                       rtlBuffer = [rtlBuffer.reverse().join('') + ' '];
+                   } else {
+                       // non-RTL character
+                       ret += rtlBuffer.reverse().join('') + c;
+                       rtlBuffer = [];
+                   }
+               }
+               ret += rtlBuffer.reverse().join('');
+               return ret;
+           } else {
+               var label = lib_6(inputText).split('').reverse().join('');
+               // prevent Arabic numbers from being reversed
+               var numericSwaps = label.match(arabicMath) || [];
+               for (var i = 0; i < numericSwaps.length; i++) {
+                   if (numericSwaps[i].length > 1) {
+                       label = label.replace(numericSwaps[i], numericSwaps[i].split('').reverse().join(''));
+                   }
+               }
+               return label;
+           }
+       }
+
+       var translations = Object.create(null);
+
+       var currentLocale = 'en';
+       var textDirection = 'ltr';
+
+       function setLocale(val) {
+           if (translations[val] !== undefined) {
+               currentLocale = val;
+           } else if (translations[val.split('-')[0]]) {
+               currentLocale = val.split('-')[0];
+           }
+       }
+
+       function addTranslation(id, value) {
+           translations[id] = value;
+       }
+
+       /**
+        * Given a string identifier, try to find that string in the current
+        * language, and return it.  This function will be called recursively
+        * with locale `en` if a string can not be found in the requested language.
+        *
+        * @param {string}   s   string identifier
+        * @param {object?}  o   object of token replacements and default string
+        * @param {string?}  loc locale to use
+        * @returns {string?} locale string
+        */
+       function t(s, o, loc) {
+           loc = loc || currentLocale;
+
+           var path = s
+               .split('.')
+               .map(function (s) { return s.replace(/<TX_DOT>/g, '.'); })
+               .reverse();
+
+           var rep = translations[loc];
+
+           while (rep !== undefined && path.length) {
+               rep = rep[path.pop()];
+           }
+
+           if (rep !== undefined) {
+               if (o) {
+                   for (var k in o) {
+                       var variable = '{' + k + '}';
+                       var re = new RegExp(variable, 'g'); // check globally for variables
+                       rep = rep.replace(re, o[k]);
+                   }
+               }
+               return rep;
+           }
+
+           if (loc !== 'en') {
+               return t(s, o, 'en');
+           }
+
+           if (o && 'default' in o) {
+               return o.default;
+           }
+
+           var missing = 'Missing ' + loc + ' translation: ' + s;
+           if (typeof console !== 'undefined') console.error(missing); // eslint-disable-line
+
+           return missing;
+       }
+
+       /**
+        * Given string 'ltr' or 'rtl', save that setting
+        *
+        * @param {string} dir ltr or rtl
+        */
+
+       function setTextDirection(dir) {
+           textDirection = dir;
+       }
+
+       var detected;
+
+       function utilDetect(force) {
+           if (detected && !force) return detected;
+           detected = {};
+
+           var ua = navigator.userAgent,
+               m = null,
+               q = utilStringQs(window.location.hash.substring(1));
+
+           m = ua.match(/(edge)\/?\s*(\.?\d+(\.\d+)*)/i);   // Edge
+           if (m !== null) {
+               detected.browser = m[1];
+               detected.version = m[2];
+           }
+           if (!detected.browser) {
+               m = ua.match(/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/i);   // IE11
+               if (m !== null) {
+                   detected.browser = 'msie';
+                   detected.version = m[1];
+               }
+           }
+           if (!detected.browser) {
+               m = ua.match(/(opr)\/?\s*(\.?\d+(\.\d+)*)/i);   // Opera 15+
+               if (m !== null) {
+                   detected.browser = 'Opera';
+                   detected.version = m[2];
+               }
+           }
+           if (!detected.browser) {
+               m = ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
+               if (m !== null) {
+                   detected.browser = m[1];
+                   detected.version = m[2];
+                   m = ua.match(/version\/([\.\d]+)/i);
+                   if (m !== null) detected.version = m[1];
+               }
+           }
+           if (!detected.browser) {
+               detected.browser = navigator.appName;
+               detected.version = navigator.appVersion;
+           }
+
+           // keep major.minor version only..
+           detected.version = detected.version.split(/\W/).slice(0,2).join('.');
+
+           if (detected.browser.toLowerCase() === 'msie') {
+               detected.ie = true;
+               detected.browser = 'Internet Explorer';
+               detected.support = parseFloat(detected.version) >= 11;
+           } else {
+               detected.ie = false;
+               detected.support = true;
+           }
+
+           // Added due to incomplete svg style support. See #715
+           detected.opera = (detected.browser.toLowerCase() === 'opera' && parseFloat(detected.version) < 15 );
+
+           // Set locale based on url param (format 'en-US') or browser lang (default)
+           if (q.hasOwnProperty('locale')) {
+               detected.locale = q.locale;
+               detected.language = q.locale.split('-')[0];
+           } else {
+               detected.locale = (navigator.language || navigator.userLanguage || 'en-US');
+               detected.language = detected.locale.split('-')[0];
+
+               // Search `navigator.languages` for a better locale. Prefer the first language,
+               // unless the second language is a culture-specific version of the first one, see #3842
+               if (navigator.languages && navigator.languages.length > 0) {
+                   var code0 = navigator.languages[0],
+                       parts0 = code0.split('-');
+
+                   detected.locale = code0;
+                   detected.language = parts0[0];
+
+                   if (navigator.languages.length > 1 && parts0.length === 1) {
+                       var code1 = navigator.languages[1],
+                           parts1 = code1.split('-');
+
+                       if (parts1[0] === parts0[0]) {
+                           detected.locale = code1;
+                       }
+                   }
+               }
+           }
+
+           // Loaded locale is stored in currentLocale
+           // return that instead (except in the situation where 'en' might override 'en-US')
+           var loadedLocale = currentLocale || 'en';
+           if (loadedLocale !== 'en') {
+               detected.locale = loadedLocale;
+               detected.language = detected.locale.split('-')[0];
+           }
+
+           // detect text direction
+           var lang = dataLocales[detected.locale];
+           if ((lang && lang.rtl) || (q.rtl === 'true')) {
+               detected.textDirection = 'rtl';
+           } else {
+               detected.textDirection = 'ltr';
+           }
+           setTextDirection(detected.textDirection);
+
+           // detect host
+           var loc = window.top.location;
+           var origin = loc.origin;
+           if (!origin) {  // for unpatched IE11
+               origin = loc.protocol + '//' + loc.hostname + (loc.port ? ':' + loc.port: '');
+           }
+
+           detected.host = origin + loc.pathname;
+
+           detected.filedrop = (window.FileReader && 'ondrop' in window);
+
+           detected.download = !(detected.ie || detected.browser.toLowerCase() === 'edge');
+
+           detected.cssfilters = !(detected.ie || detected.browser.toLowerCase() === 'edge');
+
+           function nav(x) {
+               return navigator.userAgent.indexOf(x) !== -1;
+           }
+
+           if (nav('Win')) {
+               detected.os = 'win';
+               detected.platform = 'Windows';
+           }
+           else if (nav('Mac')) {
+               detected.os = 'mac';
+               detected.platform = 'Macintosh';
+           }
+           else if (nav('X11') || nav('Linux')) {
+               detected.os = 'linux';
+               detected.platform = 'Linux';
+           }
+           else {
+               detected.os = 'win';
+               detected.platform = 'Unknown';
+           }
+
+           return detected;
+       }
+
+       function utilTagText(entity) {
+           var obj = (entity && entity.tags) || {};
+           return Object.keys(obj)
+               .map(function(k) { return k + '=' + obj[k]; })
+               .join(', ');
+       }
+
+
+       function utilTagDiff(oldTags, newTags) {
+           var tagDiff = [];
+           var keys = utilArrayUnion(Object.keys(oldTags), Object.keys(newTags)).sort();
+           keys.forEach(function(k) {
+               var oldVal = oldTags[k];
+               var newVal = newTags[k];
+
+               if (oldVal && (!newVal || newVal !== oldVal)) {
+                   tagDiff.push({
+                       type: '-',
+                       key: k,
+                       oldVal: oldVal,
+                       newVal: newVal,
+                       display: '- ' + k + '=' + oldVal
+                   });
+               }
+               if (newVal && (!oldVal || newVal !== oldVal)) {
+                   tagDiff.push({
+                       type: '+',
+                       key: k,
+                       oldVal: oldVal,
+                       newVal: newVal,
+                       display: '+ ' + k + '=' + newVal
+                   });
+               }
+           });
+           return tagDiff;
+       }
+
+
+       function utilEntitySelector(ids) {
+           return ids.length ? '.' + ids.join(',.') : 'nothing';
+       }
+
+
+       // returns an selector to select entity ids for:
+       //  - entityIDs passed in
+       //  - shallow descendant entityIDs for any of those entities that are relations
+       function utilEntityOrMemberSelector(ids, graph) {
+           var seen = new Set(ids);
+           ids.forEach(collectShallowDescendants);
+           return utilEntitySelector(Array.from(seen));
+
+           function collectShallowDescendants(id) {
+               var entity = graph.hasEntity(id);
+               if (!entity || entity.type !== 'relation') return;
+
+               entity.members
+                   .map(function(member) { return member.id; })
+                   .forEach(function(id) { seen.add(id); });
+           }
+       }
+
+
+       // returns an selector to select entity ids for:
+       //  - entityIDs passed in
+       //  - deep descendant entityIDs for any of those entities that are relations
+       function utilEntityOrDeepMemberSelector(ids, graph) {
+           var seen = new Set();
+           ids.forEach(collectDeepDescendants);
+           return utilEntitySelector(Array.from(seen));
+
+           function collectDeepDescendants(id) {
+               if (seen.has(id)) return;
+               seen.add(id);
+
+               var entity = graph.hasEntity(id);
+               if (!entity || entity.type !== 'relation') return;
+
+               entity.members
+                   .map(function(member) { return member.id; })
+                   .forEach(collectDeepDescendants);   // recurse
+           }
+       }
+
+
+       // Adds or removes highlight styling for the specified entities
+       function utilHighlightEntities(ids, highlighted, context) {
+           context.surface()
+               .selectAll(utilEntityOrDeepMemberSelector(ids, context.graph()))
+               .classed('highlighted', highlighted);
+       }
+
+
+       // returns an Array that is the union of:
+       //  - nodes for any nodeIDs passed in
+       //  - child nodes of any wayIDs passed in
+       //  - descendant member and child nodes of relationIDs passed in
+       function utilGetAllNodes(ids, graph) {
+           var seen = new Set();
+           var nodes = new Set();
+
+           ids.forEach(collectNodes);
+           return Array.from(nodes);
+
+           function collectNodes(id) {
+               if (seen.has(id)) return;
+               seen.add(id);
+
+               var entity = graph.hasEntity(id);
+               if (!entity) return;
+
+               if (entity.type === 'node') {
+                   nodes.add(entity);
+               } else if (entity.type === 'way') {
+                   entity.nodes.forEach(collectNodes);
+               } else {
+                   entity.members
+                       .map(function(member) { return member.id; })
+                       .forEach(collectNodes);   // recurse
+               }
+           }
+       }
+
+
+       function utilDisplayName(entity) {
+           var localizedNameKey = 'name:' + utilDetect().locale.toLowerCase().split('-')[0];
+           var name = entity.tags[localizedNameKey] || entity.tags.name || '';
+           var network = entity.tags.cycle_network || entity.tags.network;
+
+           if (!name && entity.tags.ref) {
+               name = entity.tags.ref;
+               if (network) {
+                   name = network + ' ' + name;
+               }
+           }
+
+           return name;
+       }
+
+
+       function utilDisplayNameForPath(entity) {
+           var name = utilDisplayName(entity);
+           var isFirefox = utilDetect().browser.toLowerCase().indexOf('firefox') > -1;
+
+           if (!isFirefox && name && rtlRegex.test(name)) {
+               name = fixRTLTextForSvg(name);
+           }
+
+           return name;
+       }
+
+
+       function utilDisplayType(id) {
+           return {
+               n: t('inspector.node'),
+               w: t('inspector.way'),
+               r: t('inspector.relation')
+           }[id.charAt(0)];
+       }
+
+
+       function utilDisplayLabel(entity, context) {
+           var displayName = utilDisplayName(entity);
+           if (displayName) {
+               // use the display name if there is one
+               return displayName;
+           }
+           var preset = utilPreset(entity, context);
+           if (preset && preset.name()) {
+               // use the preset name if there is a match
+               return preset.name();
+           }
+           // fallback to the display type (node/way/relation)
+           return utilDisplayType(entity.id);
+       }
+
+
+       function utilPreset(entity, context) {
+           return context.presets().match(entity, context.graph());
+       }
+
+
+       function utilEntityRoot(entityType) {
+           return {
+               node: 'n',
+               way: 'w',
+               relation: 'r'
+           }[entityType];
+       }
+
+
+       function utilStringQs(str) {
+           return str.split('&').reduce(function(obj, pair){
+               var parts = pair.split('=');
+               if (parts.length === 2) {
+                   obj[parts[0]] = (null === parts[1]) ? '' : decodeURIComponent(parts[1]);
+               }
+               return obj;
+           }, {});
+       }
+
+
+       function utilQsString(obj, noencode) {
+           // encode everything except special characters used in certain hash parameters:
+           // "/" in map states, ":", ",", {" and "}" in background
+           function softEncode(s) {
+               return encodeURIComponent(s).replace(/(%2F|%3A|%2C|%7B|%7D)/g, decodeURIComponent);
+           }
+
+           return Object.keys(obj).sort().map(function(key) {
+               return encodeURIComponent(key) + '=' + (
+                   noencode ? softEncode(obj[key]) : encodeURIComponent(obj[key]));
+           }).join('&');
+       }
+
+
+       function utilPrefixDOMProperty(property) {
+           var prefixes = ['webkit', 'ms', 'moz', 'o'];
+           var i = -1;
+           var n = prefixes.length;
+           var s = document.body;
+
+           if (property in s)
+               return property;
+
+           property = property.substr(0, 1).toUpperCase() + property.substr(1);
+
+           while (++i < n) {
+               if (prefixes[i] + property in s) {
+                   return prefixes[i] + property;
+               }
+           }
+
+           return false;
+       }
+
+
+       function utilPrefixCSSProperty(property) {
+           var prefixes = ['webkit', 'ms', 'Moz', 'O'];
+           var i = -1;
+           var n = prefixes.length;
+           var s = document.body.style;
+
+           if (property.toLowerCase() in s) {
+               return property.toLowerCase();
+           }
+
+           while (++i < n) {
+               if (prefixes[i] + property in s) {
+                   return '-' + prefixes[i].toLowerCase() + property.replace(/([A-Z])/g, '-$1').toLowerCase();
+               }
+           }
+
+           return false;
+       }
+
+
+       var transformProperty;
+       function utilSetTransform(el, x, y, scale) {
+           var prop = transformProperty = transformProperty || utilPrefixCSSProperty('Transform');
+           var translate = utilDetect().opera ? 'translate('   + x + 'px,' + y + 'px)'
+               : 'translate3d(' + x + 'px,' + y + 'px,0)';
+           return el.style(prop, translate + (scale ? ' scale(' + scale + ')' : ''));
+       }
+
+
+       // Calculates Levenshtein distance between two strings
+       // see:  https://en.wikipedia.org/wiki/Levenshtein_distance
+       // first converts the strings to lowercase and replaces diacritic marks with ascii equivalents.
+       function utilEditDistance(a, b) {
+           a = remove$1(a.toLowerCase());
+           b = remove$1(b.toLowerCase());
+           if (a.length === 0) return b.length;
+           if (b.length === 0) return a.length;
+           var matrix = [];
+           for (var i = 0; i <= b.length; i++) { matrix[i] = [i]; }
+           for (var j = 0; j <= a.length; j++) { matrix[0][j] = j; }
+           for (i = 1; i <= b.length; i++) {
+               for (j = 1; j <= a.length; j++) {
+                   if (b.charAt(i-1) === a.charAt(j-1)) {
+                       matrix[i][j] = matrix[i-1][j-1];
+                   } else {
+                       matrix[i][j] = Math.min(matrix[i-1][j-1] + 1, // substitution
+                           Math.min(matrix[i][j-1] + 1, // insertion
+                           matrix[i-1][j] + 1)); // deletion
+                   }
+               }
+           }
+           return matrix[b.length][a.length];
+       }
+
+
+       // a d3.mouse-alike which
+       // 1. Only works on HTML elements, not SVG
+       // 2. Does not cause style recalculation
+       function utilFastMouse(container) {
+           var rect = container.getBoundingClientRect();
+           var rectLeft = rect.left;
+           var rectTop = rect.top;
+           var clientLeft = +container.clientLeft;
+           var clientTop = +container.clientTop;
+
+           if (textDirection === 'rtl') {
+               rectLeft = 0;
+           }
+           return function(e) {
+               return [
+                   e.clientX - rectLeft - clientLeft,
+                   e.clientY - rectTop - clientTop];
+           };
+       }
+
+
+       function utilAsyncMap(inputs, func, callback) {
+           var remaining = inputs.length;
+           var results = [];
+           var errors = [];
+
+           inputs.forEach(function(d, i) {
+               func(d, function done(err, data) {
+                   errors[i] = err;
+                   results[i] = data;
+                   remaining--;
+                   if (!remaining) callback(errors, results);
+               });
+           });
+       }
+
+
+       // wraps an index to an interval [0..length-1]
+       function utilWrap(index, length) {
+           if (index < 0) {
+               index += Math.ceil(-index/length)*length;
+           }
+           return index % length;
+       }
+
+
+       /**
+        * a replacement for functor
+        *
+        * @param {*} value any value
+        * @returns {Function} a function that returns that value or the value if it's a function
+        */
+       function utilFunctor(value) {
+           if (typeof value === 'function') return value;
+           return function() {
+               return value;
+           };
+       }
+
+
+       function utilNoAuto(selection) {
+           var isText = (selection.size() && selection.node().tagName.toLowerCase() === 'textarea');
+
+           return selection
+               // assign 'new-password' even for non-password fields to prevent browsers (Chrome) ignoring 'off'
+               .attr('autocomplete', 'new-password')
+               .attr('autocorrect', 'off')
+               .attr('autocapitalize', 'off')
+               .attr('spellcheck', isText ? 'true' : 'false');
+       }
+
+
+       // https://stackoverflow.com/questions/194846/is-there-any-kind-of-hash-code-function-in-javascript
+       // https://werxltd.com/wp/2010/05/13/javascript-implementation-of-javas-string-hashcode-method/
+       function utilHashcode(str) {
+           var hash = 0;
+           if (str.length === 0) {
+               return hash;
+           }
+           for (var i = 0; i < str.length; i++) {
+               var char = str.charCodeAt(i);
+               hash = ((hash << 5) - hash) + char;
+               hash = hash & hash; // Convert to 32bit integer
+           }
+           return hash;
+       }
+
+       function utilCleanTags(tags) {
+           var out = {};
+           for (var k in tags) {
+               if (!k) continue;
+               var v = tags[k];
+               if (v !== undefined) {
+                   out[k] = cleanValue(k, v);
+               }
+           }
+
+           return out;
+
+
+           function cleanValue(k, v) {
+               function keepSpaces(k) {
+                   return /_hours|_times|:conditional$/.test(k);
+               }
+
+               function skip(k) {
+                   return /^(description|note|fixme)$/.test(k);
+               }
+
+               if (skip(k)) return v;
+
+               var cleaned = v
+                   .split(';')
+                   .map(function(s) { return s.trim(); })
+                   .join(keepSpaces(k) ? '; ' : ';');
+
+               // The code below is not intended to validate websites and emails.
+               // It is only intended to prevent obvious copy-paste errors. (#2323)
+               // clean website- and email-like tags
+               if (k.indexOf('website') !== -1 ||
+                   k.indexOf('email') !== -1 ||
+                   cleaned.indexOf('http') === 0) {
+                   cleaned = cleaned
+                       .replace(/[\u200B-\u200F\uFEFF]/g, '');  // strip LRM and other zero width chars
+
+               }
+
+               return cleaned;
+           }
+       }
+
+       // Like selection.property('value', ...), but avoids no-op value sets,
+       // which can result in layout/repaint thrashing in some situations.
+       function utilGetSetValue(selection, value) {
+           function d3_selection_value(value) {
+               function valueNull() {
+                   delete this.value;
+               }
+
+               function valueConstant() {
+                   if (this.value !== value) {
+                       this.value = value;
+                   }
+               }
+
+               function valueFunction() {
+                   var x = value.apply(this, arguments);
+                   if (x == null) {
+                       delete this.value;
+                   } else if (this.value !== x) {
+                       this.value = x;
+                   }
+               }
+
+               return value == null
+                   ? valueNull : (typeof value === 'function'
+                   ? valueFunction : valueConstant);
+           }
+
+           if (arguments.length === 1) {
+               return selection.property('value');
+           }
+
+           return selection.each(d3_selection_value(value));
+       }
+
+       function utilKeybinding(namespace) {
+           var _keybindings = {};
+
+
+           function testBindings(isCapturing) {
+               var didMatch = false;
+               var bindings = Object.keys(_keybindings).map(function(id) { return _keybindings[id]; });
+               var i, binding;
+
+               // Most key shortcuts will accept either lower or uppercase ('h' or 'H'),
+               // so we don't strictly match on the shift key, but we prioritize
+               // shifted keybindings first, and fallback to unshifted only if no match.
+               // (This lets us differentiate between '←'/'⇧←' or '⌘Z'/'⌘⇧Z')
+
+               // priority match shifted keybindings first
+               for (i = 0; i < bindings.length; i++) {
+                   binding = bindings[i];
+                   if (!binding.event.modifiers.shiftKey) continue;  // no shift
+                   if (!!binding.capture !== isCapturing) continue;
+                   if (matches(binding, true)) {
+                       binding.callback();
+                       didMatch = true;
+                   }
+               }
+
+               // then unshifted keybindings
+               if (didMatch) return;
+               for (i = 0; i < bindings.length; i++) {
+                   binding = bindings[i];
+                   if (binding.event.modifiers.shiftKey) continue;   // shift
+                   if (!!binding.capture !== isCapturing) continue;
+                   if (matches(binding, false)) {
+                       binding.callback();
+                   }
+               }
+
+
+               function matches(binding, testShift) {
+                   var event$1 = event;
+                   var isMatch = false;
+                   var tryKeyCode = true;
+
+                   // Prefer a match on `KeyboardEvent.key`
+                   if (event$1.key !== undefined) {
+                       tryKeyCode = (event$1.key.charCodeAt(0) > 255);  // outside ISO-Latin-1
+                       isMatch = true;
+
+                       if (binding.event.key === undefined) {
+                           isMatch = false;
+                       } else if (Array.isArray(binding.event.key)) {
+                           if (binding.event.key.map(function(s) { return s.toLowerCase(); }).indexOf(event$1.key.toLowerCase()) === -1)
+                               isMatch = false;
+                       } else {
+                           if (event$1.key.toLowerCase() !== binding.event.key.toLowerCase())
+                               isMatch = false;
+                       }
+                   }
+
+                   // Fallback match on `KeyboardEvent.keyCode`, can happen if:
+                   // - browser doesn't support `KeyboardEvent.key`
+                   // - `KeyboardEvent.key` is outside ISO-Latin-1 range (cyrillic?)
+                   if (!isMatch && tryKeyCode) {
+                       isMatch = (event$1.keyCode === binding.event.keyCode);
+                   }
+
+                   if (!isMatch) return false;
+
+                   // test modifier keys
+                   if (!(event$1.ctrlKey && event$1.altKey)) {  // if both are set, assume AltGr and skip it - #4096
+                       if (event$1.ctrlKey !== binding.event.modifiers.ctrlKey) return false;
+                       if (event$1.altKey !== binding.event.modifiers.altKey) return false;
+                   }
+                   if (event$1.metaKey !== binding.event.modifiers.metaKey) return false;
+                   if (testShift && event$1.shiftKey !== binding.event.modifiers.shiftKey) return false;
+
+                   return true;
+               }
+           }
+
+
+           function capture() {
+               testBindings(true);
+           }
+
+
+           function bubble() {
+               var tagName = d3_select(event.target).node().tagName;
+               if (tagName === 'INPUT' || tagName === 'SELECT' || tagName === 'TEXTAREA') {
+                   return;
+               }
+               testBindings(false);
+           }
+
+
+           function keybinding(selection) {
+               selection = selection || d3_select(document);
+               selection.on('keydown.capture.' + namespace, capture, true);
+               selection.on('keydown.bubble.' + namespace, bubble, false);
+               return keybinding;
+           }
+
+           // was: keybinding.off()
+           keybinding.unbind = function(selection) {
+               _keybindings = [];
+               selection = selection || d3_select(document);
+               selection.on('keydown.capture.' + namespace, null);
+               selection.on('keydown.bubble.' + namespace, null);
+               return keybinding;
+           };
+
+
+           keybinding.clear = function() {
+               _keybindings = {};
+               return keybinding;
+           };
+
+
+           // Remove one or more keycode bindings.
+           keybinding.off = function(codes, capture) {
+               var arr = utilArrayUniq([].concat(codes));
+
+               for (var i = 0; i < arr.length; i++) {
+                   var id = arr[i] + (capture ? '-capture' : '-bubble');
+                   delete _keybindings[id];
+               }
+               return keybinding;
+           };
+
+
+           // Add one or more keycode bindings.
+           keybinding.on = function(codes, callback, capture) {
+               if (typeof callback !== 'function') {
+                   return keybinding.off(codes, capture);
+               }
+
+               var arr = utilArrayUniq([].concat(codes));
+
+               for (var i = 0; i < arr.length; i++) {
+                   var id = arr[i] + (capture ? '-capture' : '-bubble');
+                   var binding = {
+                       id: id,
+                       capture: capture,
+                       callback: callback,
+                       event: {
+                           key: undefined,  // preferred
+                           keyCode: 0,      // fallback
+                           modifiers: {
+                               shiftKey: false,
+                               ctrlKey: false,
+                               altKey: false,
+                               metaKey: false
+                           }
+                       }
+                   };
+
+                   if (_keybindings[id]) {
+                       console.warn('warning: duplicate keybinding for "' + id + '"'); // eslint-disable-line no-console
+                   }
+
+                   _keybindings[id] = binding;
+
+                   var matches = arr[i].toLowerCase().match(/(?:(?:[^+⇧⌃⌥⌘])+|[⇧⌃⌥⌘]|\+\+|^\+$)/g);
+                   for (var j = 0; j < matches.length; j++) {
+                       // Normalise matching errors
+                       if (matches[j] === '++') matches[j] = '+';
+
+                       if (matches[j] in utilKeybinding.modifierCodes) {
+                           var prop = utilKeybinding.modifierProperties[utilKeybinding.modifierCodes[matches[j]]];
+                           binding.event.modifiers[prop] = true;
+                       } else {
+                           binding.event.key = utilKeybinding.keys[matches[j]] || matches[j];
+                           if (matches[j] in utilKeybinding.keyCodes) {
+                               binding.event.keyCode = utilKeybinding.keyCodes[matches[j]];
+                           }
+                       }
+                   }
+               }
+
+               return keybinding;
+           };
+
+
+           return keybinding;
+       }
+
+
+       /*
+        * See https://github.com/keithamus/jwerty
+        */
+
+       utilKeybinding.modifierCodes = {
+           // Shift key, ⇧
+           '⇧': 16, shift: 16,
+           // CTRL key, on Mac: ⌃
+           '⌃': 17, ctrl: 17,
+           // ALT key, on Mac: ⌥ (Alt)
+           '⌥': 18, alt: 18, option: 18,
+           // META, on Mac: ⌘ (CMD), on Windows (Win), on Linux (Super)
+           '⌘': 91, meta: 91, cmd: 91, 'super': 91, win: 91
+       };
+
+       utilKeybinding.modifierProperties = {
+           16: 'shiftKey',
+           17: 'ctrlKey',
+           18: 'altKey',
+           91: 'metaKey'
+       };
+
+       utilKeybinding.keys = {
+           // Backspace key, on Mac: ⌫ (Backspace)
+           '⌫': 'Backspace', backspace: 'Backspace',
+           // Tab Key, on Mac: ⇥ (Tab), on Windows ⇥⇥
+           '⇥': 'Tab', '⇆': 'Tab', tab: 'Tab',
+           // Return key, ↩
+           '↩': 'Enter', 'return': 'Enter', enter: 'Enter', '⌅': 'Enter',
+           // Pause/Break key
+           'pause': 'Pause', 'pause-break': 'Pause',
+           // Caps Lock key, ⇪
+           '⇪': 'CapsLock', caps: 'CapsLock', 'caps-lock': 'CapsLock',
+           // Escape key, on Mac: ⎋, on Windows: Esc
+           '⎋': ['Escape', 'Esc'], escape: ['Escape', 'Esc'], esc: ['Escape', 'Esc'],
+           // Space key
+           space: [' ', 'Spacebar'],
+           // Page-Up key, or pgup, on Mac: ↖
+           '↖': 'PageUp', pgup: 'PageUp', 'page-up': 'PageUp',
+           // Page-Down key, or pgdown, on Mac: ↘
+           '↘': 'PageDown', pgdown: 'PageDown', 'page-down': 'PageDown',
+           // END key, on Mac: ⇟
+           '⇟': 'End', end: 'End',
+           // HOME key, on Mac: ⇞
+           '⇞': 'Home', home: 'Home',
+           // Insert key, or ins
+           ins: 'Insert', insert: 'Insert',
+           // Delete key, on Mac: ⌦ (Delete)
+           '⌦': ['Delete', 'Del'], del: ['Delete', 'Del'], 'delete': ['Delete', 'Del'],
+           // Left Arrow Key, or ←
+           '←': ['ArrowLeft', 'Left'], left: ['ArrowLeft', 'Left'], 'arrow-left': ['ArrowLeft', 'Left'],
+           // Up Arrow Key, or ↑
+           '↑': ['ArrowUp', 'Up'], up: ['ArrowUp', 'Up'], 'arrow-up': ['ArrowUp', 'Up'],
+           // Right Arrow Key, or →
+           '→': ['ArrowRight', 'Right'], right: ['ArrowRight', 'Right'], 'arrow-right': ['ArrowRight', 'Right'],
+           // Up Arrow Key, or ↓
+           '↓': ['ArrowDown', 'Down'], down: ['ArrowDown', 'Down'], 'arrow-down': ['ArrowDown', 'Down'],
+           // odities, stuff for backward compatibility (browsers and code):
+           // Num-Multiply, or *
+           '*': ['*', 'Multiply'], star: ['*', 'Multiply'], asterisk: ['*', 'Multiply'], multiply: ['*', 'Multiply'],
+           // Num-Plus or +
+           '+': ['+', 'Add'], 'plus': ['+', 'Add'],
+           // Num-Subtract, or -
+           '-': ['-', 'Subtract'], subtract: ['-', 'Subtract'], 'dash': ['-', 'Subtract'],
+           // Semicolon
+           semicolon: ';',
+           // = or equals
+           equals: '=',
+           // Comma, or ,
+           comma: ',',
+           // Period, or ., or full-stop
+           period: '.', 'full-stop': '.',
+           // Slash, or /, or forward-slash
+           slash: '/', 'forward-slash': '/',
+           // Tick, or `, or back-quote
+           tick: '`', 'back-quote': '`',
+           // Open bracket, or [
+           'open-bracket': '[',
+           // Back slash, or \
+           'back-slash': '\\',
+           // Close backet, or ]
+           'close-bracket': ']',
+           // Apostrophe, or Quote, or '
+           quote: '\'', apostrophe: '\'',
+           // NUMPAD 0-9
+           'num-0': '0',
+           'num-1': '1',
+           'num-2': '2',
+           'num-3': '3',
+           'num-4': '4',
+           'num-5': '5',
+           'num-6': '6',
+           'num-7': '7',
+           'num-8': '8',
+           'num-9': '9',
+           // F1-F25
+           f1: 'F1',
+           f2: 'F2',
+           f3: 'F3',
+           f4: 'F4',
+           f5: 'F5',
+           f6: 'F6',
+           f7: 'F7',
+           f8: 'F8',
+           f9: 'F9',
+           f10: 'F10',
+           f11: 'F11',
+           f12: 'F12',
+           f13: 'F13',
+           f14: 'F14',
+           f15: 'F15',
+           f16: 'F16',
+           f17: 'F17',
+           f18: 'F18',
+           f19: 'F19',
+           f20: 'F20',
+           f21: 'F21',
+           f22: 'F22',
+           f23: 'F23',
+           f24: 'F24',
+           f25: 'F25'
+       };
+
+       utilKeybinding.keyCodes = {
+           // Backspace key, on Mac: ⌫ (Backspace)
+           '⌫': 8, backspace: 8,
+           // Tab Key, on Mac: ⇥ (Tab), on Windows ⇥⇥
+           '⇥': 9, '⇆': 9, tab: 9,
+           // Return key, ↩
+           '↩': 13, 'return': 13, enter: 13, '⌅': 13,
+           // Pause/Break key
+           'pause': 19, 'pause-break': 19,
+           // Caps Lock key, ⇪
+           '⇪': 20, caps: 20, 'caps-lock': 20,
+           // Escape key, on Mac: ⎋, on Windows: Esc
+           '⎋': 27, escape: 27, esc: 27,
+           // Space key
+           space: 32,
+           // Page-Up key, or pgup, on Mac: ↖
+           '↖': 33, pgup: 33, 'page-up': 33,
+           // Page-Down key, or pgdown, on Mac: ↘
+           '↘': 34, pgdown: 34, 'page-down': 34,
+           // END key, on Mac: ⇟
+           '⇟': 35, end: 35,
+           // HOME key, on Mac: ⇞
+           '⇞': 36, home: 36,
+           // Insert key, or ins
+           ins: 45, insert: 45,
+           // Delete key, on Mac: ⌦ (Delete)
+           '⌦': 46, del: 46, 'delete': 46,
+           // Left Arrow Key, or ←
+           '←': 37, left: 37, 'arrow-left': 37,
+           // Up Arrow Key, or ↑
+           '↑': 38, up: 38, 'arrow-up': 38,
+           // Right Arrow Key, or →
+           '→': 39, right: 39, 'arrow-right': 39,
+           // Up Arrow Key, or ↓
+           '↓': 40, down: 40, 'arrow-down': 40,
+           // odities, printing characters that come out wrong:
+           // Firefox Equals
+           'ffequals': 61,
+           // Num-Multiply, or *
+           '*': 106, star: 106, asterisk: 106, multiply: 106,
+           // Num-Plus or +
+           '+': 107, 'plus': 107,
+           // Num-Subtract, or -
+           '-': 109, subtract: 109,
+           // Firefox Plus
+           'ffplus': 171,
+           // Firefox Minus
+           'ffminus': 173,
+           // Semicolon
+           ';': 186, semicolon: 186,
+           // = or equals
+           '=': 187, 'equals': 187,
+           // Comma, or ,
+           ',': 188, comma: 188,
+           // Dash / Underscore key
+           'dash': 189,
+           // Period, or ., or full-stop
+           '.': 190, period: 190, 'full-stop': 190,
+           // Slash, or /, or forward-slash
+           '/': 191, slash: 191, 'forward-slash': 191,
+           // Tick, or `, or back-quote
+           '`': 192, tick: 192, 'back-quote': 192,
+           // Open bracket, or [
+           '[': 219, 'open-bracket': 219,
+           // Back slash, or \
+           '\\': 220, 'back-slash': 220,
+           // Close backet, or ]
+           ']': 221, 'close-bracket': 221,
+           // Apostrophe, or Quote, or '
+           '\'': 222, quote: 222, apostrophe: 222
+       };
+
+       // NUMPAD 0-9
+       var i$2 = 95, n = 0;
+       while (++i$2 < 106) {
+           utilKeybinding.keyCodes['num-' + n] = i$2;
+           ++n;
+       }
+
+       // 0-9
+       i$2 = 47; n = 0;
+       while (++i$2 < 58) {
+           utilKeybinding.keyCodes[n] = i$2;
+           ++n;
+       }
+
+       // F1-F25
+       i$2 = 111; n = 1;
+       while (++i$2 < 136) {
+           utilKeybinding.keyCodes['f' + n] = i$2;
+           ++n;
+       }
+
+       // a-z
+       i$2 = 64;
+       while (++i$2 < 91) {
+           utilKeybinding.keyCodes[String.fromCharCode(i$2).toLowerCase()] = i$2;
+       }
+
+       function utilObjectOmit(obj, omitKeys) {
+           return Object.keys(obj).reduce(function(result, key) {
+               if (omitKeys.indexOf(key) === -1) {
+                   result[key] = obj[key];  // keep
+               }
+               return result;
+           }, {});
+       }
+
+       // Copies a variable number of methods from source to target.
+       function utilRebind(target, source) {
+           var i = 1, n = arguments.length, method;
+           while (++i < n) {
+               target[method = arguments[i]] = d3_rebind(target, source, source[method]);
+           }
+           return target;
+       }
+
+       // Method is assumed to be a standard D3 getter-setter:
+       // If passed with no arguments, gets the value.
+       // If passed with arguments, sets the value and returns the target.
+       function d3_rebind(target, source, method) {
+           return function() {
+               var value = method.apply(source, arguments);
+               return value === source ? target : value;
+           };
+       }
+
+       // A per-domain session mutex backed by a cookie and dead man's
+       // switch. If the session crashes, the mutex will auto-release
+       // after 5 seconds.
+
+       // This accepts a string and returns an object that complies with utilSessionMutexType
+       function utilSessionMutex(name) {
+           var mutex = {};
+           var intervalID;
+
+           function renew() {
+               var expires = new Date();
+               expires.setSeconds(expires.getSeconds() + 5);
+               document.cookie = name + '=1; expires=' + expires.toUTCString();
+           }
+
+           mutex.lock = function () {
+               if (intervalID) return true;
+               var cookie = document.cookie.replace(new RegExp('(?:(?:^|.*;)\\s*' + name + '\\s*\\=\\s*([^;]*).*$)|^.*$'), '$1');
+               if (cookie) return false;
+               renew();
+               intervalID = window.setInterval(renew, 4000);
+               return true;
+           };
+
+           mutex.unlock = function () {
+               if (!intervalID) return;
+               document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT';
+               clearInterval(intervalID);
+               intervalID = null;
+           };
+
+           mutex.locked = function () {
+               return !!intervalID;
+           };
+
+           return mutex;
+       }
+
+       function utilTiler() {
+           var _size = [256, 256];
+           var _scale = 256;
+           var _tileSize = 256;
+           var _zoomExtent = [0, 20];
+           var _translate = [_size[0] / 2, _size[1] / 2];
+           var _margin = 0;
+           var _skipNullIsland = false;
+
+
+           function clamp(num, min, max) {
+               return Math.max(min, Math.min(num, max));
+           }
+
+
+           function nearNullIsland(tile) {
+               var x = tile[0];
+               var y = tile[1];
+               var z = tile[2];
+               if (z >= 7) {
+                   var center = Math.pow(2, z - 1);
+                   var width = Math.pow(2, z - 6);
+                   var min = center - (width / 2);
+                   var max = center + (width / 2) - 1;
+                   return x >= min && x <= max && y >= min && y <= max;
+               }
+               return false;
+           }
+
+
+           function tiler() {
+               var z = geoScaleToZoom(_scale / (2 * Math.PI), _tileSize);
+               var z0 = clamp(Math.round(z), _zoomExtent[0], _zoomExtent[1]);
+               var tileMin = 0;
+               var tileMax = Math.pow(2, z0) - 1;
+               var log2ts = Math.log(_tileSize) * Math.LOG2E;
+               var k = Math.pow(2, z - z0 + log2ts);
+               var origin = [
+                   (_translate[0] - _scale / 2) / k,
+                   (_translate[1] - _scale / 2) / k
+               ];
+
+               var cols = d3_range(
+                   clamp(Math.floor(-origin[0]) - _margin,               tileMin, tileMax + 1),
+                   clamp(Math.ceil(_size[0] / k - origin[0]) + _margin,  tileMin, tileMax + 1)
+               );
+               var rows = d3_range(
+                   clamp(Math.floor(-origin[1]) - _margin,               tileMin, tileMax + 1),
+                   clamp(Math.ceil(_size[1] / k - origin[1]) + _margin,  tileMin, tileMax + 1)
+               );
+
+               var tiles = [];
+               for (var i = 0; i < rows.length; i++) {
+                   var y = rows[i];
+                   for (var j = 0; j < cols.length; j++) {
+                       var x = cols[j];
+
+                       if (i >= _margin && i <= rows.length - _margin &&
+                           j >= _margin && j <= cols.length - _margin) {
+                           tiles.unshift([x, y, z0]);  // tiles in view at beginning
+                       } else {
+                           tiles.push([x, y, z0]);     // tiles in margin at the end
+                       }
+                   }
+               }
+
+               tiles.translate = origin;
+               tiles.scale = k;
+
+               return tiles;
+           }
+
+
+           /**
+            * getTiles() returns an array of tiles that cover the map view
+            */
+           tiler.getTiles = function(projection) {
+               var origin = [
+                   projection.scale() * Math.PI - projection.translate()[0],
+                   projection.scale() * Math.PI - projection.translate()[1]
+               ];
+
+               this
+                   .size(projection.clipExtent()[1])
+                   .scale(projection.scale() * 2 * Math.PI)
+                   .translate(projection.translate());
+
+               var tiles = tiler();
+               var ts = tiles.scale;
+
+               return tiles
+                   .map(function(tile) {
+                       if (_skipNullIsland && nearNullIsland(tile)) {
+                           return false;
+                       }
+                       var x = tile[0] * ts - origin[0];
+                       var y = tile[1] * ts - origin[1];
+                       return {
+                           id: tile.toString(),
+                           xyz: tile,
+                           extent: geoExtent(
+                               projection.invert([x, y + ts]),
+                               projection.invert([x + ts, y])
+                           )
+                       };
+                   }).filter(Boolean);
+           };
+
+
+           /**
+            * getGeoJSON() returns a FeatureCollection for debugging tiles
+            */
+           tiler.getGeoJSON = function(projection) {
+               var features = tiler.getTiles(projection).map(function(tile) {
+                   return {
+                       type: 'Feature',
+                       properties: {
+                           id: tile.id,
+                           name: tile.id
+                       },
+                       geometry: {
+                           type: 'Polygon',
+                           coordinates: [ tile.extent.polygon() ]
+                       }
+                   };
+               });
+
+               return {
+                   type: 'FeatureCollection',
+                   features: features
+               };
+           };
+
+
+           tiler.tileSize = function(val) {
+               if (!arguments.length) return _tileSize;
+               _tileSize = val;
+               return tiler;
+           };
+
+
+           tiler.zoomExtent = function(val) {
+               if (!arguments.length) return _zoomExtent;
+               _zoomExtent = val;
+               return tiler;
+           };
+
+
+           tiler.size = function(val) {
+               if (!arguments.length) return _size;
+               _size = val;
+               return tiler;
+           };
+
+
+           tiler.scale = function(val) {
+               if (!arguments.length) return _scale;
+               _scale = val;
+               return tiler;
+           };
+
+
+           tiler.translate = function(val) {
+               if (!arguments.length) return _translate;
+               _translate = val;
+               return tiler;
+           };
+
+
+           // number to extend the rows/columns beyond those covering the viewport
+           tiler.margin = function(val) {
+               if (!arguments.length) return _margin;
+               _margin = +val;
+               return tiler;
+           };
+
+
+           tiler.skipNullIsland = function(val) {
+               if (!arguments.length) return _skipNullIsland;
+               _skipNullIsland = val;
+               return tiler;
+           };
+
+
+           return tiler;
+       }
+
+       function utilTriggerEvent(target, type) {
+           target.each(function() {
+               var evt = document.createEvent('HTMLEvents');
+               evt.initEvent(type, true, true);
+               this.dispatchEvent(evt);
+           });
+       }
+
+       function osmEntity(attrs) {
+           // For prototypal inheritance.
+           if (this instanceof osmEntity) return;
+
+           // Create the appropriate subtype.
+           if (attrs && attrs.type) {
+               return osmEntity[attrs.type].apply(this, arguments);
+           } else if (attrs && attrs.id) {
+               return osmEntity[osmEntity.id.type(attrs.id)].apply(this, arguments);
+           }
+
+           // Initialize a generic Entity (used only in tests).
+           return (new osmEntity()).initialize(arguments);
+       }
+
+
+       osmEntity.id = function(type) {
+           return osmEntity.id.fromOSM(type, osmEntity.id.next[type]--);
+       };
+
+
+       osmEntity.id.next = {
+           changeset: -1, node: -1, way: -1, relation: -1
+       };
+
+
+       osmEntity.id.fromOSM = function(type, id) {
+           return type[0] + id;
+       };
+
+
+       osmEntity.id.toOSM = function(id) {
+           return id.slice(1);
+       };
+
+
+       osmEntity.id.type = function(id) {
+           return { 'c': 'changeset', 'n': 'node', 'w': 'way', 'r': 'relation' }[id[0]];
+       };
+
+
+       // A function suitable for use as the second argument to d3.selection#data().
+       osmEntity.key = function(entity) {
+           return entity.id + 'v' + (entity.v || 0);
+       };
+
+       var _deprecatedTagValuesByKey;
+
+       osmEntity.deprecatedTagValuesByKey = function() {
+           if (!_deprecatedTagValuesByKey) {
+               _deprecatedTagValuesByKey = {};
+               dataDeprecated.forEach(function(d) {
+                   var oldKeys = Object.keys(d.old);
+                   if (oldKeys.length === 1) {
+                       var oldKey = oldKeys[0];
+                       var oldValue = d.old[oldKey];
+                       if (oldValue !== '*') {
+                           if (!_deprecatedTagValuesByKey[oldKey]) {
+                               _deprecatedTagValuesByKey[oldKey] = [oldValue];
+                           } else {
+                               _deprecatedTagValuesByKey[oldKey].push(oldValue);
+                           }
+                       }
+                   }
+               });
+           }
+           return _deprecatedTagValuesByKey;
+       };
+
+
+       osmEntity.prototype = {
+
+           tags: {},
+
+
+           initialize: function(sources) {
+               for (var i = 0; i < sources.length; ++i) {
+                   var source = sources[i];
+                   for (var prop in source) {
+                       if (Object.prototype.hasOwnProperty.call(source, prop)) {
+                           if (source[prop] === undefined) {
+                               delete this[prop];
+                           } else {
+                               this[prop] = source[prop];
+                           }
+                       }
+                   }
+               }
+
+               if (!this.id && this.type) {
+                   this.id = osmEntity.id(this.type);
+               }
+               if (!this.hasOwnProperty('visible')) {
+                   this.visible = true;
+               }
+
+               return this;
+           },
+
+
+           copy: function(resolver, copies) {
+               if (copies[this.id])
+                   return copies[this.id];
+
+               var copy = osmEntity(this, { id: undefined, user: undefined, version: undefined });
+               copies[this.id] = copy;
+
+               return copy;
+           },
+
+
+           osmId: function() {
+               return osmEntity.id.toOSM(this.id);
+           },
+
+
+           isNew: function() {
+               return this.osmId() < 0;
+           },
+
+
+           update: function(attrs) {
+               return osmEntity(this, attrs, { v: 1 + (this.v || 0) });
+           },
+
+
+           mergeTags: function(tags) {
+               var merged = Object.assign({}, this.tags);   // shallow copy
+               var changed = false;
+               for (var k in tags) {
+                   var t1 = merged[k];
+                   var t2 = tags[k];
+                   if (!t1) {
+                       changed = true;
+                       merged[k] = t2;
+                   } else if (t1 !== t2) {
+                       changed = true;
+                       merged[k] = utilArrayUnion(t1.split(/;\s*/), t2.split(/;\s*/)).join(';');
+                   }
+               }
+               return changed ? this.update({ tags: merged }) : this;
+           },
+
+
+           intersects: function(extent, resolver) {
+               return this.extent(resolver).intersects(extent);
+           },
+
+
+           hasNonGeometryTags: function() {
+               return Object.keys(this.tags).some(function(k) { return k !== 'area'; });
+           },
+
+           hasParentRelations: function(resolver) {
+               return resolver.parentRelations(this).length > 0;
+           },
+
+           hasInterestingTags: function() {
+               return Object.keys(this.tags).some(osmIsInterestingTag);
+           },
+
+           hasWikidata: function() {
+               return !!this.tags.wikidata || !!this.tags['brand:wikidata'];
+           },
+
+           isHighwayIntersection: function() {
+               return false;
+           },
+
+           isDegenerate: function() {
+               return true;
+           },
+
+           deprecatedTags: function() {
+               var tags = this.tags;
+
+               // if there are no tags, none can be deprecated
+               if (Object.keys(tags).length === 0) return [];
+
+               var deprecated = [];
+               dataDeprecated.forEach(function(d) {
+                   var matchesDeprecatedTags = Object.keys(d.old).every(function(key) {
+                       if (!tags[key]) return false;
+                       if (d.old[key] === '*') return true;
+
+                       var vals = tags[key].split(';').filter(Boolean);
+                       if (vals.length === 0) {
+                           return false;
+                       } else if (vals.length > 1) {
+                           return vals.indexOf(d.old[key]) !== -1;
+                       } else {
+                           if (tags[key] === d.old[key]) {
+                               if (d.old[key] === d.replace[key]) {
+                                   return !Object.keys(d.replace).every(function(key) {
+                                       return tags[key] === d.replace[key];
+                                   });
+                               } else {
+                                   return true;
+                               }
+                           }
+                       }
+                       return false;
+                   });
+                   if (matchesDeprecatedTags) {
+                       deprecated.push(d);
+                   }
+               });
+
+               return deprecated;
+           }
+       };
+
+       function osmLanes(entity) {
+           if (entity.type !== 'way') return null;
+           if (!entity.tags.highway) return null;
+
+           var tags = entity.tags;
+           var isOneWay = entity.isOneWay();
+           var laneCount = getLaneCount(tags, isOneWay);
+           var maxspeed = parseMaxspeed(tags);
+
+           var laneDirections = parseLaneDirections(tags, isOneWay, laneCount);
+           var forward = laneDirections.forward;
+           var backward = laneDirections.backward;
+           var bothways = laneDirections.bothways;
+
+           // parse the piped string 'x|y|z' format
+           var turnLanes = {};
+           turnLanes.unspecified = parseTurnLanes(tags['turn:lanes']);
+           turnLanes.forward = parseTurnLanes(tags['turn:lanes:forward']);
+           turnLanes.backward = parseTurnLanes(tags['turn:lanes:backward']);
+
+           var maxspeedLanes = {};
+           maxspeedLanes.unspecified = parseMaxspeedLanes(tags['maxspeed:lanes'], maxspeed);
+           maxspeedLanes.forward = parseMaxspeedLanes(tags['maxspeed:lanes:forward'], maxspeed);
+           maxspeedLanes.backward = parseMaxspeedLanes(tags['maxspeed:lanes:backward'], maxspeed);
+
+           var psvLanes = {};
+           psvLanes.unspecified = parseMiscLanes(tags['psv:lanes']);
+           psvLanes.forward = parseMiscLanes(tags['psv:lanes:forward']);
+           psvLanes.backward = parseMiscLanes(tags['psv:lanes:backward']);
+
+           var busLanes = {};
+           busLanes.unspecified = parseMiscLanes(tags['bus:lanes']);
+           busLanes.forward = parseMiscLanes(tags['bus:lanes:forward']);
+           busLanes.backward = parseMiscLanes(tags['bus:lanes:backward']);
+
+           var taxiLanes = {};
+           taxiLanes.unspecified = parseMiscLanes(tags['taxi:lanes']);
+           taxiLanes.forward = parseMiscLanes(tags['taxi:lanes:forward']);
+           taxiLanes.backward = parseMiscLanes(tags['taxi:lanes:backward']);
+
+           var hovLanes = {};
+           hovLanes.unspecified = parseMiscLanes(tags['hov:lanes']);
+           hovLanes.forward = parseMiscLanes(tags['hov:lanes:forward']);
+           hovLanes.backward = parseMiscLanes(tags['hov:lanes:backward']);
+
+           var hgvLanes = {};
+           hgvLanes.unspecified = parseMiscLanes(tags['hgv:lanes']);
+           hgvLanes.forward = parseMiscLanes(tags['hgv:lanes:forward']);
+           hgvLanes.backward = parseMiscLanes(tags['hgv:lanes:backward']);
+
+           var bicyclewayLanes = {};
+           bicyclewayLanes.unspecified = parseBicycleWay(tags['bicycleway:lanes']);
+           bicyclewayLanes.forward = parseBicycleWay(tags['bicycleway:lanes:forward']);
+           bicyclewayLanes.backward = parseBicycleWay(tags['bicycleway:lanes:backward']);
+
+           var lanesObj = {
+               forward: [],
+               backward: [],
+               unspecified: []
+           };
+
+           // map forward/backward/unspecified of each lane type to lanesObj
+           mapToLanesObj(lanesObj, turnLanes, 'turnLane');
+           mapToLanesObj(lanesObj, maxspeedLanes, 'maxspeed');
+           mapToLanesObj(lanesObj, psvLanes, 'psv');
+           mapToLanesObj(lanesObj, busLanes, 'bus');
+           mapToLanesObj(lanesObj, taxiLanes, 'taxi');
+           mapToLanesObj(lanesObj, hovLanes, 'hov');
+           mapToLanesObj(lanesObj, hgvLanes, 'hgv');
+           mapToLanesObj(lanesObj, bicyclewayLanes, 'bicycleway');
+
+           return {
+               metadata: {
+                   count: laneCount,
+                   oneway: isOneWay,
+                   forward: forward,
+                   backward: backward,
+                   bothways: bothways,
+                   turnLanes: turnLanes,
+                   maxspeed: maxspeed,
+                   maxspeedLanes: maxspeedLanes,
+                   psvLanes: psvLanes,
+                   busLanes: busLanes,
+                   taxiLanes: taxiLanes,
+                   hovLanes: hovLanes,
+                   hgvLanes: hgvLanes,
+                   bicyclewayLanes: bicyclewayLanes
+               },
+               lanes: lanesObj
+           };
+       }
+
+
+       function getLaneCount(tags, isOneWay) {
+           var count;
+           if (tags.lanes) {
+               count = parseInt(tags.lanes, 10);
+               if (count > 0) {
+                   return count;
+               }
+           }
+
+
+           switch (tags.highway) {
+               case 'trunk':
+               case 'motorway':
+                   count = isOneWay ? 2 : 4;
+                   break;
+               default:
+                   count = isOneWay ? 1 : 2;
+                   break;
+           }
+
+           return count;
+       }
+
+
+       function parseMaxspeed(tags) {
+           var maxspeed = tags.maxspeed;
+           if (!maxspeed) return;
+
+           var maxspeedRegex = /^([0-9][\.0-9]+?)(?:[ ]?(?:km\/h|kmh|kph|mph|knots))?$/;
+           if (!maxspeedRegex.test(maxspeed)) return;
+
+           return parseInt(maxspeed, 10);
+       }
+
+
+       function parseLaneDirections(tags, isOneWay, laneCount) {
+           var forward = parseInt(tags['lanes:forward'], 10);
+           var backward = parseInt(tags['lanes:backward'], 10);
+           var bothways = parseInt(tags['lanes:both_ways'], 10) > 0 ? 1 : 0;
+
+           if (parseInt(tags.oneway, 10) === -1) {
+               forward = 0;
+               bothways = 0;
+               backward = laneCount;
+           }
+           else if (isOneWay) {
+               forward = laneCount;
+               bothways = 0;
+               backward = 0;
+           }
+           else if (isNaN(forward) && isNaN(backward)) {
+               backward = Math.floor((laneCount - bothways) / 2);
+               forward = laneCount - bothways - backward;
+           }
+           else if (isNaN(forward)) {
+               if (backward > laneCount - bothways) {
+                   backward = laneCount - bothways;
+               }
+               forward = laneCount - bothways - backward;
+           }
+           else if (isNaN(backward)) {
+               if (forward > laneCount - bothways) {
+                   forward = laneCount - bothways;
+               }
+               backward = laneCount - bothways - forward;
+           }
+           return {
+               forward: forward,
+               backward: backward,
+               bothways: bothways
+           };
+       }
+
+
+       function parseTurnLanes(tag){
+           if (!tag) return;
+
+           var validValues = [
+               'left', 'slight_left', 'sharp_left', 'through', 'right', 'slight_right',
+               'sharp_right', 'reverse', 'merge_to_left', 'merge_to_right', 'none'
+           ];
+
+           return tag.split('|')
+               .map(function (s) {
+                   if (s === '') s = 'none';
+                   return s.split(';')
+                       .map(function (d) {
+                           return validValues.indexOf(d) === -1 ? 'unknown': d;
+                       });
+               });
+       }
+
+
+       function parseMaxspeedLanes(tag, maxspeed) {
+           if (!tag) return;
+
+           return tag.split('|')
+               .map(function (s) {
+                   if (s === 'none') return s;
+                   var m = parseInt(s, 10);
+                   if (s === '' || m === maxspeed) return null;
+                   return isNaN(m) ? 'unknown': m;
+               });
+       }
+
+
+       function parseMiscLanes(tag) {
+           if (!tag) return;
+
+           var validValues = [
+               'yes', 'no', 'designated'
+           ];
+
+           return tag.split('|')
+               .map(function (s) {
+                   if (s === '') s = 'no';
+                   return validValues.indexOf(s) === -1 ? 'unknown': s;
+               });
+       }
+
+
+       function parseBicycleWay(tag) {
+           if (!tag) return;
+
+           var validValues = [
+               'yes', 'no', 'designated', 'lane'
+           ];
+
+           return tag.split('|')
+               .map(function (s) {
+                   if (s === '') s = 'no';
+                   return validValues.indexOf(s) === -1 ? 'unknown': s;
+               });
+       }
+
+
+       function mapToLanesObj(lanesObj, data, key) {
+           if (data.forward) data.forward.forEach(function(l, i) {
+               if (!lanesObj.forward[i]) lanesObj.forward[i] = {};
+               lanesObj.forward[i][key] = l;
+           });
+           if (data.backward) data.backward.forEach(function(l, i) {
+               if (!lanesObj.backward[i]) lanesObj.backward[i] = {};
+               lanesObj.backward[i][key] = l;
+           });
+           if (data.unspecified) data.unspecified.forEach(function(l, i) {
+               if (!lanesObj.unspecified[i]) lanesObj.unspecified[i] = {};
+               lanesObj.unspecified[i][key] = l;
+           });
+       }
+
+       function osmWay() {
+           if (!(this instanceof osmWay)) {
+               return (new osmWay()).initialize(arguments);
+           } else if (arguments.length) {
+               this.initialize(arguments);
+           }
+       }
+
+
+       osmEntity.way = osmWay;
+
+       osmWay.prototype = Object.create(osmEntity.prototype);
+
+
+       Object.assign(osmWay.prototype, {
+           type: 'way',
+           nodes: [],
+
+
+           copy: function(resolver, copies) {
+               if (copies[this.id]) return copies[this.id];
+
+               var copy = osmEntity.prototype.copy.call(this, resolver, copies);
+
+               var nodes = this.nodes.map(function(id) {
+                   return resolver.entity(id).copy(resolver, copies).id;
+               });
+
+               copy = copy.update({ nodes: nodes });
+               copies[this.id] = copy;
+
+               return copy;
+           },
+
+
+           extent: function(resolver) {
+               return resolver.transient(this, 'extent', function() {
+                   var extent = geoExtent();
+                   for (var i = 0; i < this.nodes.length; i++) {
+                       var node = resolver.hasEntity(this.nodes[i]);
+                       if (node) {
+                           extent._extend(node.extent());
+                       }
+                   }
+                   return extent;
+               });
+           },
+
+
+           first: function() {
+               return this.nodes[0];
+           },
+
+
+           last: function() {
+               return this.nodes[this.nodes.length - 1];
+           },
+
+
+           contains: function(node) {
+               return this.nodes.indexOf(node) >= 0;
+           },
+
+
+           affix: function(node) {
+               if (this.nodes[0] === node) return 'prefix';
+               if (this.nodes[this.nodes.length - 1] === node) return 'suffix';
+           },
+
+
+           layer: function() {
+               // explicit layer tag, clamp between -10, 10..
+               if (isFinite(this.tags.layer)) {
+                   return Math.max(-10, Math.min(+(this.tags.layer), 10));
+               }
+
+               // implied layer tag..
+               if (this.tags.covered === 'yes') return -1;
+               if (this.tags.location === 'overground') return 1;
+               if (this.tags.location === 'underground') return -1;
+               if (this.tags.location === 'underwater') return -10;
+
+               if (this.tags.power === 'line') return 10;
+               if (this.tags.power === 'minor_line') return 10;
+               if (this.tags.aerialway) return 10;
+               if (this.tags.bridge) return 1;
+               if (this.tags.cutting) return -1;
+               if (this.tags.tunnel) return -1;
+               if (this.tags.waterway) return -1;
+               if (this.tags.man_made === 'pipeline') return -10;
+               if (this.tags.boundary) return -10;
+               return 0;
+           },
+
+
+           isOneWay: function() {
+               // explicit oneway tag..
+               var values = {
+                   'yes': true,
+                   '1': true,
+                   '-1': true,
+                   'reversible': true,
+                   'alternating': true,
+                   'no': false,
+                   '0': false
+               };
+               if (values[this.tags.oneway] !== undefined) {
+                   return values[this.tags.oneway];
+               }
+
+               // implied oneway tag..
+               for (var key in this.tags) {
+                   if (key in osmOneWayTags && (this.tags[key] in osmOneWayTags[key]))
+                       return true;
+               }
+               return false;
+           },
+
+           // Some identifier for tag that implies that this way is "sided",
+           // i.e. the right side is the 'inside' (e.g. the right side of a
+           // natural=cliff is lower).
+           sidednessIdentifier: function() {
+               for (var key in this.tags) {
+                   var value = this.tags[key];
+                   if (key in osmRightSideIsInsideTags && (value in osmRightSideIsInsideTags[key])) {
+                       if (osmRightSideIsInsideTags[key][value] === true) {
+                           return key;
+                       } else {
+                           // if the map's value is something other than a
+                           // literal true, we should use it so we can
+                           // special case some keys (e.g. natural=coastline
+                           // is handled differently to other naturals).
+                           return osmRightSideIsInsideTags[key][value];
+                       }
+                   }
+               }
+
+               return null;
+           },
+
+           isSided: function() {
+               if (this.tags.two_sided === 'yes') {
+                   return false;
+               }
+
+               return this.sidednessIdentifier() !== null;
+           },
+
+           lanes: function() {
+               return osmLanes(this);
+           },
+
+
+           isClosed: function() {
+               return this.nodes.length > 1 && this.first() === this.last();
+           },
+
+
+           isConvex: function(resolver) {
+               if (!this.isClosed() || this.isDegenerate()) return null;
+
+               var nodes = utilArrayUniq(resolver.childNodes(this));
+               var coords = nodes.map(function(n) { return n.loc; });
+               var curr = 0;
+               var prev = 0;
+
+               for (var i = 0; i < coords.length; i++) {
+                   var o = coords[(i+1) % coords.length];
+                   var a = coords[i];
+                   var b = coords[(i+2) % coords.length];
+                   var res = geoVecCross(a, b, o);
+
+                   curr = (res > 0) ? 1 : (res < 0) ? -1 : 0;
+                   if (curr === 0) {
+                       continue;
+                   } else if (prev && curr !== prev) {
+                       return false;
+                   }
+                   prev = curr;
+               }
+               return true;
+           },
+
+           // returns an object with the tag that implies this is an area, if any
+           tagSuggestingArea: function() {
+               if (this.tags.area === 'yes') return { area: 'yes' };
+               if (this.tags.area === 'no') return null;
+
+               // `highway` and `railway` are typically linear features, but there
+               // are a few exceptions that should be treated as areas, even in the
+               // absence of a proper `area=yes` or `areaKeys` tag.. see #4194
+               var lineKeys = {
+                   highway: {
+                       rest_area: true,
+                       services: true
+                   },
+                   railway: {
+                       roundhouse: true,
+                       station: true,
+                       traverser: true,
+                       turntable: true,
+                       wash: true
+                   }
+               };
+               var returnTags = {};
+               for (var key in this.tags) {
+                   if (key in osmAreaKeys && !(this.tags[key] in osmAreaKeys[key])) {
+                       returnTags[key] = this.tags[key];
+                       return returnTags;
+                   }
+                   if (key in lineKeys && this.tags[key] in lineKeys[key]) {
+                       returnTags[key] = this.tags[key];
+                       return returnTags;
+                   }
+               }
+               return null;
+           },
+
+           isArea: function() {
+               if (this.tags.area === 'yes')
+                   return true;
+               if (!this.isClosed() || this.tags.area === 'no')
+                   return false;
+               return this.tagSuggestingArea() !== null;
+           },
+
+
+           isDegenerate: function() {
+               return (new Set(this.nodes).size < (this.isArea() ? 3 : 2));
+           },
+
+
+           areAdjacent: function(n1, n2) {
+               for (var i = 0; i < this.nodes.length; i++) {
+                   if (this.nodes[i] === n1) {
+                       if (this.nodes[i - 1] === n2) return true;
+                       if (this.nodes[i + 1] === n2) return true;
+                   }
+               }
+               return false;
+           },
+
+
+           geometry: function(graph) {
+               return graph.transient(this, 'geometry', function() {
+                   return this.isArea() ? 'area' : 'line';
+               });
+           },
+
+
+           // If this way is not closed, append the beginning node to the end of the nodelist to close it.
+           close: function() {
+               if (this.isClosed() || !this.nodes.length) return this;
+
+               var nodes = this.nodes.slice();
+               nodes = nodes.filter(noRepeatNodes);
+               nodes.push(nodes[0]);
+               return this.update({ nodes: nodes });
+           },
+
+
+           // If this way is closed, remove any connector nodes from the end of the nodelist to unclose it.
+           unclose: function() {
+               if (!this.isClosed()) return this;
+
+               var nodes = this.nodes.slice();
+               var connector = this.first();
+               var i = nodes.length - 1;
+
+               // remove trailing connectors..
+               while (i > 0 && nodes.length > 1 && nodes[i] === connector) {
+                   nodes.splice(i, 1);
+                   i = nodes.length - 1;
+               }
+
+               nodes = nodes.filter(noRepeatNodes);
+               return this.update({ nodes: nodes });
+           },
+
+
+           // Adds a node (id) in front of the node which is currently at position index.
+           // If index is undefined, the node will be added to the end of the way for linear ways,
+           //   or just before the final connecting node for circular ways.
+           // Consecutive duplicates are eliminated including existing ones.
+           // Circularity is always preserved when adding a node.
+           addNode: function(id, index) {
+               var nodes = this.nodes.slice();
+               var isClosed = this.isClosed();
+               var max = isClosed ? nodes.length - 1 : nodes.length;
+
+               if (index === undefined) {
+                   index = max;
+               }
+
+               if (index < 0 || index > max) {
+                   throw new RangeError('index ' + index + ' out of range 0..' + max);
+               }
+
+               // If this is a closed way, remove all connector nodes except the first one
+               // (there may be duplicates) and adjust index if necessary..
+               if (isClosed) {
+                   var connector = this.first();
+
+                   // leading connectors..
+                   var i = 1;
+                   while (i < nodes.length && nodes.length > 2 && nodes[i] === connector) {
+                       nodes.splice(i, 1);
+                       if (index > i) index--;
+                   }
+
+                   // trailing connectors..
+                   i = nodes.length - 1;
+                   while (i > 0 && nodes.length > 1 && nodes[i] === connector) {
+                       nodes.splice(i, 1);
+                       if (index > i) index--;
+                       i = nodes.length - 1;
+                   }
+               }
+
+               nodes.splice(index, 0, id);
+               nodes = nodes.filter(noRepeatNodes);
+
+               // If the way was closed before, append a connector node to keep it closed..
+               if (isClosed && (nodes.length === 1 || nodes[0] !== nodes[nodes.length - 1])) {
+                   nodes.push(nodes[0]);
+               }
+
+               return this.update({ nodes: nodes });
+           },
+
+
+           // Replaces the node which is currently at position index with the given node (id).
+           // Consecutive duplicates are eliminated including existing ones.
+           // Circularity is preserved when updating a node.
+           updateNode: function(id, index) {
+               var nodes = this.nodes.slice();
+               var isClosed = this.isClosed();
+               var max = nodes.length - 1;
+
+               if (index === undefined || index < 0 || index > max) {
+                   throw new RangeError('index ' + index + ' out of range 0..' + max);
+               }
+
+               // If this is a closed way, remove all connector nodes except the first one
+               // (there may be duplicates) and adjust index if necessary..
+               if (isClosed) {
+                   var connector = this.first();
+
+                   // leading connectors..
+                   var i = 1;
+                   while (i < nodes.length && nodes.length > 2 && nodes[i] === connector) {
+                       nodes.splice(i, 1);
+                       if (index > i) index--;
+                   }
+
+                   // trailing connectors..
+                   i = nodes.length - 1;
+                   while (i > 0 && nodes.length > 1 && nodes[i] === connector) {
+                       nodes.splice(i, 1);
+                       if (index === i) index = 0;  // update leading connector instead
+                       i = nodes.length - 1;
+                   }
+               }
+
+               nodes.splice(index, 1, id);
+               nodes = nodes.filter(noRepeatNodes);
+
+               // If the way was closed before, append a connector node to keep it closed..
+               if (isClosed && (nodes.length === 1 || nodes[0] !== nodes[nodes.length - 1])) {
+                   nodes.push(nodes[0]);
+               }
+
+               return this.update({nodes: nodes});
+           },
+
+
+           // Replaces each occurrence of node id needle with replacement.
+           // Consecutive duplicates are eliminated including existing ones.
+           // Circularity is preserved.
+           replaceNode: function(needleID, replacementID) {
+               var nodes = this.nodes.slice();
+               var isClosed = this.isClosed();
+
+               for (var i = 0; i < nodes.length; i++) {
+                   if (nodes[i] === needleID) {
+                       nodes[i] = replacementID;
+                   }
+               }
+
+               nodes = nodes.filter(noRepeatNodes);
+
+               // If the way was closed before, append a connector node to keep it closed..
+               if (isClosed && (nodes.length === 1 || nodes[0] !== nodes[nodes.length - 1])) {
+                   nodes.push(nodes[0]);
+               }
+
+               return this.update({nodes: nodes});
+           },
+
+
+           // Removes each occurrence of node id.
+           // Consecutive duplicates are eliminated including existing ones.
+           // Circularity is preserved.
+           removeNode: function(id) {
+               var nodes = this.nodes.slice();
+               var isClosed = this.isClosed();
+
+               nodes = nodes
+                   .filter(function(node) { return node !== id; })
+                   .filter(noRepeatNodes);
+
+               // If the way was closed before, append a connector node to keep it closed..
+               if (isClosed && (nodes.length === 1 || nodes[0] !== nodes[nodes.length - 1])) {
+                   nodes.push(nodes[0]);
+               }
+
+               return this.update({nodes: nodes});
+           },
+
+
+           asJXON: function(changeset_id) {
+               var r = {
+                   way: {
+                       '@id': this.osmId(),
+                       '@version': this.version || 0,
+                       nd: this.nodes.map(function(id) {
+                           return { keyAttributes: { ref: osmEntity.id.toOSM(id) } };
+                       }, this),
+                       tag: Object.keys(this.tags).map(function(k) {
+                           return { keyAttributes: { k: k, v: this.tags[k] } };
+                       }, this)
+                   }
+               };
+               if (changeset_id) {
+                   r.way['@changeset'] = changeset_id;
+               }
+               return r;
+           },
+
+
+           asGeoJSON: function(resolver) {
+               return resolver.transient(this, 'GeoJSON', function() {
+                   var coordinates = resolver.childNodes(this)
+                       .map(function(n) { return n.loc; });
+
+                   if (this.isArea() && this.isClosed()) {
+                       return {
+                           type: 'Polygon',
+                           coordinates: [coordinates]
+                       };
+                   } else {
+                       return {
+                           type: 'LineString',
+                           coordinates: coordinates
+                       };
+                   }
+               });
+           },
+
+
+           area: function(resolver) {
+               return resolver.transient(this, 'area', function() {
+                   var nodes = resolver.childNodes(this);
+
+                   var json = {
+                       type: 'Polygon',
+                       coordinates: [ nodes.map(function(n) { return n.loc; }) ]
+                   };
+
+                   if (!this.isClosed() && nodes.length) {
+                       json.coordinates[0].push(nodes[0].loc);
+                   }
+
+                   var area = d3_geoArea(json);
+
+                   // Heuristic for detecting counterclockwise winding order. Assumes
+                   // that OpenStreetMap polygons are not hemisphere-spanning.
+                   if (area > 2 * Math.PI) {
+                       json.coordinates[0] = json.coordinates[0].reverse();
+                       area = d3_geoArea(json);
+                   }
+
+                   return isNaN(area) ? 0 : area;
+               });
+           }
+       });
+
+
+       // Filter function to eliminate consecutive duplicates.
+       function noRepeatNodes(node, i, arr) {
+           return i === 0 || node !== arr[i - 1];
+       }
+
+       // "Old" multipolyons, previously known as "simple" multipolygons, are as follows:
+       //
+       // 1. Relation tagged with `type=multipolygon` and no interesting tags.
+       // 2. One and only one member with the `outer` role. Must be a way with interesting tags.
+       // 3. No members without a role.
+       //
+       // Old multipolygons are no longer recommended but are still rendered as areas by iD.
+
+       function osmOldMultipolygonOuterMemberOfRelation(entity, graph) {
+           if (entity.type !== 'relation' ||
+               !entity.isMultipolygon()
+               || Object.keys(entity.tags).filter(osmIsInterestingTag).length > 1) {
+               return false;
+           }
+
+           var outerMember;
+           for (var memberIndex in entity.members) {
+               var member = entity.members[memberIndex];
+               if (!member.role || member.role === 'outer') {
+                   if (outerMember) return false;
+                   if (member.type !== 'way') return false;
+                   if (!graph.hasEntity(member.id)) return false;
+
+                   outerMember = graph.entity(member.id);
+
+                   if (Object.keys(outerMember.tags).filter(osmIsInterestingTag).length === 0) {
+                       return false;
+                   }
+               }
+           }
+
+           return outerMember;
+       }
+
+       // For fixing up rendering of multipolygons with tags on the outer member.
+       // https://github.com/openstreetmap/iD/issues/613
+       function osmIsOldMultipolygonOuterMember(entity, graph) {
+           if (entity.type !== 'way' || Object.keys(entity.tags).filter(osmIsInterestingTag).length === 0)
+               return false;
+
+           var parents = graph.parentRelations(entity);
+           if (parents.length !== 1)
+               return false;
+
+           var parent = parents[0];
+           if (!parent.isMultipolygon() || Object.keys(parent.tags).filter(osmIsInterestingTag).length > 1)
+               return false;
+
+           var members = parent.members, member;
+           for (var i = 0; i < members.length; i++) {
+               member = members[i];
+               if (member.id === entity.id && member.role && member.role !== 'outer')
+                   return false; // Not outer member
+               if (member.id !== entity.id && (!member.role || member.role === 'outer'))
+                   return false; // Not a simple multipolygon
+           }
+
+           return parent;
+       }
+
+
+       function osmOldMultipolygonOuterMember(entity, graph) {
+           if (entity.type !== 'way')
+               return false;
+
+           var parents = graph.parentRelations(entity);
+           if (parents.length !== 1)
+               return false;
+
+           var parent = parents[0];
+           if (!parent.isMultipolygon() || Object.keys(parent.tags).filter(osmIsInterestingTag).length > 1)
+               return false;
+
+           var members = parent.members, member, outerMember;
+           for (var i = 0; i < members.length; i++) {
+               member = members[i];
+               if (!member.role || member.role === 'outer') {
+                   if (outerMember)
+                       return false; // Not a simple multipolygon
+                   outerMember = member;
+               }
+           }
+
+           if (!outerMember)
+               return false;
+
+           var outerEntity = graph.hasEntity(outerMember.id);
+           if (!outerEntity || !Object.keys(outerEntity.tags).filter(osmIsInterestingTag).length)
+               return false;
+
+           return outerEntity;
+       }
+
+
+       // Join `toJoin` array into sequences of connecting ways.
+
+       // Segments which share identical start/end nodes will, as much as possible,
+       // be connected with each other.
+       //
+       // The return value is a nested array. Each constituent array contains elements
+       // of `toJoin` which have been determined to connect.
+       //
+       // Each consitituent array also has a `nodes` property whose value is an
+       // ordered array of member nodes, with appropriate order reversal and
+       // start/end coordinate de-duplication.
+       //
+       // Members of `toJoin` must have, at minimum, `type` and `id` properties.
+       // Thus either an array of `osmWay`s or a relation member array may be used.
+       //
+       // If an member is an `osmWay`, its tags and childnodes may be reversed via
+       // `actionReverse` in the output.
+       //
+       // The returned sequences array also has an `actions` array property, containing
+       // any reversal actions that should be applied to the graph, should the calling
+       // code attempt to actually join the given ways.
+       //
+       // Incomplete members (those for which `graph.hasEntity(element.id)` returns
+       // false) and non-way members are ignored.
+       //
+       function osmJoinWays(toJoin, graph) {
+           function resolve(member) {
+               return graph.childNodes(graph.entity(member.id));
+           }
+
+           function reverse(item) {
+               var action = actionReverse(item.id, { reverseOneway: true });
+               sequences.actions.push(action);
+               return (item instanceof osmWay) ? action(graph).entity(item.id) : item;
+           }
+
+           // make a copy containing only the items to join
+           toJoin = toJoin.filter(function(member) {
+               return member.type === 'way' && graph.hasEntity(member.id);
+           });
+
+           // Are the things we are joining relation members or `osmWays`?
+           // If `osmWays`, skip the "prefer a forward path" code below (see #4872)
+           var i;
+           var joinAsMembers = true;
+           for (i = 0; i < toJoin.length; i++) {
+               if (toJoin[i] instanceof osmWay) {
+                   joinAsMembers = false;
+                   break;
+               }
+           }
+
+           var sequences = [];
+           sequences.actions = [];
+
+           while (toJoin.length) {
+               // start a new sequence
+               var item = toJoin.shift();
+               var currWays = [item];
+               var currNodes = resolve(item).slice();
+               var doneSequence = false;
+
+               // add to it
+               while (toJoin.length && !doneSequence) {
+                   var start = currNodes[0];
+                   var end = currNodes[currNodes.length - 1];
+                   var fn = null;
+                   var nodes = null;
+
+                   // Find the next way/member to join.
+                   for (i = 0; i < toJoin.length; i++) {
+                       item = toJoin[i];
+                       nodes = resolve(item);
+
+                       // (for member ordering only, not way ordering - see #4872)
+                       // Strongly prefer to generate a forward path that preserves the order
+                       // of the members array. For multipolygons and most relations, member
+                       // order does not matter - but for routes, it does. (see #4589)
+                       // If we started this sequence backwards (i.e. next member way attaches to
+                       // the start node and not the end node), reverse the initial way before continuing.
+                       if (joinAsMembers && currWays.length === 1 && nodes[0] !== end && nodes[nodes.length - 1] !== end &&
+                           (nodes[nodes.length - 1] === start || nodes[0] === start)
+                       ) {
+                           currWays[0] = reverse(currWays[0]);
+                           currNodes.reverse();
+                           start = currNodes[0];
+                           end = currNodes[currNodes.length - 1];
+                       }
+
+                       if (nodes[0] === end) {
+                           fn = currNodes.push;               // join to end
+                           nodes = nodes.slice(1);
+                           break;
+                       } else if (nodes[nodes.length - 1] === end) {
+                           fn = currNodes.push;               // join to end
+                           nodes = nodes.slice(0, -1).reverse();
+                           item = reverse(item);
+                           break;
+                       } else if (nodes[nodes.length - 1] === start) {
+                           fn = currNodes.unshift;            // join to beginning
+                           nodes = nodes.slice(0, -1);
+                           break;
+                       } else if (nodes[0] === start) {
+                           fn = currNodes.unshift;            // join to beginning
+                           nodes = nodes.slice(1).reverse();
+                           item = reverse(item);
+                           break;
+                       } else {
+                           fn = nodes = null;
+                       }
+                   }
+
+                   if (!nodes) {     // couldn't find a joinable way/member
+                       doneSequence = true;
+                       break;
+                   }
+
+                   fn.apply(currWays, [item]);
+                   fn.apply(currNodes, nodes);
+
+                   toJoin.splice(i, 1);
+               }
+
+               currWays.nodes = currNodes;
+               sequences.push(currWays);
+           }
+
+           return sequences;
+       }
+
+       function actionAddMember(relationId, member, memberIndex, insertPair) {
+
+           return function action(graph) {
+               var relation = graph.entity(relationId);
+
+               // There are some special rules for Public Transport v2 routes.
+               var isPTv2 = /stop|platform/.test(member.role);
+
+               if ((isNaN(memberIndex) || insertPair) && member.type === 'way' && !isPTv2) {
+                   // Try to perform sensible inserts based on how the ways join together
+                   graph = addWayMember(relation, graph);
+               } else {
+                   // see https://wiki.openstreetmap.org/wiki/Public_transport#Service_routes
+                   // Stops and Platforms for PTv2 should be ordered first.
+                   // hack: We do not currently have the ability to place them in the exactly correct order.
+                   if (isPTv2 && isNaN(memberIndex)) {
+                       memberIndex = 0;
+                   }
+
+                   graph = graph.replace(relation.addMember(member, memberIndex));
+               }
+
+               return graph;
+           };
+
+
+           // Add a way member into the relation "wherever it makes sense".
+           // In this situation we were not supplied a memberIndex.
+           function addWayMember(relation, graph) {
+               var groups, tempWay, item, i, j, k;
+
+               // remove PTv2 stops and platforms before doing anything.
+               var PTv2members = [];
+               var members = [];
+               for (i = 0; i < relation.members.length; i++) {
+                   var m = relation.members[i];
+                   if (/stop|platform/.test(m.role)) {
+                       PTv2members.push(m);
+                   } else {
+                       members.push(m);
+                   }
+               }
+               relation = relation.update({ members: members });
+
+
+               if (insertPair) {
+                   // We're adding a member that must stay paired with an existing member.
+                   // (This feature is used by `actionSplit`)
+                   //
+                   // This is tricky because the members may exist multiple times in the
+                   // member list, and with different A-B/B-A ordering and different roles.
+                   // (e.g. a bus route that loops out and back - #4589).
+                   //
+                   // Replace the existing member with a temporary way,
+                   // so that `osmJoinWays` can treat the pair like a single way.
+                   tempWay = osmWay({ id: 'wTemp', nodes: insertPair.nodes });
+                   graph = graph.replace(tempWay);
+                   var tempMember = { id: tempWay.id, type: 'way', role: member.role };
+                   var tempRelation = relation.replaceMember({id: insertPair.originalID}, tempMember, true);
+                   groups = utilArrayGroupBy(tempRelation.members, 'type');
+                   groups.way = groups.way || [];
+
+               } else {
+                   // Add the member anywhere, one time. Just push and let `osmJoinWays` decide where to put it.
+                   groups = utilArrayGroupBy(relation.members, 'type');
+                   groups.way = groups.way || [];
+                   groups.way.push(member);
+               }
+
+               members = withIndex(groups.way);
+               var joined = osmJoinWays(members, graph);
+
+               // `joined` might not contain all of the way members,
+               // But will contain only the completed (downloaded) members
+               for (i = 0; i < joined.length; i++) {
+                   var segment = joined[i];
+                   var nodes = segment.nodes.slice();
+                   var startIndex = segment[0].index;
+
+                   // j = array index in `members` where this segment starts
+                   for (j = 0; j < members.length; j++) {
+                       if (members[j].index === startIndex) {
+                           break;
+                       }
+                   }
+
+                   // k = each member in segment
+                   for (k = 0; k < segment.length; k++) {
+                       item = segment[k];
+                       var way = graph.entity(item.id);
+
+                       // If this is a paired item, generate members in correct order and role
+                       if (tempWay && item.id === tempWay.id) {
+                           if (nodes[0].id === insertPair.nodes[0]) {
+                               item.pair = [
+                                   { id: insertPair.originalID, type: 'way', role: item.role },
+                                   { id: insertPair.insertedID, type: 'way', role: item.role }
+                               ];
+                           } else {
+                               item.pair = [
+                                   { id: insertPair.insertedID, type: 'way', role: item.role },
+                                   { id: insertPair.originalID, type: 'way', role: item.role }
+                               ];
+                           }
+                       }
+
+                       // reorder `members` if necessary
+                       if (k > 0) {
+                           if (j+k >= members.length || item.index !== members[j+k].index) {
+                               moveMember(members, item.index, j+k);
+                           }
+                       }
+
+                       nodes.splice(0, way.nodes.length - 1);
+                   }
+               }
+
+               if (tempWay) {
+                   graph = graph.remove(tempWay);
+               }
+
+               // Final pass: skip dead items, split pairs, remove index properties
+               var wayMembers = [];
+               for (i = 0; i < members.length; i++) {
+                   item = members[i];
+                   if (item.index === -1) continue;
+
+                   if (item.pair) {
+                       wayMembers.push(item.pair[0]);
+                       wayMembers.push(item.pair[1]);
+                   } else {
+                       wayMembers.push(utilObjectOmit(item, ['index']));
+                   }
+               }
+
+               // Put stops and platforms first, then nodes, ways, relations
+               // This is recommended for Public Transport v2 routes:
+               // see https://wiki.openstreetmap.org/wiki/Public_transport#Service_routes
+               var newMembers = PTv2members.concat( (groups.node || []), wayMembers, (groups.relation || []) );
+
+               return graph.replace(relation.update({ members: newMembers }));
+
+
+               // `moveMember()` changes the `members` array in place by splicing
+               // the item with `.index = findIndex` to where it belongs,
+               // and marking the old position as "dead" with `.index = -1`
+               //
+               // j=5, k=0                jk
+               // segment                 5 4 7 6
+               // members       0 1 2 3 4 5 6 7 8 9        keep 5 in j+k
+               //
+               // j=5, k=1                j k
+               // segment                 5 4 7 6
+               // members       0 1 2 3 4 5 6 7 8 9        move 4 to j+k
+               // members       0 1 2 3 x 5 4 6 7 8 9      moved
+               //
+               // j=5, k=2                j   k
+               // segment                 5 4 7 6
+               // members       0 1 2 3 x 5 4 6 7 8 9      move 7 to j+k
+               // members       0 1 2 3 x 5 4 7 6 x 8 9    moved
+               //
+               // j=5, k=3                j     k
+               // segment                 5 4 7 6
+               // members       0 1 2 3 x 5 4 7 6 x 8 9    keep 6 in j+k
+               //
+               function moveMember(arr, findIndex, toIndex) {
+                   for (var i = 0; i < arr.length; i++) {
+                       if (arr[i].index === findIndex) {
+                           break;
+                       }
+                   }
+
+                   var item = Object.assign({}, arr[i]);   // shallow copy
+                   arr[i].index = -1;   // mark as dead
+                   item.index = toIndex;
+                   arr.splice(toIndex, 0, item);
+               }
+
+
+               // This is the same as `Relation.indexedMembers`,
+               // Except we don't want to index all the members, only the ways
+               function withIndex(arr) {
+                   var result = new Array(arr.length);
+                   for (var i = 0; i < arr.length; i++) {
+                       result[i] = Object.assign({}, arr[i]);   // shallow copy
+                       result[i].index = i;
+                   }
+                   return result;
+               }
+           }
+
+       }
+
+       function actionAddMidpoint(midpoint, node) {
+           return function(graph) {
+               graph = graph.replace(node.move(midpoint.loc));
+
+               var parents = utilArrayIntersection(
+                   graph.parentWays(graph.entity(midpoint.edge[0])),
+                   graph.parentWays(graph.entity(midpoint.edge[1]))
+               );
+
+               parents.forEach(function(way) {
+                   for (var i = 0; i < way.nodes.length - 1; i++) {
+                       if (geoEdgeEqual([way.nodes[i], way.nodes[i + 1]], midpoint.edge)) {
+                           graph = graph.replace(graph.entity(way.id).addNode(node.id, i + 1));
+
+                           // Add only one midpoint on doubled-back segments,
+                           // turning them into self-intersections.
+                           return;
+                       }
+                   }
+               });
+
+               return graph;
+           };
+       }
+
+       // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/AddNodeToWayAction.as
+       function actionAddVertex(wayId, nodeId, index) {
+           return function(graph) {
+               return graph.replace(graph.entity(wayId).addNode(nodeId, index));
+           };
+       }
+
+       function actionChangeMember(relationId, member, memberIndex) {
+           return function(graph) {
+               return graph.replace(graph.entity(relationId).updateMember(member, memberIndex));
+           };
+       }
+
+       function actionChangePreset(entityID, oldPreset, newPreset, skipFieldDefaults) {
+           return function action(graph) {
+               var entity = graph.entity(entityID);
+               var geometry = entity.geometry(graph);
+               var tags = entity.tags;
+
+               if (oldPreset) tags = oldPreset.unsetTags(tags, geometry);
+               if (newPreset) tags = newPreset.setTags(tags, geometry, skipFieldDefaults);
+
+               return graph.replace(entity.update({tags: tags}));
+           };
+       }
+
+       function actionChangeTags(entityId, tags) {
+           return function(graph) {
+               var entity = graph.entity(entityId);
+               return graph.replace(entity.update({tags: tags}));
+           };
+       }
+
+       function osmNode() {
+           if (!(this instanceof osmNode)) {
+               return (new osmNode()).initialize(arguments);
+           } else if (arguments.length) {
+               this.initialize(arguments);
+           }
+       }
+
+       osmEntity.node = osmNode;
+
+       osmNode.prototype = Object.create(osmEntity.prototype);
+
+       Object.assign(osmNode.prototype, {
+           type: 'node',
+           loc: [9999, 9999],
+
+           extent: function() {
+               return new geoExtent(this.loc);
+           },
+
+
+           geometry: function(graph) {
+               return graph.transient(this, 'geometry', function() {
+                   return graph.isPoi(this) ? 'point' : 'vertex';
+               });
+           },
+
+
+           move: function(loc) {
+               return this.update({loc: loc});
+           },
+
+
+           isDegenerate: function() {
+               return !(
+                   Array.isArray(this.loc) && this.loc.length === 2 &&
+                   this.loc[0] >= -180 && this.loc[0] <= 180 &&
+                   this.loc[1] >= -90 && this.loc[1] <= 90
+               );
+           },
+
+
+           // Inspect tags and geometry to determine which direction(s) this node/vertex points
+           directions: function(resolver, projection) {
+               var val;
+               var i;
+
+               // which tag to use?
+               if (this.isHighwayIntersection(resolver) && (this.tags.stop || '').toLowerCase() === 'all') {
+                   // all-way stop tag on a highway intersection
+                   val = 'all';
+               } else {
+                   // generic direction tag
+                   val = (this.tags.direction || '').toLowerCase();
+
+                   // better suffix-style direction tag
+                   var re = /:direction$/i;
+                   var keys = Object.keys(this.tags);
+                   for (i = 0; i < keys.length; i++) {
+                       if (re.test(keys[i])) {
+                           val = this.tags[keys[i]].toLowerCase();
+                           break;
+                       }
+                   }
+               }
+
+               if (val === '') return [];
+
+               var cardinal = {
+                   north: 0,               n: 0,
+                   northnortheast: 22,     nne: 22,
+                   northeast: 45,          ne: 45,
+                   eastnortheast: 67,      ene: 67,
+                   east: 90,               e: 90,
+                   eastsoutheast: 112,     ese: 112,
+                   southeast: 135,         se: 135,
+                   southsoutheast: 157,    sse: 157,
+                   south: 180,             s: 180,
+                   southsouthwest: 202,    ssw: 202,
+                   southwest: 225,         sw: 225,
+                   westsouthwest: 247,     wsw: 247,
+                   west: 270,              w: 270,
+                   westnorthwest: 292,     wnw: 292,
+                   northwest: 315,         nw: 315,
+                   northnorthwest: 337,    nnw: 337
+               };
+
+
+               var values = val.split(';');
+               var results = [];
+
+               values.forEach(function(v) {
+                   // swap cardinal for numeric directions
+                   if (cardinal[v] !== undefined) {
+                       v = cardinal[v];
+                   }
+
+                   // numeric direction - just add to results
+                   if (v !== '' && !isNaN(+v)) {
+                       results.push(+v);
+                       return;
+                   }
+
+                   // string direction - inspect parent ways
+                   var lookBackward =
+                       (this.tags['traffic_sign:backward'] || v === 'backward' || v === 'both' || v === 'all');
+                   var lookForward =
+                       (this.tags['traffic_sign:forward'] || v === 'forward' || v === 'both' || v === 'all');
+
+                   if (!lookForward && !lookBackward) return;
+
+                   var nodeIds = {};
+                   resolver.parentWays(this).forEach(function(parent) {
+                       var nodes = parent.nodes;
+                       for (i = 0; i < nodes.length; i++) {
+                           if (nodes[i] === this.id) {  // match current entity
+                               if (lookForward && i > 0) {
+                                   nodeIds[nodes[i - 1]] = true;  // look back to prev node
+                               }
+                               if (lookBackward && i < nodes.length - 1) {
+                                   nodeIds[nodes[i + 1]] = true;  // look ahead to next node
+                               }
+                           }
+                       }
+                   }, this);
+
+                   Object.keys(nodeIds).forEach(function(nodeId) {
+                       // +90 because geoAngle returns angle from X axis, not Y (north)
+                       results.push(
+                           (geoAngle(this, resolver.entity(nodeId), projection) * (180 / Math.PI)) + 90
+                       );
+                   }, this);
+
+               }, this);
+
+               return utilArrayUniq(results);
+           },
+
+
+           isEndpoint: function(resolver) {
+               return resolver.transient(this, 'isEndpoint', function() {
+                   var id = this.id;
+                   return resolver.parentWays(this).filter(function(parent) {
+                       return !parent.isClosed() && !!parent.affix(id);
+                   }).length > 0;
+               });
+           },
+
+
+           isConnected: function(resolver) {
+               return resolver.transient(this, 'isConnected', function() {
+                   var parents = resolver.parentWays(this);
+
+                   function isLine(entity) {
+                       return entity.geometry(resolver) === 'line' &&
+                           entity.hasInterestingTags();
+                   }
+
+                   // vertex is connected to multiple parent lines
+                   if (parents.length > 1 && parents.some(isLine)) {
+                       return true;
+
+                   } else if (parents.length === 1) {
+                       var way = parents[0];
+                       var nodes = way.nodes.slice();
+                       if (way.isClosed()) { nodes.pop(); }  // ignore connecting node if closed
+
+                       // return true if vertex appears multiple times (way is self intersecting)
+                       return nodes.indexOf(this.id) !== nodes.lastIndexOf(this.id);
+                   }
+
+                   return false;
+               });
+           },
+
+
+           isIntersection: function(resolver) {
+               return resolver.transient(this, 'isIntersection', function() {
+                   return resolver.parentWays(this).filter(function(parent) {
+                       return (parent.tags.highway ||
+                           parent.tags.waterway ||
+                           parent.tags.railway ||
+                           parent.tags.aeroway) &&
+                           parent.geometry(resolver) === 'line';
+                   }).length > 1;
+               });
+           },
+
+
+           isHighwayIntersection: function(resolver) {
+               return resolver.transient(this, 'isHighwayIntersection', function() {
+                   return resolver.parentWays(this).filter(function(parent) {
+                       return parent.tags.highway && parent.geometry(resolver) === 'line';
+                   }).length > 1;
+               });
+           },
+
+
+           isOnAddressLine: function(resolver) {
+               return resolver.transient(this, 'isOnAddressLine', function() {
+                   return resolver.parentWays(this).filter(function(parent) {
+                       return parent.tags.hasOwnProperty('addr:interpolation') &&
+                           parent.geometry(resolver) === 'line';
+                   }).length > 0;
+               });
+           },
+
+
+           asJXON: function(changeset_id) {
+               var r = {
+                   node: {
+                       '@id': this.osmId(),
+                       '@lon': this.loc[0],
+                       '@lat': this.loc[1],
+                       '@version': (this.version || 0),
+                       tag: Object.keys(this.tags).map(function(k) {
+                           return { keyAttributes: { k: k, v: this.tags[k] } };
+                       }, this)
+                   }
+               };
+               if (changeset_id) r.node['@changeset'] = changeset_id;
+               return r;
+           },
+
+
+           asGeoJSON: function() {
+               return {
+                   type: 'Point',
+                   coordinates: this.loc
+               };
+           }
+       });
+
+       function actionCircularize(wayId, projection, maxAngle) {
+           maxAngle = (maxAngle || 20) * Math.PI / 180;
+
+
+           var action = function(graph, t) {
+               if (t === null || !isFinite(t)) t = 1;
+               t = Math.min(Math.max(+t, 0), 1);
+
+               var way = graph.entity(wayId);
+               var origNodes = {};
+
+               graph.childNodes(way).forEach(function(node) {
+                   if (!origNodes[node.id]) origNodes[node.id] = node;
+               });
+
+               if (!way.isConvex(graph)) {
+                   graph = action.makeConvex(graph);
+               }
+
+               var nodes = utilArrayUniq(graph.childNodes(way));
+               var keyNodes = nodes.filter(function(n) { return graph.parentWays(n).length !== 1; });
+               var points = nodes.map(function(n) { return projection(n.loc); });
+               var keyPoints = keyNodes.map(function(n) { return projection(n.loc); });
+               var centroid = (points.length === 2) ? geoVecInterp(points[0], points[1], 0.5) : d3_polygonCentroid(points);
+               var radius = d3_median(points, function(p) { return geoVecLength(centroid, p); });
+               var sign = d3_polygonArea(points) > 0 ? 1 : -1;
+               var ids, i, j, k;
+
+               // we need atleast two key nodes for the algorithm to work
+               if (!keyNodes.length) {
+                   keyNodes = [nodes[0]];
+                   keyPoints = [points[0]];
+               }
+
+               if (keyNodes.length === 1) {
+                   var index = nodes.indexOf(keyNodes[0]);
+                   var oppositeIndex = Math.floor((index + nodes.length / 2) % nodes.length);
+
+                   keyNodes.push(nodes[oppositeIndex]);
+                   keyPoints.push(points[oppositeIndex]);
+               }
+
+               // key points and nodes are those connected to the ways,
+               // they are projected onto the circle, inbetween nodes are moved
+               // to constant intervals between key nodes, extra inbetween nodes are
+               // added if necessary.
+               for (i = 0; i < keyPoints.length; i++) {
+                   var nextKeyNodeIndex = (i + 1) % keyNodes.length;
+                   var startNode = keyNodes[i];
+                   var endNode = keyNodes[nextKeyNodeIndex];
+                   var startNodeIndex = nodes.indexOf(startNode);
+                   var endNodeIndex = nodes.indexOf(endNode);
+                   var numberNewPoints = -1;
+                   var indexRange = endNodeIndex - startNodeIndex;
+                   var nearNodes = {};
+                   var inBetweenNodes = [];
+                   var startAngle, endAngle, totalAngle, eachAngle;
+                   var angle, loc, node, origNode;
+
+                   if (indexRange < 0) {
+                       indexRange += nodes.length;
+                   }
+
+                   // position this key node
+                   var distance = geoVecLength(centroid, keyPoints[i]) || 1e-4;
+                   keyPoints[i] = [
+                       centroid[0] + (keyPoints[i][0] - centroid[0]) / distance * radius,
+                       centroid[1] + (keyPoints[i][1] - centroid[1]) / distance * radius
+                   ];
+                   loc = projection.invert(keyPoints[i]);
+                   node = keyNodes[i];
+                   origNode = origNodes[node.id];
+                   node = node.move(geoVecInterp(origNode.loc, loc, t));
+                   graph = graph.replace(node);
+
+                   // figure out the between delta angle we want to match to
+                   startAngle = Math.atan2(keyPoints[i][1] - centroid[1], keyPoints[i][0] - centroid[0]);
+                   endAngle = Math.atan2(keyPoints[nextKeyNodeIndex][1] - centroid[1], keyPoints[nextKeyNodeIndex][0] - centroid[0]);
+                   totalAngle = endAngle - startAngle;
+
+                   // detects looping around -pi/pi
+                   if (totalAngle * sign > 0) {
+                       totalAngle = -sign * (2 * Math.PI - Math.abs(totalAngle));
+                   }
+
+                   do {
+                       numberNewPoints++;
+                       eachAngle = totalAngle / (indexRange + numberNewPoints);
+                   } while (Math.abs(eachAngle) > maxAngle);
+
+
+                   // move existing nodes
+                   for (j = 1; j < indexRange; j++) {
+                       angle = startAngle + j * eachAngle;
+                       loc = projection.invert([
+                           centroid[0] + Math.cos(angle) * radius,
+                           centroid[1] + Math.sin(angle) * radius
+                       ]);
+
+                       node = nodes[(j + startNodeIndex) % nodes.length];
+                       origNode = origNodes[node.id];
+                       nearNodes[node.id] = angle;
+
+                       node = node.move(geoVecInterp(origNode.loc, loc, t));
+                       graph = graph.replace(node);
+                   }
+
+                   // add new inbetween nodes if necessary
+                   for (j = 0; j < numberNewPoints; j++) {
+                       angle = startAngle + (indexRange + j) * eachAngle;
+                       loc = projection.invert([
+                           centroid[0] + Math.cos(angle) * radius,
+                           centroid[1] + Math.sin(angle) * radius
+                       ]);
+
+                       // choose a nearnode to use as the original
+                       var min = Infinity;
+                       for (var nodeId in nearNodes) {
+                           var nearAngle = nearNodes[nodeId];
+                           var dist = Math.abs(nearAngle - angle);
+                           if (dist < min) {
+                               dist = min;
+                               origNode = origNodes[nodeId];
+                           }
+                       }
+
+                       node = osmNode({ loc: geoVecInterp(origNode.loc, loc, t) });
+                       graph = graph.replace(node);
+
+                       nodes.splice(endNodeIndex + j, 0, node);
+                       inBetweenNodes.push(node.id);
+                   }
+
+                   // Check for other ways that share these keyNodes..
+                   // If keyNodes are adjacent in both ways,
+                   // we can add inBetween nodes to that shared way too..
+                   if (indexRange === 1 && inBetweenNodes.length) {
+                       var startIndex1 = way.nodes.lastIndexOf(startNode.id);
+                       var endIndex1 = way.nodes.lastIndexOf(endNode.id);
+                       var wayDirection1 = (endIndex1 - startIndex1);
+                       if (wayDirection1 < -1) { wayDirection1 = 1; }
+
+                       var parentWays = graph.parentWays(keyNodes[i]);
+                       for (j = 0; j < parentWays.length; j++) {
+                           var sharedWay = parentWays[j];
+                           if (sharedWay === way) continue;
+
+                           if (sharedWay.areAdjacent(startNode.id, endNode.id)) {
+                               var startIndex2 = sharedWay.nodes.lastIndexOf(startNode.id);
+                               var endIndex2 = sharedWay.nodes.lastIndexOf(endNode.id);
+                               var wayDirection2 = (endIndex2 - startIndex2);
+                               var insertAt = endIndex2;
+                               if (wayDirection2 < -1) { wayDirection2 = 1; }
+
+                               if (wayDirection1 !== wayDirection2) {
+                                   inBetweenNodes.reverse();
+                                   insertAt = startIndex2;
+                               }
+                               for (k = 0; k < inBetweenNodes.length; k++) {
+                                   sharedWay = sharedWay.addNode(inBetweenNodes[k], insertAt + k);
+                               }
+                               graph = graph.replace(sharedWay);
+                           }
+                       }
+                   }
+
+               }
+
+               // update the way to have all the new nodes
+               ids = nodes.map(function(n) { return n.id; });
+               ids.push(ids[0]);
+
+               way = way.update({nodes: ids});
+               graph = graph.replace(way);
+
+               return graph;
+           };
+
+
+           action.makeConvex = function(graph) {
+               var way = graph.entity(wayId);
+               var nodes = utilArrayUniq(graph.childNodes(way));
+               var points = nodes.map(function(n) { return projection(n.loc); });
+               var sign = d3_polygonArea(points) > 0 ? 1 : -1;
+               var hull = d3_polygonHull(points);
+               var i, j;
+
+               // D3 convex hulls go counterclockwise..
+               if (sign === -1) {
+                   nodes.reverse();
+                   points.reverse();
+               }
+
+               for (i = 0; i < hull.length - 1; i++) {
+                   var startIndex = points.indexOf(hull[i]);
+                   var endIndex = points.indexOf(hull[i+1]);
+                   var indexRange = (endIndex - startIndex);
+
+                   if (indexRange < 0) {
+                       indexRange += nodes.length;
+                   }
+
+                   // move interior nodes to the surface of the convex hull..
+                   for (j = 1; j < indexRange; j++) {
+                       var point = geoVecInterp(hull[i], hull[i+1], j / indexRange);
+                       var node = nodes[(j + startIndex) % nodes.length].move(projection.invert(point));
+                       graph = graph.replace(node);
+                   }
+               }
+               return graph;
+           };
+
+
+           action.disabled = function(graph) {
+               if (!graph.entity(wayId).isClosed()) {
+                   return 'not_closed';
+               }
+           };
+
+
+           action.transitionable = true;
+
+
+           return action;
+       }
+
+       // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteWayAction.as
+       function actionDeleteWay(wayID) {
+
+           function canDeleteNode(node, graph) {
+               // don't delete nodes still attached to ways or relations
+               if (graph.parentWays(node).length ||
+                   graph.parentRelations(node).length) return false;
+
+               var geometries = osmNodeGeometriesForTags(node.tags);
+               // don't delete if this node can be a standalone point
+               if (geometries.point) return false;
+               // delete if this node only be a vertex
+               if (geometries.vertex) return true;
+
+               // iD doesn't know if this should be a point or vertex,
+               // so only delete if there are no interesting tags
+               return !node.hasInterestingTags();
+           }
+
+
+           var action = function(graph) {
+               var way = graph.entity(wayID);
+
+               graph.parentRelations(way).forEach(function(parent) {
+                   parent = parent.removeMembersWithID(wayID);
+                   graph = graph.replace(parent);
+
+                   if (parent.isDegenerate()) {
+                       graph = actionDeleteRelation(parent.id)(graph);
+                   }
+               });
+
+               (new Set(way.nodes)).forEach(function(nodeID) {
+                   graph = graph.replace(way.removeNode(nodeID));
+
+                   var node = graph.entity(nodeID);
+                   if (canDeleteNode(node, graph)) {
+                       graph = graph.remove(node);
+                   }
+               });
+
+               return graph.remove(way);
+           };
+
+
+           return action;
+       }
+
+       function actionDeleteMultiple(ids) {
+           var actions = {
+               way: actionDeleteWay,
+               node: actionDeleteNode,
+               relation: actionDeleteRelation
+           };
+
+
+           var action = function(graph) {
+               ids.forEach(function(id) {
+                   if (graph.hasEntity(id)) { // It may have been deleted aready.
+                       graph = actions[graph.entity(id).type](id)(graph);
+                   }
+               });
+
+               return graph;
+           };
+
+
+           return action;
+       }
+
+       // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteRelationAction.as
+       function actionDeleteRelation(relationID, allowUntaggedMembers) {
+
+           function canDeleteEntity(entity, graph) {
+               return !graph.parentWays(entity).length &&
+                   !graph.parentRelations(entity).length &&
+                   (!entity.hasInterestingTags() && !allowUntaggedMembers);
+           }
+
+
+           var action = function(graph) {
+               var relation = graph.entity(relationID);
+
+               graph.parentRelations(relation)
+                   .forEach(function(parent) {
+                       parent = parent.removeMembersWithID(relationID);
+                       graph = graph.replace(parent);
+
+                       if (parent.isDegenerate()) {
+                           graph = actionDeleteRelation(parent.id)(graph);
+                       }
+                   });
+
+               var memberIDs = utilArrayUniq(relation.members.map(function(m) { return m.id; }));
+               memberIDs.forEach(function(memberID) {
+                   graph = graph.replace(relation.removeMembersWithID(memberID));
+
+                   var entity = graph.entity(memberID);
+                   if (canDeleteEntity(entity, graph)) {
+                       graph = actionDeleteMultiple([memberID])(graph);
+                   }
+               });
+
+               return graph.remove(relation);
+           };
+
+
+           return action;
+       }
+
+       // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteNodeAction.as
+       function actionDeleteNode(nodeId) {
+           var action = function(graph) {
+               var node = graph.entity(nodeId);
+
+               graph.parentWays(node)
+                   .forEach(function(parent) {
+                       parent = parent.removeNode(nodeId);
+                       graph = graph.replace(parent);
+
+                       if (parent.isDegenerate()) {
+                           graph = actionDeleteWay(parent.id)(graph);
+                       }
+                   });
+
+               graph.parentRelations(node)
+                   .forEach(function(parent) {
+                       parent = parent.removeMembersWithID(nodeId);
+                       graph = graph.replace(parent);
+
+                       if (parent.isDegenerate()) {
+                           graph = actionDeleteRelation(parent.id)(graph);
+                       }
+                   });
+
+               return graph.remove(node);
+           };
+
+
+           return action;
+       }
+
+       // Connect the ways at the given nodes.
+       //
+       // First choose a node to be the survivor, with preference given
+       // to an existing (not new) node.
+       //
+       // Tags and relation memberships of of non-surviving nodes are merged
+       // to the survivor.
+       //
+       // This is the inverse of `iD.actionDisconnect`.
+       //
+       // Reference:
+       //   https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MergeNodesAction.as
+       //   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/MergeNodesAction.java
+       //
+       function actionConnect(nodeIDs) {
+           var action = function(graph) {
+               var survivor;
+               var node;
+               var parents;
+               var i, j;
+
+               // Choose a survivor node, prefer an existing (not new) node - #4974
+               for (i = 0; i < nodeIDs.length; i++) {
+                   survivor = graph.entity(nodeIDs[i]);
+                   if (survivor.version) break;  // found one
+               }
+
+               // Replace all non-surviving nodes with the survivor and merge tags.
+               for (i = 0; i < nodeIDs.length; i++) {
+                   node = graph.entity(nodeIDs[i]);
+                   if (node.id === survivor.id) continue;
+
+                   parents = graph.parentWays(node);
+                   for (j = 0; j < parents.length; j++) {
+                       if (!parents[j].areAdjacent(node.id, survivor.id)) {
+                           graph = graph.replace(parents[j].replaceNode(node.id, survivor.id));
+                       }
+                   }
+
+                   parents = graph.parentRelations(node);
+                   for (j = 0; j < parents.length; j++) {
+                       graph = graph.replace(parents[j].replaceMember(node, survivor));
+                   }
+
+                   survivor = survivor.mergeTags(node.tags);
+                   graph = actionDeleteNode(node.id)(graph);
+               }
+
+               graph = graph.replace(survivor);
+
+               return graph;
+           };
+
+
+           action.disabled = function(graph) {
+               var seen = {};
+               var restrictionIDs = [];
+               var survivor;
+               var node, way;
+               var relations, relation, role;
+               var i, j, k;
+
+               // Choose a survivor node, prefer an existing (not new) node - #4974
+               for (i = 0; i < nodeIDs.length; i++) {
+                   survivor = graph.entity(nodeIDs[i]);
+                   if (survivor.version) break;  // found one
+               }
+
+               // 1. disable if the nodes being connected have conflicting relation roles
+               for (i = 0; i < nodeIDs.length; i++) {
+                   node = graph.entity(nodeIDs[i]);
+                   relations = graph.parentRelations(node);
+
+                   for (j = 0; j < relations.length; j++) {
+                       relation = relations[j];
+                       role = relation.memberById(node.id).role || '';
+
+                       // if this node is a via node in a restriction, remember for later
+                       if (relation.hasFromViaTo()) {
+                           restrictionIDs.push(relation.id);
+                       }
+
+                       if (seen[relation.id] !== undefined && seen[relation.id] !== role) {
+                           return 'relation';
+                       } else {
+                           seen[relation.id] = role;
+                       }
+                   }
+               }
+
+               // gather restrictions for parent ways
+               for (i = 0; i < nodeIDs.length; i++) {
+                   node = graph.entity(nodeIDs[i]);
+
+                   var parents = graph.parentWays(node);
+                   for (j = 0; j < parents.length; j++) {
+                       var parent = parents[j];
+                       relations = graph.parentRelations(parent);
+
+                       for (k = 0; k < relations.length; k++) {
+                           relation = relations[k];
+                           if (relation.hasFromViaTo()) {
+                               restrictionIDs.push(relation.id);
+                           }
+                       }
+                   }
+               }
+
+
+               // test restrictions
+               restrictionIDs = utilArrayUniq(restrictionIDs);
+               for (i = 0; i < restrictionIDs.length; i++) {
+                   relation = graph.entity(restrictionIDs[i]);
+                   if (!relation.isComplete(graph)) continue;
+
+                   var memberWays = relation.members
+                       .filter(function(m) { return m.type === 'way'; })
+                       .map(function(m) { return graph.entity(m.id); });
+
+                   memberWays = utilArrayUniq(memberWays);
+                   var f = relation.memberByRole('from');
+                   var t = relation.memberByRole('to');
+                   var isUturn = (f.id === t.id);
+
+                   // 2a. disable if connection would damage a restriction
+                   // (a key node is a node at the junction of ways)
+                   var nodes = { from: [], via: [], to: [], keyfrom: [], keyto: [] };
+                   for (j = 0; j < relation.members.length; j++) {
+                       collectNodes(relation.members[j], nodes);
+                   }
+
+                   nodes.keyfrom = utilArrayUniq(nodes.keyfrom.filter(hasDuplicates));
+                   nodes.keyto = utilArrayUniq(nodes.keyto.filter(hasDuplicates));
+
+                   var filter = keyNodeFilter(nodes.keyfrom, nodes.keyto);
+                   nodes.from = nodes.from.filter(filter);
+                   nodes.via = nodes.via.filter(filter);
+                   nodes.to = nodes.to.filter(filter);
+
+                   var connectFrom = false;
+                   var connectVia = false;
+                   var connectTo = false;
+                   var connectKeyFrom = false;
+                   var connectKeyTo = false;
+
+                   for (j = 0; j < nodeIDs.length; j++) {
+                       var n = nodeIDs[j];
+                       if (nodes.from.indexOf(n) !== -1)    { connectFrom = true; }
+                       if (nodes.via.indexOf(n) !== -1)     { connectVia = true; }
+                       if (nodes.to.indexOf(n) !== -1)      { connectTo = true; }
+                       if (nodes.keyfrom.indexOf(n) !== -1) { connectKeyFrom = true; }
+                       if (nodes.keyto.indexOf(n) !== -1)   { connectKeyTo = true; }
+                   }
+                   if (connectFrom && connectTo && !isUturn) { return 'restriction'; }
+                   if (connectFrom && connectVia) { return 'restriction'; }
+                   if (connectTo   && connectVia) { return 'restriction'; }
+
+                   // connecting to a key node -
+                   // if both nodes are on a member way (i.e. part of the turn restriction),
+                   // the connecting node must be adjacent to the key node.
+                   if (connectKeyFrom || connectKeyTo) {
+                       if (nodeIDs.length !== 2) { return 'restriction'; }
+
+                       var n0 = null;
+                       var n1 = null;
+                       for (j = 0; j < memberWays.length; j++) {
+                           way = memberWays[j];
+                           if (way.contains(nodeIDs[0])) { n0 = nodeIDs[0]; }
+                           if (way.contains(nodeIDs[1])) { n1 = nodeIDs[1]; }
+                       }
+
+                       if (n0 && n1) {    // both nodes are part of the restriction
+                           var ok = false;
+                           for (j = 0; j < memberWays.length; j++) {
+                               way = memberWays[j];
+                               if (way.areAdjacent(n0, n1)) {
+                                   ok = true;
+                                   break;
+                               }
+                           }
+                           if (!ok) {
+                               return 'restriction';
+                           }
+                       }
+                   }
+
+                   // 2b. disable if nodes being connected will destroy a member way in a restriction
+                   // (to test, make a copy and try actually connecting the nodes)
+                   for (j = 0; j < memberWays.length; j++) {
+                       way = memberWays[j].update({});   // make copy
+                       for (k = 0; k < nodeIDs.length; k++) {
+                           if (nodeIDs[k] === survivor.id) continue;
+
+                           if (way.areAdjacent(nodeIDs[k], survivor.id)) {
+                               way = way.removeNode(nodeIDs[k]);
+                           } else {
+                               way = way.replaceNode(nodeIDs[k], survivor.id);
+                           }
+                       }
+                       if (way.isDegenerate()) {
+                           return 'restriction';
+                       }
+                   }
+               }
+
+               return false;
+
+
+               // if a key node appears multiple times (indexOf !== lastIndexOf) it's a FROM-VIA or TO-VIA junction
+               function hasDuplicates(n, i, arr) {
+                   return arr.indexOf(n) !== arr.lastIndexOf(n);
+               }
+
+               function keyNodeFilter(froms, tos) {
+                   return function(n) {
+                       return froms.indexOf(n) === -1 && tos.indexOf(n) === -1;
+                   };
+               }
+
+               function collectNodes(member, collection) {
+                   var entity = graph.hasEntity(member.id);
+                   if (!entity) return;
+
+                   var role = member.role || '';
+                   if (!collection[role]) {
+                       collection[role] = [];
+                   }
+
+                   if (member.type === 'node') {
+                       collection[role].push(member.id);
+                       if (role === 'via') {
+                           collection.keyfrom.push(member.id);
+                           collection.keyto.push(member.id);
+                       }
+
+                   } else if (member.type === 'way') {
+                       collection[role].push.apply(collection[role], entity.nodes);
+                       if (role === 'from' || role === 'via') {
+                           collection.keyfrom.push(entity.first());
+                           collection.keyfrom.push(entity.last());
+                       }
+                       if (role === 'to' || role === 'via') {
+                           collection.keyto.push(entity.first());
+                           collection.keyto.push(entity.last());
+                       }
+                   }
+               }
+           };
+
+
+           return action;
+       }
+
+       function actionCopyEntities(ids, fromGraph) {
+           var _copies = {};
+
+
+           var action = function(graph) {
+               ids.forEach(function(id) {
+                   fromGraph.entity(id).copy(fromGraph, _copies);
+               });
+
+               for (var id in _copies) {
+                   graph = graph.replace(_copies[id]);
+               }
+
+               return graph;
+           };
+
+
+           action.copies = function() {
+               return _copies;
+           };
+
+
+           return action;
+       }
+
+       function actionDeleteMember(relationId, memberIndex) {
+           return function(graph) {
+               var relation = graph.entity(relationId)
+                   .removeMember(memberIndex);
+
+               graph = graph.replace(relation);
+
+               if (relation.isDegenerate())
+                   graph = actionDeleteRelation(relation.id)(graph);
+
+               return graph;
+           };
+       }
+
+       function actionDiscardTags(difference) {
+
+           return function(graph) {
+               function discardTags(entity) {
+                   var tags = {};
+                   var keys = Object.keys(entity.tags);
+                   var discarded = false;
+
+                   for (var i = 0; i < keys.length; i++) {
+                       var k = keys[i];
+                       if (dataDiscarded[k] || !entity.tags[k]) {
+                           discarded = true;
+                       } else {
+                           tags[k] = entity.tags[k];
+                       }
+                   }
+
+                   if (discarded) {
+                       graph = graph.replace(entity.update({ tags: tags }));
+                   }
+               }
+
+               difference.modified().forEach(discardTags);
+               difference.created().forEach(discardTags);
+
+               return graph;
+           };
+       }
+
+       // Disconect the ways at the given node.
+       //
+       // Optionally, disconnect only the given ways.
+       //
+       // For testing convenience, accepts an ID to assign to the (first) new node.
+       // Normally, this will be undefined and the way will automatically
+       // be assigned a new ID.
+       //
+       // This is the inverse of `iD.actionConnect`.
+       //
+       // Reference:
+       //   https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/UnjoinNodeAction.as
+       //   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/UnGlueAction.java
+       //
+       function actionDisconnect(nodeId, newNodeId) {
+           var wayIds;
+
+
+           var action = function(graph) {
+               var node = graph.entity(nodeId);
+               var connections = action.connections(graph);
+
+               connections.forEach(function(connection) {
+                   var way = graph.entity(connection.wayID);
+                   var newNode = osmNode({id: newNodeId, loc: node.loc, tags: node.tags});
+
+                   graph = graph.replace(newNode);
+                   if (connection.index === 0 && way.isArea()) {
+                       // replace shared node with shared node..
+                       graph = graph.replace(way.replaceNode(way.nodes[0], newNode.id));
+                   } else if (way.isClosed() && connection.index === way.nodes.length - 1) {
+                       // replace closing node with new new node..
+                       graph = graph.replace(way.unclose().addNode(newNode.id));
+                   } else {
+                       // replace shared node with multiple new nodes..
+                       graph = graph.replace(way.updateNode(newNode.id, connection.index));
+                   }
+               });
+
+               return graph;
+           };
+
+
+           action.connections = function(graph) {
+               var candidates = [];
+               var keeping = false;
+               var parentWays = graph.parentWays(graph.entity(nodeId));
+
+               parentWays.forEach(function(way) {
+                   if (wayIds && wayIds.indexOf(way.id) === -1) {
+                       keeping = true;
+                       return;
+                   }
+                   if (way.isArea() && (way.nodes[0] === nodeId)) {
+                       candidates.push({ wayID: way.id, index: 0 });
+                   } else {
+                       way.nodes.forEach(function(waynode, index) {
+                           if (waynode === nodeId) {
+                               if (way.isClosed() && parentWays.length > 1 && wayIds && wayIds.indexOf(way.id) !== -1 && index === way.nodes.length-1) {
+                                   return;
+                               }
+                               candidates.push({ wayID: way.id, index: index });
+                           }
+                       });
+                   }
+               });
+
+               return keeping ? candidates : candidates.slice(1);
+           };
+
+
+           action.disabled = function(graph) {
+               var connections = action.connections(graph);
+               if (connections.length === 0)
+                   return 'not_connected';
+
+               var parentWays = graph.parentWays(graph.entity(nodeId));
+               var seenRelationIds = {};
+               var sharedRelation;
+
+               parentWays.forEach(function(way) {
+                   var relations = graph.parentRelations(way);
+                   relations.forEach(function(relation) {
+                       if (relation.id in seenRelationIds) {
+                           if (wayIds) {
+                               if (wayIds.indexOf(way.id) !== -1 ||
+                                   wayIds.indexOf(seenRelationIds[relation.id]) !== -1) {
+                                   sharedRelation = relation;
+                               }
+                           } else {
+                               sharedRelation = relation;
+                           }
+                       } else {
+                           seenRelationIds[relation.id] = way.id;
+                       }
+                   });
+               });
+
+               if (sharedRelation)
+                   return 'relation';
+           };
+
+
+           action.limitWays = function(val) {
+               if (!arguments.length) return wayIds;
+               wayIds = val;
+               return action;
+           };
+
+
+           return action;
+       }
+
+       function actionExtract(entityID, projection) {
+
+           var extractedNodeID;
+
+           var action = function(graph) {
+               var entity = graph.entity(entityID);
+
+               if (entity.type === 'node') {
+                   return extractFromNode(entity, graph);
+               }
+
+               return extractFromArea(entity, graph);
+           };
+
+           function extractFromNode(node, graph) {
+
+               extractedNodeID = node.id;
+
+               // Create a new node to replace the one we will detach
+               var replacement = osmNode({ loc: node.loc });
+               graph = graph.replace(replacement);
+
+               // Process each way in turn, updating the graph as we go
+               graph = graph.parentWays(node)
+                   .reduce(function(accGraph, parentWay) {
+                       return accGraph.replace(parentWay.replaceNode(entityID, replacement.id));
+                   }, graph);
+
+               // Process any relations too
+               return graph.parentRelations(node)
+                   .reduce(function(accGraph, parentRel) {
+                       return accGraph.replace(parentRel.replaceMember(node, replacement));
+                   }, graph);
+           }
+
+           function extractFromArea(entity, graph) {
+
+               var keysToCopyAndRetain = ['source', 'wheelchair'];
+               var keysToRetain = ['type'];
+               var buildingKeysToRetain = ['architect', 'building', 'height', 'layer'];
+
+               var centroid = d3_geoPath(projection).centroid(entity.asGeoJSON(graph, true));
+
+               var isBuilding = entity.tags.building;
+
+               var areaTags = Object.assign({}, entity.tags);  // shallow copy
+               var pointTags = {};
+               for (var key in areaTags) {
+
+                   if (keysToRetain.indexOf(key) !== -1) {
+                       continue;
+                   }
+
+                   if (isBuilding) {
+                       // don't transfer building-related tags
+                       if (buildingKeysToRetain.indexOf(key) !== -1 ||
+                           key.match(/^building:.{1,}/) ||
+                           key.match(/^roof:.{1,}/)) continue;
+                   }
+
+                   // copy the tag from the area to the point
+                   pointTags[key] = areaTags[key];
+
+                   // leave addresses and some other tags so they're on both features
+                   if (keysToCopyAndRetain.indexOf(key) !== -1 || key.match(/^addr:.{1,}/)) {
+                       continue;
+                   }
+
+                   // remove the tag from the area
+                   delete areaTags[key];
+               }
+
+               if (!isBuilding) {
+                   // ensure that the area keeps the area geometry
+                   areaTags.area = 'yes';
+               }
+
+               var replacement = osmNode({ loc: centroid, tags: pointTags });
+               graph = graph.replace(replacement);
+
+               extractedNodeID = replacement.id;
+
+               return graph.replace(entity.update({tags: areaTags}));
+           }
+
+           action.getExtractedNodeID = function() {
+               return extractedNodeID;
+           };
+
+           action.disabled = function(graph) {
+               var entity = graph.entity(entityID);
+
+               if (entity.type === 'node') {
+                   var parentRels = graph.parentRelations(entity);
+                   for (var i = 0; i < parentRels.length; i++) {
+                       var relation = parentRels[i];
+                       if (!relation.hasFromViaTo()) continue;
+
+                       for (var j = 0; j < relation.members.length; j++) {
+                           var m = relation.members[j];
+                           if (m.id === entityID && (m.role === 'via' || m.role === 'location_hint')) {
+                               return 'restriction';
+                           }
+                       }
+                   }
+               }
+
+               return false;
+           };
+
+
+           return action;
+       }
+
+       // Join ways at the end node they share.
+       //
+       // This is the inverse of `iD.actionSplit`.
+       //
+       // Reference:
+       //   https://github.com/systemed/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MergeWaysAction.as
+       //   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/CombineWayAction.java
+       //
+       function actionJoin(ids) {
+
+           function groupEntitiesByGeometry(graph) {
+               var entities = ids.map(function(id) { return graph.entity(id); });
+               return Object.assign(
+                   { line: [] },
+                   utilArrayGroupBy(entities, function(entity) { return entity.geometry(graph); })
+               );
+           }
+
+
+           var action = function(graph) {
+               var ways = ids.map(graph.entity, graph);
+               var survivorID = ways[0].id;
+
+               // if any of the ways are sided (e.g. coastline, cliff, kerb)
+               // sort them first so they establish the overall order - #6033
+               ways.sort(function(a, b) {
+                   var aSided = a.isSided();
+                   var bSided = b.isSided();
+                   return (aSided && !bSided) ? -1
+                       : (bSided && !aSided) ? 1
+                       : 0;
+               });
+
+               // Prefer to keep an existing way.
+               for (var i = 0; i < ways.length; i++) {
+                   if (!ways[i].isNew()) {
+                       survivorID = ways[i].id;
+                       break;
+                   }
+               }
+
+               var sequences = osmJoinWays(ways, graph);
+               var joined = sequences[0];
+
+               // We might need to reverse some of these ways before joining them.  #4688
+               // `joined.actions` property will contain any actions we need to apply.
+               graph = sequences.actions.reduce(function(g, action) { return action(g); }, graph);
+
+               var survivor = graph.entity(survivorID);
+               survivor = survivor.update({ nodes: joined.nodes.map(function(n) { return n.id; }) });
+               graph = graph.replace(survivor);
+
+               joined.forEach(function(way) {
+                   if (way.id === survivorID) return;
+
+                   graph.parentRelations(way).forEach(function(parent) {
+                       graph = graph.replace(parent.replaceMember(way, survivor));
+                   });
+
+                   survivor = survivor.mergeTags(way.tags);
+
+                   graph = graph.replace(survivor);
+                   graph = actionDeleteWay(way.id)(graph);
+               });
+
+               return graph;
+           };
+
+
+           action.disabled = function(graph) {
+               var geometries = groupEntitiesByGeometry(graph);
+               if (ids.length < 2 || ids.length !== geometries.line.length) {
+                   return 'not_eligible';
+               }
+
+               var joined = osmJoinWays(ids.map(graph.entity, graph), graph);
+               if (joined.length > 1) {
+                   return 'not_adjacent';
+               }
+
+               // Loop through all combinations of path-pairs
+               // to check potential intersections between all pairs
+               for (var i = 0; i < ids.length - 1; i++) {
+                   for (var j = i + 1; j < ids.length; j++) {
+                       var path1 = graph.childNodes(graph.entity(ids[i]))
+                           .map(function(e) { return e.loc; });
+                       var path2 = graph.childNodes(graph.entity(ids[j]))
+                           .map(function(e) { return e.loc; });
+                       var intersections = geoPathIntersections(path1, path2);
+
+                       // Check if intersections are just nodes lying on top of
+                       // each other/the line, as opposed to crossing it
+                       var common = utilArrayIntersection(
+                           joined[0].nodes.map(function(n) { return n.loc.toString(); }),
+                           intersections.map(function(n) { return n.toString(); })
+                       );
+                       if (common.length !== intersections.length) {
+                           return 'paths_intersect';
+                       }
+                   }
+               }
+
+               var nodeIds = joined[0].nodes.map(function(n) { return n.id; }).slice(1, -1);
+               var relation;
+               var tags = {};
+               var conflicting = false;
+
+               joined[0].forEach(function(way) {
+                   var parents = graph.parentRelations(way);
+                   parents.forEach(function(parent) {
+                       if (parent.isRestriction() && parent.members.some(function(m) { return nodeIds.indexOf(m.id) >= 0; })) {
+                           relation = parent;
+                       }
+                   });
+
+                   for (var k in way.tags) {
+                       if (!(k in tags)) {
+                           tags[k] = way.tags[k];
+                       } else if (tags[k] && osmIsInterestingTag(k) && tags[k] !== way.tags[k]) {
+                           conflicting = true;
+                       }
+                   }
+               });
+
+               if (relation) {
+                   return 'restriction';
+               }
+
+               if (conflicting) {
+                   return 'conflicting_tags';
+               }
+           };
+
+
+           return action;
+       }
+
+       function actionMerge(ids) {
+
+           function groupEntitiesByGeometry(graph) {
+               var entities = ids.map(function(id) { return graph.entity(id); });
+               return Object.assign(
+                   { point: [], area: [], line: [], relation: [] },
+                   utilArrayGroupBy(entities, function(entity) { return entity.geometry(graph); })
+               );
+           }
+
+
+           var action = function(graph) {
+               var geometries = groupEntitiesByGeometry(graph);
+               var target = geometries.area[0] || geometries.line[0];
+               var points = geometries.point;
+
+               points.forEach(function(point) {
+                   target = target.mergeTags(point.tags);
+                   graph = graph.replace(target);
+
+                   graph.parentRelations(point).forEach(function(parent) {
+                       graph = graph.replace(parent.replaceMember(point, target));
+                   });
+
+                   var nodes = utilArrayUniq(graph.childNodes(target));
+                   var removeNode = point;
+
+                   for (var i = 0; i < nodes.length; i++) {
+                       var node = nodes[i];
+                       if (graph.parentWays(node).length > 1 ||
+                           graph.parentRelations(node).length ||
+                           node.hasInterestingTags()) {
+                           continue;
+                       }
+
+                       // Found an uninteresting child node on the target way.
+                       // Move orig point into its place to preserve point's history. #3683
+                       graph = graph.replace(point.update({ tags: {}, loc: node.loc }));
+                       target = target.replaceNode(node.id, point.id);
+                       graph = graph.replace(target);
+                       removeNode = node;
+                       break;
+                   }
+
+                   graph = graph.remove(removeNode);
+               });
+
+               return graph;
+           };
+
+
+           action.disabled = function(graph) {
+               var geometries = groupEntitiesByGeometry(graph);
+               if (geometries.point.length === 0 ||
+                   (geometries.area.length + geometries.line.length) !== 1 ||
+                   geometries.relation.length !== 0) {
+                   return 'not_eligible';
+               }
+           };
+
+
+           return action;
+       }
+
+       // `actionMergeNodes` is just a combination of:
+       //
+       // 1. move all the nodes to a common location
+       // 2. `actionConnect` them
+
+       function actionMergeNodes(nodeIDs, loc) {
+
+           // If there is a single "interesting" node, use that as the location.
+           // Otherwise return the average location of all the nodes.
+           function chooseLoc(graph) {
+               if (!nodeIDs.length) return null;
+               var sum = [0,0];
+               var interestingCount = 0;
+               var interestingLoc;
+
+               for (var i = 0; i < nodeIDs.length; i++) {
+                   var node = graph.entity(nodeIDs[i]);
+                   if (node.hasInterestingTags()) {
+                       interestingLoc = (++interestingCount === 1) ? node.loc : null;
+                   }
+                   sum = geoVecAdd(sum, node.loc);
+               }
+
+               return interestingLoc || geoVecScale(sum, 1 / nodeIDs.length);
+           }
+
+
+           var action = function(graph) {
+               if (nodeIDs.length < 2) return graph;
+               var toLoc = loc;
+               if (!toLoc) {
+                   toLoc = chooseLoc(graph);
+               }
+
+               for (var i = 0; i < nodeIDs.length; i++) {
+                   var node = graph.entity(nodeIDs[i]);
+                   if (node.loc !== toLoc) {
+                       graph = graph.replace(node.move(toLoc));
+                   }
+               }
+
+               return actionConnect(nodeIDs)(graph);
+           };
+
+
+           action.disabled = function(graph) {
+               if (nodeIDs.length < 2) return 'not_eligible';
+
+               for (var i = 0; i < nodeIDs.length; i++) {
+                   var entity = graph.entity(nodeIDs[i]);
+                   if (entity.type !== 'node') return 'not_eligible';
+               }
+
+               return actionConnect(nodeIDs).disabled(graph);
+           };
+
+           return action;
+       }
+
+       function osmChangeset() {
+           if (!(this instanceof osmChangeset)) {
+               return (new osmChangeset()).initialize(arguments);
+           } else if (arguments.length) {
+               this.initialize(arguments);
+           }
+       }
+
+
+       osmEntity.changeset = osmChangeset;
+
+       osmChangeset.prototype = Object.create(osmEntity.prototype);
+
+       Object.assign(osmChangeset.prototype, {
+
+           type: 'changeset',
+
+
+           extent: function() {
+               return new geoExtent();
+           },
+
+
+           geometry: function() {
+               return 'changeset';
+           },
+
+
+           asJXON: function() {
+               return {
+                   osm: {
+                       changeset: {
+                           tag: Object.keys(this.tags).map(function(k) {
+                               return { '@k': k, '@v': this.tags[k] };
+                           }, this),
+                           '@version': 0.6,
+                           '@generator': 'iD'
+                       }
+                   }
+               };
+           },
+
+
+           // Generate [osmChange](http://wiki.openstreetmap.org/wiki/OsmChange)
+           // XML. Returns a string.
+           osmChangeJXON: function(changes) {
+               var changeset_id = this.id;
+
+               function nest(x, order) {
+                   var groups = {};
+                   for (var i = 0; i < x.length; i++) {
+                       var tagName = Object.keys(x[i])[0];
+                       if (!groups[tagName]) groups[tagName] = [];
+                       groups[tagName].push(x[i][tagName]);
+                   }
+                   var ordered = {};
+                   order.forEach(function(o) {
+                       if (groups[o]) ordered[o] = groups[o];
+                   });
+                   return ordered;
+               }
+
+
+               // sort relations in a changeset by dependencies
+               function sort(changes) {
+
+                   // find a referenced relation in the current changeset
+                   function resolve(item) {
+                       return relations.find(function(relation) {
+                           return item.keyAttributes.type === 'relation'
+                               && item.keyAttributes.ref === relation['@id'];
+                       });
+                   }
+
+                   // a new item is an item that has not been already processed
+                   function isNew(item) {
+                       return !sorted[ item['@id'] ] && !processing.find(function(proc) {
+                           return proc['@id'] === item['@id'];
+                       });
+                   }
+
+                   var processing = [];
+                   var sorted = {};
+                   var relations = changes.relation;
+
+                   if (!relations) return changes;
+
+                   for (var i = 0; i < relations.length; i++) {
+                       var relation = relations[i];
+
+                       // skip relation if already sorted
+                       if (!sorted[relation['@id']]) {
+                           processing.push(relation);
+                       }
+
+                       while (processing.length > 0) {
+                           var next = processing[0],
+                           deps = next.member.map(resolve).filter(Boolean).filter(isNew);
+                           if (deps.length === 0) {
+                               sorted[next['@id']] = next;
+                               processing.shift();
+                           } else {
+                               processing = deps.concat(processing);
+                           }
+                       }
+                   }
+
+                   changes.relation = Object.values(sorted);
+                   return changes;
+               }
+
+               function rep(entity) {
+                   return entity.asJXON(changeset_id);
+               }
+
+               return {
+                   osmChange: {
+                       '@version': 0.6,
+                       '@generator': 'iD',
+                       'create': sort(nest(changes.created.map(rep), ['node', 'way', 'relation'])),
+                       'modify': nest(changes.modified.map(rep), ['node', 'way', 'relation']),
+                       'delete': Object.assign(nest(changes.deleted.map(rep), ['relation', 'way', 'node']), { '@if-unused': true })
+                   }
+               };
+           },
+
+
+           asGeoJSON: function() {
+               return {};
+           }
+
+       });
+
+       function osmNote() {
+           if (!(this instanceof osmNote)) {
+               return (new osmNote()).initialize(arguments);
+           } else if (arguments.length) {
+               this.initialize(arguments);
+           }
+       }
+
+
+       osmNote.id = function() {
+           return osmNote.id.next--;
+       };
+
+
+       osmNote.id.next = -1;
+
+
+       Object.assign(osmNote.prototype, {
+
+           type: 'note',
+
+           initialize: function(sources) {
+               for (var i = 0; i < sources.length; ++i) {
+                   var source = sources[i];
+                   for (var prop in source) {
+                       if (Object.prototype.hasOwnProperty.call(source, prop)) {
+                           if (source[prop] === undefined) {
+                               delete this[prop];
+                           } else {
+                               this[prop] = source[prop];
+                           }
+                       }
+                   }
+               }
+
+               if (!this.id) {
+                   this.id = osmNote.id() + '';  // as string
+               }
+
+               return this;
+           },
+
+           extent: function() {
+               return new geoExtent(this.loc);
+           },
+
+           update: function(attrs) {
+               return osmNote(this, attrs); // {v: 1 + (this.v || 0)}
+           },
+
+           isNew: function() {
+               return this.id < 0;
+           },
+
+           move: function(loc) {
+               return this.update({ loc: loc });
+           }
+
+       });
+
+       function osmRelation() {
+           if (!(this instanceof osmRelation)) {
+               return (new osmRelation()).initialize(arguments);
+           } else if (arguments.length) {
+               this.initialize(arguments);
+           }
+       }
+
+
+       osmEntity.relation = osmRelation;
+
+       osmRelation.prototype = Object.create(osmEntity.prototype);
+
+
+       osmRelation.creationOrder = function(a, b) {
+           var aId = parseInt(osmEntity.id.toOSM(a.id), 10);
+           var bId = parseInt(osmEntity.id.toOSM(b.id), 10);
+
+           if (aId < 0 || bId < 0) return aId - bId;
+           return bId - aId;
+       };
+
+
+       Object.assign(osmRelation.prototype, {
+           type: 'relation',
+           members: [],
+
+
+           copy: function(resolver, copies) {
+               if (copies[this.id]) return copies[this.id];
+
+               var copy = osmEntity.prototype.copy.call(this, resolver, copies);
+
+               var members = this.members.map(function(member) {
+                   return Object.assign({}, member, { id: resolver.entity(member.id).copy(resolver, copies).id });
+               });
+
+               copy = copy.update({members: members});
+               copies[this.id] = copy;
+
+               return copy;
+           },
+
+
+           extent: function(resolver, memo) {
+               return resolver.transient(this, 'extent', function() {
+                   if (memo && memo[this.id]) return geoExtent();
+                   memo = memo || {};
+                   memo[this.id] = true;
+
+                   var extent = geoExtent();
+                   for (var i = 0; i < this.members.length; i++) {
+                       var member = resolver.hasEntity(this.members[i].id);
+                       if (member) {
+                           extent._extend(member.extent(resolver, memo));
+                       }
+                   }
+                   return extent;
+               });
+           },
+
+
+           geometry: function(graph) {
+               return graph.transient(this, 'geometry', function() {
+                   return this.isMultipolygon() ? 'area' : 'relation';
+               });
+           },
+
+
+           isDegenerate: function() {
+               return this.members.length === 0;
+           },
+
+
+           // Return an array of members, each extended with an 'index' property whose value
+           // is the member index.
+           indexedMembers: function() {
+               var result = new Array(this.members.length);
+               for (var i = 0; i < this.members.length; i++) {
+                   result[i] = Object.assign({}, this.members[i], {index: i});
+               }
+               return result;
+           },
+
+
+           // Return the first member with the given role. A copy of the member object
+           // is returned, extended with an 'index' property whose value is the member index.
+           memberByRole: function(role) {
+               for (var i = 0; i < this.members.length; i++) {
+                   if (this.members[i].role === role) {
+                       return Object.assign({}, this.members[i], {index: i});
+                   }
+               }
+           },
+
+           // Same as memberByRole, but returns all members with the given role
+           membersByRole: function(role) {
+               var result = [];
+               for (var i = 0; i < this.members.length; i++) {
+                   if (this.members[i].role === role) {
+                       result.push(Object.assign({}, this.members[i], {index: i}));
+                   }
+               }
+               return result;
+           },
+
+           // Return the first member with the given id. A copy of the member object
+           // is returned, extended with an 'index' property whose value is the member index.
+           memberById: function(id) {
+               for (var i = 0; i < this.members.length; i++) {
+                   if (this.members[i].id === id) {
+                       return Object.assign({}, this.members[i], {index: i});
+                   }
+               }
+           },
+
+
+           // Return the first member with the given id and role. A copy of the member object
+           // is returned, extended with an 'index' property whose value is the member index.
+           memberByIdAndRole: function(id, role) {
+               for (var i = 0; i < this.members.length; i++) {
+                   if (this.members[i].id === id && this.members[i].role === role) {
+                       return Object.assign({}, this.members[i], {index: i});
+                   }
+               }
+           },
+
+
+           addMember: function(member, index) {
+               var members = this.members.slice();
+               members.splice(index === undefined ? members.length : index, 0, member);
+               return this.update({members: members});
+           },
+
+
+           updateMember: function(member, index) {
+               var members = this.members.slice();
+               members.splice(index, 1, Object.assign({}, members[index], member));
+               return this.update({members: members});
+           },
+
+
+           removeMember: function(index) {
+               var members = this.members.slice();
+               members.splice(index, 1);
+               return this.update({members: members});
+           },
+
+
+           removeMembersWithID: function(id) {
+               var members = this.members.filter(function(m) { return m.id !== id; });
+               return this.update({members: members});
+           },
+
+           moveMember: function(fromIndex, toIndex) {
+               var members = this.members.slice();
+               members.splice(toIndex, 0, members.splice(fromIndex, 1)[0]);
+               return this.update({members: members});
+           },
+
+
+           // Wherever a member appears with id `needle.id`, replace it with a member
+           // with id `replacement.id`, type `replacement.type`, and the original role,
+           // By default, adding a duplicate member (by id and role) is prevented.
+           // Return an updated relation.
+           replaceMember: function(needle, replacement, keepDuplicates) {
+               if (!this.memberById(needle.id)) return this;
+
+               var members = [];
+
+               for (var i = 0; i < this.members.length; i++) {
+                   var member = this.members[i];
+                   if (member.id !== needle.id) {
+                       members.push(member);
+                   } else if (keepDuplicates || !this.memberByIdAndRole(replacement.id, member.role)) {
+                       members.push({ id: replacement.id, type: replacement.type, role: member.role });
+                   }
+               }
+
+               return this.update({ members: members });
+           },
+
+
+           asJXON: function(changeset_id) {
+               var r = {
+                   relation: {
+                       '@id': this.osmId(),
+                       '@version': this.version || 0,
+                       member: this.members.map(function(member) {
+                           return {
+                               keyAttributes: {
+                                   type: member.type,
+                                   role: member.role,
+                                   ref: osmEntity.id.toOSM(member.id)
+                               }
+                           };
+                       }, this),
+                       tag: Object.keys(this.tags).map(function(k) {
+                           return { keyAttributes: { k: k, v: this.tags[k] } };
+                       }, this)
+                   }
+               };
+               if (changeset_id) {
+                   r.relation['@changeset'] = changeset_id;
+               }
+               return r;
+           },
+
+
+           asGeoJSON: function(resolver) {
+               return resolver.transient(this, 'GeoJSON', function () {
+                   if (this.isMultipolygon()) {
+                       return {
+                           type: 'MultiPolygon',
+                           coordinates: this.multipolygon(resolver)
+                       };
+                   } else {
+                       return {
+                           type: 'FeatureCollection',
+                           properties: this.tags,
+                           features: this.members.map(function (member) {
+                               return Object.assign({role: member.role}, resolver.entity(member.id).asGeoJSON(resolver));
+                           })
+                       };
+                   }
+               });
+           },
+
+
+           area: function(resolver) {
+               return resolver.transient(this, 'area', function() {
+                   return d3_geoArea(this.asGeoJSON(resolver));
+               });
+           },
+
+
+           isMultipolygon: function() {
+               return this.tags.type === 'multipolygon';
+           },
+
+
+           isComplete: function(resolver) {
+               for (var i = 0; i < this.members.length; i++) {
+                   if (!resolver.hasEntity(this.members[i].id)) {
+                       return false;
+                   }
+               }
+               return true;
+           },
+
+
+           hasFromViaTo: function() {
+               return (
+                   this.members.some(function(m) { return m.role === 'from'; }) &&
+                   this.members.some(function(m) { return m.role === 'via'; }) &&
+                   this.members.some(function(m) { return m.role === 'to'; })
+               );
+           },
+
+
+           isRestriction: function() {
+               return !!(this.tags.type && this.tags.type.match(/^restriction:?/));
+           },
+
+
+           isValidRestriction: function() {
+               if (!this.isRestriction()) return false;
+
+               var froms = this.members.filter(function(m) { return m.role === 'from'; });
+               var vias = this.members.filter(function(m) { return m.role === 'via'; });
+               var tos = this.members.filter(function(m) { return m.role === 'to'; });
+
+               if (froms.length !== 1 && this.tags.restriction !== 'no_entry') return false;
+               if (froms.some(function(m) { return m.type !== 'way'; })) return false;
+
+               if (tos.length !== 1 && this.tags.restriction !== 'no_exit') return false;
+               if (tos.some(function(m) { return m.type !== 'way'; })) return false;
+
+               if (vias.length === 0) return false;
+               if (vias.length > 1 && vias.some(function(m) { return m.type !== 'way'; })) return false;
+
+               return true;
+           },
+
+
+           // Returns an array [A0, ... An], each Ai being an array of node arrays [Nds0, ... Ndsm],
+           // where Nds0 is an outer ring and subsequent Ndsi's (if any i > 0) being inner rings.
+           //
+           // This corresponds to the structure needed for rendering a multipolygon path using a
+           // `evenodd` fill rule, as well as the structure of a GeoJSON MultiPolygon geometry.
+           //
+           // In the case of invalid geometries, this function will still return a result which
+           // includes the nodes of all way members, but some Nds may be unclosed and some inner
+           // rings not matched with the intended outer ring.
+           //
+           multipolygon: function(resolver) {
+               var outers = this.members.filter(function(m) { return 'outer' === (m.role || 'outer'); });
+               var inners = this.members.filter(function(m) { return 'inner' === m.role; });
+
+               outers = osmJoinWays(outers, resolver);
+               inners = osmJoinWays(inners, resolver);
+
+               outers = outers.map(function(outer) {
+                   return outer.nodes.map(function(node) { return node.loc; });
+               });
+               inners = inners.map(function(inner) {
+                   return inner.nodes.map(function(node) { return node.loc; });
+               });
+
+               var result = outers.map(function(o) {
+                   // Heuristic for detecting counterclockwise winding order. Assumes
+                   // that OpenStreetMap polygons are not hemisphere-spanning.
+                   return [d3_geoArea({ type: 'Polygon', coordinates: [o] }) > 2 * Math.PI ? o.reverse() : o];
+               });
+
+               function findOuter(inner) {
+                   var o, outer;
+
+                   for (o = 0; o < outers.length; o++) {
+                       outer = outers[o];
+                       if (geoPolygonContainsPolygon(outer, inner))
+                           return o;
+                   }
+
+                   for (o = 0; o < outers.length; o++) {
+                       outer = outers[o];
+                       if (geoPolygonIntersectsPolygon(outer, inner, false))
+                           return o;
+                   }
+               }
+
+               for (var i = 0; i < inners.length; i++) {
+                   var inner = inners[i];
+
+                   if (d3_geoArea({ type: 'Polygon', coordinates: [inner] }) < 2 * Math.PI) {
+                       inner = inner.reverse();
+                   }
+
+                   var o = findOuter(inners[i]);
+                   if (o !== undefined) {
+                       result[o].push(inners[i]);
+                   } else {
+                       result.push([inners[i]]); // Invalid geometry
+                   }
+               }
+
+               return result;
+           }
+       });
+
+       var services = {improveOSM:{errorTypes:{ow:{icon:"fas-long-arrow-alt-right",category:"routing"},"mr-both":{icon:"maki-car",category:"geometry"},"mr-parking":{icon:"maki-parking",category:"geometry"},"mr-path":{icon:"maki-shoe",category:"geometry"},"mr-road":{icon:"maki-car",category:"geometry"},tr:{icon:"temaki-junction",category:"routing"}}},keepRight:{errorTypes:{}}};
+
+       function qaError() {
+           if (!(this instanceof qaError)) {
+               return (new qaError()).initialize(arguments);
+           } else if (arguments.length) {
+               this.initialize(arguments);
+           }
+       }
+
+       // Generic handling for services without nice IDs
+       qaError.id = function() {
+           return qaError.id.next--;
+       };
+
+       qaError.id.next = -1;
+
+       Object.assign(qaError.prototype, {
+           type: 'qaError',
+
+           // All errors need a position
+           loc: [0, 0],
+
+           // These should be passed in, used to retrieve from qa_errors.json
+           service: '',
+           error_type: '',
+
+           initialize: function(sources) {
+               for (var i = 0; i < sources.length; ++i) {
+                   var source = sources[i];
+                   for (var prop in source) {
+                       if (Object.prototype.hasOwnProperty.call(source, prop)) {
+                           if (source[prop] === undefined) {
+                               delete this[prop];
+                           } else {
+                               this[prop] = source[prop];
+                           }
+                       }
+                   }
+               }
+
+               // Extract common error information from data
+               if (this.service && this.error_type) {
+                   var serviceInfo = services[this.service];
+
+                   if (serviceInfo) {
+                       var errInfo = serviceInfo.errorTypes[this.error_type];
+
+                       if (errInfo) {
+                           this.icon = errInfo.icon;
+                           this.category = errInfo.category;
+                       }
+                   }
+               }
+
+               // All errors must have an ID for selection
+               if (!this.id) {
+                   this.id = qaError.id() + '';  // as string
+               }
+
+               return this;
+           },
+
+           update: function(attrs) {
+               return qaError(this, attrs); // {v: 1 + (this.v || 0)}
+           }
+       });
+
+       // Split a way at the given node.
+       //
+       // Optionally, split only the given ways, if multiple ways share
+       // the given node.
+       //
+       // This is the inverse of `iD.actionJoin`.
+       //
+       // For testing convenience, accepts an ID to assign to the new way.
+       // Normally, this will be undefined and the way will automatically
+       // be assigned a new ID.
+       //
+       // Reference:
+       //   https://github.com/systemed/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/SplitWayAction.as
+       //
+       function actionSplit(nodeId, newWayIds) {
+           var _wayIDs;
+
+           // If the way is closed, we need to search for a partner node
+           // to split the way at.
+           //
+           // The following looks for a node that is both far away from
+           // the initial node in terms of way segment length and nearby
+           // in terms of beeline-distance. This assures that areas get
+           // split on the most "natural" points (independent of the number
+           // of nodes).
+           // For example: bone-shaped areas get split across their waist
+           // line, circles across the diameter.
+           function splitArea(nodes, idxA, graph) {
+               var lengths = new Array(nodes.length);
+               var length;
+               var i;
+               var best = 0;
+               var idxB;
+
+               function wrap(index) {
+                   return utilWrap(index, nodes.length);
+               }
+
+               function dist(nA, nB) {
+                   var locA = graph.entity(nA).loc;
+                   var locB = graph.entity(nB).loc;
+                   var epsilon = 1e-6;
+                   return (locA && locB) ? geoSphericalDistance(locA, locB) : epsilon;
+               }
+
+               // calculate lengths
+               length = 0;
+               for (i = wrap(idxA + 1); i !== idxA; i = wrap(i + 1)) {
+                   length += dist(nodes[i], nodes[wrap(i - 1)]);
+                   lengths[i] = length;
+               }
+
+               length = 0;
+               for (i = wrap(idxA - 1); i !== idxA; i = wrap(i - 1)) {
+                   length += dist(nodes[i], nodes[wrap(i + 1)]);
+                   if (length < lengths[i]) {
+                       lengths[i] = length;
+                   }
+               }
+
+               // determine best opposite node to split
+               for (i = 0; i < nodes.length; i++) {
+                   var cost = lengths[i] / dist(nodes[idxA], nodes[i]);
+                   if (cost > best) {
+                       idxB = i;
+                       best = cost;
+                   }
+               }
+
+               return idxB;
+           }
+
+
+           function split(graph, wayA, newWayId) {
+               var wayB = osmWay({ id: newWayId, tags: wayA.tags });   // `wayB` is the NEW way
+               var origNodes = wayA.nodes.slice();
+               var nodesA;
+               var nodesB;
+               var isArea = wayA.isArea();
+               var isOuter = osmIsOldMultipolygonOuterMember(wayA, graph);
+
+               if (wayA.isClosed()) {
+                   var nodes = wayA.nodes.slice(0, -1);
+                   var idxA = nodes.indexOf(nodeId);
+                   var idxB = splitArea(nodes, idxA, graph);
+
+                   if (idxB < idxA) {
+                       nodesA = nodes.slice(idxA).concat(nodes.slice(0, idxB + 1));
+                       nodesB = nodes.slice(idxB, idxA + 1);
+                   } else {
+                       nodesA = nodes.slice(idxA, idxB + 1);
+                       nodesB = nodes.slice(idxB).concat(nodes.slice(0, idxA + 1));
+                   }
+               } else {
+                   var idx = wayA.nodes.indexOf(nodeId, 1);
+                   nodesA = wayA.nodes.slice(0, idx + 1);
+                   nodesB = wayA.nodes.slice(idx);
+               }
+
+               wayA = wayA.update({ nodes: nodesA });
+               wayB = wayB.update({ nodes: nodesB });
+
+               graph = graph.replace(wayA);
+               graph = graph.replace(wayB);
+
+               graph.parentRelations(wayA).forEach(function(relation) {
+                   var member;
+
+                   // Turn restrictions - make sure:
+                   // 1. Splitting a FROM/TO way - only `wayA` OR `wayB` remains in relation
+                   //    (whichever one is connected to the VIA node/ways)
+                   // 2. Splitting a VIA way - `wayB` remains in relation as a VIA way
+                   if (relation.hasFromViaTo()) {
+                       var f = relation.memberByRole('from');
+                       var v = relation.membersByRole('via');
+                       var t = relation.memberByRole('to');
+                       var i;
+
+                       // 1. split a FROM/TO
+                       if (f.id === wayA.id || t.id === wayA.id) {
+                           var keepB = false;
+                           if (v.length === 1 && v[0].type === 'node') {   // check via node
+                               keepB = wayB.contains(v[0].id);
+                           } else {                                        // check via way(s)
+                               for (i = 0; i < v.length; i++) {
+                                   if (v[i].type === 'way') {
+                                       var wayVia = graph.hasEntity(v[i].id);
+                                       if (wayVia && utilArrayIntersection(wayB.nodes, wayVia.nodes).length) {
+                                           keepB = true;
+                                           break;
+                                       }
+                                   }
+                               }
+                           }
+
+                           if (keepB) {
+                               relation = relation.replaceMember(wayA, wayB);
+                               graph = graph.replace(relation);
+                           }
+
+                       // 2. split a VIA
+                       } else {
+                           for (i = 0; i < v.length; i++) {
+                               if (v[i].type === 'way' && v[i].id === wayA.id) {
+                                   member = {
+                                       id: wayB.id,
+                                       type: 'way',
+                                       role: 'via'
+                                   };
+                                   graph = actionAddMember(relation.id, member, v[i].index + 1)(graph);
+                                   break;
+                               }
+                           }
+                       }
+
+                   // All other relations (Routes, Multipolygons, etc):
+                   // 1. Both `wayA` and `wayB` remain in the relation
+                   // 2. But must be inserted as a pair (see `actionAddMember` for details)
+                   } else {
+                       if (relation === isOuter) {
+                           graph = graph.replace(relation.mergeTags(wayA.tags));
+                           graph = graph.replace(wayA.update({ tags: {} }));
+                           graph = graph.replace(wayB.update({ tags: {} }));
+                       }
+
+                       member = {
+                           id: wayB.id,
+                           type: 'way',
+                           role: relation.memberById(wayA.id).role
+                       };
+
+                       var insertPair = {
+                           originalID: wayA.id,
+                           insertedID: wayB.id,
+                           nodes: origNodes
+                       };
+
+                       graph = actionAddMember(relation.id, member, undefined, insertPair)(graph);
+                   }
+               });
+
+               if (!isOuter && isArea) {
+                   var multipolygon = osmRelation({
+                       tags: Object.assign({}, wayA.tags, { type: 'multipolygon' }),
+                       members: [
+                           { id: wayA.id, role: 'outer', type: 'way' },
+                           { id: wayB.id, role: 'outer', type: 'way' }
+                       ]
+                   });
+
+                   graph = graph.replace(multipolygon);
+                   graph = graph.replace(wayA.update({ tags: {} }));
+                   graph = graph.replace(wayB.update({ tags: {} }));
+               }
+
+               return graph;
+           }
+
+
+           var action = function(graph) {
+               var candidates = action.ways(graph);
+               for (var i = 0; i < candidates.length; i++) {
+                   graph = split(graph, candidates[i], newWayIds && newWayIds[i]);
+               }
+               return graph;
+           };
+
+
+           action.ways = function(graph) {
+               var node = graph.entity(nodeId);
+               var parents = graph.parentWays(node);
+               var hasLines = parents.some(function(parent) {
+                   return parent.geometry(graph) === 'line';
+               });
+
+               return parents.filter(function(parent) {
+                   if (_wayIDs && _wayIDs.indexOf(parent.id) === -1)
+                       return false;
+
+                   if (!_wayIDs && hasLines && parent.geometry(graph) !== 'line')
+                       return false;
+
+                   if (parent.isClosed()) {
+                       return true;
+                   }
+
+                   for (var i = 1; i < parent.nodes.length - 1; i++) {
+                       if (parent.nodes[i] === nodeId) {
+                           return true;
+                       }
+                   }
+
+                   return false;
+               });
+           };
+
+
+           action.disabled = function(graph) {
+               var candidates = action.ways(graph);
+               if (candidates.length === 0 || (_wayIDs && _wayIDs.length !== candidates.length)) {
+                   return 'not_eligible';
+               }
+           };
+
+
+           action.limitWays = function(val) {
+               if (!arguments.length) return _wayIDs;
+               _wayIDs = val;
+               return action;
+           };
+
+
+           return action;
+       }
+
+       function coreGraph(other, mutable) {
+           if (!(this instanceof coreGraph)) return new coreGraph(other, mutable);
+
+           if (other instanceof coreGraph) {
+               var base = other.base();
+               this.entities = Object.assign(Object.create(base.entities), other.entities);
+               this._parentWays = Object.assign(Object.create(base.parentWays), other._parentWays);
+               this._parentRels = Object.assign(Object.create(base.parentRels), other._parentRels);
+
+           } else {
+               this.entities = Object.create({});
+               this._parentWays = Object.create({});
+               this._parentRels = Object.create({});
+               this.rebase(other || [], [this]);
+           }
+
+           this.transients = {};
+           this._childNodes = {};
+           this.frozen = !mutable;
+       }
+
+
+       coreGraph.prototype = {
+
+           hasEntity: function(id) {
+               return this.entities[id];
+           },
+
+
+           entity: function(id) {
+               var entity = this.entities[id];
+
+               //https://github.com/openstreetmap/iD/issues/3973#issuecomment-307052376
+               if (!entity) {
+                   entity = this.entities.__proto__[id];  // eslint-disable-line no-proto
+               }
+
+               if (!entity) {
+                   throw new Error('entity ' + id + ' not found');
+               }
+               return entity;
+           },
+
+
+           transient: function(entity, key, fn) {
+               var id = entity.id;
+               var transients = this.transients[id] || (this.transients[id] = {});
+
+               if (transients[key] !== undefined) {
+                   return transients[key];
+               }
+
+               transients[key] = fn.call(entity);
+
+               return transients[key];
+           },
+
+
+           parentWays: function(entity) {
+               var parents = this._parentWays[entity.id];
+               var result = [];
+               if (parents) {
+                   parents.forEach(function(id) {
+                       result.push(this.entity(id));
+                   }, this);
+               }
+               return result;
+           },
+
+
+           isPoi: function(entity) {
+               var parents = this._parentWays[entity.id];
+               return !parents || parents.size === 0;
+           },
+
+
+           isShared: function(entity) {
+               var parents = this._parentWays[entity.id];
+               return parents && parents.size > 1;
+           },
+
+
+           parentRelations: function(entity) {
+               var parents = this._parentRels[entity.id];
+               var result = [];
+               if (parents) {
+                   parents.forEach(function(id) {
+                       result.push(this.entity(id));
+                   }, this);
+               }
+               return result;
+           },
+
+           parentMultipolygons: function(entity) {
+               return this.parentRelations(entity).filter(function(relation) {
+                   return relation.isMultipolygon();
+               });
+           },
+
+
+           childNodes: function(entity) {
+               if (this._childNodes[entity.id]) return this._childNodes[entity.id];
+               if (!entity.nodes) return [];
+
+               var nodes = [];
+               for (var i = 0; i < entity.nodes.length; i++) {
+                   nodes[i] = this.entity(entity.nodes[i]);
+               }
+
+               this._childNodes[entity.id] = nodes;
+               return this._childNodes[entity.id];
+           },
+
+
+           base: function() {
+               return {
+                   'entities': Object.getPrototypeOf(this.entities),
+                   'parentWays': Object.getPrototypeOf(this._parentWays),
+                   'parentRels': Object.getPrototypeOf(this._parentRels)
+               };
+           },
+
+
+           // Unlike other graph methods, rebase mutates in place. This is because it
+           // is used only during the history operation that merges newly downloaded
+           // data into each state. To external consumers, it should appear as if the
+           // graph always contained the newly downloaded data.
+           rebase: function(entities, stack, force) {
+               var base = this.base();
+               var i, j, k, id;
+
+               for (i = 0; i < entities.length; i++) {
+                   var entity = entities[i];
+
+                   if (!entity.visible || (!force && base.entities[entity.id]))
+                       continue;
+
+                   // Merging data into the base graph
+                   base.entities[entity.id] = entity;
+                   this._updateCalculated(undefined, entity, base.parentWays, base.parentRels);
+
+                   // Restore provisionally-deleted nodes that are discovered to have an extant parent
+                   if (entity.type === 'way') {
+                       for (j = 0; j < entity.nodes.length; j++) {
+                           id = entity.nodes[j];
+                           for (k = 1; k < stack.length; k++) {
+                               var ents = stack[k].entities;
+                               if (ents.hasOwnProperty(id) && ents[id] === undefined) {
+                                   delete ents[id];
+                               }
+                           }
+                       }
+                   }
+               }
+
+               for (i = 0; i < stack.length; i++) {
+                   stack[i]._updateRebased();
+               }
+           },
+
+
+           _updateRebased: function() {
+               var base = this.base();
+
+               Object.keys(this._parentWays).forEach(function(child) {
+                   if (base.parentWays[child]) {
+                       base.parentWays[child].forEach(function(id) {
+                           if (!this.entities.hasOwnProperty(id)) {
+                               this._parentWays[child].add(id);
+                           }
+                       }, this);
+                   }
+               }, this);
+
+               Object.keys(this._parentRels).forEach(function(child) {
+                   if (base.parentRels[child]) {
+                       base.parentRels[child].forEach(function(id) {
+                           if (!this.entities.hasOwnProperty(id)) {
+                               this._parentRels[child].add(id);
+                           }
+                       }, this);
+                   }
+               }, this);
+
+               this.transients = {};
+
+               // this._childNodes is not updated, under the assumption that
+               // ways are always downloaded with their child nodes.
+           },
+
+
+           // Updates calculated properties (parentWays, parentRels) for the specified change
+           _updateCalculated: function(oldentity, entity, parentWays, parentRels) {
+               parentWays = parentWays || this._parentWays;
+               parentRels = parentRels || this._parentRels;
+
+               var type = entity && entity.type || oldentity && oldentity.type;
+               var removed, added, i;
+
+               if (type === 'way') {   // Update parentWays
+                   if (oldentity && entity) {
+                       removed = utilArrayDifference(oldentity.nodes, entity.nodes);
+                       added = utilArrayDifference(entity.nodes, oldentity.nodes);
+                   } else if (oldentity) {
+                       removed = oldentity.nodes;
+                       added = [];
+                   } else if (entity) {
+                       removed = [];
+                       added = entity.nodes;
+                   }
+                   for (i = 0; i < removed.length; i++) {
+                       // make a copy of prototype property, store as own property, and update..
+                       parentWays[removed[i]] = new Set(parentWays[removed[i]]);
+                       parentWays[removed[i]].delete(oldentity.id);
+                   }
+                   for (i = 0; i < added.length; i++) {
+                       // make a copy of prototype property, store as own property, and update..
+                       parentWays[added[i]] = new Set(parentWays[added[i]]);
+                       parentWays[added[i]].add(entity.id);
+                   }
+
+               } else if (type === 'relation') {   // Update parentRels
+
+                   // diff only on the IDs since the same entity can be a member multiple times with different roles
+                   var oldentityMemberIDs = oldentity ? oldentity.members.map(function(m) { return m.id; }) : [];
+                   var entityMemberIDs = entity ? entity.members.map(function(m) { return m.id; }) : [];
+
+                   if (oldentity && entity) {
+                       removed = utilArrayDifference(oldentityMemberIDs, entityMemberIDs);
+                       added = utilArrayDifference(entityMemberIDs, oldentityMemberIDs);
+                   } else if (oldentity) {
+                       removed = oldentityMemberIDs;
+                       added = [];
+                   } else if (entity) {
+                       removed = [];
+                       added = entityMemberIDs;
+                   }
+                   for (i = 0; i < removed.length; i++) {
+                       // make a copy of prototype property, store as own property, and update..
+                       parentRels[removed[i]] = new Set(parentRels[removed[i]]);
+                       parentRels[removed[i]].delete(oldentity.id);
+                   }
+                   for (i = 0; i < added.length; i++) {
+                       // make a copy of prototype property, store as own property, and update..
+                       parentRels[added[i]] = new Set(parentRels[added[i]]);
+                       parentRels[added[i]].add(entity.id);
+                   }
+               }
+           },
+
+
+           replace: function(entity) {
+               if (this.entities[entity.id] === entity) return this;
+
+               return this.update(function() {
+                   this._updateCalculated(this.entities[entity.id], entity);
+                   this.entities[entity.id] = entity;
+               });
+           },
+
+
+           remove: function(entity) {
+               return this.update(function() {
+                   this._updateCalculated(entity, undefined);
+                   this.entities[entity.id] = undefined;
+               });
+           },
+
+
+           revert: function(id) {
+               var baseEntity = this.base().entities[id];
+               var headEntity = this.entities[id];
+               if (headEntity === baseEntity) return this;
+
+               return this.update(function() {
+                   this._updateCalculated(headEntity, baseEntity);
+                   delete this.entities[id];
+               });
+           },
+
+
+           update: function() {
+               var graph = this.frozen ? coreGraph(this, true) : this;
+               for (var i = 0; i < arguments.length; i++) {
+                   arguments[i].call(graph, graph);
+               }
+
+               if (this.frozen) graph.frozen = true;
+
+               return graph;
+           },
+
+
+           // Obliterates any existing entities
+           load: function(entities) {
+               var base = this.base();
+               this.entities = Object.create(base.entities);
+
+               for (var i in entities) {
+                   this.entities[i] = entities[i];
+                   this._updateCalculated(base.entities[i], this.entities[i]);
+               }
+
+               return this;
+           }
+       };
+
+       function osmTurn(turn) {
+           if (!(this instanceof osmTurn)) {
+               return new osmTurn(turn);
+           }
+           Object.assign(this, turn);
+       }
+
+
+       function osmIntersection(graph, startVertexId, maxDistance) {
+           maxDistance = maxDistance || 30;    // in meters
+           var vgraph = coreGraph();           // virtual graph
+           var i, j, k;
+
+
+           function memberOfRestriction(entity) {
+               return graph.parentRelations(entity)
+                   .some(function(r) { return r.isRestriction(); });
+           }
+
+           function isRoad(way) {
+               if (way.isArea() || way.isDegenerate()) return false;
+               var roads = {
+                   'motorway': true,
+                   'motorway_link': true,
+                   'trunk': true,
+                   'trunk_link': true,
+                   'primary': true,
+                   'primary_link': true,
+                   'secondary': true,
+                   'secondary_link': true,
+                   'tertiary': true,
+                   'tertiary_link': true,
+                   'residential': true,
+                   'unclassified': true,
+                   'living_street': true,
+                   'service': true,
+                   'road': true,
+                   'track': true
+               };
+               return roads[way.tags.highway];
+           }
+
+
+           var startNode = graph.entity(startVertexId);
+           var checkVertices = [startNode];
+           var checkWays;
+           var vertices = [];
+           var vertexIds = [];
+           var vertex;
+           var ways = [];
+           var wayIds = [];
+           var way;
+           var nodes = [];
+           var node;
+           var parents = [];
+           var parent;
+
+           // `actions` will store whatever actions must be performed to satisfy
+           // preconditions for adding a turn restriction to this intersection.
+           //  - Remove any existing degenerate turn restrictions (missing from/to, etc)
+           //  - Reverse oneways so that they are drawn in the forward direction
+           //  - Split ways on key vertices
+           var actions = [];
+
+
+           // STEP 1:  walk the graph outwards from starting vertex to search
+           //  for more key vertices and ways to include in the intersection..
+
+           while (checkVertices.length) {
+               vertex = checkVertices.pop();
+
+               // check this vertex for parent ways that are roads
+               checkWays = graph.parentWays(vertex);
+               var hasWays = false;
+               for (i = 0; i < checkWays.length; i++) {
+                   way = checkWays[i];
+                   if (!isRoad(way) && !memberOfRestriction(way)) continue;
+
+                   ways.push(way);   // it's a road, or it's already in a turn restriction
+                   hasWays = true;
+
+                   // check the way's children for more key vertices
+                   nodes = utilArrayUniq(graph.childNodes(way));
+                   for (j = 0; j < nodes.length; j++) {
+                       node = nodes[j];
+                       if (node === vertex) continue;                                           // same thing
+                       if (vertices.indexOf(node) !== -1) continue;                             // seen it already
+                       if (geoSphericalDistance(node.loc, startNode.loc) > maxDistance) continue;   // too far from start
+
+                       // a key vertex will have parents that are also roads
+                       var hasParents = false;
+                       parents = graph.parentWays(node);
+                       for (k = 0; k < parents.length; k++) {
+                           parent = parents[k];
+                           if (parent === way) continue;                 // same thing
+                           if (ways.indexOf(parent) !== -1) continue;    // seen it already
+                           if (!isRoad(parent)) continue;                // not a road
+                           hasParents = true;
+                           break;
+                       }
+
+                       if (hasParents) {
+                           checkVertices.push(node);
+                       }
+                   }
+               }
+
+               if (hasWays) {
+                   vertices.push(vertex);
+               }
+           }
+
+           vertices = utilArrayUniq(vertices);
+           ways = utilArrayUniq(ways);
+
+
+           // STEP 2:  Build a virtual graph containing only the entities in the intersection..
+           // Everything done after this step should act on the virtual graph
+           // Any actions that must be performed later to the main graph go in `actions` array
+           ways.forEach(function(way) {
+               graph.childNodes(way).forEach(function(node) {
+                   vgraph = vgraph.replace(node);
+               });
+
+               vgraph = vgraph.replace(way);
+
+               graph.parentRelations(way).forEach(function(relation) {
+                   if (relation.isRestriction()) {
+                       if (relation.isValidRestriction(graph)) {
+                           vgraph = vgraph.replace(relation);
+                       } else if (relation.isComplete(graph)) {
+                           actions.push(actionDeleteRelation(relation.id));
+                       }
+                   }
+               });
+           });
+
+
+           // STEP 3:  Force all oneways to be drawn in the forward direction
+           ways.forEach(function(w) {
+               var way = vgraph.entity(w.id);
+               if (way.tags.oneway === '-1') {
+                   var action = actionReverse(way.id, { reverseOneway: true });
+                   actions.push(action);
+                   vgraph = action(vgraph);
+               }
+           });
+
+
+           // STEP 4:  Split ways on key vertices
+           var origCount = osmEntity.id.next.way;
+           vertices.forEach(function(v) {
+               // This is an odd way to do it, but we need to find all the ways that
+               // will be split here, then split them one at a time to ensure that these
+               // actions can be replayed on the main graph exactly in the same order.
+               // (It is unintuitive, but the order of ways returned from graph.parentWays()
+               // is arbitrary, depending on how the main graph and vgraph were built)
+               var splitAll = actionSplit(v.id);
+               if (!splitAll.disabled(vgraph)) {
+                   splitAll.ways(vgraph).forEach(function(way) {
+                       var splitOne = actionSplit(v.id).limitWays([way.id]);
+                       actions.push(splitOne);
+                       vgraph = splitOne(vgraph);
+                   });
+               }
+           });
+
+           // In here is where we should also split the intersection at nearby junction.
+           //   for https://github.com/mapbox/iD-internal/issues/31
+           // nearbyVertices.forEach(function(v) {
+           // });
+
+           // Reasons why we reset the way id count here:
+           //  1. Continuity with way ids created by the splits so that we can replay
+           //     these actions later if the user decides to create a turn restriction
+           //  2. Avoids churning way ids just by hovering over a vertex
+           //     and displaying the turn restriction editor
+           osmEntity.id.next.way = origCount;
+
+
+           // STEP 5:  Update arrays to point to vgraph entities
+           vertexIds = vertices.map(function(v) { return v.id; });
+           vertices = [];
+           ways = [];
+
+           vertexIds.forEach(function(id) {
+               var vertex = vgraph.entity(id);
+               var parents = vgraph.parentWays(vertex);
+               vertices.push(vertex);
+               ways = ways.concat(parents);
+           });
+
+           vertices = utilArrayUniq(vertices);
+           ways = utilArrayUniq(ways);
+
+           vertexIds = vertices.map(function(v) { return v.id; });
+           wayIds = ways.map(function(w) { return w.id; });
+
+
+           // STEP 6:  Update the ways with some metadata that will be useful for
+           // walking the intersection graph later and rendering turn arrows.
+
+           function withMetadata(way, vertexIds) {
+               var __oneWay = way.isOneWay();
+
+               // which affixes are key vertices?
+               var __first = (vertexIds.indexOf(way.first()) !== -1);
+               var __last = (vertexIds.indexOf(way.last()) !== -1);
+
+               // what roles is this way eligible for?
+               var __via = (__first && __last);
+               var __from = ((__first && !__oneWay) || __last);
+               var __to = (__first || (__last && !__oneWay));
+
+               return way.update({
+                   __first:  __first,
+                   __last:  __last,
+                   __from:  __from,
+                   __via: __via,
+                   __to:  __to,
+                   __oneWay:  __oneWay
+               });
+           }
+
+           ways = [];
+           wayIds.forEach(function(id) {
+               var way = withMetadata(vgraph.entity(id), vertexIds);
+               vgraph = vgraph.replace(way);
+               ways.push(way);
+           });
+
+
+           // STEP 7:  Simplify - This is an iterative process where we:
+           //  1. Find trivial vertices with only 2 parents
+           //  2. trim off the leaf way from those vertices and remove from vgraph
+
+           var keepGoing;
+           var removeWayIds = [];
+           var removeVertexIds = [];
+
+           do {
+               keepGoing = false;
+               checkVertices = vertexIds.slice();
+
+               for (i = 0; i < checkVertices.length; i++) {
+                   var vertexId = checkVertices[i];
+                   vertex = vgraph.hasEntity(vertexId);
+
+                   if (!vertex) {
+                       if (vertexIds.indexOf(vertexId) !== -1) {
+                           vertexIds.splice(vertexIds.indexOf(vertexId), 1);   // stop checking this one
+                       }
+                       removeVertexIds.push(vertexId);
+                       continue;
+                   }
+
+                   parents = vgraph.parentWays(vertex);
+                   if (parents.length < 3) {
+                       if (vertexIds.indexOf(vertexId) !== -1) {
+                           vertexIds.splice(vertexIds.indexOf(vertexId), 1);   // stop checking this one
+                       }
+                   }
+
+                   if (parents.length === 2) {     // vertex with 2 parents is trivial
+                       var a = parents[0];
+                       var b = parents[1];
+                       var aIsLeaf = a && !a.__via;
+                       var bIsLeaf = b && !b.__via;
+                       var leaf, survivor;
+
+                       if (aIsLeaf && !bIsLeaf) {
+                           leaf = a;
+                           survivor = b;
+                       } else if (!aIsLeaf && bIsLeaf) {
+                           leaf = b;
+                           survivor = a;
+                       }
+
+                       if (leaf && survivor) {
+                           survivor = withMetadata(survivor, vertexIds);      // update survivor way
+                           vgraph = vgraph.replace(survivor).remove(leaf);    // update graph
+                           removeWayIds.push(leaf.id);
+                           keepGoing = true;
+                       }
+                   }
+
+                   parents = vgraph.parentWays(vertex);
+
+                   if (parents.length < 2) {     // vertex is no longer a key vertex
+                       if (vertexIds.indexOf(vertexId) !== -1) {
+                           vertexIds.splice(vertexIds.indexOf(vertexId), 1);   // stop checking this one
+                       }
+                       removeVertexIds.push(vertexId);
+                       keepGoing = true;
+                   }
+
+                   if (parents.length < 1) {     // vertex is no longer attached to anything
+                       vgraph = vgraph.remove(vertex);
+                   }
+
+               }
+           } while (keepGoing);
+
+
+           vertices = vertices
+               .filter(function(vertex) { return removeVertexIds.indexOf(vertex.id) === -1; })
+               .map(function(vertex) { return vgraph.entity(vertex.id); });
+           ways = ways
+               .filter(function(way) { return removeWayIds.indexOf(way.id) === -1; })
+               .map(function(way) { return vgraph.entity(way.id); });
+
+
+           // OK!  Here is our intersection..
+           var intersection = {
+               graph: vgraph,
+               actions: actions,
+               vertices: vertices,
+               ways: ways,
+           };
+
+
+
+           // Get all the valid turns through this intersection given a starting way id.
+           // This operates on the virtual graph for everything.
+           //
+           // Basically, walk through all possible paths from starting way,
+           //   honoring the existing turn restrictions as we go (watch out for loops!)
+           //
+           // For each path found, generate and return a `osmTurn` datastructure.
+           //
+           intersection.turns = function(fromWayId, maxViaWay) {
+               if (!fromWayId) return [];
+               if (!maxViaWay) maxViaWay = 0;
+
+               var vgraph = intersection.graph;
+               var keyVertexIds = intersection.vertices.map(function(v) { return v.id; });
+
+               var start = vgraph.entity(fromWayId);
+               if (!start || !(start.__from || start.__via)) return [];
+
+               // maxViaWay=0   from-*-to              (0 vias)
+               // maxViaWay=1   from-*-via-*-to        (1 via max)
+               // maxViaWay=2   from-*-via-*-via-*-to  (2 vias max)
+               var maxPathLength = (maxViaWay * 2) + 3;
+               var turns = [];
+
+               step(start);
+               return turns;
+
+
+               // traverse the intersection graph and find all the valid paths
+               function step(entity, currPath, currRestrictions, matchedRestriction) {
+                   currPath = (currPath || []).slice();  // shallow copy
+                   if (currPath.length >= maxPathLength) return;
+                   currPath.push(entity.id);
+                   currRestrictions = (currRestrictions || []).slice();  // shallow copy
+                   var i, j;
+
+                   if (entity.type === 'node') {
+                       var parents = vgraph.parentWays(entity);
+                       var nextWays = [];
+
+                       // which ways can we step into?
+                       for (i = 0; i < parents.length; i++) {
+                           var way = parents[i];
+
+                           // if next way is a oneway incoming to this vertex, skip
+                           if (way.__oneWay && way.nodes[0] !== entity.id) continue;
+
+                           // if we have seen it before (allowing for an initial u-turn), skip
+                           if (currPath.indexOf(way.id) !== -1 && currPath.length >= 3) continue;
+
+                           // Check all "current" restrictions (where we've already walked the `FROM`)
+                           var restrict = undefined;
+                           for (j = 0; j < currRestrictions.length; j++) {
+                               var restriction = currRestrictions[j];
+                               var f = restriction.memberByRole('from');
+                               var v = restriction.membersByRole('via');
+                               var t = restriction.memberByRole('to');
+                               var isOnly = /^only_/.test(restriction.tags.restriction);
+
+                               // Does the current path match this turn restriction?
+                               var matchesFrom = (f.id === fromWayId);
+                               var matchesViaTo = false;
+                               var isAlongOnlyPath = false;
+
+                               if (t.id === way.id) {     // match TO
+
+                                   if (v.length === 1 && v[0].type === 'node') {    // match VIA node
+                                       matchesViaTo = (v[0].id === entity.id && (
+                                           (matchesFrom && currPath.length === 2) ||
+                                           (!matchesFrom && currPath.length > 2)
+                                       ));
+
+                                   } else {                                         // match all VIA ways
+                                       var pathVias = [];
+                                       for (k = 2; k < currPath.length; k +=2 ) {   // k = 2 skips FROM
+                                           pathVias.push(currPath[k]);              // (path goes way-node-way...)
+                                       }
+                                       var restrictionVias = [];
+                                       for (k = 0; k < v.length; k++) {
+                                           if (v[k].type === 'way') {
+                                               restrictionVias.push(v[k].id);
+                                           }
+                                       }
+                                       var diff = utilArrayDifference(pathVias, restrictionVias);
+                                       matchesViaTo = !diff.length;
+                                   }
+
+                               } else if (isOnly) {
+                                   for (k = 0; k < v.length; k++) {
+                                       // way doesn't match TO, but is one of the via ways along the path of an "only"
+                                       if (v[k].type === 'way' && v[k].id === way.id) {
+                                           isAlongOnlyPath = true;
+                                           break;
+                                       }
+                                   }
+                               }
+
+                               if (matchesViaTo) {
+                                   if (isOnly) {
+                                       restrict = { id: restriction.id, direct: matchesFrom, from: f.id, only: true, end: true };
+                                   } else {
+                                       restrict = { id: restriction.id, direct: matchesFrom, from: f.id, no: true, end: true };
+                                   }
+                               } else {    // indirect - caused by a different nearby restriction
+                                   if (isAlongOnlyPath) {
+                                       restrict = { id: restriction.id, direct: false, from: f.id, only: true, end: false };
+                                   } else if (isOnly) {
+                                       restrict = { id: restriction.id, direct: false, from: f.id, no: true, end: true };
+                                   }
+                               }
+
+                               // stop looking if we find a "direct" restriction (matching FROM, VIA, TO)
+                               if (restrict && restrict.direct)
+                                   break;
+                           }
+
+                           nextWays.push({ way: way, restrict: restrict });
+                       }
+
+                       nextWays.forEach(function(nextWay) {
+                           step(nextWay.way, currPath, currRestrictions, nextWay.restrict);
+                       });
+
+
+                   } else {  // entity.type === 'way'
+                       if (currPath.length >= 3) {     // this is a "complete" path..
+                           var turnPath = currPath.slice();   // shallow copy
+
+                           // an indirect restriction - only include the partial path (starting at FROM)
+                           if (matchedRestriction && matchedRestriction.direct === false) {
+                               for (i = 0; i < turnPath.length; i++) {
+                                   if (turnPath[i] === matchedRestriction.from) {
+                                       turnPath = turnPath.slice(i);
+                                       break;
+                                   }
+                               }
+                           }
+
+                           var turn = pathToTurn(turnPath);
+                           if (turn) {
+                               if (matchedRestriction) {
+                                   turn.restrictionID = matchedRestriction.id;
+                                   turn.no = matchedRestriction.no;
+                                   turn.only = matchedRestriction.only;
+                                   turn.direct = matchedRestriction.direct;
+                               }
+                               turns.push(osmTurn(turn));
+                           }
+
+                           if (currPath[0] === currPath[2]) return;   // if we made a u-turn - stop here
+                       }
+
+                       if (matchedRestriction && matchedRestriction.end) return;  // don't advance any further
+
+                       // which nodes can we step into?
+                       var n1 = vgraph.entity(entity.first());
+                       var n2 = vgraph.entity(entity.last());
+                       var dist = geoSphericalDistance(n1.loc, n2.loc);
+                       var nextNodes = [];
+
+                       if (currPath.length > 1) {
+                           if (dist > maxDistance) return;   // the next node is too far
+                           if (!entity.__via) return;        // this way is a leaf / can't be a via
+                       }
+
+                       if (!entity.__oneWay &&                     // bidirectional..
+                           keyVertexIds.indexOf(n1.id) !== -1 &&   // key vertex..
+                           currPath.indexOf(n1.id) === -1) {       // haven't seen it yet..
+                           nextNodes.push(n1);                     // can advance to first node
+                       }
+                       if (keyVertexIds.indexOf(n2.id) !== -1 &&   // key vertex..
+                           currPath.indexOf(n2.id) === -1) {       // haven't seen it yet..
+                           nextNodes.push(n2);                     // can advance to last node
+                       }
+
+                       nextNodes.forEach(function(nextNode) {
+                           // gather restrictions FROM this way
+                           var fromRestrictions = vgraph.parentRelations(entity).filter(function(r) {
+                               if (!r.isRestriction()) return false;
+
+                               var f = r.memberByRole('from');
+                               if (!f || f.id !== entity.id) return false;
+
+                               var isOnly = /^only_/.test(r.tags.restriction);
+                               if (!isOnly) return true;
+
+                               // `only_` restrictions only matter along the direction of the VIA - #4849
+                               var isOnlyVia = false;
+                               var v = r.membersByRole('via');
+                               if (v.length === 1 && v[0].type === 'node') {   // via node
+                                   isOnlyVia = (v[0].id === nextNode.id);
+                               } else {                                        // via way(s)
+                                   for (var i = 0; i < v.length; i++) {
+                                       if (v[i].type !== 'way') continue;
+                                       var viaWay = vgraph.entity(v[i].id);
+                                       if (viaWay.first() === nextNode.id || viaWay.last() === nextNode.id) {
+                                           isOnlyVia = true;
+                                           break;
+                                       }
+                                   }
+                               }
+                               return isOnlyVia;
+                           });
+
+                           step(nextNode, currPath, currRestrictions.concat(fromRestrictions), false);
+                       });
+                   }
+               }
+
+
+               // assumes path is alternating way-node-way of odd length
+               function pathToTurn(path) {
+                   if (path.length < 3) return;
+                   var fromWayId, fromNodeId, fromVertexId;
+                   var toWayId, toNodeId, toVertexId;
+                   var viaWayIds, viaNodeId, isUturn;
+
+                   fromWayId = path[0];
+                   toWayId = path[path.length - 1];
+
+                   if (path.length === 3 && fromWayId === toWayId) {  // u turn
+                       var way = vgraph.entity(fromWayId);
+                       if (way.__oneWay) return null;
+
+                       isUturn = true;
+                       viaNodeId = fromVertexId = toVertexId = path[1];
+                       fromNodeId = toNodeId = adjacentNode(fromWayId, viaNodeId);
+
+                   } else {
+                       isUturn = false;
+                       fromVertexId = path[1];
+                       fromNodeId = adjacentNode(fromWayId, fromVertexId);
+                       toVertexId = path[path.length - 2];
+                       toNodeId = adjacentNode(toWayId, toVertexId);
+
+                       if (path.length === 3) {
+                           viaNodeId = path[1];
+                       } else {
+                           viaWayIds = path.filter(function(entityId) { return entityId[0] === 'w'; });
+                           viaWayIds = viaWayIds.slice(1, viaWayIds.length - 1);  // remove first, last
+                       }
+                   }
+
+                   return {
+                       key:  path.join('_'),
+                       path: path,
+                       from: { node: fromNodeId, way:  fromWayId, vertex: fromVertexId },
+                       via:  { node: viaNodeId,  ways: viaWayIds },
+                       to:   { node: toNodeId,   way:  toWayId, vertex: toVertexId },
+                       u:    isUturn
+                   };
+
+
+                   function adjacentNode(wayId, affixId) {
+                       var nodes = vgraph.entity(wayId).nodes;
+                       return affixId === nodes[0] ? nodes[1] : nodes[nodes.length - 2];
+                   }
+               }
+
+           };
+
+           return intersection;
+       }
+
+
+       function osmInferRestriction(graph, turn, projection) {
+           var fromWay = graph.entity(turn.from.way);
+           var fromNode = graph.entity(turn.from.node);
+           var fromVertex = graph.entity(turn.from.vertex);
+           var toWay = graph.entity(turn.to.way);
+           var toNode = graph.entity(turn.to.node);
+           var toVertex = graph.entity(turn.to.vertex);
+
+           var fromOneWay = (fromWay.tags.oneway === 'yes');
+           var toOneWay = (toWay.tags.oneway === 'yes');
+           var angle = (geoAngle(fromVertex, fromNode, projection) -
+                       geoAngle(toVertex, toNode, projection)) * 180 / Math.PI;
+
+           while (angle < 0)
+               angle += 360;
+
+           if (fromNode === toNode)
+               return 'no_u_turn';
+           if ((angle < 23 || angle > 336) && fromOneWay && toOneWay)
+               return 'no_u_turn';   // wider tolerance for u-turn if both ways are oneway
+           if ((angle < 40 || angle > 319) && fromOneWay && toOneWay && turn.from.vertex !== turn.to.vertex)
+               return 'no_u_turn';   // even wider tolerance for u-turn if there is a via way (from !== to)
+           if (angle < 158)
+               return 'no_right_turn';
+           if (angle > 202)
+               return 'no_left_turn';
+
+           return 'no_straight_on';
+       }
+
+       function actionMergePolygon(ids, newRelationId) {
+
+           function groupEntities(graph) {
+               var entities = ids.map(function (id) { return graph.entity(id); });
+               var geometryGroups = utilArrayGroupBy(entities, function(entity) {
+                   if (entity.type === 'way' && entity.isClosed()) {
+                       return 'closedWay';
+                   } else if (entity.type === 'relation' && entity.isMultipolygon()) {
+                       return 'multipolygon';
+                   } else {
+                       return 'other';
+                   }
+               });
+
+               return Object.assign(
+                   { closedWay: [], multipolygon: [], other: [] },
+                   geometryGroups
+               );
+           }
+
+
+           var action = function(graph) {
+               var entities = groupEntities(graph);
+
+               // An array representing all the polygons that are part of the multipolygon.
+               //
+               // Each element is itself an array of objects with an id property, and has a
+               // locs property which is an array of the locations forming the polygon.
+               var polygons = entities.multipolygon.reduce(function(polygons, m) {
+                   return polygons.concat(osmJoinWays(m.members, graph));
+               }, []).concat(entities.closedWay.map(function(d) {
+                   var member = [{id: d.id}];
+                   member.nodes = graph.childNodes(d);
+                   return member;
+               }));
+
+               // contained is an array of arrays of boolean values,
+               // where contained[j][k] is true iff the jth way is
+               // contained by the kth way.
+               var contained = polygons.map(function(w, i) {
+                   return polygons.map(function(d, n) {
+                       if (i === n) return null;
+                       return geoPolygonContainsPolygon(
+                           d.nodes.map(function(n) { return n.loc; }),
+                           w.nodes.map(function(n) { return n.loc; })
+                       );
+                   });
+               });
+
+               // Sort all polygons as either outer or inner ways
+               var members = [];
+               var outer = true;
+
+               while (polygons.length) {
+                   extractUncontained(polygons);
+                   polygons = polygons.filter(isContained);
+                   contained = contained.filter(isContained).map(filterContained);
+               }
+
+               function isContained(d, i) {
+                   return contained[i].some(function(val) { return val; });
+               }
+
+               function filterContained(d) {
+                   return d.filter(isContained);
+               }
+
+               function extractUncontained(polygons) {
+                   polygons.forEach(function(d, i) {
+                       if (!isContained(d, i)) {
+                           d.forEach(function(member) {
+                               members.push({
+                                   type: 'way',
+                                   id: member.id,
+                                   role: outer ? 'outer' : 'inner'
+                               });
+                           });
+                       }
+                   });
+                   outer = !outer;
+               }
+
+               // Move all tags to one relation
+               var relation = entities.multipolygon[0] ||
+                   osmRelation({ id: newRelationId, tags: { type: 'multipolygon' }});
+
+               entities.multipolygon.slice(1).forEach(function(m) {
+                   relation = relation.mergeTags(m.tags);
+                   graph = graph.remove(m);
+               });
+
+               entities.closedWay.forEach(function(way) {
+                   function isThisOuter(m) {
+                       return m.id === way.id && m.role !== 'inner';
+                   }
+                   if (members.some(isThisOuter)) {
+                       relation = relation.mergeTags(way.tags);
+                       graph = graph.replace(way.update({ tags: {} }));
+                   }
+               });
+
+               return graph.replace(relation.update({
+                   members: members,
+                   tags: utilObjectOmit(relation.tags, ['area'])
+               }));
+           };
+
+
+           action.disabled = function(graph) {
+               var entities = groupEntities(graph);
+               if (entities.other.length > 0 ||
+                   entities.closedWay.length + entities.multipolygon.length < 2)
+                   return 'not_eligible';
+               if (!entities.multipolygon.every(function(r) { return r.isComplete(graph); }))
+                   return 'incomplete_relation';
+           };
+
+
+           return action;
+       }
+
+       var isArray$4 = Array.isArray;
+       var keyList = Object.keys;
+       var hasProp = Object.prototype.hasOwnProperty;
+
+       var fastDeepEqual = function equal(a, b) {
+         if (a === b) return true;
+
+         if (a && b && typeof a == 'object' && typeof b == 'object') {
+           var arrA = isArray$4(a)
+             , arrB = isArray$4(b)
+             , i
+             , length
+             , key;
+
+           if (arrA && arrB) {
+             length = a.length;
+             if (length != b.length) return false;
+             for (i = length; i-- !== 0;)
+               if (!equal(a[i], b[i])) return false;
+             return true;
+           }
+
+           if (arrA != arrB) return false;
+
+           var dateA = a instanceof Date
+             , dateB = b instanceof Date;
+           if (dateA != dateB) return false;
+           if (dateA && dateB) return a.getTime() == b.getTime();
+
+           var regexpA = a instanceof RegExp
+             , regexpB = b instanceof RegExp;
+           if (regexpA != regexpB) return false;
+           if (regexpA && regexpB) return a.toString() == b.toString();
+
+           var keys = keyList(a);
+           length = keys.length;
+
+           if (length !== keyList(b).length)
+             return false;
+
+           for (i = length; i-- !== 0;)
+             if (!hasProp.call(b, keys[i])) return false;
+
+           for (i = length; i-- !== 0;) {
+             key = keys[i];
+             if (!equal(a[key], b[key])) return false;
+           }
+
+           return true;
+         }
+
+         return a!==a && b!==b;
+       };
+
+       // Text diff algorithm following Hunt and McIlroy 1976.
+       // J. W. Hunt and M. D. McIlroy, An algorithm for differential file
+       // comparison, Bell Telephone Laboratories CSTR #41 (1976)
+       // http://www.cs.dartmouth.edu/~doug/
+       //
+       // Expects two arrays of strings.
+       function LCS(file1, file2) {
+         var equivalenceClasses;
+         var file2indices;
+         var newCandidate;
+         var candidates;
+         var line;
+         var c, i, j, jX, r, s;
+
+         equivalenceClasses = {};
+         for (j = 0; j < file2.length; j++) {
+           line = file2[j];
+           if (equivalenceClasses[line]) {
+             equivalenceClasses[line].push(j);
+           } else {
+             equivalenceClasses[line] = [j];
+           }
+         }
+
+         candidates = [
+           { file1index: -1, file2index: -1, chain: null }
+         ];
+
+         for (i = 0; i < file1.length; i++) {
+           line = file1[i];
+           file2indices = equivalenceClasses[line] || [];
+
+           r = 0;
+           c = candidates[0];
+
+           for (jX = 0; jX < file2indices.length; jX++) {
+             j = file2indices[jX];
+
+             for (s = r; s < candidates.length; s++) {
+               if ((candidates[s].file2index < j) && ((s === candidates.length - 1) || (candidates[s + 1].file2index > j))) {
+                 break;
+               }
+             }
+
+             if (s < candidates.length) {
+               newCandidate = { file1index: i, file2index: j, chain: candidates[s] };
+               if (r === candidates.length) {
+                 candidates.push(c);
+               } else {
+                 candidates[r] = c;
+               }
+               r = s + 1;
+               c = newCandidate;
+               if (r === candidates.length) {
+                 break; // no point in examining further (j)s
+               }
+             }
+           }
+
+           candidates[r] = c;
+         }
+
+         // At this point, we know the LCS: it's in the reverse of the
+         // linked-list through .chain of candidates[candidates.length - 1].
+
+         return candidates[candidates.length - 1];
+       }
+
+
+       // We apply the LCS to give a simple representation of the
+       // offsets and lengths of mismatched chunks in the input
+       // files. This is used by diff3MergeIndices below.
+       function diffIndices(file1, file2) {
+         var result = [];
+         var tail1 = file1.length;
+         var tail2 = file2.length;
+
+         for (var candidate = LCS(file1, file2);
+            candidate !== null;
+            candidate = candidate.chain)
+         {
+           var mismatchLength1 = tail1 - candidate.file1index - 1;
+           var mismatchLength2 = tail2 - candidate.file2index - 1;
+           tail1 = candidate.file1index;
+           tail2 = candidate.file2index;
+
+           if (mismatchLength1 || mismatchLength2) {
+             result.push({
+               file1: [tail1 + 1, mismatchLength1],
+               file2: [tail2 + 1, mismatchLength2]
+             });
+           }
+         }
+
+         result.reverse();
+         return result;
+       }
+
+
+       // Given three files, A, O, and B, where both A and B are
+       // independently derived from O, returns a fairly complicated
+       // internal representation of merge decisions it's taken. The
+       // interested reader may wish to consult
+       //
+       // Sanjeev Khanna, Keshav Kunal, and Benjamin C. Pierce.
+       // 'A Formal Investigation of ' In Arvind and Prasad,
+       // editors, Foundations of Software Technology and Theoretical
+       // Computer Science (FSTTCS), December 2007.
+       //
+       // (http://www.cis.upenn.edu/~bcpierce/papers/diff3-short.pdf)
+       function diff3MergeIndices(a, o, b) {
+         var i;
+         var m1 = diffIndices(o, a);
+         var m2 = diffIndices(o, b);
+
+         var hunks = [];
+         function addHunk(h, side) {
+           hunks.push([h.file1[0], side, h.file1[1], h.file2[0], h.file2[1]]);
+         }
+         for (i = 0; i < m1.length; i++) { addHunk(m1[i], 0); }
+         for (i = 0; i < m2.length; i++) { addHunk(m2[i], 2); }
+         hunks.sort(function (x, y) { return x[0] - y[0]; });
+
+         var result = [];
+         var commonOffset = 0;
+         function copyCommon(targetOffset) {
+           if (targetOffset > commonOffset) {
+             result.push([1, commonOffset, targetOffset - commonOffset]);
+             commonOffset = targetOffset;
+           }
+         }
+
+         for (var hunkIndex = 0; hunkIndex < hunks.length; hunkIndex++) {
+           var firstHunkIndex = hunkIndex;
+           var hunk = hunks[hunkIndex];
+           var regionLhs = hunk[0];
+           var regionRhs = regionLhs + hunk[2];
+           while (hunkIndex < hunks.length - 1) {
+             var maybeOverlapping = hunks[hunkIndex + 1];
+             var maybeLhs = maybeOverlapping[0];
+             if (maybeLhs > regionRhs) {
+               break;
+             }
+             regionRhs = Math.max(regionRhs, maybeLhs + maybeOverlapping[2]);
+             hunkIndex++;
+           }
+
+           copyCommon(regionLhs);
+           if (firstHunkIndex === hunkIndex) {
+             // The 'overlap' was only one hunk long, meaning that
+             // there's no conflict here. Either a and o were the
+             // same, or b and o were the same.
+             if (hunk[4] > 0) {
+               result.push([hunk[1], hunk[3], hunk[4]]);
+             }
+           } else {
+             // A proper conflict. Determine the extents of the
+             // regions involved from a, o and b. Effectively merge
+             // all the hunks on the left into one giant hunk, and
+             // do the same for the right; then, correct for skew
+             // in the regions of o that each side changed, and
+             // report appropriate spans for the three sides.
+             var regions = {
+               0: [a.length, -1, o.length, -1],
+               2: [b.length, -1, o.length, -1]
+             };
+             for (i = firstHunkIndex; i <= hunkIndex; i++) {
+               hunk = hunks[i];
+               var side = hunk[1];
+               var r = regions[side];
+               var oLhs = hunk[0];
+               var oRhs = oLhs + hunk[2];
+               var abLhs = hunk[3];
+               var abRhs = abLhs + hunk[4];
+               r[0] = Math.min(abLhs, r[0]);
+               r[1] = Math.max(abRhs, r[1]);
+               r[2] = Math.min(oLhs, r[2]);
+               r[3] = Math.max(oRhs, r[3]);
+             }
+             var aLhs = regions[0][0] + (regionLhs - regions[0][2]);
+             var aRhs = regions[0][1] + (regionRhs - regions[0][3]);
+             var bLhs = regions[2][0] + (regionLhs - regions[2][2]);
+             var bRhs = regions[2][1] + (regionRhs - regions[2][3]);
+             result.push([-1,
+                          aLhs,      aRhs      - aLhs,
+                          regionLhs, regionRhs - regionLhs,
+                          bLhs,      bRhs      - bLhs]);
+           }
+           commonOffset = regionRhs;
+         }
+
+         copyCommon(o.length);
+         return result;
+       }
+
+
+       // Applies the output of diff3MergeIndices to actually
+       // construct the merged file; the returned result alternates
+       // between 'ok' and 'conflict' blocks.
+       function diff3Merge(a, o, b, excludeFalseConflicts) {
+         var result = [];
+         var files = [a, o, b];
+         var indices = diff3MergeIndices(a, o, b);
+
+         var okLines = [];
+         function flushOk() {
+           if (okLines.length) {
+             result.push({ok: okLines});
+           }
+           okLines = [];
+         }
+         function pushOk(xs) {
+           for (var j = 0; j < xs.length; j++) {
+             okLines.push(xs[j]);
+           }
+         }
+
+         function isTrueConflict(rec) {
+           if (rec[2] !== rec[6]) return true;
+           var aoff = rec[1];
+           var boff = rec[5];
+           for (var j = 0; j < rec[2]; j++) {
+             if (a[j + aoff] !== b[j + boff]) {
+               return true;
+             }
+           }
+           return false;
+         }
+
+         for (var i = 0; i < indices.length; i++) {
+           var x = indices[i];
+           var side = x[0];
+           if (side === -1) {
+             if (excludeFalseConflicts && !isTrueConflict(x)) {
+               pushOk(files[0].slice(x[1], x[1] + x[2]));
+             } else {
+               flushOk();
+               result.push({
+                 conflict: {
+                   a: a.slice(x[1], x[1] + x[2]),
+                   aIndex: x[1],
+                   o: o.slice(x[3], x[3] + x[4]),
+                   oIndex: x[3],
+                   b: b.slice(x[5], x[5] + x[6]),
+                   bIndex: x[5]
+                 }
+               });
+             }
+           } else {
+             pushOk(files[side].slice(x[1], x[1] + x[2]));
+           }
+         }
+
+         flushOk();
+         return result;
+       }
+
+       function actionMergeRemoteChanges(id, localGraph, remoteGraph, formatUser) {
+           var _option = 'safe';  // 'safe', 'force_local', 'force_remote'
+           var _conflicts = [];
+
+
+           function user(d) {
+               return (typeof formatUser === 'function') ? formatUser(d) : d;
+           }
+
+
+           function mergeLocation(remote, target) {
+               function pointEqual(a, b) {
+                   var epsilon = 1e-6;
+                   return (Math.abs(a[0] - b[0]) < epsilon) && (Math.abs(a[1] - b[1]) < epsilon);
+               }
+
+               if (_option === 'force_local' || pointEqual(target.loc, remote.loc)) {
+                   return target;
+               }
+               if (_option === 'force_remote') {
+                   return target.update({loc: remote.loc});
+               }
+
+               _conflicts.push(t('merge_remote_changes.conflict.location', { user: user(remote.user) }));
+               return target;
+           }
+
+
+           function mergeNodes(base, remote, target) {
+               if (_option === 'force_local' || fastDeepEqual(target.nodes, remote.nodes)) {
+                   return target;
+               }
+               if (_option === 'force_remote') {
+                   return target.update({nodes: remote.nodes});
+               }
+
+               var ccount = _conflicts.length;
+               var o = base.nodes || [];
+               var a = target.nodes || [];
+               var b = remote.nodes || [];
+               var nodes = [];
+               var hunks = diff3Merge(a, o, b, true);
+
+               for (var i = 0; i < hunks.length; i++) {
+                   var hunk = hunks[i];
+                   if (hunk.ok) {
+                       nodes.push.apply(nodes, hunk.ok);
+                   } else {
+                       // for all conflicts, we can assume c.a !== c.b
+                       // because `diff3Merge` called with `true` option to exclude false conflicts..
+                       var c = hunk.conflict;
+                       if (fastDeepEqual(c.o, c.a)) {  // only changed remotely
+                           nodes.push.apply(nodes, c.b);
+                       } else if (fastDeepEqual(c.o, c.b)) {  // only changed locally
+                           nodes.push.apply(nodes, c.a);
+                       } else {       // changed both locally and remotely
+                           _conflicts.push(t('merge_remote_changes.conflict.nodelist', { user: user(remote.user) }));
+                           break;
+                       }
+                   }
+               }
+
+               return (_conflicts.length === ccount) ? target.update({nodes: nodes}) : target;
+           }
+
+
+           function mergeChildren(targetWay, children, updates, graph) {
+               function isUsed(node, targetWay) {
+                   var hasInterestingParent = graph.parentWays(node)
+                       .some(function(way) { return way.id !== targetWay.id; });
+
+                   return node.hasInterestingTags() ||
+                       hasInterestingParent ||
+                       graph.parentRelations(node).length > 0;
+               }
+
+               var ccount = _conflicts.length;
+
+               for (var i = 0; i < children.length; i++) {
+                   var id = children[i];
+                   var node = graph.hasEntity(id);
+
+                   // remove unused childNodes..
+                   if (targetWay.nodes.indexOf(id) === -1) {
+                       if (node && !isUsed(node, targetWay)) {
+                           updates.removeIds.push(id);
+                       }
+                       continue;
+                   }
+
+                   // restore used childNodes..
+                   var local = localGraph.hasEntity(id);
+                   var remote = remoteGraph.hasEntity(id);
+                   var target;
+
+                   if (_option === 'force_remote' && remote && remote.visible) {
+                       updates.replacements.push(remote);
+
+                   } else if (_option === 'force_local' && local) {
+                       target = osmEntity(local);
+                       if (remote) {
+                           target = target.update({ version: remote.version });
+                       }
+                       updates.replacements.push(target);
+
+                   } else if (_option === 'safe' && local && remote && local.version !== remote.version) {
+                       target = osmEntity(local, { version: remote.version });
+                       if (remote.visible) {
+                           target = mergeLocation(remote, target);
+                       } else {
+                           _conflicts.push(t('merge_remote_changes.conflict.deleted', { user: user(remote.user) }));
+                       }
+
+                       if (_conflicts.length !== ccount) break;
+                       updates.replacements.push(target);
+                   }
+               }
+
+               return targetWay;
+           }
+
+
+           function updateChildren(updates, graph) {
+               for (var i = 0; i < updates.replacements.length; i++) {
+                   graph = graph.replace(updates.replacements[i]);
+               }
+               if (updates.removeIds.length) {
+                   graph = actionDeleteMultiple(updates.removeIds)(graph);
+               }
+               return graph;
+           }
+
+
+           function mergeMembers(remote, target) {
+               if (_option === 'force_local' || fastDeepEqual(target.members, remote.members)) {
+                   return target;
+               }
+               if (_option === 'force_remote') {
+                   return target.update({members: remote.members});
+               }
+
+               _conflicts.push(t('merge_remote_changes.conflict.memberlist', { user: user(remote.user) }));
+               return target;
+           }
+
+
+           function mergeTags(base, remote, target) {
+               if (_option === 'force_local' || fastDeepEqual(target.tags, remote.tags)) {
+                   return target;
+               }
+               if (_option === 'force_remote') {
+                   return target.update({tags: remote.tags});
+               }
+
+               var ccount = _conflicts.length;
+               var o = base.tags || {};
+               var a = target.tags || {};
+               var b = remote.tags || {};
+               var keys = utilArrayUnion(utilArrayUnion(Object.keys(o), Object.keys(a)), Object.keys(b))
+                   .filter(function(k) { return !dataDiscarded[k]; });
+               var tags = Object.assign({}, a);   // shallow copy
+               var changed = false;
+
+               for (var i = 0; i < keys.length; i++) {
+                   var k = keys[i];
+
+                   if (o[k] !== b[k] && a[k] !== b[k]) {    // changed remotely..
+                       if (o[k] !== a[k]) {      // changed locally..
+                           _conflicts.push(t('merge_remote_changes.conflict.tags',
+                               { tag: k, local: a[k], remote: b[k], user: user(remote.user) }));
+
+                       } else {                  // unchanged locally, accept remote change..
+                           if (b.hasOwnProperty(k)) {
+                               tags[k] = b[k];
+                           } else {
+                               delete tags[k];
+                           }
+                           changed = true;
+                       }
+                   }
+               }
+
+               return (changed && _conflicts.length === ccount) ? target.update({tags: tags}) : target;
+           }
+
+
+           //  `graph.base()` is the common ancestor of the two graphs.
+           //  `localGraph` contains user's edits up to saving
+           //  `remoteGraph` contains remote edits to modified nodes
+           //  `graph` must be a descendent of `localGraph` and may include
+           //      some conflict resolution actions performed on it.
+           //
+           //                  --- ... --- `localGraph` -- ... -- `graph`
+           //                 /
+           //  `graph.base()` --- ... --- `remoteGraph`
+           //
+           var action = function(graph) {
+               var updates = { replacements: [], removeIds: [] };
+               var base = graph.base().entities[id];
+               var local = localGraph.entity(id);
+               var remote = remoteGraph.entity(id);
+               var target = osmEntity(local, { version: remote.version });
+
+               // delete/undelete
+               if (!remote.visible) {
+                   if (_option === 'force_remote') {
+                       return actionDeleteMultiple([id])(graph);
+
+                   } else if (_option === 'force_local') {
+                       if (target.type === 'way') {
+                           target = mergeChildren(target, utilArrayUniq(local.nodes), updates, graph);
+                           graph = updateChildren(updates, graph);
+                       }
+                       return graph.replace(target);
+
+                   } else {
+                       _conflicts.push(t('merge_remote_changes.conflict.deleted', { user: user(remote.user) }));
+                       return graph;  // do nothing
+                   }
+               }
+
+               // merge
+               if (target.type === 'node') {
+                   target = mergeLocation(remote, target);
+
+               } else if (target.type === 'way') {
+                   // pull in any child nodes that may not be present locally..
+                   graph.rebase(remoteGraph.childNodes(remote), [graph], false);
+                   target = mergeNodes(base, remote, target);
+                   target = mergeChildren(target, utilArrayUnion(local.nodes, remote.nodes), updates, graph);
+
+               } else if (target.type === 'relation') {
+                   target = mergeMembers(remote, target);
+               }
+
+               target = mergeTags(base, remote, target);
+
+               if (!_conflicts.length) {
+                   graph = updateChildren(updates, graph).replace(target);
+               }
+
+               return graph;
+           };
+
+
+           action.withOption = function(opt) {
+               _option = opt;
+               return action;
+           };
+
+
+           action.conflicts = function() {
+               return _conflicts;
+           };
+
+
+           return action;
+       }
+
+       // https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/command/MoveCommand.java
+       // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MoveNodeAction.as
+       function actionMove(moveIDs, tryDelta, projection, cache) {
+           var _delta = tryDelta;
+
+           function setupCache(graph) {
+               function canMove(nodeID) {
+                   // Allow movement of any node that is in the selectedIDs list..
+                   if (moveIDs.indexOf(nodeID) !== -1) return true;
+
+                   // Allow movement of a vertex where 2 ways meet..
+                   var parents = graph.parentWays(graph.entity(nodeID));
+                   if (parents.length < 3) return true;
+
+                   // Restrict movement of a vertex where >2 ways meet, unless all parentWays are moving too..
+                   var parentsMoving = parents.every(function(way) { return cache.moving[way.id]; });
+                   if (!parentsMoving) delete cache.moving[nodeID];
+
+                   return parentsMoving;
+               }
+
+               function cacheEntities(ids) {
+                   for (var i = 0; i < ids.length; i++) {
+                       var id = ids[i];
+                       if (cache.moving[id]) continue;
+                       cache.moving[id] = true;
+
+                       var entity = graph.hasEntity(id);
+                       if (!entity) continue;
+
+                       if (entity.type === 'node') {
+                           cache.nodes.push(id);
+                           cache.startLoc[id] = entity.loc;
+                       } else if (entity.type === 'way') {
+                           cache.ways.push(id);
+                           cacheEntities(entity.nodes);
+                       } else {
+                           cacheEntities(entity.members.map(function(member) {
+                               return member.id;
+                           }));
+                       }
+                   }
+               }
+
+               function cacheIntersections(ids) {
+                   function isEndpoint(way, id) {
+                       return !way.isClosed() && !!way.affix(id);
+                   }
+
+                   for (var i = 0; i < ids.length; i++) {
+                       var id = ids[i];
+
+                       // consider only intersections with 1 moved and 1 unmoved way.
+                       var childNodes = graph.childNodes(graph.entity(id));
+                       for (var j = 0; j < childNodes.length; j++) {
+                           var node = childNodes[j];
+                           var parents = graph.parentWays(node);
+                           if (parents.length !== 2) continue;
+
+                           var moved = graph.entity(id);
+                           var unmoved = null;
+                           for (var k = 0; k < parents.length; k++) {
+                               var way = parents[k];
+                               if (!cache.moving[way.id]) {
+                                   unmoved = way;
+                                   break;
+                               }
+                           }
+                           if (!unmoved) continue;
+
+                           // exclude ways that are overly connected..
+                           if (utilArrayIntersection(moved.nodes, unmoved.nodes).length > 2) continue;
+                           if (moved.isArea() || unmoved.isArea()) continue;
+
+                           cache.intersections.push({
+                               nodeId: node.id,
+                               movedId: moved.id,
+                               unmovedId: unmoved.id,
+                               movedIsEP: isEndpoint(moved, node.id),
+                               unmovedIsEP: isEndpoint(unmoved, node.id)
+                           });
+                       }
+                   }
+               }
+
+
+               if (!cache) {
+                   cache = {};
+               }
+               if (!cache.ok) {
+                   cache.moving = {};
+                   cache.intersections = [];
+                   cache.replacedVertex = {};
+                   cache.startLoc = {};
+                   cache.nodes = [];
+                   cache.ways = [];
+
+                   cacheEntities(moveIDs);
+                   cacheIntersections(cache.ways);
+                   cache.nodes = cache.nodes.filter(canMove);
+
+                   cache.ok = true;
+               }
+           }
+
+
+           // Place a vertex where the moved vertex used to be, to preserve way shape..
+           //
+           //  Start:
+           //      b ---- e
+           //     / \
+           //    /   \
+           //   /     \
+           //  a       c
+           //
+           //      *               node '*' added to preserve shape
+           //     / \
+           //    /   b ---- e      way `b,e` moved here:
+           //   /     \
+           //  a       c
+           //
+           //
+           function replaceMovedVertex(nodeId, wayId, graph, delta) {
+               var way = graph.entity(wayId);
+               var moved = graph.entity(nodeId);
+               var movedIndex = way.nodes.indexOf(nodeId);
+               var len, prevIndex, nextIndex;
+
+               if (way.isClosed()) {
+                   len = way.nodes.length - 1;
+                   prevIndex = (movedIndex + len - 1) % len;
+                   nextIndex = (movedIndex + len + 1) % len;
+               } else {
+                   len = way.nodes.length;
+                   prevIndex = movedIndex - 1;
+                   nextIndex = movedIndex + 1;
+               }
+
+               var prev = graph.hasEntity(way.nodes[prevIndex]);
+               var next = graph.hasEntity(way.nodes[nextIndex]);
+
+               // Don't add orig vertex at endpoint..
+               if (!prev || !next) return graph;
+
+               var key = wayId + '_' + nodeId;
+               var orig = cache.replacedVertex[key];
+               if (!orig) {
+                   orig = osmNode();
+                   cache.replacedVertex[key] = orig;
+                   cache.startLoc[orig.id] = cache.startLoc[nodeId];
+               }
+
+               var start, end;
+               if (delta) {
+                   start = projection(cache.startLoc[nodeId]);
+                   end = projection.invert(geoVecAdd(start, delta));
+               } else {
+                   end = cache.startLoc[nodeId];
+               }
+               orig = orig.move(end);
+
+               var angle = Math.abs(geoAngle(orig, prev, projection) -
+                       geoAngle(orig, next, projection)) * 180 / Math.PI;
+
+               // Don't add orig vertex if it would just make a straight line..
+               if (angle > 175 && angle < 185) return graph;
+
+               // moving forward or backward along way?
+               var p1 = [prev.loc, orig.loc, moved.loc, next.loc].map(projection);
+               var p2 = [prev.loc, moved.loc, orig.loc, next.loc].map(projection);
+               var d1 = geoPathLength(p1);
+               var d2 = geoPathLength(p2);
+               var insertAt = (d1 <= d2) ? movedIndex : nextIndex;
+
+               // moving around closed loop?
+               if (way.isClosed() && insertAt === 0) insertAt = len;
+
+               way = way.addNode(orig.id, insertAt);
+               return graph.replace(orig).replace(way);
+           }
+
+
+           // Remove duplicate vertex that might have been added by
+           // replaceMovedVertex.  This is done after the unzorro checks.
+           function removeDuplicateVertices(wayId, graph) {
+               var way = graph.entity(wayId);
+               var epsilon = 1e-6;
+               var prev, curr;
+
+               function isInteresting(node, graph) {
+                   return graph.parentWays(node).length > 1 ||
+                       graph.parentRelations(node).length ||
+                       node.hasInterestingTags();
+               }
+
+               for (var i = 0; i < way.nodes.length; i++) {
+                   curr = graph.entity(way.nodes[i]);
+
+                   if (prev && curr && geoVecEqual(prev.loc, curr.loc, epsilon)) {
+                       if (!isInteresting(prev, graph)) {
+                           way = way.removeNode(prev.id);
+                           graph = graph.replace(way).remove(prev);
+                       } else if (!isInteresting(curr, graph)) {
+                           way = way.removeNode(curr.id);
+                           graph = graph.replace(way).remove(curr);
+                       }
+                   }
+
+                   prev = curr;
+               }
+
+               return graph;
+           }
+
+
+           // Reorder nodes around intersections that have moved..
+           //
+           //  Start:                way1.nodes: b,e         (moving)
+           //  a - b - c ----- d     way2.nodes: a,b,c,d     (static)
+           //      |                 vertex: b
+           //      e                 isEP1: true,  isEP2, false
+           //
+           //  way1 `b,e` moved here:
+           //  a ----- c = b - d
+           //              |
+           //              e
+           //
+           //  reorder nodes         way1.nodes: b,e
+           //  a ----- c - b - d     way2.nodes: a,c,b,d
+           //              |
+           //              e
+           //
+           function unZorroIntersection(intersection, graph) {
+               var vertex = graph.entity(intersection.nodeId);
+               var way1 = graph.entity(intersection.movedId);
+               var way2 = graph.entity(intersection.unmovedId);
+               var isEP1 = intersection.movedIsEP;
+               var isEP2 = intersection.unmovedIsEP;
+
+               // don't move the vertex if it is the endpoint of both ways.
+               if (isEP1 && isEP2) return graph;
+
+               var nodes1 = graph.childNodes(way1).filter(function(n) { return n !== vertex; });
+               var nodes2 = graph.childNodes(way2).filter(function(n) { return n !== vertex; });
+
+               if (way1.isClosed() && way1.first() === vertex.id) nodes1.push(nodes1[0]);
+               if (way2.isClosed() && way2.first() === vertex.id) nodes2.push(nodes2[0]);
+
+               var edge1 = !isEP1 && geoChooseEdge(nodes1, projection(vertex.loc), projection);
+               var edge2 = !isEP2 && geoChooseEdge(nodes2, projection(vertex.loc), projection);
+               var loc;
+
+               // snap vertex to nearest edge (or some point between them)..
+               if (!isEP1 && !isEP2) {
+                   var epsilon = 1e-6, maxIter = 10;
+                   for (var i = 0; i < maxIter; i++) {
+                       loc = geoVecInterp(edge1.loc, edge2.loc, 0.5);
+                       edge1 = geoChooseEdge(nodes1, projection(loc), projection);
+                       edge2 = geoChooseEdge(nodes2, projection(loc), projection);
+                       if (Math.abs(edge1.distance - edge2.distance) < epsilon) break;
+                   }
+               } else if (!isEP1) {
+                   loc = edge1.loc;
+               } else {
+                   loc = edge2.loc;
+               }
+
+               graph = graph.replace(vertex.move(loc));
+
+               // if zorro happened, reorder nodes..
+               if (!isEP1 && edge1.index !== way1.nodes.indexOf(vertex.id)) {
+                   way1 = way1.removeNode(vertex.id).addNode(vertex.id, edge1.index);
+                   graph = graph.replace(way1);
+               }
+               if (!isEP2 && edge2.index !== way2.nodes.indexOf(vertex.id)) {
+                   way2 = way2.removeNode(vertex.id).addNode(vertex.id, edge2.index);
+                   graph = graph.replace(way2);
+               }
+
+               return graph;
+           }
+
+
+           function cleanupIntersections(graph) {
+               for (var i = 0; i < cache.intersections.length; i++) {
+                   var obj = cache.intersections[i];
+                   graph = replaceMovedVertex(obj.nodeId, obj.movedId, graph, _delta);
+                   graph = replaceMovedVertex(obj.nodeId, obj.unmovedId, graph, null);
+                   graph = unZorroIntersection(obj, graph);
+                   graph = removeDuplicateVertices(obj.movedId, graph);
+                   graph = removeDuplicateVertices(obj.unmovedId, graph);
+               }
+
+               return graph;
+           }
+
+
+           // check if moving way endpoint can cross an unmoved way, if so limit delta..
+           function limitDelta(graph) {
+               function moveNode(loc) {
+                   return geoVecAdd(projection(loc), _delta);
+               }
+
+               for (var i = 0; i < cache.intersections.length; i++) {
+                   var obj = cache.intersections[i];
+
+                   // Don't limit movement if this is vertex joins 2 endpoints..
+                   if (obj.movedIsEP && obj.unmovedIsEP) continue;
+                   // Don't limit movement if this vertex is not an endpoint anyway..
+                   if (!obj.movedIsEP) continue;
+
+                   var node = graph.entity(obj.nodeId);
+                   var start = projection(node.loc);
+                   var end = geoVecAdd(start, _delta);
+                   var movedNodes = graph.childNodes(graph.entity(obj.movedId));
+                   var movedPath = movedNodes.map(function(n) { return moveNode(n.loc); });
+                   var unmovedNodes = graph.childNodes(graph.entity(obj.unmovedId));
+                   var unmovedPath = unmovedNodes.map(function(n) { return projection(n.loc); });
+                   var hits = geoPathIntersections(movedPath, unmovedPath);
+
+                   for (var j = 0; i < hits.length; i++) {
+                       if (geoVecEqual(hits[j], end)) continue;
+                       var edge = geoChooseEdge(unmovedNodes, end, projection);
+                       _delta = geoVecSubtract(projection(edge.loc), start);
+                   }
+               }
+           }
+
+
+           var action = function(graph) {
+               if (_delta[0] === 0 && _delta[1] === 0) return graph;
+
+               setupCache(graph);
+
+               if (cache.intersections.length) {
+                   limitDelta(graph);
+               }
+
+               for (var i = 0; i < cache.nodes.length; i++) {
+                   var node = graph.entity(cache.nodes[i]);
+                   var start = projection(node.loc);
+                   var end = geoVecAdd(start, _delta);
+                   graph = graph.replace(node.move(projection.invert(end)));
+               }
+
+               if (cache.intersections.length) {
+                   graph = cleanupIntersections(graph);
+               }
+
+               return graph;
+           };
+
+
+           action.delta = function() {
+               return _delta;
+           };
+
+
+           return action;
+       }
+
+       function actionMoveMember(relationId, fromIndex, toIndex) {
+           return function(graph) {
+               return graph.replace(graph.entity(relationId).moveMember(fromIndex, toIndex));
+           };
+       }
+
+       function actionMoveNode(nodeID, toLoc) {
+
+           var action = function(graph, t) {
+               if (t === null || !isFinite(t)) t = 1;
+               t = Math.min(Math.max(+t, 0), 1);
+
+               var node = graph.entity(nodeID);
+               return graph.replace(
+                   node.move(geoVecInterp(node.loc, toLoc, t))
+               );
+           };
+
+           action.transitionable = true;
+
+           return action;
+       }
+
+       function actionNoop() {
+           return function(graph) {
+               return graph;
+           };
+       }
+
+       function actionOrthogonalize(wayID, projection, vertexID, degThresh, ep) {
+           var epsilon = ep || 1e-4;
+           var threshold = degThresh || 13;  // degrees within right or straight to alter
+
+           // We test normalized dot products so we can compare as cos(angle)
+           var lowerThreshold = Math.cos((90 - threshold) * Math.PI / 180);
+           var upperThreshold = Math.cos(threshold * Math.PI / 180);
+
+
+           var action = function(graph, t) {
+               if (t === null || !isFinite(t)) t = 1;
+               t = Math.min(Math.max(+t, 0), 1);
+
+               var way = graph.entity(wayID);
+               way = way.removeNode('');   // sanity check - remove any consecutive duplicates
+
+               if (way.tags.nonsquare) {
+                   var tags = Object.assign({}, way.tags);
+                   // since we're squaring, remove indication that this is physically unsquare
+                   delete tags.nonsquare;
+                   way = way.update({tags: tags});
+               }
+
+               graph = graph.replace(way);
+
+               var isClosed = way.isClosed();
+               var nodes = graph.childNodes(way).slice();  // shallow copy
+               if (isClosed) nodes.pop();
+
+               if (vertexID !== undefined) {
+                   nodes = nodeSubset(nodes, vertexID, isClosed);
+                   if (nodes.length !== 3) return graph;
+               }
+
+               // note: all geometry functions here use the unclosed node/point/coord list
+
+               var nodeCount = {};
+               var points = [];
+               var corner = { i: 0, dotp: 1 };
+               var node, point, loc, score, motions, i, j;
+
+               for (i = 0; i < nodes.length; i++) {
+                   node = nodes[i];
+                   nodeCount[node.id] = (nodeCount[node.id] || 0) + 1;
+                   points.push({ id: node.id, coord: projection(node.loc) });
+               }
+
+
+               if (points.length === 3) {   // move only one vertex for right triangle
+                   for (i = 0; i < 1000; i++) {
+                       motions = points.map(calcMotion);
+
+                       points[corner.i].coord = geoVecAdd(points[corner.i].coord, motions[corner.i]);
+                       score = corner.dotp;
+                       if (score < epsilon) {
+                           break;
+                       }
+                   }
+
+                   node = graph.entity(nodes[corner.i].id);
+                   loc = projection.invert(points[corner.i].coord);
+                   graph = graph.replace(node.move(geoVecInterp(node.loc, loc, t)));
+
+               } else {
+                   var straights = [];
+                   var simplified = [];
+
+                   // Remove points from nearly straight sections..
+                   // This produces a simplified shape to orthogonalize
+                   for (i = 0; i < points.length; i++) {
+                       point = points[i];
+                       var dotp = 0;
+                       if (isClosed || (i > 0 && i < points.length - 1)) {
+                           var a = points[(i - 1 + points.length) % points.length];
+                           var b = points[(i + 1) % points.length];
+                           dotp = Math.abs(geoOrthoNormalizedDotProduct(a.coord, b.coord, point.coord));
+                       }
+
+                       if (dotp > upperThreshold) {
+                           straights.push(point);
+                       } else {
+                           simplified.push(point);
+                       }
+                   }
+
+                   // Orthogonalize the simplified shape
+                   var bestPoints = clonePoints(simplified);
+                   var originalPoints = clonePoints(simplified);
+
+                   score = Infinity;
+                   for (i = 0; i < 1000; i++) {
+                       motions = simplified.map(calcMotion);
+
+                       for (j = 0; j < motions.length; j++) {
+                           simplified[j].coord = geoVecAdd(simplified[j].coord, motions[j]);
+                       }
+                       var newScore = geoOrthoCalcScore(simplified, isClosed, epsilon, threshold);
+                       if (newScore < score) {
+                           bestPoints = clonePoints(simplified);
+                           score = newScore;
+                       }
+                       if (score < epsilon) {
+                           break;
+                       }
+                   }
+
+                   var bestCoords = bestPoints.map(function(p) { return p.coord; });
+                   if (isClosed) bestCoords.push(bestCoords[0]);
+
+                   // move the nodes that should move
+                   for (i = 0; i < bestPoints.length; i++) {
+                       point = bestPoints[i];
+                       if (!geoVecEqual(originalPoints[i].coord, point.coord)) {
+                           node = graph.entity(point.id);
+                           loc = projection.invert(point.coord);
+                           graph = graph.replace(node.move(geoVecInterp(node.loc, loc, t)));
+                       }
+                   }
+
+                   // move the nodes along straight segments
+                   for (i = 0; i < straights.length; i++) {
+                       point = straights[i];
+                       if (nodeCount[point.id] > 1) continue;   // skip self-intersections
+
+                       node = graph.entity(point.id);
+
+                       if (t === 1 &&
+                           graph.parentWays(node).length === 1 &&
+                           graph.parentRelations(node).length === 0 &&
+                           !node.hasInterestingTags()
+                       ) {
+                           // remove uninteresting points..
+                           graph = actionDeleteNode(node.id)(graph);
+
+                       } else {
+                           // move interesting points to the nearest edge..
+                           var choice = geoVecProject(point.coord, bestCoords);
+                           if (choice) {
+                               loc = projection.invert(choice.target);
+                               graph = graph.replace(node.move(geoVecInterp(node.loc, loc, t)));
+                           }
+                       }
+                   }
+               }
+
+               return graph;
+
+
+               function clonePoints(array) {
+                   return array.map(function(p) {
+                       return { id: p.id, coord: [p.coord[0], p.coord[1]] };
+                   });
+               }
+
+
+               function calcMotion(point, i, array) {
+                   // don't try to move the endpoints of a non-closed way.
+                   if (!isClosed && (i === 0 || i === array.length - 1)) return [0, 0];
+                   // don't try to move a node that appears more than once (self intersection)
+                   if (nodeCount[array[i].id] > 1) return [0, 0];
+
+                   var a = array[(i - 1 + array.length) % array.length].coord;
+                   var origin = point.coord;
+                   var b = array[(i + 1) % array.length].coord;
+                   var p = geoVecSubtract(a, origin);
+                   var q = geoVecSubtract(b, origin);
+
+                   var scale = 2 * Math.min(geoVecLength(p), geoVecLength(q));
+                   p = geoVecNormalize(p);
+                   q = geoVecNormalize(q);
+
+                   var dotp = (p[0] * q[0] + p[1] * q[1]);
+                   var val = Math.abs(dotp);
+
+                   if (val < lowerThreshold) {  // nearly orthogonal
+                       corner.i = i;
+                       corner.dotp = val;
+                       var vec = geoVecNormalize(geoVecAdd(p, q));
+                       return geoVecScale(vec, 0.1 * dotp * scale);
+                   }
+
+                   return [0, 0];   // do nothing
+               }
+           };
+
+
+           // if we are only orthogonalizing one vertex,
+           // get that vertex and the previous and next
+           function nodeSubset(nodes, vertexID, isClosed) {
+               var first = isClosed ? 0 : 1;
+               var last = isClosed ? nodes.length : nodes.length - 1;
+
+               for (var i = first; i < last; i++) {
+                   if (nodes[i].id === vertexID) {
+                       return [
+                           nodes[(i - 1 + nodes.length) % nodes.length],
+                           nodes[i],
+                           nodes[(i + 1) % nodes.length]
+                       ];
+                   }
+               }
+
+               return [];
+           }
+
+
+           action.disabled = function(graph) {
+               var way = graph.entity(wayID);
+               way = way.removeNode('');  // sanity check - remove any consecutive duplicates
+               graph = graph.replace(way);
+
+               var isClosed = way.isClosed();
+               var nodes = graph.childNodes(way).slice();  // shallow copy
+               if (isClosed) nodes.pop();
+
+               var allowStraightAngles = false;
+               if (vertexID !== undefined) {
+                   allowStraightAngles = true;
+                   nodes = nodeSubset(nodes, vertexID, isClosed);
+                   if (nodes.length !== 3) return 'end_vertex';
+               }
+
+               var coords = nodes.map(function(n) { return projection(n.loc); });
+               var score = geoOrthoCanOrthogonalize(coords, isClosed, epsilon, threshold, allowStraightAngles);
+
+               if (score === null) {
+                   return 'not_squarish';
+               } else if (score === 0) {
+                   return 'square_enough';
+               } else {
+                   return false;
+               }
+           };
+
+
+           action.transitionable = true;
+
+           return action;
+       }
+
+       // `actionRestrictTurn` creates a turn restriction relation.
+       //
+       // `turn` must be an `osmTurn` object
+       // see osm/intersection.js, pathToTurn()
+       //
+       // This specifies a restriction of type `restriction` when traveling from
+       // `turn.from.way` toward `turn.to.way` via `turn.via.node` OR `turn.via.ways`.
+       // (The action does not check that these entities form a valid intersection.)
+       //
+       // From, to, and via ways should be split before calling this action.
+       // (old versions of the code would split the ways here, but we no longer do it)
+       //
+       // For testing convenience, accepts a restrictionID to assign to the new
+       // relation. Normally, this will be undefined and the relation will
+       // automatically be assigned a new ID.
+       //
+       function actionRestrictTurn(turn, restrictionType, restrictionID) {
+
+           return function(graph) {
+               var fromWay = graph.entity(turn.from.way);
+               var toWay = graph.entity(turn.to.way);
+               var viaNode = turn.via.node && graph.entity(turn.via.node);
+               var viaWays = turn.via.ways && turn.via.ways.map(function(id) { return graph.entity(id); });
+               var members = [];
+
+               members.push({ id: fromWay.id, type: 'way',  role: 'from' });
+
+               if (viaNode) {
+                   members.push({ id: viaNode.id,  type: 'node', role: 'via' });
+               } else if (viaWays) {
+                   viaWays.forEach(function(viaWay) {
+                       members.push({ id: viaWay.id,  type: 'way', role: 'via' });
+                   });
+               }
+
+               members.push({ id: toWay.id, type: 'way',  role: 'to' });
+
+               return graph.replace(osmRelation({
+                   id: restrictionID,
+                   tags: {
+                       type: 'restriction',
+                       restriction: restrictionType
+                   },
+                   members: members
+               }));
+           };
+       }
+
+       function actionRevert(id) {
+           var action = function(graph) {
+               var entity = graph.hasEntity(id),
+                   base = graph.base().entities[id];
+
+               if (entity && !base) {    // entity will be removed..
+                   if (entity.type === 'node') {
+                       graph.parentWays(entity)
+                           .forEach(function(parent) {
+                               parent = parent.removeNode(id);
+                               graph = graph.replace(parent);
+
+                               if (parent.isDegenerate()) {
+                                   graph = actionDeleteWay(parent.id)(graph);
+                               }
+                           });
+                   }
+
+                   graph.parentRelations(entity)
+                       .forEach(function(parent) {
+                           parent = parent.removeMembersWithID(id);
+                           graph = graph.replace(parent);
+
+                           if (parent.isDegenerate()) {
+                               graph = actionDeleteRelation(parent.id)(graph);
+                           }
+                       });
+               }
+
+               return graph.revert(id);
+           };
+
+           return action;
+       }
+
+       function actionRotate(rotateIds, pivot, angle, projection) {
+
+           var action = function(graph) {
+               return graph.update(function(graph) {
+                   utilGetAllNodes(rotateIds, graph).forEach(function(node) {
+                       var point = geoRotate([projection(node.loc)], angle, pivot)[0];
+                       graph = graph.replace(node.move(projection.invert(point)));
+                   });
+               });
+           };
+
+           return action;
+       }
+
+       /* Align nodes along their common axis */
+       function actionStraightenNodes(nodeIDs, projection) {
+
+           function positionAlongWay(a, o, b) {
+               return geoVecDot(a, b, o) / geoVecDot(b, b, o);
+           }
+
+
+           var action = function(graph, t) {
+               if (t === null || !isFinite(t)) t = 1;
+               t = Math.min(Math.max(+t, 0), 1);
+
+               var nodes = nodeIDs.map(function(id) { return graph.entity(id); });
+               var points = nodes.map(function(n) { return projection(n.loc); });
+               var ssr = geoGetSmallestSurroundingRectangle(points);
+
+               // Choose line pq = axis of symmetry.
+               // The shape's surrounding rectangle has 2 axes of symmetry.
+               // Snap points to the long axis
+               var p1 = [(ssr.poly[0][0] + ssr.poly[1][0]) / 2, (ssr.poly[0][1] + ssr.poly[1][1]) / 2 ];
+               var q1 = [(ssr.poly[2][0] + ssr.poly[3][0]) / 2, (ssr.poly[2][1] + ssr.poly[3][1]) / 2 ];
+               var p2 = [(ssr.poly[3][0] + ssr.poly[4][0]) / 2, (ssr.poly[3][1] + ssr.poly[4][1]) / 2 ];
+               var q2 = [(ssr.poly[1][0] + ssr.poly[2][0]) / 2, (ssr.poly[1][1] + ssr.poly[2][1]) / 2 ];
+               var p, q;
+
+               var isLong = (geoVecLength(p1, q1) > geoVecLength(p2, q2));
+               if (isLong) {
+                   p = p1;
+                   q = q1;
+               } else {
+                   p = p2;
+                   q = q2;
+               }
+
+               // Move points onto line pq
+               for (var i = 0; i < points.length; i++) {
+                   var node = nodes[i];
+                   var point = points[i];
+                   var u = positionAlongWay(point, p, q);
+                   var point2 = geoVecInterp(p, q, u);
+                   var loc2 = projection.invert(point2);
+                   graph = graph.replace(node.move(geoVecInterp(node.loc, loc2, t)));
+               }
+
+               return graph;
+           };
+
+
+           action.disabled = function() {
+               return false;
+           };
+
+
+           action.transitionable = true;
+
+
+           return action;
+       }
+
+       /*
+        * Based on https://github.com/openstreetmap/potlatch2/net/systemeD/potlatch2/tools/Straighten.as
+        */
+       function actionStraightenWay(selectedIDs, projection) {
+
+           function positionAlongWay(a, o, b) {
+               return geoVecDot(a, b, o) / geoVecDot(b, b, o);
+           }
+
+           // Return all selected ways as a continuous, ordered array of nodes
+           function allNodes(graph) {
+               var nodes = [];
+               var startNodes = [];
+               var endNodes = [];
+               var remainingWays = [];
+               var selectedWays = selectedIDs.filter(function(w) {
+                   return graph.entity(w).type === 'way';
+               });
+               var selectedNodes = selectedIDs.filter(function(n) {
+                   return graph.entity(n).type === 'node';
+               });
+
+               for (var i = 0; i < selectedWays.length; i++) {
+                   var way = graph.entity(selectedWays[i]);
+                   nodes = way.nodes.slice(0);
+                   remainingWays.push(nodes);
+                   startNodes.push(nodes[0]);
+                   endNodes.push(nodes[nodes.length-1]);
+               }
+
+               // Remove duplicate end/startNodes (duplicate nodes cannot be at the line end,
+               //   and need to be removed so currNode difference calculation below works)
+               // i.e. ["n-1", "n-1", "n-2"] => ["n-2"]
+               startNodes = startNodes.filter(function(n) {
+                   return startNodes.indexOf(n) === startNodes.lastIndexOf(n);
+               });
+               endNodes = endNodes.filter(function(n) {
+                   return endNodes.indexOf(n) === endNodes.lastIndexOf(n);
+               });
+
+               // Choose the initial endpoint to start from
+               var currNode = utilArrayDifference(startNodes, endNodes)
+                   .concat(utilArrayDifference(endNodes, startNodes))[0];
+               var nextWay = [];
+               nodes = [];
+
+               // Create nested function outside of loop to avoid "function in loop" lint error
+               var getNextWay = function(currNode, remainingWays) {
+                   return remainingWays.filter(function(way) {
+                       return way[0] === currNode || way[way.length-1] === currNode;
+                   })[0];
+               };
+
+               // Add nodes to end of nodes array, until all ways are added
+               while (remainingWays.length) {
+                   nextWay = getNextWay(currNode, remainingWays);
+                   remainingWays = utilArrayDifference(remainingWays, [nextWay]);
+
+                   if (nextWay[0] !== currNode) {
+                       nextWay.reverse();
+                   }
+                   nodes = nodes.concat(nextWay);
+                   currNode = nodes[nodes.length-1];
+               }
+
+               // If user selected 2 nodes to straighten between, then slice nodes array to those nodes
+               if (selectedNodes.length === 2) {
+                   var startNodeIdx = nodes.indexOf(selectedNodes[0]);
+                   var endNodeIdx = nodes.indexOf(selectedNodes[1]);
+                   var sortedStartEnd = [startNodeIdx, endNodeIdx];
+
+                   sortedStartEnd.sort(function(a, b) { return a - b; });
+                   nodes = nodes.slice(sortedStartEnd[0], sortedStartEnd[1]+1);
+               }
+
+               return nodes.map(function(n) { return graph.entity(n); });
+           }
+
+
+           var action = function(graph, t) {
+               if (t === null || !isFinite(t)) t = 1;
+               t = Math.min(Math.max(+t, 0), 1);
+
+               var nodes = allNodes(graph);
+               var points = nodes.map(function(n) { return projection(n.loc); });
+               var startPoint = points[0];
+               var endPoint = points[points.length-1];
+               var toDelete = [];
+               var i;
+
+               for (i = 1; i < points.length-1; i++) {
+                   var node = nodes[i];
+                   var point = points[i];
+
+                   if (t < 1 || graph.parentWays(node).length > 1 ||
+                       graph.parentRelations(node).length ||
+                       node.hasInterestingTags()
+                   ) {
+                       var u = positionAlongWay(point, startPoint, endPoint);
+                       var p = geoVecInterp(startPoint, endPoint, u);
+                       var loc2 = projection.invert(p);
+                       graph = graph.replace(node.move(geoVecInterp(node.loc, loc2, t)));
+
+                   } else {
+                       // safe to delete
+                       if (toDelete.indexOf(node) === -1) {
+                           toDelete.push(node);
+                       }
+                   }
+               }
+
+               for (i = 0; i < toDelete.length; i++) {
+                   graph = actionDeleteNode(toDelete[i].id)(graph);
+               }
+
+               return graph;
+           };
+
+
+           action.disabled = function(graph) {
+               // check way isn't too bendy
+               var nodes = allNodes(graph);
+               var points = nodes.map(function(n) { return projection(n.loc); });
+               var startPoint = points[0];
+               var endPoint = points[points.length-1];
+               var threshold = 0.2 * geoVecLength(startPoint, endPoint);
+               var i;
+
+               if (threshold === 0) {
+                   return 'too_bendy';
+               }
+
+               for (i = 1; i < points.length - 1; i++) {
+                   var point = points[i];
+                   var u = positionAlongWay(point, startPoint, endPoint);
+                   var p = geoVecInterp(startPoint, endPoint, u);
+                   var dist = geoVecLength(p, point);
+
+                   // to bendy if point is off by 20% of total start/end distance in projected space
+                   if (isNaN(dist) || dist > threshold) {
+                       return 'too_bendy';
+                   }
+               }
+           };
+
+           action.transitionable = true;
+
+
+           return action;
+       }
+
+       // `actionUnrestrictTurn` deletes a turn restriction relation.
+       //
+       // `turn` must be an `osmTurn` object with a `restrictionID` property.
+       // see osm/intersection.js, pathToTurn()
+       //
+       function actionUnrestrictTurn(turn) {
+           return function(graph) {
+               return actionDeleteRelation(turn.restrictionID)(graph);
+           };
+       }
+
+       /* Reflect the given area around its axis of symmetry */
+       function actionReflect(reflectIds, projection) {
+           var _useLongAxis = true;
+
+
+           var action = function(graph, t) {
+               if (t === null || !isFinite(t)) t = 1;
+               t = Math.min(Math.max(+t, 0), 1);
+
+               var nodes = utilGetAllNodes(reflectIds, graph);
+               var points = nodes.map(function(n) { return projection(n.loc); });
+               var ssr = geoGetSmallestSurroundingRectangle(points);
+
+               // Choose line pq = axis of symmetry.
+               // The shape's surrounding rectangle has 2 axes of symmetry.
+               // Reflect across the longer axis by default.
+               var p1 = [(ssr.poly[0][0] + ssr.poly[1][0]) / 2, (ssr.poly[0][1] + ssr.poly[1][1]) / 2 ];
+               var q1 = [(ssr.poly[2][0] + ssr.poly[3][0]) / 2, (ssr.poly[2][1] + ssr.poly[3][1]) / 2 ];
+               var p2 = [(ssr.poly[3][0] + ssr.poly[4][0]) / 2, (ssr.poly[3][1] + ssr.poly[4][1]) / 2 ];
+               var q2 = [(ssr.poly[1][0] + ssr.poly[2][0]) / 2, (ssr.poly[1][1] + ssr.poly[2][1]) / 2 ];
+               var p, q;
+
+               var isLong = (geoVecLength(p1, q1) > geoVecLength(p2, q2));
+               if ((_useLongAxis && isLong) || (!_useLongAxis && !isLong)) {
+                   p = p1;
+                   q = q1;
+               } else {
+                   p = p2;
+                   q = q2;
+               }
+
+               // reflect c across pq
+               // http://math.stackexchange.com/questions/65503/point-reflection-over-a-line
+               var dx = q[0] - p[0];
+               var dy = q[1] - p[1];
+               var a = (dx * dx - dy * dy) / (dx * dx + dy * dy);
+               var b = 2 * dx * dy / (dx * dx + dy * dy);
+               for (var i = 0; i < nodes.length; i++) {
+                   var node = nodes[i];
+                   var c = projection(node.loc);
+                   var c2 = [
+                       a * (c[0] - p[0]) + b * (c[1] - p[1]) + p[0],
+                       b * (c[0] - p[0]) - a * (c[1] - p[1]) + p[1]
+                   ];
+                   var loc2 = projection.invert(c2);
+                   node = node.move(geoVecInterp(node.loc, loc2, t));
+                   graph = graph.replace(node);
+               }
+
+               return graph;
+           };
+
+
+           action.useLongAxis = function(val) {
+               if (!arguments.length) return _useLongAxis;
+               _useLongAxis = val;
+               return action;
+           };
+
+
+           action.transitionable = true;
+
+
+           return action;
+       }
+
+       function actionUpgradeTags(entityId, oldTags, replaceTags) {
+
+           return function(graph) {
+               var entity = graph.entity(entityId);
+               var tags = Object.assign({}, entity.tags);  // shallow copy
+               var transferValue;
+               var semiIndex;
+
+               for (var oldTagKey in oldTags) {
+                   if (oldTags[oldTagKey] === '*') {
+                       transferValue = tags[oldTagKey];
+                       delete tags[oldTagKey];
+                   } else {
+                       var vals = tags[oldTagKey].split(';').filter(Boolean);
+                       var oldIndex = vals.indexOf(oldTags[oldTagKey]);
+                       if (vals.length === 1 || oldIndex === -1) {
+                           delete tags[oldTagKey];
+                       } else {
+                           if (replaceTags && replaceTags[oldTagKey]) {
+                               // replacing a value within a semicolon-delimited value, note the index
+                               semiIndex = oldIndex;
+                           }
+                           vals.splice(oldIndex, 1);
+                           tags[oldTagKey] = vals.join(';');
+                       }
+                   }
+               }
+
+               if (replaceTags) {
+                   for (var replaceKey in replaceTags) {
+                       var replaceValue = replaceTags[replaceKey];
+                       if (replaceValue === '*') {
+                           if (tags[replaceKey] && tags[replaceKey] !== 'no') {
+                               // allow any pre-existing value except `no` (troll tag)
+                               continue;
+                           } else {
+                               // otherwise assume `yes` is okay
+                               tags[replaceKey] = 'yes';
+                           }
+                       } else if (replaceValue === '$1') {
+                           tags[replaceKey] = transferValue;
+                       } else {
+                           if (tags[replaceKey] && oldTags[replaceKey] && semiIndex !== undefined) {
+                               // don't override preexisting values
+                               var existingVals = tags[replaceKey].split(';').filter(Boolean);
+                               if (existingVals.indexOf(replaceValue) === -1) {
+                                   existingVals.splice(semiIndex, 0, replaceValue);
+                                   tags[replaceKey] = existingVals.join(';');
+                               }
+                           } else {
+                               tags[replaceKey] = replaceValue;
+                           }
+                       }
+                   }
+               }
+
+               return graph.replace(entity.update({ tags: tags }));
+           };
+       }
+
+       function behaviorEdit(context) {
+
+           function behavior() {
+               context.map()
+                   .minzoom(context.minEditableZoom());
+           }
+
+
+           behavior.off = function() {
+               context.map()
+                   .minzoom(0);
+           };
+
+           return behavior;
+       }
+
+       /*
+          The hover behavior adds the `.hover` class on mouseover to all elements to which
+          the identical datum is bound, and removes it on mouseout.
+
+          The :hover pseudo-class is insufficient for iD's purposes because a datum's visual
+          representation may consist of several elements scattered throughout the DOM hierarchy.
+          Only one of these elements can have the :hover pseudo-class, but all of them will
+          have the .hover class.
+        */
+       function behaviorHover(context) {
+           var dispatch$1 = dispatch('hover');
+           var _selection = d3_select(null);
+           var _newNodeId = null;
+           var _initialNodeID = null;
+           var _buttonDown;
+           var _altDisables;
+           var _ignoreVertex;
+           var _target;
+
+
+           function keydown() {
+               if (_altDisables && event.keyCode === utilKeybinding.modifierCodes.alt) {
+                   _selection.selectAll('.hover')
+                       .classed('hover-suppressed', true)
+                       .classed('hover', false);
+
+                   _selection
+                       .classed('hover-disabled', true);
+
+                   dispatch$1.call('hover', this, null);
+               }
+           }
+
+
+           function keyup() {
+               if (_altDisables && event.keyCode === utilKeybinding.modifierCodes.alt) {
+                   _selection.selectAll('.hover-suppressed')
+                       .classed('hover-suppressed', false)
+                       .classed('hover', true);
+
+                   _selection
+                       .classed('hover-disabled', false);
+
+                   dispatch$1.call('hover', this, _target ? _target.id : null);
+               }
+           }
+
+
+           function behavior(selection) {
+               _selection = selection;
+
+               if (_initialNodeID) {
+                   _newNodeId = _initialNodeID;
+                   _initialNodeID = null;
+               } else {
+                   _newNodeId = null;
+               }
+
+               _selection
+                   .on('mouseover.hover', mouseover)
+                   .on('mouseout.hover', mouseout)
+                   .on('mousedown.hover', mousedown);
+
+               d3_select(window)
+                   .on('keydown.hover', keydown)
+                   .on('keyup.hover', keyup);
+
+
+               function mouseover() {
+                   if (_buttonDown) return;
+                   var target = event.target;
+                   enter(target ? target.__data__ : null);
+               }
+
+
+               function mouseout() {
+                   if (_buttonDown) return;
+                   var target = event.relatedTarget;
+                   enter(target ? target.__data__ : null);
+               }
+
+
+               function mousedown() {
+                   _buttonDown = true;
+                   d3_select(window)
+                       .on('mouseup.hover', mouseup, true);
+               }
+
+
+               function mouseup() {
+                   _buttonDown = false;
+                   d3_select(window)
+                       .on('mouseup.hover', null, true);
+               }
+
+               function allowsVertex(d) {
+                   return d.geometry(context.graph()) === 'vertex' || context.presets().allowsVertex(d, context.graph());
+               }
+
+               function modeAllowsHover(target) {
+                   var mode = context.mode();
+                   if (mode.id === 'add-point') {
+                       return mode.preset.matchGeometry('vertex') ||
+                           (target.type !== 'way' && target.geometry(context.graph()) !== 'vertex');
+                   }
+                   return true;
+               }
+
+               function enter(datum) {
+                   if (datum === _target) return;
+                   _target = datum;
+
+                   _selection.selectAll('.hover')
+                       .classed('hover', false);
+                   _selection.selectAll('.hover-suppressed')
+                       .classed('hover-suppressed', false);
+
+                   // What are we hovering over?
+                   var entity, selector;
+                   if (datum && datum.__featurehash__) {
+                       entity = datum;
+                       selector = '.data' + datum.__featurehash__;
+
+                   } else if (datum instanceof qaError) {
+                       entity = datum;
+                       selector = '.' + datum.service + '.error_id-' + datum.id;
+
+                   } else if (datum instanceof osmNote) {
+                       entity = datum;
+                       selector = '.note-' + datum.id;
+
+                   } else if (datum instanceof osmEntity) {
+                       entity = datum;
+                       selector = '.' + entity.id;
+                       if (entity.type === 'relation') {
+                           entity.members.forEach(function(member) { selector += ', .' + member.id; });
+                       }
+                   } else if (datum && datum.properties && (datum.properties.entity instanceof osmEntity)) {
+                       entity = datum.properties.entity;
+                       selector = '.' + entity.id;
+                       if (entity.type === 'relation') {
+                           entity.members.forEach(function(member) { selector += ', .' + member.id; });
+                       }
+                   }
+
+                   var mode = context.mode();
+
+                   // Update hover state and dispatch event
+                   if (entity && entity.id !== _newNodeId) {
+                       // If drawing a way, don't hover on a node that was just placed. #3974
+
+                       if ((mode.id === 'draw-line' || mode.id === 'draw-area') && !_newNodeId && entity.type === 'node') {
+                           _newNodeId = entity.id;
+                           return;
+                       }
+
+                       var suppressed = (_altDisables && event && event.altKey) ||
+                           (entity.type === 'node' && _ignoreVertex && !allowsVertex(entity)) ||
+                           !modeAllowsHover(entity);
+                       _selection.selectAll(selector)
+                           .classed(suppressed ? 'hover-suppressed' : 'hover', true);
+
+                       dispatch$1.call('hover', this, !suppressed && entity);
+
+                   } else {
+                       dispatch$1.call('hover', this, null);
+                   }
+               }
+           }
+
+
+           behavior.off = function(selection) {
+               selection.selectAll('.hover')
+                   .classed('hover', false);
+               selection.selectAll('.hover-suppressed')
+                   .classed('hover-suppressed', false);
+               selection
+                   .classed('hover-disabled', false);
+
+               selection
+                   .on('mouseover.hover', null)
+                   .on('mouseout.hover', null)
+                   .on('mousedown.hover', null);
+
+               d3_select(window)
+                   .on('keydown.hover', null)
+                   .on('keyup.hover', null);
+           };
+
+
+           behavior.altDisables = function(val) {
+               if (!arguments.length) return _altDisables;
+               _altDisables = val;
+               return behavior;
+           };
+
+           behavior.ignoreVertex = function(val) {
+               if (!arguments.length) return _ignoreVertex;
+               _ignoreVertex = val;
+               return behavior;
+           };
+
+           behavior.initialNodeID = function(nodeId) {
+               _initialNodeID = nodeId;
+               return behavior;
+           };
+
+           return utilRebind(behavior, dispatch$1, 'on');
+       }
+
+       function refresh(selection, node) {
+           var cr = node.getBoundingClientRect();
+           var prop = [cr.width, cr.height];
+           selection.property('__dimensions__', prop);
+           return prop;
+       }
+
+       function utilGetDimensions(selection, force) {
+           if (!selection || selection.empty()) {
+               return [0, 0];
+           }
+           var node = selection.node(),
+               cached = selection.property('__dimensions__');
+           return (!cached || force) ? refresh(selection, node) : cached;
+       }
+
+
+       function utilSetDimensions(selection, dimensions) {
+           if (!selection || selection.empty()) {
+               return selection;
+           }
+           var node = selection.node();
+           if (dimensions === null) {
+               refresh(selection, node);
+               return selection;
+           }
+           return selection
+               .property('__dimensions__', [dimensions[0], dimensions[1]])
+               .attr('width', dimensions[0])
+               .attr('height', dimensions[1]);
+       }
+
+       function behaviorTail() {
+           var container;
+           var xmargin = 25;
+           var tooltipSize = [0, 0];
+           var selectionSize = [0, 0];
+           var _text;
+
+
+           function behavior(selection) {
+               if (!_text) return;
+
+               d3_select(window)
+                   .on('resize.tail', function() { selectionSize = utilGetDimensions(selection); });
+
+               container = d3_select(document.body)
+                   .append('div')
+                   .style('display', 'none')
+                   .attr('class', 'tail tooltip-inner');
+
+               container.append('div')
+                   .text(_text);
+
+               selection
+                   .on('mousemove.tail', mousemove)
+                   .on('mouseenter.tail', mouseenter)
+                   .on('mouseleave.tail', mouseleave);
+
+               container
+                   .on('mousemove.tail', mousemove);
+
+               tooltipSize = utilGetDimensions(container);
+               selectionSize = utilGetDimensions(selection);
+
+
+               function show() {
+                   container.style('display', 'block');
+                   tooltipSize = utilGetDimensions(container);
+               }
+
+
+               function mousemove() {
+                   if (container.style('display') === 'none') show();
+                   var xoffset = ((event.clientX + tooltipSize[0] + xmargin) > selectionSize[0]) ?
+                       -tooltipSize[0] - xmargin : xmargin;
+                   container.classed('left', xoffset > 0);
+                   utilSetTransform(container, event.clientX + xoffset, event.clientY);
+               }
+
+
+               function mouseleave() {
+                   if (event.relatedTarget !== container.node()) {
+                       container.style('display', 'none');
+                   }
+               }
+
+
+               function mouseenter() {
+                   if (event.relatedTarget !== container.node()) {
+                       show();
+                   }
+               }
+           }
+
+
+           behavior.off = function(selection) {
+               if (!_text) return;
+
+               container
+                   .on('mousemove.tail', null)
+                   .remove();
+
+               selection
+                   .on('mousemove.tail', null)
+                   .on('mouseenter.tail', null)
+                   .on('mouseleave.tail', null);
+
+               d3_select(window)
+                   .on('resize.tail', null);
+           };
+
+
+           behavior.text = function(val) {
+               if (!arguments.length) return _text;
+               _text = val;
+               return behavior;
+           };
+
+
+           return behavior;
+       }
+
+       var _usedTails = {};
+       var _disableSpace = false;
+       var _lastSpace = null;
+
+
+       function behaviorDraw(context) {
+           var dispatch$1 = dispatch(
+               'move', 'click', 'clickWay', 'clickNode', 'undo', 'cancel', 'finish'
+           );
+
+           var keybinding = utilKeybinding('draw');
+
+           var _hover = behaviorHover(context).altDisables(true).ignoreVertex(true)
+               .on('hover', context.ui().sidebar.hover);
+           var tail = behaviorTail();
+           var edit = behaviorEdit(context);
+
+           var closeTolerance = 4;
+           var tolerance = 12;
+           var _mouseLeave = false;
+           var _lastMouse = null;
+
+
+           // related code
+           // - `mode/drag_node.js` `datum()`
+           function datum() {
+               var mode = context.mode();
+               var isNote = mode && (mode.id.indexOf('note') !== -1);
+               if (event.altKey || isNote) return {};
+
+               var element;
+               if (event.type === 'keydown') {
+                   element = _lastMouse && _lastMouse.target;
+               } else {
+                   element = event.target;
+               }
+
+               // When drawing, snap only to touch targets..
+               // (this excludes area fills and active drawing elements)
+               var d = element.__data__;
+               return (d && d.properties && d.properties.target) ? d : {};
+           }
+
+
+           function mousedown() {
+
+               function point() {
+                   var p = context.container().node();
+                   return touchId !== null ? d3_touches(p).filter(function(p) {
+                       return p.identifier === touchId;
+                   })[0] : d3_mouse(p);
+               }
+
+               var element = d3_select(this);
+               var touchId = event.touches ? event.changedTouches[0].identifier : null;
+               var t1 = +new Date();
+               var p1 = point();
+
+               element.on('mousemove.draw', null);
+
+               d3_select(window).on('mouseup.draw', function() {
+                   var t2 = +new Date();
+                   var p2 = point();
+                   var dist = geoVecLength(p1, p2);
+
+                   element.on('mousemove.draw', mousemove);
+                   d3_select(window).on('mouseup.draw', null);
+
+                   if (dist < closeTolerance || (dist < tolerance && (t2 - t1) < 500)) {
+                       // Prevent a quick second click
+                       d3_select(window).on('click.draw-block', function() {
+                           event.stopPropagation();
+                       }, true);
+
+                       context.map().dblclickEnable(false);
+
+                       window.setTimeout(function() {
+                           context.map().dblclickEnable(true);
+                           d3_select(window).on('click.draw-block', null);
+                       }, 500);
+
+                       click();
+                   }
+               }, true);
+           }
+
+
+           function mousemove() {
+               _lastMouse = event;
+               dispatch$1.call('move', this, datum());
+           }
+
+
+           function mouseenter() {
+               _mouseLeave = false;
+           }
+
+
+           function mouseleave() {
+               _mouseLeave = true;
+           }
+
+           function allowsVertex(d) {
+               return d.geometry(context.graph()) === 'vertex' || context.presets().allowsVertex(d, context.graph());
+           }
+
+           // related code
+           // - `mode/drag_node.js`     `doMode()`
+           // - `behavior/draw.js`      `click()`
+           // - `behavior/draw_way.js`  `move()`
+           function click() {
+               var d = datum();
+               var target = d && d.properties && d.properties.entity;
+
+               var mode = context.mode();
+
+               if (target && target.type === 'node' && allowsVertex(target)) {   // Snap to a node
+                   dispatch$1.call('clickNode', this, target, d);
+                   return;
+
+               } else if (target && target.type === 'way' && (mode.id !== 'add-point' || mode.preset.matchGeometry('vertex'))) {   // Snap to a way
+                   var choice = geoChooseEdge(
+                       context.childNodes(target), context.mouse(), context.projection, context.activeID()
+                   );
+                   if (choice) {
+                       var edge = [target.nodes[choice.index - 1], target.nodes[choice.index]];
+                       dispatch$1.call('clickWay', this, choice.loc, edge, d);
+                       return;
+                   }
+               } else if (mode.id !== 'add-point' || mode.preset.matchGeometry('point')) {
+                   dispatch$1.call('click', this, context.map().mouseCoordinates(), d);
+               }
+
+           }
+
+
+           function space() {
+               event.preventDefault();
+               event.stopPropagation();
+
+               var currSpace = context.mouse();
+               if (_disableSpace && _lastSpace) {
+                   var dist = geoVecLength(_lastSpace, currSpace);
+                   if (dist > tolerance) {
+                       _disableSpace = false;
+                   }
+               }
+
+               if (_disableSpace || _mouseLeave || !_lastMouse) return;
+
+               // user must move mouse or release space bar to allow another click
+               _lastSpace = currSpace;
+               _disableSpace = true;
+
+               d3_select(window).on('keyup.space-block', function() {
+                   event.preventDefault();
+                   event.stopPropagation();
+                   _disableSpace = false;
+                   d3_select(window).on('keyup.space-block', null);
+               });
+
+               click();
+           }
+
+
+           function backspace() {
+               event.preventDefault();
+               dispatch$1.call('undo');
+           }
+
+
+           function del() {
+               event.preventDefault();
+               dispatch$1.call('cancel');
+           }
+
+
+           function ret() {
+               event.preventDefault();
+               dispatch$1.call('finish');
+           }
+
+
+           function behavior(selection) {
+               context.install(_hover);
+               context.install(edit);
+
+               if (!context.inIntro() && !_usedTails[tail.text()]) {
+                   context.install(tail);
+               }
+
+               keybinding
+                   .on('⌫', backspace)
+                   .on('⌦', del)
+                   .on('⎋', ret)
+                   .on('↩', ret)
+                   .on('space', space)
+                   .on('⌥space', space);
+
+               selection
+                   .on('mouseenter.draw', mouseenter)
+                   .on('mouseleave.draw', mouseleave)
+                   .on('mousedown.draw', mousedown)
+                   .on('mousemove.draw', mousemove);
+
+               d3_select(document)
+                   .call(keybinding);
+
+               return behavior;
+           }
+
+
+           behavior.off = function(selection) {
+               context.ui().sidebar.hover.cancel();
+               context.uninstall(_hover);
+               context.uninstall(edit);
+
+               if (!context.inIntro() && !_usedTails[tail.text()]) {
+                   context.uninstall(tail);
+                   _usedTails[tail.text()] = true;
+               }
+
+               selection
+                   .on('mouseenter.draw', null)
+                   .on('mouseleave.draw', null)
+                   .on('mousedown.draw', null)
+                   .on('mousemove.draw', null);
+
+               d3_select(window)
+                   .on('mouseup.draw', null);
+                   // note: keyup.space-block, click.draw-block should remain
+
+               d3_select(document)
+                   .call(keybinding.unbind);
+           };
+
+
+           behavior.tail = function(_) {
+               tail.text(_);
+               return behavior;
+           };
+
+           behavior.hover = function() {
+               return _hover;
+           };
+
+
+           return utilRebind(behavior, dispatch$1, 'on');
+       }
+
+       function behaviorBreathe() {
+           var duration = 800;
+           var steps = 4;
+           var selector = '.selected.shadow, .selected .shadow';
+           var _selected = d3_select(null);
+           var _classed = '';
+           var _params = {};
+           var _done = false;
+           var _timer;
+
+
+           function ratchetyInterpolator(a, b, steps, units) {
+               a = parseFloat(a);
+               b = parseFloat(b);
+               var sample = quantize()
+                   .domain([0, 1])
+                   .range(d3_quantize(d3_interpolateNumber(a, b), steps));
+
+               return function(t) {
+                   return String(sample(t)) + (units || '');
+               };
+           }
+
+
+           function reset(selection) {
+               selection
+                   .style('stroke-opacity', null)
+                   .style('stroke-width', null)
+                   .style('fill-opacity', null)
+                   .style('r', null);
+           }
+
+
+           function setAnimationParams(transition, fromTo) {
+               var toFrom = (fromTo === 'from' ? 'to' : 'from');
+
+               transition
+                   .styleTween('stroke-opacity', function(d) {
+                       return ratchetyInterpolator(
+                           _params[d.id][toFrom].opacity,
+                           _params[d.id][fromTo].opacity,
+                           steps
+                       );
+                   })
+                   .styleTween('stroke-width', function(d) {
+                       return ratchetyInterpolator(
+                           _params[d.id][toFrom].width,
+                           _params[d.id][fromTo].width,
+                           steps,
+                           'px'
+                       );
+                   })
+                   .styleTween('fill-opacity', function(d) {
+                       return ratchetyInterpolator(
+                           _params[d.id][toFrom].opacity,
+                           _params[d.id][fromTo].opacity,
+                           steps
+                       );
+                   })
+                   .styleTween('r', function(d) {
+                       return ratchetyInterpolator(
+                           _params[d.id][toFrom].width,
+                           _params[d.id][fromTo].width,
+                           steps,
+                           'px'
+                       );
+                   });
+           }
+
+
+           function calcAnimationParams(selection) {
+               selection
+                   .call(reset)
+                   .each(function(d) {
+                       var s = d3_select(this);
+                       var tag = s.node().tagName;
+                       var p = {'from': {}, 'to': {}};
+                       var opacity;
+                       var width;
+
+                       // determine base opacity and width
+                       if (tag === 'circle') {
+                           opacity = parseFloat(s.style('fill-opacity') || 0.5);
+                           width = parseFloat(s.style('r') || 15.5);
+                       } else {
+                           opacity = parseFloat(s.style('stroke-opacity') || 0.7);
+                           width = parseFloat(s.style('stroke-width') || 10);
+                       }
+
+                       // calculate from/to interpolation params..
+                       p.tag = tag;
+                       p.from.opacity = opacity * 0.6;
+                       p.to.opacity = opacity * 1.25;
+                       p.from.width = width * 0.7;
+                       p.to.width = width * (tag === 'circle' ? 1.5 : 1);
+                       _params[d.id] = p;
+                   });
+           }
+
+
+           function run(surface, fromTo) {
+               var toFrom = (fromTo === 'from' ? 'to' : 'from');
+               var currSelected = surface.selectAll(selector);
+               var currClassed = surface.attr('class');
+
+               if (_done || currSelected.empty()) {
+                   _selected.call(reset);
+                   return;
+               }
+
+               if (!fastDeepEqual(currSelected.data(), _selected.data()) || currClassed !== _classed) {
+                   _selected.call(reset);
+                   _classed = currClassed;
+                   _selected = currSelected.call(calcAnimationParams);
+               }
+
+               _selected
+                   .transition()
+                   .duration(duration)
+                   .call(setAnimationParams, fromTo)
+                   .on('end', function() {
+                       surface.call(run, toFrom);
+                   });
+           }
+
+
+           function behavior(surface) {
+               _done = false;
+               _timer = timer(function() {
+                   // wait for elements to actually become selected
+                   if (surface.selectAll(selector).empty()) {
+                       return false;
+                   }
+
+                   surface.call(run, 'from');
+                   _timer.stop();
+                   return true;
+               }, 20);
+           }
+
+
+           behavior.off = function() {
+               _done = true;
+               if (_timer) {
+                   _timer.stop();
+               }
+               _selected
+                   .interrupt()
+                   .call(reset);
+           };
+
+
+           return behavior;
+       }
+
+       // Translate a MacOS key command into the appropriate Windows/Linux equivalent.
+       // For example, ⌘Z -> Ctrl+Z
+       var uiCmd = function (code) {
+           var detected = utilDetect();
+
+           if (detected.os === 'mac') {
+               return code;
+           }
+
+           if (detected.os === 'win') {
+               if (code === '⌘⇧Z') return 'Ctrl+Y';
+           }
+
+           var result = '',
+               replacements = {
+                   '⌘': 'Ctrl',
+                   '⇧': 'Shift',
+                   '⌥': 'Alt',
+                   '⌫': 'Backspace',
+                   '⌦': 'Delete'
+               };
+
+           for (var i = 0; i < code.length; i++) {
+               if (code[i] in replacements) {
+                   result += replacements[code[i]] + (i < code.length - 1 ? '+' : '');
+               } else {
+                   result += code[i];
+               }
+           }
+
+           return result;
+       };
+
+
+       // return a display-focused string for a given keyboard code
+       uiCmd.display = function(code) {
+           if (code.length !== 1) return code;
+
+           var detected = utilDetect();
+           var mac = (detected.os === 'mac');
+           var replacements = {
+               '⌘': mac ? '⌘ ' + t('shortcuts.key.cmd')    : t('shortcuts.key.ctrl'),
+               '⇧': mac ? '⇧ ' + t('shortcuts.key.shift')  : t('shortcuts.key.shift'),
+               '⌥': mac ? '⌥ ' + t('shortcuts.key.option') : t('shortcuts.key.alt'),
+               '⌃': mac ? '⌃ ' + t('shortcuts.key.ctrl')   : t('shortcuts.key.ctrl'),
+               '⌫': mac ? '⌫ ' + t('shortcuts.key.delete') : t('shortcuts.key.backspace'),
+               '⌦': mac ? '⌦ ' + t('shortcuts.key.del')    : t('shortcuts.key.del'),
+               '↖': mac ? '↖ ' + t('shortcuts.key.pgup')   : t('shortcuts.key.pgup'),
+               '↘': mac ? '↘ ' + t('shortcuts.key.pgdn')   : t('shortcuts.key.pgdn'),
+               '⇞': mac ? '⇞ ' + t('shortcuts.key.home')   : t('shortcuts.key.home'),
+               '⇟': mac ? '⇟ ' + t('shortcuts.key.end')    : t('shortcuts.key.end'),
+               '↵': mac ? '↵ ' + t('shortcuts.key.return') : t('shortcuts.key.enter'),
+               '⎋': mac ? '⎋ ' + t('shortcuts.key.esc')    : t('shortcuts.key.esc'),
+           };
+
+           return replacements[code] || code;
+       };
+
+       function behaviorCopy(context) {
+
+           function groupEntities(ids, graph) {
+               var entities = ids.map(function (id) { return graph.entity(id); });
+               return Object.assign(
+                   { relation: [], way: [], node: [] },
+                   utilArrayGroupBy(entities, 'type')
+               );
+           }
+
+
+           function getDescendants(id, graph, descendants) {
+               var entity = graph.entity(id);
+               var children;
+
+               descendants = descendants || {};
+
+               if (entity.type === 'relation') {
+                   children = entity.members.map(function(m) { return m.id; });
+               } else if (entity.type === 'way') {
+                   children = entity.nodes;
+               } else {
+                   children = [];
+               }
+
+               for (var i = 0; i < children.length; i++) {
+                   if (!descendants[children[i]]) {
+                       descendants[children[i]] = true;
+                       descendants = getDescendants(children[i], graph, descendants);
+                   }
+               }
+
+               return descendants;
+           }
+
+
+           function getSelectionText() {
+               return window.getSelection().toString();
+           }
+
+
+           function doCopy() {
+               if (!getSelectionText()) {
+                   event.preventDefault();
+               }
+
+               var graph = context.graph();
+               var selected = groupEntities(context.selectedIDs(), graph);
+               var canCopy = [];
+               var skip = {};
+               var entity;
+               var i;
+
+               for (i = 0; i < selected.relation.length; i++) {
+                   entity = selected.relation[i];
+                   if (!skip[entity.id] && entity.isComplete(graph)) {
+                       canCopy.push(entity.id);
+                       skip = getDescendants(entity.id, graph, skip);
+                   }
+               }
+               for (i = 0; i < selected.way.length; i++) {
+                   entity = selected.way[i];
+                   if (!skip[entity.id]) {
+                       canCopy.push(entity.id);
+                       skip = getDescendants(entity.id, graph, skip);
+                   }
+               }
+               for (i = 0; i < selected.node.length; i++) {
+                   entity = selected.node[i];
+                   if (!skip[entity.id]) {
+                       canCopy.push(entity.id);
+                   }
+               }
+
+               context.copyIDs(canCopy);
+           }
+
+
+           function behavior() {
+               context.keybinding().on(uiCmd('⌘C'), doCopy);
+               return behavior;
+           }
+
+           behavior.off = function() {
+               context.keybinding().off(uiCmd('⌘C'));
+           };
+
+
+           return behavior;
+       }
+
+       var _flashTimer;
+
+
+       function uiFlash() {
+           var _duration = 2000;
+           var _iconName = '#iD-icon-no';
+           var _iconClass = 'disabled';
+           var _text = '';
+           var _textClass;
+
+
+           function flash() {
+               if (_flashTimer) {
+                   _flashTimer.stop();
+               }
+
+               d3_select('#footer-wrap')
+                   .attr('class', 'footer-hide');
+               d3_select('#flash-wrap')
+                   .attr('class', 'footer-show');
+
+               var content = d3_select('#flash-wrap').selectAll('.flash-content')
+                   .data([0]);
+
+               // Enter
+               var contentEnter = content.enter()
+                   .append('div')
+                   .attr('class', 'flash-content');
+
+               var iconEnter = contentEnter
+                   .append('svg')
+                   .attr('class', 'flash-icon')
+                   .append('g')
+                   .attr('transform', 'translate(10,10)');
+
+               iconEnter
+                   .append('circle')
+                   .attr('r', 9);
+
+               iconEnter
+                   .append('use')
+                   .attr('transform', 'translate(-7,-7)')
+                   .attr('width', '14')
+                   .attr('height', '14');
+
+               contentEnter
+                   .append('div')
+                   .attr('class', 'flash-text');
+
+
+               // Update
+               content = content
+                   .merge(contentEnter);
+
+               content
+                   .selectAll('.flash-icon')
+                   .attr('class', 'flash-icon ' + (_iconClass || ''));
+
+               content
+                   .selectAll('.flash-icon use')
+                   .attr('xlink:href', _iconName);
+
+               content
+                   .selectAll('.flash-text')
+                   .attr('class', 'flash-text ' + (_textClass || ''))
+                   .text(_text);
+
+
+               _flashTimer = d3_timeout(function() {
+                   _flashTimer = null;
+                   d3_select('#footer-wrap')
+                       .attr('class', 'footer-show');
+                   d3_select('#flash-wrap')
+                       .attr('class', 'footer-hide');
+               }, _duration);
+
+               return content;
+           }
+
+
+           flash.duration = function(_) {
+               if (!arguments.length) return _duration;
+               _duration = _;
+               return flash;
+           };
+
+           flash.text = function(_) {
+               if (!arguments.length) return _text;
+               _text = _;
+               return flash;
+           };
+
+           flash.textClass = function(_) {
+               if (!arguments.length) return _textClass;
+               _textClass = _;
+               return flash;
+           };
+
+           flash.iconName = function(_) {
+               if (!arguments.length) return _iconName;
+               _iconName = _;
+               return flash;
+           };
+
+           flash.iconClass = function(_) {
+               if (!arguments.length) return _iconClass;
+               _iconClass = _;
+               return flash;
+           };
+
+           return flash;
+       }
+
+       /* Creates a keybinding behavior for an operation */
+       function behaviorOperation(context) {
+           var _operation;
+
+           function keypress() {
+               event.preventDefault();
+               var disabled = _operation.disabled();
+               var flash;
+
+               if (disabled) {
+                   flash = uiFlash()
+                       .duration(4000)
+                       .iconName('#iD-operation-' + _operation.id)
+                       .iconClass('operation disabled')
+                       .text(_operation.tooltip);
+
+                   flash();
+
+               } else {
+                   flash = uiFlash()
+                       .duration(2000)
+                       .iconName('#iD-operation-' + _operation.id)
+                       .iconClass('operation')
+                       .text(_operation.annotation() || _operation.title);
+
+                   flash();
+                   _operation();
+               }
+           }
+
+
+           function behavior() {
+               if (_operation && _operation.available()) {
+                   context.keybinding()
+                       .on(_operation.keys, keypress);
+               }
+
+               return behavior;
+           }
+
+
+           behavior.off = function() {
+               context.keybinding()
+                   .off(_operation.keys);
+           };
+
+
+           behavior.which = function (_) {
+               if (!arguments.length) return _operation;
+               _operation = _;
+               return behavior;
+           };
+
+
+           return behavior;
+       }
+
+       function operationCircularize(selectedIDs, context) {
+           var entityID = selectedIDs[0];
+           var entity = context.entity(entityID);
+           var extent = entity.extent(context.graph());
+           var geometry = context.geometry(entityID);
+           var action = actionCircularize(entityID, context.projection);
+           var nodes = utilGetAllNodes(selectedIDs, context.graph());
+           var coords = nodes.map(function(n) { return n.loc; });
+
+           var operation = function() {
+               context.perform(action, operation.annotation());
+
+               window.setTimeout(function() {
+                   context.validator().validate();
+               }, 300);  // after any transition
+           };
+
+
+           operation.available = function() {
+               return selectedIDs.length === 1 &&
+                   entity.type === 'way' &&
+                   new Set(entity.nodes).size > 1;
+           };
+
+
+           // don't cache this because the visible extent could change
+           operation.disabled = function() {
+               var actionDisabled = action.disabled(context.graph());
+               if (actionDisabled) {
+                   return actionDisabled;
+               } else if (extent.percentContainedIn(context.extent()) < 0.8) {
+                   return 'too_large';
+               } else if (someMissing()) {
+                   return 'not_downloaded';
+               } else if (selectedIDs.some(context.hasHiddenConnections)) {
+                   return 'connected_to_hidden';
+               }
+
+               return false;
+
+
+               function someMissing() {
+                   if (context.inIntro()) return false;
+                   var osm = context.connection();
+                   if (osm) {
+                       var missing = coords.filter(function(loc) { return !osm.isDataLoaded(loc); });
+                       if (missing.length) {
+                           missing.forEach(function(loc) { context.loadTileAtLoc(loc); });
+                           return true;
+                       }
+                   }
+                   return false;
+               }
+           };
+
+
+           operation.tooltip = function() {
+               var disable = operation.disabled();
+               return disable ?
+                   t('operations.circularize.' + disable) :
+                   t('operations.circularize.description.' + geometry);
+           };
+
+
+           operation.annotation = function() {
+               return t('operations.circularize.annotation.' + geometry);
+           };
+
+
+           operation.id = 'circularize';
+           operation.keys = [t('operations.circularize.key')];
+           operation.title = t('operations.circularize.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+           return operation;
+       }
+
+       function operationDelete(selectedIDs, context) {
+           var multi = (selectedIDs.length === 1 ? 'single' : 'multiple');
+           var action = actionDeleteMultiple(selectedIDs);
+           var nodes = utilGetAllNodes(selectedIDs, context.graph());
+           var coords = nodes.map(function(n) { return n.loc; });
+           var extent = nodes.reduce(function(extent, node) {
+               return extent.extend(node.extent(context.graph()));
+           }, geoExtent());
+
+
+           var operation = function() {
+               var nextSelectedID;
+               var nextSelectedLoc;
+
+               if (selectedIDs.length === 1) {
+                   var id = selectedIDs[0];
+                   var entity = context.entity(id);
+                   var geometry = context.geometry(id);
+                   var parents = context.graph().parentWays(entity);
+                   var parent = parents[0];
+
+                   // Select the next closest node in the way.
+                   if (geometry === 'vertex') {
+                       var nodes = parent.nodes;
+                       var i = nodes.indexOf(id);
+
+                       if (i === 0) {
+                           i++;
+                       } else if (i === nodes.length - 1) {
+                           i--;
+                       } else {
+                           var a = geoSphericalDistance(entity.loc, context.entity(nodes[i - 1]).loc);
+                           var b = geoSphericalDistance(entity.loc, context.entity(nodes[i + 1]).loc);
+                           i = a < b ? i - 1 : i + 1;
+                       }
+
+                       nextSelectedID = nodes[i];
+                       nextSelectedLoc = context.entity(nextSelectedID).loc;
+                   }
+               }
+
+               context.perform(action, operation.annotation());
+               context.validator().validate();
+
+               if (nextSelectedID && nextSelectedLoc) {
+                   if (context.hasEntity(nextSelectedID)) {
+                       context.enter(modeSelect(context, [nextSelectedID]).follow(true));
+                   } else {
+                       context.map().centerEase(nextSelectedLoc);
+                       context.enter(modeBrowse(context));
+                   }
+               } else {
+                   context.enter(modeBrowse(context));
+               }
+
+           };
+
+
+           operation.available = function() {
+               return true;
+           };
+
+
+           operation.disabled = function() {
+               if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
+                   return 'too_large';
+               } else if (someMissing()) {
+                   return 'not_downloaded';
+               } else if (selectedIDs.some(context.hasHiddenConnections)) {
+                   return 'connected_to_hidden';
+               } else if (selectedIDs.some(protectedMember)) {
+                   return 'part_of_relation';
+               } else if (selectedIDs.some(incompleteRelation)) {
+                   return 'incomplete_relation';
+               } else if (selectedIDs.some(hasWikidataTag)) {
+                   return 'has_wikidata_tag';
+               }
+
+               return false;
+
+
+               function someMissing() {
+                   if (context.inIntro()) return false;
+                   var osm = context.connection();
+                   if (osm) {
+                       var missing = coords.filter(function(loc) { return !osm.isDataLoaded(loc); });
+                       if (missing.length) {
+                           missing.forEach(function(loc) { context.loadTileAtLoc(loc); });
+                           return true;
+                       }
+                   }
+                   return false;
+               }
+
+               function hasWikidataTag(id) {
+                   var entity = context.entity(id);
+                   return entity.tags.wikidata && entity.tags.wikidata.trim().length > 0;
+               }
+
+               function incompleteRelation(id) {
+                   var entity = context.entity(id);
+                   return entity.type === 'relation' && !entity.isComplete(context.graph());
+               }
+
+               function protectedMember(id) {
+                   var entity = context.entity(id);
+                   if (entity.type !== 'way') return false;
+
+                   var parents = context.graph().parentRelations(entity);
+                   for (var i = 0; i < parents.length; i++) {
+                       var parent = parents[i];
+                       var type = parent.tags.type;
+                       var role = parent.memberById(id).role || 'outer';
+                       if (type === 'route' || type === 'boundary' || (type === 'multipolygon' && role === 'outer')) {
+                           return true;
+                       }
+                   }
+                   return false;
+               }
+           };
+
+
+           operation.tooltip = function() {
+               var disable = operation.disabled();
+               return disable ?
+                   t('operations.delete.' + disable + '.' + multi) :
+                   t('operations.delete.description' + '.' + multi);
+           };
+
+
+           operation.annotation = function() {
+               return selectedIDs.length === 1 ?
+                   t('operations.delete.annotation.' + context.geometry(selectedIDs[0])) :
+                   t('operations.delete.annotation.multiple', { n: selectedIDs.length });
+           };
+
+
+           operation.id = 'delete';
+           operation.keys = [uiCmd('⌘⌫'), uiCmd('⌘⌦'), uiCmd('⌦')];
+           operation.title = t('operations.delete.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+           return operation;
+       }
+
+       function operationOrthogonalize(selectedIDs, context) {
+           var _entityID;
+           var _entity;
+           var _geometry;
+           var action = chooseAction();
+           var nodes = utilGetAllNodes(selectedIDs, context.graph());
+           var coords = nodes.map(function(n) { return n.loc; });
+
+
+           function chooseAction() {
+               if (selectedIDs.length !== 1) return null;
+
+               _entityID = selectedIDs[0];
+               _entity = context.entity(_entityID);
+               _geometry = context.geometry(_entityID);
+
+               // square a line/area
+               if (_entity.type === 'way' && new Set(_entity.nodes).size > 2 ) {
+                   return actionOrthogonalize(_entityID, context.projection);
+
+               // square a single vertex
+               } else if (_geometry === 'vertex') {
+                   var graph = context.graph();
+                   var parents = graph.parentWays(_entity);
+                   if (parents.length === 1) {
+                       var way = parents[0];
+                       if (way.nodes.indexOf(_entityID) !== -1) {
+                           return actionOrthogonalize(way.id, context.projection, _entityID);
+                       }
+                   }
+               }
+
+               return null;
+           }
+
+
+           var operation = function() {
+               if (!action) return;
+
+               context.perform(action, operation.annotation());
+
+               window.setTimeout(function() {
+                   context.validator().validate();
+               }, 300);  // after any transition
+           };
+
+
+           operation.available = function() {
+               return Boolean(action);
+           };
+
+
+           // don't cache this because the visible extent could change
+           operation.disabled = function() {
+               if (!action) return '';
+
+               var actionDisabled = action.disabled(context.graph());
+               if (actionDisabled) {
+                   return actionDisabled;
+               } else if (_geometry !== 'vertex' &&
+                          _entity.extent(context.graph()).percentContainedIn(context.extent()) < 0.8) {
+                   return 'too_large';
+               } else if (someMissing()) {
+                   return 'not_downloaded';
+               } else if (selectedIDs.some(context.hasHiddenConnections)) {
+                   return 'connected_to_hidden';
+               }
+
+               return false;
+
+
+               function someMissing() {
+                   if (context.inIntro()) return false;
+                   var osm = context.connection();
+                   if (osm) {
+                       var missing = coords.filter(function(loc) { return !osm.isDataLoaded(loc); });
+                       if (missing.length) {
+                           missing.forEach(function(loc) { context.loadTileAtLoc(loc); });
+                           return true;
+                       }
+                   }
+                   return false;
+               }
+           };
+
+
+           operation.tooltip = function() {
+               var disable = operation.disabled();
+               return disable ?
+                   t('operations.orthogonalize.' + disable) :
+                   t('operations.orthogonalize.description.' + _geometry);
+           };
+
+
+           operation.annotation = function() {
+               return t('operations.orthogonalize.annotation.' + _geometry);
+           };
+
+
+           operation.id = 'orthogonalize';
+           operation.keys = [t('operations.orthogonalize.key')];
+           operation.title = t('operations.orthogonalize.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+           return operation;
+       }
+
+       function operationReflectShort(selectedIDs, context) {
+           return operationReflect(selectedIDs, context, 'short');
+       }
+
+
+       function operationReflectLong(selectedIDs, context) {
+           return operationReflect(selectedIDs, context, 'long');
+       }
+
+
+       function operationReflect(selectedIDs, context, axis) {
+           axis = axis || 'long';
+           var multi = (selectedIDs.length === 1 ? 'single' : 'multiple');
+           var nodes = utilGetAllNodes(selectedIDs, context.graph());
+           var coords = nodes.map(function(n) { return n.loc; });
+           var extent = nodes.reduce(function(extent, node) {
+               return extent.extend(node.extent(context.graph()));
+           }, geoExtent());
+
+
+           var operation = function() {
+               var action = actionReflect(selectedIDs, context.projection)
+                   .useLongAxis(Boolean(axis === 'long'));
+
+               context.perform(action, operation.annotation());
+
+               window.setTimeout(function() {
+                   context.validator().validate();
+               }, 300);  // after any transition
+           };
+
+
+           operation.available = function() {
+               return nodes.length >= 3;
+           };
+
+
+           // don't cache this because the visible extent could change
+           operation.disabled = function() {
+               if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
+                   return 'too_large';
+               } else if (someMissing()) {
+                   return 'not_downloaded';
+               } else if (selectedIDs.some(context.hasHiddenConnections)) {
+                   return 'connected_to_hidden';
+               } else if (selectedIDs.some(incompleteRelation)) {
+                   return 'incomplete_relation';
+               }
+
+               return false;
+
+
+               function someMissing() {
+                   if (context.inIntro()) return false;
+                   var osm = context.connection();
+                   if (osm) {
+                       var missing = coords.filter(function(loc) { return !osm.isDataLoaded(loc); });
+                       if (missing.length) {
+                           missing.forEach(function(loc) { context.loadTileAtLoc(loc); });
+                           return true;
+                       }
+                   }
+                   return false;
+               }
+
+               function incompleteRelation(id) {
+                   var entity = context.entity(id);
+                   return entity.type === 'relation' && !entity.isComplete(context.graph());
+               }
+           };
+
+
+           operation.tooltip = function() {
+               var disable = operation.disabled();
+               return disable ?
+                   t('operations.reflect.' + disable + '.' + multi) :
+                   t('operations.reflect.description.' + axis + '.' + multi);
+           };
+
+
+           operation.annotation = function() {
+               return t('operations.reflect.annotation.' + axis + '.' + multi);
+           };
+
+
+           operation.id = 'reflect-' + axis;
+           operation.keys = [t('operations.reflect.key.' + axis)];
+           operation.title = t('operations.reflect.title.' + axis);
+           operation.behavior = behaviorOperation(context).which(operation);
+
+           return operation;
+       }
+
+       function operationMove(selectedIDs, context) {
+           var multi = (selectedIDs.length === 1 ? 'single' : 'multiple');
+           var nodes = utilGetAllNodes(selectedIDs, context.graph());
+           var coords = nodes.map(function(n) { return n.loc; });
+           var extent = nodes.reduce(function(extent, node) {
+               return extent.extend(node.extent(context.graph()));
+           }, geoExtent());
+
+
+           var operation = function() {
+               context.enter(modeMove(context, selectedIDs));
+           };
+
+
+           operation.available = function() {
+               return selectedIDs.length > 1 ||
+                   context.entity(selectedIDs[0]).type !== 'node';
+           };
+
+
+           operation.disabled = function() {
+               if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
+                   return 'too_large';
+               } else if (someMissing()) {
+                   return 'not_downloaded';
+               } else if (selectedIDs.some(context.hasHiddenConnections)) {
+                   return 'connected_to_hidden';
+               } else if (selectedIDs.some(incompleteRelation)) {
+                   return 'incomplete_relation';
+               }
+
+               return false;
+
+
+               function someMissing() {
+                   if (context.inIntro()) return false;
+                   var osm = context.connection();
+                   if (osm) {
+                       var missing = coords.filter(function(loc) { return !osm.isDataLoaded(loc); });
+                       if (missing.length) {
+                           missing.forEach(function(loc) { context.loadTileAtLoc(loc); });
+                           return true;
+                       }
+                   }
+                   return false;
+               }
+
+               function incompleteRelation(id) {
+                   var entity = context.entity(id);
+                   return entity.type === 'relation' && !entity.isComplete(context.graph());
+               }
+           };
+
+
+           operation.tooltip = function() {
+               var disable = operation.disabled();
+               return disable ?
+                   t('operations.move.' + disable + '.' + multi) :
+                   t('operations.move.description.' + multi);
+           };
+
+
+           operation.annotation = function() {
+               return selectedIDs.length === 1 ?
+                   t('operations.move.annotation.' + context.geometry(selectedIDs[0])) :
+                   t('operations.move.annotation.multiple');
+           };
+
+
+           operation.id = 'move';
+           operation.keys = [t('operations.move.key')];
+           operation.title = t('operations.move.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+           return operation;
+       }
+
+       function modeRotate(context, entityIDs) {
+           var mode = {
+               id: 'rotate',
+               button: 'browse'
+           };
+
+           var keybinding = utilKeybinding('rotate');
+           var behaviors = [
+               behaviorEdit(context),
+               operationCircularize(entityIDs, context).behavior,
+               operationDelete(entityIDs, context).behavior,
+               operationMove(entityIDs, context).behavior,
+               operationOrthogonalize(entityIDs, context).behavior,
+               operationReflectLong(entityIDs, context).behavior,
+               operationReflectShort(entityIDs, context).behavior
+           ];
+           var annotation = entityIDs.length === 1 ?
+               t('operations.rotate.annotation.' + context.geometry(entityIDs[0])) :
+               t('operations.rotate.annotation.multiple');
+
+           var _prevGraph;
+           var _prevAngle;
+           var _prevTransform;
+           var _pivot;
+
+
+           function doRotate() {
+               var fn;
+               if (context.graph() !== _prevGraph) {
+                   fn = context.perform;
+               } else {
+                   fn = context.replace;
+               }
+
+               // projection changed, recalculate _pivot
+               var projection = context.projection;
+               var currTransform = projection.transform();
+               if (!_prevTransform ||
+                   currTransform.k !== _prevTransform.k ||
+                   currTransform.x !== _prevTransform.x ||
+                   currTransform.y !== _prevTransform.y) {
+
+                   var nodes = utilGetAllNodes(entityIDs, context.graph());
+                   var points = nodes.map(function(n) { return projection(n.loc); });
+
+                   if (points.length === 1) {  // degenerate case
+                       _pivot = points[0];
+                   } else if (points.length === 2) {
+                       _pivot = geoVecInterp(points[0], points[1], 0.5);
+                   } else {
+                       _pivot = d3_polygonCentroid(d3_polygonHull(points));
+                   }
+                   _prevAngle = undefined;
+               }
+
+
+               var currMouse = context.mouse();
+               var currAngle = Math.atan2(currMouse[1] - _pivot[1], currMouse[0] - _pivot[0]);
+
+               if (typeof _prevAngle === 'undefined') _prevAngle = currAngle;
+               var delta = currAngle - _prevAngle;
+
+               fn(actionRotate(entityIDs, _pivot, delta, projection));
+
+               _prevTransform = currTransform;
+               _prevAngle = currAngle;
+               _prevGraph = context.graph();
+           }
+
+
+           function finish() {
+               event.stopPropagation();
+               context.replace(actionNoop(), annotation);
+               context.enter(modeSelect(context, entityIDs));
+           }
+
+
+           function cancel() {
+               context.pop();
+               context.enter(modeSelect(context, entityIDs));
+           }
+
+
+           function undone() {
+               context.enter(modeBrowse(context));
+           }
+
+
+           mode.enter = function() {
+               context.features().forceVisible(entityIDs);
+
+               behaviors.forEach(context.install);
+
+               context.surface()
+                   .on('mousemove.rotate', doRotate)
+                   .on('click.rotate', finish);
+
+               context.history()
+                   .on('undone.rotate', undone);
+
+               keybinding
+                   .on('⎋', cancel)
+                   .on('↩', finish);
+
+               d3_select(document)
+                   .call(keybinding);
+           };
+
+
+           mode.exit = function() {
+               behaviors.forEach(context.uninstall);
+
+               context.surface()
+                   .on('mousemove.rotate', null)
+                   .on('click.rotate', null);
+
+               context.history()
+                   .on('undone.rotate', null);
+
+               d3_select(document)
+                   .call(keybinding.unbind);
+
+               context.features().forceVisible([]);
+           };
+
+
+           mode.selectedIDs = function() {
+               if (!arguments.length) return entityIDs;
+               // no assign
+               return mode;
+           };
+
+
+           return mode;
+       }
+
+       function operationRotate(selectedIDs, context) {
+           var multi = (selectedIDs.length === 1 ? 'single' : 'multiple');
+           var nodes = utilGetAllNodes(selectedIDs, context.graph());
+           var coords = nodes.map(function(n) { return n.loc; });
+           var extent = nodes.reduce(function(extent, node) {
+               return extent.extend(node.extent(context.graph()));
+           }, geoExtent());
+
+
+           var operation = function() {
+               context.enter(modeRotate(context, selectedIDs));
+           };
+
+
+           operation.available = function() {
+               return nodes.length >= 2;
+           };
+
+
+           operation.disabled = function() {
+
+               if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
+                   return 'too_large';
+               } else if (someMissing()) {
+                   return 'not_downloaded';
+               } else if (selectedIDs.some(context.hasHiddenConnections)) {
+                   return 'connected_to_hidden';
+               } else if (selectedIDs.some(incompleteRelation)) {
+                   return 'incomplete_relation';
+               }
+
+               return false;
+
+
+               function someMissing() {
+                   if (context.inIntro()) return false;
+                   var osm = context.connection();
+                   if (osm) {
+                       var missing = coords.filter(function(loc) { return !osm.isDataLoaded(loc); });
+                       if (missing.length) {
+                           missing.forEach(function(loc) { context.loadTileAtLoc(loc); });
+                           return true;
+                       }
+                   }
+                   return false;
+               }
+
+               function incompleteRelation(id) {
+                   var entity = context.entity(id);
+                   return entity.type === 'relation' && !entity.isComplete(context.graph());
+               }
+           };
+
+
+           operation.tooltip = function() {
+               var disable = operation.disabled();
+               return disable ?
+                   t('operations.rotate.' + disable + '.' + multi) :
+                   t('operations.rotate.description.' + multi);
+           };
+
+
+           operation.annotation = function() {
+               return selectedIDs.length === 1 ?
+                   t('operations.rotate.annotation.' + context.geometry(selectedIDs[0])) :
+                   t('operations.rotate.annotation.multiple');
+           };
+
+
+           operation.id = 'rotate';
+           operation.keys = [t('operations.rotate.key')];
+           operation.title = t('operations.rotate.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+           return operation;
+       }
+
+       function modeMove(context, entityIDs, baseGraph) {
+           var mode = {
+               id: 'move',
+               button: 'browse'
+           };
+
+           var keybinding = utilKeybinding('move');
+           var behaviors = [
+               behaviorEdit(context),
+               operationCircularize(entityIDs, context).behavior,
+               operationDelete(entityIDs, context).behavior,
+               operationOrthogonalize(entityIDs, context).behavior,
+               operationReflectLong(entityIDs, context).behavior,
+               operationReflectShort(entityIDs, context).behavior,
+               operationRotate(entityIDs, context).behavior
+           ];
+           var annotation = entityIDs.length === 1 ?
+               t('operations.move.annotation.' + context.geometry(entityIDs[0])) :
+               t('operations.move.annotation.multiple');
+
+           var _prevGraph;
+           var _cache;
+           var _origin;
+           var _nudgeInterval;
+
+
+           function doMove(nudge) {
+               nudge = nudge || [0, 0];
+
+               var fn;
+               if (_prevGraph !== context.graph()) {
+                   _cache = {};
+                   _origin = context.map().mouseCoordinates();
+                   fn = context.perform;
+               } else {
+                   fn = context.overwrite;
+               }
+
+               var currMouse = context.mouse();
+               var origMouse = context.projection(_origin);
+               var delta = geoVecSubtract(geoVecSubtract(currMouse, origMouse), nudge);
+
+               fn(actionMove(entityIDs, delta, context.projection, _cache));
+               _prevGraph = context.graph();
+           }
+
+
+           function startNudge(nudge) {
+               if (_nudgeInterval) window.clearInterval(_nudgeInterval);
+               _nudgeInterval = window.setInterval(function() {
+                   context.pan(nudge);
+                   doMove(nudge);
+               }, 50);
+           }
+
+
+           function stopNudge() {
+               if (_nudgeInterval) {
+                   window.clearInterval(_nudgeInterval);
+                   _nudgeInterval = null;
+               }
+           }
+
+
+           function move() {
+               doMove();
+               var nudge = geoViewportEdge(context.mouse(), context.map().dimensions());
+               if (nudge) {
+                   startNudge(nudge);
+               } else {
+                   stopNudge();
+               }
+           }
+
+
+           function finish() {
+               event.stopPropagation();
+               context.replace(actionNoop(), annotation);
+               context.enter(modeSelect(context, entityIDs));
+               stopNudge();
+           }
+
+
+           function cancel() {
+               if (baseGraph) {
+                   while (context.graph() !== baseGraph) context.pop();
+                   context.enter(modeBrowse(context));
+               } else {
+                   context.pop();
+                   context.enter(modeSelect(context, entityIDs));
+               }
+               stopNudge();
+           }
+
+
+           function undone() {
+               context.enter(modeBrowse(context));
+           }
+
+
+           mode.enter = function() {
+               _origin = context.map().mouseCoordinates();
+               _prevGraph = null;
+               _cache = {};
+
+               context.features().forceVisible(entityIDs);
+
+               behaviors.forEach(context.install);
+
+               context.surface()
+                   .on('mousemove.move', move)
+                   .on('click.move', finish);
+
+               context.history()
+                   .on('undone.move', undone);
+
+               keybinding
+                   .on('⎋', cancel)
+                   .on('↩', finish);
+
+               d3_select(document)
+                   .call(keybinding);
+           };
+
+
+           mode.exit = function() {
+               stopNudge();
+
+               behaviors.forEach(function(behavior) {
+                   context.uninstall(behavior);
+               });
+
+               context.surface()
+                   .on('mousemove.move', null)
+                   .on('click.move', null);
+
+               context.history()
+                   .on('undone.move', null);
+
+               d3_select(document)
+                   .call(keybinding.unbind);
+
+               context.features().forceVisible([]);
+           };
+
+
+           mode.selectedIDs = function() {
+               if (!arguments.length) return entityIDs;
+               // no assign
+               return mode;
+           };
+
+
+           return mode;
+       }
+
+       function behaviorPaste(context) {
+
+           function doPaste() {
+               event.preventDefault();
+
+               var baseGraph = context.graph();
+               var mouse = context.mouse();
+               var projection = context.projection;
+               var viewport = geoExtent(projection.clipExtent()).polygon();
+
+               if (!geoPointInPolygon(mouse, viewport)) return;
+
+               var extent = geoExtent();
+               var oldIDs = context.copyIDs();
+               var oldGraph = context.copyGraph();
+               var newIDs = [];
+
+               if (!oldIDs.length) return;
+
+               var action = actionCopyEntities(oldIDs, oldGraph);
+               context.perform(action);
+
+               var copies = action.copies();
+               var originals = new Set();
+               Object.values(copies).forEach(function(entity) { originals.add(entity.id); });
+
+               for (var id in copies) {
+                   var oldEntity = oldGraph.entity(id);
+                   var newEntity = copies[id];
+
+                   extent._extend(oldEntity.extent(oldGraph));
+
+                   // Exclude child nodes from newIDs if their parent way was also copied.
+                   var parents = context.graph().parentWays(newEntity);
+                   var parentCopied = parents.some(function(parent) {
+                       return originals.has(parent.id);
+                   });
+
+                   if (!parentCopied) {
+                       newIDs.push(newEntity.id);
+                   }
+               }
+
+               // Put pasted objects where mouse pointer is..
+               var center = projection(extent.center());
+               var delta = geoVecSubtract(mouse, center);
+
+               context.perform(actionMove(newIDs, delta, projection));
+               context.enter(modeMove(context, newIDs, baseGraph));
+           }
+
+
+           function behavior() {
+               context.keybinding().on(uiCmd('⌘V'), doPaste);
+               return behavior;
+           }
+
+
+           behavior.off = function() {
+               context.keybinding().off(uiCmd('⌘V'));
+           };
+
+
+           return behavior;
+       }
+
+       /*
+           `behaviorDrag` is like `d3_behavior.drag`, with the following differences:
+
+           * The `origin` function is expected to return an [x, y] tuple rather than an
+             {x, y} object.
+           * The events are `start`, `move`, and `end`.
+             (https://github.com/mbostock/d3/issues/563)
+           * The `start` event is not dispatched until the first cursor movement occurs.
+             (https://github.com/mbostock/d3/pull/368)
+           * The `move` event has a `point` and `delta` [x, y] tuple properties rather
+             than `x`, `y`, `dx`, and `dy` properties.
+           * The `end` event is not dispatched if no movement occurs.
+           * An `off` function is available that unbinds the drag's internal event handlers.
+        */
+
+       function behaviorDrag() {
+           var dispatch$1 = dispatch('start', 'move', 'end');
+           var _origin = null;
+           var _selector = '';
+           var _event;
+           var _target;
+           var _surface;
+
+
+           var d3_event_userSelectProperty = utilPrefixCSSProperty('UserSelect');
+           var d3_event_userSelectSuppress = function() {
+                   var selection$1 = selection();
+                   var select = selection$1.style(d3_event_userSelectProperty);
+                   selection$1.style(d3_event_userSelectProperty, 'none');
+                   return function() {
+                       selection$1.style(d3_event_userSelectProperty, select);
+                   };
+               };
+
+
+           function d3_eventCancel() {
+               event.stopPropagation();
+               event.preventDefault();
+           }
+
+
+           function eventOf(thiz, argumentz) {
+               return function(e1) {
+                   e1.target = behavior;
+                   customEvent(e1, dispatch$1.apply, dispatch$1, [e1.type, thiz, argumentz]);
+               };
+           }
+
+
+           function dragstart() {
+               _target = this;
+               _event = eventOf(_target, arguments);
+
+               var eventTarget = event.target;
+               var touchId = event.touches ? event.changedTouches[0].identifier : null;
+               var offset;
+               var startOrigin = point();
+               var started = false;
+               var selectEnable = d3_event_userSelectSuppress();
+
+               d3_select(window)
+                   .on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', dragmove)
+                   .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', dragend, true);
+
+               if (_origin) {
+                   offset = _origin.apply(_target, arguments);
+                   offset = [offset[0] - startOrigin[0], offset[1] - startOrigin[1]];
+               } else {
+                   offset = [0, 0];
+               }
+
+               if (touchId === null) {
+                   event.stopPropagation();
+               }
+
+
+               function point() {
+                   var p = _surface || _target.parentNode;
+                   return touchId !== null ? d3_touches(p).filter(function(p) {
+                       return p.identifier === touchId;
+                   })[0] : d3_mouse(p);
+               }
+
+
+               function dragmove() {
+                   var p = point();
+                   var dx = p[0] - startOrigin[0];
+                   var dy = p[1] - startOrigin[1];
+
+                   if (dx === 0 && dy === 0)
+                       return;
+
+                   startOrigin = p;
+                   d3_eventCancel();
+
+                   if (!started) {
+                       started = true;
+                       _event({ type: 'start' });
+                   } else {
+                       _event({
+                           type: 'move',
+                           point: [p[0] + offset[0],  p[1] + offset[1]],
+                           delta: [dx, dy]
+                       });
+                   }
+               }
+
+
+               function dragend() {
+                   if (started) {
+                       _event({ type: 'end' });
+
+                       d3_eventCancel();
+                       if (event.target === eventTarget) {
+                           d3_select(window)
+                               .on('click.drag', click, true);
+                       }
+                   }
+
+                   d3_select(window)
+                       .on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', null)
+                       .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', null);
+
+                   selectEnable();
+               }
+
+
+               function click() {
+                   d3_eventCancel();
+                   d3_select(window)
+                       .on('click.drag', null);
+               }
+           }
+
+
+           function behavior(selection) {
+               var matchesSelector = utilPrefixDOMProperty('matchesSelector');
+               var delegate = dragstart;
+
+               if (_selector) {
+                   delegate = function() {
+                       var root = this;
+                       var target = event.target;
+                       for (; target && target !== root; target = target.parentNode) {
+                           var datum = target.__data__;
+
+                           var entity = datum instanceof osmNote ? datum
+                               : datum && datum.properties && datum.properties.entity;
+
+                           if (entity && target[matchesSelector](_selector)) {
+                               return dragstart.call(target, entity);
+                           }
+                       }
+                   };
+               }
+
+               selection
+                   .on('mousedown.drag' + _selector, delegate)
+                   .on('touchstart.drag' + _selector, delegate);
+           }
+
+
+           behavior.off = function(selection) {
+               selection
+                   .on('mousedown.drag' + _selector, null)
+                   .on('touchstart.drag' + _selector, null);
+           };
+
+
+           behavior.selector = function(_) {
+               if (!arguments.length) return _selector;
+               _selector = _;
+               return behavior;
+           };
+
+
+           behavior.origin = function(_) {
+               if (!arguments.length) return _origin;
+               _origin = _;
+               return behavior;
+           };
+
+
+           behavior.cancel = function() {
+               d3_select(window)
+                   .on('mousemove.drag', null)
+                   .on('mouseup.drag', null);
+               return behavior;
+           };
+
+
+           behavior.target = function() {
+               if (!arguments.length) return _target;
+               _target = arguments[0];
+               _event = eventOf(_target, Array.prototype.slice.call(arguments, 1));
+               return behavior;
+           };
+
+
+           behavior.surface = function() {
+               if (!arguments.length) return _surface;
+               _surface = arguments[0];
+               return behavior;
+           };
+
+
+           return utilRebind(behavior, dispatch$1, 'on');
+       }
+
+       function modeDragNode(context) {
+           var mode = {
+               id: 'drag-node',
+               button: 'browse'
+           };
+           var hover = behaviorHover(context).altDisables(true)
+               .on('hover', context.ui().sidebar.hover);
+           var edit = behaviorEdit(context);
+
+           var _nudgeInterval;
+           var _restoreSelectedIDs = [];
+           var _wasMidpoint = false;
+           var _isCancelled = false;
+           var _activeEntity;
+           var _startLoc;
+           var _lastLoc;
+
+
+           function startNudge(entity, nudge) {
+               if (_nudgeInterval) window.clearInterval(_nudgeInterval);
+               _nudgeInterval = window.setInterval(function() {
+                   context.pan(nudge);
+                   doMove(entity, nudge);
+               }, 50);
+           }
+
+
+           function stopNudge() {
+               if (_nudgeInterval) {
+                   window.clearInterval(_nudgeInterval);
+                   _nudgeInterval = null;
+               }
+           }
+
+
+           function moveAnnotation(entity) {
+               return t('operations.move.annotation.' + entity.geometry(context.graph()));
+           }
+
+
+           function connectAnnotation(nodeEntity, targetEntity) {
+               var nodeGeometry = nodeEntity.geometry(context.graph());
+               var targetGeometry = targetEntity.geometry(context.graph());
+               if (nodeGeometry === 'vertex' && targetGeometry === 'vertex') {
+                   var nodeParentWayIDs = context.graph().parentWays(nodeEntity);
+                   var targetParentWayIDs = context.graph().parentWays(targetEntity);
+                   var sharedParentWays = utilArrayIntersection(nodeParentWayIDs, targetParentWayIDs);
+                   // if both vertices are part of the same way
+                   if (sharedParentWays.length !== 0) {
+                       // if the nodes are next to each other, they are merged
+                       if (sharedParentWays[0].areAdjacent(nodeEntity.id, targetEntity.id)) {
+                           return t('operations.connect.annotation.from_vertex.to_adjacent_vertex');
+                       }
+                       return t('operations.connect.annotation.from_vertex.to_sibling_vertex');
+                   }
+               }
+               return t('operations.connect.annotation.from_' + nodeGeometry + '.to_' + targetGeometry);
+           }
+
+
+           function shouldSnapToNode(target) {
+               if (!_activeEntity) return false;
+               return _activeEntity.geometry(context.graph()) !== 'vertex' ||
+                   (target.geometry(context.graph()) === 'vertex' || context.presets().allowsVertex(target, context.graph()));
+           }
+
+
+           function origin(entity) {
+               return context.projection(entity.loc);
+           }
+
+
+           function keydown() {
+               if (event.keyCode === utilKeybinding.modifierCodes.alt) {
+                   if (context.surface().classed('nope')) {
+                       context.surface()
+                           .classed('nope-suppressed', true);
+                   }
+                   context.surface()
+                       .classed('nope', false)
+                       .classed('nope-disabled', true);
+               }
+           }
+
+
+           function keyup() {
+               if (event.keyCode === utilKeybinding.modifierCodes.alt) {
+                   if (context.surface().classed('nope-suppressed')) {
+                       context.surface()
+                           .classed('nope', true);
+                   }
+                   context.surface()
+                       .classed('nope-suppressed', false)
+                       .classed('nope-disabled', false);
+               }
+           }
+
+
+           function start(entity) {
+               _wasMidpoint = entity.type === 'midpoint';
+               var hasHidden = context.features().hasHiddenConnections(entity, context.graph());
+               _isCancelled = event.sourceEvent.shiftKey || hasHidden;
+
+
+               if (_isCancelled) {
+                   if (hasHidden) {
+                       uiFlash()
+                           .duration(4000)
+                           .text(t('modes.drag_node.connected_to_hidden'))();
+                   }
+                   return drag.cancel();
+               }
+
+               if (_wasMidpoint) {
+                   var midpoint = entity;
+                   entity = osmNode();
+                   context.perform(actionAddMidpoint(midpoint, entity));
+                   entity = context.entity(entity.id);   // get post-action entity
+
+                   var vertex = context.surface().selectAll('.' + entity.id);
+                   drag.target(vertex.node(), entity);
+
+               } else {
+                   context.perform(actionNoop());
+               }
+
+               _activeEntity = entity;
+               _startLoc = entity.loc;
+
+               hover.ignoreVertex(entity.geometry(context.graph()) === 'vertex');
+
+               context.surface().selectAll('.' + _activeEntity.id)
+                   .classed('active', true);
+
+               context.enter(mode);
+           }
+
+
+           // related code
+           // - `behavior/draw.js` `datum()`
+           function datum() {
+               var event$1 = event && event.sourceEvent;
+               if (!event$1 || event$1.altKey) {
+                   return {};
+               } else {
+                   // When dragging, snap only to touch targets..
+                   // (this excludes area fills and active drawing elements)
+                   var d = event$1.target.__data__;
+                   return (d && d.properties && d.properties.target) ? d : {};
+               }
+           }
+
+
+           function doMove(entity, nudge) {
+               nudge = nudge || [0, 0];
+
+               var currPoint = (event && event.point) || context.projection(_lastLoc);
+               var currMouse = geoVecSubtract(currPoint, nudge);
+               var loc = context.projection.invert(currMouse);
+
+               if (!_nudgeInterval) {   // If not nudging at the edge of the viewport, try to snap..
+                   // related code
+                   // - `mode/drag_node.js`     `doMode()`
+                   // - `behavior/draw.js`      `click()`
+                   // - `behavior/draw_way.js`  `move()`
+                   var d = datum();
+                   var target = d && d.properties && d.properties.entity;
+                   var targetLoc = target && target.loc;
+                   var targetNodes = d && d.properties && d.properties.nodes;
+                   var edge;
+
+                   if (targetLoc) {   // snap to node/vertex - a point target with `.loc`
+                       if (shouldSnapToNode(target)) {
+                           loc = targetLoc;
+                       }
+
+                   } else if (targetNodes) {   // snap to way - a line target with `.nodes`
+                       edge = geoChooseEdge(targetNodes, context.mouse(), context.projection, end.id);
+                       if (edge) {
+                           loc = edge.loc;
+                       }
+                   }
+               }
+
+               context.replace(
+                   actionMoveNode(entity.id, loc)
+               );
+
+               // Below here: validations
+               var isInvalid = false;
+
+               // Check if this connection to `target` could cause relations to break..
+               if (target) {
+                   isInvalid = hasRelationConflict(entity, target, edge, context.graph());
+               }
+
+               // Check if this drag causes the geometry to break..
+               if (!isInvalid) {
+                   isInvalid = hasInvalidGeometry(entity, context.graph());
+               }
+
+
+               var nope = context.surface().classed('nope');
+               if (isInvalid === 'relation' || isInvalid === 'restriction') {
+                   if (!nope) {   // about to nope - show hint
+                       uiFlash()
+                           .duration(4000)
+                           .text(t('operations.connect.' + isInvalid,
+                               { relation: context.presets().item('type/restriction').name() }
+                           ))();
+                   }
+               } else {
+                   if (nope) {   // about to un-nope, remove hint
+                       uiFlash()
+                           .duration(1)
+                           .text('')();
+                   }
+               }
+
+
+               var nopeDisabled = context.surface().classed('nope-disabled');
+               if (nopeDisabled) {
+                   context.surface()
+                       .classed('nope', false)
+                       .classed('nope-suppressed', isInvalid);
+               } else {
+                   context.surface()
+                       .classed('nope', isInvalid)
+                       .classed('nope-suppressed', false);
+               }
+
+               _lastLoc = loc;
+           }
+
+
+           // Uses `actionConnect.disabled()` to know whether this connection is ok..
+           function hasRelationConflict(entity, target, edge, graph) {
+               var testGraph = graph.update();  // copy
+
+               // if snapping to way - add midpoint there and consider that the target..
+               if (edge) {
+                   var midpoint = osmNode();
+                   var action = actionAddMidpoint({
+                       loc: edge.loc,
+                       edge: [target.nodes[edge.index - 1], target.nodes[edge.index]]
+                   }, midpoint);
+
+                   testGraph = action(testGraph);
+                   target = midpoint;
+               }
+
+               // can we connect to it?
+               var ids = [entity.id, target.id];
+               return actionConnect(ids).disabled(testGraph);
+           }
+
+
+           function hasInvalidGeometry(entity, graph) {
+               var parents = graph.parentWays(entity);
+               var i, j, k;
+
+               for (i = 0; i < parents.length; i++) {
+                   var parent = parents[i];
+                   var nodes = [];
+                   var activeIndex = null;    // which multipolygon ring contains node being dragged
+
+                   // test any parent multipolygons for valid geometry
+                   var relations = graph.parentRelations(parent);
+                   for (j = 0; j < relations.length; j++) {
+                       if (!relations[j].isMultipolygon()) continue;
+
+                       var rings = osmJoinWays(relations[j].members, graph);
+
+                       // find active ring and test it for self intersections
+                       for (k = 0; k < rings.length; k++) {
+                           nodes = rings[k].nodes;
+                           if (nodes.find(function(n) { return n.id === entity.id; })) {
+                               activeIndex = k;
+                               if (geoHasSelfIntersections(nodes, entity.id)) {
+                                   return true;
+                               }
+                           }
+                           rings[k].coords = nodes.map(function(n) { return n.loc; });
+                       }
+
+                       // test active ring for intersections with other rings in the multipolygon
+                       for (k = 0; k < rings.length; k++) {
+                           if (k === activeIndex) continue;
+
+                           // make sure active ring doesnt cross passive rings
+                           if (geoHasLineIntersections(rings[activeIndex].nodes, rings[k].nodes, entity.id)) {
+                               return true;
+                           }
+                       }
+                   }
+
+
+                   // If we still haven't tested this node's parent way for self-intersections.
+                   // (because it's not a member of a multipolygon), test it now.
+                   if (activeIndex === null) {
+                       nodes = parent.nodes.map(function(nodeID) { return graph.entity(nodeID); });
+                       if (nodes.length && geoHasSelfIntersections(nodes, entity.id)) {
+                           return true;
+                       }
+                   }
+
+               }
+
+               return false;
+           }
+
+
+           function move(entity) {
+               if (_isCancelled) return;
+               event.sourceEvent.stopPropagation();
+
+               context.surface().classed('nope-disabled', event.sourceEvent.altKey);
+
+               _lastLoc = context.projection.invert(event.point);
+
+               doMove(entity);
+               var nudge = geoViewportEdge(event.point, context.map().dimensions());
+               if (nudge) {
+                   startNudge(entity, nudge);
+               } else {
+                   stopNudge();
+               }
+           }
+
+           function end(entity) {
+               if (_isCancelled) return;
+
+               var d = datum();
+               var nope = (d && d.properties && d.properties.nope) || context.surface().classed('nope');
+               var target = d && d.properties && d.properties.entity;   // entity to snap to
+
+               if (nope) {   // bounce back
+                   context.perform(
+                       _actionBounceBack(entity.id, _startLoc)
+                   );
+
+               } else if (target && target.type === 'way') {
+                   var choice = geoChooseEdge(context.childNodes(target), context.mouse(), context.projection, entity.id);
+                   context.replace(
+                       actionAddMidpoint({
+                           loc: choice.loc,
+                           edge: [target.nodes[choice.index - 1], target.nodes[choice.index]]
+                       }, entity),
+                       connectAnnotation(entity, target)
+                   );
+
+               } else if (target && target.type === 'node' && shouldSnapToNode(target)) {
+                   context.replace(
+                       actionConnect([target.id, entity.id]),
+                       connectAnnotation(entity, target)
+                   );
+
+               } else if (_wasMidpoint) {
+                   context.replace(
+                       actionNoop(),
+                       t('operations.add.annotation.vertex')
+                   );
+
+               } else {
+                   context.replace(
+                       actionNoop(),
+                       moveAnnotation(entity)
+                   );
+               }
+
+               var reselection = _restoreSelectedIDs.filter(function(id) {
+                   return context.graph().hasEntity(id);
+               });
+
+               if (reselection.length) {
+                   context.enter(modeSelect(context, reselection));
+               } else {
+                   context.enter(modeBrowse(context));
+               }
+           }
+
+
+           function _actionBounceBack(nodeID, toLoc) {
+               var moveNode = actionMoveNode(nodeID, toLoc);
+               var action = function(graph, t) {
+                   // last time through, pop off the bounceback perform.
+                   // it will then overwrite the initial perform with a moveNode that does nothing
+                   if (t === 1) context.pop();
+                   return moveNode(graph, t);
+               };
+               action.transitionable = true;
+               return action;
+           }
+
+
+           function cancel() {
+               drag.cancel();
+               context.enter(modeBrowse(context));
+           }
+
+
+           var drag = behaviorDrag()
+               .selector('.layer-touch.points .target')
+               .surface(d3_select('#map').node())
+               .origin(origin)
+               .on('start', start)
+               .on('move', move)
+               .on('end', end);
+
+
+           mode.enter = function() {
+               context.install(hover);
+               context.install(edit);
+
+               d3_select(window)
+                   .on('keydown.drawWay', keydown)
+                   .on('keyup.drawWay', keyup);
+
+               context.history()
+                   .on('undone.drag-node', cancel);
+           };
+
+
+           mode.exit = function() {
+               context.ui().sidebar.hover.cancel();
+               context.uninstall(hover);
+               context.uninstall(edit);
+
+               d3_select(window)
+                   .on('keydown.hover', null)
+                   .on('keyup.hover', null);
+
+               context.history()
+                   .on('undone.drag-node', null);
+
+               _activeEntity = null;
+
+               context.surface()
+                   .classed('nope', false)
+                   .classed('nope-suppressed', false)
+                   .classed('nope-disabled', false)
+                   .selectAll('.active')
+                   .classed('active', false);
+
+               stopNudge();
+           };
+
+
+           mode.selectedIDs = function() {
+               if (!arguments.length) return _activeEntity ? [_activeEntity.id] : [];
+               // no assign
+               return mode;
+           };
+
+
+           mode.activeID = function() {
+               if (!arguments.length) return _activeEntity && _activeEntity.id;
+               // no assign
+               return mode;
+           };
+
+
+           mode.restoreSelectedIDs = function(_) {
+               if (!arguments.length) return _restoreSelectedIDs;
+               _restoreSelectedIDs = _;
+               return mode;
+           };
+
+
+           mode.behavior = drag;
+
+
+           return mode;
+       }
+
+       var localizeStrings = {"this node":"this_node","this way":"this_way","this relation":"this_relation","this one-way":"this_oneway","this highway":"this_highway","this railway":"this_railway","this waterway":"this_waterway","this cycleway":"this_cycleway","this footpath":"this_footpath","this cycleway/footpath":"this_cycleway_footpath","this riverbank":"this_riverbank","this crossing":"this_crossing","this railway crossing":"this_railway_crossing","this bridge":"this_bridge","this tunnel":"this_tunnel","this boundary":"this_boundary","this turn-restriction":"this_turn_restriction","this roundabout":"this_roundabout","this mini-roundabout":"this_mini_roundabout","this track":"this_track","this feature":"this_feature",highway:"highway",railway:"railway",waterway:"waterway",cycleway:"cycleway",cycleway_footpath:"cycleway/footpath",riverbank:"riverbank",place_of_worship:"place_of_worship",pub:"pub",restaurant:"restaurant",school:"school",university:"university",hospital:"hospital",library:"library",theatre:"theatre",courthouse:"courthouse",bank:"bank",cinema:"cinema",pharmacy:"pharmacy",cafe:"cafe",fast_food:"fast_food",fuel:"fuel",from:"from",to:"to","left-hand":"left_hand","right-hand":"right_hand"};
+       var errorTypes = {"20":{title:"multiple nodes on the same spot",severity:"warning",description:"There is more than one node in this spot. Offending node IDs: $1",IDs:["20"],regex:"IDs: ((?:#\\d+,?)+)"},"30":{title:"non-closed_areas",severity:"error",description:"This way is tagged with '$1' and should be closed-loop.",IDs:["this",""],regex:"(this way) is tagged with '(.+)'"},"40":{title:"dead-ended one-ways",severity:"error",description:"The first node (id $1) of this one-way is not connected to any other way",IDs:["n","this"],regex:"\\(id (\\d+)\\) of (this one-way)"},"41":{title:"",severity:"error",description:"The last node (id $1) of this one-way is not connected to any other way",IDs:["n","this"],regex:"\\(id (\\d+)\\) of (this one-way)"},"42":{title:"",severity:"error",description:"This node cannot be reached because one-ways only lead away from here",IDs:["this"],regex:"(this node)"},"43":{title:"",severity:"error",description:"You cannot escape from this node because one-ways only lead to here",IDs:["this"],regex:"(this node)"},"50":{title:"almost-junctions",severity:"error",description:"This node is very close but not connected to way #$1",IDs:["this","w"],regex:"(this node) is very close but not connected to way #(\\d+)"},"60":{title:"deprecated tags",severity:"warning",description:"This $1 uses deprecated tag $2. Please use $3 instead!",IDs:["this","",""],regex:"(this (?:node|way|relation)) uses deprecated tag '(.+)'\\. Please use &quot;(.+)&quot;"},"70":{title:"missing tags",severity:"error",description:"This $1 has an empty tag: $2",IDs:["this",""],regex:"(this (?:node|way|relation)) has an empty tag: &quot;(.+)=&quot;"},"71":{title:"",severity:"error",description:"This way has no tags",IDs:["this"],regex:"(this way)"},"72":{title:"",severity:"error",description:"This node is not member of any way and does not have any tags",IDs:["this"],regex:"(this node)"},"73":{title:"",severity:"error",description:"This way has a $1 tag but no highway tag",IDs:["this",""],regex:"(this way) has a (.+) tag"},"74":{title:"missing tags",severity:"error",description:"This $1 has an empty tag: $2",IDs:["this",""],regex:"(this (?:node|way|relation)) has an empty tag: &quot;(.+)=&quot;"},"75":{description:"This (node|way|relation) has a name \\((.+)\\) but no other tag",IDs:["this",""],regex:"(this (?:node|way|relation)) has a name \\((.+)\\)"},"90":{title:"motorways without ref",severity:"error",description:"This way is tagged as motorway and therefore needs a ref nat_ref or int_ref tag",IDs:["this"],regex:"(this way)"},"100":{title:"places of worship without religion",severity:"error",description:"This $1 is tagged as place of worship and therefore needs a religion tag",IDs:["this"],regex:"(this (?:node|way|relation))"},"110":{title:"point of interest without name",severity:"error",description:"This node is tagged as $1 and therefore needs a name tag",IDs:["this",""],regex:"(this (?:node|way|relation)) is tagged as (.+) and"},"120":{title:"ways without nodes",severity:"error",description:"This way has just one single node",IDs:["this"],regex:"(this way)"},"130":{title:"floating islands",severity:"error",description:"This way is not connected to the rest of the map",IDs:["this"],regex:"(this way)"},"150":{title:"railway crossing without tag",severity:"error",description:"This crossing of a highway and a railway needs to be tagged as railway=crossing or railway=level_crossing",IDs:["this"],regex:"(this crossing)"},"160":{title:"wrongly used railway tag",severity:"error",description:"There are ways in different layers coming together in this railway crossing. There are ways tagged as tunnel or bridge coming together in this railway crossing",IDs:["this"],regex:"(this railway crossing)"},"170":{title:"FIXME tagged items",severity:"error",description:"This feature has a FIXME tag: (.*)",IDs:["this"],regex:"(this feature) has a FIXME tag: (.*)"},"180":{title:"relations without type",severity:"error",description:"This relation has no type tag which is mandatory for relations",IDs:["this"],regex:"(this relation)"},"190":{title:"intersections without junctions",severity:"error",description:"This $1 intersects the $2 #$3 but there is no junction node",IDs:["this","","w"],regex:"(this .+) intersects the (.+) #(\\d+)"},"200":{title:"overlapping ways",severity:"error",description:"This $1 overlaps the $2 #$3",IDs:["this","","w"],regex:"(this .+) overlaps the (.+) #(\\d+)"},"210":{title:"loopings",severity:"error",description:"These errors contain self intersecting ways"},"211":{title:"",severity:"error",description:"This way contains more than one node at least twice. Nodes are $1.",IDs:["this","211"],regex:"(this way) contains more than one node at least twice. Nodes are ((?:#\\d+(?:, )?)+)\\."},"212":{title:"",severity:"error",description:"This way has only two different nodes and contains one of them more than once",IDs:["this"],regex:"(this way)"},"220":{title:"misspelled tags",severity:"error",description:"This $1 is tagged '$2' where $3 looks like $4",regex:"(this (?:node|way|relation)) is tagged '(.+)' where &quot;(.+)&quot; looks like &quot;(.+)&quot;"},"221":{title:"",severity:"error",description:"The key of this $1's tag is 'key': $2",regex:"(this (?:node|way|relation))\\'s tag is \\'key\\': (.+)"},"230":{title:"layer conflicts",severity:"error",description:"This node is a junction of ways on different layers.",IDs:["this"],regex:"(this node)"},"231":{title:"mixed layers intersection",severity:"error",description:"This node is a junction of ways on different layers: $1",IDs:["this","231"],regex:"(this node) is a junction of ways on different layers: (.+)"},"232":{title:"strange layers",severity:"error",description:"This $1 is tagged with layer $2. This need not be an error, but it looks strange",IDs:["this",""],regex:"(this (?:bridge|tunnel)) is tagged with layer (-?\\d+)\\."},"270":{title:"motorways connected directly",severity:"error",description:"This node is a junction of a motorway and a highway other than motorway, motorway_link, trunk, rest_area or construction. Service or unclassified is only valid if it has access=no/private or it leads to a motorway service area or if it is a service=parking_aisle.",IDs:["this"],regex:"(this node)"},"280":{title:"boundaries",severity:"error",description:"Administrative Boundaries can be expressed either by tagging ways or by adding them to a relation. They should be closed-loop sequences of ways, they must not self-intersect or split and they must have a name and an admin_level."},"281":{title:"missing name",severity:"error",description:"This boundary has no name",IDs:["this"],regex:"(this boundary)"},"282":{title:"missing admin level",severity:"error",description:"The boundary of $1 has no (?:valid numeric)?admin_level",regex:"of (.+) has"},"283":{title:"no closed loop",severity:"error",description:"The boundary of $1 is not closed-loop",regex:"boundary of (.+) is"},"284":{title:"splitting boundary",severity:"error",description:"The boundary of $1 splits here",regex:"boundary of (.+) splits"},"285":{title:"admin_level too high",severity:"error",description:"This boundary-way has admin_level $1 but belongs to a relation with lower admin_level (higher priority); it should have the lowest admin_level of all relations",IDs:["this",""],regex:"(this boundary)-way has admin_level (-?\\d+) but"},"290":{title:"restrictions",severity:"error",description:"Analyses all relations tagged type=restriction or following variations type=restriction:hgv type=restriction:caravan type=restriction:motorcar type=restriction:bus type=restriction:agricultural type=restriction:motorcycle type=restriction:bicycle and type=restriction:hazmat"},"291":{title:"missing type",severity:"error",description:"This turn-restriction has no (?:known )?restriction type",IDs:["this"],regex:"(this turn-restriction) has"},"292":{title:"missing from way",severity:"error",description:"This turn-restriction needs exactly one from member. This one has $1",IDs:["this",""],regex:"(this turn-restriction) needs.+has (\\d+)"},"293":{title:"missing to way",severity:"error",description:"This turn-restriction needs exactly one to member. This one has $1",IDs:["this",""],regex:"(this turn-restriction) needs.+has (\\d+)"},"294":{title:"from or to not a way",severity:"error",description:"From- and To-members of this turn-restriction need to be ways. $1",IDs:["this","294"],regex:"(this turn-restriction)~.+ways\\. ((?:(?:from|to) (?:node|relation) #\\d+,?)+)"},"295":{title:"via is not on the way ends",severity:"error",description:"via (node #$1) is not the first or the last member of (from|to) (way #$3)",IDs:["this","n","","w"],regex:"(this turn-restriction)~via \\(node #(\\d+)\\).+ of (from|to) \\(way #(\\d+)\\)"},"296":{title:"wrong restriction angle",severity:"error",description:"This turn-restriction type is $1, but angle is $2 degrees. Maybe the restriction type is not appropriate?",IDs:["this","",""],regex:"(this turn-restriction)~.+is (\\w+), but angle is (-?\\d+)"},"297":{title:"wrong direction of to member",severity:"error",description:"wrong direction of to way $1",IDs:["this","w"],regex:"(this turn-restriction)~.+to way (\\d+)"},"298":{title:"already restricted by oneway",severity:"error",description:"entry already prohibited by oneway tag on $1",IDs:["this","w"],regex:"(this turn-restriction)~.+tag on (\\d+)"},"300":{title:"missing maxspeed",severity:"warning",description:"This highway is missing a maxspeed tag",IDs:["this"],regex:"(this highway)"},"310":{title:"roundabouts",severity:"error",description:"Analyses ways with tag junction=roundabout. More then one way can form a roundabout. It supports tag oneway=-1"},"311":{title:"not closed loop",severity:"error",description:"This way is part of a roundabout but is not closed-loop. (split carriageways approaching a roundabout should not be tagged as roundabout)",IDs:["this"],regex:"(this way)"},"312":{title:"wrong direction",severity:"error",description:"If this ((?:mini_)?roundabout) is in a country with (left|right)-hand traffic then its orientation goes the wrong way around",IDs:["this",""],regex:"(this (?:mini_)?roundabout) is in a country with ((?:left|right)-hand)"},"313":{title:"faintly connected",severity:"error",description:"This roundabout has only $1 other roads connected. Roundabouts typically have three",IDs:["this",""],regex:"(this roundabout) has only (\\d) other"},"320":{title:"*_link connections",severity:"error",description:"This way is tagged as highway=$1_link but doesn't have a connection to any other $1 or $1_link",IDs:["this","","","",""],regex:"(this way) is tagged as (highway=.+) but doesn't have a connection to any other (.+) or (.+)"},"350":{title:"bridge-tags",severity:"error",description:"This bridge does not have a tag in common with its surrounding ways that shows the purpose of this bridge. There should be one of these tags: (.+)",NOTE:"Group can be arbitrary list of form: key=value,key=value,key=value...",IDs:["this",""],regex:"(this bridge).*tags: (.+)"},"360":{title:"language unknown",severity:"warning",description:"It would be nice if this (node|way|relation) had an additional tag 'name:XX=(.+)' where XX shows the language of its name '\\2'",IDs:["this",""],regex:"(this (?:node|way|relation)) had an additional tag 'name:XX=(.+)' where"},"370":{title:"doubled places",severity:"error",description:"This node has tags in common with the surrounding way #$1 ((?:\\(including the name '.+'\\) )?)and seems to be redundand",IDs:["this","w","370"],regex:"(this node) has tags in common with the surrounding way #(\\d+) ((?:\\(including the name '.+'\\) )?)and"},"380":{title:"non-physical use of sport-tag",severity:"error",description:"This way is tagged sport=$1 but has no physical tag like e.g. leisure, building, amenity or highway",IDs:["this",""],regex:"(this way) is tagged (sport=.+) but"},"390":{title:"missing tracktype",severity:"warning",description:"This track doesn''t have a tracktype",IDs:["this"],regex:"(this track)"},"400":{title:"geometry glitches",severity:"error",description:""},"401":{title:"missing turn restriction",severity:"error",description:"ways $1 and $2 join in a very sharp angle here and there is no oneway tag or turn restriction that prevents turning( from way (\\1|\\2) to (\\1|\\2))?",IDs:["w","w"],regex:"ways (\\d+) and (\\d+) join"},"402":{title:"impossible angles",severity:"error",description:"this way bends in a very sharp angle here",IDs:["this"],regex:"(this way)"},"410":{title:"website",severity:"error",description:"Web pages are analyzed. Web page is defined by any of the following tags website=* url=* website:mobile=* contact:website=* contact:url=* image=* source:website=* or source:url=*"},"411":{title:"http error",severity:"error",description:"The URL (<a target=_blank href=$1>$1</a>) cannot be opened (HTTP status code $2)",IDs:["this","url",""],regex:"(this feature)~.+ href=([^>]+)>.+ code (\\d+)\\)"},"412":{title:"domain hijacking",severity:"error",description:"Possible domain squatting: <a target=_blank href=$1>$1</a>. Suspicious text is: \"$2\"",IDs:["this","url",""],regex:"(this feature)~.+ href=([^>]+)>.+ is: &quot;(.+)&quot;"},"413":{title:"non-match",severity:"error",description:"Content of the URL (<a target=_blank href=$1>$1</a>) did not contain these keywords: ($2)",IDs:["this","url",""],regex:"(this feature)~.+ href=([^>]+)>.+ keywords: \\((.+)\\)"}};
+
+       var tiler = utilTiler();
+       var dispatch$1 = dispatch('loaded');
+
+       var _krCache;
+       var _krZoom = 14;
+       var _krUrlRoot = 'https://www.keepright.at/';
+
+       var _krRuleset = [
+           // no 20 - multiple node on same spot - these are mostly boundaries overlapping roads
+           30, 40, 50, 60, 70, 90, 100, 110, 120, 130, 150, 160, 170, 180,
+           190, 191, 192, 193, 194, 195, 196, 197, 198,
+           200, 201, 202, 203, 204, 205, 206, 207, 208, 210, 220,
+           230, 231, 232, 270, 280, 281, 282, 283, 284, 285,
+           290, 291, 292, 293, 294, 295, 296, 297, 298, 300, 310, 311, 312, 313,
+           320, 350, 360, 370, 380, 390, 400, 401, 402, 410, 411, 412, 413
+       ];
+
+
+       function abortRequest(controller) {
+           if (controller) {
+               controller.abort();
+           }
+       }
+
+       function abortUnwantedRequests(cache, tiles) {
+           Object.keys(cache.inflightTile).forEach(function(k) {
+               var wanted = tiles.find(function(tile) { return k === tile.id; });
+               if (!wanted) {
+                   abortRequest(cache.inflightTile[k]);
+                   delete cache.inflightTile[k];
+               }
+           });
+       }
+
+
+       function encodeErrorRtree(d) {
+           return { minX: d.loc[0], minY: d.loc[1], maxX: d.loc[0], maxY: d.loc[1], data: d };
+       }
+
+
+       // replace or remove error from rtree
+       function updateRtree(item, replace) {
+           _krCache.rtree.remove(item, function isEql(a, b) {
+               return a.data.id === b.data.id;
+           });
+
+           if (replace) {
+               _krCache.rtree.insert(item);
+           }
+       }
+
+
+       function tokenReplacements(d) {
+           if (!(d instanceof qaError)) return;
+
+           var htmlRegex = new RegExp(/<\/[a-z][\s\S]*>/);
+           var replacements = {};
+
+           var errorTemplate = errorTypes[d.which_type];
+           if (!errorTemplate) {
+               /* eslint-disable no-console */
+               console.log('No Template: ', d.which_type);
+               console.log('  ', d.description);
+               /* eslint-enable no-console */
+               return;
+           }
+
+           // some descriptions are just fixed text
+           if (!errorTemplate.regex) return;
+
+           // regex pattern should match description with variable details captured
+           var errorRegex = new RegExp(errorTemplate.regex, 'i');
+           var errorMatch = errorRegex.exec(d.description);
+           if (!errorMatch) {
+               /* eslint-disable no-console */
+               console.log('Unmatched: ', d.which_type);
+               console.log('  ', d.description);
+               console.log('  ', errorRegex);
+               /* eslint-enable no-console */
+               return;
+           }
+
+           for (var i = 1; i < errorMatch.length; i++) {   // skip first
+               var capture = errorMatch[i];
+               var idType;
+
+               idType = 'IDs' in errorTemplate ? errorTemplate.IDs[i-1] : '';
+               if (idType && capture) {   // link IDs if present in the capture
+                   capture = parseError(capture, idType);
+               } else if (htmlRegex.test(capture)) {   // escape any html in non-IDs
+                   capture = '\\' +  capture + '\\';
+               } else {
+                   var compare = capture.toLowerCase();
+                   if (localizeStrings[compare]) {   // some replacement strings can be localized
+                       capture = t('QA.keepRight.error_parts.' + localizeStrings[compare]);
+                   }
+               }
+
+               replacements['var' + i] = capture;
+           }
+
+           return replacements;
+       }
+
+
+       function parseError(capture, idType) {
+           var compare = capture.toLowerCase();
+           if (localizeStrings[compare]) {   // some replacement strings can be localized
+               capture = t('QA.keepRight.error_parts.' + localizeStrings[compare]);
+           }
+
+           switch (idType) {
+               // link a string like "this node"
+               case 'this':
+                   capture = linkErrorObject(capture);
+                   break;
+
+               case 'url':
+                   capture = linkURL(capture);
+                   break;
+
+               // link an entity ID
+               case 'n':
+               case 'w':
+               case 'r':
+                   capture = linkEntity(idType + capture);
+                   break;
+
+               // some errors have more complex ID lists/variance
+               case '20':
+                   capture = parse20(capture);
+                   break;
+               case '211':
+                   capture = parse211(capture);
+                   break;
+               case '231':
+                   capture = parse231(capture);
+                   break;
+               case '294':
+                   capture = parse294(capture);
+                   break;
+               case '370':
+                   capture = parse370(capture);
+                   break;
+           }
+
+           return capture;
+
+
+           function linkErrorObject(d) {
+               return '<a class="error_object_link">' + d + '</a>';
+           }
+
+           function linkEntity(d) {
+               return '<a class="error_entity_link">' + d + '</a>';
+           }
+
+           function linkURL(d) {
+               return '<a class="kr_external_link" target="_blank" href="' + d + '">' + d + '</a>';
+           }
+
+           // arbitrary node list of form: #ID, #ID, #ID...
+           function parse211(capture) {
+               var newList = [];
+               var items = capture.split(', ');
+
+               items.forEach(function(item) {
+                   // ID has # at the front
+                   var id = linkEntity('n' + item.slice(1));
+                   newList.push(id);
+               });
+
+               return newList.join(', ');
+           }
+
+           // arbitrary way list of form: #ID(layer),#ID(layer),#ID(layer)...
+           function parse231(capture) {
+               var newList = [];
+               // unfortunately 'layer' can itself contain commas, so we split on '),'
+               var items = capture.split('),');
+
+               items.forEach(function(item) {
+                   var match = item.match(/\#(\d+)\((.+)\)?/);
+                   if (match !== null && match.length > 2) {
+                       newList.push(linkEntity('w' + match[1]) + ' ' +
+                           t('QA.keepRight.errorTypes.231.layer', { layer: match[2] })
+                       );
+                   }
+               });
+
+               return newList.join(', ');
+           }
+
+           // arbitrary node/relation list of form: from node #ID,to relation #ID,to node #ID...
+           function parse294(capture) {
+               var newList = [];
+               var items = capture.split(',');
+
+               items.forEach(function(item) {
+                   var role;
+                   var idType;
+                   var id;
+
+                   // item of form "from/to node/relation #ID"
+                   item = item.split(' ');
+
+                   // to/from role is more clear in quotes
+                   role = '"' + item[0] + '"';
+
+                   // first letter of node/relation provides the type
+                   idType = item[1].slice(0,1);
+
+                   // ID has # at the front
+                   id = item[2].slice(1);
+                   id = linkEntity(idType + id);
+
+                   item = [role, item[1], id].join(' ');
+                   newList.push(item);
+               });
+
+               return newList.join(', ');
+           }
+
+           // may or may not include the string "(including the name 'name')"
+           function parse370(capture) {
+               if (!capture) return '';
+
+               var match = capture.match(/\(including the name (\'.+\')\)/);
+               if (match !== null && match.length) {
+                   return t('QA.keepRight.errorTypes.370.including_the_name', { name: match[1] });
+               }
+               return '';
+           }
+
+           // arbitrary node list of form: #ID,#ID,#ID...
+           function parse20(capture) {
+               var newList = [];
+               var items = capture.split(',');
+
+               items.forEach(function(item) {
+                   // ID has # at the front
+                   var id = linkEntity('n' + item.slice(1));
+                   newList.push(id);
+               });
+
+               return newList.join(', ');
+           }
+       }
+
+
+       var serviceKeepRight = {
+           init: function() {
+               if (!_krCache) {
+                   this.reset();
+               }
+
+               this.event = utilRebind(this, dispatch$1, 'on');
+           },
+
+           reset: function() {
+               if (_krCache) {
+                   Object.values(_krCache.inflightTile).forEach(abortRequest);
+               }
+
+               _krCache = {
+                   data: {},
+                   loadedTile: {},
+                   inflightTile: {},
+                   inflightPost: {},
+                   closed: {},
+                   rtree: rbush_1()
+               };
+           },
+
+
+           // KeepRight API:  http://osm.mueschelsoft.de/keepright/interfacing.php
+           loadErrors: function(projection) {
+               var options = { format: 'geojson' };
+               var rules = _krRuleset.join();
+
+               // determine the needed tiles to cover the view
+               var tiles = tiler
+                   .zoomExtent([_krZoom, _krZoom])
+                   .getTiles(projection);
+
+               // abort inflight requests that are no longer needed
+               abortUnwantedRequests(_krCache, tiles);
+
+               // issue new requests..
+               tiles.forEach(function(tile) {
+                   if (_krCache.loadedTile[tile.id] || _krCache.inflightTile[tile.id]) return;
+
+                   var rect = tile.extent.rectangle();
+                   var params = Object.assign({}, options, { left: rect[0], bottom: rect[3], right: rect[2], top: rect[1] });
+                   var url = _krUrlRoot + 'export.php?' + utilQsString(params) + '&ch=' + rules;
+
+                   var controller = new AbortController();
+                   _krCache.inflightTile[tile.id] = controller;
+
+                   d3_json(url, { signal: controller.signal })
+                       .then(function(data) {
+                           delete _krCache.inflightTile[tile.id];
+                           _krCache.loadedTile[tile.id] = true;
+                           if (!data || !data.features || !data.features.length) {
+                               throw new Error('No Data');
+                           }
+
+                           data.features.forEach(function(feature) {
+                               var loc = feature.geometry.coordinates;
+                               var props = feature.properties;
+
+                               // if there is a parent, save its error type e.g.:
+                               //  Error 191 = "highway-highway"
+                               //  Error 190 = "intersections without junctions"  (parent)
+                               var errorType = props.error_type;
+                               var errorTemplate = errorTypes[errorType];
+                               var parentErrorType = (Math.floor(errorType / 10) * 10).toString();
+
+                               // try to handle error type directly, fallback to parent error type.
+                               var whichType = errorTemplate ? errorType : parentErrorType;
+                               var whichTemplate = errorTypes[whichType];
+
+                               // Rewrite a few of the errors at this point..
+                               // This is done to make them easier to linkify and translate.
+                               switch (whichType) {
+                                   case '170':
+                                       props.description = 'This feature has a FIXME tag: ' + props.description;
+                                       break;
+                                   case '292':
+                                   case '293':
+                                       props.description = props.description.replace('A turn-', 'This turn-');
+                                       break;
+                                   case '294':
+                                   case '295':
+                                   case '296':
+                                   case '297':
+                                   case '298':
+                                       props.description = 'This turn-restriction~' + props.description;
+                                       break;
+                                   case '300':
+                                       props.description = 'This highway is missing a maxspeed tag';
+                                       break;
+                                   case '411':
+                                   case '412':
+                                   case '413':
+                                       props.description = 'This feature~' + props.description;
+                                       break;
+                               }
+
+                               // - move markers slightly so it doesn't obscure the geometry,
+                               // - then move markers away from other coincident markers
+                               var coincident = false;
+                               do {
+                                   // first time, move marker up. after that, move marker right.
+                                   var delta = coincident ? [0.00001, 0] : [0, 0.00001];
+                                   loc = geoVecAdd(loc, delta);
+                                   var bbox = geoExtent(loc).bbox();
+                                   coincident = _krCache.rtree.search(bbox).length;
+                               } while (coincident);
+
+                               var d = new qaError({
+                                   // Required values
+                                   loc: loc,
+                                   service: 'keepRight',
+                                   error_type: errorType,
+                                   // Extra values for this service
+                                   id: props.error_id,
+                                   comment: props.comment || null,
+                                   description: props.description || '',
+                                   error_id: props.error_id,
+                                   which_type: whichType,
+                                   parent_error_type: parentErrorType,
+                                   severity: whichTemplate.severity || 'error',
+                                   object_id: props.object_id,
+                                   object_type: props.object_type,
+                                   schema: props.schema,
+                                   title: props.title
+                               });
+
+                               d.replacements = tokenReplacements(d);
+
+                               _krCache.data[d.id] = d;
+                               _krCache.rtree.insert(encodeErrorRtree(d));
+                           });
+
+                           dispatch$1.call('loaded');
+                       })
+                       .catch(function() {
+                           delete _krCache.inflightTile[tile.id];
+                           _krCache.loadedTile[tile.id] = true;
+                       });
+
+               });
+           },
+
+
+           postKeepRightUpdate: function(d, callback) {
+               if (_krCache.inflightPost[d.id]) {
+                   return callback({ message: 'Error update already inflight', status: -2 }, d);
+               }
+
+               var that = this;
+               var params = { schema: d.schema, id: d.error_id };
+
+               if (d.state) {
+                   params.st = d.state;
+               }
+               if (d.newComment !== undefined) {
+                   params.co = d.newComment;
+               }
+
+               // NOTE: This throws a CORS err, but it seems successful.
+               // We don't care too much about the response, so this is fine.
+               var url = _krUrlRoot + 'comment.php?' + utilQsString(params);
+
+               var controller = new AbortController();
+               _krCache.inflightPost[d.id] = controller;
+
+               fetch(url, { method: 'POST', signal: controller.signal })
+                   .then(function(response) {
+                       delete _krCache.inflightPost[d.id];
+                       if (!response.ok) {
+                           throw new Error(response.status + ' ' + response.statusText);
+                       }
+
+                       if (d.state === 'ignore') {   // ignore permanently (false positive)
+                           that.removeError(d);
+
+                       } else if (d.state === 'ignore_t') {  // ignore temporarily (error fixed)
+                           that.removeError(d);
+                           _krCache.closed[d.schema + ':' + d.error_id] = true;
+
+                       } else {
+                           d = that.replaceError(d.update({
+                               comment: d.newComment,
+                               newComment: undefined,
+                               state: undefined
+                           }));
+                       }
+
+                       if (callback) callback(null, d);
+                   })
+                   .catch(function(err) {
+                       delete _krCache.inflightPost[d.id];
+                       if (callback) callback(err.message);
+                   });
+           },
+
+
+           // get all cached errors covering the viewport
+           getErrors: function(projection) {
+               var viewport = projection.clipExtent();
+               var min = [viewport[0][0], viewport[1][1]];
+               var max = [viewport[1][0], viewport[0][1]];
+               var bbox = geoExtent(projection.invert(min), projection.invert(max)).bbox();
+
+               return _krCache.rtree.search(bbox).map(function(d) {
+                   return d.data;
+               });
+           },
+
+
+           // get a single error from the cache
+           getError: function(id) {
+               return _krCache.data[id];
+           },
+
+
+           // replace a single error in the cache
+           replaceError: function(error) {
+               if (!(error instanceof qaError) || !error.id) return;
+
+               _krCache.data[error.id] = error;
+               updateRtree(encodeErrorRtree(error), true); // true = replace
+               return error;
+           },
+
+
+           // remove a single error from the cache
+           removeError: function(error) {
+               if (!(error instanceof qaError) || !error.id) return;
+
+               delete _krCache.data[error.id];
+               updateRtree(encodeErrorRtree(error), false); // false = remove
+           },
+
+
+           errorURL: function(error) {
+               return _krUrlRoot + 'report_map.php?schema=' + error.schema + '&error=' + error.id;
+           },
+
+
+           // Get an array of errors closed during this session.
+           // Used to populate `closed:keepright` changeset tag
+           getClosedIDs: function() {
+               return Object.keys(_krCache.closed).sort();
+           }
+
+       };
+
+       var tiler$1 = utilTiler();
+       var dispatch$2 = dispatch('loaded');
+
+       var _erCache;
+       var _erZoom = 14;
+
+       var _impOsmUrls = {
+           ow: 'https://directionofflow.skobbler.net/directionOfFlowService',
+           mr: 'https://missingroads.skobbler.net/missingGeoService',
+           tr: 'https://turnrestrictionservice.skobbler.net/turnRestrictionService'
+       };
+
+       function abortRequest$1(i) {
+           Object.values(i).forEach(function(controller) {
+               if (controller) {
+                   controller.abort();
+               }
+           });
+       }
+
+       function abortUnwantedRequests$1(cache, tiles) {
+           Object.keys(cache.inflightTile).forEach(function(k) {
+               var wanted = tiles.find(function(tile) { return k === tile.id; });
+               if (!wanted) {
+                   abortRequest$1(cache.inflightTile[k]);
+                   delete cache.inflightTile[k];
+               }
+           });
+       }
+
+
+       function encodeErrorRtree$1(d) {
+           return { minX: d.loc[0], minY: d.loc[1], maxX: d.loc[0], maxY: d.loc[1], data: d };
+       }
+
+
+       // replace or remove error from rtree
+       function updateRtree$1(item, replace) {
+           _erCache.rtree.remove(item, function isEql(a, b) {
+               return a.data.id === b.data.id;
+           });
+
+           if (replace) {
+               _erCache.rtree.insert(item);
+           }
+       }
+
+       function linkErrorObject(d) {
+           return '<a class="error_object_link">' + d + '</a>';
+       }
+
+       function linkEntity(d) {
+           return '<a class="error_entity_link">' + d + '</a>';
+       }
+
+       function pointAverage(points) {
+           if (points.length) {
+               var sum = points.reduce(function(acc, point) {
+                   return geoVecAdd(acc, [point.lon, point.lat]);
+               }, [0,0]);
+               return geoVecScale(sum, 1 / points.length);
+           } else {
+               return [0,0];
+           }
+       }
+
+       function relativeBearing(p1, p2) {
+           var angle = Math.atan2(p2.lon - p1.lon, p2.lat - p1.lat);
+           if (angle < 0) {
+               angle += 2 * Math.PI;
+           }
+
+           // Return degrees
+           return angle * 180 / Math.PI;
+       }
+
+       // Assuming range [0,360)
+       function cardinalDirection(bearing) {
+           var dir = 45 * Math.round(bearing / 45);
+           var compass = {
+               0: 'north',
+               45: 'northeast',
+               90: 'east',
+               135: 'southeast',
+               180: 'south',
+               225: 'southwest',
+               270: 'west',
+               315: 'northwest',
+               360: 'north'
+           };
+
+           return t('QA.improveOSM.directions.' + compass[dir]);
+       }
+
+       // Errors shouldn't obscure eachother
+       function preventCoincident(loc, bumpUp) {
+           var coincident = false;
+           do {
+               // first time, move marker up. after that, move marker right.
+               var delta = coincident ? [0.00001, 0] : (bumpUp ? [0, 0.00001] : [0, 0]);
+               loc = geoVecAdd(loc, delta);
+               var bbox = geoExtent(loc).bbox();
+               coincident = _erCache.rtree.search(bbox).length;
+           } while (coincident);
+
+           return loc;
+       }
+
+       var serviceImproveOSM = {
+           init: function() {
+               if (!_erCache) {
+                   this.reset();
+               }
+
+               this.event = utilRebind(this, dispatch$2, 'on');
+           },
+
+           reset: function() {
+               if (_erCache) {
+                   Object.values(_erCache.inflightTile).forEach(abortRequest$1);
+               }
+               _erCache = {
+                   data: {},
+                   loadedTile: {},
+                   inflightTile: {},
+                   inflightPost: {},
+                   closed: {},
+                   rtree: rbush_1()
+               };
+           },
+
+           loadErrors: function(projection) {
+               var options = {
+                   client: 'iD',
+                   status: 'OPEN',
+                   zoom: '19' // Use a high zoom so that clusters aren't returned
+               };
+
+               // determine the needed tiles to cover the view
+               var tiles = tiler$1
+                   .zoomExtent([_erZoom, _erZoom])
+                   .getTiles(projection);
+
+               // abort inflight requests that are no longer needed
+               abortUnwantedRequests$1(_erCache, tiles);
+
+               // issue new requests..
+               tiles.forEach(function(tile) {
+                   if (_erCache.loadedTile[tile.id] || _erCache.inflightTile[tile.id]) return;
+
+                   var rect = tile.extent.rectangle();
+                   var params = Object.assign({}, options, { east: rect[0], south: rect[3], west: rect[2], north: rect[1] });
+
+                   // 3 separate requests to store for each tile
+                   var requests = {};
+
+                   Object.keys(_impOsmUrls).forEach(function(k) {
+                       var v = _impOsmUrls[k];
+                       // We exclude WATER from missing geometry as it doesn't seem useful
+                       // We use most confident one-way and turn restrictions only, still have false positives
+                       var kParams = Object.assign({},
+                           params,
+                           (k === 'mr') ? { type: 'PARKING,ROAD,BOTH,PATH' } : { confidenceLevel: 'C1' }
+                       );
+                       var url = v + '/search?' + utilQsString(kParams);
+
+                       var controller = new AbortController();
+                       requests[k] = controller;
+
+                       d3_json(url, { signal: controller.signal })
+                           .then(function(data) {
+                               delete _erCache.inflightTile[tile.id][k];
+                               if (!Object.keys(_erCache.inflightTile[tile.id]).length) {
+                                   delete _erCache.inflightTile[tile.id];
+                                   _erCache.loadedTile[tile.id] = true;
+                               }
+
+                               // Road segments at high zoom == oneways
+                               if (data.roadSegments) {
+                                   data.roadSegments.forEach(function(feature) {
+                                       // Position error at the approximate middle of the segment
+                                       var points = feature.points;
+                                       var mid = points.length / 2;
+                                       var loc;
+
+                                       // Even number of points, find midpoint of the middle two
+                                       // Odd number of points, use position of very middle point
+                                       if (mid % 1 === 0) {
+                                           loc = pointAverage([points[mid - 1], points[mid]]);
+                                       } else {
+                                           mid = points[Math.floor(mid)];
+                                           loc = [mid.lon, mid.lat];
+                                       }
+
+                                       // One-ways can land on same segment in opposite direction
+                                       loc = preventCoincident(loc, false);
+
+                                       var d = new qaError({
+                                           // Info required for every error
+                                           loc: loc,
+                                           service: 'improveOSM',
+                                           error_type: k,
+                                           // Extra details needed for this service
+                                           error_key: k,
+                                           identifier: { // this is used to post changes to the error
+                                               wayId: feature.wayId,
+                                               fromNodeId: feature.fromNodeId,
+                                               toNodeId: feature.toNodeId
+                                           },
+                                           object_id: feature.wayId,
+                                           object_type: 'way',
+                                           status: feature.status
+                                       });
+
+                                       // Variables used in the description
+                                       d.replacements = {
+                                           percentage: feature.percentOfTrips,
+                                           num_trips: feature.numberOfTrips,
+                                           highway: linkErrorObject(t('QA.keepRight.error_parts.highway')),
+                                           from_node: linkEntity('n' + feature.fromNodeId),
+                                           to_node: linkEntity('n' + feature.toNodeId)
+                                       };
+
+                                       _erCache.data[d.id] = d;
+                                       _erCache.rtree.insert(encodeErrorRtree$1(d));
+                                   });
+                               }
+
+                               // Tiles at high zoom == missing roads
+                               if (data.tiles) {
+                                   data.tiles.forEach(function(feature) {
+                                       var geoType = feature.type.toLowerCase();
+
+                                       // Average of recorded points should land on the missing geometry
+                                       // Missing geometry could happen to land on another error
+                                       var loc = pointAverage(feature.points);
+                                       loc = preventCoincident(loc, false);
+
+                                       var d = new qaError({
+                                           // Info required for every error
+                                           loc: loc,
+                                           service: 'improveOSM',
+                                           error_type: k + '-' + geoType,
+                                           // Extra details needed for this service
+                                           error_key: k,
+                                           identifier: { x: feature.x, y: feature.y },
+                                           status: feature.status
+                                       });
+
+                                       d.replacements = {
+                                           num_trips: feature.numberOfTrips,
+                                           geometry_type: t('QA.improveOSM.geometry_types.' + geoType)
+                                       };
+
+                                       // -1 trips indicates data came from a 3rd party
+                                       if (feature.numberOfTrips === -1) {
+                                           d.desc = t('QA.improveOSM.error_types.mr.description_alt', d.replacements);
+                                       }
+
+                                       _erCache.data[d.id] = d;
+                                       _erCache.rtree.insert(encodeErrorRtree$1(d));
+                                   });
+                               }
+
+                               // Entities at high zoom == turn restrictions
+                               if (data.entities) {
+                                   data.entities.forEach(function(feature) {
+                                       // Turn restrictions could be missing at same junction
+                                       // We also want to bump the error up so node is accessible
+                                       var loc = feature.point;
+                                       loc = preventCoincident([loc.lon, loc.lat], true);
+
+                                       // Elements are presented in a strange way
+                                       var ids = feature.id.split(',');
+                                       var from_way = ids[0];
+                                       var via_node = ids[3];
+                                       var to_way = ids[2].split(':')[1];
+
+                                       var d = new qaError({
+                                           // Info required for every error
+                                           loc: loc,
+                                           service: 'improveOSM',
+                                           error_type: k,
+                                           // Extra details needed for this service
+                                           error_key: k,
+                                           identifier: feature.id,
+                                           object_id: via_node,
+                                           object_type: 'node',
+                                           status: feature.status
+                                       });
+
+                                       // Travel direction along from_way clarifies the turn restriction
+                                       var p1 = feature.segments[0].points[0];
+                                       var p2 = feature.segments[0].points[1];
+
+                                       var dir_of_travel = cardinalDirection(relativeBearing(p1, p2));
+
+                                       // Variables used in the description
+                                       d.replacements = {
+                                           num_passed: feature.numberOfPasses,
+                                           num_trips: feature.segments[0].numberOfTrips,
+                                           turn_restriction: feature.turnType.toLowerCase(),
+                                           from_way: linkEntity('w' + from_way),
+                                           to_way: linkEntity('w' + to_way),
+                                           travel_direction: dir_of_travel,
+                                           junction: linkErrorObject(t('QA.keepRight.error_parts.this_node'))
+                                       };
+
+                                       _erCache.data[d.id] = d;
+                                       _erCache.rtree.insert(encodeErrorRtree$1(d));
+                                       dispatch$2.call('loaded');
+                                   });
+                               }
+                           })
+                           .catch(function() {
+                               delete _erCache.inflightTile[tile.id][k];
+                               if (!Object.keys(_erCache.inflightTile[tile.id]).length) {
+                                   delete _erCache.inflightTile[tile.id];
+                                   _erCache.loadedTile[tile.id] = true;
+                               }
+                           });
+                   });
+
+                   _erCache.inflightTile[tile.id] = requests;
+               });
+           },
+
+           getComments: function(d, callback) {
+               // If comments already retrieved no need to do so again
+               if (d.comments !== undefined) {
+                   if (callback) callback({}, d);
+                   return;
+               }
+
+               var key = d.error_key;
+               var qParams = {};
+
+               if (key === 'ow') {
+                   qParams = d.identifier;
+               } else if (key === 'mr') {
+                   qParams.tileX = d.identifier.x;
+                   qParams.tileY = d.identifier.y;
+               } else if (key === 'tr') {
+                   qParams.targetId = d.identifier;
+               }
+
+               var url = _impOsmUrls[key] + '/retrieveComments?' + utilQsString(qParams);
+
+               var that = this;
+               d3_json(url)
+                   .then(function(data) {
+                       // comments are served newest to oldest
+                       var comments = data.comments ? data.comments.reverse() : [];
+                       that.replaceError(d.update({ comments: comments }));
+                       if (callback) callback(null, d);
+                   })
+                   .catch(function(err) {
+                       if (callback) callback(err.message);
+                   });
+           },
+
+           postUpdate: function(d, callback) {
+               if (!serviceOsm.authenticated()) { // Username required in payload
+                   return callback({ message: 'Not Authenticated', status: -3}, d);
+               }
+               if (_erCache.inflightPost[d.id]) {
+                   return callback({ message: 'Error update already inflight', status: -2 }, d);
+               }
+
+               var that = this;
+
+               // Payload can only be sent once username is established
+               serviceOsm.userDetails(sendPayload);
+
+               function sendPayload(err, user) {
+                   if (err) { return callback(err, d); }
+
+                   var key = d.error_key;
+                   var url = _impOsmUrls[key] + '/comment';
+                   var payload = {
+                       username: user.display_name
+                   };
+
+                   // Each error type has different data for identification
+                   if (key === 'ow') {
+                       payload.roadSegments = [ d.identifier ];
+                   } else if (key === 'mr') {
+                       payload.tiles = [ d.identifier ];
+                   } else if (key === 'tr') {
+                       payload.targetIds = [ d.identifier ];
+                   }
+
+                   if (d.newStatus !== undefined) {
+                       payload.status = d.newStatus;
+                       payload.text = 'status changed';
+                   }
+
+                   // Comment take place of default text
+                   if (d.newComment !== undefined) {
+                       payload.text = d.newComment;
+                   }
+
+                   var controller = new AbortController();
+                   _erCache.inflightPost[d.id] = controller;
+
+                   var options = {
+                       method: 'POST',
+                       signal: controller.signal,
+                       body: JSON.stringify(payload)
+                   };
+
+                    d3_json(url, options)
+                       .then(function() {
+                           delete _erCache.inflightPost[d.id];
+
+                           // Just a comment, update error in cache
+                           if (d.newStatus === undefined) {
+                               var now = new Date();
+                               var comments = d.comments ? d.comments : [];
+
+                               comments.push({
+                                   username: payload.username,
+                                   text: payload.text,
+                                   timestamp: now.getTime() / 1000
+                               });
+
+                               that.replaceError(d.update({
+                                   comments: comments,
+                                   newComment: undefined
+                               }));
+                           } else {
+                               that.removeError(d);
+                               if (d.newStatus === 'SOLVED') {
+                                   // No pretty identifier, so we just use coordinates
+                                   var closedID = d.loc[1].toFixed(5) + '/' + d.loc[0].toFixed(5);
+                                   _erCache.closed[key + ':' + closedID] = true;
+                               }
+                           }
+                           if (callback) callback(null, d);
+                       })
+                       .catch(function(err) {
+                           delete _erCache.inflightPost[d.id];
+                           if (callback) callback(err.message);
+                       });
+               }
+           },
+
+
+           // get all cached errors covering the viewport
+           getErrors: function(projection) {
+               var viewport = projection.clipExtent();
+               var min = [viewport[0][0], viewport[1][1]];
+               var max = [viewport[1][0], viewport[0][1]];
+               var bbox = geoExtent(projection.invert(min), projection.invert(max)).bbox();
+
+               return _erCache.rtree.search(bbox).map(function(d) {
+                   return d.data;
+               });
+           },
+
+           // get a single error from the cache
+           getError: function(id) {
+               return _erCache.data[id];
+           },
+
+           // replace a single error in the cache
+           replaceError: function(error) {
+               if (!(error instanceof qaError) || !error.id) return;
+
+               _erCache.data[error.id] = error;
+               updateRtree$1(encodeErrorRtree$1(error), true); // true = replace
+               return error;
+           },
+
+           // remove a single error from the cache
+           removeError: function(error) {
+               if (!(error instanceof qaError) || !error.id) return;
+
+               delete _erCache.data[error.id];
+               updateRtree$1(encodeErrorRtree$1(error), false); // false = remove
+           },
+
+           // Used to populate `closed:improveosm` changeset tag
+           getClosedIDs: function() {
+               return Object.keys(_erCache.closed).sort();
+           }
+       };
+
+       /*
+           A standalone SVG element that contains only a `defs` sub-element. To be
+           used once globally, since defs IDs must be unique within a document.
+       */
+       function svgDefs(context) {
+
+           function drawDefs(selection) {
+               var defs = selection.append('defs');
+
+               // add markers
+               defs
+                   .append('marker')
+                   .attr('id', 'oneway-marker')
+                   .attr('viewBox', '0 0 10 5')
+                   .attr('refX', 2.5)
+                   .attr('refY', 2.5)
+                   .attr('markerWidth', 2)
+                   .attr('markerHeight', 2)
+                   .attr('markerUnits', 'strokeWidth')
+                   .attr('orient', 'auto')
+                   .append('path')
+                   .attr('class', 'oneway-marker-path')
+                   .attr('d', 'M 5,3 L 0,3 L 0,2 L 5,2 L 5,0 L 10,2.5 L 5,5 z')
+                   .attr('stroke', 'none')
+                   .attr('fill', '#000')
+                   .attr('opacity', '0.75');
+
+               // SVG markers have to be given a colour where they're defined
+               // (they can't inherit it from the line they're attached to),
+               // so we need to manually define markers for each color of tag
+               // (also, it's slightly nicer if we can control the
+               // positioning for different tags)
+               function addSidedMarker(name, color, offset) {
+                   defs
+                       .append('marker')
+                       .attr('id', 'sided-marker-' + name)
+                       .attr('viewBox', '0 0 2 2')
+                       .attr('refX', 1)
+                       .attr('refY', -offset)
+                       .attr('markerWidth', 1.5)
+                       .attr('markerHeight', 1.5)
+                       .attr('markerUnits', 'strokeWidth')
+                       .attr('orient', 'auto')
+                       .append('path')
+                       .attr('class', 'sided-marker-path sided-marker-' + name + '-path')
+                       .attr('d', 'M 0,0 L 1,1 L 2,0 z')
+                       .attr('stroke', 'none')
+                       .attr('fill', color);
+               }
+               addSidedMarker('natural', 'rgb(140, 208, 95)', 0);
+               // for a coastline, the arrows are (somewhat unintuitively) on
+               // the water side, so let's color them blue (with a gap) to
+               // give a stronger indication
+               addSidedMarker('coastline', '#77dede', 1);
+               addSidedMarker('waterway', '#77dede', 1);
+               // barriers have a dashed line, and separating the triangle
+               // from the line visually suits that
+               addSidedMarker('barrier', '#ddd', 1);
+               addSidedMarker('man_made', '#fff', 0);
+
+               defs
+                   .append('marker')
+                   .attr('id', 'viewfield-marker')
+                   .attr('viewBox', '0 0 16 16')
+                   .attr('refX', 8)
+                   .attr('refY', 16)
+                   .attr('markerWidth', 4)
+                   .attr('markerHeight', 4)
+                   .attr('markerUnits', 'strokeWidth')
+                   .attr('orient', 'auto')
+                   .append('path')
+                   .attr('class', 'viewfield-marker-path')
+                   .attr('d', 'M 6,14 C 8,13.4 8,13.4 10,14 L 16,3 C 12,0 4,0 0,3 z')
+                   .attr('fill', '#333')
+                   .attr('fill-opacity', '0.75')
+                   .attr('stroke', '#fff')
+                   .attr('stroke-width', '0.5px')
+                   .attr('stroke-opacity', '0.75');
+
+               defs
+                   .append('marker')
+                   .attr('id', 'viewfield-marker-wireframe')
+                   .attr('viewBox', '0 0 16 16')
+                   .attr('refX', 8)
+                   .attr('refY', 16)
+                   .attr('markerWidth', 4)
+                   .attr('markerHeight', 4)
+                   .attr('markerUnits', 'strokeWidth')
+                   .attr('orient', 'auto')
+                   .append('path')
+                   .attr('class', 'viewfield-marker-path')
+                   .attr('d', 'M 6,14 C 8,13.4 8,13.4 10,14 L 16,3 C 12,0 4,0 0,3 z')
+                   .attr('fill', 'none')
+                   .attr('stroke', '#fff')
+                   .attr('stroke-width', '0.5px')
+                   .attr('stroke-opacity', '0.75');
+
+               // add patterns
+               var patterns = defs.selectAll('pattern')
+                   .data([
+                       // pattern name, pattern image name
+                       ['beach', 'dots'],
+                       ['construction', 'construction'],
+                       ['cemetery', 'cemetery'],
+                       ['cemetery_christian', 'cemetery_christian'],
+                       ['cemetery_buddhist', 'cemetery_buddhist'],
+                       ['cemetery_muslim', 'cemetery_muslim'],
+                       ['cemetery_jewish', 'cemetery_jewish'],
+                       ['farmland', 'farmland'],
+                       ['farmyard', 'farmyard'],
+                       ['forest', 'forest'],
+                       ['forest_broadleaved', 'forest_broadleaved'],
+                       ['forest_needleleaved', 'forest_needleleaved'],
+                       ['forest_leafless', 'forest_leafless'],
+                       ['grass', 'grass'],
+                       ['landfill', 'landfill'],
+                       ['meadow', 'grass'],
+                       ['orchard', 'orchard'],
+                       ['pond', 'pond'],
+                       ['quarry', 'quarry'],
+                       ['scrub', 'bushes'],
+                       ['vineyard', 'vineyard'],
+                       ['water_standing', 'lines'],
+                       ['waves', 'waves'],
+                       ['wetland', 'wetland'],
+                       ['wetland_marsh', 'wetland_marsh'],
+                       ['wetland_swamp', 'wetland_swamp'],
+                       ['wetland_bog', 'wetland_bog'],
+                       ['wetland_reedbed', 'wetland_reedbed']
+                   ])
+                   .enter()
+                   .append('pattern')
+                   .attr('id', function (d) { return 'pattern-' + d[0]; })
+                   .attr('width', 32)
+                   .attr('height', 32)
+                   .attr('patternUnits', 'userSpaceOnUse');
+
+               patterns
+                   .append('rect')
+                   .attr('x', 0)
+                   .attr('y', 0)
+                   .attr('width', 32)
+                   .attr('height', 32)
+                   .attr('class', function (d) { return 'pattern-color-' + d[0]; });
+
+               patterns
+                   .append('image')
+                   .attr('x', 0)
+                   .attr('y', 0)
+                   .attr('width', 32)
+                   .attr('height', 32)
+                   .attr('xlink:href', function (d) {
+                       return context.imagePath('pattern/' + d[1] + '.png');
+                   });
+
+               // add clip paths
+               defs.selectAll('clipPath')
+                   .data([12, 18, 20, 32, 45])
+                   .enter()
+                   .append('clipPath')
+                   .attr('id', function (d) { return 'clip-square-' + d; })
+                   .append('rect')
+                   .attr('x', 0)
+                   .attr('y', 0)
+                   .attr('width', function (d) { return d; })
+                   .attr('height', function (d) { return d; });
+
+               // add symbol spritesheets
+               defs
+                   .call(drawDefs.addSprites, [
+                       'iD-sprite', 'maki-sprite', 'temaki-sprite', 'fa-sprite', 'tnp-sprite', 'community-sprite'
+                   ], true);
+           }
+
+
+           drawDefs.addSprites = function(selection, ids, overrideColors) {
+               var spritesheets = selection.selectAll('.spritesheet');
+               var currData = spritesheets.data();
+               var data = utilArrayUniq(currData.concat(ids));
+
+               spritesheets
+                   .data(data)
+                   .enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'spritesheet spritesheet-' + d; })
+                   .each(function(d) {
+                       var url = context.imagePath(d + '.svg');
+                       var node = d3_select(this).node();
+
+                       svg(url)
+                           .then(function(svg) {
+                               node.appendChild(
+                                   d3_select(svg.documentElement).attr('id', d).node()
+                               );
+                               if (overrideColors && d !== 'iD-sprite') {   // allow icon colors to be overridden..
+                                   d3_select(node).selectAll('path')
+                                       .attr('fill', 'currentColor');
+                               }
+                           })
+                           .catch(function() {
+                               /* ignore */
+                           });
+                   });
+           };
+
+
+           return drawDefs;
+       }
+
+       /* global Mapillary:false */
+
+
+       var apibase = 'https://a.mapillary.com/v3/';
+       var viewercss = 'mapillary-js/mapillary.min.css';
+       var viewerjs = 'mapillary-js/mapillary.min.js';
+       var clientId = 'NzNRM2otQkR2SHJzaXJmNmdQWVQ0dzo1ZWYyMmYwNjdmNDdlNmVi';
+       var maxResults = 1000;
+       var tileZoom = 14;
+       var tiler$2 = utilTiler().zoomExtent([tileZoom, tileZoom]).skipNullIsland(true);
+       var dispatch$3 = dispatch('loadedImages', 'loadedSigns', 'bearingChanged');
+       var _mlyFallback = false;
+       var _mlyCache;
+       var _mlyClicks;
+       var _mlySelectedImage;
+       var _mlyViewer;
+
+
+       function abortRequest$2(controller) {
+           controller.abort();
+       }
+
+
+       function maxPageAtZoom(z) {
+           if (z < 15)   return 2;
+           if (z === 15) return 5;
+           if (z === 16) return 10;
+           if (z === 17) return 20;
+           if (z === 18) return 40;
+           if (z > 18)   return 80;
+       }
+
+
+       function loadTiles(which, url, projection) {
+           var currZoom = Math.floor(geoScaleToZoom(projection.scale()));
+           var tiles = tiler$2.getTiles(projection);
+
+           // abort inflight requests that are no longer needed
+           var cache = _mlyCache[which];
+           Object.keys(cache.inflight).forEach(function(k) {
+               var wanted = tiles.find(function(tile) { return k.indexOf(tile.id + ',') === 0; });
+               if (!wanted) {
+                   abortRequest$2(cache.inflight[k]);
+                   delete cache.inflight[k];
+               }
+           });
+
+           tiles.forEach(function(tile) {
+               loadNextTilePage(which, currZoom, url, tile);
+           });
+       }
+
+
+       function loadNextTilePage(which, currZoom, url, tile) {
+           var cache = _mlyCache[which];
+           var rect = tile.extent.rectangle();
+           var maxPages = maxPageAtZoom(currZoom);
+           var nextPage = cache.nextPage[tile.id] || 0;
+           var nextURL = cache.nextURL[tile.id] || url +
+               utilQsString({
+                   per_page: maxResults,
+                   page: nextPage,
+                   client_id: clientId,
+                   bbox: [rect[0], rect[1], rect[2], rect[3]].join(','),
+               });
+
+           if (nextPage > maxPages) return;
+
+           var id = tile.id + ',' + String(nextPage);
+           if (cache.loaded[id] || cache.inflight[id]) return;
+
+           var controller = new AbortController();
+           cache.inflight[id] = controller;
+
+           var options = {
+               method: 'GET',
+               signal: controller.signal,
+               headers: { 'Content-Type': 'application/json' }
+           };
+
+           fetch(nextURL, options)
+               .then(function(response) {
+                   if (!response.ok) {
+                       throw new Error(response.status + ' ' + response.statusText);
+                   }
+                   var linkHeader = response.headers.get('Link');
+                   if (linkHeader) {
+                       var pagination = parsePagination(linkHeader);
+                       if (pagination.next) {
+                           cache.nextURL[tile.id] = pagination.next;
+                       }
+                   }
+                   return response.json();
+               })
+               .then(function(data) {
+                   cache.loaded[id] = true;
+                   delete cache.inflight[id];
+                   if (!data || !data.features || !data.features.length) {
+                       throw new Error('No Data');
+                   }
+
+                   var features = data.features.map(function(feature) {
+                       var loc = feature.geometry.coordinates;
+                       var d;
+
+                       // An image (shown as a green dot on the map) is a single street photo with extra
+                       // information such as location, camera angle (CA), camera model, and so on.
+                       // Each image feature is a GeoJSON Point
+                       if (which === 'images') {
+                           d = {
+                               loc: loc,
+                               key: feature.properties.key,
+                               ca: feature.properties.ca,
+                               captured_at: feature.properties.captured_at,
+                               captured_by: feature.properties.username,
+                               pano: feature.properties.pano
+                           };
+
+                           cache.forImageKey[d.key] = d;     // cache imageKey -> image
+
+                       // Mapillary organizes images as sequences. A sequence of images are continuously captured
+                       // by a user at a give time. Sequences are shown on the map as green lines.
+                       // Each sequence feature is a GeoJSON LineString
+                       } else if (which === 'sequences') {
+                           var sequenceKey = feature.properties.key;
+                           cache.lineString[sequenceKey] = feature;           // cache sequenceKey -> lineString
+                           feature.properties.coordinateProperties.image_keys.forEach(function(imageKey) {
+                               cache.forImageKey[imageKey] = sequenceKey;     // cache imageKey -> sequenceKey
+                           });
+                           return false;    // because no `d` data worth loading into an rbush
+
+                       // An image detection is a semantic pixel area on an image. The area could indicate
+                       // sky, trees, sidewalk in the image. A detection can be a polygon, a bounding box, or a point.
+                       // Each image_detection feature is a GeoJSON Point (located where the image was taken)
+                       } else if (which === 'image_detections') {
+                           d = {
+                               key: feature.properties.key,
+                               image_key: feature.properties.image_key,
+                               value: feature.properties.value,
+                               package: feature.properties.package,
+                               shape: feature.properties.shape
+                           };
+
+                           // cache imageKey -> image_detections
+                           if (!cache.forImageKey[d.image_key]) {
+                               cache.forImageKey[d.image_key] = [];
+                           }
+                           cache.forImageKey[d.image_key].push(d);
+                           return false;    // because no `d` data worth loading into an rbush
+
+
+                       // A map feature is a real world object that can be shown on a map. It could be any object
+                       // recognized from images, manually added in images, or added on the map.
+                       // Each map feature is a GeoJSON Point (located where the feature is)
+                       } else if (which === 'map_features') {
+                           d = {
+                               loc: loc,
+                               key: feature.properties.key,
+                               value: feature.properties.value,
+                               package: feature.properties.package,
+                               detections: feature.properties.detections
+                           };
+                       }
+
+                       return {
+                           minX: loc[0], minY: loc[1], maxX: loc[0], maxY: loc[1], data: d
+                       };
+
+                   }).filter(Boolean);
+
+                   if (cache.rtree && features) {
+                       cache.rtree.load(features);
+                   }
+
+                   if (data.features.length === maxResults) {  // more pages to load
+                       cache.nextPage[tile.id] = nextPage + 1;
+                       loadNextTilePage(which, currZoom, url, tile);
+                   } else {
+                       cache.nextPage[tile.id] = Infinity;     // no more pages to load
+                   }
+
+                   if (which === 'images' || which === 'sequences') {
+                       dispatch$3.call('loadedImages');
+                   } else if (which === 'map_features') {
+                       dispatch$3.call('loadedSigns');
+                   }
+               })
+               .catch(function() {
+                   cache.loaded[id] = true;
+                   delete cache.inflight[id];
+               });
+       }
+
+       // extract links to pages of API results
+       function parsePagination(links) {
+           return links.split(',').map(function(rel) {
+               var elements = rel.split(';');
+               if (elements.length === 2) {
+                   return [
+                       /<(.+)>/.exec(elements[0])[1],
+                       /rel="(.+)"/.exec(elements[1])[1]
+                   ];
+               } else {
+                   return ['',''];
+               }
+           }).reduce(function(pagination, val) {
+               pagination[val[1]] = val[0];
+               return pagination;
+           }, {});
+       }
+
+
+       // partition viewport into higher zoom tiles
+       function partitionViewport(projection) {
+           var z = geoScaleToZoom(projection.scale());
+           var z2 = (Math.ceil(z * 2) / 2) + 2.5;   // round to next 0.5 and add 2.5
+           var tiler = utilTiler().zoomExtent([z2, z2]);
+
+           return tiler.getTiles(projection)
+               .map(function(tile) { return tile.extent; });
+       }
+
+
+       // no more than `limit` results per partition.
+       function searchLimited(limit, projection, rtree) {
+           limit = limit || 5;
+
+           return partitionViewport(projection)
+               .reduce(function(result, extent) {
+                   var found = rtree.search(extent.bbox())
+                       .slice(0, limit)
+                       .map(function(d) { return d.data; });
+
+                   return (found.length ? result.concat(found) : result);
+               }, []);
+       }
+
+
+
+       var serviceMapillary = {
+
+           init: function() {
+               if (!_mlyCache) {
+                   this.reset();
+               }
+
+               this.event = utilRebind(this, dispatch$3, 'on');
+           },
+
+           reset: function() {
+               if (_mlyCache) {
+                   Object.values(_mlyCache.images.inflight).forEach(abortRequest$2);
+                   Object.values(_mlyCache.image_detections.inflight).forEach(abortRequest$2);
+                   Object.values(_mlyCache.map_features.inflight).forEach(abortRequest$2);
+                   Object.values(_mlyCache.sequences.inflight).forEach(abortRequest$2);
+               }
+
+               _mlyCache = {
+                   images: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, rtree: rbush_1(), forImageKey: {} },
+                   image_detections: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, forImageKey: {} },
+                   map_features: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, rtree: rbush_1() },
+                   sequences: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, rtree: rbush_1(), forImageKey: {}, lineString: {} }
+               };
+
+               _mlySelectedImage = null;
+               _mlyClicks = [];
+           },
+
+
+           images: function(projection) {
+               var limit = 5;
+               return searchLimited(limit, projection, _mlyCache.images.rtree);
+           },
+
+
+           signs: function(projection) {
+               var limit = 5;
+               return searchLimited(limit, projection, _mlyCache.map_features.rtree);
+           },
+
+
+           cachedImage: function(imageKey) {
+               return _mlyCache.images.forImageKey[imageKey];
+           },
+
+
+           sequences: function(projection) {
+               var viewport = projection.clipExtent();
+               var min = [viewport[0][0], viewport[1][1]];
+               var max = [viewport[1][0], viewport[0][1]];
+               var bbox = geoExtent(projection.invert(min), projection.invert(max)).bbox();
+               var sequenceKeys = {};
+
+               // all sequences for images in viewport
+               _mlyCache.images.rtree.search(bbox)
+                   .forEach(function(d) {
+                       var sequenceKey = _mlyCache.sequences.forImageKey[d.data.key];
+                       if (sequenceKey) {
+                           sequenceKeys[sequenceKey] = true;
+                       }
+                   });
+
+               // Return lineStrings for the sequences
+               return Object.keys(sequenceKeys).map(function(sequenceKey) {
+                   return _mlyCache.sequences.lineString[sequenceKey];
+               });
+           },
+
+
+           signsSupported: function() {
+               return true;
+           },
+
+
+           loadImages: function(projection) {
+               loadTiles('images', apibase + 'images?', projection);
+               loadTiles('sequences', apibase + 'sequences?', projection);
+           },
+
+
+           loadSigns: function(projection) {
+               // if we are looking at signs, we'll actually need to fetch images too
+               loadTiles('images', apibase + 'images?', projection);
+               loadTiles('map_features', apibase + 'map_features?layers=trafficsigns&min_nbr_image_detections=1&', projection);
+               loadTiles('image_detections', apibase + 'image_detections?layers=trafficsigns&', projection);
+           },
+
+
+           loadViewer: function(context) {
+               // add mly-wrapper
+               var wrap = d3_select('#photoviewer').selectAll('.mly-wrapper')
+                   .data([0]);
+
+               wrap.enter()
+                   .append('div')
+                   .attr('id', 'mly')
+                   .attr('class', 'photo-wrapper mly-wrapper')
+                   .classed('hide', true);
+
+               // load mapillary-viewercss
+               d3_select('head').selectAll('#mapillary-viewercss')
+                   .data([0])
+                   .enter()
+                   .append('link')
+                   .attr('id', 'mapillary-viewercss')
+                   .attr('rel', 'stylesheet')
+                   .attr('href', context.asset(viewercss));
+
+               // load mapillary-viewerjs
+               d3_select('head').selectAll('#mapillary-viewerjs')
+                   .data([0])
+                   .enter()
+                   .append('script')
+                   .attr('id', 'mapillary-viewerjs')
+                   .attr('src', context.asset(viewerjs));
+
+               // load mapillary signs sprite
+               var defs = context.container().select('defs');
+               defs.call(svgDefs(context).addSprites, ['mapillary-sprite'], false /* don't override colors */ );
+
+               // Register viewer resize handler
+               context.ui().photoviewer.on('resize', function() {
+                   if (_mlyViewer) {
+                       _mlyViewer.resize();
+                   }
+               });
+           },
+
+
+           showViewer: function() {
+               var wrap = d3_select('#photoviewer')
+                   .classed('hide', false);
+
+               var isHidden = wrap.selectAll('.photo-wrapper.mly-wrapper.hide').size();
+
+               if (isHidden && _mlyViewer) {
+                   wrap
+                       .selectAll('.photo-wrapper:not(.mly-wrapper)')
+                       .classed('hide', true);
+
+                   wrap
+                       .selectAll('.photo-wrapper.mly-wrapper')
+                       .classed('hide', false);
+
+                   _mlyViewer.resize();
+               }
+
+               return this;
+           },
+
+
+           hideViewer: function() {
+               _mlySelectedImage = null;
+
+               if (!_mlyFallback && _mlyViewer) {
+                   _mlyViewer.getComponent('sequence').stop();
+               }
+
+               var viewer = d3_select('#photoviewer');
+               if (!viewer.empty()) viewer.datum(null);
+
+               viewer
+                   .classed('hide', true)
+                   .selectAll('.photo-wrapper')
+                   .classed('hide', true);
+
+               d3_selectAll('.viewfield-group, .sequence, .icon-sign')
+                   .classed('currentView', false);
+
+               return this.setStyles(null, true);
+           },
+
+
+           parsePagination: parsePagination,
+
+
+           updateViewer: function(imageKey, context) {
+               if (!imageKey) return this;
+
+               if (!_mlyViewer) {
+                   this.initViewer(imageKey, context);
+               } else {
+                   _mlyViewer.moveToKey(imageKey)
+                       .catch(function(e) { console.error('mly3', e); });  // eslint-disable-line no-console
+               }
+
+               return this;
+           },
+
+
+           initViewer: function(imageKey, context) {
+               var that = this;
+               if (window.Mapillary && imageKey) {
+                   var opts = {
+                       baseImageSize: 320,
+                       component: {
+                           cover: false,
+                           keyboard: false,
+                           tag: true
+                       }
+                   };
+
+                   // Disable components requiring WebGL support
+                   if (!Mapillary.isSupported() && Mapillary.isFallbackSupported()) {
+                       _mlyFallback = true;
+                       opts.component = {
+                           cover: false,
+                           direction: false,
+                           imagePlane: false,
+                           keyboard: false,
+                           mouse: false,
+                           sequence: false,
+                           tag: false,
+                           image: true,        // fallback
+                           navigation: true    // fallback
+                       };
+                   }
+
+                   _mlyViewer = new Mapillary.Viewer('mly', clientId, null, opts);
+                   _mlyViewer.on('nodechanged', nodeChanged);
+                   _mlyViewer.on('bearingchanged', bearingChanged);
+                   _mlyViewer.moveToKey(imageKey)
+                       .catch(function(e) { console.error('mly3', e); });  // eslint-disable-line no-console
+               }
+
+               // nodeChanged: called after the viewer has changed images and is ready.
+               //
+               // There is some logic here to batch up clicks into a _mlyClicks array
+               // because the user might click on a lot of markers quickly and nodechanged
+               // may be called out of order asychronously.
+               //
+               // Clicks are added to the array in `selectedImage` and removed here.
+               //
+               function nodeChanged(node) {
+                   if (!_mlyFallback) {
+                       _mlyViewer.getComponent('tag').removeAll();  // remove previous detections
+                   }
+
+                   var clicks = _mlyClicks;
+                   var index = clicks.indexOf(node.key);
+                   var selectedKey = _mlySelectedImage && _mlySelectedImage.key;
+
+                   if (index > -1) {              // `nodechanged` initiated from clicking on a marker..
+                       clicks.splice(index, 1);   // remove the click
+                       // If `node.key` matches the current _mlySelectedImage, call `selectImage()`
+                       // one more time to update the detections and attribution..
+                       if (node.key === selectedKey) {
+                           that.selectImage(_mlySelectedImage, node.key, true);
+                       }
+                   } else {             // `nodechanged` initiated from the Mapillary viewer controls..
+                       var loc = node.computedLatLon ? [node.computedLatLon.lon, node.computedLatLon.lat] : [node.latLon.lon, node.latLon.lat];
+                       context.map().centerEase(loc);
+                       that.selectImage(undefined, node.key, true);
+                   }
+               }
+
+               function bearingChanged(e) {
+                   dispatch$3.call('bearingChanged', undefined, e);
+               }
+           },
+
+
+           // Pass the image datum itself in `d` or the `imageKey` string.
+           // This allows images to be selected from places that dont have access
+           // to the full image datum (like the street signs layer or the js viewer)
+           selectImage: function(d, imageKey, fromViewer) {
+               if (!d && imageKey) {
+                   // If the user clicked on something that's not an image marker, we
+                   // might get in here.. Cache lookup can fail, e.g. if the user
+                   // clicked a streetsign, but images are loading slowly asynchronously.
+                   // We'll try to carry on anyway if there is no datum.  There just
+                   // might be a delay before user sees detections, captured_at, etc.
+                   d = _mlyCache.images.forImageKey[imageKey];
+               }
+
+               _mlySelectedImage = d;
+               var viewer = d3_select('#photoviewer');
+               if (!viewer.empty()) viewer.datum(d);
+
+               imageKey = (d && d.key) || imageKey;
+               if (!fromViewer && imageKey) {
+                   _mlyClicks.push(imageKey);
+               }
+
+               this.setStyles(null, true);
+
+               // if signs signs are shown, highlight the ones that appear in this image
+               d3_selectAll('.layer-mapillary-signs .icon-sign')
+                   .classed('currentView', function(d) {
+                       return d.detections.some(function(detection) {
+                           return detection.image_key === imageKey;
+                       });
+                   });
+
+               if (d) {
+                   this.updateDetections(d);
+               }
+
+               return this;
+           },
+
+
+           getSelectedImage: function() {
+               return _mlySelectedImage;
+           },
+
+
+           getSequenceKeyForImage: function(d) {
+               var imageKey = d && d.key;
+               return imageKey && _mlyCache.sequences.forImageKey[imageKey];
+           },
+
+
+           // Updates the currently highlighted sequence and selected bubble.
+           // Reset is only necessary when interacting with the viewport because
+           // this implicitly changes the currently selected bubble/sequence
+           setStyles: function(hovered, reset) {
+               if (reset) {  // reset all layers
+                   d3_selectAll('.viewfield-group')
+                       .classed('highlighted', false)
+                       .classed('hovered', false)
+                       .classed('currentView', false);
+
+                   d3_selectAll('.sequence')
+                       .classed('highlighted', false)
+                       .classed('currentView', false);
+               }
+
+               var hoveredImageKey = hovered && hovered.key;
+               var hoveredSequenceKey = this.getSequenceKeyForImage(hovered);
+               var hoveredLineString = hoveredSequenceKey && _mlyCache.sequences.lineString[hoveredSequenceKey];
+               var hoveredImageKeys = (hoveredLineString && hoveredLineString.properties.coordinateProperties.image_keys) || [];
+
+               var viewer = d3_select('#photoviewer');
+               var selected = viewer.empty() ? undefined : viewer.datum();
+               var selectedImageKey = selected && selected.key;
+               var selectedSequenceKey = this.getSequenceKeyForImage(selected);
+               var selectedLineString = selectedSequenceKey && _mlyCache.sequences.lineString[selectedSequenceKey];
+               var selectedImageKeys = (selectedLineString && selectedLineString.properties.coordinateProperties.image_keys) || [];
+
+               // highlight sibling viewfields on either the selected or the hovered sequences
+               var highlightedImageKeys = utilArrayUnion(hoveredImageKeys, selectedImageKeys);
+
+               d3_selectAll('.layer-mapillary .viewfield-group')
+                   .classed('highlighted', function(d) { return highlightedImageKeys.indexOf(d.key) !== -1; })
+                   .classed('hovered', function(d) { return d.key === hoveredImageKey; })
+                   .classed('currentView', function(d) { return d.key === selectedImageKey; });
+
+               d3_selectAll('.layer-mapillary .sequence')
+                   .classed('highlighted', function(d) { return d.properties.key === hoveredSequenceKey; })
+                   .classed('currentView', function(d) { return d.properties.key === selectedSequenceKey; });
+
+               // update viewfields if needed
+               d3_selectAll('.viewfield-group .viewfield')
+                   .attr('d', viewfieldPath);
+
+               function viewfieldPath() {
+                   var d = this.parentNode.__data__;
+                   if (d.pano && d.key !== selectedImageKey) {
+                       return 'M 8,13 m -10,0 a 10,10 0 1,0 20,0 a 10,10 0 1,0 -20,0';
+                   } else {
+                       return 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z';
+                   }
+               }
+
+               return this;
+           },
+
+
+           updateDetections: function(d) {
+               if (!_mlyViewer || _mlyFallback) return;
+
+               var imageKey = d && d.key;
+               if (!imageKey) return;
+
+               var detections = _mlyCache.image_detections.forImageKey[imageKey] || [];
+               detections.forEach(function(data) {
+                   var tag = makeTag(data);
+                   if (tag) {
+                       var tagComponent = _mlyViewer.getComponent('tag');
+                       tagComponent.add([tag]);
+                   }
+               });
+
+               function makeTag(data) {
+                   var valueParts = data.value.split('--');
+                   if (valueParts.length !== 3) return;
+
+                   var text = valueParts[1].replace(/-/g, ' ');
+                   var tag;
+
+                   // Currently only two shapes <Polygon|Point>
+                   if (data.shape.type === 'Polygon') {
+                       var polygonGeometry = new Mapillary
+                           .TagComponent
+                           .PolygonGeometry(data.shape.coordinates[0]);
+
+                       tag = new Mapillary.TagComponent.OutlineTag(
+                           data.key,
+                           polygonGeometry,
+                           {
+                               text: text,
+                               textColor: 0xffff00,
+                               lineColor: 0xffff00,
+                               lineWidth: 2,
+                               fillColor: 0xffff00,
+                               fillOpacity: 0.3,
+                           }
+                       );
+
+                   } else if (data.shape.type === 'Point') {
+                       var pointGeometry = new Mapillary
+                           .TagComponent
+                           .PointGeometry(data.shape.coordinates[0]);
+
+                       tag = new Mapillary.TagComponent.SpotTag(
+                           data.key,
+                           pointGeometry,
+                           {
+                               text: text,
+                               color: 0xffff00,
+                               textColor: 0xffff00
+                           }
+                       );
+                   }
+
+                   return tag;
+               }
+           },
+
+
+           cache: function() {
+               return _mlyCache;
+           }
+
+       };
+
+       function validationIssue(attrs) {
+           this.type = attrs.type;                // required - name of rule that created the issue (e.g. 'missing_tag')
+           this.subtype = attrs.subtype;          // optional - category of the issue within the type (e.g. 'relation_type' under 'missing_tag')
+           this.severity = attrs.severity;        // required - 'warning' or 'error'
+           this.message = attrs.message;          // required - function returning localized string
+           this.reference = attrs.reference;      // optional - function(selection) to render reference information
+           this.entityIds = attrs.entityIds;      // optional - array of IDs of entities involved in the issue
+           this.loc = attrs.loc;                  // optional - [lon, lat] to zoom in on to see the issue
+           this.data = attrs.data;                // optional - object containing extra data for the fixes
+           this.fixes = attrs.fixes || [];              // optional - array of validationIssueFix objects
+           this.hash = attrs.hash;                // optional - string to further differentiate the issue
+
+           this.id = generateID.apply(this);      // generated - see below
+           this.autoFix = null;                   // generated - if autofix exists, will be set below
+
+           // A unique, deterministic string hash.
+           // Issues with identical id values are considered identical.
+           function generateID() {
+               var parts = [this.type];
+
+               if (this.hash) {   // subclasses can pass in their own differentiator
+                   parts.push(this.hash);
+               }
+
+               if (this.subtype) {
+                   parts.push(this.subtype);
+               }
+
+               // include the entities this issue is for
+               // (sort them so the id is deterministic)
+               if (this.entityIds) {
+                   var entityKeys = this.entityIds.slice().sort();
+                   parts.push.apply(parts, entityKeys);
+               }
+
+               return parts.join(':');
+           }
+
+           this.extent = function(resolver) {
+               if (this.loc) {
+                   return geoExtent(this.loc);
+               }
+               if (this.entityIds && this.entityIds.length) {
+                   return this.entityIds.reduce(function(extent, entityId) {
+                       return extent.extend(resolver.entity(entityId).extent(resolver));
+                   }, geoExtent());
+               }
+               return null;
+           };
+
+
+           if (this.fixes) {   // add a reference in the fixes to the issue for use in fix actions
+               for (var i = 0; i < this.fixes.length; i++) {
+                   var fix = this.fixes[i];
+                   fix.issue = this;
+                   if (fix.autoArgs) {
+                       this.autoFix = fix;
+                   }
+               }
+           }
+       }
+
+
+       function validationIssueFix(attrs) {
+           this.title = attrs.title;                 // Required
+           this.onClick = attrs.onClick;             // Required
+           this.icon = attrs.icon;                   // Optional - shows 'iD-icon-wrench' if not set
+           this.entityIds = attrs.entityIds || [];   // Optional - Used for hover-higlighting.
+           this.autoArgs = attrs.autoArgs;           // Optional - pass [actions, annotation] arglist if this fix can automatically run
+
+           this.issue = null;    // Generated link - added by ValidationIssue constructor
+       }
+
+       var buildRuleChecks = function() {
+           return {
+               equals: function (equals) {
+                   return function(tags) {
+                       return Object.keys(equals).every(function(k) {
+                           return equals[k] === tags[k];
+                       });
+                   };
+               },
+               notEquals: function (notEquals) {
+                   return function(tags) {
+                       return Object.keys(notEquals).some(function(k) {
+                           return notEquals[k] !== tags[k];
+                       });
+                   };
+               },
+               absence: function(absence) {
+                   return function(tags) {
+                       return Object.keys(tags).indexOf(absence) === -1;
+                   };
+               },
+               presence: function(presence) {
+                   return function(tags) {
+                       return Object.keys(tags).indexOf(presence) > -1;
+                   };
+               },
+               greaterThan: function(greaterThan) {
+                   var key = Object.keys(greaterThan)[0];
+                   var value = greaterThan[key];
+
+                   return function(tags) {
+                       return tags[key] > value;
+                   };
+               },
+               greaterThanEqual: function(greaterThanEqual) {
+                   var key = Object.keys(greaterThanEqual)[0];
+                   var value = greaterThanEqual[key];
+
+                   return function(tags) {
+                       return tags[key] >= value;
+                   };
+               },
+               lessThan: function(lessThan) {
+                   var key = Object.keys(lessThan)[0];
+                   var value = lessThan[key];
+
+                   return function(tags) {
+                       return tags[key] < value;
+                   };
+               },
+               lessThanEqual: function(lessThanEqual) {
+                   var key = Object.keys(lessThanEqual)[0];
+                   var value = lessThanEqual[key];
+
+                   return function(tags) {
+                       return tags[key] <= value;
+                   };
+               },
+               positiveRegex: function(positiveRegex) {
+                   var tagKey = Object.keys(positiveRegex)[0];
+                   var expression = positiveRegex[tagKey].join('|');
+                   var regex = new RegExp(expression);
+
+                   return function(tags) {
+                       return regex.test(tags[tagKey]);
+                   };
+               },
+               negativeRegex: function(negativeRegex) {
+                   var tagKey = Object.keys(negativeRegex)[0];
+                   var expression = negativeRegex[tagKey].join('|');
+                   var regex = new RegExp(expression);
+
+                   return function(tags) {
+                       return !regex.test(tags[tagKey]);
+                   };
+               }
+           };
+       };
+
+       var buildLineKeys = function() {
+           return {
+               highway: {
+                   rest_area: true,
+                   services: true
+               },
+               railway: {
+                   roundhouse: true,
+                   station: true,
+                   traverser: true,
+                   turntable: true,
+                   wash: true
+               }
+           };
+       };
+
+       var serviceMapRules = {
+           init: function() {
+               this._ruleChecks  = buildRuleChecks();
+               this._validationRules = [];
+               this._areaKeys = osmAreaKeys;
+               this._lineKeys = buildLineKeys();
+           },
+
+           // list of rules only relevant to tag checks...
+           filterRuleChecks: function(selector) {
+               var _ruleChecks = this._ruleChecks;
+               return Object.keys(selector).reduce(function(rules, key) {
+                   if (['geometry', 'error', 'warning'].indexOf(key) === -1) {
+                       rules.push(_ruleChecks[key](selector[key]));
+                   }
+                   return rules;
+               }, []);
+           },
+
+           // builds tagMap from mapcss-parse selector object...
+           buildTagMap: function(selector) {
+               var getRegexValues = function(regexes) {
+                   return regexes.map(function(regex) {
+                       return regex.replace(/\$|\^/g, '');
+                   });
+               };
+
+               var tagMap = Object.keys(selector).reduce(function (expectedTags, key) {
+                   var values;
+                   var isRegex = /regex/gi.test(key);
+                   var isEqual = /equals/gi.test(key);
+
+                   if (isRegex || isEqual) {
+                       Object.keys(selector[key]).forEach(function(selectorKey) {
+                           values = isEqual ? [selector[key][selectorKey]] : getRegexValues(selector[key][selectorKey]);
+
+                           if (expectedTags.hasOwnProperty(selectorKey)) {
+                               values = values.concat(expectedTags[selectorKey]);
+                           }
+
+                           expectedTags[selectorKey] = values;
+                       });
+
+                   } else if (/(greater|less)Than(Equal)?|presence/g.test(key)) {
+                       var tagKey = /presence/.test(key) ? selector[key] : Object.keys(selector[key])[0];
+
+                       values = [selector[key][tagKey]];
+
+                       if (expectedTags.hasOwnProperty(tagKey)) {
+                           values = values.concat(expectedTags[tagKey]);
+                       }
+
+                       expectedTags[tagKey] = values;
+                   }
+
+                   return expectedTags;
+               }, {});
+
+               return tagMap;
+           },
+
+           // inspired by osmWay#isArea()
+           inferGeometry: function(tagMap) {
+               var _lineKeys = this._lineKeys;
+               var _areaKeys = this._areaKeys;
+
+               var isAreaKeyBlackList = function(key) {
+                   return utilArrayIntersection(tagMap[key], Object.keys(_areaKeys[key])).length > 0;
+               };
+               var isLineKeysWhiteList = function(key) {
+                   return utilArrayIntersection(tagMap[key], Object.keys(_lineKeys[key])).length > 0;
+               };
+
+               if (tagMap.hasOwnProperty('area')) {
+                   if (tagMap.area.indexOf('yes') > -1) {
+                       return 'area';
+                   }
+                   if (tagMap.area.indexOf('no') > -1) {
+                       return 'line';
+                   }
+               }
+
+               for (var key in tagMap) {
+                   if (key in _areaKeys && !isAreaKeyBlackList(key)) {
+                       return 'area';
+                   }
+                   if (key in _lineKeys && isLineKeysWhiteList(key)) {
+                       return 'area';
+                   }
+               }
+
+               return 'line';
+           },
+
+           // adds from mapcss-parse selector check...
+           addRule: function(selector) {
+               var rule = {
+                   // checks relevant to mapcss-selector
+                   checks: this.filterRuleChecks(selector),
+                   // true if all conditions for a tag error are true..
+                   matches: function(entity) {
+                       return this.checks.every(function(check) {
+                           return check(entity.tags);
+                       });
+                   },
+                   // borrowed from Way#isArea()
+                   inferredGeometry: this.inferGeometry(this.buildTagMap(selector), this._areaKeys),
+                   geometryMatches: function(entity, graph) {
+                       if (entity.type === 'node' || entity.type === 'relation') {
+                           return selector.geometry === entity.type;
+                       } else if (entity.type === 'way') {
+                           return this.inferredGeometry === entity.geometry(graph);
+                       }
+                   },
+                   // when geometries match and tag matches are present, return a warning...
+                   findIssues: function (entity, graph, issues) {
+                       if (this.geometryMatches(entity, graph) && this.matches(entity)) {
+                           var severity = Object.keys(selector).indexOf('error') > -1
+                                   ? 'error'
+                                   : 'warning';
+                           var message = selector[severity];
+                           issues.push(new validationIssue({
+                               type: 'maprules',
+                               severity: severity,
+                               message: function() {
+                                   return message;
+                               },
+                               entityIds: [entity.id]
+                           }));
+                       }
+                   }
+               };
+               this._validationRules.push(rule);
+           },
+
+           clearRules: function() { this._validationRules = []; },
+
+           // returns validationRules...
+           validationRules: function() { return this._validationRules; },
+
+           // returns ruleChecks
+           ruleChecks: function() { return this._ruleChecks; }
+       };
+
+       var apibase$1 = 'https://nominatim.openstreetmap.org/';
+       var _inflight = {};
+       var _nominatimCache;
+
+
+       var serviceNominatim = {
+
+           init: function() {
+               _inflight = {};
+               _nominatimCache = rbush_1();
+           },
+
+           reset: function() {
+               Object.values(_inflight).forEach(function(controller) { controller.abort(); });
+               _inflight = {};
+               _nominatimCache = rbush_1();
+           },
+
+
+           countryCode: function (location, callback) {
+               this.reverse(location, function(err, result) {
+                   if (err) {
+                       return callback(err);
+                   } else if (result.address) {
+                       return callback(null, result.address.country_code);
+                   } else {
+                       return callback('Unable to geocode', null);
+                   }
+               });
+           },
+
+
+           reverse: function (loc, callback) {
+               var cached = _nominatimCache.search(
+                   { minX: loc[0], minY: loc[1], maxX: loc[0], maxY: loc[1] }
+               );
+
+               if (cached.length > 0) {
+                   if (callback) callback(null, cached[0].data);
+                   return;
+               }
+
+               var params = { zoom: 13, format: 'json', addressdetails: 1, lat: loc[1], lon: loc[0] };
+               var url = apibase$1 + 'reverse?' + utilQsString(params);
+
+               if (_inflight[url]) return;
+               var controller = new AbortController();
+               _inflight[url] = controller;
+
+               d3_json(url, { signal: controller.signal })
+                   .then(function(result) {
+                       delete _inflight[url];
+                       if (result && result.error) {
+                           throw new Error(result.error);
+                       }
+                       var extent = geoExtent(loc).padByMeters(200);
+                       _nominatimCache.insert(Object.assign(extent.bbox(), {data: result}));
+                       if (callback) callback(null, result);
+                   })
+                   .catch(function(err) {
+                       delete _inflight[url];
+                       if (err.name === 'AbortError') return;
+                       if (callback) callback(err.message);
+                   });
+           },
+
+
+           search: function (val, callback) {
+               var searchVal = encodeURIComponent(val);
+               var url = apibase$1 + 'search/' + searchVal + '?limit=10&format=json';
+
+               if (_inflight[url]) return;
+               var controller = new AbortController();
+               _inflight[url] = controller;
+
+               d3_json(url, { signal: controller.signal })
+                   .then(function(result) {
+                       delete _inflight[url];
+                       if (result && result.error) {
+                           throw new Error(result.error);
+                       }
+                       if (callback) callback(null, result);
+                   })
+                   .catch(function(err) {
+                       delete _inflight[url];
+                       if (err.name === 'AbortError') return;
+                       if (callback) callback(err.message);
+                   });
+           }
+
+       };
+
+       var apibase$2 = 'https://openstreetcam.org';
+       var maxResults$1 = 1000;
+       var tileZoom$1 = 14;
+       var tiler$3 = utilTiler().zoomExtent([tileZoom$1, tileZoom$1]).skipNullIsland(true);
+       var dispatch$4 = dispatch('loadedImages');
+       var imgZoom = d3_zoom()
+           .extent([[0, 0], [320, 240]])
+           .translateExtent([[0, 0], [320, 240]])
+           .scaleExtent([1, 15])
+           .on('zoom', zoomPan);
+       var _oscCache;
+       var _oscSelectedImage;
+
+
+       function abortRequest$3(controller) {
+           controller.abort();
+       }
+
+
+       function maxPageAtZoom$1(z) {
+           if (z < 15)   return 2;
+           if (z === 15) return 5;
+           if (z === 16) return 10;
+           if (z === 17) return 20;
+           if (z === 18) return 40;
+           if (z > 18)   return 80;
+       }
+
+
+       function loadTiles$1(which, url, projection) {
+           var currZoom = Math.floor(geoScaleToZoom(projection.scale()));
+           var tiles = tiler$3.getTiles(projection);
+
+           // abort inflight requests that are no longer needed
+           var cache = _oscCache[which];
+           Object.keys(cache.inflight).forEach(function(k) {
+               var wanted = tiles.find(function(tile) { return k.indexOf(tile.id + ',') === 0; });
+               if (!wanted) {
+                   abortRequest$3(cache.inflight[k]);
+                   delete cache.inflight[k];
+               }
+           });
+
+           tiles.forEach(function(tile) {
+               loadNextTilePage$1(which, currZoom, url, tile);
+           });
+       }
+
+
+       function loadNextTilePage$1(which, currZoom, url, tile) {
+           var cache = _oscCache[which];
+           var bbox = tile.extent.bbox();
+           var maxPages = maxPageAtZoom$1(currZoom);
+           var nextPage = cache.nextPage[tile.id] || 1;
+           var params = utilQsString({
+               ipp: maxResults$1,
+               page: nextPage,
+               // client_id: clientId,
+               bbTopLeft: [bbox.maxY, bbox.minX].join(','),
+               bbBottomRight: [bbox.minY, bbox.maxX].join(',')
+           }, true);
+
+           if (nextPage > maxPages) return;
+
+           var id = tile.id + ',' + String(nextPage);
+           if (cache.loaded[id] || cache.inflight[id]) return;
+
+           var controller = new AbortController();
+           cache.inflight[id] = controller;
+
+           var options = {
+               method: 'POST',
+               signal: controller.signal,
+               body: params,
+               headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
+           };
+
+           d3_json(url, options)
+               .then(function(data) {
+                   cache.loaded[id] = true;
+                   delete cache.inflight[id];
+                   if (!data || !data.currentPageItems || !data.currentPageItems.length) {
+                       throw new Error('No Data');
+                   }
+
+                   var features = data.currentPageItems.map(function(item) {
+                       var loc = [+item.lng, +item.lat];
+                       var d;
+
+                       if (which === 'images') {
+                           d = {
+                               loc: loc,
+                               key: item.id,
+                               ca: +item.heading,
+                               captured_at: (item.shot_date || item.date_added),
+                               captured_by: item.username,
+                               imagePath: item.lth_name,
+                               sequence_id: item.sequence_id,
+                               sequence_index: +item.sequence_index
+                           };
+
+                           // cache sequence info
+                           var seq = _oscCache.sequences[d.sequence_id];
+                           if (!seq) {
+                               seq = { rotation: 0, images: [] };
+                               _oscCache.sequences[d.sequence_id] = seq;
+                           }
+                           seq.images[d.sequence_index] = d;
+                       }
+
+                       return {
+                           minX: loc[0], minY: loc[1], maxX: loc[0], maxY: loc[1], data: d
+                       };
+                   });
+
+                   cache.rtree.load(features);
+
+                   if (data.currentPageItems.length === maxResults$1) {  // more pages to load
+                       cache.nextPage[tile.id] = nextPage + 1;
+                       loadNextTilePage$1(which, currZoom, url, tile);
+                   } else {
+                       cache.nextPage[tile.id] = Infinity;     // no more pages to load
+                   }
+
+                   if (which === 'images') {
+                       dispatch$4.call('loadedImages');
+                   }
+               })
+               .catch(function() {
+                   cache.loaded[id] = true;
+                   delete cache.inflight[id];
+               });
+       }
+
+
+       // partition viewport into higher zoom tiles
+       function partitionViewport$1(projection) {
+           var z = geoScaleToZoom(projection.scale());
+           var z2 = (Math.ceil(z * 2) / 2) + 2.5;   // round to next 0.5 and add 2.5
+           var tiler = utilTiler().zoomExtent([z2, z2]);
+
+           return tiler.getTiles(projection)
+               .map(function(tile) { return tile.extent; });
+       }
+
+
+       // no more than `limit` results per partition.
+       function searchLimited$1(limit, projection, rtree) {
+           limit = limit || 5;
+
+           return partitionViewport$1(projection)
+               .reduce(function(result, extent) {
+                   var found = rtree.search(extent.bbox())
+                       .slice(0, limit)
+                       .map(function(d) { return d.data; });
+
+                   return (found.length ? result.concat(found) : result);
+               }, []);
+       }
+
+
+       function zoomPan() {
+           var t = event.transform;
+           d3_select('#photoviewer .osc-image-wrap')
+               .call(utilSetTransform, t.x, t.y, t.k);
+       }
+
+
+       var serviceOpenstreetcam = {
+
+           init: function() {
+               if (!_oscCache) {
+                   this.reset();
+               }
+
+               this.event = utilRebind(this, dispatch$4, 'on');
+           },
+
+           reset: function() {
+               if (_oscCache) {
+                   Object.values(_oscCache.images.inflight).forEach(abortRequest$3);
+               }
+
+               _oscCache = {
+                   images: { inflight: {}, loaded: {}, nextPage: {}, rtree: rbush_1() },
+                   sequences: {}
+               };
+
+               _oscSelectedImage = null;
+           },
+
+
+           images: function(projection) {
+               var limit = 5;
+               return searchLimited$1(limit, projection, _oscCache.images.rtree);
+           },
+
+
+           sequences: function(projection) {
+               var viewport = projection.clipExtent();
+               var min = [viewport[0][0], viewport[1][1]];
+               var max = [viewport[1][0], viewport[0][1]];
+               var bbox = geoExtent(projection.invert(min), projection.invert(max)).bbox();
+               var sequenceKeys = {};
+
+               // all sequences for images in viewport
+               _oscCache.images.rtree.search(bbox)
+                   .forEach(function(d) { sequenceKeys[d.data.sequence_id] = true; });
+
+               // make linestrings from those sequences
+               var lineStrings = [];
+               Object.keys(sequenceKeys)
+                   .forEach(function(sequenceKey) {
+                       var seq = _oscCache.sequences[sequenceKey];
+                       var images = seq && seq.images;
+                       if (images) {
+                           lineStrings.push({
+                               type: 'LineString',
+                               coordinates: images.map(function (d) { return d.loc; }).filter(Boolean),
+                               properties: { key: sequenceKey }
+                           });
+                       }
+                   });
+               return lineStrings;
+           },
+
+
+           loadImages: function(projection) {
+               var url = apibase$2 + '/1.0/list/nearby-photos/';
+               loadTiles$1('images', url, projection);
+           },
+
+
+           loadViewer: function(context) {
+               var that = this;
+
+               // add osc-wrapper
+               var wrap = d3_select('#photoviewer').selectAll('.osc-wrapper')
+                   .data([0]);
+
+               var wrapEnter = wrap.enter()
+                   .append('div')
+                   .attr('class', 'photo-wrapper osc-wrapper')
+                   .classed('hide', true)
+                   .call(imgZoom)
+                   .on('dblclick.zoom', null);
+
+               wrapEnter
+                   .append('div')
+                   .attr('class', 'photo-attribution fillD');
+
+               var controlsEnter = wrapEnter
+                   .append('div')
+                   .attr('class', 'photo-controls-wrap')
+                   .append('div')
+                   .attr('class', 'photo-controls');
+
+               controlsEnter
+                   .append('button')
+                   .on('click.back', step(-1))
+                   .text('◄');
+
+               controlsEnter
+                   .append('button')
+                   .on('click.rotate-ccw', rotate(-90))
+                   .text('⤿');
+
+               controlsEnter
+                   .append('button')
+                   .on('click.rotate-cw', rotate(90))
+                   .text('⤾');
+
+               controlsEnter
+                   .append('button')
+                   .on('click.forward', step(1))
+                   .text('►');
+
+               wrapEnter
+                   .append('div')
+                   .attr('class', 'osc-image-wrap');
+
+
+               // Register viewer resize handler
+               context.ui().photoviewer.on('resize', function(dimensions) {
+                   imgZoom = d3_zoom()
+                       .extent([[0, 0], dimensions])
+                       .translateExtent([[0, 0], dimensions])
+                       .scaleExtent([1, 15])
+                       .on('zoom', zoomPan);
+               });
+
+
+               function rotate(deg) {
+                   return function() {
+                       if (!_oscSelectedImage) return;
+                       var sequenceKey = _oscSelectedImage.sequence_id;
+                       var sequence = _oscCache.sequences[sequenceKey];
+                       if (!sequence) return;
+
+                       var r = sequence.rotation || 0;
+                       r += deg;
+
+                       if (r > 180) r -= 360;
+                       if (r < -180) r += 360;
+                       sequence.rotation = r;
+
+                       var wrap = d3_select('#photoviewer .osc-wrapper');
+
+                       wrap
+                           .transition()
+                           .duration(100)
+                           .call(imgZoom.transform, identity$8);
+
+                       wrap.selectAll('.osc-image')
+                           .transition()
+                           .duration(100)
+                           .style('transform', 'rotate(' + r + 'deg)');
+                   };
+               }
+
+               function step(stepBy) {
+                   return function() {
+                       if (!_oscSelectedImage) return;
+                       var sequenceKey = _oscSelectedImage.sequence_id;
+                       var sequence = _oscCache.sequences[sequenceKey];
+                       if (!sequence) return;
+
+                       var nextIndex = _oscSelectedImage.sequence_index + stepBy;
+                       var nextImage = sequence.images[nextIndex];
+                       if (!nextImage) return;
+
+                       context.map().centerEase(nextImage.loc);
+
+                       that
+                           .selectImage(nextImage)
+                           .updateViewer(nextImage);
+                   };
+               }
+           },
+
+
+           showViewer: function() {
+               var viewer = d3_select('#photoviewer')
+                   .classed('hide', false);
+
+               var isHidden = viewer.selectAll('.photo-wrapper.osc-wrapper.hide').size();
+
+               if (isHidden) {
+                   viewer
+                       .selectAll('.photo-wrapper:not(.osc-wrapper)')
+                       .classed('hide', true);
+
+                   viewer
+                       .selectAll('.photo-wrapper.osc-wrapper')
+                       .classed('hide', false);
+               }
+
+               return this;
+           },
+
+
+           hideViewer: function() {
+               _oscSelectedImage = null;
+
+               var viewer = d3_select('#photoviewer');
+               if (!viewer.empty()) viewer.datum(null);
+
+               viewer
+                   .classed('hide', true)
+                   .selectAll('.photo-wrapper')
+                   .classed('hide', true);
+
+               d3_selectAll('.viewfield-group, .sequence, .icon-sign')
+                   .classed('currentView', false);
+
+               return this.setStyles(null, true);
+           },
+
+
+           updateViewer: function(d) {
+               var wrap = d3_select('#photoviewer .osc-wrapper');
+               var imageWrap = wrap.selectAll('.osc-image-wrap');
+               var attribution = wrap.selectAll('.photo-attribution').html('');
+
+               wrap
+                   .transition()
+                   .duration(100)
+                   .call(imgZoom.transform, identity$8);
+
+               imageWrap
+                   .selectAll('.osc-image')
+                   .remove();
+
+               if (d) {
+                   var sequence = _oscCache.sequences[d.sequence_id];
+                   var r = (sequence && sequence.rotation) || 0;
+
+                   imageWrap
+                       .append('img')
+                       .attr('class', 'osc-image')
+                       .attr('src', apibase$2 + '/' + d.imagePath)
+                       .style('transform', 'rotate(' + r + 'deg)');
+
+                   if (d.captured_by) {
+                       attribution
+                           .append('a')
+                           .attr('class', 'captured_by')
+                           .attr('target', '_blank')
+                           .attr('href', 'https://openstreetcam.org/user/' + encodeURIComponent(d.captured_by))
+                           .text('@' + d.captured_by);
+
+                       attribution
+                           .append('span')
+                           .text('|');
+                   }
+
+                   if (d.captured_at) {
+                       attribution
+                           .append('span')
+                           .attr('class', 'captured_at')
+                           .text(localeDateString(d.captured_at));
+
+                       attribution
+                           .append('span')
+                           .text('|');
+                   }
+
+                   attribution
+                       .append('a')
+                       .attr('class', 'image-link')
+                       .attr('target', '_blank')
+                       .attr('href', 'https://openstreetcam.org/details/' + d.sequence_id + '/' + d.sequence_index)
+                       .text('openstreetcam.org');
+               }
+
+               return this;
+
+
+               function localeDateString(s) {
+                   if (!s) return null;
+                   var detected = utilDetect();
+                   var options = { day: 'numeric', month: 'short', year: 'numeric' };
+                   var d = new Date(s);
+                   if (isNaN(d.getTime())) return null;
+                   return d.toLocaleDateString(detected.locale, options);
+               }
+           },
+
+
+           selectImage: function(d) {
+               _oscSelectedImage = d;
+               var viewer = d3_select('#photoviewer');
+               if (!viewer.empty()) viewer.datum(d);
+
+               this.setStyles(null, true);
+
+               d3_selectAll('.icon-sign')
+                   .classed('currentView', false);
+
+               return this;
+           },
+
+
+           getSelectedImage: function() {
+               return _oscSelectedImage;
+           },
+
+
+           getSequenceKeyForImage: function(d) {
+               return d && d.sequence_id;
+           },
+
+
+           // Updates the currently highlighted sequence and selected bubble.
+           // Reset is only necessary when interacting with the viewport because
+           // this implicitly changes the currently selected bubble/sequence
+           setStyles: function(hovered, reset) {
+               if (reset) {  // reset all layers
+                   d3_selectAll('.viewfield-group')
+                       .classed('highlighted', false)
+                       .classed('hovered', false)
+                       .classed('currentView', false);
+
+                   d3_selectAll('.sequence')
+                       .classed('highlighted', false)
+                       .classed('currentView', false);
+               }
+
+               var hoveredImageKey = hovered && hovered.key;
+               var hoveredSequenceKey = this.getSequenceKeyForImage(hovered);
+               var hoveredSequence = hoveredSequenceKey && _oscCache.sequences[hoveredSequenceKey];
+               var hoveredImageKeys = (hoveredSequence && hoveredSequence.images.map(function (d) { return d.key; })) || [];
+
+               var viewer = d3_select('#photoviewer');
+               var selected = viewer.empty() ? undefined : viewer.datum();
+               var selectedImageKey = selected && selected.key;
+               var selectedSequenceKey = this.getSequenceKeyForImage(selected);
+               var selectedSequence = selectedSequenceKey && _oscCache.sequences[selectedSequenceKey];
+               var selectedImageKeys = (selectedSequence && selectedSequence.images.map(function (d) { return d.key; })) || [];
+
+               // highlight sibling viewfields on either the selected or the hovered sequences
+               var highlightedImageKeys = utilArrayUnion(hoveredImageKeys, selectedImageKeys);
+
+               d3_selectAll('.layer-openstreetcam .viewfield-group')
+                   .classed('highlighted', function(d) { return highlightedImageKeys.indexOf(d.key) !== -1; })
+                   .classed('hovered', function(d) { return d.key === hoveredImageKey; })
+                   .classed('currentView', function(d) { return d.key === selectedImageKey; });
+
+               d3_selectAll('.layer-openstreetcam .sequence')
+                   .classed('highlighted', function(d) { return d.properties.key === hoveredSequenceKey; })
+                   .classed('currentView', function(d) { return d.properties.key === selectedSequenceKey; });
+
+               // update viewfields if needed
+               d3_selectAll('.viewfield-group .viewfield')
+                   .attr('d', viewfieldPath);
+
+               function viewfieldPath() {
+                   var d = this.parentNode.__data__;
+                   if (d.pano && d.key !== selectedImageKey) {
+                       return 'M 8,13 m -10,0 a 10,10 0 1,0 20,0 a 10,10 0 1,0 -20,0';
+                   } else {
+                       return 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z';
+                   }
+               }
+
+               return this;
+           },
+
+
+           cache: function() {
+               return _oscCache;
+           }
+
+       };
+
+       /**
+        * Checks if `value` is the
+        * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
+        * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+        *
+        * @static
+        * @memberOf _
+        * @since 0.1.0
+        * @category Lang
+        * @param {*} value The value to check.
+        * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+        * @example
+        *
+        * _.isObject({});
+        * // => true
+        *
+        * _.isObject([1, 2, 3]);
+        * // => true
+        *
+        * _.isObject(_.noop);
+        * // => true
+        *
+        * _.isObject(null);
+        * // => false
+        */
+       function isObject$1(value) {
+         var type = typeof value;
+         return value != null && (type == 'object' || type == 'function');
+       }
+
+       /** Detect free variable `global` from Node.js. */
+       var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
+
+       /** Detect free variable `self`. */
+       var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
+
+       /** Used as a reference to the global object. */
+       var root$3 = freeGlobal || freeSelf || Function('return this')();
+
+       /**
+        * Gets the timestamp of the number of milliseconds that have elapsed since
+        * the Unix epoch (1 January 1970 00:00:00 UTC).
+        *
+        * @static
+        * @memberOf _
+        * @since 2.4.0
+        * @category Date
+        * @returns {number} Returns the timestamp.
+        * @example
+        *
+        * _.defer(function(stamp) {
+        *   console.log(_.now() - stamp);
+        * }, _.now());
+        * // => Logs the number of milliseconds it took for the deferred invocation.
+        */
+       var now$1 = function() {
+         return root$3.Date.now();
+       };
+
+       /** Built-in value references. */
+       var Symbol$1 = root$3.Symbol;
+
+       /** Used for built-in method references. */
+       var objectProto = Object.prototype;
+
+       /** Used to check objects for own properties. */
+       var hasOwnProperty$2 = objectProto.hasOwnProperty;
+
+       /**
+        * Used to resolve the
+        * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
+        * of values.
+        */
+       var nativeObjectToString = objectProto.toString;
+
+       /** Built-in value references. */
+       var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : undefined;
+
+       /**
+        * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
+        *
+        * @private
+        * @param {*} value The value to query.
+        * @returns {string} Returns the raw `toStringTag`.
+        */
+       function getRawTag(value) {
+         var isOwn = hasOwnProperty$2.call(value, symToStringTag),
+             tag = value[symToStringTag];
+
+         try {
+           value[symToStringTag] = undefined;
+           var unmasked = true;
+         } catch (e) {}
+
+         var result = nativeObjectToString.call(value);
+         if (unmasked) {
+           if (isOwn) {
+             value[symToStringTag] = tag;
+           } else {
+             delete value[symToStringTag];
+           }
+         }
+         return result;
+       }
+
+       /** Used for built-in method references. */
+       var objectProto$1 = Object.prototype;
+
+       /**
+        * Used to resolve the
+        * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
+        * of values.
+        */
+       var nativeObjectToString$1 = objectProto$1.toString;
+
+       /**
+        * Converts `value` to a string using `Object.prototype.toString`.
+        *
+        * @private
+        * @param {*} value The value to convert.
+        * @returns {string} Returns the converted string.
+        */
+       function objectToString$1(value) {
+         return nativeObjectToString$1.call(value);
+       }
+
+       /** `Object#toString` result references. */
+       var nullTag = '[object Null]',
+           undefinedTag = '[object Undefined]';
+
+       /** Built-in value references. */
+       var symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : undefined;
+
+       /**
+        * The base implementation of `getTag` without fallbacks for buggy environments.
+        *
+        * @private
+        * @param {*} value The value to query.
+        * @returns {string} Returns the `toStringTag`.
+        */
+       function baseGetTag(value) {
+         if (value == null) {
+           return value === undefined ? undefinedTag : nullTag;
+         }
+         return (symToStringTag$1 && symToStringTag$1 in Object(value))
+           ? getRawTag(value)
+           : objectToString$1(value);
+       }
+
+       /**
+        * Checks if `value` is object-like. A value is object-like if it's not `null`
+        * and has a `typeof` result of "object".
+        *
+        * @static
+        * @memberOf _
+        * @since 4.0.0
+        * @category Lang
+        * @param {*} value The value to check.
+        * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+        * @example
+        *
+        * _.isObjectLike({});
+        * // => true
+        *
+        * _.isObjectLike([1, 2, 3]);
+        * // => true
+        *
+        * _.isObjectLike(_.noop);
+        * // => false
+        *
+        * _.isObjectLike(null);
+        * // => false
+        */
+       function isObjectLike(value) {
+         return value != null && typeof value == 'object';
+       }
+
+       /** `Object#toString` result references. */
+       var symbolTag = '[object Symbol]';
+
+       /**
+        * Checks if `value` is classified as a `Symbol` primitive or object.
+        *
+        * @static
+        * @memberOf _
+        * @since 4.0.0
+        * @category Lang
+        * @param {*} value The value to check.
+        * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
+        * @example
+        *
+        * _.isSymbol(Symbol.iterator);
+        * // => true
+        *
+        * _.isSymbol('abc');
+        * // => false
+        */
+       function isSymbol$2(value) {
+         return typeof value == 'symbol' ||
+           (isObjectLike(value) && baseGetTag(value) == symbolTag);
+       }
+
+       /** Used as references for various `Number` constants. */
+       var NAN = 0 / 0;
+
+       /** Used to match leading and trailing whitespace. */
+       var reTrim = /^\s+|\s+$/g;
+
+       /** Used to detect bad signed hexadecimal string values. */
+       var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+
+       /** Used to detect binary string values. */
+       var reIsBinary = /^0b[01]+$/i;
+
+       /** Used to detect octal string values. */
+       var reIsOctal = /^0o[0-7]+$/i;
+
+       /** Built-in method references without a dependency on `root`. */
+       var freeParseInt = parseInt;
+
+       /**
+        * Converts `value` to a number.
+        *
+        * @static
+        * @memberOf _
+        * @since 4.0.0
+        * @category Lang
+        * @param {*} value The value to process.
+        * @returns {number} Returns the number.
+        * @example
+        *
+        * _.toNumber(3.2);
+        * // => 3.2
+        *
+        * _.toNumber(Number.MIN_VALUE);
+        * // => 5e-324
+        *
+        * _.toNumber(Infinity);
+        * // => Infinity
+        *
+        * _.toNumber('3.2');
+        * // => 3.2
+        */
+       function toNumber(value) {
+         if (typeof value == 'number') {
+           return value;
+         }
+         if (isSymbol$2(value)) {
+           return NAN;
+         }
+         if (isObject$1(value)) {
+           var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
+           value = isObject$1(other) ? (other + '') : other;
+         }
+         if (typeof value != 'string') {
+           return value === 0 ? value : +value;
+         }
+         value = value.replace(reTrim, '');
+         var isBinary = reIsBinary.test(value);
+         return (isBinary || reIsOctal.test(value))
+           ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
+           : (reIsBadHex.test(value) ? NAN : +value);
+       }
+
+       /** Error message constants. */
+       var FUNC_ERROR_TEXT = 'Expected a function';
+
+       /* Built-in method references for those with the same name as other `lodash` methods. */
+       var nativeMax = Math.max,
+           nativeMin = Math.min;
+
+       /**
+        * Creates a debounced function that delays invoking `func` until after `wait`
+        * milliseconds have elapsed since the last time the debounced function was
+        * invoked. The debounced function comes with a `cancel` method to cancel
+        * delayed `func` invocations and a `flush` method to immediately invoke them.
+        * Provide `options` to indicate whether `func` should be invoked on the
+        * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
+        * with the last arguments provided to the debounced function. Subsequent
+        * calls to the debounced function return the result of the last `func`
+        * invocation.
+        *
+        * **Note:** If `leading` and `trailing` options are `true`, `func` is
+        * invoked on the trailing edge of the timeout only if the debounced function
+        * is invoked more than once during the `wait` timeout.
+        *
+        * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
+        * until to the next tick, similar to `setTimeout` with a timeout of `0`.
+        *
+        * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
+        * for details over the differences between `_.debounce` and `_.throttle`.
+        *
+        * @static
+        * @memberOf _
+        * @since 0.1.0
+        * @category Function
+        * @param {Function} func The function to debounce.
+        * @param {number} [wait=0] The number of milliseconds to delay.
+        * @param {Object} [options={}] The options object.
+        * @param {boolean} [options.leading=false]
+        *  Specify invoking on the leading edge of the timeout.
+        * @param {number} [options.maxWait]
+        *  The maximum time `func` is allowed to be delayed before it's invoked.
+        * @param {boolean} [options.trailing=true]
+        *  Specify invoking on the trailing edge of the timeout.
+        * @returns {Function} Returns the new debounced function.
+        * @example
+        *
+        * // Avoid costly calculations while the window size is in flux.
+        * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
+        *
+        * // Invoke `sendMail` when clicked, debouncing subsequent calls.
+        * jQuery(element).on('click', _.debounce(sendMail, 300, {
+        *   'leading': true,
+        *   'trailing': false
+        * }));
+        *
+        * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
+        * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
+        * var source = new EventSource('/stream');
+        * jQuery(source).on('message', debounced);
+        *
+        * // Cancel the trailing debounced invocation.
+        * jQuery(window).on('popstate', debounced.cancel);
+        */
+       function debounce(func, wait, options) {
+         var lastArgs,
+             lastThis,
+             maxWait,
+             result,
+             timerId,
+             lastCallTime,
+             lastInvokeTime = 0,
+             leading = false,
+             maxing = false,
+             trailing = true;
+
+         if (typeof func != 'function') {
+           throw new TypeError(FUNC_ERROR_TEXT);
+         }
+         wait = toNumber(wait) || 0;
+         if (isObject$1(options)) {
+           leading = !!options.leading;
+           maxing = 'maxWait' in options;
+           maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
+           trailing = 'trailing' in options ? !!options.trailing : trailing;
+         }
+
+         function invokeFunc(time) {
+           var args = lastArgs,
+               thisArg = lastThis;
+
+           lastArgs = lastThis = undefined;
+           lastInvokeTime = time;
+           result = func.apply(thisArg, args);
+           return result;
+         }
+
+         function leadingEdge(time) {
+           // Reset any `maxWait` timer.
+           lastInvokeTime = time;
+           // Start the timer for the trailing edge.
+           timerId = setTimeout(timerExpired, wait);
+           // Invoke the leading edge.
+           return leading ? invokeFunc(time) : result;
+         }
+
+         function remainingWait(time) {
+           var timeSinceLastCall = time - lastCallTime,
+               timeSinceLastInvoke = time - lastInvokeTime,
+               timeWaiting = wait - timeSinceLastCall;
+
+           return maxing
+             ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)
+             : timeWaiting;
+         }
+
+         function shouldInvoke(time) {
+           var timeSinceLastCall = time - lastCallTime,
+               timeSinceLastInvoke = time - lastInvokeTime;
+
+           // Either this is the first call, activity has stopped and we're at the
+           // trailing edge, the system time has gone backwards and we're treating
+           // it as the trailing edge, or we've hit the `maxWait` limit.
+           return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
+             (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
+         }
+
+         function timerExpired() {
+           var time = now$1();
+           if (shouldInvoke(time)) {
+             return trailingEdge(time);
+           }
+           // Restart the timer.
+           timerId = setTimeout(timerExpired, remainingWait(time));
+         }
+
+         function trailingEdge(time) {
+           timerId = undefined;
+
+           // Only invoke if we have `lastArgs` which means `func` has been
+           // debounced at least once.
+           if (trailing && lastArgs) {
+             return invokeFunc(time);
+           }
+           lastArgs = lastThis = undefined;
+           return result;
+         }
+
+         function cancel() {
+           if (timerId !== undefined) {
+             clearTimeout(timerId);
+           }
+           lastInvokeTime = 0;
+           lastArgs = lastCallTime = lastThis = timerId = undefined;
+         }
+
+         function flush() {
+           return timerId === undefined ? result : trailingEdge(now$1());
+         }
+
+         function debounced() {
+           var time = now$1(),
+               isInvoking = shouldInvoke(time);
+
+           lastArgs = arguments;
+           lastThis = this;
+           lastCallTime = time;
+
+           if (isInvoking) {
+             if (timerId === undefined) {
+               return leadingEdge(lastCallTime);
+             }
+             if (maxing) {
+               // Handle invocations in a tight loop.
+               clearTimeout(timerId);
+               timerId = setTimeout(timerExpired, wait);
+               return invokeFunc(lastCallTime);
+             }
+           }
+           if (timerId === undefined) {
+             timerId = setTimeout(timerExpired, wait);
+           }
+           return result;
+         }
+         debounced.cancel = cancel;
+         debounced.flush = flush;
+         return debounced;
+       }
+
+       /** Error message constants. */
+       var FUNC_ERROR_TEXT$1 = 'Expected a function';
+
+       /**
+        * Creates a throttled function that only invokes `func` at most once per
+        * every `wait` milliseconds. The throttled function comes with a `cancel`
+        * method to cancel delayed `func` invocations and a `flush` method to
+        * immediately invoke them. Provide `options` to indicate whether `func`
+        * should be invoked on the leading and/or trailing edge of the `wait`
+        * timeout. The `func` is invoked with the last arguments provided to the
+        * throttled function. Subsequent calls to the throttled function return the
+        * result of the last `func` invocation.
+        *
+        * **Note:** If `leading` and `trailing` options are `true`, `func` is
+        * invoked on the trailing edge of the timeout only if the throttled function
+        * is invoked more than once during the `wait` timeout.
+        *
+        * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
+        * until to the next tick, similar to `setTimeout` with a timeout of `0`.
+        *
+        * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
+        * for details over the differences between `_.throttle` and `_.debounce`.
+        *
+        * @static
+        * @memberOf _
+        * @since 0.1.0
+        * @category Function
+        * @param {Function} func The function to throttle.
+        * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
+        * @param {Object} [options={}] The options object.
+        * @param {boolean} [options.leading=true]
+        *  Specify invoking on the leading edge of the timeout.
+        * @param {boolean} [options.trailing=true]
+        *  Specify invoking on the trailing edge of the timeout.
+        * @returns {Function} Returns the new throttled function.
+        * @example
+        *
+        * // Avoid excessively updating the position while scrolling.
+        * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
+        *
+        * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
+        * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
+        * jQuery(element).on('click', throttled);
+        *
+        * // Cancel the trailing throttled invocation.
+        * jQuery(window).on('popstate', throttled.cancel);
+        */
+       function throttle(func, wait, options) {
+         var leading = true,
+             trailing = true;
+
+         if (typeof func != 'function') {
+           throw new TypeError(FUNC_ERROR_TEXT$1);
+         }
+         if (isObject$1(options)) {
+           leading = 'leading' in options ? !!options.leading : leading;
+           trailing = 'trailing' in options ? !!options.trailing : trailing;
+         }
+         return debounce(func, wait, {
+           'leading': leading,
+           'maxWait': wait,
+           'trailing': trailing
+         });
+       }
+
+       var hashes = createCommonjsModule(function (module, exports) {
+       /**
+        * jshashes - https://github.com/h2non/jshashes
+        * Released under the "New BSD" license
+        *
+        * Algorithms specification:
+        *
+        * MD5 - http://www.ietf.org/rfc/rfc1321.txt
+        * RIPEMD-160 - http://homes.esat.kuleuven.be/~bosselae/ripemd160.html
+        * SHA1   - http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
+        * SHA256 - http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
+        * SHA512 - http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
+        * HMAC - http://www.ietf.org/rfc/rfc2104.txt
+        */
+       (function() {
+         var Hashes;
+
+         function utf8Encode(str) {
+           var x, y, output = '',
+             i = -1,
+             l;
+
+           if (str && str.length) {
+             l = str.length;
+             while ((i += 1) < l) {
+               /* Decode utf-16 surrogate pairs */
+               x = str.charCodeAt(i);
+               y = i + 1 < l ? str.charCodeAt(i + 1) : 0;
+               if (0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) {
+                 x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF);
+                 i += 1;
+               }
+               /* Encode output as utf-8 */
+               if (x <= 0x7F) {
+                 output += String.fromCharCode(x);
+               } else if (x <= 0x7FF) {
+                 output += String.fromCharCode(0xC0 | ((x >>> 6) & 0x1F),
+                   0x80 | (x & 0x3F));
+               } else if (x <= 0xFFFF) {
+                 output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F),
+                   0x80 | ((x >>> 6) & 0x3F),
+                   0x80 | (x & 0x3F));
+               } else if (x <= 0x1FFFFF) {
+                 output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07),
+                   0x80 | ((x >>> 12) & 0x3F),
+                   0x80 | ((x >>> 6) & 0x3F),
+                   0x80 | (x & 0x3F));
+               }
+             }
+           }
+           return output;
+         }
+
+         function utf8Decode(str) {
+           var i, ac, c1, c2, c3, arr = [],
+             l;
+           i = ac = c1 = c2 = c3 = 0;
+
+           if (str && str.length) {
+             l = str.length;
+             str += '';
+
+             while (i < l) {
+               c1 = str.charCodeAt(i);
+               ac += 1;
+               if (c1 < 128) {
+                 arr[ac] = String.fromCharCode(c1);
+                 i += 1;
+               } else if (c1 > 191 && c1 < 224) {
+                 c2 = str.charCodeAt(i + 1);
+                 arr[ac] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
+                 i += 2;
+               } else {
+                 c2 = str.charCodeAt(i + 1);
+                 c3 = str.charCodeAt(i + 2);
+                 arr[ac] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
+                 i += 3;
+               }
+             }
+           }
+           return arr.join('');
+         }
+
+         /**
+          * Add integers, wrapping at 2^32. This uses 16-bit operations internally
+          * to work around bugs in some JS interpreters.
+          */
+
+         function safe_add(x, y) {
+           var lsw = (x & 0xFFFF) + (y & 0xFFFF),
+             msw = (x >> 16) + (y >> 16) + (lsw >> 16);
+           return (msw << 16) | (lsw & 0xFFFF);
+         }
+
+         /**
+          * Bitwise rotate a 32-bit number to the left.
+          */
+
+         function bit_rol(num, cnt) {
+           return (num << cnt) | (num >>> (32 - cnt));
+         }
+
+         /**
+          * Convert a raw string to a hex string
+          */
+
+         function rstr2hex(input, hexcase) {
+           var hex_tab = hexcase ? '0123456789ABCDEF' : '0123456789abcdef',
+             output = '',
+             x, i = 0,
+             l = input.length;
+           for (; i < l; i += 1) {
+             x = input.charCodeAt(i);
+             output += hex_tab.charAt((x >>> 4) & 0x0F) + hex_tab.charAt(x & 0x0F);
+           }
+           return output;
+         }
+
+         /**
+          * Convert an array of big-endian words to a string
+          */
+
+         function binb2rstr(input) {
+           var i, l = input.length * 32,
+             output = '';
+           for (i = 0; i < l; i += 8) {
+             output += String.fromCharCode((input[i >> 5] >>> (24 - i % 32)) & 0xFF);
+           }
+           return output;
+         }
+
+         /**
+          * Convert an array of little-endian words to a string
+          */
+
+         function binl2rstr(input) {
+           var i, l = input.length * 32,
+             output = '';
+           for (i = 0; i < l; i += 8) {
+             output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF);
+           }
+           return output;
+         }
+
+         /**
+          * Convert a raw string to an array of little-endian words
+          * Characters >255 have their high-byte silently ignored.
+          */
+
+         function rstr2binl(input) {
+           var i, l = input.length * 8,
+             output = Array(input.length >> 2),
+             lo = output.length;
+           for (i = 0; i < lo; i += 1) {
+             output[i] = 0;
+           }
+           for (i = 0; i < l; i += 8) {
+             output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32);
+           }
+           return output;
+         }
+
+         /**
+          * Convert a raw string to an array of big-endian words
+          * Characters >255 have their high-byte silently ignored.
+          */
+
+         function rstr2binb(input) {
+           var i, l = input.length * 8,
+             output = Array(input.length >> 2),
+             lo = output.length;
+           for (i = 0; i < lo; i += 1) {
+             output[i] = 0;
+           }
+           for (i = 0; i < l; i += 8) {
+             output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (24 - i % 32);
+           }
+           return output;
+         }
+
+         /**
+          * Convert a raw string to an arbitrary string encoding
+          */
+
+         function rstr2any(input, encoding) {
+           var divisor = encoding.length,
+             remainders = Array(),
+             i, q, x, ld, quotient, dividend, output, full_length;
+
+           /* Convert to an array of 16-bit big-endian values, forming the dividend */
+           dividend = Array(Math.ceil(input.length / 2));
+           ld = dividend.length;
+           for (i = 0; i < ld; i += 1) {
+             dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1);
+           }
+
+           /**
+            * Repeatedly perform a long division. The binary array forms the dividend,
+            * the length of the encoding is the divisor. Once computed, the quotient
+            * forms the dividend for the next step. We stop when the dividend is zerHashes.
+            * All remainders are stored for later use.
+            */
+           while (dividend.length > 0) {
+             quotient = Array();
+             x = 0;
+             for (i = 0; i < dividend.length; i += 1) {
+               x = (x << 16) + dividend[i];
+               q = Math.floor(x / divisor);
+               x -= q * divisor;
+               if (quotient.length > 0 || q > 0) {
+                 quotient[quotient.length] = q;
+               }
+             }
+             remainders[remainders.length] = x;
+             dividend = quotient;
+           }
+
+           /* Convert the remainders to the output string */
+           output = '';
+           for (i = remainders.length - 1; i >= 0; i--) {
+             output += encoding.charAt(remainders[i]);
+           }
+
+           /* Append leading zero equivalents */
+           full_length = Math.ceil(input.length * 8 / (Math.log(encoding.length) / Math.log(2)));
+           for (i = output.length; i < full_length; i += 1) {
+             output = encoding[0] + output;
+           }
+           return output;
+         }
+
+         /**
+          * Convert a raw string to a base-64 string
+          */
+
+         function rstr2b64(input, b64pad) {
+           var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
+             output = '',
+             len = input.length,
+             i, j, triplet;
+           b64pad = b64pad || '=';
+           for (i = 0; i < len; i += 3) {
+             triplet = (input.charCodeAt(i) << 16) | (i + 1 < len ? input.charCodeAt(i + 1) << 8 : 0) | (i + 2 < len ? input.charCodeAt(i + 2) : 0);
+             for (j = 0; j < 4; j += 1) {
+               if (i * 8 + j * 6 > input.length * 8) {
+                 output += b64pad;
+               } else {
+                 output += tab.charAt((triplet >>> 6 * (3 - j)) & 0x3F);
+               }
+             }
+           }
+           return output;
+         }
+
+         Hashes = {
+           /**
+            * @property {String} version
+            * @readonly
+            */
+           VERSION: '1.0.6',
+           /**
+            * @member Hashes
+            * @class Base64
+            * @constructor
+            */
+           Base64: function() {
+             // private properties
+             var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
+               pad = '=', // default pad according with the RFC standard
+               utf8 = true; // by default enable UTF-8 support encoding
+
+             // public method for encoding
+             this.encode = function(input) {
+               var i, j, triplet,
+                 output = '',
+                 len = input.length;
+
+               pad = pad || '=';
+               input = (utf8) ? utf8Encode(input) : input;
+
+               for (i = 0; i < len; i += 3) {
+                 triplet = (input.charCodeAt(i) << 16) | (i + 1 < len ? input.charCodeAt(i + 1) << 8 : 0) | (i + 2 < len ? input.charCodeAt(i + 2) : 0);
+                 for (j = 0; j < 4; j += 1) {
+                   if (i * 8 + j * 6 > len * 8) {
+                     output += pad;
+                   } else {
+                     output += tab.charAt((triplet >>> 6 * (3 - j)) & 0x3F);
+                   }
+                 }
+               }
+               return output;
+             };
+
+             // public method for decoding
+             this.decode = function(input) {
+               // var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
+               var i, o1, o2, o3, h1, h2, h3, h4, bits, ac,
+                 dec = '',
+                 arr = [];
+               if (!input) {
+                 return input;
+               }
+
+               i = ac = 0;
+               input = input.replace(new RegExp('\\' + pad, 'gi'), ''); // use '='
+               //input += '';
+
+               do { // unpack four hexets into three octets using index points in b64
+                 h1 = tab.indexOf(input.charAt(i += 1));
+                 h2 = tab.indexOf(input.charAt(i += 1));
+                 h3 = tab.indexOf(input.charAt(i += 1));
+                 h4 = tab.indexOf(input.charAt(i += 1));
+
+                 bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;
+
+                 o1 = bits >> 16 & 0xff;
+                 o2 = bits >> 8 & 0xff;
+                 o3 = bits & 0xff;
+                 ac += 1;
+
+                 if (h3 === 64) {
+                   arr[ac] = String.fromCharCode(o1);
+                 } else if (h4 === 64) {
+                   arr[ac] = String.fromCharCode(o1, o2);
+                 } else {
+                   arr[ac] = String.fromCharCode(o1, o2, o3);
+                 }
+               } while (i < input.length);
+
+               dec = arr.join('');
+               dec = (utf8) ? utf8Decode(dec) : dec;
+
+               return dec;
+             };
+
+             // set custom pad string
+             this.setPad = function(str) {
+               pad = str || pad;
+               return this;
+             };
+             // set custom tab string characters
+             this.setTab = function(str) {
+               tab = str || tab;
+               return this;
+             };
+             this.setUTF8 = function(bool) {
+               if (typeof bool === 'boolean') {
+                 utf8 = bool;
+               }
+               return this;
+             };
+           },
+
+           /**
+            * CRC-32 calculation
+            * @member Hashes
+            * @method CRC32
+            * @static
+            * @param {String} str Input String
+            * @return {String}
+            */
+           CRC32: function(str) {
+             var crc = 0,
+               x = 0,
+               y = 0,
+               table, i, iTop;
+             str = utf8Encode(str);
+
+             table = [
+               '00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 ',
+               '79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 ',
+               '84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F ',
+               '63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD ',
+               'A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC ',
+               '51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 ',
+               'B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 ',
+               '06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 ',
+               'E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 ',
+               '12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 ',
+               'D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 ',
+               '33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 ',
+               'CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 ',
+               '9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E ',
+               '7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D ',
+               '806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 ',
+               '60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA ',
+               'AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 ',
+               '5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 ',
+               'B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 ',
+               '05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 ',
+               'F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA ',
+               '11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 ',
+               'D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F ',
+               '30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E ',
+               'C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D'
+             ].join('');
+
+             crc = crc ^ (-1);
+             for (i = 0, iTop = str.length; i < iTop; i += 1) {
+               y = (crc ^ str.charCodeAt(i)) & 0xFF;
+               x = '0x' + table.substr(y * 9, 8);
+               crc = (crc >>> 8) ^ x;
+             }
+             // always return a positive number (that's what >>> 0 does)
+             return (crc ^ (-1)) >>> 0;
+           },
+           /**
+            * @member Hashes
+            * @class MD5
+            * @constructor
+            * @param {Object} [config]
+            *
+            * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
+            * Digest Algorithm, as defined in RFC 1321.
+            * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
+            * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+            * See <http://pajhome.org.uk/crypt/md5> for more infHashes.
+            */
+           MD5: function(options) {
+             /**
+              * Private config properties. You may need to tweak these to be compatible with
+              * the server-side, but the defaults work in most cases.
+              * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase}
+              */
+             var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase
+               b64pad = (options && typeof options.pad === 'string') ? options.pad : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance
+               utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding
+
+             // privileged (public) methods
+             this.hex = function(s) {
+               return rstr2hex(rstr(s), hexcase);
+             };
+             this.b64 = function(s) {
+               return rstr2b64(rstr(s), b64pad);
+             };
+             this.any = function(s, e) {
+               return rstr2any(rstr(s), e);
+             };
+             this.raw = function(s) {
+               return rstr(s);
+             };
+             this.hex_hmac = function(k, d) {
+               return rstr2hex(rstr_hmac(k, d), hexcase);
+             };
+             this.b64_hmac = function(k, d) {
+               return rstr2b64(rstr_hmac(k, d), b64pad);
+             };
+             this.any_hmac = function(k, d, e) {
+               return rstr2any(rstr_hmac(k, d), e);
+             };
+             /**
+              * Perform a simple self-test to see if the VM is working
+              * @return {String} Hexadecimal hash sample
+              */
+             this.vm_test = function() {
+               return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+             };
+             /**
+              * Enable/disable uppercase hexadecimal returned string
+              * @param {Boolean}
+              * @return {Object} this
+              */
+             this.setUpperCase = function(a) {
+               if (typeof a === 'boolean') {
+                 hexcase = a;
+               }
+               return this;
+             };
+             /**
+              * Defines a base64 pad string
+              * @param {String} Pad
+              * @return {Object} this
+              */
+             this.setPad = function(a) {
+               b64pad = a || b64pad;
+               return this;
+             };
+             /**
+              * Defines a base64 pad string
+              * @param {Boolean}
+              * @return {Object} [this]
+              */
+             this.setUTF8 = function(a) {
+               if (typeof a === 'boolean') {
+                 utf8 = a;
+               }
+               return this;
+             };
+
+             // private methods
+
+             /**
+              * Calculate the MD5 of a raw string
+              */
+
+             function rstr(s) {
+               s = (utf8) ? utf8Encode(s) : s;
+               return binl2rstr(binl(rstr2binl(s), s.length * 8));
+             }
+
+             /**
+              * Calculate the HMAC-MD5, of a key and some data (raw strings)
+              */
+
+             function rstr_hmac(key, data) {
+               var bkey, ipad, opad, hash, i;
+
+               key = (utf8) ? utf8Encode(key) : key;
+               data = (utf8) ? utf8Encode(data) : data;
+               bkey = rstr2binl(key);
+               if (bkey.length > 16) {
+                 bkey = binl(bkey, key.length * 8);
+               }
+
+               ipad = Array(16), opad = Array(16);
+               for (i = 0; i < 16; i += 1) {
+                 ipad[i] = bkey[i] ^ 0x36363636;
+                 opad[i] = bkey[i] ^ 0x5C5C5C5C;
+               }
+               hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
+               return binl2rstr(binl(opad.concat(hash), 512 + 128));
+             }
+
+             /**
+              * Calculate the MD5 of an array of little-endian words, and a bit length.
+              */
+
+             function binl(x, len) {
+               var i, olda, oldb, oldc, oldd,
+                 a = 1732584193,
+                 b = -271733879,
+                 c = -1732584194,
+                 d = 271733878;
+
+               /* append padding */
+               x[len >> 5] |= 0x80 << ((len) % 32);
+               x[(((len + 64) >>> 9) << 4) + 14] = len;
+
+               for (i = 0; i < x.length; i += 16) {
+                 olda = a;
+                 oldb = b;
+                 oldc = c;
+                 oldd = d;
+
+                 a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);
+                 d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);
+                 c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);
+                 b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);
+                 a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);
+                 d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);
+                 c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);
+                 b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);
+                 a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);
+                 d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);
+                 c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);
+                 b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);
+                 a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);
+                 d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);
+                 c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);
+                 b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);
+
+                 a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);
+                 d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);
+                 c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);
+                 b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);
+                 a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);
+                 d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);
+                 c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);
+                 b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);
+                 a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);
+                 d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);
+                 c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);
+                 b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);
+                 a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);
+                 d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);
+                 c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);
+                 b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);
+
+                 a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);
+                 d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);
+                 c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);
+                 b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);
+                 a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);
+                 d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);
+                 c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);
+                 b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);
+                 a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);
+                 d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);
+                 c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);
+                 b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);
+                 a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);
+                 d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);
+                 c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);
+                 b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);
+
+                 a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);
+                 d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);
+                 c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);
+                 b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);
+                 a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);
+                 d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);
+                 c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);
+                 b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);
+                 a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);
+                 d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);
+                 c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);
+                 b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);
+                 a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);
+                 d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);
+                 c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);
+                 b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);
+
+                 a = safe_add(a, olda);
+                 b = safe_add(b, oldb);
+                 c = safe_add(c, oldc);
+                 d = safe_add(d, oldd);
+               }
+               return Array(a, b, c, d);
+             }
+
+             /**
+              * These functions implement the four basic operations the algorithm uses.
+              */
+
+             function md5_cmn(q, a, b, x, s, t) {
+               return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);
+             }
+
+             function md5_ff(a, b, c, d, x, s, t) {
+               return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
+             }
+
+             function md5_gg(a, b, c, d, x, s, t) {
+               return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
+             }
+
+             function md5_hh(a, b, c, d, x, s, t) {
+               return md5_cmn(b ^ c ^ d, a, b, x, s, t);
+             }
+
+             function md5_ii(a, b, c, d, x, s, t) {
+               return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
+             }
+           },
+           /**
+            * @member Hashes
+            * @class Hashes.SHA1
+            * @param {Object} [config]
+            * @constructor
+            *
+            * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined in FIPS 180-1
+            * Version 2.2 Copyright Paul Johnston 2000 - 2009.
+            * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+            * See http://pajhome.org.uk/crypt/md5 for details.
+            */
+           SHA1: function(options) {
+             /**
+              * Private config properties. You may need to tweak these to be compatible with
+              * the server-side, but the defaults work in most cases.
+              * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase}
+              */
+             var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase
+               b64pad = (options && typeof options.pad === 'string') ? options.pad : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance
+               utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding
+
+             // public methods
+             this.hex = function(s) {
+               return rstr2hex(rstr(s), hexcase);
+             };
+             this.b64 = function(s) {
+               return rstr2b64(rstr(s), b64pad);
+             };
+             this.any = function(s, e) {
+               return rstr2any(rstr(s), e);
+             };
+             this.raw = function(s) {
+               return rstr(s);
+             };
+             this.hex_hmac = function(k, d) {
+               return rstr2hex(rstr_hmac(k, d));
+             };
+             this.b64_hmac = function(k, d) {
+               return rstr2b64(rstr_hmac(k, d), b64pad);
+             };
+             this.any_hmac = function(k, d, e) {
+               return rstr2any(rstr_hmac(k, d), e);
+             };
+             /**
+              * Perform a simple self-test to see if the VM is working
+              * @return {String} Hexadecimal hash sample
+              * @public
+              */
+             this.vm_test = function() {
+               return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+             };
+             /**
+              * @description Enable/disable uppercase hexadecimal returned string
+              * @param {boolean}
+              * @return {Object} this
+              * @public
+              */
+             this.setUpperCase = function(a) {
+               if (typeof a === 'boolean') {
+                 hexcase = a;
+               }
+               return this;
+             };
+             /**
+              * @description Defines a base64 pad string
+              * @param {string} Pad
+              * @return {Object} this
+              * @public
+              */
+             this.setPad = function(a) {
+               b64pad = a || b64pad;
+               return this;
+             };
+             /**
+              * @description Defines a base64 pad string
+              * @param {boolean}
+              * @return {Object} this
+              * @public
+              */
+             this.setUTF8 = function(a) {
+               if (typeof a === 'boolean') {
+                 utf8 = a;
+               }
+               return this;
+             };
+
+             // private methods
+
+             /**
+              * Calculate the SHA-512 of a raw string
+              */
+
+             function rstr(s) {
+               s = (utf8) ? utf8Encode(s) : s;
+               return binb2rstr(binb(rstr2binb(s), s.length * 8));
+             }
+
+             /**
+              * Calculate the HMAC-SHA1 of a key and some data (raw strings)
+              */
+
+             function rstr_hmac(key, data) {
+               var bkey, ipad, opad, i, hash;
+               key = (utf8) ? utf8Encode(key) : key;
+               data = (utf8) ? utf8Encode(data) : data;
+               bkey = rstr2binb(key);
+
+               if (bkey.length > 16) {
+                 bkey = binb(bkey, key.length * 8);
+               }
+               ipad = Array(16), opad = Array(16);
+               for (i = 0; i < 16; i += 1) {
+                 ipad[i] = bkey[i] ^ 0x36363636;
+                 opad[i] = bkey[i] ^ 0x5C5C5C5C;
+               }
+               hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8);
+               return binb2rstr(binb(opad.concat(hash), 512 + 160));
+             }
+
+             /**
+              * Calculate the SHA-1 of an array of big-endian words, and a bit length
+              */
+
+             function binb(x, len) {
+               var i, j, t, olda, oldb, oldc, oldd, olde,
+                 w = Array(80),
+                 a = 1732584193,
+                 b = -271733879,
+                 c = -1732584194,
+                 d = 271733878,
+                 e = -1009589776;
+
+               /* append padding */
+               x[len >> 5] |= 0x80 << (24 - len % 32);
+               x[((len + 64 >> 9) << 4) + 15] = len;
+
+               for (i = 0; i < x.length; i += 16) {
+                 olda = a;
+                 oldb = b;
+                 oldc = c;
+                 oldd = d;
+                 olde = e;
+
+                 for (j = 0; j < 80; j += 1) {
+                   if (j < 16) {
+                     w[j] = x[i + j];
+                   } else {
+                     w[j] = bit_rol(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);
+                   }
+                   t = safe_add(safe_add(bit_rol(a, 5), sha1_ft(j, b, c, d)),
+                     safe_add(safe_add(e, w[j]), sha1_kt(j)));
+                   e = d;
+                   d = c;
+                   c = bit_rol(b, 30);
+                   b = a;
+                   a = t;
+                 }
+
+                 a = safe_add(a, olda);
+                 b = safe_add(b, oldb);
+                 c = safe_add(c, oldc);
+                 d = safe_add(d, oldd);
+                 e = safe_add(e, olde);
+               }
+               return Array(a, b, c, d, e);
+             }
+
+             /**
+              * Perform the appropriate triplet combination function for the current
+              * iteration
+              */
+
+             function sha1_ft(t, b, c, d) {
+               if (t < 20) {
+                 return (b & c) | ((~b) & d);
+               }
+               if (t < 40) {
+                 return b ^ c ^ d;
+               }
+               if (t < 60) {
+                 return (b & c) | (b & d) | (c & d);
+               }
+               return b ^ c ^ d;
+             }
+
+             /**
+              * Determine the appropriate additive constant for the current iteration
+              */
+
+             function sha1_kt(t) {
+               return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 :
+                 (t < 60) ? -1894007588 : -899497514;
+             }
+           },
+           /**
+            * @class Hashes.SHA256
+            * @param {config}
+            *
+            * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined in FIPS 180-2
+            * Version 2.2 Copyright Angel Marin, Paul Johnston 2000 - 2009.
+            * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+            * See http://pajhome.org.uk/crypt/md5 for details.
+            * Also http://anmar.eu.org/projects/jssha2/
+            */
+           SHA256: function(options) {
+             /**
+              * Private properties configuration variables. You may need to tweak these to be compatible with
+              * the server-side, but the defaults work in most cases.
+              * @see this.setUpperCase() method
+              * @see this.setPad() method
+              */
+             var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase  */
+               b64pad = (options && typeof options.pad === 'string') ? options.pad : '=',
+               /* base-64 pad character. Default '=' for strict RFC compliance   */
+               utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true,
+               /* enable/disable utf8 encoding */
+               sha256_K;
+
+             /* privileged (public) methods */
+             this.hex = function(s) {
+               return rstr2hex(rstr(s, utf8));
+             };
+             this.b64 = function(s) {
+               return rstr2b64(rstr(s, utf8), b64pad);
+             };
+             this.any = function(s, e) {
+               return rstr2any(rstr(s, utf8), e);
+             };
+             this.raw = function(s) {
+               return rstr(s, utf8);
+             };
+             this.hex_hmac = function(k, d) {
+               return rstr2hex(rstr_hmac(k, d));
+             };
+             this.b64_hmac = function(k, d) {
+               return rstr2b64(rstr_hmac(k, d), b64pad);
+             };
+             this.any_hmac = function(k, d, e) {
+               return rstr2any(rstr_hmac(k, d), e);
+             };
+             /**
+              * Perform a simple self-test to see if the VM is working
+              * @return {String} Hexadecimal hash sample
+              * @public
+              */
+             this.vm_test = function() {
+               return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+             };
+             /**
+              * Enable/disable uppercase hexadecimal returned string
+              * @param {boolean}
+              * @return {Object} this
+              * @public
+              */
+             this.setUpperCase = function(a) {
+               if (typeof a === 'boolean') {
+                 hexcase = a;
+               }
+               return this;
+             };
+             /**
+              * @description Defines a base64 pad string
+              * @param {string} Pad
+              * @return {Object} this
+              * @public
+              */
+             this.setPad = function(a) {
+               b64pad = a || b64pad;
+               return this;
+             };
+             /**
+              * Defines a base64 pad string
+              * @param {boolean}
+              * @return {Object} this
+              * @public
+              */
+             this.setUTF8 = function(a) {
+               if (typeof a === 'boolean') {
+                 utf8 = a;
+               }
+               return this;
+             };
+
+             // private methods
+
+             /**
+              * Calculate the SHA-512 of a raw string
+              */
+
+             function rstr(s, utf8) {
+               s = (utf8) ? utf8Encode(s) : s;
+               return binb2rstr(binb(rstr2binb(s), s.length * 8));
+             }
+
+             /**
+              * Calculate the HMAC-sha256 of a key and some data (raw strings)
+              */
+
+             function rstr_hmac(key, data) {
+               key = (utf8) ? utf8Encode(key) : key;
+               data = (utf8) ? utf8Encode(data) : data;
+               var hash, i = 0,
+                 bkey = rstr2binb(key),
+                 ipad = Array(16),
+                 opad = Array(16);
+
+               if (bkey.length > 16) {
+                 bkey = binb(bkey, key.length * 8);
+               }
+
+               for (; i < 16; i += 1) {
+                 ipad[i] = bkey[i] ^ 0x36363636;
+                 opad[i] = bkey[i] ^ 0x5C5C5C5C;
+               }
+
+               hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8);
+               return binb2rstr(binb(opad.concat(hash), 512 + 256));
+             }
+
+             /*
+              * Main sha256 function, with its support functions
+              */
+
+             function sha256_S(X, n) {
+               return (X >>> n) | (X << (32 - n));
+             }
+
+             function sha256_R(X, n) {
+               return (X >>> n);
+             }
+
+             function sha256_Ch(x, y, z) {
+               return ((x & y) ^ ((~x) & z));
+             }
+
+             function sha256_Maj(x, y, z) {
+               return ((x & y) ^ (x & z) ^ (y & z));
+             }
+
+             function sha256_Sigma0256(x) {
+               return (sha256_S(x, 2) ^ sha256_S(x, 13) ^ sha256_S(x, 22));
+             }
+
+             function sha256_Sigma1256(x) {
+               return (sha256_S(x, 6) ^ sha256_S(x, 11) ^ sha256_S(x, 25));
+             }
+
+             function sha256_Gamma0256(x) {
+               return (sha256_S(x, 7) ^ sha256_S(x, 18) ^ sha256_R(x, 3));
+             }
+
+             function sha256_Gamma1256(x) {
+               return (sha256_S(x, 17) ^ sha256_S(x, 19) ^ sha256_R(x, 10));
+             }
+
+             sha256_K = [
+               1116352408, 1899447441, -1245643825, -373957723, 961987163, 1508970993, -1841331548, -1424204075, -670586216, 310598401, 607225278, 1426881987,
+               1925078388, -2132889090, -1680079193, -1046744716, -459576895, -272742522,
+               264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, -1740746414, -1473132947, -1341970488, -1084653625, -958395405, -710438585,
+               113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291,
+               1695183700, 1986661051, -2117940946, -1838011259, -1564481375, -1474664885, -1035236496, -949202525, -778901479, -694614492, -200395387, 275423344,
+               430227734, 506948616, 659060556, 883997877, 958139571, 1322822218,
+               1537002063, 1747873779, 1955562222, 2024104815, -2067236844, -1933114872, -1866530822, -1538233109, -1090935817, -965641998
+             ];
+
+             function binb(m, l) {
+               var HASH = [1779033703, -1150833019, 1013904242, -1521486534,
+                 1359893119, -1694144372, 528734635, 1541459225
+               ];
+               var W = new Array(64);
+               var a, b, c, d, e, f, g, h;
+               var i, j, T1, T2;
+
+               /* append padding */
+               m[l >> 5] |= 0x80 << (24 - l % 32);
+               m[((l + 64 >> 9) << 4) + 15] = l;
+
+               for (i = 0; i < m.length; i += 16) {
+                 a = HASH[0];
+                 b = HASH[1];
+                 c = HASH[2];
+                 d = HASH[3];
+                 e = HASH[4];
+                 f = HASH[5];
+                 g = HASH[6];
+                 h = HASH[7];
+
+                 for (j = 0; j < 64; j += 1) {
+                   if (j < 16) {
+                     W[j] = m[j + i];
+                   } else {
+                     W[j] = safe_add(safe_add(safe_add(sha256_Gamma1256(W[j - 2]), W[j - 7]),
+                       sha256_Gamma0256(W[j - 15])), W[j - 16]);
+                   }
+
+                   T1 = safe_add(safe_add(safe_add(safe_add(h, sha256_Sigma1256(e)), sha256_Ch(e, f, g)),
+                     sha256_K[j]), W[j]);
+                   T2 = safe_add(sha256_Sigma0256(a), sha256_Maj(a, b, c));
+                   h = g;
+                   g = f;
+                   f = e;
+                   e = safe_add(d, T1);
+                   d = c;
+                   c = b;
+                   b = a;
+                   a = safe_add(T1, T2);
+                 }
+
+                 HASH[0] = safe_add(a, HASH[0]);
+                 HASH[1] = safe_add(b, HASH[1]);
+                 HASH[2] = safe_add(c, HASH[2]);
+                 HASH[3] = safe_add(d, HASH[3]);
+                 HASH[4] = safe_add(e, HASH[4]);
+                 HASH[5] = safe_add(f, HASH[5]);
+                 HASH[6] = safe_add(g, HASH[6]);
+                 HASH[7] = safe_add(h, HASH[7]);
+               }
+               return HASH;
+             }
+
+           },
+
+           /**
+            * @class Hashes.SHA512
+            * @param {config}
+            *
+            * A JavaScript implementation of the Secure Hash Algorithm, SHA-512, as defined in FIPS 180-2
+            * Version 2.2 Copyright Anonymous Contributor, Paul Johnston 2000 - 2009.
+            * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+            * See http://pajhome.org.uk/crypt/md5 for details.
+            */
+           SHA512: function(options) {
+             /**
+              * Private properties configuration variables. You may need to tweak these to be compatible with
+              * the server-side, but the defaults work in most cases.
+              * @see this.setUpperCase() method
+              * @see this.setPad() method
+              */
+             var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false,
+               /* hexadecimal output case format. false - lowercase; true - uppercase  */
+               b64pad = (options && typeof options.pad === 'string') ? options.pad : '=',
+               /* base-64 pad character. Default '=' for strict RFC compliance   */
+               utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true,
+               /* enable/disable utf8 encoding */
+               sha512_k;
+
+             /* privileged (public) methods */
+             this.hex = function(s) {
+               return rstr2hex(rstr(s));
+             };
+             this.b64 = function(s) {
+               return rstr2b64(rstr(s), b64pad);
+             };
+             this.any = function(s, e) {
+               return rstr2any(rstr(s), e);
+             };
+             this.raw = function(s) {
+               return rstr(s);
+             };
+             this.hex_hmac = function(k, d) {
+               return rstr2hex(rstr_hmac(k, d));
+             };
+             this.b64_hmac = function(k, d) {
+               return rstr2b64(rstr_hmac(k, d), b64pad);
+             };
+             this.any_hmac = function(k, d, e) {
+               return rstr2any(rstr_hmac(k, d), e);
+             };
+             /**
+              * Perform a simple self-test to see if the VM is working
+              * @return {String} Hexadecimal hash sample
+              * @public
+              */
+             this.vm_test = function() {
+               return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+             };
+             /**
+              * @description Enable/disable uppercase hexadecimal returned string
+              * @param {boolean}
+              * @return {Object} this
+              * @public
+              */
+             this.setUpperCase = function(a) {
+               if (typeof a === 'boolean') {
+                 hexcase = a;
+               }
+               return this;
+             };
+             /**
+              * @description Defines a base64 pad string
+              * @param {string} Pad
+              * @return {Object} this
+              * @public
+              */
+             this.setPad = function(a) {
+               b64pad = a || b64pad;
+               return this;
+             };
+             /**
+              * @description Defines a base64 pad string
+              * @param {boolean}
+              * @return {Object} this
+              * @public
+              */
+             this.setUTF8 = function(a) {
+               if (typeof a === 'boolean') {
+                 utf8 = a;
+               }
+               return this;
+             };
+
+             /* private methods */
+
+             /**
+              * Calculate the SHA-512 of a raw string
+              */
+
+             function rstr(s) {
+               s = (utf8) ? utf8Encode(s) : s;
+               return binb2rstr(binb(rstr2binb(s), s.length * 8));
+             }
+             /*
+              * Calculate the HMAC-SHA-512 of a key and some data (raw strings)
+              */
+
+             function rstr_hmac(key, data) {
+               key = (utf8) ? utf8Encode(key) : key;
+               data = (utf8) ? utf8Encode(data) : data;
+
+               var hash, i = 0,
+                 bkey = rstr2binb(key),
+                 ipad = Array(32),
+                 opad = Array(32);
+
+               if (bkey.length > 32) {
+                 bkey = binb(bkey, key.length * 8);
+               }
+
+               for (; i < 32; i += 1) {
+                 ipad[i] = bkey[i] ^ 0x36363636;
+                 opad[i] = bkey[i] ^ 0x5C5C5C5C;
+               }
+
+               hash = binb(ipad.concat(rstr2binb(data)), 1024 + data.length * 8);
+               return binb2rstr(binb(opad.concat(hash), 1024 + 512));
+             }
+
+             /**
+              * Calculate the SHA-512 of an array of big-endian dwords, and a bit length
+              */
+
+             function binb(x, len) {
+               var j, i, l,
+                 W = new Array(80),
+                 hash = new Array(16),
+                 //Initial hash values
+                 H = [
+                   new int64(0x6a09e667, -205731576),
+                   new int64(-1150833019, -2067093701),
+                   new int64(0x3c6ef372, -23791573),
+                   new int64(-1521486534, 0x5f1d36f1),
+                   new int64(0x510e527f, -1377402159),
+                   new int64(-1694144372, 0x2b3e6c1f),
+                   new int64(0x1f83d9ab, -79577749),
+                   new int64(0x5be0cd19, 0x137e2179)
+                 ],
+                 T1 = new int64(0, 0),
+                 T2 = new int64(0, 0),
+                 a = new int64(0, 0),
+                 b = new int64(0, 0),
+                 c = new int64(0, 0),
+                 d = new int64(0, 0),
+                 e = new int64(0, 0),
+                 f = new int64(0, 0),
+                 g = new int64(0, 0),
+                 h = new int64(0, 0),
+                 //Temporary variables not specified by the document
+                 s0 = new int64(0, 0),
+                 s1 = new int64(0, 0),
+                 Ch = new int64(0, 0),
+                 Maj = new int64(0, 0),
+                 r1 = new int64(0, 0),
+                 r2 = new int64(0, 0),
+                 r3 = new int64(0, 0);
+
+               if (sha512_k === undefined) {
+                 //SHA512 constants
+                 sha512_k = [
+                   new int64(0x428a2f98, -685199838), new int64(0x71374491, 0x23ef65cd),
+                   new int64(-1245643825, -330482897), new int64(-373957723, -2121671748),
+                   new int64(0x3956c25b, -213338824), new int64(0x59f111f1, -1241133031),
+                   new int64(-1841331548, -1357295717), new int64(-1424204075, -630357736),
+                   new int64(-670586216, -1560083902), new int64(0x12835b01, 0x45706fbe),
+                   new int64(0x243185be, 0x4ee4b28c), new int64(0x550c7dc3, -704662302),
+                   new int64(0x72be5d74, -226784913), new int64(-2132889090, 0x3b1696b1),
+                   new int64(-1680079193, 0x25c71235), new int64(-1046744716, -815192428),
+                   new int64(-459576895, -1628353838), new int64(-272742522, 0x384f25e3),
+                   new int64(0xfc19dc6, -1953704523), new int64(0x240ca1cc, 0x77ac9c65),
+                   new int64(0x2de92c6f, 0x592b0275), new int64(0x4a7484aa, 0x6ea6e483),
+                   new int64(0x5cb0a9dc, -1119749164), new int64(0x76f988da, -2096016459),
+                   new int64(-1740746414, -295247957), new int64(-1473132947, 0x2db43210),
+                   new int64(-1341970488, -1728372417), new int64(-1084653625, -1091629340),
+                   new int64(-958395405, 0x3da88fc2), new int64(-710438585, -1828018395),
+                   new int64(0x6ca6351, -536640913), new int64(0x14292967, 0xa0e6e70),
+                   new int64(0x27b70a85, 0x46d22ffc), new int64(0x2e1b2138, 0x5c26c926),
+                   new int64(0x4d2c6dfc, 0x5ac42aed), new int64(0x53380d13, -1651133473),
+                   new int64(0x650a7354, -1951439906), new int64(0x766a0abb, 0x3c77b2a8),
+                   new int64(-2117940946, 0x47edaee6), new int64(-1838011259, 0x1482353b),
+                   new int64(-1564481375, 0x4cf10364), new int64(-1474664885, -1136513023),
+                   new int64(-1035236496, -789014639), new int64(-949202525, 0x654be30),
+                   new int64(-778901479, -688958952), new int64(-694614492, 0x5565a910),
+                   new int64(-200395387, 0x5771202a), new int64(0x106aa070, 0x32bbd1b8),
+                   new int64(0x19a4c116, -1194143544), new int64(0x1e376c08, 0x5141ab53),
+                   new int64(0x2748774c, -544281703), new int64(0x34b0bcb5, -509917016),
+                   new int64(0x391c0cb3, -976659869), new int64(0x4ed8aa4a, -482243893),
+                   new int64(0x5b9cca4f, 0x7763e373), new int64(0x682e6ff3, -692930397),
+                   new int64(0x748f82ee, 0x5defb2fc), new int64(0x78a5636f, 0x43172f60),
+                   new int64(-2067236844, -1578062990), new int64(-1933114872, 0x1a6439ec),
+                   new int64(-1866530822, 0x23631e28), new int64(-1538233109, -561857047),
+                   new int64(-1090935817, -1295615723), new int64(-965641998, -479046869),
+                   new int64(-903397682, -366583396), new int64(-779700025, 0x21c0c207),
+                   new int64(-354779690, -840897762), new int64(-176337025, -294727304),
+                   new int64(0x6f067aa, 0x72176fba), new int64(0xa637dc5, -1563912026),
+                   new int64(0x113f9804, -1090974290), new int64(0x1b710b35, 0x131c471b),
+                   new int64(0x28db77f5, 0x23047d84), new int64(0x32caab7b, 0x40c72493),
+                   new int64(0x3c9ebe0a, 0x15c9bebc), new int64(0x431d67c4, -1676669620),
+                   new int64(0x4cc5d4be, -885112138), new int64(0x597f299c, -60457430),
+                   new int64(0x5fcb6fab, 0x3ad6faec), new int64(0x6c44198c, 0x4a475817)
+                 ];
+               }
+
+               for (i = 0; i < 80; i += 1) {
+                 W[i] = new int64(0, 0);
+               }
+
+               // append padding to the source string. The format is described in the FIPS.
+               x[len >> 5] |= 0x80 << (24 - (len & 0x1f));
+               x[((len + 128 >> 10) << 5) + 31] = len;
+               l = x.length;
+               for (i = 0; i < l; i += 32) { //32 dwords is the block size
+                 int64copy(a, H[0]);
+                 int64copy(b, H[1]);
+                 int64copy(c, H[2]);
+                 int64copy(d, H[3]);
+                 int64copy(e, H[4]);
+                 int64copy(f, H[5]);
+                 int64copy(g, H[6]);
+                 int64copy(h, H[7]);
+
+                 for (j = 0; j < 16; j += 1) {
+                   W[j].h = x[i + 2 * j];
+                   W[j].l = x[i + 2 * j + 1];
+                 }
+
+                 for (j = 16; j < 80; j += 1) {
+                   //sigma1
+                   int64rrot(r1, W[j - 2], 19);
+                   int64revrrot(r2, W[j - 2], 29);
+                   int64shr(r3, W[j - 2], 6);
+                   s1.l = r1.l ^ r2.l ^ r3.l;
+                   s1.h = r1.h ^ r2.h ^ r3.h;
+                   //sigma0
+                   int64rrot(r1, W[j - 15], 1);
+                   int64rrot(r2, W[j - 15], 8);
+                   int64shr(r3, W[j - 15], 7);
+                   s0.l = r1.l ^ r2.l ^ r3.l;
+                   s0.h = r1.h ^ r2.h ^ r3.h;
+
+                   int64add4(W[j], s1, W[j - 7], s0, W[j - 16]);
+                 }
+
+                 for (j = 0; j < 80; j += 1) {
+                   //Ch
+                   Ch.l = (e.l & f.l) ^ (~e.l & g.l);
+                   Ch.h = (e.h & f.h) ^ (~e.h & g.h);
+
+                   //Sigma1
+                   int64rrot(r1, e, 14);
+                   int64rrot(r2, e, 18);
+                   int64revrrot(r3, e, 9);
+                   s1.l = r1.l ^ r2.l ^ r3.l;
+                   s1.h = r1.h ^ r2.h ^ r3.h;
+
+                   //Sigma0
+                   int64rrot(r1, a, 28);
+                   int64revrrot(r2, a, 2);
+                   int64revrrot(r3, a, 7);
+                   s0.l = r1.l ^ r2.l ^ r3.l;
+                   s0.h = r1.h ^ r2.h ^ r3.h;
+
+                   //Maj
+                   Maj.l = (a.l & b.l) ^ (a.l & c.l) ^ (b.l & c.l);
+                   Maj.h = (a.h & b.h) ^ (a.h & c.h) ^ (b.h & c.h);
+
+                   int64add5(T1, h, s1, Ch, sha512_k[j], W[j]);
+                   int64add(T2, s0, Maj);
+
+                   int64copy(h, g);
+                   int64copy(g, f);
+                   int64copy(f, e);
+                   int64add(e, d, T1);
+                   int64copy(d, c);
+                   int64copy(c, b);
+                   int64copy(b, a);
+                   int64add(a, T1, T2);
+                 }
+                 int64add(H[0], H[0], a);
+                 int64add(H[1], H[1], b);
+                 int64add(H[2], H[2], c);
+                 int64add(H[3], H[3], d);
+                 int64add(H[4], H[4], e);
+                 int64add(H[5], H[5], f);
+                 int64add(H[6], H[6], g);
+                 int64add(H[7], H[7], h);
+               }
+
+               //represent the hash as an array of 32-bit dwords
+               for (i = 0; i < 8; i += 1) {
+                 hash[2 * i] = H[i].h;
+                 hash[2 * i + 1] = H[i].l;
+               }
+               return hash;
+             }
+
+             //A constructor for 64-bit numbers
+
+             function int64(h, l) {
+               this.h = h;
+               this.l = l;
+               //this.toString = int64toString;
+             }
+
+             //Copies src into dst, assuming both are 64-bit numbers
+
+             function int64copy(dst, src) {
+               dst.h = src.h;
+               dst.l = src.l;
+             }
+
+             //Right-rotates a 64-bit number by shift
+             //Won't handle cases of shift>=32
+             //The function revrrot() is for that
+
+             function int64rrot(dst, x, shift) {
+               dst.l = (x.l >>> shift) | (x.h << (32 - shift));
+               dst.h = (x.h >>> shift) | (x.l << (32 - shift));
+             }
+
+             //Reverses the dwords of the source and then rotates right by shift.
+             //This is equivalent to rotation by 32+shift
+
+             function int64revrrot(dst, x, shift) {
+               dst.l = (x.h >>> shift) | (x.l << (32 - shift));
+               dst.h = (x.l >>> shift) | (x.h << (32 - shift));
+             }
+
+             //Bitwise-shifts right a 64-bit number by shift
+             //Won't handle shift>=32, but it's never needed in SHA512
+
+             function int64shr(dst, x, shift) {
+               dst.l = (x.l >>> shift) | (x.h << (32 - shift));
+               dst.h = (x.h >>> shift);
+             }
+
+             //Adds two 64-bit numbers
+             //Like the original implementation, does not rely on 32-bit operations
+
+             function int64add(dst, x, y) {
+               var w0 = (x.l & 0xffff) + (y.l & 0xffff);
+               var w1 = (x.l >>> 16) + (y.l >>> 16) + (w0 >>> 16);
+               var w2 = (x.h & 0xffff) + (y.h & 0xffff) + (w1 >>> 16);
+               var w3 = (x.h >>> 16) + (y.h >>> 16) + (w2 >>> 16);
+               dst.l = (w0 & 0xffff) | (w1 << 16);
+               dst.h = (w2 & 0xffff) | (w3 << 16);
+             }
+
+             //Same, except with 4 addends. Works faster than adding them one by one.
+
+             function int64add4(dst, a, b, c, d) {
+               var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff);
+               var w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (w0 >>> 16);
+               var w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (w1 >>> 16);
+               var w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (w2 >>> 16);
+               dst.l = (w0 & 0xffff) | (w1 << 16);
+               dst.h = (w2 & 0xffff) | (w3 << 16);
+             }
+
+             //Same, except with 5 addends
+
+             function int64add5(dst, a, b, c, d, e) {
+               var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff) + (e.l & 0xffff),
+                 w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (e.l >>> 16) + (w0 >>> 16),
+                 w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (e.h & 0xffff) + (w1 >>> 16),
+                 w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (e.h >>> 16) + (w2 >>> 16);
+               dst.l = (w0 & 0xffff) | (w1 << 16);
+               dst.h = (w2 & 0xffff) | (w3 << 16);
+             }
+           },
+           /**
+            * @class Hashes.RMD160
+            * @constructor
+            * @param {Object} [config]
+            *
+            * A JavaScript implementation of the RIPEMD-160 Algorithm
+            * Version 2.2 Copyright Jeremy Lin, Paul Johnston 2000 - 2009.
+            * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+            * See http://pajhome.org.uk/crypt/md5 for details.
+            * Also http://www.ocf.berkeley.edu/~jjlin/jsotp/
+            */
+           RMD160: function(options) {
+             /**
+              * Private properties configuration variables. You may need to tweak these to be compatible with
+              * the server-side, but the defaults work in most cases.
+              * @see this.setUpperCase() method
+              * @see this.setPad() method
+              */
+             var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false,
+               /* hexadecimal output case format. false - lowercase; true - uppercase  */
+               b64pad = (options && typeof options.pad === 'string') ? options.pa : '=',
+               /* base-64 pad character. Default '=' for strict RFC compliance   */
+               utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true,
+               /* enable/disable utf8 encoding */
+               rmd160_r1 = [
+                 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+                 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
+                 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
+                 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
+                 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
+               ],
+               rmd160_r2 = [
+                 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
+                 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
+                 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
+                 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
+                 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
+               ],
+               rmd160_s1 = [
+                 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
+                 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
+                 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
+                 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
+                 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
+               ],
+               rmd160_s2 = [
+                 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
+                 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
+                 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
+                 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
+                 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
+               ];
+
+             /* privileged (public) methods */
+             this.hex = function(s) {
+               return rstr2hex(rstr(s));
+             };
+             this.b64 = function(s) {
+               return rstr2b64(rstr(s), b64pad);
+             };
+             this.any = function(s, e) {
+               return rstr2any(rstr(s), e);
+             };
+             this.raw = function(s) {
+               return rstr(s);
+             };
+             this.hex_hmac = function(k, d) {
+               return rstr2hex(rstr_hmac(k, d));
+             };
+             this.b64_hmac = function(k, d) {
+               return rstr2b64(rstr_hmac(k, d), b64pad);
+             };
+             this.any_hmac = function(k, d, e) {
+               return rstr2any(rstr_hmac(k, d), e);
+             };
+             /**
+              * Perform a simple self-test to see if the VM is working
+              * @return {String} Hexadecimal hash sample
+              * @public
+              */
+             this.vm_test = function() {
+               return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+             };
+             /**
+              * @description Enable/disable uppercase hexadecimal returned string
+              * @param {boolean}
+              * @return {Object} this
+              * @public
+              */
+             this.setUpperCase = function(a) {
+               if (typeof a === 'boolean') {
+                 hexcase = a;
+               }
+               return this;
+             };
+             /**
+              * @description Defines a base64 pad string
+              * @param {string} Pad
+              * @return {Object} this
+              * @public
+              */
+             this.setPad = function(a) {
+               if (typeof a !== 'undefined') {
+                 b64pad = a;
+               }
+               return this;
+             };
+             /**
+              * @description Defines a base64 pad string
+              * @param {boolean}
+              * @return {Object} this
+              * @public
+              */
+             this.setUTF8 = function(a) {
+               if (typeof a === 'boolean') {
+                 utf8 = a;
+               }
+               return this;
+             };
+
+             /* private methods */
+
+             /**
+              * Calculate the rmd160 of a raw string
+              */
+
+             function rstr(s) {
+               s = (utf8) ? utf8Encode(s) : s;
+               return binl2rstr(binl(rstr2binl(s), s.length * 8));
+             }
+
+             /**
+              * Calculate the HMAC-rmd160 of a key and some data (raw strings)
+              */
+
+             function rstr_hmac(key, data) {
+               key = (utf8) ? utf8Encode(key) : key;
+               data = (utf8) ? utf8Encode(data) : data;
+               var i, hash,
+                 bkey = rstr2binl(key),
+                 ipad = Array(16),
+                 opad = Array(16);
+
+               if (bkey.length > 16) {
+                 bkey = binl(bkey, key.length * 8);
+               }
+
+               for (i = 0; i < 16; i += 1) {
+                 ipad[i] = bkey[i] ^ 0x36363636;
+                 opad[i] = bkey[i] ^ 0x5C5C5C5C;
+               }
+               hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
+               return binl2rstr(binl(opad.concat(hash), 512 + 160));
+             }
+
+             /**
+              * Convert an array of little-endian words to a string
+              */
+
+             function binl2rstr(input) {
+               var i, output = '',
+                 l = input.length * 32;
+               for (i = 0; i < l; i += 8) {
+                 output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF);
+               }
+               return output;
+             }
+
+             /**
+              * Calculate the RIPE-MD160 of an array of little-endian words, and a bit length.
+              */
+
+             function binl(x, len) {
+               var T, j, i, l,
+                 h0 = 0x67452301,
+                 h1 = 0xefcdab89,
+                 h2 = 0x98badcfe,
+                 h3 = 0x10325476,
+                 h4 = 0xc3d2e1f0,
+                 A1, B1, C1, D1, E1,
+                 A2, B2, C2, D2, E2;
+
+               /* append padding */
+               x[len >> 5] |= 0x80 << (len % 32);
+               x[(((len + 64) >>> 9) << 4) + 14] = len;
+               l = x.length;
+
+               for (i = 0; i < l; i += 16) {
+                 A1 = A2 = h0;
+                 B1 = B2 = h1;
+                 C1 = C2 = h2;
+                 D1 = D2 = h3;
+                 E1 = E2 = h4;
+                 for (j = 0; j <= 79; j += 1) {
+                   T = safe_add(A1, rmd160_f(j, B1, C1, D1));
+                   T = safe_add(T, x[i + rmd160_r1[j]]);
+                   T = safe_add(T, rmd160_K1(j));
+                   T = safe_add(bit_rol(T, rmd160_s1[j]), E1);
+                   A1 = E1;
+                   E1 = D1;
+                   D1 = bit_rol(C1, 10);
+                   C1 = B1;
+                   B1 = T;
+                   T = safe_add(A2, rmd160_f(79 - j, B2, C2, D2));
+                   T = safe_add(T, x[i + rmd160_r2[j]]);
+                   T = safe_add(T, rmd160_K2(j));
+                   T = safe_add(bit_rol(T, rmd160_s2[j]), E2);
+                   A2 = E2;
+                   E2 = D2;
+                   D2 = bit_rol(C2, 10);
+                   C2 = B2;
+                   B2 = T;
+                 }
+
+                 T = safe_add(h1, safe_add(C1, D2));
+                 h1 = safe_add(h2, safe_add(D1, E2));
+                 h2 = safe_add(h3, safe_add(E1, A2));
+                 h3 = safe_add(h4, safe_add(A1, B2));
+                 h4 = safe_add(h0, safe_add(B1, C2));
+                 h0 = T;
+               }
+               return [h0, h1, h2, h3, h4];
+             }
+
+             // specific algorithm methods
+
+             function rmd160_f(j, x, y, z) {
+               return (0 <= j && j <= 15) ? (x ^ y ^ z) :
+                 (16 <= j && j <= 31) ? (x & y) | (~x & z) :
+                 (32 <= j && j <= 47) ? (x | ~y) ^ z :
+                 (48 <= j && j <= 63) ? (x & z) | (y & ~z) :
+                 (64 <= j && j <= 79) ? x ^ (y | ~z) :
+                 'rmd160_f: j out of range';
+             }
+
+             function rmd160_K1(j) {
+               return (0 <= j && j <= 15) ? 0x00000000 :
+                 (16 <= j && j <= 31) ? 0x5a827999 :
+                 (32 <= j && j <= 47) ? 0x6ed9eba1 :
+                 (48 <= j && j <= 63) ? 0x8f1bbcdc :
+                 (64 <= j && j <= 79) ? 0xa953fd4e :
+                 'rmd160_K1: j out of range';
+             }
+
+             function rmd160_K2(j) {
+               return (0 <= j && j <= 15) ? 0x50a28be6 :
+                 (16 <= j && j <= 31) ? 0x5c4dd124 :
+                 (32 <= j && j <= 47) ? 0x6d703ef3 :
+                 (48 <= j && j <= 63) ? 0x7a6d76e9 :
+                 (64 <= j && j <= 79) ? 0x00000000 :
+                 'rmd160_K2: j out of range';
+             }
+           }
+         };
+
+         // exposes Hashes
+         (function(window, undefined$1) {
+           var freeExports = false;
+           {
+             freeExports = exports;
+             if (exports && typeof commonjsGlobal === 'object' && commonjsGlobal && commonjsGlobal === commonjsGlobal.global) {
+               window = commonjsGlobal;
+             }
+           }
+
+           if (typeof undefined$1 === 'function' && typeof undefined$1.amd === 'object' && undefined$1.amd) {
+             // define as an anonymous module, so, through path mapping, it can be aliased
+             undefined$1(function() {
+               return Hashes;
+             });
+           } else if (freeExports) {
+             // in Node.js or RingoJS v0.8.0+
+             if ( module && module.exports === freeExports) {
+               module.exports = Hashes;
+             }
+             // in Narwhal or RingoJS v0.7.0-
+             else {
+               freeExports.Hashes = Hashes;
+             }
+           } else {
+             // in a browser or Rhino
+             window.Hashes = Hashes;
+           }
+         }(this));
+       }()); // IIFE
+       });
+
+       var immutable = extend$2;
+
+       var hasOwnProperty$3 = Object.prototype.hasOwnProperty;
+
+       function extend$2() {
+           var target = {};
+
+           for (var i = 0; i < arguments.length; i++) {
+               var source = arguments[i];
+
+               for (var key in source) {
+                   if (hasOwnProperty$3.call(source, key)) {
+                       target[key] = source[key];
+                   }
+               }
+           }
+
+           return target
+       }
+
+       var sha1 = new hashes.SHA1();
+
+       var ohauth = {};
+
+       ohauth.qsString = function(obj) {
+           return Object.keys(obj).sort().map(function(key) {
+               return ohauth.percentEncode(key) + '=' +
+                   ohauth.percentEncode(obj[key]);
+           }).join('&');
+       };
+
+       ohauth.stringQs = function(str) {
+           return str.split('&').filter(function (pair) {
+               return pair !== '';
+           }).reduce(function(obj, pair){
+               var parts = pair.split('=');
+               obj[decodeURIComponent(parts[0])] = (null === parts[1]) ?
+                   '' : decodeURIComponent(parts[1]);
+               return obj;
+           }, {});
+       };
+
+       ohauth.rawxhr = function(method, url, data, headers, callback) {
+           var xhr = new XMLHttpRequest(),
+               twoHundred = /^20\d$/;
+           xhr.onreadystatechange = function() {
+               if (4 === xhr.readyState && 0 !== xhr.status) {
+                   if (twoHundred.test(xhr.status)) callback(null, xhr);
+                   else return callback(xhr, null);
+               }
+           };
+           xhr.onerror = function(e) { return callback(e, null); };
+           xhr.open(method, url, true);
+           for (var h in headers) xhr.setRequestHeader(h, headers[h]);
+           xhr.send(data);
+           return xhr;
+       };
+
+       ohauth.xhr = function(method, url, auth, data, options, callback) {
+           var headers = (options && options.header) || {
+               'Content-Type': 'application/x-www-form-urlencoded'
+           };
+           headers.Authorization = 'OAuth ' + ohauth.authHeader(auth);
+           return ohauth.rawxhr(method, url, data, headers, callback);
+       };
+
+       ohauth.nonce = function() {
+           for (var o = ''; o.length < 6;) {
+               o += '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'[Math.floor(Math.random() * 61)];
+           }
+           return o;
+       };
+
+       ohauth.authHeader = function(obj) {
+           return Object.keys(obj).sort().map(function(key) {
+               return encodeURIComponent(key) + '="' + encodeURIComponent(obj[key]) + '"';
+           }).join(', ');
+       };
+
+       ohauth.timestamp = function() { return ~~((+new Date()) / 1000); };
+
+       ohauth.percentEncode = function(s) {
+           return encodeURIComponent(s)
+               .replace(/\!/g, '%21').replace(/\'/g, '%27')
+               .replace(/\*/g, '%2A').replace(/\(/g, '%28').replace(/\)/g, '%29');
+       };
+
+       ohauth.baseString = function(method, url, params) {
+           if (params.oauth_signature) delete params.oauth_signature;
+           return [
+               method,
+               ohauth.percentEncode(url),
+               ohauth.percentEncode(ohauth.qsString(params))].join('&');
+       };
+
+       ohauth.signature = function(oauth_secret, token_secret, baseString) {
+           return sha1.b64_hmac(
+               ohauth.percentEncode(oauth_secret) + '&' +
+               ohauth.percentEncode(token_secret),
+               baseString);
+       };
+
+       /**
+        * Takes an options object for configuration (consumer_key,
+        * consumer_secret, version, signature_method, token, token_secret)
+        * and returns a function that generates the Authorization header
+        * for given data.
+        *
+        * The returned function takes these parameters:
+        * - method: GET/POST/...
+        * - uri: full URI with protocol, port, path and query string
+        * - extra_params: any extra parameters (that are passed in the POST data),
+        *   can be an object or a from-urlencoded string.
+        *
+        * Returned function returns full OAuth header with "OAuth" string in it.
+        */
+
+       ohauth.headerGenerator = function(options) {
+           options = options || {};
+           var consumer_key = options.consumer_key || '',
+               consumer_secret = options.consumer_secret || '',
+               signature_method = options.signature_method || 'HMAC-SHA1',
+               version = options.version || '1.0',
+               token = options.token || '',
+               token_secret = options.token_secret || '';
+
+           return function(method, uri, extra_params) {
+               method = method.toUpperCase();
+               if (typeof extra_params === 'string' && extra_params.length > 0) {
+                   extra_params = ohauth.stringQs(extra_params);
+               }
+
+               var uri_parts = uri.split('?', 2),
+               base_uri = uri_parts[0];
+
+               var query_params = uri_parts.length === 2 ?
+                   ohauth.stringQs(uri_parts[1]) : {};
+
+               var oauth_params = {
+                   oauth_consumer_key: consumer_key,
+                   oauth_signature_method: signature_method,
+                   oauth_version: version,
+                   oauth_timestamp: ohauth.timestamp(),
+                   oauth_nonce: ohauth.nonce()
+               };
+
+               if (token) oauth_params.oauth_token = token;
+
+               var all_params = immutable({}, oauth_params, query_params, extra_params),
+                   base_str = ohauth.baseString(method, base_uri, all_params);
+
+               oauth_params.oauth_signature = ohauth.signature(consumer_secret, token_secret, base_str);
+
+               return 'OAuth ' + ohauth.authHeader(oauth_params);
+           };
+       };
+
+       var ohauth_1 = ohauth;
+
+       var resolveUrl = createCommonjsModule(function (module, exports) {
+       // Copyright 2014 Simon Lydell
+       // X11 (“MIT”) Licensed. (See LICENSE.)
+
+       void (function(root, factory) {
+         {
+           module.exports = factory();
+         }
+       }(commonjsGlobal, function() {
+
+         function resolveUrl(/* ...urls */) {
+           var numUrls = arguments.length;
+
+           if (numUrls === 0) {
+             throw new Error("resolveUrl requires at least one argument; got none.")
+           }
+
+           var base = document.createElement("base");
+           base.href = arguments[0];
+
+           if (numUrls === 1) {
+             return base.href
+           }
+
+           var head = document.getElementsByTagName("head")[0];
+           head.insertBefore(base, head.firstChild);
+
+           var a = document.createElement("a");
+           var resolved;
+
+           for (var index = 1; index < numUrls; index++) {
+             a.href = arguments[index];
+             resolved = a.href;
+             base.href = resolved;
+           }
+
+           head.removeChild(base);
+
+           return resolved
+         }
+
+         return resolveUrl
+
+       }));
+       });
+
+       var assign$2 = make_assign();
+       var create$7 = make_create();
+       var trim$1 = make_trim();
+       var Global = (typeof window !== 'undefined' ? window : commonjsGlobal);
+
+       var util = {
+               assign: assign$2,
+               create: create$7,
+               trim: trim$1,
+               bind: bind$3,
+               slice: slice$b,
+               each: each,
+               map: map$5,
+               pluck: pluck,
+               isList: isList,
+               isFunction: isFunction$2,
+               isObject: isObject$2,
+               Global: Global
+       };
+
+       function make_assign() {
+               if (Object.assign) {
+                       return Object.assign
+               } else {
+                       return function shimAssign(obj, props1, props2, etc) {
+                               for (var i = 1; i < arguments.length; i++) {
+                                       each(Object(arguments[i]), function(val, key) {
+                                               obj[key] = val;
+                                       });
+                               }                       
+                               return obj
+                       }
+               }
+       }
+
+       function make_create() {
+               if (Object.create) {
+                       return function create(obj, assignProps1, assignProps2, etc) {
+                               var assignArgsList = slice$b(arguments, 1);
+                               return assign$2.apply(this, [Object.create(obj)].concat(assignArgsList))
+                       }
+               } else {
+                       function F() {} // eslint-disable-line no-inner-declarations
+                       return function create(obj, assignProps1, assignProps2, etc) {
+                               var assignArgsList = slice$b(arguments, 1);
+                               F.prototype = obj;
+                               return assign$2.apply(this, [new F()].concat(assignArgsList))
+                       }
+               }
+       }
+
+       function make_trim() {
+               if (String.prototype.trim) {
+                       return function trim(str) {
+                               return String.prototype.trim.call(str)
+                       }
+               } else {
+                       return function trim(str) {
+                               return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '')
+                       }
+               }
+       }
+
+       function bind$3(obj, fn) {
+               return function() {
+                       return fn.apply(obj, Array.prototype.slice.call(arguments, 0))
+               }
+       }
+
+       function slice$b(arr, index) {
+               return Array.prototype.slice.call(arr, index || 0)
+       }
+
+       function each(obj, fn) {
+               pluck(obj, function(val, key) {
+                       fn(val, key);
+                       return false
+               });
+       }
+
+       function map$5(obj, fn) {
+               var res = (isList(obj) ? [] : {});
+               pluck(obj, function(v, k) {
+                       res[k] = fn(v, k);
+                       return false
+               });
+               return res
+       }
+
+       function pluck(obj, fn) {
+               if (isList(obj)) {
+                       for (var i=0; i<obj.length; i++) {
+                               if (fn(obj[i], i)) {
+                                       return obj[i]
+                               }
+                       }
+               } else {
+                       for (var key in obj) {
+                               if (obj.hasOwnProperty(key)) {
+                                       if (fn(obj[key], key)) {
+                                               return obj[key]
+                                       }
+                               }
+                       }
+               }
+       }
+
+       function isList(val) {
+               return (val != null && typeof val != 'function' && typeof val.length == 'number')
+       }
+
+       function isFunction$2(val) {
+               return val && {}.toString.call(val) === '[object Function]'
+       }
+
+       function isObject$2(val) {
+               return val && {}.toString.call(val) === '[object Object]'
+       }
+
+       var slice$c = util.slice;
+       var pluck$1 = util.pluck;
+       var each$1 = util.each;
+       var bind$4 = util.bind;
+       var create$8 = util.create;
+       var isList$1 = util.isList;
+       var isFunction$3 = util.isFunction;
+       var isObject$3 = util.isObject;
+
+       var storeEngine = {
+               createStore: createStore
+       };
+
+       var storeAPI = {
+               version: '2.0.12',
+               enabled: false,
+               
+               // get returns the value of the given key. If that value
+               // is undefined, it returns optionalDefaultValue instead.
+               get: function(key, optionalDefaultValue) {
+                       var data = this.storage.read(this._namespacePrefix + key);
+                       return this._deserialize(data, optionalDefaultValue)
+               },
+
+               // set will store the given value at key and returns value.
+               // Calling set with value === undefined is equivalent to calling remove.
+               set: function(key, value) {
+                       if (value === undefined) {
+                               return this.remove(key)
+                       }
+                       this.storage.write(this._namespacePrefix + key, this._serialize(value));
+                       return value
+               },
+
+               // remove deletes the key and value stored at the given key.
+               remove: function(key) {
+                       this.storage.remove(this._namespacePrefix + key);
+               },
+
+               // each will call the given callback once for each key-value pair
+               // in this store.
+               each: function(callback) {
+                       var self = this;
+                       this.storage.each(function(val, namespacedKey) {
+                               callback.call(self, self._deserialize(val), (namespacedKey || '').replace(self._namespaceRegexp, ''));
+                       });
+               },
+
+               // clearAll will remove all the stored key-value pairs in this store.
+               clearAll: function() {
+                       this.storage.clearAll();
+               },
+
+               // additional functionality that can't live in plugins
+               // ---------------------------------------------------
+
+               // hasNamespace returns true if this store instance has the given namespace.
+               hasNamespace: function(namespace) {
+                       return (this._namespacePrefix == '__storejs_'+namespace+'_')
+               },
+
+               // createStore creates a store.js instance with the first
+               // functioning storage in the list of storage candidates,
+               // and applies the the given mixins to the instance.
+               createStore: function() {
+                       return createStore.apply(this, arguments)
+               },
+               
+               addPlugin: function(plugin) {
+                       this._addPlugin(plugin);
+               },
+               
+               namespace: function(namespace) {
+                       return createStore(this.storage, this.plugins, namespace)
+               }
+       };
+
+       function _warn() {
+               var _console = (typeof console == 'undefined' ? null : console);
+               if (!_console) { return }
+               var fn = (_console.warn ? _console.warn : _console.log);
+               fn.apply(_console, arguments);
+       }
+
+       function createStore(storages, plugins, namespace) {
+               if (!namespace) {
+                       namespace = '';
+               }
+               if (storages && !isList$1(storages)) {
+                       storages = [storages];
+               }
+               if (plugins && !isList$1(plugins)) {
+                       plugins = [plugins];
+               }
+
+               var namespacePrefix = (namespace ? '__storejs_'+namespace+'_' : '');
+               var namespaceRegexp = (namespace ? new RegExp('^'+namespacePrefix) : null);
+               var legalNamespaces = /^[a-zA-Z0-9_\-]*$/; // alpha-numeric + underscore and dash
+               if (!legalNamespaces.test(namespace)) {
+                       throw new Error('store.js namespaces can only have alphanumerics + underscores and dashes')
+               }
+               
+               var _privateStoreProps = {
+                       _namespacePrefix: namespacePrefix,
+                       _namespaceRegexp: namespaceRegexp,
+
+                       _testStorage: function(storage) {
+                               try {
+                                       var testStr = '__storejs__test__';
+                                       storage.write(testStr, testStr);
+                                       var ok = (storage.read(testStr) === testStr);
+                                       storage.remove(testStr);
+                                       return ok
+                               } catch(e) {
+                                       return false
+                               }
+                       },
+
+                       _assignPluginFnProp: function(pluginFnProp, propName) {
+                               var oldFn = this[propName];
+                               this[propName] = function pluginFn() {
+                                       var args = slice$c(arguments, 0);
+                                       var self = this;
+
+                                       // super_fn calls the old function which was overwritten by
+                                       // this mixin.
+                                       function super_fn() {
+                                               if (!oldFn) { return }
+                                               each$1(arguments, function(arg, i) {
+                                                       args[i] = arg;
+                                               });
+                                               return oldFn.apply(self, args)
+                                       }
+
+                                       // Give mixing function access to super_fn by prefixing all mixin function
+                                       // arguments with super_fn.
+                                       var newFnArgs = [super_fn].concat(args);
+
+                                       return pluginFnProp.apply(self, newFnArgs)
+                               };
+                       },
+
+                       _serialize: function(obj) {
+                               return JSON.stringify(obj)
+                       },
+
+                       _deserialize: function(strVal, defaultVal) {
+                               if (!strVal) { return defaultVal }
+                               // It is possible that a raw string value has been previously stored
+                               // in a storage without using store.js, meaning it will be a raw
+                               // string value instead of a JSON serialized string. By defaulting
+                               // to the raw string value in case of a JSON parse error, we allow
+                               // for past stored values to be forwards-compatible with store.js
+                               var val = '';
+                               try { val = JSON.parse(strVal); }
+                               catch(e) { val = strVal; }
+
+                               return (val !== undefined ? val : defaultVal)
+                       },
+                       
+                       _addStorage: function(storage) {
+                               if (this.enabled) { return }
+                               if (this._testStorage(storage)) {
+                                       this.storage = storage;
+                                       this.enabled = true;
+                               }
+                       },
+
+                       _addPlugin: function(plugin) {
+                               var self = this;
+
+                               // If the plugin is an array, then add all plugins in the array.
+                               // This allows for a plugin to depend on other plugins.
+                               if (isList$1(plugin)) {
+                                       each$1(plugin, function(plugin) {
+                                               self._addPlugin(plugin);
+                                       });
+                                       return
+                               }
+
+                               // Keep track of all plugins we've seen so far, so that we
+                               // don't add any of them twice.
+                               var seenPlugin = pluck$1(this.plugins, function(seenPlugin) {
+                                       return (plugin === seenPlugin)
+                               });
+                               if (seenPlugin) {
+                                       return
+                               }
+                               this.plugins.push(plugin);
+
+                               // Check that the plugin is properly formed
+                               if (!isFunction$3(plugin)) {
+                                       throw new Error('Plugins must be function values that return objects')
+                               }
+
+                               var pluginProperties = plugin.call(this);
+                               if (!isObject$3(pluginProperties)) {
+                                       throw new Error('Plugins must return an object of function properties')
+                               }
+
+                               // Add the plugin function properties to this store instance.
+                               each$1(pluginProperties, function(pluginFnProp, propName) {
+                                       if (!isFunction$3(pluginFnProp)) {
+                                               throw new Error('Bad plugin property: '+propName+' from plugin '+plugin.name+'. Plugins should only return functions.')
+                                       }
+                                       self._assignPluginFnProp(pluginFnProp, propName);
+                               });
+                       },
+                       
+                       // Put deprecated properties in the private API, so as to not expose it to accidential
+                       // discovery through inspection of the store object.
+                       
+                       // Deprecated: addStorage
+                       addStorage: function(storage) {
+                               _warn('store.addStorage(storage) is deprecated. Use createStore([storages])');
+                               this._addStorage(storage);
+                       }
+               };
+
+               var store = create$8(_privateStoreProps, storeAPI, {
+                       plugins: []
+               });
+               store.raw = {};
+               each$1(store, function(prop, propName) {
+                       if (isFunction$3(prop)) {
+                               store.raw[propName] = bind$4(store, prop);                      
+                       }
+               });
+               each$1(storages, function(storage) {
+                       store._addStorage(storage);
+               });
+               each$1(plugins, function(plugin) {
+                       store._addPlugin(plugin);
+               });
+               return store
+       }
+
+       var Global$1 = util.Global;
+
+       var localStorage_1 = {
+               name: 'localStorage',
+               read: read,
+               write: write,
+               each: each$2,
+               remove: remove$2,
+               clearAll: clearAll,
+       };
+
+       function localStorage$1() {
+               return Global$1.localStorage
+       }
+
+       function read(key) {
+               return localStorage$1().getItem(key)
+       }
+
+       function write(key, data) {
+               return localStorage$1().setItem(key, data)
+       }
+
+       function each$2(fn) {
+               for (var i = localStorage$1().length - 1; i >= 0; i--) {
+                       var key = localStorage$1().key(i);
+                       fn(read(key), key);
+               }
+       }
+
+       function remove$2(key) {
+               return localStorage$1().removeItem(key)
+       }
+
+       function clearAll() {
+               return localStorage$1().clear()
+       }
+
+       // oldFF-globalStorage provides storage for Firefox
+       // versions 6 and 7, where no localStorage, etc
+       // is available.
+
+
+       var Global$2 = util.Global;
+
+       var oldFFGlobalStorage = {
+               name: 'oldFF-globalStorage',
+               read: read$1,
+               write: write$1,
+               each: each$3,
+               remove: remove$3,
+               clearAll: clearAll$1,
+       };
+
+       var globalStorage = Global$2.globalStorage;
+
+       function read$1(key) {
+               return globalStorage[key]
+       }
+
+       function write$1(key, data) {
+               globalStorage[key] = data;
+       }
+
+       function each$3(fn) {
+               for (var i = globalStorage.length - 1; i >= 0; i--) {
+                       var key = globalStorage.key(i);
+                       fn(globalStorage[key], key);
+               }
+       }
+
+       function remove$3(key) {
+               return globalStorage.removeItem(key)
+       }
+
+       function clearAll$1() {
+               each$3(function(key, _) {
+                       delete globalStorage[key];
+               });
+       }
+
+       // oldIE-userDataStorage provides storage for Internet Explorer
+       // versions 6 and 7, where no localStorage, sessionStorage, etc
+       // is available.
+
+
+       var Global$3 = util.Global;
+
+       var oldIEUserDataStorage = {
+               name: 'oldIE-userDataStorage',
+               write: write$2,
+               read: read$2,
+               each: each$4,
+               remove: remove$4,
+               clearAll: clearAll$2,
+       };
+
+       var storageName = 'storejs';
+       var doc = Global$3.document;
+       var _withStorageEl = _makeIEStorageElFunction();
+       var disable = (Global$3.navigator ? Global$3.navigator.userAgent : '').match(/ (MSIE 8|MSIE 9|MSIE 10)\./); // MSIE 9.x, MSIE 10.x
+
+       function write$2(unfixedKey, data) {
+               if (disable) { return }
+               var fixedKey = fixKey(unfixedKey);
+               _withStorageEl(function(storageEl) {
+                       storageEl.setAttribute(fixedKey, data);
+                       storageEl.save(storageName);
+               });
+       }
+
+       function read$2(unfixedKey) {
+               if (disable) { return }
+               var fixedKey = fixKey(unfixedKey);
+               var res = null;
+               _withStorageEl(function(storageEl) {
+                       res = storageEl.getAttribute(fixedKey);
+               });
+               return res
+       }
+
+       function each$4(callback) {
+               _withStorageEl(function(storageEl) {
+                       var attributes = storageEl.XMLDocument.documentElement.attributes;
+                       for (var i=attributes.length-1; i>=0; i--) {
+                               var attr = attributes[i];
+                               callback(storageEl.getAttribute(attr.name), attr.name);
+                       }
+               });
+       }
+
+       function remove$4(unfixedKey) {
+               var fixedKey = fixKey(unfixedKey);
+               _withStorageEl(function(storageEl) {
+                       storageEl.removeAttribute(fixedKey);
+                       storageEl.save(storageName);
+               });
+       }
+
+       function clearAll$2() {
+               _withStorageEl(function(storageEl) {
+                       var attributes = storageEl.XMLDocument.documentElement.attributes;
+                       storageEl.load(storageName);
+                       for (var i=attributes.length-1; i>=0; i--) {
+                               storageEl.removeAttribute(attributes[i].name);
+                       }
+                       storageEl.save(storageName);
+               });
+       }
+
+       // Helpers
+       //////////
+
+       // In IE7, keys cannot start with a digit or contain certain chars.
+       // See https://github.com/marcuswestin/store.js/issues/40
+       // See https://github.com/marcuswestin/store.js/issues/83
+       var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", "g");
+       function fixKey(key) {
+               return key.replace(/^\d/, '___$&').replace(forbiddenCharsRegex, '___')
+       }
+
+       function _makeIEStorageElFunction() {
+               if (!doc || !doc.documentElement || !doc.documentElement.addBehavior) {
+                       return null
+               }
+               var scriptTag = 'script',
+                       storageOwner,
+                       storageContainer,
+                       storageEl;
+
+               // Since #userData storage applies only to specific paths, we need to
+               // somehow link our data to a specific path.  We choose /favicon.ico
+               // as a pretty safe option, since all browsers already make a request to
+               // this URL anyway and being a 404 will not hurt us here.  We wrap an
+               // iframe pointing to the favicon in an ActiveXObject(htmlfile) object
+               // (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)
+               // since the iframe access rules appear to allow direct access and
+               // manipulation of the document element, even for a 404 page.  This
+               // document can be used instead of the current document (which would
+               // have been limited to the current path) to perform #userData storage.
+               try {
+                       /* global ActiveXObject */
+                       storageContainer = new ActiveXObject('htmlfile');
+                       storageContainer.open();
+                       storageContainer.write('<'+scriptTag+'>document.w=window</'+scriptTag+'><iframe src="/favicon.ico"></iframe>');
+                       storageContainer.close();
+                       storageOwner = storageContainer.w.frames[0].document;
+                       storageEl = storageOwner.createElement('div');
+               } catch(e) {
+                       // somehow ActiveXObject instantiation failed (perhaps some special
+                       // security settings or otherwse), fall back to per-path storage
+                       storageEl = doc.createElement('div');
+                       storageOwner = doc.body;
+               }
+
+               return function(storeFunction) {
+                       var args = [].slice.call(arguments, 0);
+                       args.unshift(storageEl);
+                       // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
+                       // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
+                       storageOwner.appendChild(storageEl);
+                       storageEl.addBehavior('#default#userData');
+                       storageEl.load(storageName);
+                       storeFunction.apply(this, args);
+                       storageOwner.removeChild(storageEl);
+                       return
+               }
+       }
+
+       // cookieStorage is useful Safari private browser mode, where localStorage
+       // doesn't work but cookies do. This implementation is adopted from
+       // https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage
+
+
+       var Global$4 = util.Global;
+       var trim$2 = util.trim;
+
+       var cookieStorage = {
+               name: 'cookieStorage',
+               read: read$3,
+               write: write$3,
+               each: each$5,
+               remove: remove$5,
+               clearAll: clearAll$3,
+       };
+
+       var doc$1 = Global$4.document;
+
+       function read$3(key) {
+               if (!key || !_has(key)) { return null }
+               var regexpStr = "(?:^|.*;\\s*)" +
+                       escape(key).replace(/[\-\.\+\*]/g, "\\$&") +
+                       "\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";
+               return unescape(doc$1.cookie.replace(new RegExp(regexpStr), "$1"))
+       }
+
+       function each$5(callback) {
+               var cookies = doc$1.cookie.split(/; ?/g);
+               for (var i = cookies.length - 1; i >= 0; i--) {
+                       if (!trim$2(cookies[i])) {
+                               continue
+                       }
+                       var kvp = cookies[i].split('=');
+                       var key = unescape(kvp[0]);
+                       var val = unescape(kvp[1]);
+                       callback(val, key);
+               }
+       }
+
+       function write$3(key, data) {
+               if(!key) { return }
+               doc$1.cookie = escape(key) + "=" + escape(data) + "; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/";
+       }
+
+       function remove$5(key) {
+               if (!key || !_has(key)) {
+                       return
+               }
+               doc$1.cookie = escape(key) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
+       }
+
+       function clearAll$3() {
+               each$5(function(_, key) {
+                       remove$5(key);
+               });
+       }
+
+       function _has(key) {
+               return (new RegExp("(?:^|;\\s*)" + escape(key).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(doc$1.cookie)
+       }
+
+       var Global$5 = util.Global;
+
+       var sessionStorage_1 = {
+               name: 'sessionStorage',
+               read: read$4,
+               write: write$4,
+               each: each$6,
+               remove: remove$6,
+               clearAll: clearAll$4
+       };
+
+       function sessionStorage() {
+               return Global$5.sessionStorage
+       }
+
+       function read$4(key) {
+               return sessionStorage().getItem(key)
+       }
+
+       function write$4(key, data) {
+               return sessionStorage().setItem(key, data)
+       }
+
+       function each$6(fn) {
+               for (var i = sessionStorage().length - 1; i >= 0; i--) {
+                       var key = sessionStorage().key(i);
+                       fn(read$4(key), key);
+               }
+       }
+
+       function remove$6(key) {
+               return sessionStorage().removeItem(key)
+       }
+
+       function clearAll$4() {
+               return sessionStorage().clear()
+       }
+
+       // memoryStorage is a useful last fallback to ensure that the store
+       // is functions (meaning store.get(), store.set(), etc will all function).
+       // However, stored values will not persist when the browser navigates to
+       // a new page or reloads the current page.
+
+       var memoryStorage_1 = {
+               name: 'memoryStorage',
+               read: read$5,
+               write: write$5,
+               each: each$7,
+               remove: remove$7,
+               clearAll: clearAll$5,
+       };
+
+       var memoryStorage = {};
+
+       function read$5(key) {
+               return memoryStorage[key]
+       }
+
+       function write$5(key, data) {
+               memoryStorage[key] = data;
+       }
+
+       function each$7(callback) {
+               for (var key in memoryStorage) {
+                       if (memoryStorage.hasOwnProperty(key)) {
+                               callback(memoryStorage[key], key);
+                       }
+               }
+       }
+
+       function remove$7(key) {
+               delete memoryStorage[key];
+       }
+
+       function clearAll$5(key) {
+               memoryStorage = {};
+       }
+
+       var all = [
+               // Listed in order of usage preference
+               localStorage_1,
+               oldFFGlobalStorage,
+               oldIEUserDataStorage,
+               cookieStorage,
+               sessionStorage_1,
+               memoryStorage_1
+       ];
+
+       /* eslint-disable */
+
+       //  json2.js
+       //  2016-10-28
+       //  Public Domain.
+       //  NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
+       //  See http://www.JSON.org/js.html
+       //  This code should be minified before deployment.
+       //  See http://javascript.crockford.com/jsmin.html
+
+       //  USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
+       //  NOT CONTROL.
+
+       //  This file creates a global JSON object containing two methods: stringify
+       //  and parse. This file provides the ES5 JSON capability to ES3 systems.
+       //  If a project might run on IE8 or earlier, then this file should be included.
+       //  This file does nothing on ES5 systems.
+
+       //      JSON.stringify(value, replacer, space)
+       //          value       any JavaScript value, usually an object or array.
+       //          replacer    an optional parameter that determines how object
+       //                      values are stringified for objects. It can be a
+       //                      function or an array of strings.
+       //          space       an optional parameter that specifies the indentation
+       //                      of nested structures. If it is omitted, the text will
+       //                      be packed without extra whitespace. If it is a number,
+       //                      it will specify the number of spaces to indent at each
+       //                      level. If it is a string (such as "\t" or "&nbsp;"),
+       //                      it contains the characters used to indent at each level.
+       //          This method produces a JSON text from a JavaScript value.
+       //          When an object value is found, if the object contains a toJSON
+       //          method, its toJSON method will be called and the result will be
+       //          stringified. A toJSON method does not serialize: it returns the
+       //          value represented by the name/value pair that should be serialized,
+       //          or undefined if nothing should be serialized. The toJSON method
+       //          will be passed the key associated with the value, and this will be
+       //          bound to the value.
+
+       //          For example, this would serialize Dates as ISO strings.
+
+       //              Date.prototype.toJSON = function (key) {
+       //                  function f(n) {
+       //                      // Format integers to have at least two digits.
+       //                      return (n < 10)
+       //                          ? "0" + n
+       //                          : n;
+       //                  }
+       //                  return this.getUTCFullYear()   + "-" +
+       //                       f(this.getUTCMonth() + 1) + "-" +
+       //                       f(this.getUTCDate())      + "T" +
+       //                       f(this.getUTCHours())     + ":" +
+       //                       f(this.getUTCMinutes())   + ":" +
+       //                       f(this.getUTCSeconds())   + "Z";
+       //              };
+
+       //          You can provide an optional replacer method. It will be passed the
+       //          key and value of each member, with this bound to the containing
+       //          object. The value that is returned from your method will be
+       //          serialized. If your method returns undefined, then the member will
+       //          be excluded from the serialization.
+
+       //          If the replacer parameter is an array of strings, then it will be
+       //          used to select the members to be serialized. It filters the results
+       //          such that only members with keys listed in the replacer array are
+       //          stringified.
+
+       //          Values that do not have JSON representations, such as undefined or
+       //          functions, will not be serialized. Such values in objects will be
+       //          dropped; in arrays they will be replaced with null. You can use
+       //          a replacer function to replace those with JSON values.
+
+       //          JSON.stringify(undefined) returns undefined.
+
+       //          The optional space parameter produces a stringification of the
+       //          value that is filled with line breaks and indentation to make it
+       //          easier to read.
+
+       //          If the space parameter is a non-empty string, then that string will
+       //          be used for indentation. If the space parameter is a number, then
+       //          the indentation will be that many spaces.
+
+       //          Example:
+
+       //          text = JSON.stringify(["e", {pluribus: "unum"}]);
+       //          // text is '["e",{"pluribus":"unum"}]'
+
+       //          text = JSON.stringify(["e", {pluribus: "unum"}], null, "\t");
+       //          // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'
+
+       //          text = JSON.stringify([new Date()], function (key, value) {
+       //              return this[key] instanceof Date
+       //                  ? "Date(" + this[key] + ")"
+       //                  : value;
+       //          });
+       //          // text is '["Date(---current time---)"]'
+
+       //      JSON.parse(text, reviver)
+       //          This method parses a JSON text to produce an object or array.
+       //          It can throw a SyntaxError exception.
+
+       //          The optional reviver parameter is a function that can filter and
+       //          transform the results. It receives each of the keys and values,
+       //          and its return value is used instead of the original value.
+       //          If it returns what it received, then the structure is not modified.
+       //          If it returns undefined then the member is deleted.
+
+       //          Example:
+
+       //          // Parse the text. Values that look like ISO date strings will
+       //          // be converted to Date objects.
+
+       //          myData = JSON.parse(text, function (key, value) {
+       //              var a;
+       //              if (typeof value === "string") {
+       //                  a =
+       //   /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
+       //                  if (a) {
+       //                      return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
+       //                          +a[5], +a[6]));
+       //                  }
+       //              }
+       //              return value;
+       //          });
+
+       //          myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
+       //              var d;
+       //              if (typeof value === "string" &&
+       //                      value.slice(0, 5) === "Date(" &&
+       //                      value.slice(-1) === ")") {
+       //                  d = new Date(value.slice(5, -1));
+       //                  if (d) {
+       //                      return d;
+       //                  }
+       //              }
+       //              return value;
+       //          });
+
+       //  This is a reference implementation. You are free to copy, modify, or
+       //  redistribute.
+
+       /*jslint
+           eval, for, this
+       */
+
+       /*property
+           JSON, apply, call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
+           getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
+           lastIndex, length, parse, prototype, push, replace, slice, stringify,
+           test, toJSON, toString, valueOf
+       */
+
+
+       // Create a JSON object only if one does not already exist. We create the
+       // methods in a closure to avoid creating global variables.
+
+       if (typeof JSON !== "object") {
+           JSON = {};
+       }
+
+       (function () {
+
+           var rx_one = /^[\],:{}\s]*$/;
+           var rx_two = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g;
+           var rx_three = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g;
+           var rx_four = /(?:^|:|,)(?:\s*\[)+/g;
+           var rx_escapable = /[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
+           var rx_dangerous = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
+
+           function f(n) {
+               // Format integers to have at least two digits.
+               return n < 10
+                   ? "0" + n
+                   : n;
+           }
+
+           function this_value() {
+               return this.valueOf();
+           }
+
+           if (typeof Date.prototype.toJSON !== "function") {
+
+               Date.prototype.toJSON = function () {
+
+                   return isFinite(this.valueOf())
+                       ? this.getUTCFullYear() + "-" +
+                               f(this.getUTCMonth() + 1) + "-" +
+                               f(this.getUTCDate()) + "T" +
+                               f(this.getUTCHours()) + ":" +
+                               f(this.getUTCMinutes()) + ":" +
+                               f(this.getUTCSeconds()) + "Z"
+                       : null;
+               };
+
+               Boolean.prototype.toJSON = this_value;
+               Number.prototype.toJSON = this_value;
+               String.prototype.toJSON = this_value;
+           }
+
+           var gap;
+           var indent;
+           var meta;
+           var rep;
+
+
+           function quote(string) {
+
+       // If the string contains no control characters, no quote characters, and no
+       // backslash characters, then we can safely slap some quotes around it.
+       // Otherwise we must also replace the offending characters with safe escape
+       // sequences.
+
+               rx_escapable.lastIndex = 0;
+               return rx_escapable.test(string)
+                   ? "\"" + string.replace(rx_escapable, function (a) {
+                       var c = meta[a];
+                       return typeof c === "string"
+                           ? c
+                           : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
+                   }) + "\""
+                   : "\"" + string + "\"";
+           }
+
+
+           function str(key, holder) {
+
+       // Produce a string from holder[key].
+
+               var i;          // The loop counter.
+               var k;          // The member key.
+               var v;          // The member value.
+               var length;
+               var mind = gap;
+               var partial;
+               var value = holder[key];
+
+       // If the value has a toJSON method, call it to obtain a replacement value.
+
+               if (value && typeof value === "object" &&
+                       typeof value.toJSON === "function") {
+                   value = value.toJSON(key);
+               }
+
+       // If we were called with a replacer function, then call the replacer to
+       // obtain a replacement value.
+
+               if (typeof rep === "function") {
+                   value = rep.call(holder, key, value);
+               }
+
+       // What happens next depends on the value's type.
+
+               switch (typeof value) {
+               case "string":
+                   return quote(value);
+
+               case "number":
+
+       // JSON numbers must be finite. Encode non-finite numbers as null.
+
+                   return isFinite(value)
+                       ? String(value)
+                       : "null";
+
+               case "boolean":
+               case "null":
+
+       // If the value is a boolean or null, convert it to a string. Note:
+       // typeof null does not produce "null". The case is included here in
+       // the remote chance that this gets fixed someday.
+
+                   return String(value);
+
+       // If the type is "object", we might be dealing with an object or an array or
+       // null.
+
+               case "object":
+
+       // Due to a specification blunder in ECMAScript, typeof null is "object",
+       // so watch out for that case.
+
+                   if (!value) {
+                       return "null";
+                   }
+
+       // Make an array to hold the partial results of stringifying this object value.
+
+                   gap += indent;
+                   partial = [];
+
+       // Is the value an array?
+
+                   if (Object.prototype.toString.apply(value) === "[object Array]") {
+
+       // The value is an array. Stringify every element. Use null as a placeholder
+       // for non-JSON values.
+
+                       length = value.length;
+                       for (i = 0; i < length; i += 1) {
+                           partial[i] = str(i, value) || "null";
+                       }
+
+       // Join all of the elements together, separated with commas, and wrap them in
+       // brackets.
+
+                       v = partial.length === 0
+                           ? "[]"
+                           : gap
+                               ? "[\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "]"
+                               : "[" + partial.join(",") + "]";
+                       gap = mind;
+                       return v;
+                   }
+
+       // If the replacer is an array, use it to select the members to be stringified.
+
+                   if (rep && typeof rep === "object") {
+                       length = rep.length;
+                       for (i = 0; i < length; i += 1) {
+                           if (typeof rep[i] === "string") {
+                               k = rep[i];
+                               v = str(k, value);
+                               if (v) {
+                                   partial.push(quote(k) + (
+                                       gap
+                                           ? ": "
+                                           : ":"
+                                   ) + v);
+                               }
+                           }
+                       }
+                   } else {
+
+       // Otherwise, iterate through all of the keys in the object.
+
+                       for (k in value) {
+                           if (Object.prototype.hasOwnProperty.call(value, k)) {
+                               v = str(k, value);
+                               if (v) {
+                                   partial.push(quote(k) + (
+                                       gap
+                                           ? ": "
+                                           : ":"
+                                   ) + v);
+                               }
+                           }
+                       }
+                   }
+
+       // Join all of the member texts together, separated with commas,
+       // and wrap them in braces.
+
+                   v = partial.length === 0
+                       ? "{}"
+                       : gap
+                           ? "{\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "}"
+                           : "{" + partial.join(",") + "}";
+                   gap = mind;
+                   return v;
+               }
+           }
+
+       // If the JSON object does not yet have a stringify method, give it one.
+
+           if (typeof JSON.stringify !== "function") {
+               meta = {    // table of character substitutions
+                   "\b": "\\b",
+                   "\t": "\\t",
+                   "\n": "\\n",
+                   "\f": "\\f",
+                   "\r": "\\r",
+                   "\"": "\\\"",
+                   "\\": "\\\\"
+               };
+               JSON.stringify = function (value, replacer, space) {
+
+       // The stringify method takes a value and an optional replacer, and an optional
+       // space parameter, and returns a JSON text. The replacer can be a function
+       // that can replace values, or an array of strings that will select the keys.
+       // A default replacer method can be provided. Use of the space parameter can
+       // produce text that is more easily readable.
+
+                   var i;
+                   gap = "";
+                   indent = "";
+
+       // If the space parameter is a number, make an indent string containing that
+       // many spaces.
+
+                   if (typeof space === "number") {
+                       for (i = 0; i < space; i += 1) {
+                           indent += " ";
+                       }
+
+       // If the space parameter is a string, it will be used as the indent string.
+
+                   } else if (typeof space === "string") {
+                       indent = space;
+                   }
+
+       // If there is a replacer, it must be a function or an array.
+       // Otherwise, throw an error.
+
+                   rep = replacer;
+                   if (replacer && typeof replacer !== "function" &&
+                           (typeof replacer !== "object" ||
+                           typeof replacer.length !== "number")) {
+                       throw new Error("JSON.stringify");
+                   }
+
+       // Make a fake root object containing our value under the key of "".
+       // Return the result of stringifying the value.
+
+                   return str("", {"": value});
+               };
+           }
+
+
+       // If the JSON object does not yet have a parse method, give it one.
+
+           if (typeof JSON.parse !== "function") {
+               JSON.parse = function (text, reviver) {
+
+       // The parse method takes a text and an optional reviver function, and returns
+       // a JavaScript value if the text is a valid JSON text.
+
+                   var j;
+
+                   function walk(holder, key) {
+
+       // The walk method is used to recursively walk the resulting structure so
+       // that modifications can be made.
+
+                       var k;
+                       var v;
+                       var value = holder[key];
+                       if (value && typeof value === "object") {
+                           for (k in value) {
+                               if (Object.prototype.hasOwnProperty.call(value, k)) {
+                                   v = walk(value, k);
+                                   if (v !== undefined) {
+                                       value[k] = v;
+                                   } else {
+                                       delete value[k];
+                                   }
+                               }
+                           }
+                       }
+                       return reviver.call(holder, key, value);
+                   }
+
+
+       // Parsing happens in four stages. In the first stage, we replace certain
+       // Unicode characters with escape sequences. JavaScript handles many characters
+       // incorrectly, either silently deleting them, or treating them as line endings.
+
+                   text = String(text);
+                   rx_dangerous.lastIndex = 0;
+                   if (rx_dangerous.test(text)) {
+                       text = text.replace(rx_dangerous, function (a) {
+                           return "\\u" +
+                                   ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
+                       });
+                   }
+
+       // In the second stage, we run the text against regular expressions that look
+       // for non-JSON patterns. We are especially concerned with "()" and "new"
+       // because they can cause invocation, and "=" because it can cause mutation.
+       // But just to be safe, we want to reject all unexpected forms.
+
+       // We split the second stage into 4 regexp operations in order to work around
+       // crippling inefficiencies in IE's and Safari's regexp engines. First we
+       // replace the JSON backslash pairs with "@" (a non-JSON character). Second, we
+       // replace all simple value tokens with "]" characters. Third, we delete all
+       // open brackets that follow a colon or comma or that begin the text. Finally,
+       // we look to see that the remaining characters are only whitespace or "]" or
+       // "," or ":" or "{" or "}". If that is so, then the text is safe for eval.
+
+                   if (
+                       rx_one.test(
+                           text
+                               .replace(rx_two, "@")
+                               .replace(rx_three, "]")
+                               .replace(rx_four, "")
+                       )
+                   ) {
+
+       // In the third stage we use the eval function to compile the text into a
+       // JavaScript structure. The "{" operator is subject to a syntactic ambiguity
+       // in JavaScript: it can begin a block or an object literal. We wrap the text
+       // in parens to eliminate the ambiguity.
+
+                       j = eval("(" + text + ")");
+
+       // In the optional fourth stage, we recursively walk the new structure, passing
+       // each name/value pair to a reviver function for possible transformation.
+
+                       return (typeof reviver === "function")
+                           ? walk({"": j}, "")
+                           : j;
+                   }
+
+       // If the text is not JSON parseable, then a SyntaxError is thrown.
+
+                   throw new SyntaxError("JSON.parse");
+               };
+           }
+       }());
+
+       var json2 = json2Plugin;
+
+       function json2Plugin() {
+               
+               return {}
+       }
+
+       var plugins = [json2];
+
+       var store_legacy = storeEngine.createStore(all, plugins);
+
+       // # osm-auth
+       //
+       // This code is only compatible with IE10+ because the [XDomainRequest](http://bit.ly/LfO7xo)
+       // object, IE<10's idea of [CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing),
+       // does not support custom headers, which this uses everywhere.
+       var osmAuth = function(o) {
+
+           var oauth = {};
+
+           // authenticated users will also have a request token secret, but it's
+           // not used in transactions with the server
+           oauth.authenticated = function() {
+               return !!(token('oauth_token') && token('oauth_token_secret'));
+           };
+
+           oauth.logout = function() {
+               token('oauth_token', '');
+               token('oauth_token_secret', '');
+               token('oauth_request_token_secret', '');
+               return oauth;
+           };
+
+           // TODO: detect lack of click event
+           oauth.authenticate = function(callback) {
+               if (oauth.authenticated()) return callback();
+
+               oauth.logout();
+
+               // ## Getting a request token
+               var params = timenonce(getAuth(o)),
+                   url = o.url + '/oauth/request_token';
+
+               params.oauth_signature = ohauth_1.signature(
+                   o.oauth_secret, '',
+                   ohauth_1.baseString('POST', url, params));
+
+               if (!o.singlepage) {
+                   // Create a 600x550 popup window in the center of the screen
+                   var w = 600, h = 550,
+                       settings = [
+                           ['width', w], ['height', h],
+                           ['left', screen.width / 2 - w / 2],
+                           ['top', screen.height / 2 - h / 2]].map(function(x) {
+                               return x.join('=');
+                           }).join(','),
+                       popup = window.open('about:blank', 'oauth_window', settings);
+               }
+
+               // Request a request token. When this is complete, the popup
+               // window is redirected to OSM's authorization page.
+               ohauth_1.xhr('POST', url, params, null, {}, reqTokenDone);
+               o.loading();
+
+               function reqTokenDone(err, xhr) {
+                   o.done();
+                   if (err) return callback(err);
+                   var resp = ohauth_1.stringQs(xhr.response);
+                   token('oauth_request_token_secret', resp.oauth_token_secret);
+                   var authorize_url = o.url + '/oauth/authorize?' + ohauth_1.qsString({
+                       oauth_token: resp.oauth_token,
+                       oauth_callback: resolveUrl(o.landing)
+                   });
+
+                   if (o.singlepage) {
+                       location.href = authorize_url;
+                   } else {
+                       popup.location = authorize_url;
+                   }
+               }
+
+               // Called by a function in a landing page, in the popup window. The
+               // window closes itself.
+               window.authComplete = function(token) {
+                   var oauth_token = ohauth_1.stringQs(token.split('?')[1]);
+                   get_access_token(oauth_token.oauth_token);
+                   delete window.authComplete;
+               };
+
+               // ## Getting an request token
+               //
+               // At this point we have an `oauth_token`, brought in from a function
+               // call on a landing page popup.
+               function get_access_token(oauth_token) {
+                   var url = o.url + '/oauth/access_token',
+                       params = timenonce(getAuth(o)),
+                       request_token_secret = token('oauth_request_token_secret');
+                   params.oauth_token = oauth_token;
+                   params.oauth_signature = ohauth_1.signature(
+                       o.oauth_secret,
+                       request_token_secret,
+                       ohauth_1.baseString('POST', url, params));
+
+                   // ## Getting an access token
+                   //
+                   // The final token required for authentication. At this point
+                   // we have a `request token secret`
+                   ohauth_1.xhr('POST', url, params, null, {}, accessTokenDone);
+                   o.loading();
+               }
+
+               function accessTokenDone(err, xhr) {
+                   o.done();
+                   if (err) return callback(err);
+                   var access_token = ohauth_1.stringQs(xhr.response);
+                   token('oauth_token', access_token.oauth_token);
+                   token('oauth_token_secret', access_token.oauth_token_secret);
+                   callback(null, oauth);
+               }
+           };
+
+           oauth.bootstrapToken = function(oauth_token, callback) {
+               // ## Getting an request token
+               // At this point we have an `oauth_token`, brought in from a function
+               // call on a landing page popup.
+               function get_access_token(oauth_token) {
+                   var url = o.url + '/oauth/access_token',
+                       params = timenonce(getAuth(o)),
+                       request_token_secret = token('oauth_request_token_secret');
+                   params.oauth_token = oauth_token;
+                   params.oauth_signature = ohauth_1.signature(
+                       o.oauth_secret,
+                       request_token_secret,
+                       ohauth_1.baseString('POST', url, params));
+
+                   // ## Getting an access token
+                   // The final token required for authentication. At this point
+                   // we have a `request token secret`
+                   ohauth_1.xhr('POST', url, params, null, {}, accessTokenDone);
+                   o.loading();
+               }
+
+               function accessTokenDone(err, xhr) {
+                   o.done();
+                   if (err) return callback(err);
+                   var access_token = ohauth_1.stringQs(xhr.response);
+                   token('oauth_token', access_token.oauth_token);
+                   token('oauth_token_secret', access_token.oauth_token_secret);
+                   callback(null, oauth);
+               }
+
+               get_access_token(oauth_token);
+           };
+
+           // # xhr
+           //
+           // A single XMLHttpRequest wrapper that does authenticated calls if the
+           // user has logged in.
+           oauth.xhr = function(options, callback) {
+               if (!oauth.authenticated()) {
+                   if (o.auto) {
+                       return oauth.authenticate(run);
+                   } else {
+                       callback('not authenticated', null);
+                       return;
+                   }
+               } else {
+                   return run();
+               }
+
+               function run() {
+                   var params = timenonce(getAuth(o)),
+                       oauth_token_secret = token('oauth_token_secret'),
+                       url = (options.prefix !== false) ? o.url + options.path : options.path,
+                       url_parts = url.replace(/#.*$/, '').split('?', 2),
+                       base_url = url_parts[0],
+                       query = (url_parts.length === 2) ? url_parts[1] : '';
+
+                   // https://tools.ietf.org/html/rfc5849#section-3.4.1.3.1
+                   if ((!options.options || !options.options.header ||
+                       options.options.header['Content-Type'] === 'application/x-www-form-urlencoded') &&
+                       options.content) {
+                       params = immutable(params, ohauth_1.stringQs(options.content));
+                   }
+
+                   params.oauth_token = token('oauth_token');
+                   params.oauth_signature = ohauth_1.signature(
+                       o.oauth_secret,
+                       oauth_token_secret,
+                       ohauth_1.baseString(options.method, base_url, immutable(params, ohauth_1.stringQs(query)))
+                   );
+
+                   return ohauth_1.xhr(options.method, url, params, options.content, options.options, done);
+               }
+
+               function done(err, xhr) {
+                   if (err) return callback(err);
+                   else if (xhr.responseXML) return callback(err, xhr.responseXML);
+                   else return callback(err, xhr.response);
+               }
+           };
+
+           // pre-authorize this object, if we can just get a token and token_secret
+           // from the start
+           oauth.preauth = function(c) {
+               if (!c) return;
+               if (c.oauth_token) token('oauth_token', c.oauth_token);
+               if (c.oauth_token_secret) token('oauth_token_secret', c.oauth_token_secret);
+               return oauth;
+           };
+
+           oauth.options = function(_) {
+               if (!arguments.length) return o;
+
+               o = _;
+               o.url = o.url || 'https://www.openstreetmap.org';
+               o.landing = o.landing || 'land.html';
+               o.singlepage = o.singlepage || false;
+
+               // Optional loading and loading-done functions for nice UI feedback.
+               // by default, no-ops
+               o.loading = o.loading || function() {};
+               o.done = o.done || function() {};
+
+               return oauth.preauth(o);
+           };
+
+           // 'stamp' an authentication object from `getAuth()`
+           // with a [nonce](http://en.wikipedia.org/wiki/Cryptographic_nonce)
+           // and timestamp
+           function timenonce(o) {
+               o.oauth_timestamp = ohauth_1.timestamp();
+               o.oauth_nonce = ohauth_1.nonce();
+               return o;
+           }
+
+           // get/set tokens. These are prefixed with the base URL so that `osm-auth`
+           // can be used with multiple APIs and the keys in `localStorage`
+           // will not clash
+           var token;
+
+           if (store_legacy.enabled) {
+               token = function (x, y) {
+                   if (arguments.length === 1) return store_legacy.get(o.url + x);
+                   else if (arguments.length === 2) return store_legacy.set(o.url + x, y);
+               };
+           } else {
+               var storage = {};
+               token = function (x, y) {
+                   if (arguments.length === 1) return storage[o.url + x];
+                   else if (arguments.length === 2) return storage[o.url + x] = y;
+               };
+           }
+
+           // Get an authentication object. If you just add and remove properties
+           // from a single object, you'll need to use `delete` to make sure that
+           // it doesn't contain undesired properties for authentication
+           function getAuth(o) {
+               return {
+                   oauth_consumer_key: o.oauth_consumer_key,
+                   oauth_signature_method: 'HMAC-SHA1'
+               };
+           }
+
+           // potentially pre-authorize
+           oauth.options(o);
+
+           return oauth;
+       };
+
+       var JXON = new (function () {
+         var
+           sValueProp = 'keyValue', sAttributesProp = 'keyAttributes', sAttrPref = '@', /* you can customize these values */
+           aCache = [], rIsNull = /^\s*$/, rIsBool = /^(?:true|false)$/i;
+
+         function parseText (sValue) {
+           if (rIsNull.test(sValue)) { return null; }
+           if (rIsBool.test(sValue)) { return sValue.toLowerCase() === 'true'; }
+           if (isFinite(sValue)) { return parseFloat(sValue); }
+           if (isFinite(Date.parse(sValue))) { return new Date(sValue); }
+           return sValue;
+         }
+
+         function EmptyTree () { }
+         EmptyTree.prototype.toString = function () { return 'null'; };
+         EmptyTree.prototype.valueOf = function () { return null; };
+
+         function objectify (vValue) {
+           return vValue === null ? new EmptyTree() : vValue instanceof Object ? vValue : new vValue.constructor(vValue);
+         }
+
+         function createObjTree (oParentNode, nVerb, bFreeze, bNesteAttr) {
+           var
+             nLevelStart = aCache.length, bChildren = oParentNode.hasChildNodes(),
+             bAttributes = oParentNode.hasAttributes(), bHighVerb = Boolean(nVerb & 2);
+
+           var
+             sProp, vContent, nLength = 0, sCollectedTxt = '',
+             vResult = bHighVerb ? {} : /* put here the default value for empty nodes: */ true;
+
+           if (bChildren) {
+             for (var oNode, nItem = 0; nItem < oParentNode.childNodes.length; nItem++) {
+               oNode = oParentNode.childNodes.item(nItem);
+               if (oNode.nodeType === 4) { sCollectedTxt += oNode.nodeValue; } /* nodeType is 'CDATASection' (4) */
+               else if (oNode.nodeType === 3) { sCollectedTxt += oNode.nodeValue.trim(); } /* nodeType is 'Text' (3) */
+               else if (oNode.nodeType === 1 && !oNode.prefix) { aCache.push(oNode); } /* nodeType is 'Element' (1) */
+             }
+           }
+
+           var nLevelEnd = aCache.length, vBuiltVal = parseText(sCollectedTxt);
+
+           if (!bHighVerb && (bChildren || bAttributes)) { vResult = nVerb === 0 ? objectify(vBuiltVal) : {}; }
+
+           for (var nElId = nLevelStart; nElId < nLevelEnd; nElId++) {
+             sProp = aCache[nElId].nodeName.toLowerCase();
+             vContent = createObjTree(aCache[nElId], nVerb, bFreeze, bNesteAttr);
+             if (vResult.hasOwnProperty(sProp)) {
+               if (vResult[sProp].constructor !== Array) { vResult[sProp] = [vResult[sProp]]; }
+               vResult[sProp].push(vContent);
+             } else {
+               vResult[sProp] = vContent;
+               nLength++;
+             }
+           }
+
+           if (bAttributes) {
+             var
+               nAttrLen = oParentNode.attributes.length,
+               sAPrefix = bNesteAttr ? '' : sAttrPref, oAttrParent = bNesteAttr ? {} : vResult;
+
+             for (var oAttrib, nAttrib = 0; nAttrib < nAttrLen; nLength++, nAttrib++) {
+               oAttrib = oParentNode.attributes.item(nAttrib);
+               oAttrParent[sAPrefix + oAttrib.name.toLowerCase()] = parseText(oAttrib.value.trim());
+             }
+
+             if (bNesteAttr) {
+               if (bFreeze) { Object.freeze(oAttrParent); }
+               vResult[sAttributesProp] = oAttrParent;
+               nLength -= nAttrLen - 1;
+             }
+           }
+
+           if (nVerb === 3 || (nVerb === 2 || nVerb === 1 && nLength > 0) && sCollectedTxt) {
+             vResult[sValueProp] = vBuiltVal;
+           } else if (!bHighVerb && nLength === 0 && sCollectedTxt) {
+             vResult = vBuiltVal;
+           }
+
+           if (bFreeze && (bHighVerb || nLength > 0)) { Object.freeze(vResult); }
+
+           aCache.length = nLevelStart;
+
+           return vResult;
+         }
+
+         function loadObjTree (oXMLDoc, oParentEl, oParentObj) {
+           var vValue, oChild;
+
+           if (oParentObj instanceof String || oParentObj instanceof Number || oParentObj instanceof Boolean) {
+             oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toString())); /* verbosity level is 0 */
+           } else if (oParentObj.constructor === Date) {
+             oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toGMTString()));    
+           }
+
+           for (var sName in oParentObj) {
+             vValue = oParentObj[sName];
+             if (isFinite(sName) || vValue instanceof Function) { continue; } /* verbosity level is 0 */
+             if (sName === sValueProp) {
+               if (vValue !== null && vValue !== true) { oParentEl.appendChild(oXMLDoc.createTextNode(vValue.constructor === Date ? vValue.toGMTString() : String(vValue))); }
+             } else if (sName === sAttributesProp) { /* verbosity level is 3 */
+               for (var sAttrib in vValue) { oParentEl.setAttribute(sAttrib, vValue[sAttrib]); }
+             } else if (sName.charAt(0) === sAttrPref) {
+               oParentEl.setAttribute(sName.slice(1), vValue);
+             } else if (vValue.constructor === Array) {
+               for (var nItem = 0; nItem < vValue.length; nItem++) {
+                 oChild = oXMLDoc.createElement(sName);
+                 loadObjTree(oXMLDoc, oChild, vValue[nItem]);
+                 oParentEl.appendChild(oChild);
+               }
+             } else {
+               oChild = oXMLDoc.createElement(sName);
+               if (vValue instanceof Object) {
+                 loadObjTree(oXMLDoc, oChild, vValue);
+               } else if (vValue !== null && vValue !== true) {
+                 oChild.appendChild(oXMLDoc.createTextNode(vValue.toString()));
+               }
+               oParentEl.appendChild(oChild);
+            }
+          }
+         }
+
+         this.build = function (oXMLParent, nVerbosity /* optional */, bFreeze /* optional */, bNesteAttributes /* optional */) {
+           var _nVerb = arguments.length > 1 && typeof nVerbosity === 'number' ? nVerbosity & 3 : /* put here the default verbosity level: */ 1;
+           return createObjTree(oXMLParent, _nVerb, bFreeze || false, arguments.length > 3 ? bNesteAttributes : _nVerb === 3);    
+         };
+
+         this.unbuild = function (oObjTree) {    
+           var oNewDoc = document.implementation.createDocument('', '', null);
+           loadObjTree(oNewDoc, oNewDoc, oObjTree);
+           return oNewDoc;
+         };
+
+         this.stringify = function (oObjTree) {
+           return (new XMLSerializer()).serializeToString(JXON.unbuild(oObjTree));
+         };
+       })();
+
+       // var myObject = JXON.build(doc);
+       // we got our javascript object! try: alert(JSON.stringify(myObject));
+
+       // var newDoc = JXON.unbuild(myObject);
+       // we got our Document instance! try: alert((new XMLSerializer()).serializeToString(newDoc));
+
+       var tiler$4 = utilTiler();
+       var dispatch$5 = dispatch('authLoading', 'authDone', 'change', 'loading', 'loaded', 'loadedNotes');
+       var urlroot = 'https://www.openstreetmap.org';
+       var oauth = osmAuth({
+           url: urlroot,
+           oauth_consumer_key: '5A043yRSEugj4DJ5TljuapfnrflWDte8jTOcWLlT',
+           oauth_secret: 'aB3jKq1TRsCOUrfOIZ6oQMEDmv2ptV76PA54NGLL',
+           loading: authLoading,
+           done: authDone
+       });
+
+       var _blacklists = ['.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*'];
+       var _tileCache = { toLoad: {}, loaded: {}, inflight: {}, seen: {}, rtree: rbush_1() };
+       var _noteCache = { toLoad: {}, loaded: {}, inflight: {}, inflightPost: {}, note: {}, closed: {}, rtree: rbush_1() };
+       var _userCache = { toLoad: {}, user: {} };
+       var _changeset = {};
+
+       var _deferred = new Set();
+       var _connectionID = 1;
+       var _tileZoom = 16;
+       var _noteZoom = 12;
+       var _rateLimitError;
+       var _userChangesets;
+       var _userDetails;
+       var _off;
+
+
+       function authLoading() {
+           dispatch$5.call('authLoading');
+       }
+
+
+       function authDone() {
+           dispatch$5.call('authDone');
+       }
+
+
+       function abortRequest$4(controllerOrXHR) {
+           if (controllerOrXHR) {
+               controllerOrXHR.abort();
+           }
+       }
+
+
+       function hasInflightRequests(cache) {
+           return Object.keys(cache.inflight).length;
+       }
+
+
+       function abortUnwantedRequests$2(cache, visibleTiles) {
+           Object.keys(cache.inflight).forEach(function(k) {
+               if (cache.toLoad[k]) return;
+               if (visibleTiles.find(function(tile) { return k === tile.id; })) return;
+
+               abortRequest$4(cache.inflight[k]);
+               delete cache.inflight[k];
+           });
+       }
+
+
+       function getLoc(attrs) {
+           var lon = attrs.lon && attrs.lon.value;
+           var lat = attrs.lat && attrs.lat.value;
+           return [parseFloat(lon), parseFloat(lat)];
+       }
+
+
+       function getNodes(obj) {
+           var elems = obj.getElementsByTagName('nd');
+           var nodes = new Array(elems.length);
+           for (var i = 0, l = elems.length; i < l; i++) {
+               nodes[i] = 'n' + elems[i].attributes.ref.value;
+           }
+           return nodes;
+       }
+
+
+       function getTags(obj) {
+           var elems = obj.getElementsByTagName('tag');
+           var tags = {};
+           for (var i = 0, l = elems.length; i < l; i++) {
+               var attrs = elems[i].attributes;
+               tags[attrs.k.value] = attrs.v.value;
+           }
+
+           return tags;
+       }
+
+
+       function getMembers(obj) {
+           var elems = obj.getElementsByTagName('member');
+           var members = new Array(elems.length);
+           for (var i = 0, l = elems.length; i < l; i++) {
+               var attrs = elems[i].attributes;
+               members[i] = {
+                   id: attrs.type.value[0] + attrs.ref.value,
+                   type: attrs.type.value,
+                   role: attrs.role.value
+               };
+           }
+           return members;
+       }
+
+
+       function getVisible(attrs) {
+           return (!attrs.visible || attrs.visible.value !== 'false');
+       }
+
+
+       function parseComments(comments) {
+           var parsedComments = [];
+
+           // for each comment
+           for (var i = 0; i < comments.length; i++) {
+               var comment = comments[i];
+               if (comment.nodeName === 'comment') {
+                   var childNodes = comment.childNodes;
+                   var parsedComment = {};
+
+                   for (var j = 0; j < childNodes.length; j++) {
+                       var node = childNodes[j];
+                       var nodeName = node.nodeName;
+                       if (nodeName === '#text') continue;
+                       parsedComment[nodeName] = node.textContent;
+
+                       if (nodeName === 'uid') {
+                           var uid = node.textContent;
+                           if (uid && !_userCache.user[uid]) {
+                               _userCache.toLoad[uid] = true;
+                           }
+                       }
+                   }
+
+                   if (parsedComment) {
+                       parsedComments.push(parsedComment);
+                   }
+               }
+           }
+           return parsedComments;
+       }
+
+
+       function encodeNoteRtree(note) {
+           return {
+               minX: note.loc[0],
+               minY: note.loc[1],
+               maxX: note.loc[0],
+               maxY: note.loc[1],
+               data: note
+           };
+       }
+
+
+       var parsers = {
+           node: function nodeData(obj, uid) {
+               var attrs = obj.attributes;
+               return new osmNode({
+                   id: uid,
+                   visible: getVisible(attrs),
+                   version: attrs.version.value,
+                   changeset: attrs.changeset && attrs.changeset.value,
+                   timestamp: attrs.timestamp && attrs.timestamp.value,
+                   user: attrs.user && attrs.user.value,
+                   uid: attrs.uid && attrs.uid.value,
+                   loc: getLoc(attrs),
+                   tags: getTags(obj)
+               });
+           },
+
+           way: function wayData(obj, uid) {
+               var attrs = obj.attributes;
+               return new osmWay({
+                   id: uid,
+                   visible: getVisible(attrs),
+                   version: attrs.version.value,
+                   changeset: attrs.changeset && attrs.changeset.value,
+                   timestamp: attrs.timestamp && attrs.timestamp.value,
+                   user: attrs.user && attrs.user.value,
+                   uid: attrs.uid && attrs.uid.value,
+                   tags: getTags(obj),
+                   nodes: getNodes(obj),
+               });
+           },
+
+           relation: function relationData(obj, uid) {
+               var attrs = obj.attributes;
+               return new osmRelation({
+                   id: uid,
+                   visible: getVisible(attrs),
+                   version: attrs.version.value,
+                   changeset: attrs.changeset && attrs.changeset.value,
+                   timestamp: attrs.timestamp && attrs.timestamp.value,
+                   user: attrs.user && attrs.user.value,
+                   uid: attrs.uid && attrs.uid.value,
+                   tags: getTags(obj),
+                   members: getMembers(obj)
+               });
+           },
+
+           note: function parseNote(obj, uid) {
+               var attrs = obj.attributes;
+               var childNodes = obj.childNodes;
+               var props = {};
+
+               props.id = uid;
+               props.loc = getLoc(attrs);
+
+               // if notes are coincident, move them apart slightly
+               var coincident = false;
+               var epsilon = 0.00001;
+               do {
+                   if (coincident) {
+                       props.loc = geoVecAdd(props.loc, [epsilon, epsilon]);
+                   }
+                   var bbox = geoExtent(props.loc).bbox();
+                   coincident = _noteCache.rtree.search(bbox).length;
+               } while (coincident);
+
+               // parse note contents
+               for (var i = 0; i < childNodes.length; i++) {
+                   var node = childNodes[i];
+                   var nodeName = node.nodeName;
+                   if (nodeName === '#text') continue;
+
+                   // if the element is comments, parse the comments
+                   if (nodeName === 'comments') {
+                       props[nodeName] = parseComments(node.childNodes);
+                   } else {
+                       props[nodeName] = node.textContent;
+                   }
+               }
+
+               var note = new osmNote(props);
+               var item = encodeNoteRtree(note);
+               _noteCache.note[note.id] = note;
+               _noteCache.rtree.insert(item);
+
+               return note;
+           },
+
+           user: function parseUser(obj, uid) {
+               var attrs = obj.attributes;
+               var user = {
+                   id: uid,
+                   display_name: attrs.display_name && attrs.display_name.value,
+                   account_created: attrs.account_created && attrs.account_created.value,
+                   changesets_count: 0
+               };
+
+               var img = obj.getElementsByTagName('img');
+               if (img && img[0] && img[0].getAttribute('href')) {
+                   user.image_url = img[0].getAttribute('href');
+               }
+
+               var changesets = obj.getElementsByTagName('changesets');
+               if (changesets && changesets[0] && changesets[0].getAttribute('count')) {
+                   user.changesets_count = changesets[0].getAttribute('count');
+               }
+
+               _userCache.user[uid] = user;
+               delete _userCache.toLoad[uid];
+               return user;
+           }
+       };
+
+
+       function parseXML(xml, callback, options) {
+           options = Object.assign({ skipSeen: true }, options);
+           if (!xml || !xml.childNodes) {
+               return callback({ message: 'No XML', status: -1 });
+           }
+
+           var root = xml.childNodes[0];
+           var children = root.childNodes;
+
+           var handle = window.requestIdleCallback(function() {
+               var results = [];
+               var result;
+               for (var i = 0; i < children.length; i++) {
+                   result = parseChild(children[i]);
+                   if (result) results.push(result);
+               }
+               callback(null, results);
+           });
+
+           _deferred.add(handle);
+
+
+           function parseChild(child) {
+               var parser = parsers[child.nodeName];
+               if (!parser) return null;
+
+               var uid;
+               if (child.nodeName === 'user') {
+                   uid = child.attributes.id.value;
+                   if (options.skipSeen && _userCache.user[uid]) {
+                       delete _userCache.toLoad[uid];
+                       return null;
+                   }
+
+               } else if (child.nodeName === 'note') {
+                   uid = child.getElementsByTagName('id')[0].textContent;
+
+               } else {
+                   uid = osmEntity.id.fromOSM(child.nodeName, child.attributes.id.value);
+                   if (options.skipSeen) {
+                       if (_tileCache.seen[uid]) return null;  // avoid reparsing a "seen" entity
+                       _tileCache.seen[uid] = true;
+                   }
+               }
+
+               return parser(child, uid);
+           }
+       }
+
+
+       // replace or remove note from rtree
+       function updateRtree$2(item, replace) {
+           _noteCache.rtree.remove(item, function isEql(a, b) { return a.data.id === b.data.id; });
+
+           if (replace) {
+               _noteCache.rtree.insert(item);
+           }
+       }
+
+
+       function wrapcb(thisArg, callback, cid) {
+           return function(err, result) {
+               if (err) {
+                   // 400 Bad Request, 401 Unauthorized, 403 Forbidden..
+                   if (err.status === 400 || err.status === 401 || err.status === 403) {
+                       thisArg.logout();
+                   }
+                   return callback.call(thisArg, err);
+
+               } else if (thisArg.getConnectionId() !== cid) {
+                   return callback.call(thisArg, { message: 'Connection Switched', status: -1 });
+
+               } else {
+                   return callback.call(thisArg, err, result);
+               }
+           };
+       }
+
+
+       var serviceOsm = {
+
+           init: function() {
+               utilRebind(this, dispatch$5, 'on');
+           },
+
+
+           reset: function() {
+               Array.from(_deferred).forEach(function(handle) {
+                   window.cancelIdleCallback(handle);
+                   _deferred.delete(handle);
+               });
+
+               _connectionID++;
+               _userChangesets = undefined;
+               _userDetails = undefined;
+               _rateLimitError = undefined;
+
+               Object.values(_tileCache.inflight).forEach(abortRequest$4);
+               Object.values(_noteCache.inflight).forEach(abortRequest$4);
+               Object.values(_noteCache.inflightPost).forEach(abortRequest$4);
+               if (_changeset.inflight) abortRequest$4(_changeset.inflight);
+
+               _tileCache = { toLoad: {}, loaded: {}, inflight: {}, seen: {}, rtree: rbush_1() };
+               _noteCache = { toLoad: {}, loaded: {}, inflight: {}, inflightPost: {}, note: {}, closed: {}, rtree: rbush_1() };
+               _userCache = { toLoad: {}, user: {} };
+               _changeset = {};
+
+               return this;
+           },
+
+
+           getConnectionId: function() {
+               return _connectionID;
+           },
+
+
+           changesetURL: function(changesetID) {
+               return urlroot + '/changeset/' + changesetID;
+           },
+
+
+           changesetsURL: function(center, zoom) {
+               var precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2));
+               return urlroot + '/history#map=' +
+                   Math.floor(zoom) + '/' +
+                   center[1].toFixed(precision) + '/' +
+                   center[0].toFixed(precision);
+           },
+
+
+           entityURL: function(entity) {
+               return urlroot + '/' + entity.type + '/' + entity.osmId();
+           },
+
+
+           historyURL: function(entity) {
+               return urlroot + '/' + entity.type + '/' + entity.osmId() + '/history';
+           },
+
+
+           userURL: function(username) {
+               return urlroot + '/user/' + username;
+           },
+
+
+           noteURL: function(note) {
+               return urlroot + '/note/' + note.id;
+           },
+
+
+           noteReportURL: function(note) {
+               return urlroot + '/reports/new?reportable_type=Note&reportable_id=' + note.id;
+           },
+
+
+           // Generic method to load data from the OSM API
+           // Can handle either auth or unauth calls.
+           loadFromAPI: function(path, callback, options) {
+               options = Object.assign({ skipSeen: true }, options);
+               var that = this;
+               var cid = _connectionID;
+
+               function done(err, xml) {
+                   if (that.getConnectionId() !== cid) {
+                       if (callback) callback({ message: 'Connection Switched', status: -1 });
+                       return;
+                   }
+
+                   var isAuthenticated = that.authenticated();
+
+                   // 400 Bad Request, 401 Unauthorized, 403 Forbidden
+                   // Logout and retry the request..
+                   if (isAuthenticated && err && err.status &&
+                           (err.status === 400 || err.status === 401 || err.status === 403)) {
+                       that.logout();
+                       that.loadFromAPI(path, callback, options);
+
+                   // else, no retry..
+                   } else {
+                       // 509 Bandwidth Limit Exceeded, 429 Too Many Requests
+                       // Set the rateLimitError flag and trigger a warning..
+                       if (!isAuthenticated && !_rateLimitError && err && err.status &&
+                               (err.status === 509 || err.status === 429)) {
+                           _rateLimitError = err;
+                           dispatch$5.call('change');
+                       }
+
+                       if (callback) {
+                           if (err) {
+                               return callback(err);
+                           } else {
+                               return parseXML(xml, callback, options);
+                           }
+                       }
+                   }
+               }
+
+               if (this.authenticated()) {
+                   return oauth.xhr({ method: 'GET', path: path }, done);
+               } else {
+                   var url = urlroot + path;
+                   var controller = new AbortController();
+                   d3_xml(url, { signal: controller.signal })
+                       .then(function(data) {
+                           done(null, data);
+                       })
+                       .catch(function(err) {
+                           if (err.name === 'AbortError') return;
+                           // d3-fetch includes status in the error message,
+                           // but we can't access the response itself
+                           // https://github.com/d3/d3-fetch/issues/27
+                           var match = err.message.match(/^\d{3}/);
+                           if (match) {
+                               done({ status: +match[0], statusText: err.message });
+                           } else {
+                               done(err.message);
+                           }
+                       });
+                   return controller;
+               }
+           },
+
+
+           // Load a single entity by id (ways and relations use the `/full` call)
+           // GET /api/0.6/node/#id
+           // GET /api/0.6/[way|relation]/#id/full
+           loadEntity: function(id, callback) {
+               var type = osmEntity.id.type(id);
+               var osmID = osmEntity.id.toOSM(id);
+               var options = { skipSeen: false };
+
+               this.loadFromAPI(
+                   '/api/0.6/' + type + '/' + osmID + (type !== 'node' ? '/full' : ''),
+                   function(err, entities) {
+                       if (callback) callback(err, { data: entities });
+                   },
+                   options
+               );
+           },
+
+
+           // Load a single entity with a specific version
+           // GET /api/0.6/[node|way|relation]/#id/#version
+           loadEntityVersion: function(id, version, callback) {
+               var type = osmEntity.id.type(id);
+               var osmID = osmEntity.id.toOSM(id);
+               var options = { skipSeen: false };
+
+               this.loadFromAPI(
+                   '/api/0.6/' + type + '/' + osmID + '/' + version,
+                   function(err, entities) {
+                       if (callback) callback(err, { data: entities });
+                   },
+                   options
+               );
+           },
+
+
+           // Load multiple entities in chunks
+           // (note: callback may be called multiple times)
+           // GET /api/0.6/[nodes|ways|relations]?#parameters
+           loadMultiple: function(ids, callback) {
+               var that = this;
+               var groups = utilArrayGroupBy(utilArrayUniq(ids), osmEntity.id.type);
+
+               Object.keys(groups).forEach(function(k) {
+                   var type = k + 's';   // nodes, ways, relations
+                   var osmIDs = groups[k].map(function(id) { return osmEntity.id.toOSM(id); });
+                   var options = { skipSeen: false };
+
+                   utilArrayChunk(osmIDs, 150).forEach(function(arr) {
+                       that.loadFromAPI(
+                           '/api/0.6/' + type + '?' + type + '=' + arr.join(),
+                           function(err, entities) {
+                               if (callback) callback(err, { data: entities });
+                           },
+                           options
+                       );
+                   });
+               });
+           },
+
+
+           // Create, upload, and close a changeset
+           // PUT /api/0.6/changeset/create
+           // POST /api/0.6/changeset/#id/upload
+           // PUT /api/0.6/changeset/#id/close
+           putChangeset: function(changeset, changes, callback) {
+               var cid = _connectionID;
+
+               if (_changeset.inflight) {
+                   return callback({ message: 'Changeset already inflight', status: -2 }, changeset);
+
+               } else if (_changeset.open) {   // reuse existing open changeset..
+                   return createdChangeset.call(this, null, _changeset.open);
+
+               } else {   // Open a new changeset..
+                   var options = {
+                       method: 'PUT',
+                       path: '/api/0.6/changeset/create',
+                       options: { header: { 'Content-Type': 'text/xml' } },
+                       content: JXON.stringify(changeset.asJXON())
+                   };
+                   _changeset.inflight = oauth.xhr(
+                       options,
+                       wrapcb(this, createdChangeset, cid)
+                   );
+               }
+
+
+               function createdChangeset(err, changesetID) {
+                   _changeset.inflight = null;
+                   if (err) { return callback(err, changeset); }
+
+                   _changeset.open = changesetID;
+                   changeset = changeset.update({ id: changesetID });
+
+                   // Upload the changeset..
+                   var options = {
+                       method: 'POST',
+                       path: '/api/0.6/changeset/' + changesetID + '/upload',
+                       options: { header: { 'Content-Type': 'text/xml' } },
+                       content: JXON.stringify(changeset.osmChangeJXON(changes))
+                   };
+                   _changeset.inflight = oauth.xhr(
+                       options,
+                       wrapcb(this, uploadedChangeset, cid)
+                   );
+               }
+
+
+               function uploadedChangeset(err) {
+                   _changeset.inflight = null;
+                   if (err) return callback(err, changeset);
+
+                   // Upload was successful, safe to call the callback.
+                   // Add delay to allow for postgres replication #1646 #2678
+                   window.setTimeout(function() { callback(null, changeset); }, 2500);
+                   _changeset.open = null;
+
+                   // At this point, we don't really care if the connection was switched..
+                   // Only try to close the changeset if we're still talking to the same server.
+                   if (this.getConnectionId() === cid) {
+                       // Still attempt to close changeset, but ignore response because #2667
+                       oauth.xhr({
+                           method: 'PUT',
+                           path: '/api/0.6/changeset/' + changeset.id + '/close',
+                           options: { header: { 'Content-Type': 'text/xml' } }
+                       }, function() { return true; });
+                   }
+               }
+           },
+
+
+           // Load multiple users in chunks
+           // (note: callback may be called multiple times)
+           // GET /api/0.6/users?users=#id1,#id2,...,#idn
+           loadUsers: function(uids, callback) {
+               var toLoad = [];
+               var cached = [];
+
+               utilArrayUniq(uids).forEach(function(uid) {
+                   if (_userCache.user[uid]) {
+                       delete _userCache.toLoad[uid];
+                       cached.push(_userCache.user[uid]);
+                   } else {
+                       toLoad.push(uid);
+                   }
+               });
+
+               if (cached.length || !this.authenticated()) {
+                   callback(undefined, cached);
+                   if (!this.authenticated()) return;  // require auth
+               }
+
+               utilArrayChunk(toLoad, 150).forEach(function(arr) {
+                   oauth.xhr(
+                       { method: 'GET', path: '/api/0.6/users?users=' + arr.join() },
+                       wrapcb(this, done, _connectionID)
+                   );
+               }.bind(this));
+
+               function done(err, xml) {
+                   if (err) { return callback(err); }
+
+                   var options = { skipSeen: true };
+                   return parseXML(xml, function(err, results) {
+                       if (err) {
+                           return callback(err);
+                       } else {
+                           return callback(undefined, results);
+                       }
+                   }, options);
+               }
+           },
+
+
+           // Load a given user by id
+           // GET /api/0.6/user/#id
+           loadUser: function(uid, callback) {
+               if (_userCache.user[uid] || !this.authenticated()) {   // require auth
+                   delete _userCache.toLoad[uid];
+                   return callback(undefined, _userCache.user[uid]);
+               }
+
+               oauth.xhr(
+                   { method: 'GET', path: '/api/0.6/user/' + uid },
+                   wrapcb(this, done, _connectionID)
+               );
+
+               function done(err, xml) {
+                   if (err) { return callback(err); }
+
+                   var options = { skipSeen: true };
+                   return parseXML(xml, function(err, results) {
+                       if (err) {
+                           return callback(err);
+                       } else {
+                           return callback(undefined, results[0]);
+                       }
+                   }, options);
+               }
+           },
+
+
+           // Load the details of the logged-in user
+           // GET /api/0.6/user/details
+           userDetails: function(callback) {
+               if (_userDetails) {    // retrieve cached
+                   return callback(undefined, _userDetails);
+               }
+
+               oauth.xhr(
+                   { method: 'GET', path: '/api/0.6/user/details' },
+                   wrapcb(this, done, _connectionID)
+               );
+
+               function done(err, xml) {
+                   if (err) { return callback(err); }
+
+                   var options = { skipSeen: false };
+                   return parseXML(xml, function(err, results) {
+                       if (err) {
+                           return callback(err);
+                       } else {
+                           _userDetails = results[0];
+                           return callback(undefined, _userDetails);
+                       }
+                   }, options);
+               }
+           },
+
+
+           // Load previous changesets for the logged in user
+           // GET /api/0.6/changesets?user=#id
+           userChangesets: function(callback) {
+               if (_userChangesets) {    // retrieve cached
+                   return callback(undefined, _userChangesets);
+               }
+
+               this.userDetails(
+                   wrapcb(this, gotDetails, _connectionID)
+               );
+
+
+               function gotDetails(err, user) {
+                   if (err) { return callback(err); }
+
+                   oauth.xhr(
+                       { method: 'GET', path: '/api/0.6/changesets?user=' + user.id },
+                       wrapcb(this, done, _connectionID)
+                   );
+               }
+
+               function done(err, xml) {
+                   if (err) { return callback(err); }
+
+                   _userChangesets = Array.prototype.map.call(
+                       xml.getElementsByTagName('changeset'),
+                       function (changeset) { return { tags: getTags(changeset) }; }
+                   ).filter(function (changeset) {
+                       var comment = changeset.tags.comment;
+                       return comment && comment !== '';
+                   });
+
+                   return callback(undefined, _userChangesets);
+               }
+           },
+
+
+           // Fetch the status of the OSM API
+           // GET /api/capabilities
+           status: function(callback) {
+               var url = urlroot + '/api/capabilities';
+               var errback = wrapcb(this, done, _connectionID);
+               d3_xml(url)
+                   .then(function(data) { errback(null, data); })
+                   .catch(function(err) { errback(err.message); });
+
+               function done(err, xml) {
+                   if (err) { return callback(err); }
+
+                   // update blacklists
+                   var elements = xml.getElementsByTagName('blacklist');
+                   var regexes = [];
+                   for (var i = 0; i < elements.length; i++) {
+                       var regex = elements[i].getAttribute('regex');  // needs unencode?
+                       if (regex) {
+                           regexes.push(regex);
+                       }
+                   }
+                   if (regexes.length) {
+                       _blacklists = regexes;
+                   }
+
+                   if (_rateLimitError) {
+                       return callback(_rateLimitError, 'rateLimited');
+                   } else {
+                       var apiStatus = xml.getElementsByTagName('status');
+                       var val = apiStatus[0].getAttribute('api');
+                       return callback(undefined, val);
+                   }
+               }
+           },
+
+
+           // Load data (entities) from the API in tiles
+           // GET /api/0.6/map?bbox=
+           loadTiles: function(projection, callback) {
+               if (_off) return;
+
+               // determine the needed tiles to cover the view
+               var tiles = tiler$4.zoomExtent([_tileZoom, _tileZoom]).getTiles(projection);
+
+               // abort inflight requests that are no longer needed
+               var hadRequests = hasInflightRequests(_tileCache);
+               abortUnwantedRequests$2(_tileCache, tiles);
+               if (hadRequests && !hasInflightRequests(_tileCache)) {
+                   dispatch$5.call('loaded');    // stop the spinner
+               }
+
+               // issue new requests..
+               tiles.forEach(function(tile) {
+                   this.loadTile(tile, callback);
+               }, this);
+           },
+
+
+           // Load a single data tile
+           // GET /api/0.6/map?bbox=
+           loadTile: function(tile, callback) {
+               if (_off) return;
+               if (_tileCache.loaded[tile.id] || _tileCache.inflight[tile.id]) return;
+
+               if (!hasInflightRequests(_tileCache)) {
+                   dispatch$5.call('loading');   // start the spinner
+               }
+
+               var path = '/api/0.6/map?bbox=';
+               var options = { skipSeen: true };
+
+               _tileCache.inflight[tile.id] = this.loadFromAPI(
+                   path + tile.extent.toParam(),
+                   function(err, parsed) {
+                       delete _tileCache.inflight[tile.id];
+                       if (!err) {
+                           delete _tileCache.toLoad[tile.id];
+                           _tileCache.loaded[tile.id] = true;
+                           var bbox = tile.extent.bbox();
+                           bbox.id = tile.id;
+                           _tileCache.rtree.insert(bbox);
+                       }
+                       if (callback) {
+                           callback(err, Object.assign({ data: parsed }, tile));
+                       }
+                       if (!hasInflightRequests(_tileCache)) {
+                           dispatch$5.call('loaded');     // stop the spinner
+                       }
+                   },
+                   options
+               );
+           },
+
+
+           isDataLoaded: function(loc) {
+               var bbox = { minX: loc[0], minY: loc[1], maxX: loc[0], maxY: loc[1] };
+               return _tileCache.rtree.collides(bbox);
+           },
+
+
+           // load the tile that covers the given `loc`
+           loadTileAtLoc: function(loc, callback) {
+               // Back off if the toLoad queue is filling up.. re #6417
+               // (Currently `loadTileAtLoc` requests are considered low priority - used by operations to
+               // let users safely edit geometries which extend to unloaded tiles.  We can drop some.)
+               if (Object.keys(_tileCache.toLoad).length > 50) return;
+
+               var k = geoZoomToScale(_tileZoom + 1);
+               var offset = geoRawMercator().scale(k)(loc);
+               var projection = geoRawMercator().transform({ k: k, x: -offset[0], y: -offset[1] });
+               var tiles = tiler$4.zoomExtent([_tileZoom, _tileZoom]).getTiles(projection);
+
+               tiles.forEach(function(tile) {
+                   if (_tileCache.toLoad[tile.id] || _tileCache.loaded[tile.id] || _tileCache.inflight[tile.id]) return;
+
+                   _tileCache.toLoad[tile.id] = true;
+                   this.loadTile(tile, callback);
+               }, this);
+           },
+
+
+           // Load notes from the API in tiles
+           // GET /api/0.6/notes?bbox=
+           loadNotes: function(projection, noteOptions) {
+               noteOptions = Object.assign({ limit: 10000, closed: 7 }, noteOptions);
+               if (_off) return;
+
+               var that = this;
+               var path = '/api/0.6/notes?limit=' + noteOptions.limit + '&closed=' + noteOptions.closed + '&bbox=';
+               var throttleLoadUsers = throttle(function() {
+                   var uids = Object.keys(_userCache.toLoad);
+                   if (!uids.length) return;
+                   that.loadUsers(uids, function() {});  // eagerly load user details
+               }, 750);
+
+               // determine the needed tiles to cover the view
+               var tiles = tiler$4.zoomExtent([_noteZoom, _noteZoom]).getTiles(projection);
+
+               // abort inflight requests that are no longer needed
+               abortUnwantedRequests$2(_noteCache, tiles);
+
+               // issue new requests..
+               tiles.forEach(function(tile) {
+                   if (_noteCache.loaded[tile.id] || _noteCache.inflight[tile.id]) return;
+
+                   var options = { skipSeen: false };
+                   _noteCache.inflight[tile.id] = that.loadFromAPI(
+                       path + tile.extent.toParam(),
+                       function(err) {
+                           delete _noteCache.inflight[tile.id];
+                           if (!err) {
+                               _noteCache.loaded[tile.id] = true;
+                           }
+                           throttleLoadUsers();
+                           dispatch$5.call('loadedNotes');
+                       },
+                       options
+                   );
+               });
+           },
+
+
+           // Create a note
+           // POST /api/0.6/notes?params
+           postNoteCreate: function(note, callback) {
+               if (!this.authenticated()) {
+                   return callback({ message: 'Not Authenticated', status: -3 }, note);
+               }
+               if (_noteCache.inflightPost[note.id]) {
+                   return callback({ message: 'Note update already inflight', status: -2 }, note);
+               }
+
+               if (!note.loc[0] || !note.loc[1] || !note.newComment) return; // location & description required
+
+               var comment = note.newComment;
+               if (note.newCategory && note.newCategory !== 'None') { comment += ' #' + note.newCategory; }
+
+               var path = '/api/0.6/notes?' + utilQsString({ lon: note.loc[0], lat: note.loc[1], text: comment });
+
+               _noteCache.inflightPost[note.id] = oauth.xhr(
+                   { method: 'POST', path: path },
+                   wrapcb(this, done, _connectionID)
+               );
+
+
+               function done(err, xml) {
+                   delete _noteCache.inflightPost[note.id];
+                   if (err) { return callback(err); }
+
+                   // we get the updated note back, remove from caches and reparse..
+                   this.removeNote(note);
+
+                   var options = { skipSeen: false };
+                   return parseXML(xml, function(err, results) {
+                       if (err) {
+                           return callback(err);
+                       } else {
+                           return callback(undefined, results[0]);
+                       }
+                   }, options);
+               }
+           },
+
+
+           // Update a note
+           // POST /api/0.6/notes/#id/comment?text=comment
+           // POST /api/0.6/notes/#id/close?text=comment
+           // POST /api/0.6/notes/#id/reopen?text=comment
+           postNoteUpdate: function(note, newStatus, callback) {
+               if (!this.authenticated()) {
+                   return callback({ message: 'Not Authenticated', status: -3 }, note);
+               }
+               if (_noteCache.inflightPost[note.id]) {
+                   return callback({ message: 'Note update already inflight', status: -2 }, note);
+               }
+
+               var action;
+               if (note.status !== 'closed' && newStatus === 'closed') {
+                   action = 'close';
+               } else if (note.status !== 'open' && newStatus === 'open') {
+                   action = 'reopen';
+               } else {
+                   action = 'comment';
+                   if (!note.newComment) return; // when commenting, comment required
+               }
+
+               var path = '/api/0.6/notes/' + note.id + '/' + action;
+               if (note.newComment) {
+                   path += '?' + utilQsString({ text: note.newComment });
+               }
+
+               _noteCache.inflightPost[note.id] = oauth.xhr(
+                   { method: 'POST', path: path },
+                   wrapcb(this, done, _connectionID)
+               );
+
+
+               function done(err, xml) {
+                   delete _noteCache.inflightPost[note.id];
+                   if (err) { return callback(err); }
+
+                   // we get the updated note back, remove from caches and reparse..
+                   this.removeNote(note);
+
+                   // update closed note cache - used to populate `closed:note` changeset tag
+                   if (action === 'close') {
+                       _noteCache.closed[note.id] = true;
+                   } else if (action === 'reopen') {
+                       delete _noteCache.closed[note.id];
+                   }
+
+                   var options = { skipSeen: false };
+                   return parseXML(xml, function(err, results) {
+                       if (err) {
+                           return callback(err);
+                       } else {
+                           return callback(undefined, results[0]);
+                       }
+                   }, options);
+               }
+           },
+
+
+           switch: function(options) {
+               urlroot = options.urlroot;
+
+               oauth.options(Object.assign({
+                   url: urlroot,
+                   loading: authLoading,
+                   done: authDone
+               }, options));
+
+               this.reset();
+               this.userChangesets(function() {});  // eagerly load user details/changesets
+               dispatch$5.call('change');
+               return this;
+           },
+
+
+           toggle: function(val) {
+               _off = !val;
+               return this;
+           },
+
+
+           isChangesetInflight: function() {
+               return !!_changeset.inflight;
+           },
+
+
+           // get/set cached data
+           // This is used to save/restore the state when entering/exiting the walkthrough
+           // Also used for testing purposes.
+           caches: function(obj) {
+               function cloneCache(source) {
+                   var target = {};
+                   Object.keys(source).forEach(function(k) {
+                       if (k === 'rtree') {
+                           target.rtree = rbush_1().fromJSON(source.rtree.toJSON());  // clone rbush
+                       } else if (k === 'note') {
+                           target.note = {};
+                           Object.keys(source.note).forEach(function(id) {
+                               target.note[id] = osmNote(source.note[id]);   // copy notes
+                           });
+                       } else {
+                           target[k] = JSON.parse(JSON.stringify(source[k]));   // clone deep
+                       }
+                   });
+                   return target;
+               }
+
+               if (!arguments.length) {
+                   return {
+                       tile: cloneCache(_tileCache),
+                       note: cloneCache(_noteCache),
+                       user: cloneCache(_userCache)
+                   };
+               }
+
+               // access caches directly for testing (e.g., loading notes rtree)
+               if (obj === 'get') {
+                   return {
+                       tile: _tileCache,
+                       note: _noteCache,
+                       user: _userCache
+                   };
+               }
+
+               if (obj.tile) {
+                   _tileCache = obj.tile;
+                   _tileCache.inflight = {};
+               }
+               if (obj.note) {
+                   _noteCache = obj.note;
+                   _noteCache.inflight = {};
+                   _noteCache.inflightPost = {};
+               }
+               if (obj.user) {
+                   _userCache = obj.user;
+               }
+
+               return this;
+           },
+
+
+           logout: function() {
+               _userChangesets = undefined;
+               _userDetails = undefined;
+               oauth.logout();
+               dispatch$5.call('change');
+               return this;
+           },
+
+
+           authenticated: function() {
+               return oauth.authenticated();
+           },
+
+
+           authenticate: function(callback) {
+               var that = this;
+               var cid = _connectionID;
+               _userChangesets = undefined;
+               _userDetails = undefined;
+
+               function done(err, res) {
+                   if (err) {
+                       if (callback) callback(err);
+                       return;
+                   }
+                   if (that.getConnectionId() !== cid) {
+                       if (callback) callback({ message: 'Connection Switched', status: -1 });
+                       return;
+                   }
+                   _rateLimitError = undefined;
+                   dispatch$5.call('change');
+                   if (callback) callback(err, res);
+                   that.userChangesets(function() {});  // eagerly load user details/changesets
+               }
+
+               return oauth.authenticate(done);
+           },
+
+
+           imageryBlacklists: function() {
+               return _blacklists;
+           },
+
+
+           tileZoom: function(val) {
+               if (!arguments.length) return _tileZoom;
+               _tileZoom = val;
+               return this;
+           },
+
+
+           // get all cached notes covering the viewport
+           notes: function(projection) {
+               var viewport = projection.clipExtent();
+               var min = [viewport[0][0], viewport[1][1]];
+               var max = [viewport[1][0], viewport[0][1]];
+               var bbox = geoExtent(projection.invert(min), projection.invert(max)).bbox();
+
+               return _noteCache.rtree.search(bbox)
+                   .map(function(d) { return d.data; });
+           },
+
+
+           // get a single note from the cache
+           getNote: function(id) {
+               return _noteCache.note[id];
+           },
+
+
+           // remove a single note from the cache
+           removeNote: function(note) {
+               if (!(note instanceof osmNote) || !note.id) return;
+
+               delete _noteCache.note[note.id];
+               updateRtree$2(encodeNoteRtree(note), false);  // false = remove
+           },
+
+
+           // replace a single note in the cache
+           replaceNote: function(note) {
+               if (!(note instanceof osmNote) || !note.id) return;
+
+               _noteCache.note[note.id] = note;
+               updateRtree$2(encodeNoteRtree(note), true);  // true = replace
+               return note;
+           },
+
+
+           // Get an array of note IDs closed during this session.
+           // Used to populate `closed:note` changeset tag
+           getClosedIDs: function() {
+               return Object.keys(_noteCache.closed).sort();
+           }
+
+       };
+
+       var apibase$3 = 'https://wiki.openstreetmap.org/w/api.php';
+       var _inflight$1 = {};
+       var _wikibaseCache = {};
+       var _localeIDs = { en: false };
+
+
+       var debouncedRequest = debounce(request, 500, { leading: false });
+
+       function request(url, callback) {
+           if (_inflight$1[url]) return;
+           var controller = new AbortController();
+           _inflight$1[url] = controller;
+
+           d3_json(url, { signal: controller.signal })
+               .then(function(result) {
+                   delete _inflight$1[url];
+                   if (callback) callback(null, result);
+               })
+               .catch(function(err) {
+                   delete _inflight$1[url];
+                   if (err.name === 'AbortError') return;
+                   if (callback) callback(err.message);
+               });
+       }
+
+
+       /**
+        * Get the best string value from the descriptions/labels result
+        * Note that if mediawiki doesn't recognize language code, it will return all values.
+        * In that case, fallback to use English.
+        * @param values object - either descriptions or labels
+        * @param langCode String
+        * @returns localized string
+        */
+       function localizedToString(values, langCode) {
+           if (values) {
+               values = values[langCode] || values.en;
+           }
+           return values ? values.value : '';
+       }
+
+
+       var serviceOsmWikibase = {
+
+           init: function() {
+               _inflight$1 = {};
+               _wikibaseCache = {};
+               _localeIDs = {};
+           },
+
+
+           reset: function() {
+               Object.values(_inflight$1).forEach(function(controller) { controller.abort(); });
+               _inflight$1 = {};
+           },
+
+
+           /**
+            * Get the best value for the property, or undefined if not found
+            * @param entity object from wikibase
+            * @param property string e.g. 'P4' for image
+            * @param langCode string e.g. 'fr' for French
+            */
+           claimToValue: function(entity, property, langCode) {
+               if (!entity.claims[property]) return undefined;
+               var locale = _localeIDs[langCode];
+               var preferredPick, localePick;
+
+               entity.claims[property].forEach(function(stmt) {
+                   // If exists, use value limited to the needed language (has a qualifier P26 = locale)
+                   // Or if not found, use the first value with the "preferred" rank
+                   if (!preferredPick && stmt.rank === 'preferred') {
+                       preferredPick = stmt;
+                   }
+                   if (locale && stmt.qualifiers && stmt.qualifiers.P26 &&
+                       stmt.qualifiers.P26[0].datavalue.value.id === locale
+                   ) {
+                       localePick = stmt;
+                   }
+               });
+
+               var result = localePick || preferredPick;
+               if (result) {
+                   var datavalue = result.mainsnak.datavalue;
+                   return datavalue.type === 'wikibase-entityid' ? datavalue.value.id : datavalue.value;
+               } else {
+                   return undefined;
+               }
+           },
+
+
+           /**
+            * Convert monolingual property into a key-value object (language -> value)
+            * @param entity object from wikibase
+            * @param property string e.g. 'P31' for monolingual wiki page title
+            */
+           monolingualClaimToValueObj: function(entity, property) {
+               if (!entity || !entity.claims[property]) return undefined;
+
+               return entity.claims[property].reduce(function(acc, obj) {
+                   var value = obj.mainsnak.datavalue.value;
+                   acc[value.language] = value.text;
+                   return acc;
+               }, {});
+           },
+
+
+           toSitelink: function(key, value) {
+               var result = value ? ('Tag:' + key + '=' + value) : 'Key:' + key;
+               return result.replace(/_/g, ' ').trim();
+           },
+
+
+           //
+           // Pass params object of the form:
+           // {
+           //   key: 'string',
+           //   value: 'string',
+           //   rtype: 'string',
+           //   langCode: 'string'
+           // }
+           //
+           getEntity: function(params, callback) {
+               var doRequest = params.debounce ? debouncedRequest : request;
+               var that = this;
+               var titles = [];
+               var result = {};
+               var rtypeSitelink = params.rtype ? ('Relation:' + params.rtype).replace(/_/g, ' ').trim() : false;
+               var keySitelink = params.key ? this.toSitelink(params.key) : false;
+               var tagSitelink = (params.key && params.value) ? this.toSitelink(params.key, params.value) : false;
+               var localeSitelink;
+
+               if (params.langCode && _localeIDs[params.langCode] === undefined) {
+                   // If this is the first time we are asking about this locale,
+                   // fetch corresponding entity (if it exists), and cache it.
+                   // If there is no such entry, cache `false` value to avoid re-requesting it.
+                   localeSitelink = ('Locale:' + params.langCode).replace(/_/g, ' ').trim();
+                   titles.push(localeSitelink);
+               }
+
+               if (rtypeSitelink) {
+                   if (_wikibaseCache[rtypeSitelink]) {
+                       result.rtype = _wikibaseCache[rtypeSitelink];
+                   } else {
+                       titles.push(rtypeSitelink);
+                   }
+               }
+
+               if (keySitelink) {
+                   if (_wikibaseCache[keySitelink]) {
+                       result.key = _wikibaseCache[keySitelink];
+                   } else {
+                       titles.push(keySitelink);
+                   }
+               }
+
+               if (tagSitelink) {
+                   if (_wikibaseCache[tagSitelink]) {
+                       result.tag = _wikibaseCache[tagSitelink];
+                   } else {
+                       titles.push(tagSitelink);
+                   }
+               }
+
+               if (!titles.length) {
+                   // Nothing to do, we already had everything in the cache
+                   return callback(null, result);
+               }
+
+               // Requesting just the user language code
+               // If backend recognizes the code, it will perform proper fallbacks,
+               // and the result will contain the requested code. If not, all values are returned:
+               // {"zh-tw":{"value":"...","language":"zh-tw","source-language":"zh-hant"}
+               // {"pt-br":{"value":"...","language":"pt","for-language":"pt-br"}}
+               var obj = {
+                   action: 'wbgetentities',
+                   sites: 'wiki',
+                   titles: titles.join('|'),
+                   languages: params.langCode,
+                   languagefallback: 1,
+                   origin: '*',
+                   format: 'json',
+                   // There is an MW Wikibase API bug https://phabricator.wikimedia.org/T212069
+                   // We shouldn't use v1 until it gets fixed, but should switch to it afterwards
+                   // formatversion: 2,
+               };
+
+               var url = apibase$3 + '?' + utilQsString(obj);
+               doRequest(url, function(err, d) {
+                   if (err) {
+                       callback(err);
+                   } else if (!d.success || d.error) {
+                       callback(d.error.messages.map(function(v) { return v.html['*']; }).join('<br>'));
+                   } else {
+                       var localeID = false;
+                       Object.values(d.entities).forEach(function(res) {
+                           if (res.missing !== '') {
+                               // Simplify access to the localized values
+                               res.description = localizedToString(res.descriptions, params.langCode);
+                               res.label = localizedToString(res.labels, params.langCode);
+
+                               var title = res.sitelinks.wiki.title;
+                               if (title === rtypeSitelink) {
+                                   _wikibaseCache[rtypeSitelink] = res;
+                                   result.rtype = res;
+                               } else if (title === keySitelink) {
+                                   _wikibaseCache[keySitelink] = res;
+                                   result.key = res;
+                               } else if (title === tagSitelink) {
+                                   _wikibaseCache[tagSitelink] = res;
+                                   result.tag = res;
+                               } else if (title === localeSitelink) {
+                                   localeID = res.id;
+                               } else {
+                                   console.log('Unexpected title ' + title);  // eslint-disable-line no-console
+                               }
+                           }
+                       });
+
+                       if (localeSitelink) {
+                           // If locale ID is not found, store false to prevent repeated queries
+                           that.addLocale(params.langCode, localeID);
+                       }
+
+                       callback(null, result);
+                   }
+               });
+           },
+
+
+           //
+           // Pass params object of the form:
+           // {
+           //   key: 'string',     // required
+           //   value: 'string'    // optional
+           // }
+           //   -or-
+           // {
+           //   rtype: 'rtype'     // relation type  (e.g. 'multipolygon')
+           // }
+           //
+           // Get an result object used to display tag documentation
+           // {
+           //   title:        'string',
+           //   description:  'string',
+           //   editURL:      'string',
+           //   imageURL:     'string',
+           //   wiki:         { title: 'string', text: 'string', url: 'string' }
+           // }
+           //
+           getDocs: function(params, callback) {
+               var that = this;
+               var langCode = utilDetect().locale.toLowerCase();
+               params.langCode = langCode;
+
+               this.getEntity(params, function(err, data) {
+                   if (err) {
+                       callback(err);
+                       return;
+                   }
+
+                   var entity = data.rtype || data.tag || data.key;
+                   if (!entity) {
+                       callback('No entity');
+                       return;
+                   }
+
+                   // prepare result
+                   var result = {
+                       title: entity.title,
+                       description: entity.description,
+                       editURL: 'https://wiki.openstreetmap.org/wiki/' + entity.title
+                   };
+
+                   // add image
+                   if (entity.claims) {
+                       var imageroot;
+                       var image = that.claimToValue(entity, 'P4', langCode);
+                       if (image) {
+                           imageroot = 'https://commons.wikimedia.org/w/index.php';
+                       } else {
+                           image = that.claimToValue(entity, 'P28', langCode);
+                           if (image) {
+                               imageroot = 'https://wiki.openstreetmap.org/w/index.php';
+                           }
+                       }
+                       if (imageroot && image) {
+                           result.imageURL = imageroot + '?' + utilQsString({
+                               title: 'Special:Redirect/file/' + image,
+                               width: 400
+                           });
+                       }
+                   }
+
+                   // Try to get a wiki page from tag data item first, followed by the corresponding key data item.
+                   // If neither tag nor key data item contain a wiki page in the needed language nor English,
+                   // get the first found wiki page from either the tag or the key item.
+                   var rtypeWiki = that.monolingualClaimToValueObj(data.rtype, 'P31');
+                   var tagWiki = that.monolingualClaimToValueObj(data.tag, 'P31');
+                   var keyWiki = that.monolingualClaimToValueObj(data.key, 'P31');
+
+                   // If exact language code does not exist, try to find the first part before the '-'
+                   // BUG: in some cases, a more elaborate fallback logic might be needed
+                   var langPrefix = langCode.split('-', 2)[0];
+
+                   // use the first acceptable wiki page
+                   result.wiki =
+                       getWikiInfo(rtypeWiki, langCode, 'inspector.wiki_reference') ||
+                       getWikiInfo(rtypeWiki, langPrefix, 'inspector.wiki_reference') ||
+                       getWikiInfo(rtypeWiki, 'en', 'inspector.wiki_en_reference') ||
+                       getWikiInfo(tagWiki, langCode, 'inspector.wiki_reference') ||
+                       getWikiInfo(tagWiki, langPrefix, 'inspector.wiki_reference') ||
+                       getWikiInfo(tagWiki, 'en', 'inspector.wiki_en_reference') ||
+                       getWikiInfo(keyWiki, langCode, 'inspector.wiki_reference') ||
+                       getWikiInfo(keyWiki, langPrefix, 'inspector.wiki_reference') ||
+                       getWikiInfo(keyWiki, 'en', 'inspector.wiki_en_reference');
+
+                   callback(null, result);
+
+
+                   // Helper method to get wiki info if a given language exists
+                   function getWikiInfo(wiki, langCode, tKey) {
+                       if (wiki && wiki[langCode]) {
+                           return {
+                               title: wiki[langCode],
+                               text: tKey,
+                               url: 'https://wiki.openstreetmap.org/wiki/' + wiki[langCode]
+                           };
+                       }
+                   }
+               });
+           },
+
+
+           addLocale: function(langCode, qid) {
+               // Makes it easier to unit test
+               _localeIDs[langCode] = qid;
+           },
+
+
+           apibase: function(val) {
+               if (!arguments.length) return apibase$3;
+               apibase$3 = val;
+               return this;
+           }
+
+       };
+
+       var jsonpCache = {};
+       window.jsonpCache = jsonpCache;
+
+       function jsonpRequest(url, callback) {
+           var request = {
+               abort: function() {}
+           };
+
+           if (window.JSONP_FIX) {
+               if (window.JSONP_DELAY === 0) {
+                   callback(window.JSONP_FIX);
+               } else {
+                   var t = window.setTimeout(function() {
+                       callback(window.JSONP_FIX);
+                   }, window.JSONP_DELAY || 0);
+
+                   request.abort = function() { window.clearTimeout(t); };
+               }
+
+               return request;
+           }
+
+           function rand() {
+               var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
+               var c = '';
+               var i = -1;
+               while (++i < 15) c += chars.charAt(Math.floor(Math.random() * 52));
+               return c;
+           }
+
+           function create(url) {
+               var e = url.match(/callback=(\w+)/);
+               var c = e ? e[1] : rand();
+
+               jsonpCache[c] = function(data) {
+                   if (jsonpCache[c]) {
+                       callback(data);
+                   }
+                   finalize();
+               };
+
+               function finalize() {
+                   delete jsonpCache[c];
+                   script.remove();
+               }
+
+               request.abort = finalize;
+               return 'jsonpCache.' + c;
+           }
+
+           var cb = create(url);
+
+           var script = d3_select('head')
+               .append('script')
+               .attr('type', 'text/javascript')
+               .attr('src', url.replace(/(\{|%7B)callback(\}|%7D)/, cb));
+
+           return request;
+       }
+
+       var q = createCommonjsModule(function (module, exports) {
+       // vim:ts=4:sts=4:sw=4:
+       /*!
+        *
+        * Copyright 2009-2017 Kris Kowal under the terms of the MIT
+        * license found at https://github.com/kriskowal/q/blob/v1/LICENSE
+        *
+        * With parts by Tyler Close
+        * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found
+        * at http://www.opensource.org/licenses/mit-license.html
+        * Forked at ref_send.js version: 2009-05-11
+        *
+        * With parts by Mark Miller
+        * Copyright (C) 2011 Google Inc.
+        *
+        * Licensed under the Apache License, Version 2.0 (the "License");
+        * you may not use this file except in compliance with the License.
+        * You may obtain a copy of the License at
+        *
+        * http://www.apache.org/licenses/LICENSE-2.0
+        *
+        * Unless required by applicable law or agreed to in writing, software
+        * distributed under the License is distributed on an "AS IS" BASIS,
+        * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+        * See the License for the specific language governing permissions and
+        * limitations under the License.
+        *
+        */
+
+       (function (definition) {
+
+           // This file will function properly as a <script> tag, or a module
+           // using CommonJS and NodeJS or RequireJS module formats.  In
+           // Common/Node/RequireJS, the module exports the Q API and when
+           // executed as a simple <script>, it creates a Q global instead.
+
+           // Montage Require
+           if (typeof bootstrap === "function") {
+               bootstrap("promise", definition);
+
+           // CommonJS
+           } else {
+               module.exports = definition();
+
+           // RequireJS
+           }
+
+       })(function () {
+
+       var hasStacks = false;
+       try {
+           throw new Error();
+       } catch (e) {
+           hasStacks = !!e.stack;
+       }
+
+       // All code after this point will be filtered from stack traces reported
+       // by Q.
+       var qStartingLine = captureLine();
+       var qFileName;
+
+       // shims
+
+       // used for fallback in "allResolved"
+       var noop = function () {};
+
+       // Use the fastest possible means to execute a task in a future turn
+       // of the event loop.
+       var nextTick =(function () {
+           // linked list of tasks (single, with head node)
+           var head = {task: void 0, next: null};
+           var tail = head;
+           var flushing = false;
+           var requestTick = void 0;
+           var isNodeJS = false;
+           // queue for late tasks, used by unhandled rejection tracking
+           var laterQueue = [];
+
+           function flush() {
+               /* jshint loopfunc: true */
+               var task, domain;
+
+               while (head.next) {
+                   head = head.next;
+                   task = head.task;
+                   head.task = void 0;
+                   domain = head.domain;
+
+                   if (domain) {
+                       head.domain = void 0;
+                       domain.enter();
+                   }
+                   runSingle(task, domain);
+
+               }
+               while (laterQueue.length) {
+                   task = laterQueue.pop();
+                   runSingle(task);
+               }
+               flushing = false;
+           }
+           // runs a single function in the async queue
+           function runSingle(task, domain) {
+               try {
+                   task();
+
+               } catch (e) {
+                   if (isNodeJS) {
+                       // In node, uncaught exceptions are considered fatal errors.
+                       // Re-throw them synchronously to interrupt flushing!
+
+                       // Ensure continuation if the uncaught exception is suppressed
+                       // listening "uncaughtException" events (as domains does).
+                       // Continue in next event to avoid tick recursion.
+                       if (domain) {
+                           domain.exit();
+                       }
+                       setTimeout(flush, 0);
+                       if (domain) {
+                           domain.enter();
+                       }
+
+                       throw e;
+
+                   } else {
+                       // In browsers, uncaught exceptions are not fatal.
+                       // Re-throw them asynchronously to avoid slow-downs.
+                       setTimeout(function () {
+                           throw e;
+                       }, 0);
+                   }
+               }
+
+               if (domain) {
+                   domain.exit();
+               }
+           }
+
+           nextTick = function (task) {
+               tail = tail.next = {
+                   task: task,
+                   domain: isNodeJS && process.domain,
+                   next: null
+               };
+
+               if (!flushing) {
+                   flushing = true;
+                   requestTick();
+               }
+           };
+
+           if (typeof process === "object" &&
+               process.toString() === "[object process]" && process.nextTick) {
+               // Ensure Q is in a real Node environment, with a `process.nextTick`.
+               // To see through fake Node environments:
+               // * Mocha test runner - exposes a `process` global without a `nextTick`
+               // * Browserify - exposes a `process.nexTick` function that uses
+               //   `setTimeout`. In this case `setImmediate` is preferred because
+               //    it is faster. Browserify's `process.toString()` yields
+               //   "[object Object]", while in a real Node environment
+               //   `process.toString()` yields "[object process]".
+               isNodeJS = true;
+
+               requestTick = function () {
+                   process.nextTick(flush);
+               };
+
+           } else if (typeof setImmediate === "function") {
+               // In IE10, Node.js 0.9+, or https://github.com/NobleJS/setImmediate
+               if (typeof window !== "undefined") {
+                   requestTick = setImmediate.bind(window, flush);
+               } else {
+                   requestTick = function () {
+                       setImmediate(flush);
+                   };
+               }
+
+           } else if (typeof MessageChannel !== "undefined") {
+               // modern browsers
+               // http://www.nonblocking.io/2011/06/windownexttick.html
+               var channel = new MessageChannel();
+               // At least Safari Version 6.0.5 (8536.30.1) intermittently cannot create
+               // working message ports the first time a page loads.
+               channel.port1.onmessage = function () {
+                   requestTick = requestPortTick;
+                   channel.port1.onmessage = flush;
+                   flush();
+               };
+               var requestPortTick = function () {
+                   // Opera requires us to provide a message payload, regardless of
+                   // whether we use it.
+                   channel.port2.postMessage(0);
+               };
+               requestTick = function () {
+                   setTimeout(flush, 0);
+                   requestPortTick();
+               };
+
+           } else {
+               // old browsers
+               requestTick = function () {
+                   setTimeout(flush, 0);
+               };
+           }
+           // runs a task after all other tasks have been run
+           // this is useful for unhandled rejection tracking that needs to happen
+           // after all `then`d tasks have been run.
+           nextTick.runAfter = function (task) {
+               laterQueue.push(task);
+               if (!flushing) {
+                   flushing = true;
+                   requestTick();
+               }
+           };
+           return nextTick;
+       })();
+
+       // Attempt to make generics safe in the face of downstream
+       // modifications.
+       // There is no situation where this is necessary.
+       // If you need a security guarantee, these primordials need to be
+       // deeply frozen anyway, and if you don’t need a security guarantee,
+       // this is just plain paranoid.
+       // However, this **might** have the nice side-effect of reducing the size of
+       // the minified code by reducing x.call() to merely x()
+       // See Mark Miller’s explanation of what this does.
+       // http://wiki.ecmascript.org/doku.php?id=conventions:safe_meta_programming
+       var call = Function.call;
+       function uncurryThis(f) {
+           return function () {
+               return call.apply(f, arguments);
+           };
+       }
+       // This is equivalent, but slower:
+       // uncurryThis = Function_bind.bind(Function_bind.call);
+       // http://jsperf.com/uncurrythis
+
+       var array_slice = uncurryThis(Array.prototype.slice);
+
+       var array_reduce = uncurryThis(
+           Array.prototype.reduce || function (callback, basis) {
+               var index = 0,
+                   length = this.length;
+               // concerning the initial value, if one is not provided
+               if (arguments.length === 1) {
+                   // seek to the first value in the array, accounting
+                   // for the possibility that is is a sparse array
+                   do {
+                       if (index in this) {
+                           basis = this[index++];
+                           break;
+                       }
+                       if (++index >= length) {
+                           throw new TypeError();
+                       }
+                   } while (1);
+               }
+               // reduce
+               for (; index < length; index++) {
+                   // account for the possibility that the array is sparse
+                   if (index in this) {
+                       basis = callback(basis, this[index], index);
+                   }
+               }
+               return basis;
+           }
+       );
+
+       var array_indexOf = uncurryThis(
+           Array.prototype.indexOf || function (value) {
+               // not a very good shim, but good enough for our one use of it
+               for (var i = 0; i < this.length; i++) {
+                   if (this[i] === value) {
+                       return i;
+                   }
+               }
+               return -1;
+           }
+       );
+
+       var array_map = uncurryThis(
+           Array.prototype.map || function (callback, thisp) {
+               var self = this;
+               var collect = [];
+               array_reduce(self, function (undefined$1, value, index) {
+                   collect.push(callback.call(thisp, value, index, self));
+               }, void 0);
+               return collect;
+           }
+       );
+
+       var object_create = Object.create || function (prototype) {
+           function Type() { }
+           Type.prototype = prototype;
+           return new Type();
+       };
+
+       var object_defineProperty = Object.defineProperty || function (obj, prop, descriptor) {
+           obj[prop] = descriptor.value;
+           return obj;
+       };
+
+       var object_hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);
+
+       var object_keys = Object.keys || function (object) {
+           var keys = [];
+           for (var key in object) {
+               if (object_hasOwnProperty(object, key)) {
+                   keys.push(key);
+               }
+           }
+           return keys;
+       };
+
+       var object_toString = uncurryThis(Object.prototype.toString);
+
+       function isObject(value) {
+           return value === Object(value);
+       }
+
+       // generator related shims
+
+       // FIXME: Remove this function once ES6 generators are in SpiderMonkey.
+       function isStopIteration(exception) {
+           return (
+               object_toString(exception) === "[object StopIteration]" ||
+               exception instanceof QReturnValue
+           );
+       }
+
+       // FIXME: Remove this helper and Q.return once ES6 generators are in
+       // SpiderMonkey.
+       var QReturnValue;
+       if (typeof ReturnValue !== "undefined") {
+           QReturnValue = ReturnValue;
+       } else {
+           QReturnValue = function (value) {
+               this.value = value;
+           };
+       }
+
+       // long stack traces
+
+       var STACK_JUMP_SEPARATOR = "From previous event:";
+
+       function makeStackTraceLong(error, promise) {
+           // If possible, transform the error stack trace by removing Node and Q
+           // cruft, then concatenating with the stack trace of `promise`. See #57.
+           if (hasStacks &&
+               promise.stack &&
+               typeof error === "object" &&
+               error !== null &&
+               error.stack
+           ) {
+               var stacks = [];
+               for (var p = promise; !!p; p = p.source) {
+                   if (p.stack && (!error.__minimumStackCounter__ || error.__minimumStackCounter__ > p.stackCounter)) {
+                       object_defineProperty(error, "__minimumStackCounter__", {value: p.stackCounter, configurable: true});
+                       stacks.unshift(p.stack);
+                   }
+               }
+               stacks.unshift(error.stack);
+
+               var concatedStacks = stacks.join("\n" + STACK_JUMP_SEPARATOR + "\n");
+               var stack = filterStackString(concatedStacks);
+               object_defineProperty(error, "stack", {value: stack, configurable: true});
+           }
+       }
+
+       function filterStackString(stackString) {
+           var lines = stackString.split("\n");
+           var desiredLines = [];
+           for (var i = 0; i < lines.length; ++i) {
+               var line = lines[i];
+
+               if (!isInternalFrame(line) && !isNodeFrame(line) && line) {
+                   desiredLines.push(line);
+               }
+           }
+           return desiredLines.join("\n");
+       }
+
+       function isNodeFrame(stackLine) {
+           return stackLine.indexOf("(module.js:") !== -1 ||
+                  stackLine.indexOf("(node.js:") !== -1;
+       }
+
+       function getFileNameAndLineNumber(stackLine) {
+           // Named functions: "at functionName (filename:lineNumber:columnNumber)"
+           // In IE10 function name can have spaces ("Anonymous function") O_o
+           var attempt1 = /at .+ \((.+):(\d+):(?:\d+)\)$/.exec(stackLine);
+           if (attempt1) {
+               return [attempt1[1], Number(attempt1[2])];
+           }
+
+           // Anonymous functions: "at filename:lineNumber:columnNumber"
+           var attempt2 = /at ([^ ]+):(\d+):(?:\d+)$/.exec(stackLine);
+           if (attempt2) {
+               return [attempt2[1], Number(attempt2[2])];
+           }
+
+           // Firefox style: "function@filename:lineNumber or @filename:lineNumber"
+           var attempt3 = /.*@(.+):(\d+)$/.exec(stackLine);
+           if (attempt3) {
+               return [attempt3[1], Number(attempt3[2])];
+           }
+       }
+
+       function isInternalFrame(stackLine) {
+           var fileNameAndLineNumber = getFileNameAndLineNumber(stackLine);
+
+           if (!fileNameAndLineNumber) {
+               return false;
+           }
+
+           var fileName = fileNameAndLineNumber[0];
+           var lineNumber = fileNameAndLineNumber[1];
+
+           return fileName === qFileName &&
+               lineNumber >= qStartingLine &&
+               lineNumber <= qEndingLine;
+       }
+
+       // discover own file name and line number range for filtering stack
+       // traces
+       function captureLine() {
+           if (!hasStacks) {
+               return;
+           }
+
+           try {
+               throw new Error();
+           } catch (e) {
+               var lines = e.stack.split("\n");
+               var firstLine = lines[0].indexOf("@") > 0 ? lines[1] : lines[2];
+               var fileNameAndLineNumber = getFileNameAndLineNumber(firstLine);
+               if (!fileNameAndLineNumber) {
+                   return;
+               }
+
+               qFileName = fileNameAndLineNumber[0];
+               return fileNameAndLineNumber[1];
+           }
+       }
+
+       function deprecate(callback, name, alternative) {
+           return function () {
+               if (typeof console !== "undefined" &&
+                   typeof console.warn === "function") {
+                   console.warn(name + " is deprecated, use " + alternative +
+                                " instead.", new Error("").stack);
+               }
+               return callback.apply(callback, arguments);
+           };
+       }
+
+       // end of shims
+       // beginning of real work
+
+       /**
+        * Constructs a promise for an immediate reference, passes promises through, or
+        * coerces promises from different systems.
+        * @param value immediate reference or promise
+        */
+       function Q(value) {
+           // If the object is already a Promise, return it directly.  This enables
+           // the resolve function to both be used to created references from objects,
+           // but to tolerably coerce non-promises to promises.
+           if (value instanceof Promise) {
+               return value;
+           }
+
+           // assimilate thenables
+           if (isPromiseAlike(value)) {
+               return coerce(value);
+           } else {
+               return fulfill(value);
+           }
+       }
+       Q.resolve = Q;
+
+       /**
+        * Performs a task in a future turn of the event loop.
+        * @param {Function} task
+        */
+       Q.nextTick = nextTick;
+
+       /**
+        * Controls whether or not long stack traces will be on
+        */
+       Q.longStackSupport = false;
+
+       /**
+        * The counter is used to determine the stopping point for building
+        * long stack traces. In makeStackTraceLong we walk backwards through
+        * the linked list of promises, only stacks which were created before
+        * the rejection are concatenated.
+        */
+       var longStackCounter = 1;
+
+       // enable long stacks if Q_DEBUG is set
+       if (typeof process === "object" && process && process.env && process.env.Q_DEBUG) {
+           Q.longStackSupport = true;
+       }
+
+       /**
+        * Constructs a {promise, resolve, reject} object.
+        *
+        * `resolve` is a callback to invoke with a more resolved value for the
+        * promise. To fulfill the promise, invoke `resolve` with any value that is
+        * not a thenable. To reject the promise, invoke `resolve` with a rejected
+        * thenable, or invoke `reject` with the reason directly. To resolve the
+        * promise to another thenable, thus putting it in the same state, invoke
+        * `resolve` with that other thenable.
+        */
+       Q.defer = defer;
+       function defer() {
+           // if "messages" is an "Array", that indicates that the promise has not yet
+           // been resolved.  If it is "undefined", it has been resolved.  Each
+           // element of the messages array is itself an array of complete arguments to
+           // forward to the resolved promise.  We coerce the resolution value to a
+           // promise using the `resolve` function because it handles both fully
+           // non-thenable values and other thenables gracefully.
+           var messages = [], progressListeners = [], resolvedPromise;
+
+           var deferred = object_create(defer.prototype);
+           var promise = object_create(Promise.prototype);
+
+           promise.promiseDispatch = function (resolve, op, operands) {
+               var args = array_slice(arguments);
+               if (messages) {
+                   messages.push(args);
+                   if (op === "when" && operands[1]) { // progress operand
+                       progressListeners.push(operands[1]);
+                   }
+               } else {
+                   Q.nextTick(function () {
+                       resolvedPromise.promiseDispatch.apply(resolvedPromise, args);
+                   });
+               }
+           };
+
+           // XXX deprecated
+           promise.valueOf = function () {
+               if (messages) {
+                   return promise;
+               }
+               var nearerValue = nearer(resolvedPromise);
+               if (isPromise(nearerValue)) {
+                   resolvedPromise = nearerValue; // shorten chain
+               }
+               return nearerValue;
+           };
+
+           promise.inspect = function () {
+               if (!resolvedPromise) {
+                   return { state: "pending" };
+               }
+               return resolvedPromise.inspect();
+           };
+
+           if (Q.longStackSupport && hasStacks) {
+               try {
+                   throw new Error();
+               } catch (e) {
+                   // NOTE: don't try to use `Error.captureStackTrace` or transfer the
+                   // accessor around; that causes memory leaks as per GH-111. Just
+                   // reify the stack trace as a string ASAP.
+                   //
+                   // At the same time, cut off the first line; it's always just
+                   // "[object Promise]\n", as per the `toString`.
+                   promise.stack = e.stack.substring(e.stack.indexOf("\n") + 1);
+                   promise.stackCounter = longStackCounter++;
+               }
+           }
+
+           // NOTE: we do the checks for `resolvedPromise` in each method, instead of
+           // consolidating them into `become`, since otherwise we'd create new
+           // promises with the lines `become(whatever(value))`. See e.g. GH-252.
+
+           function become(newPromise) {
+               resolvedPromise = newPromise;
+
+               if (Q.longStackSupport && hasStacks) {
+                   // Only hold a reference to the new promise if long stacks
+                   // are enabled to reduce memory usage
+                   promise.source = newPromise;
+               }
+
+               array_reduce(messages, function (undefined$1, message) {
+                   Q.nextTick(function () {
+                       newPromise.promiseDispatch.apply(newPromise, message);
+                   });
+               }, void 0);
+
+               messages = void 0;
+               progressListeners = void 0;
+           }
+
+           deferred.promise = promise;
+           deferred.resolve = function (value) {
+               if (resolvedPromise) {
+                   return;
+               }
+
+               become(Q(value));
+           };
+
+           deferred.fulfill = function (value) {
+               if (resolvedPromise) {
+                   return;
+               }
+
+               become(fulfill(value));
+           };
+           deferred.reject = function (reason) {
+               if (resolvedPromise) {
+                   return;
+               }
+
+               become(reject(reason));
+           };
+           deferred.notify = function (progress) {
+               if (resolvedPromise) {
+                   return;
+               }
+
+               array_reduce(progressListeners, function (undefined$1, progressListener) {
+                   Q.nextTick(function () {
+                       progressListener(progress);
+                   });
+               }, void 0);
+           };
+
+           return deferred;
+       }
+
+       /**
+        * Creates a Node-style callback that will resolve or reject the deferred
+        * promise.
+        * @returns a nodeback
+        */
+       defer.prototype.makeNodeResolver = function () {
+           var self = this;
+           return function (error, value) {
+               if (error) {
+                   self.reject(error);
+               } else if (arguments.length > 2) {
+                   self.resolve(array_slice(arguments, 1));
+               } else {
+                   self.resolve(value);
+               }
+           };
+       };
+
+       /**
+        * @param resolver {Function} a function that returns nothing and accepts
+        * the resolve, reject, and notify functions for a deferred.
+        * @returns a promise that may be resolved with the given resolve and reject
+        * functions, or rejected by a thrown exception in resolver
+        */
+       Q.Promise = promise; // ES6
+       Q.promise = promise;
+       function promise(resolver) {
+           if (typeof resolver !== "function") {
+               throw new TypeError("resolver must be a function.");
+           }
+           var deferred = defer();
+           try {
+               resolver(deferred.resolve, deferred.reject, deferred.notify);
+           } catch (reason) {
+               deferred.reject(reason);
+           }
+           return deferred.promise;
+       }
+
+       promise.race = race; // ES6
+       promise.all = all; // ES6
+       promise.reject = reject; // ES6
+       promise.resolve = Q; // ES6
+
+       // XXX experimental.  This method is a way to denote that a local value is
+       // serializable and should be immediately dispatched to a remote upon request,
+       // instead of passing a reference.
+       Q.passByCopy = function (object) {
+           //freeze(object);
+           //passByCopies.set(object, true);
+           return object;
+       };
+
+       Promise.prototype.passByCopy = function () {
+           //freeze(object);
+           //passByCopies.set(object, true);
+           return this;
+       };
+
+       /**
+        * If two promises eventually fulfill to the same value, promises that value,
+        * but otherwise rejects.
+        * @param x {Any*}
+        * @param y {Any*}
+        * @returns {Any*} a promise for x and y if they are the same, but a rejection
+        * otherwise.
+        *
+        */
+       Q.join = function (x, y) {
+           return Q(x).join(y);
+       };
+
+       Promise.prototype.join = function (that) {
+           return Q([this, that]).spread(function (x, y) {
+               if (x === y) {
+                   // TODO: "===" should be Object.is or equiv
+                   return x;
+               } else {
+                   throw new Error("Q can't join: not the same: " + x + " " + y);
+               }
+           });
+       };
+
+       /**
+        * Returns a promise for the first of an array of promises to become settled.
+        * @param answers {Array[Any*]} promises to race
+        * @returns {Any*} the first promise to be settled
+        */
+       Q.race = race;
+       function race(answerPs) {
+           return promise(function (resolve, reject) {
+               // Switch to this once we can assume at least ES5
+               // answerPs.forEach(function (answerP) {
+               //     Q(answerP).then(resolve, reject);
+               // });
+               // Use this in the meantime
+               for (var i = 0, len = answerPs.length; i < len; i++) {
+                   Q(answerPs[i]).then(resolve, reject);
+               }
+           });
+       }
+
+       Promise.prototype.race = function () {
+           return this.then(Q.race);
+       };
+
+       /**
+        * Constructs a Promise with a promise descriptor object and optional fallback
+        * function.  The descriptor contains methods like when(rejected), get(name),
+        * set(name, value), post(name, args), and delete(name), which all
+        * return either a value, a promise for a value, or a rejection.  The fallback
+        * accepts the operation name, a resolver, and any further arguments that would
+        * have been forwarded to the appropriate method above had a method been
+        * provided with the proper name.  The API makes no guarantees about the nature
+        * of the returned object, apart from that it is usable whereever promises are
+        * bought and sold.
+        */
+       Q.makePromise = Promise;
+       function Promise(descriptor, fallback, inspect) {
+           if (fallback === void 0) {
+               fallback = function (op) {
+                   return reject(new Error(
+                       "Promise does not support operation: " + op
+                   ));
+               };
+           }
+           if (inspect === void 0) {
+               inspect = function () {
+                   return {state: "unknown"};
+               };
+           }
+
+           var promise = object_create(Promise.prototype);
+
+           promise.promiseDispatch = function (resolve, op, args) {
+               var result;
+               try {
+                   if (descriptor[op]) {
+                       result = descriptor[op].apply(promise, args);
+                   } else {
+                       result = fallback.call(promise, op, args);
+                   }
+               } catch (exception) {
+                   result = reject(exception);
+               }
+               if (resolve) {
+                   resolve(result);
+               }
+           };
+
+           promise.inspect = inspect;
+
+           // XXX deprecated `valueOf` and `exception` support
+           if (inspect) {
+               var inspected = inspect();
+               if (inspected.state === "rejected") {
+                   promise.exception = inspected.reason;
+               }
+
+               promise.valueOf = function () {
+                   var inspected = inspect();
+                   if (inspected.state === "pending" ||
+                       inspected.state === "rejected") {
+                       return promise;
+                   }
+                   return inspected.value;
+               };
+           }
+
+           return promise;
+       }
+
+       Promise.prototype.toString = function () {
+           return "[object Promise]";
+       };
+
+       Promise.prototype.then = function (fulfilled, rejected, progressed) {
+           var self = this;
+           var deferred = defer();
+           var done = false;   // ensure the untrusted promise makes at most a
+                               // single call to one of the callbacks
+
+           function _fulfilled(value) {
+               try {
+                   return typeof fulfilled === "function" ? fulfilled(value) : value;
+               } catch (exception) {
+                   return reject(exception);
+               }
+           }
+
+           function _rejected(exception) {
+               if (typeof rejected === "function") {
+                   makeStackTraceLong(exception, self);
+                   try {
+                       return rejected(exception);
+                   } catch (newException) {
+                       return reject(newException);
+                   }
+               }
+               return reject(exception);
+           }
+
+           function _progressed(value) {
+               return typeof progressed === "function" ? progressed(value) : value;
+           }
+
+           Q.nextTick(function () {
+               self.promiseDispatch(function (value) {
+                   if (done) {
+                       return;
+                   }
+                   done = true;
+
+                   deferred.resolve(_fulfilled(value));
+               }, "when", [function (exception) {
+                   if (done) {
+                       return;
+                   }
+                   done = true;
+
+                   deferred.resolve(_rejected(exception));
+               }]);
+           });
+
+           // Progress propagator need to be attached in the current tick.
+           self.promiseDispatch(void 0, "when", [void 0, function (value) {
+               var newValue;
+               var threw = false;
+               try {
+                   newValue = _progressed(value);
+               } catch (e) {
+                   threw = true;
+                   if (Q.onerror) {
+                       Q.onerror(e);
+                   } else {
+                       throw e;
+                   }
+               }
+
+               if (!threw) {
+                   deferred.notify(newValue);
+               }
+           }]);
+
+           return deferred.promise;
+       };
+
+       Q.tap = function (promise, callback) {
+           return Q(promise).tap(callback);
+       };
+
+       /**
+        * Works almost like "finally", but not called for rejections.
+        * Original resolution value is passed through callback unaffected.
+        * Callback may return a promise that will be awaited for.
+        * @param {Function} callback
+        * @returns {Q.Promise}
+        * @example
+        * doSomething()
+        *   .then(...)
+        *   .tap(console.log)
+        *   .then(...);
+        */
+       Promise.prototype.tap = function (callback) {
+           callback = Q(callback);
+
+           return this.then(function (value) {
+               return callback.fcall(value).thenResolve(value);
+           });
+       };
+
+       /**
+        * Registers an observer on a promise.
+        *
+        * Guarantees:
+        *
+        * 1. that fulfilled and rejected will be called only once.
+        * 2. that either the fulfilled callback or the rejected callback will be
+        *    called, but not both.
+        * 3. that fulfilled and rejected will not be called in this turn.
+        *
+        * @param value      promise or immediate reference to observe
+        * @param fulfilled  function to be called with the fulfilled value
+        * @param rejected   function to be called with the rejection exception
+        * @param progressed function to be called on any progress notifications
+        * @return promise for the return value from the invoked callback
+        */
+       Q.when = when;
+       function when(value, fulfilled, rejected, progressed) {
+           return Q(value).then(fulfilled, rejected, progressed);
+       }
+
+       Promise.prototype.thenResolve = function (value) {
+           return this.then(function () { return value; });
+       };
+
+       Q.thenResolve = function (promise, value) {
+           return Q(promise).thenResolve(value);
+       };
+
+       Promise.prototype.thenReject = function (reason) {
+           return this.then(function () { throw reason; });
+       };
+
+       Q.thenReject = function (promise, reason) {
+           return Q(promise).thenReject(reason);
+       };
+
+       /**
+        * If an object is not a promise, it is as "near" as possible.
+        * If a promise is rejected, it is as "near" as possible too.
+        * If it’s a fulfilled promise, the fulfillment value is nearer.
+        * If it’s a deferred promise and the deferred has been resolved, the
+        * resolution is "nearer".
+        * @param object
+        * @returns most resolved (nearest) form of the object
+        */
+
+       // XXX should we re-do this?
+       Q.nearer = nearer;
+       function nearer(value) {
+           if (isPromise(value)) {
+               var inspected = value.inspect();
+               if (inspected.state === "fulfilled") {
+                   return inspected.value;
+               }
+           }
+           return value;
+       }
+
+       /**
+        * @returns whether the given object is a promise.
+        * Otherwise it is a fulfilled value.
+        */
+       Q.isPromise = isPromise;
+       function isPromise(object) {
+           return object instanceof Promise;
+       }
+
+       Q.isPromiseAlike = isPromiseAlike;
+       function isPromiseAlike(object) {
+           return isObject(object) && typeof object.then === "function";
+       }
+
+       /**
+        * @returns whether the given object is a pending promise, meaning not
+        * fulfilled or rejected.
+        */
+       Q.isPending = isPending;
+       function isPending(object) {
+           return isPromise(object) && object.inspect().state === "pending";
+       }
+
+       Promise.prototype.isPending = function () {
+           return this.inspect().state === "pending";
+       };
+
+       /**
+        * @returns whether the given object is a value or fulfilled
+        * promise.
+        */
+       Q.isFulfilled = isFulfilled;
+       function isFulfilled(object) {
+           return !isPromise(object) || object.inspect().state === "fulfilled";
+       }
+
+       Promise.prototype.isFulfilled = function () {
+           return this.inspect().state === "fulfilled";
+       };
+
+       /**
+        * @returns whether the given object is a rejected promise.
+        */
+       Q.isRejected = isRejected;
+       function isRejected(object) {
+           return isPromise(object) && object.inspect().state === "rejected";
+       }
+
+       Promise.prototype.isRejected = function () {
+           return this.inspect().state === "rejected";
+       };
+
+       //// BEGIN UNHANDLED REJECTION TRACKING
+
+       // This promise library consumes exceptions thrown in handlers so they can be
+       // handled by a subsequent promise.  The exceptions get added to this array when
+       // they are created, and removed when they are handled.  Note that in ES6 or
+       // shimmed environments, this would naturally be a `Set`.
+       var unhandledReasons = [];
+       var unhandledRejections = [];
+       var reportedUnhandledRejections = [];
+       var trackUnhandledRejections = true;
+
+       function resetUnhandledRejections() {
+           unhandledReasons.length = 0;
+           unhandledRejections.length = 0;
+
+           if (!trackUnhandledRejections) {
+               trackUnhandledRejections = true;
+           }
+       }
+
+       function trackRejection(promise, reason) {
+           if (!trackUnhandledRejections) {
+               return;
+           }
+           if (typeof process === "object" && typeof process.emit === "function") {
+               Q.nextTick.runAfter(function () {
+                   if (array_indexOf(unhandledRejections, promise) !== -1) {
+                       process.emit("unhandledRejection", reason, promise);
+                       reportedUnhandledRejections.push(promise);
+                   }
+               });
+           }
+
+           unhandledRejections.push(promise);
+           if (reason && typeof reason.stack !== "undefined") {
+               unhandledReasons.push(reason.stack);
+           } else {
+               unhandledReasons.push("(no stack) " + reason);
+           }
+       }
+
+       function untrackRejection(promise) {
+           if (!trackUnhandledRejections) {
+               return;
+           }
+
+           var at = array_indexOf(unhandledRejections, promise);
+           if (at !== -1) {
+               if (typeof process === "object" && typeof process.emit === "function") {
+                   Q.nextTick.runAfter(function () {
+                       var atReport = array_indexOf(reportedUnhandledRejections, promise);
+                       if (atReport !== -1) {
+                           process.emit("rejectionHandled", unhandledReasons[at], promise);
+                           reportedUnhandledRejections.splice(atReport, 1);
+                       }
+                   });
+               }
+               unhandledRejections.splice(at, 1);
+               unhandledReasons.splice(at, 1);
+           }
+       }
+
+       Q.resetUnhandledRejections = resetUnhandledRejections;
+
+       Q.getUnhandledReasons = function () {
+           // Make a copy so that consumers can't interfere with our internal state.
+           return unhandledReasons.slice();
+       };
+
+       Q.stopUnhandledRejectionTracking = function () {
+           resetUnhandledRejections();
+           trackUnhandledRejections = false;
+       };
+
+       resetUnhandledRejections();
+
+       //// END UNHANDLED REJECTION TRACKING
+
+       /**
+        * Constructs a rejected promise.
+        * @param reason value describing the failure
+        */
+       Q.reject = reject;
+       function reject(reason) {
+           var rejection = Promise({
+               "when": function (rejected) {
+                   // note that the error has been handled
+                   if (rejected) {
+                       untrackRejection(this);
+                   }
+                   return rejected ? rejected(reason) : this;
+               }
+           }, function fallback() {
+               return this;
+           }, function inspect() {
+               return { state: "rejected", reason: reason };
+           });
+
+           // Note that the reason has not been handled.
+           trackRejection(rejection, reason);
+
+           return rejection;
+       }
+
+       /**
+        * Constructs a fulfilled promise for an immediate reference.
+        * @param value immediate reference
+        */
+       Q.fulfill = fulfill;
+       function fulfill(value) {
+           return Promise({
+               "when": function () {
+                   return value;
+               },
+               "get": function (name) {
+                   return value[name];
+               },
+               "set": function (name, rhs) {
+                   value[name] = rhs;
+               },
+               "delete": function (name) {
+                   delete value[name];
+               },
+               "post": function (name, args) {
+                   // Mark Miller proposes that post with no name should apply a
+                   // promised function.
+                   if (name === null || name === void 0) {
+                       return value.apply(void 0, args);
+                   } else {
+                       return value[name].apply(value, args);
+                   }
+               },
+               "apply": function (thisp, args) {
+                   return value.apply(thisp, args);
+               },
+               "keys": function () {
+                   return object_keys(value);
+               }
+           }, void 0, function inspect() {
+               return { state: "fulfilled", value: value };
+           });
+       }
+
+       /**
+        * Converts thenables to Q promises.
+        * @param promise thenable promise
+        * @returns a Q promise
+        */
+       function coerce(promise) {
+           var deferred = defer();
+           Q.nextTick(function () {
+               try {
+                   promise.then(deferred.resolve, deferred.reject, deferred.notify);
+               } catch (exception) {
+                   deferred.reject(exception);
+               }
+           });
+           return deferred.promise;
+       }
+
+       /**
+        * Annotates an object such that it will never be
+        * transferred away from this process over any promise
+        * communication channel.
+        * @param object
+        * @returns promise a wrapping of that object that
+        * additionally responds to the "isDef" message
+        * without a rejection.
+        */
+       Q.master = master;
+       function master(object) {
+           return Promise({
+               "isDef": function () {}
+           }, function fallback(op, args) {
+               return dispatch(object, op, args);
+           }, function () {
+               return Q(object).inspect();
+           });
+       }
+
+       /**
+        * Spreads the values of a promised array of arguments into the
+        * fulfillment callback.
+        * @param fulfilled callback that receives variadic arguments from the
+        * promised array
+        * @param rejected callback that receives the exception if the promise
+        * is rejected.
+        * @returns a promise for the return value or thrown exception of
+        * either callback.
+        */
+       Q.spread = spread;
+       function spread(value, fulfilled, rejected) {
+           return Q(value).spread(fulfilled, rejected);
+       }
+
+       Promise.prototype.spread = function (fulfilled, rejected) {
+           return this.all().then(function (array) {
+               return fulfilled.apply(void 0, array);
+           }, rejected);
+       };
+
+       /**
+        * The async function is a decorator for generator functions, turning
+        * them into asynchronous generators.  Although generators are only part
+        * of the newest ECMAScript 6 drafts, this code does not cause syntax
+        * errors in older engines.  This code should continue to work and will
+        * in fact improve over time as the language improves.
+        *
+        * ES6 generators are currently part of V8 version 3.19 with the
+        * --harmony-generators runtime flag enabled.  SpiderMonkey has had them
+        * for longer, but under an older Python-inspired form.  This function
+        * works on both kinds of generators.
+        *
+        * Decorates a generator function such that:
+        *  - it may yield promises
+        *  - execution will continue when that promise is fulfilled
+        *  - the value of the yield expression will be the fulfilled value
+        *  - it returns a promise for the return value (when the generator
+        *    stops iterating)
+        *  - the decorated function returns a promise for the return value
+        *    of the generator or the first rejected promise among those
+        *    yielded.
+        *  - if an error is thrown in the generator, it propagates through
+        *    every following yield until it is caught, or until it escapes
+        *    the generator function altogether, and is translated into a
+        *    rejection for the promise returned by the decorated generator.
+        */
+       Q.async = async;
+       function async(makeGenerator) {
+           return function () {
+               // when verb is "send", arg is a value
+               // when verb is "throw", arg is an exception
+               function continuer(verb, arg) {
+                   var result;
+
+                   // Until V8 3.19 / Chromium 29 is released, SpiderMonkey is the only
+                   // engine that has a deployed base of browsers that support generators.
+                   // However, SM's generators use the Python-inspired semantics of
+                   // outdated ES6 drafts.  We would like to support ES6, but we'd also
+                   // like to make it possible to use generators in deployed browsers, so
+                   // we also support Python-style generators.  At some point we can remove
+                   // this block.
+
+                   if (typeof StopIteration === "undefined") {
+                       // ES6 Generators
+                       try {
+                           result = generator[verb](arg);
+                       } catch (exception) {
+                           return reject(exception);
+                       }
+                       if (result.done) {
+                           return Q(result.value);
+                       } else {
+                           return when(result.value, callback, errback);
+                       }
+                   } else {
+                       // SpiderMonkey Generators
+                       // FIXME: Remove this case when SM does ES6 generators.
+                       try {
+                           result = generator[verb](arg);
+                       } catch (exception) {
+                           if (isStopIteration(exception)) {
+                               return Q(exception.value);
+                           } else {
+                               return reject(exception);
+                           }
+                       }
+                       return when(result, callback, errback);
+                   }
+               }
+               var generator = makeGenerator.apply(this, arguments);
+               var callback = continuer.bind(continuer, "next");
+               var errback = continuer.bind(continuer, "throw");
+               return callback();
+           };
+       }
+
+       /**
+        * The spawn function is a small wrapper around async that immediately
+        * calls the generator and also ends the promise chain, so that any
+        * unhandled errors are thrown instead of forwarded to the error
+        * handler. This is useful because it's extremely common to run
+        * generators at the top-level to work with libraries.
+        */
+       Q.spawn = spawn;
+       function spawn(makeGenerator) {
+           Q.done(Q.async(makeGenerator)());
+       }
+
+       // FIXME: Remove this interface once ES6 generators are in SpiderMonkey.
+       /**
+        * Throws a ReturnValue exception to stop an asynchronous generator.
+        *
+        * This interface is a stop-gap measure to support generator return
+        * values in older Firefox/SpiderMonkey.  In browsers that support ES6
+        * generators like Chromium 29, just use "return" in your generator
+        * functions.
+        *
+        * @param value the return value for the surrounding generator
+        * @throws ReturnValue exception with the value.
+        * @example
+        * // ES6 style
+        * Q.async(function* () {
+        *      var foo = yield getFooPromise();
+        *      var bar = yield getBarPromise();
+        *      return foo + bar;
+        * })
+        * // Older SpiderMonkey style
+        * Q.async(function () {
+        *      var foo = yield getFooPromise();
+        *      var bar = yield getBarPromise();
+        *      Q.return(foo + bar);
+        * })
+        */
+       Q["return"] = _return;
+       function _return(value) {
+           throw new QReturnValue(value);
+       }
+
+       /**
+        * The promised function decorator ensures that any promise arguments
+        * are settled and passed as values (`this` is also settled and passed
+        * as a value).  It will also ensure that the result of a function is
+        * always a promise.
+        *
+        * @example
+        * var add = Q.promised(function (a, b) {
+        *     return a + b;
+        * });
+        * add(Q(a), Q(B));
+        *
+        * @param {function} callback The function to decorate
+        * @returns {function} a function that has been decorated.
+        */
+       Q.promised = promised;
+       function promised(callback) {
+           return function () {
+               return spread([this, all(arguments)], function (self, args) {
+                   return callback.apply(self, args);
+               });
+           };
+       }
+
+       /**
+        * sends a message to a value in a future turn
+        * @param object* the recipient
+        * @param op the name of the message operation, e.g., "when",
+        * @param args further arguments to be forwarded to the operation
+        * @returns result {Promise} a promise for the result of the operation
+        */
+       Q.dispatch = dispatch;
+       function dispatch(object, op, args) {
+           return Q(object).dispatch(op, args);
+       }
+
+       Promise.prototype.dispatch = function (op, args) {
+           var self = this;
+           var deferred = defer();
+           Q.nextTick(function () {
+               self.promiseDispatch(deferred.resolve, op, args);
+           });
+           return deferred.promise;
+       };
+
+       /**
+        * Gets the value of a property in a future turn.
+        * @param object    promise or immediate reference for target object
+        * @param name      name of property to get
+        * @return promise for the property value
+        */
+       Q.get = function (object, key) {
+           return Q(object).dispatch("get", [key]);
+       };
+
+       Promise.prototype.get = function (key) {
+           return this.dispatch("get", [key]);
+       };
+
+       /**
+        * Sets the value of a property in a future turn.
+        * @param object    promise or immediate reference for object object
+        * @param name      name of property to set
+        * @param value     new value of property
+        * @return promise for the return value
+        */
+       Q.set = function (object, key, value) {
+           return Q(object).dispatch("set", [key, value]);
+       };
+
+       Promise.prototype.set = function (key, value) {
+           return this.dispatch("set", [key, value]);
+       };
+
+       /**
+        * Deletes a property in a future turn.
+        * @param object    promise or immediate reference for target object
+        * @param name      name of property to delete
+        * @return promise for the return value
+        */
+       Q.del = // XXX legacy
+       Q["delete"] = function (object, key) {
+           return Q(object).dispatch("delete", [key]);
+       };
+
+       Promise.prototype.del = // XXX legacy
+       Promise.prototype["delete"] = function (key) {
+           return this.dispatch("delete", [key]);
+       };
+
+       /**
+        * Invokes a method in a future turn.
+        * @param object    promise or immediate reference for target object
+        * @param name      name of method to invoke
+        * @param value     a value to post, typically an array of
+        *                  invocation arguments for promises that
+        *                  are ultimately backed with `resolve` values,
+        *                  as opposed to those backed with URLs
+        *                  wherein the posted value can be any
+        *                  JSON serializable object.
+        * @return promise for the return value
+        */
+       // bound locally because it is used by other methods
+       Q.mapply = // XXX As proposed by "Redsandro"
+       Q.post = function (object, name, args) {
+           return Q(object).dispatch("post", [name, args]);
+       };
+
+       Promise.prototype.mapply = // XXX As proposed by "Redsandro"
+       Promise.prototype.post = function (name, args) {
+           return this.dispatch("post", [name, args]);
+       };
+
+       /**
+        * Invokes a method in a future turn.
+        * @param object    promise or immediate reference for target object
+        * @param name      name of method to invoke
+        * @param ...args   array of invocation arguments
+        * @return promise for the return value
+        */
+       Q.send = // XXX Mark Miller's proposed parlance
+       Q.mcall = // XXX As proposed by "Redsandro"
+       Q.invoke = function (object, name /*...args*/) {
+           return Q(object).dispatch("post", [name, array_slice(arguments, 2)]);
+       };
+
+       Promise.prototype.send = // XXX Mark Miller's proposed parlance
+       Promise.prototype.mcall = // XXX As proposed by "Redsandro"
+       Promise.prototype.invoke = function (name /*...args*/) {
+           return this.dispatch("post", [name, array_slice(arguments, 1)]);
+       };
+
+       /**
+        * Applies the promised function in a future turn.
+        * @param object    promise or immediate reference for target function
+        * @param args      array of application arguments
+        */
+       Q.fapply = function (object, args) {
+           return Q(object).dispatch("apply", [void 0, args]);
+       };
+
+       Promise.prototype.fapply = function (args) {
+           return this.dispatch("apply", [void 0, args]);
+       };
+
+       /**
+        * Calls the promised function in a future turn.
+        * @param object    promise or immediate reference for target function
+        * @param ...args   array of application arguments
+        */
+       Q["try"] =
+       Q.fcall = function (object /* ...args*/) {
+           return Q(object).dispatch("apply", [void 0, array_slice(arguments, 1)]);
+       };
+
+       Promise.prototype.fcall = function (/*...args*/) {
+           return this.dispatch("apply", [void 0, array_slice(arguments)]);
+       };
+
+       /**
+        * Binds the promised function, transforming return values into a fulfilled
+        * promise and thrown errors into a rejected one.
+        * @param object    promise or immediate reference for target function
+        * @param ...args   array of application arguments
+        */
+       Q.fbind = function (object /*...args*/) {
+           var promise = Q(object);
+           var args = array_slice(arguments, 1);
+           return function fbound() {
+               return promise.dispatch("apply", [
+                   this,
+                   args.concat(array_slice(arguments))
+               ]);
+           };
+       };
+       Promise.prototype.fbind = function (/*...args*/) {
+           var promise = this;
+           var args = array_slice(arguments);
+           return function fbound() {
+               return promise.dispatch("apply", [
+                   this,
+                   args.concat(array_slice(arguments))
+               ]);
+           };
+       };
+
+       /**
+        * Requests the names of the owned properties of a promised
+        * object in a future turn.
+        * @param object    promise or immediate reference for target object
+        * @return promise for the keys of the eventually settled object
+        */
+       Q.keys = function (object) {
+           return Q(object).dispatch("keys", []);
+       };
+
+       Promise.prototype.keys = function () {
+           return this.dispatch("keys", []);
+       };
+
+       /**
+        * Turns an array of promises into a promise for an array.  If any of
+        * the promises gets rejected, the whole array is rejected immediately.
+        * @param {Array*} an array (or promise for an array) of values (or
+        * promises for values)
+        * @returns a promise for an array of the corresponding values
+        */
+       // By Mark Miller
+       // http://wiki.ecmascript.org/doku.php?id=strawman:concurrency&rev=1308776521#allfulfilled
+       Q.all = all;
+       function all(promises) {
+           return when(promises, function (promises) {
+               var pendingCount = 0;
+               var deferred = defer();
+               array_reduce(promises, function (undefined$1, promise, index) {
+                   var snapshot;
+                   if (
+                       isPromise(promise) &&
+                       (snapshot = promise.inspect()).state === "fulfilled"
+                   ) {
+                       promises[index] = snapshot.value;
+                   } else {
+                       ++pendingCount;
+                       when(
+                           promise,
+                           function (value) {
+                               promises[index] = value;
+                               if (--pendingCount === 0) {
+                                   deferred.resolve(promises);
+                               }
+                           },
+                           deferred.reject,
+                           function (progress) {
+                               deferred.notify({ index: index, value: progress });
+                           }
+                       );
+                   }
+               }, void 0);
+               if (pendingCount === 0) {
+                   deferred.resolve(promises);
+               }
+               return deferred.promise;
+           });
+       }
+
+       Promise.prototype.all = function () {
+           return all(this);
+       };
+
+       /**
+        * Returns the first resolved promise of an array. Prior rejected promises are
+        * ignored.  Rejects only if all promises are rejected.
+        * @param {Array*} an array containing values or promises for values
+        * @returns a promise fulfilled with the value of the first resolved promise,
+        * or a rejected promise if all promises are rejected.
+        */
+       Q.any = any;
+
+       function any(promises) {
+           if (promises.length === 0) {
+               return Q.resolve();
+           }
+
+           var deferred = Q.defer();
+           var pendingCount = 0;
+           array_reduce(promises, function (prev, current, index) {
+               var promise = promises[index];
+
+               pendingCount++;
+
+               when(promise, onFulfilled, onRejected, onProgress);
+               function onFulfilled(result) {
+                   deferred.resolve(result);
+               }
+               function onRejected(err) {
+                   pendingCount--;
+                   if (pendingCount === 0) {
+                       var rejection = err || new Error("" + err);
+
+                       rejection.message = ("Q can't get fulfillment value from any promise, all " +
+                           "promises were rejected. Last error message: " + rejection.message);
+
+                       deferred.reject(rejection);
+                   }
+               }
+               function onProgress(progress) {
+                   deferred.notify({
+                       index: index,
+                       value: progress
+                   });
+               }
+           }, undefined);
+
+           return deferred.promise;
+       }
+
+       Promise.prototype.any = function () {
+           return any(this);
+       };
+
+       /**
+        * Waits for all promises to be settled, either fulfilled or
+        * rejected.  This is distinct from `all` since that would stop
+        * waiting at the first rejection.  The promise returned by
+        * `allResolved` will never be rejected.
+        * @param promises a promise for an array (or an array) of promises
+        * (or values)
+        * @return a promise for an array of promises
+        */
+       Q.allResolved = deprecate(allResolved, "allResolved", "allSettled");
+       function allResolved(promises) {
+           return when(promises, function (promises) {
+               promises = array_map(promises, Q);
+               return when(all(array_map(promises, function (promise) {
+                   return when(promise, noop, noop);
+               })), function () {
+                   return promises;
+               });
+           });
+       }
+
+       Promise.prototype.allResolved = function () {
+           return allResolved(this);
+       };
+
+       /**
+        * @see Promise#allSettled
+        */
+       Q.allSettled = allSettled;
+       function allSettled(promises) {
+           return Q(promises).allSettled();
+       }
+
+       /**
+        * Turns an array of promises into a promise for an array of their states (as
+        * returned by `inspect`) when they have all settled.
+        * @param {Array[Any*]} values an array (or promise for an array) of values (or
+        * promises for values)
+        * @returns {Array[State]} an array of states for the respective values.
+        */
+       Promise.prototype.allSettled = function () {
+           return this.then(function (promises) {
+               return all(array_map(promises, function (promise) {
+                   promise = Q(promise);
+                   function regardless() {
+                       return promise.inspect();
+                   }
+                   return promise.then(regardless, regardless);
+               }));
+           });
+       };
+
+       /**
+        * Captures the failure of a promise, giving an oportunity to recover
+        * with a callback.  If the given promise is fulfilled, the returned
+        * promise is fulfilled.
+        * @param {Any*} promise for something
+        * @param {Function} callback to fulfill the returned promise if the
+        * given promise is rejected
+        * @returns a promise for the return value of the callback
+        */
+       Q.fail = // XXX legacy
+       Q["catch"] = function (object, rejected) {
+           return Q(object).then(void 0, rejected);
+       };
+
+       Promise.prototype.fail = // XXX legacy
+       Promise.prototype["catch"] = function (rejected) {
+           return this.then(void 0, rejected);
+       };
+
+       /**
+        * Attaches a listener that can respond to progress notifications from a
+        * promise's originating deferred. This listener receives the exact arguments
+        * passed to ``deferred.notify``.
+        * @param {Any*} promise for something
+        * @param {Function} callback to receive any progress notifications
+        * @returns the given promise, unchanged
+        */
+       Q.progress = progress;
+       function progress(object, progressed) {
+           return Q(object).then(void 0, void 0, progressed);
+       }
+
+       Promise.prototype.progress = function (progressed) {
+           return this.then(void 0, void 0, progressed);
+       };
+
+       /**
+        * Provides an opportunity to observe the settling of a promise,
+        * regardless of whether the promise is fulfilled or rejected.  Forwards
+        * the resolution to the returned promise when the callback is done.
+        * The callback can return a promise to defer completion.
+        * @param {Any*} promise
+        * @param {Function} callback to observe the resolution of the given
+        * promise, takes no arguments.
+        * @returns a promise for the resolution of the given promise when
+        * ``fin`` is done.
+        */
+       Q.fin = // XXX legacy
+       Q["finally"] = function (object, callback) {
+           return Q(object)["finally"](callback);
+       };
+
+       Promise.prototype.fin = // XXX legacy
+       Promise.prototype["finally"] = function (callback) {
+           if (!callback || typeof callback.apply !== "function") {
+               throw new Error("Q can't apply finally callback");
+           }
+           callback = Q(callback);
+           return this.then(function (value) {
+               return callback.fcall().then(function () {
+                   return value;
+               });
+           }, function (reason) {
+               // TODO attempt to recycle the rejection with "this".
+               return callback.fcall().then(function () {
+                   throw reason;
+               });
+           });
+       };
+
+       /**
+        * Terminates a chain of promises, forcing rejections to be
+        * thrown as exceptions.
+        * @param {Any*} promise at the end of a chain of promises
+        * @returns nothing
+        */
+       Q.done = function (object, fulfilled, rejected, progress) {
+           return Q(object).done(fulfilled, rejected, progress);
+       };
+
+       Promise.prototype.done = function (fulfilled, rejected, progress) {
+           var onUnhandledError = function (error) {
+               // forward to a future turn so that ``when``
+               // does not catch it and turn it into a rejection.
+               Q.nextTick(function () {
+                   makeStackTraceLong(error, promise);
+                   if (Q.onerror) {
+                       Q.onerror(error);
+                   } else {
+                       throw error;
+                   }
+               });
+           };
+
+           // Avoid unnecessary `nextTick`ing via an unnecessary `when`.
+           var promise = fulfilled || rejected || progress ?
+               this.then(fulfilled, rejected, progress) :
+               this;
+
+           if (typeof process === "object" && process && process.domain) {
+               onUnhandledError = process.domain.bind(onUnhandledError);
+           }
+
+           promise.then(void 0, onUnhandledError);
+       };
+
+       /**
+        * Causes a promise to be rejected if it does not get fulfilled before
+        * some milliseconds time out.
+        * @param {Any*} promise
+        * @param {Number} milliseconds timeout
+        * @param {Any*} custom error message or Error object (optional)
+        * @returns a promise for the resolution of the given promise if it is
+        * fulfilled before the timeout, otherwise rejected.
+        */
+       Q.timeout = function (object, ms, error) {
+           return Q(object).timeout(ms, error);
+       };
+
+       Promise.prototype.timeout = function (ms, error) {
+           var deferred = defer();
+           var timeoutId = setTimeout(function () {
+               if (!error || "string" === typeof error) {
+                   error = new Error(error || "Timed out after " + ms + " ms");
+                   error.code = "ETIMEDOUT";
+               }
+               deferred.reject(error);
+           }, ms);
+
+           this.then(function (value) {
+               clearTimeout(timeoutId);
+               deferred.resolve(value);
+           }, function (exception) {
+               clearTimeout(timeoutId);
+               deferred.reject(exception);
+           }, deferred.notify);
+
+           return deferred.promise;
+       };
+
+       /**
+        * Returns a promise for the given value (or promised value), some
+        * milliseconds after it resolved. Passes rejections immediately.
+        * @param {Any*} promise
+        * @param {Number} milliseconds
+        * @returns a promise for the resolution of the given promise after milliseconds
+        * time has elapsed since the resolution of the given promise.
+        * If the given promise rejects, that is passed immediately.
+        */
+       Q.delay = function (object, timeout) {
+           if (timeout === void 0) {
+               timeout = object;
+               object = void 0;
+           }
+           return Q(object).delay(timeout);
+       };
+
+       Promise.prototype.delay = function (timeout) {
+           return this.then(function (value) {
+               var deferred = defer();
+               setTimeout(function () {
+                   deferred.resolve(value);
+               }, timeout);
+               return deferred.promise;
+           });
+       };
+
+       /**
+        * Passes a continuation to a Node function, which is called with the given
+        * arguments provided as an array, and returns a promise.
+        *
+        *      Q.nfapply(FS.readFile, [__filename])
+        *      .then(function (content) {
+        *      })
+        *
+        */
+       Q.nfapply = function (callback, args) {
+           return Q(callback).nfapply(args);
+       };
+
+       Promise.prototype.nfapply = function (args) {
+           var deferred = defer();
+           var nodeArgs = array_slice(args);
+           nodeArgs.push(deferred.makeNodeResolver());
+           this.fapply(nodeArgs).fail(deferred.reject);
+           return deferred.promise;
+       };
+
+       /**
+        * Passes a continuation to a Node function, which is called with the given
+        * arguments provided individually, and returns a promise.
+        * @example
+        * Q.nfcall(FS.readFile, __filename)
+        * .then(function (content) {
+        * })
+        *
+        */
+       Q.nfcall = function (callback /*...args*/) {
+           var args = array_slice(arguments, 1);
+           return Q(callback).nfapply(args);
+       };
+
+       Promise.prototype.nfcall = function (/*...args*/) {
+           var nodeArgs = array_slice(arguments);
+           var deferred = defer();
+           nodeArgs.push(deferred.makeNodeResolver());
+           this.fapply(nodeArgs).fail(deferred.reject);
+           return deferred.promise;
+       };
+
+       /**
+        * Wraps a NodeJS continuation passing function and returns an equivalent
+        * version that returns a promise.
+        * @example
+        * Q.nfbind(FS.readFile, __filename)("utf-8")
+        * .then(console.log)
+        * .done()
+        */
+       Q.nfbind =
+       Q.denodeify = function (callback /*...args*/) {
+           if (callback === undefined) {
+               throw new Error("Q can't wrap an undefined function");
+           }
+           var baseArgs = array_slice(arguments, 1);
+           return function () {
+               var nodeArgs = baseArgs.concat(array_slice(arguments));
+               var deferred = defer();
+               nodeArgs.push(deferred.makeNodeResolver());
+               Q(callback).fapply(nodeArgs).fail(deferred.reject);
+               return deferred.promise;
+           };
+       };
+
+       Promise.prototype.nfbind =
+       Promise.prototype.denodeify = function (/*...args*/) {
+           var args = array_slice(arguments);
+           args.unshift(this);
+           return Q.denodeify.apply(void 0, args);
+       };
+
+       Q.nbind = function (callback, thisp /*...args*/) {
+           var baseArgs = array_slice(arguments, 2);
+           return function () {
+               var nodeArgs = baseArgs.concat(array_slice(arguments));
+               var deferred = defer();
+               nodeArgs.push(deferred.makeNodeResolver());
+               function bound() {
+                   return callback.apply(thisp, arguments);
+               }
+               Q(bound).fapply(nodeArgs).fail(deferred.reject);
+               return deferred.promise;
+           };
+       };
+
+       Promise.prototype.nbind = function (/*thisp, ...args*/) {
+           var args = array_slice(arguments, 0);
+           args.unshift(this);
+           return Q.nbind.apply(void 0, args);
+       };
+
+       /**
+        * Calls a method of a Node-style object that accepts a Node-style
+        * callback with a given array of arguments, plus a provided callback.
+        * @param object an object that has the named method
+        * @param {String} name name of the method of object
+        * @param {Array} args arguments to pass to the method; the callback
+        * will be provided by Q and appended to these arguments.
+        * @returns a promise for the value or error
+        */
+       Q.nmapply = // XXX As proposed by "Redsandro"
+       Q.npost = function (object, name, args) {
+           return Q(object).npost(name, args);
+       };
+
+       Promise.prototype.nmapply = // XXX As proposed by "Redsandro"
+       Promise.prototype.npost = function (name, args) {
+           var nodeArgs = array_slice(args || []);
+           var deferred = defer();
+           nodeArgs.push(deferred.makeNodeResolver());
+           this.dispatch("post", [name, nodeArgs]).fail(deferred.reject);
+           return deferred.promise;
+       };
+
+       /**
+        * Calls a method of a Node-style object that accepts a Node-style
+        * callback, forwarding the given variadic arguments, plus a provided
+        * callback argument.
+        * @param object an object that has the named method
+        * @param {String} name name of the method of object
+        * @param ...args arguments to pass to the method; the callback will
+        * be provided by Q and appended to these arguments.
+        * @returns a promise for the value or error
+        */
+       Q.nsend = // XXX Based on Mark Miller's proposed "send"
+       Q.nmcall = // XXX Based on "Redsandro's" proposal
+       Q.ninvoke = function (object, name /*...args*/) {
+           var nodeArgs = array_slice(arguments, 2);
+           var deferred = defer();
+           nodeArgs.push(deferred.makeNodeResolver());
+           Q(object).dispatch("post", [name, nodeArgs]).fail(deferred.reject);
+           return deferred.promise;
+       };
+
+       Promise.prototype.nsend = // XXX Based on Mark Miller's proposed "send"
+       Promise.prototype.nmcall = // XXX Based on "Redsandro's" proposal
+       Promise.prototype.ninvoke = function (name /*...args*/) {
+           var nodeArgs = array_slice(arguments, 1);
+           var deferred = defer();
+           nodeArgs.push(deferred.makeNodeResolver());
+           this.dispatch("post", [name, nodeArgs]).fail(deferred.reject);
+           return deferred.promise;
+       };
+
+       /**
+        * If a function would like to support both Node continuation-passing-style and
+        * promise-returning-style, it can end its internal promise chain with
+        * `nodeify(nodeback)`, forwarding the optional nodeback argument.  If the user
+        * elects to use a nodeback, the result will be sent there.  If they do not
+        * pass a nodeback, they will receive the result promise.
+        * @param object a result (or a promise for a result)
+        * @param {Function} nodeback a Node.js-style callback
+        * @returns either the promise or nothing
+        */
+       Q.nodeify = nodeify;
+       function nodeify(object, nodeback) {
+           return Q(object).nodeify(nodeback);
+       }
+
+       Promise.prototype.nodeify = function (nodeback) {
+           if (nodeback) {
+               this.then(function (value) {
+                   Q.nextTick(function () {
+                       nodeback(null, value);
+                   });
+               }, function (error) {
+                   Q.nextTick(function () {
+                       nodeback(error);
+                   });
+               });
+           } else {
+               return this;
+           }
+       };
+
+       Q.noConflict = function() {
+           throw new Error("Q.noConflict only works when Q is used as a global");
+       };
+
+       // All code before this point will be filtered from stack traces.
+       var qEndingLine = captureLine();
+
+       return Q;
+
+       });
+       });
+
+       var bubbleApi = 'https://dev.virtualearth.net/mapcontrol/HumanScaleServices/GetBubbles.ashx?';
+       var streetsideImagesApi = 'https://t.ssl.ak.tiles.virtualearth.net/tiles/';
+       var bubbleAppKey = 'AuftgJsO0Xs8Ts4M1xZUQJQXJNsvmh3IV8DkNieCiy3tCwCUMq76-WpkrBtNAuEm';
+       var pannellumViewerCSS = 'pannellum-streetside/pannellum.css';
+       var pannellumViewerJS = 'pannellum-streetside/pannellum.js';
+       var maxResults$2 = 2000;
+       var tileZoom$2 = 16.5;
+       var tiler$5 = utilTiler().zoomExtent([tileZoom$2, tileZoom$2]).skipNullIsland(true);
+       var dispatch$6 = dispatch('loadedBubbles', 'viewerChanged');
+       var minHfov = 10;         // zoom in degrees:  20, 10, 5
+       var maxHfov = 90;         // zoom out degrees
+       var defaultHfov = 45;
+
+       var _hires = false;
+       var _resolution = 512;    // higher numbers are slower - 512, 1024, 2048, 4096
+       var _currScene = 0;
+       var _ssCache;
+       var _pannellumViewer;
+       var _sceneOptions;
+       var _dataUrlArray = [];
+
+
+       /**
+        * abortRequest().
+        */
+       function abortRequest$5(i) {
+           i.abort();
+       }
+
+
+       /**
+        * localeTimeStamp().
+        */
+       function localeTimestamp(s) {
+           if (!s) return null;
+           var detected = utilDetect();
+           var options = { day: 'numeric', month: 'short', year: 'numeric' };
+           var d = new Date(s);
+           if (isNaN(d.getTime())) return null;
+           return d.toLocaleString(detected.locale, options);
+       }
+
+
+       /**
+        * loadTiles() wraps the process of generating tiles and then fetching image points for each tile.
+        */
+       function loadTiles$2(which, url, projection, margin) {
+           var tiles = tiler$5.margin(margin).getTiles(projection);
+
+           // abort inflight requests that are no longer needed
+           var cache = _ssCache[which];
+           Object.keys(cache.inflight).forEach(function(k) {
+               var wanted = tiles.find(function(tile) { return k.indexOf(tile.id + ',') === 0; });
+               if (!wanted) {
+                   abortRequest$5(cache.inflight[k]);
+                   delete cache.inflight[k];
+               }
+           });
+
+           tiles.forEach(function (tile) {
+              loadNextTilePage$2(which, url, tile);
+           });
+       }
+
+       /**
+        * loadNextTilePage() load data for the next tile page in line.
+        */
+       function loadNextTilePage$2(which, url, tile) {
+           var cache = _ssCache[which];
+           var nextPage = cache.nextPage[tile.id] || 0;
+           var id = tile.id + ',' + String(nextPage);
+           if (cache.loaded[id] || cache.inflight[id]) return;
+
+           cache.inflight[id] = getBubbles(url, tile, function(bubbles) {
+               cache.loaded[id] = true;
+               delete cache.inflight[id];
+               if (!bubbles) return;
+
+               // [].shift() removes the first element, some statistics info, not a bubble point
+               bubbles.shift();
+
+               var features = bubbles.map(function(bubble) {
+                   if (cache.points[bubble.id]) return null;  // skip duplicates
+
+                   var loc = [bubble.lo, bubble.la];
+                   var d = {
+                       loc: loc,
+                       key: bubble.id,
+                       ca: bubble.he,
+                       captured_at: bubble.cd,
+                       captured_by: 'microsoft',
+                       // nbn: bubble.nbn,
+                       // pbn: bubble.pbn,
+                       // ad: bubble.ad,
+                       // rn: bubble.rn,
+                       pr: bubble.pr,  // previous
+                       ne: bubble.ne,  // next
+                       pano: true,
+                       sequenceKey: null
+                   };
+
+                   cache.points[bubble.id] = d;
+
+                   // a sequence starts here
+                   if (bubble.pr === undefined) {
+                       cache.leaders.push(bubble.id);
+                   }
+
+                   return {
+                       minX: loc[0], minY: loc[1], maxX: loc[0], maxY: loc[1], data: d
+                   };
+
+               }).filter(Boolean);
+
+               cache.rtree.load(features);
+
+               connectSequences();
+
+               if (which === 'bubbles') {
+                   dispatch$6.call('loadedBubbles');
+               }
+           });
+       }
+
+
+       // call this sometimes to connect the bubbles into sequences
+       function connectSequences() {
+           var cache = _ssCache.bubbles;
+           var keepLeaders = [];
+
+           for (var i = 0; i < cache.leaders.length; i++) {
+               var bubble = cache.points[cache.leaders[i]];
+               var seen = {};
+
+               // try to make a sequence.. use the key of the leader bubble.
+               var sequence = { key: bubble.key, bubbles: [] };
+               var complete = false;
+
+               do {
+                   sequence.bubbles.push(bubble);
+                   seen[bubble.key] = true;
+
+                   if (bubble.ne === undefined) {
+                       complete = true;
+                   } else {
+                       bubble = cache.points[bubble.ne];  // advance to next
+                   }
+               } while (bubble && !seen[bubble.key] && !complete);
+
+
+               if (complete) {
+                   _ssCache.sequences[sequence.key] = sequence;
+
+                   // assign bubbles to the sequence
+                   for (var j = 0; j < sequence.bubbles.length; j++) {
+                       sequence.bubbles[j].sequenceKey = sequence.key;
+                   }
+
+                   // create a GeoJSON LineString
+                   sequence.geojson = {
+                       type: 'LineString',
+                       properties: { key: sequence.key },
+                       coordinates: sequence.bubbles.map(function (d) { return d.loc; })
+                   };
+
+               } else {
+                   keepLeaders.push(cache.leaders[i]);
+               }
+           }
+
+           // couldn't complete these, save for later
+           cache.leaders = keepLeaders;
+       }
+
+       /**
+        * getBubbles() handles the request to the server for a tile extent of 'bubbles' (streetside image locations).
+        */
+       function getBubbles(url, tile, callback) {
+           var rect = tile.extent.rectangle();
+           var urlForRequest = url + utilQsString({
+               n: rect[3],
+               s: rect[1],
+               e: rect[2],
+               w: rect[0],
+               c: maxResults$2,
+               appkey: bubbleAppKey,
+               jsCallback: '{callback}'
+           });
+
+           return jsonpRequest(urlForRequest, function (data) {
+               if (!data || data.error) {
+                   callback(null);
+               } else {
+                   callback(data);
+               }
+           });
+       }
+
+
+       // partition viewport into higher zoom tiles
+       function partitionViewport$2(projection) {
+           var z = geoScaleToZoom(projection.scale());
+           var z2 = (Math.ceil(z * 2) / 2) + 2.5;   // round to next 0.5 and add 2.5
+           var tiler = utilTiler().zoomExtent([z2, z2]);
+
+           return tiler.getTiles(projection)
+               .map(function(tile) { return tile.extent; });
+       }
+
+
+       // no more than `limit` results per partition.
+       function searchLimited$2(limit, projection, rtree) {
+           limit = limit || 5;
+
+           return partitionViewport$2(projection)
+               .reduce(function(result, extent) {
+                   var found = rtree.search(extent.bbox())
+                       .slice(0, limit)
+                       .map(function(d) { return d.data; });
+
+                   return (found.length ? result.concat(found) : result);
+               }, []);
+       }
+
+
+       /**
+        * getImage()
+        */
+       function getImage(imgInfo) {
+           var response = q.defer();
+           var img = new Image();
+
+           img.onload = function() {
+               var canvas = document.getElementById('canvas' + imgInfo.face);
+               var ctx = canvas.getContext('2d');
+               ctx.drawImage(img, imgInfo.x, imgInfo.y);
+               response.resolve({imgInfo:imgInfo, status: 'ok'});
+           };
+           img.onerror = function() {
+               response.resolve({data: imgInfo, status: 'error'});
+           };
+           img.setAttribute('crossorigin', '');
+           img.src = imgInfo.url;
+
+           return response.promise;
+       }
+
+
+       /**
+        * loadCanvas()
+        */
+       function loadCanvas(imgInfoGroup) {
+           var response = q.defer();
+           var getImagePromises = imgInfoGroup.map(function(imgInfo) {
+               return getImage(imgInfo);
+           });
+
+           q.all(getImagePromises).then(function(data) {
+               var canvas = document.getElementById('canvas' + data[0].imgInfo.face);
+               switch (data[0].imgInfo.face) {
+                   case '01':
+                       _dataUrlArray[0] = canvas.toDataURL('image/jpeg', 1.0);
+                       break;
+                   case '02':
+                       _dataUrlArray[1] = canvas.toDataURL('image/jpeg', 1.0);
+                       break;
+                   case '03':
+                       _dataUrlArray[2] = canvas.toDataURL('image/jpeg', 1.0);
+                       break;
+                   case '10':
+                       _dataUrlArray[3] = canvas.toDataURL('image/jpeg', 1.0);
+                       break;
+                   case '11':
+                       _dataUrlArray[4] = canvas.toDataURL('image/jpeg', 1.0);
+                       break;
+                   case '12':
+                       _dataUrlArray[5] = canvas.toDataURL('image/jpeg', 1.0);
+                       break;
+               }
+               response.resolve({status:'loadCanvas for face ' + data[0].imgInfo.face + 'ok'});
+           });
+
+           return response.promise;
+       }
+
+
+       function setupCanvas(selection, reset) {
+           if (reset) {
+               selection.selectAll('#divForCanvasWork')
+                   .remove();
+           }
+
+           // Add the Streetside working canvases. These are used for 'stitching', or combining,
+           // multiple images for each of the six faces, before passing to the Pannellum control as DataUrls
+           selection.selectAll('#divForCanvasWork')
+               .data([0])
+               .enter()
+               .append('div')
+               .attr('id', 'divForCanvasWork')
+               .attr('display', 'none')
+               .selectAll('canvas')
+               .data(['canvas01', 'canvas02', 'canvas03', 'canvas10', 'canvas11', 'canvas12'])
+               .enter()
+               .append('canvas')
+               .attr('id', function(d) { return d; })
+               .attr('width', _resolution)
+               .attr('height', _resolution);
+       }
+
+
+       /**
+        * processFaces()
+        */
+       function processFaces(imgFaceInfoGroups) {
+           var response = q.defer();
+           var loadCanvasPromises = imgFaceInfoGroups.map(function(faceImgGroup) {
+               return loadCanvas(faceImgGroup);
+           });
+
+           q.all(loadCanvasPromises).then(function() {
+               response.resolve({status: 'processFaces done'});
+           });
+
+           return response.promise;
+       }
+
+
+
+       function qkToXY(qk) {
+           var x = 0;
+           var y = 0;
+           var scale = 256;
+           for (var i = qk.length; i > 0; i--) {
+               var key = qk[i-1];
+               x += (+(key === '1' || key === '3')) * scale;
+               y += (+(key === '2' || key === '3')) * scale;
+               scale *= 2;
+           }
+           return [x, y];
+       }
+
+
+       function getQuadKeys() {
+           var dim = _resolution / 256;
+           var quadKeys;
+
+           if (dim === 16) {
+               quadKeys = [
+                   '0000','0001','0010','0011','0100','0101','0110','0111',  '1000','1001','1010','1011','1100','1101','1110','1111',
+                   '0002','0003','0012','0013','0102','0103','0112','0113',  '1002','1003','1012','1013','1102','1103','1112','1113',
+                   '0020','0021','0030','0031','0120','0121','0130','0131',  '1020','1021','1030','1031','1120','1121','1130','1131',
+                   '0022','0023','0032','0033','0122','0123','0132','0133',  '1022','1023','1032','1033','1122','1123','1132','1133',
+                   '0200','0201','0210','0211','0300','0301','0310','0311',  '1200','1201','1210','1211','1300','1301','1310','1311',
+                   '0202','0203','0212','0213','0302','0303','0312','0313',  '1202','1203','1212','1213','1302','1303','1312','1313',
+                   '0220','0221','0230','0231','0320','0321','0330','0331',  '1220','1221','1230','1231','1320','1321','1330','1331',
+                   '0222','0223','0232','0233','0322','0323','0332','0333',  '1222','1223','1232','1233','1322','1323','1332','1333',
+
+                   '2000','2001','2010','2011','2100','2101','2110','2111',  '3000','3001','3010','3011','3100','3101','3110','3111',
+                   '2002','2003','2012','2013','2102','2103','2112','2113',  '3002','3003','3012','3013','3102','3103','3112','3113',
+                   '2020','2021','2030','2031','2120','2121','2130','2131',  '3020','3021','3030','3031','3120','3121','3130','3131',
+                   '2022','2023','2032','2033','2122','2123','2132','2133',  '3022','3023','3032','3033','3122','3123','3132','3133',
+                   '2200','2201','2210','2211','2300','2301','2310','2311',  '3200','3201','3210','3211','3300','3301','3310','3311',
+                   '2202','2203','2212','2213','2302','2303','2312','2313',  '3202','3203','3212','3213','3302','3303','3312','3313',
+                   '2220','2221','2230','2231','2320','2321','2330','2331',  '3220','3221','3230','3231','3320','3321','3330','3331',
+                   '2222','2223','2232','2233','2322','2323','2332','2333',  '3222','3223','3232','3233','3322','3323','3332','3333'
+               ];
+
+           } else if (dim === 8) {
+               quadKeys = [
+                   '000','001','010','011',  '100','101','110','111',
+                   '002','003','012','013',  '102','103','112','113',
+                   '020','021','030','031',  '120','121','130','131',
+                   '022','023','032','033',  '122','123','132','133',
+
+                   '200','201','210','211',  '300','301','310','311',
+                   '202','203','212','213',  '302','303','312','313',
+                   '220','221','230','231',  '320','321','330','331',
+                   '222','223','232','233',  '322','323','332','333'
+               ];
+
+           } else if (dim === 4) {
+               quadKeys = [
+                   '00','01',  '10','11',
+                   '02','03',  '12','13',
+
+                   '20','21',  '30','31',
+                   '22','23',  '32','33'
+               ];
+
+           } else {  // dim === 2
+               quadKeys = [
+                   '0', '1',
+                   '2', '3'
+               ];
+           }
+
+           return quadKeys;
+       }
+
+
+
+       var serviceStreetside = {
+           /**
+            * init() initialize streetside.
+            */
+           init: function () {
+               if (!_ssCache) {
+                   this.reset();
+               }
+
+               this.event = utilRebind(this, dispatch$6, 'on');
+           },
+
+           /**
+            * reset() reset the cache.
+            */
+           reset: function () {
+               if (_ssCache) {
+                   Object.values(_ssCache.bubbles.inflight).forEach(abortRequest$5);
+               }
+
+               _ssCache = {
+                   bubbles: { inflight: {}, loaded: {}, nextPage: {}, rtree: rbush_1(), points: {}, leaders: [] },
+                   sequences: {}
+               };
+           },
+
+           /**
+            * bubbles()
+            */
+           bubbles: function (projection) {
+               var limit = 5;
+               return searchLimited$2(limit, projection, _ssCache.bubbles.rtree);
+           },
+
+
+           sequences: function(projection) {
+               var viewport = projection.clipExtent();
+               var min = [viewport[0][0], viewport[1][1]];
+               var max = [viewport[1][0], viewport[0][1]];
+               var bbox = geoExtent(projection.invert(min), projection.invert(max)).bbox();
+               var seen = {};
+               var results = [];
+
+               // all sequences for bubbles in viewport
+               _ssCache.bubbles.rtree.search(bbox)
+                   .forEach(function(d) {
+                       var key = d.data.sequenceKey;
+                       if (key && !seen[key]) {
+                           seen[key] = true;
+                           results.push(_ssCache.sequences[key].geojson);
+                       }
+                   });
+
+               return results;
+           },
+
+
+           /**
+            * loadBubbles()
+            */
+           loadBubbles: function (projection, margin) {
+               // by default: request 2 nearby tiles so we can connect sequences.
+               if (margin === undefined) margin = 2;
+
+               loadTiles$2('bubbles', bubbleApi, projection, margin);
+           },
+
+
+           viewer: function() {
+               return _pannellumViewer;
+           },
+
+
+           initViewer: function () {
+               if (!window.pannellum) return;
+               if (_pannellumViewer) return;
+
+               var sceneID = ++_currScene + '';
+               var options = {
+                   'default': { firstScene: sceneID },
+                   scenes: {}
+               };
+               options.scenes[sceneID] = _sceneOptions;
+
+               _pannellumViewer = window.pannellum.viewer('viewer-streetside', options);
+
+               _pannellumViewer
+                   .on('mousedown', function() {
+                       d3_select(window).on('mousemove.pannellum', function() {
+                           dispatch$6.call('viewerChanged');
+                       });
+                   })
+                   .on('mouseup', function() {
+                       d3_select(window).on('mousemove.pannellum', null);
+                       // continue dispatching events for a few seconds, in case viewer has inertia.
+                       var t = timer(function(elapsed) {
+                           dispatch$6.call('viewerChanged');
+                           if (elapsed > 2000) {
+                               t.stop();
+                           }
+                       });
+                   });
+           },
+
+
+           /**
+            * loadViewer() create the streeside viewer.
+            */
+           loadViewer: function (context) {
+               var that = this;
+
+               // create ms-wrapper, a photo wrapper class
+               var wrap = d3_select('#photoviewer').selectAll('.ms-wrapper')
+                   .data([0]);
+
+               // inject ms-wrapper into the photoviewer div
+               // (used by all to house each custom photo viewer)
+               var wrapEnter = wrap.enter()
+                   .append('div')
+                   .attr('id', 'ms')
+                   .attr('class', 'photo-wrapper ms-wrapper')
+                   .classed('hide', true);
+
+               // inject div to support streetside viewer (pannellum) and attribution line
+               wrapEnter
+                   .append('div')
+                   .attr('id', 'viewer-streetside')
+                   .append('div')
+                   .attr('class', 'photo-attribution fillD');
+
+               var controlsEnter = wrapEnter
+                   .append('div')
+                   .attr('class', 'photo-controls-wrap')
+                   .append('div')
+                   .attr('class', 'photo-controls');
+
+               controlsEnter
+                   .append('button')
+                   .on('click.back', step(-1))
+                   .text('◄');
+
+               controlsEnter
+                   .append('button')
+                   .on('click.forward', step(1))
+                   .text('►');
+
+
+               // create working canvas for stitching together images
+               wrap = wrap
+                   .merge(wrapEnter)
+                   .call(setupCanvas, true);
+
+               // load streetside pannellum viewer css
+               d3_select('head').selectAll('#streetside-viewercss')
+                   .data([0])
+                   .enter()
+                   .append('link')
+                   .attr('id', 'streetside-viewercss')
+                   .attr('rel', 'stylesheet')
+                   .attr('href', context.asset(pannellumViewerCSS));
+
+               // load streetside pannellum viewer js
+               d3_select('head').selectAll('#streetside-viewerjs')
+                   .data([0])
+                   .enter()
+                   .append('script')
+                   .attr('id', 'streetside-viewerjs')
+                   .attr('src', context.asset(pannellumViewerJS));
+
+
+               // Register viewer resize handler
+               context.ui().photoviewer.on('resize', function() {
+                   if (_pannellumViewer) {
+                       _pannellumViewer.resize();
+                   }
+               });
+
+
+               function step(stepBy) {
+                   return function() {
+                       var viewer = d3_select('#photoviewer');
+                       var selected = viewer.empty() ? undefined : viewer.datum();
+                       if (!selected) return;
+
+                       var nextID = (stepBy === 1 ? selected.ne : selected.pr);
+                       var yaw = _pannellumViewer.getYaw();
+                       var ca = selected.ca + yaw;
+                       var origin = selected.loc;
+
+                       // construct a search trapezoid pointing out from current bubble
+                       var meters = 35;
+                       var p1 = [
+                           origin[0] + geoMetersToLon(meters / 5, origin[1]),
+                           origin[1]
+                       ];
+                       var p2 = [
+                           origin[0] + geoMetersToLon(meters / 2, origin[1]),
+                           origin[1] + geoMetersToLat(meters)
+                       ];
+                       var p3 = [
+                           origin[0] - geoMetersToLon(meters / 2, origin[1]),
+                           origin[1] + geoMetersToLat(meters)
+                       ];
+                       var p4 = [
+                           origin[0] - geoMetersToLon(meters / 5, origin[1]),
+                           origin[1]
+                       ];
+
+                       var poly = [p1, p2, p3, p4, p1];
+
+                       // rotate it to face forward/backward
+                       var angle = (stepBy === 1 ? ca : ca + 180) * (Math.PI / 180);
+                       poly = geoRotate(poly, -angle, origin);
+
+                       var extent = poly.reduce(function(extent, point) {
+                           return extent.extend(geoExtent(point));
+                       }, geoExtent());
+
+                       // find nearest other bubble in the search polygon
+                       var minDist = Infinity;
+                       _ssCache.bubbles.rtree.search(extent.bbox())
+                           .forEach(function(d) {
+                               if (d.data.key === selected.key) return;
+                               if (!geoPointInPolygon(d.data.loc, poly)) return;
+
+                               var dist = geoVecLength(d.data.loc, selected.loc);
+                               var theta = selected.ca - d.data.ca;
+                               var minTheta = Math.min(Math.abs(theta), 360 - Math.abs(theta));
+                               if (minTheta > 20) {
+                                   dist += 5;  // penalize distance if camera angles don't match
+                               }
+
+                               if (dist < minDist) {
+                                   nextID = d.data.key;
+                                   minDist = dist;
+                               }
+                           });
+
+                       var nextBubble = nextID && _ssCache.bubbles.points[nextID];
+                       if (!nextBubble) return;
+
+                       context.map().centerEase(nextBubble.loc);
+
+                       that.selectImage(nextBubble)
+                           .then(function(r) {
+                               if (r.status === 'ok') {
+                                   _sceneOptions.yaw = yaw;
+                                   that.showViewer();
+                               }
+                           });
+                   };
+               }
+           },
+
+           /**
+            * showViewer()
+            */
+           showViewer: function (yaw) {
+               if (!_sceneOptions) return;
+
+               if (yaw !== undefined) {
+                   _sceneOptions.yaw = yaw;
+               }
+
+               if (!_pannellumViewer) {
+                   this.initViewer();
+               } else {
+                   // make a new scene
+                   var sceneID = ++_currScene + '';
+                   _pannellumViewer
+                       .addScene(sceneID, _sceneOptions)
+                       .loadScene(sceneID);
+
+                   // remove previous scene
+                   if (_currScene > 2) {
+                       sceneID = (_currScene - 1) + '';
+                       _pannellumViewer
+                           .removeScene(sceneID);
+                   }
+               }
+
+               var wrap = d3_select('#photoviewer')
+                   .classed('hide', false);
+
+               var isHidden = wrap.selectAll('.photo-wrapper.ms-wrapper.hide').size();
+
+               if (isHidden) {
+                   wrap
+                       .selectAll('.photo-wrapper:not(.ms-wrapper)')
+                       .classed('hide', true);
+
+                   wrap
+                       .selectAll('.photo-wrapper.ms-wrapper')
+                       .classed('hide', false);
+               }
+
+               return this;
+           },
+
+           /**
+            * hideViewer()
+            */
+           hideViewer: function () {
+               var viewer = d3_select('#photoviewer');
+               if (!viewer.empty()) viewer.datum(null);
+
+               viewer
+                   .classed('hide', true)
+                   .selectAll('.photo-wrapper')
+                   .classed('hide', true);
+
+               d3_selectAll('.viewfield-group, .sequence, .icon-sign')
+                   .classed('currentView', false);
+
+               return this.setStyles(null, true);
+           },
+
+           /**
+            * selectImage().
+            */
+           selectImage: function (d) {
+               var response = q.defer();
+               var that = this;
+
+               var viewer = d3_select('#photoviewer');
+               if (!viewer.empty()) viewer.datum(d);
+
+               this.setStyles(null, true);
+
+               var wrap = d3_select('#photoviewer .ms-wrapper');
+               var attribution = wrap.selectAll('.photo-attribution').html('');
+
+               wrap.selectAll('.pnlm-load-box')   // display "loading.."
+                   .style('display', 'block');
+
+               if (!d) {
+                   response.resolve({status: 'ok'});
+                   return response.promise;
+               }
+
+               var line1 = attribution
+                   .append('div')
+                   .attr('class', 'attribution-row');
+
+               // Add hires checkbox
+               var label = line1
+                   .append('label')
+                   .attr('class', 'streetside-hires');
+
+               label
+                   .append('input')
+                   .attr('type', 'checkbox')
+                   .attr('id', 'streetside-hires-input')
+                   .property('checked', _hires)
+                   .on('click', function() {
+                       event.stopPropagation();
+
+                       _hires = !_hires;
+                       _resolution = _hires ? 1024 : 512;
+                       wrap.call(setupCanvas, true);
+
+                       var viewstate = {
+                           yaw: _pannellumViewer.getYaw(),
+                           pitch: _pannellumViewer.getPitch(),
+                           hfov: _pannellumViewer.getHfov()
+                       };
+
+                       that.selectImage(d)
+                           .then(function(r) {
+                               if (r.status === 'ok') {
+                                   _sceneOptions = Object.assign(_sceneOptions, viewstate);
+                                   that.showViewer();
+                               }
+                           });
+                   });
+
+               label
+                   .append('span')
+                   .text(t('streetside.hires'));
+
+
+               var captureInfo = line1
+                   .append('div')
+                   .attr('class', 'attribution-capture-info');
+
+               // Add capture date
+               if (d.captured_by) {
+                   var yyyy = (new Date()).getFullYear();
+
+                   captureInfo
+                       .append('a')
+                       .attr('class', 'captured_by')
+                       .attr('target', '_blank')
+                       .attr('href', 'https://www.microsoft.com/en-us/maps/streetside')
+                       .text('©' + yyyy + ' Microsoft');
+
+                   captureInfo
+                       .append('span')
+                       .text('|');
+               }
+
+               if (d.captured_at) {
+                   captureInfo
+                       .append('span')
+                       .attr('class', 'captured_at')
+                       .text(localeTimestamp(d.captured_at));
+               }
+
+               // Add image links
+               var line2 = attribution
+                   .append('div')
+                   .attr('class', 'attribution-row');
+
+               line2
+                   .append('a')
+                   .attr('class', 'image-view-link')
+                   .attr('target', '_blank')
+                   .attr('href', 'https://www.bing.com/maps?cp=' + d.loc[1] + '~' + d.loc[0] +
+                       '&lvl=17&dir=' + d.ca + '&style=x&v=2&sV=1')
+                   .text(t('streetside.view_on_bing'));
+
+               line2
+                   .append('a')
+                   .attr('class', 'image-report-link')
+                   .attr('target', '_blank')
+                   .attr('href', 'https://www.bing.com/maps/privacyreport/streetsideprivacyreport?bubbleid=' + encodeURIComponent(d.key) +
+                       '&focus=photo&lat=' + d.loc[1] + '&lng=' + d.loc[0] + '&z=17')
+                   .text(t('streetside.report'));
+
+
+               var bubbleIdQuadKey = d.key.toString(4);
+               var paddingNeeded = 16 - bubbleIdQuadKey.length;
+               for (var i = 0; i < paddingNeeded; i++) {
+                   bubbleIdQuadKey = '0' + bubbleIdQuadKey;
+               }
+               var imgUrlPrefix = streetsideImagesApi + 'hs' + bubbleIdQuadKey;
+               var imgUrlSuffix = '.jpg?g=6338&n=z';
+
+               // Cubemap face code order matters here: front=01, right=02, back=03, left=10, up=11, down=12
+               var faceKeys = ['01','02','03','10','11','12'];
+
+               // Map images to cube faces
+               var quadKeys = getQuadKeys();
+               var faces = faceKeys.map(function(faceKey) {
+                   return quadKeys.map(function(quadKey) {
+                       var xy = qkToXY(quadKey);
+                       return {
+                           face: faceKey,
+                           url: imgUrlPrefix + faceKey + quadKey + imgUrlSuffix,
+                           x: xy[0],
+                           y: xy[1]
+                       };
+                   });
+               });
+
+               processFaces(faces).then(function() {
+                   _sceneOptions = {
+                       showFullscreenCtrl: false,
+                       autoLoad: true,
+                       compass: true,
+                       northOffset: d.ca,
+                       yaw: 0,
+                       minHfov: minHfov,
+                       maxHfov: maxHfov,
+                       hfov: defaultHfov,
+                       type: 'cubemap',
+                       cubeMap: [
+                           _dataUrlArray[0],
+                           _dataUrlArray[1],
+                           _dataUrlArray[2],
+                           _dataUrlArray[3],
+                           _dataUrlArray[4],
+                           _dataUrlArray[5]
+                       ]
+                   };
+                   response.resolve({status: 'ok'});
+               });
+
+               return response.promise;
+           },
+
+
+           getSequenceKeyForBubble: function(d) {
+               return d && d.sequenceKey;
+           },
+
+
+           // Updates the currently highlighted sequence and selected bubble.
+           // Reset is only necessary when interacting with the viewport because
+           // this implicitly changes the currently selected bubble/sequence
+           setStyles: function (hovered, reset) {
+               if (reset) {  // reset all layers
+                   d3_selectAll('.viewfield-group')
+                       .classed('highlighted', false)
+                       .classed('hovered', false)
+                       .classed('currentView', false);
+
+                   d3_selectAll('.sequence')
+                       .classed('highlighted', false)
+                       .classed('currentView', false);
+               }
+
+               var hoveredBubbleKey = hovered && hovered.key;
+               var hoveredSequenceKey = this.getSequenceKeyForBubble(hovered);
+               var hoveredSequence = hoveredSequenceKey && _ssCache.sequences[hoveredSequenceKey];
+               var hoveredBubbleKeys =  (hoveredSequence && hoveredSequence.bubbles.map(function (d) { return d.key; })) || [];
+
+               var viewer = d3_select('#photoviewer');
+               var selected = viewer.empty() ? undefined : viewer.datum();
+               var selectedBubbleKey = selected && selected.key;
+               var selectedSequenceKey = this.getSequenceKeyForBubble(selected);
+               var selectedSequence = selectedSequenceKey && _ssCache.sequences[selectedSequenceKey];
+               var selectedBubbleKeys = (selectedSequence && selectedSequence.bubbles.map(function (d) { return d.key; })) || [];
+
+               // highlight sibling viewfields on either the selected or the hovered sequences
+               var highlightedBubbleKeys = utilArrayUnion(hoveredBubbleKeys, selectedBubbleKeys);
+
+               d3_selectAll('.layer-streetside-images .viewfield-group')
+                   .classed('highlighted', function (d) { return highlightedBubbleKeys.indexOf(d.key) !== -1; })
+                   .classed('hovered', function (d) { return d.key === hoveredBubbleKey; })
+                   .classed('currentView', function (d) { return d.key === selectedBubbleKey; });
+
+               d3_selectAll('.layer-streetside-images .sequence')
+                   .classed('highlighted', function (d) { return d.properties.key === hoveredSequenceKey; })
+                   .classed('currentView', function (d) { return d.properties.key === selectedSequenceKey; });
+
+               // update viewfields if needed
+               d3_selectAll('.viewfield-group .viewfield')
+                   .attr('d', viewfieldPath);
+
+               function viewfieldPath() {
+                   var d = this.parentNode.__data__;
+                   if (d.pano && d.key !== selectedBubbleKey) {
+                       return 'M 8,13 m -10,0 a 10,10 0 1,0 20,0 a 10,10 0 1,0 -20,0';
+                   } else {
+                       return 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z';
+                   }
+               }
+
+               return this;
+           },
+
+           /**
+            * cache().
+            */
+           cache: function () {
+               return _ssCache;
+           }
+       };
+
+       var apibase$4 = 'https://taginfo.openstreetmap.org/api/4/';
+       var _inflight$2 = {};
+       var _popularKeys = {};
+       var _taginfoCache = {};
+
+       var tag_sorts = {
+           point: 'count_nodes',
+           vertex: 'count_nodes',
+           area: 'count_ways',
+           line: 'count_ways'
+       };
+       var tag_sort_members = {
+           point: 'count_node_members',
+           vertex: 'count_node_members',
+           area: 'count_way_members',
+           line: 'count_way_members',
+           relation: 'count_relation_members'
+       };
+       var tag_filters = {
+           point: 'nodes',
+           vertex: 'nodes',
+           area: 'ways',
+           line: 'ways'
+       };
+       var tag_members_fractions = {
+           point: 'count_node_members_fraction',
+           vertex: 'count_node_members_fraction',
+           area: 'count_way_members_fraction',
+           line: 'count_way_members_fraction',
+           relation: 'count_relation_members_fraction'
+       };
+
+
+       function sets(params, n, o) {
+           if (params.geometry && o[params.geometry]) {
+               params[n] = o[params.geometry];
+           }
+           return params;
+       }
+
+
+       function setFilter(params) {
+           return sets(params, 'filter', tag_filters);
+       }
+
+
+       function setSort(params) {
+           return sets(params, 'sortname', tag_sorts);
+       }
+
+
+       function setSortMembers(params) {
+           return sets(params, 'sortname', tag_sort_members);
+       }
+
+
+       function clean(params) {
+           return utilObjectOmit(params, ['geometry', 'debounce']);
+       }
+
+
+       function filterKeys(type) {
+           var count_type = type ? 'count_' + type : 'count_all';
+           return function(d) {
+               return parseFloat(d[count_type]) > 2500 || d.in_wiki;
+           };
+       }
+
+
+       function filterMultikeys(prefix) {
+           return function(d) {
+               // d.key begins with prefix, and d.key contains no additional ':'s
+               var re = new RegExp('^' + prefix + '(.*)$');
+               var matches = d.key.match(re) || [];
+               return (matches.length === 2 && matches[1].indexOf(':') === -1);
+           };
+       }
+
+
+       function filterValues(allowUpperCase) {
+           return function(d) {
+               if (d.value.match(/[;,]/) !== null) return false;  // exclude some punctuation
+               if (!allowUpperCase && d.value.match(/[A-Z*]/) !== null) return false;  // exclude uppercase letters
+               return parseFloat(d.fraction) > 0.0;
+           };
+       }
+
+
+       function filterRoles(geometry) {
+           return function(d) {
+               if (d.role === '') return false; // exclude empty role
+               if (d.role.match(/[A-Z*;,]/) !== null) return false;  // exclude uppercase letters and some punctuation
+               return parseFloat(d[tag_members_fractions[geometry]]) > 0.0;
+           };
+       }
+
+
+       function valKey(d) {
+           return {
+               value: d.key,
+               title: d.key
+           };
+       }
+
+
+       function valKeyDescription(d) {
+           return {
+               value: d.value,
+               title: d.description || d.value
+           };
+       }
+
+
+       function roleKey(d) {
+           return {
+               value: d.role,
+               title: d.role
+           };
+       }
+
+
+       // sort keys with ':' lower than keys without ':'
+       function sortKeys(a, b) {
+           return (a.key.indexOf(':') === -1 && b.key.indexOf(':') !== -1) ? -1
+               : (a.key.indexOf(':') !== -1 && b.key.indexOf(':') === -1) ? 1
+               : 0;
+       }
+
+
+       var debouncedRequest$1 = debounce(request$1, 300, { leading: false });
+
+       function request$1(url, params, exactMatch, callback, loaded) {
+           if (_inflight$2[url]) return;
+
+           if (checkCache(url, params, exactMatch, callback)) return;
+
+           var controller = new AbortController();
+           _inflight$2[url] = controller;
+
+           d3_json(url, { signal: controller.signal })
+               .then(function(result) {
+                   delete _inflight$2[url];
+                   if (loaded) loaded(null, result);
+               })
+               .catch(function(err) {
+                   delete _inflight$2[url];
+                   if (err.name === 'AbortError') return;
+                   if (loaded) loaded(err.message);
+               });
+       }
+
+
+       function checkCache(url, params, exactMatch, callback) {
+           var rp = params.rp || 25;
+           var testQuery = params.query || '';
+           var testUrl = url;
+
+           do {
+               var hit = _taginfoCache[testUrl];
+
+               // exact match, or shorter match yielding fewer than max results (rp)
+               if (hit && (url === testUrl || hit.length < rp)) {
+                   callback(null, hit);
+                   return true;
+               }
+
+               // don't try to shorten the query
+               if (exactMatch || !testQuery.length) return false;
+
+               // do shorten the query to see if we already have a cached result
+               // that has returned fewer than max results (rp)
+               testQuery = testQuery.slice(0, -1);
+               testUrl = url.replace(/&query=(.*?)&/, '&query=' + testQuery + '&');
+           } while (testQuery.length >= 0);
+
+           return false;
+       }
+
+
+       var serviceTaginfo = {
+
+           init: function() {
+               _inflight$2 = {};
+               _taginfoCache = {};
+               _popularKeys = {
+                   postal_code: true   // #5377
+               };
+
+               // Fetch popular keys.  We'll exclude these from `values`
+               // lookups because they stress taginfo, and they aren't likely
+               // to yield meaningful autocomplete results.. see #3955
+               var params = {
+                   rp: 100,
+                   sortname: 'values_all',
+                   sortorder: 'desc',
+                   page: 1,
+                   debounce: false,
+                   lang: currentLocale
+               };
+               this.keys(params, function(err, data) {
+                   if (err) return;
+                   data.forEach(function(d) {
+                       if (d.value === 'opening_hours') return;  // exception
+                       _popularKeys[d.value] = true;
+                   });
+               });
+           },
+
+
+           reset: function() {
+               Object.values(_inflight$2).forEach(function(controller) { controller.abort(); });
+               _inflight$2 = {};
+           },
+
+
+           keys: function(params, callback) {
+               var doRequest = params.debounce ? debouncedRequest$1 : request$1;
+               params = clean(setSort(params));
+               params = Object.assign({
+                   rp: 10,
+                   sortname: 'count_all',
+                   sortorder: 'desc',
+                   page: 1,
+                   lang: currentLocale
+               }, params);
+
+               var url = apibase$4 + 'keys/all?' + utilQsString(params);
+               doRequest(url, params, false, callback, function(err, d) {
+                   if (err) {
+                       callback(err);
+                   } else {
+                       var f = filterKeys(params.filter);
+                       var result = d.data.filter(f).sort(sortKeys).map(valKey);
+                       _taginfoCache[url] = result;
+                       callback(null, result);
+                   }
+               });
+           },
+
+
+           multikeys: function(params, callback) {
+               var doRequest = params.debounce ? debouncedRequest$1 : request$1;
+               params = clean(setSort(params));
+               params = Object.assign({
+                   rp: 25,
+                   sortname: 'count_all',
+                   sortorder: 'desc',
+                   page: 1,
+                   lang: currentLocale
+               }, params);
+
+               var prefix = params.query;
+               var url = apibase$4 + 'keys/all?' + utilQsString(params);
+               doRequest(url, params, true, callback, function(err, d) {
+                   if (err) {
+                       callback(err);
+                   } else {
+                       var f = filterMultikeys(prefix);
+                       var result = d.data.filter(f).map(valKey);
+                       _taginfoCache[url] = result;
+                       callback(null, result);
+                   }
+               });
+           },
+
+
+           values: function(params, callback) {
+               // Exclude popular keys from values lookups.. see #3955
+               var key = params.key;
+               if (key && _popularKeys[key]) {
+                   callback(null, []);
+                   return;
+               }
+
+               var doRequest = params.debounce ? debouncedRequest$1 : request$1;
+               params = clean(setSort(setFilter(params)));
+               params = Object.assign({
+                   rp: 25,
+                   sortname: 'count_all',
+                   sortorder: 'desc',
+                   page: 1,
+                   lang: currentLocale
+               }, params);
+
+               var url = apibase$4 + 'key/values?' + utilQsString(params);
+               doRequest(url, params, false, callback, function(err, d) {
+                   if (err) {
+                       callback(err);
+                   } else {
+                       // In most cases we prefer taginfo value results with lowercase letters.
+                       // A few OSM keys expect values to contain uppercase values (see #3377).
+                       // This is not an exhaustive list (e.g. `name` also has uppercase values)
+                       // but these are the fields where taginfo value lookup is most useful.
+                       var re = /network|taxon|genus|species|brand|grape_variety|royal_cypher|listed_status|booth|rating|stars|:output|_hours|_times|_ref|manufacturer/;
+                       var allowUpperCase = re.test(params.key);
+                       var f = filterValues(allowUpperCase);
+
+                       var result = d.data.filter(f).map(valKeyDescription);
+                       _taginfoCache[url] = result;
+                       callback(null, result);
+                   }
+               });
+           },
+
+
+           roles: function(params, callback) {
+               var doRequest = params.debounce ? debouncedRequest$1 : request$1;
+               var geometry = params.geometry;
+               params = clean(setSortMembers(params));
+               params = Object.assign({
+                   rp: 25,
+                   sortname: 'count_all_members',
+                   sortorder: 'desc',
+                   page: 1,
+                   lang: currentLocale
+               }, params);
+
+               var url = apibase$4 + 'relation/roles?' + utilQsString(params);
+               doRequest(url, params, true, callback, function(err, d) {
+                   if (err) {
+                       callback(err);
+                   } else {
+                       var f = filterRoles(geometry);
+                       var result = d.data.filter(f).map(roleKey);
+                       _taginfoCache[url] = result;
+                       callback(null, result);
+                   }
+               });
+           },
+
+
+           docs: function(params, callback) {
+               var doRequest = params.debounce ? debouncedRequest$1 : request$1;
+               params = clean(setSort(params));
+
+               var path = 'key/wiki_pages?';
+               if (params.value) {
+                   path = 'tag/wiki_pages?';
+               } else if (params.rtype) {
+                   path = 'relation/wiki_pages?';
+               }
+
+               var url = apibase$4 + path + utilQsString(params);
+               doRequest(url, params, true, callback, function(err, d) {
+                   if (err) {
+                       callback(err);
+                   } else {
+                       _taginfoCache[url] = d.data;
+                       callback(null, d.data);
+                   }
+               });
+           },
+
+
+           apibase: function(_) {
+               if (!arguments.length) return apibase$4;
+               apibase$4 = _;
+               return this;
+           }
+
+       };
+
+       var helpers = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+       /**
+        * @module helpers
+        */
+       /**
+        * Earth Radius used with the Harvesine formula and approximates using a spherical (non-ellipsoid) Earth.
+        *
+        * @memberof helpers
+        * @type {number}
+        */
+       exports.earthRadius = 6371008.8;
+       /**
+        * Unit of measurement factors using a spherical (non-ellipsoid) earth radius.
+        *
+        * @memberof helpers
+        * @type {Object}
+        */
+       exports.factors = {
+           centimeters: exports.earthRadius * 100,
+           centimetres: exports.earthRadius * 100,
+           degrees: exports.earthRadius / 111325,
+           feet: exports.earthRadius * 3.28084,
+           inches: exports.earthRadius * 39.370,
+           kilometers: exports.earthRadius / 1000,
+           kilometres: exports.earthRadius / 1000,
+           meters: exports.earthRadius,
+           metres: exports.earthRadius,
+           miles: exports.earthRadius / 1609.344,
+           millimeters: exports.earthRadius * 1000,
+           millimetres: exports.earthRadius * 1000,
+           nauticalmiles: exports.earthRadius / 1852,
+           radians: 1,
+           yards: exports.earthRadius / 1.0936,
+       };
+       /**
+        * Units of measurement factors based on 1 meter.
+        *
+        * @memberof helpers
+        * @type {Object}
+        */
+       exports.unitsFactors = {
+           centimeters: 100,
+           centimetres: 100,
+           degrees: 1 / 111325,
+           feet: 3.28084,
+           inches: 39.370,
+           kilometers: 1 / 1000,
+           kilometres: 1 / 1000,
+           meters: 1,
+           metres: 1,
+           miles: 1 / 1609.344,
+           millimeters: 1000,
+           millimetres: 1000,
+           nauticalmiles: 1 / 1852,
+           radians: 1 / exports.earthRadius,
+           yards: 1 / 1.0936,
+       };
+       /**
+        * Area of measurement factors based on 1 square meter.
+        *
+        * @memberof helpers
+        * @type {Object}
+        */
+       exports.areaFactors = {
+           acres: 0.000247105,
+           centimeters: 10000,
+           centimetres: 10000,
+           feet: 10.763910417,
+           inches: 1550.003100006,
+           kilometers: 0.000001,
+           kilometres: 0.000001,
+           meters: 1,
+           metres: 1,
+           miles: 3.86e-7,
+           millimeters: 1000000,
+           millimetres: 1000000,
+           yards: 1.195990046,
+       };
+       /**
+        * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.
+        *
+        * @name feature
+        * @param {Geometry} geometry input geometry
+        * @param {Object} [properties={}] an Object of key-value pairs to add as properties
+        * @param {Object} [options={}] Optional Parameters
+        * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
+        * @param {string|number} [options.id] Identifier associated with the Feature
+        * @returns {Feature} a GeoJSON Feature
+        * @example
+        * var geometry = {
+        *   "type": "Point",
+        *   "coordinates": [110, 50]
+        * };
+        *
+        * var feature = turf.feature(geometry);
+        *
+        * //=feature
+        */
+       function feature(geom, properties, options) {
+           if (options === void 0) { options = {}; }
+           var feat = { type: "Feature" };
+           if (options.id === 0 || options.id) {
+               feat.id = options.id;
+           }
+           if (options.bbox) {
+               feat.bbox = options.bbox;
+           }
+           feat.properties = properties || {};
+           feat.geometry = geom;
+           return feat;
+       }
+       exports.feature = feature;
+       /**
+        * Creates a GeoJSON {@link Geometry} from a Geometry string type & coordinates.
+        * For GeometryCollection type use `helpers.geometryCollection`
+        *
+        * @name geometry
+        * @param {string} type Geometry Type
+        * @param {Array<any>} coordinates Coordinates
+        * @param {Object} [options={}] Optional Parameters
+        * @returns {Geometry} a GeoJSON Geometry
+        * @example
+        * var type = "Point";
+        * var coordinates = [110, 50];
+        * var geometry = turf.geometry(type, coordinates);
+        * // => geometry
+        */
+       function geometry(type, coordinates, options) {
+           switch (type) {
+               case "Point": return point(coordinates).geometry;
+               case "LineString": return lineString(coordinates).geometry;
+               case "Polygon": return polygon(coordinates).geometry;
+               case "MultiPoint": return multiPoint(coordinates).geometry;
+               case "MultiLineString": return multiLineString(coordinates).geometry;
+               case "MultiPolygon": return multiPolygon(coordinates).geometry;
+               default: throw new Error(type + " is invalid");
+           }
+       }
+       exports.geometry = geometry;
+       /**
+        * Creates a {@link Point} {@link Feature} from a Position.
+        *
+        * @name point
+        * @param {Array<number>} coordinates longitude, latitude position (each in decimal degrees)
+        * @param {Object} [properties={}] an Object of key-value pairs to add as properties
+        * @param {Object} [options={}] Optional Parameters
+        * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
+        * @param {string|number} [options.id] Identifier associated with the Feature
+        * @returns {Feature<Point>} a Point feature
+        * @example
+        * var point = turf.point([-75.343, 39.984]);
+        *
+        * //=point
+        */
+       function point(coordinates, properties, options) {
+           if (options === void 0) { options = {}; }
+           var geom = {
+               type: "Point",
+               coordinates: coordinates,
+           };
+           return feature(geom, properties, options);
+       }
+       exports.point = point;
+       /**
+        * Creates a {@link Point} {@link FeatureCollection} from an Array of Point coordinates.
+        *
+        * @name points
+        * @param {Array<Array<number>>} coordinates an array of Points
+        * @param {Object} [properties={}] Translate these properties to each Feature
+        * @param {Object} [options={}] Optional Parameters
+        * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north]
+        * associated with the FeatureCollection
+        * @param {string|number} [options.id] Identifier associated with the FeatureCollection
+        * @returns {FeatureCollection<Point>} Point Feature
+        * @example
+        * var points = turf.points([
+        *   [-75, 39],
+        *   [-80, 45],
+        *   [-78, 50]
+        * ]);
+        *
+        * //=points
+        */
+       function points(coordinates, properties, options) {
+           if (options === void 0) { options = {}; }
+           return featureCollection(coordinates.map(function (coords) {
+               return point(coords, properties);
+           }), options);
+       }
+       exports.points = points;
+       /**
+        * Creates a {@link Polygon} {@link Feature} from an Array of LinearRings.
+        *
+        * @name polygon
+        * @param {Array<Array<Array<number>>>} coordinates an array of LinearRings
+        * @param {Object} [properties={}] an Object of key-value pairs to add as properties
+        * @param {Object} [options={}] Optional Parameters
+        * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
+        * @param {string|number} [options.id] Identifier associated with the Feature
+        * @returns {Feature<Polygon>} Polygon Feature
+        * @example
+        * var polygon = turf.polygon([[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]], { name: 'poly1' });
+        *
+        * //=polygon
+        */
+       function polygon(coordinates, properties, options) {
+           if (options === void 0) { options = {}; }
+           for (var _i = 0, coordinates_1 = coordinates; _i < coordinates_1.length; _i++) {
+               var ring = coordinates_1[_i];
+               if (ring.length < 4) {
+                   throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");
+               }
+               for (var j = 0; j < ring[ring.length - 1].length; j++) {
+                   // Check if first point of Polygon contains two numbers
+                   if (ring[ring.length - 1][j] !== ring[0][j]) {
+                       throw new Error("First and last Position are not equivalent.");
+                   }
+               }
+           }
+           var geom = {
+               type: "Polygon",
+               coordinates: coordinates,
+           };
+           return feature(geom, properties, options);
+       }
+       exports.polygon = polygon;
+       /**
+        * Creates a {@link Polygon} {@link FeatureCollection} from an Array of Polygon coordinates.
+        *
+        * @name polygons
+        * @param {Array<Array<Array<Array<number>>>>} coordinates an array of Polygon coordinates
+        * @param {Object} [properties={}] an Object of key-value pairs to add as properties
+        * @param {Object} [options={}] Optional Parameters
+        * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
+        * @param {string|number} [options.id] Identifier associated with the FeatureCollection
+        * @returns {FeatureCollection<Polygon>} Polygon FeatureCollection
+        * @example
+        * var polygons = turf.polygons([
+        *   [[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]],
+        *   [[[-15, 42], [-14, 46], [-12, 41], [-17, 44], [-15, 42]]],
+        * ]);
+        *
+        * //=polygons
+        */
+       function polygons(coordinates, properties, options) {
+           if (options === void 0) { options = {}; }
+           return featureCollection(coordinates.map(function (coords) {
+               return polygon(coords, properties);
+           }), options);
+       }
+       exports.polygons = polygons;
+       /**
+        * Creates a {@link LineString} {@link Feature} from an Array of Positions.
+        *
+        * @name lineString
+        * @param {Array<Array<number>>} coordinates an array of Positions
+        * @param {Object} [properties={}] an Object of key-value pairs to add as properties
+        * @param {Object} [options={}] Optional Parameters
+        * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
+        * @param {string|number} [options.id] Identifier associated with the Feature
+        * @returns {Feature<LineString>} LineString Feature
+        * @example
+        * var linestring1 = turf.lineString([[-24, 63], [-23, 60], [-25, 65], [-20, 69]], {name: 'line 1'});
+        * var linestring2 = turf.lineString([[-14, 43], [-13, 40], [-15, 45], [-10, 49]], {name: 'line 2'});
+        *
+        * //=linestring1
+        * //=linestring2
+        */
+       function lineString(coordinates, properties, options) {
+           if (options === void 0) { options = {}; }
+           if (coordinates.length < 2) {
+               throw new Error("coordinates must be an array of two or more positions");
+           }
+           var geom = {
+               type: "LineString",
+               coordinates: coordinates,
+           };
+           return feature(geom, properties, options);
+       }
+       exports.lineString = lineString;
+       /**
+        * Creates a {@link LineString} {@link FeatureCollection} from an Array of LineString coordinates.
+        *
+        * @name lineStrings
+        * @param {Array<Array<Array<number>>>} coordinates an array of LinearRings
+        * @param {Object} [properties={}] an Object of key-value pairs to add as properties
+        * @param {Object} [options={}] Optional Parameters
+        * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north]
+        * associated with the FeatureCollection
+        * @param {string|number} [options.id] Identifier associated with the FeatureCollection
+        * @returns {FeatureCollection<LineString>} LineString FeatureCollection
+        * @example
+        * var linestrings = turf.lineStrings([
+        *   [[-24, 63], [-23, 60], [-25, 65], [-20, 69]],
+        *   [[-14, 43], [-13, 40], [-15, 45], [-10, 49]]
+        * ]);
+        *
+        * //=linestrings
+        */
+       function lineStrings(coordinates, properties, options) {
+           if (options === void 0) { options = {}; }
+           return featureCollection(coordinates.map(function (coords) {
+               return lineString(coords, properties);
+           }), options);
+       }
+       exports.lineStrings = lineStrings;
+       /**
+        * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.
+        *
+        * @name featureCollection
+        * @param {Feature[]} features input features
+        * @param {Object} [options={}] Optional Parameters
+        * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
+        * @param {string|number} [options.id] Identifier associated with the Feature
+        * @returns {FeatureCollection} FeatureCollection of Features
+        * @example
+        * var locationA = turf.point([-75.343, 39.984], {name: 'Location A'});
+        * var locationB = turf.point([-75.833, 39.284], {name: 'Location B'});
+        * var locationC = turf.point([-75.534, 39.123], {name: 'Location C'});
+        *
+        * var collection = turf.featureCollection([
+        *   locationA,
+        *   locationB,
+        *   locationC
+        * ]);
+        *
+        * //=collection
+        */
+       function featureCollection(features, options) {
+           if (options === void 0) { options = {}; }
+           var fc = { type: "FeatureCollection" };
+           if (options.id) {
+               fc.id = options.id;
+           }
+           if (options.bbox) {
+               fc.bbox = options.bbox;
+           }
+           fc.features = features;
+           return fc;
+       }
+       exports.featureCollection = featureCollection;
+       /**
+        * Creates a {@link Feature<MultiLineString>} based on a
+        * coordinate array. Properties can be added optionally.
+        *
+        * @name multiLineString
+        * @param {Array<Array<Array<number>>>} coordinates an array of LineStrings
+        * @param {Object} [properties={}] an Object of key-value pairs to add as properties
+        * @param {Object} [options={}] Optional Parameters
+        * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
+        * @param {string|number} [options.id] Identifier associated with the Feature
+        * @returns {Feature<MultiLineString>} a MultiLineString feature
+        * @throws {Error} if no coordinates are passed
+        * @example
+        * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);
+        *
+        * //=multiLine
+        */
+       function multiLineString(coordinates, properties, options) {
+           if (options === void 0) { options = {}; }
+           var geom = {
+               type: "MultiLineString",
+               coordinates: coordinates,
+           };
+           return feature(geom, properties, options);
+       }
+       exports.multiLineString = multiLineString;
+       /**
+        * Creates a {@link Feature<MultiPoint>} based on a
+        * coordinate array. Properties can be added optionally.
+        *
+        * @name multiPoint
+        * @param {Array<Array<number>>} coordinates an array of Positions
+        * @param {Object} [properties={}] an Object of key-value pairs to add as properties
+        * @param {Object} [options={}] Optional Parameters
+        * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
+        * @param {string|number} [options.id] Identifier associated with the Feature
+        * @returns {Feature<MultiPoint>} a MultiPoint feature
+        * @throws {Error} if no coordinates are passed
+        * @example
+        * var multiPt = turf.multiPoint([[0,0],[10,10]]);
+        *
+        * //=multiPt
+        */
+       function multiPoint(coordinates, properties, options) {
+           if (options === void 0) { options = {}; }
+           var geom = {
+               type: "MultiPoint",
+               coordinates: coordinates,
+           };
+           return feature(geom, properties, options);
+       }
+       exports.multiPoint = multiPoint;
+       /**
+        * Creates a {@link Feature<MultiPolygon>} based on a
+        * coordinate array. Properties can be added optionally.
+        *
+        * @name multiPolygon
+        * @param {Array<Array<Array<Array<number>>>>} coordinates an array of Polygons
+        * @param {Object} [properties={}] an Object of key-value pairs to add as properties
+        * @param {Object} [options={}] Optional Parameters
+        * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
+        * @param {string|number} [options.id] Identifier associated with the Feature
+        * @returns {Feature<MultiPolygon>} a multipolygon feature
+        * @throws {Error} if no coordinates are passed
+        * @example
+        * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);
+        *
+        * //=multiPoly
+        *
+        */
+       function multiPolygon(coordinates, properties, options) {
+           if (options === void 0) { options = {}; }
+           var geom = {
+               type: "MultiPolygon",
+               coordinates: coordinates,
+           };
+           return feature(geom, properties, options);
+       }
+       exports.multiPolygon = multiPolygon;
+       /**
+        * Creates a {@link Feature<GeometryCollection>} based on a
+        * coordinate array. Properties can be added optionally.
+        *
+        * @name geometryCollection
+        * @param {Array<Geometry>} geometries an array of GeoJSON Geometries
+        * @param {Object} [properties={}] an Object of key-value pairs to add as properties
+        * @param {Object} [options={}] Optional Parameters
+        * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
+        * @param {string|number} [options.id] Identifier associated with the Feature
+        * @returns {Feature<GeometryCollection>} a GeoJSON GeometryCollection Feature
+        * @example
+        * var pt = turf.geometry("Point", [100, 0]);
+        * var line = turf.geometry("LineString", [[101, 0], [102, 1]]);
+        * var collection = turf.geometryCollection([pt, line]);
+        *
+        * // => collection
+        */
+       function geometryCollection(geometries, properties, options) {
+           if (options === void 0) { options = {}; }
+           var geom = {
+               type: "GeometryCollection",
+               geometries: geometries,
+           };
+           return feature(geom, properties, options);
+       }
+       exports.geometryCollection = geometryCollection;
+       /**
+        * Round number to precision
+        *
+        * @param {number} num Number
+        * @param {number} [precision=0] Precision
+        * @returns {number} rounded number
+        * @example
+        * turf.round(120.4321)
+        * //=120
+        *
+        * turf.round(120.4321, 2)
+        * //=120.43
+        */
+       function round(num, precision) {
+           if (precision === void 0) { precision = 0; }
+           if (precision && !(precision >= 0)) {
+               throw new Error("precision must be a positive number");
+           }
+           var multiplier = Math.pow(10, precision || 0);
+           return Math.round(num * multiplier) / multiplier;
+       }
+       exports.round = round;
+       /**
+        * Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly unit.
+        * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet
+        *
+        * @name radiansToLength
+        * @param {number} radians in radians across the sphere
+        * @param {string} [units="kilometers"] can be degrees, radians, miles, or kilometers inches, yards, metres,
+        * meters, kilometres, kilometers.
+        * @returns {number} distance
+        */
+       function radiansToLength(radians, units) {
+           if (units === void 0) { units = "kilometers"; }
+           var factor = exports.factors[units];
+           if (!factor) {
+               throw new Error(units + " units is invalid");
+           }
+           return radians * factor;
+       }
+       exports.radiansToLength = radiansToLength;
+       /**
+        * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into radians
+        * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet
+        *
+        * @name lengthToRadians
+        * @param {number} distance in real units
+        * @param {string} [units="kilometers"] can be degrees, radians, miles, or kilometers inches, yards, metres,
+        * meters, kilometres, kilometers.
+        * @returns {number} radians
+        */
+       function lengthToRadians(distance, units) {
+           if (units === void 0) { units = "kilometers"; }
+           var factor = exports.factors[units];
+           if (!factor) {
+               throw new Error(units + " units is invalid");
+           }
+           return distance / factor;
+       }
+       exports.lengthToRadians = lengthToRadians;
+       /**
+        * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees
+        * Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, feet
+        *
+        * @name lengthToDegrees
+        * @param {number} distance in real units
+        * @param {string} [units="kilometers"] can be degrees, radians, miles, or kilometers inches, yards, metres,
+        * meters, kilometres, kilometers.
+        * @returns {number} degrees
+        */
+       function lengthToDegrees(distance, units) {
+           return radiansToDegrees(lengthToRadians(distance, units));
+       }
+       exports.lengthToDegrees = lengthToDegrees;
+       /**
+        * Converts any bearing angle from the north line direction (positive clockwise)
+        * and returns an angle between 0-360 degrees (positive clockwise), 0 being the north line
+        *
+        * @name bearingToAzimuth
+        * @param {number} bearing angle, between -180 and +180 degrees
+        * @returns {number} angle between 0 and 360 degrees
+        */
+       function bearingToAzimuth(bearing) {
+           var angle = bearing % 360;
+           if (angle < 0) {
+               angle += 360;
+           }
+           return angle;
+       }
+       exports.bearingToAzimuth = bearingToAzimuth;
+       /**
+        * Converts an angle in radians to degrees
+        *
+        * @name radiansToDegrees
+        * @param {number} radians angle in radians
+        * @returns {number} degrees between 0 and 360 degrees
+        */
+       function radiansToDegrees(radians) {
+           var degrees = radians % (2 * Math.PI);
+           return degrees * 180 / Math.PI;
+       }
+       exports.radiansToDegrees = radiansToDegrees;
+       /**
+        * Converts an angle in degrees to radians
+        *
+        * @name degreesToRadians
+        * @param {number} degrees angle between 0 and 360 degrees
+        * @returns {number} angle in radians
+        */
+       function degreesToRadians(degrees) {
+           var radians = degrees % 360;
+           return radians * Math.PI / 180;
+       }
+       exports.degreesToRadians = degreesToRadians;
+       /**
+        * Converts a length to the requested unit.
+        * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet
+        *
+        * @param {number} length to be converted
+        * @param {Units} [originalUnit="kilometers"] of the length
+        * @param {Units} [finalUnit="kilometers"] returned unit
+        * @returns {number} the converted length
+        */
+       function convertLength(length, originalUnit, finalUnit) {
+           if (originalUnit === void 0) { originalUnit = "kilometers"; }
+           if (finalUnit === void 0) { finalUnit = "kilometers"; }
+           if (!(length >= 0)) {
+               throw new Error("length must be a positive number");
+           }
+           return radiansToLength(lengthToRadians(length, originalUnit), finalUnit);
+       }
+       exports.convertLength = convertLength;
+       /**
+        * Converts a area to the requested unit.
+        * Valid units: kilometers, kilometres, meters, metres, centimetres, millimeters, acres, miles, yards, feet, inches
+        * @param {number} area to be converted
+        * @param {Units} [originalUnit="meters"] of the distance
+        * @param {Units} [finalUnit="kilometers"] returned unit
+        * @returns {number} the converted distance
+        */
+       function convertArea(area, originalUnit, finalUnit) {
+           if (originalUnit === void 0) { originalUnit = "meters"; }
+           if (finalUnit === void 0) { finalUnit = "kilometers"; }
+           if (!(area >= 0)) {
+               throw new Error("area must be a positive number");
+           }
+           var startFactor = exports.areaFactors[originalUnit];
+           if (!startFactor) {
+               throw new Error("invalid original units");
+           }
+           var finalFactor = exports.areaFactors[finalUnit];
+           if (!finalFactor) {
+               throw new Error("invalid final units");
+           }
+           return (area / startFactor) * finalFactor;
+       }
+       exports.convertArea = convertArea;
+       /**
+        * isNumber
+        *
+        * @param {*} num Number to validate
+        * @returns {boolean} true/false
+        * @example
+        * turf.isNumber(123)
+        * //=true
+        * turf.isNumber('foo')
+        * //=false
+        */
+       function isNumber(num) {
+           return !isNaN(num) && num !== null && !Array.isArray(num) && !/^\s*$/.test(num);
+       }
+       exports.isNumber = isNumber;
+       /**
+        * isObject
+        *
+        * @param {*} input variable to validate
+        * @returns {boolean} true/false
+        * @example
+        * turf.isObject({elevation: 10})
+        * //=true
+        * turf.isObject('foo')
+        * //=false
+        */
+       function isObject(input) {
+           return (!!input) && (input.constructor === Object);
+       }
+       exports.isObject = isObject;
+       /**
+        * Validate BBox
+        *
+        * @private
+        * @param {Array<number>} bbox BBox to validate
+        * @returns {void}
+        * @throws Error if BBox is not valid
+        * @example
+        * validateBBox([-180, -40, 110, 50])
+        * //=OK
+        * validateBBox([-180, -40])
+        * //=Error
+        * validateBBox('Foo')
+        * //=Error
+        * validateBBox(5)
+        * //=Error
+        * validateBBox(null)
+        * //=Error
+        * validateBBox(undefined)
+        * //=Error
+        */
+       function validateBBox(bbox) {
+           if (!bbox) {
+               throw new Error("bbox is required");
+           }
+           if (!Array.isArray(bbox)) {
+               throw new Error("bbox must be an Array");
+           }
+           if (bbox.length !== 4 && bbox.length !== 6) {
+               throw new Error("bbox must be an Array of 4 or 6 numbers");
+           }
+           bbox.forEach(function (num) {
+               if (!isNumber(num)) {
+                   throw new Error("bbox must only contain numbers");
+               }
+           });
+       }
+       exports.validateBBox = validateBBox;
+       /**
+        * Validate Id
+        *
+        * @private
+        * @param {string|number} id Id to validate
+        * @returns {void}
+        * @throws Error if Id is not valid
+        * @example
+        * validateId([-180, -40, 110, 50])
+        * //=Error
+        * validateId([-180, -40])
+        * //=Error
+        * validateId('Foo')
+        * //=OK
+        * validateId(5)
+        * //=OK
+        * validateId(null)
+        * //=Error
+        * validateId(undefined)
+        * //=Error
+        */
+       function validateId(id) {
+           if (!id) {
+               throw new Error("id is required");
+           }
+           if (["string", "number"].indexOf(typeof id) === -1) {
+               throw new Error("id must be a number or a string");
+           }
+       }
+       exports.validateId = validateId;
+       // Deprecated methods
+       function radians2degrees() {
+           throw new Error("method has been renamed to `radiansToDegrees`");
+       }
+       exports.radians2degrees = radians2degrees;
+       function degrees2radians() {
+           throw new Error("method has been renamed to `degreesToRadians`");
+       }
+       exports.degrees2radians = degrees2radians;
+       function distanceToDegrees() {
+           throw new Error("method has been renamed to `lengthToDegrees`");
+       }
+       exports.distanceToDegrees = distanceToDegrees;
+       function distanceToRadians() {
+           throw new Error("method has been renamed to `lengthToRadians`");
+       }
+       exports.distanceToRadians = distanceToRadians;
+       function radiansToDistance() {
+           throw new Error("method has been renamed to `radiansToLength`");
+       }
+       exports.radiansToDistance = radiansToDistance;
+       function bearingToAngle() {
+           throw new Error("method has been renamed to `bearingToAzimuth`");
+       }
+       exports.bearingToAngle = bearingToAngle;
+       function convertDistance() {
+           throw new Error("method has been renamed to `convertLength`");
+       }
+       exports.convertDistance = convertDistance;
+       });
+
+       unwrapExports(helpers);
+       var helpers_1 = helpers.earthRadius;
+       var helpers_2 = helpers.factors;
+       var helpers_3 = helpers.unitsFactors;
+       var helpers_4 = helpers.areaFactors;
+       var helpers_5 = helpers.feature;
+       var helpers_6 = helpers.geometry;
+       var helpers_7 = helpers.point;
+       var helpers_8 = helpers.points;
+       var helpers_9 = helpers.polygon;
+       var helpers_10 = helpers.polygons;
+       var helpers_11 = helpers.lineString;
+       var helpers_12 = helpers.lineStrings;
+       var helpers_13 = helpers.featureCollection;
+       var helpers_14 = helpers.multiLineString;
+       var helpers_15 = helpers.multiPoint;
+       var helpers_16 = helpers.multiPolygon;
+       var helpers_17 = helpers.geometryCollection;
+       var helpers_18 = helpers.round;
+       var helpers_19 = helpers.radiansToLength;
+       var helpers_20 = helpers.lengthToRadians;
+       var helpers_21 = helpers.lengthToDegrees;
+       var helpers_22 = helpers.bearingToAzimuth;
+       var helpers_23 = helpers.radiansToDegrees;
+       var helpers_24 = helpers.degreesToRadians;
+       var helpers_25 = helpers.convertLength;
+       var helpers_26 = helpers.convertArea;
+       var helpers_27 = helpers.isNumber;
+       var helpers_28 = helpers.isObject;
+       var helpers_29 = helpers.validateBBox;
+       var helpers_30 = helpers.validateId;
+       var helpers_31 = helpers.radians2degrees;
+       var helpers_32 = helpers.degrees2radians;
+       var helpers_33 = helpers.distanceToDegrees;
+       var helpers_34 = helpers.distanceToRadians;
+       var helpers_35 = helpers.radiansToDistance;
+       var helpers_36 = helpers.bearingToAngle;
+       var helpers_37 = helpers.convertDistance;
+
+       var invariant = createCommonjsModule(function (module, exports) {
+       Object.defineProperty(exports, "__esModule", { value: true });
+
+       /**
+        * Unwrap a coordinate from a Point Feature, Geometry or a single coordinate.
+        *
+        * @name getCoord
+        * @param {Array<number>|Geometry<Point>|Feature<Point>} coord GeoJSON Point or an Array of numbers
+        * @returns {Array<number>} coordinates
+        * @example
+        * var pt = turf.point([10, 10]);
+        *
+        * var coord = turf.getCoord(pt);
+        * //= [10, 10]
+        */
+       function getCoord(coord) {
+           if (!coord) {
+               throw new Error("coord is required");
+           }
+           if (!Array.isArray(coord)) {
+               if (coord.type === "Feature" && coord.geometry !== null && coord.geometry.type === "Point") {
+                   return coord.geometry.coordinates;
+               }
+               if (coord.type === "Point") {
+                   return coord.coordinates;
+               }
+           }
+           if (Array.isArray(coord) && coord.length >= 2 && !Array.isArray(coord[0]) && !Array.isArray(coord[1])) {
+               return coord;
+           }
+           throw new Error("coord must be GeoJSON Point or an Array of numbers");
+       }
+       exports.getCoord = getCoord;
+       /**
+        * Unwrap coordinates from a Feature, Geometry Object or an Array
+        *
+        * @name getCoords
+        * @param {Array<any>|Geometry|Feature} coords Feature, Geometry Object or an Array
+        * @returns {Array<any>} coordinates
+        * @example
+        * var poly = turf.polygon([[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]);
+        *
+        * var coords = turf.getCoords(poly);
+        * //= [[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]
+        */
+       function getCoords(coords) {
+           if (Array.isArray(coords)) {
+               return coords;
+           }
+           // Feature
+           if (coords.type === "Feature") {
+               if (coords.geometry !== null) {
+                   return coords.geometry.coordinates;
+               }
+           }
+           else {
+               // Geometry
+               if (coords.coordinates) {
+                   return coords.coordinates;
+               }
+           }
+           throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array");
+       }
+       exports.getCoords = getCoords;
+       /**
+        * Checks if coordinates contains a number
+        *
+        * @name containsNumber
+        * @param {Array<any>} coordinates GeoJSON Coordinates
+        * @returns {boolean} true if Array contains a number
+        */
+       function containsNumber(coordinates) {
+           if (coordinates.length > 1 && helpers.isNumber(coordinates[0]) && helpers.isNumber(coordinates[1])) {
+               return true;
+           }
+           if (Array.isArray(coordinates[0]) && coordinates[0].length) {
+               return containsNumber(coordinates[0]);
+           }
+           throw new Error("coordinates must only contain numbers");
+       }
+       exports.containsNumber = containsNumber;
+       /**
+        * Enforce expectations about types of GeoJSON objects for Turf.
+        *
+        * @name geojsonType
+        * @param {GeoJSON} value any GeoJSON object
+        * @param {string} type expected GeoJSON type
+        * @param {string} name name of calling function
+        * @throws {Error} if value is not the expected type.
+        */
+       function geojsonType(value, type, name) {
+           if (!type || !name) {
+               throw new Error("type and name required");
+           }
+           if (!value || value.type !== type) {
+               throw new Error("Invalid input to " + name + ": must be a " + type + ", given " + value.type);
+           }
+       }
+       exports.geojsonType = geojsonType;
+       /**
+        * Enforce expectations about types of {@link Feature} inputs for Turf.
+        * Internally this uses {@link geojsonType} to judge geometry types.
+        *
+        * @name featureOf
+        * @param {Feature} feature a feature with an expected geometry type
+        * @param {string} type expected GeoJSON type
+        * @param {string} name name of calling function
+        * @throws {Error} error if value is not the expected type.
+        */
+       function featureOf(feature, type, name) {
+           if (!feature) {
+               throw new Error("No feature passed");
+           }
+           if (!name) {
+               throw new Error(".featureOf() requires a name");
+           }
+           if (!feature || feature.type !== "Feature" || !feature.geometry) {
+               throw new Error("Invalid input to " + name + ", Feature with geometry required");
+           }
+           if (!feature.geometry || feature.geometry.type !== type) {
+               throw new Error("Invalid input to " + name + ": must be a " + type + ", given " + feature.geometry.type);
+           }
+       }
+       exports.featureOf = featureOf;
+       /**
+        * Enforce expectations about types of {@link FeatureCollection} inputs for Turf.
+        * Internally this uses {@link geojsonType} to judge geometry types.
+        *
+        * @name collectionOf
+        * @param {FeatureCollection} featureCollection a FeatureCollection for which features will be judged
+        * @param {string} type expected GeoJSON type
+        * @param {string} name name of calling function
+        * @throws {Error} if value is not the expected type.
+        */
+       function collectionOf(featureCollection, type, name) {
+           if (!featureCollection) {
+               throw new Error("No featureCollection passed");
+           }
+           if (!name) {
+               throw new Error(".collectionOf() requires a name");
+           }
+           if (!featureCollection || featureCollection.type !== "FeatureCollection") {
+               throw new Error("Invalid input to " + name + ", FeatureCollection required");
+           }
+           for (var _i = 0, _a = featureCollection.features; _i < _a.length; _i++) {
+               var feature = _a[_i];
+               if (!feature || feature.type !== "Feature" || !feature.geometry) {
+                   throw new Error("Invalid input to " + name + ", Feature with geometry required");
+               }
+               if (!feature.geometry || feature.geometry.type !== type) {
+                   throw new Error("Invalid input to " + name + ": must be a " + type + ", given " + feature.geometry.type);
+               }
+           }
+       }
+       exports.collectionOf = collectionOf;
+       /**
+        * Get Geometry from Feature or Geometry Object
+        *
+        * @param {Feature|Geometry} geojson GeoJSON Feature or Geometry Object
+        * @returns {Geometry|null} GeoJSON Geometry Object
+        * @throws {Error} if geojson is not a Feature or Geometry Object
+        * @example
+        * var point = {
+        *   "type": "Feature",
+        *   "properties": {},
+        *   "geometry": {
+        *     "type": "Point",
+        *     "coordinates": [110, 40]
+        *   }
+        * }
+        * var geom = turf.getGeom(point)
+        * //={"type": "Point", "coordinates": [110, 40]}
+        */
+       function getGeom(geojson) {
+           if (geojson.type === "Feature") {
+               return geojson.geometry;
+           }
+           return geojson;
+       }
+       exports.getGeom = getGeom;
+       /**
+        * Get GeoJSON object's type, Geometry type is prioritize.
+        *
+        * @param {GeoJSON} geojson GeoJSON object
+        * @param {string} [name="geojson"] name of the variable to display in error message
+        * @returns {string} GeoJSON type
+        * @example
+        * var point = {
+        *   "type": "Feature",
+        *   "properties": {},
+        *   "geometry": {
+        *     "type": "Point",
+        *     "coordinates": [110, 40]
+        *   }
+        * }
+        * var geom = turf.getType(point)
+        * //="Point"
+        */
+       function getType(geojson, name) {
+           if (geojson.type === "FeatureCollection") {
+               return "FeatureCollection";
+           }
+           if (geojson.type === "GeometryCollection") {
+               return "GeometryCollection";
+           }
+           if (geojson.type === "Feature" && geojson.geometry !== null) {
+               return geojson.geometry.type;
+           }
+           return geojson.type;
+       }
+       exports.getType = getType;
+       });
+
+       unwrapExports(invariant);
+       var invariant_1 = invariant.getCoord;
+       var invariant_2 = invariant.getCoords;
+       var invariant_3 = invariant.containsNumber;
+       var invariant_4 = invariant.geojsonType;
+       var invariant_5 = invariant.featureOf;
+       var invariant_6 = invariant.collectionOf;
+       var invariant_7 = invariant.getGeom;
+       var invariant_8 = invariant.getType;
+
+       var lineclip_1$1 = lineclip$1;
+       var default_1$1 = lineclip$1;
+
+       lineclip$1.polyline = lineclip$1;
+       lineclip$1.polygon = polygonclip$1;
+
+
+       // Cohen-Sutherland line clippign algorithm, adapted to efficiently
+       // handle polylines rather than just segments
+
+       function lineclip$1(points, bbox, result) {
+
+           var len = points.length,
+               codeA = bitCode$1(points[0], bbox),
+               part = [],
+               i, a, b, codeB, lastCode;
+
+           if (!result) result = [];
+
+           for (i = 1; i < len; i++) {
+               a = points[i - 1];
+               b = points[i];
+               codeB = lastCode = bitCode$1(b, bbox);
+
+               while (true) {
+
+                   if (!(codeA | codeB)) { // accept
+                       part.push(a);
+
+                       if (codeB !== lastCode) { // segment went outside
+                           part.push(b);
+
+                           if (i < len - 1) { // start a new line
+                               result.push(part);
+                               part = [];
+                           }
+                       } else if (i === len - 1) {
+                           part.push(b);
+                       }
+                       break;
+
+                   } else if (codeA & codeB) { // trivial reject
+                       break;
+
+                   } else if (codeA) { // a outside, intersect with clip edge
+                       a = intersect$2(a, b, codeA, bbox);
+                       codeA = bitCode$1(a, bbox);
+
+                   } else { // b outside
+                       b = intersect$2(a, b, codeB, bbox);
+                       codeB = bitCode$1(b, bbox);
+                   }
+               }
+
+               codeA = lastCode;
+           }
+
+           if (part.length) result.push(part);
+
+           return result;
+       }
+
+       // Sutherland-Hodgeman polygon clipping algorithm
+
+       function polygonclip$1(points, bbox) {
+
+           var result, edge, prev, prevInside, i, p, inside;
+
+           // clip against each side of the clip rectangle
+           for (edge = 1; edge <= 8; edge *= 2) {
+               result = [];
+               prev = points[points.length - 1];
+               prevInside = !(bitCode$1(prev, bbox) & edge);
+
+               for (i = 0; i < points.length; i++) {
+                   p = points[i];
+                   inside = !(bitCode$1(p, bbox) & edge);
+
+                   // if segment goes through the clip window, add an intersection
+                   if (inside !== prevInside) result.push(intersect$2(prev, p, edge, bbox));
+
+                   if (inside) result.push(p); // add a point if it's inside
+
+                   prev = p;
+                   prevInside = inside;
+               }
+
+               points = result;
+
+               if (!points.length) break;
+           }
+
+           return result;
+       }
+
+       // intersect a segment against one of the 4 lines that make up the bbox
+
+       function intersect$2(a, b, edge, bbox) {
+           return edge & 8 ? [a[0] + (b[0] - a[0]) * (bbox[3] - a[1]) / (b[1] - a[1]), bbox[3]] : // top
+                  edge & 4 ? [a[0] + (b[0] - a[0]) * (bbox[1] - a[1]) / (b[1] - a[1]), bbox[1]] : // bottom
+                  edge & 2 ? [bbox[2], a[1] + (b[1] - a[1]) * (bbox[2] - a[0]) / (b[0] - a[0])] : // right
+                  edge & 1 ? [bbox[0], a[1] + (b[1] - a[1]) * (bbox[0] - a[0]) / (b[0] - a[0])] : // left
+                  null;
+       }
+
+       // bit code reflects the point position relative to the bbox:
+
+       //         left  mid  right
+       //    top  1001  1000  1010
+       //    mid  0001  0000  0010
+       // bottom  0101  0100  0110
+
+       function bitCode$1(p, bbox) {
+           var code = 0;
+
+           if (p[0] < bbox[0]) code |= 1; // left
+           else if (p[0] > bbox[2]) code |= 2; // right
+
+           if (p[1] < bbox[1]) code |= 4; // bottom
+           else if (p[1] > bbox[3]) code |= 8; // top
+
+           return code;
+       }
+       lineclip_1$1.default = default_1$1;
+
+       var bboxClip_1 = createCommonjsModule(function (module, exports) {
+       var __importStar = (commonjsGlobal && commonjsGlobal.__importStar) || function (mod) {
+           if (mod && mod.__esModule) return mod;
+           var result = {};
+           if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+           result["default"] = mod;
+           return result;
+       };
+       Object.defineProperty(exports, "__esModule", { value: true });
+
+
+       var lineclip = __importStar(lineclip_1$1);
+       /**
+        * Takes a {@link Feature} and a bbox and clips the feature to the bbox using
+        * [lineclip](https://github.com/mapbox/lineclip).
+        * May result in degenerate edges when clipping Polygons.
+        *
+        * @name bboxClip
+        * @param {Feature<LineString|MultiLineString|Polygon|MultiPolygon>} feature feature to clip to the bbox
+        * @param {BBox} bbox extent in [minX, minY, maxX, maxY] order
+        * @returns {Feature<LineString|MultiLineString|Polygon|MultiPolygon>} clipped Feature
+        * @example
+        * var bbox = [0, 0, 10, 10];
+        * var poly = turf.polygon([[[2, 2], [8, 4], [12, 8], [3, 7], [2, 2]]]);
+        *
+        * var clipped = turf.bboxClip(poly, bbox);
+        *
+        * //addToMap
+        * var addToMap = [bbox, poly, clipped]
+        */
+       function bboxClip(feature, bbox) {
+           var geom = invariant.getGeom(feature);
+           var type = geom.type;
+           var properties = feature.type === "Feature" ? feature.properties : {};
+           var coords = geom.coordinates;
+           switch (type) {
+               case "LineString":
+               case "MultiLineString":
+                   var lines_1 = [];
+                   if (type === "LineString") {
+                       coords = [coords];
+                   }
+                   coords.forEach(function (line) {
+                       lineclip.polyline(line, bbox, lines_1);
+                   });
+                   if (lines_1.length === 1) {
+                       return helpers.lineString(lines_1[0], properties);
+                   }
+                   return helpers.multiLineString(lines_1, properties);
+               case "Polygon":
+                   return helpers.polygon(clipPolygon(coords, bbox), properties);
+               case "MultiPolygon":
+                   return helpers.multiPolygon(coords.map(function (poly) {
+                       return clipPolygon(poly, bbox);
+                   }), properties);
+               default:
+                   throw new Error("geometry " + type + " not supported");
+           }
+       }
+       exports.default = bboxClip;
+       function clipPolygon(rings, bbox) {
+           var outRings = [];
+           for (var _i = 0, rings_1 = rings; _i < rings_1.length; _i++) {
+               var ring = rings_1[_i];
+               var clipped = lineclip.polygon(ring, bbox);
+               if (clipped.length > 0) {
+                   if (clipped[0][0] !== clipped[clipped.length - 1][0] || clipped[0][1] !== clipped[clipped.length - 1][1]) {
+                       clipped.push(clipped[0]);
+                   }
+                   if (clipped.length >= 4) {
+                       outRings.push(clipped);
+                   }
+               }
+           }
+           return outRings;
+       }
+       });
+
+       var turf_bboxClip = unwrapExports(bboxClip_1);
+
+       var fastJsonStableStringify = function (data, opts) {
+           if (!opts) opts = {};
+           if (typeof opts === 'function') opts = { cmp: opts };
+           var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false;
+
+           var cmp = opts.cmp && (function (f) {
+               return function (node) {
+                   return function (a, b) {
+                       var aobj = { key: a, value: node[a] };
+                       var bobj = { key: b, value: node[b] };
+                       return f(aobj, bobj);
+                   };
+               };
+           })(opts.cmp);
+
+           var seen = [];
+           return (function stringify (node) {
+               if (node && node.toJSON && typeof node.toJSON === 'function') {
+                   node = node.toJSON();
+               }
+
+               if (node === undefined) return;
+               if (typeof node == 'number') return isFinite(node) ? '' + node : 'null';
+               if (typeof node !== 'object') return JSON.stringify(node);
+
+               var i, out;
+               if (Array.isArray(node)) {
+                   out = '[';
+                   for (i = 0; i < node.length; i++) {
+                       if (i) out += ',';
+                       out += stringify(node[i]) || 'null';
+                   }
+                   return out + ']';
+               }
+
+               if (node === null) return 'null';
+
+               if (seen.indexOf(node) !== -1) {
+                   if (cycles) return JSON.stringify('__cycle__');
+                   throw new TypeError('Converting circular structure to JSON');
+               }
+
+               var seenIndex = seen.push(node) - 1;
+               var keys = Object.keys(node).sort(cmp && cmp(node));
+               out = '';
+               for (i = 0; i < keys.length; i++) {
+                   var key = keys[i];
+                   var value = stringify(node[key]);
+
+                   if (!value) continue;
+                   if (out) out += ',';
+                   out += JSON.stringify(key) + ':' + value;
+               }
+               seen.splice(seenIndex, 1);
+               return '{' + out + '}';
+           })(data);
+       };
+
+       var martinez_umd = createCommonjsModule(function (module, exports) {
+       /**
+        * martinez v0.5.0
+        * Martinez polygon clipping algorithm, does boolean operation on polygons (multipolygons, polygons with holes etc): intersection, union, difference, xor
+        *
+        * @author Alex Milevski <info@w8r.name>
+        * @license MIT
+        * @preserve
+        */
+
+       (function (global, factory) {
+          factory(exports) ;
+       }(commonjsGlobal, (function (exports) {
+         function DEFAULT_COMPARE (a, b) { return a > b ? 1 : a < b ? -1 : 0; }
+
+         var SplayTree = function SplayTree(compare, noDuplicates) {
+           if ( compare === void 0 ) compare = DEFAULT_COMPARE;
+           if ( noDuplicates === void 0 ) noDuplicates = false;
+
+           this._compare = compare;
+           this._root = null;
+           this._size = 0;
+           this._noDuplicates = !!noDuplicates;
+         };
+
+         var prototypeAccessors = { size: { configurable: true } };
+
+
+         SplayTree.prototype.rotateLeft = function rotateLeft (x) {
+           var y = x.right;
+           if (y) {
+             x.right = y.left;
+             if (y.left) { y.left.parent = x; }
+             y.parent = x.parent;
+           }
+
+           if (!x.parent)              { this._root = y; }
+           else if (x === x.parent.left) { x.parent.left = y; }
+           else                        { x.parent.right = y; }
+           if (y) { y.left = x; }
+           x.parent = y;
+         };
+
+
+         SplayTree.prototype.rotateRight = function rotateRight (x) {
+           var y = x.left;
+           if (y) {
+             x.left = y.right;
+             if (y.right) { y.right.parent = x; }
+             y.parent = x.parent;
+           }
+
+           if (!x.parent)             { this._root = y; }
+           else if(x === x.parent.left) { x.parent.left = y; }
+           else                       { x.parent.right = y; }
+           if (y) { y.right = x; }
+           x.parent = y;
+         };
+
+
+         SplayTree.prototype._splay = function _splay (x) {
+             var this$1 = this;
+
+           while (x.parent) {
+             var p = x.parent;
+             if (!p.parent) {
+               if (p.left === x) { this$1.rotateRight(p); }
+               else            { this$1.rotateLeft(p); }
+             } else if (p.left === x && p.parent.left === p) {
+               this$1.rotateRight(p.parent);
+               this$1.rotateRight(p);
+             } else if (p.right === x && p.parent.right === p) {
+               this$1.rotateLeft(p.parent);
+               this$1.rotateLeft(p);
+             } else if (p.left === x && p.parent.right === p) {
+               this$1.rotateRight(p);
+               this$1.rotateLeft(p);
+             } else {
+               this$1.rotateLeft(p);
+               this$1.rotateRight(p);
+             }
+           }
+         };
+
+
+         SplayTree.prototype.splay = function splay (x) {
+             var this$1 = this;
+
+           var p, gp, ggp, l, r;
+
+           while (x.parent) {
+             p = x.parent;
+             gp = p.parent;
+
+             if (gp && gp.parent) {
+               ggp = gp.parent;
+               if (ggp.left === gp) { ggp.left= x; }
+               else               { ggp.right = x; }
+               x.parent = ggp;
+             } else {
+               x.parent = null;
+               this$1._root = x;
+             }
+
+             l = x.left; r = x.right;
+
+             if (x === p.left) { // left
+               if (gp) {
+                 if (gp.left === p) {
+                   /* zig-zig */
+                   if (p.right) {
+                     gp.left = p.right;
+                     gp.left.parent = gp;
+                   } else { gp.left = null; }
+
+                   p.right = gp;
+                   gp.parent = p;
+                 } else {
+                   /* zig-zag */
+                   if (l) {
+                     gp.right = l;
+                     l.parent = gp;
+                   } else { gp.right = null; }
+
+                   x.left  = gp;
+                   gp.parent = x;
+                 }
+               }
+               if (r) {
+                 p.left = r;
+                 r.parent = p;
+               } else { p.left = null; }
+
+               x.right= p;
+               p.parent = x;
+             } else { // right
+               if (gp) {
+                 if (gp.right === p) {
+                   /* zig-zig */
+                   if (p.left) {
+                     gp.right = p.left;
+                     gp.right.parent = gp;
+                   } else { gp.right = null; }
+
+                   p.left = gp;
+                   gp.parent = p;
+                 } else {
+                   /* zig-zag */
+                   if (r) {
+                     gp.left = r;
+                     r.parent = gp;
+                   } else { gp.left = null; }
+
+                   x.right = gp;
+                   gp.parent = x;
+                 }
+               }
+               if (l) {
+                 p.right = l;
+                 l.parent = p;
+               } else { p.right = null; }
+
+               x.left = p;
+               p.parent = x;
+             }
+           }
+         };
+
+
+         SplayTree.prototype.replace = function replace (u, v) {
+           if (!u.parent) { this._root = v; }
+           else if (u === u.parent.left) { u.parent.left = v; }
+           else { u.parent.right = v; }
+           if (v) { v.parent = u.parent; }
+         };
+
+
+         SplayTree.prototype.minNode = function minNode (u) {
+             if ( u === void 0 ) u = this._root;
+
+           if (u) { while (u.left) { u = u.left; } }
+           return u;
+         };
+
+
+         SplayTree.prototype.maxNode = function maxNode (u) {
+             if ( u === void 0 ) u = this._root;
+
+           if (u) { while (u.right) { u = u.right; } }
+           return u;
+         };
+
+
+         SplayTree.prototype.insert = function insert (key, data) {
+           var z = this._root;
+           var p = null;
+           var comp = this._compare;
+           var cmp;
+
+           if (this._noDuplicates) {
+             while (z) {
+               p = z;
+               cmp = comp(z.key, key);
+               if (cmp === 0) { return; }
+               else if (comp(z.key, key) < 0) { z = z.right; }
+               else { z = z.left; }
+             }
+           } else {
+             while (z) {
+               p = z;
+               if (comp(z.key, key) < 0) { z = z.right; }
+               else { z = z.left; }
+             }
+           }
+
+           z = { key: key, data: data, left: null, right: null, parent: p };
+
+           if (!p)                        { this._root = z; }
+           else if (comp(p.key, z.key) < 0) { p.right = z; }
+           else                           { p.left= z; }
+
+           this.splay(z);
+           this._size++;
+           return z;
+         };
+
+
+         SplayTree.prototype.find = function find (key) {
+           var z  = this._root;
+           var comp = this._compare;
+           while (z) {
+             var cmp = comp(z.key, key);
+             if    (cmp < 0) { z = z.right; }
+             else if (cmp > 0) { z = z.left; }
+             else            { return z; }
+           }
+           return null;
+         };
+
+         /**
+          * Whether the tree contains a node with the given key
+          * @param{Key} key
+          * @return {boolean} true/false
+          */
+         SplayTree.prototype.contains = function contains (key) {
+           var node     = this._root;
+           var comparator = this._compare;
+           while (node){
+             var cmp = comparator(key, node.key);
+             if    (cmp === 0) { return true; }
+             else if (cmp < 0) { node = node.left; }
+             else              { node = node.right; }
+           }
+
+           return false;
+         };
+
+
+         SplayTree.prototype.remove = function remove (key) {
+           var z = this.find(key);
+
+           if (!z) { return false; }
+
+           this.splay(z);
+
+           if (!z.left) { this.replace(z, z.right); }
+           else if (!z.right) { this.replace(z, z.left); }
+           else {
+             var y = this.minNode(z.right);
+             if (y.parent !== z) {
+               this.replace(y, y.right);
+               y.right = z.right;
+               y.right.parent = y;
+             }
+             this.replace(z, y);
+             y.left = z.left;
+             y.left.parent = y;
+           }
+
+           this._size--;
+           return true;
+         };
+
+
+         SplayTree.prototype.removeNode = function removeNode (z) {
+           if (!z) { return false; }
+
+           this.splay(z);
+
+           if (!z.left) { this.replace(z, z.right); }
+           else if (!z.right) { this.replace(z, z.left); }
+           else {
+             var y = this.minNode(z.right);
+             if (y.parent !== z) {
+               this.replace(y, y.right);
+               y.right = z.right;
+               y.right.parent = y;
+             }
+             this.replace(z, y);
+             y.left = z.left;
+             y.left.parent = y;
+           }
+
+           this._size--;
+           return true;
+         };
+
+
+         SplayTree.prototype.erase = function erase (key) {
+           var z = this.find(key);
+           if (!z) { return; }
+
+           this.splay(z);
+
+           var s = z.left;
+           var t = z.right;
+
+           var sMax = null;
+           if (s) {
+             s.parent = null;
+             sMax = this.maxNode(s);
+             this.splay(sMax);
+             this._root = sMax;
+           }
+           if (t) {
+             if (s) { sMax.right = t; }
+             else { this._root = t; }
+             t.parent = sMax;
+           }
+
+           this._size--;
+         };
+
+         /**
+          * Removes and returns the node with smallest key
+          * @return {?Node}
+          */
+         SplayTree.prototype.pop = function pop () {
+           var node = this._root, returnValue = null;
+           if (node) {
+             while (node.left) { node = node.left; }
+             returnValue = { key: node.key, data: node.data };
+             this.remove(node.key);
+           }
+           return returnValue;
+         };
+
+
+         /* eslint-disable class-methods-use-this */
+
+         /**
+          * Successor node
+          * @param{Node} node
+          * @return {?Node}
+          */
+         SplayTree.prototype.next = function next (node) {
+           var successor = node;
+           if (successor) {
+             if (successor.right) {
+               successor = successor.right;
+               while (successor && successor.left) { successor = successor.left; }
+             } else {
+               successor = node.parent;
+               while (successor && successor.right === node) {
+                 node = successor; successor = successor.parent;
+               }
+             }
+           }
+           return successor;
+         };
+
+
+         /**
+          * Predecessor node
+          * @param{Node} node
+          * @return {?Node}
+          */
+         SplayTree.prototype.prev = function prev (node) {
+           var predecessor = node;
+           if (predecessor) {
+             if (predecessor.left) {
+               predecessor = predecessor.left;
+               while (predecessor && predecessor.right) { predecessor = predecessor.right; }
+             } else {
+               predecessor = node.parent;
+               while (predecessor && predecessor.left === node) {
+                 node = predecessor;
+                 predecessor = predecessor.parent;
+               }
+             }
+           }
+           return predecessor;
+         };
+         /* eslint-enable class-methods-use-this */
+
+
+         /**
+          * @param{forEachCallback} callback
+          * @return {SplayTree}
+          */
+         SplayTree.prototype.forEach = function forEach (callback) {
+           var current = this._root;
+           var s = [], done = false, i = 0;
+
+           while (!done) {
+             // Reach the left most Node of the current Node
+             if (current) {
+               // Place pointer to a tree node on the stack
+               // before traversing the node's left subtree
+               s.push(current);
+               current = current.left;
+             } else {
+               // BackTrack from the empty subtree and visit the Node
+               // at the top of the stack; however, if the stack is
+               // empty you are done
+               if (s.length > 0) {
+                 current = s.pop();
+                 callback(current, i++);
+
+                 // We have visited the node and its left
+                 // subtree. Now, it's right subtree's turn
+                 current = current.right;
+               } else { done = true; }
+             }
+           }
+           return this;
+         };
+
+
+         /**
+          * Walk key range from `low` to `high`. Stops if `fn` returns a value.
+          * @param{Key}    low
+          * @param{Key}    high
+          * @param{Function} fn
+          * @param{*?}     ctx
+          * @return {SplayTree}
+          */
+         SplayTree.prototype.range = function range (low, high, fn, ctx) {
+             var this$1 = this;
+
+           var Q = [];
+           var compare = this._compare;
+           var node = this._root, cmp;
+
+           while (Q.length !== 0 || node) {
+             if (node) {
+               Q.push(node);
+               node = node.left;
+             } else {
+               node = Q.pop();
+               cmp = compare(node.key, high);
+               if (cmp > 0) {
+                 break;
+               } else if (compare(node.key, low) >= 0) {
+                 if (fn.call(ctx, node)) { return this$1; } // stop if smth is returned
+               }
+               node = node.right;
+             }
+           }
+           return this;
+         };
+
+         /**
+          * Returns all keys in order
+          * @return {Array<Key>}
+          */
+         SplayTree.prototype.keys = function keys () {
+           var current = this._root;
+           var s = [], r = [], done = false;
+
+           while (!done) {
+             if (current) {
+               s.push(current);
+               current = current.left;
+             } else {
+               if (s.length > 0) {
+                 current = s.pop();
+                 r.push(current.key);
+                 current = current.right;
+               } else { done = true; }
+             }
+           }
+           return r;
+         };
+
+
+         /**
+          * Returns `data` fields of all nodes in order.
+          * @return {Array<Value>}
+          */
+         SplayTree.prototype.values = function values () {
+           var current = this._root;
+           var s = [], r = [], done = false;
+
+           while (!done) {
+             if (current) {
+               s.push(current);
+               current = current.left;
+             } else {
+               if (s.length > 0) {
+                 current = s.pop();
+                 r.push(current.data);
+                 current = current.right;
+               } else { done = true; }
+             }
+           }
+           return r;
+         };
+
+
+         /**
+          * Returns node at given index
+          * @param{number} index
+          * @return {?Node}
+          */
+         SplayTree.prototype.at = function at (index) {
+           // removed after a consideration, more misleading than useful
+           // index = index % this.size;
+           // if (index < 0) index = this.size - index;
+
+           var current = this._root;
+           var s = [], done = false, i = 0;
+
+           while (!done) {
+             if (current) {
+               s.push(current);
+               current = current.left;
+             } else {
+               if (s.length > 0) {
+                 current = s.pop();
+                 if (i === index) { return current; }
+                 i++;
+                 current = current.right;
+               } else { done = true; }
+             }
+           }
+           return null;
+         };
+
+         /**
+          * Bulk-load items. Both array have to be same size
+          * @param{Array<Key>}  keys
+          * @param{Array<Value>}[values]
+          * @param{Boolean}     [presort=false] Pre-sort keys and values, using
+          *                                       tree's comparator. Sorting is done
+          *                                       in-place
+          * @return {AVLTree}
+          */
+         SplayTree.prototype.load = function load (keys, values, presort) {
+             if ( keys === void 0 ) keys = [];
+             if ( values === void 0 ) values = [];
+             if ( presort === void 0 ) presort = false;
+
+           if (this._size !== 0) { throw new Error('bulk-load: tree is not empty'); }
+           var size = keys.length;
+           if (presort) { sort(keys, values, 0, size - 1, this._compare); }
+           this._root = loadRecursive(null, keys, values, 0, size);
+           this._size = size;
+           return this;
+         };
+
+
+         SplayTree.prototype.min = function min () {
+           var node = this.minNode(this._root);
+           if (node) { return node.key; }
+           else    { return null; }
+         };
+
+
+         SplayTree.prototype.max = function max () {
+           var node = this.maxNode(this._root);
+           if (node) { return node.key; }
+           else    { return null; }
+         };
+
+         SplayTree.prototype.isEmpty = function isEmpty () { return this._root === null; };
+         prototypeAccessors.size.get = function () { return this._size; };
+
+
+         /**
+          * Create a tree and load it with items
+          * @param{Array<Key>}        keys
+          * @param{Array<Value>?}      [values]
+
+          * @param{Function?}          [comparator]
+          * @param{Boolean?}           [presort=false] Pre-sort keys and values, using
+          *                                             tree's comparator. Sorting is done
+          *                                             in-place
+          * @param{Boolean?}           [noDuplicates=false] Allow duplicates
+          * @return {SplayTree}
+          */
+         SplayTree.createTree = function createTree (keys, values, comparator, presort, noDuplicates) {
+           return new SplayTree(comparator, noDuplicates).load(keys, values, presort);
+         };
+
+         Object.defineProperties( SplayTree.prototype, prototypeAccessors );
+
+
+         function loadRecursive (parent, keys, values, start, end) {
+           var size = end - start;
+           if (size > 0) {
+             var middle = start + Math.floor(size / 2);
+             var key    = keys[middle];
+             var data   = values[middle];
+             var node   = { key: key, data: data, parent: parent };
+             node.left    = loadRecursive(node, keys, values, start, middle);
+             node.right   = loadRecursive(node, keys, values, middle + 1, end);
+             return node;
+           }
+           return null;
+         }
+
+
+         function sort(keys, values, left, right, compare) {
+           if (left >= right) { return; }
+
+           var pivot = keys[(left + right) >> 1];
+           var i = left - 1;
+           var j = right + 1;
+
+           while (true) {
+             do { i++; } while (compare(keys[i], pivot) < 0);
+             do { j--; } while (compare(keys[j], pivot) > 0);
+             if (i >= j) { break; }
+
+             var tmp = keys[i];
+             keys[i] = keys[j];
+             keys[j] = tmp;
+
+             tmp = values[i];
+             values[i] = values[j];
+             values[j] = tmp;
+           }
+
+           sort(keys, values,  left,     j, compare);
+           sort(keys, values, j + 1, right, compare);
+         }
+
+         var NORMAL               = 0;
+         var NON_CONTRIBUTING     = 1;
+         var SAME_TRANSITION      = 2;
+         var DIFFERENT_TRANSITION = 3;
+
+         var INTERSECTION = 0;
+         var UNION        = 1;
+         var DIFFERENCE   = 2;
+         var XOR          = 3;
+
+         /**
+          * @param  {SweepEvent} event
+          * @param  {SweepEvent} prev
+          * @param  {Operation} operation
+          */
+         function computeFields (event, prev, operation) {
+           // compute inOut and otherInOut fields
+           if (prev === null) {
+             event.inOut      = false;
+             event.otherInOut = true;
+
+           // previous line segment in sweepline belongs to the same polygon
+           } else {
+             if (event.isSubject === prev.isSubject) {
+               event.inOut      = !prev.inOut;
+               event.otherInOut = prev.otherInOut;
+
+             // previous line segment in sweepline belongs to the clipping polygon
+             } else {
+               event.inOut      = !prev.otherInOut;
+               event.otherInOut = prev.isVertical() ? !prev.inOut : prev.inOut;
+             }
+
+             // compute prevInResult field
+             if (prev) {
+               event.prevInResult = (!inResult(prev, operation) || prev.isVertical())
+                 ? prev.prevInResult : prev;
+             }
+           }
+
+           // check if the line segment belongs to the Boolean operation
+           event.inResult = inResult(event, operation);
+         }
+
+
+         /* eslint-disable indent */
+         function inResult(event, operation) {
+           switch (event.type) {
+             case NORMAL:
+               switch (operation) {
+                 case INTERSECTION:
+                   return !event.otherInOut;
+                 case UNION:
+                   return event.otherInOut;
+                 case DIFFERENCE:
+                   // return (event.isSubject && !event.otherInOut) ||
+                   //         (!event.isSubject && event.otherInOut);
+                   return (event.isSubject && event.otherInOut) ||
+                           (!event.isSubject && !event.otherInOut);
+                 case XOR:
+                   return true;
+               }
+               break;
+             case SAME_TRANSITION:
+               return operation === INTERSECTION || operation === UNION;
+             case DIFFERENT_TRANSITION:
+               return operation === DIFFERENCE;
+             case NON_CONTRIBUTING:
+               return false;
+           }
+           return false;
+         }
+         /* eslint-enable indent */
+
+         var SweepEvent = function SweepEvent (point, left, otherEvent, isSubject, edgeType) {
+
+           /**
+            * Is left endpoint?
+            * @type {Boolean}
+            */
+           this.left = left;
+
+           /**
+            * @type {Array.<Number>}
+            */
+           this.point = point;
+
+           /**
+            * Other edge reference
+            * @type {SweepEvent}
+            */
+           this.otherEvent = otherEvent;
+
+           /**
+            * Belongs to source or clipping polygon
+            * @type {Boolean}
+            */
+           this.isSubject = isSubject;
+
+           /**
+            * Edge contribution type
+            * @type {Number}
+            */
+           this.type = edgeType || NORMAL;
+
+
+           /**
+            * In-out transition for the sweepline crossing polygon
+            * @type {Boolean}
+            */
+           this.inOut = false;
+
+
+           /**
+            * @type {Boolean}
+            */
+           this.otherInOut = false;
+
+           /**
+            * Previous event in result?
+            * @type {SweepEvent}
+            */
+           this.prevInResult = null;
+
+           /**
+            * Does event belong to result?
+            * @type {Boolean}
+            */
+           this.inResult = false;
+
+
+           // connection step
+
+           /**
+            * @type {Boolean}
+            */
+           this.resultInOut = false;
+
+           this.isExteriorRing = true;
+         };
+
+
+         /**
+          * @param{Array.<Number>}p
+          * @return {Boolean}
+          */
+         SweepEvent.prototype.isBelow = function isBelow (p) {
+           var p0 = this.point, p1 = this.otherEvent.point;
+           return this.left
+             ? (p0[0] - p[0]) * (p1[1] - p[1]) - (p1[0] - p[0]) * (p0[1] - p[1]) > 0
+             // signedArea(this.point, this.otherEvent.point, p) > 0 :
+             : (p1[0] - p[0]) * (p0[1] - p[1]) - (p0[0] - p[0]) * (p1[1] - p[1]) > 0;
+             //signedArea(this.otherEvent.point, this.point, p) > 0;
+         };
+
+
+         /**
+          * @param{Array.<Number>}p
+          * @return {Boolean}
+          */
+         SweepEvent.prototype.isAbove = function isAbove (p) {
+           return !this.isBelow(p);
+         };
+
+
+         /**
+          * @return {Boolean}
+          */
+         SweepEvent.prototype.isVertical = function isVertical () {
+           return this.point[0] === this.otherEvent.point[0];
+         };
+
+
+         SweepEvent.prototype.clone = function clone () {
+           var copy = new SweepEvent(
+             this.point, this.left, this.otherEvent, this.isSubject, this.type);
+
+           copy.inResult     = this.inResult;
+           copy.prevInResult = this.prevInResult;
+           copy.isExteriorRing = this.isExteriorRing;
+           copy.inOut        = this.inOut;
+           copy.otherInOut   = this.otherInOut;
+
+           return copy;
+         };
+
+         function equals(p1, p2) {
+           if (p1[0] === p2[0]) {
+             if (p1[1] === p2[1]) {
+               return true;
+             } else {
+               return false;
+             }
+           }
+           return false;
+         }
+
+         // const EPSILON = 1e-9;
+         // const abs = Math.abs;
+         // TODO https://github.com/w8r/martinez/issues/6#issuecomment-262847164
+         // Precision problem.
+         //
+         // module.exports = function equals(p1, p2) {
+         //   return abs(p1[0] - p2[0]) <= EPSILON && abs(p1[1] - p2[1]) <= EPSILON;
+         // };
+
+         /**
+          * Signed area of the triangle (p0, p1, p2)
+          * @param  {Array.<Number>} p0
+          * @param  {Array.<Number>} p1
+          * @param  {Array.<Number>} p2
+          * @return {Number}
+          */
+         function signedArea(p0, p1, p2) {
+           return (p0[0] - p2[0]) * (p1[1] - p2[1]) - (p1[0] - p2[0]) * (p0[1] - p2[1]);
+         }
+
+         /**
+          * @param  {SweepEvent} e1
+          * @param  {SweepEvent} e2
+          * @return {Number}
+          */
+         function compareEvents(e1, e2) {
+           var p1 = e1.point;
+           var p2 = e2.point;
+
+           // Different x-coordinate
+           if (p1[0] > p2[0]) { return 1; }
+           if (p1[0] < p2[0]) { return -1; }
+
+           // Different points, but same x-coordinate
+           // Event with lower y-coordinate is processed first
+           if (p1[1] !== p2[1]) { return p1[1] > p2[1] ? 1 : -1; }
+
+           return specialCases(e1, e2, p1);
+         }
+
+
+         /* eslint-disable no-unused-vars */
+         function specialCases(e1, e2, p1, p2) {
+           // Same coordinates, but one is a left endpoint and the other is
+           // a right endpoint. The right endpoint is processed first
+           if (e1.left !== e2.left)
+             { return e1.left ? 1 : -1; }
+
+           // const p2 = e1.otherEvent.point, p3 = e2.otherEvent.point;
+           // const sa = (p1[0] - p3[0]) * (p2[1] - p3[1]) - (p2[0] - p3[0]) * (p1[1] - p3[1])
+           // Same coordinates, both events
+           // are left endpoints or right endpoints.
+           // not collinear
+           if (signedArea(p1, e1.otherEvent.point, e2.otherEvent.point) !== 0) {
+             // the event associate to the bottom segment is processed first
+             return (!e1.isBelow(e2.otherEvent.point)) ? 1 : -1;
+           }
+
+           return (!e1.isSubject && e2.isSubject) ? 1 : -1;
+         }
+         /* eslint-enable no-unused-vars */
+
+         /**
+          * @param  {SweepEvent} se
+          * @param  {Array.<Number>} p
+          * @param  {Queue} queue
+          * @return {Queue}
+          */
+         function divideSegment(se, p, queue)  {
+           var r = new SweepEvent(p, false, se,            se.isSubject);
+           var l = new SweepEvent(p, true,  se.otherEvent, se.isSubject);
+
+           /* eslint-disable no-console */
+           if (equals(se.point, se.otherEvent.point)) {
+
+             console.warn('what is that, a collapsed segment?', se);
+           }
+           /* eslint-enable no-console */
+
+           r.contourId = l.contourId = se.contourId;
+
+           // avoid a rounding error. The left event would be processed after the right event
+           if (compareEvents(l, se.otherEvent) > 0) {
+             se.otherEvent.left = true;
+             l.left = false;
+           }
+
+           // avoid a rounding error. The left event would be processed after the right event
+           // if (compareEvents(se, r) > 0) {}
+
+           se.otherEvent.otherEvent = l;
+           se.otherEvent = r;
+
+           queue.push(l);
+           queue.push(r);
+
+           return queue;
+         }
+
+         //const EPS = 1e-9;
+
+         /**
+          * Finds the magnitude of the cross product of two vectors (if we pretend
+          * they're in three dimensions)
+          *
+          * @param {Object} a First vector
+          * @param {Object} b Second vector
+          * @private
+          * @returns {Number} The magnitude of the cross product
+          */
+         function crossProduct(a, b) {
+           return (a[0] * b[1]) - (a[1] * b[0]);
+         }
+
+         /**
+          * Finds the dot product of two vectors.
+          *
+          * @param {Object} a First vector
+          * @param {Object} b Second vector
+          * @private
+          * @returns {Number} The dot product
+          */
+         function dotProduct(a, b) {
+           return (a[0] * b[0]) + (a[1] * b[1]);
+         }
+
+         /**
+          * Finds the intersection (if any) between two line segments a and b, given the
+          * line segments' end points a1, a2 and b1, b2.
+          *
+          * This algorithm is based on Schneider and Eberly.
+          * http://www.cimec.org.ar/~ncalvo/Schneider_Eberly.pdf
+          * Page 244.
+          *
+          * @param {Array.<Number>} a1 point of first line
+          * @param {Array.<Number>} a2 point of first line
+          * @param {Array.<Number>} b1 point of second line
+          * @param {Array.<Number>} b2 point of second line
+          * @param {Boolean=}       noEndpointTouch whether to skip single touchpoints
+          *                                         (meaning connected segments) as
+          *                                         intersections
+          * @returns {Array.<Array.<Number>>|Null} If the lines intersect, the point of
+          * intersection. If they overlap, the two end points of the overlapping segment.
+          * Otherwise, null.
+          */
+         function intersection (a1, a2, b1, b2, noEndpointTouch) {
+           // The algorithm expects our lines in the form P + sd, where P is a point,
+           // s is on the interval [0, 1], and d is a vector.
+           // We are passed two points. P can be the first point of each pair. The
+           // vector, then, could be thought of as the distance (in x and y components)
+           // from the first point to the second point.
+           // So first, let's make our vectors:
+           var va = [a2[0] - a1[0], a2[1] - a1[1]];
+           var vb = [b2[0] - b1[0], b2[1] - b1[1]];
+           // We also define a function to convert back to regular point form:
+
+           /* eslint-disable arrow-body-style */
+
+           function toPoint(p, s, d) {
+             return [
+               p[0] + s * d[0],
+               p[1] + s * d[1]
+             ];
+           }
+
+           /* eslint-enable arrow-body-style */
+
+           // The rest is pretty much a straight port of the algorithm.
+           var e = [b1[0] - a1[0], b1[1] - a1[1]];
+           var kross    = crossProduct(va, vb);
+           var sqrKross = kross * kross;
+           var sqrLenA  = dotProduct(va, va);
+           //const sqrLenB  = dotProduct(vb, vb);
+
+           // Check for line intersection. This works because of the properties of the
+           // cross product -- specifically, two vectors are parallel if and only if the
+           // cross product is the 0 vector. The full calculation involves relative error
+           // to account for possible very small line segments. See Schneider & Eberly
+           // for details.
+           if (sqrKross > 0/* EPS * sqrLenB * sqLenA */) {
+             // If they're not parallel, then (because these are line segments) they
+             // still might not actually intersect. This code checks that the
+             // intersection point of the lines is actually on both line segments.
+             var s = crossProduct(e, vb) / kross;
+             if (s < 0 || s > 1) {
+               // not on line segment a
+               return null;
+             }
+             var t = crossProduct(e, va) / kross;
+             if (t < 0 || t > 1) {
+               // not on line segment b
+               return null;
+             }
+             if (s === 0 || s === 1) {
+               // on an endpoint of line segment a
+               return noEndpointTouch ? null : [toPoint(a1, s, va)];
+             }
+             if (t === 0 || t === 1) {
+               // on an endpoint of line segment b
+               return noEndpointTouch ? null : [toPoint(b1, t, vb)];
+             }
+             return [toPoint(a1, s, va)];
+           }
+
+           // If we've reached this point, then the lines are either parallel or the
+           // same, but the segments could overlap partially or fully, or not at all.
+           // So we need to find the overlap, if any. To do that, we can use e, which is
+           // the (vector) difference between the two initial points. If this is parallel
+           // with the line itself, then the two lines are the same line, and there will
+           // be overlap.
+           //const sqrLenE = dotProduct(e, e);
+           kross = crossProduct(e, va);
+           sqrKross = kross * kross;
+
+           if (sqrKross > 0 /* EPS * sqLenB * sqLenE */) {
+           // Lines are just parallel, not the same. No overlap.
+             return null;
+           }
+
+           var sa = dotProduct(va, e) / sqrLenA;
+           var sb = sa + dotProduct(va, vb) / sqrLenA;
+           var smin = Math.min(sa, sb);
+           var smax = Math.max(sa, sb);
+
+           // this is, essentially, the FindIntersection acting on floats from
+           // Schneider & Eberly, just inlined into this function.
+           if (smin <= 1 && smax >= 0) {
+
+             // overlap on an end point
+             if (smin === 1) {
+               return noEndpointTouch ? null : [toPoint(a1, smin > 0 ? smin : 0, va)];
+             }
+
+             if (smax === 0) {
+               return noEndpointTouch ? null : [toPoint(a1, smax < 1 ? smax : 1, va)];
+             }
+
+             if (noEndpointTouch && smin === 0 && smax === 1) { return null; }
+
+             // There's overlap on a segment -- two points of intersection. Return both.
+             return [
+               toPoint(a1, smin > 0 ? smin : 0, va),
+               toPoint(a1, smax < 1 ? smax : 1, va)
+             ];
+           }
+
+           return null;
+         }
+
+         /**
+          * @param  {SweepEvent} se1
+          * @param  {SweepEvent} se2
+          * @param  {Queue}      queue
+          * @return {Number}
+          */
+         function possibleIntersection (se1, se2, queue) {
+           // that disallows self-intersecting polygons,
+           // did cost us half a day, so I'll leave it
+           // out of respect
+           // if (se1.isSubject === se2.isSubject) return;
+           var inter = intersection(
+             se1.point, se1.otherEvent.point,
+             se2.point, se2.otherEvent.point
+           );
+
+           var nintersections = inter ? inter.length : 0;
+           if (nintersections === 0) { return 0; } // no intersection
+
+           // the line segments intersect at an endpoint of both line segments
+           if ((nintersections === 1) &&
+               (equals(se1.point, se2.point) ||
+                equals(se1.otherEvent.point, se2.otherEvent.point))) {
+             return 0;
+           }
+
+           if (nintersections === 2 && se1.isSubject === se2.isSubject) {
+             // if(se1.contourId === se2.contourId){
+             // console.warn('Edges of the same polygon overlap',
+             //   se1.point, se1.otherEvent.point, se2.point, se2.otherEvent.point);
+             // }
+             //throw new Error('Edges of the same polygon overlap');
+             return 0;
+           }
+
+           // The line segments associated to se1 and se2 intersect
+           if (nintersections === 1) {
+
+             // if the intersection point is not an endpoint of se1
+             if (!equals(se1.point, inter[0]) && !equals(se1.otherEvent.point, inter[0])) {
+               divideSegment(se1, inter[0], queue);
+             }
+
+             // if the intersection point is not an endpoint of se2
+             if (!equals(se2.point, inter[0]) && !equals(se2.otherEvent.point, inter[0])) {
+               divideSegment(se2, inter[0], queue);
+             }
+             return 1;
+           }
+
+           // The line segments associated to se1 and se2 overlap
+           var events        = [];
+           var leftCoincide  = false;
+           var rightCoincide = false;
+
+           if (equals(se1.point, se2.point)) {
+             leftCoincide = true; // linked
+           } else if (compareEvents(se1, se2) === 1) {
+             events.push(se2, se1);
+           } else {
+             events.push(se1, se2);
+           }
+
+           if (equals(se1.otherEvent.point, se2.otherEvent.point)) {
+             rightCoincide = true;
+           } else if (compareEvents(se1.otherEvent, se2.otherEvent) === 1) {
+             events.push(se2.otherEvent, se1.otherEvent);
+           } else {
+             events.push(se1.otherEvent, se2.otherEvent);
+           }
+
+           if ((leftCoincide && rightCoincide) || leftCoincide) {
+             // both line segments are equal or share the left endpoint
+             se2.type = NON_CONTRIBUTING;
+             se1.type = (se2.inOut === se1.inOut)
+               ? SAME_TRANSITION : DIFFERENT_TRANSITION;
+
+             if (leftCoincide && !rightCoincide) {
+               // honestly no idea, but changing events selection from [2, 1]
+               // to [0, 1] fixes the overlapping self-intersecting polygons issue
+               divideSegment(events[1].otherEvent, events[0].point, queue);
+             }
+             return 2;
+           }
+
+           // the line segments share the right endpoint
+           if (rightCoincide) {
+             divideSegment(events[0], events[1].point, queue);
+             return 3;
+           }
+
+           // no line segment includes totally the other one
+           if (events[0] !== events[3].otherEvent) {
+             divideSegment(events[0], events[1].point, queue);
+             divideSegment(events[1], events[2].point, queue);
+             return 3;
+           }
+
+           // one line segment includes the other one
+           divideSegment(events[0], events[1].point, queue);
+           divideSegment(events[3].otherEvent, events[2].point, queue);
+
+           return 3;
+         }
+
+         /**
+          * @param  {SweepEvent} le1
+          * @param  {SweepEvent} le2
+          * @return {Number}
+          */
+         function compareSegments(le1, le2) {
+           if (le1 === le2) { return 0; }
+
+           // Segments are not collinear
+           if (signedArea(le1.point, le1.otherEvent.point, le2.point) !== 0 ||
+             signedArea(le1.point, le1.otherEvent.point, le2.otherEvent.point) !== 0) {
+
+             // If they share their left endpoint use the right endpoint to sort
+             if (equals(le1.point, le2.point)) { return le1.isBelow(le2.otherEvent.point) ? -1 : 1; }
+
+             // Different left endpoint: use the left endpoint to sort
+             if (le1.point[0] === le2.point[0]) { return le1.point[1] < le2.point[1] ? -1 : 1; }
+
+             // has the line segment associated to e1 been inserted
+             // into S after the line segment associated to e2 ?
+             if (compareEvents(le1, le2) === 1) { return le2.isAbove(le1.point) ? -1 : 1; }
+
+             // The line segment associated to e2 has been inserted
+             // into S after the line segment associated to e1
+             return le1.isBelow(le2.point) ? -1 : 1;
+           }
+
+           if (le1.isSubject === le2.isSubject) { // same polygon
+             var p1 = le1.point, p2 = le2.point;
+             if (p1[0] === p2[0] && p1[1] === p2[1]/*equals(le1.point, le2.point)*/) {
+               p1 = le1.otherEvent.point; p2 = le2.otherEvent.point;
+               if (p1[0] === p2[0] && p1[1] === p2[1]) { return 0; }
+               else { return le1.contourId > le2.contourId ? 1 : -1; }
+             }
+           } else { // Segments are collinear, but belong to separate polygons
+             return le1.isSubject ? -1 : 1;
+           }
+
+           return compareEvents(le1, le2) === 1 ? 1 : -1;
+         }
+
+         function subdivide(eventQueue, subject, clipping, sbbox, cbbox, operation) {
+           var sweepLine = new SplayTree(compareSegments);
+           var sortedEvents = [];
+
+           var rightbound = Math.min(sbbox[2], cbbox[2]);
+
+           var prev, next, begin;
+
+           while (eventQueue.length !== 0) {
+             var event = eventQueue.pop();
+             sortedEvents.push(event);
+
+             // optimization by bboxes for intersection and difference goes here
+             if ((operation === INTERSECTION && event.point[0] > rightbound) ||
+                 (operation === DIFFERENCE   && event.point[0] > sbbox[2])) {
+               break;
+             }
+
+             if (event.left) {
+               next  = prev = sweepLine.insert(event);
+               begin = sweepLine.minNode();
+
+               if (prev !== begin) { prev = sweepLine.prev(prev); }
+               else                { prev = null; }
+
+               next = sweepLine.next(next);
+
+               var prevEvent = prev ? prev.key : null;
+               var prevprevEvent = (void 0);
+               computeFields(event, prevEvent, operation);
+               if (next) {
+                 if (possibleIntersection(event, next.key, eventQueue) === 2) {
+                   computeFields(event, prevEvent, operation);
+                   computeFields(event, next.key, operation);
+                 }
+               }
+
+               if (prev) {
+                 if (possibleIntersection(prev.key, event, eventQueue) === 2) {
+                   var prevprev = prev;
+                   if (prevprev !== begin) { prevprev = sweepLine.prev(prevprev); }
+                   else                    { prevprev = null; }
+
+                   prevprevEvent = prevprev ? prevprev.key : null;
+                   computeFields(prevEvent, prevprevEvent, operation);
+                   computeFields(event,     prevEvent,     operation);
+                 }
+               }
+             } else {
+               event = event.otherEvent;
+               next = prev = sweepLine.find(event);
+
+               if (prev && next) {
+
+                 if (prev !== begin) { prev = sweepLine.prev(prev); }
+                 else                { prev = null; }
+
+                 next = sweepLine.next(next);
+                 sweepLine.remove(event);
+
+                 if (next && prev) {
+                   possibleIntersection(prev.key, next.key, eventQueue);
+                 }
+               }
+             }
+           }
+           return sortedEvents;
+         }
+
+         /**
+          * @param  {Array.<SweepEvent>} sortedEvents
+          * @return {Array.<SweepEvent>}
+          */
+         function orderEvents(sortedEvents) {
+           var event, i, len, tmp;
+           var resultEvents = [];
+           for (i = 0, len = sortedEvents.length; i < len; i++) {
+             event = sortedEvents[i];
+             if ((event.left && event.inResult) ||
+               (!event.left && event.otherEvent.inResult)) {
+               resultEvents.push(event);
+             }
+           }
+           // Due to overlapping edges the resultEvents array can be not wholly sorted
+           var sorted = false;
+           while (!sorted) {
+             sorted = true;
+             for (i = 0, len = resultEvents.length; i < len; i++) {
+               if ((i + 1) < len &&
+                 compareEvents(resultEvents[i], resultEvents[i + 1]) === 1) {
+                 tmp = resultEvents[i];
+                 resultEvents[i] = resultEvents[i + 1];
+                 resultEvents[i + 1] = tmp;
+                 sorted = false;
+               }
+             }
+           }
+
+
+           for (i = 0, len = resultEvents.length; i < len; i++) {
+             event = resultEvents[i];
+             event.pos = i;
+           }
+
+           // imagine, the right event is found in the beginning of the queue,
+           // when his left counterpart is not marked yet
+           for (i = 0, len = resultEvents.length; i < len; i++) {
+             event = resultEvents[i];
+             if (!event.left) {
+               tmp = event.pos;
+               event.pos = event.otherEvent.pos;
+               event.otherEvent.pos = tmp;
+             }
+           }
+
+           return resultEvents;
+         }
+
+
+         /**
+          * @param  {Number} pos
+          * @param  {Array.<SweepEvent>} resultEvents
+          * @param  {Object>}    processed
+          * @return {Number}
+          */
+         function nextPos(pos, resultEvents, processed, origIndex) {
+           var p, p1;
+           var newPos = pos + 1;
+           var length = resultEvents.length;
+
+           p  = resultEvents[pos].point;
+
+           if (newPos < length)
+             { p1 = resultEvents[newPos].point; }
+
+
+           // while in range and not the current one by value
+           while (newPos < length && p1[0] === p[0] && p1[1] === p[1]) {
+             if (!processed[newPos]) {
+               return newPos;
+             } else   {
+               newPos++;
+             }
+             p1 = resultEvents[newPos].point;
+           }
+
+           newPos = pos - 1;
+
+           while (processed[newPos] && newPos >= origIndex) {
+             newPos--;
+           }
+           return newPos;
+         }
+
+
+         /**
+          * @param  {Array.<SweepEvent>} sortedEvents
+          * @return {Array.<*>} polygons
+          */
+         function connectEdges(sortedEvents, operation) {
+           var i, len;
+           var resultEvents = orderEvents(sortedEvents);
+
+           // "false"-filled array
+           var processed = {};
+           var result = [];
+           var event;
+
+           for (i = 0, len = resultEvents.length; i < len; i++) {
+             if (processed[i]) { continue; }
+             var contour = [[]];
+
+             if (!resultEvents[i].isExteriorRing) {
+               if (operation === DIFFERENCE && !resultEvents[i].isSubject && result.length === 0) {
+                 result.push(contour);
+               } else if (result.length === 0) {
+                 result.push([[contour]]);
+               } else {
+                 result[result.length - 1].push(contour[0]);
+               }
+             } else if (operation === DIFFERENCE && !resultEvents[i].isSubject && result.length > 1) {
+               result[result.length - 1].push(contour[0]);
+             } else {
+               result.push(contour);
+             }
+
+             var ringId = result.length - 1;
+             var pos = i;
+
+             var initial = resultEvents[i].point;
+             contour[0].push(initial);
+
+             while (pos >= i) {
+               event = resultEvents[pos];
+               processed[pos] = true;
+
+               if (event.left) {
+                 event.resultInOut = false;
+                 event.contourId   = ringId;
+               } else {
+                 event.otherEvent.resultInOut = true;
+                 event.otherEvent.contourId   = ringId;
+               }
+
+               pos = event.pos;
+               processed[pos] = true;
+               contour[0].push(resultEvents[pos].point);
+               pos = nextPos(pos, resultEvents, processed, i);
+             }
+
+             pos = pos === -1 ? i : pos;
+
+             event = resultEvents[pos];
+             processed[pos] = processed[event.pos] = true;
+             event.otherEvent.resultInOut = true;
+             event.otherEvent.contourId   = ringId;
+           }
+
+           // Handle if the result is a polygon (eg not multipoly)
+           // Commented it again, let's see what do we mean by that
+           // if (result.length === 1) result = result[0];
+           return result;
+         }
+
+         var tinyqueue = TinyQueue;
+         var default_1 = TinyQueue;
+
+         function TinyQueue(data, compare) {
+             var this$1 = this;
+
+             if (!(this instanceof TinyQueue)) { return new TinyQueue(data, compare); }
+
+             this.data = data || [];
+             this.length = this.data.length;
+             this.compare = compare || defaultCompare;
+
+             if (this.length > 0) {
+                 for (var i = (this.length >> 1) - 1; i >= 0; i--) { this$1._down(i); }
+             }
+         }
+
+         function defaultCompare(a, b) {
+             return a < b ? -1 : a > b ? 1 : 0;
+         }
+
+         TinyQueue.prototype = {
+
+             push: function (item) {
+                 this.data.push(item);
+                 this.length++;
+                 this._up(this.length - 1);
+             },
+
+             pop: function () {
+                 if (this.length === 0) { return undefined; }
+
+                 var top = this.data[0];
+                 this.length--;
+
+                 if (this.length > 0) {
+                     this.data[0] = this.data[this.length];
+                     this._down(0);
+                 }
+                 this.data.pop();
+
+                 return top;
+             },
+
+             peek: function () {
+                 return this.data[0];
+             },
+
+             _up: function (pos) {
+                 var data = this.data;
+                 var compare = this.compare;
+                 var item = data[pos];
+
+                 while (pos > 0) {
+                     var parent = (pos - 1) >> 1;
+                     var current = data[parent];
+                     if (compare(item, current) >= 0) { break; }
+                     data[pos] = current;
+                     pos = parent;
+                 }
+
+                 data[pos] = item;
+             },
+
+             _down: function (pos) {
+                 var this$1 = this;
+
+                 var data = this.data;
+                 var compare = this.compare;
+                 var halfLength = this.length >> 1;
+                 var item = data[pos];
+
+                 while (pos < halfLength) {
+                     var left = (pos << 1) + 1;
+                     var right = left + 1;
+                     var best = data[left];
+
+                     if (right < this$1.length && compare(data[right], best) < 0) {
+                         left = right;
+                         best = data[right];
+                     }
+                     if (compare(best, item) >= 0) { break; }
+
+                     data[pos] = best;
+                     pos = left;
+                 }
+
+                 data[pos] = item;
+             }
+         };
+         tinyqueue.default = default_1;
+
+         var max = Math.max;
+         var min = Math.min;
+
+         var contourId = 0;
+
+
+         function processPolygon(contourOrHole, isSubject, depth, Q, bbox, isExteriorRing) {
+           var i, len, s1, s2, e1, e2;
+           for (i = 0, len = contourOrHole.length - 1; i < len; i++) {
+             s1 = contourOrHole[i];
+             s2 = contourOrHole[i + 1];
+             e1 = new SweepEvent(s1, false, undefined, isSubject);
+             e2 = new SweepEvent(s2, false, e1,        isSubject);
+             e1.otherEvent = e2;
+
+             if (s1[0] === s2[0] && s1[1] === s2[1]) {
+               continue; // skip collapsed edges, or it breaks
+             }
+
+             e1.contourId = e2.contourId = depth;
+             if (!isExteriorRing) {
+               e1.isExteriorRing = false;
+               e2.isExteriorRing = false;
+             }
+             if (compareEvents(e1, e2) > 0) {
+               e2.left = true;
+             } else {
+               e1.left = true;
+             }
+
+             var x = s1[0], y = s1[1];
+             bbox[0] = min(bbox[0], x);
+             bbox[1] = min(bbox[1], y);
+             bbox[2] = max(bbox[2], x);
+             bbox[3] = max(bbox[3], y);
+
+             // Pushing it so the queue is sorted from left to right,
+             // with object on the left having the highest priority.
+             Q.push(e1);
+             Q.push(e2);
+           }
+         }
+
+
+         function fillQueue(subject, clipping, sbbox, cbbox, operation) {
+           var eventQueue = new tinyqueue(null, compareEvents);
+           var polygonSet, isExteriorRing, i, ii, j, jj; //, k, kk;
+
+           for (i = 0, ii = subject.length; i < ii; i++) {
+             polygonSet = subject[i];
+             for (j = 0, jj = polygonSet.length; j < jj; j++) {
+               isExteriorRing = j === 0;
+               if (isExteriorRing) { contourId++; }
+               processPolygon(polygonSet[j], true, contourId, eventQueue, sbbox, isExteriorRing);
+             }
+           }
+
+           for (i = 0, ii = clipping.length; i < ii; i++) {
+             polygonSet = clipping[i];
+             for (j = 0, jj = polygonSet.length; j < jj; j++) {
+               isExteriorRing = j === 0;
+               if (operation === DIFFERENCE) { isExteriorRing = false; }
+               if (isExteriorRing) { contourId++; }
+               processPolygon(polygonSet[j], false, contourId, eventQueue, cbbox, isExteriorRing);
+             }
+           }
+
+           return eventQueue;
+         }
+
+         var EMPTY = [];
+
+
+         function trivialOperation(subject, clipping, operation) {
+           var result = null;
+           if (subject.length * clipping.length === 0) {
+             if        (operation === INTERSECTION) {
+               result = EMPTY;
+             } else if (operation === DIFFERENCE) {
+               result = subject;
+             } else if (operation === UNION ||
+                        operation === XOR) {
+               result = (subject.length === 0) ? clipping : subject;
+             }
+           }
+           return result;
+         }
+
+
+         function compareBBoxes(subject, clipping, sbbox, cbbox, operation) {
+           var result = null;
+           if (sbbox[0] > cbbox[2] ||
+               cbbox[0] > sbbox[2] ||
+               sbbox[1] > cbbox[3] ||
+               cbbox[1] > sbbox[3]) {
+             if        (operation === INTERSECTION) {
+               result = EMPTY;
+             } else if (operation === DIFFERENCE) {
+               result = subject;
+             } else if (operation === UNION ||
+                        operation === XOR) {
+               result = subject.concat(clipping);
+             }
+           }
+           return result;
+         }
+
+
+         function boolean(subject, clipping, operation) {
+           if (typeof subject[0][0][0] === 'number') {
+             subject = [subject];
+           }
+           if (typeof clipping[0][0][0] === 'number') {
+             clipping = [clipping];
+           }
+           var trivial = trivialOperation(subject, clipping, operation);
+           if (trivial) {
+             return trivial === EMPTY ? null : trivial;
+           }
+           var sbbox = [Infinity, Infinity, -Infinity, -Infinity];
+           var cbbox = [Infinity, Infinity, -Infinity, -Infinity];
+
+           //console.time('fill queue');
+           var eventQueue = fillQueue(subject, clipping, sbbox, cbbox, operation);
+           //console.timeEnd('fill queue');
+
+           trivial = compareBBoxes(subject, clipping, sbbox, cbbox, operation);
+           if (trivial) {
+             return trivial === EMPTY ? null : trivial;
+           }
+           //console.time('subdivide edges');
+           var sortedEvents = subdivide(eventQueue, subject, clipping, sbbox, cbbox, operation);
+           //console.timeEnd('subdivide edges');
+
+           //console.time('connect vertices');
+           var result = connectEdges(sortedEvents, operation);
+           //console.timeEnd('connect vertices');
+           return result;
+         }
+
+         function union (subject, clipping) {
+           return boolean(subject, clipping, UNION);
+         }
+
+         function diff (subject, clipping) {
+           return boolean(subject, clipping, DIFFERENCE);
+         }
+
+         function xor (subject, clipping){
+           return boolean(subject, clipping, XOR);
+         }
+
+         function intersection$1 (subject, clipping) {
+           return boolean(subject, clipping, INTERSECTION);
+         }
+
+         /**
+          * @enum {Number}
+          */
+         var operations = { UNION: UNION, DIFFERENCE: DIFFERENCE, INTERSECTION: INTERSECTION, XOR: XOR };
+
+         exports.union = union;
+         exports.diff = diff;
+         exports.xor = xor;
+         exports.intersection = intersection$1;
+         exports.operations = operations;
+
+         Object.defineProperty(exports, '__esModule', { value: true });
+
+       })));
+
+       });
+
+       var martinez = unwrapExports(martinez_umd);
+
+       var read$6 = function (buffer, offset, isLE, mLen, nBytes) {
+         var e, m;
+         var eLen = (nBytes * 8) - mLen - 1;
+         var eMax = (1 << eLen) - 1;
+         var eBias = eMax >> 1;
+         var nBits = -7;
+         var i = isLE ? (nBytes - 1) : 0;
+         var d = isLE ? -1 : 1;
+         var s = buffer[offset + i];
+
+         i += d;
+
+         e = s & ((1 << (-nBits)) - 1);
+         s >>= (-nBits);
+         nBits += eLen;
+         for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}
+
+         m = e & ((1 << (-nBits)) - 1);
+         e >>= (-nBits);
+         nBits += mLen;
+         for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}
+
+         if (e === 0) {
+           e = 1 - eBias;
+         } else if (e === eMax) {
+           return m ? NaN : ((s ? -1 : 1) * Infinity)
+         } else {
+           m = m + Math.pow(2, mLen);
+           e = e - eBias;
+         }
+         return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
+       };
+
+       var write$6 = function (buffer, value, offset, isLE, mLen, nBytes) {
+         var e, m, c;
+         var eLen = (nBytes * 8) - mLen - 1;
+         var eMax = (1 << eLen) - 1;
+         var eBias = eMax >> 1;
+         var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);
+         var i = isLE ? 0 : (nBytes - 1);
+         var d = isLE ? 1 : -1;
+         var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;
+
+         value = Math.abs(value);
+
+         if (isNaN(value) || value === Infinity) {
+           m = isNaN(value) ? 1 : 0;
+           e = eMax;
+         } else {
+           e = Math.floor(Math.log(value) / Math.LN2);
+           if (value * (c = Math.pow(2, -e)) < 1) {
+             e--;
+             c *= 2;
+           }
+           if (e + eBias >= 1) {
+             value += rt / c;
+           } else {
+             value += rt * Math.pow(2, 1 - eBias);
+           }
+           if (value * c >= 2) {
+             e++;
+             c /= 2;
+           }
+
+           if (e + eBias >= eMax) {
+             m = 0;
+             e = eMax;
+           } else if (e + eBias >= 1) {
+             m = ((value * c) - 1) * Math.pow(2, mLen);
+             e = e + eBias;
+           } else {
+             m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
+             e = 0;
+           }
+         }
+
+         for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
+
+         e = (e << mLen) | m;
+         eLen += mLen;
+         for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
+
+         buffer[offset + i - d] |= s * 128;
+       };
+
+       var ieee754 = {
+               read: read$6,
+               write: write$6
+       };
+
+       var pbf = Pbf;
+
+
+
+       function Pbf(buf) {
+           this.buf = ArrayBuffer.isView && ArrayBuffer.isView(buf) ? buf : new Uint8Array(buf || 0);
+           this.pos = 0;
+           this.type = 0;
+           this.length = this.buf.length;
+       }
+
+       Pbf.Varint  = 0; // varint: int32, int64, uint32, uint64, sint32, sint64, bool, enum
+       Pbf.Fixed64 = 1; // 64-bit: double, fixed64, sfixed64
+       Pbf.Bytes   = 2; // length-delimited: string, bytes, embedded messages, packed repeated fields
+       Pbf.Fixed32 = 5; // 32-bit: float, fixed32, sfixed32
+
+       var SHIFT_LEFT_32 = (1 << 16) * (1 << 16),
+           SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_32;
+
+       Pbf.prototype = {
+
+           destroy: function() {
+               this.buf = null;
+           },
+
+           // === READING =================================================================
+
+           readFields: function(readField, result, end) {
+               end = end || this.length;
+
+               while (this.pos < end) {
+                   var val = this.readVarint(),
+                       tag = val >> 3,
+                       startPos = this.pos;
+
+                   this.type = val & 0x7;
+                   readField(tag, result, this);
+
+                   if (this.pos === startPos) this.skip(val);
+               }
+               return result;
+           },
+
+           readMessage: function(readField, result) {
+               return this.readFields(readField, result, this.readVarint() + this.pos);
+           },
+
+           readFixed32: function() {
+               var val = readUInt32(this.buf, this.pos);
+               this.pos += 4;
+               return val;
+           },
+
+           readSFixed32: function() {
+               var val = readInt32(this.buf, this.pos);
+               this.pos += 4;
+               return val;
+           },
+
+           // 64-bit int handling is based on github.com/dpw/node-buffer-more-ints (MIT-licensed)
+
+           readFixed64: function() {
+               var val = readUInt32(this.buf, this.pos) + readUInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32;
+               this.pos += 8;
+               return val;
+           },
+
+           readSFixed64: function() {
+               var val = readUInt32(this.buf, this.pos) + readInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32;
+               this.pos += 8;
+               return val;
+           },
+
+           readFloat: function() {
+               var val = ieee754.read(this.buf, this.pos, true, 23, 4);
+               this.pos += 4;
+               return val;
+           },
+
+           readDouble: function() {
+               var val = ieee754.read(this.buf, this.pos, true, 52, 8);
+               this.pos += 8;
+               return val;
+           },
+
+           readVarint: function(isSigned) {
+               var buf = this.buf,
+                   val, b;
+
+               b = buf[this.pos++]; val  =  b & 0x7f;        if (b < 0x80) return val;
+               b = buf[this.pos++]; val |= (b & 0x7f) << 7;  if (b < 0x80) return val;
+               b = buf[this.pos++]; val |= (b & 0x7f) << 14; if (b < 0x80) return val;
+               b = buf[this.pos++]; val |= (b & 0x7f) << 21; if (b < 0x80) return val;
+               b = buf[this.pos];   val |= (b & 0x0f) << 28;
+
+               return readVarintRemainder(val, isSigned, this);
+           },
+
+           readVarint64: function() { // for compatibility with v2.0.1
+               return this.readVarint(true);
+           },
+
+           readSVarint: function() {
+               var num = this.readVarint();
+               return num % 2 === 1 ? (num + 1) / -2 : num / 2; // zigzag encoding
+           },
+
+           readBoolean: function() {
+               return Boolean(this.readVarint());
+           },
+
+           readString: function() {
+               var end = this.readVarint() + this.pos,
+                   str = readUtf8(this.buf, this.pos, end);
+               this.pos = end;
+               return str;
+           },
+
+           readBytes: function() {
+               var end = this.readVarint() + this.pos,
+                   buffer = this.buf.subarray(this.pos, end);
+               this.pos = end;
+               return buffer;
+           },
+
+           // verbose for performance reasons; doesn't affect gzipped size
+
+           readPackedVarint: function(arr, isSigned) {
+               if (this.type !== Pbf.Bytes) return arr.push(this.readVarint(isSigned));
+               var end = readPackedEnd(this);
+               arr = arr || [];
+               while (this.pos < end) arr.push(this.readVarint(isSigned));
+               return arr;
+           },
+           readPackedSVarint: function(arr) {
+               if (this.type !== Pbf.Bytes) return arr.push(this.readSVarint());
+               var end = readPackedEnd(this);
+               arr = arr || [];
+               while (this.pos < end) arr.push(this.readSVarint());
+               return arr;
+           },
+           readPackedBoolean: function(arr) {
+               if (this.type !== Pbf.Bytes) return arr.push(this.readBoolean());
+               var end = readPackedEnd(this);
+               arr = arr || [];
+               while (this.pos < end) arr.push(this.readBoolean());
+               return arr;
+           },
+           readPackedFloat: function(arr) {
+               if (this.type !== Pbf.Bytes) return arr.push(this.readFloat());
+               var end = readPackedEnd(this);
+               arr = arr || [];
+               while (this.pos < end) arr.push(this.readFloat());
+               return arr;
+           },
+           readPackedDouble: function(arr) {
+               if (this.type !== Pbf.Bytes) return arr.push(this.readDouble());
+               var end = readPackedEnd(this);
+               arr = arr || [];
+               while (this.pos < end) arr.push(this.readDouble());
+               return arr;
+           },
+           readPackedFixed32: function(arr) {
+               if (this.type !== Pbf.Bytes) return arr.push(this.readFixed32());
+               var end = readPackedEnd(this);
+               arr = arr || [];
+               while (this.pos < end) arr.push(this.readFixed32());
+               return arr;
+           },
+           readPackedSFixed32: function(arr) {
+               if (this.type !== Pbf.Bytes) return arr.push(this.readSFixed32());
+               var end = readPackedEnd(this);
+               arr = arr || [];
+               while (this.pos < end) arr.push(this.readSFixed32());
+               return arr;
+           },
+           readPackedFixed64: function(arr) {
+               if (this.type !== Pbf.Bytes) return arr.push(this.readFixed64());
+               var end = readPackedEnd(this);
+               arr = arr || [];
+               while (this.pos < end) arr.push(this.readFixed64());
+               return arr;
+           },
+           readPackedSFixed64: function(arr) {
+               if (this.type !== Pbf.Bytes) return arr.push(this.readSFixed64());
+               var end = readPackedEnd(this);
+               arr = arr || [];
+               while (this.pos < end) arr.push(this.readSFixed64());
+               return arr;
+           },
+
+           skip: function(val) {
+               var type = val & 0x7;
+               if (type === Pbf.Varint) while (this.buf[this.pos++] > 0x7f) {}
+               else if (type === Pbf.Bytes) this.pos = this.readVarint() + this.pos;
+               else if (type === Pbf.Fixed32) this.pos += 4;
+               else if (type === Pbf.Fixed64) this.pos += 8;
+               else throw new Error('Unimplemented type: ' + type);
+           },
+
+           // === WRITING =================================================================
+
+           writeTag: function(tag, type) {
+               this.writeVarint((tag << 3) | type);
+           },
+
+           realloc: function(min) {
+               var length = this.length || 16;
+
+               while (length < this.pos + min) length *= 2;
+
+               if (length !== this.length) {
+                   var buf = new Uint8Array(length);
+                   buf.set(this.buf);
+                   this.buf = buf;
+                   this.length = length;
+               }
+           },
+
+           finish: function() {
+               this.length = this.pos;
+               this.pos = 0;
+               return this.buf.subarray(0, this.length);
+           },
+
+           writeFixed32: function(val) {
+               this.realloc(4);
+               writeInt32(this.buf, val, this.pos);
+               this.pos += 4;
+           },
+
+           writeSFixed32: function(val) {
+               this.realloc(4);
+               writeInt32(this.buf, val, this.pos);
+               this.pos += 4;
+           },
+
+           writeFixed64: function(val) {
+               this.realloc(8);
+               writeInt32(this.buf, val & -1, this.pos);
+               writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4);
+               this.pos += 8;
+           },
+
+           writeSFixed64: function(val) {
+               this.realloc(8);
+               writeInt32(this.buf, val & -1, this.pos);
+               writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4);
+               this.pos += 8;
+           },
+
+           writeVarint: function(val) {
+               val = +val || 0;
+
+               if (val > 0xfffffff || val < 0) {
+                   writeBigVarint(val, this);
+                   return;
+               }
+
+               this.realloc(4);
+
+               this.buf[this.pos++] =           val & 0x7f  | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return;
+               this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return;
+               this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return;
+               this.buf[this.pos++] =   (val >>> 7) & 0x7f;
+           },
+
+           writeSVarint: function(val) {
+               this.writeVarint(val < 0 ? -val * 2 - 1 : val * 2);
+           },
+
+           writeBoolean: function(val) {
+               this.writeVarint(Boolean(val));
+           },
+
+           writeString: function(str) {
+               str = String(str);
+               this.realloc(str.length * 4);
+
+               this.pos++; // reserve 1 byte for short string length
+
+               var startPos = this.pos;
+               // write the string directly to the buffer and see how much was written
+               this.pos = writeUtf8(this.buf, str, this.pos);
+               var len = this.pos - startPos;
+
+               if (len >= 0x80) makeRoomForExtraLength(startPos, len, this);
+
+               // finally, write the message length in the reserved place and restore the position
+               this.pos = startPos - 1;
+               this.writeVarint(len);
+               this.pos += len;
+           },
+
+           writeFloat: function(val) {
+               this.realloc(4);
+               ieee754.write(this.buf, val, this.pos, true, 23, 4);
+               this.pos += 4;
+           },
+
+           writeDouble: function(val) {
+               this.realloc(8);
+               ieee754.write(this.buf, val, this.pos, true, 52, 8);
+               this.pos += 8;
+           },
+
+           writeBytes: function(buffer) {
+               var len = buffer.length;
+               this.writeVarint(len);
+               this.realloc(len);
+               for (var i = 0; i < len; i++) this.buf[this.pos++] = buffer[i];
+           },
+
+           writeRawMessage: function(fn, obj) {
+               this.pos++; // reserve 1 byte for short message length
+
+               // write the message directly to the buffer and see how much was written
+               var startPos = this.pos;
+               fn(obj, this);
+               var len = this.pos - startPos;
+
+               if (len >= 0x80) makeRoomForExtraLength(startPos, len, this);
+
+               // finally, write the message length in the reserved place and restore the position
+               this.pos = startPos - 1;
+               this.writeVarint(len);
+               this.pos += len;
+           },
+
+           writeMessage: function(tag, fn, obj) {
+               this.writeTag(tag, Pbf.Bytes);
+               this.writeRawMessage(fn, obj);
+           },
+
+           writePackedVarint:   function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedVarint, arr);   },
+           writePackedSVarint:  function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedSVarint, arr);  },
+           writePackedBoolean:  function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedBoolean, arr);  },
+           writePackedFloat:    function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedFloat, arr);    },
+           writePackedDouble:   function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedDouble, arr);   },
+           writePackedFixed32:  function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedFixed32, arr);  },
+           writePackedSFixed32: function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedSFixed32, arr); },
+           writePackedFixed64:  function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedFixed64, arr);  },
+           writePackedSFixed64: function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedSFixed64, arr); },
+
+           writeBytesField: function(tag, buffer) {
+               this.writeTag(tag, Pbf.Bytes);
+               this.writeBytes(buffer);
+           },
+           writeFixed32Field: function(tag, val) {
+               this.writeTag(tag, Pbf.Fixed32);
+               this.writeFixed32(val);
+           },
+           writeSFixed32Field: function(tag, val) {
+               this.writeTag(tag, Pbf.Fixed32);
+               this.writeSFixed32(val);
+           },
+           writeFixed64Field: function(tag, val) {
+               this.writeTag(tag, Pbf.Fixed64);
+               this.writeFixed64(val);
+           },
+           writeSFixed64Field: function(tag, val) {
+               this.writeTag(tag, Pbf.Fixed64);
+               this.writeSFixed64(val);
+           },
+           writeVarintField: function(tag, val) {
+               this.writeTag(tag, Pbf.Varint);
+               this.writeVarint(val);
+           },
+           writeSVarintField: function(tag, val) {
+               this.writeTag(tag, Pbf.Varint);
+               this.writeSVarint(val);
+           },
+           writeStringField: function(tag, str) {
+               this.writeTag(tag, Pbf.Bytes);
+               this.writeString(str);
+           },
+           writeFloatField: function(tag, val) {
+               this.writeTag(tag, Pbf.Fixed32);
+               this.writeFloat(val);
+           },
+           writeDoubleField: function(tag, val) {
+               this.writeTag(tag, Pbf.Fixed64);
+               this.writeDouble(val);
+           },
+           writeBooleanField: function(tag, val) {
+               this.writeVarintField(tag, Boolean(val));
+           }
+       };
+
+       function readVarintRemainder(l, s, p) {
+           var buf = p.buf,
+               h, b;
+
+           b = buf[p.pos++]; h  = (b & 0x70) >> 4;  if (b < 0x80) return toNum(l, h, s);
+           b = buf[p.pos++]; h |= (b & 0x7f) << 3;  if (b < 0x80) return toNum(l, h, s);
+           b = buf[p.pos++]; h |= (b & 0x7f) << 10; if (b < 0x80) return toNum(l, h, s);
+           b = buf[p.pos++]; h |= (b & 0x7f) << 17; if (b < 0x80) return toNum(l, h, s);
+           b = buf[p.pos++]; h |= (b & 0x7f) << 24; if (b < 0x80) return toNum(l, h, s);
+           b = buf[p.pos++]; h |= (b & 0x01) << 31; if (b < 0x80) return toNum(l, h, s);
+
+           throw new Error('Expected varint not more than 10 bytes');
+       }
+
+       function readPackedEnd(pbf) {
+           return pbf.type === Pbf.Bytes ?
+               pbf.readVarint() + pbf.pos : pbf.pos + 1;
+       }
+
+       function toNum(low, high, isSigned) {
+           if (isSigned) {
+               return high * 0x100000000 + (low >>> 0);
+           }
+
+           return ((high >>> 0) * 0x100000000) + (low >>> 0);
+       }
+
+       function writeBigVarint(val, pbf) {
+           var low, high;
+
+           if (val >= 0) {
+               low  = (val % 0x100000000) | 0;
+               high = (val / 0x100000000) | 0;
+           } else {
+               low  = ~(-val % 0x100000000);
+               high = ~(-val / 0x100000000);
+
+               if (low ^ 0xffffffff) {
+                   low = (low + 1) | 0;
+               } else {
+                   low = 0;
+                   high = (high + 1) | 0;
+               }
+           }
+
+           if (val >= 0x10000000000000000 || val < -0x10000000000000000) {
+               throw new Error('Given varint doesn\'t fit into 10 bytes');
+           }
+
+           pbf.realloc(10);
+
+           writeBigVarintLow(low, high, pbf);
+           writeBigVarintHigh(high, pbf);
+       }
+
+       function writeBigVarintLow(low, high, pbf) {
+           pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;
+           pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;
+           pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;
+           pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;
+           pbf.buf[pbf.pos]   = low & 0x7f;
+       }
+
+       function writeBigVarintHigh(high, pbf) {
+           var lsb = (high & 0x07) << 4;
+
+           pbf.buf[pbf.pos++] |= lsb         | ((high >>>= 3) ? 0x80 : 0); if (!high) return;
+           pbf.buf[pbf.pos++]  = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;
+           pbf.buf[pbf.pos++]  = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;
+           pbf.buf[pbf.pos++]  = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;
+           pbf.buf[pbf.pos++]  = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;
+           pbf.buf[pbf.pos++]  = high & 0x7f;
+       }
+
+       function makeRoomForExtraLength(startPos, len, pbf) {
+           var extraLen =
+               len <= 0x3fff ? 1 :
+               len <= 0x1fffff ? 2 :
+               len <= 0xfffffff ? 3 : Math.floor(Math.log(len) / (Math.LN2 * 7));
+
+           // if 1 byte isn't enough for encoding message length, shift the data to the right
+           pbf.realloc(extraLen);
+           for (var i = pbf.pos - 1; i >= startPos; i--) pbf.buf[i + extraLen] = pbf.buf[i];
+       }
+
+       function writePackedVarint(arr, pbf)   { for (var i = 0; i < arr.length; i++) pbf.writeVarint(arr[i]);   }
+       function writePackedSVarint(arr, pbf)  { for (var i = 0; i < arr.length; i++) pbf.writeSVarint(arr[i]);  }
+       function writePackedFloat(arr, pbf)    { for (var i = 0; i < arr.length; i++) pbf.writeFloat(arr[i]);    }
+       function writePackedDouble(arr, pbf)   { for (var i = 0; i < arr.length; i++) pbf.writeDouble(arr[i]);   }
+       function writePackedBoolean(arr, pbf)  { for (var i = 0; i < arr.length; i++) pbf.writeBoolean(arr[i]);  }
+       function writePackedFixed32(arr, pbf)  { for (var i = 0; i < arr.length; i++) pbf.writeFixed32(arr[i]);  }
+       function writePackedSFixed32(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSFixed32(arr[i]); }
+       function writePackedFixed64(arr, pbf)  { for (var i = 0; i < arr.length; i++) pbf.writeFixed64(arr[i]);  }
+       function writePackedSFixed64(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSFixed64(arr[i]); }
+
+       // Buffer code below from https://github.com/feross/buffer, MIT-licensed
+
+       function readUInt32(buf, pos) {
+           return ((buf[pos]) |
+               (buf[pos + 1] << 8) |
+               (buf[pos + 2] << 16)) +
+               (buf[pos + 3] * 0x1000000);
+       }
+
+       function writeInt32(buf, val, pos) {
+           buf[pos] = val;
+           buf[pos + 1] = (val >>> 8);
+           buf[pos + 2] = (val >>> 16);
+           buf[pos + 3] = (val >>> 24);
+       }
+
+       function readInt32(buf, pos) {
+           return ((buf[pos]) |
+               (buf[pos + 1] << 8) |
+               (buf[pos + 2] << 16)) +
+               (buf[pos + 3] << 24);
+       }
+
+       function readUtf8(buf, pos, end) {
+           var str = '';
+           var i = pos;
+
+           while (i < end) {
+               var b0 = buf[i];
+               var c = null; // codepoint
+               var bytesPerSequence =
+                   b0 > 0xEF ? 4 :
+                   b0 > 0xDF ? 3 :
+                   b0 > 0xBF ? 2 : 1;
+
+               if (i + bytesPerSequence > end) break;
+
+               var b1, b2, b3;
+
+               if (bytesPerSequence === 1) {
+                   if (b0 < 0x80) {
+                       c = b0;
+                   }
+               } else if (bytesPerSequence === 2) {
+                   b1 = buf[i + 1];
+                   if ((b1 & 0xC0) === 0x80) {
+                       c = (b0 & 0x1F) << 0x6 | (b1 & 0x3F);
+                       if (c <= 0x7F) {
+                           c = null;
+                       }
+                   }
+               } else if (bytesPerSequence === 3) {
+                   b1 = buf[i + 1];
+                   b2 = buf[i + 2];
+                   if ((b1 & 0xC0) === 0x80 && (b2 & 0xC0) === 0x80) {
+                       c = (b0 & 0xF) << 0xC | (b1 & 0x3F) << 0x6 | (b2 & 0x3F);
+                       if (c <= 0x7FF || (c >= 0xD800 && c <= 0xDFFF)) {
+                           c = null;
+                       }
+                   }
+               } else if (bytesPerSequence === 4) {
+                   b1 = buf[i + 1];
+                   b2 = buf[i + 2];
+                   b3 = buf[i + 3];
+                   if ((b1 & 0xC0) === 0x80 && (b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {
+                       c = (b0 & 0xF) << 0x12 | (b1 & 0x3F) << 0xC | (b2 & 0x3F) << 0x6 | (b3 & 0x3F);
+                       if (c <= 0xFFFF || c >= 0x110000) {
+                           c = null;
+                       }
+                   }
+               }
+
+               if (c === null) {
+                   c = 0xFFFD;
+                   bytesPerSequence = 1;
+
+               } else if (c > 0xFFFF) {
+                   c -= 0x10000;
+                   str += String.fromCharCode(c >>> 10 & 0x3FF | 0xD800);
+                   c = 0xDC00 | c & 0x3FF;
+               }
+
+               str += String.fromCharCode(c);
+               i += bytesPerSequence;
+           }
+
+           return str;
+       }
+
+       function writeUtf8(buf, str, pos) {
+           for (var i = 0, c, lead; i < str.length; i++) {
+               c = str.charCodeAt(i); // code point
+
+               if (c > 0xD7FF && c < 0xE000) {
+                   if (lead) {
+                       if (c < 0xDC00) {
+                           buf[pos++] = 0xEF;
+                           buf[pos++] = 0xBF;
+                           buf[pos++] = 0xBD;
+                           lead = c;
+                           continue;
+                       } else {
+                           c = lead - 0xD800 << 10 | c - 0xDC00 | 0x10000;
+                           lead = null;
+                       }
+                   } else {
+                       if (c > 0xDBFF || (i + 1 === str.length)) {
+                           buf[pos++] = 0xEF;
+                           buf[pos++] = 0xBF;
+                           buf[pos++] = 0xBD;
+                       } else {
+                           lead = c;
+                       }
+                       continue;
+                   }
+               } else if (lead) {
+                   buf[pos++] = 0xEF;
+                   buf[pos++] = 0xBF;
+                   buf[pos++] = 0xBD;
+                   lead = null;
+               }
+
+               if (c < 0x80) {
+                   buf[pos++] = c;
+               } else {
+                   if (c < 0x800) {
+                       buf[pos++] = c >> 0x6 | 0xC0;
+                   } else {
+                       if (c < 0x10000) {
+                           buf[pos++] = c >> 0xC | 0xE0;
+                       } else {
+                           buf[pos++] = c >> 0x12 | 0xF0;
+                           buf[pos++] = c >> 0xC & 0x3F | 0x80;
+                       }
+                       buf[pos++] = c >> 0x6 & 0x3F | 0x80;
+                   }
+                   buf[pos++] = c & 0x3F | 0x80;
+               }
+           }
+           return pos;
+       }
+
+       var pointGeometry = Point;
+
+       /**
+        * A standalone point geometry with useful accessor, comparison, and
+        * modification methods.
+        *
+        * @class Point
+        * @param {Number} x the x-coordinate. this could be longitude or screen
+        * pixels, or any other sort of unit.
+        * @param {Number} y the y-coordinate. this could be latitude or screen
+        * pixels, or any other sort of unit.
+        * @example
+        * var point = new Point(-77, 38);
+        */
+       function Point(x, y) {
+           this.x = x;
+           this.y = y;
+       }
+
+       Point.prototype = {
+
+           /**
+            * Clone this point, returning a new point that can be modified
+            * without affecting the old one.
+            * @return {Point} the clone
+            */
+           clone: function() { return new Point(this.x, this.y); },
+
+           /**
+            * Add this point's x & y coordinates to another point,
+            * yielding a new point.
+            * @param {Point} p the other point
+            * @return {Point} output point
+            */
+           add:     function(p) { return this.clone()._add(p); },
+
+           /**
+            * Subtract this point's x & y coordinates to from point,
+            * yielding a new point.
+            * @param {Point} p the other point
+            * @return {Point} output point
+            */
+           sub:     function(p) { return this.clone()._sub(p); },
+
+           /**
+            * Multiply this point's x & y coordinates by point,
+            * yielding a new point.
+            * @param {Point} p the other point
+            * @return {Point} output point
+            */
+           multByPoint:    function(p) { return this.clone()._multByPoint(p); },
+
+           /**
+            * Divide this point's x & y coordinates by point,
+            * yielding a new point.
+            * @param {Point} p the other point
+            * @return {Point} output point
+            */
+           divByPoint:     function(p) { return this.clone()._divByPoint(p); },
+
+           /**
+            * Multiply this point's x & y coordinates by a factor,
+            * yielding a new point.
+            * @param {Point} k factor
+            * @return {Point} output point
+            */
+           mult:    function(k) { return this.clone()._mult(k); },
+
+           /**
+            * Divide this point's x & y coordinates by a factor,
+            * yielding a new point.
+            * @param {Point} k factor
+            * @return {Point} output point
+            */
+           div:     function(k) { return this.clone()._div(k); },
+
+           /**
+            * Rotate this point around the 0, 0 origin by an angle a,
+            * given in radians
+            * @param {Number} a angle to rotate around, in radians
+            * @return {Point} output point
+            */
+           rotate:  function(a) { return this.clone()._rotate(a); },
+
+           /**
+            * Rotate this point around p point by an angle a,
+            * given in radians
+            * @param {Number} a angle to rotate around, in radians
+            * @param {Point} p Point to rotate around
+            * @return {Point} output point
+            */
+           rotateAround:  function(a,p) { return this.clone()._rotateAround(a,p); },
+
+           /**
+            * Multiply this point by a 4x1 transformation matrix
+            * @param {Array<Number>} m transformation matrix
+            * @return {Point} output point
+            */
+           matMult: function(m) { return this.clone()._matMult(m); },
+
+           /**
+            * Calculate this point but as a unit vector from 0, 0, meaning
+            * that the distance from the resulting point to the 0, 0
+            * coordinate will be equal to 1 and the angle from the resulting
+            * point to the 0, 0 coordinate will be the same as before.
+            * @return {Point} unit vector point
+            */
+           unit:    function() { return this.clone()._unit(); },
+
+           /**
+            * Compute a perpendicular point, where the new y coordinate
+            * is the old x coordinate and the new x coordinate is the old y
+            * coordinate multiplied by -1
+            * @return {Point} perpendicular point
+            */
+           perp:    function() { return this.clone()._perp(); },
+
+           /**
+            * Return a version of this point with the x & y coordinates
+            * rounded to integers.
+            * @return {Point} rounded point
+            */
+           round:   function() { return this.clone()._round(); },
+
+           /**
+            * Return the magitude of this point: this is the Euclidean
+            * distance from the 0, 0 coordinate to this point's x and y
+            * coordinates.
+            * @return {Number} magnitude
+            */
+           mag: function() {
+               return Math.sqrt(this.x * this.x + this.y * this.y);
+           },
+
+           /**
+            * Judge whether this point is equal to another point, returning
+            * true or false.
+            * @param {Point} other the other point
+            * @return {boolean} whether the points are equal
+            */
+           equals: function(other) {
+               return this.x === other.x &&
+                      this.y === other.y;
+           },
+
+           /**
+            * Calculate the distance from this point to another point
+            * @param {Point} p the other point
+            * @return {Number} distance
+            */
+           dist: function(p) {
+               return Math.sqrt(this.distSqr(p));
+           },
+
+           /**
+            * Calculate the distance from this point to another point,
+            * without the square root step. Useful if you're comparing
+            * relative distances.
+            * @param {Point} p the other point
+            * @return {Number} distance
+            */
+           distSqr: function(p) {
+               var dx = p.x - this.x,
+                   dy = p.y - this.y;
+               return dx * dx + dy * dy;
+           },
+
+           /**
+            * Get the angle from the 0, 0 coordinate to this point, in radians
+            * coordinates.
+            * @return {Number} angle
+            */
+           angle: function() {
+               return Math.atan2(this.y, this.x);
+           },
+
+           /**
+            * Get the angle from this point to another point, in radians
+            * @param {Point} b the other point
+            * @return {Number} angle
+            */
+           angleTo: function(b) {
+               return Math.atan2(this.y - b.y, this.x - b.x);
+           },
+
+           /**
+            * Get the angle between this point and another point, in radians
+            * @param {Point} b the other point
+            * @return {Number} angle
+            */
+           angleWith: function(b) {
+               return this.angleWithSep(b.x, b.y);
+           },
+
+           /*
+            * Find the angle of the two vectors, solving the formula for
+            * the cross product a x b = |a||b|sin(θ) for θ.
+            * @param {Number} x the x-coordinate
+            * @param {Number} y the y-coordinate
+            * @return {Number} the angle in radians
+            */
+           angleWithSep: function(x, y) {
+               return Math.atan2(
+                   this.x * y - this.y * x,
+                   this.x * x + this.y * y);
+           },
+
+           _matMult: function(m) {
+               var x = m[0] * this.x + m[1] * this.y,
+                   y = m[2] * this.x + m[3] * this.y;
+               this.x = x;
+               this.y = y;
+               return this;
+           },
+
+           _add: function(p) {
+               this.x += p.x;
+               this.y += p.y;
+               return this;
+           },
+
+           _sub: function(p) {
+               this.x -= p.x;
+               this.y -= p.y;
+               return this;
+           },
+
+           _mult: function(k) {
+               this.x *= k;
+               this.y *= k;
+               return this;
+           },
+
+           _div: function(k) {
+               this.x /= k;
+               this.y /= k;
+               return this;
+           },
+
+           _multByPoint: function(p) {
+               this.x *= p.x;
+               this.y *= p.y;
+               return this;
+           },
+
+           _divByPoint: function(p) {
+               this.x /= p.x;
+               this.y /= p.y;
+               return this;
+           },
+
+           _unit: function() {
+               this._div(this.mag());
+               return this;
+           },
+
+           _perp: function() {
+               var y = this.y;
+               this.y = this.x;
+               this.x = -y;
+               return this;
+           },
+
+           _rotate: function(angle) {
+               var cos = Math.cos(angle),
+                   sin = Math.sin(angle),
+                   x = cos * this.x - sin * this.y,
+                   y = sin * this.x + cos * this.y;
+               this.x = x;
+               this.y = y;
+               return this;
+           },
+
+           _rotateAround: function(angle, p) {
+               var cos = Math.cos(angle),
+                   sin = Math.sin(angle),
+                   x = p.x + cos * (this.x - p.x) - sin * (this.y - p.y),
+                   y = p.y + sin * (this.x - p.x) + cos * (this.y - p.y);
+               this.x = x;
+               this.y = y;
+               return this;
+           },
+
+           _round: function() {
+               this.x = Math.round(this.x);
+               this.y = Math.round(this.y);
+               return this;
+           }
+       };
+
+       /**
+        * Construct a point from an array if necessary, otherwise if the input
+        * is already a Point, or an unknown type, return it unchanged
+        * @param {Array<Number>|Point|*} a any kind of input value
+        * @return {Point} constructed point, or passed-through value.
+        * @example
+        * // this
+        * var point = Point.convert([0, 1]);
+        * // is equivalent to
+        * var point = new Point(0, 1);
+        */
+       Point.convert = function (a) {
+           if (a instanceof Point) {
+               return a;
+           }
+           if (Array.isArray(a)) {
+               return new Point(a[0], a[1]);
+           }
+           return a;
+       };
+
+       var vectortilefeature = VectorTileFeature;
+
+       function VectorTileFeature(pbf, end, extent, keys, values) {
+           // Public
+           this.properties = {};
+           this.extent = extent;
+           this.type = 0;
+
+           // Private
+           this._pbf = pbf;
+           this._geometry = -1;
+           this._keys = keys;
+           this._values = values;
+
+           pbf.readFields(readFeature, this, end);
+       }
+
+       function readFeature(tag, feature, pbf) {
+           if (tag == 1) feature.id = pbf.readVarint();
+           else if (tag == 2) readTag(pbf, feature);
+           else if (tag == 3) feature.type = pbf.readVarint();
+           else if (tag == 4) feature._geometry = pbf.pos;
+       }
+
+       function readTag(pbf, feature) {
+           var end = pbf.readVarint() + pbf.pos;
+
+           while (pbf.pos < end) {
+               var key = feature._keys[pbf.readVarint()],
+                   value = feature._values[pbf.readVarint()];
+               feature.properties[key] = value;
+           }
+       }
+
+       VectorTileFeature.types = ['Unknown', 'Point', 'LineString', 'Polygon'];
+
+       VectorTileFeature.prototype.loadGeometry = function() {
+           var pbf = this._pbf;
+           pbf.pos = this._geometry;
+
+           var end = pbf.readVarint() + pbf.pos,
+               cmd = 1,
+               length = 0,
+               x = 0,
+               y = 0,
+               lines = [],
+               line;
+
+           while (pbf.pos < end) {
+               if (length <= 0) {
+                   var cmdLen = pbf.readVarint();
+                   cmd = cmdLen & 0x7;
+                   length = cmdLen >> 3;
+               }
+
+               length--;
+
+               if (cmd === 1 || cmd === 2) {
+                   x += pbf.readSVarint();
+                   y += pbf.readSVarint();
+
+                   if (cmd === 1) { // moveTo
+                       if (line) lines.push(line);
+                       line = [];
+                   }
+
+                   line.push(new pointGeometry(x, y));
+
+               } else if (cmd === 7) {
+
+                   // Workaround for https://github.com/mapbox/mapnik-vector-tile/issues/90
+                   if (line) {
+                       line.push(line[0].clone()); // closePolygon
+                   }
+
+               } else {
+                   throw new Error('unknown command ' + cmd);
+               }
+           }
+
+           if (line) lines.push(line);
+
+           return lines;
+       };
+
+       VectorTileFeature.prototype.bbox = function() {
+           var pbf = this._pbf;
+           pbf.pos = this._geometry;
+
+           var end = pbf.readVarint() + pbf.pos,
+               cmd = 1,
+               length = 0,
+               x = 0,
+               y = 0,
+               x1 = Infinity,
+               x2 = -Infinity,
+               y1 = Infinity,
+               y2 = -Infinity;
+
+           while (pbf.pos < end) {
+               if (length <= 0) {
+                   var cmdLen = pbf.readVarint();
+                   cmd = cmdLen & 0x7;
+                   length = cmdLen >> 3;
+               }
+
+               length--;
+
+               if (cmd === 1 || cmd === 2) {
+                   x += pbf.readSVarint();
+                   y += pbf.readSVarint();
+                   if (x < x1) x1 = x;
+                   if (x > x2) x2 = x;
+                   if (y < y1) y1 = y;
+                   if (y > y2) y2 = y;
+
+               } else if (cmd !== 7) {
+                   throw new Error('unknown command ' + cmd);
+               }
+           }
+
+           return [x1, y1, x2, y2];
+       };
+
+       VectorTileFeature.prototype.toGeoJSON = function(x, y, z) {
+           var size = this.extent * Math.pow(2, z),
+               x0 = this.extent * x,
+               y0 = this.extent * y,
+               coords = this.loadGeometry(),
+               type = VectorTileFeature.types[this.type],
+               i, j;
+
+           function project(line) {
+               for (var j = 0; j < line.length; j++) {
+                   var p = line[j], y2 = 180 - (p.y + y0) * 360 / size;
+                   line[j] = [
+                       (p.x + x0) * 360 / size - 180,
+                       360 / Math.PI * Math.atan(Math.exp(y2 * Math.PI / 180)) - 90
+                   ];
+               }
+           }
+
+           switch (this.type) {
+           case 1:
+               var points = [];
+               for (i = 0; i < coords.length; i++) {
+                   points[i] = coords[i][0];
+               }
+               coords = points;
+               project(coords);
+               break;
+
+           case 2:
+               for (i = 0; i < coords.length; i++) {
+                   project(coords[i]);
+               }
+               break;
+
+           case 3:
+               coords = classifyRings(coords);
+               for (i = 0; i < coords.length; i++) {
+                   for (j = 0; j < coords[i].length; j++) {
+                       project(coords[i][j]);
+                   }
+               }
+               break;
+           }
+
+           if (coords.length === 1) {
+               coords = coords[0];
+           } else {
+               type = 'Multi' + type;
+           }
+
+           var result = {
+               type: "Feature",
+               geometry: {
+                   type: type,
+                   coordinates: coords
+               },
+               properties: this.properties
+           };
+
+           if ('id' in this) {
+               result.id = this.id;
+           }
+
+           return result;
+       };
+
+       // classifies an array of rings into polygons with outer rings and holes
+
+       function classifyRings(rings) {
+           var len = rings.length;
+
+           if (len <= 1) return [rings];
+
+           var polygons = [],
+               polygon,
+               ccw;
+
+           for (var i = 0; i < len; i++) {
+               var area = signedArea(rings[i]);
+               if (area === 0) continue;
+
+               if (ccw === undefined) ccw = area < 0;
+
+               if (ccw === area < 0) {
+                   if (polygon) polygons.push(polygon);
+                   polygon = [rings[i]];
+
+               } else {
+                   polygon.push(rings[i]);
+               }
+           }
+           if (polygon) polygons.push(polygon);
+
+           return polygons;
+       }
+
+       function signedArea(ring) {
+           var sum = 0;
+           for (var i = 0, len = ring.length, j = len - 1, p1, p2; i < len; j = i++) {
+               p1 = ring[i];
+               p2 = ring[j];
+               sum += (p2.x - p1.x) * (p1.y + p2.y);
+           }
+           return sum;
+       }
+
+       var vectortilelayer = VectorTileLayer;
+
+       function VectorTileLayer(pbf, end) {
+           // Public
+           this.version = 1;
+           this.name = null;
+           this.extent = 4096;
+           this.length = 0;
+
+           // Private
+           this._pbf = pbf;
+           this._keys = [];
+           this._values = [];
+           this._features = [];
+
+           pbf.readFields(readLayer, this, end);
+
+           this.length = this._features.length;
+       }
+
+       function readLayer(tag, layer, pbf) {
+           if (tag === 15) layer.version = pbf.readVarint();
+           else if (tag === 1) layer.name = pbf.readString();
+           else if (tag === 5) layer.extent = pbf.readVarint();
+           else if (tag === 2) layer._features.push(pbf.pos);
+           else if (tag === 3) layer._keys.push(pbf.readString());
+           else if (tag === 4) layer._values.push(readValueMessage(pbf));
+       }
+
+       function readValueMessage(pbf) {
+           var value = null,
+               end = pbf.readVarint() + pbf.pos;
+
+           while (pbf.pos < end) {
+               var tag = pbf.readVarint() >> 3;
+
+               value = tag === 1 ? pbf.readString() :
+                   tag === 2 ? pbf.readFloat() :
+                   tag === 3 ? pbf.readDouble() :
+                   tag === 4 ? pbf.readVarint64() :
+                   tag === 5 ? pbf.readVarint() :
+                   tag === 6 ? pbf.readSVarint() :
+                   tag === 7 ? pbf.readBoolean() : null;
+           }
+
+           return value;
+       }
+
+       // return feature `i` from this layer as a `VectorTileFeature`
+       VectorTileLayer.prototype.feature = function(i) {
+           if (i < 0 || i >= this._features.length) throw new Error('feature index out of bounds');
+
+           this._pbf.pos = this._features[i];
+
+           var end = this._pbf.readVarint() + this._pbf.pos;
+           return new vectortilefeature(this._pbf, end, this.extent, this._keys, this._values);
+       };
+
+       var vectortile = VectorTile;
+
+       function VectorTile(pbf, end) {
+           this.layers = pbf.readFields(readTile, {}, end);
+       }
+
+       function readTile(tag, layers, pbf) {
+           if (tag === 3) {
+               var layer = new vectortilelayer(pbf, pbf.readVarint() + pbf.pos);
+               if (layer.length) layers[layer.name] = layer;
+           }
+       }
+
+       var VectorTile$1 = vectortile;
+       var VectorTileFeature$1 = vectortilefeature;
+       var VectorTileLayer$1 = vectortilelayer;
+
+       var vectorTile = {
+               VectorTile: VectorTile$1,
+               VectorTileFeature: VectorTileFeature$1,
+               VectorTileLayer: VectorTileLayer$1
+       };
+
+       var tiler$6 = utilTiler().tileSize(512).margin(1);
+       var dispatch$7 = dispatch('loadedData');
+       var _vtCache;
+
+
+       function abortRequest$6(controller) {
+           controller.abort();
+       }
+
+
+       function vtToGeoJSON(data, tile, mergeCache) {
+           var vectorTile$1 = new vectorTile.VectorTile(new pbf(data));
+           var layers = Object.keys(vectorTile$1.layers);
+           if (!Array.isArray(layers)) { layers = [layers]; }
+
+           var features = [];
+           layers.forEach(function(layerID) {
+               var layer = vectorTile$1.layers[layerID];
+               if (layer) {
+                   for (var i = 0; i < layer.length; i++) {
+                       var feature = layer.feature(i).toGeoJSON(tile.xyz[0], tile.xyz[1], tile.xyz[2]);
+                       var geometry = feature.geometry;
+
+                       // Treat all Polygons as MultiPolygons
+                       if (geometry.type === 'Polygon') {
+                           geometry.type = 'MultiPolygon';
+                           geometry.coordinates = [geometry.coordinates];
+                       }
+
+                       // Clip to tile bounds
+                       if (geometry.type === 'MultiPolygon') {
+                           var isClipped = false;
+                           var featureClip = turf_bboxClip(feature, tile.extent.rectangle());
+                           if (!fastDeepEqual(feature.geometry, featureClip.geometry)) {
+                               // feature = featureClip;
+                               isClipped = true;
+                           }
+                           if (!feature.geometry.coordinates.length) continue;   // not actually on this tile
+                           if (!feature.geometry.coordinates[0].length) continue;   // not actually on this tile
+                       }
+
+                       // Generate some unique IDs and add some metadata
+                       var featurehash = utilHashcode(fastJsonStableStringify(feature));
+                       var propertyhash = utilHashcode(fastJsonStableStringify(feature.properties || {}));
+                       feature.__layerID__ = layerID.replace(/[^_a-zA-Z0-9\-]/g, '_');
+                       feature.__featurehash__ = featurehash;
+                       feature.__propertyhash__ = propertyhash;
+                       features.push(feature);
+
+                       // Clipped Polygons at same zoom with identical properties can get merged
+                       if (isClipped && geometry.type === 'MultiPolygon') {
+                           var merged = mergeCache[propertyhash];
+                           if (merged && merged.length) {
+                               var other = merged[0];
+                               var coords = martinez.union(
+                                   feature.geometry.coordinates, other.geometry.coordinates
+                               );
+
+                               if (!coords || !coords.length) {
+                                   continue;  // something failed in martinez union
+                               }
+
+                               merged.push(feature);
+                               for (var j = 0; j < merged.length; j++) {      // all these features get...
+                                   merged[j].geometry.coordinates = coords;   // same coords
+                                   merged[j].__featurehash__ = featurehash;   // same hash, so deduplication works
+                               }
+                           } else {
+                               mergeCache[propertyhash] = [feature];
+                           }
+                       }
+                   }
+               }
+           });
+
+           return features;
+       }
+
+
+       function loadTile(source, tile) {
+           if (source.loaded[tile.id] || source.inflight[tile.id]) return;
+
+           var url = source.template
+               .replace('{x}', tile.xyz[0])
+               .replace('{y}', tile.xyz[1])
+               // TMS-flipped y coordinate
+               .replace(/\{[t-]y\}/, Math.pow(2, tile.xyz[2]) - tile.xyz[1] - 1)
+               .replace(/\{z(oom)?\}/, tile.xyz[2])
+               .replace(/\{switch:([^}]+)\}/, function(s, r) {
+                   var subdomains = r.split(',');
+                   return subdomains[(tile.xyz[0] + tile.xyz[1]) % subdomains.length];
+               });
+
+
+           var controller = new AbortController();
+           source.inflight[tile.id] = controller;
+
+           fetch(url, { signal: controller.signal })
+               .then(function(response) {
+                   if (!response.ok) {
+                       throw new Error(response.status + ' ' + response.statusText);
+                   }
+                   source.loaded[tile.id] = [];
+                   delete source.inflight[tile.id];
+                   return response.arrayBuffer();
+               })
+               .then(function(data) {
+                   if (!data) {
+                       throw new Error('No Data');
+                   }
+
+                   var z = tile.xyz[2];
+                   if (!source.canMerge[z]) {
+                       source.canMerge[z] = {};  // initialize mergeCache
+                   }
+
+                   source.loaded[tile.id] = vtToGeoJSON(data, tile, source.canMerge[z]);
+                   dispatch$7.call('loadedData');
+               })
+               .catch(function() {
+                   source.loaded[tile.id] = [];
+                   delete source.inflight[tile.id];
+               });
+       }
+
+
+       var serviceVectorTile = {
+
+           init: function() {
+               if (!_vtCache) {
+                   this.reset();
+               }
+
+               this.event = utilRebind(this, dispatch$7, 'on');
+           },
+
+
+           reset: function() {
+               for (var sourceID in _vtCache) {
+                   var source = _vtCache[sourceID];
+                   if (source && source.inflight) {
+                       Object.values(source.inflight).forEach(abortRequest$6);
+                   }
+               }
+
+               _vtCache = {};
+           },
+
+
+           addSource: function(sourceID, template) {
+               _vtCache[sourceID] = { template: template, inflight: {}, loaded: {}, canMerge: {} };
+               return _vtCache[sourceID];
+           },
+
+
+           data: function(sourceID, projection) {
+               var source = _vtCache[sourceID];
+               if (!source) return [];
+
+               var tiles = tiler$6.getTiles(projection);
+               var seen = {};
+               var results = [];
+
+               for (var i = 0; i < tiles.length; i++) {
+                   var features = source.loaded[tiles[i].id];
+                   if (!features || !features.length) continue;
+
+                   for (var j = 0; j < features.length; j++) {
+                       var feature = features[j];
+                       var hash = feature.__featurehash__;
+                       if (seen[hash]) continue;
+                       seen[hash] = true;
+
+                       // return a shallow copy, because the hash may change
+                       // later if this feature gets merged with another
+                       results.push(Object.assign({}, feature));  // shallow copy
+                   }
+               }
+
+               return results;
+           },
+
+
+           loadTiles: function(sourceID, template, projection) {
+               var source = _vtCache[sourceID];
+               if (!source) {
+                   source = this.addSource(sourceID, template);
+               }
+
+               var tiles = tiler$6.getTiles(projection);
+
+               // abort inflight requests that are no longer needed
+               Object.keys(source.inflight).forEach(function(k) {
+                   var wanted = tiles.find(function(tile) { return k === tile.id; });
+                   if (!wanted) {
+                       abortRequest$6(source.inflight[k]);
+                       delete source.inflight[k];
+                   }
+               });
+
+               tiles.forEach(function(tile) {
+                   loadTile(source, tile);
+               });
+           },
+
+
+           cache: function() {
+               return _vtCache;
+           }
+
+       };
+
+       var apibase$5 = 'https://www.wikidata.org/w/api.php?';
+       var _wikidataCache = {};
+
+
+       var serviceWikidata = {
+
+           init: function() {},
+
+           reset: function() {
+               _wikidataCache = {};
+           },
+
+
+           // Search for Wikidata items matching the query
+           itemsForSearchQuery: function(query, callback) {
+               if (!query) {
+                   if (callback) callback('No query', {});
+                   return;
+               }
+
+               var url = apibase$5 + utilQsString({
+                   action: 'wbsearchentities',
+                   format: 'json',
+                   formatversion: 2,
+                   search: query,
+                   type: 'item',
+                   language: this.languagesToQuery()[0],
+                   limit: 10,
+                   origin: '*'
+               });
+
+               d3_json(url)
+                   .then(function(result) {
+                       if (result && result.error) {
+                           throw new Error(result.error);
+                       }
+                       if (callback) callback(null, result.search || {});
+                   })
+                   .catch(function(err) {
+                       if (callback) callback(err.message, {});
+                   });
+           },
+
+
+           // Given a Wikipedia language and article title,
+           // return an array of corresponding Wikidata entities.
+           itemsByTitle: function(lang, title, callback) {
+               if (!title) {
+                   if (callback) callback('No title', {});
+                   return;
+               }
+
+               lang = lang || 'en';
+               var url = apibase$5 + utilQsString({
+                   action: 'wbgetentities',
+                   format: 'json',
+                   formatversion: 2,
+                   sites: lang.replace(/-/g, '_') + 'wiki',
+                   titles: title,
+                   languages: 'en', // shrink response by filtering to one language
+                   origin: '*'
+               });
+
+               d3_json(url)
+                   .then(function(result) {
+                       if (result && result.error) {
+                           throw new Error(result.error);
+                       }
+                       if (callback) callback(null, result.entities || {});
+                   })
+                   .catch(function(err) {
+                       if (callback) callback(err.message, {});
+                   });
+           },
+
+
+           languagesToQuery: function() {
+               return utilArrayUniq([
+                   currentLocale.toLowerCase(),
+                   currentLocale.split('-', 2)[0].toLowerCase(),
+                   'en'
+               ]);
+           },
+
+
+           entityByQID: function(qid, callback) {
+               if (!qid) {
+                   callback('No qid', {});
+                   return;
+               }
+               if (_wikidataCache[qid]) {
+                   if (callback) callback(null, _wikidataCache[qid]);
+                   return;
+               }
+
+               var langs = this.languagesToQuery();
+               var url = apibase$5 + utilQsString({
+                   action: 'wbgetentities',
+                   format: 'json',
+                   formatversion: 2,
+                   ids: qid,
+                   props: 'labels|descriptions|claims|sitelinks',
+                   sitefilter: langs.map(function(d) { return d + 'wiki'; }).join('|'),
+                   languages: langs.join('|'),
+                   languagefallback: 1,
+                   origin: '*'
+               });
+
+               d3_json(url)
+                   .then(function(result) {
+                       if (result && result.error) {
+                           throw new Error(result.error);
+                       }
+                       if (callback) callback(null, result.entities[qid] || {});
+                   })
+                   .catch(function(err) {
+                       if (callback) callback(err.message, {});
+                   });
+           },
+
+
+           // Pass `params` object of the form:
+           // {
+           //   qid: 'string'      // brand wikidata  (e.g. 'Q37158')
+           // }
+           //
+           // Get an result object used to display tag documentation
+           // {
+           //   title:        'string',
+           //   description:  'string',
+           //   editURL:      'string',
+           //   imageURL:     'string',
+           //   wiki:         { title: 'string', text: 'string', url: 'string' }
+           // }
+           //
+           getDocs: function(params, callback) {
+               var langs = this.languagesToQuery();
+               this.entityByQID(params.qid, function(err, entity) {
+                   if (err || !entity) {
+                       callback(err || 'No entity');
+                       return;
+                   }
+
+                   var i;
+                   var description;
+                   if (entity.descriptions && Object.keys(entity.descriptions).length > 0) {
+                       description = entity.descriptions[Object.keys(entity.descriptions)[0]].value;
+                   }
+
+                   // prepare result
+                   var result = {
+                       title: entity.id,
+                       description: description,
+                       editURL: 'https://www.wikidata.org/wiki/' + entity.id
+                   };
+
+                   // add image
+                   if (entity.claims) {
+                       var imageroot = 'https://commons.wikimedia.org/w/index.php';
+                       var props = ['P154','P18'];  // logo image, image
+                       var prop, image;
+                       for (i = 0; i < props.length; i++) {
+                           prop = entity.claims[props[i]];
+                           if (prop && Object.keys(prop).length > 0) {
+                               image = prop[Object.keys(prop)[0]].mainsnak.datavalue.value;
+                               if (image) {
+                                   result.imageURL = imageroot + '?' + utilQsString({
+                                       title: 'Special:Redirect/file/' + image,
+                                       width: 400
+                                   });
+                                   break;
+                               }
+                           }
+                       }
+                   }
+
+                   if (entity.sitelinks) {
+                       var englishLocale = (currentLocale.split('-', 2)[0].toLowerCase() === 'en');
+
+                       // must be one of these that we requested..
+                       for (i = 0; i < langs.length; i++) {   // check each, in order of preference
+                           var w = langs[i] + 'wiki';
+                           if (entity.sitelinks[w]) {
+                               var title = entity.sitelinks[w].title;
+                               var tKey = 'inspector.wiki_reference';
+                               if (!englishLocale && langs[i] === 'en') {   // user's currentLocale isn't English but
+                                   tKey = 'inspector.wiki_en_reference';    // we are sending them to enwiki anyway..
+                               }
+
+                               result.wiki = {
+                                   title: title,
+                                   text: tKey,
+                                   url: 'https://' + langs[i] + '.wikipedia.org/wiki/' + title.replace(/ /g, '_')
+                               };
+                               break;
+                           }
+                       }
+                   }
+
+                   callback(null, result);
+               });
+           }
+
+       };
+
+       var endpoint = 'https://en.wikipedia.org/w/api.php?';
+
+       var serviceWikipedia = {
+
+           init: function() {},
+           reset: function() {},
+
+
+           search: function(lang, query, callback) {
+               if (!query) {
+                   if (callback) callback('No Query', []);
+                   return;
+               }
+
+               lang = lang || 'en';
+               var url = endpoint.replace('en', lang) +
+                   utilQsString({
+                       action: 'query',
+                       list: 'search',
+                       srlimit: '10',
+                       srinfo: 'suggestion',
+                       format: 'json',
+                       origin: '*',
+                       srsearch: query
+                   });
+
+               d3_json(url)
+                   .then(function(result) {
+                       if (result && result.error) {
+                           throw new Error(result.error);
+                       } else if (!result || !result.query || !result.query.search) {
+                           throw new Error('No Results');
+                       }
+                       if (callback) {
+                           var titles = result.query.search.map(function(d) { return d.title; });
+                           callback(null, titles);
+                       }
+                   })
+                   .catch(function(err) {
+                       if (callback) callback(err, []);
+                   });
+           },
+
+
+           suggestions: function(lang, query, callback) {
+               if (!query) {
+                   if (callback) callback('', []);
+                   return;
+               }
+
+               lang = lang || 'en';
+               var url = endpoint.replace('en', lang) +
+                   utilQsString({
+                       action: 'opensearch',
+                       namespace: 0,
+                       suggest: '',
+                       format: 'json',
+                       origin: '*',
+                       search: query
+                   });
+
+               d3_json(url)
+                   .then(function(result) {
+                       if (result && result.error) {
+                           throw new Error(result.error);
+                       } else if (!result || result.length < 2) {
+                           throw new Error('No Results');
+                       }
+                       if (callback) callback(null, result[1] || []);
+                   })
+                   .catch(function(err) {
+                       if (callback) callback(err.message, []);
+                   });
+           },
+
+
+           translations: function(lang, title, callback) {
+               if (!title) {
+                   if (callback) callback('No Title');
+                   return;
+               }
+
+               var url = endpoint.replace('en', lang) +
+                   utilQsString({
+                       action: 'query',
+                       prop: 'langlinks',
+                       format: 'json',
+                       origin: '*',
+                       lllimit: 500,
+                       titles: title
+                   });
+
+               d3_json(url)
+                   .then(function(result) {
+                       if (result && result.error) {
+                           throw new Error(result.error);
+                       } else if (!result || !result.query || !result.query.pages) {
+                           throw new Error('No Results');
+                       }
+                       if (callback) {
+                           var list = result.query.pages[Object.keys(result.query.pages)[0]];
+                           var translations = {};
+                           if (list && list.langlinks) {
+                               list.langlinks.forEach(function(d) { translations[d.lang] = d['*']; });
+                           }
+                           callback(null, translations);
+                       }
+                   })
+                   .catch(function(err) {
+                       if (callback) callback(err.message);
+                   });
+           }
+
+       };
+
+       var services$1 = {
+           geocoder: serviceNominatim,
+           keepRight: serviceKeepRight,
+           improveOSM: serviceImproveOSM,
+           mapillary: serviceMapillary,
+           openstreetcam: serviceOpenstreetcam,
+           osm: serviceOsm,
+           osmWikibase: serviceOsmWikibase,
+           maprules: serviceMapRules,
+           streetside: serviceStreetside,
+           taginfo: serviceTaginfo,
+           vectorTile: serviceVectorTile,
+           wikidata: serviceWikidata,
+           wikipedia: serviceWikipedia
+       };
+
+       function svgIcon(name, svgklass, useklass) {
+           return function drawIcon(selection) {
+               selection.selectAll('svg.icon')
+                   .data([0])
+                   .enter()
+                   .append('svg')
+                   .attr('class', 'icon ' + (svgklass || ''))
+                   .append('use')
+                   .attr('xlink:href', name)
+                   .attr('class', useklass);
+           };
+       }
+
+       function uiNoteComments() {
+           var _note;
+
+
+           function noteComments(selection) {
+               if (_note.isNew()) return; // don't draw .comments-container
+
+               var comments = selection.selectAll('.comments-container')
+                   .data([0]);
+
+               comments = comments.enter()
+                   .append('div')
+                   .attr('class', 'comments-container')
+                   .merge(comments);
+
+               var commentEnter = comments.selectAll('.comment')
+                   .data(_note.comments)
+                   .enter()
+                   .append('div')
+                   .attr('class', 'comment');
+
+               commentEnter
+                   .append('div')
+                   .attr('class', function(d) { return 'comment-avatar user-' + d.uid; })
+                   .call(svgIcon('#iD-icon-avatar', 'comment-avatar-icon'));
+
+               var mainEnter = commentEnter
+                   .append('div')
+                   .attr('class', 'comment-main');
+
+               var metadataEnter = mainEnter
+                   .append('div')
+                   .attr('class', 'comment-metadata');
+
+               metadataEnter
+                   .append('div')
+                   .attr('class', 'comment-author')
+                   .each(function(d) {
+                       var selection = d3_select(this);
+                       var osm = services$1.osm;
+                       if (osm && d.user) {
+                           selection = selection
+                               .append('a')
+                               .attr('class', 'comment-author-link')
+                               .attr('href', osm.userURL(d.user))
+                               .attr('tabindex', -1)
+                               .attr('target', '_blank');
+                       }
+                       selection
+                           .text(function(d) { return d.user || t('note.anonymous'); });
+                   });
+
+               metadataEnter
+                   .append('div')
+                   .attr('class', 'comment-date')
+                   .text(function(d) {
+                       return t('note.status.' + d.action, { when: localeDateString(d.date) });
+                   });
+
+               mainEnter
+                   .append('div')
+                   .attr('class', 'comment-text')
+                   .html(function(d) { return d.html; });
+
+               comments
+                   .call(replaceAvatars);
+           }
+
+
+           function replaceAvatars(selection) {
+               var osm = services$1.osm;
+               if (!osm) return;
+
+               var uids = {};  // gather uids in the comment thread
+               _note.comments.forEach(function(d) {
+                   if (d.uid) uids[d.uid] = true;
+               });
+
+               Object.keys(uids).forEach(function(uid) {
+                   osm.loadUser(uid, function(err, user) {
+                       if (!user || !user.image_url) return;
+
+                       selection.selectAll('.comment-avatar.user-' + uid)
+                           .html('')
+                           .append('img')
+                           .attr('class', 'icon comment-avatar-icon')
+                           .attr('src', user.image_url)
+                           .attr('alt', user.display_name);
+                   });
+               });
+           }
+
+
+           function localeDateString(s) {
+               if (!s) return null;
+               var detected = utilDetect();
+               var options = { day: 'numeric', month: 'short', year: 'numeric' };
+               s = s.replace(/-/g, '/'); // fix browser-specific Date() issues
+               var d = new Date(s);
+               if (isNaN(d.getTime())) return null;
+               return d.toLocaleDateString(detected.locale, options);
+           }
+
+
+           noteComments.note = function(val) {
+               if (!arguments.length) return _note;
+               _note = val;
+               return noteComments;
+           };
+
+
+           return noteComments;
+       }
+
+       function uiNoteHeader() {
+           var _note;
+
+
+           function noteHeader(selection) {
+               var header = selection.selectAll('.note-header')
+                   .data(
+                       (_note ? [_note] : []),
+                       function(d) { return d.status + d.id; }
+                   );
+
+               header.exit()
+                   .remove();
+
+               var headerEnter = header.enter()
+                   .append('div')
+                   .attr('class', 'note-header');
+
+               var iconEnter = headerEnter
+                   .append('div')
+                   .attr('class', function(d) { return 'note-header-icon ' + d.status; })
+                   .classed('new', function(d) { return d.id < 0; });
+
+               iconEnter
+                   .append('div')
+                   .attr('class', 'preset-icon-28')
+                   .call(svgIcon('#iD-icon-note', 'note-fill'));
+
+               iconEnter.each(function(d) {
+                   var statusIcon = '#iD-icon-' + (d.id < 0 ? 'plus' : (d.status === 'open' ? 'close' : 'apply'));
+                   iconEnter
+                       .append('div')
+                       .attr('class', 'note-icon-annotation')
+                       .call(svgIcon(statusIcon, 'icon-annotation'));
+               });
+
+               headerEnter
+                   .append('div')
+                   .attr('class', 'note-header-label')
+                   .text(function(d) {
+                       if (_note.isNew()) { return t('note.new'); }
+                       return t('note.note') + ' ' + d.id + ' ' +
+                           (d.status === 'closed' ? t('note.closed') : '');
+                   });
+           }
+
+
+           noteHeader.note = function(val) {
+               if (!arguments.length) return _note;
+               _note = val;
+               return noteHeader;
+           };
+
+
+           return noteHeader;
+       }
+
+       function uiNoteReport() {
+           var _note;
+
+           function noteReport(selection) {
+               var url;
+               if (services$1.osm && (_note instanceof osmNote) && (!_note.isNew())) {
+                   url = services$1.osm.noteReportURL(_note);
+               }
+
+               var link = selection.selectAll('.note-report')
+                   .data(url ? [url] : []);
+
+               // exit
+               link.exit()
+                   .remove();
+
+               // enter
+               var linkEnter = link.enter()
+                   .append('a')
+                   .attr('class', 'note-report')
+                   .attr('target', '_blank')
+                   .attr('href', function(d) { return d; })
+                   .call(svgIcon('#iD-icon-out-link', 'inline'));
+
+               linkEnter
+                   .append('span')
+                   .text(t('note.report'));
+           }
+
+
+           noteReport.note = function(val) {
+               if (!arguments.length) return _note;
+               _note = val;
+               return noteReport;
+           };
+
+           return noteReport;
+       }
+
+       var _tooltipID = 0;
+
+       function tooltip(klass) {
+           var _id = _tooltipID++;
+           var tooltip = function(selection) {
+               selection.each(setup);
+           };
+           var _animation = utilFunctor(false);
+           var _title = function() {
+               var title = this.getAttribute('data-original-title');
+               if (title) {
+                   return title;
+               } else {
+                   title = this.getAttribute('title');
+                   this.removeAttribute('title');
+                   this.setAttribute('data-original-title', title);
+               }
+               return title;
+           };
+           var _html = utilFunctor(false);
+           var _placement = utilFunctor('top');
+
+
+           tooltip.title = function(val) {
+               if (arguments.length) {
+                   _title = utilFunctor(val);
+                   return tooltip;
+               } else {
+                   return _title;
+               }
+           };
+
+
+           tooltip.html = function(val) {
+               if (arguments.length) {
+                   _html = utilFunctor(val);
+                   return tooltip;
+               } else {
+                   return _html;
+               }
+           };
+
+
+           tooltip.placement = function(val) {
+               if (arguments.length) {
+                   _placement = utilFunctor(val);
+                   return tooltip;
+               } else {
+                   return _placement;
+               }
+           };
+
+
+           tooltip.show = function(selection) {
+               selection.each(show);
+           };
+
+
+           tooltip.hide = function(selection) {
+               selection.each(hide);
+           };
+
+
+           tooltip.toggle = function(selection) {
+               selection.each(toggle);
+           };
+
+
+           tooltip.destroy = function(selection, selector) {
+               // by default, just destroy the current tooltip
+               selector = selector || '.tooltip-' + _id;
+
+               selection
+                   .on('mouseenter.tooltip', null)
+                   .on('mouseleave.tooltip', null)
+                   .attr('title', function() {
+                       return this.getAttribute('data-original-title') || this.getAttribute('title');
+                   })
+                   .attr('data-original-title', null)
+                   .selectAll(selector)
+                   .remove();
+           };
+
+
+           tooltip.destroyAny = function(selection) {
+               selection.call(tooltip.destroy, '.tooltip');
+           };
+
+           var isTouchEvent = false;
+
+           function setup() {
+               var root = d3_select(this);
+               var animate = _animation.apply(this, arguments);
+               var tip = root.selectAll('.tooltip-' + _id)
+                   .data([0]);
+
+               var enter = tip.enter()
+                   .append('div')
+                   .attr('class', 'tooltip tooltip-' + _id + ' ' + (klass ? klass : ''));
+
+               enter
+                   .append('div')
+                   .attr('class', 'tooltip-arrow');
+
+               enter
+                   .append('div')
+                   .attr('class', 'tooltip-inner');
+
+               tip = enter
+                   .merge(tip);
+
+               if (animate) {
+                   tip.classed('fade', true);
+               }
+
+               var place = _placement.apply(this, arguments);
+               tip.classed(place, true);
+
+               root.on('touchstart.tooltip', function() {
+                   // hack to avoid showing tooltips upon touch input
+                   isTouchEvent = true;
+               });
+               root.on('mouseenter.tooltip', show);
+               root.on('mouseleave.tooltip', hide);
+           }
+
+
+           function show() {
+               if (isTouchEvent) {
+                   isTouchEvent = false;
+                   return;
+               }
+               var root = d3_select(this);
+               var content = _title.apply(this, arguments);
+               var tip = root.selectAll('.tooltip-' + _id);
+
+               if (tip.empty()) {   // tooltip was removed somehow, put it back
+                   root.call(tooltip.destroy);
+                   root.each(setup);
+                   tip = root.selectAll('.tooltip-' + _id);
+               }
+
+               tip.classed('in', true);
+               var markup = _html.apply(this, arguments);
+
+               tip.selectAll('.tooltip-inner')[markup ? 'html' : 'text'](content);
+               var place = _placement.apply(this, arguments);
+               var outer = getPosition(root.node());
+               var inner = getPosition(tip.node());
+               var pos;
+
+               switch (place) {
+                   case 'top':
+                   pos = { x: outer.x + (outer.w - inner.w) / 2, y: outer.y - inner.h };
+                   break;
+                   case 'right':
+                   pos = { x: outer.x + outer.w, y: outer.y + (outer.h - inner.h) / 2 };
+                   break;
+                   case 'left':
+                   pos = { x: outer.x - inner.w, y: outer.y + (outer.h - inner.h) / 2 };
+                   break;
+                   case 'bottom':
+                   pos = { x: outer.x + (outer.w - inner.w) / 2, y: outer.y + outer.h };
+                   break;
+               }
+
+               if (pos) {
+                   tip.style('left', ~~pos.x + 'px').style('top', ~~pos.y + 'px');
+               } else {
+                   tip.style('left', null).style('top', null);
+               }
+
+               this.tooltipVisible = true;
+
+
+               function getPosition(node) {
+                   var mode = d3_select(node).style('position');
+                   if (mode === 'absolute' || mode === 'static') {
+                       return {
+                           x: node.offsetLeft,
+                           y: node.offsetTop,
+                           w: node.offsetWidth,
+                           h: node.offsetHeight
+                       };
+                   } else {
+                       return {
+                           x: 0,
+                           y: 0,
+                           w: node.offsetWidth,
+                           h: node.offsetHeight
+                       };
+                   }
+               }
+           }
+
+
+           function hide() {
+               d3_select(this).selectAll('.tooltip-' + _id).classed('in', false);
+               this.tooltipVisible = false;
+           }
+
+
+           function toggle() {
+               if (this.tooltipVisible) {
+                   hide.apply(this, arguments);
+               } else {
+                   show.apply(this, arguments);
+               }
+           }
+
+
+           return tooltip;
+       }
+
+       function uiQuickLinks() {
+           var _choices = [];
+
+
+           function quickLinks(selection) {
+               var container = selection.selectAll('.quick-links')
+                   .data([0]);
+
+               container = container.enter()
+                   .append('div')
+                   .attr('class', 'quick-links')
+                   .merge(container);
+
+               var items = container.selectAll('.quick-link')
+                   .data(_choices, function(d) { return d.id; });
+
+               items.exit()
+                   .remove();
+
+               items.enter()
+                   .append('a')
+                   .attr('class', function(d) { return 'quick-link quick-link-' + d.id; })
+                   .attr('href', '#')
+                   .text(function(d) { return t(d.label); })
+                   .each(function(d) {
+                       if (typeof d.tooltip !== 'function') return;
+                       d3_select(this)
+                           .call(tooltip().html(true).title(d.tooltip).placement('bottom'));
+                   })
+                   .on('click', function(d) {
+                       if (typeof d.click !== 'function') return;
+                       event.preventDefault();
+                       d.click(d);
+                   });
+           }
+
+
+           //  val should be an array of choices like:
+           //    [{
+           //       id: 'link-id',
+           //       label: 'translation.key',
+           //       tooltip: function(d),
+           //       click: function(d)
+           //    }, ..]
+           quickLinks.choices = function(val) {
+               if (!arguments.length) return _choices;
+               _choices = val;
+               return quickLinks;
+           };
+
+
+           return quickLinks;
+       }
+
+       function uiTooltipHtml(text, key, heading) {
+           var s = '';
+
+           if (heading) {
+               s += '<div class="tooltip-heading"><span>' + heading + '</span></div>';
+           }
+           if (text) {
+               s += '<div class="tooltip-text"><span>' + text + '</span></div>';
+           }
+           if (key) {
+               s += '<div class="keyhint-wrap"><span>' + t('tooltip_keyhint') + '</span>' +
+                   '<span class="keyhint">' + key + '</span></div>';
+           }
+
+           return s;
+       }
+
+       function uiViewOnOSM(context) {
+           var _what;   // an osmEntity or osmNote
+
+
+           function viewOnOSM(selection) {
+               var url;
+               if (_what instanceof osmEntity) {
+                   url = context.connection().entityURL(_what);
+               } else if (_what instanceof osmNote) {
+                   url = context.connection().noteURL(_what);
+               }
+
+               var data = ((!_what || _what.isNew()) ? [] : [_what]);
+               var link = selection.selectAll('.view-on-osm')
+                   .data(data, function(d) { return d.id; });
+
+               // exit
+               link.exit()
+                   .remove();
+
+               // enter
+               var linkEnter = link.enter()
+                   .append('a')
+                   .attr('class', 'view-on-osm')
+                   .attr('target', '_blank')
+                   .attr('href', url)
+                   .call(svgIcon('#iD-icon-out-link', 'inline'));
+
+               linkEnter
+                   .append('span')
+                   .text(t('inspector.view_on_osm'));
+           }
+
+
+           viewOnOSM.what = function(_) {
+               if (!arguments.length) return _what;
+               _what = _;
+               return viewOnOSM;
+           };
+
+           return viewOnOSM;
+       }
+
+       function uiNoteEditor(context) {
+           var dispatch$1 = dispatch('change');
+           var quickLinks = uiQuickLinks();
+           var noteComments = uiNoteComments();
+           var noteHeader = uiNoteHeader();
+
+           // var formFields = uiFormFields(context);
+
+           var _note;
+           // var _fieldsArr;
+
+
+           function noteEditor(selection) {
+               // quick links
+               var choices = [{
+                   id: 'zoom_to',
+                   label: 'inspector.zoom_to.title',
+                   tooltip: function() {
+                       return uiTooltipHtml(t('inspector.zoom_to.tooltip_note'), t('inspector.zoom_to.key'));
+                   },
+                   click: function zoomTo() {
+                       context.mode().zoomToSelected();
+                   }
+               }];
+
+
+               var header = selection.selectAll('.header')
+                   .data([0]);
+
+               var headerEnter = header.enter()
+                   .append('div')
+                   .attr('class', 'header fillL');
+
+               headerEnter
+                   .append('button')
+                   .attr('class', 'fr note-editor-close')
+                   .on('click', function() {
+                       context.enter(modeBrowse(context));
+                   })
+                   .call(svgIcon('#iD-icon-close'));
+
+               headerEnter
+                   .append('h3')
+                   .text(t('note.title'));
+
+
+               var body = selection.selectAll('.body')
+                   .data([0]);
+
+               body = body.enter()
+                   .append('div')
+                   .attr('class', 'body')
+                   .merge(body);
+
+               var editor = body.selectAll('.note-editor')
+                   .data([0]);
+
+               editor.enter()
+                   .append('div')
+                   .attr('class', 'modal-section note-editor')
+                   .merge(editor)
+                   .call(noteHeader.note(_note))
+                   .call(quickLinks.choices(choices))
+                   .call(noteComments.note(_note))
+                   .call(noteSaveSection);
+
+
+               var footer = selection.selectAll('.footer')
+                   .data([0]);
+
+               footer.enter()
+                   .append('div')
+                   .attr('class', 'footer')
+                   .merge(footer)
+                   .call(uiViewOnOSM(context).what(_note))
+                   .call(uiNoteReport().note(_note));
+
+
+               // rerender the note editor on any auth change
+               var osm = services$1.osm;
+               if (osm) {
+                   osm.on('change.note-save', function() {
+                       selection.call(noteEditor);
+                   });
+               }
+           }
+
+
+           function noteSaveSection(selection) {
+               var isSelected = (_note && _note.id === context.selectedNoteID());
+               var noteSave = selection.selectAll('.note-save')
+                   .data((isSelected ? [_note] : []), function(d) { return d.status + d.id; });
+
+               // exit
+               noteSave.exit()
+                   .remove();
+
+               // enter
+               var noteSaveEnter = noteSave.enter()
+                   .append('div')
+                   .attr('class', 'note-save save-section cf');
+
+               // // if new note, show categories to pick from
+               // if (_note.isNew()) {
+               //     var presets = context.presets();
+
+               //     // NOTE: this key isn't a age and therefore there is no documentation (yet)
+               //     _fieldsArr = [
+               //         uiField(context, presets.field('category'), null, { show: true, revert: false }),
+               //     ];
+
+               //     _fieldsArr.forEach(function(field) {
+               //         field
+               //             .on('change', changeCategory);
+               //     });
+
+               //     noteSaveEnter
+               //         .append('div')
+               //         .attr('class', 'note-category')
+               //         .call(formFields.fieldsArr(_fieldsArr));
+               // }
+
+               // function changeCategory() {
+               //     // NOTE: perhaps there is a better way to get value
+               //     var val = d3_select('input[name=\'category\']:checked').property('__data__') || undefined;
+
+               //     // store the unsaved category with the note itself
+               //     _note = _note.update({ newCategory: val });
+               //     var osm = services.osm;
+               //     if (osm) {
+               //         osm.replaceNote(_note);  // update note cache
+               //     }
+               //     noteSave
+               //         .call(noteSaveButtons);
+               // }
+
+               noteSaveEnter
+                   .append('h4')
+                   .attr('class', '.note-save-header')
+                   .text(function() {
+                       return _note.isNew() ? t('note.newDescription') : t('note.newComment');
+                   });
+
+               noteSaveEnter
+                   .append('textarea')
+                   .attr('class', 'new-comment-input')
+                   .attr('placeholder', t('note.inputPlaceholder'))
+                   .attr('maxlength', 1000)
+                   .property('value', function(d) { return d.newComment; })
+                   .call(utilNoAuto)
+                   .on('keydown.note-input', keydown)
+                   .on('input.note-input', changeInput)
+                   .on('blur.note-input', changeInput);
+
+               // update
+               noteSave = noteSaveEnter
+                   .merge(noteSave)
+                   .call(userDetails)
+                   .call(noteSaveButtons);
+
+
+               // fast submit if user presses cmd+enter
+               function keydown() {
+                   if (!(event.keyCode === 13 && event.metaKey)) return;
+
+                   var osm = services$1.osm;
+                   if (!osm) return;
+
+                   var hasAuth = osm.authenticated();
+                   if (!hasAuth) return;
+
+                   if (!_note.newComment) return;
+
+                   event.preventDefault();
+
+                   d3_select(this)
+                       .on('keydown.note-input', null);
+
+                   // focus on button and submit
+                   window.setTimeout(function() {
+                       if (_note.isNew()) {
+                           noteSave.selectAll('.save-button').node().focus();
+                           clickSave(_note);
+                       } else  {
+                           noteSave.selectAll('.comment-button').node().focus();
+                           clickComment(_note);
+                       }
+                   }, 10);
+               }
+
+
+               function changeInput() {
+                   var input = d3_select(this);
+                   var val = input.property('value').trim() || undefined;
+
+                   // store the unsaved comment with the note itself
+                   _note = _note.update({ newComment: val });
+
+                   var osm = services$1.osm;
+                   if (osm) {
+                       osm.replaceNote(_note);  // update note cache
+                   }
+
+                   noteSave
+                       .call(noteSaveButtons);
+               }
+           }
+
+
+           function userDetails(selection) {
+               var detailSection = selection.selectAll('.detail-section')
+                   .data([0]);
+
+               detailSection = detailSection.enter()
+                   .append('div')
+                   .attr('class', 'detail-section')
+                   .merge(detailSection);
+
+               var osm = services$1.osm;
+               if (!osm) return;
+
+               // Add warning if user is not logged in
+               var hasAuth = osm.authenticated();
+               var authWarning = detailSection.selectAll('.auth-warning')
+                   .data(hasAuth ? [] : [0]);
+
+               authWarning.exit()
+                   .transition()
+                   .duration(200)
+                   .style('opacity', 0)
+                   .remove();
+
+               var authEnter = authWarning.enter()
+                   .insert('div', '.tag-reference-body')
+                   .attr('class', 'field-warning auth-warning')
+                   .style('opacity', 0);
+
+               authEnter
+                   .call(svgIcon('#iD-icon-alert', 'inline'));
+
+               authEnter
+                   .append('span')
+                   .text(t('note.login'));
+
+               authEnter
+                   .append('a')
+                   .attr('target', '_blank')
+                   .call(svgIcon('#iD-icon-out-link', 'inline'))
+                   .append('span')
+                   .text(t('login'))
+                   .on('click.note-login', function() {
+                       event.preventDefault();
+                       osm.authenticate();
+                   });
+
+               authEnter
+                   .transition()
+                   .duration(200)
+                   .style('opacity', 1);
+
+
+               var prose = detailSection.selectAll('.note-save-prose')
+                   .data(hasAuth ? [0] : []);
+
+               prose.exit()
+                   .remove();
+
+               prose = prose.enter()
+                   .append('p')
+                   .attr('class', 'note-save-prose')
+                   .text(t('note.upload_explanation'))
+                   .merge(prose);
+
+               osm.userDetails(function(err, user) {
+                   if (err) return;
+
+                   var userLink = d3_select(document.createElement('div'));
+
+                   if (user.image_url) {
+                       userLink
+                           .append('img')
+                           .attr('src', user.image_url)
+                           .attr('class', 'icon pre-text user-icon');
+                   }
+
+                   userLink
+                       .append('a')
+                       .attr('class', 'user-info')
+                       .text(user.display_name)
+                       .attr('href', osm.userURL(user.display_name))
+                       .attr('tabindex', -1)
+                       .attr('target', '_blank');
+
+                   prose
+                       .html(t('note.upload_explanation_with_user', { user: userLink.html() }));
+               });
+           }
+
+
+           function noteSaveButtons(selection) {
+               var osm = services$1.osm;
+               var hasAuth = osm && osm.authenticated();
+
+               var isSelected = (_note && _note.id === context.selectedNoteID());
+               var buttonSection = selection.selectAll('.buttons')
+                   .data((isSelected ? [_note] : []), function(d) { return d.status + d.id; });
+
+               // exit
+               buttonSection.exit()
+                   .remove();
+
+               // enter
+               var buttonEnter = buttonSection.enter()
+                   .append('div')
+                   .attr('class', 'buttons');
+
+               if (_note.isNew()) {
+                   buttonEnter
+                       .append('button')
+                       .attr('class', 'button cancel-button secondary-action')
+                       .text(t('confirm.cancel'));
+
+                   buttonEnter
+                       .append('button')
+                       .attr('class', 'button save-button action')
+                       .text(t('note.save'));
+
+               } else {
+                   buttonEnter
+                       .append('button')
+                       .attr('class', 'button status-button action');
+
+                   buttonEnter
+                       .append('button')
+                       .attr('class', 'button comment-button action')
+                       .text(t('note.comment'));
+               }
+
+
+               // update
+               buttonSection = buttonSection
+                   .merge(buttonEnter);
+
+               buttonSection.select('.cancel-button')   // select and propagate data
+                   .on('click.cancel', clickCancel);
+
+               buttonSection.select('.save-button')     // select and propagate data
+                   .attr('disabled', isSaveDisabled)
+                   .on('click.save', clickSave);
+
+               buttonSection.select('.status-button')   // select and propagate data
+                   .attr('disabled', (hasAuth ? null : true))
+                   .text(function(d) {
+                       var action = (d.status === 'open' ? 'close' : 'open');
+                       var andComment = (d.newComment ? '_comment' : '');
+                       return t('note.' + action + andComment);
+                   })
+                   .on('click.status', clickStatus);
+
+               buttonSection.select('.comment-button')   // select and propagate data
+                   .attr('disabled', isSaveDisabled)
+                   .on('click.comment', clickComment);
+
+
+               function isSaveDisabled(d) {
+                   return (hasAuth && d.status === 'open' && d.newComment) ? null : true;
+               }
+           }
+
+
+
+           function clickCancel(d) {
+               this.blur();    // avoid keeping focus on the button - #4641
+               var osm = services$1.osm;
+               if (osm) {
+                   osm.removeNote(d);
+               }
+               context.enter(modeBrowse(context));
+               dispatch$1.call('change');
+           }
+
+
+           function clickSave(d) {
+               this.blur();    // avoid keeping focus on the button - #4641
+               var osm = services$1.osm;
+               if (osm) {
+                   osm.postNoteCreate(d, function(err, note) {
+                       dispatch$1.call('change', note);
+                   });
+               }
+           }
+
+
+           function clickStatus(d) {
+               this.blur();    // avoid keeping focus on the button - #4641
+               var osm = services$1.osm;
+               if (osm) {
+                   var setStatus = (d.status === 'open' ? 'closed' : 'open');
+                   osm.postNoteUpdate(d, setStatus, function(err, note) {
+                       dispatch$1.call('change', note);
+                   });
+               }
+           }
+
+           function clickComment(d) {
+               this.blur();    // avoid keeping focus on the button - #4641
+               var osm = services$1.osm;
+               if (osm) {
+                   osm.postNoteUpdate(d, d.status, function(err, note) {
+                       dispatch$1.call('change', note);
+                   });
+               }
+           }
+
+
+           noteEditor.note = function(val) {
+               if (!arguments.length) return _note;
+               _note = val;
+               return noteEditor;
+           };
+
+
+           return utilRebind(noteEditor, dispatch$1, 'on');
+       }
+
+       function modeSelectNote(context, selectedNoteID) {
+           var mode = {
+               id: 'select-note',
+               button: 'browse'
+           };
+
+           var osm = services$1.osm;
+           var keybinding = utilKeybinding('select-note');
+           var noteEditor = uiNoteEditor(context)
+               .on('change', function() {
+                   context.map().pan([0,0]);  // trigger a redraw
+                   var note = checkSelectedID();
+                   if (!note) return;
+                   context.ui().sidebar
+                       .show(noteEditor.note(note));
+               });
+
+           var behaviors = [
+               behaviorBreathe(),
+               behaviorHover(context),
+               behaviorSelect(context),
+               behaviorLasso(context),
+               modeDragNode(context).behavior,
+               modeDragNote(context).behavior
+           ];
+
+           var newFeature = false;
+
+
+           function checkSelectedID() {
+               if (!osm) return;
+               var note = osm.getNote(selectedNoteID);
+               if (!note) {
+                   context.enter(modeBrowse(context));
+               }
+               return note;
+           }
+
+
+           // class the note as selected, or return to browse mode if the note is gone
+           function selectNote(drawn) {
+               if (!checkSelectedID()) return;
+
+               var selection = context.surface().selectAll('.layer-notes .note-' + selectedNoteID);
+
+               if (selection.empty()) {
+                   // Return to browse mode if selected DOM elements have
+                   // disappeared because the user moved them out of view..
+                   var source = event && event.type === 'zoom' && event.sourceEvent;
+                   if (drawn && source && (source.type === 'mousemove' || source.type === 'touchmove')) {
+                       context.enter(modeBrowse(context));
+                   }
+
+               } else {
+                   selection
+                       .classed('selected', true);
+
+                   context.selectedNoteID(selectedNoteID);
+               }
+           }
+
+
+           function esc() {
+               if (d3_select('.combobox').size()) return;
+               context.enter(modeBrowse(context));
+           }
+
+
+           mode.zoomToSelected = function() {
+               if (!osm) return;
+               var note = osm.getNote(selectedNoteID);
+               if (note) {
+                   context.map().centerZoomEase(note.loc, 20);
+               }
+           };
+
+
+           mode.newFeature = function(val) {
+               if (!arguments.length) return newFeature;
+               newFeature = val;
+               return mode;
+           };
+
+
+           mode.enter = function() {
+               var note = checkSelectedID();
+               if (!note) return;
+
+               behaviors.forEach(context.install);
+
+               keybinding
+                   .on(t('inspector.zoom_to.key'), mode.zoomToSelected)
+                   .on('⎋', esc, true);
+
+               d3_select(document)
+                   .call(keybinding);
+
+               selectNote();
+
+               var sidebar = context.ui().sidebar;
+               sidebar.show(noteEditor.note(note));
+
+               // expand the sidebar, avoid obscuring the note if needed
+               sidebar.expand(sidebar.intersects(note.extent()));
+
+               context.map()
+                   .on('drawn.select', selectNote);
+           };
+
+
+           mode.exit = function() {
+               behaviors.forEach(context.uninstall);
+
+               d3_select(document)
+                   .call(keybinding.unbind);
+
+               context.surface()
+                   .selectAll('.layer-notes .selected')
+                   .classed('selected hover', false);
+
+               context.map()
+                   .on('drawn.select', null);
+
+               context.ui().sidebar
+                   .hide();
+
+               context.selectedNoteID(null);
+           };
+
+
+           return mode;
+       }
+
+       function modeDragNote(context) {
+           var mode = {
+               id: 'drag-note',
+               button: 'browse'
+           };
+
+           var edit = behaviorEdit(context);
+
+           var _nudgeInterval;
+           var _lastLoc;
+           var _note;    // most current note.. dragged note may have stale datum.
+
+
+           function startNudge(nudge) {
+               if (_nudgeInterval) window.clearInterval(_nudgeInterval);
+               _nudgeInterval = window.setInterval(function() {
+                   context.pan(nudge);
+                   doMove(nudge);
+               }, 50);
+           }
+
+
+           function stopNudge() {
+               if (_nudgeInterval) {
+                   window.clearInterval(_nudgeInterval);
+                   _nudgeInterval = null;
+               }
+           }
+
+
+           function origin(note) {
+               return context.projection(note.loc);
+           }
+
+
+           function start(note) {
+               _note = note;
+               var osm = services$1.osm;
+               if (osm) {
+                   // Get latest note from cache.. The marker may have a stale datum bound to it
+                   // and dragging it around can sometimes delete the users note comment.
+                   _note = osm.getNote(_note.id);
+               }
+
+               context.surface().selectAll('.note-' + _note.id)
+                   .classed('active', true);
+
+               context.perform(actionNoop());
+               context.enter(mode);
+               context.selectedNoteID(_note.id);
+           }
+
+
+           function move() {
+               event.sourceEvent.stopPropagation();
+               _lastLoc = context.projection.invert(event.point);
+
+               doMove();
+               var nudge = geoViewportEdge(event.point, context.map().dimensions());
+               if (nudge) {
+                   startNudge(nudge);
+               } else {
+                   stopNudge();
+               }
+           }
+
+
+           function doMove(nudge) {
+               nudge = nudge || [0, 0];
+
+               var currPoint = (event && event.point) || context.projection(_lastLoc);
+               var currMouse = geoVecSubtract(currPoint, nudge);
+               var loc = context.projection.invert(currMouse);
+
+               _note = _note.move(loc);
+
+               var osm = services$1.osm;
+               if (osm) {
+                   osm.replaceNote(_note);  // update note cache
+               }
+
+               context.replace(actionNoop());   // trigger redraw
+           }
+
+
+           function end() {
+               context.replace(actionNoop());   // trigger redraw
+
+               context
+                   .selectedNoteID(_note.id)
+                   .enter(modeSelectNote(context, _note.id));
+           }
+
+
+           var drag = behaviorDrag()
+               .selector('.layer-touch.markers .target.note.new')
+               .surface(d3_select('#map').node())
+               .origin(origin)
+               .on('start', start)
+               .on('move', move)
+               .on('end', end);
+
+
+           mode.enter = function() {
+               context.install(edit);
+           };
+
+
+           mode.exit = function() {
+               context.ui().sidebar.hover.cancel();
+               context.uninstall(edit);
+
+               context.surface()
+                   .selectAll('.active')
+                   .classed('active', false);
+
+               stopNudge();
+           };
+
+           mode.behavior = drag;
+
+           return mode;
+       }
+
+       function uiDataHeader() {
+           var _datum;
+
+
+           function dataHeader(selection) {
+               var header = selection.selectAll('.data-header')
+                   .data(
+                       (_datum ? [_datum] : []),
+                       function(d) { return d.__featurehash__; }
+                   );
+
+               header.exit()
+                   .remove();
+
+               var headerEnter = header.enter()
+                   .append('div')
+                   .attr('class', 'data-header');
+
+               var iconEnter = headerEnter
+                   .append('div')
+                   .attr('class', 'data-header-icon');
+
+               iconEnter
+                   .append('div')
+                   .attr('class', 'preset-icon-28')
+                   .call(svgIcon('#iD-icon-data', 'note-fill'));
+
+               headerEnter
+                   .append('div')
+                   .attr('class', 'data-header-label')
+                   .text(t('map_data.layers.custom.title'));
+           }
+
+
+           dataHeader.datum = function(val) {
+               if (!arguments.length) return _datum;
+               _datum = val;
+               return this;
+           };
+
+
+           return dataHeader;
+       }
+
+       // This code assumes that the combobox values will not have duplicate entries.
+       // It is keyed on the `value` of the entry. Data should be an array of objects like:
+       //   [{
+       //       value:  'display text',  // required
+       //       title:  'hover text'     // optional
+       //   }, ...]
+
+       var _comboHideTimerID;
+
+       function uiCombobox(context, klass) {
+           var dispatch$1 = dispatch('accept', 'cancel');
+           var container = context.container();
+
+           var _suggestions = [];
+           var _data = [];
+           var _fetched = {};
+           var _selected = null;
+           var _canAutocomplete = true;
+           var _caseSensitive = false;
+           var _cancelFetch = false;
+           var _minItems = 2;
+           var _tDown = 0;
+
+           var _fetcher = function(val, cb) {
+               cb(_data.filter(function(d) {
+                   return d.value
+                       .toString()
+                       .toLowerCase()
+                       .indexOf(val.toLowerCase()) !== -1;
+               }));
+           };
+
+           var combobox = function(input, attachTo) {
+               if (!input || input.empty()) return;
+
+               input
+                   .classed('combobox-input', true)
+                   .on('focus.combo-input', focus)
+                   .on('blur.combo-input', blur)
+                   .on('keydown.combo-input', keydown)
+                   .on('keyup.combo-input', keyup)
+                   .on('input.combo-input', change)
+                   .on('mousedown.combo-input', mousedown)
+                   .each(function() {
+                       var parent = this.parentNode;
+                       var sibling = this.nextSibling;
+
+                       d3_select(parent).selectAll('.combobox-caret')
+                           .filter(function(d) { return d === input.node(); })
+                           .data([input.node()])
+                           .enter()
+                           .insert('div', function() { return sibling; })
+                           .attr('class', 'combobox-caret')
+                           .on('mousedown.combo-caret', function() {
+                               event.preventDefault(); // don't steal focus from input
+                               input.node().focus(); // focus the input as if it was clicked
+                               mousedown();
+                           })
+                           .on('mouseup.combo-caret', function() {
+                               event.preventDefault(); // don't steal focus from input
+                               mouseup();
+                           });
+                   });
+
+
+               function mousedown() {
+                   if (event.button !== 0) return;    // left click only
+                   _tDown = +new Date();
+
+                   // clear selection
+                   var start = input.property('selectionStart');
+                   var end = input.property('selectionEnd');
+                   if (start !== end) {
+                       var val = utilGetSetValue(input);
+                       input.node().setSelectionRange(val.length, val.length);
+                       return;
+                   }
+
+                   input.on('mouseup.combo-input', mouseup);
+               }
+
+
+               function mouseup() {
+                   input.on('mouseup.combo-input', null);
+                   if (event.button !== 0) return;    // left click only
+                   if (input.node() !== document.activeElement) return;   // exit if this input is not focused
+
+                   var start = input.property('selectionStart');
+                   var end = input.property('selectionEnd');
+                   if (start !== end) return;  // exit if user is selecting
+
+                   // not showing or showing for a different field - try to show it.
+                   var combo = container.selectAll('.combobox');
+                   if (combo.empty() || combo.datum() !== input.node()) {
+                       var tOrig = _tDown;
+                       window.setTimeout(function() {
+                           if (tOrig !== _tDown) return;   // exit if user double clicked
+                           fetchComboData('', function() {
+                               show();
+                               render();
+                           });
+                       }, 250);
+
+                   } else {
+                       hide();
+                   }
+               }
+
+
+               function focus() {
+                   fetchComboData('');   // prefetch values (may warm taginfo cache)
+               }
+
+
+               function blur() {
+                   _comboHideTimerID = window.setTimeout(hide, 75);
+               }
+
+
+               function show() {
+                   hide();   // remove any existing
+
+                   container
+                       .insert('div', ':first-child')
+                       .datum(input.node())
+                       .attr('class', 'combobox' + (klass ? ' combobox-' + klass : ''))
+                       .style('position', 'absolute')
+                       .style('display', 'block')
+                       .style('left', '0px')
+                       .on('mousedown.combo-container', function () {
+                           // prevent moving focus out of the input field
+                           event.preventDefault();
+                       });
+
+                   d3_select('body')
+                       .on('scroll.combo-scroll', render, true);
+               }
+
+
+               function hide() {
+                   if (_comboHideTimerID) {
+                       window.clearTimeout(_comboHideTimerID);
+                       _comboHideTimerID = undefined;
+                   }
+
+                   container.selectAll('.combobox')
+                       .remove();
+
+                   d3_select('body')
+                       .on('scroll.combo-scroll', null);
+               }
+
+
+               function keydown() {
+                   var shown = !container.selectAll('.combobox').empty();
+                   var tagName = input.node() ? input.node().tagName.toLowerCase() : '';
+
+                   switch (event.keyCode) {
+                       case 8:   // ⌫ Backspace
+                       case 46:  // ⌦ Delete
+                           event.stopPropagation();
+                           _selected = null;
+                           render();
+                           input.on('input.combo-input', function() {
+                               var start = input.property('selectionStart');
+                               input.node().setSelectionRange(start, start);
+                               input.on('input.combo-input', change);
+                           });
+                           break;
+
+                       case 9:   // ⇥ Tab
+                           accept();
+                           break;
+
+                       case 13:  // ↩ Return
+                           event.preventDefault();
+                           event.stopPropagation();
+                           break;
+
+                       case 38:  // ↑ Up arrow
+                           if (tagName === 'textarea' && !shown) return;
+                           event.preventDefault();
+                           if (tagName === 'input' && !shown) {
+                               show();
+                           }
+                           nav(-1);
+                           break;
+
+                       case 40:  // ↓ Down arrow
+                           if (tagName === 'textarea' && !shown) return;
+                           event.preventDefault();
+                           if (tagName === 'input' && !shown) {
+                               show();
+                           }
+                           nav(+1);
+                           break;
+                   }
+               }
+
+
+               function keyup() {
+                   switch (event.keyCode) {
+                       case 27:  // ⎋ Escape
+                           cancel();
+                           break;
+
+                       case 13:  // ↩ Return
+                           accept();
+                           break;
+                   }
+               }
+
+
+               // Called whenever the input value is changed (e.g. on typing)
+               function change() {
+                   fetchComboData(value(), function() {
+                       _selected = null;
+                       var val = input.property('value');
+
+                       if (_suggestions.length) {
+                           if (input.property('selectionEnd') === val.length) {
+                               _selected = tryAutocomplete();
+                           }
+
+                           if (!_selected) {
+                               _selected = val;
+                           }
+                       }
+
+                       if (val.length) {
+                           var combo = container.selectAll('.combobox');
+                           if (combo.empty()) {
+                               show();
+                           }
+                       } else {
+                           hide();
+                       }
+
+                       render();
+                   });
+               }
+
+
+               // Called when the user presses up/down arrows to navigate the list
+               function nav(dir) {
+                   if (_suggestions.length) {
+                       // try to determine previously selected index..
+                       var index = -1;
+                       for (var i = 0; i < _suggestions.length; i++) {
+                           if (_selected && _suggestions[i].value === _selected) {
+                               index = i;
+                               break;
+                           }
+                       }
+
+                       // pick new _selected
+                       index = Math.max(Math.min(index + dir, _suggestions.length - 1), 0);
+                       _selected = _suggestions[index].value;
+                       input.property('value', _selected);
+                   }
+
+                   render();
+                   ensureVisible();
+               }
+
+
+               function ensureVisible() {
+                   var combo = container.selectAll('.combobox');
+                   if (combo.empty()) return;
+
+                   var containerRect = container.node().getBoundingClientRect();
+                   var comboRect = combo.node().getBoundingClientRect();
+
+                   if (comboRect.bottom > containerRect.bottom) {
+                       var node = attachTo ? attachTo.node() : input.node();
+                       node.scrollIntoView({ behavior: 'instant', block: 'center' });
+                       render();
+                   }
+
+                   // https://stackoverflow.com/questions/11039885/scrollintoview-causing-the-whole-page-to-move
+                   var selected = combo.selectAll('.combobox-option.selected').node();
+                   if (selected) {
+                       selected.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
+                   }
+               }
+
+
+               function value() {
+                   var value = input.property('value');
+                   var start = input.property('selectionStart');
+                   var end = input.property('selectionEnd');
+
+                   if (start && end) {
+                       value = value.substring(0, start);
+                   }
+
+                   return value;
+               }
+
+
+               function fetchComboData(v, cb) {
+                   _cancelFetch = false;
+
+                   _fetcher.call(input, v, function(results) {
+                       // already chose a value, don't overwrite or autocomplete it
+                       if (_cancelFetch) return;
+
+                       _suggestions = results;
+                       results.forEach(function(d) { _fetched[d.value] = d; });
+
+                       if (cb) {
+                           cb();
+                       }
+                   });
+               }
+
+
+               function tryAutocomplete() {
+                   if (!_canAutocomplete) return;
+
+                   var val = _caseSensitive ? value() : value().toLowerCase();
+                   if (!val) return;
+
+                   // Don't autocomplete if user is typing a number - #4935
+                   if (!isNaN(parseFloat(val)) && isFinite(val)) return;
+
+                   var bestIndex = -1;
+                   for (var i = 0; i < _suggestions.length; i++) {
+                       var suggestion = _suggestions[i].value;
+                       var compare = _caseSensitive ? suggestion : suggestion.toLowerCase();
+
+                       // if search string matches suggestion exactly, pick it..
+                       if (compare === val) {
+                           bestIndex = i;
+                           break;
+
+                       // otherwise lock in the first result that starts with the search string..
+                       } else if (bestIndex === -1 && compare.indexOf(val) === 0) {
+                           bestIndex = i;
+                       }
+                   }
+
+                   if (bestIndex !== -1) {
+                       var bestVal = _suggestions[bestIndex].value;
+                       input.property('value', bestVal);
+                       input.node().setSelectionRange(val.length, bestVal.length);
+                       return bestVal;
+                   }
+               }
+
+
+               function render() {
+                   if (_suggestions.length < _minItems || document.activeElement !== input.node()) {
+                       hide();
+                       return;
+                   }
+
+                   var shown = !container.selectAll('.combobox').empty();
+                   if (!shown) return;
+
+                   var combo = container.selectAll('.combobox');
+                   var options = combo.selectAll('.combobox-option')
+                       .data(_suggestions, function(d) { return d.value; });
+
+                   options.exit()
+                       .remove();
+
+                   // enter/update
+                   options.enter()
+                       .append('a')
+                       .attr('class', 'combobox-option')
+                       .attr('title', function(d) { return d.title; })
+                       .text(function(d) { return d.display || d.value; })
+                       .merge(options)
+                       .classed('selected', function(d) { return d.value === _selected; })
+                       .on('click.combo-option', accept)
+                       .order();
+
+                   var node = attachTo ? attachTo.node() : input.node();
+                   var rect = node.getBoundingClientRect();
+
+                   combo
+                       .style('left', (rect.left + 5) + 'px')
+                       .style('width', (rect.width - 10) + 'px')
+                       .style('top', rect.height + rect.top + 'px');
+               }
+
+
+               // Dispatches an 'accept' event
+               // Then hides the combobox.
+               function accept(d) {
+                   _cancelFetch = true;
+                   var thiz = input.node();
+
+                   if (d) {   // user clicked on a suggestion
+                       utilGetSetValue(input, d.value);    // replace field contents
+                       utilTriggerEvent(input, 'change');
+                   }
+
+                   // clear (and keep) selection
+                   var val = utilGetSetValue(input);
+                   thiz.setSelectionRange(val.length, val.length);
+
+                   d = _fetched[val];
+                   dispatch$1.call('accept', thiz, d, val);
+                   hide();
+               }
+
+
+               // Dispatches an 'cancel' event
+               // Then hides the combobox.
+               function cancel() {
+                   _cancelFetch = true;
+                   var thiz = input.node();
+
+                   // clear (and remove) selection, and replace field contents
+                   var val = utilGetSetValue(input);
+                   var start = input.property('selectionStart');
+                   var end = input.property('selectionEnd');
+                   val = val.slice(0, start) + val.slice(end);
+                   utilGetSetValue(input, val);
+                   thiz.setSelectionRange(val.length, val.length);
+
+                   dispatch$1.call('cancel', thiz);
+                   hide();
+               }
+
+           };
+
+
+           combobox.canAutocomplete = function(val) {
+               if (!arguments.length) return _canAutocomplete;
+               _canAutocomplete = val;
+               return combobox;
+           };
+
+           combobox.caseSensitive = function(val) {
+               if (!arguments.length) return _caseSensitive;
+               _caseSensitive = val;
+               return combobox;
+           };
+
+           combobox.data = function(val) {
+               if (!arguments.length) return _data;
+               _data = val;
+               return combobox;
+           };
+
+           combobox.fetcher = function(val) {
+               if (!arguments.length) return _fetcher;
+               _fetcher = val;
+               return combobox;
+           };
+
+           combobox.minItems = function(val) {
+               if (!arguments.length) return _minItems;
+               _minItems = val;
+               return combobox;
+           };
+
+
+           return utilRebind(combobox, dispatch$1, 'on');
+       }
+
+
+       uiCombobox.off = function(input) {
+           input
+               .on('focus.combo-input', null)
+               .on('blur.combo-input', null)
+               .on('keydown.combo-input', null)
+               .on('keyup.combo-input', null)
+               .on('input.combo-input', null)
+               .on('mousedown.combo-input', null)
+               .on('mouseup.combo-input', null);
+
+
+           d3_select('body')
+               .on('scroll.combo-scroll', null);
+       };
+
+       // toggles the visibility of ui elements, using a combination of the
+       // hide class, which sets display=none, and a d3 transition for opacity.
+       // this will cause blinking when called repeatedly, so check that the
+       // value actually changes between calls.
+       function uiToggle(show, callback) {
+           return function(selection) {
+               selection
+                   .style('opacity', show ? 0 : 1)
+                   .classed('hide', false)
+                   .transition()
+                   .style('opacity', show ? 1 : 0)
+                   .on('end', function() {
+                       d3_select(this)
+                           .classed('hide', !show)
+                           .style('opacity', null);
+                       if (callback) callback.apply(this);
+                   });
+           };
+       }
+
+       function uiDisclosure(context, key, expandedDefault) {
+           var dispatch$1 = dispatch('toggled');
+           var _preference = (context.storage('disclosure.' + key + '.expanded'));
+           var _expanded = (_preference === null ? !!expandedDefault : (_preference === 'true'));
+           var _title;
+           var _updatePreference = true;
+           var _content = function () {};
+
+
+           var disclosure = function(selection) {
+               var hideToggle = selection.selectAll('.hide-toggle-' + key)
+                   .data([0]);
+
+               // enter
+               var hideToggleEnter = hideToggle.enter()
+                   .append('a')
+                   .attr('href', '#')
+                   .attr('class', 'hide-toggle hide-toggle-' + key)
+                   .call(svgIcon('', 'pre-text', 'hide-toggle-icon'));
+
+               hideToggleEnter
+                   .append('span')
+                   .attr('class', 'hide-toggle-text');
+
+               // update
+               hideToggle = hideToggleEnter
+                   .merge(hideToggle);
+
+               hideToggle
+                   .on('click', toggle)
+                   .classed('expanded', _expanded);
+
+               hideToggle.selectAll('.hide-toggle-text')
+                   .text(_title);
+
+               hideToggle.selectAll('.hide-toggle-icon')
+                   .attr('xlink:href', _expanded ? '#iD-icon-down'
+                       : (textDirection === 'rtl') ? '#iD-icon-backward' : '#iD-icon-forward'
+                   );
+
+
+               var wrap = selection.selectAll('.disclosure-wrap')
+                   .data([0]);
+
+               // enter/update
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'disclosure-wrap disclosure-wrap-' + key)
+                   .merge(wrap)
+                   .classed('hide', !_expanded);
+
+               if (_expanded) {
+                   wrap
+                       .call(_content);
+               }
+
+
+               function toggle() {
+                   event.preventDefault();
+
+                   _expanded = !_expanded;
+
+                   if (_updatePreference) {
+                       context.storage('disclosure.' + key + '.expanded', _expanded);
+                   }
+
+                   hideToggle
+                       .classed('expanded', _expanded);
+
+                   hideToggle.selectAll('.hide-toggle-icon')
+                       .attr('xlink:href', _expanded ? '#iD-icon-down'
+                           : (textDirection === 'rtl') ? '#iD-icon-backward' : '#iD-icon-forward'
+                       );
+
+                   wrap
+                       .call(uiToggle(_expanded));
+
+                   if (_expanded) {
+                       wrap
+                           .call(_content);
+                   }
+
+                   dispatch$1.call('toggled', this, _expanded);
+               }
+           };
+
+
+           disclosure.title = function(val) {
+               if (!arguments.length) return _title;
+               _title = val;
+               return disclosure;
+           };
+
+
+           disclosure.expanded = function(val) {
+               if (!arguments.length) return _expanded;
+               _expanded = val;
+               return disclosure;
+           };
+
+
+           disclosure.updatePreference = function(val) {
+               if (!arguments.length) return _updatePreference;
+               _updatePreference = val;
+               return disclosure;
+           };
+
+
+           disclosure.content = function(val) {
+               if (!arguments.length) return _content;
+               _content = val;
+               return disclosure;
+           };
+
+
+           return utilRebind(disclosure, dispatch$1, 'on');
+       }
+
+       // Pass `which` object of the form:
+       // {
+       //   key: 'string',     // required
+       //   value: 'string'    // optional
+       // }
+       //   -or-
+       // {
+       //   rtype: 'string'    // relation type  (e.g. 'multipolygon')
+       // }
+       //   -or-
+       // {
+       //   qid: 'string'      // brand wikidata  (e.g. 'Q37158')
+       // }
+       //
+       function uiTagReference(what) {
+           var wikibase = what.qid ? services$1.wikidata : services$1.osmWikibase;
+           var tagReference = {};
+
+           var _button = d3_select(null);
+           var _body = d3_select(null);
+           var _loaded;
+           var _showing;
+
+
+           function load() {
+               if (!wikibase) return;
+
+               _button
+                   .classed('tag-reference-loading', true);
+
+               wikibase.getDocs(what, gotDocs);
+           }
+
+
+           function gotDocs(err, docs) {
+               _body.html('');
+
+               if (!docs || !docs.title) {
+                   _body
+                       .append('p')
+                       .attr('class', 'tag-reference-description')
+                       .text(t('inspector.no_documentation_key'));
+                   done();
+                   return;
+               }
+
+               if (docs.imageURL) {
+                   _body
+                       .append('img')
+                       .attr('class', 'tag-reference-wiki-image')
+                       .attr('src', docs.imageURL)
+                       .on('load', function() { done(); })
+                       .on('error', function() { d3_select(this).remove(); done(); });
+               } else {
+                   done();
+               }
+
+               _body
+                   .append('p')
+                   .attr('class', 'tag-reference-description')
+                   .text(docs.description || t('inspector.no_documentation_key'))
+                   .append('a')
+                   .attr('class', 'tag-reference-edit')
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .attr('title', t('inspector.edit_reference'))
+                   .attr('href', docs.editURL)
+                   .call(svgIcon('#iD-icon-edit', 'inline'));
+
+               if (docs.wiki) {
+                   _body
+                     .append('a')
+                     .attr('class', 'tag-reference-link')
+                     .attr('target', '_blank')
+                     .attr('tabindex', -1)
+                     .attr('href', docs.wiki.url)
+                     .call(svgIcon('#iD-icon-out-link', 'inline'))
+                     .append('span')
+                     .text(t(docs.wiki.text));
+               }
+
+               // Add link to info about "good changeset comments" - #2923
+               if (what.key === 'comment') {
+                   _body
+                       .append('a')
+                       .attr('class', 'tag-reference-comment-link')
+                       .attr('target', '_blank')
+                       .attr('tabindex', -1)
+                       .call(svgIcon('#iD-icon-out-link', 'inline'))
+                       .attr('href', t('commit.about_changeset_comments_link'))
+                       .append('span')
+                       .text(t('commit.about_changeset_comments'));
+               }
+           }
+
+
+           function done() {
+               _loaded = true;
+
+               _button
+                   .classed('tag-reference-loading', false);
+
+               _body
+                   .classed('expanded', true)
+                   .transition()
+                   .duration(200)
+                   .style('max-height', '200px')
+                   .style('opacity', '1');
+
+               _showing = true;
+
+               _button.selectAll('svg.icon use').each(function() {
+                   var iconUse = d3_select(this);
+                   if (iconUse.attr('href') === '#iD-icon-info') {
+                       iconUse.attr('href', '#iD-icon-info-filled');
+                   }
+               });
+           }
+
+
+           function hide() {
+               _body
+                   .transition()
+                   .duration(200)
+                   .style('max-height', '0px')
+                   .style('opacity', '0')
+                   .on('end', function () {
+                       _body.classed('expanded', false);
+                   });
+
+               _showing = false;
+
+               _button.selectAll('svg.icon use').each(function() {
+                   var iconUse = d3_select(this);
+                   if (iconUse.attr('href') === '#iD-icon-info-filled') {
+                       iconUse.attr('href', '#iD-icon-info');
+                   }
+               });
+
+           }
+
+
+           tagReference.button = function(selection, klass, iconName) {
+               _button = selection.selectAll('.tag-reference-button')
+                   .data([0]);
+
+               _button = _button.enter()
+                   .append('button')
+                   .attr('class', 'tag-reference-button ' + klass)
+                   .attr('title', t('icons.information'))
+                   .attr('tabindex', -1)
+                   .call(svgIcon('#iD-icon-' + (iconName || 'inspect')))
+                   .merge(_button);
+
+               _button
+                   .on('click', function () {
+                       event.stopPropagation();
+                       event.preventDefault();
+                       this.blur();    // avoid keeping focus on the button - #4641
+                       if (_showing) {
+                           hide();
+                       } else if (_loaded) {
+                           done();
+                       } else {
+                           load();
+                       }
+                   });
+           };
+
+
+           tagReference.body = function(selection) {
+               var itemID = what.qid || what.rtype || (what.key + '-' + what.value);
+               _body = selection.selectAll('.tag-reference-body')
+                   .data([itemID], function(d) { return d; });
+
+               _body.exit()
+                   .remove();
+
+               _body = _body.enter()
+                   .append('div')
+                   .attr('class', 'tag-reference-body')
+                   .style('max-height', '0')
+                   .style('opacity', '0')
+                   .merge(_body);
+
+               if (_showing === false) {
+                   hide();
+               }
+           };
+
+
+           tagReference.showing = function(val) {
+               if (!arguments.length) return _showing;
+               _showing = val;
+               return tagReference;
+           };
+
+
+           return tagReference;
+       }
+
+       function uiRawTagEditor(context) {
+           var taginfo = services$1.taginfo;
+           var dispatch$1 = dispatch('change');
+           var availableViews = [
+               { id: 'text', icon: '#fas-i-cursor' },
+               { id: 'list', icon: '#fas-th-list' }
+           ];
+
+           var _tagView = (context.storage('raw-tag-editor-view') || 'list');   // 'list, 'text'
+           var _readOnlyTags = [];
+           var _indexedKeys = [];
+           var _showBlank = false;
+           var _updatePreference = true;
+           var _expanded = false;
+           var _pendingChange = null;
+           var _state;
+           var _preset;
+           var _tags;
+           var _entityID;
+
+
+           function rawTagEditor(selection) {
+               var count = Object.keys(_tags).filter(function(d) { return d; }).length;
+
+               var disclosure = uiDisclosure(context, 'raw_tag_editor', false)
+                   .title(t('inspector.all_tags') + ' (' + count + ')')
+                   .on('toggled', toggled)
+                   .updatePreference(_updatePreference)
+                   .content(content);
+
+               // Sometimes we want to force the raw_tag_editor to be opened/closed..
+               // When undefined, uiDisclosure will use the user's stored preference.
+               if (_expanded !== undefined) {
+                   disclosure.expanded(_expanded);
+               }
+
+               selection.call(disclosure);
+
+               function toggled(expanded) {
+                   _expanded = expanded;
+                   if (expanded) {
+                       selection.node().parentNode.scrollTop += 200;
+                   }
+               }
+           }
+
+
+           function content(wrap) {
+               // When switching to a different entity or changing the state (hover/select)
+               // reorder the keys alphabetically.
+               // We trigger this by emptying the `_indexedKeys` array, then it will be rebuilt here.
+               // Otherwise leave their order alone - #5857, #5927
+               var all = Object.keys(_tags).sort();
+               var known = _indexedKeys.map(function(t) { return t.key; });
+               var missing = utilArrayDifference(all, known);
+               for (var i = 0; i < missing.length; i++) {
+                   _indexedKeys.push({ index: _indexedKeys.length, key: missing[i] });
+               }
+
+               // assemble row data, excluding any deleted tags
+               var rowData = _indexedKeys.map(function(row) {
+                   var v = _tags[row.key];
+                   return (v === undefined) ? null : Object.assign(row, { value: v });
+               }).filter(Boolean);
+
+               // append blank row last, if necessary
+               if (!_indexedKeys.length || _showBlank) {
+                   _showBlank = false;
+                   rowData.push({ index: _indexedKeys.length, key: '', value: '' });
+               }
+
+
+               // View Options
+               var options = wrap.selectAll('.raw-tag-options')
+                   .data([0]);
+
+               var optionsEnter = options.enter()
+                   .append('div')
+                   .attr('class', 'raw-tag-options');
+
+               var optionEnter = optionsEnter.selectAll('.raw-tag-option')
+                   .data(availableViews, function(d) { return d.id; })
+                   .enter();
+
+               optionEnter
+                   .append('button')
+                   .attr('class', function(d) {
+                       return 'raw-tag-option raw-tag-option-' + d.id + (_tagView === d.id ? ' selected' : '');
+                   })
+                   .attr('title', function(d) { return d.id; })
+                   .on('click', function(d) {
+                       _tagView = d.id;
+                       context.storage('raw-tag-editor-view', d.id);
+
+                       wrap.selectAll('.raw-tag-option')
+                           .classed('selected', function(datum) { return datum === d; });
+
+                       wrap.selectAll('.tag-text')
+                           .classed('hide', (d.id !== 'text'))
+                           .each(setTextareaHeight);
+
+                       wrap.selectAll('.tag-list, .add-row')
+                           .classed('hide', (d.id !== 'list'));
+                   })
+                   .each(function(d) {
+                       d3_select(this)
+                           .call(svgIcon(d.icon));
+                   });
+
+
+               // View as Text
+               var textData = rowsToText(rowData);
+               var textarea = wrap.selectAll('.tag-text')
+                   .data([0]);
+
+               textarea = textarea.enter()
+                   .append('textarea')
+                   .attr('class', 'tag-text' + (_tagView !== 'text' ? ' hide' : ''))
+                   .call(utilNoAuto)
+                   .attr('spellcheck', 'false')
+                   .merge(textarea);
+
+               textarea
+                   .call(utilGetSetValue, textData)
+                   .each(setTextareaHeight)
+                   .on('input', setTextareaHeight)
+                   .on('blur', textChanged)
+                   .on('change', textChanged);
+
+               // If All Fields section is hidden, focus textarea and put cursor at end..
+               var fieldsExpanded = d3_select('.hide-toggle-preset_fields.expanded').size();
+               if (_state !== 'hover' && _tagView === 'text' && !fieldsExpanded) {
+                   var element = textarea.node();
+                   element.focus();
+                   element.setSelectionRange(textData.length, textData.length);
+               }
+
+
+               // View as List
+               var list = wrap.selectAll('.tag-list')
+                   .data([0]);
+
+               list = list.enter()
+                   .append('ul')
+                   .attr('class', 'tag-list' + (_tagView !== 'list' ? ' hide' : ''))
+                   .merge(list);
+
+
+               // Container for the Add button
+               var addRowEnter = wrap.selectAll('.add-row')
+                   .data([0])
+                   .enter()
+                   .append('div')
+                   .attr('class', 'add-row' + (_tagView !== 'list' ? ' hide' : ''));
+
+               addRowEnter
+                   .append('button')
+                   .attr('class', 'add-tag')
+                   .call(svgIcon('#iD-icon-plus', 'light'))
+                   .on('click', addTag);
+
+               addRowEnter
+                   .append('div')
+                   .attr('class', 'space-value');   // preserve space
+
+               addRowEnter
+                   .append('div')
+                   .attr('class', 'space-buttons');  // preserve space
+
+
+               // Tag list items
+               var items = list.selectAll('.tag-row')
+                   .data(rowData, function(d) { return d.key; });
+
+               items.exit()
+                   .each(unbind)
+                   .remove();
+
+
+               // Enter
+               var itemsEnter = items.enter()
+                   .append('li')
+                   .attr('class', 'tag-row')
+                   .classed('readonly', isReadOnly);
+
+               var innerWrap = itemsEnter.append('div')
+                   .attr('class', 'inner-wrap');
+
+               innerWrap
+                   .append('div')
+                   .attr('class', 'key-wrap')
+                   .append('input')
+                   .property('type', 'text')
+                   .attr('class', 'key')
+                   .attr('maxlength', 255)
+                   .call(utilNoAuto)
+                   .on('blur', keyChange)
+                   .on('change', keyChange);
+
+               innerWrap
+                   .append('div')
+                   .attr('class', 'value-wrap')
+                   .append('input')
+                   .property('type', 'text')
+                   .attr('class', 'value')
+                   .attr('maxlength', 255)
+                   .call(utilNoAuto)
+                   .on('blur', valueChange)
+                   .on('change', valueChange)
+                   .on('keydown.push-more', pushMore);
+
+               innerWrap
+                   .append('button')
+                   .attr('tabindex', -1)
+                   .attr('class', 'form-field-button remove')
+                   .attr('title', t('icons.remove'))
+                   .call(svgIcon('#iD-operation-delete'));
+
+
+               // Update
+               items = items
+                   .merge(itemsEnter)
+                   .sort(function(a, b) { return a.index - b.index; });
+
+               items
+                   .each(function(d) {
+                       var row = d3_select(this);
+                       var key = row.select('input.key');      // propagate bound data
+                       var value = row.select('input.value');  // propagate bound data
+
+                       if (_entityID && taginfo && _state !== 'hover') {
+                           bindTypeahead(key, value);
+                       }
+
+                       var isRelation = (_entityID && context.entity(_entityID).type === 'relation');
+                       var reference;
+
+                       if (isRelation && d.key === 'type') {
+                           reference = uiTagReference({ rtype: d.value });
+                       } else {
+                           reference = uiTagReference({ key: d.key, value: d.value });
+                       }
+
+                       if (_state === 'hover') {
+                           reference.showing(false);
+                       }
+
+                       row.select('.inner-wrap')      // propagate bound data
+                           .call(reference.button);
+
+                       row.call(reference.body);
+
+                       row.select('button.remove');   // propagate bound data
+                   });
+
+               items.selectAll('input.key')
+                   .attr('title', function(d) { return d.key; })
+                   .call(utilGetSetValue, function(d) { return d.key; })
+                   .property('disabled', isReadOnly);
+
+               items.selectAll('input.value')
+                   .attr('title', function(d) { return d.value; })
+                   .call(utilGetSetValue, function(d) { return d.value; })
+                   .property('disabled', isReadOnly);
+
+               items.selectAll('button.remove')
+                   .on('mousedown', removeTag);  // 'click' fires too late - #5878
+
+
+
+               function isReadOnly(d) {
+                   for (var i = 0; i < _readOnlyTags.length; i++) {
+                       if (d.key.match(_readOnlyTags[i]) !== null) {
+                           return true;
+                       }
+                   }
+                   return false;
+               }
+
+
+               function setTextareaHeight() {
+                   if (_tagView !== 'text') return;
+
+                   var selection = d3_select(this);
+                   selection.style('height', null);
+                   selection.style('height', selection.node().scrollHeight + 5 + 'px');
+               }
+
+
+               function stringify(s) {
+                   return JSON.stringify(s).slice(1, -1);   // without leading/trailing "
+               }
+
+               function unstringify(s) {
+                   var leading = '';
+                   var trailing = '';
+                   if (s.length < 1 || s.charAt(0) !== '"') {
+                       leading = '"';
+                   }
+                   if (s.length < 2 || s.charAt(s.length - 1) !== '"' ||
+                       (s.charAt(s.length - 1) === '"' && s.charAt(s.length - 2) === '\\')
+                   ) {
+                       trailing = '"';
+                   }
+                   return JSON.parse(leading + s + trailing);
+               }
+
+
+               function rowsToText(rows) {
+                   var str = rows
+                       .filter(function(row) { return row.key && row.key.trim() !== ''; })
+                       .map(function(row) { return stringify(row.key) + '=' + stringify(row.value); })
+                       .join('\n');
+
+                   return _state === 'hover' ? str : str + '\n';
+               }
+
+
+               function textChanged() {
+                   var newText = this.value.trim();
+                   var newTags = {};
+                   newText.split('\n').forEach(function(row) {
+                       var m = row.match(/^\s*([^=]+)=(.*)$/);
+                       if (m !== null) {
+                           var k = unstringify(m[1].trim());
+                           var v = unstringify(m[2].trim());
+                           newTags[k] = v;
+                       }
+                   });
+
+                   var tagDiff = utilTagDiff(_tags, newTags);
+                   if (!tagDiff.length) return;
+
+                   _pendingChange  = _pendingChange || {};
+
+                   tagDiff.forEach(function(change) {
+                       if (isReadOnly({ key: change.key })) return;
+
+                       if (change.type === '-') {
+                           _pendingChange[change.key] = undefined;
+                       } else if (change.type === '+') {
+                           _pendingChange[change.key] = change.newVal || '';
+                       }
+                   });
+
+                   scheduleChange();
+               }
+
+
+               function pushMore() {
+                   if (event.keyCode === 9 && !event.shiftKey &&
+                       list.selectAll('li:last-child input.value').node() === this) {
+                       addTag();
+                   }
+               }
+
+
+               function bindTypeahead(key, value) {
+                   if (isReadOnly(key.datum())) return;
+
+                   var geometry = context.geometry(_entityID);
+
+                   key.call(uiCombobox(context, 'tag-key')
+                       .fetcher(function(value, callback) {
+                           taginfo.keys({
+                               debounce: true,
+                               geometry: geometry,
+                               query: value
+                           }, function(err, data) {
+                               if (!err) {
+                                   var filtered = data.filter(function(d) { return _tags[d.value] === undefined; });
+                                   callback(sort(value, filtered));
+                               }
+                           });
+                       }));
+
+                   value.call(uiCombobox(context, 'tag-value')
+                       .fetcher(function(value, callback) {
+                           taginfo.values({
+                               debounce: true,
+                               key: utilGetSetValue(key),
+                               geometry: geometry,
+                               query: value
+                           }, function(err, data) {
+                               if (!err) callback(sort(value, data));
+                           });
+                       }));
+
+
+                   function sort(value, data) {
+                       var sameletter = [];
+                       var other = [];
+                       for (var i = 0; i < data.length; i++) {
+                           if (data[i].value.substring(0, value.length) === value) {
+                               sameletter.push(data[i]);
+                           } else {
+                               other.push(data[i]);
+                           }
+                       }
+                       return sameletter.concat(other);
+                   }
+               }
+
+
+               function unbind() {
+                   var row = d3_select(this);
+
+                   row.selectAll('input.key')
+                       .call(uiCombobox.off);
+
+                   row.selectAll('input.value')
+                       .call(uiCombobox.off);
+               }
+
+
+               function keyChange(d) {
+                   var kOld = d.key;
+                   var kNew = this.value.trim();
+                   var row = this.parentNode.parentNode;
+                   var inputVal = d3_select(row).selectAll('input.value');
+                   var vNew = utilGetSetValue(inputVal);
+
+                   // allow no change if the key should be readonly
+                   if (isReadOnly({ key: kNew })) {
+                       this.value = kOld;
+                       return;
+                   }
+
+                   // switch focus if key is already in use
+                   if (kNew && kNew !== kOld) {
+                       if (_tags[kNew] !== undefined) {      // new key is already in use
+                           this.value = kOld;                // reset the key
+                           list.selectAll('input.value')
+                               .each(function(d) {
+                                   if (d.key === kNew) {     // send focus to that other value combo instead
+                                       var input = d3_select(this).node();
+                                       input.focus();
+                                       input.select();
+                                   }
+                               });
+                           return;
+                       }
+                   }
+
+                   _pendingChange  = _pendingChange || {};
+
+                   // exit if we are currently about to delete this row anyway - #6366
+                   if (_pendingChange.hasOwnProperty(d.key) && _pendingChange[d.key] === undefined) return;
+
+                   if (kOld) {
+                       _pendingChange[kOld] = undefined;
+                   }
+
+                   _pendingChange[kNew] = vNew;
+
+                   d.key = kNew;    // update datum to avoid exit/enter on tag update
+                   d.value = vNew;
+
+                   this.value = kNew;
+                   utilGetSetValue(inputVal, vNew);
+                   scheduleChange();
+               }
+
+
+               function valueChange(d) {
+                   if (isReadOnly(d)) return;
+
+                   _pendingChange  = _pendingChange || {};
+
+                   // exit if we are currently about to delete this row anyway - #6366
+                   if (_pendingChange.hasOwnProperty(d.key) && _pendingChange[d.key] === undefined) return;
+
+                   _pendingChange[d.key] = this.value;
+                   scheduleChange();
+               }
+
+
+               function removeTag(d) {
+                   if (isReadOnly(d)) return;
+
+                   if (d.key === '') {    // removing the blank row
+                       _showBlank = false;
+                       content(wrap);
+
+                   } else {
+                       // remove from indexedKeys too, so that if the user puts it back,
+                       // it will be sorted to the end and not back to its original position
+                       _indexedKeys = _indexedKeys.filter(function(row) { return row.key !== d.key; });
+
+                       _pendingChange  = _pendingChange || {};
+                       _pendingChange[d.key] = undefined;
+                       scheduleChange();
+                   }
+               }
+
+
+               function addTag() {
+                   // Delay render in case this click is blurring an edited combo.
+                   // Without the setTimeout, the `content` render would wipe out the pending tag change.
+                   window.setTimeout(function() {
+                       _showBlank = true;
+                       content(wrap);
+                       list.selectAll('li:last-child input.key').node().focus();
+                   }, 20);
+               }
+
+
+               function scheduleChange() {
+                   // Delay change in case this change is blurring an edited combo. - #5878
+                   window.setTimeout(function() {
+                       dispatch$1.call('change', this, _pendingChange);
+                       _pendingChange = null;
+                   }, 10);
+               }
+
+           }
+
+
+           rawTagEditor.state = function(val) {
+               if (!arguments.length) return _state;
+               if (_state !== val) {
+                   _indexedKeys = [];
+                   _state = val;
+               }
+               return rawTagEditor;
+           };
+
+
+           rawTagEditor.preset = function(val) {
+               if (!arguments.length) return _preset;
+               _preset = val;
+               if (_preset.isFallback()) {
+                   _expanded = true;
+                   _updatePreference = false;
+               } else {
+                   _expanded = undefined;
+                   _updatePreference = true;
+               }
+               return rawTagEditor;
+           };
+
+
+           rawTagEditor.tags = function(val) {
+               if (!arguments.length) return _tags;
+               _tags = val;
+               return rawTagEditor;
+           };
+
+
+           rawTagEditor.entityID = function(val) {
+               if (!arguments.length) return _entityID;
+               if (_entityID !== val) {
+                   _indexedKeys = [];
+                   _entityID = val;
+               }
+               return rawTagEditor;
+           };
+
+
+           rawTagEditor.expanded = function(val) {
+               if (!arguments.length) return _expanded;
+               _expanded = val;
+               _updatePreference = false;
+               return rawTagEditor;
+           };
+
+
+           // pass an array of regular expressions to test against the tag key
+           rawTagEditor.readOnlyTags = function(val) {
+               if (!arguments.length) return _readOnlyTags;
+               _readOnlyTags = val;
+               return rawTagEditor;
+           };
+
+
+           return utilRebind(rawTagEditor, dispatch$1, 'on');
+       }
+
+       function uiDataEditor(context) {
+           var dataHeader = uiDataHeader();
+           var quickLinks = uiQuickLinks();
+           var rawTagEditor = uiRawTagEditor(context);
+           var _datum;
+
+
+           function dataEditor(selection) {
+               // quick links
+               var choices = [{
+                   id: 'zoom_to',
+                   label: 'inspector.zoom_to.title',
+                   tooltip: function() {
+                       return uiTooltipHtml(t('inspector.zoom_to.tooltip_data'), t('inspector.zoom_to.key'));
+                   },
+                   click: function zoomTo() {
+                       context.mode().zoomToSelected();
+                   }
+               }];
+
+
+               var header = selection.selectAll('.header')
+                   .data([0]);
+
+               var headerEnter = header.enter()
+                   .append('div')
+                   .attr('class', 'header fillL');
+
+               headerEnter
+                   .append('button')
+                   .attr('class', 'fr data-editor-close')
+                   .on('click', function() {
+                       context.enter(modeBrowse(context));
+                   })
+                   .call(svgIcon('#iD-icon-close'));
+
+               headerEnter
+                   .append('h3')
+                   .text(t('map_data.title'));
+
+
+               var body = selection.selectAll('.body')
+                   .data([0]);
+
+               body = body.enter()
+                   .append('div')
+                   .attr('class', 'body')
+                   .merge(body);
+
+               var editor = body.selectAll('.data-editor')
+                   .data([0]);
+
+               // enter/update
+               editor.enter()
+                   .append('div')
+                   .attr('class', 'modal-section data-editor')
+                   .merge(editor)
+                   .call(dataHeader.datum(_datum))
+                   .call(quickLinks.choices(choices));
+
+               var rte = body.selectAll('.raw-tag-editor')
+                   .data([0]);
+
+               // enter/update
+               rte.enter()
+                   .append('div')
+                   .attr('class', 'raw-tag-editor inspector-inner data-editor')
+                   .merge(rte)
+                   .call(rawTagEditor
+                       .expanded(true)
+                       .readOnlyTags([/./])
+                       .tags((_datum && _datum.properties) || {})
+                       .state('hover')
+                   )
+                   .selectAll('textarea.tag-text')
+                   .property('disabled', true)
+                   .classed('readonly', true);
+           }
+
+
+           dataEditor.datum = function(val) {
+               if (!arguments.length) return _datum;
+               _datum = val;
+               return this;
+           };
+
+
+           return dataEditor;
+       }
+
+       function modeSelectData(context, selectedDatum) {
+           var mode = {
+               id: 'select-data',
+               button: 'browse'
+           };
+
+           var keybinding = utilKeybinding('select-data');
+           var dataEditor = uiDataEditor(context);
+
+           var behaviors = [
+               behaviorBreathe(),
+               behaviorHover(context),
+               behaviorSelect(context),
+               behaviorLasso(context),
+               modeDragNode(context).behavior,
+               modeDragNote(context).behavior
+           ];
+
+
+           // class the data as selected, or return to browse mode if the data is gone
+           function selectData(drawn) {
+               var selection = context.surface().selectAll('.layer-mapdata .data' + selectedDatum.__featurehash__);
+
+               if (selection.empty()) {
+                   // Return to browse mode if selected DOM elements have
+                   // disappeared because the user moved them out of view..
+                   var source = event && event.type === 'zoom' && event.sourceEvent;
+                   if (drawn && source && (source.type === 'mousemove' || source.type === 'touchmove')) {
+                       context.enter(modeBrowse(context));
+                   }
+               } else {
+                   selection.classed('selected', true);
+               }
+           }
+
+
+           function esc() {
+               if (d3_select('.combobox').size()) return;
+               context.enter(modeBrowse(context));
+           }
+
+
+           mode.zoomToSelected = function() {
+               var extent = geoExtent(d3_geoBounds(selectedDatum));
+               context.map().centerZoomEase(extent.center(), context.map().trimmedExtentZoom(extent));
+           };
+
+
+           mode.enter = function() {
+               behaviors.forEach(context.install);
+
+               keybinding
+                   .on(t('inspector.zoom_to.key'), mode.zoomToSelected)
+                   .on('⎋', esc, true);
+
+               d3_select(document)
+                   .call(keybinding);
+
+               selectData();
+
+               var sidebar = context.ui().sidebar;
+               sidebar.show(dataEditor.datum(selectedDatum));
+
+               // expand the sidebar, avoid obscuring the data if needed
+               var extent = geoExtent(d3_geoBounds(selectedDatum));
+               sidebar.expand(sidebar.intersects(extent));
+
+               context.map()
+                   .on('drawn.select-data', selectData);
+           };
+
+
+           mode.exit = function() {
+               behaviors.forEach(context.uninstall);
+
+               d3_select(document)
+                   .call(keybinding.unbind);
+
+               context.surface()
+                   .selectAll('.layer-mapdata .selected')
+                   .classed('selected hover', false);
+
+               context.map()
+                   .on('drawn.select-data', null);
+
+               context.ui().sidebar
+                   .hide();
+           };
+
+
+           return mode;
+       }
+
+       function uiImproveOsmComments() {
+           var _error;
+
+
+           function errorComments(selection) {
+               // make the div immediately so it appears above the buttons
+               var comments = selection.selectAll('.comments-container')
+                   .data([0]);
+
+               comments = comments.enter()
+                   .append('div')
+                   .attr('class', 'comments-container')
+                   .merge(comments);
+
+               // must retrieve comments from API before they can be displayed
+               services$1.improveOSM.getComments(_error, function(err, d) {
+                   if (!d.comments) { return; } // nothing to do here
+
+                   var commentEnter = comments.selectAll('.comment')
+                       .data(d.comments)
+                       .enter()
+                       .append('div')
+                       .attr('class', 'comment');
+
+                   commentEnter
+                       .append('div')
+                       .attr('class', 'comment-avatar')
+                       .call(svgIcon('#iD-icon-avatar', 'comment-avatar-icon'));
+
+                   var mainEnter = commentEnter
+                       .append('div')
+                       .attr('class', 'comment-main');
+
+                   var metadataEnter = mainEnter
+                       .append('div')
+                       .attr('class', 'comment-metadata');
+
+                   metadataEnter
+                       .append('div')
+                       .attr('class', 'comment-author')
+                       .each(function(d) {
+                           var selection = d3_select(this);
+                           var osm = services$1.osm;
+                           if (osm && d.username) {
+                               selection = selection
+                                   .append('a')
+                                   .attr('class', 'comment-author-link')
+                                   .attr('href', osm.userURL(d.username))
+                                   .attr('tabindex', -1)
+                                   .attr('target', '_blank');
+                           }
+                           selection
+                               .text(function(d) { return d.username; });
+                       });
+
+                   metadataEnter
+                       .append('div')
+                       .attr('class', 'comment-date')
+                       .text(function(d) {
+                           return t('note.status.commented', { when: localeDateString(d.timestamp) });
+                       });
+
+                   mainEnter
+                       .append('div')
+                       .attr('class', 'comment-text')
+                       .append('p')
+                       .text(function(d) { return d.text; });
+               });
+           }
+
+           function localeDateString(s) {
+               if (!s) return null;
+               var detected = utilDetect();
+               var options = { day: 'numeric', month: 'short', year: 'numeric' };
+               var d = new Date(s * 1000); // timestamp is served in seconds, date takes ms
+               if (isNaN(d.getTime())) return null;
+               return d.toLocaleDateString(detected.locale, options);
+           }
+
+           errorComments.error = function(val) {
+               if (!arguments.length) return _error;
+               _error = val;
+               return errorComments;
+           };
+
+           return errorComments;
+       }
+
+       function uiImproveOsmDetails(context) {
+           var _error;
+
+
+           function errorDetail(d) {
+               var unknown = t('inspector.unknown');
+
+               if (!d) return unknown;
+
+               if (d.desc) return d.desc;
+
+               var errorType = d.error_key;
+               var et = en.QA.improveOSM.error_types[errorType];
+
+               var detail;
+               if (et && et.description) {
+                   detail = t('QA.improveOSM.error_types.' + errorType + '.description', d.replacements);
+               } else {
+                   detail = unknown;
+               }
+
+               return detail;
+           }
+
+
+           function improveOsmDetails(selection) {
+               var details = selection.selectAll('.error-details')
+                   .data(
+                       (_error ? [_error] : []),
+                       function(d) { return d.id + '-' + (d.status || 0); }
+                   );
+
+               details.exit()
+                   .remove();
+
+               var detailsEnter = details.enter()
+                   .append('div')
+                   .attr('class', 'error-details error-details-container');
+
+
+               // description
+               var descriptionEnter = detailsEnter
+                   .append('div')
+                   .attr('class', 'error-details-description');
+
+               descriptionEnter
+                   .append('h4')
+                   .text(function() { return t('QA.keepRight.detail_description'); });
+
+               descriptionEnter
+                   .append('div')
+                   .attr('class', 'error-details-description-text')
+                   .html(errorDetail);
+
+               // If there are entity links in the error message..
+               var relatedEntities = [];
+               descriptionEnter.selectAll('.error_entity_link, .error_object_link')
+                   .each(function() {
+                       var link = d3_select(this);
+                       var isObjectLink = link.classed('error_object_link');
+                       var entityID = isObjectLink ?
+                           (utilEntityRoot(_error.object_type) + _error.object_id)
+                           : this.textContent;
+                       var entity = context.hasEntity(entityID);
+
+                       relatedEntities.push(entityID);
+
+                       // Add click handler
+                       link
+                           .on('mouseover', function() {
+                               context.surface().selectAll(utilEntityOrMemberSelector([entityID], context.graph()))
+                                   .classed('hover', true);
+                           })
+                           .on('mouseout', function() {
+                               context.surface().selectAll('.hover')
+                                   .classed('hover', false);
+                           })
+                           .on('click', function() {
+                               event.preventDefault();
+                               var osmlayer = context.layers().layer('osm');
+                               if (!osmlayer.enabled()) {
+                                   osmlayer.enabled(true);
+                               }
+
+                               context.map().centerZoom(_error.loc, 20);
+
+                               if (entity) {
+                                   context.enter(modeSelect(context, [entityID]));
+                               } else {
+                                   context.loadEntity(entityID, function() {
+                                       context.enter(modeSelect(context, [entityID]));
+                                   });
+                               }
+                           });
+
+                       // Replace with friendly name if possible
+                       // (The entity may not yet be loaded into the graph)
+                       if (entity) {
+                           var name = utilDisplayName(entity);  // try to use common name
+
+                           if (!name && !isObjectLink) {
+                               var preset = context.presets().match(entity, context.graph());
+                               name = preset && !preset.isFallback() && preset.name();  // fallback to preset name
+                           }
+
+                           if (name) {
+                               this.innerText = name;
+                           }
+                       }
+                   });
+
+               // Don't hide entities related to this error - #5880
+               context.features().forceVisible(relatedEntities);
+           }
+
+
+           improveOsmDetails.error = function(val) {
+               if (!arguments.length) return _error;
+               _error = val;
+               return improveOsmDetails;
+           };
+
+
+           return improveOsmDetails;
+       }
+
+       function uiImproveOsmHeader() {
+           var _error;
+
+
+           function errorTitle(d) {
+               var unknown = t('inspector.unknown');
+
+               if (!d) return unknown;
+               var errorType = d.error_key;
+               var et = en.QA.improveOSM.error_types[errorType];
+
+               if (et && et.title) {
+                   return t('QA.improveOSM.error_types.' + errorType + '.title');
+               } else {
+                   return unknown;
+               }
+           }
+
+
+           function improveOsmHeader(selection) {
+               var header = selection.selectAll('.error-header')
+                   .data(
+                       (_error ? [_error] : []),
+                       function(d) { return d.id + '-' + (d.status || 0); }
+                   );
+
+               header.exit()
+                   .remove();
+
+               var headerEnter = header.enter()
+                   .append('div')
+                   .attr('class', 'error-header');
+
+               var iconEnter = headerEnter
+                   .append('div')
+                   .attr('class', 'error-header-icon')
+                   .classed('new', function(d) { return d.id < 0; });
+
+               var svgEnter = iconEnter
+                   .append('svg')
+                   .attr('width', '20px')
+                   .attr('height', '30px')
+                   .attr('viewbox', '0 0 20 30')
+                   .attr('class', function(d) {
+                       return [
+                           'preset-icon-28',
+                           'qa_error',
+                           d.service,
+                           'error_id-' + d.id,
+                           'error_type-' + d.error_type,
+                           'category-' + d.category
+                       ].join(' ');
+                   });
+
+               svgEnter
+                   .append('polygon')
+                   .attr('fill', 'currentColor')
+                   .attr('class', 'qa_error-fill')
+                   .attr('points', '16,3 4,3 1,6 1,17 4,20 7,20 10,27 13,20 16,20 19,17.033 19,6');
+
+               svgEnter
+                   .append('use')
+                   .attr('class', 'icon-annotation')
+                   .attr('width', '11px')
+                   .attr('height', '11px')
+                   .attr('transform', 'translate(4.5, 7)')
+                   .attr('xlink:href', function(d) {
+                       var picon = d.icon;
+
+                       if (!picon) {
+                           return '';
+                       } else {
+                           var isMaki = /^maki-/.test(picon);
+                           return '#' + picon + (isMaki ? '-11' : '');
+                       }
+                   });
+
+               headerEnter
+                   .append('div')
+                   .attr('class', 'error-header-label')
+                   .text(errorTitle);
+           }
+
+
+           improveOsmHeader.error = function(val) {
+               if (!arguments.length) return _error;
+               _error = val;
+               return improveOsmHeader;
+           };
+
+
+           return improveOsmHeader;
+       }
+
+       function uiImproveOsmEditor(context) {
+           var dispatch$1 = dispatch('change');
+           var errorDetails = uiImproveOsmDetails(context);
+           var errorComments = uiImproveOsmComments();
+           var errorHeader = uiImproveOsmHeader();
+           var quickLinks = uiQuickLinks();
+
+           var _error;
+
+
+           function improveOsmEditor(selection) {
+               // quick links
+               var choices = [{
+                   id: 'zoom_to',
+                   label: 'inspector.zoom_to.title',
+                   tooltip: function() {
+                       return uiTooltipHtml(t('inspector.zoom_to.tooltip_issue'), t('inspector.zoom_to.key'));
+                   },
+                   click: function zoomTo() {
+                       context.mode().zoomToSelected();
+                   }
+               }];
+
+
+               var header = selection.selectAll('.header')
+                   .data([0]);
+
+               var headerEnter = header.enter()
+                   .append('div')
+                   .attr('class', 'header fillL');
+
+               headerEnter
+                   .append('button')
+                   .attr('class', 'fr error-editor-close')
+                   .on('click', function() {
+                       context.enter(modeBrowse(context));
+                   })
+                   .call(svgIcon('#iD-icon-close'));
+
+               headerEnter
+                   .append('h3')
+                   .text(t('QA.improveOSM.title'));
+
+
+               var body = selection.selectAll('.body')
+                   .data([0]);
+
+               body = body.enter()
+                   .append('div')
+                   .attr('class', 'body')
+                   .merge(body);
+
+               var editor = body.selectAll('.error-editor')
+                   .data([0]);
+
+               editor.enter()
+                   .append('div')
+                   .attr('class', 'modal-section error-editor')
+                   .merge(editor)
+                   .call(errorHeader.error(_error))
+                   .call(quickLinks.choices(choices))
+                   .call(errorDetails.error(_error))
+                   .call(errorComments.error(_error))
+                   .call(improveOsmSaveSection);
+           }
+
+           function improveOsmSaveSection(selection) {
+               var isSelected = (_error && _error.id === context.selectedErrorID());
+               var isShown = (_error && (isSelected || _error.newComment || _error.comment));
+               var saveSection = selection.selectAll('.error-save')
+                   .data(
+                       (isShown ? [_error] : []),
+                       function(d) { return d.id + '-' + (d.status || 0); }
+                   );
+
+               // exit
+               saveSection.exit()
+                   .remove();
+
+               // enter
+               var saveSectionEnter = saveSection.enter()
+                   .append('div')
+                   .attr('class', 'error-save save-section cf');
+
+               saveSectionEnter
+                   .append('h4')
+                   .attr('class', '.error-save-header')
+                   .text(t('note.newComment'));
+
+               saveSectionEnter
+                   .append('textarea')
+                   .attr('class', 'new-comment-input')
+                   .attr('placeholder', t('QA.keepRight.comment_placeholder'))
+                   .attr('maxlength', 1000)
+                   .property('value', function(d) { return d.newComment; })
+                   .call(utilNoAuto)
+                   .on('input', changeInput)
+                   .on('blur', changeInput);
+
+               // update
+               saveSection = saveSectionEnter
+                   .merge(saveSection)
+                   .call(errorSaveButtons);
+
+               function changeInput() {
+                   var input = d3_select(this);
+                   var val = input.property('value').trim();
+
+                   if (val === '') {
+                       val = undefined;
+                   }
+
+                   // store the unsaved comment with the error itself
+                   _error = _error.update({ newComment: val });
+
+                   var errorService = services$1.improveOSM;
+                   if (errorService) {
+                       errorService.replaceError(_error);
+                   }
+
+                   saveSection
+                       .call(errorSaveButtons);
+               }
+           }
+
+           function errorSaveButtons(selection) {
+               var isSelected = (_error && _error.id === context.selectedErrorID());
+               var buttonSection = selection.selectAll('.buttons')
+                   .data((isSelected ? [_error] : []), function(d) { return d.status + d.id; });
+
+               // exit
+               buttonSection.exit()
+                   .remove();
+
+               // enter
+               var buttonEnter = buttonSection.enter()
+                   .append('div')
+                   .attr('class', 'buttons');
+
+               buttonEnter
+                   .append('button')
+                   .attr('class', 'button comment-button action')
+                   .text(t('QA.keepRight.save_comment'));
+
+               buttonEnter
+                   .append('button')
+                   .attr('class', 'button close-button action');
+
+               buttonEnter
+                   .append('button')
+                   .attr('class', 'button ignore-button action');
+
+
+               // update
+               buttonSection = buttonSection
+                   .merge(buttonEnter);
+
+               buttonSection.select('.comment-button')
+                   .attr('disabled', function(d) {
+                       return d.newComment === undefined ? true : null;
+                   })
+                   .on('click.comment', function(d) {
+                       this.blur();    // avoid keeping focus on the button - #4641
+                       var errorService = services$1.improveOSM;
+                       if (errorService) {
+                           errorService.postUpdate(d, function(err, error) {
+                               dispatch$1.call('change', error);
+                           });
+                       }
+                   });
+
+               buttonSection.select('.close-button')
+                   .text(function(d) {
+                       var andComment = (d.newComment !== undefined ? '_comment' : '');
+                       return t('QA.keepRight.close' + andComment);
+                   })
+                   .on('click.close', function(d) {
+                       this.blur();    // avoid keeping focus on the button - #4641
+                       var errorService = services$1.improveOSM;
+                       if (errorService) {
+                           d.newStatus = 'SOLVED';
+                           errorService.postUpdate(d, function(err, error) {
+                               dispatch$1.call('change', error);
+                           });
+                       }
+                   });
+
+               buttonSection.select('.ignore-button')
+                   .text(function(d) {
+                       var andComment = (d.newComment !== undefined ? '_comment' : '');
+                       return t('QA.keepRight.ignore' + andComment);
+                   })
+                   .on('click.ignore', function(d) {
+                       this.blur();    // avoid keeping focus on the button - #4641
+                       var errorService = services$1.improveOSM;
+                       if (errorService) {
+                           d.newStatus = 'INVALID';
+                           errorService.postUpdate(d, function(err, error) {
+                               dispatch$1.call('change', error);
+                           });
+                       }
+                   });
+           }
+
+           improveOsmEditor.error = function(val) {
+               if (!arguments.length) return _error;
+               _error = val;
+               return improveOsmEditor;
+           };
+
+
+           return utilRebind(improveOsmEditor, dispatch$1, 'on');
+       }
+
+       function uiKeepRightDetails(context) {
+           var _error;
+
+
+           function errorDetail(d) {
+               var unknown = t('inspector.unknown');
+
+               if (!d) return unknown;
+               var errorType = d.error_type;
+               var parentErrorType = d.parent_error_type;
+
+               var et = en.QA.keepRight.errorTypes[errorType];
+               var pt = en.QA.keepRight.errorTypes[parentErrorType];
+
+               var detail;
+               if (et && et.description) {
+                   detail = t('QA.keepRight.errorTypes.' + errorType + '.description', d.replacements);
+               } else if (pt && pt.description) {
+                   detail = t('QA.keepRight.errorTypes.' + parentErrorType + '.description', d.replacements);
+               } else {
+                   detail = unknown;
+               }
+
+               return detail;
+           }
+
+
+           function keepRightDetails(selection) {
+               var details = selection.selectAll('.error-details')
+                   .data(
+                       (_error ? [_error] : []),
+                       function(d) { return d.id + '-' + (d.status || 0); }
+                   );
+
+               details.exit()
+                   .remove();
+
+               var detailsEnter = details.enter()
+                   .append('div')
+                   .attr('class', 'error-details error-details-container');
+
+
+               // description
+               var descriptionEnter = detailsEnter
+                   .append('div')
+                   .attr('class', 'error-details-description');
+
+               descriptionEnter
+                   .append('h4')
+                   .text(function() { return t('QA.keepRight.detail_description'); });
+
+               descriptionEnter
+                   .append('div')
+                   .attr('class', 'error-details-description-text')
+                   .html(errorDetail);
+
+               // If there are entity links in the error message..
+               var relatedEntities = [];
+               descriptionEnter.selectAll('.error_entity_link, .error_object_link')
+                   .each(function() {
+                       var link = d3_select(this);
+                       var isObjectLink = link.classed('error_object_link');
+                       var entityID = isObjectLink ?
+                           (utilEntityRoot(_error.object_type) + _error.object_id)
+                           : this.textContent;
+                       var entity = context.hasEntity(entityID);
+
+                       relatedEntities.push(entityID);
+
+                       // Add click handler
+                       link
+                           .on('mouseover', function() {
+                               context.surface().selectAll(utilEntityOrMemberSelector([entityID], context.graph()))
+                                   .classed('hover', true);
+                           })
+                           .on('mouseout', function() {
+                               context.surface().selectAll('.hover')
+                                   .classed('hover', false);
+                           })
+                           .on('click', function() {
+                               event.preventDefault();
+                               var osmlayer = context.layers().layer('osm');
+                               if (!osmlayer.enabled()) {
+                                   osmlayer.enabled(true);
+                               }
+
+                               context.map().centerZoomEase(_error.loc, 20);
+
+                               if (entity) {
+                                   context.enter(modeSelect(context, [entityID]));
+                               } else {
+                                   context.loadEntity(entityID, function() {
+                                       context.enter(modeSelect(context, [entityID]));
+                                   });
+                               }
+                           });
+
+                       // Replace with friendly name if possible
+                       // (The entity may not yet be loaded into the graph)
+                       if (entity) {
+                           var name = utilDisplayName(entity);  // try to use common name
+
+                           if (!name && !isObjectLink) {
+                               var preset = context.presets().match(entity, context.graph());
+                               name = preset && !preset.isFallback() && preset.name();  // fallback to preset name
+                           }
+
+                           if (name) {
+                               this.innerText = name;
+                           }
+                       }
+                   });
+
+               // Don't hide entities related to this error - #5880
+               context.features().forceVisible(relatedEntities);
+           }
+
+
+           keepRightDetails.error = function(val) {
+               if (!arguments.length) return _error;
+               _error = val;
+               return keepRightDetails;
+           };
+
+
+           return keepRightDetails;
+       }
+
+       function uiKeepRightHeader() {
+           var _error;
+
+
+           function errorTitle(d) {
+               var unknown = t('inspector.unknown');
+
+               if (!d) return unknown;
+               var errorType = d.error_type;
+               var parentErrorType = d.parent_error_type;
+
+               var et = en.QA.keepRight.errorTypes[errorType];
+               var pt = en.QA.keepRight.errorTypes[parentErrorType];
+
+               if (et && et.title) {
+                   return t('QA.keepRight.errorTypes.' + errorType + '.title');
+               } else if (pt && pt.title) {
+                   return t('QA.keepRight.errorTypes.' + parentErrorType + '.title');
+               } else {
+                   return unknown;
+               }
+           }
+
+
+           function keepRightHeader(selection) {
+               var header = selection.selectAll('.error-header')
+                   .data(
+                       (_error ? [_error] : []),
+                       function(d) { return d.id + '-' + (d.status || 0); }
+                   );
+
+               header.exit()
+                   .remove();
+
+               var headerEnter = header.enter()
+                   .append('div')
+                   .attr('class', 'error-header');
+
+               var iconEnter = headerEnter
+                   .append('div')
+                   .attr('class', 'error-header-icon')
+                   .classed('new', function(d) { return d.id < 0; });
+
+               iconEnter
+                   .append('div')
+                   .attr('class', function(d) {
+                       return 'preset-icon-28 qa_error ' + d.service + ' error_id-' + d.id + ' error_type-' + d.parent_error_type;
+                   })
+                   .call(svgIcon('#iD-icon-bolt', 'qa_error-fill'));
+
+               headerEnter
+                   .append('div')
+                   .attr('class', 'error-header-label')
+                   .text(errorTitle);
+           }
+
+
+           keepRightHeader.error = function(val) {
+               if (!arguments.length) return _error;
+               _error = val;
+               return keepRightHeader;
+           };
+
+
+           return keepRightHeader;
+       }
+
+       function uiViewOnKeepRight() {
+           var _error;   // a keepright error
+
+
+           function viewOnKeepRight(selection) {
+               var url;
+               if (services$1.keepRight && (_error instanceof qaError)) {
+                   url = services$1.keepRight.errorURL(_error);
+               }
+
+               var link = selection.selectAll('.view-on-keepRight')
+                   .data(url ? [url] : []);
+
+               // exit
+               link.exit()
+                   .remove();
+
+               // enter
+               var linkEnter = link.enter()
+                   .append('a')
+                   .attr('class', 'view-on-keepRight')
+                   .attr('target', '_blank')
+                   .attr('href', function(d) { return d; })
+                   .call(svgIcon('#iD-icon-out-link', 'inline'));
+
+               linkEnter
+                   .append('span')
+                   .text(t('inspector.view_on_keepRight'));
+           }
+
+
+           viewOnKeepRight.what = function(val) {
+               if (!arguments.length) return _error;
+               _error = val;
+               return viewOnKeepRight;
+           };
+
+           return viewOnKeepRight;
+       }
+
+       function uiKeepRightEditor(context) {
+           var dispatch$1 = dispatch('change');
+           var keepRightDetails = uiKeepRightDetails(context);
+           var keepRightHeader = uiKeepRightHeader();
+           var quickLinks = uiQuickLinks();
+
+           var _error;
+
+
+           function keepRightEditor(selection) {
+               // quick links
+               var choices = [{
+                   id: 'zoom_to',
+                   label: 'inspector.zoom_to.title',
+                   tooltip: function() {
+                       return uiTooltipHtml(t('inspector.zoom_to.tooltip_issue'), t('inspector.zoom_to.key'));
+                   },
+                   click: function zoomTo() {
+                       context.mode().zoomToSelected();
+                   }
+               }];
+
+
+               var header = selection.selectAll('.header')
+                   .data([0]);
+
+               var headerEnter = header.enter()
+                   .append('div')
+                   .attr('class', 'header fillL');
+
+               headerEnter
+                   .append('button')
+                   .attr('class', 'fr error-editor-close')
+                   .on('click', function() {
+                       context.enter(modeBrowse(context));
+                   })
+                   .call(svgIcon('#iD-icon-close'));
+
+               headerEnter
+                   .append('h3')
+                   .text(t('QA.keepRight.title'));
+
+
+               var body = selection.selectAll('.body')
+                   .data([0]);
+
+               body = body.enter()
+                   .append('div')
+                   .attr('class', 'body')
+                   .merge(body);
+
+               var editor = body.selectAll('.error-editor')
+                   .data([0]);
+
+               editor.enter()
+                   .append('div')
+                   .attr('class', 'modal-section error-editor')
+                   .merge(editor)
+                   .call(keepRightHeader.error(_error))
+                   .call(quickLinks.choices(choices))
+                   .call(keepRightDetails.error(_error))
+                   .call(keepRightSaveSection);
+
+
+               var footer = selection.selectAll('.footer')
+                   .data([0]);
+
+               footer.enter()
+                   .append('div')
+                   .attr('class', 'footer')
+                   .merge(footer)
+                   .call(uiViewOnKeepRight().what(_error));
+           }
+
+
+           function keepRightSaveSection(selection) {
+               var isSelected = (_error && _error.id === context.selectedErrorID());
+               var isShown = (_error && (isSelected || _error.newComment || _error.comment));
+               var saveSection = selection.selectAll('.error-save')
+                   .data(
+                       (isShown ? [_error] : []),
+                       function(d) { return d.id + '-' + (d.status || 0); }
+                   );
+
+               // exit
+               saveSection.exit()
+                   .remove();
+
+               // enter
+               var saveSectionEnter = saveSection.enter()
+                   .append('div')
+                   .attr('class', 'error-save save-section cf');
+
+               saveSectionEnter
+                   .append('h4')
+                   .attr('class', '.error-save-header')
+                   .text(t('QA.keepRight.comment'));
+
+               saveSectionEnter
+                   .append('textarea')
+                   .attr('class', 'new-comment-input')
+                   .attr('placeholder', t('QA.keepRight.comment_placeholder'))
+                   .attr('maxlength', 1000)
+                   .property('value', function(d) { return d.newComment || d.comment; })
+                   .call(utilNoAuto)
+                   .on('input', changeInput)
+                   .on('blur', changeInput);
+
+               // update
+               saveSection = saveSectionEnter
+                   .merge(saveSection)
+                   .call(keepRightSaveButtons);
+
+
+               function changeInput() {
+                   var input = d3_select(this);
+                   var val = input.property('value').trim();
+
+                   if (val === _error.comment) {
+                       val = undefined;
+                   }
+
+                   // store the unsaved comment with the error itself
+                   _error = _error.update({ newComment: val });
+
+                   var keepRight = services$1.keepRight;
+                   if (keepRight) {
+                       keepRight.replaceError(_error);  // update keepright cache
+                   }
+
+                   saveSection
+                       .call(keepRightSaveButtons);
+               }
+           }
+
+
+           function keepRightSaveButtons(selection) {
+               var isSelected = (_error && _error.id === context.selectedErrorID());
+               var buttonSection = selection.selectAll('.buttons')
+                   .data((isSelected ? [_error] : []), function(d) { return d.status + d.id; });
+
+               // exit
+               buttonSection.exit()
+                   .remove();
+
+               // enter
+               var buttonEnter = buttonSection.enter()
+                   .append('div')
+                   .attr('class', 'buttons');
+
+               buttonEnter
+                   .append('button')
+                   .attr('class', 'button comment-button action')
+                   .text(t('QA.keepRight.save_comment'));
+
+               buttonEnter
+                   .append('button')
+                   .attr('class', 'button close-button action');
+
+               buttonEnter
+                   .append('button')
+                   .attr('class', 'button ignore-button action');
+
+
+               // update
+               buttonSection = buttonSection
+                   .merge(buttonEnter);
+
+               buttonSection.select('.comment-button')   // select and propagate data
+                   .attr('disabled', function(d) {
+                       return d.newComment === undefined ? true : null;
+                   })
+                   .on('click.comment', function(d) {
+                       this.blur();    // avoid keeping focus on the button - #4641
+                       var keepRight = services$1.keepRight;
+                       if (keepRight) {
+                           keepRight.postKeepRightUpdate(d, function(err, error) {
+                               dispatch$1.call('change', error);
+                           });
+                       }
+                   });
+
+               buttonSection.select('.close-button')   // select and propagate data
+                   .text(function(d) {
+                       var andComment = (d.newComment !== undefined ? '_comment' : '');
+                       return t('QA.keepRight.close' + andComment);
+                   })
+                   .on('click.close', function(d) {
+                       this.blur();    // avoid keeping focus on the button - #4641
+                       var keepRight = services$1.keepRight;
+                       if (keepRight) {
+                           d.state = 'ignore_t';   // ignore temporarily (error fixed)
+                           keepRight.postKeepRightUpdate(d, function(err, error) {
+                               dispatch$1.call('change', error);
+                           });
+                       }
+                   });
+
+               buttonSection.select('.ignore-button')   // select and propagate data
+                   .text(function(d) {
+                       var andComment = (d.newComment !== undefined ? '_comment' : '');
+                       return t('QA.keepRight.ignore' + andComment);
+                   })
+                   .on('click.ignore', function(d) {
+                       this.blur();    // avoid keeping focus on the button - #4641
+                       var keepRight = services$1.keepRight;
+                       if (keepRight) {
+                           d.state = 'ignore';   // ignore permanently (false positive)
+                           keepRight.postKeepRightUpdate(d, function(err, error) {
+                               dispatch$1.call('change', error);
+                           });
+                       }
+                   });
+           }
+
+
+           keepRightEditor.error = function(val) {
+               if (!arguments.length) return _error;
+               _error = val;
+               return keepRightEditor;
+           };
+
+
+           return utilRebind(keepRightEditor, dispatch$1, 'on');
+       }
+
+       function modeSelectError(context, selectedErrorID, selectedErrorService) {
+           var mode = {
+               id: 'select-error',
+               button: 'browse'
+           };
+
+           var keybinding = utilKeybinding('select-error');
+
+           var errorService = services$1[selectedErrorService];
+           var errorEditor;
+           switch (selectedErrorService) {
+               case 'improveOSM':
+                   errorEditor = uiImproveOsmEditor(context)
+                   .on('change', function() {
+                       context.map().pan([0,0]);  // trigger a redraw
+                       var error = checkSelectedID();
+                       if (!error) return;
+                       context.ui().sidebar
+                           .show(errorEditor.error(error));
+                   });
+                   break;
+               case 'keepRight':
+                   errorEditor = uiKeepRightEditor(context)
+                   .on('change', function() {
+                       context.map().pan([0,0]);  // trigger a redraw
+                       var error = checkSelectedID();
+                       if (!error) return;
+                       context.ui().sidebar
+                           .show(errorEditor.error(error));
+                   });
+                   break;
+           }
+
+
+           var behaviors = [
+               behaviorBreathe(),
+               behaviorHover(context),
+               behaviorSelect(context),
+               behaviorLasso(context),
+               modeDragNode(context).behavior,
+               modeDragNote(context).behavior
+           ];
+
+
+           function checkSelectedID() {
+               if (!errorService) return;
+               var error = errorService.getError(selectedErrorID);
+               if (!error) {
+                   context.enter(modeBrowse(context));
+               }
+               return error;
+           }
+
+
+           mode.zoomToSelected = function() {
+               if (!errorService) return;
+               var error = errorService.getError(selectedErrorID);
+               if (error) {
+                   context.map().centerZoomEase(error.loc, 20);
+               }
+           };
+
+
+           mode.enter = function() {
+               var error = checkSelectedID();
+               if (!error) return;
+
+               behaviors.forEach(context.install);
+               keybinding
+                   .on(t('inspector.zoom_to.key'), mode.zoomToSelected)
+                   .on('⎋', esc, true);
+
+               d3_select(document)
+                   .call(keybinding);
+
+               selectError();
+
+               var sidebar = context.ui().sidebar;
+               sidebar.show(errorEditor.error(error));
+
+               context.map()
+                   .on('drawn.select-error', selectError);
+
+
+               // class the error as selected, or return to browse mode if the error is gone
+               function selectError(drawn) {
+                   if (!checkSelectedID()) return;
+
+                   var selection = context.surface()
+                       .selectAll('.error_id-' + selectedErrorID + '.' + selectedErrorService);
+
+                   if (selection.empty()) {
+                       // Return to browse mode if selected DOM elements have
+                       // disappeared because the user moved them out of view..
+                       var source = event && event.type === 'zoom' && event.sourceEvent;
+                       if (drawn && source && (source.type === 'mousemove' || source.type === 'touchmove')) {
+                           context.enter(modeBrowse(context));
+                       }
+
+                   } else {
+                       selection
+                           .classed('selected', true);
+
+                       context.selectedErrorID(selectedErrorID);
+                   }
+               }
+
+               function esc() {
+                   if (d3_select('.combobox').size()) return;
+                   context.enter(modeBrowse(context));
+               }
+           };
+
+
+           mode.exit = function() {
+               behaviors.forEach(context.uninstall);
+
+               d3_select(document)
+                   .call(keybinding.unbind);
+
+               context.surface()
+                   .selectAll('.qa_error.selected')
+                   .classed('selected hover', false);
+
+               context.map()
+                   .on('drawn.select-error', null);
+
+               context.ui().sidebar
+                   .hide();
+
+               context.selectedErrorID(null);
+               context.features().forceVisible([]);
+           };
+
+
+           return mode;
+       }
+
+       function behaviorSelect(context) {
+           // legacy option to show menu on every click
+           var isShowAlways = +context.storage('edit-menu-show-always') === 1;
+           var tolerance = 4;
+           var _lastMouse = null;
+           var _suppressMenu = true;
+           var _p1 = null;
+
+
+           function point() {
+               return d3_mouse(context.container().node());
+           }
+
+
+           function keydown() {
+               var e = event;
+               if (e && e.shiftKey) {
+                   context.surface()
+                       .classed('behavior-multiselect', true);
+               }
+
+               if (e && e.keyCode === 93) {  // context menu
+                   e.preventDefault();
+                   e.stopPropagation();
+               }
+           }
+
+
+           function keyup() {
+               var e = event;
+               if (!e || !e.shiftKey) {
+                   context.surface()
+                       .classed('behavior-multiselect', false);
+               }
+
+
+               if (e && e.keyCode === 93) {  // context menu
+                   e.preventDefault();
+                   e.stopPropagation();
+                   contextmenu();
+               }
+           }
+
+
+           function mousedown() {
+               if (!_p1) {
+                   _p1 = point();
+               }
+               d3_select(window)
+                   .on('mouseup.select', mouseup, true);
+
+               _suppressMenu = !isShowAlways;
+           }
+
+
+           function mousemove() {
+               if (event) {
+                   _lastMouse = event;
+               }
+           }
+
+
+           function mouseup() {
+               click();
+           }
+
+
+           function contextmenu() {
+               var e = event;
+               e.preventDefault();
+               e.stopPropagation();
+
+               if (!+e.clientX && !+e.clientY) {
+                   if (_lastMouse) {
+                       e.sourceEvent = _lastMouse;
+                   } else {
+                       return;
+                   }
+               }
+
+               if (!_p1) {
+                   _p1 = point();
+               }
+               _suppressMenu = false;
+               click();
+           }
+
+
+           function click() {
+               d3_select(window)
+                   .on('mouseup.select', null, true);
+
+               if (!_p1) return;
+               var p2 = point();
+               var dist = geoVecLength(_p1, p2);
+               _p1 = null;
+               if (dist > tolerance) return;
+
+               // Defer processing the click,
+               // because this click may trigger a blur event,
+               // and the blur event may trigger a tag change,
+               // and we really want that tag change to go to the already selected entity
+               // and not the one that we are about to select with the click  #6028, #5878
+               // (Be very careful entering modeSelect anywhere that might also blur a field!)
+               var datum = event.target.__data__ || (_lastMouse && _lastMouse.target.__data__);
+               var isMultiselect = event.shiftKey || d3_select('#surface .lasso').node();
+               window.setTimeout(function() {
+                   processClick(datum, isMultiselect);
+               }, 20);  // delay > whatever raw_tag_editor.js `scheduleChange` does (10ms).
+           }
+
+
+           function processClick(datum, isMultiselect) {
+               var mode = context.mode();
+
+               var entity = datum && datum.properties && datum.properties.entity;
+               if (entity) datum = entity;
+
+               if (datum && datum.type === 'midpoint') {
+                   datum = datum.parents[0];
+               }
+
+               if (datum instanceof osmEntity) {    // clicked an entity..
+                   var selectedIDs = context.selectedIDs();
+                   context.selectedNoteID(null);
+                   context.selectedErrorID(null);
+
+                   if (!isMultiselect) {
+                       if (selectedIDs.length > 1 && (!_suppressMenu && !isShowAlways)) {
+                           // multiple things already selected, just show the menu...
+                           mode.suppressMenu(false).reselect();
+                       } else {
+                           // select a single thing..
+                           context.enter(modeSelect(context, [datum.id]).suppressMenu(_suppressMenu));
+                       }
+
+                   } else {
+                       if (selectedIDs.indexOf(datum.id) !== -1) {
+                           // clicked entity is already in the selectedIDs list..
+                           if (!_suppressMenu && !isShowAlways) {
+                               // don't deselect clicked entity, just show the menu.
+                               mode.suppressMenu(false).reselect();
+                           } else {
+                               // deselect clicked entity, then reenter select mode or return to browse mode..
+                               selectedIDs = selectedIDs.filter(function(id) { return id !== datum.id; });
+                               context.enter(selectedIDs.length ? modeSelect(context, selectedIDs) : modeBrowse(context));
+                           }
+                       } else {
+                           // clicked entity is not in the selected list, add it..
+                           selectedIDs = selectedIDs.concat([datum.id]);
+                           context.enter(modeSelect(context, selectedIDs).suppressMenu(_suppressMenu));
+                       }
+                   }
+
+               } else if (datum && datum.__featurehash__ && !isMultiselect) {    // clicked Data..
+                   context
+                       .selectedNoteID(null)
+                       .enter(modeSelectData(context, datum));
+
+               } else if (datum instanceof osmNote && !isMultiselect) {    // clicked a Note..
+                   context
+                       .selectedNoteID(datum.id)
+                       .enter(modeSelectNote(context, datum.id));
+
+               } else if (datum instanceof qaError & !isMultiselect) {  // clicked an external QA error
+                   context
+                       .selectedErrorID(datum.id)
+                       .enter(modeSelectError(context, datum.id, datum.service));
+
+               } else {    // clicked nothing..
+                   context.selectedNoteID(null);
+                   context.selectedErrorID(null);
+                   if (!isMultiselect && mode.id !== 'browse') {
+                       context.enter(modeBrowse(context));
+                   }
+               }
+
+               // reset for next time..
+               _suppressMenu = true;
+           }
+
+
+           function behavior(selection) {
+               _lastMouse = null;
+               _suppressMenu = true;
+               _p1 = null;
+
+               d3_select(window)
+                   .on('keydown.select', keydown)
+                   .on('keyup.select', keyup)
+                   .on('contextmenu.select-window', function() {
+                       // Edge and IE really like to show the contextmenu on the
+                       // menubar when user presses a keyboard menu button
+                       // even after we've already preventdefaulted the key event.
+                       var e = event;
+                       if (+e.clientX === 0 && +e.clientY === 0) {
+                           event.preventDefault();
+                           event.stopPropagation();
+                       }
+                   });
+
+               selection
+                   .on('mousedown.select', mousedown)
+                   .on('mousemove.select', mousemove)
+                   .on('contextmenu.select', contextmenu);
+
+               if (event && event.shiftKey) {
+                   context.surface()
+                       .classed('behavior-multiselect', true);
+               }
+           }
+
+
+           behavior.off = function(selection) {
+               d3_select(window)
+                   .on('keydown.select', null)
+                   .on('keyup.select', null)
+                   .on('contextmenu.select-window', null)
+                   .on('mouseup.select', null, true);
+
+               selection
+                   .on('mousedown.select', null)
+                   .on('mousemove.select', null)
+                   .on('contextmenu.select', null);
+
+               context.surface()
+                   .classed('behavior-multiselect', false);
+           };
+
+
+           return behavior;
+       }
+
+       function behaviorDrawWay(context, wayID, index, mode, startGraph, baselineGraph) {
+
+           var origWay = context.entity(wayID);
+
+           var annotation = t((origWay.isDegenerate() ?
+               'operations.start.annotation.' :
+               'operations.continue.annotation.') + context.geometry(wayID)
+           );
+
+           var behavior = behaviorDraw(context);
+           behavior.hover().initialNodeID(index ? origWay.nodes[index] :
+               (origWay.isClosed() ? origWay.nodes[origWay.nodes.length - 2] : origWay.nodes[origWay.nodes.length - 1]));
+
+           var _tempEdits = 0;
+
+           var end = osmNode({ loc: context.map().mouseCoordinates() });
+
+           // Push an annotated state for undo to return back to.
+           // We must make sure to remove this edit later.
+           context.pauseChangeDispatch();
+           context.perform(actionNoop(), annotation);
+           _tempEdits++;
+
+           // Add the drawing node to the graph.
+           // We must make sure to remove this edit later.
+           context.perform(_actionAddDrawNode());
+           _tempEdits++;
+           context.resumeChangeDispatch();
+
+
+           function keydown() {
+               if (event.keyCode === utilKeybinding.modifierCodes.alt) {
+                   if (context.surface().classed('nope')) {
+                       context.surface()
+                           .classed('nope-suppressed', true);
+                   }
+                   context.surface()
+                       .classed('nope', false)
+                       .classed('nope-disabled', true);
+               }
+           }
+
+
+           function keyup() {
+               if (event.keyCode === utilKeybinding.modifierCodes.alt) {
+                   if (context.surface().classed('nope-suppressed')) {
+                       context.surface()
+                           .classed('nope', true);
+                   }
+                   context.surface()
+                       .classed('nope-suppressed', false)
+                       .classed('nope-disabled', false);
+               }
+           }
+
+
+           function allowsVertex(d) {
+               return d.geometry(context.graph()) === 'vertex' || context.presets().allowsVertex(d, context.graph());
+           }
+
+
+           // related code
+           // - `mode/drag_node.js`     `doMode()`
+           // - `behavior/draw.js`      `click()`
+           // - `behavior/draw_way.js`  `move()`
+           function move(datum) {
+               context.surface().classed('nope-disabled', event.altKey);
+
+               var targetLoc = datum && datum.properties && datum.properties.entity && allowsVertex(datum.properties.entity) && datum.properties.entity.loc;
+               var targetNodes = datum && datum.properties && datum.properties.nodes;
+               var loc = context.map().mouseCoordinates();
+
+               if (targetLoc) {   // snap to node/vertex - a point target with `.loc`
+                   loc = targetLoc;
+
+               } else if (targetNodes) {   // snap to way - a line target with `.nodes`
+                   var choice = geoChooseEdge(targetNodes, context.mouse(), context.projection, end.id);
+                   if (choice) {
+                       loc = choice.loc;
+                   }
+               }
+
+               context.replace(actionMoveNode(end.id, loc));
+               end = context.entity(end.id);
+               checkGeometry(false);
+           }
+
+
+           // Check whether this edit causes the geometry to break.
+           // If so, class the surface with a nope cursor.
+           // `finishDraw` - Only checks the relevant line segments if finishing drawing
+           function checkGeometry(finishDraw) {
+               var nopeDisabled = context.surface().classed('nope-disabled');
+               var isInvalid = isInvalidGeometry(end, context.graph(), finishDraw);
+
+               if (nopeDisabled) {
+                   context.surface()
+                       .classed('nope', false)
+                       .classed('nope-suppressed', isInvalid);
+               } else {
+                   context.surface()
+                       .classed('nope', isInvalid)
+                       .classed('nope-suppressed', false);
+               }
+           }
+
+
+           function isInvalidGeometry(entity, graph, finishDraw) {
+               var parents = graph.parentWays(entity);
+
+               for (var i = 0; i < parents.length; i++) {
+                   var parent = parents[i];
+                   var nodes = graph.childNodes(parent).slice();  // shallow copy
+
+                   if (origWay.isClosed()) { // Check if Area
+                       if (finishDraw) {
+                           if (nodes.length < 3) return false;
+                           nodes.splice(-2, 1);
+                           entity = nodes[nodes.length-2];
+                       } else {
+                           nodes.pop();
+                       }
+                   } else { // Line
+                       if (finishDraw) {
+                           nodes.pop();
+                       }
+                   }
+
+                   if (geoHasSelfIntersections(nodes, entity.id)) {
+                       return true;
+                   }
+               }
+
+               return false;
+           }
+
+
+           function undone() {
+               context.pauseChangeDispatch();
+               // Undo popped the history back to the initial annotated no-op edit.
+               _tempEdits = 0;     // We will deal with the temp edits here
+               context.pop(1);     // Remove initial no-op edit
+
+               if (context.graph() === baselineGraph) {    // We've undone back to the beginning
+                   // baselineGraph may be behind startGraph if this way was added rather than continued
+                   resetToStartGraph();
+                   context.resumeChangeDispatch();
+                   context.enter(modeSelect(context, [wayID]));
+               } else {
+                   // Remove whatever segment was drawn previously and continue drawing
+                   context.pop(1);
+                   context.resumeChangeDispatch();
+                   context.enter(mode);
+               }
+           }
+
+
+           function setActiveElements() {
+               context.surface().selectAll('.' + end.id)
+                   .classed('active', true);
+           }
+
+
+           function resetToStartGraph() {
+               while (context.graph() !== startGraph) {
+                   context.pop();
+               }
+           }
+
+
+           var drawWay = function(surface) {
+               behavior
+                   .on('move', move)
+                   .on('click', drawWay.add)
+                   .on('clickWay', drawWay.addWay)
+                   .on('clickNode', drawWay.addNode)
+                   .on('undo', context.undo)
+                   .on('cancel', drawWay.cancel)
+                   .on('finish', drawWay.finish);
+
+               d3_select(window)
+                   .on('keydown.drawWay', keydown)
+                   .on('keyup.drawWay', keyup);
+
+               context.map()
+                   .dblclickEnable(false)
+                   .on('drawn.draw', setActiveElements);
+
+               setActiveElements();
+
+               surface.call(behavior);
+
+               context.history()
+                   .on('undone.draw', undone);
+           };
+
+
+           drawWay.off = function(surface) {
+               // Drawing was interrupted unexpectedly.
+               // This can happen if the user changes modes,
+               // clicks geolocate button, a hashchange event occurs, etc.
+               if (_tempEdits) {
+                   context.pauseChangeDispatch();
+                   context.pop(_tempEdits);
+                   resetToStartGraph();
+                   context.resumeChangeDispatch();
+               }
+
+               context.map()
+                   .on('drawn.draw', null);
+
+               surface.call(behavior.off)
+                   .selectAll('.active')
+                   .classed('active', false);
+
+               surface
+                   .classed('nope', false)
+                   .classed('nope-suppressed', false)
+                   .classed('nope-disabled', false);
+
+               d3_select(window)
+                   .on('keydown.hover', null)
+                   .on('keyup.hover', null);
+
+               context.history()
+                   .on('undone.draw', null);
+           };
+
+
+           function _actionAddDrawNode() {
+               return function(graph) {
+                   return graph
+                       .replace(end)
+                       .replace(origWay.addNode(end.id, index));
+               };
+           }
+
+
+           function _actionReplaceDrawNode(newNode) {
+               return function(graph) {
+                   return graph
+                       .replace(origWay.addNode(newNode.id, index))
+                       .remove(end);
+               };
+           }
+
+
+           // Accept the current position of the drawing node and continue drawing.
+           drawWay.add = function(loc, d) {
+               if ((d && d.properties && d.properties.nope) || context.surface().classed('nope')) {
+                   return;   // can't click here
+               }
+
+               context.pauseChangeDispatch();
+               context.pop(_tempEdits);
+               _tempEdits = 0;
+
+               context.perform(
+                   _actionAddDrawNode(),
+                   annotation
+               );
+
+               context.resumeChangeDispatch();
+               checkGeometry(false);   // finishDraw = false
+               context.enter(mode);
+           };
+
+
+           // Connect the way to an existing way.
+           drawWay.addWay = function(loc, edge, d) {
+               if ((d && d.properties && d.properties.nope) || context.surface().classed('nope')) {
+                   return;   // can't click here
+               }
+
+               context.pauseChangeDispatch();
+               context.pop(_tempEdits);
+               _tempEdits = 0;
+
+               context.perform(
+                   _actionAddDrawNode(),
+                   actionAddMidpoint({ loc: loc, edge: edge }, end),
+                   annotation
+               );
+
+               context.resumeChangeDispatch();
+               checkGeometry(false);   // finishDraw = false
+               context.enter(mode);
+           };
+
+
+           // Connect the way to an existing node and continue drawing.
+           drawWay.addNode = function(node, d) {
+               if ((d && d.properties && d.properties.nope) || context.surface().classed('nope')) {
+                   return;   // can't click here
+               }
+
+               context.pauseChangeDispatch();
+               context.pop(_tempEdits);
+               _tempEdits = 0;
+
+               context.perform(
+                   _actionReplaceDrawNode(node),
+                   annotation
+               );
+
+               context.resumeChangeDispatch();
+               checkGeometry(false);   // finishDraw = false
+               context.enter(mode);
+           };
+
+
+           // Finish the draw operation, removing the temporary edits.
+           // If the way has enough nodes to be valid, it's selected.
+           // Otherwise, delete everything and return to browse mode.
+           drawWay.finish = function() {
+               checkGeometry(true);   // finishDraw = true
+               if (context.surface().classed('nope')) {
+                   return;   // can't click here
+               }
+
+               context.pauseChangeDispatch();
+               context.pop(_tempEdits);
+               _tempEdits = 0;
+
+               var way = context.hasEntity(wayID);
+               if (!way || way.isDegenerate()) {
+                   drawWay.cancel();
+                   return;
+               }
+
+               context.resumeChangeDispatch();
+
+               window.setTimeout(function() {
+                   context.map().dblclickEnable(true);
+               }, 1000);
+
+               var isNewFeature = !mode.isContinuing;
+               context.enter(modeSelect(context, [wayID]).newFeature(isNewFeature));
+           };
+
+
+           // Cancel the draw operation, delete everything, and return to browse mode.
+           drawWay.cancel = function() {
+               context.pauseChangeDispatch();
+               context.pop(_tempEdits);
+               _tempEdits = 0;
+
+               resetToStartGraph();
+               context.resumeChangeDispatch();
+
+               window.setTimeout(function() {
+                   context.map().dblclickEnable(true);
+               }, 1000);
+
+               context.surface()
+                   .classed('nope', false)
+                   .classed('nope-disabled', false)
+                   .classed('nope-suppressed', false);
+
+               context.enter(modeBrowse(context));
+           };
+
+
+           drawWay.activeID = function() {
+               if (!arguments.length) return end.id;
+               // no assign
+               return drawWay;
+           };
+
+
+           drawWay.tail = function(text) {
+               behavior.tail(text);
+               return drawWay;
+           };
+
+
+           return drawWay;
+       }
+
+       function modeDrawLine(context, wayID, startGraph, baselineGraph, button, affix, continuing) {
+           var mode = {
+               button: button,
+               id: 'draw-line'
+           };
+
+           var behavior;
+
+           mode.wayID = wayID;
+
+           mode.isContinuing = continuing;
+
+           mode.enter = function() {
+               var way = context.entity(wayID);
+               var index = (affix === 'prefix') ? 0 : undefined;
+               var headID = (affix === 'prefix') ? way.first() : way.last();
+
+               behavior = behaviorDrawWay(context, wayID, index, mode, startGraph, baselineGraph)
+                   .tail(t('modes.draw_line.tail'));
+
+               var addNode = behavior.addNode;
+               behavior.addNode = function(node, d) {
+                   if (node.id === headID) {
+                       behavior.finish();
+                   } else {
+                       addNode(node, d);
+                   }
+               };
+
+               context.install(behavior);
+           };
+
+
+           mode.exit = function() {
+               context.uninstall(behavior);
+           };
+
+
+           mode.selectedIDs = function() {
+               return [wayID];
+           };
+
+
+           mode.activeID = function() {
+               return (behavior && behavior.activeID()) || [];
+           };
+
+           return mode;
+       }
+
+       function operationContinue(selectedIDs, context) {
+           var graph = context.graph();
+           var entities = selectedIDs.map(function(id) { return graph.entity(id); });
+           var geometries = Object.assign(
+               { line: [], vertex: [] },
+               utilArrayGroupBy(entities, function(entity) { return entity.geometry(graph); })
+           );
+           var vertex = geometries.vertex[0];
+
+
+           function candidateWays() {
+               return graph.parentWays(vertex).filter(function(parent) {
+                   return parent.geometry(graph) === 'line' &&
+                       !parent.isClosed() &&
+                       parent.affix(vertex.id) &&
+                       (geometries.line.length === 0 || geometries.line[0] === parent);
+               });
+           }
+
+
+           var operation = function() {
+               var candidate = candidateWays()[0];
+               context.enter(
+                   modeDrawLine(context, candidate.id, context.graph(), context.graph(), 'line', candidate.affix(vertex.id), true)
+               );
+           };
+
+
+           operation.available = function() {
+               return geometries.vertex.length === 1 &&
+                   geometries.line.length <= 1 &&
+                   !context.features().hasHiddenConnections(vertex, context.graph());
+           };
+
+
+           operation.disabled = function() {
+               var candidates = candidateWays();
+               if (candidates.length === 0) {
+                   return 'not_eligible';
+               } else if (candidates.length > 1) {
+                   return 'multiple';
+               }
+
+               return false;
+           };
+
+
+           operation.tooltip = function() {
+               var disable = operation.disabled();
+               return disable ?
+                   t('operations.continue.' + disable) :
+                   t('operations.continue.description');
+           };
+
+
+           operation.annotation = function() {
+               return t('operations.continue.annotation.line');
+           };
+
+
+           operation.id = 'continue';
+           operation.keys = [t('operations.continue.key')];
+           operation.title = t('operations.continue.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+           return operation;
+       }
+
+       function operationDisconnect(selectedIDs, context) {
+           var vertexIDs = [];
+           var wayIDs = [];
+           var otherIDs = [];
+           var actions = [];
+
+           selectedIDs.forEach(function(id) {
+               if (context.geometry(id) === 'vertex') {
+                   vertexIDs.push(id);
+               } else if (context.entity(id).type === 'way'){
+                   wayIDs.push(id);
+               } else {
+                   otherIDs.push(id);
+               }
+           });
+
+           var disconnectingWayID = (vertexIDs.length === 0 && wayIDs.length === 1 && wayIDs[0]);
+           var extent, nodes, coords;
+
+           if (disconnectingWayID) {   // disconnecting a way
+               var way = context.entity(disconnectingWayID);
+               extent = way.extent(context.graph());
+               nodes = utilGetAllNodes([disconnectingWayID], context.graph());
+               coords = nodes.map(function(n) { return n.loc; });
+
+               way.nodes.forEach(function(vertexID) {
+                   var action = actionDisconnect(vertexID).limitWays(wayIDs);
+                   if (action.disabled(context.graph()) !== 'not_connected') {
+                       actions.push(action);
+                   }
+               });
+
+           } else {    // disconnecting a vertex
+               vertexIDs.forEach(function(vertexID) {
+                   var action = actionDisconnect(vertexID);
+
+                   if (wayIDs.length > 0) {
+                       var waysIDsForVertex = wayIDs.filter(function(wayID) {
+                           var way = context.entity(wayID);
+                           return way.nodes.indexOf(vertexID) !== -1;
+                       });
+                       action.limitWays(waysIDsForVertex);
+                   }
+                   actions.push(action);
+               });
+           }
+
+
+           var operation = function() {
+               context.perform(function(graph) {
+                   return actions.reduce(function(graph, action) { return action(graph); }, graph);
+               }, operation.annotation());
+
+               context.validator().validate();
+           };
+
+
+           operation.available = function() {
+               if (actions.length === 0) return false;
+               if (otherIDs.length !== 0) return false;
+
+               if (vertexIDs.length !== 0 && wayIDs.length !== 0 && !wayIDs.every(function(wayID) {
+                   return vertexIDs.some(function(vertexID) {
+                       var way = context.entity(wayID);
+                       return way.nodes.indexOf(vertexID) !== -1;
+                   });
+               })) return false;
+
+               return true;
+           };
+
+
+           operation.disabled = function() {
+               var reason;
+               for (var actionIndex in actions) {
+                   reason = actions[actionIndex].disabled(context.graph());
+                   if (reason) return reason;
+               }
+
+               if (disconnectingWayID && extent.percentContainedIn(context.extent()) < 0.8) {
+                   return 'too_large.single';
+               } else if (disconnectingWayID && someMissing()) {
+                   return 'not_downloaded';
+               } else if (selectedIDs.some(context.hasHiddenConnections)) {
+                   return 'connected_to_hidden';
+               }
+
+               return false;
+
+
+               function someMissing() {
+                   if (context.inIntro()) return false;
+                   var osm = context.connection();
+                   if (osm) {
+                       var missing = coords.filter(function(loc) { return !osm.isDataLoaded(loc); });
+                       if (missing.length) {
+                           missing.forEach(function(loc) { context.loadTileAtLoc(loc); });
+                           return true;
+                       }
+                   }
+                   return false;
+               }
+           };
+
+
+           operation.tooltip = function() {
+               var disable = operation.disabled();
+               if (disable) {
+                   return t('operations.disconnect.' + disable);
+               }
+               if (disconnectingWayID) {
+                   return t('operations.disconnect.' + context.geometry(disconnectingWayID) + '.description');
+               }
+               return t('operations.disconnect.description');
+           };
+
+
+           operation.annotation = function() {
+               return t('operations.disconnect.annotation');
+           };
+
+
+           operation.id = 'disconnect';
+           operation.keys = [t('operations.disconnect.key')];
+           operation.title = t('operations.disconnect.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+           return operation;
+       }
+
+       function operationDowngrade(selectedIDs, context) {
+           var affectedFeatureCount = 0;
+           var downgradeType;
+
+           setDowngradeTypeForEntityIDs();
+
+           var multi = affectedFeatureCount === 1 ? 'single' : 'multiple';
+
+           function setDowngradeTypeForEntityIDs() {
+               for (var i in selectedIDs) {
+                   var entityID = selectedIDs[i];
+                   var type = downgradeTypeForEntityID(entityID);
+                   if (type) {
+                       affectedFeatureCount += 1;
+                       if (downgradeType && type !== downgradeType) {
+                           downgradeType = 'building_address';
+                       } else {
+                           downgradeType = type;
+                       }
+                   }
+               }
+           }
+
+           function downgradeTypeForEntityID(entityID) {
+               var graph = context.graph();
+               var entity = graph.entity(entityID);
+               var preset = context.presets().match(entity, graph);
+
+               if (preset.isFallback()) return null;
+
+               if (entity.type === 'node' &&
+                   preset.id !== 'address' &&
+                   Object.keys(entity.tags).some(function(key) {
+                       return key.match(/^addr:.{1,}/);
+                   })) {
+
+                   return 'address';
+               }
+               if (entity.geometry(graph) === 'area' &&
+                   entity.tags.building &&
+                   !preset.tags.building) {
+
+                   return 'building';
+               }
+
+               return null;
+           }
+
+           var buildingKeysToKeep = ['architect', 'building', 'height', 'layer', 'source', 'type', 'wheelchair'];
+           var addressKeysToKeep = ['source'];
+
+           var operation = function () {
+               context.perform(function(graph) {
+
+                   for (var i in selectedIDs) {
+                       var entityID = selectedIDs[i];
+                       var type = downgradeTypeForEntityID(entityID);
+                       if (!type) continue;
+
+                       var tags = Object.assign({}, graph.entity(entityID).tags);  // shallow copy
+                       for (var key in tags) {
+                           if (type === 'address' && addressKeysToKeep.indexOf(key) !== -1) continue;
+                           if (type === 'building') {
+                               if (buildingKeysToKeep.indexOf(key) !== -1 ||
+                                   key.match(/^building:.{1,}/) ||
+                                   key.match(/^roof:.{1,}/)) continue;
+                           }
+                           // keep address tags for buildings too
+                           if (key.match(/^addr:.{1,}/)) continue;
+
+                           delete tags[key];
+                       }
+                       graph = actionChangeTags(entityID, tags)(graph);
+                   }
+                   return graph;
+               }, operation.annotation());
+
+               context.validator().validate();
+
+               // refresh the select mode to enable the delete operation
+               context.enter(modeSelect(context, selectedIDs));
+           };
+
+
+           operation.available = function () {
+               return downgradeType;
+           };
+
+
+           operation.disabled = function () {
+               if (selectedIDs.some(hasWikidataTag)) {
+                   return 'has_wikidata_tag';
+               }
+               return false;
+
+               function hasWikidataTag(id) {
+                   var entity = context.entity(id);
+                   return entity.tags.wikidata && entity.tags.wikidata.trim().length > 0;
+               }
+           };
+
+
+           operation.tooltip = function () {
+               var disable = operation.disabled();
+               return disable ?
+                   t('operations.downgrade.' + disable + '.' + multi) :
+                   t('operations.downgrade.description.' + downgradeType);
+           };
+
+
+           operation.annotation = function () {
+               var suffix;
+               if (downgradeType === 'building_address') {
+                   suffix = 'multiple';
+               } else {
+                   suffix = downgradeType + '.' + multi;
+               }
+               return t('operations.downgrade.annotation.' + suffix, { n: affectedFeatureCount});
+           };
+
+
+           operation.id = 'downgrade';
+           operation.keys = [uiCmd('⌘⌫'), uiCmd('⌘⌦'), uiCmd('⌦')];
+           operation.title = t('operations.downgrade.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+
+           return operation;
+       }
+
+       function operationExtract(selectedIDs, context) {
+           var entityID = selectedIDs.length && selectedIDs[0];
+           var action = actionExtract(entityID, context.projection);
+
+           var geometry = entityID && context.geometry(entityID);
+           var extent = geometry === 'area' && context.entity(entityID).extent(context.graph());
+
+
+           var operation = function () {
+               context.perform(action);  // do the extract
+               context.validator().validate();
+
+               var extractedNodeID = action.getExtractedNodeID();
+
+               var mouse = context.map().mouseCoordinates();
+               if (mouse.some(isNaN)) {
+                   enterMoveMode();
+
+               } else {
+                   // move detached node to the mouse location (transitioned)
+                   context.perform(actionMoveNode(extractedNodeID, mouse));
+
+                   // after transition completes, put at final mouse location and enter move mode.
+                   window.setTimeout(function() {
+                       mouse = context.map().mouseCoordinates();
+                       context.replace(actionMoveNode(extractedNodeID, mouse));
+                       enterMoveMode();
+                   }, 150);
+               }
+
+               function enterMoveMode() {
+                   var baseGraph = context.graph();
+                   context.enter(modeMove(context, [extractedNodeID], baseGraph));
+               }
+           };
+
+
+           operation.available = function () {
+               if (selectedIDs.length !== 1) return false;
+
+               var graph = context.graph();
+               var entity = graph.hasEntity(entityID);
+               if (!entity) return false;
+
+               if (!entity.hasInterestingTags()) return false;
+
+               if (geometry === 'area') {
+                   var preset = context.presets().match(entity, graph);
+                   return preset.geometry.indexOf('point') !== -1;
+               }
+
+               return entity.type === 'node' && graph.parentWays(entity).length > 0;
+           };
+
+
+           operation.disabled = function () {
+               var reason = action.disabled(context.graph());
+               if (reason) {
+                   return reason;
+               } else if (geometry === 'vertex' && selectedIDs.some(context.hasHiddenConnections)) {
+                   return 'connected_to_hidden';
+               } else if (extent && extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
+                   return 'too_large';
+               }
+
+               return false;
+           };
+
+
+           operation.tooltip = function () {
+               var disableReason = operation.disabled();
+               if (disableReason) {
+                   return t('operations.extract.' + disableReason + '.' + geometry + '.single',
+                       { relation: context.presets().item('type/restriction').name() });
+               } else {
+                   return t('operations.extract.description.' + geometry + '.single');
+               }
+           };
+
+
+           operation.annotation = function () {
+               return t('operations.extract.annotation.single');
+           };
+
+
+           operation.id = 'extract';
+           operation.keys = [t('operations.extract.key')];
+           operation.title = t('operations.extract.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+
+           return operation;
+       }
+
+       function operationMerge(selectedIDs, context) {
+
+           function updatePresetTags(newGraph, ids) {
+               var id = ids[0];
+               var newEntity = newGraph.hasEntity(id);
+
+               if (!newEntity) return;
+               var newPreset = context.presets().match(newEntity, newGraph);
+               context.replace(actionChangePreset(id, null, newPreset), operation.annotation());
+           }
+
+
+           var join = actionJoin(selectedIDs);
+           var merge = actionMerge(selectedIDs);
+           var mergePolygon = actionMergePolygon(selectedIDs);
+           var mergeNodes = actionMergeNodes(selectedIDs);
+
+
+           var operation = function() {
+               var doUpdateTags;
+               var action;
+
+               if (!join.disabled(context.graph())) {
+                   doUpdateTags = false;
+                   action = join;
+               } else if (!merge.disabled(context.graph())) {
+                   doUpdateTags = true;
+                   action = merge;
+               } else if (!mergePolygon.disabled(context.graph())) {
+                   doUpdateTags = false;
+                   action = mergePolygon;
+               } else {
+                   doUpdateTags = true;
+                   action = mergeNodes;
+               }
+
+               context.perform(action, operation.annotation());
+
+               var ids = selectedIDs.filter(function(id) {
+                   var entity = context.hasEntity(id);
+                   return entity && entity.type !== 'node';
+               });
+
+               // if we merged tags, rematch preset to update tags if necessary (#3851)
+               if (doUpdateTags) {
+                   updatePresetTags(context.graph(), ids);
+               }
+
+               context.validator().validate();
+               context.enter(modeSelect(context, ids));
+           };
+
+
+           operation.available = function() {
+               return selectedIDs.length >= 2;
+           };
+
+
+           operation.disabled = function() {
+               return join.disabled(context.graph()) &&
+                   merge.disabled(context.graph()) &&
+                   mergePolygon.disabled(context.graph()) &&
+                   mergeNodes.disabled(context.graph());
+           };
+
+
+           operation.tooltip = function() {
+               var j = join.disabled(context.graph());          // 'not_eligible', 'not_adjacent', 'restriction', 'conflicting_tags'
+               var m = merge.disabled(context.graph());         // 'not_eligible'
+               var p = mergePolygon.disabled(context.graph());  // 'not_eligible', 'incomplete_relation'
+               var n = mergeNodes.disabled(context.graph());    // 'not_eligible', 'relation', 'restriction'
+
+               // disabled for one of various reasons
+               if (j && m && p && n) {
+                   if (j === 'restriction' || n === 'restriction') {
+                       return t('operations.merge.restriction',
+                           { relation: context.presets().item('type/restriction').name() });
+
+                   } else if (p === 'incomplete_relation') {
+                       return t('operations.merge.incomplete_relation');
+
+                   } else if (n === 'relation') {
+                       return t('operations.merge.relation');
+
+                   } else {
+                       return t('operations.merge.' + j);
+                   }
+
+               } else {
+                   return t('operations.merge.description');
+               }
+           };
+
+
+           operation.annotation = function() {
+               return t('operations.merge.annotation', { n: selectedIDs.length });
+           };
+
+
+           operation.id = 'merge';
+           operation.keys = [t('operations.merge.key')];
+           operation.title = t('operations.merge.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+           return operation;
+       }
+
+       function operationReverse(selectedIDs, context) {
+           var entityID = selectedIDs[0];
+
+           var operation = function() {
+               context.perform(actionReverse(entityID), operation.annotation());
+               context.validator().validate();
+           };
+
+
+           operation.available = function() {
+               return selectedIDs.length === 1 && context.geometry(entityID) === 'line';
+           };
+
+
+           operation.disabled = function() {
+               return false;
+           };
+
+
+           operation.tooltip = function() {
+               return t('operations.reverse.description');
+           };
+
+
+           operation.annotation = function() {
+               return t('operations.reverse.annotation');
+           };
+
+
+           operation.id = 'reverse';
+           operation.keys = [t('operations.reverse.key')];
+           operation.title = t('operations.reverse.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+           return operation;
+       }
+
+       function operationSplit(selectedIDs, context) {
+           var vertices = selectedIDs
+               .filter(function(id) { return context.geometry(id) === 'vertex'; });
+           var entityID = vertices[0];
+           var action = actionSplit(entityID);
+           var ways = [];
+
+           if (vertices.length === 1) {
+               if (entityID && selectedIDs.length > 1) {
+                   var ids = selectedIDs.filter(function(id) { return id !== entityID; });
+                   action.limitWays(ids);
+               }
+               ways = action.ways(context.graph());
+           }
+
+
+           var operation = function() {
+               var difference = context.perform(action, operation.annotation());
+               context.enter(modeSelect(context, difference.extantIDs()));
+           };
+
+
+           operation.available = function() {
+               return vertices.length === 1;
+           };
+
+
+           operation.disabled = function() {
+               var reason = action.disabled(context.graph());
+               if (reason) {
+                   return reason;
+               } else if (selectedIDs.some(context.hasHiddenConnections)) {
+                   return 'connected_to_hidden';
+               }
+
+               return false;
+           };
+
+
+           operation.tooltip = function() {
+               var disable = operation.disabled();
+               if (disable) {
+                   return t('operations.split.' + disable);
+               } else if (ways.length === 1) {
+                   return t('operations.split.description.' + context.geometry(ways[0].id));
+               } else {
+                   return t('operations.split.description.multiple');
+               }
+           };
+
+
+           operation.annotation = function() {
+               return ways.length === 1 ?
+                   t('operations.split.annotation.' + context.geometry(ways[0].id)) :
+                   t('operations.split.annotation.multiple', { n: ways.length });
+           };
+
+
+           operation.id = 'split';
+           operation.keys = [t('operations.split.key')];
+           operation.title = t('operations.split.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+           return operation;
+       }
+
+       function operationStraighten(selectedIDs, context) {
+           var wayIDs = selectedIDs.filter(function(id) { return id.charAt(0) === 'w'; });
+           var nodeIDs = selectedIDs.filter(function(id) { return id.charAt(0) === 'n'; });
+
+           var nodes = utilGetAllNodes(selectedIDs, context.graph());
+           var coords = nodes.map(function(n) { return n.loc; });
+           var action = chooseAction();
+           var geometry;
+
+
+           function chooseAction() {
+               // straighten selected nodes
+               if (wayIDs.length === 0 && nodeIDs.length > 2) {
+                   geometry = 'points';
+                   return actionStraightenNodes(nodeIDs, context.projection);
+
+               // straighten selected ways (possibly between range of 2 selected nodes)
+               } else if (wayIDs.length > 0 && (nodeIDs.length === 0 || nodeIDs.length === 2)) {
+                   var startNodeIDs = [];
+                   var endNodeIDs = [];
+
+                   for (var i = 0; i < selectedIDs.length; i++) {
+                       var entity = context.entity(selectedIDs[i]);
+                       if (entity.type === 'node') {
+                           continue;
+                       } else if (entity.type !== 'way' || entity.isClosed()) {
+                           return false;  // exit early, can't straighten these
+                       }
+
+                       startNodeIDs.push(entity.first());
+                       endNodeIDs.push(entity.last());
+                   }
+
+                   // Remove duplicate end/startNodeIDs (duplicate nodes cannot be at the line end)
+                   startNodeIDs = startNodeIDs.filter(function(n) {
+                       return startNodeIDs.indexOf(n) === startNodeIDs.lastIndexOf(n);
+                   });
+                   endNodeIDs = endNodeIDs.filter(function(n) {
+                       return endNodeIDs.indexOf(n) === endNodeIDs.lastIndexOf(n);
+                   });
+
+                   // Ensure all ways are connected (i.e. only 2 unique endpoints/startpoints)
+                   if (utilArrayDifference(startNodeIDs, endNodeIDs).length +
+                       utilArrayDifference(endNodeIDs, startNodeIDs).length !== 2) return false;
+
+                   // Ensure path contains at least 3 unique nodes
+                   var wayNodeIDs = utilGetAllNodes(wayIDs, context.graph())
+                       .map(function(node) { return node.id; });
+                   if (wayNodeIDs.length <= 2) return false;
+
+                   // If range of 2 selected nodes is supplied, ensure nodes lie on the selected path
+                   if (nodeIDs.length === 2 && (
+                       wayNodeIDs.indexOf(nodeIDs[0]) === -1 || wayNodeIDs.indexOf(nodeIDs[1]) === -1
+                   )) return false;
+
+                   geometry = 'line';
+                   return actionStraightenWay(selectedIDs, context.projection);
+               }
+
+               return false;
+           }
+
+
+           function operation() {
+               if (!action) return;
+
+               context.perform(action, operation.annotation());
+
+               window.setTimeout(function() {
+                   context.validator().validate();
+               }, 300);  // after any transition
+           }
+
+
+           operation.available = function() {
+               return Boolean(action);
+           };
+
+
+           operation.disabled = function() {
+               var reason = action.disabled(context.graph());
+               if (reason) {
+                   return reason;
+               } else if (someMissing()) {
+                   return 'not_downloaded';
+               } else if (selectedIDs.some(context.hasHiddenConnections)) {
+                   return 'connected_to_hidden';
+               }
+
+               return false;
+
+
+               function someMissing() {
+                   if (context.inIntro()) return false;
+                   var osm = context.connection();
+                   if (osm) {
+                       var missing = coords.filter(function(loc) { return !osm.isDataLoaded(loc); });
+                       if (missing.length) {
+                           missing.forEach(function(loc) { context.loadTileAtLoc(loc); });
+                           return true;
+                       }
+                   }
+                   return false;
+               }
+           };
+
+
+           operation.tooltip = function() {
+               var disable = operation.disabled();
+               return disable ?
+                   t('operations.straighten.' + disable) :
+                   t('operations.straighten.description.' + geometry);
+           };
+
+
+           operation.annotation = function() {
+               return t('operations.straighten.annotation.' + geometry);
+           };
+
+
+           operation.id = 'straighten';
+           operation.keys = [t('operations.straighten.key')];
+           operation.title = t('operations.straighten.title');
+           operation.behavior = behaviorOperation(context).which(operation);
+
+           return operation;
+       }
+
+
+
+       var Operations = /*#__PURE__*/Object.freeze({
+               operationCircularize: operationCircularize,
+               operationContinue: operationContinue,
+               operationDelete: operationDelete,
+               operationDisconnect: operationDisconnect,
+               operationDowngrade: operationDowngrade,
+               operationExtract: operationExtract,
+               operationMerge: operationMerge,
+               operationMove: operationMove,
+               operationOrthogonalize: operationOrthogonalize,
+               operationReflectShort: operationReflectShort,
+               operationReflectLong: operationReflectLong,
+               operationReverse: operationReverse,
+               operationRotate: operationRotate,
+               operationSplit: operationSplit,
+               operationStraighten: operationStraighten
+       });
+
+       function uiEditMenu(context, operations) {
+           var menu;
+           var center = [0, 0];
+           var offset = [0, 0];
+           var tooltip;
+
+           var p = 8;               // top padding
+           var m = 4;               // top margin
+           var h = 15;              // height of icon
+           var vpBottomMargin = 45; // viewport bottom margin
+           var vpSideMargin = 35;   // viewport side margin
+           var buttonWidth = 44;
+           var buttonHeight = (2 * p + h);
+           var menuWidth = buttonWidth;
+           var menuHeight = (2 * m) + operations.length * buttonHeight;
+           var menuSideMargin = 10;
+           var tooltipWidth = 200;
+           var tooltipHeight = 200;  // a reasonable guess, real height depends on tooltip contents
+
+
+           var editMenu = function (selection) {
+               if (!operations.length) return;
+
+               selection.node().parentNode.focus();
+
+               var isRTL = textDirection === 'rtl';
+               var viewport = context.surfaceRect();
+
+               if (!isRTL && (center[0] + menuSideMargin + menuWidth) > (viewport.width - vpSideMargin)) {
+                   // menu is going left-to-right and near right viewport edge, go left instead
+                   isRTL = true;
+               } else if (isRTL && (center[0] - menuSideMargin - menuWidth) < vpSideMargin) {
+                   // menu is going right-to-left and near left viewport edge, go right instead
+                   isRTL = false;
+               }
+
+               offset[0] = (isRTL ? -1 * (menuSideMargin + menuWidth) : menuSideMargin);
+
+               if (center[1] + menuHeight > (viewport.height - vpBottomMargin)) {
+                   // menu is near bottom viewport edge, shift upwards
+                   offset[1] = -1 * (center[1] + menuHeight - viewport.height + vpBottomMargin);
+               }
+
+               var origin = geoVecAdd(center, offset);
+
+               menu = selection
+                   .append('g')
+                   .attr('class', 'edit-menu')
+                   .attr('transform', 'translate(' + origin + ')')
+                   .attr('opacity', 0);
+
+               menu
+                   .transition()
+                   .attr('opacity', 1);
+
+               menu
+                   .append('rect')
+                   .attr('class', 'edit-menu-background')
+                   .attr('x', 4)
+                   .attr('rx', 4)
+                   .attr('ry', 4)
+                   .attr('width', menuWidth)
+                   .attr('height', menuHeight)
+                   .attr('stroke-linecap', 'round');
+
+
+               var buttons = menu.selectAll('.edit-menu-item')
+                   .data(operations);
+
+               // enter
+               var buttonsEnter = buttons.enter()
+                   .append('g')
+                   .attr('class', function (d) { return 'edit-menu-item edit-menu-item-' + d.id; })
+                   .attr('transform', function(d, i) {
+                       return 'translate(' + geoVecFloor([0, m + i * buttonHeight]).join(',') + ')';
+                   });
+
+               buttonsEnter
+                   .append('rect')
+                   .attr('x', 4)
+                   .attr('width', buttonWidth)
+                   .attr('height', buttonHeight)
+                   .on('click', click)
+                   .on('mousedown', mousedown)
+                   .on('mouseover', mouseover)
+                   .on('mouseout', mouseout);
+
+               buttonsEnter
+                   .append('use')
+                   .attr('width', '20')
+                   .attr('height', '20')
+                   .attr('transform', function () { return 'translate(' + [2 * p, 5] + ')'; })
+                   .attr('xlink:href', function (d) { return '#iD-operation-' + d.id; });
+
+               // update
+               buttons = buttonsEnter
+                   .merge(buttons)
+                   .classed('disabled', function(d) { return d.disabled(); });
+
+
+               tooltip = d3_select('#id-container')
+                   .append('div')
+                   .attr('class', 'tooltip-inner edit-menu-tooltip');
+
+
+               function click(operation) {
+                   event.stopPropagation();
+                   if (operation.disabled()) return;
+                   operation();
+                   editMenu.close();
+               }
+
+               function mousedown() {
+                   event.stopPropagation();  // https://github.com/openstreetmap/iD/issues/1869
+               }
+
+               function mouseover(d, i) {
+                   var tipX, tipY;
+
+                   if (!isRTL) {
+                       tipX = viewport.left + origin[0] + menuSideMargin + menuWidth;
+                   } else {
+                       tipX = viewport.left + origin[0] - 4 - tooltipWidth;
+                   }
+
+                   if (tipX + tooltipWidth > viewport.right) {
+                       // tip is going left-to-right and near right viewport edge, go left instead
+                       tipX = viewport.left + origin[0] - 4 - tooltipWidth;
+                   } else if (tipX < viewport.left) {
+                       // tip is going right-to-left and near left viewport edge, go right instead
+                       tipX = viewport.left + origin[0] + menuSideMargin + menuWidth;
+                   }
+
+                   tipY = viewport.top + origin[1] + (i * buttonHeight);
+                   if (tipY + tooltipHeight > viewport.bottom) {
+                       // tip is near bottom viewport edge, shift upwards
+                       tipY -= tipY + tooltipHeight - viewport.bottom;
+                   }
+
+                   tooltip
+                       .style('left', tipX + 'px')
+                       .style('top', tipY + 'px')
+                       .style('display', 'block')
+                       .html(uiTooltipHtml(d.tooltip(), d.keys[0], d.title));
+
+                   // update disabled again, just in case tooltip and disabled state disagree
+                   // https://github.com/openstreetmap/iD/issues/6296#issuecomment-489259027
+                   d3_select(this.parentNode)
+                       .classed('disabled', d.disabled());
+
+               }
+
+               function mouseout() {
+                   tooltip.style('display', 'none');
+               }
+           };
+
+
+           editMenu.close = function () {
+               if (menu) {
+                   menu
+                       .style('pointer-events', 'none')
+                       .transition()
+                       .attr('opacity', 0)
+                       .remove();
+               }
+
+               if (tooltip) {
+                   tooltip.remove();
+               }
+           };
+
+
+           editMenu.center = function(val) {
+               if (!arguments.length) return center;
+               center = val;
+               return editMenu;
+           };
+
+
+           return editMenu;
+       }
+
+       function uiSelectionList(context, selectedIDs) {
+
+           function selectEntity(entity) {
+               context.enter(modeSelect(context, [entity.id]));
+           }
+
+
+           function deselectEntity(entity) {
+               event.stopPropagation();
+               var index = selectedIDs.indexOf(entity.id);
+               if (index > -1) {
+                   selectedIDs.splice(index, 1);
+               }
+               context.enter(modeSelect(context, selectedIDs));
+           }
+
+
+           function selectionList(selection) {
+               selection.classed('selection-list-pane', true);
+
+               var header = selection
+                   .append('div')
+                   .attr('class', 'header fillL cf');
+
+               header
+                   .append('h3')
+                   .text(t('inspector.multiselect'));
+
+               var listWrap = selection
+                   .append('div')
+                   .attr('class', 'inspector-body');
+
+               var list = listWrap
+                   .append('div')
+                   .attr('class', 'feature-list cf');
+
+
+               context.history()
+                   .on('change.selectionList', function(difference) {
+                       if (difference) drawList();
+                   });
+
+               drawList();
+
+
+               function drawList() {
+                   var entities = selectedIDs
+                       .map(function(id) { return context.hasEntity(id); })
+                       .filter(function(entity) { return entity; });
+
+                   var items = list.selectAll('.feature-list-item')
+                       .data(entities, osmEntity.key);
+
+                   items.exit()
+                       .remove();
+
+                   // Enter
+                   var enter = items.enter()
+                       .append('div')
+                       .attr('class', 'feature-list-item')
+                       .on('click', selectEntity);
+
+                   enter
+                       .each(function(d) {
+                           d3_select(this).on('mouseover', function() {
+                               utilHighlightEntities([d.id], true, context);
+                           });
+                           d3_select(this).on('mouseout', function() {
+                               utilHighlightEntities([d.id], false, context);
+                           });
+                       });
+
+                   var label = enter
+                       .append('button')
+                       .attr('class', 'label');
+
+                   enter
+                       .append('button')
+                       .attr('class', 'close')
+                       .on('click', deselectEntity)
+                       .call(svgIcon('#iD-icon-close'));
+
+                   label
+                       .append('span')
+                       .attr('class', 'entity-geom-icon')
+                       .call(svgIcon('', 'pre-text'));
+
+                   label
+                       .append('span')
+                       .attr('class', 'entity-type');
+
+                   label
+                       .append('span')
+                       .attr('class', 'entity-name');
+
+                   // Update
+                   items = items.merge(enter);
+
+                   items.selectAll('.entity-geom-icon use')
+                       .attr('href', function() {
+                           var entity = this.parentNode.parentNode.__data__;
+                           return '#iD-icon-' + context.geometry(entity.id);
+                       });
+
+                   items.selectAll('.entity-type')
+                       .text(function(entity) { return context.presets().match(entity, context.graph()).name(); });
+
+                   items.selectAll('.entity-name')
+                       .text(function(entity) { return utilDisplayName(entity); });
+               }
+           }
+
+           return selectionList;
+       }
+
+       function uiRadialMenu(context, operations) {
+           var menu;
+           var center = [0, 0];
+           var tooltip;
+
+
+           var radialMenu = function(selection) {
+               if (!operations.length) return;
+
+               selection.node().parentNode.focus();
+
+               function click(operation) {
+                   event.stopPropagation();
+                   if (operation.disabled()) return;
+                   operation();
+                   radialMenu.close();
+               }
+
+               menu = selection
+                   .append('g')
+                   .attr('class', 'radial-menu')
+                   .attr('transform', 'translate(' + center + ')')
+                   .attr('opacity', 0);
+
+               menu
+                   .transition()
+                   .attr('opacity', 1);
+
+               var r = 50;
+               var a = Math.PI / 4;
+               var a0 = -Math.PI / 4;
+               var a1 = a0 + (operations.length - 1) * a;
+
+               menu
+                   .append('path')
+                   .attr('class', 'radial-menu-background')
+                   .attr('d', 'M' + r * Math.sin(a0) + ',' +
+                                    r * Math.cos(a0) +
+                             ' A' + r + ',' + r + ' 0 ' + (operations.length > 5 ? '1' : '0') + ',0 ' +
+                                    (r * Math.sin(a1) + 1e-3) + ',' +
+                                    (r * Math.cos(a1) + 1e-3)) // Force positive-length path (#1305)
+                   .attr('stroke-width', 50)
+                   .attr('stroke-linecap', 'round');
+
+               var button = menu.selectAll()
+                   .data(operations)
+                   .enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'radial-menu-item radial-menu-item-' + d.id; })
+                   .classed('disabled', function(d) { return d.disabled(); })
+                   .attr('transform', function(d, i) {
+                       return 'translate(' + geoVecFloor([
+                               r * Math.sin(a0 + i * a),
+                               r * Math.cos(a0 + i * a)]).join(',') + ')';
+                   });
+
+               button
+                   .append('circle')
+                   .attr('r', 15)
+                   .on('click', click)
+                   .on('mousedown', mousedown)
+                   .on('mouseover', mouseover)
+                   .on('mouseout', mouseout);
+
+               button
+                   .append('use')
+                   .attr('transform', 'translate(-10,-10)')
+                   .attr('width', '20')
+                   .attr('height', '20')
+                   .attr('xlink:href', function(d) { return '#iD-operation-' + d.id; });
+
+               tooltip = d3_select(document.body)
+                   .append('div')
+                   .attr('class', 'tooltip-inner radial-menu-tooltip');
+
+               function mousedown() {
+                   event.stopPropagation(); // https://github.com/openstreetmap/iD/issues/1869
+               }
+
+               function mouseover(d, i) {
+                   var rect = context.surfaceRect();
+                   var angle = a0 + i * a;
+                   var top = rect.top + (r + 25) * Math.cos(angle) + center[1] + 'px';
+                   var left = rect.left + (r + 25) * Math.sin(angle) + center[0] + 'px';
+                   var bottom = rect.height - (r + 25) * Math.cos(angle) - center[1] + 'px';
+                   var right = rect.width - (r + 25) * Math.sin(angle) - center[0] + 'px';
+
+                   tooltip
+                       .style('top', null)
+                       .style('left', null)
+                       .style('bottom', null)
+                       .style('right', null)
+                       .style('display', 'block')
+                       .html(uiTooltipHtml(d.tooltip(), d.keys[0]));
+
+                   if (i === 0) {
+                       tooltip
+                           .style('right', right)
+                           .style('top', top);
+                   } else if (i >= 4) {
+                       tooltip
+                           .style('left', left)
+                           .style('bottom', bottom);
+                   } else {
+                       tooltip
+                           .style('left', left)
+                           .style('top', top);
+                   }
+               }
+
+               function mouseout() {
+                   tooltip.style('display', 'none');
+               }
+           };
+
+
+           radialMenu.close = function() {
+               if (menu) {
+                   menu
+                       .style('pointer-events', 'none')
+                       .transition()
+                       .attr('opacity', 0)
+                       .remove();
+               }
+
+               if (tooltip) {
+                   tooltip.remove();
+               }
+           };
+
+
+           radialMenu.center = function(_) {
+               if (!arguments.length) return center;
+               center = _;
+               return radialMenu;
+           };
+
+
+           return radialMenu;
+       }
+
+       var _relatedParent;
+
+
+       function modeSelect(context, selectedIDs) {
+           var mode = {
+               id: 'select',
+               button: 'browse'
+           };
+
+           var keybinding = utilKeybinding('select');
+           var behaviors = [
+               behaviorCopy(context),
+               behaviorPaste(context),
+               behaviorBreathe(),
+               behaviorHover(context),
+               behaviorSelect(context),
+               behaviorLasso(context),
+               modeDragNode(context).restoreSelectedIDs(selectedIDs).behavior,
+               modeDragNote(context).behavior
+           ];
+           var editMenu;
+           var _timeout = null;
+           var _newFeature = false;
+           var _suppressMenu = true;
+           var _follow = false;
+
+
+           var wrap = context.container()
+               .select('.inspector-wrap');
+
+
+           function singular() {
+               if (selectedIDs && selectedIDs.length === 1) {
+                   return context.hasEntity(selectedIDs[0]);
+               }
+           }
+
+
+           function checkSelectedIDs() {
+               var ids = [];
+               if (Array.isArray(selectedIDs)) {
+                   ids = selectedIDs.filter(function(id) {
+                       return context.hasEntity(id);
+                   });
+               }
+
+               if (ids.length) {
+                   selectedIDs = ids;
+               } else {
+                   context.enter(modeBrowse(context));
+               }
+               return !!ids.length;
+           }
+
+
+           // find the common parent ways for nextVertex, previousVertex
+           function commonParents() {
+               var graph = context.graph();
+               var commonParents = [];
+
+               for (var i = 0; i < selectedIDs.length; i++) {
+                   var entity = context.hasEntity(selectedIDs[i]);
+                   if (!entity || entity.geometry(graph) !== 'vertex') {
+                       return [];  // selection includes some not vertexes
+                   }
+
+                   var currParents = graph.parentWays(entity).map(function(w) { return w.id; });
+                   if (!commonParents.length) {
+                       commonParents = currParents;
+                       continue;
+                   }
+
+                   commonParents = utilArrayIntersection(commonParents, currParents);
+                   if (!commonParents.length) {
+                       return [];
+                   }
+               }
+
+               return commonParents;
+           }
+
+
+           function singularParent() {
+               var parents = commonParents();
+               if (!parents || parents.length === 0) {
+                   _relatedParent = null;
+                   return null;
+               }
+
+               // relatedParent is used when we visit a vertex with multiple
+               // parents, and we want to remember which parent line we started on.
+
+               if (parents.length === 1) {
+                   _relatedParent = parents[0];  // remember this parent for later
+                   return _relatedParent;
+               }
+
+               if (parents.indexOf(_relatedParent) !== -1) {
+                   return _relatedParent;   // prefer the previously seen parent
+               }
+
+               return parents[0];
+           }
+
+
+           function closeMenu() {
+               if (editMenu) {
+                   context.surface().call(editMenu.close);
+               }
+           }
+
+
+           function positionMenu() {
+               if (!editMenu) return;
+
+               var entity = singular();
+               if (entity && context.geometry(entity.id) === 'relation') {
+                   _suppressMenu = true;
+               } else {
+                   var point = context.mouse();
+                   var viewport = geoExtent(context.projection.clipExtent()).polygon();
+
+                   if (point && geoPointInPolygon(point, viewport)) {
+                       editMenu.center(point);
+                   } else {
+                       _suppressMenu = true;
+                   }
+               }
+           }
+
+
+           function showMenu() {
+               closeMenu();
+               if (editMenu) {
+                   context.surface().call(editMenu);
+               }
+           }
+
+
+           function toggleMenu() {
+               // deprecation warning - Radial Menu to be removed in iD v3
+               if (d3_select('.edit-menu, .radial-menu').empty()) {
+                   positionMenu();
+                   showMenu();
+               } else {
+                   closeMenu();
+               }
+           }
+
+
+           mode.selectedIDs = function() {
+               return selectedIDs;
+           };
+
+
+           mode.zoomToSelected = function() {
+               var entity = singular();
+               if (entity) {
+                   context.map().zoomToEase(entity);
+               }
+           };
+
+
+           mode.reselect = function() {
+               if (!checkSelectedIDs()) return;
+
+               var surfaceNode = context.surface().node();
+               if (surfaceNode.focus) {   // FF doesn't support it
+                   surfaceNode.focus();
+               }
+
+               positionMenu();
+               if (!_suppressMenu) {
+                   showMenu();
+               }
+           };
+
+
+           mode.newFeature = function(val) {
+               if (!arguments.length) return _newFeature;
+               _newFeature = val;
+               return mode;
+           };
+
+
+           mode.suppressMenu = function(val) {
+               if (!arguments.length) return _suppressMenu;
+               _suppressMenu = val;
+               return mode;
+           };
+
+
+           mode.follow = function(val) {
+               if (!arguments.length) return _follow;
+               _follow = val;
+               return mode;
+           };
+
+
+           mode.enter = function() {
+               if (!checkSelectedIDs()) return;
+
+               context.features().forceVisible(selectedIDs);
+
+               var operations = Object.values(Operations)
+                   .map(function(o) { return o(selectedIDs, context); })
+                   .filter(function(o) { return o.available() && o.id !== 'delete' && o.id !== 'downgrade'; });
+
+               var downgradeOperation = operationDowngrade(selectedIDs, context);
+               // don't allow delete if downgrade is available
+               var lastOperation = !context.inIntro() && downgradeOperation.available() ? downgradeOperation : operationDelete(selectedIDs, context);
+
+               // deprecation warning - Radial Menu to be removed in iD v3
+               var isRadialMenu = context.storage('edit-menu-style') === 'radial';
+               if (isRadialMenu) {
+                   operations = operations.slice(0,7);
+                   operations.unshift(lastOperation);
+               } else {
+                   operations.push(lastOperation);
+               }
+
+               operations.forEach(function(operation) {
+                   if (operation.behavior) {
+                       behaviors.push(operation.behavior);
+                   }
+               });
+
+               behaviors.forEach(context.install);
+
+               keybinding
+                   .on(t('inspector.zoom_to.key'), mode.zoomToSelected)
+                   .on(['[', 'pgup'], previousVertex)
+                   .on([']', 'pgdown'], nextVertex)
+                   .on(['{', uiCmd('⌘['), 'home'], firstVertex)
+                   .on(['}', uiCmd('⌘]'), 'end'], lastVertex)
+                   .on(['\\', 'pause'], nextParent)
+                   .on('⎋', esc, true)
+                   .on('space', toggleMenu);
+
+               d3_select(document)
+                   .call(keybinding);
+
+
+               // deprecation warning - Radial Menu to be removed in iD v3
+               editMenu = isRadialMenu
+                   ? uiRadialMenu(context, operations)
+                   : uiEditMenu(context, operations);
+
+               context.ui().sidebar
+                   .select(singular() ? singular().id : null, _newFeature);
+
+               context.history()
+                   .on('undone.select', update)
+                   .on('redone.select', update);
+
+               context.map()
+                   .on('move.select', closeMenu)
+                   .on('drawn.select', selectElements);
+
+               context.surface()
+                   .on('dblclick.select', dblclick);
+
+
+               selectElements();
+
+               if (selectedIDs.length > 1) {
+                   var entities = uiSelectionList(context, selectedIDs);
+                   context.ui().sidebar.show(entities);
+               }
+
+               if (_follow) {
+                   var extent = geoExtent();
+                   var graph = context.graph();
+                   selectedIDs.forEach(function(id) {
+                       var entity = context.entity(id);
+                       extent._extend(entity.extent(graph));
+                   });
+
+                   var loc = extent.center();
+                   context.map().centerEase(loc);
+               } else if (singular() && singular().type === 'way') {
+                   context.map().pan([0,0]);  // full redraw, to adjust z-sorting #2914
+               }
+
+               _timeout = window.setTimeout(function() {
+                   positionMenu();
+                   if (!_suppressMenu) {
+                       showMenu();
+                   }
+               }, 270);  /* after any centerEase completes */
+
+
+               function update() {
+                   closeMenu();
+                   checkSelectedIDs();
+               }
+
+
+               function dblclick() {
+                   var target = d3_select(event.target);
+
+                   var datum = target.datum();
+                   var entity = datum && datum.properties && datum.properties.entity;
+                   if (!entity) return;
+
+                   if (entity instanceof osmWay && target.classed('target')) {
+                       var choice = geoChooseEdge(context.childNodes(entity), context.mouse(), context.projection);
+                       var prev = entity.nodes[choice.index - 1];
+                       var next = entity.nodes[choice.index];
+
+                       context.perform(
+                           actionAddMidpoint({ loc: choice.loc, edge: [prev, next] }, osmNode()),
+                           t('operations.add.annotation.vertex')
+                       );
+
+                       event.preventDefault();
+                       event.stopPropagation();
+
+                   } else if (entity.type === 'midpoint') {
+                       context.perform(
+                           actionAddMidpoint({ loc: entity.loc, edge: entity.edge }, osmNode()),
+                           t('operations.add.annotation.vertex'));
+
+                       event.preventDefault();
+                       event.stopPropagation();
+                   }
+               }
+
+
+               function selectElements(drawn) {
+                   if (!checkSelectedIDs()) return;
+
+                   var surface = context.surface();
+                   var entity = singular();
+
+                   if (entity && context.geometry(entity.id) === 'relation') {
+                       _suppressMenu = true;
+                       return;
+                   }
+
+                   surface.selectAll('.related')
+                       .classed('related', false);
+
+                   singularParent();
+                   if (_relatedParent) {
+                       surface.selectAll(utilEntitySelector([_relatedParent]))
+                           .classed('related', true);
+                   }
+
+                   var selection = context.surface()
+                       .selectAll(utilEntityOrMemberSelector(selectedIDs, context.graph()));
+
+                   if (selection.empty()) {
+                       // Return to browse mode if selected DOM elements have
+                       // disappeared because the user moved them out of view..
+                       var source = event && event.type === 'zoom' && event.sourceEvent;
+                       if (drawn && source && (source.type === 'mousemove' || source.type === 'touchmove')) {
+                           context.enter(modeBrowse(context));
+                       }
+                   } else {
+                       selection
+                           .classed('selected', true);
+                   }
+               }
+
+
+               function esc() {
+                   if (d3_select('.combobox').size()) return;
+                   context.enter(modeBrowse(context));
+               }
+
+
+               function firstVertex() {
+                   event.preventDefault();
+                   var entity = singular();
+                   var parent = singularParent();
+                   var way;
+
+                   if (entity && entity.type === 'way') {
+                       way = entity;
+                   } else if (parent) {
+                       way = context.entity(parent);
+                   }
+
+                   if (way) {
+                       context.enter(
+                           modeSelect(context, [way.first()]).follow(true)
+                       );
+                   }
+               }
+
+
+               function lastVertex() {
+                   event.preventDefault();
+                   var entity = singular();
+                   var parent = singularParent();
+                   var way;
+
+                   if (entity && entity.type === 'way') {
+                       way = entity;
+                   } else if (parent) {
+                       way = context.entity(parent);
+                   }
+
+                   if (way) {
+                       context.enter(
+                           modeSelect(context, [way.last()]).follow(true)
+                       );
+                   }
+               }
+
+
+               function previousVertex() {
+                   event.preventDefault();
+                   var parent = singularParent();
+                   if (!parent) return;
+
+                   var way = context.entity(parent);
+                   var length = way.nodes.length;
+                   var curr = way.nodes.indexOf(selectedIDs[0]);
+                   var index = -1;
+
+                   if (curr > 0) {
+                       index = curr - 1;
+                   } else if (way.isClosed()) {
+                       index = length - 2;
+                   }
+
+                   if (index !== -1) {
+                       context.enter(
+                           modeSelect(context, [way.nodes[index]]).follow(true)
+                       );
+                   }
+               }
+
+
+               function nextVertex() {
+                   event.preventDefault();
+                   var parent = singularParent();
+                   if (!parent) return;
+
+                   var way = context.entity(parent);
+                   var length = way.nodes.length;
+                   var curr = way.nodes.indexOf(selectedIDs[0]);
+                   var index = -1;
+
+                   if (curr < length - 1) {
+                       index = curr + 1;
+                   } else if (way.isClosed()) {
+                       index = 0;
+                   }
+
+                   if (index !== -1) {
+                       context.enter(
+                           modeSelect(context, [way.nodes[index]]).follow(true)
+                       );
+                   }
+               }
+
+
+               function nextParent() {
+                   event.preventDefault();
+                   var parents = commonParents();
+                   if (!parents || parents.length < 2) return;
+
+                   var index = parents.indexOf(_relatedParent);
+                   if (index < 0 || index > parents.length - 2) {
+                       _relatedParent = parents[0];
+                   } else {
+                       _relatedParent = parents[index + 1];
+                   }
+
+                   var surface = context.surface();
+                   surface.selectAll('.related')
+                       .classed('related', false);
+
+                   if (_relatedParent) {
+                       surface.selectAll(utilEntitySelector([_relatedParent]))
+                           .classed('related', true);
+                   }
+               }
+           };
+
+
+           mode.exit = function() {
+               if (_timeout) window.clearTimeout(_timeout);
+
+               behaviors.forEach(context.uninstall);
+
+               d3_select(document)
+                   .call(keybinding.unbind);
+
+               closeMenu();
+               editMenu = undefined;
+
+               context.history()
+                   .on('undone.select', null)
+                   .on('redone.select', null);
+
+               var surface = context.surface();
+
+               surface
+                   .on('dblclick.select', null);
+
+               surface
+                   .selectAll('.selected')
+                   .classed('selected', false);
+
+               surface
+                   .selectAll('.related')
+                   .classed('related', false);
+
+               context.map().on('drawn.select', null);
+               context.ui().sidebar.hide();
+               context.features().forceVisible([]);
+
+               var entity = singular();
+               if (_newFeature && entity && entity.type === 'relation' &&
+                   // no tags
+                   Object.keys(entity.tags).length === 0 &&
+                   // no parent relations
+                   context.graph().parentRelations(entity).length === 0 &&
+                   // no members or one member with no role
+                   (entity.members.length === 0 || (entity.members.length === 1 && !entity.members[0].role))
+               ) {
+                   // the user added this relation but didn't edit it at all, so just delete it
+                   var deleteAction = actionDeleteRelation(entity.id, true /* don't delete untagged members */);
+                   context.perform(deleteAction, t('operations.delete.annotation.relation'));
+               }
+           };
+
+
+           return mode;
+       }
+
+       function uiLasso(context) {
+           var group, polygon;
+
+           lasso.coordinates = [];
+
+           function lasso(selection) {
+               context.container()
+                   .classed('lasso', true);
+
+               group = selection
+                   .append('g')
+                   .attr('class', 'lasso hide');
+
+               polygon = group
+                   .append('path')
+                   .attr('class', 'lasso-path');
+
+               group
+                   .call(uiToggle(true));
+           }
+
+
+           function draw() {
+               if (polygon) {
+                   polygon.data([lasso.coordinates])
+                       .attr('d', function(d) { return 'M' + d.join(' L') + ' Z'; });
+               }
+           }
+
+
+           lasso.extent = function () {
+               return lasso.coordinates.reduce(function(extent, point) {
+                   return extent.extend(geoExtent(point));
+               }, geoExtent());
+           };
+
+
+           lasso.p = function(_) {
+               if (!arguments.length) return lasso;
+               lasso.coordinates.push(_);
+               draw();
+               return lasso;
+           };
+
+
+           lasso.close = function() {
+               if (group) {
+                   group.call(uiToggle(false, function() {
+                       d3_select(this).remove();
+                   }));
+               }
+               context.container().classed('lasso', false);
+           };
+
+
+           return lasso;
+       }
+
+       function behaviorLasso(context) {
+
+           var behavior = function(selection) {
+               var lasso;
+
+
+               function mousedown() {
+                   var button = 0;  // left
+                   if (event.button === button && event.shiftKey === true) {
+                       lasso = null;
+
+                       d3_select(window)
+                           .on('mousemove.lasso', mousemove)
+                           .on('mouseup.lasso', mouseup);
+
+                       event.stopPropagation();
+                   }
+               }
+
+
+               function mousemove() {
+                   if (!lasso) {
+                       lasso = uiLasso(context);
+                       context.surface().call(lasso);
+                   }
+
+                   lasso.p(context.mouse());
+               }
+
+
+               function normalize(a, b) {
+                   return [
+                       [Math.min(a[0], b[0]), Math.min(a[1], b[1])],
+                       [Math.max(a[0], b[0]), Math.max(a[1], b[1])]
+                   ];
+               }
+
+
+               function lassoed() {
+                   if (!lasso) return [];
+
+                   var graph = context.graph();
+                   var bounds = lasso.extent().map(context.projection.invert);
+                   var extent = geoExtent(normalize(bounds[0], bounds[1]));
+
+                   var intersects = context.intersects(extent).filter(function(entity) {
+                       return entity.type === 'node' &&
+                           geoPointInPolygon(context.projection(entity.loc), lasso.coordinates) &&
+                           !context.features().isHidden(entity, graph, entity.geometry(graph));
+                   });
+
+                   return intersects.map(function(entity) { return entity.id; });
+               }
+
+
+               function mouseup() {
+                   d3_select(window)
+                       .on('mousemove.lasso', null)
+                       .on('mouseup.lasso', null);
+
+                   if (!lasso) return;
+
+                   var ids = lassoed();
+                   lasso.close();
+
+                   if (ids.length) {
+                       context.enter(modeSelect(context, ids));
+                   }
+               }
+
+               selection
+                   .on('mousedown.lasso', mousedown);
+           };
+
+
+           behavior.off = function(selection) {
+               selection.on('mousedown.lasso', null);
+           };
+
+
+           return behavior;
+       }
+
+       function modeBrowse(context) {
+           var mode = {
+               button: 'browse',
+               id: 'browse',
+               title: t('modes.browse.title'),
+               description: t('modes.browse.description')
+           }, sidebar;
+
+           var behaviors = [
+               behaviorPaste(context),
+               behaviorHover(context).on('hover', context.ui().sidebar.hover),
+               behaviorSelect(context),
+               behaviorLasso(context),
+               modeDragNode(context).behavior,
+               modeDragNote(context).behavior
+           ];
+
+
+           mode.enter = function() {
+               behaviors.forEach(context.install);
+
+               // Get focus on the body.
+               if (document.activeElement && document.activeElement.blur) {
+                   document.activeElement.blur();
+               }
+
+               if (sidebar) {
+                   context.ui().sidebar.show(sidebar);
+               } else {
+                   context.ui().sidebar.select(null);
+               }
+           };
+
+
+           mode.exit = function() {
+               context.ui().sidebar.hover.cancel();
+               behaviors.forEach(context.uninstall);
+
+               if (sidebar) {
+                   context.ui().sidebar.hide();
+               }
+           };
+
+
+           mode.sidebar = function(_) {
+               if (!arguments.length) return sidebar;
+               sidebar = _;
+               return mode;
+           };
+
+
+           return mode;
+       }
+
+       function behaviorAddWay(context) {
+           var dispatch$1 = dispatch('start', 'startFromWay', 'startFromNode');
+           var draw = behaviorDraw(context);
+
+           function behavior(surface) {
+               draw.on('click', function() { dispatch$1.apply('start', this, arguments); })
+                   .on('clickWay', function() { dispatch$1.apply('startFromWay', this, arguments); })
+                   .on('clickNode', function() { dispatch$1.apply('startFromNode', this, arguments); })
+                   .on('cancel', behavior.cancel)
+                   .on('finish', behavior.cancel);
+
+               context.map()
+                   .dblclickEnable(false);
+
+               surface.call(draw);
+           }
+
+
+           behavior.off = function(surface) {
+               surface.call(draw.off);
+           };
+
+
+           behavior.cancel = function() {
+               window.setTimeout(function() {
+                   context.map().dblclickEnable(true);
+               }, 1000);
+
+               context.enter(modeBrowse(context));
+           };
+
+
+           behavior.tail = function(text) {
+               draw.tail(text);
+               return behavior;
+           };
+
+
+           return utilRebind(behavior, dispatch$1, 'on');
+       }
+
+       function behaviorHash(context) {
+           var s0 = null; // cached window.location.hash
+           var lat = 90 - 1e-8; // allowable latitude range
+
+
+           var parser = function(map, s) {
+               var q = utilStringQs(s);
+               var args = (q.map || '').split('/').map(Number);
+
+               if (args.length < 3 || args.some(isNaN)) {
+                   return true; // replace bogus hash
+
+               } else if (s !== formatter(map).slice(1)) {   // hash has changed
+                   var mode = context.mode();
+                   var dist = geoSphericalDistance(map.center(), [args[2], args[1]]);
+                   var maxdist = 500;
+
+                   // Don't allow the hash location to change too much while drawing
+                   // This can happen if the user accidently hit the back button.  #3996
+                   if (mode && mode.id.match(/^draw/) !== null && dist > maxdist) {
+                       context.enter(modeBrowse(context));
+                   }
+
+                   map.centerZoom([args[2], Math.min(lat, Math.max(-lat, args[1]))], args[0]);
+               }
+           };
+
+
+           var formatter = function(map) {
+               var center = map.center();
+               var zoom = map.zoom();
+               var precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2));
+               var q = utilObjectOmit(utilStringQs(window.location.hash.substring(1)),
+                   ['comment', 'source', 'hashtags', 'walkthrough']
+               );
+               var newParams = {};
+
+               delete q.id;
+               var selected = context.selectedIDs().filter(function(id) {
+                   return !context.entity(id).isNew();
+               });
+               if (selected.length) {
+                   newParams.id = selected.join(',');
+               }
+
+               newParams.map = zoom.toFixed(2) +
+                   '/' + center[1].toFixed(precision) +
+                   '/' + center[0].toFixed(precision);
+
+               return '#' + utilQsString(Object.assign(q, newParams), true);
+           };
+
+
+           function update() {
+               if (context.inIntro()) return;
+               var s1 = formatter(context.map());
+               if (s0 !== s1) {
+                   window.location.replace(s0 = s1);  // don't recenter the map!
+               }
+           }
+
+
+           var throttledUpdate = throttle(update, 500);
+
+
+           function hashchange() {
+               if (window.location.hash === s0) return;  // ignore spurious hashchange events
+               if (parser(context.map(), (s0 = window.location.hash).substring(1))) {
+                   update(); // replace bogus hash
+               }
+           }
+
+
+           function behavior() {
+               context.map()
+                   .on('move.hash', throttledUpdate);
+
+               context
+                   .on('enter.hash', throttledUpdate);
+
+               d3_select(window)
+                   .on('hashchange.hash', hashchange);
+
+               if (window.location.hash) {
+                   var q = utilStringQs(window.location.hash.substring(1));
+
+                   if (q.id) {
+                       context.zoomToEntity(q.id.split(',')[0], !q.map);
+                   }
+
+                   // Store these here instead of updating local storage since local
+                   // storage could be flushed if the user discards pending changes
+                   if (q.comment)  behavior.comment = q.comment;
+                   if (q.source)   behavior.source = q.source;
+                   if (q.hashtags) behavior.hashtags = q.hashtags;
+
+                   if (q.walkthrough === 'true') {
+                       behavior.startWalkthrough = true;
+                   }
+
+                   hashchange();
+
+                   if (q.map) {
+                       behavior.hadHash = true;
+                   }
+               }
+           }
+
+
+           behavior.off = function() {
+               throttledUpdate.cancel();
+
+               context.map()
+                   .on('move.hash', null);
+
+               context
+                   .on('enter.hash', null);
+
+               d3_select(window)
+                   .on('hashchange.hash', null);
+
+               window.location.hash = '';
+           };
+
+
+           return behavior;
+       }
+
+       /*
+           iD.coreDifference represents the difference between two graphs.
+           It knows how to calculate the set of entities that were
+           created, modified, or deleted, and also contains the logic
+           for recursively extending a difference to the complete set
+           of entities that will require a redraw, taking into account
+           child and parent relationships.
+        */
+       function coreDifference(base, head) {
+           var _changes = {};
+           var _didChange = {};  // 'addition', 'deletion', 'geometry', 'properties'
+           var _diff = {};
+
+           function checkEntityID(id) {
+               var h = head.entities[id];
+               var b = base.entities[id];
+
+               if (h === b) return;
+               if (_changes[id]) return;
+
+               if (!h && b) {
+                   _changes[id] = { base: b, head: h };
+                   _didChange.deletion = true;
+                   return;
+               }
+               if (h && !b) {
+                   _changes[id] = { base: b, head: h };
+                   _didChange.addition = true;
+                   return;
+               }
+
+               if (h && b) {
+                   if (h.members && b.members && !fastDeepEqual(h.members, b.members)) {
+                       _changes[id] = { base: b, head: h };
+                       _didChange.geometry = true;
+                       _didChange.properties = true;
+                       return;
+                   }
+                   if (h.loc && b.loc && !geoVecEqual(h.loc, b.loc)) {
+                       _changes[id] = { base: b, head: h };
+                       _didChange.geometry = true;
+                   }
+                   if (h.nodes && b.nodes && !fastDeepEqual(h.nodes, b.nodes)) {
+                       _changes[id] = { base: b, head: h };
+                       _didChange.geometry = true;
+                   }
+                   if (h.tags && b.tags && !fastDeepEqual(h.tags, b.tags)) {
+                       _changes[id] = { base: b, head: h };
+                       _didChange.properties = true;
+                   }
+               }
+           }
+
+           Object.keys(head.entities).forEach(checkEntityID);
+           Object.keys(base.entities).forEach(checkEntityID);
+
+
+           _diff.length = function length() {
+               return Object.keys(_changes).length;
+           };
+
+
+           _diff.changes = function changes() {
+               return _changes;
+           };
+
+           _diff.didChange = _didChange;
+
+
+           // pass true to include affected relation members
+           _diff.extantIDs = function extantIDs(includeRelMembers) {
+               var result = new Set();
+               Object.keys(_changes).forEach(function(id) {
+                   if (_changes[id].head) {
+                       result.add(id);
+                   }
+
+                   var h = _changes[id].head;
+                   var b = _changes[id].base;
+                   var entity = h || b;
+
+                   if (includeRelMembers && entity.type === 'relation') {
+                       var mh = h ? h.members.map(function(m) { return m.id; }) : [];
+                       var mb = b ? b.members.map(function(m) { return m.id; }) : [];
+                       utilArrayUnion(mh, mb).forEach(function(memberID) {
+                           if (head.hasEntity(memberID)) {
+                               result.add(memberID);
+                           }
+                       });
+                   }
+               });
+
+               return Array.from(result);
+           };
+
+
+           _diff.modified = function modified() {
+               var result = [];
+               Object.values(_changes).forEach(function(change) {
+                   if (change.base && change.head) {
+                       result.push(change.head);
+                   }
+               });
+               return result;
+           };
+
+
+           _diff.created = function created() {
+               var result = [];
+               Object.values(_changes).forEach(function(change) {
+                   if (!change.base && change.head) {
+                       result.push(change.head);
+                   }
+               });
+               return result;
+           };
+
+
+           _diff.deleted = function deleted() {
+               var result = [];
+               Object.values(_changes).forEach(function(change) {
+                   if (change.base && !change.head) {
+                       result.push(change.base);
+                   }
+               });
+               return result;
+           };
+
+
+           _diff.summary = function summary() {
+               var relevant = {};
+
+               var keys = Object.keys(_changes);
+               for (var i = 0; i < keys.length; i++) {
+                   var change = _changes[keys[i]];
+
+                   if (change.head && change.head.geometry(head) !== 'vertex') {
+                       addEntity(change.head, head, change.base ? 'modified' : 'created');
+
+                   } else if (change.base && change.base.geometry(base) !== 'vertex') {
+                       addEntity(change.base, base, 'deleted');
+
+                   } else if (change.base && change.head) { // modified vertex
+                       var moved    = !fastDeepEqual(change.base.loc,  change.head.loc);
+                       var retagged = !fastDeepEqual(change.base.tags, change.head.tags);
+
+                       if (moved) {
+                           addParents(change.head);
+                       }
+
+                       if (retagged || (moved && change.head.hasInterestingTags())) {
+                           addEntity(change.head, head, 'modified');
+                       }
+
+                   } else if (change.head && change.head.hasInterestingTags()) { // created vertex
+                       addEntity(change.head, head, 'created');
+
+                   } else if (change.base && change.base.hasInterestingTags()) { // deleted vertex
+                       addEntity(change.base, base, 'deleted');
+                   }
+               }
+
+               return Object.values(relevant);
+
+
+               function addEntity(entity, graph, changeType) {
+                   relevant[entity.id] = {
+                       entity: entity,
+                       graph: graph,
+                       changeType: changeType
+                   };
+               }
+
+               function addParents(entity) {
+                   var parents = head.parentWays(entity);
+                   for (var j = parents.length - 1; j >= 0; j--) {
+                       var parent = parents[j];
+                       if (!(parent.id in relevant)) {
+                           addEntity(parent, head, 'modified');
+                       }
+                   }
+               }
+           };
+
+
+           // returns complete set of entities that require a redraw
+           //  (optionally within given `extent`)
+           _diff.complete = function complete(extent) {
+               var result = {};
+               var id, change;
+
+               for (id in _changes) {
+                   change = _changes[id];
+
+                   var h = change.head;
+                   var b = change.base;
+                   var entity = h || b;
+                   var i;
+
+                   if (extent &&
+                       (!h || !h.intersects(extent, head)) &&
+                       (!b || !b.intersects(extent, base)))
+                       continue;
+
+                   result[id] = h;
+
+                   if (entity.type === 'way') {
+                       var nh = h ? h.nodes : [];
+                       var nb = b ? b.nodes : [];
+                       var diff;
+
+                       diff = utilArrayDifference(nh, nb);
+                       for (i = 0; i < diff.length; i++) {
+                           result[diff[i]] = head.hasEntity(diff[i]);
+                       }
+
+                       diff = utilArrayDifference(nb, nh);
+                       for (i = 0; i < diff.length; i++) {
+                           result[diff[i]] = head.hasEntity(diff[i]);
+                       }
+                   }
+
+                   if (entity.type === 'relation' && entity.isMultipolygon()) {
+                       var mh = h ? h.members.map(function(m) { return m.id; }) : [];
+                       var mb = b ? b.members.map(function(m) { return m.id; }) : [];
+                       var ids = utilArrayUnion(mh, mb);
+                       for (i = 0; i < ids.length; i++) {
+                           var member = head.hasEntity(ids[i]);
+                           if (!member) continue;   // not downloaded
+                           if (extent && !member.intersects(extent, head)) continue;   // not visible
+                           result[ids[i]] = member;
+                       }
+                   }
+
+                   addParents(head.parentWays(entity), result);
+                   addParents(head.parentRelations(entity), result);
+               }
+
+               return result;
+
+
+               function addParents(parents, result) {
+                   for (var i = 0; i < parents.length; i++) {
+                       var parent = parents[i];
+                       if (parent.id in result) continue;
+
+                       result[parent.id] = parent;
+                       addParents(head.parentRelations(parent), result);
+                   }
+               }
+           };
+
+
+           return _diff;
+       }
+
+       function coreTree(head) {
+           var rtree = rbush_1();
+           var bboxes = {};
+           var tree = {};
+
+
+           function entityBBox(entity) {
+               var bbox = entity.extent(head).bbox();
+               bbox.id = entity.id;
+               bboxes[entity.id] = bbox;
+               return bbox;
+           }
+
+
+           function updateParents(entity, insertions, memo) {
+               head.parentWays(entity).forEach(function(way) {
+                   if (bboxes[way.id]) {
+                       rtree.remove(bboxes[way.id]);
+                       insertions[way.id] = way;
+                   }
+                   updateParents(way, insertions, memo);
+               });
+
+               head.parentRelations(entity).forEach(function(relation) {
+                   if (memo[entity.id]) return;
+                   memo[entity.id] = true;
+                   if (bboxes[relation.id]) {
+                       rtree.remove(bboxes[relation.id]);
+                       insertions[relation.id] = relation;
+                   }
+                   updateParents(relation, insertions, memo);
+               });
+           }
+
+
+           tree.rebase = function(entities, force) {
+               var insertions = {};
+
+               for (var i = 0; i < entities.length; i++) {
+                   var entity = entities[i];
+                   if (!entity.visible) continue;
+
+                   if (head.entities.hasOwnProperty(entity.id) || bboxes[entity.id]) {
+                       if (!force) {
+                           continue;
+                       } else if (bboxes[entity.id]) {
+                           rtree.remove(bboxes[entity.id]);
+                       }
+                   }
+
+                   insertions[entity.id] = entity;
+                   updateParents(entity, insertions, {});
+               }
+
+               rtree.load(Object.values(insertions).map(entityBBox));
+
+               return tree;
+           };
+
+
+           tree.intersects = function(extent, graph) {
+               if (graph !== head) {
+                   var diff = coreDifference(head, graph);
+                   var changed = diff.didChange;
+
+                   if (changed.addition || changed.deletion || changed.geometry) {
+                       var insertions = {};
+                       head = graph;
+
+                       if (changed.deletion) {
+                           diff.deleted().forEach(function(entity) {
+                               rtree.remove(bboxes[entity.id]);
+                               delete bboxes[entity.id];
+                           });
+                       }
+
+                       if (changed.geometry) {
+                           diff.modified().forEach(function(entity) {
+                               rtree.remove(bboxes[entity.id]);
+                               insertions[entity.id] = entity;
+                               updateParents(entity, insertions, {});
+                           });
+                       }
+
+                       if (changed.addition) {
+                           diff.created().forEach(function(entity) {
+                               insertions[entity.id] = entity;
+                           });
+                       }
+
+                       rtree.load(Object.values(insertions).map(entityBBox));
+                   }
+               }
+
+               return rtree.search(extent.bbox())
+                   .map(function(bbox) { return graph.entity(bbox.id); });
+           };
+
+
+           return tree;
+       }
+
+       function uiModal(selection, blocking) {
+           var keybinding = utilKeybinding('modal');
+           var previous = selection.select('div.modal');
+           var animate = previous.empty();
+
+           previous.transition()
+               .duration(200)
+               .style('opacity', 0)
+               .remove();
+
+           var shaded = selection
+               .append('div')
+               .attr('class', 'shaded')
+               .style('opacity', 0);
+
+           shaded.close = function() {
+               shaded
+                   .transition()
+                   .duration(200)
+                   .style('opacity',0)
+                   .remove();
+
+               modal
+                   .transition()
+                   .duration(200)
+                   .style('top','0px');
+
+               d3_select(document)
+                   .call(keybinding.unbind);
+           };
+
+
+           var modal = shaded
+               .append('div')
+               .attr('class', 'modal fillL');
+
+           if (!blocking) {
+               shaded.on('click.remove-modal', function() {
+                   if (event.target === this) {
+                       shaded.close();
+                   }
+               });
+
+               modal.append('button')
+                   .attr('class', 'close')
+                   .on('click', shaded.close)
+                   .call(svgIcon('#iD-icon-close'));
+
+               keybinding
+                   .on('⌫', shaded.close)
+                   .on('⎋', shaded.close);
+
+               d3_select(document)
+                   .call(keybinding);
+           }
+
+           modal
+               .append('div')
+               .attr('class', 'content');
+
+           if (animate) {
+               shaded.transition().style('opacity', 1);
+           } else {
+               shaded.style('opacity', 1);
+           }
+
+
+           return shaded;
+       }
+
+       function uiLoading(context) {
+           var _modalSelection = d3_select(null);
+           var _message = '';
+           var _blocking = false;
+
+
+           var loading = function(selection) {
+               _modalSelection = uiModal(selection, _blocking);
+
+               var loadertext = _modalSelection.select('.content')
+                   .classed('loading-modal', true)
+                   .append('div')
+                   .attr('class', 'modal-section fillL');
+
+               loadertext
+                   .append('img')
+                   .attr('class', 'loader')
+                   .attr('src', context.imagePath('loader-white.gif'));
+
+               loadertext
+                   .append('h3')
+                   .text(_message);
+
+               _modalSelection.select('button.close')
+                   .attr('class', 'hide');
+
+               return loading;
+           };
+
+
+           loading.message = function(_) {
+               if (!arguments.length) return _message;
+               _message = _;
+               return loading;
+           };
+
+
+           loading.blocking = function(_) {
+               if (!arguments.length) return _blocking;
+               _blocking = _;
+               return loading;
+           };
+
+
+           loading.close = function() {
+               _modalSelection.remove();
+           };
+
+
+           return loading;
+       }
+
+       function coreHistory(context) {
+           var dispatch$1 = dispatch('change', 'merge', 'restore', 'undone', 'redone');
+           var lock = utilSessionMutex('lock');
+           var duration = 150;
+           var _imageryUsed = [];
+           var _photoOverlaysUsed = [];
+           var _checkpoints = {};
+           var _pausedGraph;
+           var _stack;
+           var _index;
+           var _tree;
+
+
+           // internal _act, accepts list of actions and eased time
+           function _act(actions, t) {
+               actions = Array.prototype.slice.call(actions);
+
+               var annotation;
+               if (typeof actions[actions.length - 1] !== 'function') {
+                   annotation = actions.pop();
+               }
+
+               var graph = _stack[_index].graph;
+               for (var i = 0; i < actions.length; i++) {
+                   graph = actions[i](graph, t);
+               }
+
+               return {
+                   graph: graph,
+                   annotation: annotation,
+                   imageryUsed: _imageryUsed,
+                   photoOverlaysUsed: _photoOverlaysUsed,
+                   transform: context.projection.transform(),
+                   selectedIDs: context.selectedIDs()
+               };
+           }
+
+
+           // internal _perform with eased time
+           function _perform(args, t) {
+               var previous = _stack[_index].graph;
+               _stack = _stack.slice(0, _index + 1);
+               var actionResult = _act(args, t);
+               _stack.push(actionResult);
+               _index++;
+               return change(previous);
+           }
+
+
+           // internal _replace with eased time
+           function _replace(args, t) {
+               var previous = _stack[_index].graph;
+               // assert(_index == _stack.length - 1)
+               var actionResult = _act(args, t);
+               _stack[_index] = actionResult;
+               return change(previous);
+           }
+
+
+           // internal _overwrite with eased time
+           function _overwrite(args, t) {
+               var previous = _stack[_index].graph;
+               if (_index > 0) {
+                   _index--;
+                   _stack.pop();
+               }
+               _stack = _stack.slice(0, _index + 1);
+               var actionResult = _act(args, t);
+               _stack.push(actionResult);
+               _index++;
+               return change(previous);
+           }
+
+
+           // determine difference and dispatch a change event
+           function change(previous) {
+               var difference = coreDifference(previous, history.graph());
+               if (!_pausedGraph) {
+                   dispatch$1.call('change', this, difference);
+               }
+               return difference;
+           }
+
+
+           // iD uses namespaced keys so multiple installations do not conflict
+           function getKey(n) {
+               return 'iD_' + window.location.origin + '_' + n;
+           }
+
+
+           var history = {
+
+               graph: function() {
+                   return _stack[_index].graph;
+               },
+
+
+               tree: function() {
+                   return _tree;
+               },
+
+
+               base: function() {
+                   return _stack[0].graph;
+               },
+
+
+               merge: function(entities, extent) {
+                   var stack = _stack.map(function(state) { return state.graph; });
+                   _stack[0].graph.rebase(entities, stack, false);
+                   _tree.rebase(entities, false);
+
+                   dispatch$1.call('merge', this, entities);
+               },
+
+
+               perform: function() {
+                   // complete any transition already in progress
+                   d3_select(document).interrupt('history.perform');
+
+                   var transitionable = false;
+                   var action0 = arguments[0];
+
+                   if (arguments.length === 1 ||
+                       (arguments.length === 2 && (typeof arguments[1] !== 'function'))) {
+                       transitionable = !!action0.transitionable;
+                   }
+
+                   if (transitionable) {
+                       var origArguments = arguments;
+                       d3_select(document)
+                           .transition('history.perform')
+                           .duration(duration)
+                           .ease(linear$1)
+                           .tween('history.tween', function() {
+                               return function(t) {
+                                   if (t < 1) _overwrite([action0], t);
+                               };
+                           })
+                           .on('start', function() {
+                               _perform([action0], 0);
+                           })
+                           .on('end interrupt', function() {
+                               _overwrite(origArguments, 1);
+                           });
+
+                   } else {
+                       return _perform(arguments);
+                   }
+               },
+
+
+               replace: function() {
+                   d3_select(document).interrupt('history.perform');
+                   return _replace(arguments, 1);
+               },
+
+
+               // Same as calling pop and then perform
+               overwrite: function() {
+                   d3_select(document).interrupt('history.perform');
+                   return _overwrite(arguments, 1);
+               },
+
+
+               pop: function(n) {
+                   d3_select(document).interrupt('history.perform');
+
+                   var previous = _stack[_index].graph;
+                   if (isNaN(+n) || +n < 0) {
+                       n = 1;
+                   }
+                   while (n-- > 0 && _index > 0) {
+                       _index--;
+                       _stack.pop();
+                   }
+                   return change(previous);
+               },
+
+
+               // Back to the previous annotated state or _index = 0.
+               undo: function() {
+                   d3_select(document).interrupt('history.perform');
+
+                   var previousStack = _stack[_index];
+                   var previous = previousStack.graph;
+                   while (_index > 0) {
+                       _index--;
+                       if (_stack[_index].annotation) break;
+                   }
+
+                   dispatch$1.call('undone', this, _stack[_index], previousStack);
+                   return change(previous);
+               },
+
+
+               // Forward to the next annotated state.
+               redo: function() {
+                   d3_select(document).interrupt('history.perform');
+
+                   var previousStack = _stack[_index];
+                   var previous = previousStack.graph;
+                   var tryIndex = _index;
+                   while (tryIndex < _stack.length - 1) {
+                       tryIndex++;
+                       if (_stack[tryIndex].annotation) {
+                           _index = tryIndex;
+                           dispatch$1.call('redone', this, _stack[_index], previousStack);
+                           break;
+                       }
+                   }
+
+                   return change(previous);
+               },
+
+
+               pauseChangeDispatch: function() {
+                   if (!_pausedGraph) {
+                       _pausedGraph = _stack[_index].graph;
+                   }
+               },
+
+
+               resumeChangeDispatch: function() {
+                   if (_pausedGraph) {
+                       var previous = _pausedGraph;
+                       _pausedGraph = null;
+                       return change(previous);
+                   }
+               },
+
+
+               undoAnnotation: function() {
+                   var i = _index;
+                   while (i >= 0) {
+                       if (_stack[i].annotation) return _stack[i].annotation;
+                       i--;
+                   }
+               },
+
+
+               redoAnnotation: function() {
+                   var i = _index + 1;
+                   while (i <= _stack.length - 1) {
+                       if (_stack[i].annotation) return _stack[i].annotation;
+                       i++;
+                   }
+               },
+
+
+               intersects: function(extent) {
+                   return _tree.intersects(extent, _stack[_index].graph);
+               },
+
+
+               difference: function() {
+                   var base = _stack[0].graph;
+                   var head = _stack[_index].graph;
+                   return coreDifference(base, head);
+               },
+
+
+               changes: function(action) {
+                   var base = _stack[0].graph;
+                   var head = _stack[_index].graph;
+
+                   if (action) {
+                       head = action(head);
+                   }
+
+                   var difference = coreDifference(base, head);
+
+                   return {
+                       modified: difference.modified(),
+                       created: difference.created(),
+                       deleted: difference.deleted()
+                   };
+               },
+
+
+               hasChanges: function() {
+                   return this.difference().length() > 0;
+               },
+
+
+               imageryUsed: function(sources) {
+                   if (sources) {
+                       _imageryUsed = sources;
+                       return history;
+                   } else {
+                       var s = new Set();
+                       _stack.slice(1, _index + 1).forEach(function(state) {
+                           state.imageryUsed.forEach(function(source) {
+                               if (source !== 'Custom') {
+                                   s.add(source);
+                               }
+                           });
+                       });
+                       return Array.from(s);
+                   }
+               },
+
+
+               photoOverlaysUsed: function(sources) {
+                   if (sources) {
+                       _photoOverlaysUsed = sources;
+                       return history;
+                   } else {
+                       var s = new Set();
+                       _stack.slice(1, _index + 1).forEach(function(state) {
+                           if (state.photoOverlaysUsed && Array.isArray(state.photoOverlaysUsed)) {
+                               state.photoOverlaysUsed.forEach(function(photoOverlay) {
+                                   s.add(photoOverlay);
+                               });
+                           }
+                       });
+                       return Array.from(s);
+                   }
+               },
+
+
+               // save the current history state
+               checkpoint: function(key) {
+                   _checkpoints[key] = {
+                       stack: _stack,
+                       index: _index
+                   };
+                   return history;
+               },
+
+
+               // restore history state to a given checkpoint or reset completely
+               reset: function(key) {
+                   if (key !== undefined && _checkpoints.hasOwnProperty(key)) {
+                       _stack = _checkpoints[key].stack;
+                       _index = _checkpoints[key].index;
+                   } else {
+                       _stack = [{graph: coreGraph()}];
+                       _index = 0;
+                       _tree = coreTree(_stack[0].graph);
+                       _checkpoints = {};
+                   }
+                   dispatch$1.call('change');
+                   return history;
+               },
+
+
+               // `toIntroGraph()` is used to export the intro graph used by the walkthrough.
+               //
+               // To use it:
+               //  1. Start the walkthrough.
+               //  2. Get to a "free editing" tutorial step
+               //  3. Make your edits to the walkthrough map
+               //  4. In your browser dev console run:
+               //        `id.history().toIntroGraph()`
+               //  5. This outputs stringified JSON to the browser console
+               //  6. Copy it to `data/intro_graph.json` and prettify it in your code editor
+               toIntroGraph: function() {
+                   var nextID = { n: 0, r: 0, w: 0 };
+                   var permIDs = {};
+                   var graph = this.graph();
+                   var baseEntities = {};
+
+                   // clone base entities..
+                   Object.values(graph.base().entities).forEach(function(entity) {
+                       var copy = copyIntroEntity(entity);
+                       baseEntities[copy.id] = copy;
+                   });
+
+                   // replace base entities with head entities..
+                   Object.keys(graph.entities).forEach(function(id) {
+                       var entity = graph.entities[id];
+                       if (entity) {
+                           var copy = copyIntroEntity(entity);
+                           baseEntities[copy.id] = copy;
+                       } else {
+                           delete baseEntities[id];
+                       }
+                   });
+
+                   // swap temporary for permanent ids..
+                   Object.values(baseEntities).forEach(function(entity) {
+                       if (Array.isArray(entity.nodes)) {
+                           entity.nodes = entity.nodes.map(function(node) {
+                               return permIDs[node] || node;
+                           });
+                       }
+                       if (Array.isArray(entity.members)) {
+                           entity.members = entity.members.map(function(member) {
+                               member.id = permIDs[member.id] || member.id;
+                               return member;
+                           });
+                       }
+                   });
+
+                   return JSON.stringify({ dataIntroGraph: baseEntities });
+
+
+                   function copyIntroEntity(source) {
+                       var copy = utilObjectOmit(source, ['type', 'user', 'v', 'version', 'visible']);
+
+                       // Note: the copy is no longer an osmEntity, so it might not have `tags`
+                       if (copy.tags && !Object.keys(copy.tags)) {
+                           delete copy.tags;
+                       }
+
+                       if (Array.isArray(copy.loc)) {
+                           copy.loc[0] = +copy.loc[0].toFixed(6);
+                           copy.loc[1] = +copy.loc[1].toFixed(6);
+                       }
+
+                       var match = source.id.match(/([nrw])-\d*/);  // temporary id
+                       if (match !== null) {
+                           var nrw = match[1];
+                           var permID;
+                           do { permID = nrw + (++nextID[nrw]); }
+                           while (baseEntities.hasOwnProperty(permID));
+
+                           copy.id = permIDs[source.id] = permID;
+                       }
+                       return copy;
+                   }
+               },
+
+
+               toJSON: function() {
+                   if (!this.hasChanges()) return;
+
+                   var allEntities = {};
+                   var baseEntities = {};
+                   var base = _stack[0];
+
+                   var s = _stack.map(function(i) {
+                       var modified = [];
+                       var deleted = [];
+
+                       Object.keys(i.graph.entities).forEach(function(id) {
+                           var entity = i.graph.entities[id];
+                           if (entity) {
+                               var key = osmEntity.key(entity);
+                               allEntities[key] = entity;
+                               modified.push(key);
+                           } else {
+                               deleted.push(id);
+                           }
+
+                           // make sure that the originals of changed or deleted entities get merged
+                           // into the base of the _stack after restoring the data from JSON.
+                           if (id in base.graph.entities) {
+                               baseEntities[id] = base.graph.entities[id];
+                           }
+                           if (entity && entity.nodes) {
+                               // get originals of pre-existing child nodes
+                               entity.nodes.forEach(function(nodeID) {
+                                   if (nodeID in base.graph.entities) {
+                                       baseEntities[nodeID] = base.graph.entities[nodeID];
+                                   }
+                               });
+                           }
+                           // get originals of parent entities too
+                           var baseParents = base.graph._parentWays[id];
+                           if (baseParents) {
+                               baseParents.forEach(function(parentID) {
+                                   if (parentID in base.graph.entities) {
+                                       baseEntities[parentID] = base.graph.entities[parentID];
+                                   }
+                               });
+                           }
+                       });
+
+                       var x = {};
+
+                       if (modified.length) x.modified = modified;
+                       if (deleted.length) x.deleted = deleted;
+                       if (i.imageryUsed) x.imageryUsed = i.imageryUsed;
+                       if (i.photoOverlaysUsed) x.photoOverlaysUsed = i.photoOverlaysUsed;
+                       if (i.annotation) x.annotation = i.annotation;
+                       if (i.transform) x.transform = i.transform;
+                       if (i.selectedIDs) x.selectedIDs = i.selectedIDs;
+
+                       return x;
+                   });
+
+                   return JSON.stringify({
+                       version: 3,
+                       entities: Object.values(allEntities),
+                       baseEntities: Object.values(baseEntities),
+                       stack: s,
+                       nextIDs: osmEntity.id.next,
+                       index: _index
+                   });
+               },
+
+
+               fromJSON: function(json, loadChildNodes) {
+                   var h = JSON.parse(json);
+                   var loadComplete = true;
+
+                   osmEntity.id.next = h.nextIDs;
+                   _index = h.index;
+
+                   if (h.version === 2 || h.version === 3) {
+                       var allEntities = {};
+
+                       h.entities.forEach(function(entity) {
+                           allEntities[osmEntity.key(entity)] = osmEntity(entity);
+                       });
+
+                       if (h.version === 3) {
+                           // This merges originals for changed entities into the base of
+                           // the _stack even if the current _stack doesn't have them (for
+                           // example when iD has been restarted in a different region)
+                           var baseEntities = h.baseEntities.map(function(d) { return osmEntity(d); });
+                           var stack = _stack.map(function(state) { return state.graph; });
+                           _stack[0].graph.rebase(baseEntities, stack, true);
+                           _tree.rebase(baseEntities, true);
+
+                           // When we restore a modified way, we also need to fetch any missing
+                           // childnodes that would normally have been downloaded with it.. #2142
+                           if (loadChildNodes) {
+                               var osm = context.connection();
+                               var baseWays = baseEntities
+                                   .filter(function(e) { return e.type === 'way'; });
+                               var nodeIDs = baseWays
+                                   .reduce(function(acc, way) { return utilArrayUnion(acc, way.nodes); }, []);
+                               var missing = nodeIDs
+                                   .filter(function(n) { return !_stack[0].graph.hasEntity(n); });
+
+                               if (missing.length && osm) {
+                                   loadComplete = false;
+                                   context.redrawEnable(false);
+
+                                   var loading = uiLoading(context).blocking(true);
+                                   context.container().call(loading);
+
+                                   var childNodesLoaded = function(err, result) {
+                                       if (!err) {
+                                           var visibleGroups = utilArrayGroupBy(result.data, 'visible');
+                                           var visibles = visibleGroups.true || [];      // alive nodes
+                                           var invisibles = visibleGroups.false || [];   // deleted nodes
+
+                                           if (visibles.length) {
+                                               var visibleIDs = visibles.map(function(entity) { return entity.id; });
+                                               var stack = _stack.map(function(state) { return state.graph; });
+                                               missing = utilArrayDifference(missing, visibleIDs);
+                                               _stack[0].graph.rebase(visibles, stack, true);
+                                               _tree.rebase(visibles, true);
+                                           }
+
+                                           // fetch older versions of nodes that were deleted..
+                                           invisibles.forEach(function(entity) {
+                                               osm.loadEntityVersion(entity.id, +entity.version - 1, childNodesLoaded);
+                                           });
+                                       }
+
+                                       if (err || !missing.length) {
+                                           loading.close();
+                                           context.redrawEnable(true);
+                                           dispatch$1.call('change');
+                                           dispatch$1.call('restore', this);
+                                       }
+                                   };
+
+                                   osm.loadMultiple(missing, childNodesLoaded);
+                               }
+                           }
+                       }
+
+                       _stack = h.stack.map(function(d) {
+                           var entities = {}, entity;
+
+                           if (d.modified) {
+                               d.modified.forEach(function(key) {
+                                   entity = allEntities[key];
+                                   entities[entity.id] = entity;
+                               });
+                           }
+
+                           if (d.deleted) {
+                               d.deleted.forEach(function(id) {
+                                   entities[id] = undefined;
+                               });
+                           }
+
+                           return {
+                               graph: coreGraph(_stack[0].graph).load(entities),
+                               annotation: d.annotation,
+                               imageryUsed: d.imageryUsed,
+                               photoOverlaysUsed: d.photoOverlaysUsed,
+                               transform: d.transform,
+                               selectedIDs: d.selectedIDs
+                           };
+                       });
+
+                   } else { // original version
+                       _stack = h.stack.map(function(d) {
+                           var entities = {};
+
+                           for (var i in d.entities) {
+                               var entity = d.entities[i];
+                               entities[i] = entity === 'undefined' ? undefined : osmEntity(entity);
+                           }
+
+                           d.graph = coreGraph(_stack[0].graph).load(entities);
+                           return d;
+                       });
+                   }
+
+                   var transform = _stack[_index].transform;
+                   if (transform) {
+                       context.map().transformEase(transform, 0);   // 0 = immediate, no easing
+                   }
+
+                   if (loadComplete) {
+                       dispatch$1.call('change');
+                       dispatch$1.call('restore', this);
+                   }
+
+                   return history;
+               },
+
+
+               save: function() {
+                   if (lock.locked()) context.storage(getKey('saved_history'), history.toJSON() || null);
+                   return history;
+               },
+
+
+               clearSaved: function() {
+                   context.debouncedSave.cancel();
+                   if (lock.locked()) {
+                       context.storage(getKey('saved_history'), null);
+
+                       // clear the changeset metadata associated with the saved history
+                       context.storage('comment', null);
+                       context.storage('hashtags', null);
+                       context.storage('source', null);
+                   }
+                   return history;
+               },
+
+
+               lock: function() {
+                   return lock.lock();
+               },
+
+
+               unlock: function() {
+                   lock.unlock();
+               },
+
+
+               // is iD not open in another window and it detects that
+               // there's a history stored in localStorage that's recoverable?
+               restorableChanges: function() {
+                   return lock.locked() && !!context.storage(getKey('saved_history'));
+               },
+
+
+               // load history from a version stored in localStorage
+               restore: function() {
+                   if (!lock.locked()) return;
+
+                   var json = context.storage(getKey('saved_history'));
+                   if (json) history.fromJSON(json, true);
+               },
+
+
+               _getKey: getKey
+
+           };
+
+
+           history.reset();
+
+           return utilRebind(history, dispatch$1, 'on');
+       }
+
+       /**
+        * Look for roads that can be connected to other roads with a short extension
+        */
+       function validationAlmostJunction(context) {
+           var type = 'almost_junction';
+
+
+           function isHighway(entity) {
+               return entity.type === 'way' &&
+                   osmRoutableHighwayTagValues[entity.tags.highway];
+           }
+
+           function isTaggedAsNotContinuing(node) {
+               return node.tags.noexit === 'yes' ||
+                   node.tags.amenity === 'parking_entrance' ||
+                   (node.tags.entrance && node.tags.entrance !== 'no');
+           }
+
+
+           var validation = function checkAlmostJunction(entity, graph) {
+               if (!isHighway(entity)) return [];
+               if (entity.isDegenerate()) return [];
+
+               var tree = context.history().tree();
+               var issues = [];
+
+               var extendableNodeInfos = findConnectableEndNodesByExtension(entity);
+               extendableNodeInfos.forEach(function(extendableNodeInfo) {
+                   var node = extendableNodeInfo.node;
+                   var edgeHighway = graph.entity(extendableNodeInfo.wid);
+
+                   var fixes = [new validationIssueFix({
+                       icon: 'iD-icon-abutment',
+                       title: t('issues.fix.connect_features.title'),
+                       onClick: function(context) {
+                           var endNodeId = this.issue.entityIds[1];
+                           var endNode = context.entity(endNodeId);
+                           var targetEdge = this.issue.data.edge;
+                           var crossLoc = this.issue.data.cross_loc;
+                           var edgeNodes = [context.entity(targetEdge[0]), context.entity(targetEdge[1])];
+                           var closestNodeInfo = geoSphericalClosestNode(edgeNodes, crossLoc);
+
+                           var annotation = t('issues.fix.connect_almost_junction.annotation');
+                           // already a point nearby, just connect to that
+                           if (closestNodeInfo.distance < 0.75) {
+                               context.perform(
+                                   actionMergeNodes([closestNodeInfo.node.id, endNode.id], closestNodeInfo.node.loc),
+                                   annotation
+                               );
+                           // else add the end node to the edge way
+                           } else {
+                               context.perform(
+                                   actionAddMidpoint({loc: crossLoc, edge: targetEdge}, endNode),
+                                   annotation
+                               );
+                           }
+                       }
+                   })];
+
+                   if (Object.keys(node.tags).length === 0) {
+                       // node has no tags, suggest noexit fix
+                       fixes.push(new validationIssueFix({
+                           icon: 'maki-barrier',
+                           title: t('issues.fix.tag_as_disconnected.title'),
+                           onClick: function(context) {
+                               var nodeID = this.issue.entityIds[1];
+                               context.perform(
+                                   actionChangeTags(nodeID, { noexit: 'yes' }),
+                                   t('issues.fix.tag_as_disconnected.annotation')
+                               );
+                           }
+                       }));
+                   }
+
+                   issues.push(new validationIssue({
+                       type: type,
+                       severity: 'warning',
+                       message: function(context) {
+                           var entity1 = context.hasEntity(this.entityIds[0]);
+                           if (this.entityIds[0] === this.entityIds[2]) {
+                               return entity1 ? t('issues.almost_junction.self.message', {
+                                   feature: utilDisplayLabel(entity1, context)
+                               }) : '';
+                           } else {
+                               var entity2 = context.hasEntity(this.entityIds[2]);
+                               return (entity1 && entity2) ? t('issues.almost_junction.message', {
+                                   feature: utilDisplayLabel(entity1, context),
+                                   feature2: utilDisplayLabel(entity2, context)
+                               }) : '';
+                           }
+                       },
+                       reference: showReference,
+                       entityIds: [entity.id, node.id, edgeHighway.id],
+                       loc: extendableNodeInfo.node.loc,
+                       hash: JSON.stringify(extendableNodeInfo.node.loc),
+                       data: {
+                           edge: extendableNodeInfo.edge,
+                           cross_loc: extendableNodeInfo.cross_loc
+                       },
+                       fixes: fixes
+                   }));
+               });
+
+               return issues;
+
+
+               function showReference(selection) {
+                   selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter()
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.almost_junction.highway-highway.reference'));
+               }
+
+
+               function isExtendableCandidate(node, way) {
+                   // can not accurately test vertices on tiles not downloaded from osm - #5938
+                   var osm = services$1.osm;
+                   if (osm && !osm.isDataLoaded(node.loc)) {
+                       return false;
+                   }
+                   if (isTaggedAsNotContinuing(node) || graph.parentWays(node).length !== 1) {
+                       return false;
+                   }
+
+                   var occurences = 0;
+                   for (var index in way.nodes) {
+                       if (way.nodes[index] === node.id) {
+                           occurences += 1;
+                           if (occurences > 1) {
+                               return false;
+                           }
+                       }
+                   }
+                   return true;
+               }
+
+
+               function findConnectableEndNodesByExtension(way) {
+                   var results = [];
+                   if (way.isClosed()) return results;
+
+                   var testNodes;
+                   var indices = [0, way.nodes.length - 1];
+                   indices.forEach(function(nodeIndex) {
+                       var nodeID = way.nodes[nodeIndex];
+                       var node = graph.entity(nodeID);
+
+                       if (!isExtendableCandidate(node, way)) return;
+
+                       var connectionInfo = canConnectByExtend(way, nodeIndex);
+                       if (!connectionInfo) return;
+
+                       testNodes = graph.childNodes(way).slice();   // shallow copy
+                       testNodes[nodeIndex] = testNodes[nodeIndex].move(connectionInfo.cross_loc);
+
+                       // don't flag issue if connecting the ways would cause self-intersection
+                       if (geoHasSelfIntersections(testNodes, nodeID)) return;
+
+                       results.push(connectionInfo);
+                   });
+
+                   return results;
+               }
+
+               function hasTag(tags, key) {
+                   return tags[key] !== undefined && tags[key] !== 'no';
+               }
+
+               function canConnectWays(way, way2) {
+
+                   // allow self-connections
+                   if (way.id === way2.id) return true;
+
+                   // if one is bridge or tunnel, both must be bridge or tunnel
+                   if ((hasTag(way.tags, 'bridge') || hasTag(way2.tags, 'bridge')) &&
+                       !(hasTag(way.tags, 'bridge') && hasTag(way2.tags, 'bridge'))) return false;
+                   if ((hasTag(way.tags, 'tunnel') || hasTag(way2.tags, 'tunnel')) &&
+                       !(hasTag(way.tags, 'tunnel') && hasTag(way2.tags, 'tunnel'))) return false;
+
+                   // must have equivalent layers and levels
+                   var layer1 = way.tags.layer || '0',
+                       layer2 = way2.tags.layer || '0';
+                   if (layer1 !== layer2) return false;
+
+                   var level1 = way.tags.level || '0',
+                       level2 = way2.tags.level || '0';
+                   if (level1 !== level2) return false;
+
+                   return true;
+               }
+
+
+               function canConnectByExtend(way, endNodeIdx) {
+                   var EXTEND_TH_METERS = 5;
+                   var tipNid = way.nodes[endNodeIdx];  // the 'tip' node for extension point
+                   var midNid = endNodeIdx === 0 ? way.nodes[1] : way.nodes[way.nodes.length - 2];  // the other node of the edge
+                   var tipNode = graph.entity(tipNid);
+                   var midNode = graph.entity(midNid);
+                   var lon = tipNode.loc[0];
+                   var lat = tipNode.loc[1];
+                   var lon_range = geoMetersToLon(EXTEND_TH_METERS, lat) / 2;
+                   var lat_range = geoMetersToLat(EXTEND_TH_METERS) / 2;
+                   var queryExtent = geoExtent([
+                       [lon - lon_range, lat - lat_range],
+                       [lon + lon_range, lat + lat_range]
+                   ]);
+
+                   // first, extend the edge of [midNode -> tipNode] by EXTEND_TH_METERS and find the "extended tip" location
+                   var edgeLen = geoSphericalDistance(midNode.loc, tipNode.loc);
+                   var t = EXTEND_TH_METERS / edgeLen + 1.0;
+                   var extTipLoc = geoVecInterp(midNode.loc, tipNode.loc, t);
+
+                   // then, check if the extension part [tipNode.loc -> extTipLoc] intersects any other ways
+                   var intersected = tree.intersects(queryExtent, graph);
+                   for (var i = 0; i < intersected.length; i++) {
+                       var way2 = intersected[i];
+
+                       if (!isHighway(way2)) continue;
+
+                       if (!canConnectWays(way, way2)) continue;
+
+                       for (var j = 0; j < way2.nodes.length - 1; j++) {
+                           var nAid = way2.nodes[j],
+                               nBid = way2.nodes[j + 1];
+
+                           if (nAid === tipNid || nBid === tipNid) continue;
+
+                           var nA = graph.entity(nAid),
+                               nB = graph.entity(nBid);
+                           var crossLoc = geoLineIntersection([tipNode.loc, extTipLoc], [nA.loc, nB.loc]);
+                           if (crossLoc) {
+                               return {
+                                   node: tipNode,
+                                   wid: way2.id,
+                                   edge: [nA.id, nB.id],
+                                   cross_loc: crossLoc
+                               };
+                           }
+                       }
+                   }
+                   return null;
+               }
+           };
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationCloseNodes(context) {
+           var type = 'close_nodes';
+
+           var pointThresholdMeters = 0.2;
+
+           var defaultWayThresholdMeters = 0.2;
+           // expect some features to be mapped with higher levels of detail
+           var indoorThresholdMeters = 0.01;
+           var buildingThresholdMeters = 0.05;
+           var pathThresholdMeters = 0.1;
+
+           var validation = function(entity, graph) {
+               if (entity.type === 'node') {
+                   return getIssuesForNode(entity);
+               } else if (entity.type === 'way') {
+                   return getIssuesForWay(entity);
+               }
+               return [];
+
+               function featureTypeForWay(way) {
+
+                   if (way.tags.boundary && way.tags.boundary !== 'no') return 'boundary';
+                   if (way.tags.indoor && way.tags.indoor !== 'no') return 'indoor';
+                   if ((way.tags.building && way.tags.building !== 'no') ||
+                       (way.tags['building:part'] && way.tags['building:part'] !== 'no')) return 'building';
+                   if (osmPathHighwayTagValues[way.tags.highway]) return 'path';
+
+                   var parentRelations = graph.parentRelations(way);
+                   for (var i in parentRelations) {
+                       var relation = parentRelations[i];
+
+                       if (relation.tags.type === 'boundary') return 'boundary';
+
+                       if (relation.isMultipolygon()) {
+                           if (relation.tags.indoor && relation.tags.indoor !== 'no') return 'indoor';
+                           if ((relation.tags.building && relation.tags.building !== 'no') ||
+                               (relation.tags['building:part'] && relation.tags['building:part'] !== 'no')) return 'building';
+                       }
+                   }
+
+                   return 'other';
+               }
+
+               function shouldCheckWay(way) {
+
+                   // don't flag issues where merging would create degenerate ways
+                   if (way.nodes.length <= 2 ||
+                       (way.isClosed() && way.nodes.length <= 4)) return false;
+
+                   var featureType = featureTypeForWay(way);
+                   if (featureType === 'boundary') return false;
+
+                   var bbox = way.extent(graph).bbox();
+                   var hypotenuseMeters = geoSphericalDistance([bbox.minX, bbox.minY], [bbox.maxX, bbox.maxY]);
+                   // don't flag close nodes in very small ways
+                   if (hypotenuseMeters < 1.5) return false;
+
+                   return true;
+               }
+
+               function getIssuesForWay(way) {
+                   if (!shouldCheckWay(way)) return [];
+
+                   var issues = [],
+                       nodes = graph.childNodes(way);
+                   for (var i = 0; i < nodes.length - 1; i++) {
+                       var node1 = nodes[i];
+                       var node2 = nodes[i+1];
+
+                       var issue = getWayIssueIfAny(node1, node2, way);
+                       if (issue) issues.push(issue);
+                   }
+                   return issues;
+               }
+
+               function getIssuesForVertex(node, parentWays) {
+                   var issues = [];
+
+                   function checkForCloseness(node1, node2, way) {
+                       var issue = getWayIssueIfAny(node1, node2, way);
+                       if (issue) issues.push(issue);
+                   }
+
+                   for (var i = 0; i < parentWays.length; i++) {
+                       var parentWay = parentWays[i];
+
+                       if (!shouldCheckWay(parentWay)) continue;
+
+                       var lastIndex = parentWay.nodes.length - 1;
+                       for (var j = 0; j < parentWay.nodes.length; j++) {
+                           if (j !== 0) {
+                               if (parentWay.nodes[j-1] === node.id) {
+                                   checkForCloseness(node, graph.entity(parentWay.nodes[j]), parentWay);
+                               }
+                           }
+                           if (j !== lastIndex) {
+                               if (parentWay.nodes[j+1] === node.id) {
+                                   checkForCloseness(graph.entity(parentWay.nodes[j]), node, parentWay);
+                               }
+                           }
+                       }
+                   }
+                   return issues;
+               }
+
+               function getIssuesForDetachedPoint(node) {
+
+                   var issues = [];
+
+                   var lon = node.loc[0];
+                   var lat = node.loc[1];
+                   var lon_range = geoMetersToLon(pointThresholdMeters, lat) / 2;
+                   var lat_range = geoMetersToLat(pointThresholdMeters) / 2;
+                   var queryExtent = geoExtent([
+                       [lon - lon_range, lat - lat_range],
+                       [lon + lon_range, lat + lat_range]
+                   ]);
+
+                   var intersected = context.history().tree().intersects(queryExtent, graph);
+                   for (var j = 0; j < intersected.length; j++) {
+                       var nearby = intersected[j];
+
+                       if (nearby.id === node.id) continue;
+                       if (nearby.type !== 'node' || nearby.geometry(graph) !== 'point') continue;
+
+                       if (nearby.loc === node.loc ||
+                           geoSphericalDistance(node.loc, nearby.loc) < pointThresholdMeters) {
+
+                           // allow very close points if the z-axis varies
+                           var zAxisKeys = { layer: true, level: true };
+                           var zAxisDifferentiates = false;
+                           for (var key in zAxisKeys) {
+                               var nodeValue = node.tags[key] || '0';
+                               var nearbyValue = nearby.tags[key] || '0';
+                               if (nodeValue !== nearbyValue) {
+                                   zAxisDifferentiates = true;
+                                   break;
+                               }
+                           }
+                           if (zAxisDifferentiates) continue;
+
+                           issues.push(new validationIssue({
+                               type: type,
+                               severity: 'warning',
+                               message: function(context) {
+                                   var entity = context.hasEntity(this.entityIds[0]),
+                                       entity2 = context.hasEntity(this.entityIds[1]);
+                                   return (entity && entity2) ? t('issues.close_nodes.detached.message', {
+                                       feature: utilDisplayLabel(entity, context),
+                                       feature2: utilDisplayLabel(entity2, context)
+                                   }) : '';
+                               },
+                               reference: showReference,
+                               entityIds: [node.id, nearby.id],
+                               fixes: [
+                                   new validationIssueFix({
+                                       icon: 'iD-operation-disconnect',
+                                       title: t('issues.fix.move_points_apart.title')
+                                   }),
+                                   new validationIssueFix({
+                                       icon: 'iD-icon-layers',
+                                       title: t('issues.fix.use_different_layers_or_levels.title')
+                                   })
+                               ]
+                           }));
+                       }
+                   }
+
+                   return issues;
+
+                   function showReference(selection) {
+                       var referenceText = t('issues.close_nodes.detached.reference');
+                       selection.selectAll('.issue-reference')
+                           .data([0])
+                           .enter()
+                           .append('div')
+                           .attr('class', 'issue-reference')
+                           .text(referenceText);
+                   }
+               }
+
+               function getIssuesForNode(node) {
+                   var parentWays = graph.parentWays(node);
+                   if (parentWays.length) {
+                       return getIssuesForVertex(node, parentWays);
+                   } else {
+                       return getIssuesForDetachedPoint(node);
+                   }
+               }
+
+               function getWayIssueIfAny(node1, node2, way) {
+                   if (node1.id === node2.id ||
+                       (node1.hasInterestingTags() && node2.hasInterestingTags())) {
+                       return null;
+                   }
+
+                   if (node1.loc !== node2.loc) {
+
+                       var featureType = featureTypeForWay(way);
+                       var threshold = defaultWayThresholdMeters;
+                       if (featureType === 'indoor') threshold = indoorThresholdMeters;
+                       else if (featureType === 'building') threshold = buildingThresholdMeters;
+                       else if (featureType === 'path') threshold = pathThresholdMeters;
+
+                       var distance = geoSphericalDistance(node1.loc, node2.loc);
+                       if (distance > threshold) return null;
+                   }
+
+                   return new validationIssue({
+                       type: type,
+                       severity: 'warning',
+                       message: function(context) {
+                           var entity = context.hasEntity(this.entityIds[0]);
+                           return entity ? t('issues.close_nodes.message', { way: utilDisplayLabel(entity, context) }) : '';
+                       },
+                       reference: showReference,
+                       entityIds: [way.id, node1.id, node2.id],
+                       loc: node1.loc,
+                       fixes: [
+                           new validationIssueFix({
+                               icon: 'iD-icon-plus',
+                               title: t('issues.fix.merge_points.title'),
+                               onClick: function(context) {
+                                   var entityIds = this.issue.entityIds;
+                                   var action = actionMergeNodes([entityIds[1], entityIds[2]]);
+                                   context.perform(action, t('issues.fix.merge_close_vertices.annotation'));
+                               }
+                           }),
+                           new validationIssueFix({
+                               icon: 'iD-operation-disconnect',
+                               title: t('issues.fix.move_points_apart.title')
+                           })
+                       ]
+                   });
+
+                   function showReference(selection) {
+                       var referenceText = t('issues.close_nodes.reference');
+                       selection.selectAll('.issue-reference')
+                           .data([0])
+                           .enter()
+                           .append('div')
+                           .attr('class', 'issue-reference')
+                           .text(referenceText);
+                   }
+               }
+
+           };
+
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationCrossingWays(context) {
+           var type = 'crossing_ways';
+
+           /*
+           Avoid duplicate work by cacheing issues. The same issues live under two paths.
+           {
+               w-123: {
+                   w-456: [{issue1}, {issue2}…]
+               },
+               w-456: {
+                   w-123: [{issue1}, {issue2}…]
+               }
+           }
+           */
+           var _issueCache = {};
+
+           // returns the way or its parent relation, whichever has a useful feature type
+           function getFeatureWithFeatureTypeTagsForWay(way, graph) {
+               if (getFeatureTypeForTags(way.tags) === null) {
+                   // if the way doesn't match a feature type, check its parent relations
+                   var parentRels = graph.parentRelations(way);
+                   for (var i = 0; i < parentRels.length; i++) {
+                       var rel = parentRels[i];
+                       if (getFeatureTypeForTags(rel.tags) !== null) {
+                           return rel;
+                       }
+                   }
+               }
+               return way;
+           }
+
+
+           function hasTag(tags, key) {
+               return tags[key] !== undefined && tags[key] !== 'no';
+           }
+
+           function tagsImplyIndoors(tags) {
+               return hasTag(tags, 'level') || tags.highway === 'corridor';
+           }
+
+           function allowsStructures(featureType) {
+               return allowsBridge(featureType) || allowsTunnel(featureType);
+           }
+           function allowsBridge(featureType) {
+               return featureType === 'highway' || featureType === 'railway' || featureType === 'waterway';
+           }
+           function allowsTunnel(featureType) {
+               return featureType === 'highway' || featureType === 'railway' || featureType === 'waterway';
+           }
+           function canCover(featureType) {
+               return featureType === 'building';
+           }
+
+
+           function getFeatureTypeForCrossingCheck(way, graph) {
+               var tags = getFeatureWithFeatureTypeTagsForWay(way, graph).tags;
+               return getFeatureTypeForTags(tags);
+           }
+
+           // blacklist
+           var ignoredBuildings = {
+               demolished: true, dismantled: true, proposed: true, razed: true
+           };
+
+
+           function getFeatureTypeForTags(tags) {
+               if (hasTag(tags, 'building') && !ignoredBuildings[tags.building]) return 'building';
+
+               // don't check non-building areas
+               if (hasTag(tags, 'area')) return null;
+
+               if (hasTag(tags, 'highway') && osmRoutableHighwayTagValues[tags.highway]) return 'highway';
+               if (hasTag(tags, 'railway') && osmRailwayTrackTagValues[tags.railway]) return 'railway';
+               if (hasTag(tags, 'waterway') && osmFlowingWaterwayTagValues[tags.waterway]) return 'waterway';
+
+               return null;
+           }
+
+
+           function isLegitCrossing(way1, featureType1, way2, featureType2) {
+               var tags1 = way1.tags;
+               var tags2 = way2.tags;
+
+               // assume 0 by default
+               var level1 = tags1.level || '0';
+               var level2 = tags2.level || '0';
+
+               if (tagsImplyIndoors(tags1) && tagsImplyIndoors(tags2) && level1 !== level2) {
+                   // assume features don't interact if they're indoor on different levels
+                   return true;
+               }
+
+               // assume 0 by default; don't use way.layer() since we account for structures here
+               var layer1 = tags1.layer || '0';
+               var layer2 = tags2.layer || '0';
+
+               if (allowsBridge(featureType1) && allowsBridge(featureType2)) {
+                   if (hasTag(tags1, 'bridge') && !hasTag(tags2, 'bridge')) return true;
+                   if (!hasTag(tags1, 'bridge') && hasTag(tags2, 'bridge')) return true;
+                   // crossing bridges must use different layers
+                   if (hasTag(tags1, 'bridge') && hasTag(tags2, 'bridge') && layer1 !== layer2) return true;
+               } else if (allowsBridge(featureType1) && hasTag(tags1, 'bridge')) return true;
+               else if (allowsBridge(featureType2) && hasTag(tags2, 'bridge')) return true;
+
+               if (allowsTunnel(featureType1) && allowsTunnel(featureType2)) {
+                   if (hasTag(tags1, 'tunnel') && !hasTag(tags2, 'tunnel')) return true;
+                   if (!hasTag(tags1, 'tunnel') && hasTag(tags2, 'tunnel')) return true;
+                   // crossing tunnels must use different layers
+                   if (hasTag(tags1, 'tunnel') && hasTag(tags2, 'tunnel') && layer1 !== layer2) return true;
+               } else if (allowsTunnel(featureType1) && hasTag(tags1, 'tunnel')) return true;
+               else if (allowsTunnel(featureType2) && hasTag(tags2, 'tunnel')) return true;
+
+               if (canCover(featureType1) && canCover(featureType2)) {
+                   if (hasTag(tags1, 'covered') && !hasTag(tags2, 'covered')) return true;
+                   if (!hasTag(tags1, 'covered') && hasTag(tags2, 'covered')) return true;
+                   // crossing covered features that can themselves cover must use different layers
+                   if (hasTag(tags1, 'covered') && hasTag(tags2, 'covered') && layer1 !== layer2) return true;
+               } else if (canCover(featureType1) && hasTag(tags2, 'covered')) return true;
+               else if (canCover(featureType2) && hasTag(tags1, 'covered')) return true;
+
+               // don't flag crossing waterways and pier/highways
+               if (featureType1 === 'waterway' && featureType2 === 'highway' && tags2.man_made === 'pier') return true;
+               if (featureType2 === 'waterway' && featureType1 === 'highway' && tags1.man_made === 'pier') return true;
+
+               if (!allowsStructures(featureType1) && !allowsStructures(featureType2)) {
+                   // if no structures are applicable, the layers must be different
+                   if (layer1 !== layer2) return true;
+               }
+               return false;
+           }
+
+
+           // highway values for which we shouldn't recommend connecting to waterways
+           var highwaysDisallowingFords = {
+               motorway: true, motorway_link: true, trunk: true, trunk_link: true,
+               primary: true, primary_link: true, secondary: true, secondary_link: true
+           };
+           var nonCrossingHighways = { track: true };
+
+           function tagsForConnectionNodeIfAllowed(entity1, entity2) {
+               var featureType1 = getFeatureTypeForTags(entity1.tags);
+               var featureType2 = getFeatureTypeForTags(entity2.tags);
+               if (featureType1 === featureType2) {
+                   if (featureType1 === 'highway') {
+                       var entity1IsPath = osmPathHighwayTagValues[entity1.tags.highway];
+                       var entity2IsPath = osmPathHighwayTagValues[entity2.tags.highway];
+                       if ((entity1IsPath || entity2IsPath) && entity1IsPath !== entity2IsPath) {
+                           // one feature is a path but not both
+
+                           var roadFeature = entity1IsPath ? entity2 : entity1;
+                           if (nonCrossingHighways[roadFeature.tags.highway]) {
+                               // don't mark path connections with certain roads as crossings
+                               return {};
+                           }
+                           var pathFeature = entity1IsPath ? entity1 : entity2;
+                           if (['marked', 'unmarked'].indexOf(pathFeature.tags.crossing) !== -1) {
+                               // if the path is a crossing, match the crossing type
+                               return { highway: 'crossing', crossing: pathFeature.tags.crossing };
+                           }
+                           // don't add a `crossing` subtag to ambiguous crossings
+                           return { highway: 'crossing' };
+                       }
+                       return {};
+                   }
+                   if (featureType1 === 'waterway') return {};
+                   if (featureType1 === 'railway') return {};
+
+               } else {
+                   var featureTypes = [featureType1, featureType2];
+                   if (featureTypes.indexOf('highway') !== -1) {
+                       if (featureTypes.indexOf('railway') !== -1) {
+                           if (osmPathHighwayTagValues[entity1.tags.highway] ||
+                               osmPathHighwayTagValues[entity2.tags.highway]) {
+                               // path-rail connections use this tag
+                               return { railway: 'crossing' };
+                           } else {
+                               // road-rail connections use this tag
+                               return { railway: 'level_crossing' };
+                           }
+                       }
+
+                       if (featureTypes.indexOf('waterway') !== -1) {
+                           // do not allow fords on structures
+                           if (hasTag(entity1.tags, 'tunnel') && hasTag(entity2.tags, 'tunnel')) return null;
+                           if (hasTag(entity1.tags, 'bridge') && hasTag(entity2.tags, 'bridge')) return null;
+
+                           if (highwaysDisallowingFords[entity1.tags.highway] ||
+                               highwaysDisallowingFords[entity2.tags.highway]) {
+                               // do not allow fords on major highways
+                               return null;
+                           }
+                           return { ford: 'yes' };
+                       }
+                   }
+               }
+               return null;
+           }
+
+
+           function findCrossingsByWay(way1, graph, tree) {
+               var edgeCrossInfos = [];
+               if (way1.type !== 'way') return edgeCrossInfos;
+
+               var way1FeatureType = getFeatureTypeForCrossingCheck(way1, graph);
+               if (way1FeatureType === null) return edgeCrossInfos;
+
+               var checkedSingleCrossingWays = {};
+
+               // declare vars ahead of time to reduce garbage collection
+               var i, j, nodeIndex;
+               var extent;
+               var n1, n2, nA, nB;
+               var segment1, segment2;
+               var oneOnly;
+               var intersected, way2, way2FeatureType, way2Nodes;
+               var way1Nodes = graph.childNodes(way1);
+               var comparedWays = {};
+               for (i = 0; i < way1Nodes.length - 1; i++) {
+                   n1 = way1Nodes[i];
+                   n2 = way1Nodes[i + 1];
+                   extent = geoExtent([
+                       [
+                           Math.min(n1.loc[0], n2.loc[0]),
+                           Math.min(n1.loc[1], n2.loc[1])
+                       ],
+                       [
+                           Math.max(n1.loc[0], n2.loc[0]),
+                           Math.max(n1.loc[1], n2.loc[1])
+                       ]
+                   ]);
+
+                   intersected = tree.intersects(extent, graph);
+                   for (j = 0; j < intersected.length; j++) {
+                       way2 = intersected[j];
+
+                       if (way2.type !== 'way') continue;
+
+                       // don't check for self-intersection in this validation
+                       if (way2.id === way1.id) continue;
+
+                       // skip if this way was already checked and only one issue is needed
+                       if (checkedSingleCrossingWays[way2.id]) continue;
+
+                       // don't re-check previously checked features
+                       if (_issueCache[way1.id] && _issueCache[way1.id][way2.id]) continue;
+
+                       // mark this way as checked even if there are no crossings
+                       comparedWays[way2.id] = true;
+
+                       // only check crossing highway, waterway, building, and railway
+                       way2FeatureType = getFeatureTypeForCrossingCheck(way2, graph);
+                       if (way2FeatureType === null ||
+                           isLegitCrossing(way1, way1FeatureType, way2, way2FeatureType)) {
+                           continue;
+                       }
+
+                       // create only one issue for building crossings
+                       oneOnly = way1FeatureType === 'building' || way2FeatureType === 'building';
+                       segment1 = [n1.loc, n2.loc];
+
+                       way2Nodes = graph.childNodes(way2);
+                       for (nodeIndex = 0; nodeIndex < way2Nodes.length - 1; nodeIndex++) {
+                           nA = way2Nodes[nodeIndex];
+                           nB = way2Nodes[nodeIndex + 1];
+                           if (nA.id === n1.id || nA.id === n2.id ||
+                               nB.id === n1.id || nB.id === n2.id) {
+                               // n1 or n2 is a connection node; skip
+                               continue;
+                           }
+                           segment2 = [nA.loc, nB.loc];
+                           var point = geoLineIntersection(segment1, segment2);
+                           if (point) {
+                               edgeCrossInfos.push({
+                                   ways: [way1, way2],
+                                   featureTypes: [way1FeatureType, way2FeatureType],
+                                   edges: [[n1.id, n2.id], [nA.id, nB.id]],
+                                   crossPoint: point
+                               });
+                               if (oneOnly) {
+                                   checkedSingleCrossingWays[way2.id] = true;
+                                   break;
+                               }
+                           }
+                       }
+                   }
+               }
+               for (var way2ID in comparedWays) {
+                   if (!_issueCache[way1.id]) _issueCache[way1.id] = {};
+                   if (!_issueCache[way1.id][way2ID]) _issueCache[way1.id][way2ID] = [];
+                   if (!_issueCache[way2ID]) _issueCache[way2ID] = {};
+                   if (!_issueCache[way2ID][way1.id]) _issueCache[way2ID][way1.id] = [];
+               }
+               return edgeCrossInfos;
+           }
+
+
+           function waysToCheck(entity, graph) {
+               if (!getFeatureTypeForTags(entity.tags)) {
+                   return [];
+               }
+               if (entity.type === 'way') {
+                   return [entity];
+               } else if (entity.type === 'relation' &&
+                   entity.isMultipolygon() &&
+                   // only check multipolygons if they are buildings
+                   hasTag(entity.tags, 'building')) {
+                   return entity.members.reduce(function(array, member) {
+                       if (member.type === 'way' &&
+                           //(member.role === 'outer' || member.role === 'inner') &&
+                           graph.hasEntity(member.id)) {
+                           var entity = graph.entity(member.id);
+                           array.push(entity);
+                       }
+                       return array;
+                   }, []);
+               }
+               return [];
+           }
+
+
+           var validation = function checkCrossingWays(entity, graph) {
+
+               var tree = context.history().tree();
+
+               var ways = waysToCheck(entity, graph);
+
+               var issues = [];
+               // declare these here to reduce garbage collection
+               var wayIndex, crossingIndex, key, crossings, crossing, issue;
+               for (wayIndex in ways) {
+                   var way = ways[wayIndex];
+                   crossings = findCrossingsByWay(way, graph, tree);
+                   for (crossingIndex in crossings) {
+                       crossing = crossings[crossingIndex];
+                       var way2 = crossing.ways[1];
+                       issue = createIssue(crossing, graph);
+                       // cache the issues for each way
+                       _issueCache[way.id][way2.id].push(issue);
+                       _issueCache[way2.id][way.id].push(issue);
+                   }
+                   for (key in _issueCache[way.id]) {
+                       issues = issues.concat(_issueCache[way.id][key]);
+                   }
+               }
+               return issues;
+           };
+
+
+           function createIssue(crossing, graph) {
+
+               // use the entities with the tags that define the feature type
+               var entities = crossing.ways.sort(function(entity1, entity2) {
+                   var type1 = getFeatureTypeForCrossingCheck(entity1, graph);
+                   var type2 = getFeatureTypeForCrossingCheck(entity2, graph);
+                   if (type1 === type2) {
+                       return utilDisplayLabel(entity1, context) > utilDisplayLabel(entity2, context);
+                   } else if (type1 === 'waterway') {
+                       return true;
+                   } else if (type2 === 'waterway') {
+                       return false;
+                   }
+                   return type1 < type2;
+               });
+               entities = entities.map(function(way) {
+                   return getFeatureWithFeatureTypeTagsForWay(way, graph);
+               });
+
+               var connectionTags = tagsForConnectionNodeIfAllowed(entities[0], entities[1]);
+
+               var featureType1 = crossing.featureTypes[0];
+               var featureType2 = crossing.featureTypes[1];
+
+               var isCrossingIndoors = tagsImplyIndoors(entities[0].tags) && tagsImplyIndoors(entities[1].tags);
+               var isCrossingTunnels = allowsTunnel(featureType1) && hasTag(entities[0].tags, 'tunnel') &&
+                                       allowsTunnel(featureType2) && hasTag(entities[1].tags, 'tunnel');
+               var isCrossingBridges = allowsBridge(featureType1) && hasTag(entities[0].tags, 'bridge') &&
+                                       allowsBridge(featureType2) && hasTag(entities[1].tags, 'bridge');
+
+               var crossingTypeID;
+
+               if (isCrossingIndoors) {
+                   crossingTypeID = 'indoor-indoor';
+               } else if (isCrossingTunnels) {
+                   crossingTypeID = 'tunnel-tunnel';
+               } else if (isCrossingBridges) {
+                   crossingTypeID = 'bridge-bridge';
+               } else {
+                   crossingTypeID = crossing.featureTypes.sort().join('-');
+               }
+               if (connectionTags && (isCrossingIndoors || isCrossingTunnels || isCrossingBridges)) {
+                   crossingTypeID += '_connectable';
+               }
+
+               var fixes = [];
+               if (connectionTags) {
+                   fixes.push(makeConnectWaysFix());
+               }
+
+               var useFixIcon = 'iD-icon-layers';
+               var useFixID;
+               if (isCrossingIndoors) {
+                   useFixID = 'use_different_levels';
+               } else if (isCrossingTunnels || isCrossingBridges) {
+                   useFixID = 'use_different_layers';
+               // don't recommend bridges for waterways even though they're okay
+               } else if ((allowsBridge(featureType1) && featureType1 !== 'waterway') ||
+                       (allowsBridge(featureType2) && featureType2 !== 'waterway')) {
+                   useFixID = 'use_bridge_or_tunnel';
+                   useFixIcon = 'maki-bridge';
+               } else if (allowsTunnel(featureType1) || allowsTunnel(featureType2)) {
+                   useFixID = 'use_tunnel';
+               } else {
+                   useFixID = 'use_different_layers';
+               }
+               if (useFixID === 'use_different_layers') {
+                   fixes.push(makeChangeLayerFix('higher'));
+                   fixes.push(makeChangeLayerFix('lower'));
+               } else {
+                   fixes.push(new validationIssueFix({
+                       icon: useFixIcon,
+                       title: t('issues.fix.' + useFixID + '.title')
+                   }));
+               }
+               fixes.push(new validationIssueFix({
+                   icon: 'iD-operation-move',
+                   title: t('issues.fix.reposition_features.title')
+               }));
+
+               return new validationIssue({
+                   type: type,
+                   severity: 'warning',
+                   message: function(context) {
+                       var entity1 = context.hasEntity(this.entityIds[0]),
+                           entity2 = context.hasEntity(this.entityIds[1]);
+                       return (entity1 && entity2) ? t('issues.crossing_ways.message', {
+                           feature: utilDisplayLabel(entity1, context),
+                           feature2: utilDisplayLabel(entity2, context)
+                       }) : '';
+                   },
+                   reference: showReference,
+                   entityIds: entities.map(function(entity) {
+                       return entity.id;
+                   }),
+                   data: {
+                       edges: crossing.edges,
+                       connectionTags: connectionTags
+                   },
+                   // differentiate based on the loc since two ways can cross multiple times
+                   hash: JSON.stringify(crossing.crossPoint) +
+                       // if the edges change then so does the fix
+                       JSON.stringify(crossing.edges) +
+                       // ensure the correct connection tags are added in the fix
+                       JSON.stringify(connectionTags),
+                   loc: crossing.crossPoint,
+                   fixes: fixes
+               });
+
+               function showReference(selection) {
+                   selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter()
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.crossing_ways.' + crossingTypeID + '.reference'));
+               }
+           }
+
+           function makeConnectWaysFix() {
+               return new validationIssueFix({
+                   icon: 'iD-icon-crossing',
+                   title: t('issues.fix.connect_features.title'),
+                   onClick: function(context) {
+                       var loc = this.issue.loc;
+                       var connectionTags = this.issue.data.connectionTags;
+                       var edges = this.issue.data.edges;
+
+                       context.perform(
+                           function actionConnectCrossingWays(graph) {
+                               // create the new node for the points
+                               var node = osmNode({ loc: loc, tags: connectionTags });
+                               graph = graph.replace(node);
+
+                               var nodesToMerge = [node.id];
+                               var mergeThresholdInMeters = 0.75;
+
+                               edges.forEach(function(edge) {
+                                   var edgeNodes = [graph.entity(edge[0]), graph.entity(edge[1])];
+                                   var closestNodeInfo = geoSphericalClosestNode(edgeNodes, loc);
+                                   // if there is already a point nearby, use that
+                                   if (closestNodeInfo.distance < mergeThresholdInMeters) {
+                                       nodesToMerge.push(closestNodeInfo.node.id);
+                                   // else add the new node to the way
+                                   } else {
+                                       graph = actionAddMidpoint({loc: loc, edge: edge}, node)(graph);
+                                   }
+                               });
+
+                               if (nodesToMerge.length > 1) {
+                                   // if we're using nearby nodes, merge them with the new node
+                                   graph = actionMergeNodes(nodesToMerge, loc)(graph);
+                               }
+
+                               return graph;
+                           },
+                           t('issues.fix.connect_crossing_features.annotation')
+                       );
+                   }
+               });
+           }
+
+           function makeChangeLayerFix(higherOrLower) {
+               return new validationIssueFix({
+                   icon: 'iD-icon-' + (higherOrLower === 'higher' ? 'up' : 'down'),
+                   title: t('issues.fix.tag_this_as_' + higherOrLower + '.title'),
+                   onClick: function(context) {
+
+                       var mode = context.mode();
+                       if (!mode || mode.id !== 'select') return;
+
+                       var selectedIDs = mode.selectedIDs();
+                       if (selectedIDs.length !== 1) return;
+
+                       var selectedID = selectedIDs[0];
+                       if (!this.issue.entityIds.some(function(entityId) {
+                           return entityId === selectedID;
+                       })) return;
+
+                       var entity = context.hasEntity(selectedID);
+                       if (!entity) return;
+
+                       var tags = Object.assign({}, entity.tags);   // shallow copy
+                       var layer = tags.layer && Number(tags.layer);
+                       if (layer && !isNaN(layer)) {
+                           if (higherOrLower === 'higher') {
+                               layer += 1;
+                           } else {
+                               layer -= 1;
+                           }
+                       } else {
+                           if (higherOrLower === 'higher') {
+                               layer = 1;
+                           } else {
+                               layer = -1;
+                           }
+                       }
+                       tags.layer = layer;
+                       context.perform(
+                           actionChangeTags(entity.id, tags),
+                           t('operations.change_tags.annotation')
+                       );
+                   }
+               });
+           }
+
+           validation.reset = function() {
+               _issueCache = {};
+           };
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationDisconnectedWay() {
+           var type = 'disconnected_way';
+
+           function isTaggedAsHighway(entity) {
+               return osmRoutableHighwayTagValues[entity.tags.highway];
+           }
+
+           var validation = function checkDisconnectedWay(entity, graph) {
+
+               var routingIslandWays = routingIslandForEntity(entity);
+               if (!routingIslandWays) return [];
+
+               var fixes = [];
+
+               var isSingle = routingIslandWays.size === 1;
+
+               if (isSingle) {
+
+                   if (entity.type === 'way' && !entity.isClosed()) {
+                       var firstID = entity.first();
+                       var lastID = entity.last();
+
+                       var first = graph.entity(firstID);
+                       if (first.tags.noexit !== 'yes') {
+                           fixes.push(new validationIssueFix({
+                               icon: 'iD-operation-continue-left',
+                               title: t('issues.fix.continue_from_start.title'),
+                               entityIds: [firstID],
+                               onClick: function(context) {
+                                   var wayId = this.issue.entityIds[0];
+                                   var way = context.entity(wayId);
+                                   var vertexId = this.entityIds[0];
+                                   var vertex = context.entity(vertexId);
+                                   continueDrawing(way, vertex, context);
+                               }
+                           }));
+                       }
+                       var last = graph.entity(lastID);
+                       if (last.tags.noexit !== 'yes') {
+                           fixes.push(new validationIssueFix({
+                               icon: 'iD-operation-continue',
+                               title: t('issues.fix.continue_from_end.title'),
+                               entityIds: [lastID],
+                               onClick: function(context) {
+                                   var wayId = this.issue.entityIds[0];
+                                   var way = context.entity(wayId);
+                                   var vertexId = this.entityIds[0];
+                                   var vertex = context.entity(vertexId);
+                                   continueDrawing(way, vertex, context);
+                               }
+                           }));
+                       }
+
+                   } else {
+                       fixes.push(new validationIssueFix({
+                           title: t('issues.fix.connect_feature.title')
+                       }));
+                   }
+
+                   fixes.push(new validationIssueFix({
+                       icon: 'iD-operation-delete',
+                       title: t('issues.fix.delete_feature.title'),
+                       entityIds: [entity.id],
+                       onClick: function(context) {
+                           var id = this.issue.entityIds[0];
+                           var operation = operationDelete([id], context);
+                           if (!operation.disabled()) {
+                               operation();
+                           }
+                       }
+                   }));
+               } else {
+                   fixes.push(new validationIssueFix({
+                       title: t('issues.fix.connect_features.title')
+                   }));
+               }
+
+               return [new validationIssue({
+                   type: type,
+                   severity: 'warning',
+                   message: function(context) {
+                       if (this.entityIds.length === 1) {
+                           var entity = context.hasEntity(this.entityIds[0]);
+                           return entity ? t('issues.disconnected_way.highway.message', { highway: utilDisplayLabel(entity, context) }) : '';
+                       }
+                       return t('issues.disconnected_way.routable.message.multiple', { count: this.entityIds.length.toString() });
+                   },
+                   reference: showReference,
+                   entityIds: Array.from(routingIslandWays).map(function(way) { return way.id; }),
+                   fixes: fixes
+               })];
+
+
+               function showReference(selection) {
+                   selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter()
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.disconnected_way.routable.reference'));
+               }
+
+               function routingIslandForEntity(entity) {
+
+                   if (entity.type !== 'way') return null;
+
+                   if (!isRoutableWay(entity, true)) return null;
+
+                   var waysToCheck = [entity];
+                   var routingIsland = new Set([entity]);
+
+                   while (waysToCheck.length) {
+                       var wayToCheck = waysToCheck.pop();
+                       var childNodes = graph.childNodes(wayToCheck);
+                       for (var i in childNodes) {
+                           var vertex = childNodes[i];
+                           var result = isConnectedVertex(vertex, routingIsland);
+                           if (result === true) {
+                               return null;
+                           } else if (result === false) {
+                               continue;
+                           }
+                           result.forEach(function(connectedWay) {
+                               if (!routingIsland.has(connectedWay)) {
+                                   routingIsland.add(connectedWay);
+                                   waysToCheck.push(connectedWay);
+                               }
+                           });
+                       }
+                   }
+
+                   return routingIsland;
+               }
+
+               function isConnectedVertex(vertex, routingIslandWays) {
+                   // assume ways overlapping unloaded tiles are connected to the wider road network  - #5938
+                   var osm = services$1.osm;
+                   if (osm && !osm.isDataLoaded(vertex.loc)) return true;
+
+                   // entrances are considered connected
+                   if (vertex.tags.entrance &&
+                       vertex.tags.entrance !== 'no') return true;
+                   if (vertex.tags.amenity === 'parking_entrance') return true;
+
+                   var parentsWays = graph.parentWays(vertex);
+
+                   // standalone vertex
+                   if (parentsWays.length === 1) return false;
+
+                   var connectedWays = new Set();
+
+                   for (var i in parentsWays) {
+                       var parentWay = parentsWays[i];
+
+                       // ignore any way we've already accounted for
+                       if (routingIslandWays.has(parentWay)) continue;
+
+                       if (isRoutableWay(parentWay, false)) connectedWays.add(parentWay);
+                   }
+
+                   if (connectedWays.size) return connectedWays;
+
+                   return false;
+               }
+
+               function isRoutableWay(way, ignoreInnerWays) {
+                   if (isTaggedAsHighway(way) || way.tags.route === 'ferry') return true;
+
+                   return graph.parentRelations(way).some(function(parentRelation) {
+                       if (parentRelation.tags.type === 'route' &&
+                           parentRelation.tags.route === 'ferry') return true;
+
+                       if (parentRelation.isMultipolygon() &&
+                           isTaggedAsHighway(parentRelation) &&
+                           (!ignoreInnerWays || parentRelation.memberById(way.id).role !== 'inner')) return true;
+                   });
+               }
+
+           };
+
+           function continueDrawing(way, vertex, context) {
+               // make sure the vertex is actually visible and editable
+               var map = context.map();
+               if (!map.editable() || !map.trimmedExtent().contains(vertex.loc)) {
+                   map.zoomToEase(vertex);
+               }
+
+               context.enter(
+                   modeDrawLine(context, way.id, context.graph(), context.graph(), 'line', way.affix(vertex.id), true)
+               );
+           }
+
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationFixmeTag(context) {
+           var type = 'fixme_tag';
+
+
+           var validation = function checkFixmeTag(entity) {
+
+               if (!entity.tags.fixme) return [];
+
+               // don't flag fixmes on features added by the user
+               if (entity.version === undefined) return [];
+
+               if (entity.v !== undefined) {
+                   var baseEntity = context.history().base().hasEntity(entity.id);
+                   // don't flag fixmes added by the user on existing features
+                   if (!baseEntity || !baseEntity.tags.fixme) return [];
+               }
+
+               return [new validationIssue({
+                   type: type,
+                   severity: 'warning',
+                   message: function(context) {
+                       var entity = context.hasEntity(this.entityIds[0]);
+                       return entity ? t('issues.fixme_tag.message', { feature: utilDisplayLabel(entity, context) }) : '';
+                   },
+                   reference: showReference,
+                   entityIds: [entity.id]
+               })];
+
+               function showReference(selection) {
+                   selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter()
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.fixme_tag.reference'));
+               }
+           };
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       var brands = {"amenity/bank|ABANCA":{countryCodes:["es"],tags:{amenity:"bank",brand:"ABANCA","brand:wikidata":"Q9598744","brand:wikipedia":"es:Abanca",name:"ABANCA",official_name:"ABANCA Corporación Bancaria"}},"amenity/bank|ABN AMRO":{countryCodes:["nl"],tags:{amenity:"bank",brand:"ABN AMRO","brand:wikidata":"Q287471","brand:wikipedia":"en:ABN AMRO",name:"ABN AMRO",official_name:"ABN AMRO Bank N.V."}},"amenity/bank|ABSA":{countryCodes:["za"],tags:{amenity:"bank",brand:"ABSA","brand:wikidata":"Q331688","brand:wikipedia":"en:ABSA Group Limited",name:"ABSA"}},"amenity/bank|AIB":{countryCodes:["gb","ie"],tags:{amenity:"bank",brand:"AIB","brand:wikidata":"Q1642179","brand:wikipedia":"en:Allied Irish Banks",name:"AIB",official_name:"Allied Irish Banks"}},"amenity/bank|ANZ":{countryCodes:["au","nz"],matchNames:["anz bank"],tags:{amenity:"bank",brand:"ANZ","brand:wikidata":"Q714641","brand:wikipedia":"en:Australia and New Zealand Banking Group",name:"ANZ",official_name:"Australia and New Zealand Banking Group Limited"}},"amenity/bank|ASB Bank":{countryCodes:["nz"],tags:{amenity:"bank",brand:"ASB Bank","brand:wikidata":"Q297214","brand:wikipedia":"en:ASB Bank",name:"ASB Bank"}},"amenity/bank|ATB Financial":{countryCodes:["ca"],tags:{amenity:"bank",brand:"ATB Financial","brand:wikidata":"Q298762","brand:wikipedia":"en:ATB Financial",name:"ATB Financial",official_name:"Alberta Treasury Branches"}},"amenity/bank|AXA":{nomatch:["office/insurance|AXA"],tags:{amenity:"bank",brand:"AXA","brand:wikidata":"Q160054","brand:wikipedia":"en:AXA",name:"AXA"}},"amenity/bank|Access Bank":{tags:{amenity:"bank",brand:"Access Bank","brand:wikidata":"Q4672418","brand:wikipedia":"en:Access Bank plc",name:"Access Bank"}},"amenity/bank|Addiko Bank":{countryCodes:["ba","hr","me","rs","si"],tags:{amenity:"bank",brand:"Addiko Bank","brand:wikidata":"Q27926559","brand:wikipedia":"en:Addiko Bank",name:"Addiko Bank"}},"amenity/bank|Affinity Credit Union":{countryCodes:["ca"],matchNames:["affinity"],tags:{amenity:"bank",brand:"Affinity Credit Union","brand:wikidata":"Q4688969","brand:wikipedia":"en:Affinity Credit Union",name:"Affinity Credit Union"}},"amenity/bank|Agrani Bank Limited অগ্রণী ব্যাংক লিমিটেড":{countryCodes:["bd"],tags:{amenity:"bank",brand:"Agrani Bank Limited অগ্রণী ব্যাংক লিমিটেড","brand:wikidata":"Q517050","brand:wikipedia":"en:Agrani Bank",name:"Agrani Bank Limited অগ্রণী ব্যাংক লিমিটেড","name:en":"Agrani Bank Limited"}},"amenity/bank|Agribank~(USA)":{countryCodes:["us"],tags:{amenity:"bank",brand:"Agribank","brand:wikidata":"Q4693829","brand:wikipedia":"en:AgriBank",name:"Agribank"}},"amenity/bank|Agribank~(Vietnam)":{countryCodes:["vn"],tags:{amenity:"bank",brand:"Agribank","brand:wikidata":"Q1924723","brand:wikipedia":"vn:Ngân hàng Nông nghiệp và Phát triển Nông thôn Việt Nam",name:"Agribank",official_name:"Ngân hàng Nông nghiệp và Phát triển Nông thôn Việt Nam","official_name:en":"Vietnam Bank for Agriculture and Rural Development"}},"amenity/bank|Agribank~(Zimbabwe)":{countryCodes:["zw"],tags:{amenity:"bank",brand:"Agribank","brand:wikidata":"Q4693887","brand:wikipedia":"en:Agricultural Development Bank of Zimbabwe",name:"Agribank"}},"amenity/bank|Akbank":{countryCodes:["tr"],tags:{amenity:"bank",brand:"Akbank","brand:wikidata":"Q416624","brand:wikipedia":"en:Akbank",name:"Akbank"}},"amenity/bank|Aktia":{countryCodes:["fi"],tags:{amenity:"bank",brand:"Aktia","brand:wikidata":"Q11850417","brand:wikipedia":"fi:Aktia",name:"Aktia"}},"amenity/bank|Alior Bank":{countryCodes:["pl"],tags:{amenity:"bank",brand:"Alior Bank","brand:wikidata":"Q9148395","brand:wikipedia":"pl:Alior Bank",name:"Alior Bank"}},"amenity/bank|Allahabad Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Allahabad Bank","brand:wikidata":"Q2018840","brand:wikipedia":"en:Allahabad Bank",name:"Allahabad Bank"}},"amenity/bank|Allied Bank~(Pakistan)":{countryCodes:["pk"],tags:{amenity:"bank",brand:"Allied Bank","brand:wikidata":"Q4732553","brand:wikipedia":"en:Allied Bank Limited",name:"Allied Bank"}},"amenity/bank|Allied Bank~(defunct bank in Philipiness)":{countryCodes:["ph"],tags:{amenity:"bank",brand:"Allied Bank","brand:wikidata":"Q4732555","brand:wikipedia":"en:Allied Banking Corporation",name:"Allied Bank"}},"amenity/bank|Alpha Bank":{tags:{amenity:"bank",brand:"Alpha Bank","brand:wikidata":"Q747394","brand:wikipedia":"en:Alpha Bank",name:"Alpha Bank"}},"amenity/bank|Alterna Savings":{countryCodes:["ca"],tags:{amenity:"bank",brand:"Alterna Savings","brand:wikidata":"Q4736322","brand:wikipedia":"en:Alterna Savings",name:"Alterna Savings"}},"amenity/bank|America First Credit Union":{countryCodes:["us"],tags:{amenity:"bank",brand:"America First Credit Union","brand:wikidata":"Q4742758","brand:wikipedia":"en:America First Credit Union",name:"America First Credit Union",short_name:"AFCU"}},"amenity/bank|Andhra Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Andhra Bank","brand:wikidata":"Q2003476","brand:wikipedia":"en:Andhra Bank",name:"Andhra Bank"}},"amenity/bank|Antonveneta":{countryCodes:["it"],tags:{amenity:"bank",brand:"Antonveneta","brand:wikidata":"Q3633689","brand:wikipedia":"en:Banca Antonveneta",name:"Antonveneta"}},"amenity/bank|Apple Bank":{countryCodes:["us"],nomatch:["shop/electronics|Apple Store"],tags:{amenity:"bank",brand:"Apple Bank","brand:wikidata":"Q4781125","brand:wikipedia":"en:Apple Bank for Savings",name:"Apple Bank"}},"amenity/bank|Argenta":{countryCodes:["be","lu","nl"],tags:{amenity:"bank",brand:"Argenta","brand:wikidata":"Q932856","brand:wikipedia":"en:Argenta (bank)",name:"Argenta"}},"amenity/bank|Arvest Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Arvest Bank","brand:wikidata":"Q4802393","brand:wikipedia":"en:Arvest Bank",name:"Arvest Bank"}},"amenity/bank|Asia United Bank":{countryCodes:["ph"],tags:{amenity:"bank",brand:"Asia United Bank","brand:wikidata":"Q4806482","brand:wikipedia":"en:Asia United Bank",name:"Asia United Bank"}},"amenity/bank|Askari Bank":{countryCodes:["pk"],tags:{amenity:"bank",brand:"Askari Bank","brand:wikidata":"Q4807137","brand:wikipedia":"en:Askari Bank",name:"Askari Bank"}},"amenity/bank|Associated Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Associated Bank","brand:wikidata":"Q4809155","brand:wikipedia":"en:Associated Banc-Corp",name:"Associated Bank"}},"amenity/bank|Attijariwafa Bank":{tags:{amenity:"bank",brand:"Attijariwafa Bank","brand:wikidata":"Q758052","brand:wikipedia":"en:Attijariwafa Bank",name:"Attijariwafa Bank"}},"amenity/bank|Axis Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Axis Bank","brand:wikidata":"Q2003549","brand:wikipedia":"en:Axis Bank",name:"Axis Bank"}},"amenity/bank|BAC":{tags:{amenity:"bank",brand:"BAC","brand:wikidata":"Q5715556","brand:wikipedia":"en:Banco de América Central",name:"BAC",official_name:"Banco de America Central"}},"amenity/bank|BAWAG PSK":{countryCodes:["at"],tags:{amenity:"bank",brand:"BAWAG PSK","brand:wikidata":"Q379938","brand:wikipedia":"en:BAWAG P.S.K.",name:"BAWAG PSK"}},"amenity/bank|BB&T":{countryCodes:["us"],tags:{amenity:"bank",brand:"BB&T","brand:wikidata":"Q795486","brand:wikipedia":"en:BB&T",name:"BB&T",official_name:"Branch Banking and Trust Company"}},"amenity/bank|BBBank":{countryCodes:["de"],tags:{amenity:"bank",brand:"BBBank","brand:wikidata":"Q795504","brand:wikipedia":"en:BBBank",name:"BBBank"}},"amenity/bank|BBVA":{tags:{amenity:"bank",brand:"BBVA","brand:wikidata":"Q806189","brand:wikipedia":"en:Banco Bilbao Vizcaya Argentaria",name:"BBVA",official_name:"Banco Bilbao Vizcaya Argentaria"}},"amenity/bank|BBVA Bancomer":{countryCodes:["mx"],tags:{amenity:"bank",brand:"BBVA Bancomer","brand:wikidata":"Q2876794","brand:wikipedia":"en:BBVA Bancomer",name:"BBVA Bancomer"}},"amenity/bank|BBVA Compass":{countryCodes:["us"],tags:{amenity:"bank",brand:"BBVA Compass","brand:wikidata":"Q4835088","brand:wikipedia":"en:BBVA Compass",name:"BBVA Compass",official_name:"BBVA Compass Bancshares"}},"amenity/bank|BBVA Continental":{countryCodes:["pe"],tags:{amenity:"bank",brand:"BBVA Continental","brand:wikidata":"Q4835089","brand:wikipedia":"en:BBVA Continental",name:"BBVA Continental"}},"amenity/bank|BBVA Francés":{countryCodes:["ar"],tags:{amenity:"bank",brand:"BBVA Francés","brand:en":"BBVA France","brand:fr":"BBVA France","brand:wikidata":"Q2876788","brand:wikipedia":"en:BBVA Francés",name:"BBVA Francés","name:en":"BBVA France","name:fr":"BBVA Francés"}},"amenity/bank|BCA":{matchNames:["bank bca"],tags:{amenity:"bank",brand:"BCA","brand:wikidata":"Q806626","brand:wikipedia":"id:Bank Central Asia",name:"BCA",official_name:"Bank Central Asia"}},"amenity/bank|BCI":{matchNames:["banco bci"],tags:{amenity:"bank",brand:"BCI","brand:wikidata":"Q2882083","brand:wikipedia":"es:Banco de Crédito e Inversiones",name:"BCI",official_name:"Banco de Crédito e Inversiones","official_name:en":"Bank of Credit and Investments","official_name:es":"Banco de Crédito e Inversiones"}},"amenity/bank|BCP~(Bolivia)":{countryCodes:["bo"],nomatch:["amenity/bank|BCP~(France)","amenity/bank|BCP~(Luxembourg)","amenity/bank|BCP~(Peru)"],tags:{amenity:"bank",brand:"BCP","brand:wikidata":"Q16826675","brand:wikipedia":"es:Banco de Crédito de Bolivia",name:"BCP",official_name:"Banco de Crédito de Bolivia","official_name:en":"Credit Bank of Bolivia","official_name:es":"Banco de Crédito de Bolivia"}},"amenity/bank|BCP~(France)":{countryCodes:["fr"],matchNames:["banque bcp","bcp"],nomatch:["amenity/bank|BCP~(Bolivia)","amenity/bank|BCP~(Luxembourg)","amenity/bank|BCP~(Peru)"],tags:{amenity:"bank",brand:"BCP","brand:wikidata":"Q118581","brand:wikipedia":"pt:Banco Comercial Português",name:"BCP"}},"amenity/bank|BCP~(Luxembourg)":{countryCodes:["lu"],matchNames:["banque bcp","bcp"],nomatch:["amenity/bank|BCP~(Bolivia)","amenity/bank|BCP~(France)","amenity/bank|BCP~(Peru)"],tags:{amenity:"bank",brand:"BCP","brand:wikidata":"Q118581","brand:wikipedia":"pt:Banco Comercial Português",name:"BCP"}},"amenity/bank|BCP~(Peru)":{countryCodes:["pe"],matchNames:["banco de crédito del perú"],nomatch:["amenity/bank|BCP~(Bolivia)","amenity/bank|BCP~(France)","amenity/bank|BCP~(Luxembourg)"],tags:{amenity:"bank",brand:"BCP","brand:wikidata":"Q4854124","brand:wikipedia":"es:Banco de Crédito del Perú",name:"BCP"}},"amenity/bank|BCR~(Banca Comercială Română)":{countryCodes:["ro"],matchNames:["banca comercială română"],tags:{amenity:"bank",brand:"BCR","brand:wikidata":"Q806149","brand:wikipedia":"en:Banca Comercială Română",name:"BCR",official_name:"Banca Comercială Română","official_name:en":"Romanian Commercial Bank","official_name:ro":"Banca Comercială Română"}},"amenity/bank|BCR~(Costa Rica)":{countryCodes:["cr"],matchNames:["banco de costa rica"],tags:{amenity:"bank",brand:"BCR","brand:wikidata":"Q6951632","brand:wikipedia":"es:Banco de Costa Rica",name:"BCR",official_name:"Banco de Costa Rica","official_name:en":"Bank of Costa Rica","official_name:es":"Banco de Costa Rica"}},"amenity/bank|BDO":{countryCodes:["ph"],tags:{amenity:"bank",brand:"BDO","brand:wikidata":"Q4854129","brand:wikipedia":"en:Banco de Oro",name:"BDO",official_name:"Banco de Oro","official_name:en":"Gold Bank","official_name:es":"Banco de Oro"}},"amenity/bank|BGŻ BNP Paribas":{countryCodes:["pl"],tags:{amenity:"bank",brand:"BGŻ BNP Paribas","brand:wikidata":"Q20744004","brand:wikipedia":"pl:BNP Paribas Bank Polska",name:"BGŻ BNP Paribas"}},"amenity/bank|BIAT":{countryCodes:["tn"],tags:{amenity:"bank",brand:"BIAT","brand:wikidata":"Q690739","brand:wikipedia":"en:Banque Internationale Arabe de Tunisie",name:"BIAT"}},"amenity/bank|BMCE Bank":{countryCodes:["ma"],matchNames:["bmce"],tags:{amenity:"bank",brand:"BMCE Bank","brand:wikidata":"Q2300433","brand:wikipedia":"ar:البنك المغربي للتجارة الخارجية",name:"BMCE Bank"}},"amenity/bank|BMCI":{countryCodes:["ma"],matchNames:["bmci bank"],tags:{amenity:"bank",brand:"BMCI","brand:wikidata":"Q2883409","brand:wikipedia":"ar:البنك المغربي للتجارة والصناعة",name:"BMCI"}},"amenity/bank|BMN":{countryCodes:["es"],tags:{amenity:"bank",brand:"BMN","brand:wikidata":"Q3754900","brand:wikipedia":"es:Banco Mare Nostrum",name:"BMN",official_name:"Banco Mare Nostrum"}},"amenity/bank|BMO Harris Bank~(USA)":{countryCodes:["us"],matchNames:["BMO","BMO Bank of Montreal","BMO Harris Bank","Bank of Montreal","Harris Bank"],tags:{amenity:"bank",brand:"BMO Harris Bank","brand:wikidata":"Q4835981","brand:wikipedia":"en:BMO Harris Bank",name:"BMO Harris Bank"}},"amenity/bank|BMO~(Canada)":{countryCodes:["ca"],matchNames:["BMO","BMO Bank of Montreal","BMO Banque de Montréal","Bank of Montreal","Banque de Montréal"],tags:{amenity:"bank",brand:"BMO","brand:wikidata":"Q806693","brand:wikipedia":"en:Bank of Montreal",name:"BMO",official_name:"Bank of Montreal"}},"amenity/bank|BNA~(Algeria)":{countryCodes:["dz"],tags:{amenity:"bank",brand:"BNA","brand:wikidata":"Q2883410","brand:wikipedia":"fr:Banque nationale d'Algérie",name:"BNA",official_name:"Banque nationale d'Algérie","official_name:en":"National Bank of Algeria","official_name:fr":"Banque nationale d'Algérie"}},"amenity/bank|BNA~(Tunisia)":{countryCodes:["tn"],tags:{amenity:"bank",brand:"BNA","brand:wikidata":"Q2883413","brand:wikipedia":"fr:Banque nationale agricole",name:"BNA"}},"amenity/bank|BNI":{matchNames:["bank bni"],tags:{amenity:"bank",brand:"BNI","brand:wikidata":"Q2882611","brand:wikipedia":"id:Bank Negara Indonesia",name:"BNI",official_name:"Bank Negara Indonesia","official_name:en":"State Bank of Indonesia","official_name:id":"Bank Negara Indonesia"}},"amenity/bank|BNL":{countryCodes:["it"],tags:{amenity:"bank",brand:"BNL","brand:wikidata":"Q2201225","brand:wikipedia":"en:Banca Nazionale del Lavoro",name:"BNL",official_name:"Banca Nazionale del Lavoro","official_name:en":"National Labor Bank","official_name:it":"Banca Nazionale del Lavoro"}},"amenity/bank|BNP Paribas":{tags:{amenity:"bank",brand:"BNP Paribas","brand:wikidata":"Q499707","brand:wikipedia":"en:BNP Paribas",name:"BNP Paribas"}},"amenity/bank|BNP Paribas Fortis":{countryCodes:["be"],tags:{amenity:"bank",brand:"BNP Paribas Fortis","brand:wikidata":"Q796827","brand:wikipedia":"en:BNP Paribas Fortis",name:"BNP Paribas Fortis"}},"amenity/bank|BOC":{tags:{amenity:"bank",brand:"BOC","brand:wikidata":"Q790068","brand:wikipedia":"en:Bank of China",name:"BOC",official_name:"Bank of China"}},"amenity/bank|BOQ":{countryCodes:["au"],tags:{amenity:"bank",brand:"BOQ","brand:wikidata":"Q4856173","brand:wikipedia":"en:Bank of Queensland",name:"BOQ",official_name:"Bank of Queensland"}},"amenity/bank|BPI":{matchNames:["bpi family savings bank"],tags:{amenity:"bank",brand:"BPI","brand:wikidata":"Q2501256","brand:wikipedia":"en:Bank of the Philippine Islands",name:"BPI",official_name:"Bank of the Philippine Islands"}},"amenity/bank|BRD":{countryCodes:["ro"],tags:{amenity:"bank",brand:"BRD","brand:wikidata":"Q796927","brand:wikipedia":"ro:BRD - Groupe Société Générale",name:"BRD"}},"amenity/bank|BRED":{countryCodes:["fr"],tags:{amenity:"bank",brand:"BRED","brand:wikidata":"Q2877455","brand:wikipedia":"fr:BRED Banque populaire",name:"BRED",official_name:"Banque régionale d'escompte et de dépôts","official_name:en":"Regional Discount and Deposit Bank","official_name:fr":"Banque régionale d'escompte et de dépôts"}},"amenity/bank|BRI":{countryCodes:["id"],matchNames:["bank bri"],tags:{amenity:"bank",brand:"BRI","brand:wikidata":"Q623042","brand:wikipedia":"id:Bank Rakyat Indonesia",name:"BRI",official_name:"Bank Rakyat Indonesia","official_name:en":"People's Bank of Indonesia","official_name:id":"Bank Rakyat Indonesia"}},"amenity/bank|BTN":{countryCodes:["id"],tags:{amenity:"bank",brand:"BTN","brand:en":"BTN","brand:id":"BTN","brand:wikidata":"Q12474534","brand:wikipedia":"id:Bank Tabungan Negara",name:"BTN","name:en":"BTN","name:id":"BTN",official_name:"Bank Tabungan Negara","official_name:en":"State Savings Bank","official_name:id":"Bank Tabungan Negara"}},"amenity/bank|BW-Bank":{countryCodes:["de"],matchNames:["baden-württembergische bank"],tags:{amenity:"bank",brand:"BW-Bank","brand:de":"BW-Bank","brand:en":"BW-Bank","brand:wikidata":"Q798891","brand:wikipedia":"de:Baden-Württembergische Bank",name:"BW-Bank","name:de":"BW-Bank","name:en":"BW-Bank"}},"amenity/bank|Banamex":{countryCodes:["mx"],tags:{amenity:"bank",brand:"Banamex","brand:wikidata":"Q749474","brand:wikipedia":"en:Grupo Financiero Banamex",name:"Banamex",official_name:"Grupo Financiero Banamex","official_name:en":"Banamex Financial Group","official_name:es":"Grupo Financiero Banamex"}},"amenity/bank|Banca Intesa":{countryCodes:["it","rs"],tags:{amenity:"bank",brand:"Banca Intesa","brand:wikidata":"Q647092","brand:wikipedia":"en:Banca Intesa",name:"Banca Intesa","name:en":"Intesa Bank","name:it":"Banca Intesa"}},"amenity/bank|Banca March":{countryCodes:["es"],tags:{amenity:"bank",brand:"Banca March","brand:wikidata":"Q578252","brand:wikipedia":"en:Banca March",name:"Banca March"}},"amenity/bank|Banca Popolare di Milano":{countryCodes:["it"],matchNames:["bpm"],tags:{amenity:"bank",brand:"Banca Popolare di Milano","brand:en":"Popular Bank of Milan","brand:it":"Banca Popolare di Milano","brand:wikidata":"Q806154","brand:wikipedia":"en:Banca Popolare di Milano",name:"Banca Popolare di Milano","name:en":"Popular Bank of Milan","name:it":"Banca Popolare di Milano"}},"amenity/bank|Banca Popolare di Novara":{countryCodes:["it"],tags:{amenity:"bank",brand:"Banca Popolare di Novara","brand:en":"Popular Bank of Novara","brand:it":"Banca Popolare di Novara","brand:wikidata":"Q3633742","brand:wikipedia":"en:Banca Popolare di Novara",name:"Banca Popolare di Novara","name:en":"Popular Bank of Novara","name:it":"Banca Popolare di Novara"}},"amenity/bank|Banca Popolare di Sondrio":{countryCodes:["it"],tags:{amenity:"bank",brand:"Banca Popolare di Sondrio","brand:en":"Popular Bank of Sandrio","brand:it":"Banca Popolare di Sondrio","brand:wikidata":"Q686176","brand:wikipedia":"en:Banca Popolare di Sondrio",name:"Banca Popolare di Sondrio","name:en":"Popular Bank of Sandrio","name:it":"Banca Popolare di Sondrio"}},"amenity/bank|Banca Popolare di Verona":{countryCodes:["it"],tags:{amenity:"bank",brand:"Banca Popolare di Verona","brand:en":"Popular Bank of Verona","brand:it":"Banca Popolare di Verona","brand:wikidata":"Q3167468","brand:wikipedia":"en:Banca Popolare di Verona",name:"Banca Popolare di Verona","name:en":"Popular Bank of Verona","name:it":"Banca Popolare di Verona"}},"amenity/bank|Banca Popolare di Vicenza":{countryCodes:["it"],tags:{amenity:"bank",brand:"Banca Popolare di Vicenza","brand:en":"Popular Bank of Vicenza","brand:it":"Banca Popolare di Vicenza","brand:wikidata":"Q3127200","brand:wikipedia":"en:Banca Popolare di Vicenza",name:"Banca Popolare di Vicenza","name:en":"Popular Bank of Vicena","name:it":"Banca Popolare di Vicenza"}},"amenity/bank|Banca Românească":{countryCodes:["ro"],tags:{amenity:"bank",brand:"Banca Românească","brand:en":"Romanian Bank","brand:ro":"Banca Românească","brand:wikidata":"Q4854052","brand:wikipedia":"ro:Banca Românească",name:"Banca Românească","name:en":"Popular Bank of Vicena","name:ro":"Banca Românească"}},"amenity/bank|Banca Sella":{countryCodes:["it"],tags:{amenity:"bank",brand:"Banca Sella","brand:en":"Sella Bank","brand:it":"Banca Sella","brand:wikidata":"Q3633749","brand:wikipedia":"en:Banca Sella Group",name:"Banca Sella","name:en":"Sella Bank","name:it":"Banca Sella"}},"amenity/bank|Banca Transilvania":{countryCodes:["ro"],tags:{amenity:"bank",brand:"Banca Transilvania","brand:en":"Transilvania Bank","brand:ro":"Banca Transilvania","brand:wikidata":"Q806161","brand:wikipedia":"en:Banca Transilvania",name:"Banca Transilvania","name:en":"Transilvania Bank","name:ro":"Banca Transilvania"}},"amenity/bank|Bancaribe":{countryCodes:["ve"],tags:{amenity:"bank",brand:"Bancaribe","brand:wikidata":"Q5717827","brand:wikipedia":"en:Bancaribe",name:"Bancaribe"}},"amenity/bank|Banco AV Villas":{countryCodes:["co"],tags:{amenity:"bank",brand:"Banco AV Villas","brand:en":"Bank of Villas","brand:es":"Banco AV Villas","brand:wikidata":"Q4854068","brand:wikipedia":"en:Banco AV Villas",name:"Banco AV Villas","name:en":"Bank of Villas","name:es":"Banco AV Villas"}},"amenity/bank|Banco Agrario":{countryCodes:["co"],tags:{amenity:"bank",brand:"Banco Agrario","brand:en":"Agrarian Bank","brand:wikidata":"Q20013358","brand:wikipedia":"es:Banco Agrario de Colombia",name:"Banco Agrario","name:en":"Agrarian Bank","name:es":"Banco Agrario",official_name:"Banco Agrario de Colombia","official_name:en":"Agrarian Bank of Colombia","official_name:es":"Banco Agrario de Colombia"}},"amenity/bank|Banco Azteca":{tags:{amenity:"bank",brand:"Banco Azteca","brand:en":"Aztec Bank","brand:es":"Banco Azteca","brand:wikidata":"Q4854076","brand:wikipedia":"en:Banco Azteca",name:"Banco Azteca","name:en":"Aztec Bank","name:es":"Banco Azteca"}},"amenity/bank|Banco BPM":{countryCodes:["it"],tags:{amenity:"bank",brand:"Banco BPM","brand:en":"BPM Bank","brand:es":"Banco BPM","brand:wikidata":"Q27331643","brand:wikipedia":"en:Banco BPM",name:"Banco BPM","name:en":"BPM Bank","name:es":"Banco BPM"}},"amenity/bank|Banco Caja Social":{countryCodes:["co"],tags:{amenity:"bank",brand:"Banco Caja Social","brand:en":"Social Housing Bank","brand:es":"Banco Caja Social","brand:wikidata":"Q5717869","brand:wikipedia":"es:Banco Caja Social",name:"Banco Caja Social","name:en":"Social Housing Bank","name:es":"Banco Caja Social"}},"amenity/bank|Banco Ciudad":{countryCodes:["ar"],tags:{amenity:"bank",brand:"Banco Ciudad","brand:en":"City Bank","brand:es":"Banco Ciudad","brand:wikidata":"Q4856204","brand:wikipedia":"en:Bank of the City of Buenos Aires",name:"Banco Ciudad","name:en":"City Bank","name:es":"Banco Ciudad",official_name:"Banco Ciudad de Buenos Aires","official_name:en":"Bank of the City of Buenos Aires","official_name:es":"Banco Ciudad de Buenos Aires"}},"amenity/bank|Banco Continental~(Paraguay)":{countryCodes:["py"],tags:{amenity:"bank",brand:"Banco Continental","brand:en":"Continental Bank","brand:es":"Banco Continental","brand:wikidata":"Q62054564",name:"Banco Continental","name:en":"Continental Bank","name:es":"Banco Continental"}},"amenity/bank|Banco Continental~(Peru)":{countryCodes:["pe"],tags:{amenity:"bank",brand:"Banco Continental","brand:en":"Continental Bank","brand:es":"Banco Continental","brand:wikidata":"Q4835089","brand:wikipedia":"en:BBVA Continental",name:"Banco Continental","name:en":"Continental Bank","name:es":"Banco Continental"}},"amenity/bank|Banco Estado":{countryCodes:["cl"],tags:{amenity:"bank",brand:"Banco Estado","brand:en":"State Bank","brand:es":"Banco Estado","brand:wikidata":"Q5718188","brand:wikipedia":"es:Banco del Estado de Chile",name:"Banco Estado","name:en":"State Bank","name:es":"Banco Estado",official_name:"Banco del Estado de Chile","official_name:en":"Bank of the State of Chile","official_name:es":"Banco del Estado de Chile"}},"amenity/bank|Banco Falabella":{countryCodes:["cl","co","pe"],nomatch:["shop/department_store|Falabella"],tags:{amenity:"bank",brand:"Banco Falabella","brand:en":"Falabella Bank","brand:es":"Banco Falabella","brand:wikidata":"Q4854088","brand:wikipedia":"en:Banco Falabella",name:"Banco Falabella","name:en":"Falabella Bank","name:es":"Banco Falabella"}},"amenity/bank|Banco Fassil":{countryCodes:["bo"],tags:{amenity:"bank",brand:"Banco Fassil","brand:en":"Fassil Bank","brand:es":"Banco Fassil","brand:wikidata":"Q62118592",name:"Banco Fassil","name:en":"Fassil Bank","name:es":"Banco Fassil"}},"amenity/bank|Banco G&T Continental":{countryCodes:["gt","sv"],tags:{amenity:"bank",brand:"Banco G&T Continental","brand:en":"G&T Continental Bank","brand:es":"Banco G&T Continental","brand:wikidata":"Q5717949","brand:wikipedia":"es:Banco GYT Continental, S.A.",name:"Banco G&T Continental","name:en":"G&T Continental Bank","name:es":"Banco G&T Continental"}},"amenity/bank|Banco General":{countryCodes:["cr","pa"],tags:{amenity:"bank",brand:"BW-Bank","brand:en":"BW-Bank","brand:es":"BW-Bank","brand:wikidata":"Q27618271","brand:wikipedia":"es:Banco General (Panamá)",name:"Banco General","name:en":"General Bank","name:es":"Banco General"}},"amenity/bank|Banco Industrial":{tags:{amenity:"bank",brand:"Banco Industrial","brand:en":"Industrial Bank","brand:es":"Banco Industrial","brand:wikidata":"Q16489444","brand:wikipedia":"es:Banco Industrial",name:"Banco Industrial","name:en":"Industrial Bank","name:es":"Banco Industrial"}},"amenity/bank|Banco Internacional~(Chile)":{countryCodes:["cl"],tags:{amenity:"bank",brand:"Banco Internacional","brand:en":"International Bank","brand:es":"Banco Internacional","brand:wikidata":"Q56605586","brand:wikipedia":"es:Banco Internacional (Chile)",name:"Banco Internacional","name:en":"International Bank","name:es":"Banco Internacional"}},"amenity/bank|Banco Internacional~(Ecuador)":{countryCodes:["ec"],tags:{amenity:"bank",brand:"Banco Internacional","brand:en":"International Bank","brand:es":"Banco Internacional","brand:wikidata":"Q806187","brand:wikipedia":"es:Banco Internacional",name:"Banco Internacional","name:en":"International Bank","name:es":"Banco Internacional"}},"amenity/bank|Banco Metropolitano":{countryCodes:["cu"],tags:{amenity:"bank",brand:"Banco Metropolitano","brand:en":"Metroplitan Bank","brand:es":"Banco Metropolitano","brand:wikidata":"Q62118612",name:"Banco Metropolitano","name:en":"Metropolitan Bank","name:es":"Banco Metropolitano"}},"amenity/bank|Banco Nacional":{countryCodes:["cr","pa"],tags:{amenity:"bank",brand:"Banco Nacional de Costa Rica","brand:en":"National Bank of Costa Rica","brand:es":"Banco Nacional de Costa Rica","brand:wikidata":"Q2917708","brand:wikipedia":"es:Banco Nacional de Costa Rica",name:"Banco Nacional","name:en":"National Bank","name:es":"Banco Nacional",official_name:"Banco Nacional de Costa Rica","official_name:en":"National Bank of Costa Rica","official_name:es":"Banco Nacional de Costa Rica",short_name:"BNCR"}},"amenity/bank|Banco Nación":{countryCodes:["ar"],tags:{amenity:"bank",brand:"Banco Nación","brand:en":"Nation Bank","brand:es":"Banco Nación","brand:wikidata":"Q2883376","brand:wikipedia":"en:Banco de la Nación Argentina",name:"Banco Nación","name:en":"Nation Bank","name:es":"Banco Nación",official_name:"Banco de la Nación Argentina","official_name:en":"Bank of the Argentine Nation","official_name:es":"Banco de la Nación Argentina"}},"amenity/bank|Banco Pastor":{countryCodes:["es"],tags:{amenity:"bank",brand:"Banco Pastor","brand:en":"Shepherd Bank","brand:es":"Banco Pastor","brand:wikidata":"Q806193","brand:wikipedia":"en:Banco Pastor",name:"Banco Pastor","name:en":"Shepherd Bank","name:es":"Banco Pastor",official_name:"Banco Popular Pastor","official_name:en":"Popular Shepherd Bank","official_name:es":"Banco Popular Pastor"}},"amenity/bank|Banco Pichincha":{tags:{amenity:"bank",brand:"Banco Pichincha","brand:en":"Pichincha Bank","brand:es":"Banco Pichincha","brand:wikidata":"Q4854135","brand:wikipedia":"en:Banco Pichincha",name:"Banco Pichincha","name:en":"Pichincha Bank","name:es":"Banco Pichincha"}},"amenity/bank|Banco Popular de Ahorro":{countryCodes:["cu"],matchNames:["bpa"],tags:{amenity:"bank",brand:"Banco Popular de Ahorro","brand:en":"Popular Saving Bank","brand:es":"Banco Popular de Ahorro","brand:wikidata":"Q62118626",name:"Banco Popular de Ahorro","name:en":"Popular Saving Bank","name:es":"Banco Popular de Ahorro"}},"amenity/bank|Banco Provincia":{countryCodes:["ar"],tags:{amenity:"bank",brand:"Banco Provincia","brand:en":"Province Bank","brand:es":"Banco Provincia","brand:wikidata":"Q4856209","brand:wikipedia":"es:Banco de la Provincia de Buenos Aires",name:"Banco Provincia","name:en":"Province Bank","name:es":"Banco Provincia",official_name:"Banco de la Provincia de Buenos Aires","official_name:en":"Bank of the Province of Buenos Aires","official_name:es":"Banco de la Provincia de Buenos Aires"}},"amenity/bank|Banco Sabadell":{countryCodes:["es"],matchNames:["banc sabadell","sabadell"],tags:{amenity:"bank",brand:"Banco Sabadell","brand:en":"Sabadell Bank","brand:es":"Banco Sabadell","brand:wikidata":"Q762330","brand:wikipedia":"es:Banco Sabadell",name:"Banco Sabadell","name:en":"Sabadell Bank","name:es":"Banco Sabadell"}},"amenity/bank|Banco Santa Fe":{countryCodes:["ar"],tags:{amenity:"bank",brand:"Banco Santa Fe","brand:en":"Santa Fe Bank","brand:es":"Banco Santa Fe","brand:wikidata":"Q6046871","brand:wikipedia":"es:Nuevo Banco de Santa Fe",name:"Banco Santa Fe","name:en":"Santa Fe Bank","name:es":"Banco Santa Fe",official_name:"Nuevo Banco de Santa Fe","official_name:en":"New Bank of Santa Fe","official_name:es":"Nuevo Banco de Santa Fe"}},"amenity/bank|Banco Santander":{nomatch:["amenity/bank|Santander"],tags:{amenity:"bank",brand:"Banco Santander","brand:en":"Santander Bank","brand:es":"Banco Santander","brand:wikidata":"Q6496310","brand:wikipedia":"es:Banco Santander",name:"Banco Santander","name:en":"Santander Bank","name:es":"Banco Santander",official_name:"Santander Group"}},"amenity/bank|Banco Sol~(Angola)":{countryCodes:["ao"],tags:{amenity:"bank",brand:"Banco Sol","brand:en":"Sol Bank","brand:pt":"Banco Sol","brand:wikidata":"Q62118744",name:"Banco Sol","name:en":"Sol Bank","name:pt":"Banco Sol"}},"amenity/bank|Banco Sol~(Bolivia)":{countryCodes:["bo"],tags:{amenity:"bank",brand:"Banco Sol","brand:en":"Sol Bank","brand:pt":"Banco Sol","brand:wikidata":"Q62118746",name:"Banco Sol","name:en":"Sol Bank","name:pt":"Banco Sol"}},"amenity/bank|Banco Unión":{countryCodes:["bo"],nomatch:["amenity/bank|UnionBank","amenity/money_transfer|Express Union"],tags:{amenity:"bank",brand:"Banco Unión","brand:en":"Union Bank","brand:es":"Banco Unión",name:"Banco Unión","name:en":"Union Bank","name:es":"Banco Unión"}},"amenity/bank|Banco de Bogotá":{countryCodes:["co"],tags:{amenity:"bank",brand:"Banco de Bogotá","brand:en":"Bank of Bogota","brand:es":"Banco de Bogotá","brand:wikidata":"Q4854122","brand:wikipedia":"es:Banco de Bogotá",name:"Banco de Bogotá","name:en":"Bank of Bogota","name:es":"Banco de Bogotá"}},"amenity/bank|Banco de Chile":{countryCodes:["cl"],tags:{amenity:"bank",brand:"Banco de Chile","brand:en":"Bank of Chile","brand:es":"Banco de Chile","brand:wikidata":"Q2882085","brand:wikipedia":"es:Banco de Chile",name:"Banco de Chile","name:en":"Bank of Chile","name:es":"Banco de Chile"}},"amenity/bank|Banco de Desarrollo Banrural":{countryCodes:["gt"],tags:{amenity:"bank",brand:"Banco de Desarrollo Banrural","brand:en":"Bank of Banrural Development","brand:es":"Banco de Desarrollo Banrural","brand:wikidata":"Q5719130","brand:wikipedia":"es:Banrural",name:"Banco de Desarrollo Banrural","name:en":"Bank of Banrural Development","name:es":"Banco de Desarrollo Banrural"}},"amenity/bank|Banco de Fomento Angola (BFA)":{countryCodes:["ao"],tags:{amenity:"bank",brand:"Banco de Fomento Angola (BFA)","brand:en":"Angola Development Bank (BFA)","brand:es":"Banco de Fomento Angola (BFA)","brand:wikidata":"Q806197","brand:wikipedia":"de:Banco de Fomento Angola",name:"Banco de Fomento Angola (BFA)","name:en":"Angola Development Bank (BFA)","name:es":"Banco de Fomento Angola (BFA)"}},"amenity/bank|Banco de Occidente":{tags:{amenity:"bank",brand:"Banco de Occidente","brand:wikidata":"Q4854127","brand:wikipedia":"es:Banco de Occidente (Colombia)",name:"Banco de Occidente"}},"amenity/bank|Banco de Venezuela":{countryCodes:["ve"],matchNames:["de venezuela"],tags:{amenity:"bank",brand:"Banco de Venezuela","brand:wikidata":"Q517093","brand:wikipedia":"es:Banco de Venezuela",name:"Banco de Venezuela"}},"amenity/bank|Banco de la Nación~(Argentina)":{countryCodes:["ar"],tags:{amenity:"bank",brand:"Banco de la Nación","brand:wikidata":"Q2883376","brand:wikipedia":"en:Banco de la Nación Argentina",name:"Banco de la Nación"}},"amenity/bank|Banco de la Nación~(Peru)":{countryCodes:["pe"],tags:{amenity:"bank",brand:"Banco de la Nación","brand:wikidata":"Q4856206","brand:wikipedia":"en:Bank of the Nation (Peru)",name:"Banco de la Nación"}},"amenity/bank|Banco del Austro":{countryCodes:["ec"],tags:{amenity:"bank",brand:"Banco del Austro","brand:wikidata":"Q62122344",name:"Banco del Austro"}},"amenity/bank|Banco di Napoli":{countryCodes:["it"],tags:{amenity:"bank",brand:"Banco di Napoli","brand:wikidata":"Q3633835","brand:wikipedia":"en:Banco di Napoli",name:"Banco di Napoli"}},"amenity/bank|Banco di Sardegna":{countryCodes:["it"],tags:{amenity:"bank",brand:"Banco di Sardegna","brand:wikidata":"Q806205","brand:wikipedia":"en:Banco di Sardegna",name:"Banco di Sardegna"}},"amenity/bank|Banco do Brasil":{countryCodes:["br"],tags:{amenity:"bank",brand:"Banco do Brasil","brand:wikidata":"Q610817","brand:wikipedia":"en:Banco do Brasil",name:"Banco do Brasil"}},"amenity/bank|Banco do Nordeste":{countryCodes:["br"],tags:{amenity:"bank",brand:"Banco do Nordeste","brand:wikidata":"Q4854137","brand:wikipedia":"en:Banco do Nordeste",name:"Banco do Nordeste"}},"amenity/bank|Bancolombia":{countryCodes:["co"],tags:{amenity:"bank",brand:"Bancolombia","brand:wikidata":"Q806206","brand:wikipedia":"en:Bancolombia",name:"Bancolombia"}},"amenity/bank|Bancomer":{countryCodes:["mx"],tags:{amenity:"bank",brand:"Bancomer","brand:wikidata":"Q2876794","brand:wikipedia":"en:BBVA Bancomer",name:"Bancomer"}},"amenity/bank|Bancpost":{countryCodes:["ro"],nomatch:["amenity/bank|Postbank"],tags:{amenity:"bank",brand:"Bancpost","brand:wikidata":"Q4854143","brand:wikipedia":"ro:Bancpost",name:"Bancpost"}},"amenity/bank|Banesco":{tags:{amenity:"bank",brand:"Banesco","brand:wikidata":"Q4854841","brand:wikipedia":"en:Banesco",name:"Banesco"}},"amenity/bank|Bangkok Bank":{countryCodes:["th"],tags:{amenity:"bank",brand:"Bangkok Bank","brand:wikidata":"Q806483","brand:wikipedia":"en:Bangkok Bank",name:"Bangkok Bank"}},"amenity/bank|Bank Al Habib":{countryCodes:["pk"],tags:{amenity:"bank",brand:"Bank Al Habib","brand:wikidata":"Q4034833","brand:wikipedia":"ur:بينک الحبيب لمیٹڈ",name:"Bank Al Habib"}},"amenity/bank|Bank Alfalah":{countryCodes:["pk"],tags:{amenity:"bank",brand:"Bank Alfalah","brand:wikidata":"Q4855895","brand:wikipedia":"en:Bank Alfalah",name:"Bank Alfalah"}},"amenity/bank|Bank Austria":{countryCodes:["at"],tags:{amenity:"bank",brand:"Bank Austria","brand:wikidata":"Q697619","brand:wikipedia":"en:Bank Austria",name:"Bank Austria"}},"amenity/bank|Bank Danamon":{countryCodes:["id"],tags:{amenity:"bank",brand:"Bank Danamon","brand:wikidata":"Q4855913","brand:wikipedia":"en:Bank Danamon",name:"Bank Danamon"}},"amenity/bank|Bank Mandiri":{countryCodes:["id"],tags:{amenity:"bank",brand:"Bank Mandiri","brand:wikidata":"Q806639","brand:wikipedia":"en:Bank Mandiri",name:"Bank Mandiri"}},"amenity/bank|Bank Mandiri Syariah":{countryCodes:["id"],tags:{amenity:"bank",brand:"Bank Mandiri Syariah","brand:wikidata":"Q12474533","brand:wikipedia":"id:Bank Syariah Mandiri",name:"Bank Mandiri Syariah"}},"amenity/bank|Bank Mega":{countryCodes:["id"],tags:{amenity:"bank",brand:"Bank Mega","brand:wikidata":"Q12474504","brand:wikipedia":"id:Bank Mega",name:"Bank Mega"}},"amenity/bank|Bank Muamalat":{countryCodes:["id","my"],tags:{amenity:"bank",brand:"Bank Muamalat","brand:wikidata":"Q4855949","brand:wikipedia":"en:Bank Muamalat",name:"Bank Muamalat"}},"amenity/bank|Bank Pekao":{countryCodes:["pl"],tags:{amenity:"bank",brand:"Bank Pekao","brand:wikidata":"Q806642","brand:wikipedia":"pl:Bank Polska Kasa Opieki",name:"Bank Pekao"}},"amenity/bank|Bank Rakyat":{countryCodes:["my"],tags:{amenity:"bank",brand:"Bank Rakyat","brand:wikidata":"Q4855964","brand:wikipedia":"ms:Bank Rakyat",name:"Bank Rakyat"}},"amenity/bank|Bank of Africa":{tags:{amenity:"bank",brand:"Bank of Africa","brand:wikidata":"Q2882627","brand:wikipedia":"en:Bank of Africa Group",name:"Bank of Africa",short_name:"BOA"}},"amenity/bank|Bank of America":{countryCodes:["us"],tags:{amenity:"bank",brand:"Bank of America","brand:wikidata":"Q487907","brand:wikipedia":"en:Bank of America",name:"Bank of America"}},"amenity/bank|Bank of Baroda":{tags:{amenity:"bank",brand:"Bank of Baroda","brand:wikidata":"Q2003797","brand:wikipedia":"en:Bank of Baroda",name:"Bank of Baroda"}},"amenity/bank|Bank of Ceylon":{countryCodes:["lk"],tags:{amenity:"bank",brand:"Bank of Ceylon","brand:wikidata":"Q2882652","brand:wikipedia":"en:Bank of Ceylon",name:"Bank of Ceylon"}},"amenity/bank|Bank of Commerce":{countryCodes:["ph"],tags:{amenity:"bank",brand:"Bank of Commerce","brand:wikidata":"Q4856092","brand:wikipedia":"en:Bank of Commerce",name:"Bank of Commerce"}},"amenity/bank|Bank of Cyprus":{countryCodes:["cy","gr"],tags:{amenity:"bank",brand:"Bank of Cyprus","brand:wikidata":"Q806678","brand:wikipedia":"en:Bank of Cyprus",name:"Bank of Cyprus"}},"amenity/bank|Bank of India":{tags:{amenity:"bank",brand:"Bank of India","brand:wikidata":"Q2004439","brand:wikipedia":"en:Bank of India",name:"Bank of India"}},"amenity/bank|Bank of Ireland":{countryCodes:["gb","ie"],tags:{amenity:"bank",brand:"Bank of Ireland","brand:wikidata":"Q806689","brand:wikipedia":"en:Bank of Ireland",name:"Bank of Ireland"}},"amenity/bank|Bank of Maharashtra":{countryCodes:["in"],tags:{amenity:"bank",brand:"Bank of Maharashtra","brand:wikidata":"Q2004304","brand:wikipedia":"en:Bank of Maharashtra",name:"Bank of Maharashtra"}},"amenity/bank|Bank of New Zealand":{countryCodes:["nz"],tags:{amenity:"bank",brand:"Bank of New Zealand","brand:wikidata":"Q806687","brand:wikipedia":"en:Bank of New Zealand",name:"Bank of New Zealand"}},"amenity/bank|Bank of Scotland":{countryCodes:["gb"],tags:{amenity:"bank",brand:"Bank of Scotland","brand:wikidata":"Q627381","brand:wikipedia":"en:Bank of Scotland",name:"Bank of Scotland"}},"amenity/bank|Bank of the West":{countryCodes:["us"],tags:{amenity:"bank",brand:"Bank of the West","brand:wikidata":"Q2881919","brand:wikipedia":"en:Bank of the West",name:"Bank of the West"}},"amenity/bank|Bankia":{countryCodes:["es"],tags:{amenity:"bank",brand:"Bankia","brand:wikidata":"Q806807","brand:wikipedia":"en:Bankia",name:"Bankia"}},"amenity/bank|Bankinter":{countryCodes:["es","pt"],nomatch:["amenity/bank|Interbank"],tags:{amenity:"bank",brand:"Bankinter","brand:wikidata":"Q806808","brand:wikipedia":"es:Bankinter",name:"Bankinter"}},"amenity/bank|Bankwest":{countryCodes:["au"],tags:{amenity:"bank",brand:"Bankwest","brand:wikidata":"Q4856817","brand:wikipedia":"en:Bankwest",name:"Bankwest"}},"amenity/bank|Banner Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Banner Bank","brand:wikidata":"Q4856910","brand:wikipedia":"en:Banner Bank",name:"Banner Bank"}},"amenity/bank|Banorte":{countryCodes:["mx"],tags:{amenity:"bank",brand:"Banorte","brand:wikidata":"Q806914","brand:wikipedia":"en:Banorte",name:"Banorte"}},"amenity/bank|Banque Atlantique":{tags:{amenity:"bank",brand:"Banque Atlantique","brand:wikidata":"Q2882890","brand:wikipedia":"en:Atlantic Bank Group",name:"Banque Atlantique"}},"amenity/bank|Banque Laurentienne":{countryCodes:["ca"],tags:{amenity:"bank",brand:"Banque Laurentienne","brand:wikidata":"Q1360087","brand:wikipedia":"en:Laurentian Bank of Canada",name:"Banque Laurentienne"}},"amenity/bank|Banque Nationale~(Canada)":{countryCodes:["ca"],matchNames:["banque nationale du canada","national bank of canada"],tags:{amenity:"bank",brand:"Banque Nationale","brand:wikidata":"Q634298","brand:wikipedia":"en:National Bank of Canada",name:"Banque Nationale"}},"amenity/bank|Banque Populaire":{tags:{amenity:"bank",brand:"Banque Populaire","brand:wikidata":"Q2883441","brand:wikipedia":"en:Banque Populaire du Maroc",name:"Banque Populaire"}},"amenity/bank|Banrisul":{countryCodes:["br"],tags:{amenity:"bank",brand:"Banrisul","brand:wikidata":"Q4857098","brand:wikipedia":"en:Banrisul",name:"Banrisul"}},"amenity/bank|Banrural":{countryCodes:["gt","hn"],tags:{amenity:"bank",brand:"Banrural","brand:wikidata":"Q5719130","brand:wikipedia":"es:Banrural",name:"Banrural"}},"amenity/bank|Barclays":{matchNames:["barclays bank"],tags:{amenity:"bank",brand:"Barclays","brand:wikidata":"Q245343","brand:wikipedia":"en:Barclays",name:"Barclays"}},"amenity/bank|Bcc":{countryCodes:["it"],tags:{amenity:"bank",brand:"Bcc","brand:wikidata":"Q25060394","brand:wikipedia":"en:Banca di Credito Cooperativo di Roma",name:"Bcc"}},"amenity/bank|Belfius":{countryCodes:["be"],tags:{amenity:"bank",brand:"Belfius","brand:wikidata":"Q1956014","brand:wikipedia":"en:Belfius",name:"Belfius"}},"amenity/bank|Bendigo Bank":{countryCodes:["au"],tags:{amenity:"bank",brand:"Bendigo Bank","brand:wikidata":"Q4887077","brand:wikipedia":"en:Bendigo and Adelaide Bank",name:"Bendigo Bank"}},"amenity/bank|Berliner Volksbank":{countryCodes:["de"],tags:{amenity:"bank",brand:"Berliner Volksbank","brand:wikidata":"Q821855","brand:wikipedia":"de:Berliner Volksbank",name:"Berliner Volksbank"}},"amenity/bank|Bicentenario":{countryCodes:["ve"],tags:{amenity:"bank",brand:"Bicentenario","brand:wikidata":"Q5728123","brand:wikipedia":"es:Bicentenario Banco Universal",name:"Bicentenario"}},"amenity/bank|Bicici":{countryCodes:["ci"],matchNames:["agence bicici"],tags:{amenity:"bank",brand:"Bicici","brand:wikidata":"Q1667302","brand:wikipedia":"fr:Banque internationale pour le commerce et l'industrie de la Côte d'Ivoire",name:"Bicici"}},"amenity/bank|Bradesco":{countryCodes:["br"],matchNames:["banco bradesco"],tags:{amenity:"bank",brand:"Bradesco","brand:wikidata":"Q806181","brand:wikipedia":"en:Banco Bradesco",name:"Bradesco"}},"amenity/bank|Budapest Bank":{countryCodes:["hu"],tags:{amenity:"bank",brand:"Budapest Bank","brand:wikidata":"Q27493463","brand:wikipedia":"en:Budapest Bank",name:"Budapest Bank"}},"amenity/bank|CBAO":{countryCodes:["sn"],tags:{amenity:"bank",brand:"CBAO","brand:wikidata":"Q532104","brand:wikipedia":"fr:CBAO Groupe Attijariwafa bank",name:"CBAO"}},"amenity/bank|CEC Bank":{countryCodes:["ro"],tags:{amenity:"bank",brand:"CEC Bank","brand:wikidata":"Q1023306","brand:wikipedia":"en:CEC Bank",name:"CEC Bank"}},"amenity/bank|CIB Bank":{tags:{amenity:"bank",brand:"CIB Bank","brand:wikidata":"Q839566","brand:wikipedia":"en:CIB Bank",name:"CIB Bank"}},"amenity/bank|CIBC":{countryCodes:["ca"],matchNames:["cibc banking centre"],tags:{amenity:"bank",brand:"CIBC","brand:wikidata":"Q666694","brand:wikipedia":"en:Canadian Imperial Bank of Commerce",name:"CIBC"}},"amenity/bank|CIC":{countryCodes:["fr"],tags:{amenity:"bank",brand:"CIC","brand:wikidata":"Q746525","brand:wikipedia":"en:Crédit Industriel et Commercial",name:"CIC"}},"amenity/bank|CIH Bank":{countryCodes:["ma"],tags:{amenity:"bank",brand:"CIH Bank","brand:wikidata":"Q3006220","brand:wikipedia":"en:CIH Bank",name:"CIH Bank"}},"amenity/bank|CIMB Bank":{countryCodes:["my"],tags:{amenity:"bank",brand:"CIMB Bank","brand:wikidata":"Q3045976","brand:wikipedia":"en:CIMB",name:"CIMB Bank"}},"amenity/bank|CIMB Niaga":{countryCodes:["id"],tags:{amenity:"bank",brand:"CIMB Niaga","brand:wikidata":"Q5011747","brand:wikipedia":"en:CIMB Niaga",name:"CIMB Niaga"}},"amenity/bank|CNEP":{countryCodes:["dz"],tags:{amenity:"bank",brand:"CNEP","brand:wikidata":"Q2931752","brand:wikipedia":"fr:CNEP-Banque",name:"CNEP"}},"amenity/bank|CRDB Bank":{countryCodes:["tz"],tags:{amenity:"bank",brand:"CRDB Bank","brand:wikidata":"Q5013848","brand:wikipedia":"en:CRDB Bank",name:"CRDB Bank"}},"amenity/bank|Caisse Desjardins":{countryCodes:["ca"],tags:{amenity:"bank",brand:"Caisse Desjardins","brand:wikidata":"Q2933350","brand:wikipedia":"en:Desjardins Group",name:"Caisse Desjardins"}},"amenity/bank|Caisse d'Épargne":{tags:{amenity:"bank",brand:"Caisse d'Épargne","brand:wikidata":"Q1547738","brand:wikipedia":"en:Groupe Caisse d'Épargne",name:"Caisse d'Épargne"}},"amenity/bank|Caixa Econômica Federal~(Brazil)":{countryCodes:["br"],matchNames:["caixa","caixabank"],nomatch:["amenity/bank|Caixabank~(Spain)"],tags:{amenity:"bank",brand:"Caixa Econômica Federal","brand:wikidata":"Q835283","brand:wikipedia":"pt:Caixa Econômica Federal",name:"Caixa Econômica Federal"}},"amenity/bank|Caixa Geral de Depósitos":{countryCodes:["es","fr","pt"],tags:{amenity:"bank",brand:"Caixa Geral de Depósitos","brand:wikidata":"Q1026044","brand:wikipedia":"pt:Caixa Geral de Depósitos",name:"Caixa Geral de Depósitos"}},"amenity/bank|Caixabank~(Spain)":{countryCodes:["es"],nomatch:["amenity/bank|Caixa Econômica Federal~(Brazil)"],tags:{amenity:"bank",brand:"Caixabank","brand:wikidata":"Q847225","brand:wikipedia":"en:CaixaBank",name:"Caixabank"}},"amenity/bank|Caja Duero":{countryCodes:["es"],tags:{amenity:"bank",brand:"Caja Duero","brand:wikidata":"Q3821055","brand:wikipedia":"es:Caja Duero",name:"Caja Duero"}},"amenity/bank|Caja España":{countryCodes:["es"],tags:{amenity:"bank",brand:"Caja España","brand:wikidata":"Q966985","brand:wikipedia":"es:Caja España",name:"Caja España"}},"amenity/bank|Caja Rural":{countryCodes:["es"],tags:{amenity:"bank",brand:"Caja Rural","brand:wikidata":"Q3649971","brand:wikipedia":"es:Caja Rural",name:"Caja Rural"}},"amenity/bank|Caja Rural de Jaén":{countryCodes:["es"],tags:{amenity:"bank",brand:"Caja Rural de Jaén","brand:wikidata":"Q18720350","brand:wikipedia":"es:Caja Rural de Jaén",name:"Caja Rural de Jaén"}},"amenity/bank|CajaSur":{countryCodes:["es"],tags:{amenity:"bank",brand:"CajaSur","brand:wikidata":"Q3751637","brand:wikipedia":"en:CajaSur",name:"CajaSur"}},"amenity/bank|Cajamar":{countryCodes:["es"],tags:{amenity:"bank",brand:"Cajamar","brand:wikidata":"Q8254971","brand:wikipedia":"es:Cajamar",name:"Cajamar"}},"amenity/bank|California Coast Credit Union":{countryCodes:["us"],tags:{amenity:"bank",brand:"California Coast Credit Union","brand:wikidata":"Q25025281","brand:wikipedia":"en:California Coast Credit Union",name:"California Coast Credit Union"}},"amenity/bank|Canara Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Canara Bank","brand:wikidata":"Q2003777","brand:wikipedia":"en:Canara Bank",name:"Canara Bank"}},"amenity/bank|Capital Bank":{tags:{amenity:"bank",brand:"Capital Bank","brand:wikidata":"Q5035481","brand:wikipedia":"en:Capital Bank Financial",name:"Capital Bank"}},"amenity/bank|Capital One":{countryCodes:["us"],matchNames:["capital one bank"],tags:{amenity:"bank",brand:"Capital One","brand:wikidata":"Q1034654","brand:wikipedia":"en:Capital One",name:"Capital One"}},"amenity/bank|Carige":{countryCodes:["it"],tags:{amenity:"bank",brand:"Carige","brand:wikidata":"Q3633695","brand:wikipedia":"en:Banca Carige",name:"Carige"}},"amenity/bank|Cariparma":{countryCodes:["it"],tags:{amenity:"bank",brand:"Cariparma","brand:wikidata":"Q2938832","brand:wikipedia":"en:Crédit Agricole Italia",name:"Cariparma"}},"amenity/bank|Carisbo":{countryCodes:["it"],tags:{amenity:"bank",brand:"Carisbo","brand:wikidata":"Q3661937","brand:wikipedia":"en:Cassa di Risparmio in Bologna",name:"Carisbo"}},"amenity/bank|Cassa di Risparmio del Veneto":{countryCodes:["it"],tags:{amenity:"bank",brand:"Cassa di Risparmio del Veneto","brand:wikidata":"Q3661909","brand:wikipedia":"en:Cassa di Risparmio del Veneto",name:"Cassa di Risparmio del Veneto"}},"amenity/bank|CatalunyaCaixa":{countryCodes:["es"],tags:{amenity:"bank",brand:"CatalunyaCaixa","brand:wikidata":"Q3750952","brand:wikipedia":"en:CatalunyaCaixa",name:"CatalunyaCaixa"}},"amenity/bank|Cathay Bank":{countryCodes:["cn","tw","us"],tags:{amenity:"bank",brand:"Cathay Bank","brand:wikidata":"Q4189507","brand:wikipedia":"en:Cathay Bank",name:"Cathay Bank"}},"amenity/bank|Central Bank":{tags:{amenity:"bank",brand:"Central Bank",name:"Central Bank"}},"amenity/bank|Central Bank of India":{countryCodes:["in"],tags:{amenity:"bank",brand:"Central Bank of India","brand:wikidata":"Q2007090","brand:wikipedia":"en:Central Bank of India",name:"Central Bank of India"}},"amenity/bank|Chase":{matchNames:["chase bank"],tags:{amenity:"bank",brand:"Chase","brand:wikidata":"Q524629","brand:wikipedia":"en:Chase Bank",name:"Chase"}},"amenity/bank|China Bank":{tags:{amenity:"bank",brand:"China Bank","brand:wikidata":"Q5100080","brand:wikipedia":"en:Chinabank",name:"China Bank"}},"amenity/bank|China Bank Savings":{countryCodes:["ph"],tags:{amenity:"bank",brand:"China Bank Savings","brand:wikidata":"Q18387359","brand:wikipedia":"en:China Bank Savings",name:"China Bank Savings"}},"amenity/bank|China Construction Bank":{tags:{amenity:"bank",brand:"China Construction Bank","brand:wikidata":"Q26299","brand:wikipedia":"en:China Construction Bank",name:"China Construction Bank"}},"amenity/bank|Citibank":{tags:{amenity:"bank",brand:"Citibank","brand:wikidata":"Q857063","brand:wikipedia":"en:Citibank",name:"Citibank",short_name:"Citi"}},"amenity/bank|Citizens Bank~(Eastern USA)":{countryCodes:["us"],tags:{amenity:"bank",brand:"Citizens Bank","brand:wikidata":"Q5122694","brand:wikipedia":"en:Citizens Financial Group",name:"Citizens Bank",short_name:"Citizens"}},"amenity/bank|Citizens Bank~(Kentucky)":{countryCodes:["us"],tags:{alt_name:"Citizens Bank of Kentucky",amenity:"bank",brand:"Citizens Bank","brand:wikidata":"Q5122711","brand:wikipedia":"en:Citizens National Bank (Eastern Kentucky)",name:"Citizens Bank",official_name:"Citizens National Bank",short_name:"Citizens"}},"amenity/bank|Citizens Bank~(Nepal)":{countryCodes:["np"],tags:{amenity:"bank",brand:"Citizens Bank International","brand:wikidata":"Q13186934","brand:wikipedia":"en:Citizens Bank International",name:"Citizens Bank",official_name:"Citizens Bank International Ltd.",short_name:"Citizens"}},"amenity/bank|City National Bank~(California)":{countryCodes:["us"],tags:{amenity:"bank",brand:"City National Bank","brand:wikidata":"Q5123314","brand:wikipedia":"en:City National Bank (California)",name:"City National Bank"}},"amenity/bank|City National Bank~(Florida)":{countryCodes:["us"],tags:{amenity:"bank",brand:"City National Bank","brand:wikidata":"Q16958644","brand:wikipedia":"en:City National Bank of Florida",name:"City National Bank",official_name:"City National Bank of Florida"}},"amenity/bank|Clydesdale Bank":{countryCodes:["gb"],tags:{amenity:"bank",brand:"Clydesdale Bank","brand:wikidata":"Q971680","brand:wikipedia":"en:Clydesdale Bank",name:"Clydesdale Bank"}},"amenity/bank|Coast Capital Savings":{countryCodes:["ca"],matchNames:["coast capital","coast capital savings credit union"],tags:{amenity:"bank",brand:"Coast Capital Savings","brand:wikidata":"Q5138088","brand:wikipedia":"en:Coast Capital Savings",name:"Coast Capital Savings",official_name:"Coast Capital Savings Federal Credit Union"}},"amenity/bank|Columbia Bank~(New Jersey)":{countryCodes:["us"],nomatch:["amenity/bank|Columbia Bank~(Washington)","shop/clothes|Columbia"],tags:{amenity:"bank",brand:"Columbia Bank","brand:wikidata":"Q62084096",name:"Columbia Bank"}},"amenity/bank|Columbia Bank~(Washington)":{countryCodes:["us"],nomatch:["amenity/bank|Columbia Bank~(New Jersey)","shop/clothes|Columbia"],tags:{amenity:"bank",brand:"Columbia Bank","brand:wikidata":"Q62084089",name:"Columbia Bank"}},"amenity/bank|Comerica Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Comerica Bank","brand:wikidata":"Q1114148","brand:wikipedia":"en:Comerica",name:"Comerica Bank"}},"amenity/bank|Commerce Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Commerce Bank",name:"Commerce Bank"}},"amenity/bank|Commercial Bank":{tags:{amenity:"bank",brand:"Commercial Bank",name:"Commercial Bank"}},"amenity/bank|Commercial Bank of Ceylon PLC":{countryCodes:["lk"],tags:{amenity:"bank",brand:"Commercial Bank of Ceylon PLC","brand:wikidata":"Q5152468","brand:wikipedia":"en:Commercial Bank of Ceylon",name:"Commercial Bank of Ceylon PLC"}},"amenity/bank|Commerzbank":{countryCodes:["de"],tags:{amenity:"bank",brand:"Commerzbank","brand:wikidata":"Q157617","brand:wikipedia":"en:Commerzbank",name:"Commerzbank"}},"amenity/bank|Commonwealth Bank":{tags:{amenity:"bank",brand:"Commonwealth Bank","brand:wikidata":"Q285328","brand:wikipedia":"en:Commonwealth Bank",name:"Commonwealth Bank"}},"amenity/bank|Community Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Community Bank","brand:wikidata":"Q5154635","brand:wikipedia":"en:Community Bank, N.A.",name:"Community Bank"}},"amenity/bank|Corporation Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Corporation Bank","brand:wikidata":"Q2003387","brand:wikipedia":"en:Corporation Bank",name:"Corporation Bank"}},"amenity/bank|Credem":{countryCodes:["it"],tags:{amenity:"bank",brand:"Credem","brand:wikidata":"Q3696881","brand:wikipedia":"en:Credito Emiliano",name:"Credem"}},"amenity/bank|Credicoop":{countryCodes:["ar"],tags:{amenity:"bank",brand:"Credicoop","brand:wikidata":"Q4854086","brand:wikipedia":"en:Banco Credicoop",name:"Credicoop"}},"amenity/bank|Credit Suisse":{countryCodes:["ch"],tags:{amenity:"bank",brand:"Credit Suisse","brand:wikidata":"Q372657","brand:wikipedia":"en:Credit Suisse",name:"Credit Suisse"}},"amenity/bank|Credito Valtellinese":{countryCodes:["it"],tags:{amenity:"bank",brand:"Credito Valtellinese","brand:wikidata":"Q3696888","brand:wikipedia":"en:Credito Valtellinese",name:"Credito Valtellinese"}},"amenity/bank|Crelan":{countryCodes:["be"],tags:{amenity:"bank",brand:"Crelan","brand:wikidata":"Q389872","brand:wikipedia":"en:Crelan",name:"Crelan"}},"amenity/bank|Crédit Agricole":{tags:{amenity:"bank",brand:"Crédit Agricole","brand:wikidata":"Q590952","brand:wikipedia":"fr:Crédit agricole",name:"Crédit Agricole"}},"amenity/bank|Crédit Maritime":{countryCodes:["fr"],tags:{amenity:"bank",brand:"Crédit Maritime","brand:wikidata":"Q17176866","brand:wikipedia":"fr:Crédit maritime",name:"Crédit Maritime"}},"amenity/bank|Crédit Mutuel":{tags:{amenity:"bank",brand:"Crédit Mutuel","brand:wikidata":"Q642627","brand:wikipedia":"en:Crédit Mutuel",name:"Crédit Mutuel"}},"amenity/bank|Crédit Mutuel de Bretagne":{countryCodes:["fr"],tags:{amenity:"bank",brand:"Crédit Mutuel de Bretagne","brand:wikidata":"Q3006236","brand:wikipedia":"fr:Crédit mutuel Arkéa",name:"Crédit Mutuel de Bretagne"}},"amenity/bank|Crédit du Nord":{countryCodes:["fr"],tags:{amenity:"bank",brand:"Crédit du Nord","brand:wikidata":"Q3006209","brand:wikipedia":"en:Crédit du Nord",name:"Crédit du Nord"}},"amenity/bank|Crédito Agrícola":{countryCodes:["pt"],tags:{amenity:"bank",brand:"Crédito Agrícola","brand:wikidata":"Q10262017","brand:wikipedia":"pt:Crédito Agrícola",name:"Crédito Agrícola"}},"amenity/bank|Danske Bank":{countryCodes:["dk","fi","gb","lt","no","se"],tags:{amenity:"bank",brand:"Danske Bank","brand:wikidata":"Q1636974","brand:wikipedia":"en:Danske Bank",name:"Danske Bank"}},"amenity/bank|Davivienda":{tags:{amenity:"bank",brand:"Davivienda","brand:wikidata":"Q5242054","brand:wikipedia":"en:Davivienda",name:"Davivienda"}},"amenity/bank|Denizbank":{tags:{amenity:"bank",brand:"Denizbank","brand:wikidata":"Q1115064","brand:wikipedia":"en:DenizBank",name:"Denizbank"}},"amenity/bank|Desjardins":{countryCodes:["ca"],tags:{amenity:"bank",brand:"Desjardins","brand:wikidata":"Q2933350","brand:wikipedia":"en:Desjardins Group",name:"Desjardins"}},"amenity/bank|Deutsche Bank":{tags:{amenity:"bank",brand:"Deutsche Bank","brand:wikidata":"Q66048","brand:wikipedia":"en:Deutsche Bank",name:"Deutsche Bank"}},"amenity/bank|Dollar Bank":{countryCodes:["us"],nomatch:["amenity/car_rental|Dollar","shop/variety_store|Dollar General","shop/variety_store|Dollar Tree","shop/variety_store|Dollarama","shop/variety_store|Family Dollar"],tags:{amenity:"bank",brand:"Dollar Bank","brand:wikidata":"Q5289205","brand:wikipedia":"en:Dollar Bank",name:"Dollar Bank"}},"amenity/bank|Dubai Islamic Bank":{tags:{amenity:"bank",brand:"Dubai Islamic Bank","brand:wikidata":"Q5310570","brand:wikipedia":"en:Dubai Islamic Bank",name:"Dubai Islamic Bank"}},"amenity/bank|EastWest Unibank":{countryCodes:["ph"],matchNames:["eastwest bank"],tags:{amenity:"bank",brand:"EastWest Unibank","brand:wikidata":"Q5327595","brand:wikipedia":"en:EastWest Bank",name:"EastWest Unibank"}},"amenity/bank|Ecobank":{matchNames:["agence ecobank"],tags:{amenity:"bank",brand:"Ecobank","brand:wikidata":"Q930225","brand:wikipedia":"en:Ecobank",name:"Ecobank"}},"amenity/bank|Emigrant Savings Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Emigrant Savings Bank","brand:wikidata":"Q5371104","brand:wikipedia":"en:Emigrant Savings Bank",name:"Emigrant Savings Bank"}},"amenity/bank|Emirates NBD":{countryCodes:["ae"],tags:{amenity:"bank",brand:"Emirates NBD","brand:wikidata":"Q5372575","brand:wikipedia":"en:Emirates NBD",name:"Emirates NBD"}},"amenity/bank|Equity Bank~(Congo)":{countryCodes:["cd"],tags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q21178738","brand:wikipedia":"en:Equity Bank Congo",name:"Equity Bank"}},"amenity/bank|Equity Bank~(Kenya)":{countryCodes:["ke"],tags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q5384664","brand:wikipedia":"en:Equity Bank Kenya Limited",name:"Equity Bank"}},"amenity/bank|Equity Bank~(Rwanda)":{countryCodes:["rw"],tags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q5384665","brand:wikipedia":"en:Equity Bank Rwanda Limited",name:"Equity Bank"}},"amenity/bank|Equity Bank~(South Sudan)":{countryCodes:["ss"],tags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q5384666","brand:wikipedia":"en:Equity Bank South Sudan Limited",name:"Equity Bank"}},"amenity/bank|Equity Bank~(Tanzania)":{countryCodes:["tz"],tags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q5384667","brand:wikipedia":"en:Equity Bank Tanzania Limited",name:"Equity Bank"}},"amenity/bank|Equity Bank~(USA)":{countryCodes:["us"],tags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q62260414","brand:wikipedia":"en:Equity Bank USA",name:"Equity Bank"}},"amenity/bank|Equity Bank~(Uganda)":{countryCodes:["ug"],tags:{amenity:"bank",brand:"Equity Bank","brand:wikidata":"Q5384668","brand:wikipedia":"en:Equity Bank Uganda Limited",name:"Equity Bank"}},"amenity/bank|Erste Bank":{countryCodes:["at","hr","hu"],tags:{amenity:"bank",brand:"Erste Bank","brand:wikidata":"Q696867","brand:wikipedia":"de:Erste Bank",name:"Erste Bank"}},"amenity/bank|Eurobank~(Greece)":{countryCodes:["gr"],matchNames:["eurobank ergasias"],tags:{amenity:"bank",brand:"Eurobank","brand:wikidata":"Q951850","brand:wikipedia":"el:Eurobank",name:"Eurobank"}},"amenity/bank|Eurobank~(Poland)":{countryCodes:["pl"],tags:{amenity:"bank",brand:"Eurobank","brand:wikidata":"Q9256201","brand:wikipedia":"pl:Euro Bank",name:"Eurobank"}},"amenity/bank|Eurobank~(Serbia)":{countryCodes:["rs"],tags:{amenity:"bank",brand:"Eurobank","brand:wikidata":"Q5411684","brand:wikipedia":"sr:Eurobanka",name:"Eurobank"}},"amenity/bank|FNB~(South Africa)":{countryCodes:["bw","mz","na","us","za","zm"],tags:{amenity:"bank",brand:"FNB","brand:wikidata":"Q3072956","brand:wikipedia":"en:First National Bank (South Africa)",name:"FNB",official_name:"First National Bank"}},"amenity/bank|Faysal Bank":{countryCodes:["pk"],tags:{amenity:"bank",brand:"Faysal Bank","brand:wikidata":"Q5439099","brand:wikipedia":"en:Faysal Bank",name:"Faysal Bank"}},"amenity/bank|Federal Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Federal Bank","brand:wikidata":"Q2044983","brand:wikipedia":"en:Federal Bank",name:"Federal Bank"}},"amenity/bank|Fidelity Bank~(Ghana)":{countryCodes:["gh"],tags:{amenity:"bank",brand:"Fidelity Bank","brand:wikidata":"Q5446778","brand:wikipedia":"en:Fidelity Bank Ghana",name:"Fidelity Bank"}},"amenity/bank|Fidelity Bank~(Nigeria)":{countryCodes:["ng"],tags:{amenity:"bank",brand:"Fidelity Bank","brand:wikidata":"Q5446777","brand:wikipedia":"en:Fidelity Bank Nigeria",name:"Fidelity Bank"}},"amenity/bank|Fidelity Bank~(USA)":{countryCodes:["us"],tags:{amenity:"bank",brand:"Fidelity Bank","brand:wikidata":"Q1411292","brand:wikipedia":"en:Fidelity Investments",name:"Fidelity Bank"}},"amenity/bank|Fifth Third Bank":{countryCodes:["us"],matchNames:["5/3"],tags:{amenity:"bank",brand:"Fifth Third Bank","brand:wikidata":"Q1411810","brand:wikipedia":"en:Fifth Third Bank",name:"Fifth Third Bank",short_name:"5/3 Bank"}},"amenity/bank|Finansbank":{countryCodes:["tr"],tags:{amenity:"bank",brand:"Finansbank","brand:wikidata":"Q1416237","brand:wikipedia":"en:Finansbank",name:"Finansbank"}},"amenity/bank|First Bank~(North and South Carolina)":{countryCodes:["us"],matchNames:["1st bancorp","1st bank","first bancorp"],tags:{amenity:"bank",brand:"First Bank","brand:wikidata":"Q5452332","brand:wikipedia":"en:First Bancorp",name:"First Bank"}},"amenity/bank|First Bank~(Puerto Rico)":{countryCodes:["us"],matchNames:["1st bancorp","1st bank","first bancorp"],tags:{amenity:"bank",brand:"First Bank","brand:wikidata":"Q5452333","brand:wikipedia":"en:First BanCorp",name:"First Bank"}},"amenity/bank|First Bank~(Western USA)":{countryCodes:["us"],matchNames:["1st bank"],tags:{amenity:"bank",brand:"First Bank","brand:wikidata":"Q5452217","brand:wikipedia":"en:FirstBank Holding Co",name:"First Bank",short_name:"1STBank"}},"amenity/bank|First Citizens Bank~(Trinidad and Tobago)":{countryCodes:["bb","tt"],matchNames:["1st citizens bank"],tags:{amenity:"bank",brand:"First Citizens Bank","brand:wikidata":"Q5452734","brand:wikipedia":"en:First Citizens Bank (Trinidad and Tobago)",name:"First Citizens Bank"}},"amenity/bank|First Citizens Bank~(USA)":{countryCodes:["us"],matchNames:["1st citizens bank"],tags:{amenity:"bank",brand:"First Citizens Bank","brand:wikidata":"Q5452733","brand:wikipedia":"en:First Citizens BancShares",name:"First Citizens Bank"}},"amenity/bank|First Financial Bank":{countryCodes:["us"],matchNames:["1st financial bank"],tags:{amenity:"bank",brand:"First Financial Bank","brand:wikidata":"Q5453009","brand:wikipedia":"en:First Financial Bank (Ohio)",name:"First Financial Bank"}},"amenity/bank|First Interstate Bank":{countryCodes:["us"],matchNames:["1st interstate","1st interstate bancsystem","1st interstate bank","first interstate","first interstate bancsystem"],tags:{amenity:"bank",brand:"First Interstate BancSystem","brand:wikidata":"Q5453107","brand:wikipedia":"en:First Interstate BancSystem",name:"First Interstate Bank"}},"amenity/bank|First Midwest Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"First Midwest Bank","brand:wikidata":"Q5453331","brand:wikipedia":"en:First Midwest Bank",name:"First Midwest Bank"}},"amenity/bank|First National Bank~(USA)":{countryCodes:["us"],tags:{amenity:"bank",brand:"First National Bank","brand:wikidata":"Q5426765","brand:wikipedia":"en:F.N.B. Corporation",name:"First National Bank"}},"amenity/bank|First State Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"First State Bank",name:"First State Bank"}},"amenity/bank|First West Credit Union":{countryCodes:["ca"],tags:{alt_name:"First West",amenity:"bank",brand:"First West Credit Union","brand:wikidata":"Q5454073","brand:wikipedia":"en:First West Credit Union",name:"First West Credit Union"}},"amenity/bank|Frost Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Frost Bank","brand:wikidata":"Q5506152","brand:wikipedia":"en:Frost Bank",name:"Frost Bank"}},"amenity/bank|Fulton Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Fulton Bank","brand:wikidata":"Q16976594",name:"Fulton Bank"}},"amenity/bank|GCB Bank":{countryCodes:["gh"],tags:{amenity:"bank",brand:"GCB Bank","brand:wikidata":"Q1521346","brand:wikipedia":"en:GCB Bank",name:"GCB Bank"}},"amenity/bank|Galicia":{countryCodes:["ar"],tags:{amenity:"bank",brand:"Galicia","brand:wikidata":"Q5717952","brand:wikipedia":"es:Banco Galicia",name:"Galicia"}},"amenity/bank|Garanti":{countryCodes:["tr"],tags:{amenity:"bank",brand:"Garanti","brand:wikidata":"Q322962","brand:wikipedia":"en:Garanti Bank",name:"Garanti"}},"amenity/bank|Garanti Bankası":{tags:{amenity:"bank",brand:"Garanti Bankası","brand:wikidata":"Q322962","brand:wikipedia":"en:Garanti Bank",name:"Garanti Bankası"}},"amenity/bank|Getin Bank":{countryCodes:["pl"],tags:{amenity:"bank",brand:"Getin Bank","brand:wikidata":"Q9267646","brand:wikipedia":"pl:Getin Bank",name:"Getin Bank"}},"amenity/bank|Golden 1 Credit Union":{countryCodes:["us"],matchNames:["golden 1","golden one","golden one credit union","the golden 1 credit union","the golden one credit union"],tags:{amenity:"bank",brand:"Golden 1 Credit Union","brand:wikidata":"Q7736976","brand:wikipedia":"en:Golden 1 Credit Union",name:"Golden 1 Credit Union"}},"amenity/bank|Great Western Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Great Western Bank","brand:wikidata":"Q5600185","brand:wikipedia":"en:Great Western Bank (1907–present)",name:"Great Western Bank"}},"amenity/bank|Groupama":{tags:{amenity:"bank",brand:"Groupama","brand:wikidata":"Q3083531","brand:wikipedia":"en:Groupama",name:"Groupama"}},"amenity/bank|HBL Bank":{countryCodes:["pk"],matchNames:["hbl"],tags:{amenity:"bank",brand:"HBL Bank","brand:wikidata":"Q1566843","brand:wikipedia":"ur:ایچ بی ایل پاکستان",name:"HBL Bank"}},"amenity/bank|HDFC Bank":{tags:{amenity:"bank",brand:"HDFC Bank","brand:wikidata":"Q631047","brand:wikipedia":"en:HDFC Bank",name:"HDFC Bank"}},"amenity/bank|HNB":{tags:{amenity:"bank",brand:"HNB","brand:wikidata":"Q3532080","brand:wikipedia":"en:Hatton National Bank",name:"HNB"}},"amenity/bank|HSBC UK~(UK)":{countryCodes:["gb"],tags:{amenity:"bank",brand:"HSBC UK","brand:wikidata":"Q64767453",name:"HSBC UK"}},"amenity/bank|HSBC~(Global)":{tags:{amenity:"bank",brand:"HSBC","brand:wikidata":"Q190464","brand:wikipedia":"en:HSBC",name:"HSBC"}},"amenity/bank|Halifax":{countryCodes:["gb"],tags:{amenity:"bank",brand:"Halifax","brand:wikidata":"Q3310164","brand:wikipedia":"en:Halifax (bank)",name:"Halifax"}},"amenity/bank|Halkbank":{tags:{amenity:"bank",brand:"Halkbank","brand:wikidata":"Q3593818","brand:wikipedia":"en:Halkbank a.d.",name:"Halkbank"}},"amenity/bank|Handelsbanken":{countryCodes:["dk","fi","gb","no","se"],tags:{amenity:"bank",brand:"Handelsbanken","brand:wikidata":"Q1421630","brand:wikipedia":"en:Handelsbanken",name:"Handelsbanken"}},"amenity/bank|Heritage Bank":{tags:{amenity:"bank",brand:"Heritage Bank","brand:wikidata":"Q5738690","brand:wikipedia":"en:Heritage Bank",name:"Heritage Bank"}},"amenity/bank|Hong Leong Bank":{countryCodes:["my"],tags:{amenity:"bank",brand:"Hong Leong Bank","brand:wikidata":"Q4383943","brand:wikipedia":"en:Hong Leong Bank",name:"Hong Leong Bank"}},"amenity/bank|Hrvatska poštanska banka":{countryCodes:["hr"],tags:{amenity:"bank",brand:"Hrvatska poštanska banka","brand:wikidata":"Q5923981","brand:wikipedia":"en:Hrvatska poštanska banka",name:"Hrvatska poštanska banka"}},"amenity/bank|Huntington Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Huntington Bank","brand:wikidata":"Q798819","brand:wikipedia":"en:Huntington Bancshares",name:"Huntington Bank"}},"amenity/bank|HypoVereinsbank":{countryCodes:["de"],tags:{amenity:"bank",brand:"HypoVereinsbank","brand:wikidata":"Q220189","brand:wikipedia":"en:HypoVereinsbank",name:"HypoVereinsbank"}},"amenity/bank|ICBC":{tags:{amenity:"bank",brand:"ICBC","brand:wikidata":"Q26463","brand:wikipedia":"en:Industrial and Commercial Bank of China",name:"ICBC"}},"amenity/bank|ICICI Bank":{countryCodes:["ca","gb","in"],tags:{amenity:"bank",brand:"ICICI Bank","brand:wikidata":"Q1653258","brand:wikipedia":"en:ICICI Bank",name:"ICICI Bank"}},"amenity/bank|IDBI Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"IDBI Bank","brand:wikidata":"Q3633485","brand:wikipedia":"en:IDBI Bank",name:"IDBI Bank"}},"amenity/bank|ING":{matchNames:["ing bank"],tags:{amenity:"bank",brand:"ING","brand:wikidata":"Q645708","brand:wikipedia":"en:ING Group",name:"ING"}},"amenity/bank|ING Bank Śląski":{countryCodes:["pl"],tags:{amenity:"bank",brand:"ING Bank Śląski","brand:wikidata":"Q1410383","brand:wikipedia":"pl:ING Bank Śląski",name:"ING Bank Śląski"}},"amenity/bank|Ibercaja":{countryCodes:["es"],tags:{amenity:"bank",brand:"Ibercaja","brand:wikidata":"Q5907815","brand:wikipedia":"es:Ibercaja",name:"Ibercaja"}},"amenity/bank|Indian Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Indian Bank","brand:wikidata":"Q2003789","brand:wikipedia":"en:Indian Bank",name:"Indian Bank"}},"amenity/bank|Indian Overseas Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Indian Overseas Bank","brand:wikidata":"Q2003611","brand:wikipedia":"en:Indian Overseas Bank",name:"Indian Overseas Bank"}},"amenity/bank|Interbank":{nomatch:["amenity/bank|Bankinter"],tags:{amenity:"bank",brand:"Interbank","brand:wikidata":"Q2835558","brand:wikipedia":"es:Banco Interbank",name:"Interbank"}},"amenity/bank|Intesa Sanpaolo":{tags:{amenity:"bank",brand:"Intesa Sanpaolo","brand:wikidata":"Q1343118","brand:wikipedia":"it:Intesa Sanpaolo",name:"Intesa Sanpaolo"}},"amenity/bank|Investors Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Investors Bank","brand:wikidata":"Q15109896","brand:wikipedia":"en:Investors Bank",name:"Investors Bank"}},"amenity/bank|Itaú~(Brazil)":{countryCodes:["br"],matchNames:["banco itau"],nomatch:["amenity/bank|Itaú~(Brazil)"],tags:{amenity:"bank",brand:"Itaú Unibanco","brand:wikidata":"Q1424293","brand:wikipedia":"pt:Itaú Unibanco",name:"Itaú"}},"amenity/bank|Itaú~(Chile)":{countryCodes:["cl"],matchNames:["banco itau"],nomatch:["amenity/bank|Itaú~(Chile)"],tags:{amenity:"bank",brand:"Itaú Corpbanca","brand:wikidata":"Q2423252","brand:wikipedia":"en:Itaú Corpbanca",name:"Itaú"}},"amenity/bank|JS Bank":{countryCodes:["pk"],tags:{amenity:"bank",brand:"JS Bank","brand:wikidata":"Q6108986","brand:wikipedia":"en:JS Bank",name:"JS Bank"}},"amenity/bank|Janata Bank Limited জনতা ব্যাংক লিমিটেড":{tags:{amenity:"bank",brand:"জনতা ব্যাংক লিমিটেড","brand:bn":"জনতা ব্যাংক লিমিটেড","brand:en":"Janata Bank Limited","brand:wikidata":"Q3347028","brand:wikipedia":"en:Janata Bank",name:"জনতা ব্যাংক লিমিটেড","name:bn":"জনতা ব্যাংক লিমিটেড","name:en":"Janata Bank Limited"}},"amenity/bank|Jyske Bank":{countryCodes:["dk"],tags:{amenity:"bank",brand:"Jyske Bank","brand:wikidata":"Q136672","brand:wikipedia":"en:Jyske Bank",name:"Jyske Bank"}},"amenity/bank|K&H Bank":{countryCodes:["hu"],tags:{amenity:"bank",brand:"K&H Bank","brand:wikidata":"Q6393834","brand:wikipedia":"en:K&H Bank",name:"K&H Bank"}},"amenity/bank|KBC":{countryCodes:["be","ie"],tags:{amenity:"bank",brand:"KBC","brand:wikidata":"Q941020","brand:wikipedia":"en:KBC Bank",name:"KBC"}},"amenity/bank|KBZ Bank":{countryCodes:["mm"],tags:{amenity:"bank",brand:"KBZ Bank","brand:wikidata":"Q6360949","brand:wikipedia":"en:Kanbawza Bank",name:"KBZ Bank"}},"amenity/bank|Karnataka Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Karnataka Bank","brand:wikidata":"Q2042632","brand:wikipedia":"en:Karnataka Bank",name:"Karnataka Bank"}},"amenity/bank|Kasa Stefczyka":{countryCodes:["pl"],tags:{amenity:"bank",brand:"Kasa Stefczyka","brand:wikidata":"Q57624461",name:"Kasa Stefczyka"}},"amenity/bank|KeyBank":{countryCodes:["us"],tags:{amenity:"bank",brand:"KeyBank","brand:wikidata":"Q1740314","brand:wikipedia":"en:KeyBank",name:"KeyBank"}},"amenity/bank|Komerční banka":{countryCodes:["cz"],tags:{amenity:"bank",brand:"Komerční banka","brand:wikidata":"Q1541079","brand:wikipedia":"en:Komerční banka",name:"Komerční banka"}},"amenity/bank|Kotak Mahindra Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Kotak Mahindra Bank","brand:wikidata":"Q2040404","brand:wikipedia":"en:Kotak Mahindra Bank",name:"Kotak Mahindra Bank"}},"amenity/bank|Kutxabank":{countryCodes:["es"],tags:{amenity:"bank",brand:"Kutxabank","brand:wikidata":"Q5139377","brand:wikipedia":"en:Kutxabank",name:"Kutxabank"}},"amenity/bank|Kuveyt Türk":{countryCodes:["tr"],tags:{amenity:"bank",brand:"Kuveyt Türk","brand:wikidata":"Q6036058","brand:wikipedia":"tr:Kuveyt Türk",name:"Kuveyt Türk"}},"amenity/bank|LCL":{countryCodes:["fr"],tags:{amenity:"bank",brand:"LCL","brand:wikidata":"Q779722","brand:wikipedia":"en:Crédit Lyonnais",name:"LCL"}},"amenity/bank|LCNB":{countryCodes:["us"],tags:{alt_name:"Lebanon Citizens National Bank",amenity:"bank",brand:"LCNB","brand:wikidata":"Q65095575",name:"LCNB",official_name:"LCNB National Bank"}},"amenity/bank|La Banque Postale":{countryCodes:["fr"],tags:{amenity:"bank",brand:"La Banque Postale","brand:wikidata":"Q3206431","brand:wikipedia":"en:La Banque postale",name:"La Banque Postale"}},"amenity/bank|La Caixa":{countryCodes:["es"],tags:{amenity:"bank",brand:"La Caixa","brand:wikidata":"Q287753","brand:wikipedia":"en:La Caixa",name:"La Caixa"}},"amenity/bank|Laboral Kutxa":{countryCodes:["es"],tags:{amenity:"bank",brand:"Laboral Kutxa","brand:wikidata":"Q12052386","brand:wikipedia":"en:Laboral Kutxa",name:"Laboral Kutxa"}},"amenity/bank|Lake Michigan Credit Union":{countryCodes:["us"],tags:{amenity:"bank",brand:"Lake Michigan Credit Union","brand:wikidata":"Q6476906","brand:wikipedia":"en:Lake Michigan Credit Union",name:"Lake Michigan Credit Union",short_name:"LMCU"}},"amenity/bank|Landbank":{countryCodes:["ph"],matchNames:["bangko sa lupa ng pilipinas","land bank of the philippines","lbp"],tags:{amenity:"bank",brand:"Landbank","brand:wikidata":"Q6483872","brand:wikipedia":"en:Land Bank of the Philippines",name:"Landbank"}},"amenity/bank|Leeds Building Society":{countryCodes:["gb"],tags:{amenity:"bank",brand:"Leeds Building Society","brand:wikidata":"Q6515848","brand:wikipedia":"en:Leeds Building Society",name:"Leeds Building Society"}},"amenity/bank|Liberbank":{countryCodes:["es"],tags:{amenity:"bank",brand:"Liberbank","brand:wikidata":"Q2891018","brand:wikipedia":"en:Liberbank",name:"Liberbank"}},"amenity/bank|Liberty Bank":{nomatch:["amenity/fuel|Liberty"],tags:{amenity:"bank",brand:"Liberty Bank",name:"Liberty Bank"}},"amenity/bank|Lloyds Bank":{countryCodes:["gb","im"],matchNames:["lloyds","lloyds tsb"],tags:{amenity:"bank",brand:"Lloyds Bank","brand:wikidata":"Q1152847","brand:wikipedia":"en:Lloyds Bank",name:"Lloyds Bank"}},"amenity/bank|M&T Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"M&T Bank","brand:wikidata":"Q3272257","brand:wikipedia":"en:M&T Bank",name:"M&T Bank"}},"amenity/bank|MCB":{matchNames:["mcb bank"],tags:{amenity:"bank",brand:"MCB","brand:wikidata":"Q15982510","brand:wikipedia":"ur:ایم سی بی بینک لمیٹڈ",name:"MCB"}},"amenity/bank|MONETA Money Bank":{countryCodes:["cz"],tags:{amenity:"bank",brand:"MONETA Money Bank","brand:wikidata":"Q24282966","brand:wikipedia":"cs:Moneta Money Bank",name:"MONETA Money Bank"}},"amenity/bank|Macro":{countryCodes:["ar"],tags:{amenity:"bank",brand:"Macro","brand:wikidata":"Q2335199","brand:wikipedia":"en:Banco Macro",name:"Macro"}},"amenity/bank|Maybank":{tags:{amenity:"bank",brand:"Maybank","brand:wikidata":"Q1364018","brand:wikipedia":"en:Maybank",name:"Maybank"}},"amenity/bank|Meezan Bank":{countryCodes:["pk"],tags:{amenity:"bank",brand:"Meezan Bank","brand:wikidata":"Q6807934","brand:wikipedia":"en:Meezan Bank",name:"Meezan Bank"}},"amenity/bank|Mercantil":{tags:{amenity:"bank",brand:"Mercantil","brand:wikidata":"Q6818004","brand:wikipedia":"en:Mercantil Servicios Financieros",name:"Mercantil"}},"amenity/bank|Meridian Credit Union":{countryCodes:["ca"],tags:{alt_name:"Meridian",amenity:"bank",brand:"Meridian Credit Union","brand:wikidata":"Q6819303","brand:wikipedia":"en:Meridian Credit Union",name:"Meridian Credit Union"}},"amenity/bank|Metro Bank~(UK)":{countryCodes:["gb"],nomatch:["amenity/bank|Metrobank~(Philippines)"],tags:{amenity:"bank",brand:"Metro Bank","brand:wikidata":"Q6824499","brand:wikipedia":"en:Metro Bank (United Kingdom)",name:"Metro Bank"}},"amenity/bank|Metrobank~(Philippines)":{countryCodes:["ph"],nomatch:["amenity/bank|Metro Bank~(UK)"],tags:{amenity:"bank",brand:"Metrobank","brand:wikidata":"Q1925799","brand:wikipedia":"en:Metrobank (Philippines)",name:"Metrobank"}},"amenity/bank|Mibanco":{countryCodes:["pe"],tags:{amenity:"bank",brand:"Mibanco","brand:wikidata":"Q5558589","brand:wikipedia":"es:MiBanco",name:"Mibanco"}},"amenity/bank|MidFirst Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"MidFirst Bank","brand:wikidata":"Q17081131","brand:wikipedia":"en:MidFirst Bank",name:"MidFirst Bank"}},"amenity/bank|Millennium Bank":{countryCodes:["pl"],matchNames:["bank millennium"],tags:{amenity:"bank",brand:"Millennium Bank","brand:wikidata":"Q4855947","brand:wikipedia":"pl:Bank Millennium",name:"Millennium Bank"}},"amenity/bank|Millennium bcp":{countryCodes:["pt"],tags:{amenity:"bank",brand:"Millennium bcp","brand:wikidata":"Q118581","brand:wikipedia":"pt:Banco Comercial Português",name:"Millennium bcp",official_name:"Banco Comercial Português","official_name:en":"Portuguese Commercial Bank","official_name:es":"Banco Comercial Português"}},"amenity/bank|Mission Federal Credit Union":{countryCodes:["us"],tags:{amenity:"bank",brand:"Mission Federal Credit Union","brand:wikidata":"Q18345955","brand:wikipedia":"en:Mission Federal Credit Union",name:"Mission Federal Credit Union"}},"amenity/bank|Monte dei Paschi di Siena":{countryCodes:["it"],tags:{amenity:"bank",brand:"Monte dei Paschi di Siena","brand:wikidata":"Q46730","brand:wikipedia":"en:Banca Monte dei Paschi di Siena",name:"Monte dei Paschi di Siena"}},"amenity/bank|Montepio":{countryCodes:["pt"],tags:{amenity:"bank",brand:"Montepio","brand:wikidata":"Q1946091","brand:wikipedia":"en:Montepio (bank)",name:"Montepio"}},"amenity/bank|Mountain America Credit Union":{countryCodes:["us"],tags:{amenity:"bank",brand:"Mountain America Credit Union","brand:wikidata":"Q6924862","brand:wikipedia":"en:Mountain America Credit Union",name:"Mountain America Credit Union"}},"amenity/bank|NAB":{tags:{amenity:"bank",brand:"NAB","brand:wikidata":"Q1430985","brand:wikipedia":"en:National Australia Bank",name:"NAB"}},"amenity/bank|NSB":{countryCodes:["lk"],matchNames:["national savings bank"],tags:{amenity:"bank",brand:"NSB","brand:wikidata":"Q12500189","brand:wikipedia":"en:National Savings Bank (Sri Lanka)",name:"NSB"}},"amenity/bank|NatWest":{countryCodes:["gb","gg"],tags:{amenity:"bank",brand:"NatWest","brand:wikidata":"Q2740021","brand:wikipedia":"en:NatWest",name:"NatWest"}},"amenity/bank|National Bank":{countryCodes:["ca"],tags:{amenity:"bank",brand:"National Bank","brand:wikidata":"Q634298","brand:wikipedia":"en:National Bank of Canada",name:"National Bank",official_name:"National Bank of Canada"}},"amenity/bank|Nationwide":{countryCodes:["gb"],nomatch:["office/insurance|Nationwide"],tags:{amenity:"bank",brand:"Nationwide","brand:wikidata":"Q846735","brand:wikipedia":"en:Nationwide Building Society",name:"Nationwide"}},"amenity/bank|Navy Federal Credit Union":{countryCodes:["us"],tags:{amenity:"bank",brand:"Navy Federal Credit Union","brand:wikidata":"Q6982632","brand:wikipedia":"en:Navy Federal Credit Union",name:"Navy Federal Credit Union"}},"amenity/bank|Nedbank":{tags:{amenity:"bank",brand:"Nedbank","brand:wikidata":"Q2751701","brand:wikipedia":"en:Nedbank",name:"Nedbank"}},"amenity/bank|Nordea":{tags:{amenity:"bank",brand:"Nordea","brand:wikidata":"Q1123823","brand:wikipedia":"en:Nordea",name:"Nordea"}},"amenity/bank|Novo Banco":{countryCodes:["es","pt"],tags:{amenity:"bank",brand:"Novo Banco","brand:wikidata":"Q17488861","brand:wikipedia":"en:Novo Banco",name:"Novo Banco"}},"amenity/bank|OLB":{countryCodes:["de"],tags:{amenity:"bank",brand:"OLB","brand:wikidata":"Q879591","brand:wikipedia":"en:Oldenburgische Landesbank",name:"OLB"}},"amenity/bank|OTP":{matchNames:["otp bank"],tags:{amenity:"bank",brand:"OTP","brand:wikidata":"Q912778","brand:wikipedia":"en:OTP Bank",name:"OTP"}},"amenity/bank|Oberbank":{countryCodes:["at","cz","de","hu"],tags:{amenity:"bank",brand:"Oberbank","brand:wikidata":"Q2009139","brand:wikipedia":"de:Oberbank",name:"Oberbank"}},"amenity/bank|Occidental de Descuento":{countryCodes:["ve"],tags:{amenity:"bank",brand:"Occidental de Descuento","brand:wikidata":"Q4854108","brand:wikipedia":"en:Banco Occidental de Descuento",name:"Occidental de Descuento"}},"amenity/bank|Oldenburgische Landesbank":{countryCodes:["de"],tags:{amenity:"bank",brand:"Oldenburgische Landesbank","brand:wikidata":"Q879591","brand:wikipedia":"en:Oldenburgische Landesbank",name:"Oldenburgische Landesbank"}},"amenity/bank|One Network Bank":{countryCodes:["ph"],tags:{amenity:"bank",brand:"One Network Bank","brand:wikidata":"Q7093019","brand:wikipedia":"en:One Network Bank",name:"One Network Bank"}},"amenity/bank|Oriental":{countryCodes:["us"],tags:{alt_name:"Oriental Bank",amenity:"bank",brand:"Oriental","brand:wikidata":"Q64887002",name:"Oriental"}},"amenity/bank|Oriental Bank of Commerce":{countryCodes:["in"],tags:{amenity:"bank",brand:"Oriental Bank of Commerce","brand:wikidata":"Q367008","brand:wikipedia":"en:Oriental Bank of Commerce",name:"Oriental Bank of Commerce"}},"amenity/bank|Osuuspankki":{countryCodes:["fi"],tags:{amenity:"bank",brand:"Osuuspankki","brand:wikidata":"Q4045597","brand:wikipedia":"fi:OP (finanssiryhmä)",name:"Osuuspankki"}},"amenity/bank|PBZ":{countryCodes:["hr"],tags:{amenity:"bank",brand:"PBZ","brand:wikidata":"Q7246343","brand:wikipedia":"en:Privredna banka Zagreb",name:"PBZ"}},"amenity/bank|PKO BP":{countryCodes:["pl"],matchNames:["pko bank polski"],tags:{amenity:"bank",brand:"PKO BP","brand:wikidata":"Q578832","brand:wikipedia":"pl:Powszechna Kasa Oszczędności Bank Polski",name:"PKO BP"}},"amenity/bank|PNB":{countryCodes:["ph"],tags:{amenity:"bank",brand:"PNB","brand:wikidata":"Q1657971","brand:wikipedia":"en:Philippine National Bank",name:"PNB",official_name:"Philippine National Bank"}},"amenity/bank|PNC Bank":{countryCodes:["us"],matchNames:["pnc"],tags:{amenity:"bank",brand:"PNC Bank","brand:wikidata":"Q38928","brand:wikipedia":"en:PNC Financial Services",name:"PNC Bank"}},"amenity/bank|PSBank":{countryCodes:["ph"],tags:{amenity:"bank",brand:"PSBank","brand:wikidata":"Q7185203","brand:wikipedia":"en:Philippine Savings Bank",name:"PSBank"}},"amenity/bank|Panin Bank":{countryCodes:["id"],tags:{amenity:"bank",brand:"Panin Bank","brand:wikidata":"Q12502751","brand:wikipedia":"id:Panin Bank",name:"Panin Bank"}},"amenity/bank|Patagonia":{countryCodes:["ar"],tags:{amenity:"bank",brand:"Patagonia","brand:wikidata":"Q2882078","brand:wikipedia":"en:Banco Patagonia",name:"Patagonia"}},"amenity/bank|Pekao SA":{countryCodes:["pl"],tags:{amenity:"bank",brand:"Pekao SA","brand:wikidata":"Q806642","brand:wikipedia":"pl:Bank Polska Kasa Opieki",name:"Pekao SA"}},"amenity/bank|PenFed Credit Union":{countryCodes:["us"],tags:{alt_name:"Pentagon Federal Credit Union",amenity:"bank",brand:"PenFed Credit Union","brand:wikidata":"Q3374885","brand:wikipedia":"en:Pentagon Federal Credit Union",name:"PenFed Credit Union",short_name:"PenFed"}},"amenity/bank|People's United Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"People's United Bank","brand:wikidata":"Q7165802","brand:wikipedia":"en:People's United Financial",name:"People's United Bank"}},"amenity/bank|Peoples Bank~(Flemingsburg, Kentucky)":{countryCodes:["us"],tags:{amenity:"bank",brand:"Peoples Bank",name:"Peoples Bank",official_name:"Peoples Bank of Kentucky"}},"amenity/bank|Peoples Bank~(Ohio)":{countryCodes:["us"],tags:{amenity:"bank",brand:"Peoples Bank","brand:wikidata":"Q65716607",name:"Peoples Bank"}},"amenity/bank|Peoples Bank~(Washington)":{countryCodes:["us"],tags:{amenity:"bank",brand:"Peoples Bank","brand:wikidata":"Q7166050","brand:wikipedia":"en:Peoples Bank",name:"Peoples Bank"}},"amenity/bank|Piraeus Bank":{countryCodes:["bg","cy","gr","ro","ua"],tags:{amenity:"bank",brand:"Piraeus Bank","brand:wikidata":"Q3312","brand:wikipedia":"en:Piraeus Bank",name:"Piraeus Bank"}},"amenity/bank|Popular":{countryCodes:["us"],matchNames:["popular bank"],tags:{alt_name:"Banco Popular","alt_name:en":"Popular Bank","alt_name:es":"Banco Popular",amenity:"bank",brand:"Popular","brand:en":"Popular","brand:es":"Popular","brand:wikidata":"Q7229656","brand:wikipedia":"en:Popular, Inc.",name:"Popular","name:en":"Popular","name:es":"Popular",official_name:"Banco Popular de Puerto Rico","official_name:es":"Banco Popular de Puerto Rico",short_name:"BPPR"}},"amenity/bank|Postbank~(Bulgaria)":{countryCodes:["bg"],nomatch:["amenity/bank|Bancpost"],tags:{amenity:"bank",brand:"Postbank","brand:wikidata":"Q7234083","brand:wikipedia":"en:Bulgarian Postbank",name:"Postbank"}},"amenity/bank|Postbank~(Germany)":{countryCodes:["de"],matchNames:["postbank finanzcenter"],nomatch:["amenity/bank|Bancpost"],tags:{amenity:"bank",brand:"Postbank","brand:wikidata":"Q708835","brand:wikipedia":"en:Deutsche Postbank",name:"Postbank"}},"amenity/bank|Prima banka":{countryCodes:["sk"],tags:{amenity:"bank",brand:"Prima banka","brand:wikidata":"Q13538661","brand:wikipedia":"sk:Prima banka Slovensko",name:"Prima banka"}},"amenity/bank|Provincial":{countryCodes:["ve"],matchNames:["bbva provincial"],tags:{amenity:"bank",brand:"Provincial","brand:wikidata":"Q4835087","brand:wikipedia":"es:BBVA Provincial",name:"Provincial"}},"amenity/bank|Public Bank~(Malaysia)":{matchNames:["public bank berhad"],tags:{amenity:"bank",brand:"Public Bank","brand:wikidata":"Q3046561","brand:wikipedia":"en:Public Bank Berhad",name:"Public Bank"}},"amenity/bank|Punjab National Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Punjab National Bank","brand:wikidata":"Q2743499","brand:wikipedia":"en:Punjab National Bank",name:"Punjab National Bank"}},"amenity/bank|RBC":{matchNames:["rbc financial group","rbc royal bank","royal bank"],tags:{amenity:"bank",brand:"RBC","brand:wikidata":"Q735261","brand:wikipedia":"en:Royal Bank of Canada",name:"RBC",official_name:"Royal Bank of Canada"}},"amenity/bank|RBS":{countryCodes:["gb","je","ro"],tags:{amenity:"bank",brand:"RBS","brand:wikidata":"Q160126","brand:wikipedia":"en:Royal Bank of Scotland",name:"RBS",official_name:"Royal Bank of Scotland"}},"amenity/bank|RCBC":{countryCodes:["ph"],matchNames:["rcbc savings bank"],tags:{amenity:"bank",brand:"RCBC","brand:wikidata":"Q7339070","brand:wikipedia":"en:Rizal Commercial Banking Corporation",name:"RCBC",official_name:"Rizal Commercial Banking Corporation"}},"amenity/bank|Rabobank":{countryCodes:["au","id","nl","nz","us"],tags:{amenity:"bank",brand:"Rabobank","brand:wikidata":"Q252004","brand:wikipedia":"en:Rabobank",name:"Rabobank"}},"amenity/bank|Raiffeisen Polbank":{countryCodes:["de","pl"],tags:{amenity:"bank",brand:"Raiffeisen Polbank","brand:wikidata":"Q9303218","brand:wikipedia":"pl:Raiffeisen Bank Polska",name:"Raiffeisen Polbank"}},"amenity/bank|Raiffeisenbank":{matchNames:["raiffeisen","raiffeisenkasse"],nomatch:["amenity/fuel|Raiffeisen"],tags:{amenity:"bank",brand:"Raiffeisenbank","brand:wikidata":"Q24282825","brand:wikipedia":"cs:Raiffeisenbank",name:"Raiffeisenbank"}},"amenity/bank|Regions Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Regions Bank","brand:wikidata":"Q917131","brand:wikipedia":"en:Regions Financial Corporation",name:"Regions Bank"}},"amenity/bank|Republic Bank":{tags:{amenity:"bank",brand:"Republic Bank",name:"Republic Bank"}},"amenity/bank|Republic Bank (Eastern Caribbean)":{countryCodes:["bb","gd","gy","tt"],tags:{amenity:"bank",brand:"Republic Bank","brand:wikidata":"Q7314386","brand:wikipedia":"en:Republic Bank",name:"Republic Bank"}},"amenity/bank|Republic Bank (USA)":{countryCodes:["us"],tags:{amenity:"bank",brand:"Republic Bank","brand:wikidata":"Q7314387","brand:wikipedia":"en:Republic Bank & Trust Company",name:"Republic Bank",official_name:"Republic Bank & Trust Company"}},"amenity/bank|República":{countryCodes:["uy"],tags:{amenity:"bank",brand:"República","brand:wikidata":"Q4077337","brand:wikipedia":"en:Banco de la República Oriental del Uruguay",name:"República"}},"amenity/bank|S-Pankki":{countryCodes:["fi"],tags:{amenity:"bank",brand:"S-Pankki","brand:wikidata":"Q7387053","brand:wikipedia":"fi:S-Pankki",name:"S-Pankki"}},"amenity/bank|SC제일은행":{countryCodes:["kr"],tags:{amenity:"bank",brand:"SC제일은행","brand:ko":"SC제일은행","brand:wikidata":"Q625531","brand:wikipedia":"en:Standard Chartered Korea",name:"SC제일은행","name:ko":"SC제일은행"}},"amenity/bank|SEB":{countryCodes:["de","ee","lt","lv","se"],tags:{amenity:"bank",brand:"SEB","brand:wikidata":"Q975655","brand:wikipedia":"en:SEB Group",name:"SEB"}},"amenity/bank|SGBCI":{countryCodes:["ci"],matchNames:["agence sgbci"],tags:{amenity:"bank",brand:"SGBCI","brand:wikidata":"Q3488360","brand:wikipedia":"fr:Société générale de banques en Côte d'Ivoire",name:"SGBCI"}},"amenity/bank|SNS Bank":{countryCodes:["nl"],tags:{amenity:"bank",brand:"SNS Bank","brand:wikidata":"Q1857899","brand:wikipedia":"en:De Volksbank",name:"SNS Bank"}},"amenity/bank|Sacombank":{tags:{amenity:"bank",brand:"Sacombank",name:"Sacombank"}},"amenity/bank|Sampath Bank":{countryCodes:["lk"],tags:{amenity:"bank",brand:"Sampath Bank","brand:wikidata":"Q7410095","brand:wikipedia":"en:Sampath Bank",name:"Sampath Bank"}},"amenity/bank|San Diego County Credit Union":{countryCodes:["us"],tags:{amenity:"bank",brand:"San Diego County Credit Union","brand:wikidata":"Q7413628","brand:wikipedia":"en:San Diego County Credit Union",name:"San Diego County Credit Union",short_name:"SDCCU"}},"amenity/bank|Santander":{matchNames:["santander consumer bank"],nomatch:["amenity/bank|Banco Santander"],tags:{amenity:"bank",brand:"Santander","brand:wikidata":"Q5835668","brand:wikipedia":"en:Santander Bank",name:"Santander"}},"amenity/bank|Santander Río":{countryCodes:["ar"],tags:{amenity:"bank",brand:"Santander Río","brand:wikidata":"Q3385268","brand:wikipedia":"es:Banco Santander Río",name:"Santander Río"}},"amenity/bank|Santander Totta":{countryCodes:["pt"],tags:{amenity:"bank",brand:"Santander Totta","brand:wikidata":"Q4854116","brand:wikipedia":"pt:Banco Santander Portugal",name:"Santander Totta"}},"amenity/bank|Sberbank":{tags:{amenity:"bank",brand:"Sberbank","brand:wikidata":"Q205012","brand:wikipedia":"en:Sberbank of Russia",name:"Sberbank"}},"amenity/bank|Scotiabank~(Québec)":{countryCodes:["ca"],matchNames:["Scotia"],nomatch:["amenity/bank|Scotiabank"],tags:{amenity:"bank",brand:"Banque Scotia","brand:wikidata":"Q451476","brand:wikipedia":"fr:Banque Scotia",name:"Banque Scotia"}},"amenity/bank|Scotiabank~(non-Québec)":{matchNames:["Scotia"],nomatch:["amenity/bank|Scotiabank~(Québec)"],tags:{amenity:"bank",brand:"Scotiabank","brand:wikidata":"Q451476","brand:wikipedia":"en:Scotiabank",name:"Scotiabank"}},"amenity/bank|Security Bank":{countryCodes:["ph"],tags:{amenity:"bank",brand:"Security Bank","brand:wikidata":"Q7444945","brand:wikipedia":"en:Security Bank",name:"Security Bank"}},"amenity/bank|Security Service Federal Credit Union":{countryCodes:["us"],matchNames:["security service fcu"],tags:{amenity:"bank",brand:"Security Service Federal Credit Union","brand:wikidata":"Q7444993","brand:wikipedia":"en:Security Service Federal Credit Union",name:"Security Service Federal Credit Union",short_name:"SSFCU"}},"amenity/bank|Service Credit Union":{countryCodes:["de","us"],tags:{amenity:"bank",brand:"Service Credit Union","brand:wikidata":"Q7455675","brand:wikipedia":"en:Service Credit Union",name:"Service Credit Union"}},"amenity/bank|Servus Credit Union":{countryCodes:["ca"],tags:{alt_name:"Servus",amenity:"bank",brand:"Servus Credit Union","brand:wikidata":"Q2274396","brand:wikipedia":"en:Servus Credit Union",name:"Servus Credit Union"}},"amenity/bank|Seylan Bank":{countryCodes:["lk"],tags:{amenity:"bank",brand:"Seylan Bank","brand:wikidata":"Q3532083","brand:wikipedia":"en:Seylan Bank",name:"Seylan Bank"}},"amenity/bank|Siam Commercial Bank":{countryCodes:["th"],tags:{amenity:"bank",brand:"Siam Commercial Bank","brand:wikidata":"Q2038986","brand:wikipedia":"en:Siam Commercial Bank",name:"Siam Commercial Bank"}},"amenity/bank|Sicoob":{countryCodes:["br"],tags:{amenity:"bank",brand:"Sicoob","brand:wikidata":"Q28679754","brand:wikipedia":"pt:Sistema de Cooperativas de Crédito do Brasil",name:"Sicoob"}},"amenity/bank|Sicredi":{countryCodes:["br"],tags:{amenity:"bank",brand:"Sicredi","brand:wikidata":"Q3483060","brand:wikipedia":"pt:Sistema de Crédito Cooperativo",name:"Sicredi"}},"amenity/bank|Simmons Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Simmons Bank","brand:wikidata":"Q28402389","brand:wikipedia":"en:Simmons Bank",name:"Simmons Bank"}},"amenity/bank|Slovenská sporiteľňa":{countryCodes:["sk"],tags:{amenity:"bank",brand:"Slovenská sporiteľňa","brand:wikidata":"Q7541907","brand:wikipedia":"en:Slovenská sporiteľňa",name:"Slovenská sporiteľňa"}},"amenity/bank|Société Générale":{tags:{amenity:"bank",brand:"Société Générale","brand:wikidata":"Q270363","brand:wikipedia":"en:Société Générale",name:"Société Générale"}},"amenity/bank|Société Marseillaise de Crédit":{countryCodes:["fr"],tags:{amenity:"bank",brand:"Société Marseillaise de Crédit","brand:wikidata":"Q3488479","brand:wikipedia":"fr:Société marseillaise de crédit",name:"Société Marseillaise de Crédit"}},"amenity/bank|Sonali Bank":{countryCodes:["bd"],matchNames:["sonali bank limited","sonali bank limited সোনালী ব্যাংক লিমিটেড"],tags:{amenity:"bank",brand:"Sonali Bank","brand:wikidata":"Q3350382","brand:wikipedia":"en:Sonali Bank",name:"Sonali Bank"}},"amenity/bank|South Indian Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"South Indian Bank","brand:wikidata":"Q2044973","brand:wikipedia":"en:South Indian Bank",name:"South Indian Bank"}},"amenity/bank|South State Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"South State Bank","brand:wikidata":"Q55633597","brand:wikipedia":"en:South State Bank",name:"South State Bank"}},"amenity/bank|Sparda-Bank":{countryCodes:["at","de"],tags:{amenity:"bank",brand:"Sparda-Bank","brand:wikidata":"Q2307136","brand:wikipedia":"en:Sparda-Bank",name:"Sparda-Bank"}},"amenity/bank|Stanbic Bank":{tags:{amenity:"bank",brand:"Stanbic Bank","brand:wikidata":"Q7597999","brand:wikipedia":"en:Stanbic Bank",name:"Stanbic Bank"}},"amenity/bank|Standard Bank":{tags:{amenity:"bank",brand:"Standard Bank","brand:wikidata":"Q1576610","brand:wikipedia":"en:Standard Bank",name:"Standard Bank"}},"amenity/bank|Standard Chartered":{matchNames:["standard chartered bank"],tags:{amenity:"bank",brand:"Standard Chartered","brand:wikidata":"Q548278","brand:wikipedia":"en:Standard Chartered",name:"Standard Chartered"}},"amenity/bank|State Bank of India":{tags:{amenity:"bank",brand:"State Bank of India","brand:wikidata":"Q1340361","brand:wikipedia":"en:State Bank of India",name:"State Bank of India"}},"amenity/bank|State Employees Credit Union":{countryCodes:["us"],tags:{amenity:"bank",brand:"State Employees Credit Union","brand:wikidata":"Q7603196","brand:wikipedia":"en:State Employees Credit Union",name:"State Employees Credit Union",short_name:"SECU"}},"amenity/bank|Summit Bank":{countryCodes:["pk"],tags:{amenity:"bank",brand:"Summit Bank","brand:wikidata":"Q7637775","brand:wikipedia":"en:Summit Bank",name:"Summit Bank"}},"amenity/bank|SunTrust":{countryCodes:["us"],matchNames:["suntrust bank"],tags:{amenity:"bank",brand:"SunTrust","brand:wikidata":"Q181507","brand:wikipedia":"en:SunTrust Banks",name:"SunTrust"}},"amenity/bank|Suncorp":{countryCodes:["au"],tags:{amenity:"bank",brand:"Suncorp","brand:wikidata":"Q24189567","brand:wikipedia":"en:Suncorp Bank",name:"Suncorp"}},"amenity/bank|Supervielle":{countryCodes:["ar"],tags:{amenity:"bank",brand:"Supervielle","brand:wikidata":"Q5718035","brand:wikipedia":"es:Banco Supervielle",name:"Supervielle"}},"amenity/bank|Swedbank":{countryCodes:["ee","lt","lv","se"],tags:{amenity:"bank",brand:"Swedbank","brand:wikidata":"Q1145493","brand:wikipedia":"en:Swedbank",name:"Swedbank"}},"amenity/bank|Syndicate Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Syndicate Bank","brand:wikidata":"Q2004088","brand:wikipedia":"en:Syndicate Bank",name:"Syndicate Bank"}},"amenity/bank|TCF Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"TCF Bank","brand:wikidata":"Q7669687","brand:wikipedia":"en:TCF Bank",name:"TCF Bank"}},"amenity/bank|TD Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"TD Bank","brand:wikidata":"Q7669891","brand:wikipedia":"en:TD Bank, N.A.",name:"TD Bank"}},"amenity/bank|TD Canada Trust":{countryCodes:["ca"],tags:{amenity:"bank",brand:"TD Canada Trust","brand:wikidata":"Q1080670","brand:wikipedia":"en:TD Canada Trust",name:"TD Canada Trust"}},"amenity/bank|TEB":{countryCodes:["tr"],tags:{amenity:"bank",brand:"TEB","brand:wikidata":"Q7862447","brand:wikipedia":"en:Türk Ekonomi Bankası",name:"TEB"}},"amenity/bank|TSB":{countryCodes:["gb"],tags:{amenity:"bank",brand:"TSB","brand:wikidata":"Q7671560","brand:wikipedia":"en:TSB Bank (United Kingdom)",name:"TSB"}},"amenity/bank|Takarékszövetkezet":{countryCodes:["hu"],tags:{amenity:"bank",brand:"Takarékszövetkezet","brand:wikidata":"Q30324674","brand:wikipedia":"en:TakarékBank",name:"Takarékszövetkezet"}},"amenity/bank|Tangerine":{countryCodes:["ca"],tags:{amenity:"bank",brand:"Tangerine","brand:wikidata":"Q15238797","brand:wikipedia":"en:Tangerine Bank",name:"Tangerine"}},"amenity/bank|Targobank":{countryCodes:["de","es"],tags:{amenity:"bank",brand:"Targobank","brand:wikidata":"Q1455437","brand:wikipedia":"en:Targobank",name:"Targobank"}},"amenity/bank|Tatra banka":{countryCodes:["sk"],tags:{amenity:"bank",brand:"Tatra banka","brand:wikidata":"Q1718069","brand:wikipedia":"en:Tatra banka",name:"Tatra banka"}},"amenity/bank|Türkiye İş Bankası":{tags:{amenity:"bank",brand:"Türkiye İş Bankası","brand:wikidata":"Q909613","brand:wikipedia":"en:Türkiye İş Bankası",name:"Türkiye İş Bankası"}},"amenity/bank|U.S. Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"U.S. Bank","brand:wikidata":"Q739084","brand:wikipedia":"en:U.S. Bancorp",name:"U.S. Bank"}},"amenity/bank|UBA":{tags:{amenity:"bank",brand:"UBA","brand:wikidata":"Q513457","brand:wikipedia":"en:United Bank for Africa",name:"UBA"}},"amenity/bank|UBI Banca":{countryCodes:["it"],tags:{amenity:"bank",brand:"UBI Banca","brand:wikidata":"Q1476162","brand:wikipedia":"en:UBI Banca",name:"UBI Banca"}},"amenity/bank|UBL":{countryCodes:["pk"],matchNames:["ubl bank"],tags:{amenity:"bank",brand:"UBL","brand:en":"United Bank Limited Pakistan","brand:wikidata":"Q7887504","brand:wikipedia":"ur:یونائیٹڈ بینک (پاکستان)",name:"UBL","name:en":"United Bank Limited Pakistan"}},"amenity/bank|UBS":{tags:{amenity:"bank",brand:"UBS","brand:wikidata":"Q193199","brand:wikipedia":"en:UBS",name:"UBS"}},"amenity/bank|UCO Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"UCO Bank","brand:wikidata":"Q2005310","brand:wikipedia":"en:UCO Bank",name:"UCO Bank"}},"amenity/bank|UCPB":{countryCodes:["ph"],tags:{amenity:"bank",brand:"UCPB","brand:wikidata":"Q7887615","brand:wikipedia":"en:United Coconut Planters Bank",name:"UCPB"}},"amenity/bank|UIB":{tags:{amenity:"bank",brand:"UIB","brand:wikidata":"Q18636687","brand:wikipedia":"en:United Industrial Bank",name:"UIB"}},"amenity/bank|UNI":{countryCodes:["ca"],matchNames:["caisse populaire","caisse populaire acadienne"],tags:{amenity:"bank",brand:"UNI","brand:wikidata":"Q2933348","brand:wikipedia":"fr:UNI Coopération financière",name:"UNI",official_name:"UNI Coopération financière"}},"amenity/bank|UOB":{tags:{amenity:"bank",brand:"UOB","brand:wikidata":"Q2064074","brand:wikipedia":"en:United Overseas Bank",name:"UOB"}},"amenity/bank|USAA":{tags:{amenity:"bank",brand:"USAA","brand:wikidata":"Q7865722","brand:wikipedia":"en:USAA",name:"USAA",official_name:"United Services Automobile Association"}},"amenity/bank|Ulster Bank":{countryCodes:["gb","ie"],tags:{amenity:"bank",brand:"Ulster Bank","brand:wikidata":"Q2613366","brand:wikipedia":"en:Ulster Bank",name:"Ulster Bank"}},"amenity/bank|Umpqua Bank":{countryCodes:["us"],tags:{amenity:"bank",brand:"Umpqua Bank","brand:wikidata":"Q7881772","brand:wikipedia":"en:Umpqua Holdings Corporation",name:"Umpqua Bank"}},"amenity/bank|UniCredit Bank":{matchNames:["unicredit","unicredit banca"],tags:{amenity:"bank",brand:"UniCredit Bank","brand:wikidata":"Q45568","brand:wikipedia":"en:UniCredit",name:"UniCredit Bank"}},"amenity/bank|Unicaja Banco":{countryCodes:["es"],tags:{amenity:"bank",brand:"Unicaja Banco","brand:wikidata":"Q2543704","brand:wikipedia":"en:Unicaja",name:"Unicaja Banco",short_name:"Unicaja"}},"amenity/bank|Union Bank of India":{countryCodes:["in"],tags:{amenity:"bank",brand:"Union Bank of India","brand:wikidata":"Q2004078","brand:wikipedia":"en:Union Bank of India",name:"Union Bank of India"}},"amenity/bank|Union Bank~(USA)":{countryCodes:["us"],matchNames:["mufg union bank","union bank of california"],nomatch:["amenity/bank|Banco Unión","amenity/money_transfer|Express Union"],tags:{alt_name:"UnionBank",amenity:"bank",brand:"Union Bank","brand:wikidata":"Q1442804","brand:wikipedia":"en:MUFG Union Bank",name:"Union Bank"}},"amenity/bank|UnionBank~(Philippines)":{countryCodes:["ph"],matchNames:["union bank of the philippines"],nomatch:["amenity/bank|Banco Unión","amenity/money_transfer|Express Union"],tags:{amenity:"bank",brand:"UnionBank","brand:wikidata":"Q7885403","brand:wikipedia":"en:Union Bank of the Philippines",name:"UnionBank"}},"amenity/bank|United Bank~(Connecticut)":{countryCodes:["us"],tags:{amenity:"bank",brand:"United Bank","brand:wikidata":"Q64825157",name:"United Bank"}},"amenity/bank|United Bank~(WestVirginia)":{countryCodes:["us"],tags:{amenity:"bank",brand:"United Bank","brand:wikidata":"Q16920636","brand:wikipedia":"en:United Bank (West Virginia)",name:"United Bank"}},"amenity/bank|Vakıfbank":{countryCodes:["tr"],tags:{amenity:"bank",brand:"Vakıfbank","brand:wikidata":"Q1148521","brand:wikipedia":"en:VakıfBank",name:"Vakıfbank"}},"amenity/bank|Vancity":{countryCodes:["ca"],matchNames:["vancouver city savings"],tags:{amenity:"bank",brand:"Vancity","brand:wikidata":"Q7914085","brand:wikipedia":"en:Vancity",name:"Vancity",official_name:"Vancouver City Savings Credit Union"}},"amenity/bank|Veneto Banca":{countryCodes:["it"],tags:{amenity:"bank",brand:"Veneto Banca","brand:wikidata":"Q3127221","brand:wikipedia":"en:Veneto Banca",name:"Veneto Banca"}},"amenity/bank|Venezuela":{tags:{amenity:"bank",brand:"Venezuela",name:"Venezuela"}},"amenity/bank|Vijaya Bank":{countryCodes:["in"],tags:{amenity:"bank",brand:"Vijaya Bank","brand:wikidata":"Q2003171","brand:wikipedia":"en:Vijaya Bank",name:"Vijaya Bank"}},"amenity/bank|Volksbank Köln Bonn eG":{countryCodes:["de"],tags:{amenity:"bank",brand:"Volksbank Köln Bonn eG","brand:wikidata":"Q41680844","brand:wikipedia":"de:Volksbank Köln Bonn",name:"Volksbank Köln Bonn eG"}},"amenity/bank|VÚB":{countryCodes:["sk"],tags:{amenity:"bank",brand:"VÚB","brand:wikidata":"Q12778981","brand:wikipedia":"en:Všeobecná úverová banka",name:"VÚB"}},"amenity/bank|Washington Federal":{countryCodes:["us"],tags:{amenity:"bank",brand:"Washington Federal","brand:wikidata":"Q7971859","brand:wikipedia":"en:Washington Federal",name:"Washington Federal"}},"amenity/bank|Wells Fargo":{countryCodes:["us"],matchNames:["wells fargo bank"],tags:{amenity:"bank",brand:"Wells Fargo","brand:wikidata":"Q744149","brand:wikipedia":"en:Wells Fargo",name:"Wells Fargo"}},"amenity/bank|WesBanco":{countryCodes:["us"],tags:{amenity:"bank",brand:"WesBanco","brand:wikidata":"Q7983629","brand:wikipedia":"en:WesBanco",name:"WesBanco"}},"amenity/bank|Western Union":{nomatch:["amenity/money_transfer|Western Union"],tags:{amenity:"bank",brand:"Western Union","brand:wikidata":"Q861042","brand:wikipedia":"en:Western Union",name:"Western Union"}},"amenity/bank|Westpac":{tags:{amenity:"bank",brand:"Westpac","brand:wikidata":"Q2031726","brand:wikipedia":"en:Westpac",name:"Westpac"}},"amenity/bank|Yapı Kredi":{countryCodes:["tr"],tags:{amenity:"bank",brand:"Yapı Kredi","brand:wikidata":"Q8049138","brand:wikipedia":"en:Yapı ve Kredi Bankası",name:"Yapı Kredi"}},"amenity/bank|Yorkshire Bank":{countryCodes:["gb"],tags:{amenity:"bank",brand:"Yorkshire Bank","brand:wikidata":"Q8055678","brand:wikipedia":"en:Yorkshire Bank",name:"Yorkshire Bank"}},"amenity/bank|Yorkshire Building Society":{countryCodes:["gb"],tags:{amenity:"bank",brand:"Yorkshire Building Society","brand:wikidata":"Q12073381","brand:wikipedia":"en:Yorkshire Building Society",name:"Yorkshire Building Society"}},"amenity/bank|Zagrebačka banka":{countryCodes:["hr"],tags:{amenity:"bank",brand:"Zagrebačka banka","brand:wikidata":"Q140381","brand:wikipedia":"en:Zagrebačka banka",name:"Zagrebačka banka"}},"amenity/bank|Zenith Bank":{tags:{amenity:"bank",brand:"Zenith Bank","brand:wikidata":"Q5978240","brand:wikipedia":"en:Zenith Bank",name:"Zenith Bank"}},"amenity/bank|Zions Bank":{tags:{amenity:"bank",brand:"Zions Bank",name:"Zions Bank"}},"amenity/bank|Ziraat Bankası":{tags:{amenity:"bank",brand:"Ziraat Bankası","brand:wikidata":"Q696003","brand:wikipedia":"en:Ziraat Bankası",name:"Ziraat Bankası"}},"amenity/bank|mBank":{tags:{amenity:"bank",brand:"mBank","brand:wikidata":"Q1160928","brand:wikipedia":"en:MBank",name:"mBank"}},"amenity/bank|st.george":{countryCodes:["au"],matchNames:["st.george bank"],tags:{amenity:"bank",brand:"st.george","brand:wikidata":"Q1606050","brand:wikipedia":"en:St.George Bank",name:"st.george"}},"amenity/bank|Ålandsbanken":{countryCodes:["fi"],tags:{amenity:"bank",brand:"Ålandsbanken","brand:wikidata":"Q4349236","brand:wikipedia":"sv:Ålandsbanken",name:"Ålandsbanken"}},"amenity/bank|ČSOB":{countryCodes:["cz","sk"],tags:{amenity:"bank",brand:"ČSOB","brand:wikidata":"Q340135","brand:wikipedia":"en:Československá obchodní banka",name:"ČSOB"}},"amenity/bank|Česká spořitelna":{countryCodes:["cz"],tags:{amenity:"bank",brand:"Česká spořitelna","brand:wikidata":"Q341100","brand:wikipedia":"en:Česká spořitelna",name:"Česká spořitelna"}},"amenity/bank|İş Bankası":{countryCodes:["tr"],tags:{amenity:"bank",brand:"İş Bankası","brand:wikidata":"Q909613","brand:wikipedia":"en:Türkiye İş Bankası",name:"İş Bankası"}},"amenity/bank|Εθνική Τράπεζα":{countryCodes:["gr"],tags:{amenity:"bank",brand:"Εθνική Τράπεζα","brand:el":"Εθνική Τράπεζα","brand:en":"National Bank of Greece","brand:wikidata":"Q1816028","brand:wikipedia":"en:National Bank of Greece",name:"Εθνική Τράπεζα","name:el":"Εθνική Τράπεζα","name:en":"National Bank of Greece"}},"amenity/bank|Πειραιώς":{countryCodes:["gr"],tags:{amenity:"bank",brand:"Πειραιώς",name:"Πειραιώς"}},"amenity/bank|Τράπεζα Πειραιώς":{countryCodes:["gr"],tags:{amenity:"bank",brand:"Τράπεζα Πειραιώς","brand:el":"Τράπεζα Πειραιώς","brand:en":"Piraeus Bank","brand:wikidata":"Q3312","brand:wikipedia":"en:Piraeus Bank",name:"Τράπεζα Πειραιώς","name:el":"Τράπεζα Πειραιώς","name:en":"Piraeus Bank"}},"amenity/bank|А-Банк":{countryCodes:["ua"],tags:{amenity:"bank",brand:"А-Банк","brand:wikidata":"Q28705400","brand:wikipedia":"uk:А-Банк",name:"А-Банк"}},"amenity/bank|Авангард":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Авангард","brand:wikidata":"Q62122617",name:"Авангард"}},"amenity/bank|Альфа-Банк":{countryCodes:["by","kz","ru","ua"],tags:{amenity:"bank",brand:"Альфа-Банк","brand:en":"Alfa-Bank","brand:ru":"Альфа-Банк","brand:wikidata":"Q1377835","brand:wikipedia":"ru:Альфа-банк",name:"Альфа-Банк","name:en":"Alfa-Bank","name:ru":"Альфа-Банк"}},"amenity/bank|БПС-Сбербанк":{countryCodes:["by"],tags:{amenity:"bank",brand:"БПС-Сбербанк","brand:wikidata":"Q2074915","brand:wikipedia":"be:БПС-Сбербанк",name:"БПС-Сбербанк"}},"amenity/bank|Банк Дабрабыт":{countryCodes:["by"],tags:{amenity:"bank",brand:"Банк Дабрабыт","brand:wikidata":"Q63981850",name:"Банк Дабрабыт"}},"amenity/bank|Банка ДСК":{countryCodes:["bg"],tags:{amenity:"bank",brand:"Банка ДСК","brand:bg":"Банка ДСК","brand:en":"DSK Bank","brand:wikidata":"Q5206146","brand:wikipedia":"en:DSK Bank",name:"Банка ДСК","name:bg":"Банка ДСК","name:en":"DSK Bank"}},"amenity/bank|Белагропромбанк":{countryCodes:["by"],tags:{amenity:"bank",brand:"Белагропромбанк","brand:en":"Belagroprom Bank","brand:wikidata":"Q1991373","brand:wikipedia":"be:Белаграпрамбанк",name:"Белагропромбанк","name:en":"Belagroprom Bank"}},"amenity/bank|Беларусбанк":{countryCodes:["by"],tags:{amenity:"bank",brand:"Беларусбанк","brand:en":"Belarusbank","brand:wikidata":"Q1997334","brand:wikipedia":"en:Belarusbank",name:"Беларусбанк","name:en":"Belarusbank"}},"amenity/bank|Белинвестбанк":{countryCodes:["by"],tags:{amenity:"bank",brand:"Белинвестбанк","brand:wikidata":"Q4081940","brand:wikipedia":"ru:Белинвестбанк",name:"Белинвестбанк"}},"amenity/bank|Бинбанк":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Бинбанк","brand:en":"B&N Bank","brand:wikidata":"Q4086829","brand:wikipedia":"en:B&N Bank",name:"Бинбанк","name:en":"B&N Bank"}},"amenity/bank|ВТБ":{countryCodes:["ru","ua"],matchNames:["втб банк москвы"],tags:{amenity:"bank",brand:"ВТБ","brand:en":"VTB Bank","brand:wikidata":"Q1549389","brand:wikipedia":"en:VTB Bank",name:"ВТБ","name:en":"VTB Bank"}},"amenity/bank|Возрождение":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Возрождение","brand:wikidata":"Q4114952","brand:wikipedia":"ru:Возрождение (банк)",name:"Возрождение"}},"amenity/bank|Газпромбанк":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Газпромбанк","brand:en":"Gazprombank","brand:wikidata":"Q1924338","brand:wikipedia":"en:Gazprombank",name:"Газпромбанк","name:en":"Gazprombank"}},"amenity/bank|Генбанк":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Генбанк","brand:wikidata":"Q62122630",name:"Генбанк"}},"amenity/bank|Казкоммерцбанк":{countryCodes:["kz"],tags:{amenity:"bank",brand:"Казкоммерцбанк","brand:en":"Kazkommertsbank","brand:wikidata":"Q1168179","brand:wikipedia":"en:Kazkommertsbank",name:"Казкоммерцбанк","name:en":"Kazkommertsbank"}},"amenity/bank|Московский индустриальный банк":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Московский индустриальный банк","brand:en":"Moscow Industrial Bank","brand:wikidata":"Q4304145","brand:wikipedia":"ru:Московский индустриальный банк",name:"Московский индустриальный банк","name:en":"Moscow Industrial Bank"}},"amenity/bank|Мособлбанк":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Мособлбанк","brand:en":"Mosobl Bank","brand:wikidata":"Q4304446","brand:wikipedia":"ru:Мособлбанк",name:"Мособлбанк","name:en":"Mosobl Bank"}},"amenity/bank|Народный банк":{countryCodes:["kg","kz","uz"],tags:{amenity:"bank",brand:"Народный банк","brand:wikidata":"Q1046186","brand:wikipedia":"kk:Қазақстан Халық банкі",name:"Народный банк"}},"amenity/bank|ОТП Банк":{countryCodes:["ru","ua"],tags:{amenity:"bank",brand:"ОТП Банк","brand:en":"OTP Bank","brand:wikidata":"Q912778","brand:wikipedia":"en:OTP Bank",name:"ОТП Банк","name:en":"OTP Bank"}},"amenity/bank|Обединена Българска Банка":{countryCodes:["bg"],tags:{amenity:"bank",brand:"Обединена Българска Банка","brand:en":"United Bulgarian Bank","brand:wikidata":"Q7887555","brand:wikipedia":"en:United Bulgarian Bank",name:"Обединена Българска Банка","name:en":"United Bulgarian Bank"}},"amenity/bank|Открытие":{countryCodes:["ru"],matchNames:["банк открытие"],tags:{amenity:"bank",brand:"Открытие","brand:wikidata":"Q4327204","brand:wikipedia":"ru:Банк «Финансовая корпорация Открытие»",name:"Открытие"}},"amenity/bank|Ощадбанк":{countryCodes:["ua"],tags:{amenity:"bank",brand:"Ощадбанк","brand:en":"State Savings Bank of Ukraine","brand:wikidata":"Q4340839","brand:wikipedia":"uk:Ощадбанк",name:"Ощадбанк","name:en":"State Savings Bank of Ukraine"}},"amenity/bank|ПУМБ":{countryCodes:["ua"],tags:{amenity:"bank",brand:"ПУМБ","brand:en":"First Ukrainian International Bank","brand:wikidata":"Q4341156","brand:wikipedia":"en:First Ukrainian International Bank",name:"ПУМБ","name:en":"First Ukrainian International Bank"}},"amenity/bank|Почта Банк":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Почта Банк","brand:en":"Post Bank","brand:wikidata":"Q24930461","brand:wikipedia":"en:Post Bank (Russia)",name:"Почта Банк","name:en":"Post Bank"}},"amenity/bank|Пощенска банка":{countryCodes:["bg"],tags:{amenity:"bank",brand:"Пощенска банка","brand:wikidata":"Q7234083","brand:wikipedia":"bg:Пощенска банка",name:"Пощенска банка","name:en":"Postbank"}},"amenity/bank|ПриватБанк":{tags:{amenity:"bank",brand:"ПриватБанк","brand:en":"PrivatBank","brand:wikidata":"Q1515015","brand:wikipedia":"uk:ПриватБанк",name:"ПриватБанк","name:en":"PrivatBank"}},"amenity/bank|Приднестровский Сбербанк":{countryCodes:["md"],matchNames:["приднестровский cбербанк"],tags:{amenity:"bank",brand:"Приднестровский Сбербанк","brand:en":"Pridnestrovian Savings Bank","brand:ru":"Приднестровский Сбербанк","brand:wikidata":"Q4378147","brand:wikipedia":"ru:Приднестровский Сбербанк",name:"Приднестровский Сбербанк","name:en":"Pridnestrovian Savings Bank","name:ru":"Приднестровский Сбербанк"}},"amenity/bank|Приорбанк":{countryCodes:["by"],tags:{amenity:"bank",brand:"Приорбанк","brand:en":"PriorBank","brand:wikidata":"Q3919658","brand:wikipedia":"be:Пріорбанк",name:"Приорбанк","name:en":"PriorBank"}},"amenity/bank|Промсвязьбанк":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Промсвязьбанк","brand:en":"Promsvyazbank","brand:wikidata":"Q649100","brand:wikipedia":"en:Promsvyazbank",name:"Промсвязьбанк","name:en":"Promsvyazbank"}},"amenity/bank|РНКБ":{countryCodes:["ru","ua"],tags:{amenity:"bank",brand:"РНКБ","brand:wikidata":"Q16912944","brand:wikipedia":"en:Russian National Commercial Bank",name:"РНКБ"}},"amenity/bank|Райффайзен":{countryCodes:["ru","ua"],tags:{amenity:"bank",brand:"Райффайзен","brand:en":"Raiffeisenbank","brand:wikidata":"Q4389244","brand:wikipedia":"en:Raiffeisenbank (Russia)",name:"Райффайзен","name:en":"Raiffeisenbank"}},"amenity/bank|Райффайзен Банк Аваль":{countryCodes:["ua"],tags:{amenity:"bank",brand:"Райффайзен Банк Аваль","brand:en":"Raiffeisen Bank Aval","brand:wikidata":"Q4389243","brand:wikipedia":"en:Raiffeisen Bank Aval",name:"Райффайзен Банк Аваль","name:en":"Raiffeisen Bank Aval"}},"amenity/bank|Росбанк":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Росбанк","brand:en":"Rosbank","brand:wikidata":"Q1119857","brand:wikipedia":"en:Rosbank",name:"Росбанк","name:en":"Rosbank"}},"amenity/bank|Россельхозбанк":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Россельхозбанк","brand:en":"Rosselkhozbank","brand:wikidata":"Q3920226","brand:wikipedia":"en:Russian Agricultural Bank",name:"Россельхозбанк","name:en":"Rosselkhozbank"}},"amenity/bank|Русский Стандарт":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Русский Стандарт","brand:en":"Russian Standard Bank","brand:wikidata":"Q4400854","brand:wikipedia":"en:Russian Standard Bank",name:"Русский Стандарт","name:en":"Russian Standard Bank"}},"amenity/bank|Сбербанк":{countryCodes:["kz","ru"],matchNames:["cбербанк","cбербанк россии","сбербанк россии"],tags:{amenity:"bank",brand:"Сбербанк","brand:en":"Sberbank","brand:ru":"Сбербанк","brand:wikidata":"Q205012","brand:wikipedia":"en:Sberbank of Russia",name:"Сбербанк","name:en":"Sberbank","name:ru":"Сбербанк"}},"amenity/bank|Совкомбанк":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Совкомбанк","brand:en":"Sovcom Bank","brand:wikidata":"Q4426566","brand:wikipedia":"ru:Совкомбанк",name:"Совкомбанк","name:en":"Sovcom Bank"}},"amenity/bank|УкрСиббанк":{countryCodes:["ua"],tags:{amenity:"bank",brand:"УкрСиббанк","brand:en":"UkrSibbank","brand:wikidata":"Q1976290","brand:wikipedia":"en:UkrSibbank",name:"УкрСиббанк","name:en":"UkrSibbank"}},"amenity/bank|Укргазбанк":{countryCodes:["ua"],tags:{amenity:"bank",brand:"Укргазбанк","brand:en":"Ukrgasbank","brand:wikidata":"Q4470692","brand:wikipedia":"ru:Укргазбанк",name:"Укргазбанк","name:en":"Ukrgasbank"}},"amenity/bank|Укрсоцбанк":{countryCodes:["ua"],tags:{amenity:"bank",brand:"Укрсоцбанк","brand:en":"Ukrsotsbank","brand:wikidata":"Q3547885","brand:wikipedia":"en:Ukrsotsbank",name:"Укрсоцбанк","name:en":"Ukrsotsbank"}},"amenity/bank|Уралсиб":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Уралсиб","brand:en":"Uralsib bank","brand:wikidata":"Q4476693","brand:wikipedia":"ru:Уралсиб (банк)",name:"Уралсиб","name:en":"Uralsib bank"}},"amenity/bank|Хаан банк":{countryCodes:["mn"],tags:{amenity:"bank",brand:"Хаан банк","brand:wikidata":"Q25632240","brand:wikipedia":"mn:ХААН банк",name:"Хаан банк"}},"amenity/bank|Хоум Кредит":{countryCodes:["ru"],tags:{amenity:"bank",brand:"Хоум Кредит","brand:en":"Home Credit & Finance Bank","brand:wikidata":"Q4500466","brand:wikipedia":"en:Home Credit & Finance Bank",name:"Хоум Кредит","name:en":"Home Credit & Finance Bank"}},"amenity/bank|בנק אגוד":{countryCodes:["il"],tags:{"alt_name:en":"Bank Igud",amenity:"bank",brand:"בנק אגוד","brand:en":"Union Bank of Israel","brand:he":"בנק אגוד","brand:wikidata":"Q2903265","brand:wikipedia":"en:Union Bank of Israel",name:"בנק אגוד","name:en":"Union Bank of Israel","name:he":"בנק אגוד"}},"amenity/bank|בנק אוצר החייל":{countryCodes:["il"],tags:{amenity:"bank",brand:"בנק אוצר החייל","brand:en":"Bank Otsar Ha-Hayal","brand:he":"בנק אוצר החייל","brand:wikidata":"Q2900674","brand:wikipedia":"en:Bank Otsar Ha-Hayal",name:"בנק אוצר החייל","name:en":"Bank Otsar Ha-Hayal","name:he":"בנק אוצר החייל"}},"amenity/bank|בנק דיסקונט":{countryCodes:["il"],tags:{amenity:"bank",brand:"בנק דיסקונט לישראל","brand:en":"Israel Discount Bank","brand:he":"בנק דיסקונט לישראל","brand:wikidata":"Q250362","brand:wikipedia":"en:Israel Discount Bank",name:"בנק דיסקונט","name:en":"Bank Discount","name:he":"בנק דיסקונט"}},"amenity/bank|בנק הפועלים":{countryCodes:["il"],tags:{amenity:"bank",brand:"בנק הפועלים","brand:en":"Bank Hapoalim","brand:he":"בנק הפועלים","brand:wikidata":"Q2666775","brand:wikipedia":"en:Bank Hapoalim",name:"בנק הפועלים","name:en":"Bank Hapoalim","name:he":"בנק הפועלים"}},"amenity/bank|בנק יהד":{countryCodes:["il"],tags:{amenity:"bank",brand:"בנק יהד","brand:en":"Bank Yahav","brand:he":"בנק יהד","brand:wikidata":"Q7187611","brand:wikipedia":"he:בנק יהב",name:"בנק יהד","name:en":"Bank Yahav","name:he":"בנק יהד"}},"amenity/bank|בנק ירושלים":{countryCodes:["il"],tags:{amenity:"bank",brand:"בנק ירושלים","brand:en":"Bank of Jerusalem","brand:he":"בנק ירושלים","brand:wikidata":"Q2900227","brand:wikipedia":"en:Bank of Jerusalem",name:"בנק ירושלים","name:en":"Bank of Jerusalem","name:he":"בנק ירושלים"}},"amenity/bank|בנק לאומי":{countryCodes:["il"],tags:{amenity:"bank",brand:"בנק לאומי","brand:en":"Bank Leumi","brand:he":"בנק לאומי","brand:wikidata":"Q806641","brand:wikipedia":"en:Bank Leumi",name:"בנק לאומי","name:en":"Bank Leumi","name:he":"בנק לאומי"}},"amenity/bank|בנק מסד":{countryCodes:["il"],tags:{amenity:"bank",brand:"בנק מסד","brand:en":"Bank Massad","brand:he":"בנק מסד","brand:wikidata":"Q7187667","brand:wikipedia":"en:Bank Massad",name:"בנק מסד","name:en":"Bank Massad","name:he":"בנק מסד"}},"amenity/bank|הבנק הבינלאומי":{countryCodes:["il"],tags:{amenity:"bank",brand:"הבנק הבינלאומי","brand:en":"First International Bank of Israel","brand:he":"הבנק הבינלאומי","brand:wikidata":"Q2777497","brand:wikipedia":"en:First International Bank of Israel",name:"הבנק הבינלאומי","name:en":"First International Bank of Israel","name:he":"הבנק הבינלאומי"}},"amenity/bank|מזרחי טפחות":{countryCodes:["il"],tags:{amenity:"bank",brand:"מזרחי טפחות","brand:en":"Mizrahi-Tefahot","brand:he":"מזרחי טפחות","brand:wikidata":"Q2777129","brand:wikipedia":"en:Bank Mizrahi-Tefahot",name:"בנק מזרחי טפחות","name:en":"Bank Mizrahi-Tefahot","name:he":"בנק מזרחי טפחות"}},"amenity/bank|بانک آینده":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک آینده","brand:en":"Ayandeh Bank","brand:wikidata":"Q5938144","brand:wikipedia":"en:Ayandeh Bank",name:"بانک آینده","name:en":"Ayandeh Bank"}},"amenity/bank|بانک اقتصاد نوین":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک اقتصاد نوین","brand:en":"EN Bank","brand:wikidata":"Q5323768","brand:wikipedia":"en:EN Bank",name:"بانک اقتصاد نوین","name:en":"EN Bank"}},"amenity/bank|بانک انصار":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک انصار","brand:wikidata":"Q5862675","brand:wikipedia":"fa:بانک انصار",name:"بانک انصار"}},"amenity/bank|بانک ایران زمین":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک ایران زمین","brand:wikidata":"Q5934423","brand:wikipedia":"en:Iran Zamin Bank",name:"بانک ایران زمین"}},"amenity/bank|بانک تجارت":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک تجارت","brand:wikidata":"Q7695198","brand:wikipedia":"en:Tejarat Bank",name:"بانک تجارت"}},"amenity/bank|بانک توسعه تعاون":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک توسعه تعاون","brand:wikidata":"Q5684450","brand:wikipedia":"fa:بانک توسعه تعاون",name:"بانک توسعه تعاون"}},"amenity/bank|بانک رفاه":{countryCodes:["ir"],matchNames:["بانک رفاه کارگران"],tags:{amenity:"bank",brand:"بانک رفاه","brand:en":"Refah Bank","brand:wikidata":"Q7307083","brand:wikipedia":"en:Refah Bank",name:"بانک رفاه","name:en":"Refah Bank"}},"amenity/bank|بانک سامان":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک سامان","brand:en":"Saman Bank","brand:wikidata":"Q4117676","brand:wikipedia":"en:Saman Bank",name:"بانک سامان","name:en":"Saman Bank"}},"amenity/bank|بانک سرمایه":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک سرمایه","brand:en":"Sarmayeh Bank","brand:wikidata":"Q7424291","brand:wikipedia":"en:Sarmayeh Bank",name:"بانک سرمایه","name:en":"Sarmayeh Bank"}},"amenity/bank|بانک سپه":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک سپه","brand:en":"Bank Sepah","brand:wikidata":"Q2882624","brand:wikipedia":"en:Bank Sepah",name:"بانک سپه","name:en":"Bank Sepah"}},"amenity/bank|بانک سینا":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک سینا","brand:en":"Sina Bank","brand:wikidata":"Q10860246","brand:wikipedia":"en:Sina Bank",name:"بانک سینا","name:en":"Sina Bank"}},"amenity/bank|بانک شهر":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک شهر","brand:en":"Shahr Bank","brand:wikidata":"Q5941033","brand:wikipedia":"fa:بانک شهر",name:"بانک شهر","name:en":"Shahr Bank"}},"amenity/bank|بانک صادرات":{countryCodes:["ir"],matchNames:["بانک صادرات ایران","صادرات"],tags:{amenity:"bank",brand:"بانک صادرات","brand:en":"Bank Saderat Iran","brand:wikidata":"Q2882608","brand:wikipedia":"en:Bank Saderat Iran",name:"بانک صادرات","name:en":"Bank Saderat Iran"}},"amenity/bank|بانک قوامین":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک قوامین","brand:en":"Ghavamin Bank","brand:wikidata":"Q10860253","brand:wikipedia":"en:Ghavamin Bank",name:"بانک قوامین","name:en":"Ghavamin Bank"}},"amenity/bank|بانک مسکن":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک مسکن","brand:en":"Bank Maskan","brand:wikidata":"Q4855942","brand:wikipedia":"en:Bank Maskan",name:"بانک مسکن","name:en":"Bank Maskan"}},"amenity/bank|بانک ملت":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک ملت","brand:en":"Bank Mellat","brand:wikidata":"Q4855944","brand:wikipedia":"en:Bank Mellat",name:"بانک ملت","name:en":"Bank Mellat"}},"amenity/bank|بانک ملی":{countryCodes:["ir"],matchNames:["بانک ملی ایران","ملی"],tags:{amenity:"bank",brand:"بانک ملی","brand:en":"Bank Melli Iran","brand:wikidata":"Q806640","brand:wikipedia":"en:Bank Melli Iran",name:"بانک ملی","name:en":"Bank Melli Iran"}},"amenity/bank|بانک مهر اقتصاد":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک مهر اقتصاد","brand:wikidata":"Q5942921","brand:wikipedia":"fa:بانک مهر اقتصاد",name:"بانک مهر اقتصاد","name:en":"Mehr Eqtesad Bank"}},"amenity/bank|بانک پارسیان":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک پارسیان","brand:en":"Parsian Bank","brand:wikidata":"Q2410404","brand:wikipedia":"en:Parsian Bank",name:"بانک پارسیان","name:en":"Parsian Bank"}},"amenity/bank|بانک پاسارگاد":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک پاسارگاد","brand:en":"Bank Pasargad","brand:wikidata":"Q4855962","brand:wikipedia":"en:Bank Pasargad",name:"بانک پاسارگاد","name:en":"Bank Pasargad"}},"amenity/bank|بانک کشاورزی":{countryCodes:["ir"],tags:{amenity:"bank",brand:"بانک کشاورزی","brand:en":"Bank Keshavarzi Iran","brand:wikidata":"Q6395007","brand:wikipedia":"en:Bank Keshavarzi Iran",name:"بانک کشاورزی","name:en":"Bank Keshavarzi Iran"}},"amenity/bank|پست بانک":{countryCodes:["ir"],tags:{amenity:"bank",brand:"پست بانک","brand:en":"Post Bank of Iran","brand:wikidata":"Q7233625","brand:wikipedia":"en:Post Bank of Iran",name:"پست بانک","name:en":"Post Bank of Iran"}},"amenity/bank|অগ্রণী ব্যাংক লিমিটেড":{countryCodes:["bd"],tags:{amenity:"bank",brand:"অগ্রণী ব্যাংক লিমিটেড","brand:wikidata":"Q517050","brand:wikipedia":"en:Agrani Bank",name:"অগ্রণী ব্যাংক লিমিটেড","name:en":"Agrani Bank"}},"amenity/bank|গ্রামীণ ব্যাংক":{countryCodes:["bd"],tags:{amenity:"bank",brand:"গ্রামীণ ব্যাংক","brand:wikidata":"Q188567","brand:wikipedia":"en:Grameen Bank",name:"গ্রামীণ ব্যাংক","name:en":"Grameen Bank"}},"amenity/bank|জনতা ব্যাংক লিমিটেড":{tags:{amenity:"bank",brand:"জনতা ব্যাংক লিমিটেড",name:"জনতা ব্যাংক লিমিটেড"}},"amenity/bank|বাংলাদেশ কৃষি ব্যাংক":{countryCodes:["bd"],tags:{amenity:"bank",brand:"বাংলাদেশ কৃষি ব্যাংক","brand:wikidata":"Q16345932","brand:wikipedia":"en:Bangladesh Krishi Bank",name:"বাংলাদেশ কৃষি ব্যাংক","name:en":"Bangladesh Krishi Bank"}},"amenity/bank|সোনালী ব্যাংক লিমিটেড":{countryCodes:["bd"],tags:{amenity:"bank",brand:"সোনালী ব্যাংক লিমিটেড",name:"সোনালী ব্যাংক লিমিটেড"}},"amenity/bank|ธนาคารกรุงเทพ":{countryCodes:["th"],tags:{amenity:"bank",brand:"ธนาคารกรุงเทพ","brand:en":"Bangkok Bank","brand:th":"ธนาคารกรุงเทพ","brand:wikidata":"Q806483","brand:wikipedia":"en:Bangkok Bank",name:"ธนาคารกรุงเทพ","name:en":"Bangkok Bank","name:th":"ธนาคารกรุงเทพ"}},"amenity/bank|ธนาคารกรุงไทย":{countryCodes:["th"],tags:{amenity:"bank",brand:"ธนาคารกรุงไทย","brand:en":"Krung Thai Bank","brand:th":"ธนาคารกรุงไทย","brand:wikidata":"Q962865","brand:wikipedia":"en:Krung Thai Bank",name:"ธนาคารกรุงไทย","name:en":"Krung Thai Bank","name:th":"ธนาคารกรุงไทย"}},"amenity/bank|ธนาคารกสิกรไทย":{countryCodes:["th"],tags:{amenity:"bank",brand:"ธนาคารกสิกรไทย","brand:en":"en:Kasikornbank","brand:th":"ธนาคารกสิกรไทย","brand:wikidata":"Q276557","brand:wikipedia":"en:Kasikornbank",name:"ธนาคารกสิกรไทย","name:en":"en:Kasikornbank","name:th":"ธนาคารกสิกรไทย"}},"amenity/bank|ธนาคารออมสิน":{countryCodes:["th"],tags:{amenity:"bank",brand:"ธนาคารออมสิน","brand:en":"Government Savings Bank","brand:th":"ธนาคารออมสิน","brand:wikidata":"Q6579041","brand:wikipedia":"en:Government Savings Bank (Thailand)",name:"ธนาคารออมสิน","name:en":"Government Savings Bank","name:th":"ธนาคารออมสิน"}},"amenity/bank|ธนาคารไทยพาณิชย์":{countryCodes:["th"],tags:{amenity:"bank",brand:"ธนาคารไทยพาณิชย์","brand:en":"Siam Commercial Bank","brand:th":"ธนาคารไทยพาณิชย์","brand:wikidata":"Q2038986","brand:wikipedia":"en:Siam Commercial Bank",name:"ธนาคารไทยพาณิชย์","name:en":"Siam Commercial Bank","name:th":"ธนาคารไทยพาณิชย์"}},"amenity/bank|みずほ銀行":{countryCodes:["jp"],tags:{amenity:"bank",brand:"みずほ銀行","brand:en":"Mizuho Bank","brand:ja":"みずほ銀行","brand:wikidata":"Q2882956","brand:wikipedia":"en:Mizuho Bank",name:"みずほ銀行","name:en":"Mizuho Bank","name:ja":"みずほ銀行"}},"amenity/bank|ゆうちょ銀行":{countryCodes:["jp"],tags:{amenity:"bank",brand:"ゆうちょ銀行","brand:en":"Japan Post Bank","brand:ja":"ゆうちょ銀行","brand:wikidata":"Q907103","brand:wikipedia":"ja:ゆうちょ銀行",name:"ゆうちょ銀行","name:en":"Japan Post Bank","name:ja":"ゆうちょ銀行"}},"amenity/bank|りそな銀行":{countryCodes:["jp"],tags:{amenity:"bank",brand:"りそな銀行","brand:en":"Resona Bank","brand:ja":"りそな銀行","brand:wikidata":"Q11281447","brand:wikipedia":"ja:りそな銀行",name:"りそな銀行","name:en":"Resona Bank","name:ja":"りそな銀行"}},"amenity/bank|三井住友銀行":{countryCodes:["jp"],tags:{amenity:"bank",brand:"三井住友銀行","brand:en":"Sumitomo Mitsui Banking Corporation","brand:wikidata":"Q2660418","brand:wikipedia":"en:Sumitomo Mitsui Banking Corporation",name:"三井住友銀行","name:en":"Sumitomo Mitsui Banking Corporation"}},"amenity/bank|三菱東京UFJ銀行":{countryCodes:["jp"],tags:{amenity:"bank",brand:"三菱東京UFJ銀行","brand:en":"MUFG Bank","brand:wikidata":"Q988284","brand:wikipedia":"en:MUFG Bank",name:"三菱東京UFJ銀行","name:en":"MUFG Bank"}},"amenity/bank|上海商業儲蓄銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"上海商業儲蓄銀行","brand:en":"Shanghai Commercial and Savings Bank","brand:wikidata":"Q4207208","brand:wikipedia":"en:Shanghai Commercial and Savings Bank",name:"上海商業儲蓄銀行","name:en":"Shanghai Commercial and Savings Bank"}},"amenity/bank|上海浦东发展银行":{tags:{amenity:"bank",brand:"上海浦东发展银行",name:"上海浦东发展银行"}},"amenity/bank|东亚银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"东亚银行","brand:wikidata":"Q806679","brand:wikipedia":"en:Bank of East Asia",name:"东亚银行","name:en":"Bank of East Asia"}},"amenity/bank|中信银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"中信银行","brand:en":"China CITIC Bank","brand:wikidata":"Q38960","brand:wikipedia":"en:China CITIC Bank",name:"中信银行"}},"amenity/bank|中国光大银行":{tags:{amenity:"bank",brand:"中国光大银行",name:"中国光大银行"}},"amenity/bank|中国农业银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"中国农业银行","brand:en":"Agricultural Bank of China","brand:wikidata":"Q26298","brand:wikipedia":"en:Agricultural Bank of China",name:"中国农业银行","name:en":"Agricultural Bank of China"}},"amenity/bank|中国工商银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"中国工商银行","brand:en":"Industrial and Commercial Bank of China","brand:wikidata":"Q26463","brand:wikipedia":"en:Industrial and Commercial Bank of China",name:"中国工商银行","name:en":"Industrial and Commercial Bank of China"}},"amenity/bank|中国建设银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"中国建设银行","brand:en":"China Construction Bank","brand:wikidata":"Q26299","brand:wikipedia":"en:China Construction Bank",name:"中国建设银行","name:en":"China Construction Bank"}},"amenity/bank|中国民生银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"中国民生银行","brand:en":"China Minsheng Bank","brand:wikidata":"Q911543","brand:wikipedia":"en:China Minsheng Bank",name:"中国民生银行","name:en":"China Minsheng Bank"}},"amenity/bank|中国邮政储蓄银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"中国邮政储蓄银行","brand:en":"Postal Savings Bank of China","brand:wikidata":"Q986744","brand:wikipedia":"en:Postal Savings Bank of China",name:"中国邮政储蓄银行","name:en":"Postal Savings Bank of China"}},"amenity/bank|中国银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"中国银行","brand:en":"Bank of China","brand:wikidata":"Q790068","brand:wikipedia":"en:Bank of China",name:"中国银行","name:en":"Bank of China"}},"amenity/bank|中國信託商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"中國信託商業銀行","brand:en":"CTBC Bank","brand:wikidata":"Q5100191","brand:wikipedia":"en:CTBC Bank",name:"中國信託商業銀行","name:en":"CTBC Bank"}},"amenity/bank|交通银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"交通银行","brand:en":"Bank of Communications","brand:wikidata":"Q806680","brand:wikipedia":"en:Bank of Communications",name:"交通银行","name:en":"Bank of Communications"}},"amenity/bank|京城商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"京城商業銀行","brand:wikidata":"Q10883132","brand:wikipedia":"zh:京城商業銀行",name:"京城商業銀行"}},"amenity/bank|京都中央信用金庫":{countryCodes:["jp"],tags:{amenity:"bank",brand:"京都中央信用金庫","brand:en":"Kyoto Chuo Shinkin Bank","brand:wikidata":"Q11374844","brand:wikipedia":"ja:京都中央信用金庫",name:"京都中央信用金庫","name:en":"Kyoto Chuo Shinkin Bank"}},"amenity/bank|京都銀行":{countryCodes:["jp"],tags:{amenity:"bank",brand:"京都銀行","brand:en":"Bank of Kyoto","brand:wikidata":"Q11375713","brand:wikipedia":"en:Bank of Kyoto",name:"京都銀行","name:en":"Bank of Kyoto"}},"amenity/bank|元大商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"元大商業銀行","brand:en":"Yuanta Commercial Bank","brand:wikidata":"Q10889602","brand:wikipedia":"zh:元大商業銀行",name:"元大商業銀行","name:en":"Yuanta Commercial Bank"}},"amenity/bank|兆豐國際商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"兆豐國際商業銀行","brand:en":"Mega International Commercial Bank","brand:wikidata":"Q709757","brand:wikipedia":"en:Mega International Commercial Bank",name:"兆豐國際商業銀行","name:en":"Mega International Commercial Bank"}},"amenity/bank|兴业银行":{tags:{amenity:"bank",brand:"兴业银行",name:"兴业银行"}},"amenity/bank|农业银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"农业银行","brand:wikidata":"Q26298","brand:wikipedia":"zh:中国农业银行",name:"农业银行"}},"amenity/bank|北京银行":{tags:{amenity:"bank",brand:"北京银行",name:"北京银行"}},"amenity/bank|北洋銀行":{countryCodes:["jp"],tags:{amenity:"bank",brand:"北洋銀行","brand:en":"North Pacific Bank","brand:wikidata":"Q11402354","brand:wikipedia":"ja:北洋銀行",name:"北洋銀行","name:en":"North Pacific Bank"}},"amenity/bank|北海道銀行":{countryCodes:["jp"],tags:{amenity:"bank",brand:"北海道銀行","brand:en":"Hokkaido Bank","brand:wikidata":"Q5878076","brand:wikipedia":"en:Hokkaido Bank",name:"北海道銀行","name:en":"Hokkaido Bank"}},"amenity/bank|台中商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"台中商業銀行","brand:en":"Taichung Bank","brand:wikidata":"Q6136958","brand:wikipedia":"en:Taichung Bank",name:"台中商業銀行","name:en":"Taichung Bank"}},"amenity/bank|台北富邦商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"台北富邦商業銀行","brand:en":"Taipei Fubon Bank","brand:wikidata":"Q697293","brand:wikipedia":"en:Taipei Fubon Bank",name:"台北富邦商業銀行","name:en":"Taipei Fubon Bank"}},"amenity/bank|台新國際商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"台新國際商業銀行","brand:en":"Taishin International Bank","brand:wikidata":"Q7676420","brand:wikipedia":"en:Taishin International Bank",name:"台新國際商業銀行","name:en":"Taishin International Bank"}},"amenity/bank|合作金庫商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"合作金庫商業銀行","brand:en":"Taiwan Cooperative Bank","brand:wikidata":"Q701540","brand:wikipedia":"en:Taiwan Cooperative Bank",name:"合作金庫商業銀行","name:en":"Taiwan Cooperative Bank"}},"amenity/bank|國泰世華商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"國泰世華商業銀行","brand:en":"Cathay United Bank","brand:wikidata":"Q702656","brand:wikipedia":"en:Cathay United Bank",name:"國泰世華商業銀行","name:en":"Cathay United Bank"}},"amenity/bank|大眾商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"大眾商業銀行","brand:en":"Ta Chong Commercial Bank","brand:wikidata":"Q10937047","brand:wikipedia":"zh:大眾商業銀行",name:"大眾商業銀行","name:en":"Ta Chong Commercial Bank"}},"amenity/bank|安泰商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"安泰商業銀行","brand:en":"Entie Commercial Bank","brand:wikidata":"Q10946952","brand:wikipedia":"zh:安泰商業銀行",name:"安泰商業銀行","name:en":"Entie Commercial Bank"}},"amenity/bank|工商银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"工商银行","brand:en":"Industrial and Commercial Bank of China","brand:wikidata":"Q26463","brand:wikipedia":"en:Industrial and Commercial Bank of China",name:"工商银行","name:en":"Industrial and Commercial Bank of China"}},"amenity/bank|常陽銀行":{countryCodes:["jp"],tags:{amenity:"bank",brand:"常陽銀行","brand:wikidata":"Q6297774","brand:wikipedia":"en:Joyo Bank",name:"常陽銀行"}},"amenity/bank|建设银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"建设银行","brand:wikidata":"Q26299","brand:wikipedia":"zh:中国建设银行",name:"建设银行"}},"amenity/bank|彰化商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"彰化商業銀行","brand:en":"Chang Hwa Bank","brand:wikidata":"Q5071627","brand:wikipedia":"en:Chang Hwa Bank",name:"彰化商業銀行","name:en":"Chang Hwa Bank"}},"amenity/bank|招商银行":{countryCodes:["cn"],tags:{amenity:"bank",brand:"招商银行","brand:en":"China Merchants Bank","brand:wikidata":"Q1073327","brand:wikipedia":"en:China Merchants Bank",name:"招商银行","name:en":"China Merchants Bank"}},"amenity/bank|日本銀行":{countryCodes:["jp"],tags:{amenity:"bank",brand:"日本銀行","brand:en":"Bank of Japan","brand:wikidata":"Q333101","brand:wikipedia":"ja:日本銀行",name:"日本銀行","name:en":"Bank of Japan"}},"amenity/bank|東亞銀行":{countryCodes:["hk"],tags:{amenity:"bank",brand:"東亞銀行","brand:en":"Bank of East Asia","brand:wikidata":"Q806679","brand:wikipedia":"zh:東亞銀行","brand:zh-Hans":"东亚银行","brand:zh-Hant":"東亞銀行",name:"東亞銀行 BEA","name:en":"Bank of East Asia","name:zh-Hans":"东亚银行","name:zh-Hant":"東亞銀行"}},"amenity/bank|板信商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"板信商業銀行","brand:en":"Bank of Panshin","brand:wikidata":"Q11104946","brand:wikipedia":"zh:板信商業銀行",name:"板信商業銀行","name:en":"Bank of Panshin"}},"amenity/bank|横浜銀行":{countryCodes:["jp"],tags:{amenity:"bank",brand:"横浜銀行","brand:en":"Bank of Yokohama","brand:wikidata":"Q2744340","brand:wikipedia":"en:Bank of Yokohama",name:"横浜銀行","name:en":"Bank of Yokohama"}},"amenity/bank|永豐商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"永豐商業銀行","brand:en":"Bank SinoPac","brand:wikidata":"Q4855976","brand:wikipedia":"en:Bank SinoPac",name:"永豐商業銀行","name:en":"Bank SinoPac"}},"amenity/bank|渣打國際商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"渣打國際商業銀行","brand:wikidata":"Q62267023",name:"渣打國際商業銀行"}},"amenity/bank|玉山商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"玉山商業銀行","brand:en":"E.SUN Commercial Bank","brand:wikidata":"Q5321663","brand:wikipedia":"en:E.SUN Commercial Bank",name:"玉山商業銀行","name:en":"E.SUN Commercial Bank"}},"amenity/bank|第一商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"第一商業銀行","brand:en":"First Commercial Bank","brand:wikidata":"Q11602128","brand:wikipedia":"zh:第一商業銀行",name:"第一商業銀行","name:en":"First Commercial Bank"}},"amenity/bank|聯邦商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"聯邦商業銀行","brand:en":"Union Bank of Taiwan","brand:wikidata":"Q15927195","brand:wikipedia":"zh:聯邦商業銀行",name:"聯邦商業銀行","name:en":"Union Bank of Taiwan"}},"amenity/bank|臺灣中小企業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"臺灣中小企業銀行","brand:en":"Taiwan Business Bank","brand:wikidata":"Q15913812","brand:wikipedia":"zh:臺灣中小企業銀行",name:"臺灣中小企業銀行","name:en":"Taiwan Business Bank"}},"amenity/bank|臺灣土地銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"臺灣土地銀行","brand:en":"Land Bank of Taiwan","brand:wikidata":"Q717592","brand:wikipedia":"en:Land Bank of Taiwan",name:"臺灣土地銀行","name:en":"Land Bank of Taiwan"}},"amenity/bank|臺灣新光商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"臺灣新光商業銀行","brand:en":"Shin Kong Commercial Bank","brand:wikidata":"Q15909616","brand:wikipedia":"zh:臺灣新光商業銀行",name:"臺灣新光商業銀行","name:en":"Shin Kong Commercial Bank"}},"amenity/bank|臺灣銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"臺灣銀行","brand:en":"Bank of Taiwan","brand:wikidata":"Q706533","brand:wikipedia":"en:Bank of Taiwan",name:"臺灣銀行","name:en":"Bank of Taiwan"}},"amenity/bank|華南商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"華南商業銀行","brand:en":"Hua Nan Commercial Bank","brand:wikidata":"Q11620043","brand:wikipedia":"zh:華南銀行",name:"華南商業銀行","name:en":"Hua Nan Commercial Bank"}},"amenity/bank|遠東國際商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"遠東國際商業銀行","brand:en":"Far Eastern International Bank","brand:wikidata":"Q15911143","brand:wikipedia":"zh:遠東國際商業銀行",name:"遠東國際商業銀行","name:en":"Far Eastern International Bank"}},"amenity/bank|陽信商業銀行":{countryCodes:["tw"],tags:{amenity:"bank",brand:"陽信商業銀行","brand:en":"Sunny Commercial Bank","brand:wikidata":"Q11658759","brand:wikipedia":"zh:陽信商業銀行",name:"陽信商業銀行","name:en":"Sunny Commercial Bank"}},"amenity/bank|静岡銀行":{countryCodes:["jp"],tags:{amenity:"bank",brand:"静岡銀行","brand:en":"Shizuoka Bank","brand:wikidata":"Q7499501","brand:wikipedia":"en:Shizuoka Bank",name:"静岡銀行","name:en":"Shizuoka Bank"}},"amenity/bank|국민은행":{countryCodes:["kr"],matchNames:["국민은행 (gungmin bank)"],tags:{amenity:"bank",brand:"국민은행","brand:en":"KB Kookmin Bank","brand:ko":"국민은행","brand:wikidata":"Q496606","brand:wikipedia":"en:KB Financial Group Inc",name:"국민은행","name:en":"KB Kookmin Bank","name:ko":"국민은행"}},"amenity/bank|기업은행":{countryCodes:["kr"],tags:{amenity:"bank",brand:"기업은행","brand:en":"Industrial Bank of Korea","brand:ko":"기업은행","brand:wikidata":"Q483855","brand:wikipedia":"en:Industrial Bank of Korea",name:"기업은행","name:en":"Industrial Bank of Korea","name:ko":"기업은행"}},"amenity/bank|농협":{countryCodes:["kr"],matchNames:["nh농협은행"],tags:{amenity:"bank",brand:"농협","brand:en":"NH","brand:ko":"농협","brand:wikidata":"Q15283673","brand:wikipedia":"ko:NH농협은행",name:"농협","name:en":"NH","name:ko":"농협"}},"amenity/bank|새마을금고":{countryCodes:["kr"],tags:{amenity:"bank",brand:"새마을금고","brand:ko":"새마을금고","brand:wikidata":"Q12600614","brand:wikipedia":"ko:새마을금고",name:"새마을금고","name:ko":"새마을금고"}},"amenity/bank|신한은행":{countryCodes:["kr"],matchNames:["신한은행 (sinhan bank)"],tags:{amenity:"bank",brand:"신한은행","brand:en":"Sinhan Bank","brand:ko":"신한은행","brand:wikidata":"Q487230","brand:wikipedia":"en:Shinhan Bank",name:"신한은행","name:en":"Sinhan Bank","name:ko":"신한은행"}},"amenity/bank|우리은행":{countryCodes:["kr"],matchNames:["우리은행 (uri bank)"],tags:{amenity:"bank",brand:"우리은행","brand:en":"Woori Bank","brand:ko":"우리은행","brand:wikidata":"Q494369","brand:wikipedia":"en:Woori Bank",name:"우리은행","name:en":"Woori Bank","name:ko":"우리은행"}},"amenity/bank|하나은행":{countryCodes:["kr"],tags:{amenity:"bank",brand:"하나은행","brand:en":"Korea Exchange Bank","brand:ko":"하나은행","brand:wikidata":"Q484047","brand:wikipedia":"en:Korea Exchange Bank",name:"하나은행","name:en":"Korea Exchange Bank","name:ko":"하나은행"}},"amenity/bar|All Bar One":{countryCodes:["gb"],tags:{amenity:"bar",brand:"All Bar One","brand:wikidata":"Q4728624","brand:wikipedia":"en:All Bar One",name:"All Bar One"}},"amenity/bar|Revolución de Cuba":{countryCodes:["gb"],tags:{amenity:"bar",brand:"Revolución de Cuba","brand:wikidata":"Q64024691",name:"Revolución de Cuba"}},"amenity/bar|Revolution":{countryCodes:["gb"],tags:{amenity:"bar",brand:"Revolution","brand:wikidata":"Q64024398",name:"Revolution"}},"amenity/bicycle_rental|Call a Bike":{countryCodes:["de"],tags:{amenity:"bicycle_rental",brand:"Call a Bike","brand:wikidata":"Q1060525","brand:wikipedia":"en:Call a Bike",name:"Call a Bike"}},"amenity/bicycle_rental|Grid":{countryCodes:["us"],tags:{amenity:"bicycle_rental",brand:"Grid","brand:wikidata":"Q62104168",name:"Grid"}},"amenity/bicycle_rental|MiBici":{countryCodes:["mx"],tags:{amenity:"bicycle_rental",brand:"MiBici","brand:wikidata":"Q60966987","brand:wikipedia":"es:MiBici",name:"MiBici"}},"amenity/bicycle_rental|Swapfiets":{countryCodes:["be","de","dk","nl"],tags:{amenity:"bicycle_rental",brand:"Swapfiets","brand:wikidata":"Q62104374",name:"Swapfiets"}},"amenity/bicycle_rental|metropolradruhr":{countryCodes:["de"],tags:{amenity:"bicycle_rental",brand:"metropolradruhr","brand:wikidata":"Q62104274",name:"metropolradruhr"}},"amenity/bicycle_rental|nextbike":{countryCodes:["at","de"],tags:{amenity:"bicycle_rental",brand:"nextbike","brand:wikidata":"Q2351279","brand:wikipedia":"de:Nextbike",name:"nextbike"}},"amenity/bureau_de_change|CADECA":{countryCodes:["cu"],tags:{amenity:"bureau_de_change",brand:"CADECA","brand:wikidata":"Q62122716",name:"CADECA"}},"amenity/bureau_de_change|Travelex":{tags:{amenity:"bureau_de_change",brand:"Travelex","brand:wikidata":"Q2337964","brand:wikipedia":"en:Travelex",name:"Travelex"}},"amenity/cafe|85°C":{countryCodes:["au","us"],matchNames:["85 cafe","85 degrees","85 degrees c","85 degrees celsius","85c bakery cafe","85c daily cafe","85oc"],tags:{alt_name:"85C",amenity:"cafe",brand:"85°C","brand:wikidata":"Q4644852","brand:wikipedia":"en:85C Bakery Cafe",cuisine:"coffee_shop;chinese",name:"85°C",takeaway:"yes"}},"amenity/cafe|85度C":{countryCodes:["cn","tw"],tags:{amenity:"cafe",brand:"85度C","brand:en":"85C Bakery Cafe","brand:wikidata":"Q4644852","brand:wikipedia":"en:85C Bakery Cafe",cuisine:"coffee_shop",name:"85度C","name:en":"85C Bakery Cafe",takeaway:"yes"}},"amenity/cafe|Aroma Espresso Bar":{countryCodes:["ca","kz","ro","ua","us"],tags:{amenity:"cafe",brand:"Aroma Espresso Bar","brand:wikidata":"Q2909872","brand:wikipedia":"en:Aroma Espresso Bar",cuisine:"coffee_shop",name:"Aroma Espresso Bar",takeaway:"yes"}},"amenity/cafe|Barista":{countryCodes:["in","lk","mv","np"],tags:{amenity:"cafe",brand:"Barista","brand:wikidata":"Q644735","brand:wikipedia":"en:Barista (company)",cuisine:"coffee_shop",name:"Barista",takeaway:"yes"}},"amenity/cafe|Beck's Coffe Shop":{countryCodes:["jp"],tags:{alt_name:"ベックス・コーヒーショップ",amenity:"cafe",brand:"Beck's Coffe Shop","brand:wikidata":"Q11191008","brand:wikipedia":"ja:Beck's Coffe Shop",cuisine:"coffee_shop",name:"Beck's Coffe Shop",takeaway:"yes"}},"amenity/cafe|Biggby Coffee":{countryCodes:["us"],tags:{amenity:"cafe",brand:"Biggby Coffee","brand:wikidata":"Q4906876","brand:wikipedia":"en:Biggby Coffee",cuisine:"coffee_shop",name:"Biggby Coffee",takeaway:"yes"}},"amenity/cafe|Black Rock Coffee":{countryCodes:["us"],tags:{amenity:"cafe",brand:"Black Rock Coffee","brand:wikidata":"Q64225934",cuisine:"coffee_shop",name:"Black Rock Coffee",takeaway:"yes"}},"amenity/cafe|Bonafide":{countryCodes:["ar","cl"],tags:{amenity:"cafe",brand:"Bonafide","brand:wikidata":"Q62122746",cuisine:"coffee_shop",name:"Bonafide",takeaway:"yes"}},"amenity/cafe|Bridgehead":{countryCodes:["ca"],tags:{amenity:"cafe",brand:"Bridgehead","brand:wikidata":"Q4966509","brand:wikipedia":"en:Bridgehead Coffee",cuisine:"coffee_shop",name:"Timothy's",takeaway:"yes"}},"amenity/cafe|Cafe Coffee Day":{tags:{amenity:"cafe",brand:"Cafe Coffee Day","brand:wikidata":"Q5017235","brand:wikipedia":"en:Café Coffee Day",cuisine:"coffee_shop",name:"Cafe Coffee Day",takeaway:"yes"}},"amenity/cafe|Caffè Nero":{countryCodes:["gb","ie","tr","us"],matchNames:["cafe nero"],tags:{amenity:"cafe",brand:"Caffè Nero","brand:wikidata":"Q675808","brand:wikipedia":"en:Caffè Nero",cuisine:"coffee_shop",name:"Caffè Nero",takeaway:"yes"}},"amenity/cafe|Café Amazon":{tags:{amenity:"cafe",brand:"Café Amazon","brand:wikidata":"Q43247503","brand:wikipedia":"en:Café Amazon",cuisine:"coffee_shop",name:"Café Amazon",takeaway:"yes"}},"amenity/cafe|Café Dépôt":{countryCodes:["ca"],tags:{amenity:"cafe",brand:"Café Dépôt","brand:wikidata":"Q64924449",cuisine:"coffee_shop;cake;bagel;bistro",name:"Café Dépôt",takeaway:"yes"}},"amenity/cafe|Café Martínez":{countryCodes:["ar"],tags:{amenity:"cafe",brand:"Café Martínez","brand:wikidata":"Q16540032","brand:wikipedia":"es:Café Martínez",cuisine:"coffee_shop",name:"Café Martínez",takeaway:"yes"}},"amenity/cafe|Café de Paris":{tags:{amenity:"cafe",brand:"Café de Paris",cuisine:"coffee_shop",name:"Café de Paris",takeaway:"yes"}},"amenity/cafe|Cappuccino":{countryCodes:["at","be","de","es","se"],tags:{amenity:"cafe",brand:"Cappuccino",cuisine:"coffee_shop",name:"Cappuccino",takeaway:"yes"}},"amenity/cafe|Caribou Coffee":{tags:{amenity:"cafe",brand:"Caribou Coffee","brand:wikidata":"Q5039494","brand:wikipedia":"en:Caribou Coffee",cuisine:"coffee_shop",name:"Caribou Coffee",takeaway:"yes"}},"amenity/cafe|Chatime":{tags:{amenity:"cafe",brand:"Chatime","brand:en":"Chatime","brand:wikidata":"Q16829306","brand:wikipedia":"en:Chatime","brand:zh":"日出茶太",cuisine:"bubble_tea",name:"Chatime","name:en":"Chatime","name:zh":"日出茶太",takeaway:"yes"}},"amenity/cafe|CoCo":{countryCodes:["au"],tags:{amenity:"cafe",brand:"CoCo","brand:wikidata":"Q64827025",cuisine:"bubble_tea",name:"Coco",takeaway:"yes"}},"amenity/cafe|Coffee Bean":{tags:{amenity:"cafe",brand:"Coffee Bean",cuisine:"coffee_shop",name:"Coffee Bean",takeaway:"yes"}},"amenity/cafe|Coffee Culture":{countryCodes:["ca","nz","us"],tags:{amenity:"cafe",brand:"Coffee Culture",cuisine:"coffee_shop",name:"Coffee Culture",takeaway:"yes"}},"amenity/cafe|Coffee Fellows":{countryCodes:["de","lu","nl"],tags:{amenity:"cafe",brand:"Coffee Fellows","brand:wikidata":"Q23461429","brand:wikipedia":"en:Coffee Fellows",cuisine:"coffee_shop",name:"Coffee Fellows",takeaway:"yes"}},"amenity/cafe|Coffee House~(Finland)":{countryCodes:["fi"],nomatch:["amenity/cafe|The Coffee House~(Vietnam)"],tags:{amenity:"cafe",brand:"Coffee House","brand:wikidata":"Q11855430","brand:wikipedia":"fi:Coffee House",cuisine:"coffee_shop",name:"Coffee House",takeaway:"yes"}},"amenity/cafe|Coffee Island":{countryCodes:["cy","gr"],tags:{amenity:"cafe",brand:"Coffee Island","brand:wikidata":"Q60867333","brand:wikipedia":"en:Coffee Island",cuisine:"coffee_shop",name:"Coffee Island",takeaway:"yes"}},"amenity/cafe|Coffee Like":{countryCodes:["kz","ru"],tags:{amenity:"cafe",brand:"Coffee Like",cuisine:"coffee_shop",name:"Coffee Like",takeaway:"yes"}},"amenity/cafe|Coffee Time":{tags:{amenity:"cafe",brand:"Coffee Time","brand:wikidata":"Q5140932","brand:wikipedia":"en:Coffee Time",cuisine:"coffee_shop",name:"Coffee Time",takeaway:"yes"}},"amenity/cafe|Cofix":{countryCodes:["il","ru"],tags:{amenity:"cafe",brand:"Cofix","brand:en":"Cofix","brand:he":"קפויקס","brand:wikidata":"Q16132717","brand:wikipedia":"he:קופיקס",cuisine:"coffee_shop",name:"Cofix","name:en":"Cofix","name:he":"קופיקס",takeaway:"yes"}},"amenity/cafe|Cofizz":{countryCodes:["il"],tags:{amenity:"cafe",brand:"Cofizz","brand:en":"Cofizz","brand:he":"קופיז","brand:wikidata":"Q64606270",cuisine:"coffee_shop",name:"Cofizz","name:en":"Cofizz","name:he":"קופיז",takeaway:"yes"}},"amenity/cafe|Costa":{matchNames:["costa coffee"],tags:{amenity:"cafe",brand:"Costa","brand:wikidata":"Q608845","brand:wikipedia":"en:Costa Coffee",cuisine:"coffee_shop",name:"Costa",takeaway:"yes"}},"amenity/cafe|Country Style":{countryCodes:["ca"],tags:{amenity:"cafe",brand:"Country Style","brand:wikidata":"Q5177435","brand:wikipedia":"en:Country Style",cuisine:"coffee_shop",name:"Country Style",takeaway:"yes"}},"amenity/cafe|Cộng Cà Phê":{countryCodes:["kr","vn"],matchNames:["cong"],tags:{amenity:"cafe",brand:"Cộng Cà Phê","brand:wikidata":"Q63864181",cuisine:"coffee_shop;vietnamese",name:"Cộng Cà Phê","name:vi":"Cộng Cà Phê",takeaway:"yes"}},"amenity/cafe|Dolce Vita":{tags:{amenity:"cafe",brand:"Dolce Vita",cuisine:"coffee_shop",name:"Dolce Vita",takeaway:"yes"}},"amenity/cafe|Dutch Bros. Coffee":{countryCodes:["us"],matchNames:["dutch bros","dutch brothers"],tags:{amenity:"cafe",brand:"Dutch Bros. Coffee","brand:wikidata":"Q5317253","brand:wikipedia":"en:Dutch Bros. Coffee",cuisine:"coffee_shop",name:"Dutch Bros. Coffee",takeaway:"only"}},"amenity/cafe|Espresso House":{countryCodes:["dk","fi","no","se"],tags:{amenity:"cafe",brand:"Espresso House","brand:wikidata":"Q10489162","brand:wikipedia":"en:Espresso House",cuisine:"coffee_shop",name:"Espresso House",takeaway:"yes"}},"amenity/cafe|Fran's Café":{countryCodes:["br"],tags:{amenity:"cafe",brand:"Fran's Café","brand:website":"http://www.franscafe.com.br","brand:wikidata":"Q62075645",cuisine:"coffee_shop",name:"Fran's Café",takeaway:"yes"}},"amenity/cafe|Gong Cha~(Vietnam)":{countryCodes:["vn"],tags:{"alt_name:vi":"Cống Trà",amenity:"cafe",brand:"Gong Cha","brand:vi":"Gong Cha","brand:wikidata":"Q5581670","brand:wikipedia":"vi:Gong Cha","brand:zh":"貢茶",cuisine:"bubble_tea",name:"Gong Cha","name:vi":"Gong Cha","name:zh":"貢茶",takeaway:"yes"}},"amenity/cafe|Gong Cha~(worldwide)":{countryCodes:["au","bn","ca","mm","mo","my","nz","ph","sg","us"],tags:{amenity:"cafe",brand:"Gong Cha","brand:wikidata":"Q5581670","brand:wikipedia":"en:Gong Cha","brand:zh":"貢茶",cuisine:"bubble_tea",int_name:"Gong Cha",name:"Gong Cha","name:zh":"貢茶",takeaway:"yes"}},"amenity/cafe|Havanna":{countryCodes:["ar","pe"],tags:{amenity:"cafe",brand:"Havanna","brand:wikidata":"Q2900869","brand:wikipedia":"es:Havanna",cuisine:"coffee_shop",name:"Havanna",takeaway:"yes"}},"amenity/cafe|Highlands Coffee":{countryCodes:["vn"],matchNames:["highlands"],tags:{amenity:"cafe",brand:"Highlands Coffee","brand:wikidata":"Q5759361","brand:wikipedia":"vi:Highlands Coffee",cuisine:"coffee_shop;vietnamese",name:"Highlands Coffee","name:en":"Highlands Coffee",takeaway:"yes"}},"amenity/cafe|Insomnia":{countryCodes:["ie"],tags:{amenity:"cafe",brand:"Insomnia","brand:wikidata":"Q6038271","brand:wikipedia":"en:Insomnia Coffee Company",cuisine:"coffee_shop",name:"Insomnia",takeaway:"yes"}},"amenity/cafe|Joe & The Juice":{tags:{amenity:"cafe",brand:"Joe & The Juice","brand:wikidata":"Q26221514","brand:wikipedia":"en:Joe & The Juice",cuisine:"coffee_shop",name:"Joe & The Juice",takeaway:"yes"}},"amenity/cafe|La Colombe Coffee Roasters":{countryCodes:["us"],tags:{amenity:"cafe",brand:"La Colombe Coffee Roasters","brand:wikidata":"Q23461663","brand:wikipedia":"en:La Colombe Coffee Roasters",cuisine:"coffee_shop",name:"La Colombe Coffee Roasters",short_name:"La Colombe",takeaway:"yes"}},"amenity/cafe|Le Pain Quotidien":{tags:{amenity:"cafe",brand:"Le Pain Quotidien","brand:wikidata":"Q2046903","brand:wikipedia":"en:Le Pain Quotidien",cuisine:"coffee_shop",name:"Le Pain Quotidien",takeaway:"yes"}},"amenity/cafe|Mado":{countryCodes:["tr"],tags:{amenity:"cafe",brand:"Mado","brand:wikidata":"Q17116336","brand:wikipedia":"en:Mado (food company)",cuisine:"coffee_shop",name:"Mado",takeaway:"yes"}},"amenity/cafe|McCafé":{tags:{amenity:"cafe",brand:"McCafé","brand:wikidata":"Q3114287","brand:wikipedia":"en:McCafé",cuisine:"coffee_shop",name:"McCafé",takeaway:"yes"}},"amenity/cafe|Mikel":{countryCodes:["gr"],tags:{amenity:"cafe",brand:"Mikel",cuisine:"coffee_shop",name:"Mikel",takeaway:"yes"}},"amenity/cafe|Patisserie Valerie":{countryCodes:["gb"],tags:{amenity:"cafe",brand:"Patisserie Valerie","brand:wikidata":"Q22101966","brand:wikipedia":"en:Patisserie Valerie",cuisine:"coffee_shop",name:"Patisserie Valerie",takeaway:"yes"}},"amenity/cafe|Peet's Coffee":{countryCodes:["us"],matchNames:["peets","peets coffee & tea"],tags:{amenity:"cafe",brand:"Peet's Coffee","brand:wikidata":"Q1094101","brand:wikipedia":"en:Peet's Coffee",cuisine:"coffee_shop",name:"Peet's Coffee",takeaway:"yes"}},"amenity/cafe|Prime":{countryCodes:["ru"],tags:{amenity:"cafe",brand:"Prime","brand:wikidata":"Q62122839",cuisine:"coffee_shop",name:"Prime",takeaway:"yes"}},"amenity/cafe|Pronto":{countryCodes:["jp"],matchNames:["プロント"],nomatch:["shop/convenience|Coop Pronto"],tags:{amenity:"cafe",brand:"Pronto","brand:wikidata":"Q11336224","brand:wikipedia":"ja:プロントコーポレーション",cuisine:"coffee_shop",name:"Pronto","name:ja":"プロント",takeaway:"yes"}},"amenity/cafe|Pumpkin":{countryCodes:["gb"],matchNames:["pumpkin cafe","pumpkin cafe shop"],tags:{amenity:"cafe",brand:"Pumpkin","brand:wikidata":"Q27825961","brand:wikipedia":"en:Pumpkin Café Shop",cuisine:"coffee_shop",name:"Pumpkin",takeaway:"yes"}},"amenity/cafe|Quickly":{tags:{amenity:"cafe",brand:"Quickly","brand:en":"Quickly","brand:wikidata":"Q3771463","brand:wikipedia":"en:Quickly","brand:zh":"快可立",cuisine:"bubble_tea",name:"Quickly","name:en":"Quickly","name:zh":"快可立",takeaway:"yes"}},"amenity/cafe|Second Cup":{tags:{amenity:"cafe",brand:"Second Cup","brand:wikidata":"Q862180","brand:wikipedia":"en:Second Cup",cuisine:"coffee_shop",name:"Second Cup",takeaway:"yes"}},"amenity/cafe|Segafredo":{tags:{amenity:"cafe",brand:"Segafredo","brand:wikidata":"Q21282762","brand:wikipedia":"it:Segafredo Zanetti",cuisine:"coffee_shop",name:"Segafredo",takeaway:"yes"}},"amenity/cafe|Sharetea":{countryCodes:["au","us"],tags:{amenity:"cafe",brand:"Sharetea","brand:wikidata":"Q64827032",cuisine:"bubble_tea",name:"Sharetea","name:en":"Sharetea","name:zh":"歇腳亭",takeaway:"yes"}},"amenity/cafe|Starbucks":{tags:{amenity:"cafe",brand:"Starbucks","brand:wikidata":"Q37158","brand:wikipedia":"en:Starbucks",cuisine:"coffee_shop",name:"Starbucks",official_name:"Starbucks Coffee",takeaway:"yes"}},"amenity/cafe|The Coffee Bean & Tea Leaf":{tags:{amenity:"cafe",brand:"The Coffee Bean & Tea Leaf","brand:wikidata":"Q1141384","brand:wikipedia":"en:The Coffee Bean & Tea Leaf",cuisine:"coffee_shop",name:"The Coffee Bean & Tea Leaf",takeaway:"yes"}},"amenity/cafe|The Coffee Club":{tags:{amenity:"cafe",brand:"The Coffee Club","brand:wikidata":"Q7726599","brand:wikipedia":"en:The Coffee Club",cuisine:"coffee_shop",name:"The Coffee Club",takeaway:"yes"}},"amenity/cafe|The Coffee House~(Vietnam)":{countryCodes:["vn"],matchNames:["coffee house"],nomatch:["amenity/cafe|Coffee House~(Finland)"],tags:{amenity:"cafe",brand:"The Coffee House","brand:wikidata":"Q60775742","brand:wikipedia":"en:The Coffee House (coffeehouse chain)",cuisine:"coffee_shop;vietnamese",name:"The Coffee House","name:en":"The Coffee House",takeaway:"yes"}},"amenity/cafe|The Human Bean":{countryCodes:["us"],matchNames:["human bean"],tags:{amenity:"cafe",brand:"The Human Bean","brand:wikidata":"Q7740821","brand:wikipedia":"en:The Human Bean",cuisine:"coffee_shop",name:"The Human Bean",takeaway:"yes"}},"amenity/cafe|Tim Hortons":{tags:{amenity:"cafe",brand:"Tim Hortons","brand:wikidata":"Q175106","brand:wikipedia":"en:Tim Hortons",cuisine:"coffee_shop",name:"Tim Hortons",takeaway:"yes"}},"amenity/cafe|Timothy's":{countryCodes:["ca"],tags:{amenity:"cafe",brand:"Timothy's","brand:wikidata":"Q7807011","brand:wikipedia":"en:Timothy's World Coffee",cuisine:"coffee_shop",name:"Timothy's",takeaway:"yes"}},"amenity/cafe|Traveler's Coffee":{countryCodes:["ru"],tags:{amenity:"cafe",brand:"Traveler's Coffee","brand:wikidata":"Q4051716","brand:wikipedia":"ru:Traveler’s Coffee",cuisine:"coffee_shop",name:"Traveler's Coffee",takeaway:"yes"}},"amenity/cafe|Trung Nguyên Coffee":{countryCodes:["vn"],matchNames:["trung nguyen"],tags:{amenity:"cafe",brand:"Trung Nguyên","brand:wikidata":"Q3541154","brand:wikipedia":"vi:Trung Nguyên (công ty)",cuisine:"coffee_shop;vietnamese",name:"Trung Nguyên Coffee","name:en":"Trung Nguyen Coffee","name:vi":"Cà phê Trung Nguyên",takeaway:"yes"}},"amenity/cafe|Wayne's Coffee":{countryCodes:["fi","no","se"],tags:{amenity:"cafe",brand:"Wayne's Coffee","brand:wikidata":"Q2637272","brand:wikipedia":"en:Wayne's Coffee",cuisine:"coffee_shop",name:"Wayne's Coffee",takeaway:"yes"}},"amenity/cafe|Wild Bean Cafe":{tags:{amenity:"cafe",brand:"Wild Bean Cafe","brand:wikidata":"Q61804826",cuisine:"coffee_shop",name:"Wild Bean Cafe",takeaway:"yes"}},"amenity/cafe|Берёзка":{tags:{amenity:"cafe",brand:"Берёзка",cuisine:"coffee_shop",name:"Берёзка",takeaway:"yes"}},"amenity/cafe|Виктория":{tags:{amenity:"cafe",brand:"Виктория",cuisine:"coffee_shop",name:"Виктория",takeaway:"yes"}},"amenity/cafe|Гурман":{tags:{amenity:"cafe",brand:"Гурман",cuisine:"coffee_shop",name:"Гурман",takeaway:"yes"}},"amenity/cafe|Даблби":{countryCodes:["ru"],tags:{amenity:"cafe",brand:"Даблби","brand:en":"Double B","brand:wikidata":"Q62501686",cuisine:"coffee_shop",name:"Даблби","name:en":"Double B",takeaway:"yes"}},"amenity/cafe|Лагуна":{countryCodes:["ru","ua"],tags:{amenity:"cafe",brand:"Лагуна",cuisine:"coffee_shop",name:"Лагуна",takeaway:"yes"}},"amenity/cafe|Лакомка":{tags:{amenity:"cafe",brand:"Лакомка",cuisine:"coffee_shop",name:"Лакомка",takeaway:"yes"}},"amenity/cafe|Оазис":{tags:{amenity:"cafe",brand:"Оазис","brand:en":"Oasis",cuisine:"coffee_shop",name:"Оазис","name:en":"Oasis",takeaway:"yes"}},"amenity/cafe|Сказка":{tags:{amenity:"cafe",brand:"Сказка",cuisine:"coffee_shop",name:"Сказка",takeaway:"yes"}},"amenity/cafe|Смак":{countryCodes:["kz","ru","ua","uz"],matchTags:["shop/convenience"],tags:{amenity:"cafe",brand:"Смак","brand:en":"Taste",cuisine:"coffee_shop",name:"Смак","name:en":"Taste",takeaway:"yes"}},"amenity/cafe|Старбакс":{countryCodes:["ru"],tags:{amenity:"cafe",brand:"Старбакс","brand:en":"Starbucks","brand:wikidata":"Q37158","brand:wikipedia":"en:Starbucks",cuisine:"coffee_shop",name:"Старбакс","name:en":"Starbucks",takeaway:"yes"}},"amenity/cafe|Транзит":{countryCodes:["kz","ru","ua"],tags:{amenity:"cafe",brand:"Транзит",cuisine:"coffee_shop",name:"Транзит",takeaway:"yes"}},"amenity/cafe|Фортуна":{tags:{amenity:"cafe",brand:"Фортуна",cuisine:"coffee_shop",name:"Фортуна",takeaway:"yes"}},"amenity/cafe|Хуторок":{tags:{amenity:"cafe",brand:"Хуторок",cuisine:"coffee_shop",name:"Хуторок",takeaway:"yes"}},"amenity/cafe|Шоколадница":{countryCodes:["ru"],matchNames:["шоколад"],tags:{amenity:"cafe",brand:"Шоколадница","brand:en":"Chocolate","brand:wikidata":"Q30891188","brand:wikipedia":"ru:Шоколадница (сеть кофеен)",cuisine:"coffee_shop",name:"Шоколадница","name:en":"Chocolate",takeaway:"yes"}},"amenity/cafe|Штолле":{countryCodes:["by","ru","ua"],tags:{amenity:"cafe",brand:"Штолле","brand:en":"Stolle","brand:wikidata":"Q62502236",cuisine:"coffee_shop",name:"Штолле","name:en":"Stolle",takeaway:"yes"}},"amenity/cafe|ארומה":{countryCodes:["il"],tags:{amenity:"cafe",brand:"ארומה","brand:en":"Aroma Espresso Bar","brand:he":"ארומה","brand:wikidata":"Q2909872","brand:wikipedia":"en:Aroma Espresso Bar",cuisine:"coffee_shop",name:"ארומה","name:en":"Aroma Espresso Bar","name:he":"ארומה",takeaway:"yes"}},"amenity/cafe|לנדוור":{countryCodes:["il"],matchNames:["קפה לדנוור"],matchTags:["amenity/restaurant"],tags:{amenity:"cafe",brand:"קפה לנדוור","brand:en":"Landwer Coffee","brand:he":"קפה לנדוור","brand:wikidata":"Q6485288","brand:wikipedia":"he:קפה לנדוור",cuisine:"coffee_shop",name:"לנדוור","name:en":"Landwer","name:he":"לנדוור",takeaway:"yes"}},"amenity/cafe|סי קפה":{countryCodes:["il"],matchNames:["si cafe","si espresso"],tags:{alt_name:"סי אספרסו","alt_name:en":"Si Espresso","alt_name:he":"סי אספרסו",amenity:"cafe",brand:"סי קפה","brand:en":"Si Cafe","brand:he":"סי קפה","brand:wikidata":"Q64606227",cuisine:"coffee_shop",name:"סי קפה","name:en":"Si Cafe","name:he":"סי קפה",takeaway:"yes"}},"amenity/cafe|קפה ג'ו":{countryCodes:["il"],matchNames:["ג'ו קפה"],tags:{alt_name:"קפה Joe",amenity:"cafe",brand:"קפה ג'ו","brand:en":"Cafe Joe","brand:he":"קפה ג'ו","brand:wikidata":"Q6774425","brand:wikipedia":"he:קפה ג'ו",cuisine:"coffee_shop",name:"קפה ג'ו","name:en":"Cafe Joe","name:he":"קפה ג'ו",takeaway:"yes"}},"amenity/cafe|קפה גרג":{countryCodes:["il"],matchTags:["amenity/restaurant"],tags:{amenity:"cafe",brand:"קפה גרג","brand:en":"Greg Cafe","brand:he":"קפה גרג","brand:wikidata":"Q43295499","brand:wikipedia":"he:קפה גרג",cuisine:"coffee_shop",name:"קפה גרג","name:en":"Greg Cafe","name:he":"קפה גרג",takeaway:"yes"}},"amenity/cafe|קפה נמרוד":{countryCodes:["il"],matchTags:["amenity/restaurant"],tags:{amenity:"cafe",brand:"קפה נמרוד","brand:en":"Cafe Nimrod","brand:he":"קפה נמרוד","brand:wikidata":"Q64606192",cuisine:"coffee_shop",name:"קפה נמרוד","name:en":"Cafe Nimrod","name:he":"קפה נמרוד",takeaway:"yes"}},"amenity/cafe|קפה קפה":{countryCodes:["il"],matchTags:["amenity/fast_food","amenity/restaurant"],tags:{amenity:"cafe",brand:"קפה קפה","brand:en":"Cafe Cafe","brand:he":"קפה קפה","brand:wikidata":"Q5017233","brand:wikipedia":"he:קפה קפה",cuisine:"coffee_shop",name:"קפה קפה","name:en":"Cafe Cafe","name:he":"קפה קפה",takeaway:"yes"}},"amenity/cafe|רולדין":{countryCodes:["il"],matchTags:["amenity/restaurant","shop/bakery","shop/pastry"],tags:{amenity:"cafe",brand:"רולדין","brand:en":"Roladin","brand:he":"רולדין","brand:wikidata":"Q18390972","brand:wikipedia":"he:רולדין",cuisine:"coffee_shop",name:"רולדין","name:en":"Roladin","name:he":"רולדין",takeaway:"yes"}},"amenity/cafe|คาเฟ่ อเมซอน":{countryCodes:["th"],tags:{amenity:"cafe",brand:"คาเฟ่ อเมซอน","brand:en":"Café Amazon","brand:th":"คาเฟ่ อเมซอน","brand:wikidata":"Q43247503","brand:wikipedia":"en:Café Amazon",cuisine:"coffee_shop",name:"คาเฟ่ อเมซอน","name:en":"Café Amazon","name:th":"คาเฟ่ อเมซอน",takeaway:"yes"}},"amenity/cafe|エクセルシオール カフェ":{countryCodes:["jp"],tags:{amenity:"cafe",brand:"エクセルシオール カフェ","brand:en":"EXCELSIOR CAFFÉ","brand:ja":"エクセルシオール カフェ","brand:wikidata":"Q11289828","brand:wikipedia":"ja:エクセルシオール カフェ",cuisine:"coffee_shop",name:"エクセルシオール カフェ","name:ja":"エクセルシオール カフェ",takeaway:"yes"}},"amenity/cafe|カフェ・ド・クリエ":{countryCodes:["jp"],tags:{amenity:"cafe",brand:"カフェ・ド・クリエ","brand:en":"Cafe de CRIE","brand:ja":"カフェ・ド・クリエ","brand:wikidata":"Q17219077","brand:wikipedia":"ja:ポッカクリエイト",cuisine:"coffee_shop",name:"カフェ・ド・クリエ","name:en":"Cafe de CRIE","name:ja":"カフェ・ド・クリエ",takeaway:"yes"}},"amenity/cafe|カフェ・ベローチェ":{countryCodes:["jp"],tags:{amenity:"cafe",brand:"カフェ・ベローチェ","brand:en":"CAFFÈ VELOCE","brand:ja":"カフェ・ベローチェ","brand:wikidata":"Q11294597","brand:wikipedia":"ja:カフェ・ベローチェ",cuisine:"coffee_shop",name:"カフェ・ベローチェ","name:en":"CAFFÈ VELOCE","name:ja":"カフェ・ベローチェ",takeaway:"yes"}},"amenity/cafe|コメダ珈琲店":{countryCodes:["jp"],tags:{amenity:"cafe",brand:"コメダ珈琲店","brand:en":"Komeda Coffee Shop","brand:ja":"コメダ珈琲店","brand:wikidata":"Q11302679","brand:wikipedia":"ja:コメダ",cuisine:"coffee_shop",name:"コメダ珈琲店","name:en":"Komeda Coffee Shop","name:ja":"コメダ珈琲店",takeaway:"yes"}},"amenity/cafe|サンマルクカフェ":{countryCodes:["jp"],tags:{"alt_name:en":"Saint Marc Café",amenity:"cafe",brand:"サンマルクカフェ","brand:en":"ST.MARC CAFÉ","brand:ja":"サンマルクカフェ","brand:wikidata":"Q11305989","brand:wikipedia":"ja:サンマルクホールディングス",cuisine:"coffee_shop",name:"サンマルクカフェ","name:en":"ST.MARC CAFÉ","name:ja":"サンマルクカフェ",takeaway:"yes"}},"amenity/cafe|スターバックス":{countryCodes:["jp"],tags:{amenity:"cafe",brand:"スターバックス","brand:en":"Starbucks","brand:ja":"スターバックス","brand:wikidata":"Q37158","brand:wikipedia":"ja:スターバックス",cuisine:"coffee_shop",name:"スターバックス","name:en":"Starbucks","name:ja":"スターバックス",takeaway:"yes"}},"amenity/cafe|スターバックスコーヒー":{countryCodes:["jp"],tags:{amenity:"cafe",brand:"スターバックスコーヒー","brand:ja":"スターバックスコーヒー",cuisine:"coffee_shop",name:"スターバックスコーヒー","name:ja":"スターバックスコーヒー",takeaway:"yes"}},"amenity/cafe|タリーズコーヒー":{countryCodes:["jp"],tags:{amenity:"cafe",brand:"タリーズコーヒー","brand:en":"Tully's Coffee","brand:ja":"タリーズコーヒー","brand:wikidata":"Q3541983","brand:wikipedia":"en:Tully's Coffee",cuisine:"coffee_shop",name:"タリーズコーヒー","name:en":"Tully's Coffee","name:ja":"タリーズコーヒー",takeaway:"yes"}},"amenity/cafe|ドトールコーヒーショップ":{countryCodes:["jp"],matchNames:["ドトールコーヒー"],tags:{amenity:"cafe",brand:"ドトールコーヒーショップ","brand:en":"Doutor","brand:ja":"ドトールコーヒーショップ","brand:wikidata":"Q11322732","brand:wikipedia":"ja:ドトールコーヒーショップ",cuisine:"coffee_shop",name:"ドトールコーヒーショップ","name:en":"Doutor Coffee Shop","name:ja":"ドトールコーヒーショップ",takeaway:"yes"}},"amenity/cafe|快可立":{countryCodes:["tw"],tags:{amenity:"cafe",brand:"快可立","brand:en":"Quickly","brand:wikidata":"Q3771463","brand:wikipedia":"zh:快可立","brand:zh":"快可立",cuisine:"bubble_tea",name:"快可立","name:en":"Quickly","name:zh":"快可立",takeaway:"yes"}},"amenity/cafe|日出茶太":{countryCodes:["tw"],tags:{amenity:"cafe",brand:"日出茶太","brand:en":"Chatime","brand:wikidata":"Q16829306","brand:wikipedia":"zh:日出茶太","brand:zh":"日出茶太",cuisine:"bubble_tea",name:"日出茶太","name:en":"Chatime","name:zh":"日出茶太",takeaway:"yes"}},"amenity/cafe|星巴克":{countryCodes:["cn","tw"],tags:{amenity:"cafe",brand:"星巴克","brand:en":"Starbucks","brand:wikidata":"Q37158","brand:wikipedia":"zh:星巴克","brand:zh":"星巴克",cuisine:"coffee_shop",name:"星巴克","name:en":"Starbucks","name:zh":"星巴克",takeaway:"yes"}},"amenity/cafe|珈琲館":{countryCodes:["jp"],tags:{amenity:"cafe",brand:"珈琲館","brand:en":"Kohikan","brand:ja":"珈琲館","brand:wikidata":"Q11573290","brand:wikipedia":"ja:珈琲館",cuisine:"coffee_shop",name:"珈琲館","name:en":"Kohikan","name:ja":"珈琲館",takeaway:"yes"}},"amenity/cafe|貢茶 Gong Cha":{countryCodes:["hk"],tags:{amenity:"cafe",brand:"貢茶 Gong Cha","brand:en":"Gong Cha","brand:wikidata":"Q5581670","brand:wikipedia":"zh:貢茶 (連鎖店)","brand:zh":"貢茶",cuisine:"bubble_tea",name:"貢茶 Gong Cha","name:en":"Gong Cha","name:zh":"貢茶",takeaway:"yes"}},"amenity/cafe|貢茶~(Japan)":{countryCodes:["ja"],tags:{amenity:"cafe",brand:"貢茶","brand:ja":"貢茶","brand:wikidata":"Q5581670","brand:wikipedia":"ja:貢茶","brand:zh":"貢茶",cuisine:"bubble_tea",int_name:"Gong Cha",name:"貢茶","name:ja":"貢茶","name:zh":"貢茶",takeaway:"yes"}},"amenity/cafe|貢茶~(Taiwan)":{countryCodes:["tw"],tags:{amenity:"cafe",brand:"貢茶","brand:wikidata":"Q5581670","brand:wikipedia":"zh:貢茶 (連鎖店)",cuisine:"bubble_tea",int_name:"Gong Cha",name:"貢茶","name:zh":"貢茶",takeaway:"yes"}},"amenity/cafe|贡茶~(China)":{countryCodes:["cn"],tags:{amenity:"cafe",brand:"贡茶","brand:wikidata":"Q5581670","brand:wikipedia":"zh:贡茶 (连锁店)","brand:zh-Hans":"贡茶","brand:zh-Hant":"貢茶",cuisine:"bubble_tea",int_name:"Gong Cha",name:"贡茶","name:zh-Hans":"贡茶","name:zh-Hant":"貢茶",takeaway:"yes"}},"amenity/cafe|공차":{countryCodes:["kr"],tags:{amenity:"cafe",brand:"공차","brand:ko":"공차","brand:wikidata":"Q5581670","brand:wikipedia":"ko:공차","brand:zh":"貢茶",cuisine:"bubble_tea",int_name:"Gong Cha",name:"공차","name:ko":"공차","name:zh":"貢茶",takeaway:"yes"}},"amenity/cafe|스타벅스":{countryCodes:["kr"],tags:{amenity:"cafe",brand:"스타벅스","brand:en":"Starbucks","brand:ko":"스타벅스","brand:wikidata":"Q37158","brand:wikipedia":"ko:스타벅스",cuisine:"coffee_shop",name:"스타벅스","name:en":"Starbucks","name:ko":"스타벅스",takeaway:"yes"}},"amenity/car_rental|Alamo":{tags:{amenity:"car_rental",brand:"Alamo","brand:wikidata":"Q1429287","brand:wikipedia":"en:Alamo Rent a Car",name:"Alamo"}},"amenity/car_rental|Avis":{matchNames:["avis car rental"],tags:{amenity:"car_rental",brand:"Avis","brand:wikidata":"Q791136","brand:wikipedia":"en:Avis Car Rental",name:"Avis"}},"amenity/car_rental|Budget":{matchNames:["budget car rental"],tags:{amenity:"car_rental",brand:"Budget","brand:wikidata":"Q1001437","brand:wikipedia":"en:Budget Rent a Car",name:"Budget",official_name:"Budget Rent a Car"}},"amenity/car_rental|Dollar":{countryCodes:["us"],nomatch:["amenity/bank|Dollar Bank","shop/variety_store|Dollar General","shop/variety_store|Dollar Tree","shop/variety_store|Dollarama","shop/variety_store|Family Dollar"],tags:{amenity:"car_rental",brand:"Dollar","brand:wikidata":"Q1235661","brand:wikipedia":"en:Dollar Rent A Car",name:"Dollar",official_name:"Dollar Rent A Car"}},"amenity/car_rental|Enterprise":{matchNames:["enterprise car rental"],tags:{amenity:"car_rental",brand:"Enterprise","brand:wikidata":"Q17085454","brand:wikipedia":"en:Enterprise Rent-A-Car",name:"Enterprise",official_name:"Enterprise Rent-A-Car"}},"amenity/car_rental|Europcar":{tags:{amenity:"car_rental",brand:"Europcar","brand:wikidata":"Q1376256","brand:wikipedia":"en:Europcar",name:"Europcar"}},"amenity/car_rental|Hertz":{matchNames:["hertz car rental"],tags:{amenity:"car_rental",brand:"Hertz","brand:wikidata":"Q1543874","brand:wikipedia":"en:The Hertz Corporation",name:"Hertz"}},"amenity/car_rental|Localiza":{tags:{amenity:"car_rental",brand:"Localiza","brand:wikidata":"Q10319490","brand:wikipedia":"en:Localiza",name:"Localiza"}},"amenity/car_rental|National":{countryCodes:["ca","gb","us"],nomatch:["amenity/bank|National Bank"],tags:{amenity:"car_rental",brand:"National","brand:wikidata":"Q1424142","brand:wikipedia":"en:National Car Rental",name:"National",official_name:"National Car Rental"}},"amenity/car_rental|Sixt":{tags:{amenity:"car_rental",brand:"Sixt","brand:wikidata":"Q705664","brand:wikipedia":"en:Sixt",name:"Sixt"}},"amenity/car_rental|Thrifty":{matchNames:["thrifty car rental"],tags:{amenity:"car_rental",brand:"Thrifty","brand:wikidata":"Q2429546","brand:wikipedia":"en:Thrifty Car Rental",name:"Thrifty"}},"amenity/car_rental|U-Haul":{countryCodes:["ca","us"],matchNames:["uhaul neighborhood dealer"],tags:{amenity:"car_rental",brand:"U-Haul","brand:wikidata":"Q7862902","brand:wikipedia":"en:U-Haul",name:"U-Haul"}},"amenity/car_rental|オリックスレンタカー":{countryCodes:["jp"],tags:{amenity:"car_rental",brand:"オリックスレンタカー","brand:en":"ORIX Car Rental","brand:ja":"オリックスレンタカー","brand:wikidata":"Q11123021","brand:wikipedia":"ja:オリックスレンタカー",name:"オリックスレンタカー","name:en":"ORIX Car Rental","name:ja":"オリックスレンタカー"}},"amenity/car_rental|トヨタレンタカー":{countryCodes:["jp"],matchNames:["トヨタレンタリース"],tags:{amenity:"car_rental",brand:"トヨタレンタカー","brand:en":"Toyota Rental Car","brand:ja":"トヨタレンタカー","brand:wikidata":"Q11321580","brand:wikipedia":"ja:トヨタレンタリース",name:"トヨタレンタカー","name:en":"Toyota Rental Car","name:ja":"トヨタレンタカー"}},"amenity/car_rental|ニッポンレンタカー":{countryCodes:["jp"],tags:{amenity:"car_rental",brand:"ニッポンレンタカー","brand:en":"Nippon Car Rental","brand:ja":"ニッポンレンタカー","brand:wikidata":"Q11086533","brand:wikipedia":"ja:ニッポンレンタカー",name:"ニッポンレンタカー","name:en":"Nippon Car Rental","name:ja":"ニッポンレンタカー"}},"amenity/car_rental|日産レンタカー":{countryCodes:["jp"],tags:{amenity:"car_rental",brand:"日産レンタカー","brand:en":"Nissan Car Rental","brand:ja":"日産レンタカー","brand:wikidata":"Q11086838","brand:wikipedia":"ja:日産レンタカー",name:"日産レンタカー","name:en":"Nissan Car Rental","name:ja":"日産レンタカー"}},"amenity/car_sharing|Bluely":{countryCodes:["fr"],matchNames:["station bluely"],tags:{amenity:"car_sharing",brand:"Bluely","brand:wikidata":"Q16039715","brand:wikipedia":"fr:Bluely",name:"Bluely"}},"amenity/car_sharing|Enterprise Car Club":{countryCodes:["gb"],matchNames:["city car club"],tags:{amenity:"car_sharing",brand:"Enterprise Car Club","brand:wikidata":"Q5123055","brand:wikipedia":"en:Enterprise Car Club",name:"Enterprise Car Club"}},"amenity/car_sharing|Greenwheels":{countryCodes:["de","nl"],tags:{amenity:"car_sharing",brand:"Greenwheels","brand:wikidata":"Q316782","brand:wikipedia":"en:Greenwheels",name:"Greenwheels"}},"amenity/car_sharing|Zipcar":{tags:{amenity:"car_sharing",brand:"Zipcar","brand:wikidata":"Q1069924","brand:wikipedia":"en:Zipcar",name:"Zipcar"}},"amenity/car_sharing|stadtmobil":{countryCodes:["de"],matchNames:["stadtmobil carsharing-station"],tags:{amenity:"car_sharing",brand:"stadtmobil","brand:wikidata":"Q2327629","brand:wikipedia":"en:Stadtmobil",name:"stadtmobil"}},"amenity/car_sharing|teilAuto":{countryCodes:["de"],tags:{amenity:"car_sharing",brand:"teilAuto","brand:wikidata":"Q2400658","brand:wikipedia":"de:TeilAuto",name:"teilAuto"}},"amenity/charging_station|Blink":{countryCodes:["us"],tags:{amenity:"charging_station",brand:"Blink","brand:wikidata":"Q62065645",name:"Blink"}},"amenity/charging_station|ChargePoint":{tags:{amenity:"charging_station",brand:"ChargePoint","brand:wikidata":"Q5176149","brand:wikipedia":"en:ChargePoint",name:"ChargePoint"}},"amenity/charging_station|Circuit électrique":{countryCodes:["ca"],tags:{amenity:"charging_station",brand:"Circuit électrique","brand:wikidata":"Q64969699",name:"Circuit électrique"}},"amenity/charging_station|E-WALD":{countryCodes:["de"],matchNames:["e-wald ladestation"],tags:{amenity:"charging_station",brand:"E-WALD","brand:wikidata":"Q61804335",name:"E-WALD"}},"amenity/charging_station|Enel":{countryCodes:["it"],matchNames:["enel - stazione di ricarica"],tags:{amenity:"charging_station",brand:"Enel","brand:wikidata":"Q651222","brand:wikipedia":"en:Enel",name:"Enel"}},"amenity/charging_station|FLO":{countryCodes:["ca"],nomatch:["shop/shoes|FLO"],tags:{amenity:"charging_station",brand:"FLO","brand:wikidata":"Q64971203",name:"FLO"}},"amenity/charging_station|Source London":{countryCodes:["gb"],tags:{amenity:"charging_station",brand:"Source London","brand:wikidata":"Q7565133","brand:wikipedia":"en:Source London",name:"Source London"}},"amenity/charging_station|Tesla Supercharger":{tags:{amenity:"charging_station",brand:"Tesla Supercharger","brand:wikidata":"Q17089620","brand:wikipedia":"en:Tesla Supercharger",name:"Tesla Supercharger"}},"amenity/charging_station|bike-energy Ladestation":{countryCodes:["at","ch","de","fr","it"],tags:{amenity:"charging_station",brand:"bike-energy Ladestation",name:"bike-energy Ladestation"}},"amenity/charging_station|eVgo":{countryCodes:["us"],tags:{amenity:"charging_station",brand:"eVgo","brand:wikidata":"Q61803820",name:"eVgo"}},"amenity/childcare|Kids 'R' Kids":{countryCodes:["us"],matchNames:["kids are kids"],tags:{after_school:"yes",amenity:"childcare",brand:"Kids 'R' Kids","brand:wikidata":"Q65560342",grades:"PK",name:"Kids 'R' Kids",nursery:"yes",official_name:"Kids 'R' Kids Learning Academies",preschool:"yes"}},"amenity/childcare|YMCA Child Care":{countryCodes:["us"],matchNames:["ymca","ymca child care center"],tags:{amenity:"childcare",brand:"YMCA","brand:wikidata":"Q157169","brand:wikipedia":"en:YMCA",name:"YMCA Child Care"}},"amenity/cinema|109シネマズ":{countryCodes:["jp"],tags:{amenity:"cinema",brand:"109シネマズ","brand:en":"109 Cinemas","brand:ja":"109シネマズ","brand:wikidata":"Q10854269","brand:wikipedia":"ja:109シネマズ",name:"109シネマズ","name:en":"109 Cinemas","name:ja":"109シネマズ"}},"amenity/cinema|AMC":{countryCodes:["us"],matchNames:["amc cinema","amc cinemas","amc theater","amc theaters","amc theatre","amc theatres"],tags:{amenity:"cinema",brand:"AMC","brand:wikidata":"Q294721","brand:wikipedia":"en:AMC Theatres",name:"AMC"}},"amenity/cinema|B&B Theatres":{countryCodes:["us"],matchNames:["b&b theaters"],tags:{amenity:"cinema",brand:"B&B Theatres","brand:wikidata":"Q4833576","brand:wikipedia":"en:B&B Theatres",name:"B&B Theatres",short_name:"B&B"}},"amenity/cinema|Caribbean Cinemas":{countryCodes:["ag","do","fr","gy","kn","lc","nl","pa","tt","us"],tags:{amenity:"cinema",brand:"Caribbean Cinemas","brand:wikidata":"Q5039364","brand:wikipedia":"en:Caribbean Cinemas",name:"Caribbean Cinemas"}},"amenity/cinema|Century Theatres":{countryCodes:["us"],matchNames:["century theater","century theaters","century theatre"],tags:{amenity:"cinema",brand:"Century Theatres","brand:wikidata":"Q2946307","brand:wikipedia":"en:Century Theatres",name:"Century Theatres",short_name:"Century"}},"amenity/cinema|CineStar":{countryCodes:["de"],tags:{amenity:"cinema",brand:"CineStar","brand:wikidata":"Q321889","brand:wikipedia":"de:Cinestar",name:"CineStar"}},"amenity/cinema|Cinema City":{countryCodes:["cz","hu","pl","ro"],tags:{amenity:"cinema",brand:"Cinema City","brand:wikidata":"Q543651","brand:wikipedia":"en:Cinema City International",name:"Cinema City"}},"amenity/cinema|Cinemark":{tags:{amenity:"cinema",brand:"Cinemark","brand:wikidata":"Q707530","brand:wikipedia":"en:Cinemark Theatres",name:"Cinemark"}},"amenity/cinema|Cinemaxx~(Europe)":{countryCodes:["de","dk"],nomatch:["amenity/cinema|Cinemaxx~(Indonesia)"],tags:{amenity:"cinema",brand:"Cinemaxx","brand:wikidata":"Q881860","brand:wikipedia":"de:CinemaxX",name:"Cinemaxx"}},"amenity/cinema|Cinemaxx~(Indonesia)":{countryCodes:["id"],nomatch:["amenity/cinema|Cinemaxx~(Europe)"],tags:{amenity:"cinema",brand:"Cinemaxx","brand:wikidata":"Q19942740","brand:wikipedia":"id:Cinemaxx",name:"Cinemaxx"}},"amenity/cinema|Cinemex":{countryCodes:["mx"],tags:{amenity:"cinema",brand:"Cinemex","brand:wikidata":"Q3333072","brand:wikipedia":"en:Cinemex",name:"Cinemex"}},"amenity/cinema|Cineplanet":{countryCodes:["cl","pe"],tags:{amenity:"cinema",brand:"Cineplanet","brand:wikidata":"Q5769680","brand:wikipedia":"es:Cineplanet",name:"Cineplanet"}},"amenity/cinema|Cineplexx":{countryCodes:["at","si"],tags:{amenity:"cinema",brand:"Cineplexx","brand:wikidata":"Q873340","brand:wikipedia":"en:Cineplexx Cinemas",name:"Cineplexx"}},"amenity/cinema|Cinepolis":{tags:{amenity:"cinema",brand:"Cinepolis","brand:wikidata":"Q5686673","brand:wikipedia":"en:Cinépolis",name:"Cinepolis"}},"amenity/cinema|Cineworld":{countryCodes:["gb"],tags:{amenity:"cinema",brand:"Cineworld","brand:wikidata":"Q5120901","brand:wikipedia":"en:Cineworld",name:"Cineworld"}},"amenity/cinema|Event":{countryCodes:["au","nz"],matchNames:["event cinema"],tags:{amenity:"cinema",brand:"Event","brand:wikidata":"Q5416698","brand:wikipedia":"en:Event Cinemas",name:"Event",official_name:"Event Cinemas"}},"amenity/cinema|Harkins Theatres":{countryCodes:["us"],matchNames:["harkins theater","harkins theaters","harkins theatre"],tags:{amenity:"cinema",brand:"Harkins Theatres","brand:wikidata":"Q5658199","brand:wikipedia":"en:Harkins Theatres",name:"Harkins Theatres",short_name:"Harkins"}},"amenity/cinema|Hoyts":{countryCodes:["au","nz"],tags:{amenity:"cinema",brand:"Hoyts","brand:wikidata":"Q5922976","brand:wikipedia":"en:Hoyts",name:"Hoyts"}},"amenity/cinema|Landmark Theatres":{countryCodes:["us"],matchNames:["landmark theater","landmark theaters","landmark theatre"],tags:{amenity:"cinema",brand:"Landmark Theatres","brand:wikidata":"Q6484805","brand:wikipedia":"en:Landmark Theatres",name:"Landmark Theatres",short_name:"Landmark"}},"amenity/cinema|MOVIX":{countryCodes:["jp"],tags:{amenity:"cinema",brand:"MOVIX","brand:wikidata":"Q11532184","brand:wikipedia":"ja:松竹マルチプレックスシアターズ",name:"MOVIX",official_name:"松竹マルチプレックスシアターズ","official_name:en":"Shochiku Multiplex Theatres"}},"amenity/cinema|Marcus Cinema":{countryCodes:["us"],matchNames:["marcus cinemas","marcus theater","marcus theaters","marcus theatre","marcus theatres"],tags:{amenity:"cinema",brand:"Marcus Cinema","brand:wikidata":"Q64083352",name:"Marcus Cinema",short_name:"Marcus"}},"amenity/cinema|Movie Tavern":{countryCodes:["us"],tags:{amenity:"cinema",brand:"Movie Tavern","brand:wikidata":"Q64083534",name:"Movie Tavern"}},"amenity/cinema|Multikino":{countryCodes:["lt","lv","pl"],tags:{amenity:"cinema",brand:"Multikino","brand:wikidata":"Q1144802","brand:wikipedia":"pl:Multikino",name:"Multikino"}},"amenity/cinema|Odeon":{countryCodes:["gb","gr","ie","it"],matchNames:["odeon cinema"],tags:{amenity:"cinema",brand:"Odeon","brand:wikidata":"Q6127470","brand:wikipedia":"en:Odeon Cinemas",name:"Odeon"}},"amenity/cinema|Regal Cinemas":{countryCodes:["us"],matchNames:["regal cinema"],tags:{amenity:"cinema",brand:"Regal Cinemas","brand:wikidata":"Q835638","brand:wikipedia":"en:Regal Cinemas",name:"Regal Cinemas",short_name:"Regal"}},"amenity/cinema|Showcase Cinemas":{countryCodes:["ar","gb","us"],matchNames:["showcase cinema"],tags:{amenity:"cinema",brand:"Showcase Cinemas","brand:wikidata":"Q7503170","brand:wikipedia":"en:Showcase Cinemas",name:"Showcase Cinemas",short_name:"Showcase"}},"amenity/cinema|TOHOシネマズ":{countryCodes:["jp"],tags:{amenity:"cinema",brand:"TOHOシネマズ","brand:en":"TOHO CINEMAS","brand:ja":"TOHOシネマズ","brand:wikidata":"Q11235261","brand:wikipedia":"ja:TOHOシネマズ",name:"TOHOシネマズ","name:en":"Toho Cinemas","name:ja":"TOHOシネマズ",short_name:"TOHO"}},"amenity/cinema|The Space Cinema":{countryCodes:["it"],matchNames:["the space"],tags:{amenity:"cinema",brand:"The Space Cinema","brand:wikidata":"Q3989406","brand:wikipedia":"it:The Space Cinema",name:"The Space Cinema"}},"amenity/cinema|Vue~(IrelandAndUK)":{countryCodes:["gb","ie"],matchNames:["vue cinema","vue cinemas"],nomatch:["amenity/cinema|Vue~(Netherlands)"],tags:{amenity:"cinema",brand:"Vue","brand:wikidata":"Q2535134","brand:wikipedia":"en:Vue Cinemas",name:"Vue"}},"amenity/cinema|Vue~(Netherlands)":{countryCodes:["nl"],matchNames:["vue cinema"],nomatch:["amenity/cinema|Vue~(IrelandAndUK)"],tags:{amenity:"cinema",brand:"Vue","brand:wikidata":"Q2421690","brand:wikipedia":"nl:Vue (bioscoopketen)",name:"Vue"}},"amenity/cinema|イオンシネマ":{countryCodes:["jp"],tags:{amenity:"cinema",brand:"イオンシネマ","brand:en":"AEON Cinema","brand:ja":"イオンシネマ","brand:wikidata":"Q17192792","brand:wikipedia":"ja:イオンエンターテイメント",name:"イオンシネマ","name:en":"AEON Cinema","name:ja":"イオンシネマ"}},"amenity/cinema|ユナイテッド・シネマ":{countryCodes:["jp"],tags:{amenity:"cinema",brand:"ユナイテッド・シネマ","brand:en":"United Cinemas","brand:ja":"ユナイテッド・シネマ","brand:wikidata":"Q11345629","brand:wikipedia":"ja:ユナイテッド・シネマ",name:"ユナイテッド・シネマ","name:en":"United Cinemas","name:ja":"ユナイテッド・シネマ"}},"amenity/clinic|CityMD":{countryCodes:["us"],tags:{amenity:"clinic",brand:"CityMD","brand:wikidata":"Q22295471","brand:wikipedia":"en:CityMD",healthcare:"clinic",name:"CityMD"}},"amenity/clinic|DaVita Dialysis":{countryCodes:["us"],matchNames:["davita","davita kidney care"],tags:{amenity:"clinic",brand:"DaVita Dialysis","brand:wikidata":"Q5207184",healthcare:"dialysis","healthcare:speciality":"dialysis",name:"DaVita Dialysis"}},"amenity/clinic|Dialysis Clinic":{countryCodes:["us"],matchNames:["dialysis clinic inc"],tags:{amenity:"clinic",brand:"Dialysis Clinic","brand:wikidata":"Q5270633","brand:wikipedia":"en:Dialysis Clinic, Inc.",healthcare:"dialysis","healthcare:speciality":"dialysis",name:"Dialysis Clinic",short_name:"DCI"}},"amenity/clinic|Fresenius Kidney Care":{countryCodes:["us"],tags:{amenity:"clinic",brand:"Fresenius Kidney Care","brand:wikidata":"Q650259","brand:wikipedia":"en:Fresenius Medical Care",healthcare:"dialysis","healthcare:speciality":"dialysis",name:"Fresenius Kidney Care"}},"amenity/clinic|Fresenius Medical Care":{countryCodes:["us"],tags:{amenity:"clinic",brand:"Fresenius Medical Care","brand:wikidata":"Q650259","brand:wikipedia":"en:Fresenius Medical Care",healthcare:"dialysis","healthcare:speciality":"dialysis",name:"Fresenius Medical Care"}},"amenity/clinic|Planned Parenthood":{countryCodes:["us"],matchTags:["amenity/doctors","amenity/social_facility"],tags:{amenity:"clinic",brand:"Planned Parenthood","brand:wikidata":"Q2553262",healthcare:"counselling","healthcare:counselling":"antenatal;sexual",name:"Planned Parenthood"}},"amenity/clinic|Satellite Healthcare":{countryCodes:["us"],matchNames:["satellite","satellite dialysis"],tags:{amenity:"clinic",brand:"Satellite Healthcare","brand:wikidata":"Q50039787",healthcare:"dialysis","healthcare:speciality":"dialysis",name:"Satellite Healthcare"}},"amenity/clinic|Terveystalo":{countryCodes:["fi"],tags:{amenity:"clinic",brand:"Terveystalo","brand:wikidata":"Q11897034","brand:wikipedia":"fi:Terveystalo",healthcare:"clinic",name:"Terveystalo"}},"amenity/clinic|VA Clinic":{countryCodes:["us"],matchNames:["department of veterans affairs clinic","veterans administration","veterans administration clinic","veterans affairs","veterans affairs clinic"],tags:{amenity:"clinic",brand:"VA","brand:wikidata":"Q6580225","brand:wikipedia":"en:Veterans Health Administration",healthcare:"clinic","healthcare:for":"veterans",name:"VA Clinic",short_name:"VA"}},"amenity/dentist|Aspen Dental":{countryCodes:["us"],matchTags:["healthcare/dentist"],tags:{amenity:"dentist",brand:"Aspen Dental","brand:wikidata":"Q4807808","brand:wikipedia":"en:Aspen Dental",healthcare:"dentist",name:"Aspen Dental"}},"amenity/dentist|Comfort Dental":{countryCodes:["us"],matchTags:["healthcare/dentist"],tags:{amenity:"dentist",brand:"Comfort Dental","brand:wikidata":"Q22079521","brand:wikipedia":"en:Comfort Dental",healthcare:"dentist",name:"Comfort Dental"}},"amenity/dentist|Dentix":{tags:{amenity:"dentist",brand:"Dentix",name:"Dentix"}},"amenity/dentist|Folktandvården":{tags:{amenity:"dentist",brand:"Folktandvården",name:"Folktandvården"}},"amenity/dentist|Gentle Dental":{countryCodes:["us"],tags:{amenity:"dentist",brand:"Gentle Dental",name:"Gentle Dental"}},"amenity/dentist|Kool Smiles":{countryCodes:["us"],matchTags:["healthcare/dentist"],tags:{amenity:"dentist",brand:"Kool Smiles","brand:wikidata":"Q6430587","brand:wikipedia":"en:Kool Smiles",healthcare:"dentist",name:"Kool Smiles"}},"amenity/dentist|Vitaldent":{countryCodes:["es","it"],tags:{amenity:"dentist",brand:"Vitaldent",name:"Vitaldent"}},"amenity/dentist|Western Dental":{countryCodes:["us"],matchTags:["healthcare/dentist"],tags:{alt_name:"Western Dental & Orthodontics",amenity:"dentist",brand:"Western Dental","brand:wikidata":"Q64211989","brand:wikipedia":"en:Western Dental",healthcare:"dentist",name:"Western Dental"}},"amenity/doctors|MinuteClinic":{countryCodes:["us"],matchTags:["amenity/clinic"],tags:{amenity:"doctors",brand:"MinuteClinic","brand:wikidata":"Q6871141","brand:wikipedia":"en:MinuteClinic",healthcare:"doctor","healthcare:speciality":"community",name:"MinuteClinic"}},"amenity/doctors|RediClinic":{countryCodes:["us"],matchTags:["amenity/clinic"],tags:{amenity:"doctors",brand:"RediClinic","brand:wikidata":"Q64138408",healthcare:"doctor","healthcare:speciality":"community",name:"RediClinic"}},"amenity/doctors|The Little Clinic":{countryCodes:["us"],matchNames:["little clinic"],matchTags:["amenity/clinic"],tags:{amenity:"doctors",brand:"The Little Clinic","brand:wikidata":"Q64138262",healthcare:"doctor","healthcare:speciality":"community",name:"The Little Clinic"}},"amenity/doctors|Walgreens Healthcare Clinic":{countryCodes:["us"],matchNames:["healthcare clinic","takecare","takecare clinic","walgreens"],matchTags:["amenity/clinic"],tags:{amenity:"doctors",brand:"Walgreens","brand:wikidata":"Q1591889",healthcare:"doctor","healthcare:speciality":"community",name:"Walgreens Healthcare Clinic"}},"amenity/fast_food|A&W~(Canada)":{countryCodes:["ca"],nomatch:["amenity/fast_food|A&W~(USA)"],tags:{amenity:"fast_food",brand:"A&W","brand:wikidata":"Q2818848","brand:wikipedia":"en:A&W (Canada)",cuisine:"burger",name:"A&W",takeaway:"yes"}},"amenity/fast_food|A&W~(USA)":{countryCodes:["us"],nomatch:["amenity/fast_food|A&W~(Canada)"],tags:{amenity:"fast_food",brand:"A&W","brand:wikidata":"Q277641","brand:wikipedia":"en:A&W Restaurants",cuisine:"burger",name:"A&W",takeaway:"yes"}},"amenity/fast_food|Andok's":{countryCodes:["ph"],tags:{amenity:"fast_food",brand:"Andok's","brand:wikidata":"Q62267166",cuisine:"chicken",name:"Andok's",takeaway:"yes"}},"amenity/fast_food|Angel's Burger":{countryCodes:["ph"],tags:{amenity:"fast_food",brand:"Angel's Burger","brand:wikidata":"Q62267228",cuisine:"burger",name:"Angel's Burger",takeaway:"yes"}},"amenity/fast_food|Arby's":{countryCodes:["ca","tr","us"],tags:{amenity:"fast_food",brand:"Arby's","brand:wikidata":"Q630866","brand:wikipedia":"en:Arby's",cuisine:"sandwich",name:"Arby's",takeaway:"yes"}},"amenity/fast_food|Au Bon Pain":{countryCodes:["in","th","us"],tags:{amenity:"fast_food",brand:"Au Bon Pain","brand:wikidata":"Q4818942","brand:wikipedia":"en:Au Bon Pain",cuisine:"sandwich",name:"Au Bon Pain",takeaway:"yes"}},"amenity/fast_food|Auntie Anne's":{countryCodes:["us"],matchNames:["auntie annes pretzels"],tags:{amenity:"fast_food",brand:"Auntie Anne's","brand:wikidata":"Q4822010","brand:wikipedia":"en:Auntie Anne's",cuisine:"pretzel",name:"Auntie Anne's",takeaway:"yes"}},"amenity/fast_food|Back Yard Burgers":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Back Yard Burgers","brand:wikidata":"Q2878376","brand:wikipedia":"en:Back Yard Burgers",cuisine:"burger",name:"Back Yard Burgers",takeaway:"yes"}},"amenity/fast_food|Baja Fresh":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Baja Fresh","brand:wikidata":"Q2880019","brand:wikipedia":"en:Baja Fresh",cuisine:"mexican",name:"Baja Fresh",takeaway:"yes"}},"amenity/fast_food|Barburrito":{countryCodes:["gb"],tags:{amenity:"fast_food",brand:"Barburrito","brand:wikidata":"Q16983668","brand:wikipedia":"en:Barburrito",cuisine:"mexican",name:"Barburrito",takeaway:"yes"}},"amenity/fast_food|Bembos":{countryCodes:["pe"],tags:{amenity:"fast_food",brand:"Bembos","brand:wikidata":"Q466971","brand:wikipedia":"en:Bembos",cuisine:"burger",name:"Bembos",takeaway:"yes"}},"amenity/fast_food|Blimpie":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Blimpie","brand:wikidata":"Q4926479","brand:wikipedia":"en:Blimpie",cuisine:"sandwich",name:"Blimpie",takeaway:"yes"}},"amenity/fast_food|Bob's":{countryCodes:["ao","br","cl","pt"],tags:{amenity:"fast_food",brand:"Bob's","brand:wikidata":"Q1392113","brand:wikipedia":"en:Bob's",cuisine:"burger",name:"Bob's",takeaway:"yes"}},"amenity/fast_food|Bojangles'":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Bojangles'","brand:wikidata":"Q891163","brand:wikipedia":"en:Bojangles' Famous Chicken 'n Biscuits",cuisine:"chicken",name:"Bojangles'",official_name:"Bojangles' Famous Chicken 'n Biscuits",takeaway:"yes"}},"amenity/fast_food|Booster Juice":{countryCodes:["ca"],matchTags:["shop/beverages"],tags:{amenity:"fast_food",brand:"Booster Juice","brand:wikidata":"Q4943796","brand:wikipedia":"en:Booster Juice",cuisine:"juice",name:"Booster Juice",takeaway:"yes"}},"amenity/fast_food|Boston Market":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Boston Market","brand:wikidata":"Q603617","brand:wikipedia":"en:Boston Market",cuisine:"american",name:"Boston Market",takeaway:"yes"}},"amenity/fast_food|Braum's":{countryCodes:["us"],matchTags:["shop/dairy"],tags:{amenity:"fast_food",brand:"Braum's","brand:wikidata":"Q4958263","brand:wikipedia":"en:Braum's",cuisine:"ice_cream",name:"Braum's",shop:"dairy",takeaway:"yes"}},"amenity/fast_food|Bruegger's Bagels":{countryCodes:["us"],matchNames:["breuger's","breugger's","bruger's","brugger's"],tags:{amenity:"fast_food",brand:"Bruegger's Bagels","brand:wikidata":"Q4978656","brand:wikipedia":"en:Bruegger's",cuisine:"bagel",name:"Bruegger's Bagels",short_name:"Bruegger's",takeaway:"yes"}},"amenity/fast_food|Burger King":{matchNames:["burguer king"],tags:{amenity:"fast_food",brand:"Burger King","brand:wikidata":"Q177054","brand:wikipedia":"en:Burger King",cuisine:"burger",name:"Burger King",takeaway:"yes"}},"amenity/fast_food|Burger Machine":{countryCodes:["ph"],tags:{amenity:"fast_food",brand:"Burger Machine","brand:wikidata":"Q4998549","brand:wikipedia":"en:Burger Machine",cuisine:"burger",name:"Burger Machine",takeaway:"yes"}},"amenity/fast_food|BurgerFi":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"BurgerFi","brand:wikidata":"Q39045496","brand:wikipedia":"en:BurgerFi",cuisine:"burger",name:"BurgerFi",takeaway:"yes"}},"amenity/fast_food|Burgerim":{countryCodes:["il"],tags:{amenity:"fast_food",brand:"Burgerim","brand:en":"Burgerim","brand:he":"בורגרים","brand:wikidata":"Q64760354",cuisine:"burger",name:"Burgerim","name:en":"Burgerim","name:he":"בורגרים",takeaway:"yes"}},"amenity/fast_food|Burgers Bar":{countryCodes:["il"],tags:{amenity:"fast_food",brand:"Burgers Bar","brand:en":"Burgers Bar","brand:he":"בורגרס בר","brand:wikidata":"Q64760337",cuisine:"burger","diet:kosher":"yes",name:"Burgers Bar","name:en":"Burgers Bar","name:he":"בורגרס בר",takeaway:"yes"}},"amenity/fast_food|Burgerville":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Burgerville","brand:wikidata":"Q4998570","brand:wikipedia":"en:Burgerville",cuisine:"burger",name:"Burgerville",takeaway:"yes"}},"amenity/fast_food|Captain D's":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Captain D's","brand:wikidata":"Q5036616","brand:wikipedia":"en:Captain D's",cuisine:"seafood",name:"Captain D's",takeaway:"yes"}},"amenity/fast_food|Carl's Jr.":{tags:{amenity:"fast_food",brand:"Carl's Jr.","brand:wikidata":"Q1043486","brand:wikipedia":"en:Carl's Jr.",cuisine:"burger",name:"Carl's Jr.",takeaway:"yes"}},"amenity/fast_food|Charleys Philly Steaks":{countryCodes:["us"],matchNames:["charleys"],tags:{amenity:"fast_food",brand:"Charleys Philly Steaks","brand:wikidata":"Q1066777","brand:wikipedia":"en:Charleys Philly Steaks",cuisine:"sandwich",name:"Charleys Philly Steaks",takeaway:"yes"}},"amenity/fast_food|Checkers":{nomatch:["shop/supermarket|Checkers"],tags:{amenity:"fast_food",brand:"Checkers","brand:wikidata":"Q63919315",cuisine:"burger",name:"Checkers",takeaway:"yes"}},"amenity/fast_food|Chester's":{countryCodes:["us"],matchNames:["chesters chicken"],tags:{amenity:"fast_food",brand:"Chester's","brand:wikidata":"Q5093401","brand:wikipedia":"en:Chester's International",cuisine:"chicken",name:"Chester's",takeaway:"yes"}},"amenity/fast_food|Chick-fil-A":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Chick-fil-A","brand:wikidata":"Q491516","brand:wikipedia":"en:Chick-fil-A",cuisine:"chicken",name:"Chick-fil-A",takeaway:"yes"}},"amenity/fast_food|Chicken Express":{countryCodes:["gb","us"],tags:{amenity:"fast_food",brand:"Chicken Express","brand:wikidata":"Q5096235","brand:wikipedia":"en:Chicken Express",cuisine:"chicken",name:"Chicken Express",takeaway:"yes"}},"amenity/fast_food|China Wok":{tags:{amenity:"fast_food",brand:"China Wok","brand:wikidata":"Q5766542","brand:wikipedia":"es:China Wok",cuisine:"chinese",name:"China Wok",takeaway:"yes"}},"amenity/fast_food|Chipotle":{tags:{amenity:"fast_food",brand:"Chipotle","brand:wikidata":"Q465751","brand:wikipedia":"en:Chipotle Mexican Grill",cuisine:"mexican",name:"Chipotle",official_name:"Chipotle Mexican Grill",takeaway:"yes"}},"amenity/fast_food|Chopt":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Chopt","brand:wikidata":"Q17509305","brand:wikipedia":"en:Chopt",cuisine:"salad",name:"Chopt",takeaway:"yes"}},"amenity/fast_food|Chowking":{countryCodes:["ph"],tags:{amenity:"fast_food",brand:"Chowking","brand:wikidata":"Q1076816","brand:wikipedia":"en:Chowking",cuisine:"asian",name:"Chowking",takeaway:"yes"}},"amenity/fast_food|Church's Chicken":{tags:{amenity:"fast_food",brand:"Church's Chicken","brand:wikidata":"Q1089932","brand:wikipedia":"en:Church's Chicken",cuisine:"chicken",name:"Church's Chicken",takeaway:"yes"}},"amenity/fast_food|Cinnabon":{matchTags:["shop/confectionery"],tags:{amenity:"fast_food",brand:"Cinnabon","brand:website":"https://www.cinnabon.com/","brand:wikidata":"Q1092539","brand:wikipedia":"en:Cinnabon",cuisine:"dessert",name:"Cinnabon",takeaway:"yes"}},"amenity/fast_food|City Döner":{tags:{amenity:"fast_food",brand:"City Döner",name:"City Döner",takeaway:"yes"}},"amenity/fast_food|CoCo壱番屋":{countryCodes:["cn","jp"],tags:{amenity:"fast_food",brand:"CoCo壱番屋","brand:en":"CoCo Ichibanya","brand:ja":"CoCo壱番屋","brand:wikidata":"Q5986105","brand:wikipedia":"en:Ichibanya",cuisine:"japanese",name:"CoCo壱番屋","name:en":"CoCo Ichibanya","name:ja":"CoCo壱番屋",takeaway:"yes"}},"amenity/fast_food|Cook Out":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Cook Out","brand:wikidata":"Q5166992","brand:wikipedia":"en:Cook Out (restaurant)",cuisine:"american",name:"Cook Out",takeaway:"yes"}},"amenity/fast_food|Così":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Così","brand:wikidata":"Q5175243","brand:wikipedia":"en:Così (restaurant)",cuisine:"sandwich",name:"Così",takeaway:"yes"}},"amenity/fast_food|Cultures":{countryCodes:["ca"],tags:{amenity:"fast_food",brand:"Cultures","brand:wikidata":"Q64876898",cuisine:"sandwich",name:"Cultures",takeaway:"yes"}},"amenity/fast_food|Culver's":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Culver's","brand:wikidata":"Q1143589","brand:wikipedia":"en:Culver's",cuisine:"burger",name:"Culver's",takeaway:"yes"}},"amenity/fast_food|DQ Grill & Chill":{countryCodes:["ca","us"],nomatch:["amenity/fast_food|Dairy Queen"],tags:{amenity:"fast_food",brand:"DQ Grill & Chill","brand:wikidata":"Q1141226","brand:wikipedia":"en:Dairy Queen",cuisine:"ice_cream;burger",name:"DQ Grill & Chill",takeaway:"yes"}},"amenity/fast_food|Dairy Queen":{matchNames:["dq"],nomatch:["amenity/fast_food|DQ Grill & Chill"],tags:{amenity:"fast_food",brand:"Dairy Queen","brand:wikidata":"Q1141226","brand:wikipedia":"en:Dairy Queen",cuisine:"ice_cream;burger",name:"Dairy Queen",takeaway:"yes"}},"amenity/fast_food|Daylight Donuts":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Daylight Donuts","brand:wikidata":"Q48970508","brand:wikipedia":"en:Daylight Donuts",cuisine:"donut",name:"Daylight Donuts",takeaway:"yes"}},"amenity/fast_food|Del Taco":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Del Taco","brand:wikidata":"Q1183818","brand:wikipedia":"en:Del Taco",cuisine:"mexican",name:"Del Taco",takeaway:"yes"}},"amenity/fast_food|Dig Inn":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Dig Inn","brand:wikidata":"Q28226241","brand:wikipedia":"en:Dig Inn",cuisine:"regional",name:"Dig Inn",takeaway:"yes"}},"amenity/fast_food|Domino's Pizza":{tags:{amenity:"fast_food",brand:"Domino's Pizza","brand:wikidata":"Q839466","brand:wikipedia":"en:Domino's Pizza",cuisine:"pizza",name:"Domino's Pizza",short_name:"Domino's",takeaway:"yes"}},"amenity/fast_food|Dunkin' Donuts":{matchNames:["dunkin doughnuts"],tags:{amenity:"fast_food",brand:"Dunkin' Donuts","brand:wikidata":"Q847743","brand:wikipedia":"en:Dunkin' Donuts",cuisine:"donut;coffee",name:"Dunkin' Donuts",takeaway:"yes"}},"amenity/fast_food|Einstein Bros. Bagels":{countryCodes:["us"],matchNames:["einstein bros","einstein brothers"],tags:{alt_name:"Einstein Brothers Bagels",amenity:"fast_food",brand:"Einstein Bros. Bagels","brand:wikidata":"Q5349788","brand:wikipedia":"en:Einstein Bros. Bagels",cuisine:"bagel",name:"Einstein Bros. Bagels",takeaway:"yes"}},"amenity/fast_food|El Pollo Loco":{countryCodes:["mx","us"],tags:{amenity:"fast_food",brand:"El Pollo Loco","brand:wikidata":"Q2353849","brand:wikipedia":"en:El Pollo Loco",cuisine:"mexican",name:"El Pollo Loco",takeaway:"yes"}},"amenity/fast_food|Everest":{countryCodes:["gr"],tags:{amenity:"fast_food",brand:"Everest","brand:wikidata":"Q62273299",cuisine:"burger",name:"Everest",takeaway:"yes"}},"amenity/fast_food|Extreme Pita":{countryCodes:["ca","us"],tags:{amenity:"fast_food",brand:"Extreme Pita","brand:wikidata":"Q5422367","brand:wikipedia":"en:Extreme Pita",cuisine:"pita",name:"Extreme Pita",takeaway:"yes"}},"amenity/fast_food|Fazoli's":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Fazoli's","brand:wikidata":"Q1399195","brand:wikipedia":"en:Fazoli's",cuisine:"italian",name:"Fazoli's",takeaway:"yes"}},"amenity/fast_food|Firehouse Subs":{countryCodes:["ca","us"],tags:{amenity:"fast_food",brand:"Firehouse Subs","brand:wikidata":"Q5451873","brand:wikipedia":"en:Firehouse Subs",cuisine:"sandwich",name:"Firehouse Subs",takeaway:"yes"}},"amenity/fast_food|Five Guys":{tags:{amenity:"fast_food",brand:"Five Guys","brand:wikidata":"Q1131810","brand:wikipedia":"en:Five Guys",cuisine:"burger",name:"Five Guys",official_name:"Five Guys Burgers and Fries",takeaway:"yes"}},"amenity/fast_food|Freddy's":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Freddy's","brand:wikidata":"Q5496837","brand:wikipedia":"en:Freddy's Frozen Custard & Steakburgers",cuisine:"ice_cream;burger",name:"Freddy's",official_name:"Freddys Frozen Custard & Steakburgers",takeaway:"yes"}},"amenity/fast_food|Freebirds":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Freebirds","brand:wikidata":"Q5500367","brand:wikipedia":"en:Freebirds World Burrito",cuisine:"mexican",name:"Freebirds",takeaway:"yes"}},"amenity/fast_food|Gabriel Pizza":{countryCodes:["ca"],tags:{amenity:"fast_food",brand:"Gabriel Pizza","brand:wikidata":"Q5515791","brand:wikipedia":"en:Gabriel Pizza",cuisine:"pizza",name:"Gabriel Pizza",takeaway:"yes"}},"amenity/fast_food|Gino's Pizza":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Gino's Pizza","brand:wikidata":"Q5563205","brand:wikipedia":"en:Gino's Pizza and Spaghetti",cuisine:"pizza",name:"Gino's Pizza",takeaway:"yes"}},"amenity/fast_food|Gold Star Chili":{countryCodes:["us"],tags:{alt_name:"Gold Star",amenity:"fast_food",brand:"Gold Star Chili","brand:wikidata":"Q16994254","brand:wikipedia":"en:Gold Star Chili",cuisine:"chili",name:"Gold Star Chili",takeaway:"yes"}},"amenity/fast_food|Golden Krust Caribbean Bakery & Grill":{countryCodes:["ca","us"],tags:{amenity:"fast_food",brand:"Golden Krust Caribbean Bakery & Grill","brand:wikidata":"Q5579615","brand:wikipedia":"en:Golden Krust Caribbean Bakery & Grill",cuisine:"caribbean",name:"Golden Krust",takeaway:"yes"}},"amenity/fast_food|Great American Cookies":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Great American Cookies","brand:wikidata":"Q5598629","brand:wikipedia":"en:Great American Cookies",cuisine:"cookies",name:"Great American Cookies",takeaway:"yes"}},"amenity/fast_food|Greenwich":{countryCodes:["ph"],tags:{amenity:"fast_food",brand:"Greenwich","brand:wikidata":"Q2691308","brand:wikipedia":"en:Greenwich Pizza",cuisine:"pizza",name:"Greenwich",takeaway:"yes"}},"amenity/fast_food|Habib's":{countryCodes:["br","mx"],tags:{amenity:"fast_food",brand:"Habib's","brand:wikidata":"Q2504930","brand:wikipedia":"en:Habib's",cuisine:"middle_eastern",name:"Habib's",takeaway:"yes"}},"amenity/fast_food|Hallo Pizza":{countryCodes:["de"],tags:{amenity:"fast_food",brand:"Hallo Pizza","brand:wikidata":"Q1571798","brand:wikipedia":"de:Hallo Pizza",cuisine:"pizza",name:"Hallo Pizza",takeaway:"yes"}},"amenity/fast_food|Hardee's":{tags:{amenity:"fast_food",brand:"Hardee's","brand:wikidata":"Q1585088","brand:wikipedia":"en:Hardee's",cuisine:"burger",name:"Hardee's",takeaway:"yes"}},"amenity/fast_food|Harvey's":{countryCodes:["ca"],nomatch:["shop/furniture|Harveys"],tags:{amenity:"fast_food",brand:"Harvey's","brand:wikidata":"Q1466184","brand:wikipedia":"en:Harvey's",cuisine:"burger",name:"Harvey's",takeaway:"yes"}},"amenity/fast_food|Herfy":{countryCodes:["ae","bd","bh","kw","sa"],tags:{amenity:"fast_food",brand:"Herfy","brand:ar":"هرفي","brand:en":"Herfy","brand:wikidata":"Q5738371","brand:wikipedia":"en:Herfy",cuisine:"burger",name:"Herfy","name:ar":"هرفي","name:en":"Herfy",takeaway:"yes"}},"amenity/fast_food|Hesburger":{tags:{amenity:"fast_food",brand:"Hesburger","brand:wikidata":"Q1276832","brand:wikipedia":"en:Hesburger",cuisine:"burger",name:"Hesburger",takeaway:"yes"}},"amenity/fast_food|Hot Dog on a Stick":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Hot Dog on a Stick","brand:wikidata":"Q5909922","brand:wikipedia":"en:Hot Dog on a Stick",cuisine:"hot_dog",name:"Hot Dog on a Stick",takeaway:"yes"}},"amenity/fast_food|Hot Head Burritos":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Hot Head Burritos","brand:wikidata":"Q5910008","brand:wikipedia":"en:Hot Head Burritos",cuisine:"mexican",name:"Hot Head Burritos",short_name:"Hot Head",takeaway:"yes"}},"amenity/fast_food|Hungry Howie's":{countryCodes:["us"],matchNames:["hungry howies pizza"],tags:{amenity:"fast_food",brand:"Hungry Howie's","brand:wikidata":"Q16985303","brand:wikipedia":"en:Hungry Howie's Pizza",cuisine:"pizza",name:"Hungry Howie's",takeaway:"yes"}},"amenity/fast_food|Hungry Jacks":{countryCodes:["au"],tags:{amenity:"fast_food",brand:"Hungry Jacks","brand:wikidata":"Q3036373","brand:wikipedia":"en:Hungry Jack's",cuisine:"burger",name:"Hungry Jacks",takeaway:"yes"}},"amenity/fast_food|In-N-Out Burger":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"In-N-Out Burger","brand:wikidata":"Q1205312","brand:wikipedia":"en:In-N-Out Burger",cuisine:"burger",name:"In-N-Out Burger",takeaway:"yes"}},"amenity/fast_food|Jack in the Box":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Jack in the Box","brand:wikidata":"Q1538507","brand:wikipedia":"en:Jack in the Box",cuisine:"burger",name:"Jack in the Box",takeaway:"yes"}},"amenity/fast_food|Jamba Juice":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Jamba Juice","brand:wikidata":"Q3088784","brand:wikipedia":"en:Jamba Juice",cuisine:"juice",name:"Jamba Juice",takeaway:"yes"}},"amenity/fast_food|Jersey Mike's Subs":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Jersey Mike's Subs","brand:wikidata":"Q6184897","brand:wikipedia":"en:Jersey Mike's Subs",cuisine:"sandwich",name:"Jersey Mike's Subs",short_name:"Jersey Mike's",takeaway:"yes"}},"amenity/fast_food|Jimmy John's":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Jimmy John's","brand:wikidata":"Q1689380","brand:wikipedia":"en:Jimmy John's",cuisine:"sandwich",name:"Jimmy John's",takeaway:"yes"}},"amenity/fast_food|Jimmy the Greek":{countryCodes:["ae","ca"],tags:{amenity:"fast_food",brand:"Jimmy the Greek","brand:wikidata":"Q17077817","brand:wikipedia":"en:Jimmy the Greek (restaurant)",cuisine:"greek",name:"Jimmy the Greek",takeaway:"yes"}},"amenity/fast_food|Jollibee":{tags:{amenity:"fast_food",brand:"Jollibee","brand:wikidata":"Q37614","brand:wikipedia":"en:Jollibee",cuisine:"burger",name:"Jollibee",takeaway:"yes"}},"amenity/fast_food|Just Salad":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Just Salad","brand:wikidata":"Q23091823","brand:wikipedia":"en:Just Salad",cuisine:"salad",name:"Just Salad",takeaway:"yes"}},"amenity/fast_food|KFC":{tags:{alt_name:"Kentucky Fried Chicken",amenity:"fast_food",brand:"KFC","brand:wikidata":"Q524757","brand:wikipedia":"en:KFC",cuisine:"chicken",name:"KFC",takeaway:"yes"}},"amenity/fast_food|Kernels Popcorn":{countryCodes:["ca"],tags:{amenity:"fast_food",brand:"Kernels Popcorn","brand:wikidata":"Q64876684",cuisine:"popcorn",name:"Kernels Popcorn",takeaway:"yes"}},"amenity/fast_food|Kochlöffel":{countryCodes:["de","tr"],tags:{amenity:"fast_food",brand:"Kochlöffel","brand:wikidata":"Q315539","brand:wikipedia":"en:Kochlöffel",cuisine:"burger",name:"Kochlöffel",takeaway:"yes"}},"amenity/fast_food|Kotipizza":{countryCodes:["fi"],tags:{amenity:"fast_food",brand:"Kotipizza","brand:wikidata":"Q1628625","brand:wikipedia":"en:Kotipizza",cuisine:"pizza",name:"Kotipizza",takeaway:"yes"}},"amenity/fast_food|Krispy Kreme":{matchNames:["krispy kreme doughnuts"],tags:{amenity:"fast_food",brand:"Krispy Kreme","brand:wikidata":"Q1192805","brand:wikipedia":"en:Krispy Kreme",cuisine:"donut",name:"Krispy Kreme",takeaway:"yes"}},"amenity/fast_food|Krystal":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Krystal","brand:wikidata":"Q472195","brand:wikipedia":"en:Krystal (restaurant)",cuisine:"burger",name:"Krystal",takeaway:"yes"}},"amenity/fast_food|L&L Drive-Inn~(Hawaii)":{countryCodes:["us"],matchNames:["l&l","l&l drive-in"],tags:{amenity:"fast_food",brand:"L&L Drive-Inn","brand:wikidata":"Q6455441","brand:wikipedia":"en:L&L Hawaiian Barbecue",cuisine:"hawaiian",name:"L&L Drive-Inn",takeaway:"yes"}},"amenity/fast_food|L&L Hawaiian Barbecue":{countryCodes:["us"],matchNames:["l&l","l&l hawaiian bbq"],tags:{amenity:"fast_food",brand:"L&L Hawaiian Barbecue","brand:wikidata":"Q6455441","brand:wikipedia":"en:L&L Hawaiian Barbecue",cuisine:"hawaiian",name:"L&L Hawaiian Barbecue",takeaway:"yes"}},"amenity/fast_food|La Belle Province":{countryCodes:["ca"],tags:{amenity:"fast_food",brand:"La Belle Province","brand:wikidata":"Q3206579","brand:wikipedia":"fr:La Belle Province (restaurant)",cuisine:"burger;sandwich",name:"La Belle Province",takeaway:"yes"}},"amenity/fast_food|Lee's Sandwiches":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Lee's Sandwiches","brand:wikidata":"Q6512823","brand:wikipedia":"en:Lee's Sandwiches",cuisine:"vietnamese;sandwich",name:"Lee's Sandwiches",takeaway:"yes"}},"amenity/fast_food|Little Caesars":{matchNames:["little caesars pizza","little ceasars","little ceasars pizza"],tags:{amenity:"fast_food",brand:"Little Caesars","brand:wikidata":"Q1393809","brand:wikipedia":"en:Little Caesars",cuisine:"pizza",name:"Little Caesars",takeaway:"yes"}},"amenity/fast_food|Long John Silver's":{tags:{amenity:"fast_food",brand:"Long John Silver's","brand:wikidata":"Q1535221","brand:wikipedia":"en:Long John Silver's",cuisine:"seafood",name:"Long John Silver's",takeaway:"yes"}},"amenity/fast_food|Lotteria":{tags:{amenity:"fast_food",brand:"Lotteria","brand:wikidata":"Q249525","brand:wikipedia":"en:Lotteria",cuisine:"burger",name:"Lotteria",takeaway:"yes"}},"amenity/fast_food|MOD Pizza":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"MOD Pizza","brand:wikidata":"Q19903469","brand:wikipedia":"en:MOD Pizza",cuisine:"pizza",name:"MOD Pizza",takeaway:"yes"}},"amenity/fast_food|Manchu Wok":{countryCodes:["ca","us"],tags:{amenity:"fast_food",brand:"Manchu Wok","brand:wikidata":"Q6747622","brand:wikipedia":"en:Manchu Wok",cuisine:"chinese",name:"Manchu Wok",takeaway:"yes"}},"amenity/fast_food|Mang Inasal":{countryCodes:["ph"],tags:{amenity:"fast_food",brand:"Mang Inasal","brand:wikidata":"Q6748573","brand:wikipedia":"en:Mang Inasal",cuisine:"barbecue",name:"Mang Inasal",takeaway:"yes"}},"amenity/fast_food|Manhattan Bagel":{countryCodes:["us"],matchNames:["manhattan bagels"],tags:{amenity:"fast_food",brand:"Manhattan Bagel","brand:wikidata":"Q64517333",cuisine:"bagel",name:"Manhattan Bagel",takeaway:"yes"}},"amenity/fast_food|Marmaris":{countryCodes:["de","fi","fr","gb","nl"],tags:{amenity:"fast_food",brand:"Marmaris",name:"Marmaris",takeaway:"yes"}},"amenity/fast_food|Max":{countryCodes:["se"],tags:{amenity:"fast_food",brand:"Max","brand:wikidata":"Q1912172","brand:wikipedia":"en:Max Hamburgers",cuisine:"burger",name:"Max",takeaway:"yes"}},"amenity/fast_food|McDonald's":{tags:{amenity:"fast_food",brand:"McDonald's","brand:wikidata":"Q38076","brand:wikipedia":"en:McDonald's",cuisine:"burger",name:"McDonald's",takeaway:"yes"}},"amenity/fast_food|Meson Sandwiches":{countryCodes:["us"],matchNames:["el meson"],tags:{alt_name:"El Meson Sandwiches",amenity:"fast_food",brand:"Meson Sandwiches","brand:wikidata":"Q5351585","brand:wikipedia":"en:El Meson Sandwiches",cuisine:"sandwich",name:"Meson Sandwiches",short_name:"Meson",takeaway:"yes"}},"amenity/fast_food|Mighty Taco":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Mighty Taco","brand:wikidata":"Q6844210","brand:wikipedia":"en:Mighty Taco",cuisine:"mexican",name:"Mighty Taco",takeaway:"yes"}},"amenity/fast_food|Minute Burger":{countryCodes:["ph"],tags:{amenity:"fast_food",brand:"Minute Burger","brand:wikidata":"Q62273503",cuisine:"burger",name:"Minute Burger",takeaway:"yes"}},"amenity/fast_food|Moe's Southwest Grill":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Moe's Southwest Grill","brand:wikidata":"Q6889938","brand:wikipedia":"en:Moe's Southwest Grill",cuisine:"mexican",name:"Moe's Southwest Grill",short_name:"Moe's",takeaway:"yes"}},"amenity/fast_food|Mr. Sub":{tags:{amenity:"fast_food",brand:"Mr. Sub","brand:wikidata":"Q6929225","brand:wikipedia":"en:Mr. Sub",cuisine:"sandwich",name:"Mr. Sub",takeaway:"yes"}},"amenity/fast_food|Mucho Burrito":{countryCodes:["ca","gb","us"],tags:{amenity:"fast_food",brand:"Mucho Burrito","brand:wikidata":"Q65148332",cuisine:"mexican",name:"Mucho Burrito",takeaway:"yes"}},"amenity/fast_food|New York Fries":{countryCodes:["ca"],tags:{amenity:"fast_food",brand:"New York Fries","brand:wikidata":"Q7013558","brand:wikipedia":"en:New York Fries",cuisine:"fries",name:"New York Fries",takeaway:"yes"}},"amenity/fast_food|New York Pizza":{countryCodes:["nl"],tags:{amenity:"fast_food",brand:"New York Pizza","brand:wikidata":"Q2639128","brand:wikipedia":"nl:New York Pizza",cuisine:"pizza",name:"New York Pizza",takeaway:"yes"}},"amenity/fast_food|Noah's Bagels":{countryCodes:["us"],matchNames:["noahs ny bagels"],tags:{amenity:"fast_food",brand:"Noah's Bagels","brand:wikidata":"Q64517373",cuisine:"bagel",name:"Noah's Bagels",official_name:"Noah's New York Bagels",takeaway:"yes"}},"amenity/fast_food|Nordsee":{countryCodes:["at","ch","de"],tags:{amenity:"fast_food",brand:"Nordsee","brand:wikidata":"Q74866","brand:wikipedia":"en:Nordsee",cuisine:"seafood",name:"Nordsee",takeaway:"yes"}},"amenity/fast_food|Num Pang":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Num Pang","brand:wikidata":"Q62079702","brand:wikipedia":"en:Num Pang",cuisine:"cambodian, sandwich",name:"Num Pang",takeaway:"yes"}},"amenity/fast_food|O'Tacos":{countryCodes:["be","fr"],tags:{amenity:"fast_food",brand:"O'Tacos","brand:wikidata":"Q28494040","brand:wikipedia":"en:O'Tacos",cuisine:"mexican",name:"O'Tacos",takeaway:"yes"}},"amenity/fast_food|Oporto":{countryCodes:["au"],tags:{amenity:"fast_food",brand:"Oporto","brand:wikidata":"Q4412342","brand:wikipedia":"en:Oporto (restaurant)",cuisine:"burger;chicken",name:"Oporto",takeaway:"yes"}},"amenity/fast_food|Orange Julius":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Orange Julius","brand:wikidata":"Q3355059","brand:wikipedia":"en:Orange Julius",cuisine:"juice",name:"Orange Julius",takeaway:"yes"}},"amenity/fast_food|Pal's":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Pal's","brand:wikidata":"Q7126094","brand:wikipedia":"en:Pal's",cuisine:"burger",name:"Pal's",official_name:"Pal's Sudden Service",takeaway:"yes"}},"amenity/fast_food|Panago":{countryCodes:["ca"],tags:{amenity:"fast_food",brand:"Panago","brand:wikidata":"Q17111672","brand:wikipedia":"en:Panago",cuisine:"pizza",name:"Panago",takeaway:"yes"}},"amenity/fast_food|Panda Express":{matchNames:["panda"],tags:{amenity:"fast_food",brand:"Panda Express","brand:wikidata":"Q1358690","brand:wikipedia":"en:Panda Express",cuisine:"chinese",name:"Panda Express",takeaway:"yes"}},"amenity/fast_food|Panera Bread":{countryCodes:["ca","us"],tags:{amenity:"fast_food",brand:"Panera Bread","brand:wikidata":"Q7130852","brand:wikipedia":"en:Panera Bread",cuisine:"sandwich",name:"Panera Bread",short_name:"Panera",takeaway:"yes"}},"amenity/fast_food|Papa John's":{matchNames:["papa john","papa john pizza","papa johns pizza"],tags:{amenity:"fast_food",brand:"Papa John's","brand:wikidata":"Q2759586","brand:wikipedia":"en:Papa John's Pizza",cuisine:"pizza",name:"Papa John's",takeaway:"yes"}},"amenity/fast_food|Papa Murphy's":{countryCodes:["ca","us"],matchNames:["papa murphy","papa murphy pizza","papa murphys pizza"],tags:{amenity:"fast_food",brand:"Papa Murphy's","brand:wikidata":"Q7132349","brand:wikipedia":"en:Papa Murphy's",cuisine:"pizza",name:"Papa Murphy's",official_name:"Papa Murphy's Take 'N' Bake Pizza",takeaway:"only"}},"amenity/fast_food|Penn Station":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Penn Station","brand:wikidata":"Q7163311","brand:wikipedia":"en:Penn Station (restaurant)",cuisine:"sandwich",name:"Penn Station",takeaway:"yes"}},"amenity/fast_food|Philly Pretzel Factory":{countryCodes:["us"],matchNames:["philadelphia pretzel factory","philadelphia soft pretzel factory","philly soft pretzel factory"],tags:{amenity:"fast_food",brand:"Philly Pretzel Factory","brand:wikidata":"Q60097339",cuisine:"pretzel",name:"Philly Pretzel Factory",takeaway:"yes"}},"amenity/fast_food|Pinulito":{countryCodes:["gt"],tags:{amenity:"fast_food",brand:"Pinulito","brand:wikidata":"Q62273613",cuisine:"chicken",name:"Pinulito",takeaway:"yes"}},"amenity/fast_food|Pita Pit":{tags:{amenity:"fast_food",brand:"Pita Pit","brand:wikidata":"Q7757289","brand:wikipedia":"en:Pita Pit",cuisine:"pita",name:"Pita Pit",takeaway:"yes"}},"amenity/fast_food|Pizza Hut Delivery":{tags:{amenity:"fast_food",brand:"Pizza Hut","brand:wikidata":"Q191615","brand:wikipedia":"en:Pizza Hut",cuisine:"pizza",name:"Pizza Hut Delivery",takeaway:"yes"}},"amenity/fast_food|Pizza Hut Express":{nomatch:["amenity/restaurant|Pizza Hut"],tags:{amenity:"fast_food",brand:"Pizza Hut","brand:wikidata":"Q191615","brand:wikipedia":"en:Pizza Hut",cuisine:"pizza",name:"Pizza Hut Express",takeaway:"yes"}},"amenity/fast_food|Pizza King":{tags:{amenity:"fast_food",brand:"Pizza King",cuisine:"pizza",name:"Pizza King",takeaway:"yes"}},"amenity/fast_food|Pizza Nova":{tags:{amenity:"fast_food",brand:"Pizza Nova","brand:wikidata":"Q7199971","brand:wikipedia":"en:Pizza Nova",cuisine:"pizza",name:"Pizza Nova",takeaway:"yes"}},"amenity/fast_food|Pizza Pizza":{tags:{amenity:"fast_food",brand:"Pizza Pizza","brand:wikidata":"Q1194143","brand:wikipedia":"en:Pizza Pizza",cuisine:"pizza",name:"Pizza Pizza",takeaway:"yes"}},"amenity/fast_food|Pizza Schmizza":{tags:{amenity:"fast_food",brand:"Pizza Schmizza","brand:wikidata":"Q7199979","brand:wikipedia":"en:Pizza Schmizza",cuisine:"pizza",name:"Pizza Schmizza",takeaway:"yes"}},"amenity/fast_food|Pollo Campero":{tags:{amenity:"fast_food",brand:"Pollo Campero","brand:wikidata":"Q942741","brand:wikipedia":"en:Pollo Campero",cuisine:"chicken",name:"Pollo Campero",takeaway:"yes"}},"amenity/fast_food|Pollo Granjero~(Costa Rica)":{countryCodes:["cr"],tags:{amenity:"fast_food",brand:"Pollo Granjero","brand:wikidata":"Q62273665",cuisine:"chicken",name:"Pollo Granjero",takeaway:"yes"}},"amenity/fast_food|Pollo Granjero~(Guatemala)":{countryCodes:["gt"],tags:{amenity:"fast_food",brand:"Pollo Granjero","brand:wikidata":"Q62273652",cuisine:"chicken",name:"Pollo Granjero",takeaway:"yes"}},"amenity/fast_food|Pollo Tropical":{tags:{amenity:"fast_food",brand:"Pollo Tropical","brand:wikidata":"Q3395356","brand:wikipedia":"en:Pollo Tropical",cuisine:"chicken",name:"Pollo Tropical",takeaway:"yes"}},"amenity/fast_food|Pollolandia":{tags:{amenity:"fast_food",brand:"Pollolandia",cuisine:"chicken",name:"Pollolandia",takeaway:"yes"}},"amenity/fast_food|Popeyes":{tags:{amenity:"fast_food",brand:"Popeyes","brand:wikidata":"Q1330910","brand:wikipedia":"en:Popeyes",cuisine:"chicken",name:"Popeyes",official_name:"Popeyes Louisiana Kitchen",takeaway:"yes"}},"amenity/fast_food|Potbelly":{countryCodes:["us"],matchNames:["potbelly sandwich shop"],tags:{amenity:"fast_food",brand:"Potbelly","brand:wikidata":"Q7234777","brand:wikipedia":"en:Potbelly Sandwich Shop",cuisine:"sandwich",name:"Potbelly",official_name:"Potbelly Sandwich Works",takeaway:"yes"}},"amenity/fast_food|Pret A Manger":{countryCodes:["gb","us"],tags:{amenity:"fast_food",brand:"Pret A Manger","brand:wikidata":"Q2109109","brand:wikipedia":"en:Pret a Manger",cuisine:"sandwich",name:"Pret A Manger",takeaway:"yes"}},"amenity/fast_food|Pretzelmaker":{countryCodes:["us"],matchNames:["pretzel time"],tags:{amenity:"fast_food",brand:"Pretzelmaker","brand:wikidata":"Q7242321","brand:wikipedia":"en:Pretzelmaker",cuisine:"pretzel",name:"Pretzelmaker",takeaway:"yes"}},"amenity/fast_food|Qdoba":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Qdoba","brand:wikidata":"Q1363885","brand:wikipedia":"en:Qdoba",cuisine:"mexican",name:"Qdoba",official_name:"Qdoba Mexican Grill",takeaway:"yes"}},"amenity/fast_food|Quick":{countryCodes:["be","fr","lu"],tags:{amenity:"fast_food",brand:"Quick","brand:wikidata":"Q286494","brand:wikipedia":"en:Quick (restaurant)",cuisine:"burger",name:"Quick",takeaway:"yes"}},"amenity/fast_food|Quiznos":{matchNames:["quiznos sub","quiznos subs"],tags:{amenity:"fast_food",brand:"Quiznos","brand:wikidata":"Q1936229","brand:wikipedia":"en:Quiznos",cuisine:"sandwich",name:"Quiznos",takeaway:"yes"}},"amenity/fast_food|Raising Cane's":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Raising Cane's","brand:wikidata":"Q7285144","brand:wikipedia":"en:Raising Cane's Chicken Fingers",cuisine:"chicken",name:"Raising Cane's",official_name:"Raising Cane's Chicken Fingers",takeaway:"yes"}},"amenity/fast_food|Rally's":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Rally's","brand:wikidata":"Q63919323",cuisine:"burger",name:"Rally's",takeaway:"yes"}},"amenity/fast_food|Red Rooster":{countryCodes:["au"],tags:{amenity:"fast_food",brand:"Red Rooster","brand:wikidata":"Q376466","brand:wikipedia":"en:Red Rooster",cuisine:"chicken",name:"Red Rooster",takeaway:"yes"}},"amenity/fast_food|Roy Rogers":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Roy Rogers","brand:wikidata":"Q7373311","brand:wikipedia":"en:Roy Rogers Restaurants",cuisine:"burger;sandwich;chicken",name:"Roy Rogers",takeaway:"yes"}},"amenity/fast_food|Rubio's":{countryCodes:["us"],matchNames:["rubios fresh mexican grill"],tags:{amenity:"fast_food",brand:"Rubio's","brand:wikidata":"Q7376154","brand:wikipedia":"en:Rubio's Coastal Grill",cuisine:"mexican",name:"Rubio's",official_name:"Rubio's Coastal Grill",takeaway:"yes"}},"amenity/fast_food|SUSU & Sons":{countryCodes:["il"],matchNames:["סוסו ובניו"],tags:{amenity:"fast_food",brand:"SUSU & Sons","brand:en":"SUSU & Sons","brand:he":"סוסו אנד סאנס","brand:wikidata":"Q64760081",cuisine:"burger",name:"SUSU & Sons","name:en":"SUSU & Sons","name:he":"סוסו אנד סאנס",takeaway:"yes"}},"amenity/fast_food|Sarku Japan":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Sarku Japan","brand:wikidata":"Q7424243",cuisine:"japanese",name:"Sarku Japan",takeaway:"yes"}},"amenity/fast_food|Sbarro":{matchNames:["Sbarro Pizzeria"],tags:{amenity:"fast_food",brand:"Sbarro","brand:wikidata":"Q2589409","brand:wikipedia":"en:Sbarro",cuisine:"pizza",name:"Sbarro",takeaway:"yes"}},"amenity/fast_food|Schlotzsky's":{countryCodes:["us"],matchNames:["schlotzskys deli"],tags:{amenity:"fast_food",brand:"Schlotzsky's","brand:wikidata":"Q2244796","brand:wikipedia":"en:Schlotzsky's",cuisine:"sandwich",name:"Schlotzsky's",takeaway:"yes"}},"amenity/fast_food|Shake Shack":{countryCodes:["gb","us"],tags:{amenity:"fast_food",brand:"Shake Shack","brand:wikidata":"Q1058722","brand:wikipedia":"en:Shake Shack",cuisine:"burger",name:"Shake Shack",takeaway:"yes"}},"amenity/fast_food|Sibylla":{countryCodes:["fi","se"],tags:{amenity:"fast_food",brand:"Sibylla","brand:wikidata":"Q488643","brand:wikipedia":"en:Sibylla (fast food)",cuisine:"burger",name:"Sibylla",takeaway:"yes"}},"amenity/fast_food|Smashburger":{countryCodes:["ca","us"],tags:{amenity:"fast_food",brand:"Smashburger","brand:wikidata":"Q17061332","brand:wikipedia":"en:Smashburger",cuisine:"burger",name:"Smashburger",takeaway:"yes"}},"amenity/fast_food|Smoothie King":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Smoothie King","brand:wikidata":"Q5491421","brand:wikipedia":"en:Smoothie King",cuisine:"juice",name:"Smoothie King",takeaway:"yes"}},"amenity/fast_food|Sonic":{matchNames:["sonic drive in"],nomatch:["amenity/fuel|Sonic"],tags:{amenity:"fast_food",brand:"Sonic","brand:wikidata":"Q7561808","brand:wikipedia":"en:Sonic Drive-In",cuisine:"burger",drive_in:"yes",name:"Sonic",takeaway:"yes"}},"amenity/fast_food|Specialty's":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Specialty's","brand:wikidata":"Q64339210",cuisine:"sandwich;bakery",name:"Specialty's",takeaway:"yes"}},"amenity/fast_food|St-Hubert Express":{countryCodes:["ca"],nomatch:["amenity/restaurant|St-Hubert"],tags:{amenity:"fast_food",brand:"St-Hubert","brand:wikidata":"Q3495225","brand:wikipedia":"en:St-Hubert",cuisine:"chicken;barbecue",name:"St-Hubert Express",takeaway:"yes"}},"amenity/fast_food|Steak Escape":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Steak Escape","brand:wikidata":"Q7605235","brand:wikipedia":"en:Steak Escape",cuisine:"sandwich",name:"Steak Escape",takeaway:"yes"}},"amenity/fast_food|Steers":{tags:{amenity:"fast_food",brand:"Steers","brand:wikidata":"Q56599145","brand:wikipedia":"en:Steers",cuisine:"burger",name:"Steers",takeaway:"yes"}},"amenity/fast_food|Subway":{matchNames:["subway sandwiches"],tags:{amenity:"fast_food",brand:"Subway","brand:wikidata":"Q244457","brand:wikipedia":"en:Subway (restaurant)",cuisine:"sandwich",name:"Subway",takeaway:"yes"}},"amenity/fast_food|Supermac's":{countryCodes:["gb","ie"],tags:{amenity:"fast_food",brand:"Supermac's","brand:wikidata":"Q7643750","brand:wikipedia":"en:Supermac's",cuisine:"burger",name:"Supermac's",takeaway:"yes"}},"amenity/fast_food|Sushi Shop":{countryCodes:["ca"],tags:{amenity:"fast_food",brand:"Sushi Shop","brand:wikidata":"Q64840990",cuisine:"sushi",name:"Sushi Shop",takeaway:"yes"}},"amenity/fast_food|TCBY":{tags:{amenity:"fast_food",brand:"TCBY","brand:wikidata":"Q7669631","brand:wikipedia":"en:TCBY",cuisine:"frozen_yogurt",name:"TCBY",takeaway:"yes"}},"amenity/fast_food|Taco Bell":{tags:{amenity:"fast_food",brand:"Taco Bell","brand:wikidata":"Q752941","brand:wikipedia":"en:Taco Bell",cuisine:"tex-mex",name:"Taco Bell",takeaway:"yes"}},"amenity/fast_food|Taco Bueno":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Taco Bueno","brand:wikidata":"Q7673958","brand:wikipedia":"en:Taco Bueno",cuisine:"mexican",name:"Taco Bueno",takeaway:"yes"}},"amenity/fast_food|Taco Cabana":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Taco Cabana","brand:wikidata":"Q12070488","brand:wikipedia":"en:Taco Cabana",cuisine:"mexican",name:"Taco Cabana",takeaway:"yes"}},"amenity/fast_food|Taco Del Mar":{countryCodes:["ca","us"],tags:{amenity:"fast_food",brand:"Taco Del Mar","brand:wikidata":"Q7673972","brand:wikipedia":"en:Taco del Mar",cuisine:"mexican",name:"Taco Del Mar",takeaway:"yes"}},"amenity/fast_food|Taco John's":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Taco John's","brand:wikidata":"Q7673962","brand:wikipedia":"en:Taco John's",cuisine:"mexican",name:"Taco John's",takeaway:"yes"}},"amenity/fast_food|Taco Time":{countryCodes:["ca","us"],tags:{amenity:"fast_food",brand:"Taco Time","brand:wikidata":"Q7673969","brand:wikipedia":"en:Taco Time",cuisine:"mexican",name:"Taco Time",takeaway:"yes"}},"amenity/fast_food|Ted's Hot Dogs":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Ted's Hot Dogs","brand:wikidata":"Q7692930","brand:wikipedia":"en:Ted's Hot Dogs",cuisine:"sausage",name:"Ted's Hot Dogs",takeaway:"yes"}},"amenity/fast_food|Telepizza":{tags:{amenity:"fast_food",brand:"Telepizza","brand:wikidata":"Q2699863","brand:wikipedia":"en:Telepizza",cuisine:"pizza",name:"Telepizza",takeaway:"yes"}},"amenity/fast_food|Teriyaki Experience":{countryCodes:["ca"],tags:{amenity:"fast_food",brand:"Teriyaki Experience","brand:wikidata":"Q7702453",cuisine:"japanese",name:"Teriyaki Experience",takeaway:"yes"}},"amenity/fast_food|Texas Burger":{tags:{amenity:"fast_food",brand:"Texas Burger",cuisine:"burger",name:"Texas Burger",takeaway:"yes"}},"amenity/fast_food|Texas Chicken":{tags:{amenity:"fast_food",brand:"Texas Chicken",cuisine:"chicken",name:"Texas Chicken",takeaway:"yes"}},"amenity/fast_food|Thai Express~(Singapore)":{countryCodes:["sg"],nomatch:["amenity/fast_food|Thaï Express~(North America)"],tags:{amenity:"fast_food",brand:"Thai Express","brand:wikidata":"Q7709119","brand:wikipedia":"en:Thai Express",cuisine:"thai",name:"Thai Express",takeaway:"yes"}},"amenity/fast_food|Thaï Express~(North America)":{countryCodes:["ca","us"],matchNames:["thai express"],nomatch:["amenity/fast_food|Thai Express~(Singapore)"],tags:{amenity:"fast_food",brand:"Thaï Express","brand:wikidata":"Q7711610","brand:wikipedia":"en:Thaï Express",cuisine:"thai",name:"Thaï Express",takeaway:"yes"}},"amenity/fast_food|The Habit Burger Grill":{countryCodes:["us"],matchNames:["the habit burger"],tags:{alt_name:"Habit Burger Grill",amenity:"fast_food",brand:"The Habit Burger Grill","brand:wikidata":"Q18158741","brand:wikipedia":"en:The Habit Burger Grill",cuisine:"burger",name:"The Habit Burger Grill",short_name:"Habit Burger",takeaway:"yes"}},"amenity/fast_food|The Pizza Company":{tags:{alt_name:"Pizza Company",amenity:"fast_food",brand:"The Pizza Company","brand:wikidata":"Q2413520","brand:wikipedia":"en:The Pizza Company",cuisine:"pizza",name:"The Pizza Company",takeaway:"yes"}},"amenity/fast_food|Togo's":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Togo's","brand:wikidata":"Q3530375","brand:wikipedia":"en:Togo's",cuisine:"sandwich",name:"Togo's",takeaway:"yes"}},"amenity/fast_food|Tropical Smoothie Cafe":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Tropical Smoothie Cafe","brand:wikidata":"Q7845817","brand:wikipedia":"en:Tropical Smoothie Cafe",cuisine:"juice",name:"Tropical Smoothie Cafe",takeaway:"yes"}},"amenity/fast_food|Valentine":{countryCodes:["ca"],tags:{amenity:"fast_food",brand:"Valentine","brand:wikidata":"Q3553635","brand:wikipedia":"en:Groupe Valentine Inc.",cuisine:"burger",name:"Valentine",takeaway:"yes"}},"amenity/fast_food|Veggie Grill":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Veggie Grill","brand:wikidata":"Q18636427","brand:wikipedia":"en:Veggie Grill",cuisine:"american","diet:vegan":"only",name:"Veggie Grill",takeaway:"yes"}},"amenity/fast_food|Villa Madina":{countryCodes:["ca"],tags:{amenity:"fast_food",brand:"Villa Madina","brand:wikidata":"Q64876884",cuisine:"mediterranean",name:"Villa Madina",takeaway:"yes"}},"amenity/fast_food|Wahoo's Fish Taco":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Wahoo's Fish Taco","brand:wikidata":"Q7959827","brand:wikipedia":"en:Wahoo's Fish Taco",cuisine:"seafood",name:"Wahoo's Fish Taco",short_name:"Wahoo's",takeaway:"yes"}},"amenity/fast_food|Wendy's":{tags:{amenity:"fast_food",brand:"Wendy's","brand:wikidata":"Q550258","brand:wikipedia":"en:Wendy's",cuisine:"burger",name:"Wendy's",takeaway:"yes"}},"amenity/fast_food|Whataburger":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Whataburger","brand:wikidata":"Q376627","brand:wikipedia":"en:Whataburger",cuisine:"burger",name:"Whataburger",takeaway:"yes"}},"amenity/fast_food|Which Wich?":{countryCodes:["ae","gb","gt","mx","om","qa","sa","us"],tags:{amenity:"fast_food",brand:"Which Wich?","brand:wikidata":"Q7993556","brand:wikipedia":"en:Which Wich?",cuisine:"sandwich",name:"Which Wich?",takeaway:"yes"}},"amenity/fast_food|White Castle":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"White Castle","brand:wikidata":"Q1244034","brand:wikipedia":"en:White Castle (restaurant)",cuisine:"burger",name:"White Castle",takeaway:"yes"}},"amenity/fast_food|Wienerschnitzel":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Wienerschnitzel","brand:wikidata":"Q324679","brand:wikipedia":"en:Wienerschnitzel",cuisine:"hot_dog",name:"Wienerschnitzel",takeaway:"yes"}},"amenity/fast_food|Wimpy":{tags:{amenity:"fast_food",brand:"Wimpy","brand:wikidata":"Q2811992","brand:wikipedia":"en:Wimpy (restaurant)",cuisine:"burger",name:"Wimpy",takeaway:"yes"}},"amenity/fast_food|Xi'an Famous Foods":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Xi'an Famous Foods","brand:wikidata":"Q8044020","brand:wikipedia":"en:Xi'an Famous Foods",cuisine:"chinese",name:"Xi'an Famous Foods",takeaway:"yes"}},"amenity/fast_food|Zaxby's":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Zaxby's","brand:wikidata":"Q8067525","brand:wikipedia":"en:Zaxby's",cuisine:"chicken",name:"Zaxby's",official_name:"Zaxby's Chicken Fingers & Buffalo Wings",takeaway:"yes"}},"amenity/fast_food|Zoës Kitchen":{countryCodes:["us"],tags:{amenity:"fast_food",brand:"Zoës Kitchen","brand:wikidata":"Q8074747","brand:wikipedia":"en:Zoës Kitchen",cuisine:"mediterranean",name:"Zoës Kitchen",takeaway:"yes"}},"amenity/fast_food|immergrün":{countryCodes:["de"],matchNames:["immergün"],tags:{amenity:"fast_food",brand:"immergrün","brand:wikidata":"Q62589254",cuisine:"sandwich;salad;juice",name:"immergün",takeaway:"yes"}},"amenity/fast_food|Γρηγόρης":{countryCodes:["gr"],tags:{amenity:"fast_food",brand:"Γρηγόρης","brand:el":"Γρηγόρης","brand:en":"Gregorys","brand:wikidata":"Q62273834",cuisine:"sandwich",name:"Γρηγόρης","name:el":"Γρηγόρης","name:en":"Gregorys",takeaway:"yes"}},"amenity/fast_food|Бургер Кинг":{countryCodes:["by","kz","ru"],tags:{amenity:"fast_food",brand:"Бургер Кинг","brand:en":"Burger King","brand:ru":"Бургер Кинг","brand:wikidata":"Q177054","brand:wikipedia":"en:Burger King",cuisine:"burger",name:"Бургер Кинг","name:en":"Burger King","name:ru":"Бургер Кинг",takeaway:"yes"}},"amenity/fast_food|Домино'c Пицца":{tags:{amenity:"fast_food",brand:"Домино'c Пицца","brand:en":"Domino's Pizza","brand:ru":"Домино'c Пицца","brand:wikidata":"Q839466","brand:wikipedia":"ru:Domino’s Pizza",name:"Домино'c Пицца","name:en":"Domino's Pizza","name:ru":"Домино'c Пицца",short_name:"Домино'c","short_name:en":"Domino's","short_name:ru":"Домино'c",takeaway:"yes"}},"amenity/fast_food|Крошка Картошка":{countryCodes:["ru"],tags:{amenity:"fast_food",brand:"Крошка Картошка","brand:en":"Kroshka Kartoshka","brand:ru":"Крошка Картошка","brand:wikidata":"Q4241838","brand:wikipedia":"ru:Крошка Картошка",cuisine:"potato",name:"Крошка Картошка","name:en":"Kroshka Kartoshka","name:ru":"Крошка Картошка",takeaway:"yes"}},"amenity/fast_food|Макдоналдс":{tags:{amenity:"fast_food",brand:"Макдоналдс","brand:en":"McDonald's","brand:ru":"Макдоналдс","brand:wikidata":"Q38076","brand:wikipedia":"en:McDonald's",cuisine:"burger",name:"Макдоналдс","name:en":"McDonald's","name:ru":"Макдоналдс",takeaway:"yes"}},"amenity/fast_food|Папа Джонс":{countryCodes:["by","ru"],tags:{amenity:"fast_food",brand:"Папа Джонс","brand:en":"Papa John's","brand:ru":"Папа Джонс","brand:wikidata":"Q2759586","brand:wikipedia":"ru:Papa John’s",cuisine:"pizza",name:"Папа Джонс","name:en":"Papa John's","name:ru":"Папа Джонс",takeaway:"yes"}},"amenity/fast_food|Робин Сдобин":{countryCodes:["ru"],tags:{amenity:"fast_food",brand:"Робин Сдобин","brand:en":"Robins Dobin","brand:ru":"Робин Сдобин","brand:wikidata":"Q62273880",cuisine:"burger",name:"Робин Сдобин","name:en":"Robins Dobin","name:ru":"Робин Сдобин",takeaway:"yes"}},"amenity/fast_food|Русский Аппетит":{countryCodes:["ru"],tags:{amenity:"fast_food",brand:"Русский Аппетит","brand:en":"Russkiy Appetit","brand:ru":"Русский Аппетит","brand:wikidata":"Q62086063",cuisine:"sandwich;salad;regional",name:"Русский Аппетит","name:en":"Russkiy Appetit","name:ru":"Русский Аппетит",takeaway:"yes"}},"amenity/fast_food|Стардог!s":{countryCodes:["ru"],tags:{amenity:"fast_food",brand:"Стардог!s","brand:en":"Stardog!s","brand:ru":"Стардог!s","brand:wikidata":"Q4439856","brand:wikipedia":"ru:Стардогс",cuisine:"sausage",name:"Стардог!s","name:en":"Stardog!s","name:ru":"Стардог!s",takeaway:"yes"}},"amenity/fast_food|Суши Wok":{countryCodes:["ru","ua"],matchTags:["shop/convenience"],tags:{amenity:"fast_food",brand:"Суши Wok","brand:en":"Sushi Wok","brand:ru":"Суши Wok","brand:wikidata":"Q25444754","brand:wikipedia":"uk:Суши Wok (мережа магазинів)",cuisine:"asian",name:"Суши Wok","name:en":"Sushi Wok","name:ru":"Суши Wok",takeaway:"yes"}},"amenity/fast_food|Теремок":{countryCodes:["ru"],matchTags:["shop/convenience"],tags:{amenity:"fast_food",brand:"Теремок","brand:en":"Teremok","brand:ru":"Теремок","brand:wikidata":"Q4455593","brand:wikipedia":"ru:Теремок (сеть быстрого питания)",cuisine:"crepe;russian",name:"Теремок","name:en":"Teremok","name:ru":"Теремок",takeaway:"yes"}},"amenity/fast_food|אגדיר":{countryCodes:["il"],tags:{amenity:"fast_food",brand:"אגדיר","brand:en":"Agadir","brand:he":"אגדיר","brand:wikidata":"Q64760070",cuisine:"burger",name:"אגדיר","name:en":"Agadir","name:he":"אגדיר",takeaway:"yes"}},"amenity/fast_food|מקדונלד'ס":{countryCodes:["il"],tags:{amenity:"fast_food",brand:"מקדונלד'ס","brand:en":"McDonald's","brand:he":"מקדונלד'ס","brand:wikidata":"Q12061542","brand:wikipedia":"en:McDonald's Israel",cuisine:"burger",name:"מקדונלד'ס","name:en":"McDonald's","name:he":"מקדונלד'ס",takeaway:"yes"}},"amenity/fast_food|עד העצם אקספרס":{countryCodes:["il"],tags:{amenity:"fast_food",brand:"עד העצם אקספרס","brand:en":"Ad Haetzem Express","brand:he":"עד העצם אקספרס","brand:wikidata":"Q64760165",cuisine:"burger",name:"עד העצם אקספרס","name:en":"Ad Haetzem Express","name:he":"עד העצם אקספרס",takeaway:"yes"}},"amenity/fast_food|دجاج كنتاكي":{tags:{amenity:"fast_food",brand:"دجاج كنتاكي","brand:ar":"دجاج كنتاكي","brand:en":"KFC","brand:wikidata":"Q524757","brand:wikipedia":"ar:دجاج كنتاكي",cuisine:"chicken",name:"دجاج كنتاكي","name:ar":"دجاج كنتاكي","name:en":"KFC",takeaway:"yes"}},"amenity/fast_food|ماكدونالدز":{tags:{amenity:"fast_food",brand:"ماكدونالدز","brand:ar":"ماكدونالدز","brand:en":"McDonald's","brand:wikidata":"Q38076","brand:wikipedia":"ar:ماكدونالدز",cuisine:"burger",name:"ماكدونالدز","name:ar":"ماكدونالدز","name:en":"McDonald's",takeaway:"yes"}},"amenity/fast_food|هرفي":{countryCodes:["ae","bh","kw","sa"],tags:{amenity:"fast_food",brand:"هرفي","brand:ar":"هرفي","brand:en":"Herfy","brand:wikidata":"Q5738371","brand:wikipedia":"ar:هرفي",cuisine:"burger",name:"هرفي","name:ar":"هرفي","name:en":"Herfy",takeaway:"yes"}},"amenity/fast_food|かっぱ寿司":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"かっぱ寿司","brand:en":"Kappazushi","brand:ja":"かっぱ寿司","brand:wikidata":"Q11263916","brand:wikipedia":"ja:かっぱ寿司",cuisine:"sushi",name:"かっぱ寿司","name:en":"Kappazushi","name:ja":"かっぱ寿司",takeaway:"yes"}},"amenity/fast_food|かつや":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"かつや","brand:en":"Katsuya","brand:ja":"かつや","brand:wikidata":"Q2855257","brand:wikipedia":"ja:かつや",cuisine:"fried_food",name:"かつや","name:en":"Katsuya","name:ja":"かつや","name:ko":"카쯔야","name:zh":"吉豚屋",takeaway:"yes"}},"amenity/fast_food|くら寿司":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"くら寿司","brand:en":"Kurazushi","brand:ja":"くら寿司","brand:wikidata":"Q6445491","brand:wikipedia":"ja:くら寿司",cuisine:"sushi",name:"くら寿司","name:en":"Kurazushi","name:ja":"くら寿司",takeaway:"yes"}},"amenity/fast_food|すき家":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"すき家","brand:en":"Sukiya","brand:ja":"すき家","brand:wikidata":"Q6137375","brand:wikipedia":"ja:すき家",cuisine:"beef_bowl",name:"すき家","name:en":"Sukiya","name:ja":"すき家",takeaway:"yes"}},"amenity/fast_food|てんや":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"てんや","brand:en":"Tenya","brand:ja":"てんや","brand:wikidata":"Q11319830","brand:wikipedia":"jp:テンコーポレーション",cuisine:"fries",name:"てんや","name:en":"Tenya","name:ja":"てんや",takeaway:"yes"}},"amenity/fast_food|なか卯":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"なか卯","brand:en":"Nakau","brand:ja":"なか卯","brand:wikidata":"Q11274132","brand:wikipedia":"ja:なか卯",cuisine:"udon",name:"なか卯","name:en":"Nakau","name:ja":"なか卯",takeaway:"yes"}},"amenity/fast_food|はま寿司":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"はま寿司","brand:en":"Hamazushi","brand:ja":"はま寿司","brand:wikidata":"Q17220385","brand:wikipedia":"ja:はま寿司",cuisine:"sushi",name:"はま寿司","name:en":"Hamazushi","name:ja":"はま寿司",takeaway:"yes"}},"amenity/fast_food|ほっかほっか亭":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"ほっかほっか亭","brand:en":"Hokka Hokka Tei","brand:ja":"ほっかほっか亭","brand:wikidata":"Q5878035","brand:wikipedia":"ja:ほっかほっか亭",cuisine:"japanese",name:"ほっかほっか亭","name:en":"Hokka Hokka Tei","name:ja":"ほっかほっか亭",takeaway:"yes"}},"amenity/fast_food|ほっともっと":{countryCodes:["jp"],nomatch:["shop/deli|ほっともっと"],tags:{amenity:"fast_food",brand:"ほっともっと","brand:en":"Hotto Motto","brand:ja":"ほっともっと","brand:wikidata":"Q10850949","brand:wikipedia":"ja:ほっともっと",cuisine:"japanese",name:"ほっともっと","name:en":"Hotto Motto","name:ja":"ほっともっと",takeaway:"yes"}},"amenity/fast_food|ゆで太郎":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"ゆで太郎","brand:en":"Yudetaro","brand:ja":"ゆで太郎","brand:wikidata":"Q11280824","brand:wikipedia":"ja:ゆで太郎",cuisine:"noodle",name:"ゆで太郎","name:en":"Yudetaro","name:ja":"ゆで太郎",takeaway:"yes"}},"amenity/fast_food|ウェンディーズ":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"ウェンディーズ","brand:en":"Wendy's","brand:ja":"ウェンディーズ","brand:wikidata":"Q550258","brand:wikipedia":"en:Wendy's",cuisine:"burger",name:"ウェンディーズ","name:en":"Wendy's","name:ja":"ウェンディーズ",takeaway:"yes"}},"amenity/fast_food|オリジン弁当":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"オリジン弁当","brand:en":"Origin Bentō","brand:ja":"オリジン弁当","brand:wikidata":"Q11292632","brand:wikipedia":"ja:オリジン東秀",cuisine:"japanese",name:"オリジン弁当","name:en":"Origin Bentō","name:ja":"オリジン弁当",takeaway:"yes"}},"amenity/fast_food|ケンタッキーフライドチキン":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"ケンタッキーフライドチキン","brand:en":"KFC","brand:ja":"ケンタッキーフライドチキン","brand:wikidata":"Q524757","brand:wikipedia":"ja:KFCコーポレーション",cuisine:"chicken",name:"ケンタッキーフライドチキン","name:en":"KFC","name:ja":"ケンタッキーフライドチキン",takeaway:"yes"}},"amenity/fast_food|サブウェイ":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"サブウェイ","brand:en":"Subway","brand:ja":"サブウェイ","brand:wikidata":"Q244457","brand:wikipedia":"ja:サブウェイ",cuisine:"sandwich",name:"サブウェイ","name:en":"Subway","name:ja":"サブウェイ",takeaway:"yes"}},"amenity/fast_food|スシロー":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"スシロー","brand:en":"Sushiro","brand:ja":"スシロー","brand:wikidata":"Q11257037","brand:wikipedia":"ja:あきんどスシロー",cuisine:"sushi",name:"スシロー","name:en":"Sushiro","name:ja":"スシロー","name:zh":"壽司郎",takeaway:"yes"}},"amenity/fast_food|ドミノ・ピザ":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"ドミノ・ピザ","brand:en":"Domino's Pizza","brand:ja":"ドミノ・ピザ","brand:wikidata":"Q839466","brand:wikipedia":"ja:ドミノ・ピザ",cuisine:"pizza",name:"ドミノ・ピザ","name:en":"Domino's Pizza","name:ja":"ドミノ・ピザ",short_name:"ドミノ","short_name:en":"Domino's","short_name:ja":"ドミノ",takeaway:"yes"}},"amenity/fast_food|バーガーキング":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"バーガーキング","brand:en":"Burger King","brand:ja":"バーガーキング","brand:wikidata":"Q177054","brand:wikipedia":"en:Burger King",cuisine:"burger",name:"バーガーキング","name:en":"Burger King","name:ja":"バーガーキング",takeaway:"yes"}},"amenity/fast_food|ピザハット":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"ピザハット","brand:en":"Pizza Hut","brand:ja":"ピザハット","brand:wikidata":"Q191615","brand:wikipedia":"ja:ピザハット",cuisine:"pizza",name:"ピザハット","name:en":"Pizza Hut","name:ja":"ピザハット",takeaway:"yes"}},"amenity/fast_food|ピザ・カリフォルニア":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"ピザ・カリフォルニア","brand:en":"Pizza California","brand:ja":"ピザ・カリフォルニア","brand:wikidata":"Q75324","brand:wikipedia":"ja:ピザ・カリフォルニア",cuisine:"pizza",name:"ピザ・カリフォルニア","name:en":"Pizza California","name:ja":"ピザ・カリフォルニア",takeaway:"yes"}},"amenity/fast_food|ピザーラ":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"ピザーラ","brand:en":"Pizza-La","brand:ja":"ピザーラ","brand:wikidata":"Q7199948","brand:wikipedia":"ja:ピザーラ",cuisine:"pizza",name:"ピザーラ","name:en":"Pizza-La","name:ja":"ピザーラ",takeaway:"yes"}},"amenity/fast_food|ファーストキッチン":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"ファーストキッチン","brand:en":"First Kitchen","brand:ja":"ファーストキッチン","brand:wikidata":"Q5453133","brand:wikipedia":"ja:ファーストキッチン",cuisine:"pizza",name:"ファーストキッチン","name:en":"First Kitchen","name:ja":"ファーストキッチン",takeaway:"yes"}},"amenity/fast_food|フレッシュネスバーガー":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"フレッシュネスバーガー","brand:en":"Freshness Burger","brand:ja":"フレッシュネスバーガー","brand:wikidata":"Q5503087","brand:wikipedia":"ja:フレッシュネスバーガー",cuisine:"burger",name:"フレッシュネスバーガー","name:en":"Freshness Burger","name:ja":"フレッシュネスバーガー",takeaway:"yes"}},"amenity/fast_food|マクドナルド":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"マクドナルド","brand:en":"McDonald's","brand:ja":"マクドナルド","brand:wikidata":"Q38076","brand:wikipedia":"ja:マクドナルド",cuisine:"burger",name:"マクドナルド","name:en":"McDonald's","name:ja":"マクドナルド",takeaway:"yes"}},"amenity/fast_food|ミスタードーナツ":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"ミスタードーナツ","brand:en":"Mister Donut","brand:ja":"ミスタードーナツ","brand:wikidata":"Q1065819","brand:wikipedia":"en:Mister Donut",cuisine:"donut",name:"ミスタードーナツ","name:en":"Mister Donut","name:ja":"ミスタードーナツ",takeaway:"yes"}},"amenity/fast_food|モスバーガー":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"モスバーガー","brand:en":"MOS Burger","brand:ja":"モスバーガー","brand:wikidata":"Q1204169","brand:wikipedia":"ja:モスバーガー",cuisine:"burger",name:"モスバーガー","name:en":"MOS Burger","name:ja":"モスバーガー",takeaway:"yes"}},"amenity/fast_food|ラーメン二郎":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"ラーメン二郎","brand:en":"Ramen Jiro","brand:ja":"ラーメン二郎","brand:wikidata":"Q11347765","brand:wikipedia":"ja:ラーメン二郎",cuisine:"ramen",name:"ラーメン二郎","name:en":"Ramen Jiro","name:ja":"ラーメン二郎",takeaway:"yes"}},"amenity/fast_food|ロッテリア":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"ロッテリア","brand:en":"Lotteria","brand:ja":"ロッテリア","brand:wikidata":"Q249525","brand:wikipedia":"ja:ロッテリア",cuisine:"burger",name:"ロッテリア","name:en":"Lotteria","name:ja":"ロッテリア",takeaway:"yes"}},"amenity/fast_food|吉野家":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"吉野家","brand:en":"Yoshinoya","brand:ja":"吉野家","brand:wikidata":"Q776272","brand:wikipedia":"ja:吉野家",cuisine:"beef_bowl",name:"吉野家","name:en":"Yoshinoya","name:ja":"吉野家",takeaway:"yes"}},"amenity/fast_food|富士そば":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"富士そば","brand:en":"Fuji Soba","brand:ja":"富士そば","brand:wikidata":"Q11414722","brand:wikipedia":"ja:名代富士そば",cuisine:"soba",name:"富士そば","name:en":"Fuji Soba","name:ja":"富士そば",takeaway:"yes"}},"amenity/fast_food|幸楽苑":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"幸楽苑","brand:en":"Kourakuen","brand:ja":"幸楽苑","brand:wikidata":"Q11484003","brand:wikipedia":"ja:幸楽苑",cuisine:"ramen",name:"幸楽苑","name:en":"Kourakuen","name:ja":"幸楽苑",takeaway:"yes"}},"amenity/fast_food|摩斯漢堡":{countryCodes:["cn","hk","mo","sg","tw"],tags:{amenity:"fast_food",brand:"摩斯漢堡","brand:en":"MOS Burger","brand:wikidata":"Q1204169","brand:wikipedia":"zh:摩斯漢堡","brand:zh":"摩斯漢堡",cuisine:"burger",name:"摩斯漢堡","name:en":"MOS Burger","name:zh":"摩斯漢堡",takeaway:"yes"}},"amenity/fast_food|日高屋":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"日高屋","brand:en":"Hidakaya","brand:wikidata":"Q11326050","brand:wikipedia":"ja:ハイデイ日高",cuisine:"noodle",name:"日高屋","name:en":"Hidakaya",takeaway:"yes"}},"amenity/fast_food|松屋":{countryCodes:["cn","hk","jp","mo","sg","tw"],tags:{amenity:"fast_food",brand:"松屋","brand:en":"Matsuya","brand:ja":"松屋","brand:wikidata":"Q848773","brand:wikipedia":"ja:松屋フーズ",cuisine:"japanese",name:"松屋","name:en":"Matsuya","name:ja":"松屋",official_name:"松屋フーズ","official_name:en":"Matsuya Foods","official_name:ja":"松屋フーズ",takeaway:"yes"}},"amenity/fast_food|箱根そば":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"箱根そば","brand:en":"Hakone Soba","brand:ja":"箱根そば","brand:wikidata":"Q11603345","brand:wikipedia":"ja:箱根そば",cuisine:"soba",name:"箱根そば","name:en":"Hakone Soba","name:ja":"箱根そば",takeaway:"yes"}},"amenity/fast_food|築地銀だこ":{countryCodes:["jp"],tags:{amenity:"fast_food",brand:"築地銀だこ","brand:en":"Gindaco","brand:ja":"築地銀だこ","brand:wikidata":"Q11603490","brand:wikipedia":"ja:築地銀だこ",cuisine:"takoyaki",name:"築地銀だこ","name:en":"Gindaco","name:ja":"築地銀だこ",takeaway:"yes"}},"amenity/fast_food|肯德基":{countryCodes:["cn","hk","mo","sg","tw"],tags:{amenity:"fast_food",brand:"肯德基","brand:en":"KFC","brand:wikidata":"Q524757","brand:wikipedia":"zh:肯德基",cuisine:"chicken",name:"肯德基","name:en":"KFC",takeaway:"yes"}},"amenity/fast_food|麥當勞":{countryCodes:["hk","mo","tw"],tags:{amenity:"fast_food",brand:"麥當勞","brand:en":"McDonald's","brand:wikidata":"Q38076","brand:wikipedia":"zh:麥當勞","brand:zh":"麥當勞","brand:zh-Hant":"麥當勞",cuisine:"burger",name:"麥當勞","name:en":"McDonald's","name:zh":"麥當勞","name:zh-Hant":"麥當勞",takeaway:"yes"}},"amenity/fast_food|麦当劳":{countryCodes:["cn","sg"],tags:{amenity:"fast_food",brand:"麦当劳","brand:en":"McDonald's","brand:wikidata":"Q38076","brand:wikipedia":"zh:麦当劳","brand:zh":"麦当劳","brand:zh-Hans":"麦当劳",cuisine:"burger",name:"麦当劳","name:en":"McDonald's","name:zh":"麦当劳","name:zh-Hans":"麦当劳",takeaway:"yes"}},"amenity/fast_food|롯데리아":{countryCodes:["kr"],tags:{amenity:"fast_food",brand:"롯데리아","brand:en":"Lotteria","brand:ko":"롯데리아","brand:wikidata":"Q249525","brand:wikipedia":"ko:롯데리아",cuisine:"burger",name:"롯데리아","name:en":"Lotteria","name:ko":"롯데리아",takeaway:"yes"}},"amenity/fast_food|맘스터치":{countryCodes:["kr"],tags:{amenity:"fast_food",brand:"맘스터치","brand:ko":"맘스터치","brand:wikidata":"Q23044856","brand:wikipedia":"en:Mom's Touch",cuisine:"burger",name:"맘스터치","name:ko":"맘스터치",takeaway:"yes"}},"amenity/fast_food|맥도날드":{countryCodes:["kr"],tags:{amenity:"fast_food",brand:"맥도날드","brand:en":"McDonald's","brand:ko":"맥도날드","brand:wikidata":"Q38076","brand:wikipedia":"ko:맥도날드",cuisine:"burger",name:"맥도날드","name:en":"McDonald's","name:ko":"맥도날드",takeaway:"yes"}},"amenity/fuel|1-2-3":{countryCodes:["dk","pl"],tags:{amenity:"fuel",brand:"1-2-3","brand:wikidata":"Q4545742","brand:wikipedia":"en:1-2-3 (fuel station)",name:"1-2-3"}},"amenity/fuel|7-Eleven":{matchNames:["7-11","seven eleven"],nomatch:["shop/convenience|7-Eleven"],tags:{amenity:"fuel",brand:"7-Eleven","brand:wikidata":"Q259340","brand:wikipedia":"en:7-Eleven",name:"7-Eleven"}},"amenity/fuel|76":{nomatch:["shop/convenience|76"],tags:{amenity:"fuel",brand:"76","brand:wikidata":"Q1658320","brand:wikipedia":"en:76 (gas station)",name:"76"}},"amenity/fuel|ABC":{countryCodes:["fi"],nomatch:["shop/convenience|ABC"],tags:{amenity:"fuel",brand:"ABC","brand:wikidata":"Q10397504","brand:wikipedia":"fi:ABC-ketju",name:"ABC"}},"amenity/fuel|ADNOC":{countryCodes:["ae"],tags:{amenity:"fuel",brand:"ADNOC","brand:wikidata":"Q166729","brand:wikipedia":"en:Abu Dhabi National Oil Company",name:"ADNOC"}},"amenity/fuel|ANP":{countryCodes:["ru","ua"],tags:{amenity:"fuel",brand:"ANP",name:"ANP"}},"amenity/fuel|Aegean":{countryCodes:["gr"],tags:{amenity:"fuel",brand:"Aegean","brand:wikidata":"Q28146598","brand:wikipedia":"el:Aegean Oil",name:"Aegean"}},"amenity/fuel|Afriquia":{tags:{amenity:"fuel",brand:"Afriquia","brand:wikidata":"Q2829178","brand:wikipedia":"en:Akwa Group",name:"Afriquia"}},"amenity/fuel|Agil":{countryCodes:["tn"],tags:{amenity:"fuel",brand:"Agil",name:"Agil"}},"amenity/fuel|Agip":{tags:{amenity:"fuel",brand:"Agip","brand:wikidata":"Q377915","brand:wikipedia":"en:Agip",name:"Agip"}},"amenity/fuel|Agrola":{countryCodes:["ch"],tags:{amenity:"fuel",brand:"Agrola","brand:wikidata":"Q397351","brand:wikipedia":"de:Agrola",name:"Agrola"}},"amenity/fuel|Aloha Petroleum":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Aloha Petroleum","brand:wikidata":"Q4734197","brand:wikipedia":"en:Aloha Petroleum",name:"Aloha Petroleum",official_name:"Aloha Petroleum Ltd"}},"amenity/fuel|Alon":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Alon","brand:wikidata":"Q62274304",name:"Alon"}},"amenity/fuel|Alpet":{countryCodes:["al","tr"],tags:{amenity:"fuel",brand:"Alpet","brand:wikidata":"Q62131561",name:"Alpet"}},"amenity/fuel|Api":{countryCodes:["it"],tags:{amenity:"fuel",brand:"Api","brand:wikidata":"Q466043","brand:wikipedia":"en:American Petroleum Institute",name:"Api"}},"amenity/fuel|Aral":{countryCodes:["de"],matchNames:["aral tankstelle"],nomatch:["shop/convenience|Aral"],tags:{amenity:"fuel",brand:"Aral","brand:wikidata":"Q565734","brand:wikipedia":"en:Aral AG",name:"Aral"}},"amenity/fuel|Arco":{countryCodes:["mx","us"],tags:{amenity:"fuel",brand:"Arco","brand:wikidata":"Q304769","brand:wikipedia":"en:ARCO",name:"Arco"}},"amenity/fuel|Asda":{countryCodes:["gb"],nomatch:["shop/supermarket|ASDA","shop/supermarket|Asda"],tags:{amenity:"fuel",brand:"Asda","brand:wikidata":"Q297410","brand:wikipedia":"en:Asda",name:"Asda"}},"amenity/fuel|Atem":{countryCodes:["br"],matchNames:["posto atem"],tags:{amenity:"fuel",brand:"Atem","brand:wikidata":"Q62332255",name:"Atem"}},"amenity/fuel|Auchan":{nomatch:["shop/supermarket|Auchan"],tags:{amenity:"fuel",brand:"Auchan","brand:wikidata":"Q758603","brand:wikipedia":"en:Auchan",name:"Auchan"}},"amenity/fuel|Avanti":{countryCodes:["at"],tags:{amenity:"fuel",brand:"Avanti","brand:wikidata":"Q168238","brand:wikipedia":"en:OMV",name:"Avanti"}},"amenity/fuel|Avia":{matchNames:["station avia"],tags:{amenity:"fuel",brand:"Avia","brand:wikidata":"Q300147","brand:wikipedia":"de:Avia International",name:"Avia"}},"amenity/fuel|Avin":{countryCodes:["gr"],tags:{amenity:"fuel",brand:"Avin","brand:wikidata":"Q19903165","brand:wikipedia":"en:Avin International",name:"Avin"}},"amenity/fuel|Axion":{countryCodes:["ar","py","uy"],tags:{amenity:"fuel",brand:"Axion","brand:wikidata":"Q62131749",name:"Axion"}},"amenity/fuel|Aytemiz":{countryCodes:["tr"],tags:{amenity:"fuel",brand:"Aytemiz","brand:wikidata":"Q62274352",name:"Aytemiz"}},"amenity/fuel|BEBECO":{countryCodes:["ch"],tags:{amenity:"fuel",brand:"BEBECO","brand:wikidata":"Q62274373",name:"BEBECO"}},"amenity/fuel|BHPetrol":{countryCodes:["my"],tags:{amenity:"fuel",brand:"BHPetrol","brand:wikidata":"Q62274381",name:"BHPetrol"}},"amenity/fuel|BP":{matchNames:["BP Gas Station"],nomatch:["shop/convenience|BP Shop"],tags:{amenity:"fuel",brand:"BP","brand:wikidata":"Q152057","brand:wikipedia":"en:BP",name:"BP"}},"amenity/fuel|BR":{countryCodes:["br"],matchNames:["br petrobras","petrobras","posto br"],tags:{amenity:"fuel",brand:"BR","brand:wikidata":"Q4836468","brand:wikipedia":"pt:Petrobras Distribuidora",name:"BR"}},"amenity/fuel|Bangchak":{countryCodes:["th"],tags:{amenity:"fuel",brand:"Bangchak","brand:wikidata":"Q6579719","brand:wikipedia":"zh:曼差石油股份",name:"Bangchak"}},"amenity/fuel|Bharat Petroleum":{countryCodes:["in"],tags:{amenity:"fuel",brand:"Bharat Petroleum","brand:wikidata":"Q854826","brand:wikipedia":"en:Bharat Petroleum",name:"Bharat Petroleum"}},"amenity/fuel|Biomax":{countryCodes:["co"],tags:{amenity:"fuel",brand:"Biomax","brand:wikidata":"Q62274413",name:"Biomax"}},"amenity/fuel|Bliska":{countryCodes:["pl"],tags:{amenity:"fuel",brand:"Bliska","brand:wikidata":"Q4016378","brand:wikipedia":"pl:Bliska",name:"Bliska"}},"amenity/fuel|CAMPSA":{countryCodes:["es"],tags:{amenity:"fuel",brand:"CAMPSA","brand:wikidata":"Q1031623","brand:wikipedia":"en:Campsa",name:"CAMPSA"}},"amenity/fuel|CEPSA":{countryCodes:["es","pt"],tags:{amenity:"fuel",brand:"CEPSA","brand:wikidata":"Q608819","brand:wikipedia":"en:Cepsa",name:"CEPSA"}},"amenity/fuel|Caltex":{tags:{amenity:"fuel",brand:"Caltex","brand:wikidata":"Q277470","brand:wikipedia":"en:Caltex",name:"Caltex"}},"amenity/fuel|Canadian Tire Gas+":{matchNames:["canadian tire","canadian tire gas bar"],nomatch:["shop/department_store|Canadian Tire"],tags:{amenity:"fuel",brand:"Canadian Tire","brand:wikidata":"Q1032400","brand:wikipedia":"en:Canadian Tire",name:"Canadian Tire"}},"amenity/fuel|Carrefour":{matchNames:["carrefour market"],nomatch:["shop/convenience|Carrefour Express","shop/supermarket|Carrefour"],tags:{brand:"Carrefour","brand:wikidata":"Q217599","brand:wikipedia":"fr:Carrefour (enseigne)",name:"Carrefour"}},"amenity/fuel|Casey's General Store":{matchNames:["caseys"],nomatch:["shop/convenience|Casey's General Store"],tags:{amenity:"fuel",brand:"Casey's General Store","brand:wikidata":"Q2940968","brand:wikipedia":"en:Casey's General Stores",name:"Casey's General Store"}},"amenity/fuel|Casino":{tags:{amenity:"fuel",brand:"Casino",name:"Casino"}},"amenity/fuel|Cenex":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Cenex","brand:wikidata":"Q5011381","brand:wikipedia":"en:CHS Inc.",name:"Cenex"}},"amenity/fuel|Ceypetco":{countryCodes:["lk"],matchNames:["lanka filling station"],tags:{amenity:"fuel",brand:"Ceypetco","brand:wikidata":"Q5065795","brand:wikipedia":"en:Ceylon Petroleum Corporation",name:"Ceypetco"}},"amenity/fuel|Chevron":{nomatch:["shop/convenience|Chevron"],tags:{amenity:"fuel",brand:"Chevron","brand:wikidata":"Q319642","brand:wikipedia":"en:Chevron Corporation",name:"Chevron"}},"amenity/fuel|Circle K":{nomatch:["shop/convenience|Circle K"],tags:{amenity:"fuel",brand:"Circle K","brand:wikidata":"Q3268010","brand:wikipedia":"en:Circle K",name:"Circle K"}},"amenity/fuel|Citgo":{nomatch:["shop/convenience|Citgo"],tags:{amenity:"fuel",brand:"Citgo","brand:wikidata":"Q2974437","brand:wikipedia":"en:Citgo",name:"Citgo"}},"amenity/fuel|Clark":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Clark","brand:wikidata":"Q5127157","brand:wikipedia":"en:Clark Brands",name:"Clark"}},"amenity/fuel|Classic":{countryCodes:["de"],tags:{amenity:"fuel",brand:"Classic",name:"Classic"}},"amenity/fuel|Co-op~(Canada)":{countryCodes:["ca"],matchNames:["coop"],nomatch:["shop/convenience|Co-op~(Canada)","shop/convenience|Coop~(Schweiz)","shop/convenience|The Co-operative Food~(UK)","shop/supermarket|Co-op~(Canada)","shop/supermarket|Coop~(Schweiz)","shop/supermarket|The Co-operative Food~(UK)"],tags:{amenity:"fuel",brand:"Federated Co-operatives","brand:wikidata":"Q5440676","brand:wikipedia":"en:Federated Co-operatives",name:"Co-op"}},"amenity/fuel|Coles Express":{countryCodes:["au"],nomatch:["shop/convenience|Coles Express"],tags:{amenity:"fuel",brand:"Coles Express","brand:wikidata":"Q5144653","brand:wikipedia":"en:Coles Express",name:"Coles Express"}},"amenity/fuel|Conoco":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Conoco","brand:wikidata":"Q1126518","brand:wikipedia":"en:Conoco",name:"Conoco"}},"amenity/fuel|Copec":{countryCodes:["cl"],tags:{amenity:"fuel",brand:"Copec","brand:wikidata":"Q11681461","brand:wikipedia":"en:Empresas Copec",name:"Copec"}},"amenity/fuel|Copetrol":{countryCodes:["py"],tags:{amenity:"fuel",brand:"Copetrol","brand:wikidata":"Q62274431",name:"Copetrol"}},"amenity/fuel|Cosmo":{countryCodes:["jp"],tags:{amenity:"fuel",brand:"Cosmo","brand:wikidata":"Q2498318","brand:wikipedia":"en:Cosmo Oil Company",name:"Cosmo"}},"amenity/fuel|Costco Gasoline":{countryCodes:["au","ca","mx","us"],matchNames:["costco","costco gas","costco wholesale"],nomatch:["amenity/pharmacy|Costco Pharmacy","shop/wholesale|Costco"],tags:{amenity:"fuel",brand:"Costco Gasoline","brand:wikidata":"Q715583","brand:wikipedia":"en:Costco",name:"Costco Gasoline"}},"amenity/fuel|Couche-Tard":{countryCodes:["ca"],nomatch:["shop/convenience|Couche-Tard"],tags:{amenity:"fuel",brand:"Couche-Tard","brand:wikidata":"Q2836957","brand:wikipedia":"en:Alimentation Couche-Tard",name:"Couche-Tard"}},"amenity/fuel|Crevier":{countryCodes:["ca"],tags:{amenity:"fuel",brand:"Crevier","brand:wikidata":"Q61743451",name:"Crevier"}},"amenity/fuel|Crodux":{countryCodes:["hr"],tags:{amenity:"fuel",brand:"Crodux","brand:wikidata":"Q62274622",name:"Crodux"}},"amenity/fuel|Cumberland Farms":{countryCodes:["us"],nomatch:["shop/convenience|Cumberland Farms"],tags:{amenity:"fuel",brand:"Cumberland Farms","brand:wikidata":"Q1143685","brand:wikipedia":"en:Cumberland Farms",name:"Cumberland Farms"}},"amenity/fuel|Delta~(Panama & Costa Rica)":{countryCodes:["cr","us"],tags:{amenity:"fuel",brand:"Delta","brand:wikidata":"Q62274638",name:"Delta"}},"amenity/fuel|Delta~(USA)":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Delta","brand:wikidata":"Q62274661",name:"Delta"}},"amenity/fuel|Depot Tela":{countryCodes:["kh"],tags:{amenity:"fuel",brand:"Depot Tela",name:"Depot Tela"}},"amenity/fuel|Diamond Shamrock":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Diamond Shamrock","brand:wikidata":"Q16973722","brand:wikipedia":"en:Diamond Shamrock",name:"Diamond Shamrock"}},"amenity/fuel|Domo":{countryCodes:["ca"],tags:{amenity:"fuel",brand:"Domo","brand:wikidata":"Q5291326","brand:wikipedia":"en:Domo Gasoline",name:"Domo"}},"amenity/fuel|EKO~(Canada)":{countryCodes:["ca"],nomatch:["amenity/fuel|EKO~(Greece)","shop/supermarket|Eko"],tags:{amenity:"fuel",brand:"EKO","brand:wikidata":"Q3045934","brand:wikipedia":"fr:EKO",name:"EKO"}},"amenity/fuel|EKO~(Greece)":{countryCodes:["bg","cy","gr","me","mk","rs"],matchNames:["εκο"],nomatch:["amenity/fuel|EKO~(Canada)","shop/supermarket|Eko"],tags:{amenity:"fuel",brand:"EKO","brand:wikidata":"Q903198","brand:wikipedia":"el:Ελληνικά Πετρέλαια",name:"EKO"}},"amenity/fuel|ENEOS":{countryCodes:["jp"],tags:{amenity:"fuel",brand:"ENEOS","brand:wikidata":"Q1640290","brand:wikipedia":"en:JXTG Nippon Oil & Energy",name:"ENEOS"}},"amenity/fuel|Elan":{countryCodes:["de","fr","nl"],tags:{amenity:"fuel",brand:"Elan","brand:wikidata":"Q57980752",name:"Elan"}},"amenity/fuel|Engen":{tags:{amenity:"fuel",brand:"Engen","brand:wikidata":"Q3054251","brand:wikipedia":"en:Engen Petroleum",name:"Engen"}},"amenity/fuel|Eni":{countryCodes:["at","ch","fr","it"],tags:{amenity:"fuel",brand:"Eni","brand:wikidata":"Q565594","brand:wikipedia":"en:Eni",name:"Eni"}},"amenity/fuel|Erg":{countryCodes:["it"],tags:{amenity:"fuel",brand:"Erg","brand:wikidata":"Q739503","brand:wikipedia":"it:ERG (azienda)",name:"Erg"}},"amenity/fuel|Esso":{matchNames:["station esso"],nomatch:["amenity/fuel|Esso Express","shop/convenience|Esso"],tags:{amenity:"fuel",brand:"Esso","brand:wikidata":"Q867662","brand:wikipedia":"en:Esso",name:"Esso"}},"amenity/fuel|Esso Express":{nomatch:["amenity/fuel|Esso"],tags:{amenity:"fuel",brand:"Esso Express","brand:wikidata":"Q2350336","brand:wikipedia":"nl:Esso Express",name:"Esso Express"}},"amenity/fuel|Exxon":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Exxon","brand:wikidata":"Q4781944","brand:wikipedia":"en:Exxon",name:"Exxon"}},"amenity/fuel|F24":{countryCodes:["dk"],tags:{amenity:"fuel",brand:"F24","brand:wikidata":"Q12310853","brand:wikipedia":"da:F24",name:"F24"}},"amenity/fuel|Fas Gas":{countryCodes:["ca"],matchNames:["fas gas plus"],tags:{amenity:"fuel",brand:"Fas Gas","brand:wikidata":"Q61743505","brand:wikipedia":"en:Parkland Fuel",name:"Fas Gas"}},"amenity/fuel|Firezone":{countryCodes:["nl"],tags:{amenity:"fuel",brand:"Firezone","brand:wikidata":"Q14628080","brand:wikipedia":"nl:Firezone",name:"Firezone"}},"amenity/fuel|Flying J":{countryCodes:["ca","us"],matchNames:["flying j travel plaza"],tags:{amenity:"fuel",brand:"Flying J","brand:wikidata":"Q64130592",name:"Flying J"}},"amenity/fuel|Flying V":{countryCodes:["ph"],tags:{amenity:"fuel",brand:"Flying V","brand:wikidata":"Q62275048",name:"Flying V"}},"amenity/fuel|Freie Tankstelle":{countryCodes:["de"],tags:{amenity:"fuel",brand:"Freie Tankstelle","brand:wikidata":"Q1009104","brand:wikipedia":"de:Bundesverband freier Tankstellen",name:"Freie Tankstelle"}},"amenity/fuel|GALP":{tags:{amenity:"fuel",brand:"GALP","brand:wikidata":"Q1492739","brand:wikipedia":"en:Galp Energia",name:"GALP"}},"amenity/fuel|Gazel":{countryCodes:["co","mx","pe"],tags:{amenity:"fuel",brand:"Gazel","brand:wikidata":"Q62529885",name:"Gazel"}},"amenity/fuel|Gazprom":{tags:{amenity:"fuel",brand:"Gazprom","brand:wikidata":"Q102673","brand:wikipedia":"en:Gazprom",name:"Gazprom"}},"amenity/fuel|GetGo":{countryCodes:["us"],tags:{amenity:"fuel",brand:"GetGo","brand:wikidata":"Q5553766","brand:wikipedia":"en:GetGo",name:"GetGo"}},"amenity/fuel|Giant":{nomatch:["shop/bicycle|Giant"],tags:{amenity:"fuel",brand:"Giant",name:"Giant"}},"amenity/fuel|Glusco":{countryCodes:["ua"],tags:{amenity:"fuel",brand:"Glusco","brand:wikidata":"Q62284719",name:"Glusco"}},"amenity/fuel|Goil":{countryCodes:["gh"],tags:{amenity:"fuel",brand:"Goil","brand:wikidata":"Q5555383","brand:wikipedia":"en:Ghana Oil Company",name:"Goil"}},"amenity/fuel|Gulf":{tags:{amenity:"fuel",brand:"Gulf","brand:wikidata":"Q1296860","brand:wikipedia":"en:Gulf Oil",name:"Gulf"}},"amenity/fuel|Gull":{countryCodes:["au","nz"],tags:{amenity:"fuel",brand:"Gull","brand:wikidata":"Q5617739","brand:wikipedia":"en:Gull Petroleum",name:"Gull"}},"amenity/fuel|H-E-B Fuel":{countryCodes:["us"],matchNames:["h-e-b gas"],nomatch:["shop/supermarket|H-E-B"],tags:{amenity:"fuel",brand:"H-E-B Fuel","brand:wikidata":"Q830621","brand:wikipedia":"en:H-E-B",name:"H-E-B Fuel"}},"amenity/fuel|HEM":{countryCodes:["de"],tags:{amenity:"fuel",brand:"HEM","brand:wikidata":"Q1563517","brand:wikipedia":"de:Deutsche Tamoil",name:"HEM"}},"amenity/fuel|HP":{countryCodes:["in"],matchNames:["hp petrol pump"],tags:{amenity:"fuel",brand:"Hindustan Petroleum","brand:wikidata":"Q1619375","brand:wikipedia":"en:Hindustan Petroleum",name:"HP",official_name:"Hindustan Petroleum"}},"amenity/fuel|Harnois":{countryCodes:["ca"],tags:{amenity:"fuel",brand:"Harnois","brand:wikidata":"Q61743558",name:"Harnois"}},"amenity/fuel|Hess":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Hess","brand:wikidata":"Q1615684","brand:wikipedia":"en:Hess Corporation",name:"Hess"}},"amenity/fuel|Hofer":{countryCodes:["at","si"],nomatch:["shop/supermarket|Hofer"],tags:{amenity:"fuel",brand:"Hofer","brand:wikidata":"Q15815751","brand:wikipedia":"de:Hofer KG",name:"Hofer"}},"amenity/fuel|Holiday":{countryCodes:["us"],nomatch:["shop/convenience|Holiday"],tags:{amenity:"fuel",brand:"Holiday","brand:wikidata":"Q5880490","brand:wikipedia":"en:Holiday Stationstores",name:"Holiday"}},"amenity/fuel|Husky":{countryCodes:["ca"],nomatch:["amenity/restaurant|Husky House","shop/convenience|Husky"],tags:{amenity:"fuel",brand:"Husky","brand:wikidata":"Q702049","brand:wikipedia":"en:Husky Energy",name:"Husky"}},"amenity/fuel|IES":{countryCodes:["it"],tags:{amenity:"fuel",brand:"IES","brand:wikidata":"Q62287387",name:"IES"}},"amenity/fuel|IP":{tags:{amenity:"fuel",brand:"IP","brand:wikidata":"Q646807","brand:wikipedia":"en:Anonima Petroli Italiana",name:"IP"}},"amenity/fuel|Indian Oil":{tags:{amenity:"fuel",brand:"Indian Oil","brand:wikidata":"Q1289348","brand:wikipedia":"en:Indian Oil Corporation",name:"Indian Oil"}},"amenity/fuel|Indian Oil Petrol Pump":{countryCodes:["in"],tags:{amenity:"fuel",brand:"Indian Oil Petrol Pump",name:"Indian Oil Petrol Pump"}},"amenity/fuel|Ingo":{countryCodes:["dk","se"],tags:{amenity:"fuel",brand:"Ingo","brand:wikidata":"Q17048617","brand:wikipedia":"en:Ingo (brand)",name:"Ingo"}},"amenity/fuel|Intermarché":{matchNames:["intermarché super"],nomatch:["shop/supermarket|Intermarché"],tags:{amenity:"fuel",brand:"Intermarché","brand:wikidata":"Q3153200","brand:wikipedia":"fr:Intermarché",name:"Intermarché"}},"amenity/fuel|Ipiranga":{countryCodes:["br"],matchNames:["posto ipiranga"],tags:{amenity:"fuel",brand:"Ipiranga","brand:wikidata":"Q2081136","brand:wikipedia":"pt:Ipiranga (empresa)",name:"Ipiranga"}},"amenity/fuel|Irving":{nomatch:["shop/convenience|Irving"],tags:{amenity:"fuel",brand:"Irving","brand:wikidata":"Q1673286","brand:wikipedia":"en:Irving Oil",name:"Irving"}},"amenity/fuel|JA-SS":{countryCodes:["jp"],matchNames:["ja"],tags:{amenity:"fuel",brand:"JA-SS","brand:wikidata":"Q11225213","brand:wikipedia":"ja:JA-SS",name:"JA-SS"}},"amenity/fuel|Jet":{nomatch:["shop/clothes|Jet"],tags:{amenity:"fuel",brand:"Jet","brand:wikidata":"Q568940","brand:wikipedia":"en:Jet (brand)",name:"Jet"}},"amenity/fuel|Jetti":{countryCodes:["ph"],tags:{amenity:"fuel",brand:"Jetti","brand:wikidata":"Q62288720",name:"Jetti"}},"amenity/fuel|Kangaroo Express":{countryCodes:["us"],nomatch:["shop/convenience|Kangaroo Express"],tags:{amenity:"fuel",brand:"Kangaroo Express","brand:wikidata":"Q61747408",name:"Kangaroo Express",short_name:"Kangaroo"}},"amenity/fuel|Kobil":{countryCodes:["bi","et","ke","rw","tz","ug","zm"],tags:{amenity:"fuel",brand:"Kobil","brand:wikidata":"Q22906119","brand:wikipedia":"en:KenolKobil",name:"Kobil"}},"amenity/fuel|Kroger":{matchNames:["kroger fuel"],nomatch:["shop/supermarket|Kroger"],tags:{amenity:"fuel",brand:"Kroger","brand:wikidata":"Q153417","brand:wikipedia":"en:Kroger",name:"Kroger"}},"amenity/fuel|Kum & Go":{countryCodes:["us"],nomatch:["shop/convenience|Kum & Go"],tags:{amenity:"fuel",brand:"Kum & Go","brand:wikidata":"Q6443340","brand:wikipedia":"en:Kum & Go",name:"Kum & Go"}},"amenity/fuel|Kwik Fill":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Kwik Fill",name:"Kwik Fill"}},"amenity/fuel|Kwik Trip":{countryCodes:["us"],nomatch:["shop/convenience|Kwik Trip"],tags:{amenity:"fuel",brand:"Kwik Trip","brand:wikidata":"Q6450420","brand:wikipedia":"en:Kwik Trip",name:"Kwik Trip"}},"amenity/fuel|Liberty":{countryCodes:["au","us"],nomatch:["amenity/bank|Liberty Bank"],tags:{amenity:"fuel",brand:"Liberty",name:"Liberty"}},"amenity/fuel|Lotos":{countryCodes:["pl"],nomatch:["amenity/fuel|Lotos Optima"],tags:{amenity:"fuel",brand:"Lotos","brand:wikidata":"Q1256909","brand:wikipedia":"pl:Grupa Lotos",name:"Lotos"}},"amenity/fuel|Lotos Optima":{countryCodes:["pl"],nomatch:["amenity/fuel|Lotos"],tags:{amenity:"fuel",brand:"Lotos Optima","brand:wikidata":"Q1256909","brand:wikipedia":"pl:Grupa Lotos",name:"Lotos Optima"}},"amenity/fuel|Love's":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Love's","brand:wikidata":"Q1872496","brand:wikipedia":"en:Love's Travel Stops & Country Stores",name:"Love's"}},"amenity/fuel|Lukoil":{tags:{amenity:"fuel",brand:"Lukoil","brand:wikidata":"Q329347","brand:wikipedia":"en:Lukoil",name:"Lukoil"}},"amenity/fuel|MEROIL":{countryCodes:["es"],tags:{amenity:"fuel",brand:"MEROIL","brand:wikidata":"Q62292559",name:"MEROIL"}},"amenity/fuel|MOL":{tags:{amenity:"fuel",brand:"MOL","brand:wikidata":"Q549181","brand:wikipedia":"en:MOL (company)",name:"MOL"}},"amenity/fuel|MRS":{countryCodes:["ng"],tags:{amenity:"fuel",brand:"MRS","brand:wikidata":"Q56274919","brand:wikipedia":"en:MRS Oil Nigeria Plc",name:"MRS"}},"amenity/fuel|Mac's":{countryCodes:["ca"],nomatch:["shop/convenience|Mac's"],tags:{amenity:"fuel",brand:"Mac's","brand:wikidata":"Q4043527","brand:wikipedia":"en:Mac's Convenience Stores",name:"Mac's"}},"amenity/fuel|MacEwen":{countryCodes:["ca"],tags:{amenity:"fuel",brand:"MacEwen","brand:wikidata":"Q61740335",name:"MacEwen"}},"amenity/fuel|Marathon":{matchNames:["Marathon Gas"],nomatch:["shop/convenience|Marathon"],tags:{amenity:"fuel",brand:"Marathon","brand:wikidata":"Q458363","brand:wikipedia":"en:Marathon Petroleum",name:"Marathon"}},"amenity/fuel|Maverik":{countryCodes:["us"],nomatch:["shop/convenience|Maverik"],tags:{amenity:"fuel",brand:"Maverik","brand:wikidata":"Q64149010","brand:wikipedia":"en:Maverik, Inc.",name:"Maverik"}},"amenity/fuel|Maxol":{countryCodes:["gb","ie"],tags:{amenity:"fuel",brand:"Maxol","brand:wikidata":"Q3302837","brand:wikipedia":"en:Maxol",name:"Maxol"}},"amenity/fuel|Metano":{countryCodes:["it"],tags:{amenity:"fuel",brand:"Metano","brand:wikidata":"Q62294765",name:"Metano"}},"amenity/fuel|Migrol":{countryCodes:["ch"],tags:{amenity:"fuel",brand:"Migrol","brand:wikidata":"Q1747771","brand:wikipedia":"de:Migrol",name:"Migrol"}},"amenity/fuel|Mobil":{matchNames:["mobile"],nomatch:["shop/convenience|Mobil Mart"],tags:{amenity:"fuel",brand:"Mobil","brand:wikidata":"Q3088656","brand:wikipedia":"en:Mobil",name:"Mobil"}},"amenity/fuel|Moil":{countryCodes:["tr"],tags:{amenity:"fuel",brand:"Moil","brand:wikidata":"Q62296914",name:"Moil"}},"amenity/fuel|Morrisons":{countryCodes:["gb"],nomatch:["shop/supermarket|Morrisons"],tags:{amenity:"fuel",brand:"Morrisons","brand:wikidata":"Q922344","brand:wikipedia":"en:Morrisons",name:"Morrisons"}},"amenity/fuel|Moya":{countryCodes:["pl"],tags:{amenity:"fuel",brand:"Moya","brand:wikidata":"Q62297700",name:"Moya"}},"amenity/fuel|Murphy USA":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Murphy USA","brand:wikidata":"Q19604459","brand:wikipedia":"en:Murphy USA",name:"Murphy USA"}},"amenity/fuel|N1":{countryCodes:["is"],tags:{amenity:"fuel",brand:"N1",name:"N1"}},"amenity/fuel|NP":{countryCodes:["tt"],tags:{amenity:"fuel",brand:"NP","brand:wikidata":"Q7842382","brand:wikipedia":"en:Trinidad & Tobago National Petroleum Marketing Company Limited",name:"NP"}},"amenity/fuel|Neste":{tags:{amenity:"fuel",brand:"Neste","brand:wikidata":"Q616376","brand:wikipedia":"en:Neste",name:"Neste"}},"amenity/fuel|OIL!":{tags:{amenity:"fuel",brand:"OIL!","brand:wikidata":"Q2007561","brand:wikipedia":"de:OIL! Tankstellen",name:"OIL!"}},"amenity/fuel|OK":{countryCodes:["dk"],tags:{amenity:"fuel",brand:"OK","brand:wikidata":"Q12329785","brand:wikipedia":"da:OK a.m.b.a.",name:"OK"}},"amenity/fuel|OKQ8":{countryCodes:["se"],tags:{amenity:"fuel",brand:"OKQ8","brand:wikidata":"Q1634762","brand:wikipedia":"en:Kuwait Petroleum Corporation",name:"OKQ8"}},"amenity/fuel|OMV":{tags:{amenity:"fuel",brand:"OMV","brand:wikidata":"Q168238","brand:wikipedia":"en:OMV",name:"OMV"}},"amenity/fuel|Oilibya":{matchNames:["oilibia","oilibiya","oillibia","oilliby","oillibya","oillybia","oilybia","olibya","olybia"],tags:{amenity:"fuel",brand:"Oilibya","brand:wikidata":"Q7081491","brand:wikipedia":"en:Oilibya",name:"Oilibya","name:ar":"أويليبيا"}},"amenity/fuel|Olerex":{countryCodes:["ee"],tags:{amenity:"fuel",brand:"Olerex",name:"Olerex"}},"amenity/fuel|Opet":{countryCodes:["tr"],tags:{amenity:"fuel",brand:"Opet","brand:wikidata":"Q7072824","brand:wikipedia":"en:Opet",name:"Opet"}},"amenity/fuel|Orlen":{nomatch:["shop/convenience|Orlen"],tags:{amenity:"fuel",brand:"Orlen","brand:wikidata":"Q971649","brand:wikipedia":"en:PKN Orlen",name:"Orlen"}},"amenity/fuel|Oxxo":{nomatch:["shop/convenience|Oxxo"],tags:{amenity:"fuel",brand:"Oxxo","brand:wikidata":"Q1342538","brand:wikipedia":"es:Oxxo",name:"Oxxo"}},"amenity/fuel|PSO":{countryCodes:["pk"],matchNames:["pso petrol pump"],tags:{amenity:"fuel",brand:"PSO","brand:wikidata":"Q2741455","brand:wikipedia":"en:Pakistan State Oil",name:"PSO"}},"amenity/fuel|PT":{countryCodes:["th"],tags:{amenity:"fuel",brand:"PT","brand:wikidata":"Q62298612",name:"PT"}},"amenity/fuel|PTT":{nomatch:["amenity/post_office|PTT"],tags:{amenity:"fuel",brand:"PTT","brand:wikidata":"Q1810389","brand:wikipedia":"en:PTT Public Company Limited",name:"PTT"}},"amenity/fuel|PV Oil":{tags:{amenity:"fuel",brand:"PV Oil","brand:wikidata":"Q2089536","brand:wikipedia":"en:Petrovietnam",name:"PV Oil"}},"amenity/fuel|Pacific Pride":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Pacific Pride","brand:wikidata":"Q7122637","brand:wikipedia":"en:Pacific Pride",name:"Pacific Pride"}},"amenity/fuel|Pecsa":{countryCodes:["pe"],tags:{amenity:"fuel",brand:"Pecsa","brand:wikidata":"Q62299262",name:"Pecsa"}},"amenity/fuel|Pemex":{countryCodes:["mx"],tags:{amenity:"fuel",brand:"Pemex","brand:wikidata":"Q871308","brand:wikipedia":"en:Pemex",name:"Pemex"}},"amenity/fuel|Pertamina":{countryCodes:["id"],tags:{amenity:"fuel",brand:"Pertamina","brand:wikidata":"Q1641044","brand:wikipedia":"en:Pertamina",name:"Pertamina"}},"amenity/fuel|Petro":{countryCodes:["ca","us"],matchNames:["petro stopping center"],tags:{alt_name:"Petro Stopping Centers",amenity:"fuel",brand:"Petro","brand:wikidata":"Q64051305",name:"Petro"}},"amenity/fuel|Petro-Canada":{countryCodes:["ca"],nomatch:["shop/convenience|Petro-Canada"],tags:{amenity:"fuel",brand:"Petro-Canada","brand:wikidata":"Q1208279","brand:wikipedia":"en:Petro-Canada",name:"Petro-Canada"}},"amenity/fuel|Petro-T":{countryCodes:["ca"],tags:{amenity:"fuel",brand:"Petro-T","brand:wikidata":"Q61743540",name:"Petro-T"}},"amenity/fuel|PetroPerú":{countryCodes:["pe"],tags:{amenity:"fuel",brand:"PetroPerú","brand:wikidata":"Q2506390","brand:wikipedia":"es:Petroperú",name:"PetroPerú"}},"amenity/fuel|Petrochina":{countryCodes:["cn"],tags:{amenity:"fuel",brand:"Petrochina","brand:wikidata":"Q503182","brand:wikipedia":"en:PetroChina",name:"Petrochina"}},"amenity/fuel|Petroecuador":{countryCodes:["ec"],tags:{amenity:"fuel",brand:"Petroecuador","brand:wikidata":"Q1812822","brand:wikipedia":"en:Petroecuador",name:"Petroecuador"}},"amenity/fuel|Petrol Ofisi":{tags:{amenity:"fuel",brand:"Petrol Ofisi","brand:wikidata":"Q1278087","brand:wikipedia":"en:Petrol Ofisi",name:"Petrol Ofisi"}},"amenity/fuel|Petrolimex":{tags:{amenity:"fuel",brand:"Petrolimex","brand:wikidata":"Q10831598","brand:wikipedia":"en:Petrolimex",name:"Petrolimex"}},"amenity/fuel|Petrolina":{countryCodes:["cy"],tags:{amenity:"fuel",brand:"Petrolina","brand:wikidata":"Q17013948","brand:wikipedia":"en:Petrolina (company)",name:"Petrolina"}},"amenity/fuel|Petrom":{tags:{amenity:"fuel",brand:"Petrom","brand:wikidata":"Q1755034","brand:wikipedia":"en:Petrom",name:"Petrom"}},"amenity/fuel|Petron":{countryCodes:["ph"],tags:{amenity:"fuel",brand:"Petron","brand:wikidata":"Q7179011","brand:wikipedia":"en:Petron Corporation",name:"Petron"}},"amenity/fuel|Petronas":{tags:{amenity:"fuel",brand:"Petronas","brand:wikidata":"Q221692","brand:wikipedia":"en:Petronas",name:"Petronas"}},"amenity/fuel|Petronor":{countryCodes:["es"],tags:{amenity:"fuel",brand:"Petronor","brand:wikidata":"Q1726547","brand:wikipedia":"es:Petronor",name:"Petronor"}},"amenity/fuel|Phillips 66":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Phillips 66","brand:wikidata":"Q1656230","brand:wikipedia":"en:Phillips 66",name:"Phillips 66"}},"amenity/fuel|Phoenix":{countryCodes:["ph"],tags:{amenity:"fuel",brand:"Phoenix","brand:wikidata":"Q7186949","brand:wikipedia":"en:Phoenix Petroleum",name:"Phoenix"}},"amenity/fuel|Pilot":{countryCodes:["ca","us"],matchNames:["pilot travel centers"],tags:{amenity:"fuel",brand:"Pilot","brand:wikidata":"Q64128179",name:"Pilot"}},"amenity/fuel|Pioneer":{countryCodes:["ca"],tags:{amenity:"fuel",brand:"Pioneer","brand:wikidata":"Q7196684","brand:wikipedia":"en:Pioneer Energy",name:"Pioneer"}},"amenity/fuel|Preem":{countryCodes:["pl","se"],tags:{amenity:"fuel",brand:"Preem","brand:wikidata":"Q598835","brand:wikipedia":"en:Preem",name:"Preem"}},"amenity/fuel|Primax~(Ecuador)":{countryCodes:["ec"],tags:{amenity:"fuel",brand:"Primax","brand:wikidata":"Q62332857",name:"Primax"}},"amenity/fuel|Primax~(Peru)":{countryCodes:["pe"],tags:{amenity:"fuel",brand:"Primax","brand:wikidata":"Q62332638",name:"Primax"}},"amenity/fuel|Prio":{countryCodes:["pt"],tags:{amenity:"fuel",brand:"Prio","brand:wikidata":"Q62530421",name:"Prio"}},"amenity/fuel|Puma":{nomatch:["shop/clothes|Puma"],tags:{amenity:"fuel",brand:"Puma","brand:wikidata":"Q7259769","brand:wikipedia":"en:Puma Energy",name:"Puma"}},"amenity/fuel|Q1":{countryCodes:["de"],tags:{amenity:"fuel",brand:"Q1","brand:wikidata":"Q62086498",name:"Q1"}},"amenity/fuel|Q8":{countryCodes:["be","dk","es","it","lu","nl","pt"],tags:{amenity:"fuel",brand:"Q8","brand:wikidata":"Q1634762","brand:wikipedia":"en:Kuwait Petroleum Corporation",name:"Q8"}},"amenity/fuel|Q8 Easy":{countryCodes:["be","it"],tags:{amenity:"fuel",brand:"Q8 Easy","brand:wikidata":"Q1806948","brand:wikipedia":"nl:Q8 Easy",name:"Q8 Easy"}},"amenity/fuel|Qstar":{countryCodes:["se"],tags:{amenity:"fuel",brand:"Qstar","brand:wikidata":"Q10647961","brand:wikipedia":"sv:Qstar",name:"Qstar"}},"amenity/fuel|QuikTrip":{matchNames:["qt"],nomatch:["shop/convenience|QuikTrip"],tags:{amenity:"fuel",brand:"QuikTrip","brand:wikidata":"Q7271953","brand:wikipedia":"en:QuikTrip",name:"QuikTrip"}},"amenity/fuel|RaceTrac":{nomatch:["shop/convenience|RaceTrac"],tags:{amenity:"fuel",brand:"RaceTrac","brand:wikidata":"Q735942","brand:wikipedia":"en:RaceTrac",name:"RaceTrac"}},"amenity/fuel|Raiffeisen":{countryCodes:["de"],nomatch:["amenity/bank|Raiffeisenbank"],tags:{amenity:"fuel",brand:"Raiffeisen",name:"Raiffeisen"}},"amenity/fuel|Repsol":{tags:{amenity:"fuel",brand:"Repsol","brand:wikidata":"Q174747","brand:wikipedia":"es:Repsol",name:"Repsol"}},"amenity/fuel|Revoil":{countryCodes:["gr"],tags:{amenity:"fuel",brand:"Revoil","brand:wikidata":"Q62530755",name:"Revoil"}},"amenity/fuel|Rompetrol":{tags:{amenity:"fuel",brand:"Rompetrol","brand:wikidata":"Q1788862","brand:wikipedia":"en:Rompetrol",name:"Rompetrol"}},"amenity/fuel|Royal Farms":{countryCodes:["us"],nomatch:["shop/convenience|Royal Farms"],tags:{amenity:"fuel",brand:"Royal Farms","brand:wikidata":"Q7374169","brand:wikipedia":"en:Royal Farms",name:"Royal Farms"}},"amenity/fuel|Rubis":{tags:{amenity:"fuel",brand:"Rubis","brand:wikidata":"Q3446514","brand:wikipedia":"en:Rubis (company)",name:"Rubis"}},"amenity/fuel|SK주유소":{countryCodes:["kr"],tags:{amenity:"fuel",brand:"SK주유소","brand:ko":"SK주유소",name:"SK주유소","name:ko":"SK주유소"}},"amenity/fuel|SP":{tags:{amenity:"fuel",brand:"SP",name:"SP"}},"amenity/fuel|Safeway":{nomatch:["shop/supermarket|Safeway"],tags:{amenity:"fuel",brand:"Safeway","brand:wikidata":"Q1508234","brand:wikipedia":"en:Safeway Inc.",name:"Safeway"}},"amenity/fuel|Sainsbury's":{countryCodes:["gb"],nomatch:["shop/supermarket|Sainsbury's"],tags:{amenity:"fuel",brand:"Sainsbury's","brand:wikidata":"Q152096","brand:wikipedia":"en:Sainsbury's",name:"Sainsbury's"}},"amenity/fuel|Sam's Club":{nomatch:["shop/wholesale|Sam's Club"],tags:{amenity:"fuel",brand:"Sam's Club","brand:wikidata":"Q1972120","brand:wikipedia":"en:Sam's Club",name:"Sam's Club"}},"amenity/fuel|Sasol":{countryCodes:["za"],tags:{amenity:"fuel",brand:"Sasol","brand:wikidata":"Q905998","brand:wikipedia":"en:Sasol",name:"Sasol"}},"amenity/fuel|Sea Oil":{countryCodes:["ph"],tags:{amenity:"fuel",brand:"Sea Oil","brand:wikidata":"Q7389549","brand:wikipedia":"en:Seaoil Philippines",name:"Sea Oil"}},"amenity/fuel|Sheetz":{nomatch:["shop/convenience|Sheetz"],tags:{amenity:"fuel",brand:"Sheetz","brand:wikidata":"Q7492551","brand:wikipedia":"en:Sheetz",name:"Sheetz"}},"amenity/fuel|Shell":{matchNames:["posto shell","shell gas station","shell petrol station","shell station","station shell"],nomatch:["amenity/fuel|Shell Express","shop/convenience|Shell Select"],tags:{amenity:"fuel",brand:"Shell","brand:wikidata":"Q154950","brand:wikipedia":"en:Royal Dutch Shell",name:"Shell"}},"amenity/fuel|Shell Express":{nomatch:["amenity/fuel|Shell","shop/convenience|Shell Select"],tags:{amenity:"fuel",brand:"Shell Express","brand:wikidata":"Q2289188","brand:wikipedia":"nl:Shell Express",name:"Shell Express"}},"amenity/fuel|Sinclair":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Sinclair","brand:wikidata":"Q1290900","brand:wikipedia":"en:Sinclair Oil Corporation",name:"Sinclair"}},"amenity/fuel|Sinopec":{countryCodes:["cn"],matchNames:["sinopec fuel"],tags:{amenity:"fuel",brand:"Sinopec","brand:wikidata":"Q831445","brand:wikipedia":"en:Sinopec","brand:zh":"中国石化",name:"Sinopec","name:zh":"中国石化"}},"amenity/fuel|Slovnaft":{countryCodes:["cz","pl","sk"],tags:{amenity:"fuel",brand:"Slovnaft","brand:wikidata":"Q1587563","brand:wikipedia":"en:Slovnaft",name:"Slovnaft"}},"amenity/fuel|Socar":{tags:{amenity:"fuel",brand:"Socar","brand:wikidata":"Q1622293","brand:wikipedia":"en:SOCAR",name:"Socar"}},"amenity/fuel|Sokimex":{countryCodes:["kh"],tags:{amenity:"fuel",brand:"Sokimex","brand:wikidata":"Q1149575","brand:wikipedia":"en:Sokimex",name:"Sokimex"}},"amenity/fuel|Sonic":{nomatch:["amenity/fast_food|Sonic"],tags:{amenity:"fuel",brand:"Sonic",name:"Sonic"}},"amenity/fuel|Speedway":{nomatch:["shop/convenience|Speedway"],tags:{amenity:"fuel",brand:"Speedway","brand:wikidata":"Q7575683","brand:wikipedia":"en:Speedway LLC",name:"Speedway"}},"amenity/fuel|Sprint":{countryCodes:["de"],nomatch:["shop/mobile_phone|Sprint"],tags:{amenity:"fuel",brand:"Sprint","brand:wikidata":"Q57588452",name:"Sprint"}},"amenity/fuel|St1":{countryCodes:["fi","se"],tags:{amenity:"fuel",brand:"St1","brand:wikidata":"Q7592214","brand:wikipedia":"en:St1",name:"St1"}},"amenity/fuel|Star":{countryCodes:["de"],tags:{amenity:"fuel",brand:"Star","brand:wikidata":"Q2031095","brand:wikipedia":"de:Orlen Deutschland",name:"Star"}},"amenity/fuel|Star Oil":{tags:{amenity:"fuel",brand:"Star Oil",name:"Star Oil"}},"amenity/fuel|Station Service E. Leclerc":{matchNames:["e. leclerc"],tags:{amenity:"fuel",brand:"E.Leclerc","brand:wikidata":"Q1273376","brand:wikipedia":"fr:E.Leclerc",name:"Station Service E. Leclerc"}},"amenity/fuel|Statoil":{countryCodes:["dk","ee","ie","pl","ru","se"],tags:{amenity:"fuel",brand:"Statoil","brand:wikidata":"Q1776022","brand:wikipedia":"en:Equinor",name:"Statoil"}},"amenity/fuel|Stewart's":{countryCodes:["us"],nomatch:["shop/convenience|Stewart's"],tags:{amenity:"fuel",brand:"Stewart's","brand:wikidata":"Q7615690","brand:wikipedia":"en:Stewart's Shops",name:"Stewart's"}},"amenity/fuel|Sunoco":{nomatch:["shop/convenience|Sunoco"],tags:{amenity:"fuel",brand:"Sunoco","brand:wikidata":"Q1423218","brand:wikipedia":"en:Sunoco",name:"Sunoco"}},"amenity/fuel|Super U":{countryCodes:["fr"],nomatch:["shop/convenience|Utile","shop/supermarket|Hyper U","shop/supermarket|Super U","shop/supermarket|U Express"],tags:{amenity:"fuel",brand:"Super U","brand:wikidata":"Q2529029","brand:wikipedia":"en:Système U",name:"Super U"}},"amenity/fuel|Susco":{countryCodes:["th"],tags:{amenity:"fuel",brand:"Susco",name:"Susco"}},"amenity/fuel|TA":{countryCodes:["us"],tags:{amenity:"fuel",brand:"TA","brand:wikidata":"Q7835892","brand:wikipedia":"en:TravelCenters of America",name:"TA"}},"amenity/fuel|Tamoil":{countryCodes:["ch","de","es","fr","it","nl"],tags:{amenity:"fuel",brand:"Tamoil","brand:wikidata":"Q706793","brand:wikipedia":"en:Tamoil",name:"Tamoil"}},"amenity/fuel|Tango":{countryCodes:["nl"],tags:{amenity:"fuel",brand:"Tango","brand:wikidata":"Q2423920","brand:wikipedia":"nl:Tango CV",name:"Tango"}},"amenity/fuel|Tanka":{countryCodes:["se"],tags:{amenity:"fuel",brand:"Tanka","brand:wikidata":"Q10690640","brand:wikipedia":"sv:Tanka (bensinstationskedja)",name:"Tanka"}},"amenity/fuel|Teboil":{countryCodes:["fi"],tags:{amenity:"fuel",brand:"Teboil","brand:wikidata":"Q7692079","brand:wikipedia":"en:Teboil",name:"Teboil"}},"amenity/fuel|Tela":{countryCodes:["kh"],tags:{amenity:"fuel",brand:"Tela","brand:wikidata":"Q62534875",name:"Tela"}},"amenity/fuel|Tempo":{countryCodes:["ca"],tags:{amenity:"fuel",brand:"Tempo","brand:wikidata":"Q62535175",name:"Tempo"}},"amenity/fuel|Terpel":{tags:{amenity:"fuel",brand:"Terpel","brand:wikidata":"Q7703003","brand:wikipedia":"en:Terpel",name:"Terpel"}},"amenity/fuel|Tesco":{nomatch:["shop/convenience|Tesco"],tags:{amenity:"fuel",brand:"Tesco","brand:wikidata":"Q17145596","brand:wikipedia":"en:Tesco Corporation",name:"Tesco"}},"amenity/fuel|Tesoro":{countryCodes:["us"],tags:{amenity:"fuel",brand:"Tesoro",name:"Tesoro"}},"amenity/fuel|Texaco":{nomatch:["shop/convenience|Texaco"],tags:{amenity:"fuel",brand:"Texaco","brand:wikidata":"Q775060","brand:wikipedia":"en:Texaco",name:"Texaco"}},"amenity/fuel|Tinq":{countryCodes:["nl"],tags:{amenity:"fuel",brand:"Tinq","brand:wikidata":"Q2132028","brand:wikipedia":"nl:Tinq",name:"Tinq"}},"amenity/fuel|Topaz":{countryCodes:["ie"],tags:{amenity:"fuel",brand:"Topaz","brand:wikidata":"Q7824764","brand:wikipedia":"en:Topaz Energy",name:"Topaz"}},"amenity/fuel|Total":{matchNames:["station total"],nomatch:["shop/convenience|Total"],tags:{amenity:"fuel",brand:"Total","brand:wikidata":"Q154037","brand:wikipedia":"fr:Total (entreprise)",name:"Total"}},"amenity/fuel|Total Access":{countryCodes:["fr"],tags:{amenity:"fuel",brand:"Total Access","brand:wikidata":"Q154037","brand:wikipedia":"fr:Total (entreprise)",name:"Total Access"}},"amenity/fuel|TotalErg":{countryCodes:["it"],tags:{amenity:"fuel",brand:"TotalErg","brand:wikidata":"Q3995933","brand:wikipedia":"it:TotalErg",name:"TotalErg"}},"amenity/fuel|Turkey Hill":{countryCodes:["us"],nomatch:["shop/convenience|Turkey Hill"],tags:{amenity:"fuel",brand:"Turkey Hill","brand:wikidata":"Q42376970","brand:wikipedia":"en:Turkey Hill Minit Markets",name:"Turkey Hill"}},"amenity/fuel|Turmöl":{countryCodes:["at"],tags:{amenity:"fuel",brand:"Turmöl","brand:wikidata":"Q1473279","brand:wikipedia":"de:Turmöl",name:"Turmöl"}},"amenity/fuel|UDF Fuel":{countryCodes:["us"],matchNames:["udf fuels","united dairy farmers"],nomatch:["shop/convenience|United Dairy Farmers"],tags:{amenity:"fuel",brand:"United Dairy Farmers","brand:wikidata":"Q7887677","brand:wikipedia":"en:United Dairy Farmers",name:"UDF Fuel",short_name:"UDF"}},"amenity/fuel|Ultramar":{nomatch:["shop/convenience|Ultramar"],tags:{amenity:"fuel",brand:"Ultramar","brand:wikidata":"Q3548078","brand:wikipedia":"en:Ultramar",name:"Ultramar"}},"amenity/fuel|United":{matchNames:["united petroleum"],nomatch:["amenity/bank|United Bank"],tags:{amenity:"fuel",brand:"United","brand:wikidata":"Q28224393","brand:wikipedia":"en:United Petroleum",name:"United"}},"amenity/fuel|Uno":{countryCodes:["bz","cr","gt","hn","ni","sv"],tags:{amenity:"fuel",brand:"Uno","brand:wikidata":"Q62535574",name:"Uno"}},"amenity/fuel|Uno-X":{countryCodes:["dk"],tags:{amenity:"fuel",brand:"Uno-X","brand:wikidata":"Q3362746","brand:wikipedia":"en:Uno-X",name:"Uno-X"}},"amenity/fuel|Valero":{nomatch:["shop/convenience|Valero"],tags:{amenity:"fuel",brand:"Valero","brand:wikidata":"Q1283291","brand:wikipedia":"en:Valero Energy",name:"Valero"}},"amenity/fuel|Viada":{countryCodes:["lt","lv"],tags:{amenity:"fuel",brand:"Viada","brand:wikidata":"Q12663942","brand:wikipedia":"en:Lukoil Baltija",name:"Viada"}},"amenity/fuel|Vito":{countryCodes:["fr"],tags:{amenity:"fuel",brand:"Vito","brand:wikidata":"Q62536473",name:"Vito"}},"amenity/fuel|WOG":{countryCodes:["ua"],tags:{amenity:"fuel",brand:"WOG","brand:wikidata":"Q12072939","brand:wikipedia":"en:WOG (gas stations)",name:"WOG"}},"amenity/fuel|Walmart":{nomatch:["shop/department_store|Walmart","shop/supermarket|Walmart Neighborhood Market","shop/supermarket|Walmart Supercenter"],tags:{amenity:"fuel",brand:"Walmart","brand:wikidata":"Q62606411","brand:wikipedia":"en:Walmart",name:"Walmart"}},"amenity/fuel|Wawa":{nomatch:["shop/convenience|Wawa"],tags:{amenity:"fuel",brand:"Wawa","brand:wikidata":"Q5936320","brand:wikipedia":"en:Wawa (company)",name:"Wawa"}},"amenity/fuel|Westfalen":{countryCodes:["de"],tags:{amenity:"fuel",brand:"Westfalen","brand:wikidata":"Q1411209","brand:wikipedia":"en:Westfalen AG",name:"Westfalen"}},"amenity/fuel|Woolworths Petrol":{countryCodes:["au"],nomatch:["shop/convenience|Woolworths Petrol"],tags:{amenity:"fuel",brand:"Caltex","brand:wikidata":"Q5023980","brand:wikipedia":"en:Caltex Woolworths",name:"Woolworths Petrol"}},"amenity/fuel|XTR":{countryCodes:["ca"],tags:{amenity:"fuel",brand:"XTR","brand:wikidata":"Q62537250",name:"XTR"}},"amenity/fuel|YPF":{tags:{amenity:"fuel",brand:"YPF","brand:wikidata":"Q2006989","brand:wikipedia":"en:YPF",name:"YPF"}},"amenity/fuel|Z":{countryCodes:["nz"],nomatch:["shop/clothes|Z"],tags:{amenity:"fuel",brand:"Z","brand:wikidata":"Q8063337","brand:wikipedia":"en:Z Energy",name:"Z"}},"amenity/fuel|bft":{countryCodes:["de"],tags:{amenity:"fuel",brand:"bft","brand:wikidata":"Q1009104","brand:wikipedia":"de:Bundesverband freier Tankstellen",name:"bft"}},"amenity/fuel|din-X":{countryCodes:["se"],tags:{amenity:"fuel",brand:"din-X","brand:wikidata":"Q10472858","brand:wikipedia":"sv:Din-X",name:"din-X"}},"amenity/fuel|Авіас":{countryCodes:["ua"],tags:{amenity:"fuel",brand:"Авіас","brand:wikidata":"Q12122687","brand:wikipedia":"uk:Мережа АЗС Приват",name:"Авіас"}},"amenity/fuel|БРСМ-Нафта":{countryCodes:["ua"],tags:{amenity:"fuel",brand:"БРСМ-Нафта","brand:wikidata":"Q56356523","brand:wikipedia":"uk:БРСМ-Нафта",name:"БРСМ-Нафта"}},"amenity/fuel|Башнефть":{countryCodes:["ru"],tags:{amenity:"fuel",brand:"Башнефть","brand:en":"Bashneft","brand:wikidata":"Q809985","brand:wikipedia":"en:Bashneft",name:"Башнефть","name:en":"Bashneft"}},"amenity/fuel|Белоруснефть":{countryCodes:["by"],tags:{amenity:"fuel",brand:"Белоруснефть","brand:wikidata":"Q4082693","brand:wikipedia":"ru:Белоруснефть",name:"Белоруснефть"}},"amenity/fuel|Газпромнефть":{countryCodes:["by","kg","kz","ru","tj"],matchNames:["газпром"],tags:{amenity:"fuel",brand:"Газпромнефть","brand:wikidata":"Q1461799","brand:wikipedia":"en:Gazprom Neft",name:"Газпромнефть"}},"amenity/fuel|Гелиос":{countryCodes:["kz"],matchNames:["helios"],tags:{amenity:"fuel",brand:"Гелиос","brand:en":"Helios","brand:wikidata":"Q62286471",name:"Гелиос","name:en":"Helios"}},"amenity/fuel|ЕКА":{countryCodes:["ru"],tags:{amenity:"fuel",brand:"ЕКА","brand:wikidata":"Q62543029",name:"ЕКА"}},"amenity/fuel|КЛО":{countryCodes:["ua"],tags:{amenity:"fuel",brand:"КЛО","brand:en":"Klo","brand:wikidata":"Q60966526","brand:wikipedia":"ru:КЛО (сеть АЗС)",name:"КЛО","name:en":"Klo"}},"amenity/fuel|КазМунайГаз":{countryCodes:["kz"],nomatch:["shop/convenience|КазМунайГаз"],tags:{amenity:"fuel",brand:"КазМунайГаз","brand:wikidata":"Q1417227","brand:wikipedia":"en:KazMunayGas",name:"КазМунайГаз"}},"amenity/fuel|Лукойл":{matchNames:["лукоил"],nomatch:["shop/convenience|Лукойл"],tags:{amenity:"fuel",brand:"Лукойл","brand:wikidata":"Q329347","brand:wikipedia":"ru:Лукойл",name:"Лукойл"}},"amenity/fuel|Макпетрол":{countryCodes:["mk"],tags:{amenity:"fuel",brand:"Макпетрол","brand:wikidata":"Q1886438","brand:wikipedia":"en:Makpetrol",name:"Макпетрол"}},"amenity/fuel|НК Альянс":{countryCodes:["ru"],tags:{amenity:"fuel",brand:"НК Альянс","brand:en":"Alliance Oil","brand:ru":"НК Альянс","brand:wikidata":"Q4063700","brand:wikipedia":"ru:Альянс (компания)",name:"НК Альянс","name:en":"Alliance Oil","name:ru":"НК Альянс"}},"amenity/fuel|Нефтьмагистраль":{countryCodes:["ru"],tags:{amenity:"fuel",brand:"Нефтьмагистраль","brand:en":"Neftmagistral","brand:wikidata":"Q62544323",name:"Нефтьмагистраль","name:en":"Neftmagistral"}},"amenity/fuel|ОККО":{countryCodes:["ua"],tags:{amenity:"fuel",brand:"ОККО","brand:en":"OKKO","brand:wikidata":"Q7072617","brand:wikipedia":"en:OKKO",name:"ОККО","name:en":"OKKO"}},"amenity/fuel|ОМВ":{countryCodes:["bg","rs"],tags:{amenity:"fuel",brand:"ОМВ","brand:wikidata":"Q168238","brand:wikipedia":"en:OMV",name:"ОМВ"}},"amenity/fuel|ПТК":{countryCodes:["ru"],tags:{amenity:"fuel",brand:"ПТК","brand:en":"The Petersburg Fuel Company","brand:wikidata":"Q4360193","brand:wikipedia":"en:Petersburg Fuel Company",name:"ПТК","name:en":"The Petersburg Fuel Company"}},"amenity/fuel|Петрол":{countryCodes:["bg"],tags:{amenity:"fuel",brand:"Петрол","brand:en":"Petrol AD","brand:wikidata":"Q24315","brand:wikipedia":"en:Petrol AD",name:"Петрол","name:en":"Petrol AD"}},"amenity/fuel|Роснефть":{tags:{amenity:"fuel",brand:"Роснефть","brand:en":"Rosneft","brand:wikidata":"Q1141123","brand:wikipedia":"en:Rosneft",name:"Роснефть","name:en":"Rosneft"}},"amenity/fuel|Сургутнефтегаз":{countryCodes:["ru"],tags:{amenity:"fuel",brand:"Сургутнефтегаз","brand:en":"Surgutneftegas","brand:wikidata":"Q680776","brand:wikipedia":"en:Surgutneftegas",name:"Сургутнефтегаз","name:en":"Surgutneftegas"}},"amenity/fuel|ТНК":{countryCodes:["ru","ua"],tags:{amenity:"fuel",brand:"ТНК","brand:wikidata":"Q2298901","brand:wikipedia":"en:TNK-BP",name:"ТНК"}},"amenity/fuel|Татнефтепродукт":{countryCodes:["ru"],tags:{amenity:"fuel",brand:"Татнефтепродукт",name:"Татнефтепродукт"}},"amenity/fuel|Татнефть":{countryCodes:["ru","ua"],tags:{amenity:"fuel",brand:"Татнефть","brand:en":"Tatneft","brand:wikidata":"Q1616858","brand:wikipedia":"en:Tatneft",name:"Татнефть","name:en":"Tatneft"}},"amenity/fuel|Укрнафта":{countryCodes:["ua"],tags:{amenity:"fuel",brand:"Укрнафта","brand:en":"Ukrnafta","brand:wikidata":"Q2447961","brand:wikipedia":"en:Ukrnafta",name:"Укрнафта","name:en":"Ukrnafta"}},"amenity/fuel|דור אלון":{countryCodes:["il"],tags:{amenity:"fuel",brand:"דור אלון","brand:en":"Dor Alon","brand:he":"דור אלון","brand:wikidata":"Q16130352","brand:wikipedia":"he:דור אלון אנרגיה בישראל (1988)",name:"דור אלון","name:en":"Dor Alon","name:he":"דור אלון"}},"amenity/fuel|סונול":{countryCodes:["il"],tags:{amenity:"fuel",brand:"סונול","brand:en":"Sonol","brand:he":"סונול","brand:wikidata":"Q3701622","brand:wikipedia":"en:Sonol",name:"סונול","name:en":"Sonol","name:he":"סונול"}},"amenity/fuel|פז":{countryCodes:["il"],tags:{amenity:"fuel",brand:"פז","brand:en":"Paz","brand:he":"פז","brand:wikidata":"Q2211731","brand:wikipedia":"en:Paz Oil Company",name:"פז","name:en":"Paz","name:he":"פז"}},"amenity/fuel|ادنوك":{countryCodes:["ae"],tags:{amenity:"fuel",brand:"ادنوك","brand:ar":"ادنوك","brand:en":"ADNOC","brand:wikidata":"Q166729","brand:wikipedia":"en:Abu Dhabi National Oil Company",name:"ادنوك","name:ar":"ادنوك","name:en":"ADNOC"}},"amenity/fuel|บางจาก":{countryCodes:["th"],tags:{amenity:"fuel",brand:"บางจาก","brand:en":"Bangchak","brand:th":"บางจาก","brand:wikidata":"Q6579719","brand:wikipedia":"th:บางจาก คอร์ปอเรชัน",name:"บางจาก","name:en":"Bangchak","name:th":"บางจาก"}},"amenity/fuel|ป.ต.ท.":{countryCodes:["th"],tags:{amenity:"fuel",brand:"ป.ต.ท.","brand:en":"PTT","brand:th":"ป.ต.ท.","brand:wikidata":"Q1810389","brand:wikipedia":"th:ปตท.",name:"ป.ต.ท.","name:en":"PTT","name:th":"ป.ต.ท."}},"amenity/fuel|เชลล์":{countryCodes:["th"],tags:{amenity:"fuel",brand:"เชลล์","brand:en":"Shell","brand:th":"เชลล์","brand:wikidata":"Q154950","brand:wikipedia":"en:Royal Dutch Shell",name:"เชลล์","name:en":"Shell","name:th":"เชลล์"}},"amenity/fuel|เอสโซ่":{countryCodes:["th"],tags:{amenity:"fuel",brand:"เอสโซ่","brand:en":"Esso","brand:th":"เอสโซ่","brand:wikidata":"Q867662","brand:wikipedia":"en:Esso",name:"เอสโซ่","name:en":"Esso","name:th":"เอสโซ่"}},"amenity/fuel|エッソ":{countryCodes:["jp"],matchNames:["エッソ石油"],tags:{amenity:"fuel",brand:"エッソ","brand:en":"Esso","brand:ja":"エッソ","brand:wikidata":"Q867662","brand:wikipedia":"en:Esso",name:"エッソ","name:en":"Esso","name:ja":"エッソ"}},"amenity/fuel|エネオス":{countryCodes:["jp"],tags:{amenity:"fuel",brand:"エネオス","brand:en":"JXTG Nippon Oil & Energy","brand:ja":"エネオス","brand:wikidata":"Q1640290","brand:wikipedia":"en:JXTG Nippon Oil & Energy",name:"エネオス","name:en":"JXTG Nippon Oil & Energy","name:ja":"エネオス"}},"amenity/fuel|コスモ石油":{countryCodes:["jp"],tags:{amenity:"fuel",brand:"コスモ石油","brand:en":"Cosmo Oil Company","brand:ja":"コスモ石油","brand:wikidata":"Q2498318","brand:wikipedia":"en:Cosmo Oil Company",name:"コスモ石油","name:en":"Cosmo Oil Company","name:ja":"コスモ石油"}},"amenity/fuel|ゼネラル":{countryCodes:["jp"],tags:{amenity:"fuel",brand:"ゼネラル","brand:en":"Tonen General","brand:ja":"ゼネラル","brand:wikidata":"Q11528048","brand:wikipedia":"ja:東燃ゼネラル石油",name:"ゼネラル","name:en":"Tonen General","name:ja":"ゼネラル"}},"amenity/fuel|モービル":{countryCodes:["jp"],tags:{amenity:"fuel",brand:"モービル","brand:ja":"モービル",name:"モービル","name:ja":"モービル"}},"amenity/fuel|中国石化":{countryCodes:["cn"],matchNames:["中国石化 Sinopec"],tags:{amenity:"fuel",brand:"中国石化","brand:en":"Sinopec","brand:wikidata":"Q831445","brand:wikipedia":"en:Sinopec",name:"中国石化","name:en":"Sinopec"}},"amenity/fuel|中国石化加油站":{tags:{amenity:"fuel",brand:"中国石化加油站",name:"中国石化加油站"}},"amenity/fuel|中国石油":{countryCodes:["cn"],tags:{amenity:"fuel",brand:"中国石油","brand:en":"PetroChina","brand:wikidata":"Q503182","brand:wikipedia":"en:PetroChina",name:"中国石油","name:en":"PetroChina"}},"amenity/fuel|全國加油站":{countryCodes:["tw"],tags:{amenity:"fuel",brand:"全國加油站",name:"全國加油站"}},"amenity/fuel|出光":{countryCodes:["jp"],tags:{amenity:"fuel",brand:"出光","brand:en":"Idemitsu Kosan","brand:wikidata":"Q2216770","brand:wikipedia":"en:Idemitsu Kosan",name:"出光","name:en":"Idemitsu Kosan"}},"amenity/fuel|台灣中油":{countryCodes:["tw"],matchNames:["中油"],tags:{amenity:"fuel",brand:"台灣中油","brand:en":"CPC Corporation, Taiwan","brand:wikidata":"Q21527177","brand:wikipedia":"en:CPC Corporation, Taiwan",name:"台灣中油","name:en":"CPC Corporation, Taiwan"}},"amenity/fuel|昭和シェル":{countryCodes:["jp"],matchNames:["昭和シェル石油"],tags:{amenity:"fuel",brand:"昭和シェル","brand:en":"Showa Shell Sekiyu","brand:ja":"昭和シェル","brand:wikidata":"Q277115","brand:wikipedia":"en:Showa Shell Sekiyu",name:"昭和シェル","name:en":"Showa Shell Sekiyu","name:ja":"昭和シェル"}},"amenity/hospital|VA Medical Center":{countryCodes:["us"],matchNames:["department of veterans affairs medical center","veterans administration","veterans administration hospital","veterans administration medical center","veterans affairs","veterans affairs hospital","veterans affairs medical center"],tags:{amenity:"hospital",brand:"VA","brand:wikidata":"Q6580225","brand:wikipedia":"en:Veterans Health Administration",healthcare:"hospital","healthcare:for":"veterans",name:"VA Medical Center",short_name:"VA"}},"amenity/ice_cream|Amorino":{tags:{amenity:"ice_cream",brand:"Amorino",name:"Amorino"}},"amenity/ice_cream|Baskin-Robbins":{tags:{amenity:"ice_cream",brand:"Baskin-Robbins","brand:wikidata":"Q584601","brand:wikipedia":"en:Baskin-Robbins",cuisine:"ice_cream",name:"Baskin-Robbins"}},"amenity/ice_cream|Ben & Jerry's":{tags:{amenity:"ice_cream",brand:"Ben & Jerry's","brand:wikidata":"Q816412","brand:wikipedia":"en:Ben & Jerry's",cuisine:"ice_cream",name:"Ben & Jerry's"}},"amenity/ice_cream|Bruster's Ice Cream":{countryCodes:["us"],matchNames:["brusters"],tags:{amenity:"ice_cream",brand:"Bruster's Ice Cream","brand:wikidata":"Q4979810","brand:wikipedia":"en:Bruster's Ice Cream",cuisine:"ice_cream",name:"Bruster's Ice Cream"}},"amenity/ice_cream|Cold Stone Creamery":{countryCodes:["ng","us"],matchNames:["cold stone"],tags:{amenity:"ice_cream",brand:"Cold Stone Creamery","brand:wikidata":"Q1094923","brand:wikipedia":"en:Cold Stone Creamery",cuisine:"ice_cream",name:"Cold Stone Creamery"}},"amenity/ice_cream|D'Onofrio":{countryCodes:["pe"],tags:{amenity:"ice_cream",brand:"D'Onofrio","brand:wikidata":"Q5203166","brand:wikipedia":"es:D'Onofrio",cuisine:"ice_cream",name:"D'Onofrio"}},"amenity/ice_cream|Freddo":{tags:{amenity:"ice_cream",brand:"Freddo","brand:wikidata":"Q28823999","brand:wikipedia":"es:Freddo",cuisine:"ice_cream",name:"Freddo"}},"amenity/ice_cream|Graeter's":{countryCodes:["us"],matchNames:["greaters"],tags:{amenity:"ice_cream",brand:"Graeter's","brand:wikidata":"Q5592430","brand:wikipedia":"en:Graeter's",cuisine:"ice_cream",name:"Graeter's",takeaway:"yes"}},"amenity/ice_cream|Grido":{countryCodes:["ar"],matchNames:["grido helado"],matchTags:["shop/confectionary"],tags:{amenity:"ice_cream",brand:"Grido","brand:wikidata":"Q5885724","brand:wikipedia":"es:Grido Helado",cuisine:"ice_cream",name:"Grido"}},"amenity/ice_cream|Häagen-Dazs":{tags:{amenity:"ice_cream",brand:"Häagen-Dazs","brand:wikidata":"Q1143333","brand:wikipedia":"en:Häagen-Dazs",name:"Häagen-Dazs"}},"amenity/ice_cream|La Michoacana":{countryCodes:["mx"],matchNames:["paleteria la michoacana"],tags:{amenity:"ice_cream",brand:"La Michoacana","brand:wikidata":"Q17118857","brand:wikipedia":"en:Paletería La Michoacana",name:"La Michoacana"}},"amenity/ice_cream|Marble Slab Creamery":{countryCodes:["ca","us"],tags:{amenity:"ice_cream",brand:"Marble Slab Creamery","brand:wikidata":"Q17020087","brand:wikipedia":"en:Marble Slab Creamery",cuisine:"ice_cream",name:"Marble Slab Creamery"}},"amenity/ice_cream|Menchie's":{countryCodes:["ae","bh","bs","ca","cn","gb","in","jp","kw","qa","sa","us"],matchNames:["menchie's frozen yoghurt","menchie's frozen yogurt"],tags:{amenity:"ice_cream",brand:"Menchie's","brand:wikidata":"Q6816528","brand:wikipedia":"en:Menchie's Frozen Yogurt",cuisine:"frozen_yogurt",name:"Menchie's"}},"amenity/ice_cream|Pinkberry":{tags:{amenity:"ice_cream",brand:"Pinkberry","brand:wikidata":"Q2904053","brand:wikipedia":"en:Pinkberry",cuisine:"frozen_yogurt",name:"Pinkberry",takeaway:"yes"}},"amenity/ice_cream|Ralph's Italian Ices":{countryCodes:["us"],matchNames:["ralphs famous italian ices and ice cream","ralphs italian ice","ralphs italian ices and ice cream"],tags:{amenity:"ice_cream",brand:"Ralph's Italian Ices","brand:wikidata":"Q62576909",cuisine:"ice_cream",name:"Ralph's Italian Ices",official_name:"Ralph's Famous Italian Ices"}},"amenity/ice_cream|Rita's Italian Ice":{countryCodes:["us"],matchNames:["ritas","ritas water ice"],tags:{amenity:"ice_cream",brand:"Rita's Italian Ice","brand:wikidata":"Q7336456","brand:wikipedia":"en:Rita's Italian Ice",cuisine:"ice_cream",name:"Rita's Italian Ice"}},"amenity/ice_cream|Yogen Früz":{tags:{amenity:"ice_cream",brand:"Yogen Früz","brand:wikidata":"Q8054358","brand:wikipedia":"en:Yogen Früz",cuisine:"frozen_yogurt",name:"Yogen Früz",takeaway:"yes"}},"amenity/ice_cream|Yogurtland":{countryCodes:["ae","au","sg","th","us","ve"],tags:{amenity:"ice_cream",brand:"Yogurtland","brand:wikidata":"Q8054428","brand:wikipedia":"en:Yogurtland",cuisine:"frozen_yogurt",name:"Yogurtland",takeaway:"yes"}},"amenity/ice_cream|sweetFrog":{countryCodes:["us"],matchNames:["sweetfrog frozen yogurt","sweetfrog premium frozen yogurt"],tags:{amenity:"ice_cream",brand:"sweetFrog","brand:wikidata":"Q16952110","brand:wikipedia":"en:Sweet Frog",cuisine:"frozen_yogurt",name:"sweetFrog"}},"amenity/ice_cream|サーティワンアイスクリーム":{countryCodes:["jp"],tags:{amenity:"ice_cream",brand:"バスキン・ロビンス","brand:en":"Baskin-Robbins","brand:ja":"バスキン・ロビンス","brand:wikidata":"Q584601","brand:wikipedia":"ja:バスキン・ロビンス",cuisine:"ice_cream",name:"サーティワンアイスクリーム","name:en":"Baskin-Robbins","name:ja":"サーティワンアイスクリーム"}},"amenity/kindergarten|Children's Learning Adventure":{countryCodes:["us"],tags:{after_school:"yes",amenity:"kindergarten",brand:"Children's Learning Adventure","brand:wikidata":"Q64821213","brand:wikipedia":"en:Children's Learning Adventure",fee:"yes","isced:level":"0",name:"Children's Learning Adventure",nursery:"yes",preschool:"yes",short_name:"CLA"}},"amenity/kindergarten|Childtime":{countryCodes:["us"],matchNames:["childtime learning center","childtime learning centers"],tags:{amenity:"kindergarten",brand:"Childtime","brand:wikidata":"Q64877793",fee:"yes","isced:level":"0",name:"Childtime",nursery:"yes",preschool:"yes"}},"amenity/kindergarten|KinderCare":{countryCodes:["us"],tags:{after_school:"yes",alt_name:"KinderCare Learning Center",amenity:"kindergarten",brand:"KinderCare","brand:wikidata":"Q6410551","brand:wikipedia":"en:KinderCare Learning Centers",fee:"yes","isced:level":"0",max_age:"12",min_age:"6 weeks",name:"KinderCare",nursery:"yes",preschool:"yes"}},"amenity/kindergarten|La Petite Academy":{countryCodes:["us"],matchNames:["la petite"],tags:{amenity:"kindergarten",brand:"La Petite Academy","brand:wikidata":"Q64877784",fee:"yes","isced:level":"0",name:"La Petite Academy",nursery:"yes",preschool:"yes"}},"amenity/kindergarten|New Horizon Academy":{countryCodes:["us"],tags:{after_school:"yes",amenity:"kindergarten",brand:"New Horizon Academy","brand:wikidata":"Q64821306",fee:"yes","isced:level":"0",name:"New Horizon Academy",nursery:"yes",preschool:"yes"}},"amenity/kindergarten|Primrose School":{countryCodes:["us"],matchNames:["primrose"],tags:{after_school:"yes",alt_name:"Primrose Schools",amenity:"kindergarten",brand:"Primrose School","brand:wikidata":"Q7243677",fee:"yes","isced:level":"0",max_age:"12",min_age:"6 weeks",name:"Primrose School",nursery:"yes",preschool:"yes"}},"amenity/kindergarten|The Children's Courtyard":{countryCodes:["us"],matchNames:["children's courtyard"],tags:{amenity:"kindergarten",brand:"The Children's Courtyard","brand:wikidata":"Q64877852",fee:"yes","isced:level":"0",name:"The Children's Courtyard",nursery:"yes",preschool:"yes"}},"amenity/kindergarten|The Goddard School":{countryCodes:["us"],tags:{after_school:"yes",alt_name:"Goddard School",amenity:"kindergarten",brand:"The Goddard School","brand:wikidata":"Q5576260",fee:"yes","isced:level":"0",min_age:"6 weeks",name:"The Goddard School",nursery:"yes",preschool:"yes"}},"amenity/kindergarten|Tutor Time":{countryCodes:["us"],matchNames:["tutor time child care","tutor time child care learning center","tutor time learning center","tutor time learning centers"],tags:{amenity:"kindergarten",brand:"Tutor Time","brand:wikidata":"Q64877826",fee:"yes","isced:level":"0",name:"Tutor Time",nursery:"yes",preschool:"yes"}},"amenity/language_school|AEON":{countryCodes:["jp"],tags:{amenity:"language_school",brand:"AEON","brand:en":"Aeon","brand:ja":"AEON","brand:ja-Hira":"イーオン","brand:ja-Latn":"AEON","brand:wikidata":"Q4687898","brand:wikipedia":"ja:イーオン","language:en":"main",name:"AEON","name:en":"Aeon","name:ja":"AEON","name:ja-Hira":"イーオン","name:ja-Latn":"AEON"}},"amenity/language_school|Berlitz":{tags:{amenity:"language_school",brand:"Berlitz","brand:wikidata":"Q821960","brand:wikipedia":"en:Berlitz Corporation",name:"Berlitz"}},"amenity/language_school|ECC外語学院":{countryCodes:["jp"],tags:{amenity:"language_school",brand:"ECC外語学院","brand:en":"ECC Foreign Language Institute","brand:ja":"ECC外語学院","brand:ja-Hira":"イーシーシーがいごがくいん","brand:ja-Latn":"ECC Gaigo Gakuin","brand:wikidata":"Q5322655","brand:wikipedia":"ja:ECC総合教育機関","language:en":"main",name:"ECC外語学院","name:en":"ECC Foreign Language Institute","name:ja":"ECC外語学院","name:ja-Hira":"イーシーシーがいごがくいん","name:ja-Latn":"ECC Gaigo Gakuin",short_name:"ECC","short_name:en":"ECC","short_name:ja":"ECC","short_name:ja-Hira":"イーシーシー","short_name:ja-Latn":"ECC"}},"amenity/language_school|ELS":{countryCodes:["ca","in","my","pa","sa","tr","us","vn"],tags:{amenity:"language_school",brand:"ELS","brand:en":"ELS","brand:wikidata":"Q5323325","brand:wikipedia":"en:ELS Language Centers","language:en":"main",name:"ELS","name:en":"ELS",official_name:"ELS Language Centers","official_name:en":"ELS Language Centers"}},"amenity/language_school|GABA":{countryCodes:["jp"],tags:{amenity:"language_school",brand:"GABA","brand:en":"Gaba","brand:ja":"GABA","brand:ja-Kana":"ガバ","brand:ja-Latn":"GABA","brand:wikidata":"Q5515241","brand:wikipedia":"ja:GABA (企業)","language:en":"main",name:"GABA","name:en":"Gaba","name:ja":"GABA","name:ja-Kana":"ガバ","name:ja-Latn":"GABA"}},"amenity/language_school|NOVA":{countryCodes:["jp"],tags:{amenity:"language_school",brand:"NOVA","brand:en":"Nova","brand:ja":"NOVA","brand:ja-Hira":"ノヴァ","brand:ja-Latn":"NOVA","brand:wikidata":"Q7064000","brand:wikipedia":"ja:NOVA","language:en":"main",name:"NOVA","name:en":"Nova","name:ja":"NOVA","name:ja-Hira":"ノヴァ","name:ja-Latn":"NOVA"}},"amenity/language_school|Shane English School":{countryCodes:["cn","dz","gb","hk","id","kr","pl","th","tw","vn"],tags:{amenity:"language_school",brand:"Shane English School","brand:en":"Shane English School","brand:ja":"シェーン英会話","brand:ja-Latn":"Shēn Eikaiwa","brand:wikidata":"Q17054332","brand:wikipedia":"en:Shane English School","language:en":"main",name:"Shane English School","name:en":"Shane English School","name:ja":"シェーン英会話","name:ja-Latn":"Shēn Eikaiwa"}},"amenity/language_school|シェーン英会話":{countryCodes:["jp"],tags:{amenity:"language_school",brand:"シェーン英会話","brand:en":"Shane English School","brand:ja":"シェーン英会話","brand:ja-Latn":"Shēn Eikaiwa","brand:wikidata":"Q17054332","brand:wikipedia":"ja:シェーン英会話スクール","language:en":"main",name:"シェーン英会話","name:en":"Shane English School","name:ja":"シェーン英会話","name:ja-Latn":"Shēn Eikaiwa"}},"amenity/language_school|セイハ英語学院":{countryCodes:["jp"],tags:{amenity:"language_school",brand:"セイハ英語学院","brand:en":"Seiha English Academy","brand:ja":"セイハ英語学院","brand:ja-Hani":"セイハえいごがくいん","brand:ja-Latn":"Seiha Eigo Gakuin","brand:wikidata":"Q7446694","language:en":"main",name:"セイハ英語学院","name:en":"Seiha English Academy","name:ja":"セイハ英語学院","name:ja-Hani":"セイハえいごがくいん","name:ja-Latn":"Seiha Eigo Gakuin"}},"amenity/language_school|ベルリッツ":{countryCodes:["jp"],tags:{amenity:"language_school",brand:"ベルリッツ","brand:en":"Berlitz","brand:ja":"ベルリッツ","brand:ja-Hira":"ベルリッツ","brand:wikidata":"Q4892545","brand:wikipedia":"ja:ベルリッツ・ジャパン",name:"ベルリッツ","name:en":"Berlitz","name:ja":"ベルリッツ","name:ja-Hira":"ベルリッツ"}},"amenity/language_school|ペッピーキッズクラブ":{countryCodes:["jp"],tags:{amenity:"language_school",brand:"ペッピーキッズクラブ","brand:en":"Peppy Kids Club","brand:ja":"ペッピーキッズクラブ","brand:ja-Latn":"Peppi Kizzu Kurabu","brand:wikidata":"Q7166471","brand:wikipedia":"ja:ペッピーキッズクラブ","language:en":"main",name:"ペッピーキッズクラブ","name:en":"Peppy Kids Club","name:ja":"ペッピーキッズクラブ","name:ja-Latn":"Peppi Kizzu Kurabu"}},"amenity/money_transfer|Express Union":{countryCodes:["td"],matchTags:["amenity/bank"],nomatch:["amenity/bank|Banco Unión","amenity/bank|UnionBank"],tags:{amenity:"money_transfer",brand:"Express Union","brand:wikidata":"Q3062276","brand:wikipedia":"fr:Express Union",name:"Express Union"}},"amenity/money_transfer|Hoa Phát":{countryCodes:["us"],matchNames:["hoa phat goi tien","hoa phat gui tien"],tags:{amenity:"money_transfer",brand:"Hoa Phát","brand:wikidata":"Q65116775",name:"Hoa Phát","name:vi":"Hoa Phát"}},"amenity/money_transfer|MoneyGram":{countryCodes:["de","fr","gr"],tags:{amenity:"money_transfer",brand:"MoneyGram","brand:wikidata":"Q1944412","brand:wikipedia":"en:MoneyGram",name:"MoneyGram"}},"amenity/money_transfer|Orange Money":{countryCodes:["ml"],tags:{amenity:"money_transfer",brand:"Orange Money","brand:wikidata":"Q16668220","brand:wikipedia":"en:Orange Money",name:"Orange Money"}},"amenity/money_transfer|Western Union":{matchTags:["amenity/bureau_de_change"],nomatch:["amenity/bank|Western Union"],tags:{amenity:"money_transfer",brand:"Western Union","brand:wikidata":"Q861042","brand:wikipedia":"en:Western Union",name:"Western Union"}},"amenity/parking|Parking Company of America":{countryCodes:["us"],tags:{amenity:"parking",brand:"Parking Company of America","brand:wikidata":"Q65491376",fee:"yes",name:"Parking Company of America",short_name:"PCA"}},"amenity/parking|SP+":{countryCodes:["ca","us"],matchNames:["central parking","central parking system","standard parking"],nomatch:["amenity/fuel|SP"],tags:{alt_name:"SP Plus",amenity:"parking",brand:"SP+","brand:wikidata":"Q7598289","brand:wikipedia":"en:SP Plus Corporation",fee:"yes",name:"SP+"}},"amenity/payment_centre|Abitab":{countryCodes:["uy"],matchTags:["amenity/bureau_de_change"],tags:{amenity:"payment_centre",brand:"Abitab","brand:wikidata":"Q16488129","brand:wikipedia":"es:Abitab",name:"Abitab"}},"amenity/payment_centre|Rapipago":{countryCodes:["ar"],tags:{amenity:"payment_centre",brand:"Rapipago","brand:wikidata":"Q6100413","brand:wikipedia":"es:Rapipago",name:"Rapipago"}},"amenity/payment_terminal|Qiwi":{countryCodes:["ru"],tags:{amenity:"payment_terminal",brand:"Qiwi","brand:wikidata":"Q4047736","brand:wikipedia":"en:Qiwi",name:"Qiwi"}},"amenity/payment_terminal|ПриватБанк":{countryCodes:["ua"],tags:{amenity:"payment_terminal",brand:"ПриватБанк","brand:wikidata":"Q1515015","brand:wikipedia":"en:PrivatBank",name:"ПриватБанк"}},"amenity/payment_terminal|Сбербанк":{tags:{amenity:"payment_terminal",brand:"Сбербанк",name:"Сбербанк"}},"amenity/payment_terminal|Элекснет":{countryCodes:["ru"],tags:{amenity:"payment_terminal",brand:"Элекснет","brand:wikidata":"Q4530795","brand:wikipedia":"ru:Элекснет",name:"Элекснет"}},"amenity/pharmacy|36,6":{countryCodes:["ru"],matchNames:["аптека 36,6"],tags:{amenity:"pharmacy",brand:"36,6","brand:wikidata":"Q226889","brand:wikipedia":"ru:36,6 (аптечная сеть)",healthcare:"pharmacy",name:"36,6"}},"amenity/pharmacy|Amavita":{countryCodes:["ch"],tags:{amenity:"pharmacy",brand:"Amavita",healthcare:"pharmacy",name:"Amavita"}},"amenity/pharmacy|Amcal":{countryCodes:["au"],matchNames:["amcal pharmacy"],tags:{amenity:"pharmacy",brand:"Amcal","brand:wikidata":"Q63367373",healthcare:"pharmacy",name:"Amcal"}},"amenity/pharmacy|Apollo Pharmacy":{countryCodes:["in"],nomatch:["shop/optician|Apollo-Optik"],tags:{amenity:"pharmacy",brand:"Apollo Pharmacy","brand:wikidata":"Q62562612",healthcare:"pharmacy",name:"Apollo Pharmacy"}},"amenity/pharmacy|Apotek Hjärtat":{countryCodes:["se"],tags:{amenity:"pharmacy",brand:"Apotek Hjärtat","brand:wikidata":"Q10416114","brand:wikipedia":"sv:Apotek Hjärtat",healthcare:"pharmacy",name:"Apotek Hjärtat"}},"amenity/pharmacy|Bartell Drugs":{countryCodes:["us"],tags:{amenity:"pharmacy",brand:"Bartell Drugs","brand:wikidata":"Q4865152","brand:wikipedia":"en:Bartell Drugs",healthcare:"pharmacy",name:"Bartell Drugs"}},"amenity/pharmacy|Benavides":{countryCodes:["mx"],tags:{amenity:"pharmacy",brand:"Benavides","brand:wikidata":"Q5435613","brand:wikipedia":"en:Farmacias Benavides",healthcare:"pharmacy",name:"Benavides"}},"amenity/pharmacy|Benu":{tags:{amenity:"pharmacy",brand:"Benu","brand:wikidata":"Q62562792",healthcare:"pharmacy",name:"Benu"}},"amenity/pharmacy|Blooms The Chemist":{countryCodes:["au"],tags:{amenity:"pharmacy",brand:"Blooms The Chemist","brand:wikidata":"Q63367543",healthcare:"pharmacy",name:"Blooms The Chemist",shop:"chemist"}},"amenity/pharmacy|Boots":{countryCodes:["gb"],matchNames:["boots pharmacy"],nomatch:["shop/chemist|Boots"],tags:{amenity:"pharmacy",brand:"Boots","brand:wikidata":"Q6123139","brand:wikipedia":"en:Boots UK",healthcare:"pharmacy",name:"Boots"}},"amenity/pharmacy|Boticas y Salud":{countryCodes:["pe"],tags:{amenity:"pharmacy",brand:"Boticas y Salud","brand:wikidata":"Q62563126",healthcare:"pharmacy",name:"Boticas y Salud"}},"amenity/pharmacy|Brookshire Brothers Pharmacy":{countryCodes:["us"],tags:{amenity:"pharmacy",brand:"Brookshire Brothers Pharmacy","brand:wikidata":"Q4975084","brand:wikipedia":"en:Brookshire Brothers",healthcare:"pharmacy",name:"Brookshire Brothers Pharmacy"}},"amenity/pharmacy|Brookshire's Pharmacy":{countryCodes:["us"],tags:{amenity:"pharmacy",brand:"Brookshire's Pharmacy",healthcare:"pharmacy",name:"Brookshire's Pharmacy"}},"amenity/pharmacy|CVS Pharmacy":{countryCodes:["us"],nomatch:["amenity/vending_machine|CVS Pharmacy","shop/chemist|CVS Pharmacy"],tags:{amenity:"pharmacy",brand:"CVS Pharmacy","brand:wikidata":"Q2078880","brand:wikipedia":"en:CVS Pharmacy",healthcare:"pharmacy",name:"CVS Pharmacy",short_name:"CVS"}},"amenity/pharmacy|Camelia":{countryCodes:["lt"],tags:{amenity:"pharmacy",brand:"Camelia","brand:wikidata":"Q15867413","brand:wikipedia":"lt:Nemuno vaistinė",healthcare:"pharmacy",name:"Camelia"}},"amenity/pharmacy|Catena":{countryCodes:["ro"],tags:{amenity:"pharmacy",brand:"Catena","brand:wikidata":"Q24035728","brand:wikipedia":"ro:Farmacia Catena",healthcare:"pharmacy",name:"Catena"}},"amenity/pharmacy|Chemist King Discount Pharmacy":{countryCodes:["au"],matchNames:["chemist king","chemist king discount pharmacies"],tags:{amenity:"pharmacy",brand:"Chemist King Discount Pharmacy","brand:wikidata":"Q63367667",healthcare:"pharmacy",name:"Chemist King Discount Pharmacy"}},"amenity/pharmacy|Chemist Warehouse":{countryCodes:["au","nz"],tags:{amenity:"pharmacy",brand:"Chemist Warehouse","brand:wikidata":"Q48782120","brand:wikipedia":"en:Chemist Warehouse",healthcare:"pharmacy",name:"Chemist Warehouse"}},"amenity/pharmacy|Clicks":{countryCodes:["za"],tags:{amenity:"pharmacy",brand:"Clicks","brand:wikidata":"Q62563622",healthcare:"pharmacy",name:"Clicks"}},"amenity/pharmacy|Costco Pharmacy":{countryCodes:["us"],nomatch:["amenity/fuel|Costco Gasoline","shop/wholesale|Costco"],tags:{amenity:"pharmacy",brand:"Costco Pharmacy","brand:wikidata":"Q715583","brand:wikipedia":"en:Costco",healthcare:"pharmacy",name:"Costco Pharmacy"}},"amenity/pharmacy|Cruz Azul":{countryCodes:["ec"],matchNames:["farmacias cruz azul"],tags:{amenity:"pharmacy",brand:"Cruz Azul","brand:wikidata":"Q62108219",healthcare:"pharmacy",name:"Cruz Azul"}},"amenity/pharmacy|Cruz Verde":{countryCodes:["cl"],matchNames:["farmacias cruz verde"],tags:{amenity:"pharmacy",brand:"Cruz Verde","brand:wikidata":"Q5856071","brand:wikipedia":"es:Farmacias Cruz Verde",healthcare:"pharmacy",name:"Cruz Verde"}},"amenity/pharmacy|Day Lewis Pharmacy":{countryCodes:["gb"],tags:{amenity:"pharmacy",brand:"Day Lewis Pharmacy","brand:wikidata":"Q62563772",healthcare:"pharmacy",name:"Day Lewis Pharmacy"}},"amenity/pharmacy|Dbam o Zdrowie":{countryCodes:["pl"],tags:{amenity:"pharmacy",brand:"Dbam o Zdrowie","brand:wikidata":"Q62563833",healthcare:"pharmacy",name:"Dbam o Zdrowie"}},"amenity/pharmacy|Dr. Max":{countryCodes:["cz","pl","sk"],tags:{amenity:"pharmacy",brand:"Dr. Max","brand:wikidata":"Q56317371","brand:wikipedia":"fr:Dr.Max",healthcare:"pharmacy",name:"Dr. Max"}},"amenity/pharmacy|Droga Raia":{countryCodes:["br"],tags:{amenity:"pharmacy",brand:"Droga Raia","brand:wikidata":"Q10357101","brand:wikipedia":"pt:RaiaDrogasil",healthcare:"pharmacy",name:"Droga Raia"}},"amenity/pharmacy|Drogaria São Paulo":{countryCodes:["br"],tags:{amenity:"pharmacy",brand:"Drogaria São Paulo","brand:wikidata":"Q5308184","brand:wikipedia":"en:Grupo DPSP",healthcare:"pharmacy",name:"Drogaria São Paulo"}},"amenity/pharmacy|Drogasil":{countryCodes:["br"],tags:{amenity:"pharmacy",brand:"Drogasil","brand:wikidata":"Q5308185","brand:wikipedia":"pt:Drogasil",healthcare:"pharmacy",name:"Drogasil",wheelchair:"yes"}},"amenity/pharmacy|Duane Reade":{countryCodes:["us"],tags:{amenity:"pharmacy",brand:"Duane Reade","brand:wikidata":"Q5310380","brand:wikipedia":"en:Duane Reade",healthcare:"pharmacy",name:"Duane Reade"}},"amenity/pharmacy|Eurovaistinė":{countryCodes:["lt"],tags:{amenity:"pharmacy",brand:"Eurovaistinė","brand:wikidata":"Q267205","brand:wikipedia":"en:Euroapotheca",healthcare:"pharmacy",name:"Eurovaistinė"}},"amenity/pharmacy|Extrafarma":{countryCodes:["br"],tags:{amenity:"pharmacy",brand:"Extrafarma","brand:wikidata":"Q20055480","brand:wikipedia":"pt:Extrafarma",healthcare:"pharmacy",name:"Extrafarma"}},"amenity/pharmacy|Familiprix":{countryCodes:["ca"],tags:{amenity:"pharmacy",brand:"Familiprix","brand:wikidata":"Q3064881","brand:wikipedia":"en:Familiprix",healthcare:"pharmacy",name:"Familiprix"}},"amenity/pharmacy|Farmacenter~(Colombia)":{countryCodes:["co"],tags:{amenity:"pharmacy",brand:"Farmacenter","brand:wikidata":"Q62563928",healthcare:"pharmacy",name:"Farmacenter"}},"amenity/pharmacy|Farmacenter~(Paraguay)":{countryCodes:["py"],tags:{amenity:"pharmacy",brand:"Farmacenter","brand:wikidata":"",healthcare:"pharmacy",name:"Farmacenter"}},"amenity/pharmacy|Farmacia Benavides":{countryCodes:["mx"],tags:{amenity:"pharmacy",brand:"Farmacia Benavides","brand:wikidata":"Q5435613","brand:wikipedia":"en:Farmacias Benavides",healthcare:"pharmacy",name:"Farmacia Benavides"}},"amenity/pharmacy|Farmacia Familiei":{countryCodes:["md"],tags:{amenity:"pharmacy",brand:"Farmacia Familiei",healthcare:"pharmacy",name:"Farmacia Familiei"}},"amenity/pharmacy|Farmacia Guadalajara":{countryCodes:["mx"],matchNames:["farmacias guadalajara"],tags:{amenity:"pharmacy",brand:"Farmacia Guadalajara","brand:wikidata":"Q5435609","brand:wikipedia":"en:Farmacias Guadalajara",healthcare:"pharmacy",name:"Farmacia Guadalajara"}},"amenity/pharmacy|Farmacias Ahumada":{tags:{amenity:"pharmacy",brand:"Farmacias Ahumada","brand:wikidata":"Q5856069","brand:wikipedia":"es:Farmacias Ahumada",healthcare:"pharmacy",name:"Farmacias Ahumada"}},"amenity/pharmacy|Farmacias Benavides":{tags:{amenity:"pharmacy",brand:"Farmacias Benavides",healthcare:"pharmacy",name:"Farmacias Benavides"}},"amenity/pharmacy|Farmacias Económicas~(Ecuador)":{countryCodes:["ec"],tags:{amenity:"pharmacy",brand:"Farmacias Económicas","brand:wikidata":"Q62108380",healthcare:"pharmacy",name:"Farmacias Económicas"}},"amenity/pharmacy|Farmacias Económicas~(El Salvador)":{countryCodes:["sv"],tags:{amenity:"pharmacy",brand:"Farmacias Económicas","brand:wikidata":"Q62108397",healthcare:"pharmacy",name:"Farmacias Económicas"}},"amenity/pharmacy|Farmacias Similares":{countryCodes:["cl","gt","mx"],matchNames:["similares"],tags:{amenity:"pharmacy",brand:"Farmacias Similares","brand:wikidata":"Q62564610",healthcare:"pharmacy",name:"Farmacias Similares"}},"amenity/pharmacy|Farmacias del Ahorro":{countryCodes:["mx"],matchNames:["farmacia del ahorro"],tags:{amenity:"pharmacy",brand:"Farmacias del Ahorro","brand:wikidata":"Q62086647",healthcare:"pharmacy",name:"Farmacias del Ahorro"}},"amenity/pharmacy|Farmacias del Dr. Simi":{countryCodes:["cl","gt","mx"],tags:{amenity:"pharmacy",brand:"Farmacias del Dr. Simi","brand:wikidata":"Q62564610",healthcare:"pharmacy",name:"Farmacias del Dr. Simi"}},"amenity/pharmacy|Farmacity":{countryCodes:["ra"],tags:{amenity:"pharmacy",brand:"Farmacity","brand:wikidata":"Q5856076","brand:wikipedia":"es:Farmacity",healthcare:"pharmacy",name:"Farmacity"}},"amenity/pharmacy|Farmacorp":{countryCodes:["bo"],tags:{amenity:"pharmacy",brand:"Farmacorp",healthcare:"pharmacy",name:"Farmacorp"}},"amenity/pharmacy|Farmahorro":{tags:{amenity:"pharmacy",brand:"Farmahorro","brand:wikidata":"Q20015002","brand:wikipedia":"es:Farmahorro",healthcare:"pharmacy",name:"Farmahorro"}},"amenity/pharmacy|Farmatodo":{tags:{amenity:"pharmacy",brand:"Farmatodo","brand:wikidata":"Q5856092","brand:wikipedia":"es:Farmatodo",healthcare:"pharmacy",name:"Farmatodo"}},"amenity/pharmacy|Farmácia São João":{tags:{amenity:"pharmacy",brand:"Farmácia São João",healthcare:"pharmacy",name:"Farmácia São João"}},"amenity/pharmacy|Felicia":{countryCodes:["md"],tags:{amenity:"pharmacy",brand:"Felicia","brand:wikidata":"Q62564805",healthcare:"pharmacy",name:"Felicia"}},"amenity/pharmacy|Fybeca":{countryCodes:["ec"],tags:{amenity:"pharmacy",brand:"Fybeca","brand:wikidata":"Q62564822",healthcare:"pharmacy",name:"Fybeca"}},"amenity/pharmacy|Generika":{countryCodes:["ph"],matchNames:["generika drugstore"],tags:{amenity:"pharmacy",brand:"Generika","brand:wikidata":"Q62564876",healthcare:"pharmacy",name:"Generika"}},"amenity/pharmacy|Gintarinė vaistinė":{countryCodes:["lt"],tags:{amenity:"pharmacy",brand:"Gintarinė vaistinė","brand:wikidata":"Q15857801","brand:wikipedia":"lt:Gintarinė vaistinė",healthcare:"pharmacy",name:"Gintarinė vaistinė"}},"amenity/pharmacy|Guardian~(Asia)":{countryCodes:["bn","id","kh","my","sg","vn"],tags:{amenity:"pharmacy",brand:"Guardian","brand:wikidata":"Q63371124",healthcare:"pharmacy",name:"Guardian"}},"amenity/pharmacy|Guardian~(Australia)":{countryCodes:["au"],matchNames:["guardian pharmacies","guardian pharmacy"],tags:{brand:"Guardian","brand:wikidata":"Q63367814",healthcare:"pharmacy",name:"Guardian"}},"amenity/pharmacy|Guardian~(Canada)":{countryCodes:["ca"],nomatch:["amenity/pharmacy|Guardian~(Asia)","amenity/pharmacy|Guardian~(Australia)"],tags:{amenity:"pharmacy",brand:"Guardian","brand:wikidata":"Q65553864",healthcare:"pharmacy",name:"Guardian"}},"amenity/pharmacy|H-E-B Pharmacy":{countryCodes:["us"],tags:{amenity:"pharmacy",brand:"H-E-B Pharmacy","brand:wikidata":"Q830621","brand:wikipedia":"en:H-E-B",healthcare:"pharmacy",name:"H-E-B Pharmacy"}},"amenity/pharmacy|Health Mart":{countryCodes:["us"],matchNames:["health mart pharmacy"],tags:{amenity:"pharmacy",brand:"Health Mart","brand:wikidata":"Q5690597","brand:wikipedia":"en:Health Mart",healthcare:"pharmacy",name:"Health Mart"}},"amenity/pharmacy|Hy-Vee Pharmacy":{countryCodes:["us"],tags:{amenity:"pharmacy",brand:"Hy-Vee Pharmacy","brand:wikidata":"Q1639719","brand:wikipedia":"en:Hy-Vee",healthcare:"pharmacy",name:"Hy-Vee Pharmacy"}},"amenity/pharmacy|I.D.A.":{countryCodes:["ca"],tags:{amenity:"pharmacy",brand:"I.D.A.","brand:wikidata":"Q65553883",healthcare:"pharmacy",name:"I.D.A."}},"amenity/pharmacy|Inkafarma":{countryCodes:["pe"],tags:{amenity:"pharmacy",brand:"Inkafarma","brand:wikidata":"Q10997748","brand:wikipedia":"es:Inkafarma",healthcare:"pharmacy",name:"Inkafarma"}},"amenity/pharmacy|Jean Coutu":{countryCodes:["ca"],tags:{amenity:"pharmacy",brand:"Jean Coutu","brand:wikidata":"Q3117457","brand:wikipedia":"en:Jean Coutu Group",healthcare:"pharmacy",name:"Jean Coutu"}},"amenity/pharmacy|Kimia Farma":{countryCodes:["id"],tags:{amenity:"pharmacy",brand:"Kimia Farma","brand:wikidata":"Q11264892","brand:wikipedia":"en:Kimia Farma",healthcare:"pharmacy",name:"Kimia Farma"}},"amenity/pharmacy|Kinney Drugs":{countryCodes:["us"],tags:{amenity:"pharmacy",brand:"Kinney Drugs","brand:wikidata":"Q6414090","brand:wikipedia":"en:Kinney Drugs",healthcare:"pharmacy",name:"Kinney Drugs"}},"amenity/pharmacy|Kroger Pharmacy":{countryCodes:["us"],tags:{amenity:"pharmacy",brand:"Kroger Pharmacy",healthcare:"pharmacy",name:"Kroger Pharmacy"}},"amenity/pharmacy|Kronans Apotek":{countryCodes:["se"],tags:{amenity:"pharmacy",brand:"Kronans Apotek",healthcare:"pharmacy",name:"Kronans Apotek"}},"amenity/pharmacy|Lloyds Pharmacy":{countryCodes:["be","gb","ie","im"],matchNames:["lloyds"],tags:{amenity:"pharmacy",brand:"Lloyds Pharmacy","brand:wikidata":"Q6662870","brand:wikipedia":"en:LloydsPharmacy",healthcare:"pharmacy",name:"Lloyds Pharmacy"}},"amenity/pharmacy|London Drugs":{countryCodes:["ca"],tags:{amenity:"pharmacy",brand:"London Drugs","brand:wikidata":"Q3258955","brand:wikipedia":"en:London Drugs",healthcare:"pharmacy",name:"London Drugs"}},"amenity/pharmacy|Longs Drugs~(Hawaii)":{countryCodes:["us"],tags:{amenity:"pharmacy",brand:"Longs Drugs","brand:wikidata":"Q16931196","brand:wikipedia":"en:Longs Drugs",healthcare:"pharmacy",name:"Longs Drugs",short_name:"Longs"}},"amenity/pharmacy|Mannings":{countryCodes:["cn","hk","mo"],tags:{amenity:"pharmacy",brand:"Mannings","brand:wikidata":"Q13646560","brand:wikipedia":"en:Mannings",healthcare:"pharmacy",name:"Mannings"}},"amenity/pharmacy|Marc's Pharmacy":{countryCodes:["us"],nomatch:["shop/supermarket|Marc's"],tags:{amenity:"pharmacy",brand:"Marc's","brand:wikidata":"Q17080259","brand:wikipedia":"en:Marc's",healthcare:"pharmacy",name:"Marc's Pharmacy"}},"amenity/pharmacy|MedPlus":{countryCodes:["in"],tags:{amenity:"pharmacy",brand:"MedPlus","brand:wikidata":"Q65684234","brand:wikipedia":"en:MedPlus",healthcare:"pharmacy",name:"MedPlus"}},"amenity/pharmacy|Mercury Drug":{countryCodes:["ph"],tags:{amenity:"pharmacy",brand:"Mercury Drug","brand:wikidata":"Q6818610","brand:wikipedia":"en:Mercury Drug",healthcare:"pharmacy",name:"Mercury Drug"}},"amenity/pharmacy|Mifarma":{countryCodes:["pe"],tags:{amenity:"pharmacy",brand:"Mifarma","brand:wikidata":"Q62564998",healthcare:"pharmacy",name:"Mifarma"}},"amenity/pharmacy|Multipharma":{countryCodes:["be"],tags:{amenity:"pharmacy",brand:"Multipharma","brand:wikidata":"Q62565018",healthcare:"pharmacy",name:"Multipharma"}},"amenity/pharmacy|Mēness aptieka":{countryCodes:["lv"],tags:{amenity:"pharmacy",brand:"Mēness aptieka","brand:wikidata":"Q57583051",healthcare:"pharmacy",name:"Mēness aptieka"}},"amenity/pharmacy|Pague Menos":{countryCodes:["br"],matchNames:["farmácia pague menos"],tags:{amenity:"pharmacy",brand:"Pague Menos","brand:wikidata":"Q7124466","brand:wikipedia":"pt:Pague Menos",healthcare:"pharmacy",name:"Pague Menos"}},"amenity/pharmacy|Panvel":{countryCodes:["br"],tags:{amenity:"pharmacy",brand:"Panvel","brand:wikipedia":"pt:Panvel","branf:wikidata":"Q10344254",healthcare:"pharmacy",name:"Panvel"}},"amenity/pharmacy|PharmaChoice":{countryCodes:["ca"],tags:{amenity:"pharmacy",brand:"PharmaChoice","brand:wikidata":"Q7180716","brand:wikipedia":"en:PharmaChoice",healthcare:"pharmacy",name:"PharmaChoice"}},"amenity/pharmacy|PharmaSave~(Australia)":{countryCodes:["au"],nomatch:["amenity/pharmacy|Pharmasave~(Canada)"],tags:{amenity:"pharmacy",brand:"PharmaSave","brand:wikidata":"Q63367906",healthcare:"pharmacy",name:"PharmaSave"}},"amenity/pharmacy|Pharmacie Principale":{tags:{amenity:"pharmacy",brand:"Pharmacie Principale","brand:wikidata":"Q1547749","brand:wikipedia":"fr:Groupe PP Holding",healthcare:"pharmacy",name:"Pharmacie Principale"}},"amenity/pharmacy|Pharmacy 4 Less":{countryCodes:["au"],tags:{amenity:"pharmacy",brand:"Pharmacy 4 Less","brand:wikidata":"Q63367608",healthcare:"pharmacy",name:"Pharmacy 4 Less"}},"amenity/pharmacy|Pharmaprix":{countryCodes:["ca"],tags:{amenity:"pharmacy",brand:"Pharmaprix","brand:wikidata":"Q1820137","brand:wikipedia":"en:Shoppers Drug Mart",healthcare:"pharmacy",name:"Pharmaprix"}},"amenity/pharmacy|Pharmasave~(Canada)":{countryCodes:["ca"],nomatch:["amenity/pharmacy|Pharmasave~(Australia)"],tags:{amenity:"pharmacy",brand:"Pharmasave","brand:wikidata":"Q17093822","brand:wikipedia":"en:Pharmasave",healthcare:"pharmacy",name:"Pharmasave"}},"amenity/pharmacy|Priceline Pharmacy":{countryCodes:["au"],matchNames:["priceline"],tags:{amenity:"pharmacy",brand:"Priceline Pharmacy","brand:wikidata":"Q7242652","brand:wikipedia":"en:Priceline (Australia)",healthcare:"pharmacy",name:"Priceline Pharmacy"}},"amenity/pharmacy|Punto Farma~(Colombia)":{countryCodes:["co"],tags:{amenity:"pharmacy",brand:"Punto Farma","brand:wikidata":"Q62595271",healthcare:"pharmacy",name:"Punto Farma"}},"amenity/pharmacy|Punto Farma~(Honduras)":{countryCodes:["hn"],tags:{amenity:"pharmacy",brand:"Punto Farma","brand:wikidata":"Q62595229",healthcare:"pharmacy",name:"Punto Farma"}},"amenity/pharmacy|Punto Farma~(Paraguay)":{countryCodes:["py"],tags:{amenity:"pharmacy",brand:"Punto Farma","brand:wikidata":"Q62595220",healthcare:"pharmacy",name:"Punto Farma"}},"amenity/pharmacy|Remedy'sRx":{countryCodes:["ca"],tags:{amenity:"pharmacy",brand:"Remedy'sRx","brand:wikidata":"Q65553833",healthcare:"pharmacy",name:"Remedy'sRx"}},"amenity/pharmacy|Rexall":{countryCodes:["ca","us"],tags:{amenity:"pharmacy",brand:"Rexall","brand:wikidata":"Q7319360","brand:wikipedia":"en:Rexall",healthcare:"pharmacy",name:"Rexall"}},"amenity/pharmacy|Rite Aid":{countryCodes:["us"],matchNames:["rite aid pharmacy"],nomatch:["shop/chemist|Rite Aid"],tags:{amenity:"pharmacy",brand:"Rite Aid","brand:wikidata":"Q3433273","brand:wikipedia":"en:Rite Aid",healthcare:"pharmacy",name:"Rite Aid"}},"amenity/pharmacy|Rose Pharmacy":{countryCodes:["ph"],tags:{amenity:"pharmacy",brand:"Rose Pharmacy","brand:wikidata":"Q62663208",healthcare:"pharmacy",name:"Rose Pharmacy"}},"amenity/pharmacy|Rowlands Pharmacy":{countryCodes:["gb"],tags:{amenity:"pharmacy",brand:"Rowlands Pharmacy","brand:wikidata":"Q62663235",healthcare:"pharmacy",name:"Rowlands Pharmacy"}},"amenity/pharmacy|SalcoBrand":{countryCodes:["cl"],matchNames:["farmacias salcobrand"],tags:{amenity:"pharmacy",brand:"SalcoBrand","brand:wikidata":"Q2877054","brand:wikipedia":"es:Farmacias Salcobrand",healthcare:"pharmacy",name:"SalcoBrand"}},"amenity/pharmacy|Sana Sana":{countryCodes:["ec"],matchNames:["farmacias sana sana"],tags:{amenity:"pharmacy",brand:"Sana Sana","brand:wikidata":"Q62564499",healthcare:"pharmacy",name:"Sana Sana"}},"amenity/pharmacy|Sensiblu":{countryCodes:["ro"],tags:{amenity:"pharmacy",brand:"Sensiblu","brand:wikidata":"Q12740640","brand:wikipedia":"ro:Sensiblu",healthcare:"pharmacy",name:"Sensiblu"}},"amenity/pharmacy|Shoppers Drug Mart":{countryCodes:["ca"],tags:{amenity:"pharmacy",brand:"Shoppers Drug Mart","brand:wikidata":"Q1820137","brand:wikipedia":"en:Shoppers Drug Mart",healthcare:"pharmacy",name:"Shoppers Drug Mart"}},"amenity/pharmacy|South Star Drug":{countryCodes:["ph"],tags:{amenity:"pharmacy",brand:"South Star Drug","brand:wikidata":"Q7568544","brand:wikipedia":"en:South Star Drug",healthcare:"pharmacy",name:"South Star Drug"}},"amenity/pharmacy|Superdrug":{countryCodes:["gb"],nomatch:["shop/chemist|Superdrug"],tags:{amenity:"pharmacy",brand:"Superdrug","brand:wikidata":"Q7643261","brand:wikipedia":"en:Superdrug",healthcare:"pharmacy",name:"Superdrug"}},"amenity/pharmacy|São João":{countryCodes:["br"],tags:{amenity:"pharmacy",brand:"São João","brand:wikidata":"Q62663306",healthcare:"pharmacy",name:"São João"}},"amenity/pharmacy|Słoneczna":{countryCodes:["pl"],tags:{amenity:"pharmacy",brand:"Słoneczna",healthcare:"pharmacy",name:"Słoneczna"}},"amenity/pharmacy|TGP":{countryCodes:["ph"],tags:{amenity:"pharmacy",brand:"The Generics Pharmacy","brand:wikidata":"Q61948677",healthcare:"pharmacy",name:"TGP",official_name:"The Generics Pharmacy"}},"amenity/pharmacy|TerryWhite Chemmart":{countryCodes:["au"],matchNames:["terrywhite","terrywhite chemist","terrywhite chemists"],tags:{amenity:"pharmacy",brand:"TerryWhite Chemmart","brand:wikidata":"Q24089773","brand:wikipedia":"en:Terry White Chemmart",healthcare:"pharmacy",name:"TerryWhite Chemmart"}},"amenity/pharmacy|UFS":{countryCodes:["au"],matchNames:["ufs dispensaries"],tags:{amenity:"pharmacy",brand:"UFS","brand:wikidata":"Q63367573",healthcare:"pharmacy",name:"UFS"}},"amenity/pharmacy|Unichem Pharmacy":{countryCodes:["nz"],tags:{amenity:"pharmacy",brand:"Unichem Pharmacy","brand:wikidata":"Q62663379",healthcare:"pharmacy",name:"Unichem Pharmacy"}},"amenity/pharmacy|Uniprix":{countryCodes:["ca"],tags:{amenity:"pharmacy",brand:"Uniprix","brand:wikidata":"Q683265","brand:wikipedia":"en:Uniprix",healthcare:"pharmacy",name:"Uniprix"}},"amenity/pharmacy|Walgreens":{countryCodes:["us"],matchNames:["walgreens pharmacy"],nomatch:["shop/chemist|Walgreens"],tags:{amenity:"pharmacy",brand:"Walgreens","brand:wikidata":"Q1591889","brand:wikipedia":"en:Walgreens",healthcare:"pharmacy",name:"Walgreens"}},"amenity/pharmacy|Walmart Pharmacy":{countryCodes:["ca","us"],tags:{amenity:"pharmacy",brand:"Walmart","brand:wikidata":"Q483551","brand:wikipedia":"en:Walmart",healthcare:"pharmacy",name:"Walmart Pharmacy"}},"amenity/pharmacy|Watsons":{nomatch:["shop/chemist|Watsons"],tags:{amenity:"pharmacy",brand:"Watsons","brand:wikidata":"Q7974785","brand:wikipedia":"en:Watsons",healthcare:"pharmacy",name:"Watsons"}},"amenity/pharmacy|Well Pharmacy":{countryCodes:["gb"],matchNames:["well"],tags:{amenity:"pharmacy",brand:"Well Pharmacy","brand:wikidata":"Q7726524","brand:wikipedia":"en:Well Pharmacy",healthcare:"pharmacy",name:"Well Pharmacy"}},"amenity/pharmacy|Ziko Apteka":{countryCodes:["pl"],tags:{amenity:"pharmacy",brand:"Ziko Apteka","brand:wikidata":"Q63432892",healthcare:"pharmacy",name:"Ziko Apteka",short_name:"Ziko"}},"amenity/pharmacy|Φαρμακειο":{countryCodes:["cy","gr"],tags:{amenity:"pharmacy",brand:"Φαρμακειο",healthcare:"pharmacy",name:"Φαρμακειο"}},"amenity/pharmacy|А-мега":{tags:{amenity:"pharmacy",brand:"А-мега",healthcare:"pharmacy",name:"А-мега"}},"amenity/pharmacy|А5":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"А5","brand:wikidata":"Q62663476",healthcare:"pharmacy",name:"А5"}},"amenity/pharmacy|Алоэ":{tags:{amenity:"pharmacy",brand:"Алоэ",healthcare:"pharmacy",name:"Алоэ"}},"amenity/pharmacy|Бажаємо здоров'я":{countryCodes:["ua"],tags:{amenity:"pharmacy",brand:"Бажаємо здоров'я",healthcare:"pharmacy",name:"Бажаємо здоров'я"}},"amenity/pharmacy|Бережная аптека":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Бережная аптека","brand:wikidata":"Q62664194",healthcare:"pharmacy",name:"Бережная аптека"}},"amenity/pharmacy|Будь здоров":{countryCodes:["ru","ua"],tags:{amenity:"pharmacy",brand:"Будь здоров",healthcare:"pharmacy",name:"Будь здоров"}},"amenity/pharmacy|Вита":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Вита",healthcare:"pharmacy",name:"Вита"}},"amenity/pharmacy|Горздрав":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Горздрав",healthcare:"pharmacy",name:"Горздрав"}},"amenity/pharmacy|Добрая аптека":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Добрая аптека",healthcare:"pharmacy",name:"Добрая аптека"}},"amenity/pharmacy|Доктор Столетов":{tags:{amenity:"pharmacy",brand:"Доктор Столетов",healthcare:"pharmacy",name:"Доктор Столетов"}},"amenity/pharmacy|Живика":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Живика",healthcare:"pharmacy",name:"Живика"}},"amenity/pharmacy|Здоровье":{countryCodes:["kz","ru","ua"],tags:{amenity:"pharmacy",brand:"Здоровье",healthcare:"pharmacy",name:"Здоровье"}},"amenity/pharmacy|Зеленая аптека":{countryCodes:["by"],tags:{amenity:"pharmacy",brand:"Зеленая аптека",healthcare:"pharmacy",name:"Зеленая аптека"}},"amenity/pharmacy|Имплозия":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Имплозия",healthcare:"pharmacy",name:"Имплозия"}},"amenity/pharmacy|Классика":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Классика",healthcare:"pharmacy",name:"Классика"}},"amenity/pharmacy|Ладушка":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Ладушка",healthcare:"pharmacy",name:"Ладушка"}},"amenity/pharmacy|Максавит":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Максавит",healthcare:"pharmacy",name:"Максавит"}},"amenity/pharmacy|Марешки":{countryCodes:["bg"],tags:{amenity:"pharmacy",brand:"Марешки",healthcare:"pharmacy",name:"Марешки"}},"amenity/pharmacy|Мед-сервіс":{countryCodes:["ua"],tags:{amenity:"pharmacy",brand:"Мед-сервіс",healthcare:"pharmacy",name:"Мед-сервіс"}},"amenity/pharmacy|Мелодия здоровья":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Мелодия здоровья",healthcare:"pharmacy",name:"Мелодия здоровья"}},"amenity/pharmacy|Невис":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Невис",healthcare:"pharmacy",name:"Невис"}},"amenity/pharmacy|Неофарм":{tags:{amenity:"pharmacy",brand:"Неофарм",healthcare:"pharmacy",name:"Неофарм"}},"amenity/pharmacy|Норма":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Норма",healthcare:"pharmacy",name:"Норма"}},"amenity/pharmacy|Озерки":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Озерки",healthcare:"pharmacy",name:"Озерки"}},"amenity/pharmacy|Панацея":{countryCodes:["kz","ru","ua"],tags:{amenity:"pharmacy",brand:"Панацея",healthcare:"pharmacy",name:"Панацея"}},"amenity/pharmacy|Первая помощь":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Первая помощь",healthcare:"pharmacy",name:"Первая помощь"}},"amenity/pharmacy|Планета здоровья":{countryCodes:["by","ru"],tags:{amenity:"pharmacy",brand:"Планета здоровья",healthcare:"pharmacy",name:"Планета здоровья"}},"amenity/pharmacy|Подорожник":{countryCodes:["ua"],tags:{amenity:"pharmacy",brand:"Подорожник",healthcare:"pharmacy",name:"Подорожник"}},"amenity/pharmacy|Радуга":{tags:{amenity:"pharmacy",brand:"Радуга",healthcare:"pharmacy",name:"Радуга"}},"amenity/pharmacy|Ригла":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Ригла","brand:wikidata":"Q4394431","brand:wikipedia":"ru:Ригла",healthcare:"pharmacy",name:"Ригла"}},"amenity/pharmacy|Семейная":{countryCodes:["kz","ru"],tags:{amenity:"pharmacy",brand:"Семейная",healthcare:"pharmacy",name:"Семейная"}},"amenity/pharmacy|Семейная аптека":{countryCodes:["ru","ua"],tags:{amenity:"pharmacy",brand:"Семейная аптека",healthcare:"pharmacy",name:"Семейная аптека"}},"amenity/pharmacy|Социальная аптека":{countryCodes:["ru","ua"],tags:{amenity:"pharmacy",brand:"Социальная аптека",healthcare:"pharmacy",name:"Социальная аптека"}},"amenity/pharmacy|Столички":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Столички",healthcare:"pharmacy",name:"Столички"}},"amenity/pharmacy|Фармакопейка":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Фармакопейка",healthcare:"pharmacy",name:"Фармакопейка"}},"amenity/pharmacy|Фармакор":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Фармакор",healthcare:"pharmacy",name:"Фармакор"}},"amenity/pharmacy|Фармація":{countryCodes:["ua"],tags:{amenity:"pharmacy",brand:"Фармація",healthcare:"pharmacy",name:"Фармація"}},"amenity/pharmacy|Фармленд":{countryCodes:["ru"],tags:{amenity:"pharmacy",brand:"Фармленд",healthcare:"pharmacy",name:"Фармленд"}},"amenity/pharmacy|Центральная аптека":{countryCodes:["by","kz","ru","ua","uz"],tags:{amenity:"pharmacy",brand:"Центральная аптека",healthcare:"pharmacy",name:"Центральная аптека"}},"amenity/pharmacy|סופר-פארם":{countryCodes:["il"],tags:{amenity:"pharmacy",brand:"סופר-פארם","brand:he":"סופר-פארם","brand:wikidata":"Q13220217","brand:wikipedia":"en:Super-Pharm",healthcare:"pharmacy",name:"סופר-פארם","name:he":"סופר-פארם"}},"amenity/pharmacy|くすりの福太郎":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"くすりの福太郎","brand:en":"Kusurino FUKUTARO","brand:ja":"くすりの福太郎","brand:wikidata":"Q17214460","brand:wikipedia":"ja:くすりの福太郎",healthcare:"pharmacy",name:"くすりの福太郎","name:en":"Kusurino Fukutaro","name:ja":"くすりの福太郎"}},"amenity/pharmacy|さくら薬局":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"さくら薬局","brand:ja":"さくら薬局",healthcare:"pharmacy",name:"さくら薬局","name:ja":"さくら薬局"}},"amenity/pharmacy|ウェルパーク":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"ウェルパーク","brand:ja":"ウェルパーク","brand:wikidata":"Q11288610","brand:wikipedia":"ja:ウェルパーク",healthcare:"pharmacy",name:"ウェルパーク","name:en":"Welpark","name:ja":"ウェルパーク"}},"amenity/pharmacy|ウエルシア":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"ウエルシア","brand:en":"Welcia","brand:ja":"ウエルシア","brand:wikidata":"Q11288684","brand:wikipedia":"ja:ウエルシアホールディングス",healthcare:"pharmacy",name:"ウエルシア","name:en":"Welcia","name:ja":"ウエルシア"}},"amenity/pharmacy|ウエルシア薬局":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"ウエルシア薬局","brand:en":"Welcia Yakkyoku","brand:ja":"ウエルシア薬局","brand:wikidata":"Q11288687","brand:wikipedia":"ja:ウエルシア薬局",healthcare:"pharmacy",name:"ウエルシア薬局","name:en":"Welcia Yakkyoku","name:ja":"ウエルシア薬局"}},"amenity/pharmacy|カワチ薬品":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"カワチ薬品","brand:en":"Cawachi","brand:ja":"カワチ薬品","brand:wikidata":"Q11295397","brand:wikipedia":"ja:カワチ薬品",healthcare:"pharmacy",name:"カワチ薬品","name:en":"Cawachi","name:ja":"カワチ薬品"}},"amenity/pharmacy|キリン堂":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"キリン堂","brand:en":"Kirindo","brand:ja":"キリン堂","brand:wikidata":"Q11297751","brand:wikipedia":"ja:キリン堂",healthcare:"pharmacy",name:"キリン堂","name:en":"Kirindo","name:ja":"キリン堂"}},"amenity/pharmacy|クスリのアオキ":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"クスリのアオキ","brand:ja":"クスリのアオキ",healthcare:"pharmacy",name:"クスリのアオキ","name:ja":"クスリのアオキ"}},"amenity/pharmacy|クリエイト":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"クリエイト","brand:en":"Create","brand:ja":"クリエイト","brand:wikidata":"Q11299163","brand:wikipedia":"ja:クリエイトSDホールディングス",healthcare:"pharmacy",name:"クリエイト","name:en":"Create","name:ja":"クリエイト"}},"amenity/pharmacy|クリエイトSD":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"クリエイトSD","brand:ja":"クリエイトSD",healthcare:"pharmacy",name:"クリエイトSD","name:ja":"クリエイトSD"}},"amenity/pharmacy|ココカラファイン":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"ココカラファイン","brand:ja":"ココカラファイン","brand:wikidata":"Q11301948","brand:wikipedia":"ja:ココカラファイン",healthcare:"pharmacy",name:"ココカラファイン","name:en":"Cocokara Fine","name:ja":"ココカラファイン"}},"amenity/pharmacy|サツドラ":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"サツドラ","brand:ja":"サツドラ",healthcare:"pharmacy",name:"サツドラ","name:ja":"サツドラ"}},"amenity/pharmacy|サンドラッグ":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"サンドラッグ","brand:ja":"サンドラッグ","brand:wikidata":"Q11305867","brand:wikipedia":"ja:サンドラッグ",healthcare:"pharmacy",name:"サンドラッグ","name:en":"Sundrug","name:ja":"サンドラッグ"}},"amenity/pharmacy|スギ薬局":{countryCodes:["jp"],nomatch:["shop/chemist|スギ薬局"],tags:{amenity:"pharmacy",brand:"スギ薬局","brand:en":"Sugi Pharmacy","brand:ja":"スギ薬局","brand:wikidata":"Q11311460","brand:wikipedia":"ja:スギ薬局",healthcare:"pharmacy",name:"スギ薬局","name:en":"Sugi Pharmacy","name:ja":"スギ薬局"}},"amenity/pharmacy|セイジョー":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"セイジョー","brand:en":"Seijo","brand:ja":"セイジョー","brand:wikidata":"Q11314133","brand:wikipedia":"ja:セイジョー",healthcare:"pharmacy",name:"セイジョー","name:en":"Seijo","name:ja":"セイジョー"}},"amenity/pharmacy|ダイコクドラッグ":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"ダイコクドラッグ","brand:en":"Daikoku Drug","brand:ja":"ダイコクドラッグ","brand:wikidata":"Q11316754","brand:wikipedia":"ja:ダイコク",healthcare:"pharmacy",name:"ダイコクドラッグ","name:en":"Daikoku Drug","name:ja":"ダイコクドラッグ"}},"amenity/pharmacy|ツルハドラッグ":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"ツルハドラッグ","brand:en":"Tsuruha","brand:ja":"ツルハドラッグ","brand:wikidata":"Q11318826","brand:wikipedia":"ja:ツルハ",healthcare:"pharmacy",name:"ツルハドラッグ","name:en":"Tsuruha","name:ja":"ツルハドラッグ"}},"amenity/pharmacy|トモズ":{countryCodes:["jp"],matchNames:["トモズエキスプレス"],tags:{amenity:"pharmacy",brand:"トモズ","brand:en":"Tomod's","brand:ja":"トモズ","brand:wikidata":"Q7820097","brand:wikipedia":"ja:トモズ",healthcare:"pharmacy",name:"トモズ","name:en":"Tomod's","name:ja":"トモズ"}},"amenity/pharmacy|ドラッグセイムス":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"ドラッグセイムス","brand:ja":"ドラッグセイムス",healthcare:"pharmacy",name:"ドラッグセイムス","name:ja":"ドラッグセイムス"}},"amenity/pharmacy|マツモトキヨシ":{countryCodes:["jp"],tags:{amenity:"pharmacy",brand:"マツモトキヨシ","brand:en":"Matsukiyo","brand:ja":"マツモトキヨシ","brand:wikidata":"Q8014776","brand:wikipedia":"ja:マツモトキヨシ",healthcare:"pharmacy",name:"マツモトキヨシ","name:en":"Matsukiyo","name:ja":"マツモトキヨシ"}},"amenity/pharmacy|丁丁藥局":{nomatch:["shop/chemist|丁丁藥局"],tags:{amenity:"pharmacy",brand:"丁丁藥局",healthcare:"pharmacy",name:"丁丁藥局"}},"amenity/pharmacy|屈臣氏":{nomatch:["shop/chemist|屈臣氏"],tags:{amenity:"pharmacy",brand:"屈臣氏",healthcare:"pharmacy",name:"屈臣氏"}},"amenity/post_box|Canada Post":{countryCodes:["ca"],nomatch:["amenity/post_office|Canada Post"],tags:{amenity:"post_box",brand:"Canada Post","brand:wikidata":"Q1032001","brand:wikipedia":"en:Canada Post",name:"Canada Post"}},"amenity/post_box|Deutsche Post":{countryCodes:["de"],matchNames:["deutsche post ag"],nomatch:["amenity/post_office|Deutsche Post"],tags:{amenity:"post_box",brand:"Deutsche Post","brand:wikidata":"Q157645","brand:wikipedia":"en:Deutsche Post",name:"Deutsche Post"}},"amenity/post_box|FedEx":{nomatch:["amenity/post_office|FedEx"],tags:{amenity:"post_box",brand:"FedEx","brand:wikidata":"Q459477","brand:wikipedia":"en:FedEx",name:"FedEx"}},"amenity/post_box|UPS":{countryCodes:["ca","us"],nomatch:["amenity/post_office|The UPS Store"],tags:{amenity:"post_box",brand:"UPS","brand:wikidata":"Q155026","brand:wikipedia":"en:United Parcel Service",name:"UPS"}},"amenity/post_box|USPS":{countryCodes:["us"],nomatch:["amenity/post_office|USPS"],tags:{amenity:"post_box",brand:"USPS","brand:wikidata":"Q668687","brand:wikipedia":"en:United States Postal Service",name:"USPS"}},"amenity/post_box|差出箱13号":{countryCodes:["jp"],tags:{amenity:"post_box",brand:"差出箱13号",name:"差出箱13号"}},"amenity/post_office|Australia Post":{countryCodes:["au"],tags:{amenity:"post_office",brand:"Australia Post","brand:wikidata":"Q1142936","brand:wikipedia":"en:Australia Post",name:"Australia Post"}},"amenity/post_office|CTT":{countryCodes:["mo"],tags:{amenity:"post_office",brand:"CTT","brand:wikidata":"Q909429","brand:wikipedia":"en:CTT (Macau)",name:"CTT"}},"amenity/post_office|Canada Post":{countryCodes:["ca"],nomatch:["amenity/post_box|Canada Post"],tags:{amenity:"post_office",brand:"Canada Post","brand:wikidata":"Q1032001","brand:wikipedia":"en:Canada Post",name:"Canada Post"}},"amenity/post_office|Chilexpress":{countryCodes:["cl"],tags:{amenity:"post_office",brand:"Chilexpress",name:"Chilexpress"}},"amenity/post_office|Correios":{countryCodes:["br"],tags:{amenity:"post_office",brand:"Correios","brand:wikidata":"Q3375004","brand:wikipedia":"en:Correios",name:"Correios"}},"amenity/post_office|Correo Argentino":{countryCodes:["ar"],tags:{amenity:"post_office",brand:"Correo Argentino","brand:wikidata":"Q4036566","brand:wikipedia":"en:Correo Argentino",name:"Correo Argentino"}},"amenity/post_office|Correos de Chile":{countryCodes:["cl"],tags:{amenity:"post_office",brand:"Correos de Chile","brand:wikidata":"Q5172893","brand:wikipedia":"en:Correos de Chile",name:"Correos de Chile"}},"amenity/post_office|Correos de Costa Rica":{countryCodes:["cr"],tags:{amenity:"post_office",brand:"Correos de Costa Rica","brand:wikidata":"Q5172894","brand:wikipedia":"en:Correos de Costa Rica",name:"Correos de Costa Rica"}},"amenity/post_office|Correos de México":{countryCodes:["mx"],tags:{amenity:"post_office",brand:"Correos de México","brand:wikidata":"Q5172898","brand:wikipedia":"en:Correos de México",name:"Correos de México"}},"amenity/post_office|DHL":{matchNames:["dhl paketshop"],tags:{amenity:"post_office",brand:"DHL","brand:wikidata":"Q489815","brand:wikipedia":"en:DHL Express",name:"DHL"}},"amenity/post_office|DPD Paketshop":{countryCodes:["at","de","pl"],tags:{amenity:"post_office",brand:"DPD Paketshop","brand:wikidata":"Q541030","brand:wikipedia":"en:DPDgroup",name:"DPD Paketshop"}},"amenity/post_office|Deutsche Post":{countryCodes:["de"],matchNames:["deutsche post ag","deutsche post filiale"],tags:{amenity:"post_office",brand:"Deutsche Post","brand:wikidata":"Q157645","brand:wikipedia":"en:Deutsche Post",name:"Deutsche Post"}},"amenity/post_office|Fancourier":{countryCodes:["ro"],tags:{amenity:"post_office",brand:"Fancourier","brand:wikidata":"Q12727984","brand:wikipedia":"ro:FAN Courier Express",name:"Fancourier"}},"amenity/post_office|FedEx":{nomatch:["amenity/post_box|FedEx"],tags:{amenity:"post_office",brand:"FedEx","brand:wikidata":"Q459477","brand:wikipedia":"en:FedEx",name:"FedEx"}},"amenity/post_office|Hermes Paketshop":{countryCodes:["de"],matchNames:["hermes"],tags:{amenity:"post_office",brand:"Hermes Paketshop","brand:wikidata":"Q1613532","brand:wikipedia":"en:Hermes Group",name:"Hermes Paketshop"}},"amenity/post_office|LBC":{countryCodes:["ph"],matchNames:["lbc express"],tags:{amenity:"post_office",brand:"LBC","brand:wikidata":"Q17075584","brand:wikipedia":"en:LBC Express",name:"LBC"}},"amenity/post_office|La Poste":{tags:{amenity:"post_office",brand:"La Poste","brand:wikidata":"Q373724","brand:wikipedia":"fr:La Poste (entreprise française)",name:"La Poste"}},"amenity/post_office|MRW":{tags:{amenity:"post_office",brand:"MRW","brand:wikidata":"Q23767821","brand:wikipedia":"es:MRW",name:"MRW"}},"amenity/post_office|OCA":{countryCodes:["ar"],tags:{amenity:"post_office",brand:"OCA",name:"OCA"}},"amenity/post_office|Oficina de Correos":{matchNames:["correos"],tags:{amenity:"post_office",brand:"Oficina de Correos","brand:wikidata":"Q776605","brand:wikipedia":"es:Correos (España)",name:"Oficina de Correos"}},"amenity/post_office|PTT":{nomatch:["amenity/fuel|PTT"],tags:{amenity:"post_office",brand:"PTT",name:"PTT"}},"amenity/post_office|Poczta Polska":{countryCodes:["pl"],tags:{amenity:"post_office",brand:"Poczta Polska","brand:wikidata":"Q168833","brand:wikipedia":"pl:Poczta Polska",name:"Poczta Polska"}},"amenity/post_office|PostalAnnex":{countryCodes:["us"],matchTags:["shop/post_office"],tags:{amenity:"post_office",brand:"PostalAnnex","brand:wikidata":"Q61960357",name:"PostalAnnex"}},"amenity/post_office|Postbank Finanzcenter":{tags:{amenity:"post_office",brand:"Postbank Finanzcenter",name:"Postbank Finanzcenter"}},"amenity/post_office|Poste Italiane":{countryCodes:["it"],tags:{amenity:"post_office",brand:"Poste Italiane","brand:wikidata":"Q495026","brand:wikipedia":"en:Poste italiane",name:"Poste Italiane"}},"amenity/post_office|Serpost":{countryCodes:["pe"],matchNames:["servicios postales del perú"],matchTags:["shop/post_office"],tags:{amenity:"post_office",brand:"Serpost","brand:wikidata":"Q19521863","brand:wikipedia":"es:Servicios Postales del Perú",name:"Serpost"}},"amenity/post_office|Servientrega":{tags:{amenity:"post_office",brand:"Servientrega",name:"Servientrega"}},"amenity/post_office|Slovenská pošta":{countryCodes:["sk"],tags:{amenity:"post_office",brand:"Slovenská pošta","brand:wikidata":"Q1191849","brand:wikipedia":"en:Slovenská pošta",name:"Slovenská pošta"}},"amenity/post_office|The UPS Store":{countryCodes:["ca","us"],matchNames:["ups store"],matchTags:["shop/copyshop"],nomatch:["amenity/post_box|UPS"],tags:{amenity:"post_office",brand:"The UPS Store","brand:wikidata":"Q7771029","brand:wikipedia":"en:The UPS Store",name:"The UPS Store",short_name:"UPS"}},"amenity/post_office|United States Post Office":{countryCodes:["us"],matchNames:["united states postal service","us post office","us postal service","usps"],tags:{amenity:"post_office",brand:"United States Post Office","brand:wikidata":"Q668687","brand:wikipedia":"en:United States Postal Service",name:"United States Post Office"}},"amenity/post_office|ΕΛΤΑ":{countryCodes:["gr"],tags:{amenity:"post_office",brand:"ΕΛΤΑ","brand:wikidata":"Q1275135","brand:wikipedia":"el:Ελληνικά Ταχυδρομεία",name:"ΕΛΤΑ"}},"amenity/post_office|Белпошта":{countryCodes:["by"],matchNames:["белпочта"],tags:{amenity:"post_office",brand:"Белпошта","brand:be":"Белпошта","brand:en":"Belposhta","brand:ru":"Белпочта","brand:wikidata":"Q2662336","brand:wikipedia":"be:Белпошта",name:"Белпошта","name:be":"Белпошта","name:en":"Belposhta","name:ru":"Белпочта"}},"amenity/post_office|Казпочта":{countryCodes:["kz"],tags:{amenity:"post_office",brand:"Казпочта","brand:wikidata":"Q746263","brand:wikipedia":"ru:Казпочта",name:"Казпочта"}},"amenity/post_office|Нова Пошта":{countryCodes:["ua"],matchNames:["Нова Пошта №1","Нова Пошта №2","Нова Пошта №3","Нова Пошта №4"],tags:{amenity:"post_office",brand:"Нова Пошта","brand:wikidata":"Q12133863","brand:wikipedia":"uk:Нова пошта",name:"Нова Пошта"}},"amenity/post_office|Почта России":{countryCodes:["ru"],tags:{amenity:"post_office",brand:"Почта России","brand:wikidata":"Q1502763","brand:wikipedia":"ru:Почта России",name:"Почта России"}},"amenity/post_office|СДЭК":{countryCodes:["ru","ua"],tags:{amenity:"post_office",brand:"СДЭК","brand:wikidata":"Q28665980","brand:wikipedia":"ru:СДЭК",name:"СДЭК"}},"amenity/post_office|Укрпошта":{countryCodes:["ua"],tags:{amenity:"post_office",brand:"Укрпошта","brand:wikidata":"Q2470783","brand:wikipedia":"en:Ukrposhta",name:"Укрпошта"}},"amenity/post_office|中国邮政":{countryCodes:["cn"],tags:{amenity:"post_office",brand:"中国邮政","brand:en":"China Post","brand:wikidata":"Q1066476","brand:wikipedia":"en:China Post",name:"中国邮政","name:en":"China Post"}},"amenity/prep_school|Huntington Learning Center":{countryCodes:["us"],matchNames:["huntington"],tags:{amenity:"prep_school",brand:"Huntington Learning Center","brand:wikidata":"Q5945399","brand:wikipedia":"en:Huntington Learning Center",name:"Huntington Learning Center"}},"amenity/prep_school|KUMON~(Japan)":{countryCodes:["jp"],matchNames:["くもん","公文"],tags:{amenity:"prep_school",brand:"KUMON","brand:wikidata":"Q142054","brand:wikipedia":"ja:日本公文教育研究会",name:"KUMON","name:ja":"公文","name:ja-Hira":"くもん","name:ja-Latn":"KUMON"}},"amenity/prep_school|Kumon~(International)":{matchNames:["kumon learning center"],tags:{amenity:"prep_school",brand:"Kumon","brand:wikidata":"Q142054","brand:wikipedia":"en:Kumon",name:"Kumon"}},"amenity/prep_school|Mathnasium":{countryCodes:["us"],matchNames:["mathnasium learning center"],tags:{amenity:"prep_school",brand:"Mathnasium","brand:wikidata":"Q6787302","brand:wikipedia":"en:Mathnasium",name:"Mathnasium"}},"amenity/prep_school|Russian School of Mathematics":{countryCodes:["us"],matchNames:["rsm","russian school of math"],tags:{amenity:"prep_school",brand:"Russian School of Mathematics","brand:wikidata":"Q7382122","brand:wikipedia":"en:Russian School of Mathematics",name:"Russian School of Mathematics"}},"amenity/prep_school|Sylvan":{countryCodes:["us"],matchNames:["sylvan learning"],tags:{alt_name:"Sylvan Learning Center",amenity:"prep_school",brand:"Sylvan","brand:wikidata":"Q7660663","brand:wikipedia":"en:Sylvan Learning",name:"Sylvan"}},"amenity/prep_school|栄光ゼミナール":{countryCodes:["jp"],matchNames:["eikoh"],tags:{amenity:"prep_school",brand:"栄光ゼミナール","brand:ja":"栄光ゼミナール","brand:ja-Hira":"えいこうゼミナール","brand:ja-Latn":"Eikō Zemināru","brand:wikidata":"Q11535632","brand:wikipedia":"ja:栄光ゼミナール",name:"栄光ゼミナール","name:en":"Eikoh Seminar","name:ja":"栄光ゼミナール","name:ja-Hira":"えいこうゼミナール","name:ja-Latn":"Eikō Zemināru"}},"amenity/public_bookcase|Little Free Library":{tags:{amenity:"public_bookcase",brand:"Little Free Library","brand:wikidata":"Q6650101","brand:wikipedia":"en:Little Free Library",name:"Little Free Library"}},"amenity/public_bookcase|Offener Bücherschrank":{countryCodes:["at","ch","de"],tags:{amenity:"public_bookcase",brand:"Offener Bücherschrank",name:"Offener Bücherschrank"}},"amenity/restaurant|100 Montaditos":{countryCodes:["es","it","pt"],tags:{amenity:"restaurant",brand:"100 Montaditos","brand:wikidata":"Q8355805","brand:wikipedia":"en:Cervecería 100 Montaditos",cuisine:"sandwich",name:"100 Montaditos"}},"amenity/restaurant|3 Brewers~(On)":{countryCodes:["ca"],tags:{amenity:"restaurant",brand:"3 Brasseurs","brand:wikidata":"Q3230326","brand:wikipedia":"fr:Les 3 Brasseurs",cuisine:"burger;pizza;seafood",name:"3 Brewers","name:fr":"3 Brasseurs",official_name:"Les 3 Brasseurs"}},"amenity/restaurant|ASK Italian":{countryCodes:["gb"],tags:{amenity:"restaurant",brand:"ASK Italian","brand:wikidata":"Q4807056","brand:wikipedia":"en:ASK Italian",cuisine:"italian",name:"ASK Italian"}},"amenity/restaurant|Amici":{tags:{amenity:"restaurant",brand:"Amici",name:"Amici"}},"amenity/restaurant|Applebee's":{matchNames:["applebees bar and grill","applebees grill and bar","applebees neighborhood bar and grill"],tags:{amenity:"restaurant",brand:"Applebee's Neighborhood Grill & Bar","brand:wikidata":"Q621532","brand:wikipedia":"en:Applebee's",cuisine:"american",name:"Applebee's",official_name:"Applebee's Neighborhood Grill & Bar"}},"amenity/restaurant|Autogrill":{countryCodes:["at","es","fr","it"],tags:{amenity:"restaurant",brand:"Autogrill","brand:wikidata":"Q786790","brand:wikipedia":"en:Autogrill",name:"Autogrill"}},"amenity/restaurant|BBB":{countryCodes:["il"],tags:{alt_name:"Burgus Burger Bar","alt_name:en":"Burgus Burger Bar",amenity:"restaurant",brand:"Burgus Burger Bar","brand:en":"Burgus Burger Bar","brand:wikidata":"Q64760094",cuisine:"burger",name:"BBB","name:en":"BBB"}},"amenity/restaurant|BJ's":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"BJ's","brand:wikidata":"Q4835755","brand:wikipedia":"en:BJ's Restaurants",cuisine:"american",name:"BJ's",official_name:"BJ's Restaurant & Brewhouse"}},"amenity/restaurant|Bella Italia":{countryCodes:["gb"],tags:{amenity:"restaurant",brand:"Bella Italia","brand:wikidata":"Q4883362","brand:wikipedia":"en:Bella Italia",cuisine:"italian",name:"Bella Italia"}},"amenity/restaurant|Benihana":{countryCodes:["aw","br","ca","pa","sv","us"],matchNames:["benihana of tokyo"],tags:{amenity:"restaurant",brand:"Benihana","brand:wikidata":"Q4887996","brand:wikipedia":"en:Benihana",cuisine:"japanese;teppanyaki;steak",name:"Benihana"}},"amenity/restaurant|Bertucci's":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Bertucci's","brand:wikidata":"Q4895917","brand:wikipedia":"en:Bertucci's",cuisine:"pizza;italian",name:"Bertucci's"}},"amenity/restaurant|Big Boy":{tags:{amenity:"restaurant",brand:"Big Boy","brand:wikidata":"Q4386779","brand:wikipedia":"en:Big Boy Restaurants",cuisine:"burger",name:"Big Boy",official_name:"Big Boy Restaurant & Bakery"}},"amenity/restaurant|Black":{countryCodes:["il"],tags:{amenity:"restaurant",brand:"Black Bar Burger","brand:en":"Black Bar Burger","brand:he":"בלאק בורגר","brand:wikidata":"Q64760158",cuisine:"burger",name:"Black","name:en":"Black","name:he":"בלאק"}},"amenity/restaurant|Black Bear Diner":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Black Bear Diner","brand:wikidata":"Q4920343","brand:wikipedia":"en:Black Bear Diner",cuisine:"american",name:"Black Bear Diner"}},"amenity/restaurant|Blaze Pizza":{countryCodes:["bh","ca","kw","sa","us"],tags:{amenity:"restaurant",brand:"Blaze Pizza","brand:wikidata":"Q23016666","brand:wikipedia":"en:Blaze Pizza",cuisine:"pizza",name:"Blaze Pizza"}},"amenity/restaurant|Bob Evans":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Bob Evans","brand:wikidata":"Q4932386","brand:wikipedia":"en:Bob Evans Restaurants",cuisine:"american",name:"Bob Evans"}},"amenity/restaurant|Bonanza Steakhouse":{countryCodes:["us"],matchNames:["bonanza"],tags:{amenity:"restaurant",brand:"Bonanza Steakhouse","brand:wikidata":"Q64045992",cuisine:"american;steak;buffet",name:"Bonanza Steakhouse"}},"amenity/restaurant|Bonefish Grill":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Bonefish Grill","brand:wikidata":"Q4941599","brand:wikipedia":"en:Bonefish Grill",cuisine:"seafood",name:"Bonefish Grill"}},"amenity/restaurant|Boston Pizza":{countryCodes:["ca","us"],tags:{amenity:"restaurant",brand:"Boston Pizza","brand:wikidata":"Q894578","brand:wikipedia":"en:Boston Pizza",cuisine:"pizza",name:"Boston Pizza"}},"amenity/restaurant|Bravo":{countryCodes:["us"],nomatch:["shop/supermarket|Bravo"],tags:{alt_name:"Bravo Cucina Italiana",amenity:"restaurant",brand:"Bravo","brand:wikidata":"Q64055574",cuisine:"italian",name:"Bravo"}},"amenity/restaurant|Brio":{countryCodes:["us"],tags:{alt_name:"Brio Tuscan Grille",amenity:"restaurant",brand:"Brio","brand:wikidata":"Q64055835",cuisine:"italian",name:"Brio"}},"amenity/restaurant|Buca di Beppo":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Buca di Beppo","brand:wikidata":"Q4982340","brand:wikipedia":"en:Buca di Beppo",cuisine:"italian",name:"Buca di Beppo"}},"amenity/restaurant|Buffalo Grill":{countryCodes:["es","fr"],tags:{amenity:"restaurant",brand:"Buffalo Grill","brand:wikidata":"Q944655","brand:wikipedia":"en:Buffalo Grill",cuisine:"steak_house",name:"Buffalo Grill"}},"amenity/restaurant|Buffalo Wild Wings":{tags:{amenity:"restaurant",brand:"Buffalo Wild Wings","brand:wikidata":"Q509255","brand:wikipedia":"en:Buffalo Wild Wings",cuisine:"wings",name:"Buffalo Wild Wings"}},"amenity/restaurant|Buffalo Wings & Rings":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Buffalo Wings & Rings","brand:wikidata":"Q4985900","brand:wikipedia":"en:Buffalo Wings & Rings",cuisine:"wings",name:"Buffalo Wings & Rings",takeaway:"yes"}},"amenity/restaurant|Cafe Rio":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Cafe Rio","brand:wikidata":"Q5017108","brand:wikipedia":"en:Cafe Rio",cuisine:"mexican",name:"Cafe Rio"}},"amenity/restaurant|California Pizza Kitchen":{tags:{amenity:"restaurant",brand:"California Pizza Kitchen","brand:wikidata":"Q15109854","brand:wikipedia":"en:California Pizza Kitchen",cuisine:"pizza",name:"California Pizza Kitchen"}},"amenity/restaurant|Campanile":{tags:{amenity:"restaurant",brand:"Campanile",name:"Campanile"}},"amenity/restaurant|Carluccio's":{countryCodes:["gb"],tags:{amenity:"restaurant",brand:"Carluccio's","brand:wikidata":"Q25111797","brand:wikipedia":"en:Carluccio's Ltd",cuisine:"italian",name:"Carluccio's"}},"amenity/restaurant|Carrabba's Italian Grill":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Carrabba's Italian Grill","brand:wikidata":"Q5045999","brand:wikipedia":"en:Carrabba's Italian Grill",cuisine:"italian",name:"Carrabba's Italian Grill"}},"amenity/restaurant|Cheddar's":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Cheddar's","brand:wikidata":"Q5089187","brand:wikipedia":"en:Cheddar's Scratch Kitchen",cuisine:"american",name:"Cheddar's",official_name:"Cheddar's Scratch Kitchen"}},"amenity/restaurant|Cheeburger Cheeburger":{countryCodes:["ca","sa","us"],tags:{amenity:"restaurant",brand:"Cheeburger Cheeburger","brand:wikidata":"Q5089247","brand:wikipedia":"en:Cheeburger Cheeburger",cuisine:"burger",name:"Cheeburger Cheeburger"}},"amenity/restaurant|Chevys":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Chevys Fresh Mex","brand:wikidata":"Q5094466","brand:wikipedia":"en:Chevys Fresh Mex",cuisine:"mexican",name:"Chevys",official_name:"Chevys Fresh Mex"}},"amenity/restaurant|Chili's":{tags:{amenity:"restaurant",brand:"Chili's","brand:wikidata":"Q1072948","brand:wikipedia":"en:Chili's",cuisine:"tex-mex",name:"Chili's",official_name:"Chili's Grill & Bar"}},"amenity/restaurant|Chiquito":{countryCodes:["gb"],tags:{amenity:"restaurant",brand:"Chiquito","brand:wikidata":"Q5101775","brand:wikipedia":"en:Chiquito (restaurant)",cuisine:"tex-mex",name:"Chiquito"}},"amenity/restaurant|Chuck E. Cheese's":{countryCodes:["ca","us"],matchNames:["chuck e cheese"],tags:{amenity:"restaurant",brand:"Chuck E. Cheese's","brand:wikidata":"Q2438391","brand:wikipedia":"en:Chuck E. Cheese's",cuisine:"pizza",name:"Chuck E. Cheese's"}},"amenity/restaurant|Cici's Pizza":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Cici's Pizza","brand:wikidata":"Q2972189","brand:wikipedia":"en:Cicis",cuisine:"pizza;buffet",name:"Cici's Pizza"}},"amenity/restaurant|Claim Jumper":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Claim Jumper","brand:wikidata":"Q5125081","brand:wikipedia":"en:Claim Jumper",cuisine:"american",name:"Claim Jumper"}},"amenity/restaurant|Coast to Coast":{countryCodes:["gb"],tags:{amenity:"restaurant",brand:"Coast to Coast","brand:wikidata":"Q22000729","brand:wikipedia":"en:Coast to Coast (restaurant)",cuisine:"american",name:"Coast to Coast"}},"amenity/restaurant|Cora":{countryCodes:["ca"],nomatch:["shop/supermarket|Cora"],tags:{amenity:"restaurant",brand:"Cora","brand:wikidata":"Q2996960","brand:wikipedia":"en:Cora (restaurant)",cuisine:"breakfast",name:"Cora"}},"amenity/restaurant|Cosmo":{countryCodes:["gb","ie"],tags:{amenity:"restaurant",brand:"Cosmo","brand:wikidata":"Q5174239","brand:wikipedia":"en:Cosmo (restaurant)",name:"Cosmo"}},"amenity/restaurant|Country Pride":{countryCodes:["us"],matchNames:["country pride restaurant"],tags:{amenity:"restaurant",brand:"Country Pride","brand:wikidata":"Q64051992",cuisine:"american",name:"Country Pride"}},"amenity/restaurant|Courtepaille":{countryCodes:["fr"],tags:{amenity:"restaurant",brand:"Courtepaille","brand:wikidata":"Q3116688","brand:wikipedia":"fr:Grill Courtepaille",cuisine:"french",name:"Courtepaille"}},"amenity/restaurant|Cracker Barrel":{countryCodes:["us"],nomatch:["shop/gift|Cracker Barrel"],tags:{amenity:"restaurant",brand:"Cracker Barrel","brand:wikidata":"Q4492609","brand:wikipedia":"en:Cracker Barrel",cuisine:"american",name:"Cracker Barrel",official_name:"Cracker Barrel Old Country Store"}},"amenity/restaurant|Dave & Buster's":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Dave & Buster's","brand:wikidata":"Q5228205","brand:wikipedia":"en:Dave & Buster's",cuisine:"american",name:"Dave & Buster's"}},"amenity/restaurant|Denny's":{tags:{amenity:"restaurant",brand:"Denny's","brand:wikidata":"Q1189695","brand:wikipedia":"en:Denny's",cuisine:"american",name:"Denny's"}},"amenity/restaurant|Dickey's Barbecue Pit":{countryCodes:["us"],matchNames:["dickeys barbecue"],tags:{amenity:"restaurant",brand:"Dickey's Barbecue Pit","brand:wikidata":"Q19880747","brand:wikipedia":"en:Dickey's Barbecue Pit",cuisine:"barbecue",name:"Dickey's Barbecue Pit"}},"amenity/restaurant|Dolce Vita":{tags:{amenity:"restaurant",brand:"Dolce Vita",name:"Dolce Vita"}},"amenity/restaurant|Donatos Pizza":{countryCodes:["us"],matchNames:["donatos"],tags:{amenity:"restaurant",brand:"Donatos Pizza","brand:wikidata":"Q1240741","brand:wikipedia":"en:Donatos Pizza",cuisine:"pizza",name:"Donatos Pizza",takeaway:"yes"}},"amenity/restaurant|East Side Mario's":{countryCodes:["ca"],tags:{amenity:"restaurant",brand:"East Side Mario's","brand:wikidata":"Q5329375","brand:wikipedia":"en:East Side Mario's",cuisine:"italian",name:"East Side Mario's"}},"amenity/restaurant|Eat'n Park":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Eat'n Park","brand:wikidata":"Q5331211","brand:wikipedia":"en:Eat'n Park",cuisine:"american",name:"Eat'n Park"}},"amenity/restaurant|Famous Dave's":{countryCodes:["us"],matchNames:["famous daves bbq"],tags:{amenity:"restaurant",brand:"Famous Dave's","brand:wikidata":"Q5433448","brand:wikipedia":"en:Famous Dave's",cuisine:"barbecue",name:"Famous Dave's"}},"amenity/restaurant|First Watch":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"First Watch","brand:wikidata":"Q5454064","brand:wikipedia":"en:First Watch (restaurant chain)",cuisine:"american;breakfast",name:"First Watch"}},"amenity/restaurant|Flunch":{countryCodes:["fr"],tags:{amenity:"restaurant",brand:"Flunch","brand:wikidata":"Q629326","brand:wikipedia":"en:Flunch",cuisine:"french",name:"Flunch"}},"amenity/restaurant|Foster's Hollywood":{countryCodes:["es"],tags:{amenity:"restaurant",brand:"Foster's Hollywood","brand:wikidata":"Q5864366","brand:wikipedia":"en:Foster's Hollywood",cuisine:"american",name:"Foster's Hollywood"}},"amenity/restaurant|Frankie & Benny's":{countryCodes:["gb"],tags:{amenity:"restaurant",brand:"Frankie & Benny's","brand:wikidata":"Q5490892","brand:wikipedia":"en:Frankie & Benny's",cuisine:"italian",name:"Frankie & Benny's"}},"amenity/restaurant|Freshii":{countryCodes:["ca","us"],tags:{amenity:"restaurant",brand:"Freshii","brand:wikidata":"Q5503051","brand:wikipedia":"en:Freshii",cuisine:"salad",name:"Freshii"}},"amenity/restaurant|Friendly's":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Friendly's","brand:wikidata":"Q1464513","brand:wikipedia":"en:Friendly's",cuisine:"american",name:"Friendly's"}},"amenity/restaurant|Frisch's Big Boy":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Frisch's Big Boy","brand:wikidata":"Q5504660","brand:wikipedia":"en:Frisch's",cuisine:"burger",name:"Frisch's Big Boy",takeaway:"yes"}},"amenity/restaurant|Fuddruckers":{tags:{amenity:"restaurant",brand:"Fuddruckers","brand:wikidata":"Q5507056","brand:wikipedia":"en:Fuddruckers",cuisine:"burger",name:"Fuddruckers"}},"amenity/restaurant|Gatti's Pizza":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Gatti's Pizza","brand:wikidata":"Q5527509","brand:wikipedia":"en:Gatti's Pizza",cuisine:"pizza",name:"Gatti's Pizza"}},"amenity/restaurant|Giordano's Pizzeria":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Giordano's Pizzeria","brand:wikidata":"Q5563393","brand:wikipedia":"en:Giordano's Pizzeria",cuisine:"pizza",name:"Giordano's Pizzeria"}},"amenity/restaurant|Godfather's Pizza":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Godfather's Pizza","brand:wikidata":"Q5576353","brand:wikipedia":"en:Godfather's Pizza",cuisine:"pizza",name:"Godfather's Pizza"}},"amenity/restaurant|Golden Corral":{countryCodes:["us"],matchNames:["golden corral buffet","golden corral buffet and grill"],tags:{amenity:"restaurant",brand:"Golden Corral","brand:wikidata":"Q4039560","brand:wikipedia":"en:Golden Corral",cuisine:"american;buffet",name:"Golden Corral"}},"amenity/restaurant|Gourmet Burger Kitchen":{countryCodes:["gb","gr","ie"],tags:{amenity:"restaurant",brand:"Gourmet Burger Kitchen","brand:wikidata":"Q5588445","brand:wikipedia":"en:Gourmet Burger Kitchen",cuisine:"burger",name:"Gourmet Burger Kitchen"}},"amenity/restaurant|Grotto Pizza":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Grotto Pizza","brand:wikidata":"Q20709024","brand:wikipedia":"en:Grotto Pizza",cuisine:"pizza",name:"Grotto Pizza"}},"amenity/restaurant|Gusto":{tags:{amenity:"restaurant",brand:"Gusto",name:"Gusto"}},"amenity/restaurant|Handmade Burger Co.":{countryCodes:["gb"],matchNames:["Handmade Burger Company"],tags:{amenity:"restaurant",brand:"Handmade Burger Co.","brand:wikidata":"Q56154673",cuisine:"burger",name:"Handmade Burger Co."}},"amenity/restaurant|Hans im Glück":{countryCodes:["at","ch","de","sg"],tags:{amenity:"restaurant",brand:"Hans im Glück","brand:wikidata":"Q22569868","brand:wikipedia":"de:Hans im Glück (Restaurantkette)",cuisine:"burger",name:"Hans im Glück"}},"amenity/restaurant|Happy's Pizza":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Happy's Pizza","brand:wikidata":"Q5652393","brand:wikipedia":"en:Happy's Pizza",cuisine:"pizza",name:"Happy's Pizza"}},"amenity/restaurant|Hard Rock Cafe":{tags:{amenity:"restaurant",brand:"Hard Rock Cafe","brand:wikidata":"Q918151","brand:wikipedia":"en:Hard Rock Cafe",cuisine:"american",name:"Hard Rock Cafe"}},"amenity/restaurant|Harvester":{countryCodes:["gb"],matchTags:["amenity/pub"],tags:{amenity:"restaurant",brand:"Harvester","brand:wikidata":"Q5676915","brand:wikipedia":"en:Harvester (restaurant)",cuisine:"american",name:"Harvester"}},"amenity/restaurant|Hippopotamus":{countryCodes:["fr"],tags:{amenity:"restaurant",brand:"Hippopotamus","brand:wikidata":"Q3136174","brand:wikipedia":"fr:Hippopotamus (restaurant)",cuisine:"steak_house",name:"Hippopotamus"}},"amenity/restaurant|Hooters":{tags:{amenity:"restaurant",brand:"Hooters","brand:wikidata":"Q1025921","brand:wikipedia":"en:Hooters",cuisine:"burger",name:"Hooters"}},"amenity/restaurant|Huddle House":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Huddle House","brand:wikidata":"Q5928324","brand:wikipedia":"en:Huddle House",cuisine:"american",name:"Huddle House"}},"amenity/restaurant|Husky House":{countryCodes:["ca"],nomatch:["amenity/fuel|Husky","shop/convenience|Husky"],tags:{amenity:"restaurant",brand:"Husky","brand:wikidata":"Q702049","brand:wikipedia":"en:Husky Energy",cuisine:"diner",name:"Husky House"}},"amenity/restaurant|IHOP":{matchNames:["international house of pancakes"],tags:{amenity:"restaurant",brand:"IHOP","brand:wikidata":"Q1185675","brand:wikipedia":"en:IHOP",cuisine:"breakfast;pancake",name:"IHOP"}},"amenity/restaurant|IL Патио":{countryCodes:["ru"],tags:{amenity:"restaurant",brand:"IL Патио","brand:wikidata":"Q4397763","brand:wikipedia":"en:Росинтер",cuisine:"italian",name:"IL Патио"}},"amenity/restaurant|Il Giardino":{countryCodes:["de","fr","it","nl"],tags:{amenity:"restaurant",brand:"Il Giardino",name:"Il Giardino"}},"amenity/restaurant|Iron Skillet":{countryCodes:["us"],matchNames:["iron skillet restaurant"],tags:{amenity:"restaurant",brand:"Iron Skillet","brand:wikidata":"Q64052855",cuisine:"american;buffet",name:"Iron Skillet"}},"amenity/restaurant|Jack Astor's":{countryCodes:["ca","us"],tags:{amenity:"restaurant",brand:"Jack Astor's","brand:wikidata":"Q6111066","brand:wikipedia":"en:Jack Astor's Bar and Grill",cuisine:"american",name:"Jack Astor's"}},"amenity/restaurant|Jason's Deli":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Jason's Deli","brand:wikidata":"Q16997641","brand:wikipedia":"en:Jason's Deli",cuisine:"sandwich",name:"Jason's Deli"}},"amenity/restaurant|Jet's Pizza":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Jet's Pizza","brand:wikidata":"Q16997713","brand:wikipedia":"en:Jet's Pizza",cuisine:"pizza",name:"Jet's Pizza"}},"amenity/restaurant|Joe's Crab Shack":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Joe's Crab Shack","brand:wikidata":"Q6208210","brand:wikipedia":"en:Joe's Crab Shack",cuisine:"seafood",name:"Joe's Crab Shack"}},"amenity/restaurant|Johnny Carino's":{countryCodes:["us"],matchNames:["carinios"],tags:{amenity:"restaurant",brand:"Johnny Carino's","brand:wikidata":"Q5039637","brand:wikipedia":"en:Carino's Italian",cuisine:"italian",name:"Johnny Carino's"}},"amenity/restaurant|Johnny Rockets":{matchNames:["johnny rocket"],tags:{amenity:"restaurant",brand:"Johnny Rockets","brand:wikidata":"Q1051593","brand:wikipedia":"en:Johnny Rockets",cuisine:"burger",name:"Johnny Rockets"}},"amenity/restaurant|Kelsey's":{countryCodes:["ca"],tags:{amenity:"restaurant",brand:"Kelsey's","brand:wikidata":"Q6386459","brand:wikipedia":"en:Kelseys Original Roadhouse",cuisine:"american",name:"Kelsey's"}},"amenity/restaurant|Koliba":{tags:{amenity:"restaurant",brand:"Koliba",name:"Koliba"}},"amenity/restaurant|Kudu":{countryCodes:["sa"],tags:{amenity:"restaurant",brand:"Kudu","brand:wikidata":"Q6441777","brand:wikipedia":"en:Kudu (restaurant)",cuisine:"sandwich",name:"Kudu"}},"amenity/restaurant|La Boucherie":{countryCodes:["fr"],tags:{amenity:"restaurant",brand:"La Boucherie","brand:wikidata":"Q21427479","brand:wikipedia":"fr:La Boucherie (restaurant)",cuisine:"steak_house",name:"La Boucherie"}},"amenity/restaurant|La Cage":{countryCodes:["ca"],matchNames:["La Cage aux Sports"],tags:{amenity:"restaurant",brand:"La Cage","brand:wikidata":"Q3206980","brand:wikipedia":"fr:La Cage aux Sports",cuisine:"burger;chicken;sandwich;fish;pasta",name:"La Cage"}},"amenity/restaurant|LaRosa's Pizzeria":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"LaRosa's Pizzeria","brand:wikidata":"Q6460833","brand:wikipedia":"en:LaRosa's Pizzeria",cuisine:"pizza",name:"LaRosa's Pizzeria",takeaway:"yes"}},"amenity/restaurant|Le Patio":{tags:{amenity:"restaurant",brand:"Le Patio",name:"Le Patio"}},"amenity/restaurant|Legal Sea Foods":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Legal Sea Foods","brand:wikidata":"Q6517417","brand:wikipedia":"en:Legal Sea Foods",cuisine:"seafood",name:"Legal Sea Foods"}},"amenity/restaurant|Lemongrass":{tags:{amenity:"restaurant",brand:"Lemongrass",name:"Lemongrass"}},"amenity/restaurant|Les 3 Brasseurs~(Qc,Br,Fr)":{countryCodes:["br","ca","fr"],matchNames:["3 Brasseurs"],tags:{amenity:"restaurant",brand:"3 Brasseurs","brand:wikidata":"Q3230326","brand:wikipedia":"fr:Les 3 Brasseurs",cuisine:"burger;pizza;seafood",name:"3 Brasseurs","name:en":"3 Brewers",official_name:"Les 3 Brasseurs"}},"amenity/restaurant|Logan's Roadhouse":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Logan's Roadhouse","brand:wikidata":"Q6666872","brand:wikipedia":"en:Logan's Roadhouse",cuisine:"american",name:"Logan's Roadhouse"}},"amenity/restaurant|LongHorn Steakhouse":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"LongHorn Steakhouse","brand:wikidata":"Q3259007","brand:wikipedia":"en:LongHorn Steakhouse",cuisine:"steak_house",name:"LongHorn Steakhouse"}},"amenity/restaurant|Los Arcos":{tags:{amenity:"restaurant",brand:"Los Arcos",name:"Los Arcos"}},"amenity/restaurant|Lou Malnati's Pizzeria":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Lou Malnati's Pizzeria","brand:wikidata":"Q6685628","brand:wikipedia":"en:Lou Malnati's Pizzeria",cuisine:"pizza",name:"Lou Malnati's Pizzeria"}},"amenity/restaurant|Loving Hut":{tags:{amenity:"restaurant",brand:"Loving Hut","brand:wikidata":"Q3491655","brand:wikipedia":"en:Loving Hut",cuisine:"international","diet:vegan":"only","diet:vegetarian":"only",name:"Loving Hut"}},"amenity/restaurant|Léon de Bruxelles":{countryCodes:["fr"],tags:{amenity:"restaurant",brand:"Léon de Bruxelles","brand:wikidata":"Q21041507","brand:wikipedia":"en:Léon de Bruxelles",cuisine:"friture",name:"Léon de Bruxelles"}},"amenity/restaurant|MK Restaurants":{countryCodes:["th"],tags:{amenity:"restaurant",brand:"MK Restaurants","brand:wikidata":"Q62075359",cuisine:"thai",name:"MK Restaurants"}},"amenity/restaurant|Marco's Pizza":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Marco's Pizza","brand:wikidata":"Q6757382","brand:wikipedia":"en:Marco's Pizza",cuisine:"pizza",name:"Marco's Pizza"}},"amenity/restaurant|Marie Callender's":{countryCodes:["mx","us"],matchNames:["marie calendar","marie calendar's","marie callendar's"],tags:{amenity:"restaurant",brand:"Marie Callender's","brand:wikidata":"Q6762784","brand:wikipedia":"en:Marie Callender's",cuisine:"american",name:"Marie Callender's"}},"amenity/restaurant|Max's Restaurant":{countryCodes:["ph"],matchNames:["Max's"],tags:{amenity:"restaurant",brand:"Max's Restaurant","brand:wikidata":"Q6794477","brand:wikipedia":"en:Max's Restaurant",cuisine:"asian",name:"Max's Restaurant"}},"amenity/restaurant|McAlister's Deli":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"McAlister's Deli","brand:wikidata":"Q17020829","brand:wikipedia":"en:McAlister's Deli",cuisine:"sandwich",name:"McAlister's Deli"}},"amenity/restaurant|McCormick & Schmick's":{countryCodes:["us"],matchNames:["mccormick and schmick","mccormick and schmicks grill"],tags:{amenity:"restaurant",brand:"McCormick & Schmick's","brand:wikidata":"Q6800562","brand:wikipedia":"en:McCormick & Schmick's",cuisine:"seafood;steak",name:"McCormick & Schmick's"}},"amenity/restaurant|Mellow Mushroom":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Mellow Mushroom","brand:wikidata":"Q17021360","brand:wikipedia":"en:Mellow Mushroom",cuisine:"pizza",name:"Mellow Mushroom"}},"amenity/restaurant|Mikes":{countryCodes:["ca"],tags:{amenity:"restaurant",brand:"Mikes","brand:wikidata":"Q3313615","brand:wikipedia":"fr:Mikes",cuisine:"pizza;pasta;sandwich",name:"Mikes"}},"amenity/restaurant|Mimi's Cafe":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Mimi's Cafe","brand:wikidata":"Q17022081","brand:wikipedia":"en:Mimi's Cafe",cuisine:"french",name:"Mimi's Cafe"}},"amenity/restaurant|Montana's":{countryCodes:["ca"],tags:{amenity:"restaurant",brand:"Montana's","brand:wikidata":"Q17022490","brand:wikipedia":"en:Montana's BBQ & Bar",cuisine:"barbecue",name:"Montana's",official_name:"Montana's BBQ & Bar"}},"amenity/restaurant|Morton's The Steakhouse":{countryCodes:["us"],matchNames:["mortons"],tags:{amenity:"restaurant",brand:"Morton's The Steakhouse","brand:wikidata":"Q17022759","brand:wikipedia":"en:Morton's The Steakhouse",cuisine:"steak_house",name:"Morton's The Steakhouse"}},"amenity/restaurant|Moses":{countryCodes:["il"],tags:{amenity:"restaurant",brand:"Moses","brand:en":"Moses","brand:he":"מוזס","brand:wikidata":"Q64760150",cuisine:"burger",name:"Moses","name:en":"Moses","name:he":"מוזס"}},"amenity/restaurant|Mountain Mike's":{countryCodes:["us"],tags:{alt_name:"Mountain Mike's Pizza",amenity:"restaurant",brand:"Mountain Mike's","brand:wikidata":"Q6925120","brand:wikipedia":"en:Mountain Mike's Pizza",cuisine:"pizza",name:"Mountain Mike's",takeaway:"yes"}},"amenity/restaurant|Nando's":{tags:{amenity:"restaurant",brand:"Nando's","brand:wikidata":"Q3472954","brand:wikipedia":"en:Nando's",cuisine:"chicken;portuguese",name:"Nando's"}},"amenity/restaurant|Noodles & Company":{countryCodes:["us"],matchNames:["noodles and co","noodles co","noodles company"],tags:{amenity:"restaurant",brand:"Noodles & Company","brand:wikidata":"Q7049673","brand:wikipedia":"en:Noodles & Company",cuisine:"pasta",name:"Noodles & Company"}},"amenity/restaurant|Norky's":{countryCodes:["pe"],tags:{amenity:"restaurant",brand:"Norky's",cuisine:"peruvian",name:"Norky's"}},"amenity/restaurant|O'Charley's":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"O'Charley's","brand:wikidata":"Q7071703","brand:wikipedia":"en:O'Charley's",cuisine:"american",name:"O'Charley's"}},"amenity/restaurant|Ocean Basket":{countryCodes:["za"],tags:{amenity:"restaurant",brand:"Ocean Basket","brand:wikidata":"Q62075311",cuisine:"seafood",name:"Ocean Basket"}},"amenity/restaurant|Old Chicago":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Old Chicago","brand:wikidata":"Q64411347",cuisine:"pizza",name:"Old Chicago",official_name:"Old Chicago Pizza & Taproom"}},"amenity/restaurant|Old Wild West":{countryCodes:["it"],tags:{amenity:"restaurant",brand:"Old Wild West","brand:wikidata":"Q25402475","brand:wikipedia":"it:Old Wild West",cuisine:"american",name:"Old Wild West"}},"amenity/restaurant|Olive Garden":{tags:{amenity:"restaurant",brand:"Olive Garden","brand:wikidata":"Q3045312","brand:wikipedia":"en:Olive Garden",cuisine:"italian",name:"Olive Garden"}},"amenity/restaurant|On The Border":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"On The Border","brand:wikidata":"Q7091305","brand:wikipedia":"en:On the Border Mexican Grill & Cantina",cuisine:"tex-mex",name:"On The Border",official_name:"On The Border Mexican Grill & Cantina"}},"amenity/restaurant|Outback Steakhouse":{tags:{amenity:"restaurant",brand:"Outback Steakhouse","brand:wikidata":"Q1064893","brand:wikipedia":"en:Outback Steakhouse",cuisine:"american;steak",name:"Outback Steakhouse"}},"amenity/restaurant|P.F. Chang's":{countryCodes:["mx","us"],matchNames:["pf chang"],tags:{amenity:"restaurant",brand:"P.F. Chang's","brand:wikidata":"Q5360181","brand:wikipedia":"en:P. F. Chang's China Bistro",cuisine:"asian",name:"P.F. Chang's",official_name:"P.F. Chang's China Bistro"}},"amenity/restaurant|Papa Gino's":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Papa Gino's","brand:wikidata":"Q7132333","brand:wikipedia":"en:Papa Gino's",cuisine:"pizza",name:"Papa Gino's"}},"amenity/restaurant|Pardos Chicken":{countryCodes:["pe"],tags:{amenity:"restaurant",brand:"Pardos Chicken","brand:wikidata":"Q17624435","brand:wikipedia":"en:Pardos chicken",cuisine:"peruvian",name:"Pardos Chicken"}},"amenity/restaurant|Pei Wei":{countryCodes:["us"],matchNames:["pei wei asian diner"],tags:{amenity:"restaurant",brand:"Pei Wei","brand:wikidata":"Q7160898","brand:wikipedia":"en:Pei Wei Asian Diner",cuisine:"asian",name:"Pei Wei"}},"amenity/restaurant|Perkins":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Perkins","brand:wikidata":"Q7169056","brand:wikipedia":"en:Perkins Restaurant and Bakery",cuisine:"american",name:"Perkins",official_name:"Perkins Restaurant and Bakery"}},"amenity/restaurant|Phở 24":{countryCodes:["vn"],tags:{amenity:"restaurant",brand:"Phở 24","brand:wikidata":"Q63863118",cuisine:"vietnamese;noodle",name:"Phở 24","name:en":"Pho 24","name:vi":"Phở 24"}},"amenity/restaurant|Phở Hòa":{countryCodes:["ca","id","kr","ms","ph","tw","us"],tags:{alt_name:"Phở Hoà","alt_name:en":"Pho Hoa","alt_name:vi":"Phở Hoà",amenity:"restaurant",brand:"Phở Hòa","brand:wikidata":"Q55629932","brand:wikipedia":"en:Phở Hòa",cuisine:"vietnamese;noodle",name:"Phở Hòa","name:vi":"Phở Hòa"}},"amenity/restaurant|Pieology Pizzeria":{countryCodes:["us"],matchNames:["pieology"],tags:{amenity:"restaurant",brand:"Pieology Pizzeria","brand:wikidata":"Q60746053","brand:wikipedia":"en:Pieology",cuisine:"pizza",name:"Pieology Pizzeria"}},"amenity/restaurant|Pizza Factory":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Pizza Factory","brand:wikidata":"Q39054369","brand:wikipedia":"en:Pizza Factory",cuisine:"pizza",name:"Pizza Factory"}},"amenity/restaurant|Pizza Hut":{nomatch:["amenity/fast_food|Pizza Hut Express"],tags:{amenity:"restaurant",brand:"Pizza Hut","brand:wikidata":"Q191615","brand:wikipedia":"en:Pizza Hut",cuisine:"pizza",name:"Pizza Hut"}},"amenity/restaurant|Pizza Ranch":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Pizza Ranch","brand:wikidata":"Q7199978","brand:wikipedia":"en:Pizza Ranch",cuisine:"pizza",name:"Pizza Ranch"}},"amenity/restaurant|PizzaExpress":{tags:{amenity:"restaurant",brand:"PizzaExpress","brand:wikidata":"Q662845","brand:wikipedia":"en:PizzaExpress",cuisine:"pizza",name:"PizzaExpress"}},"amenity/restaurant|Poivre Rouge":{countryCodes:["fr"],tags:{amenity:"restaurant",brand:"Poivre Rouge","brand:wikidata":"Q7316076","brand:wikipedia":"fr:Poivre Rouge (restauration)",cuisine:"french",name:"Poivre Rouge"}},"amenity/restaurant|Ponderosa Steakhouse":{countryCodes:["ae","eg","qa","tw","us"],matchNames:["ponderosa"],tags:{amenity:"restaurant",brand:"Ponderosa Steakhouse","brand:wikidata":"Q64038204",cuisine:"american;steak;buffet",name:"Ponderosa Steakhouse"}},"amenity/restaurant|Prezzo":{countryCodes:["gb"],tags:{amenity:"restaurant",brand:"Prezzo","brand:wikidata":"Q7242489","brand:wikipedia":"en:Prezzo (restaurant)",cuisine:"italian",name:"Prezzo"}},"amenity/restaurant|Quaker Steak & Lube":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Quaker Steak & Lube","brand:wikidata":"Q7268570","brand:wikipedia":"en:Quaker Steak & Lube",cuisine:"wings",name:"Quaker Steak & Lube"}},"amenity/restaurant|Red Lobster":{tags:{amenity:"restaurant",brand:"Red Lobster","brand:wikidata":"Q846301","brand:wikipedia":"en:Red Lobster",cuisine:"seafood",name:"Red Lobster"}},"amenity/restaurant|Red Robin":{countryCodes:["ca","us"],tags:{amenity:"restaurant",brand:"Red Robin","brand:wikidata":"Q7304886","brand:wikipedia":"en:Red Robin",cuisine:"burger",name:"Red Robin",official_name:"Red Robin Gourmet Burgers and Brews"}},"amenity/restaurant|Romano's Macaroni Grill":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Romano's Macaroni Grill","brand:wikidata":"Q7362714","brand:wikipedia":"en:Romano's Macaroni Grill",cuisine:"italian",name:"Romano's Macaroni Grill"}},"amenity/restaurant|Round Table Pizza":{countryCodes:["us"],matchNames:["round table"],tags:{amenity:"restaurant",brand:"Round Table Pizza","brand:wikidata":"Q7371139","brand:wikipedia":"en:Round Table Pizza",cuisine:"pizza",name:"Round Table Pizza"}},"amenity/restaurant|Ruby Tuesday":{tags:{amenity:"restaurant",brand:"Ruby Tuesday","brand:wikidata":"Q7376400","brand:wikipedia":"en:Ruby Tuesday (restaurant)",cuisine:"american",name:"Ruby Tuesday"}},"amenity/restaurant|Ruth's Chris Steak House":{countryCodes:["ca","mx","us"],tags:{amenity:"restaurant",brand:"Ruth's Chris Steak House","brand:wikidata":"Q7382829","brand:wikipedia":"en:Ruth's Chris Steak House",cuisine:"american",name:"Ruth's Chris Steak House"}},"amenity/restaurant|Saltgrass Steak House":{countryCodes:["us"],matchNames:["saltgrass"],tags:{amenity:"restaurant",brand:"Saltgrass Steak House","brand:wikidata":"Q7406113","brand:wikipedia":"en:Saltgrass Steak House",cuisine:"steak_house",name:"Saltgrass Steak House"}},"amenity/restaurant|Scores":{countryCodes:["ca"],tags:{amenity:"restaurant",brand:"Scores","brand:wikidata":"Q3476059","brand:wikipedia":"fr:Scores",cuisine:"chicken;barbecue",name:"Scores"}},"amenity/restaurant|Shakey's":{tags:{amenity:"restaurant",brand:"Shakey's","brand:wikidata":"Q6134929","brand:wikipedia":"en:Shakey's Pizza",cuisine:"pizza",name:"Shakey's"}},"amenity/restaurant|Shari's":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Shari's","brand:wikidata":"Q7489612","brand:wikipedia":"en:Shari's Cafe & Pies",cuisine:"american",name:"Shari's"}},"amenity/restaurant|Shoney's":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Shoney's","brand:wikidata":"Q7500392","brand:wikipedia":"en:Shoney's",cuisine:"american",name:"Shoney's"}},"amenity/restaurant|Sizzler":{tags:{amenity:"restaurant",brand:"Sizzler","brand:wikidata":"Q1848822","brand:wikipedia":"en:Sizzler",cuisine:"steak_house",name:"Sizzler"}},"amenity/restaurant|Skyline Chili":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Skyline Chili","brand:wikidata":"Q151224","brand:wikipedia":"en:Skyline Chili",cuisine:"chili",name:"Skyline Chili",takeaway:"yes"}},"amenity/restaurant|Smitty's":{countryCodes:["ca","us"],tags:{amenity:"restaurant",brand:"Smitty's","brand:wikidata":"Q7545728","brand:wikipedia":"en:Smitty's",cuisine:"pancake",name:"Smitty's"}},"amenity/restaurant|Snappy Tomato Pizza":{countryCodes:["gb","us"],tags:{amenity:"restaurant",brand:"Snappy Tomato Pizza","brand:wikidata":"Q7547352","brand:wikipedia":"en:Snappy Tomato Pizza",cuisine:"pizza",name:"Snappy Tomato Pizza",takeaway:"yes"}},"amenity/restaurant|Spur":{countryCodes:["za"],matchNames:["spur steak ranches"],tags:{amenity:"restaurant",brand:"Spur","brand:wikidata":"Q7581546","brand:wikipedia":"en:Spur Steak Ranches",cuisine:"steak_house",name:"Spur"}},"amenity/restaurant|St-Hubert":{countryCodes:["ca"],nomatch:["amenity/fast_food|St-Hubert Express"],tags:{amenity:"restaurant",brand:"St-Hubert","brand:wikidata":"Q3495225","brand:wikipedia":"en:St-Hubert",cuisine:"chicken;barbecue",name:"St-Hubert"}},"amenity/restaurant|St. Louis Bar & Grill":{countryCodes:["ca"],tags:{amenity:"restaurant",brand:"St. Louis Bar & Grill","brand:wikidata":"Q65567668",cuisine:"chicken",name:"St. Louis Bar & Grill"}},"amenity/restaurant|Steak 'n Shake":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Steak 'n Shake","brand:wikidata":"Q7605233","brand:wikipedia":"en:Steak 'n Shake",cuisine:"burger",name:"Steak 'n Shake"}},"amenity/restaurant|Sunset Grill":{countryCodes:["ca","us"],tags:{amenity:"restaurant",brand:"Sunset Grill","brand:wikidata":"Q62112489","brand:wikipedia":"en:Sunset Grill (Canadian restaurant chain)",cuisine:"american",name:"Sunset Grill"}},"amenity/restaurant|Swiss Chalet":{countryCodes:["ca"],tags:{amenity:"restaurant",brand:"Swiss Chalet","brand:wikidata":"Q2372909","brand:wikipedia":"en:Swiss Chalet",cuisine:"chicken",name:"Swiss Chalet"}},"amenity/restaurant|TGI Friday's":{tags:{amenity:"restaurant",brand:"TGI Friday's","brand:wikidata":"Q1524184","brand:wikipedia":"en:TGI Fridays",cuisine:"american",name:"TGI Friday's"}},"amenity/restaurant|Texas Roadhouse":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Texas Roadhouse","brand:wikidata":"Q7707945","brand:wikipedia":"en:Texas Roadhouse",cuisine:"steak_house",name:"Texas Roadhouse"}},"amenity/restaurant|The Cheesecake Factory":{countryCodes:["us"],tags:{alt_name:"Cheesecake Factory",amenity:"restaurant",brand:"The Cheesecake Factory","brand:wikidata":"Q1045842","brand:wikipedia":"en:The Cheesecake Factory",cuisine:"american",name:"The Cheesecake Factory"}},"amenity/restaurant|The Keg":{countryCodes:["ca","us"],matchNames:["keg"],tags:{amenity:"restaurant",brand:"The Keg","brand:wikidata":"Q7744066","brand:wikipedia":"en:The Keg",cuisine:"steak_house",name:"The Keg"}},"amenity/restaurant|The Melting Pot":{countryCodes:["us"],tags:{alt_name:"Melting Pot",amenity:"restaurant",brand:"The Melting Pot","brand:wikidata":"Q7750948","brand:wikipedia":"en:The Melting Pot (restaurant)",cuisine:"fondue",name:"The Melting Pot"}},"amenity/restaurant|Toby Carvery":{countryCodes:["gb"],matchTags:["amenity/pub"],tags:{amenity:"restaurant",brand:"Toby Carvery","brand:wikidata":"Q7811777","brand:wikipedia":"en:Toby Carvery",cuisine:"british",name:"Toby Carvery"}},"amenity/restaurant|Toks":{countryCodes:["mx"],tags:{amenity:"restaurant",brand:"Toks","brand:wikidata":"Q48835586","brand:wikipedia":"en:Toks",cuisine:"mexican",name:"Toks"}},"amenity/restaurant|Tony Roma's":{matchNames:["tony roma"],tags:{amenity:"restaurant",brand:"Tony Roma's","brand:wikidata":"Q2213883","brand:wikipedia":"en:Tony Roma's",cuisine:"barbecue",name:"Tony Roma's"}},"amenity/restaurant|Toppers Pizza":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Toppers Pizza","brand:wikidata":"Q7825113","brand:wikipedia":"en:Toppers Pizza",cuisine:"pizza",name:"Toppers Pizza"}},"amenity/restaurant|Vapiano":{tags:{amenity:"restaurant",brand:"Vapiano","brand:wikidata":"Q506252","brand:wikipedia":"en:Vapiano",cuisine:"italian",name:"Vapiano"}},"amenity/restaurant|Village Inn":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Village Inn","brand:wikidata":"Q7930659","brand:wikipedia":"en:Village Inn",cuisine:"american",name:"Village Inn"}},"amenity/restaurant|Vips":{countryCodes:["es","mx"],tags:{amenity:"restaurant",brand:"Vips","brand:wikidata":"Q48783378","brand:wikipedia":"es:Vips",name:"Vips"}},"amenity/restaurant|Waffle House":{countryCodes:["us"],tags:{amenity:"restaurant",brand:"Waffle House","brand:wikidata":"Q1701206","brand:wikipedia":"en:Waffle House",cuisine:"american",name:"Waffle House",opening_hours:"24/7"}},"amenity/restaurant|Wagamama":{tags:{amenity:"restaurant",brand:"Wagamama","brand:wikidata":"Q503715","brand:wikipedia":"en:Wagamama",cuisine:"asian",name:"Wagamama"}},"amenity/restaurant|Wasabi":{tags:{amenity:"restaurant",brand:"Wasabi","brand:wikidata":"Q23891278","brand:wikipedia":"en:Wasabi (restaurant)",cuisine:"japanese",name:"Wasabi"}},"amenity/restaurant|Western Sizzlin'":{countryCodes:["us"],matchNames:["western sizzling"],tags:{amenity:"restaurant",brand:"Western Sizzlin'","brand:wikidata":"Q7988295","brand:wikipedia":"en:Western Sizzlin'",cuisine:"american;steak",name:"Western Sizzlin'"}},"amenity/restaurant|White Spot":{countryCodes:["ca"],tags:{amenity:"restaurant",brand:"White Spot","brand:wikidata":"Q7995414","brand:wikipedia":"en:White Spot",cuisine:"burger",name:"White Spot"}},"amenity/restaurant|Wild Wing":{countryCodes:["ca"],tags:{amenity:"restaurant",brand:"Wild Wing","brand:wikidata":"Q8000869","brand:wikipedia":"en:Wild Wing Restaurants",cuisine:"chicken",name:"Wild Wing"}},"amenity/restaurant|Wingstop":{countryCodes:["mx","us"],tags:{amenity:"restaurant",brand:"Wingstop","brand:wikidata":"Q8025339","brand:wikipedia":"en:Wingstop",cuisine:"wings",name:"Wingstop"}},"amenity/restaurant|YO! Sushi":{countryCodes:["gb"],tags:{amenity:"restaurant",brand:"YO! Sushi","brand:wikidata":"Q3105441","brand:wikipedia":"en:YO! Sushi",cuisine:"sushi",name:"YO! Sushi"}},"amenity/restaurant|Yard House":{countryCodes:["us"],tags:{alcohol:"yes",amenity:"restaurant",brand:"Yard House","brand:wikidata":"Q21189156","brand:wikipedia":"en:Yard House",cuisine:"american",name:"Yard House"}},"amenity/restaurant|Zizzi":{countryCodes:["gb"],tags:{amenity:"restaurant",brand:"Zizzi","brand:wikidata":"Q8072944","brand:wikipedia":"en:Zizzi",cuisine:"italian",name:"Zizzi"}},"amenity/restaurant|Евразия":{countryCodes:["ru","ua"],tags:{amenity:"restaurant",brand:"Евразия",name:"Евразия"}},"amenity/restaurant|Планета Суши":{countryCodes:["ru"],tags:{amenity:"restaurant",brand:"Планета Суши","brand:wikidata":"Q62739250",cuisine:"sushi",name:"Планета Суши","name:en":"Planet Sushi"}},"amenity/restaurant|Тануки":{countryCodes:["kz","ru","ua"],tags:{amenity:"restaurant",brand:"Тануки","brand:wikidata":"Q62758690",cuisine:"japanese",name:"Тануки","name:en":"Tanuki","name:ru":"Тануки"}},"amenity/restaurant|Якитория":{countryCodes:["ru"],tags:{amenity:"restaurant",brand:"Якитория",name:"Якитория"}},"amenity/restaurant|בורגר סאלון":{countryCodes:["il"],tags:{amenity:"restaurant",brand:"בורגר סאלון","brand:en":"Burger Saloon","brand:he":"בורגר סאלון","brand:wikidata":"Q64760057",cuisine:"burger",name:"בורגר סאלון","name:en":"Burger Saloon","name:he":"בורגר סאלון"}},"amenity/restaurant|いきなり!ステーキ":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"いきなり!ステーキ","brand:en":"Ikinari Steak","brand:ja":"いきなり!ステーキ","brand:wikidata":"Q21652405","brand:wikipedia":"ja:いきなり!ステーキ",cuisine:"steak_house",name:"いきなり!ステーキ","name:en":"Ikinari Steak","name:ja":"いきなり!ステーキ"}},"amenity/restaurant|はなまるうどん":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"はなまるうどん","brand:en":"Hanamarūdon","brand:ja":"はなまるうどん","brand:wikidata":"Q11275674","brand:wikipedia":"ja:はなまるうどん",cuisine:"japanese;udon",name:"はなまるうどん","name:en":"Hanamarūdon","name:ja":"はなまるうどん"}},"amenity/restaurant|びっくりドンキー":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"びっくりドンキー","brand:en":"Bikkuri Donkey","brand:ja":"びっくりドンキー","brand:wikidata":"Q11276815","brand:wikipedia":"ja:びっくりドンキー",cuisine:"burger",name:"びっくりドンキー","name:en":"Bikkuri Donkey","name:ja":"びっくりドンキー"}},"amenity/restaurant|やよい軒":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"やよい軒","brand:en":"Yayoiken","brand:ja":"やよい軒","brand:wikidata":"Q11280577","brand:wikipedia":"ja:やよい軒",cuisine:"japanese",name:"やよい軒","name:en":"Yayoiken","name:ja":"やよい軒"}},"amenity/restaurant|カプリチョーザ":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"カプリチョーザ","brand:en":"Capricciosa","brand:ja":"カプリチョーザ","brand:wikidata":"Q11294660","brand:wikipedia":"ja:カプリチョーザ",cuisine:"italian",name:"カプリチョーザ","name:en":"Capricciosa","name:ja":"カプリチョーザ"}},"amenity/restaurant|ガスト":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"ガスト","brand:en":"Gusto","brand:ja":"ガスト",cuisine:"western;japanese",name:"ガスト","name:en":"Gusto","name:ja":"ガスト"}},"amenity/restaurant|ココス":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"ココス","brand:en":"Coco's","brand:ja":"ココス","brand:wikidata":"Q11301951","brand:wikipedia":"ja:ココスジャパン",cuisine:"western;japanese",name:"ココス","name:en":"Coco's","name:ja":"ココス"}},"amenity/restaurant|サイゼリヤ":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"サイゼリヤ","brand:en":"Saizeriya","brand:ja":"サイゼリヤ","brand:wikidata":"Q886564","brand:wikipedia":"en:Saizeriya",cuisine:"italian",name:"サイゼリヤ","name:en":"Saizeriya","name:ja":"サイゼリヤ"}},"amenity/restaurant|ジョイフル":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"ジョイフル","brand:en":"Joyfull","brand:ja":"ジョイフル","brand:wikidata":"Q11310517","brand:wikipedia":"ja:ジョイフル",cuisine:"western",name:"ジョイフル","name:en":"Joyfull","name:ja":"ジョイフル"}},"amenity/restaurant|ジョナサン":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"ジョナサン","brand:en":"Jonathan's","brand:ja":"ジョナサン","brand:wikidata":"Q11310628","brand:wikipedia":"ja:ジョナサン (ファミリーレストラン)",cuisine:"italian;japanese",name:"ジョナサン","name:en":"Jonathan's","name:ja":"ジョナサン"}},"amenity/restaurant|ジョリーパスタ":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"ジョリーパスタ","brand:en":"Jolly-Pasta","brand:ja":"ジョリーパスタ","brand:wikidata":"Q10852718","brand:wikipedia":"ja:ジョリーパスタ",cuisine:"pasta",name:"ジョリーパスタ","name:en":"Jolly-Pasta","name:ja":"ジョリーパスタ"}},"amenity/restaurant|ステーキガスト":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"ステーキガスト","brand:en":"Skylark","brand:ja":"ステーキガスト","brand:wikidata":"Q11253593","brand:wikipedia":"ja:すかいらーく",cuisine:"steak",name:"ステーキガスト","name:en":"Skylark","name:ja":"ステーキガスト"}},"amenity/restaurant|デニーズ":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"デニーズ","brand:en":"Denny's","brand:ja":"デニーズ","brand:wikidata":"Q11320661","brand:wikipedia":"ja:デニーズ (日本)",cuisine:"western;japanese",name:"デニーズ","name:en":"Denny's","name:ja":"デニーズ"}},"amenity/restaurant|バーミヤン":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"バーミヤン","brand:en":"Bamiyan","brand:ja":"バーミヤン","brand:wikidata":"Q11328598","brand:wikipedia":"ja:バーミヤン (レストランチェーン)",cuisine:"chinese",name:"バーミヤン","name:en":"Bamiyan","name:ja":"バーミヤン"}},"amenity/restaurant|ビッグボーイ":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"ビッグボーイ","brand:en":"Big Boy Restaurants","brand:ja":"ビッグボーイ","brand:wikidata":"Q4386779","brand:wikipedia":"en:Big Boy Restaurants",cuisine:"burger",name:"ビッグボーイ","name:en":"Big Boy Restaurants","name:ja":"ビッグボーイ"}},"amenity/restaurant|リンガーハット":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"リンガーハット","brand:en":"Ringer Hut","brand:ja":"リンガーハット","brand:wikidata":"Q7334856","brand:wikipedia":"en:Ringer Hut",cuisine:"japanese",name:"リンガーハット","name:en":"Ringer Hut","name:ja":"リンガーハット"}},"amenity/restaurant|ロイヤルホスト":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"ロイヤルホスト","brand:en":"Royal Host","brand:ja":"ロイヤルホスト","brand:wikidata":"Q11120884","brand:wikipedia":"ja:ロイヤルホスト",cuisine:"japanese;italian;french",name:"ロイヤルホスト","name:en":"Royal Host","name:ja":"ロイヤルホスト"}},"amenity/restaurant|丸亀製麺":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"丸亀製麺","brand:en":"Marugame Seimen","brand:ja":"丸亀製麺","brand:wikidata":"Q10877253","brand:wikipedia":"ja:丸亀製麺",cuisine:"noodle",name:"丸亀製麺","name:en":"Marugame Seimen","name:ja":"丸亀製麺"}},"amenity/restaurant|八方雲集":{countryCodes:["cn","tw"],tags:{amenity:"restaurant",brand:"八方雲集","brand:en":"Eight Way","brand:wikidata":"Q28417381","brand:wikipedia":"zh:八方雲集","brand:zh":"八方雲集",name:"八方雲集","name:en":"Eight Way","name:zh":"八方雲集"}},"amenity/restaurant|和食さと":{countryCodes:["jp"],matchNames:["さと"],tags:{amenity:"restaurant",brand:"和食さと","brand:en":"Washoku Sato","brand:ja":"和食さと","brand:wikidata":"Q11304897","brand:wikipedia":"ja:SRSホールディングス",cuisine:"japanese",name:"和食さと","name:en":"Washoku Sato","name:ja":"和食さと"}},"amenity/restaurant|夢庵":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"夢庵","brand:en":"Yumean","brand:ja":"夢庵","brand:wikidata":"Q11253593","brand:wikipedia":"ja:すかいらーく",cuisine:"japanese",name:"夢庵","name:en":"Yumean","name:ja":"夢庵"}},"amenity/restaurant|大戸屋":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"大戸屋","brand:en":"Ootoya","brand:ja":"大戸屋","brand:wikidata":"Q11435522","brand:wikipedia":"ja:大戸屋ホールディングス",cuisine:"japanese",name:"大戸屋","name:en":"Ootoya","name:ja":"大戸屋"}},"amenity/restaurant|大阪王将":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"大阪王将","brand:en":"Osaka Ohsho","brand:ja":"大阪王将","brand:wikidata":"Q48743717","brand:wikipedia":"ja:大阪王将",cuisine:"japanese;chinese",name:"大阪王将","name:en":"Osaka Ohsho","name:ja":"大阪王将"}},"amenity/restaurant|天下一品":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"天下一品","brand:en":"Tenkaippin","brand:wikidata":"Q11442172","brand:wikipedia":"en:Tenkaippin",cuisine:"ramen",name:"天下一品","name:en":"Tenkaippin"}},"amenity/restaurant|安楽亭":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"安楽亭","brand:en":"Anrakutei","brand:wikidata":"Q11450866","brand:wikipedia":"ja:安楽亭",cuisine:"barbecue",name:"安楽亭","name:en":"Anrakutei"}},"amenity/restaurant|木曽路":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"木曽路","brand:en":"Kisoji","brand:jp":"木曽路","brand:wikidata":"Q11518589","brand:wikipedia":"ja:木曽路 (企業)",cuisine:"japanese",name:"木曽路","name:en":"Kisoji","name:jp":"木曽路"}},"amenity/restaurant|永和豆漿":{countryCodes:["tw"],tags:{amenity:"restaurant",brand:"永和豆漿","brand:en":"Yonghe Soy Milk","brand:wikidata":"Q11131335","brand:wikipedia":"zh:永和豆漿",cuisine:"chinese;breakfast",name:"永和豆漿","name:en":"Yonghe Soy Milk"}},"amenity/restaurant|海底捞火锅":{tags:{amenity:"restaurant",brand:"海底捞火锅",name:"海底捞火锅"}},"amenity/restaurant|牛角":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"牛角","brand:en":"Gyū-Kaku","brand:wikidata":"Q11349387","brand:wikipedia":"en:Gyu-Kaku",cuisine:"barbecue",name:"牛角","name:en":"Gyū-Kaku"}},"amenity/restaurant|華屋与兵衛":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"華屋与兵衛","brand:en":"Hanaya Yohei","brand:ja":"華屋与兵衛","brand:wikidata":"Q11620063","brand:wikipedia":"ja:華屋与兵衛 (レストラン)",cuisine:"japanese",name:"華屋与兵衛","name:en":"Hanaya Yohei","name:ja":"華屋与兵衛"}},"amenity/restaurant|餃子の王将":{countryCodes:["jp"],tags:{amenity:"restaurant",brand:"餃子の王将","brand:en":"Gyoza no Ohsho","brand:ja":"餃子の王将","brand:wikidata":"Q11666805","brand:wikipedia":"en:Gyoza no Ohsho",cuisine:"chinese;gyoza",name:"餃子の王将","name:en":"Gyoza no Ohsho","name:ja":"餃子の王将"}},"amenity/restaurant|바다횟집":{countryCodes:["kr"],tags:{amenity:"restaurant",brand:"바다횟집","brand:ko":"바다횟집",name:"바다횟집","name:ko":"바다횟집"}},"amenity/restaurant|빕스":{countryCodes:["kr"],tags:{amenity:"restaurant",brand:"빕스","brand:en":"VIPS","brand:ko":"빕스","brand:wikidata":"Q12599540","brand:wikipedia":"en:VIPS (restaurant)",name:"빕스","name:en":"VIPS","name:ko":"빕스"}},"amenity/school|Imagine Schools":{countryCodes:["us"],matchNames:["imagine","imagine school"],tags:{amenity:"school",brand:"Imagine Schools","brand:wikidata":"Q6002737","brand:wikipedia":"en:Imagine Schools",name:"Imagine Schools","operator:type":"private_non_profit"}},"amenity/school|KIPP":{countryCodes:["us"],tags:{amenity:"school",brand:"KIPP","brand:wikidata":"Q6423304","brand:wikipedia":"en:KIPP (organization)",name:"KIPP",official_name:"Knowledge Is Power Program","operator:type":"private_non_profit"}},"amenity/school|Success Academy":{countryCodes:["us"],tags:{amenity:"school",brand:"Success Academy","brand:wikidata":"Q14707388","brand:wikipedia":"en:Success Academy Charter Schools",name:"Success Academy","operator:type":"private_non_profit"}},"amenity/social_centre|American Legion Hall":{countryCodes:["us"],matchNames:["american legion"],tags:{amenity:"social_centre",brand:"American Legion","brand:wikidata":"Q468865","brand:wikipedia":"en:American Legion",name:"American Legion Hall","social_centre:for":"veterans"}},"amenity/social_centre|Eagles Lodge":{countryCodes:["us"],matchNames:["aeries","eagles","foe"],tags:{alt_name:"Aeries Lodge",amenity:"social_centre",brand:"Fraternal Order of Eagles","brand:wikidata":"Q5493810","brand:wikipedia":"en:Fraternal Order of Eagles",name:"Eagles Lodge",official_name:"Fraternal Order of Eagles"}},"amenity/social_centre|Elks Lodge":{countryCodes:["us"],matchNames:["bpoe","elks"],tags:{amenity:"social_centre",brand:"Benevolent and Protective Order of Elks","brand:wikidata":"Q2895789","brand:wikipedia":"en:Benevolent and Protective Order of Elks",name:"Elks Lodge",official_name:"Benevolent and Protective Order of Elks"}},"amenity/social_centre|Moose Lodge":{countryCodes:["bm","ca","us"],matchNames:["moose"],tags:{amenity:"social_centre",brand:"Loyal Order of Moose","brand:wikidata":"Q6908585","brand:wikipedia":"en:Loyal Order of Moose",name:"Moose Lodge",official_name:"Loyal Order of Moose"}},"amenity/social_centre|Odd Fellows Hall":{matchNames:["ioof","odd fellow","odd fellows"],tags:{amenity:"social_centre",brand:"Independent Order of Odd Fellows","brand:wikidata":"Q1425508","brand:wikipedia":"en:Independent Order of Odd Fellows",name:"Odd Fellows Hall",official_name:"Independent Order of Odd Fellows"}},"amenity/social_centre|VFW Post":{countryCodes:["de","jp","kr","ph","th","us"],matchNames:["vfw"],tags:{amenity:"social_centre",brand:"Veterans of Foreign Wars of the United States","brand:wikidata":"Q3556413","brand:wikipedia":"en:Veterans of Foreign Wars",name:"VFW Post","name:en":"VFW Post",official_name:"Veterans of Foreign Wars of the United States","social_centre:for":"veterans"}},"amenity/social_facility|Vet Center":{countryCodes:["us"],tags:{amenity:"social_facility",brand:"VA","brand:wikidata":"Q6580225","brand:wikipedia":"en:Veterans Health Administration",healthcare:"counselling","healthcare:counselling":"psychiatry","healthcare:for":"veterans",name:"Vet Center",social_facility:"healthcare;outreach","social_facility:for":"veterans"}},"amenity/university|DeVry University":{countryCodes:["us"],tags:{amenity:"university",brand:"DeVry University","brand:wikidata":"Q3298441","brand:wikipedia":"en:DeVry University",name:"DeVry University",short_name:"DeVry"}},"amenity/university|Strayer University":{countryCodes:["us"],tags:{amenity:"university",brand:"Strayer University","brand:wikidata":"Q7622587","brand:wikipedia":"en:Strayer University",name:"Strayer University",short_name:"Strayer"}},"amenity/university|University of Phoenix":{countryCodes:["us"],tags:{amenity:"university",brand:"University of Phoenix","brand:wikidata":"Q1889100","brand:wikipedia":"en:University of Phoenix",name:"University of Phoenix",short_name:"UOPX"}},"amenity/vehicle_inspection|Autosur":{countryCodes:["fr"],tags:{amenity:"vehicle_inspection",brand:"Autosur","brand:wikidata":"Q64224807",name:"Autosur"}},"amenity/vehicle_inspection|Autovision":{countryCodes:["fr"],tags:{amenity:"vehicle_inspection",brand:"Autovision","brand:wikidata":"Q64224842",name:"Autovision"}},"amenity/vehicle_inspection|Dekra":{countryCodes:["de","fr"],tags:{amenity:"vehicle_inspection",brand:"Dekra","brand:wikidata":"Q383711","brand:wikipedia":"en:Dekra",name:"Dekra",official_name:"Dekra Automotive"}},"amenity/vehicle_inspection|Sécuritest":{countryCodes:["fr"],tags:{amenity:"vehicle_inspection",brand:"Sécuritest","brand:wikidata":"Q64224992",name:"Sécuritest"}},"amenity/vending_machine|Amazon Locker":{countryCodes:["de","us"],tags:{amenity:"vending_machine",brand:"Amazon Locker","brand:wikidata":"Q16974764","brand:wikipedia":"en:Amazon Locker",name:"Amazon Locker",vending:"parcel_pickup"}},"amenity/vending_machine|AmeriGas":{countryCodes:["us"],tags:{amenity:"vending_machine",brand:"AmeriGas","brand:wikidata":"Q23130318","fuel:lpg":"yes",name:"AmeriGas",vending:"gas"}},"amenity/vending_machine|Automat ŚKUP":{countryCodes:["pl"],tags:{amenity:"vending_machine",brand:"Automat ŚKUP","brand:wikidata":"Q24945427","brand:wikipedia":"pl:Śląska Karta Usług Publicznych",name:"Automat ŚKUP",vending:"public_transport_tickets"}},"amenity/vending_machine|BKK-automata":{countryCodes:["hu"],tags:{amenity:"vending_machine",brand:"BKK-automata","brand:wikidata":"Q608917","brand:wikipedia":"hu:Budapesti Közlekedési Központ",name:"BKK-automata",vending:"public_transport_tickets"}},"amenity/vending_machine|Blue Rhino":{countryCodes:["us"],tags:{amenity:"vending_machine",brand:"Blue Rhino","brand:wikidata":"Q65681213","fuel:lpg":"yes",name:"Blue Rhino",vending:"gas"}},"amenity/vending_machine|CVS Pharmacy":{countryCodes:["us"],nomatch:["amenity/pharmacy|CVS Pharmacy","shop/chemist|CVS Pharmacy"],tags:{amenity:"vending_machine",brand:"CVS Pharmacy","brand:wikidata":"Q2078880","brand:wikipedia":"en:CVS Pharmacy",name:"CVS Pharmacy",short_name:"CVS",vending:"chemist"}},"amenity/vending_machine|DHL Packstation":{countryCodes:["de"],matchTags:["amenity/post_box"],tags:{amenity:"vending_machine",brand:"Packstation","brand:wikidata":"Q1766703","brand:wikipedia":"en:Packstation",name:"DHL Packstation",vending:"parcel_pickup;parcel_mail_in"}},"amenity/vending_machine|DHL Paketbox":{countryCodes:["de"],tags:{amenity:"vending_machine",brand:"Paketbox","brand:wikidata":"Q2046604","brand:wikipedia":"de:Paketbox",name:"DHL Paketbox",vending:"parcel_mail_in"}},"amenity/vending_machine|Dog-Station":{countryCodes:["at","de","dk"],tags:{amenity:"vending_machine",brand:"Dog-Station","brand:wikidata":"Q63720061",name:"Dog-Station",vending:"excrement_bags"}},"amenity/vending_machine|Home City Ice":{countryCodes:["us"],tags:{amenity:"vending_machine",brand:"Home City Ice","brand:wikidata":"Q5888287",name:"Home City Ice",vending:"ice_cubes"}},"amenity/vending_machine|KKM":{countryCodes:["pl"],tags:{amenity:"vending_machine",brand:"KKM","brand:wikidata":"Q57515549",name:"KKM",vending:"public_transport_tickets"}},"amenity/vending_machine|Paczkomat InPost":{countryCodes:["pl"],tags:{amenity:"vending_machine",brand:"InPost","brand:wikidata":"Q3182097","brand:wikipedia":"pl:InPost",name:"Paczkomat InPost",vending:"parcel_pickup;parcel_mail_in"}},"amenity/vending_machine|ParkPlus~(Calgary)":{countryCodes:["ca"],tags:{amenity:"vending_machine",brand:"ParkPlus","brand:wikidata":"Q63719595",name:"ParkPlus",vending:"parking_tickets"}},"amenity/vending_machine|Redbox":{countryCodes:["us"],tags:{amenity:"vending_machine",brand:"Redbox","brand:wikidata":"Q7305489","brand:wikipedia":"en:Redbox",name:"Redbox",vending:"movies"}},"amenity/vending_machine|Reddy Ice":{countryCodes:["us"],tags:{amenity:"vending_machine",brand:"Reddy Ice","brand:wikidata":"Q7305666",name:"Reddy Ice",vending:"ice_cubes"}},"amenity/vending_machine|Robidog":{countryCodes:["ch"],tags:{amenity:"vending_machine",brand:"Robidog","brand:wikidata":"Q2159689","brand:wikipedia":"de:Robidog",name:"Robidog",vending:"excrement_bags"}},"amenity/vending_machine|Schlauchomat":{countryCodes:["at","de","it"],tags:{amenity:"vending_machine",brand:"Schlauchomat",name:"Schlauchomat",vending:"bicycle_tube"}},"amenity/vending_machine|Smartpost":{countryCodes:["fi"],matchTags:["amenity/post_box"],tags:{amenity:"vending_machine",brand:"Smartpost","brand:wikidata":"Q7543889","brand:wikipedia":"fi:SmartPOST",name:"Smartpost",vending:"parcel_pickup;parcel_mail_in"}},"amenity/vending_machine|Tobaccoland":{countryCodes:["de"],tags:{amenity:"vending_machine",brand:"Tobaccoland","brand:wikidata":"Q1439872","brand:wikipedia":"de:Tobaccoland Automatengesellschaft",name:"Tobaccoland",vending:"cigarettes"}},"amenity/vending_machine|VVO Fahrausweise":{countryCodes:["de"],tags:{amenity:"vending_machine",brand:"VVO Fahrausweise",name:"VVO Fahrausweise",vending:"public_transport_tickets"}},"amenity/vending_machine|Ключ здоровья":{countryCodes:["ru"],matchTags:["shop/water"],tags:{amenity:"vending_machine",brand:"Ключ здоровья",name:"Ключ здоровья",vending:"water"}},"amenity/vending_machine|コカ・コーラ":{countryCodes:["jp"],tags:{amenity:"vending_machine",brand:"コカ・コーラ","brand:en":"Coca-Cola","brand:ja":"コカ・コーラ","brand:wikidata":"Q2813","brand:wikipedia":"ja:コカ・コーラ",drink:"cola",name:"コカ・コーラ","name:en":"Coca-Cola","name:ja":"コカ・コーラ",vending:"drinks"}},"amenity/vending_machine|ポッカサッポロ":{countryCodes:["jp"],matchNames:["pokka sapporo"],tags:{amenity:"vending_machine",brand:"ポッカサッポロ","brand:en":"Pokka Sapporo","brand:ja":"ポッカサッポロ","brand:wikidata":"Q7208665","brand:wikipedia":"ja:ポッカサッポロフード&ビバレッジ",name:"ポッカサッポロ","name:en":"Pokka Sapporo","name:ja":"ポッカサッポロ",vending:"water;food"}},"amenity/veterinary|Banfield Pet Hospital":{countryCodes:["us"],tags:{amenity:"veterinary",brand:"Banfield Pet Hospital","brand:wikidata":"Q2882416","brand:wikipedia":"en:Banfield Pet Hospital",name:"Banfield Pet Hospital"}},"amenity/veterinary|VCA Animal Hospital":{countryCodes:["ca","us"],tags:{amenity:"veterinary",brand:"VCA Animal Hospital","brand:wikidata":"Q7906620","brand:wikipedia":"en:VCA Animal Hospitals",name:"VCA Animal Hospital"}},"craft/signmaker|Fastsigns":{countryCodes:["ae","ca","cl","gb","ky","mx","sa","us"],matchTags:["shop/sign"],tags:{brand:"Fastsigns","brand:wikidata":"Q5437127","brand:wikipedia":"en:Fastsigns",craft:"signmaker",name:"Fastsigns"}},"healthcare/blood_donation|Australian Red Cross Blood Service":{countryCodes:["au"],tags:{brand:"Australian Red Cross","brand:wikidata":"Q4824610","brand:wikipedia":"en:Australian Red Cross","donation:compensation":"no",healthcare:"blood_donation",name:"Australian Red Cross Blood Service",short_name:"Blood Service"}},"healthcare/clinic|ZoomCare":{countryCodes:["us"],matchTags:["amenity/clinic"],tags:{amenity:"clinic",brand:"ZoomCare","brand:wikidata":"Q64120374","brand:wikipedia":"en:ZoomCare",healthcare:"clinic",name:"ZoomCare",urgent_care:"yes"}},"healthcare/counselling|Jenny Craig":{countryCodes:["au","ca","nz","us"],matchTags:["amenity/doctors","amenity/weight_clinic","leisure/fitness_centre","office/therapist","shop/beauty","shop/diet","shop/food","shop/health_food","shop/herbalist","shop/nutrition","shop/nutrition_supplements","shop/weight_loss"],tags:{brand:"Jenny Craig","brand:wikidata":"Q6179221","brand:wikipedia":"en:Jenny Craig, Inc.",healthcare:"counselling","healthcare:counselling":"dietitian","healthcare:speciality":"weight_loss",name:"Jenny Craig"}},"healthcare/counselling|WW Studio":{matchNames:["ww"],matchTags:["amenity/doctors","amenity/weight_clinic","leisure/fitness_centre","office/therapist","shop/beauty","shop/diet","shop/food","shop/health_food","shop/herbalist","shop/nutrition","shop/nutrition_supplements","shop/weight_loss"],tags:{alt_name:"Weight Watchers",brand:"WW Studio","brand:wikidata":"Q1929466","brand:wikipedia":"en:WW International",healthcare:"counselling","healthcare:counselling":"dietitian","healthcare:speciality":"weight_loss",name:"WW Studio"}},"landuse/residential|Avalon":{countryCodes:["us"],tags:{brand:"Avalon","brand:wikidata":"Q64665938",landuse:"residential",name:"Avalon",residential:"apartments"}},"leisure/escape_game|Escapology":{countryCodes:["us"],matchTags:["tourism/attraction"],tags:{brand:"Escapology","brand:wikidata":"Q64137163",leisure:"escape_game",name:"Escapology"}},"leisure/fitness_centre|24 Hour Fitness":{countryCodes:["us"],tags:{brand:"24 Hour Fitness","brand:wikidata":"Q4631849","brand:wikipedia":"en:24 Hour Fitness",leisure:"fitness_centre",name:"24 Hour Fitness"}},"leisure/fitness_centre|Anytime Fitness":{tags:{brand:"Anytime Fitness","brand:wikidata":"Q4778364","brand:wikipedia":"en:Anytime Fitness",leisure:"fitness_centre",name:"Anytime Fitness"}},"leisure/fitness_centre|Basic-Fit":{countryCodes:["be","es","fr","lu","nl"],tags:{brand:"Basic-Fit","brand:wikidata":"Q40165577","brand:wikipedia":"nl:Basic-Fit",leisure:"fitness_centre",name:"Basic-Fit"}},"leisure/fitness_centre|Clever fit":{countryCodes:["at","ch","de"],tags:{brand:"Clever fit","brand:wikidata":"Q27909675","brand:wikipedia":"de:Clever fit",leisure:"fitness_centre",name:"Clever fit"}},"leisure/fitness_centre|CorePower Yoga":{countryCodes:["us"],matchNames:["corepower"],matchTags:["club/sport","leisure/sports_centre"],tags:{brand:"CorePower Yoga","brand:wikidata":"Q21015663","brand:wikipedia":"en:CorePower Yoga",leisure:"fitness_centre",name:"CorePower Yoga",sport:"yoga"}},"leisure/fitness_centre|Crunch Fitness":{countryCodes:["au","ca","us"],matchNames:["crunch"],tags:{brand:"Crunch Fitness","brand:wikidata":"Q5190093","brand:wikipedia":"en:Crunch Fitness",leisure:"fitness_centre",name:"Crunch Fitness"}},"leisure/fitness_centre|Curves":{tags:{brand:"Curves","brand:wikidata":"Q5196080","brand:wikipedia":"en:Curves International",leisure:"fitness_centre",name:"Curves"}},"leisure/fitness_centre|F45 Training":{tags:{brand:"F45 Training","brand:wikidata":"Q64390973",leisure:"fitness_centre",name:"F45 Training"}},"leisure/fitness_centre|Fit4Less ~(Canada)":{countryCodes:["ca"],tags:{brand:"Fit4Less","brand:wikidata":"Q64821050",leisure:"fitness_centre",name:"Fit4Less"}},"leisure/fitness_centre|Fit4less ~(UK)":{countryCodes:["uk"],tags:{brand:"Fit4less","brand:wikidata":"Q64821053",leisure:"fitness_centre",name:"Fit4less"}},"leisure/fitness_centre|Fitness First":{countryCodes:["ae","au","de","gb","ph","th"],tags:{brand:"Fitness First","brand:wikidata":"Q127120","brand:wikipedia":"en:Fitness First",leisure:"fitness_centre",name:"Fitness First"}},"leisure/fitness_centre|Fitness24Seven":{countryCodes:["fi","se"],tags:{brand:"Fitness24Seven","brand:wikidata":"Q61112447","brand:wikipedia":"sv:Fitness24Seven",leisure:"fitness_centre",name:"Fitness24Seven"}},"leisure/fitness_centre|Gold's Gym":{countryCodes:["ae","in","ph","us"],tags:{brand:"Gold's Gym","brand:wikidata":"Q1536234","brand:wikipedia":"en:Gold's Gym",leisure:"fitness_centre",name:"Gold's Gym"}},"leisure/fitness_centre|GoodLife Fitness":{countryCodes:["ca"],tags:{brand:"GoodLife Fitness","brand:wikidata":"Q3110654","brand:wikipedia":"en:GoodLife Fitness",leisure:"fitness_centre",name:"GoodLife Fitness"}},"leisure/fitness_centre|Jazzercise":{countryCodes:["us"],matchTags:["leisure/dance"],tags:{brand:"Jazzercise","brand:wikidata":"Q6168434","brand:wikipedia":"en:Jazzercise",leisure:"fitness_centre",name:"Jazzercise"}},"leisure/fitness_centre|LA Fitness":{countryCodes:["ca","gb","us"],tags:{brand:"LA Fitness","brand:wikidata":"Q6457180","brand:wikipedia":"en:LA Fitness",leisure:"fitness_centre",name:"LA Fitness"}},"leisure/fitness_centre|Life Time":{countryCodes:["ca","us"],matchNames:["life time athletic","life time fitness"],tags:{brand:"Life Time","brand:wikidata":"Q6545004","brand:wikipedia":"en:Life Time Fitness",leisure:"fitness_centre",name:"Life Time"}},"leisure/fitness_centre|McFit":{countryCodes:["at","de","es","it","pl"],tags:{brand:"McFit","brand:wikidata":"Q871302","brand:wikipedia":"en:McFit",leisure:"fitness_centre",name:"McFit"}},"leisure/fitness_centre|Orangetheory Fitness":{countryCodes:["ca","es","us"],matchNames:["orangetheory"],tags:{brand:"Orangetheory Fitness","brand:wikidata":"Q25005163","brand:wikipedia":"en:Orangetheory Fitness",leisure:"fitness_centre",name:"Orangetheory Fitness"}},"leisure/fitness_centre|Planet Fitness":{countryCodes:["ca","us"],tags:{brand:"Planet Fitness","brand:wikidata":"Q7201095","brand:wikipedia":"en:Planet Fitness",leisure:"fitness_centre",name:"Planet Fitness"}},"leisure/fitness_centre|PureGym":{countryCodes:["gb"],tags:{brand:"PureGym","brand:wikidata":"Q18345898","brand:wikipedia":"en:PureGym",leisure:"fitness_centre",name:"PureGym"}},"leisure/fitness_centre|Retro Fitness":{countryCodes:["us"],tags:{brand:"Retro Fitness","brand:wikidata":"Q61994955",leisure:"fitness_centre",name:"Retro Fitness"}},"leisure/fitness_centre|Smart Fit":{tags:{brand:"Smart Fit",leisure:"fitness_centre",name:"Smart Fit"}},"leisure/fitness_centre|Snap Fitness":{tags:{brand:"Snap Fitness","brand:wikidata":"Q7547254","brand:wikipedia":"en:Snap Fitness",leisure:"fitness_centre",name:"Snap Fitness"}},"leisure/fitness_centre|カーブス":{countryCodes:["jp"],tags:{brand:"カーブス","brand:ja":"カーブス",leisure:"fitness_centre",name:"カーブス","name:ja":"カーブス"}},"leisure/playground|McDonald's PlayPlace":{matchNames:["mcdonald's"],tags:{access:"customers",brand:"McDonald's","brand:wikidata":"Q38076","brand:wikipedia":"en:McDonald's",leisure:"playground",name:"McDonald's PlayPlace"}},"leisure/sports_centre|YMCA":{tags:{brand:"YMCA","brand:wikidata":"Q157169","brand:wikipedia":"en:YMCA",leisure:"sports_centre",name:"YMCA"}},"leisure/sports_centre|iFLY":{tags:{brand:"iFLY","brand:wikidata":"Q64767105",leisure:"sports_centre",name:"iFLY",sport:"indoor_skydiving"}},"leisure/tanning_salon|Palm Beach Tan":{countryCodes:["us"],matchTags:["shop/beauty","shop/solarium"],tags:{beauty:"tanning",brand:"Palm Beach Tan","brand:wikidata":"Q64027086","brand:wikipedia":"en:Palm Beach Tan",leisure:"tanning_salon",name:"Palm Beach Tan",shop:"beauty"}},"office/bail_bond_agent|Aladdin Bail Bonds":{countryCodes:["us"],matchNames:["aladdin","aladin bail bonds","alladin bail bonds"],matchTags:["amenity/bail_bond","amenity/bail_bonds","office/bail_bond","office/bail_bonds","shop/bail_bond","shop/bail_bonds","shop/money_lender"],tags:{brand:"Aladdin Bail Bonds","brand:wikidata":"Q64166257","brand:wikipedia":"en:Aladdin Bail Bonds",name:"Aladdin Bail Bonds",office:"bail_bond_agent",opening_hours:"24/7"}},"office/coworking|Awfis":{countryCodes:["in"],tags:{brand:"Awfis","brand:wikidata":"Q60747757","brand:wikipedia":"en:Awfis",fee:"yes",name:"Awfis",office:"coworking"}},"office/coworking|Ucommune~(China)":{countryCodes:["cn"],tags:{brand:"优客工场","brand:en":"Ucommune","brand:wikidata":"Q60785187","brand:wikipedia":"en:Ucommune","brand:zh":"优客工场","brand:zh-Hans":"优客工场",fee:"yes",name:"优客工场","name:en":"Ucommune","name:zh":"优客工场","name:zh-Hans":"优客工场",office:"coworking"}},"office/coworking|Ucommune~(Hong Kong)":{countryCodes:["hk"],tags:{brand:"優客工場 Ucommune","brand:en":"Ucommune","brand:wikidata":"Q60785187","brand:wikipedia":"en:Ucommune","brand:zh":"優客工場","brand:zh-Hans":"优客工场","brand:zh-Hant":"優客工場",fee:"yes",name:"優客工場 Ucommune","name:en":"Ucommune","name:zh":"優客工場","name:zh-Hans":"优客工场","name:zh-Hant":"優客工場",office:"coworking"}},"office/coworking|Ucommune~(Singapore)":{countryCodes:["sg"],tags:{brand:"Ucommune","brand:en":"Ucommune","brand:wikidata":"Q60785187","brand:wikipedia":"en:Ucommune","brand:zh":"优客工场","brand:zh-Hans":"优客工场",fee:"yes",name:"Ucommune","name:en":"Ucommune","name:zh":"优客工场","name:zh-Hans":"优客工场",office:"coworking"}},"office/coworking|Ucommune~(Taiwan)":{countryCodes:["tw"],tags:{brand:"優客工場","brand:en":"Ucommune","brand:wikidata":"Q60785187","brand:wikipedia":"en:Ucommune","brand:zh":"優客工場","brand:zh-Hans":"优客工场","brand:zh-Hant":"優客工場",fee:"yes",name:"優客工場","name:en":"Ucommune","name:zh":"優客工場","name:zh-Hans":"优客工场","name:zh-Hant":"優客工場",office:"coworking"}},"office/coworking|WeWork":{countryCodes:["us"],tags:{brand:"WeWork","brand:wikidata":"Q19995004","brand:wikipedia":"en:WeWork",fee:"yes",name:"WeWork",office:"coworking"}},"office/employment_agency|Adecco":{tags:{brand:"Adecco","brand:wikidata":"Q353494","brand:wikipedia":"en:The Adecco Group",name:"Adecco",office:"employment_agency"}},"office/employment_agency|Agentur für Arbeit":{countryCodes:["de"],tags:{brand:"Agentur für Arbeit",name:"Agentur für Arbeit",office:"employment_agency"}},"office/employment_agency|Appel Médical":{countryCodes:["fr"],tags:{brand:"Appel Médical",name:"Appel Médical",office:"employment_agency"}},"office/employment_agency|Job Centre Plus":{countryCodes:["gb"],tags:{brand:"Job Centre Plus",name:"Job Centre Plus",office:"employment_agency"}},"office/employment_agency|Manpower":{tags:{brand:"Manpower","brand:wikidata":"Q1472539","brand:wikipedia":"en:ManpowerGroup",name:"Manpower",office:"employment_agency"}},"office/employment_agency|Pôle Emploi":{countryCodes:["fr"],tags:{brand:"Pôle Emploi","brand:wikidata":"Q8901192","brand:wikipedia":"en:Pôle emploi",name:"Pôle Emploi",office:"employment_agency"}},"office/employment_agency|Randstad":{tags:{brand:"Randstad","brand:wikidata":"Q267840","brand:wikipedia":"en:Randstad Holding",name:"Randstad",office:"employment_agency"}},"office/estate_agent|Bairstow Eves":{countryCodes:["gb"],tags:{brand:"Bairstow Eves",name:"Bairstow Eves",office:"estate_agent"}},"office/estate_agent|Century 21":{matchNames:["century 21 real estate"],nomatch:["shop/department_store|Century 21"],tags:{brand:"Century 21","brand:wikidata":"Q1054480","brand:wikipedia":"en:Century 21 (real estate)",name:"Century 21",office:"estate_agent"}},"office/estate_agent|Coldwell Banker":{matchNames:["coldwell banker real estate"],tags:{brand:"Coldwell Banker","brand:wikidata":"Q738853","brand:wikipedia":"en:Coldwell Banker",name:"Coldwell Banker",office:"estate_agent"}},"office/estate_agent|Connells":{countryCodes:["gb"],tags:{brand:"Connells",name:"Connells",office:"estate_agent"}},"office/estate_agent|Engel & Völkers":{tags:{brand:"Engel & Völkers","brand:wikidata":"Q1341765","brand:wikipedia":"en:Engel & Völkers",name:"Engel & Völkers",office:"estate_agent"}},"office/estate_agent|Foncia":{countryCodes:["fr"],tags:{brand:"Foncia","brand:wikidata":"Q1435638","brand:wikipedia":"fr:Foncia",name:"Foncia",office:"estate_agent"}},"office/estate_agent|Guy Hoquet":{countryCodes:["fr"],tags:{brand:"Guy Hoquet","brand:wikidata":"Q25383970","brand:wikipedia":"fr:Guy Hoquet l'immobilier",name:"Guy Hoquet",office:"estate_agent"}},"office/estate_agent|Hamptons International Lettings":{countryCodes:["gb"],tags:{brand:"Hamptons International Lettings",name:"Hamptons International Lettings",office:"estate_agent"}},"office/estate_agent|Hamptons International Sales":{countryCodes:["gb"],tags:{brand:"Hamptons International Sales",name:"Hamptons International Sales",office:"estate_agent"}},"office/estate_agent|Laforêt":{countryCodes:["fr"],tags:{brand:"Laforêt",name:"Laforêt",office:"estate_agent"}},"office/estate_agent|Orpi":{countryCodes:["fr"],tags:{brand:"Orpi","brand:wikidata":"Q3356080","brand:wikipedia":"fr:Organisation régionale des professionnels de l'immobilier",name:"Orpi",office:"estate_agent"}},"office/estate_agent|RE/MAX":{tags:{brand:"RE/MAX","brand:wikidata":"Q965845","brand:wikipedia":"en:RE/MAX",name:"RE/MAX",office:"estate_agent"}},"office/estate_agent|Ray White":{countryCodes:["au","nz"],tags:{brand:"Ray White",name:"Ray White",office:"estate_agent"}},"office/estate_agent|Royal LePage":{countryCodes:["ca"],tags:{brand:"Royal LePage","brand:wikidata":"Q7374385","brand:wikipedia":"en:Royal LePage",name:"Royal LePage",office:"estate_agent"}},"office/estate_agent|Square Habitat":{countryCodes:["fr"],tags:{brand:"Square Habitat","brand:wikidata":"Q64027038","brand:wikipedia":"fr:Square Habitat",name:"Square Habitat",office:"estate_agent"}},"office/estate_agent|Tecnocasa":{countryCodes:["es","it","pl"],tags:{brand:"Tecnocasa",name:"Tecnocasa",office:"estate_agent"}},"office/estate_agent|Your Move":{countryCodes:["gb"],tags:{brand:"Your Move",name:"Your Move",office:"estate_agent"}},"office/estate_agent|アパマンショップ":{countryCodes:["jp"],tags:{brand:"アパマンショップ","brand:ja":"アパマンショップ",name:"アパマンショップ","name:ja":"アパマンショップ",office:"estate_agent"}},"office/estate_agent|エイブル":{countryCodes:["jp"],tags:{brand:"エイブル","brand:ja":"エイブル",name:"エイブル","name:ja":"エイブル",office:"estate_agent"}},"office/estate_agent|ピタットハウス":{countryCodes:["jp"],tags:{brand:"ピタットハウス","brand:ja":"ピタットハウス",name:"ピタットハウス","name:ja":"ピタットハウス",office:"estate_agent"}},"office/estate_agent|信義房屋":{countryCodes:["tw"],tags:{brand:"信義房屋",name:"信義房屋",office:"estate_agent"}},"office/estate_agent|永慶房屋":{countryCodes:["tw"],tags:{brand:"永慶房屋",name:"永慶房屋",office:"estate_agent"}},"office/financial_advisor|Edward Jones":{countryCodes:["ca","us"],tags:{alt_name:"Edward Jones Investments",brand:"Edward Jones","brand:wikidata":"Q5343830","brand:wikipedia":"en:Edward Jones Investments",name:"Edward Jones",office:"financial_advisor"}},"office/insurance|AAA Insurance":{countryCodes:["us"],matchNames:["american automobile association"],nomatch:["office/travel_agency|American Automobile Association"],tags:{brand:"American Automobile Association","brand:wikidata":"Q463436","brand:wikipedia":"en:American Automobile Association",name:"AAA Insurance",office:"insurance",short_name:"AAA"}},"office/insurance|AOK":{countryCodes:["de"],tags:{brand:"AOK","brand:wikidata":"Q835141","brand:wikipedia":"de:Allgemeine Ortskrankenkasse",name:"AOK",office:"insurance"}},"office/insurance|AXA":{nomatch:["amenity/bank|AXA"],tags:{brand:"AXA","brand:wikidata":"Q160054","brand:wikipedia":"en:AXA",name:"AXA",office:"insurance"}},"office/insurance|Allianz":{tags:{brand:"Allianz","brand:wikidata":"Q487292","brand:wikipedia":"en:Allianz",name:"Allianz",office:"insurance"}},"office/insurance|Allstate":{countryCodes:["us"],matchNames:["allstate insurance"],tags:{brand:"Allstate","brand:wikidata":"Q2645636","brand:wikipedia":"en:Allstate",name:"Allstate",office:"insurance"}},"office/insurance|American Family Insurance":{countryCodes:["us"],matchNames:["american family","amfam"],tags:{brand:"American Family Insurance","brand:wikidata":"Q4743730","brand:wikipedia":"en:American Family Insurance",name:"American Family Insurance",office:"insurance"}},"office/insurance|Assu 2000":{countryCodes:["fr"],tags:{brand:"Assu 2000",name:"Assu 2000",office:"insurance"}},"office/insurance|Aviva":{countryCodes:["fr","ie","pl"],tags:{brand:"Aviva","brand:wikidata":"Q791179","brand:wikipedia":"en:Aviva",name:"Aviva",office:"insurance"}},"office/insurance|CUK Ubezpieczenia":{countryCodes:["pl"],tags:{brand:"CUK Ubezpieczenia",name:"CUK Ubezpieczenia",office:"insurance"}},"office/insurance|DEVK":{countryCodes:["de"],tags:{brand:"DEVK","brand:wikidata":"Q1153049","brand:wikipedia":"de:DEVK",name:"DEVK",office:"insurance"}},"office/insurance|Debeka":{countryCodes:["de"],tags:{brand:"Debeka","brand:wikidata":"Q1181452","brand:wikipedia":"de:Debeka",name:"Debeka",office:"insurance"}},"office/insurance|Erie Insurance":{countryCodes:["us"],matchNames:["erie"],tags:{brand:"Erie Insurance","brand:wikidata":"Q5388314","brand:wikipedia":"en:Erie Insurance Group",name:"Erie Insurance",office:"insurance"}},"office/insurance|Farmers Insurance":{countryCodes:["us"],matchNames:["farmers"],tags:{brand:"Farmers Insurance","brand:wikidata":"Q1396863","brand:wikipedia":"en:Farmers Insurance Group",name:"Farmers Insurance",office:"insurance"}},"office/insurance|GEICO":{countryCodes:["us"],tags:{brand:"GEICO","brand:wikidata":"Q1498689","brand:wikipedia":"en:GEICO",name:"GEICO",office:"insurance"}},"office/insurance|GMF":{countryCodes:["fr"],tags:{brand:"GMF",name:"GMF",office:"insurance"}},"office/insurance|Generali":{tags:{brand:"Generali","brand:wikidata":"Q670482","brand:wikipedia":"it:Assicurazioni Generali",name:"Generali",office:"insurance"}},"office/insurance|Grange Insurance":{countryCodes:["us"],matchNames:["grange"],tags:{brand:"Grange Insurance","brand:wikidata":"Q17183481","brand:wikipedia":"en:Grange Insurance",name:"Grange Insurance",office:"insurance"}},"office/insurance|Groupama":{matchTags:["amenity/bank|Groupama"],tags:{brand:"Groupama","brand:wikidata":"Q3083531","brand:wikipedia":"fr:Groupama",name:"Groupama",office:"insurance",official_name:"Groupe des Assurances Mutuelles Agricoles"}},"office/insurance|HUK-Coburg":{countryCodes:["de"],tags:{brand:"HUK-Coburg",name:"HUK-Coburg",office:"insurance"}},"office/insurance|Knappschaft":{countryCodes:["de"],tags:{brand:"Knappschaft","brand:wikidata":"Q1313465","brand:wikipedia":"de:Knappschaft (Krankenkasse)",name:"Knappschaft",office:"insurance"}},"office/insurance|MAAF":{countryCodes:["fr"],tags:{brand:"MAAF","brand:wikidata":"Q3331028","brand:wikipedia":"fr:Mutuelle d'assurance des artisans de France",name:"MAAF",office:"insurance"}},"office/insurance|MMA":{countryCodes:["fr"],tags:{brand:"MMA","brand:wikidata":"Q3331046","brand:wikipedia":"fr:MMA (assurance)",name:"MMA",office:"insurance",official_name:"Mutuelles du Mans Assurances"}},"office/insurance|Macif":{countryCodes:["fr"],tags:{brand:"Macif","brand:wikidata":"Q3331021","brand:wikipedia":"fr:Mutuelle assurance des commerçants et industriels de France et des cadres et des salariés de l'industrie et du commerce",name:"Macif",office:"insurance"}},"office/insurance|Maif":{countryCodes:["fr"],tags:{brand:"Maif","brand:wikidata":"Q3331029","brand:wikipedia":"fr:Maif",name:"Maif",office:"insurance",official_name:"Mutuelle d'assurance des instituteurs de France"}},"office/insurance|Mapfre":{tags:{brand:"Mapfre","brand:wikidata":"Q544532","brand:wikipedia":"en:Mapfre",name:"Mapfre",office:"insurance"}},"office/insurance|Matmut":{countryCodes:["fr"],tags:{brand:"Matmut","brand:wikidata":"Q3299185","brand:wikipedia":"fr:Matmut",name:"Matmut",office:"insurance"}},"office/insurance|Nationwide":{countryCodes:["us"],matchNames:["nationwide insurance"],nomatch:["amenity/bank|Nationwide"],tags:{brand:"Nationwide","brand:wikidata":"Q6979886","brand:wikipedia":"en:Nationwide Mutual Insurance Company",name:"Nationwide",office:"insurance"}},"office/insurance|PZU":{countryCodes:["pl"],tags:{brand:"PZU","brand:wikidata":"Q1807170","brand:wikipedia":"pl:Powszechny Zakład Ubezpieczeń",name:"PZU",office:"insurance"}},"office/insurance|Progressive":{countryCodes:["us"],matchNames:["progressive insurance"],tags:{brand:"Progressive","brand:wikidata":"Q7248721","brand:wikipedia":"en:Progressive Corporation",name:"Progressive",office:"insurance"}},"office/insurance|Provinzial":{countryCodes:["de"],tags:{brand:"Provinzial",name:"Provinzial",office:"insurance"}},"office/insurance|State Farm":{countryCodes:["us"],matchNames:["state farm insurance"],tags:{brand:"State Farm","brand:wikidata":"Q2007336","brand:wikipedia":"en:State Farm",name:"State Farm",office:"insurance"}},"office/insurance|Swinton":{countryCodes:["gb"],tags:{brand:"Swinton","brand:wikidata":"Q7658785",name:"Swinton",office:"insurance"}},"office/insurance|Techniker Krankenkasse":{countryCodes:["de"],tags:{brand:"Techniker Krankenkasse","brand:wikidata":"Q607531","brand:wikipedia":"de:Techniker Krankenkasse",name:"Techniker Krankenkasse",office:"insurance"}},"office/insurance|The Co-operators":{countryCodes:["ca"],tags:{brand:"The Co-operators","brand:wikidata":"Q3520320","brand:wikipedia":"en:The Co-operators",name:"The Co-operators",office:"insurance"}},"office/insurance|Wüstenrot":{countryCodes:["at","cz","de","sk"],tags:{brand:"Wüstenrot",name:"Wüstenrot",office:"insurance"}},"office/insurance|Zurich":{tags:{brand:"Zurich",name:"Zurich",office:"insurance"}},"office/insurance|Белгосстрах":{countryCodes:["by"],tags:{brand:"Белгосстрах",name:"Белгосстрах",office:"insurance"}},"office/insurance|Ингосстрах":{countryCodes:["ru"],tags:{brand:"Ингосстрах",name:"Ингосстрах",office:"insurance"}},"office/insurance|РЕСО-Гарантия":{countryCodes:["ru"],tags:{brand:"РЕСО-Гарантия",name:"РЕСО-Гарантия",office:"insurance"}},"office/insurance|Росгосстрах":{countryCodes:["ru"],tags:{brand:"Росгосстрах","brand:wikidata":"Q4397745","brand:wikipedia":"en:Rosgosstrakh",name:"Росгосстрах",office:"insurance"}},"office/insurance|Согласие":{countryCodes:["ru"],tags:{brand:"Согласие",name:"Согласие",office:"insurance"}},"office/insurance|بیمه ایران":{countryCodes:["ir"],tags:{brand:"بیمه ایران",name:"بیمه ایران",office:"insurance"}},"office/tax_advisor|Block Advisors":{countryCodes:["us"],tags:{brand:"Block Advisors","brand:wikidata":"Q64166231",name:"Block Advisors",office:"tax_advisor"}},"office/tax_advisor|H&R Block":{countryCodes:["au","ca","in","us"],tags:{brand:"H&R Block","brand:wikidata":"Q5627799","brand:wikipedia":"en:H&R Block",name:"H&R Block",office:"tax_advisor"}},"office/tax_advisor|Jackson Hewitt":{countryCodes:["us"],tags:{brand:"Jackson Hewitt","brand:wikidata":"Q6117132","brand:wikipedia":"en:Jackson Hewitt",name:"Jackson Hewitt",office:"tax_advisor",official_name:"Jackson Hewitt Tax Service"}},"office/tax_advisor|Liberty Tax":{countryCodes:["us"],tags:{alt_name:"Liberty Tax Service",brand:"Liberty Tax","brand:wikidata":"Q6541978","brand:wikipedia":"en:Liberty Tax Service",name:"Liberty Tax",office:"tax_advisor"}},"office/telecommunication|Ooredoo":{tags:{brand:"Ooredoo","brand:wikidata":"Q919935","brand:wikipedia":"en:Ooredoo",name:"Ooredoo",office:"telecommunication"}},"office/telecommunication|Velcom":{countryCodes:["by"],tags:{brand:"Velcom","brand:wikidata":"Q1888809","brand:wikipedia":"en:Velcom",name:"Velcom",office:"telecommunication"}},"office/telecommunication|Дом.ru":{tags:{brand:"Дом.ru",name:"Дом.ru",office:"telecommunication"}},"office/telecommunication|Магазин lifecell":{tags:{brand:"Магазин lifecell",name:"Магазин lifecell",office:"telecommunication"}},"office/telecommunication|Ростелеком":{countryCodes:["ru"],tags:{brand:"Ростелеком","brand:wikidata":"Q1477012","brand:wikipedia":"en:Rostelecom",name:"Ростелеком",office:"telecommunication"}},"office/telecommunication|Укртелеком":{countryCodes:["ua"],tags:{brand:"Укртелеком","brand:wikidata":"Q1505321","brand:wikipedia":"en:Ukrtelecom",name:"Укртелеком",office:"telecommunication"}},"office/telecommunication|مخابرات":{tags:{brand:"مخابرات",name:"مخابرات",office:"telecommunication"}},"office/telecommunication|中華電信":{countryCodes:["tw"],tags:{brand:"中華電信",name:"中華電信",office:"telecommunication"}},"office/telecommunication|台灣大哥大":{countryCodes:["tw"],tags:{brand:"台灣大哥大",name:"台灣大哥大",office:"telecommunication"}},"office/telecommunication|遠傳電信":{countryCodes:["tw"],tags:{brand:"遠傳電信",name:"遠傳電信",office:"telecommunication"}},"shop/agrarian|Granngården":{countryCodes:["se"],tags:{brand:"Granngården","brand:wikidata":"Q10508136","brand:wikipedia":"sv:Granngården AB",name:"Granngården",shop:"agrarian"}},"shop/agrarian|Southern States":{countryCodes:["us"],tags:{agrarian:"seed;feed;tools",brand:"Southern States","brand:wikidata":"Q7570508","brand:wikipedia":"en:Southern States Cooperative",name:"Southern States",official_name:"Southern States Cooperative",shop:"agrarian"}},"shop/alcohol|Alko":{countryCodes:["fi"],tags:{brand:"Alko","brand:wikidata":"Q1849187","brand:wikipedia":"en:Alko",name:"Alko",shop:"alcohol"}},"shop/alcohol|BC Liquor Store":{countryCodes:["ca"],tags:{brand:"BC Liquor Store","brand:wikidata":"Q43079557","brand:wikipedia":"en:BC Liquor Stores",name:"BC Liquor Store",shop:"alcohol"}},"shop/alcohol|BWS":{countryCodes:["au"],tags:{brand:"BWS","brand:wikidata":"Q4836848","brand:wikipedia":"en:BWS (liquor retailer)",name:"BWS",shop:"alcohol"}},"shop/alcohol|Bargain Booze":{countryCodes:["gb"],tags:{brand:"Bargain Booze","brand:wikidata":"Q16971315","brand:wikipedia":"en:Bargain Booze",name:"Bargain Booze",shop:"alcohol"}},"shop/alcohol|BevMo!":{countryCodes:["us"],tags:{brand:"BevMo!","brand:wikidata":"Q4899308","brand:wikipedia":"en:BevMo!",name:"BevMo!",shop:"alcohol"}},"shop/alcohol|Cellarbrations":{countryCodes:["au"],tags:{brand:"Cellarbrations",name:"Cellarbrations",shop:"alcohol"}},"shop/alcohol|Dan Murphy's":{countryCodes:["au"],tags:{brand:"Dan Murphy's","brand:wikidata":"Q5214075","brand:wikipedia":"en:Dan Murphy's",name:"Dan Murphy's",shop:"alcohol"}},"shop/alcohol|Fine Wine & Good Spirits":{countryCodes:["us"],tags:{brand:"Fine Wine & Good Spirits","brand:wikidata":"Q64514776",name:"Fine Wine & Good Spirits",shop:"alcohol"}},"shop/alcohol|Gall & Gall":{countryCodes:["nl"],tags:{brand:"Gall & Gall","brand:wikidata":"Q13639185","brand:wikipedia":"nl:Gall & Gall",name:"Gall & Gall",shop:"alcohol"}},"shop/alcohol|LCBO":{countryCodes:["ca"],tags:{brand:"LCBO","brand:wikidata":"Q845263","brand:wikipedia":"en:Liquor Control Board of Ontario",name:"LCBO",shop:"alcohol"}},"shop/alcohol|Liquor Depot":{countryCodes:["ca"],tags:{brand:"Liquor Depot",name:"Liquor Depot",shop:"alcohol"}},"shop/alcohol|Liquorland":{countryCodes:["au"],tags:{brand:"Liquorland","brand:wikidata":"Q2283837","brand:wikipedia":"en:Liquorland",name:"Liquorland",shop:"alcohol"}},"shop/alcohol|Majestic":{countryCodes:["gb"],matchNames:["majestic wine","majestic wine warehouse"],tags:{brand:"Majestic","brand:wikidata":"Q6737725",name:"Majestic",shop:"alcohol"}},"shop/alcohol|Mitra":{countryCodes:["nl"],tags:{brand:"Mitra",name:"Mitra",shop:"alcohol"}},"shop/alcohol|Nicolas":{countryCodes:["be","fr","gb"],tags:{brand:"Nicolas","brand:wikidata":"Q3340012","brand:wikipedia":"en:Nicolas (wine retailer)",name:"Nicolas",shop:"alcohol"}},"shop/alcohol|Oddbins":{countryCodes:["gb"],tags:{brand:"Oddbins","brand:wikidata":"Q7077472",name:"Oddbins",shop:"alcohol"}},"shop/alcohol|SAQ":{countryCodes:["ca"],nomatch:["shop/alcohol|SAQ Express","shop/alcohol|SAQ Sélection"],tags:{brand:"SAQ","brand:wikidata":"Q3488077","brand:wikipedia":"en:Société des alcools du Québec",name:"SAQ",shop:"alcohol"}},"shop/alcohol|SAQ Express":{countryCodes:["ca"],nomatch:["shop/alcohol|SAQ","shop/alcohol|SAQ Sélection"],tags:{brand:"SAQ Express","brand:wikidata":"Q3488077","brand:wikipedia":"en:Société des alcools du Québec",name:"SAQ Express",shop:"alcohol"}},"shop/alcohol|SAQ Sélection":{countryCodes:["ca"],nomatch:["shop/alcohol|SAQ","shop/alcohol|SAQ Express"],tags:{brand:"SAQ Sélection","brand:wikidata":"Q3488077","brand:wikipedia":"en:Société des alcools du Québec",name:"SAQ Sélection",shop:"alcohol"}},"shop/alcohol|Spec's":{countryCodes:["us"],tags:{brand:"Spec's","brand:wikidata":"Q7574415","brand:wikipedia":"en:Spec's Wine, Spirits & Finer Foods",name:"Spec's",shop:"alcohol"}},"shop/alcohol|Super Liquor":{countryCodes:["nz"],tags:{brand:"Super Liquor",name:"Super Liquor",shop:"alcohol"}},"shop/alcohol|Systembolaget":{countryCodes:["se"],tags:{brand:"Systembolaget","brand:wikidata":"Q1476113","brand:wikipedia":"en:Systembolaget",name:"Systembolaget",shop:"alcohol"}},"shop/alcohol|The Beer Store":{countryCodes:["ca"],tags:{brand:"The Beer Store","brand:wikidata":"Q16243674","brand:wikipedia":"en:The Beer Store",name:"The Beer Store",shop:"alcohol"}},"shop/alcohol|Thirsty Camel":{countryCodes:["au"],tags:{brand:"Thirsty Camel",name:"Thirsty Camel",shop:"alcohol"}},"shop/alcohol|Total Wine":{countryCodes:["us"],tags:{brand:"Total Wine","brand:wikidata":"Q7828084","brand:wikipedia":"en:Total Wine & More",name:"Total Wine",official_name:"Total Wine & More",shop:"alcohol"}},"shop/alcohol|Virginia ABC":{countryCodes:["us"],tags:{brand:"Virginia ABC","brand:wikidata":"Q7934236","brand:wikipedia":"en:Virginia Alcoholic Beverage Control Authority",name:"Virginia ABC",shop:"alcohol"}},"shop/alcohol|Алкомаркет":{countryCodes:["kz"],tags:{brand:"Алкомаркет",name:"Алкомаркет",shop:"alcohol"}},"shop/alcohol|Ароматный мир":{countryCodes:["ru"],tags:{brand:"Ароматный мир",name:"Ароматный мир",shop:"alcohol"}},"shop/alcohol|Бристоль":{countryCodes:["ru"],matchTags:["shop/convenience"],tags:{brand:"Бристоль","brand:wikidata":"Q59155583","brand:wikipedia":"ru:Бристоль (сеть магазинов)",name:"Бристоль",shop:"alcohol"}},"shop/alcohol|Винлаб":{countryCodes:["ru"],tags:{brand:"Винлаб",name:"Винлаб",shop:"alcohol"}},"shop/alcohol|Горилка":{countryCodes:["kz","ru"],tags:{brand:"Горилка",name:"Горилка",shop:"alcohol"}},"shop/alcohol|Градус":{countryCodes:["ru","ua"],tags:{brand:"Градус",name:"Градус",shop:"alcohol"}},"shop/alcohol|Градусы":{countryCodes:["ru"],tags:{brand:"Градусы",name:"Градусы",shop:"alcohol"}},"shop/alcohol|Красное & Белое":{countryCodes:["ru"],matchNames:["красное и белое"],tags:{brand:"Красное & Белое","brand:en":"Red&White","brand:wikidata":"Q24933790","brand:wikipedia":"en:Krasnoe & Beloe",name:"Красное & Белое","name:en":"Red&White",shop:"alcohol"}},"shop/alcohol|Кристалл":{countryCodes:["by","ru"],matchTags:["shop/convenience"],tags:{brand:"Кристалл",name:"Кристалл",shop:"alcohol"}},"shop/alcohol|Лион":{countryCodes:["ru"],tags:{brand:"Лион",name:"Лион",shop:"alcohol"}},"shop/alcohol|Норман":{countryCodes:["ru"],tags:{brand:"Норман",name:"Норман",shop:"alcohol"}},"shop/alcohol|Отдохни":{countryCodes:["ru"],tags:{brand:"Отдохни",name:"Отдохни",shop:"alcohol"}},"shop/alcohol|Чарка до свята":{tags:{brand:"Чарка до свята",name:"Чарка до свята",shop:"alcohol"}},"shop/alcohol|カクヤス":{countryCodes:["jp"],tags:{brand:"カクヤス","brand:en":"Kakuyasu","brand:ja":"カクヤス","brand:wikidata":"Q11293990","brand:wikipedia":"ja:カクヤス",name:"カクヤス","name:en":"Kakuyasu","name:ja":"カクヤス",shop:"alcohol"}},"shop/art|YellowKorner":{tags:{brand:"YellowKorner","brand:wikidata":"Q3572115","brand:wikipedia":"fr:YellowKorner",name:"YellowKorner",shop:"art"}},"shop/baby_goods|Aubert":{countryCodes:["fr"],tags:{brand:"Aubert","brand:wikidata":"Q62964657",name:"Aubert",shop:"baby_goods"}},"shop/baby_goods|Babies R Us":{countryCodes:["ca","us"],tags:{brand:"Babies R Us","brand:wikidata":"Q17232036",name:"Babies R Us",shop:"baby_goods"}},"shop/baby_goods|BabyOne":{countryCodes:["de"],tags:{brand:"BabyOne","brand:wikidata":"Q57540408",name:"BabyOne",shop:"baby_goods"}},"shop/baby_goods|Buy Buy Baby":{countryCodes:["ca","us"],tags:{brand:"Buy Buy Baby","brand:wikidata":"Q5003352","brand:wikipedia":"en:Buy Buy Baby",name:"Buy Buy Baby",shop:"baby_goods"}},"shop/baby_goods|Mothercare":{tags:{brand:"Mothercare","brand:wikidata":"Q136738","brand:wikipedia":"en:Mothercare",name:"Mothercare",shop:"baby_goods"}},"shop/baby_goods|西松屋":{countryCodes:["jp"],matchTags:["shop/clothes"],tags:{brand:"西松屋","brand:en":"Nishimatsuya Chain","brand:ja":"西松屋","brand:wikidata":"Q11628761","brand:wikipedia":"ja:西松屋",name:"西松屋","name:en":"Nishimatsuya Chain","name:ja":"西松屋",shop:"baby_goods"}},"shop/bag|Carpisa":{countryCodes:["it"],tags:{brand:"Carpisa","brand:wikidata":"Q28035409","brand:wikipedia":"en:Carpisa",name:"Carpisa",shop:"bag"}},"shop/bag|Coach":{countryCodes:["ca","us"],matchNames:["coach new york","coach ny"],tags:{brand:"Coach","brand:wikidata":"Q727697","brand:wikipedia":"en:Coach New York",name:"Coach",shop:"bag"}},"shop/bag|Kipling":{countryCodes:["be","gb"],tags:{brand:"Kipling","brand:wikidata":"Q6414641","brand:wikipedia":"en:Kipling (brand)",name:"Kipling",shop:"bag"}},"shop/bag|Samsonite":{tags:{brand:"Samsonite","brand:wikidata":"Q1203426","brand:wikipedia":"en:Samsonite",name:"Samsonite",shop:"bag"}},"shop/bag|Tumi":{tags:{brand:"Tumi","brand:wikidata":"Q4465402","brand:wikipedia":"en:Tumi Inc.",name:"Tumi",shop:"bag"}},"shop/bag|Vera Bradley":{countryCodes:["us"],tags:{brand:"Vera Bradley","brand:wikidata":"Q7920749","brand:wikipedia":"en:Vera Bradley",name:"Vera Bradley",shop:"bag"}},"shop/bakery|AILI":{countryCodes:["cn"],tags:{brand:"AILI",name:"AILI",shop:"bakery"}},"shop/bakery|Anker":{countryCodes:["at","sk"],tags:{brand:"Anker","brand:wikidata":"Q557116","brand:wikipedia":"de:Ankerbrot",name:"Anker",shop:"bakery"}},"shop/bakery|Awiteks":{countryCodes:["pl"],tags:{brand:"Awiteks","brand:wikidata":"Q62054190",name:"Awiteks",shop:"bakery"}},"shop/bakery|Backwerk":{countryCodes:["at","ch","de","gb","nl"],tags:{brand:"BackWerk","brand:wikidata":"Q798298","brand:wikipedia":"de:BackWerk",name:"Backwerk",shop:"bakery"}},"shop/bakery|Bakers Delight":{countryCodes:["au","ca","nz","us"],tags:{brand:"Bakers Delight","brand:wikidata":"Q4849261","brand:wikipedia":"en:Bakers Delight",name:"Bakers Delight",shop:"bakery"}},"shop/bakery|Bakker Bart":{countryCodes:["be","nl"],tags:{brand:"Bakker Bart","brand:wikidata":"Q2177445","brand:wikipedia":"nl:Bakker Bart",name:"Bakker Bart",shop:"bakery"}},"shop/bakery|Banette":{tags:{brand:"Banette","brand:wikidata":"Q2882405","brand:wikipedia":"fr:Banette (entreprise)",name:"Banette",shop:"bakery"}},"shop/bakery|Birds":{countryCodes:["gb"],tags:{brand:"Birds","brand:wikidata":"Q63001935","brand:wikipedia":"en:Birds Bakery",name:"Birds",official_name:"Birds Bakery",shop:"bakery"}},"shop/bakery|Breadtop":{countryCodes:["au"],tags:{brand:"Breadtop","brand:wikidata":"Q4959217","brand:wikipedia":"en:Breadtop",cuisine:"chinese",name:"Breadtop",shop:"bakery"}},"shop/bakery|Bäckerei Fuchs":{countryCodes:["de"],tags:{brand:"Bäckerei Fuchs","brand:wikidata":"Q42825993","brand:wikipedia":"de:Harald Fuchs Bäckerei – Konditorei",name:"Bäckerei Fuchs",shop:"bakery"}},"shop/bakery|Bäckerei Schmidt":{countryCodes:["de"],tags:{brand:"Bäckerei Schmidt",name:"Bäckerei Schmidt",shop:"bakery"}},"shop/bakery|Bäckerei Schneider":{countryCodes:["de"],tags:{brand:"Bäckerei Schneider",name:"Bäckerei Schneider",shop:"bakery"}},"shop/bakery|Büsch":{countryCodes:["de"],tags:{brand:"Büsch",name:"Büsch",shop:"bakery"}},"shop/bakery|COBS Bread":{countryCodes:["ca","us"],tags:{brand:"COBS Bread","brand:wikidata":"Q4849261","brand:wikipedia":"en:Bakers Delight",name:"COBS Bread",shop:"bakery"}},"shop/bakery|Cadera":{countryCodes:["de"],tags:{brand:"Cadera","brand:wikidata":"Q62086410",name:"Cadera",shop:"bakery"}},"shop/bakery|Cooplands":{countryCodes:["gb"],tags:{brand:"Cooplands","brand:wikidata":"Q5167971","brand:wikipedia":"en:Cooplands",name:"Cooplands",shop:"bakery"}},"shop/bakery|Dat Backhus":{countryCodes:["de"],tags:{brand:"Dat Backhus","brand:wikidata":"Q62093175",name:"Dat Backhus",shop:"bakery"}},"shop/bakery|Der Beck":{countryCodes:["de"],tags:{brand:"Der Beck","brand:wikidata":"Q1192443","brand:wikipedia":"en:Der Beck",name:"Der Beck",shop:"bakery"}},"shop/bakery|Der Mann":{countryCodes:["at"],tags:{brand:"Der Mann",name:"Der Mann",shop:"bakery"}},"shop/bakery|Ditsch":{countryCodes:["de"],tags:{brand:"Ditsch","brand:wikidata":"Q911573","brand:wikipedia":"en:Ditsch",name:"Ditsch",shop:"bakery"}},"shop/bakery|Fischer":{countryCodes:["be","fr"],tags:{brand:"Fischer",name:"Fischer",shop:"bakery"}},"shop/bakery|Fornetti":{tags:{brand:"Fornetti","brand:wikidata":"Q1003020","brand:wikipedia":"en:Fornetti",name:"Fornetti",shop:"bakery"}},"shop/bakery|Goeken backen":{countryCodes:["de"],tags:{brand:"Goeken backen",name:"Goeken backen",shop:"bakery"}},"shop/bakery|Goldilocks":{countryCodes:["ca","ph","th","us"],tags:{brand:"Goldilocks","brand:wikidata":"Q5580198","brand:wikipedia":"en:Goldilocks Bakeshop",name:"Goldilocks",shop:"bakery"}},"shop/bakery|Granier":{countryCodes:["es"],tags:{brand:"Granier",name:"Granier",shop:"bakery"}},"shop/bakery|Greggs":{countryCodes:["gb"],tags:{brand:"Greggs","brand:wikidata":"Q3403981","brand:wikipedia":"en:Greggs",name:"Greggs",shop:"bakery"}},"shop/bakery|Hert":{countryCodes:["pl"],tags:{brand:"Hert",name:"Hert",shop:"bakery"}},"shop/bakery|Hinnerbäcker":{countryCodes:["de"],tags:{brand:"Hinnerbäcker",name:"Hinnerbäcker",shop:"bakery"}},"shop/bakery|Hofpfisterei":{countryCodes:["de"],tags:{brand:"Hofpfisterei","brand:wikidata":"Q1623217","brand:wikipedia":"en:Hofpfisterei",name:"Hofpfisterei",shop:"bakery"}},"shop/bakery|Hosselmann":{tags:{brand:"Hosselmann",name:"Hosselmann",shop:"bakery"}},"shop/bakery|Ihle":{countryCodes:["de"],matchNames:["landbäckerei ihle"],tags:{brand:"Ihle","brand:wikidata":"Q1626371","brand:wikipedia":"de:Landbäckerei Ihle",name:"Ihle",shop:"bakery"}},"shop/bakery|Julie's Bakeshop":{countryCodes:["ph"],tags:{brand:"Julie's Bakeshop",name:"Julie's Bakeshop",shop:"bakery"}},"shop/bakery|K&U Bäckerei":{countryCodes:["de"],matchNames:["k&u"],tags:{brand:"K&U Bäckerei","brand:wikidata":"Q1719433","brand:wikipedia":"de:K & U Bäckerei",name:"K&U Bäckerei",shop:"bakery"}},"shop/bakery|Kamps":{countryCodes:["de"],tags:{brand:"Kamps","brand:wikidata":"Q1723381","brand:wikipedia":"de:Kamps (Unternehmen)",name:"Kamps",shop:"bakery"}},"shop/bakery|La Mie Câline":{countryCodes:["fr"],tags:{brand:"La Mie Câline","brand:wikidata":"Q3210704","brand:wikipedia":"fr:La Mie câline",name:"La Mie Câline",shop:"bakery"}},"shop/bakery|Le Crobag":{countryCodes:["at","de","pl","ru"],tags:{brand:"Le Crobag","brand:wikidata":"Q1558025","brand:wikipedia":"de:Le Crobag",name:"Le Crobag",shop:"bakery"}},"shop/bakery|Le Fournil":{countryCodes:["fr"],tags:{brand:"Le Fournil",name:"Le Fournil",shop:"bakery"}},"shop/bakery|Lila Bäcker":{countryCodes:["de"],tags:{brand:"Lila Bäcker","brand:wikidata":"Q57516591",name:"Lila Bäcker",shop:"bakery"}},"shop/bakery|Lipóti Pékség":{countryCodes:["hu"],tags:{brand:"Lipóti Pékség",name:"Lipóti Pékség",shop:"bakery"}},"shop/bakery|Löwenbäcker Schaper":{countryCodes:["de"],matchNames:["schaper"],tags:{brand:"Löwenbäcker Schaper","brand:wikidata":"Q62075965",name:"Löwenbäcker Schaper",shop:"bakery"}},"shop/bakery|Marie Blachère":{countryCodes:["fr"],tags:{brand:"Marie Blachère","brand:wikidata":"Q62082410",name:"Marie Blachère",shop:"bakery"}},"shop/bakery|Mlinar":{countryCodes:["ba","hr","sl"],tags:{brand:"Mlinar","brand:wikidata":"Q62082464",name:"Mlinar",shop:"bakery"}},"shop/bakery|Musmanni":{countryCodes:["cr"],tags:{brand:"Musmanni","brand:wikidata":"Q19382082","brand:wikipedia":"no:Musmanni",name:"Musmanni",shop:"bakery"}},"shop/bakery|Nothing Bundt Cakes":{countryCodes:["ca","us"],tags:{brand:"Nothing Bundt Cakes","brand:wikidata":"Q62082526",name:"Nothing Bundt Cakes",shop:"bakery"}},"shop/bakery|Nur Hier":{countryCodes:["de"],tags:{brand:"Nur Hier",name:"Nur Hier",shop:"bakery"}},"shop/bakery|Oebel":{countryCodes:["de"],tags:{brand:"Oebel",name:"Oebel",shop:"bakery"}},"shop/bakery|Pan de Manila":{countryCodes:["ph"],tags:{brand:"Pan de Manila",name:"Pan de Manila",shop:"bakery"}},"shop/bakery|Paris Baguette~(worldwide)":{countryCodes:["sg","us","vn"],matchNames:["paris baguette cafe"],nomatch:["shop/bakery|巴黎贝甜","shop/bakery|파리바게뜨"],tags:{brand:"Paris Baguette","brand:wikidata":"Q62605260",name:"Paris Baguette",shop:"bakery"}},"shop/bakery|Paul":{tags:{brand:"Paul","brand:wikidata":"Q3370417","brand:wikipedia":"en:Paul (bakery)",name:"Paul",shop:"bakery"}},"shop/bakery|Red Ribbon":{countryCodes:["ph","us"],tags:{brand:"Red Ribbon","brand:wikidata":"Q7304789","brand:wikipedia":"en:Red Ribbon Bakeshop",name:"Red Ribbon",shop:"bakery"}},"shop/bakery|Ronde des Pains":{countryCodes:["be","fr"],tags:{brand:"Ronde des Pains","brand:wikidata":"Q3441707","brand:wikipedia":"fr:Ronde des Pains",name:"Ronde des Pains",shop:"bakery"}},"shop/bakery|Schäfer's":{countryCodes:["de"],matchNames:["schäfer"],tags:{brand:"Schäfer's","brand:wikidata":"Q1464562","brand:wikipedia":"de:Schäfers Brot",name:"Schäfer's",shop:"bakery"}},"shop/bakery|Sehne":{countryCodes:["de"],tags:{brand:"Sehne","brand:wikidata":"Q1314761","brand:wikipedia":"de:Sehne Backwaren",name:"Sehne",shop:"bakery"}},"shop/bakery|Steinecke":{countryCodes:["de"],tags:{brand:"Steinecke","brand:wikidata":"Q57516278","brand:wikipedia":"de:Meisterbäckerei Steinecke",name:"Steinecke",shop:"bakery"}},"shop/bakery|Sternenbäck":{countryCodes:["de"],tags:{brand:"Sternenbäck","brand:wikidata":"Q62595021",name:"Sternenbäck",shop:"bakery"}},"shop/bakery|Ströck":{countryCodes:["at"],tags:{brand:"Ströck","brand:wikidata":"Q2357607","brand:wikipedia":"de:Ströck-Brot",name:"Ströck",shop:"bakery"}},"shop/bakery|Wiener Feinbäcker":{countryCodes:["de"],tags:{brand:"Wiener Feinbäcker","brand:wikidata":"Q15854357","brand:wikipedia":"de:Wiener Feinbäckerei Heberer",name:"Wiener Feinbäcker",shop:"bakery"}},"shop/bakery|Woops!":{countryCodes:["us"],tags:{brand:"Woops!",name:"Woops!",shop:"bakery"}},"shop/bakery|von Allwörden":{countryCodes:["de"],tags:{brand:"von Allwörden","brand:wikidata":"Q60411349","brand:wikipedia":"nds:Heinrich von Allwörden GmbH",name:"von Allwörden",shop:"bakery"}},"shop/bakery|Булочная Ф. Вольчека":{countryCodes:["ru"],tags:{brand:"Булочная Ф. Вольчека",name:"Булочная Ф. Вольчека",shop:"bakery"}},"shop/bakery|Кулинария":{tags:{brand:"Кулинария",name:"Кулинария",shop:"bakery"}},"shop/bakery|Кулиничи":{countryCodes:["ua"],tags:{brand:"Кулиничи",name:"Кулиничи",shop:"bakery"}},"shop/bakery|Кулиничі":{countryCodes:["ua"],tags:{brand:"Кулиничі",name:"Кулиничі",shop:"bakery"}},"shop/bakery|サンジェルマン":{countryCodes:["jp"],tags:{brand:"サンジェルマン","brand:en":"Saint-Germain","brand:ja":"サンジェルマン","brand:wikidata":"Q11305612","brand:wikipedia":"ja:サンジェルマン (製パン)",name:"サンジェルマン","name:en":"Saint-Germain","name:ja":"サンジェルマン",shop:"bakery"}},"shop/bakery|ヴィ・ド・フランス":{countryCodes:["jp"],tags:{brand:"ヴィ・ド・フランス","brand:en":"Vie de France","brand:ja":"ヴィ・ド・フランス","brand:wikidata":"Q7928249","brand:wikipedia":"ja:ヴィ・ド・フランス",name:"ヴィ・ド・フランス","name:en":"Vie de France","name:ja":"ヴィ・ド・フランス",shop:"bakery"}},"shop/bakery|巴黎贝甜~(China)":{countryCodes:["cn"],matchNames:["paris baguette","paris baguette cafe","巴黎貝甜"],nomatch:["shop/bakery|Paris Baguette","shop/bakery|파리바게뜨"],tags:{brand:"巴黎贝甜","brand:en":"Paris Baguette","brand:wikidata":"Q62605260","brand:zh":"巴黎贝甜",name:"巴黎贝甜","name:en":"Paris Baguette","name:zh":"巴黎贝甜",shop:"bakery"}},"shop/bakery|뚜레쥬르":{countryCodes:["kr"],matchNames:["뚜레주르"],tags:{brand:"뚜레쥬르","brand:en":"Tous Les Jours","brand:ko":"뚜레쥬르","brand:wikidata":"Q3535609","brand:wikipedia":"ko:뚜레쥬르",name:"뚜레쥬르","name:en":"Tous Les Jours","name:ko":"뚜레쥬르",shop:"bakery"}},"shop/bakery|파리바게뜨~(South Korea)":{countryCodes:["kr"],matchNames:["paris baguette","paris baguette cafe","파리바게트"],nomatch:["shop/bakery|Paris Baguette","shop/bakery|巴黎贝甜"],tags:{"alt_name:ko":"파리바게트",brand:"파리바게뜨","brand:en":"Paris Baguette","brand:ko":"파리바게뜨","brand:wikidata":"Q62605260",name:"파리바게뜨","name:en":"Paris Baguette","name:ko":"파리바게뜨",shop:"bakery"}},"shop/beauty|Benefit Brow Bar":{countryCodes:["us"],matchNames:["benefit","ulta brow bar"],tags:{beauty:"eyebrow;eyelash;waxing",brand:"Benefit","brand:wikidata":"Q2895769","brand:wikipedia":"en:Benefit Cosmetics",name:"Benefit Brow Bar",shop:"beauty"}},"shop/beauty|European Wax Center":{countryCodes:["us"],tags:{beauty:"waxing",brand:"European Wax Center","brand:wikidata":"Q5413426","brand:wikipedia":"en:European Wax Center",name:"European Wax Center",shop:"beauty"}},"shop/beauty|Hollywood Nails":{countryCodes:["de","gb","us"],tags:{beauty:"nails",brand:"Hollywood Nails",name:"Hollywood Nails",shop:"beauty"}},"shop/beauty|Indigo Sun":{countryCodes:["gb"],tags:{beauty:"tanning",brand:"Indigo Sun","brand:wikidata":"Q63436906",name:"Indigo Sun",shop:"beauty"}},"shop/beauty|Sola Salons":{countryCodes:["us"],matchNames:["sola","sola salon studios"],tags:{beauty:"hair;nails;skin_care;massage",brand:"Sola Salons","brand:wikidata":"Q64337426",name:"Sola Salons",shop:"beauty"}},"shop/beauty|Star Nails":{tags:{beauty:"nails",brand:"Star Nails",name:"Star Nails",shop:"beauty"}},"shop/beauty|The Skin Bar at Ulta Beauty":{countryCodes:["us"],nomatch:["shop/beauty|Ulta Beauty"],tags:{alt_name:"Ulta Skin Bar",beauty:"skin_care",brand:"Ulta Beauty","brand:wikidata":"Q7880076","brand:wikipedia":"en:Ulta Beauty",name:"The Skin Bar at Ulta Beauty",shop:"beauty"}},"shop/beauty|Yves Rocher":{matchTags:["shop/chemist","shop/cosmetics"],tags:{beauty:"cosmetics",brand:"Yves Rocher","brand:wikidata":"Q28496595","brand:wikipedia":"en:Yves Rocher (company)",name:"Yves Rocher",shop:"beauty"}},"shop/bed|Casper":{tags:{brand:"Casper","brand:wikidata":"Q20539294","brand:wikipedia":"en:Casper Sleep",name:"Casper",shop:"bed"}},"shop/bed|Dreams":{countryCodes:["gb"],tags:{brand:"Dreams","brand:wikidata":"Q5306688","brand:wikipedia":"en:Dreams (bed retailer)",name:"Dreams",shop:"bed"}},"shop/bed|Matratzen Concord":{countryCodes:["at","ch","de"],tags:{brand:"Matratzen Concord","brand:wikidata":"Q18629057","brand:wikipedia":"de:Matratzen Concord",name:"Matratzen Concord",shop:"bed"}},"shop/bed|Mattress Firm":{countryCodes:["us"],matchNames:["sleepys"],tags:{brand:"Mattress Firm","brand:wikidata":"Q6791878","brand:wikipedia":"en:Mattress Firm",name:"Mattress Firm",shop:"bed"}},"shop/bed|Mattress Warehouse":{countryCodes:["us"],tags:{brand:"Mattress Warehouse","brand:wikidata":"Q61995079",name:"Mattress Warehouse",shop:"bed"}},"shop/bed|Sleep Country":{countryCodes:["ca"],matchNames:["Sleep Country Canada"],tags:{brand:"Sleep Country","brand:wikidata":"Q7539684","brand:wikipedia":"en:Sleep Country Canada",name:"Sleep Country",shop:"bed"}},"shop/bed|Sleep Number":{countryCodes:["us"],tags:{brand:"Sleep Number","brand:wikidata":"Q7447640","brand:wikipedia":"en:Sleep Number",name:"Sleep Number",shop:"bed"}},"shop/beverages|50嵐":{countryCodes:["cn","tw"],tags:{brand:"50嵐",name:"50嵐",shop:"beverages"}},"shop/beverages|Dursty":{countryCodes:["de"],tags:{brand:"Dursty","brand:wikidata":"Q1267518","brand:wikipedia":"de:Dursty Getränkemärkte",name:"Dursty",shop:"beverages"}},"shop/beverages|Edeka Getränkemarkt":{countryCodes:["de"],tags:{brand:"Edeka Getränkemarkt","brand:wikidata":"Q57450576",name:"Edeka Getränkemarkt",shop:"beverages"}},"shop/beverages|Fristo":{countryCodes:["at","de"],matchNames:["fristo getränkemarkt"],tags:{brand:"Fristo","brand:wikidata":"Q1465151","brand:wikipedia":"de:Fristo",name:"Fristo",shop:"beverages"}},"shop/beverages|Getränke Hoffmann":{countryCodes:["de"],tags:{brand:"Getränke Hoffmann","brand:wikidata":"Q19284021","brand:wikipedia":"de:Getränke Hoffmann",name:"Getränke Hoffmann",shop:"beverages"}},"shop/beverages|Getränkeland":{countryCodes:["de"],tags:{brand:"Getränkeland","brand:wikidata":"Q62594849",name:"Getränkeland",shop:"beverages"}},"shop/beverages|Hol'ab":{countryCodes:["de"],tags:{brand:"Hol'ab","brand:wikidata":"Q57557270",name:"Hol'ab",shop:"beverages"}},"shop/beverages|Orterer Getränkemarkt":{countryCodes:["de"],tags:{brand:"Orterer Getränkemarkt","brand:wikidata":"Q23787118","brand:wikipedia":"de:Orterer Gruppe",name:"Orterer Getränkemarkt",shop:"beverages"}},"shop/beverages|Rewe Getränkemarkt":{countryCodes:["de"],tags:{brand:"Rewe Getränkemarkt","brand:wikidata":"Q57519344",name:"Rewe Getränkemarkt",shop:"beverages"}},"shop/beverages|Trinkgut":{countryCodes:["de"],tags:{brand:"Trinkgut","brand:wikidata":"Q2453627","brand:wikipedia":"de:Trinkgut",name:"Trinkgut",shop:"beverages"}},"shop/beverages|大苑子":{tags:{brand:"大苑子",name:"大苑子",shop:"beverages"}},"shop/beverages|清心福全":{countryCodes:["tw"],tags:{brand:"清心福全","brand:en":"Ching Shin","brand:wikidata":"Q10391229","brand:wikipedia":"zh:清心福全冷飲站","brand:zh":"清心福全",name:"清心福全","name:en":"Ching Shin","name:zh":"清心福全",shop:"beverages"}},"shop/beverages|茶湯會":{countryCodes:["tw"],tags:{brand:"茶湯會",name:"茶湯會",shop:"beverages"}},"shop/bicycle|Evans Cycles":{countryCodes:["gb"],tags:{brand:"Evans Cycles","brand:wikidata":"Q5415901","brand:wikipedia":"en:Evans Cycles",name:"Evans Cycles",shop:"bicycle"}},"shop/bicycle|Fri BikeShop":{countryCodes:["dk"],tags:{brand:"Fri BikeShop","brand:wikidata":"Q26721030",name:"Fri BikeShop",shop:"bicycle"}},"shop/bicycle|Giant":{nomatch:["amenity/fuel|Giant","shop/supermarket|Giant"],tags:{brand:"Giant","brand:wikidata":"Q703557","brand:wikipedia":"en:Giant Bicycles",name:"Giant",shop:"bicycle"}},"shop/bicycle|Trek":{matchNames:["treck","trek bicycle"],tags:{alt_name:"Trek Bicycle Store",brand:"Trek","brand:wikidata":"Q1067617","brand:wikipedia":"en:Trek Bicycle Corporation",name:"Trek",shop:"bicycle"}},"shop/bicycle|サイクルベースあさひ":{countryCodes:["jp"],tags:{brand:"サイクルベースあさひ","brand:en":"Cycle Base Asahi","brand:ja":"サイクルベースあさひ","brand:wikidata":"Q11257202","brand:wikipedia":"ja:あさひ (企業)",name:"サイクルベースあさひ","name:en":"Cycle Base Asahi","name:ja":"サイクルベースあさひ",shop:"bicycle"}},"shop/bookmaker|Betfred":{countryCodes:["gb"],tags:{brand:"Betfred","brand:wikidata":"Q4897425","brand:wikipedia":"en:Betfred",name:"Betfred",shop:"bookmaker"}},"shop/bookmaker|Coral":{countryCodes:["gb"],tags:{brand:"Coral","brand:wikidata":"Q54621344","brand:wikipedia":"en:Coral (bookmaker)",name:"Coral",shop:"bookmaker"}},"shop/bookmaker|Fortuna":{countryCodes:["cz","hr","pl","ro","sk"],tags:{brand:"Fortuna","brand:wikidata":"Q25857973","brand:wikipedia":"en:Fortuna Entertainment Group",name:"Fortuna",shop:"bookmaker"}},"shop/bookmaker|Ladbrokes":{countryCodes:["gb"],tags:{brand:"Ladbrokes","brand:wikidata":"Q1799875","brand:wikipedia":"en:Ladbrokes Coral",name:"Ladbrokes",shop:"bookmaker"}},"shop/bookmaker|Paddy Power":{countryCodes:["gb","ie"],tags:{brand:"Paddy Power","brand:wikidata":"Q3888718","brand:wikipedia":"en:Paddy Power",name:"Paddy Power",shop:"bookmaker"}},"shop/bookmaker|Tipico":{countryCodes:["at","co","de","gi","hr","mt"],tags:{brand:"Tipico","brand:wikidata":"Q15851003","brand:wikipedia":"en:Tipico",name:"Tipico",shop:"bookmaker"}},"shop/bookmaker|William Hill":{countryCodes:["gb"],tags:{brand:"William Hill","brand:wikidata":"Q4053147","brand:wikipedia":"en:William Hill (bookmaker)",name:"William Hill",shop:"bookmaker"}},"shop/bookmaker|ΟΠΑΠ":{countryCodes:["gr"],tags:{brand:"ΟΠΑΠ","brand:el":"ΟΠΑΠ","brand:en":"OPAP","brand:wikidata":"Q2007823","brand:wikipedia":"en:OPAP",name:"ΟΠΑΠ","name:el":"ΟΠΑΠ","name:en":"OPAP",shop:"bookmaker"}},"shop/bookmaker|Лига ставок":{countryCodes:["ru"],tags:{brand:"Лига ставок","brand:en":"Liga Stavok","brand:ru":"Лига ставок","brand:wikidata":"Q6545804","brand:wikipedia":"ru:Лига Ставок",name:"Лига ставок","name:en":"Liga Stavok","name:ru":"Лига ставок",shop:"bookmaker"}},"shop/bookmaker|Фонбет":{countryCodes:["ru"],tags:{brand:"Фонбет","brand:en":"Fonbet","brand:ru":"Фонбет","brand:wikidata":"Q49137910","brand:wikipedia":"ru:Фонбет",name:"Фонбет","name:en":"Fonbet","name:ru":"Фонбет",shop:"bookmaker"}},"shop/books|Akademibokhandeln":{countryCodes:["se"],tags:{brand:"Akademibokhandeln","brand:wikidata":"Q10403918","brand:wikipedia":"sv:Akademibokhandeln",name:"Akademibokhandeln",shop:"books"}},"shop/books|Akateeminen Kirjakauppa":{countryCodes:["fi"],tags:{brand:"Akateeminen Kirjakauppa","brand:wikidata":"Q10403942","brand:wikipedia":"fi:Akateeminen Kirjakauppa",name:"Akateeminen Kirjakauppa",shop:"books"}},"shop/books|Barnes & Noble":{countryCodes:["us"],tags:{brand:"Barnes & Noble","brand:wikidata":"Q795454","brand:wikipedia":"en:Barnes & Noble",name:"Barnes & Noble",shop:"books"}},"shop/books|Books-A-Million":{countryCodes:["us"],tags:{brand:"Books-A-Million","brand:wikidata":"Q4943266","brand:wikipedia":"en:Books-A-Million",name:"Books-A-Million",shop:"books"}},"shop/books|Bruna":{countryCodes:["nl"],tags:{brand:"Bruna","brand:wikidata":"Q3317555","brand:wikipedia":"en:Bruna (company)",name:"Bruna",shop:"books"}},"shop/books|Chapters":{countryCodes:["ca","us"],tags:{brand:"Chapters","brand:wikidata":"Q5073540","brand:wikipedia":"en:Chapters (bookstore)",name:"Chapters",shop:"books"}},"shop/books|Cultura":{countryCodes:["fr"],tags:{brand:"Cultura","brand:wikidata":"Q3007154","brand:wikipedia":"fr:Cultura",name:"Cultura",shop:"books"}},"shop/books|Empik":{countryCodes:["pl"],tags:{brand:"Empik","brand:wikidata":"Q3045978","brand:wikipedia":"pl:Empik",name:"Empik",shop:"books"}},"shop/books|Fnac":{countryCodes:["be","ch","es","fr","nl","pt"],tags:{brand:"Fnac","brand:wikidata":"Q676585","brand:wikipedia":"en:Fnac",name:"Fnac",shop:"books"}},"shop/books|Half Price Books":{countryCodes:["us"],tags:{brand:"Half Price Books","brand:wikidata":"Q5641744","brand:wikipedia":"en:Half Price Books",name:"Half Price Books",shop:"books"}},"shop/books|Hugendubel":{countryCodes:["de"],tags:{brand:"Hugendubel","brand:wikidata":"Q1634142","brand:wikipedia":"en:Hugendubel",name:"Hugendubel",shop:"books"}},"shop/books|Indigo":{countryCodes:["ca","us"],tags:{alt_name:"!ndigo",brand:"Indigo","brand:wikidata":"Q2477358","brand:wikipedia":"en:Indigo Books and Music",name:"Indigo",shop:"books"}},"shop/books|Mondadori":{countryCodes:["it"],tags:{brand:"Mondadori","brand:wikidata":"Q85355","brand:wikipedia":"en:Arnoldo Mondadori Editore",name:"Mondadori",shop:"books"}},"shop/books|National Book Store":{countryCodes:["ph"],tags:{brand:"National Book Store","brand:wikidata":"Q6971094","brand:wikipedia":"en:National Book Store",name:"National Book Store",shop:"books"}},"shop/books|Standaard Boekhandel":{countryCodes:["be"],tags:{brand:"Standaard Boekhandel","brand:wikidata":"Q3496554","brand:wikipedia":"nl:Standaard Boekhandel",name:"Standaard Boekhandel",shop:"books"}},"shop/books|Suomalainen Kirjakauppa":{countryCodes:["fi"],tags:{brand:"Suomalainen Kirjakauppa","brand:wikidata":"Q7641808","brand:wikipedia":"fi:Suomalainen Kirjakauppa",name:"Suomalainen Kirjakauppa",shop:"books"}},"shop/books|TSUTAYA":{countryCodes:["jp"],nomatch:["shop/music|TSUTAYA","shop/video|TSUTAYA"],tags:{brand:"TSUTAYA","brand:wikidata":"Q5193457","brand:wikipedia":"ja:カルチュア・コンビニエンス・クラブ",name:"TSUTAYA",shop:"books"}},"shop/books|Thalia":{countryCodes:["at","ch","de"],tags:{brand:"Thalia","brand:wikidata":"Q2408854","brand:wikipedia":"de:Thalia Bücher",name:"Thalia",shop:"books"}},"shop/books|The Works":{countryCodes:["gb","ie"],tags:{brand:"The Works","brand:wikidata":"Q7775853","brand:wikipedia":"en:The Works (retailer)",name:"The Works",shop:"books"}},"shop/books|Waterstones":{countryCodes:["be","gb","ie","je","nl"],tags:{brand:"Waterstones","brand:wikidata":"Q151779","brand:wikipedia":"en:Waterstones",name:"Waterstones",shop:"books"}},"shop/books|Weltbild":{countryCodes:["de"],tags:{brand:"Weltbild","brand:wikidata":"Q883522","brand:wikipedia":"en:Weltbild Publishing Group",name:"Weltbild",shop:"books"}},"shop/books|Буквоед":{countryCodes:["ru"],tags:{brand:"Буквоед","brand:wikidata":"Q4098549","brand:wikipedia":"ru:Буквоед",name:"Буквоед",shop:"books"}},"shop/books|Дом книги":{countryCodes:["ru"],tags:{brand:"Дом книги","brand:wikidata":"Q48950742","brand:wikipedia":"ru:Московский дом книги",name:"Дом книги",shop:"books"}},"shop/books|Читай-город":{countryCodes:["ru"],tags:{brand:"Читай-город","brand:wikidata":"Q4516645","brand:wikipedia":"ru:Читай-город",name:"Читай-город",shop:"books"}},"shop/books|סטימצקי":{countryCodes:["il"],tags:{brand:"סטימצקי","brand:en":"Steimatzky","brand:he":"סטימצקי","brand:wikidata":"Q2903995","brand:wikipedia":"he:סטימצקי",name:"סטימצקי","name:en":"Steimatzky","name:he":"סטימצקי",shop:"books"}},"shop/books|צומת ספרים":{countryCodes:["il"],matchNames:["Zomet Sfarim"],tags:{brand:"צומת ספרים","brand:en":"Tzomet Sfarim","brand:he":"צומת ספרים","brand:wikidata":"Q6743833","brand:wikipedia":"he:צומת ספרים",name:"צומת ספרים","name:en":"Tzomet Sfarm","name:he":"צומת ספרים",shop:"books"}},"shop/books|あおい書店":{countryCodes:["jp"],tags:{brand:"あおい書店","brand:en":"AOI","brand:ja":"あおい書店","brand:wikidata":"Q11256783","brand:wikipedia":"ja:あおい書店",name:"あおい書店","name:en":"AOI","name:ja":"あおい書店",shop:"books"}},"shop/books|ブックオフ":{countryCodes:["jp"],tags:{brand:"ブックオフ","brand:en":"Book Off","brand:ja":"ブックオフ","brand:wikidata":"Q893011","brand:wikipedia":"en:Book Off",name:"ブックオフ","name:en":"Book Off","name:ja":"ブックオフ",shop:"books"}},"shop/books|メロンブックス":{countryCodes:["jp"],tags:{brand:"メロンブックス","brand:en":"Melonbooks","brand:ja":"メロンブックス","brand:wikidata":"Q10851653","brand:wikipedia":"ja:メロンブックス",name:"メロンブックス","name:en":"Melonbooks","name:ja":"メロンブックス",shop:"books"}},"shop/books|リブロ":{countryCodes:["jp"],tags:{brand:"リブロ","brand:en":"LIBRO","brand:ja":"リブロ","brand:wikidata":"Q6542768","brand:wikipedia":"ja:リブロ",name:"リブロ","name:en":"Libro","name:ja":"リブロ",shop:"books"}},"shop/books|三省堂書店":{countryCodes:["jp"],tags:{brand:"三省堂書店","brand:en":"Books Sanseido","brand:ja":"三省堂書店","brand:wikidata":"Q10866539","brand:wikipedia":"ja:三省堂書店",name:"三省堂書店","name:en":"Books Sanseido","name:ja":"三省堂書店",shop:"books"}},"shop/books|文教堂":{countryCodes:["jp"],tags:{brand:"文教堂","brand:en":"Bunkyodo","brand:ja":"文教堂","brand:wikidata":"Q11499974","brand:wikipedia":"ja:文教堂",name:"文教堂","name:en":"Bunkyodo","name:ja":"文教堂",shop:"books"}},"shop/books|新华书店":{countryCodes:["cn"],tags:{brand:"新华书店","brand:en":"Xinhua Bookstore","brand:wikidata":"Q6124193","brand:wikipedia":"en:Xinhua Bookstore","brand:zh":"新华书店",name:"新华书店","name:en":"Xinhua Bookstore","name:zh":"新华书店",shop:"books"}},"shop/books|未来屋書店":{countryCodes:["jp"],tags:{brand:"未来屋書店","brand:en":"Miraiya Shoten","brand:ja":"未来屋書店","brand:wikidata":"Q11519563","brand:wikipedia":"ja:未来屋書店",name:"未来屋書店","name:en":"Miraiya Shoten","name:ja":"未来屋書店",shop:"books"}},"shop/butcher|Coqivoire":{countryCodes:["ci"],tags:{brand:"Coqivoire","brand:wikidata":"Q60183284",butcher:"poultry",name:"Coqivoire",shop:"butcher"}},"shop/butcher|Fleischerei Richter":{countryCodes:["de"],tags:{brand:"Fleischerei Richter",name:"Fleischerei Richter",shop:"butcher"}},"shop/butcher|Foani":{countryCodes:["ci"],tags:{brand:"Foani","brand:wikidata":"Q60183335",butcher:"poultry",name:"Foani",shop:"butcher"}},"shop/butcher|Gzella":{countryCodes:["pl"],tags:{brand:"Gzella",name:"Gzella",shop:"butcher"}},"shop/butcher|M&M Food Market":{countryCodes:["ca"],tags:{brand:"M&M Food Market","brand:wikidata":"Q6711827","brand:wikipedia":"en:M&M Food Market",name:"M&M Food Market",shop:"butcher"}},"shop/butcher|Vinzenzmurr":{countryCodes:["de"],tags:{brand:"Vinzenzmurr","brand:wikidata":"Q2527361","brand:wikipedia":"de:Vinzenzmurr",name:"Vinzenzmurr",shop:"butcher"}},"shop/butcher|Ариант":{countryCodes:["ru"],tags:{brand:"Ариант",name:"Ариант",shop:"butcher"}},"shop/butcher|Великолукский мясокомбинат":{countryCodes:["ru"],tags:{brand:"Великолукский мясокомбинат","brand:wikidata":"Q18401767","brand:wikipedia":"ru:Великолукский мясокомбинат",name:"Великолукский мясокомбинат",shop:"butcher"}},"shop/butcher|Мясницкий ряд":{countryCodes:["ru"],tags:{brand:"Мясницкий ряд",name:"Мясницкий ряд",shop:"butcher"}},"shop/butcher|Наша Ряба":{countryCodes:["ua"],tags:{brand:"Наша Ряба",name:"Наша Ряба",shop:"butcher"}},"shop/butcher|Родинна ковбаска":{countryCodes:["ua"],tags:{brand:"Родинна ковбаска","brand:en":"Rodynna-kovbaska","brand:wikidata":"Q30969660","brand:wikipedia":"uk:ТзОВ «Барком»",name:"Родинна ковбаска","name:en":"Rodynna-kovbaska",shop:"butcher"}},"shop/butcher|肉のハナマサ":{countryCodes:["jp"],matchNames:["ハナマサ"],tags:{brand:"ハナマサ","brand:en":"Hanamasa","brand:ja":"ハナマサ","brand:wikidata":"Q11326564","brand:wikipedia":"ja:ハナマサ",butcher:"beef",name:"肉のハナマサ","name:en":"Hanamasa Meat","name:ja":"肉のハナマサ",shop:"butcher"}},"shop/candles|Yankee Candle":{countryCodes:["ca","gb","us"],tags:{brand:"Yankee Candle","brand:wikidata":"Q8048733","brand:wikipedia":"en:Yankee Candle",name:"Yankee Candle",shop:"candles"}},"shop/car_parts|Advance Auto Parts":{countryCodes:["ca","us","vi"],tags:{brand:"Advance Auto Parts","brand:wikidata":"Q4686051","brand:wikipedia":"en:Advance Auto Parts",name:"Advance Auto Parts",shop:"car_parts"}},"shop/car_parts|Auto Plus":{countryCodes:["us"],tags:{brand:"Auto Plus","brand:wikidata":"Q65121114",name:"Auto Plus",official_name:"Auto Plus Auto Parts",shop:"car_parts"}},"shop/car_parts|AutoZone":{countryCodes:["br","mx","us"],tags:{brand:"AutoZone","brand:wikidata":"Q4826087","brand:wikipedia":"en:AutoZone",name:"AutoZone",shop:"car_parts"}},"shop/car_parts|Brezan":{countryCodes:["be","nl"],tags:{brand:"Brezan",name:"Brezan",shop:"car_parts"}},"shop/car_parts|Halfords":{countryCodes:["gb","ie"],matchTags:["shop/bicycle"],nomatch:["shop/car_repair|Halfords Autocentre"],tags:{brand:"Halfords","brand:wikidata":"Q3398786","brand:wikipedia":"en:Halfords",name:"Halfords","service:bicycle:retail":"yes",shop:"car_parts"}},"shop/car_parts|KOI Auto Parts":{countryCodes:["us"],tags:{brand:"KOI Auto Parts","brand:wikidata":"Q6334934","brand:wikipedia":"en:KOI Auto Parts",name:"KOI Auto Parts",shop:"car_parts",short_name:"KOI"}},"shop/car_parts|Lubrificantes":{countryCodes:["ao"],tags:{brand:"Lubrificantes",name:"Lubrificantes",shop:"car_parts"}},"shop/car_parts|NAPA Auto Parts":{countryCodes:["ca","mx","us"],matchNames:["napa"],tags:{brand:"NAPA Auto Parts","brand:wikidata":"Q6970842","brand:wikipedia":"en:National Automotive Parts Association",name:"NAPA Auto Parts",shop:"car_parts"}},"shop/car_parts|O'Reilly Auto Parts":{countryCodes:["us"],matchNames:["o'reilly"],tags:{brand:"O'Reilly Auto Parts","brand:wikidata":"Q7071951","brand:wikipedia":"en:O'Reilly Auto Parts",name:"O'Reilly Auto Parts",shop:"car_parts"}},"shop/car_parts|Repco":{countryCodes:["au","nz"],tags:{brand:"Repco","brand:wikidata":"Q173425","brand:wikipedia":"en:Repco",name:"Repco",shop:"car_parts"}},"shop/car_parts|Supercheap Auto":{countryCodes:["au","nz"],tags:{brand:"Supercheap Auto","brand:wikidata":"Q7643119","brand:wikipedia":"en:Supercheap Auto",name:"Supercheap Auto",shop:"car_parts"}},"shop/car_parts|Tokić":{countryCodes:["ba","hr"],tags:{brand:"Tokić",name:"Tokić",shop:"car_parts"}},"shop/car_parts|Автомир":{countryCodes:["ru"],tags:{brand:"Автомир","brand:wikidata":"Q4056321","brand:wikipedia":"ru:Автомир (автодилер)",name:"Автомир",shop:"car_parts"}},"shop/car_parts|Армтек":{countryCodes:["ru"],tags:{brand:"Армтек",name:"Армтек",shop:"car_parts"}},"shop/car_parts|イエローハット":{countryCodes:["jp"],tags:{brand:"イエローハット","brand:en":"Yellow Hat","brand:ja":"イエローハット","brand:wikidata":"Q11285915","brand:wikipedia":"ja:イエローハット",name:"イエローハット","name:en":"Yellow Hat","name:ja":"イエローハット",shop:"car_parts"}},"shop/car_parts|オートバックス":{countryCodes:["jp"],tags:{brand:"オートバックス","brand:en":"Autobacs","brand:ja":"オートバックス","brand:wikidata":"Q7886426","brand:wikipedia":"ja:オートバックスセブン",name:"オートバックス","name:en":"Autobacs","name:ja":"オートバックス",shop:"car_parts"}},"shop/car_parts|タイヤ館":{countryCodes:["jp"],tags:{brand:"タイヤ館","brand:en":"Taiyakan","brand:ja":"タイヤ館","brand:wikidata":"Q11315808","brand:wikipedia":"ja:タイヤ館",name:"タイヤ館","name:en":"Taiyakan","name:ja":"タイヤ館",shop:"car_parts"}},"shop/car_repair|A.T.U":{countryCodes:["at","de"],matchNames:["auto-teile-unger"],tags:{brand:"A.T.U","brand:wikidata":"Q784721","brand:wikipedia":"de:Auto-Teile-Unger",name:"A.T.U",shop:"car_repair"}},"shop/car_repair|AAMCO":{countryCodes:["ca","us"],matchNames:["aamco transmissions","aamco transmissions and total car care"],tags:{brand:"AAMCO","brand:wikidata":"Q4649902","brand:wikipedia":"en:AAMCO Transmissions",name:"AAMCO","service:vehicle:transmission":"yes",shop:"car_repair"}},"shop/car_repair|ATS Euromaster":{countryCodes:["gb"],tags:{brand:"ATS Euromaster","brand:wikidata":"Q4654920","brand:wikipedia":"en:ATS Euromaster",name:"ATS Euromaster",shop:"car_repair"}},"shop/car_repair|BestDrive":{countryCodes:["cz","fr","sk"],tags:{brand:"BestDrive","brand:wikidata":"Q63057183",name:"BestDrive",shop:"car_repair"}},"shop/car_repair|Bosch Car Service":{matchNames:["bosch service"],tags:{brand:"Bosch Car Service","brand:wikidata":"Q234021","brand:wikipedia":"en:Robert Bosch GmbH",name:"Bosch Car Service",shop:"car_repair"}},"shop/car_repair|Brakes Plus":{countryCodes:["us"],tags:{brand:"Brakes Plus","brand:wikidata":"Q62075246",name:"Brakes Plus",shop:"car_repair"}},"shop/car_repair|Car-X":{countryCodes:["us"],tags:{brand:"Car-X","brand:wikidata":"Q63859189",name:"Car-X",shop:"car_repair"}},"shop/car_repair|Carglass":{tags:{brand:"Carglass","brand:wikidata":"Q1035997","brand:wikipedia":"de:Carglass",name:"Carglass",shop:"car_repair"}},"shop/car_repair|Carstar":{countryCodes:["ca","us"],matchNames:["carstar auto body repair experts"],tags:{brand:"Carstar","brand:wikidata":"Q64187891",name:"Carstar","service:vehicle:body_repair":"yes",shop:"car_repair"}},"shop/car_repair|Citroën":{nomatch:["shop/car|Citroën"],tags:{brand:"Citroën","brand:wikidata":"Q6746","brand:wikipedia":"fr:Citroën",name:"Citroën",shop:"car_repair"}},"shop/car_repair|Euromaster":{countryCodes:["ch","de","es","fi","fr","nl","pt"],tags:{brand:"Euromaster","brand:wikidata":"Q3060668","brand:wikipedia":"de:Euromaster",name:"Euromaster",shop:"car_repair"}},"shop/car_repair|Feu Vert":{countryCodes:["fr"],tags:{brand:"Feu Vert","brand:wikidata":"Q3070922","brand:wikipedia":"fr:Feu vert (entreprise)",name:"Feu Vert",shop:"car_repair"}},"shop/car_repair|Firestone":{countryCodes:["ca","cl","us"],tags:{brand:"Firestone","brand:wikidata":"Q420837","brand:wikipedia":"en:Firestone Tire and Rubber Company",name:"Firestone",official_name:"Firestone Complete Auto Care",shop:"car_repair"}},"shop/car_repair|Ford":{nomatch:["shop/car|Ford"],tags:{brand:"Ford","brand:wikidata":"Q44294","brand:wikipedia":"en:Ford Motor Company",name:"Ford",shop:"car_repair"}},"shop/car_repair|Goodyear":{countryCodes:["au","ca","cl","pe","us"],tags:{brand:"Goodyear","brand:wikidata":"Q620875","brand:wikipedia":"en:Goodyear Tire and Rubber Company",name:"Goodyear",shop:"car_repair"}},"shop/car_repair|Grease Monkey":{countryCodes:["cn","us"],tags:{brand:"Grease Monkey","brand:wikidata":"Q5598563","brand:wikipedia":"en:Grease Monkey (business)",name:"Grease Monkey",shop:"car_repair"}},"shop/car_repair|Halfords Autocentre":{countryCodes:["gb"],matchNames:["halfords"],nomatch:["shop/car_parts|Halfords"],tags:{brand:"Halfords Auocentre","brand:wikidata":"Q5641894","brand:wikipedia":"en:Halfords Autocentre",name:"Halfords Autocentre",shop:"car_repair"}},"shop/car_repair|Jiffy Lube":{countryCodes:["ca","us"],tags:{brand:"Jiffy Lube","brand:wikidata":"Q6192247","brand:wikipedia":"en:Jiffy Lube",name:"Jiffy Lube",shop:"car_repair"}},"shop/car_repair|Kwik Fit":{countryCodes:["gb","ie"],tags:{brand:"Kwik Fit","brand:wikidata":"Q958053","brand:wikipedia":"en:Kwik Fit",name:"Kwik Fit",shop:"car_repair"}},"shop/car_repair|MAACO":{countryCodes:["ca","us"],matchNames:["maaco collision repair & auto painting"],tags:{brand:"MAACO","brand:wikidata":"Q6714015","brand:wikipedia":"en:MAACO",name:"MAACO","service:vehicle:body_repair":"yes","service:vehicle:painting":"yes",shop:"car_repair"}},"shop/car_repair|Meineke":{countryCodes:["us"],tags:{brand:"Meineke","brand:wikidata":"Q6810159","brand:wikipedia":"en:Meineke Car Care Centers",name:"Meineke",official_name:"Meineke Car Care Center",shop:"car_repair"}},"shop/car_repair|Mekonomen":{countryCodes:["dk","no","se"],tags:{brand:"Mekonomen","brand:wikidata":"Q10580079","brand:wikipedia":"sv:Mekonomen",name:"Mekonomen",shop:"car_repair"}},"shop/car_repair|Midas":{tags:{brand:"Midas","brand:wikidata":"Q3312613","brand:wikipedia":"en:Midas (automotive service)",name:"Midas",shop:"car_repair"}},"shop/car_repair|Monro Muffler Brake":{countryCodes:["us"],matchNames:["monro"],tags:{brand:"Monro Muffler Brake","brand:wikidata":"Q6902090","brand:wikipedia":"en:Monro Muffler Brake",name:"Monro Muffler Brake",shop:"car_repair"}},"shop/car_repair|Mr. Lube":{countryCodes:["ca"],tags:{brand:"Mr. Lube","brand:wikidata":"Q17104067","brand:wikipedia":"en:Mr. Lube",name:"Mr. Lube",shop:"car_repair"}},"shop/car_repair|Norauto":{countryCodes:["ar","es","fr","hu","it","pl","pt","ro"],tags:{brand:"Norauto","brand:wikidata":"Q3317698","brand:wikipedia":"en:Mobivia Groupe",name:"Norauto",shop:"car_repair"}},"shop/car_repair|Pep Boys":{countryCodes:["us"],tags:{brand:"Pep Boys","brand:wikidata":"Q3375007","brand:wikipedia":"en:Pep Boys",name:"Pep Boys",shop:"car_repair"}},"shop/car_repair|Peugeot":{nomatch:["shop/car|Peugeot"],tags:{brand:"Peugeot","brand:wikidata":"Q6742","brand:wikipedia":"en:Peugeot",name:"Peugeot",shop:"car_repair"}},"shop/car_repair|Pit Stop":{tags:{brand:"Pit Stop",name:"Pit Stop",shop:"car_repair"}},"shop/car_repair|Point S":{tags:{brand:"Point S","brand:wikidata":"Q3393358","brand:wikipedia":"fr:Point S",name:"Point S",shop:"car_repair"}},"shop/car_repair|Renault":{matchNames:["garage renault"],nomatch:["shop/car|Renault"],tags:{brand:"Renault","brand:wikidata":"Q6686","brand:wikipedia":"en:Renault",name:"Renault",shop:"car_repair"}},"shop/car_repair|Roady":{countryCodes:["fr"],tags:{brand:"Roady","brand:wikidata":"Q3434112","brand:wikipedia":"en:Roady (Mousquetaires)",name:"Roady",shop:"car_repair"}},"shop/car_repair|Safelite AutoGlass":{countryCodes:["us"],tags:{brand:"Safelite AutoGlass","brand:wikidata":"Q28797369","brand:wikipedia":"en:Safelite",name:"Safelite AutoGlass",shop:"car_repair"}},"shop/car_repair|Sears Auto Center":{countryCodes:["mx","us"],nomatch:["shop/department_store|Sears"],tags:{brand:"Sears Auto Center","brand:wikidata":"Q6499202","brand:wikipedia":"en:Sears",name:"Sears Auto Center",shop:"car_repair"}},"shop/car_repair|Speedy":{countryCodes:["fr"],nomatch:["shop/car_repair|Speedy Auto Service"],tags:{brand:"Speedy","brand:wikidata":"Q3492969","brand:wikipedia":"fr:Speedy (entreprise)",name:"Speedy",shop:"car_repair"}},"shop/car_repair|Speedy Auto Service":{countryCodes:["ca"],nomatch:["shop/car_repair|Speedy"],tags:{brand:"Speedy Auto Service","brand:wikidata":"Q22318193",name:"Speedy Auto Service",shop:"car_repair"}},"shop/car_repair|Taller Mecanico":{tags:{brand:"Taller Mecanico",name:"Taller Mecanico",shop:"car_repair"}},"shop/car_repair|Toyota":{nomatch:["shop/car|Toyota"],tags:{brand:"Toyota","brand:wikidata":"Q53268","brand:wikipedia":"en:Toyota",name:"Toyota",shop:"car_repair"}},"shop/car_repair|Tuffy":{countryCodes:["us"],matchNames:["tuffy auto service","tuffy auto service center","tuffy auto service centers","tuffy service","tuffy service center","tuffy service centers","tuffy tire and auto service","tuffy tire and auto service center","tuffy tire and auto service centers"],tags:{brand:"Tuffy","brand:wikidata":"Q17125314","brand:wikipedia":"en:Tuffy Auto Service Centers",name:"Tuffy",shop:"car_repair"}},"shop/car_repair|Valvoline":{countryCodes:["us"],tags:{brand:"Valvoline","brand:wikidata":"Q7912852","brand:wikipedia":"en:Valvoline Instant Oil Change",name:"Valvoline",official_name:"Valvoline Instant Oil Change",shop:"car_repair"}},"shop/car_repair|ÖAMTC":{countryCodes:["at"],tags:{brand:"ÖAMTC","brand:wikidata":"Q306057","brand:wikipedia":"de:Österreichischer Automobil-, Motorrad- und Touring Club",name:"ÖAMTC",shop:"car_repair"}},"shop/car_repair|СТО":{tags:{brand:"СТО",name:"СТО",shop:"car_repair"}},"shop/car|Audi":{tags:{brand:"Audi","brand:wikidata":"Q23317","brand:wikipedia":"en:Audi",name:"Audi",shop:"car"}},"shop/car|BMW":{tags:{brand:"BMW","brand:wikidata":"Q26678","brand:wikipedia":"en:BMW",name:"BMW",shop:"car"}},"shop/car|Cadillac":{tags:{brand:"Cadillac","brand:wikidata":"Q27436","brand:wikipedia":"en:Cadillac",name:"Cadillac",shop:"car"}},"shop/car|CarMax":{countryCodes:["us"],tags:{brand:"CarMax","brand:wikidata":"Q5037190","brand:wikipedia":"en:CarMax",name:"CarMax",second_hand:"only",shop:"car"}},"shop/car|Chevrolet":{tags:{brand:"Chevrolet","brand:wikidata":"Q29570","brand:wikipedia":"en:Chevrolet",name:"Chevrolet",shop:"car"}},"shop/car|Citroën":{nomatch:["shop/car_repair|Citroën"],tags:{brand:"Citroën","brand:wikidata":"Q6746","brand:wikipedia":"fr:Citroën",name:"Citroën",shop:"car"}},"shop/car|Dacia":{tags:{brand:"Dacia","brand:wikidata":"Q27460","brand:wikipedia":"en:Automobile Dacia",name:"Dacia",shop:"car"}},"shop/car|Fiat":{tags:{brand:"Fiat","brand:wikidata":"Q27597","brand:wikipedia":"en:Fiat Automobiles",name:"Fiat",shop:"car"}},"shop/car|Ford":{nomatch:["shop/car_repair|Ford"],tags:{brand:"Ford","brand:wikidata":"Q44294","brand:wikipedia":"en:Ford Motor Company",name:"Ford",shop:"car"}},"shop/car|Honda":{matchNames:["honda cars"],nomatch:["shop/motorcycle|Honda"],tags:{brand:"Honda","brand:wikidata":"Q9584","brand:wikipedia":"en:Honda",name:"Honda",shop:"car"}},"shop/car|Hyundai":{tags:{brand:"Hyundai","brand:wikidata":"Q55931","brand:wikipedia":"en:Hyundai Motor Company",name:"Hyundai",shop:"car"}},"shop/car|Isuzu":{tags:{brand:"Isuzu","brand:wikidata":"Q29803","brand:wikipedia":"en:Isuzu Motors",name:"Isuzu",shop:"car"}},"shop/car|Jaguar":{tags:{brand:"Jaguar","brand:wikidata":"Q26742231",name:"Jaguar",shop:"car"}},"shop/car|Kia":{matchNames:["kia motors"],tags:{brand:"Kia","brand:wikidata":"Q35349","brand:wikipedia":"en:Kia Motors",name:"Kia",shop:"car"}},"shop/car|Land Rover":{tags:{brand:"Land Rover","brand:wikidata":"Q35907","brand:wikipedia":"en:Land Rover",name:"Land Rover",shop:"car"}},"shop/car|Lexus":{tags:{brand:"Lexus","brand:wikidata":"Q35919","brand:wikipedia":"en:Lexus",name:"Lexus",shop:"car"}},"shop/car|Lincoln":{tags:{brand:"Lincoln","brand:wikidata":"Q216796","brand:wikipedia":"en:Lincoln Motor Company",name:"Lincoln",shop:"car"}},"shop/car|Mazda":{tags:{brand:"Mazda","brand:wikidata":"Q35996","brand:wikipedia":"en:Mazda",name:"Mazda",shop:"car"}},"shop/car|Mercedes-Benz":{matchNames:["mercedes"],tags:{brand:"Mercedes-Benz","brand:wikidata":"Q36008","brand:wikipedia":"en:Mercedes-Benz",name:"Mercedes-Benz",shop:"car"}},"shop/car|Mitsubishi":{matchNames:["mitsubishi motors"],tags:{brand:"Mitsubishi","brand:wikidata":"Q36033","brand:wikipedia":"en:Mitsubishi Motors",name:"Mitsubishi",shop:"car"}},"shop/car|Netz":{countryCodes:["jp"],tags:{brand:"Netz","brand:wikidata":"Q11325416","brand:wikipedia":"ja:ネッツ店",name:"Netz",shop:"car"}},"shop/car|Nissan":{tags:{brand:"Nissan","brand:wikidata":"Q20165","brand:wikipedia":"ja:日産自動車",name:"Nissan",shop:"car"}},"shop/car|Opel":{tags:{brand:"Opel","brand:wikidata":"Q40966","brand:wikipedia":"en:Opel",name:"Opel",shop:"car"}},"shop/car|Peugeot":{nomatch:["shop/car_repair|Peugeot"],tags:{brand:"Peugeot","brand:wikidata":"Q6742","brand:wikipedia":"en:Peugeot",name:"Peugeot",shop:"car"}},"shop/car|Porsche":{tags:{brand:"Porsche","brand:wikidata":"Q40993","brand:wikipedia":"en:Porsche",name:"Porsche",shop:"car"}},"shop/car|Renault":{nomatch:["shop/car_repair|Renault"],tags:{brand:"Renault","brand:wikidata":"Q6686","brand:wikipedia":"en:Renault",name:"Renault",shop:"car"}},"shop/car|Seat":{tags:{brand:"Seat","brand:wikidata":"Q188217","brand:wikipedia":"en:SEAT",name:"Seat",shop:"car"}},"shop/car|Skoda":{tags:{brand:"Skoda","brand:wikidata":"Q29637","brand:wikipedia":"en:Škoda Auto",name:"Skoda",shop:"car"}},"shop/car|Subaru":{tags:{brand:"Subaru","brand:wikidata":"Q172741","brand:wikipedia":"en:Subaru",name:"Subaru",shop:"car"}},"shop/car|Suzuki":{nomatch:["shop/motorcycle|Suzuki"],tags:{brand:"Suzuki","brand:wikidata":"Q181642","brand:wikipedia":"en:Suzuki",name:"Suzuki",shop:"car"}},"shop/car|Tesla":{matchNames:["tesla motors"],tags:{brand:"Tesla","brand:wikidata":"Q478214","brand:wikipedia":"en:Tesla, Inc.",name:"Tesla",shop:"car"}},"shop/car|Toyota":{nomatch:["shop/car_repair|Toyota"],tags:{brand:"Toyota","brand:wikidata":"Q53268","brand:wikipedia":"en:Toyota",name:"Toyota",shop:"car"}},"shop/car|Volkswagen":{matchNames:["vw"],tags:{brand:"Volkswagen","brand:wikidata":"Q246","brand:wikipedia":"en:Volkswagen",name:"Volkswagen",shop:"car"}},"shop/car|Volvo":{tags:{brand:"Volvo","brand:wikidata":"Q215293","brand:wikipedia":"en:Volvo Cars",name:"Volvo",shop:"car"}},"shop/car|Автомир":{tags:{brand:"Автомир","brand:wikidata":"Q4056321","brand:wikipedia":"ru:Автомир (автодилер)",name:"Автомир","name:en":"Autoworld","name:ru":"Автомир",shop:"car"}},"shop/car|ダイハツ":{countryCodes:["jp"],tags:{brand:"ダイハツ","brand:en":"Daihatsu","brand:ja":"ダイハツ","brand:wikidata":"Q27511","brand:wikipedia":"ja:ダイハツ工業",name:"ダイハツ","name:en":"Daihatsu","name:ja":"ダイハツ",shop:"car"}},"shop/car|ホンダ":{countryCodes:["jp"],tags:{brand:"ホンダ","brand:en":"Honda","brand:ja":"ホンダ","brand:wikidata":"Q9584","brand:wikipedia":"ja:本田技研工業",name:"ホンダ","name:en":"Honda","name:ja":"ホンダ",shop:"car"}},"shop/carpet|Carpetright":{countryCodes:["be","gb","ie","nl"],matchTags:["shop/furniture"],tags:{brand:"Carpetright","brand:wikidata":"Q5045782","brand:wikipedia":"en:Carpetright",name:"Carpetright",shop:"carpet"}},"shop/catalogue|Argos":{countryCodes:["gb","ie"],matchTags:["shop/department_store"],tags:{brand:"Argos","brand:wikidata":"Q4789707","brand:wikipedia":"en:Argos (retailer)",name:"Argos",shop:"catalogue"}},"shop/charity|Age UK":{countryCodes:["gb"],tags:{brand:"Age UK","brand:wikidata":"Q4691850","brand:wikipedia":"en:Age UK",name:"Age UK",shop:"charity"}},"shop/charity|Barnardo's":{countryCodes:["gb","ie"],tags:{brand:"Barnardo's","brand:wikidata":"Q2884670","brand:wikipedia":"en:Barnardo's",name:"Barnardo's",shop:"charity"}},"shop/charity|British Heart Foundation":{countryCodes:["gb"],tags:{brand:"British Heart Foundation","brand:wikidata":"Q4970039","brand:wikipedia":"en:British Heart Foundation",name:"British Heart Foundation",shop:"charity"}},"shop/charity|British Red Cross":{countryCodes:["gb","gg","im"],tags:{brand:"British Red Cross","brand:wikidata":"Q4970966","brand:wikipedia":"en:British Red Cross",name:"British Red Cross",shop:"charity"}},"shop/charity|Cancer Research UK":{countryCodes:["gb","gg"],tags:{brand:"Cancer Research UK","brand:wikidata":"Q326079","brand:wikipedia":"en:Cancer Research UK",name:"Cancer Research UK",shop:"charity"}},"shop/charity|Goodwill":{countryCodes:["ca","us"],matchTags:["shop/clothes","shop/second_hand"],tags:{brand:"Goodwill","brand:wikidata":"Q5583655","brand:wikipedia":"en:Goodwill Industries",name:"Goodwill",shop:"charity"}},"shop/charity|Kirkens Korshær Genbrug":{tags:{brand:"Kirkens Korshær Genbrug",name:"Kirkens Korshær Genbrug",shop:"charity"}},"shop/charity|Mind":{countryCodes:["gb"],tags:{brand:"Mind","brand:wikidata":"Q3314763","brand:wikipedia":"en:Mind (charity)",name:"Mind",shop:"charity"}},"shop/charity|Myrorna":{countryCodes:["se"],matchTags:["shop/clothes","shop/second_hand"],tags:{brand:"Myrorna","brand:wikidata":"Q10592609","brand:wikipedia":"sv:Myrorna",name:"Myrorna",shop:"charity"}},"shop/charity|Oxfam":{countryCodes:["be","de","gb","ie","im"],tags:{brand:"Oxfam","brand:wikidata":"Q267941","brand:wikipedia":"en:Oxfam",name:"Oxfam",shop:"charity"}},"shop/charity|RSPCA":{countryCodes:["au","gb"],tags:{brand:"RSPCA","brand:wikidata":"Q584819","brand:wikipedia":"en:Royal Society for the Prevention of Cruelty to Animals",name:"RSPCA",shop:"charity"}},"shop/charity|Scope":{countryCodes:["gb"],tags:{brand:"Scope","brand:wikidata":"Q7434435","brand:wikipedia":"en:Scope (charity)",name:"Scope",shop:"charity"}},"shop/charity|Sue Ryder":{countryCodes:["gb","ie"],tags:{brand:"Sue Ryder","brand:wikidata":"Q7634271","brand:wikipedia":"en:Sue Ryder (charity)",name:"Sue Ryder",shop:"charity"}},"shop/charity|The Salvation Army":{countryCodes:["au","ca","gb","us"],matchNames:["salvation army"],tags:{brand:"The Salvation Army","brand:wikidata":"Q188307","brand:wikipedia":"en:The Salvation Army",name:"The Salvation Army",shop:"charity"}},"shop/charity|Vinnies":{tags:{brand:"Vinnies",name:"Vinnies",shop:"charity"}},"shop/chemist|101 Drogerie":{countryCodes:["sk"],tags:{brand:"101 Drogerie",name:"101 Drogerie",shop:"chemist"}},"shop/chemist|7 Дней":{countryCodes:["ru"],tags:{brand:"7 Дней",name:"7 Дней",shop:"chemist"}},"shop/chemist|Acqua & Sapone":{countryCodes:["it"],tags:{brand:"Acqua & Sapone",name:"Acqua & Sapone",shop:"chemist"}},"shop/chemist|Bipa":{countryCodes:["at","hr"],tags:{brand:"Bipa","brand:wikidata":"Q864933","brand:wikipedia":"de:Bipa",name:"Bipa",shop:"chemist"}},"shop/chemist|Boots":{countryCodes:["gb"],nomatch:["amenity/pharmacy|Boots"],tags:{brand:"Boots","brand:wikidata":"Q6123139",name:"Boots",shop:"chemist"}},"shop/chemist|Budnikowsky":{countryCodes:["de"],tags:{brand:"Budnikowsky","brand:wikidata":"Q1001516","brand:wikipedia":"de:Budnikowsky",name:"Budnikowsky",shop:"chemist"}},"shop/chemist|CVS Pharmacy":{countryCodes:["us"],nomatch:["amenity/pharmacy|CVS Pharmacy","amenity/vending_machine|CVS Pharmacy"],tags:{brand:"CVS Pharmacy","brand:wikidata":"Q2078880","brand:wikipedia":"en:CVS Pharmacy",name:"CVS Pharmacy",shop:"chemist",short_name:"CVS"}},"shop/chemist|Clarel":{tags:{brand:"Clarel",name:"Clarel",shop:"chemist"}},"shop/chemist|Drogeria Natura":{countryCodes:["pl"],tags:{brand:"Drogeria Natura","brand:wikidata":"Q9212032","brand:wikipedia":"pl:Drogerie Natura",name:"Drogeria Natura",shop:"chemist"}},"shop/chemist|Etos":{countryCodes:["nl"],tags:{brand:"Etos","brand:wikidata":"Q2609459","brand:wikipedia":"en:Etos",name:"Etos",shop:"chemist"}},"shop/chemist|Hebe":{countryCodes:["pl"],tags:{brand:"Hebe",name:"Hebe",shop:"chemist"}},"shop/chemist|Kruidvat":{countryCodes:["be","fr","nl"],tags:{brand:"Kruidvat","brand:wikidata":"Q2226366","brand:wikipedia":"en:Kruidvat",name:"Kruidvat",shop:"chemist"}},"shop/chemist|Matas":{countryCodes:["dk"],tags:{brand:"Matas","brand:wikidata":"Q6786143","brand:wikipedia":"en:Matas (drug store)",name:"Matas",shop:"chemist"}},"shop/chemist|Müller":{countryCodes:["at","ch","de","es","hr","hu"],tags:{brand:"Müller","brand:wikidata":"Q1958759","brand:wikipedia":"en:Müller (German trade company)",name:"Müller",shop:"chemist"}},"shop/chemist|Rite Aid":{nomatch:["amenity/pharmacy|Rite Aid"],tags:{brand:"Rite Aid","brand:wikidata":"Q3433273","brand:wikipedia":"en:Rite Aid",name:"Rite Aid",shop:"chemist"}},"shop/chemist|Rossmann":{countryCodes:["cz","de","hu","pl"],tags:{brand:"Rossmann","brand:wikidata":"Q316004","brand:wikipedia":"de:Dirk Rossmann GmbH",name:"Rossmann",shop:"chemist"}},"shop/chemist|Savers":{countryCodes:["gb"],tags:{brand:"Savers","brand:wikidata":"Q7428189",name:"Savers",official_name:"Savers Health & Beauty",shop:"chemist"}},"shop/chemist|Superdrug":{countryCodes:["gb"],nomatch:["amenity/pharmacy|Superdrug"],tags:{brand:"Superdrug","brand:wikidata":"Q7643261",name:"Superdrug",shop:"chemist"}},"shop/chemist|Teta":{countryCodes:["cz","sk"],tags:{brand:"Teta","brand:wikidata":"Q20860823","brand:wikipedia":"cs:Teta drogerie",name:"Teta",shop:"chemist"}},"shop/chemist|Tigotà":{countryCodes:["it"],tags:{brand:"Tigotà",name:"Tigotà",shop:"chemist"}},"shop/chemist|Trekpleister":{countryCodes:["nl"],tags:{brand:"Trekpleister","brand:wikidata":"Q2551576","brand:wikipedia":"nl:Trekpleister (drogisterij)",name:"Trekpleister",shop:"chemist"}},"shop/chemist|Walgreens":{countryCodes:["us"],matchNames:["walgreens pharmacy"],tags:{brand:"Walgreens","brand:wikidata":"Q1591889","brand:wikipedia":"en:Walgreens",name:"Walgreens",shop:"chemist"}},"shop/chemist|Watsons":{matchTags:["shop/cosmetics"],nomatch:["amenity/pharmacy|Watsons"],tags:{brand:"Watsons","brand:wikidata":"Q7974785","brand:wikipedia":"en:Watsons",name:"Watsons",shop:"chemist"}},"shop/chemist|dm":{countryCodes:["at","ba","bg","cz","de","hr","hu","it","mk","ro","rs","si","sk"],matchNames:["dm drogerie markt"],tags:{brand:"dm","brand:wikidata":"Q266572","brand:wikipedia":"en:Dm-drogerie markt",name:"dm",shop:"chemist"}},"shop/chemist|Бытовая химия":{countryCodes:["by","ru","ua"],tags:{brand:"Бытовая химия",name:"Бытовая химия",shop:"chemist"}},"shop/chemist|Мила":{countryCodes:["by"],tags:{brand:"Мила",name:"Мила",shop:"chemist"}},"shop/chemist|Новэкс":{countryCodes:["ru"],tags:{brand:"Новэкс",name:"Новэкс",shop:"chemist"}},"shop/chemist|Остров чистоты":{countryCodes:["by"],tags:{brand:"Остров чистоты",name:"Остров чистоты",shop:"chemist"}},"shop/chemist|Рубль Бум":{countryCodes:["ru"],tags:{brand:"Рубль Бум",name:"Рубль Бум",shop:"chemist"}},"shop/chemist|Улыбка радуги":{countryCodes:["ru"],tags:{brand:"Улыбка радуги",name:"Улыбка радуги",shop:"chemist"}},"shop/chemist|スギ薬局":{countryCodes:["jp"],nomatch:["amenity/pharmacy|スギ薬局"],tags:{brand:"スギ薬局","brand:ja":"スギ薬局",name:"スギ薬局","name:ja":"スギ薬局",shop:"chemist"}},"shop/chemist|丁丁藥局":{nomatch:["amenity/pharmacy|丁丁藥局"],tags:{brand:"丁丁藥局",name:"丁丁藥局",shop:"chemist"}},"shop/chemist|屈臣氏":{countryCodes:["cn","hk","tw"],nomatch:["amenity/pharmacy|屈臣氏"],tags:{brand:"屈臣氏","brand:wikidata":"Q7974785","brand:wikipedia":"zh:屈臣氏",name:"屈臣氏",shop:"chemist"}},"shop/chemist|康是美":{countryCodes:["tw"],tags:{brand:"康是美","brand:wikidata":"Q11063876","brand:wikipedia":"zh:康是美藥妝店",name:"康是美",shop:"chemist"}},"shop/chocolate|Cacau Show":{countryCodes:["br"],tags:{brand:"Cacau Show","brand:wikidata":"Q9671713","brand:wikipedia":"en:Cacau Show",name:"Cacau Show",shop:"chocolate"}},"shop/chocolate|Gertrude Hawk Chocolates":{countryCodes:["us"],tags:{brand:"Gertrude Hawk Chocolates","brand:wikidata":"Q5553326","brand:wikipedia":"en:Gertrude Hawk Chocolates",name:"Gertrude Hawk Chocolates",shop:"chocolate",short_name:"Gertrude Hawk"}},"shop/chocolate|Godiva Chocolatier":{countryCodes:["us"],tags:{brand:"Godiva Chocolatier","brand:wikidata":"Q931084","brand:wikipedia":"en:Godiva Chocolatier",name:"Godiva Chocolatier",shop:"chocolate",short_name:"Godiva"}},"shop/chocolate|Jeff de Bruges":{countryCodes:["ca","cz","fr","gb"],tags:{brand:"Jeff de Bruges","brand:wikidata":"Q3176626","brand:wikipedia":"fr:Jeff de Bruges",name:"Jeff de Bruges",shop:"chocolate"}},"shop/chocolate|Laura Secord":{countryCodes:["ca"],tags:{brand:"Laura Secord","brand:wikidata":"Q6499418","brand:wikipedia":"en:Laura Secord Chocolates",name:"Laura Secord",shop:"chocolate"}},"shop/chocolate|Leonidas":{countryCodes:["be","cz","fr","gb","gr","nl"],tags:{brand:"Leonidas","brand:wikidata":"Q80335","brand:wikipedia":"en:Leonidas (chocolate maker)",name:"Leonidas",shop:"chocolate"}},"shop/chocolate|Lindt":{tags:{brand:"Lindt","brand:wikidata":"Q152822","brand:wikipedia":"en:Lindt & Sprüngli",name:"Lindt",shop:"chocolate"}},"shop/chocolate|Purdys Chocolatier":{countryCodes:["ca"],tags:{brand:"Purdys Chocolatier","brand:wikidata":"Q7261007","brand:wikipedia":"en:Purdy's Chocolates",name:"Purdys Chocolatier",shop:"chocolate"}},"shop/clothes|AOKI":{countryCodes:["jp"],tags:{brand:"AOKI","brand:wikidata":"Q11189480","brand:wikipedia":"ja:AOKIホールディングス",clothes:"men",name:"AOKI","name:ja":"アオキ",shop:"clothes"}},"shop/clothes|AWG":{countryCodes:["bg","de"],tags:{brand:"AWG",name:"AWG",shop:"clothes"}},"shop/clothes|Abercrombie & Fitch":{countryCodes:["de","us"],tags:{brand:"Abercrombie & Fitch","brand:wikidata":"Q319344","brand:wikipedia":"en:Abercrombie & Fitch",clothes:"men;women",name:"Abercrombie & Fitch",shop:"clothes"}},"shop/clothes|Accessorize":{countryCodes:["gb","it","ru"],tags:{brand:"Accessorize","brand:wikidata":"Q65007482",name:"Accessorize",shop:"clothes"}},"shop/clothes|Ackermans":{tags:{brand:"Ackermans","brand:wikidata":"Q4674255","brand:wikipedia":"en:Ackermans",name:"Ackermans",shop:"clothes"}},"shop/clothes|Adler":{countryCodes:["at","de","lu"],tags:{brand:"Adler",name:"Adler",shop:"clothes"}},"shop/clothes|Aeropostale":{tags:{brand:"Aeropostale","brand:wikidata":"Q794565","brand:wikipedia":"en:Aéropostale (clothing)",clothes:"men;women",name:"Aeropostale",shop:"clothes"}},"shop/clothes|AllSaints":{countryCodes:["gb"],tags:{brand:"AllSaints","brand:wikidata":"Q4728473","brand:wikipedia":"en:AllSaints",name:"AllSaints",shop:"clothes"}},"shop/clothes|American Eagle Outfitters":{countryCodes:["ca","us"],tags:{brand:"American Eagle Outfitters","brand:wikidata":"Q2842931","brand:wikipedia":"en:American Eagle Outfitters",clothes:"men;women",name:"American Eagle Outfitters",shop:"clothes",short_name:"American Eagle"}},"shop/clothes|Ann Taylor":{countryCodes:["ca","us"],tags:{brand:"Ann Taylor","brand:wikidata":"Q4766699","brand:wikipedia":"en:Ann Inc.",clothes:"women",name:"Ann Taylor",shop:"clothes"}},"shop/clothes|Anthropologie":{countryCodes:["ca","gb","us"],tags:{brand:"Anthropologie","brand:wikidata":"Q4773903","brand:wikipedia":"en:Anthropologie",clothes:"women",name:"Anthropologie",shop:"clothes"}},"shop/clothes|Arc'teryx":{tags:{brand:"Arc'teryx","brand:wikidata":"Q3271455","brand:wikipedia":"en:Arc'teryx",clothes:"men;women",name:"Arc'teryx",shop:"clothes"}},"shop/clothes|Ardene":{countryCodes:["ca","sn"],tags:{brand:"Ardene","brand:wikidata":"Q2860764","brand:wikipedia":"en:Ardene",name:"Ardene",shop:"clothes"}},"shop/clothes|Aritzia":{countryCodes:["ca","us"],tags:{brand:"Aritzia","brand:wikidata":"Q4791147","brand:wikipedia":"en:Aritzia",clothes:"women",name:"Aritzia",shop:"clothes"}},"shop/clothes|Armand Thiery":{countryCodes:["be","fr"],tags:{brand:"Armand Thiery","brand:wikidata":"Q2861975","brand:wikipedia":"fr:Armand Thiery",name:"Armand Thiery",shop:"clothes"}},"shop/clothes|Armani Exchange":{countryCodes:["us"],tags:{brand:"Armani Exchange","brand:wikidata":"Q56045740",clothes:"men;women",name:"Armani Exchange",shop:"clothes"}},"shop/clothes|Avenue":{tags:{brand:"Avenue",name:"Avenue",shop:"clothes"}},"shop/clothes|Baby Gap":{countryCodes:["us"],tags:{brand:"Gap","brand:wikidata":"Q420822","brand:wikipedia":"en:Gap Inc.",name:"Baby Gap",shop:"clothes"}},"shop/clothes|Banana Republic":{countryCodes:["ca","gb","us"],tags:{brand:"Banana Republic","brand:wikidata":"Q806085","brand:wikipedia":"en:Banana Republic",clothes:"men;women",name:"Banana Republic",shop:"clothes"}},"shop/clothes|Bench":{tags:{brand:"Bench",name:"Bench",shop:"clothes"}},"shop/clothes|Bershka":{tags:{brand:"Bershka","brand:wikidata":"Q827258","brand:wikipedia":"en:Bershka",name:"Bershka",shop:"clothes"}},"shop/clothes|Betty Barclay":{tags:{brand:"Betty Barclay","brand:wikidata":"Q850250","brand:wikipedia":"de:Betty Barclay",name:"Betty Barclay",shop:"clothes"}},"shop/clothes|Big Star":{countryCodes:["by","pl"],tags:{brand:"Big Star","brand:wikidata":"Q9171569","brand:wikipedia":"pl:Big Star Limited",name:"Big Star",shop:"clothes"}},"shop/clothes|Billabong":{tags:{brand:"Billabong","brand:wikidata":"Q862718","brand:wikipedia":"en:Billabong (clothing)",clothes:"men;women",name:"Billabong",shop:"clothes"}},"shop/clothes|Bluenotes":{countryCodes:["ca"],tags:{brand:"Bluenotes","brand:wikidata":"Q4930395","brand:wikipedia":"en:Bluenotes",name:"Bluenotes",shop:"clothes"}},"shop/clothes|Bonita":{countryCodes:["at","ch","de","nl"],tags:{brand:"Bonita","brand:wikidata":"Q892598","brand:wikipedia":"de:Bonita (Unternehmen)",name:"Bonita",shop:"clothes"}},"shop/clothes|Bonobo":{countryCodes:["fr"],nomatch:["shop/clothes|Bonobos"],tags:{brand:"Bonobo","brand:wikidata":"Q63682093",clothes:"men;women",name:"Bonobo",shop:"clothes"}},"shop/clothes|Bonobos":{countryCodes:["us"],nomatch:["shop/clothes|Bonobo"],tags:{brand:"Bonobos","brand:wikidata":"Q4942546","brand:wikipedia":"en:Bonobos (apparel)",clothes:"men",name:"Bonobos",shop:"clothes"}},"shop/clothes|Brice":{countryCodes:["be","fr"],tags:{brand:"Brice","brand:wikidata":"Q2925067","brand:wikipedia":"fr:Brice (enseigne)",name:"Brice",shop:"clothes"}},"shop/clothes|Bristol":{countryCodes:["nl"],tags:{brand:"Bristol",name:"Bristol",shop:"clothes"}},"shop/clothes|Brooks Brothers":{tags:{brand:"Brooks Brothers","brand:wikidata":"Q929722","brand:wikipedia":"en:Brooks Brothers",name:"Brooks Brothers",shop:"clothes"}},"shop/clothes|Brunello Cucinelli":{tags:{brand:"Brunello Cucinelli","brand:wikidata":"Q3645582","brand:wikipedia":"en:Brunello Cucinelli",name:"Brunello Cucinelli",shop:"clothes"}},"shop/clothes|Buckle":{countryCodes:["us"],tags:{brand:"Buckle","brand:wikidata":"Q4983306","brand:wikipedia":"en:Buckle (clothing retailer)",clothes:"men;women",name:"Buckle",shop:"clothes"}},"shop/clothes|Buffalo Exchange":{countryCodes:["us"],matchTags:["shop/second_hand"],tags:{brand:"Buffalo Exchange","brand:wikidata":"Q4985721","brand:wikipedia":"en:Buffalo Exchange",name:"Buffalo Exchange",second_hand:"only",shop:"clothes"}},"shop/clothes|Burberry":{tags:{brand:"Burberry","brand:wikidata":"Q390107","brand:wikipedia":"en:Burberry",clothes:"men;women",name:"Burberry",shop:"clothes"}},"shop/clothes|Burlington Coat Factory":{countryCodes:["us"],tags:{brand:"Burlington Coat Factory","brand:wikidata":"Q4999220","brand:wikipedia":"en:Burlington (department store)",name:"Burlington Coat Factory",shop:"clothes"}},"shop/clothes|Burton":{countryCodes:["fr","gb"],tags:{brand:"Burton","brand:wikidata":"Q5000795","brand:wikipedia":"en:Burton (retailer)",name:"Burton",shop:"clothes"}},"shop/clothes|C&A":{tags:{brand:"C&A","brand:wikidata":"Q701338","brand:wikipedia":"en:C&A",name:"C&A",shop:"clothes"}},"shop/clothes|COS":{tags:{brand:"COS","brand:wikidata":"Q60772401","brand:wikipedia":"en:COS (clothing)",name:"COS",shop:"clothes"}},"shop/clothes|Cache Cache":{countryCodes:["fr","it","lu"],tags:{brand:"Cache Cache","brand:wikidata":"Q63064086",name:"Cache Cache",shop:"clothes"}},"shop/clothes|Calvin Klein":{tags:{brand:"Calvin Klein","brand:wikidata":"Q1068628","brand:wikipedia":"en:Calvin Klein (company)",name:"Calvin Klein",shop:"clothes"}},"shop/clothes|Calzedonia":{tags:{brand:"Calzedonia","brand:wikidata":"Q1027874","brand:wikipedia":"en:Calzedonia",name:"Calzedonia",shop:"clothes"}},"shop/clothes|Camaïeu":{countryCodes:["be","cz","fr","it","pl"],tags:{brand:"Camaïeu","brand:wikidata":"Q2934647","brand:wikipedia":"en:Camaïeu (company)",name:"Camaïeu",shop:"clothes"}},"shop/clothes|Camp David":{countryCodes:["at","de","ee","sk"],tags:{brand:"Camp David","brand:wikidata":"Q50540636","brand:wikipedia":"en:Camp David (fashion)",name:"Camp David",shop:"clothes"}},"shop/clothes|Canada Goose":{tags:{brand:"Canada Goose","brand:wikidata":"Q2988422","brand:wikipedia":"en:Canada Goose",name:"Canada Goose",shop:"clothes"}},"shop/clothes|Carhartt":{countryCodes:["gb","us"],tags:{brand:"Carhartt","brand:wikidata":"Q527877","brand:wikipedia":"en:Carhartt",clothes:"workwear",name:"Carhartt",shop:"clothes"}},"shop/clothes|Carlings":{countryCodes:["fi","no","se"],tags:{brand:"Carlings",name:"Carlings",shop:"clothes"}},"shop/clothes|Caroll":{countryCodes:["ch","fr"],tags:{brand:"Caroll","brand:wikidata":"Q63063871",name:"Caroll",shop:"clothes"}},"shop/clothes|Carter's":{matchNames:["carters babies and kids"],tags:{brand:"Carter's","brand:wikidata":"Q5047083","brand:wikipedia":"en:Carter's",clothes:"children",name:"Carter's",shop:"clothes"}},"shop/clothes|Catherines":{countryCodes:["us"],tags:{brand:"Catherines","brand:wikidata":"Q64026208",clothes:"oversize;women",name:"Catherines",shop:"clothes"}},"shop/clothes|Cato":{countryCodes:["us"],tags:{brand:"Cato","brand:wikidata":"Q16956136","brand:wikipedia":"en:Cato Corporation",clothes:"women",name:"Cato",official_name:"Cato Fashions",shop:"clothes"}},"shop/clothes|Cecil":{countryCodes:["at","de","nl"],tags:{brand:"Cecil",name:"Cecil",shop:"clothes"}},"shop/clothes|Celio":{tags:{brand:"Celio","brand:wikidata":"Q2672003","brand:wikipedia":"en:Celio (retailer)",name:"Celio",shop:"clothes"}},"shop/clothes|Chanel":{tags:{brand:"Chanel","brand:wikidata":"Q218115","brand:wikipedia":"en:Chanel",name:"Chanel",shop:"clothes"}},"shop/clothes|Charles Vögele":{countryCodes:["at","be","ch","de","hu","nl"],tags:{brand:"Charles Vögele","brand:wikidata":"Q1066326","brand:wikipedia":"de:Charles Vögele Holding",name:"Charles Vögele",shop:"clothes",short_name:"Vögele"}},"shop/clothes|Charlotte Russe":{countryCodes:["us"],tags:{brand:"Charlotte Russe","brand:wikidata":"Q5086126","brand:wikipedia":"en:Charlotte Russe (clothing retailer)",name:"Charlotte Russe",shop:"clothes"}},"shop/clothes|Charming Charlie":{countryCodes:["us"],tags:{brand:"Charming Charlie","brand:wikidata":"Q16829286","brand:wikipedia":"en:Charming Charlie",clothes:"women",name:"Charming Charlie",shop:"clothes"}},"shop/clothes|Chico's":{countryCodes:["ar","us"],tags:{brand:"Chico's","brand:wikidata":"Q5096393","brand:wikipedia":"en:Chico's (clothing retailer)",name:"Chico's",shop:"clothes"}},"shop/clothes|Christopher & Banks":{countryCodes:["us"],tags:{brand:"Christopher & Banks","brand:wikidata":"Q5111816","brand:wikipedia":"en:Christopher & Banks",name:"Christopher & Banks",shop:"clothes"}},"shop/clothes|Club Monaco":{countryCodes:["ca","gb","us"],tags:{brand:"Club Monaco","brand:wikidata":"Q2979949","brand:wikipedia":"en:Club Monaco",name:"Club Monaco",shop:"clothes"}},"shop/clothes|Colin's":{tags:{brand:"Colin's","brand:wikidata":"Q28729658",name:"Colin's",shop:"clothes"}},"shop/clothes|Colloseum":{countryCodes:["at","de"],tags:{brand:"Colloseum",name:"Colloseum",shop:"clothes"}},"shop/clothes|Columbia":{nomatch:["amenity/bank|Columbia Bank"],tags:{brand:"Columbia","brand:wikidata":"Q1112588","brand:wikipedia":"en:Columbia Sportswear",name:"Columbia",official_name:"Columbia Sportswear",shop:"clothes"}},"shop/clothes|Cropp":{countryCodes:["cs","hu","pl","ro","ru","sk","ua"],tags:{brand:"Cropp","brand:wikidata":"Q9196793","brand:wikipedia":"pl:Cropp",name:"Cropp",shop:"clothes"}},"shop/clothes|Cubus":{countryCodes:["de","fi","lv","no","pl","se"],tags:{brand:"Cubus","brand:wikidata":"Q3439593","brand:wikipedia":"no:Cubus",name:"Cubus",shop:"clothes"}},"shop/clothes|DTLR":{countryCodes:["us"],tags:{brand:"DTLR",name:"DTLR",shop:"clothes"}},"shop/clothes|DXL Men's Apparel":{countryCodes:["us"],tags:{brand:"DXL Men's Apparel","brand:wikidata":"Q61981830",clothes:"oversize;men",name:"DXL Men's Apparel",shop:"clothes",short_name:"DXL"}},"shop/clothes|Damart":{countryCodes:["be","fr","lu"],tags:{brand:"Damart","brand:wikidata":"Q3012602","brand:wikipedia":"en:Damart",name:"Damart",shop:"clothes"}},"shop/clothes|David's Bridal":{countryCodes:["ca","us"],tags:{brand:"David's Bridal","brand:wikidata":"Q5230388","brand:wikipedia":"en:David's Bridal",clothes:"wedding",name:"David's Bridal",shop:"clothes"}},"shop/clothes|Desigual":{tags:{brand:"Desigual","brand:wikidata":"Q83750","brand:wikipedia":"en:Desigual",name:"Desigual",shop:"clothes"}},"shop/clothes|Devred":{countryCodes:["be","fr","ma"],tags:{brand:"Devred","brand:wikidata":"Q3025542","brand:wikipedia":"fr:Devred 1902",name:"Devred",shop:"clothes"}},"shop/clothes|Didi":{countryCodes:["be","nl"],tags:{brand:"Didi",name:"Didi",shop:"clothes"}},"shop/clothes|Diesel":{tags:{brand:"Diesel","brand:wikidata":"Q158285","brand:wikipedia":"en:Diesel (brand)",name:"Diesel",shop:"clothes"}},"shop/clothes|Dior":{tags:{brand:"Dior","brand:wikidata":"Q542767","brand:wikipedia":"en:Christian Dior (fashion house)",name:"Dior",shop:"clothes"}},"shop/clothes|Diverse":{countryCodes:["pl"],tags:{brand:"Diverse","brand:wikidata":"Q11694298","brand:wikipedia":"pl:Diverse",name:"Diverse",shop:"clothes"}},"shop/clothes|Dolce & Gabbana":{matchNames:["d and g","dg","dolce and gabana","dolce and gabanna","dolce and gabbanna","dolce y gabana","dolce y gabanna","dolce y gabbana","dolce y gabbanna"],tags:{brand:"Dolce & Gabbana","brand:wikidata":"Q214480","brand:wikipedia":"en:Dolce & Gabbana",name:"Dolce & Gabbana",shop:"clothes"}},"shop/clothes|Dorothy Perkins":{countryCodes:["gb","gg","ie","im"],tags:{brand:"Dorothy Perkins","brand:wikidata":"Q5298588","brand:wikipedia":"en:Dorothy Perkins",name:"Dorothy Perkins",shop:"clothes"}},"shop/clothes|Dress Barn":{tags:{brand:"Dress Barn","brand:wikidata":"Q5307031","brand:wikipedia":"en:Ascena Retail Group",name:"Dress Barn",shop:"clothes"}},"shop/clothes|Dressmann":{countryCodes:["at","fi","no","se"],tags:{brand:"Dressmann","brand:wikidata":"Q3357081","brand:wikipedia":"en:Dressmann",name:"Dressmann",shop:"clothes"}},"shop/clothes|Dynamite":{countryCodes:["ca","jo","ku","sa","us"],tags:{brand:"Dynamite","brand:wikidata":"Q3117385","brand:wikipedia":"en:Groupe Dynamite",clothes:"women",name:"Dynamite",shop:"clothes"}},"shop/clothes|Eddie Bauer":{countryCodes:["ca","jp","us"],tags:{brand:"Eddie Bauer","brand:wikidata":"Q842174","brand:wikipedia":"en:Eddie Bauer",name:"Eddie Bauer",shop:"clothes"}},"shop/clothes|Edgars":{tags:{brand:"Edgars",name:"Edgars",shop:"clothes"}},"shop/clothes|Edinburgh Woollen Mill":{countryCodes:["gb"],tags:{brand:"Edinburgh Woollen Mill","brand:wikidata":"Q16834657",name:"Edinburgh Woollen Mill",shop:"clothes"}},"shop/clothes|Engbers":{countryCodes:["at","de"],tags:{brand:"Engbers","brand:wikidata":"Q1290088","brand:wikipedia":"de:Engbers",name:"Engbers",shop:"clothes"}},"shop/clothes|Ermenegildo Zegna":{countryCodes:["ch","it"],tags:{brand:"Ermenegildo Zegna","brand:wikidata":"Q1355904","brand:wikipedia":"en:Ermenegildo Zegna",clothes:"men",name:"Ermenegildo Zegna",shop:"clothes",short_name:"Zegna"}},"shop/clothes|Ernsting's family":{countryCodes:["at","de"],tags:{brand:"Ernsting's family","brand:wikidata":"Q1361016","brand:wikipedia":"de:Ernsting’s family",name:"Ernsting's family",shop:"clothes"}},"shop/clothes|Esprit":{tags:{brand:"Esprit","brand:wikidata":"Q532746","brand:wikipedia":"en:Esprit Holdings",name:"Esprit",shop:"clothes"}},"shop/clothes|Etam":{tags:{brand:"Etam","brand:wikidata":"Q3059202","brand:wikipedia":"en:Etam Développement",name:"Etam",shop:"clothes"}},"shop/clothes|Everything But Water":{countryCodes:["us"],tags:{brand:"Everything But Water",clothes:"swimwear",name:"Everything But Water",shop:"clothes"}},"shop/clothes|Express":{nomatch:["shop/convenience|Express"],tags:{brand:"Express","brand:wikidata":"Q1384784","brand:wikipedia":"en:Express, Inc.",name:"Express",shop:"clothes"}},"shop/clothes|Fairweather":{countryCodes:["ca"],tags:{brand:"Fairweather","brand:wikidata":"Q64861806",clothes:"women",name:"Fairweather",shop:"clothes"}},"shop/clothes|Fat Face":{countryCodes:["gb","gg","ie"],tags:{brand:"Fat Face","brand:wikidata":"Q5437186","brand:wikipedia":"en:Fat Face",name:"Fat Face",shop:"clothes"}},"shop/clothes|Fendi":{countryCodes:["fr","it"],tags:{brand:"Fendi","brand:wikidata":"Q926575","brand:wikipedia":"en:Fendi",name:"Fendi",shop:"clothes"}},"shop/clothes|Forever 21":{tags:{brand:"Forever 21","brand:wikidata":"Q1060537","brand:wikipedia":"en:Forever 21",name:"Forever 21",shop:"clothes"}},"shop/clothes|Free People":{countryCodes:["ca","us"],tags:{brand:"Free People","brand:wikidata":"Q5499945","brand:wikipedia":"en:Free People",name:"Free People",shop:"clothes"}},"shop/clothes|Fussl":{countryCodes:["at","de"],tags:{brand:"Fussl",name:"Fussl",shop:"clothes"}},"shop/clothes|GU":{countryCodes:["cl","jp","tw"],tags:{brand:"GU","brand:wikidata":"Q5512642","brand:wikipedia":"en:GU (retailer)",name:"GU",shop:"clothes"}},"shop/clothes|Gabe's":{countryCodes:["us"],matchNames:["gabriel brothers"],tags:{brand:"Gabe's","brand:wikidata":"Q5515554","brand:wikipedia":"en:Gabe's",name:"Gabe's",shop:"clothes"}},"shop/clothes|Gant":{tags:{brand:"Gant","brand:wikidata":"Q1493667","brand:wikipedia":"en:Gant (retailer)",name:"Gant",shop:"clothes"}},"shop/clothes|Gap":{matchNames:["the gap"],tags:{brand:"Gap","brand:wikidata":"Q420822","brand:wikipedia":"en:Gap Inc.",name:"Gap",shop:"clothes"}},"shop/clothes|Gap Kids":{tags:{brand:"Gap","brand:wikidata":"Q420822","brand:wikipedia":"en:Gap Inc.",name:"Gap Kids",shop:"clothes"}},"shop/clothes|Garage":{countryCodes:["am","ca","jo","om","qa","sa","us"],tags:{brand:"Garage","brand:wikidata":"Q5521860","brand:wikipedia":"en:Garage (clothing retailer)",clothes:"women",name:"Garage",shop:"clothes"}},"shop/clothes|Gerry Weber":{tags:{brand:"Gerry Weber","brand:wikidata":"Q873447","brand:wikipedia":"en:Gerry Weber",name:"Gerry Weber",shop:"clothes"}},"shop/clothes|Gina Laura":{countryCodes:["at","de"],tags:{brand:"Gina Laura","brand:wikidata":"Q2700576","brand:wikipedia":"de:Gina Laura",name:"Gina Laura",shop:"clothes"}},"shop/clothes|Gloria Jeans":{countryCodes:["ru","ua"],tags:{brand:"Gloria Jeans","brand:wikidata":"Q4139985","brand:wikipedia":"ru:Глория Джинс",name:"Gloria Jeans",shop:"clothes"}},"shop/clothes|Gucci":{tags:{brand:"Gucci","brand:wikidata":"Q178516","brand:wikipedia":"en:Gucci",name:"Gucci",shop:"clothes"}},"shop/clothes|Guess":{tags:{brand:"Guess","brand:wikidata":"Q2470307","brand:wikipedia":"en:Guess (clothing)",name:"Guess",shop:"clothes"}},"shop/clothes|Gymboree":{countryCodes:["ca","us"],tags:{brand:"Gymboree","brand:wikidata":"Q4039771","brand:wikipedia":"en:Gymboree",name:"Gymboree",shop:"clothes"}},"shop/clothes|Gémo":{countryCodes:["be","ch","fr"],tags:{brand:"Gémo","brand:wikidata":"Q3122954","brand:wikipedia":"fr:Gémo",name:"Gémo",shop:"clothes"}},"shop/clothes|H&M":{tags:{brand:"H&M","brand:wikidata":"Q188326","brand:wikipedia":"en:H&M",name:"H&M",shop:"clothes"}},"shop/clothes|Haggar":{countryCodes:["us"],matchNames:["haggar clothing"],tags:{alt_name:"Haggar Clothing Co.",brand:"Haggar","brand:wikidata":"Q5638669","brand:wikipedia":"en:Haggar Clothing",name:"Haggar",shop:"clothes"}},"shop/clothes|Hallhuber":{countryCodes:["at","ch","de","lu","nl"],tags:{brand:"Hallhuber","brand:wikidata":"Q1571714","brand:wikipedia":"de:Hallhuber (Bekleidungshaus)",name:"Hallhuber",shop:"clothes"}},"shop/clothes|Hanna Andersson":{countryCodes:["us"],matchNames:["hanna anderssen"],tags:{brand:"Hanna Andersson","brand:wikidata":"Q17460802","brand:wikipedia":"en:Hanna Andersson",clothes:"baby;children;women",name:"Hanna Andersson",shop:"clothes"}},"shop/clothes|Hermès":{countryCodes:["ch","fr"],nomatch:["amenity/post_office|Hermes Paketshop"],tags:{brand:"Hermès","brand:wikidata":"Q843887","brand:wikipedia":"en:Hermès",name:"Hermès",shop:"clothes"}},"shop/clothes|Hollister":{tags:{brand:"Hollister","brand:wikidata":"Q1257477","brand:wikipedia":"en:Hollister Co.",name:"Hollister",official_name:"Hollister Co.",shop:"clothes"}},"shop/clothes|Hot Topic":{countryCodes:["ca","us"],tags:{brand:"Hot Topic","brand:wikidata":"Q9294032","brand:wikipedia":"en:Hot Topic",name:"Hot Topic",shop:"clothes"}},"shop/clothes|House":{tags:{brand:"House",name:"House",shop:"clothes"}},"shop/clothes|Hugo Boss":{tags:{brand:"Hugo Boss","brand:wikidata":"Q491627","brand:wikipedia":"en:Hugo Boss",name:"Hugo Boss",shop:"clothes",short_name:"Boss"}},"shop/clothes|Humana":{tags:{brand:"Humana",name:"Humana",shop:"clothes"}},"shop/clothes|Hunkemöller":{countryCodes:["at","be","de","dk","es","lu","nl"],tags:{brand:"Hunkemöller","brand:wikidata":"Q2604175","brand:wikipedia":"en:Hunkemöller",name:"Hunkemöller",shop:"clothes"}},"shop/clothes|Indochino":{countryCodes:["ca","us"],tags:{brand:"Indochino","brand:wikidata":"Q64448127","brand:wikipedia":"en:Indochino",clothes:"suits",name:"Indochino",shop:"clothes"}},"shop/clothes|Intimissimi":{tags:{brand:"Intimissimi","brand:wikidata":"Q305404","brand:wikipedia":"en:Intimissimi",clothes:"underwear",name:"Intimissimi",shop:"clothes"}},"shop/clothes|J.Crew":{countryCodes:["ca","gb","us"],tags:{brand:"J.Crew","brand:wikidata":"Q5370765","brand:wikipedia":"en:J.Crew",clothes:"men;women;children",name:"J.Crew",shop:"clothes"}},"shop/clothes|J.Jill":{countryCodes:["us"],tags:{brand:"J.Jill","brand:wikidata":"Q64448268","brand:wikipedia":"en:J.Jill",clothes:"women",name:"J.Jill",shop:"clothes"}},"shop/clothes|JBC":{countryCodes:["be","lu"],tags:{brand:"JBC","brand:wikidata":"Q2671470","brand:wikipedia":"nl:JBC",name:"JBC",shop:"clothes"}},"shop/clothes|Jack & Jones":{tags:{brand:"Jack & Jones","brand:wikidata":"Q6077665","brand:wikipedia":"en:Jack & Jones",name:"Jack & Jones",shop:"clothes"}},"shop/clothes|Jack Wills":{countryCodes:["ae","gb","hk","ie","kw","lb","mo","sg","us"],tags:{brand:"Jack Wills","brand:wikidata":"Q6115814","brand:wikipedia":"en:Jack Wills",name:"Jack Wills",shop:"clothes"}},"shop/clothes|Janie & Jack":{countryCodes:["ca","us"],tags:{brand:"Janie & Jack","brand:wikidata":"Q64449634","brand:wikipedia":"en:Janie & Jack",clothes:"children",name:"Janie & Jack",shop:"clothes"}},"shop/clothes|Jeans Centre":{countryCodes:["nl"],tags:{brand:"Jeans Centre",name:"Jeans Centre",shop:"clothes"}},"shop/clothes|Jeans Fritz":{countryCodes:["de"],tags:{brand:"Jeans Fritz","brand:wikidata":"Q1686071","brand:wikipedia":"de:Jeans Fritz",name:"Jeans Fritz",shop:"clothes"}},"shop/clothes|Jennyfer":{countryCodes:["fr","it","lu"],tags:{brand:"Jennyfer","brand:wikidata":"Q3177174","brand:wikipedia":"fr:Jennyfer",name:"Jennyfer",shop:"clothes"}},"shop/clothes|Jet":{countryCodes:["za"],nomatch:["amenity/fuel|Jet"],tags:{brand:"Jet","brand:wikidata":"Q61995123",name:"Jet",shop:"clothes"}},"shop/clothes|Jigsaw":{countryCodes:["au","gb","us"],tags:{brand:"Jigsaw","brand:wikidata":"Q6192383","brand:wikipedia":"en:Jigsaw (clothing retailer)",name:"Jigsaw",shop:"clothes"}},"shop/clothes|JoS. A. Bank":{countryCodes:["us"],matchNames:["joseph a bank"],tags:{brand:"JoS. A. Bank","brand:wikidata":"Q6204078","brand:wikipedia":"en:JoS. A. Bank Clothiers",name:"JoS. A. Bank",official_name:"Jos. A. Bank Clothiers",shop:"clothes"}},"shop/clothes|Johnny Was":{countryCodes:["us"],tags:{brand:"Johnny Was",clothes:"women",name:"Johnny Was",shop:"clothes"}},"shop/clothes|Joules":{countryCodes:["gb","gg","ie"],tags:{brand:"Joules","brand:wikidata":"Q25351738","brand:wikipedia":"en:Joules (clothing)",name:"Joules",shop:"clothes"}},"shop/clothes|Jules":{countryCodes:["be","fr","it"],tags:{brand:"Jules","brand:wikidata":"Q3188386","brand:wikipedia":"fr:Jules (enseigne)",clothes:"men",name:"Jules",shop:"clothes"}},"shop/clothes|Justice":{countryCodes:["ca","us"],tags:{brand:"Justice","brand:wikidata":"Q7857512","brand:wikipedia":"en:Tween Brands",name:"Justice",shop:"clothes"}},"shop/clothes|KappAhl":{countryCodes:["fi","no","pl","se"],tags:{brand:"KappAhl","brand:wikidata":"Q4349016","brand:wikipedia":"sv:Kappahl",name:"KappAhl",shop:"clothes"}},"shop/clothes|Kate Spade New York":{countryCodes:["ca","us"],matchNames:["kate spade ny"],tags:{brand:"Kate Spade New York","brand:wikidata":"Q6375797","brand:wikipedia":"en:Kate Spade New York",name:"Kate Spade New York",shop:"clothes",short_name:"Kate Spade"}},"shop/clothes|Kendra Scott":{tags:{brand:"Kendra Scott",name:"Kendra Scott",shop:"clothes"}},"shop/clothes|KiK":{tags:{brand:"KiK","brand:wikidata":"Q883965","brand:wikipedia":"en:KiK",name:"KiK",shop:"clothes"}},"shop/clothes|Kiabi":{tags:{brand:"Kiabi","brand:wikidata":"Q3196299","brand:wikipedia":"fr:Kiabi",name:"Kiabi",shop:"clothes"}},"shop/clothes|Koton":{tags:{brand:"Koton",name:"Koton",shop:"clothes"}},"shop/clothes|LC Waikiki":{tags:{brand:"LC Waikiki","brand:wikidata":"Q3205965","brand:wikipedia":"fr:LC Waikiki",name:"LC Waikiki",shop:"clothes"}},"shop/clothes|La Halle":{countryCodes:["ch","fr"],tags:{brand:"La Halle",name:"La Halle",shop:"clothes"}},"shop/clothes|La Senza":{countryCodes:["ca","gb"],tags:{brand:"La Senza","brand:wikidata":"Q3212802","brand:wikipedia":"en:La Senza",name:"La Senza",shop:"clothes"}},"shop/clothes|La Vie en Rose":{tags:{brand:"La Vie en Rose","brand:wikidata":"Q4950452","brand:wikipedia":"en:Boutique La Vie en Rose",clothes:"underwear;women",name:"La Vie en Rose",shop:"clothes"}},"shop/clothes|Lacoste":{tags:{brand:"Lacoste","brand:wikidata":"Q309031","brand:wikipedia":"en:Lacoste",name:"Lacoste",shop:"clothes"}},"shop/clothes|Lane Bryant":{countryCodes:["us"],tags:{brand:"Lane Bryant","brand:wikidata":"Q6485350","brand:wikipedia":"en:Lane Bryant",clothes:"oversize;women",name:"Lane Bryant",shop:"clothes"}},"shop/clothes|Laura":{countryCodes:["ca"],tags:{brand:"Laura","brand:wikidata":"Q6498590","brand:wikipedia":"en:Laura (clothing retailer)",clothes:"women",name:"Laura",shop:"clothes"}},"shop/clothes|Le Château":{countryCodes:["ae","ca","sa"],tags:{brand:"Le Château","brand:wikidata":"Q6506731","brand:wikipedia":"en:Le Château",name:"Le Château",shop:"clothes"}},"shop/clothes|Levi's":{tags:{brand:"Levi's","brand:wikidata":"Q127962","brand:wikipedia":"en:Levi Strauss & Co.",clothes:"denim;men;women",name:"Levi's",shop:"clothes"}},"shop/clothes|Lids":{countryCodes:["ca","us"],tags:{brand:"Lids","brand:wikidata":"Q19841609","brand:wikipedia":"en:Lids (store)",clothes:"hats",name:"Lids",shop:"clothes"}},"shop/clothes|Lindex":{countryCodes:["cz","ee","fi","no","se","sk"],tags:{brand:"Lindex","brand:wikidata":"Q1786717","brand:wikipedia":"en:Lindex",name:"Lindex",shop:"clothes"}},"shop/clothes|Loft":{matchNames:["ann taylor loft"],tags:{brand:"Loft","brand:wikidata":"Q62075137",clothes:"women",name:"Loft",shop:"clothes"}},"shop/clothes|Loro Piana":{countryCodes:["fr","it"],tags:{brand:"Loro Piana","brand:wikidata":"Q1686544","brand:wikipedia":"en:Loro Piana",name:"Loro Piana",shop:"clothes"}},"shop/clothes|Louis Vuitton":{tags:{brand:"Louis Vuitton","brand:wikidata":"Q191485","brand:wikipedia":"en:Louis Vuitton",name:"Louis Vuitton",shop:"clothes"}},"shop/clothes|Lowes":{countryCodes:["au"],nomatch:["shop/doityourself|Lowe's","shop/supermarket|Lowe's Market","shop/supermarket|Lowes Foods"],tags:{brand:"Lowes","brand:wikidata":"Q6693996","brand:wikipedia":"en:Lowes Menswear",name:"Lowes",shop:"clothes"}},"shop/clothes|Lucky Brand":{countryCodes:["ca","us"],matchNames:["lucky brand jeans"],tags:{brand:"Lucky Brand","brand:wikidata":"Q6697865","brand:wikipedia":"en:Lucky Brand Jeans",name:"Lucky Brand",shop:"clothes"}},"shop/clothes|Lululemon":{countryCodes:["au","ca","us"],tags:{brand:"Lululemon","brand:wikidata":"Q6702957","brand:wikipedia":"en:Lululemon Athletica",clothes:"men;women",name:"Lululemon",official_name:"Lululemon Athletica",shop:"clothes"}},"shop/clothes|M&Co":{countryCodes:["gb"],tags:{brand:"M&Co","brand:wikidata":"Q6711808","brand:wikipedia":"en:M&Co.",name:"M&Co",shop:"clothes"}},"shop/clothes|MS Mode":{countryCodes:["be","de","fr","lu","nl"],tags:{brand:"MS Mode",name:"MS Mode",shop:"clothes"}},"shop/clothes|Mackage":{tags:{brand:"Mackage",name:"Mackage",shop:"clothes"}},"shop/clothes|Madewell":{countryCodes:["us"],tags:{brand:"Madewell","brand:wikidata":"Q64026213",clothes:"men;women",name:"Madewell",shop:"clothes"}},"shop/clothes|Mango":{tags:{brand:"Mango","brand:wikidata":"Q136503","brand:wikipedia":"en:Mango (retailer)",name:"Mango",shop:"clothes"}},"shop/clothes|Marc O'Polo":{countryCodes:["at","be","ch","de","nl","pl"],tags:{brand:"Marc O'Polo","brand:wikidata":"Q1892752","brand:wikipedia":"en:Marc O'Polo",name:"Marc O'Polo",shop:"clothes"}},"shop/clothes|Marimekko":{countryCodes:["fi"],tags:{brand:"Marimekko","brand:wikidata":"Q534903","brand:wikipedia":"fi:Marimekko",name:"Marimekko",shop:"clothes"}},"shop/clothes|Marisa":{tags:{brand:"Marisa",name:"Marisa",shop:"clothes"}},"shop/clothes|Mark Formelle":{countryCodes:["by","kz","ru"],tags:{brand:"Mark Formelle",name:"Mark Formelle",shop:"clothes"}},"shop/clothes|Mark's":{countryCodes:["ca"],tags:{brand:"Mark's","brand:wikidata":"Q6766373","brand:wikipedia":"en:Mark's",name:"Mark's",shop:"clothes"}},"shop/clothes|Massimo Dutti":{tags:{brand:"Massimo Dutti","brand:wikidata":"Q788231","brand:wikipedia":"en:Massimo Dutti",name:"Massimo Dutti",shop:"clothes"}},"shop/clothes|Matalan":{countryCodes:["ae","gb"],tags:{brand:"Matalan","brand:wikidata":"Q12061509","brand:wikipedia":"en:Matalan",name:"Matalan",shop:"clothes"}},"shop/clothes|Maurices":{countryCodes:["ca","fr","us"],tags:{brand:"Maurices","brand:wikidata":"Q6793571","brand:wikipedia":"en:Maurices",name:"Maurices",shop:"clothes"}},"shop/clothes|Max Mara":{tags:{brand:"Max Mara","brand:wikidata":"Q1151774","brand:wikipedia":"en:Max Mara",name:"Max Mara",shop:"clothes"}},"shop/clothes|Melanie Lyne":{countryCodes:["ca"],tags:{brand:"Melanie Lyne","brand:wikidata":"Q64861470",clothes:"women",name:"Melanie Lyne",shop:"clothes"}},"shop/clothes|Men's Wearhouse":{countryCodes:["us"],matchNames:["mens warehouse"],tags:{brand:"Men's Wearhouse","brand:wikidata":"Q57405513","brand:wikipedia":"en:Men's Wearhouse",clothes:"suits",name:"Men's Wearhouse",shop:"clothes"}},"shop/clothes|Mexx":{tags:{brand:"Mexx","brand:wikidata":"Q1837290","brand:wikipedia":"en:Mexx",name:"Mexx",shop:"clothes"}},"shop/clothes|Michael Kors":{tags:{brand:"Michael Kors","brand:wikidata":"Q19572998","brand:wikipedia":"en:Capri Holdings",name:"Michael Kors",shop:"clothes"}},"shop/clothes|Miller & Monroe":{countryCodes:["at","de","nl"],tags:{brand:"Miller & Monroe",name:"Miller & Monroe",shop:"clothes"}},"shop/clothes|Mim":{countryCodes:["fr","it"],tags:{brand:"Mim",name:"Mim",shop:"clothes"}},"shop/clothes|Miss Etam":{countryCodes:["nl"],tags:{brand:"Miss Etam",name:"Miss Etam",shop:"clothes"}},"shop/clothes|Mohito":{tags:{brand:"Mohito",name:"Mohito",shop:"clothes"}},"shop/clothes|Monsoon":{countryCodes:["gb","gg","ie"],tags:{brand:"Monsoon","brand:wikidata":"Q65007501",name:"Monsoon",shop:"clothes"}},"shop/clothes|Moores":{countryCodes:["ca"],tags:{brand:"Moores","brand:wikidata":"Q6908309","brand:wikipedia":"en:Moores",clothes:"men",name:"Moores",shop:"clothes"}},"shop/clothes|Motherhood Maternity":{countryCodes:["ca","us"],tags:{brand:"Motherhood Maternity",clothes:"maternity",name:"Motherhood Maternity",shop:"clothes"}},"shop/clothes|Motivi":{tags:{brand:"Motivi",name:"Motivi",shop:"clothes"}},"shop/clothes|Mr Price":{tags:{brand:"Mr Price","brand:wikidata":"Q6929120","brand:wikipedia":"en:Mr. Price",name:"Mr Price",shop:"clothes"}},"shop/clothes|NKD":{countryCodes:["at","de","it","si"],tags:{brand:"NKD","brand:wikidata":"Q927272","brand:wikipedia":"de:NKD",name:"NKD",shop:"clothes"}},"shop/clothes|Naf Naf":{countryCodes:["ch","fr"],tags:{brand:"Naf Naf","brand:wikidata":"Q3334188","brand:wikipedia":"fr:Naf Naf",name:"Naf Naf",shop:"clothes"}},"shop/clothes|Napapijri":{tags:{brand:"Napapijri",name:"Napapijri",shop:"clothes"}},"shop/clothes|Nautica":{tags:{brand:"Nautica","brand:wikidata":"Q6981479","brand:wikipedia":"en:Nautica (clothing company)",name:"Nautica",shop:"clothes"}},"shop/clothes|New Look":{countryCodes:["be","de","fr","gb","ie","pl"],tags:{brand:"New Look","brand:wikidata":"Q12063852","brand:wikipedia":"en:New Look (company)",name:"New Look",shop:"clothes"}},"shop/clothes|New York & Company":{countryCodes:["us"],tags:{brand:"New York & Company","brand:wikidata":"Q7012977","brand:wikipedia":"en:New York & Company",name:"New York & Company",shop:"clothes"}},"shop/clothes|New Yorker":{tags:{brand:"New Yorker","brand:wikidata":"Q706421","brand:wikipedia":"en:New Yorker (clothing)",name:"New Yorker",shop:"clothes"}},"shop/clothes|Next":{tags:{brand:"Next","brand:wikidata":"Q246655","brand:wikipedia":"en:Next plc",name:"Next",shop:"clothes"}},"shop/clothes|Nike":{tags:{brand:"Nike","brand:wikidata":"Q483915","brand:wikipedia":"en:Nike, Inc.",name:"Nike",shop:"clothes"}},"shop/clothes|Nordstrom Rack":{countryCodes:["ca","us"],tags:{brand:"Nordstrom Rack","brand:wikidata":"Q21463374","brand:wikipedia":"en:Nordstrom Rack",name:"Nordstrom Rack",shop:"clothes"}},"shop/clothes|OVS":{countryCodes:["at","ch","fr","it","si"],tags:{brand:"OVS","brand:wikidata":"Q2042514","brand:wikipedia":"en:OVS (company)",name:"OVS",shop:"clothes"}},"shop/clothes|Oasis":{countryCodes:["es","gb","ie"],tags:{brand:"Oasis","brand:wikidata":"Q64532852",name:"Oasis",shop:"clothes"}},"shop/clothes|Okaïdi":{countryCodes:["be","ch","es","fr","it","pl"],tags:{brand:"Okaïdi","brand:wikidata":"Q3350027","brand:wikipedia":"fr:Okaïdi",name:"Okaïdi",shop:"clothes"}},"shop/clothes|Old Navy":{tags:{brand:"Old Navy","brand:wikidata":"Q2735242","brand:wikipedia":"en:Old Navy",name:"Old Navy",shop:"clothes"}},"shop/clothes|Only":{tags:{brand:"Only","brand:wikidata":"Q61799370",name:"Only",shop:"clothes"}},"shop/clothes|Orchestra":{tags:{brand:"Orchestra","brand:wikidata":"Q28042940","brand:wikipedia":"fr:Orchestra Prémaman",name:"Orchestra",shop:"clothes"}},"shop/clothes|Original Marines":{countryCodes:["it"],tags:{brand:"Original Marines",name:"Original Marines",shop:"clothes"}},"shop/clothes|Orsay":{tags:{brand:"Orsay","brand:wikidata":"Q883245","brand:wikipedia":"de:Orsay (Modeunternehmen)",name:"Orsay",shop:"clothes"}},"shop/clothes|Outfit":{countryCodes:["de","gb"],tags:{brand:"Outfit","brand:wikidata":"Q7112061","brand:wikipedia":"en:Outfit (retailer)",name:"Outfit",shop:"clothes"}},"shop/clothes|Oysho":{tags:{brand:"Oysho","brand:wikidata":"Q3327046","brand:wikipedia":"en:Oysho",name:"Oysho",shop:"clothes"}},"shop/clothes|PacSun":{countryCodes:["us"],tags:{brand:"PacSun","brand:wikidata":"Q7121857","brand:wikipedia":"en:PacSun",name:"PacSun",shop:"clothes"}},"shop/clothes|Palmers":{countryCodes:["at","de"],tags:{brand:"Palmers","brand:wikidata":"Q1509985","brand:wikipedia":"de:Palmers",name:"Palmers",shop:"clothes"}},"shop/clothes|Peacocks":{countryCodes:["cy","gb"],tags:{brand:"Peacocks","brand:wikidata":"Q7157762","brand:wikipedia":"en:Peacocks (clothing)",name:"Peacocks",shop:"clothes"}},"shop/clothes|Peek & Cloppenburg":{countryCodes:["at","be","de","nl","pl"],tags:{brand:"Peek & Cloppenburg","brand:wikidata":"Q2066959","brand:wikipedia":"en:Peek & Cloppenburg",name:"Peek & Cloppenburg",shop:"clothes"}},"shop/clothes|Pep":{tags:{brand:"Pep","brand:wikidata":"Q7166182","brand:wikipedia":"en:Pep (store)",name:"Pep",shop:"clothes"}},"shop/clothes|Pepco":{countryCodes:["cz","hu","pl","ro","sk"],matchTags:["shop/variety_store"],tags:{brand:"Pepco","brand:wikidata":"Q11815580","brand:wikipedia":"pl:Pepco",name:"Pepco",shop:"clothes"}},"shop/clothes|Pepe Jeans":{tags:{brand:"Pepe Jeans",name:"Pepe Jeans",shop:"clothes"}},"shop/clothes|Petit Bateau":{countryCodes:["be","de","fr","gb","it","lu"],tags:{brand:"Petit Bateau","brand:wikidata":"Q3377090","brand:wikipedia":"en:Petit Bateau",name:"Petit Bateau",shop:"clothes"}},"shop/clothes|Phase Eight":{countryCodes:["ch","de","gb"],tags:{brand:"Phase Eight","brand:wikidata":"Q17020730","brand:wikipedia":"en:Phase Eight",name:"Phase Eight",shop:"clothes"}},"shop/clothes|Piazza Italia":{countryCodes:["it"],tags:{brand:"Piazza Italia",name:"Piazza Italia",shop:"clothes"}},"shop/clothes|Pierre Cardin":{tags:{brand:"Pierre Cardin","brand:wikidata":"Q22921009",name:"Pierre Cardin",shop:"clothes"}},"shop/clothes|Pimkie":{countryCodes:["at","be","de","es","fr","it"],tags:{brand:"Pimkie","brand:wikidata":"Q1758066","brand:wikipedia":"en:Pimkie",name:"Pimkie",shop:"clothes"}},"shop/clothes|Pink":{tags:{brand:"Pink","brand:wikidata":"Q20716793","brand:wikipedia":"en:Pink (Victoria's Secret)",clothes:"underwear;women",name:"Pink",shop:"clothes"}},"shop/clothes|Plato's Closet":{countryCodes:["ca","us"],tags:{brand:"Plato's Closet","brand:wikidata":"Q61779112",name:"Plato's Closet",second_hand:"only",shop:"clothes"}},"shop/clothes|Polo Ralph Lauren":{tags:{brand:"Polo Ralph Lauren","brand:wikidata":"Q1641437","brand:wikipedia":"en:Ralph Lauren Corporation",name:"Polo Ralph Lauren",shop:"clothes"}},"shop/clothes|Primark":{tags:{brand:"Primark","brand:wikidata":"Q137023","brand:wikipedia":"en:Primark",name:"Primark",shop:"clothes"}},"shop/clothes|Promod":{tags:{brand:"Promod","brand:wikidata":"Q3407429","brand:wikipedia":"en:Promod",name:"Promod",shop:"clothes"}},"shop/clothes|Pull & Bear":{tags:{brand:"Pull & Bear","brand:wikidata":"Q691029","brand:wikipedia":"en:Pull&Bear",name:"Pull & Bear",shop:"clothes"}},"shop/clothes|Puma":{nomatch:["amenity/fuel|Puma"],tags:{brand:"Puma","brand:wikidata":"Q157064","brand:wikipedia":"en:Puma (brand)",name:"Puma",shop:"clothes"}},"shop/clothes|Quicksilver":{tags:{brand:"Quicksilver",name:"Quicksilver",shop:"clothes"}},"shop/clothes|Rainbow":{countryCodes:["de","us"],tags:{brand:"Rainbow","brand:wikidata":"Q7284708","brand:wikipedia":"en:Rainbow Shops",name:"Rainbow",shop:"clothes"}},"shop/clothes|Reebok":{tags:{brand:"Reebok","brand:wikidata":"Q466183","brand:wikipedia":"en:Reebok",name:"Reebok",shop:"clothes"}},"shop/clothes|Reitmans":{countryCodes:["ca"],tags:{brand:"Reitmans","brand:wikidata":"Q7310506","brand:wikipedia":"en:Reitmans",name:"Reitmans",shop:"clothes"}},"shop/clothes|Reserved":{tags:{brand:"Reserved","brand:wikidata":"Q21809354","brand:wikipedia":"en:Reserved",name:"Reserved",shop:"clothes"}},"shop/clothes|River Island":{countryCodes:["gb","ie","im","nl","pl"],tags:{brand:"River Island","brand:wikidata":"Q2670328","brand:wikipedia":"en:River Island",name:"River Island",shop:"clothes"}},"shop/clothes|Robert Graham":{countryCodes:["us"],tags:{brand:"Robert Graham","brand:wikidata":"Q18390679","brand:wikipedia":"en:Robert Graham (fashion brand)",clothes:"men",name:"Robert Graham",shop:"clothes"}},"shop/clothes|Roots":{tags:{brand:"Roots",name:"Roots",shop:"clothes"}},"shop/clothes|Ross":{countryCodes:["us"],tags:{brand:"Ross","brand:wikidata":"Q3442791","brand:wikipedia":"en:Ross Stores",name:"Ross",official_name:"Ross Dress for Less",shop:"clothes"}},"shop/clothes|Saint Laurent":{tags:{alt_name:"Yves Saint Laurent",brand:"Saint Laurent","brand:wikidata":"Q2282172","brand:wikipedia":"en:Yves Saint Laurent (brand)",name:"Saint Laurent",shop:"clothes",short_name:"YSL"}},"shop/clothes|Sandro":{tags:{brand:"Sandro",name:"Sandro",shop:"clothes"}},"shop/clothes|Scotch & Soda":{tags:{brand:"Scotch & Soda",name:"Scotch & Soda",shop:"clothes"}},"shop/clothes|Sela":{countryCodes:["kg","ru"],tags:{brand:"Sela","brand:wikidata":"Q62075111",name:"Sela",shop:"clothes"}},"shop/clothes|Select":{nomatch:["shop/convenience|Select"],tags:{brand:"Select",name:"Select",shop:"clothes"}},"shop/clothes|Sergent Major":{countryCodes:["be","de","es","fr","gb","it"],tags:{brand:"Sergent Major","brand:wikidata":"Q62521738","brand:wikipedia":"fr:Sergent Major (entreprise)",clothes:"babies;children",name:"Sergent Major",shop:"clothes"}},"shop/clothes|Shoeby":{countryCodes:["nl"],tags:{brand:"Shoeby",name:"Shoeby",shop:"clothes"}},"shop/clothes|Sinsay":{countryCodes:["pl"],tags:{brand:"Sinsay",name:"Sinsay",shop:"clothes"}},"shop/clothes|Sisley":{countryCodes:["at","ch","de","hr","it","ru"],tags:{brand:"Sisley","brand:wikidata":"Q12054325","brand:wikipedia":"cs:Sisley",name:"Sisley",shop:"clothes"}},"shop/clothes|Slaters":{countryCodes:["gb"],tags:{brand:"Slaters","brand:wikidata":"Q7538912",clothes:"suits",name:"Slaters",shop:"clothes"}},"shop/clothes|Spanx":{countryCodes:["us"],tags:{brand:"Spanx","brand:wikidata":"Q1932886","brand:wikipedia":"en:Spanx",clothes:"underwear",name:"Spanx",shop:"clothes"}},"shop/clothes|Springfield":{tags:{brand:"Springfield","brand:wikidata":"Q958209","brand:wikipedia":"es:Springfield (cadena de tiendas)",name:"Springfield",shop:"clothes"}},"shop/clothes|Stefanel":{countryCodes:["at","de","fr","it"],tags:{brand:"Stefanel","brand:wikidata":"Q2338087","brand:wikipedia":"ro:Stefanel (companie)",name:"Stefanel",shop:"clothes"}},"shop/clothes|Steps":{countryCodes:["nl"],tags:{brand:"Steps",name:"Steps",shop:"clothes"}},"shop/clothes|Stitches":{countryCodes:["ca"],tags:{brand:"Stitches","brand:wikidata":"Q7617652","brand:wikipedia":"en:Stitches (store)",name:"Stitches",shop:"clothes"}},"shop/clothes|Stradivarius":{tags:{brand:"Stradivarius","brand:wikidata":"Q3322945","brand:wikipedia":"en:Stradivarius (clothing brand)",name:"Stradivarius",shop:"clothes"}},"shop/clothes|Street One":{countryCodes:["at","be","bg","ch","cz","de","dk","es","fi","fr","hr","hu","ie","it","lt","lu","lv","nl","no","pl","ro","se","si","sk"],tags:{brand:"Street One","brand:wikidata":"Q61997265",name:"Street One",shop:"clothes"}},"shop/clothes|Suburbia":{countryCodes:["mx"],tags:{brand:"Suburbia","brand:wikidata":"Q6134992","brand:wikipedia":"en:Suburbia (department store)",name:"Suburbia",shop:"clothes"}},"shop/clothes|Superdry":{tags:{brand:"Superdry","brand:wikidata":"Q1684445","brand:wikipedia":"en:Superdry",name:"Superdry",shop:"clothes"}},"shop/clothes|Suzy Shier":{countryCodes:["ca"],tags:{brand:"Suzy Shier","brand:wikidata":"Q65464976",clothes:"women",name:"Suzy Shier",shop:"clothes"}},"shop/clothes|TJ Maxx":{countryCodes:["us"],tags:{brand:"TJ Maxx","brand:wikidata":"Q10860683","brand:wikipedia":"en:TJ Maxx",name:"TJ Maxx",shop:"clothes"}},"shop/clothes|TK Maxx":{tags:{brand:"TK Maxx","brand:wikidata":"Q23823668","brand:wikipedia":"en:TK Maxx",name:"TK Maxx",shop:"clothes"}},"shop/clothes|Takko":{countryCodes:["at","cz","de","hu","nl"],matchNames:["takko fashion"],tags:{brand:"Takko","brand:wikidata":"Q1371302","brand:wikipedia":"de:Takko",name:"Takko",shop:"clothes"}},"shop/clothes|Talbots":{countryCodes:["ca","us"],tags:{brand:"Talbots","brand:wikidata":"Q7679064","brand:wikipedia":"en:Talbots",name:"Talbots",shop:"clothes"}},"shop/clothes|Tally Weijl":{tags:{brand:"Tally Weijl","brand:wikidata":"Q689695","brand:wikipedia":"en:Tally Weijl",name:"Tally Weijl",shop:"clothes"}},"shop/clothes|Tati":{countryCodes:["dz","fr"],tags:{brand:"Tati","brand:wikidata":"Q3516026","brand:wikipedia":"fr:Tati (entreprise)",name:"Tati",shop:"clothes"}},"shop/clothes|Terranova":{tags:{brand:"Terranova",name:"Terranova",shop:"clothes"}},"shop/clothes|Tezenis":{tags:{brand:"Tezenis","brand:wikidata":"Q28056374",name:"Tezenis",shop:"clothes"}},"shop/clothes|The Children's Place":{countryCodes:["ca","us"],tags:{alt_name:"Children's Place",brand:"The Children's Place","brand:wikidata":"Q3520257","brand:wikipedia":"en:The Children's Place",name:"The Children's Place",shop:"clothes"}},"shop/clothes|The North Face":{tags:{alt_name:"North Face",brand:"The North Face","brand:wikidata":"Q152784","brand:wikipedia":"en:The North Face",name:"The North Face",shop:"clothes"}},"shop/clothes|The Sting":{countryCodes:["be","de","gb","nl"],tags:{brand:"The Sting","brand:wikidata":"Q2518794","brand:wikipedia":"nl:The Sting Companies",name:"The Sting",shop:"clothes"}},"shop/clothes|The Walking Company":{tags:{alt_name:"Walking Company",brand:"The Walking Company","brand:wikidata":"Q30716262","brand:wikipedia":"en:The Walking Company",name:"The Walking Company",shop:"clothes"}},"shop/clothes|Tillys":{countryCodes:["tr"],tags:{brand:"Tillys","brand:wikidata":"Q7802889","brand:wikipedia":"en:Tillys",clothes:"children;men;women",name:"Tillys",shop:"clothes"}},"shop/clothes|Timberland":{tags:{brand:"Timberland","brand:wikidata":"Q1539185","brand:wikipedia":"en:The Timberland Company",name:"Timberland",shop:"clothes"}},"shop/clothes|Tip Top Tailors":{countryCodes:["ca"],tags:{brand:"Tip Top Tailors","brand:wikidata":"Q7808781","brand:wikipedia":"en:Tip Top Tailors",clothes:"men",name:"Tip Top Tailors",shop:"clothes"}},"shop/clothes|Tom Tailor":{tags:{brand:"Tom Tailor","brand:wikidata":"Q571206","brand:wikipedia":"en:Tom Tailor",name:"Tom Tailor",shop:"clothes"}},"shop/clothes|Tommy Bahama":{countryCodes:["ca","us"],tags:{brand:"Tommy Bahama","brand:wikidata":"Q3531299","brand:wikipedia":"en:Tommy Bahama",name:"Tommy Bahama",shop:"clothes"}},"shop/clothes|Tommy Hilfiger":{tags:{brand:"Tommy Hilfiger","brand:wikidata":"Q634881","brand:wikipedia":"en:Tommy Hilfiger (company)",name:"Tommy Hilfiger",shop:"clothes"}},"shop/clothes|Top Secret":{countryCodes:["fr","pl","ru"],tags:{brand:"Top Secret",name:"Top Secret",shop:"clothes"}},"shop/clothes|Topshop":{tags:{brand:"Topshop","brand:wikidata":"Q1893576","brand:wikipedia":"en:Topshop",name:"Topshop",shop:"clothes"}},"shop/clothes|Torrid":{countryCodes:["us"],tags:{brand:"Torrid","brand:wikidata":"Q7827120","brand:wikipedia":"en:Torrid (clothing retailer)",name:"Torrid",shop:"clothes"}},"shop/clothes|Tory Burch":{countryCodes:["us"],tags:{brand:"Tory Burch","brand:wikidata":"Q19988222","brand:wikipedia":"en:Tory Burch (company)",name:"Tory Burch",shop:"clothes"}},"shop/clothes|Triumph":{tags:{brand:"Triumph","brand:wikidata":"Q671216","brand:wikipedia":"en:Triumph International",name:"Triumph",shop:"clothes"}},"shop/clothes|Truworths":{countryCodes:["za"],tags:{brand:"Truworths","brand:wikidata":"Q24233998","brand:wikipedia":"en:Truworths",name:"Truworths",shop:"clothes"}},"shop/clothes|UNTUCKit":{countryCodes:["ca","us"],tags:{brand:"UNTUCKit","brand:wikidata":"Q28207006","brand:wikipedia":"en:Untuckit",name:"UNTUCKit",shop:"clothes"}},"shop/clothes|USC":{countryCodes:["gb","ie"],tags:{brand:"USC","brand:wikidata":"Q7866331","brand:wikipedia":"en:USC (clothing retailer)",name:"USC",shop:"clothes"}},"shop/clothes|Ulla Popken":{countryCodes:["at","be","ch","de","fr","nl"],tags:{brand:"Ulla Popken","brand:wikidata":"Q2475146","brand:wikipedia":"en:Ulla Popken",name:"Ulla Popken",shop:"clothes"}},"shop/clothes|Under Armour":{matchNames:["under armor"],tags:{brand:"Under Armour","brand:wikidata":"Q2031485","brand:wikipedia":"en:Under Armour",clothes:"men;women",name:"Under Armour",shop:"clothes"}},"shop/clothes|Uniqlo":{tags:{brand:"Uniqlo","brand:wikidata":"Q26070","brand:wikipedia":"en:Uniqlo",name:"Uniqlo",shop:"clothes"}},"shop/clothes|United Colors of Benetton":{tags:{brand:"United Colors of Benetton","brand:wikidata":"Q817139","brand:wikipedia":"en:Benetton Group",name:"United Colors of Benetton",shop:"clothes",short_name:"Benetton"}},"shop/clothes|Urban Outfitters":{tags:{brand:"Urban Outfitters","brand:wikidata":"Q3552193","brand:wikipedia":"en:Urban Outfitters",name:"Urban Outfitters",shop:"clothes"}},"shop/clothes|Vero Moda":{tags:{brand:"Vero Moda","brand:wikidata":"Q594721","brand:wikipedia":"en:Bestseller (company)",name:"Vero Moda",shop:"clothes"}},"shop/clothes|Victoria's Secret":{tags:{brand:"Victoria's Secret","brand:wikidata":"Q332477","brand:wikipedia":"en:Victoria's Secret",clothes:"underwear;women",name:"Victoria's Secret",shop:"clothes"}},"shop/clothes|Vilebrequin":{countryCodes:["fr","it"],tags:{brand:"Vilebrequin","brand:wikidata":"Q3558391","brand:wikipedia":"en:Vilebrequin",clothes:"swimwear",name:"Vilebrequin",shop:"clothes"}},"shop/clothes|Vineyard Vines":{countryCodes:["us"],tags:{brand:"Vineyard Vines","brand:wikidata":"Q7932495","brand:wikipedia":"en:Vineyard Vines",name:"Vineyard Vines",shop:"clothes"}},"shop/clothes|Volcom":{tags:{brand:"Volcom","brand:wikidata":"Q2021416","brand:wikipedia":"en:Volcom",name:"Volcom",shop:"clothes"}},"shop/clothes|WE":{countryCodes:["be","ch","de","nl"],tags:{brand:"WE","brand:wikidata":"Q1987861","brand:wikipedia":"en:WE (clothing)",name:"WE",shop:"clothes"}},"shop/clothes|Wacoal":{tags:{brand:"Wacoal","brand:wikidata":"Q909522","brand:wikipedia":"en:Wacoal",clothes:"underwear",name:"Wacoal",shop:"clothes"}},"shop/clothes|West 49":{countryCodes:["ca"],tags:{brand:"West 49","brand:wikidata":"Q7984218","brand:wikipedia":"en:West 49",name:"West 49",shop:"clothes"}},"shop/clothes|White House Black Market":{countryCodes:["ca","us"],matchNames:["white house | black market"],tags:{brand:"White House Black Market","brand:wikidata":"Q7994858","brand:wikipedia":"en:White House Black Market",name:"White House Black Market",shop:"clothes"}},"shop/clothes|White Stuff":{countryCodes:["de","dk","gb","gg"],tags:{brand:"White Stuff","brand:wikidata":"Q7995442","brand:wikipedia":"en:White Stuff Clothing",name:"White Stuff",shop:"clothes"}},"shop/clothes|Wibra":{countryCodes:["be","nl"],tags:{brand:"Wibra","brand:wikidata":"Q943405","brand:wikipedia":"en:Wibra",name:"Wibra",shop:"clothes"}},"shop/clothes|Wilsons Leather":{countryCodes:["ca","us"],tags:{brand:"Wilsons Leather","brand:wikidata":"Q8023296","brand:wikipedia":"en:Wilsons Leather",clothes:"men;women",name:"Wilsons Leather",shop:"clothes"}},"shop/clothes|Winners":{countryCodes:["ca","es"],tags:{brand:"Winners","brand:wikidata":"Q845257","brand:wikipedia":"en:Winners",name:"Winners",shop:"clothes"}},"shop/clothes|Wolford":{countryCodes:["at","de","fr","gb","it","nl"],tags:{brand:"Wolford","brand:wikidata":"Q431607","brand:wikipedia":"en:Wolford",name:"Wolford",shop:"clothes"}},"shop/clothes|Woolworths":{countryCodes:["za"],nomatch:["shop/supermarket|Woolworths"],tags:{brand:"Woolworths","brand:wikidata":"Q8033997","brand:wikipedia":"en:Woolworths Holdings Limited",name:"Woolworths",shop:"clothes"}},"shop/clothes|XXI Forever":{countryCodes:["us"],tags:{brand:"Forever 21","brand:wikidata":"Q1060537","brand:wikipedia":"en:Forever 21",name:"XXI Forever",shop:"clothes"}},"shop/clothes|Yamamay":{countryCodes:["es","it"],tags:{brand:"Yamamay","brand:wikidata":"Q2599214","brand:wikipedia":"it:Yamamay",name:"Yamamay",shop:"clothes"}},"shop/clothes|Z":{nomatch:["amenity/fuel|Z"],tags:{brand:"Z",clothes:"babies;children",name:"Z",shop:"clothes"}},"shop/clothes|Zara":{tags:{brand:"Zara","brand:wikidata":"Q147662","brand:wikipedia":"en:Zara (retailer)",name:"Zara",shop:"clothes"}},"shop/clothes|Zeeman":{countryCodes:["be","de","fr","lu","nl"],tags:{brand:"Zeeman","brand:wikidata":"Q184399","brand:wikipedia":"en:Zeeman (store)",name:"Zeeman",shop:"clothes"}},"shop/clothes|Zumiez":{countryCodes:["ca","us"],tags:{brand:"Zumiez","brand:wikidata":"Q8075252","brand:wikipedia":"en:Zumiez",name:"Zumiez",shop:"clothes"}},"shop/clothes|mister*lady":{countryCodes:["at","de"],tags:{brand:"mister*lady","brand:wikidata":"Q18640136","brand:wikipedia":"de:Mister*lady",name:"mister*lady",shop:"clothes"}},"shop/clothes|rue21":{countryCodes:["us"],tags:{brand:"rue21","brand:wikidata":"Q7377762","brand:wikipedia":"en:Rue21",name:"rue21",shop:"clothes"}},"shop/clothes|s.Oliver":{countryCodes:["at","be","de","fr","hr"],tags:{brand:"s.Oliver","brand:wikidata":"Q265056","brand:wikipedia":"en:S.Oliver",name:"s.Oliver",shop:"clothes"}},"shop/clothes|Липненски":{countryCodes:["bg"],tags:{brand:"Липненски",name:"Липненски",shop:"clothes"}},"shop/clothes|Московская ярмарка":{countryCodes:["ru","ua"],tags:{brand:"Московская ярмарка",name:"Московская ярмарка",shop:"clothes"}},"shop/clothes|Смешные цены":{countryCodes:["kz","ru"],tags:{brand:"Смешные цены",name:"Смешные цены",shop:"clothes"}},"shop/clothes|しまむら":{countryCodes:["jp"],tags:{brand:"しまむら","brand:en":"Shimamura","brand:ja":"しまむら","brand:wikidata":"Q7758173","brand:wikipedia":"ja:しまむら",name:"しまむら","name:en":"Shimamura","name:ja":"しまむら",shop:"clothes"}},"shop/clothes|はるやま":{countryCodes:["jp"],tags:{brand:"はるやま","brand:en":"Haruyama","brand:ja":"はるやま","brand:wikidata":"Q11275918","brand:wikipedia":"ja:はるやま商事",name:"はるやま","name:en":"Haruyama","name:ja":"はるやま",shop:"clothes"}},"shop/clothes|コナカ":{countryCodes:["jp"],tags:{brand:"コナカ","brand:ja":"コナカ",name:"コナカ","name:ja":"コナカ",shop:"clothes"}},"shop/clothes|ユニクロ":{countryCodes:["jp"],tags:{brand:"ユニクロ","brand:en":"UNIQLO","brand:ja":"ユニクロ","brand:wikidata":"Q26070","brand:wikipedia":"en:Uniqlo",name:"ユニクロ","name:en":"UNIQLO","name:ja":"ユニクロ",shop:"clothes"}},"shop/clothes|ライトオン":{countryCodes:["jp"],tags:{brand:"ライトオン","brand:en":"Right-on","brand:ja":"ライトオン","brand:wikidata":"Q11346416","brand:wikipedia":"ja:ライトオン",name:"ライトオン","name:en":"Right-on","name:ja":"ライトオン",shop:"clothes"}},"shop/clothes|ワークマン":{countryCodes:["jp"],tags:{brand:"ワークマン","brand:en":"Workman","brand:ja":"ワークマン","brand:wikidata":"Q11351660","brand:wikipedia":"ja:ワークマン",name:"ワークマン","name:en":"Workman","name:ja":"ワークマン",shop:"clothes"}},"shop/clothes|洋服の青山":{countryCodes:["jp"],tags:{brand:"洋服の青山","brand:en":"Aoyama Tailor","brand:ja":"洋服の青山","brand:wikidata":"Q11661241","brand:wikipedia":"ja:青山商事",name:"洋服の青山","name:en":"Aoyama Tailor","name:ja":"洋服の青山",shop:"clothes"}},"shop/coffee|Nespresso":{tags:{brand:"Nespresso","brand:wikidata":"Q301301","brand:wikipedia":"en:Nespresso",name:"Nespresso",shop:"coffee"}},"shop/coffee|Tchibo":{countryCodes:["at","ch","cz","de","pl","sk"],matchTags:["shop/convenience"],tags:{brand:"Tchibo","brand:wikidata":"Q564213","brand:wikipedia":"de:Tchibo",name:"Tchibo",shop:"coffee"}},"shop/computer|DNS":{countryCodes:["ru","ua"],tags:{alt_name:"ДНС",brand:"DNS","brand:en":"DNS","brand:ru":"ДНС","brand:wikidata":"Q4036922","brand:wikipedia":"ru:DNS (компания)",name:"DNS","name:en":"DNS","name:ru":"ДНС",shop:"computer"}},"shop/computer|PC World":{countryCodes:["gb"],tags:{brand:"PC World","brand:wikidata":"Q7118727","brand:wikipedia":"en:PC World (retailer)",name:"PC World",shop:"computer"}},"shop/confectionery|Adyar Ananda Bhavan":{countryCodes:["in"],matchTags:["amenity/restaurant"],tags:{brand:"Adyar Ananda Bhavan","brand:wikidata":"Q15178238","brand:wikipedia":"en:Adyar Ananda Bhavan",name:"Adyar Ananda Bhavan",shop:"confectionery"}},"shop/confectionery|Hemmakvall":{countryCodes:["se"],tags:{brand:"Hemmakväll","brand:wikidata":"Q10521791","brand:wikipedia":"sv:Hemmakväll",name:"Hemmakväll",shop:"confectionery"}},"shop/confectionery|Hotel Chocolat":{countryCodes:["gb"],tags:{brand:"Hotel Chocolat","brand:wikidata":"Q5911369",name:"Hotel Chocolat",shop:"confectionery"}},"shop/confectionery|Hussel":{countryCodes:["at","de"],tags:{brand:"Hussel","brand:wikidata":"Q17123688","brand:wikipedia":"de:Hussel",name:"Hussel",shop:"confectionery"}},"shop/confectionery|Jamin":{countryCodes:["nl"],tags:{brand:"Jamin","brand:wikidata":"Q2291848","brand:wikipedia":"nl:Jamin",name:"Jamin",shop:"confectionery"}},"shop/confectionery|Kilwins":{countryCodes:["us"],matchTags:["amenity/ice_cream"],tags:{brand:"Kilwins","brand:wikidata":"Q38250832","brand:wikipedia":"en:Kilwins",cuisine:"chocolate;ice_cream;popcorn",name:"Kilwins",shop:"confectionery"}},"shop/confectionery|Rocky Mountain Chocolate Factory":{countryCodes:["ca","us"],tags:{brand:"Rocky Mountain Chocolate Factory","brand:wikidata":"Q7355878","brand:wikipedia":"en:Rocky Mountain Chocolate Factory",name:"Rocky Mountain Chocolate Factory",shop:"confectionery"}},"shop/confectionery|See's Candies":{countryCodes:["us"],matchNames:["sees candy"],tags:{brand:"See's Candies","brand:wikidata":"Q2103510","brand:wikipedia":"en:See's Candies",name:"See's Candies",shop:"confectionery"}},"shop/confectionery|T. SN":{countryCodes:["ec"],tags:{brand:"T. SN",name:"T. SN",shop:"confectionery"}},"shop/confectionery|Thorntons":{countryCodes:["gb"],tags:{brand:"Thorntons","brand:wikidata":"Q683102","brand:wikipedia":"en:Thorntons",name:"Thorntons",shop:"confectionery"}},"shop/confectionery|Вацак":{countryCodes:["ua"],tags:{brand:"Вацак","brand:wikidata":"Q30966576","brand:wikipedia":"uk:Кондитерський Дім «Вацак»",name:"Вацак",shop:"confectionery"}},"shop/confectionery|シャトレーゼ":{countryCodes:["jp"],tags:{brand:"シャトレーゼ","brand:en":"Chateraise","brand:ja":"シャトレーゼ","brand:wikidata":"Q11307696","brand:wikipedia":"ja:シャトレーゼ",name:"シャトレーゼ","name:en":"Chateraise","name:ja":"シャトレーゼ",shop:"confectionery"}},"shop/confectionery|不二家":{countryCodes:["jp"],tags:{brand:"不二家",name:"不二家",shop:"confectionery"}},"shop/convenience|1st Stop":{countryCodes:["us"],matchNames:["first stop"],tags:{brand:"1st Stop","brand:wikidata":"Q65706152",name:"1st Stop",shop:"convenience"}},"shop/convenience|24 часа":{countryCodes:["by","kz","ru","ua"],tags:{brand:"24 часа",name:"24 часа",shop:"convenience"}},"shop/convenience|7-Eleven":{matchNames:["7-11","seven eleven"],matchTags:["shop/supermarket"],nomatch:["amenity/fuel|7-Eleven"],tags:{brand:"7-Eleven","brand:wikidata":"Q259340","brand:wikipedia":"en:7-Eleven",name:"7-Eleven",shop:"convenience"}},"shop/convenience|76":{nomatch:["amenity/fuel|76"],tags:{brand:"76","brand:wikidata":"Q1658320","brand:wikipedia":"en:76 (gas station)",name:"76",shop:"convenience"}},"shop/convenience|8 à Huit":{countryCodes:["fr"],nomatch:["shop/supermarket|8 à Huit"],tags:{brand:"8 à Huit","brand:wikidata":"Q2818601","brand:wikipedia":"fr:8 à Huit",name:"8 à Huit",shop:"convenience"}},"shop/convenience|99 Speedmart":{countryCodes:["br","my","us"],tags:{brand:"99 Speedmart","brand:wikidata":"Q62075061",name:"99 Speedmart",shop:"convenience"}},"shop/convenience|ABC~(Hawaii)":{countryCodes:["us"],matchNames:["abc stores"],nomatch:["amenity/fuel|ABC"],tags:{brand:"ABC","brand:wikidata":"Q4650251","brand:wikipedia":"en:ABC Stores (Hawaii)",name:"ABC",shop:"convenience"}},"shop/convenience|Aibė":{countryCodes:["lt"],tags:{brand:"Aibė","brand:wikidata":"Q1022952","brand:wikipedia":"de:Aibė",name:"Aibė",shop:"convenience"}},"shop/convenience|Albert Heijn to go":{countryCodes:["nl"],tags:{brand:"Albert Heijn to go","brand:wikidata":"Q1653985","brand:wikipedia":"en:Albert Heijn",name:"Albert Heijn to go",shop:"convenience"}},"shop/convenience|Alepa":{countryCodes:["fi"],tags:{brand:"Alepa","brand:wikidata":"Q4716167","brand:wikipedia":"fi:Alepa",name:"Alepa",shop:"convenience"}},"shop/convenience|Alfamart":{countryCodes:["id"],tags:{brand:"Alfamart","brand:wikidata":"Q23745600","brand:wikipedia":"id:Alfamart",name:"Alfamart",shop:"convenience"}},"shop/convenience|Alfamidi":{countryCodes:["id"],tags:{brand:"Alfamidi","brand:wikidata":"Q12471462","brand:wikipedia":"id:Alfamidi",name:"Alfamidi",shop:"convenience"}},"shop/convenience|Almacén":{countryCodes:["ar","bo","cl","pe","uy"],tags:{brand:"Almacén",name:"Almacén",shop:"convenience"}},"shop/convenience|Aral":{countryCodes:["de"],matchNames:["aral tankstelle"],matchTags:["shop/kiosk"],nomatch:["amenity/fuel|Aral"],tags:{brand:"Aral","brand:wikidata":"Q565734","brand:wikipedia":"en:Aral AG",name:"Aral",shop:"convenience"}},"shop/convenience|BP Shop":{countryCodes:["au","ch","fr","gb","us"],nomatch:["amenity/fuel|BP"],tags:{brand:"BP Shop","brand:wikidata":"Q152057","brand:wikipedia":"en:BP",name:"BP Shop",shop:"convenience"}},"shop/convenience|Best-one":{countryCodes:["gb"],tags:{brand:"Best-one","brand:wikidata":"Q4896532","brand:wikipedia":"en:Best-one",name:"Best-one",shop:"convenience"}},"shop/convenience|Bonjour":{tags:{brand:"Bonjour",name:"Bonjour",shop:"convenience"}},"shop/convenience|Buc-ee's":{countryCodes:["us"],tags:{brand:"Buc-ee's","brand:wikidata":"Q4982335","brand:wikipedia":"en:Buc-ee's",name:"Buc-ee's",shop:"convenience"}},"shop/convenience|Budgens":{nomatch:["shop/supermarket|Budgens"],tags:{brand:"Budgens","brand:wikidata":"Q4985016","brand:wikipedia":"en:Budgens",name:"Budgens",shop:"convenience"}},"shop/convenience|CBA":{tags:{brand:"CBA","brand:wikidata":"Q779845","brand:wikipedia":"en:CBA (food retail)",name:"CBA",shop:"convenience"}},"shop/convenience|COOP Jednota":{countryCodes:["cz","sk"],matchNames:["jednota"],nomatch:["shop/supermarket|COOP Jednota"],tags:{brand:"COOP Jednota","brand:wikidata":"Q41629254","brand:wikipedia":"sk:COOP Jednota Slovensko",name:"COOP Jednota",shop:"convenience"}},"shop/convenience|CU":{countryCodes:["kr"],tags:{brand:"CU",name:"CU",shop:"convenience"}},"shop/convenience|Carrefour Express":{matchTags:["shop/supermarket"],nomatch:["amenity/fuel|Carrefour","shop/supermarket|Carrefour"],tags:{brand:"Carrefour Express","brand:wikidata":"Q2940190","brand:wikipedia":"fr:Carrefour Express",name:"Carrefour Express",shop:"convenience"}},"shop/convenience|Casey's General Store":{nomatch:["amenity/fuel|Casey's General Store"],tags:{brand:"Casey's General Store","brand:wikidata":"Q2940968","brand:wikipedia":"en:Casey's General Stores",name:"Casey's General Store",shop:"convenience"}},"shop/convenience|Casino":{tags:{brand:"Casino",name:"Casino",shop:"convenience"}},"shop/convenience|Casino Shop":{countryCodes:["fr"],tags:{brand:"Casino Shop",name:"Casino Shop",shop:"convenience"}},"shop/convenience|Centra":{countryCodes:["gb","ie"],tags:{brand:"Centra","brand:wikidata":"Q747678","brand:wikipedia":"en:Centra",name:"Centra",shop:"convenience"}},"shop/convenience|Central Convenience Store":{tags:{brand:"Central Convenience Store",name:"Central Convenience Store",shop:"convenience"}},"shop/convenience|Chata Polska":{nomatch:["shop/supermarket|Chata Polska"],tags:{brand:"Chata Polska","brand:wikidata":"Q61994406",name:"Chata Polska",shop:"convenience"}},"shop/convenience|Cheers":{countryCodes:["sg","vn"],tags:{brand:"Cheers","brand:wikidata":"Q64154066",name:"Cheers",opening_hours:"24/7",shop:"convenience"}},"shop/convenience|Chevron":{nomatch:["amenity/fuel|Chevron"],tags:{brand:"Chevron","brand:wikidata":"Q319642","brand:wikipedia":"en:Chevron Corporation",name:"Chevron",shop:"convenience"}},"shop/convenience|Circle K":{matchNames:["ok","ok-mart"],nomatch:["amenity/fuel|Circle K"],tags:{brand:"Circle K","brand:wikidata":"Q3268010","brand:wikipedia":"en:Circle K",name:"Circle K",shop:"convenience"}},"shop/convenience|Citgo":{nomatch:["amenity/fuel|Citgo"],tags:{brand:"Citgo","brand:wikidata":"Q2974437","brand:wikipedia":"en:Citgo",name:"Citgo",shop:"convenience"}},"shop/convenience|Clark's Pump-N-Shop":{countryCodes:["us"],tags:{brand:"Clark's Pump-N-Shop","brand:wikidata":"Q65118218",name:"Clark's Pump-N-Shop",shop:"convenience"}},"shop/convenience|Co-op~(Canada)":{countryCodes:["ca"],nomatch:["amenity/fuel|Co-op~(Canada)","shop/convenience|Coop~(Schweiz)","shop/convenience|The Co-operative Food~(UK)","shop/supermarket|Co-op~(Canada)","shop/supermarket|Coop~(Schweiz)","shop/supermarket|The Co-operative Food~(UK)"],tags:{brand:"Federated Co-operatives","brand:wikidata":"Q5440676","brand:wikipedia":"en:Federated Co-operatives",name:"Co-op",shop:"convenience"}},"shop/convenience|CocciMarket":{countryCodes:["fr"],tags:{brand:"CocciMarket",name:"CocciMarket",shop:"convenience"}},"shop/convenience|Coles Express":{nomatch:["amenity/fuel|Coles Express"],tags:{brand:"Coles Express","brand:wikidata":"Q5144653","brand:wikipedia":"en:Coles Express",name:"Coles Express",shop:"convenience"}},"shop/convenience|Coop Pronto":{countryCodes:["ch","li"],nomatch:["amenity/cafe|Pronto"],tags:{brand:"Coop Pronto","brand:wikidata":"Q1129777","brand:wikipedia":"de:Coop Mineraloel",name:"Coop Pronto",shop:"convenience"}},"shop/convenience|Coop~(Schweiz)":{countryCodes:["ch"],nomatch:["amenity/fuel|Co-op~(Canada)","shop/convenience|Co-op~(Canada)","shop/convenience|The Co-operative Food~(UK)","shop/supermarket|Co-op~(Canada)","shop/supermarket|Coop~(Schweiz)","shop/supermarket|The Co-operative Food~(UK)"],tags:{brand:"Coop","brand:wikidata":"Q432564","brand:wikipedia":"de:Coop (Schweiz)",name:"Coop",shop:"convenience"}},"shop/convenience|Costcutter":{nomatch:["shop/supermarket|Costcutter"],tags:{brand:"Costcutter","brand:wikidata":"Q5175072","brand:wikipedia":"en:Costcutter",name:"Costcutter",shop:"convenience"}},"shop/convenience|Couche-Tard":{nomatch:["amenity/fuel|Couche-Tard"],tags:{brand:"Couche-Tard","brand:wikidata":"Q2836957","brand:wikipedia":"en:Alimentation Couche-Tard",name:"Couche-Tard",shop:"convenience"}},"shop/convenience|Cumberland Farms":{nomatch:["amenity/fuel|Cumberland Farms"],tags:{brand:"Cumberland Farms","brand:wikidata":"Q1143685","brand:wikipedia":"en:Cumberland Farms",name:"Cumberland Farms",shop:"convenience"}},"shop/convenience|Daisy Mart":{countryCodes:["ca"],tags:{brand:"Daisy Mart","brand:wikidata":"Q61994934",name:"Daisy Mart",shop:"convenience"}},"shop/convenience|Delikatesy Centrum":{countryCodes:["pl"],nomatch:["shop/supermarket|Delikatesy Centrum"],tags:{brand:"Delikatesy Centrum","brand:wikidata":"Q11693824","brand:wikipedia":"pl:Delikatesy Centrum",name:"Delikatesy Centrum",shop:"convenience"}},"shop/convenience|Express":{nomatch:["shop/clothes|Express"],tags:{brand:"Express",name:"Express",shop:"convenience"}},"shop/convenience|ExtraMile":{countryCodes:["us"],tags:{brand:"ExtraMile","brand:wikidata":"Q64224605",name:"ExtraMile",shop:"convenience"}},"shop/convenience|FamilyMart":{tags:{brand:"FamilyMart","brand:wikidata":"Q1191685","brand:wikipedia":"en:FamilyMart",name:"FamilyMart",shop:"convenience"}},"shop/convenience|Food Mart":{tags:{brand:"Food Mart",name:"Food Mart",shop:"convenience"}},"shop/convenience|Four Square":{countryCodes:["nz"],tags:{brand:"Four Square","brand:wikidata":"Q5475558","brand:wikipedia":"en:Four Square (supermarket)",name:"Four Square",shop:"convenience"}},"shop/convenience|Franprix":{countryCodes:["fr"],matchTags:["shop/supermarket"],tags:{brand:"Franprix","brand:wikidata":"Q2420096","brand:wikipedia":"fr:Franprix",name:"Franprix",shop:"convenience"}},"shop/convenience|Fresh":{tags:{brand:"Fresh",name:"Fresh",shop:"convenience"}},"shop/convenience|Freshmarket":{countryCodes:["pl"],tags:{brand:"Freshmarket","brand:wikidata":"Q16546326","brand:wikipedia":"pl:Freshmarket",name:"Freshmarket",shop:"convenience"}},"shop/convenience|GS25":{countryCodes:["kr"],matchTags:["shop/supermarket"],tags:{brand:"GS25","brand:wikidata":"Q624041","brand:wikipedia":"ko:GS25",name:"GS25",shop:"convenience"}},"shop/convenience|Groszek":{countryCodes:["pl"],nomatch:["shop/supermarket|Groszek"],tags:{brand:"Groszek","brand:wikidata":"Q9280965","brand:wikipedia":"pl:Groszek (sieć sklepów)",name:"Groszek",shop:"convenience"}},"shop/convenience|Hasty Market":{countryCodes:["ca"],tags:{brand:"Hasty Market","brand:wikidata":"Q58022603",name:"Hasty Market",shop:"convenience"}},"shop/convenience|Holiday":{nomatch:["amenity/fuel|Holiday"],tags:{brand:"Holiday",name:"Holiday",shop:"convenience"}},"shop/convenience|Hruška":{nomatch:["shop/supermarket|Hruška"],tags:{brand:"Hruška",name:"Hruška",shop:"convenience"}},"shop/convenience|Hudson":{nomatch:["shop/newsagent|Hudson News"],tags:{brand:"Hudson","brand:wikidata":"Q5928787","brand:wikipedia":"en:Hudson Group",name:"Hudson",shop:"convenience"}},"shop/convenience|Husky":{countryCodes:["ca"],nomatch:["amenity/fuel|Husky","amenity/restaurant|Husky House"],tags:{brand:"Husky","brand:wikidata":"Q702049","brand:wikipedia":"en:Husky Energy",name:"Husky",shop:"convenience"}},"shop/convenience|Indomaret":{countryCodes:["id"],matchTags:["shop/supermarket"],tags:{brand:"Indomaret","brand:wikidata":"Q4262825","brand:wikipedia":"en:Indomaret",name:"Indomaret",shop:"convenience"}},"shop/convenience|Indomart":{countryCodes:["id"],tags:{brand:"Indomart",name:"Indomart",shop:"convenience"}},"shop/convenience|Intermarché Contact":{countryCodes:["fr"],matchTags:["shop/supermarket"],tags:{brand:"Intermarché Contact","brand:wikidata":"Q3153200","brand:wikipedia":"fr:Intermarché",name:"Intermarché Contact",shop:"convenience"}},"shop/convenience|Irving":{nomatch:["amenity/fuel|Irving"],tags:{brand:"Irving",name:"Irving",shop:"convenience"}},"shop/convenience|Jacksons":{countryCodes:["us"],tags:{brand:"Jacksons","brand:wikidata":"Q64617393",name:"Jacksons",shop:"convenience"}},"shop/convenience|Jiffy":{tags:{brand:"Jiffy",name:"Jiffy",shop:"convenience"}},"shop/convenience|Joker":{countryCodes:["no"],matchTags:["shop/supermarket"],tags:{brand:"Joker","brand:wikidata":"Q716328","brand:wikipedia":"en:Joker (store)",name:"Joker",shop:"convenience"}},"shop/convenience|K-Market":{countryCodes:["fi"],matchTags:["shop/supermarket"],tags:{brand:"K-Market","brand:wikidata":"Q11868562","brand:wikipedia":"fi:K-Market",name:"K-Market",shop:"convenience"}},"shop/convenience|Kangaroo Express":{countryCodes:["us"],nomatch:["amenity/fuel|Kangaroo Express"],tags:{brand:"Kangaroo Express","brand:wikidata":"Q61747408",name:"Kangaroo Express",shop:"convenience",short_name:"Kangaroo"}},"shop/convenience|Konzum~(Balkans)":{countryCodes:["ba","hr","rs"],nomatch:["shop/convenience|Konzum~(Czechia)","shop/supermarket|Konzum~(Balkans)","shop/supermarket|Konzum~(Czechia)"],tags:{brand:"Konzum","brand:wikidata":"Q518563","brand:wikipedia":"hr:Konzum",name:"Konzum",shop:"convenience"}},"shop/convenience|Konzum~(Czechia)":{countryCodes:["cz","sk"],nomatch:["shop/convenience|Konzum~(Balkans)","shop/supermarket|Konzum~(Balkans)","shop/supermarket|Konzum~(Czechia)"],tags:{brand:"Konzum",name:"Konzum",shop:"convenience"}},"shop/convenience|Kum & Go":{nomatch:["amenity/fuel|Kum & Go"],tags:{brand:"Kum & Go","brand:wikidata":"Q6443340","brand:wikipedia":"en:Kum & Go",name:"Kum & Go",shop:"convenience"}},"shop/convenience|Kwik Shop":{countryCodes:["us"],tags:{brand:"Kwik Shop","brand:wikidata":"Q6450417","brand:wikipedia":"en:Kwik Shop",name:"Kwik Shop",shop:"convenience"}},"shop/convenience|Kwik Trip":{countryCodes:["us"],nomatch:["amenity/fuel|Kwik Trip"],tags:{brand:"Kwik Trip","brand:wikidata":"Q6450420","brand:wikipedia":"en:Kwik Trip",name:"Kwik Trip",shop:"convenience"}},"shop/convenience|Lawson":{tags:{brand:"Lawson","brand:wikidata":"Q1557223","brand:wikipedia":"en:Lawson (store)",name:"Lawson",shop:"convenience"}},"shop/convenience|Lewiatan":{countryCodes:["pl"],nomatch:["shop/supermarket|Lewiatan"],tags:{brand:"Lewiatan","brand:wikidata":"Q11755396","brand:wikipedia":"pl:Lewiatan (sieć handlowa)",name:"Lewiatan",shop:"convenience"}},"shop/convenience|Lifestyle Express":{countryCodes:["gb"],tags:{brand:"Lifestyle Express","brand:wikidata":"Q61994869",name:"Lifestyle Express",shop:"convenience"}},"shop/convenience|Livio":{tags:{brand:"Livio",name:"Livio",shop:"convenience"}},"shop/convenience|Loaf 'N Jug":{countryCodes:["us"],tags:{brand:"Loaf 'N Jug","brand:wikidata":"Q6663398","brand:wikipedia":"en:Loaf 'N Jug",name:"Loaf 'N Jug",shop:"convenience"}},"shop/convenience|Londis":{tags:{brand:"Londis",name:"Londis",shop:"convenience"}},"shop/convenience|M&S Simply Food":{nomatch:["shop/supermarket|M&S Simply Food"],tags:{brand:"M&S Simply Food",name:"M&S Simply Food",shop:"convenience"}},"shop/convenience|Mac's":{nomatch:["amenity/fuel|Mac's"],tags:{brand:"Mac's",name:"Mac's",shop:"convenience"}},"shop/convenience|Mace":{countryCodes:["gb","ie"],tags:{brand:"Mace","brand:wikidata":"Q17089386","brand:wikipedia":"en:Mace (shop)",name:"Mace",shop:"convenience"}},"shop/convenience|Marathon":{nomatch:["amenity/fuel|Marathon"],tags:{brand:"Marathon","brand:wikidata":"Q458363","brand:wikipedia":"en:Marathon Petroleum",name:"Marathon",shop:"convenience"}},"shop/convenience|Maverik":{nomatch:["amenity/fuel|Maverik"],tags:{brand:"Maverik",name:"Maverik",shop:"convenience"}},"shop/convenience|Maxikiosco":{countryCodes:["ar","uy"],tags:{brand:"Maxikiosco",name:"Maxikiosco",shop:"convenience"}},"shop/convenience|Małpka Express":{countryCodes:["pl"],tags:{brand:"Małpka Express","brand:wikidata":"Q18431946","brand:wikipedia":"pl:Małpka Express",name:"Małpka Express",shop:"convenience"}},"shop/convenience|McColl's":{countryCodes:["gb"],matchTags:["shop/newsagent"],tags:{brand:"McColl's","brand:wikidata":"Q16997477","brand:wikipedia":"en:McColl's",name:"McColl's",shop:"convenience"}},"shop/convenience|Mercator":{tags:{brand:"Mercator",name:"Mercator",shop:"convenience"}},"shop/convenience|Migrolino":{countryCodes:["ch"],tags:{brand:"Migrolino","brand:wikidata":"Q56745088","brand:wikipedia":"de:Migrolino",name:"Migrolino",shop:"convenience"}},"shop/convenience|Ministop":{tags:{brand:"Ministop","brand:wikidata":"Q1038929","brand:wikipedia":"en:Ministop",name:"Ministop",shop:"convenience"}},"shop/convenience|Minit Mart":{countryCodes:["us"],tags:{brand:"Minit Mart","brand:wikidata":"Q18154470","brand:wikipedia":"en:Minit Mart Foods Inc.",name:"Minit Mart",shop:"convenience"}},"shop/convenience|Mlin i pekare":{countryCodes:["hr"],tags:{brand:"Mlin i pekare",name:"Mlin i pekare",shop:"convenience"}},"shop/convenience|Mobil Mart":{nomatch:["amenity/fuel|Mobil"],tags:{brand:"Mobil Mart","brand:wikidata":"Q3088656","brand:wikipedia":"en:Mobil",name:"Mobil Mart",shop:"convenience"}},"shop/convenience|Nasz Sklep":{countryCodes:["pl"],tags:{brand:"Nasz Sklep","brand:wikidata":"Q62070369",name:"Nasz Sklep",shop:"convenience"}},"shop/convenience|Neste K":{countryCodes:["fi"],tags:{brand:"Neste K","brand:wikidata":"Q42901270","brand:wikipedia":"fi:Neste K",name:"Neste K",shop:"convenience"}},"shop/convenience|NewDays":{countryCodes:["jp"],matchNames:["newdays ミニ"],tags:{alt_name:"ニューデイズ",brand:"NewDays","brand:wikidata":"Q11234763","brand:wikipedia":"ja:NewDays",name:"NewDays",shop:"convenience"}},"shop/convenience|Nisa":{countryCodes:["gb"],tags:{brand:"Nisa","brand:wikidata":"Q16999069","brand:wikipedia":"en:Nisa (retailer)",name:"Nisa",shop:"convenience"}},"shop/convenience|Nisa Local":{countryCodes:["gb"],tags:{brand:"Nisa Local","brand:wikidata":"Q16999069","brand:wikipedia":"en:Nisa (retailer)",name:"Nisa Local",shop:"convenience"}},"shop/convenience|OK Market":{countryCodes:["cl"],tags:{brand:"OK Market",name:"OK Market",shop:"convenience"}},"shop/convenience|OK便利商店":{countryCodes:["cn","tw"],matchNames:["ok便利店 circle k"],tags:{brand:"OK便利商店","brand:en":"Circle K","brand:wikidata":"Q3268010","brand:wikipedia":"zh:OK便利店",name:"OK便利商店","name:en":"Circle K",shop:"convenience"}},"shop/convenience|Odido":{countryCodes:["pl"],tags:{brand:"Odido",name:"Odido",shop:"convenience"}},"shop/convenience|On the Run":{tags:{brand:"On the Run","brand:wikidata":"Q16931259","brand:wikipedia":"en:On the Run (convenience store)",name:"On the Run",shop:"convenience"}},"shop/convenience|One Stop":{countryCodes:["gb","us"],tags:{brand:"One Stop",name:"One Stop",shop:"convenience"}},"shop/convenience|Orlen":{nomatch:["amenity/fuel|Orlen"],tags:{brand:"Orlen",name:"Orlen",shop:"convenience"}},"shop/convenience|Oxxo":{matchTags:["shop/supermarket"],nomatch:["amenity/fuel|Oxxo"],tags:{brand:"Oxxo","brand:wikidata":"Q1342538","brand:wikipedia":"es:Oxxo",name:"Oxxo",shop:"convenience"}},"shop/convenience|Petit Casino":{countryCodes:["fr"],matchTags:["shop/supermarket"],tags:{brand:"Petit Casino",name:"Petit Casino",shop:"convenience"}},"shop/convenience|Petro-Canada":{nomatch:["amenity/fuel|Petro-Canada"],tags:{brand:"Petro-Canada","brand:wikidata":"Q1208279","brand:wikipedia":"en:Petro-Canada",name:"Petro-Canada",shop:"convenience"}},"shop/convenience|Plaid Pantry":{countryCodes:["us"],tags:{brand:"Plaid Pantry","brand:wikidata":"Q7200591","brand:wikipedia":"en:Plaid Pantry",name:"Plaid Pantry",shop:"convenience"}},"shop/convenience|Premier":{countryCodes:["gb"],tags:{brand:"Premier","brand:wikidata":"Q7240340","brand:wikipedia":"en:Premier Stores",name:"Premier",shop:"convenience"}},"shop/convenience|Proxi":{countryCodes:["ch","fr"],matchTags:["shop/supermarket"],tags:{brand:"Proxi","brand:wikidata":"Q3408522","brand:wikipedia":"fr:Proxi",name:"Proxi",shop:"convenience"}},"shop/convenience|Proxy":{countryCodes:["fr"],tags:{brand:"Proxy",name:"Proxy",shop:"convenience"}},"shop/convenience|Quick Stop":{tags:{brand:"Quick Stop",name:"Quick Stop",shop:"convenience"}},"shop/convenience|QuickChek":{countryCodes:["us"],tags:{brand:"QuickChek",name:"QuickChek",shop:"convenience"}},"shop/convenience|QuikTrip":{nomatch:["amenity/fuel|QuikTrip"],tags:{brand:"QuikTrip",name:"QuikTrip",shop:"convenience"}},"shop/convenience|RaceTrac":{countryCodes:["us"],nomatch:["amenity/fuel|RaceTrac"],tags:{brand:"RaceTrac","brand:wikidata":"Q735942","brand:wikipedia":"en:RaceTrac",name:"RaceTrac",shop:"convenience"}},"shop/convenience|Royal Farms":{countryCodes:["us"],nomatch:["amenity/fuel|Royal Farms"],tags:{brand:"Royal Farms","brand:wikidata":"Q7374169","brand:wikipedia":"en:Royal Farms",name:"Royal Farms",shop:"convenience"}},"shop/convenience|Rutter's":{countryCodes:["us"],tags:{brand:"Rutter's","brand:wikidata":"Q7383544","brand:wikipedia":"en:Rutter's",name:"Rutter's",shop:"convenience"}},"shop/convenience|Sainsbury's Local":{countryCodes:["gb"],matchTags:["shop/supermarket"],tags:{brand:"Sainsbury's Local","brand:wikidata":"Q13218434","brand:wikipedia":"en:Sainsbury's Local",name:"Sainsbury's Local",shop:"convenience"}},"shop/convenience|Sale":{countryCodes:["fi"],tags:{brand:"Sale","brand:wikidata":"Q11892046","brand:wikipedia":"fi:Sale",name:"Sale",shop:"convenience"}},"shop/convenience|Select":{nomatch:["shop/clothes|Select"],tags:{brand:"Select",name:"Select",shop:"convenience"}},"shop/convenience|Sheetz":{nomatch:["amenity/fuel|Sheetz"],tags:{brand:"Sheetz","brand:wikidata":"Q7492551","brand:wikipedia":"en:Sheetz",name:"Sheetz",shop:"convenience"}},"shop/convenience|Shell":{nomatch:["amenity/fuel|Shell","amenity/fuel|Shell Express"],tags:{brand:"Shell","brand:wikidata":"Q154950","brand:wikipedia":"en:Royal Dutch Shell",name:"Shell",shop:"convenience"}},"shop/convenience|Shell Select":{nomatch:["amenity/fuel|Shell","amenity/fuel|Shell Express"],tags:{brand:"Shell Select","brand:wikidata":"Q154950","brand:wikipedia":"en:Royal Dutch Shell",name:"Shell Select",shop:"convenience"}},"shop/convenience|Shop & Go":{tags:{brand:"Shop & Go",name:"Shop & Go",shop:"convenience"}},"shop/convenience|Siwa":{countryCodes:["fi"],tags:{brand:"Siwa","brand:wikidata":"Q11893827","brand:wikipedia":"fi:Siwa",name:"Siwa",shop:"convenience"}},"shop/convenience|Spar":{nomatch:["shop/convenience|Spar Express","shop/supermarket|Spar"],tags:{brand:"Spar","brand:wikidata":"Q610492","brand:wikipedia":"en:Spar (retailer)",name:"Spar",shop:"convenience"}},"shop/convenience|Spar Express":{matchTags:["shop/supermarket"],nomatch:["shop/convenience|Spar","shop/supermarket|Spar"],tags:{brand:"Spar","brand:wikidata":"Q610492","brand:wikipedia":"en:Spar (retailer)",name:"Spar Express",shop:"convenience"}},"shop/convenience|Speedway":{nomatch:["amenity/fuel|Speedway"],tags:{brand:"Speedway","brand:wikidata":"Q7575683","brand:wikipedia":"en:Speedway LLC",name:"Speedway",shop:"convenience"}},"shop/convenience|Społem":{nomatch:["shop/supermarket|Społem"],tags:{brand:"Społem","brand:wikidata":"Q11826043","brand:wikipedia":"pl:Powszechna Spółdzielnia Spożywców „Społem”",name:"Społem",shop:"convenience"}},"shop/convenience|Star Mart":{tags:{brand:"Star Mart","brand:wikidata":"Q61994857",name:"Star Mart",shop:"convenience"}},"shop/convenience|Stewart's":{nomatch:["amenity/fuel|Stewart's"],tags:{brand:"Stewart's",name:"Stewart's",shop:"convenience"}},"shop/convenience|Stripes":{countryCodes:["cl","us"],tags:{brand:"Stripes","brand:wikidata":"Q7624135","brand:wikipedia":"en:Stripes Convenience Stores",name:"Stripes",shop:"convenience"}},"shop/convenience|Studenac":{tags:{brand:"Studenac",name:"Studenac",shop:"convenience"}},"shop/convenience|Sunoco":{nomatch:["amenity/fuel|Sunoco"],tags:{brand:"Sunoco",name:"Sunoco",shop:"convenience"}},"shop/convenience|Supérette":{tags:{brand:"Supérette",name:"Supérette",shop:"convenience"}},"shop/convenience|Słoneczko":{countryCodes:["pl"],tags:{brand:"Słoneczko",name:"Słoneczko",shop:"convenience"}},"shop/convenience|Tesco":{nomatch:["amenity/fuel|Tesco","shop/convenience|Tesco Express"],tags:{brand:"Tesco","brand:wikidata":"Q487494","brand:wikipedia":"en:Tesco",name:"Tesco",shop:"convenience"}},"shop/convenience|Tesco Express":{nomatch:["amenity/fuel|Tesco"],tags:{brand:"Tesco Express","brand:wikidata":"Q487494","brand:wikipedia":"en:Tesco",name:"Tesco Express",shop:"convenience"}},"shop/convenience|Tesco Lotus Express":{countryCodes:["th"],tags:{brand:"Tesco Lotus Express",name:"Tesco Lotus Express",shop:"convenience"}},"shop/convenience|Texaco":{nomatch:["amenity/fuel|Texaco"],tags:{brand:"Texaco",name:"Texaco",shop:"convenience"}},"shop/convenience|The Co-operative Food~(UK)":{countryCodes:["gb"],matchNames:["coop","coop food","cooperative food","the cooperative"],nomatch:["amenity/fuel|Co-op~(Canada)","shop/convenience|Co-op~(Canada)","shop/convenience|Coop~(Schweiz)","shop/supermarket|Co-op~(Canada)","shop/supermarket|Coop~(Schweiz)","shop/supermarket|The Co-operative Food~(UK)"],tags:{brand:"The Co-operative Food","brand:wikidata":"Q3277439","brand:wikipedia":"en:Co-op Food",name:"The Co-operative Food",shop:"convenience"}},"shop/convenience|Tiendita":{countryCodes:["mx"],tags:{brand:"Tiendita",name:"Tiendita",shop:"convenience"}},"shop/convenience|Tiger Mart":{tags:{brand:"Tiger Mart","brand:wikidata":"Q57643977",name:"Tiger Mart",shop:"convenience"}},"shop/convenience|Total":{nomatch:["amenity/fuel|Total"],tags:{brand:"Total",name:"Total",shop:"convenience"}},"shop/convenience|Turkey Hill":{nomatch:["amenity/fuel|Turkey Hill"],tags:{brand:"Turkey Hill","brand:wikidata":"Q42376970","brand:wikipedia":"en:Turkey Hill Minit Markets",name:"Turkey Hill",shop:"convenience"}},"shop/convenience|Ultramar":{nomatch:["amenity/fuel|Ultramar"],tags:{brand:"Ultramar",name:"Ultramar",shop:"convenience"}},"shop/convenience|United Dairy Farmers":{countryCodes:["us"],matchTags:["amenity/ice_cream","shop/ice_cream"],nomatch:["amenity/fuel|United Dairy Farmers"],tags:{amenity:"ice_cream",brand:"United Dairy Farmers","brand:wikidata":"Q7887677","brand:wikipedia":"en:United Dairy Farmers",name:"United Dairy Farmers",shop:"convenience",short_name:"UDF"}},"shop/convenience|Utile":{countryCodes:["fr"],matchTags:["shop/supermarket"],nomatch:["amenity/fuel|Super U","shop/supermarket|Hyper U","shop/supermarket|Super U","shop/supermarket|U Express"],tags:{brand:"Utile","brand:wikidata":"Q2529029","brand:wikipedia":"en:Système U",name:"Utile",shop:"convenience"}},"shop/convenience|Valero":{nomatch:["amenity/fuel|Valero"],tags:{brand:"Valero",name:"Valero",shop:"convenience"}},"shop/convenience|VinMart+":{countryCodes:["vn"],nomatch:["shop/supermarket|VinMart"],tags:{brand:"VinMart","brand:wikidata":"Q60245505","brand:wikipedia":"vi:VinMart",name:"VinMart+",shop:"convenience"}},"shop/convenience|Vival":{countryCodes:["fr","pe"],matchTags:["shop/supermarket"],tags:{brand:"Vival","brand:wikidata":"Q7937525","brand:wikipedia":"en:Vival (shop)",name:"Vival",shop:"convenience"}},"shop/convenience|Volg":{tags:{brand:"Volg",name:"Volg",shop:"convenience"}},"shop/convenience|Wawa":{nomatch:["amenity/fuel|Wawa"],tags:{brand:"Wawa","brand:wikidata":"Q5936320","brand:wikipedia":"en:Wawa (company)",name:"Wawa",shop:"convenience"}},"shop/convenience|Weltladen":{countryCodes:["at","ch","de"],tags:{brand:"Weltladen","brand:wikidata":"Q1640782","brand:wikipedia":"de:Weltladen",name:"Weltladen",shop:"convenience"}},"shop/convenience|Woolworths Petrol":{countryCodes:["au"],nomatch:["amenity/fuel|Woolworths Petrol"],tags:{brand:"Caltex","brand:wikidata":"Q5023980","brand:wikipedia":"en:Caltex Woolworths",name:"Woolworths Petrol",shop:"convenience"}},"shop/convenience|abc~(Poland)":{countryCodes:["pl"],matchTags:["shop/supermarket"],nomatch:["amenity/fuel|ABC"],tags:{brand:"abc","brand:wikidata":"Q11683985","brand:wikipedia":"pl:Abc (sieć handlowa)",name:"abc",shop:"convenience"}},"shop/convenience|ampm":{tags:{brand:"ampm","brand:wikidata":"Q306960","brand:wikipedia":"en:Ampm",name:"ampm",shop:"convenience"}},"shop/convenience|miniピアゴ":{countryCodes:["jp"],matchNames:["ミニピアゴ"],tags:{brand:"miniピアゴ","brand:en":"mini Piago","brand:ja":"miniピアゴ","brand:wikidata":"Q11188499","brand:wikipedia":"ja:Miniピアゴ",name:"miniピアゴ","name:en":"mini Piago","name:ja":"miniピアゴ",shop:"convenience"}},"shop/convenience|Żabka":{countryCodes:["pl"],tags:{brand:"Żabka","brand:wikidata":"Q2589061","brand:wikipedia":"pl:Żabka (sieć sklepów)",name:"Żabka",shop:"convenience"}},"shop/convenience|АВ Daily":{countryCodes:["ru"],tags:{brand:"АВ Daily",name:"АВ Daily",shop:"convenience"}},"shop/convenience|АТБ":{tags:{brand:"АТБ",name:"АТБ",shop:"convenience"}},"shop/convenience|Абсолют":{tags:{brand:"Абсолют",name:"Абсолют",shop:"convenience"}},"shop/convenience|Авоська":{tags:{brand:"Авоська",name:"Авоська",shop:"convenience"}},"shop/convenience|Агрокомплекс":{countryCodes:["ru"],tags:{brand:"Агрокомплекс",name:"Агрокомплекс",shop:"convenience"}},"shop/convenience|Альянс":{countryCodes:["by","kg","ru","ua"],tags:{brand:"Альянс",name:"Альянс",shop:"convenience"}},"shop/convenience|Апельсин":{countryCodes:["by","kg","kz","ru","ua"],tags:{brand:"Апельсин",name:"Апельсин",shop:"convenience"}},"shop/convenience|Ассорти":{countryCodes:["by","kg","kz","ru","ua"],tags:{brand:"Ассорти",name:"Ассорти",shop:"convenience"}},"shop/convenience|Березка":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Березка",name:"Березка",shop:"convenience"}},"shop/convenience|Береке":{countryCodes:["kg","kz"],tags:{brand:"Береке",name:"Береке",shop:"convenience"}},"shop/convenience|Берёзка":{tags:{brand:"Берёзка",name:"Берёзка",shop:"convenience"}},"shop/convenience|Бриз":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Бриз",name:"Бриз",shop:"convenience"}},"shop/convenience|Валентина":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Валентина",name:"Валентина",shop:"convenience"}},"shop/convenience|Везунчик":{countryCodes:["ru","ua"],tags:{brand:"Везунчик",name:"Везунчик",shop:"convenience"}},"shop/convenience|Верный":{tags:{brand:"Верный",name:"Верный",shop:"convenience"}},"shop/convenience|ВкусВилл":{countryCodes:["ru"],tags:{brand:"ВкусВилл","brand:wikidata":"Q57271676","brand:wikipedia":"ru:Вкусвилл",name:"ВкусВилл",shop:"convenience"}},"shop/convenience|Гастроном":{tags:{brand:"Гастроном",name:"Гастроном",shop:"convenience"}},"shop/convenience|Гермес":{tags:{brand:"Гермес",name:"Гермес",shop:"convenience"}},"shop/convenience|Гроздь":{nomatch:["shop/supermarketk|Гроздь"],tags:{brand:"Гроздь","brand:wikidata":"Q21638412","brand:wikipedia":"ru:Гроздь (сеть магазинов)",name:"Гроздь",shop:"convenience"}},"shop/convenience|Гурман":{tags:{brand:"Гурман",name:"Гурман",shop:"convenience"}},"shop/convenience|Диана":{tags:{brand:"Диана",name:"Диана",shop:"convenience"}},"shop/convenience|Доброном":{countryCodes:["by","ru"],tags:{brand:"Доброном","brand:wikidata":"Q2565040","brand:wikipedia":"be:Eurotorg",name:"Доброном",shop:"convenience"}},"shop/convenience|Добрый":{countryCodes:["by","ru"],tags:{brand:"Добрый",name:"Добрый",shop:"convenience"}},"shop/convenience|Дружба":{countryCodes:["by","ru","ua"],tags:{brand:"Дружба",name:"Дружба",shop:"convenience"}},"shop/convenience|Евроопт Market":{countryCodes:["by"],matchNames:["Евроопт Маркет"],tags:{brand:"Евроопт Market","brand:wikidata":"Q65455869",name:"Евроопт Market",shop:"convenience"}},"shop/convenience|Евроопт Минимаркет":{countryCodes:["by"],tags:{brand:"Евроопт Минимаркет","brand:wikidata":"Q65455911",name:"Евроопт Минимаркет",shop:"convenience"}},"shop/convenience|Елена":{tags:{brand:"Елена",name:"Елена",shop:"convenience"}},"shop/convenience|Ермолино":{countryCodes:["ru","ua"],tags:{brand:"Ермолино",name:"Ермолино",shop:"convenience"}},"shop/convenience|КазМунайГаз":{nomatch:["amenity/fuel|КазМунайГаз"],tags:{brand:"КазМунайГаз",name:"КазМунайГаз",shop:"convenience"}},"shop/convenience|Каштан":{countryCodes:["by","ru","ua"],tags:{brand:"Каштан",name:"Каштан",shop:"convenience"}},"shop/convenience|Квартал":{tags:{brand:"Квартал",name:"Квартал",shop:"convenience"}},"shop/convenience|Кооператор":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Кооператор",name:"Кооператор",shop:"convenience"}},"shop/convenience|Копеечка":{countryCodes:["by","ru","ua"],tags:{brand:"Копеечка",name:"Копеечка",shop:"convenience"}},"shop/convenience|Копейка":{countryCodes:["by","ru","ua"],tags:{brand:"Копейка","brand:en":"Kopeyka","brand:wikidata":"Q1783878","brand:wikipedia":"en:Kopeyka (supermarket)",name:"Копейка","name:en":"Kopeyka",shop:"convenience"}},"shop/convenience|Корзинка":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Корзинка",name:"Корзинка",shop:"convenience"}},"shop/convenience|Кулинария":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Кулинария",name:"Кулинария",shop:"convenience"}},"shop/convenience|Лакомка":{tags:{brand:"Лакомка",name:"Лакомка",shop:"convenience"}},"shop/convenience|Лукойл":{nomatch:["amenity/fuel|Лукойл"],tags:{brand:"Лукойл",name:"Лукойл",shop:"convenience"}},"shop/convenience|Луч":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Луч",name:"Луч",shop:"convenience"}},"shop/convenience|Любава":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Любава",name:"Любава",shop:"convenience"}},"shop/convenience|Магазин":{tags:{brand:"Магазин",name:"Магазин",shop:"convenience"}},"shop/convenience|Магнит":{matchNames:["магнит у дома"],nomatch:["shop/cosmetics|Магнит Косметик","shop/supermarket|Магнит"],tags:{brand:"Магнит","brand:en":"Magnit","brand:wikidata":"Q940518","brand:wikipedia":"ru:Магнит (сеть магазинов)",name:"Магнит","name:en":"Magnit",shop:"convenience"}},"shop/convenience|Мария-Ра":{countryCodes:["ru"],nomatch:["shop/supermarket|Мария-Ра"],tags:{brand:"Мария-Ра","brand:wikidata":"Q4281631","brand:wikipedia":"ru:Мария-Ра",name:"Мария-Ра",shop:"convenience"}},"shop/convenience|Маяк":{countryCodes:["kz","ru","ua"],tags:{brand:"Маяк",name:"Маяк",shop:"convenience"}},"shop/convenience|Меркурий":{tags:{brand:"Меркурий",name:"Меркурий",shop:"convenience"}},"shop/convenience|Мини маркет":{tags:{brand:"Мини маркет",name:"Мини маркет",shop:"convenience"}},"shop/convenience|Монетка":{tags:{brand:"Монетка",name:"Монетка",shop:"convenience"}},"shop/convenience|Мрія":{countryCodes:["ua"],tags:{brand:"Мрія",name:"Мрія",shop:"convenience"}},"shop/convenience|Ника":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Ника",name:"Ника",shop:"convenience"}},"shop/convenience|Оазис":{tags:{brand:"Оазис",name:"Оазис",shop:"convenience"}},"shop/convenience|Околица":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Околица",name:"Околица",shop:"convenience"}},"shop/convenience|Парус":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Парус",name:"Парус",shop:"convenience"}},"shop/convenience|Пеликан":{countryCodes:["by","ru"],tags:{brand:"Пеликан",name:"Пеликан",shop:"convenience"}},"shop/convenience|Радуга":{tags:{brand:"Радуга",name:"Радуга",shop:"convenience"}},"shop/convenience|Русь":{countryCodes:["kz","ru","ua"],tags:{brand:"Русь",name:"Русь",shop:"convenience"}},"shop/convenience|Сельпо":{countryCodes:["kz","ru"],tags:{brand:"Сельпо","brand:wikidata":"Q4419434","brand:wikipedia":"ru:Сильпо",name:"Сельпо",shop:"convenience"}},"shop/convenience|Сказка":{tags:{brand:"Сказка",name:"Сказка",shop:"convenience"}},"shop/convenience|Солнышко":{countryCodes:["kz","ru","ua"],tags:{brand:"Солнышко",name:"Солнышко",shop:"convenience"}},"shop/convenience|Тройка":{countryCodes:["kz","ru","ua"],tags:{brand:"Тройка",name:"Тройка",shop:"convenience"}},"shop/convenience|У Палыча":{countryCodes:["ru"],tags:{brand:"У Палыча",name:"У Палыча",shop:"convenience"}},"shop/convenience|Удача":{tags:{brand:"Удача",name:"Удача",shop:"convenience"}},"shop/convenience|Фасоль":{countryCodes:["ru","ua"],tags:{brand:"Фасоль",name:"Фасоль",shop:"convenience"}},"shop/convenience|Фортуна":{tags:{brand:"Фортуна",name:"Фортуна",shop:"convenience"}},"shop/convenience|Хуторок":{tags:{brand:"Хуторок",name:"Хуторок",shop:"convenience"}},"shop/convenience|Эдем":{countryCodes:["by","ru","ua"],tags:{brand:"Эдем",name:"Эдем",shop:"convenience"}},"shop/convenience|Юбилейный":{countryCodes:["by","kz","ru"],tags:{brand:"Юбилейный",name:"Юбилейный",shop:"convenience"}},"shop/convenience|Ярче":{countryCodes:["ru"],tags:{brand:"Ярче",name:"Ярче",shop:"convenience"}},"shop/convenience|アンスリー":{countryCodes:["jp"],tags:{brand:"アンスリー","brand:en":"Ansuri","brand:ja":"アンスリー","brand:wikidata":"Q17192555","brand:wikipedia":"ja:アンスリー",name:"アンスリー","name:en":"Ansuri","name:ja":"アンスリー",shop:"convenience"}},"shop/convenience|サンクス":{countryCodes:["jp"],tags:{brand:"サンクス","brand:en":"Sunkus","brand:ja":"サンクス","brand:wikidata":"Q16141064","brand:wikipedia":"ja:サークルKサンクス",name:"サンクス","name:en":"Sunkus","name:ja":"サンクス",shop:"convenience"}},"shop/convenience|サークルK":{countryCodes:["jp"],tags:{brand:"サークルK","brand:en":"Circle K","brand:ja":"サークルK","brand:wikidata":"Q3268010","brand:wikipedia":"en:Circle K",name:"サークルK","name:en":"Circle K","name:ja":"サークルK",shop:"convenience"}},"shop/convenience|スリーエフ":{countryCodes:["jp"],tags:{brand:"スリーエフ","brand:en":"Three F","brand:ja":"スリーエフ","brand:wikidata":"Q11313419","brand:wikipedia":"ja:スリーエフ",name:"スリーエフ","name:en":"Three F","name:ja":"スリーエフ",shop:"convenience"}},"shop/convenience|セイコーマート":{countryCodes:["jp"],tags:{brand:"セイコーマート","brand:en":"Seicomart","brand:ja":"セイコーマート","brand:wikidata":"Q11314123","brand:wikipedia":"ja:セイコーマート",name:"セイコーマート","name:en":"Seicomart","name:ja":"セイコーマート",shop:"convenience"}},"shop/convenience|セブン-イレブン":{countryCodes:["jp"],matchNames:["セブンイレブン(7-11)","セブンイレブン(seven-eleven)"],tags:{brand:"セブン-イレブン","brand:en":"7-Eleven","brand:ja":"セブン-イレブン","brand:wikidata":"Q259340","brand:wikipedia":"en:7-Eleven",name:"セブン-イレブン","name:en":"7-Eleven","name:ja":"セブン-イレブン","official_name:en":"Seven-Eleven",shop:"convenience"}},"shop/convenience|セーブオン":{countryCodes:["jp"],tags:{brand:"セーブオン","brand:en":"Save On","brand:ja":"セーブオン","brand:wikidata":"Q11314868","brand:wikipedia":"ja:セーブオン",name:"セーブオン","name:en":"Save On","name:ja":"セーブオン",shop:"convenience"}},"shop/convenience|デイリーヤマザキ":{countryCodes:["jp"],tags:{brand:"デイリーヤマザキ","brand:en":"Daily Yamazaki","brand:ja":"デイリーヤマザキ","brand:wikidata":"Q5209392","brand:wikipedia":"en:Daily Yamazaki",name:"デイリーヤマザキ","name:en":"Daily Yamazaki","name:ja":"デイリーヤマザキ",shop:"convenience"}},"shop/convenience|ナチュラルローソン":{countryCodes:["jp"],tags:{brand:"ナチュラルローソン","brand:en":"NATURAL LAWSON","brand:ja":"ナチュラルローソン","brand:wikidata":"Q11323850","brand:wikipedia":"ja:ナチュラルローソン",name:"ナチュラルローソン","name:en":"Natural Lawson","name:ja":"ナチュラルローソン",shop:"convenience"}},"shop/convenience|ファミリーマート":{countryCodes:["jp"],tags:{brand:"ファミリーマート","brand:en":"FamilyMart","brand:ja":"ファミリーマート","brand:wikidata":"Q1191685","brand:wikipedia":"en:FamilyMart",name:"ファミリーマート","name:en":"FamilyMart","name:ja":"ファミリーマート",shop:"convenience"}},"shop/convenience|ポプラ":{countryCodes:["jp"],tags:{brand:"ポプラ","brand:en":"Poplar","brand:ja":"ポプラ","brand:wikidata":"Q7229380","brand:wikipedia":"ja:ポプラ (コンビニエンスストア)",name:"ポプラ","name:en":"Poplar","name:ja":"ポプラ",shop:"convenience"}},"shop/convenience|ミニストップ":{countryCodes:["jp"],tags:{brand:"ミニストップ","brand:en":"Ministop","brand:ja":"ミニストップ","brand:wikidata":"Q1038929","brand:wikipedia":"ja:ミニストップ",name:"ミニストップ","name:en":"Ministop","name:ja":"ミニストップ",shop:"convenience"}},"shop/convenience|ヤマザキショップ":{countryCodes:["jp"],tags:{brand:"ヤマザキショップ","brand:ja":"ヤマザキショップ","brand:wikidata":"Q11345131","brand:wikipedia":"ja:ヤマザキショップ",name:"ヤマザキショップ","name:en":"Yamazaki Shop","name:ja":"ヤマザキショップ",shop:"convenience"}},"shop/convenience|ローソン":{countryCodes:["jp"],matchNames:["ローソン"],tags:{brand:"ローソン","brand:en":"LAWSON","brand:ja":"ローソン","brand:wikidata":"Q1557223","brand:wikipedia":"ja:ローソン",name:"ローソン","name:en":"Lawson","name:ja":"ローソン",shop:"convenience"}},"shop/convenience|ローソンストア100":{countryCodes:["jp"],tags:{brand:"ローソンストア100","brand:en":"LAWSON STORE 100","brand:ja":"ローソンストア100","brand:wikidata":"Q11350960","brand:wikipedia":"ja:ローソンストア100",name:"ローソンストア100","name:en":"Lawson Store 100","name:ja":"ローソンストア100",shop:"convenience"}},"shop/convenience|ローソン・スリーエフ":{countryCodes:["jp"],matchNames:["lawson+スリーエフ","ローソン・スリーエフ"],tags:{brand:"ローソン・スリーエフ","brand:en":"LAWSON・Three F","brand:ja":"ローソン・スリーエフ","brand:wikidata":"Q24866804","brand:wikipedia":"ja:ローソン・スリーエフ",name:"ローソン・スリーエフ","name:en":"Lawson・Three F","name:ja":"ローソン・スリーエフ",shop:"convenience"}},"shop/convenience|全家":{countryCodes:["cn","tw"],tags:{brand:"全家","brand:en":"FamilyMart","brand:wikidata":"Q1191685","brand:wikipedia":"en:FamilyMart",name:"全家","name:en":"FamilyMart",shop:"convenience"}},"shop/convenience|全家便利商店":{countryCodes:["tw"],tags:{brand:"全家便利商店","brand:wikidata":"Q10891564","brand:wikipedia":"zh:全家便利商店",name:"全家便利商店",shop:"convenience"}},"shop/convenience|萊爾富":{countryCodes:["tw"],tags:{brand:"萊爾富","brand:wikidata":"Q11326216","brand:wikipedia":"zh:萊爾富",name:"萊爾富",shop:"convenience"}},"shop/convenience|미니스톱":{countryCodes:["kr"],tags:{brand:"미니스톱","brand:ko":"미니스톱",name:"미니스톱","name:ko":"미니스톱",shop:"convenience"}},"shop/convenience|세븐일레븐":{countryCodes:["kr"],tags:{brand:"세븐일레븐","brand:en":"7-Eleven","brand:ko":"세븐일레븐","brand:wikidata":"Q259340","brand:wikipedia":"en:7-Eleven",name:"세븐일레븐","name:en":"7-Eleven","name:ko":"세븐일레븐",shop:"convenience"}},"shop/copyshop|Epicier":{countryCodes:["ma"],tags:{brand:"Epicier",name:"Epicier",shop:"copyshop"}},"shop/copyshop|FedEx Office":{countryCodes:["us"],matchNames:["fedex office print and ship center"],matchTags:["amenity/post_office"],tags:{brand:"FedEx Office","brand:wikidata":"Q474379","brand:wikipedia":"en:FedEx Office",name:"FedEx Office",shop:"copyshop"}},"shop/copyshop|Minuteman Press":{tags:{brand:"Minuteman Press","brand:wikidata":"Q64866081",name:"Minuteman Press",shop:"copyshop"}},"shop/copyshop|Photocopie":{tags:{brand:"Photocopie",name:"Photocopie",shop:"copyshop"}},"shop/copyshop|Sir Speedy":{countryCodes:["us"],matchTags:["amenity/post_office"],tags:{brand:"Sir Speedy","brand:wikidata":"Q17088225","brand:wikipedia":"en:Sir Speedy",name:"Sir Speedy",shop:"copyshop"}},"shop/cosmetics|Aveda":{countryCodes:["us"],tags:{brand:"Aveda","brand:wikidata":"Q4827965","brand:wikipedia":"en:Aveda",name:"Aveda",shop:"cosmetics"}},"shop/cosmetics|Bath & Body Works":{tags:{brand:"Bath & Body Works","brand:wikidata":"Q810773","brand:wikipedia":"en:Bath & Body Works",name:"Bath & Body Works",shop:"cosmetics"}},"shop/cosmetics|Eva":{countryCodes:["ru","ua"],tags:{brand:"Eva",name:"Eva",shop:"cosmetics"}},"shop/cosmetics|KIKO Milano":{countryCodes:["be","fr","gb","nl"],matchNames:["kiko"],tags:{brand:"KIKO Milano","brand:wikidata":"Q3812045","brand:wikipedia":"it:KIKO",name:"KIKO Milano",shop:"cosmetics"}},"shop/cosmetics|Kiehl's":{countryCodes:["ca","us"],matchNames:["kiehl's since 1851"],tags:{brand:"Kiehl's","brand:wikidata":"Q3196447","brand:wikipedia":"en:Kiehl's",name:"Kiehl's",shop:"cosmetics"}},"shop/cosmetics|L'Occitane":{matchNames:["l'occitane en provence"],tags:{brand:"L'Occitane","brand:wikidata":"Q1880676","brand:wikipedia":"en:L'Occitane en Provence",name:"L'Occitane",shop:"cosmetics"}},"shop/cosmetics|Lush":{tags:{brand:"Lush","brand:wikidata":"Q1585448","brand:wikipedia":"en:Lush (company)",name:"Lush",shop:"cosmetics"}},"shop/cosmetics|MAC Cosmetics":{countryCodes:["ca","de","us"],tags:{brand:"MAC Cosmetics","brand:wikidata":"Q2624442","brand:wikipedia":"en:MAC Cosmetics",name:"MAC Cosmetics",shop:"cosmetics",short_name:"M·A·C"}},"shop/cosmetics|Mixit":{countryCodes:["by","kz","ru"],tags:{brand:"Mixit",name:"Mixit",shop:"cosmetics"}},"shop/cosmetics|Nocibé":{countryCodes:["fr"],tags:{brand:"Nocibé","brand:wikidata":"Q3342592","brand:wikipedia":"fr:Nocibé",name:"Nocibé",shop:"cosmetics"}},"shop/cosmetics|Origins":{countryCodes:["us"],tags:{brand:"Origins","brand:wikidata":"Q6643229","brand:wikipedia":"en:Origins (cosmetics)",name:"Origins",shop:"cosmetics"}},"shop/cosmetics|Rituals":{countryCodes:["be","ch","de","es","gb","nl","se"],tags:{brand:"Rituals",name:"Rituals",shop:"cosmetics"}},"shop/cosmetics|Saje":{countryCodes:["ca","us"],tags:{brand:"Saje","brand:wikidata":"Q44631749","brand:wikipedia":"en:Saje Natural Wellness",name:"Saje",shop:"cosmetics"}},"shop/cosmetics|Sephora":{matchTags:["shop/perfumery"],tags:{brand:"Sephora","brand:wikidata":"Q2408041","brand:wikipedia":"en:Sephora",name:"Sephora",shop:"cosmetics"}},"shop/cosmetics|The Body Shop":{matchTags:["shop/chemist"],tags:{brand:"The Body Shop","brand:wikidata":"Q837851","brand:wikipedia":"en:The Body Shop",name:"The Body Shop",shop:"cosmetics"}},"shop/cosmetics|Ulta Beauty":{countryCodes:["us"],matchNames:["ulta"],tags:{brand:"Ulta Beauty","brand:wikidata":"Q7880076","brand:wikipedia":"en:Ulta Beauty",name:"Ulta Beauty",shop:"cosmetics"}},"shop/cosmetics|Vente de Cosmétique":{countryCodes:["ci"],tags:{brand:"Vente de Cosmétique",name:"Vente de Cosmétique",shop:"cosmetics"}},"shop/cosmetics|bareMinerals":{countryCodes:["us"],tags:{brand:"bareMinerals",name:"bareMinerals",shop:"cosmetics"}},"shop/cosmetics|Л'Этуаль":{countryCodes:["ru"],tags:{brand:"Л'Этуаль","brand:wikidata":"Q18400706","brand:wikipedia":"ru:Л’Этуаль",name:"Л'Этуаль",shop:"cosmetics"}},"shop/cosmetics|Магнит Косметик":{countryCodes:["ru"],matchTags:["shop/chemist"],nomatch:["shop/convenience|Магнит","shop/supermarket|Магнит"],tags:{brand:"Магнит Косметик","brand:en":"Magnit Cosmetics","brand:wikidata":"Q940518","brand:wikipedia":"ru:Магнит (сеть магазинов)",name:"Магнит Косметик","name:en":"Magnit Cosmetics",shop:"cosmetics"}},"shop/cosmetics|Подружка":{countryCodes:["ru","ua"],tags:{brand:"Подружка",name:"Подружка",shop:"cosmetics"}},"shop/cosmetics|Чистый дом":{countryCodes:["ru","ua"],tags:{brand:"Чистый дом",name:"Чистый дом",shop:"cosmetics"}},"shop/country_store|Atwoods":{countryCodes:["us"],tags:{brand:"Atwoods","brand:wikidata":"Q4818874","brand:wikipedia":"en:Atwoods",name:"Atwoods",shop:"country_store"}},"shop/country_store|Blain's Farm & Fleet":{countryCodes:["us"],matchTags:["shop/department_store"],tags:{brand:"Blain's Farm & Fleet","brand:wikidata":"Q4923906","brand:wikipedia":"en:Blain's Farm & Fleet",name:"Blain's Farm & Fleet",shop:"country_store"}},"shop/country_store|Bomgaars":{countryCodes:["us"],tags:{brand:"Bomgaars","brand:wikidata":"Q22059070","brand:wikipedia":"en:Bomgaars",name:"Bomgaars",shop:"country_store"}},"shop/country_store|Fleet Farm":{countryCodes:["us"],matchNames:["mills fleet farm"],tags:{brand:"Fleet Farm","brand:wikidata":"Q6859973","brand:wikipedia":"en:Fleet Farm",name:"Fleet Farm",shop:"country_store"}},"shop/country_store|Grange Co-op":{countryCodes:["us"],tags:{brand:"Grange Co-op","brand:wikidata":"Q5595639","brand:wikipedia":"en:Grange Cooperative",name:"Grange Co-op",shop:"country_store"}},"shop/country_store|Home of Economy":{countryCodes:["us"],tags:{brand:"Home of Economy","brand:wikidata":"Q5889100","brand:wikipedia":"en:Home of Economy",name:"Home of Economy",shop:"country_store"}},"shop/country_store|Norbys Farm Fleet":{countryCodes:["us"],tags:{brand:"Norbys Farm Fleet","brand:wikidata":"Q7050461","brand:wikipedia":"en:Norby's Farm Fleet",name:"Norbys Farm Fleet",shop:"country_store"}},"shop/country_store|Orscheln Farm & Home":{countryCodes:["us"],tags:{brand:"Orscheln Farm & Home","brand:wikidata":"Q22060331","brand:wikipedia":"en:Orscheln Farm & Home",name:"Orscheln Farm & Home",shop:"country_store"}},"shop/country_store|Peavey Mart":{countryCodes:["ca"],tags:{brand:"Peavey Mart","brand:wikidata":"Q7158483","brand:wikipedia":"en:Peavey Mart",name:"Peavey Mart",shop:"country_store"}},"shop/country_store|Rural King":{countryCodes:["us"],tags:{brand:"Rural King","brand:wikidata":"Q7380525","brand:wikipedia":"en:Rural King",name:"Rural King",shop:"country_store"}},"shop/country_store|TSC Stores":{countryCodes:["ca"],tags:{brand:"TSC Stores","brand:wikidata":"Q62720230",name:"TSC Stores",shop:"country_store"}},"shop/country_store|Theisen's":{countryCodes:["us"],tags:{brand:"Theisen's","brand:wikidata":"Q7777850","brand:wikipedia":"en:Theisen's",name:"Theisen's",shop:"country_store"}},"shop/country_store|Tractor Supply Company":{countryCodes:["us"],tags:{brand:"Tractor Supply Company","brand:wikidata":"Q15109925","brand:wikipedia":"en:Tractor Supply Company",name:"Tractor Supply Company",shop:"country_store"}},"shop/country_store|Wynnstay":{countryCodes:["gb"],tags:{brand:"Wynnstay","brand:wikidata":"Q63016351",name:"Wynnstay",shop:"country_store"}},"shop/craft|A.C. Moore":{countryCodes:["us"],tags:{brand:"A.C. Moore","brand:wikidata":"Q4647066","brand:wikipedia":"en:A.C. Moore",name:"A.C. Moore",shop:"craft"}},"shop/craft|Hobby Lobby":{countryCodes:["in","us"],tags:{brand:"Hobby Lobby","brand:wikidata":"Q5874938","brand:wikipedia":"en:Hobby Lobby",name:"Hobby Lobby",shop:"craft"}},"shop/craft|Hobbycraft":{countryCodes:["gb"],matchTags:["shop/art"],tags:{brand:"Hobbycraft","brand:wikidata":"Q16984508","brand:wikipedia":"en:Hobbycraft",name:"Hobbycraft",shop:"craft"}},"shop/craft|Jo-Ann":{countryCodes:["us"],tags:{brand:"Jo-Ann","brand:wikidata":"Q6203968","brand:wikipedia":"en:Jo-Ann Stores",name:"Jo-Ann",shop:"craft"}},"shop/craft|Michaels":{countryCodes:["ca","us"],tags:{brand:"Michaels","brand:wikidata":"Q6835667",name:"Michaels",shop:"craft"}},"shop/craft|Woodcraft":{countryCodes:["us"],matchTags:["craft/carpenter","shop/doityourself","shop/hardware","shop/hobby"],tags:{brand:"Woodcraft","brand:wikidata":"Q22026341","brand:wikipedia":"en:Woodcraft Supply",name:"Woodcraft",shop:"craft"}},"shop/deli|ほっともっと":{countryCodes:["jp"],nomatch:["amenity/fast_food|ほっともっと"],tags:{brand:"ほっともっと","brand:en":"Hotto Motto","brand:ja":"ほっともっと","brand:wikidata":"Q10850949","brand:wikipedia":"ja:ほっともっと",name:"ほっともっと","name:en":"Hotto Motto","name:ja":"ほっともっと",shop:"deli"}},"shop/deli|京樽":{countryCodes:["jp"],matchTags:["amenity/fast_food"],tags:{brand:"京樽","brand:en":"Kyotaru","brand:ja":"京樽","brand:wikidata":"Q11374503","brand:wikipedia":"ja:京樽",name:"京樽","name:en":"Kyotaru","name:ja":"京樽",shop:"deli"}},"shop/department_store|Barneys New York":{countryCodes:["us"],matchNames:["barneys"],tags:{brand:"Barneys New York","brand:wikidata":"Q59465","brand:wikipedia":"en:Barneys New York",name:"Barneys New York",shop:"department_store"}},"shop/department_store|Bealls (Florida-based)":{countryCodes:["us"],tags:{brand:"Bealls","brand:wikidata":"Q4876153","brand:wikipedia":"en:Bealls (Florida)",name:"Bealls",shop:"department_store"}},"shop/department_store|Bealls (Texas-based )":{countryCodes:["us"],tags:{brand:"Bealls","brand:wikidata":"Q4876156","brand:wikipedia":"en:Bealls (Texas)",name:"Bealls",shop:"department_store"}},"shop/department_store|Belk":{countryCodes:["us"],tags:{brand:"Belk","brand:wikidata":"Q127428","brand:wikipedia":"en:Belk",name:"Belk",shop:"department_store"}},"shop/department_store|Bi-Mart":{countryCodes:["us"],tags:{brand:"Bi-Mart","brand:wikidata":"Q4902331","brand:wikipedia":"en:Bi-Mart",name:"Bi-Mart",shop:"department_store"}},"shop/department_store|Big Lots":{countryCodes:["us"],matchTags:["shop/variety_store"],tags:{brand:"Big Lots","brand:wikidata":"Q4905973","brand:wikipedia":"en:Big Lots",name:"Big Lots",shop:"department_store"}},"shop/department_store|Big W":{countryCodes:["au"],tags:{brand:"Big W","brand:wikidata":"Q4906646","brand:wikipedia":"en:Big W",name:"Big W",shop:"department_store"}},"shop/department_store|Bloomingdale's":{countryCodes:["us"],tags:{brand:"Bloomingdale's","brand:wikidata":"Q283383","brand:wikipedia":"en:Bloomingdale's",name:"Bloomingdale's",shop:"department_store"}},"shop/department_store|Canadian Tire":{countryCodes:["ca"],matchTags:["shop/doityourself"],nomatch:["amenity/fuel|Canadian Tire"],tags:{brand:"Canadian Tire","brand:wikidata":"Q1032400","brand:wikipedia":"en:Canadian Tire",name:"Canadian Tire",shop:"department_store"}},"shop/department_store|Casas Bahia":{countryCodes:["br"],tags:{brand:"Casas Bahia","brand:wikidata":"Q5048048","brand:wikipedia":"en:Casas Bahia",name:"Casas Bahia",shop:"department_store"}},"shop/department_store|Century 21":{countryCodes:["us"],matchNames:["c21"],nomatch:["office/estate_agent|Century 21"],tags:{brand:"Century 21","brand:wikidata":"Q5063125","brand:wikipedia":"en:Century 21 (department store)",name:"Century 21",shop:"department_store"}},"shop/department_store|Coppel":{tags:{brand:"Coppel","brand:wikidata":"Q2497795","brand:wikipedia":"en:Coppel",name:"Coppel",shop:"department_store"}},"shop/department_store|David Jones":{countryCodes:["au"],tags:{brand:"David Jones","brand:wikidata":"Q5235753","brand:wikipedia":"en:David Jones Limited",name:"David Jones",shop:"department_store"}},"shop/department_store|Debenhams":{countryCodes:["gb","ie"],tags:{brand:"Debenhams","brand:wikidata":"Q1181484","brand:wikipedia":"en:Debenhams",name:"Debenhams",shop:"department_store"}},"shop/department_store|Dillard's":{countryCodes:["us"],tags:{brand:"Dillard's","brand:wikidata":"Q844805","brand:wikipedia":"en:Dillard's",name:"Dillard's",shop:"department_store"}},"shop/department_store|El Corte Inglés":{countryCodes:["es"],tags:{brand:"El Corte Inglés","brand:wikidata":"Q623133","brand:wikipedia":"en:El Corte Inglés",name:"El Corte Inglés",shop:"department_store"}},"shop/department_store|Falabella":{matchNames:["saga falabella"],nomatch:["amenity/bank|Banco Falabella"],tags:{brand:"Falabella","brand:wikidata":"Q5135229","brand:wikipedia":"en:Falabella (retail store)",name:"Falabella",shop:"department_store"}},"shop/department_store|Galeria Kaufhof":{countryCodes:["de"],tags:{brand:"Galeria Kaufhof","brand:wikidata":"Q322598","brand:wikipedia":"en:Galeria Kaufhof",name:"Galeria Kaufhof",shop:"department_store"}},"shop/department_store|Giant Tiger":{countryCodes:["ca"],tags:{brand:"Giant Tiger","brand:wikidata":"Q5558429","brand:wikipedia":"en:Giant Tiger",name:"Giant Tiger",shop:"department_store"}},"shop/department_store|Gordmans":{countryCodes:["us"],tags:{brand:"Gordmans","brand:wikidata":"Q5584725","brand:wikipedia":"en:Gordmans",name:"Gordmans",shop:"department_store"}},"shop/department_store|HEMA":{countryCodes:["be","de","nl"],tags:{brand:"HEMA","brand:wikidata":"Q903805","brand:wikipedia":"en:HEMA (store)",name:"HEMA",shop:"department_store"}},"shop/department_store|Harvey Norman":{countryCodes:["au","nz"],tags:{brand:"Harvey Norman","brand:wikidata":"Q4040441","brand:wikipedia":"en:Harvey Norman",name:"Harvey Norman",shop:"department_store"}},"shop/department_store|Havan":{countryCodes:["br"],tags:{brand:"Havan","brand:wikidata":"Q61968827",name:"Havan",shop:"department_store"}},"shop/department_store|Hudson's Bay":{countryCodes:["ca","nl"],tags:{alt_name:"The Bay",brand:"Hudson's Bay","brand:wikidata":"Q641129","brand:wikipedia":"en:Hudson's Bay (retailer)",name:"Hudson's Bay",shop:"department_store"}},"shop/department_store|JCPenney":{countryCodes:["us"],tags:{brand:"JCPenney","brand:wikidata":"Q920037","brand:wikipedia":"en:J. C. Penney",name:"JCPenney",shop:"department_store"}},"shop/department_store|John Lewis":{countryCodes:["gb"],tags:{brand:"John Lewis","brand:wikidata":"Q1918981","brand:wikipedia":"en:John Lewis & Partners",name:"John Lewis",shop:"department_store"}},"shop/department_store|Karstadt":{countryCodes:["de"],tags:{brand:"Karstadt","brand:wikidata":"Q182910","brand:wikipedia":"en:Karstadt",name:"Karstadt",shop:"department_store"}},"shop/department_store|Kmart~(Australia)":{countryCodes:["au"],matchTags:["shop/supermarket"],nomatch:["shop/department_store|Kmart~(USA)"],tags:{brand:"Kmart","brand:wikidata":"Q6421682","brand:wikipedia":"en:Kmart Australia",name:"Kmart",shop:"department_store"}},"shop/department_store|Kmart~(USA)":{countryCodes:["us"],matchNames:["k-mart"],matchTags:["shop/supermarket"],nomatch:["shop/department_store|Kmart~(Australia)"],tags:{brand:"Kmart","brand:wikidata":"Q1753080","brand:wikipedia":"en:Kmart",name:"Kmart",shop:"department_store"}},"shop/department_store|Kohl's":{countryCodes:["us"],tags:{brand:"Kohl's","brand:wikidata":"Q967265","brand:wikipedia":"en:Kohl's",name:"Kohl's",shop:"department_store"}},"shop/department_store|Lojas Americanas":{countryCodes:["br"],tags:{brand:"Lojas Americanas","brand:wikidata":"Q3064093","brand:wikipedia":"en:Lojas Americanas",name:"Lojas Americanas",shop:"department_store"}},"shop/department_store|Lord & Taylor":{countryCodes:["us"],tags:{brand:"Lord & Taylor","brand:wikidata":"Q2749082","brand:wikipedia":"en:Lord & Taylor",name:"Lord & Taylor",shop:"department_store"}},"shop/department_store|Lotte Department Store":{matchNames:["lotte"],tags:{brand:"Lotte Department Store","brand:wikidata":"Q489905","brand:wikipedia":"en:Lotte Department Store",name:"Lotte Department Store",shop:"department_store"}},"shop/department_store|Macy's":{countryCodes:["us"],tags:{brand:"Macy's","brand:wikidata":"Q629269","brand:wikipedia":"en:Macy's",name:"Macy's",shop:"department_store"}},"shop/department_store|Marks & Spencer":{countryCodes:["gb","gr","ie"],matchNames:["m and s"],tags:{brand:"Marks & Spencer","brand:wikidata":"Q714491","brand:wikipedia":"en:Marks & Spencer",name:"Marks & Spencer",shop:"department_store"}},"shop/department_store|Marshalls":{countryCodes:["ca","us"],tags:{brand:"Marshalls","brand:wikidata":"Q15903261","brand:wikipedia":"en:Marshalls",name:"Marshalls",shop:"department_store"}},"shop/department_store|Muji":{countryCodes:["it"],tags:{brand:"Muji","brand:en":"Muji","brand:ja":"無印良品","brand:wikidata":"Q708789","brand:wikipedia":"en:Muji",name:"Muji","name:en":"Muji","name:ja":"無印良品",shop:"department_store"}},"shop/department_store|Myer":{countryCodes:["au"],tags:{brand:"Myer","brand:wikidata":"Q1110323","brand:wikipedia":"en:Myer",name:"Myer",shop:"department_store"}},"shop/department_store|Neiman Marcus":{countryCodes:["us"],tags:{brand:"Neiman Marcus","brand:wikidata":"Q743497","brand:wikipedia":"en:Neiman Marcus",name:"Neiman Marcus",shop:"department_store"}},"shop/department_store|Nordstrom":{countryCodes:["ca","us"],tags:{brand:"Nordstrom","brand:wikidata":"Q174310","brand:wikipedia":"en:Nordstrom",name:"Nordstrom",shop:"department_store"}},"shop/department_store|Oechsle":{countryCodes:["pe"],tags:{brand:"Oechsle","brand:wikidata":"Q6049096","brand:wikipedia":"es:Oechsle",name:"Oechsle",shop:"department_store"}},"shop/department_store|París":{countryCodes:["cl","pe"],tags:{brand:"París","brand:wikidata":"Q20812805","brand:wikipedia":"en:París (retail store)",name:"París",shop:"department_store"}},"shop/department_store|Printemps":{countryCodes:["ad","cn","fr","jp","sa"],tags:{brand:"Printemps","brand:wikidata":"Q1535260","brand:wikipedia":"fr:Printemps (grands magasins)",name:"Printemps",shop:"department_store"}},"shop/department_store|Ripley":{countryCodes:["cl","pe"],tags:{brand:"Ripley","brand:wikidata":"Q3433040","brand:wikipedia":"en:Ripley S.A.",name:"Ripley",shop:"department_store"}},"shop/department_store|Saks Fifth Avenue":{countryCodes:["ca","us"],tags:{brand:"Saks Fifth Avenue","brand:wikidata":"Q2723882","brand:wikipedia":"en:Saks Fifth Avenue",name:"Saks Fifth Avenue",shop:"department_store"}},"shop/department_store|Saks Off 5th":{countryCodes:["ca","us"],tags:{brand:"Saks Off 5th","brand:wikidata":"Q2723882","brand:wikipedia":"en:Saks Fifth Avenue",name:"Saks Off 5th",shop:"department_store"}},"shop/department_store|Sears":{countryCodes:["mx","us"],nomatch:["shop/car_repair|Sears Auto Center"],tags:{brand:"Sears","brand:wikidata":"Q6499202","brand:wikipedia":"en:Sears",name:"Sears",shop:"department_store"}},"shop/department_store|Shopko":{countryCodes:["us"],tags:{brand:"Shopko","brand:wikidata":"Q7501155","brand:wikipedia":"en:Shopko",name:"Shopko",shop:"department_store"}},"shop/department_store|Stein Mart":{countryCodes:["us"],tags:{brand:"Stein Mart","brand:wikidata":"Q7606770","brand:wikipedia":"en:Stein Mart",name:"Stein Mart",shop:"department_store"}},"shop/department_store|Stockmann":{countryCodes:["fi"],tags:{brand:"Stockmann","brand:wikidata":"Q1543093","brand:wikipedia":"fi:Stockmann",name:"Stockmann",shop:"department_store"}},"shop/department_store|Target~(Australia)":{countryCodes:["au"],matchTags:["shop/supermarket"],nomatch:["shop/department_store|Target~(USA)"],tags:{brand:"Target","brand:wikidata":"Q7685854","brand:wikipedia":"en:Target Australia",name:"Target",shop:"department_store"}},"shop/department_store|Target~(USA)":{countryCodes:["us"],matchNames:["Super Target"],matchTags:["shop/supermarket"],nomatch:["shop/department_store|Target~(Australia)"],tags:{brand:"Target","brand:wikidata":"Q1046951","brand:wikipedia":"en:Target Corporation",name:"Target",shop:"department_store"}},"shop/department_store|The Warehouse":{countryCodes:["nz"],tags:{brand:"The Warehouse","brand:wikidata":"Q3566291","brand:wikipedia":"en:The Warehouse Group",name:"The Warehouse",shop:"department_store"}},"shop/department_store|Walmart":{matchTags:["shop/supermarket"],tags:{brand:"Walmart","brand:wikidata":"Q483551","brand:wikipedia":"en:Walmart",name:"Walmart",shop:"department_store"}},"shop/department_store|Woolworth":{countryCodes:["de"],tags:{brand:"Woolworth","brand:wikidata":"Q183538","brand:wikipedia":"de:Woolworth Deutschland",name:"Woolworth",shop:"department_store"}},"shop/department_store|Åhléns":{countryCodes:["se"],tags:{brand:"Åhléns","brand:wikidata":"Q270851","brand:wikipedia":"sv:Åhléns",name:"Åhléns",shop:"department_store"}},"shop/department_store|Épicerie":{countryCodes:["ma"],tags:{brand:"Épicerie",name:"Épicerie",shop:"department_store"}},"shop/department_store|Евроопт Market":{tags:{brand:"Евроопт Market",name:"Евроопт Market",shop:"department_store"}},"shop/department_store|Евроопт Минимаркет":{tags:{brand:"Евроопт Минимаркет",name:"Евроопт Минимаркет",shop:"department_store"}},"shop/department_store|東急ハンズ":{countryCodes:["jp"],tags:{brand:"東急ハンズ","brand:en":"Tokyu Hands","brand:ja":"東急ハンズ","brand:wikidata":"Q859212","brand:wikipedia":"ja:東急ハンズ",name:"東急ハンズ","name:en":"Tokyu Hands","name:ja":"東急ハンズ",shop:"department_store"}},"shop/department_store|無印良品":{countryCodes:["jp","tw"],tags:{brand:"無印良品","brand:en":"Muji","brand:ja":"無印良品","brand:wikidata":"Q708789","brand:wikipedia":"ja:無印良品",name:"無印良品","name:en":"Muji","name:ja":"無印良品",shop:"department_store"}},"shop/department_store|롯데백화점":{countryCodes:["kr"],tags:{brand:"롯데백화점","brand:ko":"롯데백화점","brand:wikidata":"Q489905","brand:wikipedia":"ko:롯데백화점",name:"롯데백화점","name:en":"Lotte Department Store","name:ko":"롯데백화점",shop:"department_store"}},"shop/doityourself|Ace Hardware":{tags:{brand:"Ace Hardware","brand:wikidata":"Q4672981","brand:wikipedia":"en:Ace Hardware",name:"Ace Hardware",shop:"doityourself"}},"shop/doityourself|B&Q":{tags:{brand:"B&Q","brand:wikidata":"Q707602","brand:wikipedia":"en:B&Q",name:"B&Q",shop:"doityourself"}},"shop/doityourself|Bauhaus":{tags:{brand:"Bauhaus","brand:wikidata":"Q672043","brand:wikipedia":"en:Bauhaus (company)",name:"Bauhaus",shop:"doityourself"}},"shop/doityourself|Biltema":{countryCodes:["dk","fi","no","se"],tags:{brand:"Biltema","brand:wikidata":"Q3355552","brand:wikipedia":"en:Biltema",name:"Biltema",shop:"doityourself"}},"shop/doityourself|Brico":{countryCodes:["be","fr","it"],tags:{brand:"Brico","brand:wikidata":"Q2510786","brand:wikipedia":"en:Brico",name:"Brico",shop:"doityourself"}},"shop/doityourself|Brico Dépôt":{countryCodes:["fr","ro"],tags:{brand:"Brico Dépôt","brand:wikidata":"Q2889702","brand:wikipedia":"en:Brico Dépôt",name:"Brico Dépôt",shop:"doityourself"}},"shop/doityourself|Bricoman":{countryCodes:["fr","it","pl"],tags:{brand:"Bricoman","brand:wikidata":"Q2925142","brand:wikipedia":"it:Bricoman",name:"Bricoman",shop:"doityourself"}},"shop/doityourself|Bricomarché":{countryCodes:["fr","pl","pt"],tags:{brand:"Bricomarché","brand:wikidata":"Q2925147","brand:wikipedia":"en:Bricomarché",name:"Bricomarché",shop:"doityourself"}},"shop/doityourself|Bricorama":{countryCodes:["es","fr"],tags:{brand:"Bricorama","brand:wikidata":"Q2925146","brand:wikipedia":"en:Bricorama",name:"Bricorama",shop:"doityourself"}},"shop/doityourself|Bunnings Warehouse":{countryCodes:["au","nz"],tags:{brand:"Bunnings Warehouse","brand:wikidata":"Q4997829","brand:wikipedia":"en:Bunnings Warehouse",name:"Bunnings Warehouse",shop:"doityourself"}},"shop/doityourself|Castorama":{tags:{brand:"Castorama","brand:wikidata":"Q966971","brand:wikipedia":"en:Castorama",name:"Castorama",shop:"doityourself"}},"shop/doityourself|Chausson Matériaux":{countryCodes:["fr"],tags:{brand:"Chausson Matériaux",name:"Chausson Matériaux",shop:"doityourself"}},"shop/doityourself|Clas Ohlson":{countryCodes:["fi","no","se"],tags:{brand:"Clas Ohlson","brand:wikidata":"Q3356220","brand:wikipedia":"en:Clas Ohlson",name:"Clas Ohlson",shop:"doityourself"}},"shop/doityourself|Easy":{tags:{brand:"Easy","brand:wikidata":"Q5331091","brand:wikipedia":"en:Easy (store)",name:"Easy",shop:"doityourself"}},"shop/doityourself|Gamma":{countryCodes:["be","nl"],tags:{brand:"Gamma","brand:wikidata":"Q2294120","brand:wikipedia":"en:Gamma (store)",name:"Gamma",shop:"doityourself"}},"shop/doityourself|Gedimat":{countryCodes:["fr"],tags:{brand:"Gedimat",name:"Gedimat",shop:"doityourself"}},"shop/doityourself|Globus Baumarkt":{countryCodes:["de","lu"],tags:{brand:"Globus Baumarkt","brand:wikidata":"Q457503","brand:wikipedia":"de:Globus Holding",name:"Globus Baumarkt",shop:"doityourself"}},"shop/doityourself|Hagebaumarkt":{countryCodes:["at","be","ch","de","es","fr","lu","nl"],matchNames:["hagebau"],tags:{brand:"Hagebaumarkt","brand:wikidata":"Q1568279","brand:wikipedia":"de:Hagebau",name:"Hagebaumarkt",shop:"doityourself"}},"shop/doityourself|Hammer":{countryCodes:["de"],tags:{brand:"Hammer","brand:wikidata":"Q52159668","brand:wikipedia":"de:Hammer (Fachmarktkette)",name:"Hammer",shop:"doityourself"}},"shop/doityourself|Hellweg":{countryCodes:["at","de"],tags:{brand:"Hellweg","brand:wikidata":"Q1603084","brand:wikipedia":"de:Hellweg (Baumarkt)",name:"Hellweg",shop:"doityourself"}},"shop/doityourself|Home Building Centre~(Canada)":{countryCodes:["ca"],nomatch:["shop/hardware|Home Hardware Building Centre"],tags:{brand:"Home Hardware","brand:wikidata":"Q3139611","brand:wikipedia":"en:Home Hardware",name:"Home Building Centre",shop:"doityourself"}},"shop/doityourself|Home Hardware Building Centre~(Canada)":{countryCodes:["ca"],matchNames:["home hardware"],nomatch:["shop/hardware|Home Hardware"],tags:{brand:"Home Hardware","brand:wikidata":"Q3139611","brand:wikipedia":"en:Home Hardware",name:"Home Hardware Building Centre",shop:"doityourself"}},"shop/doityourself|Home Timber & Hardware~(Australia)":{countryCodes:["au"],tags:{alt_name:"Home Hardware",brand:"Home Timber & Hardware","brand:wikidata":"Q17006984","brand:wikipedia":"en:Home Timber & Hardware",name:"Home Timber & Hardware",shop:"doityourself",short_name:"Home"}},"shop/doityourself|Homebase":{countryCodes:["gb","ie"],tags:{brand:"Homebase","brand:wikidata":"Q9293447","brand:wikipedia":"en:Homebase",name:"Homebase",shop:"doityourself"}},"shop/doityourself|Hornbach":{tags:{brand:"Hornbach","brand:wikidata":"Q685926","brand:wikipedia":"en:Hornbach (retailer)",name:"Hornbach",shop:"doityourself"}},"shop/doityourself|Hubo":{countryCodes:["be","nl"],tags:{brand:"Hubo","brand:wikidata":"Q3142153","brand:wikipedia":"en:Hubo Belgium",name:"Hubo",shop:"doityourself"}},"shop/doityourself|Jewson":{countryCodes:["gb"],tags:{brand:"Jewson","brand:wikidata":"Q6190226","brand:wikipedia":"en:Jewson",name:"Jewson",shop:"doityourself"}},"shop/doityourself|Karwei":{countryCodes:["nl"],tags:{brand:"Karwei","brand:wikidata":"Q2097480","brand:wikipedia":"en:Karwei",name:"Karwei",shop:"doityourself"}},"shop/doityourself|Leroy Merlin":{tags:{brand:"Leroy Merlin","brand:wikidata":"Q889624","brand:wikipedia":"en:Leroy Merlin",name:"Leroy Merlin",shop:"doityourself"}},"shop/doityourself|Lowe's":{countryCodes:["ca","mx","us"],matchNames:["lowes home improvement"],nomatch:["shop/clothes|Lowes","shop/supermarket|Lowe's Market","shop/supermarket|Lowes Foods"],tags:{brand:"Lowe's","brand:wikidata":"Q1373493","brand:wikipedia":"en:Lowe's",name:"Lowe's",shop:"doityourself"}},"shop/doityourself|Menards":{countryCodes:["us"],tags:{brand:"Menards","brand:wikidata":"Q1639897","brand:wikipedia":"en:Menards",name:"Menards",shop:"doityourself"}},"shop/doityourself|Mitre 10":{countryCodes:["au"],tags:{brand:"Mitre 10","brand:wikidata":"Q6882393","brand:wikipedia":"en:Mitre 10",name:"Mitre 10",shop:"doityourself"}},"shop/doityourself|Mr.Bricolage":{countryCodes:["be","fr"],tags:{brand:"Mr.Bricolage","brand:wikidata":"Q3141657","brand:wikipedia":"fr:Mr Bricolage",name:"Mr.Bricolage",shop:"doityourself"}},"shop/doityourself|OBI":{tags:{brand:"OBI","brand:wikidata":"Q300518","brand:wikipedia":"en:Obi (store)",name:"OBI",shop:"doityourself"}},"shop/doityourself|Point P":{countryCodes:["fr"],tags:{brand:"Point P",name:"Point P",shop:"doityourself"}},"shop/doityourself|Praktiker":{countryCodes:["bg","gr","hu","ro"],tags:{brand:"Praktiker","brand:wikidata":"Q680214","brand:wikipedia":"en:Praktiker",name:"Praktiker",shop:"doityourself"}},"shop/doityourself|Praxis":{countryCodes:["nl"],tags:{brand:"Praxis","brand:wikidata":"Q2741995","brand:wikipedia":"nl:Praxis (winkel)",name:"Praxis",shop:"doityourself"}},"shop/doityourself|Promart":{countryCodes:["pe"],tags:{brand:"Promart","brand:wikidata":"Q17626095","brand:wikipedia":"en:Promart",name:"Promart",shop:"doityourself"}},"shop/doityourself|Rona":{countryCodes:["ca"],tags:{brand:"Rona","brand:wikidata":"Q3415283","brand:wikipedia":"en:Rona, Inc.",name:"Rona",shop:"doityourself"}},"shop/doityourself|Screwfix":{countryCodes:["de","gb"],tags:{brand:"Screwfix","brand:wikidata":"Q7439115","brand:wikipedia":"en:Screwfix",name:"Screwfix",shop:"doityourself"}},"shop/doityourself|Sodimac":{matchNames:["sodimac constructor"],tags:{brand:"Sodimac","brand:wikidata":"Q7553274","brand:wikipedia":"es:Sodimac",name:"Sodimac",shop:"doityourself"}},"shop/doityourself|Sonderpreis Baumarkt":{countryCodes:["de"],tags:{brand:"Sonderpreis Baumarkt",name:"Sonderpreis Baumarkt",shop:"doityourself"}},"shop/doityourself|Tekzen":{countryCodes:["tr"],tags:{brand:"Tekzen","brand:wikidata":"Q25475379","brand:wikipedia":"tr:Tekzen",name:"Tekzen",shop:"doityourself"}},"shop/doityourself|The Home Depot":{countryCodes:["ca","mx","us"],tags:{alt_name:"Home Depot",brand:"The Home Depot","brand:wikidata":"Q864407","brand:wikipedia":"en:The Home Depot",name:"The Home Depot",shop:"doityourself"}},"shop/doityourself|Toolstation":{countryCodes:["fr","gb","nl"],tags:{brand:"Toolstation","brand:wikidata":"Q7824103","brand:wikipedia":"en:Toolstation",name:"Toolstation",shop:"doityourself"}},"shop/doityourself|Toom Baumarkt":{countryCodes:["de"],matchNames:["toom"],tags:{brand:"Toom Baumarkt","brand:wikidata":"Q2442970","brand:wikipedia":"de:Toom Baumarkt",name:"Toom Baumarkt",shop:"doityourself"}},"shop/doityourself|Travis Perkins":{countryCodes:["gb"],tags:{brand:"Travis Perkins","brand:wikidata":"Q2450664","brand:wikipedia":"en:Travis Perkins",name:"Travis Perkins",shop:"doityourself"}},"shop/doityourself|Weldom":{countryCodes:["fr"],tags:{brand:"Weldom","brand:wikidata":"Q16683226","brand:wikipedia":"fr:Weldom",name:"Weldom",shop:"doityourself"}},"shop/doityourself|Wickes":{countryCodes:["gb"],tags:{brand:"Wickes","brand:wikidata":"Q7998350","brand:wikipedia":"en:Wickes",name:"Wickes",shop:"doityourself"}},"shop/doityourself|jem & fix":{countryCodes:["dk"],tags:{brand:"jem & fix","brand:wikidata":"Q12319200","brand:wikipedia":"da:Jem & fix",name:"jem & fix",shop:"doityourself"}},"shop/doityourself|Леруа Мерлен":{countryCodes:["ru","ua"],tags:{brand:"Леруа Мерлен","brand:en":"Leroy Merlin","brand:wikidata":"Q889624","brand:wikipedia":"en:Leroy Merlin",name:"Леруа Мерлен","name:en":"Leroy Merlin",shop:"doityourself"}},"shop/doityourself|Мастер":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Мастер",name:"Мастер",shop:"doityourself"}},"shop/doityourself|カインズホーム":{countryCodes:["jp"],tags:{brand:"カインズホーム","brand:en":"Cainz Home","brand:ja":"カインズホーム","brand:wikidata":"Q11293852","brand:wikipedia":"ja:カインズ",name:"カインズホーム","name:en":"Cainz Home","name:ja":"カインズホーム",shop:"doityourself"}},"shop/doityourself|コメリ":{countryCodes:["jp"],tags:{brand:"コメリ","brand:ja":"コメリ","brand:wikidata":"Q11302690","brand:wikipedia":"ja:コメリ",name:"コメリ","name:en":"Komeri","name:ja":"コメリ",shop:"doityourself"}},"shop/doityourself|コーナン":{countryCodes:["jp"],tags:{brand:"コーナン","brand:ja":"コーナン","brand:wikidata":"Q11303403","brand:wikipedia":"ja:コーナン",name:"コーナン","name:en":"Kohnan","name:ja":"コーナン",shop:"doityourself"}},"shop/doityourself|ナフコ":{countryCodes:["jp"],tags:{brand:"ナフコ","brand:ja":"ナフコ",name:"ナフコ","name:ja":"ナフコ",shop:"doityourself"}},"shop/doors|Юркас":{countryCodes:["by"],tags:{brand:"Юркас",name:"Юркас",shop:"doors"}},"shop/dry_cleaning|5àsec":{tags:{brand:"5àsec","brand:wikidata":"Q2817899","brand:wikipedia":"fr:5àsec",name:"5àsec",shop:"dry_cleaning"}},"shop/dry_cleaning|Martinizing Dry Cleaning":{tags:{brand:"Martinizing Dry Cleaning","brand:wikidata":"Q6777169","brand:wikipedia":"en:Martinizing Dry Cleaning",name:"Martinizing Dry Cleaning",shop:"dry_cleaning"}},"shop/dry_cleaning|Диана":{countryCodes:["ru"],tags:{brand:"Диана","brand:wikidata":"Q62105088",name:"Диана",shop:"dry_cleaning"}},"shop/dry_cleaning|タカケンサンシャイン":{countryCodes:["jp"],matchNames:["タカケンクリーング"],tags:{brand:"タカケンサンシャイン","brand:en":"Takaken Sunshine","brand:ja":"タカケンサンシャイン","brand:wikidata":"Q11315914","brand:wikipedia":"ja:タカケンサンシャイン",name:"タカケンサンシャイン","name:en":"Takaken Sunshine","name:ja":"タカケンサンシャイン",shop:"dry_cleaning"}},"shop/dry_cleaning|ホワイト急便":{countryCodes:["jp"],tags:{brand:"ホワイト急便","brand:en":"White Kyuubin","brand:ja":"ホワイト急便","brand:wikidata":"Q11505557","brand:wikipedia":"ja:日本さわやかグループ",name:"ホワイト急便","name:en":"White Kyuubin","name:ja":"ホワイト急便",shop:"dry_cleaning"}},"shop/dry_cleaning|白洋舎":{countryCodes:["jp"],tags:{brand:"白洋舎","brand:en":"Hakuyosha","brand:wikidata":"Q11579995","brand:wikipedia":"ja:白洋舎",name:"白洋舎","name:en":"Hakuyosha",shop:"dry_cleaning"}},"shop/electronics|Apple Store":{matchNames:["apple"],nomatch:["amenity/bank|Apple Bank"],tags:{brand:"Apple Store","brand:wikidata":"Q421253","brand:wikipedia":"en:Apple Store",name:"Apple Store",shop:"electronics"}},"shop/electronics|BCC":{countryCodes:["nl"],nomatch:["amenity/bank|Bcc"],tags:{brand:"BCC",name:"BCC",shop:"electronics"}},"shop/electronics|Batteries Plus Bulbs":{countryCodes:["us"],matchNames:["batteries plus"],tags:{brand:"Batteries Plus Bulbs","brand:wikidata":"Q17005157","brand:wikipedia":"en:Batteries Plus Bulbs",name:"Batteries Plus Bulbs",shop:"electronics"}},"shop/electronics|Best Buy":{tags:{brand:"Best Buy","brand:wikidata":"Q533415","brand:wikipedia":"en:Best Buy",name:"Best Buy",shop:"electronics"}},"shop/electronics|Boulanger":{countryCodes:["fr"],tags:{brand:"Boulanger","brand:wikidata":"Q2921695","brand:wikipedia":"fr:Boulanger (entreprise)",name:"Boulanger",shop:"electronics"}},"shop/electronics|CeX":{countryCodes:["au","es","gb","ie","in","it","mx","nl","pl","pt"],tags:{brand:"CeX","brand:wikidata":"Q5055676","brand:wikipedia":"en:CeX (company)",name:"CeX",shop:"electronics"}},"shop/electronics|Currys":{countryCodes:["gb","ie"],tags:{brand:"Currys","brand:wikidata":"Q3246464","brand:wikipedia":"en:Currys",name:"Currys",shop:"electronics"}},"shop/electronics|Currys PC World":{countryCodes:["gb","ie"],tags:{brand:"Currys PC World","brand:wikidata":"Q7118727","brand:wikipedia":"en:PC World (retailer)",name:"Currys PC World",shop:"electronics"}},"shop/electronics|Darty":{countryCodes:["fr"],tags:{brand:"Darty","brand:wikidata":"Q3117381","brand:wikipedia":"en:Groupe Fnac Darty",name:"Darty",shop:"electronics"}},"shop/electronics|Elektra":{countryCodes:["gt","hn","pa","pe","sv"],tags:{brand:"Elektra","brand:wikidata":"Q1142753","brand:wikipedia":"es:Grupo Elektra",name:"Elektra",shop:"electronics"}},"shop/electronics|Elgiganten":{countryCodes:["dk","se"],tags:{brand:"Elgiganten","brand:wikidata":"Q17050121","brand:wikipedia":"en:Elgiganten",name:"Elgiganten",shop:"electronics"}},"shop/electronics|Euronics":{tags:{brand:"Euronics","brand:wikidata":"Q184860","brand:wikipedia":"en:Euronics",name:"Euronics",shop:"electronics"}},"shop/electronics|Expert":{tags:{brand:"Expert","brand:wikidata":"Q680990","brand:wikipedia":"en:Expert (company)",name:"Expert",shop:"electronics"}},"shop/electronics|Gigantti":{countryCodes:["fi"],tags:{brand:"Gigantti","brand:wikidata":"Q42512186","brand:wikipedia":"fi:Gigantti (tavarataloketju)",name:"Gigantti",shop:"electronics"}},"shop/electronics|Hartlauer":{countryCodes:["at"],tags:{brand:"Hartlauer","brand:wikidata":"Q1587223","brand:wikipedia":"de:Hartlauer",name:"Hartlauer",shop:"electronics"}},"shop/electronics|Interdiscount":{countryCodes:["ch"],tags:{brand:"Interdiscount","brand:wikidata":"Q1665980","brand:wikipedia":"de:Interdiscount",name:"Interdiscount",shop:"electronics"}},"shop/electronics|JB Hi-Fi":{countryCodes:["au","nz"],tags:{brand:"JB Hi-Fi","brand:wikidata":"Q3310113","brand:wikipedia":"en:JB Hi-Fi",name:"JB Hi-Fi",shop:"electronics"}},"shop/electronics|Jaycar":{countryCodes:["au","nz"],tags:{brand:"Jaycar","brand:wikidata":"Q6167713","brand:wikipedia":"en:Jaycar",name:"Jaycar",shop:"electronics"}},"shop/electronics|Kjell & Company":{countryCodes:["no","se"],matchNames:["kjell och company"],tags:{brand:"Kjell & Company","brand:wikidata":"Q6419332","brand:wikipedia":"en:Kjell & Company",name:"Kjell & Company",shop:"electronics"}},"shop/electronics|Komputronik":{countryCodes:["pl"],tags:{brand:"Komputronik","brand:wikidata":"Q11742085","brand:wikipedia":"pl:Komputronik",name:"Komputronik",shop:"electronics"}},"shop/electronics|La Curacao":{tags:{brand:"La Curacao","brand:wikidata":"Q5194599","brand:wikipedia":"en:Curacao (retail store)",name:"La Curacao",shop:"electronics"}},"shop/electronics|Maplin":{countryCodes:["gb"],tags:{brand:"Maplin","brand:wikidata":"Q6754124","brand:wikipedia":"en:Maplin (retailer)",name:"Maplin",shop:"electronics"}},"shop/electronics|Media Expert":{countryCodes:["pl"],tags:{brand:"Media Expert","brand:wikidata":"Q11776794","brand:wikipedia":"pl:Media Expert",name:"Media Expert",shop:"electronics"}},"shop/electronics|Media Markt":{tags:{brand:"Media Markt","brand:wikidata":"Q2381223","brand:wikipedia":"en:Media Markt",name:"Media Markt",shop:"electronics"}},"shop/electronics|Medimax":{countryCodes:["de"],tags:{brand:"Medimax","brand:wikidata":"Q62872450",name:"Medimax",shop:"electronics"}},"shop/electronics|Musimundo":{countryCodes:["ar"],tags:{brand:"Musimundo","brand:wikidata":"Q6034719","brand:wikipedia":"es:Musimundo",name:"Musimundo",shop:"electronics"}},"shop/electronics|Neonet":{countryCodes:["pl"],tags:{brand:"Neonet","brand:wikidata":"Q11790622","brand:wikipedia":"pl:Neonet",name:"Neonet",shop:"electronics"}},"shop/electronics|Power":{countryCodes:["dk","fi","no"],tags:{brand:"Power",name:"Power",shop:"electronics"}},"shop/electronics|RTV Euro AGD":{countryCodes:["pl"],tags:{brand:"RTV Euro AGD","brand:wikidata":"Q7277895","brand:wikipedia":"pl:RTV Euro AGD",name:"RTV Euro AGD",shop:"electronics"}},"shop/electronics|RadioShack":{tags:{brand:"RadioShack","brand:wikidata":"Q1195490","brand:wikipedia":"en:RadioShack",name:"RadioShack",shop:"electronics"}},"shop/electronics|Samsung":{tags:{brand:"Samsung","brand:wikidata":"Q20718","brand:wikipedia":"en:Samsung Electronics",name:"Samsung",shop:"electronics"}},"shop/electronics|Saturn":{countryCodes:["at","de","lu","pl"],tags:{brand:"Saturn","brand:wikidata":"Q2543504","brand:wikipedia":"en:Saturn (retailer)",name:"Saturn",shop:"electronics"}},"shop/electronics|Sony":{tags:{brand:"Sony","brand:wikidata":"Q41187","brand:wikipedia":"en:Sony",name:"Sony",shop:"electronics"}},"shop/electronics|Teknikmagasinet":{countryCodes:["fi","no","se"],tags:{brand:"Teknikmagasinet","brand:wikidata":"Q3357520","brand:wikipedia":"en:Teknikmagasinet",name:"Teknikmagasinet",shop:"electronics"}},"shop/electronics|The Good Guys":{countryCodes:["au"],tags:{brand:"The Good Guys","brand:wikidata":"Q7737217","brand:wikipedia":"en:The Good Guys (Australian company)",name:"The Good Guys",shop:"electronics"}},"shop/electronics|The Source":{countryCodes:["ca"],tags:{brand:"The Source","brand:wikidata":"Q3212934","brand:wikipedia":"en:The Source (retailer)",name:"The Source",shop:"electronics"}},"shop/electronics|Trony":{countryCodes:["it"],tags:{brand:"Trony",name:"Trony",shop:"electronics"}},"shop/electronics|Unieuro":{countryCodes:["it"],tags:{brand:"Unieuro","brand:wikidata":"Q4004687","brand:wikipedia":"en:Unieuro",name:"Unieuro",shop:"electronics"}},"shop/electronics|Worten":{countryCodes:["es","pt"],tags:{brand:"Worten","brand:wikidata":"Q10394039","brand:wikipedia":"pt:Worten",name:"Worten",shop:"electronics"}},"shop/electronics|b8ta":{countryCodes:["us"],tags:{brand:"b8ta","brand:wikidata":"Q55604609","brand:wikipedia":"en:B8ta",name:"b8ta",shop:"electronics"}},"shop/electronics|М.Видео":{countryCodes:["ru"],tags:{brand:"М.Видео","brand:en":"M.video","brand:wikidata":"Q6558800","brand:wikipedia":"en:M.video",name:"М.Видео","name:en":"M.video",shop:"electronics"}},"shop/electronics|Фокстрот":{countryCodes:["ua"],tags:{brand:"Фокстрот","brand:wikidata":"Q16721578","brand:wikipedia":"uk:Фокстрот (торгова мережа)",name:"Фокстрот",shop:"electronics"}},"shop/electronics|Эксперт":{countryCodes:["ru"],tags:{brand:"Эксперт",name:"Эксперт",shop:"electronics"}},"shop/electronics|Эльдорадо":{countryCodes:["ru","ua"],tags:{brand:"Эльдорадо","brand:wikidata":"Q4531492","brand:wikipedia":"ru:Эльдорадо (сеть магазинов)",name:"Эльдорадо",shop:"electronics"}},"shop/electronics|エディオン":{countryCodes:["jp"],tags:{brand:"エディオン","brand:en":"EDION","brand:ja":"エディオン","brand:wikidata":"Q11290252","brand:wikipedia":"ja:エディオン",name:"エディオン","name:en":"EDION","name:ja":"エディオン",shop:"electronics"}},"shop/electronics|ケーズデンキ":{countryCodes:["jp"],matchTags:["shop/appliance"],tags:{brand:"ケーズデンキ","brand:en":"K's Denki","brand:ja":"ケーズデンキ","brand:wikidata":"Q6322472","brand:wikipedia":"ja:ケーズホールディングス",name:"ケーズデンキ","name:en":"K's Denki","name:ja":"ケーズデンキ",shop:"electronics"}},"shop/electronics|コジマ":{countryCodes:["jp"],tags:{brand:"コジマ","brand:en":"Kojima","brand:ja":"コジマ","brand:wikidata":"Q11302052","brand:wikipedia":"ja:コジマ",name:"コジマ","name:en":"Kojima","name:ja":"コジマ",shop:"electronics"}},"shop/electronics|ソフマップ":{countryCodes:["jp"],tags:{brand:"ソフマップ","brand:en":"Sofmap","brand:ja":"ソフマップ","brand:wikidata":"Q7553789","brand:wikipedia":"ja:ソフマップ",name:"ソフマップ","name:en":"Sofmap","name:ja":"ソフマップ",shop:"electronics"}},"shop/electronics|ビックカメラ":{countryCodes:["jp"],tags:{brand:"ビックカメラ","brand:en":"Bic Camera","brand:ja":"ビックカメラ","brand:wikidata":"Q4903531","brand:wikipedia":"ja:ビックカメラ",name:"ビックカメラ","name:en":"Bic Camera","name:ja":"ビックカメラ",shop:"electronics"}},"shop/electronics|ヤマダ電機":{countryCodes:["jp"],tags:{brand:"ヤマダ電機","brand:en":"Yamada Denki","brand:ja":"ヤマダ電機","brand:wikidata":"Q1096390","brand:wikipedia":"en:Yamada Denki",name:"ヤマダ電機","name:en":"Yamada Denki","name:ja":"ヤマダ電機",shop:"electronics"}},"shop/electronics|ヨドバシカメラ":{countryCodes:["jp"],tags:{brand:"ヨドバシカメラ","brand:en":"Yodobashi Camera","brand:ja":"ヨドバシカメラ","brand:wikidata":"Q168467","brand:wikipedia":"ja:ヨドバシカメラ",name:"ヨドバシカメラ","name:en":"Yodobashi Camera","name:ja":"ヨドバシカメラ",shop:"electronics"}},"shop/electronics|全國電子":{countryCodes:["tw"],tags:{brand:"全國電子","brand:en":"E-life Mall","brand:wikidata":"Q10891540","brand:wikipedia":"zh:全國電子",name:"全國電子","name:en":"E-life Mall",shop:"electronics"}},"shop/electronics|燦坤3C":{countryCodes:["tw"],tags:{brand:"燦坤3C","brand:en":"Tsannkuen 3C","brand:wikidata":"Q11569285","brand:wikipedia":"zh:燦坤",name:"燦坤3C","name:en":"Tsannkuen 3C",shop:"electronics"}},"shop/erotic|Ann Summers":{countryCodes:["gb","ie"],tags:{brand:"Ann Summers","brand:wikidata":"Q579524","brand:wikipedia":"en:Ann Summers",name:"Ann Summers",shop:"erotic"}},"shop/erotic|Orion":{countryCodes:["at","de"],tags:{brand:"Orion","brand:wikidata":"Q1609577","brand:wikipedia":"de:Orion (Erotik)",name:"Orion",shop:"erotic"}},"shop/fabric|Mondial Tissus":{countryCodes:["fr"],matchTags:["shop/curtain","shop/department_store"],tags:{brand:"Mondial Tissus","brand:wikidata":"Q17635288","brand:wikipedia":"fr:Mondial Tissus",name:"Mondial Tissus",shop:"fabric"}},"shop/fashion_accessories|Brighton Collectibles":{countryCodes:["us"],matchNames:["brighton"],tags:{brand:"Brighton Collectibles","brand:wikidata":"Q4967623","brand:wikipedia":"en:Brighton Collectibles",name:"Brighton Collectibles",shop:"fashion_accessories"}},"shop/fashion_accessories|Bvlgari":{matchNames:["bulgari"],tags:{brand:"Bulgari","brand:wikidata":"Q752515","brand:wikipedia":"en:Bulgari",name:"Bvlgari",shop:"fashion_accessories"}},"shop/fashion_accessories|Claire's":{matchTags:["shop/jewelry"],tags:{brand:"Claire's","brand:wikidata":"Q2974996","brand:wikipedia":"en:Claire's",name:"Claire's",shop:"fashion_accessories"}},"shop/fashion_accessories|Jimmy Choo":{tags:{brand:"Jimmy Choo","brand:wikidata":"Q5213855","brand:wikipedia":"en:Jimmy Choo Ltd",name:"Jimmy Choo",shop:"fashion_accessories"}},"shop/fashion_accessories|Prada":{tags:{brand:"Prada","brand:wikidata":"Q193136","brand:wikipedia":"en:Prada",name:"Prada",shop:"fashion_accessories"}},"shop/fashion_accessories|Salvatore Ferragamo":{tags:{brand:"Salvatore Ferragamo","brand:wikidata":"Q3946053","brand:wikipedia":"en:Salvatore Ferragamo S.p.A.",name:"Salvatore Ferragamo",shop:"fashion_accessories"}},"shop/fashion_accessories|Van Cleef & Arpels":{matchNames:["van cleef & arples"],tags:{brand:"Van Cleef & Arpels","brand:wikidata":"Q2708181","brand:wikipedia":"en:Van Cleef & Arpels",name:"Van Cleef & Arpels",shop:"fashion_accessories"}},"shop/florist|Blume 2000":{countryCodes:["de"],tags:{brand:"Blume 2000","brand:wikidata":"Q886166","brand:wikipedia":"de:Blume 2000",name:"Blume 2000",shop:"florist"}},"shop/florist|Blumen Risse":{countryCodes:["de"],tags:{brand:"Blumen Risse","brand:wikidata":"Q886177","brand:wikipedia":"de:Blumen Risse",name:"Blumen Risse",shop:"florist"}},"shop/florist|Interflora":{countryCodes:["fr","gb","no","se"],tags:{brand:"Interflora","brand:wikidata":"Q692179","brand:wikipedia":"en:Interflora",name:"Interflora",shop:"florist"}},"shop/florist|Monceau Fleurs":{countryCodes:["be","fr"],tags:{brand:"Monceau Fleurs","brand:wikidata":"Q17629431","brand:wikipedia":"fr:Emova Group",name:"Monceau Fleurs",shop:"florist"}},"shop/florist|Азалия":{tags:{brand:"Азалия",name:"Азалия",shop:"florist"}},"shop/florist|Мосцветторг":{countryCodes:["ru"],tags:{brand:"Мосцветторг",name:"Мосцветторг",shop:"florist"}},"shop/frame|Aaron Brothers":{countryCodes:["us"],matchNames:["aaron brothers art & framing","aaron brothers custom framing"],tags:{brand:"Aaron Brothers","brand:wikidata":"Q64979251",name:"Aaron Brothers",shop:"frame"}},"shop/frozen_food|Dream Dinners":{countryCodes:["us"],matchTags:["amenity/fast_food","amenity/restaurant"],tags:{brand:"Dream Dinners","brand:wikidata":"Q5306355","brand:wikipedia":"en:Dream Dinners",name:"Dream Dinners",opening_hours:"\"by appointment\"",shop:"frozen_food"}},"shop/frozen_food|Iceland":{matchTags:["shop/convenience"],tags:{brand:"Iceland","brand:wikidata":"Q721810","brand:wikipedia":"en:Iceland (supermarket)",name:"Iceland",shop:"frozen_food"}},"shop/frozen_food|Picard":{countryCodes:["fr"],tags:{brand:"Picard","brand:wikidata":"Q3382454","brand:wikipedia":"en:Picard Surgelés",name:"Picard",shop:"frozen_food"}},"shop/funeral_directors|PFG":{countryCodes:["fr"],tags:{brand:"PFG","brand:wikidata":"Q3396087","brand:wikipedia":"fr:Pompes funèbres générales",name:"PFG",official_name:"Pompes Funèbres Générales",shop:"funeral_directors"}},"shop/funeral_directors|Roblot":{countryCodes:["fr"],tags:{brand:"Roblot","brand:wikidata":"Q63247414",name:"Roblot",shop:"funeral_directors"}},"shop/funeral_directors|Roc-Eclerc":{countryCodes:["fr"],tags:{brand:"Roc-Eclerc","brand:wikidata":"Q62558102",name:"Roc-Eclerc",shop:"funeral_directors"}},"shop/funeral_directors|The Co-operative Funeralcare":{countryCodes:["gb"],tags:{brand:"The Co-operative Funeralcare","brand:wikidata":"Q7726521","brand:wikipedia":"en:Co-op Funeralcare",name:"The Co-operative Funeralcare",shop:"funeral_directors"}},"shop/furniture|Aaron's":{countryCodes:["ca","us"],tags:{brand:"Aaron's","brand:wikidata":"Q10397787","brand:wikipedia":"en:Aaron's, Inc.",name:"Aaron's",shop:"furniture"}},"shop/furniture|American Signature Furniture":{countryCodes:["us"],tags:{brand:"American Signature Furniture","brand:wikidata":"Q63859411",name:"American Signature Furniture",shop:"furniture"}},"shop/furniture|Arhaus":{countryCodes:["us"],tags:{brand:"Arhaus","brand:wikidata":"Q35689887","brand:wikipedia":"en:Arhaus",name:"Arhaus",shop:"furniture"}},"shop/furniture|Ashley HomeStore":{countryCodes:["ca","us"],matchNames:["ashley furniture homestore"],tags:{alt_name:"Ashley Furniture",brand:"Ashley HomeStore","brand:wikidata":"Q4805437","brand:wikipedia":"en:Ashley HomeStore",name:"Ashley HomeStore",shop:"furniture"}},"shop/furniture|Asko":{countryCodes:["fi"],tags:{brand:"Asko","brand:wikidata":"Q11853132","brand:wikipedia":"fi:Asko",name:"Asko",shop:"furniture"}},"shop/furniture|Askona":{countryCodes:["ru"],tags:{brand:"Askona","brand:wikidata":"Q4071319","brand:wikipedia":"ru:Аскона (компания)",name:"Askona",shop:"furniture"}},"shop/furniture|Black Red White":{tags:{brand:"Black Red White","brand:wikidata":"Q4921546","brand:wikipedia":"en:Black Red White",name:"Black Red White",shop:"furniture"}},"shop/furniture|BoConcept":{tags:{brand:"BoConcept","brand:wikidata":"Q11338915","brand:wikipedia":"en:BoConcept",name:"BoConcept",shop:"furniture"}},"shop/furniture|Bob's Discount Furniture":{countryCodes:["us"],tags:{brand:"Bob's Discount Furniture","brand:wikidata":"Q4931582","brand:wikipedia":"en:Bob's Discount Furniture",name:"Bob's Discount Furniture",shop:"furniture"}},"shop/furniture|Bodzio":{countryCodes:["pl"],tags:{brand:"Bodzio","brand:wikidata":"Q20034845","brand:wikipedia":"pl:Fabryka Mebli Bodzio",name:"Bodzio",shop:"furniture"}},"shop/furniture|But":{countryCodes:["fr"],tags:{brand:"But","brand:wikidata":"Q18720442","brand:wikipedia":"en:BUT (retailer)",name:"But",shop:"furniture"}},"shop/furniture|Cabinets To Go":{countryCodes:["us"],tags:{brand:"Cabinets To Go","brand:wikidata":"Q25245346","brand:wikipedia":"en:Cabinets To Go",name:"Cabinets To Go",shop:"furniture"}},"shop/furniture|Casa":{countryCodes:["be","ch","es","fr","it","pt"],matchTags:["shop/interior_decoration"],tags:{brand:"Casa",name:"Casa",shop:"furniture"}},"shop/furniture|Conforama":{countryCodes:["ch","es","fr","it"],tags:{brand:"Conforama","brand:wikidata":"Q541134","brand:wikipedia":"en:Conforama",name:"Conforama",shop:"furniture"}},"shop/furniture|Crate & Barrel":{countryCodes:["us"],tags:{brand:"Crate & Barrel","brand:wikidata":"Q5182604","brand:wikipedia":"en:Crate & Barrel",name:"Crate & Barrel",shop:"furniture"}},"shop/furniture|DFS":{countryCodes:["gb"],tags:{brand:"DFS","brand:wikidata":"Q5204927","brand:wikipedia":"en:DFS Furniture",name:"DFS",shop:"furniture"}},"shop/furniture|Dänisches Bettenlager":{countryCodes:["at","de"],matchTags:["shop/bed"],tags:{brand:"Dänisches Bettenlager","brand:wikidata":"Q138913","brand:wikipedia":"en:Jysk (store)",name:"Dänisches Bettenlager",shop:"furniture"}},"shop/furniture|Ethan Allen":{countryCodes:["ca","us"],tags:{brand:"Ethan Allen","brand:wikidata":"Q5402870","brand:wikipedia":"en:Ethan Allen (furniture company)",name:"Ethan Allen",shop:"furniture"}},"shop/furniture|Fly":{countryCodes:["fr"],tags:{brand:"Fly","brand:wikidata":"Q1389184","brand:wikipedia":"fr:Fly (entreprise)",name:"Fly",shop:"furniture"}},"shop/furniture|Freedom":{countryCodes:["au"],matchNames:["freedom furniture"],tags:{brand:"Freedom","brand:wikidata":"Q5500546","brand:wikipedia":"en:Freedom Furniture",name:"Freedom",shop:"furniture"}},"shop/furniture|HSL":{countryCodes:["gb"],tags:{brand:"HSL","brand:wikidata":"Q64284324",name:"HSL",official_name:"High Seat Limited",shop:"furniture"}},"shop/furniture|Harveys":{countryCodes:["gb"],nomatch:["amenity/fast_food|Harvey's"],tags:{brand:"Harveys","brand:wikidata":"Q5677754","brand:wikipedia":"en:Harveys Furniture",name:"Harveys",shop:"furniture"}},"shop/furniture|Havertys":{countryCodes:["us"],tags:{brand:"Havertys","brand:wikidata":"Q5683881","brand:wikipedia":"en:Havertys",name:"Havertys",shop:"furniture"}},"shop/furniture|IKEA":{tags:{brand:"IKEA","brand:wikidata":"Q54078","brand:wikipedia":"en:IKEA",name:"IKEA",shop:"furniture"}},"shop/furniture|Isku":{countryCodes:["fi"],tags:{brand:"Isku","brand:wikidata":"Q11865127","brand:wikipedia":"fi:Isku (yritys)",name:"Isku",shop:"furniture"}},"shop/furniture|JYSK":{tags:{brand:"JYSK","brand:wikidata":"Q138913","brand:wikipedia":"en:Jysk (store)",name:"JYSK",shop:"furniture"}},"shop/furniture|Jerome’s Furniture":{countryCodes:["us"],tags:{brand:"Jerome’s Furniture","brand:wikidata":"Q16997693","brand:wikipedia":"en:Jerome's",name:"Jerome’s Furniture",shop:"furniture",short_name:"Jerome’s"}},"shop/furniture|Kwantum":{countryCodes:["nl"],tags:{brand:"Kwantum","brand:wikidata":"Q2262591","brand:wikipedia":"nl:Kwantum (winkelketen)",name:"Kwantum",shop:"furniture"}},"shop/furniture|La-Z-Boy":{countryCodes:["ca","us"],tags:{brand:"La-Z-Boy","brand:wikidata":"Q6391583","brand:wikipedia":"en:La-Z-Boy",name:"La-Z-Boy",shop:"furniture"}},"shop/furniture|Leen Bakker":{countryCodes:["nl"],tags:{brand:"Leen Bakker","brand:wikidata":"Q3333662","brand:wikipedia":"nl:Leen Bakker",name:"Leen Bakker",shop:"furniture"}},"shop/furniture|LoveSac":{countryCodes:["us"],tags:{brand:"LoveSac","brand:wikidata":"Q6690181","brand:wikipedia":"en:LoveSac",name:"LoveSac",shop:"furniture"}},"shop/furniture|Maisons du Monde":{countryCodes:["be","ch","de","es","fr","gb","it","lu"],tags:{brand:"Maisons du Monde","brand:wikidata":"Q3280364","brand:wikipedia":"fr:Maisons du Monde",name:"Maisons du Monde",shop:"furniture"}},"shop/furniture|Möbelix":{countryCodes:["at","cz","hu","sk"],tags:{brand:"Möbelix","brand:wikidata":"Q877547","brand:wikipedia":"hu:Möbelix",name:"Möbelix",shop:"furniture"}},"shop/furniture|Pottery Barn":{countryCodes:["au","ca","mx","ph","us"],tags:{brand:"Pottery Barn","brand:wikidata":"Q3400126","brand:wikipedia":"en:Pottery Barn",name:"Pottery Barn",shop:"furniture"}},"shop/furniture|Raymour & Flanigan":{countryCodes:["us"],tags:{brand:"Raymour & Flanigan","brand:wikidata":"Q7299290","brand:wikipedia":"en:Raymour & Flanigan",name:"Raymour & Flanigan",shop:"furniture"}},"shop/furniture|Rent-A-Center":{countryCodes:["mx","us"],tags:{brand:"Rent-A-Center","brand:wikidata":"Q7313497","brand:wikipedia":"en:Rent-A-Center",name:"Rent-A-Center",shop:"furniture"}},"shop/furniture|Restoration Hardware":{countryCodes:["ca","us"],tags:{brand:"Restoration Hardware","brand:wikidata":"Q7316207","brand:wikipedia":"en:Restoration Hardware",name:"Restoration Hardware",shop:"furniture"}},"shop/furniture|Roche Bobois":{tags:{brand:"Roche Bobois",name:"Roche Bobois",shop:"furniture"}},"shop/furniture|Roller":{countryCodes:["de"],tags:{brand:"Roller","brand:wikidata":"Q1621286","brand:wikipedia":"de:Roller (Möbelhaus)",name:"Roller",shop:"furniture"}},"shop/furniture|Rooms To Go":{countryCodes:["us"],tags:{brand:"Rooms To Go","brand:wikidata":"Q7366329","brand:wikipedia":"en:Rooms To Go",name:"Rooms To Go",shop:"furniture"}},"shop/furniture|ScS":{countryCodes:["gb"],tags:{brand:"ScS","brand:wikidata":"Q19654399","brand:wikipedia":"en:ScS",name:"ScS",shop:"furniture"}},"shop/furniture|The Brick":{countryCodes:["ca"],tags:{brand:"The Brick","brand:wikidata":"Q7720000","brand:wikipedia":"en:The Brick",name:"The Brick",shop:"furniture"}},"shop/furniture|Urban Barn":{countryCodes:["ca"],tags:{brand:"Urban Barn","brand:wikidata":"Q62515207",name:"Urban Barn",shop:"furniture"}},"shop/furniture|Value City Furniture":{countryCodes:["us"],tags:{brand:"Value City Furniture","brand:wikidata":"Q63859417",name:"Value City Furniture",shop:"furniture"}},"shop/furniture|XXXLutz":{tags:{brand:"XXXLutz",name:"XXXLutz",shop:"furniture"}},"shop/furniture|İstikbal":{countryCodes:["tr"],tags:{brand:"İstikbal","brand:wikidata":"Q6031999","brand:wikipedia":"tr:İstikbal",name:"İstikbal",shop:"furniture"}},"shop/furniture|Много мебели":{countryCodes:["ru"],tags:{brand:"Много мебели",name:"Много мебели",shop:"furniture"}},"shop/furniture|ニトリ":{countryCodes:["jp"],tags:{brand:"ニトリ","brand:en":"Nitori","brand:ja":"ニトリ","brand:wikidata":"Q10801453","brand:wikipedia":"en:Nitori",name:"ニトリ","name:en":"Nitori","name:ja":"ニトリ",shop:"furniture"}},"shop/games|Games Workshop":{countryCodes:["de","fr","gb","nl","us"],tags:{brand:"Games Workshop","brand:wikidata":"Q587270","brand:wikipedia":"en:Games Workshop",name:"Games Workshop",shop:"games"}},"shop/garden_centre|Dehner":{countryCodes:["at","de"],tags:{brand:"Dehner","brand:wikidata":"Q1183029","brand:wikipedia":"de:Dehner",name:"Dehner",shop:"garden_centre"}},"shop/garden_centre|Gamm Vert":{countryCodes:["fr"],tags:{brand:"Gamm Vert","brand:wikidata":"Q3095006","brand:wikipedia":"fr:Gamm Vert",name:"Gamm Vert",shop:"garden_centre"}},"shop/garden_centre|Jardiland":{countryCodes:["fr"],tags:{brand:"Jardiland","brand:wikidata":"Q3162276","brand:wikipedia":"fr:Jardiland",name:"Jardiland",shop:"garden_centre"}},"shop/garden_centre|Point Vert":{countryCodes:["fr"],tags:{brand:"Point Vert","brand:wikidata":"Q16661975","brand:wikipedia":"fr:Magasin vert",name:"Point Vert",shop:"garden_centre"}},"shop/garden_centre|Truffaut":{countryCodes:["fr"],tags:{brand:"Truffaut","brand:wikidata":"Q3162640","brand:wikipedia":"fr:Jardineries Truffaut",name:"Truffaut",shop:"garden_centre"}},"shop/garden_centre|Welkoop":{countryCodes:["nl"],tags:{brand:"Welkoop",name:"Welkoop",shop:"garden_centre"}},"shop/gas|Airgas":{countryCodes:["us"],matchTags:["amenity/fuel","shop/fuel","shop/trade"],tags:{brand:"Airgas","brand:wikidata":"Q80635","brand:wikipedia":"en:Airgas",name:"Airgas",shop:"gas"}},"shop/gas|AmeriGas":{countryCodes:["us"],nomatch:["amenity/vending_machine|AmeriGas"],tags:{brand:"AmeriGas","brand:wikidata":"Q23130318","fuel:lpg":"yes",name:"AmeriGas",shop:"gas"}},"shop/gas|Ferrellgas":{countryCodes:["us"],tags:{brand:"Ferrellgas","brand:wikidata":"Q5445299","fuel:lpg":"yes",name:"Ferrellgas",shop:"gas"}},"shop/gift|American Greetings":{countryCodes:["us"],tags:{brand:"American Greetings","brand:wikidata":"Q464767","brand:wikipedia":"en:American Greetings",name:"American Greetings",shop:"gift"}},"shop/gift|Card Factory":{countryCodes:["gb","im"],tags:{brand:"Card Factory","brand:wikidata":"Q5038192","brand:wikipedia":"en:Card Factory",name:"Card Factory",shop:"gift"}},"shop/gift|Carlton Cards":{countryCodes:["ca"],matchNames:["carlton"],tags:{brand:"Carlton Cards","brand:wikidata":"Q5042968","brand:wikipedia":"en:Carlton Cards",name:"Carlton Cards",shop:"gift"}},"shop/gift|Clintons":{countryCodes:["gb"],tags:{brand:"Clintons","brand:wikidata":"Q5134299","brand:wikipedia":"en:Clintons",name:"Clintons",shop:"gift"}},"shop/gift|Cracker Barrel":{countryCodes:["us"],tags:{brand:"Cracker Barrel","brand:wikidata":"Q4492609","brand:wikipedia":"en:Cracker Barrel",name:"Cracker Barrel",official_name:"Cracker Barrel Old Country Store",shop:"gift"}},"shop/gift|Disney Store":{countryCodes:["ca","fr","us"],matchNames:["the disney store"],matchTags:["shop/toys"],tags:{brand:"Disney Store","brand:wikidata":"Q1047009","brand:wikipedia":"en:Disney Store",name:"Disney Store",shop:"gift"}},"shop/gift|Edible Arrangements":{countryCodes:["ca","us"],tags:{brand:"Edible Arrangements","brand:wikidata":"Q5337996","brand:wikipedia":"en:Edible Arrangements",name:"Edible Arrangements",shop:"gift"}},"shop/gift|Hallmark":{countryCodes:["ca","gb","us"],matchNames:["hallmark gold crown"],tags:{brand:"Hallmark","brand:wikidata":"Q1521910","brand:wikipedia":"en:Hallmark Cards",name:"Hallmark",shop:"gift"}},"shop/gift|Nanu-Nana":{countryCodes:["at","de"],tags:{brand:"Nanu-Nana","brand:wikidata":"Q1720245","brand:wikipedia":"de:Nanu-Nana",name:"Nanu-Nana",shop:"gift"}},"shop/gift|Papyrus":{countryCodes:["us"],tags:{brand:"Papyrus","brand:wikidata":"Q28222692","brand:wikipedia":"en:Papyrus (company)",name:"Papyrus",shop:"gift"}},"shop/gift|Showcase":{countryCodes:["ca","us"],tags:{brand:"Showcase","brand:wikidata":"Q7503163","brand:wikipedia":"en:Showcase (retailer)",name:"Showcase",shop:"gift"}},"shop/gift|Spencer's":{countryCodes:["ca","us"],tags:{brand:"Spencer Gifts","brand:wikidata":"Q7576055","brand:wikipedia":"en:Spencer Gifts",name:"Spencer's",official_name:"Spencer Gifts",shop:"gift"}},"shop/gift|Things Remembered":{countryCodes:["ca","us"],tags:{brand:"Things Remembered","brand:wikidata":"Q54958287","brand:wikipedia":"en:Things Remembered",name:"Things Remembered",shop:"gift"}},"shop/gift|Wereldwinkel":{countryCodes:["be","nl"],tags:{brand:"Wereldwinkel",name:"Wereldwinkel",shop:"gift"}},"shop/greengrocer|Produce Junction":{countryCodes:["us"],tags:{brand:"Produce Junction","brand:wikidata":"Q60583541",name:"Produce Junction",shop:"greengrocer"}},"shop/hairdresser_supply|Sally Beauty Supply":{countryCodes:["ca","mx","us"],tags:{brand:"Sally Beauty Supply","brand:wikidata":"Q7405065","brand:wikipedia":"en:Sally Beauty Holdings",name:"Sally Beauty Supply",shop:"hairdresser_supply"}},"shop/hairdresser|Camille Albane":{countryCodes:["fr"],tags:{brand:"Camille Albane","brand:wikidata":"Q62965183",name:"Camille Albane",shop:"hairdresser"}},"shop/hairdresser|Coiff&Co":{countryCodes:["fr"],tags:{brand:"Coiff&Co",name:"Coiff&Co",shop:"hairdresser"}},"shop/hairdresser|Cost Cutters":{countryCodes:["us"],tags:{brand:"Cost Cutters","brand:wikidata":"Q62029366",name:"Cost Cutters",shop:"hairdresser"}},"shop/hairdresser|Dessange":{tags:{brand:"Dessange","brand:wikidata":"Q62979914",name:"Dessange",shop:"hairdresser"}},"shop/hairdresser|Fantastic Sams":{countryCodes:["us"],tags:{brand:"Fantastic Sams","brand:wikidata":"Q5434222","brand:wikipedia":"en:Fantastic Sams",name:"Fantastic Sams",shop:"hairdresser"}},"shop/hairdresser|First Choice Haircutters":{countryCodes:["ca"],tags:{brand:"First Choice Haircutters","brand:wikidata":"Q5452622","brand:wikipedia":"en:First Choice Haircutters",name:"First Choice Haircutters",shop:"hairdresser"}},"shop/hairdresser|Fodrászat":{tags:{brand:"Fodrászat",name:"Fodrászat",shop:"hairdresser"}},"shop/hairdresser|Franck Provost":{countryCodes:["be","fr","pl"],tags:{brand:"Franck Provost","brand:wikidata":"Q62805922","brand:wikipedia":"fr:Franck Provost (Salons de coiffure)",name:"Franck Provost",shop:"hairdresser"}},"shop/hairdresser|Great Clips":{countryCodes:["ca","us"],tags:{brand:"Great Clips","brand:wikidata":"Q5598967","brand:wikipedia":"en:Great Clips",name:"Great Clips",shop:"hairdresser"}},"shop/hairdresser|Hair Cuttery":{countryCodes:["us"],tags:{brand:"Hair Cuttery","brand:wikidata":"Q5639484","brand:wikipedia":"en:Hair Cuttery",name:"Hair Cuttery",shop:"hairdresser"}},"shop/hairdresser|Hair Express":{countryCodes:["de","us"],tags:{brand:"Hair Express","brand:wikidata":"Q57550814",name:"Hair Express",shop:"hairdresser"}},"shop/hairdresser|Hair Studio":{tags:{brand:"Hair Studio",name:"Hair Studio",shop:"hairdresser"}},"shop/hairdresser|Hairkiller":{countryCodes:["at","de","lu"],tags:{brand:"Hairkiller","brand:wikidata":"Q58305998",name:"Hairkiller",shop:"hairdresser"}},"shop/hairdresser|Jean Louis David":{countryCodes:["es","fr","it","pl"],tags:{brand:"Jean Louis David","brand:wikidata":"Q64445174",name:"Jean Louis David",shop:"hairdresser"}},"shop/hairdresser|Kirpykla":{countryCodes:["lt"],tags:{brand:"Kirpykla",name:"Kirpykla",shop:"hairdresser"}},"shop/hairdresser|Klier":{countryCodes:["at","cz","de","sk"],tags:{brand:"Klier","brand:wikidata":"Q1465159","brand:wikipedia":"de:Frisör Klier",name:"Klier",shop:"hairdresser"}},"shop/hairdresser|Klipp":{countryCodes:["at"],tags:{brand:"Klipp","brand:wikidata":"Q1737304","brand:wikipedia":"de:Klipp Frisör",name:"Klipp",shop:"hairdresser"}},"shop/hairdresser|Marco Aldany":{tags:{brand:"Marco Aldany",name:"Marco Aldany",shop:"hairdresser"}},"shop/hairdresser|Mastercuts":{countryCodes:["ca","us"],tags:{brand:"Mastercuts","brand:wikidata":"Q64026258",name:"Mastercuts",shop:"hairdresser"}},"shop/hairdresser|Saint Algue":{tags:{brand:"Saint Algue","brand:wikidata":"Q62973210",name:"Saint Algue",shop:"hairdresser"}},"shop/hairdresser|Sport Clips":{countryCodes:["ca","us"],matchNames:["sport clips haircuts","sports clips"],tags:{brand:"Sport Clips","brand:wikidata":"Q7579310",name:"Sport Clips",shop:"hairdresser"}},"shop/hairdresser|Super Cut":{tags:{brand:"Super Cut","brand:wikidata":"Q64139077",name:"Super Cut",shop:"hairdresser"}},"shop/hairdresser|Supercuts":{countryCodes:["ca","gb","us"],tags:{brand:"Supercuts","brand:wikidata":"Q7643239","brand:wikipedia":"en:Supercuts",name:"Supercuts",shop:"hairdresser"}},"shop/hairdresser|Tchip":{countryCodes:["fr"],tags:{brand:"Tchip","brand:wikidata":"Q62871250",name:"Tchip",shop:"hairdresser"}},"shop/hairdresser|The Salon at Ulta Beauty":{countryCodes:["us"],tags:{alt_name:"Ulta Salon",brand:"Ulta Beauty","brand:wikidata":"Q7880076","brand:wikipedia":"en:Ulta Beauty",name:"The Salon at Ulta Beauty",shop:"hairdresser"}},"shop/hairdresser|Toni & Guy":{tags:{brand:"Toni & Guy","brand:wikidata":"Q324784","brand:wikipedia":"en:Toni & Guy",name:"Toni & Guy",shop:"hairdresser"}},"shop/hairdresser|Top Hair":{countryCodes:["de"],tags:{brand:"Top Hair","brand:wikidata":"Q62523343",name:"Top Hair",shop:"hairdresser"}},"shop/hairdresser|Виктория":{tags:{brand:"Виктория",name:"Виктория",shop:"hairdresser"}},"shop/hairdresser|Елена":{tags:{brand:"Елена",name:"Елена",shop:"hairdresser"}},"shop/hairdresser|Каприз":{countryCodes:["ru","ua"],tags:{brand:"Каприз",name:"Каприз",shop:"hairdresser"}},"shop/hairdresser|Фея":{countryCodes:["ru","ua"],tags:{brand:"Фея",name:"Фея",shop:"hairdresser"}},"shop/hairdresser|Чио Чио":{tags:{brand:"Чио Чио",name:"Чио Чио",shop:"hairdresser"}},"shop/hardware|220 вольт":{countryCodes:["by","ru","ua"],tags:{brand:"220 вольт","brand:en":"220 Volt","brand:ru":"220 вольт","brand:wikidata":"Q18635304","brand:wikipedia":"ru:220 Вольт (компания)",name:"220 вольт","name:en":"220 Volt","name:ru":"220 вольт",shop:"hardware"}},"shop/hardware|Harbor Freight Tools":{countryCodes:["us"],tags:{brand:"Harbor Freight Tools","brand:wikidata":"Q5654601","brand:wikipedia":"en:Harbor Freight Tools",name:"Harbor Freight Tools",shop:"hardware"}},"shop/hardware|Home Hardware":{countryCodes:["ca"],nomatch:["shop/doityourself|Home Hardware Building Centre"],tags:{brand:"Home Hardware","brand:wikidata":"Q3139611","brand:wikipedia":"en:Home Hardware",name:"Home Hardware",shop:"hardware"}},"shop/hardware|K-Rauta":{countryCodes:["fi"],tags:{brand:"K-Rauta","brand:wikidata":"Q4206187","brand:wikipedia":"fi:K-Rauta",name:"K-Rauta",shop:"hardware"}},"shop/hardware|Kodin Terra":{countryCodes:["fi"],tags:{brand:"Kodin Terra","brand:wikidata":"Q11872038","brand:wikipedia":"fi:Kodin Terra",name:"Kodin Terra",shop:"hardware"}},"shop/hardware|True Value":{countryCodes:["us"],tags:{brand:"True Value","brand:wikidata":"Q7847545","brand:wikipedia":"en:True Value",name:"True Value",shop:"hardware"}},"shop/hardware|Würth":{countryCodes:["be","de","fi","fr","it","no"],tags:{brand:"Würth","brand:wikidata":"Q679750","brand:wikipedia":"de:Würth-Gruppe",name:"Würth",shop:"hardware"}},"shop/hardware|Мосхозторг":{countryCodes:["ru"],tags:{brand:"Мосхозторг","brand:wikidata":"Q62499092",name:"Мосхозторг",shop:"hardware"}},"shop/hardware|Хозяин":{countryCodes:["by","ru","ua"],tags:{brand:"Хозяин",name:"Хозяин",shop:"hardware"}},"shop/health_food|Holland & Barrett":{countryCodes:["gb","ie","nl"],matchTags:["shop/chemist","shop/health","shop/herbalist","shop/supermarket"],tags:{brand:"Holland & Barrett","brand:wikidata":"Q5880870","brand:wikipedia":"en:Holland & Barrett",name:"Holland & Barrett",shop:"health_food"}},"shop/health_food|Зеленая аптека":{tags:{brand:"Зеленая аптека",name:"Зеленая аптека",shop:"health_food"}},"shop/hearing_aids|Amplifon":{tags:{brand:"Amplifon","brand:wikidata":"Q477222","brand:wikipedia":"en:Amplifon",name:"Amplifon",shop:"hearing_aids"}},"shop/hearing_aids|Audika":{countryCodes:["ch","fr"],tags:{brand:"Audika","brand:wikidata":"Q2870745","brand:wikipedia":"fr:Audika",name:"Audika",shop:"hearing_aids"}},"shop/hearing_aids|Beter Horen":{countryCodes:["nl"],tags:{brand:"Beter Horen",name:"Beter Horen",shop:"hearing_aids"}},"shop/hearing_aids|Geers":{countryCodes:["de","pl"],tags:{brand:"Geers","brand:wikidata":"Q1497707","brand:wikipedia":"de:Geers Hörakustik",name:"Geers",shop:"hearing_aids"}},"shop/hearing_aids|Kind Hörgeräte":{countryCodes:["de"],matchNames:["kind"],tags:{brand:"Kind Hörgeräte","brand:wikidata":"Q43598590","brand:wikipedia":"de:Kind Hörgeräte",name:"Kind Hörgeräte",shop:"hearing_aids"}},"shop/hearing_aids|Miracle-Ear":{countryCodes:["ca","us"],tags:{brand:"Miracle-Ear","brand:wikidata":"Q17108572","brand:wikipedia":"en:Miracle-Ear",name:"Miracle-Ear",shop:"hearing_aids"}},"shop/hearing_aids|Neuroth":{countryCodes:["at","de"],tags:{brand:"Neuroth","brand:wikidata":"Q15836645","brand:wikipedia":"de:Neuroth AG",name:"Neuroth",shop:"hearing_aids"}},"shop/hifi|Bang & Olufsen":{tags:{brand:"Bang & Olufsen","brand:wikidata":"Q790020","brand:wikipedia":"en:Bang & Olufsen",name:"Bang & Olufsen",shop:"hifi"}},"shop/hifi|Bose":{tags:{brand:"Bose","brand:wikidata":"Q328568","brand:wikipedia":"en:Bose Corporation",name:"Bose",shop:"hifi"}},"shop/hobby|アニメイト":{countryCodes:["jp"],tags:{brand:"アニメイト","brand:en":"Animate","brand:ja":"アニメイト","brand:wikidata":"Q1041890","brand:wikipedia":"ja:アニメイト",name:"アニメイト","name:en":"Animate","name:ja":"アニメイト",shop:"hobby"}},"shop/houseware|At Home":{countryCodes:["us"],matchNames:["garden ridge"],tags:{brand:"At Home (store)","brand:wikidata":"Q5522290",name:"At Home",shop:"houseware"}},"shop/houseware|Bed Bath & Beyond":{countryCodes:["ca","mx","nz","us"],matchTags:["shop/department_store"],tags:{brand:"Bed Bath & Beyond","brand:wikidata":"Q813782","brand:wikipedia":"en:Bed Bath & Beyond",name:"Bed Bath & Beyond",shop:"houseware"}},"shop/houseware|Blokker":{countryCodes:["be","nl"],tags:{brand:"Blokker","brand:wikidata":"Q884934","brand:wikipedia":"en:Blokker Holding",name:"Blokker",shop:"houseware"}},"shop/houseware|Cervera":{countryCodes:["se"],tags:{brand:"Cervera","brand:wikidata":"Q10447179","brand:wikipedia":"sv:Cervera (företag)",name:"Cervera",shop:"houseware"}},"shop/houseware|HomeGoods":{countryCodes:["us"],tags:{brand:"HomeGoods","brand:wikidata":"Q5887941","brand:wikipedia":"en:HomeGoods",name:"HomeGoods",shop:"houseware"}},"shop/houseware|Kitchen Collection":{countryCodes:["us"],tags:{brand:"Kitchen Collection","brand:wikidata":"Q64149036",name:"Kitchen Collection",shop:"houseware"}},"shop/houseware|Lagerhaus":{matchTags:["shop/doityourself"],tags:{brand:"Lagerhaus","brand:wikidata":"Q10553211","brand:wikipedia":"sv:Lagerhaus",name:"Lagerhaus",shop:"houseware"}},"shop/houseware|Le Creuset":{matchTags:["shop/kitchen"],tags:{brand:"Le Creuset","brand:wikidata":"Q555861","brand:wikipedia":"en:Le Creuset",name:"Le Creuset",shop:"houseware"}},"shop/houseware|Marskramer":{countryCodes:["nl"],tags:{brand:"Marskramer","brand:wikidata":"Q2305917","brand:wikipedia":"nl:Marskramer (warenhuis)",name:"Marskramer",shop:"houseware"}},"shop/houseware|Old Time Pottery":{countryCodes:["us"],tags:{brand:"Old Time Pottery","brand:website":"http://www.oldtimepottery.com","brand:wikidata":"Q7085222","brand:wikipedia":"en:Old Time Pottery",name:"Old Time Pottery",shop:"houseware"}},"shop/houseware|Sur La Table":{countryCodes:["us"],tags:{brand:"Sur La Table","brand:wikidata":"Q7645220","brand:wikipedia":"en:Sur La Table",name:"Sur La Table",shop:"houseware"}},"shop/houseware|The Container Store":{countryCodes:["us"],tags:{brand:"The Container Store","brand:wikidata":"Q7727445","brand:wikipedia":"en:The Container Store",name:"The Container Store",shop:"houseware"}},"shop/houseware|Tuesday Morning":{countryCodes:["us"],matchTags:["shop/convenience","shop/department_store","shop/gift","shop/variety_store"],tags:{brand:"Tuesday Morning","brand:wikidata":"Q7851426","brand:wikipedia":"en:Tuesday Morning",name:"Tuesday Morning",shop:"houseware"}},"shop/houseware|WMF":{countryCodes:["at","de"],tags:{brand:"WMF","brand:wikidata":"Q451423","brand:wikipedia":"en:WMF Group",name:"WMF",shop:"houseware"}},"shop/houseware|Williams-Sonoma":{countryCodes:["ca","us"],matchNames:["william sonoma"],matchTags:["shop/furniture"],tags:{brand:"Williams-Sonoma","brand:wikidata":"Q2581220","brand:wikipedia":"en:Williams-Sonoma",name:"Williams-Sonoma",shop:"houseware"}},"shop/houseware|World Market":{countryCodes:["us"],matchNames:["cost plus"],matchTags:["shop/department_store","shop/furniture","shop/interior_decoration","shop/supermarket"],tags:{brand:"World Market","brand:wikidata":"Q5174750","brand:wikipedia":"en:Cost Plus World Market",name:"World Market",official_name:"Cost Plus World Market",shop:"interior_decoration"}},"shop/houseware|Xenos":{countryCodes:["de","nl"],tags:{brand:"Xenos","brand:wikidata":"Q16547960","brand:wikipedia":"nl:Xenos",name:"Xenos",shop:"houseware"}},"shop/houseware|Еврочехол":{countryCodes:["ru"],tags:{brand:"Еврочехол",name:"Еврочехол",shop:"houseware"}},"shop/interior_decoration|Centrakor":{countryCodes:["fr"],matchTags:["shop/variety_store"],tags:{brand:"Centrakor","brand:wikidata":"Q64079345",name:"Centrakor",shop:"interior_decoration"}},"shop/interior_decoration|Depot":{countryCodes:["at","ch","de"],tags:{brand:"Depot","brand:wikidata":"Q1191740","brand:wikipedia":"de:Gries Deco Holding",name:"Depot",shop:"interior_decoration"}},"shop/interior_decoration|Fired Earth":{countryCodes:["gb"],matchTags:["shop/bathroom_furnishing","shop/tiles"],tags:{brand:"Fired Earth","brand:wikidata":"Q20594569",name:"Fired Earth",shop:"interior_decoration"}},"shop/interior_decoration|Hemtex":{countryCodes:["ee","fi","se"],tags:{brand:"Hemtex","brand:wikidata":"Q10521868","brand:wikipedia":"sv:Hemtex",name:"Hemtex",shop:"interior_decoration"}},"shop/interior_decoration|HomeSense":{countryCodes:["ca"],matchTags:["shop/department_store","shop/furniture","shop/houseware"],tags:{brand:"HomeSense","brand:wikidata":"Q16844433","brand:wikipedia":"en:HomeSense",name:"HomeSense",shop:"interior_decoration"}},"shop/interior_decoration|Kirkland's":{countryCodes:["us"],matchTags:["shop/department_store"],tags:{brand:"Kirkland's","brand:wikidata":"Q6415714","brand:wikipedia":"en:Kirkland's",name:"Kirkland's",shop:"interior_decoration"}},"shop/interior_decoration|Pier 1 Imports":{countryCodes:["ca","us"],matchTags:["shop/furniture"],tags:{brand:"Pier 1 Imports","brand:wikidata":"Q7191691","brand:wikipedia":"en:Pier 1 Imports",name:"Pier 1 Imports",shop:"interior_decoration"}},"shop/interior_decoration|Ten Thousand Villages":{countryCodes:["ca","us"],matchNames:["10 thousand villages","10,000 villages"],matchTags:["shop/boutique","shop/gift"],tags:{brand:"Ten Thousand Villages","brand:wikidata":"Q2403252","brand:wikipedia":"en:Ten Thousand Villages",fair_trade:"only",name:"Ten Thousand Villages",shop:"interior_decoration"}},"shop/jewelry|Alex and Ani":{countryCodes:["us"],tags:{brand:"Alex and Ani","brand:wikidata":"Q16198810","brand:wikipedia":"en:Alex and Ani",name:"Alex and Ani",shop:"jewelry"}},"shop/jewelry|Apart":{countryCodes:["pl"],tags:{brand:"Apart","brand:wikidata":"Q11686561","brand:wikipedia":"pl:Apart",name:"Apart",shop:"jewelry"}},"shop/jewelry|Bijou Brigitte":{tags:{brand:"Bijou Brigitte","brand:wikidata":"Q599545","brand:wikipedia":"de:Bijou Brigitte",name:"Bijou Brigitte",shop:"jewelry"}},"shop/jewelry|Cartier":{tags:{brand:"Cartier","brand:wikidata":"Q538587","brand:wikipedia":"en:Cartier (jeweler)",name:"Cartier",shop:"jewelry"}},"shop/jewelry|Christ":{countryCodes:["ch","de","nl"],tags:{brand:"Christ","brand:wikidata":"Q1077957","brand:wikipedia":"de:Christ (Juwelier)",name:"Christ",shop:"jewelry"}},"shop/jewelry|David Yurman":{countryCodes:["us"],tags:{brand:"David Yurman","brand:wikidata":"Q5241390","brand:wikipedia":"en:David Yurman",name:"David Yurman",shop:"jewelry"}},"shop/jewelry|Ernest Jones":{countryCodes:["gb"],tags:{brand:"Ernest Jones","brand:wikidata":"Q5393358","brand:wikipedia":"en:Ernest Jones (retailer)",name:"Ernest Jones",shop:"jewelry"}},"shop/jewelry|Guldfynd":{countryCodes:["se"],tags:{brand:"Guldfynd","brand:wikidata":"Q49099223","brand:wikipedia":"sv:Guldfynd",name:"Guldfynd",shop:"jewelry"}},"shop/jewelry|H.Samuel":{countryCodes:["gb"],tags:{brand:"H.Samuel","brand:wikidata":"Q5628558","brand:wikipedia":"en:H. Samuel",name:"H.Samuel",shop:"jewelry"}},"shop/jewelry|Histoire d'Or":{countryCodes:["be","fr","it","nl"],tags:{brand:"Histoire d'Or","brand:wikidata":"Q62529245",name:"Histoire d'Or",shop:"jewelry"}},"shop/jewelry|Icing":{countryCodes:["ca","us"],tags:{brand:"Icing",name:"Icing",shop:"jewelry"}},"shop/jewelry|James Avery Jewelry":{countryCodes:["us"],tags:{brand:"James Avery Jewelry","brand:wikidata":"Q6129024","brand:wikipedia":"en:James Avery Artisan Jewelry",name:"James Avery Jewelry",shop:"jewelry"}},"shop/jewelry|Jared":{countryCodes:["us"],tags:{brand:"Jared","brand:wikidata":"Q62029282",name:"Jared",shop:"jewelry"}},"shop/jewelry|Julien d'Orcel":{countryCodes:["fr"],tags:{brand:"Julien d'Orcel","brand:wikidata":"Q62497463",name:"Julien d'Orcel",shop:"jewelry"}},"shop/jewelry|Kay Jewelers":{countryCodes:["us"],tags:{brand:"Kay Jewelers","brand:wikidata":"Q62029290",name:"Kay Jewelers",shop:"jewelry"}},"shop/jewelry|Michael Hill":{countryCodes:["au","ca","nz","us"],tags:{brand:"Michael Hill","brand:wikidata":"Q3308250","brand:wikipedia":"en:Michael Hill Jeweller",name:"Michael Hill",shop:"jewelry"}},"shop/jewelry|PNJ":{countryCodes:["vn"],tags:{brand:"PNJ","brand:wikidata":"Q61129183","brand:wikipedia":"vi:PNJ",name:"PNJ",shop:"jewelry"}},"shop/jewelry|Pandora":{tags:{brand:"Pandora","brand:wikidata":"Q2241604","brand:wikipedia":"en:Pandora (jewelry)",name:"Pandora",shop:"jewelry"}},"shop/jewelry|Peoples Jewellers":{countryCodes:["ca"],tags:{brand:"Peoples Jewellers","brand:wikidata":"Q64995558",name:"Peoples Jewellers",shop:"jewelry"}},"shop/jewelry|Piercing Pagoda":{countryCodes:["us"],tags:{brand:"Piercing Pagoda",name:"Piercing Pagoda",shop:"jewelry"}},"shop/jewelry|Swarovski":{tags:{brand:"Swarovski","brand:wikidata":"Q611115","brand:wikipedia":"en:Swarovski",name:"Swarovski",shop:"jewelry"}},"shop/jewelry|Tiffany & Company":{countryCodes:["us"],matchNames:["tiffany","tiffany's"],tags:{brand:"Tiffany & Company","brand:wikidata":"Q1066858","brand:wikipedia":"en:Tiffany & Co.",name:"Tiffany & Company",official_name:"Tiffany & Co.",shop:"jewelry"}},"shop/jewelry|Tous":{tags:{brand:"Tous",name:"Tous",shop:"jewelry"}},"shop/jewelry|Warren James":{countryCodes:["gb"],tags:{brand:"Warren James","brand:wikidata":"Q19604616","brand:wikipedia":"en:Warren James Jewellers",name:"Warren James",shop:"jewelry"}},"shop/jewelry|Zales":{countryCodes:["us"],tags:{brand:"Zales","brand:wikidata":"Q8065305","brand:wikipedia":"en:Zale Corporation",name:"Zales",shop:"jewelry"}},"shop/jewelry|Адамас":{countryCodes:["ru"],tags:{brand:"Адамас","brand:en":"Adamas","brand:ru":"Адамас","brand:wikidata":"Q62393709",name:"Адамас","name:en":"Adamas","name:ru":"Адамас",shop:"jewelry"}},"shop/jewelry|Золотая мечта":{countryCodes:["by"],tags:{brand:"Золотая мечта","brand:en":"Gold Dream","brand:ru":"Золотая мечта",name:"Золотая мечта","name:en":"Gold Dream","name:ru":"Золотая мечта",shop:"jewelry"}},"shop/kiosk|Lietuvos spauda":{countryCodes:["lt"],tags:{brand:"Lietuvos spauda","brand:wikidata":"Q6514414","brand:wikipedia":"lt:Lietuvos spauda",name:"Lietuvos spauda",shop:"kiosk"}},"shop/kiosk|Narvesen":{countryCodes:["lt","lv","no"],tags:{brand:"Narvesen","brand:wikidata":"Q6514414","brand:wikipedia":"en:Narvesen",name:"Narvesen",shop:"kiosk"}},"shop/kiosk|Pressbyrån":{countryCodes:["se"],tags:{brand:"Pressbyrån","brand:wikidata":"Q2489072","brand:wikipedia":"en:Pressbyrån",name:"Pressbyrån",shop:"kiosk"}},"shop/kiosk|R-Kioski":{countryCodes:["fi"],tags:{brand:"R-Kioski","brand:wikidata":"Q1571400","brand:wikipedia":"en:R-kioski",name:"R-Kioski",shop:"kiosk"}},"shop/kiosk|Ruch":{countryCodes:["pl"],tags:{brand:"Ruch","brand:wikidata":"Q1260314","brand:wikipedia":"pl:Ruch (przedsiębiorstwo)",name:"Ruch",shop:"kiosk"}},"shop/kiosk|Tisak":{countryCodes:["hr"],tags:{brand:"Tisak","brand:wikidata":"Q12643627","brand:wikipedia":"hr:Tisak (tvrtka)",name:"Tisak",shop:"kiosk"}},"shop/kiosk|k kiosk":{countryCodes:["ch"],nomatch:["shop/newsagent|k kiosk"],tags:{brand:"k kiosk","brand:wikidata":"Q60381703","brand:wikipedia":"it:K Kiosk",name:"k kiosk",shop:"kiosk"}},"shop/kiosk|Роспечать":{tags:{brand:"Роспечать",name:"Роспечать",shop:"kiosk"}},"shop/kiosk|キヨスク":{countryCodes:["jp"],tags:{brand:"キヨスク","brand:en":"KIOSK","brand:ja":"キヨスク","brand:wikidata":"Q1334796","brand:wikipedia":"ja:キヨスク",name:"キヨスク","name:en":"KIOSK","name:ja":"キヨスク",shop:"kiosk"}},"shop/kitchen|Cuisinella":{countryCodes:["fr","tn"],tags:{brand:"Cuisinella","brand:wikidata":"Q3007012","brand:wikipedia":"fr:Cuisinella",name:"Cuisinella",shop:"kitchen"}},"shop/kitchen|Ixina":{countryCodes:["be","fr"],tags:{brand:"Ixina",name:"Ixina",shop:"kitchen"}},"shop/kitchen|Magnet":{countryCodes:["gb"],matchNames:["magnet kitchens"],tags:{brand:"Magnet","brand:wikidata":"Q6731427",name:"Magnet",shop:"kitchen"}},"shop/kitchen|Mobalpa":{countryCodes:["be","fr","gb"],tags:{brand:"Mobalpa","brand:wikidata":"Q3317571","brand:wikipedia":"fr:Mobalpa",name:"Mobalpa",shop:"kitchen"}},"shop/kitchen|Schmidt":{countryCodes:["be","es","fr","gb"],tags:{brand:"Schmidt","brand:wikidata":"Q3487620","brand:wikipedia":"de:Schmidt Groupe",name:"Schmidt",shop:"kitchen"}},"shop/kitchen|SoCoo'c":{countryCodes:["fr"],tags:{brand:"SoCoo'c","brand:wikidata":"Q62783840","brand:wikipedia":"fr:SoCoo'c",name:"SoCoo'c",shop:"kitchen"}},"shop/massage|Massage Envy":{countryCodes:["us"],matchNames:["massage envy spa"],tags:{brand:"Massage Envy","brand:wikidata":"Q22922899","brand:wikipedia":"en:Massage Envy",name:"Massage Envy",shop:"massage"}},"shop/massage|Massage Heights":{countryCodes:["ca","us"],tags:{brand:"Massage Heights","brand:wikidata":"Q64573956",name:"Massage Heights",shop:"massage"}},"shop/medical_supply|Pofam-Poznań":{countryCodes:["pl"],tags:{brand:"Pofam-Poznań","brand:wikidata":"Q62057457",name:"Pofam-Poznań",shop:"medical_supply"}},"shop/medical_supply|Ортека":{countryCodes:["ru"],tags:{brand:"Ортека","brand:wikidata":"Q62393660",name:"Ортека",shop:"medical_supply"}},"shop/mobile_phone|3 Store":{countryCodes:["gb","it"],matchNames:["3","three","three store"],tags:{brand:"3 Store","brand:wikidata":"Q407009","brand:wikipedia":"en:3 (telecommunications)",name:"3 Store",shop:"mobile_phone"}},"shop/mobile_phone|AT&T":{countryCodes:["mx","us"],matchNames:["att mobile","att mobility","att wireless"],tags:{brand:"AT&T","brand:wikidata":"Q298594","brand:wikipedia":"en:AT&T Mobility",name:"AT&T",shop:"mobile_phone"}},"shop/mobile_phone|Bell":{countryCodes:["ca"],matchNames:["bell mobile","bell mobility","bell wireless"],tags:{brand:"Bell","brand:wikidata":"Q2894594","brand:wikipedia":"en:Bell Mobility",name:"Bell",shop:"mobile_phone"}},"shop/mobile_phone|Best Buy Mobile":{countryCodes:["ca"],tags:{brand:"Best Buy Mobile","brand:wikidata":"Q533415","brand:wikipedia":"en:Best Buy",name:"Best Buy Mobile",shop:"mobile_phone"}},"shop/mobile_phone|Bitė":{countryCodes:["lt"],tags:{brand:"Bitė","brand:wikidata":"Q796010","brand:wikipedia":"lt:Bitės grupė",name:"Bitė",shop:"mobile_phone"}},"shop/mobile_phone|Boost Mobile":{countryCodes:["us"],matchNames:["boost"],tags:{brand:"Boost Mobile","brand:wikidata":"Q4943790","brand:wikipedia":"en:Boost Mobile",name:"Boost Mobile",shop:"mobile_phone"}},"shop/mobile_phone|Bouygues Telecom":{countryCodes:["fr"],tags:{brand:"Bouygues Telecom",name:"Bouygues Telecom",shop:"mobile_phone"}},"shop/mobile_phone|Carphone Warehouse":{countryCodes:["by","gb","ie"],matchNames:["the carphone warehouse"],tags:{brand:"Carphone Warehouse","brand:wikidata":"Q118046","brand:wikipedia":"en:Carphone Warehouse",name:"Carphone Warehouse",shop:"mobile_phone"}},"shop/mobile_phone|Chatr":{countryCodes:["ca"],matchNames:["Chatr Mobile"],tags:{brand:"Chatr","brand:wikidata":"Q5087766","brand:wikipedia":"en:Chatr",name:"Chatr",shop:"mobile_phone"}},"shop/mobile_phone|Claro":{tags:{brand:"Claro","brand:wikidata":"Q1770208","brand:wikipedia":"en:Claro (company)",name:"Claro",shop:"mobile_phone"}},"shop/mobile_phone|Cricket Wireless":{countryCodes:["us"],matchNames:["cricket"],tags:{brand:"Cricket Wireless","brand:wikidata":"Q5184987","brand:wikipedia":"en:Cricket Wireless",name:"Cricket Wireless",shop:"mobile_phone"}},"shop/mobile_phone|Digicel":{tags:{brand:"Digicel","brand:wikidata":"Q2117506","brand:wikipedia":"en:Digicel",name:"Digicel",shop:"mobile_phone"}},"shop/mobile_phone|EE":{countryCodes:["gb"],tags:{brand:"EE","brand:wikidata":"Q5322942","brand:wikipedia":"en:EE Limited",name:"EE",shop:"mobile_phone"}},"shop/mobile_phone|Entel":{countryCodes:["cl","pe"],tags:{brand:"Entel","brand:wikidata":"Q450420","brand:wikipedia":"en:Entel (Chile)",name:"Entel",shop:"mobile_phone"}},"shop/mobile_phone|Fido":{countryCodes:["ca"],tags:{brand:"Fido","brand:wikidata":"Q3071471","brand:wikipedia":"en:Fido Solutions",name:"Fido",shop:"mobile_phone"}},"shop/mobile_phone|Freedom Mobile":{countryCodes:["ca"],matchNames:["freedom","wind mobile"],tags:{brand:"Freedom Mobile","brand:wikidata":"Q8023931","brand:wikipedia":"en:Freedom Mobile",name:"Freedom Mobile",shop:"mobile_phone"}},"shop/mobile_phone|Koodo":{countryCodes:["ca"],tags:{brand:"Koodo","brand:wikidata":"Q6430529","brand:wikipedia":"en:Koodo Mobile",name:"Koodo",shop:"mobile_phone"}},"shop/mobile_phone|MTN":{matchNames:["agence mtn"],matchTags:["office/telecommunication"],tags:{brand:"MTN","brand:wikidata":"Q1813361","brand:wikipedia":"en:MTN Group",name:"MTN",shop:"mobile_phone"}},"shop/mobile_phone|MetroPCS":{countryCodes:["us"],tags:{brand:"MetroPCS","brand:wikidata":"Q1925685","brand:wikipedia":"en:Metro by T-Mobile",name:"MetroPCS",shop:"mobile_phone"}},"shop/mobile_phone|Mobilcom Debitel":{countryCodes:["de","ir"],matchNames:["debitel"],tags:{brand:"Mobilcom Debitel","brand:wikidata":"Q344744","brand:wikipedia":"en:Debitel",name:"Mobilcom Debitel",shop:"mobile_phone"}},"shop/mobile_phone|Moov":{countryCodes:["ci","tg"],matchNames:["agence moov"],matchTags:["office/telecommunication"],tags:{brand:"Moov","brand:wikidata":"Q3323637","brand:wikipedia":"fr:Moov Côte d'Ivoire",name:"Moov",shop:"mobile_phone"}},"shop/mobile_phone|Movistar":{tags:{brand:"Movistar","brand:wikidata":"Q967735","brand:wikipedia":"en:Movistar",name:"Movistar",shop:"mobile_phone"}},"shop/mobile_phone|O2":{countryCodes:["cz","de","gb","ie","sk"],tags:{brand:"O2","brand:wikidata":"Q1759255","brand:wikipedia":"en:Telefónica Europe",name:"O2",shop:"mobile_phone"}},"shop/mobile_phone|Optie1":{countryCodes:["nl"],tags:{brand:"Optie1","brand:wikidata":"Q62393564",name:"Optie1",shop:"mobile_phone"}},"shop/mobile_phone|Orange":{matchNames:["agence orange"],matchTags:["office/telecommunication"],tags:{brand:"Orange","brand:wikidata":"Q1431486","brand:wikipedia":"fr:Orange (entreprise)",name:"Orange",shop:"mobile_phone"}},"shop/mobile_phone|Personal":{countryCodes:["ar","py"],tags:{brand:"Personal","brand:wikidata":"Q10933021","brand:wikipedia":"es:Personal (Argentina)",name:"Personal",shop:"mobile_phone"}},"shop/mobile_phone|Phone House":{countryCodes:["de","es","fr","nl","pt"],matchNames:["the phone house"],tags:{brand:"Phone House","brand:wikidata":"Q118046","brand:wikipedia":"en:Carphone Warehouse",name:"Phone House",shop:"mobile_phone"}},"shop/mobile_phone|Play":{countryCodes:["pl"],tags:{brand:"Play","brand:wikidata":"Q7202998","brand:wikipedia":"pl:Play (sieć telefonii komórkowej)",name:"Play",shop:"mobile_phone"}},"shop/mobile_phone|Plus":{countryCodes:["pl"],nomatch:["shop/supermarket|PLUS"],tags:{brand:"Plus","brand:wikidata":"Q7205598","brand:wikipedia":"pl:Plus (sieć telefonii komórkowej)",name:"Plus",shop:"mobile_phone"}},"shop/mobile_phone|Rogers":{countryCodes:["ca"],tags:{brand:"Rogers","brand:wikidata":"Q3439663","brand:wikipedia":"en:Rogers Wireless",name:"Rogers",shop:"mobile_phone"}},"shop/mobile_phone|SFR":{countryCodes:["fr","lu"],matchNames:["espace sfr"],tags:{brand:"SFR","brand:wikidata":"Q218765","brand:wikipedia":"en:SFR",name:"SFR",shop:"mobile_phone"}},"shop/mobile_phone|Sprint":{nomatch:["amenity/fuel|Sprint"],tags:{brand:"Sprint","brand:wikidata":"Q301965","brand:wikipedia":"en:Sprint Corporation",name:"Sprint",shop:"mobile_phone"}},"shop/mobile_phone|T-Mobile":{tags:{brand:"T-Mobile","brand:wikidata":"Q327634","brand:wikipedia":"en:T-Mobile",name:"T-Mobile",shop:"mobile_phone"}},"shop/mobile_phone|TIM":{countryCodes:["br","it"],tags:{brand:"TIM","brand:wikidata":"Q144617","brand:wikipedia":"en:Telecom Italia",name:"TIM",shop:"mobile_phone"}},"shop/mobile_phone|Tbooth Wireless":{countryCodes:["ca"],tags:{brand:"Tbooth Wireless","brand:wikidata":"Q7690597",name:"Tbooth Wireless",shop:"mobile_phone"}},"shop/mobile_phone|Telcel":{countryCodes:["cu","mx"],tags:{brand:"Telcel","brand:wikidata":"Q3517255","brand:wikipedia":"en:Telcel",name:"Telcel",shop:"mobile_phone"}},"shop/mobile_phone|Tele2":{tags:{brand:"Tele2","brand:wikidata":"Q309865","brand:wikipedia":"en:Tele2",name:"Tele2",shop:"mobile_phone"}},"shop/mobile_phone|Telekom":{countryCodes:["de","hu","ro","si","sk"],matchNames:["telekom shop"],tags:{brand:"Telekom","brand:wikidata":"Q9396","brand:wikipedia":"en:Deutsche Telekom",name:"Telekom",shop:"mobile_phone"}},"shop/mobile_phone|Telenor":{tags:{brand:"Telenor","brand:wikidata":"Q845632","brand:wikipedia":"en:Telenor",name:"Telenor",shop:"mobile_phone"}},"shop/mobile_phone|Telia":{countryCodes:["dk","fi","lt","no","se"],tags:{brand:"Telia",name:"Telia",shop:"mobile_phone"}},"shop/mobile_phone|Telstra":{countryCodes:["au"],tags:{brand:"Telstra","brand:wikidata":"Q721162","brand:wikipedia":"en:Telstra",name:"Telstra",shop:"mobile_phone"}},"shop/mobile_phone|Telus":{countryCodes:["ca"],tags:{brand:"Telus","brand:wikidata":"Q165858","brand:wikipedia":"en:Telus",name:"Telus",shop:"mobile_phone"}},"shop/mobile_phone|Turkcell":{countryCodes:["cy","tr"],tags:{brand:"Turkcell","brand:wikidata":"Q283852","brand:wikipedia":"en:Turkcell",name:"Turkcell",shop:"mobile_phone"}},"shop/mobile_phone|U.S. Cellular":{countryCodes:["us"],tags:{brand:"U.S. Cellular","brand:wikidata":"Q2466256","brand:wikipedia":"en:U.S. Cellular",name:"U.S. Cellular",shop:"mobile_phone"}},"shop/mobile_phone|Verizon Wireless":{countryCodes:["us"],matchNames:["verizon"],tags:{brand:"Verizon Wireless","brand:wikidata":"Q919641","brand:wikipedia":"en:Verizon Wireless",name:"Verizon Wireless",shop:"mobile_phone"}},"shop/mobile_phone|Vidéotron":{countryCodes:["ca"],tags:{brand:"Vidéotron","brand:wikidata":"Q2396830","brand:wikipedia":"en:Vidéotron",name:"Vidéotron",shop:"mobile_phone"}},"shop/mobile_phone|Virgin Mobile~(Canada)":{countryCodes:["ca"],tags:{brand:"Virgin Mobile","brand:wikidata":"Q3560641","brand:wikipedia":"en:Virgin Mobile Canada",name:"Virgin Mobile",shop:"mobile_phone"}},"shop/mobile_phone|Vivo":{tags:{brand:"Vivo",name:"Vivo",shop:"mobile_phone"}},"shop/mobile_phone|Vodafone":{matchNames:["vodafone shop"],tags:{brand:"Vodafone","brand:wikidata":"Q122141","brand:wikipedia":"en:Vodafone",name:"Vodafone",shop:"mobile_phone"}},"shop/mobile_phone|WIFI_ETECSA":{countryCodes:["cu"],tags:{brand:"WIFI_ETECSA","brand:wikidata":"Q490323","brand:wikipedia":"es:Empresa de Telecomunicaciones de Cuba",name:"WIFI_ETECSA",shop:"mobile_phone"}},"shop/mobile_phone|WOW! Mobile Boutique":{countryCodes:["ca"],tags:{brand:"WOW! Mobile Boutique","brand:wikidata":"Q64847598",name:"WOW! Mobile Boutique",shop:"mobile_phone"}},"shop/mobile_phone|Wind":{countryCodes:["it"],tags:{brand:"Wind","brand:wikidata":"Q650467","brand:wikipedia":"en:WIND (Italy)",name:"Wind",shop:"mobile_phone"}},"shop/mobile_phone|WirelessWave":{countryCodes:["ca"],tags:{brand:"WirelessWave","brand:wikidata":"Q8026815",name:"WirelessWave",shop:"mobile_phone"}},"shop/mobile_phone|Yoigo":{countryCodes:["es"],tags:{brand:"Yoigo","brand:wikidata":"Q2630989","brand:wikipedia":"en:Yoigo",name:"Yoigo",shop:"mobile_phone"}},"shop/mobile_phone|auショップ":{countryCodes:["jp"],matchNames:["au"],tags:{brand:"au","brand:ja":"au","brand:wikidata":"Q307110","brand:wikipedia":"ja:Au (携帯電話)",name:"auショップ","name:en":"au","name:ja":"auショップ",shop:"mobile_phone"}},"shop/mobile_phone|Алло":{countryCodes:["md","ua"],tags:{brand:"Алло","brand:wikidata":"Q18683057","brand:wikipedia":"uk:Алло (торгова мережа)",name:"Алло",shop:"mobile_phone"}},"shop/mobile_phone|Билайн":{countryCodes:["kg","kz","ru"],tags:{brand:"Билайн","brand:en":"Beeline","brand:wikidata":"Q402880","brand:wikipedia":"en:Beeline (brand)",name:"Билайн","name:en":"Beeline",shop:"mobile_phone"}},"shop/mobile_phone|Евросеть":{countryCodes:["by","kz","ru","ua"],tags:{brand:"Евросеть","brand:en":"Euroset","brand:wikidata":"Q65310","brand:wikipedia":"en:Euroset",name:"Евросеть","name:en":"Euroset",shop:"mobile_phone"}},"shop/mobile_phone|Київстар":{countryCodes:["ua"],tags:{brand:"Київстар","brand:en":"Kyivstar","brand:wikidata":"Q2288463","brand:wikipedia":"en:Kyivstar",name:"Київстар","name:en":"Kyivstar",shop:"mobile_phone"}},"shop/mobile_phone|МТС":{countryCodes:["by","ru","ua"],tags:{brand:"МТС","brand:en":"MTS","brand:wikidata":"Q1368919","brand:wikipedia":"en:MTS (network provider)",name:"МТС","name:en":"MTS",shop:"mobile_phone"}},"shop/mobile_phone|Мегафон":{countryCodes:["ru","tj"],tags:{brand:"Мегафон","brand:en":"MegaFon","brand:wikidata":"Q1720713","brand:wikipedia":"en:MegaFon",name:"Мегафон","name:en":"MegaFon",shop:"mobile_phone"}},"shop/mobile_phone|НА'СВЯЗИ":{countryCodes:["by"],tags:{brand:"НА'СВЯЗИ",name:"НА'СВЯЗИ",shop:"mobile_phone"}},"shop/mobile_phone|Связной":{countryCodes:["by","ru","uz"],tags:{brand:"Связной","brand:en":"Svyaznoy","brand:wikidata":"Q65371","brand:wikipedia":"en:Svyaznoy",name:"Связной","name:en":"Svyaznoy",shop:"mobile_phone"}},"shop/mobile_phone|Теле2":{countryCodes:["ru"],tags:{brand:"Теле2","brand:en":"Tele2","brand:wikidata":"Q309865","brand:wikipedia":"en:Tele2",name:"Теле2","name:en":"Tele2",shop:"mobile_phone"}},"shop/mobile_phone|ソフトバンク":{countryCodes:["jp"],tags:{brand:"ソフトバンク","brand:en":"SoftBank Telecom","brand:ja":"ソフトバンク","brand:wikidata":"Q7553832","brand:wikipedia":"en:SoftBank Telecom",name:"ソフトバンク","name:en":"SoftBank Telecom","name:ja":"ソフトバンク",shop:"mobile_phone"}},"shop/mobile_phone|ソフトバンクショップ":{countryCodes:["jp"],tags:{brand:"ソフトバンクショップ","brand:en":"SoftBankShop","brand:ja":"ソフトバンクショップ","brand:wikidata":"Q11315281","brand:wikipedia":"ja:ソフトバンクショップ",name:"ソフトバンクショップ","name:en":"SoftBankShop","name:ja":"ソフトバンクショップ",shop:"mobile_phone"}},"shop/mobile_phone|ドコモショップ":{countryCodes:["jp"],tags:{brand:"ドコモショップ","brand:en":"DoCoMo Shop","brand:ja":"ドコモショップ","brand:wikidata":"Q853958","brand:wikipedia":"ja:NTTドコモ",name:"ドコモショップ","name:en":"DoCoMo Shop","name:ja":"ドコモショップ",shop:"mobile_phone"}},"shop/mobile_phone|ワイモバイル":{countryCodes:["jp"],tags:{brand:"ワイモバイル","brand:ja":"ワイモバイル",name:"ワイモバイル","name:ja":"ワイモバイル",shop:"mobile_phone"}},"shop/money_lender|ACE Cash Express":{countryCodes:["us"],matchNames:["ace"],tags:{brand:"ACE Cash Express","brand:wikidata":"Q24260962",name:"ACE Cash Express",shop:"money_lender"}},"shop/money_lender|Advance America":{countryCodes:["us"],tags:{brand:"Advance America","brand:wikidata":"Q4686044",name:"Advance America",shop:"money_lender"}},"shop/money_lender|California Check Cashing Stores":{countryCodes:["us"],matchNames:["california check cashing"],tags:{brand:"California Check Cashing Stores","brand:wikidata":"Q64390932",name:"California Check Cashing Stores",shop:"money_lender"}},"shop/money_lender|Cash Store":{countryCodes:["us"],tags:{brand:"Cash Store","brand:wikidata":"Q61943411",name:"Cash Store",shop:"money_lender"}},"shop/money_lender|Check Into Cash":{countryCodes:["us"],tags:{brand:"Check Into Cash","brand:wikidata":"Q16961246","brand:wikipedia":"en:Check Into Cash",name:"Check Into Cash",shop:"money_lender"}},"shop/money_lender|CheckSmart":{countryCodes:["us"],tags:{alt_name:"Check$mart",brand:"CheckSmart","brand:wikidata":"Q65640213",name:"CheckSmart",shop:"money_lender"}},"shop/money_lender|First Virginia":{countryCodes:["us"],matchNames:["1st virginia"],tags:{brand:"First Virginia","brand:wikidata":"Q65640051",name:"First Virginia",shop:"money_lender"}},"shop/money_lender|Money Mart":{countryCodes:["ca","us"],tags:{brand:"Money Mart","brand:wikidata":"Q6899166","brand:wikipedia":"en:Money Mart",name:"Money Mart",shop:"money_lender"}},"shop/motorcycle|Harley-Davidson":{tags:{brand:"Harley-Davidson","brand:wikidata":"Q192814","brand:wikipedia":"en:Harley-Davidson",name:"Harley-Davidson",shop:"motorcycle"}},"shop/motorcycle|Honda":{nomatch:["shop/car|Honda"],tags:{brand:"Honda","brand:wikidata":"Q9584","brand:wikipedia":"en:Honda",name:"Honda",shop:"motorcycle"}},"shop/motorcycle|Kawasaki":{tags:{brand:"Kawasaki","brand:wikidata":"Q6379855","brand:wikipedia":"en:Kawasaki motorcycles",name:"Kawasaki",shop:"motorcycle"}},"shop/motorcycle|Motortrade":{countryCodes:["ph"],tags:{brand:"Motortrade","brand:wikidata":"Q48803162","brand:wikipedia":"en:Motortrade",name:"Motortrade",shop:"motorcycle"}},"shop/motorcycle|Suzuki":{nomatch:["shop/car|Suzuki"],tags:{brand:"Suzuki","brand:wikidata":"Q181642","brand:wikipedia":"en:Suzuki",name:"Suzuki",shop:"motorcycle"}},"shop/motorcycle|Yamaha":{tags:{brand:"Yamaha","brand:wikidata":"Q158888","brand:wikipedia":"en:Yamaha Motor Company",name:"Yamaha",shop:"motorcycle"}},"shop/motorcycle|レッドバロン":{countryCodes:["jp"],tags:{brand:"レッドバロン","brand:ja":"レッドバロン",name:"レッドバロン","name:ja":"レッドバロン",shop:"motorcycle"}},"shop/music|FYE":{countryCodes:["us"],tags:{brand:"FYE","brand:wikidata":"Q5424141","brand:wikipedia":"en:FYE (retailer)",name:"FYE",shop:"music"}},"shop/music|HMV":{countryCodes:["ca","gb"],tags:{brand:"HMV","brand:wikidata":"Q10854572","brand:wikipedia":"en:HMV",name:"HMV",shop:"music"}},"shop/music|Sunrise Records":{countryCodes:["ca","gb"],tags:{brand:"Sunrise Records","brand:wikidata":"Q30600373","brand:wikipedia":"en:Sunrise Records (retailer)",name:"Sunrise Records",shop:"music"}},"shop/music|TSUTAYA":{nomatch:["shop/books|TSUTAYA","shop/video|TSUTAYA"],tags:{brand:"TSUTAYA","brand:wikidata":"Q5193457","brand:wikipedia":"ja:カルチュア・コンビニエンス・クラブ",name:"TSUTAYA",shop:"music"}},"shop/musical_instrument|Guitar Center":{countryCodes:["us"],tags:{brand:"Guitar Center","brand:wikidata":"Q3622794","brand:wikipedia":"en:Guitar Center",name:"Guitar Center",shop:"musical_instrument"}},"shop/musical_instrument|Long & McQuade":{countryCodes:["ca"],tags:{brand:"Long & McQuade","brand:wikidata":"Q6672180","brand:wikipedia":"en:Long & McQuade",name:"Long & McQuade",shop:"musical_instrument"}},"shop/newsagent|Cigo":{countryCodes:["de","nl"],tags:{brand:"Cigo","brand:wikidata":"Q62391977",name:"Cigo",shop:"newsagent"}},"shop/newsagent|Hudson News":{tags:{brand:"Hudson News",name:"Hudson News",shop:"newsagent"}},"shop/newsagent|Inmedio":{countryCodes:["hu","pl","ro"],tags:{brand:"Inmedio",name:"Inmedio",shop:"newsagent"}},"shop/newsagent|Kolporter":{countryCodes:["pl"],matchTags:["shop/kiosk"],tags:{brand:"Kolporter","brand:wikidata":"Q6427874","brand:wikipedia":"pl:Kolporter (przedsiębiorstwo)",name:"Kolporter",shop:"kiosk"}},"shop/newsagent|Maison de la Presse":{countryCodes:["fr"],matchTags:["shop/books"],tags:{brand:"Maison de la Presse","brand:wikidata":"Q62085960",name:"Maison de la Presse",shop:"newsagent"}},"shop/newsagent|Martin's":{countryCodes:["gb"],matchTags:["shop/convenience"],tags:{brand:"Martin's","brand:wikidata":"Q16997477","brand:wikipedia":"en:McColl's",name:"Martin's",shop:"newsagent"}},"shop/newsagent|Primera":{countryCodes:["nl"],tags:{brand:"Primera","brand:wikidata":"Q2176149","brand:wikipedia":"nl:Primera (winkelketen)",name:"Primera",shop:"newsagent"}},"shop/newsagent|Relay":{matchTags:["shop/kiosk"],tags:{brand:"Relay","brand:wikidata":"Q3424298","brand:wikipedia":"en:Relay (shop)",name:"Relay",shop:"newsagent"}},"shop/newsagent|WHSmith":{countryCodes:["gb"],matchTags:["shop/books","shop/convenience","shop/kiosk","shop/stationery"],tags:{brand:"WHSmith","brand:wikidata":"Q1548712","brand:wikipedia":"en:WHSmith",name:"WHSmith",shop:"newsagent"}},"shop/newsagent|k kiosk":{countryCodes:["ch"],nomatch:["shop/kiosk|k kiosk"],tags:{brand:"k kiosk","brand:wikidata":"Q60381703","brand:wikipedia":"it:K Kiosk",name:"k kiosk",shop:"newsagent"}},"shop/newsagent|Белсоюзпечать":{countryCodes:["by"],matchTags:["shop/kiosk"],nomatch:["shop/newsagent|Витебскоблсоюзпечать","shop/newsagent|Союзпечать"],tags:{brand:"Белсоюзпечать","brand:wikidata":"Q4430611","brand:wikipedia":"ru:Союзпечать",name:"Белсоюзпечать",shop:"newsagent"}},"shop/newsagent|Витебскоблсоюзпечать":{countryCodes:["by"],matchTags:["shop/kiosk"],nomatch:["shop/newsagent|Белсоюзпечать","shop/newsagent|Союзпечать"],tags:{brand:"Витебскоблсоюзпечать","brand:wikidata":"Q4430611","brand:wikipedia":"ru:Союзпечать",name:"Витебскоблсоюзпечать",shop:"newsagent"}},"shop/newsagent|Первая полоса":{countryCodes:["ru"],tags:{brand:"Первая полоса","brand:wikidata":"Q62736412",name:"Первая полоса",shop:"newsagent"}},"shop/newsagent|Роспечать":{tags:{brand:"Роспечать",name:"Роспечать",shop:"newsagent"}},"shop/newsagent|Союзпечать":{countryCodes:["by","kz","ru","ua"],matchTags:["shop/kiosk"],nomatch:["shop/newsagent|Белсоюзпечать","shop/newsagent|Витебскоблсоюзпечать"],tags:{brand:"Союзпечать","brand:wikidata":"Q4430611","brand:wikipedia":"ru:Союзпечать",name:"Союзпечать",shop:"newsagent"}},"shop/newsagent|読売新聞":{countryCodes:["jp"],tags:{brand:"読売新聞","brand:en":"Yomiuri Shimbun","brand:wikidata":"Q645218","brand:wikipedia":"en:Yomiuri Shimbun",name:"読売新聞","name:en":"Yomiuri Shimbun",shop:"newsagent"}},"shop/nutrition_supplements|GNC":{matchNames:["gnc live well"],tags:{brand:"GNC","brand:wikidata":"Q4808595","brand:wikipedia":"en:GNC (store)",name:"GNC",shop:"nutrition_supplements"}},"shop/nutrition_supplements|The Vitamin Shoppe":{countryCodes:["us"],matchTags:["shop/chemist"],tags:{brand:"The Vitamin Shoppe","brand:wikidata":"Q7772938","brand:wikipedia":"en:The Vitamin Shoppe",name:"The Vitamin Shoppe",shop:"nutrition_supplements"}},"shop/nutrition_supplements|Vitamin World":{countryCodes:["us"],tags:{brand:"Vitamin World","brand:wikidata":"Q7936979","brand:wikipedia":"en:Vitamin World",name:"Vitamin World",shop:"nutrition_supplements"}},"shop/optician|Alain Afflelou":{countryCodes:["be","ch","es","fr","pt"],tags:{brand:"Alain Afflelou","brand:wikidata":"Q2829511","brand:wikipedia":"fr:Alain Afflelou (entreprise)",name:"Alain Afflelou",shop:"optician"}},"shop/optician|America's Best Contacts & Eyeglasses":{countryCodes:["us"],tags:{brand:"America's Best Contacts & Eyeglasses","brand:wikidata":"Q4742504","brand:wikipedia":"en:America's Best Contacts & Eyeglasses",name:"America's Best Contacts & Eyeglasses",shop:"optician",short_name:"America's Best"}},"shop/optician|Apollo-Optik":{countryCodes:["de"],nomatch:["amenity/pharmacy|Apollo Pharmacy"],tags:{brand:"Apollo-Optik","brand:wikidata":"Q618940","brand:wikipedia":"de:Apollo-Optik",name:"Apollo-Optik",shop:"optician",short_name:"Apollo"}},"shop/optician|Atol":{countryCodes:["fr"],tags:{brand:"Atol","brand:wikidata":"Q2869542","brand:wikipedia":"fr:Atol (opticien)",name:"Atol",shop:"optician"}},"shop/optician|Boots Opticians":{countryCodes:["gb"],tags:{brand:"Boots Opticians","brand:wikidata":"Q4944037","brand:wikipedia":"en:Boots Opticians",name:"Boots Opticians",shop:"optician",short_name:"Boots"}},"shop/optician|Clarkson Eyecare":{countryCodes:["us"],tags:{brand:"Clarkson Eyecare","brand:wikidata":"Q64027001",healthcare:"optometrist",name:"Clarkson Eyecare",shop:"optician",short_name:"Clarkson"}},"shop/optician|Cohen's Fashion Optical":{countryCodes:["us"],matchNames:["cohen's optical"],tags:{brand:"Cohen's Fashion Optical","brand:wikidata":"Q5141313","brand:wikipedia":"en:Cohen's Fashion Optical",healthcare:"optometrist",name:"Cohen's Fashion Optical",shop:"optician",short_name:"Cohen's"}},"shop/optician|Die Brille":{countryCodes:["de"],tags:{brand:"Die Brille",name:"Die Brille",shop:"optician"}},"shop/optician|Eye Wish":{countryCodes:["nl"],tags:{brand:"Eye Wish","brand:wikidata":"Q62391641",name:"Eye Wish",shop:"optician"}},"shop/optician|Fielmann":{tags:{brand:"Fielmann","brand:wikidata":"Q457822","brand:wikipedia":"en:Fielmann",name:"Fielmann",shop:"optician"}},"shop/optician|GMO":{countryCodes:["cl","co","ec","pe"],tags:{brand:"GMO",name:"GMO",shop:"optician"}},"shop/optician|General Óptica":{countryCodes:["es"],tags:{brand:"General Óptica","brand:wikidata":"Q62391672",name:"General Óptica",shop:"optician"}},"shop/optician|Grand Optical":{countryCodes:["fr"],tags:{brand:"Grand Optical","brand:wikidata":"Q3113677","brand:wikipedia":"fr:Grand Optical",name:"Grand Optical",shop:"optician"}},"shop/optician|Générale d'Optique":{countryCodes:["fr"],tags:{brand:"Générale d'Optique","brand:wikidata":"Q62391701",name:"Générale d'Optique",shop:"optician"}},"shop/optician|Hakim Optical":{countryCodes:["ca"],tags:{brand:"Hakim Optical","brand:wikidata":"Q28232761","brand:wikipedia":"en:Hakim Optical",name:"Hakim Optical",shop:"optician"}},"shop/optician|Hans Anders":{countryCodes:["be","fr","nl"],tags:{brand:"Hans Anders","brand:wikidata":"Q1884976","brand:wikipedia":"nl:Hans Anders",name:"Hans Anders",shop:"optician"}},"shop/optician|Instrumentarium":{countryCodes:["fi"],tags:{brand:"Instrumentarium","brand:wikidata":"Q11864937","brand:wikipedia":"fi:Instrumentarium",name:"Instrumentarium",shop:"optician"}},"shop/optician|Krys":{countryCodes:["fr"],tags:{brand:"Krys","brand:wikidata":"Q3119538","brand:wikipedia":"fr:Krys Group",name:"Krys",shop:"optician"}},"shop/optician|LensCrafters":{countryCodes:["ca","us"],tags:{brand:"LensCrafters","brand:wikidata":"Q6523209","brand:wikipedia":"en:LensCrafters",name:"LensCrafters",shop:"optician"}},"shop/optician|Les Opticiens Mutualistes":{countryCodes:["fr"],tags:{brand:"Les Opticiens Mutualistes","brand:wikidata":"Q18414551","brand:wikipedia":"fr:Les Opticiens Mutualistes",name:"Les Opticiens Mutualistes",shop:"optician"}},"shop/optician|Lissac":{countryCodes:["fr"],tags:{brand:"Lissac","brand:wikidata":"Q63102559",name:"Lissac",shop:"optician"}},"shop/optician|Multiópticas~(Portugal)":{countryCodes:["pt"],tags:{brand:"Multiópticas","brand:wikidata":"Q62391722",name:"Multiópticas",shop:"optician"}},"shop/optician|Multiópticas~(Spain)":{countryCodes:["es"],tags:{brand:"Multiópticas","brand:wikidata":"Q62391719",name:"Multiópticas",shop:"optician"}},"shop/optician|Nissen":{countryCodes:["fi"],tags:{brand:"Nissen",name:"Nissen",shop:"optician"}},"shop/optician|Oakley":{countryCodes:["us"],matchTags:["shop/clothes","shop/sports"],tags:{brand:"Oakley","brand:wikidata":"Q161906","brand:wikipedia":"en:Oakley, Inc.",name:"Oakley",shop:"optician"}},"shop/optician|Oliver Peoples":{tags:{brand:"Oliver Peoples","brand:wikidata":"Q7087746","brand:wikipedia":"en:Oliver Peoples",name:"Oliver Peoples",shop:"optician"}},"shop/optician|Optic 2000":{countryCodes:["ch","fr"],tags:{brand:"Optic 2000","brand:wikidata":"Q3354445","brand:wikipedia":"fr:Optic 2000",name:"Optic 2000",shop:"optician"}},"shop/optician|Optical Center":{tags:{brand:"Optical Center","brand:wikidata":"Q3354448","brand:wikipedia":"fr:Optical Center",name:"Optical Center",shop:"optician"}},"shop/optician|Opticalia":{tags:{brand:"Opticalia","brand:wikidata":"Q62082114",name:"Opticalia",shop:"optician"}},"shop/optician|Pearle Vision":{countryCodes:["ca","us"],tags:{brand:"Pearle Vision","brand:wikidata":"Q2231148","brand:wikipedia":"en:Pearle Vision",name:"Pearle Vision",shop:"optician",short_name:"Pearle"}},"shop/optician|Silmäasema":{countryCodes:["fi"],tags:{brand:"Silmäasema","brand:wikidata":"Q15994200","brand:wikipedia":"fi:Silmäasema",name:"Silmäasema",shop:"optician"}},"shop/optician|Solstice Sunglasses":{tags:{brand:"Solstice Sunglasses",name:"Solstice Sunglasses",shop:"optician",short_name:"Solstice"}},"shop/optician|Specsavers":{tags:{brand:"Specsavers","brand:wikidata":"Q2000610","brand:wikipedia":"en:Specsavers",name:"Specsavers",shop:"optician"}},"shop/optician|Sunglass Hut":{matchTags:["shop/sunglasses"],tags:{brand:"Sunglass Hut","brand:wikidata":"Q136311","brand:wikipedia":"en:Sunglass Hut",name:"Sunglass Hut",shop:"optician"}},"shop/optician|Synoptik":{countryCodes:["se"],tags:{brand:"Synoptik","brand:wikidata":"Q10687541","brand:wikipedia":"sv:Synoptik",name:"Synoptik",shop:"optician"}},"shop/optician|Synsam":{countryCodes:["fi","no","se"],tags:{brand:"Synsam","brand:wikidata":"Q12004589","brand:wikipedia":"sv:Synsam",name:"Synsam",shop:"optician"}},"shop/optician|Target Optical":{countryCodes:["us"],tags:{brand:"Target Optical","brand:wikidata":"Q19903688","brand:wikipedia":"en:Target Optical",name:"Target Optical",shop:"optician"}},"shop/optician|Vision Express":{tags:{brand:"Vision Express","brand:wikidata":"Q7936150","brand:wikipedia":"en:Vision Express",name:"Vision Express",shop:"optician"}},"shop/optician|Visionworks":{countryCodes:["us"],tags:{brand:"Visionworks","brand:wikidata":"Q5422607","brand:wikipedia":"en:Visionworks",name:"Visionworks",shop:"optician"}},"shop/optician|Warby Parker":{countryCodes:["ca","us"],tags:{brand:"Warby Parker","brand:wikidata":"Q7968882","brand:wikipedia":"en:Warby Parker",name:"Warby Parker",shop:"optician"}},"shop/optician|Оптимист Оптика":{countryCodes:["ru"],tags:{brand:"Оптимист Оптика",name:"Оптимист Оптика",shop:"optician"}},"shop/optician|แว่นท็อปเจริญ":{countryCodes:["th"],tags:{brand:"แว่นท็อปเจริญ","brand:th":"แว่นท็อปเจริญ","brand:wikidata":"Q62391732",name:"แว่นท็อปเจริญ","name:th":"แว่นท็อปเจริญ",shop:"optician"}},"shop/optician|メガネストアー":{countryCodes:["jp"],tags:{brand:"メガネストアー","brand:ja":"メガネストアー",name:"メガネストアー","name:ja":"メガネストアー",shop:"optician"}},"shop/optician|メガネスーパー":{countryCodes:["jp"],tags:{brand:"メガネスーパー","brand:ja":"メガネスーパー","brand:wikidata":"Q11343504","brand:wikipedia":"ja:メガネスーパー",name:"メガネスーパー","name:en":"Meganesuper","name:ja":"メガネスーパー",shop:"optician"}},"shop/optician|寶島眼鏡":{countryCodes:["zh"],tags:{brand:"寶島眼鏡","brand:wikidata":"Q62391741",name:"寶島眼鏡",shop:"optician"}},"shop/optician|眼鏡市場":{countryCodes:["jp"],tags:{brand:"眼鏡市場","brand:en":"Megane Ichiba","brand:wikidata":"Q11343506","brand:wikipedia":"ja:メガネトップ",name:"眼鏡市場","name:en":"Megane Ichiba",shop:"optician"}},"shop/outdoor|Bass Pro Shops":{countryCodes:["ca","us"],tags:{brand:"Bass Pro Shops","brand:wikidata":"Q4867953","brand:wikipedia":"en:Bass Pro Shops",name:"Bass Pro Shops",shop:"outdoor"}},"shop/outdoor|Blacks":{countryCodes:["gb"],tags:{brand:"Blacks","brand:wikidata":"Q64822933",name:"Blacks",shop:"outdoor"}},"shop/outdoor|Cabela's":{countryCodes:["ca","us"],tags:{brand:"Cabela's","brand:wikidata":"Q2793714","brand:wikipedia":"en:Cabela's",name:"Cabela's",shop:"outdoor"}},"shop/outdoor|Gander Outdoors":{countryCodes:["us"],matchNames:["gander mountain"],tags:{brand:"Gander Outdoors","brand:wikidata":"Q64357426","brand:wikipedia":"en:Gander Outdoors",name:"Gander Outdoors",shop:"outdoor"}},"shop/outdoor|Jack Wolfskin":{countryCodes:["ch","de","fr"],matchTags:["shop/clothes"],tags:{brand:"Jack Wolfskin","brand:wikidata":"Q536133","brand:wikipedia":"en:Jack Wolfskin",name:"Jack Wolfskin",shop:"outdoor"}},"shop/outdoor|Kathmandu":{countryCodes:["au","nz"],tags:{brand:"Kathmandu","brand:wikidata":"Q1736294","brand:wikipedia":"en:Kathmandu (company)",name:"Kathmandu",shop:"outdoor"}},"shop/outdoor|Millets":{countryCodes:["gb"],tags:{brand:"Millets","brand:wikidata":"Q64822903",name:"Millets",shop:"outdoor"}},"shop/outdoor|Mountain Warehouse":{countryCodes:["gb","pl"],tags:{brand:"Mountain Warehouse","brand:wikidata":"Q6925414","brand:wikipedia":"en:Mountain Warehouse",name:"Mountain Warehouse",shop:"outdoor"}},"shop/outdoor|REI":{countryCodes:["id","us"],tags:{brand:"REI","brand:wikidata":"Q3414933","brand:wikipedia":"en:Recreational Equipment, Inc.",name:"REI",official_name:"Recreational Equipment, Inc.",shop:"outdoor"}},"shop/outdoor|Sportsman's Warehouse":{countryCodes:["us"],tags:{brand:"Sportsman's Warehouse","brand:wikidata":"Q7579979","brand:wikipedia":"en:Sportsman's Warehouse",name:"Sportsman's Warehouse",shop:"outdoor"}},"shop/outdoor|Trespass":{countryCodes:["fr","gb","ie"],tags:{brand:"Trespass","brand:wikidata":"Q17035733","brand:wikipedia":"en:Trespass (clothing)",name:"Trespass",shop:"outdoor"}},"shop/outpost|Wildberries":{countryCodes:["by","ru"],matchTags:["shop/clothes"],tags:{brand:"Wildberries","brand:wikidata":"Q24933714","brand:wikipedia":"ru:Wildberries",name:"Wildberries",shop:"outpost"}},"shop/paint|Benjamin Moore":{countryCodes:["ca","us"],tags:{brand:"Benjamin Moore","brand:wikidata":"Q4889038","brand:wikipedia":"en:Benjamin Moore & Co.",name:"Benjamin Moore",shop:"paint"}},"shop/paint|Comex":{tags:{brand:"Comex","brand:wikidata":"Q5151654","brand:wikipedia":"en:Comex Group",name:"Comex",shop:"paint"}},"shop/paint|Jotun":{tags:{brand:"Jotun","brand:wikidata":"Q1778870","brand:wikipedia":"en:Jotun (company)",name:"Jotun",shop:"paint"}},"shop/paint|National Paints":{countryCodes:["ae","qa"],tags:{brand:"National Paints","brand:wikidata":"Q62073521",name:"National Paints",shop:"paint"}},"shop/paint|Sherwin-Williams":{matchNames:["sherwin williams paint store","sherwin williams paints"],tags:{brand:"Sherwin-Williams","brand:wikidata":"Q48881","brand:wikipedia":"en:Sherwin-Williams",name:"Sherwin-Williams",shop:"paint"}},"shop/party|Party City":{countryCodes:["ca","us"],tags:{brand:"Party City","brand:wikidata":"Q7140896","brand:wikipedia":"en:Party City",name:"Party City",shop:"party"}},"shop/pastry|Cookies by Design":{countryCodes:["us"],matchTags:["shop/confectionery","shop/gift"],tags:{brand:"Cookies by Design","brand:wikidata":"Q5167112",craft:"bakery",name:"Cookies by Design",shop:"pastry"}},"shop/pastry|Smallcakes":{countryCodes:["us"],tags:{brand:"Smallcakes","brand:wikidata":"Q62384749",name:"Smallcakes",shop:"pastry"}},"shop/pawnbroker|Cash Converters":{tags:{brand:"Cash Converters","brand:wikidata":"Q5048645","brand:wikipedia":"en:Cash Converters",name:"Cash Converters",shop:"pawnbroker"}},"shop/pawnbroker|Cebuana Lhuillier":{countryCodes:["ph"],matchNames:["agencia cebuana","m lhuillier"],tags:{brand:"Cebuana Lhuillier","brand:wikidata":"Q17064661","brand:wikipedia":"en:Cebuana Lhuillier",name:"Cebuana Lhuillier",shop:"pawnbroker",short_name:"Cebuana"}},"shop/pawnbroker|Loombard":{countryCodes:["pl"],tags:{brand:"Loombard",name:"Loombard",shop:"pawnbroker"}},"shop/pawnbroker|Palawan Pawnshop":{countryCodes:["ph"],tags:{brand:"Palawan Pawnshop","brand:wikidata":"Q62391488",name:"Palawan Pawnshop",shop:"pawnbroker"}},"shop/pawnbroker|RD Pawnshop":{countryCodes:["ph"],tags:{brand:"RD Pawnshop",name:"RD Pawnshop",shop:"pawnbroker"}},"shop/pawnbroker|Villarica Pawnshop":{countryCodes:["ph"],tags:{brand:"Villarica Pawnshop","brand:wikidata":"Q62391438",name:"Villarica Pawnshop",shop:"pawnbroker"}},"shop/pawnbroker|Скарбниця":{countryCodes:["ua"],tags:{brand:"Скарбниця",name:"Скарбниця",shop:"pawnbroker"}},"shop/perfumery|Douglas":{countryCodes:["at","ch","de","es","it","nl","pl"],matchTags:["shop/beauty","shop/chemist","shop/cosmetics"],tags:{brand:"Douglas","brand:wikidata":"Q2052213","brand:wikipedia":"de:Parfümerie Douglas",name:"Douglas",shop:"perfumery"}},"shop/perfumery|FAnn":{countryCodes:["cz","sk"],tags:{brand:"FAnn","brand:wikidata":"Q62391353",name:"FAnn",shop:"perfumery"}},"shop/perfumery|ICI PARIS XL":{countryCodes:["be","lu","nl"],tags:{brand:"ICI PARIS XL","brand:wikidata":"Q769749","brand:wikipedia":"en:ICI Paris XL",name:"ICI PARIS XL",shop:"perfumery"}},"shop/perfumery|Marionnaud":{countryCodes:["at","ch","es","fr","it","sk"],matchTags:["shop/beauty","shop/cosmetics"],tags:{brand:"Marionnaud","brand:wikidata":"Q1129073","brand:wikipedia":"fr:Marionnaud",name:"Marionnaud",shop:"perfumery"}},"shop/perfumery|O Boticário":{countryCodes:["br"],tags:{brand:"O Boticário","brand:wikidata":"Q7073219","brand:wikipedia":"en:O Boticário",name:"O Boticário",shop:"perfumery"}},"shop/pet|Das Futterhaus":{countryCodes:["at","de"],tags:{brand:"Das Futterhaus","brand:wikidata":"Q1167914","brand:wikipedia":"de:Das Futterhaus",name:"Das Futterhaus",shop:"pet"}},"shop/pet|Faunatar":{countryCodes:["fi"],tags:{brand:"Faunatar","brand:wikidata":"Q11859415","brand:wikipedia":"fi:Faunatar",name:"Faunatar",shop:"pet"}},"shop/pet|Fressnapf":{countryCodes:["at","ch","de","hu","lu"],tags:{brand:"Fressnapf","brand:wikidata":"Q875796","brand:wikipedia":"en:Fressnapf",name:"Fressnapf",shop:"pet"}},"shop/pet|Global Pet Foods":{countryCodes:["ca"],tags:{brand:"Global Pet Foods","brand:wikidata":"Q57985699",name:"Global Pet Foods",shop:"pet"}},"shop/pet|Maxi Zoo":{countryCodes:["be","ch","dk","fr","ie","it","pl"],tags:{brand:"Maxi Zoo","brand:wikidata":"Q875796","brand:wikipedia":"en:Fressnapf",name:"Maxi Zoo",shop:"pet"}},"shop/pet|Mud Bay":{countryCodes:["us"],tags:{brand:"Mud Bay","brand:wikidata":"Q30324179","brand:wikipedia":"en:Mud Bay pet store",name:"Mud Bay",shop:"pet"}},"shop/pet|Musti ja Mirri":{countryCodes:["fi"],tags:{brand:"Musti ja Mirri","brand:wikidata":"Q11883558","brand:wikipedia":"fi:Musti ja Mirri",name:"Musti ja Mirri",shop:"pet"}},"shop/pet|Pet Food Express":{countryCodes:["us"],tags:{brand:"Pet Food Express","brand:wikidata":"Q7171541","brand:wikipedia":"en:Pet Food Express",name:"Pet Food Express",shop:"pet"}},"shop/pet|Pet Supermarket":{countryCodes:["us"],tags:{brand:"Pet Supermarket","brand:wikidata":"Q61968363",name:"Pet Supermarket",shop:"pet"}},"shop/pet|Pet Supplies Plus":{countryCodes:["us"],tags:{brand:"Pet Supplies Plus","brand:wikidata":"Q7171563","brand:wikipedia":"en:Pet Supplies Plus",name:"Pet Supplies Plus",shop:"pet"}},"shop/pet|Pet Valu":{countryCodes:["ca","us"],tags:{brand:"Pet Valu","brand:wikidata":"Q58009635",name:"Pet Valu",shop:"pet"}},"shop/pet|PetSmart":{countryCodes:["ca","us"],tags:{brand:"PetSmart","brand:wikidata":"Q3307147","brand:wikipedia":"en:PetSmart",name:"PetSmart",shop:"pet"}},"shop/pet|Petco":{countryCodes:["us"],tags:{brand:"Petco","brand:wikidata":"Q7171798","brand:wikipedia":"en:Petco",name:"Petco",shop:"pet"}},"shop/pet|Petland":{countryCodes:["us"],tags:{brand:"Petland","brand:wikidata":"Q17111474","brand:wikipedia":"en:Petland",name:"Petland",shop:"pet"}},"shop/pet|Petland Discounts":{countryCodes:["us"],tags:{brand:"Petland Discounts","brand:wikidata":"Q7178463","brand:wikipedia":"en:Petland Discounts",name:"Petland Discounts",shop:"pet"}},"shop/pet|Pets at Home":{countryCodes:["gb"],tags:{brand:"Pets at Home","brand:wikidata":"Q7179258","brand:wikipedia":"en:Pets at Home",name:"Pets at Home",shop:"pet"}},"shop/pet|Unleashed":{countryCodes:["us"],tags:{alt_name:"Unleashed by Petco",brand:"Unleashed","brand:wikidata":"Q62122874",name:"Unleashed",shop:"pet"}},"shop/pet|Wild Birds Unlimited":{countryCodes:["us"],tags:{brand:"Wild Birds Unlimited","brand:wikidata":"Q8000542","brand:wikipedia":"en:Wild Birds Unlimited",name:"Wild Birds Unlimited",shop:"pet"}},"shop/pet|Бетховен":{countryCodes:["ru"],tags:{brand:"Бетховен","brand:wikidata":"Q62390798",name:"Бетховен",shop:"pet"}},"shop/pet|Четыре лапы":{countryCodes:["kz","ru"],tags:{brand:"Четыре лапы","brand:wikidata":"Q62390783",name:"Четыре лапы",shop:"pet"}},"shop/photo|Kodak Express":{matchNames:["kodak"],tags:{brand:"Kodak Express","brand:wikidata":"Q6425126","brand:wikipedia":"en:Kodak Express",name:"Kodak Express",shop:"photo"}},"shop/photo|Max Spielmann":{countryCodes:["gb"],tags:{brand:"Max Spielmann",name:"Max Spielmann",shop:"photo"}},"shop/photo|カメラのキタムラ":{countryCodes:["jp"],tags:{brand:"カメラのキタムラ","brand:ja":"カメラのキタムラ",name:"カメラのキタムラ","name:ja":"カメラのキタムラ",shop:"photo"}},"shop/printer_ink|Cartridge World":{matchTags:["shop/computer"],tags:{brand:"Cartridge World","brand:wikidata":"Q5047439",name:"Cartridge World",shop:"printer_ink"}},"shop/second_hand|Value Village":{countryCodes:["ca","us"],tags:{brand:"Value Village","brand:wikidata":"Q7428188","brand:wikipedia":"en:Savers",name:"Value Village",shop:"second_hand"}},"shop/shoes|ABCマート":{countryCodes:["jp"],tags:{brand:"ABCマート","brand:ja":"ABCマート","brand:wikidata":"Q11188787","brand:wikipedia":"en:ABC-Mart",name:"ABCマート","name:ja":"ABCマート",shop:"shoes"}},"shop/shoes|Aldo":{tags:{brand:"Aldo","brand:wikidata":"Q2832297","brand:wikipedia":"en:Aldo Group",name:"Aldo",shop:"shoes"}},"shop/shoes|Allen Edmonds":{countryCodes:["us"],tags:{brand:"Allen Edmonds","brand:wikidata":"Q4731627","brand:wikipedia":"en:Allen Edmonds",name:"Allen Edmonds",shop:"shoes"}},"shop/shoes|André":{countryCodes:["fr"],tags:{brand:"André","brand:wikidata":"Q2847114","brand:wikipedia":"fr:André (chaussure)",name:"André",shop:"shoes"}},"shop/shoes|Bata":{tags:{brand:"Bata","brand:wikidata":"Q688082","brand:wikipedia":"en:Bata (company)",name:"Bata",shop:"shoes"}},"shop/shoes|Belwest":{countryCodes:["by","ru"],tags:{brand:"Belwest",name:"Belwest",shop:"shoes"}},"shop/shoes|Besson Chaussures":{countryCodes:["fr"],tags:{brand:"Besson Chaussures","brand:wikidata":"Q2899930","brand:wikipedia":"fr:Besson Chaussures",name:"Besson Chaussures",shop:"shoes"}},"shop/shoes|Birkenstock":{tags:{brand:"Birkenstock","brand:wikidata":"Q648458","brand:wikipedia":"en:Birkenstock",name:"Birkenstock",shop:"shoes"}},"shop/shoes|Brantano":{countryCodes:["be","gb","lu"],tags:{brand:"Brantano","brand:wikidata":"Q4957616","brand:wikipedia":"en:Brantano Footwear",name:"Brantano",shop:"shoes"}},"shop/shoes|Browns":{countryCodes:["ca"],tags:{brand:"Browns","brand:wikidata":"Q16954153","brand:wikipedia":"en:Browns Shoes",name:"Browns",shop:"shoes"}},"shop/shoes|CCC":{tags:{brand:"CCC","brand:wikidata":"Q11788344","brand:wikipedia":"de:CCC (Unternehmen)",name:"CCC",shop:"shoes"}},"shop/shoes|Call It Spring":{tags:{brand:"Call It Spring","brand:wikidata":"Q7580363","brand:wikipedia":"en:Call It Spring",name:"Call It Spring",shop:"shoes"}},"shop/shoes|Camper":{tags:{brand:"Camper","brand:wikidata":"Q1030922","brand:wikipedia":"en:Camper (company)",name:"Camper",shop:"shoes"}},"shop/shoes|Chaussea":{countryCodes:["be","es","fr","lu"],tags:{brand:"Chaussea","brand:wikidata":"Q62082044",name:"Chaussea",shop:"shoes"}},"shop/shoes|Christian Louboutin":{countryCodes:["gb"],tags:{brand:"Christian Louboutin",name:"Christian Louboutin",shop:"shoes"}},"shop/shoes|Clarks":{tags:{brand:"Clarks","brand:wikidata":"Q1095857","brand:wikipedia":"en:C. & J. Clark",name:"Clarks",shop:"shoes"}},"shop/shoes|Cole Haan":{countryCodes:["us"],tags:{brand:"Cole Haan","brand:wikidata":"Q4356504","brand:wikipedia":"en:Cole Haan",name:"Cole Haan",shop:"shoes"}},"shop/shoes|Converse":{tags:{brand:"Converse","brand:wikidata":"Q319515","brand:wikipedia":"en:Converse (shoe company)",name:"Converse",shop:"shoes"}},"shop/shoes|Crocs":{tags:{brand:"Crocs","brand:wikidata":"Q926699","brand:wikipedia":"en:Crocs",name:"Crocs",shop:"shoes"}},"shop/shoes|DSW":{countryCodes:["ca","us"],matchNames:["designer shoe warehouse","dsw shoes"],tags:{brand:"DSW","brand:wikidata":"Q5206207","brand:wikipedia":"en:Designer Brands",name:"DSW",shop:"shoes"}},"shop/shoes|Deichmann":{tags:{brand:"Deichmann","brand:wikidata":"Q664543","brand:wikipedia":"en:Deichmann SE",name:"Deichmann",shop:"shoes"}},"shop/shoes|Din sko":{countryCodes:["no","se"],tags:{brand:"Din sko","brand:wikidata":"Q10472869","brand:wikipedia":"sv:Din sko",name:"Din sko",shop:"shoes"}},"shop/shoes|Dosenbach":{countryCodes:["ch"],tags:{brand:"Dosenbach","brand:wikidata":"Q2677329","brand:wikipedia":"de:Dosenbach-Ochsner",name:"Dosenbach",shop:"shoes"}},"shop/shoes|Dune London":{countryCodes:["ch","de","fr","gb","nl"],tags:{brand:"Dune London","brand:wikidata":"Q65557112",name:"Dune London",shop:"shoes",short_name:"Dune"}},"shop/shoes|Ecco":{tags:{brand:"Ecco","brand:wikidata":"Q1280255","brand:wikipedia":"en:ECCO",name:"Ecco",shop:"shoes"}},"shop/shoes|FLO":{countryCodes:["al","tr"],nomatch:["amenity/charging_station|FLO"],tags:{brand:"FLO","brand:wikidata":"Q61994802",name:"FLO",shop:"shoes"}},"shop/shoes|Famous Footwear":{countryCodes:["us"],tags:{brand:"Famous Footwear","brand:wikidata":"Q5433457","brand:wikipedia":"en:Famous Footwear",name:"Famous Footwear",shop:"shoes"}},"shop/shoes|Foot Locker":{tags:{brand:"Foot Locker","brand:wikidata":"Q63335","brand:wikipedia":"en:Foot Locker",name:"Foot Locker",shop:"shoes"}},"shop/shoes|G.H. Bass & Co.":{countryCodes:["gb","us"],tags:{brand:"G.H. Bass & Co.","brand:wikidata":"Q16993893","brand:wikipedia":"en:G.H. Bass & Co.",name:"G.H. Bass & Co.",shop:"shoes"}},"shop/shoes|Gabor":{countryCodes:["de","it"],tags:{brand:"Gabor","brand:wikidata":"Q1488760","brand:wikipedia":"de:Gabor Shoes",name:"Gabor",shop:"shoes"}},"shop/shoes|Geox":{tags:{brand:"Geox","brand:wikidata":"Q588001","brand:wikipedia":"en:Geox",name:"Geox",shop:"shoes"}},"shop/shoes|Görtz":{countryCodes:["de"],tags:{brand:"Görtz","brand:wikidata":"Q1559593","brand:wikipedia":"de:Ludwig Görtz",name:"Görtz",shop:"shoes"}},"shop/shoes|Havaianas":{tags:{brand:"Havaianas",name:"Havaianas",shop:"shoes"}},"shop/shoes|Humanic":{countryCodes:["at","cz","de","hu","ro","sk"],tags:{brand:"Humanic","brand:wikidata":"Q1636668","brand:wikipedia":"en:Humanic",name:"Humanic",shop:"shoes"}},"shop/shoes|Hush Puppies":{tags:{brand:"Hush Puppies","brand:wikidata":"Q1828588","brand:wikipedia":"en:Hush Puppies",name:"Hush Puppies",shop:"shoes"}},"shop/shoes|Johnston & Murphy":{countryCodes:["ca","us"],tags:{brand:"Johnston & Murphy","brand:wikidata":"Q6268615","brand:wikipedia":"en:Johnston & Murphy",name:"Johnston & Murphy",shop:"shoes"}},"shop/shoes|Jones Bootmaker":{countryCodes:["gb"],tags:{brand:"Jones Bootmaker","brand:wikidata":"Q6275139",name:"Jones Bootmaker",shop:"shoes",short_name:"Jones"}},"shop/shoes|Journeys":{countryCodes:["ca","us"],tags:{brand:"Journeys","brand:wikidata":"Q61994838",name:"Journeys",shop:"shoes"}},"shop/shoes|Kari":{tags:{brand:"Kari","brand:wikidata":"Q47155680","brand:wikipedia":"ru:Kari (компания)",name:"Kari",shop:"shoes"}},"shop/shoes|Kids Foot Locker":{countryCodes:["us"],tags:{brand:"Foot Locker","brand:wikidata":"Q63335","brand:wikipedia":"en:Foot Locker",name:"Kids Foot Locker",shop:"shoes"}},"shop/shoes|La Halle aux Chaussures":{countryCodes:["fr"],tags:{brand:"La Halle aux Chaussures","brand:wikidata":"Q62390731",name:"La Halle aux Chaussures",shop:"shoes"}},"shop/shoes|Lady Foot Locker":{countryCodes:["us"],tags:{brand:"Foot Locker","brand:wikidata":"Q63335","brand:wikipedia":"en:Foot Locker",name:"Lady Foot Locker",shop:"shoes"}},"shop/shoes|Manfield":{tags:{brand:"Manfield",name:"Manfield",shop:"shoes"}},"shop/shoes|Mephisto":{tags:{brand:"Mephisto","brand:wikidata":"Q822975","brand:wikipedia":"fr:Mephisto (chaussure)",name:"Mephisto",shop:"shoes"}},"shop/shoes|Merrell":{countryCodes:["us"],tags:{brand:"Merrell","brand:wikidata":"Q1921997","brand:wikipedia":"en:Merrell (company)",name:"Merrell",shop:"shoes"}},"shop/shoes|Minelli":{tags:{brand:"Minelli","brand:wikidata":"Q61994831",name:"Minelli",shop:"shoes"}},"shop/shoes|Naturalizer":{countryCodes:["ca","cn","gu","us"],tags:{brand:"Naturalizer","brand:wikidata":"Q65012038",name:"Naturalizer",shop:"shoes"}},"shop/shoes|New Balance":{tags:{brand:"New Balance","brand:wikidata":"Q742988","brand:wikipedia":"en:New Balance",name:"New Balance",shop:"shoes"}},"shop/shoes|Office":{countryCodes:["de","gb","ie","ro"],tags:{brand:"Office","brand:wikidata":"Q7079121","brand:wikipedia":"en:Office Holdings",name:"Office",shop:"shoes"}},"shop/shoes|Payless ShoeSource":{matchNames:["payless"],tags:{brand:"Payless ShoeSource","brand:wikidata":"Q7156755","brand:wikipedia":"en:Payless ShoeSource",name:"Payless ShoeSource",shop:"shoes"}},"shop/shoes|Quick Schuh":{countryCodes:["at","de"],tags:{brand:"Quick Schuh","brand:wikidata":"Q2123069","brand:wikipedia":"de:Quick Schuh",name:"Quick Schuh",shop:"shoes"}},"shop/shoes|Rack Room Shoes":{countryCodes:["us"],tags:{brand:"Rack Room Shoes","brand:wikidata":"Q17109937","brand:wikipedia":"en:Rack Room Shoes",name:"Rack Room Shoes",shop:"shoes"}},"shop/shoes|Ralf Ringer":{countryCodes:["ru"],tags:{brand:"Ralf Ringer",name:"Ralf Ringer",shop:"shoes"}},"shop/shoes|Red Wing":{countryCodes:["de","gb","nl","us"],matchNames:["red wing shoes"],tags:{brand:"Red Wing","brand:wikidata":"Q934096","brand:wikipedia":"en:Red Wing Shoes",name:"Red Wing",shop:"shoes"}},"shop/shoes|Reno":{countryCodes:["at","ch","de","hu","sk"],tags:{brand:"Reno","brand:wikidata":"Q2144204","brand:wikipedia":"de:Reno (Schuhhandel)",name:"Reno",shop:"shoes"}},"shop/shoes|Respect":{countryCodes:["by","ru","ua"],tags:{brand:"Respect",name:"Respect",shop:"shoes"}},"shop/shoes|Rieker":{tags:{brand:"Rieker","brand:wikidata":"Q2152193","brand:wikipedia":"en:Rieker Shoes",name:"Rieker",shop:"shoes"}},"shop/shoes|Rockport":{tags:{brand:"Rockport","brand:wikidata":"Q4048384","brand:wikipedia":"en:Rockport (company)",name:"Rockport",shop:"shoes"}},"shop/shoes|Salamander":{tags:{brand:"Salamander","brand:wikidata":"Q878354","brand:wikipedia":"de:Salamander (Schuhe)",name:"Salamander",shop:"shoes"}},"shop/shoes|San Marina":{countryCodes:["fr"],tags:{brand:"San Marina","brand:wikidata":"Q3471558","brand:wikipedia":"fr:San Marina",name:"San Marina",shop:"shoes"}},"shop/shoes|Scapino":{countryCodes:["nl"],tags:{brand:"Scapino","brand:wikidata":"Q2298792","brand:wikipedia":"nl:Scapino (winkelketen)",name:"Scapino",shop:"shoes"}},"shop/shoes|Schuh":{countryCodes:["de","gb","gg","ie"],tags:{brand:"Schuh","brand:wikidata":"Q7432952","brand:wikipedia":"en:Schuh",name:"Schuh",shop:"shoes"}},"shop/shoes|Shoe Carnival":{countryCodes:["us"],tags:{brand:"Shoe Carnival","brand:wikidata":"Q7500007","brand:wikipedia":"en:Shoe Carnival",name:"Shoe Carnival",shop:"shoes"}},"shop/shoes|Shoe Zone":{countryCodes:["gb","ie"],tags:{brand:"Shoe Zone","brand:wikidata":"Q7500016","brand:wikipedia":"en:Shoe Zone",name:"Shoe Zone",shop:"shoes"}},"shop/shoes|Siemes Schuhcenter":{countryCodes:["de"],tags:{brand:"Siemes Schuhcenter","brand:wikidata":"Q2800720","brand:wikipedia":"de:Siemes (Unternehmen)",name:"Siemes Schuhcenter",shop:"shoes"}},"shop/shoes|Skechers":{matchNames:["sketchers"],tags:{brand:"Skechers","brand:wikidata":"Q2945643","brand:wikipedia":"en:Skechers",name:"Skechers",shop:"shoes"}},"shop/shoes|Snipes":{countryCodes:["at","ch","de","nl"],tags:{brand:"Snipes",name:"Snipes",shop:"shoes"}},"shop/shoes|Soft Moc":{countryCodes:["ca"],tags:{brand:"Soft Moc","brand:wikidata":"Q65012391",name:"Soft Moc",shop:"shoes"}},"shop/shoes|Sperry":{countryCodes:["us"],matchNames:["sperry top sider"],tags:{brand:"Sperry","brand:wikidata":"Q7576421","brand:wikipedia":"en:Sperry Top-Sider",name:"Sperry",shop:"shoes"}},"shop/shoes|Steve Madden":{countryCodes:["ca","us"],tags:{brand:"Steve Madden","brand:wikidata":"Q25352034","brand:wikipedia":"en:Steve Madden (company)",name:"Steve Madden",shop:"shoes"}},"shop/shoes|Stride Rite":{countryCodes:["us"],tags:{brand:"Stride Rite","brand:wikidata":"Q2356171","brand:wikipedia":"en:Stride Rite Corporation",name:"Stride Rite",shop:"shoes"}},"shop/shoes|Stuart Weitzman":{countryCodes:["ca","us"],tags:{brand:"Stuart Weitzman",name:"Stuart Weitzman",shop:"shoes"}},"shop/shoes|Tamaris":{countryCodes:["at","be","de","fr","nl"],tags:{brand:"Tamaris","brand:wikidata":"Q61994827",name:"Tamaris",shop:"shoes"}},"shop/shoes|The Shoe Company":{countryCodes:["ca"],tags:{brand:"The Shoe Company","brand:wikidata":"Q7763892","brand:wikipedia":"en:The Shoe Company",name:"The Shoe Company",shop:"shoes"}},"shop/shoes|UGG":{countryCodes:["au","us"],tags:{brand:"UGG","brand:wikidata":"Q1138480","brand:wikipedia":"en:UGG (brand)",name:"UGG",shop:"shoes"}},"shop/shoes|Vans":{tags:{brand:"Vans","brand:wikidata":"Q1135366","brand:wikipedia":"en:Vans",name:"Vans",shop:"shoes"}},"shop/shoes|Walking on a Cloud":{countryCodes:["ca"],tags:{brand:"Walking on a Cloud","brand:wikidata":"Q65012662",name:"Walking on a Cloud",shop:"shoes"}},"shop/shoes|vanHaren":{countryCodes:["be","nl"],tags:{brand:"vanHaren","brand:wikidata":"Q62390668",name:"vanHaren",shop:"shoes"}},"shop/shoes|Éram":{countryCodes:["be","fr"],tags:{brand:"Éram","brand:wikidata":"Q16684192","brand:wikipedia":"fr:Éram",name:"Éram",shop:"shoes"}},"shop/shoes|Марко":{tags:{brand:"Марко",name:"Марко",shop:"shoes"}},"shop/shoes|ЦентрОбувь":{countryCodes:["by","ru","ua"],tags:{brand:"ЦентрОбувь","brand:wikidata":"Q4504072","brand:wikipedia":"ru:ЦентрОбувь",name:"ЦентрОбувь",shop:"shoes"}},"shop/shoes|Юничел":{countryCodes:["kz","ru"],tags:{brand:"Юничел","brand:wikidata":"Q62390569",name:"Юничел",shop:"shoes"}},"shop/shoes|つるや":{countryCodes:["jp"],tags:{brand:"つるや","brand:en":"Tsuruya","brand:ja":"つるや","brand:wikidata":"Q11272578","brand:wikipedia":"ja:つるや (靴屋)",name:"つるや","name:en":"Tsuruya","name:ja":"つるや",shop:"shoes"}},"shop/shoes|東京靴流通センター":{countryCodes:["jp"],tags:{brand:"東京靴流通センター","brand:en":"Tokyo Shoes Retailing Center","brand:ja":"東京靴流通センター","brand:wikidata":"Q11318515","brand:wikipedia":"ja:チヨダ",name:"東京靴流通センター","name:en":"Tokyo Shoes Retailing Center","name:ja":"東京靴流通センター",shop:"shoes"}},"shop/sports|Academy Sports + Outdoors":{countryCodes:["us"],matchNames:["academy","academy sports and outdoors"],matchTags:["shop/outdoor"],tags:{brand:"Academy Sports + Outdoors","brand:wikidata":"Q4671380","brand:wikipedia":"en:Academy Sports + Outdoors",name:"Academy Sports + Outdoors",shop:"sports"}},"shop/sports|Adidas":{tags:{brand:"Adidas","brand:wikidata":"Q3895","brand:wikipedia":"en:Adidas",name:"Adidas",shop:"sports"}},"shop/sports|Aktiesport":{countryCodes:["nl"],tags:{brand:"Aktiesport","brand:wikidata":"Q57546889",name:"Aktiesport",shop:"sports"}},"shop/sports|American Golf":{countryCodes:["gb","ie"],matchTags:["shop/golf"],tags:{brand:"American Golf","brand:wikidata":"Q62657494",name:"American Golf",shop:"sports",sport:"golf"}},"shop/sports|Big 5 Sporting Goods":{countryCodes:["us"],matchNames:["big 5"],tags:{brand:"Big 5 Sporting Goods","brand:wikidata":"Q4904902","brand:wikipedia":"en:Big 5 Sporting Goods",name:"Big 5 Sporting Goods",shop:"sports"}},"shop/sports|Centauro":{countryCodes:["br"],tags:{brand:"Centauro","brand:wikidata":"Q28679561","brand:wikipedia":"pt:Lojas Centauro",name:"Centauro",shop:"sports"}},"shop/sports|Decathlon":{tags:{brand:"Decathlon","brand:wikidata":"Q509349","brand:wikipedia":"en:Decathlon Group",name:"Decathlon",shop:"sports"}},"shop/sports|Dick's Sporting Goods":{countryCodes:["us"],matchNames:["dicks"],tags:{brand:"Dick's Sporting Goods","brand:wikidata":"Q5272601","brand:wikipedia":"en:Dick's Sporting Goods",name:"Dick's Sporting Goods",shop:"sports"}},"shop/sports|Finish Line":{countryCodes:["us"],tags:{brand:"Finish Line","brand:wikidata":"Q5450341","brand:wikipedia":"en:Finish Line, Inc.",name:"Finish Line",shop:"sports"}},"shop/sports|Hervis":{countryCodes:["at","cz","de","hr","hu","ro","si"],matchNames:["hervis sport","hervis sports"],tags:{brand:"Hervis","brand:wikidata":"Q1614816","brand:wikipedia":"de:Hervis",name:"Hervis",shop:"sports"}},"shop/sports|Hibbett Sports":{countryCodes:["us"],tags:{brand:"Hibbett Sports","brand:wikidata":"Q5750671","brand:wikipedia":"en:Hibbett Sports",name:"Hibbett Sports",shop:"sports"}},"shop/sports|Intersport":{tags:{brand:"Intersport","brand:wikidata":"Q666888","brand:wikipedia":"en:Intersport",name:"Intersport",shop:"sports"}},"shop/sports|JD Sports":{countryCodes:["de","es","fr","gb","ie","nl"],matchNames:["JD"],tags:{brand:"JD Sports","brand:wikidata":"Q6108019","brand:wikipedia":"en:JD Sports",name:"JD Sports",shop:"sports"}},"shop/sports|Marathon Sports":{countryCodes:["bo","ec","pe"],tags:{brand:"Marathon Sports","brand:wikidata":"Q3027516","brand:wikipedia":"es:Marathon Sports",name:"Marathon Sports",shop:"sports"}},"shop/sports|Martes Sport":{countryCodes:["pl"],tags:{brand:"Martes Sport","brand:wikidata":"Q62073490",name:"Martes Sport",shop:"sports"}},"shop/sports|Modell's Sporting Goods":{countryCodes:["us"],matchNames:["modells"],tags:{brand:"Modell's Sporting Goods","brand:wikidata":"Q3317844","brand:wikipedia":"en:Modell's Sporting Goods",name:"Modell's Sporting Goods",shop:"sports"}},"shop/sports|Peloton":{countryCodes:["ca","gb","us"],tags:{brand:"Peloton","brand:wikidata":"Q56276186","brand:wikipedia":"en:Peloton (company)",name:"Peloton",shop:"sports"}},"shop/sports|Play It Again Sports":{countryCodes:["ca","us"],tags:{brand:"Play It Again Sports","brand:wikidata":"Q7203029","brand:wikipedia":"en:Play It Again Sports",name:"Play It Again Sports",shop:"sports"}},"shop/sports|Rebel":{countryCodes:["au","nz"],tags:{brand:"Rebel","brand:wikidata":"Q18636397","brand:wikipedia":"en:Rebel (company)",name:"Rebel",shop:"sports"}},"shop/sports|Sport 2000":{countryCodes:["at","de","fr","nl"],tags:{brand:"Sport 2000","brand:wikidata":"Q262394","brand:wikipedia":"de:Sport 2000",name:"Sport 2000",shop:"sports"}},"shop/sports|Sport Chek":{countryCodes:["ca"],tags:{brand:"Sport Chek","brand:wikidata":"Q3494037","brand:wikipedia":"en:Sport Chek",name:"Sport Chek",shop:"sports"}},"shop/sports|Sporting Life":{countryCodes:["ca"],tags:{brand:"Sporting Life","brand:wikidata":"Q7579583","brand:wikipedia":"en:Sporting Life (retailer)",name:"Sporting Life",shop:"sports"}},"shop/sports|Sportisimo":{countryCodes:["cz","sk"],tags:{brand:"Sportisimo","brand:wikidata":"Q54974273",name:"Sportisimo",shop:"sports"}},"shop/sports|Sports Authority":{tags:{brand:"Sports Authority","brand:wikidata":"Q7579688","brand:wikipedia":"en:Sports Authority",name:"Sports Authority",shop:"sports"}},"shop/sports|Sports Direct":{matchNames:["SportsDirect.com"],tags:{brand:"Sports Direct","brand:wikidata":"Q2913554","brand:wikipedia":"en:Sports Direct",name:"Sports Direct",shop:"sports"}},"shop/sports|Stadium":{countryCodes:["de","dk","fi","se"],tags:{brand:"Stadium","brand:wikidata":"Q4993863","brand:wikipedia":"sv:Stadium (detaljhandelskedja)",name:"Stadium",shop:"sports"}},"shop/sports|XXL":{countryCodes:["fi","no","se"],tags:{brand:"XXL","brand:wikidata":"Q12010840","brand:wikipedia":"no:XXL",name:"XXL",shop:"sports"}},"shop/sports|Спортмастер":{countryCodes:["by","kz","ru","ua"],matchNames:["спортмастер гипер"],tags:{brand:"Спортмастер","brand:en":"Sportmaster","brand:ru":"Спортмастер","brand:wikidata":"Q4438176","brand:wikipedia":"ru:Спортмастер",name:"Спортмастер","name:en":"Sportmaster","name:ru":"Спортмастер",shop:"sports"}},"shop/stationery|Buffetti":{countryCodes:["it"],tags:{brand:"Buffetti",name:"Buffetti",shop:"stationery"}},"shop/stationery|Bureau Vallée":{countryCodes:["fr"],tags:{brand:"Bureau Vallée","brand:wikidata":"Q18385014","brand:wikipedia":"fr:Bureau Vallée",name:"Bureau Vallée",shop:"stationery"}},"shop/stationery|McPaper":{countryCodes:["ch","de"],tags:{brand:"McPaper","brand:wikidata":"Q1915329","brand:wikipedia":"de:McPaper",name:"McPaper",shop:"stationery"}},"shop/stationery|Office Depot":{matchTags:["shop/office_supplies"],tags:{brand:"Office Depot","brand:wikidata":"Q1337797","brand:wikipedia":"en:Office Depot",name:"Office Depot",shop:"stationery"}},"shop/stationery|OfficeMax":{countryCodes:["mx","nz","us"],tags:{brand:"OfficeMax","brand:wikidata":"Q7079111","brand:wikipedia":"en:OfficeMax",name:"OfficeMax",shop:"stationery"}},"shop/stationery|Officeworks":{countryCodes:["au"],tags:{brand:"Officeworks","brand:wikidata":"Q7079486","brand:wikipedia":"en:Officeworks",name:"Officeworks",shop:"stationery"}},"shop/stationery|Pagro":{countryCodes:["at"],tags:{brand:"Pagro","brand:wikidata":"Q57550022",name:"Pagro",shop:"stationery"}},"shop/stationery|Paper Source":{countryCodes:["us"],tags:{brand:"Paper Source","brand:wikidata":"Q25000269","brand:wikipedia":"en:Paper Source",name:"Paper Source",shop:"stationery"}},"shop/stationery|Paperchase":{countryCodes:["gb"],tags:{brand:"Paperchase","brand:wikidata":"Q7132739","brand:wikipedia":"en:Paperchase",name:"Paperchase",shop:"stationery"}},"shop/stationery|Ryman":{countryCodes:["gb"],tags:{brand:"Ryman","brand:wikidata":"Q7385188","brand:wikipedia":"en:Ryman",name:"Ryman",shop:"stationery"}},"shop/stationery|Staples":{matchTags:["shop/office_supplies"],tags:{brand:"Staples","brand:wikidata":"Q785943","brand:wikipedia":"en:Staples Inc.",name:"Staples",shop:"stationery"}},"shop/stationery|Комус":{countryCodes:["ru"],tags:{brand:"Комус","brand:en":"Komus","brand:wikidata":"Q4230314","brand:wikipedia":"en:Komus (company)",name:"Комус","name:en":"Komus",shop:"stationery"}},"shop/storage_rental|Extra Space Storage":{countryCodes:["us"],tags:{brand:"Extra Space Storage","brand:wikidata":"Q5422162","brand:wikipedia":"en:Extra Space Storage",name:"Extra Space Storage",shop:"storage_rental"}},"shop/storage_rental|Public Storage":{countryCodes:["ca","us"],matchTags:["shop/storage_units"],tags:{brand:"Public Storage","brand:wikidata":"Q1156045","brand:wikipedia":"en:Public Storage",name:"Public Storage",shop:"storage_rental"}},"shop/supermarket|8 à Huit":{nomatch:["shop/convenience|8 à Huit"],tags:{brand:"8 à Huit","brand:wikidata":"Q2818601","brand:wikipedia":"fr:8 à Huit",name:"8 à Huit",shop:"supermarket"}},"shop/supermarket|99 Ranch Market":{countryCodes:["us"],matchNames:["99 ranch","ranch 99"],tags:{brand:"99 Ranch Market","brand:wikidata":"Q4646307","brand:wikipedia":"en:99 Ranch Market",cuisine:"asian",name:"99 Ranch Market","name:en":"99 Ranch Market","name:zh-Hans":"大华超级市场","name:zh-Hant":"大華超級市場",shop:"supermarket"}},"shop/supermarket|A&O":{countryCodes:["it"],tags:{brand:"A&O","brand:wikidata":"Q3600279","brand:wikipedia":"it:A&O",name:"A&O",shop:"supermarket"}},"shop/supermarket|A101":{countryCodes:["tr"],tags:{brand:"A101","brand:wikidata":"Q6034496","brand:wikipedia":"tr:A101",name:"A101",shop:"supermarket"}},"shop/supermarket|AD Delhaize":{countryCodes:["be","lu"],tags:{brand:"AD Delhaize","brand:wikidata":"Q1184173","brand:wikipedia":"fr:Delhaize",name:"AD Delhaize",shop:"supermarket"}},"shop/supermarket|ADEG":{countryCodes:["at"],tags:{brand:"ADEG","brand:wikidata":"Q290211","brand:wikipedia":"de:ADEG Österreich",name:"ADEG",shop:"supermarket"}},"shop/supermarket|Acme":{countryCodes:["us"],tags:{brand:"Acme","brand:wikidata":"Q341975","brand:wikipedia":"en:Acme Markets",name:"Acme",shop:"supermarket"}},"shop/supermarket|Ahorramás":{countryCodes:["es"],tags:{brand:"Ahorramás","brand:wikidata":"Q58221883",name:"Ahorramás",shop:"supermarket"}},"shop/supermarket|Albert":{countryCodes:["cz"],tags:{brand:"Albert","brand:wikidata":"Q9144241","brand:wikipedia":"cs:Albert (obchodní řetězec)",name:"Albert",shop:"supermarket"}},"shop/supermarket|Albert Heijn":{countryCodes:["be","nl"],tags:{brand:"Albert Heijn","brand:wikidata":"Q1653985","brand:wikipedia":"nl:Albert Heijn (supermarkt)",name:"Albert Heijn",shop:"supermarket"}},"shop/supermarket|Albertsons":{countryCodes:["us"],matchNames:["albertsons supermarket"],tags:{brand:"Albertsons","brand:wikidata":"Q4712282","brand:wikipedia":"en:Albertsons",name:"Albertsons",shop:"supermarket"}},"shop/supermarket|Alcampo":{countryCodes:["es"],tags:{brand:"Alcampo",name:"Alcampo",shop:"supermarket"}},"shop/supermarket|Aldi":{tags:{brand:"Aldi","brand:wikidata":"Q125054","brand:wikipedia":"en:Aldi",name:"Aldi",shop:"supermarket"}},"shop/supermarket|Aldi Nord":{countryCodes:["de"],tags:{brand:"Aldi Nord","brand:wikidata":"Q41171373","brand:wikipedia":"en:Aldi",name:"Aldi Nord",shop:"supermarket"}},"shop/supermarket|Aldi Süd":{countryCodes:["de"],tags:{brand:"Aldi Süd","brand:wikidata":"Q41171672","brand:wikipedia":"en:Aldi",name:"Aldi Süd",shop:"supermarket"}},"shop/supermarket|Alfamart":{tags:{brand:"Alfamart","brand:wikidata":"Q23745600","brand:wikipedia":"en:Alfamart",name:"Alfamart",shop:"supermarket"}},"shop/supermarket|Alimerka":{countryCodes:["es"],tags:{brand:"Alimerka","brand:wikidata":"Q16482738","brand:wikipedia":"es:Alimerka",name:"Alimerka",shop:"supermarket"}},"shop/supermarket|Alnatura":{countryCodes:["ch","de"],tags:{brand:"Alnatura","brand:wikidata":"Q876811","brand:wikipedia":"en:Alnatura",name:"Alnatura",organic:"only",shop:"supermarket"}},"shop/supermarket|Amigo":{countryCodes:["us"],matchNames:["amigo puerto rico","amigo supermarket","supermercado amigo"],tags:{alt_name:"Supermercados Amigo",brand:"Amigo","brand:wikidata":"Q4746234","brand:wikipedia":"en:Amigo Supermarkets",name:"Amigo",shop:"supermarket"}},"shop/supermarket|Ara":{countryCodes:["co"],tags:{brand:"Ara",name:"Ara",shop:"supermarket"}},"shop/supermarket|Asda":{countryCodes:["gb"],nomatch:["amenity/fuel|Asda"],tags:{brand:"Asda","brand:wikidata":"Q297410","brand:wikipedia":"en:Asda",name:"Asda",shop:"supermarket"}},"shop/supermarket|Atacadão":{countryCodes:["br"],tags:{brand:"Atacadão","brand:wikidata":"Q2868739","brand:wikipedia":"en:Atacadão",name:"Atacadão",shop:"supermarket"}},"shop/supermarket|Auchan":{nomatch:["amenity/fuel|Auchan"],tags:{brand:"Auchan","brand:wikidata":"Q758603","brand:wikipedia":"en:Auchan",name:"Auchan",shop:"supermarket"}},"shop/supermarket|Auchan Drive":{countryCodes:["fr","lu"],tags:{brand:"Auchan Drive",name:"Auchan Drive",shop:"supermarket"}},"shop/supermarket|BI-LO":{countryCodes:["us"],tags:{brand:"BI-LO","brand:wikidata":"Q4835620","brand:wikipedia":"en:BI-LO (United States)",name:"BI-LO",shop:"supermarket"}},"shop/supermarket|BM":{countryCodes:["es"],tags:{brand:"BM","brand:wikidata":"Q62073462",name:"BM",shop:"supermarket"}},"shop/supermarket|Biedronka":{countryCodes:["pl"],tags:{brand:"Biedronka","brand:wikidata":"Q857182","brand:wikipedia":"pl:Biedronka (sieć handlowa)",name:"Biedronka",shop:"supermarket"}},"shop/supermarket|Big Bazaar":{countryCodes:["in"],tags:{brand:"Big Bazaar","brand:wikidata":"Q3631008","brand:wikipedia":"en:Big Bazaar",name:"Big Bazaar",shop:"supermarket"}},"shop/supermarket|Big C":{countryCodes:["th","vn"],tags:{brand:"Big C","brand:wikidata":"Q858665","brand:wikipedia":"en:Big C",name:"Big C",shop:"supermarket"}},"shop/supermarket|Billa":{tags:{brand:"Billa","brand:wikidata":"Q537781","brand:wikipedia":"en:Billa (supermarket)",name:"Billa",shop:"supermarket"}},"shop/supermarket|Bim":{countryCodes:["ma","tr"],tags:{brand:"Bim","brand:wikidata":"Q1022075","brand:wikipedia":"en:Bim (company)",name:"Bim",shop:"supermarket"}},"shop/supermarket|Bingo":{countryCodes:["ba"],tags:{brand:"Bingo","brand:wikidata":"Q16842066","brand:wikipedia":"bs:Bingo (kompanija)",name:"Bingo",shop:"supermarket"}},"shop/supermarket|Bio C' Bon":{countryCodes:["es","fr"],tags:{brand:"Bio C' Bon",name:"Bio C' Bon",shop:"supermarket"}},"shop/supermarket|Bio Company":{countryCodes:["de"],tags:{brand:"Bio Company","brand:wikidata":"Q864179","brand:wikipedia":"de:Bio Company",name:"Bio Company",organic:"only",shop:"supermarket"}},"shop/supermarket|Biocoop":{countryCodes:["fr"],tags:{brand:"Biocoop","brand:wikidata":"Q2904039","brand:wikipedia":"fr:Biocoop",name:"Biocoop",shop:"supermarket"}},"shop/supermarket|Bodega Aurrera":{tags:{brand:"Bodega Aurrera","brand:wikidata":"Q3365858","brand:wikipedia":"en:Bodega Aurrerá",name:"Bodega Aurrera",shop:"supermarket"}},"shop/supermarket|Bodega Aurrera Express":{countryCodes:["mx"],tags:{brand:"Bodega Aurrera Express",name:"Bodega Aurrera Express",shop:"supermarket"}},"shop/supermarket|Bonpreu":{countryCodes:["es"],tags:{brand:"Bonpreu",name:"Bonpreu",shop:"supermarket"}},"shop/supermarket|Bravo":{countryCodes:["us"],tags:{brand:"Bravo","brand:wikidata":"Q16985159","brand:wikipedia":"en:Bravo (supermarket)",name:"Bravo",shop:"supermarket"}},"shop/supermarket|Brookshire Brothers":{countryCodes:["us"],tags:{brand:"Brookshire Brothers","brand:wikidata":"Q4975084","brand:wikipedia":"en:Brookshire Brothers",name:"Brookshire Brothers",shop:"supermarket"}},"shop/supermarket|Brookshire's":{countryCodes:["us"],tags:{brand:"Brookshire's","brand:wikidata":"Q4975085","brand:wikipedia":"en:Brookshire Grocery Company",name:"Brookshire's",shop:"supermarket"}},"shop/supermarket|Budgens":{countryCodes:["gb"],nomatch:["shop/convenience|Budgens"],tags:{brand:"Budgens","brand:wikidata":"Q4985016","brand:wikipedia":"en:Budgens",name:"Budgens",shop:"supermarket"}},"shop/supermarket|Bulk Barn":{countryCodes:["ca"],tags:{brand:"Bulk Barn","brand:wikidata":"Q4996466",name:"Bulk Barn",shop:"supermarket"}},"shop/supermarket|Bunnpris":{countryCodes:["no"],tags:{brand:"Bunnpris","brand:wikidata":"Q1774634","brand:wikipedia":"en:Bunnpris",name:"Bunnpris",shop:"supermarket"}},"shop/supermarket|C-Town Supermarkets":{countryCodes:["us"],tags:{brand:"C-Town Supermarkets","brand:wikidata":"Q5005929","brand:wikipedia":"en:C-Town Supermarkets",name:"C-Town",shop:"supermarket"}},"shop/supermarket|CBA":{tags:{brand:"CBA","brand:wikidata":"Q779845","brand:wikipedia":"en:CBA (food retail)",name:"CBA",shop:"supermarket"}},"shop/supermarket|COOP Jednota":{countryCodes:["cz","sk"],matchNames:["jednota"],nomatch:["shop/convenience|COOP Jednota"],tags:{brand:"COOP Jednota","brand:wikidata":"Q41629254","brand:wikipedia":"sk:COOP Jednota Slovensko",name:"COOP Jednota",shop:"supermarket"}},"shop/supermarket|Caprabo":{countryCodes:["ad","es"],tags:{brand:"Caprabo","brand:wikidata":"Q1980781","brand:wikipedia":"en:Caprabo",name:"Caprabo",shop:"supermarket"}},"shop/supermarket|Cardenas":{countryCodes:["us"],matchNames:["mi pueblo","mi pueblo food center"],tags:{brand:"Cardenas","brand:wikidata":"Q64149543","brand:wikipedia":"en:Cardenas (supermarket)",cuisine:"latin_american",name:"Cardenas",shop:"supermarket"}},"shop/supermarket|Cargills Food City~(Sri Lanka)":{countryCodes:["lk"],nomatch:["shop/supermarket|Food City~(USA)"],tags:{brand:"Cargills Food City","brand:wikidata":"Q58353955",name:"Cargills Food City",shop:"supermarket"}},"shop/supermarket|Carrefour":{nomatch:["amenity/fuel|Carrefour","shop/convenience|Carrefour Express"],tags:{brand:"Carrefour","brand:wikidata":"Q217599","brand:wikipedia":"fr:Carrefour (enseigne)",name:"Carrefour",shop:"supermarket"}},"shop/supermarket|Carrefour City":{countryCodes:["be","fr"],matchTags:["shop/convenience"],tags:{brand:"Carrefour City","brand:wikidata":"Q2940187","brand:wikipedia":"fr:Carrefour City",name:"Carrefour City",shop:"supermarket"}},"shop/supermarket|Carrefour Contact":{countryCodes:["fr"],tags:{brand:"Carrefour Contact","brand:wikidata":"Q2940188","brand:wikipedia":"fr:Carrefour Contact",name:"Carrefour Contact",shop:"supermarket"}},"shop/supermarket|Carrefour Market":{tags:{brand:"Carrefour Market","brand:wikidata":"Q2689639","brand:wikipedia":"fr:Carrefour Market",name:"Carrefour Market",shop:"supermarket"}},"shop/supermarket|Carulla":{countryCodes:["co"],tags:{brand:"Carulla","brand:wikidata":"Q5047480","brand:wikipedia":"en:Carulla",name:"Carulla",shop:"supermarket"}},"shop/supermarket|Casino":{tags:{brand:"Casino",name:"Casino",shop:"supermarket"}},"shop/supermarket|Centra":{tags:{brand:"Centra",name:"Centra",shop:"supermarket"}},"shop/supermarket|Centre Commercial E. Leclerc":{countryCodes:["fr","pl"],tags:{brand:"Centre Commercial E. Leclerc","brand:wikidata":"Q1273376","brand:wikipedia":"fr:E.Leclerc",name:"Centre Commercial E. Leclerc",shop:"supermarket"}},"shop/supermarket|Chata Polska":{countryCodes:["pl"],nomatch:["shop/convenience|Chata Polska"],tags:{brand:"Chata Polska","brand:wikidata":"Q61994406",name:"Chata Polska",shop:"supermarket"}},"shop/supermarket|Checkers":{countryCodes:["bw","na","za"],nomatch:["amenity/fast_food|Checkers"],tags:{brand:"Checkers","brand:wikidata":"Q5089126","brand:wikipedia":"en:Checkers (supermarket chain)",name:"Checkers",shop:"supermarket"}},"shop/supermarket|Chedraui":{countryCodes:["mx"],tags:{brand:"Chedraui","brand:wikidata":"Q2961952","brand:wikipedia":"en:Chedraui",name:"Chedraui",shop:"supermarket"}},"shop/supermarket|City Market":{tags:{brand:"City Market","brand:wikidata":"Q5123299","brand:wikipedia":"en:City Market (US grocery store chain)",name:"City Market",shop:"supermarket"}},"shop/supermarket|Co-op~(Canada)":{countryCodes:["ca"],nomatch:["amenity/fuel|Co-op~(Canada)","shop/convenience|Co-op~(Canada)","shop/convenience|Coop~(Schweiz)","shop/convenience|The Co-operative Food~(UK)","shop/supermarket|Coop~(Schweiz)","shop/supermarket|The Co-operative Food~(UK)"],tags:{brand:"Federated Co-operatives","brand:wikidata":"Q5440676","brand:wikipedia":"en:Federated Co-operatives",name:"Co-op",shop:"supermarket"}},"shop/supermarket|Coles":{countryCodes:["au","gb"],tags:{brand:"Coles","brand:wikidata":"Q1108172","brand:wikipedia":"en:Coles Supermarkets",name:"Coles",shop:"supermarket"}},"shop/supermarket|Colruyt":{countryCodes:["be","fr","lu"],tags:{brand:"Colruyt","brand:wikidata":"Q2363991","brand:wikipedia":"en:Colruyt (supermarket)",name:"Colruyt",shop:"supermarket"}},"shop/supermarket|Combi":{countryCodes:["de"],tags:{brand:"Combi","brand:wikidata":"Q1113618","brand:wikipedia":"de:Combi (Einkaufsmarkt)",name:"Combi",shop:"supermarket"}},"shop/supermarket|Comercial Mexicana":{countryCodes:["mx"],tags:{brand:"Comercial Mexicana","brand:wikidata":"Q2985173","brand:wikipedia":"es:Comercial Mexicana",name:"Comercial Mexicana",shop:"supermarket"}},"shop/supermarket|Conad":{countryCodes:["al","it"],tags:{brand:"Conad","brand:wikidata":"Q639075","brand:wikipedia":"it:Conad",name:"Conad",shop:"supermarket"}},"shop/supermarket|Conad City":{countryCodes:["it"],tags:{brand:"Conad City","brand:wikidata":"Q57543102",name:"Conad City",shop:"supermarket"}},"shop/supermarket|Condis":{countryCodes:["es"],tags:{brand:"Condis","brand:wikidata":"Q57417581",name:"Condis",shop:"supermarket"}},"shop/supermarket|Consum":{countryCodes:["es"],tags:{brand:"Consum","brand:wikidata":"Q8350308","brand:wikipedia":"es:Consum",name:"Consum",shop:"supermarket"}},"shop/supermarket|Continente":{countryCodes:["pt"],tags:{brand:"Continente","brand:wikidata":"Q2995683","brand:wikipedia":"en:Continente (Supermarket)",name:"Continente",shop:"supermarket"}},"shop/supermarket|Coop Konsum":{countryCodes:["se"],tags:{brand:"Coop Konsum",name:"Coop Konsum",shop:"supermarket"}},"shop/supermarket|Coop Prix":{countryCodes:["no"],tags:{brand:"Coop Prix","brand:wikidata":"Q5167705","brand:wikipedia":"no:Coop Prix",name:"Coop Prix",shop:"supermarket"}},"shop/supermarket|Coop~(Schweiz)":{countryCodes:["ch"],nomatch:["amenity/fuel|Co-op~(Canada)","shop/convenience|Co-op~(Canada)","shop/convenience|Coop~(Schweiz)","shop/convenience|The Co-operative Food~(UK)","shop/supermarket|Co-op~(Canada)","shop/supermarket|The Co-operative Food~(UK)"],tags:{brand:"Coop","brand:wikidata":"Q432564","brand:wikipedia":"de:Coop (Schweiz)",name:"Coop",shop:"supermarket"}},"shop/supermarket|Cora":{countryCodes:["be","fr","lu","ro"],tags:{brand:"Cora","brand:wikidata":"Q686643","brand:wikipedia":"en:Cora (hypermarket)",name:"Cora",shop:"supermarket"}},"shop/supermarket|Costcutter":{nomatch:["shop/convenience|Costcutter"],tags:{brand:"Costcutter","brand:wikidata":"Q5175072","brand:wikipedia":"en:Costcutter",name:"Costcutter",shop:"supermarket"}},"shop/supermarket|Coto":{countryCodes:["ar"],tags:{brand:"Coto","brand:wikidata":"Q5175411","brand:wikipedia":"es:Coto (supermercado)",name:"Coto",shop:"supermarket"}},"shop/supermarket|Countdown":{countryCodes:["nz"],tags:{brand:"Countdown","brand:wikidata":"Q5176845","brand:wikipedia":"en:Countdown (supermarket)",name:"Countdown",shop:"supermarket"}},"shop/supermarket|Covirán":{countryCodes:["es","pt"],tags:{brand:"Covirán",name:"Covirán",shop:"supermarket"}},"shop/supermarket|Crai":{countryCodes:["ch","it"],tags:{brand:"Crai",name:"Crai",shop:"supermarket"}},"shop/supermarket|Cub Foods":{countryCodes:["us"],tags:{brand:"Cub Foods","brand:wikidata":"Q5191916","brand:wikipedia":"en:Cub Foods",name:"Cub Foods",shop:"supermarket"}},"shop/supermarket|D'Agostino":{countryCodes:["us"],tags:{brand:"D'Agostino","brand:wikidata":"Q20656844","brand:wikipedia":"en:D'Agostino Supermarkets",name:"D'Agostino",shop:"supermarket"}},"shop/supermarket|D1":{countryCodes:["co"],tags:{brand:"D1","brand:wikidata":"Q43403418","brand:wikipedia":"es:Tiendas D1",name:"D1",shop:"supermarket"}},"shop/supermarket|Dagli'Brugsen":{countryCodes:["dk"],tags:{brand:"Dagli'Brugsen","brand:wikidata":"Q12307017","brand:wikipedia":"en:Dagli'Brugsen",name:"Dagli'Brugsen",shop:"supermarket"}},"shop/supermarket|Decò":{countryCodes:["it"],tags:{brand:"Decò",name:"Decò",shop:"supermarket"}},"shop/supermarket|Deen":{countryCodes:["nl"],tags:{brand:"Deen","brand:wikidata":"Q13571727","brand:wikipedia":"nl:Deen (supermarkt)",name:"Deen",shop:"supermarket"}},"shop/supermarket|Delhaize":{countryCodes:["be","lu"],tags:{brand:"Delhaize","brand:wikidata":"Q1184173","brand:wikipedia":"fr:Delhaize",name:"Delhaize",shop:"supermarket"}},"shop/supermarket|Delikatesy Centrum":{countryCodes:["pl"],nomatch:["shop/convenience|Delikatesy Centrum"],tags:{brand:"Delikatesy Centrum","brand:wikidata":"Q11693824","brand:wikipedia":"pl:Delikatesy Centrum",name:"Delikatesy Centrum",shop:"supermarket"}},"shop/supermarket|Denner":{countryCodes:["ch","li"],tags:{brand:"Denner","brand:wikidata":"Q379911","brand:wikipedia":"en:Denner (supermarket)",name:"Denner",shop:"supermarket"}},"shop/supermarket|Despar":{countryCodes:["it"],tags:{brand:"Spar","brand:wikidata":"Q610492","brand:wikipedia":"en:Spar (retailer)",name:"Despar",shop:"supermarket"}},"shop/supermarket|Despensa Familiar":{countryCodes:["gt","hn","sv"],tags:{brand:"Despensa Familiar","brand:wikidata":"Q61994849",name:"Despensa Familiar",shop:"supermarket"}},"shop/supermarket|Dia":{matchNames:["supermercado dia"],tags:{brand:"Dia","brand:wikidata":"Q925132","brand:wikipedia":"es:Supermercados DIA",name:"Dia",shop:"supermarket"}},"shop/supermarket|Dia Market":{tags:{brand:"Dia Market","brand:wikidata":"Q925132","brand:wikipedia":"es:Supermercados DIA",name:"Dia Market",shop:"supermarket"}},"shop/supermarket|Dino":{countryCodes:["pl"],tags:{brand:"Dino","brand:wikidata":"Q11694239","brand:wikipedia":"pl:Dino Polska",name:"Dino",shop:"supermarket"}},"shop/supermarket|Dirk van den Broek":{countryCodes:["nl"],tags:{brand:"Dirk van den Broek","brand:wikidata":"Q17502722","brand:wikipedia":"en:Dirk (supermarket)",name:"Dirk van den Broek",shop:"supermarket"}},"shop/supermarket|Disco~(Argentina)":{countryCodes:["ar"],tags:{brand:"Disco","brand:wikidata":"Q6135978","brand:wikipedia":"es:Disco (supermercado de Argentina)",name:"Disco",shop:"supermarket"}},"shop/supermarket|Disco~(Uruguay)":{countryCodes:["uy"],tags:{brand:"Disco","brand:wikidata":"Q16636819","brand:wikipedia":"es:Disco (supermercado de Uruguay)",name:"Disco",shop:"supermarket"}},"shop/supermarket|Diska":{countryCodes:["de"],tags:{brand:"Diska","brand:wikidata":"Q62390177",name:"Diska",shop:"supermarket"}},"shop/supermarket|Dunnes Stores":{countryCodes:["gb","ie"],tags:{brand:"Dunnes Stores","brand:wikidata":"Q1266203","brand:wikipedia":"en:Dunnes Stores",name:"Dunnes Stores",shop:"supermarket"}},"shop/supermarket|E-Center":{countryCodes:["de"],tags:{brand:"E-Center","brand:wikidata":"Q701755","brand:wikipedia":"en:Edeka",name:"E-Center",shop:"supermarket"}},"shop/supermarket|E. Leclerc":{countryCodes:["es","fr","pl","pt"],tags:{brand:"E. Leclerc","brand:wikidata":"Q1273376","brand:wikipedia":"en:E.Leclerc",name:"E. Leclerc",shop:"supermarket"}},"shop/supermarket|E. Leclerc Drive":{countryCodes:["fr"],tags:{brand:"E. Leclerc Drive","brand:wikidata":"Q1273376","brand:wikipedia":"fr:E.Leclerc",name:"E. Leclerc Drive",shop:"supermarket"}},"shop/supermarket|EMTÉ":{countryCodes:["nl"],tags:{brand:"EMTÉ","brand:wikidata":"Q3119122","brand:wikipedia":"en:EMTÉ",name:"EMTÉ",shop:"supermarket"}},"shop/supermarket|Edeka":{countryCodes:["de"],matchNames:["edeka neukauf"],tags:{brand:"Edeka","brand:wikidata":"Q701755","brand:wikipedia":"en:Edeka",name:"Edeka",shop:"supermarket"}},"shop/supermarket|Eko":{countryCodes:["pl"],nomatch:["amenity/fuel|EKO~(Canada)","amenity/fuel|EKO~(Greece)"],tags:{brand:"Eko","brand:wikidata":"Q9251859","brand:wikipedia":"pl:Eko Holding",name:"Eko",shop:"supermarket"}},"shop/supermarket|Ekom":{countryCodes:["it"],tags:{brand:"Ekom","brand:wikidata":"Q62073442",name:"Ekom",shop:"supermarket"}},"shop/supermarket|Ekono":{countryCodes:["cl"],tags:{brand:"Ekono","brand:wikidata":"Q2842729","brand:wikipedia":"es:Ekono",name:"Ekono",shop:"supermarket"}},"shop/supermarket|Eroski":{countryCodes:["es","gi"],matchNames:["charter","eroski center"],tags:{brand:"Eroski","brand:wikidata":"Q1361349","brand:wikipedia":"en:Eroski",name:"Eroski",shop:"supermarket"}},"shop/supermarket|Eroski City":{countryCodes:["es"],tags:{brand:"Eroski City",name:"Eroski City",shop:"supermarket"}},"shop/supermarket|Esselunga":{countryCodes:["it"],tags:{brand:"Esselunga","brand:wikidata":"Q1059636","brand:wikipedia":"en:Esselunga",name:"Esselunga",shop:"supermarket"}},"shop/supermarket|EuroSpin":{countryCodes:["it","si"],tags:{brand:"EuroSpin","brand:wikidata":"Q1374674","brand:wikipedia":"it:Eurospin",name:"EuroSpin",shop:"supermarket"}},"shop/supermarket|Eurospar":{tags:{brand:"Eurospar","brand:wikidata":"Q12309283","brand:wikipedia":"da:Eurospar",name:"Eurospar",shop:"supermarket"}},"shop/supermarket|Extra":{matchNames:["coop extra"],matchTags:["shop/convenience"],tags:{brand:"Extra","brand:wikidata":"Q11964085","brand:wikipedia":"no:Extra (Coop)",name:"Extra",shop:"supermarket"}},"shop/supermarket|Famila":{countryCodes:["de","it"],tags:{brand:"Famila","brand:wikidata":"Q1395108","brand:wikipedia":"de:Famila",name:"Famila",shop:"supermarket"}},"shop/supermarket|Fareway":{countryCodes:["us"],tags:{brand:"Fareway","brand:wikidata":"Q5434998","brand:wikipedia":"en:Fareway",name:"Fareway",shop:"supermarket"}},"shop/supermarket|Farm Boy":{countryCodes:["ca"],tags:{brand:"Farm Boy","brand:wikidata":"Q5435469","brand:wikipedia":"en:Farm Boy",name:"Farm Boy",shop:"supermarket"}},"shop/supermarket|Farmfoods":{countryCodes:["gb","sk"],tags:{brand:"Farmfoods","brand:wikidata":"Q5435841","brand:wikipedia":"en:Farmfoods",name:"Farmfoods",shop:"supermarket"}},"shop/supermarket|Feneberg":{countryCodes:["at","de"],tags:{brand:"Feneberg","brand:wikidata":"Q5345378","brand:wikipedia":"de:Feneberg Lebensmittel",name:"Feneberg",shop:"supermarket"}},"shop/supermarket|Food 4 Less":{countryCodes:["us"],tags:{brand:"Food 4 Less","brand:wikidata":"Q5465282","brand:wikipedia":"en:Food 4 Less",name:"Food 4 Less",shop:"supermarket"}},"shop/supermarket|Food Basics":{tags:{brand:"Food Basics","brand:wikidata":"Q5465300","brand:wikipedia":"en:Food Basics",name:"Food Basics",shop:"supermarket"}},"shop/supermarket|Food City~(USA)":{countryCodes:["us"],nomatch:["shop/supermarket|Cargills Food City~(Sri Lanka)"],tags:{brand:"Food City","brand:wikidata":"Q16981107","brand:wikipedia":"en:Food City (K-VA-T)",name:"Food City",shop:"supermarket"}},"shop/supermarket|Food Lion":{countryCodes:["es","us"],tags:{brand:"Food Lion","brand:wikidata":"Q1435950","brand:wikipedia":"en:Food Lion",name:"Food Lion",shop:"supermarket"}},"shop/supermarket|FoodLand~(USA)":{countryCodes:["us"],nomatch:["shop/supermarket|Foodland~(Australia)","shop/supermarket|Foodland~(Canada)","shop/supermarket|Foodland~(Hawaii)"],tags:{brand:"FoodLand","brand:wikidata":"Q5465271","brand:wikipedia":"en:FoodLand",name:"FoodLand",shop:"supermarket"}},"shop/supermarket|FoodMaxx":{countryCodes:["us"],tags:{brand:"FoodMaxx","brand:wikidata":"Q61894844",name:"FoodMaxx",shop:"supermarket"}},"shop/supermarket|Foodland~(Australia)":{countryCodes:["au"],nomatch:["shop/supermarket|Foodland~(Canada)","shop/supermarket|Foodland~(Hawaii)","shop/supermarket|Foodland~(USA)"],tags:{brand:"Foodland","brand:wikidata":"Q5465555","brand:wikipedia":"en:Foodland (South Australia)",name:"Foodland",shop:"supermarket"}},"shop/supermarket|Foodland~(Canada)":{countryCodes:["ca"],nomatch:["shop/supermarket|Foodland~(Australia)","shop/supermarket|Foodland~(Hawaii)","shop/supermarket|Foodland~(USA)"],tags:{brand:"Foodland","brand:wikidata":"Q5465554","brand:wikipedia":"en:Foodland (Canada)",name:"Foodland",shop:"supermarket"}},"shop/supermarket|Foodland~(Hawaii)":{countryCodes:["us"],nomatch:["shop/supermarket|Foodland~(Australia)","shop/supermarket|Foodland~(Canada)","shop/supermarket|Foodland~(USA)"],tags:{brand:"Foodland","brand:wikidata":"Q5465560","brand:wikipedia":"en:Foodland Hawaii",name:"Foodland",shop:"supermarket"}},"shop/supermarket|Foodworks":{countryCodes:["au"],tags:{brand:"Foodworks","brand:wikidata":"Q5465579","brand:wikipedia":"en:Foodworks",name:"Foodworks",shop:"supermarket"}},"shop/supermarket|Fortinos":{countryCodes:["ca"],tags:{brand:"Fortinos","brand:wikidata":"Q5472662","brand:wikipedia":"en:Fortinos",name:"Fortinos",shop:"supermarket"}},"shop/supermarket|Four Square":{tags:{brand:"Four Square",name:"Four Square",shop:"supermarket"}},"shop/supermarket|Fred Meyer":{countryCodes:["us"],matchTags:["shop/department_store"],tags:{brand:"Fred Meyer","brand:wikidata":"Q5495932","brand:wikipedia":"en:Fred Meyer",name:"Fred Meyer",shop:"supermarket"}},"shop/supermarket|Fresh":{tags:{brand:"Fresh","brand:wikidata":"Q50737403","brand:wikipedia":"sk:Fresh",name:"Fresh",shop:"supermarket"}},"shop/supermarket|Fresh Thyme":{countryCodes:["us"],matchNames:["fresh thyme farmers market"],tags:{brand:"Fresh Thyme","brand:wikidata":"Q64132791",name:"Fresh Thyme",shop:"supermarket"}},"shop/supermarket|FreshCo":{countryCodes:["ca"],tags:{brand:"FreshCo","brand:wikidata":"Q5502915","brand:wikipedia":"en:FreshCo",name:"FreshCo",shop:"supermarket"}},"shop/supermarket|Froiz":{countryCodes:["es","pt"],tags:{brand:"Froiz","brand:wikidata":"Q17070775","brand:wikipedia":"en:Froiz",name:"Froiz",shop:"supermarket"}},"shop/supermarket|Føtex":{countryCodes:["dk"],tags:{brand:"Føtex","brand:wikidata":"Q1480395","brand:wikipedia":"en:Føtex",name:"Føtex",shop:"supermarket"}},"shop/supermarket|G20":{countryCodes:["fr"],tags:{brand:"G20","brand:wikidata":"Q3504731","brand:wikipedia":"fr:Supermarchés G20",name:"G20",shop:"supermarket"}},"shop/supermarket|GBarbosa":{countryCodes:["br"],tags:{brand:"GBarbosa","brand:wikidata":"Q10287817","brand:wikipedia":"pt:GBarbosa",name:"GBarbosa",shop:"supermarket"}},"shop/supermarket|Gadis":{countryCodes:["es"],tags:{brand:"Gadis","brand:wikidata":"Q12389151","brand:wikipedia":"gl:Gadisa",name:"Gadis",shop:"supermarket"}},"shop/supermarket|Giant Eagle":{countryCodes:["us"],tags:{brand:"Giant Eagle","brand:wikidata":"Q1522721","brand:wikipedia":"en:Giant Eagle",name:"Giant Eagle",shop:"supermarket"}},"shop/supermarket|Giant~(Carlisle)":{countryCodes:["us"],nomatch:["shop/bicycle|Giant"],tags:{brand:"Giant","brand:wikidata":"Q5558332","brand:wikipedia":"en:Giant Food Stores",name:"Giant",shop:"supermarket"}},"shop/supermarket|Giant~(Landover)":{countryCodes:["us"],nomatch:["shop/bicycle|Giant"],tags:{brand:"Giant","brand:wikidata":"Q5558336","brand:wikipedia":"en:Giant Food (Landover)",name:"Giant",shop:"supermarket"}},"shop/supermarket|Globus":{tags:{brand:"Globus","brand:wikidata":"Q457503","brand:wikipedia":"en:Globus (hypermarket)",name:"Globus",shop:"supermarket"}},"shop/supermarket|Gordon Food Service":{countryCodes:["ca","us"],tags:{brand:"Gordon Food Service","brand:wikidata":"Q1538006","brand:wikipedia":"en:Gordon Food Service",name:"Gordon Food Service",shop:"supermarket"}},"shop/supermarket|Grand Frais":{countryCodes:["fr"],tags:{brand:"Grand Frais","brand:wikidata":"Q3114675","brand:wikipedia":"fr:Grand Frais",name:"Grand Frais",shop:"supermarket"}},"shop/supermarket|Grocery Outlet":{countryCodes:["us"],tags:{brand:"Grocery Outlet","brand:wikidata":"Q5609934","brand:wikipedia":"en:Grocery Outlet",name:"Grocery Outlet",official_name:"Grocery Outlet Bargain Market",shop:"supermarket"}},"shop/supermarket|Groszek":{countryCodes:["pl"],nomatch:["shop/convenience|Groszek"],tags:{brand:"Groszek","brand:wikidata":"Q9280965","brand:wikipedia":"pl:Groszek (sieć sklepów)",name:"Groszek",shop:"supermarket"}},"shop/supermarket|Géant Casino":{countryCodes:["cg","fr"],tags:{brand:"Géant Casino","brand:wikidata":"Q1380537","brand:wikipedia":"en:Géant Casino",name:"Géant Casino",shop:"supermarket"}},"shop/supermarket|H Mart":{countryCodes:["ca","gb","us"],tags:{"alt_name:ko":"H 마트",brand:"H Mart","brand:wikidata":"Q5636306","brand:wikipedia":"en:H Mart",cuisine:"asian",name:"H Mart","name:en":"H Mart","name:ko":"한아름","name:zh-Hans":"韩亚龙","name:zh-Hant":"韓亞龍",shop:"supermarket"}},"shop/supermarket|H-E-B":{countryCodes:["mx","us"],tags:{brand:"H-E-B","brand:wikidata":"Q830621","brand:wikipedia":"en:H-E-B",name:"H-E-B",shop:"supermarket"}},"shop/supermarket|HIT":{countryCodes:["de"],tags:{brand:"HIT","brand:wikidata":"Q1548713","brand:wikipedia":"de:HIT Handelsgruppe",name:"HIT",shop:"supermarket"}},"shop/supermarket|HalpaHalli":{countryCodes:["ee","fi","ru"],tags:{brand:"HalpaHalli","brand:wikidata":"Q11861256","brand:wikipedia":"fi:HalpaHalli",name:"HalpaHalli",shop:"supermarket"}},"shop/supermarket|Hannaford":{countryCodes:["us"],tags:{brand:"Hannaford","brand:wikidata":"Q5648760","brand:wikipedia":"en:Hannaford Brothers Company",name:"Hannaford",shop:"supermarket"}},"shop/supermarket|Harris Teeter":{countryCodes:["us"],tags:{brand:"Harris Teeter","brand:wikidata":"Q5665067","brand:wikipedia":"en:Harris Teeter",name:"Harris Teeter",shop:"supermarket"}},"shop/supermarket|Hemköp":{countryCodes:["se"],tags:{brand:"Hemköp","brand:wikidata":"Q10521746","brand:wikipedia":"sv:Hemköp",name:"Hemköp",shop:"supermarket"}},"shop/supermarket|Heron Foods":{countryCodes:["gb"],tags:{brand:"Heron Foods","brand:wikidata":"Q5743472","brand:wikipedia":"en:Heron Foods",name:"Heron Foods",shop:"supermarket"}},"shop/supermarket|Hofer":{countryCodes:["at","si"],nomatch:["amenity/fuel|Hofer"],tags:{brand:"Hofer","brand:wikidata":"Q15815751","brand:wikipedia":"de:Hofer KG",name:"Hofer",shop:"supermarket"}},"shop/supermarket|Hoogvliet":{countryCodes:["nl"],tags:{brand:"Hoogvliet","brand:wikidata":"Q2770647","brand:wikipedia":"nl:Hoogvliet (supermarkt)",name:"Hoogvliet",shop:"supermarket"}},"shop/supermarket|Hruška":{nomatch:["shop/convenience|Hruška"],tags:{brand:"Hruška",name:"Hruška",shop:"supermarket"}},"shop/supermarket|Hy-Vee":{countryCodes:["us"],tags:{brand:"Hy-Vee","brand:wikidata":"Q1639719","brand:wikipedia":"en:Hy-Vee",name:"Hy-Vee",shop:"supermarket"}},"shop/supermarket|Hyper U":{countryCodes:["fr"],nomatch:["amenity/fuel|Super U","shop/convenience|Utile","shop/supermarket|Super U","shop/supermarket|U Express"],tags:{brand:"Hyper U","brand:wikidata":"Q2529029","brand:wikipedia":"en:Système U",name:"Hyper U",shop:"supermarket"}},"shop/supermarket|ICA":{countryCodes:["no","se"],matchNames:["ica supermarket"],nomatch:["shop/supermarket|ICA Kvantum","shop/supermarket|ICA Maxi"],tags:{brand:"ICA","brand:wikidata":"Q1663776","brand:wikipedia":"sv:Ica",name:"ICA",shop:"supermarket"}},"shop/supermarket|ICA Kvantum":{countryCodes:["se"],nomatch:["shop/supermarket|ICA","shop/supermarket|ICA Maxi"],tags:{brand:"ICA Kvantum","brand:wikidata":"Q1663776","brand:wikipedia":"sv:Ica",name:"ICA Kvantum",shop:"supermarket"}},"shop/supermarket|ICA Maxi":{countryCodes:["no","se"],matchNames:["maxi"],nomatch:["shop/supermarket|ICA","shop/supermarket|ICA Kvantum"],tags:{brand:"ICA Maxi","brand:wikidata":"Q1663776","brand:wikipedia":"sv:Ica",name:"ICA Maxi",shop:"supermarket"}},"shop/supermarket|IDEA":{countryCodes:["rs"],tags:{brand:"IDEA","brand:wikidata":"Q23461622","brand:wikipedia":"en:Idea (supermarkets)",name:"IDEA",shop:"supermarket"}},"shop/supermarket|IGA":{countryCodes:["au","ca","us"],tags:{brand:"IGA","brand:wikidata":"Q3146662","brand:wikipedia":"en:IGA (supermarkets)",name:"IGA",shop:"supermarket"}},"shop/supermarket|Ingles":{countryCodes:["us"],tags:{brand:"Ingles","brand:wikidata":"Q6032595","brand:wikipedia":"en:Ingles",name:"Ingles",shop:"supermarket"}},"shop/supermarket|Intermarché":{tags:{brand:"Intermarché","brand:wikidata":"Q3153200","brand:wikipedia":"fr:Intermarché",name:"Intermarché",shop:"supermarket"}},"shop/supermarket|Intermarché Super":{countryCodes:["be","fr","pl","pt"],tags:{brand:"Intermarché Super","brand:wikidata":"Q3153200","brand:wikipedia":"fr:Intermarché",name:"Intermarché Super",shop:"supermarket"}},"shop/supermarket|Interspar":{countryCodes:["at"],tags:{brand:"Interspar","brand:wikidata":"Q15820339","brand:wikipedia":"de:Interspar (Österreich)",name:"Interspar",shop:"supermarket"}},"shop/supermarket|Irma":{countryCodes:["dk"],tags:{brand:"Irma","brand:wikidata":"Q797150","brand:wikipedia":"en:Irma (supermarket)",name:"Irma",shop:"supermarket"}},"shop/supermarket|Jan Linders":{countryCodes:["nl"],tags:{brand:"Jan Linders","brand:wikidata":"Q2200982","brand:wikipedia":"nl:Jan Linders Supermarkten",name:"Jan Linders",shop:"supermarket"}},"shop/supermarket|Jewel-Osco":{countryCodes:["us"],tags:{brand:"Jewel-Osco","brand:wikidata":"Q3178470","brand:wikipedia":"en:Jewel (supermarket)",name:"Jewel-Osco",shop:"supermarket"}},"shop/supermarket|Jumbo":{tags:{brand:"Jumbo","brand:wikidata":"Q2262314","brand:wikipedia":"en:Jumbo (supermarket)",name:"Jumbo",shop:"supermarket"}},"shop/supermarket|K+K":{countryCodes:["de"],tags:{brand:"K+K","brand:wikidata":"Q1718009","brand:wikipedia":"de:K+K Klaas & Kock",name:"K+K",shop:"supermarket"}},"shop/supermarket|K-Citymarket":{countryCodes:["fi"],tags:{brand:"K-Citymarket","brand:wikidata":"Q11868561","brand:wikipedia":"fi:K-Citymarket",name:"K-Citymarket",shop:"supermarket"}},"shop/supermarket|K-Supermarket":{countryCodes:["fi"],tags:{brand:"K-Supermarket","brand:wikidata":"Q5408668","brand:wikipedia":"fi:K-Supermarket",name:"K-Supermarket",shop:"supermarket"}},"shop/supermarket|Kaufland":{countryCodes:["bg","cz","de","hr","pl","ro","sk"],tags:{brand:"Kaufland","brand:wikidata":"Q685967","brand:wikipedia":"en:Kaufland",name:"Kaufland",shop:"supermarket"}},"shop/supermarket|King Soopers":{countryCodes:["us"],tags:{brand:"King Soopers","brand:wikidata":"Q6412065","brand:wikipedia":"en:King Soopers",name:"King Soopers",shop:"supermarket"}},"shop/supermarket|Kings":{countryCodes:["us"],tags:{brand:"Kings","brand:wikidata":"Q6412914","brand:wikipedia":"en:Kings Food Markets",name:"Kings",shop:"supermarket"}},"shop/supermarket|Kiwi":{countryCodes:["dk","no"],tags:{brand:"Kiwi","brand:wikidata":"Q1613639","brand:wikipedia":"en:Kiwi (store)",name:"Kiwi",shop:"supermarket"}},"shop/supermarket|Konsum":{countryCodes:["de","ee","se"],tags:{brand:"Konsum",name:"Konsum",shop:"supermarket"}},"shop/supermarket|Konzum~(Balkans)":{countryCodes:["ba","hr","rs"],nomatch:["shop/convenience|Konzum~(Balkans)","shop/convenience|Konzum~(Czechia)","shop/supermarket|Konzum~(Czechia)"],tags:{brand:"Konzum","brand:wikidata":"Q518563","brand:wikipedia":"hr:Konzum",name:"Konzum",shop:"supermarket"}},"shop/supermarket|Konzum~(Czechia)":{countryCodes:["cz","sk"],nomatch:["shop/convenience|Konzum~(Balkans)","shop/convenience|Konzum~(Czechia)","shop/supermarket|Konzum~(Balkans)"],tags:{brand:"Konzum",name:"Konzum",shop:"supermarket"}},"shop/supermarket|Kroger":{matchNames:["krogers"],nomatch:["amenity/fuel|Kroger"],tags:{brand:"Kroger","brand:wikidata":"Q153417","brand:wikipedia":"en:Kroger",name:"Kroger",shop:"supermarket"}},"shop/supermarket|Kroger Marketplace":{nomatch:["amenity/fuel|Kroger"],tags:{brand:"Kroger Marketplace","brand:wikidata":"Q153417","brand:wikipedia":"en:Kroger",name:"Kroger Marketplace",shop:"supermarket"}},"shop/supermarket|Kvickly":{countryCodes:["dk"],tags:{brand:"Kvickly","brand:wikidata":"Q7061148","brand:wikipedia":"en:Kvickly",name:"Kvickly",shop:"supermarket"}},"shop/supermarket|La Anónima":{countryCodes:["ar"],tags:{brand:"La Anónima","brand:wikidata":"Q6135985","brand:wikipedia":"es:La Anónima",name:"La Anónima",shop:"supermarket"}},"shop/supermarket|La Comer":{countryCodes:["mx"],tags:{brand:"La Comer","brand:wikidata":"Q26765126","brand:wikipedia":"es:La Comer",name:"La Comer",shop:"supermarket"}},"shop/supermarket|La Michoacana Meat Market":{countryCodes:["us"],matchNames:["la michoacana"],tags:{brand:"La Michoacana Meat Market","brand:en":"La Michoacana Meat Market","brand:es":"La Michoacana","brand:wikidata":"Q6463872","brand:wikipedia":"en:La Michoacana Meat Market",cuisine:"latin_american",name:"La Michoacana Meat Market","name:en":"La Michoacana Meat Market","name:es":"La Michoacana",shop:"supermarket"}},"shop/supermarket|La Plaza de DIA":{countryCodes:["es"],tags:{brand:"La Plaza de DIA","brand:wikidata":"Q58904673",name:"La Plaza de DIA",shop:"supermarket"}},"shop/supermarket|La Vie Claire":{countryCodes:["fr"],tags:{brand:"La Vie Claire","brand:wikidata":"Q3213589","brand:wikipedia":"en:La Vie Claire (company)",name:"La Vie Claire",shop:"supermarket"}},"shop/supermarket|Landi":{countryCodes:["ch"],tags:{brand:"Landi","brand:wikidata":"Q1803010","brand:wikipedia":"en:Landi (Unternehmen)",name:"Landi",shop:"supermarket"}},"shop/supermarket|Leader Price":{tags:{brand:"Leader Price","brand:wikidata":"Q2181426","brand:wikipedia":"en:Leader Price",name:"Leader Price",shop:"supermarket"}},"shop/supermarket|Leclerc Drive":{countryCodes:["fr"],tags:{brand:"Leclerc Drive",name:"Leclerc Drive",shop:"supermarket"}},"shop/supermarket|Lewiatan":{countryCodes:["pl"],nomatch:["shop/convenience|Lewiatan"],tags:{brand:"Lewiatan","brand:wikidata":"Q11755396","brand:wikipedia":"pl:Lewiatan (sieć handlowa)",name:"Lewiatan",shop:"supermarket"}},"shop/supermarket|Lider":{countryCodes:["cl"],nomatch:["shop/supermarket|Lider Express"],tags:{brand:"Lider","brand:wikidata":"Q6711261","brand:wikipedia":"es:Líder (supermercado)",name:"Lider",shop:"supermarket"}},"shop/supermarket|Lider Express":{countryCodes:["cl"],nomatch:["shop/supermarket|Lider"],tags:{brand:"Lider","brand:wikidata":"Q6711261","brand:wikipedia":"es:Líder (supermercado)",name:"Lider Express",shop:"supermarket"}},"shop/supermarket|Lidl":{tags:{brand:"Lidl","brand:wikidata":"Q151954","brand:wikipedia":"en:Lidl",name:"Lidl",shop:"supermarket"}},"shop/supermarket|Lincolnshire Co-op":{countryCodes:["gb"],tags:{brand:"Lincolnshire Co-op","brand:wikidata":"Q6551231","brand:wikipedia":"en:Lincolnshire Co-operative",name:"Lincolnshire Co-op",shop:"supermarket"}},"shop/supermarket|Linella":{countryCodes:["md"],tags:{brand:"Linella","brand:wikidata":"Q61085990","brand:wikipedia":"ro:Linella",name:"Linella",shop:"supermarket"}},"shop/supermarket|Loblaws":{countryCodes:["ca"],matchNames:["loblaws great food"],tags:{brand:"Loblaws","brand:wikidata":"Q3257626","brand:wikipedia":"en:Loblaws",name:"Loblaws",shop:"supermarket"}},"shop/supermarket|Londis":{tags:{brand:"Londis",name:"Londis",shop:"supermarket"}},"shop/supermarket|Lotte Mart":{countryCodes:["id","kr"],tags:{brand:"Lotte Mart","brand:wikidata":"Q326715","brand:wikipedia":"en:Lotte Mart",name:"Lotte Mart",shop:"supermarket"}},"shop/supermarket|Lowe's Market":{countryCodes:["us"],nomatch:["shop/clothes|Lowes","shop/doityourself|Lowe's","shop/supermarket|Lowes Foods"],tags:{brand:"Lowe's Market","brand:wikidata":"Q6693107","brand:wikipedia":"en:Lowe's Market",name:"Lowe's Market",shop:"supermarket"}},"shop/supermarket|Lowes Foods":{countryCodes:["us"],nomatch:["shop/clothes|Lowes","shop/doityourself|Lowe's","shop/supermarket|Lowe's Market"],tags:{brand:"Lowes Foods","brand:wikidata":"Q6693991","brand:wikipedia":"en:Lowes Foods",name:"Lowes Foods",shop:"supermarket"}},"shop/supermarket|Lucky":{countryCodes:["us"],matchNames:["luckys"],tags:{brand:"Lucky","brand:wikidata":"Q6698032","brand:wikipedia":"en:Lucky Stores",name:"Lucky",shop:"supermarket"}},"shop/supermarket|Lupa":{countryCodes:["es"],tags:{brand:"Lupa","brand:wikidata":"Q58044048",name:"Lupa",shop:"supermarket"}},"shop/supermarket|M&S Simply Food":{nomatch:["shop/convenience|M&S Simply Food"],tags:{brand:"M&S Simply Food",name:"M&S Simply Food",shop:"supermarket"}},"shop/supermarket|MD":{countryCodes:["it"],matchNames:["md discount"],tags:{brand:"MD","brand:wikidata":"Q3841263","brand:wikipedia":"en:MD Discount",name:"MD",shop:"supermarket"}},"shop/supermarket|MPREIS":{countryCodes:["at","it"],tags:{brand:"MPREIS","brand:wikidata":"Q873491","brand:wikipedia":"de:MPreis",name:"MPREIS",shop:"supermarket"}},"shop/supermarket|Marc's":{countryCodes:["us"],nomatch:["amenity/pharmacy|Marc's"],tags:{brand:"Marc's","brand:wikidata":"Q17080259","brand:wikipedia":"en:Marc's",name:"Marc's",shop:"supermarket"}},"shop/supermarket|Markant":{countryCodes:["de"],tags:{brand:"Markant","brand:wikidata":"Q57523365",name:"Markant",shop:"supermarket"}},"shop/supermarket|Market Basket":{tags:{brand:"Market Basket","brand:wikidata":"Q2079198","brand:wikipedia":"en:Market Basket (New England)",name:"Market Basket",shop:"supermarket"}},"shop/supermarket|Marktkauf":{countryCodes:["de"],tags:{brand:"Marktkauf","brand:wikidata":"Q1533254","brand:wikipedia":"de:Marktkauf Holding",name:"Marktkauf",shop:"supermarket"}},"shop/supermarket|Martin's Super Markets":{countryCodes:["us"],tags:{brand:"Martin's Super Markets","brand:wikidata":"Q6774803","brand:wikipedia":"en:Martin's Super Markets",name:"Martin's Super Markets",shop:"supermarket"}},"shop/supermarket|Match":{countryCodes:["be","fr","hu","lu"],tags:{brand:"Match","brand:wikidata":"Q513977","brand:wikipedia":"en:Match (supermarket)",name:"Match",shop:"supermarket"}},"shop/supermarket|Maxi Dia":{countryCodes:["es"],tags:{brand:"Maxi Dia","brand:wikidata":"Q925132","brand:wikipedia":"es:Supermercados DIA",name:"Maxi Dia",shop:"supermarket"}},"shop/supermarket|Maxima X":{countryCodes:["bg","ee","lt","lv"],nomatch:["shop/supermarket|Maxima XX","shop/supermarket|Maxima XXX"],tags:{brand:"Maxima X","brand:wikidata":"Q1881222","brand:wikipedia":"en:Maxima Group",name:"Maxima X",shop:"supermarket"}},"shop/supermarket|Maxima XX":{countryCodes:["bg","ee","lt","lv","pl"],nomatch:["shop/supermarket|Maxima X","shop/supermarket|Maxima XXX"],tags:{brand:"Maxima XX","brand:wikidata":"Q1881222","brand:wikipedia":"en:Maxima Group",name:"Maxima XX",shop:"supermarket"}},"shop/supermarket|Maxima XXX":{countryCodes:["bg","ee","lt","lv","pl"],matchNames:["maxima"],nomatch:["shop/supermarket|Maxima X","shop/supermarket|Maxima XX"],tags:{brand:"Maxima XXX","brand:wikidata":"Q1881222","brand:wikipedia":"en:Maxima Group",name:"Maxima XXX",shop:"supermarket"}},"shop/supermarket|Maxi~(Canada)":{countryCodes:["ca"],nomatch:["shop/supermarket|Maxi~(Serbia)"],tags:{brand:"Maxi","brand:wikidata":"Q3302441","brand:wikipedia":"en:Maxi (Canadian supermarket)",name:"Maxi",shop:"supermarket"}},"shop/supermarket|Maxi~(Serbia)":{countryCodes:["rs"],nomatch:["shop/supermarket|Maxi~(Canada)"],tags:{brand:"Maxi","brand:wikidata":"Q6795490","brand:wikipedia":"en:Maxi (Serbian supermarket)",name:"Maxi",shop:"supermarket"}},"shop/supermarket|Mega Image":{countryCodes:["ro"],tags:{brand:"Mega Image","brand:wikidata":"Q6808085","brand:wikipedia":"en:Mega Image",name:"Mega Image",shop:"supermarket"}},"shop/supermarket|Mego":{countryCodes:["lv"],tags:{brand:"Mego","brand:wikidata":"Q16363314","brand:wikipedia":"lv:Mego",name:"Mego",shop:"supermarket"}},"shop/supermarket|Meijer":{countryCodes:["us"],tags:{brand:"Meijer","brand:wikidata":"Q1917753","brand:wikipedia":"en:Meijer",name:"Meijer",shop:"supermarket"}},"shop/supermarket|Meny":{countryCodes:["dk","no"],tags:{brand:"Meny","brand:wikidata":"Q10581720","brand:wikipedia":"en:Meny",name:"Meny",shop:"supermarket"}},"shop/supermarket|Mercadona":{tags:{brand:"Mercadona","brand:wikidata":"Q377705","brand:wikipedia":"en:Mercadona",name:"Mercadona",shop:"supermarket"}},"shop/supermarket|Mercator":{countryCodes:["ba","hz","me","rs","si"],tags:{brand:"Mercator","brand:wikidata":"Q738412","brand:wikipedia":"en:Mercator (retail)",name:"Mercator",shop:"supermarket"}},"shop/supermarket|Merkur":{countryCodes:["at"],tags:{brand:"Merkur","brand:wikidata":"Q1921857","brand:wikipedia":"de:Merkur (Österreich)",name:"Merkur",shop:"supermarket"}},"shop/supermarket|Metro~(Canada)":{countryCodes:["ca"],nomatch:["shop/wholesale|Metro"],tags:{brand:"Metro","brand:wikidata":"Q1145669","brand:wikipedia":"en:Metro Inc.",name:"Metro",shop:"supermarket"}},"shop/supermarket|Metro~(Peru)":{countryCodes:["pe"],nomatch:["shop/wholesale|Metro"],tags:{brand:"Metro","brand:wikidata":"Q16640217","brand:wikipedia":"en:Tiendas Metro",name:"Metro",shop:"supermarket"}},"shop/supermarket|Migros":{tags:{brand:"Migros","brand:wikidata":"Q680727","brand:wikipedia":"en:Migros",name:"Migros",shop:"supermarket"}},"shop/supermarket|Mila":{countryCodes:["pl"],tags:{brand:"Mila","brand:wikidata":"Q48844636","brand:wikipedia":"pl:Mila (sieć sklepów)",name:"Mila",shop:"supermarket"}},"shop/supermarket|Minipreço":{tags:{brand:"Minipreço","brand:wikidata":"Q3042224","brand:wikipedia":"en:Minipreço",name:"Minipreço",shop:"supermarket"}},"shop/supermarket|Mix Markt":{countryCodes:["de"],tags:{brand:"Mix Markt","brand:wikidata":"Q327854","brand:wikipedia":"de:Mix Markt",name:"Mix Markt",shop:"supermarket"}},"shop/supermarket|Monoprix":{tags:{brand:"Monoprix","brand:wikidata":"Q3321241","brand:wikipedia":"en:Monoprix",name:"Monoprix",shop:"supermarket"}},"shop/supermarket|More":{countryCodes:["in"],tags:{brand:"More","brand:wikidata":"Q6910891","brand:wikipedia":"en:More (store)",name:"More",shop:"supermarket"}},"shop/supermarket|Morrisons":{countryCodes:["gb"],nomatch:["amenity/fuel|Morrisons"],tags:{brand:"Morrisons","brand:wikidata":"Q922344","brand:wikipedia":"en:Morrisons",name:"Morrisons",shop:"supermarket"}},"shop/supermarket|NP":{matchNames:["np-markt"],nomatch:["amenity/fuel|NP"],tags:{brand:"NP",name:"NP",shop:"supermarket"}},"shop/supermarket|Nah & Frisch":{countryCodes:["at","de"],matchNames:["nah und frisch"],tags:{brand:"Nah & Frisch","brand:wikidata":"Q1963643","brand:wikipedia":"de:Nah & Frisch",name:"Nah & Frisch",shop:"supermarket"}},"shop/supermarket|Nahkauf":{countryCodes:["de"],tags:{brand:"Nahkauf","brand:wikidata":"Q57515238",name:"Nahkauf",shop:"supermarket"}},"shop/supermarket|Natural Grocers":{countryCodes:["us"],tags:{brand:"Natural Grocers",name:"Natural Grocers",shop:"supermarket"}},"shop/supermarket|Naturalia":{countryCodes:["fr"],tags:{brand:"Naturalia","brand:wikidata":"Q3337081","brand:wikipedia":"fr:Naturalia",name:"Naturalia",shop:"supermarket"}},"shop/supermarket|Netto":{tags:{brand:"Netto","brand:wikidata":"Q552652","brand:wikipedia":"en:Netto (store)",name:"Netto",shop:"supermarket"}},"shop/supermarket|Netto Marken-Discount":{countryCodes:["de"],tags:{brand:"Netto Marken-Discount","brand:wikidata":"Q879858","brand:wikipedia":"en:Netto Marken-Discount",name:"Netto Marken-Discount",shop:"supermarket"}},"shop/supermarket|New World":{countryCodes:["nz"],tags:{brand:"New World","brand:wikidata":"Q7012488","brand:wikipedia":"en:New World (supermarket)",name:"New World",shop:"supermarket"}},"shop/supermarket|No Frills":{countryCodes:["ca"],tags:{brand:"No Frills","brand:wikidata":"Q3342407","brand:wikipedia":"en:No Frills (grocery store)",name:"No Frills",shop:"supermarket"}},"shop/supermarket|Norfa XL":{countryCodes:["lt"],tags:{brand:"Norfa XL","brand:wikidata":"Q1998983","brand:wikipedia":"lt:Norfa",name:"Norfa XL",shop:"supermarket"}},"shop/supermarket|Norma":{countryCodes:["at","cz","de","fr"],tags:{brand:"Norma","brand:wikidata":"Q450180","brand:wikipedia":"de:Norma (Handelskette)",name:"Norma",shop:"supermarket"}},"shop/supermarket|Northern Store":{countryCodes:["ca"],tags:{brand:"Northern Store","brand:wikidata":"Q7754361","brand:wikipedia":"en:The North West Company",name:"Northern Store",shop:"supermarket"}},"shop/supermarket|Okay":{countryCodes:["be"],tags:{brand:"Okay","brand:wikidata":"Q2159701","brand:wikipedia":"fr:OKay",name:"Okay",shop:"supermarket"}},"shop/supermarket|Olímpica":{countryCodes:["co"],tags:{brand:"Olímpica","brand:wikidata":"Q24749847","brand:wikipedia":"es:Grupo Empresarial Olímpica",name:"Olímpica",shop:"supermarket"}},"shop/supermarket|PLUS":{countryCodes:["nl"],nomatch:["shop/mobile_phone|Plus"],tags:{brand:"PLUS","brand:wikidata":"Q1978981","brand:wikipedia":"nl:PLUS (Nederlandse supermarkt)",name:"PLUS",shop:"supermarket"}},"shop/supermarket|POLOmarket":{countryCodes:["pl"],tags:{brand:"POLOmarket","brand:wikidata":"Q11821937","brand:wikipedia":"pl:Polomarket",name:"POLOmarket",shop:"supermarket"}},"shop/supermarket|Palí":{countryCodes:["cr","ni"],tags:{brand:"Palí","brand:wikidata":"Q1064887","brand:wikipedia":"es:Walmart de México y Centroamérica",name:"Palí",shop:"supermarket"}},"shop/supermarket|Pam":{countryCodes:["ch","it"],tags:{brand:"Pam","brand:wikidata":"Q3777398","brand:wikipedia":"it:Gruppo PAM",name:"Pam",shop:"supermarket"}},"shop/supermarket|Patel Brothers":{countryCodes:["us"],tags:{brand:"Patel Brothers","brand:wikidata":"Q55641396","brand:wikipedia":"en:Patel Brothers",cuisine:"indian",name:"Patel Brothers",shop:"supermarket"}},"shop/supermarket|Pavilions":{countryCodes:["us"],tags:{brand:"Pavilions","brand:wikidata":"Q7155886","brand:wikipedia":"en:Pavilions (supermarket)",name:"Pavilions",shop:"supermarket"}},"shop/supermarket|Penny":{countryCodes:["at","cz","de","hu","it","ro"],matchNames:["penny market","penny markt"],tags:{brand:"Penny","brand:wikidata":"Q284688","brand:wikipedia":"en:Penny (supermarket)",name:"Penny",shop:"supermarket"}},"shop/supermarket|Pick 'n Save":{countryCodes:["us","za"],tags:{brand:"Pick 'n Save","brand:wikidata":"Q7371288","brand:wikipedia":"en:Roundy's",name:"Pick 'n Save",shop:"supermarket"}},"shop/supermarket|Pick n Pay":{tags:{brand:"Pick n Pay","brand:wikidata":"Q7190735","brand:wikipedia":"en:Pick n Pay Stores",name:"Pick n Pay",shop:"supermarket"}},"shop/supermarket|Piggly Wiggly":{countryCodes:["gb","us"],tags:{brand:"Piggly Wiggly","brand:wikidata":"Q3388303","brand:wikipedia":"en:Piggly Wiggly",name:"Piggly Wiggly",shop:"supermarket"}},"shop/supermarket|Pingo Doce":{countryCodes:["pt"],tags:{brand:"Pingo Doce","brand:wikidata":"Q1575057","brand:wikipedia":"en:Pingo Doce",name:"Pingo Doce",shop:"supermarket"}},"shop/supermarket|Piotr i Paweł":{countryCodes:["pl"],tags:{brand:"Piotr i Paweł","brand:wikidata":"Q2096356","brand:wikipedia":"pl:Piotr i Paweł",name:"Piotr i Paweł",shop:"supermarket"}},"shop/supermarket|Plaza Vea":{tags:{brand:"Plaza Vea","brand:wikidata":"Q7203672","brand:wikipedia":"en:Plaza Vea",name:"Plaza Vea",shop:"supermarket"}},"shop/supermarket|Plodine":{countryCodes:["hr"],tags:{brand:"Plodine","brand:wikidata":"Q58040098",name:"Plodine",shop:"supermarket"}},"shop/supermarket|Poiesz":{countryCodes:["nl"],tags:{brand:"Poiesz","brand:wikidata":"Q2521700","brand:wikipedia":"nl:Poiesz Supermarkten",name:"Poiesz",shop:"supermarket"}},"shop/supermarket|Price Chopper~(Kansas City)":{countryCodes:["us"],nomatch:["shop/supermarket|Price Chopper~(New York)"],tags:{brand:"Price Chopper","brand:wikidata":"Q7242572","brand:wikipedia":"en:Price Chopper (supermarket)",name:"Price Chopper",shop:"supermarket"}},"shop/supermarket|Price Chopper~(New York)":{countryCodes:["us"],nomatch:["shop/supermarket|Price Chopper~(Kansas City)"],tags:{brand:"Price Chopper","brand:wikidata":"Q7242574","brand:wikipedia":"en:Price Chopper Supermarkets",name:"Price Chopper",shop:"supermarket"}},"shop/supermarket|Prisma":{countryCodes:["ee","fi","ru"],tags:{brand:"Prisma","brand:wikidata":"Q12047031","brand:wikipedia":"fi:Prisma (kauppaketju)",name:"Prisma",shop:"supermarket"}},"shop/supermarket|Prix":{countryCodes:["it"],matchNames:["prix quality"],tags:{brand:"Prix","brand:wikidata":"Q61994819",name:"Prix",shop:"supermarket"}},"shop/supermarket|Profi":{countryCodes:["be","hu","ro"],tags:{brand:"Profi","brand:wikidata":"Q956664","brand:wikipedia":"en:Profi",name:"Profi",shop:"supermarket"}},"shop/supermarket|Profi City":{countryCodes:["ro"],tags:{brand:"Profi City",name:"Profi City",shop:"supermarket"}},"shop/supermarket|Provigo":{countryCodes:["ca"],tags:{brand:"Provigo","brand:wikidata":"Q3408306","brand:wikipedia":"en:Provigo",name:"Provigo",shop:"supermarket"}},"shop/supermarket|Proxy Delhaize":{countryCodes:["be","lu"],tags:{brand:"Proxy Delhaize","brand:wikidata":"Q14903417","brand:wikipedia":"en:Delhaize Group",name:"Proxy Delhaize",shop:"supermarket"}},"shop/supermarket|Publix":{countryCodes:["br","us"],tags:{brand:"Publix","brand:wikidata":"Q672170","brand:wikipedia":"en:Publix",name:"Publix",shop:"supermarket"}},"shop/supermarket|Pueblo":{countryCodes:["us"],tags:{brand:"Pueblo","brand:wikidata":"Q7258464","brand:wikipedia":"en:Pueblo Supermarkets",name:"Pueblo",official_name:"Supermercados Pueblo","official_name:en":"Pueblo Supermarkets","official_name:es":"Supermercados Pueblo",shop:"supermarket"}},"shop/supermarket|Punto Simply":{countryCodes:["it"],tags:{brand:"Punto Simply","brand:wikidata":"Q3484790","brand:wikipedia":"it:Simply Market",name:"Punto Simply",shop:"supermarket"}},"shop/supermarket|Puregold":{countryCodes:["ph"],tags:{brand:"Puregold","brand:wikidata":"Q7261170","brand:wikipedia":"en:Puregold",name:"Puregold",shop:"supermarket"}},"shop/supermarket|Pão de Açúcar":{countryCodes:["br","pt"],tags:{brand:"Pão de Açúcar","brand:wikidata":"Q3411543","brand:wikipedia":"pt:Pão de Açúcar (supermercado brasileiro)",name:"Pão de Açúcar",shop:"supermarket"}},"shop/supermarket|QFC":{countryCodes:["us"],tags:{brand:"QFC","brand:wikidata":"Q7265425","brand:wikipedia":"en:QFC",name:"QFC",shop:"supermarket"}},"shop/supermarket|Raley's":{countryCodes:["us"],tags:{brand:"Raley's","brand:wikidata":"Q7286970","brand:wikipedia":"en:Raley's Supermarkets",name:"Raley's",shop:"supermarket"}},"shop/supermarket|Ralphs":{countryCodes:["us"],tags:{brand:"Ralphs","brand:wikidata":"Q3929820","brand:wikipedia":"en:Ralphs",name:"Ralphs",shop:"supermarket"}},"shop/supermarket|Real":{tags:{brand:"Real","brand:wikidata":"Q698473","brand:wikipedia":"en:Real (hypermarket)",name:"Real",shop:"supermarket"}},"shop/supermarket|Real Canadian Superstore":{countryCodes:["ca"],tags:{brand:"Real Canadian Superstore","brand:wikidata":"Q7300856","brand:wikipedia":"en:Real Canadian Superstore",name:"Real Canadian Superstore",shop:"supermarket"}},"shop/supermarket|Redner's":{countryCodes:["us"],matchNames:["redners warehouse market"],tags:{brand:"Redner's","brand:wikidata":"Q7306166","brand:wikipedia":"en:Redner's Markets",name:"Redner's",shop:"supermarket"}},"shop/supermarket|Reliance Fresh":{countryCodes:["in"],tags:{brand:"Reliance Fresh","brand:wikidata":"Q7311014","brand:wikipedia":"en:Reliance Fresh",name:"Reliance Fresh",shop:"supermarket"}},"shop/supermarket|Rema 1000":{countryCodes:["dk","no"],tags:{brand:"Rema 1000","brand:wikidata":"Q28459","brand:wikipedia":"en:REMA 1000",name:"Rema 1000",shop:"supermarket"}},"shop/supermarket|Rewe":{countryCodes:["de"],nomatch:["shop/supermarket|Rewe City"],tags:{brand:"Rewe","brand:wikidata":"Q16968817","brand:wikipedia":"en:REWE",name:"Rewe",shop:"supermarket"}},"shop/supermarket|Rewe City":{countryCodes:["de"],nomatch:["shop/supermarket|Rewe"],tags:{brand:"Rewe City","brand:wikidata":"Q16968817","brand:wikipedia":"en:REWE",name:"Rewe City",shop:"supermarket"}},"shop/supermarket|Rimi":{countryCodes:["ee","lt","lv"],tags:{brand:"Rimi","brand:wikidata":"Q7334456","brand:wikipedia":"en:Rimi (Norway)",name:"Rimi",shop:"supermarket"}},"shop/supermarket|S-market":{countryCodes:["fi"],tags:{brand:"S-market","brand:wikidata":"Q11891613","brand:wikipedia":"fi:S-market",name:"S-market",shop:"supermarket"}},"shop/supermarket|Safeway":{nomatch:["amenity/fuel|Safeway"],tags:{brand:"Safeway","brand:wikidata":"Q1508234","brand:wikipedia":"en:Safeway Inc.",name:"Safeway",shop:"supermarket"}},"shop/supermarket|Sainsbury's":{countryCodes:["gb"],nomatch:["amenity/fuel|Sainsbury's"],tags:{brand:"Sainsbury's","brand:wikidata":"Q152096","brand:wikipedia":"en:Sainsbury's",name:"Sainsbury's",shop:"supermarket"}},"shop/supermarket|Santa Isabel":{countryCodes:["cl"],tags:{brand:"Santa Isabel","brand:wikidata":"Q7419620","brand:wikipedia":"es:Santa Isabel (supermercado)",name:"Santa Isabel",shop:"supermarket"}},"shop/supermarket|Save-A-Lot":{countryCodes:["us"],tags:{brand:"Save-A-Lot","brand:wikidata":"Q7427972","brand:wikipedia":"en:Save-A-Lot",name:"Save-A-Lot",shop:"supermarket"}},"shop/supermarket|Save-On-Foods":{countryCodes:["ca"],tags:{brand:"Save-On-Foods","brand:wikidata":"Q7427974","brand:wikipedia":"en:Save-On-Foods",name:"Save-On-Foods",shop:"supermarket"}},"shop/supermarket|Schnucks":{countryCodes:["us"],tags:{brand:"Schnucks","brand:wikidata":"Q7431920","brand:wikipedia":"en:Schnucks",name:"Schnucks",shop:"supermarket"}},"shop/supermarket|Shaw's":{countryCodes:["us"],tags:{brand:"Shaw's","brand:wikidata":"Q578387","brand:wikipedia":"en:Shaw's and Star Market",name:"Shaw's",shop:"supermarket"}},"shop/supermarket|ShopRite~(USA)":{countryCodes:["us"],nomatch:["shop/supermarket|Shoprite~(Africa)","shop/supermarket|Shoprite~(Isle of Man)"],tags:{brand:"ShopRite","brand:wikidata":"Q7501097","brand:wikipedia":"en:ShopRite (United States)",name:"ShopRite",shop:"supermarket"}},"shop/supermarket|Shoprite~(Africa)":{countryCodes:["ao","bw","cd","gh","ls","mg","mu","mw","mz","na","ng","sz","ug","za","zm"],nomatch:["shop/supermarket|ShopRite~(USA)","shop/supermarket|Shoprite~(Isle of Man)"],tags:{brand:"Shoprite","brand:wikidata":"Q1857639","brand:wikipedia":"en:Shoprite (South Africa)",name:"Shoprite",shop:"supermarket"}},"shop/supermarket|Shoprite~(Isle of Man)":{countryCodes:["im"],nomatch:["shop/supermarket|ShopRite~(USA)","shop/supermarket|Shoprite~(Africa)"],tags:{brand:"Shoprite","brand:wikidata":"Q7501242","brand:wikipedia":"en:Shoprite (Isle of Man)",name:"Shoprite",shop:"supermarket"}},"shop/supermarket|Sigma":{countryCodes:["it"],tags:{brand:"Sigma","brand:wikidata":"Q3977979","brand:wikipedia":"it:Supermercati Sigma",name:"Sigma",shop:"supermarket"}},"shop/supermarket|Simply Market":{matchNames:["simply"],tags:{brand:"Simply Market","brand:wikidata":"Q3484790","brand:wikipedia":"en:Simply Market",name:"Simply Market",shop:"supermarket"}},"shop/supermarket|Sky":{countryCodes:["de","lv","nl"],tags:{brand:"Sky","brand:wikidata":"Q1129779","brand:wikipedia":"de:Coop eG",name:"Sky",shop:"supermarket"}},"shop/supermarket|Smart & Final":{countryCodes:["mx","us"],tags:{brand:"Smart & Final",name:"Smart & Final",shop:"supermarket"}},"shop/supermarket|Smith's":{countryCodes:["ca","us"],nomatch:["amenity/fuel|Smith's"],tags:{brand:"Smith's","brand:wikidata":"Q7544856","brand:wikipedia":"en:Smith's Food and Drug",name:"Smith's",shop:"supermarket"}},"shop/supermarket|Sobeys":{countryCodes:["ca"],tags:{brand:"Sobeys","brand:wikidata":"Q1143340","brand:wikipedia":"en:Sobeys",name:"Sobeys",shop:"supermarket"}},"shop/supermarket|Soriana":{countryCodes:["mx"],tags:{brand:"Soriana","brand:wikidata":"Q735562","brand:wikipedia":"en:Soriana",name:"Soriana",shop:"supermarket"}},"shop/supermarket|Spar":{nomatch:["shop/convenience|Spar","shop/convenience|Spar Express"],tags:{brand:"Spar","brand:wikidata":"Q610492","brand:wikipedia":"en:Spar (retailer)",name:"Spar",shop:"supermarket"}},"shop/supermarket|Społem":{nomatch:["shop/convenience|Społem"],tags:{brand:"Społem","brand:wikidata":"Q11826043","brand:wikipedia":"pl:Powszechna Spółdzielnia Spożywców „Społem”",name:"Społem",shop:"supermarket"}},"shop/supermarket|Sprouts Farmers Market":{countryCodes:["us"],tags:{brand:"Sprouts Farmers Market","brand:wikidata":"Q7581369","brand:wikipedia":"en:Sprouts Farmers Market",name:"Sprouts Farmers Market",shop:"supermarket"}},"shop/supermarket|Stater Bros.":{countryCodes:["us"],tags:{brand:"Stater Bros.","brand:wikidata":"Q7604016","brand:wikipedia":"en:Stater Bros.",name:"Stater Bros.",shop:"supermarket"}},"shop/supermarket|Stokrotka":{countryCodes:["pl"],tags:{brand:"Stokrotka","brand:wikidata":"Q9345945","brand:wikipedia":"pl:Stokrotka (sieć handlowa)",name:"Stokrotka",shop:"supermarket"}},"shop/supermarket|Stop & Shop":{countryCodes:["us"],tags:{brand:"Stop & Shop","brand:wikidata":"Q3658429","brand:wikipedia":"en:Stop & Shop",name:"Stop & Shop",shop:"supermarket"}},"shop/supermarket|Studenac":{tags:{brand:"Studenac",name:"Studenac",shop:"supermarket"}},"shop/supermarket|Suma":{countryCodes:["es"],tags:{brand:"Suma","brand:wikidata":"Q58012362",name:"Suma",shop:"supermarket"}},"shop/supermarket|Super 1 Foods":{countryCodes:["us"],tags:{brand:"Super 1 Foods",name:"Super 1 Foods",shop:"supermarket"}},"shop/supermarket|Super C":{tags:{brand:"Super C","brand:wikidata":"Q3504127","brand:wikipedia":"en:Super C (supermarket)",name:"Super C",shop:"supermarket"}},"shop/supermarket|Super H Mart":{countryCodes:["us"],tags:{brand:"H Mart","brand:wikidata":"Q5636306","brand:wikipedia":"en:H Mart",cuisine:"asian",name:"Super H Mart",shop:"supermarket"}},"shop/supermarket|Super One Foods":{countryCodes:["us"],tags:{brand:"Super One Foods","brand:wikidata":"Q17108733","brand:wikipedia":"en:Super One Foods",name:"Super One Foods",shop:"supermarket"}},"shop/supermarket|Super U":{countryCodes:["fr"],nomatch:["amenity/fuel|Super U","shop/convenience|Utile","shop/supermarket|Hyper U","shop/supermarket|U Express"],tags:{brand:"Super U","brand:wikidata":"Q2529029","brand:wikipedia":"en:Système U",name:"Super U",shop:"supermarket"}},"shop/supermarket|SuperBrugsen":{countryCodes:["dk"],tags:{brand:"SuperBrugsen","brand:wikidata":"Q12337746","brand:wikipedia":"en:SuperBrugsen",name:"SuperBrugsen",shop:"supermarket"}},"shop/supermarket|SuperValu":{tags:{brand:"SuperValu","brand:wikidata":"Q7642081","brand:wikipedia":"en:SuperValu (Ireland)",name:"SuperValu",shop:"supermarket"}},"shop/supermarket|Superama":{countryCodes:["mx"],tags:{brand:"Superama","brand:wikidata":"Q6135762","brand:wikipedia":"es:Superama",name:"Superama",shop:"supermarket"}},"shop/supermarket|Supercor":{countryCodes:["es","pt"],tags:{brand:"Supercor","brand:wikidata":"Q6135841","brand:wikipedia":"es:Supercor",name:"Supercor",shop:"supermarket"}},"shop/supermarket|Supersol":{countryCodes:["ar","es","ma","uy"],tags:{brand:"Supersol","brand:wikidata":"Q62073427",name:"Supersol",shop:"supermarket"}},"shop/supermarket|Superspar":{countryCodes:["es","za"],tags:{brand:"Superspar","brand:wikidata":"Q610492","brand:wikipedia":"en:Spar (retailer)",name:"Superspar",shop:"supermarket"}},"shop/supermarket|T&T Supermarket":{countryCodes:["ca"],tags:{brand:"T&T Supermarket","brand:wikidata":"Q837893","brand:wikipedia":"en:T & T Supermarket",name:"T&T Supermarket",shop:"supermarket"}},"shop/supermarket|Tegut":{countryCodes:["de"],tags:{brand:"Tegut","brand:wikidata":"Q1547993","brand:wikipedia":"en:Tegut",name:"Tegut",shop:"supermarket"}},"shop/supermarket|Tesco":{nomatch:["shop/convenience|Tesco Express","shop/supermarket|Tesco Express"],tags:{brand:"Tesco","brand:wikidata":"Q487494","brand:wikipedia":"en:Tesco",name:"Tesco",shop:"supermarket"}},"shop/supermarket|Tesco Express":{tags:{brand:"Tesco Express","brand:wikidata":"Q487494","brand:wikipedia":"en:Tesco",name:"Tesco Express",shop:"supermarket"}},"shop/supermarket|Tesco Extra":{tags:{brand:"Tesco Extra","brand:wikidata":"Q25172225","brand:wikipedia":"en:Tesco Extra",name:"Tesco Extra",shop:"supermarket"}},"shop/supermarket|Tesco Lotus":{countryCodes:["th"],nomatch:["shop/convenience|Tesco Lotus Express"],tags:{brand:"Tesco Lotus",name:"Tesco Lotus",shop:"supermarket"}},"shop/supermarket|Tesco Metro":{countryCodes:["gb"],tags:{brand:"Tesco Metro","brand:wikidata":"Q57551648",name:"Tesco Metro",shop:"supermarket"}},"shop/supermarket|The Co-operative Food~(UK)":{countryCodes:["gb"],matchNames:["coop","coop food","cooperative food","the cooperative"],nomatch:["amenity/fuel|Co-op~(Canada)","shop/convenience|Co-op~(Canada)","shop/convenience|Coop~(Schweiz)","shop/convenience|The Co-operative Food~(UK)","shop/supermarket|Co-op~(Canada)","shop/supermarket|Coop~(Schweiz)"],tags:{brand:"The Co-operative Food","brand:wikidata":"Q3277439","brand:wikipedia":"en:Co-op Food",name:"The Co-operative Food",shop:"supermarket"}},"shop/supermarket|The Fresh Market":{countryCodes:["us"],matchNames:["fresh market"],tags:{brand:"The Fresh Market","brand:wikidata":"Q7735265","brand:wikipedia":"en:The Fresh Market",name:"The Fresh Market",shop:"supermarket"}},"shop/supermarket|Tigros":{tags:{brand:"Tigros",name:"Tigros",shop:"supermarket"}},"shop/supermarket|Todis":{countryCodes:["it"],tags:{brand:"Todis","brand:wikidata":"Q3992174","brand:wikipedia":"it:Todis",name:"Todis",shop:"supermarket"}},"shop/supermarket|Tommy":{countryCodes:["hr"],tags:{brand:"Tommy","brand:wikidata":"Q12643718","brand:wikipedia":"hr:Tommy",name:"Tommy",shop:"supermarket"}},"shop/supermarket|Top Market":{countryCodes:["pl"],tags:{brand:"Top Market","brand:wikidata":"Q9360044","brand:wikipedia":"pl:Top Market",name:"Top Market",shop:"supermarket"}},"shop/supermarket|Tops":{countryCodes:["us"],tags:{brand:"Tops","brand:wikidata":"Q7825137","brand:wikipedia":"en:Tops Friendly Markets",name:"Tops",official_name:"Tops Friendly Markets",shop:"supermarket"}},"shop/supermarket|Tottus":{countryCodes:["cl","pe"],tags:{brand:"Tottus","brand:wikidata":"Q7828510","brand:wikipedia":"en:Tottus",name:"Tottus",shop:"supermarket"}},"shop/supermarket|Trader Joe's":{countryCodes:["us"],tags:{brand:"Trader Joe's","brand:wikidata":"Q688825","brand:wikipedia":"en:Trader Joe's",name:"Trader Joe's",shop:"supermarket"}},"shop/supermarket|Treff 3000":{countryCodes:["de"],tags:{brand:"Treff 3000","brand:wikidata":"Q701755","brand:wikipedia":"de:Edeka",name:"Treff 3000",shop:"supermarket"}},"shop/supermarket|Tuodì":{countryCodes:["it"],tags:{brand:"Tuodì","brand:wikidata":"Q3706995","brand:wikipedia":"it:Tuodì",name:"Tuodì",shop:"supermarket"}},"shop/supermarket|U Express":{countryCodes:["fr"],nomatch:["amenity/fuel|Super U","shop/convenience|Utile","shop/supermarket|Hyper U","shop/supermarket|Super U"],tags:{brand:"U Express","brand:wikidata":"Q2529029","brand:wikipedia":"en:Système U",name:"U Express",shop:"supermarket"}},"shop/supermarket|Unimarc":{countryCodes:["cl"],tags:{brand:"Unimarc","brand:wikidata":"Q6156244","brand:wikipedia":"es:Unimarc",name:"Unimarc",shop:"supermarket"}},"shop/supermarket|Unimarkt":{countryCodes:["at"],tags:{brand:"Unimarkt","brand:wikidata":"Q1169599","brand:wikipedia":"de:Unimarkt",name:"Unimarkt",shop:"supermarket"}},"shop/supermarket|Vallarta":{countryCodes:["us"],tags:{brand:"Vallarta","brand:wikidata":"Q7911833","brand:wikipedia":"en:Vallarta Supermarkets",cuisine:"latin_american",name:"Vallarta","name:es":"Vallarta",official_name:"Vallarta Supermarkets",shop:"supermarket"}},"shop/supermarket|Valu-mart":{countryCodes:["ca"],tags:{brand:"Valu-mart","brand:wikidata":"Q7912687","brand:wikipedia":"en:Valu-mart",name:"Valu-mart",shop:"supermarket"}},"shop/supermarket|Vea":{countryCodes:["ar"],tags:{brand:"Vea","brand:wikidata":"Q5858167","brand:wikipedia":"es:Vea (supermercado)",name:"Vea",shop:"supermarket"}},"shop/supermarket|VinMart":{countryCodes:["vn"],matchTags:["shop/department_store"],nomatch:["shop/convenience|VinMart+"],tags:{brand:"VinMart","brand:wikidata":"Q60245505","brand:wikipedia":"vi:VinMart",name:"VinMart",shop:"supermarket"}},"shop/supermarket|Volg":{countryCodes:["ch","li"],tags:{brand:"Volg","brand:wikidata":"Q2530746","brand:wikipedia":"de:Volg",name:"Volg",shop:"supermarket"}},"shop/supermarket|Vomar":{countryCodes:["nl"],tags:{brand:"Vomar","brand:wikidata":"Q3202837","brand:wikipedia":"nl:Vomar",name:"Vomar",shop:"supermarket"}},"shop/supermarket|Vons":{countryCodes:["us"],tags:{brand:"Vons","brand:wikidata":"Q7941609","brand:wikipedia":"en:Vons",name:"Vons",shop:"supermarket"}},"shop/supermarket|Waitrose":{countryCodes:["gb","je"],tags:{brand:"Waitrose","brand:wikidata":"Q771734","brand:wikipedia":"en:Waitrose & Partners",name:"Waitrose",shop:"supermarket"}},"shop/supermarket|Walmart Neighborhood Market":{countryCodes:["ca","mx","us"],tags:{brand:"Walmart","brand:wikidata":"Q483551","brand:wikipedia":"en:Walmart",name:"Walmart Neighborhood Market",shop:"supermarket"}},"shop/supermarket|Walmart Supercenter":{matchNames:["walmart supercentre"],matchTags:["shop/department_store"],tags:{brand:"Walmart","brand:wikidata":"Q483551","brand:wikipedia":"en:Walmart",name:"Walmart Supercenter",shop:"supermarket"}},"shop/supermarket|Wasgau":{countryCodes:["de"],tags:{brand:"Wasgau","brand:wikidata":"Q2536857","brand:wikipedia":"de:Wasgau (Unternehmen)",name:"Wasgau",shop:"supermarket"}},"shop/supermarket|Wegmans":{countryCodes:["us"],tags:{brand:"Wegmans","brand:wikidata":"Q11288478","brand:wikipedia":"en:Wegmans",name:"Wegmans",shop:"supermarket"}},"shop/supermarket|Weis":{countryCodes:["us"],tags:{brand:"Weis","brand:wikidata":"Q7980370","brand:wikipedia":"en:Weis Markets",name:"Weis",shop:"supermarket"}},"shop/supermarket|Whole Foods Market":{countryCodes:["ca","gb","us"],matchNames:["whole foods"],tags:{brand:"Whole Foods Market","brand:wikidata":"Q1809448","brand:wikipedia":"en:Whole Foods Market",name:"Whole Foods Market",shop:"supermarket"}},"shop/supermarket|Willys":{countryCodes:["se"],tags:{brand:"Willys","brand:wikidata":"Q10720214","brand:wikipedia":"sv:Willys",name:"Willys",shop:"supermarket"}},"shop/supermarket|WinCo Foods":{countryCodes:["us"],tags:{brand:"WinCo Foods","brand:wikidata":"Q8023592","brand:wikipedia":"en:WinCo Foods",name:"WinCo Foods",shop:"supermarket"}},"shop/supermarket|Winn-Dixie":{countryCodes:["us"],tags:{brand:"Winn-Dixie","brand:wikidata":"Q1264366","brand:wikipedia":"en:Winn-Dixie",name:"Winn-Dixie",shop:"supermarket"}},"shop/supermarket|Woolworths":{countryCodes:["au"],nomatch:["shop/clothes|Woolworths"],tags:{brand:"Woolworths","brand:wikidata":"Q3249145","brand:wikipedia":"en:Woolworths Supermarkets",name:"Woolworths",shop:"supermarket"}},"shop/supermarket|Your Independent Grocer":{countryCodes:["ca"],matchNames:["independent"],tags:{brand:"Your Independent Grocer","brand:wikidata":"Q8058833","brand:wikipedia":"en:Your Independent Grocer",name:"Your Independent Grocer",shop:"supermarket"}},"shop/supermarket|Zehrs":{countryCodes:["ca"],tags:{brand:"Zehrs","brand:wikidata":"Q8068546","brand:wikipedia":"en:Zehrs Markets",name:"Zehrs",shop:"supermarket"}},"shop/supermarket|basic":{countryCodes:["de"],tags:{brand:"basic","brand:wikidata":"Q809994","brand:wikipedia":"de:Basic AG",name:"basic",organic:"only",shop:"supermarket"}},"shop/supermarket|denn's Biomarkt":{countryCodes:["at","de"],tags:{brand:"denn's Biomarkt","brand:wikidata":"Q48883773","brand:wikipedia":"de:Dennree",name:"denn's Biomarkt",organic:"only",shop:"supermarket"}},"shop/supermarket|fakta":{countryCodes:["dk"],tags:{brand:"fakta","brand:wikidata":"Q3172238","brand:wikipedia":"en:Fakta",name:"fakta",shop:"supermarket"}},"shop/supermarket|Şok":{countryCodes:["tr"],tags:{brand:"Şok","brand:wikidata":"Q19613992","brand:wikipedia":"tr:Şok (market)",name:"Şok",shop:"supermarket"}},"shop/supermarket|ΑΒ Βασιλόπουλος":{countryCodes:["gr"],tags:{brand:"ΑΒ Βασιλόπουλος","brand:el":"ΑΒ Βασιλόπουλος","brand:en":"AB Vassilopoulos","brand:wikidata":"Q4721807","brand:wikipedia":"el:Άλφα Βήτα Βασιλόπουλος",name:"ΑΒ Βασιλόπουλος","name:el":"ΑΒ Βασιλόπουλος","name:en":"AB Vassilopoulos",shop:"supermarket"}},"shop/supermarket|Γαλαξίας":{countryCodes:["gr"],tags:{brand:"Γαλαξίας","brand:el":"Γαλαξίας","brand:en":"Galaxias","brand:wikidata":"Q5518063","brand:wikipedia":"el:Γαλαξίας (σούπερ μάρκετ)",name:"Γαλαξίας","name:el":"Γαλαξίας","name:en":"Galaxias",shop:"supermarket"}},"shop/supermarket|Μασούτης":{countryCodes:["gr"],tags:{brand:"Μασούτης","brand:el":"Μασούτης","brand:en":"Masoutis","brand:wikidata":"Q6783887","brand:wikipedia":"en:Masoutis",name:"Μασούτης","name:el":"Μασούτης","name:en":"Masoutis",shop:"supermarket"}},"shop/supermarket|Σκλαβενίτης":{countryCodes:["gr"],tags:{brand:"Σκλαβενίτης","brand:el":"Σκλαβενίτης","brand:en":"Sklavenitis","brand:wikidata":"Q7536037","brand:wikipedia":"el:Σκλαβενίτης",name:"Σκλαβενίτης","name:el":"Σκλαβενίτης","name:en":"Sklavenitis",shop:"supermarket"}},"shop/supermarket|АТБ":{tags:{brand:"АТБ",name:"АТБ",shop:"supermarket"}},"shop/supermarket|Абсолют~(Russia)":{countryCodes:["ru"],tags:{brand:"Абсолют","brand:wikidata":"Q62389597",name:"Абсолют",shop:"supermarket"}},"shop/supermarket|Абсолют~(Ukraine)":{countryCodes:["ua"],tags:{brand:"Абсолют","brand:wikidata":"Q62389546",name:"Абсолют",shop:"supermarket"}},"shop/supermarket|Авоська":{tags:{brand:"Авоська",name:"Авоська",shop:"supermarket"}},"shop/supermarket|Азбука Вкуса":{countryCodes:["ru"],tags:{brand:"Азбука Вкуса","brand:en":"Azbuka Vkusa","brand:wikidata":"Q4058209","brand:wikipedia":"en:Azbuka Vkusa",name:"Азбука Вкуса","name:en":"Azbuka Vkusa",shop:"supermarket"}},"shop/supermarket|Атак":{countryCodes:["ru"],tags:{brand:"Атак","brand:en":"Atac","brand:wikidata":"Q2868738","brand:wikipedia":"ru:Atac",name:"Атак","name:en":"Atac",shop:"supermarket"}},"shop/supermarket|Ашан":{countryCodes:["ru","ua"],tags:{brand:"Ашан","brand:en":"Auchan","brand:wikidata":"Q758603","brand:wikipedia":"ru:Auchan",name:"Ашан","name:en":"Auchan",shop:"supermarket"}},"shop/supermarket|Байрам":{countryCodes:["ru"],tags:{brand:"Байрам",name:"Байрам",shop:"supermarket"}},"shop/supermarket|Брусничка":{countryCodes:["ua"],tags:{brand:"Брусничка","brand:en":"Brusnichka","brand:wikidata":"Q21656645","brand:wikipedia":"uk:Брусничка (торгова мережа)",name:"Брусничка","name:en":"Brusnichka",shop:"supermarket"}},"shop/supermarket|Верный":{tags:{brand:"Верный",name:"Верный",shop:"supermarket"}},"shop/supermarket|Виктория":{countryCodes:["ru"],matchTags:["shop/convenience"],nomatch:["amenity/cafe|Виктория","shop/hairdresser|Виктория"],tags:{brand:"Виктория","brand:wikidata":"Q4111046","brand:wikipedia":"ru:Виктория (сеть магазинов)",name:"Виктория",shop:"supermarket"}},"shop/supermarket|Виталюр":{countryCodes:["by"],tags:{brand:"Виталюр","brand:wikidata":"Q55663075","brand:wikipedia":"ru:Виталюр",name:"Виталюр",shop:"supermarket"}},"shop/supermarket|Вопак":{countryCodes:["ua"],tags:{brand:"Вопак","brand:en":"Vopak","brand:wikidata":"Q30966107","brand:wikipedia":"uk:Вопак",name:"Вопак","name:en":"Vopak",shop:"supermarket"}},"shop/supermarket|Гастроном":{tags:{brand:"Гастроном",name:"Гастроном",shop:"supermarket"}},"shop/supermarket|Гроздь":{nomatch:["shop/convenience|Гроздь"],tags:{brand:"Гроздь","brand:wikidata":"Q21638412","brand:wikipedia":"ru:Гроздь (сеть магазинов)",name:"Гроздь",shop:"supermarket"}},"shop/supermarket|Гулливер":{countryCodes:["ru"],tags:{brand:"Гулливер","brand:wikidata":"Q58003470",name:"Гулливер",shop:"supermarket"}},"shop/supermarket|Десяточка":{countryCodes:["ru"],tags:{brand:"Десяточка","brand:en":"Desyatochka","brand:wikidata":"Q61876182",name:"Десяточка",shop:"supermarket"}},"shop/supermarket|Дикси":{countryCodes:["ru"],matchTags:["shop/convenience"],tags:{brand:"Дикси","brand:en":"Dixy","brand:wikidata":"Q4161561","brand:wikipedia":"ru:Дикси (сеть магазинов)",name:"Дикси",shop:"supermarket"}},"shop/supermarket|Евроопт":{countryCodes:["by"],matchTags:["shop/convenience"],tags:{brand:"Евроопт","brand:en":"Euroopt","brand:ru":"Евроопт","brand:wikidata":"Q2565040","brand:wikipedia":"be:Еўрагандаль",name:"Евроопт","name:en":"Euroopt","name:ru":"Евроопт",shop:"supermarket"}},"shop/supermarket|Евроопт Hyper":{countryCodes:["by"],matchNames:["евроопт Гипер"],tags:{brand:"Евроопт Hyper","brand:wikidata":"Q65455975",name:"Евроопт Hyper",shop:"supermarket"}},"shop/supermarket|Евроопт Market":{tags:{brand:"Евроопт Market",name:"Евроопт Market",shop:"supermarket"}},"shop/supermarket|Евроопт Super":{countryCodes:["by"],matchNames:["евроопт Супер"],tags:{brand:"Евроопт Super","brand:wikidata":"Q65455960",name:"Евроопт Super",shop:"supermarket"}},"shop/supermarket|Караван":{countryCodes:["ru","ua"],tags:{brand:"Караван",name:"Караван",shop:"supermarket"}},"shop/supermarket|Карусель":{countryCodes:["ru"],tags:{brand:"Карусель","brand:en":"Karusel","brand:wikidata":"Q4216307","brand:wikipedia":"ru:Карусель (сеть магазинов)",name:"Карусель","name:en":"Karusel",shop:"supermarket"}},"shop/supermarket|Квартал":{tags:{brand:"Квартал",name:"Квартал",shop:"supermarket"}},"shop/supermarket|Кировский":{countryCodes:["ru"],matchTags:["shop/convenience"],tags:{brand:"Кировский","brand:wikidata":"Q63301903",name:"Кировский",shop:"supermarket"}},"shop/supermarket|Командор":{countryCodes:["ru"],tags:{brand:"Командор","brand:en":"Komandor","brand:wikidata":"Q61876152",name:"Командор",shop:"supermarket"}},"shop/supermarket|Красный Яр":{countryCodes:["ru"],tags:{brand:"Красный Яр","brand:en":"Krasnyj Jar","brand:wikidata":"Q1786753","brand:wikipedia":"ru:Красный Яр",name:"Красный Яр",shop:"supermarket"}},"shop/supermarket|Лента":{countryCodes:["ru"],tags:{brand:"Лента","brand:en":"Lenta","brand:wikidata":"Q4258608","brand:wikipedia":"ru:Лента (сеть магазинов)",name:"Лента","name:en":"Lenta",shop:"supermarket"}},"shop/supermarket|Магазин":{tags:{brand:"Магазин",name:"Магазин",shop:"supermarket"}},"shop/supermarket|Магнит":{matchTags:["shop/department_store"],nomatch:["shop/convenience|Магнит","shop/cosmetics|Магнит Косметик"],tags:{brand:"Магнит","brand:en":"Magnit","brand:wikidata":"Q940518","brand:wikipedia":"ru:Магнит (сеть магазинов)",name:"Магнит","name:en":"Magnit",shop:"supermarket"}},"shop/supermarket|Магнит у дома":{countryCodes:["ru"],tags:{brand:"Магнит у дома",name:"Магнит у дома",shop:"supermarket"}},"shop/supermarket|Магнолия":{countryCodes:["ru"],matchTags:["shop/convenience"],tags:{brand:"Магнолия","brand:wikipedia":"ru:Магнолия (сеть магазинов)",name:"Магнолия",shop:"supermarket"}},"shop/supermarket|Мария-Ра":{countryCodes:["ru"],nomatch:["shop/convenience|Мария-Ра"],tags:{brand:"Мария-Ра","brand:en":"Maria-ra","brand:wikidata":"Q4281631","brand:wikipedia":"ru:Мария-Ра",name:"Мария-Ра","name:en":"Maria-ra",shop:"supermarket"}},"shop/supermarket|Мираторг":{countryCodes:["ru"],tags:{brand:"Мираторг",name:"Мираторг",shop:"supermarket"}},"shop/supermarket|Монетка":{countryCodes:["ru"],tags:{brand:"Монетка","brand:en":"Monetka","brand:wikidata":"Q4301704","brand:wikipedia":"ru:Монетка (сеть магазинов)",name:"Монетка","name:en":"Monetka",shop:"supermarket"}},"shop/supermarket|Народная 7Я семьЯ":{countryCodes:["ru"],matchNames:["семья"],tags:{brand:"Народная 7Я семьЯ","brand:en":"People's 7th Family","brand:wikidata":"Q4032436","brand:wikipedia":"ru:Народная 7Я семья",name:"Народная 7Я семьЯ","name:en":"People's 7th Family",shop:"supermarket"}},"shop/supermarket|Перекрёсток":{countryCodes:["ru"],matchNames:["перекресток"],matchTags:["shop/convenience"],tags:{brand:"Перекрёсток","brand:en":"Perekryostok","brand:wikidata":"Q1684639","brand:wikipedia":"en:Perekrestok (supermarket chain)",name:"Перекрёсток",shop:"supermarket"}},"shop/supermarket|Покупочка":{countryCodes:["ru"],tags:{brand:"Покупочка","brand:wikidata":"Q58003270",name:"Покупочка",shop:"supermarket"}},"shop/supermarket|Полушка":{countryCodes:["ru"],tags:{brand:"Полушка","brand:en":"Polushka","brand:wikidata":"Q4371080","brand:wikipedia":"ru:Полушка (сеть магазинов)",name:"Полушка","name:en":"Polushka",shop:"supermarket"}},"shop/supermarket|Пятёрочка":{countryCodes:["ru"],matchNames:["пятерочка"],matchTags:["shop/convenience"],tags:{brand:"Пятёрочка","brand:en":"Pyaterochka","brand:wikidata":"Q1768969","brand:wikipedia":"ru:Пятёрочка",name:"Пятёрочка","name:en":"Pyaterochka",shop:"supermarket"}},"shop/supermarket|Радеж":{countryCodes:["ru"],tags:{brand:"Радеж","brand:en":"Radezh","brand:wikidata":"Q4387165","brand:wikipedia":"ru:Радеж (торговая сеть)",name:"Радеж","name:en":"Radezh",shop:"supermarket"}},"shop/supermarket|Рублёвский":{countryCodes:["by"],tags:{brand:"Рублёвский",name:"Рублёвский",shop:"supermarket"}},"shop/supermarket|Рукавичка":{countryCodes:["ua"],tags:{brand:"Рукавичка","brand:en":"Rukavychka","brand:wikidata":"Q20092568","brand:wikipedia":"uk:Рукавичка (торгова мережа)",name:"Рукавичка","name:en":"Rukavychka",shop:"supermarket"}},"shop/supermarket|Светофор":{countryCodes:["ru"],tags:{brand:"Светофор","brand:en":"Svetofor","brand:wikidata":"Q61875920",name:"Светофор",shop:"supermarket"}},"shop/supermarket|Семишагофф":{countryCodes:["ru"],tags:{brand:"Семишагофф","brand:wikidata":"Q58003374",name:"Семишагофф",shop:"supermarket"}},"shop/supermarket|Сільпо":{countryCodes:["ua"],tags:{brand:"Сільпо","brand:en":"Silpo","brand:wikidata":"Q4419434","brand:wikipedia":"en:Silpo",name:"Сільпо","name:en":"Silpo",shop:"supermarket"}},"shop/supermarket|Таврия В":{countryCodes:["ua"],tags:{brand:"Таврия В","brand:wikidata":"Q61823146","brand:wikipedia":"uk:Таврія В",name:"Таврия В",shop:"supermarket"}},"shop/supermarket|Фора":{countryCodes:["ua"],tags:{brand:"Фора","brand:en":"Fora","brand:wikidata":"Q12165977","brand:wikipedia":"uk:Фора (мережа магазинів)",name:"Фора","name:en":"Fora",shop:"supermarket"}},"shop/supermarket|Фуршет":{countryCodes:["ua"],tags:{brand:"Фуршет","brand:en":"Furshet","brand:wikidata":"Q4493564","brand:wikipedia":"uk:Фуршет (мережа супермаркетів)",name:"Фуршет","name:en":"Furshet",shop:"supermarket"}},"shop/supermarket|Эдельвейс":{countryCodes:["ru"],tags:{brand:"Эдельвейс","brand:en":"Edelveis","brand:wikidata":"Q57979368",name:"Эдельвейс","name:en":"Edelveis",shop:"supermarket"}},"shop/supermarket|Ярче":{tags:{brand:"Ярче",name:"Ярче",shop:"supermarket"}},"shop/supermarket|سوبر ماركت":{tags:{brand:"سوبر ماركت",name:"سوبر ماركت",shop:"supermarket"}},"shop/supermarket|いなげや":{countryCodes:["jp"],tags:{brand:"いなげや","brand:en":"Inageya","brand:ja":"いなげや","brand:wikidata":"Q17193392","brand:wikipedia":"ja:いなげや",name:"いなげや","name:en":"Inageya","name:ja":"いなげや",shop:"supermarket"}},"shop/supermarket|まいばすけっと":{countryCodes:["jp"],tags:{brand:"まいばすけっと","brand:en":"My Basket","brand:ja":"まいばすけっと","brand:wikidata":"Q11278154","brand:wikipedia":"ja:まいばすけっと",name:"まいばすけっと","name:en":"My Basket","name:ja":"まいばすけっと",shop:"supermarket"}},"shop/supermarket|アコレ":{countryCodes:["jp"],tags:{brand:"アコレ","brand:ja":"アコレ",name:"アコレ","name:ja":"アコレ",shop:"supermarket"}},"shop/supermarket|イオン":{countryCodes:["jp"],tags:{brand:"イオン","brand:en":"AEON","brand:ja":"イオン","brand:wikidata":"Q11285951","brand:wikipedia":"ja:イオン (店舗ブランド)",name:"イオン","name:en":"AEON","name:ja":"イオン",shop:"supermarket"}},"shop/supermarket|イトーヨーカドー":{countryCodes:["jp"],matchNames:["イトーヨーカ堂"],tags:{brand:"イトーヨーカドー","brand:en":"Ito-Yokado","brand:ja":"イトーヨーカドー","brand:wikidata":"Q3088746","brand:wikipedia":"en:Ito-Yokado",name:"イトーヨーカドー","name:en":"Ito-Yokado","name:ja":"イトーヨーカドー",shop:"supermarket"}},"shop/supermarket|カスミ":{countryCodes:["jp"],tags:{brand:"カスミ","brand:en":"Kasumi","brand:ja":"カスミ","brand:wikidata":"Q11294160","brand:wikipedia":"ja:カスミ",name:"カスミ","name:en":"Kasumi","name:ja":"カスミ",shop:"supermarket"}},"shop/supermarket|コープ":{countryCodes:["jp"],tags:{brand:"コープ","brand:ja":"コープ",name:"コープ","name:ja":"コープ",shop:"supermarket"}},"shop/supermarket|サミット":{countryCodes:["jp"],tags:{brand:"サミット","brand:ja":"サミット",name:"サミット","name:ja":"サミット",shop:"supermarket"}},"shop/supermarket|バロー":{countryCodes:["jp"],tags:{brand:"バロー","brand:en":"Valor","brand:ja":"バロー","brand:wikidata":"Q11328346","brand:wikipedia":"ja:バロー (チェーンストア)",name:"バロー","name:en":"Valor","name:ja":"バロー",shop:"supermarket"}},"shop/supermarket|マックスバリュ":{countryCodes:["jp"],tags:{brand:"マックスバリュ","brand:en":"Maxvalu Tokai","brand:ja":"マックスバリュ","brand:wikidata":"Q1960109","brand:wikipedia":"en:MaxValu",name:"マックスバリュ","name:en":"Maxvalu Tokai","name:ja":"マックスバリュ",shop:"supermarket"}},"shop/supermarket|マルエツ":{countryCodes:["jp"],tags:{brand:"マルエツ","brand:en":"Maruetsu","brand:ja":"マルエツ","brand:wikidata":"Q11341197","brand:wikipedia":"ja:マルエツ",name:"マルエツ","name:en":"Maruetsu","name:ja":"マルエツ",shop:"supermarket"}},"shop/supermarket|ヤオコー":{countryCodes:["jp"],tags:{brand:"ヤオコー","brand:en":"Yaoko","brand:ja":"ヤオコー","brand:wikidata":"Q11344967","brand:wikipedia":"ja:ヤオコー",name:"ヤオコー","name:en":"Yaoko","name:ja":"ヤオコー",shop:"supermarket"}},"shop/supermarket|ヨークベニマル":{countryCodes:["jp"],tags:{brand:"ヨークベニマル","brand:en":"York Benimaru","brand:ja":"ヨークベニマル","brand:wikidata":"Q11346199","brand:wikipedia":"ja:ヨークベニマル",name:"ヨークベニマル","name:en":"York Benimaru","name:ja":"ヨークベニマル",shop:"supermarket"}},"shop/supermarket|ヨークマート":{countryCodes:["jp"],tags:{brand:"ヨークマート","brand:en":"YorkMart","brand:ja":"ヨークマート","brand:wikidata":"Q11346201","brand:wikipedia":"ja:ヨークマート",name:"ヨークマート","name:en":"YorkMart","name:ja":"ヨークマート",shop:"supermarket"}},"shop/supermarket|ライフ":{countryCodes:["jp"],tags:{brand:"ライフ","brand:en":"Life","brand:ja":"ライフ","brand:wikidata":"Q11346476","brand:wikipedia":"ja:ライフコーポレーション",name:"ライフ","name:en":"Life","name:ja":"ライフ",shop:"supermarket"}},"shop/supermarket|全聯":{countryCodes:["tw"],tags:{brand:"全聯","brand:en":"Pxmart","brand:wikidata":"Q7262792","brand:wikipedia":"en:PX Mart",name:"全聯","name:en":"Pxmart",shop:"supermarket"}},"shop/supermarket|全聯福利中心":{countryCodes:["tw"],tags:{brand:"全聯福利中心","brand:en":"Pxmart","brand:wikidata":"Q7262792","brand:wikipedia":"en:PX Mart",name:"全聯福利中心","name:en":"Pxmart",shop:"supermarket"}},"shop/supermarket|家乐福":{countryCodes:["cn"],tags:{brand:"家乐福","brand:wikidata":"Q217599","brand:wikipedia":"wuu:家乐福",name:"家乐福",shop:"supermarket"}},"shop/supermarket|惠康 Wellcome":{countryCodes:["hk"],tags:{brand:"惠康 Wellcome","brand:en":"Wellcome","brand:wikidata":"Q706247","brand:wikipedia":"zh:惠康",name:"惠康 Wellcome","name:en":"Wellcome",shop:"supermarket"}},"shop/supermarket|業務スーパー":{countryCodes:["jp"],tags:{brand:"業務スーパー","brand:en":"Gyōmu sūpā","brand:ja":"業務スーパー","brand:wikidata":"Q11590183","brand:wikipedia":"ja:神戸物産",name:"業務スーパー","name:en":"Gyōmu sūpā","name:ja":"業務スーパー",shop:"supermarket"}},"shop/supermarket|沃尔玛":{countryCodes:["cn"],tags:{brand:"沃尔玛","brand:en":"Walmart","brand:wikidata":"Q483551","brand:wikipedia":"wuu:沃尔玛",name:"沃尔玛","name:en":"Walmart",shop:"supermarket"}},"shop/supermarket|美廉社":{countryCodes:["tw"],tags:{brand:"美廉社","brand:en":"Simple Mart","brand:wikidata":"Q15914017","brand:wikipedia":"zh:美廉社",name:"美廉社","name:en":"Simple Mart",shop:"supermarket"}},"shop/supermarket|西友":{countryCodes:["jp"],tags:{brand:"西友","brand:en":"Seiyu","brand:wikidata":"Q3108542","brand:wikipedia":"en:Seiyu Group",name:"西友","name:en":"Seiyu",shop:"supermarket"}},"shop/supermarket|頂好":{countryCodes:["tw"],tags:{brand:"頂好","brand:en":"Wellcome","brand:wikidata":"Q706247","brand:wikipedia":"en:Wellcome",name:"頂好","name:en":"Wellcome",shop:"supermarket"}},"shop/supermarket|頂好超市":{countryCodes:["tw"],tags:{brand:"頂好超市","brand:en":"Wellcome","brand:wikidata":"Q706247","brand:wikipedia":"en:Wellcome",name:"頂好超市","name:en":"Wellcome",shop:"supermarket"}},"shop/supermarket|롯데마트":{countryCodes:["kr"],tags:{brand:"롯데마트","brand:ko":"롯데마트","brand:wikidata":"Q326715","brand:wikipedia":"ko:롯데마트",name:"롯데마트","name:en":"Lotte Mart","name:ko":"롯데마트",shop:"supermarket"}},"shop/supermarket|우리마트":{countryCodes:["kr"],tags:{brand:"우리마트","brand:ko":"우리마트",name:"우리마트","name:ko":"우리마트",shop:"supermarket"}},"shop/supermarket|하나로마트":{countryCodes:["kr"],tags:{brand:"하나로마트","brand:en":"Hanaro Mart","brand:ko":"하나로마트","brand:wikidata":"Q12590611","brand:wikipedia":"ko:농협유통",name:"하나로마트","name:ko":"하나로마트",shop:"supermarket"}},"shop/swimming_pool|Leslie's Pool Supplies":{countryCodes:["us"],matchNames:["leslie's swimming pool supplies"],tags:{brand:"Leslie's Pool Supplies","brand:wikidata":"Q6530568","brand:wikipedia":"en:Leslie's Poolmart",name:"Leslie's Pool Supplies",official_name:"Leslie's Pool Supplies Service & Repair",shop:"swimming_pool"}},"shop/tea|DavidsTea":{countryCodes:["ca","us"],tags:{brand:"DavidsTea","brand:wikidata":"Q3019129","brand:wikipedia":"en:DavidsTea",name:"DavidsTea",shop:"tea"}},"shop/tea|T2":{countryCodes:["au"],tags:{brand:"T2","brand:wikidata":"Q48802134","brand:wikipedia":"en:T2 (Australian company)",name:"T2",shop:"tea"}},"shop/tea|TeeGschwendner":{countryCodes:["de"],tags:{brand:"TeeGschwendner","brand:wikidata":"Q2399969","brand:wikipedia":"de:TeeGschwendner",name:"TeeGschwendner",shop:"tea"}},"shop/ticket|Boutique Grandes Lignes":{countryCodes:["fr"],tags:{brand:"Boutique Grandes Lignes","brand:wikidata":"Q13646","brand:wikipedia":"fr:Société nationale des chemins de fer français",name:"Boutique Grandes Lignes",shop:"ticket"}},"shop/ticket|DB Reisezentrum":{countryCodes:["de"],matchNames:["reisezentrum"],tags:{brand:"DB Reisezentrum","brand:wikidata":"Q15842100","brand:wikipedia":"de:Reisezentrum",name:"DB Reisezentrum",shop:"ticket"}},"shop/ticket|Guichet Transilien":{countryCodes:["fr"],tags:{brand:"Guichet Transilien","brand:wikidata":"Q389554","brand:wikipedia":"fr:Transilien",name:"Guichet Transilien",shop:"ticket"}},"shop/tobacco|Nemzeti Dohánybolt":{countryCodes:["hu"],matchNames:["dohánybolt"],matchTags:["shop/kiosk"],tags:{brand:"Nemzeti Dohánybolt","brand:wikidata":"Q20639040","brand:wikipedia":"en:Dohánybolt",name:"Nemzeti Dohánybolt",shop:"tobacco"}},"shop/toys|Build-A-Bear Workshop":{countryCodes:["ca","gb","us"],matchNames:["build a bear"],matchTags:["shop/gift"],tags:{brand:"Build-A-Bear Workshop","brand:wikidata":"Q1002992","brand:wikipedia":"en:Build-A-Bear Workshop",name:"Build-A-Bear Workshop",shop:"toys"}},"shop/toys|Dráčik":{countryCodes:["cz","sk"],tags:{brand:"Dráčik","brand:wikidata":"Q57653669",name:"Dráčik",shop:"toys"}},"shop/toys|Intertoys":{countryCodes:["be","de","nl"],tags:{brand:"Intertoys","brand:wikidata":"Q1891407","brand:wikipedia":"nl:Intertoys",name:"Intertoys",shop:"toys"}},"shop/toys|JouéClub":{countryCodes:["ad","fr","it","lb","ma","qa"],tags:{brand:"JouéClub","brand:wikidata":"Q3187152","brand:wikipedia":"fr:JouéClub",name:"JouéClub",shop:"toys"}},"shop/toys|King Jouet":{countryCodes:["fr"],tags:{brand:"King Jouet","brand:en":"King Toy","brand:wikidata":"Q3197009","brand:wikipedia":"fr:King Jouet",name:"King Jouet","name:en":"King Toy",shop:"toys"}},"shop/toys|La Grande Récré":{countryCodes:["be","ci","es","fr","ma"],tags:{brand:"La Grande Récré","brand:wikidata":"Q3209556","brand:wikipedia":"fr:La Grande Récré (magasin)",name:"La Grande Récré",shop:"toys"}},"shop/toys|Lego":{matchNames:["lego store"],tags:{brand:"Lego","brand:wikidata":"Q1063455","brand:wikipedia":"en:The Lego Group",name:"Lego",shop:"toys"}},"shop/toys|Lekia":{countryCodes:["no","se"],tags:{brand:"Lekia","brand:wikidata":"Q56303274","brand:wikipedia":"sv:Lekia",name:"Lekia",shop:"toys"}},"shop/toys|Maxi Toys":{countryCodes:["be","de","fr","it"],tags:{brand:"Maxi Toys","brand:wikidata":"Q16663879","brand:wikipedia":"fr:Maxi Toys",name:"Maxi Toys",shop:"toys"}},"shop/toys|Smyths":{countryCodes:["at","ch","de","gb","ie"],tags:{brand:"Smyths","brand:wikidata":"Q7546779","brand:wikipedia":"en:Smyths",name:"Smyths",shop:"toys"}},"shop/toys|The Entertainer":{countryCodes:["gb","je"],tags:{brand:"The Entertainer","brand:wikidata":"Q7732289","brand:wikipedia":"en:The Entertainer (retailer)",name:"The Entertainer",shop:"toys"}},"shop/toys|Toys Center":{tags:{brand:"Toys Center",name:"Toys Center",shop:"toys"}},"shop/toys|Toys R Us":{tags:{brand:"Toys R Us","brand:wikidata":"Q696334","brand:wikipedia":"en:Toys \"R\" Us",name:"Toys R Us",shop:"toys"}},"shop/toys|Бегемотик":{countryCodes:["ru"],tags:{brand:"Бегемотик",name:"Бегемотик",shop:"toys"}},"shop/toys|Детский мир":{countryCodes:["by","kg","kz","ru","ua","uz"],tags:{brand:"Детский мир","brand:en":"Detskiy Mir","brand:wikidata":"Q16643324","brand:wikipedia":"en:Detsky Mir",name:"Детский мир","name:en":"Detskiy Mir",shop:"toys"}},"shop/toys|Кораблик":{countryCodes:["ru"],tags:{brand:"Кораблик","brand:wikidata":"Q57653416",name:"Кораблик",shop:"toys"}},"shop/trade|84 Lumber":{countryCodes:["us"],matchNames:["84","eighty-four lumber"],tags:{brand:"84 Lumber","brand:wikidata":"Q4644779","brand:wikipedia":"en:84 Lumber",name:"84 Lumber",shop:"trade",trade:"building_supplies"}},"shop/trade|Fastenal":{countryCodes:["ca","pa","us"],tags:{brand:"Fastenal","brand:wikidata":"Q3067119","brand:wikipedia":"en:Fastenal",name:"Fastenal",shop:"trade"}},"shop/trade|Grainger":{countryCodes:["ca","us"],matchNames:["granger","w. w. grainger"],tags:{brand:"Grainger","brand:wikidata":"Q1627894","brand:wikipedia":"en:W. W. Grainger",name:"Grainger",shop:"trade"}},"shop/travel_agency|American Automobile Association":{countryCodes:["us"],matchTags:["office/travel_agent","shop/car"],nomatch:["office/insurance|AAA Insurance"],tags:{brand:"American Automobile Association","brand:wikidata":"Q463436","brand:wikipedia":"en:American Automobile Association",name:"American Automobile Association",shop:"travel_agency",short_name:"AAA"}},"shop/travel_agency|Coral Travel":{countryCodes:["pl","ru","ua"],tags:{brand:"Coral Travel","brand:wikidata":"Q58011479",name:"Coral Travel",shop:"travel_agency"}},"shop/travel_agency|D-reizen":{countryCodes:["nl"],tags:{brand:"D-reizen","brand:wikidata":"Q2445498","brand:wikipedia":"nl:D-reizen",name:"D-reizen",shop:"travel_agency"}},"shop/travel_agency|DER Deutsches Reisebüro":{tags:{brand:"DER Deutsches Reisebüro",name:"DER Deutsches Reisebüro",shop:"travel_agency"}},"shop/travel_agency|DER Reisebüro":{countryCodes:["de"],tags:{brand:"DER Reisebüro","brand:wikidata":"Q56729186","brand:wikipedia":"de:Deutsches Reisebüro",name:"DER Reisebüro",shop:"travel_agency"}},"shop/travel_agency|Expedia CruiseShipCenters":{countryCodes:["ca","us"],tags:{brand:"Expedia CruiseShipCenters","brand:wikidata":"Q5189985","brand:wikipedia":"en:Expedia CruiseShipCenters",name:"Expedia CruiseShipCenters",shop:"travel_agency"}},"shop/travel_agency|First Reisebüro":{countryCodes:["de"],tags:{brand:"First Reisebüro","brand:wikidata":"Q573103","brand:wikipedia":"en:TUI Group",name:"First Reisebüro",shop:"travel_agency"}},"shop/travel_agency|Flight Centre":{tags:{brand:"Flight Centre","brand:wikidata":"Q5459202","brand:wikipedia":"en:Flight Centre",name:"Flight Centre",shop:"travel_agency"}},"shop/travel_agency|Halcón Viajes":{countryCodes:["es"],tags:{brand:"Halcón Viajes","brand:wikidata":"Q57591939",name:"Halcón Viajes",shop:"travel_agency"}},"shop/travel_agency|Havas Voyages":{countryCodes:["fr"],tags:{brand:"Havas Voyages","brand:wikidata":"Q57628091",name:"Havas Voyages",shop:"travel_agency"}},"shop/travel_agency|Liberty Travel":{countryCodes:["us"],tags:{brand:"Liberty Travel","brand:wikidata":"Q17031665","brand:wikipedia":"en:Liberty Travel",name:"Liberty Travel",shop:"travel_agency"}},"shop/travel_agency|Reiseland":{countryCodes:["de"],tags:{brand:"Reiseland","brand:wikidata":"Q40387610","brand:wikipedia":"de:OTTO Reisen",name:"Reiseland",shop:"travel_agency"}},"shop/travel_agency|Selectour":{countryCodes:["fr"],tags:{brand:"Selectour","brand:wikidata":"Q3478073","brand:wikipedia":"fr:Selectour",name:"Selectour",shop:"travel_agency"}},"shop/travel_agency|TUI~(Group)":{matchNames:["tui reisecenter"],tags:{brand:"TUI","brand:wikidata":"Q573103","brand:wikipedia":"en:TUI Group",name:"TUI",shop:"travel_agency"}},"shop/travel_agency|TUI~(UK)":{countryCodes:["gb"],matchNames:["thomson"],tags:{brand:"TUI","brand:wikidata":"Q7795876","brand:wikipedia":"en:TUI UK",name:"TUI",shop:"travel_agency"}},"shop/travel_agency|The Co-operative Travel":{countryCodes:["gb"],tags:{brand:"The Co-operative Travel","brand:wikidata":"Q7726526","brand:wikipedia":"en:The Co-operative Travel",name:"The Co-operative Travel",shop:"travel_agency"}},"shop/travel_agency|Thomas Cook":{tags:{brand:"Thomas Cook","brand:wikidata":"Q2141800","brand:wikipedia":"en:Thomas Cook Group",name:"Thomas Cook",shop:"travel_agency"}},"shop/travel_agency|Поехали с нами":{countryCodes:["ua"],tags:{brand:"Поехали с нами","brand:wikidata":"Q25439141","brand:wikipedia":"uk:Поїхали з нами",name:"Поехали с нами",shop:"travel_agency"}},"shop/tyres|Big O Tires":{countryCodes:["ca","us"],tags:{brand:"Big O Tires","brand:wikidata":"Q4906085","brand:wikipedia":"en:Big O Tires",name:"Big O Tires",shop:"tyres"}},"shop/tyres|Bridgestone":{tags:{brand:"Bridgestone","brand:wikidata":"Q179433","brand:wikipedia":"en:Bridgestone",name:"Bridgestone",shop:"tyres"}},"shop/tyres|Discount Tire":{countryCodes:["us"],tags:{brand:"Discount Tire","brand:wikidata":"Q5281735","brand:wikipedia":"en:Discount Tire",name:"Discount Tire",shop:"tyres"}},"shop/tyres|Express Oil Change & Tire Engineers":{countryCodes:["us"],tags:{brand:"Express Oil Change & Tire Engineers","brand:wikidata":"Q39057654","brand:wikipedia":"en:Express Oil Change & Tire Engineers",name:"Express Oil Change & Tire Engineers",shop:"tyres"}},"shop/tyres|Les Schwab Tire Center":{countryCodes:["us"],tags:{brand:"Les Schwab Tire Center","brand:wikidata":"Q6529977","brand:wikipedia":"en:Les Schwab Tire Centers",name:"Les Schwab Tire Center",shop:"tyres"}},"shop/tyres|Michelin":{tags:{brand:"Michelin","brand:wikidata":"Q151107","brand:wikipedia":"en:Michelin",name:"Michelin",shop:"tyres"}},"shop/tyres|Tire Discounters":{countryCodes:["us"],tags:{brand:"Tire Discounters","brand:wikidata":"Q29093639","brand:wikipedia":"en:Tire Discounters",name:"Tire Discounters",shop:"tyres"}},"shop/tyres|Tires Plus":{countryCodes:["us"],tags:{brand:"Tires Plus","brand:wikidata":"Q64015091",name:"Tires Plus",shop:"tyres"}},"shop/tyres|Vianor":{tags:{brand:"Vianor","brand:wikidata":"Q10714920","brand:wikipedia":"sv:Vianor",name:"Vianor",shop:"tyres"}},"shop/vacuum_cleaner|Oreck":{countryCodes:["us"],matchNames:["oreck vacuums"],tags:{brand:"Oreck","brand:wikidata":"Q57273844",name:"Oreck",shop:"vacuum_cleaner"}},"shop/variety_store|99 Cents Only Stores":{countryCodes:["us"],matchNames:["99 cent only stores","99 cents only"],matchTags:["shop/convenience","shop/department_store","shop/supermarket"],tags:{brand:"99 Cents Only Stores","brand:wikidata":"Q4646294","brand:wikipedia":"en:99 Cents Only Stores",name:"99 Cents Only Stores",shop:"variety_store"}},"shop/variety_store|Action":{countryCodes:["at","be","de","fr","nl","pl"],matchTags:["shop/supermarket"],tags:{brand:"Action","brand:wikidata":"Q2634111","brand:wikipedia":"nl:Action (winkel)",name:"Action",shop:"variety_store"}},"shop/variety_store|B&M Bargains":{countryCodes:["gb"],tags:{brand:"B&M Bargains","brand:wikidata":"Q4836931","brand:wikipedia":"en:B & M",name:"B&M Bargains",shop:"variety_store"}},"shop/variety_store|Big Bazar":{countryCodes:["be","nl"],tags:{brand:"Big Bazar","brand:wikidata":"Q15873104","brand:wikipedia":"nl:Big Bazar",name:"Big Bazar",shop:"variety_store"}},"shop/variety_store|Daiso Japan":{countryCodes:["au","us"],tags:{brand:"Daiso","brand:wikidata":"Q866991",name:"Daiso Japan",shop:"variety_store",short_name:"Daiso"}},"shop/variety_store|Dollar General":{countryCodes:["us"],matchTags:["shop/convenience","shop/department_store","shop/supermarket"],nomatch:["amenity/bank|Dollar Bank","amenity/car_rental|Dollar","shop/variety_store|Dollar Tree","shop/variety_store|Dollarama","shop/variety_store|Family Dollar"],tags:{brand:"Dollar General","brand:wikidata":"Q145168","brand:wikipedia":"en:Dollar General",name:"Dollar General",shop:"variety_store"}},"shop/variety_store|Dollar Tree":{countryCodes:["ca","us"],matchTags:["shop/convenience","shop/department_store","shop/supermarket"],nomatch:["amenity/bank|Dollar Bank","amenity/car_rental|Dollar","shop/variety_store|Dollar General","shop/variety_store|Dollarama","shop/variety_store|Family Dollar"],tags:{brand:"Dollar Tree","brand:wikidata":"Q5289230","brand:wikipedia":"en:Dollar Tree",name:"Dollar Tree",shop:"variety_store"}},"shop/variety_store|Dollarama":{countryCodes:["ca"],matchTags:["shop/convenience","shop/department_store","shop/supermarket"],nomatch:["amenity/bank|Dollar Bank","amenity/car_rental|Dollar","shop/variety_store|Dollar General","shop/variety_store|Dollar Tree","shop/variety_store|Family Dollar"],tags:{brand:"Dollarama","brand:wikidata":"Q3033947","brand:wikipedia":"en:Dollarama",name:"Dollarama",shop:"variety_store"}},"shop/variety_store|EuroShop":{countryCodes:["de"],tags:{brand:"EuroShop","brand:wikidata":"Q15846763","brand:wikipedia":"de:Schum EuroShop",name:"EuroShop",shop:"variety_store"}},"shop/variety_store|Family Dollar":{countryCodes:["us"],matchTags:["shop/convenience","shop/department_store","shop/supermarket"],nomatch:["amenity/bank|Dollar Bank","amenity/car_rental|Dollar","shop/variety_store|Dollar General","shop/variety_store|Dollar Tree","shop/variety_store|Dollarama"],tags:{brand:"Family Dollar","brand:wikidata":"Q5433101","brand:wikipedia":"en:Family Dollar",name:"Family Dollar",shop:"variety_store"}},"shop/variety_store|Five Below":{countryCodes:["us"],tags:{brand:"Five Below","brand:wikidata":"Q5455836","brand:wikipedia":"en:Five Below",name:"Five Below",shop:"variety_store"}},"shop/variety_store|Fix Price":{countryCodes:["by","ru"],tags:{brand:"Fix Price","brand:wikidata":"Q4038791","brand:wikipedia":"ru:Fix Price (сеть магазинов)",name:"Fix Price",shop:"variety_store"}},"shop/variety_store|Flying Tiger Copenhagen":{matchNames:["tgr","tiger"],tags:{brand:"Flying Tiger Copenhagen","brand:wikidata":"Q2786319","brand:wikipedia":"en:Flying Tiger Copenhagen",name:"Flying Tiger Copenhagen",shop:"variety_store",short_name:"Flying Tiger"}},"shop/variety_store|GiFi":{countryCodes:["fr"],tags:{brand:"GiFi","brand:wikidata":"Q3105439","brand:wikipedia":"fr:Gifi",name:"GiFi",shop:"variety_store"}},"shop/variety_store|Home Bargains":{countryCodes:["gb"],matchTags:["shop/supermarket"],tags:{brand:"Home Bargains","brand:wikidata":"Q5888229","brand:wikipedia":"en:Home Bargains",name:"Home Bargains",shop:"variety_store"}},"shop/variety_store|Miniso":{tags:{brand:"Miniso","brand:wikidata":"Q20732498","brand:wikipedia":"en:Miniso",name:"Miniso",shop:"variety_store"}},"shop/variety_store|Mäc-Geiz":{countryCodes:["de"],tags:{brand:"Mäc-Geiz","brand:wikidata":"Q1957126","brand:wikipedia":"de:Mäc-Geiz",name:"Mäc-Geiz",shop:"variety_store"}},"shop/variety_store|NOZ":{countryCodes:["fr"],tags:{brand:"NOZ","brand:wikidata":"Q3345688","brand:wikipedia":"fr:Noz",name:"NOZ",shop:"variety_store"}},"shop/variety_store|Poundland":{countryCodes:["gb"],tags:{brand:"Poundland","brand:wikidata":"Q1434528","brand:wikipedia":"en:Poundland",name:"Poundland",shop:"variety_store"}},"shop/variety_store|Poundstretcher":{countryCodes:["gb"],tags:{brand:"Poundstretcher","brand:wikidata":"Q7235675","brand:wikipedia":"en:Poundstretcher",name:"Poundstretcher",shop:"variety_store"}},"shop/variety_store|Poundworld":{countryCodes:["gb","ie"],tags:{brand:"Poundworld","brand:wikidata":"Q16967516","brand:wikipedia":"en:Poundworld",name:"Poundworld",shop:"variety_store"}},"shop/variety_store|Roses":{countryCodes:["us"],tags:{brand:"Roses","brand:wikidata":"Q7368644","brand:wikipedia":"en:Roses (store)",name:"Roses",shop:"variety_store"}},"shop/variety_store|Savers":{tags:{brand:"Savers",name:"Savers",shop:"variety_store"}},"shop/variety_store|TEDi":{countryCodes:["at","de","es","hr","si","sk"],tags:{brand:"TEDi","brand:wikidata":"Q1364603","brand:wikipedia":"de:TEDi",name:"TEDi",shop:"variety_store"}},"shop/variety_store|Tokmanni":{countryCodes:["fi"],tags:{brand:"Tokmanni","brand:wikidata":"Q13423470","brand:wikipedia":"fi:Tokmanni",name:"Tokmanni",shop:"variety_store"}},"shop/variety_store|Wilko":{countryCodes:["gb"],tags:{brand:"Wilko","brand:wikidata":"Q8002536","brand:wikipedia":"en:Wilko (retailer)",name:"Wilko",shop:"variety_store"}},"shop/variety_store|キャンドゥ":{countryCodes:["jp"],tags:{brand:"キャンドゥ","brand:en":"CAN DO","brand:ja":"キャンドゥ","brand:wikidata":"Q11297367","brand:wikipedia":"ja:キャンドゥ",name:"キャンドゥ","name:en":"CAN DO","name:ja":"キャンドゥ",shop:"variety_store"}},"shop/variety_store|セリア":{countryCodes:["jp"],tags:{brand:"セリア","brand:en":"Seria","brand:ja":"セリア","brand:wikidata":"Q11314509","brand:wikipedia":"ja:セリア (100円ショップ)",name:"セリア","name:en":"Seria","name:ja":"セリア",shop:"variety_store"}},"shop/variety_store|ダイソー":{countryCodes:["jp"],matchNames:["ザ・ダイソー"],tags:{brand:"ダイソー","brand:en":"Daiso","brand:ja":"ダイソー","brand:wikidata":"Q866991","brand:wikipedia":"ja:大創産業",name:"ダイソー","name:en":"Daiso","name:ja":"ダイソー",shop:"variety_store"}},"shop/variety_store|ダイレックス":{countryCodes:["jp"],matchTags:["shop/supermarket"],tags:{brand:"ダイレックス","brand:en":"Direx","brand:ja":"ダイレックス","brand:wikidata":"Q11317051","brand:wikipedia":"ja:ダイレックス (ディスカウントストア)",name:"ダイレックス","name:en":"Direx","name:ja":"ダイレックス",shop:"variety_store"}},"shop/variety_store|トライアル":{countryCodes:["jp"],matchTags:["shop/supermarket"],tags:{brand:"トライアル","brand:en":"Trial","brand:ja":"トライアル","brand:wikidata":"Q11321723","brand:wikipedia":"ja:トライアルカンパニー",name:"トライアル","name:en":"Trial","name:ja":"トライアル",shop:"variety_store"}},"shop/variety_store|ドン・キホーテ":{countryCodes:["jp"],matchTags:["shop/supermarket"],tags:{brand:"ドン・キホーテ","brand:en":"Don Quijote","brand:ja":"ドン・キホーテ","brand:wikidata":"Q1185381","brand:wikipedia":"ja:ドン・キホーテ (企業)",name:"ドン・キホーテ","name:en":"Don Quijote","name:ja":"ドン・キホーテ",opening_hours:"24/7",shop:"variety_store",short_name:"ドンキ","short_name:en":"Donki","short_name:ja":"ドンキ"}},"shop/video_games|EB Games":{countryCodes:["au","ca","nz"],tags:{brand:"EB Games","brand:wikidata":"Q4993686","brand:wikipedia":"en:EB Games",name:"EB Games",shop:"video_games"}},"shop/video_games|Game":{countryCodes:["gb"],tags:{brand:"Game","brand:wikidata":"Q5519813","brand:wikipedia":"en:Game (retailer)",name:"Game",shop:"video_games"}},"shop/video_games|GameStop":{tags:{brand:"GameStop","brand:wikidata":"Q202210","brand:wikipedia":"en:GameStop",name:"GameStop",shop:"video_games"}},"shop/video_games|Micromania":{countryCodes:["fr"],tags:{brand:"Micromania","brand:wikidata":"Q3312221","brand:wikipedia":"en:Micromania (video game retailer)",name:"Micromania",shop:"video_games"}},"shop/video|Blockbuster":{tags:{brand:"Blockbuster","brand:wikidata":"Q884711","brand:wikipedia":"en:Blockbuster LLC",name:"Blockbuster",shop:"video"}},"shop/video|Family Video":{countryCodes:["us"],tags:{brand:"Family Video","brand:wikidata":"Q5433297","brand:wikipedia":"en:Family Video",name:"Family Video",shop:"video"}},"shop/video|TSUTAYA":{nomatch:["shop/books|TSUTAYA","shop/music|TSUTAYA"],tags:{brand:"TSUTAYA","brand:wikidata":"Q5193457","brand:wikipedia":"ja:カルチュア・コンビニエンス・クラブ",name:"TSUTAYA",shop:"video"}},"shop/video|ゲオ":{countryCodes:["jp"],matchNames:["geo"],tags:{brand:"GEO","brand:ja":"GEO","brand:wikidata":"Q5533938","brand:wikipedia":"ja:ゲオ",name:"ゲオ","name:en":"GEO","name:ja":"ゲオ",shop:"video"}},"shop/watches|Fossil":{countryCodes:["de","us"],matchTags:["shop/jewelry"],tags:{brand:"Fossil","brand:wikidata":"Q356212","brand:wikipedia":"en:Fossil Group",name:"Fossil",shop:"watches"}},"shop/watches|Omega":{countryCodes:["ch","fr"],tags:{brand:"Omega","brand:wikidata":"Q659224","brand:wikipedia":"en:Omega SA",name:"Omega",shop:"watches"}},"shop/watches|Rolex":{countryCodes:["us"],tags:{brand:"Rolex","brand:wikidata":"Q62288","brand:wikipedia":"en:Rolex",name:"Rolex",shop:"watches"}},"shop/watches|Swatch":{matchTags:["shop/jewelry"],tags:{brand:"Swatch","brand:wikidata":"Q573422","brand:wikipedia":"en:Swatch",name:"Swatch",shop:"watches"}},"shop/wholesale|BJ's Wholesale Club":{countryCodes:["us"],matchTags:["shop/department_store"],tags:{brand:"BJ's Wholesale Club","brand:wikidata":"Q4835754","brand:wikipedia":"en:BJ's Wholesale Club",name:"BJ's Wholesale Club",shop:"wholesale"}},"shop/wholesale|Costco":{matchNames:["costco wholesale"],matchTags:["shop/department_store"],nomatch:["amenity/fuel|Costco Gasoline","amenity/pharmacy|Costco Pharmacy"],tags:{brand:"Costco","brand:wikidata":"Q715583","brand:wikipedia":"en:Costco",name:"Costco",shop:"wholesale"}},"shop/wholesale|Makro":{matchTags:["shop/department_store"],tags:{brand:"Makro","brand:wikidata":"Q704606","brand:wikipedia":"en:Makro",name:"Makro",shop:"wholesale"}},"shop/wholesale|Metro":{matchTags:["shop/department_store"],nomatch:["amenity/bank|Metrobank","shop/supermarket|Metro~(Canada)"],tags:{brand:"Metro","brand:wikidata":"Q13610282","brand:wikipedia":"en:Metro Cash and Carry",name:"Metro",shop:"wholesale"}},"shop/wholesale|Sam's Club":{matchTags:["shop/department_store"],nomatch:["amenity/fuel|Sam's Club"],tags:{brand:"Sam's Club","brand:wikidata":"Q1972120","brand:wikipedia":"en:Sam's Club",name:"Sam's Club",shop:"wholesale"}},"shop/wholesale|コストコ":{countryCodes:["jp"],matchTags:["shop/department_store"],tags:{brand:"コストコ","brand:en":"Costco","brand:ja":"コストコ","brand:wikidata":"Q715583","brand:wikipedia":"ja:コストコ",name:"コストコ","name:en":"Costco","name:ja":"コストコ",shop:"wholesale"}},"tourism/hotel|B&B Hôtel":{countryCodes:["fr"],tags:{brand:"B&B Hôtel","brand:wikidata":"Q794939","brand:wikipedia":"en:B&B Hotels",name:"B&B Hôtel",tourism:"hotel"}},"tourism/hotel|Best Western":{nomatch:["tourism/hotel|Best Western Plus"],tags:{brand:"Best Western","brand:wikidata":"Q830334","brand:wikipedia":"en:Best Western",name:"Best Western",tourism:"hotel"}},"tourism/hotel|Best Western Plus":{countryCodes:["ca","us"],nomatch:["tourism/hotel|Best Western"],tags:{brand:"Best Western","brand:wikidata":"Q830334","brand:wikipedia":"en:Best Western",name:"Best Western Plus",tourism:"hotel"}},"tourism/hotel|Campanile":{nomatch:["amenity/restaurant|Campanile"],tags:{brand:"Campanile","brand:wikidata":"Q2412064","brand:wikipedia":"fr:Campanile (chaîne d'hôtels)",name:"Campanile",tourism:"hotel"}},"tourism/hotel|Candlewood Suites":{countryCodes:["us"],tags:{brand:"Candlewood Suites","brand:wikidata":"Q5032010","brand:wikipedia":"en:Candlewood Suites",name:"Candlewood Suites",tourism:"hotel"}},"tourism/hotel|Comfort Inn":{countryCodes:["ca","gb","us"],nomatch:["tourism/hotel|Comfort Suites"],tags:{brand:"Comfort Inn","brand:wikidata":"Q1075788","brand:wikipedia":"en:Choice Hotels",name:"Comfort Inn",tourism:"hotel"}},"tourism/hotel|Comfort Inn & Suites":{countryCodes:["ca","us"],tags:{brand:"Comfort Inn & Suites","brand:wikidata":"Q1075788","brand:wikipedia":"en:Choice Hotels",name:"Comfort Inn & Suites",tourism:"hotel"}},"tourism/hotel|Comfort Suites":{nomatch:["tourism/hotel|Comfort Inn"],tags:{brand:"Comfort Suites","brand:wikidata":"Q1075788","brand:wikipedia":"en:Choice Hotels",name:"Comfort Suites",tourism:"hotel"}},"tourism/hotel|Country Inn & Suites":{countryCodes:["ca","us"],tags:{brand:"Country Inn & Suites","brand:wikidata":"Q5177332","brand:wikipedia":"en:Country Inns & Suites",name:"Country Inn & Suites",tourism:"hotel"}},"tourism/hotel|Courtyard by Marriott":{countryCodes:["ca","us"],matchNames:["courtyard","courtyard marriott"],tags:{brand:"Courtyard by Marriott","brand:wikidata":"Q1053170","brand:wikipedia":"en:Courtyard by Marriott",name:"Courtyard by Marriott",tourism:"hotel"}},"tourism/hotel|Crowne Plaza":{tags:{brand:"Crowne Plaza","brand:wikidata":"Q2746220","brand:wikipedia":"en:Crowne Plaza",name:"Crowne Plaza",tourism:"hotel"}},"tourism/hotel|Days Inn":{countryCodes:["ca","gb","us"],tags:{brand:"Days Inn","brand:wikidata":"Q1047239","brand:wikipedia":"en:Days Inn",name:"Days Inn",tourism:"hotel"}},"tourism/hotel|Embassy Suites":{countryCodes:["us"],tags:{brand:"Embassy Suites","brand:wikidata":"Q5369524","brand:wikipedia":"en:Embassy Suites by Hilton",name:"Embassy Suites",tourism:"hotel"}},"tourism/hotel|Extended Stay America":{countryCodes:["us"],tags:{brand:"Extended Stay America","brand:wikidata":"Q5421850","brand:wikipedia":"en:Extended Stay America",name:"Extended Stay America",tourism:"hotel"}},"tourism/hotel|Fairfield Inn":{countryCodes:["ca","us"],matchNames:["fairfield inn and suites"],tags:{brand:"Fairfield Inn","brand:wikidata":"Q5430314","brand:wikipedia":"en:Fairfield Inn by Marriott",name:"Fairfield Inn",tourism:"hotel"}},"tourism/hotel|Formule 1":{countryCodes:["fr"],tags:{brand:"Formule 1","brand:wikidata":"Q1630895","brand:wikipedia":"en:Hotel Formule 1",name:"Formule 1",tourism:"hotel"}},"tourism/hotel|Grand Hyatt":{tags:{brand:"Grand Hyatt","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Grand Hyatt",tourism:"hotel"}},"tourism/hotel|Hampton":{countryCodes:["us"],matchNames:["hampton inn and suites"],tags:{alt_name:"Hampton Inn",brand:"Hampton","brand:wikidata":"Q5646230","brand:wikipedia":"en:Hampton by Hilton",name:"Hampton",tourism:"hotel"}},"tourism/hotel|Hilton":{tags:{brand:"Hilton","brand:wikidata":"Q598884","brand:wikipedia":"en:Hilton Hotels & Resorts",name:"Hilton",tourism:"hotel"}},"tourism/hotel|Hilton Garden Inn":{countryCodes:["ca","mx","us"],tags:{brand:"Hilton Garden Inn","brand:wikidata":"Q1162859","brand:wikipedia":"en:Hilton Garden Inn",name:"Hilton Garden Inn",tourism:"hotel"}},"tourism/hotel|Holiday Inn":{nomatch:["tourism/hotel|Holiday Inn Express"],tags:{brand:"Holiday Inn","brand:wikidata":"Q2717882","brand:wikipedia":"en:Holiday Inn",name:"Holiday Inn",tourism:"hotel"}},"tourism/hotel|Holiday Inn Express":{nomatch:["tourism/hotel|Holiday Inn"],tags:{brand:"Holiday Inn Express","brand:wikidata":"Q5880423","brand:wikipedia":"en:Holiday Inn Express",name:"Holiday Inn Express",tourism:"hotel"}},"tourism/hotel|Holiday Inn Express & Suites":{countryCodes:["ca","us"],tags:{brand:"Holiday Inn Express & Suites","brand:wikidata":"Q5880423","brand:wikipedia":"en:Holiday Inn Express",name:"Holiday Inn Express & Suites",tourism:"hotel"}},"tourism/hotel|Home2 Suites":{countryCodes:["ca","mx","us"],matchNames:["home2"],tags:{brand:"Home2 Suites","brand:wikidata":"Q5887912","brand:wikipedia":"en:Home2 Suites by Hilton",name:"Home2 Suites",official_name:"Home2 Suites by Hilton",tourism:"hotel"}},"tourism/hotel|Homewood Suites":{countryCodes:["ca","us"],tags:{brand:"Homewood Suites","brand:wikidata":"Q5890701","brand:wikipedia":"en:Homewood Suites by Hilton",name:"Homewood Suites",tourism:"hotel"}},"tourism/hotel|Hotel Imperial":{tags:{brand:"Hotel Imperial",name:"Hotel Imperial",tourism:"hotel"}},"tourism/hotel|Hyatt":{tags:{brand:"Hyatt","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Hyatt",tourism:"hotel"}},"tourism/hotel|Hyatt Centric":{tags:{brand:"Hyatt Centric","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Hyatt Centric",tourism:"hotel"}},"tourism/hotel|Hyatt House":{countryCodes:["us"],tags:{brand:"Hyatt House","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Hyatt House",tourism:"hotel"}},"tourism/hotel|Hyatt Place":{countryCodes:["us"],tags:{brand:"Hyatt","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Hyatt Place",tourism:"hotel"}},"tourism/hotel|Hyatt Regency":{tags:{brand:"Hyatt Regency","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Hyatt Regency",tourism:"hotel"}},"tourism/hotel|Ibis":{matchNames:["hotel ibis","ibis hotel"],tags:{brand:"Ibis","brand:wikidata":"Q920166","brand:wikipedia":"en:Ibis (hotel)",name:"Ibis",tourism:"hotel"}},"tourism/hotel|Ibis Budget":{tags:{brand:"Ibis Budget","brand:wikidata":"Q1458135","brand:wikipedia":"en:Ibis Budget",name:"Ibis Budget",tourism:"hotel"}},"tourism/hotel|Ibis Styles":{tags:{brand:"Ibis Styles","brand:wikidata":"Q3147425","brand:wikipedia":"en:Ibis Styles",name:"Ibis Styles",tourism:"hotel"}},"tourism/hotel|Kyriad":{countryCodes:["fr"],tags:{brand:"Kyriad","brand:wikidata":"Q11751808","brand:wikipedia":"pl:Kyriad",name:"Kyriad",tourism:"hotel"}},"tourism/hotel|La Quinta":{countryCodes:["us"],matchNames:["la quinta inn and suites","la quinta inns and suites"],tags:{brand:"La Quinta","brand:wikidata":"Q6464734","brand:wikipedia":"en:La Quinta Inns & Suites",name:"La Quinta",tourism:"hotel"}},"tourism/hotel|Le Méridien":{tags:{brand:"Le Méridien","brand:wikidata":"Q261077","brand:wikipedia":"en:Le Méridien",name:"Le Méridien",tourism:"hotel"}},"tourism/hotel|Marriott":{tags:{brand:"Marriott","brand:wikidata":"Q1141173","brand:wikipedia":"en:Marriott International",name:"Marriott",tourism:"hotel"}},"tourism/hotel|Mercure":{tags:{brand:"Mercure","brand:wikidata":"Q1709809","brand:wikipedia":"en:Mercure (hotel)",name:"Mercure",tourism:"hotel"}},"tourism/hotel|Novotel":{tags:{brand:"Novotel","brand:wikidata":"Q420545","brand:wikipedia":"en:Novotel",name:"Novotel",tourism:"hotel"}},"tourism/hotel|Park Hyatt":{tags:{brand:"Park Hyatt","brand:wikidata":"Q1425063","brand:wikipedia":"en:Hyatt",name:"Park Hyatt",tourism:"hotel"}},"tourism/hotel|Premier Inn":{countryCodes:["gb"],tags:{brand:"Premier Inn","brand:wikidata":"Q2108626","brand:wikipedia":"en:Premier Inn",name:"Premier Inn",tourism:"hotel"}},"tourism/hotel|Première Classe":{countryCodes:["fr"],tags:{brand:"Première Classe","brand:wikidata":"Q5964551","brand:wikipedia":"en:Hôtel Première Classe",name:"Première Classe",tourism:"hotel"}},"tourism/hotel|Quality Inn":{countryCodes:["ca","mx","us"],tags:{brand:"Quality Inn","brand:wikidata":"Q1075788","brand:wikipedia":"en:Choice Hotels",name:"Quality Inn",tourism:"hotel"}},"tourism/hotel|Quality Inn & Suites":{countryCodes:["ca","us"],tags:{brand:"Quality Inn & Suites","brand:wikidata":"Q1075788","brand:wikipedia":"en:Choice Hotels",name:"Quality Inn & Suites",tourism:"hotel"}},"tourism/hotel|Ramada":{tags:{brand:"Ramada","brand:wikidata":"Q1502859","brand:wikipedia":"en:Ramada",name:"Ramada",tourism:"hotel"}},"tourism/hotel|Red Roof Inn":{countryCodes:["us"],tags:{brand:"Red Roof Inn","brand:wikidata":"Q7304949","brand:wikipedia":"en:Red Roof Inn",name:"Red Roof Inn",tourism:"hotel"}},"tourism/hotel|Renaissance Hotel":{countryCodes:["us"],tags:{brand:"Renaissance Hotels","brand:wikidata":"Q2143252","brand:wikipedia":"en:Renaissance Hotels",name:"Renaissance Hotel",tourism:"hotel"}},"tourism/hotel|Residence Inn":{tags:{brand:"Residence Inn","brand:wikidata":"Q7315394","brand:wikipedia":"en:Residence Inn by Marriott",name:"Residence Inn",tourism:"hotel"}},"tourism/hotel|Sheraton":{tags:{brand:"Sheraton","brand:wikidata":"Q634831","brand:wikipedia":"en:Sheraton Hotels and Resorts",name:"Sheraton",tourism:"hotel"}},"tourism/hotel|Sleep Inn":{countryCodes:["us"],tags:{brand:"Sleep Inn","brand:wikidata":"Q1075788","brand:wikipedia":"en:Choice Hotels",name:"Sleep Inn",tourism:"hotel"}},"tourism/hotel|Staybridge Suites":{countryCodes:["ca","gb","us"],tags:{brand:"Staybridge Suites","brand:wikidata":"Q7605116","brand:wikipedia":"en:Staybridge Suites",name:"Staybridge Suites",tourism:"hotel"}},"tourism/hotel|TownePlace Suites":{countryCodes:["ca","us"],matchNames:["TownePlace Marriott","TownePlace Suites Marriott"],tags:{brand:"TownePlace Suites","brand:wikidata":"Q7830092","brand:wikipedia":"en:TownePlace Suites",name:"TownePlace Suites",official_name:"TownePlace Suites by Marriott",tourism:"hotel"}},"tourism/hotel|Travelodge":{tags:{brand:"Travelodge","brand:wikidata":"Q7836087","brand:wikipedia":"en:Travelodge",name:"Travelodge",tourism:"hotel"}},"tourism/hotel|W Hotels":{tags:{brand:"W Hotels","brand:wikidata":"Q7958488","brand:wikipedia":"en:W Hotels",name:"W Hotels",short_name:"W",tourism:"hotel"}},"tourism/hotel|東横イン":{countryCodes:["jp"],tags:{brand:"東横イン","brand:en":"Toyoko Inn","brand:ja":"東横イン","brand:wikidata":"Q1320541","brand:wikipedia":"en:Toyoko Inn",name:"東横イン","name:en":"Toyoko Inn","name:ja":"東横イン",tourism:"hotel"}},"tourism/motel|Econo Lodge":{tags:{brand:"Econo Lodge","brand:wikidata":"Q5333330","brand:wikipedia":"en:Econo Lodge",name:"Econo Lodge",tourism:"motel"}},"tourism/motel|Motel 6":{countryCodes:["ca","us"],tags:{brand:"Motel 6","brand:wikidata":"Q2188884","brand:wikipedia":"en:Motel 6",name:"Motel 6",tourism:"motel"}},"tourism/motel|Rodeway Inn":{countryCodes:["ca","us"],tags:{brand:"Rodeway Inn","brand:wikidata":"Q7356709","brand:wikipedia":"en:Rodeway Inn",name:"Rodeway Inn",tourism:"motel"}},"tourism/motel|Super 8":{countryCodes:["ca","us"],tags:{brand:"Super 8","brand:wikidata":"Q5364003","brand:wikipedia":"en:Super 8 Motels",name:"Super 8",tourism:"motel"}}};
+       var brands$1 = {
+       brands: brands
+       };
+
+       var keepTags = ["^amenity/bank$","^amenity/bicycle_rental$","^amenity/bureau_de_change$","^amenity/cafe$","^amenity/car_rental$","^amenity/car_sharing$","^amenity/charging_station$","^amenity/cinema$","^amenity/dentist$","^amenity/fast_food$","^amenity/fuel$","^amenity/ice_cream$","^amenity/money_transfer$","^amenity/payment_(centre|terminal)$","^amenity/pharmacy$","^amenity/post_(box|office)$","^amenity/public_bookcase$","^amenity/restaurant$","^amenity/social_(centre|facility)$","^amenity/vending_machine$","^amenity/veterinary$","^leisure/fitness_centre$","^office/accountant$","^office/employment_agency$","^office/estate_agent$","^office/financial(_advisor)?$","^office/insurance$","^office/tax_advisor$","^office/telecommunication$","^shop/(?!(yes|no|gas|convenience;gas|laundry|lottery|mall))","^tourism/(h|m)otel$"];
+       var discardKeys = ["^amenity/bank\\|(bank zachodni|bz) wbk$","^amenity/bank\\|.*sparkasse.*$","^amenity/bank\\|bank spółdzielczy$","^amenity/bank\\|pko$","^amenity/bank\\|volks- und raiffeisenbank$","^amenity/bank\\|volksbank$","^amenity/bank\\|volksbank( |-)raiffeisenbank$","^amenity/bank\\|vr( |-)bank$","^amenity/cafe\\|(kiosque(\\sà)?\\scafé|caf(e|é)\\sexpress|встреча|рандеву|чайхана|жемчужина)$","^amenity/cinema\\|октябрь$","^amenity/fast_food\\|(ali\\sbaba|antalya|asia\\s(bistro|imbiss|wok)|berlin\\sdöner|city\\s(grill|pizza)|kfc/taco\\sbell)$","^amenity/fast_food\\|(pizza\\s(house|time))$","^amenity/fuel\\|gnv|gpl|posto|spbu|جایگاه\\scng$","^amenity/ice_cream\\|gelateria$","^amenity/pharmacy\\|(adler|bahnhof|brunnen|burg|bären|engel|hirsch|hubertus|kur|linden|löwen)(-| )?apotheke$","^amenity/pharmacy\\|(centrum|farm(a|á)cia\\s(central(e)?|comunale))$","^amenity/pharmacy\\|(marien|markt|neue|park|rathaus|rats|rosen|schloss|sonnen|stadt|stern)(-| )?apotheke$","^amenity/pharmacy\\|(айболит|арніка|фармация)$","^amenity/pharmacy\\|pharmacie\\s(centrale|comunale|de\\s(l'hôtel\\sde\\sville|la\\s(gare|mairie|poste))|du\\s(centre|marché|parc))$","^amenity/restaurant\\|((da|la|las|el)\\s|delphi|deutsches\\shaus|dionysos|dorfkrug|europa|frohsinn|((gasthaus|schwarzer)\\s)?adler)","^amenity/restaurant\\|(ali\\sbaba|adria|akropolis|aroma|asia|athen|athos|bahnhof|bamboo|bären|bella\\s(vista|napoli)|belvedere)","^amenity/restaurant\\|(canteen|cantina|capri|carpe\\sdiem|casa\\s?(blanca|mia)|casino|china\\s(buffet|garden|house|king|star|town|wok))","^amenity/restaurant\\|(gasthaus\\slöwen|golden\\sdragon|great\\swall|grüner\\sbaum|hellas|hirsch(en)?|hong\\skong|ichiban|jade\\sgarden)","^amenity/restaurant\\|(jägerhof|kirchenwirt|kreta|kreuz|krone|l'|lamm|le\\sbistrot|linde|lindenhof|little\\s(italy|india)|los\\samigos)","^amenity/restaurant\\|(lotus|löwen|maharaja|mamma\\smia|mandarin|marco\\spolo|mediterraneo|mensa|milano|mykonos|mythos|namaste|napoli)","^amenity/restaurant\\|(new\\schina|oasis|ochsen|olympia|osaka|paradise|parrilla|peking|pho|pinocchio)","^amenity/restaurant\\|(pizza\\shouse|pizz(a|e)ria|pizza\\sking|pomodoro|portofino|poseidon|ratskeller|rhodos|ristorante\\s)","^amenity/restaurant\\|(roma|rose|rössl(e|i)|saffron|saigon|sakura|san\\smarco|santorini|schützenhaus|shalimar|shanghai|sonne|sphinx)","^amenity/restaurant\\|(sportheim|sternen|syrtaki|taj\\smahal|taste\\sof\\sindia|the\\skitchen|toscana|tokyo|traube)","^amenity/restaurant\\|(waldschänke|wok|zorbas|(zum|zur)\\s)","^amenity/social_facility\\|dom pomocy społecznej$","^amenity/social_facility\\|maison de retraite$","^amenity/social_facility\\|safe haven$","^shop/(convenience|kiosk)\\|(777|bp|esso|exxon|mobil|shell)$","^shop/bakery\\|(backshop|schneider|каравай)$","^shop/bakery\\|(bäckerei\\s)?müller","^shop/butcher\\|butcher$","^shop/clothes\\|трикотаж$","^shop/convenience\\|(milk bar|юлия)$","^shop/convenience\\|(августина|весна|визит|ветеран|домашний)$","^shop/convenience\\|(калинка|колобок|колос(ок)?|каравай|ласточка|лидер|любимый|людмила|люкс)$","^shop/convenience\\|(мечта|мираж|белорусские продукты|продукты 24|натали|надежда)$","^shop/convenience\\|(олимп|престиж|подсолнух|росинка|ромашка|родник|родны кут|рассвет)$","^shop/convenience\\|(семейный|спутник|солнечный|светлана|ивушка)$","^shop/convenience\\|(южный|эконом|шанс|чайка|центральный|хороший|фаворит|татьяна)$","^shop/florist\\|(мир цветов|орхидея)$","^shop/frame\\|rumah\\spenduduk$","^shop/hairdresser\\|(haarwerk|стиль|локон|шарм)$","^shop/hardware\\|(всё для дома|1000 мелочей)$","^shop/jewelry\\|585$","^shop/money_transfer|mobil(e)?\\smoney$","^shop/optician\\|(vision plus|оптика)$","^shop/supermarket\\|(famiglia cooperativa|семейный)$","^shop/tailor\\|couture\\s?(dame|homme|mixte)?$","^tourism/(h|m)otel\\|budget inn$","^tourism/hotel\\|(belvedere|krone|victoria)","^tourism/hotel\\|(central|city|europa|grand|palace|park|royal)\\s?hotel$","^tourism/hotel\\|h(o|ô)tel\\s(astoria|central|europa|krone|panorama|plaza|royal|victoria|(zur\\s)?post|de france)$"];
+       var discardNames = ["^((drummed|independent) )?(cng|filling|fuel|gas|lpg|petrol)(\\s(station|pump))?$","^((le|the) )?salo(o)?n( de)?( coiffure| fryzjerski| beauté)?( homme| dame)?$","^((горячий|свежий) )?хлеб(ница)?$","^((разливное|живое) )?пиво$","^(beer|convenience|corner|general|liquor|variety)(\\sstore)?$","^(bureau de |)change$","^(buzón\\sde\\s)?correos$","^(cl(i|í)nica )?dental$","^(cl(i|í)nica )?veterinari(a|o)$","^(clinique )?vétérinaire$","^(coffee|pet|vulcanizing|gift)(\\sshop)?$","^(hof|dorf)laden$","^(h|m)otel$","^(sklep )?(spożywcz(y|o))(-przemysłowy)?$","^(strom|milch)tankstelle$","^(the )?barber(ia|shop|\\sshop)?$","^(é|e)pic(erie|ier)$","^(агзс|азс|мережа азс приват|магазин при азс)$","^(газовая\\s)?заправка$","^(летнее )?кафе(терий)?$","^(парикмахерская|персона|перукарня)$","^(проездные )?билет(ы)?$","^(свежее )?мяс(ной|о)$","^(спец|детская|женская)?\\s?одежда$","^agencja pocztowa$","^alimentación$","^alimentar(a|i)$","^alimentation\\sgénérale$","^alte (apotheke|post)$","^apotek(a|et)$","^apotheke( am markt)?$","^apteka$","^atelier de couture$","^atm$","^auto serwis$","^baguette$","^bakery$","^bakkal$","^bank$","^baqala$","^bar (centrale|kafe)$","^bar$","^barbea?r(i|í)a$","^bazar$","^benzina$","^berber$","^bijouterie$","^bike sharing$","^biletomat$","^bistro$","^blumen(laden)?$","^bo(u)?tique$","^bodega$","^borrachar(i|í)a$","^botica$","^botiller(i|í)a$","^boucherie(\\scharcuterie)?$","^boulangerie(\\sp(a|â)tisserie)?$","^bread$","^briefkasten$","^bureau de poste$","^bäckerei$","^büfé$","^cabinet dentaire$","^caf(e|é) de(s)? (la )?(place|sports|gare)$","^caf(e|é)(t(e|é)r(i|í)a)?( )?(central)?$","^cajero\\sautomatico\\sbancared$","^carnicer(i|í)a$","^central$","^centro naturista$","^chifa$","^chinese restaurant$","^cine(ma)?$","^cleaners$","^co-operative$","^coffee$","^coiff(eur|ure)\\s?(homme|dame)?$","^colmado$","^comedor$","^comida china$","^commercial hotel$","^consultorio (dental|odontologico)$","^credit union$","^currency exchange$","^d(ö|o)ner(\\skebab)?$","^delikatesy$","^dental(\\s(clinic|surgery))?$","^dentist(a|e)?$","^drinks$","^droguer(i|í)a$","^dép(ô|o)t de gaz$","^dépanneur$","^eczane$","^edicola$","^eiscaf(e|é)(\\s(dolomiti|venezia))?$","^eisdiele","^el árbol$","^estanco$","^exchange$","^fagyizó$","^family dentistry$","^farm(a|à|á)ci(a|à|á|e)$","^fast food$","^ferramenta$","^ferreter(i|í)a$","^figaro$","^fish (and|&) chips$","^fleuriste$","^florărie$","^food court$","^fotocopias$","^fri(t|z)erie$","^fris(eu|ö)r$","^frituur$","^frutería$","^fryzjer$","^funeraria$","^game$","^garage\\s?(moto|auto)?$","^garba(drome)?$","^gasoline(ra)?$","^gast(haus|hof)\\s(krone|(zur)\\s(linde|post))?$","^getränkemarkt$","^gimnasio( municipal)?$","^gomer(i|í)a$","^gym(nase|nasium)?$","^gyógyszertár$","^haar(genau|monie|scharf)$","^hair\\s?(design|lounge|salon|dresser)$","^hardware$","^home\\sutensils$","^hospedaje$","^húsbolt$","^imbiss$","^indipend\\.$","^internet cafe$","^istanbul(\\skebab)?$","^kaf(e|é)$","^kantine$","^kantor pos$","^kantor$","^kebab(ai|\\shouse)?$","^kios(co|k|ko|que)?$","^kisbolt$","^kitchen$","^księgarnia$","^kwiaciarnia$","^kwiaty$","^kулинария$","^ladestation$","^librairie$","^librer(i|í)a$","^libro$","^licorer(i|í)a$","^ljekarna$","^lombard$","^lot 1$","^lubricentro$","^lékárna$","^maceller(i|í)a$","^magazin","^mailbox$","^maison$","^market$","^mercado( municipal)?$","^mercerie$","^mini\\s?(abc|market|mart|mercado|pump)","^money exchange$","^máquina de tickets$","^mécanique$","^nagelstudio$","^nails$","^no name$","^obuwie$","^odontologia$","^oplaadpunt$","^opti(c|k)a$","^optical center$","^optyk$","^outlet$","^pa(r|cz)komat$","^pac?k(etbox|station)$","^padaria$","^panader(i|í)a$","^pancake house$","^panificio$","^panorama$","^papeler(i|í)a$","^parafarmacia$","^parduotuvė$","^parkscheinautomat$","^parquímetro$","^peluquer(i|í)a$","^pharmac(ie|y)$","^piekarnia$","^piscine$","^pizz(eri)?a$","^po(s|š)t(a|e|o)$","^poczta$","^poissonnerie$","^post\\s?(agentur|filiale|partner|office|stelle)?$","^potraviny$","^prehrana$","^pressing$","^pulper(i|í)a$","^punkt apteczny$","^quin?cai?llerie$","^quiosco$","^rent a car$","^repuestos automotrices$","^restaurant(e)?(\\suniversit(ário|aire))?$","^rzeźnik$","^sale$","^salle (omnisport|polyvalente)$","^salão de beleza$","^sari-sari store$","^sb\\stank$","^second\\shand$","^shops?$","^sklep$","^smíšené zboží$","^snacks?$","^souvenir(s)?( shop)?$","^spätkauf$","^stacja (benzynowa|paliw)$","^stadium$","^stadtbäckerei$","^station service$","^steak house$","^stores?$","^super ?america","^super\\s?m(arket|ercado)$","^sushi(\\sbar)?$","^taba(c|k)(os|chi)?(\\strafi(k|c))?$","^tabac\\spresse$","^tabaccher(i|í)a$","^tacos$","^taller( mecánico)?$","^tankstelle$","^tattoo$","^taverna$","^tea stall$","^tesha$","^tienda(\\sde\\s(barrio|abarrotes))?$","^toko pakaian$","^trafik(a)?$","^trattoria$","^trinkhalle$","^télécentre$","^ufficio postale$","^urząd pocztowy$","^vegyesbolt$","^venezia$","^verduler(i|í)a$","^večerka$","^virágbolt$","^vulcanizare$","^warung$","^warzywniak$","^windmill$","^wulkanizacja$","^zahnarzt$","^zigarettenautomat$","^zöldséges$","^änderungsschneiderei$","^élelmiszer(bolt)?$","^φαρμακείο$","^авто(рынок|ремонт|сервис|электрик|запчасти(ни)?)?$","^автома(г|газин|стерская)?$","^автосервис\\+шиномонтаж$","^аптека","^аптечный (пункт|склад)$","^ателье$","^бассейн$","^бистро$","^булочная$","^буфет$","^ветеринарная клиника$","^ветлечебница$","^вс(е|ё) для дома$","^вулканизация$","^газ$","^главпочтамт$","^гостиница$","^детский дом$","^закусочная$","^замена масла$","^золото(й)?$","^зоо(магазин|товары)$","^игрушки$","^канцтовары$","^касса$","^квіти$","^киоск$","^книги$","^кофе(йня|\\sхауз)$","^крамниця$","^купец$","^ломбард$","^маркет$","^меб(ель|лі)$","^метан$","^минимаркет|мини-маркет$","^мороженое$","^мясная лавка$","^обувь$","^овощи(\\sи\\s|-)фрукты$","^октан$","^памятники$","^пекарня$","^пельменная$","^печать$","^пиццерия$","^по(чт|шт|щ)а$","^подарки$","^почтовое отделение$","^пресса$","^продукт(ы|и)?$","^продуктовый( магазин)?$","^промтовары$","^пропан$","^ремонт\\sобуви$","^ресторан$","^ритуал(ьные услуги)?$","^рыб(а|олов)$","^салон красоты$","^сантехника$","^семена$","^социальный участковый$","^спорт(зал|комплекс|товары)$","^столовая$","^стоматолог","^строитель$","^стройматериалы$","^сувениры$","^супермаркет$","^табак(ерка)?$","^ткани$","^товары для дома$","^универ(маг|сам)$","^уют$","^фрукты и овощи$","^химчистка$","^хинкальная$","^хоз(товары|яюшка)$","^хүнсний дэлгүүр$","^цвет(овик|очный|ы)(\\sмагазин)?$","^церковная( лавка)?$","^чайхана$","^ша(ве|у)рма$","^шашлычная$","^шиномонтаж$","^דלק$","^اداره پست$","^باشگاه بدنسازی$","^بانک$","^بقال(ة)?$","^حلاق$","^داروخانه شبانه روزی$","^داروخانه$","^رستوران$","^سوپر\\s?مارکت$","^صيدلية$","^قصابی$","^محط(ه|ة) وقود$","^مخبز(ة)?$","^مطعم$","^مقهى$","^مكتب البريد$","^میوه فروشی$","^نان\\s?(سنگک|بربری|لواش)?$","^نانوایی\\s?(سنگک|بربری|لواش)?ی?$","^پمپ (بنزین|گاز)$","^მარკეტი( \\(market\\))?","^カフェ$","^ポスト$","^体育館$","^加油站$","^珈琲館$","^租$","^自動販売機$","^自販機$","^郵便ポスト$","^郵局$","^食堂$","automat na jizdenky"];
+       var filters = {
+       keepTags: keepTags,
+       discardKeys: discardKeys,
+       discardNames: discardNames
+       };
+
+       // ES5 for iD, for now
+
+
+       // remove spaces, punctuation, diacritics
+       var simplify = function simplify(str) {
+           return diacritics.remove(
+               str
+                   .replace(/&/g,'and')
+                   .replace(/[\s\-=_!"#%'*{},.\/:;?\(\)\[\]@\\$\^*+<>~`’\u00a1\u00a7\u00b6\u00b7\u00bf\u037e\u0387\u055a-\u055f\u0589\u05c0\u05c3\u05c6\u05f3\u05f4\u0609\u060a\u060c\u060d\u061b\u061e\u061f\u066a-\u066d\u06d4\u0700-\u070d\u07f7-\u07f9\u0830-\u083e\u085e\u0964\u0965\u0970\u0af0\u0df4\u0e4f\u0e5a\u0e5b\u0f04-\u0f12\u0f14\u0f85\u0fd0-\u0fd4\u0fd9\u0fda\u104a-\u104f\u10fb\u1360-\u1368\u166d\u166e\u16eb-\u16ed\u1735\u1736\u17d4-\u17d6\u17d8-\u17da\u1800-\u1805\u1807-\u180a\u1944\u1945\u1a1e\u1a1f\u1aa0-\u1aa6\u1aa8-\u1aad\u1b5a-\u1b60\u1bfc-\u1bff\u1c3b-\u1c3f\u1c7e\u1c7f\u1cc0-\u1cc7\u1cd3\u2016\u2017\u2020-\u2027\u2030-\u2038\u203b-\u203e\u2041-\u2043\u2047-\u2051\u2053\u2055-\u205e\u2cf9-\u2cfc\u2cfe\u2cff\u2d70\u2e00\u2e01\u2e06-\u2e08\u2e0b\u2e0e-\u2e16\u2e18\u2e19\u2e1b\u2e1e\u2e1f\u2e2a-\u2e2e\u2e30-\u2e39\u3001-\u3003\u303d\u30fb\ua4fe\ua4ff\ua60d-\ua60f\ua673\ua67e\ua6f2-\ua6f7\ua874-\ua877\ua8ce\ua8cf\ua8f8-\ua8fa\ua92e\ua92f\ua95f\ua9c1-\ua9cd\ua9de\ua9df\uaa5c-\uaa5f\uaade\uaadf\uaaf0\uaaf1\uabeb\ufe10-\ufe16\ufe19\ufe30\ufe45\ufe46\ufe49-\ufe4c\ufe50-\ufe52\ufe54-\ufe57\ufe5f-\ufe61\ufe68\ufe6a\ufe6b\uff01-\uff03\uff05-\uff07\uff0a\uff0c\uff0e\uff0f\uff1a\uff1b\uff1f\uff20\uff3c\uff61\uff64\uff65]+/g,'')
+                   .toLowerCase()
+           );
+       };
+
+       // ES5 for iD, for now
+
+
+       // toParts - split a name-suggestion-index key into parts
+       // {
+       //   kvnd:        "amenity/fast_food|Thaï Express~(North America)",
+       //   kvn:         "amenity/fast_food|Thaï Express",
+       //   kv:          "amenity/fast_food",
+       //   k:           "amenity",
+       //   v:           "fast_food",
+       //   n:           "Thaï Express",
+       //   d:           "(North America)",
+       //   nsimple:     "thaiexpress",
+       //   kvnnsimple:  "amenity/fast_food|thaiexpress"
+       // }
+       var to_parts = function toParts(kvnd) {
+           var parts = {};
+           parts.kvnd = kvnd;
+
+           var kvndparts = kvnd.split('~', 2);
+           if (kvndparts.length > 1) parts.d = kvndparts[1];
+
+           parts.kvn = kvndparts[0];
+           var kvnparts = parts.kvn.split('|', 2);
+           if (kvnparts.length > 1) parts.n = kvnparts[1];
+
+           parts.kv = kvnparts[0];
+           var kvparts = parts.kv.split('/', 2);
+           parts.k = kvparts[0];
+           parts.v = kvparts[1];
+
+           parts.nsimple = simplify(parts.n);
+           parts.kvnsimple = parts.kv + '|' + parts.nsimple;
+           return parts;
+       };
+
+       var matchGroups = {beauty:["shop/beauty","shop/hairdresser_supply"],bed:["shop/bed","shop/furniture"],beverages:["shop/alcohol","shop/beverages"],confectionery:["shop/candy","shop/chocolate","shop/confectionery"],convenience:["shop/beauty","shop/chemist","shop/convenience","shop/cosmetics"],coworking:["amenity/coworking_space","office/coworking","office/coworking_space"],electronics:["office/telecommunication","shop/computer","shop/electronics","shop/hifi","shop/mobile","shop/mobile_phone"],fashion:["shop/accessories","shop/bag","shop/botique","shop/clothes","shop/department_store","shop/fashion","shop/fashion_accessories","shop/sports","shop/shoes"],financial:["office/accountant","office/financial","office/financial_advisor","office/tax_advisor","shop/tax"],fitness:["leisure/fitness_centre","leisure/fitness_center","leisure/sports_centre","leisure/sports_center"],food:["amenity/cafe","amenity/fast_food","amenity/ice_cream","amenity/restaurant","shop/bakery","shop/pastry","shop/tea","shop/coffee"],fuel:["amenity/fuel","shop/gas","shop/convenience;gas","shop/gas;convenience"],gift:["shop/gift","shop/stationery"],hardware:["shop/doityourself","shop/hardware","shop/trade"],houseware:["shop/houseware","shop/interior_decoration"],lodging:["tourism/hotel","tourism/motel"],money_transfer:["amenity/money_transfer","shop/money_transfer"],outdoor:["shop/outdoor","shop/sports"],parts:["shop/car_parts","shop/car_repair","shop/tires","shop/tyres"],school:["amenity/childcare","amenity/college","amenity/kindergarten","amenity/language_school","amenity/prep_school","amenity/school","amenity/university"],supermarket:["shop/food","shop/frozen_food","shop/greengrocer","shop/grocery","shop/supermarket","shop/wholesale"],vending:["amenity/vending_machine","shop/vending_machine"]};
+       var match_groups = {
+       matchGroups: matchGroups
+       };
+
+       var match_groups$1 = /*#__PURE__*/Object.freeze({
+               matchGroups: matchGroups,
+               'default': match_groups
+       });
+
+       var require$$0 = getCjsExportFromNamespace(match_groups$1);
+
+       // ES5 for iD, for now
+
+
+
+       var matchGroups$1 = require$$0.matchGroups;
+
+
+       var matcher$1 = function() {
+           var _warnings = [];    // array of match conflict pairs
+           var _ambiguous = {};
+           var _matchIndex = {};
+           var matcher = {};
+
+           // Create an index of all the keys/simplenames for fast matching
+           matcher.buildMatchIndex = function(brands) {
+               Object.keys(brands).forEach(function(kvnd) {
+                   var obj = brands[kvnd];
+                   var parts = to_parts(kvnd);
+
+                   if (obj.countryCodes) {
+                       parts.countryCodes = obj.countryCodes.slice();  // copy
+                   }
+
+                   var matchTags = (obj.matchTags || [])
+                       .map(function(s) { return s.toLowerCase(); });
+                   var matchNames = (obj.matchNames || [])
+                       .concat(obj.tags.alt_name || [])        // #2732
+                       .concat(obj.tags.official_name || [])   // #2732
+                       .concat(obj.tags.short_name || [])      // #2732
+                       .map(simplify);
+                   var nomatches = (obj.nomatch || [])
+                       .map(function(kvnd) { return to_parts(kvnd).kvnsimple; });
+
+                   var match_kv = [parts.kv].concat(matchTags);
+                   var match_nsimple = [parts.nsimple].concat(matchNames);
+
+                   match_kv.forEach(function(kv) {
+                       match_nsimple.forEach(function(nsimple) {
+                           var test = kv + nsimple;
+                           if (nomatches.some(function(s) { return s === test; })) {
+                               console.log('WARNING match/nomatch conflict for ' + test);
+                               return;
+                           }
+
+                           if (parts.d) {
+                               // fixme: name collisions will overwrite the single entry (ok for now)
+                               if (!_ambiguous[kv]) _ambiguous[kv] = {};
+                               _ambiguous[kv][nsimple] = parts;
+                           } else {
+                               // name collisions are a problem in matchIndex, warn if we detect it
+                               if (!_matchIndex[kv]) _matchIndex[kv] = {};
+                               var m = _matchIndex[kv][nsimple];
+                               if (m) {  // there already is a match for this
+                                   _warnings.push([m.kvnd, kvnd + ' ("' + nsimple + '")']);
+                               } else {
+                                   _matchIndex[kv][nsimple] = parts;
+                               }
+                           }
+                       });
+                   });
+               });
+           };
+
+
+           // pass a `key`, `value`, `name` and return the best match,
+           // `countryCode` optional (if supplied, must match that too)
+           matcher.matchKVN = function(key, value, name, countryCode) {
+               return matcher.matchParts(to_parts(key + '/' + value + '|' + name), countryCode);
+           };
+
+           // pass a parts object and return the best match,
+           // `countryCode` optional (if supplied, must match that too)
+           matcher.matchParts = function(parts, countryCode) {
+               var match = null;
+               var inGroup = false;
+
+               // fixme: we currently return a single match for ambiguous
+               match = _ambiguous[parts.kv] && _ambiguous[parts.kv][parts.nsimple];
+               if (match && matchesCountryCode(match)) return match;
+
+               // try to return an exact match
+               match = _matchIndex[parts.kv] && _matchIndex[parts.kv][parts.nsimple];
+               if (match && matchesCountryCode(match)) return match;
+
+               // look in match groups
+               for (var mg in matchGroups$1) {
+                   var matchGroup = matchGroups$1[mg];
+                   match = null;
+                   inGroup = false;
+
+                   for (var i = 0; i < matchGroup.length; i++) {
+                       var otherkv = matchGroup[i].toLowerCase();
+                       if (!inGroup) {
+                           inGroup = (otherkv === parts.kv);
+                       }
+                       if (!match) {
+                           // fixme: we currently return a single match for ambiguous
+                           match = _ambiguous[otherkv] && _ambiguous[otherkv][parts.nsimple];
+                       }
+                       if (!match) {
+                           match = _matchIndex[otherkv] && _matchIndex[otherkv][parts.nsimple];
+                       }
+
+                       if (!matchesCountryCode(match)) {
+                           match = null;
+                       }
+
+                       if (inGroup && match) {
+                           return match;
+                       }
+                   }
+               }
+
+               return null;
+
+
+               function matchesCountryCode(match) {
+                   if (!countryCode) return true;
+                   if (!match.countryCodes) return true;
+                   return (match.countryCodes.indexOf(countryCode) !== -1);
+               }
+           };
+
+
+           matcher.getWarnings = function() {
+               return _warnings;
+           };
+
+
+           return matcher;
+       };
+
+       function validationGenericName() {
+           var type = 'generic_name';
+
+           // known list of generic names (e.g. "bar")
+           var discardNamesRegexes = filters.discardNames.map(function(discardName) {
+               return new RegExp(discardName, 'i');
+           });
+
+           var keysToTestForGenericValues = ['amenity', 'building', 'leisure', 'man_made', 'shop', 'tourism'];
+
+           function isGenericName(entity) {
+               var name = entity.tags.name;
+               if (!name) return false;
+               name = name.toLowerCase();
+
+               var i, key, val;
+
+               // test if the name is just the key or tag value (e.g. "park")
+               for (i = 0; i < keysToTestForGenericValues.length; i++) {
+                   key = keysToTestForGenericValues[i];
+                   val = entity.tags[key];
+                   if (val) {
+                       val = val.toLowerCase();
+                       if (key === name ||
+                           val === name ||
+                           key.replace(/\_/g, ' ') === name ||
+                           val.replace(/\_/g, ' ') === name) {
+                           return entity.tags.name;
+                       }
+                   }
+               }
+
+               // test if the name is otherwise generic
+               for (i = 0; i < discardNamesRegexes.length; i++) {
+                   if (discardNamesRegexes[i].test(name)) {
+                       return entity.tags.name;
+                   }
+               }
+
+               return false;
+           }
+
+
+           var validation = function checkGenericName(entity) {
+               var generic = isGenericName(entity);
+               if (!generic) return [];
+
+               return [new validationIssue({
+                   type: type,
+                   severity: 'warning',
+                   message: function(context) {
+                       var entity = context.hasEntity(this.entityIds[0]);
+                       if (!entity) return '';
+                       var preset = utilPreset(entity, context);
+                       return t('issues.generic_name.message', { feature: preset.name(), name: generic });
+                   },
+                   reference: showReference,
+                   entityIds: [entity.id],
+                   hash: generic,
+                   fixes: [
+                       new validationIssueFix({
+                           icon: 'iD-operation-delete',
+                           title: t('issues.fix.remove_generic_name.title'),
+                           onClick: function(context) {
+                               var entityId = this.issue.entityIds[0];
+                               var entity = context.entity(entityId);
+                               var tags = Object.assign({}, entity.tags);   // shallow copy
+                               delete tags.name;
+                               context.perform(
+                                   actionChangeTags(entityId, tags),
+                                   t('issues.fix.remove_generic_name.annotation')
+                               );
+                           }
+                       })
+                   ]
+               })];
+
+
+               function showReference(selection) {
+                   selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter()
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.generic_name.reference'));
+               }
+           };
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationImpossibleOneway() {
+           var type = 'impossible_oneway';
+
+           var validation = function checkImpossibleOneway(entity, graph) {
+
+               if (entity.type !== 'way' || entity.geometry(graph) !== 'line') return [];
+
+               if (entity.isClosed()) return [];
+
+               if (!typeForWay(entity)) return [];
+
+               if (!isOneway(entity)) return [];
+
+               var firstIssues = issuesForNode(entity, entity.first());
+               var lastIssues = issuesForNode(entity, entity.last());
+
+               return firstIssues.concat(lastIssues);
+
+               function typeForWay(way) {
+                   if (way.geometry(graph) !== 'line') return null;
+
+                   if (osmRoutableHighwayTagValues[way.tags.highway]) return 'highway';
+                   if (osmFlowingWaterwayTagValues[way.tags.waterway]) return 'waterway';
+                   return null;
+               }
+
+               function isOneway(way) {
+                   if (way.tags.oneway === 'yes') return true;
+                   if (way.tags.oneway) return false;
+
+                   for (var key in way.tags) {
+                       if (osmOneWayTags[key] && osmOneWayTags[key][way.tags[key]]) {
+                           return true;
+                       }
+                   }
+                   return false;
+               }
+
+               function nodeOccursMoreThanOnce(way, nodeID) {
+                   var occurences = 0;
+                   for (var index in way.nodes) {
+                       if (way.nodes[index] === nodeID) {
+                           occurences += 1;
+                           if (occurences > 1) return true;
+                       }
+                   }
+                   return false;
+               }
+
+               function isConnectedViaOtherTypes(way, node) {
+
+                   var wayType = typeForWay(way);
+
+                   if (wayType === 'highway') {
+                       // entrances are considered connected
+                       if (node.tags.entrance && node.tags.entrance !== 'no') return true;
+                       if (node.tags.amenity === 'parking_entrance') return true;
+                   } else if (wayType === 'waterway') {
+                       if (node.id === way.first()) {
+                           // multiple waterways may start at the same spring
+                           if (node.tags.natural === 'spring') return true;
+                       } else {
+                           // multiple waterways may end at the same drain
+                           if (node.tags.manhole === 'drain') return true;
+                       }
+                   }
+
+                   return graph.parentWays(node).some(function(parentWay) {
+                       if (parentWay.id === way.id) return false;
+
+                       if (wayType === 'highway') {
+
+                           // allow connections to highway areas
+                           if (parentWay.geometry(graph) === 'area' &&
+                               osmRoutableHighwayTagValues[parentWay.tags.highway]) return true;
+
+                           // count connections to ferry routes as connected
+                           if (parentWay.tags.route === 'ferry') return true;
+
+                           return graph.parentRelations(parentWay).some(function(parentRelation) {
+                               if (parentRelation.tags.type === 'route' &&
+                                   parentRelation.tags.route === 'ferry') return true;
+
+                               // allow connections to highway multipolygons
+                               return parentRelation.isMultipolygon() && osmRoutableHighwayTagValues[parentRelation.tags.highway];
+                           });
+                       } else if (wayType === 'waterway') {
+                           // multiple waterways may start or end at a water body at the same node
+                           if (parentWay.tags.natural === 'water' ||
+                               parentWay.tags.natural === 'coastline') return true;
+                       }
+                       return false;
+                   });
+               }
+
+               function issuesForNode(way, nodeID) {
+
+                   var isFirst = nodeID === way.first();
+
+                   var wayType = typeForWay(way);
+
+                   // ignore if this way is self-connected at this node
+                   if (nodeOccursMoreThanOnce(way, nodeID)) return [];
+
+                   var osm = services$1.osm;
+                   if (!osm) return [];
+
+                   var node = graph.hasEntity(nodeID);
+
+                   // ignore if this node or its tile are unloaded
+                   if (!node || !osm.isDataLoaded(node.loc)) return [];
+
+                   if (isConnectedViaOtherTypes(way, node)) return [];
+
+                   var attachedWaysOfSameType = graph.parentWays(node).filter(function(parentWay) {
+                       if (parentWay.id === way.id) return false;
+                       return typeForWay(parentWay) === wayType;
+                   });
+
+                   // assume it's okay for waterways to start or end disconnected for now
+                   if (wayType === 'waterway' && attachedWaysOfSameType.length === 0) return [];
+
+                   var attachedOneways = attachedWaysOfSameType.filter(function(attachedWay) {
+                       return isOneway(attachedWay);
+                   });
+
+                   // ignore if the way is connected to some non-oneway features
+                   if (attachedOneways.length < attachedWaysOfSameType.length) return [];
+
+                   if (attachedOneways.length) {
+                       var connectedEndpointsOkay = attachedOneways.some(function(attachedOneway) {
+                           if ((isFirst ? attachedOneway.first() : attachedOneway.last()) !== nodeID) return true;
+                           if (nodeOccursMoreThanOnce(attachedOneway, nodeID)) return true;
+                           return false;
+                       });
+                       if (connectedEndpointsOkay) return [];
+                   }
+
+                   var fixes = [];
+
+                   if (attachedOneways.length) {
+                       fixes.push(new validationIssueFix({
+                           icon: 'iD-operation-reverse',
+                           title: t('issues.fix.reverse_feature.title'),
+                           entityIds: [way.id],
+                           onClick: function(context) {
+                               var id = this.issue.entityIds[0];
+                               context.perform(actionReverse(id), t('operations.reverse.annotation'));
+                           }
+                       }));
+                   }
+                   if (node.tags.noexit !== 'yes') {
+                       fixes.push(new validationIssueFix({
+                           icon: 'iD-operation-continue' + (isFirst ? '-left' : ''),
+                           title: t('issues.fix.continue_from_' + (isFirst ? 'start' : 'end') + '.title'),
+                           onClick: function(context) {
+                               var entityID = this.issue.entityIds[0];
+                               var vertexID = this.issue.entityIds[1];
+                               var way = context.entity(entityID);
+                               var vertex = context.entity(vertexID);
+                               continueDrawing(way, vertex, context);
+                           }
+                       }));
+                   }
+
+                   var placement = isFirst ? 'start' : 'end',
+                       messageID = wayType + '.',
+                       referenceID = wayType + '.';
+
+                   if (wayType === 'waterway') {
+                       messageID += 'connected.' + placement;
+                       referenceID += 'connected';
+                   } else {
+                       messageID += placement;
+                       referenceID += placement;
+                   }
+
+                   return [new validationIssue({
+                       type: type,
+                       subtype: wayType,
+                       severity: 'warning',
+                       message: function(context) {
+                           var entity = context.hasEntity(this.entityIds[0]);
+                           return entity ? t('issues.impossible_oneway.' + messageID + '.message', {
+                               feature: utilDisplayLabel(entity, context)
+                           }) : '';
+                       },
+                       reference: getReference(referenceID),
+                       entityIds: [way.id, node.id],
+                       fixes: fixes
+                   })];
+
+                   function getReference(referenceID) {
+                       return function showReference(selection) {
+                           selection.selectAll('.issue-reference')
+                               .data([0])
+                               .enter()
+                               .append('div')
+                               .attr('class', 'issue-reference')
+                               .text(t('issues.impossible_oneway.' + referenceID + '.reference'));
+                       };
+                   }
+               }
+           };
+
+           function continueDrawing(way, vertex, context) {
+               // make sure the vertex is actually visible and editable
+               var map = context.map();
+               if (!map.editable() || !map.trimmedExtent().contains(vertex.loc)) {
+                   map.zoomToEase(vertex);
+               }
+
+               context.enter(
+                   modeDrawLine(context, way.id, context.graph(), context.graph(), 'line', way.affix(vertex.id), true)
+               );
+           }
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationIncompatibleSource() {
+           var type = 'incompatible_source';
+           var invalidSources = [
+               {
+                   id:'google', regex:'google', exceptRegex: 'books.google|Google Books'
+               }
+           ];
+
+           var validation = function checkIncompatibleSource(entity) {
+
+               var entitySources = entity.tags && entity.tags.source && entity.tags.source.split(';');
+
+               if (!entitySources) return [];
+
+               var issues = [];
+
+               invalidSources.forEach(function(invalidSource) {
+
+                   var hasInvalidSource = entitySources.some(function(source) {
+                       if (!source.match(new RegExp(invalidSource.regex, 'i'))) return false;
+                       if (invalidSource.exceptRegex && source.match(new RegExp(invalidSource.exceptRegex, 'i'))) return false;
+                       return true;
+                   });
+
+                   if (!hasInvalidSource) return;
+
+                   issues.push(new validationIssue({
+                       type: type,
+                       severity: 'warning',
+                       message: function(context) {
+                           var entity = context.hasEntity(this.entityIds[0]);
+                           return entity ? t('issues.incompatible_source.' + invalidSource.id + '.feature.message', {
+                               feature: utilDisplayLabel(entity, context)
+                           }) : '';
+                       },
+                       reference: getReference(invalidSource.id),
+                       entityIds: [entity.id],
+                       fixes: [
+                           new validationIssueFix({
+                               title: t('issues.fix.remove_proprietary_data.title')
+                           })
+                       ]
+                   }));
+               });
+
+               return issues;
+
+
+               function getReference(id) {
+                   return function showReference(selection) {
+                       selection.selectAll('.issue-reference')
+                           .data([0])
+                           .enter()
+                           .append('div')
+                           .attr('class', 'issue-reference')
+                           .text(t('issues.incompatible_source.' + id + '.reference'));
+                   };
+               }
+           };
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationFormatting() {
+           var type = 'invalid_format';
+
+           var validation = function(entity) {
+               var issues = [];
+
+               function isValidEmail(email) {
+                   // Emails in OSM are going to be official so they should be pretty simple
+                   // Using negated lists to better support all possible unicode characters (#6494)
+                   var valid_email = /^[^\(\)\\,":;<>@\[\]]+@[^\(\)\\,":;<>@\[\]\.]+(?:\.[a-z0-9-]+)*$/i;
+
+                   // An empty value is also acceptable
+                   return (!email || valid_email.test(email));
+               }
+
+               function isSchemePresent(url) {
+                   var valid_scheme = /^https?:\/\//i;
+                   return (!url || valid_scheme.test(url));
+               }
+
+               function showReferenceEmail(selection) {
+                   selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter()
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.invalid_format.email.reference'));
+               }
+
+               function showReferenceWebsite(selection) {
+                   selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter()
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.invalid_format.website.reference'));
+               }
+
+               if (entity.tags.website) {
+                   // Multiple websites are possible
+                   // If ever we support ES6, arrow functions make this nicer
+                   var websites = entity.tags.website
+                       .split(';')
+                       .map(function(s) { return s.trim(); })
+                       .filter(function(x) { return !isSchemePresent(x); });
+
+                   if (websites.length) {
+                       issues.push(new validationIssue({
+                           type: type,
+                           subtype: 'website',
+                           severity: 'warning',
+                           message: function(context) {
+                               var entity = context.hasEntity(this.entityIds[0]);
+                               return entity ? t('issues.invalid_format.website.message' + this.data,
+                                   { feature: utilDisplayLabel(entity, context), site: websites.join(', ') }) : '';
+                           },
+                           reference: showReferenceWebsite,
+                           entityIds: [entity.id],
+                           hash: websites.join(),
+                           data: (websites.length > 1) ? '_multi' : ''
+                       }));
+                   }
+               }
+
+               if (entity.tags.email) {
+                   // Multiple emails are possible
+                   var emails = entity.tags.email
+                       .split(';')
+                       .map(function(s) { return s.trim(); })
+                       .filter(function(x) { return !isValidEmail(x); });
+
+                   if (emails.length) {
+                       issues.push(new validationIssue({
+                           type: type,
+                           subtype: 'email',
+                           severity: 'warning',
+                           message: function(context) {
+                               var entity = context.hasEntity(this.entityIds[0]);
+                               return entity ? t('issues.invalid_format.email.message' + this.data,
+                                   { feature: utilDisplayLabel(entity, context), email: emails.join(', ') }) : '';
+                           },
+                           reference: showReferenceEmail,
+                           entityIds: [entity.id],
+                           hash: emails.join(),
+                           data: (emails.length > 1) ? '_multi' : ''
+                       }));
+                   }
+               }
+
+               return issues;
+           };
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationMaprules() {
+           var type = 'maprules';
+
+           var validation = function checkMaprules(entity, graph) {
+               if (!services$1.maprules) return [];
+
+               var rules = services$1.maprules.validationRules();
+               var issues = [];
+
+               for (var i = 0; i < rules.length; i++) {
+                   var rule = rules[i];
+                   rule.findIssues(entity, graph, issues);
+               }
+
+               return issues;
+           };
+
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationMissingRole() {
+           var type = 'missing_role';
+
+           var validation = function checkMissingRole(entity, graph) {
+               var issues = [];
+               if (entity.type === 'way') {
+                   graph.parentRelations(entity).forEach(function(relation) {
+                       if (!relation.isMultipolygon()) return;
+
+                       var member = relation.memberById(entity.id);
+                       if (member && isMissingRole(member)) {
+                           issues.push(makeIssue(entity, relation, member));
+                       }
+                   });
+               } else if (entity.type === 'relation' && entity.isMultipolygon()) {
+                   entity.indexedMembers().forEach(function(member) {
+                       var way = graph.hasEntity(member.id);
+                       if (way && isMissingRole(member)) {
+                           issues.push(makeIssue(way, entity, member));
+                       }
+                   });
+               }
+
+               return issues;
+           };
+
+
+           function isMissingRole(member) {
+               return !member.role || !member.role.trim().length;
+           }
+
+
+           function makeIssue(way, relation, member) {
+               return new validationIssue({
+                   type: type,
+                   severity: 'warning',
+                   message: function(context) {
+                       var member = context.hasEntity(this.entityIds[1]),
+                           relation = context.hasEntity(this.entityIds[0]);
+                       return (member && relation) ? t('issues.missing_role.message', {
+                           member: utilDisplayLabel(member, context),
+                           relation: utilDisplayLabel(relation, context)
+                       }) : '';
+                   },
+                   reference: showReference,
+                   entityIds: [relation.id, way.id],
+                   data: {
+                       member: member
+                   },
+                   hash: member.index.toString(),
+                   fixes: [
+                       makeAddRoleFix('inner'),
+                       makeAddRoleFix('outer'),
+                       new validationIssueFix({
+                           icon: 'iD-operation-delete',
+                           title: t('issues.fix.remove_from_relation.title'),
+                           onClick: function(context) {
+                               context.perform(
+                                   actionDeleteMember(this.issue.entityIds[0], this.issue.data.member.index),
+                                   t('operations.delete_member.annotation')
+                               );
+                           }
+                       })
+                   ]
+               });
+
+
+               function showReference(selection) {
+                   selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter()
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.missing_role.multipolygon.reference'));
+               }
+           }
+
+
+           function makeAddRoleFix(role) {
+               return new validationIssueFix({
+                   title: t('issues.fix.set_as_' + role + '.title'),
+                   onClick: function(context) {
+                       var oldMember = this.issue.data.member;
+                       var member = { id: this.issue.entityIds[1], type: oldMember.type, role: role };
+                       context.perform(
+                           actionChangeMember(this.issue.entityIds[0], member, oldMember.index),
+                           t('operations.change_role.annotation')
+                       );
+                   }
+               });
+           }
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationMissingTag() {
+           var type = 'missing_tag';
+
+
+           function hasDescriptiveTags(entity) {
+               var keys = Object.keys(entity.tags)
+                   .filter(function(k) {
+                       if (k === 'area' || k === 'name') {
+                           return false;
+                       } else {
+                           return osmIsInterestingTag(k);
+                       }
+                   });
+
+               if (entity.type === 'relation' && keys.length === 1) {
+                   return entity.tags.type !== 'multipolygon';
+               }
+               return keys.length > 0;
+           }
+
+
+           function isUnknownRoad(entity) {
+               return entity.type === 'way' && entity.tags.highway === 'road';
+           }
+
+           function isUntypedRelation(entity) {
+               return entity.type === 'relation' && !entity.tags.type;
+           }
+
+
+           var validation = function checkMissingTag(entity, graph) {
+
+               // ignore vertex features and relation members
+               if (entity.geometry(graph) === 'vertex' || entity.hasParentRelations(graph)) {
+                   return [];
+               }
+
+               var subtype;
+
+               if (Object.keys(entity.tags).length === 0) {
+                   subtype = 'any';
+               } else if (!hasDescriptiveTags(entity)) {
+                   subtype = 'descriptive';
+               } else if (isUntypedRelation(entity)) {
+                   subtype = 'relation_type';
+               } else if (isUnknownRoad(entity)) {
+                   subtype = 'highway_classification';
+               }
+
+               if (!subtype) return [];
+
+               var selectFixType = subtype === 'highway_classification' ? 'select_road_type' : 'select_preset';
+
+               var fixes = [
+                   new validationIssueFix({
+                       icon: 'iD-icon-search',
+                       title: t('issues.fix.' + selectFixType + '.title'),
+                       onClick: function(context) {
+                           context.ui().sidebar.showPresetList();
+                       }
+                   })
+               ];
+
+               // can always delete if the user created it in the first place..
+               var canDelete = (entity.version === undefined || entity.v !== undefined);
+               fixes.push(
+                   new validationIssueFix({
+                       icon: 'iD-operation-delete',
+                       title: t('issues.fix.delete_feature.title'),
+                       onClick: function(context) {
+                           var id = this.issue.entityIds[0];
+                           var operation = operationDelete([id], context);
+                           if (!operation.disabled()) {
+                               operation();
+                           }
+                       }
+                   })
+               );
+
+               var messageID = subtype === 'highway_classification' ? 'unknown_road' : 'missing_tag.' + subtype;
+               var referenceID = subtype === 'highway_classification' ? 'unknown_road' : 'missing_tag';
+
+               var severity = (canDelete && subtype !== 'highway_classification') ? 'error' : 'warning';
+
+               return [new validationIssue({
+                   type: type,
+                   subtype: subtype,
+                   severity: severity,
+                   message: function(context) {
+                       var entity = context.hasEntity(this.entityIds[0]);
+                       return entity ? t('issues.' + messageID + '.message', {
+                           feature: utilDisplayLabel(entity, context)
+                       }) : '';
+                   },
+                   reference: showReference,
+                   entityIds: [entity.id],
+                   fixes: fixes
+               })];
+
+
+               function showReference(selection) {
+                   selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter()
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.' + referenceID + '.reference'));
+               }
+           };
+
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationOutdatedTags(context) {
+           var type = 'outdated_tags';
+
+           // initialize name-suggestion-index matcher
+           var nsiMatcher = matcher$1();
+           nsiMatcher.buildMatchIndex(brands$1.brands);
+           var nsiKeys = ['amenity', 'shop', 'tourism', 'leisure', 'office'];
+
+           var allWD = {};
+           var allWP = {};
+           Object.keys(brands$1.brands).forEach(function(kvnd) {
+               var brand = brands$1.brands[kvnd];
+               var wd = brand.tags['brand:wikidata'];
+               var wp = brand.tags['brand:wikipedia'];
+               if (wd) { allWD[wd] = kvnd; }
+               if (wp) { allWP[wp] = kvnd; }
+           });
+
+
+           function oldTagIssues(entity, graph) {
+               var oldTags = Object.assign({}, entity.tags);  // shallow copy
+               var preset = context.presets().match(entity, graph);
+               var explicitPresetUpgrade = preset.replacement;
+               var subtype = 'deprecated_tags';
+
+               // upgrade preset..
+               if (preset.replacement) {
+                   var newPreset = context.presets().item(preset.replacement);
+                   graph = actionChangePreset(entity.id, preset, newPreset, true)(graph);  // true = skip field defaults
+                   entity = graph.entity(entity.id);
+                   preset = newPreset;
+               }
+
+               // upgrade tags..
+               var deprecatedTags = entity.deprecatedTags();
+               if (deprecatedTags.length) {
+                   deprecatedTags.forEach(function(tag) {
+                       graph = actionUpgradeTags(entity.id, tag.old, tag.replace)(graph);
+                   });
+                   entity = graph.entity(entity.id);
+               }
+
+               // add missing addTags..
+               var newTags = Object.assign({}, entity.tags);  // shallow copy
+               if (preset.tags !== preset.addTags) {
+                   Object.keys(preset.addTags).forEach(function(k) {
+                       if (!newTags[k]) {
+                           newTags[k] = preset.addTags[k];
+                           if (!explicitPresetUpgrade) {
+                               subtype = 'incomplete_tags';
+                           }
+                       }
+                   });
+               }
+
+               // Do `wikidata` or `wikipedia` identify this entity as a brand?  #6416
+               // If so, these tags can be swapped to `brand:wikidata`/`brand:wikipedia`
+               var isBrand;
+               if (newTags.wikidata) {                 // try matching `wikidata`
+                   isBrand = allWD[newTags.wikidata];
+               }
+               if (!isBrand && newTags.wikipedia) {    // fallback to `wikipedia`
+                   isBrand = allWP[newTags.wikipedia];
+               }
+               if (isBrand && !newTags.office) {       // but avoid doing this for corporate offices
+                   if (newTags.wikidata) {
+                       newTags['brand:wikidata'] = newTags.wikidata;
+                       delete newTags.wikidata;
+                   }
+                   if (newTags.wikipedia) {
+                       newTags['brand:wikipedia'] = newTags.wikipedia;
+                       delete newTags.wikipedia;
+                   }
+                   // I considered setting `name` and other tags here, but they aren't unique per wikidata
+                   // (Q2759586 -> in USA "Papa John's", in Russia "Папа Джонс")
+                   // So users will really need to use a preset or assign `name` themselves.
+               }
+
+               // try key/value|name match against name-suggestion-index
+               if (newTags.name) {
+                   for (var i = 0; i < nsiKeys.length; i++) {
+                       var k = nsiKeys[i];
+                       if (!newTags[k]) continue;
+
+                       var match = nsiMatcher.matchKVN(k, newTags[k], newTags.name);
+                       if (!match) continue;
+
+                       // for now skip ambiguous matches (like Target~(USA) vs Target~(Australia))
+                       if (match.d) continue;
+
+                       var brand = brands$1.brands[match.kvnd];
+                       if (brand && brand.tags['brand:wikidata']) {
+                           subtype = 'noncanonical_brand';
+
+                           var keepTags = ['takeaway'].reduce(function(acc, k) {
+                               if (newTags[k]) {
+                                   acc[k] = newTags[k];
+                               }
+                               return acc;
+                           }, {});
+
+                           nsiKeys.forEach(function(k) { delete newTags[k]; });
+                           Object.assign(newTags, brand.tags, keepTags);
+                           break;
+                       }
+                   }
+               }
+
+
+               // determine diff
+               var tagDiff = utilTagDiff(oldTags, newTags);
+               if (!tagDiff.length) return [];
+
+               var prefix = '';
+               if (subtype === 'noncanonical_brand') {
+                   prefix = 'noncanonical_brand.';
+               } else if (subtype === 'incomplete_tags') {
+                   prefix = 'incomplete.';
+               }
+
+               // don't allow autofixing brand tags
+               var autoArgs = subtype !== 'noncanonical_brand' ? [doUpgrade, t('issues.fix.upgrade_tags.annotation')] : null;
+
+               return [new validationIssue({
+                   type: type,
+                   subtype: subtype,
+                   severity: 'warning',
+                   message: showMessage,
+                   reference: showReference,
+                   entityIds: [entity.id],
+                   hash: JSON.stringify(tagDiff),
+                   fixes: [
+                       new validationIssueFix({
+                           autoArgs: autoArgs,
+                           title: t('issues.fix.upgrade_tags.title'),
+                           onClick: function(context) {
+                               context.perform(doUpgrade, t('issues.fix.upgrade_tags.annotation'));
+                           }
+                       })
+                   ]
+               })];
+
+
+               function doUpgrade(graph) {
+                   var currEntity = graph.hasEntity(entity.id);
+                   if (!currEntity) return graph;
+
+                   var newTags = Object.assign({}, currEntity.tags);  // shallow copy
+                   tagDiff.forEach(function(diff) {
+                       if (diff.type === '-') {
+                           delete newTags[diff.key];
+                       } else if (diff.type === '+') {
+                           newTags[diff.key] = diff.newVal;
+                       }
+                   });
+
+                   return actionChangeTags(currEntity.id, newTags)(graph);
+               }
+
+
+               function showMessage(context) {
+                   var currEntity = context.hasEntity(entity.id);
+                   if (!currEntity) return '';
+
+                   return t('issues.outdated_tags.' + prefix + 'message',
+                       { feature: utilDisplayLabel(currEntity, context) }
+                   );
+               }
+
+
+               function showReference(selection) {
+                   var enter = selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter();
+
+                   enter
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.outdated_tags.' + prefix + 'reference'));
+
+                   enter
+                       .append('strong')
+                       .text(t('issues.suggested'));
+
+                   enter
+                       .append('table')
+                       .attr('class', 'tagDiff-table')
+                       .selectAll('.tagDiff-row')
+                       .data(tagDiff)
+                       .enter()
+                       .append('tr')
+                       .attr('class', 'tagDiff-row')
+                       .append('td')
+                       .attr('class', function(d) {
+                           var klass = d.type === '+' ? 'add' : 'remove';
+                           return 'tagDiff-cell tagDiff-cell-' + klass;
+                       })
+                       .text(function(d) { return d.display; });
+               }
+           }
+
+
+           function oldMultipolygonIssues(entity, graph) {
+
+               var multipolygon, outerWay;
+               if (entity.type === 'relation') {
+                   outerWay = osmOldMultipolygonOuterMemberOfRelation(entity, graph);
+                   multipolygon = entity;
+               } else if (entity.type === 'way') {
+                   multipolygon = osmIsOldMultipolygonOuterMember(entity, graph);
+                   outerWay = entity;
+               } else {
+                   return [];
+               }
+
+               if (!multipolygon || !outerWay) return [];
+
+               return [new validationIssue({
+                   type: type,
+                   subtype: 'old_multipolygon',
+                   severity: 'warning',
+                   message: showMessage,
+                   reference: showReference,
+                   entityIds: [outerWay.id, multipolygon.id],
+                   fixes: [
+                       new validationIssueFix({
+                           autoArgs: [doUpgrade, t('issues.fix.move_tags.annotation')],
+                           title: t('issues.fix.move_tags.title'),
+                           onClick: function(context) {
+                               context.perform(doUpgrade, t('issues.fix.move_tags.annotation'));
+                           }
+                       })
+                   ]
+               })];
+
+
+               function doUpgrade(graph) {
+                   var currMultipolygon = graph.hasEntity(multipolygon.id);
+                   var currOuterWay = graph.hasEntity(outerWay.id);
+                   if (!currMultipolygon || !currOuterWay) return graph;
+
+                   currMultipolygon = currMultipolygon.mergeTags(currOuterWay.tags);
+                   graph = graph.replace(currMultipolygon);
+                   return actionChangeTags(currOuterWay.id, {})(graph);
+               }
+
+
+               function showMessage(context) {
+                   var currMultipolygon = context.hasEntity(multipolygon.id);
+                   if (!currMultipolygon) return '';
+
+                   return t('issues.old_multipolygon.message',
+                       { multipolygon: utilDisplayLabel(currMultipolygon, context) }
+                   );
+               }
+
+
+               function showReference(selection) {
+                   selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter()
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.old_multipolygon.reference'));
+               }
+           }
+
+
+           var validation = function checkOutdatedTags(entity, graph) {
+               var issues = oldMultipolygonIssues(entity, graph);
+               if (!issues.length) issues = oldTagIssues(entity, graph);
+               return issues;
+           };
+
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationPrivateData() {
+           var type = 'private_data';
+
+           // assume that some buildings are private
+           var privateBuildingValues = {
+               detached: true,
+               farm: true,
+               house: true,
+               houseboat: true,
+               residential: true,
+               semidetached_house: true,
+               static_caravan: true
+           };
+
+           // but they might be public if they have one of these other tags
+           var publicKeys = {
+               amenity: true,
+               craft: true,
+               historic: true,
+               leisure: true,
+               office: true,
+               shop: true,
+               tourism: true
+           };
+
+           // these tags may contain personally identifying info
+           var personalTags = {
+               'contact:email': true,
+               'contact:fax': true,
+               'contact:phone': true,
+               email: true,
+               fax: true,
+               phone: true
+           };
+
+
+           var validation = function checkPrivateData(entity) {
+               var tags = entity.tags;
+               if (!tags.building || !privateBuildingValues[tags.building]) return [];
+
+               var keepTags = {};
+               for (var k in tags) {
+                   if (publicKeys[k]) return [];  // probably a public feature
+                   if (!personalTags[k]) {
+                       keepTags[k] = tags[k];
+                   }
+               }
+
+               var tagDiff = utilTagDiff(tags, keepTags);
+               if (!tagDiff.length) return [];
+
+               var fixID = tagDiff.length === 1 ? 'remove_tag' : 'remove_tags';
+
+               return [new validationIssue({
+                   type: type,
+                   severity: 'warning',
+                   message: showMessage,
+                   reference: showReference,
+                   entityIds: [entity.id],
+                   fixes: [
+                       new validationIssueFix({
+                           icon: 'iD-operation-delete',
+                           title: t('issues.fix.' + fixID + '.title'),
+                           onClick: function(context) {
+                               context.perform(doUpgrade, t('issues.fix.upgrade_tags.annotation'));
+                           }
+                       })
+                   ]
+               })];
+
+
+               function doUpgrade(graph) {
+                   var currEntity = graph.hasEntity(entity.id);
+                   if (!currEntity) return graph;
+
+                   var newTags = Object.assign({}, currEntity.tags);  // shallow copy
+                   tagDiff.forEach(function(diff) {
+                       if (diff.type === '-') {
+                           delete newTags[diff.key];
+                       } else if (diff.type === '+') {
+                           newTags[diff.key] = diff.newVal;
+                       }
+                   });
+
+                   return actionChangeTags(currEntity.id, newTags)(graph);
+               }
+
+
+               function showMessage(context) {
+                   var currEntity = context.hasEntity(this.entityIds[0]);
+                   if (!currEntity) return '';
+
+                   return t('issues.private_data.contact.message',
+                       { feature: utilDisplayLabel(currEntity, context) }
+                   );
+               }
+
+
+               function showReference(selection) {
+                   var enter = selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter();
+
+                   enter
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.private_data.reference'));
+
+                   enter
+                       .append('strong')
+                       .text(t('issues.suggested'));
+
+                   enter
+                       .append('table')
+                       .attr('class', 'tagDiff-table')
+                       .selectAll('.tagDiff-row')
+                       .data(tagDiff)
+                       .enter()
+                       .append('tr')
+                       .attr('class', 'tagDiff-row')
+                       .append('td')
+                       .attr('class', function(d) {
+                           var klass = d.type === '+' ? 'add' : 'remove';
+                           return 'tagDiff-cell tagDiff-cell-' + klass;
+                       })
+                       .text(function(d) { return d.display; });
+               }
+           };
+
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationTagSuggestsArea(context) {
+           var type = 'tag_suggests_area';
+
+
+           var validation = function checkTagSuggestsArea(entity, graph) {
+               if (entity.type !== 'way' || entity.isClosed()) return [];
+
+               var tagSuggestingArea = entity.tagSuggestingArea();
+               if (!tagSuggestingArea) {
+                   return [];
+               }
+
+               if (context.presets().matchTags(tagSuggestingArea, 'line') ===
+                   context.presets().matchTags(tagSuggestingArea, 'area')) {
+                   // these tags also allow lines and making this an area wouldn't matter
+                   return [];
+               }
+
+               var tagText = utilTagText({ tags: tagSuggestingArea });
+               var fixes = [];
+
+               var connectEndpointsOnClick;
+
+               // must have at least three nodes to close this automatically
+               if (entity.nodes.length >= 3) {
+                   var nodes = graph.childNodes(entity), testNodes;
+                   var firstToLastDistanceMeters = geoSphericalDistance(nodes[0].loc, nodes[nodes.length-1].loc);
+
+                   // if the distance is very small, attempt to merge the endpoints
+                   if (firstToLastDistanceMeters < 0.75) {
+                       testNodes = nodes.slice();   // shallow copy
+                       testNodes.pop();
+                       testNodes.push(testNodes[0]);
+                       // make sure this will not create a self-intersection
+                       if (!geoHasSelfIntersections(testNodes, testNodes[0].id)) {
+                           connectEndpointsOnClick = function(context) {
+                               var way = context.entity(this.issue.entityIds[0]);
+                               context.perform(
+                                   actionMergeNodes([way.nodes[0], way.nodes[way.nodes.length-1]], nodes[0].loc),
+                                   t('issues.fix.connect_endpoints.annotation')
+                               );
+                           };
+                       }
+                   }
+
+                   if (!connectEndpointsOnClick) {
+                       // if the points were not merged, attempt to close the way
+                       testNodes = nodes.slice();   // shallow copy
+                       testNodes.push(testNodes[0]);
+                       // make sure this will not create a self-intersection
+                       if (!geoHasSelfIntersections(testNodes, testNodes[0].id)) {
+                           connectEndpointsOnClick = function(context) {
+                               var wayId = this.issue.entityIds[0];
+                               var way = context.entity(wayId);
+                               var nodeId = way.nodes[0];
+                               var index = way.nodes.length;
+                               context.perform(
+                                   actionAddVertex(wayId, nodeId, index),
+                                   t('issues.fix.connect_endpoints.annotation')
+                               );
+                           };
+                       }
+                   }
+               }
+
+               fixes.push(new validationIssueFix({
+                   title: t('issues.fix.connect_endpoints.title'),
+                   onClick: connectEndpointsOnClick
+               }));
+
+               fixes.push(new validationIssueFix({
+                   icon: 'iD-operation-delete',
+                   title: t('issues.fix.remove_tag.title'),
+                   onClick: function(context) {
+                       var entityId = this.issue.entityIds[0];
+                       var entity = context.entity(entityId);
+                       var tags = Object.assign({}, entity.tags);  // shallow copy
+                       for (var key in tagSuggestingArea) {
+                           delete tags[key];
+                       }
+                       context.perform(
+                           actionChangeTags(entityId, tags),
+                           t('issues.fix.remove_tag.annotation')
+                       );
+                   }
+               }));
+
+               return [new validationIssue({
+                   type: type,
+                   severity: 'warning',
+                   message: function(context) {
+                       var entity = context.hasEntity(this.entityIds[0]);
+                       return entity ? t('issues.tag_suggests_area.message', {
+                           feature: utilDisplayLabel(entity, context),
+                           tag: tagText
+                       }) : '';
+                   },
+                   reference: showReference,
+                   entityIds: [entity.id],
+                   hash: JSON.stringify(tagSuggestingArea) +
+                       // avoid stale "connect endpoints" fix
+                       (typeof connectEndpointsOnClick),
+                   fixes: fixes
+               })];
+
+
+               function showReference(selection) {
+                   selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter()
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.tag_suggests_area.reference'));
+               }
+           };
+
+           validation.type = type;
+
+           return validation;
+       }
+
+       function validationUnsquareWay(context) {
+           var type = 'unsquare_way';
+           var DEFAULT_DEG_THRESHOLD = 5;   // see also issues.js
+
+           // use looser epsilon for detection to reduce warnings of buildings that are essentially square already
+           var epsilon = 0.05;
+           var nodeThreshold = 10;
+
+           function isBuilding(entity, graph) {
+               if (entity.type !== 'way' || entity.geometry(graph) !== 'area') return false;
+               return entity.tags.building && entity.tags.building !== 'no';
+           }
+
+
+           var validation = function checkUnsquareWay(entity, graph) {
+
+               if (!isBuilding(entity, graph)) return [];
+
+               // don't flag ways marked as physically unsquare
+               if (entity.tags.nonsquare === 'yes') return [];
+
+               var isClosed = entity.isClosed();
+               if (!isClosed) return [];        // this building has bigger problems
+
+               // don't flag ways with lots of nodes since they are likely detail-mapped
+               var nodes = graph.childNodes(entity).slice();    // shallow copy
+               if (nodes.length > nodeThreshold + 1) return [];   // +1 because closing node appears twice
+
+               // ignore if not all nodes are fully downloaded
+               var osm = services$1.osm;
+               if (!osm || nodes.some(function(node) { return !osm.isDataLoaded(node.loc); })) return [];
+
+               // don't flag connected ways to avoid unresolvable unsquare loops
+               var hasConnectedSquarableWays = nodes.some(function(node) {
+                   return graph.parentWays(node).some(function(way) {
+                       if (way.id === entity.id) return false;
+                       if (isBuilding(way, graph)) return true;
+                       return graph.parentRelations(way).some(function(parentRelation) {
+                           return parentRelation.isMultipolygon() &&
+                               parentRelation.tags.building &&
+                               parentRelation.tags.building !== 'no';
+                       });
+                   });
+               });
+               if (hasConnectedSquarableWays) return [];
+
+
+               // user-configurable square threshold
+               var storedDegreeThreshold = context.storage('validate-square-degrees');
+               var degreeThreshold = isNaN(storedDegreeThreshold) ? DEFAULT_DEG_THRESHOLD : parseFloat(storedDegreeThreshold);
+
+               var points = nodes.map(function(node) { return context.projection(node.loc); });
+               if (!geoOrthoCanOrthogonalize(points, isClosed, epsilon, degreeThreshold, true)) return [];
+
+               var autoArgs;
+               // don't allow autosquaring features linked to wikidata
+               if (!entity.tags.wikidata) {
+                   // use same degree threshold as for detection
+                   var autoAction = actionOrthogonalize(entity.id, context.projection, undefined, degreeThreshold);
+                   autoAction.transitionable = false;  // when autofixing, do it instantly
+                   autoArgs = [autoAction, t('operations.orthogonalize.annotation.area')];
+               }
+
+               return [new validationIssue({
+                   type: type,
+                   severity: 'warning',
+                   message: function(context) {
+                       var entity = context.hasEntity(this.entityIds[0]);
+                       return entity ? t('issues.unsquare_way.message', { feature: utilDisplayLabel(entity, context) }) : '';
+                   },
+                   reference: showReference,
+                   entityIds: [entity.id],
+                   hash: JSON.stringify(autoArgs !== undefined) + degreeThreshold,
+                   fixes: [
+                       new validationIssueFix({
+                           icon: 'iD-operation-orthogonalize',
+                           title: t('issues.fix.square_feature.title'),
+                           autoArgs: autoArgs,
+                           onClick: function(context, completionHandler) {
+                               var entityId = this.issue.entityIds[0];
+                               // use same degree threshold as for detection
+                               context.perform(
+                                   actionOrthogonalize(entityId, context.projection, undefined, degreeThreshold),
+                                   t('operations.orthogonalize.annotation.area')
+                               );
+                               // run after the squaring transition (currently 150ms)
+                               window.setTimeout(function() { completionHandler(); }, 175);
+                           }
+                       }),
+                       /*
+                       new validationIssueFix({
+                           title: t('issues.fix.tag_as_unsquare.title'),
+                           onClick: function(context) {
+                               var entityId = this.issue.entityIds[0];
+                               var entity = context.entity(entityId);
+                               var tags = Object.assign({}, entity.tags);  // shallow copy
+                               tags.nonsquare = 'yes';
+                               context.perform(
+                                   actionChangeTags(entityId, tags),
+                                   t('issues.fix.tag_as_unsquare.annotation')
+                               );
+                           }
+                       })
+                       */
+                   ]
+               })];
+
+               function showReference(selection) {
+                   selection.selectAll('.issue-reference')
+                       .data([0])
+                       .enter()
+                       .append('div')
+                       .attr('class', 'issue-reference')
+                       .text(t('issues.unsquare_way.buildings.reference'));
+               }
+           };
+
+           validation.type = type;
+
+           return validation;
+       }
+
+
+
+       var Validations = /*#__PURE__*/Object.freeze({
+               validationAlmostJunction: validationAlmostJunction,
+               validationCloseNodes: validationCloseNodes,
+               validationCrossingWays: validationCrossingWays,
+               validationDisconnectedWay: validationDisconnectedWay,
+               validationFixmeTag: validationFixmeTag,
+               validationGenericName: validationGenericName,
+               validationImpossibleOneway: validationImpossibleOneway,
+               validationIncompatibleSource: validationIncompatibleSource,
+               validationFormatting: validationFormatting,
+               validationMaprules: validationMaprules,
+               validationMissingRole: validationMissingRole,
+               validationMissingTag: validationMissingTag,
+               validationOutdatedTags: validationOutdatedTags,
+               validationPrivateData: validationPrivateData,
+               validationTagSuggestsArea: validationTagSuggestsArea,
+               validationUnsquareWay: validationUnsquareWay
+       });
+
+       function coreValidator(context) {
+           var dispatch$1 = dispatch('validated', 'focusedIssue');
+           var validator = utilRebind({}, dispatch$1, 'on');
+
+           var _rules = {};
+           var _disabledRules = {};
+
+           var _ignoredIssueIDs = {};       // issue.id -> true
+           var _issuesByIssueID = {};       // issue.id -> issue
+           var _issuesByEntityID = {};      // entity.id -> set(issue.id)
+           var _validatedGraph = null;
+           var _deferred = new Set();
+
+           //
+           // initialize the validator rulesets
+           //
+           validator.init = function() {
+               Object.values(Validations).forEach(function(validation) {
+                   if (typeof validation !== 'function') return;
+
+                   var fn = validation(context);
+                   var key = fn.type;
+                   _rules[key] = fn;
+               });
+
+               var disabledRules = context.storage('validate-disabledRules');
+               if (disabledRules) {
+                   disabledRules.split(',')
+                       .forEach(function(key) { _disabledRules[key] = true; });
+               }
+           };
+
+
+           //
+           // clear caches, called whenever iD resets after a save
+           //
+           validator.reset = function() {
+               Array.from(_deferred).forEach(function(handle) {
+                   window.cancelIdleCallback(handle);
+                   _deferred.delete(handle);
+               });
+
+               // clear caches
+               _ignoredIssueIDs = {};
+               _issuesByIssueID = {};
+               _issuesByEntityID = {};
+               _validatedGraph = null;
+
+               for (var key in _rules) {
+                   if (typeof _rules[key].reset === 'function') {
+                       _rules[key].reset();   // 'crossing_ways' is the only one like this
+                   }
+               }
+           };
+
+           validator.resetIgnoredIssues = function() {
+               _ignoredIssueIDs = {};
+               // reload UI
+               dispatch$1.call('validated');
+           };
+
+
+           // when the user changes the squaring thereshold, rerun this on all buildings
+           validator.changeSquareThreshold = function() {
+               var checkUnsquareWay = _rules.unsquare_way;
+               if (typeof checkUnsquareWay !== 'function') return;
+
+               // uncache existing
+               Object.values(_issuesByIssueID)
+                   .filter(function(issue) { return issue.type === 'unsquare_way'; })
+                   .forEach(function(issue) {
+                       var entityId = issue.entityIds[0];   // always 1 entity for unsquare way
+                       if (_issuesByEntityID[entityId]) {
+                           _issuesByEntityID[entityId].delete(issue.id);
+                       }
+                       delete _issuesByIssueID[issue.id];
+                   });
+
+               var buildings = context.intersects(geoExtent([-180,-90],[180, 90]))  // everywhere
+                   .filter(function(entity) {
+                       return entity.type === 'way' && entity.tags.building && entity.tags.building !== 'no';
+                   });
+
+               // rerun for all buildings
+               buildings.forEach(function(entity) {
+                   var detected = checkUnsquareWay(entity, context);
+                   if (detected.length !== 1) return;
+
+                   var issue = detected[0];
+                   var ignoreFix = new validationIssueFix({
+                       title: t('issues.fix.ignore_issue.title'),
+                       icon: 'iD-icon-close',
+                       onClick: function() {
+                           ignoreIssue(this.issue.id);
+                       }
+                   });
+                   ignoreFix.type = 'ignore';
+                   ignoreFix.issue = issue;
+                   issue.fixes.push(ignoreFix);
+
+                   if (!_issuesByEntityID[entity.id]) {
+                       _issuesByEntityID[entity.id] = new Set();
+                   }
+                   _issuesByEntityID[entity.id].add(issue.id);
+                   _issuesByIssueID[issue.id] = issue;
+               });
+
+               dispatch$1.call('validated');
+           };
+
+
+           // options = {
+           //     what: 'all',     // 'all' or 'edited'
+           //     where: 'all',   // 'all' or 'visible'
+           //     includeIgnored: false   // true, false, or 'only'
+           //     includeDisabledRules: false   // true, false, or 'only'
+           // };
+           validator.getIssues = function(options) {
+               var opts = Object.assign({ what: 'all', where: 'all', includeIgnored: false, includeDisabledRules: false }, options);
+               var issues = Object.values(_issuesByIssueID);
+               var changes = context.history().difference().changes();
+               var view = context.map().extent();
+
+               return issues.filter(function(issue) {
+                   if (opts.includeDisabledRules === 'only' && !_disabledRules[issue.type]) return false;
+                   if (!opts.includeDisabledRules && _disabledRules[issue.type]) return false;
+
+                   if (opts.includeIgnored === 'only' && !_ignoredIssueIDs[issue.id]) return false;
+                   if (!opts.includeIgnored && _ignoredIssueIDs[issue.id]) return false;
+
+                   // Sanity check:  This issue may be for an entity that not longer exists.
+                   // If we detect this, uncache and return false so it is not included..
+                   var entityIds = issue.entityIds || [];
+                   for (var i = 0; i < entityIds.length; i++) {
+                       var entityId = entityIds[i];
+                       if (!context.hasEntity(entityId)) {
+                           delete _issuesByEntityID[entityId];
+                           delete _issuesByIssueID[issue.id];
+                           return false;
+                       }
+                   }
+
+                   if (opts.what === 'edited') {
+                       var isEdited = entityIds.some(function(entityId) { return changes[entityId]; });
+                       if (entityIds.length && !isEdited) return false;
+                   }
+
+                   if (opts.where === 'visible') {
+                       var extent = issue.extent(context.graph());
+                       if (!view.intersects(extent)) return false;
+                   }
+
+                   return true;
+               });
+           };
+
+           validator.focusIssue = function(issue) {
+               var extent = issue.extent(context.graph());
+
+               if (extent) {
+                   var setZoom = Math.max(context.map().zoom(), 19);
+                   context.map().unobscuredCenterZoomEase(extent.center(), setZoom);
+
+                   // select the first entity
+                   if (issue.entityIds && issue.entityIds.length) {
+                       window.setTimeout(function() {
+                           var ids = issue.entityIds;
+                           context.enter(modeSelect(context, [ids[0]]));
+                           dispatch$1.call('focusedIssue', this, issue);
+                       }, 250);  // after ease
+                   }
+               }
+           };
+
+
+           validator.getIssuesBySeverity = function(options) {
+               var groups = utilArrayGroupBy(validator.getIssues(options), 'severity');
+               groups.error = groups.error || [];
+               groups.warning = groups.warning || [];
+               return groups;
+           };
+
+
+           validator.getEntityIssues = function(entityID, options) {
+               var issueIDs = _issuesByEntityID[entityID];
+               if (!issueIDs) return [];
+
+               var opts = options || {};
+
+               return Array.from(issueIDs)
+                   .map(function(id) { return _issuesByIssueID[id]; })
+                   .filter(function(issue) {
+                       if (opts.includeDisabledRules === 'only' && !_disabledRules[issue.type]) return false;
+                       if (!opts.includeDisabledRules && _disabledRules[issue.type]) return false;
+
+                       if (opts.includeIgnored === 'only' && !_ignoredIssueIDs[issue.id]) return false;
+                       if (!opts.includeIgnored && _ignoredIssueIDs[issue.id]) return false;
+
+                       return true;
+                   });
+           };
+
+
+           validator.getRuleKeys = function() {
+               return Object.keys(_rules)
+                   .filter(function(key) { return key !== 'maprules'; })
+                   .sort(function(key1, key2) {
+                       // alphabetize by localized title
+                       return t('issues.' + key1 + '.title') < t('issues.' + key2 + '.title') ? -1 : 1;
+                   });
+           };
+
+
+           validator.isRuleEnabled = function(key) {
+               return !_disabledRules[key];
+           };
+
+
+           validator.toggleRule = function(key) {
+               if (_disabledRules[key]) {
+                   delete _disabledRules[key];
+               } else {
+                   _disabledRules[key] = true;
+               }
+
+               context.storage('validate-disabledRules', Object.keys(_disabledRules).join(','));
+               validator.validate();
+           };
+
+
+           validator.disableRules = function(keys) {
+               _disabledRules = {};
+               keys.forEach(function(k) {
+                   _disabledRules[k] = true;
+               });
+
+               context.storage('validate-disabledRules', Object.keys(_disabledRules).join(','));
+               validator.validate();
+           };
+
+
+           //
+           // Remove a single entity and all its related issues from the caches
+           //
+           function uncacheEntityID(entityID) {
+               var issueIDs = _issuesByEntityID[entityID];
+               if (!issueIDs) return;
+
+               issueIDs.forEach(function(issueID) {
+                   var issue = _issuesByIssueID[issueID];
+                   if (issue) {
+                       // When multiple entities are involved (e.g. crossing_ways),
+                       // remove this issue from the other entity caches too..
+                       var entityIds = issue.entityIds || [];
+                       entityIds.forEach(function(other) {
+                           if (other !== entityID) {
+                               if (_issuesByEntityID[other]) {
+                                   _issuesByEntityID[other].delete(issueID);
+                               }
+                           }
+                       });
+                   }
+
+                   delete _issuesByIssueID[issueID];
+               });
+
+               delete _issuesByEntityID[entityID];
+           }
+
+
+           function ignoreIssue(id) {
+               _ignoredIssueIDs[id] = true;
+           }
+
+
+           //
+           // Run validation on a single entity for the given graph
+           //
+           function validateEntity(entity, graph) {
+               var entityIssues = [];
+               var ran = {};
+
+               // runs validation and appends resulting issues,
+               // returning true if validation passed without issue
+               function runValidation(key) {
+                   if (ran[key]) return true;
+
+                   var fn = _rules[key];
+                   if (typeof fn !== 'function') {
+                       console.error('no such validation rule = ' + key);  // eslint-disable-line no-console
+                       ran[key] = true;
+                       return true;
+                   }
+
+                   var detected = fn(entity, graph);
+                   detected.forEach(function(issue) {
+                       var hasIgnoreFix = issue.fixes && issue.fixes.length && issue.fixes[issue.fixes.length - 1].type === 'ignore';
+                       if (issue.severity === 'warning' && !hasIgnoreFix) {
+                           var ignoreFix = new validationIssueFix({
+                               title: t('issues.fix.ignore_issue.title'),
+                               icon: 'iD-icon-close',
+                               onClick: function() {
+                                   ignoreIssue(this.issue.id);
+                               }
+                           });
+                           ignoreFix.type = 'ignore';
+                           ignoreFix.issue = issue;
+                           issue.fixes.push(ignoreFix);
+                       }
+                   });
+                   entityIssues = entityIssues.concat(detected);
+                   ran[key] = true;
+                   return !detected.length;
+               }
+
+               // run some validations manually to control the order and to skip some
+
+               runValidation('missing_role');
+
+               if (entity.type === 'relation') {
+                   if (!runValidation('outdated_tags')) {
+                       // don't flag missing tags if they are on the outer way
+                       ran.missing_tag = true;
+                   }
+               }
+
+               runValidation('missing_tag');
+
+               runValidation('outdated_tags');
+
+               runValidation('crossing_ways');
+               runValidation('almost_junction');
+
+               // only check impossible_oneway if no disconnected_way issues
+               if (runValidation('disconnected_way')) {
+                   runValidation('impossible_oneway');
+               } else {
+                   ran.impossible_oneway = true;
+               }
+
+               runValidation('tag_suggests_area');
+
+               // run all rules not yet run
+               Object.keys(_rules).forEach(runValidation);
+
+               return entityIssues;
+           }
+
+           function entityIDsToValidate(entityIDs, graph) {
+               var processedIDs = new Set();
+               return entityIDs.reduce(function(acc, entityID) {
+                   // keep redundancy check separate from `acc` because an `entityID`
+                   // could have been added to `acc` as a related entity through an earlier pass
+                   if (processedIDs.has(entityID)) return acc;
+                   processedIDs.add(entityID);
+
+                   var entity = graph.hasEntity(entityID);
+                   if (!entity) return acc;
+
+                   acc.add(entityID);
+
+                   var checkParentRels = [entity];
+
+                   if (entity.type === 'node') {   // include parent ways
+                       graph.parentWays(entity).forEach(function(parentWay) {
+                           acc.add(parentWay.id);
+                           checkParentRels.push(parentWay);
+                       });
+                   } else if (entity.type === 'relation') {   // include members
+                       entity.members.forEach(function(member) {
+                           acc.add(member.id);
+                       });
+                   } else if (entity.type === 'way') {   // include connected ways
+                       entity.nodes.forEach(function(nodeID) {
+                           graph._parentWays[nodeID].forEach(function(wayID) {
+                               acc.add(wayID);
+                           });
+                       });
+                   }
+
+                   checkParentRels.forEach(function(entity) {   // include parent relations
+                       if (entity.type !== 'relation') {        // but not super-relations
+                           graph.parentRelations(entity).forEach(function(parentRelation) {
+                               acc.add(parentRelation.id);
+                           });
+                       }
+                   });
+
+                   return acc;
+
+               }, new Set());
+           }
+
+           //
+           // Run validation for several entities, supplied `entityIDs`
+           //
+           function validateEntities(entityIDs) {
+
+               var graph = context.graph();
+
+               // clear caches for existing issues related to these entities
+               entityIDs.forEach(uncacheEntityID);
+
+               // detect new issues and update caches
+               entityIDs.forEach(function(entityID) {
+                   var entity = graph.hasEntity(entityID);
+                   // don't validate deleted entities
+                   if (!entity) return;
+
+                   var issues = validateEntity(entity, graph);
+                   issues.forEach(function(issue) {
+                       var entityIds = issue.entityIds || [];
+                       entityIds.forEach(function(entityId) {
+                           if (!_issuesByEntityID[entityId]) {
+                               _issuesByEntityID[entityId] = new Set();
+                           }
+                           _issuesByEntityID[entityId].add(issue.id);
+                       });
+                       _issuesByIssueID[issue.id] = issue;
+                   });
+               });
+
+               dispatch$1.call('validated');
+           }
+
+
+           //
+           // Validates anything that has changed since the last time it was run.
+           // Also updates the "validatedGraph" to be the current graph
+           // and dispatches a `validated` event when finished.
+           //
+           validator.validate = function() {
+               var currGraph = context.graph();
+               _validatedGraph = _validatedGraph || context.history().base();
+               if (currGraph === _validatedGraph) {
+                   dispatch$1.call('validated');
+                   return;
+               }
+               var oldGraph = _validatedGraph;
+               var difference = coreDifference(oldGraph, currGraph);
+               _validatedGraph = currGraph;
+
+               for (var key in _rules) {
+                   if (typeof _rules[key].reset === 'function') {
+                       _rules[key].reset();   // 'crossing_ways' is the only one like this
+                   }
+               }
+
+               var createdAndModifiedEntityIDs = difference.extantIDs(true);   // created/modified (true = w/relation members)
+               var entityIDsToCheck = entityIDsToValidate(createdAndModifiedEntityIDs, currGraph);
+
+               // "validate" deleted entities in order to update their related entities
+               // (e.g. deleting the only highway connected to a road should create a disconnected highway issue)
+               var deletedEntityIDs = difference.deleted().map(function(entity) { return entity.id; });
+               var entityIDsToCheckForDeleted = entityIDsToValidate(deletedEntityIDs, oldGraph);
+
+               // concat the sets
+               entityIDsToCheckForDeleted.forEach(entityIDsToCheck.add, entityIDsToCheck);
+
+               validateEntities(entityIDsToCheck);   // dispatches 'validated'
+           };
+
+
+           // WHEN TO RUN VALIDATION:
+           // When graph changes:
+           context.history()
+               .on('restore.validator', validator.validate)   // restore saved history
+               .on('undone.validator', validator.validate)    // undo
+               .on('redone.validator', validator.validate);   // redo
+               // but not on 'change' (e.g. while drawing)
+
+           // When user chages editing modes:
+           context
+               .on('exit.validator', validator.validate);
+
+           // When merging fetched data:
+           context.history()
+               .on('merge.validator', function(entities) {
+                   if (!entities) return;
+                   var handle = window.requestIdleCallback(function() {
+                       var ids = entities.map(function(entity) { return entity.id; });
+                       validateEntities(entityIDsToValidate(ids, context.graph()));
+                   });
+                   _deferred.add(handle);
+               });
+
+
+           return validator;
+       }
+
+       function presetCollection(collection) {
+           var maxSearchResults = 50;
+
+           var presets = {
+
+               collection: collection,
+
+
+               item: function(id) {
+                   return this.collection.find(function(d) {
+                       return d.id === id;
+                   });
+               },
+
+               index: function(id) {
+                   return this.collection.findIndex(function(d) {
+                       return d.id === id;
+                   });
+               },
+
+               matchGeometry: function(geometry) {
+                   return presetCollection(this.collection.filter(function(d) {
+                       return d.matchGeometry(geometry);
+                   }));
+               },
+
+               matchAnyGeometry: function(geometries) {
+                   return presetCollection(this.collection.filter(function(d) {
+                       return geometries.some(function(geometry) {
+                           return d.matchGeometry(geometry);
+                       });
+                   }));
+               },
+
+               fallback: function(geometry) {
+                   var id = geometry;
+                   if (id === 'vertex') id = 'point';
+                   return this.item(id);
+               },
+
+               search: function(value, geometry, countryCode) {
+                   if (!value) return this;
+
+                   value = value.toLowerCase().trim();
+
+                   // match at name beginning or just after a space (e.g. "office" -> match "Law Office")
+                   function leading(a) {
+                       var index = a.indexOf(value);
+                       return index === 0 || a[index - 1] === ' ';
+                   }
+
+                   // match at name beginning only
+                   function leadingStrict(a) {
+                       var index = a.indexOf(value);
+                       return index === 0;
+                   }
+
+                   function sortNames(a, b) {
+                       var aCompare = (a.suggestion ? a.originalName : a.name()).toLowerCase();
+                       var bCompare = (b.suggestion ? b.originalName : b.name()).toLowerCase();
+
+                       // priority if search string matches preset name exactly - #4325
+                       if (value === aCompare) return -1;
+                       if (value === bCompare) return 1;
+
+                       // priority for higher matchScore
+                       var i = b.originalScore - a.originalScore;
+                       if (i !== 0) return i;
+
+                       // priority if search string appears earlier in preset name
+                       i = aCompare.indexOf(value) - bCompare.indexOf(value);
+                       if (i !== 0) return i;
+
+                       // priority for shorter preset names
+                       return aCompare.length - bCompare.length;
+                   }
+
+                   var pool = this.collection;
+                   if (countryCode) {
+                       pool = pool.filter(function(a) {
+                           if (!a.countryCodes) return true;
+                           return a.countryCodes.indexOf(countryCode) !== -1;
+                       });
+                   }
+                   var searchable = pool.filter(function(a) {
+                       return a.searchable !== false && a.suggestion !== true;
+                   });
+                   var suggestions = pool.filter(function(a) {
+                       return a.suggestion === true;
+                   });
+
+                   // matches value to preset.name
+                   var leading_name = searchable
+                       .filter(function(a) {
+                           return leading(a.name().toLowerCase());
+                       }).sort(sortNames);
+
+                   // matches value to preset.terms values
+                   var leading_terms = searchable
+                       .filter(function(a) {
+                           return (a.terms() || []).some(leading);
+                       });
+
+                   // matches value to preset.tags values
+                   var leading_tag_values = searchable
+                       .filter(function(a) {
+                           return Object.values(a.tags || {})
+                               .filter(function(val) { return val !== '*'; })
+                               .some(leading);
+                       });
+
+                   var leading_suggestions = suggestions
+                       .filter(function(a) {
+                           return leadingStrict(a.originalName.toLowerCase());
+                       }).sort(sortNames);
+
+                   // finds close matches to value in preset.name
+                   var similar_name = searchable
+                       .map(function(a) {
+                           return { preset: a, dist: utilEditDistance(value, a.name()) };
+                       }).filter(function(a) {
+                           return a.dist + Math.min(value.length - a.preset.name().length, 0) < 3;
+                       }).sort(function(a, b) {
+                           return a.dist - b.dist;
+                       }).map(function(a) {
+                           return a.preset;
+                       });
+
+                   // finds close matches to value in preset.terms
+                   var similar_terms = searchable
+                       .filter(function(a) {
+                           return (a.terms() || []).some(function(b) {
+                               return utilEditDistance(value, b) + Math.min(value.length - b.length, 0) < 3;
+                           });
+                       });
+
+                   var similar_suggestions = suggestions
+                       .map(function(a) {
+                           return { preset: a, dist: utilEditDistance(value, a.originalName.toLowerCase()) };
+                       }).filter(function(a) {
+                           return a.dist + Math.min(value.length - a.preset.originalName.length, 0) < 1;
+                       }).sort(function(a, b) {
+                           return a.dist - b.dist;
+                       }).map(function(a) {
+                           return a.preset;
+                       });
+
+                   var results = leading_name.concat(
+                       leading_suggestions,
+                       leading_terms,
+                       leading_tag_values,
+                       similar_name,
+                       similar_suggestions,
+                       similar_terms
+                   ).slice(0, maxSearchResults - 1);
+
+                   if (geometry) {
+                       if (typeof geometry === 'string') {
+                           results.push(presets.fallback(geometry));
+                       } else {
+                           geometry.forEach(function(geom) {
+                               results.push(presets.fallback(geom));
+                           });
+                       }
+                   }
+
+                   return presetCollection(utilArrayUniq(results));
+               }
+           };
+
+
+           return presets;
+       }
+
+       function presetCategory(id, category, all) {
+           category = Object.assign({}, category);   // shallow copy
+
+           category.id = id;
+
+
+           category.members = presetCollection(category.members.map(function(id) {
+               return all.item(id);
+           }));
+
+
+           category.geometry = category.members.collection.reduce(function(geometries, preset) {
+               for (var index in preset.geometry) {
+                   var geometry = preset.geometry[index];
+                   if (geometries.indexOf(geometry) === -1) {
+                       geometries.push(geometry);
+                   }
+               }
+               return geometries;
+           }, []);
+
+
+           category.matchGeometry = function(geometry) {
+               return category.geometry.indexOf(geometry) >= 0;
+           };
+
+
+           category.matchScore = function() {
+               return -1;
+           };
+
+
+           category.name = function() {
+               return t('presets.categories.' + id + '.name', {'default': id});
+           };
+
+
+           category.terms = function() {
+               return [];
+           };
+
+
+           return category;
+       }
+
+       function presetField(id, field) {
+           field = Object.assign({}, field);   // shallow copy
+
+           field.id = id;
+
+           // for use in classes, element ids, css selectors
+           field.safeid = id.replace(/[^_a-zA-Z0-9\-]/g, '_');
+
+           field.matchGeometry = function(geometry) {
+               return !field.geometry || field.geometry === geometry;
+           };
+
+
+           field.t = function(scope, options) {
+               return t('presets.fields.' + id + '.' + scope, options);
+           };
+
+
+           field.label = function() {
+               return field.overrideLabel || field.t('label', {'default': id});
+           };
+
+
+           var placeholder = field.placeholder;
+           field.placeholder = function() {
+               return field.t('placeholder', {'default': placeholder});
+           };
+
+
+           return field;
+       }
+
+       function presetPreset(id, preset, fields, visible, rawPresets) {
+           preset = Object.assign({}, preset);   // shallow copy
+
+           preset.id = id;
+
+           preset.parentPresetID = function() {
+               var endIndex = preset.id.lastIndexOf('/');
+               if (endIndex < 0) return null;
+
+               return preset.id.substring(0, endIndex);
+           };
+
+
+           // For a preset without fields, use the fields of the parent preset.
+           // Replace {preset} placeholders with the fields of the specified presets.
+           function resolveFieldInheritance() {
+
+               // Skip `fields` for the keys which define the preset.
+               // These are usually `typeCombo` fields like `shop=*`
+               function shouldInheritFieldWithID(fieldID) {
+                   var f = fields[fieldID];
+                   if (f.key) {
+                       if (preset.tags[f.key] !== undefined &&
+                           // inherit anyway if multiple values are allowed or just a checkbox
+                           f.type !== 'multiCombo' && f.type !== 'semiCombo' && f.type !== 'check') {
+                           return false;
+                       }
+                   }
+                   return true;
+               }
+
+               // returns an array of field IDs to inherit from the given presetID, if found
+               function inheritedFieldIDs(presetID, prop) {
+                   if (!presetID) return null;
+
+                   var inheritPreset = rawPresets[presetID];
+                   if (!inheritPreset) return null;
+
+                   var inheritFieldIDs = inheritPreset[prop] || [];
+
+                   if (prop === 'fields') {
+                       inheritFieldIDs = inheritFieldIDs.filter(shouldInheritFieldWithID);
+                   }
+
+                   return inheritFieldIDs;
+               }
+
+
+               ['fields', 'moreFields'].forEach(function(prop) {
+                   var fieldIDs = [];
+                   if (preset[prop] && preset[prop].length) {    // fields were defined
+                       preset[prop].forEach(function(fieldID) {
+                           var match = fieldID.match(/\{(.*)\}/);
+                           if (match !== null) {        // presetID wrapped in braces {}
+                               var inheritIDs = inheritedFieldIDs(match[1], prop);
+                               if (inheritIDs !== null) {
+                                   fieldIDs = fieldIDs.concat(inheritIDs);
+                               } else {
+                                   /* eslint-disable no-console */
+                                   console.log('Cannot resolve presetID ' + match[0] +
+                                       ' found in ' + preset.id + ' ' + prop);
+                                   /* eslint-enable no-console */
+                               }
+                           } else {
+                               fieldIDs.push(fieldID);  // no braces - just a normal field
+                           }
+                       });
+
+                   } else {  // no fields defined, so use the parent's if possible
+                       fieldIDs = inheritedFieldIDs(preset.parentPresetID(), prop);
+                   }
+                   // resolve duplicate fields
+                   fieldIDs = utilArrayUniq(fieldIDs);
+
+                   // update this preset with the results
+                   preset[prop] = fieldIDs;
+
+                   // update the raw object to allow for multiple levels of inheritance
+                   rawPresets[preset.id][prop] = fieldIDs;
+               });
+           }
+
+           if (rawPresets) {
+               resolveFieldInheritance();
+           }
+
+           preset.fields = (preset.fields || []).map(getFields);
+           preset.moreFields = (preset.moreFields || []).map(getFields);
+           preset.geometry = (preset.geometry || []);
+
+           visible = visible || false;
+
+           function getFields(f) {
+               return fields[f];
+           }
+
+
+           preset.matchGeometry = function(geometry) {
+               return preset.geometry.indexOf(geometry) >= 0;
+           };
+
+
+           preset.originalScore = preset.matchScore || 1;
+
+
+           preset.matchScore = function(entityTags) {
+               var tags = preset.tags;
+               var score = 0;
+
+               for (var t in tags) {
+                   if (entityTags[t] === tags[t]) {
+                       score += preset.originalScore;
+                   } else if (tags[t] === '*' && t in entityTags) {
+                       score += preset.originalScore / 2;
+                   } else {
+                       return -1;
+                   }
+               }
+
+               return score;
+           };
+
+           var _textCache = {};
+
+           preset.t = function(scope, options) {
+               var textID = 'presets.presets.' + id + '.' + scope;
+
+               if (_textCache[textID]) return _textCache[textID];
+
+               var text = t(textID, options);
+               _textCache[textID] = text;
+               return text;
+           };
+
+
+           preset.originalName = preset.name || '';
+
+
+           preset.name = function() {
+               if (preset.suggestion) {
+                   var path = id.split('/');
+                   path.pop();  // remove brand name
+                   // NOTE: insert an en-dash, not a hypen (to avoid conflict with fr - nl names in Brussels etc)
+                   return preset.originalName + ' – ' + t('presets.presets.' + path.join('/') + '.name');
+               }
+               return preset.t('name', { 'default': preset.originalName });
+           };
+
+
+           preset.originalTerms = (preset.terms || []).join();
+
+
+           preset.terms = function() {
+               return preset.t('terms', { 'default': preset.originalTerms }).toLowerCase().trim().split(/\s*,+\s*/);
+           };
+
+
+           preset.isFallback = function() {
+               var tagCount = Object.keys(preset.tags).length;
+               return tagCount === 0 || (tagCount === 1 && preset.tags.hasOwnProperty('area'));
+           };
+
+           preset.visible = function(val) {
+               if (!arguments.length) return visible;
+               visible = val;
+               return visible;
+           };
+
+
+           var reference = preset.reference || {};
+           preset.reference = function(geometry) {
+               // Lookup documentation on Wikidata...
+               var qid = preset.tags.wikidata || preset.tags['brand:wikidata'] || preset.tags['operator:wikidata'];
+               if (qid) {
+                   return { qid: qid };
+               }
+
+               // Lookup documentation on OSM Wikibase...
+               var key = reference.key || Object.keys(utilObjectOmit(preset.tags, 'name'))[0];
+               var value = reference.value || preset.tags[key];
+
+               if (geometry === 'relation' && key === 'type') {
+                   if (value in preset.tags) {
+                       key = value;
+                       value = preset.tags[key];
+                   } else {
+                       return { rtype: value };
+                   }
+               }
+
+               if (value === '*') {
+                   return { key: key };
+               } else {
+                   return { key: key, value: value };
+               }
+           };
+
+
+           preset.removeTags = preset.removeTags || preset.addTags || preset.tags || {};
+           preset.unsetTags = function(tags, geometry) {
+               tags = utilObjectOmit(tags, Object.keys(preset.removeTags));
+
+               for (var f in preset.fields) {
+                   var field = preset.fields[f];
+                   if (field.matchGeometry(geometry) && field.default === tags[field.key]) {
+                       delete tags[field.key];
+                   }
+               }
+
+               delete tags.area;
+               return tags;
+           };
+
+
+           preset.addTags = preset.addTags || preset.tags || {};
+           preset.setTags = function(tags, geometry, skipFieldDefaults) {
+               var addTags = preset.addTags;
+               var k;
+
+               tags = Object.assign({}, tags);   // shallow copy
+
+               for (k in addTags) {
+                   if (addTags[k] === '*') {
+                       tags[k] = 'yes';
+                   } else {
+                       tags[k] = addTags[k];
+                   }
+               }
+
+               // Add area=yes if necessary.
+               // This is necessary if the geometry is already an area (e.g. user drew an area) AND any of:
+               // 1. chosen preset could be either an area or a line (`barrier=city_wall`)
+               // 2. chosen preset doesn't have a key in osmAreaKeys (`railway=station`)
+               if (!addTags.hasOwnProperty('area')) {
+                   delete tags.area;
+                   if (geometry === 'area') {
+                       var needsAreaTag = true;
+                       if (preset.geometry.indexOf('line') === -1) {
+                           for (k in addTags) {
+                               if (k in osmAreaKeys) {
+                                   needsAreaTag = false;
+                                   break;
+                               }
+                           }
+                       }
+                       if (needsAreaTag) {
+                           tags.area = 'yes';
+                       }
+                   }
+               }
+               if (geometry && !skipFieldDefaults) {
+                   for (var f in preset.fields) {
+                       var field = preset.fields[f];
+                       if (field.matchGeometry(geometry) && field.key && !tags[field.key] && field.default) {
+                           tags[field.key] = field.default;
+                       }
+                   }
+               }
+
+               return tags;
+           };
+
+
+           return preset;
+       }
+
+       function presetIndex(context) {
+           // a presetCollection with methods for
+           // loading new data and returning defaults
+
+           var dispatch$1 = dispatch('recentsChange', 'favoritePreset');
+
+           var all = presetCollection([]);
+           var _defaults = { area: all, line: all, point: all, vertex: all, relation: all };
+           var _fields = {};
+           var _universal = [];
+           var _favorites, _recents;
+
+           // Index of presets by (geometry, tag key).
+           var _index = {
+               point: {},
+               vertex: {},
+               line: {},
+               area: {},
+               relation: {}
+           };
+
+           all.match = function(entity, resolver) {
+               return resolver.transient(entity, 'presetMatch', function() {
+                   var geometry = entity.geometry(resolver);
+
+                   // Treat entities on addr:interpolation lines as points, not vertices - #3241
+                   if (geometry === 'vertex' && entity.isOnAddressLine(resolver)) {
+                       geometry = 'point';
+                   }
+
+                   return all.matchTags(entity.tags, geometry);
+               });
+           };
+
+           all.matchTags = function(tags, geometry) {
+
+               var address;
+               var geometryMatches = _index[geometry];
+               var best = -1;
+               var match;
+
+               for (var k in tags) {
+                   // If any part of an address is present,
+                   // allow fallback to "Address" preset - #4353
+                   if (/^addr:/.test(k) && geometryMatches['addr:*']) {
+                       address = geometryMatches['addr:*'][0];
+                   }
+
+                   var keyMatches = geometryMatches[k];
+                   if (!keyMatches) continue;
+
+                   for (var i = 0; i < keyMatches.length; i++) {
+                       var score = keyMatches[i].matchScore(tags);
+                       if (score > best) {
+                           best = score;
+                           match = keyMatches[i];
+                       }
+                   }
+
+               }
+
+               if (address && (!match || match.isFallback())) {
+                   match = address;
+               }
+               return match || all.fallback(geometry);
+           };
+
+           all.allowsVertex = function(entity, resolver) {
+               if (entity.type !== 'node') return false;
+               if (Object.keys(entity.tags).length === 0) return true;
+
+               return resolver.transient(entity, 'vertexMatch', function() {
+                   // address lines allow vertices to act as standalone points
+                   if (entity.isOnAddressLine(resolver)) return true;
+
+                   var geometries = osmNodeGeometriesForTags(entity.tags);
+                   if (geometries.vertex) return true;
+                   if (geometries.point) return false;
+                   // allow vertices for unspecified points
+                   return true;
+               });
+           };
+
+
+           // Because of the open nature of tagging, iD will never have a complete
+           // list of tags used in OSM, so we want it to have logic like "assume
+           // that a closed way with an amenity tag is an area, unless the amenity
+           // is one of these specific types". This function computes a structure
+           // that allows testing of such conditions, based on the presets designated
+           // as as supporting (or not supporting) the area geometry.
+           //
+           // The returned object L is a whitelist/blacklist of tags. A closed way
+           // with a tag (k, v) is considered to be an area if `k in L && !(v in L[k])`
+           // (see `Way#isArea()`). In other words, the keys of L form the whitelist,
+           // and the subkeys form the blacklist.
+           all.areaKeys = function() {
+               var areaKeys = {};
+               var ignore = ['barrier', 'highway', 'footway', 'railway', 'type'];  // probably a line..
+
+               // ignore name-suggestion-index and deprecated presets
+               var presets = all.collection.filter(function(p) {
+                   return !p.suggestion && !p.replacement;
+               });
+
+               // whitelist
+               presets.forEach(function(d) {
+                   for (var key in d.tags) break;
+                   if (!key) return;
+                   if (ignore.indexOf(key) !== -1) return;
+
+                   if (d.geometry.indexOf('area') !== -1) {    // probably an area..
+                       areaKeys[key] = areaKeys[key] || {};
+                   }
+               });
+
+               // blacklist
+               presets.forEach(function(d) {
+                   for (var key in d.tags) break;
+                   if (!key) return;
+                   if (ignore.indexOf(key) !== -1) return;
+
+                   var value = d.tags[key];
+                   if (key in areaKeys &&                      // probably an area...
+                       d.geometry.indexOf('line') !== -1 &&    // but sometimes a line
+                       value !== '*') {
+                       areaKeys[key][value] = true;
+                   }
+               });
+
+               return areaKeys;
+           };
+
+           all.pointTags = function() {
+               return all.collection.reduce(function(pointTags, d) {
+                   // ignore name-suggestion-index, deprecated, and generic presets
+                   if (d.suggestion || d.replacement || d.searchable === false) return pointTags;
+
+                   // only care about the primary tag
+                   for (var key in d.tags) break;
+                   if (!key) return pointTags;
+
+                   // if this can be a point
+                   if (d.geometry.indexOf('point') !== -1) {
+                       pointTags[key] = pointTags[key] || {};
+                       pointTags[key][d.tags[key]] = true;
+                   }
+                   return pointTags;
+               }, {});
+           };
+
+           all.vertexTags = function() {
+               return all.collection.reduce(function(vertexTags, d) {
+                   // ignore name-suggestion-index, deprecated, and generic presets
+                   if (d.suggestion || d.replacement || d.searchable === false) return vertexTags;
+
+                   // only care about the primary tag
+                   for (var key in d.tags) break;
+                   if (!key) return vertexTags;
+
+                   // if this can be a vertex
+                   if (d.geometry.indexOf('vertex') !== -1) {
+                       vertexTags[key] = vertexTags[key] || {};
+                       vertexTags[key][d.tags[key]] = true;
+                   }
+                   return vertexTags;
+               }, {});
+           };
+
+           all.build = function(d, visible) {
+               if (d.fields) {
+                   Object.keys(d.fields).forEach(function(id) {
+                       var f = d.fields[id];
+                       _fields[id] = presetField(id, f);
+                       if (f.universal) {
+                           _universal.push(_fields[id]);
+                       }
+                   });
+               }
+
+               if (d.presets) {
+                   var rawPresets = d.presets;
+                   Object.keys(d.presets).forEach(function(id) {
+                       var p = d.presets[id];
+                       var existing = all.index(id);
+                       var isVisible = typeof visible === 'function' ? visible(id, p) : visible;
+                       if (existing !== -1) {
+                           all.collection[existing] = presetPreset(id, p, _fields, isVisible, rawPresets);
+                       } else {
+                           all.collection.push(presetPreset(id, p, _fields, isVisible, rawPresets));
+                       }
+                   });
+               }
+
+               if (d.categories) {
+                   Object.keys(d.categories).forEach(function(id) {
+                       var c = d.categories[id];
+                       var existing = all.index(id);
+                       if (existing !== -1) {
+                           all.collection[existing] = presetCategory(id, c, all);
+                       } else {
+                           all.collection.push(presetCategory(id, c, all));
+                       }
+                   });
+               }
+
+               if (d.defaults) {
+                   var getItem = (all.item).bind(all);
+                   _defaults = {
+                       area: presetCollection(d.defaults.area.map(getItem)),
+                       line: presetCollection(d.defaults.line.map(getItem)),
+                       point: presetCollection(d.defaults.point.map(getItem)),
+                       vertex: presetCollection(d.defaults.vertex.map(getItem)),
+                       relation: presetCollection(d.defaults.relation.map(getItem))
+                   };
+               }
+
+               for (var i = 0; i < all.collection.length; i++) {
+                   var preset = all.collection[i];
+                   var geometry = preset.geometry;
+
+                   for (var j = 0; j < geometry.length; j++) {
+                       var g = _index[geometry[j]];
+                       for (var k in preset.tags) {
+                           (g[k] = g[k] || []).push(preset);
+                       }
+                   }
+               }
+               return all;
+           };
+
+           all.init = function(shouldShow) {
+               all.collection = [];
+               _favorites = null;
+               _recents = null;
+               _fields = {};
+               _universal = [];
+               _index = { point: {}, vertex: {}, line: {}, area: {}, relation: {} };
+
+               return all.build(data.presets, shouldShow || true);
+           };
+
+
+           all.reset = function() {
+               all.collection = [];
+               _defaults = { area: all, line: all, point: all, vertex: all, relation: all };
+               _fields = {};
+               _universal = [];
+               _favorites = null;
+               _recents = null;
+
+               // Index of presets by (geometry, tag key).
+               _index = {
+                   point: {},
+                   vertex: {},
+                   line: {},
+                   area: {},
+                   relation: {}
+               };
+
+               return all;
+           };
+
+           all.fromExternal = function(external, done) {
+               all.reset();
+               d3_json(external)
+                   .then(function(externalPresets) {
+                       all.build(data.presets, false);    // make default presets hidden to begin
+                       all.build(externalPresets, true);  // make the external visible
+                   })
+                   .catch(function() {
+                       all.init();
+                   })
+                   .finally(function() {
+                       done(all);
+                   });
+           };
+
+           all.field = function(id) {
+               return _fields[id];
+           };
+
+           all.universal = function() {
+               return _universal;
+           };
+
+           all.defaults = function(geometry, n) {
+               var rec = [];
+               if (!context.inIntro()) {
+                   rec = all.recent().matchGeometry(geometry).collection.slice(0, 4);
+               }
+               var def = utilArrayUniq(rec.concat(_defaults[geometry].collection)).slice(0, n - 1);
+               return presetCollection(utilArrayUniq(rec.concat(def).concat(all.fallback(geometry))));
+           };
+
+           all.recent = function() {
+               return presetCollection(utilArrayUniq(all.getRecents().map(function(d) {
+                   return d.preset;
+               })));
+           };
+
+           function RibbonItem(preset, geometry, source) {
+               var item = {};
+               item.preset = preset;
+               item.geometry = geometry;
+               item.source = source;
+
+               item.isFavorite = function() {
+                   return item.source === 'favorite';
+               };
+               item.isRecent = function() {
+                   return item.source === 'recent';
+               };
+               item.matches = function(preset, geometry) {
+                   return item.preset.id === preset.id && item.geometry === geometry;
+               };
+               item.minified = function() {
+                   return {
+                       pID: item.preset.id,
+                       geom: item.geometry
+                   };
+               };
+               return item;
+           }
+
+           function ribbonItemForMinified(d, source) {
+               if (d && d.pID && d.geom) {
+                   var preset = all.item(d.pID);
+                   if (!preset) return null;
+
+                   var geom = d.geom;
+                   // treat point and vertex features as one geometry
+                   if (geom === 'vertex') geom = 'point';
+
+                   // iD's presets could have changed since this was saved,
+                   // so make sure it's still valid.
+                   if (preset.matchGeometry(geom) || (geom === 'point' && preset.matchGeometry('vertex'))) {
+                       return RibbonItem(preset, geom, source);
+                   }
+               }
+               return null;
+           }
+
+           function setFavorites(items) {
+               _favorites = items;
+               var minifiedItems = items.map(function(d) { return d.minified(); });
+               context.storage('preset_favorites', JSON.stringify(minifiedItems));
+
+               // call update
+               dispatch$1.call('favoritePreset');
+           }
+
+           all.getFavorites = function() {
+               if (!_favorites) {
+                   // fetch from local storage
+                   _favorites = (JSON.parse(context.storage('preset_favorites')) || [
+                           // use the generic presets as the default favorites
+                           { pID: 'point', geom: 'point'},
+                           { pID: 'line', geom: 'line'},
+                           { pID: 'area', geom: 'area'}
+                       ]).reduce(function(output, d) {
+                           var item = ribbonItemForMinified(d, 'favorite');
+                           if (item) output.push(item);
+                           return output;
+                       }, []);
+               }
+               return _favorites;
+           };
+
+           function setRecents(items) {
+               _recents = items;
+               var minifiedItems = items.map(function(d) { return d.minified(); });
+               context.storage('preset_recents', JSON.stringify(minifiedItems));
+
+               dispatch$1.call('recentsChange');
+           }
+
+           all.getRecents = function() {
+               if (!_recents) {
+                   // fetch from local storage
+                   _recents = (JSON.parse(context.storage('preset_recents')) || [])
+                       .reduce(function(output, d) {
+                           var item = ribbonItemForMinified(d, 'recent');
+                           if (item) output.push(item);
+                           return output;
+                       }, []);
+               }
+               return _recents;
+           };
+
+           all.toggleFavorite = function(preset, geometry) {
+               geometry = all.fallback(geometry).id;
+               var favs = all.getFavorites();
+               var favorite = all.favoriteMatching(preset, geometry);
+               if (favorite) {
+                   favs.splice(favs.indexOf(favorite), 1);
+               } else {
+                   // only allow 10 favorites
+                   if (favs.length === 10) {
+                       // remove the last favorite (last in, first out)
+                       favs.pop();
+                   }
+                   // append array
+                   favs.push(RibbonItem(preset, geometry, 'favorite'));
+               }
+               setFavorites(favs);
+           };
+
+           all.removeFavorite = function(preset, geometry) {
+               geometry = all.fallback(geometry).id;
+               var item = all.favoriteMatching(preset, geometry);
+               if (item) {
+                   var items = all.getFavorites();
+                   items.splice(items.indexOf(item), 1);
+                   setFavorites(items);
+               }
+           };
+
+           all.removeRecent = function(preset, geometry) {
+               var item = all.recentMatching(preset, geometry);
+               if (item) {
+                   var items = all.getRecents();
+                   items.splice(items.indexOf(item), 1);
+                   setRecents(items);
+               }
+           };
+
+           all.favoriteMatching = function(preset, geometry) {
+               geometry = all.fallback(geometry).id;
+               var favs = all.getFavorites();
+               for (var index in favs) {
+                   if (favs[index].matches(preset, geometry)) {
+                       return favs[index];
+                   }
+               }
+               return null;
+           };
+           all.recentMatching = function(preset, geometry) {
+               geometry = all.fallback(geometry).id;
+               var items = all.getRecents();
+               for (var index in items) {
+                   if (items[index].matches(preset, geometry)) {
+                       return items[index];
+                   }
+               }
+               return null;
+           };
+
+           all.moveItem = function(items, fromIndex, toIndex) {
+               if (fromIndex === toIndex ||
+                   fromIndex < 0 || toIndex < 0 ||
+                   fromIndex >= items.length || toIndex >= items.length) return null;
+               items.splice(toIndex, 0, items.splice(fromIndex, 1)[0]);
+               return items;
+           };
+
+           all.moveFavorite = function(fromIndex, toIndex) {
+               var items = all.moveItem(all.getFavorites(), fromIndex, toIndex);
+               if (items) setFavorites(items);
+           };
+
+           all.moveRecent = function(item, beforeItem) {
+               var recents = all.getRecents();
+               var fromIndex = recents.indexOf(item);
+               var toIndex = recents.indexOf(beforeItem);
+               var items = all.moveItem(recents, fromIndex, toIndex);
+               if (items) setRecents(items);
+           };
+
+           all.setMostRecent = function(preset, geometry) {
+               if (context.inIntro()) return;
+               if (preset.searchable === false) return;
+
+               geometry = all.fallback(geometry).id;
+
+               var items = all.getRecents();
+               var item = all.recentMatching(preset, geometry);
+               if (item) {
+                   items.splice(items.indexOf(item), 1);
+               } else {
+                   item = RibbonItem(preset, geometry, 'recent');
+               }
+               // allow 30 recents
+               if (items.length === 30) {
+                   // remove the last favorite (first in, first out)
+                   items.pop();
+               }
+               // prepend array
+               items.unshift(item);
+               setRecents(items);
+           };
+
+           return utilRebind(all, dispatch$1, 'on');
+       }
+
+       function localeDateString(s) {
+           if (!s) return null;
+           var detected = utilDetect();
+           var options = { day: 'numeric', month: 'short', year: 'numeric' };
+           var d = new Date(s);
+           if (isNaN(d.getTime())) return null;
+           return d.toLocaleDateString(detected.locale, options);
+       }
+
+       function vintageRange(vintage) {
+           var s;
+           if (vintage.start || vintage.end) {
+               s = (vintage.start || '?');
+               if (vintage.start !== vintage.end) {
+                   s += ' - ' + (vintage.end || '?');
+               }
+           }
+           return s;
+       }
+
+
+       function rendererBackgroundSource(data) {
+           var source = Object.assign({}, data);   // shallow copy
+           var offset = [0, 0];
+           var name = source.name;
+           var description = source.description;
+           var best = !!source.best;
+           var template = source.template;
+
+           source.tileSize = data.tileSize || 256;
+           source.zoomExtent = data.zoomExtent || [0, 22];
+           source.overzoom = data.overzoom !== false;
+
+           source.offset = function(_) {
+               if (!arguments.length) return offset;
+               offset = _;
+               return source;
+           };
+
+
+           source.nudge = function(val, zoomlevel) {
+               offset[0] += val[0] / Math.pow(2, zoomlevel);
+               offset[1] += val[1] / Math.pow(2, zoomlevel);
+               return source;
+           };
+
+
+           source.name = function() {
+               var id_safe = source.id.replace(/\./g, '<TX_DOT>');
+               return t('imagery.' + id_safe + '.name', { default: name });
+           };
+
+
+           source.description = function() {
+               var id_safe = source.id.replace(/\./g, '<TX_DOT>');
+               return t('imagery.' + id_safe + '.description', { default: description });
+           };
+
+
+           source.best = function() {
+               return best;
+           };
+
+
+           source.area = function() {
+               if (!data.polygon) return Number.MAX_VALUE;  // worldwide
+               var area = d3_geoArea({ type: 'MultiPolygon', coordinates: [ data.polygon ] });
+               return isNaN(area) ? 0 : area;
+           };
+
+
+           source.imageryUsed = function() {
+               return name || source.id;
+           };
+
+
+           source.template = function(_) {
+               if (!arguments.length) return template;
+               if (source.id === 'custom') template = _;
+               return source;
+           };
+
+
+           source.url = function(coord) {
+               if (this.type === 'wms') {
+                   var tileToProjectedCoords = (function(x, y, z) {
+                       //polyfill for IE11, PhantomJS
+                       var sinh = Math.sinh || function(x) {
+                           var y = Math.exp(x);
+                           return (y - 1 / y) / 2;
+                       };
+
+                       var zoomSize = Math.pow(2, z);
+                       var lon = x / zoomSize * Math.PI * 2 - Math.PI;
+                       var lat = Math.atan(sinh(Math.PI * (1 - 2 * y / zoomSize)));
+
+                       switch (this.projection) {
+                           case 'EPSG:4326':
+                               return {
+                                   x: lon * 180 / Math.PI,
+                                   y: lat * 180 / Math.PI
+                               };
+                           default: // EPSG:3857 and synonyms
+                               var mercCoords = mercatorRaw(lon, lat);
+                               return {
+                                   x: 20037508.34 / Math.PI * mercCoords[0],
+                                   y: 20037508.34 / Math.PI * mercCoords[1]
+                               };
+                       }
+                   }).bind(this);
+
+                   var tileSize = this.tileSize;
+                   var projection = this.projection;
+                   var minXmaxY = tileToProjectedCoords(coord[0], coord[1], coord[2]);
+                   var maxXminY = tileToProjectedCoords(coord[0]+1, coord[1]+1, coord[2]);
+                   return template.replace(/\{(\w+)\}/g, function (token, key) {
+                     switch (key) {
+                       case 'width':
+                       case 'height':
+                         return tileSize;
+                       case 'proj':
+                         return projection;
+                       case 'wkid':
+                         return projection.replace(/^EPSG:/, '');
+                       case 'bbox':
+                         return minXmaxY.x + ',' + maxXminY.y + ',' + maxXminY.x + ',' + minXmaxY.y;
+                       case 'w':
+                         return minXmaxY.x;
+                       case 's':
+                         return maxXminY.y;
+                       case 'n':
+                         return maxXminY.x;
+                       case 'e':
+                         return minXmaxY.y;
+                       default:
+                         return token;
+                     }
+                   });
+               }
+               return template
+                   .replace('{x}', coord[0])
+                   .replace('{y}', coord[1])
+                   // TMS-flipped y coordinate
+                   .replace(/\{[t-]y\}/, Math.pow(2, coord[2]) - coord[1] - 1)
+                   .replace(/\{z(oom)?\}/, coord[2])
+                   .replace(/\{switch:([^}]+)\}/, function(s, r) {
+                       var subdomains = r.split(',');
+                       return subdomains[(coord[0] + coord[1]) % subdomains.length];
+                   })
+                   .replace('{u}', function() {
+                       var u = '';
+                       for (var zoom = coord[2]; zoom > 0; zoom--) {
+                           var b = 0;
+                           var mask = 1 << (zoom - 1);
+                           if ((coord[0] & mask) !== 0) b++;
+                           if ((coord[1] & mask) !== 0) b += 2;
+                           u += b.toString();
+                       }
+                       return u;
+                   });
+           };
+
+
+           source.validZoom = function(z) {
+               return source.zoomExtent[0] <= z &&
+                   (source.overzoom || source.zoomExtent[1] > z);
+           };
+
+
+           source.isLocatorOverlay = function() {
+               return source.id === 'mapbox_locator_overlay';
+           };
+
+
+           /* hides a source from the list, but leaves it available for use */
+           source.isHidden = function() {
+               return source.id === 'DigitalGlobe-Premium-vintage' ||
+                   source.id === 'DigitalGlobe-Standard-vintage';
+           };
+
+
+           source.copyrightNotices = function() {};
+
+
+           source.getMetadata = function(center, tileCoord, callback) {
+               var vintage = {
+                   start: localeDateString(source.startDate),
+                   end: localeDateString(source.endDate)
+               };
+               vintage.range = vintageRange(vintage);
+
+               var metadata = { vintage: vintage };
+               callback(null, metadata);
+           };
+
+
+           return source;
+       }
+
+
+       rendererBackgroundSource.Bing = function(data, dispatch) {
+           // http://msdn.microsoft.com/en-us/library/ff701716.aspx
+           // http://msdn.microsoft.com/en-us/library/ff701701.aspx
+
+           data.template = 'https://ecn.t{switch:0,1,2,3}.tiles.virtualearth.net/tiles/a{u}.jpeg?g=587&mkt=en-gb&n=z';
+
+           var bing = rendererBackgroundSource(data);
+           // var key = 'Arzdiw4nlOJzRwOz__qailc8NiR31Tt51dN2D7cm57NrnceZnCpgOkmJhNpGoppU'; // P2, JOSM, etc
+           var key = 'Ak5oTE46TUbjRp08OFVcGpkARErDobfpuyNKa-W2mQ8wbt1K1KL8p1bIRwWwcF-Q';    // iD
+
+
+           var url = 'https://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial?include=ImageryProviders&key=' + key;
+           var cache = {};
+           var inflight = {};
+           var providers = [];
+
+           d3_json(url)
+               .then(function(json) {
+                   providers = json.resourceSets[0].resources[0].imageryProviders.map(function(provider) {
+                       return {
+                           attribution: provider.attribution,
+                           areas: provider.coverageAreas.map(function(area) {
+                               return {
+                                   zoom: [area.zoomMin, area.zoomMax],
+                                   extent: geoExtent([area.bbox[1], area.bbox[0]], [area.bbox[3], area.bbox[2]])
+                               };
+                           })
+                       };
+                   });
+                   dispatch.call('change');
+               })
+               .catch(function() {
+                   /* ignore */
+               });
+
+
+           bing.copyrightNotices = function(zoom, extent) {
+               zoom = Math.min(zoom, 21);
+               return providers.filter(function(provider) {
+                   return provider.areas.some(function(area) {
+                       return extent.intersects(area.extent) &&
+                           area.zoom[0] <= zoom &&
+                           area.zoom[1] >= zoom;
+                   });
+               }).map(function(provider) {
+                   return provider.attribution;
+               }).join(', ');
+           };
+
+
+           bing.getMetadata = function(center, tileCoord, callback) {
+               var tileID = tileCoord.slice(0, 3).join('/');
+               var zoom = Math.min(tileCoord[2], 21);
+               var centerPoint = center[1] + ',' + center[0];  // lat,lng
+               var url = 'https://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial/' + centerPoint +
+                       '?zl=' + zoom + '&key=' + key;
+
+               if (inflight[tileID]) return;
+
+               if (!cache[tileID]) {
+                   cache[tileID] = {};
+               }
+               if (cache[tileID] && cache[tileID].metadata) {
+                   return callback(null, cache[tileID].metadata);
+               }
+
+               inflight[tileID] = true;
+               d3_json(url)
+                   .then(function(result) {
+                       delete inflight[tileID];
+                       if (!result) {
+                           throw new Error('Unknown Error');
+                       }
+                       var vintage = {
+                           start: localeDateString(result.resourceSets[0].resources[0].vintageStart),
+                           end: localeDateString(result.resourceSets[0].resources[0].vintageEnd)
+                       };
+                       vintage.range = vintageRange(vintage);
+
+                       var metadata = { vintage: vintage };
+                       cache[tileID].metadata = metadata;
+                       if (callback) callback(null, metadata);
+                   })
+                   .catch(function(err) {
+                       delete inflight[tileID];
+                       if (callback) callback(err.message);
+                   });
+           };
+
+
+           bing.terms_url = 'https://blog.openstreetmap.org/2010/11/30/microsoft-imagery-details';
+
+
+           return bing;
+       };
+
+
+
+       rendererBackgroundSource.Esri = function(data) {
+           // in addition to using the tilemap at zoom level 20, overzoom real tiles - #4327 (deprecated technique, but it works)
+           if (data.template.match(/blankTile/) === null) {
+               data.template = data.template + '?blankTile=false';
+           }
+
+           var esri = rendererBackgroundSource(data);
+           var cache = {};
+           var inflight = {};
+           var _prevCenter;
+
+           // use a tilemap service to set maximum zoom for esri tiles dynamically
+           // https://developers.arcgis.com/documentation/tiled-elevation-service/
+           esri.fetchTilemap = function(center) {
+               // skip if we have already fetched a tilemap within 5km
+               if (_prevCenter && geoSphericalDistance(center, _prevCenter) < 5000) return;
+               _prevCenter = center;
+
+               // tiles are available globally to zoom level 19, afterward they may or may not be present
+               var z = 20;
+
+               // first generate a random url using the template
+               var dummyUrl = esri.url([1,2,3]);
+
+               // calculate url z/y/x from the lat/long of the center of the map
+               var x = (Math.floor((center[0] + 180) / 360 * Math.pow(2, z)));
+               var y = (Math.floor((1 - Math.log(Math.tan(center[1] * Math.PI / 180) + 1 / Math.cos(center[1] * Math.PI / 180)) / Math.PI) / 2 * Math.pow(2, z)));
+
+               // fetch an 8x8 grid to leverage cache
+               var tilemapUrl = dummyUrl.replace(/tile\/[0-9]+\/[0-9]+\/[0-9]+\?blankTile=false/, 'tilemap') + '/' + z + '/' + y + '/' + x + '/8/8';
+
+               // make the request and introspect the response from the tilemap server
+               d3_json(tilemapUrl)
+                   .then(function(tilemap) {
+                       if (!tilemap) {
+                           throw new Error('Unknown Error');
+                       }
+                       var hasTiles = true;
+                       for (var i = 0; i < tilemap.data.length; i++) {
+                           // 0 means an individual tile in the grid doesn't exist
+                           if (!tilemap.data[i]) {
+                               hasTiles = false;
+                               break;
+                           }
+                       }
+
+                       // if any tiles are missing at level 20 we restrict maxZoom to 19
+                       esri.zoomExtent[1] = (hasTiles ? 22 : 19);
+                   })
+                   .catch(function() {
+                       /* ignore */
+                   });
+           };
+
+
+           esri.getMetadata = function(center, tileCoord, callback) {
+               var tileID = tileCoord.slice(0, 3).join('/');
+               var zoom = Math.min(tileCoord[2], esri.zoomExtent[1]);
+               var centerPoint = center[0] + ',' + center[1];  // long, lat (as it should be)
+               var unknown = t('info_panels.background.unknown');
+               var metadataLayer;
+               var vintage = {};
+               var metadata = {};
+
+               if (inflight[tileID]) return;
+
+               switch (true) {
+                   case (zoom >= 20 && esri.id === 'EsriWorldImageryClarity'):
+                       metadataLayer = 4;
+                       break;
+                   case zoom >= 19:
+                       metadataLayer = 3;
+                       break;
+                   case zoom >= 17:
+                       metadataLayer = 2;
+                       break;
+                   case zoom >= 13:
+                       metadataLayer = 0;
+                       break;
+                   default:
+                       metadataLayer = 99;
+               }
+
+               var url;
+               // build up query using the layer appropriate to the current zoom
+               if (esri.id === 'EsriWorldImagery') {
+                   url = 'https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/';
+               } else if (esri.id === 'EsriWorldImageryClarity') {
+                   url = 'https://serviceslab.arcgisonline.com/arcgis/rest/services/Clarity_World_Imagery/MapServer/';
+               }
+
+               url += metadataLayer + '/query?returnGeometry=false&geometry=' + centerPoint + '&inSR=4326&geometryType=esriGeometryPoint&outFields=*&f=json';
+
+               if (!cache[tileID]) {
+                   cache[tileID] = {};
+               }
+               if (cache[tileID] && cache[tileID].metadata) {
+                   return callback(null, cache[tileID].metadata);
+               }
+
+               // accurate metadata is only available >= 13
+               if (metadataLayer === 99) {
+                   vintage = {
+                       start: null,
+                       end: null,
+                       range: null
+                   };
+                   metadata = {
+                       vintage: null,
+                       source: unknown,
+                       description: unknown,
+                       resolution: unknown,
+                       accuracy: unknown
+                   };
+
+                   callback(null, metadata);
+
+               } else {
+                   inflight[tileID] = true;
+                   d3_json(url)
+                       .then(function(result) {
+                           delete inflight[tileID];
+                           if (!result) {
+                               throw new Error('Unknown Error');
+                           } else if (result.features && result.features.length < 1) {
+                               throw new Error('No Results');
+                           } else if (result.error && result.error.message) {
+                               throw new Error(result.error.message);
+                           }
+
+                           // pass through the discrete capture date from metadata
+                           var captureDate = localeDateString(result.features[0].attributes.SRC_DATE2);
+                           vintage = {
+                               start: captureDate,
+                               end: captureDate,
+                               range: captureDate
+                           };
+                           metadata = {
+                               vintage: vintage,
+                               source: clean(result.features[0].attributes.NICE_NAME),
+                               description: clean(result.features[0].attributes.NICE_DESC),
+                               resolution: clean(result.features[0].attributes.SRC_RES),
+                               accuracy: clean(result.features[0].attributes.SRC_ACC)
+                           };
+
+                           // append units - meters
+                           if (isFinite(metadata.resolution)) {
+                               metadata.resolution += ' m';
+                           }
+                           if (isFinite(metadata.accuracy)) {
+                               metadata.accuracy += ' m';
+                           }
+
+                           cache[tileID].metadata = metadata;
+                           if (callback) callback(null, metadata);
+                       })
+                       .catch(function(err) {
+                           delete inflight[tileID];
+                           if (callback) callback(err.message);
+                       });
+               }
+
+
+               function clean(val) {
+                   return String(val).trim() || unknown;
+               }
+           };
+
+           return esri;
+       };
+
+
+       rendererBackgroundSource.None = function() {
+           var source = rendererBackgroundSource({ id: 'none', template: '' });
+
+
+           source.name = function() {
+               return t('background.none');
+           };
+
+
+           source.imageryUsed = function() {
+               return null;
+           };
+
+
+           source.area = function() {
+               return -1;  // sources in background pane are sorted by area
+           };
+
+
+           return source;
+       };
+
+
+       rendererBackgroundSource.Custom = function(template) {
+           var source = rendererBackgroundSource({ id: 'custom', template: template });
+
+
+           source.name = function() {
+               return t('background.custom');
+           };
+
+
+           source.imageryUsed = function() {
+               return 'Custom (' + source.template() + ')';
+           };
+
+
+           source.area = function() {
+               return -2;  // sources in background pane are sorted by area
+           };
+
+
+           return source;
+       };
+
+       function rendererTileLayer(context) {
+           var transformProp = utilPrefixCSSProperty('Transform');
+           var tiler = utilTiler();
+
+           var _tileSize = 256;
+           var _projection;
+           var _cache = {};
+           var _tileOrigin;
+           var _zoom;
+           var _source;
+
+
+           function tileSizeAtZoom(d, z) {
+               var EPSILON = 0.002;    // close seams
+               return ((_tileSize * Math.pow(2, z - d[2])) / _tileSize) + EPSILON;
+           }
+
+
+           function atZoom(t, distance) {
+               var power = Math.pow(2, distance);
+               return [
+                   Math.floor(t[0] * power),
+                   Math.floor(t[1] * power),
+                   t[2] + distance
+               ];
+           }
+
+
+           function lookUp(d) {
+               for (var up = -1; up > -d[2]; up--) {
+                   var tile = atZoom(d, up);
+                   if (_cache[_source.url(tile)] !== false) {
+                       return tile;
+                   }
+               }
+           }
+
+
+           function uniqueBy(a, n) {
+               var o = [];
+               var seen = {};
+               for (var i = 0; i < a.length; i++) {
+                   if (seen[a[i][n]] === undefined) {
+                       o.push(a[i]);
+                       seen[a[i][n]] = true;
+                   }
+               }
+               return o;
+           }
+
+
+           function addSource(d) {
+               d.push(_source.url(d));
+               return d;
+           }
+
+
+           // Update tiles based on current state of `projection`.
+           function background(selection) {
+               _zoom = geoScaleToZoom(_projection.scale(), _tileSize);
+
+               var pixelOffset;
+               if (_source) {
+                   pixelOffset = [
+                       _source.offset()[0] * Math.pow(2, _zoom),
+                       _source.offset()[1] * Math.pow(2, _zoom)
+                   ];
+               } else {
+                   pixelOffset = [0, 0];
+               }
+
+               var translate = [
+                   _projection.translate()[0] + pixelOffset[0],
+                   _projection.translate()[1] + pixelOffset[1]
+               ];
+
+               tiler
+                   .scale(_projection.scale() * 2 * Math.PI)
+                   .translate(translate);
+
+               _tileOrigin = [
+                   _projection.scale() * Math.PI - translate[0],
+                   _projection.scale() * Math.PI - translate[1]
+               ];
+
+               render(selection);
+           }
+
+
+           // Derive the tiles onscreen, remove those offscreen and position them.
+           // Important that this part not depend on `_projection` because it's
+           // rentered when tiles load/error (see #644).
+           function render(selection) {
+               if (!_source) return;
+               var requests = [];
+               var showDebug = context.getDebug('tile') && !_source.overlay;
+
+               if (_source.validZoom(_zoom)) {
+                   tiler.skipNullIsland(!!_source.overlay);
+
+                   tiler().forEach(function(d) {
+                       addSource(d);
+                       if (d[3] === '') return;
+                       if (typeof d[3] !== 'string') return; // Workaround for #2295
+                       requests.push(d);
+                       if (_cache[d[3]] === false && lookUp(d)) {
+                           requests.push(addSource(lookUp(d)));
+                       }
+                   });
+
+                   requests = uniqueBy(requests, 3).filter(function(r) {
+                       // don't re-request tiles which have failed in the past
+                       return _cache[r[3]] !== false;
+                   });
+               }
+
+               function load(d) {
+                   _cache[d[3]] = true;
+                   d3_select(this)
+                       .on('error', null)
+                       .on('load', null)
+                       .classed('tile-loaded', true);
+                   render(selection);
+               }
+
+               function error(d) {
+                   _cache[d[3]] = false;
+                   d3_select(this)
+                       .on('error', null)
+                       .on('load', null)
+                       .remove();
+                   render(selection);
+               }
+
+               function imageTransform(d) {
+                   var ts = _tileSize * Math.pow(2, _zoom - d[2]);
+                   var scale = tileSizeAtZoom(d, _zoom);
+                   return 'translate(' +
+                       ((d[0] * ts) - _tileOrigin[0]) + 'px,' +
+                       ((d[1] * ts) - _tileOrigin[1]) + 'px) ' +
+                       'scale(' + scale + ',' + scale + ')';
+               }
+
+               function tileCenter(d) {
+                   var ts = _tileSize * Math.pow(2, _zoom - d[2]);
+                   return [
+                       ((d[0] * ts) - _tileOrigin[0] + (ts / 2)),
+                       ((d[1] * ts) - _tileOrigin[1] + (ts / 2))
+                   ];
+               }
+
+               function debugTransform(d) {
+                   var coord = tileCenter(d);
+                   return 'translate(' + coord[0] + 'px,' + coord[1] + 'px)';
+               }
+
+
+               // Pick a representative tile near the center of the viewport
+               // (This is useful for sampling the imagery vintage)
+               var dims = tiler.size();
+               var mapCenter = [dims[0] / 2, dims[1] / 2];
+               var minDist = Math.max(dims[0], dims[1]);
+               var nearCenter;
+
+               requests.forEach(function(d) {
+                   var c = tileCenter(d);
+                   var dist = geoVecLength(c, mapCenter);
+                   if (dist < minDist) {
+                       minDist = dist;
+                       nearCenter = d;
+                   }
+               });
+
+
+               var image = selection.selectAll('img')
+                   .data(requests, function(d) { return d[3]; });
+
+               image.exit()
+                   .style(transformProp, imageTransform)
+                   .classed('tile-removing', true)
+                   .classed('tile-center', false)
+                   .each(function() {
+                       var tile = d3_select(this);
+                       window.setTimeout(function() {
+                           if (tile.classed('tile-removing')) {
+                               tile.remove();
+                           }
+                       }, 300);
+                   });
+
+               image.enter()
+                 .append('img')
+                   .attr('class', 'tile')
+                   .attr('src', function(d) { return d[3]; })
+                   .on('error', error)
+                   .on('load', load)
+                 .merge(image)
+                   .style(transformProp, imageTransform)
+                   .classed('tile-debug', showDebug)
+                   .classed('tile-removing', false)
+                   .classed('tile-center', function(d) { return d === nearCenter; });
+
+
+
+               var debug = selection.selectAll('.tile-label-debug')
+                   .data(showDebug ? requests : [], function(d) { return d[3]; });
+
+               debug.exit()
+                   .remove();
+
+               if (showDebug) {
+                   var debugEnter = debug.enter()
+                       .append('div')
+                       .attr('class', 'tile-label-debug');
+
+                   debugEnter
+                       .append('div')
+                       .attr('class', 'tile-label-debug-coord');
+
+                   debugEnter
+                       .append('div')
+                       .attr('class', 'tile-label-debug-vintage');
+
+                   debug = debug.merge(debugEnter);
+
+                   debug
+                       .style(transformProp, debugTransform);
+
+                   debug
+                       .selectAll('.tile-label-debug-coord')
+                       .text(function(d) { return d[2] + ' / ' + d[0] + ' / ' + d[1]; });
+
+                   debug
+                       .selectAll('.tile-label-debug-vintage')
+                       .each(function(d) {
+                           var span = d3_select(this);
+                           var center = context.projection.invert(tileCenter(d));
+                           _source.getMetadata(center, d, function(err, result) {
+                               span.text((result && result.vintage && result.vintage.range) ||
+                                   t('info_panels.background.vintage') + ': ' + t('info_panels.background.unknown')
+                               );
+                           });
+                       });
+               }
+
+           }
+
+
+           background.projection = function(val) {
+               if (!arguments.length) return _projection;
+               _projection = val;
+               return background;
+           };
+
+
+           background.dimensions = function(val) {
+               if (!arguments.length) return tiler.size();
+               tiler.size(val);
+               return background;
+           };
+
+
+           background.source = function(val) {
+               if (!arguments.length) return _source;
+               _source = val;
+               _tileSize = _source.tileSize;
+               _cache = {};
+               tiler.tileSize(_source.tileSize).zoomExtent(_source.zoomExtent);
+               return background;
+           };
+
+
+           return background;
+       }
+
+       function rendererBackground(context) {
+           var dispatch$1 = dispatch('change');
+           var detected = utilDetect();
+           var baseLayer = rendererTileLayer(context).projection(context.projection);
+           var _isValid = true;
+           var _overlayLayers = [];
+           var _backgroundSources = [];
+           var _brightness = 1;
+           var _contrast = 1;
+           var _saturation = 1;
+           var _sharpness = 1;
+
+
+           function background(selection) {
+               // If we are displaying an Esri basemap at high zoom,
+               // check its tilemap to see how high the zoom can go
+               if (context.map().zoom() > 18) {
+                   var basemap = baseLayer.source();
+                   if (basemap && /^EsriWorldImagery/.test(basemap.id)) {
+                       var center = context.map().center();
+                       basemap.fetchTilemap(center);
+                   }
+               }
+
+               // Is the imagery valid here? - #4827
+               var sources = background.sources(context.map().extent());
+               var wasValid = _isValid;
+               _isValid = !!sources
+                   .filter(function(d) { return d === baseLayer.source(); }).length;
+
+               if (wasValid !== _isValid) {      // change in valid status
+                   background.updateImagery();
+               }
+
+
+               var baseFilter = '';
+               if (detected.cssfilters) {
+                   if (_brightness !== 1) {
+                       baseFilter += 'brightness(' + _brightness + ')';
+                   }
+                   if (_contrast !== 1) {
+                       baseFilter += 'contrast(' + _contrast + ')';
+                   }
+                   if (_saturation !== 1) {
+                       baseFilter += 'saturate(' + _saturation + ')';
+                   }
+                   if (_sharpness < 1) {  // gaussian blur
+                       var blur = d3_interpolateNumber(0.5, 5)(1 - _sharpness);
+                       baseFilter += 'blur(' + blur + 'px)';
+                   }
+               }
+
+               var base = selection.selectAll('.layer-background')
+                   .data([0]);
+
+               base = base.enter()
+                   .insert('div', '.layer-data')
+                   .attr('class', 'layer layer-background')
+                   .merge(base);
+
+               if (detected.cssfilters) {
+                   base.style('filter', baseFilter || null);
+               } else {
+                   base.style('opacity', _brightness);
+               }
+
+
+               var imagery = base.selectAll('.layer-imagery')
+                   .data([0]);
+
+               imagery.enter()
+                   .append('div')
+                   .attr('class', 'layer layer-imagery')
+                   .merge(imagery)
+                   .call(baseLayer);
+
+
+               var maskFilter = '';
+               var mixBlendMode = '';
+               if (detected.cssfilters && _sharpness > 1) {  // apply unsharp mask
+                   mixBlendMode = 'overlay';
+                   maskFilter = 'saturate(0) blur(3px) invert(1)';
+
+                   var contrast = _sharpness - 1;
+                   maskFilter += ' contrast(' + contrast + ')';
+
+                   var brightness = d3_interpolateNumber(1, 0.85)(_sharpness - 1);
+                   maskFilter += ' brightness(' + brightness + ')';
+               }
+
+               var mask = base.selectAll('.layer-unsharp-mask')
+                   .data(detected.cssfilters && _sharpness > 1 ? [0] : []);
+
+               mask.exit()
+                   .remove();
+
+               mask.enter()
+                   .append('div')
+                   .attr('class', 'layer layer-mask layer-unsharp-mask')
+                   .merge(mask)
+                   .call(baseLayer)
+                   .style('filter', maskFilter || null)
+                   .style('mix-blend-mode', mixBlendMode || null);
+
+
+               var overlays = selection.selectAll('.layer-overlay')
+                   .data(_overlayLayers, function(d) { return d.source().name(); });
+
+               overlays.exit()
+                   .remove();
+
+               overlays.enter()
+                   .insert('div', '.layer-data')
+                   .attr('class', 'layer layer-overlay')
+                   .merge(overlays)
+                   .each(function(layer) { d3_select(this).call(layer); });
+           }
+
+
+           background.updateImagery = function() {
+               var b = baseLayer.source();
+               if (context.inIntro() || !b) return;
+
+               var o = _overlayLayers
+                   .filter(function (d) { return !d.source().isLocatorOverlay() && !d.source().isHidden(); })
+                   .map(function (d) { return d.source().id; })
+                   .join(',');
+
+               var meters = geoOffsetToMeters(b.offset());
+               var epsilon = 0.01;
+               var x = +meters[0].toFixed(2);
+               var y = +meters[1].toFixed(2);
+               var q = utilStringQs(window.location.hash.substring(1));
+
+               var id = b.id;
+               if (id === 'custom') {
+                   id = 'custom:' + b.template();
+               }
+
+               if (id) {
+                   q.background = id;
+               } else {
+                   delete q.background;
+               }
+
+               if (o) {
+                   q.overlays = o;
+               } else {
+                   delete q.overlays;
+               }
+
+               if (Math.abs(x) > epsilon || Math.abs(y) > epsilon) {
+                   q.offset = x + ',' + y;
+               } else {
+                   delete q.offset;
+               }
+
+               if (!window.mocha) {
+                   window.location.replace('#' + utilQsString(q, true));
+               }
+
+               var imageryUsed = [];
+               var photoOverlaysUsed = [];
+
+               var current = b.imageryUsed();
+               if (current && _isValid) {
+                   imageryUsed.push(current);
+               }
+
+               _overlayLayers
+                   .filter(function (d) { return !d.source().isLocatorOverlay() && !d.source().isHidden(); })
+                   .forEach(function (d) { imageryUsed.push(d.source().imageryUsed()); });
+
+               var data = context.layers().layer('data');
+               if (data && data.enabled() && data.hasData()) {
+                   imageryUsed.push(data.getSrc());
+               }
+
+               var photoOverlayLayers = {
+                   streetside: 'Bing Streetside',
+                   mapillary: 'Mapillary Images',
+                   'mapillary-signs': 'Mapillary Signs',
+                   openstreetcam: 'OpenStreetCam Images'
+               };
+
+               for (var layerID in photoOverlayLayers) {
+                   var layer = context.layers().layer(layerID);
+                   if (layer && layer.enabled()) {
+                       photoOverlaysUsed.push(layerID);
+                       imageryUsed.push(photoOverlayLayers[layerID]);
+                   }
+               }
+
+               context.history().photoOverlaysUsed(photoOverlaysUsed);
+               context.history().imageryUsed(imageryUsed);
+           };
+
+
+           background.sources = function(extent) {
+               if (!data.imagery || !data.imagery.query) return [];   // called before init()?
+
+               var matchIDs = {};
+               var matchImagery = data.imagery.query.bbox(extent.rectangle(), true) || [];
+               matchImagery.forEach(function(d) { matchIDs[d.id] = true; });
+
+               return _backgroundSources.filter(function(source) {
+                   return matchIDs[source.id] || !source.polygon;   // no polygon = worldwide
+               });
+           };
+
+
+           background.dimensions = function(d) {
+               if (!d) return;
+               baseLayer.dimensions(d);
+
+               _overlayLayers.forEach(function(layer) {
+                   layer.dimensions(d);
+               });
+           };
+
+
+           background.baseLayerSource = function(d) {
+               if (!arguments.length) return baseLayer.source();
+
+               // test source against OSM imagery blacklists..
+               var osm = context.connection();
+               if (!osm) return background;
+
+               var blacklists = context.connection().imageryBlacklists();
+               var template = d.template();
+               var fail = false;
+               var tested = 0;
+               var regex;
+
+               for (var i = 0; i < blacklists.length; i++) {
+                   try {
+                       regex = new RegExp(blacklists[i]);
+                       fail = regex.test(template);
+                       tested++;
+                       if (fail) break;
+                   } catch (e) {
+                       /* noop */
+                   }
+               }
+
+               // ensure at least one test was run.
+               if (!tested) {
+                   regex = new RegExp('.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*');
+                   fail = regex.test(template);
+               }
+
+               baseLayer.source(!fail ? d : background.findSource('none'));
+               dispatch$1.call('change');
+               background.updateImagery();
+               return background;
+           };
+
+
+           background.findSource = function(id) {
+               return _backgroundSources.find(function(d) {
+                   return d.id && d.id === id;
+               });
+           };
+
+
+           background.bing = function() {
+               background.baseLayerSource(background.findSource('Bing'));
+           };
+
+
+           background.showsLayer = function(d) {
+               var baseSource = baseLayer.source();
+               if (!d || !baseSource) return false;
+               return d.id === baseSource.id ||
+                   _overlayLayers.some(function(layer) { return d.id === layer.source().id; });
+           };
+
+
+           background.overlayLayerSources = function() {
+               return _overlayLayers.map(function (l) { return l.source(); });
+           };
+
+
+           background.toggleOverlayLayer = function(d) {
+               var layer;
+               for (var i = 0; i < _overlayLayers.length; i++) {
+                   layer = _overlayLayers[i];
+                   if (layer.source() === d) {
+                       _overlayLayers.splice(i, 1);
+                       dispatch$1.call('change');
+                       background.updateImagery();
+                       return;
+                   }
+               }
+
+               layer = rendererTileLayer(context)
+                   .source(d)
+                   .projection(context.projection)
+                   .dimensions(baseLayer.dimensions()
+               );
+
+               _overlayLayers.push(layer);
+               dispatch$1.call('change');
+               background.updateImagery();
+           };
+
+
+           background.nudge = function(d, zoom) {
+               baseLayer.source().nudge(d, zoom);
+               dispatch$1.call('change');
+               background.updateImagery();
+               return background;
+           };
+
+
+           background.offset = function(d) {
+               if (!arguments.length) return baseLayer.source().offset();
+               baseLayer.source().offset(d);
+               dispatch$1.call('change');
+               background.updateImagery();
+               return background;
+           };
+
+
+           background.brightness = function(d) {
+               if (!arguments.length) return _brightness;
+               _brightness = d;
+               if (context.mode()) dispatch$1.call('change');
+               return background;
+           };
+
+
+           background.contrast = function(d) {
+               if (!arguments.length) return _contrast;
+               _contrast = d;
+               if (context.mode()) dispatch$1.call('change');
+               return background;
+           };
+
+
+           background.saturation = function(d) {
+               if (!arguments.length) return _saturation;
+               _saturation = d;
+               if (context.mode()) dispatch$1.call('change');
+               return background;
+           };
+
+
+           background.sharpness = function(d) {
+               if (!arguments.length) return _sharpness;
+               _sharpness = d;
+               if (context.mode()) dispatch$1.call('change');
+               return background;
+           };
+
+
+           background.init = function() {
+               function parseMap(qmap) {
+                   if (!qmap) return false;
+                   var args = qmap.split('/').map(Number);
+                   if (args.length < 3 || args.some(isNaN)) return false;
+                   return geoExtent([args[2], args[1]]);
+               }
+
+               var q = utilStringQs(window.location.hash.substring(1));
+               var requested = q.background || q.layer;
+               var extent = parseMap(q.map);
+               var first;
+               var best;
+
+
+               data.imagery = data.imagery || [];
+               data.imagery.features = {};
+
+               // build efficient index and querying for data.imagery
+               var features = data.imagery.map(function(source) {
+                   if (!source.polygon) return null;
+
+                   // Add an extra array nest to each element in `source.polygon`
+                   // so the rings are not treated as a bunch of holes:
+                   // what we have: [ [[outer],[hole],[hole]] ]
+                   // what we want: [ [[outer]],[[outer]],[[outer]] ]
+                   var rings = source.polygon.map(function(ring) { return [ring]; });
+
+                   var feature = {
+                       type: 'Feature',
+                       properties: { id: source.id },
+                       geometry: { type: 'MultiPolygon', coordinates: rings }
+                   };
+
+                   data.imagery.features[source.id] = feature;
+                   return feature;
+
+               }).filter(Boolean);
+
+               data.imagery.query = whichPolygon_1({
+                   type: 'FeatureCollection',
+                   features: features
+               });
+
+
+               // Add all the available imagery sources
+               _backgroundSources = data.imagery.map(function(source) {
+                   if (source.type === 'bing') {
+                       return rendererBackgroundSource.Bing(source, dispatch$1);
+                   } else if (/^EsriWorldImagery/.test(source.id)) {
+                       return rendererBackgroundSource.Esri(source);
+                   } else {
+                       return rendererBackgroundSource(source);
+                   }
+               });
+
+               first = _backgroundSources.length && _backgroundSources[0];
+
+               // Add 'None'
+               _backgroundSources.unshift(rendererBackgroundSource.None());
+
+               // Add 'Custom'
+               var template = context.storage('background-custom-template') || '';
+               var custom = rendererBackgroundSource.Custom(template);
+               _backgroundSources.unshift(custom);
+
+
+               // Decide which background layer to display
+               if (!requested && extent) {
+                   best = this.sources(extent).find(function(s) { return s.best(); });
+               }
+               if (requested && requested.indexOf('custom:') === 0) {
+                   template = requested.replace(/^custom:/, '');
+                   background.baseLayerSource(custom.template(template));
+                   context.storage('background-custom-template', template);
+               } else {
+                   background.baseLayerSource(
+                       background.findSource(requested) ||
+                       best ||
+                       background.findSource(context.storage('background-last-used')) ||
+                       background.findSource('Bing') ||
+                       first ||
+                       background.findSource('none')
+                   );
+               }
+
+               var locator = _backgroundSources.find(function(d) {
+                   return d.overlay && d.default;
+               });
+
+               if (locator) {
+                   background.toggleOverlayLayer(locator);
+               }
+
+               var overlays = (q.overlays || '').split(',');
+               overlays.forEach(function(overlay) {
+                   overlay = background.findSource(overlay);
+                   if (overlay) {
+                       background.toggleOverlayLayer(overlay);
+                   }
+               });
+
+               if (q.gpx) {
+                   var gpx = context.layers().layer('data');
+                   if (gpx) {
+                       gpx.url(q.gpx, '.gpx');
+                   }
+               }
+
+               if (q.offset) {
+                   var offset = q.offset.replace(/;/g, ',').split(',').map(function(n) {
+                       return !isNaN(n) && n;
+                   });
+
+                   if (offset.length === 2) {
+                       background.offset(geoMetersToOffset(offset));
+                   }
+               }
+           };
+
+
+           return utilRebind(background, dispatch$1, 'on');
+       }
+
+       function rendererFeatures(context) {
+           var dispatch$1 = dispatch('change', 'redraw');
+           var features = utilRebind({}, dispatch$1, 'on');
+           var _deferred = new Set();
+
+           var traffic_roads = {
+               'motorway': true,
+               'motorway_link': true,
+               'trunk': true,
+               'trunk_link': true,
+               'primary': true,
+               'primary_link': true,
+               'secondary': true,
+               'secondary_link': true,
+               'tertiary': true,
+               'tertiary_link': true,
+               'residential': true,
+               'unclassified': true,
+               'living_street': true
+           };
+
+           var service_roads = {
+               'service': true,
+               'road': true,
+               'track': true
+           };
+
+           var paths = {
+               'path': true,
+               'footway': true,
+               'cycleway': true,
+               'bridleway': true,
+               'steps': true,
+               'pedestrian': true,
+               'corridor': true
+           };
+
+           var past_futures = {
+               'proposed': true,
+               'construction': true,
+               'abandoned': true,
+               'dismantled': true,
+               'disused': true,
+               'razed': true,
+               'demolished': true,
+               'obliterated': true
+           };
+
+           var _cullFactor = 1;
+           var _cache = {};
+           var _rules = {};
+           var _stats = {};
+           var _keys = [];
+           var _hidden = [];
+           var _forceVisible = {};
+
+
+           function update() {
+               if (!window.mocha) {
+                   var q = utilStringQs(window.location.hash.substring(1));
+                   var disabled = features.disabled();
+                   if (disabled.length) {
+                       q.disable_features = disabled.join(',');
+                   } else {
+                       delete q.disable_features;
+                   }
+                   window.location.replace('#' + utilQsString(q, true));
+                   context.storage('disabled-features', disabled.join(','));
+               }
+               _hidden = features.hidden();
+               dispatch$1.call('change');
+               dispatch$1.call('redraw');
+           }
+
+
+           function defineRule(k, filter, max) {
+               var isEnabled = true;
+
+               _keys.push(k);
+               _rules[k] = {
+                   filter: filter,
+                   enabled: isEnabled,   // whether the user wants it enabled..
+                   count: 0,
+                   currentMax: (max || Infinity),
+                   defaultMax: (max || Infinity),
+                   enable: function() { this.enabled = true; this.currentMax = this.defaultMax; },
+                   disable: function() { this.enabled = false; this.currentMax = 0; },
+                   hidden: function() {
+                       return !context.editable() ||
+                           (this.count === 0 && !this.enabled) ||
+                           this.count > this.currentMax * _cullFactor;
+                   },
+                   autoHidden: function() { return this.hidden() && this.currentMax > 0; }
+               };
+           }
+
+
+           defineRule('points', function isPoint(tags, geometry) {
+               return geometry === 'point';
+           }, 200);
+
+           defineRule('traffic_roads', function isTrafficRoad(tags) {
+               return traffic_roads[tags.highway];
+           });
+
+           defineRule('service_roads', function isServiceRoad(tags) {
+               return service_roads[tags.highway];
+           });
+
+           defineRule('paths', function isPath(tags) {
+               return paths[tags.highway];
+           });
+
+           defineRule('buildings', function isBuilding(tags) {
+               return (
+                   (!!tags.building && tags.building !== 'no') ||
+                   tags.parking === 'multi-storey' ||
+                   tags.parking === 'sheds' ||
+                   tags.parking === 'carports' ||
+                   tags.parking === 'garage_boxes'
+               );
+           }, 250);
+
+           defineRule('building_parts', function isBuildingPart(tags) {
+               return tags['building:part'];
+           });
+
+           defineRule('indoor', function isIndoor(tags) {
+               return tags.indoor;
+           });
+
+           defineRule('landuse', function isLanduse(tags, geometry) {
+               return geometry === 'area' &&
+                   !_rules.buildings.filter(tags) &&
+                   !_rules.building_parts.filter(tags) &&
+                   !_rules.indoor.filter(tags) &&
+                   !_rules.water.filter(tags) &&
+                   !_rules.pistes.filter(tags);
+           });
+
+           defineRule('boundaries', function isBoundary(tags) {
+               return (
+                   !!tags.boundary
+               ) && !(
+                   traffic_roads[tags.highway] ||
+                   service_roads[tags.highway] ||
+                   paths[tags.highway] ||
+                   tags.waterway ||
+                   tags.railway ||
+                   tags.landuse ||
+                   tags.natural ||
+                   tags.building ||
+                   tags.power
+               );
+           });
+
+           defineRule('water', function isWater(tags) {
+               return (
+                   !!tags.waterway ||
+                   tags.natural === 'water' ||
+                   tags.natural === 'coastline' ||
+                   tags.natural === 'bay' ||
+                   tags.landuse === 'pond' ||
+                   tags.landuse === 'basin' ||
+                   tags.landuse === 'reservoir' ||
+                   tags.landuse === 'salt_pond'
+               );
+           });
+
+           defineRule('rail', function isRail(tags) {
+               return (
+                   !!tags.railway ||
+                   tags.landuse === 'railway'
+               ) && !(
+                   traffic_roads[tags.highway] ||
+                   service_roads[tags.highway] ||
+                   paths[tags.highway]
+               );
+           });
+
+           defineRule('pistes', function isPiste(tags) {
+               return tags['piste:type'];
+           });
+
+           defineRule('aerialways', function isPiste(tags) {
+               return tags.aerialway &&
+                   tags.aerialway !== 'yes' &&
+                   tags.aerialway !== 'station';
+           });
+
+           defineRule('power', function isPower(tags) {
+               return !!tags.power;
+           });
+
+           // contains a past/future tag, but not in active use as a road/path/cycleway/etc..
+           defineRule('past_future', function isPastFuture(tags) {
+               if (
+                   traffic_roads[tags.highway] ||
+                   service_roads[tags.highway] ||
+                   paths[tags.highway]
+               ) { return false; }
+
+               var strings = Object.keys(tags);
+
+               for (var i = 0; i < strings.length; i++) {
+                   var s = strings[i];
+                   if (past_futures[s] || past_futures[tags[s]]) { return true; }
+               }
+               return false;
+           });
+
+           // Lines or areas that don't match another feature filter.
+           // IMPORTANT: The 'others' feature must be the last one defined,
+           //   so that code in getMatches can skip this test if `hasMatch = true`
+           defineRule('others', function isOther(tags, geometry) {
+               return (geometry === 'line' || geometry === 'area');
+           });
+
+
+
+           features.features = function() {
+               return _rules;
+           };
+
+
+           features.keys = function() {
+               return _keys;
+           };
+
+
+           features.enabled = function(k) {
+               if (!arguments.length) {
+                   return _keys.filter(function(k) { return _rules[k].enabled; });
+               }
+               return _rules[k] && _rules[k].enabled;
+           };
+
+
+           features.disabled = function(k) {
+               if (!arguments.length) {
+                   return _keys.filter(function(k) { return !_rules[k].enabled; });
+               }
+               return _rules[k] && !_rules[k].enabled;
+           };
+
+
+           features.hidden = function(k) {
+               if (!arguments.length) {
+                   return _keys.filter(function(k) { return _rules[k].hidden(); });
+               }
+               return _rules[k] && _rules[k].hidden();
+           };
+
+
+           features.autoHidden = function(k) {
+               if (!arguments.length) {
+                   return _keys.filter(function(k) { return _rules[k].autoHidden(); });
+               }
+               return _rules[k] && _rules[k].autoHidden();
+           };
+
+
+           features.enable = function(k) {
+               if (_rules[k] && !_rules[k].enabled) {
+                   _rules[k].enable();
+                   update();
+               }
+           };
+
+           features.enableAll = function() {
+               var didEnable = false;
+               for (var k in _rules) {
+                   if (!_rules[k].enabled) {
+                       didEnable = true;
+                       _rules[k].enable();
+                   }
+               }
+               if (didEnable) update();
+           };
+
+
+           features.disable = function(k) {
+               if (_rules[k] && _rules[k].enabled) {
+                   _rules[k].disable();
+                   update();
+               }
+           };
+
+           features.disableAll = function() {
+               var didDisable = false;
+               for (var k in _rules) {
+                   if (_rules[k].enabled) {
+                       didDisable = true;
+                       _rules[k].disable();
+                   }
+               }
+               if (didDisable) update();
+           };
+
+
+           features.toggle = function(k) {
+               if (_rules[k]) {
+                   (function(f) { return f.enabled ? f.disable() : f.enable(); }(_rules[k]));
+                   update();
+               }
+           };
+
+
+           features.resetStats = function() {
+               for (var i = 0; i < _keys.length; i++) {
+                   _rules[_keys[i]].count = 0;
+               }
+               dispatch$1.call('change');
+           };
+
+
+           features.gatherStats = function(d, resolver, dimensions) {
+               var needsRedraw = false;
+               var types = utilArrayGroupBy(d, 'type');
+               var entities = [].concat(types.relation || [], types.way || [], types.node || []);
+               var currHidden, geometry, matches, i, j;
+
+               for (i = 0; i < _keys.length; i++) {
+                   _rules[_keys[i]].count = 0;
+               }
+
+               // adjust the threshold for point/building culling based on viewport size..
+               // a _cullFactor of 1 corresponds to a 1000x1000px viewport..
+               _cullFactor = dimensions[0] * dimensions[1] / 1000000;
+
+               for (i = 0; i < entities.length; i++) {
+                   geometry = entities[i].geometry(resolver);
+                   matches = Object.keys(features.getMatches(entities[i], resolver, geometry));
+                   for (j = 0; j < matches.length; j++) {
+                       _rules[matches[j]].count++;
+                   }
+               }
+
+               currHidden = features.hidden();
+               if (currHidden !== _hidden) {
+                   _hidden = currHidden;
+                   needsRedraw = true;
+                   dispatch$1.call('change');
+               }
+
+               return needsRedraw;
+           };
+
+
+           features.stats = function() {
+               for (var i = 0; i < _keys.length; i++) {
+                   _stats[_keys[i]] = _rules[_keys[i]].count;
+               }
+
+               return _stats;
+           };
+
+
+           features.clear = function(d) {
+               for (var i = 0; i < d.length; i++) {
+                   features.clearEntity(d[i]);
+               }
+           };
+
+
+           features.clearEntity = function(entity) {
+               delete _cache[osmEntity.key(entity)];
+           };
+
+
+           features.reset = function() {
+               Array.from(_deferred).forEach(function(handle) {
+                   window.cancelIdleCallback(handle);
+                   _deferred.delete(handle);
+               });
+
+               _cache = {};
+           };
+
+           // only certain relations are worth checking
+           function relationShouldBeChecked(relation) {
+               // multipolygon features have `area` geometry and aren't checked here
+               return relation.tags.type === 'boundary';
+           }
+
+           features.getMatches = function(entity, resolver, geometry) {
+               if (geometry === 'vertex' ||
+                   (geometry === 'relation' && !relationShouldBeChecked(entity))) return {};
+
+               var ent = osmEntity.key(entity);
+               if (!_cache[ent]) {
+                   _cache[ent] = {};
+               }
+
+               if (!_cache[ent].matches) {
+                   var matches = {};
+                   var hasMatch = false;
+
+                   for (var i = 0; i < _keys.length; i++) {
+                       if (_keys[i] === 'others') {
+                           if (hasMatch) continue;
+
+                           // If an entity...
+                           //   1. is a way that hasn't matched other 'interesting' feature rules,
+                           if (entity.type === 'way') {
+                               var parents = features.getParents(entity, resolver, geometry);
+
+                               //   2a. belongs only to a single multipolygon relation
+                               if ((parents.length === 1 && parents[0].isMultipolygon()) ||
+                                   // 2b. or belongs only to boundary relations
+                                   (parents.length > 0 && parents.every(function(parent) { return parent.tags.type === 'boundary'; }))) {
+
+                                   // ...then match whatever feature rules the parent relation has matched.
+                                   // see #2548, #2887
+                                   //
+                                   // IMPORTANT:
+                                   // For this to work, getMatches must be called on relations before ways.
+                                   //
+                                   var pkey = osmEntity.key(parents[0]);
+                                   if (_cache[pkey] && _cache[pkey].matches) {
+                                       matches = Object.assign({}, _cache[pkey].matches);  // shallow copy
+                                       continue;
+                                   }
+                               }
+                           }
+                       }
+
+                       if (_rules[_keys[i]].filter(entity.tags, geometry)) {
+                           matches[_keys[i]] = hasMatch = true;
+                       }
+                   }
+                   _cache[ent].matches = matches;
+               }
+
+               return _cache[ent].matches;
+           };
+
+
+           features.getParents = function(entity, resolver, geometry) {
+               if (geometry === 'point') return [];
+
+               var ent = osmEntity.key(entity);
+               if (!_cache[ent]) {
+                   _cache[ent] = {};
+               }
+
+               if (!_cache[ent].parents) {
+                   var parents = [];
+                   if (geometry === 'vertex') {
+                       parents = resolver.parentWays(entity);
+                   } else {   // 'line', 'area', 'relation'
+                       parents = resolver.parentRelations(entity);
+                   }
+                   _cache[ent].parents = parents;
+               }
+               return _cache[ent].parents;
+           };
+
+
+           features.isHiddenPreset = function(preset, geometry) {
+               if (!_hidden.length) return false;
+               if (!preset.tags) return false;
+
+               var test = preset.setTags({}, geometry);
+               for (var key in _rules) {
+                   if (_rules[key].filter(test, geometry)) {
+                       if (_hidden.indexOf(key) !== -1) {
+                           return key;
+                       }
+                       return false;
+                   }
+               }
+               return false;
+           };
+
+
+           features.isHiddenFeature = function(entity, resolver, geometry) {
+               if (!_hidden.length) return false;
+               if (!entity.version) return false;
+               if (_forceVisible[entity.id]) return false;
+
+               var matches = Object.keys(features.getMatches(entity, resolver, geometry));
+               return matches.length && matches.every(function(k) { return features.hidden(k); });
+           };
+
+
+           features.isHiddenChild = function(entity, resolver, geometry) {
+               if (!_hidden.length) return false;
+               if (!entity.version || geometry === 'point') return false;
+               if (_forceVisible[entity.id]) return false;
+
+               var parents = features.getParents(entity, resolver, geometry);
+               if (!parents.length) return false;
+
+               for (var i = 0; i < parents.length; i++) {
+                   if (!features.isHidden(parents[i], resolver, parents[i].geometry(resolver))) {
+                       return false;
+                   }
+               }
+               return true;
+           };
+
+
+           features.hasHiddenConnections = function(entity, resolver) {
+               if (!_hidden.length) return false;
+
+               var childNodes, connections;
+               if (entity.type === 'midpoint') {
+                   childNodes = [resolver.entity(entity.edge[0]), resolver.entity(entity.edge[1])];
+                   connections = [];
+               } else {
+                   childNodes = entity.nodes ? resolver.childNodes(entity) : [];
+                   connections = features.getParents(entity, resolver, entity.geometry(resolver));
+               }
+
+               // gather ways connected to child nodes..
+               connections = childNodes.reduce(function(result, e) {
+                   return resolver.isShared(e) ? utilArrayUnion(result, resolver.parentWays(e)) : result;
+               }, connections);
+
+               return connections.some(function(e) {
+                   return features.isHidden(e, resolver, e.geometry(resolver));
+               });
+           };
+
+
+           features.isHidden = function(entity, resolver, geometry) {
+               if (!_hidden.length) return false;
+               if (!entity.version) return false;
+
+               var fn = (geometry === 'vertex' ? features.isHiddenChild : features.isHiddenFeature);
+               return fn(entity, resolver, geometry);
+           };
+
+
+           features.filter = function(d, resolver) {
+               if (!_hidden.length) return d;
+
+               var result = [];
+               for (var i = 0; i < d.length; i++) {
+                   var entity = d[i];
+                   if (!features.isHidden(entity, resolver, entity.geometry(resolver))) {
+                       result.push(entity);
+                   }
+               }
+               return result;
+           };
+
+
+           features.forceVisible = function(entityIDs) {
+               if (!arguments.length) return Object.keys(_forceVisible);
+
+               _forceVisible = {};
+               for (var i = 0; i < entityIDs.length; i++) {
+                   _forceVisible[entityIDs[i]] = true;
+                   var entity = context.hasEntity(entityIDs[i]);
+                   if (entity && entity.type === 'relation') {
+                       // also show relation members (one level deep)
+                       for (var j in entity.members) {
+                           _forceVisible[entity.members[j].id] = true;
+                       }
+                   }
+               }
+               return features;
+           };
+
+
+           features.init = function() {
+               var storage = context.storage('disabled-features');
+               if (storage) {
+                   var storageDisabled = storage.replace(/;/g, ',').split(',');
+                   storageDisabled.forEach(features.disable);
+               }
+
+               var q = utilStringQs(window.location.hash.substring(1));
+               if (q.disable_features) {
+                   var hashDisabled = q.disable_features.replace(/;/g, ',').split(',');
+                   hashDisabled.forEach(features.disable);
+               }
+           };
+
+
+           // warm up the feature matching cache upon merging fetched data
+           context.history().on('merge.features', function(newEntities) {
+               if (!newEntities) return;
+               var handle = window.requestIdleCallback(function() {
+                   var graph = context.graph();
+                   var types = utilArrayGroupBy(newEntities, 'type');
+                   // ensure that getMatches is called on relations before ways
+                   var entities = [].concat(types.relation || [], types.way || [], types.node || []);
+                   for (var i = 0; i < entities.length; i++) {
+                       var geometry = entities[i].geometry(graph);
+                       features.getMatches(entities[i], graph, geometry);
+                   }
+               });
+               _deferred.add(handle);
+           });
+
+
+           return features;
+       }
+
+       // Touch targets control which other vertices we can drag a vertex onto.
+       //
+       // - the activeID - nope
+       // - 1 away (adjacent) to the activeID - yes (vertices will be merged)
+       // - 2 away from the activeID - nope (would create a self intersecting segment)
+       // - all others on a linear way - yes
+       // - all others on a closed way - nope (would create a self intersecting polygon)
+       //
+       // returns
+       // 0 = active vertex - no touch/connect
+       // 1 = passive vertex - yes touch/connect
+       // 2 = adjacent vertex - yes but pay attention segmenting a line here
+       //
+       function svgPassiveVertex(node, graph, activeID) {
+           if (!activeID) return 1;
+           if (activeID === node.id) return 0;
+
+           var parents = graph.parentWays(node);
+
+           for (var i = 0; i < parents.length; i++) {
+               var nodes = parents[i].nodes;
+               var isClosed = parents[i].isClosed();
+               for (var j = 0; j < nodes.length; j++) {   // find this vertex, look nearby
+                   if (nodes[j] === node.id) {
+                       var ix1 = j - 2;
+                       var ix2 = j - 1;
+                       var ix3 = j + 1;
+                       var ix4 = j + 2;
+
+                       if (isClosed) {  // wraparound if needed
+                           var max = nodes.length - 1;
+                           if (ix1 < 0)   ix1 = max + ix1;
+                           if (ix2 < 0)   ix2 = max + ix2;
+                           if (ix3 > max) ix3 = ix3 - max;
+                           if (ix4 > max) ix4 = ix4 - max;
+                       }
+
+                       if (nodes[ix1] === activeID) return 0;        // no - prevent self intersect
+                       else if (nodes[ix2] === activeID) return 2;   // ok - adjacent
+                       else if (nodes[ix3] === activeID) return 2;   // ok - adjacent
+                       else if (nodes[ix4] === activeID) return 0;   // no - prevent self intersect
+                       else if (isClosed && nodes.indexOf(activeID) !== -1) return 0;  // no - prevent self intersect
+                   }
+               }
+           }
+
+           return 1;   // ok
+       }
+
+
+       function svgMarkerSegments(projection, graph, dt,
+                                         shouldReverse,
+                                         bothDirections) {
+           return function(entity) {
+               var i = 0;
+               var offset = dt;
+               var segments = [];
+               var clip = d3_geoIdentity().clipExtent(projection.clipExtent()).stream;
+               var coordinates = graph.childNodes(entity).map(function(n) { return n.loc; });
+               var a, b;
+
+               if (shouldReverse(entity)) {
+                   coordinates.reverse();
+               }
+
+               d3_geoStream({
+                   type: 'LineString',
+                   coordinates: coordinates
+               }, projection.stream(clip({
+                   lineStart: function() {},
+                   lineEnd: function() { a = null; },
+                   point: function(x, y) {
+                       b = [x, y];
+
+                       if (a) {
+                           var span = geoVecLength(a, b) - offset;
+
+                           if (span >= 0) {
+                               var heading = geoVecAngle(a, b);
+                               var dx = dt * Math.cos(heading);
+                               var dy = dt * Math.sin(heading);
+                               var p = [
+                                   a[0] + offset * Math.cos(heading),
+                                   a[1] + offset * Math.sin(heading)
+                               ];
+
+                               // gather coordinates
+                               var coord = [a, p];
+                               for (span -= dt; span >= 0; span -= dt) {
+                                   p = geoVecAdd(p, [dx, dy]);
+                                   coord.push(p);
+                               }
+                               coord.push(b);
+
+                               // generate svg paths
+                               var segment = '';
+                               var j;
+
+                               for (j = 0; j < coord.length; j++) {
+                                   segment += (j === 0 ? 'M' : 'L') + coord[j][0] + ',' + coord[j][1];
+                               }
+                               segments.push({ id: entity.id, index: i++, d: segment });
+
+                               if (bothDirections(entity)) {
+                                   segment = '';
+                                   for (j = coord.length - 1; j >= 0; j--) {
+                                       segment += (j === coord.length - 1 ? 'M' : 'L') + coord[j][0] + ',' + coord[j][1];
+                                   }
+                                   segments.push({ id: entity.id, index: i++, d: segment });
+                               }
+                           }
+
+                           offset = -span;
+                       }
+
+                       a = b;
+                   }
+               })));
+
+               return segments;
+           };
+       }
+
+
+       function svgPath(projection, graph, isArea) {
+
+           // Explanation of magic numbers:
+           // "padding" here allows space for strokes to extend beyond the viewport,
+           // so that the stroke isn't drawn along the edge of the viewport when
+           // the shape is clipped.
+           //
+           // When drawing lines, pad viewport by 5px.
+           // When drawing areas, pad viewport by 65px in each direction to allow
+           // for 60px area fill stroke (see ".fill-partial path.fill" css rule)
+
+           var cache = {};
+           var padding = isArea ? 65 : 5;
+           var viewport = projection.clipExtent();
+           var paddedExtent = [
+               [viewport[0][0] - padding, viewport[0][1] - padding],
+               [viewport[1][0] + padding, viewport[1][1] + padding]
+           ];
+           var clip = d3_geoIdentity().clipExtent(paddedExtent).stream;
+           var project = projection.stream;
+           var path = d3_geoPath()
+               .projection({stream: function(output) { return project(clip(output)); }});
+
+           var svgpath = function(entity) {
+               if (entity.id in cache) {
+                   return cache[entity.id];
+               } else {
+                   return cache[entity.id] = path(entity.asGeoJSON(graph));
+               }
+           };
+
+           svgpath.geojson = function(d) {
+               if (d.__featurehash__ !== undefined) {
+                   if (d.__featurehash__ in cache) {
+                       return cache[d.__featurehash__];
+                   } else {
+                       return cache[d.__featurehash__] = path(d);
+                   }
+               } else {
+                   return path(d);
+               }
+           };
+
+           return svgpath;
+       }
+
+
+       function svgPointTransform(projection) {
+           var svgpoint = function(entity) {
+               // http://jsperf.com/short-array-join
+               var pt = projection(entity.loc);
+               return 'translate(' + pt[0] + ',' + pt[1] + ')';
+           };
+
+           svgpoint.geojson = function(d) {
+               return svgpoint(d.properties.entity);
+           };
+
+           return svgpoint;
+       }
+
+
+       function svgRelationMemberTags(graph) {
+           return function(entity) {
+               var tags = entity.tags;
+               var shouldCopyMultipolygonTags = !entity.hasInterestingTags();
+               graph.parentRelations(entity).forEach(function(relation) {
+                   var type = relation.tags.type;
+                   if ((type === 'multipolygon' && shouldCopyMultipolygonTags) || type === 'boundary') {
+                       tags = Object.assign({}, relation.tags, tags);
+                   }
+               });
+               return tags;
+           };
+       }
+
+
+       function svgSegmentWay(way, graph, activeID) {
+           // When there is no activeID, we can memoize this expensive computation
+           if (activeID === undefined) {
+               return graph.transient(way, 'waySegments', getWaySegments);
+           } else {
+               return getWaySegments();
+           }
+
+           function getWaySegments() {
+               var isActiveWay = (way.nodes.indexOf(activeID) !== -1);
+               var features = { passive: [], active: [] };
+               var start = {};
+               var end = {};
+               var node, type;
+
+               for (var i = 0; i < way.nodes.length; i++) {
+                   node = graph.entity(way.nodes[i]);
+                   type = svgPassiveVertex(node, graph, activeID);
+                   end = { node: node, type: type };
+
+                   if (start.type !== undefined) {
+                       if (start.node.id === activeID || end.node.id === activeID) ; else if (isActiveWay && (start.type === 2 || end.type === 2)) {   // one adjacent vertex
+                           pushActive(start, end, i);
+                       } else if (start.type === 0 && end.type === 0) {   // both active vertices
+                           pushActive(start, end, i);
+                       } else {
+                           pushPassive(start, end, i);
+                       }
+                   }
+
+                   start = end;
+               }
+
+               return features;
+
+               function pushActive(start, end, index) {
+                   features.active.push({
+                       type: 'Feature',
+                       id: way.id + '-' + index + '-nope',
+                       properties: {
+                           nope: true,
+                           target: true,
+                           entity: way,
+                           nodes: [start.node, end.node],
+                           index: index
+                       },
+                       geometry: {
+                           type: 'LineString',
+                           coordinates: [start.node.loc, end.node.loc]
+                       }
+                   });
+               }
+
+               function pushPassive(start, end, index) {
+                   features.passive.push({
+                       type: 'Feature',
+                       id: way.id + '-' + index,
+                       properties: {
+                           target: true,
+                           entity: way,
+                           nodes: [start.node, end.node],
+                           index: index
+                       },
+                       geometry: {
+                           type: 'LineString',
+                           coordinates: [start.node.loc, end.node.loc]
+                       }
+                   });
+               }
+           }
+       }
+
+       function svgTagClasses() {
+           var primaries = [
+               'building', 'highway', 'railway', 'waterway', 'aeroway', 'aerialway',
+               'piste:type', 'boundary', 'power', 'amenity', 'natural', 'landuse',
+               'leisure', 'military', 'place', 'man_made', 'route', 'attraction',
+               'building:part', 'indoor'
+           ];
+           var statuses = [
+               'proposed', 'construction', 'disused', 'abandoned', 'dismantled',
+               'razed', 'demolished', 'obliterated', 'intermittent'
+           ];
+           var secondaries = [
+               'oneway', 'bridge', 'tunnel', 'embankment', 'cutting', 'barrier',
+               'surface', 'tracktype', 'footway', 'crossing', 'service', 'sport',
+               'public_transport', 'location', 'parking', 'golf', 'type', 'leisure',
+               'man_made', 'indoor'
+           ];
+           var _tags = function(entity) { return entity.tags; };
+
+
+           var tagClasses = function(selection) {
+               selection.each(function tagClassesEach(entity) {
+                   var value = this.className;
+
+                   if (value.baseVal !== undefined) {
+                       value = value.baseVal;
+                   }
+
+                   var t = _tags(entity);
+
+                   var computed = tagClasses.getClassesString(t, value, entity);
+
+                   if (computed !== value) {
+                       d3_select(this).attr('class', computed);
+                   }
+               });
+           };
+
+
+           tagClasses.getClassesString = function(t, value, entity) {
+               var primary, status;
+               var i, k, v;
+
+               // in some situations we want to render perimeter strokes a certain way
+               var overrideGeometry;
+               if (/\bstroke\b/.test(value)) {
+                   if (!!t.barrier && t.barrier !== 'no') {
+                       overrideGeometry = 'line';
+                   } else if (t.type === 'multipolygon' && !entity.hasInterestingTags()) {
+                       overrideGeometry = 'area';
+                   }
+               }
+
+               // preserve base classes (nothing with `tag-`)
+               var classes = value.trim().split(/\s+/)
+                   .filter(function(klass) {
+                       return klass.length && !/^tag-/.test(klass);
+                   })
+                   .map(function(klass) {  // special overrides for some perimeter strokes
+                       return (klass === 'line' || klass === 'area') ? (overrideGeometry || klass) : klass;
+                   });
+
+               // pick at most one primary classification tag..
+               for (i = 0; i < primaries.length; i++) {
+                   k = primaries[i];
+                   v = t[k];
+                   if (!v || v === 'no') continue;
+
+                   if (k === 'piste:type') {  // avoid a ':' in the class name
+                       k = 'piste';
+                   } else if (k === 'building:part') {  // avoid a ':' in the class name
+                       k = 'building_part';
+                   }
+
+                   primary = k;
+                   if (statuses.indexOf(v) !== -1) {   // e.g. `railway=abandoned`
+                       status = v;
+                       classes.push('tag-' + k);
+                   } else {
+                       classes.push('tag-' + k);
+                       classes.push('tag-' + k + '-' + v);
+                   }
+
+                   break;
+               }
+
+               // add at most one status tag, only if relates to primary tag..
+               if (!status) {
+                   for (i = 0; i < statuses.length; i++) {
+                       k = statuses[i];
+                       v = t[k];
+                       if (!v || v === 'no') continue;
+
+                       if (v === 'yes') {   // e.g. `railway=rail + abandoned=yes`
+                           status = k;
+                       }
+                       else if (primary && primary === v) {  // e.g. `railway=rail + abandoned=railway`
+                           status = k;
+                       } else if (!primary && primaries.indexOf(v) !== -1) {  // e.g. `abandoned=railway`
+                           status = k;
+                           primary = v;
+                           classes.push('tag-' + v);
+                       }  // else ignore e.g.  `highway=path + abandoned=railway`
+
+                       if (status) break;
+                   }
+               }
+
+               if (status) {
+                   classes.push('tag-status');
+                   classes.push('tag-status-' + status);
+               }
+
+               // add any secondary tags
+               for (i = 0; i < secondaries.length; i++) {
+                   k = secondaries[i];
+                   v = t[k];
+                   if (!v || v === 'no' || k === primary) continue;
+                   classes.push('tag-' + k);
+                   classes.push('tag-' + k + '-' + v);
+               }
+
+               // For highways, look for surface tagging..
+               if (primary === 'highway' || primary === 'aeroway') {
+                   var paved = (t.highway !== 'track');
+                   for (k in t) {
+                       v = t[k];
+                       if (k in osmPavedTags) {
+                           paved = !!osmPavedTags[k][v];
+                           break;
+                       }
+                   }
+                   if (!paved) {
+                       classes.push('tag-unpaved');
+                   }
+               }
+
+               // If this is a wikidata-tagged item, add a class for that..
+               if (t.wikidata || t['brand:wikidata']) {
+                   classes.push('tag-wikidata');
+               }
+
+               return classes.join(' ').trim();
+           };
+
+
+           tagClasses.tags = function(val) {
+               if (!arguments.length) return _tags;
+               _tags = val;
+               return tagClasses;
+           };
+
+           return tagClasses;
+       }
+
+       function svgAreas(projection, context) {
+           // Patterns only work in Firefox when set directly on element.
+           // (This is not a bug: https://bugzilla.mozilla.org/show_bug.cgi?id=750632)
+           var patterns = {
+               // tag - pattern name
+               // -or-
+               // tag - value - pattern name
+               // -or-
+               // tag - value - rules (optional tag-values, pattern name)
+               // (matches earlier rules first, so fallback should be last entry)
+               amenity: {
+                   grave_yard: 'cemetery',
+                   fountain: 'water_standing'
+               },
+               landuse: {
+                   cemetery: [
+                       { religion: 'christian', pattern: 'cemetery_christian' },
+                       { religion: 'buddhist', pattern: 'cemetery_buddhist' },
+                       { religion: 'muslim', pattern: 'cemetery_muslim' },
+                       { religion: 'jewish', pattern: 'cemetery_jewish' },
+                       { pattern: 'cemetery' }
+                   ],
+                   construction: 'construction',
+                   farmland: 'farmland',
+                   farmyard: 'farmyard',
+                   forest: [
+                       { leaf_type: 'broadleaved', pattern: 'forest_broadleaved' },
+                       { leaf_type: 'needleleaved', pattern: 'forest_needleleaved' },
+                       { leaf_type: 'leafless', pattern: 'forest_leafless' },
+                       { pattern: 'forest' } // same as 'leaf_type:mixed'
+                   ],
+                   grave_yard: 'cemetery',
+                   grass: 'grass',
+                   landfill: 'landfill',
+                   meadow: 'meadow',
+                   military: 'construction',
+                   orchard: 'orchard',
+                   quarry: 'quarry',
+                   vineyard: 'vineyard'
+               },
+               natural: {
+                   beach: 'beach',
+                   grassland: 'grass',
+                   sand: 'beach',
+                   scrub: 'scrub',
+                   water: [
+                       { water: 'pond', pattern: 'pond' },
+                       { water: 'reservoir', pattern: 'water_standing' },
+                       { pattern: 'waves' }
+                   ],
+                   wetland: [
+                       { wetland: 'marsh', pattern: 'wetland_marsh' },
+                       { wetland: 'swamp', pattern: 'wetland_swamp' },
+                       { wetland: 'bog', pattern: 'wetland_bog' },
+                       { wetland: 'reedbed', pattern: 'wetland_reedbed' },
+                       { pattern: 'wetland' }
+                   ],
+                   wood: [
+                       { leaf_type: 'broadleaved', pattern: 'forest_broadleaved' },
+                       { leaf_type: 'needleleaved', pattern: 'forest_needleleaved' },
+                       { leaf_type: 'leafless', pattern: 'forest_leafless' },
+                       { pattern: 'forest' } // same as 'leaf_type:mixed'
+                   ]
+               },
+               traffic_calming: {
+                   island: [
+                       { surface: 'grass', pattern: 'grass' },
+                   ],
+                   chicane: [
+                       { surface: 'grass', pattern: 'grass' },
+                   ],
+                   choker: [
+                       { surface: 'grass', pattern: 'grass' },
+                   ]
+               }
+           };
+
+           function setPattern(entity) {
+               // Skip pattern filling if this is a building (buildings don't get patterns applied)
+               if (entity.tags.building && entity.tags.building !== 'no') {
+                   this.style.fill = this.style.stroke = '';
+                   return;
+               }
+
+               for (var tag in patterns) {
+                   var entityValue = entity.tags[tag];
+                   if (!entityValue) continue;
+
+                   if (typeof patterns[tag] === 'string') { // extra short syntax (just tag) - pattern name
+                       this.style.fill = this.style.stroke = 'url("#pattern-' + patterns[tag] + '")';
+                       return;
+                   } else {
+                       var values = patterns[tag];
+                       for (var value in values) {
+                           if (entityValue !== value) continue;
+
+                           var rules = values[value];
+                           if (typeof rules === 'string') { // short syntax - pattern name
+                               this.style.fill = this.style.stroke = 'url("#pattern-' + rules + '")';
+                               return;
+                           } else { // long syntax - rule array
+                               for (var ruleKey in rules) {
+                                   var rule = rules[ruleKey];
+
+                                   var pass = true;
+                                   for (var criterion in rule) {
+                                       if (criterion !== 'pattern') { // reserved for pattern name
+                                           // The only rule is a required tag-value pair
+                                           var v = entity.tags[criterion];
+                                           if (!v || v !== rule[criterion]) {
+                                               pass = false;
+                                               break;
+                                           }
+                                       }
+                                   }
+
+                                   if (pass) {
+                                       this.style.fill = this.style.stroke = 'url("#pattern-' + rule.pattern + '")';
+                                       return;
+                                   }
+                               }
+                           }
+                       }
+                   }
+               }
+
+               this.style.fill = this.style.stroke = '';
+           }
+
+
+           function drawTargets(selection, graph, entities, filter) {
+               var targetClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+               var nopeClass = context.getDebug('target') ? 'red ' : 'nocolor ';
+               var getPath = svgPath(projection).geojson;
+               var activeID = context.activeID();
+
+               // The targets and nopes will be MultiLineString sub-segments of the ways
+               var data = { targets: [], nopes: [] };
+
+               entities.forEach(function(way) {
+                   var features = svgSegmentWay(way, graph, activeID);
+                   data.targets.push.apply(data.targets, features.passive);
+                   data.nopes.push.apply(data.nopes, features.active);
+               });
+
+
+               // Targets allow hover and vertex snapping
+               var targetData = data.targets.filter(getPath);
+               var targets = selection.selectAll('.area.target-allowed')
+                   .filter(function(d) { return filter(d.properties.entity); })
+                   .data(targetData, function key(d) { return d.id; });
+
+               // exit
+               targets.exit()
+                   .remove();
+
+               // enter/update
+               targets.enter()
+                   .append('path')
+                   .merge(targets)
+                   .attr('d', getPath)
+                   .attr('class', function(d) { return 'way area target target-allowed ' + targetClass + d.id; });
+
+
+               // NOPE
+               var nopeData = data.nopes.filter(getPath);
+               var nopes = selection.selectAll('.area.target-nope')
+                   .filter(function(d) { return filter(d.properties.entity); })
+                   .data(nopeData, function key(d) { return d.id; });
+
+               // exit
+               nopes.exit()
+                   .remove();
+
+               // enter/update
+               nopes.enter()
+                   .append('path')
+                   .merge(nopes)
+                   .attr('d', getPath)
+                   .attr('class', function(d) { return 'way area target target-nope ' + nopeClass + d.id; });
+           }
+
+
+           function drawAreas(selection, graph, entities, filter) {
+               var path = svgPath(projection, graph, true);
+               var areas = {};
+               var multipolygon;
+
+               for (var i = 0; i < entities.length; i++) {
+                   var entity = entities[i];
+                   if (entity.geometry(graph) !== 'area') continue;
+
+                   multipolygon = osmIsOldMultipolygonOuterMember(entity, graph);
+                   if (multipolygon) {
+                       areas[multipolygon.id] = {
+                           entity: multipolygon.mergeTags(entity.tags),
+                           area: Math.abs(entity.area(graph))
+                       };
+                   } else if (!areas[entity.id]) {
+                       areas[entity.id] = {
+                           entity: entity,
+                           area: Math.abs(entity.area(graph))
+                       };
+                   }
+               }
+
+               var fills = Object.values(areas).filter(function hasPath(a) { return path(a.entity); });
+               fills.sort(function areaSort(a, b) { return b.area - a.area; });
+               fills = fills.map(function(a) { return a.entity; });
+
+               var strokes = fills.filter(function(area) { return area.type === 'way'; });
+
+               var data = {
+                   clip: fills,
+                   shadow: strokes,
+                   stroke: strokes,
+                   fill: fills
+               };
+
+               var clipPaths = context.surface().selectAll('defs').selectAll('.clipPath-osm')
+                  .filter(filter)
+                  .data(data.clip, osmEntity.key);
+
+               clipPaths.exit()
+                  .remove();
+
+               var clipPathsEnter = clipPaths.enter()
+                  .append('clipPath')
+                  .attr('class', 'clipPath-osm')
+                  .attr('id', function(entity) { return entity.id + '-clippath'; });
+
+               clipPathsEnter
+                  .append('path');
+
+               clipPaths.merge(clipPathsEnter)
+                  .selectAll('path')
+                  .attr('d', path);
+
+
+               var drawLayer = selection.selectAll('.layer-osm.areas');
+               var touchLayer = selection.selectAll('.layer-touch.areas');
+
+               // Draw areas..
+               var areagroup = drawLayer
+                   .selectAll('g.areagroup')
+                   .data(['fill', 'shadow', 'stroke']);
+
+               areagroup = areagroup.enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'areagroup area-' + d; })
+                   .merge(areagroup);
+
+               var paths = areagroup
+                   .selectAll('path')
+                   .filter(filter)
+                   .data(function(layer) { return data[layer]; }, osmEntity.key);
+
+               paths.exit()
+                   .remove();
+
+
+               var fillpaths = selection.selectAll('.area-fill path.area').nodes();
+               var bisect = d3_bisector(function(node) { return -node.__data__.area(graph); }).left;
+
+               function sortedByArea(entity) {
+                   if (this._parent.__data__ === 'fill') {
+                       return fillpaths[bisect(fillpaths, -entity.area(graph))];
+                   }
+               }
+
+               paths = paths.enter()
+                   .insert('path', sortedByArea)
+                   .merge(paths)
+                   .each(function(entity) {
+                       var layer = this.parentNode.__data__;
+                       this.setAttribute('class', entity.type + ' area ' + layer + ' ' + entity.id);
+
+                       if (layer === 'fill') {
+                           this.setAttribute('clip-path', 'url(#' + entity.id + '-clippath)');
+                           setPattern.call(this, entity);
+                       }
+                   })
+                   .call(svgTagClasses())
+                   .attr('d', path);
+
+
+               // Draw touch targets..
+               touchLayer
+                   .call(drawTargets, graph, data.stroke, filter);
+           }
+
+           return drawAreas;
+       }
+
+       //[4]           NameStartChar      ::=          ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
+       //[4a]          NameChar           ::=          NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
+       //[5]           Name       ::=          NameStartChar (NameChar)*
+       var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;//\u10000-\uEFFFF
+       var nameChar = new RegExp("[\\-\\.0-9"+nameStartChar.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]");
+       var tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\:'+nameStartChar.source+nameChar.source+'*)?$');
+       //var tagNamePattern = /^[a-zA-Z_][\w\-\.]*(?:\:[a-zA-Z_][\w\-\.]*)?$/
+       //var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')
+
+       //S_TAG,        S_ATTR, S_EQ,   S_ATTR_NOQUOT_VALUE
+       //S_ATTR_SPACE, S_ATTR_END,     S_TAG_SPACE, S_TAG_CLOSE
+       var S_TAG = 0;//tag name offerring
+       var S_ATTR = 1;//attr name offerring 
+       var S_ATTR_SPACE=2;//attr name end and space offer
+       var S_EQ = 3;//=space?
+       var S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)
+       var S_ATTR_END = 5;//attr value end and no space(quot end)
+       var S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)
+       var S_TAG_CLOSE = 7;//closed el<el />
+
+       function XMLReader(){
+               
+       }
+
+       XMLReader.prototype = {
+               parse:function(source,defaultNSMap,entityMap){
+                       var domBuilder = this.domBuilder;
+                       domBuilder.startDocument();
+                       _copy(defaultNSMap ,defaultNSMap = {});
+                       parse(source,defaultNSMap,entityMap,
+                                       domBuilder,this.errorHandler);
+                       domBuilder.endDocument();
+               }
+       };
+       function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){
+               function fixedFromCharCode(code) {
+                       // String.prototype.fromCharCode does not supports
+                       // > 2 bytes unicode chars directly
+                       if (code > 0xffff) {
+                               code -= 0x10000;
+                               var surrogate1 = 0xd800 + (code >> 10)
+                                       , surrogate2 = 0xdc00 + (code & 0x3ff);
+
+                               return String.fromCharCode(surrogate1, surrogate2);
+                       } else {
+                               return String.fromCharCode(code);
+                       }
+               }
+               function entityReplacer(a){
+                       var k = a.slice(1,-1);
+                       if(k in entityMap){
+                               return entityMap[k]; 
+                       }else if(k.charAt(0) === '#'){
+                               return fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))
+                       }else{
+                               errorHandler.error('entity not found:'+a);
+                               return a;
+                       }
+               }
+               function appendText(end){//has some bugs
+                       if(end>start){
+                               var xt = source.substring(start,end).replace(/&#?\w+;/g,entityReplacer);
+                               locator&&position(start);
+                               domBuilder.characters(xt,0,end-start);
+                               start = end;
+                       }
+               }
+               function position(p,m){
+                       while(p>=lineEnd && (m = linePattern.exec(source))){
+                               lineStart = m.index;
+                               lineEnd = lineStart + m[0].length;
+                               locator.lineNumber++;
+                               //console.log('line++:',locator,startPos,endPos)
+                       }
+                       locator.columnNumber = p-lineStart+1;
+               }
+               var lineStart = 0;
+               var lineEnd = 0;
+               var linePattern = /.*(?:\r\n?|\n)|.*$/g;
+               var locator = domBuilder.locator;
+               
+               var parseStack = [{currentNSMap:defaultNSMapCopy}];
+               var closeMap = {};
+               var start = 0;
+               while(true){
+                       try{
+                               var tagStart = source.indexOf('<',start);
+                               if(tagStart<0){
+                                       if(!source.substr(start).match(/^\s*$/)){
+                                               var doc = domBuilder.doc;
+                                       var text = doc.createTextNode(source.substr(start));
+                                       doc.appendChild(text);
+                                       domBuilder.currentElement = text;
+                                       }
+                                       return;
+                               }
+                               if(tagStart>start){
+                                       appendText(tagStart);
+                               }
+                               switch(source.charAt(tagStart+1)){
+                               case '/':
+                                       var end = source.indexOf('>',tagStart+3);
+                                       var tagName = source.substring(tagStart+2,end);
+                                       var config = parseStack.pop();
+                                       if(end<0){
+                                               
+                                       tagName = source.substring(tagStart+2).replace(/[\s<].*/,'');
+                                       //console.error('#@@@@@@'+tagName)
+                                       errorHandler.error("end tag name: "+tagName+' is not complete:'+config.tagName);
+                                       end = tagStart+1+tagName.length;
+                               }else if(tagName.match(/\s</)){
+                                       tagName = tagName.replace(/[\s<].*/,'');
+                                       errorHandler.error("end tag name: "+tagName+' maybe not complete');
+                                       end = tagStart+1+tagName.length;
+                                       }
+                                       //console.error(parseStack.length,parseStack)
+                                       //console.error(config);
+                                       var localNSMap = config.localNSMap;
+                                       var endMatch = config.tagName == tagName;
+                                       var endIgnoreCaseMach = endMatch || config.tagName&&config.tagName.toLowerCase() == tagName.toLowerCase();
+                               if(endIgnoreCaseMach){
+                                       domBuilder.endElement(config.uri,config.localName,tagName);
+                                               if(localNSMap){
+                                                       for(var prefix in localNSMap){
+                                                               domBuilder.endPrefixMapping(prefix) ;
+                                                       }
+                                               }
+                                               if(!endMatch){
+                                       errorHandler.fatalError("end tag name: "+tagName+' is not match the current start tagName:'+config.tagName );
+                                               }
+                               }else{
+                                       parseStack.push(config);
+                               }
+                                       
+                                       end++;
+                                       break;
+                                       // end elment
+                               case '?':// <?...?>
+                                       locator&&position(tagStart);
+                                       end = parseInstruction(source,tagStart,domBuilder);
+                                       break;
+                               case '!':// <!doctype,<![CDATA,<!--
+                                       locator&&position(tagStart);
+                                       end = parseDCC(source,tagStart,domBuilder,errorHandler);
+                                       break;
+                               default:
+                                       locator&&position(tagStart);
+                                       var el = new ElementAttributes();
+                                       var currentNSMap = parseStack[parseStack.length-1].currentNSMap;
+                                       //elStartEnd
+                                       var end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);
+                                       var len = el.length;
+                                       
+                                       
+                                       if(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){
+                                               el.closed = true;
+                                               if(!entityMap.nbsp){
+                                                       errorHandler.warning('unclosed xml attribute');
+                                               }
+                                       }
+                                       if(locator && len){
+                                               var locator2 = copyLocator(locator,{});
+                                               //try{//attribute position fixed
+                                               for(var i = 0;i<len;i++){
+                                                       var a = el[i];
+                                                       position(a.offset);
+                                                       a.locator = copyLocator(locator,{});
+                                               }
+                                               //}catch(e){console.error('@@@@@'+e)}
+                                               domBuilder.locator = locator2;
+                                               if(appendElement(el,domBuilder,currentNSMap)){
+                                                       parseStack.push(el);
+                                               }
+                                               domBuilder.locator = locator;
+                                       }else{
+                                               if(appendElement(el,domBuilder,currentNSMap)){
+                                                       parseStack.push(el);
+                                               }
+                                       }
+                                       
+                                       
+                                       
+                                       if(el.uri === 'http://www.w3.org/1999/xhtml' && !el.closed){
+                                               end = parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder);
+                                       }else{
+                                               end++;
+                                       }
+                               }
+                       }catch(e){
+                               errorHandler.error('element parse error: '+e);
+                               //errorHandler.error('element parse error: '+e);
+                               end = -1;
+                               //throw e;
+                       }
+                       if(end>start){
+                               start = end;
+                       }else{
+                               //TODO: 这里有可能sax回退,有位置错误风险
+                               appendText(Math.max(tagStart,start)+1);
+                       }
+               }
+       }
+       function copyLocator(f,t){
+               t.lineNumber = f.lineNumber;
+               t.columnNumber = f.columnNumber;
+               return t;
+       }
+
+       /**
+        * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);
+        * @return end of the elementStartPart(end of elementEndPart for selfClosed el)
+        */
+       function parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){
+               var attrName;
+               var value;
+               var p = ++start;
+               var s = S_TAG;//status
+               while(true){
+                       var c = source.charAt(p);
+                       switch(c){
+                       case '=':
+                               if(s === S_ATTR){//attrName
+                                       attrName = source.slice(start,p);
+                                       s = S_EQ;
+                               }else if(s === S_ATTR_SPACE){
+                                       s = S_EQ;
+                               }else{
+                                       //fatalError: equal must after attrName or space after attrName
+                                       throw new Error('attribute equal must after attrName');
+                               }
+                               break;
+                       case '\'':
+                       case '"':
+                               if(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE
+                                       ){//equal
+                                       if(s === S_ATTR){
+                                               errorHandler.warning('attribute value must after "="');
+                                               attrName = source.slice(start,p);
+                                       }
+                                       start = p+1;
+                                       p = source.indexOf(c,start);
+                                       if(p>0){
+                                               value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer);
+                                               el.add(attrName,value,start-1);
+                                               s = S_ATTR_END;
+                                       }else{
+                                               //fatalError: no end quot match
+                                               throw new Error('attribute value no end \''+c+'\' match');
+                                       }
+                               }else if(s == S_ATTR_NOQUOT_VALUE){
+                                       value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer);
+                                       //console.log(attrName,value,start,p)
+                                       el.add(attrName,value,start);
+                                       //console.dir(el)
+                                       errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+')!!');
+                                       start = p+1;
+                                       s = S_ATTR_END;
+                               }else{
+                                       //fatalError: no equal before
+                                       throw new Error('attribute value must after "="');
+                               }
+                               break;
+                       case '/':
+                               switch(s){
+                               case S_TAG:
+                                       el.setTagName(source.slice(start,p));
+                               case S_ATTR_END:
+                               case S_TAG_SPACE:
+                               case S_TAG_CLOSE:
+                                       s =S_TAG_CLOSE;
+                                       el.closed = true;
+                               case S_ATTR_NOQUOT_VALUE:
+                               case S_ATTR:
+                               case S_ATTR_SPACE:
+                                       break;
+                               //case S_EQ:
+                               default:
+                                       throw new Error("attribute invalid close char('/')")
+                               }
+                               break;
+                       case ''://end document
+                               //throw new Error('unexpected end of input')
+                               errorHandler.error('unexpected end of input');
+                               if(s == S_TAG){
+                                       el.setTagName(source.slice(start,p));
+                               }
+                               return p;
+                       case '>':
+                               switch(s){
+                               case S_TAG:
+                                       el.setTagName(source.slice(start,p));
+                               case S_ATTR_END:
+                               case S_TAG_SPACE:
+                               case S_TAG_CLOSE:
+                                       break;//normal
+                               case S_ATTR_NOQUOT_VALUE://Compatible state
+                               case S_ATTR:
+                                       value = source.slice(start,p);
+                                       if(value.slice(-1) === '/'){
+                                               el.closed  = true;
+                                               value = value.slice(0,-1);
+                                       }
+                               case S_ATTR_SPACE:
+                                       if(s === S_ATTR_SPACE){
+                                               value = attrName;
+                                       }
+                                       if(s == S_ATTR_NOQUOT_VALUE){
+                                               errorHandler.warning('attribute "'+value+'" missed quot(")!!');
+                                               el.add(attrName,value.replace(/&#?\w+;/g,entityReplacer),start);
+                                       }else{
+                                               if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)){
+                                                       errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!');
+                                               }
+                                               el.add(value,value,start);
+                                       }
+                                       break;
+                               case S_EQ:
+                                       throw new Error('attribute value missed!!');
+                               }
+       //                      console.log(tagName,tagNamePattern,tagNamePattern.test(tagName))
+                               return p;
+                       /*xml space '\x20' | #x9 | #xD | #xA; */
+                       case '\u0080':
+                               c = ' ';
+                       default:
+                               if(c<= ' '){//space
+                                       switch(s){
+                                       case S_TAG:
+                                               el.setTagName(source.slice(start,p));//tagName
+                                               s = S_TAG_SPACE;
+                                               break;
+                                       case S_ATTR:
+                                               attrName = source.slice(start,p);
+                                               s = S_ATTR_SPACE;
+                                               break;
+                                       case S_ATTR_NOQUOT_VALUE:
+                                               var value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer);
+                                               errorHandler.warning('attribute "'+value+'" missed quot(")!!');
+                                               el.add(attrName,value,start);
+                                       case S_ATTR_END:
+                                               s = S_TAG_SPACE;
+                                               break;
+                                       //case S_TAG_SPACE:
+                                       //case S_EQ:
+                                       //case S_ATTR_SPACE:
+                                       //      void();break;
+                                       //case S_TAG_CLOSE:
+                                               //ignore warning
+                                       }
+                               }else{//not space
+       //S_TAG,        S_ATTR, S_EQ,   S_ATTR_NOQUOT_VALUE
+       //S_ATTR_SPACE, S_ATTR_END,     S_TAG_SPACE, S_TAG_CLOSE
+                                       switch(s){
+                                       //case S_TAG:void();break;
+                                       //case S_ATTR:void();break;
+                                       //case S_ATTR_NOQUOT_VALUE:void();break;
+                                       case S_ATTR_SPACE:
+                                               var tagName =  el.tagName;
+                                               if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)){
+                                                       errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead2!!');
+                                               }
+                                               el.add(attrName,attrName,start);
+                                               start = p;
+                                               s = S_ATTR;
+                                               break;
+                                       case S_ATTR_END:
+                                               errorHandler.warning('attribute space is required"'+attrName+'"!!');
+                                       case S_TAG_SPACE:
+                                               s = S_ATTR;
+                                               start = p;
+                                               break;
+                                       case S_EQ:
+                                               s = S_ATTR_NOQUOT_VALUE;
+                                               start = p;
+                                               break;
+                                       case S_TAG_CLOSE:
+                                               throw new Error("elements closed character '/' and '>' must be connected to");
+                                       }
+                               }
+                       }//end outer switch
+                       //console.log('p++',p)
+                       p++;
+               }
+       }
+       /**
+        * @return true if has new namespace define
+        */
+       function appendElement(el,domBuilder,currentNSMap){
+               var tagName = el.tagName;
+               var localNSMap = null;
+               //var currentNSMap = parseStack[parseStack.length-1].currentNSMap;
+               var i = el.length;
+               while(i--){
+                       var a = el[i];
+                       var qName = a.qName;
+                       var value = a.value;
+                       var nsp = qName.indexOf(':');
+                       if(nsp>0){
+                               var prefix = a.prefix = qName.slice(0,nsp);
+                               var localName = qName.slice(nsp+1);
+                               var nsPrefix = prefix === 'xmlns' && localName;
+                       }else{
+                               localName = qName;
+                               prefix = null;
+                               nsPrefix = qName === 'xmlns' && '';
+                       }
+                       //can not set prefix,because prefix !== ''
+                       a.localName = localName ;
+                       //prefix == null for no ns prefix attribute 
+                       if(nsPrefix !== false){//hack!!
+                               if(localNSMap == null){
+                                       localNSMap = {};
+                                       //console.log(currentNSMap,0)
+                                       _copy(currentNSMap,currentNSMap={});
+                                       //console.log(currentNSMap,1)
+                               }
+                               currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;
+                               a.uri = 'http://www.w3.org/2000/xmlns/';
+                               domBuilder.startPrefixMapping(nsPrefix, value); 
+                       }
+               }
+               var i = el.length;
+               while(i--){
+                       a = el[i];
+                       var prefix = a.prefix;
+                       if(prefix){//no prefix attribute has no namespace
+                               if(prefix === 'xml'){
+                                       a.uri = 'http://www.w3.org/XML/1998/namespace';
+                               }if(prefix !== 'xmlns'){
+                                       a.uri = currentNSMap[prefix || ''];
+                                       
+                                       //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}
+                               }
+                       }
+               }
+               var nsp = tagName.indexOf(':');
+               if(nsp>0){
+                       prefix = el.prefix = tagName.slice(0,nsp);
+                       localName = el.localName = tagName.slice(nsp+1);
+               }else{
+                       prefix = null;//important!!
+                       localName = el.localName = tagName;
+               }
+               //no prefix element has default namespace
+               var ns = el.uri = currentNSMap[prefix || ''];
+               domBuilder.startElement(ns,localName,tagName,el);
+               //endPrefixMapping and startPrefixMapping have not any help for dom builder
+               //localNSMap = null
+               if(el.closed){
+                       domBuilder.endElement(ns,localName,tagName);
+                       if(localNSMap){
+                               for(prefix in localNSMap){
+                                       domBuilder.endPrefixMapping(prefix); 
+                               }
+                       }
+               }else{
+                       el.currentNSMap = currentNSMap;
+                       el.localNSMap = localNSMap;
+                       //parseStack.push(el);
+                       return true;
+               }
+       }
+       function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){
+               if(/^(?:script|textarea)$/i.test(tagName)){
+                       var elEndStart =  source.indexOf('</'+tagName+'>',elStartEnd);
+                       var text = source.substring(elStartEnd+1,elEndStart);
+                       if(/[&<]/.test(text)){
+                               if(/^script$/i.test(tagName)){
+                                       //if(!/\]\]>/.test(text)){
+                                               //lexHandler.startCDATA();
+                                               domBuilder.characters(text,0,text.length);
+                                               //lexHandler.endCDATA();
+                                               return elEndStart;
+                                       //}
+                               }//}else{//text area
+                                       text = text.replace(/&#?\w+;/g,entityReplacer);
+                                       domBuilder.characters(text,0,text.length);
+                                       return elEndStart;
+                               //}
+                               
+                       }
+               }
+               return elStartEnd+1;
+       }
+       function fixSelfClosed(source,elStartEnd,tagName,closeMap){
+               //if(tagName in closeMap){
+               var pos = closeMap[tagName];
+               if(pos == null){
+                       //console.log(tagName)
+                       pos =  source.lastIndexOf('</'+tagName+'>');
+                       if(pos<elStartEnd){//忘记闭合
+                               pos = source.lastIndexOf('</'+tagName);
+                       }
+                       closeMap[tagName] =pos;
+               }
+               return pos<elStartEnd;
+               //} 
+       }
+       function _copy(source,target){
+               for(var n in source){target[n] = source[n];}
+       }
+       function parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'
+               var next= source.charAt(start+2);
+               switch(next){
+               case '-':
+                       if(source.charAt(start + 3) === '-'){
+                               var end = source.indexOf('-->',start+4);
+                               //append comment source.substring(4,end)//<!--
+                               if(end>start){
+                                       domBuilder.comment(source,start+4,end-start-4);
+                                       return end+3;
+                               }else{
+                                       errorHandler.error("Unclosed comment");
+                                       return -1;
+                               }
+                       }else{
+                               //error
+                               return -1;
+                       }
+               default:
+                       if(source.substr(start+3,6) == 'CDATA['){
+                               var end = source.indexOf(']]>',start+9);
+                               domBuilder.startCDATA();
+                               domBuilder.characters(source,start+9,end-start-9);
+                               domBuilder.endCDATA(); 
+                               return end+3;
+                       }
+                       //<!DOCTYPE
+                       //startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId) 
+                       var matchs = split(source,start);
+                       var len = matchs.length;
+                       if(len>1 && /!doctype/i.test(matchs[0][0])){
+                               var name = matchs[1][0];
+                               var pubid = len>3 && /^public$/i.test(matchs[2][0]) && matchs[3][0];
+                               var sysid = len>4 && matchs[4][0];
+                               var lastMatch = matchs[len-1];
+                               domBuilder.startDTD(name,pubid && pubid.replace(/^(['"])(.*?)\1$/,'$2'),
+                                               sysid && sysid.replace(/^(['"])(.*?)\1$/,'$2'));
+                               domBuilder.endDTD();
+                               
+                               return lastMatch.index+lastMatch[0].length
+                       }
+               }
+               return -1;
+       }
+
+
+
+       function parseInstruction(source,start,domBuilder){
+               var end = source.indexOf('?>',start);
+               if(end){
+                       var match = source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);
+                       if(match){
+                               var len = match[0].length;
+                               domBuilder.processingInstruction(match[1], match[2]) ;
+                               return end+2;
+                       }else{//error
+                               return -1;
+                       }
+               }
+               return -1;
+       }
+
+       /**
+        * @param source
+        */
+       function ElementAttributes(source){
+               
+       }
+       ElementAttributes.prototype = {
+               setTagName:function(tagName){
+                       if(!tagNamePattern.test(tagName)){
+                               throw new Error('invalid tagName:'+tagName)
+                       }
+                       this.tagName = tagName;
+               },
+               add:function(qName,value,offset){
+                       if(!tagNamePattern.test(qName)){
+                               throw new Error('invalid attribute:'+qName)
+                       }
+                       this[this.length++] = {qName:qName,value:value,offset:offset};
+               },
+               length:0,
+               getLocalName:function(i){return this[i].localName},
+               getLocator:function(i){return this[i].locator},
+               getQName:function(i){return this[i].qName},
+               getURI:function(i){return this[i].uri},
+               getValue:function(i){return this[i].value}
+       //      ,getIndex:function(uri, localName)){
+       //              if(localName){
+       //                      
+       //              }else{
+       //                      var qName = uri
+       //              }
+       //      },
+       //      getValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},
+       //      getType:function(uri,localName){}
+       //      getType:function(i){},
+       };
+
+
+
+
+       function _set_proto_(thiz,parent){
+               thiz.__proto__ = parent;
+               return thiz;
+       }
+       if(!(_set_proto_({},_set_proto_.prototype) instanceof _set_proto_)){
+               _set_proto_ = function(thiz,parent){
+                       function p(){}          p.prototype = parent;
+                       p = new p();
+                       for(parent in thiz){
+                               p[parent] = thiz[parent];
+                       }
+                       return p;
+               };
+       }
+
+       function split(source,start){
+               var match;
+               var buf = [];
+               var reg = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;
+               reg.lastIndex = start;
+               reg.exec(source);//skip <
+               while(match = reg.exec(source)){
+                       buf.push(match);
+                       if(match[1])return buf;
+               }
+       }
+
+       var XMLReader_1 = XMLReader;
+
+       var sax = {
+               XMLReader: XMLReader_1
+       };
+
+       /*
+        * DOM Level 2
+        * Object DOMException
+        * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html
+        * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+        */
+
+       function copy$3(src,dest){
+               for(var p in src){
+                       dest[p] = src[p];
+               }
+       }
+       /**
+       ^\w+\.prototype\.([_\w]+)\s*=\s*((?:.*\{\s*?[\r\n][\s\S]*?^})|\S.*?(?=[;\r\n]));?
+       ^\w+\.prototype\.([_\w]+)\s*=\s*(\S.*?(?=[;\r\n]));?
+        */
+       function _extends(Class,Super){
+               var pt = Class.prototype;
+               if(Object.create){
+                       var ppt = Object.create(Super.prototype);
+                       pt.__proto__ = ppt;
+               }
+               if(!(pt instanceof Super)){
+                       function t(){}          t.prototype = Super.prototype;
+                       t = new t();
+                       copy$3(pt,t);
+                       Class.prototype = pt = t;
+               }
+               if(pt.constructor != Class){
+                       if(typeof Class != 'function'){
+                               console.error("unknow Class:"+Class);
+                       }
+                       pt.constructor = Class;
+               }
+       }
+       var htmlns = 'http://www.w3.org/1999/xhtml' ;
+       // Node Types
+       var NodeType = {};
+       var ELEMENT_NODE                = NodeType.ELEMENT_NODE                = 1;
+       var ATTRIBUTE_NODE              = NodeType.ATTRIBUTE_NODE              = 2;
+       var TEXT_NODE                   = NodeType.TEXT_NODE                   = 3;
+       var CDATA_SECTION_NODE          = NodeType.CDATA_SECTION_NODE          = 4;
+       var ENTITY_REFERENCE_NODE       = NodeType.ENTITY_REFERENCE_NODE       = 5;
+       var ENTITY_NODE                 = NodeType.ENTITY_NODE                 = 6;
+       var PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;
+       var COMMENT_NODE                = NodeType.COMMENT_NODE                = 8;
+       var DOCUMENT_NODE               = NodeType.DOCUMENT_NODE               = 9;
+       var DOCUMENT_TYPE_NODE          = NodeType.DOCUMENT_TYPE_NODE          = 10;
+       var DOCUMENT_FRAGMENT_NODE      = NodeType.DOCUMENT_FRAGMENT_NODE      = 11;
+       var NOTATION_NODE               = NodeType.NOTATION_NODE               = 12;
+
+       // ExceptionCode
+       var ExceptionCode = {};
+       var ExceptionMessage = {};
+       var INDEX_SIZE_ERR              = ExceptionCode.INDEX_SIZE_ERR              = ((ExceptionMessage[1]="Index size error"),1);
+       var DOMSTRING_SIZE_ERR          = ExceptionCode.DOMSTRING_SIZE_ERR          = ((ExceptionMessage[2]="DOMString size error"),2);
+       var HIERARCHY_REQUEST_ERR       = ExceptionCode.HIERARCHY_REQUEST_ERR       = ((ExceptionMessage[3]="Hierarchy request error"),3);
+       var WRONG_DOCUMENT_ERR          = ExceptionCode.WRONG_DOCUMENT_ERR          = ((ExceptionMessage[4]="Wrong document"),4);
+       var INVALID_CHARACTER_ERR       = ExceptionCode.INVALID_CHARACTER_ERR       = ((ExceptionMessage[5]="Invalid character"),5);
+       var NO_DATA_ALLOWED_ERR         = ExceptionCode.NO_DATA_ALLOWED_ERR         = ((ExceptionMessage[6]="No data allowed"),6);
+       var NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]="No modification allowed"),7);
+       var NOT_FOUND_ERR               = ExceptionCode.NOT_FOUND_ERR               = ((ExceptionMessage[8]="Not found"),8);
+       var NOT_SUPPORTED_ERR           = ExceptionCode.NOT_SUPPORTED_ERR           = ((ExceptionMessage[9]="Not supported"),9);
+       var INUSE_ATTRIBUTE_ERR         = ExceptionCode.INUSE_ATTRIBUTE_ERR         = ((ExceptionMessage[10]="Attribute in use"),10);
+       //level2
+       var INVALID_STATE_ERR           = ExceptionCode.INVALID_STATE_ERR               = ((ExceptionMessage[11]="Invalid state"),11);
+       var SYNTAX_ERR                  = ExceptionCode.SYNTAX_ERR                      = ((ExceptionMessage[12]="Syntax error"),12);
+       var INVALID_MODIFICATION_ERR    = ExceptionCode.INVALID_MODIFICATION_ERR        = ((ExceptionMessage[13]="Invalid modification"),13);
+       var NAMESPACE_ERR               = ExceptionCode.NAMESPACE_ERR                   = ((ExceptionMessage[14]="Invalid namespace"),14);
+       var INVALID_ACCESS_ERR          = ExceptionCode.INVALID_ACCESS_ERR              = ((ExceptionMessage[15]="Invalid access"),15);
+
+
+       function DOMException$2(code, message) {
+               if(message instanceof Error){
+                       var error = message;
+               }else{
+                       error = this;
+                       Error.call(this, ExceptionMessage[code]);
+                       this.message = ExceptionMessage[code];
+                       if(Error.captureStackTrace) Error.captureStackTrace(this, DOMException$2);
+               }
+               error.code = code;
+               if(message) this.message = this.message + ": " + message;
+               return error;
+       }DOMException$2.prototype = Error.prototype;
+       copy$3(ExceptionCode,DOMException$2);
+       /**
+        * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177
+        * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.
+        * The items in the NodeList are accessible via an integral index, starting from 0.
+        */
+       function NodeList() {
+       }NodeList.prototype = {
+               /**
+                * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.
+                * @standard level1
+                */
+               length:0, 
+               /**
+                * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.
+                * @standard level1
+                * @param index  unsigned long 
+                *   Index into the collection.
+                * @return Node
+                *      The node at the indexth position in the NodeList, or null if that is not a valid index. 
+                */
+               item: function(index) {
+                       return this[index] || null;
+               },
+               toString:function(isHTML,nodeFilter){
+                       for(var buf = [], i = 0;i<this.length;i++){
+                               serializeToString(this[i],buf,isHTML,nodeFilter);
+                       }
+                       return buf.join('');
+               }
+       };
+       function LiveNodeList(node,refresh){
+               this._node = node;
+               this._refresh = refresh;
+               _updateLiveList(this);
+       }
+       function _updateLiveList(list){
+               var inc = list._node._inc || list._node.ownerDocument._inc;
+               if(list._inc != inc){
+                       var ls = list._refresh(list._node);
+                       //console.log(ls.length)
+                       __set__(list,'length',ls.length);
+                       copy$3(ls,list);
+                       list._inc = inc;
+               }
+       }
+       LiveNodeList.prototype.item = function(i){
+               _updateLiveList(this);
+               return this[i];
+       };
+
+       _extends(LiveNodeList,NodeList);
+       /**
+        * 
+        * Objects implementing the NamedNodeMap interface are used to represent collections of nodes that can be accessed by name. Note that NamedNodeMap does not inherit from NodeList; NamedNodeMaps are not maintained in any particular order. Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index, but this is simply to allow convenient enumeration of the contents of a NamedNodeMap, and does not imply that the DOM specifies an order to these Nodes.
+        * NamedNodeMap objects in the DOM are live.
+        * used for attributes or DocumentType entities 
+        */
+       function NamedNodeMap() {
+       }
+       function _findNodeIndex(list,node){
+               var i = list.length;
+               while(i--){
+                       if(list[i] === node){return i}
+               }
+       }
+
+       function _addNamedNode(el,list,newAttr,oldAttr){
+               if(oldAttr){
+                       list[_findNodeIndex(list,oldAttr)] = newAttr;
+               }else{
+                       list[list.length++] = newAttr;
+               }
+               if(el){
+                       newAttr.ownerElement = el;
+                       var doc = el.ownerDocument;
+                       if(doc){
+                               oldAttr && _onRemoveAttribute(doc,el,oldAttr);
+                               _onAddAttribute(doc,el,newAttr);
+                       }
+               }
+       }
+       function _removeNamedNode(el,list,attr){
+               //console.log('remove attr:'+attr)
+               var i = _findNodeIndex(list,attr);
+               if(i>=0){
+                       var lastIndex = list.length-1;
+                       while(i<lastIndex){
+                               list[i] = list[++i];
+                       }
+                       list.length = lastIndex;
+                       if(el){
+                               var doc = el.ownerDocument;
+                               if(doc){
+                                       _onRemoveAttribute(doc,el,attr);
+                                       attr.ownerElement = null;
+                               }
+                       }
+               }else{
+                       throw DOMException$2(NOT_FOUND_ERR,new Error(el.tagName+'@'+attr))
+               }
+       }
+       NamedNodeMap.prototype = {
+               length:0,
+               item:NodeList.prototype.item,
+               getNamedItem: function(key) {
+       //              if(key.indexOf(':')>0 || key == 'xmlns'){
+       //                      return null;
+       //              }
+                       //console.log()
+                       var i = this.length;
+                       while(i--){
+                               var attr = this[i];
+                               //console.log(attr.nodeName,key)
+                               if(attr.nodeName == key){
+                                       return attr;
+                               }
+                       }
+               },
+               setNamedItem: function(attr) {
+                       var el = attr.ownerElement;
+                       if(el && el!=this._ownerElement){
+                               throw new DOMException$2(INUSE_ATTRIBUTE_ERR);
+                       }
+                       var oldAttr = this.getNamedItem(attr.nodeName);
+                       _addNamedNode(this._ownerElement,this,attr,oldAttr);
+                       return oldAttr;
+               },
+               /* returns Node */
+               setNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR
+                       var el = attr.ownerElement, oldAttr;
+                       if(el && el!=this._ownerElement){
+                               throw new DOMException$2(INUSE_ATTRIBUTE_ERR);
+                       }
+                       oldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);
+                       _addNamedNode(this._ownerElement,this,attr,oldAttr);
+                       return oldAttr;
+               },
+
+               /* returns Node */
+               removeNamedItem: function(key) {
+                       var attr = this.getNamedItem(key);
+                       _removeNamedNode(this._ownerElement,this,attr);
+                       return attr;
+                       
+                       
+               },// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR
+               
+               //for level2
+               removeNamedItemNS:function(namespaceURI,localName){
+                       var attr = this.getNamedItemNS(namespaceURI,localName);
+                       _removeNamedNode(this._ownerElement,this,attr);
+                       return attr;
+               },
+               getNamedItemNS: function(namespaceURI, localName) {
+                       var i = this.length;
+                       while(i--){
+                               var node = this[i];
+                               if(node.localName == localName && node.namespaceURI == namespaceURI){
+                                       return node;
+                               }
+                       }
+                       return null;
+               }
+       };
+       /**
+        * @see http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490
+        */
+       function DOMImplementation(/* Object */ features) {
+               this._features = {};
+               if (features) {
+                       for (var feature in features) {
+                                this._features = features[feature];
+                       }
+               }
+       }
+       DOMImplementation.prototype = {
+               hasFeature: function(/* string */ feature, /* string */ version) {
+                       var versions = this._features[feature.toLowerCase()];
+                       if (versions && (!version || version in versions)) {
+                               return true;
+                       } else {
+                               return false;
+                       }
+               },
+               // Introduced in DOM Level 2:
+               createDocument:function(namespaceURI,  qualifiedName, doctype){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR,WRONG_DOCUMENT_ERR
+                       var doc = new Document();
+                       doc.implementation = this;
+                       doc.childNodes = new NodeList();
+                       doc.doctype = doctype;
+                       if(doctype){
+                               doc.appendChild(doctype);
+                       }
+                       if(qualifiedName){
+                               var root = doc.createElementNS(namespaceURI,qualifiedName);
+                               doc.appendChild(root);
+                       }
+                       return doc;
+               },
+               // Introduced in DOM Level 2:
+               createDocumentType:function(qualifiedName, publicId, systemId){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR
+                       var node = new DocumentType();
+                       node.name = qualifiedName;
+                       node.nodeName = qualifiedName;
+                       node.publicId = publicId;
+                       node.systemId = systemId;
+                       // Introduced in DOM Level 2:
+                       //readonly attribute DOMString        internalSubset;
+                       
+                       //TODO:..
+                       //  readonly attribute NamedNodeMap     entities;
+                       //  readonly attribute NamedNodeMap     notations;
+                       return node;
+               }
+       };
+
+
+       /**
+        * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247
+        */
+
+       function Node$2() {
+       }
+       Node$2.prototype = {
+               firstChild : null,
+               lastChild : null,
+               previousSibling : null,
+               nextSibling : null,
+               attributes : null,
+               parentNode : null,
+               childNodes : null,
+               ownerDocument : null,
+               nodeValue : null,
+               namespaceURI : null,
+               prefix : null,
+               localName : null,
+               // Modified in DOM Level 2:
+               insertBefore:function(newChild, refChild){//raises 
+                       return _insertBefore(this,newChild,refChild);
+               },
+               replaceChild:function(newChild, oldChild){//raises 
+                       this.insertBefore(newChild,oldChild);
+                       if(oldChild){
+                               this.removeChild(oldChild);
+                       }
+               },
+               removeChild:function(oldChild){
+                       return _removeChild(this,oldChild);
+               },
+               appendChild:function(newChild){
+                       return this.insertBefore(newChild,null);
+               },
+               hasChildNodes:function(){
+                       return this.firstChild != null;
+               },
+               cloneNode:function(deep){
+                       return cloneNode(this.ownerDocument||this,this,deep);
+               },
+               // Modified in DOM Level 2:
+               normalize:function(){
+                       var child = this.firstChild;
+                       while(child){
+                               var next = child.nextSibling;
+                               if(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){
+                                       this.removeChild(next);
+                                       child.appendData(next.data);
+                               }else{
+                                       child.normalize();
+                                       child = next;
+                               }
+                       }
+               },
+               // Introduced in DOM Level 2:
+               isSupported:function(feature, version){
+                       return this.ownerDocument.implementation.hasFeature(feature,version);
+               },
+           // Introduced in DOM Level 2:
+           hasAttributes:function(){
+               return this.attributes.length>0;
+           },
+           lookupPrefix:function(namespaceURI){
+               var el = this;
+               while(el){
+                       var map = el._nsMap;
+                       //console.dir(map)
+                       if(map){
+                               for(var n in map){
+                                       if(map[n] == namespaceURI){
+                                               return n;
+                                       }
+                               }
+                       }
+                       el = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;
+               }
+               return null;
+           },
+           // Introduced in DOM Level 3:
+           lookupNamespaceURI:function(prefix){
+               var el = this;
+               while(el){
+                       var map = el._nsMap;
+                       //console.dir(map)
+                       if(map){
+                               if(prefix in map){
+                                       return map[prefix] ;
+                               }
+                       }
+                       el = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;
+               }
+               return null;
+           },
+           // Introduced in DOM Level 3:
+           isDefaultNamespace:function(namespaceURI){
+               var prefix = this.lookupPrefix(namespaceURI);
+               return prefix == null;
+           }
+       };
+
+
+       function _xmlEncoder(c){
+               return c == '<' && '&lt;' ||
+                c == '>' && '&gt;' ||
+                c == '&' && '&amp;' ||
+                c == '"' && '&quot;' ||
+                '&#'+c.charCodeAt()+';'
+       }
+
+
+       copy$3(NodeType,Node$2);
+       copy$3(NodeType,Node$2.prototype);
+
+       /**
+        * @param callback return true for continue,false for break
+        * @return boolean true: break visit;
+        */
+       function _visitNode(node,callback){
+               if(callback(node)){
+                       return true;
+               }
+               if(node = node.firstChild){
+                       do{
+                               if(_visitNode(node,callback)){return true}
+               }while(node=node.nextSibling)
+           }
+       }
+
+
+
+       function Document(){
+       }
+       function _onAddAttribute(doc,el,newAttr){
+               doc && doc._inc++;
+               var ns = newAttr.namespaceURI ;
+               if(ns == 'http://www.w3.org/2000/xmlns/'){
+                       //update namespace
+                       el._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value;
+               }
+       }
+       function _onRemoveAttribute(doc,el,newAttr,remove){
+               doc && doc._inc++;
+               var ns = newAttr.namespaceURI ;
+               if(ns == 'http://www.w3.org/2000/xmlns/'){
+                       //update namespace
+                       delete el._nsMap[newAttr.prefix?newAttr.localName:''];
+               }
+       }
+       function _onUpdateChild(doc,el,newChild){
+               if(doc && doc._inc){
+                       doc._inc++;
+                       //update childNodes
+                       var cs = el.childNodes;
+                       if(newChild){
+                               cs[cs.length++] = newChild;
+                       }else{
+                               //console.log(1)
+                               var child = el.firstChild;
+                               var i = 0;
+                               while(child){
+                                       cs[i++] = child;
+                                       child =child.nextSibling;
+                               }
+                               cs.length = i;
+                       }
+               }
+       }
+
+       /**
+        * attributes;
+        * children;
+        * 
+        * writeable properties:
+        * nodeValue,Attr:value,CharacterData:data
+        * prefix
+        */
+       function _removeChild(parentNode,child){
+               var previous = child.previousSibling;
+               var next = child.nextSibling;
+               if(previous){
+                       previous.nextSibling = next;
+               }else{
+                       parentNode.firstChild = next;
+               }
+               if(next){
+                       next.previousSibling = previous;
+               }else{
+                       parentNode.lastChild = previous;
+               }
+               _onUpdateChild(parentNode.ownerDocument,parentNode);
+               return child;
+       }
+       /**
+        * preformance key(refChild == null)
+        */
+       function _insertBefore(parentNode,newChild,nextChild){
+               var cp = newChild.parentNode;
+               if(cp){
+                       cp.removeChild(newChild);//remove and update
+               }
+               if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){
+                       var newFirst = newChild.firstChild;
+                       if (newFirst == null) {
+                               return newChild;
+                       }
+                       var newLast = newChild.lastChild;
+               }else{
+                       newFirst = newLast = newChild;
+               }
+               var pre = nextChild ? nextChild.previousSibling : parentNode.lastChild;
+
+               newFirst.previousSibling = pre;
+               newLast.nextSibling = nextChild;
+               
+               
+               if(pre){
+                       pre.nextSibling = newFirst;
+               }else{
+                       parentNode.firstChild = newFirst;
+               }
+               if(nextChild == null){
+                       parentNode.lastChild = newLast;
+               }else{
+                       nextChild.previousSibling = newLast;
+               }
+               do{
+                       newFirst.parentNode = parentNode;
+               }while(newFirst !== newLast && (newFirst= newFirst.nextSibling))
+               _onUpdateChild(parentNode.ownerDocument||parentNode,parentNode);
+               //console.log(parentNode.lastChild.nextSibling == null)
+               if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {
+                       newChild.firstChild = newChild.lastChild = null;
+               }
+               return newChild;
+       }
+       function _appendSingleChild(parentNode,newChild){
+               var cp = newChild.parentNode;
+               if(cp){
+                       var pre = parentNode.lastChild;
+                       cp.removeChild(newChild);//remove and update
+                       var pre = parentNode.lastChild;
+               }
+               var pre = parentNode.lastChild;
+               newChild.parentNode = parentNode;
+               newChild.previousSibling = pre;
+               newChild.nextSibling = null;
+               if(pre){
+                       pre.nextSibling = newChild;
+               }else{
+                       parentNode.firstChild = newChild;
+               }
+               parentNode.lastChild = newChild;
+               _onUpdateChild(parentNode.ownerDocument,parentNode,newChild);
+               return newChild;
+               //console.log("__aa",parentNode.lastChild.nextSibling == null)
+       }
+       Document.prototype = {
+               //implementation : null,
+               nodeName :  '#document',
+               nodeType :  DOCUMENT_NODE,
+               doctype :  null,
+               documentElement :  null,
+               _inc : 1,
+               
+               insertBefore :  function(newChild, refChild){//raises 
+                       if(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){
+                               var child = newChild.firstChild;
+                               while(child){
+                                       var next = child.nextSibling;
+                                       this.insertBefore(child,refChild);
+                                       child = next;
+                               }
+                               return newChild;
+                       }
+                       if(this.documentElement == null && newChild.nodeType == ELEMENT_NODE){
+                               this.documentElement = newChild;
+                       }
+                       
+                       return _insertBefore(this,newChild,refChild),(newChild.ownerDocument = this),newChild;
+               },
+               removeChild :  function(oldChild){
+                       if(this.documentElement == oldChild){
+                               this.documentElement = null;
+                       }
+                       return _removeChild(this,oldChild);
+               },
+               // Introduced in DOM Level 2:
+               importNode : function(importedNode,deep){
+                       return importNode(this,importedNode,deep);
+               },
+               // Introduced in DOM Level 2:
+               getElementById :        function(id){
+                       var rtv = null;
+                       _visitNode(this.documentElement,function(node){
+                               if(node.nodeType == ELEMENT_NODE){
+                                       if(node.getAttribute('id') == id){
+                                               rtv = node;
+                                               return true;
+                                       }
+                               }
+                       });
+                       return rtv;
+               },
+               
+               //document factory method:
+               createElement : function(tagName){
+                       var node = new Element();
+                       node.ownerDocument = this;
+                       node.nodeName = tagName;
+                       node.tagName = tagName;
+                       node.childNodes = new NodeList();
+                       var attrs       = node.attributes = new NamedNodeMap();
+                       attrs._ownerElement = node;
+                       return node;
+               },
+               createDocumentFragment :        function(){
+                       var node = new DocumentFragment();
+                       node.ownerDocument = this;
+                       node.childNodes = new NodeList();
+                       return node;
+               },
+               createTextNode :        function(data){
+                       var node = new Text();
+                       node.ownerDocument = this;
+                       node.appendData(data);
+                       return node;
+               },
+               createComment : function(data){
+                       var node = new Comment();
+                       node.ownerDocument = this;
+                       node.appendData(data);
+                       return node;
+               },
+               createCDATASection :    function(data){
+                       var node = new CDATASection();
+                       node.ownerDocument = this;
+                       node.appendData(data);
+                       return node;
+               },
+               createProcessingInstruction :   function(target,data){
+                       var node = new ProcessingInstruction();
+                       node.ownerDocument = this;
+                       node.tagName = node.target = target;
+                       node.nodeValue= node.data = data;
+                       return node;
+               },
+               createAttribute :       function(name){
+                       var node = new Attr();
+                       node.ownerDocument      = this;
+                       node.name = name;
+                       node.nodeName   = name;
+                       node.localName = name;
+                       node.specified = true;
+                       return node;
+               },
+               createEntityReference : function(name){
+                       var node = new EntityReference();
+                       node.ownerDocument      = this;
+                       node.nodeName   = name;
+                       return node;
+               },
+               // Introduced in DOM Level 2:
+               createElementNS :       function(namespaceURI,qualifiedName){
+                       var node = new Element();
+                       var pl = qualifiedName.split(':');
+                       var attrs       = node.attributes = new NamedNodeMap();
+                       node.childNodes = new NodeList();
+                       node.ownerDocument = this;
+                       node.nodeName = qualifiedName;
+                       node.tagName = qualifiedName;
+                       node.namespaceURI = namespaceURI;
+                       if(pl.length == 2){
+                               node.prefix = pl[0];
+                               node.localName = pl[1];
+                       }else{
+                               //el.prefix = null;
+                               node.localName = qualifiedName;
+                       }
+                       attrs._ownerElement = node;
+                       return node;
+               },
+               // Introduced in DOM Level 2:
+               createAttributeNS :     function(namespaceURI,qualifiedName){
+                       var node = new Attr();
+                       var pl = qualifiedName.split(':');
+                       node.ownerDocument = this;
+                       node.nodeName = qualifiedName;
+                       node.name = qualifiedName;
+                       node.namespaceURI = namespaceURI;
+                       node.specified = true;
+                       if(pl.length == 2){
+                               node.prefix = pl[0];
+                               node.localName = pl[1];
+                       }else{
+                               //el.prefix = null;
+                               node.localName = qualifiedName;
+                       }
+                       return node;
+               }
+       };
+       _extends(Document,Node$2);
+
+
+       function Element() {
+               this._nsMap = {};
+       }Element.prototype = {
+               nodeType : ELEMENT_NODE,
+               hasAttribute : function(name){
+                       return this.getAttributeNode(name)!=null;
+               },
+               getAttribute : function(name){
+                       var attr = this.getAttributeNode(name);
+                       return attr && attr.value || '';
+               },
+               getAttributeNode : function(name){
+                       return this.attributes.getNamedItem(name);
+               },
+               setAttribute : function(name, value){
+                       var attr = this.ownerDocument.createAttribute(name);
+                       attr.value = attr.nodeValue = "" + value;
+                       this.setAttributeNode(attr);
+               },
+               removeAttribute : function(name){
+                       var attr = this.getAttributeNode(name);
+                       attr && this.removeAttributeNode(attr);
+               },
+               
+               //four real opeartion method
+               appendChild:function(newChild){
+                       if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){
+                               return this.insertBefore(newChild,null);
+                       }else{
+                               return _appendSingleChild(this,newChild);
+                       }
+               },
+               setAttributeNode : function(newAttr){
+                       return this.attributes.setNamedItem(newAttr);
+               },
+               setAttributeNodeNS : function(newAttr){
+                       return this.attributes.setNamedItemNS(newAttr);
+               },
+               removeAttributeNode : function(oldAttr){
+                       //console.log(this == oldAttr.ownerElement)
+                       return this.attributes.removeNamedItem(oldAttr.nodeName);
+               },
+               //get real attribute name,and remove it by removeAttributeNode
+               removeAttributeNS : function(namespaceURI, localName){
+                       var old = this.getAttributeNodeNS(namespaceURI, localName);
+                       old && this.removeAttributeNode(old);
+               },
+               
+               hasAttributeNS : function(namespaceURI, localName){
+                       return this.getAttributeNodeNS(namespaceURI, localName)!=null;
+               },
+               getAttributeNS : function(namespaceURI, localName){
+                       var attr = this.getAttributeNodeNS(namespaceURI, localName);
+                       return attr && attr.value || '';
+               },
+               setAttributeNS : function(namespaceURI, qualifiedName, value){
+                       var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);
+                       attr.value = attr.nodeValue = "" + value;
+                       this.setAttributeNode(attr);
+               },
+               getAttributeNodeNS : function(namespaceURI, localName){
+                       return this.attributes.getNamedItemNS(namespaceURI, localName);
+               },
+               
+               getElementsByTagName : function(tagName){
+                       return new LiveNodeList(this,function(base){
+                               var ls = [];
+                               _visitNode(base,function(node){
+                                       if(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){
+                                               ls.push(node);
+                                       }
+                               });
+                               return ls;
+                       });
+               },
+               getElementsByTagNameNS : function(namespaceURI, localName){
+                       return new LiveNodeList(this,function(base){
+                               var ls = [];
+                               _visitNode(base,function(node){
+                                       if(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){
+                                               ls.push(node);
+                                       }
+                               });
+                               return ls;
+                               
+                       });
+               }
+       };
+       Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;
+       Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;
+
+
+       _extends(Element,Node$2);
+       function Attr() {
+       }Attr.prototype.nodeType = ATTRIBUTE_NODE;
+       _extends(Attr,Node$2);
+
+
+       function CharacterData() {
+       }CharacterData.prototype = {
+               data : '',
+               substringData : function(offset, count) {
+                       return this.data.substring(offset, offset+count);
+               },
+               appendData: function(text) {
+                       text = this.data+text;
+                       this.nodeValue = this.data = text;
+                       this.length = text.length;
+               },
+               insertData: function(offset,text) {
+                       this.replaceData(offset,0,text);
+               
+               },
+               appendChild:function(newChild){
+                       throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])
+               },
+               deleteData: function(offset, count) {
+                       this.replaceData(offset,count,"");
+               },
+               replaceData: function(offset, count, text) {
+                       var start = this.data.substring(0,offset);
+                       var end = this.data.substring(offset+count);
+                       text = start + text + end;
+                       this.nodeValue = this.data = text;
+                       this.length = text.length;
+               }
+       };
+       _extends(CharacterData,Node$2);
+       function Text() {
+       }Text.prototype = {
+               nodeName : "#text",
+               nodeType : TEXT_NODE,
+               splitText : function(offset) {
+                       var text = this.data;
+                       var newText = text.substring(offset);
+                       text = text.substring(0, offset);
+                       this.data = this.nodeValue = text;
+                       this.length = text.length;
+                       var newNode = this.ownerDocument.createTextNode(newText);
+                       if(this.parentNode){
+                               this.parentNode.insertBefore(newNode, this.nextSibling);
+                       }
+                       return newNode;
+               }
+       };
+       _extends(Text,CharacterData);
+       function Comment() {
+       }Comment.prototype = {
+               nodeName : "#comment",
+               nodeType : COMMENT_NODE
+       };
+       _extends(Comment,CharacterData);
+
+       function CDATASection() {
+       }CDATASection.prototype = {
+               nodeName : "#cdata-section",
+               nodeType : CDATA_SECTION_NODE
+       };
+       _extends(CDATASection,CharacterData);
+
+
+       function DocumentType() {
+       }DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;
+       _extends(DocumentType,Node$2);
+
+       function Notation() {
+       }Notation.prototype.nodeType = NOTATION_NODE;
+       _extends(Notation,Node$2);
+
+       function Entity() {
+       }Entity.prototype.nodeType = ENTITY_NODE;
+       _extends(Entity,Node$2);
+
+       function EntityReference() {
+       }EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;
+       _extends(EntityReference,Node$2);
+
+       function DocumentFragment() {
+       }DocumentFragment.prototype.nodeName =  "#document-fragment";
+       DocumentFragment.prototype.nodeType =   DOCUMENT_FRAGMENT_NODE;
+       _extends(DocumentFragment,Node$2);
+
+
+       function ProcessingInstruction() {
+       }
+       ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;
+       _extends(ProcessingInstruction,Node$2);
+       function XMLSerializer$1(){}
+       XMLSerializer$1.prototype.serializeToString = function(node,isHtml,nodeFilter){
+               return nodeSerializeToString.call(node,isHtml,nodeFilter);
+       };
+       Node$2.prototype.toString = nodeSerializeToString;
+       function nodeSerializeToString(isHtml,nodeFilter){
+               var buf = [];
+               var refNode = this.nodeType == 9?this.documentElement:this;
+               var prefix = refNode.prefix;
+               var uri = refNode.namespaceURI;
+               
+               if(uri && prefix == null){
+                       //console.log(prefix)
+                       var prefix = refNode.lookupPrefix(uri);
+                       if(prefix == null){
+                               //isHTML = true;
+                               var visibleNamespaces=[
+                               {namespace:uri,prefix:null}
+                               //{namespace:uri,prefix:''}
+                               ];
+                       }
+               }
+               serializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);
+               //console.log('###',this.nodeType,uri,prefix,buf.join(''))
+               return buf.join('');
+       }
+       function needNamespaceDefine(node,isHTML, visibleNamespaces) {
+               var prefix = node.prefix||'';
+               var uri = node.namespaceURI;
+               if (!prefix && !uri){
+                       return false;
+               }
+               if (prefix === "xml" && uri === "http://www.w3.org/XML/1998/namespace" 
+                       || uri == 'http://www.w3.org/2000/xmlns/'){
+                       return false;
+               }
+               
+               var i = visibleNamespaces.length; 
+               //console.log('@@@@',node.tagName,prefix,uri,visibleNamespaces)
+               while (i--) {
+                       var ns = visibleNamespaces[i];
+                       // get namespace prefix
+                       //console.log(node.nodeType,node.tagName,ns.prefix,prefix)
+                       if (ns.prefix == prefix){
+                               return ns.namespace != uri;
+                       }
+               }
+               //console.log(isHTML,uri,prefix=='')
+               //if(isHTML && prefix ==null && uri == 'http://www.w3.org/1999/xhtml'){
+               //      return false;
+               //}
+               //node.flag = '11111'
+               //console.error(3,true,node.flag,node.prefix,node.namespaceURI)
+               return true;
+       }
+       function serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){
+               if(nodeFilter){
+                       node = nodeFilter(node);
+                       if(node){
+                               if(typeof node == 'string'){
+                                       buf.push(node);
+                                       return;
+                               }
+                       }else{
+                               return;
+                       }
+                       //buf.sort.apply(attrs, attributeSorter);
+               }
+               switch(node.nodeType){
+               case ELEMENT_NODE:
+                       if (!visibleNamespaces) visibleNamespaces = [];
+                       var startVisibleNamespaces = visibleNamespaces.length;
+                       var attrs = node.attributes;
+                       var len = attrs.length;
+                       var child = node.firstChild;
+                       var nodeName = node.tagName;
+                       
+                       isHTML =  (htmlns === node.namespaceURI) ||isHTML; 
+                       buf.push('<',nodeName);
+                       
+                       
+                       
+                       for(var i=0;i<len;i++){
+                               // add namespaces for attributes
+                               var attr = attrs.item(i);
+                               if (attr.prefix == 'xmlns') {
+                                       visibleNamespaces.push({ prefix: attr.localName, namespace: attr.value });
+                               }else if(attr.nodeName == 'xmlns'){
+                                       visibleNamespaces.push({ prefix: '', namespace: attr.value });
+                               }
+                       }
+                       for(var i=0;i<len;i++){
+                               var attr = attrs.item(i);
+                               if (needNamespaceDefine(attr,isHTML, visibleNamespaces)) {
+                                       var prefix = attr.prefix||'';
+                                       var uri = attr.namespaceURI;
+                                       var ns = prefix ? ' xmlns:' + prefix : " xmlns";
+                                       buf.push(ns, '="' , uri , '"');
+                                       visibleNamespaces.push({ prefix: prefix, namespace:uri });
+                               }
+                               serializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);
+                       }
+                       // add namespace for current node               
+                       if (needNamespaceDefine(node,isHTML, visibleNamespaces)) {
+                               var prefix = node.prefix||'';
+                               var uri = node.namespaceURI;
+                               var ns = prefix ? ' xmlns:' + prefix : " xmlns";
+                               buf.push(ns, '="' , uri , '"');
+                               visibleNamespaces.push({ prefix: prefix, namespace:uri });
+                       }
+                       
+                       if(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){
+                               buf.push('>');
+                               //if is cdata child node
+                               if(isHTML && /^script$/i.test(nodeName)){
+                                       while(child){
+                                               if(child.data){
+                                                       buf.push(child.data);
+                                               }else{
+                                                       serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);
+                                               }
+                                               child = child.nextSibling;
+                                       }
+                               }else
+                               {
+                                       while(child){
+                                               serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);
+                                               child = child.nextSibling;
+                                       }
+                               }
+                               buf.push('</',nodeName,'>');
+                       }else{
+                               buf.push('/>');
+                       }
+                       // remove added visible namespaces
+                       //visibleNamespaces.length = startVisibleNamespaces;
+                       return;
+               case DOCUMENT_NODE:
+               case DOCUMENT_FRAGMENT_NODE:
+                       var child = node.firstChild;
+                       while(child){
+                               serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);
+                               child = child.nextSibling;
+                       }
+                       return;
+               case ATTRIBUTE_NODE:
+                       return buf.push(' ',node.name,'="',node.value.replace(/[<&"]/g,_xmlEncoder),'"');
+               case TEXT_NODE:
+                       return buf.push(node.data.replace(/[<&]/g,_xmlEncoder));
+               case CDATA_SECTION_NODE:
+                       return buf.push( '<![CDATA[',node.data,']]>');
+               case COMMENT_NODE:
+                       return buf.push( "<!--",node.data,"-->");
+               case DOCUMENT_TYPE_NODE:
+                       var pubid = node.publicId;
+                       var sysid = node.systemId;
+                       buf.push('<!DOCTYPE ',node.name);
+                       if(pubid){
+                               buf.push(' PUBLIC "',pubid);
+                               if (sysid && sysid!='.') {
+                                       buf.push( '" "',sysid);
+                               }
+                               buf.push('">');
+                       }else if(sysid && sysid!='.'){
+                               buf.push(' SYSTEM "',sysid,'">');
+                       }else{
+                               var sub = node.internalSubset;
+                               if(sub){
+                                       buf.push(" [",sub,"]");
+                               }
+                               buf.push(">");
+                       }
+                       return;
+               case PROCESSING_INSTRUCTION_NODE:
+                       return buf.push( "<?",node.target," ",node.data,"?>");
+               case ENTITY_REFERENCE_NODE:
+                       return buf.push( '&',node.nodeName,';');
+               //case ENTITY_NODE:
+               //case NOTATION_NODE:
+               default:
+                       buf.push('??',node.nodeName);
+               }
+       }
+       function importNode(doc,node,deep){
+               var node2;
+               switch (node.nodeType) {
+               case ELEMENT_NODE:
+                       node2 = node.cloneNode(false);
+                       node2.ownerDocument = doc;
+                       //var attrs = node2.attributes;
+                       //var len = attrs.length;
+                       //for(var i=0;i<len;i++){
+                               //node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));
+                       //}
+               case DOCUMENT_FRAGMENT_NODE:
+                       break;
+               case ATTRIBUTE_NODE:
+                       deep = true;
+                       break;
+               //case ENTITY_REFERENCE_NODE:
+               //case PROCESSING_INSTRUCTION_NODE:
+               ////case TEXT_NODE:
+               //case CDATA_SECTION_NODE:
+               //case COMMENT_NODE:
+               //      deep = false;
+               //      break;
+               //case DOCUMENT_NODE:
+               //case DOCUMENT_TYPE_NODE:
+               //cannot be imported.
+               //case ENTITY_NODE:
+               //case NOTATION_NODE:
+               //can not hit in level3
+               //default:throw e;
+               }
+               if(!node2){
+                       node2 = node.cloneNode(false);//false
+               }
+               node2.ownerDocument = doc;
+               node2.parentNode = null;
+               if(deep){
+                       var child = node.firstChild;
+                       while(child){
+                               node2.appendChild(importNode(doc,child,deep));
+                               child = child.nextSibling;
+                       }
+               }
+               return node2;
+       }
+       //
+       //var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,
+       //                                      attributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};
+       function cloneNode(doc,node,deep){
+               var node2 = new node.constructor();
+               for(var n in node){
+                       var v = node[n];
+                       if(typeof v != 'object' ){
+                               if(v != node2[n]){
+                                       node2[n] = v;
+                               }
+                       }
+               }
+               if(node.childNodes){
+                       node2.childNodes = new NodeList();
+               }
+               node2.ownerDocument = doc;
+               switch (node2.nodeType) {
+               case ELEMENT_NODE:
+                       var attrs       = node.attributes;
+                       var attrs2      = node2.attributes = new NamedNodeMap();
+                       var len = attrs.length;
+                       attrs2._ownerElement = node2;
+                       for(var i=0;i<len;i++){
+                               node2.setAttributeNode(cloneNode(doc,attrs.item(i),true));
+                       }
+                       break;
+               case ATTRIBUTE_NODE:
+                       deep = true;
+               }
+               if(deep){
+                       var child = node.firstChild;
+                       while(child){
+                               node2.appendChild(cloneNode(doc,child,deep));
+                               child = child.nextSibling;
+                       }
+               }
+               return node2;
+       }
+
+       function __set__(object,key,value){
+               object[key] = value;
+       }
+       //do dynamic
+       try{
+               if(Object.defineProperty){
+                       Object.defineProperty(LiveNodeList.prototype,'length',{
+                               get:function(){
+                                       _updateLiveList(this);
+                                       return this.$$length;
+                               }
+                       });
+                       Object.defineProperty(Node$2.prototype,'textContent',{
+                               get:function(){
+                                       return getTextContent(this);
+                               },
+                               set:function(data){
+                                       switch(this.nodeType){
+                                       case ELEMENT_NODE:
+                                       case DOCUMENT_FRAGMENT_NODE:
+                                               while(this.firstChild){
+                                                       this.removeChild(this.firstChild);
+                                               }
+                                               if(data || String(data)){
+                                                       this.appendChild(this.ownerDocument.createTextNode(data));
+                                               }
+                                               break;
+                                       default:
+                                               //TODO:
+                                               this.data = data;
+                                               this.value = data;
+                                               this.nodeValue = data;
+                                       }
+                               }
+                       });
+                       
+                       function getTextContent(node){
+                               switch(node.nodeType){
+                               case ELEMENT_NODE:
+                               case DOCUMENT_FRAGMENT_NODE:
+                                       var buf = [];
+                                       node = node.firstChild;
+                                       while(node){
+                                               if(node.nodeType!==7 && node.nodeType !==8){
+                                                       buf.push(getTextContent(node));
+                                               }
+                                               node = node.nextSibling;
+                                       }
+                                       return buf.join('');
+                               default:
+                                       return node.nodeValue;
+                               }
+                       }
+                       __set__ = function(object,key,value){
+                               //console.log(value)
+                               object['$$'+key] = value;
+                       };
+               }
+       }catch(e){//ie8
+       }
+
+       //if(typeof require == 'function'){
+               var DOMImplementation_1 = DOMImplementation;
+               var XMLSerializer_1 = XMLSerializer$1;
+       //}
+
+       var dom = {
+               DOMImplementation: DOMImplementation_1,
+               XMLSerializer: XMLSerializer_1
+       };
+
+       var domParser = createCommonjsModule(function (module, exports) {
+       function DOMParser(options){
+               this.options = options ||{locator:{}};
+               
+       }
+       DOMParser.prototype.parseFromString = function(source,mimeType){
+               var options = this.options;
+               var sax =  new XMLReader();
+               var domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler
+               var errorHandler = options.errorHandler;
+               var locator = options.locator;
+               var defaultNSMap = options.xmlns||{};
+               var entityMap = {'lt':'<','gt':'>','amp':'&','quot':'"','apos':"'"};
+               if(locator){
+                       domBuilder.setDocumentLocator(locator);
+               }
+               
+               sax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);
+               sax.domBuilder = options.domBuilder || domBuilder;
+               if(/\/x?html?$/.test(mimeType)){
+                       entityMap.nbsp = '\xa0';
+                       entityMap.copy = '\xa9';
+                       defaultNSMap['']= 'http://www.w3.org/1999/xhtml';
+               }
+               defaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace';
+               if(source){
+                       sax.parse(source,defaultNSMap,entityMap);
+               }else{
+                       sax.errorHandler.error("invalid doc source");
+               }
+               return domBuilder.doc;
+       };
+       function buildErrorHandler(errorImpl,domBuilder,locator){
+               if(!errorImpl){
+                       if(domBuilder instanceof DOMHandler){
+                               return domBuilder;
+                       }
+                       errorImpl = domBuilder ;
+               }
+               var errorHandler = {};
+               var isCallback = errorImpl instanceof Function;
+               locator = locator||{};
+               function build(key){
+                       var fn = errorImpl[key];
+                       if(!fn && isCallback){
+                               fn = errorImpl.length == 2?function(msg){errorImpl(key,msg);}:errorImpl;
+                       }
+                       errorHandler[key] = fn && function(msg){
+                               fn('[xmldom '+key+']\t'+msg+_locator(locator));
+                       }||function(){};
+               }
+               build('warning');
+               build('error');
+               build('fatalError');
+               return errorHandler;
+       }
+
+       //console.log('#\n\n\n\n\n\n\n####')
+       /**
+        * +ContentHandler+ErrorHandler
+        * +LexicalHandler+EntityResolver2
+        * -DeclHandler-DTDHandler 
+        * 
+        * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler
+        * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2
+        * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html
+        */
+       function DOMHandler() {
+           this.cdata = false;
+       }
+       function position(locator,node){
+               node.lineNumber = locator.lineNumber;
+               node.columnNumber = locator.columnNumber;
+       }
+       /**
+        * @see org.xml.sax.ContentHandler#startDocument
+        * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html
+        */ 
+       DOMHandler.prototype = {
+               startDocument : function() {
+               this.doc = new DOMImplementation().createDocument(null, null, null);
+               if (this.locator) {
+                       this.doc.documentURI = this.locator.systemId;
+               }
+               },
+               startElement:function(namespaceURI, localName, qName, attrs) {
+                       var doc = this.doc;
+                   var el = doc.createElementNS(namespaceURI, qName||localName);
+                   var len = attrs.length;
+                   appendElement(this, el);
+                   this.currentElement = el;
+                   
+                       this.locator && position(this.locator,el);
+                   for (var i = 0 ; i < len; i++) {
+                       var namespaceURI = attrs.getURI(i);
+                       var value = attrs.getValue(i);
+                       var qName = attrs.getQName(i);
+                               var attr = doc.createAttributeNS(namespaceURI, qName);
+                               this.locator &&position(attrs.getLocator(i),attr);
+                               attr.value = attr.nodeValue = value;
+                               el.setAttributeNode(attr);
+                   }
+               },
+               endElement:function(namespaceURI, localName, qName) {
+                       var current = this.currentElement;
+                       var tagName = current.tagName;
+                       this.currentElement = current.parentNode;
+               },
+               startPrefixMapping:function(prefix, uri) {
+               },
+               endPrefixMapping:function(prefix) {
+               },
+               processingInstruction:function(target, data) {
+                   var ins = this.doc.createProcessingInstruction(target, data);
+                   this.locator && position(this.locator,ins);
+                   appendElement(this, ins);
+               },
+               ignorableWhitespace:function(ch, start, length) {
+               },
+               characters:function(chars, start, length) {
+                       chars = _toString.apply(this,arguments);
+                       //console.log(chars)
+                       if(chars){
+                               if (this.cdata) {
+                                       var charNode = this.doc.createCDATASection(chars);
+                               } else {
+                                       var charNode = this.doc.createTextNode(chars);
+                               }
+                               if(this.currentElement){
+                                       this.currentElement.appendChild(charNode);
+                               }else if(/^\s*$/.test(chars)){
+                                       this.doc.appendChild(charNode);
+                                       //process xml
+                               }
+                               this.locator && position(this.locator,charNode);
+                       }
+               },
+               skippedEntity:function(name) {
+               },
+               endDocument:function() {
+                       this.doc.normalize();
+               },
+               setDocumentLocator:function (locator) {
+                   if(this.locator = locator){// && !('lineNumber' in locator)){
+                       locator.lineNumber = 0;
+                   }
+               },
+               //LexicalHandler
+               comment:function(chars, start, length) {
+                       chars = _toString.apply(this,arguments);
+                   var comm = this.doc.createComment(chars);
+                   this.locator && position(this.locator,comm);
+                   appendElement(this, comm);
+               },
+               
+               startCDATA:function() {
+                   //used in characters() methods
+                   this.cdata = true;
+               },
+               endCDATA:function() {
+                   this.cdata = false;
+               },
+               
+               startDTD:function(name, publicId, systemId) {
+                       var impl = this.doc.implementation;
+                   if (impl && impl.createDocumentType) {
+                       var dt = impl.createDocumentType(name, publicId, systemId);
+                       this.locator && position(this.locator,dt);
+                       appendElement(this, dt);
+                   }
+               },
+               /**
+                * @see org.xml.sax.ErrorHandler
+                * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html
+                */
+               warning:function(error) {
+                       console.warn('[xmldom warning]\t'+error,_locator(this.locator));
+               },
+               error:function(error) {
+                       console.error('[xmldom error]\t'+error,_locator(this.locator));
+               },
+               fatalError:function(error) {
+                       console.error('[xmldom fatalError]\t'+error,_locator(this.locator));
+                   throw error;
+               }
+       };
+       function _locator(l){
+               if(l){
+                       return '\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'
+               }
+       }
+       function _toString(chars,start,length){
+               if(typeof chars == 'string'){
+                       return chars.substr(start,length)
+               }else{//java sax connect width xmldom on rhino(what about: "? && !(chars instanceof String)")
+                       if(chars.length >= start+length || start){
+                               return new java.lang.String(chars,start,length)+'';
+                       }
+                       return chars;
+               }
+       }
+
+       /*
+        * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html
+        * used method of org.xml.sax.ext.LexicalHandler:
+        *  #comment(chars, start, length)
+        *  #startCDATA()
+        *  #endCDATA()
+        *  #startDTD(name, publicId, systemId)
+        *
+        *
+        * IGNORED method of org.xml.sax.ext.LexicalHandler:
+        *  #endDTD()
+        *  #startEntity(name)
+        *  #endEntity(name)
+        *
+        *
+        * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html
+        * IGNORED method of org.xml.sax.ext.DeclHandler
+        *      #attributeDecl(eName, aName, type, mode, value)
+        *  #elementDecl(name, model)
+        *  #externalEntityDecl(name, publicId, systemId)
+        *  #internalEntityDecl(name, value)
+        * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html
+        * IGNORED method of org.xml.sax.EntityResolver2
+        *  #resolveEntity(String name,String publicId,String baseURI,String systemId)
+        *  #resolveEntity(publicId, systemId)
+        *  #getExternalSubset(name, baseURI)
+        * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html
+        * IGNORED method of org.xml.sax.DTDHandler
+        *  #notationDecl(name, publicId, systemId) {};
+        *  #unparsedEntityDecl(name, publicId, systemId, notationName) {};
+        */
+       "endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(key){
+               DOMHandler.prototype[key] = function(){return null};
+       });
+
+       /* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */
+       function appendElement (hander,node) {
+           if (!hander.currentElement) {
+               hander.doc.appendChild(node);
+           } else {
+               hander.currentElement.appendChild(node);
+           }
+       }//appendChild and setAttributeNS are preformance key
+
+       //if(typeof require == 'function'){
+               var XMLReader = sax.XMLReader;
+               var DOMImplementation = exports.DOMImplementation = dom.DOMImplementation;
+               exports.XMLSerializer = dom.XMLSerializer ;
+               exports.DOMParser = DOMParser;
+       //}
+       });
+       var domParser_1 = domParser.DOMImplementation;
+       var domParser_2 = domParser.XMLSerializer;
+       var domParser_3 = domParser.DOMParser;
+
+       var togeojson = createCommonjsModule(function (module, exports) {
+       var toGeoJSON = (function() {
+
+           var removeSpace = /\s*/g,
+               trimSpace = /^\s*|\s*$/g,
+               splitSpace = /\s+/;
+           // generate a short, numeric hash of a string
+           function okhash(x) {
+               if (!x || !x.length) return 0;
+               for (var i = 0, h = 0; i < x.length; i++) {
+                   h = ((h << 5) - h) + x.charCodeAt(i) | 0;
+               } return h;
+           }
+           // all Y children of X
+           function get(x, y) { return x.getElementsByTagName(y); }
+           function attr(x, y) { return x.getAttribute(y); }
+           function attrf(x, y) { return parseFloat(attr(x, y)); }
+           // one Y child of X, if any, otherwise null
+           function get1(x, y) { var n = get(x, y); return n.length ? n[0] : null; }
+           // https://developer.mozilla.org/en-US/docs/Web/API/Node.normalize
+           function norm(el) { if (el.normalize) { el.normalize(); } return el; }
+           // cast array x into numbers
+           function numarray(x) {
+               for (var j = 0, o = []; j < x.length; j++) { o[j] = parseFloat(x[j]); }
+               return o;
+           }
+           // get the content of a text node, if any
+           function nodeVal(x) {
+               if (x) { norm(x); }
+               return (x && x.textContent) || '';
+           }
+           // get the contents of multiple text nodes, if present
+           function getMulti(x, ys) {
+               var o = {}, n, k;
+               for (k = 0; k < ys.length; k++) {
+                   n = get1(x, ys[k]);
+                   if (n) o[ys[k]] = nodeVal(n);
+               }
+               return o;
+           }
+           // add properties of Y to X, overwriting if present in both
+           function extend(x, y) { for (var k in y) x[k] = y[k]; }
+           // get one coordinate from a coordinate array, if any
+           function coord1(v) { return numarray(v.replace(removeSpace, '').split(',')); }
+           // get all coordinates from a coordinate array as [[],[]]
+           function coord(v) {
+               var coords = v.replace(trimSpace, '').split(splitSpace),
+                   o = [];
+               for (var i = 0; i < coords.length; i++) {
+                   o.push(coord1(coords[i]));
+               }
+               return o;
+           }
+           function coordPair(x) {
+               var ll = [attrf(x, 'lon'), attrf(x, 'lat')],
+                   ele = get1(x, 'ele'),
+                   // handle namespaced attribute in browser
+                   heartRate = get1(x, 'gpxtpx:hr') || get1(x, 'hr'),
+                   time = get1(x, 'time'),
+                   e;
+               if (ele) {
+                   e = parseFloat(nodeVal(ele));
+                   if (!isNaN(e)) {
+                       ll.push(e);
+                   }
+               }
+               return {
+                   coordinates: ll,
+                   time: time ? nodeVal(time) : null,
+                   heartRate: heartRate ? parseFloat(nodeVal(heartRate)) : null
+               };
+           }
+
+           // create a new feature collection parent object
+           function fc() {
+               return {
+                   type: 'FeatureCollection',
+                   features: []
+               };
+           }
+
+           var serializer;
+           if (typeof XMLSerializer !== 'undefined') {
+               /* istanbul ignore next */
+               serializer = new XMLSerializer();
+           // only require xmldom in a node environment
+           } else if ( typeof process === 'object' && !process.browser) {
+               serializer = new (domParser.XMLSerializer)();
+           }
+           function xml2str(str) {
+               // IE9 will create a new XMLSerializer but it'll crash immediately.
+               // This line is ignored because we don't run coverage tests in IE9
+               /* istanbul ignore next */
+               if (str.xml !== undefined) return str.xml;
+               return serializer.serializeToString(str);
+           }
+
+           var t = {
+               kml: function(doc) {
+
+                   var gj = fc(),
+                       // styleindex keeps track of hashed styles in order to match features
+                       styleIndex = {}, styleByHash = {},
+                       // stylemapindex keeps track of style maps to expose in properties
+                       styleMapIndex = {},
+                       // atomic geospatial types supported by KML - MultiGeometry is
+                       // handled separately
+                       geotypes = ['Polygon', 'LineString', 'Point', 'Track', 'gx:Track'],
+                       // all root placemarks in the file
+                       placemarks = get(doc, 'Placemark'),
+                       styles = get(doc, 'Style'),
+                       styleMaps = get(doc, 'StyleMap');
+
+                   for (var k = 0; k < styles.length; k++) {
+                       var hash = okhash(xml2str(styles[k])).toString(16);
+                       styleIndex['#' + attr(styles[k], 'id')] = hash;
+                       styleByHash[hash] = styles[k];
+                   }
+                   for (var l = 0; l < styleMaps.length; l++) {
+                       styleIndex['#' + attr(styleMaps[l], 'id')] = okhash(xml2str(styleMaps[l])).toString(16);
+                       var pairs = get(styleMaps[l], 'Pair');
+                       var pairsMap = {};
+                       for (var m = 0; m < pairs.length; m++) {
+                           pairsMap[nodeVal(get1(pairs[m], 'key'))] = nodeVal(get1(pairs[m], 'styleUrl'));
+                       }
+                       styleMapIndex['#' + attr(styleMaps[l], 'id')] = pairsMap;
+
+                   }
+                   for (var j = 0; j < placemarks.length; j++) {
+                       gj.features = gj.features.concat(getPlacemark(placemarks[j]));
+                   }
+                   function kmlColor(v) {
+                       var color, opacity;
+                       v = v || '';
+                       if (v.substr(0, 1) === '#') { v = v.substr(1); }
+                       if (v.length === 6 || v.length === 3) { color = v; }
+                       if (v.length === 8) {
+                           opacity = parseInt(v.substr(0, 2), 16) / 255;
+                           color = '#' + v.substr(6, 2) +
+                               v.substr(4, 2) +
+                               v.substr(2, 2);
+                       }
+                       return [color, isNaN(opacity) ? undefined : opacity];
+                   }
+                   function gxCoord(v) { return numarray(v.split(' ')); }
+                   function gxCoords(root) {
+                       var elems = get(root, 'coord'), coords = [], times = [];
+                       if (elems.length === 0) elems = get(root, 'gx:coord');
+                       for (var i = 0; i < elems.length; i++) coords.push(gxCoord(nodeVal(elems[i])));
+                       var timeElems = get(root, 'when');
+                       for (var j = 0; j < timeElems.length; j++) times.push(nodeVal(timeElems[j]));
+                       return {
+                           coords: coords,
+                           times: times
+                       };
+                   }
+                   function getGeometry(root) {
+                       var geomNode, geomNodes, i, j, k, geoms = [], coordTimes = [];
+                       if (get1(root, 'MultiGeometry')) { return getGeometry(get1(root, 'MultiGeometry')); }
+                       if (get1(root, 'MultiTrack')) { return getGeometry(get1(root, 'MultiTrack')); }
+                       if (get1(root, 'gx:MultiTrack')) { return getGeometry(get1(root, 'gx:MultiTrack')); }
+                       for (i = 0; i < geotypes.length; i++) {
+                           geomNodes = get(root, geotypes[i]);
+                           if (geomNodes) {
+                               for (j = 0; j < geomNodes.length; j++) {
+                                   geomNode = geomNodes[j];
+                                   if (geotypes[i] === 'Point') {
+                                       geoms.push({
+                                           type: 'Point',
+                                           coordinates: coord1(nodeVal(get1(geomNode, 'coordinates')))
+                                       });
+                                   } else if (geotypes[i] === 'LineString') {
+                                       geoms.push({
+                                           type: 'LineString',
+                                           coordinates: coord(nodeVal(get1(geomNode, 'coordinates')))
+                                       });
+                                   } else if (geotypes[i] === 'Polygon') {
+                                       var rings = get(geomNode, 'LinearRing'),
+                                           coords = [];
+                                       for (k = 0; k < rings.length; k++) {
+                                           coords.push(coord(nodeVal(get1(rings[k], 'coordinates'))));
+                                       }
+                                       geoms.push({
+                                           type: 'Polygon',
+                                           coordinates: coords
+                                       });
+                                   } else if (geotypes[i] === 'Track' ||
+                                       geotypes[i] === 'gx:Track') {
+                                       var track = gxCoords(geomNode);
+                                       geoms.push({
+                                           type: 'LineString',
+                                           coordinates: track.coords
+                                       });
+                                       if (track.times.length) coordTimes.push(track.times);
+                                   }
+                               }
+                           }
+                       }
+                       return {
+                           geoms: geoms,
+                           coordTimes: coordTimes
+                       };
+                   }
+                   function getPlacemark(root) {
+                       var geomsAndTimes = getGeometry(root), i, properties = {},
+                           name = nodeVal(get1(root, 'name')),
+                           address = nodeVal(get1(root, 'address')),
+                           styleUrl = nodeVal(get1(root, 'styleUrl')),
+                           description = nodeVal(get1(root, 'description')),
+                           timeSpan = get1(root, 'TimeSpan'),
+                           timeStamp = get1(root, 'TimeStamp'),
+                           extendedData = get1(root, 'ExtendedData'),
+                           lineStyle = get1(root, 'LineStyle'),
+                           polyStyle = get1(root, 'PolyStyle'),
+                           visibility = get1(root, 'visibility');
+
+                       if (!geomsAndTimes.geoms.length) return [];
+                       if (name) properties.name = name;
+                       if (address) properties.address = address;
+                       if (styleUrl) {
+                           if (styleUrl[0] !== '#') {
+                               styleUrl = '#' + styleUrl;
+                           }
+
+                           properties.styleUrl = styleUrl;
+                           if (styleIndex[styleUrl]) {
+                               properties.styleHash = styleIndex[styleUrl];
+                           }
+                           if (styleMapIndex[styleUrl]) {
+                               properties.styleMapHash = styleMapIndex[styleUrl];
+                               properties.styleHash = styleIndex[styleMapIndex[styleUrl].normal];
+                           }
+                           // Try to populate the lineStyle or polyStyle since we got the style hash
+                           var style = styleByHash[properties.styleHash];
+                           if (style) {
+                               if (!lineStyle) lineStyle = get1(style, 'LineStyle');
+                               if (!polyStyle) polyStyle = get1(style, 'PolyStyle');
+                           }
+                       }
+                       if (description) properties.description = description;
+                       if (timeSpan) {
+                           var begin = nodeVal(get1(timeSpan, 'begin'));
+                           var end = nodeVal(get1(timeSpan, 'end'));
+                           properties.timespan = { begin: begin, end: end };
+                       }
+                       if (timeStamp) {
+                           properties.timestamp = nodeVal(get1(timeStamp, 'when'));
+                       }
+                       if (lineStyle) {
+                           var linestyles = kmlColor(nodeVal(get1(lineStyle, 'color'))),
+                               color = linestyles[0],
+                               opacity = linestyles[1],
+                               width = parseFloat(nodeVal(get1(lineStyle, 'width')));
+                           if (color) properties.stroke = color;
+                           if (!isNaN(opacity)) properties['stroke-opacity'] = opacity;
+                           if (!isNaN(width)) properties['stroke-width'] = width;
+                       }
+                       if (polyStyle) {
+                           var polystyles = kmlColor(nodeVal(get1(polyStyle, 'color'))),
+                               pcolor = polystyles[0],
+                               popacity = polystyles[1],
+                               fill = nodeVal(get1(polyStyle, 'fill')),
+                               outline = nodeVal(get1(polyStyle, 'outline'));
+                           if (pcolor) properties.fill = pcolor;
+                           if (!isNaN(popacity)) properties['fill-opacity'] = popacity;
+                           if (fill) properties['fill-opacity'] = fill === '1' ? properties['fill-opacity'] || 1 : 0;
+                           if (outline) properties['stroke-opacity'] = outline === '1' ? properties['stroke-opacity'] || 1 : 0;
+                       }
+                       if (extendedData) {
+                           var datas = get(extendedData, 'Data'),
+                               simpleDatas = get(extendedData, 'SimpleData');
+
+                           for (i = 0; i < datas.length; i++) {
+                               properties[datas[i].getAttribute('name')] = nodeVal(get1(datas[i], 'value'));
+                           }
+                           for (i = 0; i < simpleDatas.length; i++) {
+                               properties[simpleDatas[i].getAttribute('name')] = nodeVal(simpleDatas[i]);
+                           }
+                       }
+                       if (visibility) {
+                           properties.visibility = nodeVal(visibility);
+                       }
+                       if (geomsAndTimes.coordTimes.length) {
+                           properties.coordTimes = (geomsAndTimes.coordTimes.length === 1) ?
+                               geomsAndTimes.coordTimes[0] : geomsAndTimes.coordTimes;
+                       }
+                       var feature = {
+                           type: 'Feature',
+                           geometry: (geomsAndTimes.geoms.length === 1) ? geomsAndTimes.geoms[0] : {
+                               type: 'GeometryCollection',
+                               geometries: geomsAndTimes.geoms
+                           },
+                           properties: properties
+                       };
+                       if (attr(root, 'id')) feature.id = attr(root, 'id');
+                       return [feature];
+                   }
+                   return gj;
+               },
+               gpx: function(doc) {
+                   var i,
+                       tracks = get(doc, 'trk'),
+                       routes = get(doc, 'rte'),
+                       waypoints = get(doc, 'wpt'),
+                       // a feature collection
+                       gj = fc(),
+                       feature;
+                   for (i = 0; i < tracks.length; i++) {
+                       feature = getTrack(tracks[i]);
+                       if (feature) gj.features.push(feature);
+                   }
+                   for (i = 0; i < routes.length; i++) {
+                       feature = getRoute(routes[i]);
+                       if (feature) gj.features.push(feature);
+                   }
+                   for (i = 0; i < waypoints.length; i++) {
+                       gj.features.push(getPoint(waypoints[i]));
+                   }
+                   function getPoints(node, pointname) {
+                       var pts = get(node, pointname),
+                           line = [],
+                           times = [],
+                           heartRates = [],
+                           l = pts.length;
+                       if (l < 2) return {};  // Invalid line in GeoJSON
+                       for (var i = 0; i < l; i++) {
+                           var c = coordPair(pts[i]);
+                           line.push(c.coordinates);
+                           if (c.time) times.push(c.time);
+                           if (c.heartRate) heartRates.push(c.heartRate);
+                       }
+                       return {
+                           line: line,
+                           times: times,
+                           heartRates: heartRates
+                       };
+                   }
+                   function getTrack(node) {
+                       var segments = get(node, 'trkseg'),
+                           track = [],
+                           times = [],
+                           heartRates = [],
+                           line;
+                       for (var i = 0; i < segments.length; i++) {
+                           line = getPoints(segments[i], 'trkpt');
+                           if (line) {
+                               if (line.line) track.push(line.line);
+                               if (line.times && line.times.length) times.push(line.times);
+                               if (line.heartRates && line.heartRates.length) heartRates.push(line.heartRates);
+                           }
+                       }
+                       if (track.length === 0) return;
+                       var properties = getProperties(node);
+                       extend(properties, getLineStyle(get1(node, 'extensions')));
+                       if (times.length) properties.coordTimes = track.length === 1 ? times[0] : times;
+                       if (heartRates.length) properties.heartRates = track.length === 1 ? heartRates[0] : heartRates;
+                       return {
+                           type: 'Feature',
+                           properties: properties,
+                           geometry: {
+                               type: track.length === 1 ? 'LineString' : 'MultiLineString',
+                               coordinates: track.length === 1 ? track[0] : track
+                           }
+                       };
+                   }
+                   function getRoute(node) {
+                       var line = getPoints(node, 'rtept');
+                       if (!line.line) return;
+                       var prop = getProperties(node);
+                       extend(prop, getLineStyle(get1(node, 'extensions')));
+                       var routeObj = {
+                           type: 'Feature',
+                           properties: prop,
+                           geometry: {
+                               type: 'LineString',
+                               coordinates: line.line
+                           }
+                       };
+                       return routeObj;
+                   }
+                   function getPoint(node) {
+                       var prop = getProperties(node);
+                       extend(prop, getMulti(node, ['sym']));
+                       return {
+                           type: 'Feature',
+                           properties: prop,
+                           geometry: {
+                               type: 'Point',
+                               coordinates: coordPair(node).coordinates
+                           }
+                       };
+                   }
+                   function getLineStyle(extensions) {
+                       var style = {};
+                       if (extensions) {
+                           var lineStyle = get1(extensions, 'line');
+                           if (lineStyle) {
+                               var color = nodeVal(get1(lineStyle, 'color')),
+                                   opacity = parseFloat(nodeVal(get1(lineStyle, 'opacity'))),
+                                   width = parseFloat(nodeVal(get1(lineStyle, 'width')));
+                               if (color) style.stroke = color;
+                               if (!isNaN(opacity)) style['stroke-opacity'] = opacity;
+                               // GPX width is in mm, convert to px with 96 px per inch
+                               if (!isNaN(width)) style['stroke-width'] = width * 96 / 25.4;
+                           }
+                       }
+                       return style;
+                   }
+                   function getProperties(node) {
+                       var prop = getMulti(node, ['name', 'cmt', 'desc', 'type', 'time', 'keywords']),
+                           links = get(node, 'link');
+                       if (links.length) prop.links = [];
+                       for (var i = 0, link; i < links.length; i++) {
+                           link = { href: attr(links[i], 'href') };
+                           extend(link, getMulti(links[i], ['text', 'type']));
+                           prop.links.push(link);
+                       }
+                       return prop;
+                   }
+                   return gj;
+               }
+           };
+           return t;
+       })();
+
+       module.exports = toGeoJSON;
+       });
+
+       var _initialized = false;
+       var _enabled = false;
+       var _geojson;
+
+
+       function svgData(projection, context, dispatch) {
+           var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000);
+           var _showLabels = true;
+           var detected = utilDetect();
+           var layer = d3_select(null);
+           var _vtService;
+           var _fileList;
+           var _template;
+           var _src;
+
+
+           function init() {
+               if (_initialized) return;  // run once
+
+               _geojson = {};
+               _enabled = true;
+
+               function over() {
+                   event.stopPropagation();
+                   event.preventDefault();
+                   event.dataTransfer.dropEffect = 'copy';
+               }
+
+               d3_select('body')
+                   .attr('dropzone', 'copy')
+                   .on('drop.svgData', function() {
+                       event.stopPropagation();
+                       event.preventDefault();
+                       if (!detected.filedrop) return;
+                       drawData.fileList(event.dataTransfer.files);
+                   })
+                   .on('dragenter.svgData', over)
+                   .on('dragexit.svgData', over)
+                   .on('dragover.svgData', over);
+
+               _initialized = true;
+           }
+
+
+           function getService() {
+               if (services$1.vectorTile && !_vtService) {
+                   _vtService = services$1.vectorTile;
+                   _vtService.event.on('loadedData', throttledRedraw);
+               } else if (!services$1.vectorTile && _vtService) {
+                   _vtService = null;
+               }
+
+               return _vtService;
+           }
+
+
+           function showLayer() {
+               layerOn();
+
+               layer
+                   .style('opacity', 0)
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 1)
+                   .on('end', function () { dispatch.call('change'); });
+           }
+
+
+           function hideLayer() {
+               throttledRedraw.cancel();
+
+               layer
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 0)
+                   .on('end', layerOff);
+           }
+
+
+           function layerOn() {
+               layer.style('display', 'block');
+           }
+
+
+           function layerOff() {
+               layer.selectAll('.viewfield-group').remove();
+               layer.style('display', 'none');
+           }
+
+
+           // ensure that all geojson features in a collection have IDs
+           function ensureIDs(gj) {
+               if (!gj) return null;
+
+               if (gj.type === 'FeatureCollection') {
+                   for (var i = 0; i < gj.features.length; i++) {
+                       ensureFeatureID(gj.features[i]);
+                   }
+               } else {
+                   ensureFeatureID(gj);
+               }
+               return gj;
+           }
+
+
+           // ensure that each single Feature object has a unique ID
+           function ensureFeatureID(feature) {
+               if (!feature) return;
+               feature.__featurehash__ = utilHashcode(fastJsonStableStringify(feature));
+               return feature;
+           }
+
+
+           // Prefer an array of Features instead of a FeatureCollection
+           function getFeatures(gj) {
+               if (!gj) return [];
+
+               if (gj.type === 'FeatureCollection') {
+                   return gj.features;
+               } else {
+                   return [gj];
+               }
+           }
+
+
+           function featureKey(d) {
+               return d.__featurehash__;
+           }
+
+
+           function isPolygon(d) {
+               return d.geometry.type === 'Polygon' || d.geometry.type === 'MultiPolygon';
+           }
+
+
+           function clipPathID(d) {
+               return 'data-' + d.__featurehash__ + '-clippath';
+           }
+
+
+           function featureClasses(d) {
+               return [
+                   'data' + d.__featurehash__,
+                   d.geometry.type,
+                   isPolygon(d) ? 'area' : '',
+                   d.__layerID__ || ''
+               ].filter(Boolean).join(' ');
+           }
+
+
+           function drawData(selection) {
+               var vtService = getService();
+               var getPath = svgPath(projection).geojson;
+               var getAreaPath = svgPath(projection, null, true).geojson;
+               var hasData = drawData.hasData();
+
+               layer = selection.selectAll('.layer-mapdata')
+                   .data(_enabled && hasData ? [0] : []);
+
+               layer.exit()
+                   .remove();
+
+               layer = layer.enter()
+                   .append('g')
+                   .attr('class', 'layer-mapdata')
+                   .merge(layer);
+
+               var surface = context.surface();
+               if (!surface || surface.empty()) return;  // not ready to draw yet, starting up
+
+
+               // Gather data
+               var geoData, polygonData;
+               if (_template && vtService) {   // fetch data from vector tile service
+                   var sourceID = _template;
+                   vtService.loadTiles(sourceID, _template, projection);
+                   geoData = vtService.data(sourceID, projection);
+               } else {
+                   geoData = getFeatures(_geojson);
+               }
+               geoData = geoData.filter(getPath);
+               polygonData = geoData.filter(isPolygon);
+
+
+               // Draw clip paths for polygons
+               var clipPaths = surface.selectAll('defs').selectAll('.clipPath-data')
+                  .data(polygonData, featureKey);
+
+               clipPaths.exit()
+                  .remove();
+
+               var clipPathsEnter = clipPaths.enter()
+                  .append('clipPath')
+                  .attr('class', 'clipPath-data')
+                  .attr('id', clipPathID);
+
+               clipPathsEnter
+                  .append('path');
+
+               clipPaths.merge(clipPathsEnter)
+                  .selectAll('path')
+                  .attr('d', getAreaPath);
+
+
+               // Draw fill, shadow, stroke layers
+               var datagroups = layer
+                   .selectAll('g.datagroup')
+                   .data(['fill', 'shadow', 'stroke']);
+
+               datagroups = datagroups.enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'datagroup datagroup-' + d; })
+                   .merge(datagroups);
+
+
+               // Draw paths
+               var pathData = {
+                   fill: polygonData,
+                   shadow: geoData,
+                   stroke: geoData
+               };
+
+               var paths = datagroups
+                   .selectAll('path')
+                   .data(function(layer) { return pathData[layer]; }, featureKey);
+
+               // exit
+               paths.exit()
+                   .remove();
+
+               // enter/update
+               paths = paths.enter()
+                   .append('path')
+                   .attr('class', function(d) {
+                       var datagroup = this.parentNode.__data__;
+                       return 'pathdata ' + datagroup + ' ' + featureClasses(d);
+                   })
+                   .attr('clip-path', function(d) {
+                       var datagroup = this.parentNode.__data__;
+                       return datagroup === 'fill' ? ('url(#' + clipPathID(d) + ')') : null;
+                   })
+                   .merge(paths)
+                   .attr('d', function(d) {
+                       var datagroup = this.parentNode.__data__;
+                       return datagroup === 'fill' ? getAreaPath(d) : getPath(d);
+                   });
+
+
+               // Draw labels
+               layer
+                   .call(drawLabels, 'label-halo', geoData)
+                   .call(drawLabels, 'label', geoData);
+
+
+               function drawLabels(selection, textClass, data) {
+                   var labelPath = d3_geoPath(projection);
+                   var labelData = data.filter(function(d) {
+                       return _showLabels && d.properties && (d.properties.desc || d.properties.name);
+                   });
+
+                   var labels = selection.selectAll('text.' + textClass)
+                       .data(labelData, featureKey);
+
+                   // exit
+                   labels.exit()
+                       .remove();
+
+                   // enter/update
+                   labels = labels.enter()
+                       .append('text')
+                       .attr('class', function(d) { return textClass + ' ' + featureClasses(d); })
+                       .merge(labels)
+                       .text(function(d) {
+                           return d.properties.desc || d.properties.name;
+                       })
+                       .attr('x', function(d) {
+                           var centroid = labelPath.centroid(d);
+                           return centroid[0] + 11;
+                       })
+                       .attr('y', function(d) {
+                           var centroid = labelPath.centroid(d);
+                           return centroid[1];
+                       });
+               }
+           }
+
+
+           function getExtension(fileName) {
+               if (!fileName) return;
+
+               var re = /\.(gpx|kml|(geo)?json)$/i;
+               var match = fileName.toLowerCase().match(re);
+               return match && match.length && match[0];
+           }
+
+
+           function xmlToDom(textdata) {
+               return (new DOMParser()).parseFromString(textdata, 'text/xml');
+           }
+
+
+           drawData.setFile = function(extension, data) {
+               _template = null;
+               _fileList = null;
+               _geojson = null;
+               _src = null;
+
+               var gj;
+               switch (extension) {
+                   case '.gpx':
+                       gj = togeojson.gpx(xmlToDom(data));
+                       break;
+                   case '.kml':
+                       gj = togeojson.kml(xmlToDom(data));
+                       break;
+                   case '.geojson':
+                   case '.json':
+                       gj = JSON.parse(data);
+                       break;
+               }
+
+               gj = gj || {};
+               if (Object.keys(gj).length) {
+                   _geojson = ensureIDs(gj);
+                   _src = extension + ' data file';
+                   this.fitZoom();
+               }
+
+               dispatch.call('change');
+               return this;
+           };
+
+
+           drawData.showLabels = function(val) {
+               if (!arguments.length) return _showLabels;
+
+               _showLabels = val;
+               return this;
+           };
+
+
+           drawData.enabled = function(val) {
+               if (!arguments.length) return _enabled;
+
+               _enabled = val;
+               if (_enabled) {
+                   showLayer();
+               } else {
+                   hideLayer();
+               }
+
+               dispatch.call('change');
+               return this;
+           };
+
+
+           drawData.hasData = function() {
+               var gj = _geojson || {};
+               return !!(_template || Object.keys(gj).length);
+           };
+
+
+           drawData.template = function(val, src) {
+               if (!arguments.length) return _template;
+
+               // test source against OSM imagery blacklists..
+               var osm = context.connection();
+               if (osm) {
+                   var blacklists = osm.imageryBlacklists();
+                   var fail = false;
+                   var tested = 0;
+                   var regex;
+
+                   for (var i = 0; i < blacklists.length; i++) {
+                       try {
+                           regex = new RegExp(blacklists[i]);
+                           fail = regex.test(val);
+                           tested++;
+                           if (fail) break;
+                       } catch (e) {
+                           /* noop */
+                       }
+                   }
+
+                   // ensure at least one test was run.
+                   if (!tested) {
+                       regex = new RegExp('.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*');
+                       fail = regex.test(val);
+                   }
+               }
+
+               _template = val;
+               _fileList = null;
+               _geojson = null;
+
+               // strip off the querystring/hash from the template,
+               // it often includes the access token
+               _src = src || ('vectortile:' + val.split(/[?#]/)[0]);
+
+               dispatch.call('change');
+               return this;
+           };
+
+
+           drawData.geojson = function(gj, src) {
+               if (!arguments.length) return _geojson;
+
+               _template = null;
+               _fileList = null;
+               _geojson = null;
+               _src = null;
+
+               gj = gj || {};
+               if (Object.keys(gj).length) {
+                   _geojson = ensureIDs(gj);
+                   _src = src || 'unknown.geojson';
+               }
+
+               dispatch.call('change');
+               return this;
+           };
+
+
+           drawData.fileList = function(fileList) {
+               if (!arguments.length) return _fileList;
+
+               _template = null;
+               _fileList = fileList;
+               _geojson = null;
+               _src = null;
+
+               if (!fileList || !fileList.length) return this;
+               var f = fileList[0];
+               var extension = getExtension(f.name);
+               var reader = new FileReader();
+               reader.onload = (function() {
+                   return function(e) {
+                       drawData.setFile(extension, e.target.result);
+                   };
+               })();
+
+               reader.readAsText(f);
+
+               return this;
+           };
+
+
+           drawData.url = function(url, defaultExtension) {
+               _template = null;
+               _fileList = null;
+               _geojson = null;
+               _src = null;
+
+               // strip off any querystring/hash from the url before checking extension
+               var testUrl = url.split(/[?#]/)[0];
+               var extension = getExtension(testUrl) || defaultExtension;
+               if (extension) {
+                   _template = null;
+                   d3_text(url)
+                       .then(function(data) {
+                           drawData.setFile(extension, data);
+                       })
+                       .catch(function() {
+                           /* ignore */
+                       });
+
+               } else {
+                   drawData.template(url);
+               }
+
+               return this;
+           };
+
+
+           drawData.getSrc = function() {
+               return _src || '';
+           };
+
+
+           drawData.fitZoom = function() {
+               var features = getFeatures(_geojson);
+               if (!features.length) return;
+
+               var map = context.map();
+               var viewport = map.trimmedExtent().polygon();
+               var coords = features.reduce(function(coords, feature) {
+                   var c = feature.geometry.coordinates;
+
+                   /* eslint-disable no-fallthrough */
+                   switch (feature.geometry.type) {
+                       case 'Point':
+                           c = [c];
+                       case 'MultiPoint':
+                       case 'LineString':
+                           break;
+
+                       case 'MultiPolygon':
+                           c = utilArrayFlatten(c);
+                       case 'Polygon':
+                       case 'MultiLineString':
+                           c = utilArrayFlatten(c);
+                           break;
+                   }
+                   /* eslint-enable no-fallthrough */
+
+                   return utilArrayUnion(coords, c);
+               }, []);
+
+               if (!geoPolygonIntersectsPolygon(viewport, coords, true)) {
+                   var extent = geoExtent(d3_geoBounds({ type: 'LineString', coordinates: coords }));
+                   map.centerZoom(extent.center(), map.trimmedExtentZoom(extent));
+               }
+
+               return this;
+           };
+
+
+           init();
+           return drawData;
+       }
+
+       function svgDebug(projection, context) {
+
+           function drawDebug(selection) {
+               var showsTile = context.getDebug('tile');
+               var showsCollision = context.getDebug('collision');
+               var showsImagery = context.getDebug('imagery');
+               var showsCommunity = context.getDebug('community');
+               var showsImperial = context.getDebug('imperial');
+               var showsDriveLeft = context.getDebug('driveLeft');
+               var showsTouchTargets = context.getDebug('target');
+               var showsDownloaded = context.getDebug('downloaded');
+
+               var debugData = [];
+               if (showsTile) {
+                   debugData.push({ class: 'red', label: 'tile' });
+               }
+               if (showsCollision) {
+                   debugData.push({ class: 'yellow', label: 'collision' });
+               }
+               if (showsImagery) {
+                   debugData.push({ class: 'orange', label: 'imagery' });
+               }
+               if (showsCommunity) {
+                   debugData.push({ class: 'blue', label: 'community' });
+               }
+               if (showsImperial) {
+                   debugData.push({ class: 'cyan', label: 'imperial' });
+               }
+               if (showsDriveLeft) {
+                   debugData.push({ class: 'green', label: 'driveLeft' });
+               }
+               if (showsTouchTargets) {
+                   debugData.push({ class: 'pink', label: 'touchTargets' });
+               }
+               if (showsDownloaded) {
+                   debugData.push({ class: 'purple', label: 'downloaded' });
+               }
+
+
+               var legend = d3_select('#content')
+                   .selectAll('.debug-legend')
+                   .data(debugData.length ? [0] : []);
+
+               legend.exit()
+                   .remove();
+
+               legend = legend.enter()
+                   .append('div')
+                   .attr('class', 'fillD debug-legend')
+                   .merge(legend);
+
+
+               var legendItems = legend.selectAll('.debug-legend-item')
+                   .data(debugData, function(d) { return d.label; });
+
+               legendItems.exit()
+                   .remove();
+
+               legendItems.enter()
+                   .append('span')
+                   .attr('class', function(d) { return 'debug-legend-item ' + d.class; })
+                   .text(function(d) { return d.label; });
+
+
+               var layer = selection.selectAll('.layer-debug')
+                   .data(showsImagery || showsCommunity || showsImperial || showsDriveLeft || showsDownloaded ? [0] : []);
+
+               layer.exit()
+                   .remove();
+
+               layer = layer.enter()
+                   .append('g')
+                   .attr('class', 'layer-debug')
+                   .merge(layer);
+
+
+               // imagery
+               var extent = context.map().extent();
+               var matchImagery = (showsImagery && data.imagery.query.bbox(extent.rectangle(), true)) || [];
+               var features = matchImagery.map(function(d) { return data.imagery.features[d.id]; });
+
+               var imagery = layer.selectAll('path.debug-imagery')
+                   .data(features);
+
+               imagery.exit()
+                   .remove();
+
+               imagery.enter()
+                   .append('path')
+                   .attr('class', 'debug-imagery debug orange');
+
+
+               // community index
+               var community = layer.selectAll('path.debug-community')
+                   .data(showsCommunity ? Object.values(data.community.features) : []);
+
+               community.exit()
+                   .remove();
+
+               community.enter()
+                   .append('path')
+                   .attr('class', 'debug-community debug blue');
+
+
+               // imperial
+               var imperial = layer
+                   .selectAll('path.debug-imperial')
+                   .data(showsImperial ? [dataImperial] : []);
+
+               imperial.exit()
+                   .remove();
+
+               imperial.enter()
+                   .append('path')
+                   .attr('class', 'debug-imperial debug cyan');
+
+
+               // driveleft
+               var driveLeft = layer
+                   .selectAll('path.debug-drive-left')
+                   .data(showsDriveLeft ? [dataDriveLeft] : []);
+
+               driveLeft.exit()
+                   .remove();
+
+               driveLeft.enter()
+                   .append('path')
+                   .attr('class', 'debug-drive-left debug green');
+
+
+               // downloaded
+               var osm = context.connection();
+               var dataDownloaded = [];
+
+               if (osm) {
+                   var rtree = osm.caches('get').tile.rtree;
+                   dataDownloaded = rtree.all().map(function(bbox) {
+                       return {
+                           type: 'Feature',
+                           properties: { id: bbox.id },
+                           geometry: {
+                               type: 'Polygon',
+                               coordinates: [[
+                                   [ bbox.minX, bbox.minY ],
+                                   [ bbox.minX, bbox.maxY ],
+                                   [ bbox.maxX, bbox.maxY ],
+                                   [ bbox.maxX, bbox.minY ],
+                                   [ bbox.minX, bbox.minY ]
+                               ]]
+                           }
+                       };
+                   });
+               }
+
+
+               var downloaded = layer
+                   .selectAll('path.debug-downloaded')
+                   .data(showsDownloaded ? dataDownloaded : []);
+
+               downloaded.exit()
+                   .remove();
+
+               downloaded.enter()
+                   .append('path')
+                   .attr('class', 'debug-downloaded debug purple');
+
+
+               // update
+               layer.selectAll('path')
+                   .attr('d', svgPath(projection).geojson);
+           }
+
+
+           // This looks strange because `enabled` methods on other layers are
+           // chainable getter/setters, and this one is just a getter.
+           drawDebug.enabled = function() {
+               if (!arguments.length) {
+                   return context.getDebug('tile') ||
+                       context.getDebug('collision') ||
+                       context.getDebug('imagery') ||
+                       context.getDebug('imperial') ||
+                       context.getDebug('driveLeft') ||
+                       context.getDebug('target') ||
+                       context.getDebug('downloaded');
+               } else {
+                   return this;
+               }
+           };
+
+
+           return drawDebug;
+       }
+
+       var _keepRightEnabled = false;
+       var _keepRightService;
+
+
+       function svgKeepRight(projection, context, dispatch) {
+           var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000);
+           var minZoom = 12;
+           var touchLayer = d3_select(null);
+           var drawLayer = d3_select(null);
+           var _keepRightVisible = false;
+
+
+           function markerPath(selection, klass) {
+               selection
+                   .attr('class', klass)
+                   .attr('transform', 'translate(-4, -24)')
+                   .attr('d', 'M11.6,6.2H7.1l1.4-5.1C8.6,0.6,8.1,0,7.5,0H2.2C1.7,0,1.3,0.3,1.3,0.8L0,10.2c-0.1,0.6,0.4,1.1,0.9,1.1h4.6l-1.8,7.6C3.6,19.4,4.1,20,4.7,20c0.3,0,0.6-0.2,0.8-0.5l6.9-11.9C12.7,7,12.3,6.2,11.6,6.2z');
+           }
+
+
+           // Loosely-coupled keepRight service for fetching errors.
+           function getService() {
+               if (services$1.keepRight && !_keepRightService) {
+                   _keepRightService = services$1.keepRight;
+                   _keepRightService.on('loaded', throttledRedraw);
+               } else if (!services$1.keepRight && _keepRightService) {
+                   _keepRightService = null;
+               }
+
+               return _keepRightService;
+           }
+
+
+           // Show the errors
+           function editOn() {
+               if (!_keepRightVisible) {
+                   _keepRightVisible = true;
+                   drawLayer
+                       .style('display', 'block');
+               }
+           }
+
+
+           // Immediately remove the errors and their touch targets
+           function editOff() {
+               if (_keepRightVisible) {
+                   _keepRightVisible = false;
+                   drawLayer
+                       .style('display', 'none');
+                   drawLayer.selectAll('.qa_error.keepRight')
+                       .remove();
+                   touchLayer.selectAll('.qa_error.keepRight')
+                       .remove();
+               }
+           }
+
+
+           // Enable the layer.  This shows the errors and transitions them to visible.
+           function layerOn() {
+               editOn();
+
+               drawLayer
+                   .style('opacity', 0)
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 1)
+                   .on('end interrupt', function () {
+                       dispatch.call('change');
+                   });
+           }
+
+
+           // Disable the layer.  This transitions the layer invisible and then hides the errors.
+           function layerOff() {
+               throttledRedraw.cancel();
+               drawLayer.interrupt();
+               touchLayer.selectAll('.qa_error.keepRight')
+                   .remove();
+
+               drawLayer
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 0)
+                   .on('end interrupt', function () {
+                       editOff();
+                       dispatch.call('change');
+                   });
+           }
+
+
+           // Update the error markers
+           function updateMarkers() {
+               if (!_keepRightVisible || !_keepRightEnabled) return;
+
+               var service = getService();
+               var selectedID = context.selectedErrorID();
+               var data = (service ? service.getErrors(projection) : []);
+               var getTransform = svgPointTransform(projection);
+
+               // Draw markers..
+               var markers = drawLayer.selectAll('.qa_error.keepRight')
+                   .data(data, function(d) { return d.id; });
+
+               // exit
+               markers.exit()
+                   .remove();
+
+               // enter
+               var markersEnter = markers.enter()
+                   .append('g')
+                   .attr('class', function(d) {
+                       return [
+                           'qa_error',
+                           d.service,
+                           'error_id-' + d.id,
+                           'error_type-' + d.parent_error_type
+                       ].join(' ');
+                   });
+
+               markersEnter
+                   .append('ellipse')
+                   .attr('cx', 0.5)
+                   .attr('cy', 1)
+                   .attr('rx', 6.5)
+                   .attr('ry', 3)
+                   .attr('class', 'stroke');
+
+               markersEnter
+                   .append('path')
+                   .call(markerPath, 'shadow');
+
+               markersEnter
+                   .append('use')
+                   .attr('class', 'qa_error-fill')
+                   .attr('width', '20px')
+                   .attr('height', '20px')
+                   .attr('x', '-8px')
+                   .attr('y', '-22px')
+                   .attr('xlink:href', '#iD-icon-bolt');
+
+               // update
+               markers
+                   .merge(markersEnter)
+                   .sort(sortY)
+                   .classed('selected', function(d) { return d.id === selectedID; })
+                   .attr('transform', getTransform);
+
+
+               // Draw targets..
+               if (touchLayer.empty()) return;
+               var fillClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+
+               var targets = touchLayer.selectAll('.qa_error.keepRight')
+                   .data(data, function(d) { return d.id; });
+
+               // exit
+               targets.exit()
+                   .remove();
+
+               // enter/update
+               targets.enter()
+                   .append('rect')
+                   .attr('width', '20px')
+                   .attr('height', '20px')
+                   .attr('x', '-8px')
+                   .attr('y', '-22px')
+                   .merge(targets)
+                   .sort(sortY)
+                   .attr('class', function(d) {
+                       return 'qa_error ' + d.service + ' target error_id-' + d.id + ' ' + fillClass;
+                   })
+                   .attr('transform', getTransform);
+
+
+               function sortY(a, b) {
+                   return (a.id === selectedID) ? 1
+                       : (b.id === selectedID) ? -1
+                       : (a.severity === 'error' && b.severity !== 'error') ? 1
+                       : (b.severity === 'error' && a.severity !== 'error') ? -1
+                       : b.loc[1] - a.loc[1];
+               }
+           }
+
+
+           // Draw the keepRight layer and schedule loading errors and updating markers.
+           function drawKeepRight(selection) {
+               var service = getService();
+
+               var surface = context.surface();
+               if (surface && !surface.empty()) {
+                   touchLayer = surface.selectAll('.data-layer.touch .layer-touch.markers');
+               }
+
+               drawLayer = selection.selectAll('.layer-keepRight')
+                   .data(service ? [0] : []);
+
+               drawLayer.exit()
+                   .remove();
+
+               drawLayer = drawLayer.enter()
+                   .append('g')
+                   .attr('class', 'layer-keepRight')
+                   .style('display', _keepRightEnabled ? 'block' : 'none')
+                   .merge(drawLayer);
+
+               if (_keepRightEnabled) {
+                   if (service && ~~context.map().zoom() >= minZoom) {
+                       editOn();
+                       service.loadErrors(projection);
+                       updateMarkers();
+                   } else {
+                       editOff();
+                   }
+               }
+           }
+
+
+           // Toggles the layer on and off
+           drawKeepRight.enabled = function(val) {
+               if (!arguments.length) return _keepRightEnabled;
+
+               _keepRightEnabled = val;
+               if (_keepRightEnabled) {
+                   layerOn();
+               } else {
+                   layerOff();
+                   if (context.selectedErrorID()) {
+                       context.enter(modeBrowse(context));
+                   }
+               }
+
+               dispatch.call('change');
+               return this;
+           };
+
+
+           drawKeepRight.supported = function() {
+               return !!getService();
+           };
+
+
+           return drawKeepRight;
+       }
+
+       function svgGeolocate(projection) {
+           var layer = d3_select(null);
+           var _position;
+
+
+           function init() {
+               if (svgGeolocate.initialized) return;  // run once
+               svgGeolocate.enabled = false;
+               svgGeolocate.initialized = true;
+           }
+
+           function showLayer() {
+               layer.style('display', 'block');
+           }
+
+
+           function hideLayer() {
+               layer
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 0);
+           }
+
+           function layerOn() {
+               layer
+                   .style('opacity', 0)
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 1);
+
+           }
+
+           function layerOff() {
+               layer.style('display', 'none');
+           }
+
+           function transform(d) {
+               return svgPointTransform(projection)(d);
+           }
+
+           function accuracy(accuracy, loc) { // converts accuracy to pixels...
+               var degreesRadius = geoMetersToLat(accuracy),
+                   tangentLoc = [loc[0], loc[1] + degreesRadius],
+                   projectedTangent = projection(tangentLoc),
+                   projectedLoc = projection([loc[0], loc[1]]);
+
+               // southern most point will have higher pixel value...
+              return Math.round(projectedLoc[1] - projectedTangent[1]).toString();
+           }
+
+           function update() {
+               var geolocation = { loc: [_position.coords.longitude, _position.coords.latitude] };
+
+               var groups = layer.selectAll('.geolocations').selectAll('.geolocation')
+                   .data([geolocation]);
+
+               groups.exit()
+                   .remove();
+
+               var pointsEnter = groups.enter()
+                   .append('g')
+                   .attr('class', 'geolocation');
+
+               pointsEnter
+                   .append('circle')
+                   .attr('id', 'geolocate-radius')
+                   .attr('dx', '0')
+                   .attr('dy', '0')
+                   .attr('fill', 'rgb(15,128,225)')
+                   .attr('fill-opacity', '0.3')
+                   .attr('r', '0');
+
+               pointsEnter
+                   .append('circle')
+                   .attr('dx', '0')
+                   .attr('dy', '0')
+                   .attr('fill', 'rgb(15,128,225)')
+                   .attr('stroke', 'white')
+                   .attr('stroke-width', '1.5')
+                   .attr('r', '6');
+
+               groups.merge(pointsEnter)
+                   .attr('transform', transform);
+
+               d3_select('#geolocate-radius').attr('r', accuracy(_position.coords.accuracy, geolocation.loc));
+           }
+
+           function drawLocation(selection) {
+               var enabled = svgGeolocate.enabled;
+
+               layer = selection.selectAll('.layer-geolocate')
+                   .data([0]);
+
+               layer.exit()
+                   .remove();
+
+               var layerEnter = layer.enter()
+                   .append('g')
+                   .attr('class', 'layer-geolocate')
+                   .style('display', enabled ? 'block' : 'none');
+
+               layerEnter
+                   .append('g')
+                   .attr('class', 'geolocations');
+
+               layer = layerEnter
+                   .merge(layer);
+
+               if (enabled) {
+                   update();
+               } else {
+                   layerOff();
+               }
+           }
+
+           drawLocation.enabled = function (position, enabled) {
+               if (!arguments.length) return svgGeolocate.enabled;
+               _position = position;
+               svgGeolocate.enabled = enabled;
+               if (svgGeolocate.enabled) {
+                   showLayer();
+                   layerOn();
+               } else {
+                   hideLayer();
+               }
+               return this;
+           };
+
+           init();
+           return drawLocation;
+       }
+
+       function svgLabels(projection, context) {
+           var path = d3_geoPath(projection);
+           var detected = utilDetect();
+           var baselineHack = (detected.ie || detected.browser.toLowerCase() === 'edge');
+           var _rdrawn = rbush_1();
+           var _rskipped = rbush_1();
+           var _textWidthCache = {};
+           var _entitybboxes = {};
+
+           // Listed from highest to lowest priority
+           var labelStack = [
+               ['line', 'aeroway', '*', 12],
+               ['line', 'highway', 'motorway', 12],
+               ['line', 'highway', 'trunk', 12],
+               ['line', 'highway', 'primary', 12],
+               ['line', 'highway', 'secondary', 12],
+               ['line', 'highway', 'tertiary', 12],
+               ['line', 'highway', '*', 12],
+               ['line', 'railway', '*', 12],
+               ['line', 'waterway', '*', 12],
+               ['area', 'aeroway', '*', 12],
+               ['area', 'amenity', '*', 12],
+               ['area', 'building', '*', 12],
+               ['area', 'historic', '*', 12],
+               ['area', 'leisure', '*', 12],
+               ['area', 'man_made', '*', 12],
+               ['area', 'natural', '*', 12],
+               ['area', 'shop', '*', 12],
+               ['area', 'tourism', '*', 12],
+               ['area', 'camp_site', '*', 12],
+               ['point', 'aeroway', '*', 10],
+               ['point', 'amenity', '*', 10],
+               ['point', 'building', '*', 10],
+               ['point', 'historic', '*', 10],
+               ['point', 'leisure', '*', 10],
+               ['point', 'man_made', '*', 10],
+               ['point', 'natural', '*', 10],
+               ['point', 'shop', '*', 10],
+               ['point', 'tourism', '*', 10],
+               ['point', 'camp_site', '*', 10],
+               ['line', 'name', '*', 12],
+               ['area', 'name', '*', 12],
+               ['point', 'name', '*', 10]
+           ];
+
+
+           function blacklisted(preset) {
+               var noIcons = ['building', 'landuse', 'natural'];
+               return noIcons.some(function(s) {
+                   return preset.id.indexOf(s) >= 0;
+               });
+           }
+
+
+           function get(array, prop) {
+               return function(d, i) { return array[i][prop]; };
+           }
+
+
+           function textWidth(text, size, elem) {
+               var c = _textWidthCache[size];
+               if (!c) c = _textWidthCache[size] = {};
+
+               if (c[text]) {
+                   return c[text];
+
+               } else if (elem) {
+                   c[text] = elem.getComputedTextLength();
+                   return c[text];
+
+               } else {
+                   var str = encodeURIComponent(text).match(/%[CDEFcdef]/g);
+                   if (str === null) {
+                       return size / 3 * 2 * text.length;
+                   } else {
+                       return size / 3 * (2 * text.length + str.length);
+                   }
+               }
+           }
+
+
+           function drawLinePaths(selection, entities, filter, classes, labels) {
+               var paths = selection.selectAll('path')
+                   .filter(filter)
+                   .data(entities, osmEntity.key);
+
+               // exit
+               paths.exit()
+                   .remove();
+
+               // enter/update
+               paths.enter()
+                   .append('path')
+                   .style('stroke-width', get(labels, 'font-size'))
+                   .attr('id', function(d) { return 'labelpath-' + d.id; })
+                   .attr('class', classes)
+                   .merge(paths)
+                   .attr('d', get(labels, 'lineString'));
+           }
+
+
+           function drawLineLabels(selection, entities, filter, classes, labels) {
+               var texts = selection.selectAll('text.' + classes)
+                   .filter(filter)
+                   .data(entities, osmEntity.key);
+
+               // exit
+               texts.exit()
+                   .remove();
+
+               // enter
+               texts.enter()
+                   .append('text')
+                   .attr('class', function(d, i) { return classes + ' ' + labels[i].classes + ' ' + d.id; })
+                   .attr('dy', baselineHack ? '0.35em' : null)
+                   .append('textPath')
+                   .attr('class', 'textpath');
+
+               // update
+               selection.selectAll('text.' + classes).selectAll('.textpath')
+                   .filter(filter)
+                   .data(entities, osmEntity.key)
+                   .attr('startOffset', '50%')
+                   .attr('xlink:href', function(d) { return '#labelpath-' + d.id; })
+                   .text(utilDisplayNameForPath);
+           }
+
+
+           function drawPointLabels(selection, entities, filter, classes, labels) {
+               var texts = selection.selectAll('text.' + classes)
+                   .filter(filter)
+                   .data(entities, osmEntity.key);
+
+               // exit
+               texts.exit()
+                   .remove();
+
+               // enter/update
+               texts.enter()
+                   .append('text')
+                   .attr('class', function(d, i) {
+                       return classes + ' ' + labels[i].classes + ' ' + d.id;
+                   })
+                   .merge(texts)
+                   .attr('x', get(labels, 'x'))
+                   .attr('y', get(labels, 'y'))
+                   .style('text-anchor', get(labels, 'textAnchor'))
+                   .text(utilDisplayName)
+                   .each(function(d, i) {
+                       textWidth(utilDisplayName(d), labels[i].height, this);
+                   });
+           }
+
+
+           function drawAreaLabels(selection, entities, filter, classes, labels) {
+               entities = entities.filter(hasText);
+               labels = labels.filter(hasText);
+               drawPointLabels(selection, entities, filter, classes, labels);
+
+               function hasText(d, i) {
+                   return labels[i].hasOwnProperty('x') && labels[i].hasOwnProperty('y');
+               }
+           }
+
+
+           function drawAreaIcons(selection, entities, filter, classes, labels) {
+               var icons = selection.selectAll('use.' + classes)
+                   .filter(filter)
+                   .data(entities, osmEntity.key);
+
+               // exit
+               icons.exit()
+                   .remove();
+
+               // enter/update
+               icons.enter()
+                   .append('use')
+                   .attr('class', 'icon ' + classes)
+                   .attr('width', '17px')
+                   .attr('height', '17px')
+                   .merge(icons)
+                   .attr('transform', get(labels, 'transform'))
+                   .attr('xlink:href', function(d) {
+                       var preset = context.presets().match(d, context.graph());
+                       var picon = preset && preset.icon;
+
+                       if (!picon) {
+                           return '';
+                       } else {
+                           var isMaki = /^maki-/.test(picon);
+                           return '#' + picon + (isMaki ? '-15' : '');
+                       }
+                   });
+           }
+
+
+           function drawCollisionBoxes(selection, rtree, which) {
+               var classes = 'debug ' + which + ' ' + (which === 'debug-skipped' ? 'orange' : 'yellow');
+
+               var gj = [];
+               if (context.getDebug('collision')) {
+                   gj = rtree.all().map(function(d) {
+                       return { type: 'Polygon', coordinates: [[
+                           [d.minX, d.minY],
+                           [d.maxX, d.minY],
+                           [d.maxX, d.maxY],
+                           [d.minX, d.maxY],
+                           [d.minX, d.minY]
+                       ]]};
+                   });
+               }
+
+               var boxes = selection.selectAll('.' + which)
+                   .data(gj);
+
+               // exit
+               boxes.exit()
+                   .remove();
+
+               // enter/update
+               boxes.enter()
+                   .append('path')
+                   .attr('class', classes)
+                   .merge(boxes)
+                   .attr('d', d3_geoPath());
+           }
+
+
+           function drawLabels(selection, graph, entities, filter, dimensions, fullRedraw) {
+               var wireframe = context.surface().classed('fill-wireframe');
+               var zoom = geoScaleToZoom(projection.scale());
+
+               var labelable = [];
+               var renderNodeAs = {};
+               var i, j, k, entity, geometry;
+
+               for (i = 0; i < labelStack.length; i++) {
+                   labelable.push([]);
+               }
+
+               if (fullRedraw) {
+                   _rdrawn.clear();
+                   _rskipped.clear();
+                   _entitybboxes = {};
+
+               } else {
+                   for (i = 0; i < entities.length; i++) {
+                       entity = entities[i];
+                       var toRemove = []
+                           .concat(_entitybboxes[entity.id] || [])
+                           .concat(_entitybboxes[entity.id + 'I'] || []);
+
+                       for (j = 0; j < toRemove.length; j++) {
+                           _rdrawn.remove(toRemove[j]);
+                           _rskipped.remove(toRemove[j]);
+                       }
+                   }
+               }
+
+               // Loop through all the entities to do some preprocessing
+               for (i = 0; i < entities.length; i++) {
+                   entity = entities[i];
+                   geometry = entity.geometry(graph);
+
+                   // Insert collision boxes around interesting points/vertices
+                   if (geometry === 'point' || (geometry === 'vertex' && isInterestingVertex(entity))) {
+                       var hasDirections = entity.directions(graph, projection).length;
+                       var markerPadding;
+
+                       if (!wireframe && geometry === 'point' && !(zoom >= 18 && hasDirections)) {
+                           renderNodeAs[entity.id] = 'point';
+                           markerPadding = 20;   // extra y for marker height
+                       } else {
+                           renderNodeAs[entity.id] = 'vertex';
+                           markerPadding = 0;
+                       }
+
+                       var coord = projection(entity.loc);
+                       var nodePadding = 10;
+                       var bbox = {
+                           minX: coord[0] - nodePadding,
+                           minY: coord[1] - nodePadding - markerPadding,
+                           maxX: coord[0] + nodePadding,
+                           maxY: coord[1] + nodePadding
+                       };
+
+                       doInsert(bbox, entity.id + 'P');
+                   }
+
+                   // From here on, treat vertices like points
+                   if (geometry === 'vertex') {
+                       geometry = 'point';
+                   }
+
+                   // Determine which entities are label-able
+                   var preset = geometry === 'area' && context.presets().match(entity, graph);
+                   var icon = preset && !blacklisted(preset) && preset.icon;
+
+                   if (!icon && !utilDisplayName(entity))
+                       continue;
+
+                   for (k = 0; k < labelStack.length; k++) {
+                       var matchGeom = labelStack[k][0];
+                       var matchKey = labelStack[k][1];
+                       var matchVal = labelStack[k][2];
+                       var hasVal = entity.tags[matchKey];
+
+                       if (geometry === matchGeom && hasVal && (matchVal === '*' || matchVal === hasVal)) {
+                           labelable[k].push(entity);
+                           break;
+                       }
+                   }
+               }
+
+               var positions = {
+                   point: [],
+                   line: [],
+                   area: []
+               };
+
+               var labelled = {
+                   point: [],
+                   line: [],
+                   area: []
+               };
+
+               // Try and find a valid label for labellable entities
+               for (k = 0; k < labelable.length; k++) {
+                   var fontSize = labelStack[k][3];
+
+                   for (i = 0; i < labelable[k].length; i++) {
+                       entity = labelable[k][i];
+                       geometry = entity.geometry(graph);
+
+                       var getName = (geometry === 'line') ? utilDisplayNameForPath : utilDisplayName;
+                       var name = getName(entity);
+                       var width = name && textWidth(name, fontSize);
+                       var p = null;
+
+                       if (geometry === 'point' || geometry === 'vertex') {
+                           // no point or vertex labels in wireframe mode
+                           // no vertex labels at low zooms (vertices have no icons)
+                           if (wireframe) continue;
+                           var renderAs = renderNodeAs[entity.id];
+                           if (renderAs === 'vertex' && zoom < 17) continue;
+
+                           p = getPointLabel(entity, width, fontSize, renderAs);
+
+                       } else if (geometry === 'line') {
+                           p = getLineLabel(entity, width, fontSize);
+
+                       } else if (geometry === 'area') {
+                           p = getAreaLabel(entity, width, fontSize);
+                       }
+
+                       if (p) {
+                           if (geometry === 'vertex') { geometry = 'point'; }  // treat vertex like point
+                           p.classes = geometry + ' tag-' + labelStack[k][1];
+                           positions[geometry].push(p);
+                           labelled[geometry].push(entity);
+                       }
+                   }
+               }
+
+
+               function isInterestingVertex(entity) {
+                   var selectedIDs = context.selectedIDs();
+
+                   return entity.hasInterestingTags() ||
+                       entity.isEndpoint(graph) ||
+                       entity.isConnected(graph) ||
+                       selectedIDs.indexOf(entity.id) !== -1 ||
+                       graph.parentWays(entity).some(function(parent) {
+                           return selectedIDs.indexOf(parent.id) !== -1;
+                       });
+               }
+
+
+               function getPointLabel(entity, width, height, geometry) {
+                   var y = (geometry === 'point' ? -12 : 0);
+                   var pointOffsets = {
+                       ltr: [15, y, 'start'],
+                       rtl: [-15, y, 'end']
+                   };
+
+                   var coord = projection(entity.loc);
+                   var textPadding = 2;
+                   var offset = pointOffsets[textDirection];
+                   var p = {
+                       height: height,
+                       width: width,
+                       x: coord[0] + offset[0],
+                       y: coord[1] + offset[1],
+                       textAnchor: offset[2]
+                   };
+
+                   // insert a collision box for the text label..
+                   var bbox;
+                   if (textDirection === 'rtl') {
+                       bbox = {
+                           minX: p.x - width - textPadding,
+                           minY: p.y - (height / 2) - textPadding,
+                           maxX: p.x + textPadding,
+                           maxY: p.y + (height / 2) + textPadding
+                       };
+                   } else {
+                       bbox = {
+                           minX: p.x - textPadding,
+                           minY: p.y - (height / 2) - textPadding,
+                           maxX: p.x + width + textPadding,
+                           maxY: p.y + (height / 2) + textPadding
+                       };
+                   }
+
+                   if (tryInsert([bbox], entity.id, true)) {
+                       return p;
+                   }
+               }
+
+
+               function getLineLabel(entity, width, height) {
+                   var viewport = geoExtent(context.projection.clipExtent()).polygon();
+                   var points = graph.childNodes(entity)
+                       .map(function(node) { return projection(node.loc); });
+                   var length = geoPathLength(points);
+
+                   if (length < width + 20) return;
+
+                   // todo: properly clip points to viewport
+
+                   // % along the line to attempt to place the label
+                   var lineOffsets = [50, 45, 55, 40, 60, 35, 65, 30, 70,
+                                      25, 75, 20, 80, 15, 95, 10, 90, 5, 95];
+                   var padding = 3;
+
+                   for (var i = 0; i < lineOffsets.length; i++) {
+                       var offset = lineOffsets[i];
+                       var middle = offset / 100 * length;
+                       var start = middle - width / 2;
+
+                       if (start < 0 || start + width > length) continue;
+
+                       // generate subpath and ignore paths that are invalid or don't cross viewport.
+                       var sub = subpath(points, start, start + width);
+                       if (!sub || !geoPolygonIntersectsPolygon(viewport, sub, true)) {
+                           continue;
+                       }
+
+                       var isReverse = reverse(sub);
+                       if (isReverse) {
+                           sub = sub.reverse();
+                       }
+
+                       var bboxes = [];
+                       var boxsize = (height + 2) / 2;
+
+                       for (var j = 0; j < sub.length - 1; j++) {
+                           var a = sub[j];
+                           var b = sub[j + 1];
+
+                           // split up the text into small collision boxes
+                           var num = Math.max(1, Math.floor(geoVecLength(a, b) / boxsize / 2));
+
+                           for (var box = 0; box < num; box++) {
+                               var p = geoVecInterp(a, b, box / num);
+                               var x0 = p[0] - boxsize - padding;
+                               var y0 = p[1] - boxsize - padding;
+                               var x1 = p[0] + boxsize + padding;
+                               var y1 = p[1] + boxsize + padding;
+
+                               bboxes.push({
+                                   minX: Math.min(x0, x1),
+                                   minY: Math.min(y0, y1),
+                                   maxX: Math.max(x0, x1),
+                                   maxY: Math.max(y0, y1)
+                               });
+                           }
+                       }
+
+                       if (tryInsert(bboxes, entity.id, false)) {   // accept this one
+                           return {
+                               'font-size': height + 2,
+                               lineString: lineString(sub),
+                               startOffset: offset + '%'
+                           };
+                       }
+                   }
+
+                   function reverse(p) {
+                       var angle = Math.atan2(p[1][1] - p[0][1], p[1][0] - p[0][0]);
+                       return !(p[0][0] < p[p.length - 1][0] && angle < Math.PI/2 && angle > -Math.PI/2);
+                   }
+
+                   function lineString(points) {
+                       return 'M' + points.join('L');
+                   }
+
+                   function subpath(points, from, to) {
+                       var sofar = 0;
+                       var start, end, i0, i1;
+
+                       for (var i = 0; i < points.length - 1; i++) {
+                           var a = points[i];
+                           var b = points[i + 1];
+                           var current = geoVecLength(a, b);
+                           var portion;
+                           if (!start && sofar + current >= from) {
+                               portion = (from - sofar) / current;
+                               start = [
+                                   a[0] + portion * (b[0] - a[0]),
+                                   a[1] + portion * (b[1] - a[1])
+                               ];
+                               i0 = i + 1;
+                           }
+                           if (!end && sofar + current >= to) {
+                               portion = (to - sofar) / current;
+                               end = [
+                                   a[0] + portion * (b[0] - a[0]),
+                                   a[1] + portion * (b[1] - a[1])
+                               ];
+                               i1 = i + 1;
+                           }
+                           sofar += current;
+                       }
+
+                       var result = points.slice(i0, i1);
+                       result.unshift(start);
+                       result.push(end);
+                       return result;
+                   }
+               }
+
+
+               function getAreaLabel(entity, width, height) {
+                   var centroid = path.centroid(entity.asGeoJSON(graph, true));
+                   var extent = entity.extent(graph);
+                   var areaWidth = projection(extent[1])[0] - projection(extent[0])[0];
+
+                   if (isNaN(centroid[0]) || areaWidth < 20) return;
+
+                   var preset = context.presets().match(entity, context.graph());
+                   var picon = preset && preset.icon;
+                   var iconSize = 17;
+                   var padding = 2;
+                   var p = {};
+
+                   if (picon) {  // icon and label..
+                       if (addIcon()) {
+                           addLabel(iconSize + padding);
+                           return p;
+                       }
+                   } else {   // label only..
+                       if (addLabel(0)) {
+                           return p;
+                       }
+                   }
+
+
+                   function addIcon() {
+                       var iconX = centroid[0] - (iconSize / 2);
+                       var iconY = centroid[1] - (iconSize / 2);
+                       var bbox = {
+                           minX: iconX,
+                           minY: iconY,
+                           maxX: iconX + iconSize,
+                           maxY: iconY + iconSize
+                       };
+
+                       if (tryInsert([bbox], entity.id + 'I', true)) {
+                           p.transform = 'translate(' + iconX + ',' + iconY + ')';
+                           return true;
+                       }
+                       return false;
+                   }
+
+                   function addLabel(yOffset) {
+                       if (width && areaWidth >= width + 20) {
+                           var labelX = centroid[0];
+                           var labelY = centroid[1] + yOffset;
+                           var bbox = {
+                               minX: labelX - (width / 2) - padding,
+                               minY: labelY - (height / 2) - padding,
+                               maxX: labelX + (width / 2) + padding,
+                               maxY: labelY + (height / 2) + padding
+                           };
+
+                           if (tryInsert([bbox], entity.id, true)) {
+                               p.x = labelX;
+                               p.y = labelY;
+                               p.textAnchor = 'middle';
+                               p.height = height;
+                               return true;
+                           }
+                       }
+                       return false;
+                   }
+               }
+
+
+               // force insert a singular bounding box
+               // singular box only, no array, id better be unique
+               function doInsert(bbox, id) {
+                   bbox.id = id;
+
+                   var oldbox = _entitybboxes[id];
+                   if (oldbox) {
+                       _rdrawn.remove(oldbox);
+                   }
+                   _entitybboxes[id] = bbox;
+                   _rdrawn.insert(bbox);
+               }
+
+
+               function tryInsert(bboxes, id, saveSkipped) {
+                   var skipped = false;
+
+                   for (var i = 0; i < bboxes.length; i++) {
+                       var bbox = bboxes[i];
+                       bbox.id = id;
+
+                       // Check that label is visible
+                       if (bbox.minX < 0 || bbox.minY < 0 || bbox.maxX > dimensions[0] || bbox.maxY > dimensions[1]) {
+                           skipped = true;
+                           break;
+                       }
+                       if (_rdrawn.collides(bbox)) {
+                           skipped = true;
+                           break;
+                       }
+                   }
+
+                   _entitybboxes[id] = bboxes;
+
+                   if (skipped) {
+                       if (saveSkipped) {
+                           _rskipped.load(bboxes);
+                       }
+                   } else {
+                       _rdrawn.load(bboxes);
+                   }
+
+                   return !skipped;
+               }
+
+
+               var layer = selection.selectAll('.layer-osm.labels');
+               layer.selectAll('.labels-group')
+                   .data(['halo', 'label', 'debug'])
+                   .enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'labels-group ' + d; });
+
+               var halo = layer.selectAll('.labels-group.halo');
+               var label = layer.selectAll('.labels-group.label');
+               var debug = layer.selectAll('.labels-group.debug');
+
+               // points
+               drawPointLabels(label, labelled.point, filter, 'pointlabel', positions.point);
+               drawPointLabels(halo, labelled.point, filter, 'pointlabel-halo', positions.point);
+
+               // lines
+               drawLinePaths(layer, labelled.line, filter, '', positions.line);
+               drawLineLabels(label, labelled.line, filter, 'linelabel', positions.line);
+               drawLineLabels(halo, labelled.line, filter, 'linelabel-halo', positions.line);
+
+               // areas
+               drawAreaLabels(label, labelled.area, filter, 'arealabel', positions.area);
+               drawAreaLabels(halo, labelled.area, filter, 'arealabel-halo', positions.area);
+               drawAreaIcons(label, labelled.area, filter, 'areaicon', positions.area);
+               drawAreaIcons(halo, labelled.area, filter, 'areaicon-halo', positions.area);
+
+               // debug
+               drawCollisionBoxes(debug, _rskipped, 'debug-skipped');
+               drawCollisionBoxes(debug, _rdrawn, 'debug-drawn');
+
+               layer.call(filterLabels);
+           }
+
+
+           function filterLabels(selection) {
+               var drawLayer = selection.selectAll('.layer-osm.labels');
+               var layers = drawLayer.selectAll('.labels-group.halo, .labels-group.label');
+
+               layers.selectAll('.nolabel')
+                   .classed('nolabel', false);
+
+               var mouse = context.mouse();
+               var graph = context.graph();
+               var selectedIDs = context.selectedIDs();
+               var ids = [];
+               var pad, bbox;
+
+               // hide labels near the mouse
+               if (mouse) {
+                   pad = 20;
+                   bbox = { minX: mouse[0] - pad, minY: mouse[1] - pad, maxX: mouse[0] + pad, maxY: mouse[1] + pad };
+                   var nearMouse = _rdrawn.search(bbox).map(function(entity) { return entity.id; });
+                   ids.push.apply(ids, nearMouse);
+               }
+
+               // hide labels on selected nodes (they look weird when dragging / haloed)
+               for (var i = 0; i < selectedIDs.length; i++) {
+                   var entity = graph.hasEntity(selectedIDs[i]);
+                   if (entity && entity.type === 'node') {
+                       ids.push(selectedIDs[i]);
+                   }
+               }
+
+               layers.selectAll(utilEntitySelector(ids))
+                   .classed('nolabel', true);
+
+
+               // draw the mouse bbox if debugging is on..
+               var debug = selection.selectAll('.labels-group.debug');
+               var gj = [];
+               if (context.getDebug('collision')) {
+                   gj = bbox ? [{
+                       type: 'Polygon',
+                       coordinates: [[
+                           [bbox.minX, bbox.minY],
+                           [bbox.maxX, bbox.minY],
+                           [bbox.maxX, bbox.maxY],
+                           [bbox.minX, bbox.maxY],
+                           [bbox.minX, bbox.minY]
+                       ]]
+                   }] : [];
+               }
+
+               var box = debug.selectAll('.debug-mouse')
+                   .data(gj);
+
+               // exit
+               box.exit()
+                   .remove();
+
+               // enter/update
+               box.enter()
+                   .append('path')
+                   .attr('class', 'debug debug-mouse yellow')
+                   .merge(box)
+                   .attr('d', d3_geoPath());
+           }
+
+
+           var throttleFilterLabels = throttle(filterLabels, 100);
+
+
+           drawLabels.observe = function(selection) {
+               var listener = function() { throttleFilterLabels(selection); };
+               selection.on('mousemove.hidelabels', listener);
+               context.on('enter.hidelabels', listener);
+           };
+
+
+           drawLabels.off = function(selection) {
+               throttleFilterLabels.cancel();
+               selection.on('mousemove.hidelabels', null);
+               context.on('enter.hidelabels', null);
+           };
+
+
+           return drawLabels;
+       }
+
+       var _improveOsmEnabled = false;
+       var _errorService;
+
+
+       function svgImproveOSM(projection, context, dispatch) {
+           var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000);
+           var minZoom = 12;
+           var touchLayer = d3_select(null);
+           var drawLayer = d3_select(null);
+           var _improveOsmVisible = false;
+
+           function markerPath(selection, klass) {
+               selection
+                   .attr('class', klass)
+                   .attr('transform', 'translate(-10, -28)')
+                   .attr('points', '16,3 4,3 1,6 1,17 4,20 7,20 10,27 13,20 16,20 19,17.033 19,6');
+           }
+
+
+           // Loosely-coupled improveOSM service for fetching errors.
+           function getService() {
+               if (services$1.improveOSM && !_errorService) {
+                   _errorService = services$1.improveOSM;
+                   _errorService.on('loaded', throttledRedraw);
+               } else if (!services$1.improveOSM && _errorService) {
+                   _errorService = null;
+               }
+
+               return _errorService;
+           }
+
+
+           // Show the errors
+           function editOn() {
+               if (!_improveOsmVisible) {
+                   _improveOsmVisible = true;
+                   drawLayer
+                       .style('display', 'block');
+               }
+           }
+
+
+           // Immediately remove the errors and their touch targets
+           function editOff() {
+               if (_improveOsmVisible) {
+                   _improveOsmVisible = false;
+                   drawLayer
+                       .style('display', 'none');
+                   drawLayer.selectAll('.qa_error.improveOSM')
+                       .remove();
+                   touchLayer.selectAll('.qa_error.improveOSM')
+                       .remove();
+               }
+           }
+
+
+           // Enable the layer.  This shows the errors and transitions them to visible.
+           function layerOn() {
+               editOn();
+
+               drawLayer
+                   .style('opacity', 0)
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 1)
+                   .on('end interrupt', function () {
+                       dispatch.call('change');
+                   });
+           }
+
+
+           // Disable the layer.  This transitions the layer invisible and then hides the errors.
+           function layerOff() {
+               throttledRedraw.cancel();
+               drawLayer.interrupt();
+               touchLayer.selectAll('.qa_error.improveOSM')
+                   .remove();
+
+               drawLayer
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 0)
+                   .on('end interrupt', function () {
+                       editOff();
+                       dispatch.call('change');
+                   });
+           }
+
+
+           // Update the error markers
+           function updateMarkers() {
+               if (!_improveOsmVisible || !_improveOsmEnabled) return;
+
+               var service = getService();
+               var selectedID = context.selectedErrorID();
+               var data = (service ? service.getErrors(projection) : []);
+               var getTransform = svgPointTransform(projection);
+
+               // Draw markers..
+               var markers = drawLayer.selectAll('.qa_error.improveOSM')
+                   .data(data, function(d) { return d.id; });
+
+               // exit
+               markers.exit()
+                   .remove();
+
+               // enter
+               var markersEnter = markers.enter()
+                   .append('g')
+                   .attr('class', function(d) {
+                       return [
+                           'qa_error',
+                           d.service,
+                           'error_id-' + d.id,
+                           'error_type-' + d.error_type,
+                           'category-' + d.category
+                       ].join(' ');
+                   });
+
+               markersEnter
+                   .append('polygon')
+                   .call(markerPath, 'shadow');
+
+               markersEnter
+                   .append('ellipse')
+                   .attr('cx', 0)
+                   .attr('cy', 0)
+                   .attr('rx', 4.5)
+                   .attr('ry', 2)
+                   .attr('class', 'stroke');
+
+               markersEnter
+                   .append('polygon')
+                   .attr('fill', 'currentColor')
+                   .call(markerPath, 'qa_error-fill');
+
+               markersEnter
+                   .append('use')
+                   .attr('transform', 'translate(-5.5, -21)')
+                   .attr('class', 'icon-annotation')
+                   .attr('width', '11px')
+                   .attr('height', '11px')
+                   .attr('xlink:href', function(d) {
+                       var picon = d.icon;
+
+                       if (!picon) {
+                           return '';
+                       } else {
+                           var isMaki = /^maki-/.test(picon);
+                           return '#' + picon + (isMaki ? '-11' : '');
+                       }
+                   });
+
+               // update
+               markers
+                   .merge(markersEnter)
+                   .sort(sortY)
+                   .classed('selected', function(d) { return d.id === selectedID; })
+                   .attr('transform', getTransform);
+
+
+               // Draw targets..
+               if (touchLayer.empty()) return;
+               var fillClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+
+               var targets = touchLayer.selectAll('.qa_error.improveOSM')
+                   .data(data, function(d) { return d.id; });
+
+               // exit
+               targets.exit()
+                   .remove();
+
+               // enter/update
+               targets.enter()
+                   .append('rect')
+                   .attr('width', '20px')
+                   .attr('height', '30px')
+                   .attr('x', '-10px')
+                   .attr('y', '-28px')
+                   .merge(targets)
+                   .sort(sortY)
+                   .attr('class', function(d) {
+                       return 'qa_error ' + d.service + ' target error_id-' + d.id + ' ' + fillClass;
+                   })
+                   .attr('transform', getTransform);
+
+
+               function sortY(a, b) {
+                   return (a.id === selectedID) ? 1
+                       : (b.id === selectedID) ? -1
+                       : b.loc[1] - a.loc[1];
+               }
+           }
+
+
+           // Draw the ImproveOSM layer and schedule loading errors and updating markers.
+           function drawImproveOSM(selection) {
+               var service = getService();
+
+               var surface = context.surface();
+               if (surface && !surface.empty()) {
+                   touchLayer = surface.selectAll('.data-layer.touch .layer-touch.markers');
+               }
+
+               drawLayer = selection.selectAll('.layer-improveOSM')
+                   .data(service ? [0] : []);
+
+               drawLayer.exit()
+                   .remove();
+
+               drawLayer = drawLayer.enter()
+                   .append('g')
+                   .attr('class', 'layer-improveOSM')
+                   .style('display', _improveOsmEnabled ? 'block' : 'none')
+                   .merge(drawLayer);
+
+               if (_improveOsmEnabled) {
+                   if (service && ~~context.map().zoom() >= minZoom) {
+                       editOn();
+                       service.loadErrors(projection);
+                       updateMarkers();
+                   } else {
+                       editOff();
+                   }
+               }
+           }
+
+
+           // Toggles the layer on and off
+           drawImproveOSM.enabled = function(val) {
+               if (!arguments.length) return _improveOsmEnabled;
+
+               _improveOsmEnabled = val;
+               if (_improveOsmEnabled) {
+                   layerOn();
+               } else {
+                   layerOff();
+                   if (context.selectedErrorID()) {
+                       context.enter(modeBrowse(context));
+                   }
+               }
+
+               dispatch.call('change');
+               return this;
+           };
+
+
+           drawImproveOSM.supported = function() {
+               return !!getService();
+           };
+
+
+           return drawImproveOSM;
+       }
+
+       function svgStreetside(projection, context, dispatch) {
+           var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000);
+           var minZoom = 14;
+           var minMarkerZoom = 16;
+           var minViewfieldZoom = 18;
+           var layer = d3_select(null);
+           var _viewerYaw = 0;
+           var _selectedSequence = null;
+           var _streetside;
+
+           /**
+            * init().
+            */
+           function init() {
+               if (svgStreetside.initialized) return;  // run once
+               svgStreetside.enabled = false;
+               svgStreetside.initialized = true;
+           }
+
+           /**
+            * getService().
+            */
+           function getService() {
+               if (services$1.streetside && !_streetside) {
+                   _streetside = services$1.streetside;
+                   _streetside.event
+                       .on('viewerChanged', viewerChanged)
+                       .on('loadedBubbles', throttledRedraw);
+               } else if (!services$1.streetside && _streetside) {
+                   _streetside = null;
+               }
+
+               return _streetside;
+           }
+
+           /**
+            * showLayer().
+            */
+           function showLayer() {
+               var service = getService();
+               if (!service) return;
+
+               editOn();
+
+               layer
+                   .style('opacity', 0)
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 1)
+                   .on('end', function () { dispatch.call('change'); });
+           }
+
+           /**
+            * hideLayer().
+            */
+           function hideLayer() {
+               throttledRedraw.cancel();
+
+               layer
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 0)
+                   .on('end', editOff);
+           }
+
+           /**
+            * editOn().
+            */
+           function editOn() {
+               layer.style('display', 'block');
+           }
+
+           /**
+            * editOff().
+            */
+           function editOff() {
+               layer.selectAll('.viewfield-group').remove();
+               layer.style('display', 'none');
+           }
+
+           /**
+            * click() Handles 'bubble' point click event.
+            */
+           function click(d) {
+               var service = getService();
+               if (!service) return;
+
+               // try to preserve the viewer rotation when staying on the same sequence
+               if (d.sequenceKey !== _selectedSequence) {
+                   _viewerYaw = 0;  // reset
+               }
+               _selectedSequence = d.sequenceKey;
+
+               service
+                   .selectImage(d)
+                   .then(function(r) {
+                       if (r.status === 'ok'){
+                           service.showViewer(_viewerYaw);
+                       }
+                   });
+
+
+               context.map().centerEase(d.loc);
+           }
+
+           /**
+            * mouseover().
+            */
+           function mouseover(d) {
+               var service = getService();
+               if (service) service.setStyles(d);
+           }
+
+           /**
+            * mouseout().
+            */
+           function mouseout() {
+               var service = getService();
+               if (service) service.setStyles(null);
+           }
+
+           /**
+            * transform().
+            */
+           function transform(d) {
+               var t = svgPointTransform(projection)(d);
+               var rot = d.ca + _viewerYaw;
+               if (rot) {
+                   t += ' rotate(' + Math.floor(rot) + ',0,0)';
+               }
+               return t;
+           }
+
+
+           function viewerChanged() {
+               var service = getService();
+               if (!service) return;
+
+               var viewer = service.viewer();
+               if (!viewer) return;
+
+               // update viewfield rotation
+               _viewerYaw = viewer.getYaw();
+
+               // avoid updating if the map is currently transformed
+               // e.g. during drags or easing.
+               if (context.map().isTransformed()) return;
+
+               layer.selectAll('.viewfield-group.currentView')
+                   .attr('transform', transform);
+           }
+
+
+           context.photos().on('change.streetside', update);
+
+           /**
+            * update().
+            */
+           function update() {
+               var viewer = d3_select('#photoviewer');
+               var selected = viewer.empty() ? undefined : viewer.datum();
+               var z = ~~context.map().zoom();
+               var showMarkers = (z >= minMarkerZoom);
+               var showViewfields = (z >= minViewfieldZoom);
+               var service = getService();
+
+               var sequences = [];
+               var bubbles = [];
+
+               if (context.photos().showsPanoramic()) {
+                   sequences = (service ? service.sequences(projection) : []);
+                   bubbles = (service && showMarkers ? service.bubbles(projection) : []);
+               }
+
+               var traces = layer.selectAll('.sequences').selectAll('.sequence')
+                   .data(sequences, function(d) { return d.properties.key; });
+
+               // exit
+               traces.exit()
+                   .remove();
+
+               // enter/update
+               traces = traces.enter()
+                   .append('path')
+                   .attr('class', 'sequence')
+                   .merge(traces)
+                   .attr('d', svgPath(projection).geojson);
+
+
+               var groups = layer.selectAll('.markers').selectAll('.viewfield-group')
+                   .data(bubbles, function(d) {
+                       // force reenter once bubbles are attached to a sequence
+                       return d.key + (d.sequenceKey ? 'v1' : 'v0');
+                   });
+
+               // exit
+               groups.exit()
+                   .remove();
+
+               // enter
+               var groupsEnter = groups.enter()
+                   .append('g')
+                   .attr('class', 'viewfield-group')
+                   .on('mouseenter', mouseover)
+                   .on('mouseleave', mouseout)
+                   .on('click', click);
+
+               groupsEnter
+                   .append('g')
+                   .attr('class', 'viewfield-scale');
+
+               // update
+               var markers = groups
+                   .merge(groupsEnter)
+                   .sort(function(a, b) {
+                       return (a === selected) ? 1
+                           : (b === selected) ? -1
+                           : b.loc[1] - a.loc[1];
+                   })
+                   .attr('transform', transform)
+                   .select('.viewfield-scale');
+
+
+               markers.selectAll('circle')
+                   .data([0])
+                   .enter()
+                   .append('circle')
+                   .attr('dx', '0')
+                   .attr('dy', '0')
+                   .attr('r', '6');
+
+               var viewfields = markers.selectAll('.viewfield')
+                   .data(showViewfields ? [0] : []);
+
+               viewfields.exit()
+                   .remove();
+
+               // viewfields may or may not be drawn...
+               // but if they are, draw below the circles
+               viewfields.enter()
+                   .insert('path', 'circle')
+                   .attr('class', 'viewfield')
+                   .attr('transform', 'scale(1.5,1.5),translate(-8, -13)')
+                   .attr('d', viewfieldPath);
+
+               function viewfieldPath() {
+                   var d = this.parentNode.__data__;
+                   if (d.pano) {
+                       return 'M 8,13 m -10,0 a 10,10 0 1,0 20,0 a 10,10 0 1,0 -20,0';
+                   } else {
+                       return 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z';
+                   }
+               }
+
+           }
+
+           /**
+            * drawImages()
+            * drawImages is the method that is returned (and that runs) everytime 'svgStreetside()' is called.
+            * 'svgStreetside()' is called from index.js
+            */
+           function drawImages(selection) {
+               var enabled = svgStreetside.enabled;
+               var service = getService();
+
+               layer = selection.selectAll('.layer-streetside-images')
+                   .data(service ? [0] : []);
+
+               layer.exit()
+                   .remove();
+
+               var layerEnter = layer.enter()
+                   .append('g')
+                   .attr('class', 'layer-streetside-images')
+                   .style('display', enabled ? 'block' : 'none');
+
+               layerEnter
+                   .append('g')
+                   .attr('class', 'sequences');
+
+               layerEnter
+                   .append('g')
+                   .attr('class', 'markers');
+
+               layer = layerEnter
+                   .merge(layer);
+
+               if (enabled) {
+                   if (service && ~~context.map().zoom() >= minZoom) {
+                       editOn();
+                       update();
+                       service.loadBubbles(projection);
+                   } else {
+                       editOff();
+                   }
+               }
+           }
+
+
+           /**
+            * drawImages.enabled().
+            */
+           drawImages.enabled = function(_) {
+               if (!arguments.length) return svgStreetside.enabled;
+               svgStreetside.enabled = _;
+               if (svgStreetside.enabled) {
+                   showLayer();
+               } else {
+                   hideLayer();
+               }
+               dispatch.call('change');
+               return this;
+           };
+
+           /**
+            * drawImages.supported().
+            */
+           drawImages.supported = function() {
+               return !!getService();
+           };
+
+           init();
+
+           return drawImages;
+       }
+
+       function svgMapillaryImages(projection, context, dispatch) {
+           var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000);
+           var minZoom = 12;
+           var minMarkerZoom = 16;
+           var minViewfieldZoom = 18;
+           var layer = d3_select(null);
+           var _mapillary;
+           var viewerCompassAngle;
+
+
+           function init() {
+               if (svgMapillaryImages.initialized) return;  // run once
+               svgMapillaryImages.enabled = false;
+               svgMapillaryImages.initialized = true;
+           }
+
+
+           function getService() {
+               if (services$1.mapillary && !_mapillary) {
+                   _mapillary = services$1.mapillary;
+                   _mapillary.event.on('loadedImages', throttledRedraw);
+                   _mapillary.event.on('bearingChanged', function(e) {
+                       viewerCompassAngle = e;
+
+                       // avoid updating if the map is currently transformed
+                       // e.g. during drags or easing.
+                       if (context.map().isTransformed()) return;
+
+                       layer.selectAll('.viewfield-group.currentView')
+                           .filter(function(d) {
+                               return d.pano;
+                           })
+                           .attr('transform', transform);
+                   });
+               } else if (!services$1.mapillary && _mapillary) {
+                   _mapillary = null;
+               }
+
+               return _mapillary;
+           }
+
+
+           function showLayer() {
+               var service = getService();
+               if (!service) return;
+
+               editOn();
+
+               layer
+                   .style('opacity', 0)
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 1)
+                   .on('end', function () { dispatch.call('change'); });
+           }
+
+
+           function hideLayer() {
+               throttledRedraw.cancel();
+
+               layer
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 0)
+                   .on('end', editOff);
+           }
+
+
+           function editOn() {
+               layer.style('display', 'block');
+           }
+
+
+           function editOff() {
+               layer.selectAll('.viewfield-group').remove();
+               layer.style('display', 'none');
+           }
+
+
+           function click(d) {
+               var service = getService();
+               if (!service) return;
+
+               service
+                   .selectImage(d)
+                   .updateViewer(d.key, context)
+                   .showViewer();
+
+               context.map().centerEase(d.loc);
+           }
+
+
+           function mouseover(d) {
+               var service = getService();
+               if (service) service.setStyles(d);
+           }
+
+
+           function mouseout() {
+               var service = getService();
+               if (service) service.setStyles(null);
+           }
+
+
+           function transform(d) {
+               var t = svgPointTransform(projection)(d);
+               if (d.pano && viewerCompassAngle !== null && isFinite(viewerCompassAngle)) {
+                   t += ' rotate(' + Math.floor(viewerCompassAngle) + ',0,0)';
+               } else if (d.ca) {
+                   t += ' rotate(' + Math.floor(d.ca) + ',0,0)';
+               }
+               return t;
+           }
+
+           context.photos().on('change.mapillary_images', update);
+
+           function filterImages(images) {
+               var showsPano = context.photos().showsPanoramic();
+               var showsFlat = context.photos().showsFlat();
+               if (!showsPano || !showsFlat) {
+                   images = images.filter(function(image) {
+                       if (image.pano) return showsPano;
+                       return showsFlat;
+                   });
+               }
+               return images;
+           }
+
+           function filterSequences(sequences, service) {
+               var showsPano = context.photos().showsPanoramic();
+               var showsFlat = context.photos().showsFlat();
+               if (!showsPano || !showsFlat) {
+                   sequences = sequences.filter(function(sequence) {
+                       if (sequence.properties.hasOwnProperty('pano')) {
+                           if (sequence.properties.pano) return showsPano;
+                           return showsFlat;
+                       } else {
+                           // if the sequence doesn't specify pano or not, search its images
+                           var cProps = sequence.properties.coordinateProperties;
+                           if (cProps && cProps.image_keys && cProps.image_keys.length > 0) {
+                               for (var index in cProps.image_keys) {
+                                   var imageKey = cProps.image_keys[index];
+                                   var image = service.cachedImage(imageKey);
+                                   if (image && image.hasOwnProperty('pano')) {
+                                       if (image.pano) return showsPano;
+                                       return showsFlat;
+                                   }
+                               }
+                           }
+                       }
+                   });
+               }
+               return sequences;
+           }
+
+           function update() {
+               var viewer = d3_select('#photoviewer');
+               var selected = viewer.empty() ? undefined : viewer.datum();
+
+               var z = ~~context.map().zoom();
+               var showMarkers = (z >= minMarkerZoom);
+               var showViewfields = (z >= minViewfieldZoom);
+
+               var service = getService();
+               var sequences = (service ? service.sequences(projection) : []);
+               var images = (service && showMarkers ? service.images(projection) : []);
+
+               images = filterImages(images);
+               sequences = filterSequences(sequences, service);
+
+               var traces = layer.selectAll('.sequences').selectAll('.sequence')
+                   .data(sequences, function(d) { return d.properties.key; });
+
+               // exit
+               traces.exit()
+                   .remove();
+
+               // enter/update
+               traces = traces.enter()
+                   .append('path')
+                   .attr('class', 'sequence')
+                   .merge(traces)
+                   .attr('d', svgPath(projection).geojson);
+
+
+               var groups = layer.selectAll('.markers').selectAll('.viewfield-group')
+                   .data(images, function(d) { return d.key; });
+
+               // exit
+               groups.exit()
+                   .remove();
+
+               // enter
+               var groupsEnter = groups.enter()
+                   .append('g')
+                   .attr('class', 'viewfield-group')
+                   .on('mouseenter', mouseover)
+                   .on('mouseleave', mouseout)
+                   .on('click', click);
+
+               groupsEnter
+                   .append('g')
+                   .attr('class', 'viewfield-scale');
+
+               // update
+               var markers = groups
+                   .merge(groupsEnter)
+                   .sort(function(a, b) {
+                       return (a === selected) ? 1
+                           : (b === selected) ? -1
+                           : b.loc[1] - a.loc[1];  // sort Y
+                   })
+                   .attr('transform', transform)
+                   .select('.viewfield-scale');
+
+
+               markers.selectAll('circle')
+                   .data([0])
+                   .enter()
+                   .append('circle')
+                   .attr('dx', '0')
+                   .attr('dy', '0')
+                   .attr('r', '6');
+
+               var viewfields = markers.selectAll('.viewfield')
+                   .data(showViewfields ? [0] : []);
+
+               viewfields.exit()
+                   .remove();
+
+               viewfields.enter()               // viewfields may or may not be drawn...
+                   .insert('path', 'circle')    // but if they are, draw below the circles
+                   .attr('class', 'viewfield')
+                   .classed('pano', function() { return this.parentNode.__data__.pano; })
+                   .attr('transform', 'scale(1.5,1.5),translate(-8, -13)')
+                   .attr('d', viewfieldPath);
+
+               function viewfieldPath() {
+                   var d = this.parentNode.__data__;
+                   if (d.pano) {
+                       return 'M 8,13 m -10,0 a 10,10 0 1,0 20,0 a 10,10 0 1,0 -20,0';
+                   } else {
+                       return 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z';
+                   }
+               }
+           }
+
+
+           function drawImages(selection) {
+               var enabled = svgMapillaryImages.enabled;
+               var service = getService();
+
+               layer = selection.selectAll('.layer-mapillary')
+                   .data(service ? [0] : []);
+
+               layer.exit()
+                   .remove();
+
+               var layerEnter = layer.enter()
+                   .append('g')
+                   .attr('class', 'layer-mapillary')
+                   .style('display', enabled ? 'block' : 'none');
+
+               layerEnter
+                   .append('g')
+                   .attr('class', 'sequences');
+
+               layerEnter
+                   .append('g')
+                   .attr('class', 'markers');
+
+               layer = layerEnter
+                   .merge(layer);
+
+               if (enabled) {
+                   if (service && ~~context.map().zoom() >= minZoom) {
+                       editOn();
+                       update();
+                       service.loadImages(projection);
+                   } else {
+                       editOff();
+                   }
+               }
+           }
+
+
+           drawImages.enabled = function(_) {
+               if (!arguments.length) return svgMapillaryImages.enabled;
+               svgMapillaryImages.enabled = _;
+               if (svgMapillaryImages.enabled) {
+                   showLayer();
+               } else {
+                   hideLayer();
+               }
+               dispatch.call('change');
+               return this;
+           };
+
+
+           drawImages.supported = function() {
+               return !!getService();
+           };
+
+
+           init();
+           return drawImages;
+       }
+
+       function svgMapillarySigns(projection, context, dispatch) {
+           var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000);
+           var minZoom = 12;
+           var layer = d3_select(null);
+           var _mapillary;
+
+
+           function init() {
+               if (svgMapillarySigns.initialized) return;  // run once
+               svgMapillarySigns.enabled = false;
+               svgMapillarySigns.initialized = true;
+           }
+
+
+           function getService() {
+               if (services$1.mapillary && !_mapillary) {
+                   _mapillary = services$1.mapillary;
+                   _mapillary.event.on('loadedSigns', throttledRedraw);
+               } else if (!services$1.mapillary && _mapillary) {
+                   _mapillary = null;
+               }
+               return _mapillary;
+           }
+
+
+           function showLayer() {
+               var service = getService();
+               if (!service) return;
+
+               editOn();
+           }
+
+
+           function hideLayer() {
+               throttledRedraw.cancel();
+               editOff();
+           }
+
+
+           function editOn() {
+               layer.style('display', 'block');
+           }
+
+
+           function editOff() {
+               layer.selectAll('.icon-sign').remove();
+               layer.style('display', 'none');
+           }
+
+
+           function click(d) {
+               var service = getService();
+               if (!service) return;
+
+               context.map().centerEase(d.loc);
+
+               var selected = service.getSelectedImage();
+               var selectedImageKey = selected && selected.key;
+               var imageKey;
+
+               // Pick one of the images the sign was detected in,
+               // preference given to an image already selected.
+               d.detections.forEach(function(detection) {
+                   if (!imageKey || selectedImageKey === detection.image_key) {
+                       imageKey = detection.image_key;
+                   }
+               });
+
+               service
+                   .selectImage(null, imageKey)
+                   .updateViewer(imageKey, context)
+                   .showViewer();
+           }
+
+
+           function update() {
+               var service = getService();
+               var data = (service ? service.signs(projection) : []);
+               var viewer = d3_select('#photoviewer');
+               var selected = viewer.empty() ? undefined : viewer.datum();
+               var selectedImageKey = selected && selected.key;
+               var transform = svgPointTransform(projection);
+
+               var signs = layer.selectAll('.icon-sign')
+                   .data(data, function(d) { return d.key; });
+
+               // exit
+               signs.exit()
+                   .remove();
+
+               // enter
+               var enter = signs.enter()
+                   .append('use')
+                   .attr('class', 'icon-sign')
+                   .attr('width', '24px')
+                   .attr('height', '24px')
+                   .attr('x', '-12px')
+                   .attr('y', '-12px')
+                   .attr('xlink:href', function(d) { return '#' + d.value; })
+                   .classed('currentView', function(d) {
+                       return d.detections.some(function(detection) {
+                           return detection.image_key === selectedImageKey;
+                       });
+                   })
+                   .on('click', click);
+
+               // update
+               signs
+                   .merge(enter)
+                   .sort(function(a, b) {
+                       return (a === selected) ? 1
+                           : (b === selected) ? -1
+                           : b.loc[1] - a.loc[1];  // sort Y
+                   })
+                   .attr('transform', transform);
+           }
+
+
+           function drawSigns(selection) {
+               var enabled = svgMapillarySigns.enabled;
+               var service = getService();
+
+               layer = selection.selectAll('.layer-mapillary-signs')
+                   .data(service ? [0] : []);
+
+               layer.exit()
+                   .remove();
+
+               layer = layer.enter()
+                   .append('g')
+                   .attr('class', 'layer-mapillary-signs')
+                   .style('display', enabled ? 'block' : 'none')
+                   .merge(layer);
+
+               if (enabled) {
+                   if (service && ~~context.map().zoom() >= minZoom) {
+                       editOn();
+                       update();
+                       service.loadSigns(projection);
+                   } else {
+                       editOff();
+                   }
+               }
+           }
+
+
+           drawSigns.enabled = function(_) {
+               if (!arguments.length) return svgMapillarySigns.enabled;
+               svgMapillarySigns.enabled = _;
+               if (svgMapillarySigns.enabled) {
+                   showLayer();
+               } else {
+                   hideLayer();
+               }
+               dispatch.call('change');
+               return this;
+           };
+
+
+           drawSigns.supported = function() {
+               return !!getService();
+           };
+
+
+           init();
+           return drawSigns;
+       }
+
+       function svgOpenstreetcamImages(projection, context, dispatch) {
+           var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000);
+           var minZoom = 12;
+           var minMarkerZoom = 16;
+           var minViewfieldZoom = 18;
+           var layer = d3_select(null);
+           var _openstreetcam;
+
+
+           function init() {
+               if (svgOpenstreetcamImages.initialized) return;  // run once
+               svgOpenstreetcamImages.enabled = false;
+               svgOpenstreetcamImages.initialized = true;
+           }
+
+
+           function getService() {
+               if (services$1.openstreetcam && !_openstreetcam) {
+                   _openstreetcam = services$1.openstreetcam;
+                   _openstreetcam.event.on('loadedImages', throttledRedraw);
+               } else if (!services$1.openstreetcam && _openstreetcam) {
+                   _openstreetcam = null;
+               }
+
+               return _openstreetcam;
+           }
+
+
+           function showLayer() {
+               var service = getService();
+               if (!service) return;
+
+               editOn();
+
+               layer
+                   .style('opacity', 0)
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 1)
+                   .on('end', function () { dispatch.call('change'); });
+           }
+
+
+           function hideLayer() {
+               throttledRedraw.cancel();
+
+               layer
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 0)
+                   .on('end', editOff);
+           }
+
+
+           function editOn() {
+               layer.style('display', 'block');
+           }
+
+
+           function editOff() {
+               layer.selectAll('.viewfield-group').remove();
+               layer.style('display', 'none');
+           }
+
+
+           function click(d) {
+               var service = getService();
+               if (!service) return;
+
+               service
+                   .selectImage(d)
+                   .updateViewer(d)
+                   .showViewer();
+
+               context.map().centerEase(d.loc);
+           }
+
+
+           function mouseover(d) {
+               var service = getService();
+               if (service) service.setStyles(d);
+           }
+
+
+           function mouseout() {
+               var service = getService();
+               if (service) service.setStyles(null);
+           }
+
+
+           function transform(d) {
+               var t = svgPointTransform(projection)(d);
+               if (d.ca) {
+                   t += ' rotate(' + Math.floor(d.ca) + ',0,0)';
+               }
+               return t;
+           }
+
+
+           context.photos().on('change.openstreetcam_images', update);
+
+           function update() {
+               var viewer = d3_select('#photoviewer');
+               var selected = viewer.empty() ? undefined : viewer.datum();
+
+               var z = ~~context.map().zoom();
+               var showMarkers = (z >= minMarkerZoom);
+               var showViewfields = (z >= minViewfieldZoom);
+
+               var service = getService();
+               var sequences = [];
+               var images = [];
+
+               if (context.photos().showsFlat()) {
+                   sequences = (service ? service.sequences(projection) : []);
+                   images = (service && showMarkers ? service.images(projection) : []);
+               }
+
+               var traces = layer.selectAll('.sequences').selectAll('.sequence')
+                   .data(sequences, function(d) { return d.properties.key; });
+
+               // exit
+               traces.exit()
+                   .remove();
+
+               // enter/update
+               traces = traces.enter()
+                   .append('path')
+                   .attr('class', 'sequence')
+                   .merge(traces)
+                   .attr('d', svgPath(projection).geojson);
+
+
+               var groups = layer.selectAll('.markers').selectAll('.viewfield-group')
+                   .data(images, function(d) { return d.key; });
+
+               // exit
+               groups.exit()
+                   .remove();
+
+               // enter
+               var groupsEnter = groups.enter()
+                   .append('g')
+                   .attr('class', 'viewfield-group')
+                   .on('mouseenter', mouseover)
+                   .on('mouseleave', mouseout)
+                   .on('click', click);
+
+               groupsEnter
+                   .append('g')
+                   .attr('class', 'viewfield-scale');
+
+               // update
+               var markers = groups
+                   .merge(groupsEnter)
+                   .sort(function(a, b) {
+                       return (a === selected) ? 1
+                           : (b === selected) ? -1
+                           : b.loc[1] - a.loc[1];  // sort Y
+                   })
+                   .attr('transform', transform)
+                   .select('.viewfield-scale');
+
+
+               markers.selectAll('circle')
+                   .data([0])
+                   .enter()
+                   .append('circle')
+                   .attr('dx', '0')
+                   .attr('dy', '0')
+                   .attr('r', '6');
+
+               var viewfields = markers.selectAll('.viewfield')
+                   .data(showViewfields ? [0] : []);
+
+               viewfields.exit()
+                   .remove();
+
+               viewfields.enter()               // viewfields may or may not be drawn...
+                   .insert('path', 'circle')    // but if they are, draw below the circles
+                   .attr('class', 'viewfield')
+                   .attr('transform', 'scale(1.5,1.5),translate(-8, -13)')
+                   .attr('d', 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z');
+           }
+
+
+           function drawImages(selection) {
+               var enabled = svgOpenstreetcamImages.enabled,
+                   service = getService();
+
+               layer = selection.selectAll('.layer-openstreetcam')
+                   .data(service ? [0] : []);
+
+               layer.exit()
+                   .remove();
+
+               var layerEnter = layer.enter()
+                   .append('g')
+                   .attr('class', 'layer-openstreetcam')
+                   .style('display', enabled ? 'block' : 'none');
+
+               layerEnter
+                   .append('g')
+                   .attr('class', 'sequences');
+
+               layerEnter
+                   .append('g')
+                   .attr('class', 'markers');
+
+               layer = layerEnter
+                   .merge(layer);
+
+               if (enabled) {
+                   if (service && ~~context.map().zoom() >= minZoom) {
+                       editOn();
+                       update();
+                       service.loadImages(projection);
+                   } else {
+                       editOff();
+                   }
+               }
+           }
+
+
+           drawImages.enabled = function(_) {
+               if (!arguments.length) return svgOpenstreetcamImages.enabled;
+               svgOpenstreetcamImages.enabled = _;
+               if (svgOpenstreetcamImages.enabled) {
+                   showLayer();
+               } else {
+                   hideLayer();
+               }
+               dispatch.call('change');
+               return this;
+           };
+
+
+           drawImages.supported = function() {
+               return !!getService();
+           };
+
+
+           init();
+           return drawImages;
+       }
+
+       function svgOsm(projection, context, dispatch) {
+           var enabled = true;
+
+
+           function drawOsm(selection) {
+               selection.selectAll('.layer-osm')
+                   .data(['covered', 'areas', 'lines', 'points', 'labels'])
+                   .enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'layer-osm ' + d; });
+
+               selection.selectAll('.layer-osm.points').selectAll('.points-group')
+                   .data(['points', 'midpoints', 'vertices', 'turns'])
+                   .enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'points-group ' + d; });
+           }
+
+
+           function showLayer() {
+               var layer = context.surface().selectAll('.data-layer.osm');
+               layer.interrupt();
+
+               layer
+                   .classed('disabled', false)
+                   .style('opacity', 0)
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 1)
+                   .on('end interrupt', function () {
+                       dispatch.call('change');
+                   });
+           }
+
+
+           function hideLayer() {
+               var layer = context.surface().selectAll('.data-layer.osm');
+               layer.interrupt();
+
+               layer
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 0)
+                   .on('end interrupt', function () {
+                       layer.classed('disabled', true);
+                       dispatch.call('change');
+                   });
+           }
+
+
+           drawOsm.enabled = function(val) {
+               if (!arguments.length) return enabled;
+               enabled = val;
+
+               if (enabled) {
+                   showLayer();
+               } else {
+                   hideLayer();
+               }
+
+               dispatch.call('change');
+               return this;
+           };
+
+
+           return drawOsm;
+       }
+
+       var _notesEnabled = false;
+       var _osmService;
+
+
+       function svgNotes(projection, context, dispatch$1) {
+           if (!dispatch$1) { dispatch$1 = dispatch('change'); }
+           var throttledRedraw = throttle(function () { dispatch$1.call('change'); }, 1000);
+           var minZoom = 12;
+           var touchLayer = d3_select(null);
+           var drawLayer = d3_select(null);
+           var _notesVisible = false;
+
+
+           function markerPath(selection, klass) {
+               selection
+                   .attr('class', klass)
+                   .attr('transform', 'translate(-8, -22)')
+                   .attr('d', 'm17.5,0l-15,0c-1.37,0 -2.5,1.12 -2.5,2.5l0,11.25c0,1.37 1.12,2.5 2.5,2.5l3.75,0l0,3.28c0,0.38 0.43,0.6 0.75,0.37l4.87,-3.65l5.62,0c1.37,0 2.5,-1.12 2.5,-2.5l0,-11.25c0,-1.37 -1.12,-2.5 -2.5,-2.5z');
+           }
+
+
+           // Loosely-coupled osm service for fetching notes.
+           function getService() {
+               if (services$1.osm && !_osmService) {
+                   _osmService = services$1.osm;
+                   _osmService.on('loadedNotes', throttledRedraw);
+               } else if (!services$1.osm && _osmService) {
+                   _osmService = null;
+               }
+
+               return _osmService;
+           }
+
+
+           // Show the notes
+           function editOn() {
+               if (!_notesVisible) {
+                   _notesVisible = true;
+                   drawLayer
+                       .style('display', 'block');
+               }
+           }
+
+
+           // Immediately remove the notes and their touch targets
+           function editOff() {
+               if (_notesVisible) {
+                   _notesVisible = false;
+                   drawLayer
+                       .style('display', 'none');
+                   drawLayer.selectAll('.note')
+                       .remove();
+                   touchLayer.selectAll('.note')
+                       .remove();
+               }
+           }
+
+
+           // Enable the layer.  This shows the notes and transitions them to visible.
+           function layerOn() {
+               editOn();
+
+               drawLayer
+                   .style('opacity', 0)
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 1)
+                   .on('end interrupt', function () {
+                       dispatch$1.call('change');
+                   });
+           }
+
+
+           // Disable the layer.  This transitions the layer invisible and then hides the notes.
+           function layerOff() {
+               throttledRedraw.cancel();
+               drawLayer.interrupt();
+               touchLayer.selectAll('.note')
+                   .remove();
+
+               drawLayer
+                   .transition()
+                   .duration(250)
+                   .style('opacity', 0)
+                   .on('end interrupt', function () {
+                       editOff();
+                       dispatch$1.call('change');
+                   });
+           }
+
+
+           // Update the note markers
+           function updateMarkers() {
+               if (!_notesVisible || !_notesEnabled) return;
+
+               var service = getService();
+               var selectedID = context.selectedNoteID();
+               var data = (service ? service.notes(projection) : []);
+               var getTransform = svgPointTransform(projection);
+
+               // Draw markers..
+               var notes = drawLayer.selectAll('.note')
+                   .data(data, function(d) { return d.status + d.id; });
+
+               // exit
+               notes.exit()
+                   .remove();
+
+               // enter
+               var notesEnter = notes.enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'note note-' + d.id + ' ' + d.status; })
+                   .classed('new', function(d) { return d.id < 0; });
+
+               notesEnter
+                   .append('ellipse')
+                   .attr('cx', 0.5)
+                   .attr('cy', 1)
+                   .attr('rx', 6.5)
+                   .attr('ry', 3)
+                   .attr('class', 'stroke');
+
+               notesEnter
+                   .append('path')
+                   .call(markerPath, 'shadow');
+
+               notesEnter
+                   .append('use')
+                   .attr('class', 'note-fill')
+                   .attr('width', '20px')
+                   .attr('height', '20px')
+                   .attr('x', '-8px')
+                   .attr('y', '-22px')
+                   .attr('xlink:href', '#iD-icon-note');
+
+               notesEnter.selectAll('.icon-annotation')
+                   .data(function(d) { return [d]; })
+                   .enter()
+                   .append('use')
+                   .attr('class', 'icon-annotation')
+                   .attr('width', '10px')
+                   .attr('height', '10px')
+                   .attr('x', '-3px')
+                   .attr('y', '-19px')
+                   .attr('xlink:href', function(d) {
+                       return '#iD-icon-' + (d.id < 0 ? 'plus' : (d.status === 'open' ? 'close' : 'apply'));
+                   });
+
+               // update
+               notes
+                   .merge(notesEnter)
+                   .sort(sortY)
+                   .classed('selected', function(d) {
+                       var mode = context.mode();
+                       var isMoving = mode && mode.id === 'drag-note';  // no shadows when dragging
+                       return !isMoving && d.id === selectedID;
+                   })
+                   .attr('transform', getTransform);
+
+
+               // Draw targets..
+               if (touchLayer.empty()) return;
+               var fillClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+
+               var targets = touchLayer.selectAll('.note')
+                   .data(data, function(d) { return d.id; });
+
+               // exit
+               targets.exit()
+                   .remove();
+
+               // enter/update
+               targets.enter()
+                   .append('rect')
+                   .attr('width', '20px')
+                   .attr('height', '20px')
+                   .attr('x', '-8px')
+                   .attr('y', '-22px')
+                   .merge(targets)
+                   .sort(sortY)
+                   .attr('class', function(d) {
+                       var newClass = (d.id < 0 ? 'new' : '');
+                       return 'note target note-' + d.id + ' ' + fillClass + newClass;
+                   })
+                   .attr('transform', getTransform);
+
+
+               function sortY(a, b) {
+                   return (a.id === selectedID) ? 1 : (b.id === selectedID) ? -1 : b.loc[1] - a.loc[1];
+               }
+           }
+
+
+           // Draw the notes layer and schedule loading notes and updating markers.
+           function drawNotes(selection) {
+               var service = getService();
+
+               var surface = context.surface();
+               if (surface && !surface.empty()) {
+                   touchLayer = surface.selectAll('.data-layer.touch .layer-touch.markers');
+               }
+
+               drawLayer = selection.selectAll('.layer-notes')
+                   .data(service ? [0] : []);
+
+               drawLayer.exit()
+                   .remove();
+
+               drawLayer = drawLayer.enter()
+                   .append('g')
+                   .attr('class', 'layer-notes')
+                   .style('display', _notesEnabled ? 'block' : 'none')
+                   .merge(drawLayer);
+
+               if (_notesEnabled) {
+                   if (service && ~~context.map().zoom() >= minZoom) {
+                       editOn();
+                       service.loadNotes(projection);
+                       updateMarkers();
+                   } else {
+                       editOff();
+                   }
+               }
+           }
+
+
+           // Toggles the layer on and off
+           drawNotes.enabled = function(val) {
+               if (!arguments.length) return _notesEnabled;
+
+               _notesEnabled = val;
+               if (_notesEnabled) {
+                   layerOn();
+               } else {
+                   layerOff();
+                   if (context.selectedNoteID()) {
+                       context.enter(modeBrowse(context));
+                   }
+               }
+
+               dispatch$1.call('change');
+               return this;
+           };
+
+
+           return drawNotes;
+       }
+
+       function svgTouch() {
+
+           function drawTouch(selection) {
+               selection.selectAll('.layer-touch')
+                   .data(['areas', 'lines', 'points', 'turns', 'markers'])
+                   .enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'layer-touch ' + d; });
+           }
+
+           return drawTouch;
+       }
+
+       function svgLayers(projection, context) {
+           var dispatch$1 = dispatch('change');
+           var svg = d3_select(null);
+           var _layers = [
+               { id: 'osm', layer: svgOsm(projection, context, dispatch$1) },
+               { id: 'notes', layer: svgNotes(projection, context, dispatch$1) },
+               { id: 'data', layer: svgData(projection, context, dispatch$1) },
+               { id: 'keepRight', layer: svgKeepRight(projection, context, dispatch$1) },
+               { id: 'improveOSM', layer: svgImproveOSM(projection, context, dispatch$1) },
+               { id: 'streetside', layer: svgStreetside(projection, context, dispatch$1)},
+               { id: 'mapillary', layer: svgMapillaryImages(projection, context, dispatch$1) },
+               { id: 'mapillary-signs',  layer: svgMapillarySigns(projection, context, dispatch$1) },
+               { id: 'openstreetcam', layer: svgOpenstreetcamImages(projection, context, dispatch$1) },
+               { id: 'debug', layer: svgDebug(projection, context) },
+               { id: 'geolocate', layer: svgGeolocate(projection) },
+               { id: 'touch', layer: svgTouch() }
+           ];
+
+
+           function drawLayers(selection) {
+               svg = selection.selectAll('.surface')
+                   .data([0]);
+
+               svg = svg.enter()
+                   .append('svg')
+                   .attr('class', 'surface')
+                   .merge(svg);
+
+               var defs = svg.selectAll('.surface-defs')
+                   .data([0]);
+
+               defs.enter()
+                   .append('defs')
+                   .attr('class', 'surface-defs');
+
+               var groups = svg.selectAll('.data-layer')
+                   .data(_layers);
+
+               groups.exit()
+                   .remove();
+
+               groups.enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'data-layer ' + d.id; })
+                   .merge(groups)
+                   .each(function(d) { d3_select(this).call(d.layer); });
+           }
+
+
+           drawLayers.all = function() {
+               return _layers;
+           };
+
+
+           drawLayers.layer = function(id) {
+               var obj = _layers.find(function(o) { return o.id === id; });
+               return obj && obj.layer;
+           };
+
+
+           drawLayers.only = function(what) {
+               var arr = [].concat(what);
+               var all = _layers.map(function(layer) { return layer.id; });
+               return drawLayers.remove(utilArrayDifference(all, arr));
+           };
+
+
+           drawLayers.remove = function(what) {
+               var arr = [].concat(what);
+               arr.forEach(function(id) {
+                   _layers = _layers.filter(function(o) { return o.id !== id; });
+               });
+               dispatch$1.call('change');
+               return this;
+           };
+
+
+           drawLayers.add = function(what) {
+               var arr = [].concat(what);
+               arr.forEach(function(obj) {
+                   if ('id' in obj && 'layer' in obj) {
+                       _layers.push(obj);
+                   }
+               });
+               dispatch$1.call('change');
+               return this;
+           };
+
+
+           drawLayers.dimensions = function(val) {
+               if (!arguments.length) return utilGetDimensions(svg);
+               utilSetDimensions(svg, val);
+               return this;
+           };
+
+
+           return utilRebind(drawLayers, dispatch$1, 'on');
+       }
+
+       function svgLines(projection, context) {
+           var detected = utilDetect();
+
+           var highway_stack = {
+               motorway: 0,
+               motorway_link: 1,
+               trunk: 2,
+               trunk_link: 3,
+               primary: 4,
+               primary_link: 5,
+               secondary: 6,
+               tertiary: 7,
+               unclassified: 8,
+               residential: 9,
+               service: 10,
+               footway: 11
+           };
+
+
+           function drawTargets(selection, graph, entities, filter) {
+               var targetClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+               var nopeClass = context.getDebug('target') ? 'red ' : 'nocolor ';
+               var getPath = svgPath(projection).geojson;
+               var activeID = context.activeID();
+
+               // The targets and nopes will be MultiLineString sub-segments of the ways
+               var data = { targets: [], nopes: [] };
+
+               entities.forEach(function(way) {
+                   var features = svgSegmentWay(way, graph, activeID);
+                   data.targets.push.apply(data.targets, features.passive);
+                   data.nopes.push.apply(data.nopes, features.active);
+               });
+
+
+               // Targets allow hover and vertex snapping
+               var targetData = data.targets.filter(getPath);
+               var targets = selection.selectAll('.line.target-allowed')
+                   .filter(function(d) { return filter(d.properties.entity); })
+                   .data(targetData, function key(d) { return d.id; });
+
+               // exit
+               targets.exit()
+                   .remove();
+
+               // enter/update
+               targets.enter()
+                   .append('path')
+                   .merge(targets)
+                   .attr('d', getPath)
+                   .attr('class', function(d) { return 'way line target target-allowed ' + targetClass + d.id; });
+
+
+               // NOPE
+               var nopeData = data.nopes.filter(getPath);
+               var nopes = selection.selectAll('.line.target-nope')
+                   .filter(function(d) { return filter(d.properties.entity); })
+                   .data(nopeData, function key(d) { return d.id; });
+
+               // exit
+               nopes.exit()
+                   .remove();
+
+               // enter/update
+               nopes.enter()
+                   .append('path')
+                   .merge(nopes)
+                   .attr('d', getPath)
+                   .attr('class', function(d) { return 'way line target target-nope ' + nopeClass + d.id; });
+           }
+
+
+           function drawLines(selection, graph, entities, filter) {
+
+               function waystack(a, b) {
+                   var selected = context.selectedIDs();
+                   var scoreA = selected.indexOf(a.id) !== -1 ? 20 : 0;
+                   var scoreB = selected.indexOf(b.id) !== -1 ? 20 : 0;
+
+                   if (a.tags.highway) { scoreA -= highway_stack[a.tags.highway]; }
+                   if (b.tags.highway) { scoreB -= highway_stack[b.tags.highway]; }
+                   return scoreA - scoreB;
+               }
+
+
+               function drawLineGroup(selection, klass, isSelected) {
+                   // Note: Don't add `.selected` class in draw modes
+                   var mode = context.mode();
+                   var isDrawing = mode && /^draw/.test(mode.id);
+                   var selectedClass = (!isDrawing && isSelected) ? 'selected ' : '';
+
+                   var lines = selection
+                       .selectAll('path')
+                       .filter(filter)
+                       .data(getPathData(isSelected), osmEntity.key);
+
+                   lines.exit()
+                       .remove();
+
+                   // Optimization: Call expensive TagClasses only on enter selection. This
+                   // works because osmEntity.key is defined to include the entity v attribute.
+                   lines.enter()
+                       .append('path')
+                       .attr('class', function(d) {
+
+                           var prefix = 'way line';
+                           if (!d.hasInterestingTags() && graph.parentMultipolygons(d).length > 0) {
+                               // fudge the classes to style multipolygon member lines as area edges
+                               prefix = 'relation area';
+                           }
+
+                           var oldMPClass = oldMultiPolygonOuters[d.id] ? 'old-multipolygon ' : '';
+                           return prefix + ' ' + klass + ' ' + selectedClass + oldMPClass + d.id;
+                       })
+                       .call(svgTagClasses())
+                       .merge(lines)
+                       .sort(waystack)
+                       .attr('d', getPath)
+                       .call(svgTagClasses().tags(svgRelationMemberTags(graph)));
+
+                   return selection;
+               }
+
+
+               function getPathData(isSelected) {
+                   return function() {
+                       var layer = this.parentNode.__data__;
+                       var data = pathdata[layer] || [];
+                       return data.filter(function(d) {
+                           if (isSelected)
+                               return context.selectedIDs().indexOf(d.id) !== -1;
+                           else
+                               return context.selectedIDs().indexOf(d.id) === -1;
+                       });
+                   };
+               }
+
+               function addMarkers(layergroup, pathclass, groupclass, groupdata, marker) {
+                   var markergroup = layergroup
+                       .selectAll('g.' + groupclass)
+                       .data([pathclass]);
+
+                   markergroup = markergroup.enter()
+                       .append('g')
+                       .attr('class', groupclass)
+                       .merge(markergroup);
+
+                   var markers = markergroup
+                       .selectAll('path')
+                       .filter(filter)
+                       .data(
+                           function data() { return groupdata[this.parentNode.__data__] || []; },
+                           function key(d) { return [d.id, d.index]; }
+                       );
+
+                   markers.exit()
+                       .remove();
+
+                   markers = markers.enter()
+                       .append('path')
+                       .attr('class', pathclass)
+                       .merge(markers)
+                       .attr('marker-mid', marker)
+                       .attr('d', function(d) { return d.d; });
+
+                   if (detected.ie) {
+                       markers.each(function() { this.parentNode.insertBefore(this, this); });
+                   }
+               }
+
+
+               var getPath = svgPath(projection, graph);
+               var ways = [];
+               var onewaydata = {};
+               var sideddata = {};
+               var oldMultiPolygonOuters = {};
+
+               for (var i = 0; i < entities.length; i++) {
+                   var entity = entities[i];
+                   var outer = osmOldMultipolygonOuterMember(entity, graph);
+                   if (outer) {
+                       ways.push(entity.mergeTags(outer.tags));
+                       oldMultiPolygonOuters[outer.id] = true;
+                   } else if (entity.geometry(graph) === 'line') {
+                       ways.push(entity);
+                   }
+               }
+
+               ways = ways.filter(getPath);
+               var pathdata = utilArrayGroupBy(ways, function(way) { return way.layer(); });
+
+               Object.keys(pathdata).forEach(function(k) {
+                   var v = pathdata[k];
+                   var onewayArr = v.filter(function(d) { return d.isOneWay(); });
+                   var onewaySegments = svgMarkerSegments(
+                       projection, graph, 35,
+                       function shouldReverse(entity) { return entity.tags.oneway === '-1'; },
+                       function bothDirections(entity) {
+                           return entity.tags.oneway === 'reversible' || entity.tags.oneway === 'alternating';
+                       }
+                   );
+                   onewaydata[k] = utilArrayFlatten(onewayArr.map(onewaySegments));
+
+                   var sidedArr = v.filter(function(d) { return d.isSided(); });
+                   var sidedSegments = svgMarkerSegments(
+                       projection, graph, 30,
+                       function shouldReverse() { return false; },
+                       function bothDirections() { return false; }
+                   );
+                   sideddata[k] = utilArrayFlatten(sidedArr.map(sidedSegments));
+               });
+
+
+               var covered = selection.selectAll('.layer-osm.covered');     // under areas
+               var uncovered = selection.selectAll('.layer-osm.lines');     // over areas
+               var touchLayer = selection.selectAll('.layer-touch.lines');
+
+               // Draw lines..
+               [covered, uncovered].forEach(function(selection) {
+                   var range = (selection === covered ? d3_range(-10,0) : d3_range(0,11));
+                   var layergroup = selection
+                       .selectAll('g.layergroup')
+                       .data(range);
+
+                   layergroup = layergroup.enter()
+                       .append('g')
+                       .attr('class', function(d) { return 'layergroup layer' + String(d); })
+                       .merge(layergroup);
+
+                   layergroup
+                       .selectAll('g.linegroup')
+                       .data(['shadow', 'casing', 'stroke', 'shadow-highlighted', 'casing-highlighted', 'stroke-highlighted'])
+                       .enter()
+                       .append('g')
+                       .attr('class', function(d) { return 'linegroup line-' + d; });
+
+                   layergroup.selectAll('g.line-shadow')
+                       .call(drawLineGroup, 'shadow', false);
+                   layergroup.selectAll('g.line-casing')
+                       .call(drawLineGroup, 'casing', false);
+                   layergroup.selectAll('g.line-stroke')
+                       .call(drawLineGroup, 'stroke', false);
+
+                   layergroup.selectAll('g.line-shadow-highlighted')
+                       .call(drawLineGroup, 'shadow', true);
+                   layergroup.selectAll('g.line-casing-highlighted')
+                       .call(drawLineGroup, 'casing', true);
+                   layergroup.selectAll('g.line-stroke-highlighted')
+                       .call(drawLineGroup, 'stroke', true);
+
+                   addMarkers(layergroup, 'oneway', 'onewaygroup', onewaydata, 'url(#oneway-marker)');
+                   addMarkers(layergroup, 'sided', 'sidedgroup', sideddata,
+                       function marker(d) {
+                           var category = graph.entity(d.id).sidednessIdentifier();
+                           return 'url(#sided-marker-' + category + ')';
+                       }
+                   );
+               });
+
+               // Draw touch targets..
+               touchLayer
+                   .call(drawTargets, graph, ways, filter);
+           }
+
+
+           return drawLines;
+       }
+
+       function svgMidpoints(projection, context) {
+           var targetRadius = 8;
+
+           function drawTargets(selection, graph, entities, filter) {
+               var fillClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+               var getTransform = svgPointTransform(projection).geojson;
+
+               var data = entities.map(function(midpoint) {
+                   return {
+                       type: 'Feature',
+                       id: midpoint.id,
+                       properties: {
+                           target: true,
+                           entity: midpoint
+                       },
+                       geometry: {
+                           type: 'Point',
+                           coordinates: midpoint.loc
+                       }
+                   };
+               });
+
+               var targets = selection.selectAll('.midpoint.target')
+                   .filter(function(d) { return filter(d.properties.entity); })
+                   .data(data, function key(d) { return d.id; });
+
+               // exit
+               targets.exit()
+                   .remove();
+
+               // enter/update
+               targets.enter()
+                   .append('circle')
+                   .attr('r', targetRadius)
+                   .merge(targets)
+                   .attr('class', function(d) { return 'node midpoint target ' + fillClass + d.id; })
+                   .attr('transform', getTransform);
+           }
+
+
+           function drawMidpoints(selection, graph, entities, filter, extent) {
+               var drawLayer = selection.selectAll('.layer-osm.points .points-group.midpoints');
+               var touchLayer = selection.selectAll('.layer-touch.points');
+
+               var mode = context.mode();
+               if (mode && mode.id !== 'select') {
+                   drawLayer.selectAll('.midpoint').remove();
+                   touchLayer.selectAll('.midpoint.target').remove();
+                   return;
+               }
+
+               var poly = extent.polygon();
+               var midpoints = {};
+
+               for (var i = 0; i < entities.length; i++) {
+                   var entity = entities[i];
+
+                   if (entity.type !== 'way') continue;
+                   if (!filter(entity)) continue;
+                   if (context.selectedIDs().indexOf(entity.id) < 0) continue;
+
+                   var nodes = graph.childNodes(entity);
+                   for (var j = 0; j < nodes.length - 1; j++) {
+                       var a = nodes[j];
+                       var b = nodes[j + 1];
+                       var id = [a.id, b.id].sort().join('-');
+
+                       if (midpoints[id]) {
+                           midpoints[id].parents.push(entity);
+                       } else if (geoVecLength(projection(a.loc), projection(b.loc)) > 40) {
+                           var point = geoVecInterp(a.loc, b.loc, 0.5);
+                           var loc = null;
+
+                           if (extent.intersects(point)) {
+                               loc = point;
+                           } else {
+                               for (var k = 0; k < 4; k++) {
+                                   point = geoLineIntersection([a.loc, b.loc], [poly[k], poly[k + 1]]);
+                                   if (point &&
+                                       geoVecLength(projection(a.loc), projection(point)) > 20 &&
+                                       geoVecLength(projection(b.loc), projection(point)) > 20)
+                                   {
+                                       loc = point;
+                                       break;
+                                   }
+                               }
+                           }
+
+                           if (loc) {
+                               midpoints[id] = {
+                                   type: 'midpoint',
+                                   id: id,
+                                   loc: loc,
+                                   edge: [a.id, b.id],
+                                   parents: [entity]
+                               };
+                           }
+                       }
+                   }
+               }
+
+
+               function midpointFilter(d) {
+                   if (midpoints[d.id])
+                       return true;
+
+                   for (var i = 0; i < d.parents.length; i++) {
+                       if (filter(d.parents[i])) {
+                           return true;
+                       }
+                   }
+
+                   return false;
+               }
+
+
+               var groups = drawLayer.selectAll('.midpoint')
+                   .filter(midpointFilter)
+                   .data(Object.values(midpoints), function(d) { return d.id; });
+
+               groups.exit()
+                   .remove();
+
+               var enter = groups.enter()
+                   .insert('g', ':first-child')
+                   .attr('class', 'midpoint');
+
+               enter
+                   .append('polygon')
+                   .attr('points', '-6,8 10,0 -6,-8')
+                   .attr('class', 'shadow');
+
+               enter
+                   .append('polygon')
+                   .attr('points', '-3,4 5,0 -3,-4')
+                   .attr('class', 'fill');
+
+               groups = groups
+                   .merge(enter)
+                   .attr('transform', function(d) {
+                       var translate = svgPointTransform(projection);
+                       var a = graph.entity(d.edge[0]);
+                       var b = graph.entity(d.edge[1]);
+                       var angle = geoAngle(a, b, projection) * (180 / Math.PI);
+                       return translate(d) + ' rotate(' + angle + ')';
+                   })
+                   .call(svgTagClasses().tags(
+                       function(d) { return d.parents[0].tags; }
+                   ));
+
+               // Propagate data bindings.
+               groups.select('polygon.shadow');
+               groups.select('polygon.fill');
+
+
+               // Draw touch targets..
+               touchLayer
+                   .call(drawTargets, graph, Object.values(midpoints), midpointFilter);
+           }
+
+           return drawMidpoints;
+       }
+
+       function svgPoints(projection, context) {
+
+           function markerPath(selection, klass) {
+               selection
+                   .attr('class', klass)
+                   .attr('transform', 'translate(-8, -23)')
+                   .attr('d', 'M 17,8 C 17,13 11,21 8.5,23.5 C 6,21 0,13 0,8 C 0,4 4,-0.5 8.5,-0.5 C 13,-0.5 17,4 17,8 z');
+           }
+
+           function sortY(a, b) {
+               return b.loc[1] - a.loc[1];
+           }
+
+
+           // Avoid exit/enter if we're just moving stuff around.
+           // The node will get a new version but we only need to run the update selection.
+           function fastEntityKey(d) {
+               var mode = context.mode();
+               var isMoving = mode && /^(add|draw|drag|move|rotate)/.test(mode.id);
+               return isMoving ? d.id : osmEntity.key(d);
+           }
+
+
+           function drawTargets(selection, graph, entities, filter) {
+               var fillClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+               var getTransform = svgPointTransform(projection).geojson;
+               var activeID = context.activeID();
+               var data = [];
+
+               entities.forEach(function(node) {
+                   if (activeID === node.id) return;   // draw no target on the activeID
+
+                   data.push({
+                       type: 'Feature',
+                       id: node.id,
+                       properties: {
+                           target: true,
+                           entity: node
+                       },
+                       geometry: node.asGeoJSON()
+                   });
+               });
+
+               var targets = selection.selectAll('.point.target')
+                   .filter(function(d) { return filter(d.properties.entity); })
+                   .data(data, function key(d) { return d.id; });
+
+               // exit
+               targets.exit()
+                   .remove();
+
+               // enter/update
+               targets.enter()
+                   .append('rect')
+                   .attr('x', -10)
+                   .attr('y', -26)
+                   .attr('width', 20)
+                   .attr('height', 30)
+                   .merge(targets)
+                   .attr('class', function(d) { return 'node point target ' + fillClass + d.id; })
+                   .attr('transform', getTransform);
+           }
+
+
+           function drawPoints(selection, graph, entities, filter) {
+               var wireframe = context.surface().classed('fill-wireframe');
+               var zoom = geoScaleToZoom(projection.scale());
+
+               // Points with a direction will render as vertices at higher zooms..
+               function renderAsPoint(entity) {
+                   return entity.geometry(graph) === 'point' &&
+                       !(zoom >= 18 && entity.directions(graph, projection).length);
+               }
+
+               // All points will render as vertices in wireframe mode too..
+               var points = wireframe ? [] : entities.filter(renderAsPoint);
+               points.sort(sortY);
+
+
+               var drawLayer = selection.selectAll('.layer-osm.points .points-group.points');
+               var touchLayer = selection.selectAll('.layer-touch.points');
+
+               // Draw points..
+               var groups = drawLayer.selectAll('g.point')
+                   .filter(filter)
+                   .data(points, fastEntityKey);
+
+               groups.exit()
+                   .remove();
+
+               var enter = groups.enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'node point ' + d.id; })
+                   .order();
+
+               enter
+                   .append('path')
+                   .call(markerPath, 'shadow');
+
+               enter
+                   .append('ellipse')
+                   .attr('cx', 0.5)
+                   .attr('cy', 1)
+                   .attr('rx', 6.5)
+                   .attr('ry', 3)
+                   .attr('class', 'stroke');
+
+               enter
+                   .append('path')
+                   .call(markerPath, 'stroke');
+
+               enter
+                   .append('use')
+                   .attr('transform', 'translate(-5, -19)')
+                   .attr('class', 'icon')
+                   .attr('width', '11px')
+                   .attr('height', '11px');
+
+               groups = groups
+                   .merge(enter)
+                   .attr('transform', svgPointTransform(projection))
+                   .call(svgTagClasses());
+
+               groups.select('.shadow');   // propagate bound data
+               groups.select('.stroke');   // propagate bound data
+               groups.select('.icon')      // propagate bound data
+                   .attr('xlink:href', function(entity) {
+                       var preset = context.presets().match(entity, graph);
+                       var picon = preset && preset.icon;
+
+                       if (!picon) {
+                           return '';
+                       } else {
+                           var isMaki = /^maki-/.test(picon);
+                           return '#' + picon + (isMaki ? '-11' : '');
+                       }
+                   });
+
+
+               // Draw touch targets..
+               touchLayer
+                   .call(drawTargets, graph, points, filter);
+           }
+
+
+           return drawPoints;
+       }
+
+       function svgTurns(projection, context) {
+
+           function icon(turn) {
+               var u = turn.u ? '-u' : '';
+               if (turn.no) return '#iD-turn-no' + u;
+               if (turn.only) return '#iD-turn-only' + u;
+               return '#iD-turn-yes' + u;
+           }
+
+           function drawTurns(selection, graph, turns) {
+
+               function turnTransform(d) {
+                   var pxRadius = 50;
+                   var toWay = graph.entity(d.to.way);
+                   var toPoints = graph.childNodes(toWay)
+                       .map(function (n) { return n.loc; })
+                       .map(projection);
+                   var toLength = geoPathLength(toPoints);
+                   var mid = toLength / 2;    // midpoint of destination way
+
+                   var toNode = graph.entity(d.to.node);
+                   var toVertex = graph.entity(d.to.vertex);
+                   var a = geoAngle(toVertex, toNode, projection);
+                   var o = projection(toVertex.loc);
+                   var r = d.u ? 0                  // u-turn: no radius
+                       : !toWay.__via ? pxRadius    // leaf way: put marker at pxRadius
+                       : Math.min(mid, pxRadius);   // via way: prefer pxRadius, fallback to mid for very short ways
+
+                   return 'translate(' + (r * Math.cos(a) + o[0]) + ',' + (r * Math.sin(a) + o[1]) + ') ' +
+                       'rotate(' + a * 180 / Math.PI + ')';
+               }
+
+
+               var drawLayer = selection.selectAll('.layer-osm.points .points-group.turns');
+               var touchLayer = selection.selectAll('.layer-touch.turns');
+
+               // Draw turns..
+               var groups = drawLayer.selectAll('g.turn')
+                   .data(turns, function(d) { return d.key; });
+
+               // exit
+               groups.exit()
+                   .remove();
+
+               // enter
+               var groupsEnter = groups.enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'turn ' + d.key; });
+
+               var turnsEnter = groupsEnter
+                   .filter(function(d) { return !d.u; });
+
+               turnsEnter.append('rect')
+                   .attr('transform', 'translate(-22, -12)')
+                   .attr('width', '44')
+                   .attr('height', '24');
+
+               turnsEnter.append('use')
+                   .attr('transform', 'translate(-22, -12)')
+                   .attr('width', '44')
+                   .attr('height', '24');
+
+               var uEnter = groupsEnter
+                   .filter(function(d) { return d.u; });
+
+               uEnter.append('circle')
+                   .attr('r', '16');
+
+               uEnter.append('use')
+                   .attr('transform', 'translate(-16, -16)')
+                   .attr('width', '32')
+                   .attr('height', '32');
+
+               // update
+               groups = groups
+                   .merge(groupsEnter)
+                   .attr('opacity', function(d) { return d.direct === false ? '0.7' : null; })
+                   .attr('transform', turnTransform);
+
+               groups.select('use')
+                   .attr('xlink:href', icon);
+
+               groups.select('rect');      // propagate bound data
+               groups.select('circle');    // propagate bound data
+
+
+               // Draw touch targets..
+               var fillClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+               groups = touchLayer.selectAll('g.turn')
+                   .data(turns, function(d) { return d.key; });
+
+               // exit
+               groups.exit()
+                   .remove();
+
+               // enter
+               groupsEnter = groups.enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'turn ' + d.key; });
+
+               turnsEnter = groupsEnter
+                   .filter(function(d) { return !d.u; });
+
+               turnsEnter.append('rect')
+                   .attr('class', 'target ' + fillClass)
+                   .attr('transform', 'translate(-22, -12)')
+                   .attr('width', '44')
+                   .attr('height', '24');
+
+               uEnter = groupsEnter
+                   .filter(function(d) { return d.u; });
+
+               uEnter.append('circle')
+                   .attr('class', 'target ' + fillClass)
+                   .attr('r', '16');
+
+               // update
+               groups = groups
+                   .merge(groupsEnter)
+                   .attr('transform', turnTransform);
+
+               groups.select('rect');      // propagate bound data
+               groups.select('circle');    // propagate bound data
+
+
+               return this;
+           }
+
+           return drawTurns;
+       }
+
+       function svgVertices(projection, context) {
+           var radiuses = {
+               //       z16-, z17,   z18+,  w/icon
+               shadow: [6,    7.5,   7.5,   12],
+               stroke: [2.5,  3.5,   3.5,   8],
+               fill:   [1,    1.5,   1.5,   1.5]
+           };
+
+           var _currHoverTarget;
+           var _currPersistent = {};
+           var _currHover = {};
+           var _prevHover = {};
+           var _currSelected = {};
+           var _prevSelected = {};
+           var _radii = {};
+
+
+           function sortY(a, b) {
+               return b.loc[1] - a.loc[1];
+           }
+
+           // Avoid exit/enter if we're just moving stuff around.
+           // The node will get a new version but we only need to run the update selection.
+           function fastEntityKey(d) {
+               var mode = context.mode();
+               var isMoving = mode && /^(add|draw|drag|move|rotate)/.test(mode.id);
+               return isMoving ? d.id : osmEntity.key(d);
+           }
+
+
+           function draw(selection, graph, vertices, sets, filter) {
+               sets = sets || { selected: {}, important: {}, hovered: {} };
+
+               var icons = {};
+               var directions = {};
+               var wireframe = context.surface().classed('fill-wireframe');
+               var zoom = geoScaleToZoom(projection.scale());
+               var z = (zoom < 17 ? 0 : zoom < 18 ? 1 : 2);
+               var activeID = context.activeID();
+
+
+               function getIcon(d) {
+                   // always check latest entity, as fastEntityKey avoids enter/exit now
+                   var entity = graph.entity(d.id);
+                   if (entity.id in icons) return icons[entity.id];
+
+                   icons[entity.id] =
+                       entity.hasInterestingTags() &&
+                       context.presets().match(entity, graph).icon;
+
+                   return icons[entity.id];
+               }
+
+
+               // memoize directions results, return false for empty arrays (for use in filter)
+               function getDirections(entity) {
+                   if (entity.id in directions) return directions[entity.id];
+
+                   var angles = entity.directions(graph, projection);
+                   directions[entity.id] = angles.length ? angles : false;
+                   return angles;
+               }
+
+
+               function updateAttributes(selection) {
+                   ['shadow', 'stroke', 'fill'].forEach(function(klass) {
+                       var rads = radiuses[klass];
+                       selection.selectAll('.' + klass)
+                           .each(function(entity) {
+                               var i = z && getIcon(entity);
+                               var r = rads[i ? 3 : z];
+
+                               // slightly increase the size of unconnected endpoints #3775
+                               if (entity.id !== activeID && entity.isEndpoint(graph) && !entity.isConnected(graph)) {
+                                   r += 1.5;
+                               }
+
+                               if (klass === 'shadow') {   // remember this value, so we don't need to
+                                   _radii[entity.id] = r;  // recompute it when we draw the touch targets
+                               }
+
+                               d3_select(this)
+                                   .attr('r', r)
+                                   .attr('visibility', (i && klass === 'fill') ? 'hidden' : null);
+                           });
+                   });
+               }
+
+               vertices.sort(sortY);
+
+               var groups = selection.selectAll('g.vertex')
+                   .filter(filter)
+                   .data(vertices, fastEntityKey);
+
+               // exit
+               groups.exit()
+                   .remove();
+
+               // enter
+               var enter = groups.enter()
+                   .append('g')
+                   .attr('class', function(d) { return 'node vertex ' + d.id; })
+                   .order();
+
+               enter
+                   .append('circle')
+                   .attr('class', 'shadow');
+
+               enter
+                   .append('circle')
+                   .attr('class', 'stroke');
+
+               // Vertices with tags get a fill.
+               enter.filter(function(d) { return d.hasInterestingTags(); })
+                   .append('circle')
+                   .attr('class', 'fill');
+
+               // update
+               groups = groups
+                   .merge(enter)
+                   .attr('transform', svgPointTransform(projection))
+                   .classed('sibling', function(d) { return d.id in sets.selected; })
+                   .classed('shared', function(d) { return graph.isShared(d); })
+                   .classed('endpoint', function(d) { return d.isEndpoint(graph); })
+                   .call(updateAttributes);
+
+
+               // Vertices with icons get a `use`.
+               var iconUse = groups
+                   .selectAll('.icon')
+                   .data(function data(d) { return zoom >= 17 && getIcon(d) ? [d] : []; }, fastEntityKey);
+
+               // exit
+               iconUse.exit()
+                   .remove();
+
+               // enter
+               iconUse.enter()
+                   .append('use')
+                   .attr('class', 'icon')
+                   .attr('width', '11px')
+                   .attr('height', '11px')
+                   .attr('transform', 'translate(-5.5, -5.5)')
+                   .attr('xlink:href', function(d) {
+                       var picon = getIcon(d);
+                       var isMaki = /^maki-/.test(picon);
+                       return '#' + picon + (isMaki ? '-11' : '');
+                   });
+
+
+               // Vertices with directions get viewfields
+               var dgroups = groups
+                   .selectAll('.viewfieldgroup')
+                   .data(function data(d) { return zoom >= 18 && getDirections(d) ? [d] : []; }, fastEntityKey);
+
+               // exit
+               dgroups.exit()
+                   .remove();
+
+               // enter/update
+               dgroups = dgroups.enter()
+                   .insert('g', '.shadow')
+                   .attr('class', 'viewfieldgroup')
+                   .merge(dgroups);
+
+               var viewfields = dgroups.selectAll('.viewfield')
+                   .data(getDirections, function key(d) { return osmEntity.key(d); });
+
+               // exit
+               viewfields.exit()
+                   .remove();
+
+               // enter/update
+               viewfields.enter()
+                   .append('path')
+                   .attr('class', 'viewfield')
+                   .attr('d', 'M0,0H0')
+                   .merge(viewfields)
+                   .attr('marker-start', 'url(#viewfield-marker' + (wireframe ? '-wireframe' : '') + ')')
+                   .attr('transform', function(d) { return 'rotate(' + d + ')'; });
+           }
+
+
+           function drawTargets(selection, graph, entities, filter) {
+               var targetClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+               var nopeClass = context.getDebug('target') ? 'red ' : 'nocolor ';
+               var getTransform = svgPointTransform(projection).geojson;
+               var activeID = context.activeID();
+               var data = { targets: [], nopes: [] };
+
+               entities.forEach(function(node) {
+                   if (activeID === node.id) return;   // draw no target on the activeID
+
+                   var vertexType = svgPassiveVertex(node, graph, activeID);
+                   if (vertexType !== 0) {     // passive or adjacent - allow to connect
+                       data.targets.push({
+                           type: 'Feature',
+                           id: node.id,
+                           properties: {
+                               target: true,
+                               entity: node
+                           },
+                           geometry: node.asGeoJSON()
+                       });
+                   } else {
+                       data.nopes.push({
+                           type: 'Feature',
+                           id: node.id + '-nope',
+                           properties: {
+                               nope: true,
+                               target: true,
+                               entity: node
+                           },
+                           geometry: node.asGeoJSON()
+                       });
+                   }
+               });
+
+
+               // Targets allow hover and vertex snapping
+               var targets = selection.selectAll('.vertex.target-allowed')
+                   .filter(function(d) { return filter(d.properties.entity); })
+                   .data(data.targets, function key(d) { return d.id; });
+
+               // exit
+               targets.exit()
+                   .remove();
+
+               // enter/update
+               targets.enter()
+                   .append('circle')
+                   .attr('r', function(d) { return (_radii[d.id] || radiuses.shadow[3]); })
+                   .merge(targets)
+                   .attr('class', function(d) { return 'node vertex target target-allowed ' + targetClass + d.id; })
+                   .attr('transform', getTransform);
+
+
+               // NOPE
+               var nopes = selection.selectAll('.vertex.target-nope')
+                   .filter(function(d) { return filter(d.properties.entity); })
+                   .data(data.nopes, function key(d) { return d.id; });
+
+               // exit
+               nopes.exit()
+                   .remove();
+
+               // enter/update
+               nopes.enter()
+                   .append('circle')
+                   .attr('r', function(d) { return (_radii[d.properties.entity.id] || radiuses.shadow[3]); })
+                   .merge(nopes)
+                   .attr('class', function(d) { return 'node vertex target target-nope ' + nopeClass + d.id; })
+                   .attr('transform', getTransform);
+           }
+
+
+           // Points can also render as vertices:
+           // 1. in wireframe mode or
+           // 2. at higher zooms if they have a direction
+           function renderAsVertex(entity, graph, wireframe, zoom) {
+               var geometry = entity.geometry(graph);
+               return geometry === 'vertex' || (geometry === 'point' && (
+                   wireframe || (zoom >= 18 && entity.directions(graph, projection).length)
+               ));
+           }
+
+
+           function getSiblingAndChildVertices(ids, graph, wireframe, zoom) {
+               var results = {};
+
+               function addChildVertices(entity) {
+                   var geometry = entity.geometry(graph);
+                   if (!context.features().isHiddenFeature(entity, graph, geometry)) {
+                       var i;
+                       if (entity.type === 'way') {
+                           for (i = 0; i < entity.nodes.length; i++) {
+                               var child = graph.hasEntity(entity.nodes[i]);
+                               if (child) {
+                                   addChildVertices(child);
+                               }
+                           }
+                       } else if (entity.type === 'relation') {
+                           for (i = 0; i < entity.members.length; i++) {
+                               var member = graph.hasEntity(entity.members[i].id);
+                               if (member) {
+                                   addChildVertices(member);
+                               }
+                           }
+                       } else if (renderAsVertex(entity, graph, wireframe, zoom)) {
+                           results[entity.id] = entity;
+                       }
+                   }
+               }
+
+               ids.forEach(function(id) {
+                   var entity = graph.hasEntity(id);
+                   if (!entity) return;
+
+                   if (entity.type === 'node') {
+                       if (renderAsVertex(entity, graph, wireframe, zoom)) {
+                           results[entity.id] = entity;
+                           graph.parentWays(entity).forEach(function(entity) {
+                               addChildVertices(entity);
+                           });
+                       }
+                   } else {  // way, relation
+                       addChildVertices(entity);
+                   }
+               });
+
+               return results;
+           }
+
+
+           function drawVertices(selection, graph, entities, filter, extent, fullRedraw) {
+               var wireframe = context.surface().classed('fill-wireframe');
+               var zoom = geoScaleToZoom(projection.scale());
+               var mode = context.mode();
+               var isMoving = mode && /^(add|draw|drag|move|rotate)/.test(mode.id);
+
+               var drawLayer = selection.selectAll('.layer-osm.points .points-group.vertices');
+               var touchLayer = selection.selectAll('.layer-touch.points');
+
+               if (fullRedraw) {
+                   _currPersistent = {};
+                   _radii = {};
+               }
+
+               // Collect important vertices from the `entities` list..
+               // (during a paritial redraw, it will not contain everything)
+               for (var i = 0; i < entities.length; i++) {
+                   var entity = entities[i];
+                   var geometry = entity.geometry(graph);
+                   var keep = false;
+
+                   // a point that looks like a vertex..
+                   if ((geometry === 'point') && renderAsVertex(entity, graph, wireframe, zoom)) {
+                       _currPersistent[entity.id] = entity;
+                       keep = true;
+
+                   // a vertex of some importance..
+                   } else if (geometry === 'vertex' &&
+                       (entity.hasInterestingTags() || entity.isEndpoint(graph) || entity.isConnected(graph))) {
+                       _currPersistent[entity.id] = entity;
+                       keep = true;
+                   }
+
+                   // whatever this is, it's not a persistent vertex..
+                   if (!keep && !fullRedraw) {
+                       delete _currPersistent[entity.id];
+                   }
+               }
+
+               // 3 sets of vertices to consider:
+               var sets = {
+                   persistent: _currPersistent,  // persistent = important vertices (render always)
+                   selected: _currSelected,      // selected + siblings of selected (render always)
+                   hovered: _currHover           // hovered + siblings of hovered (render only in draw modes)
+               };
+
+               var all = Object.assign({}, (isMoving ? _currHover : {}), _currSelected, _currPersistent);
+
+               // Draw the vertices..
+               // The filter function controls the scope of what objects d3 will touch (exit/enter/update)
+               // Adjust the filter function to expand the scope beyond whatever entities were passed in.
+               var filterRendered = function(d) {
+                   return d.id in _currPersistent || d.id in _currSelected || d.id in _currHover || filter(d);
+               };
+               drawLayer
+                   .call(draw, graph, currentVisible(all), sets, filterRendered);
+
+               // Draw touch targets..
+               // When drawing, render all targets (not just those affected by a partial redraw)
+               var filterTouch = function(d) {
+                   return isMoving ? true : filterRendered(d);
+               };
+               touchLayer
+                   .call(drawTargets, graph, currentVisible(all), filterTouch);
+
+
+               function currentVisible(which) {
+                   return Object.keys(which)
+                       .map(graph.hasEntity, graph)     // the current version of this entity
+                       .filter(function (entity) { return entity && entity.intersects(extent, graph); });
+               }
+           }
+
+
+           // partial redraw - only update the selected items..
+           drawVertices.drawSelected = function(selection, graph, extent) {
+               var wireframe = context.surface().classed('fill-wireframe');
+               var zoom = geoScaleToZoom(projection.scale());
+
+               _prevSelected = _currSelected || {};
+               _currSelected = getSiblingAndChildVertices(context.selectedIDs(), graph, wireframe, zoom);
+
+               // note that drawVertices will add `_currSelected` automatically if needed..
+               var filter = function(d) { return d.id in _prevSelected; };
+               drawVertices(selection, graph, Object.values(_prevSelected), filter, extent, false);
+           };
+
+
+           // partial redraw - only update the hovered items..
+           drawVertices.drawHover = function(selection, graph, target, extent) {
+               if (target === _currHoverTarget) return;  // continue only if something changed
+
+               var wireframe = context.surface().classed('fill-wireframe');
+               var zoom = geoScaleToZoom(projection.scale());
+
+               _prevHover = _currHover || {};
+               _currHoverTarget = target;
+               var entity = target && target.properties && target.properties.entity;
+
+               if (entity) {
+                   _currHover = getSiblingAndChildVertices([entity.id], graph, wireframe, zoom);
+               } else {
+                   _currHover = {};
+               }
+
+               // note that drawVertices will add `_currHover` automatically if needed..
+               var filter = function(d) { return d.id in _prevHover; };
+               drawVertices(selection, graph, Object.values(_prevHover), filter, extent, false);
+           };
+
+           return drawVertices;
+       }
+
+       function utilBindOnce(target, type, listener, capture) {
+           var typeOnce = type + '.once';
+           function one() {
+               target.on(typeOnce, null);
+               listener.apply(this, arguments);
+           }
+           target.on(typeOnce, one, capture);
+           return this;
+       }
+
+       // constants
+       var TILESIZE = 256;
+       var kMin = geoZoomToScale(2, TILESIZE);
+       var kMax = geoZoomToScale(24, TILESIZE);
+
+       function clamp(num, min, max) {
+           return Math.max(min, Math.min(num, max));
+       }
+
+
+       function rendererMap(context) {
+           var dispatch$1 = dispatch('move', 'drawn');
+           var projection = context.projection;
+           var curtainProjection = context.curtainProjection;
+           var drawLayers = svgLayers(projection, context);
+           var drawPoints = svgPoints(projection, context);
+           var drawVertices = svgVertices(projection, context);
+           var drawLines = svgLines(projection, context);
+           var drawAreas = svgAreas(projection, context);
+           var drawMidpoints = svgMidpoints(projection, context);
+           var drawLabels = svgLabels(projection, context);
+
+           var _selection = d3_select(null);
+           var supersurface = d3_select(null);
+           var wrapper = d3_select(null);
+           var surface = d3_select(null);
+
+           var _dimensions = [1, 1];
+           var _dblClickEnabled = true;
+           var _redrawEnabled = true;
+           var _gestureTransformStart;
+           var _transformStart = projection.transform();
+           var _transformLast;
+           var _isTransformed = false;
+           var _minzoom = 0;
+           var _getMouseCoords;
+           var _mouseEvent;
+
+           var zoom = d3_zoom()
+               .scaleExtent([kMin, kMax])
+               .interpolate(d3_interpolate)
+               .filter(zoomEventFilter)
+               .on('zoom', zoomPan);
+
+           var scheduleRedraw = throttle(redraw, 750);
+           // var isRedrawScheduled = false;
+           // var pendingRedrawCall;
+           // function scheduleRedraw() {
+           //     // Only schedule the redraw if one has not already been set.
+           //     if (isRedrawScheduled) return;
+           //     isRedrawScheduled = true;
+           //     var that = this;
+           //     var args = arguments;
+           //     pendingRedrawCall = window.requestIdleCallback(function () {
+           //         // Reset the boolean so future redraws can be set.
+           //         isRedrawScheduled = false;
+           //         redraw.apply(that, args);
+           //     }, { timeout: 1400 });
+           // }
+
+           function cancelPendingRedraw() {
+               scheduleRedraw.cancel();
+               // isRedrawScheduled = false;
+               // window.cancelIdleCallback(pendingRedrawCall);
+           }
+
+
+           function map(selection) {
+               _selection = selection;
+
+               context
+                   .on('change.map', immediateRedraw);
+
+               var osm = context.connection();
+               if (osm) {
+                   osm.on('change.map', immediateRedraw);
+               }
+
+               function didUndoOrRedo(targetTransform) {
+                   var mode = context.mode().id;
+                   if (mode !== 'browse' && mode !== 'select') return;
+                   if (targetTransform) {
+                       map.transformEase(targetTransform);
+                   }
+               }
+
+               context.history()
+                   .on('merge.map', function() { scheduleRedraw(); })
+                   .on('change.map', immediateRedraw)
+                   .on('undone.map', function(stack, fromStack) {
+                       didUndoOrRedo(fromStack.transform);
+                   })
+                   .on('redone.map', function(stack) {
+                       didUndoOrRedo(stack.transform);
+                   });
+
+               context.background()
+                   .on('change.map', immediateRedraw);
+
+               context.features()
+                   .on('redraw.map', immediateRedraw);
+
+               drawLayers
+                   .on('change.map', function() {
+                       context.background().updateImagery();
+                       immediateRedraw();
+                   });
+
+               selection
+                   .on('dblclick.map', dblClick)
+                   .call(zoom)
+                   .call(zoom.transform, projection.transform());
+
+               supersurface = selection.append('div')
+                   .attr('id', 'supersurface')
+                   .call(utilSetTransform, 0, 0);
+
+               // Need a wrapper div because Opera can't cope with an absolutely positioned
+               // SVG element: http://bl.ocks.org/jfirebaugh/6fbfbd922552bf776c16
+               wrapper = supersurface
+                   .append('div')
+                   .attr('class', 'layer layer-data');
+
+               map.surface = surface = wrapper
+                   .call(drawLayers)
+                   .selectAll('.surface')
+                   .attr('id', 'surface');
+
+               surface
+                   .call(drawLabels.observe)
+                   .on('gesturestart.surface', function() {
+                       _gestureTransformStart = projection.transform();
+                   })
+                   .on('gesturechange.surface', gestureChange)
+                   .on('mousedown.zoom', function() {
+                       if (event.button === 2) {
+                           event.stopPropagation();
+                       }
+                   }, true)
+                   .on('mouseup.zoom', function() {
+                       if (resetTransform()) {
+                           immediateRedraw();
+                       }
+                   })
+                   .on('mousemove.map', function() {
+                       _mouseEvent = event;
+                   })
+                   .on('mouseover.vertices', function() {
+                       if (map.editable() && !_isTransformed) {
+                           var hover = event.target.__data__;
+                           surface.call(drawVertices.drawHover, context.graph(), hover, map.extent());
+                           dispatch$1.call('drawn', this, { full: false });
+                       }
+                   })
+                   .on('mouseout.vertices', function() {
+                       if (map.editable() && !_isTransformed) {
+                           var hover = event.relatedTarget && event.relatedTarget.__data__;
+                           surface.call(drawVertices.drawHover, context.graph(), hover, map.extent());
+                           dispatch$1.call('drawn', this, { full: false });
+                       }
+                   });
+
+               context.on('enter.map',  function() {
+                   if (map.editable() && !_isTransformed) {
+                       // redraw immediately any objects affected by a change in selectedIDs.
+                       var graph = context.graph();
+                       var selectedAndParents = {};
+                       context.selectedIDs().forEach(function(id) {
+                           var entity = graph.hasEntity(id);
+                           if (entity) {
+                               selectedAndParents[entity.id] = entity;
+                               if (entity.type === 'node') {
+                                   graph.parentWays(entity).forEach(function(parent) {
+                                       selectedAndParents[parent.id] = parent;
+                                   });
+                               }
+                           }
+                       });
+                       var data = Object.values(selectedAndParents);
+                       var filter = function(d) { return d.id in selectedAndParents; };
+
+                       data = context.features().filter(data, graph);
+
+                       surface
+                           .call(drawVertices.drawSelected, graph, map.extent())
+                           .call(drawLines, graph, data, filter)
+                           .call(drawAreas, graph, data, filter)
+                           .call(drawMidpoints, graph, data, filter, map.trimmedExtent());
+
+                       dispatch$1.call('drawn', this, { full: false });
+
+                       // redraw everything else later
+                       scheduleRedraw();
+                   }
+               });
+
+               map.dimensions(utilGetDimensions(selection));
+           }
+
+
+           function zoomEventFilter() {
+               // Fix for #2151, (see also d3/d3-zoom#60, d3/d3-brush#18)
+               // Intercept `mousedown` and check if there is an orphaned zoom gesture.
+               // This can happen if a previous `mousedown` occurred without a `mouseup`.
+               // If we detect this, dispatch `mouseup` to complete the orphaned gesture,
+               // so that d3-zoom won't stop propagation of new `mousedown` events.
+               if (event.type === 'mousedown') {
+                   var hasOrphan = false;
+                   var listeners = window.__on;
+                   for (var i = 0; i < listeners.length; i++) {
+                       var listener = listeners[i];
+                       if (listener.name === 'zoom' && listener.type === 'mouseup') {
+                           hasOrphan = true;
+                           break;
+                       }
+                   }
+                   if (hasOrphan) {
+                       var event$1 = window.CustomEvent;
+                       if (event$1) {
+                           event$1 = new event$1('mouseup');
+                       } else {
+                           event$1 = window.document.createEvent('Event');
+                           event$1.initEvent('mouseup', false, false);
+                       }
+                       // Event needs to be dispatched with an event.view property.
+                       event$1.view = window;
+                       window.dispatchEvent(event$1);
+                   }
+               }
+
+               return event.button !== 2;   // ignore right clicks
+           }
+
+
+           function pxCenter() {
+               return [_dimensions[0] / 2, _dimensions[1] / 2];
+           }
+
+
+           function drawEditable(difference, extent) {
+               var mode = context.mode();
+               var graph = context.graph();
+               var features = context.features();
+               var all = context.intersects(map.extent());
+               var fullRedraw = false;
+               var data;
+               var set;
+               var filter;
+
+               if (difference) {
+                   var complete = difference.complete(map.extent());
+                   data = Object.values(complete).filter(Boolean);
+                   set = new Set(data.map(function(entity) { return entity.id; }));
+                   filter = function(d) { return set.has(d.id); };
+                   features.clear(data);
+
+               } else {
+                   // force a full redraw if gatherStats detects that a feature
+                   // should be auto-hidden (e.g. points or buildings)..
+                   if (features.gatherStats(all, graph, _dimensions)) {
+                       extent = undefined;
+                   }
+
+                   if (extent) {
+                       data = context.intersects(map.extent().intersection(extent));
+                       set = new Set(data.map(function(entity) { return entity.id; }));
+                       filter = function(d) { return set.has(d.id); };
+
+                   } else {
+                       data = all;
+                       fullRedraw = true;
+                       filter = utilFunctor(true);
+                   }
+               }
+
+               data = features.filter(data, graph);
+
+               if (mode && mode.id === 'select') {
+                   // update selected vertices - the user might have just double-clicked a way,
+                   // creating a new vertex, triggering a partial redraw without a mode change
+                   surface.call(drawVertices.drawSelected, graph, map.extent());
+               }
+
+               surface
+                   .call(drawVertices, graph, data, filter, map.extent(), fullRedraw)
+                   .call(drawLines, graph, data, filter)
+                   .call(drawAreas, graph, data, filter)
+                   .call(drawMidpoints, graph, data, filter, map.trimmedExtent())
+                   .call(drawLabels, graph, data, filter, _dimensions, fullRedraw)
+                   .call(drawPoints, graph, data, filter);
+
+               dispatch$1.call('drawn', this, {full: true});
+           }
+
+
+           function editOff() {
+               context.features().resetStats();
+               surface.selectAll('.layer-osm *').remove();
+               surface.selectAll('.layer-touch:not(.markers) *').remove();
+
+               var allowed = {
+                   'browse': true,
+                   'save': true,
+                   'select-note': true,
+                   'select-data': true,
+                   'select-error': true
+               };
+
+               var mode = context.mode();
+               if (mode && !allowed[mode.id]) {
+                   context.enter(modeBrowse(context));
+               }
+
+               dispatch$1.call('drawn', this, {full: true});
+           }
+
+
+           function dblClick() {
+               if (!_dblClickEnabled) {
+                   event.preventDefault();
+                   event.stopImmediatePropagation();
+               }
+           }
+
+
+           function gestureChange() {
+               // Remap Safari gesture events to wheel events - #5492
+               // We want these disabled most places, but enabled for zoom/unzoom on map surface
+               // https://developer.mozilla.org/en-US/docs/Web/API/GestureEvent
+               var e = event;
+               e.preventDefault();
+
+               var props = {
+                   deltaMode: 0,    // dummy values to ignore in zoomPan
+                   deltaY: 1,       // dummy values to ignore in zoomPan
+                   clientX: e.clientX,
+                   clientY: e.clientY,
+                   screenX: e.screenX,
+                   screenY: e.screenY,
+                   x: e.x,
+                   y: e.y
+               };
+
+               var e2 = new WheelEvent('wheel', props);
+               e2._scale = e.scale;         // preserve the original scale
+               e2._rotation = e.rotation;   // preserve the original rotation
+
+               _selection.node().dispatchEvent(e2);
+           }
+
+
+           function zoomPan(manualEvent) {
+               var event$1 = (manualEvent || event);
+               var source = event$1.sourceEvent;
+               var eventTransform = event$1.transform;
+               var x = eventTransform.x;
+               var y = eventTransform.y;
+               var k = eventTransform.k;
+
+               if (_transformStart.x === x &&
+                   _transformStart.y === y &&
+                   _transformStart.k === k) {
+                   return;  // no change
+               }
+
+               // Special handling of 'wheel' events:
+               // They might be triggered by the user scrolling the mouse wheel,
+               // or 2-finger pinch/zoom gestures, the transform may need adjustment.
+               if (source && source.type === 'wheel') {
+                   var detected = utilDetect();
+                   var dX = source.deltaX;
+                   var dY = source.deltaY;
+                   var x2 = x;
+                   var y2 = y;
+                   var k2 = k;
+                   var t0, p0, p1;
+
+                   // Normalize mousewheel scroll speed (Firefox) - #3029
+                   // If wheel delta is provided in LINE units, recalculate it in PIXEL units
+                   // We are essentially redoing the calculations that occur here:
+                   //   https://github.com/d3/d3-zoom/blob/78563a8348aa4133b07cac92e2595c2227ca7cd7/src/zoom.js#L203
+                   // See this for more info:
+                   //   https://github.com/basilfx/normalize-wheel/blob/master/src/normalizeWheel.js
+                   if (source.deltaMode === 1 /* LINE */) {
+                       // Convert from lines to pixels, more if the user is scrolling fast.
+                       // (I made up the exp function to roughly match Firefox to what Chrome does)
+                       // These numbers should be floats, because integers are treated as pan gesture below.
+                       var lines = Math.abs(source.deltaY);
+                       var sign = (source.deltaY > 0) ? 1 : -1;
+                       dY = sign * clamp(
+                           Math.exp((lines - 1) * 0.75) * 4.000244140625,
+                           4.000244140625,    // min
+                           350.000244140625   // max
+                       );
+
+                       // On Firefox Windows and Linux we always get +/- the scroll line amount (default 3)
+                       // There doesn't seem to be any scroll accelleration.
+                       // This multiplier increases the speed a little bit - #5512
+                       if (detected.os !== 'mac') {
+                           dY *= 5;
+                       }
+
+                       // recalculate x2,y2,k2
+                       t0 = _isTransformed ? _transformLast : _transformStart;
+                       p0 = _getMouseCoords(source);
+                       p1 = t0.invert(p0);
+                       k2 = t0.k * Math.pow(2, -dY / 500);
+                       x2 = p0[0] - p1[0] * k2;
+                       y2 = p0[1] - p1[1] * k2;
+
+                   // 2 finger map pinch zooming (Safari) - #5492
+                   // These are fake `wheel` events we made from Safari `gesturechange` events..
+                   } else if (source._scale) {
+                       // recalculate x2,y2,k2
+                       t0 = _gestureTransformStart;
+                       p0 = _getMouseCoords(source);
+                       p1 = t0.invert(p0);
+                       k2 = t0.k * source._scale;
+                       x2 = p0[0] - p1[0] * k2;
+                       y2 = p0[1] - p1[1] * k2;
+
+                   // 2 finger map pinch zooming (all browsers except Safari) - #5492
+                   // Pinch zooming via the `wheel` event will always have:
+                   // - `ctrlKey = true`
+                   // - `deltaY` is not round integer pixels (ignore `deltaX`)
+                   } else if (source.ctrlKey && !isInteger(dY)) {
+                       dY *= 6;   // slightly scale up whatever the browser gave us
+
+                       // recalculate x2,y2,k2
+                       t0 = _isTransformed ? _transformLast : _transformStart;
+                       p0 = _getMouseCoords(source);
+                       p1 = t0.invert(p0);
+                       k2 = t0.k * Math.pow(2, -dY / 500);
+                       x2 = p0[0] - p1[0] * k2;
+                       y2 = p0[1] - p1[1] * k2;
+
+                   // Trackpad scroll zooming with shift or alt/option key down
+                   } else if ((source.altKey || source.shiftKey) && isInteger(dY)) {
+                       // recalculate x2,y2,k2
+                       t0 = _isTransformed ? _transformLast : _transformStart;
+                       p0 = _getMouseCoords(source);
+                       p1 = t0.invert(p0);
+                       k2 = t0.k * Math.pow(2, -dY / 500);
+                       x2 = p0[0] - p1[0] * k2;
+                       y2 = p0[1] - p1[1] * k2;
+
+                   // 2 finger map panning (Mac only, all browsers) - #5492, #5512
+                   // Panning via the `wheel` event will always have:
+                   // - `ctrlKey = false`
+                   // - `deltaX`,`deltaY` are round integer pixels
+                   } else if (detected.os === 'mac' && !source.ctrlKey && isInteger(dX) && isInteger(dY)) {
+                       p1 = projection.translate();
+                       x2 = p1[0] - dX;
+                       y2 = p1[1] - dY;
+                       k2 = projection.scale();
+                   }
+
+                   // something changed - replace the event transform
+                   if (x2 !== x || y2 !== y || k2 !== k) {
+                       x = x2;
+                       y = y2;
+                       k = k2;
+                       eventTransform = identity$8.translate(x2, y2).scale(k2);
+                       _selection.node().__zoom = eventTransform;
+                   }
+
+               }
+
+               if (geoScaleToZoom(k, TILESIZE) < _minzoom) {
+                   surface.interrupt();
+                   uiFlash().text(t('cannot_zoom'))();
+                   setCenterZoom(map.center(), context.minEditableZoom(), 0, true);
+                   scheduleRedraw();
+                   dispatch$1.call('move', this, map);
+                   return;
+               }
+
+               projection.transform(eventTransform);
+
+               var scale = k / _transformStart.k;
+               var tX = (x / scale - _transformStart.x) * scale;
+               var tY = (y / scale - _transformStart.y) * scale;
+
+               if (context.inIntro()) {
+                   curtainProjection.transform({
+                       x: x - tX,
+                       y: y - tY,
+                       k: k
+                   });
+               }
+
+               if (source) {
+                   _mouseEvent = event$1;
+               }
+               _isTransformed = true;
+               _transformLast = eventTransform;
+               utilSetTransform(supersurface, tX, tY, scale);
+               scheduleRedraw();
+
+               dispatch$1.call('move', this, map);
+
+
+               function isInteger(val) {
+                   return typeof val === 'number' && isFinite(val) && Math.floor(val) === val;
+               }
+           }
+
+
+           function resetTransform() {
+               if (!_isTransformed) return false;
+
+               // deprecation warning - Radial Menu to be removed in iD v3
+               surface.selectAll('.edit-menu, .radial-menu').interrupt().remove();
+               utilSetTransform(supersurface, 0, 0);
+               _isTransformed = false;
+               if (context.inIntro()) {
+                   curtainProjection.transform(projection.transform());
+               }
+               return true;
+           }
+
+
+           function redraw(difference, extent) {
+               if (surface.empty() || !_redrawEnabled) return;
+
+               // If we are in the middle of a zoom/pan, we can't do differenced redraws.
+               // It would result in artifacts where differenced entities are redrawn with
+               // one transform and unchanged entities with another.
+               if (resetTransform()) {
+                   difference = extent = undefined;
+               }
+
+               var zoom = map.zoom();
+               var z = String(~~zoom);
+
+               if (surface.attr('data-zoom') !== z) {
+                   surface.attr('data-zoom', z);
+               }
+
+               // class surface as `lowzoom` around z17-z18.5 (based on latitude)
+               var lat = map.center()[1];
+               var lowzoom = linear$2()
+                   .domain([-60, 0, 60])
+                   .range([17, 18.5, 17])
+                   .clamp(true);
+
+               surface
+                   .classed('low-zoom', zoom <= lowzoom(lat));
+
+
+               if (!difference) {
+                   supersurface.call(context.background());
+                   wrapper.call(drawLayers);
+               }
+
+               // OSM
+               if (map.editable()) {
+                   context.loadTiles(projection);
+                   drawEditable(difference, extent);
+               } else {
+                   editOff();
+               }
+
+               _transformStart = projection.transform();
+
+               return map;
+           }
+
+
+
+           var immediateRedraw = function(difference, extent) {
+               if (!difference && !extent) cancelPendingRedraw();
+               redraw(difference, extent);
+           };
+
+
+           map.mouse = function() {
+               var event$1 = _mouseEvent || event;
+               if (event$1) {
+                   var s;
+                   while ((s = event$1.sourceEvent)) { event$1 = s; }
+                   return _getMouseCoords(event$1);
+               }
+               return null;
+           };
+
+
+           // returns Lng/Lat
+           map.mouseCoordinates = function() {
+               var coord = map.mouse() || pxCenter();
+               return projection.invert(coord);
+           };
+
+
+           map.dblclickEnable = function(val) {
+               if (!arguments.length) return _dblClickEnabled;
+               _dblClickEnabled = val;
+               return map;
+           };
+
+
+           map.redrawEnable = function(val) {
+               if (!arguments.length) return _redrawEnabled;
+               _redrawEnabled = val;
+               return map;
+           };
+
+
+           map.isTransformed = function() {
+               return _isTransformed;
+           };
+
+
+           function setTransform(t2, duration, force) {
+               var t = projection.transform();
+               if (!force && t2.k === t.k && t2.x === t.x && t2.y === t.y) return false;
+
+               if (duration) {
+                   _selection
+                       .transition()
+                       .duration(duration)
+                       .on('start', function() { map.startEase(); })
+                       .call(zoom.transform, identity$8.translate(t2.x, t2.y).scale(t2.k));
+               } else {
+                   projection.transform(t2);
+                   _transformStart = t2;
+                   _selection.call(zoom.transform, _transformStart);
+               }
+
+               return true;
+           }
+
+
+           function setCenterZoom(loc2, z2, duration, force) {
+               var c = map.center();
+               var z = map.zoom();
+               if (loc2[0] === c[0] && loc2[1] === c[1] && z2 === z && !force) return false;
+
+               var proj = geoRawMercator().transform(projection.transform());  // copy projection
+
+               var k2 = clamp(geoZoomToScale(z2, TILESIZE), kMin, kMax);
+               proj.scale(k2);
+
+               var t = proj.translate();
+               var point = proj(loc2);
+
+               var center = pxCenter();
+               t[0] += center[0] - point[0];
+               t[1] += center[1] - point[1];
+
+               return setTransform(identity$8.translate(t[0], t[1]).scale(k2), duration, force);
+           }
+
+
+           map.pan = function(delta, duration) {
+               var t = projection.translate();
+               var k = projection.scale();
+
+               t[0] += delta[0];
+               t[1] += delta[1];
+
+               if (duration) {
+                   _selection
+                       .transition()
+                       .duration(duration)
+                       .on('start', function() { map.startEase(); })
+                       .call(zoom.transform, identity$8.translate(t[0], t[1]).scale(k));
+               } else {
+                   projection.translate(t);
+                   _transformStart = projection.transform();
+                   _selection.call(zoom.transform, _transformStart);
+                   dispatch$1.call('move', this, map);
+                   immediateRedraw();
+               }
+
+               return map;
+           };
+
+
+           map.dimensions = function(val) {
+               if (!arguments.length) return _dimensions;
+
+               _dimensions = val;
+               drawLayers.dimensions(_dimensions);
+               context.background().dimensions(_dimensions);
+               projection.clipExtent([[0, 0], _dimensions]);
+               _getMouseCoords = utilFastMouse(supersurface.node());
+
+               scheduleRedraw();
+               return map;
+           };
+
+
+           function zoomIn(delta) {
+               setCenterZoom(map.center(), ~~map.zoom() + delta, 250, true);
+           }
+
+           function zoomOut(delta) {
+               setCenterZoom(map.center(), ~~map.zoom() - delta, 250, true);
+           }
+
+           map.zoomIn = function() { zoomIn(1); };
+           map.zoomInFurther = function() { zoomIn(4); };
+
+           map.zoomOut = function() { zoomOut(1); };
+           map.zoomOutFurther = function() { zoomOut(4); };
+
+
+           map.center = function(loc2) {
+               if (!arguments.length) {
+                   return projection.invert(pxCenter());
+               }
+
+               if (setCenterZoom(loc2, map.zoom())) {
+                   dispatch$1.call('move', this, map);
+               }
+
+               scheduleRedraw();
+               return map;
+           };
+
+           map.unobscuredCenterZoomEase = function(loc, zoom) {
+               var offset = map.unobscuredOffsetPx();
+
+               var proj = geoRawMercator().transform(projection.transform());  // copy projection
+               // use the target zoom to calculate the offset center
+               proj.scale(geoZoomToScale(zoom, TILESIZE));
+               
+               var locPx = proj(loc);
+               var offsetLocPx = [locPx[0] + offset[0], locPx[1] + offset[1]];
+               var offsetLoc = proj.invert(offsetLocPx);
+
+               map.centerZoomEase(offsetLoc, zoom);
+           };
+
+           map.unobscuredOffsetPx = function() {
+               var openPane = d3_select('.map-panes .map-pane.shown');
+               if (!openPane.empty()) {
+                   return [openPane.node().offsetWidth/2, 0];
+               }
+               return [0, 0];
+           };
+
+           map.zoom = function(z2) {
+               if (!arguments.length) {
+                   return Math.max(geoScaleToZoom(projection.scale(), TILESIZE), 0);
+               }
+
+               if (z2 < _minzoom) {
+                   surface.interrupt();
+                   uiFlash().text(t('cannot_zoom'))();
+                   z2 = context.minEditableZoom();
+               }
+
+               if (setCenterZoom(map.center(), z2)) {
+                   dispatch$1.call('move', this, map);
+               }
+
+               scheduleRedraw();
+               return map;
+           };
+
+
+           map.centerZoom = function(loc2, z2) {
+               if (setCenterZoom(loc2, z2)) {
+                   dispatch$1.call('move', this, map);
+               }
+
+               scheduleRedraw();
+               return map;
+           };
+
+
+           map.zoomTo = function(entity) {
+               var extent = entity.extent(context.graph());
+               if (!isFinite(extent.area())) return map;
+
+               var z2 = clamp(map.trimmedExtentZoom(extent), context.minEditableZoom(), 20);
+               return map.centerZoom(extent.center(), z2);
+           };
+
+
+           map.centerEase = function(loc2, duration) {
+               duration = duration || 250;
+               setCenterZoom(loc2, map.zoom(), duration);
+               return map;
+           };
+
+
+           map.zoomEase = function(z2, duration) {
+               duration = duration || 250;
+               setCenterZoom(map.center(), z2, duration, false);
+               return map;
+           };
+
+
+           map.centerZoomEase = function(loc2, z2, duration) {
+               duration = duration || 250;
+               setCenterZoom(loc2, z2, duration, false);
+               return map;
+           };
+
+
+           map.transformEase = function(t2, duration) {
+               duration = duration || 250;
+               setTransform(t2, duration, false);
+               return map;
+           };
+
+
+           map.zoomToEase = function(entity, duration) {
+               var extent = entity.extent(context.graph());
+               if (!isFinite(extent.area())) return map;
+
+               var z2 = clamp(map.trimmedExtentZoom(extent), context.minEditableZoom(), 20);
+               return map.centerZoomEase(extent.center(), z2, duration);
+           };
+
+
+           map.startEase = function() {
+               utilBindOnce(surface, 'mousedown.ease', function() {
+                   map.cancelEase();
+               });
+               return map;
+           };
+
+
+           map.cancelEase = function() {
+               _selection.interrupt();
+               return map;
+           };
+
+
+           map.extent = function(val) {
+               if (!arguments.length) {
+                   return new geoExtent(
+                       projection.invert([0, _dimensions[1]]),
+                       projection.invert([_dimensions[0], 0])
+                   );
+               } else {
+                   var extent = geoExtent(val);
+                   map.centerZoom(extent.center(), map.extentZoom(extent));
+               }
+           };
+
+
+           map.trimmedExtent = function(val) {
+               if (!arguments.length) {
+                   var headerY = 60;
+                   var footerY = 30;
+                   var pad = 10;
+                   return new geoExtent(
+                       projection.invert([pad, _dimensions[1] - footerY - pad]),
+                       projection.invert([_dimensions[0] - pad, headerY + pad])
+                   );
+               } else {
+                   var extent = geoExtent(val);
+                   map.centerZoom(extent.center(), map.trimmedExtentZoom(extent));
+               }
+           };
+
+
+           function calcExtentZoom(extent, dim) {
+               var tl = projection([extent[0][0], extent[1][1]]);
+               var br = projection([extent[1][0], extent[0][1]]);
+
+               // Calculate maximum zoom that fits extent
+               var hFactor = (br[0] - tl[0]) / dim[0];
+               var vFactor = (br[1] - tl[1]) / dim[1];
+               var hZoomDiff = Math.log(Math.abs(hFactor)) / Math.LN2;
+               var vZoomDiff = Math.log(Math.abs(vFactor)) / Math.LN2;
+               var newZoom = map.zoom() - Math.max(hZoomDiff, vZoomDiff);
+
+               return newZoom;
+           }
+
+
+           map.extentZoom = function(val) {
+               return calcExtentZoom(geoExtent(val), _dimensions);
+           };
+
+
+           map.trimmedExtentZoom = function(val) {
+               var trimY = 120;
+               var trimX = 40;
+               var trimmed = [_dimensions[0] - trimX, _dimensions[1] - trimY];
+               return calcExtentZoom(geoExtent(val), trimmed);
+           };
+
+
+           map.editable = function() {
+               var layer = context.layers().layer('osm');
+               if (!layer || !layer.enabled()) return false;
+
+               return map.zoom() >= context.minEditableZoom();
+           };
+
+
+           map.notesEditable = function() {
+               var layer = context.layers().layer('notes');
+               if (!layer || !layer.enabled()) return false;
+
+               return map.zoom() >= context.minEditableZoom();
+           };
+
+
+           map.minzoom = function(val) {
+               if (!arguments.length) return _minzoom;
+               _minzoom = val;
+               return map;
+           };
+
+
+           map.layers = drawLayers;
+
+
+           return utilRebind(map, dispatch$1, 'on');
+       }
+
+       function rendererPhotos(context) {
+           var dispatch$1 = dispatch('change');
+           var _layerIDs = ['streetside', 'mapillary', 'mapillary-signs', 'openstreetcam'];
+           var _allPhotoTypes = ['flat', 'panoramic'];
+           var _shownPhotoTypes = _allPhotoTypes.slice();   // shallow copy
+
+           function photos() {}
+
+           function updateStorage() {
+               if (window.mocha) return;
+
+               var q = utilStringQs(window.location.hash.substring(1));
+               var enabled = context.layers().all().filter(function(d) {
+                   return _layerIDs.indexOf(d.id) !== -1 && d.layer && d.layer.supported() && d.layer.enabled();
+               }).map(function(d) {
+                   return d.id;
+               });
+               if (enabled.length) {
+                   q.photo_overlay = enabled.join(',');
+               } else {
+                   delete q.photo_overlay;
+               }
+               window.location.replace('#' + utilQsString(q, true));
+           }
+
+           photos.overlayLayerIDs = function() {
+               return _layerIDs;
+           };
+
+           photos.allPhotoTypes = function() {
+               return _allPhotoTypes;
+           };
+
+           function showsLayer(id) {
+               var layer = context.layers().layer(id);
+               return layer && layer.supported() && layer.enabled();
+           }
+
+           photos.shouldFilterByPhotoType = function() {
+               return showsLayer('mapillary') ||
+                   (showsLayer('streetside') && showsLayer('openstreetcam'));
+           };
+
+           photos.showsPhotoType = function(val) {
+               if (!photos.shouldFilterByPhotoType()) return true;
+
+               return _shownPhotoTypes.indexOf(val) !== -1;
+           };
+
+           photos.showsFlat = function() {
+               return photos.showsPhotoType('flat');
+           };
+
+           photos.showsPanoramic = function() {
+               return photos.showsPhotoType('panoramic');
+           };
+
+           photos.togglePhotoType = function(val) {
+               var index = _shownPhotoTypes.indexOf(val);
+               if (index !== -1) {
+                   _shownPhotoTypes.splice(index, 1);
+               } else {
+                   _shownPhotoTypes.push(val);
+               }
+               dispatch$1.call('change', this);
+               return photos;
+           };
+
+           photos.init = function() {
+               var q = utilStringQs(window.location.hash.substring(1));
+               if (q.photo_overlay) {
+                   var hashOverlayIDs = q.photo_overlay.replace(/;/g, ',').split(',');
+                   hashOverlayIDs.forEach(function(id) {
+                       var layer = context.layers().layer(id);
+                       if (layer) layer.enabled(true);
+                   });
+               }
+
+               context.layers().on('change.rendererPhotos', updateStorage);
+           };
+
+           return utilRebind(photos, dispatch$1, 'on');
+       }
+
+       function uiAccount(context) {
+           var osm = context.connection();
+
+
+           function update(selection) {
+               if (!osm) return;
+
+               if (!osm.authenticated()) {
+                   selection.selectAll('#userLink, #logoutLink')
+                       .classed('hide', true);
+                   return;
+               }
+
+               osm.userDetails(function(err, details) {
+                   var userLink = selection.select('#userLink'),
+                       logoutLink = selection.select('#logoutLink');
+
+                   userLink.html('');
+                   logoutLink.html('');
+
+                   if (err) return;
+
+                   selection.selectAll('#userLink, #logoutLink')
+                       .classed('hide', false);
+
+                   // Link
+                   userLink.append('a')
+                       .attr('href', osm.userURL(details.display_name))
+                       .attr('target', '_blank');
+
+                   // Add thumbnail or dont
+                   if (details.image_url) {
+                       userLink.append('img')
+                           .attr('class', 'icon pre-text user-icon')
+                           .attr('src', details.image_url);
+                   } else {
+                       userLink
+                           .call(svgIcon('#iD-icon-avatar', 'pre-text light'));
+                   }
+
+                   // Add user name
+                   userLink.append('span')
+                       .attr('class', 'label')
+                       .text(details.display_name);
+
+                   logoutLink.append('a')
+                       .attr('class', 'logout')
+                       .attr('href', '#')
+                       .text(t('logout'))
+                       .on('click.logout', function() {
+                           event.preventDefault();
+                           osm.logout();
+                       });
+               });
+           }
+
+
+           return function(selection) {
+               selection.append('li')
+                   .attr('id', 'logoutLink')
+                   .classed('hide', true);
+
+               selection.append('li')
+                   .attr('id', 'userLink')
+                   .classed('hide', true);
+
+               if (osm) {
+                   osm.on('change.account', function() { update(selection); });
+                   update(selection);
+               }
+           };
+       }
+
+       function uiAttribution(context) {
+           var selection;
+
+
+           function attribution(data, klass) {
+               var div = selection.selectAll('.' + klass)
+                   .data([0]);
+
+               div = div.enter()
+                   .append('div')
+                   .attr('class', klass)
+                   .merge(div);
+
+
+               var background = div.selectAll('.attribution')
+                   .data(data, function(d) { return d.name(); });
+
+               background.exit()
+                   .remove();
+
+               background = background.enter()
+                   .append('span')
+                   .attr('class', 'attribution')
+                   .each(function(d) {
+                       if (d.terms_html) {
+                           d3_select(this)
+                               .html(d.terms_html);
+                           return;
+                       }
+
+                       var selection;
+                       if (d.terms_url) {
+                           selection = d3_select(this)
+                               .append('a')
+                               .attr('href', d.terms_url)
+                               .attr('target', '_blank');
+                       } else {
+                           selection = d3_select(this);
+                       }
+
+
+                       var id_safe = d.id.replace(/\./g, '<TX_DOT>');
+                       var terms_text = t('imagery.' + id_safe + '.attribution.text',
+                           { default: d.terms_text || d.id || d.name() }
+                       );
+
+                       if (d.icon && !d.overlay) {
+                           selection
+                               .append('img')
+                               .attr('class', 'source-image')
+                               .attr('src', d.icon);
+                       }
+
+                       selection
+                           .append('span')
+                           .attr('class', 'attribution-text')
+                           .text(terms_text);
+                   })
+                   .merge(background);
+
+
+               var copyright = background.selectAll('.copyright-notice')
+                   .data(function(d) {
+                       var notice = d.copyrightNotices(context.map().zoom(), context.map().extent());
+                       return notice ? [notice] : [];
+                   });
+
+               copyright.exit()
+                   .remove();
+
+               copyright = copyright.enter()
+                   .append('span')
+                   .attr('class', 'copyright-notice')
+                   .merge(copyright);
+
+               copyright
+                   .text(String);
+           }
+
+
+           function update() {
+               attribution([context.background().baseLayerSource()], 'base-layer-attribution');
+               attribution(context.background().overlayLayerSources().filter(function (s) {
+                   return s.validZoom(context.map().zoom());
+               }), 'overlay-layer-attribution');
+           }
+
+
+           return function(select) {
+               selection = select;
+
+               context.background()
+                   .on('change.attribution', update);
+
+               context.map()
+                   .on('move.attribution', throttle(update, 400, {leading: false}));
+
+               update();
+           };
+       }
+
+       function uiBackgroundDisplayOptions(context) {
+           var detected = utilDetect();
+           var storedOpacity = context.storage('background-opacity');
+           var minVal = 0.25;
+           var maxVal = detected.cssfilters ? 2 : 1;
+
+           var sliders = detected.cssfilters
+               ? ['brightness', 'contrast', 'saturation', 'sharpness']
+               : ['brightness'];
+
+           var _options = {
+               brightness: (storedOpacity !== null ? (+storedOpacity) : 1),
+               contrast: 1,
+               saturation: 1,
+               sharpness: 1
+           };
+
+           var _selection = d3_select(null);
+
+
+           function clamp(x, min, max) {
+               return Math.max(min, Math.min(x, max));
+           }
+
+
+           function updateValue(d, val) {
+               if (!val && event && event.target) {
+                   val = event.target.value;
+               }
+
+               val = clamp(val, minVal, maxVal);
+
+               _options[d] = val;
+               context.background()[d](val);
+
+               if (d === 'brightness') {
+                   context.storage('background-opacity', val);
+               }
+
+               _selection
+                   .call(render);
+           }
+
+
+           function render(selection) {
+               var container = selection.selectAll('.display-options-container')
+                   .data([0]);
+
+               var containerEnter = container.enter()
+                   .append('div')
+                   .attr('class', 'display-options-container controls-list');
+
+               // add slider controls
+               var slidersEnter = containerEnter.selectAll('.display-control')
+                   .data(sliders)
+                   .enter()
+                   .append('div')
+                   .attr('class', function(d) { return 'display-control display-control-' + d; });
+
+               slidersEnter
+                   .append('h5')
+                   .text(function(d) { return t('background.' + d); })
+                   .append('span')
+                   .attr('class', function(d) { return 'display-option-value display-option-value-' + d; });
+
+               slidersEnter
+                   .append('input')
+                   .attr('class', function(d) { return 'display-option-input display-option-input-' + d; })
+                   .attr('type', 'range')
+                   .attr('min', minVal)
+                   .attr('max', maxVal)
+                   .attr('step', '0.05')
+                   .on('input', function(d) {
+                       var val = d3_select(this).property('value');
+                       updateValue(d, val);
+                   });
+
+               slidersEnter
+                   .append('button')
+                   .attr('title', t('background.reset'))
+                   .attr('class', function(d) { return 'display-option-reset display-option-reset-' + d; })
+                   .on('click', function(d) {
+                       if (event.button !== 0) return;
+                       updateValue(d, 1);
+                   })
+                   .call(svgIcon('#iD-icon-' + (textDirection === 'rtl' ? 'redo' : 'undo')));
+
+               // reset all button
+               containerEnter
+                   .append('a')
+                   .attr('class', 'display-option-resetlink')
+                   .attr('href', '#')
+                   .text(t('background.reset_all'))
+                   .on('click', function() {
+                       for (var i = 0; i < sliders.length; i++) {
+                           updateValue(sliders[i],1);
+                       }
+                   });
+
+               // update
+               container = containerEnter
+                   .merge(container);
+
+               container.selectAll('.display-option-input')
+                   .property('value', function(d) { return _options[d]; });
+
+               container.selectAll('.display-option-value')
+                   .text(function(d) { return Math.floor(_options[d] * 100) + '%'; });
+
+               container.selectAll('.display-option-reset')
+                   .classed('disabled', function(d) { return _options[d] === 1; });
+
+               // first time only, set brightness if needed
+               if (containerEnter.size() && _options.brightness !== 1) {
+                   context.background().brightness(_options.brightness);
+               }
+           }
+
+
+           function backgroundDisplayOptions(selection) {
+               _selection = selection;
+
+               selection
+                   .call(uiDisclosure(context, 'background_display_options', true)
+                       .title(t('background.display_options'))
+                       .content(render)
+                   );
+           }
+
+
+           return backgroundDisplayOptions;
+       }
+
+       function uiBackgroundOffset(context) {
+           var directions = [
+               ['right', [0.5, 0]],
+               ['top', [0, -0.5]],
+               ['left', [-0.5, 0]],
+               ['bottom', [0, 0.5]]
+           ];
+
+
+           function d3_eventCancel() {
+               event.stopPropagation();
+               event.preventDefault();
+           }
+
+
+           function updateValue() {
+               var meters = geoOffsetToMeters(context.background().offset());
+               var x = +meters[0].toFixed(2);
+               var y = +meters[1].toFixed(2);
+
+               d3_selectAll('.nudge-inner-rect')
+                   .select('input')
+                   .classed('error', false)
+                   .property('value', x + ', ' + y);
+
+               d3_selectAll('.nudge-reset')
+                   .classed('disabled', function() {
+                       return (x === 0 && y === 0);
+                   });
+           }
+
+
+           function resetOffset() {
+               context.background().offset([0, 0]);
+               updateValue();
+           }
+
+
+           function nudge(d) {
+               context.background().nudge(d, context.map().zoom());
+               updateValue();
+           }
+
+
+           function clickNudgeButton(d) {
+               var interval;
+               var timeout = window.setTimeout(function() {
+                       interval = window.setInterval(nudge.bind(null, d), 100);
+                   }, 500);
+
+               function doneNudge() {
+                   window.clearTimeout(timeout);
+                   window.clearInterval(interval);
+                   d3_select(window)
+                       .on('mouseup.buttonoffset', null, true)
+                       .on('mousedown.buttonoffset', null, true);
+               }
+
+               d3_select(window)
+                   .on('mouseup.buttonoffset', doneNudge, true)
+                   .on('mousedown.buttonoffset', doneNudge, true);
+
+               nudge(d);
+           }
+
+
+           function inputOffset() {
+               var input = d3_select(this);
+               var d = input.node().value;
+
+               if (d === '') return resetOffset();
+
+               d = d.replace(/;/g, ',').split(',').map(function(n) {
+                   // if n is NaN, it will always get mapped to false.
+                   return !isNaN(n) && n;
+               });
+
+               if (d.length !== 2 || !d[0] || !d[1]) {
+                   input.classed('error', true);
+                   return;
+               }
+
+               context.background().offset(geoMetersToOffset(d));
+               updateValue();
+           }
+
+
+           function dragOffset() {
+               event.preventDefault();
+               if (event.button !== 0) return;
+
+               var origin = [event.clientX, event.clientY];
+
+               context.container()
+                   .append('div')
+                   .attr('class', 'nudge-surface');
+
+               d3_select(window)
+                   .on('mousemove.offset', function() {
+                       var latest = [event.clientX, event.clientY];
+                       var d = [
+                           -(origin[0] - latest[0]) / 4,
+                           -(origin[1] - latest[1]) / 4
+                       ];
+
+                       origin = latest;
+                       nudge(d);
+                   })
+                   .on('mouseup.offset', function() {
+                       if (event.button !== 0) return;
+                       d3_selectAll('.nudge-surface')
+                           .remove();
+
+                       d3_select(window)
+                           .on('mousemove.offset', null)
+                           .on('mouseup.offset', null);
+                   });
+           }
+
+
+           function render(selection) {
+               var container = selection.selectAll('.nudge-container')
+                   .data([0]);
+
+               var containerEnter = container.enter()
+                   .append('div')
+                   .attr('class', 'nudge-container cf');
+
+               containerEnter
+                   .append('div')
+                   .attr('class', 'nudge-instructions')
+                   .text(t('background.offset'));
+
+               var nudgeEnter = containerEnter
+                   .append('div')
+                   .attr('class', 'nudge-outer-rect')
+                   .on('mousedown', dragOffset);
+
+               nudgeEnter
+                   .append('div')
+                   .attr('class', 'nudge-inner-rect')
+                   .append('input')
+                   .on('change', inputOffset);
+
+               containerEnter
+                   .append('div')
+                   .selectAll('button')
+                   .data(directions).enter()
+                   .append('button')
+                   .attr('class', function(d) { return d[0] + ' nudge'; })
+                   .on('contextmenu', d3_eventCancel)
+                   .on('mousedown', function(d) {
+                       if (event.button !== 0) return;
+                       clickNudgeButton(d[1]);
+                   });
+
+               containerEnter
+                   .append('button')
+                   .attr('title', t('background.reset'))
+                   .attr('class', 'nudge-reset disabled')
+                   .on('contextmenu', d3_eventCancel)
+                   .on('click', function() {
+                       if (event.button !== 0) return;
+                       resetOffset();
+                   })
+                   .call(svgIcon('#iD-icon-' + (textDirection === 'rtl' ? 'redo' : 'undo')));
+
+               updateValue();
+           }
+
+
+           function backgroundOffset(selection) {
+               selection
+                   .call(uiDisclosure(context, 'background_offset', false)
+                       .title(t('background.fix_misalignment'))
+                       .content(render)
+                   );
+           }
+
+
+           context.background()
+               .on('change.backgroundOffset-update', updateValue);
+
+           return backgroundOffset;
+       }
+
+       // import { utilGetDimensions } from '../util/dimensions';
+
+
+       function uiMapInMap(context) {
+
+           function mapInMap(selection) {
+               var backgroundLayer = rendererTileLayer(context);
+               var overlayLayers = {};
+               var projection = geoRawMercator();
+               var dataLayer = svgData(projection, context).showLabels(false);
+               var debugLayer = svgDebug(projection, context);
+               var zoom = d3_zoom()
+                   .scaleExtent([geoZoomToScale(0.5), geoZoomToScale(24)])
+                   .on('start', zoomStarted)
+                   .on('zoom', zoomed)
+                   .on('end', zoomEnded);
+
+               var wrap = d3_select(null);
+               var tiles = d3_select(null);
+               var viewport = d3_select(null);
+
+               var _isTransformed = false;
+               var _isHidden = true;
+               var _skipEvents = false;
+               var _gesture = null;
+               var _zDiff = 6;    // by default, minimap renders at (main zoom - 6)
+               var _dMini;        // dimensions of minimap
+               var _cMini;        // center pixel of minimap
+               var _tStart;       // transform at start of gesture
+               var _tCurr;        // transform at most recent event
+               var _timeoutID;
+
+
+               function zoomStarted() {
+                   if (_skipEvents) return;
+                   _tStart = _tCurr = projection.transform();
+                   _gesture = null;
+               }
+
+
+               function zoomed() {
+                   if (_skipEvents) return;
+
+                   var x = event.transform.x;
+                   var y = event.transform.y;
+                   var k = event.transform.k;
+                   var isZooming = (k !== _tStart.k);
+                   var isPanning = (x !== _tStart.x || y !== _tStart.y);
+
+                   if (!isZooming && !isPanning) {
+                       return;  // no change
+                   }
+
+                   // lock in either zooming or panning, don't allow both in minimap.
+                   if (!_gesture) {
+                       _gesture = isZooming ? 'zoom' : 'pan';
+                   }
+
+                   var tMini = projection.transform();
+                   var tX, tY, scale;
+
+                   if (_gesture === 'zoom') {
+                       scale = k / tMini.k;
+                       tX = (_cMini[0] / scale - _cMini[0]) * scale;
+                       tY = (_cMini[1] / scale - _cMini[1]) * scale;
+                   } else {
+                       k = tMini.k;
+                       scale = 1;
+                       tX = x - tMini.x;
+                       tY = y - tMini.y;
+                   }
+
+                   utilSetTransform(tiles, tX, tY, scale);
+                   utilSetTransform(viewport, 0, 0, scale);
+                   _isTransformed = true;
+                   _tCurr = identity$8.translate(x, y).scale(k);
+
+                   var zMain = geoScaleToZoom(context.projection.scale());
+                   var zMini = geoScaleToZoom(k);
+
+                   _zDiff = zMain - zMini;
+
+                   queueRedraw();
+               }
+
+
+               function zoomEnded() {
+                   if (_skipEvents) return;
+                   if (_gesture !== 'pan') return;
+
+                   updateProjection();
+                   _gesture = null;
+                   context.map().center(projection.invert(_cMini));   // recenter main map..
+               }
+
+
+               function updateProjection() {
+                   var loc = context.map().center();
+                   var tMain = context.projection.transform();
+                   var zMain = geoScaleToZoom(tMain.k);
+                   var zMini = Math.max(zMain - _zDiff, 0.5);
+                   var kMini = geoZoomToScale(zMini);
+
+                   projection
+                       .translate([tMain.x, tMain.y])
+                       .scale(kMini);
+
+                   var point = projection(loc);
+                   var mouse = (_gesture === 'pan') ? geoVecSubtract([_tCurr.x, _tCurr.y], [_tStart.x, _tStart.y]) : [0, 0];
+                   var xMini = _cMini[0] - point[0] + tMain.x + mouse[0];
+                   var yMini = _cMini[1] - point[1] + tMain.y + mouse[1];
+
+                   projection
+                       .translate([xMini, yMini])
+                       .clipExtent([[0, 0], _dMini]);
+
+                   _tCurr = projection.transform();
+
+                   if (_isTransformed) {
+                       utilSetTransform(tiles, 0, 0);
+                       utilSetTransform(viewport, 0, 0);
+                       _isTransformed = false;
+                   }
+
+                   zoom
+                       .scaleExtent([geoZoomToScale(0.5), geoZoomToScale(zMain - 3)]);
+
+                   _skipEvents = true;
+                   wrap.call(zoom.transform, _tCurr);
+                   _skipEvents = false;
+               }
+
+
+               function redraw() {
+                   clearTimeout(_timeoutID);
+                   if (_isHidden) return;
+
+                   updateProjection();
+                   var zMini = geoScaleToZoom(projection.scale());
+
+                   // setup tile container
+                   tiles = wrap
+                       .selectAll('.map-in-map-tiles')
+                       .data([0]);
+
+                   tiles = tiles.enter()
+                       .append('div')
+                       .attr('class', 'map-in-map-tiles')
+                       .merge(tiles);
+
+                   // redraw background
+                   backgroundLayer
+                       .source(context.background().baseLayerSource())
+                       .projection(projection)
+                       .dimensions(_dMini);
+
+                   var background = tiles
+                       .selectAll('.map-in-map-background')
+                       .data([0]);
+
+                   background.enter()
+                       .append('div')
+                       .attr('class', 'map-in-map-background')
+                       .merge(background)
+                       .call(backgroundLayer);
+
+
+                   // redraw overlay
+                   var overlaySources = context.background().overlayLayerSources();
+                   var activeOverlayLayers = [];
+                   for (var i = 0; i < overlaySources.length; i++) {
+                       if (overlaySources[i].validZoom(zMini)) {
+                           if (!overlayLayers[i]) overlayLayers[i] = rendererTileLayer(context);
+                           activeOverlayLayers.push(overlayLayers[i]
+                               .source(overlaySources[i])
+                               .projection(projection)
+                               .dimensions(_dMini));
+                       }
+                   }
+
+                   var overlay = tiles
+                       .selectAll('.map-in-map-overlay')
+                       .data([0]);
+
+                   overlay = overlay.enter()
+                       .append('div')
+                       .attr('class', 'map-in-map-overlay')
+                       .merge(overlay);
+
+
+                   var overlays = overlay
+                       .selectAll('div')
+                       .data(activeOverlayLayers, function(d) { return d.source().name(); });
+
+                   overlays.exit()
+                       .remove();
+
+                   overlays = overlays.enter()
+                       .append('div')
+                       .merge(overlays)
+                       .each(function(layer) { d3_select(this).call(layer); });
+
+
+                   var dataLayers = tiles
+                       .selectAll('.map-in-map-data')
+                       .data([0]);
+
+                   dataLayers.exit()
+                       .remove();
+
+                   dataLayers = dataLayers.enter()
+                       .append('svg')
+                       .attr('class', 'map-in-map-data')
+                       .merge(dataLayers)
+                       .call(dataLayer)
+                       .call(debugLayer);
+
+
+                   // redraw viewport bounding box
+                   if (_gesture !== 'pan') {
+                       var getPath = d3_geoPath(projection);
+                       var bbox = { type: 'Polygon', coordinates: [context.map().extent().polygon()] };
+
+                       viewport = wrap.selectAll('.map-in-map-viewport')
+                           .data([0]);
+
+                       viewport = viewport.enter()
+                           .append('svg')
+                           .attr('class', 'map-in-map-viewport')
+                           .merge(viewport);
+
+
+                       var path = viewport.selectAll('.map-in-map-bbox')
+                           .data([bbox]);
+
+                       path.enter()
+                           .append('path')
+                           .attr('class', 'map-in-map-bbox')
+                           .merge(path)
+                           .attr('d', getPath)
+                           .classed('thick', function(d) { return getPath.area(d) < 30; });
+                   }
+               }
+
+
+               function queueRedraw() {
+                   clearTimeout(_timeoutID);
+                   _timeoutID = setTimeout(function() { redraw(); }, 750);
+               }
+
+
+               function toggle() {
+                   if (event) event.preventDefault();
+
+                   _isHidden = !_isHidden;
+
+                   d3_select('.minimap-toggle-item')
+                       .classed('active', !_isHidden)
+                       .select('input')
+                       .property('checked', !_isHidden);
+
+                   if (_isHidden) {
+                       wrap
+                           .style('display', 'block')
+                           .style('opacity', '1')
+                           .transition()
+                           .duration(200)
+                           .style('opacity', '0')
+                           .on('end', function() {
+                               selection.selectAll('.map-in-map')
+                                   .style('display', 'none');
+                           });
+                   } else {
+                       wrap
+                           .style('display', 'block')
+                           .style('opacity', '0')
+                           .transition()
+                           .duration(200)
+                           .style('opacity', '1')
+                           .on('end', function() {
+                               redraw();
+                           });
+                   }
+               }
+
+
+               uiMapInMap.toggle = toggle;
+
+               wrap = selection.selectAll('.map-in-map')
+                   .data([0]);
+
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'map-in-map')
+                   .style('display', (_isHidden ? 'none' : 'block'))
+                   .call(zoom)
+                   .on('dblclick.zoom', null)
+                   .merge(wrap);
+
+               // reflow warning: Hardcode dimensions - currently can't resize it anyway..
+               _dMini = [200,150]; //utilGetDimensions(wrap);
+               _cMini = geoVecScale(_dMini, 0.5);
+
+               context.map()
+                   .on('drawn.map-in-map', function(drawn) {
+                       if (drawn.full === true) {
+                           redraw();
+                       }
+                   });
+
+               redraw();
+
+               context.keybinding()
+                   .on(t('background.minimap.key'), toggle);
+           }
+
+           return mapInMap;
+       }
+
+       function uiConfirm(selection) {
+           var modalSelection = uiModal(selection);
+
+           modalSelection.select('.modal')
+               .classed('modal-alert', true);
+
+           var section = modalSelection.select('.content');
+
+           section.append('div')
+               .attr('class', 'modal-section header');
+
+           section.append('div')
+               .attr('class', 'modal-section message-text');
+
+           var buttons = section.append('div')
+               .attr('class', 'modal-section buttons cf');
+
+
+           modalSelection.okButton = function() {
+               buttons
+                   .append('button')
+                   .attr('class', 'button ok-button action')
+                   .on('click.confirm', function() {
+                       modalSelection.remove();
+                   })
+                   .text(t('confirm.okay'))
+                   .node()
+                   .focus();
+
+               return modalSelection;
+           };
+
+
+           return modalSelection;
+       }
+
+       function uiSettingsCustomBackground(context) {
+           var dispatch$1 = dispatch('change');
+
+           function render(selection) {
+               // keep separate copies of original and current settings
+               var _origSettings = {
+                   template: context.storage('background-custom-template')
+               };
+               var _currSettings = {
+                   template: context.storage('background-custom-template')
+               };
+
+               var example = 'https://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png';
+               var modal = uiConfirm(selection).okButton();
+
+               modal
+                   .classed('settings-modal settings-custom-background', true);
+
+               modal.select('.modal-section.header')
+                   .append('h3')
+                   .text(t('settings.custom_background.header'));
+
+
+               var textSection = modal.select('.modal-section.message-text');
+
+               textSection
+                   .append('pre')
+                   .attr('class', 'instructions-template')
+                   .text(t('settings.custom_background.instructions', { example: example }));
+
+               textSection
+                   .append('textarea')
+                   .attr('class', 'field-template')
+                   .attr('placeholder', t('settings.custom_background.template.placeholder'))
+                   .call(utilNoAuto)
+                   .property('value', _currSettings.template);
+
+
+               // insert a cancel button
+               var buttonSection = modal.select('.modal-section.buttons');
+
+               buttonSection
+                   .insert('button', '.ok-button')
+                   .attr('class', 'button cancel-button secondary-action')
+                   .text(t('confirm.cancel'));
+
+
+               buttonSection.select('.cancel-button')
+                   .on('click.cancel', clickCancel);
+
+               buttonSection.select('.ok-button')
+                   .attr('disabled', isSaveDisabled)
+                   .on('click.save', clickSave);
+
+
+               function isSaveDisabled() {
+                   return null;
+               }
+
+
+               // restore the original template
+               function clickCancel() {
+                   textSection.select('.field-template').property('value', _origSettings.template);
+                   context.storage('background-custom-template', _origSettings.template);
+                   this.blur();
+                   modal.close();
+               }
+
+               // accept the current template
+               function clickSave() {
+                   _currSettings.template = textSection.select('.field-template').property('value');
+                   context.storage('background-custom-template', _currSettings.template);
+                   this.blur();
+                   modal.close();
+                   dispatch$1.call('change', this, _currSettings);
+               }
+           }
+
+           return utilRebind(render, dispatch$1, 'on');
+       }
+
+       function uiBackground(context) {
+           var key = t('background.key');
+
+           var _pane = d3_select(null), _toggleButton = d3_select(null);
+
+           var _customSource = context.background().findSource('custom');
+           var _previousBackground = context.background().findSource(context.storage('background-last-used-toggle'));
+
+           var _backgroundList = d3_select(null);
+           var _overlayList = d3_select(null);
+           var _displayOptionsContainer = d3_select(null);
+           var _offsetContainer = d3_select(null);
+
+           var backgroundDisplayOptions = uiBackgroundDisplayOptions(context);
+           var backgroundOffset = uiBackgroundOffset(context);
+
+           var settingsCustomBackground = uiSettingsCustomBackground(context)
+               .on('change', customChanged);
+
+
+           function setTooltips(selection) {
+               selection.each(function(d, i, nodes) {
+                   var item = d3_select(this).select('label');
+                   var span = item.select('span');
+                   var placement = (i < nodes.length / 2) ? 'bottom' : 'top';
+                   var description = d.description();
+                   var isOverflowing = (span.property('clientWidth') !== span.property('scrollWidth'));
+
+                   item.call(tooltip().destroyAny);
+
+                   if (d === _previousBackground) {
+                       item.call(tooltip()
+                           .placement(placement)
+                           .html(true)
+                           .title(function() {
+                               var tip = '<div>' + t('background.switch') + '</div>';
+                               return uiTooltipHtml(tip, uiCmd('⌘' + key));
+                           })
+                       );
+                   } else if (description || isOverflowing) {
+                       item.call(tooltip()
+                           .placement(placement)
+                           .title(description || d.name())
+                       );
+                   }
+               });
+           }
+
+
+           function updateLayerSelections(selection) {
+               function active(d) {
+                   return context.background().showsLayer(d);
+               }
+
+               selection.selectAll('li')
+                   .classed('active', active)
+                   .classed('switch', function(d) { return d === _previousBackground; })
+                   .call(setTooltips)
+                   .selectAll('input')
+                   .property('checked', active);
+           }
+
+
+           function chooseBackground(d) {
+               if (d.id === 'custom' && !d.template()) {
+                   return editCustom();
+               }
+
+               event.preventDefault();
+               _previousBackground = context.background().baseLayerSource();
+               context.storage('background-last-used-toggle', _previousBackground.id);
+               context.storage('background-last-used', d.id);
+               context.background().baseLayerSource(d);
+               _backgroundList.call(updateLayerSelections);
+               document.activeElement.blur();
+           }
+
+
+           function customChanged(d) {
+               if (d && d.template) {
+                   _customSource.template(d.template);
+                   chooseBackground(_customSource);
+               } else {
+                   _customSource.template('');
+                   chooseBackground(context.background().findSource('none'));
+               }
+           }
+
+
+           function editCustom() {
+               event.preventDefault();
+               context.container()
+                   .call(settingsCustomBackground);
+           }
+
+
+           function chooseOverlay(d) {
+               event.preventDefault();
+               context.background().toggleOverlayLayer(d);
+               _overlayList.call(updateLayerSelections);
+               document.activeElement.blur();
+           }
+
+
+           function drawListItems(layerList, type, change, filter) {
+               var sources = context.background()
+                   .sources(context.map().extent())
+                   .filter(filter);
+
+               var layerLinks = layerList.selectAll('li')
+                   .data(sources, function(d) { return d.name(); });
+
+               layerLinks.exit()
+                   .remove();
+
+               var enter = layerLinks.enter()
+                   .append('li')
+                   .classed('layer-custom', function(d) { return d.id === 'custom'; })
+                   .classed('best', function(d) { return d.best(); });
+
+               enter.filter(function(d) { return d.id === 'custom'; })
+                   .append('button')
+                   .attr('class', 'layer-browse')
+                   .call(tooltip()
+                       .title(t('settings.custom_background.tooltip'))
+                       .placement((textDirection === 'rtl') ? 'right' : 'left')
+                   )
+                   .on('click', editCustom)
+                   .call(svgIcon('#iD-icon-more'));
+
+               enter.filter(function(d) { return d.best(); })
+                   .append('div')
+                   .attr('class', 'best')
+                   .call(tooltip()
+                       .title(t('background.best_imagery'))
+                       .placement((textDirection === 'rtl') ? 'right' : 'left')
+                   )
+                   .append('span')
+                   .html('&#9733;');
+
+               var label = enter
+                   .append('label');
+
+               label
+                   .append('input')
+                   .attr('type', type)
+                   .attr('name', 'layers')
+                   .on('change', change);
+
+               label
+                   .append('span')
+                   .text(function(d) { return d.name(); });
+
+
+               layerList.selectAll('li')
+                   .sort(sortSources)
+                   .style('display', layerList.selectAll('li').data().length > 0 ? 'block' : 'none');
+
+               layerList
+                   .call(updateLayerSelections);
+
+
+               function sortSources(a, b) {
+                   return a.best() && !b.best() ? -1
+                       : b.best() && !a.best() ? 1
+                       : d3_descending(a.area(), b.area()) || d3_ascending(a.name(), b.name()) || 0;
+               }
+           }
+
+
+           function renderBackgroundList(selection) {
+
+               // the background list
+               var container = selection.selectAll('.layer-background-list')
+                   .data([0]);
+
+               _backgroundList = container.enter()
+                   .append('ul')
+                   .attr('class', 'layer-list layer-background-list')
+                   .attr('dir', 'auto')
+                   .merge(container);
+
+
+               // add minimap toggle below list
+               var minimapEnter = selection.selectAll('.minimap-toggle-list')
+                   .data([0])
+                   .enter()
+                   .append('ul')
+                   .attr('class', 'layer-list minimap-toggle-list')
+                   .append('li')
+                   .attr('class', 'minimap-toggle-item');
+
+               var minimapLabelEnter = minimapEnter
+                   .append('label')
+                   .call(tooltip()
+                       .html(true)
+                       .title(uiTooltipHtml(t('background.minimap.tooltip'), t('background.minimap.key')))
+                       .placement('top')
+                   );
+
+               minimapLabelEnter
+                   .append('input')
+                   .attr('type', 'checkbox')
+                   .on('change', function() {
+                       event.preventDefault();
+                       uiMapInMap.toggle();
+                   });
+
+               minimapLabelEnter
+                   .append('span')
+                   .text(t('background.minimap.description'));
+
+
+               // "Info / Report a Problem" link
+               selection.selectAll('.imagery-faq')
+                   .data([0])
+                   .enter()
+                   .append('div')
+                   .attr('class', 'imagery-faq')
+                   .append('a')
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .call(svgIcon('#iD-icon-out-link', 'inline'))
+                   .attr('href', 'https://github.com/openstreetmap/iD/blob/master/FAQ.md#how-can-i-report-an-issue-with-background-imagery')
+                   .append('span')
+                   .text(t('background.imagery_source_faq'));
+
+               updateBackgroundList();
+           }
+
+
+           function renderOverlayList(selection) {
+               var container = selection.selectAll('.layer-overlay-list')
+                   .data([0]);
+
+               _overlayList = container.enter()
+                   .append('ul')
+                   .attr('class', 'layer-list layer-overlay-list')
+                   .attr('dir', 'auto')
+                   .merge(container);
+
+               updateOverlayList();
+           }
+
+           function updateBackgroundList() {
+               _backgroundList
+                   .call(drawListItems, 'radio', chooseBackground, function(d) { return !d.isHidden() && !d.overlay; });
+           }
+
+           function updateOverlayList() {
+               _overlayList
+                   .call(drawListItems, 'checkbox', chooseOverlay, function(d) { return !d.isHidden() && d.overlay; });
+           }
+
+
+           function update() {
+               if (!_pane.select('.disclosure-wrap-background_list').classed('hide')) {
+                   updateBackgroundList();
+               }
+
+               if (!_pane.select('.disclosure-wrap-overlay_list').classed('hide')) {
+                   updateOverlayList();
+               }
+
+               _displayOptionsContainer
+                   .call(backgroundDisplayOptions);
+
+               _offsetContainer
+                   .call(backgroundOffset);
+           }
+
+
+           function quickSwitch() {
+               if (event) {
+                   event.stopImmediatePropagation();
+                   event.preventDefault();
+               }
+               if (_previousBackground) {
+                   chooseBackground(_previousBackground);
+               }
+           }
+
+           var paneTooltip = tooltip()
+               .placement((textDirection === 'rtl') ? 'right' : 'left')
+               .html(true)
+               .title(uiTooltipHtml(t('background.description'), key));
+
+           uiBackground.togglePane = function() {
+               if (event) event.preventDefault();
+               paneTooltip.hide(_toggleButton);
+               context.ui().togglePanes(!_pane.classed('shown') ? _pane : undefined);
+           };
+
+           function hidePane() {
+               context.ui().togglePanes();
+           }
+
+           uiBackground.renderToggleButton = function(selection) {
+
+               _toggleButton = selection
+                   .append('button')
+                   .attr('tabindex', -1)
+                   .on('click', uiBackground.togglePane)
+                   .call(svgIcon('#iD-icon-layers', 'light'))
+                   .call(paneTooltip);
+           };
+
+           uiBackground.renderPane = function(selection) {
+
+               _pane = selection
+                   .append('div')
+                   .attr('class', 'fillL map-pane background-pane hide')
+                   .attr('pane', 'background');
+
+
+               var heading = _pane
+                   .append('div')
+                   .attr('class', 'pane-heading');
+
+               heading
+                   .append('h2')
+                   .text(t('background.title'));
+
+               heading
+                   .append('button')
+                   .on('click', hidePane)
+                   .call(svgIcon('#iD-icon-close'));
+
+
+               var content = _pane
+                   .append('div')
+                   .attr('class', 'pane-content');
+
+               // background list
+               content
+                   .append('div')
+                   .attr('class', 'background-background-list-container')
+                   .call(uiDisclosure(context, 'background_list', true)
+                       .title(t('background.backgrounds'))
+                       .content(renderBackgroundList)
+                   );
+
+               // overlay list
+               content
+                   .append('div')
+                   .attr('class', 'background-overlay-list-container')
+                   .call(uiDisclosure(context, 'overlay_list', true)
+                       .title(t('background.overlays'))
+                       .content(renderOverlayList)
+                   );
+
+               // display options
+               _displayOptionsContainer = content
+                   .append('div')
+                   .attr('class', 'background-display-options');
+
+               // offset controls
+               _offsetContainer = content
+                   .append('div')
+                   .attr('class', 'background-offset');
+
+
+               // add listeners
+               context.map()
+                   .on('move.background-update',
+                       debounce(function() { window.requestIdleCallback(update); }, 1000)
+                   );
+
+
+               context.background()
+                   .on('change.background-update', update);
+
+
+               update();
+
+               context.keybinding()
+                   .on(key, uiBackground.togglePane)
+                   .on(uiCmd('⌘' + key), quickSwitch);
+           };
+
+           return uiBackground;
+       }
+
+       function uiContributors(context) {
+           var osm = context.connection(),
+               debouncedUpdate = debounce(function() { update(); }, 1000),
+               limit = 4,
+               hidden = false,
+               wrap = d3_select(null);
+
+
+           function update() {
+               if (!osm) return;
+
+               var users = {},
+                   entities = context.intersects(context.map().extent());
+
+               entities.forEach(function(entity) {
+                   if (entity && entity.user) users[entity.user] = true;
+               });
+
+               var u = Object.keys(users),
+                   subset = u.slice(0, u.length > limit ? limit - 1 : limit);
+
+               wrap.html('')
+                   .call(svgIcon('#iD-icon-nearby', 'pre-text light'));
+
+               var userList = d3_select(document.createElement('span'));
+
+               userList.selectAll()
+                   .data(subset)
+                   .enter()
+                   .append('a')
+                   .attr('class', 'user-link')
+                   .attr('href', function(d) { return osm.userURL(d); })
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .text(String);
+
+               if (u.length > limit) {
+                   var count = d3_select(document.createElement('span'));
+
+                   count.append('a')
+                       .attr('target', '_blank')
+                       .attr('tabindex', -1)
+                       .attr('href', function() {
+                           return osm.changesetsURL(context.map().center(), context.map().zoom());
+                       })
+                       .text(u.length - limit + 1);
+
+                   wrap.append('span')
+                       .html(t('contributors.truncated_list', { users: userList.html(), count: count.html() }));
+
+               } else {
+                   wrap.append('span')
+                       .html(t('contributors.list', { users: userList.html() }));
+               }
+
+               if (!u.length) {
+                   hidden = true;
+                   wrap
+                       .transition()
+                       .style('opacity', 0);
+
+               } else if (hidden) {
+                   wrap
+                       .transition()
+                       .style('opacity', 1);
+               }
+           }
+
+
+           return function(selection) {
+               if (!osm) return;
+               wrap = selection;
+               update();
+
+               osm.on('loaded.contributors', debouncedUpdate);
+               context.map().on('move.contributors', debouncedUpdate);
+           };
+       }
+
+       function uiFeatureInfo(context) {
+           function update(selection) {
+               var features = context.features();
+               var stats = features.stats();
+               var count = 0;
+               var hiddenList = features.hidden().map(function(k) {
+                   if (stats[k]) {
+                       count += stats[k];
+                       return String(stats[k]) + ' ' + t('feature.' + k + '.description');
+                   }
+               }).filter(Boolean);
+
+               selection.html('');
+
+               if (hiddenList.length) {
+                   var tooltipBehavior = tooltip()
+                       .placement('top')
+                       .html(true)
+                       .title(function() {
+                           return uiTooltipHtml(hiddenList.join('<br/>'));
+                       });
+
+                   var warning = selection.append('a')
+                       .attr('href', '#')
+                       .attr('tabindex', -1)
+                       .html(t('feature_info.hidden_warning', { count: count }))
+                       .call(tooltipBehavior)
+                       .on('click', function() {
+                           tooltipBehavior.hide(warning);
+                           // open map data panel?
+                           event.preventDefault();
+                       });
+               }
+
+               selection
+                   .classed('hide', !hiddenList.length);
+           }
+
+
+           return function(selection) {
+               update(selection);
+
+               context.features().on('change.feature_info', function() {
+                   update(selection);
+               });
+           };
+       }
+
+       function uiFullScreen(context) {
+           var element = context.container().node();
+           // var button = d3_select(null);
+
+
+           function getFullScreenFn() {
+               if (element.requestFullscreen) {
+                   return element.requestFullscreen;
+               } else if (element.msRequestFullscreen) {
+                   return element.msRequestFullscreen;
+               } else if (element.mozRequestFullScreen) {
+                   return element.mozRequestFullScreen;
+               } else if (element.webkitRequestFullscreen) {
+                   return element.webkitRequestFullscreen;
+               }
+           }
+
+
+           function getExitFullScreenFn() {
+               if (document.exitFullscreen) {
+                   return document.exitFullscreen;
+               } else if (document.msExitFullscreen) {
+                   return document.msExitFullscreen;
+               } else if (document.mozCancelFullScreen) {
+                   return document.mozCancelFullScreen;
+               } else if (document.webkitExitFullscreen) {
+                   return document.webkitExitFullscreen;
+               }
+           }
+
+
+           function isFullScreen() {
+               return document.fullscreenElement ||
+                   document.mozFullScreenElement ||
+                   document.webkitFullscreenElement ||
+                   document.msFullscreenElement;
+           }
+
+
+           function isSupported() {
+               return !!getFullScreenFn();
+           }
+
+
+           function fullScreen() {
+               event.preventDefault();
+               if (!isFullScreen()) {
+                   // button.classed('active', true);
+                   getFullScreenFn().apply(element);
+               } else {
+                   // button.classed('active', false);
+                   getExitFullScreenFn().apply(document);
+               }
+           }
+
+
+           return function() { // selection) {
+               if (!isSupported()) return;
+
+               // button = selection.append('button')
+               //     .attr('title', t('full_screen'))
+               //     .attr('tabindex', -1)
+               //     .on('click', fullScreen)
+               //     .call(tooltip);
+
+               // button.append('span')
+               //     .attr('class', 'icon full-screen');
+
+               var detected = utilDetect();
+               var keys = (detected.os === 'mac' ? [uiCmd('⌃⌘F'), 'f11'] : ['f11']);
+               context.keybinding().on(keys, fullScreen);
+           };
+       }
+
+       function uiGeolocate(context) {
+           var geoOptions = { enableHighAccuracy: false, timeout: 6000 /* 6sec */ };
+           var locating = uiLoading(context).message(t('geolocate.locating')).blocking(true);
+           var layer = context.layers().layer('geolocate');
+           var _position;
+           var _extent;
+           var _timeoutID;
+
+
+           function click() {
+               if (context.inIntro()) return;
+               context.enter(modeBrowse(context));
+               if (!layer.enabled()) {
+                   if (!_position) {
+                       context.container().call(locating);
+                       navigator.geolocation.getCurrentPosition(success, error, geoOptions);
+                   } else {
+                       zoomTo();
+                   }
+               } else {
+                   layer.enabled(null, false);
+               }
+               // This timeout ensures that we still call finish() even if
+               // the user declines to share their location in Firefox
+               _timeoutID = setTimeout(finish, 10000 /* 10sec */ );
+           }
+
+           function zoomTo() {
+               var map = context.map();
+               layer.enabled(_position, true);
+               map.centerZoomEase(_extent.center(), Math.min(20, map.extentZoom(_extent)));
+           }
+
+
+           function success(geolocation) {
+               _position = geolocation;
+               var coords = _position.coords;
+               _extent = geoExtent([coords.longitude, coords.latitude]).padByMeters(coords.accuracy);
+               zoomTo();
+               finish();
+           }
+
+
+           function error() {
+               finish();
+           }
+
+
+           function finish() {
+               locating.close();  // unblock ui
+               if (_timeoutID) { clearTimeout(_timeoutID); }
+               _timeoutID = undefined;
+           }
+
+
+           return function(selection) {
+               if (!navigator.geolocation) return;
+
+               selection
+                   .append('button')
+                   .attr('tabindex', -1)
+                   .attr('title', t('geolocate.title'))
+                   .on('click', click)
+                   .call(svgIcon('#iD-icon-geolocate', 'light'))
+                   .call(tooltip()
+                       .placement((textDirection === 'rtl') ? 'right' : 'left'));
+           };
+       }
+
+       var marked = createCommonjsModule(function (module, exports) {
+       (function(root) {
+
+       /**
+        * Block-Level Grammar
+        */
+
+       var block = {
+         newline: /^\n+/,
+         code: /^( {4}[^\n]+\n*)+/,
+         fences: /^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,
+         hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,
+         heading: /^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,
+         blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,
+         list: /^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
+         html: '^ {0,3}(?:' // optional indentation
+           + '<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)' // (1)
+           + '|comment[^\\n]*(\\n+|$)' // (2)
+           + '|<\\?[\\s\\S]*?\\?>\\n*' // (3)
+           + '|<![A-Z][\\s\\S]*?>\\n*' // (4)
+           + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\n*' // (5)
+           + '|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)' // (6)
+           + '|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) open tag
+           + '|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) closing tag
+           + ')',
+         def: /^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,
+         nptable: noop,
+         table: noop,
+         lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,
+         // regex template, placeholders will be replaced according to different paragraph
+         // interruption rules of commonmark and the original markdown spec:
+         _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,
+         text: /^[^\n]+/
+       };
+
+       block._label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/;
+       block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;
+       block.def = edit(block.def)
+         .replace('label', block._label)
+         .replace('title', block._title)
+         .getRegex();
+
+       block.bullet = /(?:[*+-]|\d{1,9}\.)/;
+       block.item = /^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/;
+       block.item = edit(block.item, 'gm')
+         .replace(/bull/g, block.bullet)
+         .getRegex();
+
+       block.list = edit(block.list)
+         .replace(/bull/g, block.bullet)
+         .replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))')
+         .replace('def', '\\n+(?=' + block.def.source + ')')
+         .getRegex();
+
+       block._tag = 'address|article|aside|base|basefont|blockquote|body|caption'
+         + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'
+         + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'
+         + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'
+         + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'
+         + '|track|ul';
+       block._comment = /<!--(?!-?>)[\s\S]*?-->/;
+       block.html = edit(block.html, 'i')
+         .replace('comment', block._comment)
+         .replace('tag', block._tag)
+         .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/)
+         .getRegex();
+
+       block.paragraph = edit(block._paragraph)
+         .replace('hr', block.hr)
+         .replace('heading', ' {0,3}#{1,6} +')
+         .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs
+         .replace('blockquote', ' {0,3}>')
+         .replace('fences', ' {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n')
+         .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
+         .replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)')
+         .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
+         .getRegex();
+
+       block.blockquote = edit(block.blockquote)
+         .replace('paragraph', block.paragraph)
+         .getRegex();
+
+       /**
+        * Normal Block Grammar
+        */
+
+       block.normal = merge({}, block);
+
+       /**
+        * GFM Block Grammar
+        */
+
+       block.gfm = merge({}, block.normal, {
+         nptable: /^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,
+         table: /^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/
+       });
+
+       /**
+        * Pedantic grammar (original John Gruber's loose markdown specification)
+        */
+
+       block.pedantic = merge({}, block.normal, {
+         html: edit(
+           '^ *(?:comment *(?:\\n|\\s*$)'
+           + '|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)' // closed tag
+           + '|<tag(?:"[^"]*"|\'[^\']*\'|\\s[^\'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))')
+           .replace('comment', block._comment)
+           .replace(/tag/g, '(?!(?:'
+             + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'
+             + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'
+             + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b')
+           .getRegex(),
+         def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
+         heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,
+         fences: noop, // fences not supported
+         paragraph: edit(block.normal._paragraph)
+           .replace('hr', block.hr)
+           .replace('heading', ' *#{1,6} *[^\n]')
+           .replace('lheading', block.lheading)
+           .replace('blockquote', ' {0,3}>')
+           .replace('|fences', '')
+           .replace('|list', '')
+           .replace('|html', '')
+           .getRegex()
+       });
+
+       /**
+        * Block Lexer
+        */
+
+       function Lexer(options) {
+         this.tokens = [];
+         this.tokens.links = Object.create(null);
+         this.options = options || marked.defaults;
+         this.rules = block.normal;
+
+         if (this.options.pedantic) {
+           this.rules = block.pedantic;
+         } else if (this.options.gfm) {
+           this.rules = block.gfm;
+         }
+       }
+
+       /**
+        * Expose Block Rules
+        */
+
+       Lexer.rules = block;
+
+       /**
+        * Static Lex Method
+        */
+
+       Lexer.lex = function(src, options) {
+         var lexer = new Lexer(options);
+         return lexer.lex(src);
+       };
+
+       /**
+        * Preprocessing
+        */
+
+       Lexer.prototype.lex = function(src) {
+         src = src
+           .replace(/\r\n|\r/g, '\n')
+           .replace(/\t/g, '    ')
+           .replace(/\u00a0/g, ' ')
+           .replace(/\u2424/g, '\n');
+
+         return this.token(src, true);
+       };
+
+       /**
+        * Lexing
+        */
+
+       Lexer.prototype.token = function(src, top) {
+         src = src.replace(/^ +$/gm, '');
+         var next,
+             loose,
+             cap,
+             bull,
+             b,
+             item,
+             listStart,
+             listItems,
+             t,
+             space,
+             i,
+             tag,
+             l,
+             isordered,
+             istask,
+             ischecked;
+
+         while (src) {
+           // newline
+           if (cap = this.rules.newline.exec(src)) {
+             src = src.substring(cap[0].length);
+             if (cap[0].length > 1) {
+               this.tokens.push({
+                 type: 'space'
+               });
+             }
+           }
+
+           // code
+           if (cap = this.rules.code.exec(src)) {
+             var lastToken = this.tokens[this.tokens.length - 1];
+             src = src.substring(cap[0].length);
+             // An indented code block cannot interrupt a paragraph.
+             if (lastToken && lastToken.type === 'paragraph') {
+               lastToken.text += '\n' + cap[0].trimRight();
+             } else {
+               cap = cap[0].replace(/^ {4}/gm, '');
+               this.tokens.push({
+                 type: 'code',
+                 codeBlockStyle: 'indented',
+                 text: !this.options.pedantic
+                   ? rtrim(cap, '\n')
+                   : cap
+               });
+             }
+             continue;
+           }
+
+           // fences
+           if (cap = this.rules.fences.exec(src)) {
+             src = src.substring(cap[0].length);
+             this.tokens.push({
+               type: 'code',
+               lang: cap[2] ? cap[2].trim() : cap[2],
+               text: cap[3] || ''
+             });
+             continue;
+           }
+
+           // heading
+           if (cap = this.rules.heading.exec(src)) {
+             src = src.substring(cap[0].length);
+             this.tokens.push({
+               type: 'heading',
+               depth: cap[1].length,
+               text: cap[2]
+             });
+             continue;
+           }
+
+           // table no leading pipe (gfm)
+           if (cap = this.rules.nptable.exec(src)) {
+             item = {
+               type: 'table',
+               header: splitCells(cap[1].replace(/^ *| *\| *$/g, '')),
+               align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
+               cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : []
+             };
+
+             if (item.header.length === item.align.length) {
+               src = src.substring(cap[0].length);
+
+               for (i = 0; i < item.align.length; i++) {
+                 if (/^ *-+: *$/.test(item.align[i])) {
+                   item.align[i] = 'right';
+                 } else if (/^ *:-+: *$/.test(item.align[i])) {
+                   item.align[i] = 'center';
+                 } else if (/^ *:-+ *$/.test(item.align[i])) {
+                   item.align[i] = 'left';
+                 } else {
+                   item.align[i] = null;
+                 }
+               }
+
+               for (i = 0; i < item.cells.length; i++) {
+                 item.cells[i] = splitCells(item.cells[i], item.header.length);
+               }
+
+               this.tokens.push(item);
+
+               continue;
+             }
+           }
+
+           // hr
+           if (cap = this.rules.hr.exec(src)) {
+             src = src.substring(cap[0].length);
+             this.tokens.push({
+               type: 'hr'
+             });
+             continue;
+           }
+
+           // blockquote
+           if (cap = this.rules.blockquote.exec(src)) {
+             src = src.substring(cap[0].length);
+
+             this.tokens.push({
+               type: 'blockquote_start'
+             });
+
+             cap = cap[0].replace(/^ *> ?/gm, '');
+
+             // Pass `top` to keep the current
+             // "toplevel" state. This is exactly
+             // how markdown.pl works.
+             this.token(cap, top);
+
+             this.tokens.push({
+               type: 'blockquote_end'
+             });
+
+             continue;
+           }
+
+           // list
+           if (cap = this.rules.list.exec(src)) {
+             src = src.substring(cap[0].length);
+             bull = cap[2];
+             isordered = bull.length > 1;
+
+             listStart = {
+               type: 'list_start',
+               ordered: isordered,
+               start: isordered ? +bull : '',
+               loose: false
+             };
+
+             this.tokens.push(listStart);
+
+             // Get each top-level item.
+             cap = cap[0].match(this.rules.item);
+
+             listItems = [];
+             next = false;
+             l = cap.length;
+             i = 0;
+
+             for (; i < l; i++) {
+               item = cap[i];
+
+               // Remove the list item's bullet
+               // so it is seen as the next token.
+               space = item.length;
+               item = item.replace(/^ *([*+-]|\d+\.) */, '');
+
+               // Outdent whatever the
+               // list item contains. Hacky.
+               if (~item.indexOf('\n ')) {
+                 space -= item.length;
+                 item = !this.options.pedantic
+                   ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')
+                   : item.replace(/^ {1,4}/gm, '');
+               }
+
+               // Determine whether the next list item belongs here.
+               // Backpedal if it does not belong in this list.
+               if (i !== l - 1) {
+                 b = block.bullet.exec(cap[i + 1])[0];
+                 if (bull.length > 1 ? b.length === 1
+                   : (b.length > 1 || (this.options.smartLists && b !== bull))) {
+                   src = cap.slice(i + 1).join('\n') + src;
+                   i = l - 1;
+                 }
+               }
+
+               // Determine whether item is loose or not.
+               // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
+               // for discount behavior.
+               loose = next || /\n\n(?!\s*$)/.test(item);
+               if (i !== l - 1) {
+                 next = item.charAt(item.length - 1) === '\n';
+                 if (!loose) loose = next;
+               }
+
+               if (loose) {
+                 listStart.loose = true;
+               }
+
+               // Check for task list items
+               istask = /^\[[ xX]\] /.test(item);
+               ischecked = undefined;
+               if (istask) {
+                 ischecked = item[1] !== ' ';
+                 item = item.replace(/^\[[ xX]\] +/, '');
+               }
+
+               t = {
+                 type: 'list_item_start',
+                 task: istask,
+                 checked: ischecked,
+                 loose: loose
+               };
+
+               listItems.push(t);
+               this.tokens.push(t);
+
+               // Recurse.
+               this.token(item, false);
+
+               this.tokens.push({
+                 type: 'list_item_end'
+               });
+             }
+
+             if (listStart.loose) {
+               l = listItems.length;
+               i = 0;
+               for (; i < l; i++) {
+                 listItems[i].loose = true;
+               }
+             }
+
+             this.tokens.push({
+               type: 'list_end'
+             });
+
+             continue;
+           }
+
+           // html
+           if (cap = this.rules.html.exec(src)) {
+             src = src.substring(cap[0].length);
+             this.tokens.push({
+               type: this.options.sanitize
+                 ? 'paragraph'
+                 : 'html',
+               pre: !this.options.sanitizer
+                 && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),
+               text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]
+             });
+             continue;
+           }
+
+           // def
+           if (top && (cap = this.rules.def.exec(src))) {
+             src = src.substring(cap[0].length);
+             if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);
+             tag = cap[1].toLowerCase().replace(/\s+/g, ' ');
+             if (!this.tokens.links[tag]) {
+               this.tokens.links[tag] = {
+                 href: cap[2],
+                 title: cap[3]
+               };
+             }
+             continue;
+           }
+
+           // table (gfm)
+           if (cap = this.rules.table.exec(src)) {
+             item = {
+               type: 'table',
+               header: splitCells(cap[1].replace(/^ *| *\| *$/g, '')),
+               align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
+               cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : []
+             };
+
+             if (item.header.length === item.align.length) {
+               src = src.substring(cap[0].length);
+
+               for (i = 0; i < item.align.length; i++) {
+                 if (/^ *-+: *$/.test(item.align[i])) {
+                   item.align[i] = 'right';
+                 } else if (/^ *:-+: *$/.test(item.align[i])) {
+                   item.align[i] = 'center';
+                 } else if (/^ *:-+ *$/.test(item.align[i])) {
+                   item.align[i] = 'left';
+                 } else {
+                   item.align[i] = null;
+                 }
+               }
+
+               for (i = 0; i < item.cells.length; i++) {
+                 item.cells[i] = splitCells(
+                   item.cells[i].replace(/^ *\| *| *\| *$/g, ''),
+                   item.header.length);
+               }
+
+               this.tokens.push(item);
+
+               continue;
+             }
+           }
+
+           // lheading
+           if (cap = this.rules.lheading.exec(src)) {
+             src = src.substring(cap[0].length);
+             this.tokens.push({
+               type: 'heading',
+               depth: cap[2].charAt(0) === '=' ? 1 : 2,
+               text: cap[1]
+             });
+             continue;
+           }
+
+           // top-level paragraph
+           if (top && (cap = this.rules.paragraph.exec(src))) {
+             src = src.substring(cap[0].length);
+             this.tokens.push({
+               type: 'paragraph',
+               text: cap[1].charAt(cap[1].length - 1) === '\n'
+                 ? cap[1].slice(0, -1)
+                 : cap[1]
+             });
+             continue;
+           }
+
+           // text
+           if (cap = this.rules.text.exec(src)) {
+             // Top-level should never reach here.
+             src = src.substring(cap[0].length);
+             this.tokens.push({
+               type: 'text',
+               text: cap[0]
+             });
+             continue;
+           }
+
+           if (src) {
+             throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));
+           }
+         }
+
+         return this.tokens;
+       };
+
+       /**
+        * Inline-Level Grammar
+        */
+
+       var inline = {
+         escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,
+         autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/,
+         url: noop,
+         tag: '^comment'
+           + '|^</[a-zA-Z][\\w:-]*\\s*>' // self-closing tag
+           + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag
+           + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. <?php ?>
+           + '|^<![a-zA-Z]+\\s[\\s\\S]*?>' // declaration, e.g. <!DOCTYPE html>
+           + '|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>', // CDATA section
+         link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,
+         reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,
+         nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,
+         strong: /^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,
+         em: /^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,
+         code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,
+         br: /^( {2,}|\\)\n(?!\s*$)/,
+         del: noop,
+         text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*]|\b_|$)|[^ ](?= {2,}\n))|(?= {2,}\n))/
+       };
+
+       // list of punctuation marks from common mark spec
+       // without ` and ] to workaround Rule 17 (inline code blocks/links)
+       inline._punctuation = '!"#$%&\'()*+,\\-./:;<=>?@\\[^_{|}~';
+       inline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();
+
+       inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;
+
+       inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;
+       inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;
+       inline.autolink = edit(inline.autolink)
+         .replace('scheme', inline._scheme)
+         .replace('email', inline._email)
+         .getRegex();
+
+       inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;
+
+       inline.tag = edit(inline.tag)
+         .replace('comment', block._comment)
+         .replace('attribute', inline._attribute)
+         .getRegex();
+
+       inline._label = /(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
+       inline._href = /<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/;
+       inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;
+
+       inline.link = edit(inline.link)
+         .replace('label', inline._label)
+         .replace('href', inline._href)
+         .replace('title', inline._title)
+         .getRegex();
+
+       inline.reflink = edit(inline.reflink)
+         .replace('label', inline._label)
+         .getRegex();
+
+       /**
+        * Normal Inline Grammar
+        */
+
+       inline.normal = merge({}, inline);
+
+       /**
+        * Pedantic Inline Grammar
+        */
+
+       inline.pedantic = merge({}, inline.normal, {
+         strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
+         em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,
+         link: edit(/^!?\[(label)\]\((.*?)\)/)
+           .replace('label', inline._label)
+           .getRegex(),
+         reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/)
+           .replace('label', inline._label)
+           .getRegex()
+       });
+
+       /**
+        * GFM Inline Grammar
+        */
+
+       inline.gfm = merge({}, inline.normal, {
+         escape: edit(inline.escape).replace('])', '~|])').getRegex(),
+         _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
+         url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
+         _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,
+         del: /^~+(?=\S)([\s\S]*?\S)~+/,
+         text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*~]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?= {2,}\n|[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/
+       });
+
+       inline.gfm.url = edit(inline.gfm.url, 'i')
+         .replace('email', inline.gfm._extended_email)
+         .getRegex();
+       /**
+        * GFM + Line Breaks Inline Grammar
+        */
+
+       inline.breaks = merge({}, inline.gfm, {
+         br: edit(inline.br).replace('{2,}', '*').getRegex(),
+         text: edit(inline.gfm.text)
+           .replace('\\b_', '\\b_| {2,}\\n')
+           .replace(/\{2,\}/g, '*')
+           .getRegex()
+       });
+
+       /**
+        * Inline Lexer & Compiler
+        */
+
+       function InlineLexer(links, options) {
+         this.options = options || marked.defaults;
+         this.links = links;
+         this.rules = inline.normal;
+         this.renderer = this.options.renderer || new Renderer();
+         this.renderer.options = this.options;
+
+         if (!this.links) {
+           throw new Error('Tokens array requires a `links` property.');
+         }
+
+         if (this.options.pedantic) {
+           this.rules = inline.pedantic;
+         } else if (this.options.gfm) {
+           if (this.options.breaks) {
+             this.rules = inline.breaks;
+           } else {
+             this.rules = inline.gfm;
+           }
+         }
+       }
+
+       /**
+        * Expose Inline Rules
+        */
+
+       InlineLexer.rules = inline;
+
+       /**
+        * Static Lexing/Compiling Method
+        */
+
+       InlineLexer.output = function(src, links, options) {
+         var inline = new InlineLexer(links, options);
+         return inline.output(src);
+       };
+
+       /**
+        * Lexing/Compiling
+        */
+
+       InlineLexer.prototype.output = function(src) {
+         var out = '',
+             link,
+             text,
+             href,
+             title,
+             cap,
+             prevCapZero;
+
+         while (src) {
+           // escape
+           if (cap = this.rules.escape.exec(src)) {
+             src = src.substring(cap[0].length);
+             out += escape(cap[1]);
+             continue;
+           }
+
+           // tag
+           if (cap = this.rules.tag.exec(src)) {
+             if (!this.inLink && /^<a /i.test(cap[0])) {
+               this.inLink = true;
+             } else if (this.inLink && /^<\/a>/i.test(cap[0])) {
+               this.inLink = false;
+             }
+             if (!this.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
+               this.inRawBlock = true;
+             } else if (this.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
+               this.inRawBlock = false;
+             }
+
+             src = src.substring(cap[0].length);
+             out += this.options.sanitize
+               ? this.options.sanitizer
+                 ? this.options.sanitizer(cap[0])
+                 : escape(cap[0])
+               : cap[0];
+             continue;
+           }
+
+           // link
+           if (cap = this.rules.link.exec(src)) {
+             var lastParenIndex = findClosingBracket(cap[2], '()');
+             if (lastParenIndex > -1) {
+               var linkLen = 4 + cap[1].length + lastParenIndex;
+               cap[2] = cap[2].substring(0, lastParenIndex);
+               cap[0] = cap[0].substring(0, linkLen).trim();
+               cap[3] = '';
+             }
+             src = src.substring(cap[0].length);
+             this.inLink = true;
+             href = cap[2];
+             if (this.options.pedantic) {
+               link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href);
+
+               if (link) {
+                 href = link[1];
+                 title = link[3];
+               } else {
+                 title = '';
+               }
+             } else {
+               title = cap[3] ? cap[3].slice(1, -1) : '';
+             }
+             href = href.trim().replace(/^<([\s\S]*)>$/, '$1');
+             out += this.outputLink(cap, {
+               href: InlineLexer.escapes(href),
+               title: InlineLexer.escapes(title)
+             });
+             this.inLink = false;
+             continue;
+           }
+
+           // reflink, nolink
+           if ((cap = this.rules.reflink.exec(src))
+               || (cap = this.rules.nolink.exec(src))) {
+             src = src.substring(cap[0].length);
+             link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
+             link = this.links[link.toLowerCase()];
+             if (!link || !link.href) {
+               out += cap[0].charAt(0);
+               src = cap[0].substring(1) + src;
+               continue;
+             }
+             this.inLink = true;
+             out += this.outputLink(cap, link);
+             this.inLink = false;
+             continue;
+           }
+
+           // strong
+           if (cap = this.rules.strong.exec(src)) {
+             src = src.substring(cap[0].length);
+             out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));
+             continue;
+           }
+
+           // em
+           if (cap = this.rules.em.exec(src)) {
+             src = src.substring(cap[0].length);
+             out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));
+             continue;
+           }
+
+           // code
+           if (cap = this.rules.code.exec(src)) {
+             src = src.substring(cap[0].length);
+             out += this.renderer.codespan(escape(cap[2].trim(), true));
+             continue;
+           }
+
+           // br
+           if (cap = this.rules.br.exec(src)) {
+             src = src.substring(cap[0].length);
+             out += this.renderer.br();
+             continue;
+           }
+
+           // del (gfm)
+           if (cap = this.rules.del.exec(src)) {
+             src = src.substring(cap[0].length);
+             out += this.renderer.del(this.output(cap[1]));
+             continue;
+           }
+
+           // autolink
+           if (cap = this.rules.autolink.exec(src)) {
+             src = src.substring(cap[0].length);
+             if (cap[2] === '@') {
+               text = escape(this.mangle(cap[1]));
+               href = 'mailto:' + text;
+             } else {
+               text = escape(cap[1]);
+               href = text;
+             }
+             out += this.renderer.link(href, null, text);
+             continue;
+           }
+
+           // url (gfm)
+           if (!this.inLink && (cap = this.rules.url.exec(src))) {
+             if (cap[2] === '@') {
+               text = escape(cap[0]);
+               href = 'mailto:' + text;
+             } else {
+               // do extended autolink path validation
+               do {
+                 prevCapZero = cap[0];
+                 cap[0] = this.rules._backpedal.exec(cap[0])[0];
+               } while (prevCapZero !== cap[0]);
+               text = escape(cap[0]);
+               if (cap[1] === 'www.') {
+                 href = 'http://' + text;
+               } else {
+                 href = text;
+               }
+             }
+             src = src.substring(cap[0].length);
+             out += this.renderer.link(href, null, text);
+             continue;
+           }
+
+           // text
+           if (cap = this.rules.text.exec(src)) {
+             src = src.substring(cap[0].length);
+             if (this.inRawBlock) {
+               out += this.renderer.text(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]);
+             } else {
+               out += this.renderer.text(escape(this.smartypants(cap[0])));
+             }
+             continue;
+           }
+
+           if (src) {
+             throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));
+           }
+         }
+
+         return out;
+       };
+
+       InlineLexer.escapes = function(text) {
+         return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;
+       };
+
+       /**
+        * Compile Link
+        */
+
+       InlineLexer.prototype.outputLink = function(cap, link) {
+         var href = link.href,
+             title = link.title ? escape(link.title) : null;
+
+         return cap[0].charAt(0) !== '!'
+           ? this.renderer.link(href, title, this.output(cap[1]))
+           : this.renderer.image(href, title, escape(cap[1]));
+       };
+
+       /**
+        * Smartypants Transformations
+        */
+
+       InlineLexer.prototype.smartypants = function(text) {
+         if (!this.options.smartypants) return text;
+         return text
+           // em-dashes
+           .replace(/---/g, '\u2014')
+           // en-dashes
+           .replace(/--/g, '\u2013')
+           // opening singles
+           .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018')
+           // closing singles & apostrophes
+           .replace(/'/g, '\u2019')
+           // opening doubles
+           .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c')
+           // closing doubles
+           .replace(/"/g, '\u201d')
+           // ellipses
+           .replace(/\.{3}/g, '\u2026');
+       };
+
+       /**
+        * Mangle Links
+        */
+
+       InlineLexer.prototype.mangle = function(text) {
+         if (!this.options.mangle) return text;
+         var out = '',
+             l = text.length,
+             i = 0,
+             ch;
+
+         for (; i < l; i++) {
+           ch = text.charCodeAt(i);
+           if (Math.random() > 0.5) {
+             ch = 'x' + ch.toString(16);
+           }
+           out += '&#' + ch + ';';
+         }
+
+         return out;
+       };
+
+       /**
+        * Renderer
+        */
+
+       function Renderer(options) {
+         this.options = options || marked.defaults;
+       }
+
+       Renderer.prototype.code = function(code, infostring, escaped) {
+         var lang = (infostring || '').match(/\S*/)[0];
+         if (this.options.highlight) {
+           var out = this.options.highlight(code, lang);
+           if (out != null && out !== code) {
+             escaped = true;
+             code = out;
+           }
+         }
+
+         if (!lang) {
+           return '<pre><code>'
+             + (escaped ? code : escape(code, true))
+             + '</code></pre>';
+         }
+
+         return '<pre><code class="'
+           + this.options.langPrefix
+           + escape(lang, true)
+           + '">'
+           + (escaped ? code : escape(code, true))
+           + '</code></pre>\n';
+       };
+
+       Renderer.prototype.blockquote = function(quote) {
+         return '<blockquote>\n' + quote + '</blockquote>\n';
+       };
+
+       Renderer.prototype.html = function(html) {
+         return html;
+       };
+
+       Renderer.prototype.heading = function(text, level, raw, slugger) {
+         if (this.options.headerIds) {
+           return '<h'
+             + level
+             + ' id="'
+             + this.options.headerPrefix
+             + slugger.slug(raw)
+             + '">'
+             + text
+             + '</h'
+             + level
+             + '>\n';
+         }
+         // ignore IDs
+         return '<h' + level + '>' + text + '</h' + level + '>\n';
+       };
+
+       Renderer.prototype.hr = function() {
+         return this.options.xhtml ? '<hr/>\n' : '<hr>\n';
+       };
+
+       Renderer.prototype.list = function(body, ordered, start) {
+         var type = ordered ? 'ol' : 'ul',
+             startatt = (ordered && start !== 1) ? (' start="' + start + '"') : '';
+         return '<' + type + startatt + '>\n' + body + '</' + type + '>\n';
+       };
+
+       Renderer.prototype.listitem = function(text) {
+         return '<li>' + text + '</li>\n';
+       };
+
+       Renderer.prototype.checkbox = function(checked) {
+         return '<input '
+           + (checked ? 'checked="" ' : '')
+           + 'disabled="" type="checkbox"'
+           + (this.options.xhtml ? ' /' : '')
+           + '> ';
+       };
+
+       Renderer.prototype.paragraph = function(text) {
+         return '<p>' + text + '</p>\n';
+       };
+
+       Renderer.prototype.table = function(header, body) {
+         if (body) body = '<tbody>' + body + '</tbody>';
+
+         return '<table>\n'
+           + '<thead>\n'
+           + header
+           + '</thead>\n'
+           + body
+           + '</table>\n';
+       };
+
+       Renderer.prototype.tablerow = function(content) {
+         return '<tr>\n' + content + '</tr>\n';
+       };
+
+       Renderer.prototype.tablecell = function(content, flags) {
+         var type = flags.header ? 'th' : 'td';
+         var tag = flags.align
+           ? '<' + type + ' align="' + flags.align + '">'
+           : '<' + type + '>';
+         return tag + content + '</' + type + '>\n';
+       };
+
+       // span level renderer
+       Renderer.prototype.strong = function(text) {
+         return '<strong>' + text + '</strong>';
+       };
+
+       Renderer.prototype.em = function(text) {
+         return '<em>' + text + '</em>';
+       };
+
+       Renderer.prototype.codespan = function(text) {
+         return '<code>' + text + '</code>';
+       };
+
+       Renderer.prototype.br = function() {
+         return this.options.xhtml ? '<br/>' : '<br>';
+       };
+
+       Renderer.prototype.del = function(text) {
+         return '<del>' + text + '</del>';
+       };
+
+       Renderer.prototype.link = function(href, title, text) {
+         href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);
+         if (href === null) {
+           return text;
+         }
+         var out = '<a href="' + escape(href) + '"';
+         if (title) {
+           out += ' title="' + title + '"';
+         }
+         out += '>' + text + '</a>';
+         return out;
+       };
+
+       Renderer.prototype.image = function(href, title, text) {
+         href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);
+         if (href === null) {
+           return text;
+         }
+
+         var out = '<img src="' + href + '" alt="' + text + '"';
+         if (title) {
+           out += ' title="' + title + '"';
+         }
+         out += this.options.xhtml ? '/>' : '>';
+         return out;
+       };
+
+       Renderer.prototype.text = function(text) {
+         return text;
+       };
+
+       /**
+        * TextRenderer
+        * returns only the textual part of the token
+        */
+
+       function TextRenderer() {}
+
+       // no need for block level renderers
+
+       TextRenderer.prototype.strong =
+       TextRenderer.prototype.em =
+       TextRenderer.prototype.codespan =
+       TextRenderer.prototype.del =
+       TextRenderer.prototype.text = function(text) {
+         return text;
+       };
+
+       TextRenderer.prototype.link =
+       TextRenderer.prototype.image = function(href, title, text) {
+         return '' + text;
+       };
+
+       TextRenderer.prototype.br = function() {
+         return '';
+       };
+
+       /**
+        * Parsing & Compiling
+        */
+
+       function Parser(options) {
+         this.tokens = [];
+         this.token = null;
+         this.options = options || marked.defaults;
+         this.options.renderer = this.options.renderer || new Renderer();
+         this.renderer = this.options.renderer;
+         this.renderer.options = this.options;
+         this.slugger = new Slugger();
+       }
+
+       /**
+        * Static Parse Method
+        */
+
+       Parser.parse = function(src, options) {
+         var parser = new Parser(options);
+         return parser.parse(src);
+       };
+
+       /**
+        * Parse Loop
+        */
+
+       Parser.prototype.parse = function(src) {
+         this.inline = new InlineLexer(src.links, this.options);
+         // use an InlineLexer with a TextRenderer to extract pure text
+         this.inlineText = new InlineLexer(
+           src.links,
+           merge({}, this.options, { renderer: new TextRenderer() })
+         );
+         this.tokens = src.reverse();
+
+         var out = '';
+         while (this.next()) {
+           out += this.tok();
+         }
+
+         return out;
+       };
+
+       /**
+        * Next Token
+        */
+
+       Parser.prototype.next = function() {
+         this.token = this.tokens.pop();
+         return this.token;
+       };
+
+       /**
+        * Preview Next Token
+        */
+
+       Parser.prototype.peek = function() {
+         return this.tokens[this.tokens.length - 1] || 0;
+       };
+
+       /**
+        * Parse Text Tokens
+        */
+
+       Parser.prototype.parseText = function() {
+         var body = this.token.text;
+
+         while (this.peek().type === 'text') {
+           body += '\n' + this.next().text;
+         }
+
+         return this.inline.output(body);
+       };
+
+       /**
+        * Parse Current Token
+        */
+
+       Parser.prototype.tok = function() {
+         switch (this.token.type) {
+           case 'space': {
+             return '';
+           }
+           case 'hr': {
+             return this.renderer.hr();
+           }
+           case 'heading': {
+             return this.renderer.heading(
+               this.inline.output(this.token.text),
+               this.token.depth,
+               unescape(this.inlineText.output(this.token.text)),
+               this.slugger);
+           }
+           case 'code': {
+             return this.renderer.code(this.token.text,
+               this.token.lang,
+               this.token.escaped);
+           }
+           case 'table': {
+             var header = '',
+                 body = '',
+                 i,
+                 row,
+                 cell,
+                 j;
+
+             // header
+             cell = '';
+             for (i = 0; i < this.token.header.length; i++) {
+               cell += this.renderer.tablecell(
+                 this.inline.output(this.token.header[i]),
+                 { header: true, align: this.token.align[i] }
+               );
+             }
+             header += this.renderer.tablerow(cell);
+
+             for (i = 0; i < this.token.cells.length; i++) {
+               row = this.token.cells[i];
+
+               cell = '';
+               for (j = 0; j < row.length; j++) {
+                 cell += this.renderer.tablecell(
+                   this.inline.output(row[j]),
+                   { header: false, align: this.token.align[j] }
+                 );
+               }
+
+               body += this.renderer.tablerow(cell);
+             }
+             return this.renderer.table(header, body);
+           }
+           case 'blockquote_start': {
+             body = '';
+
+             while (this.next().type !== 'blockquote_end') {
+               body += this.tok();
+             }
+
+             return this.renderer.blockquote(body);
+           }
+           case 'list_start': {
+             body = '';
+             var ordered = this.token.ordered,
+                 start = this.token.start;
+
+             while (this.next().type !== 'list_end') {
+               body += this.tok();
+             }
+
+             return this.renderer.list(body, ordered, start);
+           }
+           case 'list_item_start': {
+             body = '';
+             var loose = this.token.loose;
+             var checked = this.token.checked;
+             var task = this.token.task;
+
+             if (this.token.task) {
+               body += this.renderer.checkbox(checked);
+             }
+
+             while (this.next().type !== 'list_item_end') {
+               body += !loose && this.token.type === 'text'
+                 ? this.parseText()
+                 : this.tok();
+             }
+             return this.renderer.listitem(body, task, checked);
+           }
+           case 'html': {
+             // TODO parse inline content if parameter markdown=1
+             return this.renderer.html(this.token.text);
+           }
+           case 'paragraph': {
+             return this.renderer.paragraph(this.inline.output(this.token.text));
+           }
+           case 'text': {
+             return this.renderer.paragraph(this.parseText());
+           }
+           default: {
+             var errMsg = 'Token with "' + this.token.type + '" type was not found.';
+             if (this.options.silent) {
+               console.log(errMsg);
+             } else {
+               throw new Error(errMsg);
+             }
+           }
+         }
+       };
+
+       /**
+        * Slugger generates header id
+        */
+
+       function Slugger() {
+         this.seen = {};
+       }
+
+       /**
+        * Convert string to unique id
+        */
+
+       Slugger.prototype.slug = function(value) {
+         var slug = value
+           .toLowerCase()
+           .trim()
+           .replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '')
+           .replace(/\s/g, '-');
+
+         if (this.seen.hasOwnProperty(slug)) {
+           var originalSlug = slug;
+           do {
+             this.seen[originalSlug]++;
+             slug = originalSlug + '-' + this.seen[originalSlug];
+           } while (this.seen.hasOwnProperty(slug));
+         }
+         this.seen[slug] = 0;
+
+         return slug;
+       };
+
+       /**
+        * Helpers
+        */
+
+       function escape(html, encode) {
+         if (encode) {
+           if (escape.escapeTest.test(html)) {
+             return html.replace(escape.escapeReplace, function(ch) { return escape.replacements[ch]; });
+           }
+         } else {
+           if (escape.escapeTestNoEncode.test(html)) {
+             return html.replace(escape.escapeReplaceNoEncode, function(ch) { return escape.replacements[ch]; });
+           }
+         }
+
+         return html;
+       }
+
+       escape.escapeTest = /[&<>"']/;
+       escape.escapeReplace = /[&<>"']/g;
+       escape.replacements = {
+         '&': '&amp;',
+         '<': '&lt;',
+         '>': '&gt;',
+         '"': '&quot;',
+         "'": '&#39;'
+       };
+
+       escape.escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/;
+       escape.escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g;
+
+       function unescape(html) {
+         // explicitly match decimal, hex, and named HTML entities
+         return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, function(_, n) {
+           n = n.toLowerCase();
+           if (n === 'colon') return ':';
+           if (n.charAt(0) === '#') {
+             return n.charAt(1) === 'x'
+               ? String.fromCharCode(parseInt(n.substring(2), 16))
+               : String.fromCharCode(+n.substring(1));
+           }
+           return '';
+         });
+       }
+
+       function edit(regex, opt) {
+         regex = regex.source || regex;
+         opt = opt || '';
+         return {
+           replace: function(name, val) {
+             val = val.source || val;
+             val = val.replace(/(^|[^\[])\^/g, '$1');
+             regex = regex.replace(name, val);
+             return this;
+           },
+           getRegex: function() {
+             return new RegExp(regex, opt);
+           }
+         };
+       }
+
+       function cleanUrl(sanitize, base, href) {
+         if (sanitize) {
+           try {
+             var prot = decodeURIComponent(unescape(href))
+               .replace(/[^\w:]/g, '')
+               .toLowerCase();
+           } catch (e) {
+             return null;
+           }
+           if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {
+             return null;
+           }
+         }
+         if (base && !originIndependentUrl.test(href)) {
+           href = resolveUrl(base, href);
+         }
+         try {
+           href = encodeURI(href).replace(/%25/g, '%');
+         } catch (e) {
+           return null;
+         }
+         return href;
+       }
+
+       function resolveUrl(base, href) {
+         if (!baseUrls[' ' + base]) {
+           // we can ignore everything in base after the last slash of its path component,
+           // but we might need to add _that_
+           // https://tools.ietf.org/html/rfc3986#section-3
+           if (/^[^:]+:\/*[^/]*$/.test(base)) {
+             baseUrls[' ' + base] = base + '/';
+           } else {
+             baseUrls[' ' + base] = rtrim(base, '/', true);
+           }
+         }
+         base = baseUrls[' ' + base];
+
+         if (href.slice(0, 2) === '//') {
+           return base.replace(/:[\s\S]*/, ':') + href;
+         } else if (href.charAt(0) === '/') {
+           return base.replace(/(:\/*[^/]*)[\s\S]*/, '$1') + href;
+         } else {
+           return base + href;
+         }
+       }
+       var baseUrls = {};
+       var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
+
+       function noop() {}
+       noop.exec = noop;
+
+       function merge(obj) {
+         var i = 1,
+             target,
+             key;
+
+         for (; i < arguments.length; i++) {
+           target = arguments[i];
+           for (key in target) {
+             if (Object.prototype.hasOwnProperty.call(target, key)) {
+               obj[key] = target[key];
+             }
+           }
+         }
+
+         return obj;
+       }
+
+       function splitCells(tableRow, count) {
+         // ensure that every cell-delimiting pipe has a space
+         // before it to distinguish it from an escaped pipe
+         var row = tableRow.replace(/\|/g, function(match, offset, str) {
+               var escaped = false,
+                   curr = offset;
+               while (--curr >= 0 && str[curr] === '\\') escaped = !escaped;
+               if (escaped) {
+                 // odd number of slashes means | is escaped
+                 // so we leave it alone
+                 return '|';
+               } else {
+                 // add space before unescaped |
+                 return ' |';
+               }
+             }),
+             cells = row.split(/ \|/),
+             i = 0;
+
+         if (cells.length > count) {
+           cells.splice(count);
+         } else {
+           while (cells.length < count) cells.push('');
+         }
+
+         for (; i < cells.length; i++) {
+           // leading or trailing whitespace is ignored per the gfm spec
+           cells[i] = cells[i].trim().replace(/\\\|/g, '|');
+         }
+         return cells;
+       }
+
+       // Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').
+       // /c*$/ is vulnerable to REDOS.
+       // invert: Remove suffix of non-c chars instead. Default falsey.
+       function rtrim(str, c, invert) {
+         if (str.length === 0) {
+           return '';
+         }
+
+         // Length of suffix matching the invert condition.
+         var suffLen = 0;
+
+         // Step left until we fail to match the invert condition.
+         while (suffLen < str.length) {
+           var currChar = str.charAt(str.length - suffLen - 1);
+           if (currChar === c && !invert) {
+             suffLen++;
+           } else if (currChar !== c && invert) {
+             suffLen++;
+           } else {
+             break;
+           }
+         }
+
+         return str.substr(0, str.length - suffLen);
+       }
+
+       function findClosingBracket(str, b) {
+         if (str.indexOf(b[1]) === -1) {
+           return -1;
+         }
+         var level = 0;
+         for (var i = 0; i < str.length; i++) {
+           if (str[i] === '\\') {
+             i++;
+           } else if (str[i] === b[0]) {
+             level++;
+           } else if (str[i] === b[1]) {
+             level--;
+             if (level < 0) {
+               return i;
+             }
+           }
+         }
+         return -1;
+       }
+
+       function checkSanitizeDeprecation(opt) {
+         if (opt && opt.sanitize && !opt.silent) {
+           console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');
+         }
+       }
+
+       /**
+        * Marked
+        */
+
+       function marked(src, opt, callback) {
+         // throw error in case of non string input
+         if (typeof src === 'undefined' || src === null) {
+           throw new Error('marked(): input parameter is undefined or null');
+         }
+         if (typeof src !== 'string') {
+           throw new Error('marked(): input parameter is of type '
+             + Object.prototype.toString.call(src) + ', string expected');
+         }
+
+         if (callback || typeof opt === 'function') {
+           if (!callback) {
+             callback = opt;
+             opt = null;
+           }
+
+           opt = merge({}, marked.defaults, opt || {});
+           checkSanitizeDeprecation(opt);
+
+           var highlight = opt.highlight,
+               tokens,
+               pending,
+               i = 0;
+
+           try {
+             tokens = Lexer.lex(src, opt);
+           } catch (e) {
+             return callback(e);
+           }
+
+           pending = tokens.length;
+
+           var done = function(err) {
+             if (err) {
+               opt.highlight = highlight;
+               return callback(err);
+             }
+
+             var out;
+
+             try {
+               out = Parser.parse(tokens, opt);
+             } catch (e) {
+               err = e;
+             }
+
+             opt.highlight = highlight;
+
+             return err
+               ? callback(err)
+               : callback(null, out);
+           };
+
+           if (!highlight || highlight.length < 3) {
+             return done();
+           }
+
+           delete opt.highlight;
+
+           if (!pending) return done();
+
+           for (; i < tokens.length; i++) {
+             (function(token) {
+               if (token.type !== 'code') {
+                 return --pending || done();
+               }
+               return highlight(token.text, token.lang, function(err, code) {
+                 if (err) return done(err);
+                 if (code == null || code === token.text) {
+                   return --pending || done();
+                 }
+                 token.text = code;
+                 token.escaped = true;
+                 --pending || done();
+               });
+             })(tokens[i]);
+           }
+
+           return;
+         }
+         try {
+           if (opt) opt = merge({}, marked.defaults, opt);
+           checkSanitizeDeprecation(opt);
+           return Parser.parse(Lexer.lex(src, opt), opt);
+         } catch (e) {
+           e.message += '\nPlease report this to https://github.com/markedjs/marked.';
+           if ((opt || marked.defaults).silent) {
+             return '<p>An error occurred:</p><pre>'
+               + escape(e.message + '', true)
+               + '</pre>';
+           }
+           throw e;
+         }
+       }
+
+       /**
+        * Options
+        */
+
+       marked.options =
+       marked.setOptions = function(opt) {
+         merge(marked.defaults, opt);
+         return marked;
+       };
+
+       marked.getDefaults = function() {
+         return {
+           baseUrl: null,
+           breaks: false,
+           gfm: true,
+           headerIds: true,
+           headerPrefix: '',
+           highlight: null,
+           langPrefix: 'language-',
+           mangle: true,
+           pedantic: false,
+           renderer: new Renderer(),
+           sanitize: false,
+           sanitizer: null,
+           silent: false,
+           smartLists: false,
+           smartypants: false,
+           xhtml: false
+         };
+       };
+
+       marked.defaults = marked.getDefaults();
+
+       /**
+        * Expose
+        */
+
+       marked.Parser = Parser;
+       marked.parser = Parser.parse;
+
+       marked.Renderer = Renderer;
+       marked.TextRenderer = TextRenderer;
+
+       marked.Lexer = Lexer;
+       marked.lexer = Lexer.lex;
+
+       marked.InlineLexer = InlineLexer;
+       marked.inlineLexer = InlineLexer.output;
+
+       marked.Slugger = Slugger;
+
+       marked.parse = marked;
+
+       {
+         module.exports = marked;
+       }
+       })();
+       });
+
+       function pointBox(loc, context) {
+           var rect = context.surfaceRect();
+           var point = context.curtainProjection(loc);
+           return {
+               left: point[0] + rect.left - 40,
+               top: point[1] + rect.top - 60,
+               width: 80,
+               height: 90
+           };
+       }
+
+
+       function pad$2(locOrBox, padding, context) {
+           var box;
+           if (locOrBox instanceof Array) {
+               var rect = context.surfaceRect();
+               var point = context.curtainProjection(locOrBox);
+               box = {
+                   left: point[0] + rect.left,
+                   top: point[1] + rect.top
+               };
+           } else {
+               box = locOrBox;
+           }
+
+           return {
+               left: box.left - padding,
+               top: box.top - padding,
+               width: (box.width || 0) + 2 * padding,
+               height: (box.width || 0) + 2 * padding
+           };
+       }
+
+
+       function icon(name, svgklass, useklass) {
+           return '<svg class="icon ' + (svgklass || '') + '">' +
+                '<use xlink:href="' + name + '"' +
+                (useklass ? ' class="' + useklass + '"' : '') + '></use></svg>';
+       }
+
+
+       function slugify(text) {
+           return text.toString().toLowerCase()
+               .replace(/\s+/g, '-')           // Replace spaces with -
+               .replace(/[^\w\-]+/g, '')       // Remove all non-word chars
+               .replace(/\-\-+/g, '-')         // Replace multiple - with single -
+               .replace(/^-+/, '')             // Trim - from start of text
+               .replace(/-+$/, '');            // Trim - from end of text
+       }
+
+
+       // console warning for missing walkthrough names
+       var missingStrings = {};
+       function checkKey(key, text) {
+           if (t(key, { default: undefined}) === undefined) {
+               if (missingStrings.hasOwnProperty(key)) return;  // warn once
+               missingStrings[key] = text;
+               var missing = key + ': ' + text;
+               if (typeof console !== 'undefined') console.log(missing); // eslint-disable-line
+           }
+       }
+
+
+       function localize(obj) {
+           var key;
+
+           // Assign name if entity has one..
+           var name = obj.tags && obj.tags.name;
+           if (name) {
+               key = 'intro.graph.name.' + slugify(name);
+               obj.tags.name = t(key, { default: name });
+               checkKey(key, name);
+           }
+
+           // Assign street name if entity has one..
+           var street = obj.tags && obj.tags['addr:street'];
+           if (street) {
+               key = 'intro.graph.name.' + slugify(street);
+               obj.tags['addr:street'] = t(key, { default: street });
+               checkKey(key, street);
+
+               // Add address details common across walkthrough..
+               var addrTags = [
+                   'block_number', 'city', 'county', 'district', 'hamlet', 'neighbourhood',
+                   'postcode', 'province', 'quarter', 'state', 'subdistrict', 'suburb'
+               ];
+               addrTags.forEach(function(k) {
+                   var key = 'intro.graph.' + k;
+                   var tag = 'addr:' + k;
+                   var val = obj.tags && obj.tags[tag];
+                   var str = t(key, { default: val });
+
+                   if (str) {
+                       if (str.match(/^<.*>$/) !== null) {
+                           delete obj.tags[tag];
+                       } else {
+                           obj.tags[tag] = str;
+                       }
+                   }
+               });
+           }
+
+           return obj;
+       }
+
+
+       // Used to detect squareness.. some duplicataion of code from actionOrthogonalize.
+       function isMostlySquare(points) {
+           // note: uses 15 here instead of the 12 from actionOrthogonalize because
+           // actionOrthogonalize can actually straighten some larger angles as it iterates
+           var threshold = 15; // degrees within right or straight
+           var lowerBound = Math.cos((90 - threshold) * Math.PI / 180);  // near right
+           var upperBound = Math.cos(threshold * Math.PI / 180);         // near straight
+
+           for (var i = 0; i < points.length; i++) {
+               var a = points[(i - 1 + points.length) % points.length];
+               var origin = points[i];
+               var b = points[(i + 1) % points.length];
+
+               var dotp = geoVecNormalizedDot(a, b, origin);
+               var mag = Math.abs(dotp);
+               if (mag > lowerBound && mag < upperBound) {
+                   return false;
+               }
+           }
+
+           return true;
+       }
+
+
+       function selectMenuItem(operation) {
+           var selector = '.edit-menu .edit-menu-item-' + operation +
+               ', .radial-menu .radial-menu-item-' + operation;
+           return d3_select(selector);
+       }
+
+
+       function transitionTime(point1, point2) {
+           var distance = geoSphericalDistance(point1, point2);
+           if (distance === 0)
+               return 0;
+           else if (distance < 80)
+               return 500;
+           else
+               return 1000;
+       }
+
+       var dataIntroGraph = {n1:{id:"n1",loc:[-85.631039,41.948829]},n10:{id:"n10",loc:[-85.634733,41.941588]},n100:{id:"n100",loc:[-85.637395,41.942252]},n1000:{id:"n1000",loc:[-85.632699,41.944763]},n1001:{id:"n1001",loc:[-85.632685,41.944763]},n1002:{id:"n1002",loc:[-85.632673,41.944755]},n1003:{id:"n1003",loc:[-85.632595,41.944682]},n1004:{id:"n1004",loc:[-85.632576,41.944673]},n1005:{id:"n1005",loc:[-85.632551,41.944667]},n1006:{id:"n1006",loc:[-85.63253,41.944667]},n1007:{id:"n1007",loc:[-85.632502,41.944669]},n1008:{id:"n1008",loc:[-85.632483,41.944677]},n1009:{id:"n1009",loc:[-85.632383,41.944731]},n101:{id:"n101",loc:[-85.637357,41.942252]},n1010:{id:"n1010",loc:[-85.63349,41.944976],tags:{"addr:city":"Three Rivers","addr:housenumber":"31","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Sherwin Williams",shop:"paint",brand:"Sherwin Williams","brand:wikidata":"Q48881","brand:wikipedia":"en:Sherwin-Williams"}},n1011:{id:"n1011",loc:[-85.633548,41.945034],tags:{"addr:city":"Three Rivers","addr:housenumber":"33","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Unique Jewelry",shop:"jewelry"}},n1012:{id:"n1012",loc:[-85.633683,41.945129],tags:{"addr:city":"Three Rivers","addr:housenumber":"37","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"World Fare",shop:"gift"}},n1013:{id:"n1013",loc:[-85.634563,41.945469],tags:{"addr:city":"Three Rivers","addr:housenumber":"62","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Golden Finch Framing",shop:"frame"}},n1014:{id:"n1014",loc:[-85.634469,41.945379],tags:{"addr:city":"Three Rivers","addr:housenumber":"58","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Dollar Tree",brand:"Dollar Tree","brand:wikidata":"Q5289230","brand:wikipedia":"en:Dollar Tree",shop:"variety_store"}},n1015:{id:"n1015",loc:[-85.634227,41.945159],tags:{"addr:city":"Three Rivers","addr:housenumber":"48","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",amenity:"theatre",name:"Riviera Theatre"}},n1016:{id:"n1016",loc:[-85.634057,41.945012],tags:{"addr:city":"Three Rivers","addr:housenumber":"42","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"River City Appliance",shop:"appliance"}},n1017:{id:"n1017",loc:[-85.633879,41.945325],tags:{"addr:city":"Three Rivers","addr:housenumber":"45","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Paparazzi Tattoo",shop:"tattoo"}},n1018:{id:"n1018",loc:[-85.634914,41.945839],tags:{"addr:city":"Three Rivers","addr:housenumber":"88","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",amenity:"bank",name:"Southern Michigan Bank"}},n1019:{id:"n1019",loc:[-85.634513,41.946181]},n102:{id:"n102",loc:[-85.637357,41.942216]},n1020:{id:"n1020",loc:[-85.634079,41.946194]},n1021:{id:"n1021",loc:[-85.634357,41.945805]},n1022:{id:"n1022",loc:[-85.634389,41.945788]},n1023:{id:"n1023",loc:[-85.634491,41.94581]},n1024:{id:"n1024",loc:[-85.634513,41.945853]},n1025:{id:"n1025",loc:[-85.634506,41.94583]},n1026:{id:"n1026",loc:[-85.634762,41.946056],tags:{crossing:"marked",highway:"crossing"}},n1027:{id:"n1027",loc:[-85.634766,41.946178]},n1028:{id:"n1028",loc:[-85.634622,41.946179],tags:{crossing:"marked",highway:"crossing"}},n1029:{id:"n1029",loc:[-85.640655,41.942057]},n103:{id:"n103",loc:[-85.637386,41.942054]},n1030:{id:"n1030",loc:[-85.640947,41.942057]},n1031:{id:"n1031",loc:[-85.640957,41.942593]},n1032:{id:"n1032",loc:[-85.630953,41.960873]},n1033:{id:"n1033",loc:[-85.632174,41.960679]},n1034:{id:"n1034",loc:[-85.638785,41.943066]},n1035:{id:"n1035",loc:[-85.638853,41.943065]},n1036:{id:"n1036",loc:[-85.638855,41.943183]},n1037:{id:"n1037",loc:[-85.638552,41.943189]},n1038:{id:"n1038",loc:[-85.63855,41.943149]},n1039:{id:"n1039",loc:[-85.638638,41.943068]},n104:{id:"n104",loc:[-85.637387,41.942125]},n1040:{id:"n1040",loc:[-85.638638,41.943078]},n1041:{id:"n1041",loc:[-85.638813,41.943163]},n1042:{id:"n1042",loc:[-85.638684,41.943165]},n1043:{id:"n1043",loc:[-85.638682,41.943105]},n1044:{id:"n1044",loc:[-85.638706,41.943105]},n1045:{id:"n1045",loc:[-85.638707,41.943117]},n1046:{id:"n1046",loc:[-85.638812,41.943115]},n1047:{id:"n1047",loc:[-85.638769,41.943407]},n1048:{id:"n1048",loc:[-85.638549,41.943407]},n1049:{id:"n1049",loc:[-85.638567,41.943555]},n105:{id:"n105",loc:[-85.637319,41.942125]},n1050:{id:"n1050",loc:[-85.638426,41.943554]},n1051:{id:"n1051",loc:[-85.638427,41.94346]},n1052:{id:"n1052",loc:[-85.638568,41.943461]},n1053:{id:"n1053",loc:[-85.639264,41.943415]},n1054:{id:"n1054",loc:[-85.639082,41.943417]},n1055:{id:"n1055",loc:[-85.63908,41.943331]},n1056:{id:"n1056",loc:[-85.639136,41.94333]},n1057:{id:"n1057",loc:[-85.639158,41.943312]},n1058:{id:"n1058",loc:[-85.639188,41.943313]},n1059:{id:"n1059",loc:[-85.639211,41.943331]},n106:{id:"n106",loc:[-85.637319,41.942137]},n1060:{id:"n1060",loc:[-85.639262,41.943331]},n1061:{id:"n1061",loc:[-85.638986,41.943515]},n1062:{id:"n1062",loc:[-85.63888,41.943521]},n1063:{id:"n1063",loc:[-85.638871,41.943436]},n1064:{id:"n1064",loc:[-85.638958,41.943431]},n1065:{id:"n1065",loc:[-85.638979,41.943443]},n1066:{id:"n1066",loc:[-85.63926,41.943703]},n1067:{id:"n1067",loc:[-85.639152,41.943704]},n1068:{id:"n1068",loc:[-85.639152,41.943691]},n1069:{id:"n1069",loc:[-85.639063,41.943691]},n107:{id:"n107",loc:[-85.637259,41.942137]},n1070:{id:"n1070",loc:[-85.639062,41.943613]},n1071:{id:"n1071",loc:[-85.639259,41.943611]},n1072:{id:"n1072",loc:[-85.639117,41.943726]},n1073:{id:"n1073",loc:[-85.639118,41.943767]},n1074:{id:"n1074",loc:[-85.639051,41.943768]},n1075:{id:"n1075",loc:[-85.63905,41.943727]},n1076:{id:"n1076",loc:[-85.638627,41.943716]},n1077:{id:"n1077",loc:[-85.63863,41.943634]},n1078:{id:"n1078",loc:[-85.63844,41.943631]},n1079:{id:"n1079",loc:[-85.638437,41.943729]},n108:{id:"n108",loc:[-85.637259,41.942126]},n1080:{id:"n1080",loc:[-85.638533,41.94373]},n1081:{id:"n1081",loc:[-85.638534,41.943715]},n1082:{id:"n1082",loc:[-85.638678,41.943941]},n1083:{id:"n1083",loc:[-85.638522,41.943944]},n1084:{id:"n1084",loc:[-85.63852,41.943864]},n1085:{id:"n1085",loc:[-85.638676,41.943861]},n1086:{id:"n1086",loc:[-85.638663,41.944059]},n1087:{id:"n1087",loc:[-85.638513,41.944061]},n1088:{id:"n1088",loc:[-85.638511,41.943991]},n1089:{id:"n1089",loc:[-85.638661,41.943989]},n109:{id:"n109",loc:[-85.637193,41.942126]},n1090:{id:"n1090",loc:[-85.63865,41.944134]},n1091:{id:"n1091",loc:[-85.638429,41.944144]},n1092:{id:"n1092",loc:[-85.638426,41.944106]},n1093:{id:"n1093",loc:[-85.638476,41.944104]},n1094:{id:"n1094",loc:[-85.638475,41.94409]},n1095:{id:"n1095",loc:[-85.638594,41.944084]},n1096:{id:"n1096",loc:[-85.638595,41.944101]},n1097:{id:"n1097",loc:[-85.638647,41.944099]},n1098:{id:"n1098",loc:[-85.63829,41.944154]},n1099:{id:"n1099",loc:[-85.638558,41.944155]},n11:{id:"n11",loc:[-85.634602,41.941523]},n110:{id:"n110",loc:[-85.637192,41.942053]},n1100:{id:"n1100",loc:[-85.638558,41.944338]},n1101:{id:"n1101",loc:[-85.638851,41.944408]},n1102:{id:"n1102",loc:[-85.637771,41.943989]},n1103:{id:"n1103",loc:[-85.639345,41.943964]},n1104:{id:"n1104",loc:[-85.638515,41.94397]},n1105:{id:"n1105",loc:[-85.639256,41.943928]},n1106:{id:"n1106",loc:[-85.639157,41.943929]},n1107:{id:"n1107",loc:[-85.639156,41.9439]},n1108:{id:"n1108",loc:[-85.639118,41.9439]},n1109:{id:"n1109",loc:[-85.639116,41.94382]},n111:{id:"n111",loc:[-85.637248,41.942053]},n1110:{id:"n1110",loc:[-85.639202,41.943819]},n1111:{id:"n1111",loc:[-85.639202,41.943837]},n1112:{id:"n1112",loc:[-85.639293,41.943836]},n1113:{id:"n1113",loc:[-85.639295,41.943898]},n1114:{id:"n1114",loc:[-85.639255,41.943898]},n1115:{id:"n1115",loc:[-85.639296,41.944083]},n1116:{id:"n1116",loc:[-85.639144,41.944084]},n1117:{id:"n1117",loc:[-85.639143,41.944026]},n1118:{id:"n1118",loc:[-85.639162,41.944026]},n1119:{id:"n1119",loc:[-85.639162,41.944]},n112:{id:"n112",loc:[-85.637248,41.942042]},n1120:{id:"n1120",loc:[-85.639295,41.943999]},n1121:{id:"n1121",loc:[-85.639131,41.944139]},n1122:{id:"n1122",loc:[-85.63901,41.94414]},n1123:{id:"n1123",loc:[-85.63901,41.944076]},n1124:{id:"n1124",loc:[-85.63913,41.944075]},n1125:{id:"n1125",loc:[-85.639092,41.944155]},n1126:{id:"n1126",loc:[-85.639093,41.944308]},n1127:{id:"n1127",loc:[-85.639225,41.944308]},n1128:{id:"n1128",loc:[-85.639225,41.94429]},n1129:{id:"n1129",loc:[-85.639253,41.944289]},n113:{id:"n113",loc:[-85.637338,41.942041]},n1130:{id:"n1130",loc:[-85.639253,41.944269]},n1131:{id:"n1131",loc:[-85.639243,41.944269]},n1132:{id:"n1132",loc:[-85.639243,41.944229]},n1133:{id:"n1133",loc:[-85.639224,41.944229]},n1134:{id:"n1134",loc:[-85.639224,41.944196]},n1135:{id:"n1135",loc:[-85.639195,41.944196]},n1136:{id:"n1136",loc:[-85.639195,41.944155]},n1137:{id:"n1137",loc:[-85.639072,41.944154]},n1138:{id:"n1138",loc:[-85.638865,41.944154]},n1139:{id:"n1139",loc:[-85.638863,41.943967]},n114:{id:"n114",loc:[-85.637338,41.942055]},n1140:{id:"n1140",loc:[-85.6386,41.942698]},n1141:{id:"n1141",loc:[-85.639348,41.942698]},n1142:{id:"n1142",loc:[-85.639377,41.944984]},n1143:{id:"n1143",loc:[-85.63937,41.945013]},n1144:{id:"n1144",loc:[-85.639357,41.945033]},n1145:{id:"n1145",loc:[-85.639353,41.945053]},n1146:{id:"n1146",loc:[-85.639352,41.945084]},n1147:{id:"n1147",loc:[-85.638278,41.945516]},n1148:{id:"n1148",loc:[-85.637505,41.945801]},n1149:{id:"n1149",loc:[-85.637327,41.945857]},n115:{id:"n115",loc:[-85.637583,41.941943]},n1150:{id:"n1150",loc:[-85.637168,41.945899]},n1151:{id:"n1151",loc:[-85.637017,41.94593]},n1152:{id:"n1152",loc:[-85.637185,41.945938]},n1153:{id:"n1153",loc:[-85.63682,41.945963]},n1154:{id:"n1154",loc:[-85.636639,41.945984]},n1155:{id:"n1155",loc:[-85.636439,41.945999]},n1156:{id:"n1156",loc:[-85.635801,41.945999]},n1157:{id:"n1157",loc:[-85.635769,41.945908]},n1158:{id:"n1158",loc:[-85.635953,41.946154]},n1159:{id:"n1159",loc:[-85.635472,41.94598]},n116:{id:"n116",loc:[-85.637584,41.941983]},n1160:{id:"n1160",loc:[-85.635409,41.945981]},n1161:{id:"n1161",loc:[-85.635583,41.945987]},n1162:{id:"n1162",loc:[-85.636452,41.945805]},n1163:{id:"n1163",loc:[-85.636425,41.94582]},n1164:{id:"n1164",loc:[-85.636396,41.945817]},n1165:{id:"n1165",loc:[-85.636368,41.945797]},n1166:{id:"n1166",loc:[-85.636346,41.945767]},n1167:{id:"n1167",loc:[-85.636307,41.945745]},n1168:{id:"n1168",loc:[-85.636194,41.94565]},n1169:{id:"n1169",loc:[-85.636121,41.945579]},n117:{id:"n117",loc:[-85.63751,41.941983]},n1170:{id:"n1170",loc:[-85.635995,41.945432]},n1171:{id:"n1171",loc:[-85.637564,41.943538]},n1172:{id:"n1172",loc:[-85.63756,41.943505]},n1173:{id:"n1173",loc:[-85.637435,41.943489]},n1174:{id:"n1174",loc:[-85.637093,41.943556]},n1175:{id:"n1175",loc:[-85.634836,41.941574]},n1176:{id:"n1176",loc:[-85.634692,41.9415]},n1177:{id:"n1177",loc:[-85.634261,41.941337]},n1178:{id:"n1178",loc:[-85.634208,41.940962]},n1179:{id:"n1179",loc:[-85.635247,41.940968]},n118:{id:"n118",loc:[-85.637509,41.941944]},n1180:{id:"n1180",loc:[-85.63514,41.941205]},n1181:{id:"n1181",loc:[-85.634858,41.941511]},n1182:{id:"n1182",loc:[-85.630725,41.943465]},n1183:{id:"n1183",loc:[-85.632591,41.942826]},n1184:{id:"n1184",loc:[-85.634487,41.941928]},n1185:{id:"n1185",loc:[-85.634499,41.942056]},n1186:{id:"n1186",loc:[-85.63433,41.943102]},n1187:{id:"n1187",loc:[-85.634158,41.943151]},n1188:{id:"n1188",loc:[-85.634107,41.94305]},n1189:{id:"n1189",loc:[-85.634279,41.943002]},n119:{id:"n119",loc:[-85.637724,41.941973]},n1190:{id:"n1190",loc:[-85.634362,41.943762]},n1191:{id:"n1191",loc:[-85.634331,41.943731]},n1192:{id:"n1192",loc:[-85.634396,41.943695]},n1193:{id:"n1193",loc:[-85.634426,41.943726]},n1194:{id:"n1194",loc:[-85.621569,41.956021]},n1195:{id:"n1195",loc:[-85.621574,41.956164]},n1196:{id:"n1196",loc:[-85.621489,41.956165]},n1197:{id:"n1197",loc:[-85.621488,41.956136]},n1198:{id:"n1198",loc:[-85.621372,41.956139]},n1199:{id:"n1199",loc:[-85.621369,41.956049]},n12:{id:"n12",loc:[-85.63359,41.941093]},n120:{id:"n120",loc:[-85.637633,41.941973]},n1200:{id:"n1200",loc:[-85.621493,41.956047]},n1201:{id:"n1201",loc:[-85.621492,41.956022]},n1202:{id:"n1202",loc:[-85.619744,41.953192]},n1203:{id:"n1203",loc:[-85.619059,41.953902]},n1204:{id:"n1204",loc:[-85.623984,41.95469]},n1205:{id:"n1205",loc:[-85.630159,41.958208]},n1206:{id:"n1206",loc:[-85.63002,41.958208]},n1207:{id:"n1207",loc:[-85.630021,41.95814]},n1208:{id:"n1208",loc:[-85.63,41.95814]},n1209:{id:"n1209",loc:[-85.63,41.958043]},n121:{id:"n121",loc:[-85.637633,41.941853]},n1210:{id:"n1210",loc:[-85.630159,41.958043]},n1211:{id:"n1211",loc:[-85.630304,41.957566]},n1212:{id:"n1212",loc:[-85.630303,41.957684]},n1213:{id:"n1213",loc:[-85.630073,41.957683]},n1214:{id:"n1214",loc:[-85.630072,41.957721]},n1215:{id:"n1215",loc:[-85.629993,41.95772]},n1216:{id:"n1216",loc:[-85.629993,41.95768]},n1217:{id:"n1217",loc:[-85.629968,41.95768]},n1218:{id:"n1218",loc:[-85.629969,41.957588]},n1219:{id:"n1219",loc:[-85.630219,41.95759]},n122:{id:"n122",loc:[-85.637724,41.941853]},n1220:{id:"n1220",loc:[-85.630219,41.957566]},n1221:{id:"n1221",loc:[-85.630717,41.957744]},n1222:{id:"n1222",loc:[-85.630596,41.957745]},n1223:{id:"n1223",loc:[-85.630598,41.957553]},n1224:{id:"n1224",loc:[-85.630717,41.957555]},n1225:{id:"n1225",loc:[-85.630609,41.957745]},n1226:{id:"n1226",loc:[-85.63061,41.957789]},n1227:{id:"n1227",loc:[-85.630327,41.957791]},n1228:{id:"n1228",loc:[-85.630324,41.95752]},n1229:{id:"n1229",loc:[-85.630325,41.95756]},n123:{id:"n123",loc:[-85.637773,41.941988]},n1230:{id:"n1230",loc:[-85.63057,41.95756]},n1231:{id:"n1231",loc:[-85.63069,41.958016]},n1232:{id:"n1232",loc:[-85.630586,41.958017]},n1233:{id:"n1233",loc:[-85.630584,41.957956]},n1234:{id:"n1234",loc:[-85.630614,41.957956]},n1235:{id:"n1235",loc:[-85.630611,41.957835]},n1236:{id:"n1236",loc:[-85.630737,41.957833]},n1237:{id:"n1237",loc:[-85.630739,41.957921]},n1238:{id:"n1238",loc:[-85.630688,41.957922]},n1239:{id:"n1239",loc:[-85.630719,41.958291]},n124:{id:"n124",loc:[-85.637773,41.942046]},n1240:{id:"n1240",loc:[-85.630592,41.958291]},n1241:{id:"n1241",loc:[-85.630593,41.958108]},n1242:{id:"n1242",loc:[-85.630701,41.958109]},n1243:{id:"n1243",loc:[-85.6307,41.958173]},n1244:{id:"n1244",loc:[-85.630711,41.958173]},n1245:{id:"n1245",loc:[-85.630711,41.958233]},n1246:{id:"n1246",loc:[-85.630719,41.958233]},n1247:{id:"n1247",loc:[-85.630523,41.958329]},n1248:{id:"n1248",loc:[-85.630388,41.958329]},n1249:{id:"n1249",loc:[-85.630387,41.958262]},n125:{id:"n125",loc:[-85.637693,41.942047]},n1250:{id:"n1250",loc:[-85.630523,41.958261]},n1251:{id:"n1251",loc:[-85.63072,41.958636]},n1252:{id:"n1252",loc:[-85.630721,41.958709]},n1253:{id:"n1253",loc:[-85.630503,41.958712]},n1254:{id:"n1254",loc:[-85.630498,41.958511]},n1255:{id:"n1255",loc:[-85.630635,41.95851]},n1256:{id:"n1256",loc:[-85.630638,41.958636]},n1257:{id:"n1257",loc:[-85.630437,41.958822]},n1258:{id:"n1258",loc:[-85.630437,41.958849]},n1259:{id:"n1259",loc:[-85.630393,41.958849]},n126:{id:"n126",loc:[-85.637692,41.941988]},n1260:{id:"n1260",loc:[-85.630393,41.958822]},n1261:{id:"n1261",loc:[-85.630605,41.959102]},n1262:{id:"n1262",loc:[-85.63049,41.959104]},n1263:{id:"n1263",loc:[-85.630487,41.958996]},n1264:{id:"n1264",loc:[-85.630462,41.958996]},n1265:{id:"n1265",loc:[-85.63046,41.958922]},n1266:{id:"n1266",loc:[-85.630562,41.958921]},n1267:{id:"n1267",loc:[-85.630564,41.958992]},n1268:{id:"n1268",loc:[-85.630602,41.958992]},n1269:{id:"n1269",loc:[-85.630126,41.957096]},n127:{id:"n127",loc:[-85.637604,41.941994]},n1270:{id:"n1270",loc:[-85.630129,41.957283]},n1271:{id:"n1271",loc:[-85.629993,41.957284]},n1272:{id:"n1272",loc:[-85.629992,41.957216]},n1273:{id:"n1273",loc:[-85.630015,41.957215]},n1274:{id:"n1274",loc:[-85.630013,41.957097]},n1275:{id:"n1275",loc:[-85.630211,41.956592]},n1276:{id:"n1276",loc:[-85.630211,41.956676]},n1277:{id:"n1277",loc:[-85.630162,41.956676]},n1278:{id:"n1278",loc:[-85.630162,41.95676]},n1279:{id:"n1279",loc:[-85.630037,41.956761]},n128:{id:"n128",loc:[-85.637604,41.942057]},n1280:{id:"n1280",loc:[-85.630037,41.956592]},n1281:{id:"n1281",loc:[-85.630309,41.95653]},n1282:{id:"n1282",loc:[-85.630326,41.957065]},n1283:{id:"n1283",loc:[-85.630118,41.957065]},n1284:{id:"n1284",loc:[-85.630119,41.957096]},n1285:{id:"n1285",loc:[-85.63067,41.957307]},n1286:{id:"n1286",loc:[-85.630536,41.957308]},n1287:{id:"n1287",loc:[-85.630533,41.957111]},n1288:{id:"n1288",loc:[-85.630667,41.95711]},n1289:{id:"n1289",loc:[-85.630676,41.956808]},n129:{id:"n129",loc:[-85.63748,41.942057]},n1290:{id:"n1290",loc:[-85.630551,41.956808]},n1291:{id:"n1291",loc:[-85.630552,41.956982]},n1292:{id:"n1292",loc:[-85.63059,41.956982]},n1293:{id:"n1293",loc:[-85.63059,41.957001]},n1294:{id:"n1294",loc:[-85.630692,41.957001]},n1295:{id:"n1295",loc:[-85.630692,41.956936]},n1296:{id:"n1296",loc:[-85.630676,41.956936]},n1297:{id:"n1297",loc:[-85.630496,41.956889]},n1298:{id:"n1298",loc:[-85.630501,41.956947]},n1299:{id:"n1299",loc:[-85.630377,41.956953]},n13:{id:"n13",loc:[-85.633643,41.941143]},n130:{id:"n130",loc:[-85.63748,41.941994]},n1300:{id:"n1300",loc:[-85.630359,41.956938]},n1301:{id:"n1301",loc:[-85.630359,41.956912]},n1302:{id:"n1302",loc:[-85.63038,41.956894]},n1303:{id:"n1303",loc:[-85.630679,41.956747]},n1304:{id:"n1304",loc:[-85.630572,41.956748]},n1305:{id:"n1305",loc:[-85.63057,41.956668]},n1306:{id:"n1306",loc:[-85.630501,41.956669]},n1307:{id:"n1307",loc:[-85.630499,41.95659]},n1308:{id:"n1308",loc:[-85.630565,41.956589]},n1309:{id:"n1309",loc:[-85.630564,41.956541]},n131:{id:"n131",loc:[-85.637431,41.941832]},n1310:{id:"n1310",loc:[-85.630686,41.956539]},n1311:{id:"n1311",loc:[-85.630688,41.956631]},n1312:{id:"n1312",loc:[-85.630676,41.956631]},n1313:{id:"n1313",loc:[-85.630686,41.956487]},n1314:{id:"n1314",loc:[-85.63059,41.956487]},n1315:{id:"n1315",loc:[-85.63059,41.956396]},n1316:{id:"n1316",loc:[-85.630686,41.956396]},n1317:{id:"n1317",loc:[-85.630643,41.9563]},n1318:{id:"n1318",loc:[-85.630548,41.956301]},n1319:{id:"n1319",loc:[-85.630545,41.956217]},n132:{id:"n132",loc:[-85.637432,41.94189]},n1320:{id:"n1320",loc:[-85.630529,41.956214]},n1321:{id:"n1321",loc:[-85.630521,41.956202]},n1322:{id:"n1322",loc:[-85.63052,41.95618]},n1323:{id:"n1323",loc:[-85.630527,41.956169]},n1324:{id:"n1324",loc:[-85.630544,41.956163]},n1325:{id:"n1325",loc:[-85.630543,41.956094]},n1326:{id:"n1326",loc:[-85.630641,41.956093]},n1327:{id:"n1327",loc:[-85.630642,41.956134]},n1328:{id:"n1328",loc:[-85.630656,41.956134]},n1329:{id:"n1329",loc:[-85.630657,41.956252]},n133:{id:"n133",loc:[-85.637412,41.94189]},n1330:{id:"n1330",loc:[-85.630643,41.956252]},n1331:{id:"n1331",loc:[-85.630409,41.956044]},n1332:{id:"n1332",loc:[-85.630409,41.956075]},n1333:{id:"n1333",loc:[-85.630195,41.956078]},n1334:{id:"n1334",loc:[-85.630195,41.9561]},n1335:{id:"n1335",loc:[-85.630088,41.956101]},n1336:{id:"n1336",loc:[-85.630087,41.956048]},n1337:{id:"n1337",loc:[-85.630345,41.956114]},n1338:{id:"n1338",loc:[-85.630328,41.956113]},n1339:{id:"n1339",loc:[-85.63034,41.956189]},n134:{id:"n134",loc:[-85.637413,41.941938]},n1340:{id:"n1340",loc:[-85.630355,41.956185]},n1341:{id:"n1341",loc:[-85.630311,41.956117]},n1342:{id:"n1342",loc:[-85.630297,41.956125]},n1343:{id:"n1343",loc:[-85.630287,41.956136]},n1344:{id:"n1344",loc:[-85.630283,41.956149]},n1345:{id:"n1345",loc:[-85.630285,41.956162]},n1346:{id:"n1346",loc:[-85.630293,41.956174]},n1347:{id:"n1347",loc:[-85.630306,41.956183]},n1348:{id:"n1348",loc:[-85.630322,41.956188]},n1349:{id:"n1349",loc:[-85.630368,41.956179]},n135:{id:"n135",loc:[-85.637342,41.941939]},n1350:{id:"n1350",loc:[-85.630378,41.95617]},n1351:{id:"n1351",loc:[-85.630384,41.956159]},n1352:{id:"n1352",loc:[-85.630385,41.956147]},n1353:{id:"n1353",loc:[-85.630381,41.956136]},n1354:{id:"n1354",loc:[-85.630372,41.956126]},n1355:{id:"n1355",loc:[-85.63036,41.956118]},n1356:{id:"n1356",loc:[-85.630776,41.956041]},n1357:{id:"n1357",loc:[-85.630195,41.956036]},n1358:{id:"n1358",loc:[-85.630137,41.956037]},n1359:{id:"n1359",loc:[-85.630136,41.956006]},n136:{id:"n136",loc:[-85.637342,41.941914]},n1360:{id:"n1360",loc:[-85.630194,41.956005]},n1361:{id:"n1361",loc:[-85.629864,41.956039]},n1362:{id:"n1362",loc:[-85.629864,41.955862]},n1363:{id:"n1363",loc:[-85.629541,41.958291]},n1364:{id:"n1364",loc:[-85.629419,41.958292]},n1365:{id:"n1365",loc:[-85.629417,41.958168]},n1366:{id:"n1366",loc:[-85.629445,41.958168]},n1367:{id:"n1367",loc:[-85.629444,41.958109]},n1368:{id:"n1368",loc:[-85.629537,41.958108]},n1369:{id:"n1369",loc:[-85.629351,41.958136]},n137:{id:"n137",loc:[-85.637212,41.941916]},n1370:{id:"n1370",loc:[-85.629352,41.958202]},n1371:{id:"n1371",loc:[-85.629365,41.958202]},n1372:{id:"n1372",loc:[-85.629365,41.958223]},n1373:{id:"n1373",loc:[-85.629291,41.958224]},n1374:{id:"n1374",loc:[-85.62929,41.958137]},n1375:{id:"n1375",loc:[-85.629443,41.958073]},n1376:{id:"n1376",loc:[-85.629252,41.958075]},n1377:{id:"n1377",loc:[-85.629253,41.95827]},n1378:{id:"n1378",loc:[-85.629566,41.957585]},n1379:{id:"n1379",loc:[-85.629566,41.957692]},n138:{id:"n138",loc:[-85.637211,41.941835]},n1380:{id:"n1380",loc:[-85.629281,41.957693]},n1381:{id:"n1381",loc:[-85.62928,41.957585]},n1382:{id:"n1382",loc:[-85.629004,41.957599]},n1383:{id:"n1383",loc:[-85.629004,41.957682]},n1384:{id:"n1384",loc:[-85.628902,41.957682]},n1385:{id:"n1385",loc:[-85.628902,41.957723]},n1386:{id:"n1386",loc:[-85.628731,41.957724]},n1387:{id:"n1387",loc:[-85.628731,41.9576]},n1388:{id:"n1388",loc:[-85.62836,41.957679]},n1389:{id:"n1389",loc:[-85.628359,41.957759]},n139:{id:"n139",loc:[-85.637293,41.941834]},n1390:{id:"n1390",loc:[-85.628062,41.957757]},n1391:{id:"n1391",loc:[-85.628063,41.957657]},n1392:{id:"n1392",loc:[-85.628198,41.957657]},n1393:{id:"n1393",loc:[-85.628198,41.957678]},n1394:{id:"n1394",loc:[-85.627775,41.958095]},n1395:{id:"n1395",loc:[-85.627608,41.958095]},n1396:{id:"n1396",loc:[-85.627606,41.957829]},n1397:{id:"n1397",loc:[-85.627774,41.957829]},n1398:{id:"n1398",loc:[-85.626816,41.957636]},n1399:{id:"n1399",loc:[-85.626787,41.957681]},n14:{id:"n14",loc:[-85.633643,41.940122]},n140:{id:"n140",loc:[-85.637293,41.941823]},n1400:{id:"n1400",loc:[-85.626673,41.95764]},n1401:{id:"n1401",loc:[-85.626703,41.957594]},n1402:{id:"n1402",loc:[-85.62694,41.95752]},n1403:{id:"n1403",loc:[-85.62688,41.957611]},n1404:{id:"n1404",loc:[-85.626798,41.957582]},n1405:{id:"n1405",loc:[-85.626793,41.95759]},n1406:{id:"n1406",loc:[-85.626657,41.95754]},n1407:{id:"n1407",loc:[-85.626666,41.957526]},n1408:{id:"n1408",loc:[-85.626584,41.957497]},n1409:{id:"n1409",loc:[-85.626638,41.957415]},n141:{id:"n141",loc:[-85.637363,41.941822]},n1410:{id:"n1410",loc:[-85.626731,41.957449]},n1411:{id:"n1411",loc:[-85.626725,41.957457]},n1412:{id:"n1412",loc:[-85.626843,41.9575]},n1413:{id:"n1413",loc:[-85.626851,41.957487]},n1414:{id:"n1414",loc:[-85.626579,41.957521]},n1415:{id:"n1415",loc:[-85.626537,41.957587]},n1416:{id:"n1416",loc:[-85.626427,41.957551]},n1417:{id:"n1417",loc:[-85.626468,41.957483]},n1418:{id:"n1418",loc:[-85.626592,41.957639]},n1419:{id:"n1419",loc:[-85.626807,41.957713]},n142:{id:"n142",loc:[-85.637364,41.941833]},n1420:{id:"n1420",loc:[-85.627129,41.957401]},n1421:{id:"n1421",loc:[-85.627209,41.95742]},n1422:{id:"n1422",loc:[-85.627302,41.957435]},n1423:{id:"n1423",loc:[-85.629566,41.957048]},n1424:{id:"n1424",loc:[-85.629568,41.957215]},n1425:{id:"n1425",loc:[-85.629383,41.957216]},n1426:{id:"n1426",loc:[-85.629384,41.95727]},n1427:{id:"n1427",loc:[-85.629231,41.957271]},n1428:{id:"n1428",loc:[-85.62923,41.957198]},n1429:{id:"n1429",loc:[-85.629322,41.957198]},n143:{id:"n143",loc:[-85.637559,41.942448]},n1430:{id:"n1430",loc:[-85.629321,41.957108]},n1431:{id:"n1431",loc:[-85.629441,41.957108]},n1432:{id:"n1432",loc:[-85.62944,41.957049]},n1433:{id:"n1433",loc:[-85.629337,41.957018]},n1434:{id:"n1434",loc:[-85.629366,41.957028]},n1435:{id:"n1435",loc:[-85.629375,41.957044]},n1436:{id:"n1436",loc:[-85.629354,41.957071]},n1437:{id:"n1437",loc:[-85.629317,41.957071]},n1438:{id:"n1438",loc:[-85.62929,41.957074]},n1439:{id:"n1439",loc:[-85.62927,41.957084]},n144:{id:"n144",loc:[-85.637036,41.942454]},n1440:{id:"n1440",loc:[-85.629232,41.957081]},n1441:{id:"n1441",loc:[-85.629222,41.957057]},n1442:{id:"n1442",loc:[-85.629259,41.957025]},n1443:{id:"n1443",loc:[-85.629293,41.957017]},n1444:{id:"n1444",loc:[-85.629251,41.957085]},n1445:{id:"n1445",loc:[-85.629235,41.957041]},n1446:{id:"n1446",loc:[-85.62937,41.95706]},n1447:{id:"n1447",loc:[-85.629531,41.956909]},n1448:{id:"n1448",loc:[-85.629408,41.956909]},n1449:{id:"n1449",loc:[-85.629402,41.956681]},n145:{id:"n145",loc:[-85.636692,41.942828]},n1450:{id:"n1450",loc:[-85.62953,41.956681]},n1451:{id:"n1451",loc:[-85.629402,41.956728]},n1452:{id:"n1452",loc:[-85.629408,41.956845]},n1453:{id:"n1453",loc:[-85.629385,41.956845]},n1454:{id:"n1454",loc:[-85.629384,41.956728]},n1455:{id:"n1455",loc:[-85.629063,41.956973]},n1456:{id:"n1456",loc:[-85.629064,41.957009]},n1457:{id:"n1457",loc:[-85.62902,41.957009]},n1458:{id:"n1458",loc:[-85.629019,41.956973]},n1459:{id:"n1459",loc:[-85.629136,41.956633]},n146:{id:"n146",loc:[-85.635929,41.942826]},n1460:{id:"n1460",loc:[-85.629084,41.956632]},n1461:{id:"n1461",loc:[-85.629084,41.956605]},n1462:{id:"n1462",loc:[-85.629136,41.956605]},n1463:{id:"n1463",loc:[-85.629153,41.956657]},n1464:{id:"n1464",loc:[-85.627914,41.956661]},n1465:{id:"n1465",loc:[-85.630096,41.956101]},n1466:{id:"n1466",loc:[-85.630097,41.95612]},n1467:{id:"n1467",loc:[-85.630011,41.956121]},n1468:{id:"n1468",loc:[-85.630015,41.956374]},n1469:{id:"n1469",loc:[-85.629148,41.95626]},n147:{id:"n147",loc:[-85.636433,41.942828]},n1470:{id:"n1470",loc:[-85.629527,41.956591]},n1471:{id:"n1471",loc:[-85.629405,41.956591]},n1472:{id:"n1472",loc:[-85.629405,41.956459]},n1473:{id:"n1473",loc:[-85.629369,41.956459]},n1474:{id:"n1474",loc:[-85.629369,41.956424]},n1475:{id:"n1475",loc:[-85.629413,41.956424]},n1476:{id:"n1476",loc:[-85.629414,41.956326]},n1477:{id:"n1477",loc:[-85.629522,41.956326]},n1478:{id:"n1478",loc:[-85.629522,41.956487]},n1479:{id:"n1479",loc:[-85.629527,41.956487]},n148:{id:"n148",loc:[-85.636435,41.942864],tags:{entrance:"yes"}},n1480:{id:"n1480",loc:[-85.629414,41.95634]},n1481:{id:"n1481",loc:[-85.629149,41.956338]},n1482:{id:"n1482",loc:[-85.62931,41.956531]},n1483:{id:"n1483",loc:[-85.629291,41.95655]},n1484:{id:"n1484",loc:[-85.629255,41.95655]},n1485:{id:"n1485",loc:[-85.629236,41.956533]},n1486:{id:"n1486",loc:[-85.629237,41.956461]},n1487:{id:"n1487",loc:[-85.629257,41.956445]},n1488:{id:"n1488",loc:[-85.629257,41.956428]},n1489:{id:"n1489",loc:[-85.629287,41.956428]},n149:{id:"n149",loc:[-85.637235,41.942622]},n1490:{id:"n1490",loc:[-85.629287,41.956445]},n1491:{id:"n1491",loc:[-85.62931,41.95646]},n1492:{id:"n1492",loc:[-85.629049,41.956425]},n1493:{id:"n1493",loc:[-85.628907,41.956427]},n1494:{id:"n1494",loc:[-85.628907,41.956455]},n1495:{id:"n1495",loc:[-85.628841,41.956455]},n1496:{id:"n1496",loc:[-85.62884,41.956424]},n1497:{id:"n1497",loc:[-85.628764,41.956425]},n1498:{id:"n1498",loc:[-85.628762,41.956323]},n1499:{id:"n1499",loc:[-85.628808,41.956323]},n15:{id:"n15",loc:[-85.633477,41.940187]},n150:{id:"n150",loc:[-85.637247,41.943116]},n1500:{id:"n1500",loc:[-85.628808,41.956314]},n1501:{id:"n1501",loc:[-85.628911,41.956313]},n1502:{id:"n1502",loc:[-85.628911,41.956322]},n1503:{id:"n1503",loc:[-85.62896,41.956322]},n1504:{id:"n1504",loc:[-85.62896,41.956348]},n1505:{id:"n1505",loc:[-85.629047,41.956347]},n1506:{id:"n1506",loc:[-85.628893,41.957263]},n1507:{id:"n1507",loc:[-85.628788,41.957264]},n1508:{id:"n1508",loc:[-85.628786,41.95711]},n1509:{id:"n1509",loc:[-85.628894,41.957109]},n151:{id:"n151",loc:[-85.637564,41.943116]},n1510:{id:"n1510",loc:[-85.628893,41.957075]},n1511:{id:"n1511",loc:[-85.628965,41.957075]},n1512:{id:"n1512",loc:[-85.628965,41.957111]},n1513:{id:"n1513",loc:[-85.629035,41.95711]},n1514:{id:"n1514",loc:[-85.629036,41.957209]},n1515:{id:"n1515",loc:[-85.628893,41.95721]},n1516:{id:"n1516",loc:[-85.631348,41.95773]},n1517:{id:"n1517",loc:[-85.631101,41.957732]},n1518:{id:"n1518",loc:[-85.631099,41.957558]},n1519:{id:"n1519",loc:[-85.63123,41.957557]},n152:{id:"n152",loc:[-85.637552,41.942619]},n1520:{id:"n1520",loc:[-85.631231,41.957618]},n1521:{id:"n1521",loc:[-85.63129,41.957618]},n1522:{id:"n1522",loc:[-85.63129,41.957651]},n1523:{id:"n1523",loc:[-85.631346,41.957651]},n1524:{id:"n1524",loc:[-85.631366,41.95802]},n1525:{id:"n1525",loc:[-85.631141,41.958021]},n1526:{id:"n1526",loc:[-85.63114,41.957943]},n1527:{id:"n1527",loc:[-85.631167,41.957943]},n1528:{id:"n1528",loc:[-85.631166,41.957808]},n1529:{id:"n1529",loc:[-85.631301,41.957807]},n153:{id:"n153",loc:[-85.63763,41.942528]},n1530:{id:"n1530",loc:[-85.631302,41.95789]},n1531:{id:"n1531",loc:[-85.631364,41.95789]},n1532:{id:"n1532",loc:[-85.631539,41.957754]},n1533:{id:"n1533",loc:[-85.631069,41.957756]},n1534:{id:"n1534",loc:[-85.631536,41.957518]},n1535:{id:"n1535",loc:[-85.631543,41.957995]},n1536:{id:"n1536",loc:[-85.631531,41.957748]},n1537:{id:"n1537",loc:[-85.631485,41.957748]},n1538:{id:"n1538",loc:[-85.631484,41.957698]},n1539:{id:"n1539",loc:[-85.631531,41.957698]},n154:{id:"n154",loc:[-85.637151,41.94253]},n1540:{id:"n1540",loc:[-85.631586,41.957742]},n1541:{id:"n1541",loc:[-85.63155,41.957742]},n1542:{id:"n1542",loc:[-85.631551,41.957702]},n1543:{id:"n1543",loc:[-85.631587,41.957702]},n1544:{id:"n1544",loc:[-85.631534,41.95807]},n1545:{id:"n1545",loc:[-85.631534,41.958097]},n1546:{id:"n1546",loc:[-85.631491,41.958097]},n1547:{id:"n1547",loc:[-85.631491,41.95807]},n1548:{id:"n1548",loc:[-85.631304,41.958861]},n1549:{id:"n1549",loc:[-85.631186,41.958862]},n155:{id:"n155",loc:[-85.63715,41.942424]},n1550:{id:"n1550",loc:[-85.631182,41.958653]},n1551:{id:"n1551",loc:[-85.6313,41.958651]},n1552:{id:"n1552",loc:[-85.631293,41.95854]},n1553:{id:"n1553",loc:[-85.631176,41.958539]},n1554:{id:"n1554",loc:[-85.631176,41.958377]},n1555:{id:"n1555",loc:[-85.631297,41.958377]},n1556:{id:"n1556",loc:[-85.631297,41.958422]},n1557:{id:"n1557",loc:[-85.631333,41.958422]},n1558:{id:"n1558",loc:[-85.631333,41.958479]},n1559:{id:"n1559",loc:[-85.631293,41.958479]},n156:{id:"n156",loc:[-85.637629,41.942422]},n1560:{id:"n1560",loc:[-85.631951,41.958908]},n1561:{id:"n1561",loc:[-85.631838,41.958909]},n1562:{id:"n1562",loc:[-85.631837,41.958847]},n1563:{id:"n1563",loc:[-85.631859,41.958847]},n1564:{id:"n1564",loc:[-85.631858,41.958746]},n1565:{id:"n1565",loc:[-85.631961,41.958745]},n1566:{id:"n1566",loc:[-85.631962,41.958812]},n1567:{id:"n1567",loc:[-85.631949,41.958813]},n1568:{id:"n1568",loc:[-85.631579,41.958913]},n1569:{id:"n1569",loc:[-85.631567,41.95864]},n157:{id:"n157",loc:[-85.638232,41.942477]},n1570:{id:"n1570",loc:[-85.631942,41.958639]},n1571:{id:"n1571",loc:[-85.631543,41.958594]},n1572:{id:"n1572",loc:[-85.631543,41.958065]},n1573:{id:"n1573",loc:[-85.631888,41.958546]},n1574:{id:"n1574",loc:[-85.631804,41.958546]},n1575:{id:"n1575",loc:[-85.631803,41.95841]},n1576:{id:"n1576",loc:[-85.631886,41.958409]},n1577:{id:"n1577",loc:[-85.631897,41.958125]},n1578:{id:"n1578",loc:[-85.631755,41.958126]},n1579:{id:"n1579",loc:[-85.631756,41.958174]},n158:{id:"n158",loc:[-85.637775,41.942483]},n1580:{id:"n1580",loc:[-85.63178,41.958174]},n1581:{id:"n1581",loc:[-85.631782,41.958272]},n1582:{id:"n1582",loc:[-85.631922,41.958271]},n1583:{id:"n1583",loc:[-85.631922,41.958244]},n1584:{id:"n1584",loc:[-85.631883,41.958245]},n1585:{id:"n1585",loc:[-85.631882,41.958175]},n1586:{id:"n1586",loc:[-85.631898,41.958175]},n1587:{id:"n1587",loc:[-85.631924,41.958032]},n1588:{id:"n1588",loc:[-85.631762,41.958032]},n1589:{id:"n1589",loc:[-85.63176,41.957827]},n159:{id:"n159",loc:[-85.638107,41.942512]},n1590:{id:"n1590",loc:[-85.631888,41.957826]},n1591:{id:"n1591",loc:[-85.631888,41.957892]},n1592:{id:"n1592",loc:[-85.631871,41.957892]},n1593:{id:"n1593",loc:[-85.631872,41.957949]},n1594:{id:"n1594",loc:[-85.631923,41.957949]},n1595:{id:"n1595",loc:[-85.631695,41.95795]},n1596:{id:"n1596",loc:[-85.631666,41.957975]},n1597:{id:"n1597",loc:[-85.63163,41.957975]},n1598:{id:"n1598",loc:[-85.6316,41.957951]},n1599:{id:"n1599",loc:[-85.6316,41.95785]},n16:{id:"n16",loc:[-85.63341,41.94032]},n160:{id:"n160",loc:[-85.637763,41.942514]},n1600:{id:"n1600",loc:[-85.63166,41.95785]},n1601:{id:"n1601",loc:[-85.631696,41.957873]},n1602:{id:"n1602",loc:[-85.631924,41.957762]},n1603:{id:"n1603",loc:[-85.631762,41.957762]},n1604:{id:"n1604",loc:[-85.631762,41.957708]},n1605:{id:"n1605",loc:[-85.631785,41.957708]},n1606:{id:"n1606",loc:[-85.631785,41.957606]},n1607:{id:"n1607",loc:[-85.631734,41.957606]},n1608:{id:"n1608",loc:[-85.631734,41.957538]},n1609:{id:"n1609",loc:[-85.631821,41.957538]},n161:{id:"n161",loc:[-85.637763,41.942445]},n1610:{id:"n1610",loc:[-85.631935,41.957545]},n1611:{id:"n1611",loc:[-85.631821,41.957544]},n1612:{id:"n1612",loc:[-85.631935,41.957645]},n1613:{id:"n1613",loc:[-85.631924,41.957645]},n1614:{id:"n1614",loc:[-85.627135,41.953828]},n1615:{id:"n1615",loc:[-85.633517,41.941353],tags:{man_made:"lighthouse","seamark:type":"light_major"}},n1616:{id:"n1616",loc:[-85.633659,41.942041],tags:{amenity:"bbq"}},n1617:{id:"n1617",loc:[-85.63662,41.942911],tags:{amenity:"toilets"}},n1618:{id:"n1618",loc:[-85.637487,41.943876],tags:{amenity:"toilets"}},n1619:{id:"n1619",loc:[-85.634938,41.941917],tags:{amenity:"toilets"}},n162:{id:"n162",loc:[-85.638107,41.942443]},n1620:{id:"n1620",loc:[-85.632427,41.941678],tags:{amenity:"bbq"}},n1621:{id:"n1621",loc:[-85.638033,41.944568],tags:{amenity:"bbq"}},n1622:{id:"n1622",loc:[-85.638052,41.944522],tags:{amenity:"bbq"}},n1623:{id:"n1623",loc:[-85.635001,41.941965]},n1624:{id:"n1624",loc:[-85.634635,41.941884]},n1625:{id:"n1625",loc:[-85.634667,41.941894]},n1626:{id:"n1626",loc:[-85.634791,41.942011]},n1627:{id:"n1627",loc:[-85.634749,41.941938]},n1628:{id:"n1628",loc:[-85.627295,41.953946],tags:{barrier:"gate"}},n1629:{id:"n1629",loc:[-85.629076,41.954689]},n163:{id:"n163",loc:[-85.638813,41.942475]},n1630:{id:"n1630",loc:[-85.640667,41.942595]},n1631:{id:"n1631",loc:[-85.639455,41.94261]},n1632:{id:"n1632",loc:[-85.643407,41.942336]},n1633:{id:"n1633",loc:[-85.641845,41.941316]},n1634:{id:"n1634",loc:[-85.643322,41.942224]},n1635:{id:"n1635",loc:[-85.643301,41.942124]},n1636:{id:"n1636",loc:[-85.640639,41.941326]},n1637:{id:"n1637",loc:[-85.640614,41.940058]},n1638:{id:"n1638",loc:[-85.639428,41.941335]},n1639:{id:"n1639",loc:[-85.643078,41.941293]},n164:{id:"n164",loc:[-85.63883,41.942422]},n1640:{id:"n1640",loc:[-85.64371,41.942302]},n1641:{id:"n1641",loc:[-85.643056,41.94001]},n1642:{id:"n1642",loc:[-85.643097,41.942575],tags:{highway:"traffic_signals",traffic_signals:"signal","traffic_signals:direction":"both"}},n1643:{id:"n1643",loc:[-85.641855,41.942586]},n1644:{id:"n1644",loc:[-85.643549,41.942209]},n1645:{id:"n1645",loc:[-85.639359,41.94007]},n1646:{id:"n1646",loc:[-85.642797,41.940522]},n1647:{id:"n1647",loc:[-85.642589,41.940523]},n1648:{id:"n1648",loc:[-85.642587,41.940287]},n1649:{id:"n1649",loc:[-85.642797,41.940286]},n165:{id:"n165",loc:[-85.63883,41.942508]},n1650:{id:"n1650",loc:[-85.642571,41.940523]},n1651:{id:"n1651",loc:[-85.642568,41.940286]},n1652:{id:"n1652",loc:[-85.642316,41.940289]},n1653:{id:"n1653",loc:[-85.642321,41.940436]},n1654:{id:"n1654",loc:[-85.642292,41.940458]},n1655:{id:"n1655",loc:[-85.642287,41.940483]},n1656:{id:"n1656",loc:[-85.642323,41.940509]},n1657:{id:"n1657",loc:[-85.642385,41.940511]},n1658:{id:"n1658",loc:[-85.642408,41.940526]},n1659:{id:"n1659",loc:[-85.641962,41.94109]},n166:{id:"n166",loc:[-85.638364,41.942508]},n1660:{id:"n1660",loc:[-85.642753,41.941084]},n1661:{id:"n1661",loc:[-85.642752,41.941004]},n1662:{id:"n1662",loc:[-85.642806,41.941003]},n1663:{id:"n1663",loc:[-85.642803,41.940731]},n1664:{id:"n1664",loc:[-85.642741,41.940732]},n1665:{id:"n1665",loc:[-85.64274,41.940645]},n1666:{id:"n1666",loc:[-85.641957,41.940651]},n1667:{id:"n1667",loc:[-85.642937,41.941241]},n1668:{id:"n1668",loc:[-85.641776,41.941253]},n1669:{id:"n1669",loc:[-85.641766,41.940598]},n167:{id:"n167",loc:[-85.638836,41.942167]},n1670:{id:"n1670",loc:[-85.64198,41.940598]},n1671:{id:"n1671",loc:[-85.641961,41.940137]},n1672:{id:"n1672",loc:[-85.642934,41.94012]},n1673:{id:"n1673",loc:[-85.643074,41.941173]},n1674:{id:"n1674",loc:[-85.642841,41.940997]},n1675:{id:"n1675",loc:[-85.642839,41.940721]},n1676:{id:"n1676",loc:[-85.643065,41.940552]},n1677:{id:"n1677",loc:[-85.642732,41.94124]},n1678:{id:"n1678",loc:[-85.641815,41.941246]},n1679:{id:"n1679",loc:[-85.641813,41.941132]},n168:{id:"n168",loc:[-85.638836,41.94229]},n1680:{id:"n1680",loc:[-85.641839,41.941111]},n1681:{id:"n1681",loc:[-85.641884,41.941098]},n1682:{id:"n1682",loc:[-85.642732,41.941092]},n1683:{id:"n1683",loc:[-85.642776,41.941302]},n1684:{id:"n1684",loc:[-85.632788,41.946236]},n1685:{id:"n1685",loc:[-85.622342,41.953127]},n1686:{id:"n1686",loc:[-85.641848,41.941167]},n1687:{id:"n1687",loc:[-85.643753,41.941503]},n1688:{id:"n1688",loc:[-85.643762,41.942119]},n1689:{id:"n1689",loc:[-85.64238,41.942262]},n169:{id:"n169",loc:[-85.638594,41.94229]},n1690:{id:"n1690",loc:[-85.642374,41.941944]},n1691:{id:"n1691",loc:[-85.642518,41.941943]},n1692:{id:"n1692",loc:[-85.642519,41.94198]},n1693:{id:"n1693",loc:[-85.642831,41.941977]},n1694:{id:"n1694",loc:[-85.642837,41.942312]},n1695:{id:"n1695",loc:[-85.642495,41.942315]},n1696:{id:"n1696",loc:[-85.642494,41.942261]},n1697:{id:"n1697",loc:[-85.641087,41.942433]},n1698:{id:"n1698",loc:[-85.641081,41.942006]},n1699:{id:"n1699",loc:[-85.641244,41.942005]},n17:{id:"n17",loc:[-85.633478,41.94081]},n170:{id:"n170",loc:[-85.638594,41.942422]},n1700:{id:"n1700",loc:[-85.64125,41.942431]},n1701:{id:"n1701",loc:[-85.641331,41.942968]},n1702:{id:"n1702",loc:[-85.641328,41.942713]},n1703:{id:"n1703",loc:[-85.641521,41.942712]},n1704:{id:"n1704",loc:[-85.641523,41.942924]},n1705:{id:"n1705",loc:[-85.641504,41.942924]},n1706:{id:"n1706",loc:[-85.641505,41.942967]},n1707:{id:"n1707",loc:[-85.638612,41.942408]},n1708:{id:"n1708",loc:[-85.638612,41.942327]},n1709:{id:"n1709",loc:[-85.638775,41.942327]},n171:{id:"n171",loc:[-85.638364,41.942356]},n1710:{id:"n1710",loc:[-85.638775,41.942299]},n1711:{id:"n1711",loc:[-85.638835,41.942298]},n1712:{id:"n1712",loc:[-85.638835,41.942407]},n1713:{id:"n1713",loc:[-85.639116,41.942444]},n1714:{id:"n1714",loc:[-85.639114,41.942362]},n1715:{id:"n1715",loc:[-85.639294,41.94236]},n1716:{id:"n1716",loc:[-85.639296,41.942442]},n1717:{id:"n1717",loc:[-85.639808,41.942385]},n1718:{id:"n1718",loc:[-85.639805,41.942285]},n1719:{id:"n1719",loc:[-85.639988,41.942283]},n172:{id:"n172",loc:[-85.638364,41.942167]},n1720:{id:"n1720",loc:[-85.63999,41.942383]},n1721:{id:"n1721",loc:[-85.639633,41.943023]},n1722:{id:"n1722",loc:[-85.639867,41.943019]},n1723:{id:"n1723",loc:[-85.639866,41.942964]},n1724:{id:"n1724",loc:[-85.639888,41.942963]},n1725:{id:"n1725",loc:[-85.639883,41.942779]},n1726:{id:"n1726",loc:[-85.639851,41.94278]},n1727:{id:"n1727",loc:[-85.63985,41.94274]},n1728:{id:"n1728",loc:[-85.639789,41.942741]},n1729:{id:"n1729",loc:[-85.639789,41.942753]},n173:{id:"n173",loc:[-85.639038,41.942463]},n1730:{id:"n1730",loc:[-85.639698,41.942754]},n1731:{id:"n1731",loc:[-85.639699,41.942788]},n1732:{id:"n1732",loc:[-85.639675,41.942789]},n1733:{id:"n1733",loc:[-85.639676,41.94283]},n1734:{id:"n1734",loc:[-85.639701,41.942829]},n1735:{id:"n1735",loc:[-85.639702,41.942869]},n1736:{id:"n1736",loc:[-85.639629,41.94287]},n1737:{id:"n1737",loc:[-85.643568,41.942946]},n1738:{id:"n1738",loc:[-85.643568,41.942777]},n1739:{id:"n1739",loc:[-85.643401,41.942777]},n174:{id:"n174",loc:[-85.638897,41.942464]},n1740:{id:"n1740",loc:[-85.643401,41.942863]},n1741:{id:"n1741",loc:[-85.643448,41.942863]},n1742:{id:"n1742",loc:[-85.643448,41.942946]},n1743:{id:"n1743",loc:[-85.642836,41.942981]},n1744:{id:"n1744",loc:[-85.642917,41.942979]},n1745:{id:"n1745",loc:[-85.642914,41.942904]},n1746:{id:"n1746",loc:[-85.642938,41.942903]},n1747:{id:"n1747",loc:[-85.642935,41.942813]},n1748:{id:"n1748",loc:[-85.642775,41.942816]},n1749:{id:"n1749",loc:[-85.642778,41.942906]},n175:{id:"n175",loc:[-85.638897,41.942423]},n1750:{id:"n1750",loc:[-85.642833,41.942905]},n1751:{id:"n1751",loc:[-85.642302,41.942886]},n1752:{id:"n1752",loc:[-85.642299,41.942721]},n1753:{id:"n1753",loc:[-85.642422,41.94272]},n1754:{id:"n1754",loc:[-85.642425,41.942868]},n1755:{id:"n1755",loc:[-85.642385,41.942869]},n1756:{id:"n1756",loc:[-85.642385,41.942885]},n1757:{id:"n1757",loc:[-85.641533,41.942939]},n1758:{id:"n1758",loc:[-85.64161,41.942877]},n1759:{id:"n1759",loc:[-85.641676,41.942922]},n176:{id:"n176",loc:[-85.638853,41.942423]},n1760:{id:"n1760",loc:[-85.6416,41.942985]},n1761:{id:"n1761",loc:[-85.64206,41.942802]},n1762:{id:"n1762",loc:[-85.642059,41.942741]},n1763:{id:"n1763",loc:[-85.642196,41.942741]},n1764:{id:"n1764",loc:[-85.642196,41.942818]},n1765:{id:"n1765",loc:[-85.642128,41.942819]},n1766:{id:"n1766",loc:[-85.642128,41.942801]},n1767:{id:"n1767",loc:[-85.640943,41.942934]},n1768:{id:"n1768",loc:[-85.641035,41.942933]},n1769:{id:"n1769",loc:[-85.641032,41.942797]},n177:{id:"n177",loc:[-85.638852,41.94237]},n1770:{id:"n1770",loc:[-85.640997,41.942798]},n1771:{id:"n1771",loc:[-85.640996,41.942764]},n1772:{id:"n1772",loc:[-85.640861,41.942766]},n1773:{id:"n1773",loc:[-85.640862,41.942848]},n1774:{id:"n1774",loc:[-85.640941,41.942847]},n1775:{id:"n1775",loc:[-85.643766,41.942226]},n1776:{id:"n1776",loc:[-85.643768,41.942407]},n1777:{id:"n1777",loc:[-85.643218,41.94177]},n1778:{id:"n1778",loc:[-85.64321,41.941327]},n1779:{id:"n1779",loc:[-85.643649,41.941323]},n178:{id:"n178",loc:[-85.638892,41.94237]},n1780:{id:"n1780",loc:[-85.643656,41.941716]},n1781:{id:"n1781",loc:[-85.64358,41.941717]},n1782:{id:"n1782",loc:[-85.64358,41.941767]},n1783:{id:"n1783",loc:[-85.64382,41.941495]},n1784:{id:"n1784",loc:[-85.643817,41.941317]},n1785:{id:"n1785",loc:[-85.643235,41.941833]},n1786:{id:"n1786",loc:[-85.64335,41.941842]},n1787:{id:"n1787",loc:[-85.643504,41.941903]},n1788:{id:"n1788",loc:[-85.643554,41.941946]},n1789:{id:"n1789",loc:[-85.643618,41.942015]},n179:{id:"n179",loc:[-85.638891,41.942334]},n1790:{id:"n1790",loc:[-85.64346,41.941971]},n1791:{id:"n1791",loc:[-85.643528,41.942468]},n1792:{id:"n1792",loc:[-85.643621,41.942363]},n1793:{id:"n1793",loc:[-85.643496,41.942297]},n1794:{id:"n1794",loc:[-85.643446,41.942246]},n1795:{id:"n1795",loc:[-85.643398,41.942177]},n1796:{id:"n1796",loc:[-85.643398,41.942031]},n1797:{id:"n1797",loc:[-85.621531,41.952693]},n1798:{id:"n1798",loc:[-85.643221,41.942028]},n1799:{id:"n1799",loc:[-85.643225,41.942276]},n18:{id:"n18",loc:[-85.63345,41.94071]},n180:{id:"n180",loc:[-85.639037,41.942334]},n1800:{id:"n1800",loc:[-85.643265,41.942347]},n1801:{id:"n1801",loc:[-85.643323,41.942413]},n1802:{id:"n1802",loc:[-85.643411,41.94247]},n1803:{id:"n1803",loc:[-85.643459,41.942435]},n1804:{id:"n1804",loc:[-85.643767,41.942307]},n1805:{id:"n1805",loc:[-85.643661,41.942293]},n1806:{id:"n1806",loc:[-85.643578,41.942247]},n1807:{id:"n1807",loc:[-85.643522,41.942125]},n1808:{id:"n1808",loc:[-85.643515,41.942061]},n1809:{id:"n1809",loc:[-85.643346,41.941924]},n181:{id:"n181",loc:[-85.638074,41.941839]},n1810:{id:"n1810",loc:[-85.643086,41.94192]},n1811:{id:"n1811",loc:[-85.643529,41.94217]},n1812:{id:"n1812",loc:[-85.643489,41.942003]},n1813:{id:"n1813",loc:[-85.643295,41.941919]},n1814:{id:"n1814",loc:[-85.643305,41.942163]},n1815:{id:"n1815",loc:[-85.643354,41.942285]},n1816:{id:"n1816",loc:[-85.643472,41.942389]},n1817:{id:"n1817",loc:[-85.643608,41.942271]},n1818:{id:"n1818",loc:[-85.643876,41.941402]},n1819:{id:"n1819",loc:[-85.643818,41.941369]},n182:{id:"n182",loc:[-85.638076,41.941942]},n1820:{id:"n1820",loc:[-85.643682,41.941304]},n1821:{id:"n1821",loc:[-85.64359,41.941286]},n1822:{id:"n1822",loc:[-85.643317,41.941727]},n1823:{id:"n1823",loc:[-85.643301,41.941286]},n1824:{id:"n1824",loc:[-85.643553,41.941698]},n1825:{id:"n1825",loc:[-85.643543,41.941286]},n1826:{id:"n1826",loc:[-85.636967,41.940118]},n1827:{id:"n1827",loc:[-85.63378,41.940114]},n1828:{id:"n1828",loc:[-85.637254,41.940075]},n1829:{id:"n1829",loc:[-85.637002,41.941355]},n183:{id:"n183",loc:[-85.637955,41.941944]},n1830:{id:"n1830",loc:[-85.643532,41.94204]},n1831:{id:"n1831",loc:[-85.638235,41.942615]},n1832:{id:"n1832",loc:[-85.637039,41.942624]},n1833:{id:"n1833",loc:[-85.636369,41.94266]},n1834:{id:"n1834",loc:[-85.63582,41.942771],tags:{highway:"traffic_signals",traffic_signals:"emergency","traffic_signals:direction":"both"}},n1835:{id:"n1835",loc:[-85.634873,41.943044]},n1836:{id:"n1836",loc:[-85.643482,41.941976]},n1837:{id:"n1837",loc:[-85.64345,41.941945]},n1838:{id:"n1838",loc:[-85.641885,41.943851]},n1839:{id:"n1839",loc:[-85.641915,41.945121]},n184:{id:"n184",loc:[-85.637953,41.94184]},n1840:{id:"n1840",loc:[-85.639454,41.943871]},n1841:{id:"n1841",loc:[-85.639491,41.945191]},n1842:{id:"n1842",loc:[-85.635775,41.940113]},n1843:{id:"n1843",loc:[-85.638206,41.941345]},n1844:{id:"n1844",loc:[-85.640721,41.94513]},n1845:{id:"n1845",loc:[-85.643137,41.945103]},n1846:{id:"n1846",loc:[-85.638199,41.940079]},n1847:{id:"n1847",loc:[-85.640688,41.943861]},n1848:{id:"n1848",loc:[-85.643397,41.941924]},n1849:{id:"n1849",loc:[-85.643117,41.943841]},n185:{id:"n185",loc:[-85.637953,41.941866]},n1850:{id:"n1850",loc:[-85.636731,41.94263]},n1851:{id:"n1851",loc:[-85.63518,41.942955],tags:{highway:"crossing",crossing:"unmarked"}},n1852:{id:"n1852",loc:[-85.636152,41.942695]},n1853:{id:"n1853",loc:[-85.644202,41.941499]},n1854:{id:"n1854",loc:[-85.644211,41.942116]},n1855:{id:"n1855",loc:[-85.644233,41.942404]},n1856:{id:"n1856",loc:[-85.644231,41.942223]},n1857:{id:"n1857",loc:[-85.644133,41.941315]},n1858:{id:"n1858",loc:[-85.644136,41.941493]},n1859:{id:"n1859",loc:[-85.644345,41.942307]},n186:{id:"n186",loc:[-85.637873,41.941867]},n1860:{id:"n1860",loc:[-85.644232,41.942304]},n1861:{id:"n1861",loc:[-85.644134,41.941403]},n1862:{id:"n1862",loc:[-85.63607,41.943005],tags:{"addr:city":"Three Rivers","addr:housenumber":"333","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",amenity:"fire_station",name:"Three Rivers Fire Department"}},n1863:{id:"n1863",loc:[-85.637,41.941236]},n1864:{id:"n1864",loc:[-85.634476,41.941475]},n1865:{id:"n1865",loc:[-85.635036,41.941858]},n1866:{id:"n1866",loc:[-85.635362,41.941962]},n1867:{id:"n1867",loc:[-85.635806,41.941962]},n1868:{id:"n1868",loc:[-85.63295,41.943006]},n1869:{id:"n1869",loc:[-85.634692,41.943098]},n187:{id:"n187",loc:[-85.637877,41.941975]},n1870:{id:"n1870",loc:[-85.633128,41.940484]},n1871:{id:"n1871",loc:[-85.633117,41.942798]},n1872:{id:"n1872",loc:[-85.633303,41.942412]},n1873:{id:"n1873",loc:[-85.633482,41.941912]},n1874:{id:"n1874",loc:[-85.633455,41.941359]},n1875:{id:"n1875",loc:[-85.633162,41.942679]},n1876:{id:"n1876",loc:[-85.634274,41.943479]},n1877:{id:"n1877",loc:[-85.634678,41.942909]},n1878:{id:"n1878",loc:[-85.6339,41.941453]},n1879:{id:"n1879",loc:[-85.634571,41.942774]},n188:{id:"n188",loc:[-85.636855,41.942488]},n1880:{id:"n1880",loc:[-85.63419,41.941732]},n1881:{id:"n1881",loc:[-85.634067,41.941565]},n1882:{id:"n1882",loc:[-85.63436,41.942358]},n1883:{id:"n1883",loc:[-85.634327,41.942247]},n1884:{id:"n1884",loc:[-85.633391,41.941231]},n1885:{id:"n1885",loc:[-85.634303,41.941972]},n1886:{id:"n1886",loc:[-85.633541,41.940147]},n1887:{id:"n1887",loc:[-85.633433,41.940252]},n1888:{id:"n1888",loc:[-85.633402,41.940411]},n1889:{id:"n1889",loc:[-85.633551,41.941023]},n189:{id:"n189",loc:[-85.636702,41.942488]},n1890:{id:"n1890",loc:[-85.633719,41.941186]},n1891:{id:"n1891",loc:[-85.633067,41.941845]},n1892:{id:"n1892",loc:[-85.634902,41.942766]},n1893:{id:"n1893",loc:[-85.634603,41.942202]},n1894:{id:"n1894",loc:[-85.634858,41.942152]},n1895:{id:"n1895",loc:[-85.634842,41.942269]},n1896:{id:"n1896",loc:[-85.634907,41.942313]},n1897:{id:"n1897",loc:[-85.635049,41.942331]},n1898:{id:"n1898",loc:[-85.635101,41.942281]},n1899:{id:"n1899",loc:[-85.635129,41.942144]},n19:{id:"n19",loc:[-85.633009,41.942229]},n190:{id:"n190",loc:[-85.636702,41.942434]},n1900:{id:"n1900",loc:[-85.635531,41.942143]},n1901:{id:"n1901",loc:[-85.635534,41.942577]},n1902:{id:"n1902",loc:[-85.635158,41.942656]},n1903:{id:"n1903",loc:[-85.635121,41.942703]},n1904:{id:"n1904",loc:[-85.635087,41.941508]},n1905:{id:"n1905",loc:[-85.63536,41.941106]},n1906:{id:"n1906",loc:[-85.635442,41.941094]},n1907:{id:"n1907",loc:[-85.635508,41.941104]},n1908:{id:"n1908",loc:[-85.635569,41.941125]},n1909:{id:"n1909",loc:[-85.635583,41.941106]},n191:{id:"n191",loc:[-85.636761,41.942434]},n1910:{id:"n1910",loc:[-85.635555,41.940976]},n1911:{id:"n1911",loc:[-85.635501,41.940915]},n1912:{id:"n1912",loc:[-85.635392,41.940922]},n1913:{id:"n1913",loc:[-85.635276,41.940974]},n1914:{id:"n1914",loc:[-85.63517,41.941204]},n1915:{id:"n1915",loc:[-85.634888,41.941517]},n1916:{id:"n1916",loc:[-85.634897,41.941576]},n1917:{id:"n1917",loc:[-85.634961,41.94164]},n1918:{id:"n1918",loc:[-85.635028,41.941659]},n1919:{id:"n1919",loc:[-85.635118,41.941621]},n192:{id:"n192",loc:[-85.636761,41.942369]},n1920:{id:"n1920",loc:[-85.635085,41.941558]},n1921:{id:"n1921",loc:[-85.63504,41.94136]},n1922:{id:"n1922",loc:[-85.635221,41.941077]},n1923:{id:"n1923",loc:[-85.634387,41.941559]},n1924:{id:"n1924",loc:[-85.634351,41.941587]},n1925:{id:"n1925",loc:[-85.634416,41.941756]},n1926:{id:"n1926",loc:[-85.634461,41.941797]},n1927:{id:"n1927",loc:[-85.634501,41.941819]},n1928:{id:"n1928",loc:[-85.634597,41.941816]},n1929:{id:"n1929",loc:[-85.634732,41.941724]},n193:{id:"n193",loc:[-85.636855,41.942369]},n1930:{id:"n1930",loc:[-85.634672,41.941775]},n1931:{id:"n1931",loc:[-85.633403,41.939101]},n1932:{id:"n1932",loc:[-85.633297,41.939397]},n1933:{id:"n1933",loc:[-85.633205,41.939674]},n1934:{id:"n1934",loc:[-85.63322,41.939777]},n1935:{id:"n1935",loc:[-85.633345,41.939936]},n1936:{id:"n1936",loc:[-85.633376,41.940002]},n1937:{id:"n1937",loc:[-85.633266,41.940228]},n1938:{id:"n1938",loc:[-85.633236,41.940352]},n1939:{id:"n1939",loc:[-85.633282,41.94063]},n194:{id:"n194",loc:[-85.636645,41.94249]},n1940:{id:"n1940",loc:[-85.633364,41.940874]},n1941:{id:"n1941",loc:[-85.633439,41.941052]},n1942:{id:"n1942",loc:[-85.633582,41.941172]},n1943:{id:"n1943",loc:[-85.633748,41.941273]},n1944:{id:"n1944",loc:[-85.634317,41.941527]},n1945:{id:"n1945",loc:[-85.634389,41.94174]},n1946:{id:"n1946",loc:[-85.634441,41.941801]},n1947:{id:"n1947",loc:[-85.634514,41.941837]},n1948:{id:"n1948",loc:[-85.634485,41.942005]},n1949:{id:"n1949",loc:[-85.63457,41.942202]},n195:{id:"n195",loc:[-85.636565,41.94249]},n1950:{id:"n1950",loc:[-85.634869,41.942769]},n1951:{id:"n1951",loc:[-85.634943,41.942792]},n1952:{id:"n1952",loc:[-85.635139,41.942882]},n1953:{id:"n1953",loc:[-85.634962,41.943161]},n1954:{id:"n1954",loc:[-85.635002,41.943131]},n1955:{id:"n1955",loc:[-85.635005,41.943091]},n1956:{id:"n1956",loc:[-85.635216,41.943033]},n1957:{id:"n1957",loc:[-85.634817,41.94267]},n1958:{id:"n1958",loc:[-85.634614,41.942599]},n1959:{id:"n1959",loc:[-85.634494,41.942381]},n196:{id:"n196",loc:[-85.636565,41.942474]},n1960:{id:"n1960",loc:[-85.634486,41.9423]},n1961:{id:"n1961",loc:[-85.634671,41.941795]},n1962:{id:"n1962",loc:[-85.634595,41.941831]},n1963:{id:"n1963",loc:[-85.634332,41.941866]},n1964:{id:"n1964",loc:[-85.634207,41.941885]},n1965:{id:"n1965",loc:[-85.634133,41.941892]},n1966:{id:"n1966",loc:[-85.634131,41.942203]},n1967:{id:"n1967",loc:[-85.634047,41.942327]},n1968:{id:"n1968",loc:[-85.634219,41.942793]},n1969:{id:"n1969",loc:[-85.634061,41.942392]},n197:{id:"n197",loc:[-85.636514,41.942474]},n1970:{id:"n1970",loc:[-85.633989,41.942407]},n1971:{id:"n1971",loc:[-85.633971,41.942356]},n1972:{id:"n1972",loc:[-85.63361,41.942423]},n1973:{id:"n1973",loc:[-85.633714,41.942682]},n1974:{id:"n1974",loc:[-85.633698,41.942863]},n1975:{id:"n1975",loc:[-85.633882,41.942865]},n1976:{id:"n1976",loc:[-85.633941,41.943007]},n1977:{id:"n1977",loc:[-85.633887,41.943035]},n1978:{id:"n1978",loc:[-85.633768,41.942815]},n1979:{id:"n1979",loc:[-85.633682,41.942351]},n198:{id:"n198",loc:[-85.636514,41.942326]},n1980:{id:"n1980",loc:[-85.634037,41.942273]},n1981:{id:"n1981",loc:[-85.634029,41.942252]},n1982:{id:"n1982",loc:[-85.633673,41.942331]},n1983:{id:"n1983",loc:[-85.634219,41.942571]},n1984:{id:"n1984",loc:[-85.634252,41.942565]},n1985:{id:"n1985",loc:[-85.634144,41.942299]},n1986:{id:"n1986",loc:[-85.634115,41.942306]},n1987:{id:"n1987",loc:[-85.634059,41.943094]},n1988:{id:"n1988",loc:[-85.633944,41.942903]},n1989:{id:"n1989",loc:[-85.634311,41.942821]},n199:{id:"n199",loc:[-85.636561,41.942326]},n1990:{id:"n1990",loc:[-85.634351,41.94277]},n1991:{id:"n1991",loc:[-85.634153,41.942254]},n1992:{id:"n1992",loc:[-85.634092,41.94222]},n1993:{id:"n1993",loc:[-85.633571,41.942336]},n1994:{id:"n1994",loc:[-85.633513,41.942387]},n1995:{id:"n1995",loc:[-85.633509,41.942455]},n1996:{id:"n1996",loc:[-85.63363,41.942665]},n1997:{id:"n1997",loc:[-85.63414,41.94286]},n1998:{id:"n1998",loc:[-85.63397,41.942449]},n1999:{id:"n1999",loc:[-85.633551,41.942529]},n2:{id:"n2",loc:[-85.627421,41.953877]},n20:{id:"n20",loc:[-85.633013,41.941438]},n200:{id:"n200",loc:[-85.636561,41.942311]},n2000:{id:"n2000",loc:[-85.633741,41.942493]},n2001:{id:"n2001",loc:[-85.633894,41.942869]},n2002:{id:"n2002",loc:[-85.634132,41.941954]},n2003:{id:"n2003",loc:[-85.634032,41.942038]},n2004:{id:"n2004",loc:[-85.633765,41.942238]},n2005:{id:"n2005",loc:[-85.63376,41.942268]},n2006:{id:"n2006",loc:[-85.633768,41.942293]},n2007:{id:"n2007",loc:[-85.633808,41.942386]},n2008:{id:"n2008",loc:[-85.634946,41.941663]},n2009:{id:"n2009",loc:[-85.63511,41.941697]},n201:{id:"n201",loc:[-85.636621,41.942311]},n2010:{id:"n2010",loc:[-85.635337,41.94168]},n2011:{id:"n2011",loc:[-85.634997,41.942251]},n2012:{id:"n2012",loc:[-85.635013,41.942173]},n2013:{id:"n2013",loc:[-85.634876,41.942157]},n2014:{id:"n2014",loc:[-85.634859,41.942235]},n2015:{id:"n2015",loc:[-85.634992,41.941951]},n2016:{id:"n2016",loc:[-85.634952,41.941877]},n2017:{id:"n2017",loc:[-85.634844,41.94191]},n2018:{id:"n2018",loc:[-85.634884,41.941983]},n2019:{id:"n2019",loc:[-85.635189,41.941691]},n202:{id:"n202",loc:[-85.636621,41.942351]},n2020:{id:"n2020",loc:[-85.635089,41.941896]},n2021:{id:"n2021",loc:[-85.635077,41.941964]},n2022:{id:"n2022",loc:[-85.635058,41.942147]},n2023:{id:"n2023",loc:[-85.635099,41.942161]},n2024:{id:"n2024",loc:[-85.635099,41.942213]},n2025:{id:"n2025",loc:[-85.635079,41.942285]},n2026:{id:"n2026",loc:[-85.635047,41.942316]},n2027:{id:"n2027",loc:[-85.634925,41.9423]},n2028:{id:"n2028",loc:[-85.634911,41.942276]},n2029:{id:"n2029",loc:[-85.634917,41.942242]},n203:{id:"n203",loc:[-85.63666,41.942351]},n2030:{id:"n2030",loc:[-85.634698,41.941898]},n2031:{id:"n2031",loc:[-85.634964,41.941878]},n2032:{id:"n2032",loc:[-85.635025,41.941929]},n2033:{id:"n2033",loc:[-85.634862,41.941887]},n2034:{id:"n2034",loc:[-85.634811,41.94181]},n2035:{id:"n2035",loc:[-85.634731,41.941745]},n2036:{id:"n2036",loc:[-85.634933,41.94176]},n2037:{id:"n2037",loc:[-85.634942,41.942145]},n2038:{id:"n2038",loc:[-85.634944,41.942065]},n2039:{id:"n2039",loc:[-85.634914,41.941996]},n204:{id:"n204",loc:[-85.63666,41.942453]},n2040:{id:"n2040",loc:[-85.634981,41.941979]},n2041:{id:"n2041",loc:[-85.633419,41.942172]},n2042:{id:"n2042",loc:[-85.633509,41.941631]},n2043:{id:"n2043",loc:[-85.633686,41.942937]},n2044:{id:"n2044",loc:[-85.633371,41.942722]},n2045:{id:"n2045",loc:[-85.633291,41.942538]},n2046:{id:"n2046",loc:[-85.633902,41.940941]},n2047:{id:"n2047",loc:[-85.635254,41.940939]},n2048:{id:"n2048",loc:[-85.635686,41.940829]},n2049:{id:"n2049",loc:[-85.635712,41.942681]},n205:{id:"n205",loc:[-85.636645,41.942453]},n2050:{id:"n2050",loc:[-85.633721,41.942118]},n2051:{id:"n2051",loc:[-85.633698,41.942057]},n2052:{id:"n2052",loc:[-85.633591,41.942079]},n2053:{id:"n2053",loc:[-85.633614,41.94214]},n2054:{id:"n2054",loc:[-85.633968,41.941099]},n2055:{id:"n2055",loc:[-85.633907,41.941138]},n2056:{id:"n2056",loc:[-85.633968,41.941197]},n2057:{id:"n2057",loc:[-85.63404,41.941162]},n2058:{id:"n2058",loc:[-85.634839,41.941665]},n2059:{id:"n2059",loc:[-85.635314,41.943035]},n206:{id:"n206",loc:[-85.636394,41.942471]},n2060:{id:"n2060",loc:[-85.634919,41.943142]},n2061:{id:"n2061",loc:[-85.636433,41.942959],tags:{"addr:city":"Three Rivers","addr:housenumber":"333","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",amenity:"townhall",name:"Three Rivers City Hall"}},n2062:{id:"n2062",loc:[-85.637039,41.942789]},n2063:{id:"n2063",loc:[-85.636333,41.94279]},n2064:{id:"n2064",loc:[-85.634484,41.940726]},n2065:{id:"n2065",loc:[-85.634483,41.940603]},n2066:{id:"n2066",loc:[-85.634908,41.940601]},n2067:{id:"n2067",loc:[-85.634908,41.94053]},n2068:{id:"n2068",loc:[-85.634934,41.94053]},n2069:{id:"n2069",loc:[-85.634934,41.940496]},n207:{id:"n207",loc:[-85.636262,41.942472]},n2070:{id:"n2070",loc:[-85.63504,41.940495]},n2071:{id:"n2071",loc:[-85.63504,41.940531]},n2072:{id:"n2072",loc:[-85.635068,41.940531]},n2073:{id:"n2073",loc:[-85.635071,41.940794]},n2074:{id:"n2074",loc:[-85.635183,41.940793]},n2075:{id:"n2075",loc:[-85.635185,41.940916]},n2076:{id:"n2076",loc:[-85.634799,41.940919]},n2077:{id:"n2077",loc:[-85.634798,41.940798]},n2078:{id:"n2078",loc:[-85.634925,41.940797]},n2079:{id:"n2079",loc:[-85.634924,41.940724]},n208:{id:"n208",loc:[-85.636261,41.94233]},n2080:{id:"n2080",loc:[-85.637448,41.938233]},n2081:{id:"n2081",loc:[-85.634168,41.943279]},n2082:{id:"n2082",loc:[-85.635744,41.938248]},n2083:{id:"n2083",loc:[-85.638744,41.951211]},n2084:{id:"n2084",loc:[-85.636421,41.946392]},n2085:{id:"n2085",loc:[-85.635965,41.945809]},n2086:{id:"n2086",loc:[-85.635683,41.945449]},n2087:{id:"n2087",loc:[-85.635281,41.945025]},n2088:{id:"n2088",loc:[-85.632443,41.942574]},n2089:{id:"n2089",loc:[-85.638243,41.943674]},n209:{id:"n209",loc:[-85.636353,41.942329]},n2090:{id:"n2090",loc:[-85.638228,41.943747]},n2091:{id:"n2091",loc:[-85.638163,41.943797]},n2092:{id:"n2092",loc:[-85.638089,41.943832]},n2093:{id:"n2093",loc:[-85.637969,41.943841]},n2094:{id:"n2094",loc:[-85.637841,41.943833]},n2095:{id:"n2095",loc:[-85.637342,41.943734]},n2096:{id:"n2096",loc:[-85.637232,41.943707]},n2097:{id:"n2097",loc:[-85.637163,41.943668]},n2098:{id:"n2098",loc:[-85.637118,41.943615]},n2099:{id:"n2099",loc:[-85.637078,41.943494]},n21:{id:"n21",loc:[-85.634126,41.942228]},n210:{id:"n210",loc:[-85.636354,41.94239]},n2100:{id:"n2100",loc:[-85.632903,41.998429],tags:{railway:"level_crossing"}},n2101:{id:"n2101",loc:[-85.633616,41.943581],tags:{railway:"level_crossing"}},n2102:{id:"n2102",loc:[-85.636943,41.947311]},n2103:{id:"n2103",loc:[-85.6376,41.94854]},n2104:{id:"n2104",loc:[-85.634565,41.93631]},n2105:{id:"n2105",loc:[-85.629597,41.942562]},n2106:{id:"n2106",loc:[-85.630821,41.943077]},n2107:{id:"n2107",loc:[-85.627473,41.940659]},n2108:{id:"n2108",loc:[-85.629708,41.942872]},n2109:{id:"n2109",loc:[-85.634093,41.935448]},n211:{id:"n211",loc:[-85.636393,41.94239]},n2110:{id:"n2110",loc:[-85.630413,41.94366]},n2111:{id:"n2111",loc:[-85.630488,41.942662]},n2112:{id:"n2112",loc:[-85.63361,41.936749]},n2113:{id:"n2113",loc:[-85.630038,41.941808]},n2114:{id:"n2114",loc:[-85.632016,41.942922]},n2115:{id:"n2115",loc:[-85.631525,41.944303]},n2116:{id:"n2116",loc:[-85.626862,41.94022]},n2117:{id:"n2117",loc:[-85.629673,41.94121]},n2118:{id:"n2118",loc:[-85.632752,41.943101]},n2119:{id:"n2119",loc:[-85.631147,41.943201]},n212:{id:"n212",loc:[-85.63444,41.943176]},n2120:{id:"n2120",loc:[-85.624974,41.940579]},n2121:{id:"n2121",loc:[-85.629518,41.941783]},n2122:{id:"n2122",loc:[-85.632349,41.942699]},n2123:{id:"n2123",loc:[-85.628418,41.940356]},n2124:{id:"n2124",loc:[-85.629147,41.94129]},n2125:{id:"n2125",loc:[-85.631111,41.943979]},n2126:{id:"n2126",loc:[-85.632087,41.940013]},n2127:{id:"n2127",loc:[-85.634469,41.935057]},n2128:{id:"n2128",loc:[-85.630097,41.943449]},n2129:{id:"n2129",loc:[-85.6331,41.937878]},n213:{id:"n213",loc:[-85.63375,41.942814]},n2130:{id:"n2130",loc:[-85.625274,41.941114]},n2131:{id:"n2131",loc:[-85.632632,41.941217]},n2132:{id:"n2132",loc:[-85.632739,41.941926]},n2133:{id:"n2133",loc:[-85.631647,41.94366]},n2134:{id:"n2134",loc:[-85.635059,41.935456]},n2135:{id:"n2135",loc:[-85.631259,41.944349]},n2136:{id:"n2136",loc:[-85.626336,41.940811]},n2137:{id:"n2137",loc:[-85.631507,41.943875]},n2138:{id:"n2138",loc:[-85.625081,41.940859]},n2139:{id:"n2139",loc:[-85.625778,41.940093]},n214:{id:"n214",loc:[-85.633674,41.942869]},n2140:{id:"n2140",loc:[-85.632641,41.942436]},n2141:{id:"n2141",loc:[-85.628825,41.941034]},n2142:{id:"n2142",loc:[-85.627913,41.940292]},n2143:{id:"n2143",loc:[-85.628943,41.940516]},n2144:{id:"n2144",loc:[-85.63139,41.943941]},n2145:{id:"n2145",loc:[-85.630081,41.94204]},n2146:{id:"n2146",loc:[-85.632194,41.93963]},n2147:{id:"n2147",loc:[-85.632913,41.93939]},n2148:{id:"n2148",loc:[-85.632001,41.943492]},n2149:{id:"n2149",loc:[-85.63149,41.943154]},n215:{id:"n215",loc:[-85.633542,41.942768]},n2150:{id:"n2150",loc:[-85.625167,41.940117]},n2151:{id:"n2151",loc:[-85.63287,41.939941]},n2152:{id:"n2152",loc:[-85.630789,41.943732]},n2153:{id:"n2153",loc:[-85.632173,41.940348]},n2154:{id:"n2154",loc:[-85.626587,41.940113]},n2155:{id:"n2155",loc:[-85.62684,41.940667]},n2156:{id:"n2156",loc:[-85.632527,41.938904]},n2157:{id:"n2157",loc:[-85.624866,41.94018]},n2158:{id:"n2158",loc:[-85.633267,41.93872]},n2159:{id:"n2159",loc:[-85.62934,41.940843]},n216:{id:"n216",loc:[-85.633618,41.942714]},n2160:{id:"n2160",loc:[-85.62272,41.953817]},n2161:{id:"n2161",loc:[-85.622555,41.954453]},n2162:{id:"n2162",loc:[-85.637225,41.944128]},n2163:{id:"n2163",loc:[-85.622628,41.953683]},n2164:{id:"n2164",loc:[-85.635441,41.943989]},n2165:{id:"n2165",loc:[-85.622629,41.953807]},n2166:{id:"n2166",loc:[-85.62262,41.953807]},n2167:{id:"n2167",loc:[-85.62262,41.953837]},n2168:{id:"n2168",loc:[-85.622532,41.953838]},n2169:{id:"n2169",loc:[-85.637469,41.944579]},n217:{id:"n217",loc:[-85.634001,41.942336]},n2170:{id:"n2170",loc:[-85.63688,41.943935]},n2171:{id:"n2171",loc:[-85.638263,41.946367]},n2172:{id:"n2172",loc:[-85.622532,41.953807]},n2173:{id:"n2173",loc:[-85.622353,41.953808]},n2174:{id:"n2174",loc:[-85.622352,41.953685]},n2175:{id:"n2175",loc:[-85.622464,41.953684]},n2176:{id:"n2176",loc:[-85.622464,41.953648]},n2177:{id:"n2177",loc:[-85.637136,41.94576]},n2178:{id:"n2178",loc:[-85.622521,41.953648]},n2179:{id:"n2179",loc:[-85.637129,41.945415]},n218:{id:"n218",loc:[-85.633825,41.942376]},n2180:{id:"n2180",loc:[-85.637473,41.94607]},n2181:{id:"n2181",loc:[-85.622521,41.953683]},n2182:{id:"n2182",loc:[-85.622717,41.954104]},n2183:{id:"n2183",loc:[-85.637769,41.946095]},n2184:{id:"n2184",loc:[-85.623872,41.953515]},n2185:{id:"n2185",loc:[-85.623851,41.953588]},n2186:{id:"n2186",loc:[-85.631385,41.94433]},n2187:{id:"n2187",loc:[-85.623608,41.953543]},n2188:{id:"n2188",loc:[-85.637308,41.944882]},n2189:{id:"n2189",loc:[-85.634898,41.944041]},n219:{id:"n219",loc:[-85.633807,41.942334]},n2190:{id:"n2190",loc:[-85.623604,41.953442]},n2191:{id:"n2191",loc:[-85.623705,41.953442]},n2192:{id:"n2192",loc:[-85.623708,41.953493]},n2193:{id:"n2193",loc:[-85.624064,41.952655]},n2194:{id:"n2194",loc:[-85.62395,41.952654]},n2195:{id:"n2195",loc:[-85.623951,41.952579]},n2196:{id:"n2196",loc:[-85.637435,41.944342]},n2197:{id:"n2197",loc:[-85.624064,41.952579]},n2198:{id:"n2198",loc:[-85.623812,41.952648]},n2199:{id:"n2199",loc:[-85.623813,41.952705]},n22:{id:"n22",loc:[-85.633531,41.942357]},n220:{id:"n220",loc:[-85.633983,41.942294]},n2200:{id:"n2200",loc:[-85.637169,41.945098]},n2201:{id:"n2201",loc:[-85.623552,41.952707]},n2202:{id:"n2202",loc:[-85.623551,41.95263]},n2203:{id:"n2203",loc:[-85.623701,41.952629]},n2204:{id:"n2204",loc:[-85.635894,41.943719]},n2205:{id:"n2205",loc:[-85.637297,41.945992]},n2206:{id:"n2206",loc:[-85.623724,41.952648]},n2207:{id:"n2207",loc:[-85.623812,41.952438]},n2208:{id:"n2208",loc:[-85.625239,41.952197]},n2209:{id:"n2209",loc:[-85.625232,41.952257]},n221:{id:"n221",loc:[-85.634182,41.942495]},n2210:{id:"n2210",loc:[-85.635175,41.94408]},n2211:{id:"n2211",loc:[-85.636381,41.943761]},n2212:{id:"n2212",loc:[-85.625115,41.952249]},n2213:{id:"n2213",loc:[-85.638578,41.946644]},n2214:{id:"n2214",loc:[-85.625122,41.952189]},n2215:{id:"n2215",loc:[-85.625085,41.952031]},n2216:{id:"n2216",loc:[-85.636126,41.943713]},n2217:{id:"n2217",loc:[-85.635005,41.944041]},n2218:{id:"n2218",loc:[-85.63714,41.945328]},n2219:{id:"n2219",loc:[-85.634871,41.943292]},n222:{id:"n222",loc:[-85.634149,41.942503]},n2220:{id:"n2220",loc:[-85.635705,41.943799]},n2221:{id:"n2221",loc:[-85.634995,41.943576]},n2222:{id:"n2222",loc:[-85.635026,41.943829]},n2223:{id:"n2223",loc:[-85.632874,41.941031]},n2224:{id:"n2224",loc:[-85.632531,41.940233]},n2225:{id:"n2225",loc:[-85.634247,41.936003]},n2226:{id:"n2226",loc:[-85.62929,41.941127]},n2227:{id:"n2227",loc:[-85.630428,41.943266]},n2228:{id:"n2228",loc:[-85.631608,41.943425]},n2229:{id:"n2229",loc:[-85.632316,41.943042]},n223:{id:"n223",loc:[-85.634098,41.942373]},n2230:{id:"n2230",loc:[-85.628711,41.940744]},n2231:{id:"n2231",loc:[-85.627831,41.940536]},n2232:{id:"n2232",loc:[-85.625514,41.94052]},n2233:{id:"n2233",loc:[-85.631127,41.943545]},n2234:{id:"n2234",loc:[-85.632909,41.942531]},n2235:{id:"n2235",loc:[-85.632917,41.938796]},n2236:{id:"n2236",loc:[-85.626716,41.94044]},n2237:{id:"n2237",loc:[-85.630122,41.942852]},n2238:{id:"n2238",loc:[-85.632509,41.939674]},n2239:{id:"n2239",loc:[-85.634762,41.935237]},n224:{id:"n224",loc:[-85.634131,41.942366]},n2240:{id:"n2240",loc:[-85.63384,41.937025]},n2241:{id:"n2241",loc:[-85.629741,41.941909]},n2242:{id:"n2242",loc:[-85.635254,41.945001],tags:{railway:"level_crossing"}},n2243:{id:"n2243",loc:[-85.634005,41.938168]},n2244:{id:"n2244",loc:[-85.63393,41.938335]},n2245:{id:"n2245",loc:[-85.633859,41.93846]},n2246:{id:"n2246",loc:[-85.633663,41.938776]},n2247:{id:"n2247",loc:[-85.633513,41.938936]},n2248:{id:"n2248",loc:[-85.635295,41.943225]},n2249:{id:"n2249",loc:[-85.635393,41.943293]},n225:{id:"n225",loc:[-85.635986,41.94177]},n2250:{id:"n2250",loc:[-85.635645,41.94332]},n2251:{id:"n2251",loc:[-85.63629,41.943328]},n2252:{id:"n2252",loc:[-85.636554,41.943372]},n2253:{id:"n2253",loc:[-85.636869,41.943526]},n2254:{id:"n2254",loc:[-85.637099,41.943704]},n2255:{id:"n2255",loc:[-85.637268,41.943773]},n2256:{id:"n2256",loc:[-85.637483,41.943821]},n2257:{id:"n2257",loc:[-85.637616,41.943929]},n2258:{id:"n2258",loc:[-85.637752,41.944114]},n2259:{id:"n2259",loc:[-85.638399,41.944308]},n226:{id:"n226",loc:[-85.635982,41.941523]},n2260:{id:"n2260",loc:[-85.638573,41.944451]},n2261:{id:"n2261",loc:[-85.638702,41.944574]},n2262:{id:"n2262",loc:[-85.638718,41.944652]},n2263:{id:"n2263",loc:[-85.638715,41.944809]},n2264:{id:"n2264",loc:[-85.638766,41.944988]},n2265:{id:"n2265",loc:[-85.638773,41.945136]},n2266:{id:"n2266",loc:[-85.638705,41.945251]},n2267:{id:"n2267",loc:[-85.638335,41.944291]},n2268:{id:"n2268",loc:[-85.638474,41.944352]},n2269:{id:"n2269",loc:[-85.635408,41.943429]},n227:{id:"n227",loc:[-85.636108,41.941521]},n2270:{id:"n2270",loc:[-85.635271,41.943654]},n2271:{id:"n2271",loc:[-85.635266,41.943744]},n2272:{id:"n2272",loc:[-85.635271,41.943819]},n2273:{id:"n2273",loc:[-85.635192,41.943876]},n2274:{id:"n2274",loc:[-85.635129,41.943857]},n2275:{id:"n2275",loc:[-85.635122,41.943764]},n2276:{id:"n2276",loc:[-85.635124,41.943664]},n2277:{id:"n2277",loc:[-85.63515,41.943611]},n2278:{id:"n2278",loc:[-85.635106,41.943534]},n2279:{id:"n2279",loc:[-85.634972,41.943197]},n228:{id:"n228",loc:[-85.636109,41.941559]},n2280:{id:"n2280",loc:[-85.633978,41.938227]},n2281:{id:"n2281",loc:[-85.634216,41.943255]},n2282:{id:"n2282",loc:[-85.634434,41.943622]},n2283:{id:"n2283",loc:[-85.632406,41.940854]},n2284:{id:"n2284",loc:[-85.632488,41.941063],tags:{leisure:"slipway"}},n2285:{id:"n2285",loc:[-85.632726,41.941537]},n2286:{id:"n2286",loc:[-85.632639,41.94136]},n2287:{id:"n2287",loc:[-85.632704,41.941439]},n2288:{id:"n2288",loc:[-85.632289,41.940601]},n2289:{id:"n2289",loc:[-85.632541,41.942526]},n229:{id:"n229",loc:[-85.636145,41.941559]},n2290:{id:"n2290",loc:[-85.634058,41.943173]},n2291:{id:"n2291",loc:[-85.636175,41.945974]},n2292:{id:"n2292",loc:[-85.636528,41.945975]},n2293:{id:"n2293",loc:[-85.637092,41.945893]},n2294:{id:"n2294",loc:[-85.637881,41.945647]},n2295:{id:"n2295",loc:[-85.639329,41.945162]},n2296:{id:"n2296",loc:[-85.639323,41.945026]},n2297:{id:"n2297",loc:[-85.638826,41.945032]},n2298:{id:"n2298",loc:[-85.638817,41.944174]},n2299:{id:"n2299",loc:[-85.638291,41.94418]},n23:{id:"n23",loc:[-85.633504,41.942418]},n230:{id:"n230",loc:[-85.636145,41.941551]},n2300:{id:"n2300",loc:[-85.63828,41.943811]},n2301:{id:"n2301",loc:[-85.638195,41.943601]},n2302:{id:"n2302",loc:[-85.63719,41.943592]},n2303:{id:"n2303",loc:[-85.636697,41.943273]},n2304:{id:"n2304",loc:[-85.635375,41.943274]},n2305:{id:"n2305",loc:[-85.635091,41.943547]},n2306:{id:"n2306",loc:[-85.63442,41.944117]},n2307:{id:"n2307",loc:[-85.635117,41.943717]},n2308:{id:"n2308",loc:[-85.635601,41.945177]},n2309:{id:"n2309",loc:[-85.635819,41.945494]},n231:{id:"n231",loc:[-85.636312,41.941549]},n2310:{id:"n2310",loc:[-85.635303,41.944891]},n2311:{id:"n2311",loc:[-85.637674,41.943802]},n2312:{id:"n2312",loc:[-85.638263,41.944272]},n2313:{id:"n2313",loc:[-85.634267,41.935266]},n2314:{id:"n2314",loc:[-85.639788,41.945152]},n2315:{id:"n2315",loc:[-85.639645,41.945167]},n2316:{id:"n2316",loc:[-85.639362,41.945233]},n2317:{id:"n2317",loc:[-85.638616,41.945163]},n2318:{id:"n2318",loc:[-85.638514,41.944936]},n2319:{id:"n2319",loc:[-85.638578,41.94503]},n232:{id:"n232",loc:[-85.636314,41.941649]},n2320:{id:"n2320",loc:[-85.638578,41.945215]},n2321:{id:"n2321",loc:[-85.640495,41.947015]},n2322:{id:"n2322",loc:[-85.639577,41.946495]},n2323:{id:"n2323",loc:[-85.638935,41.946087]},n2324:{id:"n2324",loc:[-85.637535,41.94584]},n2325:{id:"n2325",loc:[-85.638357,41.945404]},n2326:{id:"n2326",loc:[-85.638051,41.94553]},n2327:{id:"n2327",loc:[-85.637732,41.945555]},n2328:{id:"n2328",loc:[-85.637657,41.945524]},n2329:{id:"n2329",loc:[-85.637598,41.945467]},n233:{id:"n233",loc:[-85.636152,41.94165]},n2330:{id:"n2330",loc:[-85.637669,41.945318]},n2331:{id:"n2331",loc:[-85.637894,41.945171]},n2332:{id:"n2332",loc:[-85.637923,41.945082]},n2333:{id:"n2333",loc:[-85.63793,41.944756]},n2334:{id:"n2334",loc:[-85.637976,41.944696]},n2335:{id:"n2335",loc:[-85.638044,41.944671]},n2336:{id:"n2336",loc:[-85.638129,41.944597]},n2337:{id:"n2337",loc:[-85.638252,41.944413]},n2338:{id:"n2338",loc:[-85.638092,41.945442]},n2339:{id:"n2339",loc:[-85.638409,41.945315]},n234:{id:"n234",loc:[-85.636152,41.941628]},n2340:{id:"n2340",loc:[-85.638325,41.944771]},n2341:{id:"n2341",loc:[-85.638103,41.944744]},n2342:{id:"n2342",loc:[-85.637976,41.944781]},n2343:{id:"n2343",loc:[-85.637983,41.944865]},n2344:{id:"n2344",loc:[-85.638063,41.945074]},n2345:{id:"n2345",loc:[-85.638041,41.945206]},n2346:{id:"n2346",loc:[-85.637907,41.945309]},n2347:{id:"n2347",loc:[-85.637925,41.94539]},n2348:{id:"n2348",loc:[-85.637998,41.94545]},n2349:{id:"n2349",loc:[-85.637135,41.946254]},n235:{id:"n235",loc:[-85.63611,41.941628]},n2350:{id:"n2350",loc:[-85.636837,41.946615]},n2351:{id:"n2351",loc:[-85.637954,41.948909]},n2352:{id:"n2352",loc:[-85.638382,41.949786]},n2353:{id:"n2353",loc:[-85.639367,41.951242]},n2354:{id:"n2354",loc:[-85.640554,41.951777]},n2355:{id:"n2355",loc:[-85.6411,41.952234]},n2356:{id:"n2356",loc:[-85.641742,41.952657]},n2357:{id:"n2357",loc:[-85.642321,41.952941]},n2358:{id:"n2358",loc:[-85.64277,41.953228]},n2359:{id:"n2359",loc:[-85.643333,41.953825]},n236:{id:"n236",loc:[-85.636113,41.941768]},n2360:{id:"n2360",loc:[-85.643579,41.954365]},n2361:{id:"n2361",loc:[-85.644439,41.954105]},n2362:{id:"n2362",loc:[-85.64506,41.954]},n2363:{id:"n2363",loc:[-85.645483,41.953911]},n2364:{id:"n2364",loc:[-85.646046,41.953853]},n2365:{id:"n2365",loc:[-85.646318,41.953717]},n2366:{id:"n2366",loc:[-85.646276,41.953414]},n2367:{id:"n2367",loc:[-85.631063,41.957478],tags:{emergency:"fire_hydrant"}},n2368:{id:"n2368",loc:[-85.630996,41.955857],tags:{emergency:"fire_hydrant"}},n2369:{id:"n2369",loc:[-85.630976,41.954608],tags:{emergency:"fire_hydrant"}},n237:{id:"n237",loc:[-85.635983,41.941589],tags:{entrance:"yes"}},n2370:{id:"n2370",loc:[-85.646,41.953154]},n2371:{id:"n2371",loc:[-85.645222,41.953193]},n2372:{id:"n2372",loc:[-85.644732,41.953181]},n2373:{id:"n2373",loc:[-85.644064,41.953298]},n2374:{id:"n2374",loc:[-85.643818,41.953177]},n2375:{id:"n2375",loc:[-85.644001,41.95284]},n2376:{id:"n2376",loc:[-85.628174,41.95456],tags:{emergency:"fire_hydrant"}},n2377:{id:"n2377",loc:[-85.644267,41.952591]},n2378:{id:"n2378",loc:[-85.644288,41.952328]},n2379:{id:"n2379",loc:[-85.627276,41.953987],tags:{emergency:"fire_hydrant"}},n238:{id:"n238",loc:[-85.635906,41.94159]},n2380:{id:"n2380",loc:[-85.644262,41.952153]},n2381:{id:"n2381",loc:[-85.644168,41.95204]},n2382:{id:"n2382",loc:[-85.64421,41.951749]},n2383:{id:"n2383",loc:[-85.64385,41.951586]},n2384:{id:"n2384",loc:[-85.62736,41.955964],tags:{emergency:"fire_hydrant"}},n2385:{id:"n2385",loc:[-85.626307,41.957198],tags:{emergency:"fire_hydrant"}},n2386:{id:"n2386",loc:[-85.643589,41.951323]},n2387:{id:"n2387",loc:[-85.62747,41.957509],tags:{emergency:"fire_hydrant"}},n2388:{id:"n2388",loc:[-85.628665,41.957492],tags:{emergency:"fire_hydrant"}},n2389:{id:"n2389",loc:[-85.642535,41.951031]},n239:{id:"n239",loc:[-85.635883,41.940182]},n2390:{id:"n2390",loc:[-85.642269,41.95088]},n2391:{id:"n2391",loc:[-85.641878,41.950814]},n2392:{id:"n2392",loc:[-85.641549,41.950806]},n2393:{id:"n2393",loc:[-85.641103,41.950549]},n2394:{id:"n2394",loc:[-85.630864,41.959046],tags:{emergency:"fire_hydrant"}},n2395:{id:"n2395",loc:[-85.632249,41.958969],tags:{emergency:"fire_hydrant"}},n2396:{id:"n2396",loc:[-85.641037,41.949821]},n2397:{id:"n2397",loc:[-85.641006,41.949433]},n2398:{id:"n2398",loc:[-85.632232,41.95859],tags:{emergency:"fire_hydrant"}},n2399:{id:"n2399",loc:[-85.632071,41.958345],tags:{emergency:"fire_hydrant"}},n24:{id:"n24",loc:[-85.634346,41.942792]},n240:{id:"n240",loc:[-85.635916,41.942648]},n2400:{id:"n2400",loc:[-85.632228,41.9573],tags:{emergency:"fire_hydrant"}},n2401:{id:"n2401",loc:[-85.641152,41.948257]},n2402:{id:"n2402",loc:[-85.641055,41.947304]},n2403:{id:"n2403",loc:[-85.638022,41.945897]},n2404:{id:"n2404",loc:[-85.638672,41.950778]},n2405:{id:"n2405",loc:[-85.63666,41.944492],tags:{name:"Memory Isle",place:"island"}},n2406:{id:"n2406",loc:[-85.634982,41.946262],tags:{amenity:"post_office",name:"Three Rivers Post Office"}},n2407:{id:"n2407",loc:[-85.633676,41.946036]},n2408:{id:"n2408",loc:[-85.633736,41.946078]},n2409:{id:"n2409",loc:[-85.633997,41.946185]},n241:{id:"n241",loc:[-85.635805,41.941906]},n2410:{id:"n2410",loc:[-85.634448,41.945626],tags:{highway:"traffic_signals",traffic_signals:"signal"}},n2411:{id:"n2411",loc:[-85.63456,41.945731],tags:{crossing:"marked",highway:"crossing"}},n2412:{id:"n2412",loc:[-85.634592,41.94578]},n2413:{id:"n2413",loc:[-85.634607,41.945815]},n2414:{id:"n2414",loc:[-85.634614,41.945864]},n2415:{id:"n2415",loc:[-85.636066,41.946185]},n2416:{id:"n2416",loc:[-85.636128,41.946352]},n2417:{id:"n2417",loc:[-85.636142,41.946452]},n2418:{id:"n2418",loc:[-85.635327,41.945292]},n2419:{id:"n2419",loc:[-85.635648,41.94558]},n242:{id:"n242",loc:[-85.635909,41.941906]},n2420:{id:"n2420",loc:[-85.635769,41.945729]},n2421:{id:"n2421",loc:[-85.637349,41.945897]},n2422:{id:"n2422",loc:[-85.632211,41.95596],tags:{emergency:"fire_hydrant"}},n2423:{id:"n2423",loc:[-85.635942,41.94598]},n2424:{id:"n2424",loc:[-85.636443,41.946042]},n2425:{id:"n2425",loc:[-85.635819,41.946052]},n2426:{id:"n2426",loc:[-85.636669,41.946025]},n2427:{id:"n2427",loc:[-85.636832,41.946005]},n2428:{id:"n2428",loc:[-85.637039,41.945968]},n2429:{id:"n2429",loc:[-85.636291,41.946046]},n243:{id:"n243",loc:[-85.636359,41.941904]},n2430:{id:"n2430",loc:[-85.634005,41.943367]},n2431:{id:"n2431",loc:[-85.633366,41.943724]},n2432:{id:"n2432",loc:[-85.634617,41.946057]},n2433:{id:"n2433",loc:[-85.636534,41.944793]},n2434:{id:"n2434",loc:[-85.637055,41.945188]},n2435:{id:"n2435",loc:[-85.636153,41.944618]},n2436:{id:"n2436",loc:[-85.636803,41.944944]},n2437:{id:"n2437",loc:[-85.633389,41.945735]},n2438:{id:"n2438",loc:[-85.633536,41.94585]},n2439:{id:"n2439",loc:[-85.63363,41.945993]},n244:{id:"n244",loc:[-85.636351,41.941438]},n2440:{id:"n2440",loc:[-85.633268,41.94568]},n2441:{id:"n2441",loc:[-85.635947,41.94546]},n2442:{id:"n2442",loc:[-85.636277,41.945268]},n2443:{id:"n2443",loc:[-85.635203,41.944287]},n2444:{id:"n2444",loc:[-85.634876,41.944477]},n2445:{id:"n2445",loc:[-85.634975,41.944419]},n2446:{id:"n2446",loc:[-85.633877,41.943438]},n2447:{id:"n2447",loc:[-85.63508,41.945113]},n2448:{id:"n2448",loc:[-85.635372,41.944932]},n2449:{id:"n2449",loc:[-85.636594,41.945935]},n245:{id:"n245",loc:[-85.635903,41.941436]},n2450:{id:"n2450",loc:[-85.636901,41.945747]},n2451:{id:"n2451",loc:[-85.636329,41.945228]},n2452:{id:"n2452",loc:[-85.636025,41.945417]},n2453:{id:"n2453",loc:[-85.634002,41.944644]},n2454:{id:"n2454",loc:[-85.63407,41.944692]},n2455:{id:"n2455",loc:[-85.634114,41.944756]},n2456:{id:"n2456",loc:[-85.633762,41.944809]},n2457:{id:"n2457",loc:[-85.634184,41.944807]},n2458:{id:"n2458",loc:[-85.634291,41.944819]},n2459:{id:"n2459",loc:[-85.634639,41.944845]},n246:{id:"n246",loc:[-85.635798,41.941436]},n2460:{id:"n2460",loc:[-85.633822,41.944861]},n2461:{id:"n2461",loc:[-85.63411,41.944855]},n2462:{id:"n2462",loc:[-85.63435,41.944872]},n2463:{id:"n2463",loc:[-85.63441,41.944903]},n2464:{id:"n2464",loc:[-85.633883,41.944913]},n2465:{id:"n2465",loc:[-85.634164,41.944896]},n2466:{id:"n2466",loc:[-85.633487,41.944926]},n2467:{id:"n2467",loc:[-85.634736,41.944929]},n2468:{id:"n2468",loc:[-85.633944,41.944965]},n2469:{id:"n2469",loc:[-85.633555,41.944983]},n247:{id:"n247",loc:[-85.635929,41.941511]},n2470:{id:"n2470",loc:[-85.633995,41.945013]},n2471:{id:"n2471",loc:[-85.633614,41.945037]},n2472:{id:"n2472",loc:[-85.634848,41.945031]},n2473:{id:"n2473",loc:[-85.634049,41.945061]},n2474:{id:"n2474",loc:[-85.633678,41.945094]},n2475:{id:"n2475",loc:[-85.63317,41.945111]},n2476:{id:"n2476",loc:[-85.633357,41.945103]},n2477:{id:"n2477",loc:[-85.633728,41.945136]},n2478:{id:"n2478",loc:[-85.634146,41.945148]},n2479:{id:"n2479",loc:[-85.633416,41.945157]},n248:{id:"n248",loc:[-85.635929,41.941317]},n2480:{id:"n2480",loc:[-85.634625,41.945172]},n2481:{id:"n2481",loc:[-85.633239,41.945174]},n2482:{id:"n2482",loc:[-85.63469,41.945185]},n2483:{id:"n2483",loc:[-85.634661,41.945203]},n2484:{id:"n2484",loc:[-85.63348,41.945214]},n2485:{id:"n2485",loc:[-85.633578,41.945221]},n2486:{id:"n2486",loc:[-85.634742,41.945231]},n2487:{id:"n2487",loc:[-85.634251,41.94525]},n2488:{id:"n2488",loc:[-85.633524,41.945254]},n2489:{id:"n2489",loc:[-85.63468,41.945271]},n249:{id:"n249",loc:[-85.636414,41.941316]},n2490:{id:"n2490",loc:[-85.633885,41.945272]},n2491:{id:"n2491",loc:[-85.634795,41.945288]},n2492:{id:"n2492",loc:[-85.634742,41.94532]},n2493:{id:"n2493",loc:[-85.633946,41.945327]},n2494:{id:"n2494",loc:[-85.634844,41.945331]},n2495:{id:"n2495",loc:[-85.63435,41.945349]},n2496:{id:"n2496",loc:[-85.633733,41.945357]},n2497:{id:"n2497",loc:[-85.633987,41.945375]},n2498:{id:"n2498",loc:[-85.634911,41.945419]},n2499:{id:"n2499",loc:[-85.634049,41.945431]},n25:{id:"n25",loc:[-85.634333,41.942809]},n250:{id:"n250",loc:[-85.636414,41.941511]},n2500:{id:"n2500",loc:[-85.633705,41.945461]},n2501:{id:"n2501",loc:[-85.633642,41.945408]},n2502:{id:"n2502",loc:[-85.634493,41.945475]},n2503:{id:"n2503",loc:[-85.634106,41.945484]},n2504:{id:"n2504",loc:[-85.635008,41.945505]},n2505:{id:"n2505",loc:[-85.633757,41.945506]},n2506:{id:"n2506",loc:[-85.634542,41.945519]},n2507:{id:"n2507",loc:[-85.634162,41.945536]},n2508:{id:"n2508",loc:[-85.633843,41.945547]},n2509:{id:"n2509",loc:[-85.634919,41.94556]},n251:{id:"n251",loc:[-85.636819,41.941617]},n2510:{id:"n2510",loc:[-85.633818,41.945561]},n2511:{id:"n2511",loc:[-85.634638,41.94559]},n2512:{id:"n2512",loc:[-85.633901,41.945598]},n2513:{id:"n2513",loc:[-85.634257,41.945626]},n2514:{id:"n2514",loc:[-85.633967,41.945652]},n2515:{id:"n2515",loc:[-85.634735,41.945676]},n2516:{id:"n2516",loc:[-85.635057,41.945683]},n2517:{id:"n2517",loc:[-85.635296,41.945703]},n2518:{id:"n2518",loc:[-85.635112,41.945703]},n2519:{id:"n2519",loc:[-85.634782,41.945729]},n252:{id:"n252",loc:[-85.636718,41.941619]},n2520:{id:"n2520",loc:[-85.634052,41.945747]},n2521:{id:"n2521",loc:[-85.635296,41.945757]},n2522:{id:"n2522",loc:[-85.635314,41.945757]},n2523:{id:"n2523",loc:[-85.635112,41.945761]},n2524:{id:"n2524",loc:[-85.634841,41.945778]},n2525:{id:"n2525",loc:[-85.635315,41.945939]},n2526:{id:"n2526",loc:[-85.634841,41.945921]},n2527:{id:"n2527",loc:[-85.635461,41.944879]},n2528:{id:"n2528",loc:[-85.636024,41.945384]},n2529:{id:"n2529",loc:[-85.636145,41.945312]},n253:{id:"n253",loc:[-85.636716,41.941509]},n2530:{id:"n2530",loc:[-85.6356,41.944797]},n2531:{id:"n2531",loc:[-85.635135,41.944354]},n2532:{id:"n2532",loc:[-85.632988,41.945369]},n2533:{id:"n2533",loc:[-85.633376,41.94563]},n2534:{id:"n2534",loc:[-85.633539,41.945534]},n2535:{id:"n2535",loc:[-85.633238,41.945248]},n2536:{id:"n2536",loc:[-85.633166,41.945216]},n2537:{id:"n2537",loc:[-85.633114,41.945188]},n2538:{id:"n2538",loc:[-85.633078,41.945127]},n2539:{id:"n2539",loc:[-85.633066,41.94508]},n254:{id:"n254",loc:[-85.636732,41.941509]},n2540:{id:"n2540",loc:[-85.633222,41.945358]},n2541:{id:"n2541",loc:[-85.633425,41.945541]},n2542:{id:"n2542",loc:[-85.63299,41.9455]},n2543:{id:"n2543",loc:[-85.634374,41.944327]},n2544:{id:"n2544",loc:[-85.633648,41.943697]},n2545:{id:"n2545",loc:[-85.633533,41.943764]},n2546:{id:"n2546",loc:[-85.634239,41.944417]},n2547:{id:"n2547",loc:[-85.634122,41.944395]},n2548:{id:"n2548",loc:[-85.634235,41.944326]},n2549:{id:"n2549",loc:[-85.633613,41.943787]},n255:{id:"n255",loc:[-85.636731,41.941461]},n2550:{id:"n2550",loc:[-85.633915,41.943613]},n2551:{id:"n2551",loc:[-85.634015,41.943555]},n2552:{id:"n2552",loc:[-85.63433,41.943839]},n2553:{id:"n2553",loc:[-85.634236,41.943894]},n2554:{id:"n2554",loc:[-85.635413,41.946052]},n2555:{id:"n2555",loc:[-85.635405,41.94569]},n2556:{id:"n2556",loc:[-85.635684,41.945925]},n2557:{id:"n2557",loc:[-85.635614,41.945742]},n2558:{id:"n2558",loc:[-85.635401,41.945745]},n2559:{id:"n2559",loc:[-85.635406,41.945928]},n256:{id:"n256",loc:[-85.636799,41.941461]},n2560:{id:"n2560",loc:[-85.633478,41.943663]},n2561:{id:"n2561",loc:[-85.633291,41.943526]},n2562:{id:"n2562",loc:[-85.633094,41.943541]},n2563:{id:"n2563",loc:[-85.633302,41.943492]},n2564:{id:"n2564",loc:[-85.633047,41.943623]},n2565:{id:"n2565",loc:[-85.633275,41.943562]},n2566:{id:"n2566",loc:[-85.633351,41.943518]},n2567:{id:"n2567",loc:[-85.633224,41.9434]},n2568:{id:"n2568",loc:[-85.633235,41.943369]},n2569:{id:"n2569",loc:[-85.635179,41.943911]},n257:{id:"n257",loc:[-85.6368,41.9415]},n2570:{id:"n2570",loc:[-85.635146,41.943918]},n2571:{id:"n2571",loc:[-85.634888,41.943905]},n2572:{id:"n2572",loc:[-85.634832,41.943911]},n2573:{id:"n2573",loc:[-85.634638,41.944007]},n2574:{id:"n2574",loc:[-85.634568,41.94405]},n2575:{id:"n2575",loc:[-85.635994,41.94501]},n2576:{id:"n2576",loc:[-85.636388,41.944608]},n2577:{id:"n2577",loc:[-85.636215,41.944787]},n2578:{id:"n2578",loc:[-85.637948,41.944587]},n2579:{id:"n2579",loc:[-85.637849,41.944567]},n258:{id:"n258",loc:[-85.636814,41.9415]},n2580:{id:"n2580",loc:[-85.637895,41.944455]},n2581:{id:"n2581",loc:[-85.637996,41.944477]},n2582:{id:"n2582",loc:[-85.635525,41.94337]},n2583:{id:"n2583",loc:[-85.637847,41.943923]},n2584:{id:"n2584",loc:[-85.637891,41.944124]},n2585:{id:"n2585",loc:[-85.638167,41.944229]},n2586:{id:"n2586",loc:[-85.638236,41.944097]},n2587:{id:"n2587",loc:[-85.638207,41.944025]},n2588:{id:"n2588",loc:[-85.638141,41.943997]},n2589:{id:"n2589",loc:[-85.638057,41.944015]},n259:{id:"n259",loc:[-85.636815,41.941538]},n2590:{id:"n2590",loc:[-85.637902,41.944231]},n2591:{id:"n2591",loc:[-85.638134,41.944307]},n2592:{id:"n2592",loc:[-85.638242,41.944294]},n2593:{id:"n2593",loc:[-85.638274,41.944222]},n2594:{id:"n2594",loc:[-85.638236,41.944174]},n2595:{id:"n2595",loc:[-85.638207,41.944157]},n2596:{id:"n2596",loc:[-85.637818,41.943984]},n2597:{id:"n2597",loc:[-85.634996,41.944439]},n2598:{id:"n2598",loc:[-85.633946,41.945804]},n2599:{id:"n2599",loc:[-85.634102,41.945864]},n26:{id:"n26",loc:[-85.634346,41.942744]},n260:{id:"n260",loc:[-85.636827,41.941538]},n2600:{id:"n2600",loc:[-85.633819,41.945756]},n2601:{id:"n2601",loc:[-85.634025,41.945975]},n2602:{id:"n2602",loc:[-85.633742,41.945867]},n2603:{id:"n2603",loc:[-85.63373,41.946004]},n2604:{id:"n2604",loc:[-85.633947,41.946081]},n2605:{id:"n2605",loc:[-85.633872,41.945917]},n2606:{id:"n2606",loc:[-85.633825,41.945985]},n2607:{id:"n2607",loc:[-85.633762,41.94596]},n2608:{id:"n2608",loc:[-85.634224,41.946037]},n2609:{id:"n2609",loc:[-85.634357,41.945851]},n261:{id:"n261",loc:[-85.636828,41.941584]},n2610:{id:"n2610",loc:[-85.634398,41.945813]},n2611:{id:"n2611",loc:[-85.634461,41.945812]},n2612:{id:"n2612",loc:[-85.634501,41.945852]},n2613:{id:"n2613",loc:[-85.634503,41.94597]},n2614:{id:"n2614",loc:[-85.634462,41.945971]},n2615:{id:"n2615",loc:[-85.634465,41.946036]},n2616:{id:"n2616",loc:[-85.634235,41.946072]},n2617:{id:"n2617",loc:[-85.634447,41.946036]},n2618:{id:"n2618",loc:[-85.634448,41.946052]},n2619:{id:"n2619",loc:[-85.634494,41.946051]},n262:{id:"n262",loc:[-85.636819,41.941585]},n2620:{id:"n2620",loc:[-85.634497,41.946144]},n2621:{id:"n2621",loc:[-85.634453,41.946144]},n2622:{id:"n2622",loc:[-85.634454,41.94616]},n2623:{id:"n2623",loc:[-85.634393,41.946161]},n2624:{id:"n2624",loc:[-85.634394,41.94618]},n2625:{id:"n2625",loc:[-85.634345,41.94618]},n2626:{id:"n2626",loc:[-85.634344,41.946162]},n2627:{id:"n2627",loc:[-85.63427,41.946163]},n2628:{id:"n2628",loc:[-85.634266,41.946071]},n2629:{id:"n2629",loc:[-85.634148,41.946163]},n263:{id:"n263",loc:[-85.636854,41.941714]},n2630:{id:"n2630",loc:[-85.634213,41.946072]},n2631:{id:"n2631",loc:[-85.633293,41.946309]},n2632:{id:"n2632",loc:[-85.633122,41.946239]},n2633:{id:"n2633",loc:[-85.633295,41.946005]},n2634:{id:"n2634",loc:[-85.633395,41.946047]},n2635:{id:"n2635",loc:[-85.633404,41.946035]},n2636:{id:"n2636",loc:[-85.633459,41.946057]},n2637:{id:"n2637",loc:[-85.633387,41.946154]},n2638:{id:"n2638",loc:[-85.633403,41.946161]},n2639:{id:"n2639",loc:[-85.634176,41.946415]},n264:{id:"n264",loc:[-85.636855,41.941774]},n2640:{id:"n2640",loc:[-85.634179,41.946339]},n2641:{id:"n2641",loc:[-85.634455,41.946345]},n2642:{id:"n2642",loc:[-85.634452,41.946422]},n2643:{id:"n2643",loc:[-85.63437,41.946421]},n2644:{id:"n2644",loc:[-85.634367,41.946497]},n2645:{id:"n2645",loc:[-85.634289,41.946495]},n2646:{id:"n2646",loc:[-85.634291,41.946448]},n2647:{id:"n2647",loc:[-85.634269,41.946448]},n2648:{id:"n2648",loc:[-85.63427,41.946417]},n2649:{id:"n2649",loc:[-85.63484,41.946328]},n265:{id:"n265",loc:[-85.636822,41.941774]},n2650:{id:"n2650",loc:[-85.634839,41.946187]},n2651:{id:"n2651",loc:[-85.635148,41.946186]},n2652:{id:"n2652",loc:[-85.635148,41.946216]},n2653:{id:"n2653",loc:[-85.63521,41.946216]},n2654:{id:"n2654",loc:[-85.63521,41.946348]},n2655:{id:"n2655",loc:[-85.635154,41.946348]},n2656:{id:"n2656",loc:[-85.635153,41.946327]},n2657:{id:"n2657",loc:[-85.634037,41.946957]},n2658:{id:"n2658",loc:[-85.634253,41.946953]},n2659:{id:"n2659",loc:[-85.63481,41.946543]},n266:{id:"n266",loc:[-85.636822,41.941778]},n2660:{id:"n2660",loc:[-85.634809,41.946459]},n2661:{id:"n2661",loc:[-85.635154,41.946458]},n2662:{id:"n2662",loc:[-85.635155,41.946554]},n2663:{id:"n2663",loc:[-85.635022,41.946547]},n2664:{id:"n2664",loc:[-85.635022,41.946573]},n2665:{id:"n2665",loc:[-85.634909,41.946574]},n2666:{id:"n2666",loc:[-85.634909,41.946561]},n2667:{id:"n2667",loc:[-85.634896,41.947159]},n2668:{id:"n2668",loc:[-85.634894,41.947032]},n2669:{id:"n2669",loc:[-85.635024,41.947031]},n267:{id:"n267",loc:[-85.636756,41.941779]},n2670:{id:"n2670",loc:[-85.635026,41.947158]},n2671:{id:"n2671",loc:[-85.635233,41.947105]},n2672:{id:"n2672",loc:[-85.635236,41.946991]},n2673:{id:"n2673",loc:[-85.635369,41.946993]},n2674:{id:"n2674",loc:[-85.635366,41.947107]},n2675:{id:"n2675",loc:[-85.634824,41.946929]},n2676:{id:"n2676",loc:[-85.634825,41.946818]},n2677:{id:"n2677",loc:[-85.63512,41.946819]},n2678:{id:"n2678",loc:[-85.635119,41.94693]},n2679:{id:"n2679",loc:[-85.634796,41.946806]},n268:{id:"n268",loc:[-85.636756,41.941774]},n2680:{id:"n2680",loc:[-85.634792,41.946604]},n2681:{id:"n2681",loc:[-85.634948,41.946602]},n2682:{id:"n2682",loc:[-85.634949,41.946645]},n2683:{id:"n2683",loc:[-85.634975,41.946644]},n2684:{id:"n2684",loc:[-85.634974,41.946599]},n2685:{id:"n2685",loc:[-85.635117,41.946598]},n2686:{id:"n2686",loc:[-85.635122,41.946801]},n2687:{id:"n2687",loc:[-85.634981,41.946803]},n2688:{id:"n2688",loc:[-85.634979,41.946752]},n2689:{id:"n2689",loc:[-85.634952,41.946752]},n269:{id:"n269",loc:[-85.636721,41.941774]},n2690:{id:"n2690",loc:[-85.634953,41.946804]},n2691:{id:"n2691",loc:[-85.634649,41.946841]},n2692:{id:"n2692",loc:[-85.634331,41.94684]},n2693:{id:"n2693",loc:[-85.634183,41.946809]},n2694:{id:"n2694",loc:[-85.633699,41.946607]},n2695:{id:"n2695",loc:[-85.634487,41.946664]},n2696:{id:"n2696",loc:[-85.634486,41.946598]},n2697:{id:"n2697",loc:[-85.63423,41.946599]},n2698:{id:"n2698",loc:[-85.634231,41.946662]},n2699:{id:"n2699",loc:[-85.634284,41.946662]},n27:{id:"n27",loc:[-85.634136,41.943183]},n270:{id:"n270",loc:[-85.63672,41.941714]},n2700:{id:"n2700",loc:[-85.634284,41.946679]},n2701:{id:"n2701",loc:[-85.634365,41.946679]},n2702:{id:"n2702",loc:[-85.634365,41.946664]},n2703:{id:"n2703",loc:[-85.635443,41.947015]},n2704:{id:"n2704",loc:[-85.635442,41.946801]},n2705:{id:"n2705",loc:[-85.63603,41.9468]},n2706:{id:"n2706",loc:[-85.636028,41.947016]},n2707:{id:"n2707",loc:[-85.635457,41.946582]},n2708:{id:"n2708",loc:[-85.635455,41.946211]},n2709:{id:"n2709",loc:[-85.635636,41.946579]},n271:{id:"n271",loc:[-85.636767,41.941713]},n2710:{id:"n2710",loc:[-85.635716,41.9468]},n2711:{id:"n2711",loc:[-85.635969,41.9468]},n2712:{id:"n2712",loc:[-85.635973,41.946295]},n2713:{id:"n2713",loc:[-85.636019,41.946484]},n2714:{id:"n2714",loc:[-85.636022,41.946388]},n2715:{id:"n2715",loc:[-85.635961,41.946493]},n2716:{id:"n2716",loc:[-85.635713,41.94621]},n2717:{id:"n2717",loc:[-85.635416,41.946142]},n2718:{id:"n2718",loc:[-85.635759,41.946203]},n2719:{id:"n2719",loc:[-85.636153,41.946747]},n272:{id:"n272",loc:[-85.636767,41.941706]},n2720:{id:"n2720",loc:[-85.635417,41.946915]},n2721:{id:"n2721",loc:[-85.636154,41.946915]},n2722:{id:"n2722",loc:[-85.635866,41.946473]},n2723:{id:"n2723",loc:[-85.635717,41.946633]},n2724:{id:"n2724",loc:[-85.635556,41.946166]},n2725:{id:"n2725",loc:[-85.63556,41.946556]},n2726:{id:"n2726",loc:[-85.635731,41.946594]},n2727:{id:"n2727",loc:[-85.635866,41.946595]},n2728:{id:"n2728",loc:[-85.635456,41.947028]},n2729:{id:"n2729",loc:[-85.635796,41.947023]},n273:{id:"n273",loc:[-85.636779,41.941698]},n2730:{id:"n2730",loc:[-85.635798,41.947091]},n2731:{id:"n2731",loc:[-85.63573,41.947092]},n2732:{id:"n2732",loc:[-85.635733,41.947233]},n2733:{id:"n2733",loc:[-85.636283,41.946863]},n2734:{id:"n2734",loc:[-85.63628,41.946706]},n2735:{id:"n2735",loc:[-85.636341,41.946705]},n2736:{id:"n2736",loc:[-85.636273,41.946584]},n2737:{id:"n2737",loc:[-85.636396,41.946545]},n2738:{id:"n2738",loc:[-85.636474,41.946684]},n2739:{id:"n2739",loc:[-85.636511,41.946861]},n274:{id:"n274",loc:[-85.636798,41.941697]},n2740:{id:"n2740",loc:[-85.633713,41.947184]},n2741:{id:"n2741",loc:[-85.633651,41.94716]},n2742:{id:"n2742",loc:[-85.633704,41.947085]},n2743:{id:"n2743",loc:[-85.6336,41.947044]},n2744:{id:"n2744",loc:[-85.633506,41.947177]},n2745:{id:"n2745",loc:[-85.629586,41.952469]},n2746:{id:"n2746",loc:[-85.634723,41.953681]},n2747:{id:"n2747",loc:[-85.63478,41.959007]},n2748:{id:"n2748",loc:[-85.632793,41.94405],tags:{highway:"traffic_signals",traffic_signals:"signal","traffic_signals:direction":"both"}},n2749:{id:"n2749",loc:[-85.634648,41.947325]},n275:{id:"n275",loc:[-85.63681,41.941705]},n2750:{id:"n2750",loc:[-85.625078,41.952097]},n2751:{id:"n2751",loc:[-85.633195,41.94734]},n2752:{id:"n2752",loc:[-85.626447,41.957168]},n2753:{id:"n2753",loc:[-85.632023,41.949012]},n2754:{id:"n2754",loc:[-85.630835,41.950656]},n2755:{id:"n2755",loc:[-85.634655,41.948612]},n2756:{id:"n2756",loc:[-85.636182,41.948605]},n2757:{id:"n2757",loc:[-85.634729,41.954667]},n2758:{id:"n2758",loc:[-85.634686,41.951159]},n2759:{id:"n2759",loc:[-85.636206,41.951146]},n276:{id:"n276",loc:[-85.63681,41.941714]},n2760:{id:"n2760",loc:[-85.634668,41.949891]},n2761:{id:"n2761",loc:[-85.634701,41.952422]},n2762:{id:"n2762",loc:[-85.634747,41.955907]},n2763:{id:"n2763",loc:[-85.627975,41.954695]},n2764:{id:"n2764",loc:[-85.626832,41.954698]},n2765:{id:"n2765",loc:[-85.632278,41.948624]},n2766:{id:"n2766",loc:[-85.628639,41.953725]},n2767:{id:"n2767",loc:[-85.636233,41.95241]},n2768:{id:"n2768",loc:[-85.631385,41.949913]},n2769:{id:"n2769",loc:[-85.630486,41.951194]},n277:{id:"n277",loc:[-85.636861,41.942041]},n2770:{id:"n2770",loc:[-85.624937,41.952088]},n2771:{id:"n2771",loc:[-85.624945,41.952022]},n2772:{id:"n2772",loc:[-85.636162,41.94731]},n2773:{id:"n2773",loc:[-85.636188,41.949881]},n2774:{id:"n2774",loc:[-85.631422,41.948294]},n2775:{id:"n2775",loc:[-85.632844,41.945547]},n2776:{id:"n2776",loc:[-85.632484,41.945344]},n2777:{id:"n2777",loc:[-85.631775,41.944636]},n2778:{id:"n2778",loc:[-85.632656,41.945471]},n2779:{id:"n2779",loc:[-85.631959,41.944827]},n278:{id:"n278",loc:[-85.636862,41.942099]},n2780:{id:"n2780",loc:[-85.631679,41.94438]},n2781:{id:"n2781",loc:[-85.625129,41.959272]},n2782:{id:"n2782",loc:[-85.632446,41.944861]},n2783:{id:"n2783",loc:[-85.632804,41.945477]},n2784:{id:"n2784",loc:[-85.632255,41.944962]},n2785:{id:"n2785",loc:[-85.632736,41.944757]},n2786:{id:"n2786",loc:[-85.632543,41.94486]},n2787:{id:"n2787",loc:[-85.632889,41.945561]},n2788:{id:"n2788",loc:[-85.632091,41.944949]},n2789:{id:"n2789",loc:[-85.632537,41.944713]},n279:{id:"n279",loc:[-85.636807,41.942099]},n2790:{id:"n2790",loc:[-85.632279,41.94485]},n2791:{id:"n2791",loc:[-85.632749,41.943247]},n2792:{id:"n2792",loc:[-85.632824,41.943152]},n2793:{id:"n2793",loc:[-85.632929,41.94317]},n2794:{id:"n2794",loc:[-85.632897,41.943078]},n2795:{id:"n2795",loc:[-85.632626,41.943231]},n2796:{id:"n2796",loc:[-85.634048,41.947257]},n2797:{id:"n2797",loc:[-85.634264,41.947252]},n2798:{id:"n2798",loc:[-85.635418,41.947317]},n2799:{id:"n2799",loc:[-85.635461,41.947237]},n28:{id:"n28",loc:[-85.63821,41.944308]},n280:{id:"n280",loc:[-85.636807,41.942126]},n2800:{id:"n2800",loc:[-85.632868,41.946229]},n2801:{id:"n2801",loc:[-85.633673,41.947242]},n2802:{id:"n2802",loc:[-85.623604,41.945881],tags:{amenity:"school",name:"Barrows School"}},n2803:{id:"n2803",loc:[-85.627401,41.943496]},n2804:{id:"n2804",loc:[-85.627403,41.943625]},n2805:{id:"n2805",loc:[-85.626409,41.943215]},n2806:{id:"n2806",loc:[-85.624884,41.943508]},n2807:{id:"n2807",loc:[-85.625191,41.943509]},n2808:{id:"n2808",loc:[-85.624882,41.94382]},n2809:{id:"n2809",loc:[-85.624893,41.945618]},n281:{id:"n281",loc:[-85.636726,41.942126]},n2810:{id:"n2810",loc:[-85.624912,41.946524]},n2811:{id:"n2811",loc:[-85.622721,41.946535]},n2812:{id:"n2812",loc:[-85.627399,41.94469]},n2813:{id:"n2813",loc:[-85.622716,41.945622]},n2814:{id:"n2814",loc:[-85.624886,41.944724]},n2815:{id:"n2815",loc:[-85.622674,41.944737]},n2816:{id:"n2816",loc:[-85.625092,41.945063]},n2817:{id:"n2817",loc:[-85.625233,41.945064]},n2818:{id:"n2818",loc:[-85.625229,41.944871]},n2819:{id:"n2819",loc:[-85.625066,41.944871]},n282:{id:"n282",loc:[-85.636726,41.942098]},n2820:{id:"n2820",loc:[-85.625024,41.944901]},n2821:{id:"n2821",loc:[-85.625025,41.944924]},n2822:{id:"n2822",loc:[-85.625087,41.944926]},n2823:{id:"n2823",loc:[-85.625349,41.944506]},n2824:{id:"n2824",loc:[-85.625347,41.944388]},n2825:{id:"n2825",loc:[-85.625152,41.94439]},n2826:{id:"n2826",loc:[-85.625152,41.944431]},n2827:{id:"n2827",loc:[-85.625134,41.944431]},n2828:{id:"n2828",loc:[-85.625136,41.944508]},n2829:{id:"n2829",loc:[-85.623236,41.946341]},n283:{id:"n283",loc:[-85.636708,41.942098]},n2830:{id:"n2830",loc:[-85.623241,41.946067]},n2831:{id:"n2831",loc:[-85.623207,41.946067]},n2832:{id:"n2832",loc:[-85.623212,41.945827]},n2833:{id:"n2833",loc:[-85.622981,41.945825]},n2834:{id:"n2834",loc:[-85.622976,41.946063]},n2835:{id:"n2835",loc:[-85.623006,41.946063]},n2836:{id:"n2836",loc:[-85.623002,41.946256]},n2837:{id:"n2837",loc:[-85.623075,41.946256]},n2838:{id:"n2838",loc:[-85.623074,41.946339]},n2839:{id:"n2839",loc:[-85.624574,41.951755]},n284:{id:"n284",loc:[-85.636708,41.942041]},n2840:{id:"n2840",loc:[-85.62498,41.951844]},n2841:{id:"n2841",loc:[-85.625086,41.95188]},n2842:{id:"n2842",loc:[-85.625135,41.951922]},n2843:{id:"n2843",loc:[-85.615273,41.945637]},n2844:{id:"n2844",loc:[-85.620172,41.945627]},n2845:{id:"n2845",loc:[-85.625167,41.951985]},n2846:{id:"n2846",loc:[-85.622741,41.947437]},n2847:{id:"n2847",loc:[-85.624907,41.947428]},n2848:{id:"n2848",loc:[-85.627046,41.940995]},n2849:{id:"n2849",loc:[-85.627295,41.941304]},n285:{id:"n285",loc:[-85.635618,41.941852]},n2850:{id:"n2850",loc:[-85.627352,41.94148]},n2851:{id:"n2851",loc:[-85.62737,41.942261]},n2852:{id:"n2852",loc:[-85.6264,41.942263]},n2853:{id:"n2853",loc:[-85.622769,41.949228]},n2854:{id:"n2854",loc:[-85.624937,41.949218]},n2855:{id:"n2855",loc:[-85.630001,41.944664]},n2856:{id:"n2856",loc:[-85.624873,41.942022]},n2857:{id:"n2857",loc:[-85.622761,41.948333]},n2858:{id:"n2858",loc:[-85.624924,41.948334]},n2859:{id:"n2859",loc:[-85.620051,41.94383]},n286:{id:"n286",loc:[-85.635621,41.94202]},n2860:{id:"n2860",loc:[-85.627629,41.946498]},n2861:{id:"n2861",loc:[-85.622757,41.950111]},n2862:{id:"n2862",loc:[-85.623685,41.954624]},n2863:{id:"n2863",loc:[-85.621459,41.944756]},n2864:{id:"n2864",loc:[-85.628637,41.944676]},n2865:{id:"n2865",loc:[-85.630125,41.944654]},n2866:{id:"n2866",loc:[-85.625196,41.952097]},n2867:{id:"n2867",loc:[-85.630257,41.944637]},n2868:{id:"n2868",loc:[-85.631247,41.944459]},n2869:{id:"n2869",loc:[-85.624867,41.94159]},n287:{id:"n287",loc:[-85.63524,41.942023]},n2870:{id:"n2870",loc:[-85.624958,41.950343]},n2871:{id:"n2871",loc:[-85.624948,41.950484]},n2872:{id:"n2872",loc:[-85.624813,41.950983]},n2873:{id:"n2873",loc:[-85.624723,41.951789]},n2874:{id:"n2874",loc:[-85.624262,41.9512]},n2875:{id:"n2875",loc:[-85.62414,41.951201]},n2876:{id:"n2876",loc:[-85.624139,41.95112]},n2877:{id:"n2877",loc:[-85.628481,41.945611]},n2878:{id:"n2878",loc:[-85.620072,41.946538]},n2879:{id:"n2879",loc:[-85.622763,41.95099]},n288:{id:"n288",loc:[-85.635237,41.941855]},n2880:{id:"n2880",loc:[-85.62814,41.946963]},n2881:{id:"n2881",loc:[-85.628245,41.947031]},n2882:{id:"n2882",loc:[-85.628331,41.947066]},n2883:{id:"n2883",loc:[-85.629722,41.944444],tags:{leisure:"park",name:"Scouter Park"}},n2884:{id:"n2884",loc:[-85.629977,41.943907]},n2885:{id:"n2885",loc:[-85.629947,41.943775]},n2886:{id:"n2886",loc:[-85.629899,41.943625]},n2887:{id:"n2887",loc:[-85.632286,41.944257]},n2888:{id:"n2888",loc:[-85.632523,41.944179]},n2889:{id:"n2889",loc:[-85.632141,41.944293]},n289:{id:"n289",loc:[-85.635568,41.940475]},n2890:{id:"n2890",loc:[-85.631571,41.9444]},n2891:{id:"n2891",loc:[-85.643236,41.941895]},n2892:{id:"n2892",loc:[-85.62865,41.945353]},n2893:{id:"n2893",loc:[-85.628594,41.945481]},n2894:{id:"n2894",loc:[-85.628581,41.947169]},n2895:{id:"n2895",loc:[-85.631843,41.943793]},n2896:{id:"n2896",loc:[-85.632299,41.943472]},n2897:{id:"n2897",loc:[-85.631519,41.944881]},n2898:{id:"n2898",loc:[-85.628429,41.947219]},n2899:{id:"n2899",loc:[-85.63145,41.945162]},n29:{id:"n29",loc:[-85.637963,41.944263]},n290:{id:"n290",loc:[-85.634584,41.940477]},n2900:{id:"n2900",loc:[-85.630939,41.945519]},n2901:{id:"n2901",loc:[-85.62903,41.945719]},n2902:{id:"n2902",loc:[-85.630521,41.945559]},n2903:{id:"n2903",loc:[-85.629294,41.945585]},n2904:{id:"n2904",loc:[-85.629845,41.945543]},n2905:{id:"n2905",loc:[-85.631497,41.944625]},n2906:{id:"n2906",loc:[-85.630281,41.945553]},n2907:{id:"n2907",loc:[-85.628553,41.946973]},n2908:{id:"n2908",loc:[-85.631383,41.945338]},n2909:{id:"n2909",loc:[-85.628843,41.946103]},n291:{id:"n291",loc:[-85.634583,41.940203]},n2910:{id:"n2910",loc:[-85.631193,41.945473]},n2911:{id:"n2911",loc:[-85.628897,41.945944]},n2912:{id:"n2912",loc:[-85.628789,41.946454]},n2913:{id:"n2913",loc:[-85.632548,41.944563]},n2914:{id:"n2914",loc:[-85.627527,41.944555]},n2915:{id:"n2915",loc:[-85.62752,41.943726]},n2916:{id:"n2916",loc:[-85.627894,41.943723]},n2917:{id:"n2917",loc:[-85.627897,41.943919]},n2918:{id:"n2918",loc:[-85.627991,41.943934]},n2919:{id:"n2919",loc:[-85.628082,41.943966]},n292:{id:"n292",loc:[-85.635567,41.940201]},n2920:{id:"n2920",loc:[-85.628177,41.944015]},n2921:{id:"n2921",loc:[-85.628193,41.944048]},n2922:{id:"n2922",loc:[-85.628167,41.944054]},n2923:{id:"n2923",loc:[-85.628193,41.944094]},n2924:{id:"n2924",loc:[-85.628213,41.944144]},n2925:{id:"n2925",loc:[-85.628214,41.944199]},n2926:{id:"n2926",loc:[-85.62833,41.944196]},n2927:{id:"n2927",loc:[-85.628328,41.944262]},n2928:{id:"n2928",loc:[-85.628173,41.944262]},n2929:{id:"n2929",loc:[-85.628171,41.944293]},n293:{id:"n293",loc:[-85.635818,41.942677],tags:{crossing:"marked",highway:"crossing"}},n2930:{id:"n2930",loc:[-85.628039,41.944296]},n2931:{id:"n2931",loc:[-85.62804,41.944329]},n2932:{id:"n2932",loc:[-85.627829,41.944335]},n2933:{id:"n2933",loc:[-85.627835,41.94455]},n2936:{id:"n2936",loc:[-85.632823,41.945994]},n294:{id:"n294",loc:[-85.635696,41.942712]},n2940:{id:"n2940",loc:[-85.632192,41.945973]},n2941:{id:"n2941",loc:[-85.63226,41.94587]},n2942:{id:"n2942",loc:[-85.632721,41.946036]},n2943:{id:"n2943",loc:[-85.632641,41.946142]},n2944:{id:"n2944",loc:[-85.62937,41.947467]},n2945:{id:"n2945",loc:[-85.62959,41.942936]},n2946:{id:"n2946",loc:[-85.629551,41.94284]},n2947:{id:"n2947",loc:[-85.629501,41.942704]},n2948:{id:"n2948",loc:[-85.629472,41.942578]},n2949:{id:"n2949",loc:[-85.629361,41.941801]},n295:{id:"n295",loc:[-85.635679,41.941962]},n2950:{id:"n2950",loc:[-85.629339,41.941716]},n2951:{id:"n2951",loc:[-85.629315,41.94166]},n2952:{id:"n2952",loc:[-85.629279,41.941602]},n2953:{id:"n2953",loc:[-85.629227,41.941556]},n2954:{id:"n2954",loc:[-85.624261,41.95112]},n2955:{id:"n2955",loc:[-85.629153,41.941524]},n2956:{id:"n2956",loc:[-85.626904,41.941098]},n2957:{id:"n2957",loc:[-85.624588,41.951294]},n2958:{id:"n2958",loc:[-85.631844,41.942945]},n2959:{id:"n2959",loc:[-85.625854,41.949222]},n296:{id:"n296",loc:[-85.635672,41.941337]},n2960:{id:"n2960",loc:[-85.625146,41.955238]},n2961:{id:"n2961",loc:[-85.626745,41.948296]},n2962:{id:"n2962",loc:[-85.625721,41.95524]},n2963:{id:"n2963",loc:[-85.624706,41.952317]},n2964:{id:"n2964",loc:[-85.62609,41.956147]},n2965:{id:"n2965",loc:[-85.624401,41.954928]},n2966:{id:"n2966",loc:[-85.626558,41.955367]},n2967:{id:"n2967",loc:[-85.62468,41.955096]},n2968:{id:"n2968",loc:[-85.624159,41.953929]},n2969:{id:"n2969",loc:[-85.62506,41.951113]},n297:{id:"n297",loc:[-85.635658,41.941284]},n2970:{id:"n2970",loc:[-85.624942,41.951591]},n2971:{id:"n2971",loc:[-85.627399,41.947546]},n2972:{id:"n2972",loc:[-85.627695,41.947404]},n2973:{id:"n2973",loc:[-85.625925,41.94896]},n2974:{id:"n2974",loc:[-85.625725,41.950211]},n2975:{id:"n2975",loc:[-85.627008,41.947963]},n2976:{id:"n2976",loc:[-85.624373,41.953458]},n2977:{id:"n2977",loc:[-85.624137,41.954392]},n2978:{id:"n2978",loc:[-85.628257,41.947307]},n2979:{id:"n2979",loc:[-85.625281,41.95066]},n298:{id:"n298",loc:[-85.635602,41.941166]},n2980:{id:"n2980",loc:[-85.625865,41.949804]},n2981:{id:"n2981",loc:[-85.626508,41.955932]},n2982:{id:"n2982",loc:[-85.626333,41.955216]},n2983:{id:"n2983",loc:[-85.626637,41.955676]},n2984:{id:"n2984",loc:[-85.624223,41.954599]},n2985:{id:"n2985",loc:[-85.626219,41.948671]},n2986:{id:"n2986",loc:[-85.624556,41.953043]},n2987:{id:"n2987",loc:[-85.625598,41.956302]},n2988:{id:"n2988",loc:[-85.624571,41.952971]},n2989:{id:"n2989",loc:[-85.627141,41.940727]},n299:{id:"n299",loc:[-85.635598,41.941138]},n2990:{id:"n2990",loc:[-85.627102,41.939144]},n2991:{id:"n2991",loc:[-85.627127,41.940086]},n2992:{id:"n2992",loc:[-85.627116,41.940843]},n2993:{id:"n2993",loc:[-85.627132,41.9402]},n2994:{id:"n2994",loc:[-85.629734,41.940078]},n2995:{id:"n2995",loc:[-85.6276,41.937412]},n2996:{id:"n2996",loc:[-85.627451,41.937549]},n2997:{id:"n2997",loc:[-85.627375,41.937618]},n2998:{id:"n2998",loc:[-85.627278,41.937728]},n2999:{id:"n2999",loc:[-85.627199,41.937842]},n3:{id:"n3",loc:[-85.627345,41.953983]},n30:{id:"n30",loc:[-85.637882,41.944205]},n300:{id:"n300",loc:[-85.635614,41.941076]},n3000:{id:"n3000",loc:[-85.627141,41.937981]},n3001:{id:"n3001",loc:[-85.627109,41.938153]},n3002:{id:"n3002",loc:[-85.627101,41.938699]},n3003:{id:"n3003",loc:[-85.628311,41.942261]},n3004:{id:"n3004",loc:[-85.628439,41.940082]},n3005:{id:"n3005",loc:[-85.619538,41.942622],tags:{leisure:"slipway"}},n3006:{id:"n3006",loc:[-85.619872,41.942618]},n3007:{id:"n3007",loc:[-85.619755,41.942612]},n3008:{id:"n3008",loc:[-85.619647,41.942628]},n3009:{id:"n3009",loc:[-85.619415,41.942626]},n301:{id:"n301",loc:[-85.635659,41.940956]},n3010:{id:"n3010",loc:[-85.619212,41.942623]},n3011:{id:"n3011",loc:[-85.631485,41.942472]},n3012:{id:"n3012",loc:[-85.630986,41.941786]},n3013:{id:"n3013",loc:[-85.631797,41.942006]},n3014:{id:"n3014",loc:[-85.630972,41.941162]},n3015:{id:"n3015",loc:[-85.631396,41.941611],tags:{railway:"level_crossing"}},n3016:{id:"n3016",loc:[-85.631878,41.941545]},n3017:{id:"n3017",loc:[-85.630461,41.94055]},n3018:{id:"n3018",loc:[-85.629751,41.939539],tags:{railway:"level_crossing"}},n3019:{id:"n3019",loc:[-85.631663,41.941513]},n302:{id:"n302",loc:[-85.635666,41.940922]},n3020:{id:"n3020",loc:[-85.631328,41.941375]},n3021:{id:"n3021",loc:[-85.632554,41.941779]},n3022:{id:"n3022",loc:[-85.63245,41.941769]},n3023:{id:"n3023",loc:[-85.632475,41.941644]},n3024:{id:"n3024",loc:[-85.632581,41.941654]},n3025:{id:"n3025",loc:[-85.631957,41.941352]},n3026:{id:"n3026",loc:[-85.632293,41.941139]},n3027:{id:"n3027",loc:[-85.632315,41.941153]},n3028:{id:"n3028",loc:[-85.632302,41.941262]},n3029:{id:"n3029",loc:[-85.63237,41.941267]},n303:{id:"n303",loc:[-85.635667,41.940877]},n3030:{id:"n3030",loc:[-85.632356,41.941538]},n3031:{id:"n3031",loc:[-85.632134,41.941678]},n3032:{id:"n3032",loc:[-85.631942,41.941687]},n3033:{id:"n3033",loc:[-85.63203,41.941694]},n3034:{id:"n3034",loc:[-85.632166,41.941555]},n3035:{id:"n3035",loc:[-85.632412,41.941416]},n3036:{id:"n3036",loc:[-85.63248,41.941342]},n3037:{id:"n3037",loc:[-85.632502,41.941259]},n3038:{id:"n3038",loc:[-85.632453,41.941161]},n3039:{id:"n3039",loc:[-85.63235,41.941103]},n304:{id:"n304",loc:[-85.635668,41.940655]},n3040:{id:"n3040",loc:[-85.632236,41.941118]},n3041:{id:"n3041",loc:[-85.631894,41.941355]},n3042:{id:"n3042",loc:[-85.631859,41.941411]},n3043:{id:"n3043",loc:[-85.632011,41.941587]},n3044:{id:"n3044",loc:[-85.632446,41.941379]},n3045:{id:"n3045",loc:[-85.632511,41.941416]},n3046:{id:"n3046",loc:[-85.632545,41.941634]},n3047:{id:"n3047",loc:[-85.632612,41.94164]},n3048:{id:"n3048",loc:[-85.632595,41.942197]},n3049:{id:"n3049",loc:[-85.632565,41.942241]},n305:{id:"n305",loc:[-85.635628,41.940617]},n3050:{id:"n3050",loc:[-85.632515,41.942256]},n3051:{id:"n3051",loc:[-85.63245,41.94223]},n3052:{id:"n3052",loc:[-85.632401,41.942174]},n3053:{id:"n3053",loc:[-85.632391,41.942115]},n3054:{id:"n3054",loc:[-85.632029,41.941859]},n3055:{id:"n3055",loc:[-85.631828,41.941639]},n3056:{id:"n3056",loc:[-85.631829,41.941508]},n3057:{id:"n3057",loc:[-85.631281,41.94312]},n3058:{id:"n3058",loc:[-85.631421,41.943065]},n3059:{id:"n3059",loc:[-85.631339,41.942949]},n306:{id:"n306",loc:[-85.635623,41.940272]},n3060:{id:"n3060",loc:[-85.631199,41.943004]},n3061:{id:"n3061",loc:[-85.631102,41.942931]},n3062:{id:"n3062",loc:[-85.631009,41.942809]},n3063:{id:"n3063",loc:[-85.631383,41.94265]},n3064:{id:"n3064",loc:[-85.631477,41.942773]},n3065:{id:"n3065",loc:[-85.630638,41.942809]},n3066:{id:"n3066",loc:[-85.630738,41.942943]},n3067:{id:"n3067",loc:[-85.630841,41.9429]},n3068:{id:"n3068",loc:[-85.630741,41.942766]},n3069:{id:"n3069",loc:[-85.63054,41.942603]},n307:{id:"n307",loc:[-85.635651,41.940183]},n3070:{id:"n3070",loc:[-85.630498,41.942619]},n3071:{id:"n3071",loc:[-85.630567,41.942718]},n3072:{id:"n3072",loc:[-85.630616,41.942698]},n3073:{id:"n3073",loc:[-85.630642,41.94273]},n3074:{id:"n3074",loc:[-85.630686,41.942714]},n3075:{id:"n3075",loc:[-85.630715,41.942754]},n3076:{id:"n3076",loc:[-85.6309,41.942681]},n3077:{id:"n3077",loc:[-85.630843,41.942605]},n3078:{id:"n3078",loc:[-85.6309,41.942581]},n3079:{id:"n3079",loc:[-85.630832,41.942487]},n308:{id:"n308",loc:[-85.635777,41.940183],tags:{crossing:"marked",highway:"crossing"}},n3080:{id:"n3080",loc:[-85.630773,41.942509]},n3081:{id:"n3081",loc:[-85.630718,41.942436]},n3082:{id:"n3082",loc:[-85.630485,41.942524]},n3083:{id:"n3083",loc:[-85.631468,41.941233]},n3084:{id:"n3084",loc:[-85.631334,41.94114]},n3085:{id:"n3085",loc:[-85.632052,41.940568]},n3086:{id:"n3086",loc:[-85.63219,41.940663]},n3087:{id:"n3087",loc:[-85.631323,41.940834]},n3088:{id:"n3088",loc:[-85.631122,41.941002]},n3089:{id:"n3089",loc:[-85.631321,41.941133]},n309:{id:"n309",loc:[-85.636939,41.942544]},n3090:{id:"n3090",loc:[-85.631521,41.940966]},n3091:{id:"n3091",loc:[-85.631103,41.940253]},n3092:{id:"n3092",loc:[-85.631226,41.940211]},n3093:{id:"n3093",loc:[-85.631597,41.940805]},n3094:{id:"n3094",loc:[-85.631474,41.940847]},n3095:{id:"n3095",loc:[-85.631811,41.940534]},n3096:{id:"n3096",loc:[-85.631588,41.94061]},n3097:{id:"n3097",loc:[-85.631438,41.940366]},n3098:{id:"n3098",loc:[-85.631661,41.94029]},n3099:{id:"n3099",loc:[-85.630621,41.940041]},n31:{id:"n31",loc:[-85.63827,41.944203]},n310:{id:"n310",loc:[-85.636323,41.942552]},n3100:{id:"n3100",loc:[-85.630436,41.939773]},n3101:{id:"n3101",loc:[-85.63059,41.939714]},n3102:{id:"n3102",loc:[-85.630775,41.939983]},n3103:{id:"n3103",loc:[-85.63047,41.940167]},n3104:{id:"n3104",loc:[-85.63013,41.939686]},n3105:{id:"n3105",loc:[-85.630302,41.939618]},n3106:{id:"n3106",loc:[-85.630641,41.9401]},n3107:{id:"n3107",loc:[-85.630966,41.940619]},n3108:{id:"n3108",loc:[-85.630874,41.940493]},n3109:{id:"n3109",loc:[-85.630933,41.940469]},n311:{id:"n311",loc:[-85.636257,41.942555]},n3110:{id:"n3110",loc:[-85.630763,41.940236]},n3111:{id:"n3111",loc:[-85.63088,41.940189]},n3112:{id:"n3112",loc:[-85.631142,41.940548]},n3113:{id:"n3113",loc:[-85.630958,41.940871]},n3114:{id:"n3114",loc:[-85.630874,41.940778]},n3115:{id:"n3115",loc:[-85.631062,41.940684]},n3116:{id:"n3116",loc:[-85.631146,41.940777]},n3117:{id:"n3117",loc:[-85.632031,41.940575]},n3118:{id:"n3118",loc:[-85.631777,41.940186]},n3119:{id:"n3119",loc:[-85.631346,41.940179]},n312:{id:"n312",loc:[-85.636208,41.942561]},n3120:{id:"n3120",loc:[-85.631342,41.94012]},n3121:{id:"n3121",loc:[-85.631831,41.940118]},n3122:{id:"n3122",loc:[-85.632115,41.940543]},n3123:{id:"n3123",loc:[-85.631031,41.941683]},n3124:{id:"n3124",loc:[-85.630981,41.941608]},n3125:{id:"n3125",loc:[-85.631209,41.941516]},n3126:{id:"n3126",loc:[-85.631264,41.941586]},n3127:{id:"n3127",loc:[-85.630938,41.94155]},n3128:{id:"n3128",loc:[-85.631156,41.941462]},n3129:{id:"n3129",loc:[-85.631197,41.94152]},n313:{id:"n313",loc:[-85.636159,41.942573]},n3130:{id:"n3130",loc:[-85.630895,41.941485]},n3131:{id:"n3131",loc:[-85.630824,41.941389]},n3132:{id:"n3132",loc:[-85.630986,41.941323]},n3133:{id:"n3133",loc:[-85.631057,41.941419]},n3134:{id:"n3134",loc:[-85.630777,41.941328]},n3135:{id:"n3135",loc:[-85.630907,41.941274]},n3136:{id:"n3136",loc:[-85.630953,41.941335]},n3137:{id:"n3137",loc:[-85.630797,41.941247]},n3138:{id:"n3138",loc:[-85.630701,41.94117]},n3139:{id:"n3139",loc:[-85.630829,41.941113]},n314:{id:"n314",loc:[-85.635743,41.942881]},n3140:{id:"n3140",loc:[-85.6309,41.941201]},n3141:{id:"n3141",loc:[-85.630765,41.941206]},n3142:{id:"n3142",loc:[-85.630739,41.941218]},n3143:{id:"n3143",loc:[-85.630582,41.941039]},n3144:{id:"n3144",loc:[-85.630412,41.940818]},n3145:{id:"n3145",loc:[-85.630509,41.940777]},n3146:{id:"n3146",loc:[-85.630678,41.941004]},n3147:{id:"n3147",loc:[-85.630773,41.942166]},n3148:{id:"n3148",loc:[-85.630708,41.942074]},n3149:{id:"n3149",loc:[-85.630863,41.942013]},n315:{id:"n315",loc:[-85.635452,41.942966]},n3150:{id:"n3150",loc:[-85.630928,41.942105]},n3151:{id:"n3151",loc:[-85.630701,41.942026]},n3152:{id:"n3152",loc:[-85.630665,41.941971]},n3153:{id:"n3153",loc:[-85.630793,41.941918]},n3154:{id:"n3154",loc:[-85.630837,41.94197]},n3155:{id:"n3155",loc:[-85.630757,41.941871]},n3156:{id:"n3156",loc:[-85.630629,41.941923]},n3157:{id:"n3157",loc:[-85.630694,41.941783]},n3158:{id:"n3158",loc:[-85.630534,41.941847]},n3159:{id:"n3159",loc:[-85.630598,41.941935]},n316:{id:"n316",loc:[-85.634911,41.943118]},n3160:{id:"n3160",loc:[-85.631548,41.93938]},n3161:{id:"n3161",loc:[-85.631525,41.939919]},n3162:{id:"n3162",loc:[-85.631648,41.940043]},n3163:{id:"n3163",loc:[-85.624586,41.951121]},n3164:{id:"n3164",loc:[-85.622139,41.952064]},n3165:{id:"n3165",loc:[-85.622141,41.952144]},n3166:{id:"n3166",loc:[-85.621977,41.952146]},n3167:{id:"n3167",loc:[-85.621978,41.952211]},n3168:{id:"n3168",loc:[-85.62191,41.952212]},n3169:{id:"n3169",loc:[-85.633628,41.935437]},n317:{id:"n317",loc:[-85.634743,41.943167]},n3170:{id:"n3170",loc:[-85.632849,41.935518]},n3171:{id:"n3171",loc:[-85.632376,41.93574]},n3172:{id:"n3172",loc:[-85.631517,41.935897]},n3173:{id:"n3173",loc:[-85.630433,41.936124]},n3174:{id:"n3174",loc:[-85.630207,41.936427]},n3175:{id:"n3175",loc:[-85.630346,41.936795]},n3176:{id:"n3176",loc:[-85.62996,41.936974]},n3177:{id:"n3177",loc:[-85.629916,41.937488]},n3178:{id:"n3178",loc:[-85.629946,41.937802]},n3179:{id:"n3179",loc:[-85.629977,41.937905]},n318:{id:"n318",loc:[-85.634401,41.94328]},n3180:{id:"n3180",loc:[-85.63016,41.937909]},n3181:{id:"n3181",loc:[-85.630804,41.937791]},n3182:{id:"n3182",loc:[-85.631688,41.937808]},n3183:{id:"n3183",loc:[-85.631685,41.938008]},n3184:{id:"n3184",loc:[-85.631845,41.938116]},n3185:{id:"n3185",loc:[-85.63207,41.938181]},n3186:{id:"n3186",loc:[-85.632143,41.938371]},n3187:{id:"n3187",loc:[-85.632056,41.938435]},n3188:{id:"n3188",loc:[-85.631787,41.938457]},n3189:{id:"n3189",loc:[-85.631657,41.938728]},n319:{id:"n319",loc:[-85.634345,41.943299]},n3190:{id:"n3190",loc:[-85.631595,41.93775]},n3191:{id:"n3191",loc:[-85.630264,41.937839]},n3192:{id:"n3192",loc:[-85.628591,41.948536]},n3193:{id:"n3193",loc:[-85.63205,41.951181]},n3194:{id:"n3194",loc:[-85.632034,41.949909]},n3195:{id:"n3195",loc:[-85.630841,41.951191]},n3196:{id:"n3196",loc:[-85.632083,41.9537]},n3197:{id:"n3197",loc:[-85.630929,41.959037]},n3198:{id:"n3198",loc:[-85.632151,41.959028]},n3199:{id:"n3199",loc:[-85.630911,41.957428]},n32:{id:"n32",loc:[-85.638273,41.944246]},n320:{id:"n320",loc:[-85.634287,41.943326]},n3200:{id:"n3200",loc:[-85.63213,41.957427]},n3201:{id:"n3201",loc:[-85.632072,41.952447]},n3202:{id:"n3202",loc:[-85.632095,41.954677]},n3203:{id:"n3203",loc:[-85.632111,41.955911]},n3204:{id:"n3204",loc:[-85.630855,41.952457]},n3205:{id:"n3205",loc:[-85.630869,41.953709]},n3206:{id:"n3206",loc:[-85.63088,41.954682]},n3207:{id:"n3207",loc:[-85.630894,41.955913]},n3208:{id:"n3208",loc:[-85.633214,41.948619]},n3209:{id:"n3209",loc:[-85.633253,41.951171]},n321:{id:"n321",loc:[-85.634233,41.943354]},n3210:{id:"n3210",loc:[-85.633234,41.949901]},n3211:{id:"n3211",loc:[-85.633922,41.948616]},n3212:{id:"n3212",loc:[-85.625188,41.947832]},n3213:{id:"n3213",loc:[-85.625208,41.947775]},n3214:{id:"n3214",loc:[-85.625229,41.94776]},n3215:{id:"n3215",loc:[-85.625201,41.947749]},n3216:{id:"n3216",loc:[-85.625168,41.947707]},n3217:{id:"n3217",loc:[-85.625171,41.947609]},n3218:{id:"n3218",loc:[-85.625213,41.947564]},n3219:{id:"n3219",loc:[-85.62529,41.94756]},n322:{id:"n322",loc:[-85.634099,41.943429]},n3220:{id:"n3220",loc:[-85.625303,41.947533]},n3221:{id:"n3221",loc:[-85.625344,41.947482]},n3222:{id:"n3222",loc:[-85.625442,41.947468]},n3223:{id:"n3223",loc:[-85.62565,41.947494]},n3224:{id:"n3224",loc:[-85.625726,41.947613]},n3225:{id:"n3225",loc:[-85.625703,41.947728]},n3226:{id:"n3226",loc:[-85.625534,41.94781]},n3227:{id:"n3227",loc:[-85.625391,41.947822]},n3228:{id:"n3228",loc:[-85.625304,41.947859]},n3229:{id:"n3229",loc:[-85.625203,41.947885]},n323:{id:"n323",loc:[-85.633958,41.943507],tags:{highway:"crossing"}},n3230:{id:"n3230",loc:[-85.624691,41.948659]},n3231:{id:"n3231",loc:[-85.624328,41.948661]},n3232:{id:"n3232",loc:[-85.624331,41.949046]},n3233:{id:"n3233",loc:[-85.624694,41.949045]},n3234:{id:"n3234",loc:[-85.623623,41.949606]},n3235:{id:"n3235",loc:[-85.623623,41.9497]},n3236:{id:"n3236",loc:[-85.623357,41.9497]},n3237:{id:"n3237",loc:[-85.623357,41.949614]},n3238:{id:"n3238",loc:[-85.623974,41.949429]},n3239:{id:"n3239",loc:[-85.623974,41.949605]},n324:{id:"n324",loc:[-85.633698,41.943651],tags:{railway:"crossing"}},n3240:{id:"n3240",loc:[-85.624501,41.951226]},n3241:{id:"n3241",loc:[-85.624501,41.951123]},n3242:{id:"n3242",loc:[-85.624319,41.951123]},n3243:{id:"n3243",loc:[-85.624319,41.951226]},n3244:{id:"n3244",loc:[-85.624121,41.950866]},n3245:{id:"n3245",loc:[-85.624115,41.950525]},n3246:{id:"n3246",loc:[-85.624315,41.950523]},n3247:{id:"n3247",loc:[-85.62432,41.950865]},n3248:{id:"n3248",loc:[-85.624393,41.950867]},n3249:{id:"n3249",loc:[-85.62439,41.950596]},n325:{id:"n325",loc:[-85.633508,41.943757]},n3250:{id:"n3250",loc:[-85.624673,41.950594]},n3251:{id:"n3251",loc:[-85.624675,41.95082]},n3252:{id:"n3252",loc:[-85.62451,41.950821]},n3253:{id:"n3253",loc:[-85.62451,41.950866]},n3254:{id:"n3254",loc:[-85.624101,41.949346]},n3255:{id:"n3255",loc:[-85.624244,41.949346]},n3256:{id:"n3256",loc:[-85.624244,41.949368]},n3257:{id:"n3257",loc:[-85.62434,41.949368]},n3258:{id:"n3258",loc:[-85.624342,41.949351]},n3259:{id:"n3259",loc:[-85.624725,41.949348]},n326:{id:"n326",loc:[-85.634839,41.942974]},n3260:{id:"n3260",loc:[-85.624755,41.950495]},n3261:{id:"n3261",loc:[-85.624121,41.950502]},n3262:{id:"n3262",loc:[-85.625453,41.950163]},n3263:{id:"n3263",loc:[-85.625454,41.949976]},n3264:{id:"n3264",loc:[-85.625549,41.949977]},n3265:{id:"n3265",loc:[-85.62555,41.949833]},n3266:{id:"n3266",loc:[-85.625577,41.949833]},n3267:{id:"n3267",loc:[-85.625578,41.949656]},n3268:{id:"n3268",loc:[-85.625195,41.949655]},n3269:{id:"n3269",loc:[-85.625192,41.950162]},n327:{id:"n327",loc:[-85.634657,41.943028]},n3270:{id:"n3270",loc:[-85.622992,41.949614]},n3271:{id:"n3271",loc:[-85.622991,41.949431]},n3272:{id:"n3272",loc:[-85.620103,41.951]},n3273:{id:"n3273",loc:[-85.605644,41.947468]},n3274:{id:"n3274",loc:[-85.617421,41.947457]},n3275:{id:"n3275",loc:[-85.620078,41.947444]},n3276:{id:"n3276",loc:[-85.620087,41.94924]},n3277:{id:"n3277",loc:[-85.62156,41.948333]},n3278:{id:"n3278",loc:[-85.620106,41.950132]},n3279:{id:"n3279",loc:[-85.637412,41.951136]},n328:{id:"n328",loc:[-85.634222,41.943152]},n3280:{id:"n3280",loc:[-85.635429,41.948608]},n3281:{id:"n3281",loc:[-85.635047,41.947788]},n3282:{id:"n3282",loc:[-85.635048,41.947796]},n3283:{id:"n3283",loc:[-85.635002,41.947797]},n3284:{id:"n3284",loc:[-85.635002,41.947788]},n3285:{id:"n3285",loc:[-85.634914,41.94779]},n3286:{id:"n3286",loc:[-85.634913,41.947753]},n3287:{id:"n3287",loc:[-85.63494,41.947753]},n3288:{id:"n3288",loc:[-85.634938,41.947708]},n3289:{id:"n3289",loc:[-85.635124,41.947705]},n329:{id:"n329",loc:[-85.634099,41.943202]},n3290:{id:"n3290",loc:[-85.635126,41.947787]},n3291:{id:"n3291",loc:[-85.634972,41.947599]},n3292:{id:"n3292",loc:[-85.634921,41.9476]},n3293:{id:"n3293",loc:[-85.63485,41.947546]},n3294:{id:"n3294",loc:[-85.63485,41.947508]},n3295:{id:"n3295",loc:[-85.634924,41.947457]},n3296:{id:"n3296",loc:[-85.634967,41.947456]},n3297:{id:"n3297",loc:[-85.635041,41.947512]},n3298:{id:"n3298",loc:[-85.635041,41.947542]},n3299:{id:"n3299",loc:[-85.634244,41.947839]},n33:{id:"n33",loc:[-85.638257,41.944188]},n330:{id:"n330",loc:[-85.634093,41.943138]},n3300:{id:"n3300",loc:[-85.634243,41.947793]},n3301:{id:"n3301",loc:[-85.634244,41.947686]},n3302:{id:"n3302",loc:[-85.634243,41.947657]},n3303:{id:"n3303",loc:[-85.634462,41.947653]},n3304:{id:"n3304",loc:[-85.634468,41.947835]},n3305:{id:"n3305",loc:[-85.634416,41.948006]},n3306:{id:"n3306",loc:[-85.634415,41.947898]},n3307:{id:"n3307",loc:[-85.634275,41.947899]},n3308:{id:"n3308",loc:[-85.634275,41.947927]},n3309:{id:"n3309",loc:[-85.63425,41.947927]},n331:{id:"n331",loc:[-85.633938,41.943291]},n3310:{id:"n3310",loc:[-85.63425,41.947976]},n3311:{id:"n3311",loc:[-85.634274,41.947976]},n3312:{id:"n3312",loc:[-85.634275,41.948007]},n3313:{id:"n3313",loc:[-85.634342,41.947635]},n3314:{id:"n3314",loc:[-85.634339,41.947497]},n3315:{id:"n3315",loc:[-85.634313,41.94748]},n3316:{id:"n3316",loc:[-85.634287,41.947474]},n3317:{id:"n3317",loc:[-85.63498,41.94815]},n3318:{id:"n3318",loc:[-85.634891,41.94815]},n3319:{id:"n3319",loc:[-85.634892,41.948169]},n332:{id:"n332",loc:[-85.633535,41.943511],tags:{railway:"crossing"}},n3320:{id:"n3320",loc:[-85.634852,41.948169]},n3321:{id:"n3321",loc:[-85.634853,41.948268]},n3322:{id:"n3322",loc:[-85.634832,41.948268]},n3323:{id:"n3323",loc:[-85.634832,41.948296]},n3324:{id:"n3324",loc:[-85.634965,41.948295]},n3325:{id:"n3325",loc:[-85.634966,41.948321]},n3326:{id:"n3326",loc:[-85.634999,41.948321]},n3327:{id:"n3327",loc:[-85.634999,41.948295]},n3328:{id:"n3328",loc:[-85.635175,41.948293]},n3329:{id:"n3329",loc:[-85.635175,41.948262]},n333:{id:"n333",loc:[-85.63339,41.943596]},n3330:{id:"n3330",loc:[-85.635159,41.948262]},n3331:{id:"n3331",loc:[-85.635158,41.948152]},n3332:{id:"n3332",loc:[-85.635067,41.948152]},n3333:{id:"n3333",loc:[-85.635065,41.947966]},n3334:{id:"n3334",loc:[-85.634979,41.947966]},n3335:{id:"n3335",loc:[-85.634307,41.948326]},n3336:{id:"n3336",loc:[-85.634305,41.948298]},n3337:{id:"n3337",loc:[-85.634331,41.948055]},n3338:{id:"n3338",loc:[-85.634331,41.948046]},n3339:{id:"n3339",loc:[-85.634435,41.948047]},n334:{id:"n334",loc:[-85.632842,41.943895]},n3340:{id:"n3340",loc:[-85.634434,41.948375]},n3341:{id:"n3341",loc:[-85.634463,41.948373]},n3342:{id:"n3342",loc:[-85.634464,41.948456]},n3343:{id:"n3343",loc:[-85.63443,41.948457]},n3344:{id:"n3344",loc:[-85.634432,41.948505]},n3345:{id:"n3345",loc:[-85.637386,41.94906]},n3346:{id:"n3346",loc:[-85.637113,41.9486]},n3347:{id:"n3347",loc:[-85.635448,41.949424]},n335:{id:"n335",loc:[-85.633856,41.943315]},n3352:{id:"n3352",loc:[-85.635457,41.949787]},n3353:{id:"n3353",loc:[-85.635459,41.949886]},n336:{id:"n336",loc:[-85.633697,41.943405]},n337:{id:"n337",loc:[-85.63347,41.943181]},n3372:{id:"n3372",loc:[-85.634423,41.950964]},n3373:{id:"n3373",loc:[-85.634424,41.95074]},n3374:{id:"n3374",loc:[-85.634394,41.950284]},n3375:{id:"n3375",loc:[-85.634398,41.950626]},n3376:{id:"n3376",loc:[-85.63452,41.951063]},n3377:{id:"n3377",loc:[-85.634511,41.949977]},n3378:{id:"n3378",loc:[-85.637409,41.949873]},n3379:{id:"n3379",loc:[-85.634824,41.94996]},n338:{id:"n338",loc:[-85.633597,41.943109]},n3380:{id:"n3380",loc:[-85.635437,41.949954]},n3381:{id:"n3381",loc:[-85.634844,41.951064]},n3382:{id:"n3382",loc:[-85.635458,41.951058]},n3383:{id:"n3383",loc:[-85.633921,41.947333]},n3384:{id:"n3384",loc:[-85.634208,41.947793]},n3385:{id:"n3385",loc:[-85.634204,41.947687]},n3386:{id:"n3386",loc:[-85.63424,41.947475]},n3387:{id:"n3387",loc:[-85.63424,41.947635]},n3388:{id:"n3388",loc:[-85.634089,41.948328]},n3389:{id:"n3389",loc:[-85.63424,41.948299]},n339:{id:"n339",loc:[-85.633673,41.943184]},n3390:{id:"n3390",loc:[-85.634239,41.948212]},n3391:{id:"n3391",loc:[-85.634086,41.948214]},n3392:{id:"n3392",loc:[-85.63408,41.948056]},n3393:{id:"n3393",loc:[-85.634093,41.948506]},n3394:{id:"n3394",loc:[-85.64344,41.941866]},n3395:{id:"n3395",loc:[-85.63378,41.95099]},n3396:{id:"n3396",loc:[-85.633779,41.950967]},n3397:{id:"n3397",loc:[-85.63375,41.950746]},n3398:{id:"n3398",loc:[-85.63375,41.950697]},n3399:{id:"n3399",loc:[-85.633903,41.950696]},n34:{id:"n34",loc:[-85.638176,41.944312]},n340:{id:"n340",loc:[-85.633714,41.94316]},n3400:{id:"n3400",loc:[-85.633901,41.950436]},n3401:{id:"n3401",loc:[-85.633492,41.950438]},n3402:{id:"n3402",loc:[-85.633494,41.950756]},n3403:{id:"n3403",loc:[-85.633454,41.950756]},n3404:{id:"n3404",loc:[-85.633456,41.950992]},n3405:{id:"n3405",loc:[-85.633994,41.950284]},n3406:{id:"n3406",loc:[-85.633998,41.950628]},n3407:{id:"n3407",loc:[-85.633364,41.951068]},n3408:{id:"n3408",loc:[-85.633356,41.949982]},n3409:{id:"n3409",loc:[-85.643327,41.941903]},n341:{id:"n341",loc:[-85.633811,41.943256]},n3410:{id:"n3410",loc:[-85.633292,41.953691]},n3411:{id:"n3411",loc:[-85.637432,41.952399]},n3412:{id:"n3412",loc:[-85.633349,41.957422]},n3413:{id:"n3413",loc:[-85.633326,41.955909]},n3414:{id:"n3414",loc:[-85.633307,41.954673]},n3415:{id:"n3415",loc:[-85.633273,41.952436]},n3416:{id:"n3416",loc:[-85.633361,41.95823],tags:{highway:"turning_circle"}},n3417:{id:"n3417",loc:[-85.619899,41.945527]},n3418:{id:"n3418",loc:[-85.643422,41.941946]},n3419:{id:"n3419",loc:[-85.643505,41.942033]},n342:{id:"n342",loc:[-85.633801,41.943261]},n3420:{id:"n3420",loc:[-85.620088,41.945571]},n3421:{id:"n3421",loc:[-85.620051,41.945505]},n3422:{id:"n3422",loc:[-85.62001,41.94541]},n3423:{id:"n3423",loc:[-85.620982,41.944742]},n3424:{id:"n3424",loc:[-85.621305,41.944782]},n3425:{id:"n3425",loc:[-85.621174,41.944819]},n3426:{id:"n3426",loc:[-85.621029,41.944871]},n3427:{id:"n3427",loc:[-85.620741,41.945011]},n3428:{id:"n3428",loc:[-85.620616,41.945085]},n3429:{id:"n3429",loc:[-85.620506,41.945172]},n343:{id:"n343",loc:[-85.63374,41.943514]},n3430:{id:"n3430",loc:[-85.620394,41.945273]},n3431:{id:"n3431",loc:[-85.620316,41.94536]},n3432:{id:"n3432",loc:[-85.620257,41.945452]},n3433:{id:"n3433",loc:[-85.620212,41.945535]},n3434:{id:"n3434",loc:[-85.620101,41.945811]},n3435:{id:"n3435",loc:[-85.620081,41.945937]},n3436:{id:"n3436",loc:[-85.619899,41.943718]},n3437:{id:"n3437",loc:[-85.619969,41.943211]},n3438:{id:"n3438",loc:[-85.619894,41.943292]},n3439:{id:"n3439",loc:[-85.620047,41.944738]},n344:{id:"n344",loc:[-85.633665,41.943441]},n3440:{id:"n3440",loc:[-85.620226,41.946088]},n3441:{id:"n3441",loc:[-85.620225,41.945864]},n3442:{id:"n3442",loc:[-85.620518,41.945863]},n3443:{id:"n3443",loc:[-85.620519,41.945944]},n3444:{id:"n3444",loc:[-85.620388,41.945944]},n3445:{id:"n3445",loc:[-85.620389,41.946088]},n3446:{id:"n3446",loc:[-85.618405,41.946566]},n3447:{id:"n3447",loc:[-85.619156,41.946562]},n3448:{id:"n3448",loc:[-85.619154,41.946319]},n3449:{id:"n3449",loc:[-85.618736,41.946322]},n345:{id:"n345",loc:[-85.633162,41.942947]},n3450:{id:"n3450",loc:[-85.618733,41.94612]},n3451:{id:"n3451",loc:[-85.619317,41.946116]},n3452:{id:"n3452",loc:[-85.619316,41.946023]},n3453:{id:"n3453",loc:[-85.619622,41.946021]},n3454:{id:"n3454",loc:[-85.619624,41.946171]},n3455:{id:"n3455",loc:[-85.61977,41.94617]},n3456:{id:"n3456",loc:[-85.619769,41.94602]},n3457:{id:"n3457",loc:[-85.619732,41.94602]},n3458:{id:"n3458",loc:[-85.619731,41.945856]},n3459:{id:"n3459",loc:[-85.619617,41.945857]},n346:{id:"n346",loc:[-85.633598,41.943083]},n3460:{id:"n3460",loc:[-85.619616,41.945776]},n3461:{id:"n3461",loc:[-85.619447,41.945777]},n3462:{id:"n3462",loc:[-85.619415,41.945778]},n3463:{id:"n3463",loc:[-85.618378,41.945788]},n3464:{id:"n3464",loc:[-85.618384,41.946132]},n3465:{id:"n3465",loc:[-85.618503,41.94613]},n3466:{id:"n3466",loc:[-85.618506,41.946319]},n3467:{id:"n3467",loc:[-85.6184,41.94632]},n3468:{id:"n3468",loc:[-85.618248,41.946416]},n3469:{id:"n3469",loc:[-85.618247,41.946319]},n347:{id:"n347",loc:[-85.63343,41.943179]},n3470:{id:"n3470",loc:[-85.618039,41.946321]},n3471:{id:"n3471",loc:[-85.61804,41.946418]},n3472:{id:"n3472",loc:[-85.620118,41.951895]},n3473:{id:"n3473",loc:[-85.617075,41.95469]},n3474:{id:"n3474",loc:[-85.620107,41.952113]},n3475:{id:"n3475",loc:[-85.620091,41.95232]},n3476:{id:"n3476",loc:[-85.620047,41.952505]},n3477:{id:"n3477",loc:[-85.61998,41.952715]},n3478:{id:"n3478",loc:[-85.619861,41.952986]},n3479:{id:"n3479",loc:[-85.619622,41.953365]},n348:{id:"n348",loc:[-85.633669,41.94341]},n3480:{id:"n3480",loc:[-85.619441,41.953567]},n3481:{id:"n3481",loc:[-85.619259,41.953741]},n3482:{id:"n3482",loc:[-85.618835,41.954056]},n3483:{id:"n3483",loc:[-85.618602,41.954194]},n3484:{id:"n3484",loc:[-85.618305,41.954347]},n3485:{id:"n3485",loc:[-85.618006,41.954466]},n3486:{id:"n3486",loc:[-85.617611,41.954587]},n3487:{id:"n3487",loc:[-85.615094,41.943412]},n3488:{id:"n3488",loc:[-85.619337,41.943025]},n3489:{id:"n3489",loc:[-85.610477,41.945527]},n349:{id:"n349",loc:[-85.633566,41.943466]},n3490:{id:"n3490",loc:[-85.610477,41.943718]},n3491:{id:"n3491",loc:[-85.619804,41.942976]},n3492:{id:"n3492",loc:[-85.61921,41.942672]},n3493:{id:"n3493",loc:[-85.619862,41.942836]},n3494:{id:"n3494",loc:[-85.616326,41.942769]},n3495:{id:"n3495",loc:[-85.617953,41.942917]},n3496:{id:"n3496",loc:[-85.61972,41.942728]},n3497:{id:"n3497",loc:[-85.61944,41.942784]},n3498:{id:"n3498",loc:[-85.615323,41.942841]},n3499:{id:"n3499",loc:[-85.612923,41.943718]},n35:{id:"n35",loc:[-85.637928,41.944249]},n350:{id:"n350",loc:[-85.633031,41.942986]},n3500:{id:"n3500",loc:[-85.61958,41.942756]},n3501:{id:"n3501",loc:[-85.619643,41.942647],tags:{leisure:"fishing"}},n3502:{id:"n3502",loc:[-85.619935,41.942962]},n3503:{id:"n3503",loc:[-85.629677,41.954687]},n3504:{id:"n3504",loc:[-85.629083,41.953722]},n3505:{id:"n3505",loc:[-85.621907,41.952067]},n3506:{id:"n3506",loc:[-85.621788,41.952058]},n3507:{id:"n3507",loc:[-85.629665,41.953718]},n3508:{id:"n3508",loc:[-85.624454,41.954707]},n3509:{id:"n3509",loc:[-85.634609,41.954585]},n351:{id:"n351",loc:[-85.633238,41.94283]},n3510:{id:"n3510",loc:[-85.634595,41.953772]},n3511:{id:"n3511",loc:[-85.633425,41.953783]},n3512:{id:"n3512",loc:[-85.633439,41.954596]},n3517:{id:"n3517",loc:[-85.621789,41.952179]},n3518:{id:"n3518",loc:[-85.624105,41.954704]},n3519:{id:"n3519",loc:[-85.623306,41.954542]},n352:{id:"n352",loc:[-85.633173,41.943556]},n3520:{id:"n3520",loc:[-85.623123,41.954502]},n3521:{id:"n3521",loc:[-85.622965,41.954473]},n3522:{id:"n3522",loc:[-85.622822,41.954455]},n3523:{id:"n3523",loc:[-85.62269,41.954448]},n3524:{id:"n3524",loc:[-85.622388,41.954467]},n3525:{id:"n3525",loc:[-85.62403,41.954895]},n3526:{id:"n3526",loc:[-85.623579,41.954855]},n3527:{id:"n3527",loc:[-85.623836,41.954951]},n3528:{id:"n3528",loc:[-85.622473,41.954592]},n3529:{id:"n3529",loc:[-85.622753,41.95458]},n353:{id:"n353",loc:[-85.633127,41.943552]},n3530:{id:"n3530",loc:[-85.62404,41.955078]},n3531:{id:"n3531",loc:[-85.624126,41.954999]},n3532:{id:"n3532",loc:[-85.623171,41.954687]},n3533:{id:"n3533",loc:[-85.624276,41.955206]},n3534:{id:"n3534",loc:[-85.62491,41.952801]},n3535:{id:"n3535",loc:[-85.625186,41.952756]},n3536:{id:"n3536",loc:[-85.625552,41.952792]},n3537:{id:"n3537",loc:[-85.626001,41.952948]},n3538:{id:"n3538",loc:[-85.626528,41.952984]},n3539:{id:"n3539",loc:[-85.626942,41.952886]},n354:{id:"n354",loc:[-85.632745,41.943222]},n3540:{id:"n3540",loc:[-85.627092,41.952685]},n3541:{id:"n3541",loc:[-85.627212,41.95244]},n3542:{id:"n3542",loc:[-85.627158,41.952226]},n3543:{id:"n3543",loc:[-85.627002,41.951972]},n3544:{id:"n3544",loc:[-85.626822,41.951838]},n3545:{id:"n3545",loc:[-85.626528,41.951807]},n3546:{id:"n3546",loc:[-85.625653,41.951852]},n3547:{id:"n3547",loc:[-85.625348,41.951834]},n3548:{id:"n3548",loc:[-85.625114,41.951767]},n3549:{id:"n3549",loc:[-85.620627,41.954682]},n355:{id:"n355",loc:[-85.632756,41.943199]},n3550:{id:"n3550",loc:[-85.622758,41.951884]},n3551:{id:"n3551",loc:[-85.618135,41.954734]},n3552:{id:"n3552",loc:[-85.620229,41.95472]},n3553:{id:"n3553",loc:[-85.624491,41.955573]},n3554:{id:"n3554",loc:[-85.621792,41.958314]},n3555:{id:"n3555",loc:[-85.623395,41.960001]},n3556:{id:"n3556",loc:[-85.620461,41.956212]},n3557:{id:"n3557",loc:[-85.62109,41.956766]},n3558:{id:"n3558",loc:[-85.620246,41.956224]},n3559:{id:"n3559",loc:[-85.625017,41.956068]},n356:{id:"n356",loc:[-85.632855,41.943147]},n3560:{id:"n3560",loc:[-85.622795,41.959702]},n3561:{id:"n3561",loc:[-85.621573,41.958457]},n3562:{id:"n3562",loc:[-85.619631,41.9573]},n3563:{id:"n3563",loc:[-85.62095,41.956311]},n3564:{id:"n3564",loc:[-85.619694,41.957408]},n3565:{id:"n3565",loc:[-85.621079,41.957751]},n3566:{id:"n3566",loc:[-85.622426,41.961142]},n3567:{id:"n3567",loc:[-85.623251,41.960484]},n3568:{id:"n3568",loc:[-85.619084,41.956291]},n3569:{id:"n3569",loc:[-85.622227,41.959303]},n357:{id:"n357",loc:[-85.632888,41.94315]},n3570:{id:"n3570",loc:[-85.620976,41.959104]},n3571:{id:"n3571",loc:[-85.621208,41.95653]},n3572:{id:"n3572",loc:[-85.623531,41.95951]},n3573:{id:"n3573",loc:[-85.623556,41.957935]},n3574:{id:"n3574",loc:[-85.623037,41.95746]},n3575:{id:"n3575",loc:[-85.621175,41.956427]},n3576:{id:"n3576",loc:[-85.622651,41.960109]},n3577:{id:"n3577",loc:[-85.621803,41.960747]},n3578:{id:"n3578",loc:[-85.620791,41.961874]},n3579:{id:"n3579",loc:[-85.625295,41.956786]},n358:{id:"n358",loc:[-85.633232,41.943547]},n3580:{id:"n3580",loc:[-85.619662,41.956894]},n3581:{id:"n3581",loc:[-85.622442,41.958708]},n3582:{id:"n3582",loc:[-85.621744,41.955864]},n3583:{id:"n3583",loc:[-85.621336,41.959212]},n3584:{id:"n3584",loc:[-85.622801,41.957304]},n3585:{id:"n3585",loc:[-85.619973,41.957433]},n3586:{id:"n3586",loc:[-85.619556,41.955717]},n3587:{id:"n3587",loc:[-85.622978,41.958601]},n3588:{id:"n3588",loc:[-85.625396,41.956264]},n3589:{id:"n3589",loc:[-85.623525,41.958034]},n359:{id:"n359",loc:[-85.633302,41.94351]},n3590:{id:"n3590",loc:[-85.623299,41.959631]},n3591:{id:"n3591",loc:[-85.622678,41.959873]},n3592:{id:"n3592",loc:[-85.625553,41.956179]},n3593:{id:"n3593",loc:[-85.623557,41.959231]},n3594:{id:"n3594",loc:[-85.622843,41.957373]},n3595:{id:"n3595",loc:[-85.619378,41.955677]},n3596:{id:"n3596",loc:[-85.620092,41.955425]},n3597:{id:"n3597",loc:[-85.622666,41.96044]},n3598:{id:"n3598",loc:[-85.621996,41.960256]},n3599:{id:"n3599",loc:[-85.623273,41.959997]},n36:{id:"n36",loc:[-85.637894,41.945551]},n360:{id:"n360",loc:[-85.633442,41.943794],tags:{highway:"crossing"}},n3600:{id:"n3600",loc:[-85.62477,41.95689]},n3601:{id:"n3601",loc:[-85.621641,41.955015]},n3602:{id:"n3602",loc:[-85.622495,41.960392]},n3603:{id:"n3603",loc:[-85.61918,41.955565]},n3604:{id:"n3604",loc:[-85.620017,41.955505]},n3605:{id:"n3605",loc:[-85.621739,41.956315]},n3606:{id:"n3606",loc:[-85.622957,41.959837]},n3607:{id:"n3607",loc:[-85.620912,41.960919]},n3608:{id:"n3608",loc:[-85.625231,41.956235]},n3609:{id:"n3609",loc:[-85.620976,41.961868]},n361:{id:"n361",loc:[-85.633381,41.94383]},n3610:{id:"n3610",loc:[-85.620956,41.958908]},n3611:{id:"n3611",loc:[-85.619035,41.956139]},n3612:{id:"n3612",loc:[-85.623643,41.958669]},n3613:{id:"n3613",loc:[-85.61949,41.956539]},n3614:{id:"n3614",loc:[-85.621927,41.958242]},n3615:{id:"n3615",loc:[-85.620826,41.955721]},n3616:{id:"n3616",loc:[-85.621202,41.961321]},n3617:{id:"n3617",loc:[-85.624877,41.95594]},n3618:{id:"n3618",loc:[-85.62065,41.958369]},n3619:{id:"n3619",loc:[-85.621524,41.956279]},n362:{id:"n362",loc:[-85.632977,41.944053]},n3620:{id:"n3620",loc:[-85.624662,41.955932]},n3621:{id:"n3621",loc:[-85.623048,41.958509]},n3622:{id:"n3622",loc:[-85.62111,41.95754]},n3623:{id:"n3623",loc:[-85.621508,41.954847]},n3624:{id:"n3624",loc:[-85.620655,41.958601]},n3625:{id:"n3625",loc:[-85.62154,41.954971]},n3626:{id:"n3626",loc:[-85.621691,41.955521]},n3627:{id:"n3627",loc:[-85.62154,41.954739]},n3628:{id:"n3628",loc:[-85.621996,41.959913]},n3629:{id:"n3629",loc:[-85.622286,41.960699]},n363:{id:"n363",loc:[-85.632915,41.943981],tags:{crossing:"marked",highway:"crossing"}},n3630:{id:"n3630",loc:[-85.622844,41.9572]},n3631:{id:"n3631",loc:[-85.620252,41.955446]},n3632:{id:"n3632",loc:[-85.623434,41.957528]},n3633:{id:"n3633",loc:[-85.623429,41.956858]},n3634:{id:"n3634",loc:[-85.622957,41.957137]},n3635:{id:"n3635",loc:[-85.622554,41.959027]},n3636:{id:"n3636",loc:[-85.623289,41.958314]},n3637:{id:"n3637",loc:[-85.622977,41.960855]},n3638:{id:"n3638",loc:[-85.624008,41.956953]},n3639:{id:"n3639",loc:[-85.621278,41.960855]},n364:{id:"n364",loc:[-85.632724,41.943969],tags:{crossing:"marked",highway:"crossing"}},n3640:{id:"n3640",loc:[-85.623128,41.956993]},n3641:{id:"n3641",loc:[-85.622452,41.959183]},n3642:{id:"n3642",loc:[-85.621095,41.961082]},n3643:{id:"n3643",loc:[-85.622011,41.960544]},n3644:{id:"n3644",loc:[-85.621637,41.955385]},n3645:{id:"n3645",loc:[-85.620999,41.959271]},n3646:{id:"n3646",loc:[-85.620044,41.956347]},n3647:{id:"n3647",loc:[-85.621936,41.959682]},n3648:{id:"n3648",loc:[-85.623761,41.95685]},n3649:{id:"n3649",loc:[-85.621239,41.959343]},n365:{id:"n365",loc:[-85.632621,41.944034]},n3650:{id:"n3650",loc:[-85.621073,41.956012]},n3651:{id:"n3651",loc:[-85.621271,41.956184]},n3652:{id:"n3652",loc:[-85.623444,41.95778]},n3653:{id:"n3653",loc:[-85.62125,41.96186]},n3654:{id:"n3654",loc:[-85.62169,41.961059]},n3655:{id:"n3655",loc:[-85.620012,41.955637]},n3656:{id:"n3656",loc:[-85.621058,41.9573]},n3657:{id:"n3657",loc:[-85.621138,41.957663]},n3658:{id:"n3658",loc:[-85.620773,41.957895]},n3659:{id:"n3659",loc:[-85.62007,41.957157]},n366:{id:"n366",loc:[-85.632684,41.944109],tags:{crossing:"marked",highway:"crossing"}},n3660:{id:"n3660",loc:[-85.624534,41.955844]},n3661:{id:"n3661",loc:[-85.621932,41.960807]},n3662:{id:"n3662",loc:[-85.623358,41.958138]},n3663:{id:"n3663",loc:[-85.620456,41.955514]},n3664:{id:"n3664",loc:[-85.623504,41.957607]},n3665:{id:"n3665",loc:[-85.621444,41.960751]},n3666:{id:"n3666",loc:[-85.623492,41.960213]},n3667:{id:"n3667",loc:[-85.621669,41.954655]},n3668:{id:"n3668",loc:[-85.623106,41.958685]},n3669:{id:"n3669",loc:[-85.620922,41.957867]},n367:{id:"n367",loc:[-85.632738,41.944172]},n3670:{id:"n3670",loc:[-85.620092,41.957296]},n3671:{id:"n3671",loc:[-85.621669,41.955222]},n3672:{id:"n3672",loc:[-85.621614,41.960967]},n3673:{id:"n3673",loc:[-85.621691,41.955732]},n3674:{id:"n3674",loc:[-85.619207,41.956419]},n3675:{id:"n3675",loc:[-85.621116,41.956603]},n3676:{id:"n3676",loc:[-85.623311,41.956929]},n3677:{id:"n3677",loc:[-85.625671,41.956499]},n3678:{id:"n3678",loc:[-85.623525,41.956738]},n3679:{id:"n3679",loc:[-85.625381,41.956634]},n368:{id:"n368",loc:[-85.63287,41.944135],tags:{crossing:"marked",highway:"crossing"}},n3680:{id:"n3680",loc:[-85.620096,41.95677]},n3681:{id:"n3681",loc:[-85.623803,41.958745]},n3682:{id:"n3682",loc:[-85.623498,41.958457]},n3683:{id:"n3683",loc:[-85.624223,41.957009]},n3684:{id:"n3684",loc:[-85.620026,41.956946]},n3685:{id:"n3685",loc:[-85.623005,41.960124]},n3686:{id:"n3686",loc:[-85.619073,41.955832]},n3687:{id:"n3687",loc:[-85.621744,41.95501]},n3688:{id:"n3688",loc:[-85.620804,41.958781]},n3689:{id:"n3689",loc:[-85.619844,41.957448]},n369:{id:"n369",loc:[-85.63298,41.944076]},n3690:{id:"n3690",loc:[-85.623713,41.958872]},n3691:{id:"n3691",loc:[-85.622329,41.960507]},n3692:{id:"n3692",loc:[-85.620804,41.956244]},n3693:{id:"n3693",loc:[-85.621818,41.955968]},n3694:{id:"n3694",loc:[-85.621405,41.958697]},n3695:{id:"n3695",loc:[-85.620998,41.960996]},n3696:{id:"n3696",loc:[-85.621621,41.960444]},n3697:{id:"n3697",loc:[-85.620941,41.961637]},n3698:{id:"n3698",loc:[-85.622195,41.958333]},n3699:{id:"n3699",loc:[-85.621668,41.961529]},n37:{id:"n37",loc:[-85.637611,41.945383]},n370:{id:"n370",loc:[-85.633191,41.944471]},n3700:{id:"n3700",loc:[-85.621015,41.957049]},n3701:{id:"n3701",loc:[-85.619368,41.955521]},n3702:{id:"n3702",loc:[-85.651578,41.942534]},n3703:{id:"n3703",loc:[-85.651541,41.943847]},n3704:{id:"n3704",loc:[-85.651365,41.944817]},n3705:{id:"n3705",loc:[-85.651076,41.945985]},n3706:{id:"n3706",loc:[-85.650626,41.947213]},n3707:{id:"n3707",loc:[-85.649669,41.949161]},n3708:{id:"n3708",loc:[-85.641802,41.961801]},n3709:{id:"n3709",loc:[-85.623333,41.961987]},n371:{id:"n371",loc:[-85.633132,41.94372]},n3710:{id:"n3710",loc:[-85.620621,41.965658]},n3711:{id:"n3711",loc:[-85.605673,41.965764]},n3712:{id:"n3712",loc:[-85.605664,41.962094]},n3713:{id:"n3713",loc:[-85.583774,41.962178]},n3714:{id:"n3714",loc:[-85.583774,41.961789]},n3715:{id:"n3715",loc:[-85.581303,41.961783]},n3716:{id:"n3716",loc:[-85.581245,41.958394]},n3717:{id:"n3717",loc:[-85.585299,41.955483]},n3718:{id:"n3718",loc:[-85.585588,41.955331]},n3719:{id:"n3719",loc:[-85.586053,41.955163]},n372:{id:"n372",loc:[-85.633011,41.943788]},n3720:{id:"n3720",loc:[-85.58632,41.955076]},n3721:{id:"n3721",loc:[-85.586478,41.955025]},n3722:{id:"n3722",loc:[-85.58692,41.954947]},n3723:{id:"n3723",loc:[-85.587345,41.954913]},n3724:{id:"n3724",loc:[-85.605592,41.954766]},n3725:{id:"n3725",loc:[-85.605303,41.936236]},n3726:{id:"n3726",loc:[-85.606941,41.936117]},n3727:{id:"n3727",loc:[-85.60876,41.935856]},n3728:{id:"n3728",loc:[-85.610092,41.935451]},n3729:{id:"n3729",loc:[-85.610681,41.935247]},n373:{id:"n373",loc:[-85.632854,41.943632]},n3730:{id:"n3730",loc:[-85.611446,41.934955]},n3731:{id:"n3731",loc:[-85.612057,41.934696]},n3732:{id:"n3732",loc:[-85.613256,41.934084]},n3733:{id:"n3733",loc:[-85.613948,41.933682]},n3734:{id:"n3734",loc:[-85.614638,41.933212]},n3735:{id:"n3735",loc:[-85.619801,41.929305]},n3736:{id:"n3736",loc:[-85.619768,41.925548]},n3737:{id:"n3737",loc:[-85.625761,41.925597]},n3738:{id:"n3738",loc:[-85.6263,41.927323]},n3739:{id:"n3739",loc:[-85.633708,41.927402]},n374:{id:"n374",loc:[-85.632974,41.943565]},n3740:{id:"n3740",loc:[-85.633927,41.929109]},n3741:{id:"n3741",loc:[-85.639213,41.929088]},n3742:{id:"n3742",loc:[-85.639204,41.925488]},n3743:{id:"n3743",loc:[-85.651425,41.925406]},n3744:{id:"n3744",loc:[-85.643386,41.941933]},n3745:{id:"n3745",loc:[-85.642776,41.941161]},n3746:{id:"n3746",loc:[-85.637277,41.948812]},n3747:{id:"n3747",loc:[-85.637366,41.94897]},n3748:{id:"n3748",loc:[-85.637329,41.94889]},n3749:{id:"n3749",loc:[-85.629649,41.952596]},n375:{id:"n375",loc:[-85.632741,41.943351]},n3750:{id:"n3750",loc:[-85.630291,41.954684]},n3751:{id:"n3751",loc:[-85.630284,41.953713]},n3752:{id:"n3752",loc:[-85.630269,41.952463]},n3753:{id:"n3753",loc:[-85.633933,41.949896]},n3754:{id:"n3754",loc:[-85.629339,41.941467]},n3755:{id:"n3755",loc:[-85.629857,41.94316]},n3756:{id:"n3756",loc:[-85.629987,41.944025]},n3757:{id:"n3757",loc:[-85.628538,41.948604]},n3758:{id:"n3758",loc:[-85.627415,41.957442]},n3759:{id:"n3759",loc:[-85.627019,41.957369]},n376:{id:"n376",loc:[-85.63251,41.943481]},n3760:{id:"n3760",loc:[-85.62167,41.952179]},n3761:{id:"n3761",loc:[-85.62167,41.952138]},n3762:{id:"n3762",loc:[-85.621562,41.952139]},n3763:{id:"n3763",loc:[-85.621562,41.952058]},n3764:{id:"n3764",loc:[-85.621476,41.952043]},n3765:{id:"n3765",loc:[-85.621477,41.952132]},n3766:{id:"n3766",loc:[-85.621386,41.952132]},n3767:{id:"n3767",loc:[-85.621387,41.95214]},n3768:{id:"n3768",loc:[-85.621262,41.95214]},n3769:{id:"n3769",loc:[-85.621261,41.952038]},n377:{id:"n377",loc:[-85.632706,41.943715]},n3770:{id:"n3770",loc:[-85.621389,41.952038]},n3771:{id:"n3771",loc:[-85.621389,41.952043]},n3772:{id:"n3772",loc:[-85.620898,41.952024]},n3773:{id:"n3773",loc:[-85.620898,41.952085]},n3774:{id:"n3774",loc:[-85.620774,41.952084]},n3775:{id:"n3775",loc:[-85.620774,41.952023]},n3776:{id:"n3776",loc:[-85.620749,41.952036]},n3777:{id:"n3777",loc:[-85.620723,41.952097]},n3778:{id:"n3778",loc:[-85.626158,41.958996]},n3779:{id:"n3779",loc:[-85.626319,41.958686]},n378:{id:"n378",loc:[-85.638683,41.943295]},n3780:{id:"n3780",loc:[-85.626119,41.958629]},n3781:{id:"n3781",loc:[-85.626064,41.958733]},n3782:{id:"n3782",loc:[-85.626155,41.958759]},n3783:{id:"n3783",loc:[-85.626048,41.958965]},n3784:{id:"n3784",loc:[-85.620648,41.952079]},n3785:{id:"n3785",loc:[-85.63826,41.961213]},n3786:{id:"n3786",loc:[-85.638003,41.961614]},n3787:{id:"n3787",loc:[-85.638817,41.961902]},n3788:{id:"n3788",loc:[-85.639073,41.961501]},n3789:{id:"n3789",loc:[-85.620674,41.952018]},n379:{id:"n379",loc:[-85.638684,41.94323]},n3790:{id:"n3790",loc:[-85.62082,41.952106]},n3791:{id:"n3791",loc:[-85.620819,41.952143]},n3792:{id:"n3792",loc:[-85.620778,41.952143]},n3793:{id:"n3793",loc:[-85.620778,41.952106]},n3794:{id:"n3794",loc:[-85.620563,41.952276]},n3795:{id:"n3795",loc:[-85.620543,41.95238]},n3796:{id:"n3796",loc:[-85.620422,41.952367]},n3797:{id:"n3797",loc:[-85.620441,41.952263]},n3798:{id:"n3798",loc:[-85.620561,41.952266]},n3799:{id:"n3799",loc:[-85.620444,41.952254]},n38:{id:"n38",loc:[-85.63879,41.943295]},n380:{id:"n380",loc:[-85.638627,41.94322]},n3800:{id:"n3800",loc:[-85.620773,41.955585]},n3801:{id:"n3801",loc:[-85.621265,41.955989]},n3802:{id:"n3802",loc:[-85.620692,41.954969]},n3803:{id:"n3803",loc:[-85.620691,41.955367]},n3804:{id:"n3804",loc:[-85.620458,41.952178]},n3805:{id:"n3805",loc:[-85.620575,41.95219]},n3806:{id:"n3806",loc:[-85.617609,41.952712]},n3807:{id:"n3807",loc:[-85.617533,41.952801],tags:{entrance:"yes"}},n3808:{id:"n3808",loc:[-85.616816,41.952911]},n3809:{id:"n3809",loc:[-85.616797,41.952901]},n381:{id:"n381",loc:[-85.638624,41.943294]},n3810:{id:"n3810",loc:[-85.616343,41.952694]},n3811:{id:"n3811",loc:[-85.616336,41.952729]},n3812:{id:"n3812",loc:[-85.616343,41.952772]},n3813:{id:"n3813",loc:[-85.628479,41.948649]},n3814:{id:"n3814",loc:[-85.628413,41.948679]},n3815:{id:"n3815",loc:[-85.628336,41.948694]},n3816:{id:"n3816",loc:[-85.62826,41.948694]},n3817:{id:"n3817",loc:[-85.628185,41.948679]},n3818:{id:"n3818",loc:[-85.628103,41.948649]},n3819:{id:"n3819",loc:[-85.627482,41.948395]},n382:{id:"n382",loc:[-85.638437,41.943291]},n3820:{id:"n3820",loc:[-85.619957,41.951168]},n3821:{id:"n3821",loc:[-85.619955,41.952077]},n3822:{id:"n3822",loc:[-85.619843,41.952666]},n3823:{id:"n3823",loc:[-85.619513,41.95324]},n3824:{id:"n3824",loc:[-85.619163,41.953668]},n3825:{id:"n3825",loc:[-85.618813,41.953947]},n3826:{id:"n3826",loc:[-85.618265,41.954252]},n3827:{id:"n3827",loc:[-85.617691,41.954458]},n3828:{id:"n3828",loc:[-85.616978,41.95459]},n3829:{id:"n3829",loc:[-85.615408,41.954628]},n383:{id:"n383",loc:[-85.63844,41.943209]},n3830:{id:"n3830",loc:[-85.615374,41.951076]},n3831:{id:"n3831",loc:[-85.61932,41.947564]},n3832:{id:"n3832",loc:[-85.610553,41.94755]},n3833:{id:"n3833",loc:[-85.610572,41.951065]},n3834:{id:"n3834",loc:[-85.617548,41.94757]},n3835:{id:"n3835",loc:[-85.619842,41.947939]},n3836:{id:"n3836",loc:[-85.619874,41.950905]},n3837:{id:"n3837",loc:[-85.619695,41.950911]},n3838:{id:"n3838",loc:[-85.617591,41.951078]},n3839:{id:"n3839",loc:[-85.619551,41.951065]},n384:{id:"n384",loc:[-85.632616,41.944021]},n3840:{id:"n3840",loc:[-85.626813,41.947337]},n3841:{id:"n3841",loc:[-85.616371,41.952814]},n3842:{id:"n3842",loc:[-85.617205,41.951308]},n3843:{id:"n3843",loc:[-85.616795,41.950953]},n3844:{id:"n3844",loc:[-85.617441,41.950889]},n3845:{id:"n3845",loc:[-85.619155,41.949377]},n3846:{id:"n3846",loc:[-85.618556,41.949377]},n3847:{id:"n3847",loc:[-85.618557,41.948372]},n3848:{id:"n3848",loc:[-85.619156,41.948372]},n3849:{id:"n3849",loc:[-85.61927,41.949796]},n385:{id:"n385",loc:[-85.632319,41.944172]},n3850:{id:"n3850",loc:[-85.61926,41.948344]},n3851:{id:"n3851",loc:[-85.619219,41.948264]},n3852:{id:"n3852",loc:[-85.619147,41.948196]},n3853:{id:"n3853",loc:[-85.619049,41.948144]},n3854:{id:"n3854",loc:[-85.618942,41.948116]},n3855:{id:"n3855",loc:[-85.618822,41.948109]},n3856:{id:"n3856",loc:[-85.618699,41.94813]},n3857:{id:"n3857",loc:[-85.618937,41.951943]},n3858:{id:"n3858",loc:[-85.616762,41.952222]},n3859:{id:"n3859",loc:[-85.616799,41.95472]},n386:{id:"n386",loc:[-85.63221,41.944066]},n3860:{id:"n3860",loc:[-85.616458,41.954735]},n3861:{id:"n3861",loc:[-85.61763,41.951515]},n3862:{id:"n3862",loc:[-85.617735,41.951572]},n3863:{id:"n3863",loc:[-85.61929,41.951573]},n3864:{id:"n3864",loc:[-85.617134,41.951348]},n3865:{id:"n3865",loc:[-85.616598,41.95192]},n3866:{id:"n3866",loc:[-85.616557,41.951997]},n3867:{id:"n3867",loc:[-85.61658,41.952093]},n3868:{id:"n3868",loc:[-85.616636,41.952145]},n3869:{id:"n3869",loc:[-85.616918,41.952276]},n387:{id:"n387",loc:[-85.632524,41.943912]},n3870:{id:"n3870",loc:[-85.617098,41.952235]},n3871:{id:"n3871",loc:[-85.61892,41.951467]},n3872:{id:"n3872",loc:[-85.618035,41.951473]},n3873:{id:"n3873",loc:[-85.618036,41.951572]},n3874:{id:"n3874",loc:[-85.61892,41.951573]},n3875:{id:"n3875",loc:[-85.618919,41.951957]},n3876:{id:"n3876",loc:[-85.619457,41.952237]},n3877:{id:"n3877",loc:[-85.618178,41.953618]},n3878:{id:"n3878",loc:[-85.617658,41.953366]},n3879:{id:"n3879",loc:[-85.617987,41.953024]},n388:{id:"n388",loc:[-85.632268,41.943621]},n3880:{id:"n3880",loc:[-85.618429,41.953248]},n3881:{id:"n3881",loc:[-85.618554,41.953119]},n3882:{id:"n3882",loc:[-85.618077,41.952868]},n3883:{id:"n3883",loc:[-85.618039,41.952886]},n3884:{id:"n3884",loc:[-85.619375,41.952169]},n3885:{id:"n3885",loc:[-85.618137,41.953538]},n3886:{id:"n3886",loc:[-85.61799,41.953555]},n3887:{id:"n3887",loc:[-85.617729,41.953423]},n3888:{id:"n3888",loc:[-85.618101,41.953029]},n3889:{id:"n3889",loc:[-85.618516,41.953119]},n389:{id:"n389",loc:[-85.631951,41.943773]},n3890:{id:"n3890",loc:[-85.619132,41.952042]},n3891:{id:"n3891",loc:[-85.618235,41.952981]},n3892:{id:"n3892",loc:[-85.618485,41.952425]},n3893:{id:"n3893",loc:[-85.618676,41.952519]},n3894:{id:"n3894",loc:[-85.618942,41.952648]},n3895:{id:"n3895",loc:[-85.618287,41.953122]},n3896:{id:"n3896",loc:[-85.617914,41.953516]},n3897:{id:"n3897",loc:[-85.617836,41.953573]},n3898:{id:"n3898",loc:[-85.616477,41.95289]},n3899:{id:"n3899",loc:[-85.618441,41.953201]},n39:{id:"n39",loc:[-85.619931,41.951013]},n390:{id:"n390",loc:[-85.631981,41.943654]},n3900:{id:"n3900",loc:[-85.617537,41.953335]},n3901:{id:"n3901",loc:[-85.617221,41.953166]},n3902:{id:"n3902",loc:[-85.617253,41.953135]},n3903:{id:"n3903",loc:[-85.617211,41.953114]},n3904:{id:"n3904",loc:[-85.617197,41.95313]},n3905:{id:"n3905",loc:[-85.616802,41.952925]},n3906:{id:"n3906",loc:[-85.616771,41.952928]},n3907:{id:"n3907",loc:[-85.616493,41.952785]},n3908:{id:"n3908",loc:[-85.616823,41.952426]},n3909:{id:"n3909",loc:[-85.617191,41.952616]},n391:{id:"n391",loc:[-85.631886,41.943699]},n3910:{id:"n3910",loc:[-85.61724,41.952559]},n3911:{id:"n3911",loc:[-85.61721,41.952542]},n3912:{id:"n3912",loc:[-85.617395,41.952351]},n3913:{id:"n3913",loc:[-85.617426,41.952368]},n3914:{id:"n3914",loc:[-85.617483,41.952309]},n3915:{id:"n3915",loc:[-85.617332,41.952229]},n3916:{id:"n3916",loc:[-85.617451,41.952102]},n3917:{id:"n3917",loc:[-85.617477,41.952115]},n3918:{id:"n3918",loc:[-85.617658,41.951923]},n3919:{id:"n3919",loc:[-85.617634,41.95191]},n392:{id:"n392",loc:[-85.631807,41.943606]},n3920:{id:"n3920",loc:[-85.617747,41.951786]},n3921:{id:"n3921",loc:[-85.618268,41.952056]},n3922:{id:"n3922",loc:[-85.618211,41.952122]},n3923:{id:"n3923",loc:[-85.618386,41.95222]},n3924:{id:"n3924",loc:[-85.618098,41.952527]},n3925:{id:"n3925",loc:[-85.617916,41.95243]},n3926:{id:"n3926",loc:[-85.617854,41.952498]},n3927:{id:"n3927",loc:[-85.617769,41.952453]},n3928:{id:"n3928",loc:[-85.617476,41.952773]},n3929:{id:"n3929",loc:[-85.617876,41.952973]},n393:{id:"n393",loc:[-85.631902,41.943561]},n3930:{id:"n3930",loc:[-85.617174,41.953638]},n3931:{id:"n3931",loc:[-85.618016,41.953578]},n3932:{id:"n3932",loc:[-85.618107,41.953628]},n3933:{id:"n3933",loc:[-85.618067,41.954268]},n3934:{id:"n3934",loc:[-85.617864,41.954263]},n3935:{id:"n3935",loc:[-85.61762,41.954205]},n3936:{id:"n3936",loc:[-85.617437,41.954103]},n3937:{id:"n3937",loc:[-85.617294,41.953978]},n3938:{id:"n3938",loc:[-85.617217,41.95384]},n3939:{id:"n3939",loc:[-85.616814,41.954327]},n394:{id:"n394",loc:[-85.63236,41.943543]},n3940:{id:"n3940",loc:[-85.616778,41.95381]},n3941:{id:"n3941",loc:[-85.616585,41.953707]},n3942:{id:"n3942",loc:[-85.616458,41.954318]},n3943:{id:"n3943",loc:[-85.616643,41.954345]},n3944:{id:"n3944",loc:[-85.618133,41.951412]},n3945:{id:"n3945",loc:[-85.618326,41.951411]},n3946:{id:"n3946",loc:[-85.618503,41.95141]},n3947:{id:"n3947",loc:[-85.618681,41.951409]},n3948:{id:"n3948",loc:[-85.618868,41.951408]},n3949:{id:"n3949",loc:[-85.617047,41.95136]},n395:{id:"n395",loc:[-85.633839,41.944082]},n3950:{id:"n3950",loc:[-85.616502,41.951946]},n3951:{id:"n3951",loc:[-85.616497,41.952072]},n3952:{id:"n3952",loc:[-85.616565,41.952165]},n3953:{id:"n3953",loc:[-85.616663,41.952218]},n3954:{id:"n3954",loc:[-85.616733,41.952255]},n3955:{id:"n3955",loc:[-85.617238,41.952512],tags:{entrance:"yes"}},n3956:{id:"n3956",loc:[-85.617043,41.952406]},n3957:{id:"n3957",loc:[-85.617691,41.951711]},n3958:{id:"n3958",loc:[-85.617773,41.951679]},n3959:{id:"n3959",loc:[-85.619085,41.951681]},n396:{id:"n396",loc:[-85.63376,41.944097]},n3960:{id:"n3960",loc:[-85.617943,41.952895]},n3961:{id:"n3961",loc:[-85.618039,41.952938]},n3962:{id:"n3962",loc:[-85.61763,41.95336]},n3963:{id:"n3963",loc:[-85.617554,41.95344]},n3964:{id:"n3964",loc:[-85.617381,41.952366],tags:{entrance:"yes"}},n3965:{id:"n3965",loc:[-85.617184,41.952254]},n3966:{id:"n3966",loc:[-85.617208,41.952496]},n3967:{id:"n3967",loc:[-85.617124,41.952581],tags:{entrance:"yes"}},n3968:{id:"n3968",loc:[-85.618094,41.952735]},n3969:{id:"n3969",loc:[-85.617702,41.952525],tags:{entrance:"yes"}},n397:{id:"n397",loc:[-85.63361,41.943957]},n3970:{id:"n3970",loc:[-85.617554,41.952686],tags:{entrance:"yes"}},n3971:{id:"n3971",loc:[-85.617959,41.952878]},n3972:{id:"n3972",loc:[-85.616367,41.952655]},n3973:{id:"n3973",loc:[-85.616416,41.952851]},n3974:{id:"n3974",loc:[-85.619777,41.951075]},n3975:{id:"n3975",loc:[-85.618611,41.94817]},n3976:{id:"n3976",loc:[-85.618538,41.948229]},n3977:{id:"n3977",loc:[-85.617421,41.947559]},n3978:{id:"n3978",loc:[-85.617395,41.951039]},n3979:{id:"n3979",loc:[-85.618488,41.94829]},n398:{id:"n398",loc:[-85.633309,41.943886]},n3980:{id:"n3980",loc:[-85.610238,41.954774]},n3981:{id:"n3981",loc:[-85.617449,41.950756]},n3982:{id:"n3982",loc:[-85.617288,41.951286]},n3983:{id:"n3983",loc:[-85.61745,41.950197]},n3984:{id:"n3984",loc:[-85.617436,41.948908]},n3985:{id:"n3985",loc:[-85.615915,41.953804]},n3986:{id:"n3986",loc:[-85.615953,41.953968]},n3987:{id:"n3987",loc:[-85.616031,41.954085]},n3988:{id:"n3988",loc:[-85.616135,41.954181]},n3989:{id:"n3989",loc:[-85.616273,41.954263]},n399:{id:"n399",loc:[-85.633226,41.943931]},n3990:{id:"n3990",loc:[-85.618327,41.951083]},n3991:{id:"n3991",loc:[-85.618135,41.951084]},n3992:{id:"n3992",loc:[-85.618503,41.951082]},n3993:{id:"n3993",loc:[-85.618682,41.951081]},n3994:{id:"n3994",loc:[-85.618864,41.951082]},n3995:{id:"n3995",loc:[-85.616761,41.950101]},n3996:{id:"n3996",loc:[-85.617317,41.947558]},n3997:{id:"n3997",loc:[-85.617336,41.948883]},n3998:{id:"n3998",loc:[-85.616779,41.949295]},n3999:{id:"n3999",loc:[-85.616754,41.949349]},n4:{id:"n4",loc:[-85.622764,41.950892],tags:{highway:"stop",direction:"forward",stop:"minor"}},n40:{id:"n40",loc:[-85.619841,41.951037]},n400:{id:"n400",loc:[-85.63326,41.943966]},n4000:{id:"n4000",loc:[-85.616761,41.950865]},n4001:{id:"n4001",loc:[-85.616883,41.951041]},n4002:{id:"n4002",loc:[-85.617004,41.951142]},n4003:{id:"n4003",loc:[-85.617062,41.951248]},n4004:{id:"n4004",loc:[-85.616809,41.949273]},n4005:{id:"n4005",loc:[-85.616755,41.949489]},n4006:{id:"n4006",loc:[-85.616759,41.949971]},n4007:{id:"n4007",loc:[-85.616757,41.949702]},n4008:{id:"n4008",loc:[-85.618456,41.94836]},n4009:{id:"n4009",loc:[-85.618447,41.948428]},n401:{id:"n401",loc:[-85.63324,41.943976]},n4010:{id:"n4010",loc:[-85.618437,41.949322]},n4011:{id:"n4011",loc:[-85.618447,41.949418]},n4012:{id:"n4012",loc:[-85.618478,41.949491]},n4013:{id:"n4013",loc:[-85.618535,41.949559]},n4014:{id:"n4014",loc:[-85.618623,41.94962]},n4015:{id:"n4015",loc:[-85.618721,41.94966]},n4016:{id:"n4016",loc:[-85.618838,41.949674]},n4017:{id:"n4017",loc:[-85.618967,41.949667]},n4018:{id:"n4018",loc:[-85.619065,41.949632]},n4019:{id:"n4019",loc:[-85.61915,41.949578]},n402:{id:"n402",loc:[-85.63327,41.944006]},n4020:{id:"n4020",loc:[-85.619216,41.949507]},n4021:{id:"n4021",loc:[-85.61927,41.949399]},n4022:{id:"n4022",loc:[-85.619074,41.947639]},n4023:{id:"n4023",loc:[-85.619073,41.947793]},n4024:{id:"n4024",loc:[-85.618912,41.947793]},n4025:{id:"n4025",loc:[-85.618911,41.947947]},n4026:{id:"n4026",loc:[-85.618752,41.947947]},n4027:{id:"n4027",loc:[-85.618754,41.947637]},n4028:{id:"n4028",loc:[-85.617896,41.947599]},n4029:{id:"n4029",loc:[-85.617898,41.947811]},n403:{id:"n403",loc:[-85.633278,41.944002]},n4030:{id:"n4030",loc:[-85.617717,41.947812]},n4031:{id:"n4031",loc:[-85.617715,41.9476]},n4032:{id:"n4032",loc:[-85.619003,41.949828]},n4033:{id:"n4033",loc:[-85.619003,41.949882]},n4034:{id:"n4034",loc:[-85.618926,41.949882]},n4035:{id:"n4035",loc:[-85.618926,41.949828]},n4036:{id:"n4036",loc:[-85.618861,41.949809]},n4037:{id:"n4037",loc:[-85.618861,41.949898]},n4038:{id:"n4038",loc:[-85.618688,41.949898]},n4039:{id:"n4039",loc:[-85.618687,41.94981]},n404:{id:"n404",loc:[-85.63331,41.944036]},n4040:{id:"n4040",loc:[-85.618349,41.949473]},n4041:{id:"n4041",loc:[-85.618287,41.949473]},n4042:{id:"n4042",loc:[-85.618287,41.94942]},n4043:{id:"n4043",loc:[-85.618348,41.949419]},n4044:{id:"n4044",loc:[-85.62316,41.951604]},n4045:{id:"n4045",loc:[-85.623026,41.951605]},n4046:{id:"n4046",loc:[-85.623023,41.951466]},n4047:{id:"n4047",loc:[-85.623134,41.951465]},n4048:{id:"n4048",loc:[-85.623136,41.951539]},n4049:{id:"n4049",loc:[-85.623159,41.951539]},n405:{id:"n405",loc:[-85.633348,41.944015]},n4050:{id:"n4050",loc:[-85.623025,41.95155]},n4051:{id:"n4051",loc:[-85.622955,41.951551]},n4052:{id:"n4052",loc:[-85.622953,41.951507]},n4053:{id:"n4053",loc:[-85.623024,41.951506]},n4054:{id:"n4054",loc:[-85.623318,41.951242]},n4055:{id:"n4055",loc:[-85.623175,41.951241]},n4056:{id:"n4056",loc:[-85.623176,41.951153]},n4057:{id:"n4057",loc:[-85.623319,41.951154]},n4058:{id:"n4058",loc:[-85.623077,41.951191]},n4059:{id:"n4059",loc:[-85.622973,41.951191]},n406:{id:"n406",loc:[-85.63338,41.944048]},n4060:{id:"n4060",loc:[-85.622972,41.951349]},n4061:{id:"n4061",loc:[-85.623059,41.95135]},n4062:{id:"n4062",loc:[-85.62306,41.951301]},n4063:{id:"n4063",loc:[-85.623077,41.951301]},n4064:{id:"n4064",loc:[-85.623117,41.951405]},n4065:{id:"n4065",loc:[-85.62312,41.951087]},n4066:{id:"n4066",loc:[-85.623118,41.951274]},n4067:{id:"n4067",loc:[-85.62328,41.951275]},n4068:{id:"n4068",loc:[-85.62328,41.951242]},n4069:{id:"n4069",loc:[-85.623179,41.951392]},n407:{id:"n407",loc:[-85.633431,41.94402]},n4070:{id:"n4070",loc:[-85.623141,41.951392]},n4071:{id:"n4071",loc:[-85.623142,41.95136]},n4072:{id:"n4072",loc:[-85.623179,41.951361]},n4073:{id:"n4073",loc:[-85.622565,41.951639]},n4074:{id:"n4074",loc:[-85.622565,41.951741]},n4075:{id:"n4075",loc:[-85.622463,41.95174]},n4076:{id:"n4076",loc:[-85.622463,41.95173]},n4077:{id:"n4077",loc:[-85.622442,41.95173]},n4078:{id:"n4078",loc:[-85.622442,41.951742]},n4079:{id:"n4079",loc:[-85.622361,41.951742]},n408:{id:"n408",loc:[-85.633425,41.944014]},n4080:{id:"n4080",loc:[-85.622362,41.951667]},n4081:{id:"n4081",loc:[-85.622441,41.951667]},n4082:{id:"n4082",loc:[-85.622441,41.951688]},n4083:{id:"n4083",loc:[-85.622461,41.951688]},n4084:{id:"n4084",loc:[-85.622461,41.951638]},n4085:{id:"n4085",loc:[-85.62255,41.951587]},n4086:{id:"n4086",loc:[-85.622449,41.95159]},n4087:{id:"n4087",loc:[-85.622441,41.951448]},n4088:{id:"n4088",loc:[-85.62253,41.951445]},n4089:{id:"n4089",loc:[-85.622532,41.951486]},n409:{id:"n409",loc:[-85.633457,41.943997]},n4090:{id:"n4090",loc:[-85.622555,41.951485]},n4091:{id:"n4091",loc:[-85.622558,41.951531]},n4092:{id:"n4092",loc:[-85.622547,41.951531]},n4093:{id:"n4093",loc:[-85.622451,41.95159]},n4094:{id:"n4094",loc:[-85.622452,41.95161]},n4095:{id:"n4095",loc:[-85.622106,41.951617]},n4096:{id:"n4096",loc:[-85.622133,41.951443]},n4097:{id:"n4097",loc:[-85.622552,41.951379]},n4098:{id:"n4098",loc:[-85.622443,41.95138]},n4099:{id:"n4099",loc:[-85.622441,41.951281]},n41:{id:"n41",loc:[-85.636233,41.942764]},n410:{id:"n410",loc:[-85.633429,41.943969]},n4100:{id:"n4100",loc:[-85.62255,41.95128]},n4101:{id:"n4101",loc:[-85.622541,41.951437]},n4102:{id:"n4102",loc:[-85.622441,41.951438]},n4103:{id:"n4103",loc:[-85.621561,41.951444]},n4104:{id:"n4104",loc:[-85.622302,41.951479]},n4105:{id:"n4105",loc:[-85.6223,41.95152]},n4106:{id:"n4106",loc:[-85.622169,41.951517]},n4107:{id:"n4107",loc:[-85.622171,41.951476]},n4108:{id:"n4108",loc:[-85.622543,41.951228]},n4109:{id:"n4109",loc:[-85.622433,41.951228]},n411:{id:"n411",loc:[-85.633442,41.943962]},n4110:{id:"n4110",loc:[-85.622433,41.951133]},n4111:{id:"n4111",loc:[-85.622543,41.951133]},n4112:{id:"n4112",loc:[-85.622356,41.951256]},n4113:{id:"n4113",loc:[-85.622293,41.951256]},n4114:{id:"n4114",loc:[-85.622292,41.9512]},n4115:{id:"n4115",loc:[-85.622313,41.9512]},n4116:{id:"n4116",loc:[-85.622312,41.951173]},n4117:{id:"n4117",loc:[-85.622364,41.951173]},n4118:{id:"n4118",loc:[-85.622365,41.951231]},n4119:{id:"n4119",loc:[-85.622355,41.951231]},n412:{id:"n412",loc:[-85.633411,41.943932]},n4120:{id:"n4120",loc:[-85.62197,41.951155]},n4121:{id:"n4121",loc:[-85.62197,41.951213]},n4122:{id:"n4122",loc:[-85.621848,41.951213]},n4123:{id:"n4123",loc:[-85.621848,41.951155]},n4124:{id:"n4124",loc:[-85.622193,41.951268]},n4125:{id:"n4125",loc:[-85.622194,41.951305]},n4126:{id:"n4126",loc:[-85.622121,41.951306]},n4127:{id:"n4127",loc:[-85.622121,41.951322]},n4128:{id:"n4128",loc:[-85.621984,41.951324]},n4129:{id:"n4129",loc:[-85.621983,41.951271]},n413:{id:"n413",loc:[-85.633421,41.943926]},n4130:{id:"n4130",loc:[-85.622171,41.9514]},n4131:{id:"n4131",loc:[-85.622148,41.951382]},n4132:{id:"n4132",loc:[-85.6221,41.951414]},n4133:{id:"n4133",loc:[-85.622122,41.951433]},n4134:{id:"n4134",loc:[-85.621782,41.951148]},n4135:{id:"n4135",loc:[-85.621783,41.951219]},n4136:{id:"n4136",loc:[-85.62164,41.951221]},n4137:{id:"n4137",loc:[-85.62164,41.951236]},n4138:{id:"n4138",loc:[-85.621556,41.951237]},n4139:{id:"n4139",loc:[-85.621555,41.95117]},n414:{id:"n414",loc:[-85.633376,41.94388]},n4140:{id:"n4140",loc:[-85.621644,41.951169]},n4141:{id:"n4141",loc:[-85.621643,41.951139]},n4142:{id:"n4142",loc:[-85.621719,41.951138]},n4143:{id:"n4143",loc:[-85.621719,41.951148]},n4144:{id:"n4144",loc:[-85.621409,41.951322]},n4145:{id:"n4145",loc:[-85.621338,41.951322]},n4146:{id:"n4146",loc:[-85.621336,41.95115]},n4147:{id:"n4147",loc:[-85.621521,41.951149]},n4148:{id:"n4148",loc:[-85.621522,41.951228]},n4149:{id:"n4149",loc:[-85.621408,41.951228]},n415:{id:"n415",loc:[-85.633348,41.943895]},n4150:{id:"n4150",loc:[-85.621284,41.951219]},n4151:{id:"n4151",loc:[-85.621153,41.951219]},n4152:{id:"n4152",loc:[-85.621152,41.951152]},n4153:{id:"n4153",loc:[-85.621283,41.951152]},n4154:{id:"n4154",loc:[-85.621159,41.951241]},n4155:{id:"n4155",loc:[-85.62116,41.951301]},n4156:{id:"n4156",loc:[-85.621088,41.951302]},n4157:{id:"n4157",loc:[-85.621088,41.951241]},n4158:{id:"n4158",loc:[-85.621049,41.951158]},n4159:{id:"n4159",loc:[-85.62105,41.951229]},n416:{id:"n416",loc:[-85.633341,41.943888]},n4160:{id:"n4160",loc:[-85.620976,41.951229]},n4161:{id:"n4161",loc:[-85.620977,41.951295]},n4162:{id:"n4162",loc:[-85.620887,41.951296]},n4163:{id:"n4163",loc:[-85.620886,41.951229]},n4164:{id:"n4164",loc:[-85.620862,41.951229]},n4165:{id:"n4165",loc:[-85.620861,41.951159]},n4166:{id:"n4166",loc:[-85.620626,41.951133]},n4167:{id:"n4167",loc:[-85.620626,41.951205]},n4168:{id:"n4168",loc:[-85.620412,41.951206]},n4169:{id:"n4169",loc:[-85.620411,41.951134]},n417:{id:"n417",loc:[-85.633321,41.943898]},n4170:{id:"n4170",loc:[-85.621775,41.951443]},n4171:{id:"n4171",loc:[-85.621777,41.951264]},n4172:{id:"n4172",loc:[-85.621565,41.951654]},n4173:{id:"n4173",loc:[-85.621331,41.951439]},n4174:{id:"n4174",loc:[-85.621031,41.951443]},n4175:{id:"n4175",loc:[-85.621836,41.951724]},n4176:{id:"n4176",loc:[-85.621834,41.951621]},n4177:{id:"n4177",loc:[-85.62197,41.951619]},n4178:{id:"n4178",loc:[-85.621972,41.951722]},n4179:{id:"n4179",loc:[-85.621772,41.951638]},n418:{id:"n418",loc:[-85.633547,41.943896]},n4180:{id:"n4180",loc:[-85.621772,41.951715]},n4181:{id:"n4181",loc:[-85.621699,41.951716]},n4182:{id:"n4182",loc:[-85.6217,41.951722]},n4183:{id:"n4183",loc:[-85.621641,41.951722]},n4184:{id:"n4184",loc:[-85.62164,41.951639]},n4185:{id:"n4185",loc:[-85.621505,41.951655]},n4186:{id:"n4186",loc:[-85.621505,41.951729]},n4187:{id:"n4187",loc:[-85.621389,41.951729]},n4188:{id:"n4188",loc:[-85.62139,41.951654]},n4189:{id:"n4189",loc:[-85.621105,41.951635]},n419:{id:"n419",loc:[-85.633467,41.944075]},n4190:{id:"n4190",loc:[-85.621104,41.951576]},n4191:{id:"n4191",loc:[-85.621168,41.951576]},n4192:{id:"n4192",loc:[-85.621168,41.951595]},n4193:{id:"n4193",loc:[-85.621261,41.951595]},n4194:{id:"n4194",loc:[-85.621261,41.951646]},n4195:{id:"n4195",loc:[-85.621294,41.951646]},n4196:{id:"n4196",loc:[-85.621294,41.951732]},n4197:{id:"n4197",loc:[-85.621251,41.951732]},n4198:{id:"n4198",loc:[-85.621251,41.95174]},n4199:{id:"n4199",loc:[-85.621175,41.951741]},n42:{id:"n42",loc:[-85.635996,41.942727]},n420:{id:"n420",loc:[-85.633578,41.944055]},n4200:{id:"n4200",loc:[-85.621175,41.951651]},n4201:{id:"n4201",loc:[-85.621189,41.951651]},n4202:{id:"n4202",loc:[-85.621189,41.951635]},n4203:{id:"n4203",loc:[-85.620554,41.951641]},n4204:{id:"n4204",loc:[-85.620555,41.951742]},n4205:{id:"n4205",loc:[-85.620719,41.951742]},n4206:{id:"n4206",loc:[-85.620719,41.951731]},n4207:{id:"n4207",loc:[-85.620803,41.95173]},n4208:{id:"n4208",loc:[-85.620803,41.951603]},n4209:{id:"n4209",loc:[-85.62072,41.951603]},n421:{id:"n421",loc:[-85.633462,41.944125]},n4210:{id:"n4210",loc:[-85.620721,41.951641]},n4211:{id:"n4211",loc:[-85.620269,41.953053]},n4212:{id:"n4212",loc:[-85.620229,41.953051]},n4213:{id:"n4213",loc:[-85.620231,41.953013]},n4214:{id:"n4214",loc:[-85.620271,41.953015]},n4215:{id:"n4215",loc:[-85.620215,41.953133]},n4216:{id:"n4216",loc:[-85.62013,41.953134]},n4217:{id:"n4217",loc:[-85.620129,41.953083]},n4218:{id:"n4218",loc:[-85.620214,41.953082]},n4219:{id:"n4219",loc:[-85.62016,41.953272]},n422:{id:"n422",loc:[-85.633372,41.944061]},n4220:{id:"n4220",loc:[-85.620046,41.953273]},n4221:{id:"n4221",loc:[-85.620045,41.953171]},n4222:{id:"n4222",loc:[-85.620088,41.953171]},n4223:{id:"n4223",loc:[-85.620087,41.953162]},n4224:{id:"n4224",loc:[-85.620121,41.953162]},n4225:{id:"n4225",loc:[-85.620121,41.953173]},n4226:{id:"n4226",loc:[-85.620157,41.953173]},n4227:{id:"n4227",loc:[-85.620158,41.953196]},n4228:{id:"n4228",loc:[-85.620189,41.953196]},n4229:{id:"n4229",loc:[-85.620189,41.953246]},n423:{id:"n423",loc:[-85.633509,41.943981]},n4230:{id:"n4230",loc:[-85.62016,41.953246]},n4231:{id:"n4231",loc:[-85.6195,41.954012]},n4232:{id:"n4232",loc:[-85.619438,41.954057]},n4233:{id:"n4233",loc:[-85.619418,41.954043]},n4234:{id:"n4234",loc:[-85.619381,41.954069]},n4235:{id:"n4235",loc:[-85.619399,41.954083]},n4236:{id:"n4236",loc:[-85.619339,41.954126]},n4237:{id:"n4237",loc:[-85.619584,41.954313]},n4238:{id:"n4238",loc:[-85.619743,41.954198]},n4239:{id:"n4239",loc:[-85.619453,41.954727]},n424:{id:"n424",loc:[-85.635421,41.945367]},n4240:{id:"n4240",loc:[-85.619503,41.954581]},n4241:{id:"n4241",loc:[-85.619597,41.954472]},n4242:{id:"n4242",loc:[-85.619862,41.95419]},n4243:{id:"n4243",loc:[-85.619506,41.953907]},n4244:{id:"n4244",loc:[-85.619261,41.9541]},n4245:{id:"n4245",loc:[-85.619246,41.954139]},n4246:{id:"n4246",loc:[-85.619244,41.9542]},n4247:{id:"n4247",loc:[-85.619259,41.954243]},n4248:{id:"n4248",loc:[-85.619285,41.954274]},n4249:{id:"n4249",loc:[-85.619123,41.954381]},n425:{id:"n425",loc:[-85.634425,41.943552]},n4250:{id:"n4250",loc:[-85.619641,41.954607]},n4251:{id:"n4251",loc:[-85.619383,41.954615]},n4252:{id:"n4252",loc:[-85.61896,41.954391]},n4253:{id:"n4253",loc:[-85.619211,41.954178]},n4254:{id:"n4254",loc:[-85.619115,41.954102]},n4255:{id:"n4255",loc:[-85.619519,41.953821]},n4256:{id:"n4256",loc:[-85.619956,41.954156]},n4257:{id:"n4257",loc:[-85.619851,41.954266]},n4258:{id:"n4258",loc:[-85.619779,41.95436]},n4259:{id:"n4259",loc:[-85.620525,41.954364]},n426:{id:"n426",loc:[-85.634248,41.943654]},n4260:{id:"n4260",loc:[-85.620398,41.954365]},n4261:{id:"n4261",loc:[-85.620398,41.954324]},n4262:{id:"n4262",loc:[-85.620525,41.954323]},n4263:{id:"n4263",loc:[-85.620359,41.954588]},n4264:{id:"n4264",loc:[-85.620321,41.954588]},n4265:{id:"n4265",loc:[-85.620321,41.954599]},n4266:{id:"n4266",loc:[-85.620296,41.954599]},n4267:{id:"n4267",loc:[-85.620296,41.954587]},n4268:{id:"n4268",loc:[-85.620262,41.954588]},n4269:{id:"n4269",loc:[-85.620261,41.954516]},n427:{id:"n427",loc:[-85.634177,41.943585]},n4270:{id:"n4270",loc:[-85.620282,41.954516]},n4271:{id:"n4271",loc:[-85.620282,41.954373]},n4272:{id:"n4272",loc:[-85.620378,41.954373]},n4273:{id:"n4273",loc:[-85.620379,41.954486]},n4274:{id:"n4274",loc:[-85.620348,41.954486]},n4275:{id:"n4275",loc:[-85.620348,41.954537]},n4276:{id:"n4276",loc:[-85.620359,41.954537]},n4277:{id:"n4277",loc:[-85.620463,41.95521]},n4278:{id:"n4278",loc:[-85.620409,41.955273]},n4279:{id:"n4279",loc:[-85.620205,41.955177]},n428:{id:"n428",loc:[-85.634354,41.943484]},n4280:{id:"n4280",loc:[-85.620288,41.955079]},n4281:{id:"n4281",loc:[-85.620379,41.955121]},n4282:{id:"n4282",loc:[-85.620349,41.955157]},n4283:{id:"n4283",loc:[-85.620083,41.955101]},n4284:{id:"n4284",loc:[-85.620083,41.954986]},n4285:{id:"n4285",loc:[-85.620016,41.954986]},n4286:{id:"n4286",loc:[-85.620016,41.954999]},n4287:{id:"n4287",loc:[-85.619941,41.954999]},n4288:{id:"n4288",loc:[-85.619941,41.954988]},n4289:{id:"n4289",loc:[-85.619815,41.954988]},n429:{id:"n429",loc:[-85.638577,41.943212]},n4290:{id:"n4290",loc:[-85.619815,41.955075]},n4291:{id:"n4291",loc:[-85.619948,41.955075]},n4292:{id:"n4292",loc:[-85.619948,41.955082]},n4293:{id:"n4293",loc:[-85.620004,41.955082]},n4294:{id:"n4294",loc:[-85.620004,41.955101]},n4295:{id:"n4295",loc:[-85.619293,41.955127]},n4296:{id:"n4296",loc:[-85.619208,41.955124]},n4297:{id:"n4297",loc:[-85.619212,41.955061]},n4298:{id:"n4298",loc:[-85.619297,41.955064]},n4299:{id:"n4299",loc:[-85.619068,41.954936]},n43:{id:"n43",loc:[-85.637047,41.943054]},n430:{id:"n430",loc:[-85.638576,41.943219]},n4300:{id:"n4300",loc:[-85.619003,41.954936]},n4301:{id:"n4301",loc:[-85.619004,41.955003]},n4302:{id:"n4302",loc:[-85.618994,41.955003]},n4303:{id:"n4303",loc:[-85.618994,41.955016]},n4304:{id:"n4304",loc:[-85.618973,41.955016]},n4305:{id:"n4305",loc:[-85.618973,41.955071]},n4306:{id:"n4306",loc:[-85.619061,41.955071]},n4307:{id:"n4307",loc:[-85.61906,41.955024]},n4308:{id:"n4308",loc:[-85.619105,41.955024]},n4309:{id:"n4309",loc:[-85.619105,41.954956]},n431:{id:"n431",loc:[-85.638653,41.943078]},n4310:{id:"n4310",loc:[-85.619068,41.954956]},n4311:{id:"n4311",loc:[-85.618294,41.954596]},n4312:{id:"n4312",loc:[-85.618235,41.954602]},n4313:{id:"n4313",loc:[-85.618222,41.954535]},n4314:{id:"n4314",loc:[-85.618281,41.954529]},n4315:{id:"n4315",loc:[-85.618593,41.954556]},n4316:{id:"n4316",loc:[-85.618551,41.954565]},n4317:{id:"n4317",loc:[-85.618545,41.954552]},n4318:{id:"n4318",loc:[-85.618493,41.954563]},n4319:{id:"n4319",loc:[-85.618449,41.954455]},n432:{id:"n432",loc:[-85.638654,41.943148]},n4320:{id:"n4320",loc:[-85.618544,41.954434]},n4321:{id:"n4321",loc:[-85.622545,41.950775]},n4322:{id:"n4322",loc:[-85.622546,41.950843]},n4323:{id:"n4323",loc:[-85.622503,41.950844]},n4324:{id:"n4324",loc:[-85.622503,41.950853]},n4325:{id:"n4325",loc:[-85.622479,41.950853]},n4326:{id:"n4326",loc:[-85.622478,41.950843]},n4327:{id:"n4327",loc:[-85.622425,41.950843]},n4328:{id:"n4328",loc:[-85.622425,41.950808]},n4329:{id:"n4329",loc:[-85.622366,41.950809]},n433:{id:"n433",loc:[-85.638387,41.943151]},n4330:{id:"n4330",loc:[-85.622364,41.950673]},n4331:{id:"n4331",loc:[-85.622448,41.950673]},n4332:{id:"n4332",loc:[-85.622449,41.950732]},n4333:{id:"n4333",loc:[-85.622479,41.950731]},n4334:{id:"n4334",loc:[-85.622479,41.950775]},n4335:{id:"n4335",loc:[-85.621909,41.950641]},n4336:{id:"n4336",loc:[-85.621864,41.950641]},n4337:{id:"n4337",loc:[-85.621865,41.950567]},n4338:{id:"n4338",loc:[-85.62191,41.950567]},n4339:{id:"n4339",loc:[-85.621787,41.950829]},n434:{id:"n434",loc:[-85.638386,41.94308]},n4340:{id:"n4340",loc:[-85.621786,41.950775]},n4341:{id:"n4341",loc:[-85.621588,41.950776]},n4342:{id:"n4342",loc:[-85.621589,41.950848]},n4343:{id:"n4343",loc:[-85.621737,41.950847]},n4344:{id:"n4344",loc:[-85.621737,41.950829]},n4345:{id:"n4345",loc:[-85.621509,41.950846]},n4346:{id:"n4346",loc:[-85.621399,41.950846]},n4347:{id:"n4347",loc:[-85.621398,41.95073]},n4348:{id:"n4348",loc:[-85.621509,41.95073]},n4349:{id:"n4349",loc:[-85.621217,41.950841]},n435:{id:"n435",loc:[-85.634427,41.943533]},n4350:{id:"n4350",loc:[-85.6211,41.95084]},n4351:{id:"n4351",loc:[-85.6211,41.950777]},n4352:{id:"n4352",loc:[-85.621218,41.950778]},n4353:{id:"n4353",loc:[-85.621055,41.950764]},n4354:{id:"n4354",loc:[-85.621054,41.950826]},n4355:{id:"n4355",loc:[-85.620988,41.950826]},n4356:{id:"n4356",loc:[-85.620988,41.950843]},n4357:{id:"n4357",loc:[-85.620842,41.950843]},n4358:{id:"n4358",loc:[-85.620842,41.950764]},n4359:{id:"n4359",loc:[-85.620825,41.950922]},n436:{id:"n436",loc:[-85.63428,41.943229]},n4360:{id:"n4360",loc:[-85.620824,41.950553]},n4361:{id:"n4361",loc:[-85.620543,41.950771]},n4362:{id:"n4362",loc:[-85.620431,41.950772]},n4363:{id:"n4363",loc:[-85.62043,41.950585]},n4364:{id:"n4364",loc:[-85.620542,41.950585]},n4365:{id:"n4365",loc:[-85.62068,41.950505]},n4366:{id:"n4366",loc:[-85.620681,41.950552]},n4367:{id:"n4367",loc:[-85.620589,41.950553]},n4368:{id:"n4368",loc:[-85.620588,41.950506]},n4369:{id:"n4369",loc:[-85.620539,41.950407]},n437:{id:"n437",loc:[-85.634499,41.943461]},n4370:{id:"n4370",loc:[-85.62054,41.950504]},n4371:{id:"n4371",loc:[-85.620416,41.950504]},n4372:{id:"n4372",loc:[-85.620416,41.950408]},n4373:{id:"n4373",loc:[-85.620742,41.95038]},n4374:{id:"n4374",loc:[-85.620527,41.95038]},n4375:{id:"n4375",loc:[-85.620528,41.950408]},n4376:{id:"n4376",loc:[-85.622449,41.950373]},n4377:{id:"n4377",loc:[-85.622452,41.950397]},n4378:{id:"n4378",loc:[-85.622336,41.950404]},n4379:{id:"n4379",loc:[-85.622333,41.950379]},n438:{id:"n438",loc:[-85.634514,41.943486]},n4380:{id:"n4380",loc:[-85.622263,41.950324]},n4381:{id:"n4381",loc:[-85.622261,41.950256]},n4382:{id:"n4382",loc:[-85.62236,41.950254]},n4383:{id:"n4383",loc:[-85.62236,41.95027]},n4384:{id:"n4384",loc:[-85.622402,41.950281]},n4385:{id:"n4385",loc:[-85.622403,41.9503]},n4386:{id:"n4386",loc:[-85.622439,41.950299]},n4387:{id:"n4387",loc:[-85.62244,41.950334]},n4388:{id:"n4388",loc:[-85.622414,41.950335]},n4389:{id:"n4389",loc:[-85.622414,41.95036]},n439:{id:"n439",loc:[-85.63452,41.943511]},n4390:{id:"n4390",loc:[-85.62231,41.950362]},n4391:{id:"n4391",loc:[-85.622309,41.950323]},n4392:{id:"n4392",loc:[-85.622015,41.950539]},n4393:{id:"n4393",loc:[-85.621909,41.95054]},n4394:{id:"n4394",loc:[-85.621909,41.950472]},n4395:{id:"n4395",loc:[-85.622015,41.950471]},n4396:{id:"n4396",loc:[-85.62199,41.950439]},n4397:{id:"n4397",loc:[-85.621956,41.95044]},n4398:{id:"n4398",loc:[-85.621955,41.950405]},n4399:{id:"n4399",loc:[-85.621988,41.950404]},n44:{id:"n44",loc:[-85.636799,41.943055]},n440:{id:"n440",loc:[-85.63451,41.943534]},n4400:{id:"n4400",loc:[-85.621668,41.950418]},n4401:{id:"n4401",loc:[-85.621667,41.950343]},n4402:{id:"n4402",loc:[-85.621745,41.950342]},n4403:{id:"n4403",loc:[-85.621744,41.950306]},n4404:{id:"n4404",loc:[-85.621764,41.950306]},n4405:{id:"n4405",loc:[-85.621763,41.950254]},n4406:{id:"n4406",loc:[-85.621861,41.950253]},n4407:{id:"n4407",loc:[-85.621861,41.950274]},n4408:{id:"n4408",loc:[-85.621896,41.950273]},n4409:{id:"n4409",loc:[-85.621898,41.950389]},n441:{id:"n441",loc:[-85.634483,41.943556]},n4410:{id:"n4410",loc:[-85.621843,41.95039]},n4411:{id:"n4411",loc:[-85.621843,41.950425]},n4412:{id:"n4412",loc:[-85.621789,41.950425]},n4413:{id:"n4413",loc:[-85.621789,41.950386]},n4414:{id:"n4414",loc:[-85.621752,41.950387]},n4415:{id:"n4415",loc:[-85.621753,41.950417]},n4416:{id:"n4416",loc:[-85.621556,41.950562]},n4417:{id:"n4417",loc:[-85.621552,41.950217]},n4418:{id:"n4418",loc:[-85.621788,41.950562]},n4419:{id:"n4419",loc:[-85.621155,41.950562]},n442:{id:"n442",loc:[-85.63419,41.943713]},n4420:{id:"n4420",loc:[-85.622473,41.950551]},n4421:{id:"n4421",loc:[-85.622043,41.950551]},n4422:{id:"n4422",loc:[-85.62142,41.950454]},n4423:{id:"n4423",loc:[-85.621315,41.950455]},n4424:{id:"n4424",loc:[-85.621313,41.950311]},n4425:{id:"n4425",loc:[-85.621388,41.950311]},n4426:{id:"n4426",loc:[-85.621387,41.950261]},n4427:{id:"n4427",loc:[-85.621468,41.95026]},n4428:{id:"n4428",loc:[-85.621468,41.950271]},n4429:{id:"n4429",loc:[-85.621503,41.95027]},n443:{id:"n443",loc:[-85.634462,41.943294]},n4430:{id:"n4430",loc:[-85.621505,41.950353]},n4431:{id:"n4431",loc:[-85.621483,41.950354]},n4432:{id:"n4432",loc:[-85.621483,41.950392]},n4433:{id:"n4433",loc:[-85.621419,41.950393]},n4434:{id:"n4434",loc:[-85.621213,41.95039]},n4435:{id:"n4435",loc:[-85.621127,41.950391]},n4436:{id:"n4436",loc:[-85.621126,41.950357]},n4437:{id:"n4437",loc:[-85.621094,41.950357]},n4438:{id:"n4438",loc:[-85.621094,41.950391]},n4439:{id:"n4439",loc:[-85.620977,41.950392]},n444:{id:"n444",loc:[-85.634298,41.943389]},n4440:{id:"n4440",loc:[-85.620975,41.950278]},n4441:{id:"n4441",loc:[-85.621087,41.950277]},n4442:{id:"n4442",loc:[-85.621088,41.950331]},n4443:{id:"n4443",loc:[-85.621211,41.950312]},n4444:{id:"n4444",loc:[-85.621104,41.950313]},n4445:{id:"n4445",loc:[-85.621105,41.950331]},n4446:{id:"n4446",loc:[-85.620706,41.950328]},n4447:{id:"n4447",loc:[-85.620606,41.950327]},n4448:{id:"n4448",loc:[-85.620607,41.950261]},n4449:{id:"n4449",loc:[-85.620707,41.950262]},n445:{id:"n445",loc:[-85.634527,41.943623]},n4450:{id:"n4450",loc:[-85.620599,41.950336]},n4451:{id:"n4451",loc:[-85.620559,41.950336]},n4452:{id:"n4452",loc:[-85.620559,41.950299]},n4453:{id:"n4453",loc:[-85.620599,41.950299]},n4454:{id:"n4454",loc:[-85.620545,41.950357]},n4455:{id:"n4455",loc:[-85.620418,41.950357]},n4456:{id:"n4456",loc:[-85.620417,41.950257]},n4457:{id:"n4457",loc:[-85.620544,41.950256]},n4458:{id:"n4458",loc:[-85.620246,41.950131],tags:{highway:"crossing"}},n4459:{id:"n4459",loc:[-85.620252,41.950956]},n446:{id:"n446",loc:[-85.634608,41.943577]},n4460:{id:"n4460",loc:[-85.620245,41.950179]},n4461:{id:"n4461",loc:[-85.620246,41.950088]},n4462:{id:"n4462",loc:[-85.620251,41.950885]},n4463:{id:"n4463",loc:[-85.620103,41.950884],tags:{crossing:"marked",highway:"crossing"}},n4464:{id:"n4464",loc:[-85.619992,41.950884]},n4465:{id:"n4465",loc:[-85.619704,41.951008]},n4466:{id:"n4466",loc:[-85.619599,41.951122]},n4467:{id:"n4467",loc:[-85.619264,41.951486]},n4468:{id:"n4468",loc:[-85.619179,41.951573],tags:{highway:"crossing"}},n4469:{id:"n4469",loc:[-85.620251,41.950999],tags:{highway:"crossing"}},n447:{id:"n447",loc:[-85.634555,41.943531]},n4470:{id:"n4470",loc:[-85.620249,41.951066]},n4471:{id:"n4471",loc:[-85.620256,41.951374]},n4472:{id:"n4472",loc:[-85.620249,41.951389]},n4473:{id:"n4473",loc:[-85.620249,41.951407]},n4474:{id:"n4474",loc:[-85.620255,41.951423]},n4475:{id:"n4475",loc:[-85.62026,41.951853]},n4476:{id:"n4476",loc:[-85.620262,41.951894],tags:{highway:"crossing"}},n4477:{id:"n4477",loc:[-85.620265,41.951957]},n4478:{id:"n4478",loc:[-85.620262,41.952135]},n4479:{id:"n4479",loc:[-85.620241,41.952424]},n448:{id:"n448",loc:[-85.634555,41.943482]},n4480:{id:"n4480",loc:[-85.620213,41.952583]},n4481:{id:"n4481",loc:[-85.620158,41.952754]},n4482:{id:"n4482",loc:[-85.620065,41.952942]},n4483:{id:"n4483",loc:[-85.619753,41.953439]},n4484:{id:"n4484",loc:[-85.619605,41.953626]},n4485:{id:"n4485",loc:[-85.619381,41.953834]},n4486:{id:"n4486",loc:[-85.619069,41.954066]},n4487:{id:"n4487",loc:[-85.618674,41.95429]},n4488:{id:"n4488",loc:[-85.621816,41.952389]},n4489:{id:"n4489",loc:[-85.6217,41.952386]},n449:{id:"n449",loc:[-85.634509,41.943427]},n4490:{id:"n4490",loc:[-85.621705,41.952306]},n4491:{id:"n4491",loc:[-85.621821,41.95231]},n4492:{id:"n4492",loc:[-85.621819,41.952272]},n4493:{id:"n4493",loc:[-85.621778,41.952272]},n4494:{id:"n4494",loc:[-85.621778,41.952199]},n4495:{id:"n4495",loc:[-85.621818,41.952199]},n4496:{id:"n4496",loc:[-85.621754,41.952281]},n4497:{id:"n4497",loc:[-85.621701,41.95228]},n4498:{id:"n4498",loc:[-85.621702,41.952197]},n4499:{id:"n4499",loc:[-85.621755,41.952197]},n45:{id:"n45",loc:[-85.636791,41.942792]},n450:{id:"n450",loc:[-85.63453,41.943365]},n4500:{id:"n4500",loc:[-85.628201,41.954694],tags:{highway:"stop",stop:"all",direction:"forward"}},n4501:{id:"n4501",loc:[-85.627921,41.954783],tags:{highway:"stop",stop:"all",direction:"backward"}},n4502:{id:"n4502",loc:[-85.62775,41.954696],tags:{highway:"stop",stop:"all",direction:"backward"}},n4503:{id:"n4503",loc:[-85.628046,41.954591],tags:{highway:"stop",stop:"all",direction:"forward"}},n4504:{id:"n4504",loc:[-85.631074,41.957428],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4505:{id:"n4505",loc:[-85.630768,41.957429],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4506:{id:"n4506",loc:[-85.629888,41.957432],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4507:{id:"n4507",loc:[-85.629565,41.957433],tags:{highway:"stop",stop:"minor",direction:"forward"}},n4508:{id:"n4508",loc:[-85.629559,41.957343]},n4509:{id:"n4509",loc:[-85.628723,41.95735]},n451:{id:"n451",loc:[-85.634356,41.943468]},n4510:{id:"n4510",loc:[-85.62842,41.957515]},n4511:{id:"n4511",loc:[-85.627561,41.957525]},n4512:{id:"n4512",loc:[-85.630323,41.957508]},n4513:{id:"n4513",loc:[-85.630811,41.957506]},n4514:{id:"n4514",loc:[-85.630839,41.960874]},n4515:{id:"n4515",loc:[-85.631035,41.957506]},n4516:{id:"n4516",loc:[-85.632027,41.9575]},n4517:{id:"n4517",loc:[-85.631038,41.958066]},n4518:{id:"n4518",loc:[-85.630787,41.954769]},n4519:{id:"n4519",loc:[-85.630806,41.957342]},n452:{id:"n452",loc:[-85.634123,41.943596]},n4520:{id:"n4520",loc:[-85.630809,41.957428],tags:{highway:"crossing"}},n4521:{id:"n4521",loc:[-85.630912,41.957506],tags:{highway:"crossing"}},n4522:{id:"n4522",loc:[-85.631033,41.957428],tags:{highway:"crossing"}},n4523:{id:"n4523",loc:[-85.631032,41.957341]},n4524:{id:"n4524",loc:[-85.63091,41.957341],tags:{highway:"crossing"}},n4525:{id:"n4525",loc:[-85.631027,41.95597]},n4526:{id:"n4526",loc:[-85.631027,41.955913],tags:{highway:"crossing"}},n4527:{id:"n4527",loc:[-85.631025,41.955873]},n4528:{id:"n4528",loc:[-85.631073,41.955913],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4529:{id:"n4529",loc:[-85.631007,41.954766]},n453:{id:"n453",loc:[-85.634709,41.943926]},n4530:{id:"n4530",loc:[-85.630881,41.954768],tags:{highway:"crossing"}},n4531:{id:"n4531",loc:[-85.628022,41.954776]},n4532:{id:"n4532",loc:[-85.627385,41.95584]},n4533:{id:"n4533",loc:[-85.627329,41.955937]},n4534:{id:"n4534",loc:[-85.626583,41.957153]},n4535:{id:"n4535",loc:[-85.629675,41.954564],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4536:{id:"n4536",loc:[-85.630881,41.954806],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4537:{id:"n4537",loc:[-85.630879,41.954564],tags:{highway:"stop",stop:"minor",direction:"forward"}},n4538:{id:"n4538",loc:[-85.630784,41.954682],tags:{highway:"crossing"}},n4539:{id:"n4539",loc:[-85.63078,41.954595]},n454:{id:"n454",loc:[-85.63525,41.943855]},n4540:{id:"n4540",loc:[-85.630879,41.954595],tags:{highway:"crossing"}},n4541:{id:"n4541",loc:[-85.631004,41.954594]},n4542:{id:"n4542",loc:[-85.631006,41.954681],tags:{highway:"crossing"}},n4543:{id:"n4543",loc:[-85.631045,41.959036],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4544:{id:"n4544",loc:[-85.632071,41.959029],tags:{highway:"stop",stop:"minor",direction:"forward"}},n4545:{id:"n4545",loc:[-85.632257,41.959027],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4546:{id:"n4546",loc:[-85.631966,41.957427],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4547:{id:"n4547",loc:[-85.632297,41.957426],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4548:{id:"n4548",loc:[-85.631976,41.955911],tags:{highway:"give_way",direction:"forward"}},n4549:{id:"n4549",loc:[-85.632272,41.955911],tags:{highway:"give_way",direction:"backward"}},n455:{id:"n455",loc:[-85.635224,41.943869]},n4550:{id:"n4550",loc:[-85.632097,41.954805],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4551:{id:"n4551",loc:[-85.632094,41.954566],tags:{highway:"stop",stop:"minor",direction:"forward"}},n4552:{id:"n4552",loc:[-85.626519,41.957256]},n4553:{id:"n4553",loc:[-85.625334,41.959165]},n4554:{id:"n4554",loc:[-85.626483,41.95806]},n4555:{id:"n4555",loc:[-85.626481,41.958175]},n4556:{id:"n4556",loc:[-85.626412,41.958174]},n4557:{id:"n4557",loc:[-85.626412,41.958202]},n4558:{id:"n4558",loc:[-85.62628,41.958201]},n4559:{id:"n4559",loc:[-85.626283,41.958057]},n456:{id:"n456",loc:[-85.638854,41.943104]},n4560:{id:"n4560",loc:[-85.622763,41.95109],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4561:{id:"n4561",loc:[-85.622858,41.950876],tags:{emergency:"fire_hydrant"}},n4562:{id:"n4562",loc:[-85.624073,41.950393]},n4563:{id:"n4563",loc:[-85.624077,41.950924]},n4564:{id:"n4564",loc:[-85.624599,41.950984],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4565:{id:"n4565",loc:[-85.624831,41.95119],tags:{emergency:"fire_hydrant"}},n4566:{id:"n4566",loc:[-85.624437,41.952568],tags:{emergency:"fire_hydrant"}},n4567:{id:"n4567",loc:[-85.624077,41.954606],tags:{emergency:"fire_hydrant"}},n4568:{id:"n4568",loc:[-85.624263,41.954888]},n4569:{id:"n4569",loc:[-85.624206,41.954919]},n457:{id:"n457",loc:[-85.635186,41.943901]},n4570:{id:"n4570",loc:[-85.624154,41.954865]},n4571:{id:"n4571",loc:[-85.624212,41.954835]},n4572:{id:"n4572",loc:[-85.622442,41.954401],tags:{emergency:"fire_hydrant"}},n4573:{id:"n4573",loc:[-85.619751,41.954658],tags:{emergency:"fire_hydrant"}},n4574:{id:"n4574",loc:[-85.617785,41.954534]},n4575:{id:"n4575",loc:[-85.617416,41.954721]},n4576:{id:"n4576",loc:[-85.617662,41.95474]},n4577:{id:"n4577",loc:[-85.618014,41.954717]},n4578:{id:"n4578",loc:[-85.617886,41.954671]},n4579:{id:"n4579",loc:[-85.617831,41.954612]},n458:{id:"n458",loc:[-85.635162,41.943917]},n4580:{id:"n4580",loc:[-85.617968,41.954752]},n4581:{id:"n4581",loc:[-85.617815,41.954752]},n4582:{id:"n4582",loc:[-85.617938,41.954695]},n4583:{id:"n4583",loc:[-85.617856,41.954642],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4584:{id:"n4584",loc:[-85.619116,41.954164],tags:{man_made:"flagpole"}},n4585:{id:"n4585",loc:[-85.619569,41.953255],tags:{emergency:"fire_hydrant"}},n4586:{id:"n4586",loc:[-85.620352,41.951894],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4587:{id:"n4587",loc:[-85.620485,41.951948],tags:{emergency:"fire_hydrant"}},n4588:{id:"n4588",loc:[-85.620316,41.950999],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4589:{id:"n4589",loc:[-85.620311,41.950131],tags:{highway:"stop",direction:"backward",stop:"minor"}},n459:{id:"n459",loc:[-85.634856,41.943905]},n4590:{id:"n4590",loc:[-85.620374,41.95018],tags:{emergency:"fire_hydrant"}},n4591:{id:"n4591",loc:[-85.620301,41.949239],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4592:{id:"n4592",loc:[-85.620278,41.947443],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4593:{id:"n4593",loc:[-85.619844,41.947444],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4594:{id:"n4594",loc:[-85.620191,41.947352],tags:{emergency:"fire_hydrant"}},n4595:{id:"n4595",loc:[-85.622819,41.947493],tags:{emergency:"fire_hydrant"}},n4596:{id:"n4596",loc:[-85.622744,41.947541],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4597:{id:"n4597",loc:[-85.622739,41.947316],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4598:{id:"n4598",loc:[-85.622909,41.948333],tags:{highway:"give_way"}},n4599:{id:"n4599",loc:[-85.622593,41.948333],tags:{highway:"give_way"}},n46:{id:"n46",loc:[-85.637131,41.94307]},n460:{id:"n460",loc:[-85.634811,41.944007]},n4600:{id:"n4600",loc:[-85.622835,41.948387],tags:{emergency:"fire_hydrant"}},n4601:{id:"n4601",loc:[-85.622768,41.949125],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4602:{id:"n4602",loc:[-85.622769,41.949325],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4603:{id:"n4603",loc:[-85.622837,41.949329],tags:{emergency:"fire_hydrant"}},n4604:{id:"n4604",loc:[-85.622614,41.950113],tags:{highway:"give_way",direction:"forward"}},n4605:{id:"n4605",loc:[-85.624777,41.949219],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4606:{id:"n4606",loc:[-85.624849,41.949106],tags:{emergency:"fire_hydrant"}},n4607:{id:"n4607",loc:[-85.624858,41.950119],tags:{emergency:"fire_hydrant"}},n4608:{id:"n4608",loc:[-85.624752,41.948334],tags:{highway:"give_way"}},n4609:{id:"n4609",loc:[-85.624845,41.948422],tags:{emergency:"fire_hydrant"}},n461:{id:"n461",loc:[-85.634987,41.943112]},n4610:{id:"n4610",loc:[-85.62484,41.947539],tags:{emergency:"fire_hydrant"}},n4611:{id:"n4611",loc:[-85.62476,41.947428],tags:{highway:"stop",stop:"minor",direction:"forward"}},n4612:{id:"n4612",loc:[-85.620286,41.950926]},n4613:{id:"n4613",loc:[-85.618237,41.950963]},n4614:{id:"n4614",loc:[-85.618107,41.950876]},n4615:{id:"n4615",loc:[-85.618131,41.950393]},n4616:{id:"n4616",loc:[-85.618232,41.949913]},n4617:{id:"n4617",loc:[-85.619138,41.950212]},n4618:{id:"n4618",loc:[-85.619299,41.950388]},n4619:{id:"n4619",loc:[-85.619306,41.950897]},n462:{id:"n462",loc:[-85.634698,41.943194]},n4620:{id:"n4620",loc:[-85.619155,41.950958]},n4621:{id:"n4621",loc:[-85.620079,41.947715]},n4622:{id:"n4622",loc:[-85.619674,41.947728]},n4623:{id:"n4623",loc:[-85.619634,41.947735]},n4624:{id:"n4624",loc:[-85.619587,41.947756],tags:{barrier:"gate"}},n4625:{id:"n4625",loc:[-85.61953,41.947796]},n4626:{id:"n4626",loc:[-85.619475,41.947847]},n4627:{id:"n4627",loc:[-85.619433,41.947903]},n4628:{id:"n4628",loc:[-85.619402,41.947982]},n4629:{id:"n4629",loc:[-85.619394,41.948043]},n463:{id:"n463",loc:[-85.634632,41.943219]},n4630:{id:"n4630",loc:[-85.619395,41.948476]},n4631:{id:"n4631",loc:[-85.618367,41.947452]},n4632:{id:"n4632",loc:[-85.618371,41.947567],tags:{barrier:"gate"}},n4633:{id:"n4633",loc:[-85.618341,41.947622]},n4634:{id:"n4634",loc:[-85.618138,41.94773]},n4635:{id:"n4635",loc:[-85.618078,41.947814]},n4636:{id:"n4636",loc:[-85.618072,41.948009]},n4637:{id:"n4637",loc:[-85.618269,41.947666]},n4638:{id:"n4638",loc:[-85.618099,41.947765]},n4639:{id:"n4639",loc:[-85.618378,41.954453]},n464:{id:"n464",loc:[-85.63459,41.943239]},n4640:{id:"n4640",loc:[-85.618198,41.95453]},n4641:{id:"n4641",loc:[-85.618212,41.954623]},n4642:{id:"n4642",loc:[-85.635211,41.943103],tags:{leisure:"picnic_table"}},n4643:{id:"n4643",loc:[-85.635345,41.943448],tags:{leisure:"picnic_table"}},n4644:{id:"n4644",loc:[-85.635901,41.943353],tags:{amenity:"bench"}},n4645:{id:"n4645",loc:[-85.635818,41.942638],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4646:{id:"n4646",loc:[-85.635355,41.942044],tags:{leisure:"picnic_table"}},n4647:{id:"n4647",loc:[-85.635206,41.942045],tags:{leisure:"picnic_table"}},n4648:{id:"n4648",loc:[-85.63504,41.941992],tags:{leisure:"picnic_table"}},n4649:{id:"n4649",loc:[-85.635185,41.942001]},n465:{id:"n465",loc:[-85.634555,41.943263]},n4650:{id:"n4650",loc:[-85.635176,41.942021]},n4651:{id:"n4651",loc:[-85.635127,41.942008]},n4652:{id:"n4652",loc:[-85.635136,41.941988]},n4653:{id:"n4653",loc:[-85.635,41.941709],tags:{emergency:"fire_hydrant"}},n4654:{id:"n4654",loc:[-85.634893,41.941801]},n4655:{id:"n4655",loc:[-85.634937,41.941843]},n4656:{id:"n4656",loc:[-85.634963,41.941859]},n4657:{id:"n4657",loc:[-85.635027,41.941904]},n4658:{id:"n4658",loc:[-85.63494,41.94187]},n4659:{id:"n4659",loc:[-85.634951,41.941871]},n466:{id:"n466",loc:[-85.634526,41.943289]},n4660:{id:"n4660",loc:[-85.634753,41.941701],tags:{amenity:"drinking_water"}},n4661:{id:"n4661",loc:[-85.634717,41.941804],tags:{amenity:"bench"}},n4662:{id:"n4662",loc:[-85.634554,41.941883],tags:{amenity:"bench"}},n4663:{id:"n4663",loc:[-85.635002,41.941579],tags:{amenity:"fountain"}},n4664:{id:"n4664",loc:[-85.635258,41.94188],tags:{amenity:"waste_basket"}},n4665:{id:"n4665",loc:[-85.635262,41.941581],tags:{amenity:"bench"}},n4666:{id:"n4666",loc:[-85.635319,41.941744],tags:{amenity:"bench"}},n4667:{id:"n4667",loc:[-85.634702,41.941473],tags:{amenity:"waste_basket"}},n4668:{id:"n4668",loc:[-85.633981,41.941966],tags:{amenity:"bench"}},n4669:{id:"n4669",loc:[-85.63388,41.941743]},n467:{id:"n467",loc:[-85.635163,41.944985]},n4670:{id:"n4670",loc:[-85.633746,41.941741]},n4671:{id:"n4671",loc:[-85.633749,41.941664]},n4672:{id:"n4672",loc:[-85.633883,41.941667]},n4673:{id:"n4673",loc:[-85.634283,41.941183],tags:{leisure:"picnic_table"}},n4674:{id:"n4674",loc:[-85.634046,41.941102],tags:{amenity:"bbq"}},n4675:{id:"n4675",loc:[-85.63401,41.941093],tags:{amenity:"bbq"}},n4676:{id:"n4676",loc:[-85.633408,41.940862],tags:{amenity:"bench"}},n4677:{id:"n4677",loc:[-85.633359,41.940651],tags:{amenity:"bench"}},n4678:{id:"n4678",loc:[-85.634109,41.940831]},n4679:{id:"n4679",loc:[-85.63396,41.940867]},n468:{id:"n468",loc:[-85.635095,41.945035]},n4680:{id:"n4680",loc:[-85.633816,41.940913]},n4681:{id:"n4681",loc:[-85.633237,41.940455]},n4682:{id:"n4682",loc:[-85.634453,41.940025],tags:{emergency:"fire_hydrant"}},n4683:{id:"n4683",loc:[-85.635692,41.940218],tags:{emergency:"fire_hydrant"}},n4684:{id:"n4684",loc:[-85.635566,41.940102],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4685:{id:"n4685",loc:[-85.635961,41.940125],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4686:{id:"n4686",loc:[-85.635883,41.94012],tags:{crossing:"marked",highway:"crossing"}},n4687:{id:"n4687",loc:[-85.635883,41.94006]},n4688:{id:"n4688",loc:[-85.635774,41.940051],tags:{crossing:"marked",highway:"crossing"}},n4689:{id:"n4689",loc:[-85.635669,41.940043]},n469:{id:"n469",loc:[-85.634269,41.944431]},n4690:{id:"n4690",loc:[-85.635661,41.940107],tags:{crossing:"marked",highway:"crossing"}},n4691:{id:"n4691",loc:[-85.635424,41.941005],tags:{amenity:"fountain"}},n4692:{id:"n4692",loc:[-85.635542,41.941371],tags:{amenity:"bench"}},n4693:{id:"n4693",loc:[-85.635709,41.941341],tags:{emergency:"fire_hydrant"}},n4694:{id:"n4694",loc:[-85.637038,41.942513],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4695:{id:"n4695",loc:[-85.637174,41.941354],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4696:{id:"n4696",loc:[-85.637091,41.941273],tags:{emergency:"fire_hydrant"}},n4697:{id:"n4697",loc:[-85.638058,41.941346],tags:{highway:"give_way",direction:"forward"}},n4698:{id:"n4698",loc:[-85.638359,41.941344],tags:{highway:"give_way",direction:"backward"}},n4699:{id:"n4699",loc:[-85.638288,41.941236],tags:{emergency:"fire_hydrant"}},n47:{id:"n47",loc:[-85.636693,41.943073]},n470:{id:"n470",loc:[-85.634352,41.944376]},n4700:{id:"n4700",loc:[-85.63935,41.94128],tags:{emergency:"fire_hydrant"}},n4701:{id:"n4701",loc:[-85.639277,41.941337],tags:{highway:"give_way",direction:"forward"}},n4702:{id:"n4702",loc:[-85.639548,41.941334],tags:{highway:"give_way",direction:"backward"}},n4703:{id:"n4703",loc:[-85.642191,41.940039]},n4704:{id:"n4704",loc:[-85.640585,41.941263],tags:{emergency:"fire_hydrant"}},n4705:{id:"n4705",loc:[-85.64049,41.941327],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4706:{id:"n4706",loc:[-85.640803,41.941324],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4707:{id:"n4707",loc:[-85.641717,41.941317],tags:{highway:"stop",direction:"forward",stop:"all"}},n4708:{id:"n4708",loc:[-85.641846,41.941415],tags:{highway:"stop",direction:"backward",stop:"all"}},n4709:{id:"n4709",loc:[-85.641756,41.941392],tags:{emergency:"fire_hydrant"}},n471:{id:"n471",loc:[-85.634747,41.944561],tags:{railway:"crossing"}},n4710:{id:"n4710",loc:[-85.642014,41.941313],tags:{highway:"stop",direction:"forward",stop:"all"}},n4711:{id:"n4711",loc:[-85.641854,41.942455],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4712:{id:"n4712",loc:[-85.641859,41.942739],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4713:{id:"n4713",loc:[-85.640754,41.942707],tags:{emergency:"fire_hydrant"}},n4714:{id:"n4714",loc:[-85.640669,41.942716],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4715:{id:"n4715",loc:[-85.640664,41.942478],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4716:{id:"n4716",loc:[-85.63964,41.94274],tags:{man_made:"flagpole"}},n4717:{id:"n4717",loc:[-85.639455,41.942731],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4718:{id:"n4718",loc:[-85.63945,41.942492],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4719:{id:"n4719",loc:[-85.639527,41.942505],tags:{emergency:"fire_hydrant"}},n472:{id:"n472",loc:[-85.634667,41.944613]},n4720:{id:"n4720",loc:[-85.638238,41.942745],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4721:{id:"n4721",loc:[-85.638233,41.942511],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4722:{id:"n4722",loc:[-85.638018,41.94299],tags:{amenity:"waste_disposal"}},n4723:{id:"n4723",loc:[-85.637918,41.944152],tags:{amenity:"waste_basket"}},n4724:{id:"n4724",loc:[-85.635902,41.943291],tags:{leisure:"picnic_table"}},n4725:{id:"n4725",loc:[-85.63704,41.942741],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4726:{id:"n4726",loc:[-85.633467,41.943818],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4727:{id:"n4727",loc:[-85.633987,41.943531],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4728:{id:"n4728",loc:[-85.632154,41.943539],tags:{emergency:"fire_hydrant"}},n4729:{id:"n4729",loc:[-85.633567,41.944641],tags:{amenity:"bench"}},n473:{id:"n473",loc:[-85.634161,41.944371]},n4730:{id:"n4730",loc:[-85.633127,41.944574],tags:{amenity:"bench"}},n4731:{id:"n4731",loc:[-85.633439,41.944871],tags:{amenity:"bench"}},n4732:{id:"n4732",loc:[-85.633676,41.944799],tags:{amenity:"waste_basket"}},n4733:{id:"n4733",loc:[-85.633466,41.944862],tags:{amenity:"waste_basket"}},n4734:{id:"n4734",loc:[-85.633451,41.944847],tags:{emergency:"fire_hydrant"}},n4735:{id:"n4735",loc:[-85.634202,41.945543],tags:{amenity:"waste_basket"}},n4736:{id:"n4736",loc:[-85.634652,41.945472],tags:{leisure:"picnic_table"}},n4737:{id:"n4737",loc:[-85.6347,41.945445],tags:{leisure:"picnic_table"}},n4738:{id:"n4738",loc:[-85.634646,41.945662],tags:{emergency:"fire_hydrant"}},n4739:{id:"n4739",loc:[-85.634673,41.945687],tags:{amenity:"waste_basket"}},n474:{id:"n474",loc:[-85.633861,41.944117]},n4740:{id:"n4740",loc:[-85.63449,41.945827],tags:{amenity:"clock",display:"analog"}},n4741:{id:"n4741",loc:[-85.63481,41.946056],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4742:{id:"n4742",loc:[-85.634814,41.946176],tags:{amenity:"post_box"}},n4743:{id:"n4743",loc:[-85.638744,41.945328]},n4744:{id:"n4744",loc:[-85.63867,41.945228],tags:{amenity:"bench"}},n4745:{id:"n4745",loc:[-85.639487,41.945042],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4746:{id:"n4746",loc:[-85.639635,41.94387],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4747:{id:"n4747",loc:[-85.639549,41.943756],tags:{emergency:"fire_hydrant"}},n4748:{id:"n4748",loc:[-85.64055,41.943862],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4749:{id:"n4749",loc:[-85.640864,41.943859],tags:{highway:"stop",stop:"minor",direction:"backward"}},n475:{id:"n475",loc:[-85.633906,41.943535]},n4750:{id:"n4750",loc:[-85.640718,41.945022],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4751:{id:"n4751",loc:[-85.640664,41.945076],tags:{emergency:"fire_hydrant"}},n4752:{id:"n4752",loc:[-85.641913,41.94502],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4753:{id:"n4753",loc:[-85.641838,41.945076],tags:{emergency:"fire_hydrant"}},n4754:{id:"n4754",loc:[-85.642045,41.94385],tags:{highway:"give_way",direction:"backward"}},n4755:{id:"n4755",loc:[-85.641738,41.943852],tags:{highway:"give_way",direction:"forward"}},n4756:{id:"n4756",loc:[-85.642928,41.943843],tags:{highway:"stop",stop:"minor",direction:"forward"}},n4757:{id:"n4757",loc:[-85.64305,41.943902],tags:{emergency:"fire_hydrant"}},n4758:{id:"n4758",loc:[-85.642986,41.945105],tags:{highway:"stop",direction:"backward",stop:"all"}},n4759:{id:"n4759",loc:[-85.643136,41.94502],tags:{highway:"stop",stop:"all",direction:"forward"}},n476:{id:"n476",loc:[-85.63423,41.943692]},n4760:{id:"n4760",loc:[-85.63169,41.947812]},n4761:{id:"n4761",loc:[-85.631307,41.947655]},n4762:{id:"n4762",loc:[-85.631407,41.947413]},n4763:{id:"n4763",loc:[-85.631173,41.947306]},n4764:{id:"n4764",loc:[-85.631316,41.947145]},n4765:{id:"n4765",loc:[-85.631476,41.947087]},n4766:{id:"n4766",loc:[-85.631793,41.946871]},n4767:{id:"n4767",loc:[-85.631884,41.946723]},n4768:{id:"n4768",loc:[-85.631814,41.946397]},n4769:{id:"n4769",loc:[-85.631382,41.947685]},n477:{id:"n477",loc:[-85.635096,41.942814]},n4770:{id:"n4770",loc:[-85.63109,41.947819]},n4771:{id:"n4771",loc:[-85.630921,41.947961]},n4772:{id:"n4772",loc:[-85.630249,41.947709]},n4773:{id:"n4773",loc:[-85.630149,41.947451]},n4774:{id:"n4774",loc:[-85.629733,41.947339]},n4775:{id:"n4775",loc:[-85.629755,41.946948]},n4776:{id:"n4776",loc:[-85.630457,41.947103]},n4777:{id:"n4777",loc:[-85.630934,41.946939]},n4778:{id:"n4778",loc:[-85.631277,41.946852]},n4779:{id:"n4779",loc:[-85.63142,41.946781]},n478:{id:"n478",loc:[-85.635058,41.942795]},n4780:{id:"n4780",loc:[-85.631116,41.946474]},n4781:{id:"n4781",loc:[-85.63073,41.945965]},n4782:{id:"n4782",loc:[-85.631337,41.94571]},n4783:{id:"n4783",loc:[-85.631589,41.945487]},n4784:{id:"n4784",loc:[-85.632278,41.945784]},n4785:{id:"n4785",loc:[-85.632105,41.946034]},n4786:{id:"n4786",loc:[-85.632532,41.946198]},n4787:{id:"n4787",loc:[-85.632566,41.946151]},n4788:{id:"n4788",loc:[-85.632684,41.946196]},n4789:{id:"n4789",loc:[-85.628676,41.947106]},n479:{id:"n479",loc:[-85.635002,41.94279]},n4790:{id:"n4790",loc:[-85.628973,41.946476]},n4791:{id:"n4791",loc:[-85.629094,41.946079]},n4792:{id:"n4792",loc:[-85.629226,41.94578]},n4793:{id:"n4793",loc:[-85.629479,41.945682]},n4794:{id:"n4794",loc:[-85.630606,41.94569]},n4795:{id:"n4795",loc:[-85.631255,41.945588]},n4796:{id:"n4796",loc:[-85.631546,41.945281]},n4797:{id:"n4797",loc:[-85.631629,41.944823]},n4798:{id:"n4798",loc:[-85.631766,41.944958]},n4799:{id:"n4799",loc:[-85.631689,41.945318]},n48:{id:"n48",loc:[-85.636689,41.94276]},n480:{id:"n480",loc:[-85.634908,41.94279]},n4800:{id:"n4800",loc:[-85.615069,41.945527]},n4801:{id:"n4801",loc:[-85.615058,41.946677]},n4802:{id:"n4802",loc:[-85.613692,41.946689]},n4803:{id:"n4803",loc:[-85.613475,41.946531]},n4804:{id:"n4804",loc:[-85.611717,41.946252]},n4805:{id:"n4805",loc:[-85.611353,41.946385]},n4806:{id:"n4806",loc:[-85.611304,41.947397]},n4807:{id:"n4807",loc:[-85.610564,41.947401]},n4808:{id:"n4808",loc:[-85.610553,41.947122]},n4809:{id:"n4809",loc:[-85.610194,41.946992]},n481:{id:"n481",loc:[-85.634478,41.942342]},n4810:{id:"n4810",loc:[-85.609976,41.946628]},n4811:{id:"n4811",loc:[-85.609769,41.946523]},n4812:{id:"n4812",loc:[-85.609307,41.946523]},n4813:{id:"n4813",loc:[-85.609035,41.946462]},n4814:{id:"n4814",loc:[-85.609018,41.943277]},n4815:{id:"n4815",loc:[-85.609617,41.943423]},n4816:{id:"n4816",loc:[-85.610471,41.943447]},n4817:{id:"n4817",loc:[-85.621491,41.949168]},n4818:{id:"n4818",loc:[-85.620266,41.94917]},n4819:{id:"n4819",loc:[-85.620262,41.947557]},n482:{id:"n482",loc:[-85.634521,41.942254]},n4820:{id:"n4820",loc:[-85.620825,41.947556]},n4821:{id:"n4821",loc:[-85.620827,41.948371]},n4822:{id:"n4822",loc:[-85.621489,41.94837]},n4823:{id:"n4823",loc:[-85.622865,41.950928]},n4824:{id:"n4824",loc:[-85.622858,41.949744]},n4825:{id:"n4825",loc:[-85.623696,41.949714]},n4826:{id:"n4826",loc:[-85.623696,41.949647]},n4827:{id:"n4827",loc:[-85.624019,41.949647]},n4828:{id:"n4828",loc:[-85.624024,41.950093]},n4829:{id:"n4829",loc:[-85.622885,41.949711]},n483:{id:"n483",loc:[-85.63425,41.941819]},n4830:{id:"n4830",loc:[-85.624584,41.951049]},n4831:{id:"n4831",loc:[-85.624669,41.9511]},n4832:{id:"n4832",loc:[-85.624316,41.952218]},n4833:{id:"n4833",loc:[-85.623819,41.952094]},n4834:{id:"n4834",loc:[-85.623385,41.952101]},n4835:{id:"n4835",loc:[-85.623456,41.951238]},n4836:{id:"n4836",loc:[-85.623535,41.951051]},n4837:{id:"n4837",loc:[-85.624693,41.950921]},n4838:{id:"n4838",loc:[-85.624727,41.950897]},n4839:{id:"n4839",loc:[-85.624869,41.950341]},n484:{id:"n484",loc:[-85.634324,41.942131]},n4840:{id:"n4840",loc:[-85.624859,41.949284]},n4841:{id:"n4841",loc:[-85.624788,41.949262]},n4842:{id:"n4842",loc:[-85.62402,41.949265]},n4843:{id:"n4843",loc:[-85.610382,41.954663]},n4844:{id:"n4844",loc:[-85.605675,41.954667]},n4845:{id:"n4845",loc:[-85.605669,41.949407]},n4846:{id:"n4846",loc:[-85.610376,41.949404]},n4847:{id:"n4847",loc:[-85.605552,41.958536]},n4848:{id:"n4848",loc:[-85.595755,41.958588]},n4849:{id:"n4849",loc:[-85.595732,41.956419]},n485:{id:"n485",loc:[-85.634211,41.941374]},n4850:{id:"n4850",loc:[-85.596908,41.955605]},n4851:{id:"n4851",loc:[-85.597723,41.955596]},n4852:{id:"n4852",loc:[-85.597715,41.954967]},n4853:{id:"n4853",loc:[-85.5874,41.955018]},n4854:{id:"n4854",loc:[-85.586615,41.955124]},n4855:{id:"n4855",loc:[-85.58613,41.955293]},n4856:{id:"n4856",loc:[-85.586166,41.962122]},n4857:{id:"n4857",loc:[-85.587008,41.955052]},n4858:{id:"n4858",loc:[-85.591685,41.95499]},n4859:{id:"n4859",loc:[-85.591718,41.956649]},n486:{id:"n486",loc:[-85.634085,41.940704]},n4860:{id:"n4860",loc:[-85.591133,41.956649]},n4861:{id:"n4861",loc:[-85.591061,41.95582]},n4862:{id:"n4862",loc:[-85.590677,41.95613]},n4863:{id:"n4863",loc:[-85.590826,41.956369]},n4864:{id:"n4864",loc:[-85.591016,41.954991]},n4865:{id:"n4865",loc:[-85.587656,41.954855]},n4866:{id:"n4866",loc:[-85.5964,41.955274]},n4867:{id:"n4867",loc:[-85.58776,41.96178]},n4868:{id:"n4868",loc:[-85.601172,41.960448]},n4869:{id:"n4869",loc:[-85.589489,41.960478]},n487:{id:"n487",loc:[-85.635567,41.940944]},n4870:{id:"n4870",loc:[-85.586664,41.960493]},n4871:{id:"n4871",loc:[-85.591227,41.95676]},n4872:{id:"n4872",loc:[-85.589424,41.958093]},n4873:{id:"n4873",loc:[-85.588779,41.957611]},n4874:{id:"n4874",loc:[-85.590583,41.956278]},n4875:{id:"n4875",loc:[-85.590759,41.957106]},n4876:{id:"n4876",loc:[-85.592213,41.958218]},n4877:{id:"n4877",loc:[-85.592262,41.958279]},n4878:{id:"n4878",loc:[-85.592304,41.958358]},n4879:{id:"n4879",loc:[-85.592351,41.95849]},n488:{id:"n488",loc:[-85.635542,41.940919]},n4880:{id:"n4880",loc:[-85.592363,41.958605]},n4881:{id:"n4881",loc:[-85.592383,41.96047]},n4882:{id:"n4882",loc:[-85.592376,41.959808]},n4883:{id:"n4883",loc:[-85.600825,41.959779]},n4884:{id:"n4884",loc:[-85.601084,41.959844]},n4885:{id:"n4885",loc:[-85.601144,41.959908]},n4886:{id:"n4886",loc:[-85.601164,41.960008]},n4887:{id:"n4887",loc:[-85.601162,41.960125]},n4888:{id:"n4888",loc:[-85.601134,41.960221]},n4889:{id:"n4889",loc:[-85.600993,41.960353]},n489:{id:"n489",loc:[-85.635514,41.940906]},n4890:{id:"n4890",loc:[-85.600794,41.960449]},n4891:{id:"n4891",loc:[-85.60098,41.959792]},n4892:{id:"n4892",loc:[-85.601067,41.960294]},n4893:{id:"n4893",loc:[-85.596829,41.959793]},n4894:{id:"n4894",loc:[-85.596839,41.960459]},n4895:{id:"n4895",loc:[-85.589364,41.958048]},n4896:{id:"n4896",loc:[-85.587374,41.959511]},n4897:{id:"n4897",loc:[-85.587286,41.959564]},n4898:{id:"n4898",loc:[-85.587163,41.959632]},n4899:{id:"n4899",loc:[-85.586694,41.959865]},n49:{id:"n49",loc:[-85.637127,41.942757]},n490:{id:"n490",loc:[-85.635469,41.940896]},n4900:{id:"n4900",loc:[-85.586634,41.959921]},n4901:{id:"n4901",loc:[-85.586607,41.960001]},n4902:{id:"n4902",loc:[-85.586599,41.960099]},n4903:{id:"n4903",loc:[-85.586602,41.96034]},n4904:{id:"n4904",loc:[-85.586669,41.960439]},n4905:{id:"n4905",loc:[-85.586758,41.960493]},n4906:{id:"n4906",loc:[-85.586618,41.960391]},n4907:{id:"n4907",loc:[-85.591201,41.956352]},n4908:{id:"n4908",loc:[-85.59112,41.954843]},n4909:{id:"n4909",loc:[-85.591536,41.956349]},n491:{id:"n491",loc:[-85.635667,41.940826]},n4910:{id:"n4910",loc:[-85.590953,41.956354]},n4911:{id:"n4911",loc:[-85.591468,41.956406]},n4912:{id:"n4912",loc:[-85.591469,41.956478]},n4913:{id:"n4913",loc:[-85.591123,41.956481]},n4914:{id:"n4914",loc:[-85.591121,41.956409]},n4915:{id:"n4915",loc:[-85.590826,41.955954]},n4916:{id:"n4916",loc:[-85.590612,41.956115]},n4917:{id:"n4917",loc:[-85.590402,41.955962]},n4918:{id:"n4918",loc:[-85.590622,41.955804]},n4919:{id:"n4919",loc:[-85.59011,41.956502]},n492:{id:"n492",loc:[-85.636197,41.940599]},n4920:{id:"n4920",loc:[-85.589877,41.956668]},n4921:{id:"n4921",loc:[-85.589777,41.95659]},n4922:{id:"n4922",loc:[-85.59001,41.956424]},n4923:{id:"n4923",loc:[-85.589595,41.956427]},n4924:{id:"n4924",loc:[-85.589434,41.956549]},n4925:{id:"n4925",loc:[-85.589262,41.956424]},n4926:{id:"n4926",loc:[-85.589422,41.956302]},n4927:{id:"n4927",loc:[-85.589358,41.956286]},n4928:{id:"n4928",loc:[-85.5892,41.956408]},n4929:{id:"n4929",loc:[-85.589032,41.956288]},n493:{id:"n493",loc:[-85.6362,41.940686]},n4930:{id:"n4930",loc:[-85.58919,41.956166]},n4931:{id:"n4931",loc:[-85.589165,41.956132]},n4932:{id:"n4932",loc:[-85.589002,41.956253]},n4933:{id:"n4933",loc:[-85.588826,41.956122]},n4934:{id:"n4934",loc:[-85.588989,41.956001]},n4935:{id:"n4935",loc:[-85.588673,41.955757]},n4936:{id:"n4936",loc:[-85.588502,41.955882]},n4937:{id:"n4937",loc:[-85.588339,41.955759]},n4938:{id:"n4938",loc:[-85.58851,41.955633]},n4939:{id:"n4939",loc:[-85.590382,41.955892]},n494:{id:"n494",loc:[-85.635969,41.94069]},n4940:{id:"n4940",loc:[-85.589923,41.956231]},n4941:{id:"n4941",loc:[-85.58984,41.956168]},n4942:{id:"n4942",loc:[-85.5903,41.95583]},n4943:{id:"n4943",loc:[-85.589636,41.956038]},n4944:{id:"n4944",loc:[-85.589546,41.956105]},n4945:{id:"n4945",loc:[-85.589045,41.955729]},n4946:{id:"n4946",loc:[-85.589135,41.955662]},n4947:{id:"n4947",loc:[-85.590718,41.955293]},n4948:{id:"n4948",loc:[-85.590718,41.955374]},n4949:{id:"n4949",loc:[-85.589211,41.955369]},n495:{id:"n495",loc:[-85.635965,41.940561]},n4950:{id:"n4950",loc:[-85.589212,41.955287]},n4951:{id:"n4951",loc:[-85.589675,41.956817]},n4952:{id:"n4952",loc:[-85.58947,41.95697]},n4953:{id:"n4953",loc:[-85.589219,41.956784]},n4954:{id:"n4954",loc:[-85.589425,41.95663]},n4955:{id:"n4955",loc:[-85.589373,41.95702]},n4956:{id:"n4956",loc:[-85.589171,41.957172]},n4957:{id:"n4957",loc:[-85.588962,41.957019]},n4958:{id:"n4958",loc:[-85.589164,41.956867]},n4959:{id:"n4959",loc:[-85.588881,41.955006]},n496:{id:"n496",loc:[-85.636031,41.94056]},n4960:{id:"n4960",loc:[-85.588804,41.955006]},n4961:{id:"n4961",loc:[-85.604773,41.954521]},n4962:{id:"n4962",loc:[-85.601603,41.954527]},n4963:{id:"n4963",loc:[-85.600823,41.954169]},n4964:{id:"n4964",loc:[-85.600828,41.950191]},n4965:{id:"n4965",loc:[-85.601673,41.949457]},n4966:{id:"n4966",loc:[-85.604464,41.949488]},n4967:{id:"n4967",loc:[-85.60538,41.950212]},n4968:{id:"n4968",loc:[-85.605395,41.954108]},n4969:{id:"n4969",loc:[-85.604771,41.954109]},n497:{id:"n497",loc:[-85.636032,41.940602]},n4970:{id:"n4970",loc:[-85.600613,41.953916]},n4971:{id:"n4971",loc:[-85.599758,41.954649]},n4972:{id:"n4972",loc:[-85.591194,41.954663]},n4973:{id:"n4973",loc:[-85.591182,41.950465]},n4974:{id:"n4974",loc:[-85.591871,41.950464]},n4975:{id:"n4975",loc:[-85.591868,41.949209]},n4976:{id:"n4976",loc:[-85.592155,41.949209]},n4977:{id:"n4977",loc:[-85.592155,41.94848]},n4978:{id:"n4978",loc:[-85.600615,41.948482]},n4979:{id:"n4979",loc:[-85.605421,41.949378]},n498:{id:"n498",loc:[-85.635783,41.940583]},n4980:{id:"n4980",loc:[-85.600614,41.949373]},n4981:{id:"n4981",loc:[-85.601316,41.94849]},n4982:{id:"n4982",loc:[-85.601592,41.947641]},n4983:{id:"n4983",loc:[-85.60395,41.947618]},n4984:{id:"n4984",loc:[-85.603973,41.948114]},n4985:{id:"n4985",loc:[-85.605398,41.948103]},n4986:{id:"n4986",loc:[-85.614017,41.965566]},n4987:{id:"n4987",loc:[-85.605787,41.965619]},n4988:{id:"n4988",loc:[-85.60577,41.963821]},n4989:{id:"n4989",loc:[-85.612886,41.963808]},n499:{id:"n499",loc:[-85.63589,41.940578]},n4990:{id:"n4990",loc:[-85.613207,41.963705]},n4991:{id:"n4991",loc:[-85.613511,41.963525]},n4992:{id:"n4992",loc:[-85.613667,41.963305]},n4993:{id:"n4993",loc:[-85.613779,41.962983]},n4994:{id:"n4994",loc:[-85.613797,41.959709]},n4995:{id:"n4995",loc:[-85.613663,41.95936]},n4996:{id:"n4996",loc:[-85.61339,41.959064]},n4997:{id:"n4997",loc:[-85.610503,41.956898]},n4998:{id:"n4998",loc:[-85.610485,41.956595]},n4999:{id:"n4999",loc:[-85.613892,41.956621]},n5:{id:"n5",loc:[-85.622744,41.95268]},n50:{id:"n50",loc:[-85.636673,41.943143]},n500:{id:"n500",loc:[-85.636198,41.940578]},n5000:{id:"n5000",loc:[-85.613866,41.958574]},n5001:{id:"n5001",loc:[-85.615262,41.958561]},n5002:{id:"n5002",loc:[-85.615279,41.959541]},n5003:{id:"n5003",loc:[-85.615314,41.95597]},n5004:{id:"n5004",loc:[-85.613887,41.955988]},n5005:{id:"n5005",loc:[-85.613074,41.962244]},n5006:{id:"n5006",loc:[-85.611678,41.963354]},n5007:{id:"n5007",loc:[-85.611678,41.963487]},n5008:{id:"n5008",loc:[-85.606906,41.963502]},n5009:{id:"n5009",loc:[-85.605777,41.962657]},n501:{id:"n501",loc:[-85.636251,41.940584]},n5010:{id:"n5010",loc:[-85.605711,41.9599]},n5011:{id:"n5011",loc:[-85.608139,41.9585]},n5012:{id:"n5012",loc:[-85.60814,41.956306]},n5013:{id:"n5013",loc:[-85.608854,41.95581]},n5014:{id:"n5014",loc:[-85.610039,41.955883]},n5015:{id:"n5015",loc:[-85.610068,41.956754]},n5016:{id:"n5016",loc:[-85.613058,41.959411]},n5017:{id:"n5017",loc:[-85.610234,41.957068]},n5018:{id:"n5018",loc:[-85.609826,41.95581]},n5019:{id:"n5019",loc:[-85.606987,41.958505]},n502:{id:"n502",loc:[-85.636279,41.940605]},n5020:{id:"n5020",loc:[-85.606498,41.958846]},n5021:{id:"n5021",loc:[-85.606013,41.959342]},n5022:{id:"n5022",loc:[-85.614553,41.961581]},n5023:{id:"n5023",loc:[-85.61465,41.96214]},n5024:{id:"n5024",loc:[-85.615277,41.962442]},n5025:{id:"n5025",loc:[-85.615451,41.962972]},n5026:{id:"n5026",loc:[-85.614355,41.964826]},n5027:{id:"n5027",loc:[-85.615133,41.964589]},n5028:{id:"n5028",loc:[-85.615342,41.963818]},n5029:{id:"n5029",loc:[-85.615971,41.963792]},n503:{id:"n503",loc:[-85.636285,41.940633]},n5030:{id:"n5030",loc:[-85.615751,41.963122]},n5031:{id:"n5031",loc:[-85.616575,41.963123]},n5032:{id:"n5032",loc:[-85.612527,41.963846]},n5033:{id:"n5033",loc:[-85.630653,41.940709]},n5034:{id:"n5034",loc:[-85.629858,41.939568]},n5035:{id:"n5035",loc:[-85.629847,41.937926]},n504:{id:"n504",loc:[-85.636281,41.940662]},n505:{id:"n505",loc:[-85.636266,41.940688]},n506:{id:"n506",loc:[-85.636236,41.940701]},n507:{id:"n507",loc:[-85.63619,41.940706]},n508:{id:"n508",loc:[-85.635892,41.940707]},n509:{id:"n509",loc:[-85.635785,41.9407]},n51:{id:"n51",loc:[-85.636673,41.942864]},n510:{id:"n510",loc:[-85.636044,41.940578]},n511:{id:"n511",loc:[-85.635946,41.940578]},n512:{id:"n512",loc:[-85.636475,41.940732]},n513:{id:"n513",loc:[-85.636475,41.940777]},n514:{id:"n514",loc:[-85.636405,41.940777]},n515:{id:"n515",loc:[-85.636405,41.940732]},n516:{id:"n516",loc:[-85.636471,41.940916]},n517:{id:"n517",loc:[-85.636471,41.940961]},n518:{id:"n518",loc:[-85.636404,41.940961]},n519:{id:"n519",loc:[-85.636404,41.940916]},n52:{id:"n52",loc:[-85.636227,41.942864]},n520:{id:"n520",loc:[-85.636286,41.941127]},n521:{id:"n521",loc:[-85.636203,41.941126]},n522:{id:"n522",loc:[-85.636204,41.941083]},n523:{id:"n523",loc:[-85.636287,41.941083]},n524:{id:"n524",loc:[-85.636124,41.941064]},n525:{id:"n525",loc:[-85.636,41.941065]},n526:{id:"n526",loc:[-85.636,41.940964]},n527:{id:"n527",loc:[-85.636045,41.940964]},n528:{id:"n528",loc:[-85.636045,41.940928]},n529:{id:"n529",loc:[-85.636111,41.940928]},n53:{id:"n53",loc:[-85.636227,41.943143]},n530:{id:"n530",loc:[-85.636111,41.940961]},n531:{id:"n531",loc:[-85.636123,41.940961]},n532:{id:"n532",loc:[-85.636124,41.940997]},n533:{id:"n533",loc:[-85.636164,41.940997]},n534:{id:"n534",loc:[-85.636164,41.941044]},n535:{id:"n535",loc:[-85.636124,41.941044]},n536:{id:"n536",loc:[-85.636534,41.941256]},n537:{id:"n537",loc:[-85.63645,41.941246]},n538:{id:"n538",loc:[-85.636462,41.941189]},n539:{id:"n539",loc:[-85.636546,41.941199]},n54:{id:"n54",loc:[-85.636198,41.943119]},n540:{id:"n540",loc:[-85.636802,41.941226]},n541:{id:"n541",loc:[-85.636701,41.941215]},n542:{id:"n542",loc:[-85.636709,41.941174]},n543:{id:"n543",loc:[-85.636656,41.941168]},n544:{id:"n544",loc:[-85.636666,41.941122]},n545:{id:"n545",loc:[-85.636781,41.941136]},n546:{id:"n546",loc:[-85.636774,41.94117]},n547:{id:"n547",loc:[-85.636812,41.941175]},n548:{id:"n548",loc:[-85.636803,41.941047]},n549:{id:"n549",loc:[-85.636785,41.941047]},n55:{id:"n55",loc:[-85.635945,41.94312]},n550:{id:"n550",loc:[-85.636785,41.941058]},n551:{id:"n551",loc:[-85.636644,41.941059]},n552:{id:"n552",loc:[-85.636644,41.941038]},n553:{id:"n553",loc:[-85.636581,41.941039]},n554:{id:"n554",loc:[-85.636581,41.940995]},n555:{id:"n555",loc:[-85.636746,41.940995]},n556:{id:"n556",loc:[-85.636746,41.940978]},n557:{id:"n557",loc:[-85.636803,41.940978]},n558:{id:"n558",loc:[-85.636781,41.940768]},n559:{id:"n559",loc:[-85.636783,41.940828]},n56:{id:"n56",loc:[-85.635943,41.942909]},n560:{id:"n560",loc:[-85.636761,41.940828]},n561:{id:"n561",loc:[-85.636762,41.940857]},n562:{id:"n562",loc:[-85.636641,41.940859]},n563:{id:"n563",loc:[-85.63664,41.940805]},n564:{id:"n564",loc:[-85.636676,41.940804]},n565:{id:"n565",loc:[-85.636675,41.940769]},n566:{id:"n566",loc:[-85.636733,41.94033]},n567:{id:"n567",loc:[-85.636471,41.940334]},n568:{id:"n568",loc:[-85.636469,41.940262]},n569:{id:"n569",loc:[-85.636731,41.940257]},n57:{id:"n57",loc:[-85.636227,41.942909]},n570:{id:"n570",loc:[-85.636798,41.940419]},n571:{id:"n571",loc:[-85.6368,41.940524]},n572:{id:"n572",loc:[-85.63664,41.940526]},n573:{id:"n573",loc:[-85.636638,41.940421]},n574:{id:"n574",loc:[-85.636372,41.940551]},n575:{id:"n575",loc:[-85.636338,41.94055]},n576:{id:"n576",loc:[-85.636339,41.940524]},n577:{id:"n577",loc:[-85.636373,41.940525]},n578:{id:"n578",loc:[-85.636388,41.940435]},n579:{id:"n579",loc:[-85.636222,41.940436]},n58:{id:"n58",loc:[-85.63627,41.943175]},n580:{id:"n580",loc:[-85.636222,41.940366]},n581:{id:"n581",loc:[-85.636387,41.940365]},n582:{id:"n582",loc:[-85.636158,41.940482]},n583:{id:"n583",loc:[-85.635963,41.940484]},n584:{id:"n584",loc:[-85.635961,41.940399]},n585:{id:"n585",loc:[-85.636156,41.940397]},n586:{id:"n586",loc:[-85.635987,41.940314]},n587:{id:"n587",loc:[-85.635987,41.940268]},n588:{id:"n588",loc:[-85.635968,41.940268]},n589:{id:"n589",loc:[-85.635967,41.940212]},n59:{id:"n59",loc:[-85.635531,41.943176]},n590:{id:"n590",loc:[-85.636082,41.940211]},n591:{id:"n591",loc:[-85.636083,41.94027]},n592:{id:"n592",loc:[-85.636064,41.94027]},n593:{id:"n593",loc:[-85.636064,41.940313]},n594:{id:"n594",loc:[-85.638071,41.941562]},n595:{id:"n595",loc:[-85.637953,41.941562]},n596:{id:"n596",loc:[-85.637952,41.941522]},n597:{id:"n597",loc:[-85.637876,41.941523]},n598:{id:"n598",loc:[-85.637876,41.941471]},n599:{id:"n599",loc:[-85.638035,41.94147]},n6:{id:"n6",loc:[-85.624925,41.950604]},n60:{id:"n60",loc:[-85.63542,41.942883]},n600:{id:"n600",loc:[-85.638035,41.941513]},n601:{id:"n601",loc:[-85.638071,41.941512]},n602:{id:"n602",loc:[-85.637038,41.942543],tags:{crossing:"marked",highway:"crossing"}},n603:{id:"n603",loc:[-85.637134,41.942542]},n604:{id:"n604",loc:[-85.638122,41.942532]},n605:{id:"n605",loc:[-85.638121,41.942478]},n606:{id:"n606",loc:[-85.638104,41.941424]},n607:{id:"n607",loc:[-85.637115,41.941438]},n608:{id:"n608",loc:[-85.637133,41.942453]},n609:{id:"n609",loc:[-85.637429,41.942004]},n61:{id:"n61",loc:[-85.635701,41.942802]},n610:{id:"n610",loc:[-85.637125,41.942004]},n611:{id:"n611",loc:[-85.637022,41.942004]},n612:{id:"n612",loc:[-85.635952,41.943579]},n613:{id:"n613",loc:[-85.635872,41.943594]},n614:{id:"n614",loc:[-85.635857,41.943551]},n615:{id:"n615",loc:[-85.635937,41.943535]},n616:{id:"n616",loc:[-85.63671,41.94344]},n617:{id:"n617",loc:[-85.636427,41.94334]},n618:{id:"n618",loc:[-85.635353,41.943279]},n619:{id:"n619",loc:[-85.635319,41.943257]},n62:{id:"n62",loc:[-85.6358,41.942997]},n620:{id:"n620",loc:[-85.638786,41.943105]},n621:{id:"n621",loc:[-85.634957,41.943146]},n622:{id:"n622",loc:[-85.635012,41.943119]},n623:{id:"n623",loc:[-85.632409,41.944222]},n624:{id:"n624",loc:[-85.631863,41.944749]},n625:{id:"n625",loc:[-85.631915,41.944722]},n626:{id:"n626",loc:[-85.631884,41.94464]},n627:{id:"n627",loc:[-85.631792,41.944359]},n628:{id:"n628",loc:[-85.631817,41.944703]},n629:{id:"n629",loc:[-85.633464,41.945787]},n63:{id:"n63",loc:[-85.635808,41.943176]},n630:{id:"n630",loc:[-85.633583,41.945919]},n631:{id:"n631",loc:[-85.63382,41.945698]},n632:{id:"n632",loc:[-85.633681,41.945571]},n633:{id:"n633",loc:[-85.634217,41.946824]},n634:{id:"n634",loc:[-85.634271,41.946836]},n635:{id:"n635",loc:[-85.634319,41.94573]},n636:{id:"n636",loc:[-85.634377,41.945672]},n637:{id:"n637",loc:[-85.634909,41.945354]},n638:{id:"n638",loc:[-85.634726,41.945493],tags:{artwork_type:"mural",tourism:"artwork"}},n639:{id:"n639",loc:[-85.63546,41.945612]},n64:{id:"n64",loc:[-85.63631,41.943253]},n640:{id:"n640",loc:[-85.635561,41.945493]},n641:{id:"n641",loc:[-85.635417,41.945565]},n642:{id:"n642",loc:[-85.635315,41.945583]},n643:{id:"n643",loc:[-85.63506,41.945383]},n644:{id:"n644",loc:[-85.635198,41.945199]},n645:{id:"n645",loc:[-85.635361,41.94558]},n646:{id:"n646",loc:[-85.635017,41.945066]},n647:{id:"n647",loc:[-85.634779,41.945206]},n648:{id:"n648",loc:[-85.63425,41.945655]},n649:{id:"n649",loc:[-85.634247,41.945631]},n65:{id:"n65",loc:[-85.635398,41.943259]},n650:{id:"n650",loc:[-85.634889,41.945921]},n651:{id:"n651",loc:[-85.634889,41.945939]},n652:{id:"n652",loc:[-85.634889,41.945761]},n653:{id:"n653",loc:[-85.63489,41.945778]},n654:{id:"n654",loc:[-85.635112,41.945715]},n655:{id:"n655",loc:[-85.635025,41.945714]},n656:{id:"n656",loc:[-85.635027,41.945761]},n657:{id:"n657",loc:[-85.635438,41.945665]},n658:{id:"n658",loc:[-85.635416,41.945676]},n659:{id:"n659",loc:[-85.635401,41.945709]},n66:{id:"n66",loc:[-85.635336,41.943036]},n660:{id:"n660",loc:[-85.635271,41.945566]},n661:{id:"n661",loc:[-85.636106,41.946268]},n662:{id:"n662",loc:[-85.635867,41.946747]},n663:{id:"n663",loc:[-85.636476,41.946797]},n664:{id:"n664",loc:[-85.63651,41.946796]},n665:{id:"n665",loc:[-85.635367,41.946389]},n666:{id:"n666",loc:[-85.635367,41.946437]},n667:{id:"n667",loc:[-85.634787,41.946441]},n668:{id:"n668",loc:[-85.6358,41.946243]},n669:{id:"n669",loc:[-85.635784,41.94622]},n67:{id:"n67",loc:[-85.635911,41.942899]},n670:{id:"n670",loc:[-85.635727,41.946195]},n671:{id:"n671",loc:[-85.635708,41.946588]},n672:{id:"n672",loc:[-85.635648,41.946561]},n673:{id:"n673",loc:[-85.635624,41.946555]},n674:{id:"n674",loc:[-85.635417,41.946559]},n675:{id:"n675",loc:[-85.634866,41.946561]},n676:{id:"n676",loc:[-85.634866,41.946543]},n677:{id:"n677",loc:[-85.635085,41.946546]},n678:{id:"n678",loc:[-85.635085,41.946554]},n679:{id:"n679",loc:[-85.634584,41.94488]},n68:{id:"n68",loc:[-85.635915,41.943156]},n680:{id:"n680",loc:[-85.634557,41.944882]},n681:{id:"n681",loc:[-85.634455,41.944943]},n682:{id:"n682",loc:[-85.634305,41.944968]},n683:{id:"n683",loc:[-85.634261,41.944927]},n684:{id:"n684",loc:[-85.634132,41.944741]},n685:{id:"n685",loc:[-85.633705,41.944759]},n686:{id:"n686",loc:[-85.633918,41.944616]},n687:{id:"n687",loc:[-85.633974,41.944663]},n688:{id:"n688",loc:[-85.6336,41.944665]},n689:{id:"n689",loc:[-85.633817,41.944528]},n69:{id:"n69",loc:[-85.63631,41.943157]},n690:{id:"n690",loc:[-85.633889,41.944485]},n691:{id:"n691",loc:[-85.633931,41.944525]},n692:{id:"n692",loc:[-85.633864,41.944563]},n693:{id:"n693",loc:[-85.633456,41.944524]},n694:{id:"n694",loc:[-85.633676,41.944399]},n695:{id:"n695",loc:[-85.633352,41.944415]},n696:{id:"n696",loc:[-85.633655,41.944234]},n697:{id:"n697",loc:[-85.633761,41.94435]},n698:{id:"n698",loc:[-85.633254,41.944318]},n699:{id:"n699",loc:[-85.633472,41.944188]},n7:{id:"n7",loc:[-85.638791,41.943231]},n70:{id:"n70",loc:[-85.63579,41.942967]},n700:{id:"n700",loc:[-85.633524,41.944237]},n701:{id:"n701",loc:[-85.633583,41.944202]},n702:{id:"n702",loc:[-85.633632,41.944247]},n703:{id:"n703",loc:[-85.633165,41.944228]},n704:{id:"n704",loc:[-85.633388,41.944105]},n705:{id:"n705",loc:[-85.633117,41.944175]},n706:{id:"n706",loc:[-85.633302,41.944077]},n707:{id:"n707",loc:[-85.633352,41.944126]},n708:{id:"n708",loc:[-85.633052,41.944107]},n709:{id:"n709",loc:[-85.633237,41.944009]},n71:{id:"n71",loc:[-85.637506,41.942824]},n710:{id:"n710",loc:[-85.633187,41.943955]},n711:{id:"n711",loc:[-85.633,41.944054]},n712:{id:"n712",loc:[-85.633155,41.944265]},n713:{id:"n713",loc:[-85.633669,41.944765]},n714:{id:"n714",loc:[-85.634468,41.945503]},n715:{id:"n715",loc:[-85.63455,41.945566]},n716:{id:"n716",loc:[-85.634737,41.945729]},n717:{id:"n717",loc:[-85.634753,41.945752]},n718:{id:"n718",loc:[-85.634756,41.945781]},n719:{id:"n719",loc:[-85.634758,41.945978]},n72:{id:"n72",loc:[-85.637511,41.943056]},n720:{id:"n720",loc:[-85.634363,41.945548],tags:{crossing:"marked",highway:"crossing"}},n721:{id:"n721",loc:[-85.634245,41.945599]},n722:{id:"n722",loc:[-85.633474,41.944889]},n723:{id:"n723",loc:[-85.632997,41.944418]},n724:{id:"n724",loc:[-85.63278,41.944183]},n725:{id:"n725",loc:[-85.63331,41.944429]},n726:{id:"n726",loc:[-85.633568,41.944829],tags:{crossing:"marked",highway:"crossing"}},n727:{id:"n727",loc:[-85.634669,41.94567]},n728:{id:"n728",loc:[-85.634462,41.945787]},n729:{id:"n729",loc:[-85.634272,41.945625]},n73:{id:"n73",loc:[-85.637361,41.943058]},n730:{id:"n730",loc:[-85.634344,41.945699],tags:{crossing:"marked",highway:"crossing"}},n731:{id:"n731",loc:[-85.634426,41.945783]},n732:{id:"n732",loc:[-85.632425,41.944137]},n733:{id:"n733",loc:[-85.632302,41.944192]},n734:{id:"n734",loc:[-85.632762,41.944174]},n735:{id:"n735",loc:[-85.632713,41.944179]},n736:{id:"n736",loc:[-85.632411,41.944327]},n737:{id:"n737",loc:[-85.632362,41.944341]},n738:{id:"n738",loc:[-85.632236,41.944204]},n739:{id:"n739",loc:[-85.634939,41.942165]},n74:{id:"n74",loc:[-85.637356,41.942825]},n740:{id:"n740",loc:[-85.635079,41.941535]},n741:{id:"n741",loc:[-85.635112,41.941595]},n742:{id:"n742",loc:[-85.635113,41.941633]},n743:{id:"n743",loc:[-85.635067,41.941652]},n744:{id:"n744",loc:[-85.634989,41.941651]},n745:{id:"n745",loc:[-85.634921,41.941609]},n746:{id:"n746",loc:[-85.634881,41.941544]},n747:{id:"n747",loc:[-85.635537,41.940939]},n748:{id:"n748",loc:[-85.635573,41.941048]},n749:{id:"n749",loc:[-85.635453,41.94091]},n75:{id:"n75",loc:[-85.638097,41.942833]},n750:{id:"n750",loc:[-85.635319,41.940943]},n751:{id:"n751",loc:[-85.637057,41.943224]},n752:{id:"n752",loc:[-85.636989,41.943296]},n753:{id:"n753",loc:[-85.636851,41.943299]},n754:{id:"n754",loc:[-85.636848,41.94322]},n755:{id:"n755",loc:[-85.636986,41.943217]},n756:{id:"n756",loc:[-85.637569,41.943454]},n757:{id:"n757",loc:[-85.637437,41.943458]},n758:{id:"n758",loc:[-85.637432,41.943384]},n759:{id:"n759",loc:[-85.637564,41.94338]},n76:{id:"n76",loc:[-85.638098,41.942912]},n760:{id:"n760",loc:[-85.637213,41.943378]},n761:{id:"n761",loc:[-85.637217,41.943435]},n762:{id:"n762",loc:[-85.637235,41.943434]},n763:{id:"n763",loc:[-85.637237,41.943465]},n764:{id:"n764",loc:[-85.637424,41.943459]},n765:{id:"n765",loc:[-85.637418,41.943371]},n766:{id:"n766",loc:[-85.638094,41.943149]},n767:{id:"n767",loc:[-85.638096,41.943201]},n768:{id:"n768",loc:[-85.638041,41.943202]},n769:{id:"n769",loc:[-85.638042,41.943216]},n77:{id:"n77",loc:[-85.637705,41.942913]},n770:{id:"n770",loc:[-85.637927,41.943218]},n771:{id:"n771",loc:[-85.637926,41.943201]},n772:{id:"n772",loc:[-85.637897,41.943201]},n773:{id:"n773",loc:[-85.637896,41.943155]},n774:{id:"n774",loc:[-85.637962,41.943153]},n775:{id:"n775",loc:[-85.637962,41.943134]},n776:{id:"n776",loc:[-85.638017,41.943132]},n777:{id:"n777",loc:[-85.638018,41.943151]},n778:{id:"n778",loc:[-85.638045,41.943289]},n779:{id:"n779",loc:[-85.638048,41.943363]},n78:{id:"n78",loc:[-85.637705,41.942834]},n780:{id:"n780",loc:[-85.637842,41.943367]},n781:{id:"n781",loc:[-85.637839,41.943296]},n782:{id:"n782",loc:[-85.637896,41.943295]},n783:{id:"n783",loc:[-85.637897,41.943314]},n784:{id:"n784",loc:[-85.637957,41.943312]},n785:{id:"n785",loc:[-85.637957,41.943291]},n786:{id:"n786",loc:[-85.637816,41.943375]},n787:{id:"n787",loc:[-85.637815,41.943416]},n788:{id:"n788",loc:[-85.637715,41.943415]},n789:{id:"n789",loc:[-85.637716,41.943374]},n79:{id:"n79",loc:[-85.638071,41.942298]},n790:{id:"n790",loc:[-85.637912,41.943545]},n791:{id:"n791",loc:[-85.637909,41.943479]},n792:{id:"n792",loc:[-85.637967,41.943477]},n793:{id:"n793",loc:[-85.637967,41.94346]},n794:{id:"n794",loc:[-85.638077,41.943457]},n795:{id:"n795",loc:[-85.638078,41.943473]},n796:{id:"n796",loc:[-85.638124,41.943471]},n797:{id:"n797",loc:[-85.638126,41.943514]},n798:{id:"n798",loc:[-85.638079,41.943515]},n799:{id:"n799",loc:[-85.638079,41.943532]},n8:{id:"n8",loc:[-85.635241,41.941948]},n80:{id:"n80",loc:[-85.638074,41.942431]},n800:{id:"n800",loc:[-85.638028,41.943534]},n801:{id:"n801",loc:[-85.638028,41.943542]},n802:{id:"n802",loc:[-85.638845,41.942983]},n803:{id:"n803",loc:[-85.638846,41.94305]},n804:{id:"n804",loc:[-85.638661,41.943052]},n805:{id:"n805",loc:[-85.63866,41.942984]},n806:{id:"n806",loc:[-85.638579,41.942753]},n807:{id:"n807",loc:[-85.638445,41.942755]},n808:{id:"n808",loc:[-85.638452,41.942978]},n809:{id:"n809",loc:[-85.638545,41.942976]},n81:{id:"n81",loc:[-85.637836,41.942433]},n810:{id:"n810",loc:[-85.638543,41.942935]},n811:{id:"n811",loc:[-85.638571,41.942934]},n812:{id:"n812",loc:[-85.63857,41.942901]},n813:{id:"n813",loc:[-85.638611,41.9429]},n814:{id:"n814",loc:[-85.638607,41.942769]},n815:{id:"n815",loc:[-85.63858,41.94277]},n816:{id:"n816",loc:[-85.638597,41.942614]},n817:{id:"n817",loc:[-85.638601,41.94273]},n818:{id:"n818",loc:[-85.638686,41.942731]},n819:{id:"n819",loc:[-85.638689,41.942917]},n82:{id:"n82",loc:[-85.637835,41.94242]},n820:{id:"n820",loc:[-85.638558,41.943018]},n821:{id:"n821",loc:[-85.638243,41.943019]},n822:{id:"n822",loc:[-85.637536,41.943887]},n823:{id:"n823",loc:[-85.63749,41.943926]},n824:{id:"n824",loc:[-85.63743,41.943886]},n825:{id:"n825",loc:[-85.637476,41.943847]},n826:{id:"n826",loc:[-85.637527,41.943846]},n827:{id:"n827",loc:[-85.637141,41.943728]},n828:{id:"n828",loc:[-85.637201,41.943755]},n829:{id:"n829",loc:[-85.636987,41.943608]},n83:{id:"n83",loc:[-85.63776,41.942421]},n830:{id:"n830",loc:[-85.637441,41.943807]},n831:{id:"n831",loc:[-85.637673,41.94399]},n832:{id:"n832",loc:[-85.637783,41.944137]},n833:{id:"n833",loc:[-85.63845,41.944333]},n834:{id:"n834",loc:[-85.638159,41.944248]},n835:{id:"n835",loc:[-85.637859,41.94416]},n836:{id:"n836",loc:[-85.638685,41.944542]},n837:{id:"n837",loc:[-85.638714,41.944611]},n838:{id:"n838",loc:[-85.638711,41.944757]},n839:{id:"n839",loc:[-85.638774,41.945069]},n84:{id:"n84",loc:[-85.637758,41.942339]},n840:{id:"n840",loc:[-85.638742,41.945205]},n841:{id:"n841",loc:[-85.640267,41.942403]},n842:{id:"n842",loc:[-85.640154,41.942404]},n843:{id:"n843",loc:[-85.640152,41.942249]},n844:{id:"n844",loc:[-85.640266,41.942248]},n845:{id:"n845",loc:[-85.640366,41.942599]},n846:{id:"n846",loc:[-85.640362,41.942192]},n847:{id:"n847",loc:[-85.640146,41.942191]},n848:{id:"n848",loc:[-85.640122,41.942196]},n849:{id:"n849",loc:[-85.640108,41.942211]},n85:{id:"n85",loc:[-85.637836,41.942339]},n850:{id:"n850",loc:[-85.640101,41.942236]},n851:{id:"n851",loc:[-85.640103,41.94241]},n852:{id:"n852",loc:[-85.64011,41.942435]},n853:{id:"n853",loc:[-85.640126,41.942445]},n854:{id:"n854",loc:[-85.640153,41.942451]},n855:{id:"n855",loc:[-85.640183,41.942452]},n856:{id:"n856",loc:[-85.640364,41.942452]},n857:{id:"n857",loc:[-85.640007,41.942452]},n858:{id:"n858",loc:[-85.639449,41.942461]},n859:{id:"n859",loc:[-85.640049,41.942391]},n86:{id:"n86",loc:[-85.637835,41.942301]},n860:{id:"n860",loc:[-85.640052,41.942503]},n861:{id:"n861",loc:[-85.639575,41.94251]},n862:{id:"n862",loc:[-85.639572,41.942398]},n863:{id:"n863",loc:[-85.638782,41.942227]},n864:{id:"n864",loc:[-85.63843,41.942226]},n865:{id:"n865",loc:[-85.63823,41.942183]},n866:{id:"n866",loc:[-85.638363,41.942216],tags:{barrier:"gate"}},n867:{id:"n867",loc:[-85.6384,41.942223]},n868:{id:"n868",loc:[-85.636042,41.942797]},n869:{id:"n869",loc:[-85.636308,41.942752]},n87:{id:"n87",loc:[-85.637566,41.942367]},n870:{id:"n870",loc:[-85.636516,41.942729]},n871:{id:"n871",loc:[-85.636782,41.942712]},n872:{id:"n872",loc:[-85.636944,41.942706]},n873:{id:"n873",loc:[-85.63704,41.942706]},n874:{id:"n874",loc:[-85.637237,41.942703]},n875:{id:"n875",loc:[-85.637553,41.9427]},n876:{id:"n876",loc:[-85.638236,41.942697]},n877:{id:"n877",loc:[-85.636284,41.942781]},n878:{id:"n878",loc:[-85.636551,41.942641]},n879:{id:"n879",loc:[-85.633914,41.943693]},n88:{id:"n88",loc:[-85.637566,41.94241]},n880:{id:"n880",loc:[-85.63389,41.943708]},n881:{id:"n881",loc:[-85.633866,41.943686]},n882:{id:"n882",loc:[-85.63389,41.943671]},n883:{id:"n883",loc:[-85.633857,41.943609]},n884:{id:"n884",loc:[-85.634858,41.944474]},n885:{id:"n885",loc:[-85.633988,41.943234]},n886:{id:"n886",loc:[-85.633999,41.943485]},n887:{id:"n887",loc:[-85.634109,41.943449],tags:{emergency:"fire_hydrant"}},n888:{id:"n888",loc:[-85.635728,41.942655],tags:{emergency:"fire_hydrant"}},n889:{id:"n889",loc:[-85.636499,41.942845],tags:{man_made:"flagpole"}},n89:{id:"n89",loc:[-85.637455,41.94241]},n890:{id:"n890",loc:[-85.636197,41.943073]},n891:{id:"n891",loc:[-85.636227,41.943073]},n892:{id:"n892",loc:[-85.637433,41.942933],tags:{"addr:city":"Three Rivers","addr:housenumber":"401","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",amenity:"restaurant",cuisine:"pizza",name:"Pizza Hut",brand:"Pizza Hut","brand:wikidata":"Q191615","brand:wikipedia":"en:Pizza Hut"}},n893:{id:"n893",loc:[-85.637907,41.942879],tags:{amenity:"car_wash"}},n894:{id:"n894",loc:[-85.637661,41.943018]},n895:{id:"n895",loc:[-85.636933,41.942733],tags:{emergency:"fire_hydrant"}},n896:{id:"n896",loc:[-85.637661,41.94304]},n897:{id:"n897",loc:[-85.637562,41.943041]},n898:{id:"n898",loc:[-85.637556,41.942725]},n899:{id:"n899",loc:[-85.637656,41.942724]},n9:{id:"n9",loc:[-85.635159,41.941926]},n90:{id:"n90",loc:[-85.637454,41.942367]},n900:{id:"n900",loc:[-85.637657,41.942779]},n901:{id:"n901",loc:[-85.637983,41.942777]},n902:{id:"n902",loc:[-85.637982,41.942616]},n903:{id:"n903",loc:[-85.637777,41.942778]},n904:{id:"n904",loc:[-85.637775,41.942699]},n905:{id:"n905",loc:[-85.637772,41.942618]},n906:{id:"n906",loc:[-85.637982,41.942698]},n907:{id:"n907",loc:[-85.637941,41.942378],tags:{"addr:city":"Three Rivers","addr:housenumber":"416","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",name:"Gem Pawnbroker",shop:"pawnbroker"}},n908:{id:"n908",loc:[-85.637515,41.942394],tags:{second_hand:"only",shop:"car"}},n909:{id:"n909",loc:[-85.638743,41.942374],tags:{"addr:city":"Three Rivers","addr:housenumber":"500","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",name:"William Towing","service:vehicle:towing":"yes","service:vehicle:tyres":"yes",shop:"car_repair"}},n91:{id:"n91",loc:[-85.637565,41.942341]},n910:{id:"n910",loc:[-85.638594,41.942357]},n911:{id:"n911",loc:[-85.634312,41.943562],tags:{"addr:city":"Three Rivers","addr:housenumber":"145","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",amenity:"cafe",cuisine:"coffee_shop",name:"L.A.'s Coffee Cafe",outdoor_seating:"yes"}},n912:{id:"n912",loc:[-85.634404,41.943512]},n913:{id:"n913",loc:[-85.634391,41.943519],tags:{entrance:"yes"}},n914:{id:"n914",loc:[-85.634259,41.943538],tags:{entrance:"yes"}},n915:{id:"n915",loc:[-85.634247,41.943528]},n916:{id:"n916",loc:[-85.633747,41.943322],tags:{"addr:city":"Three Rivers","addr:housenumber":"132","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",name:"Preferred Insurance Services",office:"insurance"}},n917:{id:"n917",loc:[-85.63299,41.943686],tags:{"addr:city":"Three Rivers","addr:housenumber":"101","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Lynn's Garage","service:vehicle:tyres":"yes",shop:"car_repair"}},n918:{id:"n918",loc:[-85.633438,41.944883]},n919:{id:"n919",loc:[-85.633265,41.944983]},n92:{id:"n92",loc:[-85.637481,41.942341]},n920:{id:"n920",loc:[-85.633315,41.945027]},n921:{id:"n921",loc:[-85.633376,41.944827]},n922:{id:"n922",loc:[-85.633199,41.944922]},n923:{id:"n923",loc:[-85.633316,41.944772]},n924:{id:"n924",loc:[-85.633147,41.944867]},n925:{id:"n925",loc:[-85.633261,41.944719]},n926:{id:"n926",loc:[-85.633096,41.944812]},n927:{id:"n927",loc:[-85.633191,41.944645]},n928:{id:"n928",loc:[-85.632981,41.94476]},n929:{id:"n929",loc:[-85.633062,41.94483]},n93:{id:"n93",loc:[-85.637481,41.94226]},n930:{id:"n930",loc:[-85.633146,41.944602]},n931:{id:"n931",loc:[-85.632969,41.944703]},n932:{id:"n932",loc:[-85.633008,41.944745]},n933:{id:"n933",loc:[-85.633088,41.944545]},n934:{id:"n934",loc:[-85.632868,41.944655]},n935:{id:"n935",loc:[-85.632941,41.944718]},n936:{id:"n936",loc:[-85.633028,41.944483]},n937:{id:"n937",loc:[-85.632817,41.944605]},n938:{id:"n938",loc:[-85.632923,41.944373]},n939:{id:"n939",loc:[-85.632692,41.944485]},n94:{id:"n94",loc:[-85.637565,41.94226]},n940:{id:"n940",loc:[-85.632871,41.944316]},n941:{id:"n941",loc:[-85.632655,41.944421]},n942:{id:"n942",loc:[-85.632711,41.944478]},n943:{id:"n943",loc:[-85.632825,41.94426]},n944:{id:"n944",loc:[-85.632606,41.944363]},n945:{id:"n945",loc:[-85.63275,41.94418]},n946:{id:"n946",loc:[-85.632588,41.944256]},n947:{id:"n947",loc:[-85.632611,41.944279]},n948:{id:"n948",loc:[-85.632548,41.944306]},n949:{id:"n949",loc:[-85.632512,41.944406]},n95:{id:"n95",loc:[-85.637188,41.942217]},n950:{id:"n950",loc:[-85.632565,41.944463]},n951:{id:"n951",loc:[-85.632579,41.944456]},n952:{id:"n952",loc:[-85.632634,41.944518]},n953:{id:"n953",loc:[-85.632686,41.944569]},n954:{id:"n954",loc:[-85.632745,41.944537]},n955:{id:"n955",loc:[-85.632659,41.944587]},n956:{id:"n956",loc:[-85.632778,41.944705]},n957:{id:"n957",loc:[-85.632815,41.944301],tags:{"addr:city":"Three Rivers","addr:housenumber":"5","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Access Point Employment",office:"employment_agency"}},n958:{id:"n958",loc:[-85.6332,41.944174],tags:{"addr:city":"Three Rivers","addr:housenumber":"6","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Paisley Emporium",shop:"second_hand"}},n959:{id:"n959",loc:[-85.633578,41.944568],tags:{"addr:city":"Three Rivers","addr:housenumber":"22","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Lowry's Books",shop:"books"}},n96:{id:"n96",loc:[-85.637189,41.942303]},n960:{id:"n960",loc:[-85.63344,41.944443],tags:{"addr:city":"Three Rivers","addr:housenumber":"16","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",amenity:"restaurant",cuisine:"pizza",name:"Paisano's Bar and Grill"}},n961:{id:"n961",loc:[-85.633009,41.944542],tags:{"addr:city":"Three Rivers","addr:housenumber":"13","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",amenity:"cafe",cuisine:"american",internet_access:"yes",name:"Main Street Cafe"}},n962:{id:"n962",loc:[-85.633674,41.944682],tags:{"addr:city":"Three Rivers","addr:housenumber":"28","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",leisure:"fitness_centre",name:"Main Street Fitness"}},n963:{id:"n963",loc:[-85.633376,41.944868],tags:{"addr:city":"Three Rivers","addr:housenumber":"27","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",leisure:"fitness_centre",name:"Main Street Barbell"}},n964:{id:"n964",loc:[-85.633366,41.944783]},n965:{id:"n965",loc:[-85.633296,41.94482]},n966:{id:"n966",loc:[-85.633214,41.94487]},n967:{id:"n967",loc:[-85.633005,41.944988]},n968:{id:"n968",loc:[-85.633269,41.944816]},n969:{id:"n969",loc:[-85.633215,41.944842]},n97:{id:"n97",loc:[-85.637299,41.942302]},n970:{id:"n970",loc:[-85.633245,41.944871]},n971:{id:"n971",loc:[-85.633296,41.944845]},n972:{id:"n972",loc:[-85.633254,41.944845],tags:{natural:"tree"}},n973:{id:"n973",loc:[-85.633557,41.945515]},n974:{id:"n974",loc:[-85.633279,41.945246]},n975:{id:"n975",loc:[-85.63324,41.945226]},n976:{id:"n976",loc:[-85.6332,41.945213]},n977:{id:"n977",loc:[-85.633133,41.945164]},n978:{id:"n978",loc:[-85.63312,41.945132]},n979:{id:"n979",loc:[-85.633095,41.945081]},n98:{id:"n98",loc:[-85.637299,41.942314]},n980:{id:"n980",loc:[-85.633064,41.945047]},n981:{id:"n981",loc:[-85.632739,41.944742]},n982:{id:"n982",loc:[-85.633281,41.945026]},n983:{id:"n983",loc:[-85.633155,41.944903]},n984:{id:"n984",loc:[-85.633079,41.944829]},n985:{id:"n985",loc:[-85.63304,41.944853]},n986:{id:"n986",loc:[-85.632949,41.944776]},n987:{id:"n987",loc:[-85.632921,41.944725]},n988:{id:"n988",loc:[-85.632859,41.944673]},n989:{id:"n989",loc:[-85.632895,41.94505]},n99:{id:"n99",loc:[-85.637396,41.942313]},n990:{id:"n990",loc:[-85.633336,41.945138]},n991:{id:"n991",loc:[-85.633466,41.945265]},n992:{id:"n992",loc:[-85.633367,41.945327]},n993:{id:"n993",loc:[-85.633163,41.945189]},n994:{id:"n994",loc:[-85.633678,41.945309]},n995:{id:"n995",loc:[-85.633619,41.945261]},n996:{id:"n996",loc:[-85.63355,41.945301]},n997:{id:"n997",loc:[-85.633607,41.945352]},n998:{id:"n998",loc:[-85.633579,41.945327],tags:{entrance:"yes"}},n999:{id:"n999",loc:[-85.633445,41.945404]},r2:{id:"r2",members:[{id:"w225",role:"outer",type:"way"}],tags:{type:"multipolygon",natural:"water",water:"river"}},r5:{id:"r5",members:[{id:"w642",role:"outer",type:"way"}],tags:{admin_level:"8",border_type:"city",boundary:"administrative",name:"Three Rivers",place:"city",type:"boundary"}},w1:{id:"w1",nodes:["n5","n1797"],tags:{highway:"residential",name:"12th Avenue"}},w10:{id:"w10",nodes:["n54","n55","n56","n57","n891","n890","n54"],tags:{building:"yes"}},w100:{id:"w100",nodes:["n451","n915","n452"],tags:{highway:"footway"}},w101:{id:"w101",nodes:["n461","n462","n463","n464","n465","n466"],tags:{barrier:"fence"}},w102:{id:"w102",nodes:["n467","n468","n469","n470","n472","n467"],tags:{amenity:"parking"}},w103:{id:"w103",nodes:["n2597","n2444","n471","n472"],tags:{highway:"footway"}},w104:{id:"w104",nodes:["n473","n474","n325"],tags:{footway:"sidewalk",highway:"footway"}},w105:{id:"w105",nodes:["n475","n324","n325"],tags:{footway:"sidewalk",highway:"footway"}},w106:{id:"w106",nodes:["n886","n452","n476"],tags:{footway:"sidewalk",highway:"footway"}},w107:{id:"w107",nodes:["n485","n4678","n486","n18"],tags:{highway:"service"}},w108:{id:"w108",nodes:["n300","n487","n488","n489","n490"],tags:{highway:"footway"}},w109:{id:"w109",nodes:["n490","n491"],tags:{highway:"footway"}},w11:{id:"w11",nodes:["n58","n63","n59","n315","n60"],tags:{highway:"service"}},w110:{id:"w110",nodes:["n492","n493","n494","n495","n496","n497","n492"],tags:{building:"yes"}},w111:{id:"w111",nodes:["n498","n499","n511"],tags:{highway:"service"}},w112:{id:"w112",nodes:["n510","n500","n501","n502","n503","n504","n505","n506","n507","n508","n509"],tags:{highway:"service"}},w113:{id:"w113",nodes:["n511","n510"],tags:{covered:"yes",highway:"service"}},w114:{id:"w114",nodes:["n512","n513","n514","n515","n512"],tags:{building:"yes"}},w115:{id:"w115",nodes:["n516","n517","n518","n519","n516"],tags:{building:"yes"}},w116:{id:"w116",nodes:["n520","n521","n522","n523","n520"],tags:{building:"yes"}},w117:{id:"w117",nodes:["n524","n525","n526","n527","n528","n529","n530","n531","n532","n533","n534","n535","n524"],tags:{building:"yes"}},w118:{id:"w118",nodes:["n536","n537","n538","n539","n536"],tags:{building:"yes"}},w119:{id:"w119",nodes:["n540","n541","n542","n543","n544","n545","n546","n547","n540"],tags:{building:"yes"}},w12:{id:"w12",nodes:["n61","n314","n70","n62","n63"],tags:{highway:"service"}},w120:{id:"w120",nodes:["n548","n549","n550","n551","n552","n553","n554","n555","n556","n557","n548"],tags:{building:"yes"}},w121:{id:"w121",nodes:["n558","n559","n560","n561","n562","n563","n564","n565","n558"],tags:{building:"yes"}},w122:{id:"w122",nodes:["n566","n567","n568","n569","n566"],tags:{building:"yes"}},w123:{id:"w123",nodes:["n570","n571","n572","n573","n570"],tags:{building:"yes"}},w124:{id:"w124",nodes:["n574","n575","n576","n577","n574"],tags:{building:"yes"}},w125:{id:"w125",nodes:["n578","n579","n580","n581","n578"],tags:{building:"yes"}},w126:{id:"w126",nodes:["n582","n583","n584","n585","n582"],tags:{building:"yes"}},w127:{id:"w127",nodes:["n586","n587","n588","n589","n590","n591","n592","n593","n586"],tags:{building:"yes"}},w128:{id:"w128",nodes:["n594","n595","n596","n597","n598","n599","n600","n601","n594"],tags:{building:"yes"}},w129:{id:"w129",nodes:["n309","n602","n603"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w13:{id:"w13",nodes:["n64","n65","n66","n67","n68","n69","n64"],tags:{amenity:"parking"}},w130:{id:"w130",nodes:["n603","n604"],tags:{footway:"sidewalk",highway:"footway"}},w131:{id:"w131",nodes:["n604","n605","n606"],tags:{footway:"sidewalk",highway:"footway"}},w132:{id:"w132",nodes:["n606","n607"],tags:{footway:"sidewalk",highway:"footway"}},w133:{id:"w133",nodes:["n607","n610","n608","n603"],tags:{footway:"sidewalk",highway:"footway"}},w134:{id:"w134",nodes:["n609","n610","n611"],tags:{highway:"service",service:"driveway",surface:"unpaved"}},w135:{id:"w135",nodes:["n244","n245","n246"],tags:{highway:"service"}},w136:{id:"w136",nodes:["n612","n613","n614","n615","n612"],tags:{amenity:"shelter",building:"yes"}},w137:{id:"w137",nodes:["n2779","n2788","n2776","n2778","n2775","n2787","n2440","n2437","n629","n2438","n630","n2439","n2407","n2408","n2409"],tags:{highway:"residential",name:"Foster Street"}},w138:{id:"w138",nodes:["n2779","n625","n626","n627"],tags:{highway:"residential",name:"Foster Street",oneway:"yes"}},w139:{id:"w139",nodes:["n630","n631","n632","n2437"],tags:{highway:"service"}},w14:{id:"w14",nodes:["n71","n72","n73","n74","n71"],tags:{building:"yes"}},w140:{id:"w140",nodes:["n643","n637","n715","n2410"],tags:{highway:"footway",name:"Mural Mall"}},w141:{id:"w141",nodes:["n639","n2516"],tags:{barrier:"wall"}},w142:{id:"w142",nodes:["n640","n641","n645","n642","n660","n643","n644"],tags:{highway:"service"}},w143:{id:"w143",nodes:["n646","n647"],tags:{highway:"service"}},w144:{id:"w144",nodes:["n654","n655","n656"],tags:{barrier:"wall"}},w145:{id:"w145",nodes:["n665","n666","n667"],tags:{barrier:"wall"}},w146:{id:"w146",nodes:["n2727","n662","n2719"],tags:{highway:"service",oneway:"yes",service:"parking_aisle"}},w147:{id:"w147",nodes:["n2725","n674"],tags:{highway:"service",oneway:"yes"}},w148:{id:"w148",nodes:["n2464","n2460","n2454","n684","n2455","n2464"],tags:{building:"yes"}},w149:{id:"w149",nodes:["n2456","n685","n686","n687","n2456"],tags:{building:"yes"}},w15:{id:"w15",nodes:["n75","n76","n77","n78","n75"],tags:{building:"yes"}},w150:{id:"w150",nodes:["n685","n688","n689","n690","n691","n692","n686","n685"],tags:{building:"yes"}},w151:{id:"w151",nodes:["n688","n693","n694","n689","n688"],tags:{building:"yes"}},w152:{id:"w152",nodes:["n693","n695","n702","n696","n697","n694","n693"],tags:{building:"yes"}},w153:{id:"w153",nodes:["n695","n698","n699","n700","n701","n702","n695"],tags:{building:"yes"}},w154:{id:"w154",nodes:["n698","n703","n707","n704","n699","n698"],tags:{building:"yes"}},w155:{id:"w155",nodes:["n703","n705","n706","n707","n703"],tags:{building:"yes"}},w156:{id:"w156",nodes:["n705","n708","n709","n706","n705"],tags:{building:"yes"}},w157:{id:"w157",nodes:["n709","n710","n711","n708","n709"],tags:{building:"yes"}},w158:{id:"w158",nodes:["n369","n712","n725","n713","n714","n715","n727","n716","n717","n718","n719"],tags:{footway:"sidewalk",highway:"footway"}},w159:{id:"w159",nodes:["n714","n720","n721"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w16:{id:"w16",nodes:["n79","n80","n81","n82","n83","n84","n85","n86","n79"],tags:{building:"yes"}},w160:{id:"w160",nodes:["n729","n721","n722","n964","n723","n724"],tags:{footway:"sidewalk",highway:"footway"}},w161:{id:"w161",nodes:["n713","n726","n722"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w162:{id:"w162",nodes:["n727","n2411","n728"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w163:{id:"w163",nodes:["n729","n730","n731"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w164:{id:"w164",nodes:["n365","n732","n733","n738"],tags:{footway:"sidewalk",highway:"footway"}},w165:{id:"w165",nodes:["n724","n734","n367","n735","n736","n737"],tags:{footway:"sidewalk",highway:"footway"}},w166:{id:"w166",nodes:["n739","n2037","n2038","n2039","n2040","n1623","n2032"],tags:{highway:"footway"}},w167:{id:"w167",nodes:["n150","n751"],tags:{highway:"service"}},w168:{id:"w168",nodes:["n752","n753","n754","n755","n752"],tags:{building:"yes"}},w169:{id:"w169",nodes:["n756","n757","n758","n759","n756"],tags:{building:"yes"}},w17:{id:"w17",nodes:["n87","n88","n89","n90","n87"],tags:{building:"yes"}},w170:{id:"w170",nodes:["n760","n761","n762","n763","n764","n765","n760"],tags:{building:"yes"}},w171:{id:"w171",nodes:["n766","n767","n768","n769","n770","n771","n772","n773","n774","n775","n776","n777","n766"],tags:{building:"yes"}},w172:{id:"w172",nodes:["n778","n779","n780","n781","n782","n783","n784","n785","n778"],tags:{building:"yes"}},w173:{id:"w173",nodes:["n786","n787","n788","n789","n786"],tags:{building:"yes"}},w174:{id:"w174",nodes:["n790","n791","n792","n793","n794","n795","n796","n797","n798","n799","n800","n801","n790"],tags:{building:"yes"}},w175:{id:"w175",nodes:["n802","n803","n804","n805","n802"],tags:{building:"yes"}},w176:{id:"w176",nodes:["n806","n807","n808","n809","n810","n811","n812","n813","n814","n815","n806"],tags:{building:"yes"}},w177:{id:"w177",nodes:["n816","n1140","n817","n818","n819","n820","n821"],tags:{highway:"service"}},w178:{id:"w178",nodes:["n822","n823","n824","n825","n822"],tags:{building:"yes"}},w179:{id:"w179",nodes:["n841","n842","n843","n844","n841"],tags:{building:"yes"}},w18:{id:"w18",nodes:["n91","n92","n93","n94","n91"],tags:{building:"yes"}},w180:{id:"w180",nodes:["n845","n856","n846"],tags:{highway:"service"}},w181:{id:"w181",nodes:["n846","n847","n848","n849","n850","n851","n852","n853","n854","n855","n856"],tags:{highway:"service",oneway:"yes",service:"drive-through"}},w182:{id:"w182",nodes:["n857","n858"],tags:{highway:"service"}},w183:{id:"w183",nodes:["n859","n860","n861","n862","n859"],tags:{amenity:"parking"}},w184:{id:"w184",nodes:["n863","n864","n867","n866","n865"],tags:{highway:"service"}},w185:{id:"w185",nodes:["n883","n884"],tags:{barrier:"fence"}},w186:{id:"w186",nodes:["n1954","n622","n1955"],tags:{highway:"path",name:"Riverwalk Trail"}},w187:{id:"w187",nodes:["n621","n1954"],tags:{highway:"steps",incline:"up",name:"Riverwalk Trail",surface:"wood"}},w188:{id:"w188",nodes:["n2274","n2275","n2276","n2277","n2278","n2279","n1953","n621"],tags:{highway:"path",name:"Riverwalk Trail",surface:"wood"}},w189:{id:"w189",nodes:["n2273","n2274"],tags:{highway:"steps",incline:"down",name:"Riverwalk Trail",surface:"wood"}},w19:{id:"w19",nodes:["n95","n96","n97","n98","n99","n100","n101","n102","n95"],tags:{building:"yes"}},w190:{id:"w190",nodes:["n821","n894","n900","n903","n901"],tags:{highway:"service"}},w191:{id:"w191",nodes:["n896","n897","n898","n899","n900","n894","n896"],tags:{amenity:"parking"}},w192:{id:"w192",nodes:["n903","n904","n905"],tags:{highway:"service"}},w193:{id:"w193",nodes:["n901","n906","n902"],tags:{highway:"service"}},w194:{id:"w194",nodes:["n912","n913"],tags:{highway:"footway"}},w195:{id:"w195",nodes:["n914","n915"],tags:{highway:"footway"}},w196:{id:"w196",nodes:["n2466","n918","n919","n920","n2466"],tags:{building:"yes"}},w197:{id:"w197",nodes:["n918","n921","n922","n919","n918"],tags:{building:"yes"}},w198:{id:"w198",nodes:["n923","n925","n926","n924","n923"],tags:{building:"yes"}},w199:{id:"w199",nodes:["n925","n927","n932","n928","n929","n926","n925"],tags:{building:"yes"}},w2:{id:"w2",nodes:["n3523","n2182","n2160"],tags:{highway:"service"}},w20:{id:"w20",nodes:["n103","n104","n105","n106","n107","n108","n109","n110","n111","n112","n113","n114","n103"],tags:{building:"yes"}},w200:{id:"w200",nodes:["n927","n930","n931","n932","n927"],tags:{building:"yes"}},w201:{id:"w201",nodes:["n930","n933","n934","n935","n931","n930"],tags:{building:"yes"}},w202:{id:"w202",nodes:["n933","n936","n937","n934","n933"],tags:{building:"yes"}},w203:{id:"w203",nodes:["n936","n938","n942","n939","n954","n937","n936"],tags:{building:"yes"}},w204:{id:"w204",nodes:["n938","n940","n941","n942","n938"],tags:{building:"yes"}},w205:{id:"w205",nodes:["n940","n943","n944","n941","n940"],tags:{building:"yes"}},w206:{id:"w206",nodes:["n943","n945","n946","n947","n948","n944","n943"],tags:{building:"yes"}},w207:{id:"w207",nodes:["n944","n949","n950","n951","n941","n944"],tags:{building:"yes"}},w208:{id:"w208",nodes:["n941","n951","n952","n939","n942","n941"],tags:{building:"yes"}},w209:{id:"w209",nodes:["n952","n953","n954","n939","n952"],tags:{building:"yes"}},w21:{id:"w21",nodes:["n115","n116","n117","n118","n115"],tags:{building:"yes"}},w210:{id:"w210",nodes:["n953","n955","n956","n934","n937","n954","n953"],tags:{building:"yes"}},w211:{id:"w211",nodes:["n964","n965"],tags:{highway:"footway"}},w212:{id:"w212",nodes:["n966","n983","n967","n989"],tags:{highway:"footway"}},w213:{id:"w213",nodes:["n965","n968","n969","n966","n970","n971","n965"],tags:{highway:"footway"}},w214:{id:"w214",nodes:["n973","n999","n992","n974","n975","n976","n993","n977","n978","n979","n980","n967","n981","n1000","n1001","n1002","n1003","n1004","n1005","n1006","n1007","n1008","n1009"],tags:{footway:"sidewalk",highway:"footway"}},w215:{id:"w215",nodes:["n978","n982","n983","n984","n985","n986","n987","n988","n981"],tags:{highway:"footway"}},w216:{id:"w216",nodes:["n976","n990","n991","n992"],tags:{highway:"footway"}},w217:{id:"w217",nodes:["n998","n999"],tags:{highway:"footway"}},w218:{id:"w218",nodes:["n1019","n3355","n1020"],tags:{footway:"sidewalk",highway:"footway"}},w219:{id:"w219",nodes:["n719","n1026","n1027"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w22:{id:"w22",nodes:["n119","n120","n121","n122","n119"],tags:{building:"yes"}},w220:{id:"w220",nodes:["n1027","n1028","n1019"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w221:{id:"w221",nodes:["n2080","n1828","n1863","n1829"],tags:{highway:"tertiary",name:"Constantine Street"}},w222:{id:"w222",nodes:["n1029","n1030","n1031"],tags:{highway:"service"}},w223:{id:"w223",nodes:["n2213","n2171","n2183","n2180","n2205","n2177","n2179","n2218","n2200","n2188","n2169","n2196","n2162","n2170","n2211","n2216","n2204","n2220","n2164","n2210","n2217","n2189","n460","n453","n2282"],tags:{name:"Rocky River",waterway:"river"}},w224:{id:"w224",nodes:["n3750","n3751","n3752"],tags:{highway:"service",service:"alley",surface:"unpaved"}},w225:{id:"w225",nodes:["n2134","n2127","n2313","n2109","n2112","n2129","n2156","n2146","n2126","n2153","n2288","n2283","n2284","n2131","n2286","n2287","n2285","n2132","n2140","n2289","n2122","n2114","n2149","n2119","n2106","n2111","n2145","n2113","n2117","n2159","n2143","n2123","n2142","n2116","n2154","n2139","n2150","n2157","n2120","n2138","n2130","n2136","n2155","n2107","n2141","n2124","n3754","n2121","n2105","n2108","n3755","n2128","n2110","n2152","n2125","n2135","n2186","n2115","n2144","n2137","n2133","n2148","n2118","n1871","n1875","n1872","n2041","n1873","n2042","n1874","n1884","n1870","n2151","n2147","n2158","n2104","n2134"]},w226:{id:"w226",nodes:["n2243","n2280","n2244","n2245","n2246","n2247","n1931","n1932","n1933","n1934","n1935","n1936","n1937","n1938","n4681","n1939","n1940","n1941","n1942","n1943","n1944","n1945","n1946","n1947"],tags:{highway:"path",name:"Riverwalk Trail",surface:"asphalt",width:"3"}},w227:{id:"w227",nodes:["n2994","n3012","n3011","n2958"],tags:{highway:"secondary",name:"Main Street"}},w228:{id:"w228",nodes:["n2747","n2762","n2757","n2746","n2761","n2758","n2760","n2755","n2749","n2691","n1028","n2432","n2414","n2413","n2412","n2411","n2410","n720","n726","n370","n368","n2748"],tags:{highway:"primary",name:"Main Street"}},w229:{id:"w229",nodes:["n2083","n2103","n2102","n2084","n2085","n2086","n2087","n2242","n471","n324","n2101","n332","n1868"],tags:{name:"Conrail Railroad",railway:"rail"}},w23:{id:"w23",nodes:["n123","n124","n125","n126","n123"],tags:{building:"yes"}},w230:{id:"w230",nodes:["n2232","n2236","n2231","n2230","n2226","n2241","n2237","n2227","n1182","n2233","n2228","n2229","n1183","n2234","n19","n1891","n20","n2223","n2224","n2238","n2235","n2240","n2225","n2239"],tags:{name:"Saint Joseph River",waterway:"river"}},w231:{id:"w231",nodes:["n456","n1036","n1037","n1038"],tags:{barrier:"wall"}},w232:{id:"w232",nodes:["n1034","n1039","n1040"],tags:{barrier:"wall"}},w233:{id:"w233",nodes:["n1041","n1042","n1043","n1044","n1045","n1046","n1041"],tags:{access:"private",leisure:"swimming_pool"}},w234:{id:"w234",nodes:["n1047","n1048"],tags:{barrier:"hedge"}},w235:{id:"w235",nodes:["n1049","n1050","n1051","n1052","n1049"],tags:{building:"yes"}},w236:{id:"w236",nodes:["n1053","n1054","n1055","n1056","n1057","n1058","n1059","n1060","n1053"],tags:{building:"yes"}},w237:{id:"w237",nodes:["n1061","n1062","n1063","n1064","n1065","n1061"],tags:{building:"yes"}},w238:{id:"w238",nodes:["n1066","n1067","n1068","n1069","n1070","n1071","n1066"],tags:{building:"yes"}},w239:{id:"w239",nodes:["n1072","n1073","n1074","n1075","n1072"],tags:{building:"yes"}},w24:{id:"w24",nodes:["n127","n128","n129","n130","n127"],tags:{building:"yes"}},w240:{id:"w240",nodes:["n1076","n1077","n1078","n1079","n1080","n1081","n1076"],tags:{building:"yes"}},w241:{id:"w241",nodes:["n1082","n1083","n1084","n1085","n1082"],tags:{building:"yes"}},w242:{id:"w242",nodes:["n1086","n1087","n1088","n1089","n1086"],tags:{building:"yes"}},w243:{id:"w243",nodes:["n1090","n1091","n1092","n1093","n1094","n1095","n1096","n1097","n1090"],tags:{building:"yes"}},w244:{id:"w244",nodes:["n1098","n1099","n1100","n1101"],tags:{barrier:"fence"}},w245:{id:"w245",nodes:["n1102","n835","n30","n2590","n35","n29","n2591","n34","n28","n2592","n2312","n32","n2593","n31","n33","n2594","n2595","n1102"],tags:{highway:"service"}},w246:{id:"w246",nodes:["n1103","n1139","n1104"],tags:{barrier:"fence"}},w247:{id:"w247",nodes:["n1105","n1106","n1107","n1108","n1109","n1110","n1111","n1112","n1113","n1114","n1105"],tags:{building:"yes"}},w248:{id:"w248",nodes:["n1115","n1116","n1117","n1118","n1119","n1120","n1115"],tags:{building:"yes"}},w249:{id:"w249",nodes:["n1121","n1122","n1123","n1124","n1121"],tags:{building:"yes"}},w25:{id:"w25",nodes:["n131","n132","n133","n134","n135","n136","n137","n138","n139","n140","n141","n142","n131"],tags:{building:"yes"}},w250:{id:"w250",nodes:["n1125","n1126","n1127","n1128","n1129","n1130","n1131","n1132","n1133","n1134","n1135","n1136","n1125"],tags:{building:"yes"}},w251:{id:"w251",nodes:["n1137","n1138","n1139"],tags:{barrier:"fence"}},w252:{id:"w252",nodes:["n876","n1140","n1141"],tags:{footway:"sidewalk",highway:"footway"}},w253:{id:"w253",nodes:["n1141","n1142","n1143","n1144","n1145","n1146"],tags:{footway:"sidewalk",highway:"footway"}},w254:{id:"w254",nodes:["n1146","n4743","n1147","n1148"],tags:{footway:"sidewalk",highway:"footway"}},w255:{id:"w255",nodes:["n1148","n1149","n1150","n1151"],tags:{bridge:"yes",footway:"sidewalk",highway:"footway",layer:"1"}},w256:{id:"w256",nodes:["n1151","n1153","n1154","n1155"],tags:{footway:"sidewalk",highway:"footway"}},w257:{id:"w257",nodes:["n1155","n1156"],tags:{bridge:"yes",footway:"sidewalk",highway:"footway",layer:"1"}},w258:{id:"w258",nodes:["n1157","n1158"],tags:{barrier:"retaining_wall"}},w259:{id:"w259",nodes:["n1156","n1161","n1159","n1160","n719"],tags:{footway:"sidewalk",highway:"footway"}},w26:{id:"w26",nodes:["n143","n608","n144"],tags:{highway:"service"}},w260:{id:"w260",nodes:["n1162","n1163","n1164","n1165","n1166","n1167","n1168","n1169","n1170","n2528"],tags:{highway:"footway"}},w261:{id:"w261",nodes:["n1171","n1172","n1173"],tags:{barrier:"wall"}},w262:{id:"w262",nodes:["n1175","n1176","n1177","n1178","n1179","n1180","n1181","n1175"],tags:{natural:"wood"}},w263:{id:"w263",nodes:["n1947","n1184","n1948","n1185","n1949","n1957","n1950","n480","n1951","n479","n478","n477","n1952","n1851","n1956","n2248","n619","n618","n2249","n2250","n2251","n617","n2252","n616","n2253","n829","n2254","n827","n828","n2255","n830","n2256","n826","n2257","n831","n2258","n832","n835","n834","n2312","n2267","n2259","n833","n2268","n2260","n836","n2261","n837","n2262","n838","n2263","n2264","n839","n2265","n840","n2266"],tags:{highway:"path",name:"Riverwalk Trail",surface:"asphalt",width:"3"}},w264:{id:"w264",nodes:["n1186","n1187","n1188","n1189","n1186"],tags:{building:"yes"}},w265:{id:"w265",nodes:["n1190","n1191","n1192","n1193","n1190"],tags:{building:"yes"}},w266:{id:"w266",nodes:["n1194","n1195","n1196","n1197","n1198","n1199","n1200","n1201","n1194"],tags:{building:"yes"}},w267:{id:"w267",nodes:["n1205","n1206","n1207","n1208","n1209","n1210","n1205"],tags:{building:"house"}},w268:{id:"w268",nodes:["n1211","n1212","n1213","n1214","n1215","n1216","n1217","n1218","n1219","n1220","n1211"],tags:{building:"house"}},w269:{id:"w269",nodes:["n1221","n1225","n1222","n1223","n1224","n1221"],tags:{building:"house"}},w27:{id:"w27",nodes:["n145","n147","n146"],tags:{highway:"footway"}},w270:{id:"w270",nodes:["n1225","n1226","n1227","n1229","n1228"],tags:{barrier:"fence"}},w271:{id:"w271",nodes:["n1229","n1230"],tags:{barrier:"fence"}},w272:{id:"w272",nodes:["n1231","n1232","n1233","n1234","n1235","n1236","n1237","n1238","n1231"],tags:{building:"house"}},w273:{id:"w273",nodes:["n1239","n1240","n1241","n1242","n1243","n1244","n1245","n1246","n1239"],tags:{building:"house"}},w274:{id:"w274",nodes:["n1247","n1248","n1249","n1250","n1247"],tags:{building:"house"}},w275:{id:"w275",nodes:["n1251","n1252","n1253","n1254","n1255","n1256","n1251"],tags:{building:"house"}},w276:{id:"w276",nodes:["n1257","n1258","n1259","n1260","n1257"],tags:{building:"shed"}},w277:{id:"w277",nodes:["n1261","n1262","n1263","n1264","n1265","n1266","n1267","n1268","n1261"],tags:{building:"house"}},w278:{id:"w278",nodes:["n1269","n1270","n1271","n1272","n1273","n1274","n1284","n1269"],tags:{building:"house"}},w279:{id:"w279",nodes:["n1275","n1276","n1277","n1278","n1279","n1280","n1275"],tags:{building:"house"}},w28:{id:"w28",nodes:["n147","n148"],tags:{highway:"footway"}},w280:{id:"w280",nodes:["n1281","n1282","n1283","n1284"],tags:{barrier:"fence"}},w281:{id:"w281",nodes:["n1285","n1286","n1287","n1288","n1285"],tags:{building:"house"}},w282:{id:"w282",nodes:["n1289","n1290","n1291","n1292","n1293","n1294","n1295","n1296","n1289"],tags:{building:"house"}},w283:{id:"w283",nodes:["n1297","n1298","n1299","n1300","n1301","n1302","n1297"],tags:{access:"private",leisure:"swimming_pool"}},w284:{id:"w284",nodes:["n1303","n1304","n1305","n1306","n1307","n1308","n1309","n1310","n1311","n1312","n1303"],tags:{building:"house"}},w285:{id:"w285",nodes:["n1313","n1314","n1315","n1316","n1313"],tags:{building:"house"}},w286:{id:"w286",nodes:["n1317","n1318","n1319","n1320","n1321","n1322","n1323","n1324","n1325","n1326","n1327","n1328","n1329","n1330","n1317"],tags:{building:"house"}},w287:{id:"w287",nodes:["n1331","n1332","n1333","n1334","n1465","n1335","n1336","n1331"],tags:{building:"yes"}},w288:{id:"w288",nodes:["n1349","n1350","n1351","n1352","n1353","n1354","n1355","n1337","n1338","n1341","n1342","n1343","n1344","n1345","n1346","n1347","n1348","n1339","n1340","n1349"],tags:{access:"private",leisure:"swimming_pool"}},w289:{id:"w289",nodes:["n1356","n1331"],tags:{barrier:"fence"}},w29:{id:"w29",nodes:["n149","n874","n150","n151","n897","n898","n875","n152"],tags:{highway:"service",oneway:"yes"}},w290:{id:"w290",nodes:["n1357","n1358","n1359","n1360","n1357"],tags:{building:"shed"}},w291:{id:"w291",nodes:["n1358","n1361","n1362"],tags:{barrier:"fence"}},w292:{id:"w292",nodes:["n1363","n1364","n1365","n1366","n1367","n1368","n1363"],tags:{building:"house"}},w293:{id:"w293",nodes:["n1369","n1370","n1371","n1372","n1373","n1374","n1369"],tags:{leisure:"swimming_pool"}},w294:{id:"w294",nodes:["n1367","n1375","n1376","n1377"],tags:{barrier:"fence"}},w295:{id:"w295",nodes:["n1378","n1379","n1380","n1381","n1378"],tags:{building:"house"}},w296:{id:"w296",nodes:["n1382","n1383","n1384","n1385","n1386","n1387","n1382"],tags:{building:"house"}},w297:{id:"w297",nodes:["n1388","n1389","n1390","n1391","n1392","n1393","n1388"],tags:{building:"house"}},w298:{id:"w298",nodes:["n1394","n1395","n1396","n1397","n1394"],tags:{building:"house"}},w299:{id:"w299",nodes:["n1398","n1399","n1400","n1401","n1398"],tags:{access:"private3",leisure:"swimming_pool"}},w3:{id:"w3",nodes:["n1","n2"],tags:{highway:"track",name:"Water Street"}},w30:{id:"w30",nodes:["n153","n154","n155","n156","n153"],tags:{amenity:"parking"}},w300:{id:"w300",nodes:["n1402","n1403","n1404","n1405","n1406","n1407","n1408","n1409","n1410","n1411","n1412","n1413","n1402"],tags:{building:"house"}},w301:{id:"w301",nodes:["n1414","n1415","n1416","n1417","n1414"],tags:{building:"garage"}},w302:{id:"w302",nodes:["n1406","n1418","n1419","n1403"],tags:{barrier:"fence"}},w303:{id:"w303",nodes:["n1423","n1424","n1425","n1426","n1427","n1428","n1429","n1430","n1431","n1432","n1423"],tags:{building:"house"}},w304:{id:"w304",nodes:["n1433","n1434","n1435","n1446","n1436","n1437","n1438","n1439","n1444","n1440","n1441","n1445","n1442","n1443","n1433"],tags:{access:"private",leisure:"swimming_pool"}},w305:{id:"w305",nodes:["n1447","n1448","n1452","n1453","n1454","n1451","n1449","n1450","n1447"],tags:{building:"house"}},w306:{id:"w306",nodes:["n1455","n1456","n1457","n1458","n1455"],tags:{building:"shed"}},w307:{id:"w307",nodes:["n1459","n1460","n1461","n1462","n1459"],tags:{building:"shed"}},w308:{id:"w308",nodes:["n1463","n1464"],tags:{barrier:"fence"}},w309:{id:"w309",nodes:["n1465","n1466","n1467","n1468"],tags:{barrier:"fence"}},w31:{id:"w31",nodes:["n157","n605","n158"],tags:{highway:"service"}},w310:{id:"w310",nodes:["n1469","n1481","n1463"],tags:{barrier:"hedge"}},w311:{id:"w311",nodes:["n1470","n1471","n1472","n1473","n1474","n1475","n1480","n1476","n1477","n1478","n1479","n1470"],tags:{building:"house"}},w312:{id:"w312",nodes:["n1480","n1481"],tags:{barrier:"wall"}},w313:{id:"w313",nodes:["n1482","n1483","n1484","n1485","n1486","n1487","n1488","n1489","n1490","n1491","n1482"],tags:{access:"private",leisure:"swimming_pool"}},w314:{id:"w314",nodes:["n1492","n1493","n1494","n1495","n1496","n1497","n1498","n1499","n1500","n1501","n1502","n1503","n1504","n1505","n1492"],tags:{building:"house"}},w315:{id:"w315",nodes:["n1506","n1507","n1508","n1509","n1510","n1511","n1512","n1513","n1514","n1515","n1506"],tags:{building:"house"}},w316:{id:"w316",nodes:["n1516","n1517","n1518","n1519","n1520","n1521","n1522","n1523","n1516"],tags:{building:"house"}},w317:{id:"w317",nodes:["n1524","n1525","n1526","n1527","n1528","n1529","n1530","n1531","n1524"],tags:{building:"house"}},w318:{id:"w318",nodes:["n1532","n1533"],tags:{barrier:"fence"}},w319:{id:"w319",nodes:["n1534","n1532","n1535"],tags:{barrier:"fence"}},w32:{id:"w32",nodes:["n159","n160","n161","n162","n159"],tags:{amenity:"parking"}},w320:{id:"w320",nodes:["n1536","n1537","n1538","n1539","n1536"],tags:{building:"shed"}},w321:{id:"w321",nodes:["n1540","n1541","n1542","n1543","n1540"],tags:{building:"shed"}},w322:{id:"w322",nodes:["n1544","n1545","n1546","n1547","n1544"],tags:{building:"shed"}},w323:{id:"w323",nodes:["n1548","n1549","n1550","n1551","n1548"],tags:{building:"house"}},w324:{id:"w324",nodes:["n1552","n1553","n1554","n1555","n1556","n1557","n1558","n1559","n1552"],tags:{building:"house"}},w325:{id:"w325",nodes:["n1560","n1561","n1562","n1563","n1564","n1565","n1566","n1567","n1560"],tags:{building:"house"}},w326:{id:"w326",nodes:["n1561","n1568","n1569","n1570"],tags:{barrier:"wall"}},w327:{id:"w327",nodes:["n1571","n1572"],tags:{barrier:"fence"}},w328:{id:"w328",nodes:["n1573","n1574","n1575","n1576","n1573"],tags:{building:"house"}},w329:{id:"w329",nodes:["n1577","n1578","n1579","n1580","n1581","n1582","n1583","n1584","n1585","n1586","n1577"],tags:{building:"house"}},w33:{id:"w33",nodes:["n157","n163"],tags:{highway:"service"}},w330:{id:"w330",nodes:["n1587","n1588","n1589","n1590","n1591","n1592","n1593","n1594","n1587"],tags:{building:"house"}},w331:{id:"w331",nodes:["n1595","n1596","n1597","n1598","n1599","n1600","n1601","n1595"],tags:{access:"private",leisure:"swimming_pool"}},w332:{id:"w332",nodes:["n1602","n1603","n1604","n1605","n1606","n1607","n1608","n1609","n1611","n1610","n1612","n1613","n1602"],tags:{building:"house"}},w333:{id:"w333",nodes:["n2018","n1626","n1627","n2017","n2018"],tags:{amenity:"shelter",building:"yes",shelter_type:"picnic_shelter"}},w334:{id:"w334",nodes:["n2","n3","n2764"],tags:{highway:"service",name:"Water Street"}},w335:{id:"w335",nodes:["n3","n1628","n1614"],tags:{highway:"service"}},w336:{id:"w336",nodes:["n3198","n4545","n2747"],tags:{highway:"residential",name:"Morris Avenue"}},w337:{id:"w337",nodes:["n1629","n3504"],tags:{highway:"service",service:"alley",surface:"unpaved"}},w338:{id:"w338",nodes:["n1813","n1635","n1814","n1634","n1815","n1632","n1816","n1817"],tags:{highway:"service",service:"parking_aisle"}},w339:{id:"w339",nodes:["n1827","n4684","n4690","n1842","n4686","n4685","n1826","n1828","n1846","n1645","n1637","n4703","n1641"],tags:{highway:"residential",name:"Millard Street"}},w34:{id:"w34",nodes:["n164","n165","n166","n171","n866","n172","n167","n168","n169","n910","n170","n164"],tags:{amenity:"parking"}},w340:{id:"w340",nodes:["n1824","n1825"],tags:{highway:"service",service:"parking_aisle"}},w341:{id:"w341",nodes:["n1701","n1702","n1703","n1704","n1705","n1706","n1701"],tags:{building:"yes"}},w342:{id:"w342",nodes:["n1855","n1860","n1856","n1775","n1804","n1776","n1855"],tags:{amenity:"parking",fee:"no"}},w343:{id:"w343",nodes:["n1757","n1758","n1759","n1760","n1757"],tags:{building:"yes"}},w344:{id:"w344",nodes:["n1659","n1660","n1661","n1662","n1663","n1664","n1665","n1666","n1659"],tags:{building:"school"}},w345:{id:"w345",nodes:["n1751","n1752","n1753","n1754","n1755","n1756","n1751"],tags:{building:"yes"}},w346:{id:"w346",nodes:["n1641","n1676","n1673","n1639","n1810","n1642","n1849","n4759","n1845"],tags:{highway:"residential",name:"Douglas Avenue"}},w347:{id:"w347",nodes:["n1642","n1643","n1031","n1630","n845","n1631","n816","n1831","n902","n905","n152","n149","n1832","n1850","n878","n1833","n1852","n42","n1834","n61","n60","n1851","n1835"],tags:{highway:"primary",name:"Michigan Avenue"}},w348:{id:"w348",nodes:["n1650","n1651","n1652","n1653","n1654","n1655","n1656","n1657","n1658","n1650"],tags:{leisure:"playground"}},w349:{id:"w349",nodes:["n1861","n1818","n1819","n1820","n1821","n1825","n1823","n1639"],tags:{highway:"service"}},w35:{id:"w35",nodes:["n168","n167","n172"],tags:{barrier:"fence",fence_type:"chain_link"}},w350:{id:"w350",nodes:["n1783","n1819","n1784","n1857","n1861","n1858","n1783"],tags:{amenity:"parking"}},w351:{id:"w351",nodes:["n1717","n1718","n1719","n1720","n1717"],tags:{building:"yes"}},w352:{id:"w352",nodes:["n1743","n1744","n1745","n1746","n1747","n1748","n1749","n1750","n1743"],tags:{building:"yes"}},w353:{id:"w353",nodes:["n1637","n1636","n1029","n4715","n1630"],tags:{highway:"residential",name:"Lincoln Avenue"}},w354:{id:"w354",nodes:["n1713","n1714","n1715","n1716","n1713"],tags:{building:"yes"}},w355:{id:"w355",nodes:["n1689","n1690","n1691","n1692","n1693","n1694","n1695","n1696","n1689"],tags:{building:"yes"}},w356:{id:"w356",nodes:["n1631","n4717","n1840","n4745","n1841"],tags:{highway:"residential",name:"Hook Avenue"}},w357:{id:"w357",nodes:["n1737","n1738","n1739","n1740","n1741","n1742","n1737"],tags:{building:"yes"}},w358:{id:"w358",nodes:["n1707","n1708","n1709","n1710","n1711","n1712","n1707"],tags:{building:"yes"}},w359:{id:"w359",nodes:["n1829","n4695","n4697","n1843","n4698","n4701","n1638","n4702","n4705","n1636","n4706","n4707","n1633"],tags:{highway:"residential",name:"South Street"}},w36:{id:"w36",nodes:["n910","n171","n866","n172"],tags:{barrier:"fence",fence_type:"chain_link"}},w360:{id:"w360",nodes:["n1767","n1768","n1769","n1770","n1771","n1772","n1773","n1774","n1767"],tags:{building:"yes"}},w361:{id:"w361",nodes:["n1859","n1860","n1804","n1640","n1805","n1817","n1806","n1644","n1811","n1807","n1808","n3419","n1812","n1790","n3418","n3744","n1809","n1813","n1810"],tags:{highway:"service"}},w362:{id:"w362",nodes:["n1639","n1683","n4710","n1633"],tags:{highway:"residential",name:"South Street",oneway:"yes"}},w363:{id:"w363",nodes:["n1646","n1647","n1648","n1649","n1646"],tags:{leisure:"pitch",pitch:"basketball"}},w364:{id:"w364",nodes:["n3820","n3821","n3822","n3823","n3824","n3825","n3826","n3827","n3828","n3829","n3830","n3838","n3839","n3820"],tags:{amenity:"school",name:"Three Rivers Middle School"}},w365:{id:"w365",nodes:["n1721","n1722","n1723","n1724","n1725","n1726","n1727","n1728","n1729","n1730","n1731","n1732","n1733","n1734","n1735","n1736","n1721"],tags:{building:"yes"}},w366:{id:"w366",nodes:["n1791","n1792","n1793","n1794","n1795","n1796","n1798","n1799","n1800","n1801","n1802","n1803","n1791"],tags:{amenity:"parking"}},w367:{id:"w367",nodes:["n1633","n4708","n4711","n1643","n4712","n1838","n4752","n1839"],tags:{highway:"residential",name:"Grant Avenue"}},w368:{id:"w368",nodes:["n1853","n1687","n1688","n1854","n1853"],tags:{amenity:"library",building:"yes",name:"Three Rivers Public Library"}},w369:{id:"w369",nodes:["n1777","n1778","n1779","n1780","n1781","n1782","n1777"],tags:{amenity:"parking"}},w37:{id:"w37",nodes:["n173","n174","n175","n176","n177","n178","n179","n180","n173"],tags:{building:"yes"}},w370:{id:"w370",nodes:["n1645","n1638","n858","n4718","n1631"],tags:{highway:"residential",name:"Hook Avenue"}},w371:{id:"w371",nodes:["n3836","n3835","n4624","n3831","n4632","n3834","n3832","n3833","n3830","n3838","n3839","n3837","n3836"],tags:{amenity:"school",name:"Three Rivers High School"}},w372:{id:"w372",nodes:["n1697","n1698","n1699","n1700","n1697"],tags:{building:"yes"}},w373:{id:"w373",nodes:["n2891","n1785","n1786","n3394","n1787","n1788","n1789","n1830","n1836","n1837","n1848","n3409","n2891"],tags:{amenity:"parking"}},w374:{id:"w374",nodes:["n1761","n1762","n1763","n1764","n1765","n1766","n1761"],tags:{building:"yes"}},w375:{id:"w375",nodes:["n1822","n1823"],tags:{highway:"service",service:"parking_aisle"}},w376:{id:"w376",nodes:["n1677","n1678","n1679","n1680","n1681","n1682","n1677"],tags:{amenity:"parking"}},w377:{id:"w377",nodes:["n1676","n1675","n1674","n1673"],tags:{highway:"service",oneway:"yes"}},w378:{id:"w378",nodes:["n1667","n1668","n1669","n1670","n1671","n1672","n1667"],tags:{amenity:"school",name:"Andrews Elementary School"}},w379:{id:"w379",nodes:["n1630","n4714","n1847","n4750","n1844"],tags:{highway:"residential",name:"Lincoln Avenue"}},w38:{id:"w38",nodes:["n181","n182","n183","n185","n184","n181"],tags:{building:"yes"}},w380:{id:"w380",nodes:["n1683","n3745","n1686","n1633"],tags:{highway:"service",oneway:"yes",service:"parking_aisle"}},w381:{id:"w381",nodes:["n2022","n2037"],tags:{highway:"footway"}},w382:{id:"w382",nodes:["n1826","n1863"],tags:{highway:"residential"}},w383:{id:"w383",nodes:["n2011","n2012","n739","n2013","n2014","n2029","n2011"],tags:{amenity:"shelter",building:"yes",shelter_type:"picnic_shelter"}},w384:{id:"w384",nodes:["n2064","n2065","n2066","n2067","n2068","n2069","n2070","n2071","n2072","n2073","n2074","n2075","n2076","n2077","n2078","n2079","n2064"],tags:{building:"yes"}},w385:{id:"w385",nodes:["n1923","n1924","n1925","n1926","n1927","n1928","n1930","n1929","n1923"],tags:{natural:"water"}},w386:{id:"w386",nodes:["n1827","n14","n1886","n15","n1887","n16","n1888","n18","n17","n1889","n12","n13","n1890","n485","n1864","n11","n10","n2058","n2036","n1865","n2020","n9","n8","n1866","n295","n1867"],tags:{highway:"service"}},w387:{id:"w387",nodes:["n1846","n1843","n865","n157","n4721","n1831"],tags:{highway:"residential",name:"Andrews Street"}},w388:{id:"w388",nodes:["n2019","n2020","n2021","n2022","n2023","n2024","n2025","n2026","n2027","n2028","n2029"],tags:{highway:"footway"}},w389:{id:"w389",nodes:["n2217","n2222","n2221","n2219","n1877","n1879","n1882","n1883","n484","n1885","n483","n1880","n1881","n1878","n1884","n2223"],tags:{name:"Rocky River",waterway:"river"}},w39:{id:"w39",nodes:["n185","n186","n187"],tags:{barrier:"fence"}},w390:{id:"w390",nodes:["n2050","n2051","n2052","n2053","n2050"],tags:{amenity:"shelter",building:"yes",shelter_type:"picnic_shelter"}},w391:{id:"w391",nodes:["n2089","n2090","n2091","n2092","n2093","n2094","n2311","n2095","n2096","n2097","n2098","n1174","n2099","n751","n43","n2062","n4725","n873","n1832"],tags:{highway:"residential",name:"Constantine Street"}},w392:{id:"w392",nodes:["n1869","n212","n436","n2281","n2081"],tags:{highway:"primary",name:"Michigan Avenue"}},w393:{id:"w393",nodes:["n1829","n611","n144","n4694","n602","n1832"],tags:{highway:"tertiary",name:"Constantine Street"}},w394:{id:"w394",nodes:["n1997","n1998","n2000","n1999"],tags:{highway:"service",service:"parking_aisle"}},w395:{id:"w395",nodes:["n1835","n1869"],tags:{bridge:"yes",highway:"primary",name:"Michigan Avenue"}},w396:{id:"w396",nodes:["n2000","n2001"],tags:{highway:"service",service:"parking_aisle"}},w397:{id:"w397",nodes:["n2082","n4688","n1842","n308","n498","n509","n246","n241","n1867","n4645","n293","n1834"],tags:{highway:"residential",name:"Spring Street"}},w398:{id:"w398",nodes:["n2015","n2016","n2017","n2018","n2015"],tags:{building:"yes"}},w399:{id:"w399",nodes:["n2062","n45","n2063","n877","n41","n1852"],tags:{highway:"service"}},w4:{id:"w4",nodes:["n7","n38","n378","n379","n7"],tags:{building:"yes"}},w40:{id:"w40",nodes:["n188","n189","n190","n191","n192","n193","n188"],tags:{building:"house"}},w400:{id:"w400",nodes:["n1968","n1969","n1970","n1971","n2007","n1972","n1973","n1978","n1974","n1977","n1976","n1975","n1968"],tags:{amenity:"parking"}},w401:{id:"w401",nodes:["n1963","n1964"],tags:{bridge:"yes",highway:"footway"}},w402:{id:"w402",nodes:["n1892","n1893","n1894","n1895","n1896","n1897","n1898","n1899","n1900","n1901","n1902","n1903","n1892"],tags:{"addr:city":"Three Rivers","addr:housenumber":"112","addr:postcode":"49093","addr:state":"MI","addr:street":"Spring Street",barrier:"fence",name:"Scidmore Park Petting Zoo",tourism:"zoo",zoo:"petting_zoo"}},w403:{id:"w403",nodes:["n1957","n1958","n1959","n481","n1960","n482","n1949"],tags:{highway:"path"}},w404:{id:"w404",nodes:["n2281","n27","n330","n1987","n1988"],tags:{highway:"service"}},w405:{id:"w405",nodes:["n2249","n2269","n2270","n2271","n2272","n454","n455","n2273"],tags:{highway:"path",name:"Riverwalk Trail"}},w406:{id:"w406",nodes:["n1947","n1624","n1625","n2030","n2033","n4658","n4659","n2031","n2032","n2021"],tags:{highway:"footway"}},w407:{id:"w407",nodes:["n2034","n2036","n2009"],tags:{highway:"footway"}},w408:{id:"w408",nodes:["n1964","n1965","n2002","n1966","n21","n1967","n1969"],tags:{highway:"footway"}},w409:{id:"w409",nodes:["n1904","n1905","n1906","n1907","n1908","n1909","n748","n1910","n747","n1911","n749","n1912","n750","n1913","n1922","n1914","n1921","n1915","n746","n1916","n745","n1917","n744","n1918","n743","n742","n1919","n741","n1920","n740","n1904"],tags:{natural:"water"}},w41:{id:"w41",nodes:["n194","n195","n196","n197","n198","n199","n200","n201","n202","n203","n204","n205","n194"],tags:{building:"house"}},w410:{id:"w410",nodes:["n1868","n2088"],tags:{bridge:"yes",name:"Conrail Railroad",railway:"rail"}},w411:{id:"w411",nodes:["n2010","n2019","n2009","n2008","n2058","n2035","n1961","n1962","n1947","n1963"],tags:{highway:"footway"}},w412:{id:"w412",nodes:["n2290","n2043","n2044","n2045","n1872","n2041","n1873","n2042","n1874","n2046","n2047","n2048","n2049","n2290"],tags:{"addr:city":"Three Rivers","addr:housenumber":"112","addr:postcode":"49093","addr:state":"MI","addr:street":"Spring Street",leisure:"park",name:"Scidmore Park"}},w413:{id:"w413",nodes:["n1831","n876","n4720","n821","n2089"],tags:{highway:"residential",name:"Andrews Street"}},w414:{id:"w414",nodes:["n2002","n2003","n2004","n2005","n2006","n2007"],tags:{highway:"footway"}},w415:{id:"w415",nodes:["n1979","n1980","n1981","n1982","n1979"],tags:{amenity:"parking"}},w416:{id:"w416",nodes:["n2054","n2055","n2056","n2057","n2054"],tags:{amenity:"shelter",building:"yes",shelter_type:"picnic_shelter"}},w417:{id:"w417",nodes:["n2291","n2292","n2293","n2294","n2295","n2296","n2297","n2298","n2299","n1098","n2300","n2301","n2302","n2303","n2304","n2059","n2060","n2305","n2307","n2306","n2310","n2308","n2309","n2291"],tags:{leisure:"park",name:"Memory Isle Park"}},w418:{id:"w418",nodes:["n2033","n2034","n2035"],tags:{highway:"footway"}},w419:{id:"w419",nodes:["n1983","n1984","n1985","n1986","n1983"],tags:{amenity:"parking"}},w42:{id:"w42",nodes:["n206","n207","n208","n209","n210","n211","n206"],tags:{building:"house"}},w420:{id:"w420",nodes:["n1840","n4746","n4748","n1847","n4749","n4755","n1838","n4754","n4756","n1849"],tags:{highway:"residential",name:"French Street"}},w421:{id:"w421",nodes:["n2337","n2268"],tags:{highway:"path"}},w422:{id:"w422",nodes:["n2338","n2339","n2320","n2317","n2319","n2318","n2340","n2341","n2342","n2343","n2344","n2345","n2346","n2347","n2348","n2338"],tags:{natural:"water"}},w423:{id:"w423",nodes:["n2180","n2349","n2350","n2351","n2352","n2404","n2353","n2354","n2355","n2356","n2357","n2358","n2359","n2360","n2361","n2362","n2363","n2364","n2365","n2366","n2370","n2371","n2372","n2373","n2374","n2375","n2377","n2378","n2380","n2381","n2382","n2383","n2386","n2389","n2390","n2391","n2392","n2393","n2396","n2397","n2401","n2402","n2321","n2322","n2323","n2403","n2180"],tags:{natural:"wetland"}},w424:{id:"w424",nodes:["n2324","n2316","n1841","n2315","n2314","n1844","n1839","n4758","n1845"],tags:{highway:"residential",name:"Pealer Street"}},w425:{id:"w425",nodes:["n2267","n2337","n2336","n2335","n2334","n2333","n2332","n2331","n2330","n37","n2329","n2328","n2327","n36","n2326","n2325","n2266"],tags:{highway:"path",name:"Riverwalk Trail"}},w426:{id:"w426",nodes:["n2478","n681","n680","n679","n2459","n2467","n2487","n2478"],tags:{building:"yes"}},w427:{id:"w427",nodes:["n2671","n2672","n2673","n2674","n2671"],tags:{building:"yes"}},w428:{id:"w428",nodes:["n2483","n2482","n2486","n2489","n2492","n2502","n2495","n2480","n2483"],tags:{building:"yes"}},w429:{id:"w429",nodes:["n2707","n2708","n2716","n2712","n2714","n2713","n2715","n2711","n2710","n2723","n2709","n2707"],tags:{amenity:"parking"}},w43:{id:"w43",nodes:["n1955","n1956"],tags:{footway:"sidewalk",highway:"footway",name:"Riverwalk Trail"}},w430:{id:"w430",nodes:["n2471","n2474","n2484","n2479","n2471"],tags:{building:"yes"}},w431:{id:"w431",nodes:["n2218","n2434","n2436","n2433","n2435","n2210"],tags:{name:"Rocky River",waterway:"river"}},w432:{id:"w432",nodes:["n2782","n2532","n2783","n2784","n2782"],tags:{amenity:"parking"}},w433:{id:"w433",nodes:["n2513","n649","n2520","n2514","n2507","n2513"],tags:{building:"yes"}},w434:{id:"w434",nodes:["n2470","n2468","n2461","n2465","n2470"],tags:{building:"yes"}},w435:{id:"w435",nodes:["n2598","n2599","n648","n649","n2520","n2598"],tags:{building:"yes"}},w436:{id:"w436",nodes:["n2639","n2640","n2641","n2642","n2643","n2644","n2645","n2646","n2647","n2648","n2639"],tags:{building:"yes"}},w437:{id:"w437",nodes:["n2503","n2512","n2508","n2499","n2503"],tags:{building:"yes"}},w438:{id:"w438",nodes:["n2440","n2800","n2774","n1"],tags:{highway:"residential",name:"Water Street"}},w439:{id:"w439",nodes:["n2675","n2676","n2677","n2678","n2675"],tags:{building:"yes"}},w44:{id:"w44",nodes:["n213","n214","n215","n216","n213"],tags:{building:"yes"}},w440:{id:"w440",nodes:["n2512","n2503","n2507","n2514","n2512"],tags:{building:"yes"}},w441:{id:"w441",nodes:["n2554","n2717","n674","n2720","n2798"],tags:{highway:"service",oneway:"yes"}},w442:{id:"w442",nodes:["n2583","n2596","n2584","n2585","n2595","n2586","n2587","n2588","n2589","n2583"],tags:{amenity:"parking"}},w443:{id:"w443",nodes:["n2629","n2627","n2628","n2616","n2630","n2629"],tags:{building:"yes"}},w444:{id:"w444",nodes:["n2717","n2724","n670","n2718","n669","n668","n2722","n2727"],tags:{highway:"service",oneway:"yes",service:"parking_aisle"}},w445:{id:"w445",nodes:["n2572","n2573"],tags:{bridge:"yes",highway:"path",name:"Riverwalk Trail"}},w446:{id:"w446",nodes:["n2603","n2604","n2601","n2605","n2606","n2607","n2603"],tags:{building:"yes"}},w447:{id:"w447",nodes:["n2780","n2777","n628","n624","n2779"],tags:{highway:"residential",name:"Foster Street",oneway:"yes"}},w448:{id:"w448",nodes:["n2733","n2734","n2735","n2736","n2737","n2738","n663","n664","n2739","n2733"],tags:{building:"yes"}},w449:{id:"w449",nodes:["n2564","n2565","n2566","n2567","n2568","n2794","n2795","n2564"],tags:{amenity:"parking"}},w45:{id:"w45",nodes:["n217","n218","n219","n220","n217"],tags:{amenity:"shelter",building:"yes",shelter_type:"picnic_shelter"}},w450:{id:"w450",nodes:["n2799","n2728","n2729","n2730","n2731","n2732","n2799"],tags:{building:"yes"}},w451:{id:"w451",nodes:["n2441","n1170","n2442","n2575","n2443","n2445","n2444","n2448","n2441"],tags:{amenity:"parking"}},w452:{id:"w452",nodes:["n2273","n457","n2569","n458","n2570"],tags:{highway:"path",name:"Riverwalk Trail"}},w453:{id:"w453",nodes:["n2447","n2242","n2448","n2527","n2530"],tags:{highway:"service"}},w454:{id:"w454",nodes:["n2560","n333","n2561"],tags:{highway:"service",service:"parking_aisle"}},w455:{id:"w455",nodes:["n2679","n2680","n2681","n2682","n2683","n2684","n2685","n2686","n2687","n2688","n2689","n2690","n2679"],tags:{building:"yes"}},w456:{id:"w456",nodes:["n2425","n2429","n2424"],tags:{bridge:"yes",highway:"residential",name:"Moore Street"}},w457:{id:"w457",nodes:["n2487","n2467","n2472","n2480","n2495","n2487"],tags:{building:"yes"}},w458:{id:"w458",nodes:["n2659","n2660","n2661","n2662","n678","n677","n2663","n2664","n2665","n2666","n675","n676","n2659"],tags:{building:"yes"}},w459:{id:"w459",nodes:["n2600","n2598","n2599","n2601","n2605","n2602","n2600"],tags:{building:"yes"}},w46:{id:"w46",nodes:["n221","n222","n223","n224","n221"],tags:{amenity:"shelter",building:"yes",shelter_type:"picnic_shelter"}},w460:{id:"w460",nodes:["n2468","n2464","n2455","n2457","n2461","n2468"],tags:{building:"yes"}},w461:{id:"w461",nodes:["n2478","n2473","n683","n682","n2463","n681","n2478"],tags:{building:"yes"}},w462:{id:"w462",nodes:["n2547","n473","n2548","n2549"],tags:{highway:"service",service:"parking_aisle"}},w463:{id:"w463",nodes:["n2573","n2574"],tags:{highway:"path",name:"Riverwalk Trail"}},w464:{id:"w464",nodes:["n2445","n2597","n2527","n2528","n2529","n2530","n2531","n2597"],tags:{highway:"service",service:"parking_aisle"}},w465:{id:"w465",nodes:["n2571","n459","n2572"],tags:{highway:"path",name:"Riverwalk Trail"}},w466:{id:"w466",nodes:["n2445","n2574","n2552","n442","n2551","n4727","n323","n2446"],tags:{highway:"service"}},w467:{id:"w467",nodes:["n2484","n2474","n2477","n2485","n2488","n2484"],tags:{building:"yes"}},w468:{id:"w468",nodes:["n2695","n2696","n2697","n2698","n2699","n2700","n2701","n2702","n2695"],tags:{building:"yes"}},w469:{id:"w469",nodes:["n2469","n2476","n2481","n2475","n920","n2466","n2469"],tags:{building:"yes"}},w47:{id:"w47",nodes:["n1988","n1997","n1989","n25","n24","n1990","n26","n1991","n21","n1992","n2006","n1993","n22","n1994","n23","n1995","n1999","n1996","n2001","n1988"],tags:{highway:"service"}},w470:{id:"w470",nodes:["n2473","n2470","n2465","n2458","n2462","n683","n2473"],tags:{building:"yes"}},w471:{id:"w471",nodes:["n2490","n2496","n994","n997","n998","n996","n995","n2485","n2477","n2490"],tags:{building:"yes"}},w472:{id:"w472",nodes:["n2424","n2426","n2427","n2428"],tags:{highway:"residential",name:"Moore Street"}},w473:{id:"w473",nodes:["n2432","n1026","n4741","n2554","n2425"],tags:{highway:"residential",name:"Moore Street"}},w474:{id:"w474",nodes:["n2577","n2576"],tags:{bridge:"yes",highway:"footway"}},w475:{id:"w475",nodes:["n2497","n2505","n2500","n2493","n2497"],tags:{building:"yes"}},w476:{id:"w476",nodes:["n2493","n2500","n2501","n2496","n2490","n2493"],tags:{building:"yes"}},w477:{id:"w477",nodes:["n2431","n360","n4726","n418","n397","n396","n2547","n646","n2447","n644","n2418","n424","n640","n2419","n2420","n2423"],tags:{highway:"residential",name:"Railroad Drive"}},w478:{id:"w478",nodes:["n2515","n2511","n2498","n2504","n2509","n2515"],tags:{building:"yes"}},w479:{id:"w479",nodes:["n2525","n651","n650","n2526","n2524","n653","n652","n656","n2523","n654","n2518","n2517","n2521","n2522","n2525"],tags:{building:"yes"}},w48:{id:"w48",nodes:["n225","n237","n226","n227","n228","n229","n230","n231","n232","n233","n234","n235","n236","n225"],tags:{building:"yes"}},w480:{id:"w480",nodes:["n2703","n2704","n2710","n2711","n2705","n2706","n2703"],tags:{amenity:"parking"}},w481:{id:"w481",nodes:["n2796","n2657","n2658","n2797","n2796"],tags:{building:"yes"}},w482:{id:"w482",nodes:["n2550","n2551","n442","n2552","n2553","n2550"],tags:{amenity:"parking"}},w483:{id:"w483",nodes:["n2790","n2542"],tags:{highway:"service",service:"parking_aisle"}},w484:{id:"w484",nodes:["n2311","n1102"],tags:{highway:"service"}},w485:{id:"w485",nodes:["n2515","n2509","n2516","n2519","n2515"],tags:{building:"yes"}},w486:{id:"w486",nodes:["n2506","n2502","n2492","n2491","n2494","n2506"],tags:{building:"yes"}},w487:{id:"w487",nodes:["n2667","n2668","n2669","n2670","n2667"],tags:{building:"yes"}},w488:{id:"w488",nodes:["n2616","n2608","n2617","n2618","n2619","n2620","n2621","n2622","n2623","n2624","n2625","n2626","n2627","n2628","n2616"],tags:{building:"yes"}},w489:{id:"w489",nodes:["n2081","n2430"],tags:{bridge:"yes",highway:"primary",name:"Michigan Avenue"}},w49:{id:"w49",nodes:["n237","n238"],tags:{highway:"footway"}},w490:{id:"w490",nodes:["n2410","n636","n730","n635","n2409","n2694","n2751","n2765","n2753","n2768","n2754","n2769","n2745","n2766","n4503","n2763","n4501","n2752","n2781"],tags:{highway:"residential",name:"Portage Avenue"}},w491:{id:"w491",nodes:["n2578","n2579","n2580","n2581","n2578"],tags:{amenity:"shelter",building:"yes",shelter_type:"picnic_shelter"}},w492:{id:"w492",nodes:["n2556","n2557","n2558","n2559","n2556"],tags:{amenity:"parking"}},w493:{id:"w493",nodes:["n2460","n2456","n687","n2453","n2454","n2460"],tags:{building:"yes"}},w494:{id:"w494",nodes:["n2471","n2479","n2476","n2469","n2471"],tags:{building:"yes"}},w495:{id:"w495",nodes:["n2724","n2725","n673","n672","n671","n2726","n2727"],tags:{highway:"service",oneway:"yes",service:"parking_aisle"}},w496:{id:"w496",nodes:["n2649","n2650","n2651","n2652","n2653","n2654","n2655","n2656","n2649"],tags:{building:"yes"}},w497:{id:"w497",nodes:["n2430","n2446","n343","n2101","n2560","n2431","n363","n2748"],tags:{highway:"primary",name:"Michigan Avenue"}},w498:{id:"w498",nodes:["n2691","n2692","n634","n633","n2693","n2694"],tags:{highway:"service"}},w499:{id:"w499",nodes:["n2423","n2415","n661","n2416","n2417","n2719","n2721","n2772","n2756","n2773","n2759","n2767"],tags:{highway:"residential",name:"West Street"}},w5:{id:"w5",nodes:["n380","n381","n382","n383","n429","n430","n380"],tags:{building:"yes"}},w50:{id:"w50",nodes:["n239","n499","n508","n245","n238","n242","n240"],tags:{footway:"sidewalk",highway:"footway"}},w500:{id:"w500",nodes:["n2428","n1152","n2421","n2324"],tags:{bridge:"yes",highway:"residential",name:"Moore Street"}},w501:{id:"w501",nodes:["n2608","n2609","n2610","n2611","n2612","n2613","n2614","n2615","n2617","n2608"],tags:{building:"yes"}},w502:{id:"w502",nodes:["n2570","n2571"],tags:{bridge:"yes",highway:"path",name:"Riverwalk Trail"}},w503:{id:"w503",nodes:["n2540","n2542","n2787"],tags:{highway:"service"}},w504:{id:"w504",nodes:["n2269","n2582","n2250"],tags:{highway:"path"}},w505:{id:"w505",nodes:["n2631","n2632","n2633","n2634","n2635","n2636","n2637","n2638","n2631"],tags:{building:"yes"}},w506:{id:"w506",nodes:["n2543","n2544","n2545","n395","n2546","n2543"],tags:{amenity:"parking"}},w507:{id:"w507",nodes:["n2449","n2450","n2451","n2452","n1162","n2449"],tags:{leisure:"pitch",sport:"tennis"}},w508:{id:"w508",nodes:["n2554","n1160","n2559","n2558","n659","n2555","n658","n657","n2419"],tags:{highway:"service"}},w509:{id:"w509",nodes:["n2499","n2508","n2510","n2505","n2497","n2499"],tags:{building:"yes"}},w51:{id:"w51",nodes:["n241","n242","n243","n244"],tags:{highway:"service",surface:"unpaved"}},w510:{id:"w510",nodes:["n2575","n2577"],tags:{highway:"footway"}},w511:{id:"w511",nodes:["n2533","n2534","n2535","n2536","n2537","n2538","n2539","n2785","n2786","n2533"],tags:{amenity:"parking"}},w512:{id:"w512",nodes:["n2801","n2740","n2741","n2742","n2743","n2744","n2801"],tags:{building:"yes"}},w513:{id:"w513",nodes:["n2720","n2721"],tags:{highway:"service",service:"parking_aisle"}},w514:{id:"w514",nodes:["n2788","n2790","n2789","n989","n2540","n2541"],tags:{highway:"service",service:"parking_aisle"}},w515:{id:"w515",nodes:["n2848","n2849","n2850","n2851","n2803","n2804","n2812"],tags:{highway:"residential",name:"Middle Street"}},w516:{id:"w516",nodes:["n2852","n2805"],tags:{access:"private",highway:"service",name:"Battle Street"}},w517:{id:"w517",nodes:["n2863","n2815","n2814","n2812","n2864","n2855","n2865","n2867","n2868"],tags:{highway:"secondary",name:"Michigan Avenue",name_1:"State Highway 60",ref:"M 60"}},w518:{id:"w518",nodes:["n2859","n2808"],tags:{highway:"residential",name:"2nd Avenue"}},w519:{id:"w519",nodes:["n2823","n2824","n2825","n2826","n2827","n2828","n2823"],tags:{building:"yes"}},w52:{id:"w52",nodes:["n247","n248","n249","n250","n247"],tags:{amenity:"parking"}},w520:{id:"w520",nodes:["n2806","n2807","n2803"],tags:{highway:"residential",name:"2nd Avenue"}},w521:{id:"w521",nodes:["n2829","n2830","n2831","n2832","n2833","n2834","n2835","n2836","n2837","n2838","n2829"],tags:{building:"yes"}},w522:{id:"w522",nodes:["n2815","n2813","n2811","n4597","n2846","n4596","n2857","n4601","n2853","n4602","n2861","n4","n2879","n4560","n3550","n5","n1685"],tags:{highway:"residential",name:"Washington Street"}},w523:{id:"w523",nodes:["n2878","n2811","n2810","n2860","n2880","n2881","n2882"],tags:{highway:"residential",name:"5th Avenue"}},w524:{id:"w524",nodes:["n2816","n2817","n2818","n2819","n2820","n2821","n2822","n2816"],tags:{building:"yes"}},w525:{id:"w525",nodes:["n2869","n2856","n2806","n2808","n2814","n2809","n2810","n2847","n2858","n2854","n2870","n2871","n6","n2872","n2839","n2862"],tags:{highway:"residential",name:"Wood Street"}},w526:{id:"w526",nodes:["n2877","n2809","n2813","n2844","n2843"],tags:{highway:"residential",name:"4th Avenue"}},w527:{id:"w527",nodes:["n4785","n4784","n2936","n4788","n4787","n4786","n4785"],tags:{amenity:"parking"}},w528:{id:"w528",nodes:["n2864","n2892","n2893","n2877","n2860","n3840"],tags:{highway:"residential",name:"Garden Street"}},w529:{id:"w529",nodes:["n2868","n2890"],tags:{bridge:"yes",highway:"secondary",name:"Michigan Avenue",name_1:"State Highway 60",ref:"M 60"}},w53:{id:"w53",nodes:["n251","n252","n253","n254","n255","n256","n257","n258","n259","n260","n261","n262","n251"],tags:{building:"yes"}},w530:{id:"w530",nodes:["n2914","n2915","n2916","n2917","n2918","n2919","n2920","n2921","n2922","n2923","n2924","n2925","n2926","n2927","n2928","n2929","n2930","n2931","n2932","n2933","n2914"],tags:{building:"yes"}},w531:{id:"w531",nodes:["n2958","n2896"],tags:{bridge:"yes",highway:"secondary",name:"Main Street"}},w532:{id:"w532",nodes:["n2896","n394","n364","n2748"],tags:{highway:"secondary",name:"Main Street"}},w533:{id:"w533",nodes:["n2800","n2943","n2940","n2941","n2942","n2943"],tags:{highway:"service",service:"parking_aisle"}},w534:{id:"w534",nodes:["n3836","n3837","n3839","n3838","n3834","n4632","n3831","n4624","n3835","n3836"],tags:{barrier:"fence"}},w535:{id:"w535",nodes:["n2894","n2944","n2774","n2765"],tags:{highway:"residential",name:"5th Avenue"}},w536:{id:"w536",nodes:["n2890","n2780","n627","n2889","n2887","n623","n2888","n366","n2748"],tags:{highway:"secondary",name:"Michigan Avenue",name_1:"State Highway 60",ref:"M 60"}},w537:{id:"w537",nodes:["n2895","n738","n2887","n737","n2913"],tags:{highway:"residential",name:"Water Street"}},w538:{id:"w538",nodes:["n2855","n3756","n2884","n2885","n2886","n2945","n2946","n2947","n2948","n2949","n2950","n2951","n2952","n2953","n2955","n2848","n2956","n2856"],tags:{highway:"residential",name:"River Drive"}},w539:{id:"w539",nodes:["n2882","n2894"],tags:{bridge:"yes",highway:"residential",name:"5th Avenue"}},w54:{id:"w54",nodes:["n263","n264","n265","n266","n267","n268","n269","n270","n271","n272","n273","n274","n275","n276","n263"],tags:{building:"yes"}},w540:{id:"w540",nodes:["n2987","n2964","n2981","n2983","n2966","n2982","n2962","n2960","n2967","n2965","n2984","n2977","n2968","n2976","n2986","n2988","n2963","n2970","n2969","n2979","n2974","n2980","n2959","n2973","n2985","n2961","n2975","n2971","n2972","n2978","n2898","n2907","n2912","n2909","n2911","n2901","n2903","n2904","n2906","n2902","n2900","n2910","n2908","n2899","n2897","n2905","n2186","n2233"],tags:{name:"Portage River",waterway:"river"}},w541:{id:"w541",nodes:["n2852","n2851","n3003"],tags:{highway:"residential",name:"1st Avenue"}},w542:{id:"w542",nodes:["n2991","n3004","n2994"],tags:{highway:"residential",name:"River Street"}},w543:{id:"w543",nodes:["n2993","n2989"],tags:{bridge:"yes",highway:"residential",name:"6th Street"}},w544:{id:"w544",nodes:["n2995","n2996","n2997","n2998","n2999","n3000","n3001","n3002","n2990","n2991","n2993"],tags:{highway:"residential",name:"6th Street"}},w545:{id:"w545",nodes:["n2989","n2992","n2848"],tags:{highway:"residential",name:"6th Street"}},w546:{id:"w546",nodes:["n2313","n3169","n3170","n3171","n3172","n3173","n3174","n3175","n3176","n3177","n3178","n3179","n3180","n3191","n3181","n3190","n3182","n3183","n3184","n3185","n3186","n3187","n3188","n3189","n3160","n3161","n3162","n2126","n2146","n2156","n2129","n2112","n2109","n2313"],tags:{natural:"wetland"}},w547:{id:"w547",nodes:["n2088","n3013","n3015","n3014","n3017","n3018"],tags:{name:"Conrail Railroad",railway:"rail"}},w548:{id:"w548",nodes:["n3083","n3084","n3085","n3086","n3083"],tags:{building:"yes"}},w549:{id:"w549",nodes:["n3020","n2288","n2283","n2284","n2131","n2286","n2287","n2285","n2132","n2140","n2289","n3020"],tags:{leisure:"park",name:"Conservation Park"}},w55:{id:"w55",nodes:["n277","n278","n279","n280","n281","n282","n283","n284","n277"],tags:{building:"yes"}},w550:{id:"w550",nodes:["n3056","n3042","n3041","n3040","n3039","n3038","n3037","n3036","n3044","n3035","n3034","n3043","n3016","n3056","n3019","n3015","n3012"],tags:{highway:"service"}},w551:{id:"w551",nodes:["n3044","n3045","n3046","n3047","n3048","n3049","n3050","n3051","n3052","n3053","n3054","n3055","n3016"],tags:{highway:"footway"}},w552:{id:"w552",nodes:["n3117","n3118","n3119","n3120","n3121","n3122","n3117"],tags:{building:"yes"}},w553:{id:"w553",nodes:["n3123","n3124","n3129","n3125","n3126","n3123"],tags:{building:"yes"}},w554:{id:"w554",nodes:["n3069","n3070","n3071","n3072","n3073","n3074","n3075","n3076","n3077","n3078","n3079","n3080","n3081","n3082","n3069"],tags:{building:"yes"}},w555:{id:"w555",nodes:["n3087","n3088","n3089","n3090","n3087"],tags:{building:"yes"}},w556:{id:"w556",nodes:["n3113","n3114","n3115","n3116","n3113"],tags:{building:"yes"}},w557:{id:"w557",nodes:["n3103","n3104","n3105","n3106","n3103"],tags:{building:"yes"}},w558:{id:"w558",nodes:["n3127","n3128","n3129","n3124","n3127"],tags:{building:"yes"}},w559:{id:"w559",nodes:["n3137","n3141","n3142","n3138","n3139","n3140","n3137"],tags:{building:"yes"}},w56:{id:"w56",nodes:["n285","n286","n287","n288","n285"],tags:{amenity:"parking"}},w560:{id:"w560",nodes:["n3091","n3092","n3093","n3094","n3091"],tags:{building:"yes"}},w561:{id:"w561",nodes:["n3155","n3157","n3158","n3159","n3156","n3155"],tags:{building:"yes"}},w562:{id:"w562",nodes:["n3057","n3058","n3059","n3060","n3057"],tags:{building:"yes"}},w563:{id:"w563",nodes:["n3107","n3108","n3109","n3110","n3111","n3112","n3107"],tags:{building:"yes"}},w564:{id:"w564",nodes:["n3134","n3135","n3136","n3131","n3134"],tags:{building:"yes"}},w565:{id:"w565",nodes:["n3143","n3144","n3145","n3146","n3143"],tags:{building:"yes"}},w566:{id:"w566",nodes:["n3095","n3096","n3097","n3098","n3095"],tags:{building:"yes"}},w567:{id:"w567",nodes:["n3130","n3131","n3136","n3132","n3133","n3130"],tags:{building:"yes"}},w568:{id:"w568",nodes:["n3025","n3026","n3027","n3028","n3029","n3030","n3031","n3033","n3032","n3025"],tags:{amenity:"parking"}},w569:{id:"w569",nodes:["n3061","n3062","n3063","n3064","n3061"],tags:{building:"yes"}},w57:{id:"w57",nodes:["n289","n290","n291","n292","n289"],tags:{amenity:"parking"}},w570:{id:"w570",nodes:["n3155","n3156","n3152","n3153","n3155"],tags:{building:"yes"}},w571:{id:"w571",nodes:["n3099","n3100","n3101","n3102","n3099"],tags:{building:"yes"}},w572:{id:"w572",nodes:["n3147","n3148","n3149","n3150","n3147"],tags:{building:"yes"}},w573:{id:"w573",nodes:["n3039","n2284"],tags:{highway:"service"}},w574:{id:"w574",nodes:["n3151","n3152","n3153","n3154","n3151"],tags:{building:"yes"}},w575:{id:"w575",nodes:["n3021","n3022","n3023","n3024","n3021"],tags:{amenity:"shelter",building:"yes",shelter_type:"picnic_shelter"}},w576:{id:"w576",nodes:["n3065","n3066","n3067","n3068","n3065"],tags:{building:"yes"}},w577:{id:"w577",nodes:["n2944","n3192","n3757","n3813","n3814","n3815","n3816","n3817","n3818","n3819"],tags:{highway:"service",name:"Willow Drive",service:"driveway",surface:"unpaved"}},w578:{id:"w578",nodes:["n2163","n2165","n2166","n2167","n2168","n2172","n2173","n2174","n2175","n2176","n2178","n2181","n2163"],tags:{building:"yes"}},w579:{id:"w579",nodes:["n2754","n3195","n3204","n3205","n4537","n4540","n3206","n4530","n4536","n3207","n4524","n3199","n4521","n3197","n1032"],tags:{highway:"residential",name:"Elm Street"}},w58:{id:"w58",nodes:["n240","n293","n294"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w580:{id:"w580",nodes:["n2184","n2185","n2187","n2190","n2191","n2192","n2184"],tags:{building:"yes"}},w581:{id:"w581",nodes:["n2765","n3208","n3211","n2755","n3280","n2756","n3346"],tags:{highway:"residential",name:"Kelsey Street"}},w582:{id:"w582",nodes:["n2753","n3194","n3193","n3201","n3196","n4551","n3202","n4550","n3203","n3200","n3198","n1033"],tags:{highway:"residential",name:"Walnut Street"}},w583:{id:"w583",nodes:["n3272","n4469","n4588","n2879","n4564","n2872"],tags:{highway:"residential",name:"10th Avenue"}},w584:{id:"w584",nodes:["n3243","n3242","n3241","n3240","n3243"],tags:{building:"industrial"}},w585:{id:"w585",nodes:["n3273","n3274","n4631","n4593","n3275","n4592","n2846","n4611","n2847"],tags:{highway:"residential",name:"6th Avenue"}},w586:{id:"w586",nodes:["n3276","n4591","n2853","n4605","n2854"],tags:{highway:"residential",name:"8th Avenue"}},w587:{id:"w587",nodes:["n3269","n3268","n3267","n3266","n3265","n3264","n3263","n3262","n3269"],tags:{building:"industrial"}},w588:{id:"w588",nodes:["n3277","n4599","n2857","n4598","n4608","n2858"],tags:{highway:"residential",name:"7th Avenue"}},w589:{id:"w589",nodes:["n3239","n3238","n3271","n3270","n3237","n3236","n3235","n3234","n3239"],tags:{building:"yes"}},w59:{id:"w59",nodes:["n294","n295","n296","n297","n298","n299","n300","n301","n302","n303","n491","n304","n305","n306","n307"],tags:{footway:"sidewalk",highway:"footway"}},w590:{id:"w590",nodes:["n3278","n4458","n4589","n4604","n2861"],tags:{highway:"residential",name:"9th Avenue"}},w591:{id:"w591",nodes:["n3253","n3252","n3251","n3250","n3249","n3248","n3253"],tags:{building:"industrial"}},w592:{id:"w592",nodes:["n3229","n3228","n3227","n3226","n3225","n3224","n3223","n3222","n3221","n3220","n3219","n3218","n3217","n3216","n3215","n3214","n3213","n3212","n3229"],tags:{natural:"water",water:"pond"}},w593:{id:"w593",nodes:["n3261","n3260","n3259","n3258","n3257","n3256","n3255","n3254","n3261"],tags:{building:"industrial"}},w594:{id:"w594",nodes:["n3233","n3232","n3231","n3230","n3233"],tags:{building:"yes"}},w595:{id:"w595",nodes:["n3247","n3246","n3245","n3244","n3247"],tags:{building:"industrial"}},w596:{id:"w596",nodes:["n2769","n3195","n3193","n3209","n2758","n2759","n3279"],tags:{highway:"residential",name:"Armitage Street"}},w597:{id:"w597",nodes:["n2193","n2194","n2195","n2197","n2193"],tags:{building:"yes"}},w598:{id:"w598",nodes:["n3404","n3403","n3402","n3401","n3400","n3399","n3398","n3397","n3373","n3372","n3396","n3395","n3404"],tags:{building:"school"}},w6:{id:"w6",nodes:["n879","n880","n881","n882","n879"],tags:{building:"shed"}},w60:{id:"w60",nodes:["n239","n308","n307"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w600:{id:"w600",nodes:["n3387","n3386","n3316","n3315","n3314","n3313","n3387"],tags:{building:"yes"}},w601:{id:"w601",nodes:["n3304","n3303","n3302","n3301","n3385","n3384","n3300","n3299","n3304"],tags:{building:"yes"}},w602:{id:"w602",nodes:["n3334","n3333","n3332","n3331","n3330","n3329","n3328","n3327","n3326","n3325","n3324","n3323","n3322","n3321","n3320","n3319","n3318","n3317","n3334"],tags:{building:"yes"}},w603:{id:"w603",nodes:["n3353","n3352","n3347","n3280","n2798"],tags:{highway:"service",service:"alley",surface:"unpaved"}},w604:{id:"w604",nodes:["n3753","n3211","n3383"],tags:{highway:"service",service:"alley"}},w605:{id:"w605",nodes:["n3290","n3289","n3288","n3287","n3286","n3285","n3284","n3283","n3282","n3281","n3290"],tags:{building:"yes"}},w606:{id:"w606",nodes:["n2198","n2199","n2201","n2202","n2203","n2206","n2198"],tags:{building:"yes"}},w607:{id:"w607",nodes:["n2198","n2207"],tags:{barrier:"wall"}},w608:{id:"w608",nodes:["n2751","n3208","n3210","n3209","n3415","n3410","n3414","n3413","n3412","n3416"],tags:{highway:"residential",name:"East Street"}},w609:{id:"w609",nodes:["n2772","n3346","n3746","n3748","n3747","n3345","n3378","n3279","n3411"],tags:{highway:"residential",name:"Maple Street"}},w61:{id:"w61",nodes:["n309","n310","n311","n312","n313","n240"],tags:{footway:"sidewalk",highway:"footway"}},w610:{id:"w610",nodes:["n3379","n3380","n3382","n3381","n3379"],tags:{leisure:"park",name:"LaFayette Park"}},w611:{id:"w611",nodes:["n2768","n3194","n3210","n3753","n2760","n3353","n2773","n3378"],tags:{highway:"residential",name:"Bennett Street"}},w612:{id:"w612",nodes:["n2751","n3383","n2749","n2798","n2772"],tags:{highway:"residential",name:"Market Street"}},w613:{id:"w613",nodes:["n3298","n3297","n3296","n3295","n3294","n3293","n3292","n3291","n3298"],tags:{building:"yes"}},w614:{id:"w614",nodes:["n3375","n3406","n3405","n3374","n3375"],tags:{leisure:"playground"}},w615:{id:"w615",nodes:["n3393","n3344","n3343","n3342","n3341","n3340","n3339","n3338","n3337","n3392","n3391","n3390","n3389","n3336","n3335","n3388","n3393"],tags:{building:"yes"}},w616:{id:"w616",nodes:["n3376","n3407","n3408","n3377","n3376"],tags:{amenity:"school",name:"Three Rivers Elementary School"}},w617:{id:"w617",nodes:["n3312","n3311","n3310","n3309","n3308","n3307","n3306","n3305","n3312"],tags:{building:"yes"}},w619:{id:"w619",nodes:["n2863","n3424","n3425","n3426","n3427","n3428","n3429","n3430","n3431","n3432","n3433","n2844"],tags:{highway:"secondary",name:"Michigan Avenue",ref:"M 60"}},w62:{id:"w62",nodes:["n876","n906","n904","n875","n874","n873","n872","n871","n870","n869","n41","n868","n146","n314","n315","n1956"],tags:{footway:"sidewalk",highway:"footway"}},w620:{id:"w620",nodes:["n2844","n3420","n3421","n3422","n3439","n2859","n3437","n3493","n3496","n3500","n3497"],tags:{highway:"residential"}},w621:{id:"w621",nodes:["n3468","n3469","n3470","n3471","n3468"],tags:{building:"yes"}},w622:{id:"w622",nodes:["n3417","n3436","n3438","n3491","n3488","n3492","n3495","n3494","n3498","n3487","n3499","n3490","n3489","n4800","n3417"],tags:{landuse:"cemetery",name:"Riverside Cemetery"}},w623:{id:"w623",nodes:["n3440","n3441","n3442","n3443","n3444","n3445","n3440"],tags:{building:"yes"}},w624:{id:"w624",nodes:["n3446","n3447","n3448","n3449","n3450","n3451","n3452","n3453","n3454","n3455","n3456","n3457","n3458","n3459","n3460","n3461","n3462","n3463","n3464","n3465","n3466","n3467","n3446"],tags:{building:"yes"}},w625:{id:"w625",nodes:["n2844","n3434","n3435","n2878","n3275","n4621","n3276","n3278","n4463","n3272","n3472","n3474","n3475","n3476","n3477","n3478","n1202","n3479","n3480","n3481","n1203","n3482","n3483","n3484","n3485","n4574","n3486","n3473"],tags:{highway:"secondary",name:"Jefferson Street",name_1:"State Highway 60",ref:"M 60"}},w626:{id:"w626",nodes:["n3439","n3423","n2863"],tags:{highway:"unclassified",name:"Michigan Avenue",name_1:"State Highway 60"}},w627:{id:"w627",nodes:["n3500","n3005"],tags:{highway:"service"}},w628:{id:"w628",nodes:["n3491","n3488","n3492","n3010","n3009","n3005","n3008","n3007","n3006","n3502","n3491"],tags:{leisure:"park",name:"Marina Park"}},w629:{id:"w629",nodes:["n2208","n2209","n2212","n2214","n2208"],tags:{building:"yes"}},w63:{id:"w63",nodes:["n1955","n316"],tags:{footway:"sidewalk",highway:"footway"}},w630:{id:"w630",nodes:["n2757","n3414","n3202","n4542","n3206","n4538","n3750","n3503","n1629","n4500","n2763","n4502","n2764","n3508"],tags:{highway:"residential",name:"Hoffman Street"}},w631:{id:"w631",nodes:["n2215","n2750","n2770","n2771","n2215"],tags:{building:"yes"}},w632:{id:"w632",nodes:["n2766","n3504","n3507","n3751","n3205","n3196","n3410","n2746"],tags:{highway:"residential",name:"Cushman Street"}},w633:{id:"w633",nodes:["n2745","n3749","n3507","n4535","n3503"],tags:{highway:"residential",name:"Pine Street"}},w634:{id:"w634",nodes:["n3510","n3511","n3512","n3509","n3510"],tags:{leisure:"park",name:"Bowman Park"}},w636:{id:"w636",nodes:["n2745","n3752","n3204","n3201","n3415","n2761","n2767","n3411"],tags:{highway:"residential",name:"Wheeler Street"}},w637:{id:"w637",nodes:["n3550","n4586","n4476","n3472"],tags:{highway:"residential",name:"11th Avenue"}},w638:{id:"w638",nodes:["n3508","n3518"],tags:{bridge:"yes",highway:"residential",name:"Hoffman Street"}},w639:{id:"w639",nodes:["n3518","n1204","n2862","n3519","n3520","n3521","n3522","n3523","n2161","n3524","n3549","n3552","n4239","n3551","n4577","n4582","n4578","n4583","n4579","n4574"],tags:{highway:"residential",name:"Hoffman Street"}},w64:{id:"w64",nodes:["n316","n317"],tags:{bridge:"yes",footway:"sidewalk",highway:"footway",layer:"1"}},w640:{id:"w640",nodes:["n3634","n3640","n3676","n3633","n3678","n3648","n3638","n3683","n3600","n3579","n3679","n3677","n2987","n3592","n3588","n3608","n3559","n3617","n3620","n3660","n3553","n3533","n3530","n3531","n3525","n3527","n3526","n3532","n3529","n3528","n3667","n3627","n3623","n3625","n3601","n3687","n3671","n3644","n3626","n3673","n3582","n3693","n3605","n3619","n3651","n3650","n3615","n3663","n3631","n3596","n3604","n3655","n3586","n3595","n3701","n3603","n3686","n3611","n3568","n3674","n3613","n3580","n3562","n3564","n3689","n3585","n3670","n3659","n3684","n3680","n3646","n3558","n3556","n3692","n3563","n3575","n3571","n3675","n3557","n3700","n3656","n3622","n3657","n3565","n3669","n3658","n3618","n3624","n3688","n3610","n3570","n3645","n3649","n3583","n3694","n3561","n3554","n3614","n3698","n3581","n3635","n3641","n3569","n3647","n3628","n3598","n3696","n3665","n3639","n3607","n3695","n3642","n3672","n3577","n3643","n3691","n3602","n3576","n3591","n3560","n3606","n3685","n3597","n3629","n3661","n3654","n3616","n3697","n3578","n3609","n3653","n3699","n3566","n3637","n3567","n3666","n3555","n3599","n3590","n3572","n3593","n3690","n3681","n3612","n3682","n3668","n3587","n3621","n3636","n3662","n3589","n3573","n3652","n3664","n3632","n3574","n3594","n3584","n3630","n3634"],tags:{name:"Hoffman Pond",natural:"water",water:"reservoir"}},w641:{id:"w641",nodes:["n2988","n3534","n3535","n3536","n3537","n3538","n3539","n3540","n3541","n3542","n3543","n3544","n3545","n3546","n3547","n3548","n2970"],tags:{waterway:"river"}},w642:{id:"w642",nodes:["n3702","n3703","n3704","n3705","n3706","n3707","n3708","n3709","n3710","n3711","n3712","n3713","n3714","n3715","n3716","n3717","n3718","n3719","n3720","n3721","n3722","n3723","n3724","n3725","n3726","n3727","n3728","n3729","n3730","n3731","n3732","n3733","n3734","n3735","n3736","n3737","n3738","n3739","n3740","n3741","n3742","n3743","n3702"],tags:{admin_level:"8",boundary:"administrative"}},w643:{id:"w643",nodes:["n2839","n2873"],tags:{highway:"service",service:"driveway"}},w644:{id:"w644",nodes:["n2873","n2840"],tags:{bridge:"yes",highway:"service",layer:"1",service:"driveway"}},w645:{id:"w645",nodes:["n2840","n2841","n2842","n2845","n2866"],tags:{highway:"service",service:"driveway",surface:"unpaved"}},w646:{id:"w646",nodes:["n2752","n3759","n1420","n1421","n1422","n3758","n4507","n4506","n4505","n4520","n3199","n4522","n4504","n4546","n3200","n4547","n3412"],tags:{highway:"residential",name:"Flower Street"}},w647:{id:"w647",nodes:["n2874","n2875","n2876","n2954","n2874"],tags:{building:"industrial"}},w648:{id:"w648",nodes:["n3778","n3779","n3780","n3781","n3782","n3783","n3778"],tags:{building:"yes"}},w649:{id:"w649",nodes:["n3197","n4543","n4544","n3198"],tags:{highway:"residential",name:"Morris Avenue",surface:"unpaved"}},w65:{id:"w65",nodes:["n317","n318","n319","n320","n321"],tags:{footway:"sidewalk",highway:"footway"}},w650:{id:"w650",nodes:["n3207","n4526","n4528","n4548","n3203","n4549","n3413","n2762"],tags:{highway:"residential",name:"Adams Street"}},w651:{id:"w651",nodes:["n3788","n3785","n3786","n3787","n3788"],tags:{power:"station"}},w652:{id:"w652",nodes:["n2957","n3163","n3241"],tags:{barrier:"wall"}},w653:{id:"w653",nodes:["n3549","n3802","n3803","n3800","n3801"],tags:{highway:"service",surface:"unpaved"}},w654:{id:"w654",nodes:["n3164","n3165","n3166","n3167","n3168","n3505","n3164"],tags:{building:"yes"}},w655:{id:"w655",nodes:["n3506","n3517","n3760","n3761","n3762","n3763","n3506"],tags:{building:"yes"}},w656:{id:"w656",nodes:["n3764","n3765","n3766","n3767","n3768","n3769","n3770","n3771","n3764"],tags:{building:"yes"}},w657:{id:"w657",nodes:["n3772","n3773","n3774","n3775","n3772"],tags:{building:"yes"}},w658:{id:"w658",nodes:["n3776","n3777","n3784","n3789","n3776"],tags:{building:"yes"}},w659:{id:"w659",nodes:["n3930","n3931","n3932","n3933","n3934","n3935","n3936","n3937","n3938","n3930"],tags:{leisure:"pitch",sport:"baseball"}},w66:{id:"w66",nodes:["n321","n322"],tags:{bridge:"yes",footway:"sidewalk",highway:"footway",layer:"1"}},w660:{id:"w660",nodes:["n3982","n3842","n3864","n3865","n2938","n3866","n2939","n3867","n3868","n3858","n2937","n3869","n2935","n2934","n3870","n3348","n3862"],tags:{highway:"service"}},w661:{id:"w661",nodes:["n3968","n3969"],tags:{highway:"footway"}},w662:{id:"w662",nodes:["n3875","n3876","n3877","n3878","n3879","n3880","n3881","n3882","n3875"],tags:{amenity:"parking"}},w663:{id:"w663",nodes:["n3964","n3965"],tags:{highway:"footway"}},w664:{id:"w664",nodes:["n3966","n3967"],tags:{highway:"footway"}},w665:{id:"w665",nodes:["n3857","n3890","n3884","n3894","n3889","n3899","n3885","n3886","n3896","n3887"],tags:{highway:"service",service:"parking_aisle"}},w666:{id:"w666",nodes:["n3895","n3896"],tags:{highway:"service",service:"parking_aisle"}},w667:{id:"w667",nodes:["n3274","n3977","n3984","n3983","n3981","n3844","n3978","n3982","n3861","n3862","n3873","n3874","n4468","n3863"],tags:{access:"private",highway:"service",name:"Collins Drive"}},w668:{id:"w668",nodes:["n3900","n3901","n3902","n3903","n3904","n3905","n3808","n3809","n3906","n3907","n3908","n3967","n3909","n3910","n3911","n3955","n3964","n3912","n3913","n3914","n3915","n3916","n3917","n3918","n3919","n3920","n3921","n3922","n3923","n3924","n3925","n3926","n3927","n3969","n3970","n3928","n3807","n3929","n3900"],tags:{building:"school"}},w669:{id:"w669",nodes:["n3272","n39","n40","n3974","n3863","n3857","n3892","n3883","n3891","n3889"],tags:{highway:"service"}},w67:{id:"w67",nodes:["n322","n886","n323","n475"],tags:{footway:"crossing",highway:"footway"}},w670:{id:"w670",nodes:["n3473","n3859","n3860","n3980","n4908","n4865"],tags:{highway:"secondary",name:"Hoffman Street",ref:"M 60"}},w671:{id:"w671",nodes:["n3970","n3806","n3971"],tags:{highway:"footway"}},w672:{id:"w672",nodes:["n3892","n3893","n3894"],tags:{highway:"service",service:"parking_aisle"}},w673:{id:"w673",nodes:["n3945","n3946","n3992","n3990","n3945"],tags:{leisure:"pitch",sport:"tennis"}},w674:{id:"w674",nodes:["n3890","n3893","n3891"],tags:{highway:"service",service:"parking_aisle"}},w675:{id:"w675",nodes:["n3947","n3948","n3994","n3993","n3947"],tags:{leisure:"pitch",sport:"tennis"}},w676:{id:"w676",nodes:["n3858","n3954","n3972","n3810","n3811","n3812","n3841","n3973","n3898","n3963","n3897","n3896"],tags:{highway:"service"}},w677:{id:"w677",nodes:["n3977","n3996","n3997","n4004","n3998","n3999","n4005","n4007","n4006","n3995","n4000","n3843","n4001","n4002","n4003","n3949","n3351","n3950","n3354","n3350","n3951","n3349","n3952","n3953","n3954","n3956","n3966","n3955"],tags:{highway:"footway"}},w678:{id:"w678",nodes:["n3887","n3888","n3895","n3899"],tags:{highway:"service",service:"parking_aisle"}},w679:{id:"w679",nodes:["n3946","n3947","n3993","n3992","n3946"],tags:{leisure:"pitch",sport:"tennis"}},w68:{id:"w68",nodes:["n294","n1952","n326"],tags:{footway:"sidewalk",highway:"footway"}},w680:{id:"w680",nodes:["n3939","n3940","n3941","n3985","n3986","n3987","n3988","n3989","n3942","n3943","n3939"],tags:{leisure:"pitch",sport:"baseball"}},w681:{id:"w681",nodes:["n3990","n3991","n3944","n3945","n3990"],tags:{leisure:"pitch",sport:"tennis"}},w682:{id:"w682",nodes:["n3871","n3872","n3873","n3874","n3871"],tags:{amenity:"parking"}},w683:{id:"w683",nodes:["n3956","n3965","n3957","n3958","n3959"],tags:{footway:"sidewalk",highway:"footway"}},w684:{id:"w684",nodes:["n3790","n3791","n3792","n3793","n3790"],tags:{building:"shed"}},w685:{id:"w685",nodes:["n3794","n3795","n3796","n3797","n3794"],tags:{building:"yes"}},w686:{id:"w686",nodes:["n3798","n3799","n3804","n3805","n3798"],tags:{building:"yes"}},w687:{id:"w687",nodes:["n3806","n3807"],tags:{highway:"footway"}},w688:{id:"w688",nodes:["n3845","n3846","n3847","n3848","n3845"],tags:{leisure:"pitch",sport:"american_football"}},w689:{id:"w689",nodes:["n3849","n4021","n3850","n3851","n3852","n3853","n3854","n3855","n3856","n3975","n3976","n3979","n4008","n4009","n4010","n4011","n4012","n4013","n4014","n4015","n4016","n4017","n4018","n4019","n4020","n4021"],tags:{leisure:"track",sport:"running",highway:"footway"}},w69:{id:"w69",nodes:["n326","n327"],tags:{bridge:"yes",footway:"sidewalk",highway:"footway",layer:"1"}},w690:{id:"w690",nodes:["n4022","n4023","n4024","n4025","n4026","n4027","n4022"],tags:{building:"yes"}},w691:{id:"w691",nodes:["n4028","n4029","n4030","n4031","n4028"],tags:{building:"yes"}},w692:{id:"w692",nodes:["n4032","n4033","n4034","n4035","n4032"],tags:{building:"yes"}},w693:{id:"w693",nodes:["n4036","n4037","n4038","n4039","n4036"],tags:{building:"yes"}},w694:{id:"w694",nodes:["n4040","n4041","n4042","n4043","n4040"],tags:{building:"yes"}},w695:{id:"w695",nodes:["n4044","n4045","n4050","n4053","n4046","n4047","n4048","n4049","n4044"],tags:{building:"yes"}},w696:{id:"w696",nodes:["n4050","n4051","n4052","n4053","n4050"],tags:{building:"roof"}},w697:{id:"w697",nodes:["n4054","n4068","n4055","n4056","n4057","n4054"],tags:{building:"yes"}},w698:{id:"w698",nodes:["n4058","n4059","n4060","n4061","n4062","n4063","n4058"],tags:{building:"yes"}},w699:{id:"w699",nodes:["n4064","n4066","n4065"],tags:{barrier:"fence"}},w7:{id:"w7",nodes:["n43","n44","n45"],tags:{highway:"service"}},w70:{id:"w70",nodes:["n327","n328","n27","n329"],tags:{footway:"sidewalk",highway:"footway"}},w700:{id:"w700",nodes:["n4066","n4067","n4068"],tags:{barrier:"fence"}},w701:{id:"w701",nodes:["n4069","n4070","n4071","n4072","n4069"],tags:{building:"shed"}},w702:{id:"w702",nodes:["n4073","n4074","n4075","n4076","n4077","n4078","n4079","n4080","n4081","n4082","n4083","n4084","n4073"],tags:{building:"yes"}},w703:{id:"w703",nodes:["n4085","n4093","n4086","n4087","n4088","n4089","n4090","n4091","n4092","n4085"],tags:{building:"yes"}},w704:{id:"w704",nodes:["n4093","n4094","n4095","n4096"],tags:{barrier:"fence"}},w705:{id:"w705",nodes:["n4097","n4098","n4099","n4100","n4097"],tags:{building:"yes"}},w706:{id:"w706",nodes:["n4098","n4102","n4087"],tags:{barrier:"fence"}},w707:{id:"w707",nodes:["n4101","n4102","n4096","n4170","n4103"],tags:{barrier:"fence"}},w708:{id:"w708",nodes:["n4104","n4105","n4106","n4107","n4104"],tags:{access:"private",leisure:"swimming_pool"}},w709:{id:"w709",nodes:["n4108","n4109","n4110","n4111","n4108"],tags:{building:"yes"}},w71:{id:"w71",nodes:["n329","n331"],tags:{bridge:"yes",footway:"sidewalk",highway:"footway",layer:"1"}},w710:{id:"w710",nodes:["n4112","n4113","n4114","n4115","n4116","n4117","n4118","n4119","n4112"],tags:{building:"yes"}},w711:{id:"w711",nodes:["n4120","n4121","n4122","n4123","n4120"],tags:{building:"yes"}},w712:{id:"w712",nodes:["n4124","n4125","n4126","n4127","n4128","n4129","n4124"],tags:{building:"yes"}},w713:{id:"w713",nodes:["n4130","n4131","n4132","n4133","n4130"],tags:{building:"shed"}},w714:{id:"w714",nodes:["n4134","n4135","n4136","n4137","n4138","n4139","n4140","n4141","n4142","n4143","n4134"],tags:{building:"yes"}},w715:{id:"w715",nodes:["n4144","n4145","n4146","n4147","n4148","n4149","n4144"],tags:{building:"yes"}},w716:{id:"w716",nodes:["n4150","n4151","n4152","n4153","n4150"],tags:{building:"yes"}},w717:{id:"w717",nodes:["n4154","n4155","n4156","n4157","n4154"],tags:{building:"yes"}},w718:{id:"w718",nodes:["n4158","n4159","n4160","n4161","n4162","n4163","n4164","n4165","n4158"],tags:{building:"yes"}},w719:{id:"w719",nodes:["n4166","n4167","n4168","n4169","n4166"],tags:{building:"yes"}},w72:{id:"w72",nodes:["n331","n344","n332","n333","n334"],tags:{footway:"sidewalk",highway:"footway"}},w720:{id:"w720",nodes:["n4170","n4171"],tags:{barrier:"fence"}},w721:{id:"w721",nodes:["n4138","n4103"],tags:{barrier:"fence"}},w722:{id:"w722",nodes:["n4103","n4172"],tags:{barrier:"fence"}},w723:{id:"w723",nodes:["n4173","n4174"],tags:{barrier:"fence"}},w724:{id:"w724",nodes:["n4175","n4176","n4177","n4178","n4175"],tags:{building:"yes"}},w725:{id:"w725",nodes:["n4179","n4180","n4181","n4182","n4183","n4184","n4179"],tags:{building:"yes"}},w726:{id:"w726",nodes:["n4185","n4186","n4187","n4188","n4185"],tags:{building:"yes"}},w727:{id:"w727",nodes:["n4189","n4190","n4191","n4192","n4193","n4194","n4195","n4196","n4197","n4198","n4199","n4200","n4201","n4202","n4189"],tags:{building:"yes"}},w728:{id:"w728",nodes:["n4203","n4204","n4205","n4206","n4207","n4208","n4209","n4210","n4203"],tags:{building:"yes"}},w729:{id:"w729",nodes:["n4211","n4212","n4213","n4214","n4211"],tags:{building:"shed"}},w73:{id:"w73",nodes:["n335","n336","n337","n338","n339","n340","n341","n342","n335"],tags:{building:"yes"}},w730:{id:"w730",nodes:["n4215","n4216","n4217","n4218","n4215"],tags:{building:"yes"}},w731:{id:"w731",nodes:["n4219","n4220","n4221","n4222","n4223","n4224","n4225","n4226","n4227","n4228","n4229","n4230","n4219"],tags:{building:"yes"}},w732:{id:"w732",nodes:["n4231","n4232","n4233","n4234","n4235","n4236","n4237","n4238","n4231"],tags:{building:"yes"}},w733:{id:"w733",nodes:["n4239","n4240","n4241","n4242","n4243","n4244","n4245","n4246","n4247","n4248","n4241"],tags:{highway:"service"}},w734:{id:"w734",nodes:["n4240","n4249","n4248"],tags:{highway:"service",service:"parking_aisle"}},w735:{id:"w735",nodes:["n4250","n4251","n4252","n4253","n4254","n4255","n4256","n4257","n4258","n4250"],tags:{amenity:"parking"}},w736:{id:"w736",nodes:["n4259","n4260","n4261","n4262","n4259"],tags:{building:"yes"}},w737:{id:"w737",nodes:["n4263","n4264","n4265","n4266","n4267","n4268","n4269","n4270","n4271","n4272","n4273","n4274","n4275","n4276","n4263"],tags:{building:"yes"}},w738:{id:"w738",nodes:["n4277","n4278","n4279","n4280","n4281","n4282","n4277"],tags:{building:"yes"}},w739:{id:"w739",nodes:["n4283","n4284","n4285","n4286","n4287","n4288","n4289","n4290","n4291","n4292","n4293","n4294","n4283"],tags:{building:"yes"}},w74:{id:"w74",nodes:["n343","n344","n345"],tags:{highway:"service"}},w740:{id:"w740",nodes:["n4295","n4296","n4297","n4298","n4295"],tags:{building:"yes"}},w741:{id:"w741",nodes:["n4299","n4300","n4301","n4302","n4303","n4304","n4305","n4306","n4307","n4308","n4309","n4310","n4299"],tags:{building:"yes"}},w742:{id:"w742",nodes:["n4311","n4312","n4313","n4314","n4311"],tags:{building:"shed"}},w743:{id:"w743",nodes:["n4315","n4316","n4317","n4318","n4319","n4320","n4315"],tags:{building:"yes"}},w744:{id:"w744",nodes:["n4321","n4322","n4323","n4324","n4325","n4326","n4327","n4328","n4329","n4330","n4331","n4332","n4333","n4334","n4321"],tags:{building:"yes"}},w745:{id:"w745",nodes:["n4335","n4336","n4337","n4338","n4335"],tags:{building:"shed"}},w746:{id:"w746",nodes:["n4339","n4340","n4341","n4342","n4343","n4344","n4339"],tags:{building:"yes"}},w747:{id:"w747",nodes:["n4345","n4346","n4347","n4348","n4345"],tags:{building:"yes"}},w748:{id:"w748",nodes:["n4349","n4350","n4351","n4352","n4349"],tags:{building:"yes"}},w749:{id:"w749",nodes:["n4353","n4354","n4355","n4356","n4357","n4358","n4353"],tags:{building:"yes"}},w75:{id:"w75",nodes:["n346","n347","n348","n349","n350","n351","n346"],tags:{amenity:"parking"}},w750:{id:"w750",nodes:["n4612","n4359","n4360"],tags:{barrier:"fence"}},w751:{id:"w751",nodes:["n4361","n4362","n4363","n4364","n4361"],tags:{building:"yes"}},w752:{id:"w752",nodes:["n4365","n4366","n4367","n4368","n4365"],tags:{building:"yes"}},w753:{id:"w753",nodes:["n4369","n4370","n4371","n4372","n4375","n4369"],tags:{building:"yes"}},w754:{id:"w754",nodes:["n4373","n4374","n4375"],tags:{barrier:"fence"}},w755:{id:"w755",nodes:["n4376","n4377","n4378","n4379","n4376"],tags:{building:"shed"}},w756:{id:"w756",nodes:["n4380","n4381","n4382","n4383","n4384","n4385","n4386","n4387","n4388","n4389","n4390","n4391","n4380"],tags:{building:"yes"}},w757:{id:"w757",nodes:["n4392","n4393","n4394","n4395","n4392"],tags:{building:"yes"}},w758:{id:"w758",nodes:["n4396","n4397","n4398","n4399","n4396"],tags:{building:"shed"}},w759:{id:"w759",nodes:["n4400","n4401","n4402","n4403","n4404","n4405","n4406","n4407","n4408","n4409","n4410","n4411","n4412","n4413","n4414","n4415","n4400"],tags:{building:"yes"}},w76:{id:"w76",nodes:["n2561","n359","n2563","n2793","n357","n356","n2792","n355","n354","n2791","n2562","n353","n352","n358","n2561"],tags:{highway:"service",oneway:"yes",service:"parking_aisle"}},w760:{id:"w760",nodes:["n4416","n4417"],tags:{barrier:"fence"}},w761:{id:"w761",nodes:["n4418","n4416","n4419"],tags:{barrier:"fence"}},w762:{id:"w762",nodes:["n4420","n4421"],tags:{barrier:"fence"}},w763:{id:"w763",nodes:["n4422","n4423","n4424","n4425","n4426","n4427","n4428","n4429","n4430","n4431","n4432","n4433","n4422"],tags:{building:"yes"}},w764:{id:"w764",nodes:["n4434","n4435","n4436","n4437","n4438","n4439","n4440","n4441","n4442","n4445","n4444","n4443","n4434"],tags:{building:"yes"}},w765:{id:"w765",nodes:["n4446","n4447","n4448","n4449","n4446"],tags:{building:"yes"}},w766:{id:"w766",nodes:["n4450","n4451","n4452","n4453","n4450"],tags:{building:"yes"}},w767:{id:"w767",nodes:["n4454","n4455","n4456","n4457","n4454"],tags:{building:"yes"}},w768:{id:"w768",nodes:["n4461","n4458","n4460"],tags:{footway:"crossing",highway:"footway"}},w769:{id:"w769",nodes:["n4460","n4462","n4459"],tags:{footway:"sidewalk",highway:"footway"}},w77:{id:"w77",nodes:["n325","n360","n361"],tags:{footway:"crossing",highway:"footway"}},w770:{id:"w770",nodes:["n4462","n4463","n4464"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w771:{id:"w771",nodes:["n4464","n4465","n4466","n4467"],tags:{footway:"sidewalk",highway:"footway"}},w772:{id:"w772",nodes:["n3959","n3968","n3971","n3960","n3961","n3962","n3963"],tags:{footway:"sidewalk",highway:"footway"}},w773:{id:"w773",nodes:["n4467","n4468","n3959"],tags:{footway:"crossing",highway:"footway"}},w774:{id:"w774",nodes:["n4459","n4469","n4470"],tags:{footway:"crossing",highway:"footway"}},w775:{id:"w775",nodes:["n4470","n4471","n4472","n4473","n4474","n4475"],tags:{footway:"sidewalk",highway:"footway"}},w776:{id:"w776",nodes:["n4475","n4476","n4477"],tags:{footway:"crossing",highway:"footway"}},w777:{id:"w777",nodes:["n4477","n4478","n4479","n4480","n4481","n4482","n4483","n4484","n4485","n4486","n4487"],tags:{footway:"sidewalk",highway:"footway"}},w778:{id:"w778",nodes:["n4488","n4489","n4490","n4491","n4488"],tags:{building:"yes"}},w779:{id:"w779",nodes:["n4492","n4493","n4494","n4495","n4492"],tags:{building:"yes"}},w78:{id:"w78",nodes:["n361","n362","n369"],tags:{footway:"sidewalk",highway:"footway"}},w780:{id:"w780",nodes:["n4496","n4497","n4498","n4499","n4496"],tags:{access:"private",leisure:"swimming_pool"}},w781:{id:"w781",nodes:["n4508","n4509"],tags:{footway:"sidewalk",highway:"footway"}},w782:{id:"w782",nodes:["n4510","n4511"],tags:{footway:"sidewalk",highway:"footway"}},w783:{id:"w783",nodes:["n4512","n4513"],tags:{footway:"sidewalk",highway:"footway"}},w784:{id:"w784",nodes:["n4513","n4514"],tags:{footway:"sidewalk",highway:"footway"}},w785:{id:"w785",nodes:["n4515","n4516"],tags:{footway:"sidewalk",highway:"footway"}},w786:{id:"w786",nodes:["n4517","n4515"],tags:{footway:"sidewalk",highway:"footway"}},w787:{id:"w787",nodes:["n4518","n4519"],tags:{footway:"sidewalk",highway:"footway"}},w788:{id:"w788",nodes:["n4519","n4520","n4513"],tags:{footway:"crossing",highway:"footway"}},w789:{id:"w789",nodes:["n4515","n4521","n4513"],tags:{footway:"crossing",highway:"footway"}},w79:{id:"w79",nodes:["n362","n363","n334"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w790:{id:"w790",nodes:["n4515","n4522","n4523"],tags:{footway:"crossing",highway:"footway"}},w791:{id:"w791",nodes:["n4523","n4524","n4519"],tags:{footway:"crossing",highway:"footway"}},w792:{id:"w792",nodes:["n4523","n4525"],tags:{footway:"sidewalk",highway:"footway"}},w793:{id:"w793",nodes:["n4525","n4526","n4527"],tags:{footway:"crossing",highway:"footway"}},w794:{id:"w794",nodes:["n4527","n4529"],tags:{footway:"sidewalk",highway:"footway"}},w795:{id:"w795",nodes:["n4529","n4530","n4518"],tags:{footway:"crossing",highway:"footway"}},w796:{id:"w796",nodes:["n4518","n4531"],tags:{footway:"sidewalk",highway:"footway"}},w797:{id:"w797",nodes:["n4531","n4532"],tags:{footway:"sidewalk",highway:"footway"}},w798:{id:"w798",nodes:["n4533","n4534"],tags:{footway:"sidewalk",highway:"footway"}},w799:{id:"w799",nodes:["n4518","n4538","n4539"],tags:{footway:"crossing",highway:"footway"}},w8:{id:"w8",nodes:["n46","n47","n145","n48","n49","n46"],tags:{amenity:"parking"}},w80:{id:"w80",nodes:["n334","n364","n365"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w800:{id:"w800",nodes:["n4539","n4540","n4541"],tags:{footway:"crossing",highway:"footway"}},w801:{id:"w801",nodes:["n4541","n4542","n4529"],tags:{footway:"crossing",highway:"footway"}},w802:{id:"w802",nodes:["n4552","n4553"],tags:{footway:"sidewalk",highway:"footway"}},w803:{id:"w803",nodes:["n4554","n4555","n4556","n4557","n4558","n4559","n4554"],tags:{building:"yes"}},w804:{id:"w804",nodes:["n4562","n4563"],tags:{barrier:"retaining_wall"}},w805:{id:"w805",nodes:["n4568","n4569","n4570","n4571","n4568"],tags:{building:"yes"}},w806:{id:"w806",nodes:["n3473","n4575","n4576","n4581","n4580","n3551"],tags:{highway:"residential",oneway:"yes"}},w807:{id:"w807",nodes:["n4613","n4614","n4615","n4616","n4617","n4618","n4619","n4620","n4613"],tags:{leisure:"pitch",sport:"baseball"}},w808:{id:"w808",nodes:["n4621","n4622","n4623","n4624","n4625","n4626","n4627","n4628","n4629","n4630"],tags:{highway:"service"}},w809:{id:"w809",nodes:["n4631","n4632","n4633","n4637","n4634","n4638","n4635","n4636"],tags:{highway:"service"}},w81:{id:"w81",nodes:["n365","n366","n367"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w810:{id:"w810",nodes:["n4639","n4640","n4641"],tags:{barrier:"fence"}},w811:{id:"w811",nodes:["n4649","n4650","n4651","n4652","n4649"],tags:{building:"yes"}},w812:{id:"w812",nodes:["n4654","n4655"],tags:{barrier:"fence"}},w813:{id:"w813",nodes:["n4656","n4657"],tags:{barrier:"fence"}},w814:{id:"w814",nodes:["n4669","n4670","n4671","n4672","n4669"],tags:{amenity:"shelter",building:"yes",shelter_type:"picnic_shelter"}},w815:{id:"w815",nodes:["n4678","n4679","n4680","n1889"],tags:{highway:"service"}},w816:{id:"w816",nodes:["n239","n4686","n4687"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w817:{id:"w817",nodes:["n4687","n4688","n4689"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w818:{id:"w818",nodes:["n4689","n4690","n307"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w819:{id:"w819",nodes:["n2266","n4743"],tags:{highway:"path"}},w82:{id:"w82",nodes:["n724","n368","n369"],tags:{crossing:"marked",footway:"crossing",highway:"footway"}},w820:{id:"w820",nodes:["n4785","n4786","n4787","n4788","n1684","n4760","n4769","n4761","n4762","n4763","n4764","n4765","n4766","n4767","n4768","n4785"],tags:{natural:"wood"}},w821:{id:"w821",nodes:["n4769","n4770","n4771","n4772","n4773","n4774","n4775","n4776","n4777","n4778","n4779","n4780","n4781","n4782","n4783","n4784","n4785","n4768","n4767","n4766","n4765","n4764","n4763","n4762","n4761","n4769"],tags:{natural:"scrub"}},w822:{id:"w822",nodes:["n4772","n4789","n4790","n4791","n4792","n4793","n4794","n4795","n4796","n4797","n4798","n4799","n4783","n4782","n4781","n4780","n4779","n4778","n4777","n4776","n4775","n4774","n4773","n4772"],tags:{natural:"wood"}},w823:{id:"w823",nodes:["n4800","n4801","n4802","n4803","n4804","n4805","n4806","n4807","n4808","n4809","n4810","n4811","n4812","n4813","n4814","n4815","n4816","n3490","n3489","n4800"],tags:{natural:"wood"}},w824:{id:"w824",nodes:["n4817","n4818","n4819","n4820","n4821","n4822","n4817"],tags:{landuse:"recreation_ground"}},w825:{id:"w825",nodes:["n4563","n4823","n4824","n4829","n4825","n4826","n4827","n4828","n4562","n4563"],tags:{landuse:"recreation_ground"}},w826:{id:"w826",nodes:["n4830","n4831","n4832","n4833","n4834","n4835","n4836","n4830"],tags:{landuse:"industrial"}},w827:{id:"w827",nodes:["n4563","n4837","n4838","n4839","n4840","n4841","n4842","n4827","n4828","n4562","n4563"],tags:{landuse:"industrial"}},w828:{id:"w828",nodes:["n4843","n4844","n4845","n4846","n4843"],tags:{landuse:"farmland"}},w829:{id:"w829",nodes:["n3712","n4847","n4848","n4849","n4850","n4851","n4852","n4858","n4864","n4959","n4960","n4853","n4857","n4854","n4855","n4856","n3712"],tags:{aeroway:"aerodrome",name:"Three Rivers Municipal Airport"}},w83:{id:"w83",nodes:["n371","n372","n373","n374","n371"],tags:{building:"yes"}},w830:{id:"w830",nodes:["n4855","n4854","n4857","n4853","n4960"],tags:{barrier:"fence"}},w831:{id:"w831",nodes:["n4860","n4859","n4858","n4852","n4851"],tags:{barrier:"fence"}},w832:{id:"w832",nodes:["n4866","n4878","n4869","n4867"],tags:{aeroway:"runway",ref:"5/23"}},w833:{id:"w833",nodes:["n4868","n4890","n4894","n4881","n4869","n4905","n4870"],tags:{aeroway:"runway",ref:"9/27"}},w834:{id:"w834",nodes:["n4871","n4875","n4872","n4895","n4873","n4874","n4871"],tags:{aeroway:"apron"}},w835:{id:"w835",nodes:["n4875","n4876","n4877","n4878","n4879","n4880","n4882","n4881"],tags:{aeroway:"taxiway"}},w836:{id:"w836",nodes:["n4882","n4893","n4883","n4891","n4884","n4885","n4886","n4887","n4888","n4892","n4889","n4890"],tags:{aeroway:"taxiway"}},w837:{id:"w837",nodes:["n4893","n4894"],tags:{aeroway:"taxiway"}},w838:{id:"w838",nodes:["n4895","n4896","n4897","n4898","n4899","n4900","n4901","n4902","n4903","n4906","n4904","n4905"],tags:{aeroway:"taxiway"}},w839:{id:"w839",nodes:["n4907","n4908"],tags:{highway:"service"}},w84:{id:"w84",nodes:["n374","n375","n376","n377","n373","n374"],tags:{building:"yes"}},w840:{id:"w840",nodes:["n4909","n4907","n4910"],tags:{highway:"service"}},w841:{id:"w841",nodes:["n4911","n4912","n4913","n4914","n4911"],tags:{building:"yes"}},w842:{id:"w842",nodes:["n4915","n4916","n4917","n4918","n4915"],tags:{aeroway:"hangar",building:"yes"}},w843:{id:"w843",nodes:["n4919","n4920","n4921","n4922","n4919"],tags:{building:"yes"}},w844:{id:"w844",nodes:["n4923","n4924","n4925","n4926","n4923"],tags:{aeroway:"hangar",building:"yes"}},w845:{id:"w845",nodes:["n4927","n4928","n4929","n4930","n4927"],tags:{aeroway:"hangar",building:"yes"}},w846:{id:"w846",nodes:["n4931","n4932","n4933","n4934","n4931"],tags:{aeroway:"hangar",building:"yes"}},w847:{id:"w847",nodes:["n4935","n4936","n4937","n4938","n4935"],tags:{aeroway:"hangar",building:"yes"}},w848:{id:"w848",nodes:["n4939","n4940","n4941","n4942","n4939"],tags:{aeroway:"hangar",building:"yes"}},w849:{id:"w849",nodes:["n4943","n4944","n4945","n4946","n4943"],tags:{aeroway:"hangar",building:"yes"}},w85:{id:"w85",nodes:["n431","n432","n1038","n433","n434","n1040","n431"],tags:{building:"yes"}},w850:{id:"w850",nodes:["n4947","n4948","n4949","n4950","n4947"],tags:{aeroway:"hangar",building:"yes"}},w851:{id:"w851",nodes:["n4951","n4952","n4953","n4954","n4951"],tags:{aeroway:"hangar",building:"yes"}},w852:{id:"w852",nodes:["n4955","n4956","n4957","n4958","n4955"],tags:{aeroway:"hangar",building:"yes"}},w853:{id:"w853",nodes:["n4959","n4864","n4861","n4862","n4863"],tags:{barrier:"fence"}},w854:{id:"w854",nodes:["n4961","n4962","n4963","n4964","n4965","n4966","n4967","n4968","n4969","n4961"],tags:{landuse:"farmland"}},w855:{id:"w855",nodes:["n4970","n4971","n4972","n4973","n4974","n4975","n4976","n4977","n4978","n4980","n4970"],tags:{landuse:"farmland"}},w856:{id:"w856",nodes:["n4979","n4980","n4978","n4981","n4982","n4983","n4984","n4985","n4979"],tags:{natural:"scrub"}},w857:{id:"w857",nodes:["n4986","n4987","n4988","n5032","n4989","n4990","n4991","n4992","n4993","n4994","n4995","n4996","n4997","n4998","n4999","n5000","n5001","n5002","n5022","n5023","n5024","n5025","n5030","n5031","n5029","n5028","n5027","n5026","n4986"],tags:{landuse:"farmland"}},w858:{id:"w858",nodes:["n5001","n5003","n5004","n4999","n5000","n5001"],tags:{natural:"scrub"}},w859:{id:"w859",nodes:["n5005","n5006","n5007","n5008","n5009","n5010","n5021","n5020","n5019","n5011","n5012","n5013","n5018","n5014","n5015","n5017","n5016","n5005"],tags:{landuse:"farmland"}},w86:{id:"w86",nodes:["n384","n385","n386","n387","n384"],tags:{building:"yes"}},w860:{id:"w860",nodes:["n3020","n5033","n5034","n5035","n3179","n3180","n3191","n3181","n3190","n3182","n3183","n3184","n3185","n3186","n3187","n3188","n3189","n3160","n3161","n3162","n2126","n2153","n2288","n3020"],tags:{landuse:"industrial"}},w87:{id:"w87",nodes:["n387","n388","n389","n386","n387"],tags:{building:"yes"}},w88:{id:"w88",nodes:["n390","n391","n392","n393","n390"],tags:{building:"yes"}},w89:{id:"w89",nodes:["n394","n2895"],tags:{highway:"service"}},w9:{id:"w9",nodes:["n50","n51","n148","n52","n57","n891","n53","n50"],tags:{building:"yes"}},w90:{id:"w90",nodes:["n398","n399","n400","n401","n402","n403","n404","n405","n406","n407","n408","n409","n410","n411","n412","n413","n414","n415","n416","n417","n398"],tags:{building:"yes"}},w91:{id:"w91",nodes:["n418","n423","n419"],tags:{highway:"service"}},w92:{id:"w92",nodes:["n420","n421","n422","n423","n420"],tags:{amenity:"parking"}},w93:{id:"w93",nodes:["n2282","n1876"],tags:{name:"Rocky River",tunnel:"building_passage",waterway:"river"}},w94:{id:"w94",nodes:["n1876","n885","n1875","n2234"],tags:{name:"Rocky River",waterway:"river"}},w95:{id:"w95",nodes:["n425","n426","n427","n914","n428","n913","n425"],tags:{building:"yes"}},w96:{id:"w96",nodes:["n456","n620","n1034","n1035","n456"],tags:{building:"yes"}},w97:{id:"w97",nodes:["n435","n912","n451","n321"],tags:{highway:"footway"}},w98:{id:"w98",nodes:["n436","n319","n437","n438","n439","n440","n441","n476","n442"],tags:{highway:"service"}},w99:{id:"w99",nodes:["n443","n444","n445","n446","n447","n448","n449","n450","n443"],tags:{amenity:"parking"}},n2934:{id:"n2934",loc:[-85.617051,41.952263]},n2935:{id:"n2935",loc:[-85.61699,41.952276]},n2937:{id:"n2937",loc:[-85.616847,41.952262]},n2938:{id:"n2938",loc:[-85.616577,41.951956]},n2939:{id:"n2939",loc:[-85.61656,41.952044]},n3348:{id:"n3348",loc:[-85.61714,41.9522]},n3349:{id:"n3349",loc:[-85.616517,41.95212]},n3350:{id:"n3350",loc:[-85.616489,41.952033]},n3351:{id:"n3351",loc:[-85.616529,41.951907]},n3354:{id:"n3354",loc:[-85.616488,41.951994]},w599:{tags:{footway:"sidewalk",highway:"footway"},id:"w599",nodes:["n1021","n1022","n731","n728","n1023","n1025","n1024","n1019"]},w618:{tags:{footway:"sidewalk",highway:"footway"},id:"w618",nodes:["n1020","n1021"]},n3355:{id:"n3355",loc:[-85.634489,41.946193]}};
+
+       // Tooltips and svg mask used to highlight certain features
+       function uiCurtain() {
+
+           var surface = d3_select(null),
+               tooltip = d3_select(null),
+               darkness = d3_select(null);
+
+           function curtain(selection) {
+               surface = selection
+                   .append('svg')
+                   .attr('id', 'curtain')
+                   .style('z-index', 1000)
+                   .style('pointer-events', 'none')
+                   .style('position', 'absolute')
+                   .style('top', 0)
+                   .style('left', 0);
+
+               darkness = surface.append('path')
+                   .attr('x', 0)
+                   .attr('y', 0)
+                   .attr('class', 'curtain-darkness');
+
+               d3_select(window).on('resize.curtain', resize);
+
+               tooltip = selection.append('div')
+                   .attr('class', 'tooltip')
+                   .style('z-index', 1002);
+
+               tooltip
+                   .append('div')
+                   .attr('class', 'tooltip-arrow');
+
+               tooltip
+                   .append('div')
+                   .attr('class', 'tooltip-inner');
+
+               resize();
+
+
+               function resize() {
+                   surface
+                       .attr('width', window.innerWidth)
+                       .attr('height', window.innerHeight);
+                   curtain.cut(darkness.datum());
+               }
+           }
+
+
+           /**
+            * Reveal cuts the curtain to highlight the given box,
+            * and shows a tooltip with instructions next to the box.
+            *
+            * @param  {String|ClientRect} [box]   box used to cut the curtain
+            * @param  {String}    [text]          text for a tooltip
+            * @param  {Object}    [options]
+            * @param  {string}    [options.tooltipClass]    optional class to add to the tooltip
+            * @param  {integer}   [options.duration]        transition time in milliseconds
+            * @param  {string}    [options.buttonText]      if set, create a button with this text label
+            * @param  {function}  [options.buttonCallback]  if set, the callback for the button
+            * @param  {String|ClientRect} [options.tooltipBox]  box for tooltip position, if different from box for the curtain
+            */
+           curtain.reveal = function(box, text, options) {
+               if (typeof box === 'string') {
+                   box = d3_select(box).node();
+               }
+               if (box && box.getBoundingClientRect) {
+                   box = copyBox(box.getBoundingClientRect());
+               }
+
+               options = options || {};
+
+               var tooltipBox;
+               if (options.tooltipBox) {
+                   tooltipBox = options.tooltipBox;
+                   if (typeof tooltipBox === 'string') {
+                       tooltipBox = d3_select(tooltipBox).node();
+                   }
+                   if (tooltipBox && tooltipBox.getBoundingClientRect) {
+                       tooltipBox = copyBox(tooltipBox.getBoundingClientRect());
+                   }
+               } else {
+                   tooltipBox = box;
+               }
+
+               if (tooltipBox && text) {
+                   // pseudo markdown bold text for the instruction section..
+                   var parts = text.split('**');
+                   var html = parts[0] ? '<span>' + parts[0] + '</span>' : '';
+                   if (parts[1]) {
+                       html += '<span class="instruction">' + parts[1] + '</span>';
+                   }
+
+                   html = html.replace(/\*(.*?)\*/g, '<em>$1</em>');   // emphasis
+                   html = html.replace(/\{br\}/g, '<br/><br/>');       // linebreak
+
+                   if (options.buttonText && options.buttonCallback) {
+                       html += '<div class="button-section">' +
+                           '<button href="#" class="button action">' + options.buttonText + '</button></div>';
+                   }
+
+                   var classes = 'curtain-tooltip tooltip in ' + (options.tooltipClass || '');
+                   tooltip
+                       .classed(classes, true)
+                       .selectAll('.tooltip-inner')
+                       .html(html);
+
+                   if (options.buttonText && options.buttonCallback) {
+                       var button = tooltip.selectAll('.button-section .button.action');
+                       button
+                           .on('click', function() {
+                               event.preventDefault();
+                               options.buttonCallback();
+                           });
+                   }
+
+                   var tip = copyBox(tooltip.node().getBoundingClientRect()),
+                       w = window.innerWidth,
+                       h = window.innerHeight,
+                       tooltipWidth = 200,
+                       tooltipArrow = 5,
+                       side, pos;
+
+
+                   // hack: this will have bottom placement,
+                   // so need to reserve extra space for the tooltip illustration.
+                   if (options.tooltipClass === 'intro-mouse') {
+                       tip.height += 80;
+                   }
+
+                   // trim box dimensions to just the portion that fits in the window..
+                   if (tooltipBox.top + tooltipBox.height > h) {
+                       tooltipBox.height -= (tooltipBox.top + tooltipBox.height - h);
+                   }
+                   if (tooltipBox.left + tooltipBox.width > w) {
+                       tooltipBox.width -= (tooltipBox.left + tooltipBox.width - w);
+                   }
+
+                   // determine tooltip placement..
+
+                   if (tooltipBox.top + tooltipBox.height < 100) {
+                       // tooltip below box..
+                       side = 'bottom';
+                       pos = [
+                           tooltipBox.left + tooltipBox.width / 2 - tip.width / 2,
+                           tooltipBox.top + tooltipBox.height
+                       ];
+
+                   } else if (tooltipBox.top > h - 140) {
+                       // tooltip above box..
+                       side = 'top';
+                       pos = [
+                           tooltipBox.left + tooltipBox.width / 2 - tip.width / 2,
+                           tooltipBox.top - tip.height
+                       ];
+
+                   } else {
+                       // tooltip to the side of the tooltipBox..
+                       var tipY = tooltipBox.top + tooltipBox.height / 2 - tip.height / 2;
+
+                       if (textDirection === 'rtl') {
+                           if (tooltipBox.left - tooltipWidth - tooltipArrow < 70) {
+                               side = 'right';
+                               pos = [tooltipBox.left + tooltipBox.width + tooltipArrow, tipY];
+
+                           } else {
+                               side = 'left';
+                               pos = [tooltipBox.left - tooltipWidth - tooltipArrow, tipY];
+                           }
+
+                       } else {
+                           if (tooltipBox.left + tooltipBox.width + tooltipArrow + tooltipWidth > w - 70) {
+                               side = 'left';
+                               pos = [tooltipBox.left - tooltipWidth - tooltipArrow, tipY];
+                           }
+                           else {
+                               side = 'right';
+                               pos = [tooltipBox.left + tooltipBox.width + tooltipArrow, tipY];
+                           }
+                       }
+                   }
+
+                   if (options.duration !== 0 || !tooltip.classed(side)) {
+                       tooltip.call(uiToggle(true));
+                   }
+
+                   tooltip
+                       .style('top', pos[1] + 'px')
+                       .style('left', pos[0] + 'px')
+                       .attr('class', classes + ' ' + side);
+
+
+                   // shift tooltip-inner if it is very close to the top or bottom edge
+                   // (doesn't affect the placement of the tooltip-arrow)
+                   var shiftY = 0;
+                   if (side === 'left' || side === 'right') {
+                       if (pos[1] < 60) {
+                           shiftY = 60 - pos[1];
+                       }
+                       else if (pos[1] + tip.height > h - 100) {
+                           shiftY = h - pos[1] - tip.height - 100;
+                       }
+                   }
+                   tooltip.selectAll('.tooltip-inner')
+                       .style('top', shiftY + 'px');
+
+               } else {
+                   tooltip
+                       .classed('in', false)
+                       .call(uiToggle(false));
+               }
+
+               curtain.cut(box, options.duration);
+
+               return tooltip;
+           };
+
+
+           curtain.cut = function(datum, duration) {
+               darkness.datum(datum)
+                   .interrupt();
+
+               var selection;
+               if (duration === 0) {
+                   selection = darkness;
+               } else {
+                   selection = darkness
+                       .transition()
+                       .duration(duration || 600)
+                       .ease(linear$1);
+               }
+
+               selection
+                   .attr('d', function(d) {
+                       var string = 'M 0,0 L 0,' + window.innerHeight + ' L ' +
+                           window.innerWidth + ',' + window.innerHeight + 'L' +
+                           window.innerWidth + ',0 Z';
+
+                       if (!d) return string;
+                       return string + 'M' +
+                           d.left + ',' + d.top + 'L' +
+                           d.left + ',' + (d.top + d.height) + 'L' +
+                           (d.left + d.width) + ',' + (d.top + d.height) + 'L' +
+                           (d.left + d.width) + ',' + (d.top) + 'Z';
+
+                   });
+           };
+
+
+           curtain.remove = function() {
+               surface.remove();
+               tooltip.remove();
+               d3_select(window).on('resize.curtain', null);
+           };
+
+
+           // ClientRects are immutable, so copy them to an object,
+           // in case we need to trim the height/width.
+           function copyBox(src) {
+               return {
+                   top: src.top,
+                   right: src.right,
+                   bottom: src.bottom,
+                   left: src.left,
+                   width: src.width,
+                   height: src.height
+               };
+           }
+
+
+           return curtain;
+       }
+
+       function uiIntroWelcome(context, reveal) {
+           var dispatch$1 = dispatch('done');
+           var listener = clickListener();
+
+           var chapter = {
+               title: 'intro.welcome.title'
+           };
+
+
+           function welcome() {
+               context.map().centerZoom([-85.63591, 41.94285], 19);
+               reveal('.intro-nav-wrap .chapter-welcome',
+                   t('intro.welcome.welcome'),
+                   { buttonText: t('intro.ok'), buttonCallback: practice }
+               );
+           }
+
+           function practice() {
+               reveal('.intro-nav-wrap .chapter-welcome',
+                   t('intro.welcome.practice'),
+                   { buttonText: t('intro.ok'), buttonCallback: words }
+               );
+           }
+
+           function words() {
+               reveal('.intro-nav-wrap .chapter-welcome',
+                   t('intro.welcome.words'),
+                   { buttonText: t('intro.ok'), buttonCallback: mouse }
+               );
+           }
+
+
+           function mouse() {
+               reveal('.intro-nav-wrap .chapter-welcome',
+                   t('intro.welcome.mouse'),
+                   { buttonText: t('intro.ok'), buttonCallback: leftClick }
+               );
+           }
+
+
+           function leftClick() {
+               var counter = 0;
+               var times = 5;
+
+               var tooltip = reveal('.intro-nav-wrap .chapter-welcome',
+                   t('intro.welcome.leftclick', { num: times }),
+                   { tooltipClass: 'intro-mouse' }
+               );
+
+               tooltip.selectAll('.tooltip-inner')
+                   .insert('svg', 'span')
+                   .attr('class', 'tooltip-illustration')
+                   .append('use')
+                   .attr('xlink:href', '#iD-walkthrough-mouse');
+
+               tooltip
+                   .append('div')
+                   .attr('class', 'counter');
+
+               tooltip.call(listener);
+
+               listener.on('click', function(which) {
+                   if (which === 'left') {
+                       d3_select('.curtain-tooltip.intro-mouse .counter')
+                           .text(String(++counter));
+
+                       if (counter === times) {
+                           window.setTimeout(function() { continueTo(rightClick); }, 1000);
+                       }
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   listener.on('click', null);
+                   tooltip.call(listener.off);
+                   tooltip.select('.counter').remove();
+                   nextStep();
+               }
+           }
+
+
+           function rightClick() {
+               var counter = 0;
+               var times = 5;
+
+               var tooltip = reveal('.intro-nav-wrap .chapter-welcome',
+                   t('intro.welcome.rightclick', { num: times }),
+                   { tooltipClass: 'intro-mouse' }
+               );
+
+               tooltip.selectAll('.tooltip-inner')
+                   .insert('svg', 'span')
+                   .attr('class', 'tooltip-illustration')
+                   .append('use')
+                   .attr('xlink:href', '#iD-walkthrough-mouse');
+
+               tooltip
+                   .append('div')
+                   .attr('class', 'counter');
+
+               tooltip.call(listener);
+
+               listener.on('click', function(which) {
+                   if (which === 'right') {
+                       d3_select('.curtain-tooltip.intro-mouse .counter')
+                           .text(String(++counter));
+
+                       if (counter === times) {
+                           window.setTimeout(function() { continueTo(chapters); }, 1000);
+                       }
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   listener.on('click', null);
+                   tooltip.call(listener.off);
+                   tooltip.select('.counter').remove();
+                   nextStep();
+               }
+           }
+
+
+           function chapters() {
+               dispatch$1.call('done');
+               reveal('.intro-nav-wrap .chapter-navigation',
+                   t('intro.welcome.chapters', { next: t('intro.navigation.title') })
+               );
+           }
+
+
+           chapter.enter = function() {
+               welcome();
+           };
+
+
+           chapter.exit = function() {
+               listener.off();
+               d3_select('.curtain-tooltip.intro-mouse')
+                   .selectAll('.counter')
+                   .remove();
+           };
+
+
+           chapter.restart = function() {
+               chapter.exit();
+               chapter.enter();
+           };
+
+
+           return utilRebind(chapter, dispatch$1, 'on');
+       }
+
+
+
+       function clickListener() {
+           var dispatch$1 = dispatch('click');
+           var minTime = 120;
+           var tooltip = d3_select(null);
+           var down = {};
+
+           // `down` keeps track of which buttons/keys are down.
+           // Setting a property in `down` happens immediately.
+           // Unsetting a property in `down` is delayed because
+           //   on Windows a contextmenu event happens after keyup/mouseup
+
+           function keydown() {
+               if (event.keyCode === 93)  {   // context menu
+                   event.preventDefault();
+                   event.stopPropagation();
+                   down.menu = event.timeStamp;
+                   tooltip.classed('rightclick', true);
+               }
+           }
+
+
+           function keyup() {
+               if (event.keyCode === 93)  {   // context menu
+                   event.preventDefault();
+                   event.stopPropagation();
+                   var endTime = event.timeStamp;
+                   var startTime = down.menu || endTime;
+                   var delay = (endTime - startTime < minTime) ? minTime : 0;
+
+                   window.setTimeout(function() {
+                       tooltip.classed('rightclick', false);
+                       down.menu = undefined;  // delayed, for Windows
+                   }, delay);
+
+                   dispatch$1.call('click', this, 'right');
+               }
+           }
+
+
+           function mousedown() {
+               var button = event.button;
+               if (button === 0 && !event.ctrlKey) {
+                   tooltip.classed('leftclick', true);
+               } else if (button === 2) {
+                   tooltip.classed('rightclick', true);
+               }
+               down[button] = event.timeStamp;
+           }
+
+
+           function mouseup() {
+               var button = event.button;
+               var endTime = event.timeStamp;
+               var startTime = down[button] || endTime;
+               var delay = (endTime - startTime < minTime) ? minTime : 0;
+
+               if (button === 0 && !event.ctrlKey) {
+                   window.setTimeout(function() {
+                       tooltip.classed('leftclick', false);
+                       down[button] = undefined;  // delayed, for Windows
+                   }, delay);
+
+                   dispatch$1.call('click', this, 'left');
+
+               } else if (button === 2) {
+                   window.setTimeout(function() {
+                       tooltip.classed('rightclick', false);
+                       down[button] = undefined;  // delayed, for Windows
+                   }, delay);
+
+                   dispatch$1.call('click', this, 'right');
+
+               } else {
+                   window.setTimeout(function() {
+                       down[button] = undefined;  // delayed, for Windows
+                   }, delay);
+               }
+           }
+
+
+           function contextmenu() {
+               event.preventDefault();
+               event.stopPropagation();
+               if (!down[2] && !down.menu) {
+                   tooltip.classed('rightclick', true);
+                   window.setTimeout(function() {
+                       tooltip.classed('rightclick', false);
+                   }, minTime);
+                   dispatch$1.call('click', this, 'right');
+               }
+           }
+
+
+           var behavior = function(selection) {
+               tooltip = selection;
+               down = {};
+
+               d3_select(window)
+                   .on('keydown.intro', keydown)
+                   .on('keyup.intro', keyup)
+                   .on('mousedown.intro', mousedown)
+                   .on('mouseup.intro', mouseup)
+                   .on('contextmenu.intro', contextmenu);
+           };
+
+
+           behavior.off = function() {
+               d3_select(window)
+                   .on('keydown.intro', null)
+                   .on('keyup.intro', null)
+                   .on('mousedown.intro', null)
+                   .on('mouseup.intro', null)
+                   .on('contextmenu.intro', null);
+
+               tooltip
+                   .classed('leftclick', false)
+                   .classed('rightclick', false);
+           };
+
+           return utilRebind(behavior, dispatch$1, 'on');
+       }
+
+       function uiIntroNavigation(context, reveal) {
+           var dispatch$1 = dispatch('done');
+           var timeouts = [];
+           var hallId = 'n2061';
+           var townHall = [-85.63591, 41.94285];
+           var springStreetId = 'w397';
+           var springStreetEndId = 'n1834';
+           var springStreet = [-85.63582, 41.94255];
+           var onewayField = context.presets().field('oneway');
+           var maxspeedField = context.presets().field('maxspeed');
+
+
+           var chapter = {
+               title: 'intro.navigation.title'
+           };
+
+
+           function timeout(f, t) {
+               timeouts.push(window.setTimeout(f, t));
+           }
+
+
+           function eventCancel() {
+               event.stopPropagation();
+               event.preventDefault();
+           }
+
+
+           function isTownHallSelected() {
+               var ids = context.selectedIDs();
+               return ids.length === 1 && ids[0] === hallId;
+           }
+
+
+           function dragMap() {
+               context.enter(modeBrowse(context));
+               context.history().reset('initial');
+
+               var msec = transitionTime(townHall, context.map().center());
+               if (msec) { reveal(null, null, { duration: 0 }); }
+               context.map().centerZoomEase(townHall, 19, msec);
+
+               timeout(function() {
+                   var centerStart = context.map().center();
+
+                   reveal('#surface', t('intro.navigation.drag'));
+                   context.map().on('drawn.intro', function() {
+                       reveal('#surface', t('intro.navigation.drag'), { duration: 0 });
+                   });
+
+                   context.map().on('move.intro', function() {
+                       var centerNow = context.map().center();
+                       if (centerStart[0] !== centerNow[0] || centerStart[1] !== centerNow[1]) {
+                           context.map().on('move.intro', null);
+                           timeout(function() { continueTo(zoomMap); }, 3000);
+                       }
+                   });
+
+               }, msec + 100);
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function zoomMap() {
+               var zoomStart = context.map().zoom();
+
+               reveal('#surface',
+                   t('intro.navigation.zoom', {
+                       plus: icon('#iD-icon-plus', 'pre-text'),
+                       minus: icon('#iD-icon-minus', 'pre-text')
+                   })
+               );
+
+               context.map().on('drawn.intro', function() {
+                   reveal('#surface',
+                       t('intro.navigation.zoom', {
+                           plus: icon('#iD-icon-plus', 'pre-text'),
+                           minus: icon('#iD-icon-minus', 'pre-text')
+                       }), { duration: 0 }
+                   );
+               });
+
+               context.map().on('move.intro', function() {
+                   if (context.map().zoom() !== zoomStart) {
+                       context.map().on('move.intro', null);
+                       timeout(function() { continueTo(features); }, 3000);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function features() {
+               var onClick = function() { continueTo(pointsLinesAreas); };
+
+               reveal('#surface', t('intro.navigation.features'),
+                   { buttonText: t('intro.ok'), buttonCallback: onClick }
+               );
+
+               context.map().on('drawn.intro', function() {
+                   reveal('#surface', t('intro.navigation.features'),
+                       { duration: 0, buttonText: t('intro.ok'), buttonCallback: onClick }
+                   );
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('drawn.intro', null);
+                   nextStep();
+               }
+           }
+
+           function pointsLinesAreas() {
+               var onClick = function() { continueTo(nodesWays); };
+
+               reveal('#surface', t('intro.navigation.points_lines_areas'),
+                   { buttonText: t('intro.ok'), buttonCallback: onClick }
+               );
+
+               context.map().on('drawn.intro', function() {
+                   reveal('#surface', t('intro.navigation.points_lines_areas'),
+                       { duration: 0, buttonText: t('intro.ok'), buttonCallback: onClick }
+                   );
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('drawn.intro', null);
+                   nextStep();
+               }
+           }
+
+           function nodesWays() {
+               var onClick = function() { continueTo(clickTownHall); };
+
+               reveal('#surface', t('intro.navigation.nodes_ways'),
+                   { buttonText: t('intro.ok'), buttonCallback: onClick }
+               );
+
+               context.map().on('drawn.intro', function() {
+                   reveal('#surface', t('intro.navigation.nodes_ways'),
+                       { duration: 0, buttonText: t('intro.ok'), buttonCallback: onClick }
+                   );
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('drawn.intro', null);
+                   nextStep();
+               }
+           }
+
+           function clickTownHall() {
+               context.enter(modeBrowse(context));
+               context.history().reset('initial');
+
+               var entity = context.hasEntity(hallId);
+               if (!entity) return;
+               reveal(null, null, { duration: 0 });
+               context.map().centerZoomEase(entity.loc, 19, 500);
+
+               timeout(function() {
+                   var entity = context.hasEntity(hallId);
+                   if (!entity) return;
+                   var box = pointBox(entity.loc, context);
+                   reveal(box, t('intro.navigation.click_townhall'));
+
+                   context.map().on('move.intro drawn.intro', function() {
+                       var entity = context.hasEntity(hallId);
+                       if (!entity) return;
+                       var box = pointBox(entity.loc, context);
+                       reveal(box, t('intro.navigation.click_townhall'), { duration: 0 });
+                   });
+
+                   context.on('enter.intro', function() {
+                       if (isTownHallSelected()) continueTo(selectedTownHall);
+                   });
+
+               }, 550);  // after centerZoomEase
+
+               context.history().on('change.intro', function() {
+                   if (!context.hasEntity(hallId)) {
+                       continueTo(clickTownHall);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   context.map().on('move.intro drawn.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function selectedTownHall() {
+               if (!isTownHallSelected()) return clickTownHall();
+
+               var entity = context.hasEntity(hallId);
+               if (!entity) return clickTownHall();
+
+               var box = pointBox(entity.loc, context);
+               var onClick = function() { continueTo(editorTownHall); };
+
+               reveal(box, t('intro.navigation.selected_townhall'),
+                   { buttonText: t('intro.ok'), buttonCallback: onClick }
+               );
+
+               context.map().on('move.intro drawn.intro', function() {
+                   var entity = context.hasEntity(hallId);
+                   if (!entity) return;
+                   var box = pointBox(entity.loc, context);
+                   reveal(box, t('intro.navigation.selected_townhall'),
+                       { duration: 0, buttonText: t('intro.ok'), buttonCallback: onClick }
+                   );
+               });
+
+               context.history().on('change.intro', function() {
+                   if (!context.hasEntity(hallId)) {
+                       continueTo(clickTownHall);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function editorTownHall() {
+               if (!isTownHallSelected()) return clickTownHall();
+
+               // disallow scrolling
+               d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+               var onClick = function() { continueTo(presetTownHall); };
+
+               reveal('.entity-editor-pane',
+                   t('intro.navigation.editor_townhall'),
+                   { buttonText: t('intro.ok'), buttonCallback: onClick }
+               );
+
+               context.on('exit.intro', function() {
+                   continueTo(clickTownHall);
+               });
+
+               context.history().on('change.intro', function() {
+                   if (!context.hasEntity(hallId)) {
+                       continueTo(clickTownHall);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   context.history().on('change.intro', null);
+                   d3_select('.inspector-wrap').on('wheel.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function presetTownHall() {
+               if (!isTownHallSelected()) return clickTownHall();
+
+               // reset pane, in case user happened to change it..
+               d3_select('.inspector-wrap .panewrap').style('right', '0%');
+               // disallow scrolling
+               d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+               // preset match, in case the user happened to change it.
+               var entity = context.entity(context.selectedIDs()[0]);
+               var preset = context.presets().match(entity, context.graph());
+
+               var onClick = function() { continueTo(fieldsTownHall); };
+
+               context.on('exit.intro', function() {
+                   continueTo(clickTownHall);
+               });
+
+               context.history().on('change.intro', function() {
+                   if (!context.hasEntity(hallId)) {
+                       continueTo(clickTownHall);
+                   }
+               });
+
+               reveal('.inspector-body .preset-list-item.inspector-inner',
+                   t('intro.navigation.preset_townhall', { preset: preset.name() }),
+                   { buttonText: t('intro.ok'), buttonCallback: onClick }
+               );
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   context.history().on('change.intro', null);
+                   d3_select('.inspector-wrap').on('wheel.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function fieldsTownHall() {
+               if (!isTownHallSelected()) return clickTownHall();
+
+               // reset pane, in case user happened to change it..
+               d3_select('.inspector-wrap .panewrap').style('right', '0%');
+               // disallow scrolling
+               d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+               var onClick = function() { continueTo(closeTownHall); };
+
+               reveal('.inspector-body .preset-editor',
+                   t('intro.navigation.fields_townhall'),
+                   { buttonText: t('intro.ok'), buttonCallback: onClick }
+               );
+
+               context.on('exit.intro', function() {
+                   continueTo(clickTownHall);
+               });
+
+               context.history().on('change.intro', function() {
+                   if (!context.hasEntity(hallId)) {
+                       continueTo(clickTownHall);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   context.history().on('change.intro', null);
+                   d3_select('.inspector-wrap').on('wheel.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function closeTownHall() {
+               if (!isTownHallSelected()) return clickTownHall();
+
+               var selector = '.entity-editor-pane button.preset-close svg use';
+               var href = d3_select(selector).attr('href') || '#iD-icon-close';
+
+               reveal('.entity-editor-pane',
+                   t('intro.navigation.close_townhall', { button: icon(href, 'pre-text') })
+               );
+
+               context.on('exit.intro', function() {
+                   continueTo(searchStreet);
+               });
+
+               context.history().on('change.intro', function() {
+                   // update the close icon in the tooltip if the user edits something.
+                   var selector = '.entity-editor-pane button.preset-close svg use';
+                   var href = d3_select(selector).attr('href') || '#iD-icon-close';
+
+                   reveal('.entity-editor-pane',
+                       t('intro.navigation.close_townhall', { button: icon(href, 'pre-text') }),
+                       { duration: 0 }
+                   );
+               });
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function searchStreet() {
+               context.enter(modeBrowse(context));
+               context.history().reset('initial');  // ensure spring street exists
+
+               var msec = transitionTime(springStreet, context.map().center());
+               if (msec) { reveal(null, null, { duration: 0 }); }
+               context.map().centerZoomEase(springStreet, 19, msec);  // ..and user can see it
+
+               timeout(function() {
+                   reveal('.search-header input',
+                       t('intro.navigation.search_street', { name: t('intro.graph.name.spring-street') })
+                   );
+
+                   d3_select('.search-header input')
+                       .on('keyup.intro', checkSearchResult);
+               }, msec + 100);
+           }
+
+
+           function checkSearchResult() {
+               var first = d3_select('.feature-list-item:nth-child(0n+2)');  // skip "No Results" item
+               var firstName = first.select('.entity-name');
+               var name = t('intro.graph.name.spring-street');
+
+               if (!firstName.empty() && firstName.text() === name) {
+                   reveal(first.node(),
+                       t('intro.navigation.choose_street', { name: name }),
+                       { duration: 300 }
+                   );
+
+                   context.on('exit.intro', function() {
+                       continueTo(selectedStreet);
+                   });
+
+                   d3_select('.search-header input')
+                       .on('keydown.intro', eventCancel, true)
+                       .on('keyup.intro', null);
+               }
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   d3_select('.search-header input')
+                       .on('keydown.intro', null)
+                       .on('keyup.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function selectedStreet() {
+               if (!context.hasEntity(springStreetEndId) || !context.hasEntity(springStreetId)) {
+                   return searchStreet();
+               }
+
+               var onClick = function() { continueTo(editorStreet); };
+               var entity = context.entity(springStreetEndId);
+               var box = pointBox(entity.loc, context);
+               box.height = 500;
+
+               reveal(box,
+                   t('intro.navigation.selected_street', { name: t('intro.graph.name.spring-street') }),
+                   { duration: 600, buttonText: t('intro.ok'), buttonCallback: onClick }
+               );
+
+               timeout(function() {
+                   context.map().on('move.intro drawn.intro', function() {
+                       var entity = context.hasEntity(springStreetEndId);
+                       if (!entity) return;
+                       var box = pointBox(entity.loc, context);
+                       box.height = 500;
+                       reveal(box,
+                           t('intro.navigation.selected_street', { name: t('intro.graph.name.spring-street') }),
+                           { duration: 0, buttonText: t('intro.ok'), buttonCallback: onClick }
+                       );
+                   });
+               }, 600);  // after reveal.
+
+               context.on('enter.intro', function(mode) {
+                   if (!context.hasEntity(springStreetId)) {
+                       return continueTo(searchStreet);
+                   }
+                   var ids = context.selectedIDs();
+                   if (mode.id !== 'select' || !ids.length || ids[0] !== springStreetId) {
+                       // keep Spring Street selected..
+                       context.enter(modeSelect(context, [springStreetId]));
+                   }
+               });
+
+               context.history().on('change.intro', function() {
+                   if (!context.hasEntity(springStreetEndId) || !context.hasEntity(springStreetId)) {
+                       timeout(function() {
+                           continueTo(searchStreet);
+                       }, 300);  // after any transition (e.g. if user deleted intersection)
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function editorStreet() {
+               var selector = '.entity-editor-pane button.preset-close svg use';
+               var href = d3_select(selector).attr('href') || '#iD-icon-close';
+
+               reveal('.entity-editor-pane',
+                   t('intro.navigation.editor_street', {
+                       button: icon(href, 'pre-text'),
+                       field1: onewayField.label(),
+                       field2: maxspeedField.label()
+                   })
+               );
+
+               context.on('exit.intro', function() {
+                   continueTo(play);
+               });
+
+               context.history().on('change.intro', function() {
+                   // update the close icon in the tooltip if the user edits something.
+                   var selector = '.entity-editor-pane button.preset-close svg use';
+                   var href = d3_select(selector).attr('href') || '#iD-icon-close';
+
+                   reveal('.entity-editor-pane',
+                       t('intro.navigation.editor_street', {
+                           button: icon(href, 'pre-text'),
+                           field1: onewayField.label().toLowerCase(),
+                           field2: maxspeedField.label().toLowerCase()
+                       }), { duration: 0 }
+                   );
+               });
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function play() {
+               dispatch$1.call('done');
+               reveal('#id-container',
+                   t('intro.navigation.play', { next: t('intro.points.title') }), {
+                       tooltipBox: '.intro-nav-wrap .chapter-point',
+                       buttonText: t('intro.ok'),
+                       buttonCallback: function() { reveal('#id-container'); }
+                   }
+               );
+           }
+
+
+           chapter.enter = function() {
+               dragMap();
+           };
+
+
+           chapter.exit = function() {
+               timeouts.forEach(window.clearTimeout);
+               context.on('enter.intro exit.intro', null);
+               context.map().on('move.intro drawn.intro', null);
+               context.history().on('change.intro', null);
+               d3_select('.inspector-wrap').on('wheel.intro', null);
+               d3_select('.search-header input').on('keydown.intro keyup.intro', null);
+           };
+
+
+           chapter.restart = function() {
+               chapter.exit();
+               chapter.enter();
+           };
+
+
+           return utilRebind(chapter, dispatch$1, 'on');
+       }
+
+       function uiIntroPoint(context, reveal) {
+           var dispatch$1 = dispatch('done');
+           var timeouts = [];
+           var intersection = [-85.63279, 41.94394];
+           var building = [-85.632422, 41.944045];
+           var cafePreset = context.presets().item('amenity/cafe');
+           var _pointID = null;
+
+
+           var chapter = {
+               title: 'intro.points.title'
+           };
+
+
+           function timeout(f, t) {
+               timeouts.push(window.setTimeout(f, t));
+           }
+
+
+           function revealEditMenu(loc, text, options) {
+               var rect = context.surfaceRect();
+               var point = context.curtainProjection(loc);
+               var pad = 40;
+               var width = 250 + (2 * pad);
+               var height = 250;
+               var startX = rect.left + point[0];
+               var left = (textDirection === 'rtl') ? (startX - width + pad) : (startX - pad);
+               var box = {
+                   left: left,
+                   top: point[1] + rect.top - 60,
+                   width: width,
+                   height: height
+               };
+               reveal(box, text, options);
+           }
+
+
+           function eventCancel() {
+               event.stopPropagation();
+               event.preventDefault();
+           }
+
+
+           function addPoint() {
+               context.enter(modeBrowse(context));
+               context.history().reset('initial');
+
+               var msec = transitionTime(intersection, context.map().center());
+               if (msec) { reveal(null, null, { duration: 0 }); }
+               context.map().centerZoomEase(intersection, 19, msec);
+
+               timeout(function() {
+                   var tooltip = reveal('button.add-point',
+                       t('intro.points.add_point', { button: icon('#iD-icon-point', 'pre-text') }));
+
+                   _pointID = null;
+
+                   tooltip.selectAll('.tooltip-inner')
+                       .insert('svg', 'span')
+                       .attr('class', 'tooltip-illustration')
+                       .append('use')
+                       .attr('xlink:href', '#iD-graphic-points');
+
+                   context.on('enter.intro', function(mode) {
+                       if (mode.id !== 'add-point') return;
+                       continueTo(placePoint);
+                   });
+               }, msec + 100);
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function placePoint() {
+               if (context.mode().id !== 'add-point') {
+                   return chapter.restart();
+               }
+
+               var pointBox = pad$2(building, 150, context);
+               reveal(pointBox, t('intro.points.place_point'));
+
+               context.map().on('move.intro drawn.intro', function() {
+                   pointBox = pad$2(building, 150, context);
+                   reveal(pointBox, t('intro.points.place_point'), { duration: 0 });
+               });
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id !== 'select') return chapter.restart();
+                   _pointID = context.mode().selectedIDs()[0];
+                   continueTo(searchPreset);
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function searchPreset() {
+               if (context.mode().id !== 'select' || !_pointID || !context.hasEntity(_pointID)) {
+                   return addPoint();
+               }
+
+               // disallow scrolling
+               d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+               d3_select('.preset-search-input')
+                   .on('keydown.intro', null)
+                   .on('keyup.intro', checkPresetSearch);
+
+               reveal('.preset-search-input',
+                   t('intro.points.search_cafe', { preset: cafePreset.name() })
+               );
+
+               context.on('enter.intro', function(mode) {
+                   if (!_pointID || !context.hasEntity(_pointID)) {
+                       return continueTo(addPoint);
+                   }
+
+                   var ids = context.selectedIDs();
+                   if (mode.id !== 'select' || !ids.length || ids[0] !== _pointID) {
+                       // keep the user's point selected..
+                       context.enter(modeSelect(context, [_pointID]));
+
+                       // disallow scrolling
+                       d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+                       d3_select('.preset-search-input')
+                           .on('keydown.intro', null)
+                           .on('keyup.intro', checkPresetSearch);
+
+                       reveal('.preset-search-input',
+                           t('intro.points.search_cafe', { preset: cafePreset.name() })
+                       );
+
+                       context.history().on('change.intro', null);
+                   }
+               });
+
+
+               function checkPresetSearch() {
+                   var first = d3_select('.preset-list-item:first-child');
+
+                   if (first.classed('preset-amenity-cafe')) {
+                       d3_select('.preset-search-input')
+                           .on('keydown.intro', eventCancel, true)
+                           .on('keyup.intro', null);
+
+                       reveal(first.select('.preset-list-button').node(),
+                           t('intro.points.choose_cafe', { preset: cafePreset.name() }),
+                           { duration: 300 }
+                       );
+
+                       context.history().on('change.intro', function() {
+                           continueTo(aboutFeatureEditor);
+                       });
+                   }
+               }
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   context.history().on('change.intro', null);
+                   d3_select('.inspector-wrap').on('wheel.intro', null);
+                   d3_select('.preset-search-input').on('keydown.intro keyup.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function aboutFeatureEditor() {
+               if (context.mode().id !== 'select' || !_pointID || !context.hasEntity(_pointID)) {
+                   return addPoint();
+               }
+
+               timeout(function() {
+                   reveal('.entity-editor-pane', t('intro.points.feature_editor'), {
+                       tooltipClass: 'intro-points-describe',
+                       buttonText: t('intro.ok'),
+                       buttonCallback: function() { continueTo(addName); }
+                   });
+               }, 400);
+
+               context.on('exit.intro', function() {
+                   // if user leaves select mode here, just continue with the tutorial.
+                   continueTo(reselectPoint);
+               });
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function addName() {
+               if (context.mode().id !== 'select' || !_pointID || !context.hasEntity(_pointID)) {
+                   return addPoint();
+               }
+
+               // reset pane, in case user happened to change it..
+               d3_select('.inspector-wrap .panewrap').style('right', '0%');
+
+               timeout(function() {
+                   // It's possible for the user to add a name in a previous step..
+                   // If so, don't tell them to add the name in this step.
+                   // Give them an OK button instead.
+                   var entity = context.entity(_pointID);
+                   if (entity.tags.name) {
+                       var tooltip = reveal('.entity-editor-pane', t('intro.points.add_name'), {
+                           tooltipClass: 'intro-points-describe',
+                           buttonText: t('intro.ok'),
+                           buttonCallback: function() { continueTo(addCloseEditor); }
+                       });
+                       tooltip.select('.instruction').style('display', 'none');
+
+                   } else {
+                       reveal('.entity-editor-pane', t('intro.points.add_name'),
+                           { tooltipClass: 'intro-points-describe' }
+                       );
+                   }
+               }, 400);
+
+               context.history().on('change.intro', function() {
+                   continueTo(addCloseEditor);
+               });
+
+               context.on('exit.intro', function() {
+                   // if user leaves select mode here, just continue with the tutorial.
+                   continueTo(reselectPoint);
+               });
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function addCloseEditor() {
+               // reset pane, in case user happened to change it..
+               d3_select('.inspector-wrap .panewrap').style('right', '0%');
+
+               var selector = '.entity-editor-pane button.preset-close svg use';
+               var href = d3_select(selector).attr('href') || '#iD-icon-close';
+
+               context.on('exit.intro', function() {
+                   continueTo(reselectPoint);
+               });
+
+               reveal('.entity-editor-pane',
+                   t('intro.points.add_close', { button: icon(href, 'pre-text') })
+               );
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function reselectPoint() {
+               if (!_pointID) return chapter.restart();
+               var entity = context.hasEntity(_pointID);
+               if (!entity) return chapter.restart();
+
+               // make sure it's still a cafe, in case user somehow changed it..
+               var oldPreset = context.presets().match(entity, context.graph());
+               context.replace(actionChangePreset(_pointID, oldPreset, cafePreset));
+
+               context.enter(modeBrowse(context));
+
+               var msec = transitionTime(entity.loc, context.map().center());
+               if (msec) { reveal(null, null, { duration: 0 }); }
+               context.map().centerEase(entity.loc, msec);
+
+               timeout(function() {
+                   var box = pointBox(entity.loc, context);
+                   reveal(box, t('intro.points.reselect'), { duration: 600 });
+
+                   timeout(function() {
+                       context.map().on('move.intro drawn.intro', function() {
+                           var entity = context.hasEntity(_pointID);
+                           if (!entity) return chapter.restart();
+                           var box = pointBox(entity.loc, context);
+                           reveal(box, t('intro.points.reselect'), { duration: 0 });
+                       });
+                   }, 600); // after reveal..
+
+                   context.on('enter.intro', function(mode) {
+                       if (mode.id !== 'select') return;
+                       continueTo(updatePoint);
+                   });
+
+               }, msec + 100);
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function updatePoint() {
+               if (context.mode().id !== 'select' || !_pointID || !context.hasEntity(_pointID)) {
+                   return continueTo(reselectPoint);
+               }
+
+               // reset pane, in case user happened to untag the point..
+               d3_select('.inspector-wrap .panewrap').style('right', '0%');
+
+               context.on('exit.intro', function() {
+                   continueTo(reselectPoint);
+               });
+
+               context.history().on('change.intro', function() {
+                   continueTo(updateCloseEditor);
+               });
+
+               timeout(function() {
+                   reveal('.entity-editor-pane', t('intro.points.update'),
+                       { tooltipClass: 'intro-points-describe' }
+                   );
+               }, 400);
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function updateCloseEditor() {
+               if (context.mode().id !== 'select' || !_pointID || !context.hasEntity(_pointID)) {
+                   return continueTo(reselectPoint);
+               }
+
+               // reset pane, in case user happened to change it..
+               d3_select('.inspector-wrap .panewrap').style('right', '0%');
+
+               context.on('exit.intro', function() {
+                   continueTo(rightClickPoint);
+               });
+
+               timeout(function() {
+                   reveal('.entity-editor-pane',
+                       t('intro.points.update_close', { button: icon('#iD-icon-apply', 'pre-text') })
+                   );
+               }, 500);
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function rightClickPoint() {
+               if (!_pointID) return chapter.restart();
+               var entity = context.hasEntity(_pointID);
+               if (!entity) return chapter.restart();
+
+               context.enter(modeBrowse(context));
+
+               var box = pointBox(entity.loc, context);
+               reveal(box, t('intro.points.rightclick'), { duration: 600 });
+
+               timeout(function() {
+                   context.map().on('move.intro drawn.intro', function() {
+                       var entity = context.hasEntity(_pointID);
+                       if (!entity) return chapter.restart();
+                       var box = pointBox(entity.loc, context);
+                       reveal(box, t('intro.points.rightclick'), { duration: 0 });
+                   });
+               }, 600); // after reveal
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id !== 'select') return;
+                   var ids = context.selectedIDs();
+                   if (ids.length !== 1 || ids[0] !== _pointID) return;
+
+                   timeout(function() {
+                       var node = selectMenuItem('delete').node();
+                       if (!node) return;
+                       continueTo(enterDelete);
+                   }, 300);  // after menu visible
+               });
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   context.map().on('move.intro drawn.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function enterDelete() {
+               if (!_pointID) return chapter.restart();
+               var entity = context.hasEntity(_pointID);
+               if (!entity) return chapter.restart();
+
+               var node = selectMenuItem('delete').node();
+               if (!node) { return continueTo(rightClickPoint); }
+
+               revealEditMenu(entity.loc,
+                   t('intro.points.delete', { button: icon('#iD-operation-delete', 'pre-text') })
+               );
+
+               timeout(function() {
+                   context.map().on('move.intro drawn.intro', function() {
+                       revealEditMenu(entity.loc,
+                           t('intro.points.delete', { button: icon('#iD-operation-delete', 'pre-text') }),
+                           { duration: 0}
+                       );
+                   });
+               }, 300); // after menu visible
+
+               context.on('exit.intro', function() {
+                   if (!_pointID) return chapter.restart();
+                   var entity = context.hasEntity(_pointID);
+                   if (entity) return continueTo(rightClickPoint);  // point still exists
+               });
+
+               context.history().on('change.intro', function(changed) {
+                   if (changed.deleted().length) {
+                       continueTo(undo);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.history().on('change.intro', null);
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function undo() {
+               context.history().on('change.intro', function() {
+                   continueTo(play);
+               });
+
+               var iconName = '#iD-icon-' + (textDirection === 'rtl' ? 'redo' : 'undo');
+               reveal('#bar button.undo-button',
+                   t('intro.points.undo', { button: icon(iconName, 'pre-text') })
+               );
+
+               function continueTo(nextStep) {
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function play() {
+               dispatch$1.call('done');
+               reveal('#id-container',
+                   t('intro.points.play', { next: t('intro.areas.title') }), {
+                       tooltipBox: '.intro-nav-wrap .chapter-area',
+                       buttonText: t('intro.ok'),
+                       buttonCallback: function() { reveal('#id-container'); }
+                   }
+               );
+           }
+
+
+           chapter.enter = function() {
+               addPoint();
+           };
+
+
+           chapter.exit = function() {
+               timeouts.forEach(window.clearTimeout);
+               context.on('enter.intro exit.intro', null);
+               context.map().on('move.intro drawn.intro', null);
+               context.history().on('change.intro', null);
+               d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+               d3_select('.preset-search-input').on('keydown.intro keyup.intro', null);
+           };
+
+
+           chapter.restart = function() {
+               chapter.exit();
+               chapter.enter();
+           };
+
+
+           return utilRebind(chapter, dispatch$1, 'on');
+       }
+
+       function uiIntroArea(context, reveal) {
+           var dispatch$1 = dispatch('done');
+           var playground = [-85.63552, 41.94159];
+           var playgroundPreset = context.presets().item('leisure/playground');
+           var descriptionField = context.presets().field('description');
+           var timeouts = [];
+           var _areaID;
+
+
+           var chapter = {
+               title: 'intro.areas.title'
+           };
+
+
+           function timeout(f, t) {
+               timeouts.push(window.setTimeout(f, t));
+           }
+
+
+           function eventCancel() {
+               event.stopPropagation();
+               event.preventDefault();
+           }
+
+
+           function revealPlayground(center, text, options) {
+               var padding = 180 * Math.pow(2, context.map().zoom() - 19.5);
+               var box = pad$2(center, padding, context);
+               reveal(box, text, options);
+           }
+
+
+           function addArea() {
+               context.enter(modeBrowse(context));
+               context.history().reset('initial');
+               _areaID = null;
+
+               var msec = transitionTime(playground, context.map().center());
+               if (msec) { reveal(null, null, { duration: 0 }); }
+               context.map().centerZoomEase(playground, 19, msec);
+
+               timeout(function() {
+                   var tooltip = reveal('button.add-area',
+                       t('intro.areas.add_playground', { button: icon('#iD-icon-area', 'pre-text') }));
+
+                   tooltip.selectAll('.tooltip-inner')
+                       .insert('svg', 'span')
+                       .attr('class', 'tooltip-illustration')
+                       .append('use')
+                       .attr('xlink:href', '#iD-graphic-areas');
+
+                   context.on('enter.intro', function(mode) {
+                       if (mode.id !== 'add-area') return;
+                       continueTo(startPlayground);
+                   });
+               }, msec + 100);
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function startPlayground() {
+               if (context.mode().id !== 'add-area') {
+                   return chapter.restart();
+               }
+
+               _areaID = null;
+               context.map().zoomEase(19.5, 500);
+
+               timeout(function() {
+                   revealPlayground(playground,
+                       t('intro.areas.start_playground'), { duration: 250 }
+                   );
+
+                   timeout(function() {
+                       context.map().on('move.intro drawn.intro', function() {
+                           revealPlayground(playground,
+                               t('intro.areas.start_playground'), { duration: 0 }
+                           );
+                       });
+                       context.on('enter.intro', function(mode) {
+                           if (mode.id !== 'draw-area') return chapter.restart();
+                           continueTo(continuePlayground);
+                       });
+                   }, 250);  // after reveal
+
+               }, 550);  // after easing
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function continuePlayground() {
+               if (context.mode().id !== 'draw-area') {
+                   return chapter.restart();
+               }
+
+               _areaID = null;
+               revealPlayground(playground,
+                   t('intro.areas.continue_playground', { alt: uiCmd.display('⌥') }),
+                   { duration: 250 }
+               );
+
+               timeout(function() {
+                   context.map().on('move.intro drawn.intro', function() {
+                       revealPlayground(playground,
+                           t('intro.areas.continue_playground', { alt: uiCmd.display('⌥') }),
+                           { duration: 0 }
+                       );
+                   });
+               }, 250);  // after reveal
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id === 'draw-area') {
+                       var entity = context.hasEntity(context.selectedIDs()[0]);
+                       if (entity && entity.nodes.length >= 6) {
+                           return continueTo(finishPlayground);
+                       } else {
+                           return;
+                       }
+                   } else if (mode.id === 'select') {
+                       _areaID = context.selectedIDs()[0];
+                       return continueTo(searchPresets);
+                   } else {
+                       return chapter.restart();
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function finishPlayground() {
+               if (context.mode().id !== 'draw-area') {
+                   return chapter.restart();
+               }
+
+               _areaID = null;
+               revealPlayground(playground,
+                   t('intro.areas.finish_playground'), { duration: 250 }
+               );
+
+               timeout(function() {
+                   context.map().on('move.intro drawn.intro', function() {
+                       revealPlayground(playground,
+                           t('intro.areas.finish_playground'), { duration: 0 }
+                       );
+                   });
+               }, 250);  // after reveal
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id === 'draw-area') {
+                       return;
+                   } else if (mode.id === 'select') {
+                       _areaID = context.selectedIDs()[0];
+                       return continueTo(searchPresets);
+                   } else {
+                       return chapter.restart();
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function searchPresets() {
+               if (!_areaID || !context.hasEntity(_areaID)) {
+                   return addArea();
+               }
+               var ids = context.selectedIDs();
+               if (context.mode().id !== 'select' || !ids.length || ids[0] !== _areaID) {
+                   context.enter(modeSelect(context, [_areaID]));
+               }
+
+               // disallow scrolling
+               d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+               timeout(function() {
+                   // reset pane, in case user somehow happened to change it..
+                   d3_select('.inspector-wrap .panewrap').style('right', '-100%');
+
+                   d3_select('.preset-search-input')
+                       .on('keydown.intro', null)
+                       .on('keyup.intro', checkPresetSearch);
+
+                   reveal('.preset-search-input',
+                       t('intro.areas.search_playground', { preset: playgroundPreset.name() })
+                   );
+               }, 400);  // after preset list pane visible..
+
+               context.on('enter.intro', function(mode) {
+                   if (!_areaID || !context.hasEntity(_areaID)) {
+                       return continueTo(addArea);
+                   }
+
+                   var ids = context.selectedIDs();
+                   if (mode.id !== 'select' || !ids.length || ids[0] !== _areaID) {
+                       // keep the user's area selected..
+                       context.enter(modeSelect(context, [_areaID]));
+
+                       // reset pane, in case user somehow happened to change it..
+                       d3_select('.inspector-wrap .panewrap').style('right', '-100%');
+                       // disallow scrolling
+                       d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+                       d3_select('.preset-search-input')
+                           .on('keydown.intro', null)
+                           .on('keyup.intro', checkPresetSearch);
+
+                       reveal('.preset-search-input',
+                           t('intro.areas.search_playground', { preset: playgroundPreset.name() })
+                       );
+
+                       context.history().on('change.intro', null);
+                   }
+               });
+
+               function checkPresetSearch() {
+                   var first = d3_select('.preset-list-item:first-child');
+
+                   if (first.classed('preset-leisure-playground')) {
+                       reveal(first.select('.preset-list-button').node(),
+                           t('intro.areas.choose_playground', { preset: playgroundPreset.name() }),
+                           { duration: 300 }
+                       );
+
+                       d3_select('.preset-search-input')
+                           .on('keydown.intro', eventCancel, true)
+                           .on('keyup.intro', null);
+
+                       context.history().on('change.intro', function() {
+                           continueTo(clickAddField);
+                       });
+                   }
+               }
+
+               function continueTo(nextStep) {
+                   d3_select('.inspector-wrap').on('wheel.intro', null);
+                   context.on('enter.intro', null);
+                   context.history().on('change.intro', null);
+                   d3_select('.preset-search-input').on('keydown.intro keyup.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function clickAddField() {
+               if (!_areaID || !context.hasEntity(_areaID)) {
+                   return addArea();
+               }
+               var ids = context.selectedIDs();
+               if (context.mode().id !== 'select' || !ids.length || ids[0] !== _areaID) {
+                   return searchPresets();
+               }
+
+               if (!d3_select('.form-field-description').empty()) {
+                   return continueTo(describePlayground);
+               }
+
+               // disallow scrolling
+               d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+               timeout(function() {
+                   // reset pane, in case user somehow happened to change it..
+                   d3_select('.inspector-wrap .panewrap').style('right', '0%');
+
+                   // It's possible for the user to add a description in a previous step..
+                   // If they did this already, just continue to next step.
+                   var entity = context.entity(_areaID);
+                   if (entity.tags.description) {
+                       return continueTo(play);
+                   }
+
+                   // scroll "Add field" into view
+                   var box = d3_select('.more-fields').node().getBoundingClientRect();
+                   if (box.top > 300) {
+                       var pane = d3_select('.entity-editor-pane .inspector-body');
+                       var start = pane.node().scrollTop;
+                       var end = start + (box.top - 300);
+
+                       pane
+                           .transition()
+                           .duration(250)
+                           .tween('scroll.inspector', function() {
+                               var node = this;
+                               var i = d3_interpolateNumber(start, end);
+                               return function(t) {
+                                   node.scrollTop = i(t);
+                               };
+                           });
+                   }
+
+                   timeout(function() {
+                       reveal('.more-fields .combobox-input',
+                           t('intro.areas.add_field'),
+                           { duration: 300 }
+                       );
+
+                       d3_select('.more-fields .combobox-input')
+                           .on('click.intro', function() {
+                               // Watch for the combobox to appear...
+                               var watcher;
+                               watcher = window.setInterval(function() {
+                                   if (!d3_select('div.combobox').empty()) {
+                                       window.clearInterval(watcher);
+                                       continueTo(chooseDescriptionField);
+                                   }
+                               }, 300);
+                           });
+                   }, 300);  // after "Add Field" visible
+
+               }, 400);  // after editor pane visible
+
+               context.on('exit.intro', function() {
+                   return continueTo(searchPresets);
+               });
+
+               function continueTo(nextStep) {
+                   d3_select('.inspector-wrap').on('wheel.intro', null);
+                   d3_select('.more-fields .combobox-input').on('click.intro', null);
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function chooseDescriptionField() {
+               if (!_areaID || !context.hasEntity(_areaID)) {
+                   return addArea();
+               }
+               var ids = context.selectedIDs();
+               if (context.mode().id !== 'select' || !ids.length || ids[0] !== _areaID) {
+                   return searchPresets();
+               }
+
+               if (!d3_select('.form-field-description').empty()) {
+                   return continueTo(describePlayground);
+               }
+
+               // Make sure combobox is ready..
+               if (d3_select('div.combobox').empty()) {
+                   return continueTo(clickAddField);
+               }
+               // Watch for the combobox to go away..
+               var watcher;
+               watcher = window.setInterval(function() {
+                   if (d3_select('div.combobox').empty()) {
+                       window.clearInterval(watcher);
+                       timeout(function() {
+                           if (d3_select('.form-field-description').empty()) {
+                               continueTo(retryChooseDescription);
+                           } else {
+                               continueTo(describePlayground);
+                           }
+                       }, 300);  // after description field added.
+                   }
+               }, 300);
+
+               reveal('div.combobox',
+                   t('intro.areas.choose_field', { field: descriptionField.label() }),
+                   { duration: 300 }
+               );
+
+               context.on('exit.intro', function() {
+                   return continueTo(searchPresets);
+               });
+
+               function continueTo(nextStep) {
+                   if (watcher) window.clearInterval(watcher);
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function describePlayground() {
+               if (!_areaID || !context.hasEntity(_areaID)) {
+                   return addArea();
+               }
+               var ids = context.selectedIDs();
+               if (context.mode().id !== 'select' || !ids.length || ids[0] !== _areaID) {
+                   return searchPresets();
+               }
+
+               // reset pane, in case user happened to change it..
+               d3_select('.inspector-wrap .panewrap').style('right', '0%');
+
+               if (d3_select('.form-field-description').empty()) {
+                   return continueTo(retryChooseDescription);
+               }
+
+               context.on('exit.intro', function() {
+                   continueTo(play);
+               });
+
+               reveal('.entity-editor-pane',
+                   t('intro.areas.describe_playground', { button: icon('#iD-icon-apply', 'pre-text') }),
+                   { duration: 300 }
+               );
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function retryChooseDescription() {
+               if (!_areaID || !context.hasEntity(_areaID)) {
+                   return addArea();
+               }
+               var ids = context.selectedIDs();
+               if (context.mode().id !== 'select' || !ids.length || ids[0] !== _areaID) {
+                   return searchPresets();
+               }
+
+               // reset pane, in case user happened to change it..
+               d3_select('.inspector-wrap .panewrap').style('right', '0%');
+
+               reveal('.entity-editor-pane',
+                   t('intro.areas.retry_add_field', { field: descriptionField.label() }), {
+                   buttonText: t('intro.ok'),
+                   buttonCallback: function() { continueTo(clickAddField); }
+               });
+
+               context.on('exit.intro', function() {
+                   return continueTo(searchPresets);
+               });
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function play() {
+               dispatch$1.call('done');
+               reveal('#id-container',
+                   t('intro.areas.play', { next: t('intro.lines.title') }), {
+                       tooltipBox: '.intro-nav-wrap .chapter-line',
+                       buttonText: t('intro.ok'),
+                       buttonCallback: function() { reveal('#id-container'); }
+                   }
+               );
+           }
+
+
+           chapter.enter = function() {
+               addArea();
+           };
+
+
+           chapter.exit = function() {
+               timeouts.forEach(window.clearTimeout);
+               context.on('enter.intro exit.intro', null);
+               context.map().on('move.intro drawn.intro', null);
+               context.history().on('change.intro', null);
+               d3_select('.inspector-wrap').on('wheel.intro', null);
+               d3_select('.preset-search-input').on('keydown.intro keyup.intro', null);
+               d3_select('.more-fields .combobox-input').on('click.intro', null);
+           };
+
+
+           chapter.restart = function() {
+               chapter.exit();
+               chapter.enter();
+           };
+
+
+           return utilRebind(chapter, dispatch$1, 'on');
+       }
+
+       function uiIntroLine(context, reveal) {
+           var dispatch$1 = dispatch('done');
+           var timeouts = [];
+           var _tulipRoadID = null;
+           var flowerRoadID = 'w646';
+           var tulipRoadStart = [-85.6297754121684, 41.95805253325314];
+           var tulipRoadMidpoint = [-85.62975395449628, 41.95787501510204];
+           var tulipRoadIntersection = [-85.62974496187628, 41.95742515554585];
+           var roadCategory = context.presets().item('category-road_minor');
+           var residentialPreset = context.presets().item('highway/residential');
+           var woodRoadID = 'w525';
+           var woodRoadEndID = 'n2862';
+           var woodRoadAddNode = [-85.62390110349587, 41.95397111462291];
+           var woodRoadDragEndpoint = [-85.623867390213, 41.95466987786487];
+           var woodRoadDragMidpoint = [-85.62386254803509, 41.95430395953872];
+           var washingtonStreetID = 'w522';
+           var twelfthAvenueID = 'w1';
+           var eleventhAvenueEndID = 'n3550';
+           var twelfthAvenueEndID = 'n5';
+           var _washingtonSegmentID = null;
+           var eleventhAvenueEnd = context.entity(eleventhAvenueEndID).loc;
+           var twelfthAvenueEnd = context.entity(twelfthAvenueEndID).loc;
+           var deleteLinesLoc = [-85.6219395542764, 41.95228033922477];
+           var twelfthAvenue = [-85.62219310052491, 41.952505413152956];
+
+
+           var chapter = {
+               title: 'intro.lines.title'
+           };
+
+
+           function timeout(f, t) {
+               timeouts.push(window.setTimeout(f, t));
+           }
+
+
+           function eventCancel() {
+               event.stopPropagation();
+               event.preventDefault();
+           }
+
+
+           function revealEditMenu(loc, text, options) {
+               var rect = context.surfaceRect();
+               var point = context.curtainProjection(loc);
+               var pad = 40;
+               var width = 250 + (2 * pad);
+               var height = 350;
+               var startX = rect.left + point[0];
+               var left = (textDirection === 'rtl') ? (startX - width + pad) : (startX - pad);
+               var box = {
+                   left: left,
+                   top: point[1] + rect.top - 60,
+                   width: width,
+                   height: height
+               };
+               reveal(box, text, options);
+           }
+
+
+           function addLine() {
+               context.enter(modeBrowse(context));
+               context.history().reset('initial');
+
+               var msec = transitionTime(tulipRoadStart, context.map().center());
+               if (msec) { reveal(null, null, { duration: 0 }); }
+               context.map().centerZoomEase(tulipRoadStart, 18.5, msec);
+
+               timeout(function() {
+                   var tooltip = reveal('button.add-line',
+                       t('intro.lines.add_line', { button: icon('#iD-icon-line', 'pre-text') }));
+
+                   tooltip.selectAll('.tooltip-inner')
+                       .insert('svg', 'span')
+                       .attr('class', 'tooltip-illustration')
+                       .append('use')
+                       .attr('xlink:href', '#iD-graphic-lines');
+
+                   context.on('enter.intro', function(mode) {
+                       if (mode.id !== 'add-line') return;
+                       continueTo(startLine);
+                   });
+               }, msec + 100);
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function startLine() {
+               if (context.mode().id !== 'add-line') return chapter.restart();
+
+               _tulipRoadID = null;
+
+               var padding = 70 * Math.pow(2, context.map().zoom() - 18);
+               var box = pad$2(tulipRoadStart, padding, context);
+               box.height = box.height + 100;
+               reveal(box, t('intro.lines.start_line'));
+
+               context.map().on('move.intro drawn.intro', function() {
+                   padding = 70 * Math.pow(2, context.map().zoom() - 18);
+                   box = pad$2(tulipRoadStart, padding, context);
+                   box.height = box.height + 100;
+                   reveal(box, t('intro.lines.start_line'), { duration: 0 });
+               });
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id !== 'draw-line') return chapter.restart();
+                   continueTo(drawLine);
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function drawLine() {
+               if (context.mode().id !== 'draw-line') return chapter.restart();
+
+               _tulipRoadID = context.mode().selectedIDs()[0];
+               context.map().centerEase(tulipRoadMidpoint, 500);
+
+               timeout(function() {
+                   var padding = 200 * Math.pow(2, context.map().zoom() - 18.5);
+                   var box = pad$2(tulipRoadMidpoint, padding, context);
+                   box.height = box.height * 2;
+                   reveal(box,
+                       t('intro.lines.intersect', { name: t('intro.graph.name.flower-street') })
+                   );
+
+                   context.map().on('move.intro drawn.intro', function() {
+                       padding = 200 * Math.pow(2, context.map().zoom() - 18.5);
+                       box = pad$2(tulipRoadMidpoint, padding, context);
+                       box.height = box.height * 2;
+                       reveal(box,
+                           t('intro.lines.intersect', { name: t('intro.graph.name.flower-street') }),
+                           { duration: 0 }
+                       );
+                   });
+               }, 550);  // after easing..
+
+               context.history().on('change.intro', function() {
+                   if (isLineConnected()) {
+                       continueTo(continueLine);
+                   }
+               });
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id === 'draw-line') {
+                       return;
+                   } else if (mode.id === 'select') {
+                       continueTo(retryIntersect);
+                       return;
+                   } else {
+                       return chapter.restart();
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.history().on('change.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function isLineConnected() {
+               var entity = _tulipRoadID && context.hasEntity(_tulipRoadID);
+               if (!entity) return false;
+
+               var drawNodes = context.graph().childNodes(entity);
+               return drawNodes.some(function(node) {
+                   return context.graph().parentWays(node).some(function(parent) {
+                       return parent.id === flowerRoadID;
+                   });
+               });
+           }
+
+
+           function retryIntersect() {
+               d3_select(window).on('mousedown.intro', eventCancel, true);
+
+               var box = pad$2(tulipRoadIntersection, 80, context);
+               reveal(box,
+                   t('intro.lines.retry_intersect', { name: t('intro.graph.name.flower-street') })
+               );
+
+               timeout(chapter.restart, 3000);
+           }
+
+
+           function continueLine() {
+               if (context.mode().id !== 'draw-line') return chapter.restart();
+               var entity = _tulipRoadID && context.hasEntity(_tulipRoadID);
+               if (!entity) return chapter.restart();
+
+               context.map().centerEase(tulipRoadIntersection, 500);
+
+               reveal('#surface', t('intro.lines.continue_line'));
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id === 'draw-line')
+                       return;
+                   else if (mode.id === 'select')
+                       return continueTo(chooseCategoryRoad);
+                   else
+                       return chapter.restart();
+               });
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function chooseCategoryRoad() {
+               if (context.mode().id !== 'select') return chapter.restart();
+
+               context.on('exit.intro', function() {
+                   return chapter.restart();
+               });
+
+               var button = d3_select('.preset-category-road_minor .preset-list-button');
+               if (button.empty()) return chapter.restart();
+
+               // disallow scrolling
+               d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+               timeout(function() {
+                   // reset pane, in case user somehow happened to change it..
+                   d3_select('.inspector-wrap .panewrap').style('right', '-100%');
+
+                   reveal(button.node(),
+                       t('intro.lines.choose_category_road', { category: roadCategory.name() })
+                   );
+
+                   button.on('click.intro', function() {
+                       continueTo(choosePresetResidential);
+                   });
+
+               }, 400);  // after editor pane visible
+
+               function continueTo(nextStep) {
+                   d3_select('.inspector-wrap').on('wheel.intro', null);
+                   d3_select('.preset-list-button').on('click.intro', null);
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function choosePresetResidential() {
+               if (context.mode().id !== 'select') return chapter.restart();
+
+               context.on('exit.intro', function() {
+                   return chapter.restart();
+               });
+
+               var subgrid = d3_select('.preset-category-road_minor .subgrid');
+               if (subgrid.empty()) return chapter.restart();
+
+               subgrid.selectAll(':not(.preset-highway-residential) .preset-list-button')
+                   .on('click.intro', function() {
+                       continueTo(retryPresetResidential);
+                   });
+
+               subgrid.selectAll('.preset-highway-residential .preset-list-button')
+                   .on('click.intro', function() {
+                       continueTo(nameRoad);
+                   });
+
+               timeout(function() {
+                   reveal(subgrid.node(),
+                       t('intro.lines.choose_preset_residential', { preset: residentialPreset.name() }),
+                       { tooltipBox: '.preset-highway-residential .preset-list-button', duration: 300 }
+                   );
+               }, 300);
+
+               function continueTo(nextStep) {
+                   d3_select('.preset-list-button').on('click.intro', null);
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           // selected wrong road type
+           function retryPresetResidential() {
+               if (context.mode().id !== 'select') return chapter.restart();
+
+               context.on('exit.intro', function() {
+                   return chapter.restart();
+               });
+
+               // disallow scrolling
+               d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+               timeout(function() {
+                   var button = d3_select('.entity-editor-pane .preset-list-button');
+
+                   reveal(button.node(),
+                       t('intro.lines.retry_preset_residential', { preset: residentialPreset.name() })
+                   );
+
+                   button.on('click.intro', function() {
+                       continueTo(chooseCategoryRoad);
+                   });
+
+               }, 500);
+
+               function continueTo(nextStep) {
+                   d3_select('.inspector-wrap').on('wheel.intro', null);
+                   d3_select('.preset-list-button').on('click.intro', null);
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function nameRoad() {
+               context.on('exit.intro', function() {
+                   continueTo(didNameRoad);
+               });
+
+               timeout(function() {
+                   reveal('.entity-editor-pane',
+                       t('intro.lines.name_road', { button: icon('#iD-icon-apply', 'pre-text') }),
+                       { tooltipClass: 'intro-lines-name_road' }
+                   );
+               }, 500);
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function didNameRoad() {
+               context.history().checkpoint('doneAddLine');
+
+               timeout(function() {
+                   reveal('#surface', t('intro.lines.did_name_road'), {
+                       buttonText: t('intro.ok'),
+                       buttonCallback: function() { continueTo(updateLine); }
+                   });
+               }, 500);
+
+               function continueTo(nextStep) {
+                   nextStep();
+               }
+           }
+
+
+           function updateLine() {
+               context.history().reset('doneAddLine');
+               if (!context.hasEntity(woodRoadID) || !context.hasEntity(woodRoadEndID)) {
+                   return chapter.restart();
+               }
+
+               var msec = transitionTime(woodRoadDragMidpoint, context.map().center());
+               if (msec) { reveal(null, null, { duration: 0 }); }
+               context.map().centerZoomEase(woodRoadDragMidpoint, 19, msec);
+
+               timeout(function() {
+                   var padding = 250 * Math.pow(2, context.map().zoom() - 19);
+                   var box = pad$2(woodRoadDragMidpoint, padding, context);
+                   var advance = function() { continueTo(addNode); };
+
+                   reveal(box, t('intro.lines.update_line'),
+                       { buttonText: t('intro.ok'), buttonCallback: advance }
+                   );
+
+                   context.map().on('move.intro drawn.intro', function() {
+                       var padding = 250 * Math.pow(2, context.map().zoom() - 19);
+                       var box = pad$2(woodRoadDragMidpoint, padding, context);
+                       reveal(box, t('intro.lines.update_line'),
+                           { duration: 0, buttonText: t('intro.ok'), buttonCallback: advance }
+                       );
+                   });
+               }, msec + 100);
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function addNode() {
+               context.history().reset('doneAddLine');
+               if (!context.hasEntity(woodRoadID) || !context.hasEntity(woodRoadEndID)) {
+                   return chapter.restart();
+               }
+
+               var padding = 40 * Math.pow(2, context.map().zoom() - 19);
+               var box = pad$2(woodRoadAddNode, padding, context);
+               reveal(box, t('intro.lines.add_node'));
+
+               context.map().on('move.intro drawn.intro', function() {
+                   var padding = 40 * Math.pow(2, context.map().zoom() - 19);
+                   var box = pad$2(woodRoadAddNode, padding, context);
+                   reveal(box, t('intro.lines.add_node'), { duration: 0 });
+               });
+
+               context.history().on('change.intro', function(changed) {
+                   if (!context.hasEntity(woodRoadID) || !context.hasEntity(woodRoadEndID)) {
+                       return continueTo(updateLine);
+                   }
+                   if (changed.created().length === 1) {
+                       timeout(function() { continueTo(startDragEndpoint); }, 500);
+                   }
+               });
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id !== 'select') {
+                       continueTo(updateLine);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.history().on('change.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function startDragEndpoint() {
+               if (!context.hasEntity(woodRoadID) || !context.hasEntity(woodRoadEndID)) {
+                   return continueTo(updateLine);
+               }
+               var padding = 100 * Math.pow(2, context.map().zoom() - 19);
+               var box = pad$2(woodRoadDragEndpoint, padding, context);
+               reveal(box, t('intro.lines.start_drag_endpoint'));
+
+               context.map().on('move.intro drawn.intro', function() {
+                   if (!context.hasEntity(woodRoadID) || !context.hasEntity(woodRoadEndID)) {
+                       return continueTo(updateLine);
+                   }
+                   var padding = 100 * Math.pow(2, context.map().zoom() - 19);
+                   var box = pad$2(woodRoadDragEndpoint, padding, context);
+                   reveal(box, t('intro.lines.start_drag_endpoint'), { duration: 0 });
+
+                   var entity = context.entity(woodRoadEndID);
+                   if (geoSphericalDistance(entity.loc, woodRoadDragEndpoint) <= 4) {
+                       continueTo(finishDragEndpoint);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function finishDragEndpoint() {
+               if (!context.hasEntity(woodRoadID) || !context.hasEntity(woodRoadEndID)) {
+                   return continueTo(updateLine);
+               }
+
+               var padding = 100 * Math.pow(2, context.map().zoom() - 19);
+               var box = pad$2(woodRoadDragEndpoint, padding, context);
+               reveal(box, t('intro.lines.finish_drag_endpoint'));
+
+               context.map().on('move.intro drawn.intro', function() {
+                   if (!context.hasEntity(woodRoadID) || !context.hasEntity(woodRoadEndID)) {
+                       return continueTo(updateLine);
+                   }
+                   var padding = 100 * Math.pow(2, context.map().zoom() - 19);
+                   var box = pad$2(woodRoadDragEndpoint, padding, context);
+                   reveal(box, t('intro.lines.finish_drag_endpoint'), { duration: 0 });
+
+                   var entity = context.entity(woodRoadEndID);
+                   if (geoSphericalDistance(entity.loc, woodRoadDragEndpoint) > 4) {
+                       continueTo(startDragEndpoint);
+                   }
+               });
+
+               context.on('enter.intro', function() {
+                   continueTo(startDragMidpoint);
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function startDragMidpoint() {
+               if (!context.hasEntity(woodRoadID) || !context.hasEntity(woodRoadEndID)) {
+                   return continueTo(updateLine);
+               }
+               if (context.selectedIDs().indexOf(woodRoadID) === -1) {
+                   context.enter(modeSelect(context, [woodRoadID]));
+               }
+
+               var padding = 80 * Math.pow(2, context.map().zoom() - 19);
+               var box = pad$2(woodRoadDragMidpoint, padding, context);
+               reveal(box, t('intro.lines.start_drag_midpoint'));
+
+               context.map().on('move.intro drawn.intro', function() {
+                   if (!context.hasEntity(woodRoadID) || !context.hasEntity(woodRoadEndID)) {
+                       return continueTo(updateLine);
+                   }
+                   var padding = 80 * Math.pow(2, context.map().zoom() - 19);
+                   var box = pad$2(woodRoadDragMidpoint, padding, context);
+                   reveal(box, t('intro.lines.start_drag_midpoint'), { duration: 0 });
+               });
+
+               context.history().on('change.intro', function(changed) {
+                   if (changed.created().length === 1) {
+                       continueTo(continueDragMidpoint);
+                   }
+               });
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id !== 'select') {
+                       // keep Wood Road selected so midpoint triangles are drawn..
+                       context.enter(modeSelect(context, [woodRoadID]));
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.history().on('change.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function continueDragMidpoint() {
+               if (!context.hasEntity(woodRoadID) || !context.hasEntity(woodRoadEndID)) {
+                   return continueTo(updateLine);
+               }
+
+               var padding = 100 * Math.pow(2, context.map().zoom() - 19);
+               var box = pad$2(woodRoadDragEndpoint, padding, context);
+               box.height += 400;
+
+               var advance = function() {
+                   context.history().checkpoint('doneUpdateLine');
+                   continueTo(deleteLines);
+               };
+
+               reveal(box, t('intro.lines.continue_drag_midpoint'),
+                   { buttonText: t('intro.ok'), buttonCallback: advance }
+               );
+
+               context.map().on('move.intro drawn.intro', function() {
+                   if (!context.hasEntity(woodRoadID) || !context.hasEntity(woodRoadEndID)) {
+                       return continueTo(updateLine);
+                   }
+                   var padding = 100 * Math.pow(2, context.map().zoom() - 19);
+                   var box = pad$2(woodRoadDragEndpoint, padding, context);
+                   box.height += 400;
+                   reveal(box, t('intro.lines.continue_drag_midpoint'),
+                       { duration: 0, buttonText: t('intro.ok'), buttonCallback: advance }
+                   );
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function deleteLines() {
+               context.history().reset('doneUpdateLine');
+               context.enter(modeBrowse(context));
+
+               if (!context.hasEntity(washingtonStreetID) ||
+                   !context.hasEntity(twelfthAvenueID) ||
+                   !context.hasEntity(eleventhAvenueEndID)) {
+                   return chapter.restart();
+               }
+
+               var msec = transitionTime(deleteLinesLoc, context.map().center());
+               if (msec) { reveal(null, null, { duration: 0 }); }
+               context.map().centerZoomEase(deleteLinesLoc, 18, msec);
+
+               timeout(function() {
+                   var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+                   var box = pad$2(deleteLinesLoc, padding, context);
+                   box.top -= 200;
+                   box.height += 400;
+                   var advance = function() { continueTo(rightClickIntersection); };
+
+                   reveal(box, t('intro.lines.delete_lines', { street: t('intro.graph.name.12th-avenue') }),
+                       { buttonText: t('intro.ok'), buttonCallback: advance }
+                   );
+
+                   context.map().on('move.intro drawn.intro', function() {
+                       var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+                       var box = pad$2(deleteLinesLoc, padding, context);
+                       box.top -= 200;
+                       box.height += 400;
+                       reveal(box, t('intro.lines.delete_lines', { street: t('intro.graph.name.12th-avenue') }),
+                           { duration: 0, buttonText: t('intro.ok'), buttonCallback: advance }
+                       );
+                   });
+
+                   context.history().on('change.intro', function() {
+                       timeout(function() {
+                           continueTo(deleteLines);
+                       }, 500);  // after any transition (e.g. if user deleted intersection)
+                   });
+
+               }, msec + 100);
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function rightClickIntersection() {
+               context.history().reset('doneUpdateLine');
+               context.enter(modeBrowse(context));
+
+               context.map().centerZoomEase(eleventhAvenueEnd, 18, 500);
+
+               timeout(function() {
+                   var padding = 60 * Math.pow(2, context.map().zoom() - 18);
+                   var box = pad$2(eleventhAvenueEnd, padding, context);
+                   reveal(box, t('intro.lines.rightclick_intersection',
+                       { street1: t('intro.graph.name.11th-avenue'), street2: t('intro.graph.name.washington-street') })
+                   );
+
+                   context.map().on('move.intro drawn.intro', function() {
+                       var padding = 60 * Math.pow(2, context.map().zoom() - 18);
+                       var box = pad$2(eleventhAvenueEnd, padding, context);
+                       reveal(box, t('intro.lines.rightclick_intersection',
+                           { street1: t('intro.graph.name.11th-avenue'), street2: t('intro.graph.name.washington-street') }),
+                           { duration: 0 }
+                       );
+                   });
+
+                   context.on('enter.intro', function(mode) {
+                       if (mode.id !== 'select') return;
+                       var ids = context.selectedIDs();
+                       if (ids.length !== 1 || ids[0] !== eleventhAvenueEndID) return;
+
+                       timeout(function() {
+                           var node = selectMenuItem('split').node();
+                           if (!node) return;
+                           continueTo(splitIntersection);
+                       }, 300);  // after menu visible
+                   });
+
+                   context.history().on('change.intro', function() {
+                       timeout(function() {
+                           continueTo(deleteLines);
+                       }, 300);  // after any transition (e.g. if user deleted intersection)
+                   });
+
+               }, 600);
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function splitIntersection() {
+               if (!context.hasEntity(washingtonStreetID) ||
+                   !context.hasEntity(twelfthAvenueID) ||
+                   !context.hasEntity(eleventhAvenueEndID)) {
+                   return continueTo(deleteLines);
+               }
+
+               var node = selectMenuItem('split').node();
+               if (!node) { return continueTo(rightClickIntersection); }
+
+               var wasChanged = false;
+               var menuCoords = context.map().mouseCoordinates();
+               _washingtonSegmentID = null;
+
+               revealEditMenu(menuCoords, t('intro.lines.split_intersection',
+                   { button: icon('#iD-operation-split', 'pre-text'), street: t('intro.graph.name.washington-street') })
+               );
+
+               context.map().on('move.intro drawn.intro', function() {
+                   var node = selectMenuItem('split').node();
+                   if (!wasChanged && !node) { return continueTo(rightClickIntersection); }
+
+                   revealEditMenu(menuCoords, t('intro.lines.split_intersection',
+                       { button: icon('#iD-operation-split', 'pre-text'), street: t('intro.graph.name.washington-street') }),
+                       { duration: 0 }
+                   );
+               });
+
+               context.history().on('change.intro', function(changed) {
+                   wasChanged = true;
+                   timeout(function() {
+                       if (context.history().undoAnnotation() === t('operations.split.annotation.line')) {
+                           _washingtonSegmentID = changed.created()[0].id;
+                           continueTo(didSplit);
+                       } else {
+                           _washingtonSegmentID = null;
+                           continueTo(retrySplit);
+                       }
+                   }, 300);  // after any transition (e.g. if user deleted intersection)
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function retrySplit() {
+               context.enter(modeBrowse(context));
+               context.map().centerZoomEase(eleventhAvenueEnd, 18, 500);
+               var advance = function() { continueTo(rightClickIntersection); };
+
+               var padding = 60 * Math.pow(2, context.map().zoom() - 18);
+               var box = pad$2(eleventhAvenueEnd, padding, context);
+               reveal(box, t('intro.lines.retry_split'),
+                   { buttonText: t('intro.ok'), buttonCallback: advance }
+               );
+
+               context.map().on('move.intro drawn.intro', function() {
+                   var padding = 60 * Math.pow(2, context.map().zoom() - 18);
+                   var box = pad$2(eleventhAvenueEnd, padding, context);
+                   reveal(box, t('intro.lines.retry_split'),
+                       { duration: 0, buttonText: t('intro.ok'), buttonCallback: advance }
+                   );
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function didSplit() {
+               if (!_washingtonSegmentID ||
+                   !context.hasEntity(_washingtonSegmentID) ||
+                   !context.hasEntity(washingtonStreetID) ||
+                   !context.hasEntity(twelfthAvenueID) ||
+                   !context.hasEntity(eleventhAvenueEndID)) {
+                   return continueTo(rightClickIntersection);
+               }
+
+               var ids = context.selectedIDs();
+               var string = 'intro.lines.did_split_' + (ids.length > 1 ? 'multi' : 'single');
+               var street = t('intro.graph.name.washington-street');
+
+               var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+               var box = pad$2(twelfthAvenue, padding, context);
+               box.width = box.width / 2;
+               reveal(box, t(string, { street1: street, street2: street }),
+                   { duration: 500 }
+               );
+
+               timeout(function() {
+                   context.map().centerZoomEase(twelfthAvenue, 18, 500);
+
+                   context.map().on('move.intro drawn.intro', function() {
+                       var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+                       var box = pad$2(twelfthAvenue, padding, context);
+                       box.width = box.width / 2;
+                       reveal(box, t(string, { street1: street, street2: street }),
+                           { duration: 0 }
+                       );
+                   });
+               }, 600);  // after initial reveal and curtain cut
+
+               context.on('enter.intro', function() {
+                   var ids = context.selectedIDs();
+                   if (ids.length === 1 && ids[0] === _washingtonSegmentID) {
+                       continueTo(multiSelect);
+                   }
+               });
+
+               context.history().on('change.intro', function() {
+                   if (!_washingtonSegmentID ||
+                       !context.hasEntity(_washingtonSegmentID) ||
+                       !context.hasEntity(washingtonStreetID) ||
+                       !context.hasEntity(twelfthAvenueID) ||
+                       !context.hasEntity(eleventhAvenueEndID)) {
+                       return continueTo(rightClickIntersection);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function multiSelect() {
+               if (!_washingtonSegmentID ||
+                   !context.hasEntity(_washingtonSegmentID) ||
+                   !context.hasEntity(washingtonStreetID) ||
+                   !context.hasEntity(twelfthAvenueID) ||
+                   !context.hasEntity(eleventhAvenueEndID)) {
+                   return continueTo(rightClickIntersection);
+               }
+
+               var ids = context.selectedIDs();
+               var hasWashington = ids.indexOf(_washingtonSegmentID) !== -1;
+               var hasTwelfth = ids.indexOf(twelfthAvenueID) !== -1;
+
+               if (hasWashington && hasTwelfth) {
+                   return continueTo(multiRightClick);
+               } else if (!hasWashington && !hasTwelfth) {
+                   return continueTo(didSplit);
+               }
+
+               context.map().centerZoomEase(twelfthAvenue, 18, 500);
+
+               timeout(function() {
+                   var selected, other, padding, box;
+                   if (hasWashington) {
+                       selected = t('intro.graph.name.washington-street');
+                       other = t('intro.graph.name.12th-avenue');
+                       padding = 60 * Math.pow(2, context.map().zoom() - 18);
+                       box = pad$2(twelfthAvenueEnd, padding, context);
+                       box.width *= 3;
+                   } else {
+                       selected = t('intro.graph.name.12th-avenue');
+                       other = t('intro.graph.name.washington-street');
+                       padding = 200 * Math.pow(2, context.map().zoom() - 18);
+                       box = pad$2(twelfthAvenue, padding, context);
+                       box.width /= 2;
+                   }
+
+                   reveal(box,
+                       t('intro.lines.multi_select', { selected: selected, other1: other, other2: other })
+                   );
+
+                   context.map().on('move.intro drawn.intro', function() {
+                       if (hasWashington) {
+                           selected = t('intro.graph.name.washington-street');
+                           other = t('intro.graph.name.12th-avenue');
+                           padding = 60 * Math.pow(2, context.map().zoom() - 18);
+                           box = pad$2(twelfthAvenueEnd, padding, context);
+                           box.width *= 3;
+                       } else {
+                           selected = t('intro.graph.name.12th-avenue');
+                           other = t('intro.graph.name.washington-street');
+                           padding = 200 * Math.pow(2, context.map().zoom() - 18);
+                           box = pad$2(twelfthAvenue, padding, context);
+                           box.width /= 2;
+                       }
+
+                       reveal(box,
+                           t('intro.lines.multi_select', { selected: selected, other1: other, other2: other }),
+                           { duration: 0 }
+                       );
+                   });
+
+                   context.on('enter.intro', function() {
+                       continueTo(multiSelect);
+                   });
+
+                   context.history().on('change.intro', function() {
+                       if (!_washingtonSegmentID ||
+                           !context.hasEntity(_washingtonSegmentID) ||
+                           !context.hasEntity(washingtonStreetID) ||
+                           !context.hasEntity(twelfthAvenueID) ||
+                           !context.hasEntity(eleventhAvenueEndID)) {
+                           return continueTo(rightClickIntersection);
+                       }
+                   });
+               }, 600);
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function multiRightClick() {
+               if (!_washingtonSegmentID ||
+                   !context.hasEntity(_washingtonSegmentID) ||
+                   !context.hasEntity(washingtonStreetID) ||
+                   !context.hasEntity(twelfthAvenueID) ||
+                   !context.hasEntity(eleventhAvenueEndID)) {
+                   return continueTo(rightClickIntersection);
+               }
+
+               var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+               var box = pad$2(twelfthAvenue, padding, context);
+               reveal(box, t('intro.lines.multi_rightclick'));
+
+               context.map().on('move.intro drawn.intro', function() {
+                   var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+                   var box = pad$2(twelfthAvenue, padding, context);
+                   reveal(box, t('intro.lines.multi_rightclick'), { duration: 0 });
+               });
+
+               d3_select(window).on('click.intro contextmenu.intro', function() {
+                   timeout(function() {
+                       var ids = context.selectedIDs();
+                       if (ids.length === 2 &&
+                           ids.indexOf(twelfthAvenueID) !== -1 &&
+                           ids.indexOf(_washingtonSegmentID) !== -1) {
+                               var node = selectMenuItem('delete').node();
+                               if (!node) return;
+                               continueTo(multiDelete);
+                       } else if (ids.length === 1 &&
+                           ids.indexOf(_washingtonSegmentID) !== -1) {
+                           return continueTo(multiSelect);
+                       } else {
+                           return continueTo(didSplit);
+                       }
+                   }, 300);  // after edit menu visible
+               }, true);
+
+               context.history().on('change.intro', function() {
+                   if (!_washingtonSegmentID ||
+                       !context.hasEntity(_washingtonSegmentID) ||
+                       !context.hasEntity(washingtonStreetID) ||
+                       !context.hasEntity(twelfthAvenueID) ||
+                       !context.hasEntity(eleventhAvenueEndID)) {
+                       return continueTo(rightClickIntersection);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   d3_select(window).on('click.intro contextmenu.intro', null, true);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function multiDelete() {
+               if (!_washingtonSegmentID ||
+                   !context.hasEntity(_washingtonSegmentID) ||
+                   !context.hasEntity(washingtonStreetID) ||
+                   !context.hasEntity(twelfthAvenueID) ||
+                   !context.hasEntity(eleventhAvenueEndID)) {
+                   return continueTo(rightClickIntersection);
+               }
+
+               var node = selectMenuItem('delete').node();
+               if (!node) return continueTo(multiRightClick);
+
+               var menuCoords = context.map().mouseCoordinates();
+               revealEditMenu(menuCoords,
+                   t('intro.lines.multi_delete', { button: icon('#iD-operation-delete', 'pre-text') })
+               );
+
+               context.map().on('move.intro drawn.intro', function() {
+                   revealEditMenu(menuCoords,
+                       t('intro.lines.multi_delete', { button: icon('#iD-operation-delete', 'pre-text') }),
+                       { duration: 0 }
+                   );
+               });
+
+               context.on('exit.intro', function() {
+                   if (context.hasEntity(_washingtonSegmentID) || context.hasEntity(twelfthAvenueID)) {
+                       return continueTo(multiSelect);  // left select mode but roads still exist
+                   }
+               });
+
+               context.history().on('change.intro', function() {
+                   if (context.hasEntity(_washingtonSegmentID) || context.hasEntity(twelfthAvenueID)) {
+                       continueTo(retryDelete);         // changed something but roads still exist
+                   } else {
+                       continueTo(play);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('exit.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function retryDelete() {
+               context.enter(modeBrowse(context));
+
+               var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+               var box = pad$2(twelfthAvenue, padding, context);
+               reveal(box, t('intro.lines.retry_delete'), {
+                   buttonText: t('intro.ok'),
+                   buttonCallback: function() { continueTo(multiSelect); }
+               });
+
+               function continueTo(nextStep) {
+                   nextStep();
+               }
+           }
+
+
+           function play() {
+               dispatch$1.call('done');
+               reveal('#id-container',
+                   t('intro.lines.play', { next: t('intro.buildings.title') }), {
+                       tooltipBox: '.intro-nav-wrap .chapter-building',
+                       buttonText: t('intro.ok'),
+                       buttonCallback: function() { reveal('#id-container'); }
+                   }
+               );
+          }
+
+
+           chapter.enter = function() {
+               addLine();
+           };
+
+
+           chapter.exit = function() {
+               timeouts.forEach(window.clearTimeout);
+               d3_select(window).on('mousedown.intro', null, true);
+               context.on('enter.intro exit.intro', null);
+               context.map().on('move.intro drawn.intro', null);
+               context.history().on('change.intro', null);
+               d3_select('.inspector-wrap').on('wheel.intro', null);
+               d3_select('.preset-list-button').on('click.intro', null);
+           };
+
+
+           chapter.restart = function() {
+               chapter.exit();
+               chapter.enter();
+           };
+
+
+           return utilRebind(chapter, dispatch$1, 'on');
+       }
+
+       function uiIntroBuilding(context, reveal) {
+           var dispatch$1 = dispatch('done');
+           var house = [-85.62815, 41.95638];
+           var tank = [-85.62732, 41.95347];
+           var buildingCatetory = context.presets().item('category-building');
+           var housePreset = context.presets().item('building/house');
+           var tankPreset = context.presets().item('man_made/storage_tank');
+           var timeouts = [];
+           var _houseID = null;
+           var _tankID = null;
+
+
+           var chapter = {
+               title: 'intro.buildings.title'
+           };
+
+
+           function timeout(f, t) {
+               timeouts.push(window.setTimeout(f, t));
+           }
+
+
+           function eventCancel() {
+               event.stopPropagation();
+               event.preventDefault();
+           }
+
+
+           function revealHouse(center, text, options) {
+               var padding = 160 * Math.pow(2, context.map().zoom() - 20);
+               var box = pad$2(center, padding, context);
+               reveal(box, text, options);
+           }
+
+
+           function revealTank(center, text, options) {
+               var padding = 190 * Math.pow(2, context.map().zoom() - 19.5);
+               var box = pad$2(center, padding, context);
+               reveal(box, text, options);
+           }
+
+
+           function revealEditMenu(loc, text, options) {
+               var rect = context.surfaceRect();
+               var point = context.curtainProjection(loc);
+               var pad = 40;
+               var width = 250 + (2 * pad);
+               var height = 350;
+               var startX = rect.left + point[0];
+               var left = (textDirection === 'rtl') ? (startX - width + pad) : (startX - pad);
+               var box = {
+                   left: left,
+                   top: point[1] + rect.top - 60,
+                   width: width,
+                   height: height
+               };
+               reveal(box, text, options);
+           }
+
+
+           function addHouse() {
+               context.enter(modeBrowse(context));
+               context.history().reset('initial');
+               _houseID = null;
+
+               var msec = transitionTime(house, context.map().center());
+               if (msec) { reveal(null, null, { duration: 0 }); }
+               context.map().centerZoomEase(house, 19, msec);
+
+               timeout(function() {
+                   var tooltip = reveal('button.add-area',
+                       t('intro.buildings.add_building', { button: icon('#iD-icon-area', 'pre-text') }));
+
+                   tooltip.selectAll('.tooltip-inner')
+                       .insert('svg', 'span')
+                       .attr('class', 'tooltip-illustration')
+                       .append('use')
+                       .attr('xlink:href', '#iD-graphic-buildings');
+
+                   context.on('enter.intro', function(mode) {
+                       if (mode.id !== 'add-area') return;
+                       continueTo(startHouse);
+                   });
+               }, msec + 100);
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function startHouse() {
+               if (context.mode().id !== 'add-area') {
+                   return continueTo(addHouse);
+               }
+
+               _houseID = null;
+               context.map().zoomEase(20, 500);
+
+               timeout(function() {
+                   revealHouse(house, t('intro.buildings.start_building'));
+
+                   context.map().on('move.intro drawn.intro', function() {
+                       revealHouse(house, t('intro.buildings.start_building'), { duration: 0 });
+                   });
+
+                   context.on('enter.intro', function(mode) {
+                       if (mode.id !== 'draw-area') return chapter.restart();
+                       continueTo(continueHouse);
+                   });
+
+               }, 550);  // after easing
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function continueHouse() {
+               if (context.mode().id !== 'draw-area') {
+                   return continueTo(addHouse);
+               }
+
+               _houseID = null;
+
+               revealHouse(house, t('intro.buildings.continue_building'));
+
+               context.map().on('move.intro drawn.intro', function() {
+                   revealHouse(house, t('intro.buildings.continue_building'), { duration: 0 });
+               });
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id === 'draw-area') {
+                       return;
+                   } else if (mode.id === 'select') {
+                       var graph = context.graph();
+                       var way = context.entity(context.selectedIDs()[0]);
+                       var nodes = graph.childNodes(way);
+                       var points = utilArrayUniq(nodes)
+                           .map(function(n) { return context.projection(n.loc); });
+
+                       if (isMostlySquare(points)) {
+                           _houseID = way.id;
+                           return continueTo(chooseCategoryBuilding);
+                       } else {
+                           return continueTo(retryHouse);
+                       }
+
+                   } else {
+                       return chapter.restart();
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function retryHouse() {
+               var onClick = function() { continueTo(addHouse); };
+
+               revealHouse(house, t('intro.buildings.retry_building'),
+                   { buttonText: t('intro.ok'), buttonCallback: onClick }
+               );
+
+               context.map().on('move.intro drawn.intro', function() {
+                   revealHouse(house, t('intro.buildings.retry_building'),
+                       { duration: 0, buttonText: t('intro.ok'), buttonCallback: onClick }
+                   );
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function chooseCategoryBuilding() {
+               if (!_houseID || !context.hasEntity(_houseID)) {
+                   return addHouse();
+               }
+               var ids = context.selectedIDs();
+               if (context.mode().id !== 'select' || !ids.length || ids[0] !== _houseID) {
+                   context.enter(modeSelect(context, [_houseID]));
+               }
+
+               // disallow scrolling
+               d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+               timeout(function() {
+                   // reset pane, in case user somehow happened to change it..
+                   d3_select('.inspector-wrap .panewrap').style('right', '-100%');
+
+                   var button = d3_select('.preset-category-building .preset-list-button');
+
+                   reveal(button.node(),
+                       t('intro.buildings.choose_category_building', { category: buildingCatetory.name() })
+                   );
+
+                   button.on('click.intro', function() {
+                       button.on('click.intro', null);
+                       continueTo(choosePresetHouse);
+                   });
+
+               }, 400);  // after preset list pane visible..
+
+
+               context.on('enter.intro', function(mode) {
+                   if (!_houseID || !context.hasEntity(_houseID)) {
+                       return continueTo(addHouse);
+                   }
+                   var ids = context.selectedIDs();
+                   if (mode.id !== 'select' || !ids.length || ids[0] !== _houseID) {
+                       return continueTo(chooseCategoryBuilding);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   d3_select('.inspector-wrap').on('wheel.intro', null);
+                   d3_select('.preset-list-button').on('click.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function choosePresetHouse() {
+               if (!_houseID || !context.hasEntity(_houseID)) {
+                   return addHouse();
+               }
+               var ids = context.selectedIDs();
+               if (context.mode().id !== 'select' || !ids.length || ids[0] !== _houseID) {
+                   context.enter(modeSelect(context, [_houseID]));
+               }
+
+               // disallow scrolling
+               d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+               timeout(function() {
+                   // reset pane, in case user somehow happened to change it..
+                   d3_select('.inspector-wrap .panewrap').style('right', '-100%');
+
+                   var button = d3_select('.preset-building-house .preset-list-button');
+
+                   reveal(button.node(),
+                       t('intro.buildings.choose_preset_house', { preset: housePreset.name() }),
+                       { duration: 300 }
+                   );
+
+                   button.on('click.intro', function() {
+                       button.on('click.intro', null);
+                       continueTo(closeEditorHouse);
+                   });
+
+               }, 400);  // after preset list pane visible..
+
+               context.on('enter.intro', function(mode) {
+                   if (!_houseID || !context.hasEntity(_houseID)) {
+                       return continueTo(addHouse);
+                   }
+                   var ids = context.selectedIDs();
+                   if (mode.id !== 'select' || !ids.length || ids[0] !== _houseID) {
+                       return continueTo(chooseCategoryBuilding);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   d3_select('.inspector-wrap').on('wheel.intro', null);
+                   d3_select('.preset-list-button').on('click.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function closeEditorHouse() {
+               if (!_houseID || !context.hasEntity(_houseID)) {
+                   return addHouse();
+               }
+               var ids = context.selectedIDs();
+               if (context.mode().id !== 'select' || !ids.length || ids[0] !== _houseID) {
+                   context.enter(modeSelect(context, [_houseID]));
+               }
+
+               context.history().checkpoint('hasHouse');
+
+               context.on('exit.intro', function() {
+                   continueTo(rightClickHouse);
+               });
+
+               timeout(function() {
+                   reveal('.entity-editor-pane',
+                       t('intro.buildings.close', { button: icon('#iD-icon-apply', 'pre-text') })
+                   );
+               }, 500);
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function rightClickHouse() {
+               if (!_houseID) return chapter.restart();
+
+               context.enter(modeBrowse(context));
+               context.history().reset('hasHouse');
+               var zoom = context.map().zoom();
+               if (zoom < 20) {
+                   zoom = 20;
+               }
+               context.map().centerZoomEase(house, zoom, 500);
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id !== 'select') return;
+                   var ids = context.selectedIDs();
+                   if (ids.length !== 1 || ids[0] !== _houseID) return;
+
+                   timeout(function() {
+                       var node = selectMenuItem('orthogonalize').node();
+                       if (!node) return;
+                       continueTo(clickSquare);
+                   }, 300);  // after menu visible
+               });
+
+               context.map().on('move.intro drawn.intro', function() {
+                   revealHouse(house, t('intro.buildings.rightclick_building'), { duration: 0 });
+               });
+
+               context.history().on('change.intro', function() {
+                   continueTo(rightClickHouse);
+               });
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   context.map().on('move.intro drawn.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function clickSquare() {
+               if (!_houseID) return chapter.restart();
+               var entity = context.hasEntity(_houseID);
+               if (!entity) return continueTo(rightClickHouse);
+
+               var node = selectMenuItem('orthogonalize').node();
+               if (!node) { return continueTo(rightClickHouse); }
+
+               var wasChanged = false;
+               var menuCoords = context.map().mouseCoordinates();
+
+               revealEditMenu(menuCoords,
+                   t('intro.buildings.square_building', { button: icon('#iD-operation-orthogonalize', 'pre-text') })
+               );
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id === 'browse') {
+                       continueTo(rightClickHouse);
+                   } else if (mode.id === 'move' || mode.id === 'rotate') {
+                       continueTo(retryClickSquare);
+                   }
+               });
+
+               context.map().on('move.intro drawn.intro', function() {
+                   var node = selectMenuItem('orthogonalize').node();
+                   if (!wasChanged && !node) { return continueTo(rightClickHouse); }
+
+                   revealEditMenu(menuCoords,
+                       t('intro.buildings.square_building', { button: icon('#iD-operation-orthogonalize', 'pre-text') }),
+                       { duration: 0 }
+                   );
+               });
+
+               context.history().on('change.intro', function() {
+                   wasChanged = true;
+                   context.history().on('change.intro', null);
+
+                   // Something changed.  Wait for transition to complete and check undo annotation.
+                   timeout(function() {
+                       if (context.history().undoAnnotation() === t('operations.orthogonalize.annotation.area')) {
+                           continueTo(doneSquare);
+                       } else {
+                           continueTo(retryClickSquare);
+                       }
+                   }, 500);  // after transitioned actions
+               });
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   context.map().on('move.intro drawn.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function retryClickSquare() {
+               context.enter(modeBrowse(context));
+
+               revealHouse(house, t('intro.buildings.retry_square'), {
+                   buttonText: t('intro.ok'),
+                   buttonCallback: function() { continueTo(rightClickHouse); }
+               });
+
+               function continueTo(nextStep) {
+                   nextStep();
+               }
+           }
+
+
+           function doneSquare() {
+               context.history().checkpoint('doneSquare');
+
+               revealHouse(house, t('intro.buildings.done_square'), {
+                   buttonText: t('intro.ok'),
+                   buttonCallback: function() { continueTo(addTank); }
+               });
+
+               function continueTo(nextStep) {
+                   nextStep();
+               }
+           }
+
+
+           function addTank() {
+               context.enter(modeBrowse(context));
+               context.history().reset('doneSquare');
+               _tankID = null;
+
+               var msec = transitionTime(tank, context.map().center());
+               if (msec) { reveal(null, null, { duration: 0 }); }
+               context.map().centerZoomEase(tank, 19.5, msec);
+
+               timeout(function() {
+                   reveal('button.add-area',
+                       t('intro.buildings.add_tank', { button: icon('#iD-icon-area', 'pre-text') })
+                   );
+
+                   context.on('enter.intro', function(mode) {
+                       if (mode.id !== 'add-area') return;
+                       continueTo(startTank);
+                   });
+               }, msec + 100);
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function startTank() {
+               if (context.mode().id !== 'add-area') {
+                   return continueTo(addTank);
+               }
+
+               _tankID = null;
+
+               timeout(function() {
+                   revealTank(tank, t('intro.buildings.start_tank'));
+
+                   context.map().on('move.intro drawn.intro', function() {
+                       revealTank(tank, t('intro.buildings.start_tank'), { duration: 0 });
+                   });
+
+                   context.on('enter.intro', function(mode) {
+                       if (mode.id !== 'draw-area') return chapter.restart();
+                       continueTo(continueTank);
+                   });
+
+               }, 550);  // after easing
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function continueTank() {
+               if (context.mode().id !== 'draw-area') {
+                   return continueTo(addTank);
+               }
+
+               _tankID = null;
+
+               revealTank(tank, t('intro.buildings.continue_tank'));
+
+               context.map().on('move.intro drawn.intro', function() {
+                   revealTank(tank, t('intro.buildings.continue_tank'), { duration: 0 });
+               });
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id === 'draw-area') {
+                       return;
+                   } else if (mode.id === 'select') {
+                       _tankID = context.selectedIDs()[0];
+                       return continueTo(searchPresetTank);
+                   } else {
+                       return continueTo(addTank);
+                   }
+               });
+
+               function continueTo(nextStep) {
+                   context.map().on('move.intro drawn.intro', null);
+                   context.on('enter.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function searchPresetTank() {
+               if (!_tankID || !context.hasEntity(_tankID)) {
+                   return addTank();
+               }
+               var ids = context.selectedIDs();
+               if (context.mode().id !== 'select' || !ids.length || ids[0] !== _tankID) {
+                   context.enter(modeSelect(context, [_tankID]));
+               }
+
+               // disallow scrolling
+               d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+               timeout(function() {
+                   // reset pane, in case user somehow happened to change it..
+                   d3_select('.inspector-wrap .panewrap').style('right', '-100%');
+
+                   d3_select('.preset-search-input')
+                       .on('keydown.intro', null)
+                       .on('keyup.intro', checkPresetSearch);
+
+                   reveal('.preset-search-input',
+                       t('intro.buildings.search_tank', { preset: tankPreset.name() })
+                   );
+               }, 400);  // after preset list pane visible..
+
+               context.on('enter.intro', function(mode) {
+                   if (!_tankID || !context.hasEntity(_tankID)) {
+                       return continueTo(addTank);
+                   }
+
+                   var ids = context.selectedIDs();
+                   if (mode.id !== 'select' || !ids.length || ids[0] !== _tankID) {
+                       // keep the user's area selected..
+                       context.enter(modeSelect(context, [_tankID]));
+
+                       // reset pane, in case user somehow happened to change it..
+                       d3_select('.inspector-wrap .panewrap').style('right', '-100%');
+                       // disallow scrolling
+                       d3_select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+                       d3_select('.preset-search-input')
+                           .on('keydown.intro', null)
+                           .on('keyup.intro', checkPresetSearch);
+
+                       reveal('.preset-search-input',
+                           t('intro.buildings.search_tank', { preset: tankPreset.name() })
+                       );
+
+                       context.history().on('change.intro', null);
+                   }
+               });
+
+               function checkPresetSearch() {
+                   var first = d3_select('.preset-list-item:first-child');
+
+                   if (first.classed('preset-man_made-storage_tank')) {
+                       reveal(first.select('.preset-list-button').node(),
+                           t('intro.buildings.choose_tank', { preset: tankPreset.name() }),
+                           { duration: 300 }
+                       );
+
+                       d3_select('.preset-search-input')
+                           .on('keydown.intro', eventCancel, true)
+                           .on('keyup.intro', null);
+
+                       context.history().on('change.intro', function() {
+                           continueTo(closeEditorTank);
+                       });
+                   }
+               }
+
+               function continueTo(nextStep) {
+                   d3_select('.inspector-wrap').on('wheel.intro', null);
+                   context.on('enter.intro', null);
+                   context.history().on('change.intro', null);
+                   d3_select('.preset-search-input').on('keydown.intro keyup.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function closeEditorTank() {
+               if (!_tankID || !context.hasEntity(_tankID)) {
+                   return addTank();
+               }
+               var ids = context.selectedIDs();
+               if (context.mode().id !== 'select' || !ids.length || ids[0] !== _tankID) {
+                   context.enter(modeSelect(context, [_tankID]));
+               }
+
+               context.history().checkpoint('hasTank');
+
+               context.on('exit.intro', function() {
+                   continueTo(rightClickTank);
+               });
+
+               timeout(function() {
+                   reveal('.entity-editor-pane',
+                       t('intro.buildings.close', { button: icon('#iD-icon-apply', 'pre-text') })
+                   );
+               }, 500);
+
+               function continueTo(nextStep) {
+                   context.on('exit.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function rightClickTank() {
+               if (!_tankID) return continueTo(addTank);
+
+               context.enter(modeBrowse(context));
+               context.history().reset('hasTank');
+               context.map().centerEase(tank, 500);
+
+               timeout(function() {
+                   context.on('enter.intro', function(mode) {
+                       if (mode.id !== 'select') return;
+                       var ids = context.selectedIDs();
+                       if (ids.length !== 1 || ids[0] !== _tankID) return;
+
+                       timeout(function() {
+                           var node = selectMenuItem('circularize').node();
+                           if (!node) return;
+                           continueTo(clickCircle);
+                       }, 300);  // after menu visible
+                   });
+
+                   revealTank(tank, t('intro.buildings.rightclick_tank'));
+
+                   context.map().on('move.intro drawn.intro', function() {
+                       revealTank(tank, t('intro.buildings.rightclick_tank'), { duration: 0 });
+                   });
+
+                   context.history().on('change.intro', function() {
+                       continueTo(rightClickTank);
+                   });
+
+               }, 600);
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   context.map().on('move.intro drawn.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function clickCircle() {
+               if (!_tankID) return chapter.restart();
+               var entity = context.hasEntity(_tankID);
+               if (!entity) return continueTo(rightClickTank);
+
+               var node = selectMenuItem('circularize').node();
+               if (!node) { return continueTo(rightClickTank); }
+
+               var wasChanged = false;
+               var menuCoords = context.map().mouseCoordinates();
+
+               revealEditMenu(menuCoords,
+                   t('intro.buildings.circle_tank', { button: icon('#iD-operation-circularize', 'pre-text') })
+               );
+
+               context.on('enter.intro', function(mode) {
+                   if (mode.id === 'browse') {
+                       continueTo(rightClickTank);
+                   } else if (mode.id === 'move' || mode.id === 'rotate') {
+                       continueTo(retryClickCircle);
+                   }
+               });
+
+               context.map().on('move.intro drawn.intro', function() {
+                   var node = selectMenuItem('circularize').node();
+                   if (!wasChanged && !node) { return continueTo(rightClickTank); }
+
+                   revealEditMenu(menuCoords,
+                       t('intro.buildings.circle_tank', { button: icon('#iD-operation-circularize', 'pre-text') }),
+                       { duration: 0 }
+                   );
+               });
+
+               context.history().on('change.intro', function() {
+                   wasChanged = true;
+                   context.history().on('change.intro', null);
+
+                   // Something changed.  Wait for transition to complete and check undo annotation.
+                   timeout(function() {
+                       if (context.history().undoAnnotation() === t('operations.circularize.annotation.area')) {
+                           continueTo(play);
+                       } else {
+                           continueTo(retryClickCircle);
+                       }
+                   }, 500);  // after transitioned actions
+               });
+
+               function continueTo(nextStep) {
+                   context.on('enter.intro', null);
+                   context.map().on('move.intro drawn.intro', null);
+                   context.history().on('change.intro', null);
+                   nextStep();
+               }
+           }
+
+
+           function retryClickCircle() {
+               context.enter(modeBrowse(context));
+
+               revealTank(tank, t('intro.buildings.retry_circle'), {
+                   buttonText: t('intro.ok'),
+                   buttonCallback: function() { continueTo(rightClickTank); }
+               });
+
+               function continueTo(nextStep) {
+                   nextStep();
+               }
+           }
+
+
+           function play() {
+               dispatch$1.call('done');
+               reveal('#id-container',
+                   t('intro.buildings.play', { next: t('intro.startediting.title') }), {
+                       tooltipBox: '.intro-nav-wrap .chapter-startEditing',
+                       buttonText: t('intro.ok'),
+                       buttonCallback: function() { reveal('#id-container'); }
+                   }
+               );
+           }
+
+
+           chapter.enter = function() {
+               addHouse();
+           };
+
+
+           chapter.exit = function() {
+               timeouts.forEach(window.clearTimeout);
+               context.on('enter.intro exit.intro', null);
+               context.map().on('move.intro drawn.intro', null);
+               context.history().on('change.intro', null);
+               d3_select('.inspector-wrap').on('wheel.intro', null);
+               d3_select('.preset-search-input').on('keydown.intro keyup.intro', null);
+               d3_select('.more-fields .combobox-input').on('click.intro', null);
+           };
+
+
+           chapter.restart = function() {
+               chapter.exit();
+               chapter.enter();
+           };
+
+
+           return utilRebind(chapter, dispatch$1, 'on');
+       }
+
+       function uiIntroStartEditing(context, reveal) {
+           var dispatch$1 = dispatch('done', 'startEditing');
+           var modalSelection = d3_select(null);
+
+
+           var chapter = {
+               title: 'intro.startediting.title'
+           };
+
+           function showHelp() {
+               reveal('.map-control.help-control',
+                   t('intro.startediting.help', { button: icon('#iD-icon-help', 'pre-text'), key: t('help.key') }), {
+                       buttonText: t('intro.ok'),
+                       buttonCallback: function() { shortcuts(); }
+                   }
+               );
+           }
+
+           function shortcuts() {
+               reveal('.map-control.help-control',
+                   t('intro.startediting.shortcuts', { key: t('shortcuts.toggle.key') }), {
+                       buttonText: t('intro.ok'),
+                       buttonCallback: function() { showSave(); }
+                   }
+               );
+           }
+
+           function showSave() {
+               d3_selectAll('.shaded').remove();  // in case user opened keyboard shortcuts
+               reveal('#bar button.save',
+                   t('intro.startediting.save'), {
+                       buttonText: t('intro.ok'),
+                       buttonCallback: function() { showStart(); }
+                   }
+               );
+           }
+
+           function showStart() {
+               d3_selectAll('.shaded').remove();  // in case user opened keyboard shortcuts
+
+               modalSelection = uiModal(context.container());
+
+               modalSelection.select('.modal')
+                   .attr('class', 'modal-splash modal col6');
+
+               modalSelection.selectAll('.close').remove();
+
+               var startbutton = modalSelection.select('.content')
+                   .attr('class', 'fillL')
+                   .append('button')
+                       .attr('class', 'modal-section huge-modal-button')
+                       .on('click', function() {
+                           modalSelection.remove();
+                       });
+
+                   startbutton
+                       .append('svg')
+                       .attr('class', 'illustration')
+                       .append('use')
+                       .attr('xlink:href', '#iD-logo-walkthrough');
+
+                   startbutton
+                       .append('h2')
+                       .text(t('intro.startediting.start'));
+
+               dispatch$1.call('startEditing');
+           }
+
+
+           chapter.enter = function() {
+               showHelp();
+           };
+
+
+           chapter.exit = function() {
+               modalSelection.remove();
+               d3_selectAll('.shaded').remove();  // in case user opened keyboard shortcuts
+           };
+
+
+           return utilRebind(chapter, dispatch$1, 'on');
+       }
+
+       var chapterUi = {
+           welcome: uiIntroWelcome,
+           navigation: uiIntroNavigation,
+           point: uiIntroPoint,
+           area: uiIntroArea,
+           line: uiIntroLine,
+           building: uiIntroBuilding,
+           startEditing: uiIntroStartEditing
+       };
+
+       var chapterFlow = [
+           'welcome',
+           'navigation',
+           'point',
+           'area',
+           'line',
+           'building',
+           'startEditing'
+       ];
+
+
+       function uiIntro(context) {
+           var INTRO_IMAGERY = 'EsriWorldImageryClarity';
+           var introGraph = {};
+           var _currChapter;
+
+           // create entities for intro graph and localize names
+           for (var id in dataIntroGraph) {
+               introGraph[id] = osmEntity(localize(dataIntroGraph[id]));
+           }
+
+
+           function intro(selection) {
+               context.enter(modeBrowse(context));
+
+               // Save current map state
+               var osm = context.connection();
+               var history = context.history().toJSON();
+               var hash = window.location.hash;
+               var center = context.map().center();
+               var zoom = context.map().zoom();
+               var background = context.background().baseLayerSource();
+               var overlays = context.background().overlayLayerSources();
+               var opacity = d3_selectAll('#map .layer-background').style('opacity');
+               var caches = osm && osm.caches();
+               var baseEntities = context.history().graph().base().entities;
+               var countryCode = services$1.geocoder.countryCode;
+
+               // Show sidebar and disable the sidebar resizing button
+               // (this needs to be before `context.inIntro(true)`)
+               context.ui().sidebar.expand();
+               d3_selectAll('button.sidebar-toggle').classed('disabled', true);
+
+               // Block saving
+               context.inIntro(true);
+
+               // Load semi-real data used in intro
+               if (osm) { osm.toggle(false).reset(); }
+               context.history().reset();
+               context.history().merge(Object.values(coreGraph().load(introGraph).entities));
+               context.history().checkpoint('initial');
+
+               // Setup imagery
+               var imagery = context.background().findSource(INTRO_IMAGERY);
+               if (imagery) {
+                   context.background().baseLayerSource(imagery);
+               } else {
+                   context.background().bing();
+               }
+               overlays.forEach(function(d) {
+                   context.background().toggleOverlayLayer(d);
+               });
+
+               // Setup data layers (only OSM)
+               var layers = context.layers();
+               layers.all().forEach(function(item) {
+                   // if the layer has the function `enabled`
+                   if (typeof item.layer.enabled === 'function') {
+                       item.layer.enabled(item.id === 'osm');
+                   }
+               });
+
+               // Mock geocoder
+               services$1.geocoder.countryCode = function(location, callback) {
+                   callback(null, t('intro.graph.countrycode'));
+               };
+
+
+               d3_selectAll('#map .layer-background').style('opacity', 1);
+
+               var curtain = uiCurtain();
+               selection.call(curtain);
+
+               // Store that the user started the walkthrough..
+               context.storage('walkthrough_started', 'yes');
+
+               // Restore previous walkthrough progress..
+               var storedProgress = context.storage('walkthrough_progress') || '';
+               var progress = storedProgress.split(';').filter(Boolean);
+
+               var chapters = chapterFlow.map(function(chapter, i) {
+                   var s = chapterUi[chapter](context, curtain.reveal)
+                       .on('done', function() {
+                           context.presets().init();  // clear away "recent" presets
+
+                           buttons.filter(function(d) {
+                               return d.title === s.title;
+                           }).classed('finished', true);
+
+                           if (i < chapterFlow.length - 1) {
+                               var next = chapterFlow[i + 1];
+                               d3_select('button.chapter-' + next)
+                                   .classed('next', true);
+                           }
+
+                           // Store walkthrough progress..
+                           progress.push(chapter);
+                           context.storage('walkthrough_progress', utilArrayUniq(progress).join(';'));
+                       });
+                   return s;
+               });
+
+               chapters[chapters.length - 1].on('startEditing', function() {
+                   // Store walkthrough progress..
+                   progress.push('startEditing');
+                   context.storage('walkthrough_progress', utilArrayUniq(progress).join(';'));
+
+                   // Store if walkthrough is completed..
+                   var incomplete = utilArrayDifference(chapterFlow, progress);
+                   if (!incomplete.length) {
+                       context.storage('walkthrough_completed', 'yes');
+                   }
+
+                   curtain.remove();
+                   navwrap.remove();
+                   d3_selectAll('#map .layer-background').style('opacity', opacity);
+                   d3_selectAll('button.sidebar-toggle').classed('disabled', false);
+                   if (osm) { osm.toggle(true).reset().caches(caches); }
+                   context.history().reset().merge(Object.values(baseEntities));
+                   context.background().baseLayerSource(background);
+                   overlays.forEach(function(d) { context.background().toggleOverlayLayer(d); });
+                   if (history) { context.history().fromJSON(history, false); }
+                   context.map().centerZoom(center, zoom);
+                   window.location.replace(hash);
+                   services$1.geocoder.countryCode = countryCode;
+                   context.inIntro(false);
+               });
+
+               var navwrap = selection
+                   .append('div')
+                   .attr('class', 'intro-nav-wrap fillD');
+
+               navwrap
+                   .append('svg')
+                   .attr('class', 'intro-nav-wrap-logo')
+                   .append('use')
+                   .attr('xlink:href', '#iD-logo-walkthrough');
+
+               var buttonwrap = navwrap
+                   .append('div')
+                   .attr('class', 'joined')
+                   .selectAll('button.chapter');
+
+               var buttons = buttonwrap
+                   .data(chapters)
+                   .enter()
+                   .append('button')
+                   .attr('class', function(d, i) { return 'chapter chapter-' + chapterFlow[i]; })
+                   .on('click', enterChapter);
+
+               buttons
+                   .append('span')
+                   .text(function(d) { return t(d.title); });
+
+               buttons
+                   .append('span')
+                   .attr('class', 'status')
+                   .call(svgIcon((textDirection === 'rtl' ? '#iD-icon-backward' : '#iD-icon-forward'), 'inline'));
+
+               enterChapter(chapters[0]);
+
+
+               function enterChapter(newChapter) {
+                   if (_currChapter) { _currChapter.exit(); }
+                   context.enter(modeBrowse(context));
+
+                   _currChapter = newChapter;
+                   _currChapter.enter();
+
+                   buttons
+                       .classed('next', false)
+                       .classed('active', function(d) {
+                           return d.title === _currChapter.title;
+                       });
+               }
+           }
+
+
+           return intro;
+       }
+
+       function uiShortcuts(context) {
+           var detected = utilDetect();
+           var _activeTab = 0;
+           var _modalSelection;
+           var _selection = d3_select(null);
+
+
+           context.keybinding()
+               .on([t('shortcuts.toggle.key'), '?'], function () {
+                   if (d3_selectAll('.modal-shortcuts').size()) {  // already showing
+                       if (_modalSelection) {
+                           _modalSelection.close();
+                           _modalSelection = null;
+                       }
+                   } else {
+                       _modalSelection = uiModal(_selection);
+                       shortcutsModal(_modalSelection);
+                   }
+               });
+
+
+           function shortcutsModal(_modalSelection) {
+               _modalSelection.select('.modal')
+                   .classed('modal-shortcuts', true);
+
+               var shortcutsModal = _modalSelection.select('.content');
+
+               shortcutsModal
+                   .append('div')
+                   .attr('class', 'modal-section')
+                   .append('h3')
+                   .text(t('shortcuts.title'));
+
+               shortcutsModal
+                   .call(render);
+           }
+
+
+           function render(selection) {
+               var wrapper = selection
+                   .selectAll('.wrapper')
+                   .data([0]);
+
+               var wrapperEnter = wrapper
+                   .enter()
+                   .append('div')
+                   .attr('class', 'wrapper modal-section');
+
+               var tabsBar = wrapperEnter
+                   .append('div')
+                   .attr('class', 'tabs-bar');
+
+               var shortcutsList = wrapperEnter
+                   .append('div')
+                   .attr('class', 'shortcuts-list');
+
+               wrapper = wrapper.merge(wrapperEnter);
+
+               var tabs = tabsBar
+                   .selectAll('.tab')
+                   .data(dataShortcuts);
+
+               var tabsEnter = tabs
+                   .enter()
+                   .append('div')
+                   .attr('class', 'tab')
+                   .on('click', function (d, i) {
+                       _activeTab = i;
+                       render(selection);
+                   });
+
+               tabsEnter
+                   .append('span')
+                   .text(function (d) { return t(d.text); });
+
+               tabs = tabs
+                   .merge(tabsEnter);
+
+               // Update
+               wrapper.selectAll('.tab')
+                   .classed('active', function (d, i) {
+                       return i === _activeTab;
+                   });
+
+
+               var shortcuts = shortcutsList
+                   .selectAll('.shortcut-tab')
+                   .data(dataShortcuts);
+
+               var shortcutsEnter = shortcuts
+                   .enter()
+                   .append('div')
+                   .attr('class', function(d) { return 'shortcut-tab shortcut-tab-' + d.tab; });
+
+               var columnsEnter = shortcutsEnter
+                   .selectAll('.shortcut-column')
+                   .data(function (d) { return d.columns; })
+                   .enter()
+                   .append('table')
+                   .attr('class', 'shortcut-column');
+
+               var rowsEnter = columnsEnter
+                   .selectAll('.shortcut-row')
+                   .data(function (d) { return d.rows; })
+                   .enter()
+                   .append('tr')
+                   .attr('class', 'shortcut-row');
+
+
+               var sectionRows = rowsEnter
+                   .filter(function (d) { return !d.shortcuts; });
+
+               sectionRows
+                   .append('td');
+
+               sectionRows
+                   .append('td')
+                   .attr('class', 'shortcut-section')
+                   .append('h3')
+                   .text(function (d) { return t(d.text); });
+
+
+               var shortcutRows = rowsEnter
+                   .filter(function (d) { return d.shortcuts; });
+
+               var shortcutKeys = shortcutRows
+                   .append('td')
+                   .attr('class', 'shortcut-keys');
+
+               var modifierKeys = shortcutKeys
+                   .filter(function (d) { return d.modifiers; });
+
+               modifierKeys
+                   .selectAll('kbd.modifier')
+                   .data(function (d) {
+                       if (detected.os === 'win' && d.text === 'shortcuts.editing.commands.redo') {
+                           return ['⌘'];
+                       } else if (detected.os !== 'mac' && d.text === 'shortcuts.browsing.display_options.fullscreen') {
+                           return [];
+                       } else {
+                           return d.modifiers;
+                       }
+                   })
+                   .enter()
+                   .each(function () {
+                       var selection = d3_select(this);
+
+                       selection
+                           .append('kbd')
+                           .attr('class', 'modifier')
+                           .text(function (d) { return uiCmd.display(d); });
+
+                       selection
+                           .append('span')
+                           .text('+');
+                   });
+
+
+               shortcutKeys
+                   .selectAll('kbd.shortcut')
+                   .data(function (d) {
+                       var arr = d.shortcuts;
+                       if (detected.os === 'win' && d.text === 'shortcuts.editing.commands.redo') {
+                           arr = ['Y'];
+                       } else if (detected.os !== 'mac' && d.text === 'shortcuts.browsing.display_options.fullscreen') {
+                           arr = ['F11'];
+                       }
+
+                       // replace translations
+                       arr = arr.map(function(s) {
+                           return uiCmd.display(s.indexOf('.') !== -1 ? t(s) : s);
+                       });
+
+                       return utilArrayUniq(arr).map(function(s) {
+                           return {
+                               shortcut: s,
+                               separator: d.separator,
+                               suffix: d.suffix
+                           };
+                       });
+                   })
+                   .enter()
+                   .each(function (d, i, nodes) {
+                       var selection = d3_select(this);
+                       var click = d.shortcut.toLowerCase().match(/(.*).click/);
+
+                       if (click && click[1]) {   // replace "left_click", "right_click" with mouse icon
+                           selection
+                               .call(svgIcon('#iD-walkthrough-mouse', 'mouseclick', click[1]));
+                       } else {
+                           selection
+                               .append('kbd')
+                               .attr('class', 'shortcut')
+                               .text(function (d) { return d.shortcut; });
+                       }
+
+                       if (i < nodes.length - 1) {
+                           selection
+                               .append('span')
+                               .text(d.separator || '\u00a0' + t('shortcuts.or') + '\u00a0');
+                       } else if (i === nodes.length - 1 && d.suffix) {
+                           selection
+                               .append('span')
+                               .text(d.suffix);
+                       }
+                   });
+
+
+               shortcutKeys
+                   .filter(function(d) { return d.gesture; })
+                   .each(function () {
+                       var selection = d3_select(this);
+
+                       selection
+                           .append('span')
+                           .text('+');
+
+                       selection
+                           .append('span')
+                           .attr('class', 'gesture')
+                           .text(function (d) { return t(d.gesture); });
+                   });
+
+
+               shortcutRows
+                   .append('td')
+                   .attr('class', 'shortcut-desc')
+                   .text(function (d) { return d.text ? t(d.text) : '\u00a0'; });
+
+
+               shortcuts = shortcuts
+                   .merge(shortcutsEnter);
+
+               // Update
+               wrapper.selectAll('.shortcut-tab')
+                   .style('display', function (d, i) {
+                       return i === _activeTab ? 'flex' : 'none';
+                   });
+           }
+
+
+           return function(selection, show) {
+               _selection = selection;
+               if (show) {
+                   _modalSelection = uiModal(selection);
+                   shortcutsModal(_modalSelection);
+               }
+           };
+       }
+
+       function uiHelp(context) {
+           var key = t('help.key');
+
+           var _pane = d3_select(null), _toggleButton = d3_select(null);
+
+           var docKeys = [
+               ['help', [
+                   'welcome',
+                   'open_data_h',
+                   'open_data',
+                   'before_start_h',
+                   'before_start',
+                   'open_source_h',
+                   'open_source',
+                   'open_source_help'
+               ]],
+               ['overview', [
+                   'navigation_h',
+                   'navigation_drag',
+                   'navigation_zoom',
+                   'features_h',
+                   'features',
+                   'nodes_ways'
+               ]],
+               ['editing', [
+                   'select_h',
+                   'select_left_click',
+                   'select_right_click',
+                   'multiselect_h',
+                   'multiselect_shift_click',
+                   'multiselect_lasso',
+                   'undo_redo_h',
+                   'undo_redo',
+                   'save_h',
+                   'save',
+                   'save_validation',
+                   'upload_h',
+                   'upload',
+                   'backups_h',
+                   'backups',
+                   'keyboard_h',
+                   'keyboard'
+               ]],
+               ['feature_editor', [
+                   'intro',
+                   'definitions',
+                   'type_h',
+                   'type',
+                   'type_picker',
+                   'fields_h',
+                   'fields_all_fields',
+                   'fields_example',
+                   'fields_add_field',
+                   'tags_h',
+                   'tags_all_tags',
+                   'tags_resources'
+               ]],
+               ['points', [
+                   'intro',
+                   'add_point_h',
+                   'add_point',
+                   'add_point_finish',
+                   'move_point_h',
+                   'move_point',
+                   'delete_point_h',
+                   'delete_point',
+                   'delete_point_command'
+               ]],
+               ['lines', [
+                   'intro',
+                   'add_line_h',
+                   'add_line',
+                   'add_line_draw',
+                   'add_line_finish',
+                   'modify_line_h',
+                   'modify_line_dragnode',
+                   'modify_line_addnode',
+                   'connect_line_h',
+                   'connect_line',
+                   'connect_line_display',
+                   'connect_line_drag',
+                   'connect_line_tag',
+                   'disconnect_line_h',
+                   'disconnect_line_command',
+                   'move_line_h',
+                   'move_line_command',
+                   'move_line_connected',
+                   'delete_line_h',
+                   'delete_line',
+                   'delete_line_command'
+               ]],
+               ['areas', [
+                   'intro',
+                   'point_or_area_h',
+                   'point_or_area',
+                   'add_area_h',
+                   'add_area_command',
+                   'add_area_draw',
+                   'add_area_finish',
+                   'square_area_h',
+                   'square_area_command',
+                   'modify_area_h',
+                   'modify_area_dragnode',
+                   'modify_area_addnode',
+                   'delete_area_h',
+                   'delete_area',
+                   'delete_area_command'
+               ]],
+               ['relations', [
+                   'intro',
+                   'edit_relation_h',
+                   'edit_relation',
+                   'edit_relation_add',
+                   'edit_relation_delete',
+                   'maintain_relation_h',
+                   'maintain_relation',
+                   'relation_types_h',
+                   'multipolygon_h',
+                   'multipolygon',
+                   'multipolygon_create',
+                   'multipolygon_merge',
+                   'turn_restriction_h',
+                   'turn_restriction',
+                   'turn_restriction_field',
+                   'turn_restriction_editing',
+                   'route_h',
+                   'route',
+                   'route_add',
+                   'boundary_h',
+                   'boundary',
+                   'boundary_add'
+               ]],
+               ['notes', [
+                   'intro',
+                   'add_note_h',
+                   'add_note',
+                   'move_note',
+                   'update_note_h',
+                   'update_note',
+                   'save_note_h',
+                   'save_note'
+               ]],
+
+               ['imagery', [
+                   'intro',
+                   'sources_h',
+                   'choosing',
+                   'sources',
+                   'offsets_h',
+                   'offset',
+                   'offset_change'
+               ]],
+               ['streetlevel', [
+                   'intro',
+                   'using_h',
+                   'using',
+                   'photos',
+                   'viewer'
+               ]],
+               ['gps', [
+                   'intro',
+                   'survey',
+                   'using_h',
+                   'using',
+                   'tracing',
+                   'upload'
+               ]],
+               ['qa', [
+                   'intro',
+                   'tools_h',
+                   'tools',
+                   'issues_h',
+                   'issues'
+               ]]
+           ];
+
+           var headings = {
+               'help.help.open_data_h': 3,
+               'help.help.before_start_h': 3,
+               'help.help.open_source_h': 3,
+               'help.overview.navigation_h': 3,
+               'help.overview.features_h': 3,
+               'help.editing.select_h': 3,
+               'help.editing.multiselect_h': 3,
+               'help.editing.undo_redo_h': 3,
+               'help.editing.save_h': 3,
+               'help.editing.upload_h': 3,
+               'help.editing.backups_h': 3,
+               'help.editing.keyboard_h': 3,
+               'help.feature_editor.type_h': 3,
+               'help.feature_editor.fields_h': 3,
+               'help.feature_editor.tags_h': 3,
+               'help.points.add_point_h': 3,
+               'help.points.move_point_h': 3,
+               'help.points.delete_point_h': 3,
+               'help.lines.add_line_h': 3,
+               'help.lines.modify_line_h': 3,
+               'help.lines.connect_line_h': 3,
+               'help.lines.disconnect_line_h': 3,
+               'help.lines.move_line_h': 3,
+               'help.lines.delete_line_h': 3,
+               'help.areas.point_or_area_h': 3,
+               'help.areas.add_area_h': 3,
+               'help.areas.square_area_h': 3,
+               'help.areas.modify_area_h': 3,
+               'help.areas.delete_area_h': 3,
+               'help.relations.edit_relation_h': 3,
+               'help.relations.maintain_relation_h': 3,
+               'help.relations.relation_types_h': 2,
+               'help.relations.multipolygon_h': 3,
+               'help.relations.turn_restriction_h': 3,
+               'help.relations.route_h': 3,
+               'help.relations.boundary_h': 3,
+               'help.notes.add_note_h': 3,
+               'help.notes.update_note_h': 3,
+               'help.notes.save_note_h': 3,
+               'help.imagery.sources_h': 3,
+               'help.imagery.offsets_h': 3,
+               'help.streetlevel.using_h': 3,
+               'help.gps.using_h': 3,
+               'help.qa.tools_h': 3,
+               'help.qa.issues_h': 3
+           };
+
+           var replacements = {
+               point: icon('#iD-icon-point', 'pre-text'),
+               line: icon('#iD-icon-line', 'pre-text'),
+               area: icon('#iD-icon-area', 'pre-text'),
+               note: icon('#iD-icon-note', 'pre-text add-note'),
+               plus: icon('#iD-icon-plus', 'pre-text'),
+               minus: icon('#iD-icon-minus', 'pre-text'),
+               orthogonalize: icon('#iD-operation-orthogonalize', 'pre-text'),
+               disconnect: icon('#iD-operation-disconnect', 'pre-text'),
+               layers: icon('#iD-icon-layers', 'pre-text'),
+               data: icon('#iD-icon-data', 'pre-text'),
+               inspect: icon('#iD-icon-inspect', 'pre-text'),
+               move: icon('#iD-operation-move', 'pre-text'),
+               merge: icon('#iD-operation-merge', 'pre-text'),
+               delete: icon('#iD-operation-delete', 'pre-text'),
+               close: icon('#iD-icon-close', 'pre-text'),
+               undo: icon(textDirection === 'rtl' ? '#iD-icon-redo' : '#iD-icon-undo', 'pre-text'),
+               redo: icon(textDirection === 'rtl' ? '#iD-icon-undo' : '#iD-icon-redo', 'pre-text'),
+               save: icon('#iD-icon-save', 'pre-text'),
+               leftclick: icon('#iD-walkthrough-mouse', 'pre-text mouseclick', 'left'),
+               rightclick: icon('#iD-walkthrough-mouse', 'pre-text mouseclick', 'right'),
+               shift: uiCmd.display('⇧'),
+               alt: uiCmd.display('⌥'),
+               return: uiCmd.display('↵'),
+               version: context.version
+           };
+
+           // For each section, squash all the texts into a single markdown document
+           var docs = docKeys.map(function(key) {
+               var helpkey = 'help.' + key[0];
+               var text = key[1].reduce(function(all, part) {
+                   var subkey = helpkey + '.' + part;
+                   var depth = headings[subkey];                              // is this subkey a heading?
+                   var hhh = depth ? Array(depth + 1).join('#') + ' ' : '';   // if so, prepend with some ##'s
+                   return all + hhh + t(subkey, replacements) + '\n\n';
+               }, '');
+
+               return {
+                   title: t(helpkey + '.title'),
+                   html: marked(text.trim())
+               };
+           });
+
+           var paneTooltip = tooltip()
+               .placement((textDirection === 'rtl') ? 'right' : 'left')
+               .html(true)
+               .title(uiTooltipHtml(t('help.title'), key));
+
+           function hidePane() {
+               context.ui().togglePanes();
+           }
+
+           uiHelp.togglePane = function() {
+               if (event) event.preventDefault();
+               paneTooltip.hide(_toggleButton);
+               context.ui().togglePanes(!_pane.classed('shown') ? _pane : undefined);
+           };
+
+           uiHelp.renderToggleButton = function(selection) {
+
+               _toggleButton = selection.append('button')
+                   .attr('tabindex', -1)
+                   .on('click', uiHelp.togglePane)
+                   .call(svgIcon('#iD-icon-help', 'light'))
+                   .call(paneTooltip);
+           };
+
+
+           uiHelp.renderPane = function(selection) {
+
+               function clickHelp(d, i) {
+                   var rtl = (textDirection === 'rtl');
+                   content.property('scrollTop', 0);
+                   doctitle.html(d.title);
+
+                   body.html(d.html);
+                   body.selectAll('a')
+                       .attr('target', '_blank');
+                   menuItems.classed('selected', function(m) {
+                       return m.title === d.title;
+                   });
+
+                   nav.html('');
+                   if (rtl) {
+                       nav.call(drawNext).call(drawPrevious);
+                   } else {
+                       nav.call(drawPrevious).call(drawNext);
+                   }
+
+
+                   function drawNext(selection) {
+                       if (i < docs.length - 1) {
+                           var nextLink = selection
+                               .append('a')
+                               .attr('class', 'next')
+                               .on('click', function() {
+                                   clickHelp(docs[i + 1], i + 1);
+                               });
+
+                           nextLink
+                               .append('span')
+                               .text(docs[i + 1].title)
+                               .call(svgIcon((rtl ? '#iD-icon-backward' : '#iD-icon-forward'), 'inline'));
+                       }
+                   }
+
+
+                   function drawPrevious(selection) {
+                       if (i > 0) {
+                           var prevLink = selection
+                               .append('a')
+                               .attr('class', 'previous')
+                               .on('click', function() {
+                                   clickHelp(docs[i - 1], i - 1);
+                               });
+
+                           prevLink
+                               .call(svgIcon((rtl ? '#iD-icon-forward' : '#iD-icon-backward'), 'inline'))
+                               .append('span')
+                               .text(docs[i - 1].title);
+                       }
+                   }
+               }
+
+
+               function clickWalkthrough() {
+                   if (context.inIntro()) return;
+                   context.container().call(uiIntro(context));
+                   context.ui().togglePanes();
+               }
+
+
+               function clickShortcuts() {
+                   context.container().call(uiShortcuts(context), true);
+               }
+
+
+               _pane = selection.append('div')
+                   .attr('class', 'help-wrap map-pane fillL hide')
+                   .attr('pane', 'help');
+
+               var heading = _pane
+                   .append('div')
+                   .attr('class', 'pane-heading');
+
+               var doctitle = heading
+                   .append('h2')
+                   .text(t('help.title'));
+
+               heading
+                   .append('button')
+                   .on('click', hidePane)
+                   .call(svgIcon('#iD-icon-close'));
+
+
+               var content = _pane
+                   .append('div')
+                   .attr('class', 'pane-content');
+
+               var toc = content
+                   .append('ul')
+                   .attr('class', 'toc');
+
+               var menuItems = toc.selectAll('li')
+                   .data(docs)
+                   .enter()
+                   .append('li')
+                   .append('a')
+                   .html(function(d) { return d.title; })
+                   .on('click', clickHelp);
+
+               var shortcuts = toc
+                   .append('li')
+                   .attr('class', 'shortcuts')
+                   .call(tooltip()
+                       .html(true)
+                       .title(uiTooltipHtml(t('shortcuts.tooltip'), '?'))
+                       .placement('top')
+                   )
+                   .append('a')
+                   .on('click', clickShortcuts);
+
+               shortcuts
+                   .append('div')
+                   .text(t('shortcuts.title'));
+
+               var walkthrough = toc
+                   .append('li')
+                   .attr('class', 'walkthrough')
+                   .append('a')
+                   .on('click', clickWalkthrough);
+
+               walkthrough
+                   .append('svg')
+                   .attr('class', 'logo logo-walkthrough')
+                   .append('use')
+                   .attr('xlink:href', '#iD-logo-walkthrough');
+
+               walkthrough
+                   .append('div')
+                   .text(t('splash.walkthrough'));
+
+
+               var helpContent = content
+                   .append('div')
+                   .attr('class', 'left-content');
+
+               var body = helpContent
+                   .append('div')
+                   .attr('class', 'body');
+
+               var nav = helpContent
+                   .append('div')
+                   .attr('class', 'nav');
+
+               clickHelp(docs[0], 0);
+
+               context.keybinding()
+                   .on(key, uiHelp.togglePane);
+
+           };
+
+           return uiHelp;
+       }
+
+       function uiPanelBackground(context) {
+           var background = context.background();
+           var currSourceName = null;
+           var metadata = {};
+           var metadataKeys = [
+               'zoom', 'vintage', 'source', 'description', 'resolution', 'accuracy'
+           ];
+
+           var debouncedRedraw = debounce(redraw, 250);
+
+           function redraw(selection) {
+               var source = background.baseLayerSource();
+               var isDG = (source.id.match(/^DigitalGlobe/i) !== null);
+
+               if (currSourceName !== source.name()) {
+                   currSourceName = source.name();
+                   metadata = {};
+               }
+
+               selection.html('');
+
+               var list = selection
+                   .append('ul')
+                   .attr('class', 'background-info');
+
+               list
+                   .append('li')
+                   .text(currSourceName);
+
+               metadataKeys.forEach(function(k) {
+                   // DigitalGlobe vintage is available in raster layers for now.
+                   if (isDG && k === 'vintage') return;
+
+                   list
+                       .append('li')
+                       .attr('class', 'background-info-list-' + k)
+                       .classed('hide', !metadata[k])
+                       .text(t('info_panels.background.' + k) + ':')
+                       .append('span')
+                       .attr('class', 'background-info-span-' + k)
+                       .text(metadata[k]);
+               });
+
+               debouncedGetMetadata(selection);
+
+               var toggleTiles = context.getDebug('tile') ? 'hide_tiles' : 'show_tiles';
+
+               selection
+                   .append('a')
+                   .text(t('info_panels.background.' + toggleTiles))
+                   .attr('href', '#')
+                   .attr('class', 'button button-toggle-tiles')
+                   .on('click', function() {
+                       event.preventDefault();
+                       context.setDebug('tile', !context.getDebug('tile'));
+                       selection.call(redraw);
+                   });
+
+               if (isDG) {
+                   var key = source.id + '-vintage';
+                   var sourceVintage = context.background().findSource(key);
+                   var showsVintage = context.background().showsLayer(sourceVintage);
+                   var toggleVintage = showsVintage ? 'hide_vintage' : 'show_vintage';
+                   selection
+                       .append('a')
+                       .text(t('info_panels.background.' + toggleVintage))
+                       .attr('href', '#')
+                       .attr('class', 'button button-toggle-vintage')
+                       .on('click', function() {
+                           event.preventDefault();
+                           context.background().toggleOverlayLayer(sourceVintage);
+                           selection.call(redraw);
+                       });
+               }
+
+               // disable if necessary
+               ['DigitalGlobe-Premium', 'DigitalGlobe-Standard'].forEach(function(layerId) {
+                   if (source.id !== layerId) {
+                       var key = layerId + '-vintage';
+                       var sourceVintage = context.background().findSource(key);
+                       if (context.background().showsLayer(sourceVintage)) {
+                           context.background().toggleOverlayLayer(sourceVintage);
+                       }
+                   }
+               });
+           }
+
+
+           var debouncedGetMetadata = debounce(getMetadata, 250);
+
+           function getMetadata(selection) {
+               var tile = d3_select('.layer-background img.tile-center');   // tile near viewport center
+               if (tile.empty()) return;
+
+               var sourceName = currSourceName;
+               var d = tile.datum();
+               var zoom = (d && d.length >= 3 && d[2]) || Math.floor(context.map().zoom());
+               var center = context.map().center();
+
+               // update zoom
+               metadata.zoom = String(zoom);
+               selection.selectAll('.background-info-list-zoom')
+                   .classed('hide', false)
+                   .selectAll('.background-info-span-zoom')
+                   .text(metadata.zoom);
+
+               if (!d || !d.length >= 3) return;
+
+               background.baseLayerSource().getMetadata(center, d, function(err, result) {
+                   if (err || currSourceName !== sourceName) return;
+
+                   // update vintage
+                   var vintage = result.vintage;
+                   metadata.vintage = (vintage && vintage.range) || t('info_panels.background.unknown');
+                   selection.selectAll('.background-info-list-vintage')
+                       .classed('hide', false)
+                       .selectAll('.background-info-span-vintage')
+                       .text(metadata.vintage);
+
+                   // update other metdata
+                   metadataKeys.forEach(function(k) {
+                       if (k === 'zoom' || k === 'vintage') return;  // done already
+                       var val = result[k];
+                       metadata[k] = val;
+                       selection.selectAll('.background-info-list-' + k)
+                           .classed('hide', !val)
+                           .selectAll('.background-info-span-' + k)
+                           .text(val);
+                   });
+               });
+           }
+
+
+           var panel = function(selection) {
+               selection.call(redraw);
+
+               context.map()
+                   .on('drawn.info-background', function() {
+                       selection.call(debouncedRedraw);
+                   })
+                   .on('move.info-background', function() {
+                       selection.call(debouncedGetMetadata);
+                   });
+
+           };
+
+           panel.off = function() {
+               context.map()
+                   .on('drawn.info-background', null)
+                   .on('move.info-background', null);
+           };
+
+           panel.id = 'background';
+           panel.title = t('info_panels.background.title');
+           panel.key = t('info_panels.background.key');
+
+
+           return panel;
+       }
+
+       function uiPanelHistory(context) {
+           var osm;
+
+           function displayTimestamp(timestamp) {
+               if (!timestamp) return t('info_panels.history.unknown');
+               var detected = utilDetect();
+               var options = {
+                   day: 'numeric', month: 'short', year: 'numeric',
+                   hour: 'numeric', minute: 'numeric', second: 'numeric'
+               };
+               var d = new Date(timestamp);
+               if (isNaN(d.getTime())) return t('info_panels.history.unknown');
+               return d.toLocaleString(detected.locale, options);
+           }
+
+
+           function displayUser(selection, userName) {
+               if (!userName) {
+                   selection
+                       .append('span')
+                       .text(t('info_panels.history.unknown'));
+                   return;
+               }
+
+               selection
+                   .append('span')
+                   .attr('class', 'user-name')
+                   .text(userName);
+
+               var links = selection
+                   .append('div')
+                   .attr('class', 'links');
+
+               if (osm) {
+                   links
+                       .append('a')
+                       .attr('class', 'user-osm-link')
+                       .attr('href', osm.userURL(userName))
+                       .attr('target', '_blank')
+                       .attr('tabindex', -1)
+                       .text('OSM');
+               }
+
+               links
+                   .append('a')
+                   .attr('class', 'user-hdyc-link')
+                   .attr('href', 'https://hdyc.neis-one.org/?' + userName)
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .text('HDYC');
+           }
+
+
+           function displayChangeset(selection, changeset) {
+               if (!changeset) {
+                   selection
+                       .append('span')
+                       .text(t('info_panels.history.unknown'));
+                   return;
+               }
+
+               selection
+                   .append('span')
+                   .attr('class', 'changeset-id')
+                   .text(changeset);
+
+               var links = selection
+                   .append('div')
+                   .attr('class', 'links');
+
+               if (osm) {
+                   links
+                       .append('a')
+                       .attr('class', 'changeset-osm-link')
+                       .attr('href', osm.changesetURL(changeset))
+                       .attr('target', '_blank')
+                       .attr('tabindex', -1)
+                       .text('OSM');
+               }
+
+               links
+                   .append('a')
+                   .attr('class', 'changeset-osmcha-link')
+                   .attr('href', 'https://osmcha.mapbox.com/changesets/' + changeset)
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .text('OSMCha');
+           }
+
+
+           function redraw(selection) {
+               var selectedNoteID = context.selectedNoteID();
+               osm = context.connection();
+
+               var selected, note, entity;
+               if (selectedNoteID && osm) {       // selected 1 note
+                   selected = [ t('note.note') + ' ' + selectedNoteID ];
+                   note = osm.getNote(selectedNoteID);
+               } else {                           // selected 1..n entities
+                   selected = context.selectedIDs()
+                       .filter(function(e) { return context.hasEntity(e); });
+                   if (selected.length) {
+                       entity = context.entity(selected[0]);
+                   }
+               }
+
+               var singular = selected.length === 1 ? selected[0] : null;
+
+               selection.html('');
+
+               selection
+                   .append('h4')
+                   .attr('class', 'history-heading')
+                   .text(singular || t('info_panels.history.selected', { n: selected.length }));
+
+               if (!singular) return;
+
+               if (entity) {
+                   selection.call(redrawEntity, entity);
+               } else if (note) {
+                   selection.call(redrawNote, note);
+               }
+           }
+
+
+           function redrawNote(selection, note) {
+               if (!note || note.isNew()) {
+                   selection
+                       .append('div')
+                       .text(t('info_panels.history.note_no_history'));
+                   return;
+               }
+
+               var list = selection
+                   .append('ul');
+
+               list
+                   .append('li')
+                   .text(t('info_panels.history.note_comments') + ':')
+                   .append('span')
+                   .text(note.comments.length);
+
+               if (note.comments.length) {
+                   list
+                       .append('li')
+                       .text(t('info_panels.history.note_created_date') + ':')
+                       .append('span')
+                       .text(displayTimestamp(note.comments[0].date));
+
+                   list
+                       .append('li')
+                       .text(t('info_panels.history.note_created_user') + ':')
+                       .call(displayUser, note.comments[0].user);
+               }
+
+               if (osm) {
+                   selection
+                       .append('a')
+                       .attr('class', 'view-history-on-osm')
+                       .attr('target', '_blank')
+                       .attr('tabindex', -1)
+                       .attr('href', osm.noteURL(note))
+                       .call(svgIcon('#iD-icon-out-link', 'inline'))
+                       .append('span')
+                       .text(t('info_panels.history.note_link_text'));
+               }
+           }
+
+
+           function redrawEntity(selection, entity) {
+               if (!entity || entity.isNew()) {
+                   selection
+                       .append('div')
+                       .text(t('info_panels.history.no_history'));
+                   return;
+               }
+
+               var links = selection
+                   .append('div')
+                   .attr('class', 'links');
+
+               if (osm) {
+                   links
+                       .append('a')
+                       .attr('class', 'view-history-on-osm')
+                       .attr('href', osm.historyURL(entity))
+                       .attr('target', '_blank')
+                       .attr('tabindex', -1)
+                       .attr('title', t('info_panels.history.link_text'))
+                       .text('OSM');
+               }
+               links
+                   .append('a')
+                   .attr('class', 'pewu-history-viewer-link')
+                   .attr('href', 'https://pewu.github.io/osm-history/#/' + entity.type + '/' + entity.osmId())
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .text('PeWu');
+
+               var list = selection
+                   .append('ul');
+
+               list
+                   .append('li')
+                   .text(t('info_panels.history.version') + ':')
+                   .append('span')
+                   .text(entity.version);
+
+               list
+                   .append('li')
+                   .text(t('info_panels.history.last_edit') + ':')
+                   .append('span')
+                   .text(displayTimestamp(entity.timestamp));
+
+               list
+                   .append('li')
+                   .text(t('info_panels.history.edited_by') + ':')
+                   .call(displayUser, entity.user);
+
+               list
+                   .append('li')
+                   .text(t('info_panels.history.changeset') + ':')
+                   .call(displayChangeset, entity.changeset);
+           }
+
+
+           var panel = function(selection) {
+               selection.call(redraw);
+
+               context.map()
+                   .on('drawn.info-history', function() {
+                       selection.call(redraw);
+                   });
+
+               context
+                   .on('enter.info-history', function() {
+                       selection.call(redraw);
+                   });
+           };
+
+           panel.off = function() {
+               context.map().on('drawn.info-history', null);
+               context.on('enter.info-history', null);
+           };
+
+           panel.id = 'history';
+           panel.title = t('info_panels.history.title');
+           panel.key = t('info_panels.history.key');
+
+
+           return panel;
+       }
+
+       var OSM_PRECISION = 7;
+       var locale$2 = utilDetect().locale;
+
+       /**
+        * Returns a localized representation of the given length measurement.
+        *
+        * @param {Number} m area in meters
+        * @param {Boolean} isImperial true for U.S. customary units; false for metric
+        */
+       function displayLength(m, isImperial) {
+           var d = m * (isImperial ? 3.28084 : 1);
+           var unit;
+
+           if (isImperial) {
+               if (d >= 5280) {
+                   d /= 5280;
+                   unit = 'miles';
+               } else {
+                   unit = 'feet';
+               }
+           } else {
+               if (d >= 1000) {
+                   d /= 1000;
+                   unit = 'kilometers';
+               } else {
+                   unit = 'meters';
+               }
+           }
+
+           return t('units.' + unit, {
+               quantity: d.toLocaleString(locale$2, {
+                   maximumSignificantDigits: 4
+               })
+           });
+       }
+
+       /**
+        * Returns a localized representation of the given area measurement.
+        *
+        * @param {Number} m2 area in square meters
+        * @param {Boolean} isImperial true for U.S. customary units; false for metric
+        */
+       function displayArea(m2, isImperial) {
+           var d = m2 * (isImperial ? 10.7639111056 : 1);
+           var d1, d2, area;
+           var unit1 = '';
+           var unit2 = '';
+
+           if (isImperial) {
+               if (d >= 6969600) { // > 0.25mi² show mi²
+                   d1 = d / 27878400;
+                   unit1 = 'square_miles';
+               } else {
+                   d1 = d;
+                   unit1 = 'square_feet';
+               }
+
+               if (d > 4356 && d < 43560000) { // 0.1 - 1000 acres
+                   d2 = d / 43560;
+                   unit2 = 'acres';
+               }
+
+           } else {
+               if (d >= 250000) { // > 0.25km² show km²
+                   d1 = d / 1000000;
+                   unit1 = 'square_kilometers';
+               } else {
+                   d1 = d;
+                   unit1 = 'square_meters';
+               }
+
+               if (d > 1000 && d < 10000000) { // 0.1 - 1000 hectares
+                   d2 = d / 10000;
+                   unit2 = 'hectares';
+               }
+           }
+
+           area = t('units.' + unit1, {
+               quantity: d1.toLocaleString(locale$2, {
+                   maximumSignificantDigits: 4
+               })
+           });
+
+           if (d2) {
+               return t('units.area_pair', {
+                   area1: area,
+                   area2: t('units.' + unit2, {
+                       quantity: d2.toLocaleString(locale$2, {
+                           maximumSignificantDigits: 2
+                       })
+                   })
+               });
+           } else {
+               return area;
+           }
+       }
+
+       function wrap(x, min, max) {
+           var d = max - min;
+           return ((x - min) % d + d) % d + min;
+       }
+
+       function clamp$1(x, min, max) {
+           return Math.max(min, Math.min(x, max));
+       }
+
+       function displayCoordinate(deg, pos, neg) {
+           var min = (Math.abs(deg) - Math.floor(Math.abs(deg))) * 60;
+           var sec = (min - Math.floor(min)) * 60;
+           var displayDegrees = t('units.arcdegrees', {
+               quantity: Math.floor(Math.abs(deg)).toLocaleString(locale$2)
+           });
+           var displayCoordinate;
+
+           if (Math.floor(sec) > 0) {
+               displayCoordinate = displayDegrees +
+                   t('units.arcminutes', {
+                       quantity: Math.floor(min).toLocaleString(locale$2)
+                   }) +
+                   t('units.arcseconds', {
+                       quantity: Math.round(sec).toLocaleString(locale$2)
+                   });
+           } else if (Math.floor(min) > 0) {
+               displayCoordinate = displayDegrees +
+                   t('units.arcminutes', {
+                       quantity: Math.round(min).toLocaleString(locale$2)
+                   });
+           } else {
+               displayCoordinate = t('units.arcdegrees', {
+                   quantity: Math.round(Math.abs(deg)).toLocaleString(locale$2)
+               });
+           }
+
+           if (deg === 0) {
+               return displayCoordinate;
+           } else {
+               return t('units.coordinate', {
+                   coordinate: displayCoordinate,
+                   direction: t('units.' + (deg > 0 ? pos : neg))
+               });
+           }
+       }
+
+       /**
+        * Returns given coordinate pair in degree-minute-second format.
+        *
+        * @param {Array<Number>} coord longitude and latitude
+        */
+       function dmsCoordinatePair(coord) {
+           return t('units.coordinate_pair', {
+               latitude: displayCoordinate(clamp$1(coord[1], -90, 90), 'north', 'south'),
+               longitude: displayCoordinate(wrap(coord[0], -180, 180), 'east', 'west')
+           });
+       }
+
+       /**
+        * Returns the given coordinate pair in decimal format.
+        * note: unlocalized to avoid comma ambiguity - see #4765
+        *
+        * @param {Array<Number>} coord longitude and latitude
+        */
+       function decimalCoordinatePair(coord) {
+           return t('units.coordinate_pair', {
+               latitude: clamp$1(coord[1], -90, 90).toFixed(OSM_PRECISION),
+               longitude: wrap(coord[0], -180, 180).toFixed(OSM_PRECISION)
+           });
+       }
+
+       function uiPanelLocation(context) {
+           var currLocation = '';
+
+
+           function redraw(selection) {
+               selection.html('');
+
+               var list = selection
+                   .append('ul');
+
+               // Mouse coordinates
+               var coord = context.map().mouseCoordinates();
+               if (coord.some(isNaN)) {
+                   coord = context.map().center();
+               }
+
+               list
+                   .append('li')
+                   .text(dmsCoordinatePair(coord))
+                   .append('li')
+                   .text(decimalCoordinatePair(coord));
+
+               // Location Info
+               selection
+                   .append('div')
+                   .attr('class', 'location-info')
+                   .text(currLocation || ' ');
+
+               debouncedGetLocation(selection, coord);
+           }
+
+
+           var debouncedGetLocation = debounce(getLocation, 250);
+           function getLocation(selection, coord) {
+               if (!services$1.geocoder) {
+                   currLocation = t('info_panels.location.unknown_location');
+                   selection.selectAll('.location-info')
+                       .text(currLocation);
+               } else {
+                   services$1.geocoder.reverse(coord, function(err, result) {
+                       currLocation = result ? result.display_name : t('info_panels.location.unknown_location');
+                       selection.selectAll('.location-info')
+                           .text(currLocation);
+                   });
+               }
+           }
+
+
+           var panel = function(selection) {
+               selection.call(redraw);
+
+               context.surface()
+                   .on('mousemove.info-location', function() {
+                       selection.call(redraw);
+                   });
+           };
+
+           panel.off = function() {
+               context.surface()
+                   .on('mousemove.info-location', null);
+           };
+
+           panel.id = 'location';
+           panel.title = t('info_panels.location.title');
+           panel.key = t('info_panels.location.key');
+
+
+           return panel;
+       }
+
+       function uiPanelMeasurement(context) {
+           var locale = utilDetect().locale;
+           var isImperial = (locale.toLowerCase() === 'en-us');
+
+
+           function radiansToMeters(r) {
+               // using WGS84 authalic radius (6371007.1809 m)
+               return r * 6371007.1809;
+           }
+
+           function steradiansToSqmeters(r) {
+               // http://gis.stackexchange.com/a/124857/40446
+               return r / (4 * Math.PI) * 510065621724000;
+           }
+
+
+           function toLineString(feature) {
+               if (feature.type === 'LineString') return feature;
+
+               var result = { type: 'LineString', coordinates: [] };
+               if (feature.type === 'Polygon') {
+                   result.coordinates = feature.coordinates[0];
+               } else if (feature.type === 'MultiPolygon') {
+                   result.coordinates = feature.coordinates[0][0];
+               }
+
+               return result;
+           }
+
+
+           function nodeCount(feature) {
+             if (feature.type === 'LineString') return feature.coordinates.length;
+             if (feature.type === 'Polygon') return feature.coordinates[0].length - 1;
+           }
+
+
+           function redraw(selection) {
+               var resolver = context.graph();
+               var selectedNoteID = context.selectedNoteID();
+               var osm = services$1.osm;
+
+               var selected, center, entity, note, geometry;
+
+               if (selectedNoteID && osm) {       // selected 1 note
+                   selected = [ t('note.note') + ' ' + selectedNoteID ];
+                   note = osm.getNote(selectedNoteID);
+                   center = note.loc;
+                   geometry = 'note';
+
+               } else {                           // selected 1..n entities
+                   var extent = geoExtent();
+                   selected = context.selectedIDs()
+                       .filter(function(e) { return context.hasEntity(e); });
+                   if (selected.length) {
+                       for (var i = 0; i < selected.length; i++) {
+                           entity = context.entity(selected[i]);
+                           extent._extend(entity.extent(resolver));
+                       }
+                       center = extent.center();
+                       geometry = entity.geometry(resolver);
+                   }
+               }
+
+               var singular = selected.length === 1 ? selected[0] : null;
+
+               selection.html('');
+
+               selection
+                   .append('h4')
+                   .attr('class', 'measurement-heading')
+                   .text(singular || t('info_panels.measurement.selected', { n: selected.length.toLocaleString(locale) }));
+
+               if (!selected.length) return;
+
+
+               var list = selection
+                   .append('ul');
+               var coordItem;
+
+               // multiple selected features, just display extent center..
+               if (!singular) {
+                   coordItem = list
+                       .append('li')
+                       .text(t('info_panels.measurement.center') + ':');
+                   coordItem.append('span')
+                       .text(dmsCoordinatePair(center));
+                   coordItem.append('span')
+                       .text(decimalCoordinatePair(center));
+                   return;
+               }
+
+               // single selected feature, display details..
+               if (geometry === 'line' || geometry === 'area') {
+                   var closed = (entity.type === 'relation') || (entity.isClosed() && !entity.isDegenerate());
+                   var feature = entity.asGeoJSON(resolver);
+                   var length = radiansToMeters(d3_geoLength(toLineString(feature)));
+                   var lengthLabel = t('info_panels.measurement.' + (closed ? 'perimeter' : 'length'));
+                   var centroid = d3_geoCentroid(feature);
+
+                   list
+                       .append('li')
+                       .text(t('info_panels.measurement.geometry') + ':')
+                       .append('span')
+                       .text(
+                           closed ? t('info_panels.measurement.closed_' + geometry) : t('geometry.' + geometry)
+                       );
+
+                   if (entity.type !== 'relation') {
+                       list
+                           .append('li')
+                           .text(t('info_panels.measurement.node_count') + ':')
+                           .append('span')
+                           .text(nodeCount(feature).toLocaleString(locale));
+                   }
+
+                   if (closed) {
+                       var area = steradiansToSqmeters(entity.area(resolver));
+                       list
+                           .append('li')
+                           .text(t('info_panels.measurement.area') + ':')
+                           .append('span')
+                           .text(displayArea(area, isImperial));
+                   }
+
+
+                   list
+                       .append('li')
+                       .text(lengthLabel + ':')
+                       .append('span')
+                       .text(displayLength(length, isImperial));
+
+                   coordItem = list
+                       .append('li')
+                       .text(t('info_panels.measurement.centroid') + ':');
+                   coordItem.append('span')
+                       .text(dmsCoordinatePair(centroid));
+                   coordItem.append('span')
+                       .text(decimalCoordinatePair(centroid));
+
+                   var toggle  = isImperial ? 'imperial' : 'metric';
+
+                   selection
+                       .append('a')
+                       .text(t('info_panels.measurement.' + toggle))
+                       .attr('href', '#')
+                       .attr('class', 'button button-toggle-units')
+                       .on('click', function() {
+                           event.preventDefault();
+                           isImperial = !isImperial;
+                           selection.call(redraw);
+                       });
+
+               } else {
+                   var centerLabel = t('info_panels.measurement.' +
+                       (note || entity.type === 'node' ? 'location' : 'center'));
+
+                   list
+                       .append('li')
+                       .text(t('info_panels.measurement.geometry') + ':')
+                       .append('span')
+                       .text(t('geometry.' + geometry));
+
+                   coordItem = list
+                       .append('li')
+                       .text(centerLabel + ':');
+                   coordItem.append('span')
+                       .text(dmsCoordinatePair(center));
+                   coordItem.append('span')
+                       .text(decimalCoordinatePair(center));
+               }
+           }
+
+
+           var panel = function(selection) {
+               selection.call(redraw);
+
+               context.map()
+                   .on('drawn.info-measurement', function() {
+                       selection.call(redraw);
+                   });
+
+               context
+                   .on('enter.info-measurement', function() {
+                       selection.call(redraw);
+                   });
+           };
+
+           panel.off = function() {
+               context.map().on('drawn.info-measurement', null);
+               context.on('enter.info-measurement', null);
+           };
+
+           panel.id = 'measurement';
+           panel.title = t('info_panels.measurement.title');
+           panel.key = t('info_panels.measurement.key');
+
+
+           return panel;
+       }
+
+       var uiInfoPanels = {
+           background: uiPanelBackground,
+           history: uiPanelHistory,
+           location: uiPanelLocation,
+           measurement: uiPanelMeasurement,
+       };
+
+       function uiInfo(context) {
+           var ids = Object.keys(uiInfoPanels);
+           var wasActive = ['measurement'];
+           var panels = {};
+           var active = {};
+
+           // create panels
+           ids.forEach(function(k) {
+               if (!panels[k]) {
+                   panels[k] = uiInfoPanels[k](context);
+                   active[k] = false;
+               }
+           });
+
+
+           function info(selection) {
+
+               function redraw() {
+                   var activeids = ids.filter(function(k) { return active[k]; }).sort();
+
+                   var containers = infoPanels.selectAll('.panel-container')
+                       .data(activeids, function(k) { return k; });
+
+                   containers.exit()
+                       .style('opacity', 1)
+                       .transition()
+                       .duration(200)
+                       .style('opacity', 0)
+                       .on('end', function(d) {
+                           d3_select(this)
+                               .call(panels[d].off)
+                               .remove();
+                       });
+
+                   var enter = containers.enter()
+                       .append('div')
+                       .attr('class', function(d) { return 'fillD2 panel-container panel-container-' + d; });
+
+                   enter
+                       .style('opacity', 0)
+                       .transition()
+                       .duration(200)
+                       .style('opacity', 1);
+
+                   var title = enter
+                       .append('div')
+                       .attr('class', 'panel-title fillD2');
+
+                   title
+                       .append('h3')
+                       .text(function(d) { return panels[d].title; });
+
+                   title
+                       .append('button')
+                       .attr('class', 'close')
+                       .on('click', function (d) { toggle(d); })
+                       .call(svgIcon('#iD-icon-close'));
+
+                   enter
+                       .append('div')
+                       .attr('class', function(d) { return 'panel-content panel-content-' + d; });
+
+
+                   // redraw the panels
+                   infoPanels.selectAll('.panel-content')
+                       .each(function(d) {
+                           d3_select(this).call(panels[d]);
+                       });
+               }
+
+
+               function toggle(which) {
+                   if (event) {
+                       event.stopImmediatePropagation();
+                       event.preventDefault();
+                   }
+
+                   var activeids = ids.filter(function(k) { return active[k]; });
+
+                   if (which) {  // toggle one
+                       active[which] = !active[which];
+                       if (activeids.length === 1 && activeids[0] === which) {  // none active anymore
+                           wasActive = [which];
+                       }
+                   } else {      // toggle all
+                       if (activeids.length) {
+                           wasActive = activeids;
+                           activeids.forEach(function(k) { active[k] = false; });
+                       } else {
+                           wasActive.forEach(function(k) { active[k] = true; });
+                       }
+                   }
+
+                   redraw();
+               }
+
+
+               var infoPanels = selection.selectAll('.info-panels')
+                   .data([0]);
+
+               infoPanels = infoPanels.enter()
+                   .append('div')
+                   .attr('class', 'info-panels')
+                   .merge(infoPanels);
+
+               redraw();
+
+               context.keybinding()
+                   .on(uiCmd('⌘' + t('info_panels.key')), toggle);
+
+               ids.forEach(function(k) {
+                   var key = t('info_panels.' + k + '.key', { default: null });
+                   if (!key) return;
+                   context.keybinding()
+                       .on(uiCmd('⌘⇧' + key), function() { toggle(k); });
+               });
+           }
+
+           return info;
+       }
+
+       function uiIssues(context) {
+           var key = t('issues.key');
+
+           var MINSQUARE = 0;
+           var MAXSQUARE = 20;
+           var DEFAULTSQUARE = 5;  // see also unsquare_way.js
+
+           var _errorsSelection = d3_select(null);
+           var _warningsSelection = d3_select(null);
+           var _rulesList = d3_select(null);
+           var _pane = d3_select(null);
+           var _toggleButton = d3_select(null);
+
+           var _errors = [];
+           var _warnings = [];
+           var _options = {
+               what: context.storage('validate-what') || 'edited',    // 'all', 'edited'
+               where: context.storage('validate-where') || 'all'  // 'all', 'visible'
+           };
+
+           // listeners
+           context.validator().on('validated.uiIssues',
+               function() { window.requestIdleCallback(update); }
+           );
+           context.map().on('move.uiIssues',
+               debounce(function() { window.requestIdleCallback(update); }, 1000)
+           );
+
+
+           function addNotificationBadge(selection) {
+               var d = 10;
+               selection.selectAll('svg.notification-badge')
+                   .data([0])
+                   .enter()
+                   .append('svg')
+                   .attr('viewbox', '0 0 ' + d + ' ' + d)
+                   .attr('class', 'notification-badge hide')
+                   .append('circle')
+                   .attr('cx', d / 2)
+                   .attr('cy', d / 2)
+                   .attr('r', (d / 2) - 1)
+                   .attr('fill', 'currentColor');
+           }
+
+
+           function renderErrorsList(selection) {
+               _errorsSelection = selection
+                   .call(drawIssuesList, 'errors', _errors);
+           }
+
+
+           function renderWarningsList(selection) {
+               _warningsSelection = selection
+                   .call(drawIssuesList, 'warnings', _warnings);
+           }
+
+
+           function drawIssuesList(selection, which, issues) {
+               var list = selection.selectAll('.issues-list')
+                   .data([0]);
+
+               list = list.enter()
+                   .append('ul')
+                   .attr('class', 'layer-list issues-list ' + which + '-list')
+                   .merge(list);
+
+
+               var items = list.selectAll('li')
+                   .data(issues, function(d) { return d.id; });
+
+               // Exit
+               items.exit()
+                   .remove();
+
+               // Enter
+               var itemsEnter = items.enter()
+                   .append('li')
+                   .attr('class', function (d) { return 'issue severity-' + d.severity; })
+                   .on('click', function(d) {
+                       context.validator().focusIssue(d);
+                   })
+                   .on('mouseover', function(d) {
+                       utilHighlightEntities(d.entityIds, true, context);
+                   })
+                   .on('mouseout', function(d) {
+                       utilHighlightEntities(d.entityIds, false, context);
+                   });
+
+
+               var labelsEnter = itemsEnter
+                   .append('div')
+                   .attr('class', 'issue-label');
+
+               var textEnter = labelsEnter
+                   .append('span')
+                   .attr('class', 'issue-text');
+
+               textEnter
+                   .append('span')
+                   .attr('class', 'issue-icon')
+                   .each(function(d) {
+                       var iconName = '#iD-icon-' + (d.severity === 'warning' ? 'alert' : 'error');
+                       d3_select(this)
+                           .call(svgIcon(iconName));
+                   });
+
+               textEnter
+                   .append('span')
+                   .attr('class', 'issue-message');
+
+               /*
+               labelsEnter
+                   .append('span')
+                   .attr('class', 'issue-autofix')
+                   .each(function(d) {
+                       if (!d.autoFix) return;
+
+                       d3_select(this)
+                           .append('button')
+                           .attr('title', t('issues.fix_one.title'))
+                           .datum(d.autoFix)  // set button datum to the autofix
+                           .attr('class', 'autofix action')
+                           .on('click', function(d) {
+                               d3_event.preventDefault();
+                               d3_event.stopPropagation();
+
+                               var issuesEntityIDs = d.issue.entityIds;
+                               utilHighlightEntities(issuesEntityIDs.concat(d.entityIds), false, context);
+
+                               context.perform.apply(context, d.autoArgs);
+                               context.validator().validate();
+                           })
+                           .call(svgIcon('#iD-icon-wrench'));
+                   });
+               */
+
+               // Update
+               items = items
+                   .merge(itemsEnter)
+                   .order();
+
+               items.selectAll('.issue-message')
+                   .text(function(d) {
+                       return d.message(context);
+                   });
+
+               /*
+               // autofix
+               var canAutoFix = issues.filter(function(issue) { return issue.autoFix; });
+
+               var autoFixAll = selection.selectAll('.autofix-all')
+                   .data(canAutoFix.length ? [0] : []);
+
+               // exit
+               autoFixAll.exit()
+                   .remove();
+
+               // enter
+               var autoFixAllEnter = autoFixAll.enter()
+                   .insert('div', '.issues-list')
+                   .attr('class', 'autofix-all');
+
+               var linkEnter = autoFixAllEnter
+                   .append('a')
+                   .attr('class', 'autofix-all-link')
+                   .attr('href', '#');
+
+               linkEnter
+                   .append('span')
+                   .attr('class', 'autofix-all-link-text')
+                   .text(t('issues.fix_all.title'));
+
+               linkEnter
+                   .append('span')
+                   .attr('class', 'autofix-all-link-icon')
+                   .call(svgIcon('#iD-icon-wrench'));
+
+               if (which === 'warnings') {
+                   renderIgnoredIssuesReset(selection);
+               }
+
+               // update
+               autoFixAll = autoFixAll
+                   .merge(autoFixAllEnter);
+
+               autoFixAll.selectAll('.autofix-all-link')
+                   .on('click', function() {
+                       context.pauseChangeDispatch();
+                       context.perform(actionNoop());
+                       canAutoFix.forEach(function(issue) {
+                           var args = issue.autoFix.autoArgs.slice();  // copy
+                           if (typeof args[args.length - 1] !== 'function') {
+                               args.pop();
+                           }
+                           args.push(t('issues.fix_all.annotation'));
+                           context.replace.apply(context, args);
+                       });
+                       context.resumeChangeDispatch();
+                       context.validator().validate();
+                   });
+               */
+           }
+
+
+           function updateOptionValue(d, val) {
+               if (!val && event && event.target) {
+                   val = event.target.value;
+               }
+
+               _options[d] = val;
+               context.storage('validate-' + d, val);
+               update();
+           }
+
+
+           function renderIssuesOptions(selection) {
+               var container = selection.selectAll('.issues-options-container')
+                   .data([0]);
+
+               container = container.enter()
+                   .append('div')
+                   .attr('class', 'issues-options-container')
+                   .merge(container);
+
+               var data = [
+                   { key: 'what', values: ['edited', 'all'] },
+                   { key: 'where', values: ['visible', 'all'] }
+               ];
+
+               var options = container.selectAll('.issues-option')
+                   .data(data, function(d) { return d.key; });
+
+               var optionsEnter = options.enter()
+                   .append('div')
+                   .attr('class', function(d) { return 'issues-option issues-option-' + d.key; });
+
+               optionsEnter
+                   .append('div')
+                   .attr('class', 'issues-option-title')
+                   .text(function(d) { return t('issues.options.' + d.key + '.title'); });
+
+               var valuesEnter = optionsEnter.selectAll('label')
+                   .data(function(d) {
+                       return d.values.map(function(val) { return { value: val, key: d.key }; });
+                   })
+                   .enter()
+                   .append('label');
+
+               valuesEnter
+                   .append('input')
+                   .attr('type', 'radio')
+                   .attr('name', function(d) { return 'issues-option-' + d.key; })
+                   .attr('value', function(d) { return d.value; })
+                   .property('checked', function(d) { return _options[d.key] === d.value; })
+                   .on('change', function(d) { updateOptionValue(d.key, d.value); });
+
+               valuesEnter
+                   .append('span')
+                   .text(function(d) { return t('issues.options.' + d.key + '.' + d.value); });
+           }
+
+
+           function renderNoIssuesBox(selection) {
+
+               var box = selection.append('div')
+                   .attr('class', 'box');
+
+               box
+                   .append('div')
+                   .call(svgIcon('#iD-icon-apply', 'pre-text'));
+
+               var noIssuesMessage = box
+                   .append('span');
+
+               noIssuesMessage
+                   .append('strong')
+                   .attr('class', 'message');
+
+               noIssuesMessage
+                   .append('br');
+
+               noIssuesMessage
+                   .append('span')
+                   .attr('class', 'details');
+           }
+
+           function renderIgnoredIssuesReset(selection) {
+
+               var ignoredIssues = context.validator()
+                   .getIssues(Object.assign({ includeIgnored: 'only' }, _options));
+
+               var resetIgnored = selection.selectAll('.reset-ignored')
+                   .data(ignoredIssues.length ? [0] : []);
+
+               // exit
+               resetIgnored.exit()
+                   .remove();
+
+               // enter
+               var resetIgnoredEnter = resetIgnored.enter()
+                   .append('div')
+                   .attr('class', 'reset-ignored section-footer');
+
+               resetIgnoredEnter
+                   .append('a')
+                   .attr('href', '#');
+
+               // update
+               resetIgnored = resetIgnored
+                   .merge(resetIgnoredEnter);
+
+               resetIgnored.select('a')
+                   .text(t('issues.reset_ignored', { count: ignoredIssues.length.toString() }));
+
+               resetIgnored.on('click', function() {
+                       context.validator().resetIgnoredIssues();
+                   });
+           }
+
+
+           function renderRulesList(selection) {
+               var container = selection.selectAll('.issues-rulelist-container')
+                   .data([0]);
+
+               var containerEnter = container.enter()
+                   .append('div')
+                   .attr('class', 'issues-rulelist-container');
+
+               containerEnter
+                   .append('ul')
+                   .attr('class', 'layer-list issue-rules-list');
+
+               var ruleLinks = containerEnter
+                   .append('div')
+                   .attr('class', 'issue-rules-links section-footer');
+
+               ruleLinks
+                   .append('a')
+                   .attr('class', 'issue-rules-link')
+                   .attr('href', '#')
+                   .text(t('issues.enable_all'))
+                   .on('click', function() {
+                       context.validator().disableRules([]);
+                   });
+
+               ruleLinks
+                   .append('a')
+                   .attr('class', 'issue-rules-link')
+                   .attr('href', '#')
+                   .text(t('issues.disable_all'))
+                   .on('click', function() {
+                       var keys = context.validator().getRuleKeys();
+                       context.validator().disableRules(keys);
+                   });
+
+
+               // Update
+               container = container
+                   .merge(containerEnter);
+
+               _rulesList = container.selectAll('.issue-rules-list');
+
+               updateRulesList();
+           }
+
+
+           function updateRulesList() {
+               var ruleKeys = context.validator().getRuleKeys();
+               _rulesList
+                   .call(drawListItems, ruleKeys, 'checkbox', 'rule', toggleRule, isRuleEnabled);
+           }
+
+
+           function isRuleEnabled(d) {
+               return context.validator().isRuleEnabled(d);
+           }
+
+
+           function toggleRule(d) {
+               context.validator().toggleRule(d);
+           }
+
+           function setNoIssuesText() {
+
+               function checkForHiddenIssues(cases) {
+                   for (var type in cases) {
+                       var opts = cases[type];
+                       var hiddenIssues = context.validator().getIssues(opts);
+                       if (hiddenIssues.length) {
+                           _pane.select('.issues-none .details')
+                               .text(t(
+                                   'issues.no_issues.hidden_issues.' + type,
+                                   { count: hiddenIssues.length.toString() }
+                               ));
+                           return;
+                       }
+                   }
+                   _pane.select('.issues-none .details')
+                       .text(t('issues.no_issues.hidden_issues.none'));
+               }
+
+               var messageType;
+
+               if (_options.what === 'edited' && _options.where === 'visible') {
+
+                   messageType = 'edits_in_view';
+
+                   checkForHiddenIssues({
+                       elsewhere: { what: 'edited', where: 'all' },
+                       other_features: { what: 'all', where: 'visible' },
+                       disabled_rules: { what: 'edited', where: 'visible', includeDisabledRules: 'only' },
+                       other_features_elsewhere: { what: 'all', where: 'all' },
+                       disabled_rules_elsewhere: { what: 'edited', where: 'all', includeDisabledRules: 'only' },
+                       ignored_issues: { what: 'edited', where: 'visible', includeIgnored: 'only' },
+                       ignored_issues_elsewhere: { what: 'edited', where: 'all', includeIgnored: 'only' }
+                   });
+
+               } else if (_options.what === 'edited' && _options.where === 'all') {
+
+                   messageType = 'edits';
+
+                   checkForHiddenIssues({
+                       other_features: { what: 'all', where: 'all' },
+                       disabled_rules: { what: 'edited', where: 'all', includeDisabledRules: 'only' },
+                       ignored_issues: { what: 'edited', where: 'all', includeIgnored: 'only' }
+                   });
+
+               } else if (_options.what === 'all' && _options.where === 'visible') {
+
+                   messageType = 'everything_in_view';
+
+                   checkForHiddenIssues({
+                       elsewhere: { what: 'all', where: 'all' },
+                       disabled_rules: { what: 'all', where: 'visible', includeDisabledRules: 'only' },
+                       disabled_rules_elsewhere: { what: 'all', where: 'all', includeDisabledRules: 'only' },
+                       ignored_issues: { what: 'all', where: 'visible', includeIgnored: 'only' },
+                       ignored_issues_elsewhere: { what: 'all', where: 'all', includeIgnored: 'only' }
+                   });
+               } else if (_options.what === 'all' && _options.where === 'all') {
+
+                   messageType = 'everything';
+
+                   checkForHiddenIssues({
+                       disabled_rules: { what: 'all', where: 'all', includeDisabledRules: 'only' },
+                       ignored_issues: { what: 'all', where: 'all', includeIgnored: 'only' }
+                   });
+               }
+
+               _pane.select('.issues-none .message')
+                   .text(t('issues.no_issues.message.' + messageType));
+
+           }
+
+
+           function update() {
+               var issuesBySeverity = context.validator().getIssuesBySeverity(_options);
+
+               // sort issues by distance away from the center of the map
+               var center = context.map().center();
+               var graph = context.graph();
+               _errors = issuesBySeverity.error.map(withDistance).sort(byDistance);
+               _warnings = issuesBySeverity.warning.map(withDistance).sort(byDistance);
+
+               // cut off at 1000
+               var errorCount = _errors.length > 1000 ? '1000+' : String(_errors.length);
+               var warningCount = _warnings.length > 1000 ? '1000+' : String(_warnings.length);
+               _errors = _errors.slice(0, 1000);
+               _warnings = _warnings.slice(0, 1000);
+
+
+               _toggleButton.selectAll('.notification-badge')
+                   .classed('error', (_errors.length > 0))
+                   .classed('warning', (_errors.length === 0 && _warnings.length > 0))
+                   .classed('hide', (_errors.length === 0 && _warnings.length === 0));
+
+
+               _pane.selectAll('.issues-errors')
+                   .classed('hide', _errors.length === 0);
+
+               if (_errors.length > 0) {
+                   _pane.selectAll('.hide-toggle-issues_errors .hide-toggle-text')
+                       .text(t('issues.errors.list_title', { count: errorCount }));
+                   if (!_pane.select('.disclosure-wrap-issues_errors').classed('hide')) {
+                       _errorsSelection
+                           .call(drawIssuesList, 'errors', _errors);
+                   }
+               }
+
+               _pane.selectAll('.issues-warnings')
+                   .classed('hide', _warnings.length === 0);
+
+               if (_warnings.length > 0) {
+                   _pane.selectAll('.hide-toggle-issues_warnings .hide-toggle-text')
+                       .text(t('issues.warnings.list_title', { count: warningCount }));
+                   if (!_pane.select('.disclosure-wrap-issues_warnings').classed('hide')) {
+                       _warningsSelection
+                           .call(drawIssuesList, 'warnings', _warnings);
+                   }
+               }
+
+               var hasIssues = _warnings.length > 0 || _errors.length > 0;
+
+               var issuesNone = _pane.select('.issues-none');
+               issuesNone.classed('hide', hasIssues);
+               if (!hasIssues) {
+                   renderIgnoredIssuesReset(issuesNone);
+                   setNoIssuesText();
+               }
+
+               if (!_pane.select('.disclosure-wrap-issues_rules').classed('hide')) {
+                   updateRulesList();
+               }
+
+
+               function byDistance(a, b) {
+                   return a.dist - b.dist;
+               }
+
+               function withDistance(issue) {
+                   var extent = issue.extent(graph);
+                   var dist = extent ? geoSphericalDistance(center, extent.center()) : 0;
+                   return Object.assign(issue, { dist: dist });
+               }
+           }
+
+
+           function drawListItems(selection, data, type, name, change, active) {
+               var items = selection.selectAll('li')
+                   .data(data);
+
+               // Exit
+               items.exit()
+                   .remove();
+
+               // Enter
+               var enter = items.enter()
+                   .append('li');
+
+               if (name === 'rule') {
+                   enter
+                       .call(tooltip()
+                           .title(function(d) { return t('issues.' + d + '.tip'); })
+                           .placement('top')
+                       );
+               }
+
+               var label = enter
+                   .append('label');
+
+               label
+                   .append('input')
+                   .attr('type', type)
+                   .attr('name', name)
+                   .on('change', change);
+
+               label
+                   .append('span')
+                   .html(function(d) {
+                       var params = {};
+                       if (d === 'unsquare_way') {
+                           params.val = '<span class="square-degrees"></span>';
+                       }
+                       return t('issues.' + d + '.title', params);
+                   });
+
+               // Update
+               items = items
+                   .merge(enter);
+
+               items
+                   .classed('active', active)
+                   .selectAll('input')
+                   .property('checked', active)
+                   .property('indeterminate', false);
+
+
+               // user-configurable square threshold
+               var degStr = context.storage('validate-square-degrees');
+               if (degStr === null) {
+                   degStr = '' + DEFAULTSQUARE;
+               }
+
+               var span = items.selectAll('.square-degrees');
+               var input = span.selectAll('.square-degrees-input')
+                   .data([0]);
+
+               // enter / update
+               input.enter()
+                   .append('input')
+                   .attr('type', 'number')
+                   .attr('min', '' + MINSQUARE)
+                   .attr('max', '' + MAXSQUARE)
+                   .attr('step', '0.5')
+                   .attr('class', 'square-degrees-input')
+                   .call(utilNoAuto)
+                   .on('input', function() {
+                       this.style.width = (this.value.length + 2.5) + 'ch';   // resize
+                   })
+                   .on('click', function () {
+                       event.preventDefault();
+                       event.stopPropagation();
+                       this.select();
+                   })
+                   .on('keyup', function () {
+                       if (event.keyCode === 13) { // enter
+                           this.blur();
+                           this.select();
+                       }
+                   })
+                   .on('blur', changeSquare)
+                   .merge(input)
+                   .property('value', degStr)
+                   .style('width', (degStr.length + 2.5) + 'ch');   // resize
+           }
+
+
+           function changeSquare() {
+               var input = d3_select(this);
+               var degStr = utilGetSetValue(input).trim();
+               var degNum = parseFloat(degStr, 10);
+
+               if (!isFinite(degNum)) {
+                   degNum = DEFAULTSQUARE;
+               } else if (degNum > MAXSQUARE) {
+                   degNum = MAXSQUARE;
+               } else if (degNum < MINSQUARE) {
+                   degNum = MINSQUARE;
+               }
+
+               degNum = Math.round(degNum * 10 ) / 10;   // round to 1 decimal
+               degStr = '' + degNum;
+
+               input
+                   .property('value', degStr)
+                   .style('width', (degStr.length + 2.5) + 'ch');   // resize
+
+               context.storage('validate-square-degrees', degStr);
+               context.validator().changeSquareThreshold(degNum);
+           }
+
+
+           function hidePane() {
+               context.ui().togglePanes();
+           }
+
+
+
+           var paneTooltip = tooltip()
+               .placement((textDirection === 'rtl') ? 'right' : 'left')
+               .html(true)
+               .title(uiTooltipHtml(t('issues.title'), key));
+
+
+
+           uiIssues.togglePane = function() {
+               if (event) event.preventDefault();
+               paneTooltip.hide(_toggleButton);
+               context.ui().togglePanes(!_pane.classed('shown') ? _pane : undefined);
+           };
+
+
+           uiIssues.renderToggleButton = function(selection) {
+               _toggleButton = selection
+                   .append('button')
+                   .attr('tabindex', -1)
+                   .on('click', uiIssues.togglePane)
+                   .call(svgIcon('#iD-icon-alert', 'light'))
+                   .call(addNotificationBadge)
+                   .call(paneTooltip);
+           };
+
+
+           uiIssues.renderPane = function(selection) {
+               _pane = selection
+                   .append('div')
+                   .attr('class', 'fillL map-pane issues-pane hide')
+                   .attr('pane', 'map-issues');
+
+               var heading = _pane
+                   .append('div')
+                   .attr('class', 'pane-heading');
+
+               heading
+                   .append('h2')
+                   .text(t('issues.title'));
+
+               heading
+                   .append('button')
+                   .on('click', hidePane)
+                   .call(svgIcon('#iD-icon-close'));
+
+               var content = _pane
+                   .append('div')
+                   .attr('class', 'pane-content');
+
+               content
+                   .append('div')
+                   .attr('class', 'issues-options')
+                   .call(renderIssuesOptions);
+
+               content
+                   .append('div')
+                   .attr('class', 'issues-none')
+                   .call(renderNoIssuesBox);
+
+               // errors
+               content
+                   .append('div')
+                   .attr('class', 'issues-errors')
+                   .call(uiDisclosure(context, 'issues_errors', true)
+                       .content(renderErrorsList)
+                   );
+
+               // warnings
+               content
+                   .append('div')
+                   .attr('class', 'issues-warnings')
+                   .call(uiDisclosure(context, 'issues_warnings', true)
+                       .content(renderWarningsList)
+                   );
+
+               // rules
+               content
+                   .append('div')
+                   .attr('class', 'issues-rules')
+                   .call(uiDisclosure(context, 'issues_rules', false)
+                       .title(t('issues.rules.title'))
+                       .content(renderRulesList)
+                   );
+
+               // update();
+
+               context.keybinding()
+                   .on(key, uiIssues.togglePane);
+           };
+
+           return uiIssues;
+       }
+
+       function uiSettingsCustomData(context) {
+           var dispatch$1 = dispatch('change');
+
+           function render(selection) {
+               var dataLayer = context.layers().layer('data');
+
+               // keep separate copies of original and current settings
+               var _origSettings = {
+                   fileList: (dataLayer && dataLayer.fileList()) || null,
+                   url: context.storage('settings-custom-data-url')
+               };
+               var _currSettings = {
+                   fileList: (dataLayer && dataLayer.fileList()) || null,
+                   url: context.storage('settings-custom-data-url')
+               };
+
+               // var example = 'https://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png';
+               var modal = uiConfirm(selection).okButton();
+
+               modal
+                   .classed('settings-modal settings-custom-data', true);
+
+               modal.select('.modal-section.header')
+                   .append('h3')
+                   .text(t('settings.custom_data.header'));
+
+
+               var textSection = modal.select('.modal-section.message-text');
+
+               textSection
+                   .append('pre')
+                   .attr('class', 'instructions-file')
+                   .text(t('settings.custom_data.file.instructions'));
+
+               textSection
+                   .append('input')
+                   .attr('class', 'field-file')
+                   .attr('type', 'file')
+                   .property('files', _currSettings.fileList)  // works for all except IE11
+                   .on('change', function() {
+                       var files = event.target.files;
+                       if (files && files.length) {
+                           _currSettings.url = '';
+                           textSection.select('.field-url').property('value', '');
+                           _currSettings.fileList = files;
+                       } else {
+                           _currSettings.fileList = null;
+                       }
+                   });
+
+               textSection
+                   .append('h4')
+                   .text(t('settings.custom_data.or'));
+
+               textSection
+                   .append('pre')
+                   .attr('class', 'instructions-url')
+                   .text(t('settings.custom_data.url.instructions'));
+
+               textSection
+                   .append('textarea')
+                   .attr('class', 'field-url')
+                   .attr('placeholder', t('settings.custom_data.url.placeholder'))
+                   .call(utilNoAuto)
+                   .property('value', _currSettings.url);
+
+
+               // insert a cancel button
+               var buttonSection = modal.select('.modal-section.buttons');
+
+               buttonSection
+                   .insert('button', '.ok-button')
+                   .attr('class', 'button cancel-button secondary-action')
+                   .text(t('confirm.cancel'));
+
+
+               buttonSection.select('.cancel-button')
+                   .on('click.cancel', clickCancel);
+
+               buttonSection.select('.ok-button')
+                   .attr('disabled', isSaveDisabled)
+                   .on('click.save', clickSave);
+
+
+               function isSaveDisabled() {
+                   return null;
+               }
+
+
+               // restore the original url
+               function clickCancel() {
+                   textSection.select('.field-url').property('value', _origSettings.url);
+                   context.storage('settings-custom-data-url', _origSettings.url);
+                   this.blur();
+                   modal.close();
+               }
+
+               // accept the current url
+               function clickSave() {
+                   _currSettings.url = textSection.select('.field-url').property('value').trim();
+
+                   // one or the other but not both
+                   if (_currSettings.url) { _currSettings.fileList = null; }
+                   if (_currSettings.fileList) { _currSettings.url = ''; }
+
+                   context.storage('settings-custom-data-url', _currSettings.url);
+                   this.blur();
+                   modal.close();
+                   dispatch$1.call('change', this, _currSettings);
+               }
+           }
+
+           return utilRebind(render, dispatch$1, 'on');
+       }
+
+       function uiMapData(context) {
+           var key = t('map_data.key');
+           var osmDataToggleKey = uiCmd('⌥' + t('area_fill.wireframe.key'));
+           var features = context.features().keys();
+           var layers = context.layers();
+           var fills = ['wireframe', 'partial', 'full'];
+
+           var settingsCustomData = uiSettingsCustomData(context)
+               .on('change', customChanged);
+
+           var _pane = d3_select(null), _toggleButton = d3_select(null);
+
+           var _fillSelected = context.storage('area-fill') || 'partial';
+           var _dataLayerContainer = d3_select(null);
+           var _photoOverlayContainer = d3_select(null);
+           var _fillList = d3_select(null);
+           var _featureList = d3_select(null);
+           var _QAList = d3_select(null);
+
+
+           function showsFeature(d) {
+               return context.features().enabled(d);
+           }
+
+
+           function autoHiddenFeature(d) {
+               if (d.type === 'kr_error') return context.errors().autoHidden(d);
+               return context.features().autoHidden(d);
+           }
+
+
+           function clickFeature(d) {
+               context.features().toggle(d);
+               update();
+           }
+
+
+           function showsQA(d) {
+               var QAKeys = [d];
+               var QALayers = layers.all().filter(function(obj) { return QAKeys.indexOf(obj.id) !== -1; });
+               var data = QALayers.filter(function(obj) { return obj.layer.supported(); });
+
+               function layerSupported(d) {
+                   return d.layer && d.layer.supported();
+               }
+               function layerEnabled(d) {
+                   return layerSupported(d) && d.layer.enabled();
+               }
+
+               return layerEnabled(data[0]);
+           }
+
+
+           function showsFill(d) {
+               return _fillSelected === d;
+           }
+
+
+           function setFill(d) {
+               fills.forEach(function(opt) {
+                   context.surface().classed('fill-' + opt, Boolean(opt === d));
+               });
+
+               _fillSelected = d;
+               context.storage('area-fill', d);
+               if (d !== 'wireframe') {
+                   context.storage('area-fill-toggle', d);
+               }
+               update();
+           }
+
+
+           function showsLayer(which) {
+               var layer = layers.layer(which);
+               if (layer) {
+                   return layer.enabled();
+               }
+               return false;
+           }
+
+
+           function setLayer(which, enabled) {
+               // Don't allow layer changes while drawing - #6584
+               var mode = context.mode();
+               if (mode && /^draw/.test(mode.id)) return;
+
+               var layer = layers.layer(which);
+               if (layer) {
+                   layer.enabled(enabled);
+
+                   if (!enabled && (which === 'osm' || which === 'notes')) {
+                       context.enter(modeBrowse(context));
+                   }
+
+                   update();
+               }
+           }
+
+
+           function toggleLayer(which) {
+               setLayer(which, !showsLayer(which));
+           }
+
+
+           function drawPhotoItems(selection) {
+               var photoKeys = context.photos().overlayLayerIDs();
+               var photoLayers = layers.all().filter(function(obj) { return photoKeys.indexOf(obj.id) !== -1; });
+               var data = photoLayers.filter(function(obj) { return obj.layer.supported(); });
+
+               function layerSupported(d) {
+                   return d.layer && d.layer.supported();
+               }
+               function layerEnabled(d) {
+                   return layerSupported(d) && d.layer.enabled();
+               }
+
+               var ul = selection
+                   .selectAll('.layer-list-photos')
+                   .data([0]);
+
+               ul = ul.enter()
+                   .append('ul')
+                   .attr('class', 'layer-list layer-list-photos')
+                   .merge(ul);
+
+               var li = ul.selectAll('.list-item-photos')
+                   .data(data);
+
+               li.exit()
+                   .remove();
+
+               var liEnter = li.enter()
+                   .append('li')
+                   .attr('class', function(d) {
+                       var classes = 'list-item-photos list-item-' + d.id;
+                       if (d.id === 'mapillary-signs') {
+                           classes += ' indented';
+                       }
+                       return classes;
+                   });
+
+               var labelEnter = liEnter
+                   .append('label')
+                   .each(function(d) {
+                       var titleID;
+                       if (d.id === 'mapillary-signs') titleID = 'mapillary.signs.tooltip';
+                       else if (d.id === 'mapillary') titleID = 'mapillary_images.tooltip';
+                       else if (d.id === 'openstreetcam') titleID = 'openstreetcam_images.tooltip';
+                       else titleID = d.id.replace('-', '_') + '.tooltip';
+                       d3_select(this)
+                           .call(tooltip()
+                               .title(t(titleID))
+                               .placement('top')
+                           );
+                   });
+
+               labelEnter
+                   .append('input')
+                   .attr('type', 'checkbox')
+                   .on('change', function(d) { toggleLayer(d.id); });
+
+               labelEnter
+                   .append('span')
+                   .text(function(d) {
+                       var id = d.id;
+                       if (id === 'mapillary-signs') id = 'photo_overlays.traffic_signs';
+                       return t(id.replace('-', '_') + '.title');
+                   });
+
+
+               // Update
+               li
+                   .merge(liEnter)
+                   .classed('active', layerEnabled)
+                   .selectAll('input')
+                   .property('checked', layerEnabled);
+           }
+
+           function drawPhotoTypeItems(selection) {
+               var data = context.photos().allPhotoTypes();
+
+               function typeEnabled(d) {
+                   return context.photos().showsPhotoType(d);
+               }
+
+               var ul = selection
+                   .selectAll('.layer-list-photo-types')
+                   .data(context.photos().shouldFilterByPhotoType() ? [0] : []);
+
+               ul.exit()
+                   .remove();
+
+               ul = ul.enter()
+                   .append('ul')
+                   .attr('class', 'layer-list layer-list-photo-types')
+                   .merge(ul);
+
+               var li = ul.selectAll('.list-item-photo-types')
+                   .data(data);
+
+               li.exit()
+                   .remove();
+
+               var liEnter = li.enter()
+                   .append('li')
+                   .attr('class', function(d) {
+                       return 'list-item-photo-types list-item-' + d;
+                   });
+
+               var labelEnter = liEnter
+                   .append('label')
+                   .each(function(d) {
+                       d3_select(this)
+                           .call(tooltip()
+                               .title(t('photo_overlays.photo_type.' + d + '.tooltip'))
+                               .placement('top')
+                           );
+                   });
+
+               labelEnter
+                   .append('input')
+                   .attr('type', 'checkbox')
+                   .on('change', function(d) {
+                       context.photos().togglePhotoType(d);
+                       update();
+                   });
+
+               labelEnter
+                   .append('span')
+                   .text(function(d) {
+                       return t('photo_overlays.photo_type.' + d + '.title');
+                   });
+
+
+               // Update
+               li
+                   .merge(liEnter)
+                   .classed('active', typeEnabled)
+                   .selectAll('input')
+                   .property('checked', typeEnabled);
+           }
+
+
+           function drawOsmItems(selection) {
+               var osmKeys = ['osm', 'notes'];
+               var osmLayers = layers.all().filter(function(obj) { return osmKeys.indexOf(obj.id) !== -1; });
+
+               var ul = selection
+                   .selectAll('.layer-list-osm')
+                   .data([0]);
+
+               ul = ul.enter()
+                   .append('ul')
+                   .attr('class', 'layer-list layer-list-osm')
+                   .merge(ul);
+
+               var li = ul.selectAll('.list-item')
+                   .data(osmLayers);
+
+               li.exit()
+                   .remove();
+
+               var liEnter = li.enter()
+                   .append('li')
+                   .attr('class', function(d) { return 'list-item list-item-' + d.id; });
+
+               var labelEnter = liEnter
+                   .append('label')
+                   .each(function(d) {
+                       if (d.id === 'osm') {
+                           d3_select(this)
+                               .call(tooltip()
+                                   .html(true)
+                                   .title(uiTooltipHtml(t('map_data.layers.' + d.id + '.tooltip'), osmDataToggleKey))
+                                   .placement('bottom')
+                               );
+                       } else {
+                           d3_select(this)
+                               .call(tooltip()
+                                   .title(t('map_data.layers.' + d.id + '.tooltip'))
+                                   .placement('bottom')
+                               );
+                       }
+                   });
+
+               labelEnter
+                   .append('input')
+                   .attr('type', 'checkbox')
+                   .on('change', function(d) { toggleLayer(d.id); });
+
+               labelEnter
+                   .append('span')
+                   .text(function(d) { return t('map_data.layers.' + d.id + '.title'); });
+
+
+               // Update
+               li
+                   .merge(liEnter)
+                   .classed('active', function (d) { return d.layer.enabled(); })
+                   .selectAll('input')
+                   .property('checked', function (d) { return d.layer.enabled(); });
+           }
+
+
+           function drawQAItems(selection) {
+               var qaKeys = ['keepRight', 'improveOSM'];
+               var qaLayers = layers.all().filter(function(obj) { return qaKeys.indexOf(obj.id) !== -1; });
+
+               var ul = selection
+                   .selectAll('.layer-list-qa')
+                   .data([0]);
+
+               ul = ul.enter()
+                   .append('ul')
+                   .attr('class', 'layer-list layer-list-qa')
+                   .merge(ul);
+
+               var li = ul.selectAll('.list-item')
+                   .data(qaLayers);
+
+               li.exit()
+                   .remove();
+
+               var liEnter = li.enter()
+                   .append('li')
+                   .attr('class', function(d) { return 'list-item list-item-' + d.id; });
+
+               var labelEnter = liEnter
+                   .append('label')
+                   .each(function(d) {
+                       d3_select(this)
+                           .call(tooltip()
+                               .title(t('map_data.layers.' + d.id + '.tooltip'))
+                               .placement('bottom')
+                           );
+                   });
+
+               labelEnter
+                   .append('input')
+                   .attr('type', 'checkbox')
+                   .on('change', function(d) { toggleLayer(d.id); });
+
+               labelEnter
+                   .append('span')
+                   .text(function(d) { return t('map_data.layers.' + d.id + '.title'); });
+
+
+               // Update
+               li
+                   .merge(liEnter)
+                   .classed('active', function (d) { return d.layer.enabled(); })
+                   .selectAll('input')
+                   .property('checked', function (d) { return d.layer.enabled(); });
+           }
+
+
+           // Beta feature - sample vector layers to support Detroit Mapping Challenge
+           // https://github.com/osmus/detroit-mapping-challenge
+           function drawVectorItems(selection) {
+               var dataLayer = layers.layer('data');
+               var vtData = [
+                   {
+                       name: 'Detroit Neighborhoods/Parks',
+                       src: 'neighborhoods-parks',
+                       tooltip: 'Neighborhood boundaries and parks as compiled by City of Detroit in concert with community groups.',
+                       template: 'https://{switch:a,b,c,d}.tiles.mapbox.com/v4/jonahadkins.cjksmur6x34562qp9iv1u3ksf-54hev,jonahadkins.cjksmqxdx33jj2wp90xd9x2md-4e5y2/{z}/{x}/{y}.vector.pbf?access_token=pk.eyJ1Ijoiam9uYWhhZGtpbnMiLCJhIjoiRlVVVkx3VSJ9.9sdVEK_B_VkEXPjssU5MqA'
+                   }, {
+                       name: 'Detroit Composite POIs',
+                       src: 'composite-poi',
+                       tooltip: 'Fire Inspections, Business Licenses, and other public location data collated from the City of Detroit.',
+                       template: 'https://{switch:a,b,c,d}.tiles.mapbox.com/v4/jonahadkins.cjksmm6a02sli31myxhsr7zf3-2sw8h/{z}/{x}/{y}.vector.pbf?access_token=pk.eyJ1Ijoiam9uYWhhZGtpbnMiLCJhIjoiRlVVVkx3VSJ9.9sdVEK_B_VkEXPjssU5MqA'
+                   }, {
+                       name: 'Detroit All-The-Places POIs',
+                       src: 'alltheplaces-poi',
+                       tooltip: 'Public domain business location data created by web scrapers.',
+                       template: 'https://{switch:a,b,c,d}.tiles.mapbox.com/v4/jonahadkins.cjksmswgk340g2vo06p1w9w0j-8fjjc/{z}/{x}/{y}.vector.pbf?access_token=pk.eyJ1Ijoiam9uYWhhZGtpbnMiLCJhIjoiRlVVVkx3VSJ9.9sdVEK_B_VkEXPjssU5MqA'
+                   }
+               ];
+
+               // Only show this if the map is around Detroit..
+               var detroit = geoExtent([-83.5, 42.1], [-82.8, 42.5]);
+               var showVectorItems = (context.map().zoom() > 9 && detroit.contains(context.map().center()));
+
+               var container = selection.selectAll('.vectortile-container')
+                   .data(showVectorItems ? [0] : []);
+
+               container.exit()
+                   .remove();
+
+               var containerEnter = container.enter()
+                   .append('div')
+                   .attr('class', 'vectortile-container');
+
+               containerEnter
+                   .append('h4')
+                   .attr('class', 'vectortile-header')
+                   .text('Detroit Vector Tiles (Beta)');
+
+               containerEnter
+                   .append('ul')
+                   .attr('class', 'layer-list layer-list-vectortile');
+
+               containerEnter
+                   .append('div')
+                   .attr('class', 'vectortile-footer')
+                   .append('a')
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .call(svgIcon('#iD-icon-out-link', 'inline'))
+                   .attr('href', 'https://github.com/osmus/detroit-mapping-challenge')
+                   .append('span')
+                   .text('About these layers');
+
+               container = container
+                   .merge(containerEnter);
+
+
+               var ul = container.selectAll('.layer-list-vectortile');
+
+               var li = ul.selectAll('.list-item')
+                   .data(vtData);
+
+               li.exit()
+                   .remove();
+
+               var liEnter = li.enter()
+                   .append('li')
+                   .attr('class', function(d) { return 'list-item list-item-' + d.src; });
+
+               var labelEnter = liEnter
+                   .append('label')
+                   .each(function(d) {
+                       d3_select(this).call(
+                           tooltip().title(d.tooltip).placement('top')
+                       );
+                   });
+
+               labelEnter
+                   .append('input')
+                   .attr('type', 'radio')
+                   .attr('name', 'vectortile')
+                   .on('change', selectVTLayer);
+
+               labelEnter
+                   .append('span')
+                   .text(function(d) { return d.name; });
+
+               // Update
+               li
+                   .merge(liEnter)
+                   .classed('active', isVTLayerSelected)
+                   .selectAll('input')
+                   .property('checked', isVTLayerSelected);
+
+
+               function isVTLayerSelected(d) {
+                   return dataLayer && dataLayer.template() === d.template;
+               }
+
+               function selectVTLayer(d) {
+                   context.storage('settings-custom-data-url', d.template);
+                   if (dataLayer) {
+                       dataLayer.template(d.template, d.src);
+                       dataLayer.enabled(true);
+                   }
+               }
+           }
+
+
+           function drawCustomDataItems(selection) {
+               var dataLayer = layers.layer('data');
+               var hasData = dataLayer && dataLayer.hasData();
+               var showsData = hasData && dataLayer.enabled();
+
+               var ul = selection
+                   .selectAll('.layer-list-data')
+                   .data(dataLayer ? [0] : []);
+
+               // Exit
+               ul.exit()
+                   .remove();
+
+               // Enter
+               var ulEnter = ul.enter()
+                   .append('ul')
+                   .attr('class', 'layer-list layer-list-data');
+
+               var liEnter = ulEnter
+                   .append('li')
+                   .attr('class', 'list-item-data');
+
+               liEnter
+                   .append('button')
+                   .call(tooltip()
+                       .title(t('settings.custom_data.tooltip'))
+                       .placement((textDirection === 'rtl') ? 'right' : 'left')
+                   )
+                   .on('click', editCustom)
+                   .call(svgIcon('#iD-icon-more'));
+
+               liEnter
+                   .append('button')
+                   .call(tooltip()
+                       .title(t('map_data.layers.custom.zoom'))
+                       .placement((textDirection === 'rtl') ? 'right' : 'left')
+                   )
+                   .on('click', function() {
+                       event.preventDefault();
+                       event.stopPropagation();
+                       dataLayer.fitZoom();
+                   })
+                   .call(svgIcon('#iD-icon-search'));
+
+               var labelEnter = liEnter
+                   .append('label')
+                   .call(tooltip()
+                       .title(t('map_data.layers.custom.tooltip'))
+                       .placement('top')
+                   );
+
+               labelEnter
+                   .append('input')
+                   .attr('type', 'checkbox')
+                   .on('change', function() { toggleLayer('data'); });
+
+               labelEnter
+                   .append('span')
+                   .text(t('map_data.layers.custom.title'));
+
+               // Update
+               ul = ul
+                   .merge(ulEnter);
+
+               ul.selectAll('.list-item-data')
+                   .classed('active', showsData)
+                   .selectAll('label')
+                   .classed('deemphasize', !hasData)
+                   .selectAll('input')
+                   .property('disabled', !hasData)
+                   .property('checked', showsData);
+           }
+
+
+           function editCustom() {
+               event.preventDefault();
+               context.container()
+                   .call(settingsCustomData);
+           }
+
+
+           function customChanged(d) {
+               var dataLayer = layers.layer('data');
+
+               if (d && d.url) {
+                   dataLayer.url(d.url);
+               } else if (d && d.fileList) {
+                   dataLayer.fileList(d.fileList);
+               }
+           }
+
+
+           function drawListItems(selection, data, type, name, change, active) {
+               var items = selection.selectAll('li')
+                   .data(data);
+
+               // Exit
+               items.exit()
+                   .remove();
+
+               // Enter
+               var enter = items.enter()
+                   .append('li')
+                   .call(tooltip()
+                       .html(true)
+                       .title(function(d) {
+                           var tip = t(name + '.' + d + '.tooltip');
+                           var key = (d === 'wireframe' ? t('area_fill.wireframe.key') : null);
+                           if ((name === 'feature' || name === 'keepRight') && autoHiddenFeature(d)) {
+                               var msg = showsLayer('osm') ? t('map_data.autohidden') : t('map_data.osmhidden');
+                               tip += '<div>' + msg + '</div>';
+                           }
+                           return uiTooltipHtml(tip, key);
+                       })
+                       .placement('top')
+                   );
+
+               var label = enter
+                   .append('label');
+
+               label
+                   .append('input')
+                   .attr('type', type)
+                   .attr('name', name)
+                   .on('change', change);
+
+               label
+                   .append('span')
+                   .text(function(d) { return t(name + '.' + d + '.description'); });
+
+               // Update
+               items = items
+                   .merge(enter);
+
+               items
+                   .classed('active', active)
+                   .selectAll('input')
+                   .property('checked', active)
+                   .property('indeterminate', function(d) {
+                       return ((name === 'feature' || name === 'keepRight') && autoHiddenFeature(d));
+                   });
+           }
+
+
+           function renderDataLayers(selection) {
+               var container = selection.selectAll('.data-layer-container')
+                   .data([0]);
+
+               _dataLayerContainer = container.enter()
+                   .append('div')
+                   .attr('class', 'data-layer-container')
+                   .merge(container);
+
+               updateDataLayers();
+           }
+
+           function renderPhotoOverlays(selection) {
+               var container = selection.selectAll('.photo-overlay-container')
+                   .data([0]);
+
+               _photoOverlayContainer = container.enter()
+                   .append('div')
+                   .attr('class', 'photo-overlay-container')
+                   .merge(container);
+
+               updatePhotoOverlays();
+           }
+
+
+           function renderFillList(selection) {
+               var container = selection.selectAll('.layer-fill-list')
+                   .data([0]);
+
+               _fillList = container.enter()
+                   .append('ul')
+                   .attr('class', 'layer-list layer-fill-list')
+                   .merge(container);
+
+               updateFillList();
+           }
+
+
+           function renderFeatureList(selection) {
+               var container = selection.selectAll('.layer-feature-list-container')
+                   .data([0]);
+
+               var containerEnter = container.enter()
+                   .append('div')
+                   .attr('class', 'layer-feature-list-container');
+
+               containerEnter
+                   .append('ul')
+                   .attr('class', 'layer-list layer-feature-list');
+
+               var footer = containerEnter
+                   .append('div')
+                   .attr('class', 'feature-list-links section-footer');
+
+               footer
+                   .append('a')
+                   .attr('class', 'feature-list-link')
+                   .attr('href', '#')
+                   .text(t('issues.enable_all'))
+                   .on('click', function() {
+                       context.features().enableAll();
+                   });
+
+               footer
+                   .append('a')
+                   .attr('class', 'feature-list-link')
+                   .attr('href', '#')
+                   .text(t('issues.disable_all'))
+                   .on('click', function() {
+                       context.features().disableAll();
+                   });
+
+               // Update
+               container = container
+                   .merge(containerEnter);
+
+               _featureList = container.selectAll('.layer-feature-list');
+
+               updateFeatureList();
+           }
+
+           function updatePhotoOverlays() {
+               _photoOverlayContainer
+                   .call(drawPhotoItems)
+                   .call(drawPhotoTypeItems);
+           }
+
+           function updateDataLayers() {
+               _dataLayerContainer
+                   .call(drawOsmItems)
+                   .call(drawQAItems)
+                   .call(drawCustomDataItems)
+                   .call(drawVectorItems);      // Beta - Detroit mapping challenge
+           }
+
+           function updateFillList() {
+               _fillList
+                   .call(drawListItems, fills, 'radio', 'area_fill', setFill, showsFill);
+           }
+
+           function updateFeatureList() {
+               _featureList
+                   .call(drawListItems, features, 'checkbox', 'feature', clickFeature, showsFeature);
+           }
+
+           function update() {
+
+               if (!_pane.select('.disclosure-wrap-data_layers').classed('hide')) {
+                   updateDataLayers();
+               }
+               if (!_pane.select('.disclosure-wrap-photo_overlays').classed('hide')) {
+                   updatePhotoOverlays();
+               }
+               if (!_pane.select('.disclosure-wrap-fill_area').classed('hide')) {
+                   updateFillList();
+               }
+               if (!_pane.select('.disclosure-wrap-map_features').classed('hide')) {
+                   updateFeatureList();
+               }
+
+               _QAList
+                   .call(drawListItems, ['keep-right'], 'checkbox', 'QA', function(d) { toggleLayer(d); }, showsQA);
+           }
+
+
+           function toggleWireframe() {
+               if (event) {
+                   event.preventDefault();
+                   event.stopPropagation();
+               }
+
+               if (_fillSelected === 'wireframe') {
+                   _fillSelected = context.storage('area-fill-toggle') || 'partial';
+               } else {
+                   _fillSelected = 'wireframe';
+               }
+
+               setFill(_fillSelected);
+               context.map().pan([0,0]);  // trigger a redraw
+           }
+
+           var paneTooltip = tooltip()
+               .placement((textDirection === 'rtl') ? 'right' : 'left')
+               .html(true)
+               .title(uiTooltipHtml(t('map_data.description'), key));
+
+           function hidePane() {
+               context.ui().togglePanes();
+           }
+
+           uiMapData.togglePane = function() {
+               if (event) event.preventDefault();
+               paneTooltip.hide(_toggleButton);
+               context.ui().togglePanes(!_pane.classed('shown') ? _pane : undefined);
+           };
+
+           uiMapData.renderToggleButton = function(selection) {
+
+               _toggleButton = selection
+                   .append('button')
+                   .attr('tabindex', -1)
+                   .on('click', uiMapData.togglePane)
+                   .call(svgIcon('#iD-icon-data', 'light'))
+                   .call(paneTooltip);
+           };
+
+
+           uiMapData.renderPane = function(selection) {
+
+               _pane = selection
+                   .append('div')
+                   .attr('class', 'fillL map-pane map-data-pane hide')
+                   .attr('pane', 'map-data');
+
+               var heading = _pane
+                   .append('div')
+                   .attr('class', 'pane-heading');
+
+               heading
+                   .append('h2')
+                   .text(t('map_data.title'));
+
+               heading
+                   .append('button')
+                   .on('click', hidePane)
+                   .call(svgIcon('#iD-icon-close'));
+
+
+               var content = _pane
+                   .append('div')
+                   .attr('class', 'pane-content');
+
+
+               // data layers
+               content
+                   .append('div')
+                   .attr('class', 'map-data-data-layers')
+                   .call(uiDisclosure(context, 'data_layers', true)
+                       .title(t('map_data.data_layers'))
+                       .content(renderDataLayers)
+                   );
+
+               // photo overlays
+               content
+                   .append('div')
+                   .attr('class', 'map-data-photo-overlays')
+                   .call(uiDisclosure(context, 'photo_overlays', false)
+                       .title(t('photo_overlays.title'))
+                       .content(renderPhotoOverlays)
+                   );
+
+               // area fills
+               content
+                   .append('div')
+                   .attr('class', 'map-data-area-fills')
+                   .call(uiDisclosure(context, 'fill_area', false)
+                       .title(t('map_data.fill_area'))
+                       .content(renderFillList)
+                   );
+
+               // feature filters
+               content
+                   .append('div')
+                   .attr('class', 'map-data-feature-filters')
+                   .call(uiDisclosure(context, 'map_features', false)
+                       .title(t('map_data.map_features'))
+                       .content(renderFeatureList)
+                   );
+
+
+               // add listeners
+               context.features()
+                   .on('change.map_data-update', update);
+
+               update();
+               setFill(_fillSelected);
+
+               context.keybinding()
+                   .on(key, uiMapData.togglePane)
+                   .on(t('area_fill.wireframe.key'), toggleWireframe)
+                   .on(osmDataToggleKey, function() {
+                       event.preventDefault();
+                       event.stopPropagation();
+                       toggleLayer('osm');
+                   });
+           };
+
+           return uiMapData;
+       }
+
+       function uiNotice(context) {
+
+           return function(selection) {
+               var div = selection
+                   .append('div')
+                   .attr('class', 'notice');
+
+               var button = div
+                   .append('button')
+                   .attr('class', 'zoom-to notice fillD')
+                   .on('click', function() {
+                       context.map().zoomEase(context.minEditableZoom());
+                   })
+                   .on('wheel', function() {   // let wheel events pass through #4482
+                       var e2 = new WheelEvent(event.type, event);
+                       context.surface().node().dispatchEvent(e2);
+                   });
+
+               button
+                   .call(svgIcon('#iD-icon-plus', 'pre-text'))
+                   .append('span')
+                   .attr('class', 'label')
+                   .text(t('zoom_in_edit'));
+
+
+               function disableTooHigh() {
+                   var canEdit = context.map().zoom() >= context.minEditableZoom();
+                   div.style('display', canEdit ? 'none' : 'block');
+               }
+
+               context.map()
+                   .on('move.notice', debounce(disableTooHigh, 500));
+
+               disableTooHigh();
+           };
+       }
+
+       function uiPhotoviewer(context) {
+
+           var dispatch$1 = dispatch('resize');
+
+           function photoviewer(selection) {
+               selection
+                   .append('button')
+                   .attr('class', 'thumb-hide')
+                   .on('click', function () {
+                       if (services$1.streetside) { services$1.streetside.hideViewer(); }
+                       if (services$1.mapillary) { services$1.mapillary.hideViewer(); }
+                       if (services$1.openstreetcam) { services$1.openstreetcam.hideViewer(); }
+                   })
+                   .append('div')
+                   .call(svgIcon('#iD-icon-close'));
+
+               selection
+                   .append('button')
+                   .attr('class', 'resize-handle-xy')
+                   .on(
+                       'mousedown',
+                       buildResizeListener(selection, 'resize', dispatch$1, { resizeOnX: true, resizeOnY: true })
+                   );
+
+               selection
+                   .append('button')
+                   .attr('class', 'resize-handle-x')
+                   .on(
+                       'mousedown',
+                       buildResizeListener(selection, 'resize', dispatch$1, { resizeOnX: true })
+                   );
+
+               selection
+                   .append('button')
+                   .attr('class', 'resize-handle-y')
+                   .on(
+                       'mousedown',
+                       buildResizeListener(selection, 'resize', dispatch$1, { resizeOnY: true })
+                   );
+
+               services$1.streetside.loadViewer(context);
+               services$1.mapillary.loadViewer(context);
+               services$1.openstreetcam.loadViewer(context);
+
+               function buildResizeListener(target, eventName, dispatch, options) {
+                   var resizeOnX = !!options.resizeOnX;
+                   var resizeOnY = !!options.resizeOnY;
+                   var minHeight = options.minHeight || 240;
+                   var minWidth = options.minWidth || 320;
+                   var startX;
+                   var startY;
+                   var startWidth;
+                   var startHeight;
+
+                   function startResize() {
+                       var mapSize = context.map().dimensions();
+
+                       if (resizeOnX) {
+                           var maxWidth = mapSize[0];
+                           var newWidth = clamp((startWidth + event.clientX - startX), minWidth, maxWidth);
+                           target.style('width', newWidth + 'px');
+                       }
+
+                       if (resizeOnY) {
+                           var maxHeight = mapSize[1] - 90;  // preserve space at top/bottom of map
+                           var newHeight = clamp((startHeight + startY - event.clientY), minHeight, maxHeight);
+                           target.style('height', newHeight + 'px');
+                       }
+
+                       dispatch.call(eventName, target, utilGetDimensions(target, true));
+                   }
+
+                   function clamp(num, min, max) {
+                       return Math.max(min, Math.min(num, max));
+                   }
+
+                   function stopResize() {
+                       d3_select(window)
+                           .on('.' + eventName, null);
+                   }
+
+                   return function initResize() {
+                       startX = event.clientX;
+                       startY = event.clientY;
+                       startWidth = target.node().getBoundingClientRect().width;
+                       startHeight = target.node().getBoundingClientRect().height;
+
+                       d3_select(window)
+                           .on('mousemove.' + eventName, startResize, false)
+                           .on('mouseup.' + eventName, stopResize, false);
+                   };
+               }
+           }
+
+           photoviewer.onMapResize = function() {
+               var photoviewer = d3_select('#photoviewer');
+               var content = d3_select('#content');
+               var mapDimensions = utilGetDimensions(content, true);
+               // shrink photo viewer if it is too big
+               // (-90 preserves space at top and bottom of map used by menus)
+               var photoDimensions = utilGetDimensions(photoviewer, true);
+               if (photoDimensions[0] > mapDimensions[0] || photoDimensions[1] > (mapDimensions[1] - 90)) {
+                   var setPhotoDimensions = [
+                       Math.min(photoDimensions[0], mapDimensions[0]),
+                       Math.min(photoDimensions[1], mapDimensions[1] - 90),
+                   ];
+
+                   photoviewer
+                       .style('width', setPhotoDimensions[0] + 'px')
+                       .style('height', setPhotoDimensions[1] + 'px');
+
+                   dispatch$1.call('resize', photoviewer, setPhotoDimensions);
+               }
+           };
+
+           return utilRebind(photoviewer, dispatch$1, 'on');
+       }
+
+       function uiRestore(context) {
+
+           return function(selection) {
+               if (!context.history().lock() || !context.history().restorableChanges())
+                   return;
+
+               var modalSelection = uiModal(selection, true);
+
+               modalSelection.select('.modal')
+                   .attr('class', 'modal fillL');
+
+               var introModal = modalSelection.select('.content');
+
+               introModal
+                   .append('div')
+                   .attr('class', 'modal-section')
+                   .append('h3')
+                   .text(t('restore.heading'));
+
+               introModal
+                   .append('div')
+                   .attr('class','modal-section')
+                   .append('p')
+                   .text(t('restore.description'));
+
+               var buttonWrap = introModal
+                   .append('div')
+                   .attr('class', 'modal-actions');
+
+               var restore = buttonWrap
+                   .append('button')
+                   .attr('class', 'restore')
+                   .on('click', function() {
+                       context.history().restore();
+                       modalSelection.remove();
+                   });
+
+               restore
+                   .append('svg')
+                   .attr('class', 'logo logo-restore')
+                   .append('use')
+                   .attr('xlink:href', '#iD-logo-restore');
+
+               restore
+                   .append('div')
+                   .text(t('restore.restore'));
+
+               var reset = buttonWrap
+                   .append('button')
+                   .attr('class', 'reset')
+                   .on('click', function() {
+                       context.history().clearSaved();
+                       modalSelection.remove();
+                   });
+
+               reset
+                   .append('svg')
+                   .attr('class', 'logo logo-reset')
+                   .append('use')
+                   .attr('xlink:href', '#iD-logo-reset');
+
+               reset
+                   .append('div')
+                   .text(t('restore.reset'));
+
+               restore.node().focus();
+           };
+       }
+
+       function uiScale(context) {
+           var projection = context.projection,
+               isImperial = (utilDetect().locale.toLowerCase() === 'en-us'),
+               maxLength = 180,
+               tickHeight = 8;
+
+
+           function scaleDefs(loc1, loc2) {
+               var lat = (loc2[1] + loc1[1]) / 2,
+                   conversion = (isImperial ? 3.28084 : 1),
+                   dist = geoLonToMeters(loc2[0] - loc1[0], lat) * conversion,
+                   scale = { dist: 0, px: 0, text: '' },
+                   buckets, i, val, dLon;
+
+               if (isImperial) {
+                   buckets = [5280000, 528000, 52800, 5280, 500, 50, 5, 1];
+               } else {
+                   buckets = [5000000, 500000, 50000, 5000, 500, 50, 5, 1];
+               }
+
+               // determine a user-friendly endpoint for the scale
+               for (i = 0; i < buckets.length; i++) {
+                   val = buckets[i];
+                   if (dist >= val) {
+                       scale.dist = Math.floor(dist / val) * val;
+                       break;
+                   } else {
+                       scale.dist = +dist.toFixed(2);
+                   }
+               }
+
+               dLon = geoMetersToLon(scale.dist / conversion, lat);
+               scale.px = Math.round(projection([loc1[0] + dLon, loc1[1]])[0]);
+
+               scale.text = displayLength(scale.dist / conversion, isImperial);
+
+               return scale;
+           }
+
+
+           function update(selection) {
+               // choose loc1, loc2 along bottom of viewport (near where the scale will be drawn)
+               var dims = context.map().dimensions(),
+                   loc1 = projection.invert([0, dims[1]]),
+                   loc2 = projection.invert([maxLength, dims[1]]),
+                   scale = scaleDefs(loc1, loc2);
+
+               selection.select('#scale-path')
+                   .attr('d', 'M0.5,0.5v' + tickHeight + 'h' + scale.px + 'v-' + tickHeight);
+
+               selection.select('#scale-textgroup')
+                   .attr('transform', 'translate(' + (scale.px + 8) + ',' + tickHeight + ')');
+
+               selection.select('#scale-text')
+                   .text(scale.text);
+           }
+
+
+           return function(selection) {
+               function switchUnits() {
+                   isImperial = !isImperial;
+                   selection.call(update);
+               }
+
+               var scalegroup = selection.append('svg')
+                   .attr('id', 'scale')
+                   .on('click', switchUnits)
+                   .append('g')
+                   .attr('transform', 'translate(10,11)');
+
+               scalegroup
+                   .append('path')
+                   .attr('id', 'scale-path');
+
+               scalegroup
+                   .append('g')
+                   .attr('id', 'scale-textgroup')
+                   .append('text')
+                   .attr('id', 'scale-text');
+
+               selection.call(update);
+
+               context.map().on('move.scale', function() {
+                   update(selection);
+               });
+           };
+       }
+
+       var pair_1 = pair$1;
+
+       function search(x, dims, r) {
+         if (!dims) dims = 'NSEW';
+         if (typeof x !== 'string') return { val: null, regex: r };
+
+         r = r || /[\s\,]*([NSEW])?\s*([\-|\—|\―]?[0-9.]+)°?\s*(?:([0-9.]+)['’′‘]\s*)?(?:([0-9.]+)(?:''|"|”|″)\s*)?([NSEW])?/gi;
+
+         var m = r.exec(x);
+         if (!m) return { val: null, regex: r };
+
+         var dim = m[1] || m[5];
+         if (dim && dims.indexOf(dim) === -1) return { val: null, regex: r };
+
+         return {
+           val: (((m[2]) ? parseFloat(m[2]) : 0) +
+                 ((m[3] ? parseFloat(m[3]) / 60 : 0)) +
+                 ((m[4] ? parseFloat(m[4]) / 3600 : 0))) *
+                 ((dim === 'S' || dim === 'W') ? -1 : 1),
+           regex: r,
+           raw: m[0],
+           dim: dim
+         };
+       }
+
+       function pair$1(x, dims) {
+         x = x.trim();
+         var one = search(x, dims);
+         if (one.val === null) return null;
+         var two = search(x, dims, one.regex);
+         if (two.val === null) return null;
+         // null if one/two are not contiguous.
+         if (one.raw + two.raw !== x) return null;
+         if (one.dim) {
+           return swapdim(one.val, two.val, one.dim);
+         } else {
+           return [one.val, two.val];
+         }
+       }
+
+       function swapdim(a, b, dim) {
+         if (dim === 'N' || dim === 'S') return [a, b];
+         if (dim === 'W' || dim === 'E') return [b, a];
+       }
+
+       function uiFeatureList(context) {
+           var _geocodeResults;
+
+
+           function featureList(selection) {
+               var header = selection
+                   .append('div')
+                   .attr('class', 'header fillL cf');
+
+               header
+                   .append('h3')
+                   .text(t('inspector.feature_list'));
+
+               var searchWrap = selection
+                   .append('div')
+                   .attr('class', 'search-header');
+
+               var search = searchWrap
+                   .append('input')
+                   .attr('placeholder', t('inspector.search'))
+                   .attr('type', 'search')
+                   .call(utilNoAuto)
+                   .on('keypress', keypress)
+                   .on('keydown', keydown)
+                   .on('input', inputevent);
+
+               searchWrap
+                   .call(svgIcon('#iD-icon-search', 'pre-text'));
+
+               var listWrap = selection
+                   .append('div')
+                   .attr('class', 'inspector-body');
+
+               var list = listWrap
+                   .append('div')
+                   .attr('class', 'feature-list cf');
+
+               context
+                   .on('exit.feature-list', clearSearch);
+               context.map()
+                   .on('drawn.feature-list', mapDrawn);
+
+               context.keybinding()
+                   .on(uiCmd('⌘F'), focusSearch);
+
+
+               function focusSearch() {
+                   var mode = context.mode() && context.mode().id;
+                   if (mode !== 'browse') return;
+
+                   event.preventDefault();
+                   search.node().focus();
+               }
+
+
+               function keydown() {
+                   if (event.keyCode === 27) {  // escape
+                       search.node().blur();
+                   }
+               }
+
+
+               function keypress() {
+                   var q = search.property('value'),
+                       items = list.selectAll('.feature-list-item');
+                   if (event.keyCode === 13 && q.length && items.size()) {  // return
+                       click(items.datum());
+                   }
+               }
+
+
+               function inputevent() {
+                   _geocodeResults = undefined;
+                   drawList();
+               }
+
+
+               function clearSearch() {
+                   search.property('value', '');
+                   drawList();
+               }
+
+
+               function mapDrawn(e) {
+                   if (e.full) {
+                       drawList();
+                   }
+               }
+
+
+               function features() {
+                   var entities = {};
+                   var result = [];
+                   var graph = context.graph();
+                   var q = search.property('value').toLowerCase();
+
+                   if (!q) return result;
+
+                   var idMatch = q.match(/^([nwr])([0-9]+)$/);
+
+                   if (idMatch) {
+                       result.push({
+                           id: idMatch[0],
+                           geometry: idMatch[1] === 'n' ? 'point' : idMatch[1] === 'w' ? 'line' : 'relation',
+                           type: idMatch[1] === 'n' ? t('inspector.node') : idMatch[1] === 'w' ? t('inspector.way') : t('inspector.relation'),
+                           name: idMatch[2]
+                       });
+                   }
+
+                   var locationMatch = pair_1(q.toUpperCase()) || q.match(/^(-?\d+\.?\d*)\s+(-?\d+\.?\d*)$/);
+
+                   if (locationMatch) {
+                       var loc = [parseFloat(locationMatch[0]), parseFloat(locationMatch[1])];
+                       result.push({
+                           id: -1,
+                           geometry: 'point',
+                           type: t('inspector.location'),
+                           name: dmsCoordinatePair([loc[1], loc[0]]),
+                           location: loc
+                       });
+                   }
+
+                   function addEntity(entity) {
+                       if (entity.id in entities || result.length > 200)
+                           return;
+
+                       entities[entity.id] = true;
+
+                       var name = utilDisplayName(entity) || '';
+                       if (name.toLowerCase().indexOf(q) >= 0) {
+                           var matched = context.presets().match(entity, graph);
+                           var type = (matched && matched.name()) || utilDisplayType(entity.id);
+
+                           result.push({
+                               id: entity.id,
+                               entity: entity,
+                               geometry: context.geometry(entity.id),
+                               type: type,
+                               name: name
+                           });
+                       }
+
+                       graph.parentRelations(entity).forEach(function(parent) {
+                           addEntity(parent);
+                       });
+                   }
+
+                   var visible = context.surface().selectAll('.point, .line, .area').nodes();
+                   for (var i = 0; i < visible.length && result.length <= 200; i++) {
+                       var datum = visible[i].__data__;
+                       var entity = datum && datum.properties && datum.properties.entity;
+                       if (entity) { addEntity(entity); }
+                   }
+
+                   (_geocodeResults || []).forEach(function(d) {
+                       if (d.osm_type && d.osm_id) {    // some results may be missing these - #1890
+
+                           // Make a temporary osmEntity so we can preset match
+                           // and better localize the search result - #4725
+                           var id = osmEntity.id.fromOSM(d.osm_type, d.osm_id);
+                           var tags = {};
+                           tags[d.class] = d.type;
+
+                           var attrs = { id: id, type: d.osm_type, tags: tags };
+                           if (d.osm_type === 'way') {   // for ways, add some fake closed nodes
+                               attrs.nodes = ['a','a'];  // so that geometry area is possible
+                           }
+
+                           var tempEntity = osmEntity(attrs);
+                           var tempGraph = coreGraph([tempEntity]);
+                           var matched = context.presets().match(tempEntity, tempGraph);
+                           var type = (matched && matched.name()) || utilDisplayType(id);
+
+                           result.push({
+                               id: tempEntity.id,
+                               geometry: tempEntity.geometry(tempGraph),
+                               type: type,
+                               name: d.display_name,
+                               extent: new geoExtent(
+                                   [parseFloat(d.boundingbox[3]), parseFloat(d.boundingbox[0])],
+                                   [parseFloat(d.boundingbox[2]), parseFloat(d.boundingbox[1])])
+                           });
+                       }
+                   });
+
+                   return result;
+               }
+
+
+               function drawList() {
+                   var value = search.property('value');
+                   var results = features();
+
+                   list.classed('filtered', value.length);
+
+                   var noResultsWorldwide = _geocodeResults && _geocodeResults.length === 0;
+
+                   var resultsIndicator = list.selectAll('.no-results-item')
+                       .data([0])
+                       .enter()
+                       .append('button')
+                       .property('disabled', true)
+                       .attr('class', 'no-results-item')
+                       .call(svgIcon('#iD-icon-alert', 'pre-text'));
+
+                   resultsIndicator.append('span')
+                       .attr('class', 'entity-name');
+
+                   list.selectAll('.no-results-item .entity-name')
+                       .text(noResultsWorldwide ? t('geocoder.no_results_worldwide') : t('geocoder.no_results_visible'));
+
+                   if (services$1.geocoder) {
+                     list.selectAll('.geocode-item')
+                         .data([0])
+                         .enter()
+                         .append('button')
+                         .attr('class', 'geocode-item')
+                         .on('click', geocoderSearch)
+                         .append('div')
+                         .attr('class', 'label')
+                         .append('span')
+                         .attr('class', 'entity-name')
+                         .text(t('geocoder.search'));
+                   }
+
+                   list.selectAll('.no-results-item')
+                       .style('display', (value.length && !results.length) ? 'block' : 'none');
+
+                   list.selectAll('.geocode-item')
+                       .style('display', (value && _geocodeResults === undefined) ? 'block' : 'none');
+
+                   list.selectAll('.feature-list-item')
+                       .data([-1])
+                       .remove();
+
+                   var items = list.selectAll('.feature-list-item')
+                       .data(results, function(d) { return d.id; });
+
+                   var enter = items.enter()
+                       .insert('button', '.geocode-item')
+                       .attr('class', 'feature-list-item')
+                       .on('mouseover', mouseover)
+                       .on('mouseout', mouseout)
+                       .on('click', click);
+
+                   var label = enter
+                       .append('div')
+                       .attr('class', 'label');
+
+                   label
+                       .each(function(d) {
+                           d3_select(this)
+                               .call(svgIcon('#iD-icon-' + d.geometry, 'pre-text'));
+                       });
+
+                   label
+                       .append('span')
+                       .attr('class', 'entity-type')
+                       .text(function(d) { return d.type; });
+
+                   label
+                       .append('span')
+                       .attr('class', 'entity-name')
+                       .text(function(d) { return d.name; });
+
+                   enter
+                       .style('opacity', 0)
+                       .transition()
+                       .style('opacity', 1);
+
+                   items.order();
+
+                   items.exit()
+                       .remove();
+               }
+
+
+               function mouseover(d) {
+                   if (d.id === -1) return;
+
+                   context.surface().selectAll(utilEntityOrMemberSelector([d.id], context.graph()))
+                       .classed('hover', true);
+               }
+
+
+               function mouseout() {
+                   context.surface().selectAll('.hover')
+                       .classed('hover', false);
+               }
+
+
+               function click(d) {
+                   event.preventDefault();
+                   if (d.location) {
+                       context.map().centerZoomEase([d.location[1], d.location[0]], 19);
+                   }
+                   else if (d.entity) {
+                       if (d.entity.type === 'node') {
+                           context.map().center(d.entity.loc);
+                       } else if (d.entity.type === 'way') {
+                           var center = context.projection(context.map().center());
+                           var edge = geoChooseEdge(context.childNodes(d.entity), center, context.projection);
+                           context.map().center(edge.loc);
+                       }
+                       context.enter(modeSelect(context, [d.entity.id]));
+                   } else {
+                       context.zoomToEntity(d.id);
+                   }
+               }
+
+
+               function geocoderSearch() {
+                   services$1.geocoder.search(search.property('value'), function (err, resp) {
+                       _geocodeResults = resp || [];
+                       drawList();
+                   });
+               }
+           }
+
+
+           return featureList;
+       }
+
+       function uiPresetFavoriteButton(preset, geom, context, klass) {
+
+           geom = context.presets().fallback(geom).id;
+
+           var presetFavorite = {};
+
+           var _button = d3_select(null);
+
+
+           presetFavorite.button = function(selection) {
+
+               _button = selection.selectAll('.preset-favorite-button')
+                   .data( []);
+
+               _button.exit().remove();
+
+               _button = _button.enter()
+                   .insert('button', '.tag-reference-button')
+                   .attr('class', 'preset-favorite-button ' + klass)
+                   .attr('title', t('icons.favorite'))
+                   .attr('tabindex', -1)
+                   .call(svgIcon('#iD-icon-favorite'))
+                   .merge(_button);
+
+               _button
+                   .on('click', function () {
+                       event.stopPropagation();
+                       event.preventDefault();
+
+                       context.presets().toggleFavorite(preset, geom);
+
+                       update();
+                   });
+
+               update();
+           };
+
+           function update() {
+               _button
+                   .classed('active', context.presets().favoriteMatching(preset, geom));
+           }
+
+           context.presets().on('favoritePreset.button-' + preset.id.replace(/[^a-zA-Z\d:]/g, '-') + '-' + geom, update);
+
+           return presetFavorite;
+       }
+
+       function uiPresetIcon(context) {
+           var preset, geometry, sizeClass = 'medium';
+
+           function isSmall() {
+               return sizeClass === 'small';
+           }
+
+
+           function presetIcon(selection) {
+               selection.each(render);
+           }
+
+
+           function getIcon(p, geom) {
+               if (isSmall() && p.isFallback && p.isFallback())
+                   return 'iD-icon-' + p.id;
+               else if (p.icon)
+                   return p.icon;
+               else if (geom === 'line')
+                   return 'iD-other-line';
+               else if (geom === 'vertex')
+                   return p.isFallback() ? '' : 'temaki-vertex';
+               else if (isSmall() && geom === 'point')
+                   return '';
+               else
+                   return 'maki-marker-stroked';
+           }
+
+           function renderPointBorder(enter) {
+               var w = 40, h = 40;
+               enter = enter
+                   .append('svg')
+                   .attr('class', 'preset-icon-fill preset-icon-point-border')
+                   .attr('width', w)
+                   .attr('height', h)
+                   .attr('viewBox', '0 0 ' + w + ' ' + h);
+
+               enter.append('path')
+                   .attr('transform', 'translate(11.5, 8)')
+                   .attr('d', 'M 17,8 C 17,13 11,21 8.5,23.5 C 6,21 0,13 0,8 C 0,4 4,-0.5 8.5,-0.5 C 13,-0.5 17,4 17,8 z');
+           }
+
+           function renderCircleFill(fillEnter) {
+               var w = 60, h = 60, d = 40;
+               fillEnter = fillEnter
+                   .append('svg')
+                   .attr('class', 'preset-icon-fill preset-icon-fill-vertex')
+                   .attr('width', w)
+                   .attr('height', h)
+                   .attr('viewBox', '0 0 ' + w + ' ' + h);
+
+               fillEnter.append('circle')
+                   .attr('cx', w/2)
+                   .attr('cy', h/2)
+                   .attr('r', d/2);
+           }
+
+           function renderSquareFill(fillEnter) {
+               var d = isSmall() ? 40 : 60;
+               var w = d, h = d, l = d*2/3, c1 = (w-l)/2, c2 = c1 + l;
+               fillEnter = fillEnter
+                   .append('svg')
+                   .attr('class', 'preset-icon-fill preset-icon-fill-area')
+                   .attr('width', w)
+                   .attr('height', h)
+                   .attr('viewBox', '0 0 ' + w + ' ' + h);
+
+               var data = 'M' + c1 + ' ' + c1 + ' L' + c1 + ' ' + c2 + ' L' + c2 + ' ' + c2 + ' L' + c2 + ' ' + c1 + ' Z';
+
+               fillEnter.append('path')
+                   .attr('d', data)
+                   .attr('class', 'line area fill');
+
+               fillEnter.append('path')
+                   .attr('d', data)
+                   .attr('class', 'line area stroke');
+
+               var r = 2.5;
+               var coordinates = [c1, c2];
+               for (var xIndex in coordinates) {
+                   for (var yIndex in coordinates) {
+                       fillEnter.append('circle')
+                           .attr('class', 'vertex')
+                           .attr('cx', coordinates[xIndex])
+                           .attr('cy', coordinates[yIndex])
+                           .attr('r', r);
+                   }
+               }
+
+               if (!isSmall()) {
+                   var midCoordinates = [[c1, w/2], [c2, w/2], [h/2, c1], [h/2, c2]];
+                   for (var index in midCoordinates) {
+                       var loc = midCoordinates[index];
+                       fillEnter.append('circle')
+                           .attr('class', 'midpoint')
+                           .attr('cx', loc[0])
+                           .attr('cy', loc[1])
+                           .attr('r', 1.25);
+                   }
+               }
+
+           }
+
+           function renderLine(lineEnter) {
+               var d = isSmall() ? 40 : 60;
+               // draw the line parametrically
+               var w = d, h = d, y = Math.round(d*0.72), l = Math.round(d*0.6), r = 2.5;
+               var x1 = (w - l)/2, x2 = x1 + l;
+
+               lineEnter = lineEnter
+                   .append('svg')
+                   .attr('class', 'preset-icon-line')
+                   .attr('width', w)
+                   .attr('height', h)
+                   .attr('viewBox', '0 0 ' + w + ' ' + h);
+
+               ['casing', 'stroke'].forEach(function(klass) {
+                   lineEnter.append('path')
+                       .attr('d', 'M' + x1 + ' ' + y + ' L' + x2 + ' ' + y)
+                       .attr('class', 'line ' + klass);
+               });
+
+               [[x1 - 1, y], [x2 + 1, y]].forEach(function(loc) {
+                   lineEnter.append('circle')
+                       .attr('class', 'vertex')
+                       .attr('cx', loc[0])
+                       .attr('cy', loc[1])
+                       .attr('r', r);
+               });
+           }
+
+           function renderRoute(routeEnter) {
+               var d = isSmall() ? 40 : 60;
+               // draw the route parametrically
+               var w = d,
+                   h = d,
+                   y1 = Math.round(d*0.80),
+                   y2 = Math.round(d*0.68),
+                   l = Math.round(d*0.6),
+                   r = 2;
+               var x1 = (w - l)/2, x2 = x1 + l/3, x3 = x2 + l/3, x4 = x3 + l/3;
+
+               routeEnter = routeEnter
+                   .append('svg')
+                   .attr('class', 'preset-icon-route')
+                   .attr('width', w)
+                   .attr('height', h)
+                   .attr('viewBox', '0 0 ' + w + ' ' + h);
+
+               ['casing', 'stroke'].forEach(function(klass) {
+                   routeEnter.append('path')
+                       .attr('d', 'M' + x1 + ' ' + y1 + ' L' + x2 + ' ' + y2)
+                       .attr('class', 'segment0 line ' + klass);
+                   routeEnter.append('path')
+                       .attr('d', 'M' + x2 + ' ' + y2 + ' L' + x3 + ' ' + y1)
+                       .attr('class', 'segment1 line ' + klass);
+                   routeEnter.append('path')
+                       .attr('d', 'M' + x3 + ' ' + y1 + ' L' + x4 + ' ' + y2)
+                       .attr('class', 'segment2 line ' + klass);
+               });
+
+               [[x1, y1], [x2, y2], [x3, y1], [x4, y2]].forEach(function(loc) {
+                   routeEnter.append('circle')
+                       .attr('class', 'vertex')
+                       .attr('cx', loc[0])
+                       .attr('cy', loc[1])
+                       .attr('r', r);
+               });
+           }
+
+           var routeSegements = {
+               bicycle: ['highway/cycleway', 'highway/cycleway', 'highway/cycleway'],
+               bus: ['highway/unclassified', 'highway/secondary', 'highway/primary'],
+               detour: ['highway/tertiary', 'highway/residential', 'highway/unclassified'],
+               ferry: ['route/ferry', 'route/ferry', 'route/ferry'],
+               foot: ['highway/footway', 'highway/footway', 'highway/footway'],
+               hiking: ['highway/path', 'highway/path', 'highway/path'],
+               horse: ['highway/bridleway', 'highway/bridleway', 'highway/bridleway'],
+               light_rail: ['railway/light_rail', 'railway/light_rail', 'railway/light_rail'],
+               monorail: ['railway/monorail', 'railway/monorail', 'railway/monorail'],
+               pipeline: ['man_made/pipeline', 'man_made/pipeline', 'man_made/pipeline'],
+               piste: ['piste/downhill', 'piste/hike', 'piste/nordic'],
+               power: ['power/line', 'power/line', 'power/line'],
+               road: ['highway/secondary', 'highway/primary', 'highway/trunk'],
+               subway: ['railway/subway', 'railway/subway', 'railway/subway'],
+               train: ['railway/rail', 'railway/rail', 'railway/rail'],
+               tram: ['railway/tram', 'railway/tram', 'railway/tram'],
+               waterway: ['waterway/stream', 'waterway/stream', 'waterway/stream']
+           };
+
+           function render() {
+
+               var p = preset.apply(this, arguments);
+               var isFallback = isSmall() && p.isFallback && p.isFallback();
+               var geom = geometry ? geometry.apply(this, arguments) : null;
+               if (geom === 'relation' && p.tags && ((p.tags.type === 'route' && p.tags.route && routeSegements[p.tags.route]) || p.tags.type === 'waterway')) {
+                   geom = 'route';
+               }
+               var imageURL = p.imageURL;
+               var picon = imageURL ? null : getIcon(p, geom);
+               var isMaki = picon && /^maki-/.test(picon);
+               var isTemaki = picon && /^temaki-/.test(picon);
+               var isFa = picon && /^fa[srb]-/.test(picon);
+               var isTnp = picon && /^tnp-/.test(picon);
+               var isiDIcon = picon && !(isMaki || isTemaki || isFa || isTnp);
+               var isCategory = !p.setTags;
+               var drawPoint = picon && geom === 'point' && isSmall() && !isFallback;
+               var drawVertex = picon !== null && geom === 'vertex' && (!isSmall() || !isFallback);
+               var drawLine = picon && geom === 'line' && !isFallback && !isCategory;
+               var drawArea = picon && geom === 'area' && !isFallback;
+               var drawRoute = picon && geom === 'route';
+               var isFramed = (drawVertex || drawArea || drawLine || drawRoute);
+
+               var tags = !isCategory ? p.setTags({}, geom) : {};
+               for (var k in tags) {
+                   if (tags[k] === '*') {
+                       tags[k] = 'yes';
+                   }
+               }
+               var tagClasses = svgTagClasses().getClassesString(tags, '');
+
+               var selection = d3_select(this);
+
+               var container = selection.selectAll('.preset-icon-container')
+                   .data([0]);
+
+               container = container.enter()
+                   .append('div')
+                   .attr('class', 'preset-icon-container ' + sizeClass)
+                   .merge(container);
+
+               container.classed('fallback', isFallback);
+
+               var imageIcon = container.selectAll('img.image-icon')
+                   .data(imageURL ? [0] : []);
+
+               imageIcon.exit()
+                   .remove();
+
+               imageIcon = imageIcon.enter()
+                   .append('img')
+                   .attr('class', 'image-icon')
+                   .merge(imageIcon);
+
+               imageIcon
+                   .attr('src', imageURL);
+
+               var pointBorder = container.selectAll('.preset-icon-point-border')
+                   .data(drawPoint ? [0] : []);
+
+               pointBorder.exit()
+                   .remove();
+
+               var pointBorderEnter = pointBorder.enter();
+               renderPointBorder(pointBorderEnter);
+               pointBorder = pointBorderEnter.merge(pointBorder);
+
+
+               var vertexFill = container.selectAll('.preset-icon-fill-vertex')
+                   .data(drawVertex ? [0] : []);
+
+               vertexFill.exit()
+                   .remove();
+
+               var vertexFillEnter = vertexFill.enter();
+               renderCircleFill(vertexFillEnter);
+               vertexFill = vertexFillEnter.merge(vertexFill);
+
+
+               var fill = container.selectAll('.preset-icon-fill-area')
+                   .data(drawArea ? [0] : []);
+
+               fill.exit()
+                   .remove();
+
+               var fillEnter = fill.enter();
+               renderSquareFill(fillEnter);
+               fill = fillEnter.merge(fill);
+
+               fill.selectAll('path.stroke')
+                   .attr('class', 'area stroke ' + tagClasses);
+               fill.selectAll('path.fill')
+                   .attr('class', 'area fill ' + tagClasses);
+
+
+               var line = container.selectAll('.preset-icon-line')
+                   .data(drawLine ? [0] : []);
+
+               line.exit()
+                   .remove();
+
+               var lineEnter = line.enter();
+               renderLine(lineEnter);
+
+               line = lineEnter.merge(line);
+
+               line.selectAll('path.stroke')
+                   .attr('class', 'line stroke ' + tagClasses);
+               line.selectAll('path.casing')
+                   .attr('class', 'line casing ' + tagClasses);
+
+               var route = container.selectAll('.preset-icon-route')
+                   .data(drawRoute ? [0] : []);
+
+               route.exit()
+                   .remove();
+
+               var routeEnter = route.enter();
+               renderRoute(routeEnter);
+
+               route = routeEnter.merge(route);
+
+               if (drawRoute) {
+                   var routeType = p.tags.type === 'waterway' ? 'waterway' : p.tags.route;
+                   var segmentPresetIDs = routeSegements[routeType];
+                   for (var segmentIndex in segmentPresetIDs) {
+                       var segmentPreset = context.presets().item(segmentPresetIDs[segmentIndex]);
+                       var segmentTagClasses = svgTagClasses().getClassesString(segmentPreset.tags, '');
+                       route.selectAll('path.stroke.segment' + segmentIndex)
+                           .attr('class', 'segment' + segmentIndex + ' line stroke ' + segmentTagClasses);
+                       route.selectAll('path.casing.segment' + segmentIndex)
+                           .attr('class', 'segment' + segmentIndex + ' line casing ' + segmentTagClasses);
+                   }
+
+               }
+
+
+               var icon = container.selectAll('.preset-icon')
+                   .data(picon ? [0] : []);
+
+               icon.exit()
+                   .remove();
+
+               icon = icon.enter()
+                   .append('div')
+                   .attr('class', 'preset-icon')
+                   .call(svgIcon(''))
+                   .merge(icon);
+
+               icon
+                   .attr('class', 'preset-icon ' + (geom ? geom + '-geom' : ''))
+                   .classed('framed', isFramed)
+                   .classed('preset-icon-iD', isiDIcon);
+
+               icon.selectAll('svg')
+                   .attr('class', function() {
+                       return 'icon ' + picon + ' ' + (!isiDIcon && geom !== 'line'  ? '' : tagClasses);
+                   });
+
+               icon.selectAll('use')
+                   .attr('href', '#' + picon + (isMaki ? (isSmall() && geom === 'point' ? '-11' : '-15') : ''));
+
+           }
+
+
+           presetIcon.preset = function(val) {
+               if (!arguments.length) return preset;
+               preset = utilFunctor(val);
+               return presetIcon;
+           };
+
+
+           presetIcon.geometry = function(val) {
+               if (!arguments.length) return geometry;
+               geometry = utilFunctor(val);
+               return presetIcon;
+           };
+
+
+           presetIcon.sizeClass = function(val) {
+               if (!arguments.length) return sizeClass;
+               sizeClass = val;
+               return presetIcon;
+           };
+
+           return presetIcon;
+       }
+
+       function uiRawMemberEditor(context) {
+           var taginfo = services$1.taginfo;
+           var _entityID;
+           var _contentSelection = d3_select(null);
+           var _maxMembers = 1000;
+
+           function downloadMember(d) {
+               event.preventDefault();
+
+               // display the loading indicator
+               d3_select(this.parentNode).classed('tag-reference-loading', true);
+               context.loadEntity(d.id, function() {
+                   updateDisclosureContent(_contentSelection);
+               });
+           }
+
+           function zoomToMember(d) {
+               event.preventDefault();
+
+               var entity = context.entity(d.id);
+               context.map().zoomTo(entity);
+
+               // highlight the feature in case it wasn't previously on-screen
+               utilHighlightEntities([d.id], true, context);
+           }
+
+
+           function selectMember(d) {
+               event.preventDefault();
+
+               // remove the hover-highlight styling
+               utilHighlightEntities([d.id], false, context);
+
+               var entity = context.entity(d.id);
+               var mapExtent = context.map().extent();
+               if (!entity.intersects(mapExtent, context.graph())) {
+                   // zoom to the entity if its extent is not visible now
+                   context.map().zoomToEase(entity);
+               }
+
+               context.enter(modeSelect(context, [d.id]));
+           }
+
+
+           function changeRole(d) {
+               var oldRole = d.role;
+               var newRole = d3_select(this).property('value');
+
+               if (oldRole !== newRole) {
+                   var member = { id: d.id, type: d.type, role: newRole };
+                   context.perform(
+                       actionChangeMember(d.relation.id, member, d.index),
+                       t('operations.change_role.annotation')
+                   );
+               }
+           }
+
+
+           function deleteMember(d) {
+
+               // remove the hover-highlight styling
+               utilHighlightEntities([d.id], false, context);
+
+               context.perform(
+                   actionDeleteMember(d.relation.id, d.index),
+                   t('operations.delete_member.annotation')
+               );
+
+               if (!context.hasEntity(d.relation.id)) {
+                   context.enter(modeBrowse(context));
+               }
+           }
+
+           function updateDisclosureContent(selection) {
+               _contentSelection = selection;
+
+               var memberships = [];
+               var entity = context.entity(_entityID);
+               entity.members.slice(0, _maxMembers).forEach(function(member, index) {
+                   memberships.push({
+                       index: index,
+                       id: member.id,
+                       type: member.type,
+                       role: member.role,
+                       relation: entity,
+                       member: context.hasEntity(member.id)
+                   });
+               });
+
+               var list = selection.selectAll('.member-list')
+                   .data([0]);
+
+               list = list.enter()
+                   .append('ul')
+                   .attr('class', 'member-list')
+                   .merge(list);
+
+
+               var items = list.selectAll('li')
+                   .data(memberships, function(d) {
+                       return osmEntity.key(d.relation) + ',' + d.index + ',' +
+                           (d.member ? osmEntity.key(d.member) : 'incomplete');
+                   });
+
+               items.exit()
+                   .each(unbind)
+                   .remove();
+
+               var itemsEnter = items.enter()
+                   .append('li')
+                   .attr('class', 'member-row form-field')
+                   .classed('member-incomplete', function(d) { return !d.member; });
+
+               itemsEnter
+                   .each(function(d) {
+                       var item = d3_select(this);
+
+                       var label = item
+                           .append('label')
+                           .attr('class', 'field-label');
+
+                       if (d.member) {
+                           // highlight the member feature in the map while hovering on the list item
+                           item
+                               .on('mouseover', function() {
+                                   utilHighlightEntities([d.id], true, context);
+                               })
+                               .on('mouseout', function() {
+                                   utilHighlightEntities([d.id], false, context);
+                               });
+
+                           var labelLink = label
+                               .append('span')
+                               .attr('class', 'label-text')
+                               .append('a')
+                               .attr('href', '#')
+                               .on('click', selectMember);
+
+                           labelLink
+                               .append('span')
+                               .attr('class', 'member-entity-type')
+                               .text(function(d) {
+                                   var matched = context.presets().match(d.member, context.graph());
+                                   return (matched && matched.name()) || utilDisplayType(d.member.id);
+                               });
+
+                           labelLink
+                               .append('span')
+                               .attr('class', 'member-entity-name')
+                               .text(function(d) { return utilDisplayName(d.member); });
+
+                           label
+                               .append('button')
+                               .attr('class', 'member-zoom')
+                               .attr('title', t('icons.zoom_to'))
+                               .attr('tabindex', -1)
+                               .call(svgIcon('#iD-icon-geolocate'))
+                               .on('click', zoomToMember);
+
+                       } else {
+                           var labelText = label
+                               .append('span')
+                               .attr('class', 'label-text');
+
+                           labelText
+                               .append('span')
+                               .attr('class', 'member-entity-type')
+                               .text(t('inspector.' + d.type, { id: d.id }));
+
+                           labelText
+                               .append('span')
+                               .attr('class', 'member-entity-name')
+                               .text(t('inspector.incomplete', { id: d.id }));
+
+                           label
+                               .append('button')
+                               .attr('class', 'member-download')
+                               .attr('title', t('icons.download'))
+                               .attr('tabindex', -1)
+                               .call(svgIcon('#iD-icon-load'))
+                               .on('click', downloadMember);
+                       }
+                   });
+
+               var wrapEnter = itemsEnter
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-member');
+
+               wrapEnter
+                   .append('input')
+                   .attr('class', 'member-role')
+                   .property('type', 'text')
+                   .attr('maxlength', 255)
+                   .attr('placeholder', t('inspector.role'))
+                   .call(utilNoAuto);
+
+               wrapEnter
+                   .append('button')
+                   .attr('tabindex', -1)
+                   .attr('title', t('icons.remove'))
+                   .attr('class', 'remove form-field-button member-delete')
+                   .call(svgIcon('#iD-operation-delete'));
+
+               if (taginfo) {
+                   wrapEnter.each(bindTypeahead);
+               }
+
+               var dragOrigin, targetIndex;
+
+               itemsEnter.call(d3_drag()
+                   .on('start', function() {
+                       dragOrigin = {
+                           x: event.x,
+                           y: event.y
+                       };
+                       targetIndex = null;
+                   })
+                   .on('drag', function(d, index) {
+                       var x = event.x - dragOrigin.x,
+                           y = event.y - dragOrigin.y;
+
+                       if (!d3_select(this).classed('dragging') &&
+                           // don't display drag until dragging beyond a distance threshold
+                           Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)) <= 5) return;
+
+                       d3_select(this)
+                           .classed('dragging', true);
+
+                       targetIndex = null;
+
+                       selection.selectAll('li.member-row')
+                           .style('transform', function(d2, index2) {
+                               var node = d3_select(this).node();
+                               if (index === index2) {
+                                   return 'translate(' + x + 'px, ' + y + 'px)';
+                               } else if (index2 > index && event.y > node.offsetTop - node.offsetHeight) {
+                                   if (targetIndex === null || index2 > targetIndex) {
+                                       targetIndex = index2;
+                                   }
+                                   return 'translateY(-100%)';
+                               } else if (index2 < index && event.y < node.offsetTop) {
+                                   if (targetIndex === null || index2 < targetIndex) {
+                                       targetIndex = index2;
+                                   }
+                                   return 'translateY(100%)';
+                               }
+                               return null;
+                           });
+                   })
+                   .on('end', function(d, index) {
+
+                       if (!d3_select(this).classed('dragging')) {
+                           return;
+                       }
+
+                       d3_select(this)
+                           .classed('dragging', false);
+
+                       selection.selectAll('li.member-row')
+                           .style('transform', null);
+
+                       if (targetIndex !== null) {
+                           // dragged to a new position, reorder
+                           context.perform(
+                               actionMoveMember(d.relation.id, index, targetIndex),
+                               t('operations.reorder_members.annotation')
+                           );
+                       }
+                   })
+               );
+
+
+               // update
+               items = items
+                   .merge(itemsEnter);
+
+               items.select('input.member-role')
+                   .property('value', function(d) { return d.role; })
+                   .on('blur', changeRole)
+                   .on('change', changeRole);
+
+               items.select('button.member-delete')
+                   .on('click', deleteMember);
+
+
+
+               function bindTypeahead(d) {
+                   var row = d3_select(this);
+                   var role = row.selectAll('input.member-role');
+                   var origValue = role.property('value');
+
+                   function sort(value, data) {
+                       var sameletter = [];
+                       var other = [];
+                       for (var i = 0; i < data.length; i++) {
+                           if (data[i].value.substring(0, value.length) === value) {
+                               sameletter.push(data[i]);
+                           } else {
+                               other.push(data[i]);
+                           }
+                       }
+                       return sameletter.concat(other);
+                   }
+
+                   role.call(uiCombobox(context, 'member-role')
+                       .fetcher(function(role, callback) {
+                           // The `geometry` param is used in the `taginfo.js` interface for
+                           // filtering results, as a key into the `tag_members_fractions`
+                           // object.  If we don't know the geometry because the member is
+                           // not yet downloaded, it's ok to guess based on type.
+                           var geometry;
+                           if (d.member) {
+                               geometry = context.geometry(d.member.id);
+                           } else if (d.type === 'relation') {
+                               geometry = 'relation';
+                           } else if (d.type === 'way') {
+                               geometry = 'line';
+                           } else {
+                               geometry = 'point';
+                           }
+
+                           var rtype = entity.tags.type;
+                           taginfo.roles({
+                               debounce: true,
+                               rtype: rtype || '',
+                               geometry: geometry,
+                               query: role
+                           }, function(err, data) {
+                               if (!err) callback(sort(role, data));
+                           });
+                       })
+                       .on('cancel', function() {
+                           role.property('value', origValue);
+                       })
+                   );
+               }
+
+
+               function unbind() {
+                   var row = d3_select(this);
+
+                   row.selectAll('input.member-role')
+                       .call(uiCombobox.off);
+               }
+           }
+
+           function rawMemberEditor(selection) {
+               var entity = context.entity(_entityID);
+
+               var gt = entity.members.length > _maxMembers ? '>' : '';
+               selection.call(uiDisclosure(context, 'raw_member_editor', true)
+                   .title(t('inspector.all_members') + ' (' + gt + entity.members.slice(0, _maxMembers).length + ')')
+                   .expanded(true)
+                   .updatePreference(false)
+                   .on('toggled', function(expanded) {
+                       if (expanded) {
+                           selection.node().parentNode.scrollTop += 200;
+                       }
+                   })
+                   .content(updateDisclosureContent)
+               );
+           }
+
+           rawMemberEditor.entityID = function(val) {
+               if (!arguments.length) return _entityID;
+               _entityID = val;
+               return rawMemberEditor;
+           };
+
+
+           return rawMemberEditor;
+       }
+
+       function uiRawMembershipEditor(context) {
+           var taginfo = services$1.taginfo;
+           var nearbyCombo = uiCombobox(context, 'parent-relation')
+               .minItems(1)
+               .fetcher(fetchNearbyRelations);
+           var _inChange = false;
+           var _entityID;
+           var _showBlank;
+
+
+           function selectRelation(d) {
+               event.preventDefault();
+
+               // remove the hover-highlight styling
+               utilHighlightEntities([d.relation.id], false, context);
+
+               context.enter(modeSelect(context, [d.relation.id]));
+           }
+
+
+           function changeRole(d) {
+               if (d === 0) return;    // called on newrow (shoudn't happen)
+               if (_inChange) return;  // avoid accidental recursive call #5731
+
+               var oldRole = d.member.role;
+               var newRole = d3_select(this).property('value');
+
+               if (oldRole !== newRole) {
+                   _inChange = true;
+                   context.perform(
+                       actionChangeMember(d.relation.id, Object.assign({}, d.member, { role: newRole }), d.index),
+                       t('operations.change_role.annotation')
+                   );
+               }
+               _inChange = false;
+           }
+
+
+           function addMembership(d, role) {
+               this.blur();           // avoid keeping focus on the button
+               _showBlank = false;
+
+               var member = { id: _entityID, type: context.entity(_entityID).type, role: role };
+
+               if (d.relation) {
+                   context.perform(
+                       actionAddMember(d.relation.id, member),
+                       t('operations.add_member.annotation')
+                   );
+
+               } else {
+                   var relation = osmRelation();
+                   context.perform(
+                       actionAddEntity(relation),
+                       actionAddMember(relation.id, member),
+                       t('operations.add.annotation.relation')
+                   );
+
+                   context.enter(modeSelect(context, [relation.id]).newFeature(true));
+               }
+           }
+
+
+           function deleteMembership(d) {
+               this.blur();           // avoid keeping focus on the button
+               if (d === 0) return;   // called on newrow (shoudn't happen)
+
+               // remove the hover-highlight styling
+               utilHighlightEntities([d.relation.id], false, context);
+
+               context.perform(
+                   actionDeleteMember(d.relation.id, d.index),
+                   t('operations.delete_member.annotation')
+               );
+           }
+
+
+           function fetchNearbyRelations(q, callback) {
+               var newRelation = { relation: null, value: t('inspector.new_relation') };
+               var result = [];
+               var graph = context.graph();
+
+               context.intersects(context.extent()).forEach(function(entity) {
+                   if (entity.type !== 'relation' || entity.id === _entityID) return;
+
+                   var matched = context.presets().match(entity, graph);
+                   var presetName = (matched && matched.name()) || t('inspector.relation');
+                   var entityName = utilDisplayName(entity) || '';
+
+                   var value = presetName + ' ' + entityName;
+                   if (q && value.toLowerCase().indexOf(q.toLowerCase()) === -1) return;
+
+                   result.push({ relation: entity, value: value });
+               });
+
+               result.sort(function(a, b) {
+                   return osmRelation.creationOrder(a.relation, b.relation);
+               });
+
+               // Dedupe identical names by appending relation id - see #2891
+               var dupeGroups = Object.values(utilArrayGroupBy(result, 'value'))
+                   .filter(function(v) { return v.length > 1; });
+
+               dupeGroups.forEach(function(group) {
+                   group.forEach(function(obj) {
+                       obj.value += ' ' + obj.relation.id;
+                   });
+               });
+
+               result.forEach(function(obj) {
+                   obj.title = obj.value;
+               });
+
+               result.unshift(newRelation);
+               callback(result);
+           }
+
+
+           function rawMembershipEditor(selection) {
+               var entity = context.entity(_entityID);
+               var parents = context.graph().parentRelations(entity);
+               var memberships = [];
+
+               parents.slice(0, 1000).forEach(function(relation) {
+                   relation.members.forEach(function(member, index) {
+                       if (member.id === entity.id) {
+                           memberships.push({ relation: relation, member: member, index: index });
+                       }
+                   });
+               });
+
+               var gt = parents.length > 1000 ? '>' : '';
+               selection.call(uiDisclosure(context, 'raw_membership_editor', true)
+                   .title(t('inspector.all_relations') + ' (' + gt + memberships.length + ')')
+                   .expanded(true)
+                   .updatePreference(false)
+                   .on('toggled', function(expanded) {
+                       if (expanded) { selection.node().parentNode.scrollTop += 200; }
+                   })
+                   .content(content)
+               );
+
+
+               function content(selection) {
+                   var list = selection.selectAll('.member-list')
+                       .data([0]);
+
+                   list = list.enter()
+                       .append('ul')
+                       .attr('class', 'member-list')
+                       .merge(list);
+
+
+                   var items = list.selectAll('li.member-row-normal')
+                       .data(memberships, function(d) {
+                           return osmEntity.key(d.relation) + ',' + d.index;
+                       });
+
+                   items.exit()
+                       .each(unbind)
+                       .remove();
+
+                   // Enter
+                   var itemsEnter = items.enter()
+                       .append('li')
+                       .attr('class', 'member-row member-row-normal form-field');
+
+                   // highlight the relation in the map while hovering on the list item
+                   itemsEnter.on('mouseover', function(d) {
+                           utilHighlightEntities([d.relation.id], true, context);
+                       })
+                       .on('mouseout', function(d) {
+                           utilHighlightEntities([d.relation.id], false, context);
+                       });
+
+                   var labelEnter = itemsEnter
+                       .append('label')
+                       .attr('class', 'field-label')
+                       .append('span')
+                       .attr('class', 'label-text')
+                       .append('a')
+                       .attr('href', '#')
+                       .on('click', selectRelation);
+
+                   labelEnter
+                       .append('span')
+                       .attr('class', 'member-entity-type')
+                       .text(function(d) {
+                           var matched = context.presets().match(d.relation, context.graph());
+                           return (matched && matched.name()) || t('inspector.relation');
+                       });
+
+                   labelEnter
+                       .append('span')
+                       .attr('class', 'member-entity-name')
+                       .text(function(d) { return utilDisplayName(d.relation); });
+
+                   var wrapEnter = itemsEnter
+                       .append('div')
+                       .attr('class', 'form-field-input-wrap form-field-input-member');
+
+                   wrapEnter
+                       .append('input')
+                       .attr('class', 'member-role')
+                       .property('type', 'text')
+                       .attr('maxlength', 255)
+                       .attr('placeholder', t('inspector.role'))
+                       .call(utilNoAuto)
+                       .property('value', function(d) { return d.member.role; })
+                       .on('blur', changeRole)
+                       .on('change', changeRole);
+
+                   wrapEnter
+                       .append('button')
+                       .attr('tabindex', -1)
+                       .attr('class', 'remove form-field-button member-delete')
+                       .call(svgIcon('#iD-operation-delete'))
+                       .on('click', deleteMembership);
+
+                   if (taginfo) {
+                       wrapEnter.each(bindTypeahead);
+                   }
+
+
+                   var newMembership = list.selectAll('.member-row-new')
+                       .data(_showBlank ? [0] : []);
+
+                   // Exit
+                   newMembership.exit()
+                       .remove();
+
+                   // Enter
+                   var newMembershipEnter = newMembership.enter()
+                       .append('li')
+                       .attr('class', 'member-row member-row-new form-field');
+
+                   newMembershipEnter
+                       .append('label')
+                       .attr('class', 'field-label')
+                       .append('input')
+                       .attr('placeholder', t('inspector.choose_relation'))
+                       .attr('type', 'text')
+                       .attr('class', 'member-entity-input')
+                       .call(utilNoAuto);
+
+                   var newWrapEnter = newMembershipEnter
+                       .append('div')
+                       .attr('class', 'form-field-input-wrap form-field-input-member');
+
+                   newWrapEnter
+                       .append('input')
+                       .attr('class', 'member-role')
+                       .property('type', 'text')
+                       .attr('maxlength', 255)
+                       .attr('placeholder', t('inspector.role'))
+                       .call(utilNoAuto);
+
+                   newWrapEnter
+                       .append('button')
+                       .attr('tabindex', -1)
+                       .attr('class', 'remove form-field-button member-delete')
+                       .call(svgIcon('#iD-operation-delete'))
+                       .on('click', function() {
+                           list.selectAll('.member-row-new')
+                               .remove();
+                       });
+
+                   // Update
+                   newMembership = newMembership
+                       .merge(newMembershipEnter);
+
+                   newMembership.selectAll('.member-entity-input')
+                       .on('blur', cancelEntity)   // if it wasn't accepted normally, cancel it
+                       .call(nearbyCombo
+                           .on('accept', acceptEntity)
+                           .on('cancel', cancelEntity)
+                       );
+
+
+                   // Container for the Add button
+                   var addRow = selection.selectAll('.add-row')
+                       .data([0]);
+
+                   // enter
+                   var addRowEnter = addRow.enter()
+                       .append('div')
+                       .attr('class', 'add-row');
+
+                   var addRelationButton = addRowEnter
+                       .append('button')
+                       .attr('class', 'add-relation');
+
+                   addRelationButton
+                       .call(svgIcon('#iD-icon-plus', 'light'));
+                   addRelationButton
+                       .call(tooltip().title(t('inspector.add_to_relation')).placement(textDirection === 'ltr' ? 'right' : 'left'));
+
+                   addRowEnter
+                       .append('div')
+                       .attr('class', 'space-value');   // preserve space
+
+                   addRowEnter
+                       .append('div')
+                       .attr('class', 'space-buttons');  // preserve space
+
+                   // update
+                   addRow = addRow
+                       .merge(addRowEnter);
+
+                   addRow.select('.add-relation')
+                       .on('click', function() {
+                           _showBlank = true;
+                           content(selection);
+                           list.selectAll('.member-entity-input').node().focus();
+                       });
+
+
+                   function acceptEntity(d) {
+                       if (!d) {
+                           cancelEntity();
+                           return;
+                       }
+                       var role = list.selectAll('.member-row-new .member-role').property('value');
+                       addMembership(d, role);
+                   }
+
+
+                   function cancelEntity() {
+                       var input = newMembership.selectAll('.member-entity-input');
+                       input.property('value', '');
+                   }
+
+
+                   function bindTypeahead(d) {
+                       var row = d3_select(this);
+                       var role = row.selectAll('input.member-role');
+                       var origValue = role.property('value');
+
+                       function sort(value, data) {
+                           var sameletter = [];
+                           var other = [];
+                           for (var i = 0; i < data.length; i++) {
+                               if (data[i].value.substring(0, value.length) === value) {
+                                   sameletter.push(data[i]);
+                               } else {
+                                   other.push(data[i]);
+                               }
+                           }
+                           return sameletter.concat(other);
+                       }
+
+                       role.call(uiCombobox(context, 'member-role')
+                           .fetcher(function(role, callback) {
+                               var rtype = d.relation.tags.type;
+                               taginfo.roles({
+                                   debounce: true,
+                                   rtype: rtype || '',
+                                   geometry: context.geometry(_entityID),
+                                   query: role
+                               }, function(err, data) {
+                                   if (!err) callback(sort(role, data));
+                               });
+                           })
+                           .on('cancel', function() {
+                               role.property('value', origValue);
+                           })
+                       );
+                   }
+
+
+                   function unbind() {
+                       var row = d3_select(this);
+
+                       row.selectAll('input.member-role')
+                           .call(uiCombobox.off);
+                   }
+               }
+           }
+
+
+           rawMembershipEditor.entityID = function(val) {
+               if (!arguments.length) return _entityID;
+               _entityID = val;
+               _showBlank = false;
+               return rawMembershipEditor;
+           };
+
+
+           return rawMembershipEditor;
+       }
+
+       // This currently only works with the 'restrictions' field
+       // It borrows some code from uiHelp
+
+       function uiFieldHelp(context, fieldName) {
+           var fieldHelp = {};
+           var _inspector = d3_select(null);
+           var _wrap = d3_select(null);
+           var _body = d3_select(null);
+
+           var fieldHelpKeys = {
+               restrictions: [
+                   ['about',[
+                       'about',
+                       'from_via_to',
+                       'maxdist',
+                       'maxvia'
+                   ]],
+                   ['inspecting',[
+                       'about',
+                       'from_shadow',
+                       'allow_shadow',
+                       'restrict_shadow',
+                       'only_shadow',
+                       'restricted',
+                       'only'
+                   ]],
+                   ['modifying',[
+                       'about',
+                       'indicators',
+                       'allow_turn',
+                       'restrict_turn',
+                       'only_turn'
+                   ]],
+                   ['tips',[
+                       'simple',
+                       'simple_example',
+                       'indirect',
+                       'indirect_example',
+                       'indirect_noedit'
+                   ]]
+               ]
+           };
+
+           var fieldHelpHeadings = {};
+
+           var replacements = {
+               distField: t('restriction.controls.distance'),
+               viaField: t('restriction.controls.via'),
+               fromShadow: icon('#iD-turn-shadow', 'pre-text shadow from'),
+               allowShadow: icon('#iD-turn-shadow', 'pre-text shadow allow'),
+               restrictShadow: icon('#iD-turn-shadow', 'pre-text shadow restrict'),
+               onlyShadow: icon('#iD-turn-shadow', 'pre-text shadow only'),
+               allowTurn: icon('#iD-turn-yes', 'pre-text turn'),
+               restrictTurn: icon('#iD-turn-no', 'pre-text turn'),
+               onlyTurn: icon('#iD-turn-only', 'pre-text turn')
+           };
+
+
+           // For each section, squash all the texts into a single markdown document
+           var docs = fieldHelpKeys[fieldName].map(function(key) {
+               var helpkey = 'help.field.' + fieldName + '.' + key[0];
+               var text = key[1].reduce(function(all, part) {
+                   var subkey = helpkey + '.' + part;
+                   var depth = fieldHelpHeadings[subkey];                     // is this subkey a heading?
+                   var hhh = depth ? Array(depth + 1).join('#') + ' ' : '';   // if so, prepend with some ##'s
+                   return all + hhh + t(subkey, replacements) + '\n\n';
+               }, '');
+
+               return {
+                   key: helpkey,
+                   title: t(helpkey + '.title'),
+                   html: marked(text.trim())
+               };
+           });
+
+
+           function show() {
+               updatePosition();
+
+               _body
+                   .classed('hide', false)
+                   .style('opacity', '0')
+                   .transition()
+                   .duration(200)
+                   .style('opacity', '1');
+           }
+
+
+           function hide() {
+               _body
+                   .classed('hide', true)
+                   .transition()
+                   .duration(200)
+                   .style('opacity', '0')
+                   .on('end', function () {
+                       _body.classed('hide', true);
+                   });
+           }
+
+
+           function clickHelp(index) {
+               var d = docs[index];
+               var tkeys = fieldHelpKeys[fieldName][index][1];
+
+               _body.selectAll('.field-help-nav-item')
+                   .classed('active', function(d, i) { return i === index; });
+
+               var content = _body.selectAll('.field-help-content')
+                   .html(d.html);
+
+               // class the paragraphs so we can find and style them
+               content.selectAll('p')
+                   .attr('class', function(d, i) { return tkeys[i]; });
+
+               // insert special content for certain help sections
+               if (d.key === 'help.field.restrictions.inspecting') {
+                   content
+                       .insert('img', 'p.from_shadow')
+                       .attr('class', 'field-help-image cf')
+                       .attr('src', context.imagePath('tr_inspect.gif'));
+
+               } else if (d.key === 'help.field.restrictions.modifying') {
+                   content
+                       .insert('img', 'p.allow_turn')
+                       .attr('class', 'field-help-image cf')
+                       .attr('src', context.imagePath('tr_modify.gif'));
+               }
+           }
+
+
+           fieldHelp.button = function(selection) {
+               if (_body.empty()) return;
+
+               var button = selection.selectAll('.field-help-button')
+                   .data([0]);
+
+               // enter/update
+               button.enter()
+                   .append('button')
+                   .attr('class', 'field-help-button')
+                   .attr('tabindex', -1)
+                   .call(svgIcon('#iD-icon-help'))
+                   .merge(button)
+                   .on('click', function () {
+                       event.stopPropagation();
+                       event.preventDefault();
+                       if (_body.classed('hide')) {
+                           show();
+                       } else {
+                           hide();
+                       }
+                   });
+           };
+
+
+           function updatePosition() {
+               var wrap = _wrap.node();
+               var inspector = _inspector.node();
+               var wRect = wrap.getBoundingClientRect();
+               var iRect = inspector.getBoundingClientRect();
+
+               _body
+                   .style('top', wRect.top + inspector.scrollTop - iRect.top + 'px');
+           }
+
+
+           fieldHelp.body = function(selection) {
+               // This control expects the field to have a form-field-input-wrap div
+               _wrap = selection.selectAll('.form-field-input-wrap');
+               if (_wrap.empty()) return;
+
+               // absolute position relative to the inspector, so it "floats" above the fields
+               _inspector = d3_select('#sidebar .entity-editor-pane .inspector-body');
+               if (_inspector.empty()) return;
+
+               _body = _inspector.selectAll('.field-help-body')
+                   .data([0]);
+
+               var enter = _body.enter()
+                   .append('div')
+                   .attr('class', 'field-help-body hide');   // initially hidden
+
+               var titleEnter = enter
+                   .append('div')
+                   .attr('class', 'field-help-title cf');
+
+               titleEnter
+                   .append('h2')
+                   .attr('class', ((textDirection === 'rtl') ? 'fr' : 'fl'))
+                   .text(t('help.field.' + fieldName + '.title'));
+
+               titleEnter
+                   .append('button')
+                   .attr('class', 'fr close')
+                   .on('click', function() {
+                       event.stopPropagation();
+                       event.preventDefault();
+                       hide();
+                   })
+                   .call(svgIcon('#iD-icon-close'));
+
+               var navEnter = enter
+                   .append('div')
+                   .attr('class', 'field-help-nav cf');
+
+               var titles = docs.map(function(d) { return d.title; });
+               navEnter.selectAll('.field-help-nav-item')
+                   .data(titles)
+                   .enter()
+                   .append('div')
+                   .attr('class', 'field-help-nav-item')
+                   .text(function(d) { return d; })
+                   .on('click', function(d, i) {
+                       event.stopPropagation();
+                       event.preventDefault();
+                       clickHelp(i);
+                   });
+
+               enter
+                   .append('div')
+                   .attr('class', 'field-help-content');
+
+               _body = _body
+                   .merge(enter);
+
+               clickHelp(0);
+           };
+
+
+           return fieldHelp;
+       }
+
+       function uiFieldCheck(field, context) {
+           var dispatch$1 = dispatch('change');
+           var options = field.strings && field.strings.options;
+           var values = [];
+           var texts = [];
+
+           var input = d3_select(null);
+           var text = d3_select(null);
+           var label = d3_select(null);
+           var reverser = d3_select(null);
+
+           var _impliedYes;
+           var _entityID;
+           var _value;
+
+
+           if (options) {
+               for (var k in options) {
+                   values.push(k === 'undefined' ? undefined : k);
+                   texts.push(field.t('options.' + k, { 'default': options[k] }));
+               }
+           } else {
+               values = [undefined, 'yes'];
+               texts = [t('inspector.unknown'), t('inspector.check.yes')];
+               if (field.type !== 'defaultCheck') {
+                   values.push('no');
+                   texts.push(t('inspector.check.no'));
+               }
+           }
+
+
+           // Checks tags to see whether an undefined value is "Assumed to be Yes"
+           function checkImpliedYes() {
+               _impliedYes = (field.id === 'oneway_yes');
+
+               // hack: pretend `oneway` field is a `oneway_yes` field
+               // where implied oneway tag exists (e.g. `junction=roundabout`) #2220, #1841
+               if (field.id === 'oneway') {
+                   var entity = context.entity(_entityID);
+                   for (var key in entity.tags) {
+                       if (key in osmOneWayTags && (entity.tags[key] in osmOneWayTags[key])) {
+                           _impliedYes = true;
+                           texts[0] = t('presets.fields.oneway_yes.options.undefined');
+                           break;
+                       }
+                   }
+               }
+           }
+
+
+           function reverserHidden() {
+               if (!d3_select('div.inspector-hover').empty()) return true;
+               return !(_value === 'yes' || (_impliedYes && !_value));
+           }
+
+
+           function reverserSetText(selection) {
+               var entity = context.hasEntity(_entityID);
+               if (reverserHidden() || !entity) return selection;
+
+               var first = entity.first();
+               var last = entity.isClosed() ? entity.nodes[entity.nodes.length - 2] : entity.last();
+               var pseudoDirection = first < last;
+               var icon = pseudoDirection ? '#iD-icon-forward' : '#iD-icon-backward';
+
+               selection.selectAll('.reverser-span')
+                   .text(t('inspector.check.reverser'))
+                   .call(svgIcon(icon, 'inline'));
+
+               return selection;
+           }
+
+
+           var check = function(selection) {
+               checkImpliedYes();
+
+               label = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               var enter = label.enter()
+                   .append('label')
+                   .attr('class', 'form-field-input-wrap form-field-input-check');
+
+               enter
+                   .append('input')
+                   .property('indeterminate', field.type !== 'defaultCheck')
+                   .attr('type', 'checkbox')
+                   .attr('id', 'preset-input-' + field.safeid);
+
+               enter
+                   .append('span')
+                   .text(texts[0])
+                   .attr('class', 'value');
+
+               if (field.type === 'onewayCheck') {
+                   enter
+                       .append('a')
+                       .attr('id', 'preset-input-' + field.safeid + '-reverser')
+                       .attr('class', 'reverser button' + (reverserHidden() ? ' hide' : ''))
+                       .attr('href', '#')
+                       .append('span')
+                       .attr('class', 'reverser-span');
+               }
+
+               label = label.merge(enter);
+               input = label.selectAll('input');
+               text = label.selectAll('span.value');
+
+               input
+                   .on('click', function() {
+                       event.stopPropagation();
+                       var t = {};
+                       t[field.key] = values[(values.indexOf(_value) + 1) % values.length];
+
+                       // Don't cycle through `alternating` or `reversible` states - #4970
+                       // (They are supported as translated strings, but should not toggle with clicks)
+                       if (t[field.key] === 'reversible' || t[field.key] === 'alternating') {
+                           t[field.key] = values[0];
+                       }
+
+                       dispatch$1.call('change', this, t);
+                   });
+
+               if (field.type === 'onewayCheck') {
+                   reverser = label.selectAll('.reverser');
+
+                   reverser
+                       .call(reverserSetText)
+                       .on('click', function() {
+                           event.preventDefault();
+                           event.stopPropagation();
+                           context.perform(
+                               actionReverse(_entityID),
+                               t('operations.reverse.annotation')
+                           );
+                           d3_select(this)
+                               .call(reverserSetText);
+                       });
+               }
+           };
+
+
+           check.entity = function(_) {
+               if (!arguments.length) return context.hasEntity(_entityID);
+               _entityID = _.id;
+               return check;
+           };
+
+
+           check.tags = function(tags) {
+
+               function isChecked(val) {
+                   return val !== 'no' && val !== '' && val !== undefined && val !== null;
+               }
+
+               function textFor(val) {
+                   if (val === '') val = undefined;
+                   var index = values.indexOf(val);
+                   return (index !== -1 ? texts[index] : ('"' + val + '"'));
+               }
+
+               checkImpliedYes();
+               _value = tags[field.key] && tags[field.key].toLowerCase();
+
+               if (field.type === 'onewayCheck' && (_value === '1' || _value === '-1')) {
+                   _value = 'yes';
+               }
+
+               input
+                   .property('indeterminate', field.type !== 'defaultCheck' && !_value)
+                   .property('checked', isChecked(_value));
+
+               text
+                   .text(textFor(_value));
+
+               label
+                   .classed('set', !!_value);
+
+               if (field.type === 'onewayCheck') {
+                   reverser
+                       .classed('hide', reverserHidden())
+                       .call(reverserSetText);
+               }
+           };
+
+
+           check.focus = function() {
+               input.node().focus();
+           };
+
+           return utilRebind(check, dispatch$1, 'on');
+       }
+
+       function uiFieldCombo(field, context) {
+           var dispatch$1 = dispatch('change');
+           var nominatim = services$1.geocoder;
+           var taginfo = services$1.taginfo;
+           var isMulti = (field.type === 'multiCombo');
+           var isNetwork = (field.type === 'networkCombo');
+           var isSemi = (field.type === 'semiCombo');
+           var optstrings = field.strings && field.strings.options;
+           var optarray = field.options;
+           var snake_case = (field.snake_case || (field.snake_case === undefined));
+           var caseSensitive = field.caseSensitive;
+           var combobox = uiCombobox(context, 'combo-' + field.safeid)
+               .caseSensitive(caseSensitive)
+               .minItems(isMulti || isSemi ? 1 : 2);
+           var container = d3_select(null);
+           var inputWrap = d3_select(null);
+           var input = d3_select(null);
+           var _comboData = [];
+           var _multiData = [];
+           var _entity;
+           var _country;
+
+           // ensure multiCombo field.key ends with a ':'
+           if (isMulti && /[^:]$/.test(field.key)) {
+               field.key += ':';
+           }
+
+
+           function snake(s) {
+               return s.replace(/\s+/g, '_');
+           }
+
+           function unsnake(s) {
+               return s.replace(/_+/g, ' ');
+           }
+
+           function clean(s) {
+               return s.split(';')
+                   .map(function(s) { return s.trim(); })
+                   .join(';');
+           }
+
+
+           // returns the tag value for a display value
+           // (for multiCombo, dval should be the key suffix, not the entire key)
+           function tagValue(dval) {
+               dval = clean(dval || '');
+
+               if (optstrings) {
+                   var found = _comboData.find(function(o) {
+                       return o.key && clean(o.value) === dval;
+                   });
+                   if (found) {
+                       return found.key;
+                   }
+               }
+
+               if (field.type === 'typeCombo' && !dval) {
+                   return 'yes';
+               }
+
+               return (snake_case ? snake(dval) : dval) || undefined;
+           }
+
+
+           // returns the display value for a tag value
+           // (for multiCombo, tval should be the key suffix, not the entire key)
+           function displayValue(tval) {
+               tval = tval || '';
+
+               if (optstrings) {
+                   var found = _comboData.find(function(o) {
+                       return o.key === tval && o.value;
+                   });
+                   if (found) {
+                       return found.value;
+                   }
+               }
+
+               if (field.type === 'typeCombo' && tval.toLowerCase() === 'yes') {
+                   return '';
+               }
+
+               return snake_case ? unsnake(tval) : tval;
+           }
+
+
+           // Compute the difference between arrays of objects by `value` property
+           //
+           // objectDifference([{value:1}, {value:2}, {value:3}], [{value:2}])
+           // > [{value:1}, {value:3}]
+           //
+           function objectDifference(a, b) {
+               return a.filter(function(d1) {
+                   return !b.some(function(d2) { return d1.value === d2.value; });
+               });
+           }
+
+
+           function initCombo(selection, attachTo) {
+               if (optstrings) {
+                   selection.attr('readonly', 'readonly');
+                   selection.call(combobox, attachTo);
+                   setStaticValues(setPlaceholder);
+
+               } else if (optarray) {
+                   selection.call(combobox, attachTo);
+                   setStaticValues(setPlaceholder);
+
+               } else if (taginfo) {
+                   selection.call(combobox.fetcher(setTaginfoValues), attachTo);
+                   setTaginfoValues('', setPlaceholder);
+               }
+           }
+
+
+           function setStaticValues(callback) {
+               if (!(optstrings || optarray)) return;
+
+               if (optstrings) {
+                   _comboData = Object.keys(optstrings).map(function(k) {
+                       var v = field.t('options.' + k, { 'default': optstrings[k] });
+                       return {
+                           key: k,
+                           value: v,
+                           title: v
+                       };
+                   });
+
+               } else if (optarray) {
+                   _comboData = optarray.map(function(k) {
+                       var v = snake_case ? unsnake(k) : k;
+                       return {
+                           key: k,
+                           value: v,
+                           title: v
+                       };
+                   });
+               }
+
+               combobox.data(objectDifference(_comboData, _multiData));
+               if (callback) callback(_comboData);
+           }
+
+
+           function setTaginfoValues(q, callback) {
+               var fn = isMulti ? 'multikeys' : 'values';
+               var query = (isMulti ? field.key : '') + q;
+               var hasCountryPrefix = isNetwork && _country && _country.indexOf(q.toLowerCase()) === 0;
+               if (hasCountryPrefix) {
+                   query = _country + ':';
+               }
+
+               var params = {
+                   debounce: (q !== ''),
+                   key: field.key,
+                   query: query
+               };
+
+               if (_entity) {
+                   params.geometry = context.geometry(_entity.id);
+               }
+
+               taginfo[fn](params, function(err, data) {
+                   if (err) return;
+
+                   var deprecatedValues = osmEntity.deprecatedTagValuesByKey()[field.key];
+                   if (deprecatedValues) {
+                       // don't suggest deprecated tag values
+                       data = data.filter(function(d) {
+                           return deprecatedValues.indexOf(d.value) === -1;
+                       });
+                   }
+
+                   if (hasCountryPrefix) {
+                       data = data.filter(function(d) {
+                           return d.value.toLowerCase().indexOf(_country + ':') === 0;
+                       });
+                   }
+
+                   // hide the caret if there are no suggestions
+                   container.classed('empty-combobox', data.length === 0);
+
+                   _comboData = data.map(function(d) {
+                       var k = d.value;
+                       if (isMulti) k = k.replace(field.key, '');
+                       var v = snake_case ? unsnake(k) : k;
+                       return {
+                           key: k,
+                           value: v,
+                           title: isMulti ? v : d.title
+                       };
+                   });
+
+                   _comboData = objectDifference(_comboData, _multiData);
+                   if (callback) callback(_comboData);
+               });
+           }
+
+
+           function setPlaceholder(values) {
+               var ph;
+
+               if (isMulti || isSemi) {
+                   ph = field.placeholder() || t('inspector.add');
+               } else {
+                   var vals = values
+                       .map(function(d) { return d.value; })
+                       .filter(function(s) { return s.length < 20; });
+
+                   var placeholders = vals.length > 1 ? vals : values.map(function(d) { return d.key; });
+                   ph = field.placeholder() || placeholders.slice(0, 3).join(', ');
+               }
+
+               if (!/(…|\.\.\.)$/.test(ph)) {
+                   ph += '…';
+               }
+
+               container.selectAll('input')
+                   .attr('placeholder', ph);
+           }
+
+
+           function change() {
+               var t = {};
+               var val;
+
+               if (isMulti || isSemi) {
+                   val = tagValue(utilGetSetValue(input).replace(/,/g, ';')) || '';
+                   container.classed('active', false);
+                   utilGetSetValue(input, '');
+
+                   var vals = val.split(';').filter(Boolean);
+                   if (!vals.length) return;
+
+                   if (isMulti) {
+                       utilArrayUniq(vals).forEach(function(v) {
+                           var key = field.key + v;
+                           if (_entity) {
+                               // don't set a multicombo value to 'yes' if it already has a non-'no' value
+                               // e.g. `language:de=main`
+                               var old = _entity.tags[key] || '';
+                               if (old && old.toLowerCase() !== 'no') return;
+                           }
+                           field.keys.push(key);
+                           t[key] = 'yes';
+                       });
+
+                   } else if (isSemi) {
+                       var arr = _multiData.map(function(d) { return d.key; });
+                       arr = arr.concat(vals);
+                       t[field.key] = utilArrayUniq(arr).filter(Boolean).join(';');
+                   }
+
+                   window.setTimeout(function() { input.node().focus(); }, 10);
+
+               } else {
+                   val = tagValue(utilGetSetValue(input));
+                   t[field.key] = val;
+               }
+
+               dispatch$1.call('change', this, t);
+           }
+
+
+           function removeMultikey(d) {
+               event.stopPropagation();
+               var t = {};
+               if (isMulti) {
+                   t[d.key] = undefined;
+               } else if (isSemi) {
+                   var arr = _multiData.map(function(md) {
+                       return md.key === d.key ? null : md.key;
+                   }).filter(Boolean);
+
+                   arr = utilArrayUniq(arr);
+                   t[field.key] = arr.length ? arr.join(';') : undefined;
+               }
+               dispatch$1.call('change', this, t);
+           }
+
+
+           function combo(selection) {
+               container = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               var type = (isMulti || isSemi) ? 'multicombo': 'combo';
+               container = container.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-' + type)
+                   .merge(container);
+
+               if (isMulti || isSemi) {
+                   container = container.selectAll('.chiplist')
+                       .data([0]);
+
+                   var listClass = 'chiplist';
+
+                   // Use a separate line for each value in the Destinations field
+                   // to mimic highway exit signs
+                   if (field.id === 'destination_oneway') {
+                       listClass += ' full-line-chips';
+                   }
+
+                   container = container.enter()
+                       .append('ul')
+                       .attr('class', listClass)
+                       .on('click', function() {
+                           window.setTimeout(function() { input.node().focus(); }, 10);
+                       })
+                       .merge(container);
+
+
+                   inputWrap = container.selectAll('.input-wrap')
+                       .data([0]);
+
+                   inputWrap = inputWrap.enter()
+                       .append('li')
+                       .attr('class', 'input-wrap')
+                       .merge(inputWrap);
+
+                   input = inputWrap.selectAll('input')
+                       .data([0]);
+               } else {
+                   input = container.selectAll('input')
+                       .data([0]);
+               }
+
+               input = input.enter()
+                   .append('input')
+                   .attr('type', 'text')
+                   .attr('id', 'preset-input-' + field.safeid)
+                   .call(utilNoAuto)
+                   .call(initCombo, selection)
+                   .merge(input);
+
+               if (isNetwork && nominatim && _entity) {
+                   var center = _entity.extent(context.graph()).center();
+                   nominatim.countryCode(center, function (err, code) {
+                       _country = code;
+                   });
+               }
+
+               input
+                   .on('change', change)
+                   .on('blur', change);
+
+               input
+                   .on('keydown.field', function() {
+                       switch (event.keyCode) {
+                           case 13: // ↩ Return
+                               input.node().blur(); // blurring also enters the value
+                               event.stopPropagation();
+                               break;
+                       }
+                   });
+
+               if (isMulti || isSemi) {
+                   combobox
+                       .on('accept', function() {
+                           input.node().blur();
+                           input.node().focus();
+                       });
+
+                   input
+                       .on('focus', function() { container.classed('active', true); });
+               }
+           }
+
+
+           combo.tags = function(tags) {
+               if (isMulti || isSemi) {
+                   _multiData = [];
+
+                   if (isMulti) {
+                       // Build _multiData array containing keys already set..
+                       for (var k in tags) {
+                           if (k.indexOf(field.key) !== 0) continue;
+                           var v = (tags[k] || '').toLowerCase();
+                           if (v === '' || v === 'no') continue;
+
+                           var suffix = k.substring(field.key.length);
+                           _multiData.push({
+                               key: k,
+                               value: displayValue(suffix)
+                           });
+                       }
+
+                       // Set keys for form-field modified (needed for undo and reset buttons)..
+                       field.keys = _multiData.map(function(d) { return d.key; });
+
+                   } else if (isSemi) {
+                       var arr = utilArrayUniq((tags[field.key] || '').split(';')).filter(Boolean);
+                       _multiData = arr.map(function(k) {
+                           return {
+                               key: k,
+                               value: displayValue(k)
+                           };
+                       });
+                   }
+
+                   // Exclude existing multikeys from combo options..
+                   var available = objectDifference(_comboData, _multiData);
+                   combobox.data(available);
+
+                   // Hide 'Add' button if this field uses fixed set of
+                   // translateable optstrings and they're all currently used..
+                   container.selectAll('.combobox-input, .combobox-caret')
+                       .classed('hide', optstrings && !available.length);
+
+
+                   // Render chips
+                   var chips = container.selectAll('.chips')
+                       .data(_multiData);
+
+                   chips.exit()
+                       .remove();
+
+                   var enter = chips.enter()
+                       .insert('li', '.input-wrap')
+                       .attr('class', 'chips');
+
+                   enter.append('span');
+                   enter.append('a');
+
+                   chips = chips.merge(enter);
+
+                   chips.select('span')
+                       .text(function(d) { return d.value; });
+
+                   chips.select('a')
+                       .on('click', removeMultikey)
+                       .attr('class', 'remove')
+                       .text('×');
+
+               } else {
+                   utilGetSetValue(input, displayValue(tags[field.key]));
+               }
+           };
+
+
+           combo.focus = function() {
+               input.node().focus();
+           };
+
+
+           combo.entity = function(val) {
+               if (!arguments.length) return _entity;
+               _entity = val;
+               return combo;
+           };
+
+
+           return utilRebind(combo, dispatch$1, 'on');
+       }
+
+       function uiFieldText(field, context) {
+           var dispatch$1 = dispatch('change');
+           var nominatim = services$1.geocoder;
+           var input = d3_select(null);
+           var _entity;
+
+           function i(selection) {
+               var preset = _entity && context.presets().match(_entity, context.graph());
+               var isLocked = preset && preset.suggestion && field.id === 'brand';
+               field.locked(isLocked);
+
+               var wrap = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-' + field.type)
+                   .merge(wrap);
+
+               var fieldID = 'preset-input-' + field.safeid;
+
+               input = wrap.selectAll('input')
+                   .data([0]);
+
+               input = input.enter()
+                   .append('input')
+                   .attr('type', field.type)
+                   .attr('id', fieldID)
+                   .attr('placeholder', field.placeholder() || t('inspector.unknown'))
+                   .classed(field.type, true)
+                   .call(utilNoAuto)
+                   .merge(input);
+
+               input
+                   .classed('disabled', !!isLocked)
+                   .attr('readonly', isLocked || null)
+                   .on('input', change(true))
+                   .on('blur', change())
+                   .on('change', change());
+
+
+               if (field.type === 'tel' && nominatim && _entity) {
+                   var center = _entity.extent(context.graph()).center();
+                   nominatim.countryCode(center, function (err, countryCode) {
+                       if (err || !dataPhoneFormats[countryCode]) return;
+                       wrap.selectAll('#' + fieldID)
+                           .attr('placeholder', dataPhoneFormats[countryCode]);
+                   });
+
+               } else if (field.type === 'number') {
+                   var rtl = (textDirection === 'rtl');
+
+                   input.attr('type', 'text');
+
+                   var buttons = wrap.selectAll('.increment, .decrement')
+                       .data(rtl ? [1, -1] : [-1, 1]);
+
+                   buttons.enter()
+                       .append('button')
+                       .attr('tabindex', -1)
+                       .attr('class', function(d) {
+                           var which = (d === 1 ? 'increment' : 'decrement');
+                           return 'form-field-button ' + which;
+                       })
+                       .merge(buttons)
+                       .on('click', function(d) {
+                           event.preventDefault();
+                           var raw_vals = input.node().value || '0';
+                           var vals = raw_vals.split(';');
+                           vals = vals.map(function(v) {
+                               var num = parseFloat(v.trim(), 10);
+                               return isFinite(num) ? clamped(num + d) : v.trim();
+                           });
+                           input.node().value = vals.join(';');
+                           change()();
+                       });
+               }
+           }
+
+
+           // clamp number to min/max
+           function clamped(num) {
+               if (field.minValue !== undefined) {
+                   num = Math.max(num, field.minValue);
+               }
+               if (field.maxValue !== undefined) {
+                   num = Math.min(num, field.maxValue);
+               }
+               return num;
+           }
+
+
+           function change(onInput) {
+               return function() {
+                   var t = {};
+                   var val = utilGetSetValue(input).trim() || undefined;
+
+                   if (!onInput) {
+                       if (field.type === 'number' && val !== undefined) {
+                           var vals = val.split(';');
+                           vals = vals.map(function(v) {
+                               var num = parseFloat(v.trim(), 10);
+                               return isFinite(num) ? clamped(num) : v.trim();
+                           });
+                           val = vals.join(';');
+                       }
+                       utilGetSetValue(input, val || '');
+                   }
+                   t[field.key] = val;
+                   dispatch$1.call('change', this, t, onInput);
+               };
+           }
+
+
+           i.entity = function(val) {
+               if (!arguments.length) return _entity;
+               _entity = val;
+               return i;
+           };
+
+
+           i.tags = function(tags) {
+               utilGetSetValue(input, tags[field.key] || '');
+           };
+
+
+           i.focus = function() {
+               var node = input.node();
+               if (node) node.focus();
+           };
+
+           return utilRebind(i, dispatch$1, 'on');
+       }
+
+       function uiFieldAccess(field, context) {
+           var dispatch$1 = dispatch('change');
+           var items = d3_select(null);
+
+           function access(selection) {
+               var wrap = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-' + field.type)
+                   .merge(wrap);
+
+               var list = wrap.selectAll('ul')
+                   .data([0]);
+
+               list = list.enter()
+                   .append('ul')
+                   .attr('class', 'rows')
+                   .merge(list);
+
+
+               items = list.selectAll('li')
+                   .data(field.keys);
+
+               // Enter
+               var enter = items.enter()
+                   .append('li')
+                   .attr('class', function(d) { return 'labeled-input preset-access-' + d; });
+
+               enter
+                   .append('span')
+                   .attr('class', 'label preset-label-access')
+                   .attr('for', function(d) { return 'preset-input-access-' + d; })
+                   .text(function(d) { return field.t('types.' + d); });
+
+               enter
+                   .append('div')
+                   .attr('class', 'preset-input-access-wrap')
+                   .append('input')
+                   .attr('type', 'text')
+                   .attr('class', function(d) { return 'preset-input-access preset-input-access-' + d; })
+                   .call(utilNoAuto)
+                   .each(function(d) {
+                       d3_select(this)
+                           .call(uiCombobox(context, 'access-' + d)
+                               .data(access.options(d))
+                           );
+                   });
+
+
+               // Update
+               items = items.merge(enter);
+
+               wrap.selectAll('.preset-input-access')
+                   .on('change', change)
+                   .on('blur', change);
+           }
+
+
+           function change(d) {
+               var tag = {};
+               tag[d] = utilGetSetValue(d3_select(this)) || undefined;
+               dispatch$1.call('change', this, tag);
+           }
+
+
+           access.options = function(type) {
+               var options = ['no', 'permissive', 'private', 'permit', 'destination'];
+
+               if (type !== 'access') {
+                   options.unshift('yes');
+                   options.push('designated');
+
+                   if (type === 'bicycle') {
+                       options.push('dismount');
+                   }
+               }
+
+               return options.map(function(option) {
+                   return {
+                       title: field.t('options.' + option + '.description'),
+                       value: option
+                   };
+               });
+           };
+
+
+           var placeholders = {
+               footway: {
+                   foot: 'designated',
+                   motor_vehicle: 'no'
+               },
+               steps: {
+                   foot: 'yes',
+                   motor_vehicle: 'no',
+                   bicycle: 'no',
+                   horse: 'no'
+               },
+               pedestrian: {
+                   foot: 'yes',
+                   motor_vehicle: 'no'
+               },
+               cycleway: {
+                   motor_vehicle: 'no',
+                   bicycle: 'designated'
+               },
+               bridleway: {
+                   motor_vehicle: 'no',
+                   horse: 'designated'
+               },
+               path: {
+                   foot: 'yes',
+                   motor_vehicle: 'no',
+                   bicycle: 'yes',
+                   horse: 'yes'
+               },
+               motorway: {
+                   foot: 'no',
+                   motor_vehicle: 'yes',
+                   bicycle: 'no',
+                   horse: 'no'
+               },
+               trunk: {
+                   motor_vehicle: 'yes'
+               },
+               primary: {
+                   foot: 'yes',
+                   motor_vehicle: 'yes',
+                   bicycle: 'yes',
+                   horse: 'yes'
+               },
+               secondary: {
+                   foot: 'yes',
+                   motor_vehicle: 'yes',
+                   bicycle: 'yes',
+                   horse: 'yes'
+               },
+               tertiary: {
+                   foot: 'yes',
+                   motor_vehicle: 'yes',
+                   bicycle: 'yes',
+                   horse: 'yes'
+               },
+               residential: {
+                   foot: 'yes',
+                   motor_vehicle: 'yes',
+                   bicycle: 'yes',
+                   horse: 'yes'
+               },
+               unclassified: {
+                   foot: 'yes',
+                   motor_vehicle: 'yes',
+                   bicycle: 'yes',
+                   horse: 'yes'
+               },
+               service: {
+                   foot: 'yes',
+                   motor_vehicle: 'yes',
+                   bicycle: 'yes',
+                   horse: 'yes'
+               },
+               motorway_link: {
+                   foot: 'no',
+                   motor_vehicle: 'yes',
+                   bicycle: 'no',
+                   horse: 'no'
+               },
+               trunk_link: {
+                   motor_vehicle: 'yes'
+               },
+               primary_link: {
+                   foot: 'yes',
+                   motor_vehicle: 'yes',
+                   bicycle: 'yes',
+                   horse: 'yes'
+               },
+               secondary_link: {
+                   foot: 'yes',
+                   motor_vehicle: 'yes',
+                   bicycle: 'yes',
+                   horse: 'yes'
+               },
+               tertiary_link: {
+                   foot: 'yes',
+                   motor_vehicle: 'yes',
+                   bicycle: 'yes',
+                   horse: 'yes'
+               }
+           };
+
+
+           access.tags = function(tags) {
+               utilGetSetValue(items.selectAll('.preset-input-access'),
+                   function(d) { return tags[d] || ''; })
+                   .attr('placeholder', function() {
+                       return tags.access ? tags.access : field.placeholder();
+                   });
+
+               items.selectAll('.preset-input-access-access')
+                   .attr('placeholder', 'yes');
+
+               var which = tags.highway;
+               if (!placeholders[which]) return;
+
+               var keys = Object.keys(placeholders[which]);
+               keys.forEach(function(k) {
+                   var v = placeholders[which][k];
+                   items.selectAll('.preset-input-access-' + k)
+                       .attr('placeholder', tags.access || v);
+               });
+           };
+
+
+           access.focus = function() {
+               items.selectAll('.preset-input-access')
+                   .node().focus();
+           };
+
+
+           return utilRebind(access, dispatch$1, 'on');
+       }
+
+       function uiFieldAddress(field, context) {
+           var dispatch$1 = dispatch('init', 'change');
+           var nominatim = services$1.geocoder;
+           var wrap = d3_select(null);
+           var _isInitialized = false;
+           var _entity;
+
+           function getNearStreets() {
+               var extent = _entity.extent(context.graph());
+               var l = extent.center();
+               var box = geoExtent(l).padByMeters(200);
+
+               var streets = context.intersects(box)
+                   .filter(isAddressable)
+                   .map(function(d) {
+                       var loc = context.projection([
+                           (extent[0][0] + extent[1][0]) / 2,
+                           (extent[0][1] + extent[1][1]) / 2
+                       ]);
+                       var choice = geoChooseEdge(context.childNodes(d), loc, context.projection);
+
+                       return {
+                           title: d.tags.name,
+                           value: d.tags.name,
+                           dist: choice.distance
+                       };
+                   })
+                   .sort(function(a, b) {
+                       return a.dist - b.dist;
+                   });
+
+               return utilArrayUniqBy(streets, 'value');
+
+               function isAddressable(d) {
+                   return d.tags.highway && d.tags.name && d.type === 'way';
+               }
+           }
+
+
+           function getNearCities() {
+               var extent = _entity.extent(context.graph());
+               var l = extent.center();
+               var box = geoExtent(l).padByMeters(200);
+
+               var cities = context.intersects(box)
+                   .filter(isAddressable)
+                   .map(function(d) {
+                       return {
+                           title: d.tags['addr:city'] || d.tags.name,
+                           value: d.tags['addr:city'] || d.tags.name,
+                           dist: geoSphericalDistance(d.extent(context.graph()).center(), l)
+                       };
+                   })
+                   .sort(function(a, b) {
+                       return a.dist - b.dist;
+                   });
+
+               return utilArrayUniqBy(cities, 'value');
+
+
+               function isAddressable(d) {
+                   if (d.tags.name) {
+                       if (d.tags.admin_level === '8' && d.tags.boundary === 'administrative')
+                           return true;
+                       if (d.tags.border_type === 'city')
+                           return true;
+                       if (d.tags.place === 'city' || d.tags.place === 'town' || d.tags.place === 'village')
+                           return true;
+                   }
+
+                   if (d.tags['addr:city'])
+                       return true;
+
+                   return false;
+               }
+           }
+
+           function getNearValues(key) {
+               var extent = _entity.extent(context.graph());
+               var l = extent.center();
+               var box = geoExtent(l).padByMeters(200);
+
+               var results = context.intersects(box)
+                   .filter(function hasTag(d) { return d.id !== _entity.id && d.tags[key]; })
+                   .map(function(d) {
+                       return {
+                           title: d.tags[key],
+                           value: d.tags[key],
+                           dist: geoSphericalDistance(d.extent(context.graph()).center(), l)
+                       };
+                   })
+                   .sort(function(a, b) {
+                       return a.dist - b.dist;
+                   });
+
+               return utilArrayUniqBy(results, 'value');
+           }
+
+
+           function countryCallback(err, countryCode) {
+               if (err) return;
+               countryCode = countryCode.toLowerCase();
+
+               var addressFormat;
+               for (var i = 0; i < dataAddressFormats.length; i++) {
+                   var format = dataAddressFormats[i];
+                   if (!format.countryCodes) {
+                       addressFormat = format;   // choose the default format, keep going
+                   } else if (format.countryCodes.indexOf(countryCode) !== -1) {
+                       addressFormat = format;   // choose the country format, stop here
+                       break;
+                   }
+               }
+
+               var dropdowns = addressFormat.dropdowns || [
+                   'city', 'county', 'country', 'district', 'hamlet',
+                   'neighbourhood', 'place', 'postcode', 'province',
+                   'quarter', 'state', 'street', 'subdistrict', 'suburb'
+               ];
+
+               var widths = addressFormat.widths || {
+                   housenumber: 1/3, street: 2/3,
+                   city: 2/3, state: 1/4, postcode: 1/3
+               };
+
+               function row(r) {
+                   // Normalize widths.
+                   var total = r.reduce(function(sum, key) {
+                       return sum + (widths[key] || 0.5);
+                   }, 0);
+
+                   return r.map(function(key) {
+                       return {
+                           id: key,
+                           width: (widths[key] || 0.5) / total
+                       };
+                   });
+               }
+
+               wrap.selectAll('.addr-row')
+                   .data(addressFormat.format)
+                   .enter()
+                   .append('div')
+                   .attr('class', 'addr-row')
+                   .selectAll('input')
+                   .data(row)
+                   .enter()
+                   .append('input')
+                   .property('type', 'text')
+                   .attr('placeholder', function (d) {
+                       var localkey = d.id + '!' + countryCode;
+                       var tkey = field.strings.placeholders[localkey] ? localkey : d.id;
+                       return field.t('placeholders.' + tkey);
+                   })
+                   .attr('class', function (d) { return 'addr-' + d.id; })
+                   .call(utilNoAuto)
+                   .each(addDropdown)
+                   .style('width', function (d) { return d.width * 100 + '%'; });
+
+
+               function addDropdown(d) {
+                   if (dropdowns.indexOf(d.id) === -1) return;  // not a dropdown
+
+                   var nearValues = (d.id === 'street') ? getNearStreets
+                       : (d.id === 'city') ? getNearCities
+                       : getNearValues;
+
+                   d3_select(this)
+                       .call(uiCombobox(context, 'address-' + d.id)
+                           .minItems(1)
+                           .caseSensitive(true)
+                           .fetcher(function(value, callback) {
+                               callback(nearValues('addr:' + d.id));
+                           })
+                       );
+               }
+
+               wrap.selectAll('input')
+                   .on('blur', change())
+                   .on('change', change());
+
+               wrap.selectAll('input:not(.combobox-input)')
+                   .on('input', change(true));
+
+               dispatch$1.call('init');
+               _isInitialized = true;
+           }
+
+
+           function address(selection) {
+               _isInitialized = false;
+
+               wrap = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-' + field.type)
+                   .merge(wrap);
+
+               if (nominatim && _entity) {
+                   var center = _entity.extent(context.graph()).center();
+                   nominatim.countryCode(center, countryCallback);
+               }
+           }
+
+
+           function change(onInput) {
+               return function() {
+                   var tags = {};
+
+                   wrap.selectAll('input')
+                       .each(function (field) {
+                           tags['addr:' + field.id] = this.value || undefined;
+                       });
+
+                   dispatch$1.call('change', this, tags, onInput);
+               };
+           }
+
+
+           function updateTags(tags) {
+               utilGetSetValue(wrap.selectAll('input'), function (field) {
+                   return tags['addr:' + field.id] || '';
+               });
+           }
+
+
+           address.entity = function(val) {
+               if (!arguments.length) return _entity;
+               _entity = val;
+               return address;
+           };
+
+
+           address.tags = function(tags) {
+               if (_isInitialized) {
+                   updateTags(tags);
+               } else {
+                   dispatch$1.on('init', function () {
+                       dispatch$1.on('init', null);
+                       updateTags(tags);
+                   });
+               }
+           };
+
+
+           address.focus = function() {
+               var node = wrap.selectAll('input').node();
+               if (node) node.focus();
+           };
+
+
+           return utilRebind(address, dispatch$1, 'on');
+       }
+
+       function uiFieldCycleway(field, context) {
+           var dispatch$1 = dispatch('change');
+           var items = d3_select(null);
+           var wrap = d3_select(null);
+
+           function cycleway(selection) {
+
+               function stripcolon(s) {
+                   return s.replace(':', '');
+               }
+
+
+               wrap = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-' + field.type)
+                   .merge(wrap);
+
+
+               var div = wrap.selectAll('ul')
+                   .data([0]);
+
+               div = div.enter()
+                   .append('ul')
+                   .attr('class', 'rows')
+                   .merge(div);
+
+               var keys = ['cycleway:left', 'cycleway:right'];
+
+               items = div.selectAll('li')
+                   .data(keys);
+
+               var enter = items.enter()
+                   .append('li')
+                   .attr('class', function(d) { return 'labeled-input preset-cycleway-' + stripcolon(d); });
+
+               enter
+                   .append('span')
+                   .attr('class', 'label preset-label-cycleway')
+                   .attr('for', function(d) { return 'preset-input-cycleway-' + stripcolon(d); })
+                   .text(function(d) { return field.t('types.' + d); });
+
+               enter
+                   .append('div')
+                   .attr('class', 'preset-input-cycleway-wrap')
+                   .append('input')
+                   .attr('type', 'text')
+                   .attr('class', function(d) { return 'preset-input-cycleway preset-input-' + stripcolon(d); })
+                   .call(utilNoAuto)
+                   .each(function(d) {
+                       d3_select(this)
+                           .call(uiCombobox(context, 'cycleway-' + stripcolon(d))
+                               .data(cycleway.options(d))
+                           );
+                   });
+
+
+               // Update
+               wrap.selectAll('.preset-input-cycleway')
+                   .on('change', change)
+                   .on('blur', change);
+           }
+
+
+           function change() {
+               var left = utilGetSetValue(d3_select('.preset-input-cyclewayleft'));
+               var right = utilGetSetValue(d3_select('.preset-input-cyclewayright'));
+               var tag = {};
+
+               if (left === 'none' || left === '') { left = undefined; }
+               if (right === 'none' || right === '') { right = undefined; }
+
+               // Always set both left and right as changing one can affect the other
+               tag = {
+                   cycleway: undefined,
+                   'cycleway:left': left,
+                   'cycleway:right': right
+               };
+
+               // If the left and right tags match, use the cycleway tag to tag both
+               // sides the same way
+               if (left === right) {
+                   tag = {
+                       cycleway: left,
+                       'cycleway:left': undefined,
+                       'cycleway:right': undefined
+                   };
+               }
+
+               dispatch$1.call('change', this, tag);
+           }
+
+
+           cycleway.options = function() {
+               return Object.keys(field.strings.options).map(function(option) {
+                   return {
+                       title: field.t('options.' + option + '.description'),
+                       value: option
+                   };
+               });
+           };
+
+
+           cycleway.tags = function(tags) {
+               utilGetSetValue(items.selectAll('.preset-input-cycleway'), function(d) {
+                       // If cycleway is set, always return that
+                       if (tags.cycleway) {
+                           return tags.cycleway;
+                       }
+                       return tags[d] || '';
+                   })
+                   .attr('placeholder', field.placeholder());
+           };
+
+
+           cycleway.focus = function() {
+               var node = wrap.selectAll('input').node();
+               if (node) node.focus();
+           };
+
+
+           return utilRebind(cycleway, dispatch$1, 'on');
+       }
+
+       function uiFieldLanes(field, context) {
+           var dispatch$1 = dispatch('change');
+           var LANE_WIDTH = 40;
+           var LANE_HEIGHT = 200;
+           var _entityID;
+
+           function lanes(selection) {
+               var lanesData = context.entity(_entityID).lanes();
+
+               if (!d3_select('.inspector-wrap.inspector-hidden').empty() || !selection.node().parentNode) {
+                   selection.call(lanes.off);
+                   return;
+               }
+
+               var wrap = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-' + field.type)
+                   .merge(wrap);
+
+               var surface =  wrap.selectAll('.surface')
+                   .data([0]);
+
+               var d = utilGetDimensions(wrap);
+               var freeSpace = d[0] - lanesData.lanes.length * LANE_WIDTH * 1.5 + LANE_WIDTH * 0.5;
+
+               surface = surface.enter()
+                   .append('svg')
+                   .attr('width', d[0])
+                   .attr('height', 300)
+                   .attr('class', 'surface')
+                   .merge(surface);
+
+
+               var lanesSelection = surface.selectAll('.lanes')
+                   .data([0]);
+
+               lanesSelection = lanesSelection.enter()
+                   .append('g')
+                   .attr('class', 'lanes')
+                   .merge(lanesSelection);
+
+               lanesSelection
+                   .attr('transform', function () {
+                       return 'translate(' + (freeSpace / 2) + ', 0)';
+                   });
+
+
+               var lane = lanesSelection.selectAll('.lane')
+                  .data(lanesData.lanes);
+
+               lane.exit()
+                   .remove();
+
+               var enter = lane.enter()
+                   .append('g')
+                   .attr('class', 'lane');
+
+               enter
+                   .append('g')
+                   .append('rect')
+                   .attr('y', 50)
+                   .attr('width', LANE_WIDTH)
+                   .attr('height', LANE_HEIGHT);
+
+               enter
+                   .append('g')
+                   .attr('class', 'forward')
+                   .append('text')
+                   .attr('y', 40)
+                   .attr('x', 14)
+                   .text('▲');
+
+               enter
+                   .append('g')
+                   .attr('class', 'bothways')
+                   .append('text')
+                   .attr('y', 40)
+                   .attr('x', 14)
+                   .text('▲▼');
+
+               enter
+                   .append('g')
+                   .attr('class', 'backward')
+                   .append('text')
+                   .attr('y', 40)
+                   .attr('x', 14)
+                   .text('▼');
+
+
+               lane = lane
+                   .merge(enter);
+
+               lane
+                   .attr('transform', function(d) {
+                       return 'translate(' + (LANE_WIDTH * d.index * 1.5) + ', 0)';
+                   });
+
+               lane.select('.forward')
+                   .style('visibility', function(d) {
+                       return d.direction === 'forward' ? 'visible' : 'hidden';
+                   });
+
+               lane.select('.bothways')
+                   .style('visibility', function(d) {
+                       return d.direction === 'bothways' ? 'visible' : 'hidden';
+                   });
+
+               lane.select('.backward')
+                   .style('visibility', function(d) {
+                       return d.direction === 'backward' ? 'visible' : 'hidden';
+                   });
+           }
+
+
+           lanes.entity = function(val) {
+               if (!_entityID || _entityID !== val.id) {
+                   _entityID = val.id;
+               }
+           };
+
+           lanes.tags = function() {};
+           lanes.focus = function() {};
+           lanes.off = function() {};
+
+           return utilRebind(lanes, dispatch$1, 'on');
+       }
+
+       function uiFieldLocalized(field, context) {
+           var dispatch$1 = dispatch('change', 'input');
+           var wikipedia = services$1.wikipedia;
+           var input = d3_select(null);
+           var localizedInputs = d3_select(null);
+
+           var allSuggestions = context.presets().collection.filter(function(p) {
+               return p.suggestion === true;
+           });
+
+           // reuse these combos
+           var langCombo = uiCombobox(context, 'localized-lang')
+               .fetcher(fetchLanguages)
+               .minItems(0);
+
+           var brandCombo = uiCombobox(context, 'localized-brand')
+               .canAutocomplete(false)
+               .minItems(1);
+
+           var _selection = d3_select(null);
+           var _multilingual = [];
+           var _buttonTip = tooltip()
+               .title(t('translate.translate'))
+               .placement('left');
+           var _wikiTitles;
+           var _entity;
+
+
+           function calcLocked() {
+               if (!_entity) {    // the original entity
+                   field.locked(false);
+                   return;
+               }
+
+               var latest = context.hasEntity(_entity.id);
+               if (!latest) {    // get current entity, possibly edited
+                   field.locked(false);
+                   return;
+               }
+
+               var hasOriginalName = (latest.tags.name && latest.tags.name === _entity.tags.name);
+               var hasWikidata = latest.tags.wikidata;
+               var preset = context.presets().match(latest, context.graph());
+               var isSuggestion = preset && preset.suggestion;
+               var showsBrand = preset && preset.fields
+                   .filter(function(d) { return d.id === 'brand'; }).length;
+
+               var isLocked = !!(field.id === 'name' && hasOriginalName &&
+                   (hasWikidata || (isSuggestion && !showsBrand)));
+
+               field.locked(isLocked);
+           }
+
+
+           function calcMultilingual(tags) {
+               _multilingual = [];
+               for (var k in tags) {
+                   var m = k.match(/^(.*):([a-zA-Z_-]+)$/);
+                   if (m && m[1] === field.key && m[2]) {
+                       _multilingual.push({ lang: m[2], value: tags[k] });
+                   }
+               }
+               _multilingual.reverse();
+           }
+
+
+           function localized(selection) {
+               _selection = selection;
+               calcLocked();
+               var isLocked = field.locked();
+               var entity = _entity && context.hasEntity(_entity.id);  // get latest
+               var preset = entity && context.presets().match(entity, context.graph());
+
+               var wrap = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               // enter/update
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-' + field.type)
+                   .merge(wrap);
+
+               input = wrap.selectAll('.localized-main')
+                   .data([0]);
+
+               // enter/update
+               input = input.enter()
+                   .append('input')
+                   .attr('type', 'text')
+                   .attr('id', 'preset-input-' + field.safeid)
+                   .attr('class', 'localized-main')
+                   .attr('placeholder', field.placeholder())
+                   .call(utilNoAuto)
+                   .merge(input);
+
+               if (preset && field.id === 'name') {
+                   var pTag = preset.id.split('/', 2);
+                   var pKey = pTag[0];
+                   var pValue = pTag[1];
+
+                   if (!preset.suggestion) {
+                       // Not a suggestion preset - Add a suggestions dropdown if it makes sense to.
+                       // This code attempts to determine if the matched preset is the
+                       // kind of preset that even can benefit from name suggestions..
+                       // - true = shops, cafes, hotels, etc. (also generic and fallback presets)
+                       // - false = churches, parks, hospitals, etc. (things not in the index)
+                       var isFallback = preset.isFallback();
+                       var goodSuggestions = allSuggestions.filter(function(s) {
+                           if (isFallback) return true;
+                           var sTag = s.id.split('/', 2);
+                           var sKey = sTag[0];
+                           var sValue = sTag[1];
+                           return pKey === sKey && (!pValue || pValue === sValue);
+                       });
+
+                       // Show the suggestions.. If the user picks one, change the tags..
+                       if (allSuggestions.length && goodSuggestions.length) {
+                           input
+                               .on('blur.localized', checkBrandOnBlur)
+                               .call(brandCombo
+                                   .fetcher(fetchBrandNames(preset, allSuggestions))
+                                   .on('accept', acceptBrand)
+                                   .on('cancel', cancelBrand)
+                               );
+                       }
+                   }
+               }
+
+               input
+                   .classed('disabled', !!isLocked)
+                   .attr('readonly', isLocked || null)
+                   .on('input', change(true))
+                   .on('blur', change())
+                   .on('change', change());
+
+
+               var translateButton = wrap.selectAll('.localized-add')
+                   .data([0]);
+
+               translateButton = translateButton.enter()
+                   .append('button')
+                   .attr('class', 'localized-add form-field-button')
+                   .attr('tabindex', -1)
+                   .call(svgIcon('#iD-icon-plus'))
+                   .merge(translateButton);
+
+               translateButton
+                   .classed('disabled', !!isLocked)
+                   .call(isLocked ? _buttonTip.destroy : _buttonTip)
+                   .on('click', addNew);
+
+
+               if (entity && !_multilingual.length) {
+                   calcMultilingual(entity.tags);
+               }
+
+               localizedInputs = selection.selectAll('.localized-multilingual')
+                   .data([0]);
+
+               localizedInputs = localizedInputs.enter()
+                   .append('div')
+                   .attr('class', 'localized-multilingual')
+                   .merge(localizedInputs);
+
+               localizedInputs
+                   .call(renderMultilingual);
+
+               localizedInputs.selectAll('button, input')
+                   .classed('disabled', !!isLocked)
+                   .attr('readonly', isLocked || null);
+
+
+
+               // We are not guaranteed to get an `accept` or `cancel` when blurring the field.
+               // (This can happen if the user actives the combo, arrows down, and then clicks off to blur)
+               // So compare the current field value against the suggestions one last time.
+               function checkBrandOnBlur() {
+                   var latest = context.hasEntity(_entity.id);
+                   if (!latest) return;   // deleting the entity blurred the field?
+
+                   var preset = context.presets().match(latest, context.graph());
+                   if (preset && preset.suggestion) return;   // already accepted
+
+                   // note: here we are testing against "decorated" names, i.e. 'Starbucks – Cafe'
+                   var name = utilGetSetValue(input).trim();
+                   var matched = allSuggestions.filter(function(s) { return name === s.name(); });
+
+                   if (matched.length === 1) {
+                       acceptBrand({ suggestion: matched[0] });
+                   } else {
+                       cancelBrand();
+                   }
+               }
+
+
+               function acceptBrand(d) {
+                   if (!d) {
+                       cancelBrand();
+                       return;
+                   }
+
+                   var entity = context.entity(_entity.id);  // get latest
+                   var tags = entity.tags;
+                   var geometry = entity.geometry(context.graph());
+                   var removed = preset.unsetTags(tags, geometry);
+                   for (var k in tags) {
+                       tags[k] = removed[k];  // set removed tags to `undefined`
+                   }
+                   tags = d.suggestion.setTags(tags, geometry);
+                   utilGetSetValue(input, tags.name);
+                   dispatch$1.call('change', this, tags);
+               }
+
+
+               // user hit escape, clean whatever preset name appears after the last ' – '
+               function cancelBrand() {
+                   var name = utilGetSetValue(input);
+                   var clean = cleanName(name);
+                   if (clean !== name) {
+                       utilGetSetValue(input, clean);
+                       dispatch$1.call('change', this, { name: clean });
+                   }
+               }
+
+               // Remove whatever is after the last ' – '
+               // NOTE: split/join on en-dash, not a hypen (to avoid conflict with fr - nl names in Brussels etc)
+               function cleanName(name) {
+                   var parts = name.split(' – ');
+                   if (parts.length > 1) {
+                       parts.pop();
+                       name = parts.join(' – ');
+                   }
+                   return name;
+               }
+
+
+               function fetchBrandNames(preset, suggestions) {
+                   var pTag = preset.id.split('/', 2);
+                   var pKey = pTag[0];
+                   var pValue = pTag[1];
+
+                   return function(value, callback) {
+                       var results = [];
+                       if (value && value.length > 2) {
+                           for (var i = 0; i < suggestions.length; i++) {
+                               var s = suggestions[i];
+                               var sTag = s.id.split('/', 2);
+                               var sKey = sTag[0];
+                               var sValue = sTag[1];
+                               var name = s.name();
+                               var dist = utilEditDistance(value, name.substring(0, value.length));
+                               var matchesPreset = (pKey === sKey && (!pValue || pValue === sValue));
+
+                               if (dist < 1 || (matchesPreset && dist < 3)) {
+                                   var obj = {
+                                       title: name,
+                                       value: name,
+                                       suggestion: s,
+                                       dist: dist + (matchesPreset ? 0 : 1)  // penalize if not matched preset
+                                   };
+                                   results.push(obj);
+                               }
+                           }
+                           results.sort(function(a, b) { return a.dist - b.dist; });
+                       }
+                       results = results.slice(0, 10);
+                       callback(results);
+                   };
+               }
+
+
+               function addNew() {
+                   event.preventDefault();
+                   if (field.locked()) return;
+
+                   var defaultLang = utilDetect().locale.toLowerCase().split('-')[0];
+                   var langExists = _multilingual.find(function(datum) { return datum.lang === defaultLang; });
+                   var isLangEn = defaultLang.indexOf('en') > -1;
+                   if (isLangEn || langExists) {
+                       defaultLang = '';
+                   }
+                   _multilingual.push({ lang: defaultLang, value: '' });
+
+                   localizedInputs
+                       .call(renderMultilingual);
+               }
+
+
+               function change(onInput) {
+                   return function() {
+                       if (field.locked()) {
+                           event.preventDefault();
+                           return;
+                       }
+                       var t = {};
+                       t[field.key] = utilGetSetValue(d3_select(this)) || undefined;
+                       dispatch$1.call('change', this, t, onInput);
+                   };
+               }
+           }
+
+
+           function key(lang) {
+               return field.key + ':' + lang;
+           }
+
+
+           function changeLang(d) {
+               var lang = utilGetSetValue(d3_select(this));
+               var t = {};
+               var language = wikipedia$2.find(function(d) {
+                   return d[0].toLowerCase() === lang.toLowerCase() ||
+                       d[1].toLowerCase() === lang.toLowerCase();
+               });
+
+               if (language) lang = language[2];
+
+               if (d.lang && d.lang !== lang) {
+                   t[key(d.lang)] = undefined;
+               }
+
+               var value = utilGetSetValue(d3_select(this.parentNode)
+                   .selectAll('.localized-value'));
+
+               if (lang && value) {
+                   t[key(lang)] = value;
+               } else if (lang && _wikiTitles && _wikiTitles[d.lang]) {
+                   t[key(lang)] = _wikiTitles[d.lang];
+               }
+
+               d.lang = lang;
+               dispatch$1.call('change', this, t);
+           }
+
+
+           function changeValue(d) {
+               if (!d.lang) return;
+               var t = {};
+               t[key(d.lang)] = utilGetSetValue(d3_select(this)) || undefined;
+               dispatch$1.call('change', this, t);
+           }
+
+
+           function fetchLanguages(value, cb) {
+               var v = value.toLowerCase();
+
+               cb(wikipedia$2.filter(function(d) {
+                   return d[0].toLowerCase().indexOf(v) >= 0 ||
+                   d[1].toLowerCase().indexOf(v) >= 0 ||
+                   d[2].toLowerCase().indexOf(v) >= 0;
+               }).map(function(d) {
+                   return { value: d[1] };
+               }));
+           }
+
+
+           function renderMultilingual(selection) {
+               var wraps = selection.selectAll('div.entry')
+                   .data(_multilingual, function(d) { return d.lang; });
+
+               wraps.exit()
+                   .transition()
+                   .duration(200)
+                   .style('max-height', '0px')
+                   .style('opacity', '0')
+                   .style('top', '-10px')
+                   .remove();
+
+               var innerWrap = wraps.enter()
+                   .insert('div', ':first-child');
+
+               innerWrap
+                   .attr('class', 'entry')
+                   .each(function() {
+                       var wrap = d3_select(this);
+
+                       var label = wrap
+                           .append('label')
+                           .attr('class', 'field-label');
+
+                       var text = label
+                           .append('span')
+                           .attr('class', 'label-text');
+
+                       text
+                           .append('span')
+                           .attr('class', 'label-textvalue')
+                           .text(t('translate.localized_translation_label'));
+
+                       text
+                           .append('span')
+                           .attr('class', 'label-textannotation');
+
+                       label
+                           .append('button')
+                           .attr('class', 'remove-icon-multilingual')
+                           .on('click', function(d){
+                               if (field.locked()) return;
+                               event.preventDefault();
+                               var t = {};
+                               t[key(d.lang)] = undefined;
+                               dispatch$1.call('change', this, t);
+                               d3_select(this.parentNode.parentNode.parentNode)
+                                   .style('top', '0')
+                                   .style('max-height', '240px')
+                                   .transition()
+                                   .style('opacity', '0')
+                                   .style('max-height', '0px')
+                                   .remove();
+                           })
+                           .call(svgIcon('#iD-operation-delete'));
+
+                       wrap
+                           .append('input')
+                           .attr('class', 'localized-lang')
+                           .attr('type', 'text')
+                           .attr('placeholder', t('translate.localized_translation_language'))
+                           .on('blur', changeLang)
+                           .on('change', changeLang)
+                           .call(langCombo);
+
+                       wrap
+                           .append('input')
+                           .attr('type', 'text')
+                           .attr('placeholder', t('translate.localized_translation_name'))
+                           .attr('class', 'localized-value')
+                           .on('blur', changeValue)
+                           .on('change', changeValue);
+                   });
+
+               innerWrap
+                   .style('margin-top', '0px')
+                   .style('max-height', '0px')
+                   .style('opacity', '0')
+                   .transition()
+                   .duration(200)
+                   .style('margin-top', '10px')
+                   .style('max-height', '240px')
+                   .style('opacity', '1')
+                   .on('end', function() {
+                       d3_select(this)
+                           .style('max-height', '')
+                           .style('overflow', 'visible');
+                   });
+
+
+               var entry = selection.selectAll('.entry');
+
+               utilGetSetValue(entry.select('.localized-lang'), function(d) {
+                   var lang = wikipedia$2.find(function(lang) { return lang[2] === d.lang; });
+                   return lang ? lang[1] : d.lang;
+               });
+
+               utilGetSetValue(entry.select('.localized-value'),
+                   function(d) { return d.value; });
+           }
+
+
+           localized.tags = function(tags) {
+               // Fetch translations from wikipedia
+               if (tags.wikipedia && !_wikiTitles) {
+                   _wikiTitles = {};
+                   var wm = tags.wikipedia.match(/([^:]+):(.+)/);
+                   if (wm && wm[0] && wm[1]) {
+                       wikipedia.translations(wm[1], wm[2], function(err, d) {
+                           if (err || !d) return;
+                           _wikiTitles = d;
+                       });
+                   }
+               }
+
+               utilGetSetValue(input, tags[field.key] || '');
+
+               calcMultilingual(tags);
+
+               _selection
+                   .call(localized);
+           };
+
+
+           localized.focus = function() {
+               input.node().focus();
+           };
+
+
+           localized.entity = function(val) {
+               if (!arguments.length) return _entity;
+               _entity = val;
+               _multilingual = [];
+               return localized;
+           };
+
+           return utilRebind(localized, dispatch$1, 'on');
+       }
+
+       function uiFieldMaxspeed(field, context) {
+           var dispatch$1 = dispatch('change');
+           var unitInput = d3_select(null);
+           var input = d3_select(null);
+           var _entity;
+           var _isImperial;
+
+           var speedCombo = uiCombobox(context, 'maxspeed');
+           var unitCombo = uiCombobox(context, 'maxspeed-unit')
+                   .data(['km/h', 'mph'].map(comboValues));
+
+           var metricValues = [20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120];
+           var imperialValues = [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80];
+
+
+           function maxspeed(selection) {
+
+               var wrap = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-' + field.type)
+                   .merge(wrap);
+
+
+               input = wrap.selectAll('#preset-input-' + field.safeid)
+                   .data([0]);
+
+               input = input.enter()
+                   .append('input')
+                   .attr('type', 'text')
+                   .attr('id', 'preset-input-' + field.safeid)
+                   .attr('placeholder', field.placeholder())
+                   .call(utilNoAuto)
+                   .call(speedCombo)
+                   .merge(input);
+
+               input
+                   .on('change', change)
+                   .on('blur', change);
+
+               var loc;
+               if (_entity.type === 'node') {
+                   loc = _entity.loc;
+               } else {
+                   var childNodes = context.graph().childNodes(context.entity(_entity.id));
+                   loc = childNodes[~~(childNodes.length/2)].loc;
+               }
+
+               _isImperial = dataMPH.features.some(function(f) {
+                   return f.geometry.coordinates.some(function(d) {
+                       return geoPointInPolygon(loc, d);
+                   });
+               });
+
+               unitInput = wrap.selectAll('input.maxspeed-unit')
+                   .data([0]);
+
+               unitInput = unitInput.enter()
+                   .append('input')
+                   .attr('type', 'text')
+                   .attr('class', 'maxspeed-unit')
+                   .call(unitCombo)
+                   .merge(unitInput);
+
+               unitInput
+                   .on('blur', changeUnits)
+                   .on('change', changeUnits);
+
+
+               function changeUnits() {
+                   _isImperial = utilGetSetValue(unitInput) === 'mph';
+                   utilGetSetValue(unitInput, _isImperial ? 'mph' : 'km/h');
+                   setSuggestions();
+                   change();
+               }
+           }
+
+
+           function setSuggestions() {
+               speedCombo.data((_isImperial ? imperialValues : metricValues).map(comboValues));
+               utilGetSetValue(unitInput, _isImperial ? 'mph' : 'km/h');
+           }
+
+
+           function comboValues(d) {
+               return {
+                   value: d.toString(),
+                   title: d.toString()
+               };
+           }
+
+
+           function change() {
+               var tag = {};
+               var value = utilGetSetValue(input);
+
+               if (!value) {
+                   tag[field.key] = undefined;
+               } else if (isNaN(value) || !_isImperial) {
+                   tag[field.key] = value;
+               } else {
+                   tag[field.key] = value + ' mph';
+               }
+
+               dispatch$1.call('change', this, tag);
+           }
+
+
+           maxspeed.tags = function(tags) {
+               var value = tags[field.key];
+
+               if (value && value.indexOf('mph') >= 0) {
+                   value = parseInt(value, 10);
+                   _isImperial = true;
+               } else if (value) {
+                   _isImperial = false;
+               }
+
+               setSuggestions();
+               utilGetSetValue(input, value || '');
+           };
+
+
+           maxspeed.focus = function() {
+               input.node().focus();
+           };
+
+
+           maxspeed.entity = function(val) {
+               _entity = val;
+           };
+
+
+           return utilRebind(maxspeed, dispatch$1, 'on');
+       }
+
+       function uiFieldRadio(field, context) {
+           var dispatch$1 = dispatch('change');
+           var placeholder = d3_select(null);
+           var wrap = d3_select(null);
+           var labels = d3_select(null);
+           var radios = d3_select(null);
+           var radioData = (field.options || field.keys).slice();  // shallow copy
+           var typeField;
+           var layerField;
+           var _oldType = {};
+           var _entity;
+
+
+           function selectedKey() {
+               var node = wrap.selectAll('.form-field-input-radio label.active input');
+               return !node.empty() && node.datum();
+           }
+
+
+           function radio(selection) {
+               selection.classed('preset-radio', true);
+
+               wrap = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               var enter = wrap.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-radio');
+
+               enter
+                   .append('span')
+                   .attr('class', 'placeholder');
+
+               wrap = wrap
+                   .merge(enter);
+
+
+               placeholder = wrap.selectAll('.placeholder');
+
+               labels = wrap.selectAll('label')
+                   .data(radioData);
+
+               enter = labels.enter()
+                   .append('label');
+
+               enter
+                   .append('input')
+                   .attr('type', 'radio')
+                   .attr('name', field.id)
+                   .attr('value', function(d) { return field.t('options.' + d, { 'default': d }); })
+                   .attr('checked', false);
+
+               enter
+                   .append('span')
+                   .text(function(d) { return field.t('options.' + d, { 'default': d }); });
+
+               labels = labels
+                   .merge(enter);
+
+               radios = labels.selectAll('input')
+                   .on('change', changeRadio);
+
+           }
+
+
+           function structureExtras(selection, tags) {
+               var selected = selectedKey();
+               var type = context.presets().field(selected);
+               var layer = context.presets().field('layer');
+               var showLayer = (selected === 'bridge' || selected === 'tunnel');
+
+
+               var extrasWrap = selection.selectAll('.structure-extras-wrap')
+                   .data(selected ? [0] : []);
+
+               extrasWrap.exit()
+                   .remove();
+
+               extrasWrap = extrasWrap.enter()
+                   .append('div')
+                   .attr('class', 'structure-extras-wrap')
+                   .merge(extrasWrap);
+
+               var list = extrasWrap.selectAll('ul')
+                   .data([0]);
+
+               list = list.enter()
+                   .append('ul')
+                   .attr('class', 'rows')
+                   .merge(list);
+
+
+               // Type
+               if (type) {
+                   if (!typeField || typeField.id !== selected) {
+                       typeField = uiField(context, type, _entity, { wrap: false })
+                           .on('change', changeType);
+                   }
+                   typeField.tags(tags);
+               } else {
+                   typeField = null;
+               }
+
+               var typeItem = list.selectAll('.structure-type-item')
+                   .data(typeField ? [typeField] : [], function(d) { return d.id; });
+
+               // Exit
+               typeItem.exit()
+                   .remove();
+
+               // Enter
+               var typeEnter = typeItem.enter()
+                   .insert('li', ':first-child')
+                   .attr('class', 'labeled-input structure-type-item');
+
+               typeEnter
+                   .append('span')
+                   .attr('class', 'label structure-label-type')
+                   .attr('for', 'preset-input-' + selected)
+                   .text(t('inspector.radio.structure.type'));
+
+               typeEnter
+                   .append('div')
+                   .attr('class', 'structure-input-type-wrap');
+
+               // Update
+               typeItem = typeItem
+                   .merge(typeEnter);
+
+               if (typeField) {
+                   typeItem.selectAll('.structure-input-type-wrap')
+                       .call(typeField.render);
+               }
+
+
+               // Layer
+               if (layer && showLayer) {
+                   if (!layerField) {
+                       layerField = uiField(context, layer, _entity, { wrap: false })
+                           .on('change', changeLayer);
+                   }
+                   layerField.tags(tags);
+                   field.keys = utilArrayUnion(field.keys, ['layer']);
+               } else {
+                   layerField = null;
+                   field.keys = field.keys.filter(function(k) { return k !== 'layer'; });
+               }
+
+               var layerItem = list.selectAll('.structure-layer-item')
+                   .data(layerField ? [layerField] : []);
+
+               // Exit
+               layerItem.exit()
+                   .remove();
+
+               // Enter
+               var layerEnter = layerItem.enter()
+                   .append('li')
+                   .attr('class', 'labeled-input structure-layer-item');
+
+               layerEnter
+                   .append('span')
+                   .attr('class', 'label structure-label-layer')
+                   .attr('for', 'preset-input-layer')
+                   .text(t('inspector.radio.structure.layer'));
+
+               layerEnter
+                   .append('div')
+                   .attr('class', 'structure-input-layer-wrap');
+
+               // Update
+               layerItem = layerItem
+                   .merge(layerEnter);
+
+               if (layerField) {
+                   layerItem.selectAll('.structure-input-layer-wrap')
+                       .call(layerField.render);
+               }
+           }
+
+
+           function changeType(t, onInput) {
+               var key = selectedKey();
+               if (!key) return;
+
+               var val = t[key];
+               if (val !== 'no') {
+                   _oldType[key] = val;
+               }
+
+               if (field.type === 'structureRadio') {
+                   // remove layer if it should not be set
+                   if (val === 'no' ||
+                       (key !== 'bridge' && key !== 'tunnel') ||
+                       (key === 'tunnel' && val === 'building_passage')) {
+                       t.layer = undefined;
+                   }
+                   // add layer if it should be set
+                   if (t.layer === undefined) {
+                       if (key === 'bridge' && val !== 'no') {
+                           t.layer = '1';
+                       }
+                       if (key === 'tunnel' && val !== 'no' && val !== 'building_passage') {
+                           t.layer = '-1';
+                       }
+                   }
+                }
+
+               dispatch$1.call('change', this, t, onInput);
+           }
+
+
+           function changeLayer(t, onInput) {
+               if (t.layer === '0') {
+                   t.layer = undefined;
+               }
+               dispatch$1.call('change', this, t, onInput);
+           }
+
+
+           function changeRadio() {
+               var t = {};
+               var activeKey;
+
+               if (field.key) {
+                   t[field.key] = undefined;
+               }
+
+               radios.each(function(d) {
+                   var active = d3_select(this).property('checked');
+                   if (active) activeKey = d;
+
+                   if (field.key) {
+                       if (active) t[field.key] = d;
+                   } else {
+                       var val = _oldType[activeKey] || 'yes';
+                       t[d] = active ? val : undefined;
+                   }
+               });
+
+               if (field.type === 'structureRadio') {
+                   if (activeKey === 'bridge') {
+                       t.layer = '1';
+                   } else if (activeKey === 'tunnel' && t.tunnel !== 'building_passage') {
+                       t.layer = '-1';
+                   } else {
+                       t.layer = undefined;
+                   }
+               }
+
+               dispatch$1.call('change', this, t);
+           }
+
+
+           radio.tags = function(tags) {
+               function checked(d) {
+                   if (field.key) {
+                       return tags[field.key] === d;
+                   } else {
+                       return !!(tags[d] && tags[d].toLowerCase() !== 'no');
+                   }
+               }
+
+               labels.classed('active', checked);
+               radios.property('checked', checked);
+
+               var selection = radios.filter(function() { return this.checked; });
+
+               if (selection.empty()) {
+                   placeholder.text(t('inspector.none'));
+               } else {
+                   placeholder.text(selection.attr('value'));
+                   _oldType[selection.datum()] = tags[selection.datum()];
+               }
+
+               if (field.type === 'structureRadio') {
+                   // For waterways without a tunnel tag, set 'culvert' as
+                   // the _oldType to default to if the user picks 'tunnel'
+                   if (!!tags.waterway && !_oldType.tunnel) {
+                       _oldType.tunnel = 'culvert';
+                   }
+
+                   wrap.call(structureExtras, tags);
+               }
+           };
+
+
+           radio.focus = function() {
+               radios.node().focus();
+           };
+
+
+           radio.entity = function(val) {
+               if (!arguments.length) return _entity;
+               _entity = val;
+               _oldType = {};
+               return radio;
+           };
+
+
+           return utilRebind(radio, dispatch$1, 'on');
+       }
+
+       function uiFieldRestrictions(field, context) {
+           var dispatch$1 = dispatch('change');
+           var breathe = behaviorBreathe();
+           var storedViaWay = context.storage('turn-restriction-via-way');
+           var storedDistance = context.storage('turn-restriction-distance');
+
+           var _maxViaWay = storedViaWay !== null ? (+storedViaWay) : 1;
+           var _maxDistance = storedDistance ? (+storedDistance) : 30;
+           var _initialized = false;
+           var _parent = d3_select(null);       // the entire field
+           var _container = d3_select(null);    // just the map
+           var _oldTurns;
+           var _graph;
+           var _vertexID;
+           var _intersection;
+           var _fromWayID;
+
+           var _lastXPos;
+
+
+           function restrictions(selection) {
+               _parent = selection;
+
+               // try to reuse the intersection, but always rebuild it if the graph has changed
+               if (_vertexID && (context.graph() !== _graph || !_intersection)) {
+                   _graph = context.graph();
+                   _intersection = osmIntersection(_graph, _vertexID, _maxDistance);
+               }
+
+               // It's possible for there to be no actual intersection here.
+               // for example, a vertex of two `highway=path`
+               // In this case, hide the field.
+               var isOK = (
+                   _intersection &&
+                   _intersection.vertices.length &&           // has vertices
+                   _intersection.vertices                     // has the vertex that the user selected
+                       .filter(function(vertex) { return vertex.id === _vertexID; }).length &&
+                   _intersection.ways.length > 2 &&           // has more than 2 ways
+                   _intersection.ways                         // has more than 1 TO way
+                       .filter(function(way) { return way.__to; }).length > 1
+               );
+
+               // Also hide in the case where
+               d3_select(selection.node().parentNode).classed('hide', !isOK);
+
+               // if form field is hidden or has detached from dom, clean up.
+               if (!isOK ||
+                   !d3_select('.inspector-wrap.inspector-hidden').empty() ||
+                   !selection.node().parentNode ||
+                   !selection.node().parentNode.parentNode) {
+                   selection.call(restrictions.off);
+                   return;
+               }
+
+
+               var wrap = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-' + field.type)
+                   .merge(wrap);
+
+               var container = wrap.selectAll('.restriction-container')
+                   .data([0]);
+
+               // enter
+               var containerEnter = container.enter()
+                   .append('div')
+                   .attr('class', 'restriction-container');
+
+               containerEnter
+                   .append('div')
+                   .attr('class', 'restriction-help');
+
+               // update
+               _container = containerEnter
+                   .merge(container)
+                   .call(renderViewer);
+
+               var controls = wrap.selectAll('.restriction-controls')
+                   .data([0]);
+
+               // enter/update
+               controls.enter()
+                   .append('div')
+                   .attr('class', 'restriction-controls-container')
+                   .append('div')
+                   .attr('class', 'restriction-controls')
+                   .merge(controls)
+                   .call(renderControls);
+           }
+
+
+           function renderControls(selection) {
+               var distControl = selection.selectAll('.restriction-distance')
+                   .data([0]);
+
+               distControl.exit()
+                   .remove();
+
+               var distControlEnter = distControl.enter()
+                   .append('div')
+                   .attr('class', 'restriction-control restriction-distance');
+
+               distControlEnter
+                   .append('span')
+                   .attr('class', 'restriction-control-label restriction-distance-label')
+                   .text(t('restriction.controls.distance') + ':');
+
+               distControlEnter
+                   .append('input')
+                   .attr('class', 'restriction-distance-input')
+                   .attr('type', 'range')
+                   .attr('min', '20')
+                   .attr('max', '50')
+                   .attr('step', '5');
+
+               distControlEnter
+                   .append('span')
+                   .attr('class', 'restriction-distance-text');
+
+               // update
+               selection.selectAll('.restriction-distance-input')
+                   .property('value', _maxDistance)
+                   .on('input', function() {
+                       var val = d3_select(this).property('value');
+                       _maxDistance = +val;
+                       _intersection = null;
+                       _container.selectAll('.layer-osm .layer-turns *').remove();
+                       context.storage('turn-restriction-distance', _maxDistance);
+                       _parent.call(restrictions);
+                   });
+
+               selection.selectAll('.restriction-distance-text')
+                   .text(displayMaxDistance(_maxDistance));
+
+
+               var viaControl = selection.selectAll('.restriction-via-way')
+                   .data([0]);
+
+               viaControl.exit()
+                   .remove();
+
+               var viaControlEnter = viaControl.enter()
+                   .append('div')
+                   .attr('class', 'restriction-control restriction-via-way');
+
+               viaControlEnter
+                   .append('span')
+                   .attr('class', 'restriction-control-label restriction-via-way-label')
+                   .text(t('restriction.controls.via') + ':');
+
+               viaControlEnter
+                   .append('input')
+                   .attr('class', 'restriction-via-way-input')
+                   .attr('type', 'range')
+                   .attr('min', '0')
+                   .attr('max', '2')
+                   .attr('step', '1');
+
+               viaControlEnter
+                   .append('span')
+                   .attr('class', 'restriction-via-way-text');
+
+               // update
+               selection.selectAll('.restriction-via-way-input')
+                   .property('value', _maxViaWay)
+                   .on('input', function() {
+                       var val = d3_select(this).property('value');
+                       _maxViaWay = +val;
+                       _container.selectAll('.layer-osm .layer-turns *').remove();
+                       context.storage('turn-restriction-via-way', _maxViaWay);
+                       _parent.call(restrictions);
+                   });
+
+               selection.selectAll('.restriction-via-way-text')
+                   .text(displayMaxVia(_maxViaWay));
+           }
+
+
+           function renderViewer(selection) {
+               if (!_intersection) return;
+
+               var vgraph = _intersection.graph;
+               var filter = utilFunctor(true);
+               var projection = geoRawMercator();
+
+               // Reflow warning: `utilGetDimensions` calls `getBoundingClientRect`
+               // Instead of asking the restriction-container for its dimensions,
+               //  we can ask the #sidebar, which can have its dimensions cached.
+               // width: calc as sidebar - padding
+               // height: hardcoded (from `80_app.css`)
+               // var d = utilGetDimensions(selection);
+               var sdims = utilGetDimensions(d3_select('#sidebar'));
+               var d = [ sdims[0] - 50, 370 ];
+               var c = geoVecScale(d, 0.5);
+               var z = 22;
+
+               projection.scale(geoZoomToScale(z));
+
+               // Calculate extent of all key vertices
+               var extent = geoExtent();
+               for (var i = 0; i < _intersection.vertices.length; i++) {
+                   extent._extend(_intersection.vertices[i].extent());
+               }
+
+               // If this is a large intersection, adjust zoom to fit extent
+               if (_intersection.vertices.length > 1) {
+                   var padding = 180;   // in z22 pixels
+                   var tl = projection([extent[0][0], extent[1][1]]);
+                   var br = projection([extent[1][0], extent[0][1]]);
+                   var hFactor = (br[0] - tl[0]) / (d[0] - padding);
+                   var vFactor = (br[1] - tl[1]) / (d[1] - padding);
+                   var hZoomDiff = Math.log(Math.abs(hFactor)) / Math.LN2;
+                   var vZoomDiff = Math.log(Math.abs(vFactor)) / Math.LN2;
+                   z = z - Math.max(hZoomDiff, vZoomDiff);
+                   projection.scale(geoZoomToScale(z));
+               }
+
+               var padTop = 35;   // reserve top space for hint text
+               var extentCenter = projection(extent.center());
+               extentCenter[1] = extentCenter[1] - padTop;
+
+               projection
+                   .translate(geoVecSubtract(c, extentCenter))
+                   .clipExtent([[0, 0], d]);
+
+               var drawLayers = svgLayers(projection, context).only(['osm','touch']).dimensions(d);
+               var drawVertices = svgVertices(projection, context);
+               var drawLines = svgLines(projection, context);
+               var drawTurns = svgTurns(projection, context);
+
+               var firstTime = selection.selectAll('.surface').empty();
+
+               selection
+                   .call(drawLayers);
+
+               var surface = selection.selectAll('.surface')
+                   .classed('tr', true);
+
+               if (firstTime) {
+                   _initialized = true;
+
+                   surface
+                       .call(breathe);
+               }
+
+               // This can happen if we've lowered the detail while a FROM way
+               // is selected, and that way is no longer part of the intersection.
+               if (_fromWayID && !vgraph.hasEntity(_fromWayID)) {
+                   _fromWayID = null;
+                   _oldTurns = null;
+               }
+
+               surface
+                   .call(utilSetDimensions, d)
+                   .call(drawVertices, vgraph, _intersection.vertices, filter, extent, z)
+                   .call(drawLines, vgraph, _intersection.ways, filter)
+                   .call(drawTurns, vgraph, _intersection.turns(_fromWayID, _maxViaWay));
+
+               surface
+                   .on('click.restrictions', click)
+                   .on('mouseover.restrictions', mouseover);
+
+               surface
+                   .selectAll('.selected')
+                   .classed('selected', false);
+
+               surface
+                   .selectAll('.related')
+                   .classed('related', false);
+
+               if (_fromWayID) {
+                   var way = vgraph.entity(_fromWayID);
+                   surface
+                       .selectAll('.' + _fromWayID)
+                       .classed('selected', true)
+                       .classed('related', true);
+               }
+
+               document.addEventListener('resizeWindow', function () {
+                   utilSetDimensions(_container, null);
+                   redraw(1);
+               }, false);
+
+               updateHints(null);
+
+
+               function click() {
+                   surface
+                       .call(breathe.off)
+                       .call(breathe);
+
+                   var datum = event.target.__data__;
+                   var entity = datum && datum.properties && datum.properties.entity;
+                   if (entity) {
+                       datum = entity;
+                   }
+
+                   if (datum instanceof osmWay && (datum.__from || datum.__via)) {
+                       _fromWayID = datum.id;
+                       _oldTurns = null;
+                       redraw();
+
+                   } else if (datum instanceof osmTurn) {
+                       var actions, extraActions, turns, i;
+                       var restrictionType = osmInferRestriction(vgraph, datum, projection);
+
+                       if (datum.restrictionID && !datum.direct) {
+                           return;
+
+                       } else if (datum.restrictionID && !datum.only) {    // NO -> ONLY
+                           var seen = {};
+                           var datumOnly = JSON.parse(JSON.stringify(datum));   // deep clone the datum
+                           datumOnly.only = true;                               // but change this property
+                           restrictionType = restrictionType.replace(/^no/, 'only');
+
+                           // Adding an ONLY restriction should destroy all other direct restrictions from the FROM towards the VIA.
+                           // We will remember them in _oldTurns, and restore them if the user clicks again.
+                           turns = _intersection.turns(_fromWayID, 2);
+                           extraActions = [];
+                           _oldTurns = [];
+                           for (i = 0; i < turns.length; i++) {
+                               var turn = turns[i];
+                               if (seen[turn.restrictionID]) continue;  // avoid deleting the turn twice (#4968, #4928)
+
+                               if (turn.direct && turn.path[1] === datum.path[1]) {
+                                   seen[turns[i].restrictionID] = true;
+                                   turn.restrictionType = osmInferRestriction(vgraph, turn, projection);
+                                   _oldTurns.push(turn);
+                                   extraActions.push(actionUnrestrictTurn(turn));
+                               }
+                           }
+
+                           actions = _intersection.actions.concat(extraActions, [
+                               actionRestrictTurn(datumOnly, restrictionType),
+                               t('operations.restriction.annotation.create')
+                           ]);
+
+                       } else if (datum.restrictionID) {   // ONLY -> Allowed
+                           // Restore whatever restrictions we might have destroyed by cycling thru the ONLY state.
+                           // This relies on the assumption that the intersection was already split up when we
+                           // performed the previous action (NO -> ONLY), so the IDs in _oldTurns shouldn't have changed.
+                           turns = _oldTurns || [];
+                           extraActions = [];
+                           for (i = 0; i < turns.length; i++) {
+                               if (turns[i].key !== datum.key) {
+                                   extraActions.push(actionRestrictTurn(turns[i], turns[i].restrictionType));
+                               }
+                           }
+                           _oldTurns = null;
+
+                           actions = _intersection.actions.concat(extraActions, [
+                               actionUnrestrictTurn(datum),
+                               t('operations.restriction.annotation.delete')
+                           ]);
+
+                       } else {    // Allowed -> NO
+                           actions = _intersection.actions.concat([
+                               actionRestrictTurn(datum, restrictionType),
+                               t('operations.restriction.annotation.create')
+                           ]);
+                       }
+
+                       context.perform.apply(context, actions);
+
+                       // At this point the datum will be changed, but will have same key..
+                       // Refresh it and update the help..
+                       var s = surface.selectAll('.' + datum.key);
+                       datum = s.empty() ? null : s.datum();
+                       updateHints(datum);
+
+                   } else {
+                       _fromWayID = null;
+                       _oldTurns = null;
+                       redraw();
+                   }
+               }
+
+
+               function mouseover() {
+                   var datum = event.target.__data__;
+                   updateHints(datum);
+               }
+
+               _lastXPos = _lastXPos || sdims[0];
+
+               function redraw(minChange) {
+                   var xPos = -1;
+
+                   if (minChange) {
+                       xPos = utilGetDimensions(d3_select('#sidebar'))[0];
+                   }
+
+                   if (!minChange || (minChange && Math.abs(xPos - _lastXPos) >= minChange)) {
+                       if (context.hasEntity(_vertexID)) {
+                           _lastXPos = xPos;
+                           _container.call(renderViewer);
+                       }
+                   }
+               }
+
+
+               function highlightPathsFrom(wayID) {
+                   surface.selectAll('.related')
+                       .classed('related', false)
+                       .classed('allow', false)
+                       .classed('restrict', false)
+                       .classed('only', false);
+
+                   surface.selectAll('.' + wayID)
+                       .classed('related', true);
+
+                   if (wayID) {
+                       var turns = _intersection.turns(wayID, _maxViaWay);
+                       for (var i = 0; i < turns.length; i++) {
+                           var turn = turns[i];
+                           var ids = [turn.to.way];
+                           var klass = (turn.no ? 'restrict' : (turn.only ? 'only' : 'allow'));
+
+                           if (turn.only || turns.length === 1) {
+                               if (turn.via.ways) {
+                                   ids = ids.concat(turn.via.ways);
+                               }
+                           } else if (turn.to.way === wayID) {
+                               continue;
+                           }
+
+                           surface.selectAll(utilEntitySelector(ids))
+                               .classed('related', true)
+                               .classed('allow', (klass === 'allow'))
+                               .classed('restrict', (klass === 'restrict'))
+                               .classed('only', (klass === 'only'));
+                       }
+                   }
+               }
+
+
+               function updateHints(datum) {
+                   var help = _container.selectAll('.restriction-help').html('');
+
+                   var placeholders = {};
+                   ['from', 'via', 'to'].forEach(function(k) {
+                       placeholders[k] = '<span class="qualifier">' + t('restriction.help.' + k) + '</span>';
+                   });
+
+                   var entity = datum && datum.properties && datum.properties.entity;
+                   if (entity) {
+                       datum = entity;
+                   }
+
+                   if (_fromWayID) {
+                       way = vgraph.entity(_fromWayID);
+                       surface
+                           .selectAll('.' + _fromWayID)
+                           .classed('selected', true)
+                           .classed('related', true);
+                   }
+
+                   // Hovering a way
+                   if (datum instanceof osmWay && datum.__from) {
+                       way = datum;
+
+                       highlightPathsFrom(_fromWayID ? null : way.id);
+                       surface.selectAll('.' + way.id)
+                           .classed('related', true);
+
+                       var clickSelect = (!_fromWayID || _fromWayID !== way.id);
+                       help
+                           .append('div')      // "Click to select FROM {fromName}." / "FROM {fromName}"
+                           .html(t('restriction.help.' + (clickSelect ? 'select_from_name' : 'from_name'), {
+                               from: placeholders.from,
+                               fromName: displayName(way.id, vgraph)
+                           }));
+
+
+                   // Hovering a turn arrow
+                   } else if (datum instanceof osmTurn) {
+                       var restrictionType = osmInferRestriction(vgraph, datum, projection);
+                       var turnType = restrictionType.replace(/^(only|no)\_/, '');
+                       var indirect = (datum.direct === false ? t('restriction.help.indirect') : '');
+                       var klass, turnText, nextText;
+
+                       if (datum.no) {
+                           klass = 'restrict';
+                           turnText = t('restriction.help.turn.no_' + turnType, { indirect: indirect });
+                           nextText = t('restriction.help.turn.only_' + turnType, { indirect: '' });
+                       } else if (datum.only) {
+                           klass = 'only';
+                           turnText = t('restriction.help.turn.only_' + turnType, { indirect: indirect });
+                           nextText = t('restriction.help.turn.allowed_' + turnType, { indirect: '' });
+                       } else {
+                           klass = 'allow';
+                           turnText = t('restriction.help.turn.allowed_' + turnType, { indirect: indirect });
+                           nextText = t('restriction.help.turn.no_' + turnType, { indirect: '' });
+                       }
+
+                       help
+                           .append('div')      // "NO Right Turn (indirect)"
+                           .attr('class', 'qualifier ' + klass)
+                           .text(turnText);
+
+                       help
+                           .append('div')      // "FROM {fromName} TO {toName}"
+                           .html(t('restriction.help.from_name_to_name', {
+                               from: placeholders.from,
+                               fromName: displayName(datum.from.way, vgraph),
+                               to: placeholders.to,
+                               toName: displayName(datum.to.way, vgraph)
+                           }));
+
+                       if (datum.via.ways && datum.via.ways.length) {
+                           var names = [];
+                           for (var i = 0; i < datum.via.ways.length; i++) {
+                               var prev = names[names.length - 1];
+                               var curr = displayName(datum.via.ways[i], vgraph);
+                               if (!prev || curr !== prev)   // collapse identical names
+                                   names.push(curr);
+                           }
+
+                           help
+                               .append('div')      // "VIA {viaNames}"
+                               .html(t('restriction.help.via_names', {
+                                   via: placeholders.via,
+                                   viaNames: names.join(', ')
+                               }));
+                       }
+
+                       if (!indirect) {
+                           help
+                               .append('div')      // Click for "No Right Turn"
+                               .text(t('restriction.help.toggle', { turn: nextText.trim() }));
+                       }
+
+                       highlightPathsFrom(null);
+                       var alongIDs = datum.path.slice();
+                       surface.selectAll(utilEntitySelector(alongIDs))
+                           .classed('related', true)
+                           .classed('allow', (klass === 'allow'))
+                           .classed('restrict', (klass === 'restrict'))
+                           .classed('only', (klass === 'only'));
+
+
+                   // Hovering empty surface
+                   } else {
+                       highlightPathsFrom(null);
+                       if (_fromWayID) {
+                           help
+                               .append('div')      // "FROM {fromName}"
+                               .html(t('restriction.help.from_name', {
+                                   from: placeholders.from,
+                                   fromName: displayName(_fromWayID, vgraph)
+                               }));
+
+                       } else {
+                           help
+                               .append('div')      // "Click to select a FROM segment."
+                               .html(t('restriction.help.select_from', {
+                                   from: placeholders.from
+                               }));
+                       }
+                   }
+               }
+           }
+
+
+           function displayMaxDistance(maxDist) {
+               var isImperial = (utilDetect().locale.toLowerCase() === 'en-us');
+               var opts;
+
+               if (isImperial) {
+                   var distToFeet = {   // imprecise conversion for prettier display
+                       20: 70, 25: 85, 30: 100, 35: 115, 40: 130, 45: 145, 50: 160
+                   }[maxDist];
+                   opts = { distance: t('units.feet', { quantity: distToFeet }) };
+               } else {
+                   opts = { distance: t('units.meters', { quantity: maxDist }) };
+               }
+
+               return t('restriction.controls.distance_up_to', opts);
+           }
+
+
+           function displayMaxVia(maxVia) {
+               return maxVia === 0 ? t('restriction.controls.via_node_only')
+                   : maxVia === 1 ? t('restriction.controls.via_up_to_one')
+                   : t('restriction.controls.via_up_to_two');
+           }
+
+
+           function displayName(entityID, graph) {
+               var entity = graph.entity(entityID);
+               var name = utilDisplayName(entity) || '';
+               var matched = context.presets().match(entity, graph);
+               var type = (matched && matched.name()) || utilDisplayType(entity.id);
+               return name || type;
+           }
+
+
+           restrictions.entity = function(val) {
+               _intersection = null;
+               _fromWayID = null;
+               _oldTurns = null;
+               _vertexID = val.id;
+           };
+
+
+           restrictions.tags = function() {};
+           restrictions.focus = function() {};
+
+
+           restrictions.off = function(selection) {
+               if (!_initialized) return;
+
+               selection.selectAll('.surface')
+                   .call(breathe.off)
+                   .on('click.restrictions', null)
+                   .on('mouseover.restrictions', null);
+
+               d3_select(window)
+                   .on('resize.restrictions', null);
+           };
+
+
+           return utilRebind(restrictions, dispatch$1, 'on');
+       }
+
+       function uiFieldTextarea(field) {
+           var dispatch$1 = dispatch('change');
+           var input = d3_select(null);
+
+
+           function textarea(selection) {
+               var wrap = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-' + field.type)
+                   .merge(wrap);
+
+               input = wrap.selectAll('textarea')
+                   .data([0]);
+
+               input = input.enter()
+                   .append('textarea')
+                   .attr('id', 'preset-input-' + field.safeid)
+                   .attr('placeholder', field.placeholder() || t('inspector.unknown'))
+                   .attr('maxlength', 255)
+                   .call(utilNoAuto)
+                   .on('input', change(true))
+                   .on('blur', change())
+                   .on('change', change())
+                   .merge(input);
+           }
+
+
+           function change(onInput) {
+               return function() {
+                   var t = {};
+                   t[field.key] = utilGetSetValue(input) || undefined;
+                   dispatch$1.call('change', this, t, onInput);
+               };
+           }
+
+
+           textarea.tags = function(tags) {
+               utilGetSetValue(input, tags[field.key] || '');
+           };
+
+
+           textarea.focus = function() {
+               input.node().focus();
+           };
+
+
+           return utilRebind(textarea, dispatch$1, 'on');
+       }
+
+       function uiFieldWikidata(field, context) {
+           var wikidata = services$1.wikidata;
+           var dispatch$1 = dispatch('change');
+           var searchInput = d3_select(null);
+           var _qid = null;
+           var _wikidataEntity = null;
+           var _wikiURL = '';
+           var _entity;
+
+           var combobox = uiCombobox(context, 'combo-' + field.safeid)
+               .caseSensitive(true)
+               .minItems(1);
+
+           function wiki(selection) {
+
+               var wrap = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-' + field.type)
+                   .merge(wrap);
+
+
+               var list = wrap.selectAll('ul')
+                   .data([0]);
+
+               list = list.enter()
+                   .append('ul')
+                   .attr('class', 'rows')
+                   .merge(list);
+
+               var searchRow = list.selectAll('li.wikidata-search')
+                   .data([0]);
+
+               var searchRowEnter = searchRow.enter()
+                   .append('li')
+                   .attr('class', 'wikidata-search');
+
+               searchInput = searchRowEnter
+                   .append('input')
+                   .attr('type', 'text')
+                   .style('flex', '1')
+                   .call(utilNoAuto);
+
+               searchInput
+                   .on('focus', function() {
+                       var node = d3_select(this).node();
+                       node.setSelectionRange(0, node.value.length);
+                   })
+                   .on('blur', function() {
+                       setLabelForEntity();
+                   })
+                   .call(combobox.fetcher(fetchWikidataItems));
+
+               combobox.on('accept', function(d) {
+                   _qid = d.id;
+                   change();
+               }).on('cancel', function() {
+                   setLabelForEntity();
+               });
+
+               searchRowEnter
+                   .append('button')
+                   .attr('class', 'form-field-button wiki-link')
+                   .attr('title', t('icons.open_wikidata'))
+                   .attr('tabindex', -1)
+                   .call(svgIcon('#iD-icon-out-link'))
+                   .on('click', function() {
+                       event.preventDefault();
+                       if (_wikiURL) window.open(_wikiURL, '_blank');
+                   });
+
+               var wikidataProperties = ['description', 'identifier'];
+
+               var items = list.selectAll('li.labeled-input')
+                   .data(wikidataProperties);
+
+               // Enter
+               var enter = items.enter()
+                   .append('li')
+                   .attr('class', function(d) { return 'labeled-input preset-wikidata-' + d; });
+
+               enter
+                   .append('span')
+                   .attr('class', 'label')
+                   .attr('for', function(d) { return 'preset-input-wikidata-' + d; })
+                   .text(function(d) { return t('wikidata.' + d); });
+
+               enter
+                   .append('input')
+                   .attr('type', 'text')
+                   .attr('id', function(d) { return 'preset-input-wikidata-' + d; })
+                   .call(utilNoAuto)
+                   .classed('disabled', 'true')
+                   .attr('readonly', 'true');
+
+               enter
+                   .append('button')
+                   .attr('class', 'form-field-button')
+                   .attr('title', t('icons.copy'))
+                   .attr('tabindex', -1)
+                   .call(svgIcon('#iD-operation-copy'))
+                   .on('click', function() {
+                       event.preventDefault();
+                       d3_select(this.parentNode)
+                           .select('input')
+                           .node()
+                           .select();
+                       document.execCommand('copy');
+                   });
+
+           }
+
+           function fetchWikidataItems(q, callback) {
+
+               if (!q && _entity) {
+                   q = context.entity(_entity.id).tags.name || '';
+               }
+
+               wikidata.itemsForSearchQuery(q, function(err, data) {
+                   if (err) return;
+
+                   for (var i in data) {
+                       data[i].value = data[i].label + ' (' +  data[i].id + ')';
+                       data[i].title = data[i].description;
+                   }
+
+                   if (callback) callback(data);
+               });
+           }
+
+
+           function change() {
+               var syncTags = {};
+               syncTags[field.key] = _qid;
+               dispatch$1.call('change', this, syncTags);
+
+               // attempt asynchronous update of wikidata tag..
+               var initGraph = context.graph();
+               var initEntityID = _entity.id;
+
+               wikidata.entityByQID(_qid, function(err, entity) {
+                   if (err) return;
+
+                   // If graph has changed, we can't apply this update.
+                   if (context.graph() !== initGraph) return;
+
+                   if (!entity.sitelinks) return;
+
+                   var langs = wikidata.languagesToQuery();
+                   // use the label and description languages as fallbacks
+                   ['labels', 'descriptions'].forEach(function(key) {
+                       if (!entity[key]) return;
+
+                       var valueLangs = Object.keys(entity[key]);
+                       if (valueLangs.length === 0) return;
+                       var valueLang = valueLangs[0];
+
+                       if (langs.indexOf(valueLang) === -1) {
+                           langs.push(valueLang);
+                       }
+                   });
+
+                   var currTags = Object.assign({}, context.entity(initEntityID).tags);  // shallow copy
+
+                   var foundPreferred;
+                   for (var i in langs) {
+                       var lang = langs[i];
+                       var siteID = lang.replace('-', '_') + 'wiki';
+                       if (entity.sitelinks[siteID]) {
+                           foundPreferred = true;
+                           currTags.wikipedia = lang + ':' + entity.sitelinks[siteID].title;
+                           // use the first match
+                           break;
+                       }
+                   }
+
+                   if (!foundPreferred) {
+                       // No wikipedia sites available in the user's language or the fallback languages,
+                       // default to any wikipedia sitelink
+
+                       var wikiSiteKeys = Object.keys(entity.sitelinks).filter(function(site) {
+                           return site.endsWith('wiki');
+                       });
+
+                       if (wikiSiteKeys.length === 0) {
+                           // if no wikipedia pages are linked to this wikidata entity, delete that tag
+                           if (currTags.wikipedia) {
+                               delete currTags.wikipedia;
+                           }
+                       } else {
+                           var wikiLang = wikiSiteKeys[0].slice(0, -4).replace('_', '-');
+                           var wikiTitle = entity.sitelinks[wikiSiteKeys[0]].title;
+                           currTags.wikipedia = wikiLang + ':' + wikiTitle;
+                       }
+                   }
+
+                   // Coalesce the update of wikidata tag into the previous tag change
+                   context.overwrite(
+                       actionChangeTags(initEntityID, currTags),
+                       context.history().undoAnnotation()
+                   );
+
+                   // do not dispatch.call('change') here, because entity_editor
+                   // changeTags() is not intended to be called asynchronously
+
+               });
+           }
+
+           function setLabelForEntity() {
+               var label = '';
+               if (_wikidataEntity) {
+                   label = entityPropertyForDisplay(_wikidataEntity, 'labels');
+                   if (label.length === 0) {
+                       label = _wikidataEntity.id.toString();
+                   }
+               }
+               utilGetSetValue(d3_select('li.wikidata-search input'), label);
+           }
+
+
+           wiki.tags = function(tags) {
+               _qid = tags[field.key] || '';
+
+               if (!/^Q[0-9]*$/.test(_qid)) {   // not a proper QID
+                   unrecognized();
+                   return;
+               }
+
+               // QID value in correct format
+               _wikiURL = 'https://wikidata.org/wiki/' + _qid;
+               wikidata.entityByQID(_qid, function(err, entity) {
+                   if (err) {
+                       unrecognized();
+                       return;
+                   }
+                   _wikidataEntity = entity;
+
+                   setLabelForEntity();
+
+                   var description = entityPropertyForDisplay(entity, 'descriptions');
+
+                   d3_select('.form-field-wikidata button.wiki-link')
+                       .classed('disabled', false);
+
+                   d3_select('.preset-wikidata-description')
+                       .style('display', function(){
+                           return description.length > 0 ? 'flex' : 'none';
+                       })
+                       .select('input')
+                       .attr('value', description);
+
+                   d3_select('.preset-wikidata-identifier')
+                       .style('display', function(){
+                           return entity.id ? 'flex' : 'none';
+                       })
+                       .select('input')
+                       .attr('value', entity.id);
+               });
+
+
+               // not a proper QID
+               function unrecognized() {
+                   _wikidataEntity = null;
+                   setLabelForEntity();
+
+                   d3_select('.preset-wikidata-description')
+                       .style('display', 'none');
+                   d3_select('.preset-wikidata-identifier')
+                       .style('display', 'none');
+
+                   d3_select('.form-field-wikidata button.wiki-link')
+                       .classed('disabled', true);
+
+                   if (_qid && _qid !== '') {
+                       _wikiURL = 'https://wikidata.org/wiki/Special:Search?search=' + _qid;
+                   } else {
+                       _wikiURL = '';
+                   }
+               }
+           };
+
+           function entityPropertyForDisplay(wikidataEntity, propKey) {
+               if (!wikidataEntity[propKey]) return '';
+               var propObj = wikidataEntity[propKey];
+               var langKeys = Object.keys(propObj);
+               if (langKeys.length === 0) return '';
+               // sorted by priority, since we want to show the user's language first if possible
+               var langs = wikidata.languagesToQuery();
+               for (var i in langs) {
+                   var lang = langs[i];
+                   var valueObj = propObj[lang];
+                   if (valueObj && valueObj.value && valueObj.value.length > 0) return valueObj.value;
+               }
+               // default to any available value
+               return propObj[langKeys[0]].value;
+           }
+
+
+           wiki.entity = function(val) {
+               if (!arguments.length) return _entity;
+               _entity = val;
+               return wiki;
+           };
+
+
+           wiki.focus = function() {
+               searchInput.node().focus();
+           };
+
+
+           return utilRebind(wiki, dispatch$1, 'on');
+       }
+
+       function uiFieldWikipedia(field, context) {
+           var dispatch$1 = dispatch('change');
+           var wikipedia = services$1.wikipedia;
+           var wikidata = services$1.wikidata;
+           var lang = d3_select(null);
+           var title = d3_select(null);
+           var _wikiURL = '';
+           var _entity;
+
+           var langCombo = uiCombobox(context, 'wikipedia-lang')
+               .fetcher(function(value, cb) {
+                   var v = value.toLowerCase();
+
+                   cb(wikipedia$2.filter(function(d) {
+                       return d[0].toLowerCase().indexOf(v) >= 0 ||
+                           d[1].toLowerCase().indexOf(v) >= 0 ||
+                           d[2].toLowerCase().indexOf(v) >= 0;
+                   }).map(function(d) {
+                       return { value: d[1] };
+                   }));
+               });
+
+           var titleCombo = uiCombobox(context, 'wikipedia-title')
+               .fetcher(function(value, cb) {
+                   if (!value && _entity) {
+                       value = context.entity(_entity.id).tags.name || '';
+                   }
+
+                   var searchfn = value.length > 7 ? wikipedia.search : wikipedia.suggestions;
+                   searchfn(language()[2], value, function(query, data) {
+                       cb(data.map(function(d) {
+                           return { value: d };
+                       }));
+                   });
+               });
+
+
+           function wiki(selection) {
+               var wrap = selection.selectAll('.form-field-input-wrap')
+                   .data([0]);
+
+               wrap = wrap.enter()
+                   .append('div')
+                   .attr('class', 'form-field-input-wrap form-field-input-' + field.type)
+                   .merge(wrap);
+
+
+               var langRow = wrap.selectAll('.wiki-lang-container')
+                   .data([0]);
+
+               langRow = langRow.enter()
+                   .append('div')
+                   .attr('class', 'wiki-lang-container')
+                   .merge(langRow);
+
+
+               lang = langRow.selectAll('input.wiki-lang')
+                   .data([0]);
+
+               lang = lang.enter()
+                   .append('input')
+                   .attr('type', 'text')
+                   .attr('class', 'wiki-lang')
+                   .attr('placeholder', t('translate.localized_translation_language'))
+                   .call(utilNoAuto)
+                   .call(langCombo)
+                   .merge(lang);
+
+               utilGetSetValue(lang, language()[1]);
+
+               lang
+                   .on('blur', changeLang)
+                   .on('change', changeLang);
+
+
+               var titleRow = wrap.selectAll('.wiki-title-container')
+                   .data([0]);
+
+               titleRow = titleRow.enter()
+                   .append('div')
+                   .attr('class', 'wiki-title-container')
+                   .merge(titleRow);
+
+               title = titleRow.selectAll('input.wiki-title')
+                   .data([0]);
+
+               title = title.enter()
+                   .append('input')
+                   .attr('type', 'text')
+                   .attr('class', 'wiki-title')
+                   .attr('id', 'preset-input-' + field.safeid)
+                   .call(utilNoAuto)
+                   .call(titleCombo)
+                   .merge(title);
+
+               title
+                   .on('blur', blur)
+                   .on('change', change);
+
+
+               var link = titleRow.selectAll('.wiki-link')
+                   .data([0]);
+
+               link = link.enter()
+                   .append('button')
+                   .attr('class', 'form-field-button wiki-link')
+                   .attr('tabindex', -1)
+                   .call(svgIcon('#iD-icon-out-link'))
+                   .merge(link);
+
+               link
+                   .on('click', function() {
+                       event.preventDefault();
+                       if (_wikiURL) window.open(_wikiURL, '_blank');
+                   });
+           }
+
+
+           function language() {
+               var value = utilGetSetValue(lang).toLowerCase();
+               var locale = utilDetect().locale.toLowerCase();
+               var localeLanguage;
+               return wikipedia$2.find(function(d) {
+                   if (d[2] === locale) localeLanguage = d;
+                   return d[0].toLowerCase() === value ||
+                       d[1].toLowerCase() === value ||
+                       d[2] === value;
+               }) || localeLanguage || ['English', 'English', 'en'];
+           }
+
+
+           function changeLang() {
+               utilGetSetValue(lang, language()[1]);
+               change(true);
+           }
+
+
+           function blur() {
+               change(true);
+           }
+
+
+           function change(skipWikidata) {
+               var value = utilGetSetValue(title);
+               var m = value.match(/https?:\/\/([-a-z]+)\.wikipedia\.org\/(?:wiki|\1-[-a-z]+)\/([^#]+)(?:#(.+))?/);
+               var l = m && wikipedia$2.find(function(d) { return m[1] === d[2]; });
+               var syncTags = {};
+
+               if (l) {
+                   // Normalize title http://www.mediawiki.org/wiki/API:Query#Title_normalization
+                   value = decodeURIComponent(m[2]).replace(/_/g, ' ');
+                   if (m[3]) {
+                       var anchor;
+                       // try {
+                       // leave this out for now - #6232
+                           // Best-effort `anchordecode:` implementation
+                           // anchor = decodeURIComponent(m[3].replace(/\.([0-9A-F]{2})/g, '%$1'));
+                       // } catch (e) {
+                           anchor = decodeURIComponent(m[3]);
+                       // }
+                       value += '#' + anchor.replace(/_/g, ' ');
+                   }
+                   value = value.slice(0, 1).toUpperCase() + value.slice(1);
+                   utilGetSetValue(lang, l[1]);
+                   utilGetSetValue(title, value);
+               }
+
+               if (value) {
+                   syncTags.wikipedia = language()[2] + ':' + value;
+               } else {
+                   syncTags.wikipedia = undefined;
+               }
+
+               dispatch$1.call('change', this, syncTags);
+
+
+               if (skipWikidata || !value || !language()[2]) return;
+
+               // attempt asynchronous update of wikidata tag..
+               var initGraph = context.graph();
+               var initEntityID = _entity.id;
+
+               wikidata.itemsByTitle(language()[2], value, function(err, data) {
+                   if (err) return;
+
+                   // If graph has changed, we can't apply this update.
+                   if (context.graph() !== initGraph) return;
+
+                   if (!data || !Object.keys(data).length) return;
+
+                   var qids = Object.keys(data);
+                   var value = qids && qids.find(function(id) { return id.match(/^Q\d+$/); });
+                   var currTags = Object.assign({}, context.entity(initEntityID).tags);  // shallow copy
+
+                   currTags.wikidata = value;
+
+                   // Coalesce the update of wikidata tag into the previous tag change
+                   context.overwrite(
+                       actionChangeTags(initEntityID, currTags),
+                       context.history().undoAnnotation()
+                   );
+
+                   // do not dispatch.call('change') here, because entity_editor
+                   // changeTags() is not intended to be called asynchronously
+               });
+           }
+
+
+           wiki.tags = function(tags) {
+               var value = tags[field.key] || '';
+               var m = value.match(/([^:]+):([^#]+)(?:#(.+))?/);
+               var l = m && wikipedia$2.find(function(d) { return m[1] === d[2]; });
+               var anchor = m && m[3];
+
+               // value in correct format
+               if (l) {
+                   utilGetSetValue(lang, l[1]);
+                   utilGetSetValue(title, m[2] + (anchor ? ('#' + anchor) : ''));
+                   if (anchor) {
+                       try {
+                           // Best-effort `anchorencode:` implementation
+                           anchor = encodeURIComponent(anchor.replace(/ /g, '_')).replace(/%/g, '.');
+                       } catch (e) {
+                           anchor = anchor.replace(/ /g, '_');
+                       }
+                   }
+                   _wikiURL = 'https://' + m[1] + '.wikipedia.org/wiki/' +
+                       m[2].replace(/ /g, '_') + (anchor ? ('#' + anchor) : '');
+
+               // unrecognized value format
+               } else {
+                   utilGetSetValue(title, value);
+                   if (value && value !== '') {
+                       utilGetSetValue(lang, '');
+                       _wikiURL = 'https://en.wikipedia.org/wiki/Special:Search?search=' + value;
+                   } else {
+                       _wikiURL = '';
+                   }
+               }
+           };
+
+
+           wiki.entity = function(val) {
+               if (!arguments.length) return _entity;
+               _entity = val;
+               return wiki;
+           };
+
+
+           wiki.focus = function() {
+               title.node().focus();
+           };
+
+
+           return utilRebind(wiki, dispatch$1, 'on');
+       }
+
+       var uiFields = {
+           access: uiFieldAccess,
+           address: uiFieldAddress,
+           check: uiFieldCheck,
+           combo: uiFieldCombo,
+           cycleway: uiFieldCycleway,
+           defaultCheck: uiFieldCheck,
+           email: uiFieldText,
+           lanes: uiFieldLanes,
+           localized: uiFieldLocalized,
+           maxspeed: uiFieldMaxspeed,
+           multiCombo: uiFieldCombo,
+           networkCombo: uiFieldCombo,
+           number: uiFieldText,
+           onewayCheck: uiFieldCheck,
+           radio: uiFieldRadio,
+           restrictions: uiFieldRestrictions,
+           semiCombo: uiFieldCombo,
+           structureRadio: uiFieldRadio,
+           tel: uiFieldText,
+           text: uiFieldText,
+           textarea: uiFieldTextarea,
+           typeCombo: uiFieldCombo,
+           url: uiFieldText,
+           wikidata: uiFieldWikidata,
+           wikipedia: uiFieldWikipedia
+       };
+
+       function uiField(context, presetField, entity, options) {
+           options = Object.assign({
+               show: true,
+               wrap: true,
+               remove: true,
+               revert: true,
+               info: true
+           }, options);
+
+           var dispatch$1 = dispatch('change');
+           var field = Object.assign({}, presetField);   // shallow copy
+           var _show = options.show;
+           var _state = '';
+           var _tags = {};
+
+           var _locked = false;
+           var _lockedTip = tooltip()
+               .title(t('inspector.lock.suggestion', { label: field.label }))
+               .placement('bottom');
+
+
+           field.keys = field.keys || [field.key];
+
+           // only create the fields that are actually being shown
+           if (_show && !field.impl) {
+               createField();
+           }
+
+           // Creates the field.. This is done lazily,
+           // once we know that the field will be shown.
+           function createField() {
+               field.impl = uiFields[field.type](field, context)
+                   .on('change', function(t, onInput) {
+                       dispatch$1.call('change', field, t, onInput);
+                   });
+
+               if (entity) {
+                   field.entityID = entity.id;
+                   // if this field cares about the entity, pass it along
+                   if (field.impl.entity) {
+                       field.impl.entity(entity);
+                   }
+               }
+           }
+
+
+           function isModified() {
+               if (!entity) return false;
+               var original = context.graph().base().entities[entity.id];
+               return field.keys.some(function(key) {
+                   return original ? _tags[key] !== original.tags[key] : _tags[key];
+               });
+           }
+
+
+           function isPresent() {
+               return field.keys.some(function(key) {
+                   if (field.type === 'multiCombo') {
+                       for (var tagKey in _tags) {
+                           if (tagKey.indexOf(key) === 0) {
+                               return true;
+                           }
+                       }
+                       return false;
+                   }
+                   return _tags[key] !== undefined;
+               });
+           }
+
+
+           function revert(d) {
+               event.stopPropagation();
+               event.preventDefault();
+               if (!entity || _locked) return;
+
+               var original = context.graph().base().entities[entity.id];
+               var t = {};
+               d.keys.forEach(function(key) {
+                   t[key] = original ? original.tags[key] : undefined;
+               });
+
+               dispatch$1.call('change', d, t);
+           }
+
+
+           function remove(d) {
+               event.stopPropagation();
+               event.preventDefault();
+               if (_locked) return;
+
+               var t = {};
+               d.keys.forEach(function(key) {
+                   t[key] = undefined;
+               });
+
+               dispatch$1.call('change', d, t);
+           }
+
+
+           field.render = function(selection) {
+               var container = selection.selectAll('.form-field')
+                   .data([field]);
+
+               // Enter
+               var enter = container.enter()
+                   .append('div')
+                   .attr('class', function(d) { return 'form-field form-field-' + d.safeid; })
+                   .classed('nowrap', !options.wrap);
+
+               if (options.wrap) {
+                   var labelEnter = enter
+                       .append('label')
+                       .attr('class', 'field-label')
+                       .attr('for', function(d) { return 'preset-input-' + d.safeid; });
+
+                   var textEnter = labelEnter
+                       .append('span')
+                       .attr('class', 'label-text');
+
+                   textEnter
+                       .append('span')
+                       .attr('class', 'label-textvalue')
+                       .text(function(d) { return d.label(); });
+
+                   textEnter
+                       .append('span')
+                       .attr('class', 'label-textannotation');
+
+                   if (options.remove) {
+                       labelEnter
+                           .append('button')
+                           .attr('class', 'remove-icon')
+                           .attr('title', t('icons.remove'))
+                           .attr('tabindex', -1)
+                           .call(svgIcon('#iD-operation-delete'));
+                   }
+
+                   if (options.revert) {
+                       labelEnter
+                           .append('button')
+                           .attr('class', 'modified-icon')
+                           .attr('title', t('icons.undo'))
+                           .attr('tabindex', -1)
+                           .call(svgIcon((textDirection === 'rtl') ? '#iD-icon-redo' : '#iD-icon-undo'));
+                   }
+               }
+
+
+               // Update
+               container = container
+                   .merge(enter);
+
+               container.select('.field-label > .remove-icon')  // propagate bound data
+                   .on('click', remove);
+
+               container.select('.field-label > .modified-icon')  // propagate bound data
+                   .on('click', revert);
+
+               container
+                   .each(function(d) {
+                       var selection = d3_select(this);
+
+                       if (!d.impl) {
+                           createField();
+                       }
+
+                       var reference, help;
+
+                       // instantiate field help
+                       if (options.wrap && field.type === 'restrictions') {
+                           help = uiFieldHelp(context, 'restrictions');
+                       }
+
+                       // instantiate tag reference
+                       if (options.wrap && options.info) {
+                           var referenceKey = d.key;
+                           if (d.type === 'multiCombo') {   // lookup key without the trailing ':'
+                               referenceKey = referenceKey.replace(/:$/, '');
+                           }
+
+                           reference = uiTagReference(d.reference || { key: referenceKey });
+                           if (_state === 'hover') {
+                               reference.showing(false);
+                           }
+                       }
+
+                       selection
+                           .call(d.impl);
+
+                       // add field help components
+                       if (help) {
+                           selection
+                               .call(help.body)
+                               .select('.field-label')
+                               .call(help.button);
+                       }
+
+                       // add tag reference components
+                       if (reference) {
+                           selection
+                               .call(reference.body)
+                               .select('.field-label')
+                               .call(reference.button);
+                       }
+
+                       d.impl.tags(_tags);
+                   });
+
+
+                   container
+                       .classed('locked', _locked)
+                       .classed('modified', isModified())
+                       .classed('present', isPresent());
+
+
+                   // show a tip and lock icon if the field is locked
+                   var annotation = container.selectAll('.field-label .label-textannotation');
+                   var icon = annotation.selectAll('.icon')
+                       .data(_locked ? [0]: []);
+
+                   icon.exit()
+                       .remove();
+
+                   icon.enter()
+                       .append('svg')
+                       .attr('class', 'icon')
+                       .append('use')
+                       .attr('xlink:href', '#fas-lock');
+
+                   container.call(_locked ? _lockedTip : _lockedTip.destroy);
+           };
+
+
+           field.state = function(val) {
+               if (!arguments.length) return _state;
+               _state = val;
+               return field;
+           };
+
+
+           field.tags = function(val) {
+               if (!arguments.length) return _tags;
+               _tags = val;
+               return field;
+           };
+
+
+           field.locked = function(val) {
+               if (!arguments.length) return _locked;
+               _locked = val;
+               return field;
+           };
+
+
+           field.show = function() {
+               _show = true;
+               if (!field.impl) {
+                   createField();
+               }
+               if (field.default && field.key && _tags[field.key] !== field.default) {
+                   var t = {};
+                   t[field.key] = field.default;
+                   dispatch$1.call('change', this, t);
+               }
+           };
+
+           // A shown field has a visible UI, a non-shown field is in the 'Add field' dropdown
+           field.isShown = function() {
+               return _show || isPresent();
+           };
+
+
+           // An allowed field can appear in the UI or in the 'Add field' dropdown.
+           // A non-allowed field is hidden from the user altogether
+           field.isAllowed = function() {
+               if (!entity || isPresent()) return true;   // a field with a value should always display
+
+               var latest = context.hasEntity(entity.id);   // check the most current copy of the entity
+               if (!latest) return true;
+
+               var require = field.prerequisiteTag;
+               if (require && require.key) {
+                   var value = latest.tags[require.key];
+                   if (!value) return false;
+
+                   if (require.valueNot) {
+                       return require.valueNot !== value;
+                   }
+                   if (require.value) {
+                       return require.value === value;
+                   }
+                   return true;
+               }
+               return true;
+           };
+
+
+           field.focus = function() {
+               if (field.impl) {
+                   field.impl.focus();
+               }
+           };
+
+
+           return utilRebind(field, dispatch$1, 'on');
+       }
+
+       function uiFormFields(context) {
+           var moreCombo = uiCombobox(context, 'more-fields').minItems(1);
+           var _fieldsArr = [];
+           var _lastPlaceholder = '';
+           var _state = '';
+           var _klass = '';
+
+
+           function formFields(selection) {
+               var allowedFields = _fieldsArr.filter(function(field) { return field.isAllowed(); });
+               var shown = allowedFields.filter(function(field) { return field.isShown(); });
+               var notShown = allowedFields.filter(function(field) { return !field.isShown(); });
+
+               var container = selection.selectAll('.form-fields-container')
+                   .data([0]);
+
+               container = container.enter()
+                   .append('div')
+                   .attr('class', 'form-fields-container ' + (_klass || ''))
+                   .merge(container);
+
+
+               var fields = container.selectAll('.wrap-form-field')
+                   .data(shown, function(d) { return d.id + (d.entityID || ''); });
+
+               fields.exit()
+                   .remove();
+
+               // Enter
+               var enter = fields.enter()
+                   .append('div')
+                   .attr('class', function(d) { return 'wrap-form-field wrap-form-field-' + d.safeid; });
+
+               // Update
+               fields = fields
+                   .merge(enter);
+
+               fields
+                   .order()
+                   .each(function(d) {
+                       d3_select(this)
+                           .call(d.render);
+                   });
+
+
+               var titles = [];
+               var moreFields = notShown.map(function(field) {
+                   var label = field.label();
+                   titles.push(label);
+                   return {
+                       title: label,
+                       value: label,
+                       field: field
+                   };
+               });
+
+               var placeholder = titles.slice(0,3).join(', ') + ((titles.length > 3) ? '…' : '');
+
+
+               var more = selection.selectAll('.more-fields')
+                   .data((_state === 'hover' || moreFields.length === 0) ? [] : [0]);
+
+               more.exit()
+                   .remove();
+
+               more = more.enter()
+                   .append('div')
+                   .attr('class', 'more-fields')
+                   .append('label')
+                   .text(t('inspector.add_fields'))
+                   .merge(more);
+
+
+               var input = more.selectAll('.value')
+                   .data([0]);
+
+               input.exit()
+                   .remove();
+
+               input = input.enter()
+                   .append('input')
+                   .attr('class', 'value')
+                   .attr('type', 'text')
+                   .attr('placeholder', placeholder)
+                   .call(utilNoAuto)
+                   .merge(input);
+
+               input
+                   .call(utilGetSetValue, '')
+                   .call(moreCombo
+                       .data(moreFields)
+                       .on('accept', function (d) {
+                           if (!d) return;  // user entered something that was not matched
+                           var field = d.field;
+                           field.show();
+                           selection.call(formFields);  // rerender
+                           if (field.type !== 'semiCombo' && field.type !== 'multiCombo') {
+                               field.focus();
+                           }
+                       })
+                   );
+
+               // avoid updating placeholder excessively (triggers style recalc)
+               if (_lastPlaceholder !== placeholder) {
+                   input.attr('placeholder', placeholder);
+                   _lastPlaceholder = placeholder;
+               }
+           }
+
+
+           formFields.fieldsArr = function(val) {
+               if (!arguments.length) return _fieldsArr;
+               _fieldsArr = val || [];
+               return formFields;
+           };
+
+           formFields.state = function(val) {
+               if (!arguments.length) return _state;
+               _state = val;
+               return formFields;
+           };
+
+           formFields.klass = function(val) {
+               if (!arguments.length) return _klass;
+               _klass = val;
+               return formFields;
+           };
+
+
+           return formFields;
+       }
+
+       function uiPresetEditor(context) {
+           var dispatch$1 = dispatch('change');
+           var formFields = uiFormFields(context);
+           var _state;
+           var _fieldsArr;
+           var _preset;
+           var _tags;
+           var _entityID;
+
+
+           function presetEditor(selection) {
+               selection.call(uiDisclosure(context, 'preset_fields', true)
+                   .title(t('inspector.all_fields'))
+                   .content(render)
+               );
+           }
+
+
+           function render(selection) {
+               if (!_fieldsArr) {
+                   var entity = context.entity(_entityID);
+                   var geometry = context.geometry(_entityID);
+                   var presets = context.presets();
+
+                   _fieldsArr = [];
+
+                   _preset.fields.forEach(function(field) {
+                       if (field.matchGeometry(geometry)) {
+                           _fieldsArr.push(
+                               uiField(context, field, entity)
+                           );
+                       }
+                   });
+
+                   if (entity.isHighwayIntersection(context.graph()) && presets.field('restrictions')) {
+                       _fieldsArr.push(
+                           uiField(context, presets.field('restrictions'), entity)
+                       );
+                   }
+
+                   var additionalFields = utilArrayUnion(_preset.moreFields, presets.universal());
+                   additionalFields.sort(function(field1, field2) {
+                       return field1.label() > field2.label();
+                   });
+
+                   additionalFields.forEach(function(field) {
+                       if (_preset.fields.indexOf(field) === -1) {
+                           _fieldsArr.push(
+                               uiField(context, field, entity, { show: false })
+                           );
+                       }
+                   });
+
+                   _fieldsArr.forEach(function(field) {
+                       field
+                           .on('change', function(t, onInput) {
+                               dispatch$1.call('change', field, t, onInput);
+                           });
+                   });
+               }
+
+               _fieldsArr.forEach(function(field) {
+                   field
+                       .state(_state)
+                       .tags(_tags);
+               });
+
+
+               selection
+                   .call(formFields
+                       .fieldsArr(_fieldsArr)
+                       .state(_state)
+                       .klass('inspector-inner fillL3')
+                   );
+
+
+               selection.selectAll('.wrap-form-field input')
+                   .on('keydown', function() {
+                       // if user presses enter, and combobox is not active, accept edits..
+                       if (event.keyCode === 13 && d3_select('.combobox').empty()) {
+                           context.enter(modeBrowse(context));
+                       }
+                   });
+           }
+
+
+           presetEditor.preset = function(val) {
+               if (!arguments.length) return _preset;
+               if (_preset && _preset.id === val.id) return presetEditor;
+               _preset = val;
+               _fieldsArr = null;
+               return presetEditor;
+           };
+
+
+           presetEditor.state = function(val) {
+               if (!arguments.length) return _state;
+               _state = val;
+               return presetEditor;
+           };
+
+
+           presetEditor.tags = function(val) {
+               if (!arguments.length) return _tags;
+               _tags = val;
+               // Don't reset _fieldsArr here.
+               return presetEditor;
+           };
+
+
+           presetEditor.entityID = function(val) {
+               if (!arguments.length) return _entityID;
+               if (_entityID === val) return presetEditor;
+               _entityID = val;
+               _fieldsArr = null;
+               return presetEditor;
+           };
+
+
+           return utilRebind(presetEditor, dispatch$1, 'on');
+       }
+
+       function uiEntityIssues(context) {
+           var _selection = d3_select(null);
+           var _activeIssueID;
+           var _entityID;
+
+           // Refresh on validated events
+           context.validator()
+               .on('validated.entity_issues', function() {
+                    _selection.selectAll('.disclosure-wrap-entity_issues')
+                        .call(render);
+
+                   update();
+               })
+               .on('focusedIssue.entity_issues', function(issue) {
+                    makeActiveIssue(issue.id);
+               });
+
+
+           function entityIssues(selection) {
+               _selection = selection;
+
+               selection
+                   .call(uiDisclosure(context, 'entity_issues', true)
+                       .content(render)
+                   );
+
+               update();
+           }
+
+           function getIssues() {
+               return context.validator().getEntityIssues(_entityID, { includeDisabledRules: true });
+           }
+
+           function makeActiveIssue(issueID) {
+               _activeIssueID = issueID;
+               _selection.selectAll('.issue-container')
+                   .classed('active', function(d) { return d.id === _activeIssueID; });
+           }
+
+           function update() {
+
+               var issues = getIssues();
+
+               _selection
+                   .classed('hide', issues.length === 0);
+
+               _selection.selectAll('.hide-toggle-entity_issues span')
+                   .text(t('issues.list_title', { count: issues.length }));
+           }
+
+
+           function render(selection) {
+               var issues = getIssues();
+               _activeIssueID = issues.length > 0 ? issues[0].id : null;
+
+
+               var containers = selection.selectAll('.issue-container')
+                   .data(issues, function(d) { return d.id; });
+
+               // Exit
+               containers.exit()
+                   .remove();
+
+               // Enter
+               var containersEnter = containers.enter()
+                   .append('div')
+                   .attr('class', 'issue-container');
+
+
+               var itemsEnter = containersEnter
+                   .append('div')
+                   .attr('class', function(d) { return 'issue severity-' + d.severity; })
+                   .on('mouseover.highlight', function(d) {
+                       // don't hover-highlight the selected entity
+                       var ids = d.entityIds
+                           .filter(function(e) { return e !== _entityID; });
+
+                       utilHighlightEntities(ids, true, context);
+                   })
+                   .on('mouseout.highlight', function(d) {
+                       var ids = d.entityIds
+                           .filter(function(e) { return e !== _entityID; });
+
+                       utilHighlightEntities(ids, false, context);
+                   });
+
+               var labelsEnter = itemsEnter
+                   .append('div')
+                   .attr('class', 'issue-label')
+                   .on('click', function(d) {
+
+                       makeActiveIssue(d.id); // expand only the clicked item
+
+                       var extent = d.extent(context.graph());
+                       if (extent) {
+                           var setZoom = Math.max(context.map().zoom(), 19);
+                           context.map().unobscuredCenterZoomEase(extent.center(), setZoom);
+                       }
+                   });
+
+               var textEnter = labelsEnter
+                   .append('span')
+                   .attr('class', 'issue-text');
+
+               textEnter
+                   .append('span')
+                   .attr('class', 'issue-icon')
+                   .each(function(d) {
+                       var iconName = '#iD-icon-' + (d.severity === 'warning' ? 'alert' : 'error');
+                       d3_select(this)
+                           .call(svgIcon(iconName));
+                   });
+
+               textEnter
+                   .append('span')
+                   .attr('class', 'issue-message');
+
+
+               var infoButton = labelsEnter
+                   .append('button')
+                   .attr('class', 'issue-info-button')
+                   .attr('title', t('icons.information'))
+                   .attr('tabindex', -1)
+                   .call(svgIcon('#iD-icon-inspect'));
+
+               infoButton
+                   .on('click', function () {
+                       event.stopPropagation();
+                       event.preventDefault();
+                       this.blur();    // avoid keeping focus on the button - #4641
+
+                       var container = d3_select(this.parentNode.parentNode.parentNode);
+                       var info = container.selectAll('.issue-info');
+                       var isExpanded = info.classed('expanded');
+
+                       if (isExpanded) {
+                           info
+                               .transition()
+                               .duration(200)
+                               .style('max-height', '0px')
+                               .style('opacity', '0')
+                               .on('end', function () {
+                                   info.classed('expanded', false);
+                               });
+                       } else {
+                           info
+                               .classed('expanded', true)
+                               .transition()
+                               .duration(200)
+                               .style('max-height', '200px')
+                               .style('opacity', '1')
+                               .on('end', function () {
+                                   info.style('max-height', null);
+                               });
+                       }
+                   });
+
+               itemsEnter
+                   .append('ul')
+                   .attr('class', 'issue-fix-list');
+
+               containersEnter
+                   .append('div')
+                   .attr('class', 'issue-info')
+                   .style('max-height', '0')
+                   .style('opacity', '0')
+                   .each(function(d) {
+                       if (typeof d.reference === 'function') {
+                           d3_select(this)
+                               .call(d.reference);
+                       } else {
+                           d3_select(this)
+                               .text(t('inspector.no_documentation_key'));
+                       }
+                   });
+
+
+               // Update
+               containers = containers
+                   .merge(containersEnter)
+                   .classed('active', function(d) { return d.id === _activeIssueID; });
+
+               containers.selectAll('.issue-message')
+                   .text(function(d) {
+                       return d.message(context);
+                   });
+
+               // fixes
+               var fixLists = containers.selectAll('.issue-fix-list');
+
+               var fixes = fixLists.selectAll('.issue-fix-item')
+                   .data(function(d) { return d.fixes ? d.fixes : []; });
+
+               var fixesEnter = fixes.enter()
+                   .append('li')
+                   .attr('class', function(d) {
+                       return 'issue-fix-item ' + (d.onClick ? 'actionable' : '');
+                   })
+                   .on('click', function(d) {
+                       // not all fixes are actionable
+                       if (!d.onClick) return;
+
+                       // Don't run another fix for this issue within a second of running one
+                       // (Necessary for "Select a feature type" fix. Most fixes should only ever run once)
+                       if (d.issue.dateLastRanFix && new Date() - d.issue.dateLastRanFix < 1000) return;
+                       d.issue.dateLastRanFix = new Date();
+
+                       // remove hover-highlighting
+                       utilHighlightEntities(d.issue.entityIds.concat(d.entityIds), false, context);
+
+                       new Promise(function(resolve, reject) {
+                           d.onClick(context, resolve, reject);
+                           if (d.onClick.length <= 1) {
+                               // if the fix doesn't take any completion parameters then consider it resolved
+                               resolve();
+                           }
+                       })
+                       .then(function() {
+                           // revalidate whenever the fix has finished running successfully
+                           context.validator().validate();
+                       });
+                   })
+                   .on('mouseover.highlight', function(d) {
+                       utilHighlightEntities(d.entityIds, true, context);
+                   })
+                   .on('mouseout.highlight', function(d) {
+                       utilHighlightEntities(d.entityIds, false, context);
+                   });
+
+               fixesEnter
+                   .append('span')
+                   .attr('class', 'fix-icon')
+                   .each(function(d) {
+                       var iconName = d.icon || 'iD-icon-wrench';
+                       if (iconName.startsWith('maki')) {
+                           iconName += '-15';
+                       }
+                       d3_select(this).call(svgIcon('#' + iconName));
+                   });
+
+               fixesEnter
+                   .append('span')
+                   .attr('class', 'fix-message')
+                   .text(function(d) { return d.title; });
+           }
+
+
+           entityIssues.entityID = function(val) {
+               if (!arguments.length) return _entityID;
+               if (_entityID !== val) {
+                   _entityID = val;
+                   _activeIssueID = null;
+               }
+               return entityIssues;
+           };
+
+
+           return entityIssues;
+       }
+
+       function uiEntityEditor(context) {
+           var dispatch$1 = dispatch('choose');
+           var _state = 'select';
+           var _coalesceChanges = false;
+           var _modified = false;
+           var _scrolled = false;
+           var _base;
+           var _entityID;
+           var _activePreset;
+           var _tagReference;
+           var _presetFavorite;
+
+           var entityIssues = uiEntityIssues(context);
+           var quickLinks = uiQuickLinks();
+           var presetEditor = uiPresetEditor(context).on('change', changeTags);
+           var rawTagEditor = uiRawTagEditor(context).on('change', changeTags);
+           var rawMemberEditor = uiRawMemberEditor(context);
+           var rawMembershipEditor = uiRawMembershipEditor(context);
+
+           function entityEditor(selection) {
+               var entity = context.entity(_entityID);
+               var tags = Object.assign({}, entity.tags);  // shallow copy
+
+               // Header
+               var header = selection.selectAll('.header')
+                   .data([0]);
+
+               // Enter
+               var headerEnter = header.enter()
+                   .append('div')
+                   .attr('class', 'header fillL cf');
+
+               headerEnter
+                   .append('button')
+                   .attr('class', 'fl preset-reset preset-choose')
+                   .call(svgIcon((textDirection === 'rtl') ? '#iD-icon-forward' : '#iD-icon-backward'));
+
+               headerEnter
+                   .append('button')
+                   .attr('class', 'fr preset-close')
+                   .on('click', function() { context.enter(modeBrowse(context)); })
+                   .call(svgIcon(_modified ? '#iD-icon-apply' : '#iD-icon-close'));
+
+               headerEnter
+                   .append('h3')
+                   .text(t('inspector.edit'));
+
+               // Update
+               header = header
+                   .merge(headerEnter);
+
+               header.selectAll('.preset-reset')
+                   .on('click', function() {
+                       dispatch$1.call('choose', this, _activePreset);
+                   });
+
+
+               // Body
+               var body = selection.selectAll('.inspector-body')
+                   .data([0]);
+
+               // Enter
+               var bodyEnter = body.enter()
+                   .append('div')
+                   .attr('class', 'inspector-body')
+                   .on('scroll.entity-editor', function() { _scrolled = true; });
+
+               bodyEnter
+                   .append('div')
+                   .attr('class', 'preset-list-item inspector-inner')
+                   .append('div')
+                   .attr('class', 'preset-list-button-wrap')
+                   .append('button')
+                   .attr('class', 'preset-list-button preset-reset')
+                   .call(tooltip().title(t('inspector.back_tooltip')).placement('bottom'))
+                   .append('div')
+                   .attr('class', 'label')
+                   .append('div')
+                   .attr('class', 'label-inner');
+
+               bodyEnter
+                   .append('div')
+                   .attr('class', 'preset-quick-links');
+
+               bodyEnter
+                   .append('div')
+                   .attr('class', 'entity-issues');
+
+               bodyEnter
+                   .append('div')
+                   .attr('class', 'preset-editor');
+
+               bodyEnter
+                   .append('div')
+                   .attr('class', 'raw-tag-editor inspector-inner');
+
+               bodyEnter
+                   .append('div')
+                   .attr('class', 'raw-member-editor inspector-inner');
+
+               bodyEnter
+                   .append('div')
+                   .attr('class', 'raw-membership-editor inspector-inner');
+
+               bodyEnter
+                   .append('input')
+                   .attr('type', 'text')
+                   .attr('class', 'key-trap');
+
+
+               // Update
+               body = body
+                   .merge(bodyEnter);
+
+               if (_presetFavorite) {
+                   body.selectAll('.preset-list-button-wrap')
+                       .call(_presetFavorite.button);
+               }
+
+               // update header
+               if (_tagReference) {
+                   body.selectAll('.preset-list-button-wrap')
+                       .call(_tagReference.button);
+
+                   body.selectAll('.preset-list-item')
+                       .call(_tagReference.body);
+               }
+
+               body.selectAll('.preset-reset')
+                   .on('click', function() {
+                       dispatch$1.call('choose', this, _activePreset);
+                   });
+
+               body.select('.preset-list-item button')
+                   .call(uiPresetIcon(context)
+                       .geometry(context.geometry(_entityID))
+                       .preset(_activePreset)
+                   );
+
+               // NOTE: split on en-dash, not a hypen (to avoid conflict with hyphenated names)
+               var label = body.select('.label-inner');
+               var nameparts = label.selectAll('.namepart')
+                   .data(_activePreset.name().split(' – '), function(d) { return d; });
+
+               nameparts.exit()
+                   .remove();
+
+               nameparts
+                   .enter()
+                   .append('div')
+                   .attr('class', 'namepart')
+                   .text(function(d) { return d; });
+
+               // update quick links
+               var choices = [{
+                   id: 'zoom_to',
+                   label: 'inspector.zoom_to.title',
+                   tooltip: function() {
+                       return uiTooltipHtml(t('inspector.zoom_to.tooltip_feature'), t('inspector.zoom_to.key'));
+                   },
+                   click: function zoomTo() {
+                       context.mode().zoomToSelected();
+                   }
+               }];
+
+               body.select('.preset-quick-links')
+                   .call(quickLinks.choices(choices));
+
+
+               // update editor sections
+               body.select('.entity-issues')
+                   .call(entityIssues
+                       .entityID(_entityID)
+                   );
+
+               body.select('.preset-editor')
+                   .call(presetEditor
+                       .preset(_activePreset)
+                       .entityID(_entityID)
+                       .tags(tags)
+                       .state(_state)
+                   );
+
+               body.select('.raw-tag-editor')
+                   .call(rawTagEditor
+                       .preset(_activePreset)
+                       .entityID(_entityID)
+                       .tags(tags)
+                       .state(_state)
+                   );
+
+               if (entity.type === 'relation') {
+                   body.select('.raw-member-editor')
+                       .style('display', 'block')
+                       .call(rawMemberEditor
+                           .entityID(_entityID)
+                       );
+               } else {
+                   body.select('.raw-member-editor')
+                       .style('display', 'none');
+               }
+
+               body.select('.raw-membership-editor')
+                   .call(rawMembershipEditor
+                       .entityID(_entityID)
+                   );
+
+               body.select('.key-trap')
+                   .on('keydown.key-trap', function() {
+                       // On tabbing, send focus back to the first field on the inspector-body
+                       // (probably the `name` field) #4159
+                       if (event.keyCode === 9 && !event.shiftKey) {
+                           event.preventDefault();
+                           body.select('input').node().focus();
+                       }
+                   });
+
+               context.history()
+                   .on('change.entity-editor', historyChanged);
+
+
+               function historyChanged(difference) {
+                   if (_state === 'hide') return;
+                   var significant = !difference ||
+                           difference.didChange.properties ||
+                           difference.didChange.addition ||
+                           difference.didChange.deletion;
+                   if (!significant) return;
+
+                   var entity = context.hasEntity(_entityID);
+                   var graph = context.graph();
+                   if (!entity) return;
+
+                   var match = context.presets().match(entity, graph);
+                   var activePreset = entityEditor.preset();
+                   var weakPreset = activePreset &&
+                       Object.keys(activePreset.addTags || {}).length === 0;
+
+                   // A "weak" preset doesn't set any tags. (e.g. "Address")
+                   // Don't replace a weak preset with a fallback preset (e.g. "Point")
+                   if (!(weakPreset && match.isFallback())) {
+                       entityEditor.preset(match);
+                   }
+                   entityEditor.modified(_base !== graph);
+                   entityEditor(selection);
+               }
+           }
+
+
+           // Tag changes that fire on input can all get coalesced into a single
+           // history operation when the user leaves the field.  #2342
+           function changeTags(changed, onInput) {
+               var entity = context.entity(_entityID);
+               var annotation = t('operations.change_tags.annotation');
+               var tags = Object.assign({}, entity.tags);   // shallow copy
+
+               for (var k in changed) {
+                   if (!k) continue;
+                   var v = changed[k];
+                   if (v !== undefined || tags.hasOwnProperty(k)) {
+                       tags[k] = v;
+                   }
+               }
+
+               if (!onInput) {
+                   tags = utilCleanTags(tags);
+               }
+
+               if (!fastDeepEqual(entity.tags, tags)) {
+                   if (_coalesceChanges) {
+                       context.overwrite(actionChangeTags(_entityID, tags), annotation);
+                   } else {
+                       context.perform(actionChangeTags(_entityID, tags), annotation);
+                       _coalesceChanges = !!onInput;
+                   }
+               }
+
+               // if leaving field (blur event), rerun validation
+               if (!onInput) {
+                   context.validator().validate();
+               }
+           }
+
+
+           entityEditor.modified = function(val) {
+               if (!arguments.length) return _modified;
+               _modified = val;
+               d3_selectAll('button.preset-close use')
+                   .attr('xlink:href', (_modified ? '#iD-icon-apply' : '#iD-icon-close'));
+               return entityEditor;
+           };
+
+
+           entityEditor.state = function(val) {
+               if (!arguments.length) return _state;
+               _state = val;
+               return entityEditor;
+           };
+
+
+           entityEditor.entityID = function(val) {
+               if (!arguments.length) return _entityID;
+               if (_entityID === val) return entityEditor;  // exit early if no change
+
+               _entityID = val;
+               _base = context.graph();
+               _coalesceChanges = false;
+
+               // reset the scroll to the top of the inspector (warning: triggers reflow)
+               if (_scrolled) {
+                   window.requestIdleCallback(function() {
+                       var body = d3_selectAll('.entity-editor-pane .inspector-body');
+                       if (!body.empty()) {
+                           _scrolled = false;
+                           body.node().scrollTop = 0;
+                       }
+                   });
+               }
+
+               var presetMatch = context.presets().match(context.entity(_entityID), _base);
+
+               return entityEditor
+                   .preset(presetMatch)
+                   .modified(false);
+           };
+
+
+           entityEditor.preset = function(val) {
+               if (!arguments.length) return _activePreset;
+               if (val !== _activePreset) {
+                   _activePreset = val;
+                   _tagReference = uiTagReference(_activePreset.reference(context.geometry(_entityID)))
+                       .showing(false);
+               }
+               _presetFavorite = uiPresetFavoriteButton(_activePreset, context.geometry(_entityID), context);
+               return entityEditor;
+           };
+
+
+           return utilRebind(entityEditor, dispatch$1, 'on');
+       }
+
+       function uiPresetList(context) {
+           var dispatch$1 = dispatch('choose');
+           var _entityID;
+           var _currentPreset;
+           var _autofocus = false;
+           var geocoder = services$1.geocoder;
+
+
+           function presetList(selection) {
+               var entity = context.entity(_entityID);
+               var geometry = context.geometry(_entityID);
+
+               // Treat entities on addr:interpolation lines as points, not vertices (#3241)
+               if (geometry === 'vertex' && entity.isOnAddressLine(context.graph())) {
+                   geometry = 'point';
+               }
+
+               var presets = context.presets().matchGeometry(geometry);
+
+               selection.html('');
+
+               var messagewrap = selection
+                   .append('div')
+                   .attr('class', 'header fillL');
+
+               var message = messagewrap
+                   .append('h3')
+                   .text(t('inspector.choose'));
+
+               messagewrap
+                   .append('button')
+                   .attr('class', 'preset-choose')
+                   .on('click', function() { dispatch$1.call('choose', this, _currentPreset); })
+                   .call(svgIcon((textDirection === 'rtl') ? '#iD-icon-backward' : '#iD-icon-forward'));
+
+               function initialKeydown() {
+                   // hack to let delete shortcut work when search is autofocused
+                   if (search.property('value').length === 0 &&
+                       (event.keyCode === utilKeybinding.keyCodes['⌫'] ||
+                        event.keyCode === utilKeybinding.keyCodes['⌦'])) {
+                       event.preventDefault();
+                       event.stopPropagation();
+                       operationDelete([_entityID], context)();
+
+                   // hack to let undo work when search is autofocused
+                   } else if (search.property('value').length === 0 &&
+                       (event.ctrlKey || event.metaKey) &&
+                       event.keyCode === utilKeybinding.keyCodes.z) {
+                       event.preventDefault();
+                       event.stopPropagation();
+                       context.undo();
+                   } else if (!event.ctrlKey && !event.metaKey) {
+                       // don't check for delete/undo hack on future keydown events
+                       d3_select(this).on('keydown', keydown);
+                       keydown.call(this);
+                   }
+               }
+
+               function keydown() {
+                   // down arrow
+                   if (event.keyCode === utilKeybinding.keyCodes['↓'] &&
+                       // if insertion point is at the end of the string
+                       search.node().selectionStart === search.property('value').length) {
+                       event.preventDefault();
+                       event.stopPropagation();
+                       // move focus to the first item in the preset list
+                       var buttons = list.selectAll('.preset-list-button');
+                       if (!buttons.empty()) buttons.nodes()[0].focus();
+                   }
+               }
+
+               function keypress() {
+                   // enter
+                   var value = search.property('value');
+                   if (event.keyCode === 13 && value.length) {
+                       list.selectAll('.preset-list-item:first-child')
+                           .each(function(d) { d.choose.call(this); });
+                   }
+               }
+
+               function inputevent() {
+                   var value = search.property('value');
+                   list.classed('filtered', value.length);
+                   if (value.length) {
+                       var entity = context.entity(_entityID);
+                       if (geocoder && entity) {
+                           var center = entity.extent(context.graph()).center();
+                           geocoder.countryCode(center, function countryCallback(err, countryCode) {
+                               // get the input value again because it may have changed
+                               var currentValue = search.property('value');
+
+                               if (!currentValue.length) return;
+
+                               var results;
+                               if (!err && countryCode) {
+                                   countryCode = countryCode.toLowerCase();
+                                   results = presets.search(currentValue, geometry, countryCode);
+                               } else {
+                                   results = presets.search(currentValue, geometry);
+                               }
+                               message.text(t('inspector.results', {
+                                   n: results.collection.length,
+                                   search: currentValue
+                               }));
+                               list.call(drawList, results);
+                           });
+                       }
+                   } else {
+                       list.call(drawList, context.presets().defaults(geometry, 36));
+                       message.text(t('inspector.choose'));
+                   }
+               }
+
+               var searchWrap = selection
+                   .append('div')
+                   .attr('class', 'search-header');
+
+               var search = searchWrap
+                   .append('input')
+                   .attr('class', 'preset-search-input')
+                   .attr('placeholder', t('inspector.search'))
+                   .attr('type', 'search')
+                   .call(utilNoAuto)
+                   .on('keydown', initialKeydown)
+                   .on('keypress', keypress)
+                   .on('input', inputevent);
+
+               searchWrap
+                   .call(svgIcon('#iD-icon-search', 'pre-text'));
+
+               if (_autofocus) {
+                   search.node().focus();
+               }
+
+               var listWrap = selection
+                   .append('div')
+                   .attr('class', 'inspector-body');
+
+               var list = listWrap
+                   .append('div')
+                   .attr('class', 'preset-list fillL cf')
+                   .call(drawList, context.presets().defaults(geometry, 36));
+
+               context.features().on('change.preset-list', updateForFeatureHiddenState);
+           }
+
+
+           function drawList(list, presets) {
+               var collection = presets.collection.reduce(function(collection, preset) {
+                   if (preset.members) {
+                       if (preset.members.collection.filter(function(preset) {
+                           return preset.visible();
+                       }).length > 1) {
+                           collection.push(CategoryItem(preset));
+                       }
+                   } else if (preset.visible()) {
+                       collection.push(PresetItem(preset));
+                   }
+                   return collection;
+               }, []);
+
+               var items = list.selectAll('.preset-list-item')
+                   .data(collection, function(d) { return d.preset.id; });
+
+               items.order();
+
+               items.exit()
+                   .remove();
+
+               items.enter()
+                   .append('div')
+                   .attr('class', function(item) { return 'preset-list-item preset-' + item.preset.id.replace('/', '-'); })
+                   .classed('current', function(item) { return item.preset === _currentPreset; })
+                   .each(function(item) { d3_select(this).call(item); })
+                   .style('opacity', 0)
+                   .transition()
+                   .style('opacity', 1);
+
+               updateForFeatureHiddenState();
+           }
+
+           function itemKeydown(){
+               // the actively focused item
+               var item = d3_select(this.closest('.preset-list-item'));
+               var parentItem = d3_select(item.node().parentNode.closest('.preset-list-item'));
+
+               // arrow down, move focus to the next, lower item
+               if (event.keyCode === utilKeybinding.keyCodes['↓']) {
+                   event.preventDefault();
+                   event.stopPropagation();
+                   // the next item in the list at the same level
+                   var nextItem = d3_select(item.node().nextElementSibling);
+                   // if there is no next item in this list
+                   if (nextItem.empty()) {
+                       // if there is a parent item
+                       if (!parentItem.empty()) {
+                           // the item is the last item of a sublist,
+                           // select the next item at the parent level
+                           nextItem = d3_select(parentItem.node().nextElementSibling);
+                       }
+                   // if the focused item is expanded
+                   } else if (d3_select(this).classed('expanded')) {
+                       // select the first subitem instead
+                       nextItem = item.select('.subgrid .preset-list-item:first-child');
+                   }
+                   if (!nextItem.empty()) {
+                       // focus on the next item
+                       nextItem.select('.preset-list-button').node().focus();
+                   }
+
+               // arrow up, move focus to the previous, higher item
+               } else if (event.keyCode === utilKeybinding.keyCodes['↑']) {
+                   event.preventDefault();
+                   event.stopPropagation();
+                   // the previous item in the list at the same level
+                   var previousItem = d3_select(item.node().previousElementSibling);
+
+                   // if there is no previous item in this list
+                   if (previousItem.empty()) {
+                       // if there is a parent item
+                       if (!parentItem.empty()) {
+                           // the item is the first subitem of a sublist select the parent item
+                           previousItem = parentItem;
+                       }
+                   // if the previous item is expanded
+                   } else if (previousItem.select('.preset-list-button').classed('expanded')) {
+                       // select the last subitem of the sublist of the previous item
+                       previousItem = previousItem.select('.subgrid .preset-list-item:last-child');
+                   }
+
+                   if (!previousItem.empty()) {
+                       // focus on the previous item
+                       previousItem.select('.preset-list-button').node().focus();
+                   } else {
+                       // the focus is at the top of the list, move focus back to the search field
+                       var search = d3_select(this.closest('.preset-list-pane')).select('.preset-search-input');
+                       search.node().focus();
+                   }
+
+               // arrow left, move focus to the parent item if there is one
+               } else if (event.keyCode === utilKeybinding.keyCodes[(textDirection === 'rtl') ? '→' : '←']) {
+                   event.preventDefault();
+                   event.stopPropagation();
+                   // if there is a parent item, focus on the parent item
+                   if (!parentItem.empty()) {
+                       parentItem.select('.preset-list-button').node().focus();
+                   }
+
+               // arrow right, choose this item
+               } else if (event.keyCode === utilKeybinding.keyCodes[(textDirection === 'rtl') ? '←' : '→']) {
+                   event.preventDefault();
+                   event.stopPropagation();
+                   item.datum().choose.call(d3_select(this).node());
+               }
+           }
+
+
+           function CategoryItem(preset) {
+               var box, sublist, shown = false;
+
+               function item(selection) {
+                   var wrap = selection.append('div')
+                       .attr('class', 'preset-list-button-wrap category');
+
+                   function click() {
+                       var isExpanded = d3_select(this).classed('expanded');
+                       var iconName = isExpanded ?
+                           (textDirection === 'rtl' ? '#iD-icon-backward' : '#iD-icon-forward') : '#iD-icon-down';
+                       d3_select(this)
+                           .classed('expanded', !isExpanded);
+                       d3_select(this).selectAll('div.label-inner svg.icon use')
+                           .attr('href', iconName);
+                       item.choose();
+                   }
+
+                   var button = wrap
+                       .append('button')
+                       .attr('class', 'preset-list-button')
+                       .classed('expanded', false)
+                       .call(uiPresetIcon(context)
+                           .geometry(context.geometry(_entityID))
+                           .preset(preset))
+                       .on('click', click)
+                       .on('keydown', function() {
+                           // right arrow, expand the focused item
+                           if (event.keyCode === utilKeybinding.keyCodes[(textDirection === 'rtl') ? '←' : '→']) {
+                               event.preventDefault();
+                               event.stopPropagation();
+                               // if the item isn't expanded
+                               if (!d3_select(this).classed('expanded')) {
+                                   // toggle expansion (expand the item)
+                                   click.call(this);
+                               }
+                           // left arrow, collapse the focused item
+                           } else if (event.keyCode === utilKeybinding.keyCodes[(textDirection === 'rtl') ? '→' : '←']) {
+                               event.preventDefault();
+                               event.stopPropagation();
+                               // if the item is expanded
+                               if (d3_select(this).classed('expanded')) {
+                                   // toggle expansion (collapse the item)
+                                   click.call(this);
+                               }
+                           } else {
+                               itemKeydown.call(this);
+                           }
+                       });
+
+                   var label = button
+                       .append('div')
+                       .attr('class', 'label')
+                       .append('div')
+                       .attr('class', 'label-inner');
+
+                   label
+                       .append('div')
+                       .attr('class', 'namepart')
+                       .call(svgIcon((textDirection === 'rtl' ? '#iD-icon-backward' : '#iD-icon-forward'), 'inline'))
+                       .append('span')
+                       .html(function() { return preset.name() + '&hellip;'; });
+
+                   box = selection.append('div')
+                       .attr('class', 'subgrid')
+                       .style('max-height', '0px')
+                       .style('opacity', 0);
+
+                   box.append('div')
+                       .attr('class', 'arrow');
+
+                   sublist = box.append('div')
+                       .attr('class', 'preset-list fillL3');
+               }
+
+
+               item.choose = function() {
+                   if (!box || !sublist) return;
+
+                   if (shown) {
+                       shown = false;
+                       box.transition()
+                           .duration(200)
+                           .style('opacity', '0')
+                           .style('max-height', '0px')
+                           .style('padding-bottom', '0px');
+                   } else {
+                       shown = true;
+                       var members = preset.members.matchGeometry(context.geometry(_entityID));
+                       sublist.call(drawList, members);
+                       box.transition()
+                           .duration(200)
+                           .style('opacity', '1')
+                           .style('max-height', 200 + members.collection.length * 190 + 'px')
+                           .style('padding-bottom', '10px');
+                   }
+               };
+
+               item.preset = preset;
+               return item;
+           }
+
+
+           function PresetItem(preset) {
+               function item(selection) {
+                   var wrap = selection.append('div')
+                       .attr('class', 'preset-list-button-wrap');
+
+                   var button = wrap.append('button')
+                       .attr('class', 'preset-list-button')
+                       .call(uiPresetIcon(context)
+                           .geometry(context.geometry(_entityID))
+                           .preset(preset))
+                       .on('click', item.choose)
+                       .on('keydown', itemKeydown);
+
+                   var label = button
+                       .append('div')
+                       .attr('class', 'label')
+                       .append('div')
+                       .attr('class', 'label-inner');
+
+                   // NOTE: split/join on en-dash, not a hypen (to avoid conflict with fr - nl names in Brussels etc)
+                   label.selectAll('.namepart')
+                       .data(preset.name().split(' – '))
+                       .enter()
+                       .append('div')
+                       .attr('class', 'namepart')
+                       .text(function(d) { return d; });
+
+                   wrap.call(item.reference.button);
+                   selection.call(item.reference.body);
+               }
+
+               item.choose = function() {
+                   if (d3_select(this).classed('disabled')) return;
+
+                   context.presets().setMostRecent(preset, context.geometry(_entityID));
+                   context.perform(
+                       actionChangePreset(_entityID, _currentPreset, preset),
+                       t('operations.change_tags.annotation')
+                   );
+
+                   context.validator().validate();  // rerun validation
+                   dispatch$1.call('choose', this, preset);
+               };
+
+               item.help = function() {
+                   event.stopPropagation();
+                   item.reference.toggle();
+               };
+
+               item.preset = preset;
+               item.reference = uiTagReference(preset.reference(context.geometry(_entityID)));
+
+               return item;
+           }
+
+
+           function updateForFeatureHiddenState() {
+               if (!context.hasEntity(_entityID)) return;
+
+               var geometry = context.geometry(_entityID);
+               var button = d3_selectAll('.preset-list .preset-list-button');
+
+               // remove existing tooltips
+               button.call(tooltip().destroyAny);
+
+               button.each(function(item, index) {
+                   var hiddenPresetFeaturesId = context.features().isHiddenPreset(item.preset, geometry);
+                   var isHiddenPreset = !!hiddenPresetFeaturesId && item.preset !== _currentPreset;
+
+                   d3_select(this)
+                       .classed('disabled', isHiddenPreset);
+
+                   if (isHiddenPreset) {
+                       var isAutoHidden = context.features().autoHidden(hiddenPresetFeaturesId);
+                       var tooltipIdSuffix = isAutoHidden ? 'zoom' : 'manual';
+                       var tooltipObj = { features: t('feature.' + hiddenPresetFeaturesId + '.description') };
+                       d3_select(this).call(tooltip()
+                           .title(t('inspector.hidden_preset.' + tooltipIdSuffix, tooltipObj))
+                           .placement(index < 2 ? 'bottom' : 'top')
+                       );
+                   }
+               });
+           }
+
+           presetList.autofocus = function(val) {
+               if (!arguments.length) return _autofocus;
+               _autofocus = val;
+               return presetList;
+           };
+
+
+           presetList.entityID = function(val) {
+               if (!arguments.length) return _entityID;
+               _entityID = val;
+               presetList.preset(context.presets().match(context.entity(_entityID), context.graph()));
+               return presetList;
+           };
+
+
+           presetList.preset = function(val) {
+               if (!arguments.length) return _currentPreset;
+               _currentPreset = val;
+               return presetList;
+           };
+
+
+           return utilRebind(presetList, dispatch$1, 'on');
+       }
+
+       function uiInspector(context) {
+           var presetList = uiPresetList(context);
+           var entityEditor = uiEntityEditor(context);
+           var wrap = d3_select(null),
+               presetPane = d3_select(null),
+               editorPane = d3_select(null);
+           var _state = 'select';
+           var _entityID;
+           var _newFeature = false;
+
+
+           function inspector(selection, newFeature) {
+               presetList
+                   .entityID(_entityID)
+                   .autofocus(_newFeature)
+                   .on('choose', inspector.setPreset);
+
+               entityEditor
+                   .state(_state)
+                   .entityID(_entityID)
+                   .on('choose', inspector.showList);
+
+               wrap = selection.selectAll('.panewrap')
+                   .data([0]);
+
+               var enter = wrap.enter()
+                   .append('div')
+                   .attr('class', 'panewrap');
+
+               enter
+                   .append('div')
+                   .attr('class', 'preset-list-pane pane');
+
+               enter
+                   .append('div')
+                   .attr('class', 'entity-editor-pane pane');
+
+               wrap = wrap.merge(enter);
+               presetPane = wrap.selectAll('.preset-list-pane');
+               editorPane = wrap.selectAll('.entity-editor-pane');
+
+               var entity = context.entity(_entityID);
+
+               var hasNonGeometryTags = entity.hasNonGeometryTags();
+               var isTaglessOrIntersectionVertex = entity.geometry(context.graph()) === 'vertex' &&
+                   (!hasNonGeometryTags && !entity.isHighwayIntersection(context.graph()));
+               var issues = context.validator().getEntityIssues(_entityID);
+               // start with the preset list if the feature is new and untagged or is an uninteresting vertex
+               var showPresetList = (newFeature && !hasNonGeometryTags) || (isTaglessOrIntersectionVertex && !issues.length);
+
+               if (showPresetList) {
+                   wrap.style('right', '-100%');
+                   presetPane.call(presetList);
+               } else {
+                   wrap.style('right', '0%');
+                   editorPane.call(entityEditor);
+               }
+
+               var footer = selection.selectAll('.footer')
+                   .data([0]);
+
+               footer = footer.enter()
+                   .append('div')
+                   .attr('class', 'footer')
+                   .merge(footer);
+
+               footer
+                   .call(uiViewOnOSM(context)
+                       .what(context.hasEntity(_entityID))
+                   );
+           }
+
+           inspector.showList = function(preset) {
+               wrap.transition()
+                   .styleTween('right', function() { return d3_interpolate('0%', '-100%'); });
+
+               presetPane
+                   .call(presetList.preset(preset).autofocus(true));
+           };
+
+           inspector.setPreset = function(preset) {
+
+               // upon setting multipolygon, go to the area preset list instead of the editor
+               if (preset.id === 'type/multipolygon') {
+                   presetPane
+                       .call(presetList.preset(preset).autofocus(true));
+
+               } else {
+                   wrap.transition()
+                       .styleTween('right', function() { return d3_interpolate('-100%', '0%'); });
+
+                   editorPane
+                       .call(entityEditor.preset(preset));
+               }
+
+           };
+
+           inspector.state = function(val) {
+               if (!arguments.length) return _state;
+               _state = val;
+               entityEditor.state(_state);
+
+               // remove any old field help overlay that might have gotten attached to the inspector
+               d3_selectAll('.field-help-body').remove();
+
+               return inspector;
+           };
+
+
+           inspector.entityID = function(val) {
+               if (!arguments.length) return _entityID;
+               _entityID = val;
+               return inspector;
+           };
+
+
+           inspector.newFeature = function(val) {
+               if (!arguments.length) return _newFeature;
+               _newFeature = val;
+               return inspector;
+           };
+
+
+           return inspector;
+       }
+
+       function uiSidebar(context) {
+           var inspector = uiInspector(context);
+           var dataEditor = uiDataEditor(context);
+           var noteEditor = uiNoteEditor(context);
+           var improveOsmEditor = uiImproveOsmEditor(context);
+           var keepRightEditor = uiKeepRightEditor(context);
+           var _current;
+           var _wasData = false;
+           var _wasNote = false;
+           var _wasQAError = false;
+
+
+           function sidebar(selection) {
+               var container = d3_select('#id-container');
+               var minWidth = 280;
+               var sidebarWidth;
+               var containerWidth;
+               var dragOffset;
+
+               var resizer = selection
+                   .append('div')
+                   .attr('id', 'sidebar-resizer');
+
+               // Set the initial width constraints
+               selection
+                   .style('min-width', minWidth + 'px')
+                   .style('max-width', '400px')
+                   .style('width', '33.3333%');
+
+               resizer.call(d3_drag()
+                   .container(container.node())
+                   .on('start', function() {
+                       // offset from edge of sidebar-resizer
+                       dragOffset = event.sourceEvent.offsetX - 1;
+
+                       sidebarWidth = selection.node().getBoundingClientRect().width;
+                       containerWidth = container.node().getBoundingClientRect().width;
+                       var widthPct = (sidebarWidth / containerWidth) * 100;
+                       selection
+                           .style('width', widthPct + '%')    // lock in current width
+                           .style('max-width', '85%');        // but allow larger widths
+
+                       resizer.classed('dragging', true);
+                   })
+                   .on('drag', function() {
+                       var isRTL = (textDirection === 'rtl');
+                       var scaleX = isRTL ? 0 : 1;
+                       var xMarginProperty = isRTL ? 'margin-right' : 'margin-left';
+
+                       var x = event.x - dragOffset;
+                       sidebarWidth = isRTL ? containerWidth - x : x;
+
+                       var isCollapsed = selection.classed('collapsed');
+                       var shouldCollapse = sidebarWidth < minWidth;
+
+                       selection.classed('collapsed', shouldCollapse);
+
+                       if (shouldCollapse) {
+                           if (!isCollapsed) {
+                               selection
+                                   .style(xMarginProperty, '-400px')
+                                   .style('width', '400px');
+
+                               context.ui().onResize([(sidebarWidth - event.dx) * scaleX, 0]);
+                           }
+
+                       } else {
+                           var widthPct = (sidebarWidth / containerWidth) * 100;
+                           selection
+                               .style(xMarginProperty, null)
+                               .style('width', widthPct + '%');
+
+                           if (isCollapsed) {
+                               context.ui().onResize([-sidebarWidth * scaleX, 0]);
+                           } else {
+                               context.ui().onResize([-event.dx * scaleX, 0]);
+                           }
+                       }
+                   })
+                   .on('end', function() {
+                       resizer.classed('dragging', false);
+                   })
+               );
+
+               var featureListWrap = selection
+                   .append('div')
+                   .attr('class', 'feature-list-pane')
+                   .call(uiFeatureList(context));
+
+               var inspectorWrap = selection
+                   .append('div')
+                   .attr('class', 'inspector-hidden inspector-wrap fr');
+
+
+               function hover(datum) {
+                   if (datum && datum.__featurehash__) {   // hovering on data
+                       _wasData = true;
+                       sidebar
+                           .show(dataEditor.datum(datum));
+
+                       selection.selectAll('.sidebar-component')
+                           .classed('inspector-hover', true);
+
+                   } else if (datum instanceof osmNote) {
+                       if (context.mode().id === 'drag-note') return;
+                       _wasNote = true;
+
+                       var osm = services$1.osm;
+                       if (osm) {
+                           datum = osm.getNote(datum.id);   // marker may contain stale data - get latest
+                       }
+
+                       sidebar
+                           .show(noteEditor.note(datum));
+
+                       selection.selectAll('.sidebar-component')
+                           .classed('inspector-hover', true);
+
+                   } else if (datum instanceof qaError) {
+                       _wasQAError = true;
+
+                       var errService = services$1[datum.service];
+                       if (errService) {
+                           // marker may contain stale data - get latest
+                           datum = errService.getError(datum.id);
+                       }
+
+                       // Temporary solution while only two services
+                       var errEditor = (datum.service === 'keepRight') ? keepRightEditor : improveOsmEditor;
+
+                       d3_selectAll('.qa_error.' + datum.service)
+                           .classed('hover', function(d) { return d.id === datum.id; });
+
+                       sidebar
+                           .show(errEditor.error(datum));
+
+                       selection.selectAll('.sidebar-component')
+                           .classed('inspector-hover', true);
+
+                   } else if (!_current && (datum instanceof osmEntity)) {
+                       featureListWrap
+                           .classed('inspector-hidden', true);
+
+                       inspectorWrap
+                           .classed('inspector-hidden', false)
+                           .classed('inspector-hover', true);
+
+                       if (inspector.entityID() !== datum.id || inspector.state() !== 'hover') {
+                           inspector
+                               .state('hover')
+                               .entityID(datum.id);
+
+                           inspectorWrap
+                               .call(inspector);
+                       }
+
+                   } else if (!_current) {
+                       featureListWrap
+                           .classed('inspector-hidden', false);
+                       inspectorWrap
+                           .classed('inspector-hidden', true);
+                       inspector
+                           .state('hide');
+
+                   } else if (_wasData || _wasNote || _wasQAError) {
+                       _wasNote = false;
+                       _wasData = false;
+                       _wasQAError = false;
+                       d3_selectAll('.note').classed('hover', false);
+                       d3_selectAll('.qa_error').classed('hover', false);
+                       sidebar.hide();
+                   }
+               }
+
+               sidebar.hover = throttle(hover, 200);
+
+
+               sidebar.intersects = function(extent) {
+                   var rect = selection.node().getBoundingClientRect();
+                   return extent.intersects([
+                       context.projection.invert([0, rect.height]),
+                       context.projection.invert([rect.width, 0])
+                   ]);
+               };
+
+
+               sidebar.select = function(id, newFeature) {
+                   sidebar.hide();
+
+                   if (id) {
+                       var entity = context.entity(id);
+                       // uncollapse the sidebar
+                       if (selection.classed('collapsed')) {
+                           if (newFeature) {
+                               var extent = entity.extent(context.graph());
+                               sidebar.expand(sidebar.intersects(extent));
+                           }
+                       }
+
+                       featureListWrap
+                           .classed('inspector-hidden', true);
+
+                       inspectorWrap
+                           .classed('inspector-hidden', false)
+                           .classed('inspector-hover', false);
+
+                       if (inspector.entityID() !== id || inspector.state() !== 'select') {
+                           inspector
+                               .state('select')
+                               .entityID(id)
+                               .newFeature(newFeature);
+
+                           inspectorWrap
+                               .call(inspector, newFeature);
+                       }
+
+                       sidebar.showPresetList = function() {
+                           inspector.showList(context.presets().match(entity, context.graph()));
+                       };
+
+                   } else {
+                       inspector
+                           .state('hide');
+                   }
+               };
+
+
+               sidebar.show = function(component, element) {
+                   featureListWrap
+                       .classed('inspector-hidden', true);
+                   inspectorWrap
+                       .classed('inspector-hidden', true);
+
+                   if (_current) _current.remove();
+                   _current = selection
+                       .append('div')
+                       .attr('class', 'sidebar-component')
+                       .call(component, element);
+               };
+
+
+               sidebar.hide = function() {
+                   featureListWrap
+                       .classed('inspector-hidden', false);
+                   inspectorWrap
+                       .classed('inspector-hidden', true);
+
+                   if (_current) _current.remove();
+                   _current = null;
+               };
+
+
+               sidebar.expand = function(moveMap) {
+                   if (selection.classed('collapsed')) {
+                       sidebar.toggle(moveMap);
+                   }
+               };
+
+
+               sidebar.collapse = function(moveMap) {
+                   if (!selection.classed('collapsed')) {
+                       sidebar.toggle(moveMap);
+                   }
+               };
+
+
+               sidebar.toggle = function(moveMap) {
+                   var e = event;
+                   if (e && e.sourceEvent) {
+                       e.sourceEvent.preventDefault();
+                   } else if (e) {
+                       e.preventDefault();
+                   }
+
+                   // Don't allow sidebar to toggle when the user is in the walkthrough.
+                   if (context.inIntro()) return;
+
+                   var isCollapsed = selection.classed('collapsed');
+                   var isCollapsing = !isCollapsed;
+                   var isRTL = (textDirection === 'rtl');
+                   var scaleX = isRTL ? 0 : 1;
+                   var xMarginProperty = isRTL ? 'margin-right' : 'margin-left';
+
+                   sidebarWidth = selection.node().getBoundingClientRect().width;
+
+                   // switch from % to px
+                   selection.style('width', sidebarWidth + 'px');
+
+                   var startMargin, endMargin, lastMargin;
+                   if (isCollapsing) {
+                       startMargin = lastMargin = 0;
+                       endMargin = -sidebarWidth;
+                   } else {
+                       startMargin = lastMargin = -sidebarWidth;
+                       endMargin = 0;
+                   }
+
+                   selection.transition()
+                       .style(xMarginProperty, endMargin + 'px')
+                       .tween('panner', function() {
+                           var i = d3_interpolateNumber(startMargin, endMargin);
+                           return function(t) {
+                               var dx = lastMargin - Math.round(i(t));
+                               lastMargin = lastMargin - dx;
+                               context.ui().onResize(moveMap ? undefined : [dx * scaleX, 0]);
+                           };
+                       })
+                       .on('end', function() {
+                           selection.classed('collapsed', isCollapsing);
+
+                           // switch back from px to %
+                           if (!isCollapsing) {
+                               var containerWidth = container.node().getBoundingClientRect().width;
+                               var widthPct = (sidebarWidth / containerWidth) * 100;
+                               selection
+                                   .style(xMarginProperty, null)
+                                   .style('width', widthPct + '%');
+                           }
+                       });
+               };
+
+               // toggle the sidebar collapse when double-clicking the resizer
+               resizer.on('dblclick', sidebar.toggle);
+           }
+
+           sidebar.showPresetList = function() {};
+           sidebar.hover = function() {};
+           sidebar.hover.cancel = function() {};
+           sidebar.intersects = function() {};
+           sidebar.select = function() {};
+           sidebar.show = function() {};
+           sidebar.hide = function() {};
+           sidebar.expand = function() {};
+           sidebar.collapse = function() {};
+           sidebar.toggle = function() {};
+
+           return sidebar;
+       }
+
+       function uiSpinner(context) {
+           var osm = context.connection();
+
+
+           return function(selection) {
+               var img = selection
+                   .append('img')
+                   .attr('src', context.imagePath('loader-black.gif'))
+                   .style('opacity', 0);
+
+               if (osm) {
+                   osm
+                       .on('loading.spinner', function() {
+                           img.transition()
+                               .style('opacity', 1);
+                       })
+                       .on('loaded.spinner', function() {
+                           img.transition()
+                               .style('opacity', 0);
+                       });
+               }
+           };
+       }
+
+       function uiSplash(context) {
+
+           return function(selection) {
+               if (context.storage('sawSplash'))
+                    return;
+
+               context.storage('sawSplash', true);
+
+               var modalSelection = uiModal(selection);
+
+               modalSelection.select('.modal')
+                   .attr('class', 'modal-splash modal');
+
+               var introModal = modalSelection.select('.content')
+                   .append('div')
+                   .attr('class', 'fillL');
+
+               introModal
+                   .append('div')
+                   .attr('class','modal-section')
+                   .append('h3').text(t('splash.welcome'));
+
+               introModal
+                   .append('div')
+                   .attr('class','modal-section')
+                   .append('p')
+                   .html(t('splash.text', {
+                       version: context.version,
+                       website: '<a href="http://ideditor.com/">ideditor.com</a>',
+                       github: '<a href="https://github.com/openstreetmap/iD">github.com</a>'
+                   }));
+
+               var buttonWrap = introModal
+                   .append('div')
+                   .attr('class', 'modal-actions');
+
+               var walkthrough = buttonWrap
+                   .append('button')
+                   .attr('class', 'walkthrough')
+                   .on('click', function() {
+                       context.container().call(uiIntro(context));
+                       modalSelection.close();
+                   });
+
+               walkthrough
+                   .append('svg')
+                   .attr('class', 'logo logo-walkthrough')
+                   .append('use')
+                   .attr('xlink:href', '#iD-logo-walkthrough');
+
+               walkthrough
+                   .append('div')
+                   .text(t('splash.walkthrough'));
+
+               var startEditing = buttonWrap
+                   .append('button')
+                   .attr('class', 'start-editing')
+                   .on('click', modalSelection.close);
+
+               startEditing
+                   .append('svg')
+                   .attr('class', 'logo logo-features')
+                   .append('use')
+                   .attr('xlink:href', '#iD-logo-features');
+
+               startEditing
+                   .append('div')
+                   .text(t('splash.start'));
+
+
+               modalSelection.select('button.close')
+                   .attr('class','hide');
+
+           };
+       }
+
+       function uiStatus(context) {
+           var osm = context.connection();
+
+
+           return function(selection) {
+               if (!osm) return;
+
+               function update() {
+                   osm.status(function(err, apiStatus) {
+                       selection.html('');
+
+                       if (err) {
+                           if (apiStatus === 'connectionSwitched') {
+                               // if the connection was just switched, we can't rely on
+                               // the status (we're getting the status of the previous api)
+                               return;
+
+                           } else if (apiStatus === 'rateLimited') {
+                               selection
+                                   .text(t('status.rateLimit'))
+                                   .append('a')
+                                   .attr('class', 'api-status-login')
+                                   .attr('target', '_blank')
+                                   .call(svgIcon('#iD-icon-out-link', 'inline'))
+                                   .append('span')
+                                   .text(t('login'))
+                                   .on('click.login', function() {
+                                       event.preventDefault();
+                                       osm.authenticate();
+                                   });
+                           } else {
+                               // eslint-disable-next-line no-warning-comments
+                               // TODO: nice messages for different error types
+                               selection.text(t('status.error'));
+                           }
+
+                       } else if (apiStatus === 'readonly') {
+                           selection.text(t('status.readonly'));
+                       } else if (apiStatus === 'offline') {
+                           selection.text(t('status.offline'));
+                       }
+
+                       selection.attr('class', 'api-status ' + (err ? 'error' : apiStatus));
+                   });
+               }
+
+               osm.on('change', function() { update(); });
+
+               window.setInterval(update, 90000);
+               update();
+           };
+       }
+
+       function modeDrawArea(context, wayID, startGraph, baselineGraph, button) {
+           var mode = {
+               button: button,
+               id: 'draw-area'
+           };
+
+           var behavior;
+
+           mode.wayID = wayID;
+
+           mode.enter = function() {
+               var way = context.entity(wayID);
+
+               behavior = behaviorDrawWay(context, wayID, undefined, mode, startGraph, baselineGraph)
+                   .tail(t('modes.draw_area.tail'));
+
+               var addNode = behavior.addNode;
+
+               behavior.addNode = function(node, d) {
+                   var length = way.nodes.length;
+                   var penultimate = length > 2 ? way.nodes[length - 2] : null;
+
+                   if (node.id === way.first() || node.id === penultimate) {
+                       behavior.finish();
+                   } else {
+                       addNode(node, d);
+                   }
+               };
+
+               context.install(behavior);
+           };
+
+
+           mode.exit = function() {
+               context.uninstall(behavior);
+           };
+
+
+           mode.selectedIDs = function() {
+               return [wayID];
+           };
+
+
+           mode.activeID = function() {
+               return (behavior && behavior.activeID()) || [];
+           };
+
+
+           return mode;
+       }
+
+       function modeAddArea(context, mode) {
+           mode.id = 'add-area';
+
+           var behavior = behaviorAddWay(context)
+               .tail(t('modes.add_area.tail'))
+               .on('start', start)
+               .on('startFromWay', startFromWay)
+               .on('startFromNode', startFromNode);
+
+           var defaultTags = { area: 'yes' };
+           if (mode.preset) defaultTags = mode.preset.setTags(defaultTags, 'area');
+
+
+           function actionClose(wayId) {
+               return function (graph) {
+                   return graph.replace(graph.entity(wayId).close());
+               };
+           }
+
+
+           function start(loc) {
+               var startGraph = context.graph();
+               var node = osmNode({ loc: loc });
+               var way = osmWay({ tags: defaultTags });
+
+               context.perform(
+                   actionAddEntity(node),
+                   actionAddEntity(way),
+                   actionAddVertex(way.id, node.id),
+                   actionClose(way.id)
+               );
+
+               context.enter(modeDrawArea(context, way.id, startGraph, context.graph(), mode.button));
+           }
+
+
+           function startFromWay(loc, edge) {
+               var startGraph = context.graph();
+               var node = osmNode({ loc: loc });
+               var way = osmWay({ tags: defaultTags });
+
+               context.perform(
+                   actionAddEntity(node),
+                   actionAddEntity(way),
+                   actionAddVertex(way.id, node.id),
+                   actionClose(way.id),
+                   actionAddMidpoint({ loc: loc, edge: edge }, node)
+               );
+
+               context.enter(modeDrawArea(context, way.id, startGraph, context.graph(), mode.button));
+           }
+
+
+           function startFromNode(node) {
+               var startGraph = context.graph();
+               var way = osmWay({ tags: defaultTags });
+
+               context.perform(
+                   actionAddEntity(way),
+                   actionAddVertex(way.id, node.id),
+                   actionClose(way.id)
+               );
+
+               context.enter(modeDrawArea(context, way.id, startGraph, context.graph(), mode.button));
+           }
+
+
+           mode.enter = function() {
+               context.install(behavior);
+           };
+
+
+           mode.exit = function() {
+               context.uninstall(behavior);
+           };
+
+
+           return mode;
+       }
+
+       function modeAddLine(context, mode) {
+           mode.id = 'add-line';
+
+           var behavior = behaviorAddWay(context)
+               .tail(t('modes.add_line.tail'))
+               .on('start', start)
+               .on('startFromWay', startFromWay)
+               .on('startFromNode', startFromNode);
+
+           var defaultTags = {};
+           if (mode.preset) defaultTags = mode.preset.setTags(defaultTags, 'line');
+
+
+           function start(loc) {
+               var startGraph = context.graph();
+               var node = osmNode({ loc: loc });
+               var way = osmWay({ tags: defaultTags });
+
+               context.perform(
+                   actionAddEntity(node),
+                   actionAddEntity(way),
+                   actionAddVertex(way.id, node.id)
+               );
+
+               context.enter(modeDrawLine(context, way.id, startGraph, context.graph(), mode.button));
+           }
+
+
+           function startFromWay(loc, edge) {
+               var startGraph = context.graph();
+               var node = osmNode({ loc: loc });
+               var way = osmWay({ tags: defaultTags });
+
+               context.perform(
+                   actionAddEntity(node),
+                   actionAddEntity(way),
+                   actionAddVertex(way.id, node.id),
+                   actionAddMidpoint({ loc: loc, edge: edge }, node)
+               );
+
+               context.enter(modeDrawLine(context, way.id, startGraph, context.graph(), mode.button));
+           }
+
+
+           function startFromNode(node) {
+               var startGraph = context.graph();
+               var way = osmWay({ tags: defaultTags });
+
+               context.perform(
+                   actionAddEntity(way),
+                   actionAddVertex(way.id, node.id)
+               );
+
+               context.enter(modeDrawLine(context, way.id, startGraph, context.graph(), mode.button));
+           }
+
+
+           mode.enter = function() {
+               context.install(behavior);
+           };
+
+
+           mode.exit = function() {
+               context.uninstall(behavior);
+           };
+
+           return mode;
+       }
+
+       function modeAddPoint(context, mode) {
+
+           mode.id = 'add-point';
+
+           var behavior = behaviorDraw(context)
+               .tail(t('modes.add_point.tail'))
+               .on('click', add)
+               .on('clickWay', addWay)
+               .on('clickNode', addNode)
+               .on('cancel', cancel)
+               .on('finish', cancel);
+
+           var defaultTags = {};
+           if (mode.preset) defaultTags = mode.preset.setTags(defaultTags, 'point');
+
+
+           function add(loc) {
+               var node = osmNode({ loc: loc, tags: defaultTags });
+
+               context.perform(
+                   actionAddEntity(node),
+                   t('operations.add.annotation.point')
+               );
+
+               enterSelectMode(node);
+           }
+
+
+           function addWay(loc, edge) {
+               var node = osmNode({ tags: defaultTags });
+
+               context.perform(
+                   actionAddMidpoint({loc: loc, edge: edge}, node),
+                   t('operations.add.annotation.vertex')
+               );
+
+               enterSelectMode(node);
+           }
+
+           function enterSelectMode(node) {
+               context.enter(
+                   modeSelect(context, [node.id]).newFeature(true)
+               );
+           }
+
+
+           function addNode(node) {
+               if (Object.keys(defaultTags).length === 0) {
+                   enterSelectMode(node);
+                   return;
+               }
+
+               var tags = Object.assign({}, node.tags);  // shallow copy
+               for (var key in defaultTags) {
+                   tags[key] = defaultTags[key];
+               }
+
+               context.perform(
+                   actionChangeTags(node.id, tags),
+                   t('operations.add.annotation.point')
+               );
+
+               enterSelectMode(node);
+           }
+
+
+           function cancel() {
+               context.enter(modeBrowse(context));
+           }
+
+
+           mode.enter = function() {
+               context.install(behavior);
+           };
+
+
+           mode.exit = function() {
+               context.uninstall(behavior);
+           };
+
+
+           return mode;
+       }
+
+       function modeAddNote(context) {
+           var mode = {
+               id: 'add-note',
+               button: 'note',
+               title: t('modes.add_note.title'),
+               description: t('modes.add_note.description'),
+               key: t('modes.add_note.key')
+           };
+
+           var behavior = behaviorDraw(context)
+               .tail(t('modes.add_note.tail'))
+               .on('click', add)
+               .on('cancel', cancel)
+               .on('finish', cancel);
+
+
+           function add(loc) {
+               var osm = services$1.osm;
+               if (!osm) return;
+
+               var note = osmNote({ loc: loc, status: 'open', comments: [] });
+               osm.replaceNote(note);
+
+               // force a reraw (there is no history change that would otherwise do this)
+               context.pan([0,0]);
+
+               context
+                   .selectedNoteID(note.id)
+                   .enter(modeSelectNote(context, note.id).newFeature(true));
+           }
+
+
+           function cancel() {
+               context.enter(modeBrowse(context));
+           }
+
+
+           mode.enter = function() {
+               context.install(behavior);
+           };
+
+
+           mode.exit = function() {
+               context.uninstall(behavior);
+           };
+
+
+           return mode;
+       }
+
+       function uiConflicts(context) {
+           var dispatch$1 = dispatch('cancel', 'save');
+           var keybinding = utilKeybinding('conflicts');
+           var _origChanges;
+           var _conflictList;
+
+
+           function keybindingOn() {
+               d3_select(document)
+                   .call(keybinding.on('⎋', cancel, true));
+           }
+
+           function keybindingOff() {
+               d3_select(document)
+                   .call(keybinding.unbind);
+           }
+
+           function tryAgain() {
+               keybindingOff();
+               dispatch$1.call('save');
+           }
+
+           function cancel() {
+               keybindingOff();
+               dispatch$1.call('cancel');
+           }
+
+
+           function conflicts(selection) {
+               keybindingOn();
+
+               var headerEnter = selection.selectAll('.header')
+                   .data([0])
+                   .enter()
+                   .append('div')
+                   .attr('class', 'header fillL');
+
+               headerEnter
+                   .append('button')
+                   .attr('class', 'fr')
+                   .on('click', cancel)
+                   .call(svgIcon('#iD-icon-close'));
+
+               headerEnter
+                   .append('h3')
+                   .text(t('save.conflict.header'));
+
+               var bodyEnter = selection.selectAll('.body')
+                   .data([0])
+                   .enter()
+                   .append('div')
+                   .attr('class', 'body fillL');
+
+               var conflictsHelpEnter = bodyEnter
+                   .append('div')
+                   .attr('class', 'conflicts-help')
+                   .text(t('save.conflict.help'));
+
+
+               // Download changes link
+               var detected = utilDetect();
+               var changeset = new osmChangeset();
+
+               delete changeset.id;  // Export without changeset_id
+
+               var data = JXON.stringify(changeset.osmChangeJXON(_origChanges));
+               var blob = new Blob([data], { type: 'text/xml;charset=utf-8;' });
+               var fileName = 'changes.osc';
+
+               var linkEnter = conflictsHelpEnter.selectAll('.download-changes')
+                   .append('a')
+                   .attr('class', 'download-changes');
+
+               if (detected.download) {      // All except IE11 and Edge
+                   linkEnter                 // download the data as a file
+                       .attr('href', window.URL.createObjectURL(blob))
+                       .attr('download', fileName);
+
+               } else {                      // IE11 and Edge
+                   linkEnter                 // open data uri in a new tab
+                       .attr('target', '_blank')
+                       .on('click.download', function() {
+                           navigator.msSaveBlob(blob, fileName);
+                       });
+               }
+
+               linkEnter
+                   .call(svgIcon('#iD-icon-load', 'inline'))
+                   .append('span')
+                   .text(t('save.conflict.download_changes'));
+
+
+               bodyEnter
+                   .append('div')
+                   .attr('class', 'conflict-container fillL3')
+                   .call(showConflict, 0);
+
+               bodyEnter
+                   .append('div')
+                   .attr('class', 'conflicts-done')
+                   .attr('opacity', 0)
+                   .style('display', 'none')
+                   .text(t('save.conflict.done'));
+
+               var buttonsEnter = bodyEnter
+                   .append('div')
+                   .attr('class','buttons col12 joined conflicts-buttons');
+
+               buttonsEnter
+                   .append('button')
+                   .attr('disabled', _conflictList.length > 1)
+                   .attr('class', 'action conflicts-button col6')
+                   .text(t('save.title'))
+                   .on('click.try_again', tryAgain);
+
+               buttonsEnter
+                   .append('button')
+                   .attr('class', 'secondary-action conflicts-button col6')
+                   .text(t('confirm.cancel'))
+                   .on('click.cancel', cancel);
+           }
+
+
+           function showConflict(selection, index) {
+               index = utilWrap(index, _conflictList.length);
+
+               var parent = d3_select(selection.node().parentNode);
+
+               // enable save button if this is the last conflict being reviewed..
+               if (index === _conflictList.length - 1) {
+                   window.setTimeout(function() {
+                       parent.select('.conflicts-button')
+                           .attr('disabled', null);
+
+                       parent.select('.conflicts-done')
+                           .transition()
+                           .attr('opacity', 1)
+                           .style('display', 'block');
+                   }, 250);
+               }
+
+               var conflict = selection
+                   .selectAll('.conflict')
+                   .data([_conflictList[index]]);
+
+               conflict.exit()
+                   .remove();
+
+               var conflictEnter = conflict.enter()
+                   .append('div')
+                   .attr('class', 'conflict');
+
+               conflictEnter
+                   .append('h4')
+                   .attr('class', 'conflict-count')
+                   .text(t('save.conflict.count', { num: index + 1, total: _conflictList.length }));
+
+               conflictEnter
+                   .append('a')
+                   .attr('class', 'conflict-description')
+                   .attr('href', '#')
+                   .text(function(d) { return d.name; })
+                   .on('click', function(d) {
+                       event.preventDefault();
+                       zoomToEntity(d.id);
+                   });
+
+               var details = conflictEnter
+                   .append('div')
+                   .attr('class', 'conflict-detail-container');
+
+               details
+                   .append('ul')
+                   .attr('class', 'conflict-detail-list')
+                   .selectAll('li')
+                   .data(function(d) { return d.details || []; })
+                   .enter()
+                   .append('li')
+                   .attr('class', 'conflict-detail-item')
+                   .html(function(d) { return d; });
+
+               details
+                   .append('div')
+                   .attr('class', 'conflict-choices')
+                   .call(addChoices);
+
+               details
+                   .append('div')
+                   .attr('class', 'conflict-nav-buttons joined cf')
+                   .selectAll('button')
+                   .data(['previous', 'next'])
+                   .enter()
+                   .append('button')
+                   .text(function(d) { return t('save.conflict.' + d); })
+                   .attr('class', 'conflict-nav-button action col6')
+                   .attr('disabled', function(d, i) {
+                       return (i === 0 && index === 0) ||
+                           (i === 1 && index === _conflictList.length - 1) || null;
+                   })
+                   .on('click', function(d, i) {
+                       event.preventDefault();
+
+                       var container = parent.selectAll('.conflict-container');
+                       var sign = (i === 0 ? -1 : 1);
+
+                       container
+                           .selectAll('.conflict')
+                           .remove();
+
+                       container
+                           .call(showConflict, index + sign);
+                   });
+
+           }
+
+
+           function addChoices(selection) {
+               var choices = selection
+                   .append('ul')
+                   .attr('class', 'layer-list')
+                   .selectAll('li')
+                   .data(function(d) { return d.choices || []; });
+
+               // enter
+               var choicesEnter = choices.enter()
+                   .append('li')
+                   .attr('class', 'layer');
+
+               var labelEnter = choicesEnter
+                   .append('label');
+
+               labelEnter
+                   .append('input')
+                   .attr('type', 'radio')
+                   .attr('name', function(d) { return d.id; })
+                   .on('change', function(d, i) {
+                       var ul = this.parentNode.parentNode.parentNode;
+                       ul.__data__.chosen = i;
+                       choose(ul, d);
+                   });
+
+               labelEnter
+                   .append('span')
+                   .text(function(d) { return d.text; });
+
+               // update
+               choicesEnter
+                   .merge(choices)
+                   .each(function(d, i) {
+                       var ul = this.parentNode;
+                       if (ul.__data__.chosen === i) {
+                           choose(ul, d);
+                       }
+                   });
+           }
+
+
+           function choose(ul, datum) {
+               if (event) event.preventDefault();
+
+               d3_select(ul)
+                   .selectAll('li')
+                   .classed('active', function(d) { return d === datum; })
+                   .selectAll('input')
+                   .property('checked', function(d) { return d === datum; });
+
+               var extent = geoExtent();
+               var entity;
+
+               entity = context.graph().hasEntity(datum.id);
+               if (entity) extent._extend(entity.extent(context.graph()));
+
+               datum.action();
+
+               entity = context.graph().hasEntity(datum.id);
+               if (entity) extent._extend(entity.extent(context.graph()));
+
+               zoomToEntity(datum.id, extent);
+           }
+
+
+           function zoomToEntity(id, extent) {
+               context.surface().selectAll('.hover')
+                   .classed('hover', false);
+
+               var entity = context.graph().hasEntity(id);
+               if (entity) {
+                   if (extent) {
+                       context.map().trimmedExtent(extent);
+                   } else {
+                       context.map().zoomToEase(entity);
+                   }
+                   context.surface().selectAll(utilEntityOrMemberSelector([entity.id], context.graph()))
+                       .classed('hover', true);
+               }
+           }
+
+
+           // The conflict list should be an array of objects like:
+           // {
+           //     id: id,
+           //     name: entityName(local),
+           //     details: merge.conflicts(),
+           //     chosen: 1,
+           //     choices: [
+           //         choice(id, keepMine, forceLocal),
+           //         choice(id, keepTheirs, forceRemote)
+           //     ]
+           // }
+           conflicts.conflictList = function(_) {
+               if (!arguments.length) return _conflictList;
+               _conflictList = _;
+               return conflicts;
+           };
+
+
+           conflicts.origChanges = function(_) {
+               if (!arguments.length) return _origChanges;
+               _origChanges = _;
+               return conflicts;
+           };
+
+
+           return utilRebind(conflicts, dispatch$1, 'on');
+       }
+
+       function uiChangesetEditor(context) {
+           var dispatch$1 = dispatch('change');
+           var formFields = uiFormFields(context);
+           var commentCombo = uiCombobox(context, 'comment').caseSensitive(true);
+           var _fieldsArr;
+           var _tags;
+           var _changesetID;
+
+
+           function changesetEditor(selection) {
+               render(selection);
+           }
+
+
+           function render(selection) {
+               var initial = false;
+
+               if (!_fieldsArr) {
+                   initial = true;
+                   var presets = context.presets();
+
+                   _fieldsArr = [
+                       uiField(context, presets.field('comment'), null, { show: true, revert: false }),
+                       uiField(context, presets.field('source'), null, { show: false, revert: false }),
+                       uiField(context, presets.field('hashtags'), null, { show: false, revert: false }),
+                   ];
+
+                   _fieldsArr.forEach(function(field) {
+                       field
+                           .on('change', function(t, onInput) {
+                               dispatch$1.call('change', field, t, onInput);
+                           });
+                   });
+               }
+
+               _fieldsArr.forEach(function(field) {
+                   field
+                       .tags(_tags);
+               });
+
+
+               selection
+                   .call(formFields.fieldsArr(_fieldsArr));
+
+
+               if (initial) {
+                   var commentField = selection.select('#preset-input-comment');
+                   var commentNode = commentField.node();
+
+                   if (commentNode) {
+                       commentNode.focus();
+                       commentNode.select();
+                   }
+
+                   // trigger a 'blur' event so that comment field can be cleaned
+                   // and checked for hashtags, even if retrieved from localstorage
+                   utilTriggerEvent(commentField, 'blur');
+
+                   var osm = context.connection();
+                   if (osm) {
+                       osm.userChangesets(function (err, changesets) {
+                           if (err) return;
+
+                           var comments = changesets.map(function(changeset) {
+                               var comment = changeset.tags.comment;
+                               return comment ? { title: comment, value: comment } : null;
+                           }).filter(Boolean);
+
+                           commentField
+                               .call(commentCombo
+                                   .data(utilArrayUniqBy(comments, 'title'))
+                               );
+                       });
+                   }
+               }
+
+               // Add warning if comment mentions Google
+               var hasGoogle = _tags.comment.match(/google/i);
+               var commentWarning = selection.select('.form-field-comment').selectAll('.comment-warning')
+                   .data(hasGoogle ? [0] : []);
+
+               commentWarning.exit()
+                   .transition()
+                   .duration(200)
+                   .style('opacity', 0)
+                   .remove();
+
+               var commentEnter = commentWarning.enter()
+                   .insert('div', '.tag-reference-body')
+                   .attr('class', 'field-warning comment-warning')
+                   .style('opacity', 0);
+
+               commentEnter
+                   .append('a')
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .call(svgIcon('#iD-icon-alert', 'inline'))
+                   .attr('href', t('commit.google_warning_link'))
+                   .append('span')
+                   .text(t('commit.google_warning'));
+
+               commentEnter
+                   .transition()
+                   .duration(200)
+                   .style('opacity', 1);
+           }
+
+
+           changesetEditor.tags = function(_) {
+               if (!arguments.length) return _tags;
+               _tags = _;
+               // Don't reset _fieldsArr here.
+               return changesetEditor;
+           };
+
+
+           changesetEditor.changesetID = function(_) {
+               if (!arguments.length) return _changesetID;
+               if (_changesetID === _) return changesetEditor;
+               _changesetID = _;
+               _fieldsArr = null;
+               return changesetEditor;
+           };
+
+
+           return utilRebind(changesetEditor, dispatch$1, 'on');
+       }
+
+       function uiCommitChanges(context) {
+           var detected = utilDetect();
+           var _entityID;
+
+
+           function commitChanges(selection) {
+               var history = context.history();
+               var summary = history.difference().summary();
+
+               var container = selection.selectAll('.modal-section.commit-section')
+                   .data([0]);
+
+               var containerEnter = container.enter()
+                   .append('div')
+                   .attr('class', 'commit-section modal-section fillL2');
+
+               containerEnter
+                   .append('h3')
+                   .text(t('commit.changes', { count: summary.length }));
+
+               containerEnter
+                   .append('ul')
+                   .attr('class', 'changeset-list');
+
+               container = containerEnter
+                   .merge(container);
+
+
+               var items = container.select('ul').selectAll('li')
+                   .data(summary);
+
+               var itemsEnter = items.enter()
+                   .append('li')
+                   .attr('class', 'change-item');
+
+               itemsEnter
+                   .each(function(d) {
+                       d3_select(this)
+                           .call(svgIcon('#iD-icon-' + d.entity.geometry(d.graph), 'pre-text ' + d.changeType));
+                   });
+
+               itemsEnter
+                   .append('span')
+                   .attr('class', 'change-type')
+                   .text(function(d) { return t('commit.' + d.changeType) + ' '; });
+
+               itemsEnter
+                   .append('strong')
+                   .attr('class', 'entity-type')
+                   .text(function(d) {
+                       var matched = context.presets().match(d.entity, d.graph);
+                       return (matched && matched.name()) || utilDisplayType(d.entity.id);
+                   });
+
+               itemsEnter
+                   .append('span')
+                   .attr('class', 'entity-name')
+                   .text(function(d) {
+                       var name = utilDisplayName(d.entity) || '',
+                           string = '';
+                       if (name !== '') {
+                           string += ':';
+                       }
+                       return string += ' ' + name;
+                   });
+
+               itemsEnter
+                   .style('opacity', 0)
+                   .transition()
+                   .style('opacity', 1);
+
+               items = itemsEnter
+                   .merge(items);
+
+               items
+                   .on('mouseover', mouseover)
+                   .on('mouseout', mouseout)
+                   .on('click', click);
+
+
+               // Download changeset link
+               var changeset = new osmChangeset().update({ id: undefined });
+               var changes = history.changes(actionDiscardTags(history.difference()));
+
+               delete changeset.id;  // Export without chnageset_id
+
+               var data = JXON.stringify(changeset.osmChangeJXON(changes));
+               var blob = new Blob([data], {type: 'text/xml;charset=utf-8;'});
+               var fileName = 'changes.osc';
+
+               var linkEnter = container.selectAll('.download-changes')
+                   .data([0])
+                   .enter()
+                   .append('a')
+                   .attr('class', 'download-changes');
+
+               if (detected.download) {      // All except IE11 and Edge
+                   linkEnter                 // download the data as a file
+                       .attr('href', window.URL.createObjectURL(blob))
+                       .attr('download', fileName);
+
+               } else {                      // IE11 and Edge
+                   linkEnter                 // open data uri in a new tab
+                       .attr('target', '_blank')
+                       .on('click.download', function() {
+                           navigator.msSaveBlob(blob, fileName);
+                       });
+               }
+
+               linkEnter
+                   .call(svgIcon('#iD-icon-load', 'inline'))
+                   .append('span')
+                   .text(t('commit.download_changes'));
+
+
+               function mouseover(d) {
+                   if (d.entity) {
+                       context.surface().selectAll(
+                           utilEntityOrMemberSelector([d.entity.id], context.graph())
+                       ).classed('hover', true);
+                   }
+               }
+
+
+               function mouseout() {
+                   context.surface().selectAll('.hover')
+                       .classed('hover', false);
+               }
+
+
+               function click(change) {
+                   if (change.changeType === 'deleted') {
+                       _entityID = null;
+                   } else {
+                       var entity = change.entity;
+                       _entityID = change.entity.id;
+                       context.map().zoomToEase(entity);
+                       context.surface().selectAll(utilEntityOrMemberSelector([_entityID], context.graph()))
+                           .classed('hover', true);
+                   }
+               }
+           }
+
+
+           commitChanges.entityID = function(_) {
+               if (!arguments.length) return _entityID;
+               _entityID = _;
+               return commitChanges;
+           };
+
+
+           return commitChanges;
+       }
+
+       function uiCommitWarnings(context) {
+
+           function commitWarnings(selection) {
+               var issuesBySeverity = context.validator()
+                   .getIssuesBySeverity({ what: 'edited', where: 'all', includeDisabledRules: true });
+
+               for (var severity in issuesBySeverity) {
+                   var issues = issuesBySeverity[severity];
+                   var section = severity + '-section';
+                   var issueItem = severity + '-item';
+
+                   var container = selection.selectAll('.' + section)
+                       .data(issues.length ? [0] : []);
+
+                   container.exit()
+                       .remove();
+
+                   var containerEnter = container.enter()
+                       .append('div')
+                       .attr('class', 'modal-section ' + section + ' fillL2');
+
+                   containerEnter
+                       .append('h3')
+                       .text(severity === 'warning' ? t('commit.warnings') : t('commit.errors'));
+
+                   containerEnter
+                       .append('ul')
+                       .attr('class', 'changeset-list');
+
+                   container = containerEnter
+                       .merge(container);
+
+
+                   var items = container.select('ul').selectAll('li')
+                       .data(issues, function(d) { return d.id; });
+
+                   items.exit()
+                       .remove();
+
+                   var itemsEnter = items.enter()
+                       .append('li')
+                       .attr('class', issueItem);
+
+                   itemsEnter
+                       .call(svgIcon('#iD-icon-alert', 'pre-text'));
+
+                   itemsEnter
+                       .append('strong')
+                       .attr('class', 'issue-message');
+
+                   itemsEnter.filter(function(d) { return d.tooltip; })
+                       .call(tooltip()
+                           .title(function(d) { return d.tooltip; })
+                           .placement('top')
+                       );
+
+                   items = itemsEnter
+                       .merge(items);
+
+                   items.selectAll('.issue-message')
+                       .text(function(d) {
+                           return d.message(context);
+                       });
+
+                   items
+                       .on('mouseover', function(d) {
+                           if (d.entityIds) {
+                               context.surface().selectAll(
+                                   utilEntityOrMemberSelector(
+                                       d.entityIds,
+                                       context.graph()
+                                   )
+                               ).classed('hover', true);
+                           }
+                       })
+                       .on('mouseout', function() {
+                           context.surface().selectAll('.hover')
+                               .classed('hover', false);
+                       })
+                       .on('click', function(d) {
+                           context.validator().focusIssue(d);
+                       });
+               }
+           }
+
+
+           return commitWarnings;
+       }
+
+       var _changeset$1;
+       var readOnlyTags = [
+           /^changesets_count$/,
+           /^created_by$/,
+           /^ideditor:/,
+           /^imagery_used$/,
+           /^host$/,
+           /^locale$/,
+           /^warnings:/
+       ];
+
+       // treat most punctuation (except -, _, +, &) as hashtag delimiters - #4398
+       // from https://stackoverflow.com/a/25575009
+       var hashtagRegex = /(#[^\u2000-\u206F\u2E00-\u2E7F\s\\'!"#$%()*,.\/:;<=>?@\[\]^`{|}~]+)/g;
+
+
+       function uiCommit(context) {
+           var dispatch$1 = dispatch('cancel', 'save');
+           var _userDetails;
+           var _selection;
+
+           var changesetEditor = uiChangesetEditor(context)
+               .on('change', changeTags);
+           var rawTagEditor = uiRawTagEditor(context)
+               .on('change', changeTags);
+           var commitChanges = uiCommitChanges(context);
+           var commitWarnings = uiCommitWarnings(context);
+
+
+           function commit(selection) {
+               _selection = selection;
+
+               var osm = context.connection();
+               if (!osm) return;
+
+               // expire stored comment, hashtags, source after cutoff datetime - #3947 #4899
+               var commentDate = +context.storage('commentDate') || 0;
+               var currDate = Date.now();
+               var cutoff = 2 * 86400 * 1000;   // 2 days
+               if (commentDate > currDate || currDate - commentDate > cutoff) {
+                   context.storage('comment', null);
+                   context.storage('hashtags', null);
+                   context.storage('source', null);
+               }
+
+               var tags;
+               // Initialize changeset if one does not exist yet.
+               // Also pull values from local storage.
+               if (!_changeset$1) {
+
+                   // load in the URL hash values, if any
+                   var hash = context.ui().hash;
+                   if (hash.comment) {
+                       context.storage('comment', hash.comment);
+                       context.storage('commentDate', Date.now());
+                   }
+                   if (hash.source) {
+                       context.storage('source', hash.source);
+                       context.storage('commentDate', Date.now());
+                   }
+                   if (hash.hashtags) {
+                       context.storage('hashtags', hash.hashtags);
+                   }
+
+                   var detected = utilDetect();
+                   tags = {
+                       comment: context.storage('comment') || '',
+                       created_by: ('iD ' + context.version).substr(0, 255),
+                       host: detected.host.substr(0, 255),
+                       locale: detected.locale.substr(0, 255)
+                   };
+
+                   // call findHashtags initially - this will remove stored
+                   // hashtags if any hashtags are found in the comment - #4304
+                   findHashtags(tags, true);
+
+                   var hashtags = context.storage('hashtags');
+                   if (hashtags) {
+                       tags.hashtags = hashtags;
+                   }
+
+                   var source = context.storage('source');
+                   if (source) {
+                       tags.source = source;
+                   }
+                   var photoOverlaysUsed = context.history().photoOverlaysUsed();
+                   if (photoOverlaysUsed.length) {
+                       var sources = (tags.source || '').split(';');
+
+                       // include this tag for any photo layer
+                       if (sources.indexOf('streetlevel imagery') === -1) {
+                           sources.push('streetlevel imagery');
+                       }
+
+                       // add the photo overlays used during editing as sources
+                       photoOverlaysUsed.forEach(function(photoOverlay) {
+                           if (sources.indexOf(photoOverlay) === -1) {
+                               sources.push(photoOverlay);
+                           }
+                       });
+
+                       tags.source = sources.join(';').substr(0, 255);
+                   }
+
+                   _changeset$1 = new osmChangeset({ tags: tags });
+               }
+
+               tags = Object.assign({}, _changeset$1.tags);   // shallow copy
+
+               // assign tags for imagery used
+               var imageryUsed = context.history().imageryUsed().join(';').substr(0, 255);
+               tags.imagery_used = imageryUsed || 'None';
+
+               // assign tags for closed issues and notes
+               var osmClosed = osm.getClosedIDs();
+               if (osmClosed.length) {
+                   tags['closed:note'] = osmClosed.join(';').substr(0, 255);
+               }
+               if (services$1.keepRight) {
+                   var krClosed = services$1.keepRight.getClosedIDs();
+                   if (krClosed.length) {
+                       tags['closed:keepright'] = krClosed.join(';').substr(0, 255);
+                   }
+               }
+               if (services$1.improveOSM) {
+                   var iOsmClosed = services$1.improveOSM.getClosedIDs();
+                   if (iOsmClosed.length) {
+                       tags['closed:improveosm'] = iOsmClosed.join(';').substr(0, 255);
+                   }
+               }
+
+               // remove existing warning counts
+               for (var key in tags) {
+                   if (key.match(/^warnings:/)) {
+                       delete tags[key];
+                   }
+               }
+
+               // add counts of warnings generated by the user's edits
+               var warnings = context.validator()
+                   .getIssuesBySeverity({ what: 'edited', where: 'all', includeIgnored: true, includeDisabledRules: true }).warning;
+
+               var warningsByType = utilArrayGroupBy(warnings, 'type');
+               for (var warningType in warningsByType) {
+                   var warningsOfType = warningsByType[warningType];
+                   if (warningsOfType[0].subtype) {
+                       var warningsBySubtype = utilArrayGroupBy(warningsOfType, 'subtype');
+                       for (var warningSubtype in warningsBySubtype) {
+                           var warningsOfSubtype = warningsBySubtype[warningSubtype];
+                           tags['warnings:' + warningType + ':' + warningSubtype] = warningsOfSubtype.length.toString();
+                       }
+                   } else {
+                       tags['warnings:' + warningType] = warningsOfType.length.toString();
+                   }
+               }
+
+
+               _changeset$1 = _changeset$1.update({ tags: tags });
+
+               var header = selection.selectAll('.header')
+                   .data([0]);
+
+               var headerTitle = header.enter()
+                   .append('div')
+                   .attr('class', 'header fillL header-container');
+
+               headerTitle
+                   .append('div')
+                   .attr('class', 'header-block header-block-outer');
+
+               headerTitle
+                   .append('div')
+                   .attr('class', 'header-block')
+                   .append('h3')
+                   .text(t('commit.title'));
+
+               headerTitle
+                   .append('div')
+                   .attr('class', 'header-block header-block-outer header-block-close')
+                   .append('button')
+                   .attr('class', 'close')
+                   .on('click', function() { context.enter(modeBrowse(context)); })
+                   .call(svgIcon('#iD-icon-close'));
+
+               var body = selection.selectAll('.body')
+                   .data([0]);
+
+               body = body.enter()
+                   .append('div')
+                   .attr('class', 'body')
+                   .merge(body);
+
+
+               // Changeset Section
+               var changesetSection = body.selectAll('.changeset-editor')
+                   .data([0]);
+
+               changesetSection = changesetSection.enter()
+                   .append('div')
+                   .attr('class', 'modal-section changeset-editor')
+                   .merge(changesetSection);
+
+               changesetSection
+                   .call(changesetEditor
+                       .changesetID(_changeset$1.id)
+                       .tags(tags)
+                   );
+
+
+               // Warnings
+               body.call(commitWarnings);
+
+
+               // Upload Explanation
+               var saveSection = body.selectAll('.save-section')
+                   .data([0]);
+
+               saveSection = saveSection.enter()
+                   .append('div')
+                   .attr('class','modal-section save-section fillL cf')
+                   .merge(saveSection);
+
+               var prose = saveSection.selectAll('.commit-info')
+                   .data([0]);
+
+               if (prose.enter().size()) {   // first time, make sure to update user details in prose
+                   _userDetails = null;
+               }
+
+               prose = prose.enter()
+                   .append('p')
+                   .attr('class', 'commit-info')
+                   .text(t('commit.upload_explanation'))
+                   .merge(prose);
+
+               // always check if this has changed, but only update prose.html()
+               // if needed, because it can trigger a style recalculation
+               osm.userDetails(function(err, user) {
+                   if (err) return;
+
+                   if (_userDetails === user) return;  // no change
+                   _userDetails = user;
+
+                   var userLink = d3_select(document.createElement('div'));
+
+                   if (user.image_url) {
+                       userLink
+                           .append('img')
+                           .attr('src', user.image_url)
+                           .attr('class', 'icon pre-text user-icon');
+                   }
+
+                   userLink
+                       .append('a')
+                       .attr('class', 'user-info')
+                       .text(user.display_name)
+                       .attr('href', osm.userURL(user.display_name))
+                       .attr('tabindex', -1)
+                       .attr('target', '_blank');
+
+                   prose
+                       .html(t('commit.upload_explanation_with_user', { user: userLink.html() }));
+               });
+
+
+               // Request Review
+               var requestReview = saveSection.selectAll('.request-review')
+                   .data([0]);
+
+               // Enter
+               var requestReviewEnter = requestReview.enter()
+                   .append('div')
+                   .attr('class', 'request-review');
+
+               var labelEnter = requestReviewEnter
+                   .append('label')
+                   .attr('for', 'commit-input-request-review');
+
+               labelEnter
+                   .append('input')
+                   .attr('type', 'checkbox')
+                   .attr('id', 'commit-input-request-review');
+
+               labelEnter
+                   .append('span')
+                   .text(t('commit.request_review'));
+
+               // Update
+               requestReview = requestReview
+                   .merge(requestReviewEnter);
+
+               var requestReviewInput = requestReview.selectAll('input')
+                   .property('checked', isReviewRequested(_changeset$1.tags))
+                   .on('change', toggleRequestReview);
+
+
+               // Buttons
+               var buttonSection = saveSection.selectAll('.buttons')
+                   .data([0]);
+
+               // enter
+               var buttonEnter = buttonSection.enter()
+                   .append('div')
+                   .attr('class', 'buttons fillL cf');
+
+               buttonEnter
+                   .append('button')
+                   .attr('class', 'secondary-action button cancel-button')
+                   .append('span')
+                   .attr('class', 'label')
+                   .text(t('commit.cancel'));
+
+               var uploadButton = buttonEnter
+                   .append('button')
+                   .attr('class', 'action button save-button');
+
+               uploadButton.append('span')
+                   .attr('class', 'label')
+                   .text(t('commit.save'));
+
+               var uploadBlockerTooltipText = getUploadBlockerMessage();
+
+               // update
+               buttonSection = buttonSection
+                   .merge(buttonEnter);
+
+               buttonSection.selectAll('.cancel-button')
+                   .on('click.cancel', function() {
+                       var selectedID = commitChanges.entityID();
+                       dispatch$1.call('cancel', this, selectedID);
+                   });
+
+               buttonSection.selectAll('.save-button')
+                   .classed('disabled', uploadBlockerTooltipText !== null)
+                   .on('click.save', function() {
+                       if (!d3_select(this).classed('disabled')) {
+                           this.blur();    // avoid keeping focus on the button - #4641
+                           dispatch$1.call('save', this, _changeset$1);
+                       }
+                   });
+
+               // remove any existing tooltip
+               tooltip().destroyAny(buttonSection.selectAll('.save-button'));
+
+               if (uploadBlockerTooltipText) {
+                   buttonSection.selectAll('.save-button')
+                       .call(tooltip().title(uploadBlockerTooltipText).placement('top'));
+               }
+
+               // Raw Tag Editor
+               var tagSection = body.selectAll('.tag-section.raw-tag-editor')
+                   .data([0]);
+
+               tagSection = tagSection.enter()
+                   .append('div')
+                   .attr('class', 'modal-section tag-section raw-tag-editor')
+                   .merge(tagSection);
+
+               var expanded = !tagSection.selectAll('a.hide-toggle.expanded').empty();
+               tagSection
+                   .call(rawTagEditor
+                       .expanded(expanded)
+                       .readOnlyTags(readOnlyTags)
+                       .tags(Object.assign({}, _changeset$1.tags))   // shallow copy
+                   );
+
+
+               // Change summary
+               body.call(commitChanges);
+
+
+               function toggleRequestReview() {
+                   var rr = requestReviewInput.property('checked');
+                   updateChangeset({ review_requested: (rr ? 'yes' : undefined) });
+
+                   var expanded = !tagSection.selectAll('a.hide-toggle.expanded').empty();
+                   tagSection
+                       .call(rawTagEditor
+                           .expanded(expanded)
+                           .readOnlyTags(readOnlyTags)
+                           .tags(Object.assign({}, _changeset$1.tags))   // shallow copy
+                       );
+               }
+           }
+
+
+           function getUploadBlockerMessage() {
+               var errors = context.validator()
+                   .getIssuesBySeverity({ what: 'edited', where: 'all' }).error;
+
+               if (errors.length) {
+                   return t('commit.outstanding_errors_message', { count: errors.length });
+
+               } else {
+                   var n = d3_select('#preset-input-comment').node();
+                   var hasChangesetComment = n && n.value.length > 0;
+                   if (!hasChangesetComment) {
+                       return t('commit.comment_needed_message');
+                   }
+               }
+               return null;
+           }
+
+
+           function changeTags(changed, onInput) {
+               if (changed.hasOwnProperty('comment')) {
+                   if (changed.comment === undefined) {
+                       changed.comment = '';
+                   }
+                   if (!onInput) {
+                       context.storage('comment', changed.comment);
+                       context.storage('commentDate', Date.now());
+                   }
+               }
+               if (changed.hasOwnProperty('source')) {
+                   if (changed.source === undefined) {
+                       context.storage('source', null);
+                   } else if (!onInput) {
+                       context.storage('source', changed.source);
+                       context.storage('commentDate', Date.now());
+                   }
+               }
+
+               updateChangeset(changed, onInput);
+
+               if (_selection) {
+                   _selection.call(commit);
+               }
+           }
+
+
+           function findHashtags(tags, commentOnly) {
+               var inComment = commentTags();
+               var inHashTags = hashTags();
+
+               if (inComment !== null) {                    // when hashtags are detected in comment...
+                   context.storage('hashtags', null);       // always remove stored hashtags - #4304
+                   if (commentOnly) { inHashTags = []; }    // optionally override hashtags field
+               }
+
+               // keep only one copy of the tags
+               var all = new Set();
+               var keepTags = [];
+               inComment.forEach(checkTag);
+               inHashTags.forEach(checkTag);
+               return keepTags;
+
+               // Compare tags as lowercase strings, but keep original case tags
+               function checkTag(s) {
+                   var compare = s.toLowerCase();
+                   if (!all.has(compare)) {
+                       all.add(compare);
+                       keepTags.push(s);
+                   }
+               }
+
+               // Extract hashtags from `comment`
+               function commentTags() {
+                   var matches = (tags.comment || '')
+                       .replace(/http\S*/g, '')  // drop anything that looks like a URL - #4289
+                       .match(hashtagRegex);
+
+                   return (matches || []);
+               }
+
+               // Extract and clean hashtags from `hashtags`
+               function hashTags() {
+                   var matches = (tags.hashtags || '')
+                       .split(/[,;\s]+/)
+                       .map(function (s) {
+                           if (s[0] !== '#') { s = '#' + s; }    // prepend '#'
+                           var matched = s.match(hashtagRegex);
+                           return matched && matched[0];
+                       }).filter(Boolean);                       // exclude falsy
+
+                   return (matches || []);
+               }
+           }
+
+
+           function isReviewRequested(tags) {
+               var rr = tags.review_requested;
+               if (rr === undefined) return false;
+               rr = rr.trim().toLowerCase();
+               return !(rr === '' || rr === 'no');
+           }
+
+
+           function updateChangeset(changed, onInput) {
+               var tags = Object.assign({}, _changeset$1.tags);   // shallow copy
+
+               Object.keys(changed).forEach(function(k) {
+                   var v = changed[k];
+                   k = k.trim().substr(0, 255);
+                   if (readOnlyTags.indexOf(k) !== -1) return;
+
+                   if (k !== '' && v !== undefined) {
+                       if (onInput) {
+                           tags[k] = v;
+                       } else {
+                           tags[k] = v.trim().substr(0, 255);
+                       }
+                   } else {
+                       delete tags[k];
+                   }
+               });
+
+               if (!onInput) {
+                   // when changing the comment, override hashtags with any found in comment.
+                   var commentOnly = changed.hasOwnProperty('comment') && (changed.comment !== '');
+                   var arr = findHashtags(tags, commentOnly);
+                   if (arr.length) {
+                       tags.hashtags = arr.join(';').substr(0, 255);
+                       context.storage('hashtags', tags.hashtags);
+                   } else {
+                       delete tags.hashtags;
+                       context.storage('hashtags', null);
+                   }
+               }
+
+               // always update userdetails, just in case user reauthenticates as someone else
+               if (_userDetails && _userDetails.changesets_count !== undefined) {
+                   var changesetsCount = parseInt(_userDetails.changesets_count, 10) + 1;  // #4283
+                   tags.changesets_count = String(changesetsCount);
+
+                   // first 100 edits - new user
+                   if (changesetsCount <= 100) {
+                       var s;
+                       s = context.storage('walkthrough_completed');
+                       if (s) {
+                           tags['ideditor:walkthrough_completed'] = s;
+                       }
+
+                       s = context.storage('walkthrough_progress');
+                       if (s) {
+                           tags['ideditor:walkthrough_progress'] = s;
+                       }
+
+                       s = context.storage('walkthrough_started');
+                       if (s) {
+                           tags['ideditor:walkthrough_started'] = s;
+                       }
+                   }
+               } else {
+                   delete tags.changesets_count;
+               }
+
+               if (!fastDeepEqual(_changeset$1.tags, tags)) {
+                   _changeset$1 = _changeset$1.update({ tags: tags });
+               }
+           }
+
+
+           commit.reset = function() {
+               _changeset$1 = null;
+           };
+
+
+           return utilRebind(commit, dispatch$1, 'on');
+       }
+
+       function uiSuccess(context) {
+           var MAXEVENTS = 2;
+
+           // All else being equal, rank more "social" communities higher
+           // (anything not in this list receives no adjustment)
+           var COMMUNITYRANK = {
+               'meetup': +5,
+               'slack': +4,
+               'facebook': +3,
+               'reddit': +2,
+               'forum': -2,
+               'mailinglist': -3,
+               'irc': -4
+           };
+
+           var detected = utilDetect();
+           var dispatch$1 = dispatch('cancel');
+           var _changeset;
+           var _location;
+
+
+           // string-to-date parsing in JavaScript is weird
+           function parseEventDate(when) {
+               if (!when) return;
+
+               var raw = when.trim();
+               if (!raw) return;
+
+               if (!/Z$/.test(raw)) {    // if no trailing 'Z', add one
+                   raw += 'Z';           // this forces date to be parsed as a UTC date
+               }
+
+               var parsed = new Date(raw);
+               return new Date(parsed.toUTCString().substr(0, 25));  // convert to local timezone
+           }
+
+
+           function success(selection) {
+               var header = selection
+                   .append('div')
+                   .attr('class', 'header fillL');
+
+               header
+                   .append('button')
+                   .attr('class', 'fr')
+                   .on('click', function() { dispatch$1.call('cancel'); })
+                   .call(svgIcon('#iD-icon-close'));
+
+               header
+                   .append('h3')
+                   .text(t('success.just_edited'));
+
+               var body = selection
+                   .append('div')
+                   .attr('class', 'body save-success fillL');
+
+               var summary = body
+                   .append('div')
+                   .attr('class', 'save-summary');
+
+               summary
+                   .append('h3')
+                   .text(t('success.thank_you' + (_location ? '_location' : ''), { where: _location }));
+
+               summary
+                   .append('p')
+                   .text(t('success.help_html'))
+                   .append('a')
+                   .attr('class', 'link-out')
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .attr('href', t('success.help_link_url'))
+                   .call(svgIcon('#iD-icon-out-link', 'inline'))
+                   .append('span')
+                   .text(t('success.help_link_text'));
+
+               var osm = context.connection();
+               if (!osm) return;
+
+               var changesetURL = osm.changesetURL(_changeset.id);
+
+               var table = summary
+                   .append('table')
+                   .attr('class', 'summary-table');
+
+               var row = table
+                   .append('tr')
+                   .attr('class', 'summary-row');
+
+               row
+                   .append('td')
+                   .attr('class', 'cell-icon summary-icon')
+                   .append('a')
+                   .attr('target', '_blank')
+                   .attr('href', changesetURL)
+                   .append('svg')
+                   .attr('class', 'logo-small')
+                   .append('use')
+                   .attr('xlink:href', '#iD-logo-osm');
+
+               var summaryDetail = row
+                   .append('td')
+                   .attr('class', 'cell-detail summary-detail');
+
+               summaryDetail
+                   .append('a')
+                   .attr('class', 'cell-detail summary-view-on-osm')
+                   .attr('target', '_blank')
+                   .attr('href', changesetURL)
+                   .text(t('success.view_on_osm'));
+
+               summaryDetail
+                   .append('div')
+                   .text(t('success.changeset_id', { changeset_id: _changeset.id }));
+
+
+               // Gather community polygon IDs intersecting the map..
+               var matchFeatures = data.community.query(context.map().center(), true) || [];
+               var matchIDs = matchFeatures.map(function(feature) { return feature.id; });
+
+               // Gather community resources that are either global or match a polygon.
+               var matchResources = Object.values(data.community.resources)
+                   .filter(function(v) { return !v.featureId || matchIDs.indexOf(v.featureId) !== -1; });
+
+               if (matchResources.length) {
+                   // sort by size ascending, then by community rank
+                   matchResources.sort(function(a, b) {
+                       var aSize = Infinity;
+                       var bSize = Infinity;
+                       var aRank = COMMUNITYRANK[a.type] || 0;
+                       var bRank = COMMUNITYRANK[b.type] || 0;
+
+                       if (a.featureId) {
+                           aSize = data.community.features[a.featureId].properties.area;
+                       }
+                       if (b.featureId) {
+                           bSize = data.community.features[b.featureId].properties.area;
+                       }
+
+                       return aSize < bSize ? -1 : aSize > bSize ? 1 : bRank - aRank;
+                   });
+
+                   body
+                       .call(showCommunityLinks, matchResources);
+               }
+           }
+
+
+           function showCommunityLinks(selection, matchResources) {
+               var communityLinks = selection
+                   .append('div')
+                   .attr('class', 'save-communityLinks');
+
+               communityLinks
+                   .append('h3')
+                   .text(t('success.like_osm'));
+
+               var table = communityLinks
+                   .append('table')
+                   .attr('class', 'community-table');
+
+               var row = table.selectAll('.community-row')
+                   .data(matchResources);
+
+               var rowEnter = row.enter()
+                   .append('tr')
+                   .attr('class', 'community-row');
+
+               rowEnter
+                   .append('td')
+                   .attr('class', 'cell-icon community-icon')
+                   .append('a')
+                   .attr('target', '_blank')
+                   .attr('href', function(d) { return d.url; })
+                   .append('svg')
+                   .attr('class', 'logo-small')
+                   .append('use')
+                   .attr('xlink:href', function(d) { return '#community-' + d.type; });
+
+               var communityDetail = rowEnter
+                   .append('td')
+                   .attr('class', 'cell-detail community-detail');
+
+               communityDetail
+                   .each(showCommunityDetails);
+
+               communityLinks
+                   .append('div')
+                   .attr('class', 'community-missing')
+                   .text(t('success.missing'))
+                   .append('a')
+                   .attr('class', 'link-out')
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .call(svgIcon('#iD-icon-out-link', 'inline'))
+                   .attr('href', 'https://github.com/osmlab/osm-community-index/issues')
+                   .append('span')
+                   .text(t('success.tell_us'));
+           }
+
+
+           function showCommunityDetails(d) {
+               var selection = d3_select(this);
+               var communityID = d.id;
+               var replacements = {
+                   url: linkify(d.url),
+                   signupUrl: linkify(d.signupUrl || d.url)
+               };
+
+               selection
+                   .append('div')
+                   .attr('class', 'community-name')
+                   .append('a')
+                   .attr('target', '_blank')
+                   .attr('href', d.url)
+                   .text(t('community.' + d.id + '.name'));
+
+               var descriptionHTML = t('community.' + d.id + '.description', replacements);
+
+               if (d.type === 'reddit') {   // linkify subreddits  #4997
+                   descriptionHTML = descriptionHTML
+                       .replace(/(\/r\/\w*\/*)/i, function(match) { return linkify(d.url, match); });
+               }
+
+               selection
+                   .append('div')
+                   .attr('class', 'community-description')
+                   .html(descriptionHTML);
+
+               if (d.extendedDescription || (d.languageCodes && d.languageCodes.length)) {
+                   selection
+                       .append('div')
+                       .call(uiDisclosure(context, 'community-more-' + d.id, false)
+                           .expanded(false)
+                           .updatePreference(false)
+                           .title(t('success.more'))
+                           .content(showMore)
+                       );
+               }
+
+               var nextEvents = (d.events || [])
+                   .map(function(event) {
+                       event.date = parseEventDate(event.when);
+                       return event;
+                   })
+                   .filter(function(event) {               // date is valid and future (or today)
+                       var t = event.date.getTime();
+                       var now = (new Date()).setHours(0,0,0,0);
+                       return !isNaN(t) && t >= now;
+                   })
+                   .sort(function(a, b) {                  // sort by date ascending
+                       return a.date < b.date ? -1 : a.date > b.date ? 1 : 0;
+                   })
+                   .slice(0, MAXEVENTS);                   // limit number of events shown
+
+               if (nextEvents.length) {
+                   selection
+                       .append('div')
+                       .call(uiDisclosure(context, 'community-events-' + d.id, false)
+                           .expanded(false)
+                           .updatePreference(false)
+                           .title(t('success.events'))
+                           .content(showNextEvents)
+                       )
+                       .select('.hide-toggle')
+                       .append('span')
+                       .attr('class', 'badge-text')
+                       .text(nextEvents.length);
+               }
+
+
+               function showMore(selection) {
+                   var more = selection.selectAll('.community-more')
+                       .data([0]);
+
+                   var moreEnter = more.enter()
+                       .append('div')
+                       .attr('class', 'community-more');
+
+                   if (d.extendedDescription) {
+                       moreEnter
+                           .append('div')
+                           .attr('class', 'community-extended-description')
+                           .html(t('community.' + d.id + '.extendedDescription', replacements));
+                   }
+
+                   if (d.languageCodes && d.languageCodes.length) {
+                       moreEnter
+                           .append('div')
+                           .attr('class', 'community-languages')
+                           .text(t('success.languages', { languages: d.languageCodes.join(', ') }));
+                   }
+               }
+
+
+               function showNextEvents(selection) {
+                   var events = selection
+                       .append('div')
+                       .attr('class', 'community-events');
+
+                   var item = events.selectAll('.community-event')
+                       .data(nextEvents);
+
+                   var itemEnter = item.enter()
+                       .append('div')
+                       .attr('class', 'community-event');
+
+                   itemEnter
+                       .append('div')
+                       .attr('class', 'community-event-name')
+                       .append('a')
+                       .attr('target', '_blank')
+                       .attr('href', function(d) { return d.url; })
+                       .text(function(d) {
+                           var name = d.name;
+                           if (d.i18n && d.id) {
+                               name = t('community.' + communityID + '.events.' + d.id + '.name', { default: name });
+                           }
+                           return name;
+                       });
+
+                   itemEnter
+                       .append('div')
+                       .attr('class', 'community-event-when')
+                       .text(function(d) {
+                           var options = {
+                               weekday: 'short', day: 'numeric', month: 'short', year: 'numeric'
+                           };
+                           if (d.date.getHours() || d.date.getMinutes()) {   // include time if it has one
+                               options.hour = 'numeric';
+                               options.minute = 'numeric';
+                           }
+                           return d.date.toLocaleString(detected.locale, options);
+                       });
+
+                   itemEnter
+                       .append('div')
+                       .attr('class', 'community-event-where')
+                       .text(function(d) {
+                           var where = d.where;
+                           if (d.i18n && d.id) {
+                               where = t('community.' + communityID + '.events.' + d.id + '.where', { default: where });
+                           }
+                           return where;
+                       });
+
+                   itemEnter
+                       .append('div')
+                       .attr('class', 'community-event-description')
+                       .text(function(d) {
+                           var description = d.description;
+                           if (d.i18n && d.id) {
+                               description = t('community.' + communityID + '.events.' + d.id + '.description', { default: description });
+                           }
+                           return description;
+                       });
+               }
+
+
+               function linkify(url, text) {
+                   text = text || url;
+                   return '<a target="_blank" href="' + url + '">' + text + '</a>';
+               }
+           }
+
+
+           success.changeset = function(_) {
+               if (!arguments.length) return _changeset;
+               _changeset = _;
+               return success;
+           };
+
+
+           success.location = function(_) {
+               if (!arguments.length) return _location;
+               _location = _;
+               return success;
+           };
+
+
+           return utilRebind(success, dispatch$1, 'on');
+       }
+
+       var _isSaving = false;
+
+
+       function modeSave(context) {
+           var mode = { id: 'save' };
+           var keybinding = utilKeybinding('modeSave');
+
+           var loading = uiLoading(context)
+               .message(t('save.uploading'))
+               .blocking(true);
+
+           var commit = uiCommit(context)
+               .on('cancel', cancel)
+               .on('save', save);
+
+           var _toCheck = [];
+           var _toLoad = [];
+           var _loaded = {};
+           var _toLoadCount = 0;
+           var _toLoadTotal = 0;
+
+           var _conflicts = [];
+           var _errors = [];
+           var _origChanges;
+           var _location;
+
+
+           function cancel(selectedID) {
+               if (selectedID) {
+                   context.enter(modeSelect(context, [selectedID]));
+               } else {
+                   context.enter(modeBrowse(context));
+               }
+           }
+
+
+           function save(changeset, tryAgain, checkConflicts) {
+               // Guard against accidentally entering save code twice - #4641
+               if (_isSaving && !tryAgain) {
+                   return;
+               }
+
+               var osm = context.connection();
+               if (!osm) {
+                   cancel();
+                   return;
+               }
+
+               // If user somehow got logged out mid-save, try to reauthenticate..
+               // This can happen if they were logged in from before, but the tokens are no longer valid.
+               if (!osm.authenticated()) {
+                   osm.authenticate(function(err) {
+                       if (err) {
+                           cancel();   // quit save mode..
+                       } else {
+                           save(changeset, tryAgain, checkConflicts);  // continue where we left off..
+                       }
+                   });
+                   return;
+               }
+
+               if (!_isSaving) {
+                   keybindingOff();
+                   context.container().call(loading);  // block input
+                   _isSaving = true;
+               }
+
+               var history = context.history();
+               var localGraph = context.graph();
+               var remoteGraph = coreGraph(history.base(), true);
+
+               _conflicts = [];
+               _errors = [];
+
+               // Store original changes, in case user wants to download them as an .osc file
+               _origChanges = history.changes(actionDiscardTags(history.difference()));
+
+               // First time, `history.perform` a no-op action.
+               // Any conflict resolutions will be done as `history.replace`
+               if (!tryAgain) {
+                   history.perform(actionNoop());
+               }
+
+               // Attempt a fast upload.. If there are conflicts, re-enter with `checkConflicts = true`
+               if (!checkConflicts) {
+                   upload(changeset);
+
+               // Do the full (slow) conflict check..
+               } else {
+                   var summary = history.difference().summary();
+                   _toCheck = [];
+                   for (var i = 0; i < summary.length; i++) {
+                       var item = summary[i];
+                       if (item.changeType === 'modified') {
+                           _toCheck.push(item.entity.id);
+                       }
+                   }
+
+                   _toLoad = withChildNodes(_toCheck, localGraph);
+                   _loaded = {};
+                   _toLoadCount = 0;
+                   _toLoadTotal = _toLoad.length;
+
+                   if (_toCheck.length) {
+                       showProgress(_toLoadCount, _toLoadTotal);
+                       _toLoad.forEach(function(id) { _loaded[id] = false; });
+                       osm.loadMultiple(_toLoad, loaded);
+                   } else {
+                       upload(changeset);
+                   }
+               }
+
+               return;
+
+
+               function withChildNodes(ids, graph) {
+                   var s = new Set(ids);
+                   ids.forEach(function(id) {
+                       var entity = graph.entity(id);
+                       if (entity.type !== 'way') return;
+
+                       graph.childNodes(entity).forEach(function(child) {
+                           if (child.version !== undefined) {
+                               s.add(child.id);
+                           }
+                       });
+                   });
+
+                   return Array.from(s);
+               }
+
+
+               // Reload modified entities into an alternate graph and check for conflicts..
+               function loaded(err, result) {
+                   if (_errors.length) return;
+
+                   if (err) {
+                       _errors.push({
+                           msg: err.message || err.responseText,
+                           details: [ t('save.status_code', { code: err.status }) ]
+                       });
+                       showErrors();
+
+                   } else {
+                       var loadMore = [];
+
+                       result.data.forEach(function(entity) {
+                           remoteGraph.replace(entity);
+                           _loaded[entity.id] = true;
+                           _toLoad = _toLoad.filter(function(val) { return val !== entity.id; });
+
+                           if (!entity.visible) return;
+
+                           // Because loadMultiple doesn't download /full like loadEntity,
+                           // need to also load children that aren't already being checked..
+                           var i, id;
+                           if (entity.type === 'way') {
+                               for (i = 0; i < entity.nodes.length; i++) {
+                                   id = entity.nodes[i];
+                                   if (_loaded[id] === undefined) {
+                                       _loaded[id] = false;
+                                       loadMore.push(id);
+                                   }
+                               }
+                           } else if (entity.type === 'relation' && entity.isMultipolygon()) {
+                               for (i = 0; i < entity.members.length; i++) {
+                                   id = entity.members[i].id;
+                                   if (_loaded[id] === undefined) {
+                                       _loaded[id] = false;
+                                       loadMore.push(id);
+                                   }
+                               }
+                           }
+                       });
+
+                       _toLoadCount += result.data.length;
+                       _toLoadTotal += loadMore.length;
+                       showProgress(_toLoadCount, _toLoadTotal);
+
+                       if (loadMore.length) {
+                           _toLoad.push.apply(_toLoad, loadMore);
+                           osm.loadMultiple(loadMore, loaded);
+                       }
+
+                       if (!_toLoad.length) {
+                           detectConflicts();
+                       }
+                   }
+               }
+
+
+               function detectConflicts() {
+                   function choice(id, text, action) {
+                       return { id: id, text: text, action: function() { history.replace(action); } };
+                   }
+                   function formatUser(d) {
+                       return '<a href="' + osm.userURL(d) + '" target="_blank">' + d + '</a>';
+                   }
+                   function entityName(entity) {
+                       return utilDisplayName(entity) || (utilDisplayType(entity.id) + ' ' + entity.id);
+                   }
+
+                   function sameVersions(local, remote) {
+                       if (local.version !== remote.version) return false;
+
+                       if (local.type === 'way') {
+                           var children = utilArrayUnion(local.nodes, remote.nodes);
+                           for (var i = 0; i < children.length; i++) {
+                               var a = localGraph.hasEntity(children[i]);
+                               var b = remoteGraph.hasEntity(children[i]);
+                               if (a && b && a.version !== b.version) return false;
+                           }
+                       }
+
+                       return true;
+                   }
+
+                   _toCheck.forEach(function(id) {
+                       var local = localGraph.entity(id);
+                       var remote = remoteGraph.entity(id);
+
+                       if (sameVersions(local, remote)) return;
+
+                       var action = actionMergeRemoteChanges;
+                       var merge = action(id, localGraph, remoteGraph, formatUser);
+
+                       history.replace(merge);
+
+                       var mergeConflicts = merge.conflicts();
+                       if (!mergeConflicts.length) return;  // merged safely
+
+                       var forceLocal = action(id, localGraph, remoteGraph).withOption('force_local');
+                       var forceRemote = action(id, localGraph, remoteGraph).withOption('force_remote');
+                       var keepMine = t('save.conflict.' + (remote.visible ? 'keep_local' : 'restore'));
+                       var keepTheirs = t('save.conflict.' + (remote.visible ? 'keep_remote' : 'delete'));
+
+                       _conflicts.push({
+                           id: id,
+                           name: entityName(local),
+                           details: mergeConflicts,
+                           chosen: 1,
+                           choices: [
+                               choice(id, keepMine, forceLocal),
+                               choice(id, keepTheirs, forceRemote)
+                           ]
+                       });
+                   });
+
+                   upload(changeset);
+               }
+           }
+
+
+           function upload(changeset) {
+               var osm = context.connection();
+               if (!osm) {
+                   _errors.push({ msg: 'No OSM Service' });
+               }
+
+               if (_conflicts.length) {
+                   _conflicts.sort(function(a, b) { return b.id.localeCompare(a.id); });
+                   showConflicts(changeset);
+
+               } else if (_errors.length) {
+                   showErrors();
+
+               } else {
+                   var history = context.history();
+                   var changes = history.changes(actionDiscardTags(history.difference()));
+                   if (changes.modified.length || changes.created.length || changes.deleted.length) {
+                       loadLocation();  // so it is ready when we display the save screen
+                       osm.putChangeset(changeset, changes, uploadCallback);
+                   } else {        // changes were insignificant or reverted by user
+                       d3_select('.inspector-wrap *').remove();
+                       loading.close();
+                       _isSaving = false;
+                       context.flush();
+                       cancel();
+                   }
+               }
+           }
+
+
+           function uploadCallback(err, changeset) {
+               if (err) {
+                   if (err.status === 409) {          // 409 Conflict
+                       save(changeset, true, true);   // tryAgain = true, checkConflicts = true
+                   } else {
+                       _errors.push({
+                           msg: err.message || err.responseText,
+                           details: [ t('save.status_code', { code: err.status }) ]
+                       });
+                       showErrors();
+                   }
+
+               } else {
+                   context.history().clearSaved();
+                   success(changeset);
+                   // Add delay to allow for postgres replication #1646 #2678
+                   window.setTimeout(function() {
+                       d3_select('.inspector-wrap *').remove();
+                       loading.close();
+                       _isSaving = false;
+                       context.flush();
+                   }, 2500);
+               }
+           }
+
+
+           function showProgress(num, total) {
+               var modal = context.container().select('.loading-modal .modal-section');
+               var progress = modal.selectAll('.progress')
+                   .data([0]);
+
+               // enter/update
+               progress.enter()
+                   .append('div')
+                   .attr('class', 'progress')
+                   .merge(progress)
+                   .text(t('save.conflict_progress', { num: num, total: total }));
+           }
+
+
+           function showConflicts(changeset) {
+               var history = context.history();
+               var selection = context.container()
+                   .select('#sidebar')
+                   .append('div')
+                   .attr('class','sidebar-component');
+
+               loading.close();
+               _isSaving = false;
+
+               var ui = uiConflicts(context)
+                   .conflictList(_conflicts)
+                   .origChanges(_origChanges)
+                   .on('cancel', function() {
+                       history.pop();
+                       selection.remove();
+                       keybindingOn();
+                   })
+                   .on('save', function() {
+                       for (var i = 0; i < _conflicts.length; i++) {
+                           if (_conflicts[i].chosen === 1) {  // user chose "keep theirs"
+                               var entity = context.hasEntity(_conflicts[i].id);
+                               if (entity && entity.type === 'way') {
+                                   var children = utilArrayUniq(entity.nodes);
+                                   for (var j = 0; j < children.length; j++) {
+                                       history.replace(actionRevert(children[j]));
+                                   }
+                               }
+                               history.replace(actionRevert(_conflicts[i].id));
+                           }
+                       }
+
+                       selection.remove();
+                       save(changeset, true, false);  // tryAgain = true, checkConflicts = false
+                   });
+
+               selection.call(ui);
+           }
+
+
+           function showErrors() {
+               keybindingOn();
+               context.history().pop();
+               loading.close();
+               _isSaving = false;
+
+               var selection = uiConfirm(context.container());
+               selection
+                   .select('.modal-section.header')
+                   .append('h3')
+                   .text(t('save.error'));
+
+               addErrors(selection, _errors);
+               selection.okButton();
+           }
+
+
+           function addErrors(selection, data) {
+               var message = selection
+                   .select('.modal-section.message-text');
+
+               var items = message
+                   .selectAll('.error-container')
+                   .data(data);
+
+               var enter = items.enter()
+                   .append('div')
+                   .attr('class', 'error-container');
+
+               enter
+                   .append('a')
+                   .attr('class', 'error-description')
+                   .attr('href', '#')
+                   .classed('hide-toggle', true)
+                   .text(function(d) { return d.msg || t('save.unknown_error_details'); })
+                   .on('click', function() {
+                       event.preventDefault();
+
+                       var error = d3_select(this);
+                       var detail = d3_select(this.nextElementSibling);
+                       var exp = error.classed('expanded');
+
+                       detail.style('display', exp ? 'none' : 'block');
+                       error.classed('expanded', !exp);
+                   });
+
+               var details = enter
+                   .append('div')
+                   .attr('class', 'error-detail-container')
+                   .style('display', 'none');
+
+               details
+                   .append('ul')
+                   .attr('class', 'error-detail-list')
+                   .selectAll('li')
+                   .data(function(d) { return d.details || []; })
+                   .enter()
+                   .append('li')
+                   .attr('class', 'error-detail-item')
+                   .text(function(d) { return d; });
+
+               items.exit()
+                   .remove();
+           }
+
+
+           function success(changeset) {
+               commit.reset();
+
+               var ui = uiSuccess(context)
+                   .changeset(changeset)
+                   .location(_location)
+                   .on('cancel', function() { context.ui().sidebar.hide(); });
+
+               context.enter(modeBrowse(context).sidebar(ui));
+           }
+
+
+           function keybindingOn() {
+               d3_select(document)
+                   .call(keybinding.on('⎋', cancel, true));
+           }
+
+
+           function keybindingOff() {
+               d3_select(document)
+                   .call(keybinding.unbind);
+           }
+
+
+           // Reverse geocode current map location so we can display a message on
+           // the success screen like "Thank you for editing around place, region."
+           function loadLocation() {
+               _location = null;
+               if (!services$1.geocoder) return;
+
+               services$1.geocoder.reverse(context.map().center(), function(err, result) {
+                   if (err || !result || !result.address) return;
+
+                   var addr = result.address;
+                   var place = (addr && (addr.town || addr.city || addr.county)) || '';
+                   var region = (addr && (addr.state || addr.country)) || '';
+                   var separator = (place && region) ? t('success.thank_you_where.separator') : '';
+
+                   _location = t('success.thank_you_where.format',
+                       { place: place, separator: separator, region: region }
+                   );
+               });
+           }
+
+
+           mode.enter = function() {
+               // Show sidebar
+               context.ui().sidebar.expand();
+
+               function done() {
+                   context.ui().sidebar.show(commit);
+               }
+
+               keybindingOn();
+
+               context.container().selectAll('#content')
+                   .attr('class', 'inactive');
+
+               var osm = context.connection();
+               if (!osm) {
+                   cancel();
+                   return;
+               }
+
+               if (osm.authenticated()) {
+                   done();
+               } else {
+                   osm.authenticate(function(err) {
+                       if (err) {
+                           cancel();
+                       } else {
+                           done();
+                       }
+                   });
+               }
+           };
+
+
+           mode.exit = function() {
+               _isSaving = false;
+
+               keybindingOff();
+
+               context.container().selectAll('#content')
+                   .attr('class', 'active');
+
+               context.ui().sidebar.hide();
+           };
+
+           return mode;
+       }
+
+       function uiToolOldDrawModes(context) {
+
+           var tool = {
+               id: 'old_modes',
+               label: t('toolbar.add_feature')
+           };
+
+           var modes = [
+               modeAddPoint(context, {
+                   title: t('modes.add_point.title'),
+                   button: 'point',
+                   description: t('modes.add_point.description'),
+                   preset: context.presets().item('point'),
+                   key: '1'
+               }),
+               modeAddLine(context, {
+                   title: t('modes.add_line.title'),
+                   button: 'line',
+                   description: t('modes.add_line.description'),
+                   preset: context.presets().item('line'),
+                   key: '2'
+               }),
+               modeAddArea(context, {
+                   title: t('modes.add_area.title'),
+                   button: 'area',
+                   description: t('modes.add_area.description'),
+                   preset: context.presets().item('area'),
+                   key: '3'
+               })
+           ];
+
+
+           function enabled() {
+               return osmEditable();
+           }
+
+           function osmEditable() {
+               var mode = context.mode();
+               return context.editable() && mode && mode.id !== 'save';
+           }
+
+           modes.forEach(function(mode) {
+               context.keybinding().on(mode.key, function() {
+                   if (!enabled()) return;
+
+                   if (mode.id === context.mode().id) {
+                       context.enter(modeBrowse(context));
+                   } else {
+                       context.enter(mode);
+                   }
+               });
+           });
+
+           tool.render = function(selection) {
+
+               var wrap = selection
+                   .append('div')
+                   .attr('class', 'joined')
+                   .style('display', 'flex');
+
+               context
+                   .on('enter.editor', function(entered) {
+                       selection.selectAll('button.add-button')
+                           .classed('active', function(mode) { return entered.button === mode.button; });
+                       context.container()
+                           .classed('mode-' + entered.id, true);
+                   });
+
+               context
+                   .on('exit.editor', function(exited) {
+                       context.container()
+                           .classed('mode-' + exited.id, false);
+                   });
+
+
+               var debouncedUpdate = debounce(update, 500, { leading: true, trailing: true });
+
+               context.map()
+                   .on('move.modes', debouncedUpdate)
+                   .on('drawn.modes', debouncedUpdate);
+
+               context
+                   .on('enter.modes', update);
+
+               update();
+
+
+               function update() {
+
+                   var buttons = wrap.selectAll('button.add-button')
+                       .data(modes, function(d) { return d.id; });
+
+                   // exit
+                   buttons.exit()
+                       .remove();
+
+                   // enter
+                   var buttonsEnter = buttons.enter()
+                       .append('button')
+                       .attr('tabindex', -1)
+                       .attr('class', function(d) { return d.id + ' add-button bar-button'; })
+                       .on('click.mode-buttons', function(d) {
+                           if (!enabled()) return;
+
+                           // When drawing, ignore accidental clicks on mode buttons - #4042
+                           var currMode = context.mode().id;
+                           if (/^draw/.test(currMode)) return;
+
+                           if (d.id === currMode) {
+                               context.enter(modeBrowse(context));
+                           } else {
+                               context.enter(d);
+                           }
+                       })
+                       .call(tooltip()
+                           .placement('bottom')
+                           .html(true)
+                           .title(function(d) { return uiTooltipHtml(d.description, d.key); })
+                       );
+
+                   buttonsEnter
+                       .each(function(d) {
+                           d3_select(this)
+                               .call(svgIcon('#iD-icon-' + d.button));
+                       });
+
+                   buttonsEnter
+                       .append('span')
+                       .attr('class', 'label')
+                       .text(function(mode) { return mode.title; });
+
+                   // if we are adding/removing the buttons, check if toolbar has overflowed
+                   if (buttons.enter().size() || buttons.exit().size()) {
+                       context.ui().checkOverflow('#bar', true);
+                   }
+
+                   // update
+                   buttons = buttons
+                       .merge(buttonsEnter)
+                       .classed('disabled', function(d) { return !enabled(); });
+               }
+           };
+
+           return tool;
+       }
+
+       function uiToolNotes(context) {
+
+           var tool = {
+               id: 'notes',
+               label: t('modes.add_note.label')
+           };
+
+           var mode = modeAddNote(context);
+
+           function enabled() {
+               return notesEnabled() && notesEditable();
+           }
+
+           function notesEnabled() {
+               var noteLayer = context.layers().layer('notes');
+               return noteLayer && noteLayer.enabled();
+           }
+
+           function notesEditable() {
+               var mode = context.mode();
+               return context.map().notesEditable() && mode && mode.id !== 'save';
+           }
+
+           context.keybinding().on(mode.key, function() {
+               if (!enabled()) return;
+
+               if (mode.id === context.mode().id) {
+                   context.enter(modeBrowse(context));
+               } else {
+                   context.enter(mode);
+               }
+           });
+
+           tool.render = function(selection) {
+
+               context
+                   .on('enter.editor.notes', function(entered) {
+                       selection.selectAll('button.add-button')
+                           .classed('active', function(mode) { return entered.button === mode.button; });
+                       context.container()
+                           .classed('mode-' + entered.id, true);
+                   });
+
+               context
+                   .on('exit.editor.notes', function(exited) {
+                       context.container()
+                           .classed('mode-' + exited.id, false);
+                   });
+
+
+               var debouncedUpdate = debounce(update, 500, { leading: true, trailing: true });
+
+               context.map()
+                   .on('move.notes', debouncedUpdate)
+                   .on('drawn.notes', debouncedUpdate);
+
+               context
+                   .on('enter.notes', update);
+
+               update();
+
+
+               function update() {
+                   var showNotes = notesEnabled();
+                   var data = showNotes ? [mode] : [];
+
+                   var buttons = selection.selectAll('button.add-button')
+                       .data(data, function(d) { return d.id; });
+
+                   // exit
+                   buttons.exit()
+                       .remove();
+
+                   // enter
+                   var buttonsEnter = buttons.enter()
+                       .append('button')
+                       .attr('tabindex', -1)
+                       .attr('class', function(d) { return d.id + ' add-button bar-button'; })
+                       .on('click.notes', function(d) {
+                           if (!enabled()) return;
+
+                           // When drawing, ignore accidental clicks on mode buttons - #4042
+                           var currMode = context.mode().id;
+                           if (/^draw/.test(currMode)) return;
+
+                           if (d.id === currMode) {
+                               context.enter(modeBrowse(context));
+                           } else {
+                               context.enter(d);
+                           }
+                       })
+                       .call(tooltip()
+                           .placement('bottom')
+                           .html(true)
+                           .title(function(d) { return uiTooltipHtml(d.description, d.key); })
+                       );
+
+                   buttonsEnter
+                       .each(function(d) {
+                           d3_select(this)
+                               .call(svgIcon(d.icon || '#iD-icon-' + d.button));
+                       });
+
+                   // if we are adding/removing the buttons, check if toolbar has overflowed
+                   if (buttons.enter().size() || buttons.exit().size()) {
+                       context.ui().checkOverflow('#bar', true);
+                   }
+
+                   // update
+                   buttons = buttons
+                       .merge(buttonsEnter)
+                       .classed('disabled', function(d) { return !enabled(); });
+               }
+           };
+
+           tool.uninstall = function() {
+               context
+                   .on('enter.editor.notes', null)
+                   .on('exit.editor.notes', null)
+                   .on('enter.notes', null);
+
+               context.map()
+                   .on('move.notes', null)
+                   .on('drawn.notes', null);
+           };
+
+           return tool;
+       }
+
+       function uiToolSave(context) {
+
+           var tool = {
+               id: 'save',
+               label: t('save.title')
+           };
+
+           var button = null;
+           var tooltipBehavior = null;
+           var history = context.history();
+           var key = uiCmd('⌘S');
+           var _numChanges = 0;
+
+           function isSaving() {
+               var mode = context.mode();
+               return mode && mode.id === 'save';
+           }
+
+           function isDisabled() {
+               return _numChanges === 0 || isSaving();
+           }
+
+           function save() {
+               event.preventDefault();
+               if (!context.inIntro() && !isSaving() && history.hasChanges()) {
+                   context.enter(modeSave(context));
+               }
+           }
+
+           function bgColor() {
+               var step;
+               if (_numChanges === 0) {
+                   return null;
+               } else if (_numChanges <= 50) {
+                   step = _numChanges / 50;
+                   return d3_interpolateRgb('#fff', '#ff8')(step);  // white -> yellow
+               } else {
+                   step = Math.min((_numChanges - 50) / 50, 1.0);
+                   return d3_interpolateRgb('#ff8', '#f88')(step);  // yellow -> red
+               }
+           }
+
+
+           function updateCount() {
+               var val = history.difference().summary().length;
+               if (val === _numChanges) return;
+               _numChanges = val;
+
+               if (tooltipBehavior) {
+                   tooltipBehavior
+                       .title(uiTooltipHtml(
+                           t(_numChanges > 0 ? 'save.help' : 'save.no_changes'), key)
+                       );
+               }
+
+               if (button) {
+                   button
+                       .classed('disabled', isDisabled())
+                       .style('background', bgColor());
+
+                   button.select('span.count')
+                       .text(_numChanges);
+               }
+           }
+
+
+           tool.render = function(selection) {
+               tooltipBehavior = tooltip()
+                   .placement('bottom')
+                   .html(true)
+                   .title(uiTooltipHtml(t('save.no_changes'), key));
+
+               button = selection
+                   .append('button')
+                   .attr('class', 'save disabled bar-button')
+                   .attr('tabindex', -1)
+                   .on('click', save)
+                   .call(tooltipBehavior);
+
+               button
+                   .call(svgIcon('#iD-icon-save'));
+
+               button
+                   .append('span')
+                   .attr('class', 'count')
+                   .text('0');
+
+               updateCount();
+
+
+               context.keybinding()
+                   .on(key, save, true);
+
+
+               context.history()
+                   .on('change.save', updateCount);
+
+               context
+                   .on('enter.save', function() {
+                       if (button) {
+                           button
+                               .classed('disabled', isDisabled());
+
+                           if (isSaving()) {
+                               button.call(tooltipBehavior.hide);
+                           }
+                       }
+                   });
+           };
+
+
+           tool.uninstall = function() {
+               context.keybinding()
+                   .off(key, true);
+
+               context.history()
+                   .on('change.save', null);
+
+               context
+                   .on('enter.save', null);
+
+               button = null;
+               tooltipBehavior = null;
+           };
+
+           return tool;
+       }
+
+       function uiToolSidebarToggle(context) {
+
+           var tool = {
+               id: 'sidebar_toggle',
+               label: t('toolbar.inspect')
+           };
+
+           tool.render = function(selection) {
+               selection
+                   .append('button')
+                   .attr('class', 'bar-button')
+                   .attr('tabindex', -1)
+                   .on('click', function() {
+                       context.ui().sidebar.toggle();
+                   })
+                   .call(tooltip()
+                       .placement('bottom')
+                       .html(true)
+                       .title(uiTooltipHtml(t('sidebar.tooltip'), t('sidebar.key')))
+                   )
+                   .call(svgIcon('#iD-icon-sidebar-' + (textDirection === 'rtl' ? 'right' : 'left')));
+           };
+
+           return tool;
+       }
+
+       function uiToolUndoRedo(context) {
+
+           var tool = {
+               id: 'undo_redo',
+               label: t('toolbar.undo_redo')
+           };
+
+           var commands = [{
+               id: 'undo',
+               cmd: uiCmd('⌘Z'),
+               action: function() { if (editable()) context.undo(); },
+               annotation: function() { return context.history().undoAnnotation(); }
+           }, {
+               id: 'redo',
+               cmd: uiCmd('⌘⇧Z'),
+               action: function() { if (editable()) context.redo(); },
+               annotation: function() { return context.history().redoAnnotation(); }
+           }];
+
+
+           function editable() {
+               var mode = context.mode();
+               return context.editable() && mode && mode.id !== 'save';
+           }
+
+
+           tool.render = function(selection) {
+               var tooltipBehavior = tooltip()
+                   .placement('bottom')
+                   .html(true)
+                   .title(function (d) {
+                       return uiTooltipHtml(d.annotation() ?
+                           t(d.id + '.tooltip', {action: d.annotation()}) :
+                           t(d.id + '.nothing'), d.cmd);
+                   });
+
+               var buttons = selection.selectAll('button')
+                   .data(commands)
+                   .enter()
+                   .append('button')
+                   .attr('class', function(d) { return 'disabled ' + d.id + '-button bar-button'; })
+                   .on('click', function(d) { return d.action(); })
+                   .call(tooltipBehavior);
+
+               buttons.each(function(d) {
+                   var iconName = d.id;
+                   if (textDirection === 'rtl') {
+                       if (iconName === 'undo') {
+                           iconName = 'redo';
+                       } else if (iconName === 'redo') {
+                           iconName = 'undo';
+                       }
+                   }
+                   d3_select(this)
+                       .call(svgIcon('#iD-icon-' + iconName));
+               });
+
+               context.keybinding()
+                   .on(commands[0].cmd, function() { event.preventDefault(); commands[0].action(); })
+                   .on(commands[1].cmd, function() { event.preventDefault(); commands[1].action(); });
+
+
+               var debouncedUpdate = debounce(update, 500, { leading: true, trailing: true });
+
+               context.map()
+                   .on('move.undo_redo', debouncedUpdate)
+                   .on('drawn.undo_redo', debouncedUpdate);
+
+               context.history()
+                   .on('change.undo_redo', function(difference) {
+                       if (difference) update();
+                   });
+
+               context
+                   .on('enter.undo_redo', update);
+
+
+               function update() {
+                   buttons
+                       .property('disabled', !editable())
+                       .classed('disabled', function(d) {
+                           return !editable() || !d.annotation();
+                       })
+                       .each(function() {
+                           var selection = d3_select(this);
+                           if (selection.property('tooltipVisible')) {
+                               selection.call(tooltipBehavior.show);
+                           }
+                       });
+               }
+           };
+
+           tool.uninstall = function() {
+               context.keybinding()
+                   .off(commands[0].cmd)
+                   .off(commands[1].cmd);
+
+               context.map()
+                   .on('move.undo_redo', null)
+                   .on('drawn.undo_redo', null);
+
+               context.history()
+                   .on('change.undo_redo', null);
+
+               context
+                   .on('enter.undo_redo', null);
+           };
+
+           return tool;
+       }
+
+       function uiTopToolbar(context) {
+
+           var sidebarToggle = uiToolSidebarToggle(context),
+               modes = uiToolOldDrawModes(context),
+               //searchAdd = uiToolSearchAdd(context),
+               //addFavorite = uiToolAddFavorite(context),
+               //addRecent = uiToolAddRecent(context),
+               notes = uiToolNotes(context),
+               undoRedo = uiToolUndoRedo(context),
+               save = uiToolSave(context);
+
+           function notesEnabled() {
+               var noteLayer = context.layers().layer('notes');
+               return noteLayer && noteLayer.enabled();
+           }
+
+           function topToolbar(bar) {
+
+               var debouncedUpdate = debounce(update, 500, { leading: true, trailing: true });
+               context.layers()
+                   .on('change.topToolbar', debouncedUpdate);
+
+               context.presets()
+                   .on('favoritePreset.topToolbar', update)
+                   .on('recentsChange.topToolbar', update);
+
+               update();
+
+               function update() {
+
+                   var tools = [
+                       sidebarToggle,
+                       'spacer',
+                       modes
+                   //    searchAdd
+                   ];
+                   /*
+                   if (context.presets().getFavorites().length > 0) {
+                       tools.push(addFavorite);
+                   }
+
+                   if (addRecent.shouldShow()) {
+                       tools.push(addRecent);
+                   }*/
+
+                   tools.push('spacer');
+
+                   if (notesEnabled()) {
+                       tools = tools.concat([notes, 'spacer']);
+                   }
+
+                   tools = tools.concat([undoRedo, save]);
+
+                   var toolbarItems = bar.selectAll('.toolbar-item')
+                       .data(tools, function(d) {
+                           return d.id || d;
+                       });
+
+                   toolbarItems.exit()
+                       .each(function(d) {
+                           if (d.uninstall) {
+                               d.uninstall();
+                           }
+                       })
+                       .remove();
+
+                   var itemsEnter = toolbarItems
+                       .enter()
+                       .append('div')
+                       .attr('class', function(d) {
+                           var classes = 'toolbar-item ' + (d.id || d).replace('_', '-');
+                           if (d.klass) classes += ' ' + d.klass;
+                           return classes;
+                       });
+
+                   var actionableItems = itemsEnter.filter(function(d) { return d !== 'spacer'; });
+
+                   actionableItems
+                       .append('div')
+                       .attr('class', 'item-content')
+                       .each(function(d) {
+                           d3_select(this).call(d.render, bar);
+                       });
+
+                   actionableItems
+                       .append('div')
+                       .attr('class', 'item-label')
+                       .text(function(d) {
+                           return d.label;
+                       });
+               }
+
+           }
+
+           return topToolbar;
+       }
+
+       // these are module variables so they are preserved through a ui.restart()
+       var sawVersion = null;
+       var isNewVersion = false;
+       var isNewUser = false;
+
+
+       function uiVersion(context) {
+
+           var currVersion = context.version;
+           var matchedVersion = currVersion.match(/\d+\.\d+\.\d+.*/);
+
+           if (sawVersion === null && matchedVersion !== null) {
+               isNewVersion = (context.storage('sawVersion') !== currVersion);
+               isNewUser = !context.storage('sawSplash');
+               context.storage('sawVersion', currVersion);
+               sawVersion = currVersion;
+           }
+
+           return function(selection) {
+               selection
+                   .append('a')
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .attr('href', 'https://github.com/openstreetmap/iD')
+                   .text(currVersion);
+
+               // only show new version indicator to users that have used iD before
+               if (isNewVersion && !isNewUser) {
+                   selection
+                       .append('div')
+                       .attr('class', 'badge')
+                       .append('a')
+                       .attr('target', '_blank')
+                       .attr('tabindex', -1)
+                       .attr('href', 'https://github.com/openstreetmap/iD/blob/master/CHANGELOG.md#whats-new')
+                       .call(svgIcon('#maki-gift-11'))
+                       .call(tooltip()
+                           .title(t('version.whats_new', { version: currVersion }))
+                           .placement('top')
+                       );
+               }
+           };
+       }
+
+       function uiZoom(context) {
+           var zooms = [{
+               id: 'zoom-in',
+               icon: 'plus',
+               title: t('zoom.in'),
+               action: context.zoomIn,
+               key: '+'
+           }, {
+               id: 'zoom-out',
+               icon: 'minus',
+               title: t('zoom.out'),
+               action: context.zoomOut,
+               key: '-'
+           }];
+
+
+           function zoomIn() {
+               event.preventDefault();
+               context.zoomIn();
+           }
+
+
+           function zoomOut() {
+               event.preventDefault();
+               context.zoomOut();
+           }
+
+
+           function zoomInFurther() {
+               event.preventDefault();
+               context.zoomInFurther();
+           }
+
+
+           function zoomOutFurther() {
+               event.preventDefault();
+               context.zoomOutFurther();
+           }
+
+
+           return function(selection) {
+               var button = selection.selectAll('button')
+                   .data(zooms)
+                   .enter()
+                   .append('button')
+                   .attr('tabindex', -1)
+                   .attr('class', function(d) { return d.id; })
+                   .on('click.editor', function(d) { d.action(); })
+                   .call(tooltip()
+                       .placement((textDirection === 'rtl') ? 'right' : 'left')
+                       .html(true)
+                       .title(function(d) {
+                           return uiTooltipHtml(d.title, d.key);
+                       })
+                   );
+
+               button.each(function(d) {
+                   d3_select(this)
+                       .call(svgIcon('#iD-icon-' + d.icon, 'light'));
+               });
+
+               ['plus', 'ffplus', '=', 'ffequals'].forEach(function(key) {
+                   context.keybinding().on([key], zoomIn);
+                   context.keybinding().on([uiCmd('⌘' + key)], zoomInFurther);
+               });
+
+               ['_', '-', 'ffminus', 'dash'].forEach(function(key) {
+                   context.keybinding().on([key], zoomOut);
+                   context.keybinding().on([uiCmd('⌘' + key)], zoomOutFurther);
+               });
+           };
+       }
+
+       function uiInit(context) {
+           var _initCounter = 0;
+           var _initCallback;
+           var _needWidth = {};
+
+
+           function render(container) {
+               container
+                   .attr('dir', textDirection);
+
+               // setup fullscreen keybindings (no button shown at this time)
+               container
+                   .call(uiFullScreen(context));
+
+               var map = context.map();
+               map.redrawEnable(false);  // don't draw until we've set zoom/lat/long
+
+               container
+                   .append('svg')
+                   .attr('id', 'defs')
+                   .call(svgDefs(context));
+
+               container
+                   .append('div')
+                   .attr('id', 'sidebar')
+                   .call(ui.sidebar);
+
+               var content = container
+                   .append('div')
+                   .attr('id', 'content')
+                   .attr('class', 'active');
+
+               // Top toolbar
+               content
+                   .append('div')
+                   .attr('id', 'bar')
+                   .attr('class', 'fillD')
+                   .call(uiTopToolbar(context));
+
+               content
+                   .append('div')
+                   .attr('id', 'map')
+                   .attr('dir', 'ltr')
+                   .call(map);
+
+
+               // Map controls
+               var controls = content
+                   .append('div')
+                   .attr('class', 'map-controls');
+
+               controls
+                   .append('div')
+                   .attr('class', 'map-control zoombuttons')
+                   .call(uiZoom(context));
+
+               controls
+                   .append('div')
+                   .attr('class', 'map-control geolocate-control')
+                   .call(uiGeolocate(context));
+
+               var background = uiBackground(context);
+               controls
+                   .append('div')
+                   .attr('class', 'map-control background-control')
+                   .call(background.renderToggleButton);
+
+               var mapData = uiMapData(context);
+               controls
+                   .append('div')
+                   .attr('class', 'map-control map-data-control')
+                   .call(mapData.renderToggleButton);
+
+               var issues = uiIssues(context);
+               controls
+                   .append('div')
+                   .attr('class', 'map-control map-issues-control')
+                   .call(issues.renderToggleButton);
+
+               var help = uiHelp(context);
+               controls
+                   .append('div')
+                   .attr('class', 'map-control help-control')
+                   .call(help.renderToggleButton);
+
+               content
+                   .append('div')
+                   .attr('class', 'spinner')
+                   .call(uiSpinner(context));
+
+               // Add attribution and footer
+               var about = content
+                   .append('div')
+                   .attr('id', 'about');
+
+               about
+                   .append('div')
+                   .attr('id', 'attrib')
+                   .attr('dir', 'ltr')
+                   .call(uiAttribution(context));
+
+               about
+                   .append('div')
+                   .attr('class', 'api-status')
+                   .call(uiStatus(context));
+
+
+               var footer = about
+                   .append('div')
+                   .attr('id', 'footer')
+                   .attr('class', 'fillD');
+
+               footer
+                   .append('div')
+                   .attr('id', 'flash-wrap')
+                   .attr('class', 'footer-hide');
+
+               var footerWrap = footer
+                   .append('div')
+                   .attr('id', 'footer-wrap')
+                   .attr('class', 'footer-show');
+
+               footerWrap
+                   .append('div')
+                   .attr('id', 'scale-block')
+                   .call(uiScale(context));
+
+               var aboutList = footerWrap
+                   .append('div')
+                   .attr('id', 'info-block')
+                   .append('ul')
+                   .attr('id', 'about-list');
+
+               if (!context.embed()) {
+                   aboutList
+                       .call(uiAccount(context));
+               }
+
+               aboutList
+                   .append('li')
+                   .attr('class', 'version')
+                   .call(uiVersion(context));
+
+               var issueLinks = aboutList
+                   .append('li');
+
+               issueLinks
+                   .append('a')
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .attr('href', 'https://github.com/openstreetmap/iD/issues')
+                   .call(svgIcon('#iD-icon-bug', 'light'))
+                   .call(tooltip().title(t('report_a_bug')).placement('top'));
+
+               issueLinks
+                   .append('a')
+                   .attr('target', '_blank')
+                   .attr('tabindex', -1)
+                   .attr('href', 'https://github.com/openstreetmap/iD/blob/master/CONTRIBUTING.md#translating')
+                   .call(svgIcon('#iD-icon-translate', 'light'))
+                   .call(tooltip().title(t('help_translate')).placement('top'));
+
+               aboutList
+                   .append('li')
+                   .attr('class', 'feature-warning')
+                   .attr('tabindex', -1)
+                   .call(uiFeatureInfo(context));
+
+               aboutList
+                   .append('li')
+                   .attr('class', 'user-list')
+                   .attr('tabindex', -1)
+                   .call(uiContributors(context));
+
+
+               // Setup map dimensions and move map to initial center/zoom.
+               // This should happen after #content and toolbars exist.
+               ui.onResize();
+               map.redrawEnable(true);
+
+               ui.hash = behaviorHash(context);
+               ui.hash();
+               if (!ui.hash.hadHash) {
+                   map.centerZoom([0, 0], 2);
+               }
+
+
+               var overMap = content
+                   .append('div')
+                   .attr('class', 'over-map');
+
+               // Add panes
+               // This should happen after map is initialized, as some require surface()
+               var panes = overMap
+                   .append('div')
+                   .attr('class', 'map-panes');
+
+               panes
+                   .call(background.renderPane)
+                   .call(mapData.renderPane)
+                   .call(issues.renderPane)
+                   .call(help.renderPane);
+
+               // Add absolutely-positioned elements that sit on top of the map
+               // This should happen after the map is ready (center/zoom)
+               overMap
+                   .call(uiMapInMap(context))
+                   .call(uiInfo(context))
+                   .call(uiNotice(context));
+
+
+               overMap
+                   .append('div')
+                   .attr('id', 'photoviewer')
+                   .classed('al', true)       // 'al'=left,  'ar'=right
+                   .classed('hide', true)
+                   .call(ui.photoviewer);
+
+
+               // Bind events
+               window.onbeforeunload = function() {
+                   return context.save();
+               };
+               window.onunload = function() {
+                   context.history().unlock();
+               };
+
+               d3_select(window)
+                   .on('gesturestart.editor', eventCancel)
+                   .on('gesturechange.editor', eventCancel)
+                   .on('gestureend.editor', eventCancel)
+                   .on('resize.editor', ui.onResize);
+
+
+               var panPixels = 80;
+               context.keybinding()
+                   .on('⌫', function() { event.preventDefault(); })
+                   .on([t('sidebar.key'), '`', '²'], ui.sidebar.toggle)   // #5663 - common QWERTY, AZERTY
+                   .on('←', pan([panPixels, 0]))
+                   .on('↑', pan([0, panPixels]))
+                   .on('→', pan([-panPixels, 0]))
+                   .on('↓', pan([0, -panPixels]))
+                   .on(['⇧←', uiCmd('⌘←')], pan([map.dimensions()[0], 0]))
+                   .on(['⇧↑', uiCmd('⌘↑')], pan([0, map.dimensions()[1]]))
+                   .on(['⇧→', uiCmd('⌘→')], pan([-map.dimensions()[0], 0]))
+                   .on(['⇧↓', uiCmd('⌘↓')], pan([0, -map.dimensions()[1]]));
+
+               context.enter(modeBrowse(context));
+
+               if (!_initCounter++) {
+                   if (!ui.hash.startWalkthrough) {
+                       context.container()
+                           .call(uiSplash(context))
+                           .call(uiRestore(context));
+                   }
+
+                   context.container()
+                       .call(uiShortcuts(context));
+               }
+
+               var osm = context.connection();
+               var auth = uiLoading(context).message(t('loading_auth')).blocking(true);
+
+               if (osm && auth) {
+                   osm
+                       .on('authLoading.ui', function() {
+                           context.container()
+                               .call(auth);
+                       })
+                       .on('authDone.ui', function() {
+                           auth.close();
+                       });
+               }
+
+               _initCounter++;
+
+               if (ui.hash.startWalkthrough) {
+                   ui.hash.startWalkthrough = false;
+                   context.container().call(uiIntro(context));
+               }
+
+
+               function pan(d) {
+                   return function() {
+                       if (d3_select('.combobox').size()) return;
+                       event.preventDefault();
+                       context.pan(d, 100);
+                   };
+               }
+
+               function eventCancel() {
+                   event.preventDefault();
+               }
+           }
+
+
+           function ui(node, callback) {
+               _initCallback = callback;
+               var container = d3_select(node);
+               context.container(container);
+               context.loadLocale(function(err) {
+                   if (!err) {
+                       render(container);
+                   }
+                   if (callback) {
+                       callback(err);
+                   }
+               });
+           }
+
+
+           ui.restart = function(arg) {
+               context.keybinding().clear();
+               context.locale(arg);
+               context.loadLocale(function(err) {
+                   if (!err) {
+                       context.container().selectAll('*').remove();
+                       render(context.container());
+                       if (_initCallback) _initCallback();
+                   }
+               });
+           };
+
+
+           ui.sidebar = uiSidebar(context);
+
+           ui.photoviewer = uiPhotoviewer(context);
+
+           ui.onResize = function(withPan) {
+               var map = context.map();
+
+               // Recalc dimensions of map and sidebar.. (`true` = force recalc)
+               // This will call `getBoundingClientRect` and trigger reflow,
+               //  but the values will be cached for later use.
+               var mapDimensions = utilGetDimensions(d3_select('#content'), true);
+               utilGetDimensions(d3_select('#sidebar'), true);
+
+               if (withPan !== undefined) {
+                   map.redrawEnable(false);
+                   map.pan(withPan);
+                   map.redrawEnable(true);
+               }
+               map.dimensions(mapDimensions);
+
+               ui.photoviewer.onMapResize();
+
+               // check if header or footer have overflowed
+               ui.checkOverflow('#bar');
+               ui.checkOverflow('#footer');
+
+               // Use outdated code so it works on Explorer
+               var resizeWindowEvent = document.createEvent('Event');
+
+               resizeWindowEvent.initEvent('resizeWindow', true, true);
+
+               document.dispatchEvent(resizeWindowEvent);
+           };
+
+
+           // Call checkOverflow when resizing or whenever the contents change.
+           ui.checkOverflow = function(selector, reset) {
+               if (reset) {
+                   delete _needWidth[selector];
+               }
+
+               var element = d3_select(selector);
+               var scrollWidth = element.property('scrollWidth');
+               var clientWidth = element.property('clientWidth');
+               var needed = _needWidth[selector] || scrollWidth;
+
+               if (scrollWidth > clientWidth) {    // overflow happening
+                   element.classed('narrow', true);
+                   if (!_needWidth[selector]) {
+                       _needWidth[selector] = scrollWidth;
+                   }
+
+               } else if (scrollWidth >= needed) {
+                   element.classed('narrow', false);
+               }
+           };
+
+           ui.togglePanes = function(showPane) {
+               var shownPanes = d3_selectAll('.map-pane.shown');
+
+               var side = textDirection === 'ltr' ? 'right' : 'left';
+
+               shownPanes
+                   .classed('shown', false);
+
+               d3_selectAll('.map-control button')
+                   .classed('active', false);
+
+               if (showPane) {
+                   shownPanes
+                       .style('display', 'none')
+                       .style(side, '-500px');
+
+                   d3_selectAll('.' + showPane.attr('pane') + '-control button')
+                       .classed('active', true);
+
+                   showPane
+                       .classed('shown', true)
+                       .style('display', 'block');
+                   if (shownPanes.empty()) {
+                       showPane
+                           .style('display', 'block')
+                           .style(side, '-500px')
+                           .transition()
+                           .duration(200)
+                           .style(side, '0px');
+                   } else {
+                       showPane
+                           .style(side, '0px');
+                   }
+               } else {
+                   shownPanes
+                       .style('display', 'block')
+                       .style(side, '0px')
+                       .transition()
+                       .duration(200)
+                       .style(side, '-500px')
+                       .on('end', function() {
+                           d3_select(this).style('display', 'none');
+                       });
+               }
+           };
+
+           return ui;
+       }
+
+       function coreContext() {
+           var dispatch$1 = dispatch('enter', 'exit', 'change');
+           var context = utilRebind({}, dispatch$1, 'on');
+           var _deferred = new Set();
+
+           context.version = '2.15.4';
+
+           // create a special translation that contains the keys in place of the strings
+           var tkeys = JSON.parse(JSON.stringify(en));  // clone deep
+           var parents = [];
+
+           function traverser(v, k, obj) {
+               parents.push(k);
+               if (typeof v === 'object') {
+                   forOwn(v, traverser);
+               } else if (typeof v === 'string') {
+                   obj[k] = parents.join('.');
+               }
+               parents.pop();
+           }
+
+           function forOwn(obj, fn) {
+               Object.keys(obj).forEach(function(k) { fn(obj[k], k, obj); });
+           }
+
+           forOwn(tkeys, traverser);
+           addTranslation('_tkeys_', tkeys);
+
+           addTranslation('en', en);
+           setLocale('en');
+
+
+           // https://github.com/openstreetmap/iD/issues/772
+           // http://mathiasbynens.be/notes/localstorage-pattern#comment-9
+           var storage;
+           try { storage = localStorage; } catch (e) {}  // eslint-disable-line no-empty
+           storage = storage || (function() {
+               var s = {};
+               return {
+                   getItem: function(k) { return s[k]; },
+                   setItem: function(k, v) { s[k] = v; },
+                   removeItem: function(k) { delete s[k]; }
+               };
+           })();
+
+           context.storage = function(k, v) {
+               try {
+                   if (arguments.length === 1) return storage.getItem(k);
+                   else if (v === null) storage.removeItem(k);
+                   else storage.setItem(k, v);
+               } catch (e) {
+                   // localstorage quota exceeded
+                   /* eslint-disable no-console */
+                   if (typeof console !== 'undefined') console.error('localStorage quota exceeded');
+                   /* eslint-enable no-console */
+               }
+           };
+
+
+           /* User interface and keybinding */
+           var ui;
+           context.ui = function() { return ui; };
+
+           var keybinding = utilKeybinding('context');
+           context.keybinding = function() { return keybinding; };
+           d3_select(document).call(keybinding);
+
+
+           /* Straight accessors. Avoid using these if you can. */
+           var connection, history, validator;
+           context.connection = function() { return connection; };
+           context.history = function() { return history; };
+           context.validator = function() { return validator; };
+
+           /* Connection */
+           context.preauth = function(options) {
+               if (connection) {
+                   connection.switch(options);
+               }
+               return context;
+           };
+
+
+           function afterLoad(cid, callback) {
+               return function(err, result) {
+                   if (err) {
+                       // 400 Bad Request, 401 Unauthorized, 403 Forbidden..
+                       if (err.status === 400 || err.status === 401 || err.status === 403) {
+                           if (connection) {
+                               connection.logout();
+                           }
+                       }
+                       if (typeof callback === 'function') {
+                           callback(err);
+                       }
+                       return;
+
+                   } else if (connection && connection.getConnectionId() !== cid) {
+                       if (typeof callback === 'function') {
+                           callback({ message: 'Connection Switched', status: -1 });
+                       }
+                       return;
+
+                   } else {
+                       history.merge(result.data, result.extent);
+                       if (typeof callback === 'function') {
+                           callback(err, result);
+                       }
+                       return;
+                   }
+               };
+           }
+
+
+           context.loadTiles = function(projection, callback) {
+               var handle = window.requestIdleCallback(function() {
+                   _deferred.delete(handle);
+                   if (connection && context.editable()) {
+                       var cid = connection.getConnectionId();
+                       connection.loadTiles(projection, afterLoad(cid, callback));
+                   }
+               });
+               _deferred.add(handle);
+           };
+
+           context.loadTileAtLoc = function(loc, callback) {
+               var handle = window.requestIdleCallback(function() {
+                   _deferred.delete(handle);
+                   if (connection && context.editable()) {
+                       var cid = connection.getConnectionId();
+                       connection.loadTileAtLoc(loc, afterLoad(cid, callback));
+                   }
+               });
+               _deferred.add(handle);
+           };
+
+           context.loadEntity = function(entityID, callback) {
+               if (connection) {
+                   var cid = connection.getConnectionId();
+                   connection.loadEntity(entityID, afterLoad(cid, callback));
+               }
+           };
+
+           context.zoomToEntity = function(entityID, zoomTo) {
+               if (zoomTo !== false) {
+                   this.loadEntity(entityID, function(err, result) {
+                       if (err) return;
+                       var entity = result.data.find(function(e) { return e.id === entityID; });
+                       if (entity) {
+                           map.zoomTo(entity);
+                       }
+                   });
+               }
+
+               map.on('drawn.zoomToEntity', function() {
+                   if (!context.hasEntity(entityID)) return;
+                   map.on('drawn.zoomToEntity', null);
+                   context.on('enter.zoomToEntity', null);
+                   context.enter(modeSelect(context, [entityID]));
+               });
+
+               context.on('enter.zoomToEntity', function() {
+                   if (mode.id !== 'browse') {
+                       map.on('drawn.zoomToEntity', null);
+                       context.on('enter.zoomToEntity', null);
+                   }
+               });
+           };
+
+           var minEditableZoom = 16;
+           context.minEditableZoom = function(val) {
+               if (!arguments.length) return minEditableZoom;
+               minEditableZoom = val;
+               if (connection) {
+                   connection.tileZoom(val);
+               }
+               return context;
+           };
+
+
+           /* History */
+           var inIntro = false;
+           context.inIntro = function(val) {
+               if (!arguments.length) return inIntro;
+               inIntro = val;
+               return context;
+           };
+
+           context.save = function() {
+               // no history save, no message onbeforeunload
+               if (inIntro || d3_select('.modal').size()) return;
+
+               var canSave;
+               if (mode && mode.id === 'save') {
+                   canSave = false;
+
+                   // Attempt to prevent user from creating duplicate changes - see #5200
+                   if (services$1.osm && services$1.osm.isChangesetInflight()) {
+                       history.clearSaved();
+                       return;
+                   }
+
+               } else {
+                   canSave = context.selectedIDs().every(function(id) {
+                       var entity = context.hasEntity(id);
+                       return entity && !entity.isDegenerate();
+                   });
+               }
+
+               if (canSave) {
+                   history.save();
+               }
+               if (history.hasChanges()) {
+                   return t('save.unsaved_changes');
+               }
+           };
+
+
+           /* Graph */
+           context.hasEntity = function(id) {
+               return history.graph().hasEntity(id);
+           };
+           context.entity = function(id) {
+               return history.graph().entity(id);
+           };
+           context.childNodes = function(way) {
+               return history.graph().childNodes(way);
+           };
+           context.geometry = function(id) {
+               return context.entity(id).geometry(history.graph());
+           };
+
+
+           /* Modes */
+           var mode;
+           context.mode = function() {
+               return mode;
+           };
+           context.enter = function(newMode) {
+               if (mode) {
+                   mode.exit();
+                   dispatch$1.call('exit', this, mode);
+               }
+
+               mode = newMode;
+               mode.enter();
+               dispatch$1.call('enter', this, mode);
+           };
+
+           context.selectedIDs = function() {
+               if (mode && mode.selectedIDs) {
+                   return mode.selectedIDs();
+               } else {
+                   return [];
+               }
+           };
+
+           context.activeID = function() {
+               return mode && mode.activeID && mode.activeID();
+           };
+
+           var _selectedNoteID;
+           context.selectedNoteID = function(noteID) {
+               if (!arguments.length) return _selectedNoteID;
+               _selectedNoteID = noteID;
+               return context;
+           };
+
+           var _selectedErrorID;
+           context.selectedErrorID = function(errorID) {
+               if (!arguments.length) return _selectedErrorID;
+               _selectedErrorID = errorID;
+               return context;
+           };
+
+
+           /* Behaviors */
+           context.install = function(behavior) {
+               context.surface().call(behavior);
+           };
+           context.uninstall = function(behavior) {
+               context.surface().call(behavior.off);
+           };
+
+
+           /* Copy/Paste */
+           var copyIDs = [], copyGraph;
+           context.copyGraph = function() { return copyGraph; };
+           context.copyIDs = function(val) {
+               if (!arguments.length) return copyIDs;
+               copyIDs = val;
+               copyGraph = history.graph();
+               return context;
+           };
+
+
+           /* Background */
+           var background;
+           context.background = function() { return background; };
+
+
+           /* Features */
+           var features;
+           context.features = function() { return features; };
+           context.hasHiddenConnections = function(id) {
+               var graph = history.graph();
+               var entity = graph.entity(id);
+               return features.hasHiddenConnections(entity, graph);
+           };
+
+
+           /* Photos */
+           var photos;
+           context.photos = function() { return photos; };
+
+
+           /* Presets */
+           var presets;
+           context.presets = function() { return presets; };
+
+
+           /* Map */
+           var map;
+           context.map = function() { return map; };
+           context.layers = function() { return map.layers; };
+           context.surface = function() { return map.surface; };
+           context.editable = function() { return map.editable(); };
+           context.surfaceRect = function() {
+               return map.surface.node().getBoundingClientRect();
+           };
+
+
+           /* Debug */
+           var debugFlags = {
+               tile: false,        // tile boundaries
+               collision: false,   // label collision bounding boxes
+               imagery: false,     // imagery bounding polygons
+               community: false,   // community bounding polygons
+               imperial: false,    // imperial (not metric) bounding polygons
+               driveLeft: false,   // driveLeft bounding polygons
+               target: false,      // touch targets
+               downloaded: false   // downloaded data from osm
+           };
+           context.debugFlags = function() {
+               return debugFlags;
+           };
+           context.setDebug = function(flag, val) {
+               if (arguments.length === 1) val = true;
+               debugFlags[flag] = val;
+               dispatch$1.call('change');
+               return context;
+           };
+           context.getDebug = function(flag) {
+               return flag && debugFlags[flag];
+           };
+
+
+           /* Container */
+           var container = d3_select(document.body);
+           context.container = function(val) {
+               if (!arguments.length) return container;
+               container = val;
+               container.classed('id-container', true);
+               return context;
+           };
+           var embed;
+           context.embed = function(val) {
+               if (!arguments.length) return embed;
+               embed = val;
+               return context;
+           };
+
+
+           /* Assets */
+           var assetPath = '';
+           context.assetPath = function(val) {
+               if (!arguments.length) return assetPath;
+               assetPath = val;
+               return context;
+           };
+
+           var assetMap = {};
+           context.assetMap = function(val) {
+               if (!arguments.length) return assetMap;
+               assetMap = val;
+               return context;
+           };
+
+           context.asset = function(val) {
+               var filename = assetPath + val;
+               return assetMap[filename] || filename;
+           };
+
+           context.imagePath = function(val) {
+               return context.asset('img/' + val);
+           };
+
+
+           /* locales */
+           // `locale` variable contains a "requested locale".
+           // It won't become the `currentLocale` until after loadLocale() is called.
+           var locale, localePath;
+
+           context.locale = function(loc, path) {
+               if (!arguments.length) return currentLocale;
+               locale = loc;
+               localePath = path;
+               return context;
+           };
+
+           context.loadLocale = function(callback) {
+               if (locale && locale !== 'en' && dataLocales.hasOwnProperty(locale)) {
+                   localePath = localePath || context.asset('locales/' + locale + '.json');
+                   d3_json(localePath)
+                       .then(function(result) {
+                           addTranslation(locale, result[locale]);
+                           setLocale(locale);
+                           utilDetect(true);
+                           if (callback) callback();
+                       })
+                       .catch(function(err) {
+                           if (callback) callback(err.message);
+                       });
+               } else {
+                   if (locale) {
+                       setLocale(locale);
+                       utilDetect(true);
+                   }
+                   if (callback) {
+                       callback();
+                   }
+               }
+           };
+
+
+           /* reset (aka flush) */
+           context.reset = context.flush = function() {
+               context.debouncedSave.cancel();
+
+               Array.from(_deferred).forEach(function(handle) {
+                   window.cancelIdleCallback(handle);
+                   _deferred.delete(handle);
+               });
+
+               Object.values(services$1).forEach(function(service) {
+                   if (service && typeof service.reset === 'function') {
+                       service.reset(context);
+                   }
+               });
+
+               validator.reset();
+               features.reset();
+               history.reset();
+
+               return context;
+           };
+
+
+           /* Init */
+
+           context.projection = geoRawMercator();
+           context.curtainProjection = geoRawMercator();
+
+           locale = utilDetect().locale;
+           if (locale && !dataLocales.hasOwnProperty(locale)) {
+               locale = locale.split('-')[0];
+           }
+
+           history = coreHistory(context);
+           validator = coreValidator(context);
+
+           context.graph = history.graph;
+           context.changes = history.changes;
+           context.intersects = history.intersects;
+           context.pauseChangeDispatch = history.pauseChangeDispatch;
+           context.resumeChangeDispatch = history.resumeChangeDispatch;
+
+           // Debounce save, since it's a synchronous localStorage write,
+           // and history changes can happen frequently (e.g. when dragging).
+           context.debouncedSave = debounce(context.save, 350);
+           function withDebouncedSave(fn) {
+               return function() {
+                   var result = fn.apply(history, arguments);
+                   context.debouncedSave();
+                   return result;
+               };
+           }
+
+           context.perform = withDebouncedSave(history.perform);
+           context.replace = withDebouncedSave(history.replace);
+           context.pop = withDebouncedSave(history.pop);
+           context.overwrite = withDebouncedSave(history.overwrite);
+           context.undo = withDebouncedSave(history.undo);
+           context.redo = withDebouncedSave(history.redo);
+
+           ui = uiInit(context);
+
+           connection = services$1.osm;
+           background = rendererBackground(context);
+           features = rendererFeatures(context);
+           photos = rendererPhotos(context);
+           presets = presetIndex(context);
+
+           if (services$1.maprules && utilStringQs(window.location.hash).maprules) {
+               var maprules = utilStringQs(window.location.hash).maprules;
+               d3_json(maprules)
+                   .then(function(mapcss) {
+                       services$1.maprules.init();
+                       mapcss.forEach(function(mapcssSelector) {
+                           return services$1.maprules.addRule(mapcssSelector);
+                       });
+                   })
+                   .catch(function() {
+                       /* ignore */
+                   });
+           }
+
+           map = rendererMap(context);
+           context.mouse = map.mouse;
+           context.extent = map.extent;
+           context.pan = map.pan;
+           context.zoomIn = map.zoomIn;
+           context.zoomOut = map.zoomOut;
+           context.zoomInFurther = map.zoomInFurther;
+           context.zoomOutFurther = map.zoomOutFurther;
+           context.redrawEnable = map.redrawEnable;
+
+           Object.values(services$1).forEach(function(service) {
+               if (service && typeof service.init === 'function') {
+                   service.init(context);
+               }
+           });
+
+           validator.init();
+           background.init();
+           features.init();
+           photos.init();
+
+           var presetsParameter = utilStringQs(window.location.hash).presets;
+           if (presetsParameter && presetsParameter.indexOf('://') !== -1) {
+               // assume URL of external presets file
+
+               presets.fromExternal(external, function(externalPresets) {
+                   context.presets = function() { return externalPresets; }; // default + external presets...
+                   osmSetAreaKeys(presets.areaKeys());
+                   osmSetPointTags(presets.pointTags());
+                   osmSetVertexTags(presets.vertexTags());
+               });
+           } else {
+               var isVisible;
+               if (presetsParameter) {
+                   // assume list of allowed preset IDs
+                   var visiblePresetIDs = new Set(presetsParameter.split(','));
+                   isVisible = function(presetID) {
+                       return visiblePresetIDs.has(presetID);
+                   };
+               }
+               presets.init(isVisible);
+               osmSetAreaKeys(presets.areaKeys());
+               osmSetPointTags(presets.pointTags());
+               osmSetVertexTags(presets.vertexTags());
+           }
+
+           return context;
+       }
+
+       function uiSourceSwitch(context) {
+           var keys;
+
+
+           function click() {
+               event.preventDefault();
+
+               var osm = context.connection();
+               if (!osm) return;
+
+               if (context.inIntro()) return;
+
+               if (context.history().hasChanges() &&
+                   !window.confirm(t('source_switch.lose_changes'))) return;
+
+               var isLive = d3_select(this)
+                   .classed('live');
+
+               isLive = !isLive;
+               context.enter(modeBrowse(context));
+               context.history().clearSaved();          // remove saved history
+               context.flush();                         // remove stored data
+
+               d3_select(this)
+                   .text(isLive ? t('source_switch.live') : t('source_switch.dev'))
+                   .classed('live', isLive);
+
+               osm.switch(isLive ? keys[0] : keys[1]);  // switch connection (warning: dispatches 'change' event)
+           }
+
+           var sourceSwitch = function(selection) {
+               selection
+                   .append('a')
+                   .attr('href', '#')
+                   .text(t('source_switch.live'))
+                   .classed('live', true)
+                   .attr('tabindex', -1)
+                   .on('click', click);
+           };
+
+
+           sourceSwitch.keys = function(_) {
+               if (!arguments.length) return keys;
+               keys = _;
+               return sourceSwitch;
+           };
+
+
+           return sourceSwitch;
+       }
+
+       var Connection = services$1.osm;
+
+       var debug = false;
+
+       var iD = /*#__PURE__*/Object.freeze({
+               Connection: Connection,
+               debug: debug,
+               d3: index$3,
+               Context: coreContext,
+               setAreaKeys: osmSetAreaKeys,
+               get areaKeys () { return osmAreaKeys; },
+               Difference: coreDifference,
+               Graph: coreGraph,
+               History: coreHistory,
+               Tree: coreTree,
+               geoCross: geoVecCross,
+               geoInterp: geoVecInterp,
+               geoRoundCoordinates: geoVecFloor,
+               geoEuclideanDistance: geoVecLength,
+               Entity: osmEntity,
+               Node: osmNode,
+               Relation: osmRelation,
+               Way: osmWay,
+               BackgroundSource: rendererBackgroundSource,
+               Background: rendererBackground,
+               Features: rendererFeatures,
+               Map: rendererMap,
+               TileLayer: rendererTileLayer,
+               Detect: utilDetect,
+               uiPreset: uiPresetEditor,
+               actionAddEntity: actionAddEntity,
+               actionAddMember: actionAddMember,
+               actionAddMidpoint: actionAddMidpoint,
+               actionAddVertex: actionAddVertex,
+               actionChangeMember: actionChangeMember,
+               actionChangePreset: actionChangePreset,
+               actionChangeTags: actionChangeTags,
+               actionCircularize: actionCircularize,
+               actionConnect: actionConnect,
+               actionCopyEntities: actionCopyEntities,
+               actionDeleteMember: actionDeleteMember,
+               actionDeleteMultiple: actionDeleteMultiple,
+               actionDeleteNode: actionDeleteNode,
+               actionDeleteRelation: actionDeleteRelation,
+               actionDeleteWay: actionDeleteWay,
+               actionDiscardTags: actionDiscardTags,
+               actionDisconnect: actionDisconnect,
+               actionExtract: actionExtract,
+               actionJoin: actionJoin,
+               actionMerge: actionMerge,
+               actionMergeNodes: actionMergeNodes,
+               actionMergePolygon: actionMergePolygon,
+               actionMergeRemoteChanges: actionMergeRemoteChanges,
+               actionMove: actionMove,
+               actionMoveMember: actionMoveMember,
+               actionMoveNode: actionMoveNode,
+               actionNoop: actionNoop,
+               actionOrthogonalize: actionOrthogonalize,
+               actionRestrictTurn: actionRestrictTurn,
+               actionReverse: actionReverse,
+               actionRevert: actionRevert,
+               actionRotate: actionRotate,
+               actionSplit: actionSplit,
+               actionStraightenNodes: actionStraightenNodes,
+               actionStraightenWay: actionStraightenWay,
+               actionUnrestrictTurn: actionUnrestrictTurn,
+               actionReflect: actionReflect,
+               actionUpgradeTags: actionUpgradeTags,
+               behaviorAddWay: behaviorAddWay,
+               behaviorBreathe: behaviorBreathe,
+               behaviorCopy: behaviorCopy,
+               behaviorDrag: behaviorDrag,
+               behaviorDrawWay: behaviorDrawWay,
+               behaviorDraw: behaviorDraw,
+               behaviorEdit: behaviorEdit,
+               behaviorHash: behaviorHash,
+               behaviorHover: behaviorHover,
+               behaviorLasso: behaviorLasso,
+               behaviorOperation: behaviorOperation,
+               behaviorPaste: behaviorPaste,
+               behaviorSelect: behaviorSelect,
+               behaviorTail: behaviorTail,
+               coreContext: coreContext,
+               coreDifference: coreDifference,
+               coreGraph: coreGraph,
+               coreHistory: coreHistory,
+               coreTree: coreTree,
+               coreValidator: coreValidator,
+               data: data,
+               dataWikipedia: wikipedia$2,
+               dataAddressFormats: dataAddressFormats,
+               dataDeprecated: dataDeprecated,
+               dataDiscarded: dataDiscarded,
+               dataLocales: dataLocales,
+               dataPhoneFormats: dataPhoneFormats,
+               dataShortcuts: dataShortcuts,
+               dataImperial: dataImperial,
+               dataMPH: dataMPH,
+               dataDriveLeft: dataDriveLeft,
+               dataEn: en,
+               geoExtent: geoExtent,
+               geoLatToMeters: geoLatToMeters,
+               geoLonToMeters: geoLonToMeters,
+               geoMetersToLat: geoMetersToLat,
+               geoMetersToLon: geoMetersToLon,
+               geoMetersToOffset: geoMetersToOffset,
+               geoOffsetToMeters: geoOffsetToMeters,
+               geoScaleToZoom: geoScaleToZoom,
+               geoSphericalClosestNode: geoSphericalClosestNode,
+               geoSphericalDistance: geoSphericalDistance,
+               geoZoomToScale: geoZoomToScale,
+               geoAngle: geoAngle,
+               geoChooseEdge: geoChooseEdge,
+               geoEdgeEqual: geoEdgeEqual,
+               geoGetSmallestSurroundingRectangle: geoGetSmallestSurroundingRectangle,
+               geoHasLineIntersections: geoHasLineIntersections,
+               geoHasSelfIntersections: geoHasSelfIntersections,
+               geoRotate: geoRotate,
+               geoLineIntersection: geoLineIntersection,
+               geoPathHasIntersections: geoPathHasIntersections,
+               geoPathIntersections: geoPathIntersections,
+               geoPathLength: geoPathLength,
+               geoPointInPolygon: geoPointInPolygon,
+               geoPolygonContainsPolygon: geoPolygonContainsPolygon,
+               geoPolygonIntersectsPolygon: geoPolygonIntersectsPolygon,
+               geoViewportEdge: geoViewportEdge,
+               geoRawMercator: geoRawMercator,
+               geoVecAdd: geoVecAdd,
+               geoVecAngle: geoVecAngle,
+               geoVecCross: geoVecCross,
+               geoVecDot: geoVecDot,
+               geoVecEqual: geoVecEqual,
+               geoVecFloor: geoVecFloor,
+               geoVecInterp: geoVecInterp,
+               geoVecLength: geoVecLength,
+               geoVecNormalize: geoVecNormalize,
+               geoVecNormalizedDot: geoVecNormalizedDot,
+               geoVecProject: geoVecProject,
+               geoVecSubtract: geoVecSubtract,
+               geoVecScale: geoVecScale,
+               geoOrthoNormalizedDotProduct: geoOrthoNormalizedDotProduct,
+               geoOrthoCalcScore: geoOrthoCalcScore,
+               geoOrthoMaxOffsetAngle: geoOrthoMaxOffsetAngle,
+               geoOrthoCanOrthogonalize: geoOrthoCanOrthogonalize,
+               modeAddArea: modeAddArea,
+               modeAddLine: modeAddLine,
+               modeAddPoint: modeAddPoint,
+               modeAddNote: modeAddNote,
+               modeBrowse: modeBrowse,
+               modeDragNode: modeDragNode,
+               modeDragNote: modeDragNote,
+               modeDrawArea: modeDrawArea,
+               modeDrawLine: modeDrawLine,
+               modeMove: modeMove,
+               modeRotate: modeRotate,
+               modeSave: modeSave,
+               modeSelect: modeSelect,
+               modeSelectData: modeSelectData,
+               modeSelectError: modeSelectError,
+               modeSelectNote: modeSelectNote,
+               operationCircularize: operationCircularize,
+               operationContinue: operationContinue,
+               operationDelete: operationDelete,
+               operationDisconnect: operationDisconnect,
+               operationDowngrade: operationDowngrade,
+               operationExtract: operationExtract,
+               operationMerge: operationMerge,
+               operationMove: operationMove,
+               operationOrthogonalize: operationOrthogonalize,
+               operationReflectShort: operationReflectShort,
+               operationReflectLong: operationReflectLong,
+               operationReverse: operationReverse,
+               operationRotate: operationRotate,
+               operationSplit: operationSplit,
+               operationStraighten: operationStraighten,
+               osmChangeset: osmChangeset,
+               osmEntity: osmEntity,
+               osmNode: osmNode,
+               osmNote: osmNote,
+               osmRelation: osmRelation,
+               osmWay: osmWay,
+               qaError: qaError,
+               osmIntersection: osmIntersection,
+               osmTurn: osmTurn,
+               osmInferRestriction: osmInferRestriction,
+               osmLanes: osmLanes,
+               osmOldMultipolygonOuterMemberOfRelation: osmOldMultipolygonOuterMemberOfRelation,
+               osmIsOldMultipolygonOuterMember: osmIsOldMultipolygonOuterMember,
+               osmOldMultipolygonOuterMember: osmOldMultipolygonOuterMember,
+               osmJoinWays: osmJoinWays,
+               get osmAreaKeys () { return osmAreaKeys; },
+               osmSetAreaKeys: osmSetAreaKeys,
+               get osmPointTags () { return osmPointTags; },
+               osmSetPointTags: osmSetPointTags,
+               get osmVertexTags () { return osmVertexTags; },
+               osmSetVertexTags: osmSetVertexTags,
+               osmNodeGeometriesForTags: osmNodeGeometriesForTags,
+               osmOneWayTags: osmOneWayTags,
+               osmPavedTags: osmPavedTags,
+               osmIsInterestingTag: osmIsInterestingTag,
+               osmRoutableHighwayTagValues: osmRoutableHighwayTagValues,
+               osmFlowingWaterwayTagValues: osmFlowingWaterwayTagValues,
+               osmRailwayTrackTagValues: osmRailwayTrackTagValues,
+               presetCategory: presetCategory,
+               presetCollection: presetCollection,
+               presetField: presetField,
+               presetPreset: presetPreset,
+               presetIndex: presetIndex,
+               rendererBackgroundSource: rendererBackgroundSource,
+               rendererBackground: rendererBackground,
+               rendererFeatures: rendererFeatures,
+               rendererMap: rendererMap,
+               rendererPhotos: rendererPhotos,
+               rendererTileLayer: rendererTileLayer,
+               services: services$1,
+               serviceKeepRight: serviceKeepRight,
+               serviceImproveOSM: serviceImproveOSM,
+               serviceMapillary: serviceMapillary,
+               serviceMapRules: serviceMapRules,
+               serviceNominatim: serviceNominatim,
+               serviceOpenstreetcam: serviceOpenstreetcam,
+               serviceOsm: serviceOsm,
+               serviceOsmWikibase: serviceOsmWikibase,
+               serviceStreetside: serviceStreetside,
+               serviceTaginfo: serviceTaginfo,
+               serviceVectorTile: serviceVectorTile,
+               serviceWikidata: serviceWikidata,
+               serviceWikipedia: serviceWikipedia,
+               svgAreas: svgAreas,
+               svgData: svgData,
+               svgDebug: svgDebug,
+               svgDefs: svgDefs,
+               svgKeepRight: svgKeepRight,
+               svgIcon: svgIcon,
+               svgGeolocate: svgGeolocate,
+               svgLabels: svgLabels,
+               svgLayers: svgLayers,
+               svgLines: svgLines,
+               svgMapillaryImages: svgMapillaryImages,
+               svgMapillarySigns: svgMapillarySigns,
+               svgMidpoints: svgMidpoints,
+               svgNotes: svgNotes,
+               svgMarkerSegments: svgMarkerSegments,
+               svgOpenstreetcamImages: svgOpenstreetcamImages,
+               svgOsm: svgOsm,
+               svgPassiveVertex: svgPassiveVertex,
+               svgPath: svgPath,
+               svgPointTransform: svgPointTransform,
+               svgPoints: svgPoints,
+               svgRelationMemberTags: svgRelationMemberTags,
+               svgSegmentWay: svgSegmentWay,
+               svgStreetside: svgStreetside,
+               svgTagClasses: svgTagClasses,
+               svgTouch: svgTouch,
+               svgTurns: svgTurns,
+               svgVertices: svgVertices,
+               uiFields: uiFields,
+               uiFieldDefaultCheck: uiFieldCheck,
+               uiFieldOnewayCheck: uiFieldCheck,
+               uiFieldCheck: uiFieldCheck,
+               uiFieldMultiCombo: uiFieldCombo,
+               uiFieldNetworkCombo: uiFieldCombo,
+               uiFieldSemiCombo: uiFieldCombo,
+               uiFieldTypeCombo: uiFieldCombo,
+               uiFieldCombo: uiFieldCombo,
+               uiFieldUrl: uiFieldText,
+               uiFieldNumber: uiFieldText,
+               uiFieldTel: uiFieldText,
+               uiFieldEmail: uiFieldText,
+               uiFieldText: uiFieldText,
+               uiFieldAccess: uiFieldAccess,
+               uiFieldAddress: uiFieldAddress,
+               uiFieldCycleway: uiFieldCycleway,
+               uiFieldLanes: uiFieldLanes,
+               uiFieldLocalized: uiFieldLocalized,
+               uiFieldMaxspeed: uiFieldMaxspeed,
+               uiFieldStructureRadio: uiFieldRadio,
+               uiFieldRadio: uiFieldRadio,
+               uiFieldRestrictions: uiFieldRestrictions,
+               uiFieldTextarea: uiFieldTextarea,
+               uiFieldWikidata: uiFieldWikidata,
+               uiFieldWikipedia: uiFieldWikipedia,
+               uiIntro: uiIntro,
+               uiInfoPanels: uiInfoPanels,
+               uiPanelBackground: uiPanelBackground,
+               uiPanelHistory: uiPanelHistory,
+               uiPanelLocation: uiPanelLocation,
+               uiPanelMeasurement: uiPanelMeasurement,
+               uiSettingsCustomBackground: uiSettingsCustomBackground,
+               uiSettingsCustomData: uiSettingsCustomData,
+               uiInit: uiInit,
+               uiAccount: uiAccount,
+               uiAttribution: uiAttribution,
+               uiBackground: uiBackground,
+               uiBackgroundDisplayOptions: uiBackgroundDisplayOptions,
+               uiBackgroundOffset: uiBackgroundOffset,
+               uiChangesetEditor: uiChangesetEditor,
+               uiCmd: uiCmd,
+               uiCombobox: uiCombobox,
+               uiCommit: uiCommit,
+               uiCommitChanges: uiCommitChanges,
+               uiCommitWarnings: uiCommitWarnings,
+               uiConfirm: uiConfirm,
+               uiConflicts: uiConflicts,
+               uiContributors: uiContributors,
+               uiCurtain: uiCurtain,
+               uiDataEditor: uiDataEditor,
+               uiDataHeader: uiDataHeader,
+               uiDisclosure: uiDisclosure,
+               uiEditMenu: uiEditMenu,
+               uiEntityEditor: uiEntityEditor,
+               uiFeatureInfo: uiFeatureInfo,
+               uiFeatureList: uiFeatureList,
+               uiField: uiField,
+               uiFieldHelp: uiFieldHelp,
+               uiFlash: uiFlash,
+               uiFormFields: uiFormFields,
+               uiFullScreen: uiFullScreen,
+               uiGeolocate: uiGeolocate,
+               uiHelp: uiHelp,
+               uiImproveOsmComments: uiImproveOsmComments,
+               uiImproveOsmDetails: uiImproveOsmDetails,
+               uiImproveOsmEditor: uiImproveOsmEditor,
+               uiImproveOsmHeader: uiImproveOsmHeader,
+               uiInfo: uiInfo,
+               uiInspector: uiInspector,
+               uiKeepRightDetails: uiKeepRightDetails,
+               uiKeepRightEditor: uiKeepRightEditor,
+               uiKeepRightHeader: uiKeepRightHeader,
+               uiLasso: uiLasso,
+               uiLoading: uiLoading,
+               uiMapData: uiMapData,
+               uiMapInMap: uiMapInMap,
+               uiModal: uiModal,
+               uiNotice: uiNotice,
+               uiNoteComments: uiNoteComments,
+               uiNoteEditor: uiNoteEditor,
+               uiNoteHeader: uiNoteHeader,
+               uiNoteReport: uiNoteReport,
+               uiPresetEditor: uiPresetEditor,
+               uiPresetIcon: uiPresetIcon,
+               uiPresetList: uiPresetList,
+               uiQuickLinks: uiQuickLinks,
+               uiRadialMenu: uiRadialMenu,
+               uiRawMemberEditor: uiRawMemberEditor,
+               uiRawMembershipEditor: uiRawMembershipEditor,
+               uiRawTagEditor: uiRawTagEditor,
+               uiRestore: uiRestore,
+               uiScale: uiScale,
+               uiSelectionList: uiSelectionList,
+               uiSidebar: uiSidebar,
+               uiSourceSwitch: uiSourceSwitch,
+               uiSpinner: uiSpinner,
+               uiSplash: uiSplash,
+               uiStatus: uiStatus,
+               uiSuccess: uiSuccess,
+               uiTagReference: uiTagReference,
+               uiToggle: uiToggle,
+               uiTooltipHtml: uiTooltipHtml,
+               uiVersion: uiVersion,
+               uiViewOnOSM: uiViewOnOSM,
+               uiViewOnKeepRight: uiViewOnKeepRight,
+               uiZoom: uiZoom,
+               utilArrayChunk: utilArrayChunk,
+               utilArrayDifference: utilArrayDifference,
+               utilArrayFlatten: utilArrayFlatten,
+               utilArrayGroupBy: utilArrayGroupBy,
+               utilArrayIntersection: utilArrayIntersection,
+               utilArrayUnion: utilArrayUnion,
+               utilArrayUniq: utilArrayUniq,
+               utilArrayUniqBy: utilArrayUniqBy,
+               utilAsyncMap: utilAsyncMap,
+               utilCleanTags: utilCleanTags,
+               utilDetect: utilDetect,
+               utilDisplayName: utilDisplayName,
+               utilDisplayNameForPath: utilDisplayNameForPath,
+               utilDisplayType: utilDisplayType,
+               utilDisplayLabel: utilDisplayLabel,
+               utilEntityRoot: utilEntityRoot,
+               utilEditDistance: utilEditDistance,
+               utilEntitySelector: utilEntitySelector,
+               utilEntityOrMemberSelector: utilEntityOrMemberSelector,
+               utilEntityOrDeepMemberSelector: utilEntityOrDeepMemberSelector,
+               utilFastMouse: utilFastMouse,
+               utilFunctor: utilFunctor,
+               utilGetAllNodes: utilGetAllNodes,
+               utilGetSetValue: utilGetSetValue,
+               utilHashcode: utilHashcode,
+               utilHighlightEntities: utilHighlightEntities,
+               utilKeybinding: utilKeybinding,
+               utilNoAuto: utilNoAuto,
+               utilObjectOmit: utilObjectOmit,
+               utilPrefixCSSProperty: utilPrefixCSSProperty,
+               utilPrefixDOMProperty: utilPrefixDOMProperty,
+               utilPreset: utilPreset,
+               utilQsString: utilQsString,
+               utilRebind: utilRebind,
+               utilSetTransform: utilSetTransform,
+               utilSessionMutex: utilSessionMutex,
+               utilStringQs: utilStringQs,
+               utilTagDiff: utilTagDiff,
+               utilTagText: utilTagText,
+               utilTiler: utilTiler,
+               utilTriggerEvent: utilTriggerEvent,
+               utilWrap: utilWrap,
+               validationAlmostJunction: validationAlmostJunction,
+               validationCloseNodes: validationCloseNodes,
+               validationCrossingWays: validationCrossingWays,
+               validationDisconnectedWay: validationDisconnectedWay,
+               validationFixmeTag: validationFixmeTag,
+               validationGenericName: validationGenericName,
+               validationImpossibleOneway: validationImpossibleOneway,
+               validationIncompatibleSource: validationIncompatibleSource,
+               validationFormatting: validationFormatting,
+               validationMaprules: validationMaprules,
+               validationMissingRole: validationMissingRole,
+               validationMissingTag: validationMissingTag,
+               validationOutdatedTags: validationOutdatedTags,
+               validationPrivateData: validationPrivateData,
+               validationTagSuggestsArea: validationTagSuggestsArea,
+               validationUnsquareWay: validationUnsquareWay
+       });
+
+       // polyfill requestIdleCallback
+       window.requestIdleCallback = window.requestIdleCallback ||
+           function(cb) {
+               var start = Date.now();
+               return window.requestAnimationFrame(function() {
+                   cb({
+                       didTimeout: false,
+                       timeRemaining: function() {
+                           return Math.max(0, 50 - (Date.now() - start));
+                       }
+                   });
+               });
+           };
+
+       window.cancelIdleCallback = window.cancelIdleCallback ||
+           function(id) {
+               window.cancelAnimationFrame(id);
+           };
+       window.iD = iD;
+
+}());
+//# sourceMappingURL=iD.js.map